diff --git a/.defconfig b/.defconfig new file mode 100644 index 0000000000..7ab0c3fbf0 --- /dev/null +++ b/.defconfig @@ -0,0 +1,51 @@ +# +# Automatically generated make config: don't edit +# Mon Feb 18 09:11:56 2008 +# +BR2_HAVE_DOT_CONFIG=y +# BR2_alpha is not set +# BR2_arm is not set +# BR2_armeb is not set +# BR2_cris is not set +# BR2_ia64 is not set +BR2_i386=y +# BR2_m68k is not set +# BR2_mips is not set +# BR2_mipsel is not set +# BR2_nios2 is not set +# BR2_powerpc is not set +# BR2_sh is not set +# BR2_sparc is not set +# BR2_sparc64 is not set +# BR2_x86_64 is not set +# BR2_x86_i486 is not set +# BR2_x86_i586 is not set +BR2_x86_i686=y +# BR2_x86_pentiumpro is not set +# BR2_x86_pentium_mmx is not set +# BR2_x86_pentium_m is not set +# BR2_x86_pentium2 is not set +# BR2_x86_pentium3 is not set +# BR2_x86_pentium4 is not set +# BR2_x86_prescott is not set +# BR2_x86_nocona is not set +# BR2_x86_core2 is not set +# BR2_x86_k6 is not set +# BR2_x86_k6_2 is not set +# BR2_x86_athlon is not set +# BR2_x86_athlon_4 is not set +# BR2_x86_opteron is not set +# BR2_x86_opteron_sse3 is not set +# BR2_x86_barcelona is not set +# BR2_x86_geode is not set +# BR2_x86_c3 is not set +# BR2_x86_winchip_c6 is not set +# BR2_x86_winchip2 is not set +BR2_ARCH="i686" +BR2_ENDIAN="LITTLE" +BR2_GCC_TARGET_TUNE="i686" +BR2_GCC_TARGET_ARCH="i686" + +# +# Target options +# diff --git a/.gitignore b/.gitignore index ff6ab0c710..25ab89e33b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ /output +/dl /.auto.deps /.config.cmd /.config.old @@ -12,6 +13,7 @@ *.rej *~ *.pyc -/.download /.buildroot-ccache-* *.img.gz +*.img.xz +*.img.zip diff --git a/Config.in b/Config.in index bd8f0d1a10..ac29828347 100644 --- a/Config.in +++ b/Config.in @@ -57,8 +57,13 @@ config BR2_HOST_GCC_AT_LEAST_6 default y if BR2_HOST_GCC_VERSION = "6" select BR2_HOST_GCC_AT_LEAST_5 +config BR2_HOST_GCC_AT_LEAST_7 + bool + default y if BR2_HOST_GCC_VERSION = "7" + select BR2_HOST_GCC_AT_LEAST_6 + # Hidden boolean selected by packages in need of Java in order to build -# (example: xbmc) +# (example: kodi) config BR2_NEEDS_HOST_JAVA bool @@ -101,7 +106,7 @@ config BR2_WGET config BR2_SVN string "Subversion (svn) command" - default "svn" + default "svn --non-interactive" config BR2_BZR string "Bazaar (bzr) command" @@ -414,13 +419,10 @@ config BR2_DEBUG_3 endchoice endif -choice - prompt "strip command for binaries on target" - default BR2_STRIP_strip - config BR2_STRIP_strip - bool "strip" + bool "strip target binaries" depends on !BR2_PACKAGE_HOST_ELF2FLT + default y help Binaries and libraries in the target filesystem will be stripped using the normal 'strip' command. This allows to save @@ -428,15 +430,9 @@ config BR2_STRIP_strip on the target are needed for native debugging, but not when remote debugging is used. -config BR2_STRIP_none - bool "none" - help - Do not strip binaries and libraries in the target filesystem. -endchoice - config BR2_STRIP_EXCLUDE_FILES string "executables that should not be stripped" - depends on !BR2_STRIP_none + depends on BR2_STRIP_strip default "" help You may specify a space-separated list of binaries and @@ -444,7 +440,7 @@ config BR2_STRIP_EXCLUDE_FILES config BR2_STRIP_EXCLUDE_DIRS string "directories that should be skipped when stripping" - depends on !BR2_STRIP_none + depends on BR2_STRIP_strip default "" help You may specify a space-separated list of directories that @@ -715,6 +711,8 @@ config BR2_COMPILER_PARANOID_UNSAFE_PATH config BR2_REPRODUCIBLE bool "Make the build reproducible (experimental)" + # SOURCE_DATE_EPOCH support in toolchain-wrapper requires GCC 4.4 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_4 help This option will remove all sources of non-reproducibility from the build process. For a given Buildroot configuration, diff --git a/Config.in.legacy b/Config.in.legacy index 20445b8a17..35a6d6e1fe 100644 --- a/Config.in.legacy +++ b/Config.in.legacy @@ -142,6 +142,540 @@ comment "build, or run, in unpredictable ways. " comment "----------------------------------------------------" endif +############################################################################### +comment "Legacy options removed in 2017.11" + +config BR2_PACKAGE_RFKILL + bool "rfkill package removed" + select BR2_LEGACY + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_RFKILL + help + The rfkill program is now provided by the util-linux package. + +config BR2_PACKAGE_UTIL_LINUX_RESET + bool "util-linux reset option removed" + select BR2_LEGACY + help + The util-linux package no longer offers a "reset" command. Use + either the reset command provided by BusyBox or select ncurses + programs, which will install a symlink from "tset" to reset. + +config BR2_PACKAGE_POLICYCOREUTILS_AUDIT2ALLOW + bool "policycoreutils audit2allow option removed" + select BR2_LEGACY + select BR2_PACKAGE_SELINUX_PYTHON + select BR2_PACKAGE_SELINUX_PYTHON_AUDIT2ALLOW + help + The policycoreutils package no longer offers audit2allow + as a option. This package has been moved into the + selinux-python package by the SELinux maintainers. + +config BR2_PACKAGE_POLICYCOREUTILS_RESTORECOND + bool "policycoreutils restorecond option removed" + select BR2_LEGACY + select BR2_PACKAGE_RESTORECOND + help + The policycoreutils package no longer offers restorecond + as a option. This package has been moved into a seperate + package maintained by the SELinux maintainers. + +config BR2_PACKAGE_SEPOLGEN + bool "sepolgen package has been removed" + select BR2_LEGACY + select BR2_PACKAGE_SELINUX_PYTHON + select BR2_PACKAGE_SELINUX_PYTHON_SEPOLGEN + help + Sepolgen is no longer a individual package, but instead has + been moved into the selinux-python package by the SELinux + maintainers. + +config BR2_PACKAGE_OPENOBEX_BLUEZ + bool "openobex bluez option removed" + select BR2_LEGACY + select BR2_PACKAGE_BLUEZ_UTILS + help + The OpenOBEX package no longer offers an option to enable or + disable BlueZ support. Instead, BlueZ support is always + included when the bluez5_utils or bluez_utils package is + selected. + +config BR2_PACKAGE_OPENOBEX_LIBUSB + bool "openobex libusb option removed" + select BR2_LEGACY + select BR2_PACKAGE_LIBUSB + help + The OpenOBEX package no longer offers an option to enable or + disable libusb support. Instead, USB support is always + included when the libusb package is selected. + +config BR2_PACKAGE_OPENOBEX_APPS + bool "openobex apps option removed" + select BR2_LEGACY + help + The OpenOBEX package no longer offers an option to enable or + disable apps support. + +config BR2_PACKAGE_OPENOBEX_SYSLOG + bool "openobex syslog option removed" + select BR2_LEGACY + help + The OpenOBEX package no longer offers an option to enable or + disable syslog support. + +config BR2_PACKAGE_OPENOBEX_DUMP + bool "openobex dump option removed" + select BR2_LEGACY + help + The OpenOBEX package no longer offers an option to enable or + disable dump support. + +config BR2_PACKAGE_AICCU + bool "aiccu utility removed" + select BR2_LEGACY + help + As the SixXS project has ceased its operation on 2017-06-06, + the AICCU utility has no use anymore and has been removed. + + https://www.sixxs.net/sunset/ + +config BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS + bool "util-linux login utilities option removed" + select BR2_LEGACY + select BR2_PACKAGE_UTIL_LINUX_LAST + select BR2_PACKAGE_UTIL_LINUX_LOGIN + select BR2_PACKAGE_UTIL_LINUX_RUNUSER + select BR2_PACKAGE_UTIL_LINUX_SU + select BR2_PACKAGE_UTIL_LINUX_SULOGIN + help + Login utilities (last, login, runuser, su, sulogin) now have + their own configuration options in the util-linux menu. + +############################################################################### +comment "Legacy options removed in 2017.08" + +config BR2_TARGET_GRUB + bool "grub (aka grub-legacy) has been removed" + select BR2_LEGACY + help + grub-legacy is no longer maintained, and no longer builds with + recent binutils versions. + + Use grub2 or syslinux instead. + +config BR2_PACKAGE_SIMICSFS + bool "simicsfs support removed" + select BR2_LEGACY + help + Support for simicsfs kernel driver that provides access to a + host computer's local filesystem when the target is + executing within a SIMICS simulation has been removed. + + Simics is now moving away from the simicsfs kernel module, + as the kernel module has required too much maintenance + work. Users should move to the user mode Simics agent + instead. + +config BR2_BINUTILS_VERSION_2_26_X + bool "binutils version 2.26 support removed" + select BR2_LEGACY + help + Support for binutils version 2.26 has been removed. The + current default version (2.28 or later) has been selected + instead. + +config BR2_XTENSA_OVERLAY_DIR + string "The BR2_XTENSA_OVERLAY_DIR option has been removed" + help + The BR2_XTENSA_OVERLAY_DIR has been removed in favour of + BR2_XTENSA_OVERLAY_FILE. You must now pass the complete + path to the overlay file, not to the directory containing + it. + +config BR2_XTENSA_OVERLAY_DIR_WRAP + bool + default y if BR2_XTENSA_OVERLAY_DIR != "" + select BR2_LEGACY + +config BR2_XTENSA_CUSTOM_NAME + string "The BR2_XTENSA_CUSTOM_NAME option has been removed" + help + The BR2_XTENSA_CUSTOM_NAME option has been removed. + +config BR2_XTENSA_CUSTOM_NAME_WRAP + bool + default y if BR2_XTENSA_CUSTOM_NAME != "" + select BR2_LEGACY + +config BR2_PACKAGE_HOST_MKE2IMG + bool "host mke2img has been removed" + select BR2_LEGACY + help + We now call mkfs directly to generate ext2/3/4 filesystem + image, so mke2img is no longer necessary. + +config BR2_TARGET_ROOTFS_EXT2_BLOCKS + int "exact size in blocks has been removed" + default 0 + help + This option has been removed in favor of + BR2_TARGET_ROOTFS_EXT2_SIZE. It has been set automatically + to the value you had before. Set to 0 here to remove the + warning. + +config BR2_TARGET_ROOTFS_EXT2_BLOCKS_WRAP + bool + default y if BR2_TARGET_ROOTFS_EXT2_BLOCKS != 0 && \ + BR2_TARGET_ROOTFS_EXT2_BLOCKS != 61440 # deprecated default value + select BR2_LEGACY + +# Note: BR2_TARGET_ROOTFS_EXT2_BLOCKS_WRAP still referenced in fs/ext2/Config.in + +config BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES + int "ext2 extra inodes has been removed" if BR2_TARGET_ROOTFS_EXT2_INODES = 0 + default 0 + help + Buildroot now uses mkfs.ext2/3/4 to generate ext2/3/4 + images. It now automatically selects the number of inodes + based on the image size. The extra number of inodes can no + longer be provided; instead, provide the total number of + inodes needed in BR2_TARGET_ROOTFS_EXT2_INODES. + +config BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES_WRAP + bool + default y if BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES != 0 + select BR2_LEGACY + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CDXAPARSE + bool "cdxaparse removed" + select BR2_LEGACY + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DATAURISRC + bool "dataurisrc moved to gstreamer1" + select BR2_LEGACY + help + Dataurisrc has moved to gstreamer core and is always built. + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DCCP + bool "dccp removed" + select BR2_LEGACY + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_HDVPARSE + bool "hdvparse removed" + select BR2_LEGACY + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MVE + bool "mve removed" + select BR2_LEGACY + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_NUVDEMUX + bool "nuvdemux removed" + select BR2_LEGACY + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PATCHDETECT + bool "patchdetect removed" + select BR2_LEGACY + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDI + bool "sdi removed" + select BR2_LEGACY + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TTA + bool "tta removed" + select BR2_LEGACY + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOMEASURE + bool "videomeasure removed" + select BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_IQA + select BR2_LEGACY + help + videomeasure plugin has been removed and has been replaced by + iqa, which has automatically been enabled. + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_APEXSINK + bool "apexsink removed" + select BR2_LEGACY + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDL + bool "sdl removed" + select BR2_LEGACY + +config BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MAD + bool "mad (*.mp3 audio) removed" + select BR2_LEGACY + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WEBRTC + bool "gst1-plugins-bad webrtc renamed to webrtcdsp" + select BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WEBRTCDSP + select BR2_LEGACY + help + The WebRTC plugin in GStreamer 1.x has always been named + webrtcdsp, but was wrongly introduced in Buildroot under the + name webrtc. Therefore, we have renamed the option to match + the actual name of the GStreamer plugin. + +config BR2_STRIP_none + bool "Strip command 'none' has been removed" + select BR2_LEGACY + help + The strip command choice has been changed into a single + boolean option. Please check that the new setting is + correct (in the "Build options" sub-menu) + +config BR2_PACKAGE_BEECRYPT_CPP + bool "C++ support removed in beecrypt" + select BR2_LEGACY + help + Support for C++ depends on icu. The beecrypt package is + incompatible with icu 59+. + +config BR2_PACKAGE_SPICE_CLIENT + bool "spice client support removed" + select BR2_LEGACY + help + Spice client support has been removed upstream. The + functionality now lives in the spice-gtk widget and + virt-viewer. + +config BR2_PACKAGE_SPICE_GUI + bool "spice gui support removed" + select BR2_LEGACY + help + Spice gui support has been removed upstream. The + functionality now lives in the spice-gtk widget and + virt-viewer. + +config BR2_PACKAGE_SPICE_TUNNEL + bool "spice network redirection removed" + select BR2_LEGACY + help + Spice network redirection, aka tunnelling has been removed + upstream. + +config BR2_PACKAGE_INPUT_TOOLS + bool "input-tools removed" + select BR2_LEGACY + select BR2_PACKAGE_LINUXCONSOLETOOLS + help + input-tools has been removed, it is replaced by + linuxconsoletools, which has automatically been enabled. + +config BR2_PACKAGE_INPUT_TOOLS_INPUTATTACH + bool "inputattach moved to linuxconsoletools" + select BR2_LEGACY + select BR2_PACKAGE_LINUXCONSOLETOOLS + select BR2_PACKAGE_LINUXCONSOLETOOLS_INPUTATTACH + help + input-tools has been removed, inputattach is now part + of linuxconsoletools, which has automatically been + enabled. + +config BR2_PACKAGE_INPUT_TOOLS_JSCAL + bool "jscal moved to linuxconsoletools" + select BR2_LEGACY + select BR2_PACKAGE_LINUXCONSOLETOOLS + select BR2_PACKAGE_LINUXCONSOLETOOLS_JOYSTICK + help + input-tools has been removed, jscal is now part + of linuxconsoletools, which has automatically been + enabled. + +config BR2_PACKAGE_INPUT_TOOLS_JSTEST + bool "jstest moved to linuxconsoletools" + select BR2_LEGACY + select BR2_PACKAGE_LINUXCONSOLETOOLS + select BR2_PACKAGE_LINUXCONSOLETOOLS_JOYSTICK + help + input-tools has been removed, jstest is now part + of linuxconsoletools, which has automatically been + enabled. + +config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH + bool "SH Sourcery toolchain has been removed" + select BR2_LEGACY + help + The Sourcery CodeBench toolchain for the sh architecture has + been removed, since it uses glibc older than 2.17 that requires + -lrt to link executables using clock_* system calls. This makes + this toolchain difficult to maintain over time. + +config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86 + bool "x86 Sourcery toolchain has been removed" + select BR2_LEGACY + help + The Sourcery CodeBench toolchain for the x86 architecture has + been removed, since it uses glibc older than 2.17 that requires + -lrt to link executables using clock_* system calls. This makes + this toolchain difficult to maintain over time. + +config BR2_GCC_VERSION_4_8_X + bool "gcc 4.8.x support removed" + select BR2_LEGACY + help + Support for gcc version 4.8.x has been removed. The current + default version (5.x or later) has been selected instead. + +############################################################################### +comment "Legacy options removed in 2017.05" + +config BR2_PACKAGE_SUNXI_MALI_R2P4 + bool "sunxi-mali r2p4 removed" + select BR2_LEGACY + help + sunxi-mali libMali for r2p4 Mali kernel module has been + removed since the libump package only provides libUMP.so.3. + libMali for r2p4 Mali kernel module requires libUMP.so.2. + +config BR2_PACKAGE_NODEJS_MODULES_COFFEESCRIPT + bool "CoffeeScript option has been removed" + select BR2_LEGACY + help + The option to enable NodeJS CoffeeScript has been removed. + To continue using it, add "coffee-script" to + BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL. + +config BR2_PACKAGE_NODEJS_MODULES_EXPRESS + bool "Express web application framework option has been removed" + select BR2_LEGACY + help + The option to enable the NodeJS Express web application + framework has been removed. To continue using it, add + "express" to BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL. + +config BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL + bool "bluez5_utils gatttool install option removed" + select BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED + help + The option to install gatttool specifically has been removed. + Since version 5.44 gatttool is in the list of deprecated + tools. The option to build and install deprecated tools has + been automatically enabled. + +config BR2_PACKAGE_OPENOCD_FT2XXX + bool "openocd ft2232 support has been removed" + select BR2_PACKAGE_OPENOCD_FTDI + select BR2_LEGACY + help + FT2232 support in OpenOCD has been removed, it's replaced by + FDTI support, which has automatically been enabled. + +config BR2_PACKAGE_KODI_RTMPDUMP + bool "kodi rtmp has been removed" + select BR2_LEGACY + select BR2_PACKAGE_KODI_INPUTSTREAM_RTMP + help + Internal rtmp support was removed from Kodi. + +config BR2_PACKAGE_KODI_VISUALISATION_FOUNTAIN + bool "kodi-visualisation-fountain has been removed" + select BR2_LEGACY + help + According to upstream 'the visualization is not currently + in a working shape.' + +config BR2_PACKAGE_PORTMAP + bool "portmap has been removed" + select BR2_LEGACY + select BR2_PACKAGE_RPCBIND + help + The portmap upstream tarball is removed, no releases since + ten years and latest change in upstream git in 2014. + You should better use rpcbind as a RPC portmapper. + +config BR2_BINUTILS_VERSION_2_25_X + bool "binutils version 2.25 support removed" + select BR2_LEGACY + help + Support for binutils version 2.25 has been removed. The + current default version (2.27 or later) has been selected + instead. + +config BR2_TOOLCHAIN_BUILDROOT_INET_RPC + bool "uclibc RPC support has been removed" + select BR2_LEGACY + help + uClibc-ng removed internal RPC implementation in 1.0.23. You + should use libtirpc instead. + +config BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS + int "extra size in blocks has been removed" + default 0 + help + Since the support for auto calculation of the filesystem size has been + removed, this option is now useless and must be 0. + You may want to check that BR2_TARGET_ROOTFS_EXT2_BLOCKS matchs + your needs. + +config BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS_WRAP + bool + default y if BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS != 0 + select BR2_LEGACY + +config BR2_PACKAGE_SYSTEMD_KDBUS + bool "systemd-kdbus has been removed" + select BR2_LEGACY + help + --enable/disable-kdbus configure option has been removed since + systemd-231. + +config BR2_PACKAGE_POLARSSL + bool "polarssl has been removed" + select BR2_LEGACY + help + The polarssl crypto library has been removed since the 1.2.x + release branch is no longer maintained. Newer upstream + branches/releases (mbedtls) have API changes so they're not + drop-in replacements. + +config BR2_NBD_CLIENT + bool "nbd client option was renamed" + select BR2_LEGACY + select BR2_PACKAGE_NBD_CLIENT + help + The nbd client option has been renamed to BR2_PACKAGE_NBD_CLIENT. + +config BR2_NBD_SERVER + bool "nbd server option was renamed" + select BR2_LEGACY + select BR2_PACKAGE_NBD_SERVER + help + The nbd server option has been renamed to BR2_PACKAGE_NBD_SERVER. + +config BR2_PACKAGE_GMOCK + bool "gmock merged into gtest package" + select BR2_LEGACY + select BR2_PACKAGE_GTEST + select BR2_PACKAGE_GTEST_GMOCK + help + GMock is now a suboption of the GTest package. + +config BR2_KERNEL_HEADERS_4_8 + bool "kernel headers version 4.8.x are no longer supported" + select BR2_KERNEL_HEADERS_4_4 + select BR2_LEGACY + help + Version 4.8.x of the Linux kernel headers are no longer + maintained upstream and are now removed. As an alternative, + version 4.4.x of the headers have been automatically + selected in your configuration. + +config BR2_KERNEL_HEADERS_3_18 + bool "kernel headers version 3.18.x are no longer supported" + select BR2_KERNEL_HEADERS_3_12 + select BR2_LEGACY + help + Version 3.18.x of the Linux kernel headers are no longer + maintained upstream and are now removed. As an alternative, + version 3.12.x of the headers have been automatically + selected in your configuration. + +config BR2_GLIBC_VERSION_2_22 + bool "glibc 2.22 removed" + select BR2_LEGACY + help + Support for glibc version 2.22 has been removed. The current + default version has been selected instead. + ############################################################################### comment "Legacy options removed in 2017.02" @@ -412,22 +946,22 @@ config BR2_GCC_VERSION_4_8_ARC config BR2_KERNEL_HEADERS_4_0 bool "kernel headers version 4.0.x are no longer supported" - select BR2_KERNEL_HEADERS_3_18 + select BR2_KERNEL_HEADERS_3_12 select BR2_LEGACY help Version 4.0.x of the Linux kernel headers have been deprecated for more than four buildroot releases and are now removed. - As an alternative, version 3.18.x of the headers have been + As an alternative, version 3.12.x of the headers have been automatically selected in your configuration. config BR2_KERNEL_HEADERS_3_19 bool "kernel headers version 3.19.x are no longer supported" - select BR2_KERNEL_HEADERS_3_18 + select BR2_KERNEL_HEADERS_3_12 select BR2_LEGACY help Version 3.19.x of the Linux kernel headers have been deprecated for more than four buildroot releases and are now removed. - As an alternative, version 3.18.x of the headers have been + As an alternative, version 3.12.x of the headers have been automatically selected in your configuration. config BR2_PACKAGE_LIBEVAS_GENERIC_LOADERS @@ -457,6 +991,14 @@ config BR2_LINUX_KERNEL_CUSTOM_LOCAL ############################################################################### comment "Legacy options removed in 2016.08" +config BR2_PACKAGE_EFL_JP2K + bool "libevas jp2k loader has been removed" + select BR2_LEGACY + help + JP2K support in EFL requires openjpeg 1.x (libopenjpeg1.pc) + while Buildroot only packages openjpeg 2.x. Therefore, the + JP2K loader has been removed from EFL. + config BR2_PACKAGE_SYSTEMD_COMPAT bool "systemd compatibility libraries have been removed" select BR2_LEGACY diff --git a/Makefile b/Makefile index b3e71c5ef8..a86d764721 100644 --- a/Makefile +++ b/Makefile @@ -84,11 +84,12 @@ else # umask / $(CURDIR) / $(O) # This is our default rule, so must come first all: +.PHONY: all # Set and export the version string -export BR2_VERSION := 2017.02 +export BR2_VERSION := 2017.11 # Actual time the release is cut (for reproducible builds) -BR2_VERSION_EPOCH = 1488315000 +BR2_VERSION_EPOCH = 1512070000 # Save running make version since it's clobbered by the make package RUNNING_MAKE_VERSION := $(MAKE_VERSION) @@ -125,11 +126,11 @@ DATE := $(shell date +%Y%m%d) # Need to export it, so it can be got from environment in children (eg. mconf) export BR2_VERSION_FULL := $(BR2_VERSION)$(shell $(TOPDIR)/support/scripts/setlocalversion) +# List of targets and target patterns for which .config doesn't need to be read in noconfig_targets := menuconfig nconfig gconfig xconfig config oldconfig randconfig \ - defconfig %_defconfig allyesconfig allnoconfig silentoldconfig release \ + defconfig %_defconfig allyesconfig allnoconfig alldefconfig silentoldconfig release \ randpackageconfig allyespackageconfig allnopackageconfig \ - print-version olddefconfig distclean manual manual-html manual-split-html \ - manual-pdf manual-text manual-epub + print-version olddefconfig distclean manual manual-% # Some global targets do not trigger a build, but are used to collect # metadata, or do various checks. When such targets are triggered, @@ -253,7 +254,7 @@ export LANG = C export LC_ALL = C export GZIP = -n BR2_VERSION_GIT_EPOCH = $(shell GIT_DIR=$(TOPDIR)/.git $(GIT) log -1 --format=%at) -export SOURCE_DATE_EPOCH = $(if $(wildcard $(TOPDIR)/.git),$(BR2_VERSION_GIT_EPOCH),$(BR2_VERSION_EPOCH)) +export SOURCE_DATE_EPOCH ?= $(if $(wildcard $(TOPDIR)/.git),$(BR2_VERSION_GIT_EPOCH),$(BR2_VERSION_EPOCH)) DEPENDENCIES_HOST_PREREQ += host-fakedate endif @@ -439,14 +440,14 @@ TAR_OPTIONS = $(call qstrip,$(BR2_TAR_OPTIONS)) -xf HOST_DIR := $(call qstrip,$(BR2_HOST_DIR)) # Quotes are needed for spaces and all in the original PATH content. -BR_PATH = "$(HOST_DIR)/bin:$(HOST_DIR)/sbin:$(HOST_DIR)/usr/bin:$(HOST_DIR)/usr/sbin:$(PATH)" +BR_PATH = "$(HOST_DIR)/bin:$(HOST_DIR)/sbin:$(PATH)" # Location of a file giving a big fat warning that output/target # should not be used as the root filesystem. TARGET_DIR_WARNING_FILE = $(TARGET_DIR)/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM ifeq ($(BR2_CCACHE),y) -CCACHE := $(HOST_DIR)/usr/bin/ccache +CCACHE := $(HOST_DIR)/bin/ccache BR_CACHE_DIR ?= $(call qstrip,$(BR2_CCACHE_DIR)) export BR_CACHE_DIR HOSTCC := $(CCACHE) $(HOSTCC) @@ -478,11 +479,17 @@ all: world # may rely on it. include Makefile.legacy +include system/system.mk include package/Makefile.in +# arch/arch.mk.* must be after package/Makefile.in because it may need to +# complement variables defined therein, like BR_NO_CHECK_HASH_FOR. +-include $(sort $(wildcard arch/arch.mk.*)) include support/dependencies/dependencies.mk -include toolchain/*.mk -include toolchain/*/*.mk +PACKAGES += $(DEPENDENCIES_HOST_PREREQ) + +include $(sort $(wildcard toolchain/*.mk)) +include $(sort $(wildcard toolchain/*/*.mk)) # Include the package override file if one has been provided in the # configuration. @@ -535,19 +542,37 @@ $(foreach pkg,$(call UPPERCASE,$(PACKAGES)),\ endif +.PHONY: dirs dirs: $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \ - $(HOST_DIR) $(BINARIES_DIR) + $(HOST_DIR) $(HOST_DIR)/usr $(HOST_DIR)/lib $(BINARIES_DIR) $(BUILD_DIR)/buildroot-config/auto.conf: $(BR2_CONFIG) $(MAKE1) $(EXTRAMAKEARGS) HOSTCC="$(HOSTCC_NOCCACHE)" HOSTCXX="$(HOSTCXX_NOCCACHE)" silentoldconfig +.PHONY: prepare prepare: $(BUILD_DIR)/buildroot-config/auto.conf +.PHONY: world world: target-post-image -.PHONY: all world toolchain dirs clean distclean source outputmakefile \ - legal-info legal-info-prepare legal-info-clean printvars help \ - list-defconfigs target-finalize target-post-image source-check +.PHONY: sdk +sdk: world + @$(call MESSAGE,"Rendering the SDK relocatable") + $(TOPDIR)/support/scripts/fix-rpath host + $(TOPDIR)/support/scripts/fix-rpath staging + $(INSTALL) -m 755 $(TOPDIR)/support/misc/relocate-sdk.sh $(HOST_DIR)/relocate-sdk.sh + echo $(HOST_DIR) > $(HOST_DIR)/share/buildroot/sdk-location + +# Compatibility symlink in case a post-build script still uses $(HOST_DIR)/usr +$(HOST_DIR)/usr: $(HOST_DIR) + @ln -snf . $@ + +$(HOST_DIR)/lib: $(HOST_DIR) + @mkdir -p $@ + @case $(HOSTARCH) in \ + (*64) ln -snf lib $(@D)/lib64;; \ + (*) ln -snf lib $(@D)/lib32;; \ + esac # Populating the staging with the base directories is handled by the skeleton package $(STAGING_DIR): @@ -601,7 +626,7 @@ define GENERATE_GLIBC_LOCALES fi ; \ echo "Generating locale $${inputfile}.$${charmap}" ; \ I18NPATH=$(STAGING_DIR)/usr/share/i18n:/usr/share/i18n \ - $(HOST_DIR)/usr/bin/localedef \ + $(HOST_DIR)/bin/localedef \ --prefix=$(TARGET_DIR) \ --$(call LOWERCASE,$(BR2_ENDIAN))-endian \ -i $${inputfile} -f $${charmap} \ @@ -651,6 +676,7 @@ endif $(TARGETS_ROOTFS): target-finalize +.PHONY: target-finalize target-finalize: $(PACKAGES) @$(call MESSAGE,"Finalizing target directory") $(foreach hook,$(TARGET_FINALIZE_HOOKS),$($(hook))$(sep)) @@ -701,6 +727,9 @@ endif echo "PRETTY_NAME=\"Buildroot $(BR2_VERSION)\"" \ ) > $(TARGET_DIR)/etc/os-release + @$(call MESSAGE,"Sanitizing RPATH in target tree") + $(TOPDIR)/support/scripts/fix-rpath target + @$(foreach d, $(call qstrip,$(BR2_ROOTFS_OVERLAY)), \ $(call MESSAGE,"Copying overlay $(d)"); \ rsync -a --ignore-times --keep-dirlinks $(RSYNC_VCS_EXCLUSIONS) \ @@ -711,32 +740,39 @@ endif $(call MESSAGE,"Executing post-build script $(s)"); \ $(EXTRA_ENV) $(s) $(TARGET_DIR) $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS))$(sep)) +.PHONY: target-post-image target-post-image: $(TARGETS_ROOTFS) target-finalize @$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_IMAGE_SCRIPT)), \ $(call MESSAGE,"Executing post-image script $(s)"); \ $(EXTRA_ENV) $(s) $(BINARIES_DIR) $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS))$(sep)) +.PHONY: source source: $(foreach p,$(PACKAGES),$(p)-all-source) +.PHONY: _external-deps external-deps _external-deps: $(foreach p,$(PACKAGES),$(p)-all-external-deps) external-deps: @$(MAKE1) -Bs $(EXTRAMAKEARGS) _external-deps | sort -u # check if download URLs are outdated +.PHONY: source-check source-check: $(foreach p,$(PACKAGES),$(p)-all-source-check) +.PHONY: legal-info-clean legal-info-clean: @rm -fr $(LEGAL_INFO_DIR) +.PHONY: legal-info-prepare legal-info-prepare: $(LEGAL_INFO_DIR) - @$(call MESSAGE,"Collecting legal info") - @$(call legal-license-file,buildroot,COPYING,COPYING,HOST) + @$(call MESSAGE,"Buildroot $(BR2_VERSION_FULL) Collecting legal info") + @$(call legal-license-file,buildroot,buildroot,support/legal-info,COPYING,COPYING,HOST) @$(call legal-manifest,PACKAGE,VERSION,LICENSE,LICENSE FILES,SOURCE ARCHIVE,SOURCE SITE,TARGET) @$(call legal-manifest,PACKAGE,VERSION,LICENSE,LICENSE FILES,SOURCE ARCHIVE,SOURCE SITE,HOST) - @$(call legal-manifest,buildroot,$(BR2_VERSION_FULL),GPLv2+,COPYING,not saved,not saved,HOST) + @$(call legal-manifest,buildroot,$(BR2_VERSION_FULL),GPL-2.0+,COPYING,not saved,not saved,HOST) @$(call legal-warning,the Buildroot source code has not been saved) @cp $(BR2_CONFIG) $(LEGAL_INFO_DIR)/buildroot.config +.PHONY: legal-info legal-info: dirs legal-info-clean legal-info-prepare $(foreach p,$(PACKAGES),$(p)-all-legal-info) \ $(REDIST_SOURCES_DIR_TARGET) $(REDIST_SOURCES_DIR_HOST) @cat support/legal-info/README.header >>$(LEGAL_REPORT) @@ -751,9 +787,14 @@ legal-info: dirs legal-info-clean legal-info-prepare $(foreach p,$(PACKAGES),$(p mv .legal-info.sha256 legal-info.sha256) @echo "Legal info produced in $(LEGAL_INFO_DIR)" +.PHONY: show-targets show-targets: @echo $(PACKAGES) $(TARGETS_ROOTFS) +.PHONY: show-build-order +show-build-order: $(patsubst %,%-show-build-order,$(PACKAGES)) + +.PHONY: graph-build graph-build: $(O)/build/build-time.log @install -d $(GRAPHS_DIR) $(foreach o,name build duration,./support/scripts/graph-build-time \ @@ -765,10 +806,12 @@ graph-build: $(O)/build/build-time.log --output=$(GRAPHS_DIR)/build.pie-$(t).$(BR_GRAPH_OUT) \ $(if $(BR2_GRAPH_ALT),--alternate-colors)$(sep)) +.PHONY: graph-depends-requirements graph-depends-requirements: @dot -? >/dev/null 2>&1 || \ { echo "ERROR: The 'dot' program from Graphviz is needed for graph-depends" >&2; exit 1; } +.PHONY: graph-depends graph-depends: graph-depends-requirements @$(INSTALL) -d $(GRAPHS_DIR) @cd "$(CONFIG_DIR)"; \ @@ -778,6 +821,7 @@ graph-depends: graph-depends-requirements -o $(GRAPHS_DIR)/$(@).$(BR_GRAPH_OUT) \ $(GRAPHS_DIR)/$(@).dot +.PHONY: graph-size graph-size: $(Q)mkdir -p $(GRAPHS_DIR) $(Q)$(TOPDIR)/support/scripts/size-stats --builddir $(BASE_DIR) \ @@ -785,13 +829,21 @@ graph-size: --file-size-csv $(GRAPHS_DIR)/file-size-stats.csv \ --package-size-csv $(GRAPHS_DIR)/package-size-stats.csv +.PHONY: check-dependencies check-dependencies: @cd "$(CONFIG_DIR)"; \ $(TOPDIR)/support/scripts/graph-depends -C else # ifeq ($(BR2_HAVE_DOT_CONFIG),y) -all: menuconfig +# Some subdirectories are also package names. To avoid that "make linux" +# on an unconfigured tree produces "Nothing to be done", add an explicit +# rule for it. +# Also for 'all' we error out and ask the user to configure first. +.PHONY: linux toolchain +linux toolchain all: outputmakefile + $(error Please configure Buildroot first (e.g. "make menuconfig")) + @exit 1 endif # ifeq ($(BR2_HAVE_DOT_CONFIG),y) @@ -843,50 +895,20 @@ config: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig # no values are set for the legacy options so a subsequent oldconfig # will query them. Therefore, run an additional olddefconfig. -oldconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig - @$(COMMON_CONFIG_ENV) $< --oldconfig $(CONFIG_CONFIG_IN) - -randconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig - @$(COMMON_CONFIG_ENV) SKIP_LEGACY=y $< --randconfig $(CONFIG_CONFIG_IN) +randconfig allyesconfig alldefconfig allnoconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig + @$(COMMON_CONFIG_ENV) SKIP_LEGACY=y $< --$@ $(CONFIG_CONFIG_IN) @$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null -allyesconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig - @$(COMMON_CONFIG_ENV) SKIP_LEGACY=y $< --allyesconfig $(CONFIG_CONFIG_IN) - @$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null - -allnoconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig - @$(COMMON_CONFIG_ENV) SKIP_LEGACY=y $< --allnoconfig $(CONFIG_CONFIG_IN) - @$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null - -randpackageconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig +randpackageconfig allyespackageconfig allnopackageconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig @grep -v BR2_PACKAGE_ $(BR2_CONFIG) > $(CONFIG_DIR)/.config.nopkg @$(COMMON_CONFIG_ENV) SKIP_LEGACY=y \ KCONFIG_ALLCONFIG=$(CONFIG_DIR)/.config.nopkg \ - $< --randconfig $(CONFIG_CONFIG_IN) + $< --$(subst package,,$@) $(CONFIG_CONFIG_IN) @rm -f $(CONFIG_DIR)/.config.nopkg @$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null -allyespackageconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig - @grep -v BR2_PACKAGE_ $(BR2_CONFIG) > $(CONFIG_DIR)/.config.nopkg - @$(COMMON_CONFIG_ENV) SKIP_LEGACY=y \ - KCONFIG_ALLCONFIG=$(CONFIG_DIR)/.config.nopkg \ - $< --allyesconfig $(CONFIG_CONFIG_IN) - @rm -f $(CONFIG_DIR)/.config.nopkg - @$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null - -allnopackageconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig - @grep -v BR2_PACKAGE_ $(BR2_CONFIG) > $(CONFIG_DIR)/.config.nopkg - @$(COMMON_CONFIG_ENV) SKIP_LEGACY=y \ - KCONFIG_ALLCONFIG=$(CONFIG_DIR)/.config.nopkg \ - $< --allnoconfig $(CONFIG_CONFIG_IN) - @rm -f $(CONFIG_DIR)/.config.nopkg - @$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null - -silentoldconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig - $(COMMON_CONFIG_ENV) $< --silentoldconfig $(CONFIG_CONFIG_IN) - -olddefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig - $(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) +oldconfig silentoldconfig olddefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig + @$(COMMON_CONFIG_ENV) $< --$@ $(CONFIG_CONFIG_IN) defconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig @$(COMMON_CONFIG_ENV) $< --defconfig$(if $(DEFCONFIG),=$(DEFCONFIG)) $(CONFIG_CONFIG_IN) @@ -916,6 +938,7 @@ savedefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig # outputmakefile generates a Makefile in the output directory, if using a # separate output directory. This allows convenient use of make in the # output directory. +.PHONY: outputmakefile outputmakefile: ifeq ($(NEED_WRAPPER),y) $(Q)$(TOPDIR)/support/scripts/mkmakefile $(TOPDIR) $(O) @@ -932,18 +955,24 @@ $(BUILD_DIR)/.br2-external.in: $(BUILD_DIR) # Makefiles. Alternatively, if a non-empty VARS variable is passed, # only the variables matching the make pattern passed in VARS are # displayed. +.PHONY: printvars printvars: - @$(foreach V, \ + @:$(foreach V, \ $(sort $(if $(VARS),$(filter $(VARS),$(.VARIABLES)),$(.VARIABLES))), \ $(if $(filter-out environment% default automatic, \ $(origin $V)), \ - $(info $V=$($V) ($(value $V))))) + $(if $(QUOTED_VARS),\ + $(info $V='$(subst ','\'',$(if $(RAW_VARS),$(value $V),$($V)))'), \ + $(info $V=$(if $(RAW_VARS),$(value $V),$($V)))))) +# ' Syntax colouring... +.PHONY: clean clean: rm -rf $(TARGET_DIR) $(BINARIES_DIR) $(HOST_DIR) \ $(BUILD_DIR) $(BASE_DIR)/staging \ $(LEGAL_INFO_DIR) $(GRAPHS_DIR) +.PHONY: distclean distclean: clean ifeq ($(O),$(CURDIR)/output) rm -rf $(O) @@ -951,6 +980,7 @@ endif rm -rf $(TOPDIR)/dl $(BR2_CONFIG) $(CONFIG_DIR)/.config.old $(CONFIG_DIR)/..config.tmp \ $(CONFIG_DIR)/.auto.deps $(BR2_EXTERNAL_FILE) +.PHONY: help help: @echo 'Cleaning:' @echo ' clean - delete all files created by build' @@ -959,6 +989,7 @@ help: @echo 'Build:' @echo ' all - make world' @echo ' toolchain - build toolchain' + @echo ' sdk - build relocatable SDK' @echo @echo 'Configuration:' @echo ' menuconfig - interactive curses-based configurator' @@ -974,6 +1005,7 @@ help: @echo ' savedefconfig - Save current config to BR2_DEFCONFIG (minimal config)' @echo ' allyesconfig - New config where all options are accepted with yes' @echo ' allnoconfig - New config where all options are answered with no' + @echo ' alldefconfig - New config where all options are set to default' @echo ' randpackageconfig - New config with random answer to package options' @echo ' allyespackageconfig - New config where pkg options are accepted with yes' @echo ' allnopackageconfig - New config where package options are answered with no' @@ -1015,6 +1047,7 @@ help: @echo ' source-check - check selected packages for valid download URLs' @echo ' external-deps - list external packages used' @echo ' legal-info - generate info about license compliance' + @echo ' printvars - dump all the internal variables' @echo @echo ' make V=0|1 - 0 => quiet build (default), 1 => verbose build' @echo ' make O=dir - Locate all output files in "dir", including .config' @@ -1046,6 +1079,7 @@ endef # We iterate over BR2_EXTERNAL_NAMES rather than BR2_EXTERNAL_DIRS, # because we want to display the name of the br2-external tree. +.PHONY: list-defconfigs list-defconfigs: $(call list-defconfigs,$(TOPDIR)) $(foreach name,$(BR2_EXTERNAL_NAMES),\ @@ -1068,8 +1102,14 @@ release: print-version: @echo $(BR2_VERSION_FULL) -#include docs/manual/manual.mk -#-include $(foreach dir,$(BR2_EXTERNAL_DIRS),$(dir)/docs/*/*.mk) +.PHONY: .gitlab-ci.yml +.gitlab-ci.yml: .gitlab-ci.yml.in + cp $< $@ + (cd configs; LC_ALL=C ls -1 *_defconfig) | sed 's/$$/: *defconfig/' >> $@ + ./support/testing/run-tests -l 2>&1 | sed -r -e '/^test_run \((.*)\).*/!d; s//\1: *runtime_test/' | LC_ALL=C sort >> $@ + +include docs/manual/manual.mk +-include $(foreach dir,$(BR2_EXTERNAL_DIRS),$(sort $(wildcard $(dir)/docs/*/*.mk))) .PHONY: $(noconfig_targets) diff --git a/arch/Config.in b/arch/Config.in index 7149b2cb31..c10bf16809 100644 --- a/arch/Config.in +++ b/arch/Config.in @@ -85,6 +85,15 @@ config BR2_bfin http://www.analog.com/ http://en.wikipedia.org/wiki/Blackfin +config BR2_csky + bool "csky" + select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT + select BR2_ARCH_HAS_MMU_MANDATORY + help + csky is processor IP from china. + http://www.c-sky.com/ + http://www.github.com/c-sky + config BR2_i386 bool "i386" select BR2_ARCH_HAS_MMU_MANDATORY @@ -242,6 +251,16 @@ config BR2_xtensa endchoice +# For some architectures or specific cores, our internal toolchain +# backend is not suitable (like, missing support in upstream gcc, or +# no ChipCo fork exists...) +config BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT + bool + +config BR2_ARCH_HAS_TOOLCHAIN_BUILDROOT + bool + default y if !BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT + # The following string values are defined by the individual # Config.in.$ARCH files config BR2_ARCH @@ -256,6 +275,12 @@ config BR2_GCC_TARGET_ARCH config BR2_GCC_TARGET_ABI string +config BR2_GCC_TARGET_NAN + string + +config BR2_GCC_TARGET_FP32_MODE + string + config BR2_GCC_TARGET_CPU string @@ -284,6 +309,12 @@ config BR2_GCC_TARGET_MODE config BR2_BINFMT_SUPPORTS_SHARED bool +# Must match the name of the architecture from readelf point of view, +# i.e the "Machine:" field of readelf output. See get_machine_name() +# in binutils/readelf.c for the list of possible values. +config BR2_READELF_ARCH_NAME + string + # Set up target binary format choice prompt "Target Binary Format" @@ -369,6 +400,10 @@ if BR2_bfin source "arch/Config.in.bfin" endif +if BR2_csky +source "arch/Config.in.csky" +endif + if BR2_m68k source "arch/Config.in.m68k" endif diff --git a/arch/Config.in.arc b/arch/Config.in.arc index 7d341f3136..92503a0140 100644 --- a/arch/Config.in.arc +++ b/arch/Config.in.arc @@ -38,6 +38,10 @@ config BR2_GCC_TARGET_CPU default "arc700" if BR2_arc770d default "archs" if BR2_archs38 +config BR2_READELF_ARCH_NAME + default "ARCompact" if BR2_arc750d || BR2_arc770d + default "ARCv2" if BR2_archs38 + choice prompt "MMU Page Size" default BR2_ARC_PAGE_SIZE_8K diff --git a/arch/Config.in.arm b/arch/Config.in.arm index 2617976f13..09916df7ad 100644 --- a/arch/Config.in.arm +++ b/arch/Config.in.arm @@ -182,6 +182,15 @@ config BR2_cortex_a15 select BR2_ARM_CPU_ARMV7A select BR2_ARCH_HAS_MMU_OPTIONAL depends on !BR2_ARCH_IS_64 +config BR2_cortex_a15_a7 + bool "cortex-A15/A7 big.LITTLE" + select BR2_ARM_CPU_HAS_ARM + select BR2_ARM_CPU_HAS_NEON + select BR2_ARM_CPU_HAS_VFPV4 + select BR2_ARM_CPU_HAS_THUMB2 + select BR2_ARM_CPU_ARMV7A + select BR2_ARCH_HAS_MMU_OPTIONAL + depends on !BR2_ARCH_IS_64 config BR2_cortex_a17 bool "cortex-A17" select BR2_ARM_CPU_HAS_ARM @@ -191,6 +200,15 @@ config BR2_cortex_a17 select BR2_ARM_CPU_ARMV7A select BR2_ARCH_HAS_MMU_OPTIONAL depends on !BR2_ARCH_IS_64 +config BR2_cortex_a17_a7 + bool "cortex-A17/A7 big.LITTLE" + select BR2_ARM_CPU_HAS_ARM + select BR2_ARM_CPU_HAS_NEON + select BR2_ARM_CPU_HAS_VFPV4 + select BR2_ARM_CPU_HAS_THUMB2 + select BR2_ARM_CPU_ARMV7A + select BR2_ARCH_HAS_MMU_OPTIONAL + depends on !BR2_ARCH_IS_64 config BR2_cortex_a53 bool "cortex-A53" select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 @@ -207,6 +225,14 @@ config BR2_cortex_a57 select BR2_ARM_CPU_HAS_FP_ARMV8 select BR2_ARM_CPU_ARMV8 select BR2_ARCH_HAS_MMU_OPTIONAL +config BR2_cortex_a57_a53 + bool "cortex-A57/A53 big.LITTLE" + select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8 + select BR2_ARCH_HAS_MMU_OPTIONAL config BR2_cortex_a72 bool "cortex-A72" select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 @@ -215,6 +241,14 @@ config BR2_cortex_a72 select BR2_ARM_CPU_HAS_FP_ARMV8 select BR2_ARM_CPU_ARMV8 select BR2_ARCH_HAS_MMU_OPTIONAL +config BR2_cortex_a72_a53 + bool "cortex-A72/A53 big.LITTLE" + select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8 + select BR2_ARCH_HAS_MMU_OPTIONAL config BR2_cortex_m3 bool "cortex-M3" select BR2_ARM_CPU_HAS_THUMB2 @@ -526,7 +560,9 @@ config BR2_GCC_TARGET_CPU default "cortex-a9" if BR2_cortex_a9 default "cortex-a12" if BR2_cortex_a12 default "cortex-a15" if BR2_cortex_a15 + default "cortex-a15.cortex-a7" if BR2_cortex_a15_a7 default "cortex-a17" if BR2_cortex_a17 + default "cortex-a17.cortex-a7" if BR2_cortex_a17_a7 default "cortex-m3" if BR2_cortex_m3 default "cortex-m4" if BR2_cortex_m4 default "fa526" if BR2_fa526 @@ -534,15 +570,11 @@ config BR2_GCC_TARGET_CPU default "strongarm" if BR2_strongarm default "xscale" if BR2_xscale default "iwmmxt" if BR2_iwmmxt - default "cortex-a53" if (BR2_cortex_a53 && !BR2_ARCH_IS_64) - default "cortex-a53+fp" if (BR2_cortex_a53 && BR2_ARCH_IS_64 && BR2_ARM_FPU_FP_ARMV8) - default "cortex-a53+fp+simd" if (BR2_cortex_a53 && BR2_ARCH_IS_64 && BR2_ARM_FPU_NEON_FP_ARMV8) - default "cortex-a57" if (BR2_cortex_a57 && !BR2_ARCH_IS_64) - default "cortex-a57+fp" if (BR2_cortex_a57 && BR2_ARCH_IS_64 && BR2_ARM_FPU_FP_ARMV8) - default "cortex-a57+fp+simd" if (BR2_cortex_a57 && BR2_ARCH_IS_64 && BR2_ARM_FPU_NEON_FP_ARMV8) - default "cortex-a72" if (BR2_cortex_a72 && !BR2_ARCH_IS_64) - default "cortex-a72+fp" if (BR2_cortex_a72 && BR2_ARCH_IS_64 && BR2_ARM_FPU_FP_ARMV8) - default "cortex-a72+fp+simd" if (BR2_cortex_a72 && BR2_ARCH_IS_64 && BR2_ARM_FPU_NEON_FP_ARMV8) + default "cortex-a53" if BR2_cortex_a53 + default "cortex-a57" if BR2_cortex_a57 + default "cortex-a57.cortex-a53" if BR2_cortex_a57_a53 + default "cortex-a72" if BR2_cortex_a72 + default "cortex-a72.cortex-a53" if BR2_cortex_a72_a53 config BR2_GCC_TARGET_ABI default "aapcs-linux" if BR2_arm || BR2_armeb @@ -552,11 +584,11 @@ config BR2_GCC_TARGET_FPU depends on BR2_arm || BR2_armeb default "vfp" if BR2_ARM_FPU_VFPV2 default "vfpv3" if BR2_ARM_FPU_VFPV3 - default "vfpv3-d16" if BR2_ARM_FPU_VFPV3D16 - default "vfpv4" if BR2_ARM_FPU_VFPV4 - default "vfpv4-d16" if BR2_ARM_FPU_VFPV4D16 - default "neon" if BR2_ARM_FPU_NEON - default "neon-vfpv4" if BR2_ARM_FPU_NEON_VFPV4 + default "vfpv3-d16" if BR2_ARM_FPU_VFPV3D16 + default "vfpv4" if BR2_ARM_FPU_VFPV4 + default "vfpv4-d16" if BR2_ARM_FPU_VFPV4D16 + default "neon" if BR2_ARM_FPU_NEON + default "neon-vfpv4" if BR2_ARM_FPU_NEON_VFPV4 default "fp-armv8" if BR2_ARM_FPU_FP_ARMV8 default "neon-fp-armv8" if BR2_ARM_FPU_NEON_FP_ARMV8 @@ -568,3 +600,7 @@ config BR2_GCC_TARGET_FLOAT_ABI config BR2_GCC_TARGET_MODE default "arm" if BR2_ARM_INSTRUCTIONS_ARM default "thumb" if BR2_ARM_INSTRUCTIONS_THUMB || BR2_ARM_INSTRUCTIONS_THUMB2 + +config BR2_READELF_ARCH_NAME + default "ARM" if BR2_arm || BR2_armeb + default "AArch64" if BR2_aarch64 || BR2_aarch64_be diff --git a/arch/Config.in.bfin b/arch/Config.in.bfin index 9f7056a6dc..bd9589c71d 100644 --- a/arch/Config.in.bfin +++ b/arch/Config.in.bfin @@ -4,14 +4,6 @@ choice default BR2_bf532 help Specify target CPU -config BR2_bf606 - bool "bf606" -config BR2_bf607 - bool "bf607" -config BR2_bf608 - bool "bf608" -config BR2_bf609 - bool "bf609" config BR2_bf512 bool "bf512" config BR2_bf514 @@ -105,3 +97,6 @@ config BR2_GCC_TARGET_CPU_REVISION value of the -mcpu option. For example, if the selected CPU is bf609, and then selected CPU revision is "0.0", then gcc will receive the -mcpu=bf609-0.0 option. + +config BR2_READELF_ARCH_NAME + default "Analog Devices Blackfin" diff --git a/arch/Config.in.csky b/arch/Config.in.csky new file mode 100644 index 0000000000..e88e4e2d12 --- /dev/null +++ b/arch/Config.in.csky @@ -0,0 +1,48 @@ +choice + prompt "Target Architecture Variant" + default BR2_ck610 + help + Specific CPU variant to use + +config BR2_ck610 + bool "ck610" + +config BR2_ck807 + bool "ck807" + +config BR2_ck810 + bool "ck810" + +endchoice + +config BR2_CSKY_FPU + bool "Enable FPU coprocessor" + depends on BR2_ck810 || BR2_ck807 + help + You can say N here if your C-SKY CPU doesn't have a + Floating-Point Coprocessor or if you don't need FPU support + for your user-space programs. + +config BR2_CSKY_DSP + bool "Enable DSP enhanced instructions" + depends on BR2_ck810 || BR2_ck807 + +config BR2_ARCH + default "csky" + +config BR2_ENDIAN + default "LITTLE" + +config BR2_GCC_TARGET_CPU + default "ck610" if (BR2_ck610 && !BR2_CSKY_FPU && !BR2_CSKY_DSP) + default "ck807" if (BR2_ck807 && !BR2_CSKY_FPU && !BR2_CSKY_DSP) + default "ck807e" if (BR2_ck807 && !BR2_CSKY_FPU && BR2_CSKY_DSP) + default "ck807f" if (BR2_ck807 && BR2_CSKY_FPU && !BR2_CSKY_DSP) + default "ck807ef" if (BR2_ck807 && BR2_CSKY_FPU && BR2_CSKY_DSP) + default "ck810" if (BR2_ck810 && !BR2_CSKY_FPU && !BR2_CSKY_DSP) + default "ck810e" if (BR2_ck810 && !BR2_CSKY_FPU && BR2_CSKY_DSP) + default "ck810f" if (BR2_ck810 && BR2_CSKY_FPU && !BR2_CSKY_DSP) + default "ck810ef" if (BR2_ck810 && BR2_CSKY_FPU && BR2_CSKY_DSP) + +config BR2_READELF_ARCH_NAME + default "CSKY" diff --git a/arch/Config.in.m68k b/arch/Config.in.m68k index ced871f58b..c56031cb78 100644 --- a/arch/Config.in.m68k +++ b/arch/Config.in.m68k @@ -35,3 +35,6 @@ endchoice config BR2_GCC_TARGET_CPU default "68040" if BR2_m68k_68040 default "5208" if BR2_m68k_cf5208 + +config BR2_READELF_ARCH_NAME + default "MC68000" diff --git a/arch/Config.in.microblaze b/arch/Config.in.microblaze index 2d4c1fec43..042712a1b6 100644 --- a/arch/Config.in.microblaze +++ b/arch/Config.in.microblaze @@ -6,6 +6,9 @@ config BR2_ENDIAN default "LITTLE" if BR2_microblazeel default "BIG" if BR2_microblazebe +config BR2_READELF_ARCH_NAME + default "Xilinx MicroBlaze" + config BR2_microblaze bool default y if BR2_microblazeel || BR2_microblazebe diff --git a/arch/Config.in.mips b/arch/Config.in.mips index ce41e9e725..1cce1710da 100644 --- a/arch/Config.in.mips +++ b/arch/Config.in.mips @@ -1,20 +1,26 @@ # mips default CPU ISAs config BR2_MIPS_CPU_MIPS32 bool + select BR2_MIPS_NAN_LEGACY config BR2_MIPS_CPU_MIPS32R2 bool + select BR2_MIPS_NAN_LEGACY config BR2_MIPS_CPU_MIPS32R5 bool config BR2_MIPS_CPU_MIPS32R6 bool + select BR2_MIPS_NAN_2008 config BR2_MIPS_CPU_MIPS64 bool + select BR2_MIPS_NAN_LEGACY config BR2_MIPS_CPU_MIPS64R2 bool + select BR2_MIPS_NAN_LEGACY config BR2_MIPS_CPU_MIPS64R5 bool config BR2_MIPS_CPU_MIPS64R6 bool + select BR2_MIPS_NAN_2008 choice prompt "Target Architecture Variant" @@ -51,14 +57,17 @@ config BR2_mips_m5150 bool "M5150" depends on !BR2_ARCH_IS_64 select BR2_MIPS_CPU_MIPS32R5 + select BR2_MIPS_NAN_2008 config BR2_mips_m6250 bool "M6250" depends on !BR2_ARCH_IS_64 + select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT select BR2_MIPS_CPU_MIPS32R6 config BR2_mips_p5600 bool "P5600" depends on !BR2_ARCH_IS_64 select BR2_MIPS_CPU_MIPS32R5 + select BR2_MIPS_NAN_2008 config BR2_mips_xburst bool "XBurst" depends on !BR2_ARCH_IS_64 @@ -95,6 +104,7 @@ config BR2_mips_i6400 config BR2_mips_p6600 bool "P6600" depends on BR2_ARCH_IS_64 + select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT select BR2_MIPS_CPU_MIPS64R6 endchoice @@ -126,6 +136,64 @@ config BR2_MIPS_SOFT_FLOAT floating point functions, then everything will need to be compiled with soft floating point support (-msoft-float). +choice + prompt "FP mode" + depends on !BR2_ARCH_IS_64 && !BR2_MIPS_SOFT_FLOAT + default BR2_MIPS_FP32_MODE_XX if BR2_TOOLCHAIN_HAS_MFPXX_OPTION + help + MIPS32 supports different FP modes (32,xx,64). Information about FP + modes can be found here: + https://sourceware.org/binutils/docs/as/MIPS-Options.html + https://dmz-portal.imgtec.com/wiki/MIPS_O32_ABI_-_FR0_and_FR1_Interlinking#5._Generating_modeless_code + +config BR2_MIPS_FP32_MODE_32 + bool "32" + depends on !BR2_MIPS_CPU_MIPS32R6 + +config BR2_MIPS_FP32_MODE_XX + bool "xx" + depends on BR2_TOOLCHAIN_HAS_MFPXX_OPTION + +config BR2_MIPS_FP32_MODE_64 + bool "64" + depends on !BR2_MIPS_CPU_MIPS32 +endchoice + +config BR2_GCC_TARGET_FP32_MODE + default "32" if BR2_MIPS_FP32_MODE_32 + default "xx" if BR2_MIPS_FP32_MODE_XX + default "64" if BR2_MIPS_FP32_MODE_64 + +config BR2_MIPS_NAN_LEGACY + bool + +config BR2_MIPS_NAN_2008 + bool + +choice + prompt "Target NaN" + depends on BR2_TOOLCHAIN_HAS_MNAN_OPTION + depends on BR2_mips_32r5 || BR2_mips_64r5 + default BR2_MIPS_ENABLE_NAN_2008 + help + MIPS supports two different NaN encodings, legacy and 2008. + Information about MIPS NaN encodings can be found here: + https://sourceware.org/binutils/docs/as/MIPS-NaN-Encodings.html + +config BR2_MIPS_ENABLE_NAN_LEGACY + bool "legacy" + select BR2_MIPS_NAN_LEGACY + +config BR2_MIPS_ENABLE_NAN_2008 + bool "2008" + depends on !BR2_MIPS_SOFT_FLOAT + select BR2_MIPS_NAN_2008 +endchoice + +config BR2_GCC_TARGET_NAN + default "legacy" if BR2_MIPS_NAN_LEGACY + default "2008" if BR2_MIPS_NAN_2008 + config BR2_ARCH default "mips" if BR2_mips default "mipsel" if BR2_mipsel @@ -134,7 +202,7 @@ config BR2_ARCH config BR2_ENDIAN default "LITTLE" if BR2_mipsel || BR2_mips64el - default "BIG" if BR2_mips || BR2_mips64 + default "BIG" if BR2_mips || BR2_mips64 config BR2_GCC_TARGET_ARCH default "mips32" if BR2_mips_32 @@ -161,3 +229,6 @@ config BR2_GCC_TARGET_ABI default "32" if BR2_MIPS_OABI32 default "n32" if BR2_MIPS_NABI32 default "64" if BR2_MIPS_NABI64 + +config BR2_READELF_ARCH_NAME + default "MIPS R3000" diff --git a/arch/Config.in.nios2 b/arch/Config.in.nios2 index ed638981aa..7466331016 100644 --- a/arch/Config.in.nios2 +++ b/arch/Config.in.nios2 @@ -3,3 +3,6 @@ config BR2_ARCH config BR2_ENDIAN default "LITTLE" + +config BR2_READELF_ARCH_NAME + default "Altera Nios II" diff --git a/arch/Config.in.or1k b/arch/Config.in.or1k index dba64a6ac9..b31ab3e95b 100644 --- a/arch/Config.in.or1k +++ b/arch/Config.in.or1k @@ -3,3 +3,6 @@ config BR2_ARCH config BR2_ENDIAN default "BIG" + +config BR2_READELF_ARCH_NAME + default "OpenRISC 1000" diff --git a/arch/Config.in.powerpc b/arch/Config.in.powerpc index 09ac794d61..0968412647 100644 --- a/arch/Config.in.powerpc +++ b/arch/Config.in.powerpc @@ -212,3 +212,7 @@ config BR2_GCC_TARGET_ABI default "no-spe" if BR2_PPC_ABI_no-spe default "ibmlongdouble" if BR2_PPC_ABI_ibmlongdouble default "ieeelongdouble" if BR2_PPC_ABI_ieeelongdouble + +config BR2_READELF_ARCH_NAME + default "PowerPC" if BR2_powerpc + default "PowerPC64" if BR2_powerpc64 || BR2_powerpc64le diff --git a/arch/Config.in.sh b/arch/Config.in.sh index 4705212583..deb7244f29 100644 --- a/arch/Config.in.sh +++ b/arch/Config.in.sh @@ -27,3 +27,6 @@ config BR2_ARCH config BR2_ENDIAN default "LITTLE" if BR2_sh4 || BR2_sh4a default "BIG" if BR2_sh2a || BR2_sh4eb || BR2_sh4aeb + +config BR2_READELF_ARCH_NAME + default "Renesas / SuperH SH" diff --git a/arch/Config.in.sparc b/arch/Config.in.sparc index 307540fdbf..9b6a6aa21a 100644 --- a/arch/Config.in.sparc +++ b/arch/Config.in.sparc @@ -28,3 +28,7 @@ config BR2_GCC_TARGET_CPU default "leon3" if BR2_sparc_leon3 default "v8" if BR2_sparc_v8 default "ultrasparc" if BR2_sparc_v9 + +config BR2_READELF_ARCH_NAME + default "Sparc" if BR2_sparc + default "Sparc v9" if BR2_sparc64 diff --git a/arch/Config.in.x86 b/arch/Config.in.x86 index efa9567811..0d9e93b089 100644 --- a/arch/Config.in.x86 +++ b/arch/Config.in.x86 @@ -275,3 +275,7 @@ config BR2_GCC_TARGET_ARCH default "c3" if BR2_x86_c3 default "c3-2" if BR2_x86_c32 default "geode" if BR2_x86_geode + +config BR2_READELF_ARCH_NAME + default "Intel 80386" if BR2_i386 + default "Advanced Micro Devices X86-64" if BR2_x86_64 diff --git a/arch/Config.in.xtensa b/arch/Config.in.xtensa index fcb3dc926f..5d5bcb48f9 100644 --- a/arch/Config.in.xtensa +++ b/arch/Config.in.xtensa @@ -2,39 +2,32 @@ choice prompt "Target Architecture Variant" depends on BR2_xtensa default BR2_xtensa_fsf + config BR2_XTENSA_CUSTOM select BR2_ARCH_HAS_MMU_OPTIONAL bool "Custom Xtensa processor configuration" + config BR2_xtensa_fsf select BR2_ARCH_HAS_MMU_MANDATORY bool "fsf - Default configuration" + endchoice -config BR2_XTENSA_CUSTOM_NAME - string "Custom Xtensa processor configuration name" +config BR2_XTENSA_OVERLAY_FILE + string "Overlay file for custom configuration" depends on BR2_XTENSA_CUSTOM - default "" help - Name given to a custom Xtensa processor configuration. + Enter the path to the overlay tarball for a custom processor + configuration. -config BR2_XTENSA_CORE_NAME - string - default BR2_XTENSA_CUSTOM_NAME if BR2_XTENSA_CUSTOM - default "" if BR2_xtensa_fsf - -config BR2_XTENSA_OVERLAY_DIR - string "Overlay directory for custom configuration" - depends on BR2_XTENSA_CUSTOM - default "" - help - Provide the directory path that contains the overlay file - for a custom processor configuration. The path is relative - to the top directory of buildroot. These overlay files are tar packages with updated configuration files for various toolchain packages and Xtensa processor configurations. They are provided by the processor vendor or directly from Tensilica. + The path can be either absolute, or relative to the top directory + of buildroot. + choice prompt "Target Architecture Endianness" depends on BR2_XTENSA_CUSTOM @@ -54,3 +47,6 @@ config BR2_ENDIAN config BR2_ARCH default "xtensa" if BR2_xtensa + +config BR2_READELF_ARCH_NAME + default "Tensilica Xtensa Processor" diff --git a/arch/arch.mk.xtensa b/arch/arch.mk.xtensa new file mode 100644 index 0000000000..2b6cd26d03 --- /dev/null +++ b/arch/arch.mk.xtensa @@ -0,0 +1,36 @@ +################################################################################ +# This variable can be used by packages that need to extract the overlay. +# +# ARCH_XTENSA_OVERLAY_FILE is the path to the overlay tarball; empty if not +# using any overlay +# +# Example: +# ifneq ($(ARCH_XTENSA_OVERLAY_FILE),) +# tar xf $(ARCH_XTENSA_OVERLAY_FILE) -C $(@D) --strip-components=1 gcc +# endif +################################################################################ +BR_ARCH_XTENSA_OVERLAY_FILE = $(call qstrip,$(BR2_XTENSA_OVERLAY_FILE)) +ifneq ($(filter http://% https://% ftp://% scp://%,$(BR_ARCH_XTENSA_OVERLAY_FILE)),) +ARCH_XTENSA_OVERLAY_URL = $(BR_ARCH_XTENSA_OVERLAY_FILE) +ARCH_XTENSA_OVERLAY_FILE = $(DL_DIR)/$(notdir $(BR_ARCH_XTENSA_OVERLAY_FILE)) +# Do not check that file, we can't know its hash +BR_NO_CHECK_HASH_FOR += $(notdir $(ARCH_XTENSA_OVERLAY_URL)) +else +ARCH_XTENSA_OVERLAY_FILE = $(BR_ARCH_XTENSA_OVERLAY_FILE) +endif + +################################################################################ +# arch-xtensa-overlay-extract -- extract an extensa overlay +# +# argument 1 is the path in which to extract +# argument 2 is the component to extract, one of: gcc, binutils, gdb, linux, +# u-boot +# +# Example: +# $(call arch-xtensa-overlay-extract,/path/to/overlay.tar,$(@D),gcc) +################################################################################ +define arch-xtensa-overlay-extract + $(call suitable-extractor,$(ARCH_XTENSA_OVERLAY_FILE)) \ + $(ARCH_XTENSA_OVERLAY_FILE) | \ + $(TAR) --strip-components=1 -C $(1) $(TAR_OPTIONS) - $(2) +endef diff --git a/board/common/overlay/etc/sshd_config b/board/common/overlay/etc/sshd_config index 82cdedf8fe..7ec411a8aa 100644 --- a/board/common/overlay/etc/sshd_config +++ b/board/common/overlay/etc/sshd_config @@ -12,6 +12,5 @@ AuthorizedKeysFile /data/etc/ssh_authorized_keys UseDNS no Banner /var/cache/sshd_banner -UsePrivilegeSeparation sandbox Subsystem sftp /usr/libexec/sftp-server IPQoS cs0 cs0 diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Abidjan b/board/common/overlay/usr/share/zoneinfo/Africa/Abidjan deleted file mode 100644 index 65d19ec265..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Abidjan and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Accra b/board/common/overlay/usr/share/zoneinfo/Africa/Accra deleted file mode 100644 index 8c473eda0b..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Accra and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Addis_Ababa b/board/common/overlay/usr/share/zoneinfo/Africa/Addis_Ababa deleted file mode 100644 index 5a95ab6662..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Addis_Ababa and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Algiers b/board/common/overlay/usr/share/zoneinfo/Africa/Algiers deleted file mode 100644 index c888831171..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Algiers and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Asmara b/board/common/overlay/usr/share/zoneinfo/Africa/Asmara deleted file mode 100644 index d1e876e2ff..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Asmara and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Bamako b/board/common/overlay/usr/share/zoneinfo/Africa/Bamako deleted file mode 100644 index da18d71377..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Bamako and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Bangui b/board/common/overlay/usr/share/zoneinfo/Africa/Bangui deleted file mode 100644 index 883e597eb0..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Bangui and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Banjul b/board/common/overlay/usr/share/zoneinfo/Africa/Banjul deleted file mode 100644 index a85a7d8726..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Banjul and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Bissau b/board/common/overlay/usr/share/zoneinfo/Africa/Bissau deleted file mode 100644 index ab4a195a88..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Bissau and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Blantyre b/board/common/overlay/usr/share/zoneinfo/Africa/Blantyre deleted file mode 100644 index 2972580dad..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Blantyre and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Brazzaville b/board/common/overlay/usr/share/zoneinfo/Africa/Brazzaville deleted file mode 100644 index abb0c08700..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Brazzaville and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Bujumbura b/board/common/overlay/usr/share/zoneinfo/Africa/Bujumbura deleted file mode 100644 index cac5652457..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Bujumbura and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Cairo b/board/common/overlay/usr/share/zoneinfo/Africa/Cairo deleted file mode 100644 index 2b2a3d750b..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Cairo and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Casablanca b/board/common/overlay/usr/share/zoneinfo/Africa/Casablanca deleted file mode 100644 index 395cbda420..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Casablanca and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Ceuta b/board/common/overlay/usr/share/zoneinfo/Africa/Ceuta deleted file mode 100644 index c9b0c08bc8..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Ceuta and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Conakry b/board/common/overlay/usr/share/zoneinfo/Africa/Conakry deleted file mode 100644 index 75b8523fb2..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Conakry and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Dakar b/board/common/overlay/usr/share/zoneinfo/Africa/Dakar deleted file mode 100644 index 31104133c2..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Dakar and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Dar_es_Salaam b/board/common/overlay/usr/share/zoneinfo/Africa/Dar_es_Salaam deleted file mode 100644 index 720d76c830..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Dar_es_Salaam and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Djibouti b/board/common/overlay/usr/share/zoneinfo/Africa/Djibouti deleted file mode 100644 index 297d93a3e4..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Djibouti and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Douala b/board/common/overlay/usr/share/zoneinfo/Africa/Douala deleted file mode 100644 index 8627f2e05e..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Douala and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/El_Aaiun b/board/common/overlay/usr/share/zoneinfo/Africa/El_Aaiun deleted file mode 100644 index 93b86cc36c..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/El_Aaiun and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Freetown b/board/common/overlay/usr/share/zoneinfo/Africa/Freetown deleted file mode 100644 index 720b8e3c90..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Freetown and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Gaborone b/board/common/overlay/usr/share/zoneinfo/Africa/Gaborone deleted file mode 100644 index e2abcb6643..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Gaborone and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Harare b/board/common/overlay/usr/share/zoneinfo/Africa/Harare deleted file mode 100644 index 258b393637..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Harare and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Johannesburg b/board/common/overlay/usr/share/zoneinfo/Africa/Johannesburg deleted file mode 100644 index d1bec73815..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Johannesburg and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Juba b/board/common/overlay/usr/share/zoneinfo/Africa/Juba deleted file mode 100644 index 6f62fd764c..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Juba and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Kampala b/board/common/overlay/usr/share/zoneinfo/Africa/Kampala deleted file mode 100644 index b018ba26f2..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Kampala and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Khartoum b/board/common/overlay/usr/share/zoneinfo/Africa/Khartoum deleted file mode 100644 index 6f62fd764c..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Khartoum and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Kigali b/board/common/overlay/usr/share/zoneinfo/Africa/Kigali deleted file mode 100644 index c9623c56e8..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Kigali and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Kinshasa b/board/common/overlay/usr/share/zoneinfo/Africa/Kinshasa deleted file mode 100644 index e8481f3476..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Kinshasa and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Lagos b/board/common/overlay/usr/share/zoneinfo/Africa/Lagos deleted file mode 100644 index cbdc0450fc..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Lagos and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Libreville b/board/common/overlay/usr/share/zoneinfo/Africa/Libreville deleted file mode 100644 index d7691ae56f..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Libreville and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Lome b/board/common/overlay/usr/share/zoneinfo/Africa/Lome deleted file mode 100644 index 297ec5dae3..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Lome and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Luanda b/board/common/overlay/usr/share/zoneinfo/Africa/Luanda deleted file mode 100644 index 576b2043cf..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Luanda and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Lubumbashi b/board/common/overlay/usr/share/zoneinfo/Africa/Lubumbashi deleted file mode 100644 index d3fab52a6c..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Lubumbashi and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Lusaka b/board/common/overlay/usr/share/zoneinfo/Africa/Lusaka deleted file mode 100644 index 87d7a95fc7..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Lusaka and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Malabo b/board/common/overlay/usr/share/zoneinfo/Africa/Malabo deleted file mode 100644 index c70de1f99d..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Malabo and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Maputo b/board/common/overlay/usr/share/zoneinfo/Africa/Maputo deleted file mode 100644 index 31cfad771a..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Maputo and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Maseru b/board/common/overlay/usr/share/zoneinfo/Africa/Maseru deleted file mode 100644 index 117006eead..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Maseru and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Mbabane b/board/common/overlay/usr/share/zoneinfo/Africa/Mbabane deleted file mode 100644 index be6ed60baa..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Mbabane and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Mogadishu b/board/common/overlay/usr/share/zoneinfo/Africa/Mogadishu deleted file mode 100644 index bd08463429..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Mogadishu and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Monrovia b/board/common/overlay/usr/share/zoneinfo/Africa/Monrovia deleted file mode 100644 index bd2fa4e631..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Monrovia and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Nairobi b/board/common/overlay/usr/share/zoneinfo/Africa/Nairobi deleted file mode 100644 index 72676bb987..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Nairobi and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Ndjamena b/board/common/overlay/usr/share/zoneinfo/Africa/Ndjamena deleted file mode 100644 index 8779590e04..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Ndjamena and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Niamey b/board/common/overlay/usr/share/zoneinfo/Africa/Niamey deleted file mode 100644 index 799381c310..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Niamey and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Nouakchott b/board/common/overlay/usr/share/zoneinfo/Africa/Nouakchott deleted file mode 100644 index ead817afcd..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Nouakchott and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Ouagadougou b/board/common/overlay/usr/share/zoneinfo/Africa/Ouagadougou deleted file mode 100644 index df782a489c..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Ouagadougou and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Porto-Novo b/board/common/overlay/usr/share/zoneinfo/Africa/Porto-Novo deleted file mode 100644 index 600a30d82a..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Porto-Novo and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Sao_Tome b/board/common/overlay/usr/share/zoneinfo/Africa/Sao_Tome deleted file mode 100644 index ddf7fb42e4..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Sao_Tome and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Tripoli b/board/common/overlay/usr/share/zoneinfo/Africa/Tripoli deleted file mode 100644 index bd885315f8..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Tripoli and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Tunis b/board/common/overlay/usr/share/zoneinfo/Africa/Tunis deleted file mode 100644 index dd559ee763..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Tunis and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Africa/Windhoek b/board/common/overlay/usr/share/zoneinfo/Africa/Windhoek deleted file mode 100644 index 6f22b0a7df..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Africa/Windhoek and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Adak b/board/common/overlay/usr/share/zoneinfo/America/Adak deleted file mode 100644 index 391ec98ec0..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Adak and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Anchorage b/board/common/overlay/usr/share/zoneinfo/America/Anchorage deleted file mode 100644 index d14735026a..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Anchorage and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Anguilla b/board/common/overlay/usr/share/zoneinfo/America/Anguilla deleted file mode 100644 index bdedd1bd9b..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Anguilla and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Antigua b/board/common/overlay/usr/share/zoneinfo/America/Antigua deleted file mode 100644 index 608b635977..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Antigua and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Araguaina b/board/common/overlay/usr/share/zoneinfo/America/Araguaina deleted file mode 100644 index ceb7977cf5..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Araguaina and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Argentina/Buenos_Aires b/board/common/overlay/usr/share/zoneinfo/America/Argentina/Buenos_Aires deleted file mode 100644 index 5a52a51fc8..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Argentina/Buenos_Aires and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Argentina/Catamarca b/board/common/overlay/usr/share/zoneinfo/America/Argentina/Catamarca deleted file mode 100644 index b9c987bb56..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Argentina/Catamarca and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Argentina/Cordoba b/board/common/overlay/usr/share/zoneinfo/America/Argentina/Cordoba deleted file mode 100644 index a703e957d5..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Argentina/Cordoba and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Argentina/Jujuy b/board/common/overlay/usr/share/zoneinfo/America/Argentina/Jujuy deleted file mode 100644 index 86800f0344..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Argentina/Jujuy and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Argentina/La_Rioja b/board/common/overlay/usr/share/zoneinfo/America/Argentina/La_Rioja deleted file mode 100644 index 333819a15f..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Argentina/La_Rioja and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Argentina/Mendoza b/board/common/overlay/usr/share/zoneinfo/America/Argentina/Mendoza deleted file mode 100644 index 76afd5909e..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Argentina/Mendoza and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Argentina/Rio_Gallegos b/board/common/overlay/usr/share/zoneinfo/America/Argentina/Rio_Gallegos deleted file mode 100644 index 65d0230a2d..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Argentina/Rio_Gallegos and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Argentina/Salta b/board/common/overlay/usr/share/zoneinfo/America/Argentina/Salta deleted file mode 100644 index 963917a01a..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Argentina/Salta and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Argentina/San_Juan b/board/common/overlay/usr/share/zoneinfo/America/Argentina/San_Juan deleted file mode 100644 index fe7007b85c..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Argentina/San_Juan and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Argentina/San_Luis b/board/common/overlay/usr/share/zoneinfo/America/Argentina/San_Luis deleted file mode 100644 index e19478819e..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Argentina/San_Luis and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Argentina/Tucuman b/board/common/overlay/usr/share/zoneinfo/America/Argentina/Tucuman deleted file mode 100644 index be7bd27163..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Argentina/Tucuman and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Argentina/Ushuaia b/board/common/overlay/usr/share/zoneinfo/America/Argentina/Ushuaia deleted file mode 100644 index 18590effb0..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Argentina/Ushuaia and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Aruba b/board/common/overlay/usr/share/zoneinfo/America/Aruba deleted file mode 100644 index 2d01c18860..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Aruba and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Asuncion b/board/common/overlay/usr/share/zoneinfo/America/Asuncion deleted file mode 100644 index 59f78918fa..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Asuncion and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Atikokan b/board/common/overlay/usr/share/zoneinfo/America/Atikokan deleted file mode 100644 index 1b49e37c94..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Atikokan and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Bahia b/board/common/overlay/usr/share/zoneinfo/America/Bahia deleted file mode 100644 index 403d9d1060..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Bahia and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Bahia_Banderas b/board/common/overlay/usr/share/zoneinfo/America/Bahia_Banderas deleted file mode 100644 index cd531078d0..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Bahia_Banderas and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Barbados b/board/common/overlay/usr/share/zoneinfo/America/Barbados deleted file mode 100644 index 7bb7ac4d6a..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Barbados and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Belem b/board/common/overlay/usr/share/zoneinfo/America/Belem deleted file mode 100644 index 9c37b6a5c4..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Belem and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Belize b/board/common/overlay/usr/share/zoneinfo/America/Belize deleted file mode 100644 index a18cd39058..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Belize and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Blanc-Sablon b/board/common/overlay/usr/share/zoneinfo/America/Blanc-Sablon deleted file mode 100644 index 8a33789afc..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Blanc-Sablon and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Boa_Vista b/board/common/overlay/usr/share/zoneinfo/America/Boa_Vista deleted file mode 100644 index cb15afbf5c..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Boa_Vista and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Bogota b/board/common/overlay/usr/share/zoneinfo/America/Bogota deleted file mode 100644 index bddda98a2c..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Bogota and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Boise b/board/common/overlay/usr/share/zoneinfo/America/Boise deleted file mode 100644 index 441afe55c4..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Boise and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Cambridge_Bay b/board/common/overlay/usr/share/zoneinfo/America/Cambridge_Bay deleted file mode 100644 index 99c77c5b20..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Cambridge_Bay and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Campo_Grande b/board/common/overlay/usr/share/zoneinfo/America/Campo_Grande deleted file mode 100644 index 4684098104..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Campo_Grande and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Cancun b/board/common/overlay/usr/share/zoneinfo/America/Cancun deleted file mode 100644 index 90993faa70..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Cancun and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Caracas b/board/common/overlay/usr/share/zoneinfo/America/Caracas deleted file mode 100644 index d96a5c00bf..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Caracas and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Cayenne b/board/common/overlay/usr/share/zoneinfo/America/Cayenne deleted file mode 100644 index 7109a98ec5..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Cayenne and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Cayman b/board/common/overlay/usr/share/zoneinfo/America/Cayman deleted file mode 100644 index 98d9b98d3b..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Cayman and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Chicago b/board/common/overlay/usr/share/zoneinfo/America/Chicago deleted file mode 100644 index 71aae7246a..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Chicago and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Chihuahua b/board/common/overlay/usr/share/zoneinfo/America/Chihuahua deleted file mode 100644 index b2687241cd..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Chihuahua and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Costa_Rica b/board/common/overlay/usr/share/zoneinfo/America/Costa_Rica deleted file mode 100644 index 018d945b11..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Costa_Rica and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Creston b/board/common/overlay/usr/share/zoneinfo/America/Creston deleted file mode 100644 index 1cf719ae83..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Creston and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Cuiaba b/board/common/overlay/usr/share/zoneinfo/America/Cuiaba deleted file mode 100644 index 232ef670ff..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Cuiaba and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Curacao b/board/common/overlay/usr/share/zoneinfo/America/Curacao deleted file mode 100644 index 2d01c18860..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Curacao and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Danmarkshavn b/board/common/overlay/usr/share/zoneinfo/America/Danmarkshavn deleted file mode 100644 index 9feacfb1c9..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Danmarkshavn and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Dawson b/board/common/overlay/usr/share/zoneinfo/America/Dawson deleted file mode 100644 index fab0609998..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Dawson and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Dawson_Creek b/board/common/overlay/usr/share/zoneinfo/America/Dawson_Creek deleted file mode 100644 index c3fb166b08..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Dawson_Creek and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Denver b/board/common/overlay/usr/share/zoneinfo/America/Denver deleted file mode 100644 index f8908febf2..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Denver and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Detroit b/board/common/overlay/usr/share/zoneinfo/America/Detroit deleted file mode 100644 index da53d46df3..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Detroit and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Dominica b/board/common/overlay/usr/share/zoneinfo/America/Dominica deleted file mode 100644 index bdedd1bd9b..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Dominica and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Edmonton b/board/common/overlay/usr/share/zoneinfo/America/Edmonton deleted file mode 100644 index 3fa0579891..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Edmonton and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Eirunepe b/board/common/overlay/usr/share/zoneinfo/America/Eirunepe deleted file mode 100644 index c93d917091..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Eirunepe and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/El_Salvador b/board/common/overlay/usr/share/zoneinfo/America/El_Salvador deleted file mode 100644 index ac774e83f4..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/El_Salvador and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Fortaleza b/board/common/overlay/usr/share/zoneinfo/America/Fortaleza deleted file mode 100644 index 2598c53559..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Fortaleza and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Glace_Bay b/board/common/overlay/usr/share/zoneinfo/America/Glace_Bay deleted file mode 100644 index 48412a4cbf..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Glace_Bay and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Godthab b/board/common/overlay/usr/share/zoneinfo/America/Godthab deleted file mode 100644 index 5cb97910f8..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Godthab and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Goose_Bay b/board/common/overlay/usr/share/zoneinfo/America/Goose_Bay deleted file mode 100644 index 83e5a9b398..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Goose_Bay and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Grand_Turk b/board/common/overlay/usr/share/zoneinfo/America/Grand_Turk deleted file mode 100644 index 0dfd686fd5..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Grand_Turk and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Grenada b/board/common/overlay/usr/share/zoneinfo/America/Grenada deleted file mode 100644 index bdedd1bd9b..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Grenada and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Guadeloupe b/board/common/overlay/usr/share/zoneinfo/America/Guadeloupe deleted file mode 100644 index bdedd1bd9b..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Guadeloupe and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Guatemala b/board/common/overlay/usr/share/zoneinfo/America/Guatemala deleted file mode 100644 index 6118b5ce2d..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Guatemala and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Guayaquil b/board/common/overlay/usr/share/zoneinfo/America/Guayaquil deleted file mode 100644 index e6de7f8da2..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Guayaquil and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Guyana b/board/common/overlay/usr/share/zoneinfo/America/Guyana deleted file mode 100644 index 5f98c4a0e8..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Guyana and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Halifax b/board/common/overlay/usr/share/zoneinfo/America/Halifax deleted file mode 100644 index 756099abe6..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Halifax and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Havana b/board/common/overlay/usr/share/zoneinfo/America/Havana deleted file mode 100644 index c2623e05f5..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Havana and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Hermosillo b/board/common/overlay/usr/share/zoneinfo/America/Hermosillo deleted file mode 100644 index 26c269d967..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Hermosillo and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Indiana/Indianapolis b/board/common/overlay/usr/share/zoneinfo/America/Indiana/Indianapolis deleted file mode 100644 index aa3dfc4373..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Indiana/Indianapolis and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Indiana/Knox b/board/common/overlay/usr/share/zoneinfo/America/Indiana/Knox deleted file mode 100644 index 33169f4596..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Indiana/Knox and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Indiana/Marengo b/board/common/overlay/usr/share/zoneinfo/America/Indiana/Marengo deleted file mode 100644 index 255b739718..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Indiana/Marengo and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Indiana/Petersburg b/board/common/overlay/usr/share/zoneinfo/America/Indiana/Petersburg deleted file mode 100644 index c611106d57..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Indiana/Petersburg and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Indiana/Tell_City b/board/common/overlay/usr/share/zoneinfo/America/Indiana/Tell_City deleted file mode 100644 index 97e319e343..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Indiana/Tell_City and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Indiana/Vevay b/board/common/overlay/usr/share/zoneinfo/America/Indiana/Vevay deleted file mode 100644 index de6167c082..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Indiana/Vevay and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Indiana/Vincennes b/board/common/overlay/usr/share/zoneinfo/America/Indiana/Vincennes deleted file mode 100644 index b79f6725b6..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Indiana/Vincennes and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Indiana/Winamac b/board/common/overlay/usr/share/zoneinfo/America/Indiana/Winamac deleted file mode 100644 index b2611e75ee..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Indiana/Winamac and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Inuvik b/board/common/overlay/usr/share/zoneinfo/America/Inuvik deleted file mode 100644 index c17af37f5f..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Inuvik and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Iqaluit b/board/common/overlay/usr/share/zoneinfo/America/Iqaluit deleted file mode 100644 index cea5c2e0f3..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Iqaluit and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Jamaica b/board/common/overlay/usr/share/zoneinfo/America/Jamaica deleted file mode 100644 index b89c18787e..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Jamaica and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Juneau b/board/common/overlay/usr/share/zoneinfo/America/Juneau deleted file mode 100644 index 48bd37e88e..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Juneau and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Kentucky/Louisville b/board/common/overlay/usr/share/zoneinfo/America/Kentucky/Louisville deleted file mode 100644 index 65e7e19049..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Kentucky/Louisville and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Kentucky/Monticello b/board/common/overlay/usr/share/zoneinfo/America/Kentucky/Monticello deleted file mode 100644 index fc2f1b0df8..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Kentucky/Monticello and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Kralendijk b/board/common/overlay/usr/share/zoneinfo/America/Kralendijk deleted file mode 100644 index 2d01c18860..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Kralendijk and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/La_Paz b/board/common/overlay/usr/share/zoneinfo/America/La_Paz deleted file mode 100644 index 2a5a15e4c4..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/La_Paz and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Lima b/board/common/overlay/usr/share/zoneinfo/America/Lima deleted file mode 100644 index a37eeff7de..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Lima and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Los_Angeles b/board/common/overlay/usr/share/zoneinfo/America/Los_Angeles deleted file mode 100644 index 3b7ce1dcee..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Los_Angeles and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Lower_Princes b/board/common/overlay/usr/share/zoneinfo/America/Lower_Princes deleted file mode 100644 index 2d01c18860..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Lower_Princes and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Maceio b/board/common/overlay/usr/share/zoneinfo/America/Maceio deleted file mode 100644 index b5201e81d4..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Maceio and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Managua b/board/common/overlay/usr/share/zoneinfo/America/Managua deleted file mode 100644 index f1c35040ce..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Managua and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Manaus b/board/common/overlay/usr/share/zoneinfo/America/Manaus deleted file mode 100644 index 1129211841..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Manaus and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Marigot b/board/common/overlay/usr/share/zoneinfo/America/Marigot deleted file mode 100644 index bdedd1bd9b..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Marigot and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Martinique b/board/common/overlay/usr/share/zoneinfo/America/Martinique deleted file mode 100644 index c223ef5c20..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Martinique and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Matamoros b/board/common/overlay/usr/share/zoneinfo/America/Matamoros deleted file mode 100644 index 5c59984def..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Matamoros and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Mazatlan b/board/common/overlay/usr/share/zoneinfo/America/Mazatlan deleted file mode 100644 index 43ee12d84a..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Mazatlan and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Menominee b/board/common/overlay/usr/share/zoneinfo/America/Menominee deleted file mode 100644 index 438f5ff0b8..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Menominee and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Merida b/board/common/overlay/usr/share/zoneinfo/America/Merida deleted file mode 100644 index b46298e1f2..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Merida and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Metlakatla b/board/common/overlay/usr/share/zoneinfo/America/Metlakatla deleted file mode 100644 index 4145b9a581..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Metlakatla and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Mexico_City b/board/common/overlay/usr/share/zoneinfo/America/Mexico_City deleted file mode 100644 index 1434ab0880..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Mexico_City and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Miquelon b/board/common/overlay/usr/share/zoneinfo/America/Miquelon deleted file mode 100644 index 52cd391ebb..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Miquelon and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Moncton b/board/common/overlay/usr/share/zoneinfo/America/Moncton deleted file mode 100644 index b51125ebf1..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Moncton and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Monterrey b/board/common/overlay/usr/share/zoneinfo/America/Monterrey deleted file mode 100644 index 7dc5057774..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Monterrey and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Montevideo b/board/common/overlay/usr/share/zoneinfo/America/Montevideo deleted file mode 100644 index 4745f0dfb2..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Montevideo and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Montreal b/board/common/overlay/usr/share/zoneinfo/America/Montreal deleted file mode 100644 index 47633bd49f..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Montreal and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Montserrat b/board/common/overlay/usr/share/zoneinfo/America/Montserrat deleted file mode 100644 index bdedd1bd9b..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Montserrat and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Nassau b/board/common/overlay/usr/share/zoneinfo/America/Nassau deleted file mode 100644 index 5091eb5d8d..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Nassau and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/New_York b/board/common/overlay/usr/share/zoneinfo/America/New_York deleted file mode 100644 index b2c2377f4e..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/New_York and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Nipigon b/board/common/overlay/usr/share/zoneinfo/America/Nipigon deleted file mode 100644 index 619f1f7590..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Nipigon and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Nome b/board/common/overlay/usr/share/zoneinfo/America/Nome deleted file mode 100644 index b682bfd9cd..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Nome and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Noronha b/board/common/overlay/usr/share/zoneinfo/America/Noronha deleted file mode 100644 index c60239009e..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Noronha and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/North_Dakota/Beulah b/board/common/overlay/usr/share/zoneinfo/America/North_Dakota/Beulah deleted file mode 100644 index c1e3b025b9..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/North_Dakota/Beulah and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/North_Dakota/Center b/board/common/overlay/usr/share/zoneinfo/America/North_Dakota/Center deleted file mode 100644 index 786ba1778a..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/North_Dakota/Center and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/North_Dakota/New_Salem b/board/common/overlay/usr/share/zoneinfo/America/North_Dakota/New_Salem deleted file mode 100644 index 3488e466d5..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/North_Dakota/New_Salem and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Ojinaga b/board/common/overlay/usr/share/zoneinfo/America/Ojinaga deleted file mode 100644 index 37d78301bd..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Ojinaga and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Panama b/board/common/overlay/usr/share/zoneinfo/America/Panama deleted file mode 100644 index 3a4ff2aecf..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Panama and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Pangnirtung b/board/common/overlay/usr/share/zoneinfo/America/Pangnirtung deleted file mode 100644 index 80a6009381..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Pangnirtung and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Paramaribo b/board/common/overlay/usr/share/zoneinfo/America/Paramaribo deleted file mode 100644 index 6f889ccaf1..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Paramaribo and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Phoenix b/board/common/overlay/usr/share/zoneinfo/America/Phoenix deleted file mode 100644 index 67589026c2..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Phoenix and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Port-au-Prince b/board/common/overlay/usr/share/zoneinfo/America/Port-au-Prince deleted file mode 100644 index 3f86e8ab75..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Port-au-Prince and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Port_of_Spain b/board/common/overlay/usr/share/zoneinfo/America/Port_of_Spain deleted file mode 100644 index bdedd1bd9b..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Port_of_Spain and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Porto_Velho b/board/common/overlay/usr/share/zoneinfo/America/Porto_Velho deleted file mode 100644 index 1277479232..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Porto_Velho and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Puerto_Rico b/board/common/overlay/usr/share/zoneinfo/America/Puerto_Rico deleted file mode 100644 index eada37a111..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Puerto_Rico and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Rainy_River b/board/common/overlay/usr/share/zoneinfo/America/Rainy_River deleted file mode 100644 index e006a30dbf..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Rainy_River and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Rankin_Inlet b/board/common/overlay/usr/share/zoneinfo/America/Rankin_Inlet deleted file mode 100644 index 99195714c4..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Rankin_Inlet and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Recife b/board/common/overlay/usr/share/zoneinfo/America/Recife deleted file mode 100644 index 0903a77195..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Recife and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Regina b/board/common/overlay/usr/share/zoneinfo/America/Regina deleted file mode 100644 index 20c9c84df4..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Regina and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Resolute b/board/common/overlay/usr/share/zoneinfo/America/Resolute deleted file mode 100644 index 7713f5bead..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Resolute and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Rio_Branco b/board/common/overlay/usr/share/zoneinfo/America/Rio_Branco deleted file mode 100644 index 21cf598ff1..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Rio_Branco and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Santa_Isabel b/board/common/overlay/usr/share/zoneinfo/America/Santa_Isabel deleted file mode 100644 index 80a2f2d5b1..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Santa_Isabel and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Santarem b/board/common/overlay/usr/share/zoneinfo/America/Santarem deleted file mode 100644 index 45419528f9..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Santarem and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Santiago b/board/common/overlay/usr/share/zoneinfo/America/Santiago deleted file mode 100644 index 7cf0a1e187..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Santiago and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Santo_Domingo b/board/common/overlay/usr/share/zoneinfo/America/Santo_Domingo deleted file mode 100644 index 23ace9adc3..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Santo_Domingo and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Sao_Paulo b/board/common/overlay/usr/share/zoneinfo/America/Sao_Paulo deleted file mode 100644 index 8df63a17bd..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Sao_Paulo and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Scoresbysund b/board/common/overlay/usr/share/zoneinfo/America/Scoresbysund deleted file mode 100644 index fae3757ce9..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Scoresbysund and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Sitka b/board/common/overlay/usr/share/zoneinfo/America/Sitka deleted file mode 100644 index f2ae47a323..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Sitka and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/St_Barthelemy b/board/common/overlay/usr/share/zoneinfo/America/St_Barthelemy deleted file mode 100644 index bdedd1bd9b..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/St_Barthelemy and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/St_Johns b/board/common/overlay/usr/share/zoneinfo/America/St_Johns deleted file mode 100644 index e7a18d601d..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/St_Johns and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/St_Kitts b/board/common/overlay/usr/share/zoneinfo/America/St_Kitts deleted file mode 100644 index bdedd1bd9b..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/St_Kitts and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/St_Lucia b/board/common/overlay/usr/share/zoneinfo/America/St_Lucia deleted file mode 100644 index bdedd1bd9b..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/St_Lucia and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/St_Thomas b/board/common/overlay/usr/share/zoneinfo/America/St_Thomas deleted file mode 100644 index bdedd1bd9b..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/St_Thomas and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/St_Vincent b/board/common/overlay/usr/share/zoneinfo/America/St_Vincent deleted file mode 100644 index bdedd1bd9b..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/St_Vincent and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Swift_Current b/board/common/overlay/usr/share/zoneinfo/America/Swift_Current deleted file mode 100644 index 8e9ef255ee..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Swift_Current and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Tegucigalpa b/board/common/overlay/usr/share/zoneinfo/America/Tegucigalpa deleted file mode 100644 index 477e93950c..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Tegucigalpa and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Thule b/board/common/overlay/usr/share/zoneinfo/America/Thule deleted file mode 100644 index 2969ebe59b..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Thule and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Thunder_Bay b/board/common/overlay/usr/share/zoneinfo/America/Thunder_Bay deleted file mode 100644 index 34f750b4df..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Thunder_Bay and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Tijuana b/board/common/overlay/usr/share/zoneinfo/America/Tijuana deleted file mode 100644 index fffdc24bfc..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Tijuana and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Toronto b/board/common/overlay/usr/share/zoneinfo/America/Toronto deleted file mode 100644 index 1698477a48..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Toronto and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Tortola b/board/common/overlay/usr/share/zoneinfo/America/Tortola deleted file mode 100644 index bdedd1bd9b..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Tortola and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Vancouver b/board/common/overlay/usr/share/zoneinfo/America/Vancouver deleted file mode 100644 index 0c1fa52690..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Vancouver and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Whitehorse b/board/common/overlay/usr/share/zoneinfo/America/Whitehorse deleted file mode 100644 index 15216d55ff..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Whitehorse and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Winnipeg b/board/common/overlay/usr/share/zoneinfo/America/Winnipeg deleted file mode 100644 index 2d22791686..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Winnipeg and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Yakutat b/board/common/overlay/usr/share/zoneinfo/America/Yakutat deleted file mode 100644 index 8071602773..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Yakutat and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/America/Yellowknife b/board/common/overlay/usr/share/zoneinfo/America/Yellowknife deleted file mode 100644 index 947bec914b..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/America/Yellowknife and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Antarctica/Casey b/board/common/overlay/usr/share/zoneinfo/Antarctica/Casey deleted file mode 100644 index 8ebf0598ff..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Antarctica/Casey and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Antarctica/Davis b/board/common/overlay/usr/share/zoneinfo/Antarctica/Davis deleted file mode 100644 index cd7acad690..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Antarctica/Davis and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Antarctica/DumontDUrville b/board/common/overlay/usr/share/zoneinfo/Antarctica/DumontDUrville deleted file mode 100644 index 5ea18e6e77..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Antarctica/DumontDUrville and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Antarctica/Macquarie b/board/common/overlay/usr/share/zoneinfo/Antarctica/Macquarie deleted file mode 100644 index cbad31bb94..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Antarctica/Macquarie and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Antarctica/Mawson b/board/common/overlay/usr/share/zoneinfo/Antarctica/Mawson deleted file mode 100644 index 48e24e1e5e..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Antarctica/Mawson and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Antarctica/McMurdo b/board/common/overlay/usr/share/zoneinfo/Antarctica/McMurdo deleted file mode 100644 index a40767df93..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Antarctica/McMurdo and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Antarctica/Palmer b/board/common/overlay/usr/share/zoneinfo/Antarctica/Palmer deleted file mode 100644 index a1bcf2784b..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Antarctica/Palmer and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Antarctica/Rothera b/board/common/overlay/usr/share/zoneinfo/Antarctica/Rothera deleted file mode 100644 index b5dc735639..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Antarctica/Rothera and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Antarctica/Syowa b/board/common/overlay/usr/share/zoneinfo/Antarctica/Syowa deleted file mode 100644 index ba6e5f3887..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Antarctica/Syowa and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Antarctica/Troll b/board/common/overlay/usr/share/zoneinfo/Antarctica/Troll deleted file mode 100644 index ad6c8b4f6c..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Antarctica/Troll and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Antarctica/Vostok b/board/common/overlay/usr/share/zoneinfo/Antarctica/Vostok deleted file mode 100644 index e19e2b7cdb..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Antarctica/Vostok and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Arctic/Longyearbyen b/board/common/overlay/usr/share/zoneinfo/Arctic/Longyearbyen deleted file mode 100644 index 6326961453..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Arctic/Longyearbyen and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Aden b/board/common/overlay/usr/share/zoneinfo/Asia/Aden deleted file mode 100644 index 5948b310b9..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Aden and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Almaty b/board/common/overlay/usr/share/zoneinfo/Asia/Almaty deleted file mode 100644 index 52f941e266..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Almaty and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Amman b/board/common/overlay/usr/share/zoneinfo/Asia/Amman deleted file mode 100644 index 281b304e2f..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Amman and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Anadyr b/board/common/overlay/usr/share/zoneinfo/Asia/Anadyr deleted file mode 100644 index 2841a6376d..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Anadyr and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Aqtau b/board/common/overlay/usr/share/zoneinfo/Asia/Aqtau deleted file mode 100644 index 27a3d50d37..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Aqtau and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Aqtobe b/board/common/overlay/usr/share/zoneinfo/Asia/Aqtobe deleted file mode 100644 index 3683be2db8..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Aqtobe and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Ashgabat b/board/common/overlay/usr/share/zoneinfo/Asia/Ashgabat deleted file mode 100644 index 589dbc18ea..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Ashgabat and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Baghdad b/board/common/overlay/usr/share/zoneinfo/Asia/Baghdad deleted file mode 100644 index 3ad361495c..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Baghdad and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Bahrain b/board/common/overlay/usr/share/zoneinfo/Asia/Bahrain deleted file mode 100644 index d87b7ce739..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Bahrain and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Baku b/board/common/overlay/usr/share/zoneinfo/Asia/Baku deleted file mode 100644 index 72ae96e9cc..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Baku and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Bangkok b/board/common/overlay/usr/share/zoneinfo/Asia/Bangkok deleted file mode 100644 index 44a1018ef6..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Bangkok and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Beirut b/board/common/overlay/usr/share/zoneinfo/Asia/Beirut deleted file mode 100644 index c1270bc1ad..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Beirut and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Bishkek b/board/common/overlay/usr/share/zoneinfo/Asia/Bishkek deleted file mode 100644 index fc827d8871..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Bishkek and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Brunei b/board/common/overlay/usr/share/zoneinfo/Asia/Brunei deleted file mode 100644 index d6e713d436..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Brunei and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Choibalsan b/board/common/overlay/usr/share/zoneinfo/Asia/Choibalsan deleted file mode 100644 index 043b7ed5c2..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Choibalsan and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Chongqing b/board/common/overlay/usr/share/zoneinfo/Asia/Chongqing deleted file mode 100644 index 8a7a28a480..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Chongqing and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Colombo b/board/common/overlay/usr/share/zoneinfo/Asia/Colombo deleted file mode 100644 index c71c0503d9..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Colombo and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Damascus b/board/common/overlay/usr/share/zoneinfo/Asia/Damascus deleted file mode 100644 index 4b610b5a08..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Damascus and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Dhaka b/board/common/overlay/usr/share/zoneinfo/Asia/Dhaka deleted file mode 100644 index 52e98ffc2c..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Dhaka and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Dili b/board/common/overlay/usr/share/zoneinfo/Asia/Dili deleted file mode 100644 index e5b743a6fc..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Dili and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Dubai b/board/common/overlay/usr/share/zoneinfo/Asia/Dubai deleted file mode 100644 index 53f70d57a1..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Dubai and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Dushanbe b/board/common/overlay/usr/share/zoneinfo/Asia/Dushanbe deleted file mode 100644 index c65ff2a7b3..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Dushanbe and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Gaza b/board/common/overlay/usr/share/zoneinfo/Asia/Gaza deleted file mode 100644 index fed3f9d433..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Gaza and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Harbin b/board/common/overlay/usr/share/zoneinfo/Asia/Harbin deleted file mode 100644 index 11e352a511..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Harbin and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Hebron b/board/common/overlay/usr/share/zoneinfo/Asia/Hebron deleted file mode 100644 index a4234dc67e..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Hebron and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Ho_Chi_Minh b/board/common/overlay/usr/share/zoneinfo/Asia/Ho_Chi_Minh deleted file mode 100644 index 6401a10256..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Ho_Chi_Minh and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Hong_Kong b/board/common/overlay/usr/share/zoneinfo/Asia/Hong_Kong deleted file mode 100644 index 8e5c581366..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Hong_Kong and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Hovd b/board/common/overlay/usr/share/zoneinfo/Asia/Hovd deleted file mode 100644 index 27fab05c19..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Hovd and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Irkutsk b/board/common/overlay/usr/share/zoneinfo/Asia/Irkutsk deleted file mode 100644 index 7c38e7fd6b..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Irkutsk and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Jakarta b/board/common/overlay/usr/share/zoneinfo/Asia/Jakarta deleted file mode 100644 index 66450d6370..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Jakarta and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Jayapura b/board/common/overlay/usr/share/zoneinfo/Asia/Jayapura deleted file mode 100644 index e28f9def30..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Jayapura and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Jerusalem b/board/common/overlay/usr/share/zoneinfo/Asia/Jerusalem deleted file mode 100644 index 8676bfb026..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Jerusalem and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Kabul b/board/common/overlay/usr/share/zoneinfo/Asia/Kabul deleted file mode 100644 index 7392c0497a..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Kabul and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Kamchatka b/board/common/overlay/usr/share/zoneinfo/Asia/Kamchatka deleted file mode 100644 index 090bf48895..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Kamchatka and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Karachi b/board/common/overlay/usr/share/zoneinfo/Asia/Karachi deleted file mode 100644 index a8ff8cb769..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Karachi and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Kashgar b/board/common/overlay/usr/share/zoneinfo/Asia/Kashgar deleted file mode 100644 index 25e64945cf..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Kashgar and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Kathmandu b/board/common/overlay/usr/share/zoneinfo/Asia/Kathmandu deleted file mode 100644 index 65c7b63258..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Kathmandu and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Khandyga b/board/common/overlay/usr/share/zoneinfo/Asia/Khandyga deleted file mode 100644 index 39d2c2df80..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Khandyga and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Kolkata b/board/common/overlay/usr/share/zoneinfo/Asia/Kolkata deleted file mode 100644 index bc909c92c1..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Kolkata and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Krasnoyarsk b/board/common/overlay/usr/share/zoneinfo/Asia/Krasnoyarsk deleted file mode 100644 index 580e8dd2f4..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Krasnoyarsk and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Kuala_Lumpur b/board/common/overlay/usr/share/zoneinfo/Asia/Kuala_Lumpur deleted file mode 100644 index 41bba37b0c..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Kuala_Lumpur and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Kuching b/board/common/overlay/usr/share/zoneinfo/Asia/Kuching deleted file mode 100644 index 272f46546e..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Kuching and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Kuwait b/board/common/overlay/usr/share/zoneinfo/Asia/Kuwait deleted file mode 100644 index 1dab31cba0..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Kuwait and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Macau b/board/common/overlay/usr/share/zoneinfo/Asia/Macau deleted file mode 100644 index 7c93779578..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Macau and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Magadan b/board/common/overlay/usr/share/zoneinfo/Asia/Magadan deleted file mode 100644 index e3c76b57f5..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Magadan and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Makassar b/board/common/overlay/usr/share/zoneinfo/Asia/Makassar deleted file mode 100644 index eb7d42ef4d..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Makassar and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Manila b/board/common/overlay/usr/share/zoneinfo/Asia/Manila deleted file mode 100644 index 0e90ba6326..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Manila and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Muscat b/board/common/overlay/usr/share/zoneinfo/Asia/Muscat deleted file mode 100644 index daee4cc82a..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Muscat and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Nicosia b/board/common/overlay/usr/share/zoneinfo/Asia/Nicosia deleted file mode 100644 index f7f10ab766..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Nicosia and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Novokuznetsk b/board/common/overlay/usr/share/zoneinfo/Asia/Novokuznetsk deleted file mode 100644 index f78c1f88bf..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Novokuznetsk and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Novosibirsk b/board/common/overlay/usr/share/zoneinfo/Asia/Novosibirsk deleted file mode 100644 index c401a9817d..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Novosibirsk and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Omsk b/board/common/overlay/usr/share/zoneinfo/Asia/Omsk deleted file mode 100644 index a3dbb4bb1c..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Omsk and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Oral b/board/common/overlay/usr/share/zoneinfo/Asia/Oral deleted file mode 100644 index 8da2a1dee7..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Oral and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Phnom_Penh b/board/common/overlay/usr/share/zoneinfo/Asia/Phnom_Penh deleted file mode 100644 index 5a52722a16..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Phnom_Penh and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Pontianak b/board/common/overlay/usr/share/zoneinfo/Asia/Pontianak deleted file mode 100644 index 54b3d5081d..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Pontianak and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Pyongyang b/board/common/overlay/usr/share/zoneinfo/Asia/Pyongyang deleted file mode 100644 index 9dbd3c1ae0..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Pyongyang and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Qatar b/board/common/overlay/usr/share/zoneinfo/Asia/Qatar deleted file mode 100644 index 49668c2583..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Qatar and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Qyzylorda b/board/common/overlay/usr/share/zoneinfo/Asia/Qyzylorda deleted file mode 100644 index fc3bf46bcc..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Qyzylorda and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Rangoon b/board/common/overlay/usr/share/zoneinfo/Asia/Rangoon deleted file mode 100644 index 68591c56e7..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Rangoon and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Riyadh b/board/common/overlay/usr/share/zoneinfo/Asia/Riyadh deleted file mode 100644 index 6ebe393d0b..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Riyadh and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Sakhalin b/board/common/overlay/usr/share/zoneinfo/Asia/Sakhalin deleted file mode 100644 index f5105a363c..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Sakhalin and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Samarkand b/board/common/overlay/usr/share/zoneinfo/Asia/Samarkand deleted file mode 100644 index 191c07c127..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Samarkand and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Seoul b/board/common/overlay/usr/share/zoneinfo/Asia/Seoul deleted file mode 100644 index 96bb0c36d7..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Seoul and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Shanghai b/board/common/overlay/usr/share/zoneinfo/Asia/Shanghai deleted file mode 100644 index af6d6fbbd2..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Shanghai and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Singapore b/board/common/overlay/usr/share/zoneinfo/Asia/Singapore deleted file mode 100644 index a6f2db8f3a..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Singapore and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Taipei b/board/common/overlay/usr/share/zoneinfo/Asia/Taipei deleted file mode 100644 index 70cfb27ca9..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Taipei and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Tashkent b/board/common/overlay/usr/share/zoneinfo/Asia/Tashkent deleted file mode 100644 index 5bc806238a..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Tashkent and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Tbilisi b/board/common/overlay/usr/share/zoneinfo/Asia/Tbilisi deleted file mode 100644 index d7e40548ac..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Tbilisi and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Tehran b/board/common/overlay/usr/share/zoneinfo/Asia/Tehran deleted file mode 100644 index 62d316190d..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Tehran and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Thimphu b/board/common/overlay/usr/share/zoneinfo/Asia/Thimphu deleted file mode 100644 index 90294aea20..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Thimphu and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Tokyo b/board/common/overlay/usr/share/zoneinfo/Asia/Tokyo deleted file mode 100644 index 058c1e99ba..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Tokyo and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Ulaanbaatar b/board/common/overlay/usr/share/zoneinfo/Asia/Ulaanbaatar deleted file mode 100644 index 39bdd89416..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Ulaanbaatar and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Urumqi b/board/common/overlay/usr/share/zoneinfo/Asia/Urumqi deleted file mode 100644 index f46ff380a0..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Urumqi and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Ust-Nera b/board/common/overlay/usr/share/zoneinfo/Asia/Ust-Nera deleted file mode 100644 index ae89650f10..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Ust-Nera and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Vientiane b/board/common/overlay/usr/share/zoneinfo/Asia/Vientiane deleted file mode 100644 index 7d39589f19..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Vientiane and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Vladivostok b/board/common/overlay/usr/share/zoneinfo/Asia/Vladivostok deleted file mode 100644 index 42783d9289..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Vladivostok and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Yakutsk b/board/common/overlay/usr/share/zoneinfo/Asia/Yakutsk deleted file mode 100644 index 461901f6f8..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Yakutsk and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Yekaterinburg b/board/common/overlay/usr/share/zoneinfo/Asia/Yekaterinburg deleted file mode 100644 index aca50c6e1d..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Yekaterinburg and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Asia/Yerevan b/board/common/overlay/usr/share/zoneinfo/Asia/Yerevan deleted file mode 100644 index c4ab2197f8..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Asia/Yerevan and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Atlantic/Azores b/board/common/overlay/usr/share/zoneinfo/Atlantic/Azores deleted file mode 100644 index 19e4004067..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Atlantic/Azores and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Atlantic/Bermuda b/board/common/overlay/usr/share/zoneinfo/Atlantic/Bermuda deleted file mode 100644 index 3a5c6dbf7a..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Atlantic/Bermuda and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Atlantic/Canary b/board/common/overlay/usr/share/zoneinfo/Atlantic/Canary deleted file mode 100644 index 972388be71..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Atlantic/Canary and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Atlantic/Cape_Verde b/board/common/overlay/usr/share/zoneinfo/Atlantic/Cape_Verde deleted file mode 100644 index 5238ac8a67..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Atlantic/Cape_Verde and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Atlantic/Faroe b/board/common/overlay/usr/share/zoneinfo/Atlantic/Faroe deleted file mode 100644 index 4dab7ef085..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Atlantic/Faroe and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Atlantic/Madeira b/board/common/overlay/usr/share/zoneinfo/Atlantic/Madeira deleted file mode 100644 index 2175096cf1..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Atlantic/Madeira and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Atlantic/Reykjavik b/board/common/overlay/usr/share/zoneinfo/Atlantic/Reykjavik deleted file mode 100644 index e97f13a652..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Atlantic/Reykjavik and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Atlantic/South_Georgia b/board/common/overlay/usr/share/zoneinfo/Atlantic/South_Georgia deleted file mode 100644 index ab2c8236b0..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Atlantic/South_Georgia and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Atlantic/St_Helena b/board/common/overlay/usr/share/zoneinfo/Atlantic/St_Helena deleted file mode 100644 index d365e3ddf3..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Atlantic/St_Helena and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Atlantic/Stanley b/board/common/overlay/usr/share/zoneinfo/Atlantic/Stanley deleted file mode 100644 index 34f9d022cd..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Atlantic/Stanley and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Australia/Adelaide b/board/common/overlay/usr/share/zoneinfo/Australia/Adelaide deleted file mode 100644 index b350cb6660..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Australia/Adelaide and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Australia/Brisbane b/board/common/overlay/usr/share/zoneinfo/Australia/Brisbane deleted file mode 100644 index 3e899a163f..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Australia/Brisbane and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Australia/Broken_Hill b/board/common/overlay/usr/share/zoneinfo/Australia/Broken_Hill deleted file mode 100644 index d8f3155c84..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Australia/Broken_Hill and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Australia/Currie b/board/common/overlay/usr/share/zoneinfo/Australia/Currie deleted file mode 100644 index 43ca1e4558..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Australia/Currie and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Australia/Darwin b/board/common/overlay/usr/share/zoneinfo/Australia/Darwin deleted file mode 100644 index c44512fbb7..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Australia/Darwin and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Australia/Eucla b/board/common/overlay/usr/share/zoneinfo/Australia/Eucla deleted file mode 100644 index e78c2d4251..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Australia/Eucla and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Australia/Hobart b/board/common/overlay/usr/share/zoneinfo/Australia/Hobart deleted file mode 100644 index c4604e5386..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Australia/Hobart and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Australia/Lindeman b/board/common/overlay/usr/share/zoneinfo/Australia/Lindeman deleted file mode 100644 index 05c3c1c324..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Australia/Lindeman and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Australia/Lord_Howe b/board/common/overlay/usr/share/zoneinfo/Australia/Lord_Howe deleted file mode 100644 index 1f542d3700..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Australia/Lord_Howe and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Australia/Melbourne b/board/common/overlay/usr/share/zoneinfo/Australia/Melbourne deleted file mode 100644 index af3152f6c4..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Australia/Melbourne and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Australia/Perth b/board/common/overlay/usr/share/zoneinfo/Australia/Perth deleted file mode 100644 index 1c7ebb795c..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Australia/Perth and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Australia/Sydney b/board/common/overlay/usr/share/zoneinfo/Australia/Sydney deleted file mode 100644 index d95c245e5e..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Australia/Sydney and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Canada/Atlantic b/board/common/overlay/usr/share/zoneinfo/Canada/Atlantic deleted file mode 100644 index 756099abe6..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Canada/Atlantic and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Canada/Central b/board/common/overlay/usr/share/zoneinfo/Canada/Central deleted file mode 100644 index 2d22791686..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Canada/Central and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Canada/Eastern b/board/common/overlay/usr/share/zoneinfo/Canada/Eastern deleted file mode 100644 index 1698477a48..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Canada/Eastern and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Canada/Mountain b/board/common/overlay/usr/share/zoneinfo/Canada/Mountain deleted file mode 100644 index 3fa0579891..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Canada/Mountain and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Canada/Newfoundland b/board/common/overlay/usr/share/zoneinfo/Canada/Newfoundland deleted file mode 100644 index e7a18d601d..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Canada/Newfoundland and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Canada/Pacific b/board/common/overlay/usr/share/zoneinfo/Canada/Pacific deleted file mode 100644 index 0c1fa52690..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Canada/Pacific and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Amsterdam b/board/common/overlay/usr/share/zoneinfo/Europe/Amsterdam deleted file mode 100644 index 30ca3243a5..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Amsterdam and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Andorra b/board/common/overlay/usr/share/zoneinfo/Europe/Andorra deleted file mode 100644 index cf9533a3e4..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Andorra and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Athens b/board/common/overlay/usr/share/zoneinfo/Europe/Athens deleted file mode 100644 index 726e56c3fe..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Athens and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Belgrade b/board/common/overlay/usr/share/zoneinfo/Europe/Belgrade deleted file mode 100644 index 5f0389f039..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Belgrade and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Berlin b/board/common/overlay/usr/share/zoneinfo/Europe/Berlin deleted file mode 100644 index 96059c7854..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Berlin and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Bratislava b/board/common/overlay/usr/share/zoneinfo/Europe/Bratislava deleted file mode 100644 index 9ab78e9156..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Bratislava and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Brussels b/board/common/overlay/usr/share/zoneinfo/Europe/Brussels deleted file mode 100644 index 2791edeba3..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Brussels and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Bucharest b/board/common/overlay/usr/share/zoneinfo/Europe/Bucharest deleted file mode 100644 index de2a5f0af1..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Bucharest and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Budapest b/board/common/overlay/usr/share/zoneinfo/Europe/Budapest deleted file mode 100644 index 1b787b16ce..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Budapest and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Busingen b/board/common/overlay/usr/share/zoneinfo/Europe/Busingen deleted file mode 100644 index 440f158c14..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Busingen and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Chisinau b/board/common/overlay/usr/share/zoneinfo/Europe/Chisinau deleted file mode 100644 index 983cc70716..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Chisinau and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Copenhagen b/board/common/overlay/usr/share/zoneinfo/Europe/Copenhagen deleted file mode 100644 index af7e9269e5..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Copenhagen and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Dublin b/board/common/overlay/usr/share/zoneinfo/Europe/Dublin deleted file mode 100644 index 3dec02693d..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Dublin and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Gibraltar b/board/common/overlay/usr/share/zoneinfo/Europe/Gibraltar deleted file mode 100644 index f3dbeb65ec..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Gibraltar and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Guernsey b/board/common/overlay/usr/share/zoneinfo/Europe/Guernsey deleted file mode 100644 index fe63ff7e7f..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Guernsey and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Helsinki b/board/common/overlay/usr/share/zoneinfo/Europe/Helsinki deleted file mode 100644 index 19d7babd53..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Helsinki and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Isle_of_Man b/board/common/overlay/usr/share/zoneinfo/Europe/Isle_of_Man deleted file mode 100644 index fe63ff7e7f..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Isle_of_Man and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Istanbul b/board/common/overlay/usr/share/zoneinfo/Europe/Istanbul deleted file mode 100644 index 50a2838e9b..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Istanbul and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Jersey b/board/common/overlay/usr/share/zoneinfo/Europe/Jersey deleted file mode 100644 index fe63ff7e7f..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Jersey and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Kaliningrad b/board/common/overlay/usr/share/zoneinfo/Europe/Kaliningrad deleted file mode 100644 index fa6bab8620..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Kaliningrad and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Kiev b/board/common/overlay/usr/share/zoneinfo/Europe/Kiev deleted file mode 100644 index 7a941649d8..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Kiev and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Lisbon b/board/common/overlay/usr/share/zoneinfo/Europe/Lisbon deleted file mode 100644 index 168accf060..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Lisbon and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Ljubljana b/board/common/overlay/usr/share/zoneinfo/Europe/Ljubljana deleted file mode 100644 index 5f0389f039..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Ljubljana and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/London b/board/common/overlay/usr/share/zoneinfo/Europe/London deleted file mode 100644 index fe63ff7e7f..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/London and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Luxembourg b/board/common/overlay/usr/share/zoneinfo/Europe/Luxembourg deleted file mode 100644 index 6c194a5cdc..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Luxembourg and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Madrid b/board/common/overlay/usr/share/zoneinfo/Europe/Madrid deleted file mode 100644 index 931195955a..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Madrid and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Malta b/board/common/overlay/usr/share/zoneinfo/Europe/Malta deleted file mode 100644 index 5f518a1f17..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Malta and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Mariehamn b/board/common/overlay/usr/share/zoneinfo/Europe/Mariehamn deleted file mode 100644 index 19d7babd53..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Mariehamn and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Minsk b/board/common/overlay/usr/share/zoneinfo/Europe/Minsk deleted file mode 100644 index ba9971c631..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Minsk and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Monaco b/board/common/overlay/usr/share/zoneinfo/Europe/Monaco deleted file mode 100644 index 664f6161ab..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Monaco and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Moscow b/board/common/overlay/usr/share/zoneinfo/Europe/Moscow deleted file mode 100644 index d3ce2c6b05..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Moscow and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Oslo b/board/common/overlay/usr/share/zoneinfo/Europe/Oslo deleted file mode 100644 index 6326961453..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Oslo and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Paris b/board/common/overlay/usr/share/zoneinfo/Europe/Paris deleted file mode 100644 index fd8ea7dbae..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Paris and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Podgorica b/board/common/overlay/usr/share/zoneinfo/Europe/Podgorica deleted file mode 100644 index 5f0389f039..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Podgorica and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Prague b/board/common/overlay/usr/share/zoneinfo/Europe/Prague deleted file mode 100644 index 9ab78e9156..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Prague and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Riga b/board/common/overlay/usr/share/zoneinfo/Europe/Riga deleted file mode 100644 index abea45d309..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Riga and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Rome b/board/common/overlay/usr/share/zoneinfo/Europe/Rome deleted file mode 100644 index 28ddffe0d9..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Rome and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Samara b/board/common/overlay/usr/share/zoneinfo/Europe/Samara deleted file mode 100644 index fe5060094b..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Samara and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/San_Marino b/board/common/overlay/usr/share/zoneinfo/Europe/San_Marino deleted file mode 100644 index 28ddffe0d9..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/San_Marino and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Sarajevo b/board/common/overlay/usr/share/zoneinfo/Europe/Sarajevo deleted file mode 100644 index 5f0389f039..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Sarajevo and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Simferopol b/board/common/overlay/usr/share/zoneinfo/Europe/Simferopol deleted file mode 100644 index a1f07fd52a..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Simferopol and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Skopje b/board/common/overlay/usr/share/zoneinfo/Europe/Skopje deleted file mode 100644 index 5f0389f039..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Skopje and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Sofia b/board/common/overlay/usr/share/zoneinfo/Europe/Sofia deleted file mode 100644 index d8032335b2..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Sofia and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Stockholm b/board/common/overlay/usr/share/zoneinfo/Europe/Stockholm deleted file mode 100644 index 3bc6dbd9d1..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Stockholm and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Tallinn b/board/common/overlay/usr/share/zoneinfo/Europe/Tallinn deleted file mode 100644 index 4ba4424121..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Tallinn and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Tirane b/board/common/overlay/usr/share/zoneinfo/Europe/Tirane deleted file mode 100644 index 0b86017d24..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Tirane and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Uzhgorod b/board/common/overlay/usr/share/zoneinfo/Europe/Uzhgorod deleted file mode 100644 index 7032ab9b34..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Uzhgorod and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Vaduz b/board/common/overlay/usr/share/zoneinfo/Europe/Vaduz deleted file mode 100644 index 440f158c14..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Vaduz and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Vatican b/board/common/overlay/usr/share/zoneinfo/Europe/Vatican deleted file mode 100644 index 28ddffe0d9..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Vatican and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Vienna b/board/common/overlay/usr/share/zoneinfo/Europe/Vienna deleted file mode 100644 index 8e4c9a9b5f..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Vienna and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Vilnius b/board/common/overlay/usr/share/zoneinfo/Europe/Vilnius deleted file mode 100644 index b6545b2494..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Vilnius and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Volgograd b/board/common/overlay/usr/share/zoneinfo/Europe/Volgograd deleted file mode 100644 index b91e4fbff6..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Volgograd and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Warsaw b/board/common/overlay/usr/share/zoneinfo/Europe/Warsaw deleted file mode 100644 index 3797b1cb65..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Warsaw and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Zagreb b/board/common/overlay/usr/share/zoneinfo/Europe/Zagreb deleted file mode 100644 index 5f0389f039..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Zagreb and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Zaporozhye b/board/common/overlay/usr/share/zoneinfo/Europe/Zaporozhye deleted file mode 100644 index 2ccf8998b2..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Zaporozhye and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Europe/Zurich b/board/common/overlay/usr/share/zoneinfo/Europe/Zurich deleted file mode 100644 index 440f158c14..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Europe/Zurich and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/GMT b/board/common/overlay/usr/share/zoneinfo/GMT deleted file mode 100644 index 2ee14295f1..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/GMT and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Indian/Antananarivo b/board/common/overlay/usr/share/zoneinfo/Indian/Antananarivo deleted file mode 100644 index ef6e745c45..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Indian/Antananarivo and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Indian/Chagos b/board/common/overlay/usr/share/zoneinfo/Indian/Chagos deleted file mode 100644 index 864d3e29a2..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Indian/Chagos and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Indian/Christmas b/board/common/overlay/usr/share/zoneinfo/Indian/Christmas deleted file mode 100644 index 686d5b3c65..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Indian/Christmas and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Indian/Cocos b/board/common/overlay/usr/share/zoneinfo/Indian/Cocos deleted file mode 100644 index 6f7d869f0f..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Indian/Cocos and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Indian/Comoro b/board/common/overlay/usr/share/zoneinfo/Indian/Comoro deleted file mode 100644 index 297c6db63c..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Indian/Comoro and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Indian/Kerguelen b/board/common/overlay/usr/share/zoneinfo/Indian/Kerguelen deleted file mode 100644 index 1f42bbc1ff..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Indian/Kerguelen and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Indian/Mahe b/board/common/overlay/usr/share/zoneinfo/Indian/Mahe deleted file mode 100644 index d048242cac..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Indian/Mahe and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Indian/Maldives b/board/common/overlay/usr/share/zoneinfo/Indian/Maldives deleted file mode 100644 index 65e7eeee8d..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Indian/Maldives and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Indian/Mauritius b/board/common/overlay/usr/share/zoneinfo/Indian/Mauritius deleted file mode 100644 index 54f2220108..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Indian/Mauritius and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Indian/Mayotte b/board/common/overlay/usr/share/zoneinfo/Indian/Mayotte deleted file mode 100644 index 8401a37aa0..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Indian/Mayotte and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Indian/Reunion b/board/common/overlay/usr/share/zoneinfo/Indian/Reunion deleted file mode 100644 index 9b3830ec31..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Indian/Reunion and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Apia b/board/common/overlay/usr/share/zoneinfo/Pacific/Apia deleted file mode 100644 index efe6d5a1de..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Apia and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Auckland b/board/common/overlay/usr/share/zoneinfo/Pacific/Auckland deleted file mode 100644 index a40767df93..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Auckland and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Chatham b/board/common/overlay/usr/share/zoneinfo/Pacific/Chatham deleted file mode 100644 index 6329e4fce0..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Chatham and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Chuuk b/board/common/overlay/usr/share/zoneinfo/Pacific/Chuuk deleted file mode 100644 index 0ef473871d..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Chuuk and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Easter b/board/common/overlay/usr/share/zoneinfo/Pacific/Easter deleted file mode 100644 index 1e2f484b79..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Easter and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Efate b/board/common/overlay/usr/share/zoneinfo/Pacific/Efate deleted file mode 100644 index c46154a805..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Efate and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Enderbury b/board/common/overlay/usr/share/zoneinfo/Pacific/Enderbury deleted file mode 100644 index 69e75d754e..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Enderbury and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Fakaofo b/board/common/overlay/usr/share/zoneinfo/Pacific/Fakaofo deleted file mode 100644 index 22902f98fe..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Fakaofo and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Fiji b/board/common/overlay/usr/share/zoneinfo/Pacific/Fiji deleted file mode 100644 index cf5af8dcef..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Fiji and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Funafuti b/board/common/overlay/usr/share/zoneinfo/Pacific/Funafuti deleted file mode 100644 index 66cf5e1df3..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Funafuti and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Galapagos b/board/common/overlay/usr/share/zoneinfo/Pacific/Galapagos deleted file mode 100644 index 7504cc66f5..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Galapagos and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Gambier b/board/common/overlay/usr/share/zoneinfo/Pacific/Gambier deleted file mode 100644 index fc49c03f6e..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Gambier and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Guadalcanal b/board/common/overlay/usr/share/zoneinfo/Pacific/Guadalcanal deleted file mode 100644 index 3a4ec12e56..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Guadalcanal and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Guam b/board/common/overlay/usr/share/zoneinfo/Pacific/Guam deleted file mode 100644 index a05292f4ba..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Guam and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Honolulu b/board/common/overlay/usr/share/zoneinfo/Pacific/Honolulu deleted file mode 100644 index 1b4684b9b4..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Honolulu and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Johnston b/board/common/overlay/usr/share/zoneinfo/Pacific/Johnston deleted file mode 100644 index 1b4684b9b4..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Johnston and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Kiritimati b/board/common/overlay/usr/share/zoneinfo/Pacific/Kiritimati deleted file mode 100644 index 7131453c55..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Kiritimati and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Kosrae b/board/common/overlay/usr/share/zoneinfo/Pacific/Kosrae deleted file mode 100644 index 61b7561589..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Kosrae and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Kwajalein b/board/common/overlay/usr/share/zoneinfo/Pacific/Kwajalein deleted file mode 100644 index b57237272d..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Kwajalein and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Majuro b/board/common/overlay/usr/share/zoneinfo/Pacific/Majuro deleted file mode 100644 index eab93a2af9..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Majuro and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Marquesas b/board/common/overlay/usr/share/zoneinfo/Pacific/Marquesas deleted file mode 100644 index cd2d5b073a..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Marquesas and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Midway b/board/common/overlay/usr/share/zoneinfo/Pacific/Midway deleted file mode 100644 index 8889a26fa7..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Midway and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Nauru b/board/common/overlay/usr/share/zoneinfo/Pacific/Nauru deleted file mode 100644 index 1d8179bcb5..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Nauru and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Niue b/board/common/overlay/usr/share/zoneinfo/Pacific/Niue deleted file mode 100644 index b9f18a544a..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Niue and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Norfolk b/board/common/overlay/usr/share/zoneinfo/Pacific/Norfolk deleted file mode 100644 index 2e989c2556..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Norfolk and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Noumea b/board/common/overlay/usr/share/zoneinfo/Pacific/Noumea deleted file mode 100644 index ae9e138fa5..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Noumea and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Pago_Pago b/board/common/overlay/usr/share/zoneinfo/Pacific/Pago_Pago deleted file mode 100644 index fa084ba584..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Pago_Pago and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Palau b/board/common/overlay/usr/share/zoneinfo/Pacific/Palau deleted file mode 100644 index efc556b140..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Palau and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Pitcairn b/board/common/overlay/usr/share/zoneinfo/Pacific/Pitcairn deleted file mode 100644 index 51f01c6410..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Pitcairn and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Pohnpei b/board/common/overlay/usr/share/zoneinfo/Pacific/Pohnpei deleted file mode 100644 index f175ea5875..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Pohnpei and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Port_Moresby b/board/common/overlay/usr/share/zoneinfo/Pacific/Port_Moresby deleted file mode 100644 index 8d4d12ccb0..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Port_Moresby and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Rarotonga b/board/common/overlay/usr/share/zoneinfo/Pacific/Rarotonga deleted file mode 100644 index 581299788a..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Rarotonga and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Saipan b/board/common/overlay/usr/share/zoneinfo/Pacific/Saipan deleted file mode 100644 index 519c86e966..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Saipan and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Tahiti b/board/common/overlay/usr/share/zoneinfo/Pacific/Tahiti deleted file mode 100644 index 22f8697467..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Tahiti and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Tarawa b/board/common/overlay/usr/share/zoneinfo/Pacific/Tarawa deleted file mode 100644 index 065dcd8194..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Tarawa and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Tongatapu b/board/common/overlay/usr/share/zoneinfo/Pacific/Tongatapu deleted file mode 100644 index 01ab6b87ef..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Tongatapu and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Wake b/board/common/overlay/usr/share/zoneinfo/Pacific/Wake deleted file mode 100644 index f89c52829a..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Wake and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/Pacific/Wallis b/board/common/overlay/usr/share/zoneinfo/Pacific/Wallis deleted file mode 100644 index 9aaf558f1d..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/Pacific/Wallis and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/US/Alaska b/board/common/overlay/usr/share/zoneinfo/US/Alaska deleted file mode 100644 index d14735026a..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/US/Alaska and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/US/Arizona b/board/common/overlay/usr/share/zoneinfo/US/Arizona deleted file mode 100644 index 67589026c2..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/US/Arizona and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/US/Central b/board/common/overlay/usr/share/zoneinfo/US/Central deleted file mode 100644 index 71aae7246a..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/US/Central and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/US/Eastern b/board/common/overlay/usr/share/zoneinfo/US/Eastern deleted file mode 100644 index b2c2377f4e..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/US/Eastern and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/US/Hawaii b/board/common/overlay/usr/share/zoneinfo/US/Hawaii deleted file mode 100644 index 1b4684b9b4..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/US/Hawaii and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/US/Mountain b/board/common/overlay/usr/share/zoneinfo/US/Mountain deleted file mode 100644 index f8908febf2..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/US/Mountain and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/US/Pacific b/board/common/overlay/usr/share/zoneinfo/US/Pacific deleted file mode 100644 index 3b7ce1dcee..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/US/Pacific and /dev/null differ diff --git a/board/common/overlay/usr/share/zoneinfo/UTC b/board/common/overlay/usr/share/zoneinfo/UTC deleted file mode 100644 index 5583f5b0c6..0000000000 Binary files a/board/common/overlay/usr/share/zoneinfo/UTC and /dev/null differ diff --git a/board/raspberrypi/overlay/etc/init.d/S11throttlewatch b/board/raspberrypi/overlay/etc/init.d/S11throttlewatch index 128da273bc..05e1ada454 100755 --- a/board/raspberrypi/overlay/etc/init.d/S11throttlewatch +++ b/board/raspberrypi/overlay/etc/init.d/S11throttlewatch @@ -46,7 +46,7 @@ case "$1" in msg_begin "Starting throttle watcher" watch_now & watch_since_boot & -10 test $? == 0 && msg_done || msg_fail + test $? == 0 && msg_done || msg_fail ;; stop) diff --git a/board/raspberrypi2/overlay/etc/init.d/S11throttlewatch b/board/raspberrypi2/overlay/etc/init.d/S11throttlewatch index 128da273bc..05e1ada454 100755 --- a/board/raspberrypi2/overlay/etc/init.d/S11throttlewatch +++ b/board/raspberrypi2/overlay/etc/init.d/S11throttlewatch @@ -46,7 +46,7 @@ case "$1" in msg_begin "Starting throttle watcher" watch_now & watch_since_boot & -10 test $? == 0 && msg_done || msg_fail + test $? == 0 && msg_done || msg_fail ;; stop) diff --git a/board/raspberrypi3/overlay/etc/init.d/S11throttlewatch b/board/raspberrypi3/overlay/etc/init.d/S11throttlewatch index 128da273bc..05e1ada454 100755 --- a/board/raspberrypi3/overlay/etc/init.d/S11throttlewatch +++ b/board/raspberrypi3/overlay/etc/init.d/S11throttlewatch @@ -46,7 +46,7 @@ case "$1" in msg_begin "Starting throttle watcher" watch_now & watch_since_boot & -10 test $? == 0 && msg_done || msg_fail + test $? == 0 && msg_done || msg_fail ;; stop) diff --git a/boot/Config.in b/boot/Config.in index de52815007..2f46c8546e 100644 --- a/boot/Config.in +++ b/boot/Config.in @@ -1,8 +1,21 @@ menu "Bootloaders" -source "boot/grub/Config.in" +source "boot/afboot-stm32/Config.in" +source "boot/at91bootstrap/Config.in" +source "boot/at91bootstrap3/Config.in" +source "boot/at91dataflashboot/Config.in" +source "boot/arm-trusted-firmware/Config.in" +source "boot/barebox/Config.in" +source "boot/boot-wrapper-aarch64/Config.in" source "boot/grub2/Config.in" +source "boot/gummiboot/Config.in" +source "boot/lpc32xxcdl/Config.in" +source "boot/mxs-bootlets/Config.in" +source "boot/s500-bootloader/Config.in" source "boot/syslinux/Config.in" +source "boot/ts4800-mbrboot/Config.in" source "boot/uboot/Config.in" +source "boot/vexpress-firmware/Config.in" +source "boot/xloader/Config.in" endmenu diff --git a/boot/afboot-stm32/0001-Use-ld-instead-of-gcc-for-linking.patch b/boot/afboot-stm32/0001-Use-ld-instead-of-gcc-for-linking.patch new file mode 100644 index 0000000000..3f359dc316 --- /dev/null +++ b/boot/afboot-stm32/0001-Use-ld-instead-of-gcc-for-linking.patch @@ -0,0 +1,61 @@ +From 0d581abe6620ac69adec321b94390e009802f36a Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 13 Mar 2016 14:32:33 +0100 +Subject: [PATCH] Use ld instead of gcc for linking + +Signed-off-by: Thomas Petazzoni +--- + Makefile | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +diff --git a/Makefile b/Makefile +index ce40314..271bb4f 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,6 +1,7 @@ + CROSS_COMPILE ?= arm-none-eabi- + + CC = $(CROSS_COMPILE)gcc ++LD = $(CROSS_COMPILE)ld + OBJCOPY = $(CROSS_COMPILE)objcopy + OBJDUMP = $(CROSS_COMPILE)objdump + SIZE = $(CROSS_COMPILE)size +@@ -10,7 +11,7 @@ OPENOCD = openocd + CFLAGS := -mthumb -mcpu=cortex-m4 + CFLAGS += -ffunction-sections -fdata-sections + CFLAGS += -Os -std=gnu99 -Wall +-LDFLAGS := -nostartfiles -Wl,--gc-sections ++LINKERFLAGS := -nostartfiles --gc-sections + + obj-y += gpio.o mpu.o + obj-f4 += $(obj-y) usart-f4.o +@@ -22,22 +23,22 @@ all: stm32f429i-disco stm32429i-eval stm32f469i-disco stm32746g-eval + $(CC) -c $(CFLAGS) $< -o $@ + + stm32f429i-disco: stm32f429i-disco.o $(obj-f4) +- $(CC) -T stm32f429.lds $(LDFLAGS) -o stm32f429i-disco.elf stm32f429i-disco.o $(obj-f4) ++ $(LD) -T stm32f429.lds $(LINKERFLAGS) -o stm32f429i-disco.elf stm32f429i-disco.o $(obj-f4) + $(OBJCOPY) -Obinary stm32f429i-disco.elf stm32f429i-disco.bin + $(SIZE) stm32f429i-disco.elf + + stm32429i-eval: stm32429i-eval.o $(obj-f4) +- $(CC) -T stm32f429.lds $(LDFLAGS) -o stm32429i-eval.elf stm32429i-eval.o $(obj-f4) ++ $(LD) -T stm32f429.lds $(LINKERFLAGS) -o stm32429i-eval.elf stm32429i-eval.o $(obj-f4) + $(OBJCOPY) -Obinary stm32429i-eval.elf stm32429i-eval.bin + $(SIZE) stm32429i-eval.elf + + stm32f469i-disco: stm32f469i-disco.o $(obj-f4) +- $(CC) -T stm32f429.lds $(LDFLAGS) -o stm32f469i-disco.elf stm32f469i-disco.o $(obj-f4) ++ $(LD) -T stm32f429.lds $(LINKERFLAGS) -o stm32f469i-disco.elf stm32f469i-disco.o $(obj-f4) + $(OBJCOPY) -Obinary stm32f469i-disco.elf stm32f469i-disco.bin + $(SIZE) stm32f469i-disco.elf + + stm32746g-eval: stm32746g-eval.o $(obj-f7) +- $(CC) -T stm32f429.lds $(LDFLAGS) -o stm32746g-eval.elf stm32746g-eval.o $(obj-f7) ++ $(LD) -T stm32f429.lds $(LINKERFLAGS) -o stm32746g-eval.elf stm32746g-eval.o $(obj-f7) + $(OBJCOPY) -Obinary stm32746g-eval.elf stm32746g-eval.bin + $(SIZE) stm32746g-eval.elf + +-- +2.6.4 + diff --git a/boot/afboot-stm32/Config.in b/boot/afboot-stm32/Config.in new file mode 100644 index 0000000000..309b9e0491 --- /dev/null +++ b/boot/afboot-stm32/Config.in @@ -0,0 +1,7 @@ +config BR2_TARGET_AFBOOT_STM32 + bool "afboot-stm32" + depends on BR2_arm + help + afboot-stm32 is a very small bootloader for STM32 platforms + + https://github.com/mcoquelin-stm32/afboot-stm32 diff --git a/boot/afboot-stm32/afboot-stm32.hash b/boot/afboot-stm32/afboot-stm32.hash new file mode 100644 index 0000000000..d23b74ad21 --- /dev/null +++ b/boot/afboot-stm32/afboot-stm32.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 dbd715c8b99f7d266f74a04707a4dac76b75b31321f24dee5256a6348260530c afboot-stm32-v0.1.tar.gz diff --git a/boot/afboot-stm32/afboot-stm32.mk b/boot/afboot-stm32/afboot-stm32.mk new file mode 100644 index 0000000000..042b21fa55 --- /dev/null +++ b/boot/afboot-stm32/afboot-stm32.mk @@ -0,0 +1,18 @@ +################################################################################ +# +# afboot-stm32 +# +################################################################################ + +AFBOOT_STM32_VERSION = v0.1 +AFBOOT_STM32_SITE = $(call github,mcoquelin-stm32,afboot-stm32,$(AFBOOT_STM32_VERSION)) + +define AFBOOT_STM32_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CROSS_COMPILE=$(TARGET_CROSS) all +endef + +define AFBOOT_STM32_INSTALL_TARGET_CMDS + $(INSTALL) -m 0755 $(@D)/stm32*.bin $(BINARIES_DIR) +endef + +$(eval $(generic-package)) diff --git a/boot/arm-trusted-firmware/Config.in b/boot/arm-trusted-firmware/Config.in new file mode 100644 index 0000000000..799370cd51 --- /dev/null +++ b/boot/arm-trusted-firmware/Config.in @@ -0,0 +1,65 @@ +config BR2_TARGET_ARM_TRUSTED_FIRMWARE + bool "ARM Trusted Firmware (ATF)" + depends on BR2_aarch64 && BR2_TARGET_UBOOT + help + Enable this option if you want to build the ATF for your ARM + based embedded device. + + https://github.com/ARM-software/arm-trusted-firmware + +if BR2_TARGET_ARM_TRUSTED_FIRMWARE +choice + prompt "ATF Version" + help + Select the specific ATF version you want to use + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION + bool "v1.4" + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL + bool "Custom tarball" + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT + bool "Custom Git repository" + +endchoice + +if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION + string "URL of custom ATF tarball" + +endif + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_VERSION + string + default "v1.4" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION + default "custom" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL + default BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION \ + if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT + +if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL + string "URL of custom repository" + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION + string "Custom repository version" + help + Revision to use in the typical format used by Git + E.G. a sha id, a tag, .. + +endif + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM + string "ATF platform" + help + Target plaform to build for. + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES + string "Additional ATF build variables" + help + Additional parameters for the ATF build + E.G. 'DEBUG=1 LOG_LEVEL=20' + +endif diff --git a/boot/arm-trusted-firmware/arm-trusted-firmware.hash b/boot/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 0000000000..394071865e --- /dev/null +++ b/boot/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 6dae02acd85278394bfad6e2683e186e5332a711e4491ac4632ad6480f6e5494 arm-trusted-firmware-v1.4.tar.gz +sha256 487795b8023df866259fa159bab94706b747fb0d623b7913f1c4955c0ab5f164 license.rst diff --git a/boot/arm-trusted-firmware/arm-trusted-firmware.mk b/boot/arm-trusted-firmware/arm-trusted-firmware.mk new file mode 100644 index 0000000000..7b1cc6ebb6 --- /dev/null +++ b/boot/arm-trusted-firmware/arm-trusted-firmware.mk @@ -0,0 +1,69 @@ +################################################################################ +# +# arm-trusted-firmware +# +################################################################################ + +ARM_TRUSTED_FIRMWARE_VERSION = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_VERSION)) +ARM_TRUSTED_FIRMWARE_LICENSE = BSD-3-Clause +ARM_TRUSTED_FIRMWARE_LICENSE_FILES = license.rst + +ARM_TRUSTED_FIRMWARE_DEPENDENCIES += uboot + +ifeq ($(ARM_TRUSTED_FIRMWARE_VERSION),custom) +# Handle custom ATF tarballs as specified by the configuration +ARM_TRUSTED_FIRMWARE_TARBALL = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION)) +ARM_TRUSTED_FIRMWARE_SITE = $(patsubst %/,%,$(dir $(ARM_TRUSTED_FIRMWARE_TARBALL))) +ARM_TRUSTED_FIRMWARE_SOURCE = $(notdir $(ARM_TRUSTED_FIRMWARE_TARBALL)) +BR_NO_CHECK_HASH_FOR += $(ARM_TRUSTED_FIRMWARE_SOURCE) +else ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT),y) +ARM_TRUSTED_FIRMWARE_SITE = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL)) +ARM_TRUSTED_FIRMWARE_SITE_METHOD = git +BR_NO_CHECK_HASH_FOR += $(ARM_TRUSTED_FIRMWARE_SOURCE) +else +ARM_TRUSTED_FIRMWARE_SITE = $(call github,ARM-software,arm-trusted-firmware,$(ARM_TRUSTED_FIRMWARE_VERSION)) +endif + +ARM_TRUSTED_FIRMWARE_INSTALL_IMAGES = YES + +ARM_TRUSTED_FIRMWARE_PLATFORM = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM)) + +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += \ + CROSS_COMPILE="$(TARGET_CROSS)" \ + BL33=$(BINARIES_DIR)/u-boot.bin \ + $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES)) \ + PLAT=$(ARM_TRUSTED_FIRMWARE_PLATFORM) + +ifeq ($(BR2_TARGET_VEXPRESS_FIRMWARE),y) +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += SCP_BL2=$(BINARIES_DIR)/scp-fw.bin +ARM_TRUSTED_FIRMWARE_DEPENDENCIES += vexpress-firmware +endif + +define ARM_TRUSTED_FIRMWARE_BUILD_CMDS + $(TARGET_CONFIGURE_OPTS) \ + $(MAKE) -C $(@D) $(ARM_TRUSTED_FIRMWARE_MAKE_OPTS) \ + all fip +endef + +define ARM_TRUSTED_FIRMWARE_INSTALL_IMAGES_CMDS + cp -dpf $(@D)/build/$(ARM_TRUSTED_FIRMWARE_PLATFORM)/release/*.bin $(BINARIES_DIR)/ +endef + +# Configuration check +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE)$(BR_BUILDING),yy) + +ifeq ($(ARM_TRUSTED_FIRMWARE_VERSION),custom) +ifeq ($(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION))),) +$(error No tarball location specified. Please check BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION)) +endif +endif + +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT),y) +ifeq ($(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL)),) +$(error No repository specified. Please check BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL) +endif +endif + +endif + +$(eval $(generic-package)) diff --git a/boot/at91bootstrap/Config.in b/boot/at91bootstrap/Config.in new file mode 100644 index 0000000000..57fdeda946 --- /dev/null +++ b/boot/at91bootstrap/Config.in @@ -0,0 +1,47 @@ +config BR2_TARGET_AT91BOOTSTRAP + depends on BR2_arm926t + bool "AT91 Bootstrap" + help + AT91Bootstrap is a first level bootloader for the Atmel AT91 + devices. It integrates algorithms for: + - Device initialization such as clock configuration, PIO settings... + - Peripheral drivers such as PIO, PMC or SDRAMC... + - Physical media algorithm such as DataFlash, NandFlash, NOR Flash... + +if BR2_TARGET_AT91BOOTSTRAP + +config BR2_TARGET_AT91BOOTSTRAP_CUSTOM_PATCH_DIR + string "custom patch dir" + help + If your board requires custom patches, add the path to the + directory containing the patches here. The patches must be + named at91bootstrap--.patch. + + Most users may leave this empty + +config BR2_TARGET_AT91BOOTSTRAP_BOARD + string "Bootstrap board" + default "" + help + This is used to do a make _config + +choice + prompt "Boot Memory" + default BR2_TARGET_AT91BOOTSTRAP_DATAFLASH + help + Select Chip for which AT91 bootstrap should be built + +config BR2_TARGET_AT91BOOTSTRAP_DATAFLASH + bool "Data Flash" + +config BR2_TARGET_AT91BOOTSTRAP_NANDFLASH + bool "NAND Flash" + +endchoice + +config BR2_TARGET_AT91BOOTSTRAP_MEMORY + string + default "dataflash" if BR2_TARGET_AT91BOOTSTRAP_DATAFLASH + default "nandflash" if BR2_TARGET_AT91BOOTSTRAP_NANDFLASH + +endif diff --git a/boot/at91bootstrap/at91bootstrap-1.16-eabi-fix.patch b/boot/at91bootstrap/at91bootstrap-1.16-eabi-fix.patch new file mode 100644 index 0000000000..eab3c20928 --- /dev/null +++ b/boot/at91bootstrap/at91bootstrap-1.16-eabi-fix.patch @@ -0,0 +1,334 @@ +When using an EABI toolchain, the default compilation generates +references to __aeabi_unwind_cpp_pr0(). This symbol is defined in +libgcc, but we don't want to use it for a bootloader. + +Therefore, this patch passes some additional CFLAGS to disable the +generation of such references by avoiding unwind tables, exceptions, +etc. + +Signed-off-by: Thomas Petazzoni +--- + board/at91cap9adk/dataflash/Makefile | 2 +- + board/at91cap9adk/norflash/Makefile | 2 +- + board/at91cap9stk/nandflash/Makefile | 2 +- + board/at91sam9260ek/dataflash/Makefile | 2 +- + board/at91sam9260ek/nandflash/Makefile | 2 +- + board/at91sam9261ek/dataflash/Makefile | 2 +- + board/at91sam9261ek/nandflash/Makefile | 2 +- + board/at91sam9263ek/dataflash/Makefile | 2 +- + board/at91sam9263ek/nandflash/Makefile | 2 +- + board/at91sam9g10ek/dataflash/Makefile | 2 +- + board/at91sam9g10ek/nandflash/Makefile | 2 +- + board/at91sam9g20ek/dataflash/Makefile | 2 +- + board/at91sam9g20ek/nandflash/Makefile | 2 +- + board/at91sam9g45ekes/nandflash/Makefile | 2 +- + board/at91sam9m10ekes/dataflash/Makefile | 2 +- + board/at91sam9m10ekes/nandflash/Makefile | 2 +- + board/at91sam9m10g45ek/dataflash/Makefile | 2 +- + board/at91sam9m10g45ek/nandflash/Makefile | 2 +- + board/at91sam9rlek/dataflash/Makefile | 2 +- + board/at91sam9rlek/nandflash/Makefile | 2 +- + board/at91sam9xeek/dataflash/Makefile | 2 +- + board/at91sam9xeek/nandflash/Makefile | 2 +- + lib/Makefile | 2 +- + 23 files changed, 23 insertions(+), 23 deletions(-) + +Index: Bootstrap-v1.16/board/at91cap9adk/dataflash/Makefile +=================================================================== +--- Bootstrap-v1.16.orig/board/at91cap9adk/dataflash/Makefile ++++ Bootstrap-v1.16/board/at91cap9adk/dataflash/Makefile +@@ -34,7 +34,7 @@ + SIZE=$(CROSS_COMPILE)size + OBJCOPY=$(CROSS_COMPILE)objcopy + OBJDUMP=$(CROSS_COMPILE)objdump +-CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) ++CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables + ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) + + # Linker flags. +Index: Bootstrap-v1.16/board/at91cap9adk/norflash/Makefile +=================================================================== +--- Bootstrap-v1.16.orig/board/at91cap9adk/norflash/Makefile ++++ Bootstrap-v1.16/board/at91cap9adk/norflash/Makefile +@@ -34,7 +34,7 @@ + SIZE=$(CROSS_COMPILE)size + OBJCOPY=$(CROSS_COMPILE)objcopy + OBJDUMP=$(CROSS_COMPILE)objdump +-CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) ++CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables + ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) + + # Linker flags. +Index: Bootstrap-v1.16/board/at91cap9stk/nandflash/Makefile +=================================================================== +--- Bootstrap-v1.16.orig/board/at91cap9stk/nandflash/Makefile ++++ Bootstrap-v1.16/board/at91cap9stk/nandflash/Makefile +@@ -37,7 +37,7 @@ + SIZE=$(CROSS_COMPILE)size + OBJCOPY=$(CROSS_COMPILE)objcopy + OBJDUMP=$(CROSS_COMPILE)objdump +-CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) ++CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables + ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) + + +Index: Bootstrap-v1.16/board/at91sam9260ek/dataflash/Makefile +=================================================================== +--- Bootstrap-v1.16.orig/board/at91sam9260ek/dataflash/Makefile ++++ Bootstrap-v1.16/board/at91sam9260ek/dataflash/Makefile +@@ -37,7 +37,7 @@ + SIZE=$(CROSS_COMPILE)size + OBJCOPY=$(CROSS_COMPILE)objcopy + OBJDUMP=$(CROSS_COMPILE)objdump +-CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) ++CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables + ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) + + # Linker flags. +Index: Bootstrap-v1.16/board/at91sam9260ek/nandflash/Makefile +=================================================================== +--- Bootstrap-v1.16.orig/board/at91sam9260ek/nandflash/Makefile ++++ Bootstrap-v1.16/board/at91sam9260ek/nandflash/Makefile +@@ -37,7 +37,7 @@ + SIZE=$(CROSS_COMPILE)size + OBJCOPY=$(CROSS_COMPILE)objcopy + OBJDUMP=$(CROSS_COMPILE)objdump +-CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) ++CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables + ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) + + # Linker flags. +Index: Bootstrap-v1.16/board/at91sam9261ek/dataflash/Makefile +=================================================================== +--- Bootstrap-v1.16.orig/board/at91sam9261ek/dataflash/Makefile ++++ Bootstrap-v1.16/board/at91sam9261ek/dataflash/Makefile +@@ -37,7 +37,7 @@ + SIZE=$(CROSS_COMPILE)size + OBJCOPY=$(CROSS_COMPILE)objcopy + OBJDUMP=$(CROSS_COMPILE)objdump +-CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) ++CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables + ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) + + # Linker flags. +Index: Bootstrap-v1.16/board/at91sam9261ek/nandflash/Makefile +=================================================================== +--- Bootstrap-v1.16.orig/board/at91sam9261ek/nandflash/Makefile ++++ Bootstrap-v1.16/board/at91sam9261ek/nandflash/Makefile +@@ -37,7 +37,7 @@ + SIZE=$(CROSS_COMPILE)size + OBJCOPY=$(CROSS_COMPILE)objcopy + OBJDUMP=$(CROSS_COMPILE)objdump +-CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) ++CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables + ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) + + # Linker flags. +Index: Bootstrap-v1.16/board/at91sam9263ek/dataflash/Makefile +=================================================================== +--- Bootstrap-v1.16.orig/board/at91sam9263ek/dataflash/Makefile ++++ Bootstrap-v1.16/board/at91sam9263ek/dataflash/Makefile +@@ -34,7 +34,7 @@ + SIZE=$(CROSS_COMPILE)size + OBJCOPY=$(CROSS_COMPILE)objcopy + OBJDUMP=$(CROSS_COMPILE)objdump +-CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) ++CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables + ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) + + # Linker flags. +Index: Bootstrap-v1.16/board/at91sam9263ek/nandflash/Makefile +=================================================================== +--- Bootstrap-v1.16.orig/board/at91sam9263ek/nandflash/Makefile ++++ Bootstrap-v1.16/board/at91sam9263ek/nandflash/Makefile +@@ -33,7 +33,7 @@ + SIZE=$(CROSS_COMPILE)size + OBJCOPY=$(CROSS_COMPILE)objcopy + OBJDUMP=$(CROSS_COMPILE)objdump +-CCFLAGS=-g -mcpu=arm9 -O0 -Wall -D$(TARGET) -I$(INCL) ++CCFLAGS=-g -mcpu=arm9 -O0 -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables + ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) + + # Linker flags. +Index: Bootstrap-v1.16/board/at91sam9g10ek/dataflash/Makefile +=================================================================== +--- Bootstrap-v1.16.orig/board/at91sam9g10ek/dataflash/Makefile ++++ Bootstrap-v1.16/board/at91sam9g10ek/dataflash/Makefile +@@ -37,7 +37,7 @@ + SIZE=$(CROSS_COMPILE)size + OBJCOPY=$(CROSS_COMPILE)objcopy + OBJDUMP=$(CROSS_COMPILE)objdump +-CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) ++CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables + ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) + + # Linker flags. +Index: Bootstrap-v1.16/board/at91sam9g10ek/nandflash/Makefile +=================================================================== +--- Bootstrap-v1.16.orig/board/at91sam9g10ek/nandflash/Makefile ++++ Bootstrap-v1.16/board/at91sam9g10ek/nandflash/Makefile +@@ -37,7 +37,7 @@ + SIZE=$(CROSS_COMPILE)size + OBJCOPY=$(CROSS_COMPILE)objcopy + OBJDUMP=$(CROSS_COMPILE)objdump +-CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) ++CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables + ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) + + # Linker flags. +Index: Bootstrap-v1.16/board/at91sam9g20ek/dataflash/Makefile +=================================================================== +--- Bootstrap-v1.16.orig/board/at91sam9g20ek/dataflash/Makefile ++++ Bootstrap-v1.16/board/at91sam9g20ek/dataflash/Makefile +@@ -37,7 +37,7 @@ + SIZE=$(CROSS_COMPILE)size + OBJCOPY=$(CROSS_COMPILE)objcopy + OBJDUMP=$(CROSS_COMPILE)objdump +-CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) ++CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables + ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) + + # Linker flags. +Index: Bootstrap-v1.16/board/at91sam9g20ek/nandflash/Makefile +=================================================================== +--- Bootstrap-v1.16.orig/board/at91sam9g20ek/nandflash/Makefile ++++ Bootstrap-v1.16/board/at91sam9g20ek/nandflash/Makefile +@@ -37,7 +37,7 @@ + SIZE=$(CROSS_COMPILE)size + OBJCOPY=$(CROSS_COMPILE)objcopy + OBJDUMP=$(CROSS_COMPILE)objdump +-CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) ++CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables + ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) + + # Linker flags. +Index: Bootstrap-v1.16/board/at91sam9g45ekes/nandflash/Makefile +=================================================================== +--- Bootstrap-v1.16.orig/board/at91sam9g45ekes/nandflash/Makefile ++++ Bootstrap-v1.16/board/at91sam9g45ekes/nandflash/Makefile +@@ -37,7 +37,7 @@ + SIZE=$(CROSS_COMPILE)size + OBJCOPY=$(CROSS_COMPILE)objcopy + OBJDUMP=$(CROSS_COMPILE)objdump +-CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL) ++CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables + ASFLAGS=-g -mcpu=arm926ej-s -c -O2 -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) + + # Linker flags. +Index: Bootstrap-v1.16/board/at91sam9m10ekes/dataflash/Makefile +=================================================================== +--- Bootstrap-v1.16.orig/board/at91sam9m10ekes/dataflash/Makefile ++++ Bootstrap-v1.16/board/at91sam9m10ekes/dataflash/Makefile +@@ -37,7 +37,7 @@ + SIZE=$(CROSS_COMPILE)size + OBJCOPY=$(CROSS_COMPILE)objcopy + OBJDUMP=$(CROSS_COMPILE)objdump +-CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL) ++CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables + ASFLAGS=-g -mcpu=arm926ej-s -c -O2 -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) + + # Linker flags. +Index: Bootstrap-v1.16/board/at91sam9m10ekes/nandflash/Makefile +=================================================================== +--- Bootstrap-v1.16.orig/board/at91sam9m10ekes/nandflash/Makefile ++++ Bootstrap-v1.16/board/at91sam9m10ekes/nandflash/Makefile +@@ -37,7 +37,7 @@ + SIZE=$(CROSS_COMPILE)size + OBJCOPY=$(CROSS_COMPILE)objcopy + OBJDUMP=$(CROSS_COMPILE)objdump +-CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL) ++CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables + ASFLAGS=-g -mcpu=arm926ej-s -c -O2 -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) + + # Linker flags. +Index: Bootstrap-v1.16/board/at91sam9m10g45ek/dataflash/Makefile +=================================================================== +--- Bootstrap-v1.16.orig/board/at91sam9m10g45ek/dataflash/Makefile ++++ Bootstrap-v1.16/board/at91sam9m10g45ek/dataflash/Makefile +@@ -37,7 +37,7 @@ + SIZE=$(CROSS_COMPILE)size + OBJCOPY=$(CROSS_COMPILE)objcopy + OBJDUMP=$(CROSS_COMPILE)objdump +-CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL) ++CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables + ASFLAGS=-g -mcpu=arm926ej-s -c -O2 -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) + + # Linker flags. +Index: Bootstrap-v1.16/board/at91sam9m10g45ek/nandflash/Makefile +=================================================================== +--- Bootstrap-v1.16.orig/board/at91sam9m10g45ek/nandflash/Makefile ++++ Bootstrap-v1.16/board/at91sam9m10g45ek/nandflash/Makefile +@@ -37,7 +37,7 @@ + SIZE=$(CROSS_COMPILE)size + OBJCOPY=$(CROSS_COMPILE)objcopy + OBJDUMP=$(CROSS_COMPILE)objdump +-CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL) ++CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables + ASFLAGS=-g -mcpu=arm926ej-s -c -O2 -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) + + # Linker flags. +Index: Bootstrap-v1.16/board/at91sam9rlek/dataflash/Makefile +=================================================================== +--- Bootstrap-v1.16.orig/board/at91sam9rlek/dataflash/Makefile ++++ Bootstrap-v1.16/board/at91sam9rlek/dataflash/Makefile +@@ -37,7 +37,7 @@ + SIZE=$(CROSS_COMPILE)size + OBJCOPY=$(CROSS_COMPILE)objcopy + OBJDUMP=$(CROSS_COMPILE)objdump +-CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) ++CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables + ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) + + # Linker flags. +Index: Bootstrap-v1.16/board/at91sam9rlek/nandflash/Makefile +=================================================================== +--- Bootstrap-v1.16.orig/board/at91sam9rlek/nandflash/Makefile ++++ Bootstrap-v1.16/board/at91sam9rlek/nandflash/Makefile +@@ -37,7 +37,7 @@ + SIZE=$(CROSS_COMPILE)size + OBJCOPY=$(CROSS_COMPILE)objcopy + OBJDUMP=$(CROSS_COMPILE)objdump +-CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) ++CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables + ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) + + # Linker flags. +Index: Bootstrap-v1.16/board/at91sam9xeek/dataflash/Makefile +=================================================================== +--- Bootstrap-v1.16.orig/board/at91sam9xeek/dataflash/Makefile ++++ Bootstrap-v1.16/board/at91sam9xeek/dataflash/Makefile +@@ -38,7 +38,7 @@ + SIZE=$(CROSS_COMPILE)size + OBJCOPY=$(CROSS_COMPILE)objcopy + OBJDUMP=$(CROSS_COMPILE)objdump +-CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) ++CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables + ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) + + # Linker flags. +Index: Bootstrap-v1.16/board/at91sam9xeek/nandflash/Makefile +=================================================================== +--- Bootstrap-v1.16.orig/board/at91sam9xeek/nandflash/Makefile ++++ Bootstrap-v1.16/board/at91sam9xeek/nandflash/Makefile +@@ -38,7 +38,7 @@ + SIZE=$(CROSS_COMPILE)size + OBJCOPY=$(CROSS_COMPILE)objcopy + OBJDUMP=$(CROSS_COMPILE)objdump +-CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) ++CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables + ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) + + # Linker flags. +Index: Bootstrap-v1.16/lib/Makefile +=================================================================== +--- Bootstrap-v1.16.orig/lib/Makefile ++++ Bootstrap-v1.16/lib/Makefile +@@ -37,7 +37,7 @@ + SIZE=$(CROSS_COMPILE)size + OBJCOPY=$(CROSS_COMPILE)objcopy + OBJDUMP=$(CROSS_COMPILE)objdump +-CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) ++CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables + ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) + + # Linker flags. diff --git a/boot/at91bootstrap/at91bootstrap-1.16-gcc-4.6.x-ldscript-fix.patch b/boot/at91bootstrap/at91bootstrap-1.16-gcc-4.6.x-ldscript-fix.patch new file mode 100644 index 0000000000..e4ed04e865 --- /dev/null +++ b/boot/at91bootstrap/at91bootstrap-1.16-gcc-4.6.x-ldscript-fix.patch @@ -0,0 +1,29 @@ +From b783d1f9bf985c0981e755bd2c13e091e9d6837f Mon Sep 17 00:00:00 2001 +From: Gregory Hermant +Date: Tue, 6 Nov 2012 09:38:50 +0100 +Subject: [PATCH] at91bootstrap: fix overlap linker issue + +The linker script of the at91bootstrap package has to be modified when +built from gcc-4.6.x version. Indeed a section named text.startup is +created and has to be added into the text section. + +Signed-off-by: Gregory Hermant +--- + elf32-littlearm.lds | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/elf32-littlearm.lds b/elf32-littlearm.lds +index a33952f..4f3ba25 100644 +--- a/elf32-littlearm.lds ++++ b/elf32-littlearm.lds +@@ -7,6 +7,7 @@ SECTIONS + .text : { + _stext = .; + *(.text) ++ *(.text*) + *(.rodata) /* read-only data (constants) */ + *(.rodata*) + . = ALIGN(4); +-- +1.7.9.5 + diff --git a/boot/at91bootstrap/at91bootstrap-1.16-u-boot-relocation-fix.patch b/boot/at91bootstrap/at91bootstrap-1.16-u-boot-relocation-fix.patch new file mode 100644 index 0000000000..0c9b9114cb --- /dev/null +++ b/boot/at91bootstrap/at91bootstrap-1.16-u-boot-relocation-fix.patch @@ -0,0 +1,284 @@ +From d4e4a1aad559e35d84b445d1379be94ad036984e Mon Sep 17 00:00:00 2001 +From: Alexandre Belloni +Date: Thu, 25 Oct 2012 22:57:14 +0200 +Subject: [PATCH] u-boot relocation fix + +Every AT91SAM plaforms were broken between 2010.12 and 2011.03 because +of the relocation changes. + +We have to get JUMP_ADDR consistant with what is used by u-boot +(CONFIG_SYS_TEXT_BASE). + +I didn't know what to do with at91sam9m10g45ek as it doesn't seems to be +converted yet. But anyway, that means that it is either not working or +doesn't care so changing it here shouldn't harm. + +We also have to increase the IMG_SIZE as u-boot as grown larger than the +default value. As requested on the u-boot ML, we assume that it could +be up to 495kB big. + +It means that now, you have to flash your kernel at 0x00084000 instead +of 0x00042000. And so you also have to load it from that adress from +u-boot. + +Then, remember that you could decrease IMG_SIZE to boot faster. + +Signed-off-by: Alexandre Belloni +--- + board/at91sam9260ek/dataflash/at91sam9260ek.h | 4 ++-- + board/at91sam9260ek/nandflash/at91sam9260ek.h | 2 +- + board/at91sam9261ek/dataflash/at91sam9261ek.h | 4 ++-- + board/at91sam9261ek/nandflash/at91sam9261ek.h | 2 +- + board/at91sam9263ek/dataflash/at91sam9263ek.h | 4 ++-- + board/at91sam9263ek/nandflash/at91sam9263ek.h | 2 +- + board/at91sam9g10ek/dataflash/at91sam9g10ek.h | 4 ++-- + board/at91sam9g10ek/nandflash/at91sam9g10ek.h | 2 +- + board/at91sam9g20ek/dataflash/at91sam9g20ek.h | 4 ++-- + board/at91sam9g20ek/nandflash/at91sam9g20ek.h | 2 +- + board/at91sam9m10ekes/dataflash/at91sam9m10ekes.h | 2 +- + .../at91sam9m10g45ek/dataflash/at91sam9m10g45ek.h | 2 +- + board/at91sam9rlek/dataflash/at91sam9rlek.h | 4 ++-- + board/at91sam9rlek/nandflash/at91sam9rlek.h | 2 +- + board/at91sam9xeek/dataflash/at91sam9xeek.h | 4 ++-- + board/at91sam9xeek/nandflash/at91sam9xeek.h | 2 +- + 16 files changed, 23 insertions(+), 23 deletions(-) + +diff --git a/board/at91sam9260ek/dataflash/at91sam9260ek.h b/board/at91sam9260ek/dataflash/at91sam9260ek.h +index 1834246..91081a1 100644 +--- a/board/at91sam9260ek/dataflash/at91sam9260ek.h ++++ b/board/at91sam9260ek/dataflash/at91sam9260ek.h +@@ -74,10 +74,10 @@ + #define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS1_DATAFLASH /* Boot on SPI NCS0 */ + + #define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */ +-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */ ++#define IMG_SIZE 0x7BC00 /* Image Size in DataFlash */ + + #define MACH_TYPE 0x44B /* AT91SAM9260-EK */ +-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ ++#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ + + /* ******************************************************************* */ + /* Application Settings */ +diff --git a/board/at91sam9260ek/nandflash/at91sam9260ek.h b/board/at91sam9260ek/nandflash/at91sam9260ek.h +index 2cac601..f8fdff2 100644 +--- a/board/at91sam9260ek/nandflash/at91sam9260ek.h ++++ b/board/at91sam9260ek/nandflash/at91sam9260ek.h +@@ -92,7 +92,7 @@ + #define IMG_SIZE 0x40000 /* Image Size in NandFlash */ + + #define MACH_TYPE 0x44B /* AT91SAM9260-EK */ +-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ ++#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ + + /* ******************************************************************* */ + /* Application Settings */ +diff --git a/board/at91sam9261ek/dataflash/at91sam9261ek.h b/board/at91sam9261ek/dataflash/at91sam9261ek.h +index 8ce30e9..276ba3d 100644 +--- a/board/at91sam9261ek/dataflash/at91sam9261ek.h ++++ b/board/at91sam9261ek/dataflash/at91sam9261ek.h +@@ -97,10 +97,10 @@ + #define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS0_DATAFLASH /* Boot on SPI NCS0 */ + + #define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */ +-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */ ++#define IMG_SIZE 0x7BC00 /* Image Size in DataFlash */ + + #define MACH_TYPE 0x350 /* AT91SAM9261-EK */ +-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ ++#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ + + /* ******************************************************************* */ + /* Application Settings */ +diff --git a/board/at91sam9261ek/nandflash/at91sam9261ek.h b/board/at91sam9261ek/nandflash/at91sam9261ek.h +index badc3ac..e628c97 100644 +--- a/board/at91sam9261ek/nandflash/at91sam9261ek.h ++++ b/board/at91sam9261ek/nandflash/at91sam9261ek.h +@@ -114,7 +114,7 @@ + #define IMG_SIZE 0x40000 /* Image Size in NandFlash */ + + #define MACH_TYPE 0x350 /* AT91SAM9261-EK */ +-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ ++#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ + + /* ******************************************************************* */ + /* Application Settings */ +diff --git a/board/at91sam9263ek/dataflash/at91sam9263ek.h b/board/at91sam9263ek/dataflash/at91sam9263ek.h +index 5c9da4b..870f9e2 100644 +--- a/board/at91sam9263ek/dataflash/at91sam9263ek.h ++++ b/board/at91sam9263ek/dataflash/at91sam9263ek.h +@@ -96,10 +96,10 @@ + #define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS0_DATAFLASH /* Boot on SPI NCS0 */ + + #define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */ +-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */ ++#define IMG_SIZE 0x7BC00 /* Image Size in DataFlash */ + + #define MACH_TYPE 0x4B2 /* AT91SAM9263-EK */ +-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ ++#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ + + /* ******************************************************************* */ + /* Application Settings */ +diff --git a/board/at91sam9263ek/nandflash/at91sam9263ek.h b/board/at91sam9263ek/nandflash/at91sam9263ek.h +index 505afc7..8ab4f46 100644 +--- a/board/at91sam9263ek/nandflash/at91sam9263ek.h ++++ b/board/at91sam9263ek/nandflash/at91sam9263ek.h +@@ -108,7 +108,7 @@ + #define IMG_SIZE 0x40000 /* Image Size in NandFlash */ + + #define MACH_TYPE 1202 /* AT91SAM9263-EK */ +-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ ++#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ + + /* ******************************************************************* */ + /* Application Settings */ +diff --git a/board/at91sam9g10ek/dataflash/at91sam9g10ek.h b/board/at91sam9g10ek/dataflash/at91sam9g10ek.h +index b2faf44..f4f556b 100644 +--- a/board/at91sam9g10ek/dataflash/at91sam9g10ek.h ++++ b/board/at91sam9g10ek/dataflash/at91sam9g10ek.h +@@ -98,10 +98,10 @@ + #define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS0_DATAFLASH /* Boot on SPI NCS0 */ + + #define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */ +-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */ ++#define IMG_SIZE 0x7BC00 /* Image Size in DataFlash */ + + #define MACH_TYPE 0x350 /* AT91SAM9261-EK */ +-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ ++#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ + + /* ******************************************************************* */ + /* Application Settings */ +diff --git a/board/at91sam9g10ek/nandflash/at91sam9g10ek.h b/board/at91sam9g10ek/nandflash/at91sam9g10ek.h +index 66c40a3..6c3ecda 100644 +--- a/board/at91sam9g10ek/nandflash/at91sam9g10ek.h ++++ b/board/at91sam9g10ek/nandflash/at91sam9g10ek.h +@@ -115,7 +115,7 @@ + #define IMG_SIZE 0x40000 /* Image Size in NandFlash */ + + #define MACH_TYPE 0x350 /* AT91SAM9G10-EK */ +-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ ++#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ + + /* ******************************************************************* */ + /* Application Settings */ +diff --git a/board/at91sam9g20ek/dataflash/at91sam9g20ek.h b/board/at91sam9g20ek/dataflash/at91sam9g20ek.h +index eea0439..7fc70d6 100644 +--- a/board/at91sam9g20ek/dataflash/at91sam9g20ek.h ++++ b/board/at91sam9g20ek/dataflash/at91sam9g20ek.h +@@ -75,10 +75,10 @@ + #define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS1_DATAFLASH /* Boot on SPI NCS1 */ + + #define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */ +-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */ ++#define IMG_SIZE 0x7BC00 /* Image Size in DataFlash */ + + #define MACH_TYPE 0x658 /* AT91SAM9G20-EK */ +-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ ++#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ + + /* ******************************************************************* */ + /* Application Settings */ +diff --git a/board/at91sam9g20ek/nandflash/at91sam9g20ek.h b/board/at91sam9g20ek/nandflash/at91sam9g20ek.h +index 31bd499..e797e4d 100644 +--- a/board/at91sam9g20ek/nandflash/at91sam9g20ek.h ++++ b/board/at91sam9g20ek/nandflash/at91sam9g20ek.h +@@ -93,7 +93,7 @@ + #define IMG_SIZE 0x40000 /* Image Size in NandFlash */ + + #define MACH_TYPE 0x658 /* AT91SAM9G20-EK */ +-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ ++#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ + + /* ******************************************************************* */ + /* Application Settings */ +diff --git a/board/at91sam9m10ekes/dataflash/at91sam9m10ekes.h b/board/at91sam9m10ekes/dataflash/at91sam9m10ekes.h +index a60fd41..5587a00 100644 +--- a/board/at91sam9m10ekes/dataflash/at91sam9m10ekes.h ++++ b/board/at91sam9m10ekes/dataflash/at91sam9m10ekes.h +@@ -89,7 +89,7 @@ + #define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS0_DATAFLASH /* Boot on SPI NCS0 */ + + #define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */ +-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */ ++#define IMG_SIZE 0x7BC00 /* Image Size in DataFlash */ + + #define MACH_TYPE 0x9CD /* AT91SAM9M10-EKES */ + #define JUMP_ADDR 0x73F00000 /* Final Jump Address */ +diff --git a/board/at91sam9m10g45ek/dataflash/at91sam9m10g45ek.h b/board/at91sam9m10g45ek/dataflash/at91sam9m10g45ek.h +index 5c726b5..9090097 100644 +--- a/board/at91sam9m10g45ek/dataflash/at91sam9m10g45ek.h ++++ b/board/at91sam9m10g45ek/dataflash/at91sam9m10g45ek.h +@@ -85,7 +85,7 @@ + #define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS0_DATAFLASH /* Boot on SPI NCS0 */ + + #define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */ +-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */ ++#define IMG_SIZE 0x7BC00 /* Image Size in DataFlash */ + + #define MACH_TYPE 0x726 /* AT91SAM9M10G45-EK */ + #define JUMP_ADDR 0x73F00000 /* Final Jump Address */ +diff --git a/board/at91sam9rlek/dataflash/at91sam9rlek.h b/board/at91sam9rlek/dataflash/at91sam9rlek.h +index 05c42dc..150f17e 100644 +--- a/board/at91sam9rlek/dataflash/at91sam9rlek.h ++++ b/board/at91sam9rlek/dataflash/at91sam9rlek.h +@@ -89,10 +89,10 @@ + #define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS0_DATAFLASH /* Boot on SPI NCS0 */ + + #define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */ +-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */ ++#define IMG_SIZE 0x7BC00 /* Image Size in DataFlash */ + + #define MACH_TYPE 1326 /* AT91SAM9RL-EK */ +-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ ++#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ + + /* ******************************************************************* */ + /* Application Settings */ +diff --git a/board/at91sam9rlek/nandflash/at91sam9rlek.h b/board/at91sam9rlek/nandflash/at91sam9rlek.h +index 656b4ba..594db8f 100644 +--- a/board/at91sam9rlek/nandflash/at91sam9rlek.h ++++ b/board/at91sam9rlek/nandflash/at91sam9rlek.h +@@ -112,7 +112,7 @@ + #define IMG_SIZE 0x40000 /* Image Size in NandFlash */ + + #define MACH_TYPE 1326 /* AT91SAM9RL-EK */ +-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ ++#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ + + /* ******************************************************************* */ + /* Application Settings */ +diff --git a/board/at91sam9xeek/dataflash/at91sam9xeek.h b/board/at91sam9xeek/dataflash/at91sam9xeek.h +index 27d1822..08e515d 100644 +--- a/board/at91sam9xeek/dataflash/at91sam9xeek.h ++++ b/board/at91sam9xeek/dataflash/at91sam9xeek.h +@@ -74,10 +74,10 @@ + #define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS1_DATAFLASH /* Boot on SPI NCS1 */ + + #define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */ +-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */ ++#define IMG_SIZE 0x7BC00 /* Image Size in DataFlash */ + + #define MACH_TYPE 0x44B /* AT91SAM9XE-EK same id as AT91SAM9260-EK*/ +-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ ++#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ + + /* ******************************************************************* */ + /* Application Settings */ +diff --git a/board/at91sam9xeek/nandflash/at91sam9xeek.h b/board/at91sam9xeek/nandflash/at91sam9xeek.h +index 5dbc63e..9fac7cb 100644 +--- a/board/at91sam9xeek/nandflash/at91sam9xeek.h ++++ b/board/at91sam9xeek/nandflash/at91sam9xeek.h +@@ -94,7 +94,7 @@ + #define IMG_SIZE 0x40000 /* Image Size in NandFlash */ + + #define MACH_TYPE 0x44B /* AT91SAM9XE-EK same id as AT91SAM9260-EK*/ +-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ ++#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ + + /* ******************************************************************* */ + /* Application Settings */ +-- +1.7.9.5 + diff --git a/boot/at91bootstrap/at91bootstrap.hash b/boot/at91bootstrap/at91bootstrap.hash new file mode 100644 index 0000000000..b1f963b825 --- /dev/null +++ b/boot/at91bootstrap/at91bootstrap.hash @@ -0,0 +1,2 @@ +# locally computed +sha256 d66192a274247f4baa39fa932eadf903d7add55641d89d30402f967c4f2282a5 AT91Bootstrap1.16.zip diff --git a/boot/at91bootstrap/at91bootstrap.mk b/boot/at91bootstrap/at91bootstrap.mk new file mode 100644 index 0000000000..f6550588d3 --- /dev/null +++ b/boot/at91bootstrap/at91bootstrap.mk @@ -0,0 +1,47 @@ +################################################################################ +# +# at91bootstrap +# +################################################################################ + +AT91BOOTSTRAP_VERSION = 1.16 +AT91BOOTSTRAP_SITE = ftp://www.at91.com/pub/at91bootstrap +AT91BOOTSTRAP_SOURCE = AT91Bootstrap$(AT91BOOTSTRAP_VERSION).zip + +AT91BOOTSTRAP_BOARD = $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP_BOARD)) +AT91BOOTSTRAP_MEMORY = $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP_MEMORY)) +AT91BOOTSTRAP_MAKE_SUBDIR = board/$(AT91BOOTSTRAP_BOARD)/$(AT91BOOTSTRAP_MEMORY) +AT91BOOTSTRAP_BINARY = $(AT91BOOTSTRAP_MAKE_SUBDIR)/$(AT91BOOTSTRAP_MEMORY)_$(AT91BOOTSTRAP_BOARD).bin + +AT91BOOTSTRAP_INSTALL_IMAGES = YES +AT91BOOTSTRAP_INSTALL_TARGET = NO + +define AT91BOOTSTRAP_EXTRACT_CMDS + $(UNZIP) -d $(BUILD_DIR) $(DL_DIR)/$(AT91BOOTSTRAP_SOURCE) + mv $(BUILD_DIR)/Bootstrap-v$(AT91BOOTSTRAP_VERSION)/* $(@D) + rmdir $(BUILD_DIR)/Bootstrap-v$(AT91BOOTSTRAP_VERSION) +endef + +ifneq ($(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP_CUSTOM_PATCH_DIR)),) +define AT91BOOTSTRAP_APPLY_CUSTOM_PATCHES + $(APPLY_PATCHES) $(@D) $(BR2_TARGET_AT91BOOTSTRAP_CUSTOM_PATCH_DIR) \*.patch +endef + +AT91BOOTSTRAP_POST_PATCH_HOOKS += AT91BOOTSTRAP_APPLY_CUSTOM_PATCHES +endif + +define AT91BOOTSTRAP_BUILD_CMDS + $(MAKE1) CROSS_COMPILE=$(TARGET_CROSS) -C $(@D)/$(AT91BOOTSTRAP_MAKE_SUBDIR) +endef + +define AT91BOOTSTRAP_INSTALL_IMAGES_CMDS + cp $(@D)/$(AT91BOOTSTRAP_BINARY) $(BINARIES_DIR) +endef + +$(eval $(generic-package)) + +ifeq ($(BR2_TARGET_AT91BOOTSTRAP)$(BR_BUILDING),yy) +ifeq ($(AT91BOOTSTRAP_BOARD),) +$(error No AT91Bootstrap board name set. Check your BR2_TARGET_AT91BOOTSTRAP_BOARD setting) +endif +endif diff --git a/boot/at91bootstrap3/Config.in b/boot/at91bootstrap3/Config.in new file mode 100644 index 0000000000..237deb929c --- /dev/null +++ b/boot/at91bootstrap3/Config.in @@ -0,0 +1,87 @@ +config BR2_TARGET_AT91BOOTSTRAP3 + depends on BR2_arm926t || BR2_cortex_a5 + bool "AT91 Bootstrap 3" + help + AT91Bootstrap is a first level bootloader for the Atmel AT91 + devices. It integrates algorithms for: + - Device initialization such as clock configuration, PIO settings... + - Peripheral drivers such as PIO, PMC or SDRAMC... + - Physical media algorithm such as DataFlash, NandFlash, NOR Flash... + +if BR2_TARGET_AT91BOOTSTRAP3 + +choice + + prompt "AT91 Bootstrap 3 version" + +config BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION + bool "3.8.6" + +config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT + bool "Custom Git repository" + help + This option allows Buildroot to get the AT91 Bootstrap 3 source + code from a Git repository. + +endchoice + +if BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT + +config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL + string "URL of custom repository" + +config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION + string "Custom repository version" + help + Revision to use in the typical format used by Git + E.G. a sha id, a tag, branch, .. + +endif + +config BR2_TARGET_AT91BOOTSTRAP3_VERSION + string + default "v3.8.6" if BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION + default BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION \ + if BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT + +config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_PATCH_DIR + string "custom patch dir" + help + If your board requires custom patches, add the path to the + directory containing the patches here. The patches must be + named at91bootstrap3-.patch. + + Most users may leave this empty + +# +# Configuration selection +# + +choice + prompt "AT91 Bootstrap 3 configuration" + default BR2_TARGET_AT91BOOTSTRAP3_USE_DEFCONFIG + +config BR2_TARGET_AT91BOOTSTRAP3_USE_DEFCONFIG + bool "Using a defconfig" + +config BR2_TARGET_AT91BOOTSTRAP3_USE_CUSTOM_CONFIG + bool "Using a custom config file" + +endchoice + +config BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG + string "Defconfig name" + depends on BR2_TARGET_AT91BOOTSTRAP3_USE_DEFCONFIG + help + Name of the at91bootstrap3 defconfig file to use, without the + trailing _defconfig. The defconfig is located at + board//_defconfig in the at91bootstrap3 + tree. + +config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE + string "Configuration file path" + depends on BR2_TARGET_AT91BOOTSTRAP3_USE_CUSTOM_CONFIG + help + Path to the at91bootstrap3 configuration file + +endif # BR2_TARGET_AT91BOOTSTRAP3 diff --git a/boot/at91bootstrap3/at91bootstrap3.hash b/boot/at91bootstrap3/at91bootstrap3.hash new file mode 100644 index 0000000000..e904a46e50 --- /dev/null +++ b/boot/at91bootstrap3/at91bootstrap3.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 a2e9ec6f42ee3b5a805fe215257b63070b6c498d57c568c46fcb18fd1b38ea7e at91bootstrap3-v3.8.6.tar.gz diff --git a/boot/at91bootstrap3/at91bootstrap3.mk b/boot/at91bootstrap3/at91bootstrap3.mk new file mode 100644 index 0000000000..685be5bbd7 --- /dev/null +++ b/boot/at91bootstrap3/at91bootstrap3.mk @@ -0,0 +1,83 @@ +################################################################################ +# +# at91bootstrap3 +# +################################################################################ + +AT91BOOTSTRAP3_VERSION = $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_VERSION)) + +ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT),y) +AT91BOOTSTRAP3_SITE = $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL)) +AT91BOOTSTRAP3_SITE_METHOD = git +BR_NO_CHECK_HASH_FOR += $(AT91BOOTSTRAP3_SOURCE) +else +AT91BOOTSTRAP3_SITE = $(call github,linux4sam,at91bootstrap,$(AT91BOOTSTRAP3_VERSION)) +endif + +AT91BOOTSTRAP3_LICENSE = Atmel License +AT91BOOTSTRAP3_LICENSE_FILES = main.c + +AT91BOOTSTRAP3_INSTALL_IMAGES = YES +AT91BOOTSTRAP3_INSTALL_TARGET = NO + +AT91BOOTSTRAP3_CUSTOM_PATCH_DIR = \ + $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_PATCH_DIR)) + +AT91BOOTSTRAP3_MAKE_OPTS = CROSS_COMPILE=$(TARGET_CROSS) DESTDIR=$(BINARIES_DIR) + +ifneq ($(AT91BOOTSTRAP3_CUSTOM_PATCH_DIR),) +define AT91BOOTSTRAP3_APPLY_CUSTOM_PATCHES + $(APPLY_PATCHES) $(@D) $(AT91BOOTSTRAP3_CUSTOM_PATCH_DIR) \*.patch +endef + +AT91BOOTSTRAP3_POST_PATCH_HOOKS += AT91BOOTSTRAP3_APPLY_CUSTOM_PATCHES +endif + +define AT91BOOTSTRAP3_BUILD_CMDS + $(MAKE) $(AT91BOOTSTRAP3_MAKE_OPTS) -C $(@D) +endef + +define AT91BOOTSTRAP3_INSTALL_IMAGES_CMDS + cp $(@D)/binaries/*.bin $(BINARIES_DIR) +endef + +ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_USE_DEFCONFIG),y) +AT91BOOTSTRAP3_KCONFIG_DEFCONFIG = $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG))_defconfig +else ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_USE_CUSTOM_CONFIG),y) +AT91BOOTSTRAP3_KCONFIG_FILE = $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE)) +endif + +AT91BOOTSTRAP3_KCONFIG_EDITORS = menuconfig xconfig gconfig +AT91BOOTSTRAP3_KCONFIG_OPTS = $(AT91BOOTSTRAP3_MAKE_OPTS) + +# Checks to give errors that the user can understand +# Must be before we call to kconfig-package +ifeq ($(BR_BUILDING),y) + +ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_USE_DEFCONFIG),y) +# We must use the user-supplied kconfig value, because +# AT91BOOTSTRAP3_KCONFIG_DEFCONFIG will at least contain +# the trailing _defconfig +ifeq ($(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG)),) +$(error No at91bootstrap3 defconfig name specified, check your BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG setting) +endif +endif + +ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_USE_CUSTOM_CONFIG),y) +ifeq ($(AT91BOOTSTRAP3_KCONFIG_FILE),) +$(error No at91bootstrap3 configuration file specified, check your BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE setting) +endif +endif + +ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT),y) +ifeq ($(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL)),) +$(error No custom at91bootstrap3 repository URL specified. Check your BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL setting) +endif +ifeq ($(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION)),) +$(error No custom at91bootstrap3 repository version specified. Check your BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION setting) +endif +endif + +endif # BR_BUILDING + +$(eval $(kconfig-package)) diff --git a/boot/at91dataflashboot/Config.in b/boot/at91dataflashboot/Config.in new file mode 100644 index 0000000000..80b57a4ad0 --- /dev/null +++ b/boot/at91dataflashboot/Config.in @@ -0,0 +1,3 @@ +config BR2_TARGET_AT91DATAFLASHBOOT + depends on BR2_arm926t + bool "AT91 DataFlashBoot" diff --git a/boot/at91dataflashboot/at91dataflashboot-1.05-do-not-install.patch b/boot/at91dataflashboot/at91dataflashboot-1.05-do-not-install.patch new file mode 100644 index 0000000000..41d97ad20e --- /dev/null +++ b/boot/at91dataflashboot/at91dataflashboot-1.05-do-not-install.patch @@ -0,0 +1,22 @@ +Disable the automatic installation of at91dataflashboot since it tries +to install things to /tftpboot, which is not possible when not +building as root. + +Signed-off-by: Thomas Petazzoni +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: at91dataflashboot-1.05/Makefile +=================================================================== +--- at91dataflashboot-1.05.orig/Makefile ++++ at91dataflashboot-1.05/Makefile +@@ -40,7 +40,7 @@ + + I=config.h com.h dataflash.h embedded_services.h main.h stdio.h include/AT91RM9200.h include/lib_AT91RM9200.h + +-all: clean $(BINNAME) $(LSSNAME) install ++all: clean $(BINNAME) $(LSSNAME) + $(SIZE) $(OUTNAME) + + # C objects here diff --git a/boot/at91dataflashboot/at91dataflashboot-1.05-eabi-fixes.patch b/boot/at91dataflashboot/at91dataflashboot-1.05-eabi-fixes.patch new file mode 100644 index 0000000000..e38905f7cb --- /dev/null +++ b/boot/at91dataflashboot/at91dataflashboot-1.05-eabi-fixes.patch @@ -0,0 +1,43 @@ +Get at91dataflashboot to build with EABI toolchains, by providing the +__aeabi_uidiv and __aeabi_uidivmod symbols. The code is based on +U-Boot's code. + +Signed-off-by: Thomas Petazzoni +--- + _udivsi3.S | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +Index: DataflashBoot-1.05/_udivsi3.S +=================================================================== +--- DataflashBoot-1.05.orig/_udivsi3.S ++++ DataflashBoot-1.05/_udivsi3.S +@@ -12,8 +12,11 @@ + .text + .globl __udivsi3 + .type __udivsi3 ,function ++ .globl __aeabi_uidiv ++ .type __aeabi_uidiv ,function + .align 0 + __udivsi3 : ++ __aeabi_uidiv: + cmp divisor, #0 + beq Ldiv0 + mov curbit, #1 +@@ -68,6 +71,17 @@ + mov r0, #0 @ about as wrong as it could be + ldmia sp!, {pc} + .size __udivsi3 , . - __udivsi3 ++ ++.globl __aeabi_uidivmod ++__aeabi_uidivmod: ++ ++ stmfd sp!, {r0, r1, ip, lr} ++ bl __aeabi_uidiv ++ ldmfd sp!, {r1, r2, ip, lr} ++ mul r3, r0, r2 ++ sub r1, r1, r3 ++ mov pc, lr ++ + /* # 235 "libgcc1.S" */ + /* # 320 "libgcc1.S" */ + /* # 421 "libgcc1.S" */ diff --git a/boot/at91dataflashboot/at91dataflashboot.hash b/boot/at91dataflashboot/at91dataflashboot.hash new file mode 100644 index 0000000000..57df4e5389 --- /dev/null +++ b/boot/at91dataflashboot/at91dataflashboot.hash @@ -0,0 +1,2 @@ +# locally computed +sha256 2cfeb6a9236e1a743c8010f05e504dbc92169ef42d9a6cf7948954a577bfc386 DataflashBoot-1.05.tar.bz2 diff --git a/boot/at91dataflashboot/at91dataflashboot.mk b/boot/at91dataflashboot/at91dataflashboot.mk new file mode 100644 index 0000000000..0ad8b6fc44 --- /dev/null +++ b/boot/at91dataflashboot/at91dataflashboot.mk @@ -0,0 +1,22 @@ +################################################################################ +# +# at91dataflashboot +# +################################################################################ + +AT91DATAFLASHBOOT_VERSION = 1.05 +AT91DATAFLASHBOOT_SOURCE = DataflashBoot-$(AT91DATAFLASHBOOT_VERSION).tar.bz2 +AT91DATAFLASHBOOT_SITE = ftp://www.at91.com/pub/buildroot + +AT91DATAFLASHBOOT_INSTALL_TARGET = NO +AT91DATAFLASHBOOT_INSTALL_IMAGES = YES + +define AT91DATAFLASHBOOT_BUILD_CMDS + make -C $(@D) CROSS_COMPILE=$(TARGET_CROSS) +endef + +define AT91DATAFLASHBOOT_INSTALL_IMAGES_CMDS + cp $(@D)/DataflashBoot-$(AT91DATAFLASHBOOT_VERSION).bin $(BINARIES_DIR) +endef + +$(eval $(generic-package)) diff --git a/boot/barebox/Config.in b/boot/barebox/Config.in new file mode 100644 index 0000000000..fd22d904bc --- /dev/null +++ b/boot/barebox/Config.in @@ -0,0 +1,85 @@ +config BR2_TARGET_BAREBOX + bool "Barebox" + help + The Barebox bootloader, formerly known as U-Boot v2. + + http://www.barebox.org + +if BR2_TARGET_BAREBOX +choice + prompt "version" + help + Select the specific Barebox version you want to use + +config BR2_TARGET_BAREBOX_LATEST_VERSION + bool "2017.09.0" + +config BR2_TARGET_BAREBOX_CUSTOM_VERSION + bool "Custom version" + help + This option allows to use a specific official versions + +config BR2_TARGET_BAREBOX_CUSTOM_TARBALL + bool "Custom tarball" + +config BR2_TARGET_BAREBOX_CUSTOM_GIT + bool "Custom Git repository" + +endchoice + +config BR2_TARGET_BAREBOX_CUSTOM_VERSION_VALUE + string "Barebox version" + depends on BR2_TARGET_BAREBOX_CUSTOM_VERSION + +if BR2_TARGET_BAREBOX_CUSTOM_TARBALL + +config BR2_TARGET_BAREBOX_CUSTOM_TARBALL_LOCATION + string "URL of custom Barebox tarball" + +endif + +config BR2_TARGET_BAREBOX_VERSION + string + default "2017.09.0" if BR2_TARGET_BAREBOX_LATEST_VERSION + default BR2_TARGET_BAREBOX_CUSTOM_VERSION_VALUE if BR2_TARGET_BAREBOX_CUSTOM_VERSION + default "custom" if BR2_TARGET_BAREBOX_CUSTOM_TARBALL + default BR2_TARGET_BAREBOX_CUSTOM_GIT_VERSION if BR2_TARGET_BAREBOX_CUSTOM_GIT + +config BR2_TARGET_BAREBOX_CUSTOM_PATCH_DIR + string "custom patch dir" + help + If your board requires custom patches, add the path to the + directory containing the patches here. The patches must be + named barebox--.patch. + + Most users may leave this empty + +if BR2_TARGET_BAREBOX_CUSTOM_GIT + +config BR2_TARGET_BAREBOX_CUSTOM_GIT_REPO_URL + string "URL of custom Git repository" + +config BR2_TARGET_BAREBOX_CUSTOM_GIT_VERSION + string "Custom Git version" + +endif + +source boot/barebox/barebox/Config.in + +menuconfig BR2_TARGET_BAREBOX_AUX + bool "Build barebox with an auxiliary config" + help + Build barebox with an auxiliary configuration. + + Useful for building an SPL (Secondary Program Loader) in + addition to the traditional TPL (Tertiary Program Loader), + such as the X-Loader or MLO for Texas Instruments + processors. + +if BR2_TARGET_BAREBOX_AUX + +source boot/barebox/barebox-aux/Config.in + +endif + +endif diff --git a/boot/barebox/barebox-aux/Config.in b/boot/barebox/barebox-aux/Config.in new file mode 100644 index 0000000000..d39d24f763 --- /dev/null +++ b/boot/barebox/barebox-aux/Config.in @@ -0,0 +1,75 @@ +choice + prompt "Barebox configuration" + default BR2_TARGET_BAREBOX_AUX_USE_DEFCONFIG + +config BR2_TARGET_BAREBOX_AUX_USE_DEFCONFIG + bool "Using a defconfig" + +config BR2_TARGET_BAREBOX_AUX_USE_CUSTOM_CONFIG + bool "Using a custom config file" + +endchoice + +config BR2_TARGET_BAREBOX_AUX_BOARD_DEFCONFIG + string "board defconfig" + depends on BR2_TARGET_BAREBOX_AUX_USE_DEFCONFIG + help + Name of the board for which Barebox should be built, without + the _defconfig suffix. + +config BR2_TARGET_BAREBOX_AUX_CUSTOM_CONFIG_FILE + string "Configuration file path" + depends on BR2_TARGET_BAREBOX_AUX_USE_CUSTOM_CONFIG + help + Path to the barebox configuration file + +config BR2_TARGET_BAREBOX_AUX_CONFIG_FRAGMENT_FILES + string "Additional configuration fragment files" + help + A space-separated list of configuration fragment files, + that will be merged to the main Barebox configuration file. + +config BR2_TARGET_BAREBOX_AUX_IMAGE_FILE + string "Image file names" + help + Space-separated list of barebox images which will be copied to + the images directory. + + If left empty, defaults to: + - barebox.bin for barebox versions older than 2012.10. + - barebox-flash-image for later versions. + +config BR2_TARGET_BAREBOX_AUX_CUSTOM_ENV + bool "Generate an environment image" + help + Generate a custom environment image. This environment will + contain the variables and scripts to be used at boot by + barebox. + +config BR2_TARGET_BAREBOX_AUX_CUSTOM_ENV_PATH + string "Environment path" + depends on BR2_TARGET_BAREBOX_AUX_CUSTOM_ENV + help + Path to the directory containing the custom barebox + environment. Depending on your setup, it will probably be + based on either the content of the defaultenv or + defaultenv-2 directories in the barebox source code, plus + the additions needed. The output will be an image in the + barebox devfs format, stored in the images directory, with + the same name as the directory name given here. + +config BR2_TARGET_BAREBOX_AUX_CUSTOM_EMBEDDED_ENV_PATH + string "Embedded environment path" + help + If this option is not empty, it is the path to a custom + embedded barebox environment. This image will be used when + the environment found in the environment sector is + invalid. This option sets the barebox Kconfig option + CONFIG_DEFAULT_ENVIRONMENT_PATH to the specified path. This + way it is possible to use Buildroot variables like + TOPDIR etc. to refer to the custom environment. + + Depending on your setup, the custom embedded environment + will probably be based on either the content of the + defaultenv or defaultenv-2 directories in the barebox source + code. diff --git a/boot/barebox/barebox-aux/barebox-aux.hash b/boot/barebox/barebox-aux/barebox-aux.hash new file mode 120000 index 0000000000..b6462b808b --- /dev/null +++ b/boot/barebox/barebox-aux/barebox-aux.hash @@ -0,0 +1 @@ +../barebox.hash \ No newline at end of file diff --git a/boot/barebox/barebox-aux/barebox-aux.mk b/boot/barebox/barebox-aux/barebox-aux.mk new file mode 100644 index 0000000000..fb287d3613 --- /dev/null +++ b/boot/barebox/barebox-aux/barebox-aux.mk @@ -0,0 +1,8 @@ +################################################################################ +# +# barebox-aux +# +################################################################################ + +# Instantiate the auxiliary barebox package +$(eval $(barebox-package)) diff --git a/boot/barebox/barebox.hash b/boot/barebox/barebox.hash new file mode 100644 index 0000000000..b24197024c --- /dev/null +++ b/boot/barebox/barebox.hash @@ -0,0 +1,5 @@ +# http://www.barebox.org/download/barebox-2017.09.0.tar.bz2.md5 +md5 b92e9c99cda7fbb61d01baf5679df261 barebox-2017.09.0.tar.bz2 + +# Locally calculated +sha256 43283edc019f95a53fdb7d1b7c294afc4741bfcace348d6beeded5fe5147a81b barebox-2017.09.0.tar.bz2 diff --git a/boot/barebox/barebox.mk b/boot/barebox/barebox.mk new file mode 100644 index 0000000000..b811e322b5 --- /dev/null +++ b/boot/barebox/barebox.mk @@ -0,0 +1,157 @@ +################################################################################ +# +# barebox +# +################################################################################ + +################################################################################ +# inner-barebox-package -- generates the KConfig logic and make targets needed +# to support a barebox package. All barebox packages are built from the same +# source (origin, version and patches). The remainder of the package +# configuration is unique to each barebox package. +# +# argument 1 is the uppercase package name (used for variable name-space) +################################################################################ + +define inner-barebox-package + +$(1)_VERSION = $$(call qstrip,$$(BR2_TARGET_BAREBOX_VERSION)) + +ifeq ($$($(1)_VERSION),custom) +# Handle custom Barebox tarballs as specified by the configuration +$(1)_TARBALL = $$(call qstrip,$$(BR2_TARGET_BAREBOX_CUSTOM_TARBALL_LOCATION)) +$(1)_SITE = $$(patsubst %/,%,$$(dir $$($(1)_TARBALL))) +$(1)_SOURCE = $$(notdir $$($(1)_TARBALL)) +else ifeq ($$(BR2_TARGET_BAREBOX_CUSTOM_GIT),y) +$(1)_SITE = $$(call qstrip,$$(BR2_TARGET_BAREBOX_CUSTOM_GIT_REPO_URL)) +$(1)_SITE_METHOD = git +else +# Handle stable official Barebox versions +$(1)_SOURCE = barebox-$$($(1)_VERSION).tar.bz2 +$(1)_SITE = http://www.barebox.org/download +endif + +$(1)_DEPENDENCIES = host-lzop +$(1)_LICENSE = GPL-2.0 with exceptions +$(1)_LICENSE_FILES = COPYING + +$(1)_CUSTOM_EMBEDDED_ENV_PATH = $$(call qstrip,$$(BR2_TARGET_$(1)_CUSTOM_EMBEDDED_ENV_PATH)) + +ifneq ($$(call qstrip,$$(BR2_TARGET_BAREBOX_CUSTOM_PATCH_DIR)),) +define $(1)_APPLY_CUSTOM_PATCHES + $$(APPLY_PATCHES) $$(@D) \ + $$(BR2_TARGET_BAREBOX_CUSTOM_PATCH_DIR) \*.patch +endef + +$(1)_POST_PATCH_HOOKS += $(1)_APPLY_CUSTOM_PATCHES +endif + +$(1)_INSTALL_IMAGES = YES +ifneq ($$(BR2_TARGET_$(1)_BAREBOXENV),y) +$(1)_INSTALL_TARGET = NO +endif + +ifeq ($$(KERNEL_ARCH),i386) +$(1)_ARCH = x86 +else ifeq ($$(KERNEL_ARCH),x86_64) +$(1)_ARCH = x86 +else ifeq ($$(KERNEL_ARCH),powerpc) +$(1)_ARCH = ppc +else ifeq ($$(KERNEL_ARCH),arm64) +$(1)_ARCH = arm +else +$(1)_ARCH = $$(KERNEL_ARCH) +endif + +$(1)_MAKE_FLAGS = ARCH=$$($(1)_ARCH) CROSS_COMPILE="$$(TARGET_CROSS)" +$(1)_MAKE_ENV = $$(TARGET_MAKE_ENV) + +ifeq ($$(BR2_TARGET_$(1)_USE_DEFCONFIG),y) +$(1)_KCONFIG_DEFCONFIG = $$(call qstrip,$$(BR2_TARGET_$(1)_BOARD_DEFCONFIG))_defconfig +else ifeq ($$(BR2_TARGET_$(1)_USE_CUSTOM_CONFIG),y) +$(1)_KCONFIG_FILE = $$(call qstrip,$$(BR2_TARGET_$(1)_CUSTOM_CONFIG_FILE)) +endif + +$(1)_KCONFIG_FRAGMENT_FILES = $$(call qstrip,$$(BR2_TARGET_$(1)_CONFIG_FRAGMENT_FILES)) +$(1)_KCONFIG_EDITORS = menuconfig xconfig gconfig nconfig +$(1)_KCONFIG_OPTS = $$($(1)_MAKE_FLAGS) + +ifeq ($$(BR2_TARGET_$(1)_BAREBOXENV),y) +define $(1)_BUILD_BAREBOXENV_CMDS + $$(TARGET_CC) $$(TARGET_CFLAGS) $$(TARGET_LDFLAGS) -o $$(@D)/bareboxenv \ + $$(@D)/scripts/bareboxenv.c +endef +endif + +ifeq ($$(BR2_TARGET_$(1)_CUSTOM_ENV),y) +$(1)_ENV_NAME = $$(notdir $$(call qstrip,\ + $$(BR2_TARGET_$(1)_CUSTOM_ENV_PATH))) +define $(1)_BUILD_CUSTOM_ENV + $$(@D)/scripts/bareboxenv -s \ + $$(call qstrip, $$(BR2_TARGET_$(1)_CUSTOM_ENV_PATH)) \ + $$(@D)/$$($(1)_ENV_NAME) +endef +define $(1)_INSTALL_CUSTOM_ENV + cp $$(@D)/$$($(1)_ENV_NAME) $$(BINARIES_DIR) +endef +endif + +ifneq ($$($(1)_CUSTOM_EMBEDDED_ENV_PATH),) +define $(1)_KCONFIG_FIXUP_CMDS + $$(call KCONFIG_ENABLE_OPT,CONFIG_DEFAULT_ENVIRONMENT,$$(@D)/.config) + $$(call KCONFIG_SET_OPT,CONFIG_DEFAULT_ENVIRONMENT_PATH,"$$($(1)_CUSTOM_EMBEDDED_ENV_PATH)",$$(@D)/.config) +endef +endif + +define $(1)_BUILD_CMDS + $$($(1)_BUILD_BAREBOXENV_CMDS) + $$(TARGET_MAKE_ENV) $$(MAKE) $$($(1)_MAKE_FLAGS) -C $$(@D) + $$($(1)_BUILD_CUSTOM_ENV) +endef + +$(1)_IMAGE_FILES = $$(call qstrip,$$(BR2_TARGET_$(1)_IMAGE_FILE)) + +define $(1)_INSTALL_IMAGES_CMDS + if test -n "$$($(1)_IMAGE_FILES)"; then \ + cp -L $$(foreach image,$$($(1)_IMAGE_FILES),$$(@D)/$$(image)) $$(BINARIES_DIR) ; \ + elif test -h $$(@D)/barebox-flash-image ; then \ + cp -L $$(@D)/barebox-flash-image $$(BINARIES_DIR)/barebox.bin ; \ + else \ + cp $$(@D)/barebox.bin $$(BINARIES_DIR);\ + fi + $$($(1)_INSTALL_CUSTOM_ENV) +endef + +ifeq ($$(BR2_TARGET_$(1)_BAREBOXENV),y) +define $(1)_INSTALL_TARGET_CMDS + cp $$(@D)/bareboxenv $$(TARGET_DIR)/usr/bin +endef +endif + +# Checks to give errors that the user can understand +# Must be before we call to kconfig-package +ifeq ($$(BR2_TARGET_$(1))$$(BR_BUILDING),yy) +# We must use the user-supplied kconfig value, because +# $(1)_KCONFIG_DEFCONFIG will at least contain the +# trailing _defconfig +ifeq ($$(or $$($(1)_KCONFIG_FILE),$$(call qstrip,$$(BR2_TARGET_$(1)_BOARD_DEFCONFIG))),) +$$(error No Barebox config. Check your BR2_TARGET_$(1)_BOARD_DEFCONFIG or BR2_TARGET_$(1)_CUSTOM_CONFIG_FILE settings) +endif +endif + +$$(eval $$(kconfig-package)) + +endef + +################################################################################ +# barebox-package -- the target generator macro for barebox packages +################################################################################ + +barebox-package=$(call inner-barebox-package,$(call UPPERCASE,$(pkgname))) + +include boot/barebox/barebox/barebox.mk +include boot/barebox/barebox-aux/barebox-aux.mk + +ifeq ($(BR2_TARGET_BAREBOX)$(BR2_TARGET_BAREBOX_LATEST_VERSION),y) +BR_NO_CHECK_HASH_FOR += $(BAREBOX_SOURCE) +endif diff --git a/boot/barebox/barebox/Config.in b/boot/barebox/barebox/Config.in new file mode 100644 index 0000000000..0be26adf93 --- /dev/null +++ b/boot/barebox/barebox/Config.in @@ -0,0 +1,81 @@ +choice + prompt "Barebox configuration" + default BR2_TARGET_BAREBOX_USE_DEFCONFIG + +config BR2_TARGET_BAREBOX_USE_DEFCONFIG + bool "Using a defconfig" + +config BR2_TARGET_BAREBOX_USE_CUSTOM_CONFIG + bool "Using a custom config file" + +endchoice + +config BR2_TARGET_BAREBOX_BOARD_DEFCONFIG + string "board defconfig" + depends on BR2_TARGET_BAREBOX_USE_DEFCONFIG + help + Name of the board for which Barebox should be built, without + the _defconfig suffix. + + +config BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE + string "Configuration file path" + depends on BR2_TARGET_BAREBOX_USE_CUSTOM_CONFIG + help + Path to the barebox configuration file + +config BR2_TARGET_BAREBOX_CONFIG_FRAGMENT_FILES + string "Additional configuration fragment files" + help + A space-separated list of configuration fragment files, + that will be merged to the main Barebox configuration file. + +config BR2_TARGET_BAREBOX_IMAGE_FILE + string "Image file names" + help + Space-separated list of barebox images which will be copied to + the images directory. + + If left empty, defaults to: + - barebox.bin for barebox versions older than 2012.10. + - barebox-flash-image for later versions. + +config BR2_TARGET_BAREBOX_BAREBOXENV + bool "bareboxenv tool in target" + help + Install bareboxenv tool in target. + +config BR2_TARGET_BAREBOX_CUSTOM_ENV + bool "Generate an environment image" + help + Generate a custom environment image. This environment will + contain the variables and scripts to be used at boot by + barebox. + +config BR2_TARGET_BAREBOX_CUSTOM_ENV_PATH + string "Environment path" + depends on BR2_TARGET_BAREBOX_CUSTOM_ENV + help + Path to the directory containing the custom barebox + environment. Depending on your setup, it will probably be + based on either the content of the defaultenv or + defaultenv-2 directories in the barebox source code, plus + the additions needed. The output will be an image in the + barebox devfs format, stored in the images directory, with + the same name as the directory name given here. + +config BR2_TARGET_BAREBOX_CUSTOM_EMBEDDED_ENV_PATH + string "Embedded environment path" + help + If this option is not empty, it is the path to a custom + embedded barebox environment. This image will be used when + the environment found in the environment sector is + invalid. This option sets the barebox Kconfig option + CONFIG_DEFAULT_ENVIRONMENT_PATH to the specified path. This + way it is possible to use Buildroot variables like + TOPDIR etc. to refer to the custom environment. + + Depending on your setup, the custom embedded environment + will probably be based on either the content of the + defaultenv or defaultenv-2 directories in the barebox source + code. diff --git a/boot/barebox/barebox/barebox.hash b/boot/barebox/barebox/barebox.hash new file mode 120000 index 0000000000..b6462b808b --- /dev/null +++ b/boot/barebox/barebox/barebox.hash @@ -0,0 +1 @@ +../barebox.hash \ No newline at end of file diff --git a/boot/barebox/barebox/barebox.mk b/boot/barebox/barebox/barebox.mk new file mode 100644 index 0000000000..39afb0fccb --- /dev/null +++ b/boot/barebox/barebox/barebox.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# barebox +# +################################################################################ + +define BAREBOX_HELP_CMDS + @echo ' barebox-menuconfig - Run barebox menuconfig' + @echo ' barebox-savedefconfig - Run barebox savedefconfig' +endef + +# Instantiate the barebox package +$(eval $(barebox-package)) diff --git a/boot/boot-wrapper-aarch64/Config.in b/boot/boot-wrapper-aarch64/Config.in new file mode 100644 index 0000000000..efb70dcdf5 --- /dev/null +++ b/boot/boot-wrapper-aarch64/Config.in @@ -0,0 +1,41 @@ +comment "boot-wrapper-aarch64 needs a Linux kernel to be built" + depends on BR2_aarch64 + depends on !BR2_LINUX_KERNEL + +config BR2_TARGET_BOOT_WRAPPER_AARCH64 + bool "boot-wrapper-aarch64" + depends on BR2_aarch64 + depends on BR2_LINUX_KERNEL + help + The boot-wrapper-aarch64 is a small bootloader that makes it + possible to start an Aarch64 kernel inside the available + software simulators for the Aarch64 architecture. + + git://git.kernel.org/pub/scm/linux/kernel/git/mark/boot-wrapper-aarch64.git + +if BR2_TARGET_BOOT_WRAPPER_AARCH64 + +config BR2_TARGET_BOOT_WRAPPER_AARCH64_DTS + string "Device Tree Source name" + default "" + help + Name of the Device Tree Source file to use to generate the + Device Tree Blob that will be embedded in the image + generated by the boot wrapper. Valid names are the .dts + files from arch/arm64/boot/dts/ in the kernel source + tree. The name must be specified without the .dts suffix. + +config BR2_TARGET_BOOT_WRAPPER_AARCH64_BOOTARGS + string "Kernel bootargs" + default "" + help + Kernel bootargs to embed inside the image generated by the + boot wrapper. + +config BR2_TARGET_BOOT_WRAPPER_AARCH64_PSCI + bool "Boot secondary SMP cores using PSCI" + help + Boot secondary SMP cores using PSCI firmware calls. If + disabled, the spin-table method is used instead. + +endif diff --git a/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk b/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk new file mode 100644 index 0000000000..601cfab314 --- /dev/null +++ b/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk @@ -0,0 +1,53 @@ +################################################################################ +# +# boot-wrapper-aarch64 +# +################################################################################ + +BOOT_WRAPPER_AARCH64_VERSION = 4266507a84f8c06452109d38e0350d4759740694 +BOOT_WRAPPER_AARCH64_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/mark/boot-wrapper-aarch64.git +BOOT_WRAPPER_AARCH64_LICENSE = BSD3c +BOOT_WRAPPER_AARCH64_LICENSE_FILES = LICENSE.txt +BOOT_WRAPPER_AARCH64_DEPENDENCIES = linux +BOOT_WRAPPER_AARCH64_INSTALL_IMAGES = YES + +# The Git repository does not have the generated configure script and +# Makefile. +BOOT_WRAPPER_AARCH64_AUTORECONF = YES + +BOOT_WRAPPER_AARCH64_DTB = /arch/arm64/boot/dts/$(basename $(call qstrip,$(BR2_TARGET_BOOT_WRAPPER_AARCH64_DTS))).dtb + +# Fixup the path to the DTB in configure.ac. In the future, this +# should hopefully be made more configurable by the +# boot-wrapper-aarch64 developers. +define BOOT_WRAPPER_AARCH64_FIX_DTB_NAME + $(SED) 's%^KERN_DTB=.*%KERN_DTB=$(BOOT_WRAPPER_AARCH64_DTB)%' $(@D)/configure.ac +endef + +BOOT_WRAPPER_AARCH64_PRE_PATCH_HOOKS += BOOT_WRAPPER_AARCH64_FIX_DTB_NAME + +BOOT_WRAPPER_AARCH64_CONF_OPTS = \ + --with-kernel-dir=$(LINUX_DIR) \ + --with-cmdline=$(BR2_TARGET_BOOT_WRAPPER_AARCH64_BOOTARGS) + +ifeq ($(BR2_TARGET_BOOT_WRAPPER_AARCH64_PSCI),y) +BOOT_WRAPPER_AARCH64_CONF_OPTS += --enable-psci +else +BOOT_WRAPPER_AARCH64_CONF_OPTS += --disable-psci +endif + +# We need to convince the configure script that the Linux kernel tree +# exists, as well as the DTB and the kernel Image. Even though those +# are available on the build machine, the configure script uses +# AC_CHECK_FILE tests, which are always disabled in cross-compilation +# situations. +BOOT_WRAPPER_AARCH64_CONF_ENV = \ + $(call AUTOCONF_AC_CHECK_FILE_VAL,$(LINUX_DIR))=yes \ + $(call AUTOCONF_AC_CHECK_FILE_VAL,$(LINUX_DIR)$(BOOT_WRAPPER_AARCH64_DTB))=yes \ + $(call AUTOCONF_AC_CHECK_FILE_VAL,$(LINUX_DIR)/arch/arm64/boot/Image)=yes + +define BOOT_WRAPPER_AARCH64_INSTALL_IMAGES_CMDS + cp $(@D)/linux-system.axf $(BINARIES_DIR) +endef + +$(eval $(autotools-package)) diff --git a/boot/grub/Config.in b/boot/grub/Config.in deleted file mode 100644 index 4db8642acf..0000000000 --- a/boot/grub/Config.in +++ /dev/null @@ -1,200 +0,0 @@ -config BR2_TARGET_GRUB - bool "grub" - depends on BR2_i386 || BR2_x86_64 - select BR2_HOSTARCH_NEEDS_IA32_COMPILER - help - The GRand Unified Bootloader for x86 systems. - - Some notes on creating a disk image with Grub installed: - 1. Create an empty disk image - dd if=/dev/zero of=disk.img bs=1M count=32 - 2. Create one primary partition - cfdisk -h 16 -s 63 disk.img - 3. Set up a loop device - sudo losetup -f disk.img - 4. Set up loop devices per partitions - sudo partx -a /dev/loop0 - 5. Create the ext2 filesystem - sudo mkfs.ext2 -L root /dev/loop0p1 - 6. Mount the filesystem - mount /dev/loop0p1 /mnt - 7. Extract the root filesystem - sudo tar -C /mnt -xf output/images/rootfs.tar - 8. Unmount the filesystem, clean up loop device - sudo umount /mnt - sudo partx -d /dev/loop0 - sudo losetup -d /dev/loop0 - 9. Install grub - output/host/sbin/grub --device-map=/dev/null - and in the grub shell, enter: - device (hd0) disk.img - geometry (hd0) 16 63 - root (hd0,0) - setup (hd0) - 10. Image is ready - Can be tested in Qemu, with: - qemu-system-{i386,x86-64} -hda disk.img - -if BR2_TARGET_GRUB - -config BR2_TARGET_GRUB_SPLASH - bool "Splashimage support" - help - Add support for splashimage. - - A splashimage is a 14-color indexed .xpm picture which is - displayed as background for the grub menu. See - http://www.katspace.org/computers/Grub_Splash/ for details - on how to generate a splashimage. - -config BR2_TARGET_GRUB_DISKLESS - bool "diskless support" - help - enable diskless support - -menu "filesystem drivers" - -config BR2_TARGET_GRUB_FS_EXT2 - bool "ext2" - default y - help - Enable support for the ext2 filesystem in Grub - -config BR2_TARGET_GRUB_FS_FAT - bool "FAT" - default y - help - Enable support for the FAT filesystem in Grub. - -config BR2_TARGET_GRUB_FS_ISO9660 - bool "ISO9660" - help - Enable support for the ISO9660 filesystem in Grub. - -config BR2_TARGET_GRUB_FS_JFS - bool "IBM JFS" - help - Enable support for the JFS filesystem in Grub. - -config BR2_TARGET_GRUB_FS_REISERFS - bool "ReiserFS" - help - Enable support for the ReiserFS filesystem in Grub. - -config BR2_TARGET_GRUB_FS_XFS - bool "SGI XFS" - help - Enable support for the XFS filesystem in Grub. - -endmenu - -menu "network drivers" - -config BR2_TARGET_GRUB_3c595 - bool "3Com595 driver" - help - enable 3Com595 driver - -config BR2_TARGET_GRUB_3c90x - bool "3Com90x driver" - help - enable 3Com90x driver - -config BR2_TARGET_GRUB_davicom - bool "Davicom driver" - help - enable Davicom driver - -config BR2_TARGET_GRUB_e1000 - bool "Etherexpress Pro/1000 driver" - help - enable Etherexpress Pro/1000 driver - -config BR2_TARGET_GRUB_eepro100 - bool "Etherexpress Pro/100 driver" - help - enable Etherexpress Pro/100 driver - -config BR2_TARGET_GRUB_epic100 - bool "SMC 83c170 EPIC/100 driver" - help - enable SMC 83c170 EPIC/100 driver - -config BR2_TARGET_GRUB_forcedeth - bool "Nvidia Geforce driver" - help - enable Nvidia Geforce driver - -config BR2_TARGET_GRUB_natsemi - bool "NatSemi DP8381x driver" - help - enable NatSemi DP8381x driver - -config BR2_TARGET_GRUB_ns83820 - bool "NS83820 driver" - help - enable NS83820 driver - -config BR2_TARGET_GRUB_ns8390 - bool "NE2000 PCI driver" - help - enable NE2000 PCI driver - -config BR2_TARGET_GRUB_pcnet32 - bool "AMD Lance/PCI PCNet/32 driver" - help - enable AMD Lance/PCI PCNet/32 driver - -config BR2_TARGET_GRUB_pnic - bool "Bochs Pseudo Nic driver" - help - enable Bochs Pseudo Nic driver - -config BR2_TARGET_GRUB_rtl8139 - bool "Realtek 8139 driver" - help - enable Realtek 8139 driver - -config BR2_TARGET_GRUB_r8169 - bool "Realtek 8169 driver" - help - enable Realtek 8169 driver - -config BR2_TARGET_GRUB_sis900 - bool "SIS 900 and SIS 7016 driver" - help - enable SIS 900 and SIS 7016 driver - -config BR2_TARGET_GRUB_tg3 - bool "Broadcom Tigon3 driver" - help - enable Broadcom Tigon3 driver - -config BR2_TARGET_GRUB_tulip - bool "Tulip driver" - help - enable Tulip driver - -config BR2_TARGET_GRUB_tlan - bool "TI ThunderLAN driver" - help - enable TI ThunderLAN driver - -config BR2_TARGET_GRUB_undi - bool "PXE UNDI driver" - help - enable PXE UNDI driver - -config BR2_TARGET_GRUB_via_rhine - bool "Rhine-I/II driver" - help - enable Rhine-I/II driver - -config BR2_TARGET_GRUB_w89c840 - bool "Winbond W89c840 driver" - help - enable Winbond W89c840 driver - -endmenu - -endif # BR2_TARGET_GRUB diff --git a/boot/grub/grub.100-autoreconf.patch b/boot/grub/grub.100-autoreconf.patch deleted file mode 100644 index e5dd8343af..0000000000 --- a/boot/grub/grub.100-autoreconf.patch +++ /dev/null @@ -1,1407 +0,0 @@ -diff -rup grub-0.97.oorig/aclocal.m4 grub-0.97/aclocal.m4 ---- grub-0.97.oorig/aclocal.m4 2005-05-08 04:41:18.000000000 +0200 -+++ grub-0.97/aclocal.m4 2006-03-12 14:00:35.000000000 +0100 -@@ -1,7 +1,7 @@ --# generated automatically by aclocal 1.9.4 -*- Autoconf -*- -+# generated automatically by aclocal 1.9.6 -*- Autoconf -*- - --# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 --# Free Software Foundation, Inc. -+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -+# 2005 Free Software Foundation, Inc. - # This file is free software; the Free Software Foundation - # gives unlimited permission to copy and/or distribute it, - # with or without modifications, as long as this notice is preserved. -@@ -11,23 +11,11 @@ - # even the implied warranty of MERCHANTABILITY or FITNESS FOR A - # PARTICULAR PURPOSE. - --# -*- Autoconf -*- --# Copyright (C) 2002, 2003 Free Software Foundation, Inc. --# Generated from amversion.in; do not edit by hand. -- --# 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, 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 -+# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. - - # AM_AUTOMAKE_VERSION(VERSION) - # ---------------------------- -@@ -40,26 +28,15 @@ AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api - # Call AM_AUTOMAKE_VERSION so it can be traced. - # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. - AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -- [AM_AUTOMAKE_VERSION([1.9.4])]) -- --# AM_AUX_DIR_EXPAND -- --# Copyright (C) 2001, 2003 Free Software Foundation, Inc. -+ [AM_AUTOMAKE_VERSION([1.9.6])]) - --# 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, or (at your option) --# any later version. -+# AM_AUX_DIR_EXPAND -*- Autoconf -*- - --# 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. -+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. - - # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets - # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to -@@ -106,26 +83,16 @@ AC_PREREQ([2.50])dnl - am_aux_dir=`cd $ac_aux_dir && pwd` - ]) - --# AM_CONDITIONAL -*- Autoconf -*- -+# AM_CONDITIONAL -*- Autoconf -*- - --# Copyright (C) 1997, 2000, 2001, 2003, 2004 Free Software Foundation, Inc. -- --# 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, 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. -+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005 -+# Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. - --# serial 6 -+# serial 7 - - # AM_CONDITIONAL(NAME, SHELL-CONDITION) - # ------------------------------------- -@@ -149,26 +116,15 @@ AC_CONFIG_COMMANDS_PRE( - Usually this means the macro was only invoked conditionally.]]) - fi])]) - --# serial 7 -*- Autoconf -*- - --# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 -+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 - # Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. - --# 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, 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. -- -+# serial 8 - - # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be - # written in clear, in which case automake, when reading aclocal.m4, -@@ -177,7 +133,6 @@ fi])]) - # CC etc. in the Makefile, will ask for an AC_PROG_CC use... - - -- - # _AM_DEPENDENCIES(NAME) - # ---------------------- - # See how the compiler implements dependency checking. -@@ -317,27 +272,16 @@ AM_CONDITIONAL([AMDEP], [test "x$enable_ - AC_SUBST([AMDEPBACKSLASH]) - ]) - --# Generate code to set up dependency tracking. -*- Autoconf -*- -- --# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 --# Free Software Foundation, Inc. -- --# 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, or (at your option) --# any later version. -+# Generate code to set up dependency tracking. -*- Autoconf -*- - --# 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. -+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 -+# Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. - --#serial 2 -+#serial 3 - - # _AM_OUTPUT_DEPENDENCY_COMMANDS - # ------------------------------ -@@ -396,30 +340,19 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS] - [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) - ]) - --# Do all the work for Automake. -*- Autoconf -*- -+# Do all the work for Automake. -*- Autoconf -*- - --# This macro actually does too much some checks are only needed if --# your package does certain things. But this isn't really a big deal. -- --# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 -+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 - # Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. - --# 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, 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. -+# serial 12 - --# serial 11 -+# This macro actually does too much. Some checks are only needed if -+# your package does certain things. But this isn't really a big deal. - - # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) - # AM_INIT_AUTOMAKE([OPTIONS]) -@@ -521,51 +454,27 @@ for _am_header in $config_headers :; do - done - echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) - -+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ - # AM_PROG_INSTALL_SH - # ------------------ - # Define $install_sh. -- --# Copyright (C) 2001, 2003 Free Software Foundation, Inc. -- --# 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, 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. -- - AC_DEFUN([AM_PROG_INSTALL_SH], - [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl - install_sh=${install_sh-"$am_aux_dir/install-sh"} - AC_SUBST(install_sh)]) - --# -*- Autoconf -*- --# Copyright (C) 2003 Free Software Foundation, Inc. -- --# 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, 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. -+# Copyright (C) 2003, 2005 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. - --# serial 1 -+# serial 2 - - # Check whether the underlying file-system supports filenames - # with a leading dot. For instance MS-DOS doesn't. -@@ -580,28 +489,17 @@ fi - rmdir .tst 2>/dev/null - AC_SUBST([am__leading_dot])]) - --# Add --enable-maintainer-mode option to configure. -+# Add --enable-maintainer-mode option to configure. -*- Autoconf -*- - # From Jim Meyering - --# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004 -+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005 - # Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. - --# 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, 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. -- --# serial 3 -+# serial 4 - - AC_DEFUN([AM_MAINTAINER_MODE], - [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) -@@ -620,26 +518,15 @@ AC_DEFUN([AM_MAINTAINER_MODE], - - AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) - --# Check to see how 'make' treats includes. -*- Autoconf -*- -- --# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. -+# Check to see how 'make' treats includes. -*- Autoconf -*- - --# 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, 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. -+# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. - --# serial 2 -+# serial 3 - - # AM_MAKE_INCLUDE() - # ----------------- -@@ -683,27 +570,16 @@ AC_MSG_RESULT([$_am_result]) - rm -f confinc confmf - ]) - --# -*- Autoconf -*- -- -- --# Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. -- --# 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, or (at your option) --# any later version. -+# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- - --# 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. -+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005 -+# Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. - --# serial 3 -+# serial 4 - - # AM_MISSING_PROG(NAME, PROGRAM) - # ------------------------------ -@@ -729,27 +605,16 @@ else - fi - ]) - -+# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ - # AM_PROG_MKDIR_P - # --------------- - # Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. -- --# Copyright (C) 2003, 2004 Free Software Foundation, Inc. -- --# 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, 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. -- -+# - # Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories - # created by `make install' are always world readable, even if the - # installer happens to have an overly restrictive umask (e.g. 077). -@@ -803,26 +668,15 @@ else - fi - AC_SUBST([mkdir_p])]) - --# Helper functions for option handling. -*- Autoconf -*- -+# Helper functions for option handling. -*- Autoconf -*- - --# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. -- --# 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, 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. -+# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. - --# serial 2 -+# serial 3 - - # _AM_MANGLE_OPTION(NAME) - # ----------------------- -@@ -847,28 +701,16 @@ AC_DEFUN([_AM_SET_OPTIONS], - AC_DEFUN([_AM_IF_OPTION], - [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) - --# --# Check to make sure that the build environment is sane. --# -- --# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. -- --# 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, or (at your option) --# any later version. -+# Check to make sure that the build environment is sane. -*- Autoconf -*- - --# 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. -+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 -+# Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. - --# serial 3 -+# serial 4 - - # AM_SANITY_CHECK - # --------------- -@@ -911,25 +753,14 @@ Check your system clock]) - fi - AC_MSG_RESULT(yes)]) - --# AM_PROG_INSTALL_STRIP -- --# Copyright (C) 2001, 2003 Free Software Foundation, Inc. -- --# 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, 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. -+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. - -+# AM_PROG_INSTALL_STRIP -+# --------------------- - # One issue with vendor `install' (even GNU) is that you can't - # specify the program used to strip binaries. This is especially - # annoying in cross-compiling environments, where the build's strip -@@ -952,25 +783,13 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])]) - - # Check how to create a tarball. -*- Autoconf -*- - --# Copyright (C) 2004 Free Software Foundation, Inc. -- --# 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, 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. -- --# serial 1 -+# Copyright (C) 2004, 2005 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. - -+# serial 2 - - # _AM_PROG_TAR(FORMAT) - # -------------------- -Only in grub-0.97/: autom4te.cache -diff -rup grub-0.97.oorig/configure grub-0.97/configure ---- grub-0.97.oorig/configure 2005-05-08 04:48:12.000000000 +0200 -+++ grub-0.97/configure 2006-03-12 14:00:38.000000000 +0100 -@@ -311,7 +311,7 @@ ac_includes_default="\ - # include - #endif" - --ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar build build_cpu build_vendor build_os host host_cpu host_vendor host_os MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT PERL CC ac_ct_CC CFLAGS LDFLAGS CPPFLAGS EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CCAS RANLIB ac_ct_RANLIB STAGE1_CFLAGS STAGE2_CFLAGS GRUB_CFLAGS OBJCOPY ac_ct_OBJCOPY GRUB_LIBS CPP EGREP NETBOOT_SUPPORT_TRUE NETBOOT_SUPPORT_FALSE DISKLESS_SUPPORT_TRUE DISKLESS_SUPPORT_FALSE HERCULES_SUPPORT_TRUE HERCULES_SUPPORT_FALSE SERIAL_SUPPORT_TRUE SERIAL_SUPPORT_FALSE SERIAL_SPEED_SIMULATION_TRUE SERIAL_SPEED_SIMULATION_FALSE BUILD_EXAMPLE_KERNEL_TRUE BUILD_EXAMPLE_KERNEL_FALSE FSYS_CFLAGS NET_CFLAGS NET_EXTRAFLAGS NETBOOT_DRIVERS CCASFLAGS LIBOBJS LTLIBOBJS' -+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar build build_cpu build_vendor build_os host host_cpu host_vendor host_os MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT PERL CC ac_ct_CC CFLAGS LDFLAGS CPPFLAGS EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CCAS RANLIB ac_ct_RANLIB STAGE1_CFLAGS STAGE2_CFLAGS GRUB_CFLAGS OBJCOPY ac_ct_OBJCOPY GRUB_LIBS CPP EGREP NETBOOT_SUPPORT_TRUE NETBOOT_SUPPORT_FALSE DISKLESS_SUPPORT_TRUE DISKLESS_SUPPORT_FALSE GRAPHICS_SUPPORT_TRUE GRAPHICS_SUPPORT_FALSE HERCULES_SUPPORT_TRUE HERCULES_SUPPORT_FALSE SERIAL_SUPPORT_TRUE SERIAL_SUPPORT_FALSE SERIAL_SPEED_SIMULATION_TRUE SERIAL_SPEED_SIMULATION_FALSE BUILD_EXAMPLE_KERNEL_TRUE BUILD_EXAMPLE_KERNEL_FALSE FSYS_CFLAGS NET_CFLAGS NET_EXTRAFLAGS NETBOOT_DRIVERS CCASFLAGS LIBOBJS LTLIBOBJS' - ac_subst_files='' - - # Initialize some variables set by options. -@@ -914,6 +914,7 @@ Optional Features: - set the default memory location for WD/SMC - --enable-cs-scan=LIST probe for CS89x0 base address using LIST - --enable-diskless enable diskless support -+ --disable-graphics disable graphics terminal support - --disable-hercules disable hercules terminal support - --disable-serial disable serial terminal support - --enable-serial-speed-simulation -@@ -1032,7 +1033,7 @@ esac - else - echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi -- cd $ac_popdir -+ cd "$ac_popdir" - done - fi - -@@ -2631,8 +2632,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -2690,8 +2690,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -2807,8 +2806,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -2862,8 +2860,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -2908,8 +2905,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -2953,8 +2949,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -3458,8 +3453,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -3523,8 +3517,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -3595,8 +3588,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -3656,8 +3648,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -4095,8 +4086,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -4161,8 +4151,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -4234,8 +4223,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -4300,8 +4288,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -4366,8 +4353,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -4440,8 +4426,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -4506,8 +4491,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -4597,8 +4581,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -4673,8 +4656,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -4745,8 +4727,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -5070,8 +5051,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -5241,8 +5221,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -5313,8 +5292,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -5966,6 +5944,22 @@ else - fi - - -+# Check whether --enable-graphics or --disable-graphics was given. -+if test "${enable_graphics+set}" = set; then -+ enableval="$enable_graphics" -+ -+fi; -+ -+ -+if test "x$enable_graphics" != xno; then -+ GRAPHICS_SUPPORT_TRUE= -+ GRAPHICS_SUPPORT_FALSE='#' -+else -+ GRAPHICS_SUPPORT_TRUE='#' -+ GRAPHICS_SUPPORT_FALSE= -+fi -+ -+ - # Check whether --enable-hercules or --disable-hercules was given. - if test "${enable_hercules+set}" = set; then - enableval="$enable_hercules" -@@ -6270,6 +6264,13 @@ echo "$as_me: error: conditional \"DISKL - Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } - fi -+if test -z "${GRAPHICS_SUPPORT_TRUE}" && test -z "${GRAPHICS_SUPPORT_FALSE}"; then -+ { { echo "$as_me:$LINENO: error: conditional \"GRAPHICS_SUPPORT\" was never defined. -+Usually this means the macro was only invoked conditionally." >&5 -+echo "$as_me: error: conditional \"GRAPHICS_SUPPORT\" was never defined. -+Usually this means the macro was only invoked conditionally." >&2;} -+ { (exit 1); exit 1; }; } -+fi - if test -z "${HERCULES_SUPPORT_TRUE}" && test -z "${HERCULES_SUPPORT_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"HERCULES_SUPPORT\" was never defined. - Usually this means the macro was only invoked conditionally." >&5 -@@ -6907,6 +6908,8 @@ s,@NETBOOT_SUPPORT_TRUE@,$NETBOOT_SUPPOR - s,@NETBOOT_SUPPORT_FALSE@,$NETBOOT_SUPPORT_FALSE,;t t - s,@DISKLESS_SUPPORT_TRUE@,$DISKLESS_SUPPORT_TRUE,;t t - s,@DISKLESS_SUPPORT_FALSE@,$DISKLESS_SUPPORT_FALSE,;t t -+s,@GRAPHICS_SUPPORT_TRUE@,$GRAPHICS_SUPPORT_TRUE,;t t -+s,@GRAPHICS_SUPPORT_FALSE@,$GRAPHICS_SUPPORT_FALSE,;t t - s,@HERCULES_SUPPORT_TRUE@,$HERCULES_SUPPORT_TRUE,;t t - s,@HERCULES_SUPPORT_FALSE@,$HERCULES_SUPPORT_FALSE,;t t - s,@SERIAL_SUPPORT_TRUE@,$SERIAL_SUPPORT_TRUE,;t t -@@ -7088,11 +7091,6 @@ esac - *) ac_INSTALL=$ac_top_builddir$INSTALL ;; - esac - -- if test x"$ac_file" != x-; then -- { echo "$as_me:$LINENO: creating $ac_file" >&5 --echo "$as_me: creating $ac_file" >&6;} -- rm -f "$ac_file" -- fi - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ -@@ -7131,6 +7129,12 @@ echo "$as_me: error: cannot find input f - fi;; - esac - done` || { (exit 1); exit 1; } -+ -+ if test x"$ac_file" != x-; then -+ { echo "$as_me:$LINENO: creating $ac_file" >&5 -+echo "$as_me: creating $ac_file" >&6;} -+ rm -f "$ac_file" -+ fi - _ACEOF - cat >>$CONFIG_STATUS <<_ACEOF - sed "$ac_vpsub -diff -rup grub-0.97.oorig/docs/Makefile.in grub-0.97/docs/Makefile.in ---- grub-0.97.oorig/docs/Makefile.in 2005-05-08 04:42:34.000000000 +0200 -+++ grub-0.97/docs/Makefile.in 2006-03-12 14:00:43.000000000 +0100 -@@ -1,8 +1,8 @@ --# Makefile.in generated by automake 1.9.4 from Makefile.am. -+# Makefile.in generated by automake 1.9.6 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, --# 2003, 2004 Free Software Foundation, Inc. -+# 2003, 2004, 2005 Free Software Foundation, Inc. - # This Makefile.in is free software; the Free Software Foundation - # gives unlimited permission to copy and/or distribute it, - # with or without modifications, as long as this notice is preserved. -@@ -15,8 +15,6 @@ - @SET_MAKE@ - - --SOURCES = $(kernel_SOURCES) -- - srcdir = @srcdir@ - top_srcdir = @top_srcdir@ - VPATH = @srcdir@ -@@ -120,6 +118,8 @@ ECHO_T = @ECHO_T@ - EGREP = @EGREP@ - EXEEXT = @EXEEXT@ - FSYS_CFLAGS = @FSYS_CFLAGS@ -+GRAPHICS_SUPPORT_FALSE = @GRAPHICS_SUPPORT_FALSE@ -+GRAPHICS_SUPPORT_TRUE = @GRAPHICS_SUPPORT_TRUE@ - GRUB_CFLAGS = @GRUB_CFLAGS@ - GRUB_LIBS = @GRUB_LIBS@ - HERCULES_SUPPORT_FALSE = @HERCULES_SUPPORT_FALSE@ -@@ -304,9 +304,11 @@ kernel-kernel.obj: kernel.c - restore=: && backupdir="$(am__leading_dot)am$$$$" && \ - am__cwd=`pwd` && cd $(srcdir) && \ - rm -rf $$backupdir && mkdir $$backupdir && \ -- for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ -- if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \ -- done; \ -+ if ($(MAKEINFO) --version) >/dev/null 2>&1; then \ -+ for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ -+ if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \ -+ done; \ -+ else :; fi && \ - cd "$$am__cwd"; \ - if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ - -o $@ $<; \ -@@ -371,10 +373,11 @@ multiboot.dvi: multiboot.texi $(multiboo - multiboot.pdf: multiboot.texi $(multiboot_TEXINFOS) - multiboot.html: multiboot.texi $(multiboot_TEXINFOS) - .dvi.ps: -+ TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ - $(DVIPS) -o $@ $< - - uninstall-info-am: -- $(PRE_UNINSTALL) -+ @$(PRE_UNINSTALL) - @if (install-info --version && \ - install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \ - list='$(INFO_DEPS)'; \ -@@ -390,7 +393,7 @@ uninstall-info-am: - relfile=`echo "$$file" | sed 's|^.*/||'`; \ - relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \ - (if cd "$(DESTDIR)$(infodir)"; then \ -- echo " rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9])"; \ -+ echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \ - rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \ - else :; fi); \ - done -@@ -403,10 +406,13 @@ dist-info: $(INFO_DEPS) - $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \ - esac; \ - if test -f $$base; then d=.; else d=$(srcdir); fi; \ -- for file in $$d/$$base*; do \ -- relfile=`expr "$$file" : "$$d/\(.*\)"`; \ -- test -f $(distdir)/$$relfile || \ -- cp -p $$file $(distdir)/$$relfile; \ -+ base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \ -+ for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \ -+ if test -f $$file; then \ -+ relfile=`expr "$$file" : "$$d/\(.*\)"`; \ -+ test -f $(distdir)/$$relfile || \ -+ cp -p $$file $(distdir)/$$relfile; \ -+ else :; fi; \ - done; \ - done - -diff -rup grub-0.97.oorig/grub/Makefile.in grub-0.97/grub/Makefile.in ---- grub-0.97.oorig/grub/Makefile.in 2005-05-08 04:42:34.000000000 +0200 -+++ grub-0.97/grub/Makefile.in 2006-03-12 14:00:43.000000000 +0100 -@@ -1,8 +1,8 @@ --# Makefile.in generated by automake 1.9.4 from Makefile.am. -+# Makefile.in generated by automake 1.9.6 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, --# 2003, 2004 Free Software Foundation, Inc. -+# 2003, 2004, 2005 Free Software Foundation, Inc. - # This Makefile.in is free software; the Free Software Foundation - # gives unlimited permission to copy and/or distribute it, - # with or without modifications, as long as this notice is preserved. -@@ -14,8 +14,6 @@ - - @SET_MAKE@ - --SOURCES = $(grub_SOURCES) -- - srcdir = @srcdir@ - top_srcdir = @top_srcdir@ - VPATH = @srcdir@ -@@ -97,6 +95,8 @@ ECHO_T = @ECHO_T@ - EGREP = @EGREP@ - EXEEXT = @EXEEXT@ - FSYS_CFLAGS = @FSYS_CFLAGS@ -+GRAPHICS_SUPPORT_FALSE = @GRAPHICS_SUPPORT_FALSE@ -+GRAPHICS_SUPPORT_TRUE = @GRAPHICS_SUPPORT_TRUE@ - GRUB_CFLAGS = @GRUB_CFLAGS@ - GRUB_LIBS = @GRUB_LIBS@ - HERCULES_SUPPORT_FALSE = @HERCULES_SUPPORT_FALSE@ -diff -rup grub-0.97.oorig/lib/Makefile.in grub-0.97/lib/Makefile.in ---- grub-0.97.oorig/lib/Makefile.in 2005-05-08 04:42:35.000000000 +0200 -+++ grub-0.97/lib/Makefile.in 2006-03-12 14:00:44.000000000 +0100 -@@ -1,8 +1,8 @@ --# Makefile.in generated by automake 1.9.4 from Makefile.am. -+# Makefile.in generated by automake 1.9.6 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, --# 2003, 2004 Free Software Foundation, Inc. -+# 2003, 2004, 2005 Free Software Foundation, Inc. - # This Makefile.in is free software; the Free Software Foundation - # gives unlimited permission to copy and/or distribute it, - # with or without modifications, as long as this notice is preserved. -@@ -14,8 +14,6 @@ - - @SET_MAKE@ - --SOURCES = $(libcommon_a_SOURCES) -- - srcdir = @srcdir@ - top_srcdir = @top_srcdir@ - VPATH = @srcdir@ -@@ -96,6 +94,8 @@ ECHO_T = @ECHO_T@ - EGREP = @EGREP@ - EXEEXT = @EXEEXT@ - FSYS_CFLAGS = @FSYS_CFLAGS@ -+GRAPHICS_SUPPORT_FALSE = @GRAPHICS_SUPPORT_FALSE@ -+GRAPHICS_SUPPORT_TRUE = @GRAPHICS_SUPPORT_TRUE@ - GRUB_CFLAGS = @GRUB_CFLAGS@ - GRUB_LIBS = @GRUB_LIBS@ - HERCULES_SUPPORT_FALSE = @HERCULES_SUPPORT_FALSE@ -diff -rup grub-0.97.oorig/Makefile.in grub-0.97/Makefile.in ---- grub-0.97.oorig/Makefile.in 2005-05-08 04:42:40.000000000 +0200 -+++ grub-0.97/Makefile.in 2006-03-12 14:00:49.000000000 +0100 -@@ -1,8 +1,8 @@ --# Makefile.in generated by automake 1.9.4 from Makefile.am. -+# Makefile.in generated by automake 1.9.6 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, --# 2003, 2004 Free Software Foundation, Inc. -+# 2003, 2004, 2005 Free Software Foundation, Inc. - # This Makefile.in is free software; the Free Software Foundation - # gives unlimited permission to copy and/or distribute it, - # with or without modifications, as long as this notice is preserved. -@@ -101,6 +101,8 @@ ECHO_T = @ECHO_T@ - EGREP = @EGREP@ - EXEEXT = @EXEEXT@ - FSYS_CFLAGS = @FSYS_CFLAGS@ -+GRAPHICS_SUPPORT_FALSE = @GRAPHICS_SUPPORT_FALSE@ -+GRAPHICS_SUPPORT_TRUE = @GRAPHICS_SUPPORT_TRUE@ - GRUB_CFLAGS = @GRUB_CFLAGS@ - GRUB_LIBS = @GRUB_LIBS@ - HERCULES_SUPPORT_FALSE = @HERCULES_SUPPORT_FALSE@ -@@ -250,7 +252,13 @@ uninstall-info-am: - # (which will cause the Makefiles to be regenerated when you run `make'); - # (2) otherwise, pass the desired values on the `make' command line. - $(RECURSIVE_TARGETS): -- @set fnord $$MAKEFLAGS; amf=$$2; \ -+ @failcom='exit 1'; \ -+ for f in x $$MAKEFLAGS; do \ -+ case $$f in \ -+ *=* | --[!k]*);; \ -+ *k*) failcom='fail=yes';; \ -+ esac; \ -+ done; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ -@@ -262,7 +270,7 @@ $(RECURSIVE_TARGETS): - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ -- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ -+ || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ -@@ -270,7 +278,13 @@ $(RECURSIVE_TARGETS): - - mostlyclean-recursive clean-recursive distclean-recursive \ - maintainer-clean-recursive: -- @set fnord $$MAKEFLAGS; amf=$$2; \ -+ @failcom='exit 1'; \ -+ for f in x $$MAKEFLAGS; do \ -+ case $$f in \ -+ *=* | --[!k]*);; \ -+ *k*) failcom='fail=yes';; \ -+ esac; \ -+ done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ -@@ -291,7 +305,7 @@ maintainer-clean-recursive: - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ -- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ -+ || eval $$failcom; \ - done && test -z "$$fail" - tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ -diff -rup grub-0.97.oorig/netboot/Makefile.in grub-0.97/netboot/Makefile.in ---- grub-0.97.oorig/netboot/Makefile.in 2005-05-08 04:42:35.000000000 +0200 -+++ grub-0.97/netboot/Makefile.in 2006-03-12 14:00:44.000000000 +0100 -@@ -1,8 +1,8 @@ --# Makefile.in generated by automake 1.9.4 from Makefile.am. -+# Makefile.in generated by automake 1.9.6 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, --# 2003, 2004 Free Software Foundation, Inc. -+# 2003, 2004, 2005 Free Software Foundation, Inc. - # This Makefile.in is free software; the Free Software Foundation - # gives unlimited permission to copy and/or distribute it, - # with or without modifications, as long as this notice is preserved. -@@ -14,8 +14,6 @@ - - @SET_MAKE@ - --SOURCES = $(libdrivers_a_SOURCES) $(EXTRA_libdrivers_a_SOURCES) -- - srcdir = @srcdir@ - top_srcdir = @top_srcdir@ - VPATH = @srcdir@ -@@ -97,6 +95,8 @@ ECHO_T = @ECHO_T@ - EGREP = @EGREP@ - EXEEXT = @EXEEXT@ - FSYS_CFLAGS = @FSYS_CFLAGS@ -+GRAPHICS_SUPPORT_FALSE = @GRAPHICS_SUPPORT_FALSE@ -+GRAPHICS_SUPPORT_TRUE = @GRAPHICS_SUPPORT_TRUE@ - GRUB_CFLAGS = @GRUB_CFLAGS@ - GRUB_LIBS = @GRUB_LIBS@ - HERCULES_SUPPORT_FALSE = @HERCULES_SUPPORT_FALSE@ -diff -rup grub-0.97.oorig/stage1/Makefile.in grub-0.97/stage1/Makefile.in ---- grub-0.97.oorig/stage1/Makefile.in 2005-05-08 04:42:36.000000000 +0200 -+++ grub-0.97/stage1/Makefile.in 2006-03-12 14:00:45.000000000 +0100 -@@ -1,8 +1,8 @@ --# Makefile.in generated by automake 1.9.4 from Makefile.am. -+# Makefile.in generated by automake 1.9.6 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, --# 2003, 2004 Free Software Foundation, Inc. -+# 2003, 2004, 2005 Free Software Foundation, Inc. - # This Makefile.in is free software; the Free Software Foundation - # gives unlimited permission to copy and/or distribute it, - # with or without modifications, as long as this notice is preserved. -@@ -15,8 +15,6 @@ - @SET_MAKE@ - - --SOURCES = $(stage1_exec_SOURCES) -- - srcdir = @srcdir@ - top_srcdir = @top_srcdir@ - VPATH = @srcdir@ -@@ -102,6 +100,8 @@ ECHO_T = @ECHO_T@ - EGREP = @EGREP@ - EXEEXT = @EXEEXT@ - FSYS_CFLAGS = @FSYS_CFLAGS@ -+GRAPHICS_SUPPORT_FALSE = @GRAPHICS_SUPPORT_FALSE@ -+GRAPHICS_SUPPORT_TRUE = @GRAPHICS_SUPPORT_TRUE@ - GRUB_CFLAGS = @GRUB_CFLAGS@ - GRUB_LIBS = @GRUB_LIBS@ - HERCULES_SUPPORT_FALSE = @HERCULES_SUPPORT_FALSE@ -diff -rup grub-0.97.oorig/stage2/Makefile.in grub-0.97/stage2/Makefile.in ---- grub-0.97.oorig/stage2/Makefile.in 2005-05-08 04:42:39.000000000 +0200 -+++ grub-0.97/stage2/Makefile.in 2006-03-12 14:00:48.000000000 +0100 -@@ -1,8 +1,8 @@ --# Makefile.in generated by automake 1.9.4 from Makefile.am. -+# Makefile.in generated by automake 1.9.6 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, --# 2003, 2004 Free Software Foundation, Inc. -+# 2003, 2004, 2005 Free Software Foundation, Inc. - # This Makefile.in is free software; the Free Software Foundation - # gives unlimited permission to copy and/or distribute it, - # with or without modifications, as long as this notice is preserved. -@@ -18,8 +18,6 @@ - - - --SOURCES = $(libgrub_a_SOURCES) $(diskless_exec_SOURCES) $(e2fs_stage1_5_exec_SOURCES) $(fat_stage1_5_exec_SOURCES) $(ffs_stage1_5_exec_SOURCES) $(iso9660_stage1_5_exec_SOURCES) $(jfs_stage1_5_exec_SOURCES) $(minix_stage1_5_exec_SOURCES) $(nbloader_exec_SOURCES) $(pre_stage2_exec_SOURCES) $(pxeloader_exec_SOURCES) $(reiserfs_stage1_5_exec_SOURCES) $(start_exec_SOURCES) $(start_eltorito_exec_SOURCES) $(ufs2_stage1_5_exec_SOURCES) $(vstafs_stage1_5_exec_SOURCES) $(xfs_stage1_5_exec_SOURCES) -- - srcdir = @srcdir@ - top_srcdir = @top_srcdir@ - VPATH = @srcdir@ -@@ -100,7 +98,7 @@ am_libgrub_a_OBJECTS = libgrub_a-boot.$( - libgrub_a-fsys_xfs.$(OBJEXT) libgrub_a-gunzip.$(OBJEXT) \ - libgrub_a-md5.$(OBJEXT) libgrub_a-serial.$(OBJEXT) \ - libgrub_a-stage2.$(OBJEXT) libgrub_a-terminfo.$(OBJEXT) \ -- libgrub_a-tparm.$(OBJEXT) -+ libgrub_a-tparm.$(OBJEXT) libgrub_a-graphics.$(OBJEXT) - libgrub_a_OBJECTS = $(am_libgrub_a_OBJECTS) - PROGRAMS = $(noinst_PROGRAMS) - am__objects_1 = diskless_exec-asm.$(OBJEXT) \ -@@ -125,7 +123,8 @@ am__objects_1 = diskless_exec-asm.$(OBJE - diskless_exec-serial.$(OBJEXT) \ - diskless_exec-smp-imps.$(OBJEXT) \ - diskless_exec-stage2.$(OBJEXT) \ -- diskless_exec-terminfo.$(OBJEXT) diskless_exec-tparm.$(OBJEXT) -+ diskless_exec-terminfo.$(OBJEXT) diskless_exec-tparm.$(OBJEXT) \ -+ diskless_exec-graphics.$(OBJEXT) - am_diskless_exec_OBJECTS = $(am__objects_1) - diskless_exec_OBJECTS = $(am_diskless_exec_OBJECTS) - diskless_exec_DEPENDENCIES = ../netboot/libdrivers.a -@@ -217,7 +216,8 @@ am_pre_stage2_exec_OBJECTS = pre_stage2_ - pre_stage2_exec-smp-imps.$(OBJEXT) \ - pre_stage2_exec-stage2.$(OBJEXT) \ - pre_stage2_exec-terminfo.$(OBJEXT) \ -- pre_stage2_exec-tparm.$(OBJEXT) -+ pre_stage2_exec-tparm.$(OBJEXT) \ -+ pre_stage2_exec-graphics.$(OBJEXT) - pre_stage2_exec_OBJECTS = $(am_pre_stage2_exec_OBJECTS) - @NETBOOT_SUPPORT_TRUE@pre_stage2_exec_DEPENDENCIES = \ - @NETBOOT_SUPPORT_TRUE@ ../netboot/libdrivers.a -@@ -344,6 +344,8 @@ ECHO_T = @ECHO_T@ - EGREP = @EGREP@ - EXEEXT = @EXEEXT@ - FSYS_CFLAGS = @FSYS_CFLAGS@ -+GRAPHICS_SUPPORT_FALSE = @GRAPHICS_SUPPORT_FALSE@ -+GRAPHICS_SUPPORT_TRUE = @GRAPHICS_SUPPORT_TRUE@ - GRUB_CFLAGS = @GRUB_CFLAGS@ - GRUB_LIBS = @GRUB_LIBS@ - HERCULES_SUPPORT_FALSE = @HERCULES_SUPPORT_FALSE@ -@@ -435,7 +437,7 @@ noinst_HEADERS = apic.h defs.h dir.h dis - fat.h filesys.h freebsd.h fs.h hercules.h i386-elf.h \ - imgact_aout.h iso9660.h jfs.h mb_header.h mb_info.h md5.h \ - nbi.h pc_slice.h serial.h shared.h smp-imps.h term.h \ -- terminfo.h tparm.h nbi.h ufs2.h vstafs.h xfs.h -+ terminfo.h tparm.h nbi.h ufs2.h vstafs.h xfs.h graphics.h - - EXTRA_DIST = setjmp.S apm.S $(noinst_SCRIPTS) - -@@ -448,7 +450,7 @@ libgrub_a_SOURCES = boot.c builtins.c ch - disk_io.c fsys_ext2fs.c fsys_fat.c fsys_ffs.c fsys_iso9660.c \ - fsys_jfs.c fsys_minix.c fsys_reiserfs.c fsys_ufs2.c \ - fsys_vstafs.c fsys_xfs.c gunzip.c md5.c serial.c stage2.c \ -- terminfo.c tparm.c -+ terminfo.c tparm.c graphics.c - - libgrub_a_CFLAGS = $(GRUB_CFLAGS) -I$(top_srcdir)/lib \ - -DGRUB_UTIL=1 -DFSYS_EXT2FS=1 -DFSYS_FAT=1 -DFSYS_FFS=1 \ -@@ -479,8 +481,10 @@ START_ELTORITO_LINK = -nostdlib -Wl,-N - - @SERIAL_SUPPORT_TRUE@SERIAL_FLAGS = -DSUPPORT_SERIAL=1 - @HERCULES_SUPPORT_FALSE@HERCULES_FLAGS = - @HERCULES_SUPPORT_TRUE@HERCULES_FLAGS = -DSUPPORT_HERCULES=1 -+@GRAPHICS_SUPPORT_FALSE@GRAPHICS_FLAGS = -+@GRAPHICS_SUPPORT_TRUE@GRAPHICS_FLAGS = -DSUPPORT_GRAPHICS=1 - STAGE2_COMPILE = $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -- $(NETBOOT_FLAGS) $(SERIAL_FLAGS) $(HERCULES_FLAGS) -+ $(NETBOOT_FLAGS) $(SERIAL_FLAGS) $(HERCULES_FLAGS) $(GRAPHICS_FLAGS) - - STAGE1_5_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,2000 - STAGE1_5_COMPILE = $(STAGE2_COMPILE) -DNO_DECOMPRESSION=1 -DSTAGE1_5=1 -@@ -490,7 +494,8 @@ pre_stage2_exec_SOURCES = asm.S bios.c b - cmdline.c common.c console.c disk_io.c fsys_ext2fs.c \ - fsys_fat.c fsys_ffs.c fsys_iso9660.c fsys_jfs.c fsys_minix.c \ - fsys_reiserfs.c fsys_ufs2.c fsys_vstafs.c fsys_xfs.c gunzip.c \ -- hercules.c md5.c serial.c smp-imps.c stage2.c terminfo.c tparm.c -+ hercules.c md5.c serial.c smp-imps.c stage2.c terminfo.c tparm.c \ -+ graphics.c - - pre_stage2_exec_CFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS) - pre_stage2_exec_CCASFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS) -@@ -766,6 +771,7 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-fsys_ufs2.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-fsys_vstafs.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-fsys_xfs.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-graphics.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-gunzip.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-hercules.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-md5.Po@am__quote@ -@@ -820,6 +826,7 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-fsys_ufs2.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-fsys_vstafs.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-fsys_xfs.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-graphics.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-gunzip.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-md5.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-serial.Po@am__quote@ -@@ -850,6 +857,7 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-fsys_ufs2.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-fsys_vstafs.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-fsys_xfs.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-graphics.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-gunzip.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-hercules.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-md5.Po@am__quote@ -@@ -1367,6 +1375,20 @@ libgrub_a-tparm.obj: tparm.c - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-tparm.obj `if test -f 'tparm.c'; then $(CYGPATH_W) 'tparm.c'; else $(CYGPATH_W) '$(srcdir)/tparm.c'; fi` - -+libgrub_a-graphics.o: graphics.c -+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-graphics.o -MD -MP -MF "$(DEPDIR)/libgrub_a-graphics.Tpo" -c -o libgrub_a-graphics.o `test -f 'graphics.c' || echo '$(srcdir)/'`graphics.c; \ -+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-graphics.Tpo" "$(DEPDIR)/libgrub_a-graphics.Po"; else rm -f "$(DEPDIR)/libgrub_a-graphics.Tpo"; exit 1; fi -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='graphics.c' object='libgrub_a-graphics.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-graphics.o `test -f 'graphics.c' || echo '$(srcdir)/'`graphics.c -+ -+libgrub_a-graphics.obj: graphics.c -+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-graphics.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-graphics.Tpo" -c -o libgrub_a-graphics.obj `if test -f 'graphics.c'; then $(CYGPATH_W) 'graphics.c'; else $(CYGPATH_W) '$(srcdir)/graphics.c'; fi`; \ -+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-graphics.Tpo" "$(DEPDIR)/libgrub_a-graphics.Po"; else rm -f "$(DEPDIR)/libgrub_a-graphics.Tpo"; exit 1; fi -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='graphics.c' object='libgrub_a-graphics.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-graphics.obj `if test -f 'graphics.c'; then $(CYGPATH_W) 'graphics.c'; else $(CYGPATH_W) '$(srcdir)/graphics.c'; fi` -+ - diskless_exec-bios.o: bios.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-bios.o -MD -MP -MF "$(DEPDIR)/diskless_exec-bios.Tpo" -c -o diskless_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-bios.Tpo" "$(DEPDIR)/diskless_exec-bios.Po"; else rm -f "$(DEPDIR)/diskless_exec-bios.Tpo"; exit 1; fi -@@ -1731,6 +1753,20 @@ diskless_exec-tparm.obj: tparm.c - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-tparm.obj `if test -f 'tparm.c'; then $(CYGPATH_W) 'tparm.c'; else $(CYGPATH_W) '$(srcdir)/tparm.c'; fi` - -+diskless_exec-graphics.o: graphics.c -+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-graphics.o -MD -MP -MF "$(DEPDIR)/diskless_exec-graphics.Tpo" -c -o diskless_exec-graphics.o `test -f 'graphics.c' || echo '$(srcdir)/'`graphics.c; \ -+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-graphics.Tpo" "$(DEPDIR)/diskless_exec-graphics.Po"; else rm -f "$(DEPDIR)/diskless_exec-graphics.Tpo"; exit 1; fi -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='graphics.c' object='diskless_exec-graphics.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-graphics.o `test -f 'graphics.c' || echo '$(srcdir)/'`graphics.c -+ -+diskless_exec-graphics.obj: graphics.c -+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-graphics.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-graphics.Tpo" -c -o diskless_exec-graphics.obj `if test -f 'graphics.c'; then $(CYGPATH_W) 'graphics.c'; else $(CYGPATH_W) '$(srcdir)/graphics.c'; fi`; \ -+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-graphics.Tpo" "$(DEPDIR)/diskless_exec-graphics.Po"; else rm -f "$(DEPDIR)/diskless_exec-graphics.Tpo"; exit 1; fi -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='graphics.c' object='diskless_exec-graphics.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-graphics.obj `if test -f 'graphics.c'; then $(CYGPATH_W) 'graphics.c'; else $(CYGPATH_W) '$(srcdir)/graphics.c'; fi` -+ - e2fs_stage1_5_exec-common.o: common.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-common.o -MD -MP -MF "$(DEPDIR)/e2fs_stage1_5_exec-common.Tpo" -c -o e2fs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/e2fs_stage1_5_exec-common.Tpo" "$(DEPDIR)/e2fs_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/e2fs_stage1_5_exec-common.Tpo"; exit 1; fi -@@ -2599,6 +2635,20 @@ pre_stage2_exec-tparm.obj: tparm.c - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-tparm.obj `if test -f 'tparm.c'; then $(CYGPATH_W) 'tparm.c'; else $(CYGPATH_W) '$(srcdir)/tparm.c'; fi` - -+pre_stage2_exec-graphics.o: graphics.c -+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-graphics.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-graphics.Tpo" -c -o pre_stage2_exec-graphics.o `test -f 'graphics.c' || echo '$(srcdir)/'`graphics.c; \ -+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-graphics.Tpo" "$(DEPDIR)/pre_stage2_exec-graphics.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-graphics.Tpo"; exit 1; fi -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='graphics.c' object='pre_stage2_exec-graphics.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-graphics.o `test -f 'graphics.c' || echo '$(srcdir)/'`graphics.c -+ -+pre_stage2_exec-graphics.obj: graphics.c -+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-graphics.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-graphics.Tpo" -c -o pre_stage2_exec-graphics.obj `if test -f 'graphics.c'; then $(CYGPATH_W) 'graphics.c'; else $(CYGPATH_W) '$(srcdir)/graphics.c'; fi`; \ -+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-graphics.Tpo" "$(DEPDIR)/pre_stage2_exec-graphics.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-graphics.Tpo"; exit 1; fi -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='graphics.c' object='pre_stage2_exec-graphics.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-graphics.obj `if test -f 'graphics.c'; then $(CYGPATH_W) 'graphics.c'; else $(CYGPATH_W) '$(srcdir)/graphics.c'; fi` -+ - reiserfs_stage1_5_exec-common.o: common.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-common.o -MD -MP -MF "$(DEPDIR)/reiserfs_stage1_5_exec-common.Tpo" -c -o reiserfs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiserfs_stage1_5_exec-common.Tpo" "$(DEPDIR)/reiserfs_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/reiserfs_stage1_5_exec-common.Tpo"; exit 1; fi -diff -rup grub-0.97.oorig/util/Makefile.in grub-0.97/util/Makefile.in ---- grub-0.97.oorig/util/Makefile.in 2005-05-08 04:42:39.000000000 +0200 -+++ grub-0.97/util/Makefile.in 2006-03-12 14:00:48.000000000 +0100 -@@ -1,8 +1,8 @@ --# Makefile.in generated by automake 1.9.4 from Makefile.am. -+# Makefile.in generated by automake 1.9.6 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, --# 2003, 2004 Free Software Foundation, Inc. -+# 2003, 2004, 2005 Free Software Foundation, Inc. - # This Makefile.in is free software; the Free Software Foundation - # gives unlimited permission to copy and/or distribute it, - # with or without modifications, as long as this notice is preserved. -@@ -15,8 +15,6 @@ - @SET_MAKE@ - - --SOURCES = $(mbchk_SOURCES) -- - srcdir = @srcdir@ - top_srcdir = @top_srcdir@ - VPATH = @srcdir@ -@@ -102,6 +100,8 @@ ECHO_T = @ECHO_T@ - EGREP = @EGREP@ - EXEEXT = @EXEEXT@ - FSYS_CFLAGS = @FSYS_CFLAGS@ -+GRAPHICS_SUPPORT_FALSE = @GRAPHICS_SUPPORT_FALSE@ -+GRAPHICS_SUPPORT_TRUE = @GRAPHICS_SUPPORT_TRUE@ - GRUB_CFLAGS = @GRUB_CFLAGS@ - GRUB_LIBS = @GRUB_LIBS@ - HERCULES_SUPPORT_FALSE = @HERCULES_SUPPORT_FALSE@ diff --git a/boot/grub/grub.200-fix_mbr_handling.patch b/boot/grub/grub.200-fix_mbr_handling.patch deleted file mode 100644 index 21e200f172..0000000000 --- a/boot/grub/grub.200-fix_mbr_handling.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: b/stage2/disk_io.c -=================================================================== ---- a/stage2/disk_io.c -+++ b/stage2/disk_io.c -@@ -365,7 +365,7 @@ - int - devwrite (unsigned int sector, int sector_count, char *buf) - { --#if defined(GRUB_UTIL) && defined(__linux__) -+#if defined(GRUB_UTIL) && defined(__linux__) && !defined(SUPPORT_LOOPDEV) - if (current_partition != 0xFFFFFF - && is_disk_device (device_map, current_drive)) - { diff --git a/boot/grub/grub.300-honor_UCLIBC_HAS_LFS.patch b/boot/grub/grub.300-honor_UCLIBC_HAS_LFS.patch deleted file mode 100644 index 8ed9d76c36..0000000000 --- a/boot/grub/grub.300-honor_UCLIBC_HAS_LFS.patch +++ /dev/null @@ -1,36 +0,0 @@ -Index: b/grub/asmstub.c -=================================================================== ---- a/grub/asmstub.c -+++ b/grub/asmstub.c -@@ -18,10 +18,13 @@ - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -+#include -+#if !defined __UCLIBC__ || (defined __UCLIBC__ && defined __UCLIBC_HAS_LFS__) - /* Try to use glibc's transparant LFS support. */ - #define _LARGEFILE_SOURCE 1 - /* lseek becomes synonymous with lseek64. */ - #define _FILE_OFFSET_BITS 64 -+#endif - - /* Simulator entry point. */ - int grub_stage2 (void); -Index: b/lib/device.c -=================================================================== ---- a/lib/device.c -+++ b/lib/device.c -@@ -18,10 +18,13 @@ - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -+#include -+#if !defined __UCLIBC__ || (defined __UCLIBC__ && defined __UCLIBC_HAS_LFS__) - /* Try to use glibc's transparant LFS support. */ - #define _LARGEFILE_SOURCE 1 - /* lseek becomes synonymous with lseek64. */ - #define _FILE_OFFSET_BITS 64 -+#endif - - #include - #include diff --git a/boot/grub/grub.400-nic_update2.patch b/boot/grub/grub.400-nic_update2.patch deleted file mode 100644 index 5e3c16d46c..0000000000 --- a/boot/grub/grub.400-nic_update2.patch +++ /dev/null @@ -1,47064 +0,0 @@ -Submitted By: Jim Gifford (patches at jg555 dot com) -Date: 2005-08-31 -Initial Package Version: 0.97 -Origin: OpenSolaris, Joe Ciccone, Jim Gifford -Upstream Status: N/A -Description: Adds support for Forcedeth and other NIC's - Fixes for GCC 4.x - Removal of bad network drivers - -Index: b/configure -=================================================================== ---- a/configure -+++ b/configure -@@ -872,47 +872,32 @@ - --disable-packet-retransmission - turn off packet retransmission - --enable-pci-direct access PCI directly instead of using BIOS -- --enable-3c509 enable 3Com509 driver -- --enable-3c529 enable 3Com529 driver - --enable-3c595 enable 3Com595 driver - --enable-3c90x enable 3Com90x driver -- --enable-cs89x0 enable CS89x0 driver - --enable-davicom enable Davicom driver -- --enable-depca enable DEPCA and EtherWORKS driver -- --enable-eepro enable Etherexpress Pro/10 driver -+ --enable-e1000 enable Etherexpress Pro/1000 driver - --enable-eepro100 enable Etherexpress Pro/100 driver - --enable-epic100 enable SMC 83c170 EPIC/100 driver -- --enable-3c507 enable 3Com507 driver -- --enable-exos205 enable EXOS205 driver -- --enable-ni5210 enable Racal-Interlan NI5210 driver -- --enable-lance enable Lance PCI PCNet/32 driver -- --enable-ne2100 enable Novell NE2100 driver -- --enable-ni6510 enable Racal-Interlan NI6510 driver -+ --enable-forcedeth enable Nvidia Geforce driver - --enable-natsemi enable NatSemi DP8381x driver -- --enable-ni5010 enable Racal-Interlan NI5010 driver -- --enable-3c503 enable 3Com503 driver -- --enable-ne enable NE1000/2000 ISA driver -+ --enable-ns83820 enable NS83820 driver - --enable-ns8390 enable NE2000 PCI driver -- --enable-wd enable WD8003/8013, SMC8216/8416 driver -- --enable-otulip enable old Tulip driver -+ --enable-pcnet32 enable AMD Lance/PCI PCNet/32 driver -+ --enable-pnic enable Bochs Pseudo Nic driver - --enable-rtl8139 enable Realtek 8139 driver -+ --enable-r8169 enable Realtek 8169 driver - --enable-sis900 enable SIS 900 and SIS 7016 driver -- --enable-sk-g16 enable Schneider and Koch G16 driver -- --enable-smc9000 enable SMC9000 driver -- --enable-tiara enable Tiara driver -+ --enable-tg3 enable Broadcom Tigon3 driver - --enable-tulip enable Tulip driver -+ --enable-tlan enable TI ThunderLAN driver -+ --enable-undi enable PXE UNDI driver - --enable-via-rhine enable Rhine-I/II driver -- --enable-w89c840 enable Winbond W89c840, Compex RL100-ATX driver -- --enable-3c503-shmem use 3c503 shared memory mode -- --enable-3c503-aui use AUI by default on 3c503 cards -+ --enable-w89c840 enable Winbond W89c840 driver - --enable-compex-rl2000-fix - specify this if you have a Compex RL2000 PCI -- --enable-smc9000-scan=LIST -- probe for SMC9000 I/O addresses using LIST - --enable-ne-scan=LIST probe for NE base address using LIST - --enable-wd-default-mem=MEM - set the default memory location for WD/SMC -- --enable-cs-scan=LIST probe for CS89x0 base address using LIST - --enable-diskless enable diskless support - --disable-graphics disable graphics terminal support - --disable-hercules disable hercules terminal support -@@ -5537,7 +5522,7 @@ - - fi; - if test "x$enable_packet_retransmission" != xno; then -- NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DCONGESTED=1" -+ NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DCONGESTED=1 -DCONFIG_PCI" - fi - - # Check whether --enable-pci-direct or --disable-pci-direct was given. -@@ -5549,26 +5534,6 @@ - NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DCONFIG_PCI_DIRECT=1" - fi - --# Check whether --enable-3c509 or --disable-3c509 was given. --if test "${enable_3c509+set}" = set; then -- enableval="$enable_3c509" -- --fi; --if test "x$enable_3c509" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_3C509" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS 3c509.o" --fi -- --# Check whether --enable-3c529 or --disable-3c529 was given. --if test "${enable_3c529+set}" = set; then -- enableval="$enable_3c529" -- --fi; --if test "x$enable_3c529" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_3C529=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS 3c529.o" --fi -- - # Check whether --enable-3c595 or --disable-3c595 was given. - if test "${enable_3c595+set}" = set; then - enableval="$enable_3c595" -@@ -5589,16 +5554,6 @@ - NETBOOT_DRIVERS="$NETBOOT_DRIVERS 3c90x.o" - fi - --# Check whether --enable-cs89x0 or --disable-cs89x0 was given. --if test "${enable_cs89x0+set}" = set; then -- enableval="$enable_cs89x0" -- --fi; --if test "x$enable_cs89x0" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_CS89X0=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS cs89x0.o" --fi -- - # Check whether --enable-davicom or --disable-davicom was given. - if test "${enable_davicom+set}" = set; then - enableval="$enable_davicom" -@@ -5609,24 +5564,14 @@ - NETBOOT_DRIVERS="$NETBOOT_DRIVERS davicom.o" - fi - --# Check whether --enable-depca or --disable-depca was given. --if test "${enable_depca+set}" = set; then -- enableval="$enable_depca" -+# Check whether --enable-e1000 or --disable-e1000 was given. -+if test "${enable_e1000+set}" = set; then -+ enableval="$enable_e1000" - - fi; --if test "x$enable_depca" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_DEPCA=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS depca.o" --fi -- --# Check whether --enable-eepro or --disable-eepro was given. --if test "${enable_eepro+set}" = set; then -- enableval="$enable_eepro" -- --fi; --if test "x$enable_eepro" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_EEPRO=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS eepro.o" -+if test "x$enable_e1000" = xyes; then -+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_E1000=1" -+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS e1000.o" - fi - - # Check whether --enable-eepro100 or --disable-eepro100 was given. -@@ -5649,64 +5594,14 @@ - NETBOOT_DRIVERS="$NETBOOT_DRIVERS epic100.o" - fi - --# Check whether --enable-3c507 or --disable-3c507 was given. --if test "${enable_3c507+set}" = set; then -- enableval="$enable_3c507" -- --fi; --if test "x$enable_3c507" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_3C507=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS 3c507.o" --fi -- --# Check whether --enable-exos205 or --disable-exos205 was given. --if test "${enable_exos205+set}" = set; then -- enableval="$enable_exos205" -- --fi; --if test "x$enable_exos205" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_EXOS205=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS exos205.o" --fi -- --# Check whether --enable-ni5210 or --disable-ni5210 was given. --if test "${enable_ni5210+set}" = set; then -- enableval="$enable_ni5210" -- --fi; --if test "x$enable_ni5210" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_NI5210=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS ni5210.o" --fi -- --# Check whether --enable-lance or --disable-lance was given. --if test "${enable_lance+set}" = set; then -- enableval="$enable_lance" -- --fi; --if test "x$enable_lance" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_LANCE=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS lance.o" --fi -- --# Check whether --enable-ne2100 or --disable-ne2100 was given. --if test "${enable_ne2100+set}" = set; then -- enableval="$enable_ne2100" -- --fi; --if test "x$enable_ne2100" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_NE2100=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS ne2100.o" --fi -- --# Check whether --enable-ni6510 or --disable-ni6510 was given. --if test "${enable_ni6510+set}" = set; then -- enableval="$enable_ni6510" -+# Check whether --enable-forcedeth or --disable-forcedeth was given. -+if test "${enable_forcedeth+set}" = set; then -+ enableval="$enable_forcedeth" - - fi; --if test "x$enable_ni6510" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_NI6510=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS ni6510.o" -+if test "x$enable_forcedeth" = xyes; then -+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_FORCEDETH=1" -+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS forcedeth.o" - fi - - # Check whether --enable-natsemi or --disable-natsemi was given. -@@ -5719,34 +5614,14 @@ - NETBOOT_DRIVERS="$NETBOOT_DRIVERS natsemi.o" - fi - --# Check whether --enable-ni5010 or --disable-ni5010 was given. --if test "${enable_ni5010+set}" = set; then -- enableval="$enable_ni5010" -+# Check whether --enable-ns83820 or --disable-ns83820 was given. -+if test "${enable_ns83820+set}" = set; then -+ enableval="$enable_ns83820" - - fi; --if test "x$enable_ni5010" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_NI5010=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS ni5010.o" --fi -- --# Check whether --enable-3c503 or --disable-3c503 was given. --if test "${enable_3c503+set}" = set; then -- enableval="$enable_3c503" -- --fi; --if test "x$enable_3c503" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_3C503=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS 3c503.o" --fi -- --# Check whether --enable-ne or --disable-ne was given. --if test "${enable_ne+set}" = set; then -- enableval="$enable_ne" -- --fi; --if test "x$enable_ne" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_NE=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS ne.o" -+if test "x$enable_ns83820" = xyes; then -+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_NS83820=1" -+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS ns83820.o" - fi - - # Check whether --enable-ns8390 or --disable-ns8390 was given. -@@ -5759,24 +5634,24 @@ - NETBOOT_DRIVERS="$NETBOOT_DRIVERS ns8390.o" - fi - --# Check whether --enable-wd or --disable-wd was given. --if test "${enable_wd+set}" = set; then -- enableval="$enable_wd" -+# Check whether --enable-pcnet32 or --disable-pcnet32 was given. -+if test "${enable_pcnet32+set}" = set; then -+ enableval="$enable_pcnet32" - - fi; --if test "x$enable_wd" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_WD=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS wd.o" -+if test "x$enable_pcnet32" = xyes; then -+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_PCNET32=1" -+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS pcnet32.o" - fi - --# Check whether --enable-otulip or --disable-otulip was given. --if test "${enable_otulip+set}" = set; then -- enableval="$enable_otulip" -+# Check whether --enable-pnic or --disable-pnic was given. -+if test "${enable_pnic+set}" = set; then -+ enableval="$enable_pnic" - - fi; --if test "x$enable_otulip" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_OTULIP=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS otulip.o" -+if test "x$enable_pnic" = xyes; then -+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_PNIC=1" -+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS pnic.o" - fi - - # Check whether --enable-rtl8139 or --disable-rtl8139 was given. -@@ -5789,6 +5664,16 @@ - NETBOOT_DRIVERS="$NETBOOT_DRIVERS rtl8139.o" - fi - -+# Check whether --enable-r8169 or --disable-r8169 was given. -+if test "${enable_r8169+set}" = set; then -+ enableval="$enable_r8169" -+ -+fi; -+if test "x$enable_r8169" = xyes; then -+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_R8169=1" -+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS r8169.o" -+fi -+ - # Check whether --enable-sis900 or --disable-sis900 was given. - if test "${enable_sis900+set}" = set; then - enableval="$enable_sis900" -@@ -5799,34 +5684,14 @@ - NETBOOT_DRIVERS="$NETBOOT_DRIVERS sis900.o" - fi - --# Check whether --enable-sk-g16 or --disable-sk-g16 was given. --if test "${enable_sk_g16+set}" = set; then -- enableval="$enable_sk_g16" -- --fi; --if test "x$enable_sk_g16" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_SK_G16=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS sk_g16.o" --fi -- --# Check whether --enable-smc9000 or --disable-smc9000 was given. --if test "${enable_smc9000+set}" = set; then -- enableval="$enable_smc9000" -- --fi; --if test "x$enable_smc9000" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_SMC9000=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS smc9000.o" --fi -- --# Check whether --enable-tiara or --disable-tiara was given. --if test "${enable_tiara+set}" = set; then -- enableval="$enable_tiara" -+# Check whether --enable-tg3 or --disable-tg3 was given. -+if test "${enable_tg3+set}" = set; then -+ enableval="$enable_tg3" - - fi; --if test "x$enable_tiara" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_TIARA=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS tiara.o" -+if test "x$enable_tg3" = xyes; then -+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_TG3=1" -+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS tg3.o" - fi - - # Check whether --enable-tulip or --disable-tulip was given. -@@ -5839,6 +5704,16 @@ - NETBOOT_DRIVERS="$NETBOOT_DRIVERS tulip.o" - fi - -+# Check whether --enable-tlan or --disable-tlan was given. -+if test "${enable_tlan+set}" = set; then -+ enableval="$enable_tlan" -+ -+fi; -+if test "x$enable_tlan" = xyes; then -+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_TLAN=1" -+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS tlan.o" -+fi -+ - # Check whether --enable-via-rhine or --disable-via-rhine was given. - if test "${enable_via_rhine+set}" = set; then - enableval="$enable_via_rhine" -@@ -5873,24 +5748,6 @@ - FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_TFTP=1" - fi - --# Check whether --enable-3c503-shmem or --disable-3c503-shmem was given. --if test "${enable_3c503_shmem+set}" = set; then -- enableval="$enable_3c503_shmem" -- --fi; --if test "x$enable_3c503_shmem" = xyes; then -- NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DT503_SHMEM=1" --fi -- --# Check whether --enable-3c503-aui or --disable-3c503-aui was given. --if test "${enable_3c503_aui+set}" = set; then -- enableval="$enable_3c503_aui" -- --fi; --if test "x$enable_3c503_aui" = xyes; then -- NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DT503_AUI=1" --fi -- - # Check whether --enable-compex-rl2000-fix or --disable-compex-rl2000-fix was given. - if test "${enable_compex_rl2000_fix+set}" = set; then - enableval="$enable_compex_rl2000_fix" -@@ -5900,12 +5757,6 @@ - NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DCOMPEX_RL2000_FIX=1" - fi - --# Check whether --enable-smc9000-scan or --disable-smc9000-scan was given. --if test "${enable_smc9000_scan+set}" = set; then -- enableval="$enable_smc9000_scan" -- NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DSMC9000_SCAN=$enable_smc9000_scan" --fi; -- - # Check whether --enable-ne-scan or --disable-ne-scan was given. - if test "${enable_ne_scan+set}" = set; then - enableval="$enable_ne_scan" -@@ -5922,12 +5773,6 @@ - NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DWD_DEFAULT_MEM=0xCC000" - fi; - --# Check whether --enable-cs-scan or --disable-cs-scan was given. --if test "${enable_cs_scan+set}" = set; then -- enableval="$enable_cs_scan" -- NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DCS_SCAN=$enable_cs_scan" --fi; -- - # Check whether --enable-diskless or --disable-diskless was given. - if test "${enable_diskless+set}" = set; then - enableval="$enable_diskless" -Index: b/configure.ac -=================================================================== ---- a/configure.ac -+++ b/configure.ac -@@ -344,7 +344,7 @@ - [ --disable-packet-retransmission - turn off packet retransmission]) - if test "x$enable_packet_retransmission" != xno; then -- NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DCONGESTED=1" -+ NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DCONGESTED=1 -DCONFIG_PCI" - fi - - AC_ARG_ENABLE(pci-direct, -@@ -354,20 +354,6 @@ - fi - - dnl Device drivers. --AC_ARG_ENABLE(3c509, -- [ --enable-3c509 enable 3Com509 driver]) --if test "x$enable_3c509" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_3C509" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS 3c509.o" --fi -- --AC_ARG_ENABLE(3c529, -- [ --enable-3c529 enable 3Com529 driver]) --if test "x$enable_3c529" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_3C529=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS 3c529.o" --fi -- - AC_ARG_ENABLE(3c595, - [ --enable-3c595 enable 3Com595 driver]) - if test "x$enable_3c595" = xyes; then -@@ -382,13 +368,6 @@ - NETBOOT_DRIVERS="$NETBOOT_DRIVERS 3c90x.o" - fi - --AC_ARG_ENABLE(cs89x0, -- [ --enable-cs89x0 enable CS89x0 driver]) --if test "x$enable_cs89x0" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_CS89X0=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS cs89x0.o" --fi -- - AC_ARG_ENABLE(davicom, - [ --enable-davicom enable Davicom driver]) - if test "x$enable_davicom" = xyes; then -@@ -396,18 +375,11 @@ - NETBOOT_DRIVERS="$NETBOOT_DRIVERS davicom.o" - fi - --AC_ARG_ENABLE(depca, -- [ --enable-depca enable DEPCA and EtherWORKS driver]) --if test "x$enable_depca" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_DEPCA=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS depca.o" --fi -- --AC_ARG_ENABLE(eepro, -- [ --enable-eepro enable Etherexpress Pro/10 driver]) --if test "x$enable_eepro" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_EEPRO=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS eepro.o" -+AC_ARG_ENABLE(e1000, -+ [ --enable-e1000 enable Etherexpress Pro/1000 driver]) -+if test "x$enable_e1000" = xyes; then -+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_E1000=1" -+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS e1000.o" - fi - - AC_ARG_ENABLE(eepro100, -@@ -424,46 +396,11 @@ - NETBOOT_DRIVERS="$NETBOOT_DRIVERS epic100.o" - fi - --AC_ARG_ENABLE(3c507, -- [ --enable-3c507 enable 3Com507 driver]) --if test "x$enable_3c507" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_3C507=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS 3c507.o" --fi -- --AC_ARG_ENABLE(exos205, -- [ --enable-exos205 enable EXOS205 driver]) --if test "x$enable_exos205" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_EXOS205=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS exos205.o" --fi -- --AC_ARG_ENABLE(ni5210, -- [ --enable-ni5210 enable Racal-Interlan NI5210 driver]) --if test "x$enable_ni5210" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_NI5210=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS ni5210.o" --fi -- --AC_ARG_ENABLE(lance, -- [ --enable-lance enable Lance PCI PCNet/32 driver]) --if test "x$enable_lance" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_LANCE=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS lance.o" --fi -- --AC_ARG_ENABLE(ne2100, -- [ --enable-ne2100 enable Novell NE2100 driver]) --if test "x$enable_ne2100" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_NE2100=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS ne2100.o" --fi -- --AC_ARG_ENABLE(ni6510, -- [ --enable-ni6510 enable Racal-Interlan NI6510 driver]) --if test "x$enable_ni6510" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_NI6510=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS ni6510.o" -+AC_ARG_ENABLE(forcedeth, -+ [ --enable-forcedeth enable Nvidia Geforce driver]) -+if test "x$enable_forcedeth" = xyes; then -+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_FORCEDETH=1" -+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS forcedeth.o" - fi - - AC_ARG_ENABLE(natsemi, -@@ -473,25 +410,11 @@ - NETBOOT_DRIVERS="$NETBOOT_DRIVERS natsemi.o" - fi - --AC_ARG_ENABLE(ni5010, -- [ --enable-ni5010 enable Racal-Interlan NI5010 driver]) --if test "x$enable_ni5010" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_NI5010=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS ni5010.o" --fi -- --AC_ARG_ENABLE(3c503, -- [ --enable-3c503 enable 3Com503 driver]) --if test "x$enable_3c503" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_3C503=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS 3c503.o" --fi -- --AC_ARG_ENABLE(ne, -- [ --enable-ne enable NE1000/2000 ISA driver]) --if test "x$enable_ne" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_NE=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS ne.o" -+AC_ARG_ENABLE(ns83820, -+ [ --enable-ns83820 enable NS83820 driver]) -+if test "x$enable_ns83820" = xyes; then -+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_NS83820=1" -+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS ns83820.o" - fi - - AC_ARG_ENABLE(ns8390, -@@ -501,18 +424,18 @@ - NETBOOT_DRIVERS="$NETBOOT_DRIVERS ns8390.o" - fi - --AC_ARG_ENABLE(wd, -- [ --enable-wd enable WD8003/8013, SMC8216/8416 driver]) --if test "x$enable_wd" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_WD=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS wd.o" -+AC_ARG_ENABLE(pcnet32, -+ [ --enable-pcnet32 enable AMD Lance/PCI PCNet/32 driver]) -+if test "x$enable_pcnet32" = xyes; then -+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_PCNET32=1" -+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS pcnet32.o" - fi - --AC_ARG_ENABLE(otulip, -- [ --enable-otulip enable old Tulip driver]) --if test "x$enable_otulip" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_OTULIP=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS otulip.o" -+AC_ARG_ENABLE(pnic, -+ [ --enable-pnic enable Bochs Pseudo Nic driver]) -+if test "x$enable_pnic" = xyes; then -+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_PNIC=1" -+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS pnic.o" - fi - - AC_ARG_ENABLE(rtl8139, -@@ -522,6 +445,13 @@ - NETBOOT_DRIVERS="$NETBOOT_DRIVERS rtl8139.o" - fi - -+AC_ARG_ENABLE(r8169, -+ [ --enable-r8169 enable Realtek 8169 driver]) -+if test "x$enable_r8169" = xyes; then -+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_R8169=1" -+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS r8169.o" -+fi -+ - AC_ARG_ENABLE(sis900, - [ --enable-sis900 enable SIS 900 and SIS 7016 driver]) - if test "x$enable_sis900" = xyes; then -@@ -529,25 +459,11 @@ - NETBOOT_DRIVERS="$NETBOOT_DRIVERS sis900.o" - fi - --AC_ARG_ENABLE(sk-g16, -- [ --enable-sk-g16 enable Schneider and Koch G16 driver]) --if test "x$enable_sk_g16" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_SK_G16=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS sk_g16.o" --fi -- --AC_ARG_ENABLE(smc9000, -- [ --enable-smc9000 enable SMC9000 driver]) --if test "x$enable_smc9000" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_SMC9000=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS smc9000.o" --fi -- --AC_ARG_ENABLE(tiara, -- [ --enable-tiara enable Tiara driver]) --if test "x$enable_tiara" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_TIARA=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS tiara.o" -+AC_ARG_ENABLE(tg3, -+ [ --enable-tg3 enable Broadcom Tigon3 driver]) -+if test "x$enable_tg3" = xyes; then -+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_TG3=1" -+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS tg3.o" - fi - - AC_ARG_ENABLE(tulip, -@@ -557,6 +473,13 @@ - NETBOOT_DRIVERS="$NETBOOT_DRIVERS tulip.o" - fi - -+AC_ARG_ENABLE(tlan, -+ [ --enable-tlan enable TI ThunderLAN driver]) -+if test "x$enable_tlan" = xyes; then -+ NET_CFLAGS="$NET_CFLAGS -DINCLUDE_TLAN=1" -+ NETBOOT_DRIVERS="$NETBOOT_DRIVERS tlan.o" -+fi -+ - AC_ARG_ENABLE(via-rhine, - [ --enable-via-rhine enable Rhine-I/II driver]) - if test "x$enable_via_rhine" = xyes; then -@@ -565,7 +488,7 @@ - fi - - AC_ARG_ENABLE(w89c840, -- [ --enable-w89c840 enable Winbond W89c840, Compex RL100-ATX driver]) -+ [ --enable-w89c840 enable Winbond W89c840 driver]) - if test "x$enable_w89c840" = xyes; then - NET_CFLAGS="$NET_CFLAGS -DINCLUDE_W89C840=1" - NETBOOT_DRIVERS="$NETBOOT_DRIVERS w89c840.o" -@@ -577,19 +500,7 @@ - FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_TFTP=1" - fi - --dnl Extra options. --AC_ARG_ENABLE(3c503-shmem, -- [ --enable-3c503-shmem use 3c503 shared memory mode]) --if test "x$enable_3c503_shmem" = xyes; then -- NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DT503_SHMEM=1" --fi -- --AC_ARG_ENABLE(3c503-aui, -- [ --enable-3c503-aui use AUI by default on 3c503 cards]) --if test "x$enable_3c503_aui" = xyes; then -- NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DT503_AUI=1" --fi -- -+dnl extra flag for ns8390.c - AC_ARG_ENABLE(compex-rl2000-fix, - [ --enable-compex-rl2000-fix - specify this if you have a Compex RL2000 PCI]) -@@ -597,11 +508,6 @@ - NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DCOMPEX_RL2000_FIX=1" - fi - --AC_ARG_ENABLE(smc9000-scan, -- [ --enable-smc9000-scan=LIST -- probe for SMC9000 I/O addresses using LIST], -- [NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DSMC9000_SCAN=$enable_smc9000_scan"]) -- - AC_ARG_ENABLE(ne-scan, - [ --enable-ne-scan=LIST probe for NE base address using LIST], - [NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DNE_SCAN=$enable_ne_scan"], -@@ -613,10 +519,6 @@ - [NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DWD_DEFAULT_MEM=$enable_wd_default_mem"], - [NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DWD_DEFAULT_MEM=0xCC000"]) - --AC_ARG_ENABLE(cs-scan, -- [ --enable-cs-scan=LIST probe for CS89x0 base address using LIST], -- [NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DCS_SCAN=$enable_cs_scan"]) -- - dnl Diskless - AC_ARG_ENABLE(diskless, - [ --enable-diskless enable diskless support]) -Index: b/netboot/3c509.h -=================================================================== ---- a/netboot/3c509.h -+++ /dev/null -@@ -1,397 +0,0 @@ --/* -- * Copyright (c) 1993 Herb Peyerl (hpeyerl@novatel.ca) All rights reserved. -- * -- * Redistribution and use in source and binary forms, with or without -- * modification, are permitted provided that the following conditions are -- * met: 1. Redistributions of source code must retain the above copyright -- * notice, this list of conditions and the following disclaimer. 2. The name -- * of the author may not be used to endorse or promote products derived from -- * this software withough specific prior written permission -- * -- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED -- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -- * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- * -- * if_epreg.h,v 1.4 1994/11/13 10:12:37 gibbs Exp Modified by: -- * -- October 2, 1994 -- -- Modified by: Andres Vega Garcia -- -- INRIA - Sophia Antipolis, France -- e-mail: avega@sophia.inria.fr -- finger: avega@pax.inria.fr -- -- */ -- --/* -- * Ethernet software status per interface. -- */ --/* -- * Some global constants -- */ -- --#define TX_INIT_RATE 16 --#define TX_INIT_MAX_RATE 64 --#define RX_INIT_LATENCY 64 --#define RX_INIT_EARLY_THRESH 64 --#define MIN_RX_EARLY_THRESHF 16 /* not less than ether_header */ --#define MIN_RX_EARLY_THRESHL 4 -- --#define EEPROMSIZE 0x40 --#define MAX_EEPROMBUSY 1000 --#define EP_LAST_TAG 0xd7 --#define EP_MAX_BOARDS 16 --#define EP_ID_PORT 0x100 -- --/* -- * some macros to acces long named fields -- */ --#define IS_BASE (eth_nic_base) --#define BASE (eth_nic_base) -- --/* -- * Commands to read/write EEPROM trough EEPROM command register (Window 0, -- * Offset 0xa) -- */ --#define EEPROM_CMD_RD 0x0080 /* Read: Address required (5 bits) */ --#define EEPROM_CMD_WR 0x0040 /* Write: Address required (5 bits) */ --#define EEPROM_CMD_ERASE 0x00c0 /* Erase: Address required (5 bits) */ --#define EEPROM_CMD_EWEN 0x0030 /* Erase/Write Enable: No data required */ -- --#define EEPROM_BUSY (1<<15) --#define EEPROM_TST_MODE (1<<14) -- --/* -- * Some short functions, worth to let them be a macro -- */ --#define is_eeprom_busy(b) (inw((b)+EP_W0_EEPROM_COMMAND)&EEPROM_BUSY) --#define GO_WINDOW(x) outw(WINDOW_SELECT|(x), BASE+EP_COMMAND) -- --/************************************************************************** -- * -- * These define the EEPROM data structure. They are used in the probe -- * function to verify the existance of the adapter after having sent -- * the ID_Sequence. -- * -- * There are others but only the ones we use are defined here. -- * -- **************************************************************************/ -- --#define EEPROM_NODE_ADDR_0 0x0 /* Word */ --#define EEPROM_NODE_ADDR_1 0x1 /* Word */ --#define EEPROM_NODE_ADDR_2 0x2 /* Word */ --#define EEPROM_PROD_ID 0x3 /* 0x9[0-f]50 */ --#define EEPROM_MFG_ID 0x7 /* 0x6d50 */ --#define EEPROM_ADDR_CFG 0x8 /* Base addr */ --#define EEPROM_RESOURCE_CFG 0x9 /* IRQ. Bits 12-15 */ -- --/************************************************************************** -- * -- * These are the registers for the 3Com 3c509 and their bit patterns when -- * applicable. They have been taken out the the "EtherLink III Parallel -- * Tasking EISA and ISA Technical Reference" "Beta Draft 10/30/92" manual -- * from 3com. -- * -- **************************************************************************/ -- --#define EP_COMMAND 0x0e /* Write. BASE+0x0e is always a -- * command reg. */ --#define EP_STATUS 0x0e /* Read. BASE+0x0e is always status -- * reg. */ --#define EP_WINDOW 0x0f /* Read. BASE+0x0f is always window -- * reg. */ --/* -- * Window 0 registers. Setup. -- */ --/* Write */ --#define EP_W0_EEPROM_DATA 0x0c --#define EP_W0_EEPROM_COMMAND 0x0a --#define EP_W0_RESOURCE_CFG 0x08 --#define EP_W0_ADDRESS_CFG 0x06 --#define EP_W0_CONFIG_CTRL 0x04 --/* Read */ --#define EP_W0_PRODUCT_ID 0x02 --#define EP_W0_MFG_ID 0x00 -- --/* -- * Window 1 registers. Operating Set. -- */ --/* Write */ --#define EP_W1_TX_PIO_WR_2 0x02 --#define EP_W1_TX_PIO_WR_1 0x00 --/* Read */ --#define EP_W1_FREE_TX 0x0c --#define EP_W1_TX_STATUS 0x0b /* byte */ --#define EP_W1_TIMER 0x0a /* byte */ --#define EP_W1_RX_STATUS 0x08 --#define EP_W1_RX_PIO_RD_2 0x02 --#define EP_W1_RX_PIO_RD_1 0x00 -- --/* -- * Window 2 registers. Station Address Setup/Read -- */ --/* Read/Write */ --#define EP_W2_ADDR_5 0x05 --#define EP_W2_ADDR_4 0x04 --#define EP_W2_ADDR_3 0x03 --#define EP_W2_ADDR_2 0x02 --#define EP_W2_ADDR_1 0x01 --#define EP_W2_ADDR_0 0x00 -- --/* -- * Window 3 registers. FIFO Management. -- */ --/* Read */ --#define EP_W3_FREE_TX 0x0c --#define EP_W3_FREE_RX 0x0a -- --/* -- * Window 4 registers. Diagnostics. -- */ --/* Read/Write */ --#define EP_W4_MEDIA_TYPE 0x0a --#define EP_W4_CTRLR_STATUS 0x08 --#define EP_W4_NET_DIAG 0x06 --#define EP_W4_FIFO_DIAG 0x04 --#define EP_W4_HOST_DIAG 0x02 --#define EP_W4_TX_DIAG 0x00 -- --/* -- * Window 5 Registers. Results and Internal status. -- */ --/* Read */ --#define EP_W5_READ_0_MASK 0x0c --#define EP_W5_INTR_MASK 0x0a --#define EP_W5_RX_FILTER 0x08 --#define EP_W5_RX_EARLY_THRESH 0x06 --#define EP_W5_TX_AVAIL_THRESH 0x02 --#define EP_W5_TX_START_THRESH 0x00 -- --/* -- * Window 6 registers. Statistics. -- */ --/* Read/Write */ --#define TX_TOTAL_OK 0x0c --#define RX_TOTAL_OK 0x0a --#define TX_DEFERRALS 0x08 --#define RX_FRAMES_OK 0x07 --#define TX_FRAMES_OK 0x06 --#define RX_OVERRUNS 0x05 --#define TX_COLLISIONS 0x04 --#define TX_AFTER_1_COLLISION 0x03 --#define TX_AFTER_X_COLLISIONS 0x02 --#define TX_NO_SQE 0x01 --#define TX_CD_LOST 0x00 -- --/**************************************** -- * -- * Register definitions. -- * -- ****************************************/ -- --/* -- * Command register. All windows. -- * -- * 16 bit register. -- * 15-11: 5-bit code for command to be executed. -- * 10-0: 11-bit arg if any. For commands with no args; -- * this can be set to anything. -- */ --#define GLOBAL_RESET (unsigned short) 0x0000 /* Wait at least 1ms -- * after issuing */ --#define WINDOW_SELECT (unsigned short) (0x1<<11) --#define START_TRANSCEIVER (unsigned short) (0x2<<11) /* Read ADDR_CFG reg to -- * determine whether -- * this is needed. If -- * so; wait 800 uSec -- * before using trans- -- * ceiver. */ --#define RX_DISABLE (unsigned short) (0x3<<11) /* state disabled on -- * power-up */ --#define RX_ENABLE (unsigned short) (0x4<<11) --#define RX_RESET (unsigned short) (0x5<<11) --#define RX_DISCARD_TOP_PACK (unsigned short) (0x8<<11) --#define TX_ENABLE (unsigned short) (0x9<<11) --#define TX_DISABLE (unsigned short) (0xa<<11) --#define TX_RESET (unsigned short) (0xb<<11) --#define REQ_INTR (unsigned short) (0xc<<11) --#define SET_INTR_MASK (unsigned short) (0xe<<11) --#define SET_RD_0_MASK (unsigned short) (0xf<<11) --#define SET_RX_FILTER (unsigned short) (0x10<<11) --#define FIL_INDIVIDUAL (unsigned short) (0x1) --#define FIL_GROUP (unsigned short) (0x2) --#define FIL_BRDCST (unsigned short) (0x4) --#define FIL_ALL (unsigned short) (0x8) --#define SET_RX_EARLY_THRESH (unsigned short) (0x11<<11) --#define SET_TX_AVAIL_THRESH (unsigned short) (0x12<<11) --#define SET_TX_START_THRESH (unsigned short) (0x13<<11) --#define STATS_ENABLE (unsigned short) (0x15<<11) --#define STATS_DISABLE (unsigned short) (0x16<<11) --#define STOP_TRANSCEIVER (unsigned short) (0x17<<11) --/* -- * The following C_* acknowledge the various interrupts. Some of them don't -- * do anything. See the manual. -- */ --#define ACK_INTR (unsigned short) (0x6800) --#define C_INTR_LATCH (unsigned short) (ACK_INTR|0x1) --#define C_CARD_FAILURE (unsigned short) (ACK_INTR|0x2) --#define C_TX_COMPLETE (unsigned short) (ACK_INTR|0x4) --#define C_TX_AVAIL (unsigned short) (ACK_INTR|0x8) --#define C_RX_COMPLETE (unsigned short) (ACK_INTR|0x10) --#define C_RX_EARLY (unsigned short) (ACK_INTR|0x20) --#define C_INT_RQD (unsigned short) (ACK_INTR|0x40) --#define C_UPD_STATS (unsigned short) (ACK_INTR|0x80) -- --/* -- * Status register. All windows. -- * -- * 15-13: Window number(0-7). -- * 12: Command_in_progress. -- * 11: reserved. -- * 10: reserved. -- * 9: reserved. -- * 8: reserved. -- * 7: Update Statistics. -- * 6: Interrupt Requested. -- * 5: RX Early. -- * 4: RX Complete. -- * 3: TX Available. -- * 2: TX Complete. -- * 1: Adapter Failure. -- * 0: Interrupt Latch. -- */ --#define S_INTR_LATCH (unsigned short) (0x1) --#define S_CARD_FAILURE (unsigned short) (0x2) --#define S_TX_COMPLETE (unsigned short) (0x4) --#define S_TX_AVAIL (unsigned short) (0x8) --#define S_RX_COMPLETE (unsigned short) (0x10) --#define S_RX_EARLY (unsigned short) (0x20) --#define S_INT_RQD (unsigned short) (0x40) --#define S_UPD_STATS (unsigned short) (0x80) --#define S_5_INTS (S_CARD_FAILURE|S_TX_COMPLETE|\ -- S_TX_AVAIL|S_RX_COMPLETE|S_RX_EARLY) --#define S_COMMAND_IN_PROGRESS (unsigned short) (0x1000) -- --/* -- * FIFO Registers. -- * RX Status. Window 1/Port 08 -- * -- * 15: Incomplete or FIFO empty. -- * 14: 1: Error in RX Packet 0: Incomplete or no error. -- * 13-11: Type of error. -- * 1000 = Overrun. -- * 1011 = Run Packet Error. -- * 1100 = Alignment Error. -- * 1101 = CRC Error. -- * 1001 = Oversize Packet Error (>1514 bytes) -- * 0010 = Dribble Bits. -- * (all other error codes, no errors.) -- * -- * 10-0: RX Bytes (0-1514) -- */ --#define ERR_RX_INCOMPLETE (unsigned short) (0x1<<15) --#define ERR_RX (unsigned short) (0x1<<14) --#define ERR_RX_OVERRUN (unsigned short) (0x8<<11) --#define ERR_RX_RUN_PKT (unsigned short) (0xb<<11) --#define ERR_RX_ALIGN (unsigned short) (0xc<<11) --#define ERR_RX_CRC (unsigned short) (0xd<<11) --#define ERR_RX_OVERSIZE (unsigned short) (0x9<<11) --#define ERR_RX_DRIBBLE (unsigned short) (0x2<<11) -- --/* -- * FIFO Registers. -- * TX Status. Window 1/Port 0B -- * -- * Reports the transmit status of a completed transmission. Writing this -- * register pops the transmit completion stack. -- * -- * Window 1/Port 0x0b. -- * -- * 7: Complete -- * 6: Interrupt on successful transmission requested. -- * 5: Jabber Error (TP Only, TX Reset required. ) -- * 4: Underrun (TX Reset required. ) -- * 3: Maximum Collisions. -- * 2: TX Status Overflow. -- * 1-0: Undefined. -- * -- */ --#define TXS_COMPLETE 0x80 --#define TXS_SUCCES_INTR_REQ 0x40 --#define TXS_JABBER 0x20 --#define TXS_UNDERRUN 0x10 --#define TXS_MAX_COLLISION 0x8 --#define TXS_STATUS_OVERFLOW 0x4 -- --/* -- * Configuration control register. -- * Window 0/Port 04 -- */ --/* Read */ --#define IS_AUI (1<<13) --#define IS_BNC (1<<12) --#define IS_UTP (1<<9) --/* Write */ --#define ENABLE_DRQ_IRQ 0x0001 --#define W0_P4_CMD_RESET_ADAPTER 0x4 --#define W0_P4_CMD_ENABLE_ADAPTER 0x1 --/* -- * Media type and status. -- * Window 4/Port 0A -- */ --#define ENABLE_UTP 0xc0 --#define DISABLE_UTP 0x0 -- --/* -- * Resource control register -- */ -- --#define SET_IRQ(i) ( ((i)<<12) | 0xF00) /* set IRQ i */ -- --/* -- * Receive status register -- */ -- --#define RX_BYTES_MASK (unsigned short) (0x07ff) --#define RX_ERROR 0x4000 --#define RX_INCOMPLETE 0x8000 -- -- --/* -- * Misc defines for various things. -- */ --#define ACTIVATE_ADAPTER_TO_CONFIG 0xff /* to the id_port */ --#define MFG_ID 0x6d50 /* in EEPROM and W0 ADDR_CONFIG */ --#define PROD_ID 0x9150 -- --#define AUI 0x1 --#define BNC 0x2 --#define UTP 0x4 -- --#define RX_BYTES_MASK (unsigned short) (0x07ff) -- -- /* EISA support */ --#define EP_EISA_START 0x1000 --#define EP_EISA_W0 0x0c80 -- --#ifdef INCLUDE_3C529 -- /* MCA support */ --#define MCA_MOTHERBOARD_SETUP_REG 0x94 --#define MCA_ADAPTER_SETUP_REG 0x96 --#define MCA_MAX_SLOT_NR 8 --#define MCA_POS_REG(n) (0x100+(n)) --#endif -- --/* -- * Local variables: -- * c-basic-offset: 8 -- * End: -- */ -Index: b/netboot/3c595.c -=================================================================== ---- a/netboot/3c595.c -+++ b/netboot/3c595.c -@@ -20,6 +20,7 @@ - * - * Copyright (c) 1994 Herb Peyerl - * -+* timlegge 08-24-2003 Add Multicast Support - */ - - /* #define EDEBUG */ -@@ -30,7 +31,7 @@ - #include "3c595.h" - #include "timer.h" - --static unsigned short eth_nic_base, eth_asic_base; -+static unsigned short eth_nic_base; - static unsigned short vx_connector, vx_connectors; - - static struct connector_entry { -@@ -57,14 +58,12 @@ - static void vxgetlink(void); - static void vxsetlink(void); - --#define udelay(n) waiton_timer2(((n)*TICKS_PER_MS)/1000) -- - /************************************************************************** - ETH_RESET - Reset adapter - ***************************************************************************/ - static void t595_reset(struct nic *nic) - { -- int i, j; -+ int i; - - /*********************************************************** - Reset 3Com 595 card -@@ -133,7 +132,7 @@ - outw(ACK_INTR | 0xff, BASE + VX_COMMAND); - - outw(SET_RX_FILTER | FIL_INDIVIDUAL | -- FIL_BRDCST, BASE + VX_COMMAND); -+ FIL_BRDCST|FIL_MULTICAST, BASE + VX_COMMAND); - - vxsetlink(); - /*{ -@@ -225,10 +224,9 @@ - /************************************************************************** - ETH_POLL - Wait for a frame - ***************************************************************************/ --static int t595_poll(struct nic *nic) -+static int t595_poll(struct nic *nic, int retrieve) - { - /* common variables */ -- unsigned short type = 0; /* used by EDEBUG */ - /* variables for 3C595 */ - short status, cst; - register short rx_fifo; -@@ -262,6 +260,8 @@ - if (rx_fifo==0) - return 0; - -+ if ( ! retrieve ) return 1; -+ - /* read packet */ - #ifdef EDEBUG - printf("[l=%d",rx_fifo); -@@ -300,12 +300,15 @@ - outw(RX_DISCARD_TOP_PACK, BASE + VX_COMMAND); - while (inw(BASE + VX_STATUS) & S_COMMAND_IN_PROGRESS); - #ifdef EDEBUG -+{ -+ unsigned short type = 0; /* used by EDEBUG */ - type = (nic->packet[12]<<8) | nic->packet[13]; - if(nic->packet[0]+nic->packet[1]+nic->packet[2]+nic->packet[3]+nic->packet[4]+ - nic->packet[5] == 0xFF*ETH_ALEN) - printf(",t=%hX,b]",type); - else - printf(",t=%hX]",type); -+} - #endif - return 1; - } -@@ -382,9 +385,8 @@ - static void - vxsetlink(void) - { -- int i, j, k; -+ int i, j; - char *reason, *warning; -- static short prev_flags; - static char prev_conn = -1; - - if (prev_conn == -1) { -@@ -438,28 +440,47 @@ - GO_WINDOW(1); - } - --static void t595_disable(struct nic *nic) -+static void t595_disable(struct dev *dev) - { -- outw(STOP_TRANSCEIVER, BASE + VX_COMMAND); -- udelay(8000); -- GO_WINDOW(4); -- outw(0, BASE + VX_W4_MEDIA_TYPE); -- GO_WINDOW(1); -+ struct nic *nic = (struct nic *)dev; -+ t595_reset(nic); -+ -+ outw(STOP_TRANSCEIVER, BASE + VX_COMMAND); -+ udelay(8000); -+ GO_WINDOW(4); -+ outw(0, BASE + VX_W4_MEDIA_TYPE); -+ GO_WINDOW(1); -+} -+ -+static void t595_irq(struct nic *nic __unused, irq_action_t action __unused) -+{ -+ switch ( action ) { -+ case DISABLE : -+ break; -+ case ENABLE : -+ break; -+ case FORCE : -+ break; -+ } - } - - /************************************************************************** - ETH_PROBE - Look for an adapter - ***************************************************************************/ --struct nic *t595_probe(struct nic *nic, unsigned short *probeaddrs, struct pci_device *pci) -+static int t595_probe(struct dev *dev, struct pci_device *pci) - { -+ struct nic *nic = (struct nic *)dev; - int i; - unsigned short *p; - -- if (probeaddrs == 0 || probeaddrs[0] == 0) -+ if (pci->ioaddr == 0) - return 0; - /* eth_nic_base = probeaddrs[0] & ~3; */ - eth_nic_base = pci->ioaddr; - -+ nic->irqno = 0; -+ nic->ioaddr = pci->ioaddr & ~3; -+ - GO_WINDOW(0); - outw(GLOBAL_RESET, BASE + VX_COMMAND); - VX_BUSY_WAIT; -@@ -487,14 +508,40 @@ - printf("Ethernet address: %!\n", nic->node_addr); - - t595_reset(nic); -- nic->reset = t595_reset; -- nic->poll = t595_poll; -+ dev->disable = t595_disable; -+ nic->poll = t595_poll; - nic->transmit = t595_transmit; -- nic->disable = t595_disable; -- return nic; -+ nic->irq = t595_irq; -+ return 1; - - } - -+static struct pci_id t595_nics[] = { -+PCI_ROM(0x10b7, 0x5900, "3c590", "3Com590"), /* Vortex 10Mbps */ -+PCI_ROM(0x10b7, 0x5950, "3c595", "3Com595"), /* Vortex 100baseTx */ -+PCI_ROM(0x10b7, 0x5951, "3c595-1", "3Com595"), /* Vortex 100baseT4 */ -+PCI_ROM(0x10b7, 0x5952, "3c595-2", "3Com595"), /* Vortex 100base-MII */ -+PCI_ROM(0x10b7, 0x9000, "3c900-tpo", "3Com900-TPO"), /* 10 Base TPO */ -+PCI_ROM(0x10b7, 0x9001, "3c900-t4", "3Com900-Combo"), /* 10/100 T4 */ -+PCI_ROM(0x10b7, 0x9004, "3c900b-tpo", "3Com900B-TPO"), /* 10 Base TPO */ -+PCI_ROM(0x10b7, 0x9005, "3c900b-combo", "3Com900B-Combo"), /* 10 Base Combo */ -+PCI_ROM(0x10b7, 0x9006, "3c900b-tpb2", "3Com900B-2/T"), /* 10 Base TP and Base2 */ -+PCI_ROM(0x10b7, 0x900a, "3c900b-fl", "3Com900B-FL"), /* 10 Base F */ -+PCI_ROM(0x10b7, 0x9800, "3c980-cyclone-1", "3Com980-Cyclone"), /* Cyclone */ -+PCI_ROM(0x10b7, 0x9805, "3c9805-1", "3Com9805"), /* Dual Port Server Cyclone */ -+PCI_ROM(0x10b7, 0x7646, "3csoho100-tx-1", "3CSOHO100-TX"), /* Hurricane */ -+PCI_ROM(0x10b7, 0x4500, "3c450-1", "3Com450 HomePNA Tornado"), -+}; -+ -+struct pci_driver t595_driver = { -+ .type = NIC_DRIVER, -+ .name = "3C595", -+ .probe = t595_probe, -+ .ids = t595_nics, -+ .id_count = sizeof(t595_nics)/sizeof(t595_nics[0]), -+ .class = 0, -+}; -+ - /* - * Local variables: - * c-basic-offset: 8 -Index: b/netboot/3c90x.c -=================================================================== ---- a/netboot/3c90x.c -+++ b/netboot/3c90x.c -@@ -1,7 +1,7 @@ - /* - * 3c90x.c -- This file implements the 3c90x driver for etherboot. Written - * by Greg Beeley, Greg.Beeley@LightSys.org. Modified by Steve Smith, -- * Steve.Smith@Juno.Com -+ * Steve.Smith@Juno.Com. Alignment bug fix Neil Newell (nn@icenoir.net). - * - * This program Copyright (C) 1999 LightSys Technology Services, Inc. - * Portions Copyright (C) 1999 Steve Smith -@@ -31,13 +31,15 @@ - * Re-wrote poll and transmit for - * better error recovery and heavy - * network traffic operation -+ * v2.01 5-26-2003 NN Fixed driver alignment issue which -+ * caused system lockups if driver structures -+ * not 8-byte aligned. - * - */ - - #include "etherboot.h" - #include "nic.h" - #include "pci.h" --#include "cards.h" - #include "timer.h" - - #define XCVR_MAGIC (0x5A00) -@@ -47,9 +49,6 @@ - **/ - #define XMIT_RETRIES 250 - --#undef virt_to_bus --#define virt_to_bus(x) ((unsigned long)x) -- - /*** Register definitions for the 3c905 ***/ - enum Registers - { -@@ -225,7 +224,7 @@ - unsigned int DataAddr; - unsigned int DataLength; - } -- TXD; -+ TXD __attribute__ ((aligned(8))); /* 64-bit aligned for bus mastering */ - - /*** RX descriptor ***/ - typedef struct -@@ -235,7 +234,7 @@ - unsigned int DataAddr; - unsigned int DataLength; - } -- RXD; -+ RXD __attribute__ ((aligned(8))); /* 64-bit aligned for bus mastering */ - - /*** Global variables ***/ - static struct -@@ -311,6 +310,7 @@ - } - - -+#if 0 - /*** a3c90x_internal_WriteEepromWord - write a physical word of - *** data to the onboard serial eeprom (not the BIOS prom, but the - *** nvram in the card that stores, among other things, the MAC -@@ -344,8 +344,9 @@ - - return 0; - } -+#endif - -- -+#if 0 - /*** a3c90x_internal_WriteEeprom - write data to the serial eeprom, - *** and re-compute the eeprom checksum. - ***/ -@@ -384,8 +385,7 @@ - - return 0; - } -- -- -+#endif - - /*** a3c90x_reset: exported function that resets the card to its default - *** state. This is so the Linux driver can re-set the card up the way -@@ -393,12 +393,10 @@ - *** not alter the selected transceiver that we used to download the boot - *** image. - ***/ --static void --a3c90x_reset(struct nic *nic) -+static void a3c90x_reset(void) - { -- int cfg; -- - #ifdef CFG_3C90X_PRESERVE_XCVR -+ int cfg; - /** Read the current InternalConfig value. **/ - a3c90x_internal_SetWindow(INF_3C90X.IOAddr, winTxRxOptions3); - cfg = inl(INF_3C90X.IOAddr + regInternalConfig_3_l); -@@ -473,7 +471,7 @@ - *** p - the pointer to the packet data itself. - ***/ - static void --a3c90x_transmit(struct nic *nic, const char *d, unsigned int t, -+a3c90x_transmit(struct nic *nic __unused, const char *d, unsigned int t, - unsigned int s, const char *p) - { - -@@ -553,7 +551,7 @@ - if (status & 0x02) - { - printf("3C90X: Tx Reclaim Error (%hhX)\n", status); -- a3c90x_reset(NULL); -+ a3c90x_reset(); - } - else if (status & 0x04) - { -@@ -572,18 +570,18 @@ - else if (status & 0x10) - { - printf("3C90X: Tx Underrun (%hhX)\n", status); -- a3c90x_reset(NULL); -+ a3c90x_reset(); - } - else if (status & 0x20) - { - printf("3C90X: Tx Jabber (%hhX)\n", status); -- a3c90x_reset(NULL); -+ a3c90x_reset(); - } - else if ((status & 0x80) != 0x80) - { - printf("3C90X: Internal Error - Incomplete Transmission (%hhX)\n", - status); -- a3c90x_reset(NULL); -+ a3c90x_reset(); - } - } - -@@ -601,7 +599,7 @@ - *** in nic->packetlen. Return 1 if a packet was found. - ***/ - static int --a3c90x_poll(struct nic *nic) -+a3c90x_poll(struct nic *nic, int retrieve) - { - int i, errcode; - -@@ -610,6 +608,8 @@ - return 0; - } - -+ if ( ! retrieve ) return 1; -+ - /** we don't need to acknowledge rxComplete -- the upload engine - ** does it for us. - **/ -@@ -663,34 +663,51 @@ - *** [Ken] - ***/ - static void --a3c90x_disable(struct nic *nic) -- { -+a3c90x_disable(struct dev *dev __unused) -+{ -+ /* reset and disable merge */ -+ a3c90x_reset(); - /* Disable the receiver and transmitter. */ - outw(cmdRxDisable, INF_3C90X.IOAddr + regCommandIntStatus_w); - outw(cmdTxDisable, INF_3C90X.IOAddr + regCommandIntStatus_w); -- } -- -+} - -+static void a3c90x_irq(struct nic *nic __unused, irq_action_t action __unused) -+{ -+ switch ( action ) { -+ case DISABLE : -+ break; -+ case ENABLE : -+ break; -+ case FORCE : -+ break; -+ } -+} - - /*** a3c90x_probe: exported routine to probe for the 3c905 card and perform - *** initialization. If this routine is called, the pci functions did find the - *** card. We just have to init it here. - ***/ --struct nic* --a3c90x_probe(struct nic *nic, unsigned short *probeaddrs, struct pci_device *pci) -- { -+static int a3c90x_probe(struct dev *dev, struct pci_device *pci) -+{ -+ struct nic *nic = (struct nic *)dev; - int i, c; - unsigned short eeprom[0x21]; - unsigned int cfg; - unsigned int mopt; -+ unsigned int mstat; - unsigned short linktype; -+#define HWADDR_OFFSET 10 - -- if (probeaddrs == 0 || probeaddrs[0] == 0) -+ if (pci->ioaddr == 0) - return 0; - - adjust_pci_device(pci); - -- INF_3C90X.IOAddr = probeaddrs[0] & ~3; -+ nic->ioaddr = pci->ioaddr & ~3; -+ nic->irqno = 0; -+ -+ INF_3C90X.IOAddr = pci->ioaddr & ~3; - INF_3C90X.CurrentWindow = 255; - switch (a3c90x_internal_ReadEeprom(INF_3C90X.IOAddr, 0x03)) - { -@@ -756,30 +773,45 @@ - "Copyright 1999 LightSys Technology Services, Inc.\n" - "Portions Copyright 1999 Steve Smith\n"); - printf("Provided with ABSOLUTELY NO WARRANTY.\n"); -+#ifdef CFG_3C90X_BOOTROM_FIX -+ if (INF_3C90X.isBrev) -+ { -+ printf("NOTE: 3c905b bootrom fix enabled; has side " -+ "effects. See 3c90x.txt for info.\n"); -+ } -+#endif - printf("-------------------------------------------------------" - "------------------------\n"); - - /** Retrieve the Hardware address and print it on the screen. **/ -- INF_3C90X.HWAddr[0] = eeprom[0]>>8; -- INF_3C90X.HWAddr[1] = eeprom[0]&0xFF; -- INF_3C90X.HWAddr[2] = eeprom[1]>>8; -- INF_3C90X.HWAddr[3] = eeprom[1]&0xFF; -- INF_3C90X.HWAddr[4] = eeprom[2]>>8; -- INF_3C90X.HWAddr[5] = eeprom[2]&0xFF; -+ INF_3C90X.HWAddr[0] = eeprom[HWADDR_OFFSET + 0]>>8; -+ INF_3C90X.HWAddr[1] = eeprom[HWADDR_OFFSET + 0]&0xFF; -+ INF_3C90X.HWAddr[2] = eeprom[HWADDR_OFFSET + 1]>>8; -+ INF_3C90X.HWAddr[3] = eeprom[HWADDR_OFFSET + 1]&0xFF; -+ INF_3C90X.HWAddr[4] = eeprom[HWADDR_OFFSET + 2]>>8; -+ INF_3C90X.HWAddr[5] = eeprom[HWADDR_OFFSET + 2]&0xFF; - printf("MAC Address = %!\n", INF_3C90X.HWAddr); - -+ /* Test if the link is good, if not continue */ -+ a3c90x_internal_SetWindow(INF_3C90X.IOAddr, winDiagnostics4); -+ mstat = inw(INF_3C90X.IOAddr + regMediaStatus_4_w); -+ if((mstat & (1<<11)) == 0) { -+ printf("Valid link not established\n"); -+ return 0; -+ } -+ - /** Program the MAC address into the station address registers **/ - a3c90x_internal_SetWindow(INF_3C90X.IOAddr, winAddressing2); -- outw(htons(eeprom[0]), INF_3C90X.IOAddr + regStationAddress_2_3w); -- outw(htons(eeprom[1]), INF_3C90X.IOAddr + regStationAddress_2_3w+2); -- outw(htons(eeprom[2]), INF_3C90X.IOAddr + regStationAddress_2_3w+4); -+ outw(htons(eeprom[HWADDR_OFFSET + 0]), INF_3C90X.IOAddr + regStationAddress_2_3w); -+ outw(htons(eeprom[HWADDR_OFFSET + 1]), INF_3C90X.IOAddr + regStationAddress_2_3w+2); -+ outw(htons(eeprom[HWADDR_OFFSET + 2]), INF_3C90X.IOAddr + regStationAddress_2_3w+4); - outw(0, INF_3C90X.IOAddr + regStationMask_2_3w+0); - outw(0, INF_3C90X.IOAddr + regStationMask_2_3w+2); - outw(0, INF_3C90X.IOAddr + regStationMask_2_3w+4); - - /** Fill in our entry in the etherboot arp table **/ - for(i=0;inode_addr[i] = (eeprom[i/2] >> (8*((i&1)^1))) & 0xff; -+ nic->node_addr[i] = (eeprom[HWADDR_OFFSET + i/2] >> (8*((i&1)^1))) & 0xff; - - /** Read the media options register, print a message and set default - ** xcvr. -@@ -903,8 +935,8 @@ - while (inw(INF_3C90X.IOAddr + regCommandIntStatus_w) & INT_CMDINPROGRESS) - ; - -- /** Set the RX filter = receive only individual pkts & bcast. **/ -- a3c90x_internal_IssueCommand(INF_3C90X.IOAddr, cmdSetRxFilter, 0x01 + 0x04); -+ /** Set the RX filter = receive only individual pkts & multicast & bcast. **/ -+ a3c90x_internal_IssueCommand(INF_3C90X.IOAddr, cmdSetRxFilter, 0x01 + 0x02 + 0x04); - a3c90x_internal_IssueCommand(INF_3C90X.IOAddr, cmdRxEnable, 0); - - -@@ -918,12 +950,46 @@ - cmdAcknowledgeInterrupt, 0x661); - - /** Set our exported functions **/ -- nic->reset = a3c90x_reset; -+ dev->disable = a3c90x_disable; - nic->poll = a3c90x_poll; - nic->transmit = a3c90x_transmit; -- nic->disable = a3c90x_disable; -+ nic->irq = a3c90x_irq; - -- return nic; -- } -+ return 1; -+} - - -+static struct pci_id a3c90x_nics[] = { -+/* Original 90x revisions: */ -+PCI_ROM(0x10b7, 0x9000, "3c905-tpo", "3Com900-TPO"), /* 10 Base TPO */ -+PCI_ROM(0x10b7, 0x9001, "3c905-t4", "3Com900-Combo"), /* 10/100 T4 */ -+PCI_ROM(0x10b7, 0x9050, "3c905-tpo100", "3Com905-TX"), /* 100 Base TX / 10/100 TPO */ -+PCI_ROM(0x10b7, 0x9051, "3c905-combo", "3Com905-T4"), /* 100 Base T4 / 10 Base Combo */ -+/* Newer 90xB revisions: */ -+PCI_ROM(0x10b7, 0x9004, "3c905b-tpo", "3Com900B-TPO"), /* 10 Base TPO */ -+PCI_ROM(0x10b7, 0x9005, "3c905b-combo", "3Com900B-Combo"), /* 10 Base Combo */ -+PCI_ROM(0x10b7, 0x9006, "3c905b-tpb2", "3Com900B-2/T"), /* 10 Base TP and Base2 */ -+PCI_ROM(0x10b7, 0x900a, "3c905b-fl", "3Com900B-FL"), /* 10 Base FL */ -+PCI_ROM(0x10b7, 0x9055, "3c905b-tpo100", "3Com905B-TX"), /* 10/100 TPO */ -+PCI_ROM(0x10b7, 0x9056, "3c905b-t4", "3Com905B-T4"), /* 10/100 T4 */ -+PCI_ROM(0x10b7, 0x9058, "3c905b-9058", "3Com905B-9058"), /* Cyclone 10/100/BNC */ -+PCI_ROM(0x10b7, 0x905a, "3c905b-fx", "3Com905B-FL"), /* 100 Base FX / 10 Base FX */ -+/* Newer 90xC revision: */ -+PCI_ROM(0x10b7, 0x9200, "3c905c-tpo", "3Com905C-TXM"), /* 10/100 TPO (3C905C-TXM) */ -+PCI_ROM(0x10b7, 0x9210, "3c920b-emb-wnm","3Com20B-EMB WNM"), -+PCI_ROM(0x10b7, 0x9800, "3c980", "3Com980-Cyclone"), /* Cyclone */ -+PCI_ROM(0x10b7, 0x9805, "3c9805", "3Com9805"), /* Dual Port Server Cyclone */ -+PCI_ROM(0x10b7, 0x7646, "3csoho100-tx", "3CSOHO100-TX"), /* Hurricane */ -+PCI_ROM(0x10b7, 0x4500, "3c450", "3Com450 HomePNA Tornado"), -+PCI_ROM(0x10b7, 0x1201, "3c982a", "3Com982A"), -+PCI_ROM(0x10b7, 0x1202, "3c982b", "3Com982B"), -+}; -+ -+struct pci_driver a3c90x_driver = { -+ .type = NIC_DRIVER, -+ .name = "3C90X", -+ .probe = a3c90x_probe, -+ .ids = a3c90x_nics, -+ .id_count = sizeof(a3c90x_nics)/sizeof(a3c90x_nics[0]), -+ .class = 0, -+}; -Index: b/netboot/3c90x.txt -=================================================================== ---- a/netboot/3c90x.txt -+++ /dev/null -@@ -1,307 +0,0 @@ -- -- Instructions for use of the 3C90X driver for EtherBoot -- -- Original 3C905B support by: -- Greg Beeley (Greg.Beeley@LightSys.org), -- LightSys Technology Services, Inc. -- February 11, 1999 -- -- Updates for 3C90X family by: -- Steve Smith (steve.smith@juno.com) -- October 1, 1999 -- -- Minor documentation updates by -- Greg Beeley (Greg.Beeley@LightSys.org) -- March 29, 2000 -- --------------------------------------------------------------------------------- -- --I OVERVIEW -- -- The 3c90X series ethernet cards are a group of high-performance busmaster -- DMA cards from 3Com. This particular driver supports both the 3c90x and -- the 3c90xB revision cards. 3C90xC family support has been tested to some -- degree but not extensively. -- -- Here's the licensing information: -- -- This program Copyright (C) 1999 LightSys Technology Services, Inc. -- Portions Copyright (C) 1999 Steve Smith. -- -- This program may be re-distributed in source or binary form, modified, -- sold, or copied for any purpose, provided that the above copyright message -- and this text are included with all source copies or derivative works, and -- provided that the above copyright message and this text are included in the -- documentation of any binary-only distributions. This program is -- distributed WITHOUT ANY WARRANTY, without even the warranty of FITNESS FOR -- A PARTICULAR PURPOSE or MERCHANTABILITY. Please read the associated -- documentation "3c90x.txt" before compiling and using this driver. -- -- --II FLASH PROMS -- -- The 3c90xB cards, according to the 3Com documentation, only accept the -- following flash memory chips: -- -- Atmel AT29C512 (64 kilobyte) -- Atmel AT29C010 (128 kilobyte) -- -- The 3c90x cards, according to the 3Com documentation, accept the -- following flash memory chips capacities: -- -- 64 kb (8 kB) -- 128 kb (16 kB) -- 256 kb (32 kB) and -- 512 kb (64 kB) -- -- Atmel AT29C512 (64 kilobyte) chips are specifically listed for both -- adapters, but flashing on the 3c905b cards would only be supported -- through the Atmel parts. Any device, of the supported size, should -- be supported when programmed by a dedicated PROM programmer (e.g. -- not the card). -- -- To use this driver in such a PROM, visit Atmel's web site and download -- their .PDF file containing a list of their distributors. Contact the -- distributors for pricing information. The prices are quite reasonable -- (about $3 US each for the 64 kB part), and are comparable to what one would -- expect for similarly sized standard EPROMs. And, the flash chips are much -- easier to work with, as they don't need to be UV-erased to be reprogrammed. -- The 3C905B card actually provides a method to program the flash memory -- while it is resident on board the card itself; if someone would like to -- write a small DOS program to do the programming, I can provide the -- information about the registers and so forth. -- -- A utility program, 3c90xutil, is provided with Etherboot in the 'contrib' -- directory that allows for the on-board flashing of the ROM while Linux -- is running. The program has been successfully used under Linux, but I -- have heard problem reports of its use under FreeBSD. Anyone willing to -- make it work under FreeBSD is more than welcome to do so! -- -- You also have the option of using EPROM chips - the 3C905B-TX-NM has been -- successfully tested with 27C256 (32kB) and 27C512 (64kB) chips with a -- specified access time of 100ns and faster. -- -- --III GENERAL USE -- -- Normally, the basic procedure for using this driver is as follows: -- -- 1. Run the 3c90xcfg program on the driver diskette to enable the -- boot PROM and set it to 64k or 128k, as appropriate. -- 2. Build the appropriate 3c90x.fd0 or 3c90x.fd0 floppy image with -- possibly the value CFG_3C90X_XCVR defined to the transceiver type that -- you want to use (i.e., 10/100 rj45, AUI, coax, MII). -- 3. Run the floppy image on the PC to be network booted, to get -- it configured, and to verify that it will boot properly. -- 4. Build the 3c90x.rom or 3c90x.lzrom PROM image and program -- it into the flash or EPROM memory chip. -- 5. Put the PROM in the ethernet card, boot and enable 'boot from -- network first' in the system BIOS, save and reboot. -- -- Here are some issues to be aware of: -- -- 1. If you experience crashes or different behaviour when using the -- boot PROM, add the setting CFG_3C90X_BOOTROM_FIX and go through the -- steps 2-5 above. This works around a bug in some 3c905B cards (see -- below), but has some side-effects which may not be desirable. -- Please note that you have to boot off a floppy (not PROM!) once for -- this fix to take effect. -- 2. The possible need to manually set the CFG_3C90X_XCVR value to -- configure the transceiver type. Values are listed below. -- 3. The possible need to define CFG_3C90X_PRESERVE_XCVR for use in -- operating systems that don't intelligently determine the -- transceiver type. -- -- Some things that are on the 'To-Do' list, perhaps for me, but perhaps -- for any other volunteers out there: -- -- 1. Extend the driver to fully implement the auto-select -- algorithm if the card has multiple media ports. -- 2. Fix any bugs in the code .... -- 3. Extend the driver to support the 3c905c revision cards -- "officially". Right now, the support has been primarily empirical -- and not based on 3c905C documentation. -- -- Now for the details.... -- -- This driver has been tested on roughly 300 systems. The main two -- configuration issues to contend with are: -- -- 1. Ensure that PCI Busmastering is enabled for the adapter (configured -- in the CMOS setup) -- 2. Some systems don't work properly with the adapter when plug and -- play OS is enabled; I always set it to "No" or "Disabled" -- this makes -- it easier and really doesn't adversely affect anything. -- -- Roughly 95% of the systems worked when configured properly. A few -- have issues with booting locally once the boot PROM has been installed -- (this number has been less than 2%). Other configuration issues that -- to check: -- -- 1. Newer BIOS's actually work correctly with the network boot order. -- Set the network adapter first. Most older BIOS's automatically go to -- the network boot PROM first. -- 2. For systems where the adapter was already installed and is just -- having the PROM installed, try setting the "reset configuration data" -- to yes in the CMOS setup if the BIOS isn't seen at first. If your BIOS -- doesn't have this option, remove the card, start the system, shut down, -- install the card and restart (or switch to a different PCI slot). -- 3. Make sure the CMOS security settings aren't preventing a boot. -- -- The 3c905B cards have a significant 'bug' that relates to the flash prom: -- unless the card is set internally to the MII transceiver, it will only -- read the first 8k of the PROM image. Don't ask why -- it seems really -- obscure, but it has to do with the way they mux'd the address lines -- from the PCI bus to the ROM. Unfortunately, most of us are not using -- MII transceivers, and even the .lzrom image ends up being just a little -- bit larger than 8k. Note that the workaround for this is disabled by -- default, because the Windows NT 4.0 driver does not like it (no packets -- are transmitted). -- -- So, the solution that I've used is to internally set the card's nvram -- configuration to use MII when it boots. The 3c905b driver does this -- automatically. This way, the 16k prom image can be loaded into memory, -- and then the 3c905b driver can set the temporary configuration of the -- card to an appropriate value, either configurable by the user or chosen -- by the driver. -- -- To enable the 3c905B bugfix, which is necessary for these cards when -- booting from the Flash ROM, define -DCFG_3C90X_BOOTROM_FIX when building, -- create a floppy image and boot it once. -- Thereafter, the card should accept the larger prom image. -- -- The driver should choose an appropriate transceiver on the card. However, -- if it doesn't on your card or if you need to, for instance, set your -- card to 10mbps when connected to an unmanaged 10/100 hub, you can specify -- which transceiver you want to use. To do this, build the 3c905b.fd0 -- image with -DCFG_3C90X_XCVR=x, where 'x' is one of the following -- values: -- -- 0 10Base-T -- 1 10mbps AUI -- 3 10Base-2 (thinnet/coax) -- 4 100Base-TX -- 5 100Base-FX -- 6 MII -- 8 Auto-negotiation 10Base-T / 100Base-TX (usually the default) -- 9 MII External MAC Mode -- 255 Allow driver to choose an 'appropriate' media port. -- -- Then proceed from step 2 in the above 'general use' instructions. The -- .rom image can be built with CFG_3C90X_XCVR set to a value, but you -- normally don't want to do this, since it is easier to change the -- transceiver type by rebuilding a new floppy, changing the BIOS to floppy -- boot, booting, and then changing the BIOS back to network boot. If -- CFG_3C90X_XCVR is not set in a particular build, it just uses the -- current configuration (either its 'best guess' or whatever the stored -- CFG_3C90X_XCVR value was from the last time it was set). -- -- [[ Note for the more technically inclined: The CFG_3C90X_XCVR value is -- programmed into a register in the card's NVRAM that was reserved for -- LanWorks PROM images to use. When the driver boots, the card comes -- up in MII mode, and the driver checks the LanWorks register to find -- out if the user specified a transceiver type. If it finds that -- information, it uses that, otherwise it picks a transceiver that the -- card has based on the 3c905b's MediaOptions register. This driver isn't -- quite smart enough to always determine which media port is actually -- _connected_; maybe someone else would like to take on that task (it -- actually involves sending a self-directed packet and seeing if it -- comes back. IF it does, that port is connected). ]] -- -- Another issue to keep in mind is that it is possible that some OS'es -- might not be happy with the way I've handled the PROM-image hack with -- setting MII mode on bootup. Linux 2.0.35 does not have this problem. -- Behavior of other systems may vary. The 3com documentation specifically -- says that, at least with the card that I have, the device driver in the -- OS should auto-select the media port, so other drivers should work fine -- with this 'hack'. However, if yours doesn't seem to, you can try defining -- CFG_3C90X_PRESERVE_XCVR when building to cause Etherboot to keep the -- working setting (that allowed the bootp/tftp process) across the eth_reset -- operation. -- -- --IV FOR DEVELOPERS.... -- -- If you would like to fix/extend/etc. this driver, feel free to do so; just -- be sure you can test the modified version on the 3c905B-TX cards that the -- driver was originally designed for. This section of this document gives -- some information that might be relevant to a programmer. -- -- A. Main Entry Point -- -- a3c90x_probe is the main entry point for this driver. It is referred -- to in an array in 'config.c'. -- -- B. Other Important Functions -- -- The functions a3c90x_transmit, a3c90x_poll, a3c90x_reset, and -- a3c90x_disable are static functions that EtherBoot finds out about -- as a result of a3c90x_probe setting entries in the nic structure -- for them. The EtherBoot framework does not use interrupts. It is -- polled. All transmit and receive operations are initiated by the -- etherboot framework, not by an interrupt or by the driver. -- -- C. Internal Functions -- -- The following functions are internal to the driver: -- -- a3c90x_internal_IssueCommand - sends a command to the 3c905b card. -- a3c90x_internal_SetWindow - shifts between one of eight register -- windows onboard the 3c90x. The bottom 16 bytes of the card's -- I/O space are multiplexed among 128 bytes, only 16 of which are -- visible at any one time. This SetWindow function selects one of -- the eight sets. -- a3c90x_internal_ReadEeprom - reads a word (16 bits) from the -- card's onboard nvram. This is NOT the BIOS boot rom. This is -- where the card stores such things as its hardware address. -- a3c90x_internal_WriteEeprom - writes a word (16 bits) to the -- card's nvram, and recomputes the eeprom checksum. -- a3c90x_internal_WriteEepromWord - writes a word (16 bits) to the -- card's nvram. Used by the above routine. -- a3c90x_internal_WriteEepromWord - writes a word (16 bits) to the -- card's nvram. Used by the above routine. -- -- D. Globals -- -- All global variables are inside a global structure named INF_3C90X. -- So, wherever you see that structure referenced, you know the variable -- is a global. Just keeps things a little neater. -- -- E. Enumerations -- -- There are quite a few enumerated type definitions for registers and -- so forth, many for registers that I didn't even touch in the driver. -- Register types start with 'reg', window numbers (for SetWindow) -- start with 'win', and commands (for IssueCommand) start with 'cmd'. -- Register offsets also include an indication in the name as to the -- size of the register (_b = byte, _w = word, _l = long), and which -- window the register is in, if it is windowed (0-7). -- -- F. Why the 'a3c90x' name? -- -- I had to come up with a letter at the beginning of all of the -- identifiers, since 3com so conveniently had their name start with a -- number. Another driver used 't' (for 'three'?); I chose 'a' for -- no reason at all. -- --Addendum by Jorge L. deLyra , 22Nov2000 re --working around the 3C905 hardware bug mentioned above: -- --Use this floppy to fix any 3COM model 3C905B PCI 10/100 Ethernet cards --that fail to load and run the boot program the first time around. If --they have a "Lucent" rather than a "Broadcom" chipset these cards have --a configuration bug that causes a hang when trying to load the boot --program from the PROM, if you try to use them right out of the box. -- --The boot program in this floppy is the file named 3c905b-tpo100.rom --from Etherboot version 4.6.10, compiled with the bugfix parameter -- -- CFG_3C90X_BOOTROM_FIX -- --You have to take the chip off the card and boot the system once using --this floppy. Once loaded from the floppy, the boot program will access --the card and change some setting in it, correcting the problem. After --that you may use either this boot program or the normal one, compiled --without this bugfix parameter, to boot the machine from the PROM chip. -- --[Any recent Etherboot version should do, not just 4.6.10 - Ed.] -Index: b/netboot/Makefile.am -=================================================================== ---- a/netboot/Makefile.am -+++ b/netboot/Makefile.am -@@ -10,58 +10,72 @@ - - noinst_LIBRARIES = $(LIBDRIVERS) - --libdrivers_a_SOURCES = cards.h config.c etherboot.h \ -- fsys_tftp.c linux-asm-io.h linux-asm-string.h \ -- main.c misc.c nic.h osdep.h pci.c pci.h timer.c timer.h --EXTRA_libdrivers_a_SOURCES = 3c509.c 3c509.h 3c595.c 3c595.h 3c90x.c \ -- cs89x0.c cs89x0.h davicom.c depca.c eepro.c eepro100.c \ -- epic100.c epic100.h fa311.c i82586.c lance.c natsemi.c \ -- ni5010.c ns8390.c ns8390.h otulip.c otulip.h rtl8139.c \ -- sis900.c sis900.h sk_g16.c sk_g16.h smc9000.c smc9000.h \ -- tiara.c tlan.c tulip.c via-rhine.c w89c840.c -+libdrivers_a_SOURCES = big_bswap.h bootp.h byteswap.h config.c cpu.h \ -+ dev.h elf.h endian.h etherboot.h fsys_tftp.c grub.h \ -+ i386_byteswap.h i386_elf.h i386_endian.h i386_timer.c \ -+ if_arp.h if_ether.h igmp.h in.h io.h ip.h isa.h latch.h \ -+ little_bswap.h misc.c nic.c nic.h osdep.h pci.c pci.h \ -+ pci_ids.h pci_io.c stdint.h tftp.h timer.c timer.h \ -+ types.h udp.h mii.h pic8259.c pic8259.h pxe.h basemem.c segoff.h -+EXTRA_libdrivers_a_SOURCES = 3c595.c 3c595.h 3c90x.c davicom.c \ -+ e1000.c e1000_hw.h eepro100.c epic100.c epic100.h natsemi.c \ -+ ns8390.c ns8390.h pcnet32.c rtl8139.c sis900.c sis900.h \ -+ sundance.c tg3.c tg3.h tlan.c tlan.h tulip.c via-rhine.c \ -+ w89c840.c r8169.c forcedeth.c ns83820.c pnic.c pnic_api.c \ -+ undi.c undi.h - libdrivers_a_CFLAGS = $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - -DFSYS_TFTP=1 $(NET_CFLAGS) $(NET_EXTRAFLAGS) - # Filled by configure. - libdrivers_a_LIBADD = @NETBOOT_DRIVERS@ - libdrivers_a_DEPENDENCIES = $(libdrivers_a_LIBADD) - --EXTRA_DIST = README.netboot 3c90x.txt cs89x0.txt sis900.txt tulip.txt -+EXTRA_DIST = README.netboot - - # These below are several special rules for the device drivers. - # We cannot use a simple rule for them... - - # What objects are derived from a driver? --3c509_drivers = 3c509.o 3c529.o -+#3c509_drivers = 3c509.o 3c529.o - 3c595_drivers = 3c595.o - 3c90x_drivers = 3c90x.o --cs89x0_drivers = cs89x0.o -+#cs89x0_drivers = cs89x0.o - davicom_drivers = davicom.o --depca_drivers = depca.o --eepro_drivers = eepro.o -+#depca_drivers = depca.o -+#eepro_drivers = eepro.o -+e1000_drivers = e1000.o - eepro100_drivers = eepro100.o - epic100_drivers = epic100.o - #fa311_drivers = fa311.o --i82586_drivers = 3c507.o exos205.o ni5210.o --lance_drivers = lance.o ne2100.o ni6510.o -+forcedeth_drivers = forcedeth.o -+#i82586_drivers = 3c507.o exos205.o ni5210.o -+#lance_drivers = lance.o ne2100.o ni6510.o - natsemi_drivers = natsemi.o --ni5010_drivers = ni5010.o -+#ni5010_drivers = ni5010.o -+ns83820_drivers = ns83820.o - ns8390_drivers = 3c503.o ne.o ns8390.o wd.o --otulip_drivers = otulip.o -+#otulip_drivers = otulip.o -+pcnet32_drivers = pcnet32.o -+pnic_drivers = pnic.o -+r8169_drivers = r8169.o - rtl8139_drivers = rtl8139.o - sis900_drivers = sis900.o --sk_g16_drivers = sk_g16.o --smc9000_drivers = smc9000.o --tiara_drivers = tiara.o --#tlan_drivers = tlan.o -+#sk_g16_drivers = sk_g16.o -+sundance_driver = sundance.o -+#smc9000_drivers = smc9000.o -+tg3_drivers = tg3.o -+#tiara_drivers = tiara.o -+tlan_drivers = tlan.o - tulip_drivers = tulip.o -+undi_drivers = undi.o - via_rhine_drivers = via_rhine.o - w89c840_drivers = w89c840.o - -+ - # Is it really necessary to specify dependecies explicitly? --$(3c509_drivers): 3c509.c 3c509.h --$(3c509_drivers): %.o: 3c509.c -- $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -- $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< -+#$(3c509_drivers): 3c509.c 3c509.h -+#$(3c509_drivers): %.o: 3c509.c -+# $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -+# $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - - $(3c595_drivers): 3c595.c 3c595.h - $(3c595_drivers): %.o: 3c595.c -@@ -73,23 +87,28 @@ - $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - --$(cs89x0_drivers): cs89x0.c cs89x0.h --$(cs89x0_drivers): %.o: cs89x0.c -- $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -- $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< -+#$(cs89x0_drivers): cs89x0.c cs89x0.h -+#$(cs89x0_drivers): %.o: cs89x0.c -+# $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -+# $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - - $(davicom_drivers): davicom.c - $(davicom_drivers): %.o: davicom.c - $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - --$(depca_drivers): depca.c --$(depca_drivers): %.o: depca.c -- $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -- $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< -+#$(depca_drivers): depca.c -+#$(depca_drivers): %.o: depca.c -+# $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -+# $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< -+ -+#$(eepro_drivers): eepro.c -+#$(eepro_drivers): %.o: eepro.c -+# $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -+# $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - --$(eepro_drivers): eepro.c --$(eepro_drivers): %.o: eepro.c -+$(e1000_drivers): e1000.c e1000_hw.h -+$(e1000_drivers): %.o: e1000.c - $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - -@@ -103,28 +122,38 @@ - $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - -+$(forcedeth_drivers): forcedeth.c -+$(forcedeth_drivers): %.o: forcedeth.c -+ $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -+ $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< -+ - #$(fa311_drivers): fa311.c - #$(fa311_drivers): %.o: fa311.c - # $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - # $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - --$(i82586_drivers): i82586.c --$(i82586_drivers): %.o: i82586.c -- $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -- $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< -+#$(i82586_drivers): i82586.c -+#$(i82586_drivers): %.o: i82586.c -+# $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -+# $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - --$(lance_drivers): lance.c --$(lance_drivers): %.o: lance.c -- $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -- $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< -+#$(lance_drivers): lance.c -+#$(lance_drivers): %.o: lance.c -+# $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -+# $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - - $(natsemi_drivers): natsemi.c - $(natsemi_drivers): %.o: natsemi.c - $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - --$(ni5010_drivers): ni5010.c --$(ni5010_drivers): %.o: ni5010.c -+#$(ni5010_drivers): ni5010.c -+#$(ni5010_drivers): %.o: ni5010.c -+# $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -+# $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< -+ -+$(ns83820_drivers): ns83820.c -+$(ns83820_drivers): %.o: ns83820.c - $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - -@@ -133,8 +162,18 @@ - $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - --$(otulip_drivers): otulip.c otulip.h --$(otulip_drivers): %.o: otulip.c -+#$(otulip_drivers): otulip.c otulip.h -+#$(otulip_drivers): %.o: otulip.c -+# $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -+# $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< -+ -+$(pcnet32_drivers): pcnet32.c -+$(pcnet32_drivers): %.o: pcnet32.c -+ $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -+ $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< -+ -+$(pnic_drivers): pnic.c -+$(pnic_drivers): %.o: pnic.c pnic_api.h - $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - -@@ -143,36 +182,56 @@ - $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - --$(sis900_drivers): sis900.c --$(sis900_drivers): %.o: sis900.c sis900.h -+$(r8169_drivers): r8169.c -+$(r8169_drivers): %.o: r8169.c - $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - --$(sk_g16_drivers): sk_g16.c sk_g16.h --$(sk_g16_drivers): %.o: sk_g16.c -+$(sis900_drivers): sis900.c sis900.h -+$(sis900_drivers): %.o: sis900.c - $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - --$(smc9000_drivers): smc9000.c smc9000.h --$(smc9000_drivers): %.o: smc9000.c -+#$(sk_g16_drivers): sk_g16.c sk_g16.h -+#$(sk_g16_drivers): %.o: sk_g16.c -+# $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -+# $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< -+ -+#$(smc9000_drivers): smc9000.c smc9000.h -+#$(smc9000_drivers): %.o: smc9000.c -+# $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -+# $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< -+ -+$(sundance_drivers): sundance.c -+$(sundance_drivers): %.o: sundance.c - $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - --$(tiara_drivers): tiara.c --$(tiara_drivers): %.o: tiara.c -+$(tg3_drivers): tg3.c tg3.h -+$(tg3_drivers): %.o: tg3.c - $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - --#$(tlan_drivers): tlan.c --#$(tlan_drivers): %.o: tlan.c -+#$(tiara_drivers): tiara.c -+#$(tiara_drivers): %.o: tiara.c - # $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - # $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - -+$(tlan_drivers): tlan.c tlan.h -+$(tlan_drivers): %.o: tlan.c -+ $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -+ $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< -+ - $(tulip_drivers): tulip.c - $(tulip_drivers): %.o: tulip.c - $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - -+$(undi_drivers): undi.c undi.h -+$(undi_drivers): %.o: undi.c -+ $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -+ $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< -+ - $(via_rhine_drivers): via-rhine.c - $(via_rhine_drivers): %.o: via-rhine.c - $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -@@ -184,36 +243,45 @@ - $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - - # Per-object flags. --3c509_o_CFLAGS = -DINCLUDE_3C509=1 --3c529_o_CFLAGS = -DINCLUDE_3C529=1 -+#3c509_o_CFLAGS = -DINCLUDE_3C509=1 -+#3c529_o_CFLAGS = -DINCLUDE_3C529=1 - 3c595_o_CFLAGS = -DINCLUDE_3C595=1 - 3c90x_o_CFLAGS = -DINCLUDE_3C90X=1 --cs89x0_o_CFLAGS = -DINCLUDE_CS89X0=1 -+#cs89x0_o_CFLAGS = -DINCLUDE_CS89X0=1 - davicom_o_CFLAGS = -DINCLUDE_DAVICOM=1 --depca_o_CFLAGS = -DINCLUDE_DEPCA=1 --eepro_o_CFLAGS = -DINCLUDE_EEPRO=1 -+#depca_o_CFLAGS = -DINCLUDE_DEPCA=1 -+#eepro_o_CFLAGS = -DINCLUDE_EEPRO=1 -+e1000_o_CFLAGS = -DINCLUDE_E1000=1 - eepro100_o_CFLAGS = -DINCLUDE_EEPRO100=1 - epic100_o_CFLAGS = -DINCLUDE_EPIC100=1 - #fa311_o_CFLAGS = -DINCLUDE_FA311=1 --3c507_o_CFLAGS = -DINCLUDE_3C507=1 --exos205_o_CFLAGS = -DINCLUDE_EXOS205=1 --ni5210_o_CFLAGS = -DINCLUDE_NI5210=1 --lance_o_CFLAGS = -DINCLUDE_LANCE=1 --ne2100_o_CFLAGS = -DINCLUDE_NE2100=1 --ni6510_o_CFLAGS = -DINCLUDE_NI6510=1 -+forcedeth_o_CFLAGS = -DINCLUDE_FORCEDETH=1 -+#3c507_o_CFLAGS = -DINCLUDE_3C507=1 -+#exos205_o_CFLAGS = -DINCLUDE_EXOS205=1 -+#ni5210_o_CFLAGS = -DINCLUDE_NI5210=1 -+#lance_o_CFLAGS = -DINCLUDE_LANCE=1 -+#ne2100_o_CFLAGS = -DINCLUDE_NE2100=1 -+#ni6510_o_CFLAGS = -DINCLUDE_NI6510=1 - natsemi_o_CFLAGS = -DINCLUDE_NATSEMI=1 --ni5010_o_CFLAGS = -DINCLUDE_NI5010=1 --3c503_o_CFLAGS = -DINCLUDE_3C503=1 --ne_o_CFLAGS = -DINCLUDE_NE=1 -+#ni5010_o_CFLAGS = -DINCLUDE_NI5010=1 -+#3c503_o_CFLAGS = -DINCLUDE_3C503=1 -+#ne_o_CFLAGS = -DINCLUDE_NE=1 -+ns83820_o_CFLAGS = -DINCLUDE_NS83820=1 - ns8390_o_CFLAGS = -DINCLUDE_NS8390=1 --wd_o_CFLAGS = -DINCLUDE_WD=1 --otulip_o_CFLAGS = -DINCLUDE_OTULIP=1 -+#wd_o_CFLAGS = -DINCLUDE_WD=1 -+#otulip_o_CFLAGS = -DINCLUDE_OTULIP=1 -+pcnet32_o_CFLAGS = -DINCLUDE_PCNET32=1 -+pnic_o_CFLAGS = -DINCLUDE_PNIC=1 -+r8169_o_CFLAGS = -DINCLUDE_R8169=1 - rtl8139_o_CFLAGS = -DINCLUDE_RTL8139=1 - sis900_o_CFLAGS = -DINCLUDE_SIS900=1 --sk_g16_o_CFLAGS = -DINCLUDE_SK_G16=1 --smc9000_o_CFLAGS = -DINCLUDE_SMC9000=1 --tiara_o_CFLAGS = -DINCLUDE_TIARA=1 --#tlan_o_CFLAGS = -DINCLUDE_TLAN=1 -+#sk_g16_o_CFLAGS = -DINCLUDE_SK_G16=1 -+#smc9000_o_CFLAGS = -DINCLUDE_SMC9000=1 -+sundance_o_CFLAGS = -DINCLUDE_SUNDANCE=1 -+#tiara_o_CFLAGS = -DINCLUDE_TIARA=1 -+tg3_o_CFLAGS = -DINCLUDE_TG3=1 -+tlan_o_CFLAGS = -DINCLUDE_TLAN=1 - tulip_o_CFLAGS = -DINCLUDE_TULIP=1 -+undi_o_CFLAGS = -DINCLUDE_UNDI=1 - via_rhine_o_CFLAGS = -DINCLUDE_VIA_RHINE=1 - w89c840_o_CFLAGS = -DINCLUDE_W89C840=1 -Index: b/netboot/Makefile.in -=================================================================== ---- a/netboot/Makefile.in -+++ b/netboot/Makefile.in -@@ -46,18 +46,51 @@ - mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs - CONFIG_HEADER = $(top_builddir)/config.h - CONFIG_CLEAN_FILES = --LIBRARIES = $(noinst_LIBRARIES) - AR = ar - ARFLAGS = cru -+LIBRARIES = $(noinst_LIBRARIES) - libdrivers_a_AR = $(AR) $(ARFLAGS) - am_libdrivers_a_OBJECTS = libdrivers_a-config.$(OBJEXT) \ -- libdrivers_a-fsys_tftp.$(OBJEXT) libdrivers_a-main.$(OBJEXT) \ -- libdrivers_a-misc.$(OBJEXT) libdrivers_a-pci.$(OBJEXT) \ -- libdrivers_a-timer.$(OBJEXT) -+ libdrivers_a-fsys_tftp.$(OBJEXT) \ -+ libdrivers_a-i386_timer.$(OBJEXT) libdrivers_a-misc.$(OBJEXT) \ -+ libdrivers_a-nic.$(OBJEXT) libdrivers_a-pci.$(OBJEXT) \ -+ libdrivers_a-pci_io.$(OBJEXT) libdrivers_a-timer.$(OBJEXT) \ -+ libdrivers_a-pic8259.$(OBJEXT) libdrivers_a-basemem.$(OBJEXT) - libdrivers_a_OBJECTS = $(am_libdrivers_a_OBJECTS) - DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) - depcomp = $(SHELL) $(top_srcdir)/depcomp - am__depfiles_maybe = depfiles -+@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/libdrivers_a-3c595.Po \ -+@AMDEP_TRUE@ ./$(DEPDIR)/libdrivers_a-3c90x.Po \ -+@AMDEP_TRUE@ ./$(DEPDIR)/libdrivers_a-basemem.Po \ -+@AMDEP_TRUE@ ./$(DEPDIR)/libdrivers_a-config.Po \ -+@AMDEP_TRUE@ ./$(DEPDIR)/libdrivers_a-davicom.Po \ -+@AMDEP_TRUE@ ./$(DEPDIR)/libdrivers_a-e1000.Po \ -+@AMDEP_TRUE@ ./$(DEPDIR)/libdrivers_a-eepro100.Po \ -+@AMDEP_TRUE@ ./$(DEPDIR)/libdrivers_a-epic100.Po \ -+@AMDEP_TRUE@ ./$(DEPDIR)/libdrivers_a-forcedeth.Po \ -+@AMDEP_TRUE@ ./$(DEPDIR)/libdrivers_a-fsys_tftp.Po \ -+@AMDEP_TRUE@ ./$(DEPDIR)/libdrivers_a-i386_timer.Po \ -+@AMDEP_TRUE@ ./$(DEPDIR)/libdrivers_a-misc.Po \ -+@AMDEP_TRUE@ ./$(DEPDIR)/libdrivers_a-natsemi.Po \ -+@AMDEP_TRUE@ ./$(DEPDIR)/libdrivers_a-nic.Po \ -+@AMDEP_TRUE@ ./$(DEPDIR)/libdrivers_a-ns83820.Po \ -+@AMDEP_TRUE@ ./$(DEPDIR)/libdrivers_a-ns8390.Po \ -+@AMDEP_TRUE@ ./$(DEPDIR)/libdrivers_a-pci.Po \ -+@AMDEP_TRUE@ ./$(DEPDIR)/libdrivers_a-pci_io.Po \ -+@AMDEP_TRUE@ ./$(DEPDIR)/libdrivers_a-pcnet32.Po \ -+@AMDEP_TRUE@ ./$(DEPDIR)/libdrivers_a-pic8259.Po \ -+@AMDEP_TRUE@ ./$(DEPDIR)/libdrivers_a-pnic.Po \ -+@AMDEP_TRUE@ ./$(DEPDIR)/libdrivers_a-pnic_api.Po \ -+@AMDEP_TRUE@ ./$(DEPDIR)/libdrivers_a-r8169.Po \ -+@AMDEP_TRUE@ ./$(DEPDIR)/libdrivers_a-rtl8139.Po \ -+@AMDEP_TRUE@ ./$(DEPDIR)/libdrivers_a-sis900.Po \ -+@AMDEP_TRUE@ ./$(DEPDIR)/libdrivers_a-tg3.Po \ -+@AMDEP_TRUE@ ./$(DEPDIR)/libdrivers_a-timer.Po \ -+@AMDEP_TRUE@ ./$(DEPDIR)/libdrivers_a-tlan.Po \ -+@AMDEP_TRUE@ ./$(DEPDIR)/libdrivers_a-tulip.Po \ -+@AMDEP_TRUE@ ./$(DEPDIR)/libdrivers_a-via-rhine.Po \ -+@AMDEP_TRUE@ ./$(DEPDIR)/libdrivers_a-w89c840.Po - COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) - CCLD = $(CC) -@@ -148,8 +181,6 @@ - am__include = @am__include@ - am__leading_dot = @am__leading_dot@ - am__quote = @am__quote@ --am__tar = @am__tar@ --am__untar = @am__untar@ - bindir = @bindir@ - build = @build@ - build_alias = @build_alias@ -@@ -186,16 +217,19 @@ - # Don't build the netboot support by default. - @NETBOOT_SUPPORT_TRUE@LIBDRIVERS = libdrivers.a - noinst_LIBRARIES = $(LIBDRIVERS) --libdrivers_a_SOURCES = cards.h config.c etherboot.h \ -- fsys_tftp.c linux-asm-io.h linux-asm-string.h \ -- main.c misc.c nic.h osdep.h pci.c pci.h timer.c timer.h -- --EXTRA_libdrivers_a_SOURCES = 3c509.c 3c509.h 3c595.c 3c595.h 3c90x.c \ -- cs89x0.c cs89x0.h davicom.c depca.c eepro.c eepro100.c \ -- epic100.c epic100.h fa311.c i82586.c lance.c natsemi.c \ -- ni5010.c ns8390.c ns8390.h otulip.c otulip.h rtl8139.c \ -- sis900.c sis900.h sk_g16.c sk_g16.h smc9000.c smc9000.h \ -- tiara.c tlan.c tulip.c via-rhine.c w89c840.c -+libdrivers_a_SOURCES = big_bswap.h bootp.h byteswap.h config.c cpu.h \ -+ dev.h elf.h endian.h etherboot.h fsys_tftp.c grub.h \ -+ i386_byteswap.h i386_elf.h i386_endian.h i386_timer.c \ -+ if_arp.h if_ether.h igmp.h in.h io.h ip.h isa.h latch.h \ -+ little_bswap.h misc.c nic.c nic.h osdep.h pci.c pci.h \ -+ pci_ids.h pci_io.c stdint.h tftp.h timer.c timer.h \ -+ types.h udp.h mii.h pic8259.c pic8259.h pxe.h basemem.c segoff.h -+ -+EXTRA_libdrivers_a_SOURCES = 3c595.c 3c595.h 3c90x.c davicom.c \ -+ e1000.c e1000_hw.h eepro100.c epic100.c epic100.h natsemi.c \ -+ ns8390.c ns8390.h pcnet32.c rtl8139.c sis900.c sis900.h \ -+ tg3.c tg3.h tlan.c tlan.h tulip.c via-rhine.c \ -+ w89c840.c r8169.c forcedeth.c ns83820.c pnic.c pnic_api.c - - libdrivers_a_CFLAGS = $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - -DFSYS_TFTP=1 $(NET_CFLAGS) $(NET_EXTRAFLAGS) -@@ -203,69 +237,83 @@ - # Filled by configure. - libdrivers_a_LIBADD = @NETBOOT_DRIVERS@ - libdrivers_a_DEPENDENCIES = $(libdrivers_a_LIBADD) --EXTRA_DIST = README.netboot 3c90x.txt cs89x0.txt sis900.txt tulip.txt -+EXTRA_DIST = README.netboot - - # These below are several special rules for the device drivers. - # We cannot use a simple rule for them... - - # What objects are derived from a driver? --3c509_drivers = 3c509.o 3c529.o -+#3c509_drivers = 3c509.o 3c529.o - 3c595_drivers = 3c595.o - 3c90x_drivers = 3c90x.o --cs89x0_drivers = cs89x0.o -+#cs89x0_drivers = cs89x0.o - davicom_drivers = davicom.o --depca_drivers = depca.o --eepro_drivers = eepro.o -+#depca_drivers = depca.o -+#eepro_drivers = eepro.o -+e1000_drivers = e1000.o - eepro100_drivers = eepro100.o - epic100_drivers = epic100.o - #fa311_drivers = fa311.o --i82586_drivers = 3c507.o exos205.o ni5210.o --lance_drivers = lance.o ne2100.o ni6510.o -+forcedeth_drivers = forcedeth.o -+#i82586_drivers = 3c507.o exos205.o ni5210.o -+#lance_drivers = lance.o ne2100.o ni6510.o - natsemi_drivers = natsemi.o --ni5010_drivers = ni5010.o -+#ni5010_drivers = ni5010.o -+ns83820_drivers = ns83820.o - ns8390_drivers = 3c503.o ne.o ns8390.o wd.o --otulip_drivers = otulip.o -+#otulip_drivers = otulip.o -+pcnet32_drivers = pcnet32.o -+pnic_drivers = pnic.o -+r8169_drivers = r8169.o - rtl8139_drivers = rtl8139.o - sis900_drivers = sis900.o --sk_g16_drivers = sk_g16.o --smc9000_drivers = smc9000.o --tiara_drivers = tiara.o --#tlan_drivers = tlan.o -+#sk_g16_drivers = sk_g16.o -+#smc9000_drivers = smc9000.o -+tg3_drivers = tg3.o -+#tiara_drivers = tiara.o -+tlan_drivers = tlan.o - tulip_drivers = tulip.o - via_rhine_drivers = via_rhine.o - w89c840_drivers = w89c840.o - - # Per-object flags. --3c509_o_CFLAGS = -DINCLUDE_3C509=1 --3c529_o_CFLAGS = -DINCLUDE_3C529=1 -+#3c509_o_CFLAGS = -DINCLUDE_3C509=1 -+#3c529_o_CFLAGS = -DINCLUDE_3C529=1 - 3c595_o_CFLAGS = -DINCLUDE_3C595=1 - 3c90x_o_CFLAGS = -DINCLUDE_3C90X=1 --cs89x0_o_CFLAGS = -DINCLUDE_CS89X0=1 -+#cs89x0_o_CFLAGS = -DINCLUDE_CS89X0=1 - davicom_o_CFLAGS = -DINCLUDE_DAVICOM=1 --depca_o_CFLAGS = -DINCLUDE_DEPCA=1 --eepro_o_CFLAGS = -DINCLUDE_EEPRO=1 -+#depca_o_CFLAGS = -DINCLUDE_DEPCA=1 -+#eepro_o_CFLAGS = -DINCLUDE_EEPRO=1 -+e1000_o_CFLAGS = -DINCLUDE_E1000=1 - eepro100_o_CFLAGS = -DINCLUDE_EEPRO100=1 - epic100_o_CFLAGS = -DINCLUDE_EPIC100=1 - #fa311_o_CFLAGS = -DINCLUDE_FA311=1 --3c507_o_CFLAGS = -DINCLUDE_3C507=1 --exos205_o_CFLAGS = -DINCLUDE_EXOS205=1 --ni5210_o_CFLAGS = -DINCLUDE_NI5210=1 --lance_o_CFLAGS = -DINCLUDE_LANCE=1 --ne2100_o_CFLAGS = -DINCLUDE_NE2100=1 --ni6510_o_CFLAGS = -DINCLUDE_NI6510=1 -+forcedeth_o_CFLAGS = -DINCLUDE_FORCEDETH=1 -+#3c507_o_CFLAGS = -DINCLUDE_3C507=1 -+#exos205_o_CFLAGS = -DINCLUDE_EXOS205=1 -+#ni5210_o_CFLAGS = -DINCLUDE_NI5210=1 -+#lance_o_CFLAGS = -DINCLUDE_LANCE=1 -+#ne2100_o_CFLAGS = -DINCLUDE_NE2100=1 -+#ni6510_o_CFLAGS = -DINCLUDE_NI6510=1 - natsemi_o_CFLAGS = -DINCLUDE_NATSEMI=1 --ni5010_o_CFLAGS = -DINCLUDE_NI5010=1 --3c503_o_CFLAGS = -DINCLUDE_3C503=1 --ne_o_CFLAGS = -DINCLUDE_NE=1 -+#ni5010_o_CFLAGS = -DINCLUDE_NI5010=1 -+#3c503_o_CFLAGS = -DINCLUDE_3C503=1 -+#ne_o_CFLAGS = -DINCLUDE_NE=1 -+ns83820_o_CFLAGS = -DINCLUDE_NS83820=1 - ns8390_o_CFLAGS = -DINCLUDE_NS8390=1 --wd_o_CFLAGS = -DINCLUDE_WD=1 --otulip_o_CFLAGS = -DINCLUDE_OTULIP=1 -+#wd_o_CFLAGS = -DINCLUDE_WD=1 -+#otulip_o_CFLAGS = -DINCLUDE_OTULIP=1 -+pcnet32_o_CFLAGS = -DINCLUDE_PCNET32=1 -+pnic_o_CFLAGS = -DINCLUDE_PNIC=1 -+r8169_o_CFLAGS = -DINCLUDE_R8169=1 - rtl8139_o_CFLAGS = -DINCLUDE_RTL8139=1 - sis900_o_CFLAGS = -DINCLUDE_SIS900=1 --sk_g16_o_CFLAGS = -DINCLUDE_SK_G16=1 --smc9000_o_CFLAGS = -DINCLUDE_SMC9000=1 --tiara_o_CFLAGS = -DINCLUDE_TIARA=1 --#tlan_o_CFLAGS = -DINCLUDE_TLAN=1 -+#sk_g16_o_CFLAGS = -DINCLUDE_SK_G16=1 -+#smc9000_o_CFLAGS = -DINCLUDE_SMC9000=1 -+#tiara_o_CFLAGS = -DINCLUDE_TIARA=1 -+tg3_o_CFLAGS = -DINCLUDE_TG3=1 -+tlan_o_CFLAGS = -DINCLUDE_TLAN=1 - tulip_o_CFLAGS = -DINCLUDE_TULIP=1 - via_rhine_o_CFLAGS = -DINCLUDE_VIA_RHINE=1 - w89c840_o_CFLAGS = -DINCLUDE_W89C840=1 -@@ -316,32 +364,32 @@ - distclean-compile: - -rm -f *.tab.c - --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-3c509.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-3c595.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-3c90x.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-basemem.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-config.Po@am__quote@ --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-cs89x0.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-davicom.Po@am__quote@ --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-depca.Po@am__quote@ --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-eepro.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-e1000.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-eepro100.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-epic100.Po@am__quote@ --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-fa311.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-forcedeth.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-fsys_tftp.Po@am__quote@ --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-i82586.Po@am__quote@ --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-lance.Po@am__quote@ --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-main.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-i386_timer.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-misc.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-natsemi.Po@am__quote@ --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-ni5010.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-nic.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-ns83820.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-ns8390.Po@am__quote@ --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-otulip.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-pci.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-pci_io.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-pcnet32.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-pic8259.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-pnic.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-pnic_api.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-r8169.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-rtl8139.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-sis900.Po@am__quote@ --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-sk_g16.Po@am__quote@ --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-smc9000.Po@am__quote@ --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-tiara.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-tg3.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-timer.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-tlan.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-tulip.Po@am__quote@ -@@ -352,450 +400,513 @@ - @am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(COMPILE) -c $< - - .c.obj: - @am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` - - libdrivers_a-config.o: config.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-config.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-config.Tpo" -c -o libdrivers_a-config.o `test -f 'config.c' || echo '$(srcdir)/'`config.c; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-config.Tpo" "$(DEPDIR)/libdrivers_a-config.Po"; else rm -f "$(DEPDIR)/libdrivers_a-config.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='config.c' object='libdrivers_a-config.o' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-config.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-config.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-config.o `test -f 'config.c' || echo '$(srcdir)/'`config.c - - libdrivers_a-config.obj: config.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-config.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-config.Tpo" -c -o libdrivers_a-config.obj `if test -f 'config.c'; then $(CYGPATH_W) 'config.c'; else $(CYGPATH_W) '$(srcdir)/config.c'; fi`; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-config.Tpo" "$(DEPDIR)/libdrivers_a-config.Po"; else rm -f "$(DEPDIR)/libdrivers_a-config.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='config.c' object='libdrivers_a-config.obj' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-config.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-config.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-config.obj `if test -f 'config.c'; then $(CYGPATH_W) 'config.c'; else $(CYGPATH_W) '$(srcdir)/config.c'; fi` - - libdrivers_a-fsys_tftp.o: fsys_tftp.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-fsys_tftp.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-fsys_tftp.Tpo" -c -o libdrivers_a-fsys_tftp.o `test -f 'fsys_tftp.c' || echo '$(srcdir)/'`fsys_tftp.c; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-fsys_tftp.Tpo" "$(DEPDIR)/libdrivers_a-fsys_tftp.Po"; else rm -f "$(DEPDIR)/libdrivers_a-fsys_tftp.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_tftp.c' object='libdrivers_a-fsys_tftp.o' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-fsys_tftp.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-fsys_tftp.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-fsys_tftp.o `test -f 'fsys_tftp.c' || echo '$(srcdir)/'`fsys_tftp.c - - libdrivers_a-fsys_tftp.obj: fsys_tftp.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-fsys_tftp.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-fsys_tftp.Tpo" -c -o libdrivers_a-fsys_tftp.obj `if test -f 'fsys_tftp.c'; then $(CYGPATH_W) 'fsys_tftp.c'; else $(CYGPATH_W) '$(srcdir)/fsys_tftp.c'; fi`; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-fsys_tftp.Tpo" "$(DEPDIR)/libdrivers_a-fsys_tftp.Po"; else rm -f "$(DEPDIR)/libdrivers_a-fsys_tftp.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_tftp.c' object='libdrivers_a-fsys_tftp.obj' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-fsys_tftp.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-fsys_tftp.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-fsys_tftp.obj `if test -f 'fsys_tftp.c'; then $(CYGPATH_W) 'fsys_tftp.c'; else $(CYGPATH_W) '$(srcdir)/fsys_tftp.c'; fi` - --libdrivers_a-main.o: main.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-main.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-main.Tpo" -c -o libdrivers_a-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-main.Tpo" "$(DEPDIR)/libdrivers_a-main.Po"; else rm -f "$(DEPDIR)/libdrivers_a-main.Tpo"; exit 1; fi --@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='main.c' object='libdrivers_a-main.o' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ --@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c -- --libdrivers_a-main.obj: main.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-main.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-main.Tpo" -c -o libdrivers_a-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-main.Tpo" "$(DEPDIR)/libdrivers_a-main.Po"; else rm -f "$(DEPDIR)/libdrivers_a-main.Tpo"; exit 1; fi --@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='main.c' object='libdrivers_a-main.obj' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ --@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi` -+libdrivers_a-i386_timer.o: i386_timer.c -+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-i386_timer.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-i386_timer.Tpo" -c -o libdrivers_a-i386_timer.o `test -f 'i386_timer.c' || echo '$(srcdir)/'`i386_timer.c; \ -+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-i386_timer.Tpo" "$(DEPDIR)/libdrivers_a-i386_timer.Po"; else rm -f "$(DEPDIR)/libdrivers_a-i386_timer.Tpo"; exit 1; fi -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='i386_timer.c' object='libdrivers_a-i386_timer.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-i386_timer.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-i386_timer.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-i386_timer.o `test -f 'i386_timer.c' || echo '$(srcdir)/'`i386_timer.c -+ -+libdrivers_a-i386_timer.obj: i386_timer.c -+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-i386_timer.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-i386_timer.Tpo" -c -o libdrivers_a-i386_timer.obj `if test -f 'i386_timer.c'; then $(CYGPATH_W) 'i386_timer.c'; else $(CYGPATH_W) '$(srcdir)/i386_timer.c'; fi`; \ -+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-i386_timer.Tpo" "$(DEPDIR)/libdrivers_a-i386_timer.Po"; else rm -f "$(DEPDIR)/libdrivers_a-i386_timer.Tpo"; exit 1; fi -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='i386_timer.c' object='libdrivers_a-i386_timer.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-i386_timer.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-i386_timer.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-i386_timer.obj `if test -f 'i386_timer.c'; then $(CYGPATH_W) 'i386_timer.c'; else $(CYGPATH_W) '$(srcdir)/i386_timer.c'; fi` - - libdrivers_a-misc.o: misc.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-misc.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-misc.Tpo" -c -o libdrivers_a-misc.o `test -f 'misc.c' || echo '$(srcdir)/'`misc.c; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-misc.Tpo" "$(DEPDIR)/libdrivers_a-misc.Po"; else rm -f "$(DEPDIR)/libdrivers_a-misc.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='misc.c' object='libdrivers_a-misc.o' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-misc.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-misc.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-misc.o `test -f 'misc.c' || echo '$(srcdir)/'`misc.c - - libdrivers_a-misc.obj: misc.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-misc.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-misc.Tpo" -c -o libdrivers_a-misc.obj `if test -f 'misc.c'; then $(CYGPATH_W) 'misc.c'; else $(CYGPATH_W) '$(srcdir)/misc.c'; fi`; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-misc.Tpo" "$(DEPDIR)/libdrivers_a-misc.Po"; else rm -f "$(DEPDIR)/libdrivers_a-misc.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='misc.c' object='libdrivers_a-misc.obj' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-misc.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-misc.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-misc.obj `if test -f 'misc.c'; then $(CYGPATH_W) 'misc.c'; else $(CYGPATH_W) '$(srcdir)/misc.c'; fi` - -+libdrivers_a-nic.o: nic.c -+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-nic.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-nic.Tpo" -c -o libdrivers_a-nic.o `test -f 'nic.c' || echo '$(srcdir)/'`nic.c; \ -+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-nic.Tpo" "$(DEPDIR)/libdrivers_a-nic.Po"; else rm -f "$(DEPDIR)/libdrivers_a-nic.Tpo"; exit 1; fi -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='nic.c' object='libdrivers_a-nic.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-nic.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-nic.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-nic.o `test -f 'nic.c' || echo '$(srcdir)/'`nic.c -+ -+libdrivers_a-nic.obj: nic.c -+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-nic.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-nic.Tpo" -c -o libdrivers_a-nic.obj `if test -f 'nic.c'; then $(CYGPATH_W) 'nic.c'; else $(CYGPATH_W) '$(srcdir)/nic.c'; fi`; \ -+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-nic.Tpo" "$(DEPDIR)/libdrivers_a-nic.Po"; else rm -f "$(DEPDIR)/libdrivers_a-nic.Tpo"; exit 1; fi -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='nic.c' object='libdrivers_a-nic.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-nic.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-nic.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-nic.obj `if test -f 'nic.c'; then $(CYGPATH_W) 'nic.c'; else $(CYGPATH_W) '$(srcdir)/nic.c'; fi` -+ - libdrivers_a-pci.o: pci.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-pci.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-pci.Tpo" -c -o libdrivers_a-pci.o `test -f 'pci.c' || echo '$(srcdir)/'`pci.c; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-pci.Tpo" "$(DEPDIR)/libdrivers_a-pci.Po"; else rm -f "$(DEPDIR)/libdrivers_a-pci.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pci.c' object='libdrivers_a-pci.o' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-pci.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-pci.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-pci.o `test -f 'pci.c' || echo '$(srcdir)/'`pci.c - - libdrivers_a-pci.obj: pci.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-pci.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-pci.Tpo" -c -o libdrivers_a-pci.obj `if test -f 'pci.c'; then $(CYGPATH_W) 'pci.c'; else $(CYGPATH_W) '$(srcdir)/pci.c'; fi`; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-pci.Tpo" "$(DEPDIR)/libdrivers_a-pci.Po"; else rm -f "$(DEPDIR)/libdrivers_a-pci.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pci.c' object='libdrivers_a-pci.obj' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-pci.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-pci.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-pci.obj `if test -f 'pci.c'; then $(CYGPATH_W) 'pci.c'; else $(CYGPATH_W) '$(srcdir)/pci.c'; fi` - -+libdrivers_a-pci_io.o: pci_io.c -+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-pci_io.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-pci_io.Tpo" -c -o libdrivers_a-pci_io.o `test -f 'pci_io.c' || echo '$(srcdir)/'`pci_io.c; \ -+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-pci_io.Tpo" "$(DEPDIR)/libdrivers_a-pci_io.Po"; else rm -f "$(DEPDIR)/libdrivers_a-pci_io.Tpo"; exit 1; fi -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pci_io.c' object='libdrivers_a-pci_io.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-pci_io.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-pci_io.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-pci_io.o `test -f 'pci_io.c' || echo '$(srcdir)/'`pci_io.c -+ -+libdrivers_a-pci_io.obj: pci_io.c -+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-pci_io.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-pci_io.Tpo" -c -o libdrivers_a-pci_io.obj `if test -f 'pci_io.c'; then $(CYGPATH_W) 'pci_io.c'; else $(CYGPATH_W) '$(srcdir)/pci_io.c'; fi`; \ -+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-pci_io.Tpo" "$(DEPDIR)/libdrivers_a-pci_io.Po"; else rm -f "$(DEPDIR)/libdrivers_a-pci_io.Tpo"; exit 1; fi -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pci_io.c' object='libdrivers_a-pci_io.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-pci_io.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-pci_io.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-pci_io.obj `if test -f 'pci_io.c'; then $(CYGPATH_W) 'pci_io.c'; else $(CYGPATH_W) '$(srcdir)/pci_io.c'; fi` -+ - libdrivers_a-timer.o: timer.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-timer.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-timer.Tpo" -c -o libdrivers_a-timer.o `test -f 'timer.c' || echo '$(srcdir)/'`timer.c; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-timer.Tpo" "$(DEPDIR)/libdrivers_a-timer.Po"; else rm -f "$(DEPDIR)/libdrivers_a-timer.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='timer.c' object='libdrivers_a-timer.o' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-timer.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-timer.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-timer.o `test -f 'timer.c' || echo '$(srcdir)/'`timer.c - - libdrivers_a-timer.obj: timer.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-timer.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-timer.Tpo" -c -o libdrivers_a-timer.obj `if test -f 'timer.c'; then $(CYGPATH_W) 'timer.c'; else $(CYGPATH_W) '$(srcdir)/timer.c'; fi`; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-timer.Tpo" "$(DEPDIR)/libdrivers_a-timer.Po"; else rm -f "$(DEPDIR)/libdrivers_a-timer.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='timer.c' object='libdrivers_a-timer.obj' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-timer.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-timer.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-timer.obj `if test -f 'timer.c'; then $(CYGPATH_W) 'timer.c'; else $(CYGPATH_W) '$(srcdir)/timer.c'; fi` - --libdrivers_a-3c509.o: 3c509.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-3c509.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-3c509.Tpo" -c -o libdrivers_a-3c509.o `test -f '3c509.c' || echo '$(srcdir)/'`3c509.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-3c509.Tpo" "$(DEPDIR)/libdrivers_a-3c509.Po"; else rm -f "$(DEPDIR)/libdrivers_a-3c509.Tpo"; exit 1; fi --@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='3c509.c' object='libdrivers_a-3c509.o' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ --@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-3c509.o `test -f '3c509.c' || echo '$(srcdir)/'`3c509.c -- --libdrivers_a-3c509.obj: 3c509.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-3c509.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-3c509.Tpo" -c -o libdrivers_a-3c509.obj `if test -f '3c509.c'; then $(CYGPATH_W) '3c509.c'; else $(CYGPATH_W) '$(srcdir)/3c509.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-3c509.Tpo" "$(DEPDIR)/libdrivers_a-3c509.Po"; else rm -f "$(DEPDIR)/libdrivers_a-3c509.Tpo"; exit 1; fi --@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='3c509.c' object='libdrivers_a-3c509.obj' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ --@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-3c509.obj `if test -f '3c509.c'; then $(CYGPATH_W) '3c509.c'; else $(CYGPATH_W) '$(srcdir)/3c509.c'; fi` -+libdrivers_a-pic8259.o: pic8259.c -+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-pic8259.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-pic8259.Tpo" -c -o libdrivers_a-pic8259.o `test -f 'pic8259.c' || echo '$(srcdir)/'`pic8259.c; \ -+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-pic8259.Tpo" "$(DEPDIR)/libdrivers_a-pic8259.Po"; else rm -f "$(DEPDIR)/libdrivers_a-pic8259.Tpo"; exit 1; fi -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pic8259.c' object='libdrivers_a-pic8259.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-pic8259.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-pic8259.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-pic8259.o `test -f 'pic8259.c' || echo '$(srcdir)/'`pic8259.c -+ -+libdrivers_a-pic8259.obj: pic8259.c -+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-pic8259.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-pic8259.Tpo" -c -o libdrivers_a-pic8259.obj `if test -f 'pic8259.c'; then $(CYGPATH_W) 'pic8259.c'; else $(CYGPATH_W) '$(srcdir)/pic8259.c'; fi`; \ -+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-pic8259.Tpo" "$(DEPDIR)/libdrivers_a-pic8259.Po"; else rm -f "$(DEPDIR)/libdrivers_a-pic8259.Tpo"; exit 1; fi -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pic8259.c' object='libdrivers_a-pic8259.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-pic8259.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-pic8259.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-pic8259.obj `if test -f 'pic8259.c'; then $(CYGPATH_W) 'pic8259.c'; else $(CYGPATH_W) '$(srcdir)/pic8259.c'; fi` -+ -+libdrivers_a-basemem.o: basemem.c -+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-basemem.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-basemem.Tpo" -c -o libdrivers_a-basemem.o `test -f 'basemem.c' || echo '$(srcdir)/'`basemem.c; \ -+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-basemem.Tpo" "$(DEPDIR)/libdrivers_a-basemem.Po"; else rm -f "$(DEPDIR)/libdrivers_a-basemem.Tpo"; exit 1; fi -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='basemem.c' object='libdrivers_a-basemem.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-basemem.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-basemem.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-basemem.o `test -f 'basemem.c' || echo '$(srcdir)/'`basemem.c -+ -+libdrivers_a-basemem.obj: basemem.c -+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-basemem.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-basemem.Tpo" -c -o libdrivers_a-basemem.obj `if test -f 'basemem.c'; then $(CYGPATH_W) 'basemem.c'; else $(CYGPATH_W) '$(srcdir)/basemem.c'; fi`; \ -+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-basemem.Tpo" "$(DEPDIR)/libdrivers_a-basemem.Po"; else rm -f "$(DEPDIR)/libdrivers_a-basemem.Tpo"; exit 1; fi -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='basemem.c' object='libdrivers_a-basemem.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-basemem.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-basemem.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-basemem.obj `if test -f 'basemem.c'; then $(CYGPATH_W) 'basemem.c'; else $(CYGPATH_W) '$(srcdir)/basemem.c'; fi` - - libdrivers_a-3c595.o: 3c595.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-3c595.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-3c595.Tpo" -c -o libdrivers_a-3c595.o `test -f '3c595.c' || echo '$(srcdir)/'`3c595.c; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-3c595.Tpo" "$(DEPDIR)/libdrivers_a-3c595.Po"; else rm -f "$(DEPDIR)/libdrivers_a-3c595.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='3c595.c' object='libdrivers_a-3c595.o' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-3c595.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-3c595.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-3c595.o `test -f '3c595.c' || echo '$(srcdir)/'`3c595.c - - libdrivers_a-3c595.obj: 3c595.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-3c595.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-3c595.Tpo" -c -o libdrivers_a-3c595.obj `if test -f '3c595.c'; then $(CYGPATH_W) '3c595.c'; else $(CYGPATH_W) '$(srcdir)/3c595.c'; fi`; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-3c595.Tpo" "$(DEPDIR)/libdrivers_a-3c595.Po"; else rm -f "$(DEPDIR)/libdrivers_a-3c595.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='3c595.c' object='libdrivers_a-3c595.obj' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-3c595.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-3c595.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-3c595.obj `if test -f '3c595.c'; then $(CYGPATH_W) '3c595.c'; else $(CYGPATH_W) '$(srcdir)/3c595.c'; fi` - - libdrivers_a-3c90x.o: 3c90x.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-3c90x.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-3c90x.Tpo" -c -o libdrivers_a-3c90x.o `test -f '3c90x.c' || echo '$(srcdir)/'`3c90x.c; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-3c90x.Tpo" "$(DEPDIR)/libdrivers_a-3c90x.Po"; else rm -f "$(DEPDIR)/libdrivers_a-3c90x.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='3c90x.c' object='libdrivers_a-3c90x.o' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-3c90x.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-3c90x.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-3c90x.o `test -f '3c90x.c' || echo '$(srcdir)/'`3c90x.c - - libdrivers_a-3c90x.obj: 3c90x.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-3c90x.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-3c90x.Tpo" -c -o libdrivers_a-3c90x.obj `if test -f '3c90x.c'; then $(CYGPATH_W) '3c90x.c'; else $(CYGPATH_W) '$(srcdir)/3c90x.c'; fi`; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-3c90x.Tpo" "$(DEPDIR)/libdrivers_a-3c90x.Po"; else rm -f "$(DEPDIR)/libdrivers_a-3c90x.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='3c90x.c' object='libdrivers_a-3c90x.obj' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-3c90x.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-3c90x.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-3c90x.obj `if test -f '3c90x.c'; then $(CYGPATH_W) '3c90x.c'; else $(CYGPATH_W) '$(srcdir)/3c90x.c'; fi` - --libdrivers_a-cs89x0.o: cs89x0.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-cs89x0.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-cs89x0.Tpo" -c -o libdrivers_a-cs89x0.o `test -f 'cs89x0.c' || echo '$(srcdir)/'`cs89x0.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-cs89x0.Tpo" "$(DEPDIR)/libdrivers_a-cs89x0.Po"; else rm -f "$(DEPDIR)/libdrivers_a-cs89x0.Tpo"; exit 1; fi --@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cs89x0.c' object='libdrivers_a-cs89x0.o' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ --@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-cs89x0.o `test -f 'cs89x0.c' || echo '$(srcdir)/'`cs89x0.c -- --libdrivers_a-cs89x0.obj: cs89x0.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-cs89x0.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-cs89x0.Tpo" -c -o libdrivers_a-cs89x0.obj `if test -f 'cs89x0.c'; then $(CYGPATH_W) 'cs89x0.c'; else $(CYGPATH_W) '$(srcdir)/cs89x0.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-cs89x0.Tpo" "$(DEPDIR)/libdrivers_a-cs89x0.Po"; else rm -f "$(DEPDIR)/libdrivers_a-cs89x0.Tpo"; exit 1; fi --@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cs89x0.c' object='libdrivers_a-cs89x0.obj' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ --@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-cs89x0.obj `if test -f 'cs89x0.c'; then $(CYGPATH_W) 'cs89x0.c'; else $(CYGPATH_W) '$(srcdir)/cs89x0.c'; fi` -- - libdrivers_a-davicom.o: davicom.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-davicom.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-davicom.Tpo" -c -o libdrivers_a-davicom.o `test -f 'davicom.c' || echo '$(srcdir)/'`davicom.c; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-davicom.Tpo" "$(DEPDIR)/libdrivers_a-davicom.Po"; else rm -f "$(DEPDIR)/libdrivers_a-davicom.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='davicom.c' object='libdrivers_a-davicom.o' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-davicom.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-davicom.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-davicom.o `test -f 'davicom.c' || echo '$(srcdir)/'`davicom.c - - libdrivers_a-davicom.obj: davicom.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-davicom.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-davicom.Tpo" -c -o libdrivers_a-davicom.obj `if test -f 'davicom.c'; then $(CYGPATH_W) 'davicom.c'; else $(CYGPATH_W) '$(srcdir)/davicom.c'; fi`; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-davicom.Tpo" "$(DEPDIR)/libdrivers_a-davicom.Po"; else rm -f "$(DEPDIR)/libdrivers_a-davicom.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='davicom.c' object='libdrivers_a-davicom.obj' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-davicom.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-davicom.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-davicom.obj `if test -f 'davicom.c'; then $(CYGPATH_W) 'davicom.c'; else $(CYGPATH_W) '$(srcdir)/davicom.c'; fi` - --libdrivers_a-depca.o: depca.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-depca.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-depca.Tpo" -c -o libdrivers_a-depca.o `test -f 'depca.c' || echo '$(srcdir)/'`depca.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-depca.Tpo" "$(DEPDIR)/libdrivers_a-depca.Po"; else rm -f "$(DEPDIR)/libdrivers_a-depca.Tpo"; exit 1; fi --@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='depca.c' object='libdrivers_a-depca.o' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ --@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-depca.o `test -f 'depca.c' || echo '$(srcdir)/'`depca.c -- --libdrivers_a-depca.obj: depca.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-depca.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-depca.Tpo" -c -o libdrivers_a-depca.obj `if test -f 'depca.c'; then $(CYGPATH_W) 'depca.c'; else $(CYGPATH_W) '$(srcdir)/depca.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-depca.Tpo" "$(DEPDIR)/libdrivers_a-depca.Po"; else rm -f "$(DEPDIR)/libdrivers_a-depca.Tpo"; exit 1; fi --@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='depca.c' object='libdrivers_a-depca.obj' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ --@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-depca.obj `if test -f 'depca.c'; then $(CYGPATH_W) 'depca.c'; else $(CYGPATH_W) '$(srcdir)/depca.c'; fi` -- --libdrivers_a-eepro.o: eepro.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-eepro.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-eepro.Tpo" -c -o libdrivers_a-eepro.o `test -f 'eepro.c' || echo '$(srcdir)/'`eepro.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-eepro.Tpo" "$(DEPDIR)/libdrivers_a-eepro.Po"; else rm -f "$(DEPDIR)/libdrivers_a-eepro.Tpo"; exit 1; fi --@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='eepro.c' object='libdrivers_a-eepro.o' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ --@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-eepro.o `test -f 'eepro.c' || echo '$(srcdir)/'`eepro.c -- --libdrivers_a-eepro.obj: eepro.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-eepro.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-eepro.Tpo" -c -o libdrivers_a-eepro.obj `if test -f 'eepro.c'; then $(CYGPATH_W) 'eepro.c'; else $(CYGPATH_W) '$(srcdir)/eepro.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-eepro.Tpo" "$(DEPDIR)/libdrivers_a-eepro.Po"; else rm -f "$(DEPDIR)/libdrivers_a-eepro.Tpo"; exit 1; fi --@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='eepro.c' object='libdrivers_a-eepro.obj' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ --@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-eepro.obj `if test -f 'eepro.c'; then $(CYGPATH_W) 'eepro.c'; else $(CYGPATH_W) '$(srcdir)/eepro.c'; fi` -+libdrivers_a-e1000.o: e1000.c -+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-e1000.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-e1000.Tpo" -c -o libdrivers_a-e1000.o `test -f 'e1000.c' || echo '$(srcdir)/'`e1000.c; \ -+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-e1000.Tpo" "$(DEPDIR)/libdrivers_a-e1000.Po"; else rm -f "$(DEPDIR)/libdrivers_a-e1000.Tpo"; exit 1; fi -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='e1000.c' object='libdrivers_a-e1000.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-e1000.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-e1000.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-e1000.o `test -f 'e1000.c' || echo '$(srcdir)/'`e1000.c -+ -+libdrivers_a-e1000.obj: e1000.c -+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-e1000.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-e1000.Tpo" -c -o libdrivers_a-e1000.obj `if test -f 'e1000.c'; then $(CYGPATH_W) 'e1000.c'; else $(CYGPATH_W) '$(srcdir)/e1000.c'; fi`; \ -+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-e1000.Tpo" "$(DEPDIR)/libdrivers_a-e1000.Po"; else rm -f "$(DEPDIR)/libdrivers_a-e1000.Tpo"; exit 1; fi -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='e1000.c' object='libdrivers_a-e1000.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-e1000.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-e1000.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-e1000.obj `if test -f 'e1000.c'; then $(CYGPATH_W) 'e1000.c'; else $(CYGPATH_W) '$(srcdir)/e1000.c'; fi` - - libdrivers_a-eepro100.o: eepro100.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-eepro100.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-eepro100.Tpo" -c -o libdrivers_a-eepro100.o `test -f 'eepro100.c' || echo '$(srcdir)/'`eepro100.c; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-eepro100.Tpo" "$(DEPDIR)/libdrivers_a-eepro100.Po"; else rm -f "$(DEPDIR)/libdrivers_a-eepro100.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='eepro100.c' object='libdrivers_a-eepro100.o' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-eepro100.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-eepro100.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-eepro100.o `test -f 'eepro100.c' || echo '$(srcdir)/'`eepro100.c - - libdrivers_a-eepro100.obj: eepro100.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-eepro100.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-eepro100.Tpo" -c -o libdrivers_a-eepro100.obj `if test -f 'eepro100.c'; then $(CYGPATH_W) 'eepro100.c'; else $(CYGPATH_W) '$(srcdir)/eepro100.c'; fi`; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-eepro100.Tpo" "$(DEPDIR)/libdrivers_a-eepro100.Po"; else rm -f "$(DEPDIR)/libdrivers_a-eepro100.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='eepro100.c' object='libdrivers_a-eepro100.obj' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-eepro100.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-eepro100.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-eepro100.obj `if test -f 'eepro100.c'; then $(CYGPATH_W) 'eepro100.c'; else $(CYGPATH_W) '$(srcdir)/eepro100.c'; fi` - - libdrivers_a-epic100.o: epic100.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-epic100.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-epic100.Tpo" -c -o libdrivers_a-epic100.o `test -f 'epic100.c' || echo '$(srcdir)/'`epic100.c; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-epic100.Tpo" "$(DEPDIR)/libdrivers_a-epic100.Po"; else rm -f "$(DEPDIR)/libdrivers_a-epic100.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='epic100.c' object='libdrivers_a-epic100.o' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-epic100.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-epic100.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-epic100.o `test -f 'epic100.c' || echo '$(srcdir)/'`epic100.c - - libdrivers_a-epic100.obj: epic100.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-epic100.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-epic100.Tpo" -c -o libdrivers_a-epic100.obj `if test -f 'epic100.c'; then $(CYGPATH_W) 'epic100.c'; else $(CYGPATH_W) '$(srcdir)/epic100.c'; fi`; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-epic100.Tpo" "$(DEPDIR)/libdrivers_a-epic100.Po"; else rm -f "$(DEPDIR)/libdrivers_a-epic100.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='epic100.c' object='libdrivers_a-epic100.obj' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-epic100.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-epic100.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-epic100.obj `if test -f 'epic100.c'; then $(CYGPATH_W) 'epic100.c'; else $(CYGPATH_W) '$(srcdir)/epic100.c'; fi` - --libdrivers_a-fa311.o: fa311.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-fa311.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-fa311.Tpo" -c -o libdrivers_a-fa311.o `test -f 'fa311.c' || echo '$(srcdir)/'`fa311.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-fa311.Tpo" "$(DEPDIR)/libdrivers_a-fa311.Po"; else rm -f "$(DEPDIR)/libdrivers_a-fa311.Tpo"; exit 1; fi --@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fa311.c' object='libdrivers_a-fa311.o' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ --@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-fa311.o `test -f 'fa311.c' || echo '$(srcdir)/'`fa311.c -- --libdrivers_a-fa311.obj: fa311.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-fa311.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-fa311.Tpo" -c -o libdrivers_a-fa311.obj `if test -f 'fa311.c'; then $(CYGPATH_W) 'fa311.c'; else $(CYGPATH_W) '$(srcdir)/fa311.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-fa311.Tpo" "$(DEPDIR)/libdrivers_a-fa311.Po"; else rm -f "$(DEPDIR)/libdrivers_a-fa311.Tpo"; exit 1; fi --@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fa311.c' object='libdrivers_a-fa311.obj' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ --@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-fa311.obj `if test -f 'fa311.c'; then $(CYGPATH_W) 'fa311.c'; else $(CYGPATH_W) '$(srcdir)/fa311.c'; fi` -- --libdrivers_a-i82586.o: i82586.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-i82586.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-i82586.Tpo" -c -o libdrivers_a-i82586.o `test -f 'i82586.c' || echo '$(srcdir)/'`i82586.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-i82586.Tpo" "$(DEPDIR)/libdrivers_a-i82586.Po"; else rm -f "$(DEPDIR)/libdrivers_a-i82586.Tpo"; exit 1; fi --@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='i82586.c' object='libdrivers_a-i82586.o' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ --@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-i82586.o `test -f 'i82586.c' || echo '$(srcdir)/'`i82586.c -- --libdrivers_a-i82586.obj: i82586.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-i82586.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-i82586.Tpo" -c -o libdrivers_a-i82586.obj `if test -f 'i82586.c'; then $(CYGPATH_W) 'i82586.c'; else $(CYGPATH_W) '$(srcdir)/i82586.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-i82586.Tpo" "$(DEPDIR)/libdrivers_a-i82586.Po"; else rm -f "$(DEPDIR)/libdrivers_a-i82586.Tpo"; exit 1; fi --@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='i82586.c' object='libdrivers_a-i82586.obj' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ --@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-i82586.obj `if test -f 'i82586.c'; then $(CYGPATH_W) 'i82586.c'; else $(CYGPATH_W) '$(srcdir)/i82586.c'; fi` -- --libdrivers_a-lance.o: lance.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-lance.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-lance.Tpo" -c -o libdrivers_a-lance.o `test -f 'lance.c' || echo '$(srcdir)/'`lance.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-lance.Tpo" "$(DEPDIR)/libdrivers_a-lance.Po"; else rm -f "$(DEPDIR)/libdrivers_a-lance.Tpo"; exit 1; fi --@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lance.c' object='libdrivers_a-lance.o' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ --@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-lance.o `test -f 'lance.c' || echo '$(srcdir)/'`lance.c -- --libdrivers_a-lance.obj: lance.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-lance.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-lance.Tpo" -c -o libdrivers_a-lance.obj `if test -f 'lance.c'; then $(CYGPATH_W) 'lance.c'; else $(CYGPATH_W) '$(srcdir)/lance.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-lance.Tpo" "$(DEPDIR)/libdrivers_a-lance.Po"; else rm -f "$(DEPDIR)/libdrivers_a-lance.Tpo"; exit 1; fi --@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lance.c' object='libdrivers_a-lance.obj' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ --@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-lance.obj `if test -f 'lance.c'; then $(CYGPATH_W) 'lance.c'; else $(CYGPATH_W) '$(srcdir)/lance.c'; fi` -- - libdrivers_a-natsemi.o: natsemi.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-natsemi.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-natsemi.Tpo" -c -o libdrivers_a-natsemi.o `test -f 'natsemi.c' || echo '$(srcdir)/'`natsemi.c; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-natsemi.Tpo" "$(DEPDIR)/libdrivers_a-natsemi.Po"; else rm -f "$(DEPDIR)/libdrivers_a-natsemi.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='natsemi.c' object='libdrivers_a-natsemi.o' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-natsemi.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-natsemi.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-natsemi.o `test -f 'natsemi.c' || echo '$(srcdir)/'`natsemi.c - - libdrivers_a-natsemi.obj: natsemi.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-natsemi.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-natsemi.Tpo" -c -o libdrivers_a-natsemi.obj `if test -f 'natsemi.c'; then $(CYGPATH_W) 'natsemi.c'; else $(CYGPATH_W) '$(srcdir)/natsemi.c'; fi`; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-natsemi.Tpo" "$(DEPDIR)/libdrivers_a-natsemi.Po"; else rm -f "$(DEPDIR)/libdrivers_a-natsemi.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='natsemi.c' object='libdrivers_a-natsemi.obj' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-natsemi.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-natsemi.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-natsemi.obj `if test -f 'natsemi.c'; then $(CYGPATH_W) 'natsemi.c'; else $(CYGPATH_W) '$(srcdir)/natsemi.c'; fi` - --libdrivers_a-ni5010.o: ni5010.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-ni5010.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-ni5010.Tpo" -c -o libdrivers_a-ni5010.o `test -f 'ni5010.c' || echo '$(srcdir)/'`ni5010.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-ni5010.Tpo" "$(DEPDIR)/libdrivers_a-ni5010.Po"; else rm -f "$(DEPDIR)/libdrivers_a-ni5010.Tpo"; exit 1; fi --@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ni5010.c' object='libdrivers_a-ni5010.o' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ --@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-ni5010.o `test -f 'ni5010.c' || echo '$(srcdir)/'`ni5010.c -- --libdrivers_a-ni5010.obj: ni5010.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-ni5010.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-ni5010.Tpo" -c -o libdrivers_a-ni5010.obj `if test -f 'ni5010.c'; then $(CYGPATH_W) 'ni5010.c'; else $(CYGPATH_W) '$(srcdir)/ni5010.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-ni5010.Tpo" "$(DEPDIR)/libdrivers_a-ni5010.Po"; else rm -f "$(DEPDIR)/libdrivers_a-ni5010.Tpo"; exit 1; fi --@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ni5010.c' object='libdrivers_a-ni5010.obj' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ --@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-ni5010.obj `if test -f 'ni5010.c'; then $(CYGPATH_W) 'ni5010.c'; else $(CYGPATH_W) '$(srcdir)/ni5010.c'; fi` -- - libdrivers_a-ns8390.o: ns8390.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-ns8390.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-ns8390.Tpo" -c -o libdrivers_a-ns8390.o `test -f 'ns8390.c' || echo '$(srcdir)/'`ns8390.c; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-ns8390.Tpo" "$(DEPDIR)/libdrivers_a-ns8390.Po"; else rm -f "$(DEPDIR)/libdrivers_a-ns8390.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ns8390.c' object='libdrivers_a-ns8390.o' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-ns8390.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-ns8390.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-ns8390.o `test -f 'ns8390.c' || echo '$(srcdir)/'`ns8390.c - - libdrivers_a-ns8390.obj: ns8390.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-ns8390.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-ns8390.Tpo" -c -o libdrivers_a-ns8390.obj `if test -f 'ns8390.c'; then $(CYGPATH_W) 'ns8390.c'; else $(CYGPATH_W) '$(srcdir)/ns8390.c'; fi`; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-ns8390.Tpo" "$(DEPDIR)/libdrivers_a-ns8390.Po"; else rm -f "$(DEPDIR)/libdrivers_a-ns8390.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ns8390.c' object='libdrivers_a-ns8390.obj' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-ns8390.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-ns8390.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-ns8390.obj `if test -f 'ns8390.c'; then $(CYGPATH_W) 'ns8390.c'; else $(CYGPATH_W) '$(srcdir)/ns8390.c'; fi` - --libdrivers_a-otulip.o: otulip.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-otulip.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-otulip.Tpo" -c -o libdrivers_a-otulip.o `test -f 'otulip.c' || echo '$(srcdir)/'`otulip.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-otulip.Tpo" "$(DEPDIR)/libdrivers_a-otulip.Po"; else rm -f "$(DEPDIR)/libdrivers_a-otulip.Tpo"; exit 1; fi --@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='otulip.c' object='libdrivers_a-otulip.o' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ --@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-otulip.o `test -f 'otulip.c' || echo '$(srcdir)/'`otulip.c -- --libdrivers_a-otulip.obj: otulip.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-otulip.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-otulip.Tpo" -c -o libdrivers_a-otulip.obj `if test -f 'otulip.c'; then $(CYGPATH_W) 'otulip.c'; else $(CYGPATH_W) '$(srcdir)/otulip.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-otulip.Tpo" "$(DEPDIR)/libdrivers_a-otulip.Po"; else rm -f "$(DEPDIR)/libdrivers_a-otulip.Tpo"; exit 1; fi --@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='otulip.c' object='libdrivers_a-otulip.obj' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ --@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-otulip.obj `if test -f 'otulip.c'; then $(CYGPATH_W) 'otulip.c'; else $(CYGPATH_W) '$(srcdir)/otulip.c'; fi` -+libdrivers_a-pcnet32.o: pcnet32.c -+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-pcnet32.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-pcnet32.Tpo" -c -o libdrivers_a-pcnet32.o `test -f 'pcnet32.c' || echo '$(srcdir)/'`pcnet32.c; \ -+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-pcnet32.Tpo" "$(DEPDIR)/libdrivers_a-pcnet32.Po"; else rm -f "$(DEPDIR)/libdrivers_a-pcnet32.Tpo"; exit 1; fi -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pcnet32.c' object='libdrivers_a-pcnet32.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-pcnet32.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-pcnet32.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-pcnet32.o `test -f 'pcnet32.c' || echo '$(srcdir)/'`pcnet32.c -+ -+libdrivers_a-pcnet32.obj: pcnet32.c -+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-pcnet32.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-pcnet32.Tpo" -c -o libdrivers_a-pcnet32.obj `if test -f 'pcnet32.c'; then $(CYGPATH_W) 'pcnet32.c'; else $(CYGPATH_W) '$(srcdir)/pcnet32.c'; fi`; \ -+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-pcnet32.Tpo" "$(DEPDIR)/libdrivers_a-pcnet32.Po"; else rm -f "$(DEPDIR)/libdrivers_a-pcnet32.Tpo"; exit 1; fi -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pcnet32.c' object='libdrivers_a-pcnet32.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-pcnet32.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-pcnet32.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-pcnet32.obj `if test -f 'pcnet32.c'; then $(CYGPATH_W) 'pcnet32.c'; else $(CYGPATH_W) '$(srcdir)/pcnet32.c'; fi` - - libdrivers_a-rtl8139.o: rtl8139.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-rtl8139.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-rtl8139.Tpo" -c -o libdrivers_a-rtl8139.o `test -f 'rtl8139.c' || echo '$(srcdir)/'`rtl8139.c; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-rtl8139.Tpo" "$(DEPDIR)/libdrivers_a-rtl8139.Po"; else rm -f "$(DEPDIR)/libdrivers_a-rtl8139.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='rtl8139.c' object='libdrivers_a-rtl8139.o' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-rtl8139.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-rtl8139.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-rtl8139.o `test -f 'rtl8139.c' || echo '$(srcdir)/'`rtl8139.c - - libdrivers_a-rtl8139.obj: rtl8139.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-rtl8139.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-rtl8139.Tpo" -c -o libdrivers_a-rtl8139.obj `if test -f 'rtl8139.c'; then $(CYGPATH_W) 'rtl8139.c'; else $(CYGPATH_W) '$(srcdir)/rtl8139.c'; fi`; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-rtl8139.Tpo" "$(DEPDIR)/libdrivers_a-rtl8139.Po"; else rm -f "$(DEPDIR)/libdrivers_a-rtl8139.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='rtl8139.c' object='libdrivers_a-rtl8139.obj' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-rtl8139.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-rtl8139.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-rtl8139.obj `if test -f 'rtl8139.c'; then $(CYGPATH_W) 'rtl8139.c'; else $(CYGPATH_W) '$(srcdir)/rtl8139.c'; fi` - - libdrivers_a-sis900.o: sis900.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-sis900.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-sis900.Tpo" -c -o libdrivers_a-sis900.o `test -f 'sis900.c' || echo '$(srcdir)/'`sis900.c; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-sis900.Tpo" "$(DEPDIR)/libdrivers_a-sis900.Po"; else rm -f "$(DEPDIR)/libdrivers_a-sis900.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sis900.c' object='libdrivers_a-sis900.o' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-sis900.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-sis900.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-sis900.o `test -f 'sis900.c' || echo '$(srcdir)/'`sis900.c - - libdrivers_a-sis900.obj: sis900.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-sis900.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-sis900.Tpo" -c -o libdrivers_a-sis900.obj `if test -f 'sis900.c'; then $(CYGPATH_W) 'sis900.c'; else $(CYGPATH_W) '$(srcdir)/sis900.c'; fi`; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-sis900.Tpo" "$(DEPDIR)/libdrivers_a-sis900.Po"; else rm -f "$(DEPDIR)/libdrivers_a-sis900.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sis900.c' object='libdrivers_a-sis900.obj' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-sis900.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-sis900.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-sis900.obj `if test -f 'sis900.c'; then $(CYGPATH_W) 'sis900.c'; else $(CYGPATH_W) '$(srcdir)/sis900.c'; fi` - --libdrivers_a-sk_g16.o: sk_g16.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-sk_g16.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-sk_g16.Tpo" -c -o libdrivers_a-sk_g16.o `test -f 'sk_g16.c' || echo '$(srcdir)/'`sk_g16.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-sk_g16.Tpo" "$(DEPDIR)/libdrivers_a-sk_g16.Po"; else rm -f "$(DEPDIR)/libdrivers_a-sk_g16.Tpo"; exit 1; fi --@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sk_g16.c' object='libdrivers_a-sk_g16.o' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ --@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-sk_g16.o `test -f 'sk_g16.c' || echo '$(srcdir)/'`sk_g16.c -- --libdrivers_a-sk_g16.obj: sk_g16.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-sk_g16.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-sk_g16.Tpo" -c -o libdrivers_a-sk_g16.obj `if test -f 'sk_g16.c'; then $(CYGPATH_W) 'sk_g16.c'; else $(CYGPATH_W) '$(srcdir)/sk_g16.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-sk_g16.Tpo" "$(DEPDIR)/libdrivers_a-sk_g16.Po"; else rm -f "$(DEPDIR)/libdrivers_a-sk_g16.Tpo"; exit 1; fi --@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sk_g16.c' object='libdrivers_a-sk_g16.obj' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ --@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-sk_g16.obj `if test -f 'sk_g16.c'; then $(CYGPATH_W) 'sk_g16.c'; else $(CYGPATH_W) '$(srcdir)/sk_g16.c'; fi` -- --libdrivers_a-smc9000.o: smc9000.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-smc9000.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-smc9000.Tpo" -c -o libdrivers_a-smc9000.o `test -f 'smc9000.c' || echo '$(srcdir)/'`smc9000.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-smc9000.Tpo" "$(DEPDIR)/libdrivers_a-smc9000.Po"; else rm -f "$(DEPDIR)/libdrivers_a-smc9000.Tpo"; exit 1; fi --@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='smc9000.c' object='libdrivers_a-smc9000.o' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ --@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-smc9000.o `test -f 'smc9000.c' || echo '$(srcdir)/'`smc9000.c -- --libdrivers_a-smc9000.obj: smc9000.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-smc9000.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-smc9000.Tpo" -c -o libdrivers_a-smc9000.obj `if test -f 'smc9000.c'; then $(CYGPATH_W) 'smc9000.c'; else $(CYGPATH_W) '$(srcdir)/smc9000.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-smc9000.Tpo" "$(DEPDIR)/libdrivers_a-smc9000.Po"; else rm -f "$(DEPDIR)/libdrivers_a-smc9000.Tpo"; exit 1; fi --@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='smc9000.c' object='libdrivers_a-smc9000.obj' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ --@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-smc9000.obj `if test -f 'smc9000.c'; then $(CYGPATH_W) 'smc9000.c'; else $(CYGPATH_W) '$(srcdir)/smc9000.c'; fi` -- --libdrivers_a-tiara.o: tiara.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-tiara.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-tiara.Tpo" -c -o libdrivers_a-tiara.o `test -f 'tiara.c' || echo '$(srcdir)/'`tiara.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-tiara.Tpo" "$(DEPDIR)/libdrivers_a-tiara.Po"; else rm -f "$(DEPDIR)/libdrivers_a-tiara.Tpo"; exit 1; fi --@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tiara.c' object='libdrivers_a-tiara.o' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ --@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-tiara.o `test -f 'tiara.c' || echo '$(srcdir)/'`tiara.c -- --libdrivers_a-tiara.obj: tiara.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-tiara.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-tiara.Tpo" -c -o libdrivers_a-tiara.obj `if test -f 'tiara.c'; then $(CYGPATH_W) 'tiara.c'; else $(CYGPATH_W) '$(srcdir)/tiara.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-tiara.Tpo" "$(DEPDIR)/libdrivers_a-tiara.Po"; else rm -f "$(DEPDIR)/libdrivers_a-tiara.Tpo"; exit 1; fi --@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tiara.c' object='libdrivers_a-tiara.obj' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ --@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-tiara.obj `if test -f 'tiara.c'; then $(CYGPATH_W) 'tiara.c'; else $(CYGPATH_W) '$(srcdir)/tiara.c'; fi` -+libdrivers_a-tg3.o: tg3.c -+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-tg3.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-tg3.Tpo" -c -o libdrivers_a-tg3.o `test -f 'tg3.c' || echo '$(srcdir)/'`tg3.c; \ -+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-tg3.Tpo" "$(DEPDIR)/libdrivers_a-tg3.Po"; else rm -f "$(DEPDIR)/libdrivers_a-tg3.Tpo"; exit 1; fi -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tg3.c' object='libdrivers_a-tg3.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-tg3.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-tg3.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-tg3.o `test -f 'tg3.c' || echo '$(srcdir)/'`tg3.c -+ -+libdrivers_a-tg3.obj: tg3.c -+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-tg3.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-tg3.Tpo" -c -o libdrivers_a-tg3.obj `if test -f 'tg3.c'; then $(CYGPATH_W) 'tg3.c'; else $(CYGPATH_W) '$(srcdir)/tg3.c'; fi`; \ -+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-tg3.Tpo" "$(DEPDIR)/libdrivers_a-tg3.Po"; else rm -f "$(DEPDIR)/libdrivers_a-tg3.Tpo"; exit 1; fi -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tg3.c' object='libdrivers_a-tg3.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-tg3.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-tg3.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-tg3.obj `if test -f 'tg3.c'; then $(CYGPATH_W) 'tg3.c'; else $(CYGPATH_W) '$(srcdir)/tg3.c'; fi` - - libdrivers_a-tlan.o: tlan.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-tlan.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-tlan.Tpo" -c -o libdrivers_a-tlan.o `test -f 'tlan.c' || echo '$(srcdir)/'`tlan.c; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-tlan.Tpo" "$(DEPDIR)/libdrivers_a-tlan.Po"; else rm -f "$(DEPDIR)/libdrivers_a-tlan.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tlan.c' object='libdrivers_a-tlan.o' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-tlan.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-tlan.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-tlan.o `test -f 'tlan.c' || echo '$(srcdir)/'`tlan.c - - libdrivers_a-tlan.obj: tlan.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-tlan.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-tlan.Tpo" -c -o libdrivers_a-tlan.obj `if test -f 'tlan.c'; then $(CYGPATH_W) 'tlan.c'; else $(CYGPATH_W) '$(srcdir)/tlan.c'; fi`; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-tlan.Tpo" "$(DEPDIR)/libdrivers_a-tlan.Po"; else rm -f "$(DEPDIR)/libdrivers_a-tlan.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tlan.c' object='libdrivers_a-tlan.obj' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-tlan.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-tlan.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-tlan.obj `if test -f 'tlan.c'; then $(CYGPATH_W) 'tlan.c'; else $(CYGPATH_W) '$(srcdir)/tlan.c'; fi` - - libdrivers_a-tulip.o: tulip.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-tulip.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-tulip.Tpo" -c -o libdrivers_a-tulip.o `test -f 'tulip.c' || echo '$(srcdir)/'`tulip.c; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-tulip.Tpo" "$(DEPDIR)/libdrivers_a-tulip.Po"; else rm -f "$(DEPDIR)/libdrivers_a-tulip.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tulip.c' object='libdrivers_a-tulip.o' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-tulip.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-tulip.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-tulip.o `test -f 'tulip.c' || echo '$(srcdir)/'`tulip.c - - libdrivers_a-tulip.obj: tulip.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-tulip.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-tulip.Tpo" -c -o libdrivers_a-tulip.obj `if test -f 'tulip.c'; then $(CYGPATH_W) 'tulip.c'; else $(CYGPATH_W) '$(srcdir)/tulip.c'; fi`; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-tulip.Tpo" "$(DEPDIR)/libdrivers_a-tulip.Po"; else rm -f "$(DEPDIR)/libdrivers_a-tulip.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tulip.c' object='libdrivers_a-tulip.obj' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-tulip.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-tulip.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-tulip.obj `if test -f 'tulip.c'; then $(CYGPATH_W) 'tulip.c'; else $(CYGPATH_W) '$(srcdir)/tulip.c'; fi` - - libdrivers_a-via-rhine.o: via-rhine.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-via-rhine.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-via-rhine.Tpo" -c -o libdrivers_a-via-rhine.o `test -f 'via-rhine.c' || echo '$(srcdir)/'`via-rhine.c; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-via-rhine.Tpo" "$(DEPDIR)/libdrivers_a-via-rhine.Po"; else rm -f "$(DEPDIR)/libdrivers_a-via-rhine.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='via-rhine.c' object='libdrivers_a-via-rhine.o' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-via-rhine.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-via-rhine.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-via-rhine.o `test -f 'via-rhine.c' || echo '$(srcdir)/'`via-rhine.c - - libdrivers_a-via-rhine.obj: via-rhine.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-via-rhine.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-via-rhine.Tpo" -c -o libdrivers_a-via-rhine.obj `if test -f 'via-rhine.c'; then $(CYGPATH_W) 'via-rhine.c'; else $(CYGPATH_W) '$(srcdir)/via-rhine.c'; fi`; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-via-rhine.Tpo" "$(DEPDIR)/libdrivers_a-via-rhine.Po"; else rm -f "$(DEPDIR)/libdrivers_a-via-rhine.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='via-rhine.c' object='libdrivers_a-via-rhine.obj' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-via-rhine.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-via-rhine.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-via-rhine.obj `if test -f 'via-rhine.c'; then $(CYGPATH_W) 'via-rhine.c'; else $(CYGPATH_W) '$(srcdir)/via-rhine.c'; fi` - - libdrivers_a-w89c840.o: w89c840.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-w89c840.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-w89c840.Tpo" -c -o libdrivers_a-w89c840.o `test -f 'w89c840.c' || echo '$(srcdir)/'`w89c840.c; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-w89c840.Tpo" "$(DEPDIR)/libdrivers_a-w89c840.Po"; else rm -f "$(DEPDIR)/libdrivers_a-w89c840.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='w89c840.c' object='libdrivers_a-w89c840.o' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-w89c840.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-w89c840.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-w89c840.o `test -f 'w89c840.c' || echo '$(srcdir)/'`w89c840.c - - libdrivers_a-w89c840.obj: w89c840.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-w89c840.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-w89c840.Tpo" -c -o libdrivers_a-w89c840.obj `if test -f 'w89c840.c'; then $(CYGPATH_W) 'w89c840.c'; else $(CYGPATH_W) '$(srcdir)/w89c840.c'; fi`; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-w89c840.Tpo" "$(DEPDIR)/libdrivers_a-w89c840.Po"; else rm -f "$(DEPDIR)/libdrivers_a-w89c840.Tpo"; exit 1; fi - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='w89c840.c' object='libdrivers_a-w89c840.obj' libtool=no @AMDEPBACKSLASH@ --@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-w89c840.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-w89c840.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-w89c840.obj `if test -f 'w89c840.c'; then $(CYGPATH_W) 'w89c840.c'; else $(CYGPATH_W) '$(srcdir)/w89c840.c'; fi` --uninstall-info-am: -+ -+libdrivers_a-r8169.o: r8169.c -+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-r8169.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-r8169.Tpo" -c -o libdrivers_a-r8169.o `test -f 'r8169.c' || echo '$(srcdir)/'`r8169.c; \ -+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-r8169.Tpo" "$(DEPDIR)/libdrivers_a-r8169.Po"; else rm -f "$(DEPDIR)/libdrivers_a-r8169.Tpo"; exit 1; fi -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='r8169.c' object='libdrivers_a-r8169.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-r8169.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-r8169.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-r8169.o `test -f 'r8169.c' || echo '$(srcdir)/'`r8169.c -+ -+libdrivers_a-r8169.obj: r8169.c -+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-r8169.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-r8169.Tpo" -c -o libdrivers_a-r8169.obj `if test -f 'r8169.c'; then $(CYGPATH_W) 'r8169.c'; else $(CYGPATH_W) '$(srcdir)/r8169.c'; fi`; \ -+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-r8169.Tpo" "$(DEPDIR)/libdrivers_a-r8169.Po"; else rm -f "$(DEPDIR)/libdrivers_a-r8169.Tpo"; exit 1; fi -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='r8169.c' object='libdrivers_a-r8169.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-r8169.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-r8169.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-r8169.obj `if test -f 'r8169.c'; then $(CYGPATH_W) 'r8169.c'; else $(CYGPATH_W) '$(srcdir)/r8169.c'; fi` -+ -+libdrivers_a-forcedeth.o: forcedeth.c -+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-forcedeth.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-forcedeth.Tpo" -c -o libdrivers_a-forcedeth.o `test -f 'forcedeth.c' || echo '$(srcdir)/'`forcedeth.c; \ -+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-forcedeth.Tpo" "$(DEPDIR)/libdrivers_a-forcedeth.Po"; else rm -f "$(DEPDIR)/libdrivers_a-forcedeth.Tpo"; exit 1; fi -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='forcedeth.c' object='libdrivers_a-forcedeth.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-forcedeth.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-forcedeth.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-forcedeth.o `test -f 'forcedeth.c' || echo '$(srcdir)/'`forcedeth.c -+ -+libdrivers_a-forcedeth.obj: forcedeth.c -+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-forcedeth.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-forcedeth.Tpo" -c -o libdrivers_a-forcedeth.obj `if test -f 'forcedeth.c'; then $(CYGPATH_W) 'forcedeth.c'; else $(CYGPATH_W) '$(srcdir)/forcedeth.c'; fi`; \ -+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-forcedeth.Tpo" "$(DEPDIR)/libdrivers_a-forcedeth.Po"; else rm -f "$(DEPDIR)/libdrivers_a-forcedeth.Tpo"; exit 1; fi -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='forcedeth.c' object='libdrivers_a-forcedeth.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-forcedeth.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-forcedeth.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-forcedeth.obj `if test -f 'forcedeth.c'; then $(CYGPATH_W) 'forcedeth.c'; else $(CYGPATH_W) '$(srcdir)/forcedeth.c'; fi` -+ -+libdrivers_a-ns83820.o: ns83820.c -+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-ns83820.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-ns83820.Tpo" -c -o libdrivers_a-ns83820.o `test -f 'ns83820.c' || echo '$(srcdir)/'`ns83820.c; \ -+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-ns83820.Tpo" "$(DEPDIR)/libdrivers_a-ns83820.Po"; else rm -f "$(DEPDIR)/libdrivers_a-ns83820.Tpo"; exit 1; fi -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ns83820.c' object='libdrivers_a-ns83820.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-ns83820.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-ns83820.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-ns83820.o `test -f 'ns83820.c' || echo '$(srcdir)/'`ns83820.c -+ -+libdrivers_a-ns83820.obj: ns83820.c -+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-ns83820.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-ns83820.Tpo" -c -o libdrivers_a-ns83820.obj `if test -f 'ns83820.c'; then $(CYGPATH_W) 'ns83820.c'; else $(CYGPATH_W) '$(srcdir)/ns83820.c'; fi`; \ -+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-ns83820.Tpo" "$(DEPDIR)/libdrivers_a-ns83820.Po"; else rm -f "$(DEPDIR)/libdrivers_a-ns83820.Tpo"; exit 1; fi -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ns83820.c' object='libdrivers_a-ns83820.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-ns83820.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-ns83820.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-ns83820.obj `if test -f 'ns83820.c'; then $(CYGPATH_W) 'ns83820.c'; else $(CYGPATH_W) '$(srcdir)/ns83820.c'; fi` -+ -+libdrivers_a-pnic.o: pnic.c -+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-pnic.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-pnic.Tpo" -c -o libdrivers_a-pnic.o `test -f 'pnic.c' || echo '$(srcdir)/'`pnic.c; \ -+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-pnic.Tpo" "$(DEPDIR)/libdrivers_a-pnic.Po"; else rm -f "$(DEPDIR)/libdrivers_a-pnic.Tpo"; exit 1; fi -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pnic.c' object='libdrivers_a-pnic.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-pnic.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-pnic.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-pnic.o `test -f 'pnic.c' || echo '$(srcdir)/'`pnic.c -+ -+libdrivers_a-pnic.obj: pnic.c -+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-pnic.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-pnic.Tpo" -c -o libdrivers_a-pnic.obj `if test -f 'pnic.c'; then $(CYGPATH_W) 'pnic.c'; else $(CYGPATH_W) '$(srcdir)/pnic.c'; fi`; \ -+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-pnic.Tpo" "$(DEPDIR)/libdrivers_a-pnic.Po"; else rm -f "$(DEPDIR)/libdrivers_a-pnic.Tpo"; exit 1; fi -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pnic.c' object='libdrivers_a-pnic.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-pnic.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-pnic.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-pnic.obj `if test -f 'pnic.c'; then $(CYGPATH_W) 'pnic.c'; else $(CYGPATH_W) '$(srcdir)/pnic.c'; fi` -+ -+libdrivers_a-pnic_api.o: pnic_api.c -+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-pnic_api.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-pnic_api.Tpo" -c -o libdrivers_a-pnic_api.o `test -f 'pnic_api.c' || echo '$(srcdir)/'`pnic_api.c; \ -+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-pnic_api.Tpo" "$(DEPDIR)/libdrivers_a-pnic_api.Po"; else rm -f "$(DEPDIR)/libdrivers_a-pnic_api.Tpo"; exit 1; fi -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pnic_api.c' object='libdrivers_a-pnic_api.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-pnic_api.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-pnic_api.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-pnic_api.o `test -f 'pnic_api.c' || echo '$(srcdir)/'`pnic_api.c -+ -+libdrivers_a-pnic_api.obj: pnic_api.c -+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-pnic_api.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-pnic_api.Tpo" -c -o libdrivers_a-pnic_api.obj `if test -f 'pnic_api.c'; then $(CYGPATH_W) 'pnic_api.c'; else $(CYGPATH_W) '$(srcdir)/pnic_api.c'; fi`; \ -+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-pnic_api.Tpo" "$(DEPDIR)/libdrivers_a-pnic_api.Po"; else rm -f "$(DEPDIR)/libdrivers_a-pnic_api.Tpo"; exit 1; fi -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pnic_api.c' object='libdrivers_a-pnic_api.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/libdrivers_a-pnic_api.Po' tmpdepfile='$(DEPDIR)/libdrivers_a-pnic_api.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-pnic_api.obj `if test -f 'pnic_api.c'; then $(CYGPATH_W) 'pnic_api.c'; else $(CYGPATH_W) '$(srcdir)/pnic_api.c'; fi` - - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ -@@ -817,11 +928,9 @@ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ -- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ -- test -n "$$unique" || unique=$$empty_fix; \ -- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ -- $$tags $$unique; \ -- fi -+ test -z "$(ETAGS_ARGS)$$tags$$unique" \ -+ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ -+ $$tags $$unique - ctags: CTAGS - CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) -@@ -895,7 +1004,7 @@ - clean-generic: - - distclean-generic: -- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -+ -rm -f $(CONFIG_CLEAN_FILES) - - maintainer-clean-generic: - @echo "This command is intended for maintainers to use" -@@ -962,10 +1071,10 @@ - - - # Is it really necessary to specify dependecies explicitly? --$(3c509_drivers): 3c509.c 3c509.h --$(3c509_drivers): %.o: 3c509.c -- $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -- $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< -+#$(3c509_drivers): 3c509.c 3c509.h -+#$(3c509_drivers): %.o: 3c509.c -+# $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -+# $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - - $(3c595_drivers): 3c595.c 3c595.h - $(3c595_drivers): %.o: 3c595.c -@@ -977,23 +1086,28 @@ - $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - --$(cs89x0_drivers): cs89x0.c cs89x0.h --$(cs89x0_drivers): %.o: cs89x0.c -- $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -- $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< -+#$(cs89x0_drivers): cs89x0.c cs89x0.h -+#$(cs89x0_drivers): %.o: cs89x0.c -+# $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -+# $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - - $(davicom_drivers): davicom.c - $(davicom_drivers): %.o: davicom.c - $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - --$(depca_drivers): depca.c --$(depca_drivers): %.o: depca.c -- $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -- $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< -+#$(depca_drivers): depca.c -+#$(depca_drivers): %.o: depca.c -+# $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -+# $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - --$(eepro_drivers): eepro.c --$(eepro_drivers): %.o: eepro.c -+#$(eepro_drivers): eepro.c -+#$(eepro_drivers): %.o: eepro.c -+# $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -+# $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< -+ -+$(e1000_drivers): e1000.c e1000_hw.h -+$(e1000_drivers): %.o: e1000.c - $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - -@@ -1007,28 +1121,38 @@ - $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - -+$(forcedeth_drivers): forcedeth.c -+$(forcedeth_drivers): %.o: forcedeth.c -+ $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -+ $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< -+ - #$(fa311_drivers): fa311.c - #$(fa311_drivers): %.o: fa311.c - # $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - # $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - --$(i82586_drivers): i82586.c --$(i82586_drivers): %.o: i82586.c -- $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -- $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< -+#$(i82586_drivers): i82586.c -+#$(i82586_drivers): %.o: i82586.c -+# $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -+# $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - --$(lance_drivers): lance.c --$(lance_drivers): %.o: lance.c -- $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -- $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< -+#$(lance_drivers): lance.c -+#$(lance_drivers): %.o: lance.c -+# $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -+# $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - - $(natsemi_drivers): natsemi.c - $(natsemi_drivers): %.o: natsemi.c - $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - --$(ni5010_drivers): ni5010.c --$(ni5010_drivers): %.o: ni5010.c -+#$(ni5010_drivers): ni5010.c -+#$(ni5010_drivers): %.o: ni5010.c -+# $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -+# $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< -+ -+$(ns83820_drivers): ns83820.c -+$(ns83820_drivers): %.o: ns83820.c - $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - -@@ -1037,41 +1161,62 @@ - $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - --$(otulip_drivers): otulip.c otulip.h --$(otulip_drivers): %.o: otulip.c -+#$(otulip_drivers): otulip.c otulip.h -+#$(otulip_drivers): %.o: otulip.c -+# $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -+# $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< -+ -+$(pcnet32_drivers): pcnet32.c -+$(pcnet32_drivers): %.o: pcnet32.c - $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - --$(rtl8139_drivers): rtl8139.c --$(rtl8139_drivers): %.o: rtl8139.c -+$(pnic_drivers): pnic.c -+$(pnic_drivers): %.o: pnic.c pnic_api.h - $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - --$(sis900_drivers): sis900.c --$(sis900_drivers): %.o: sis900.c sis900.h -+$(rtl8139_drivers): rtl8139.c -+$(rtl8139_drivers): %.o: rtl8139.c - $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - --$(sk_g16_drivers): sk_g16.c sk_g16.h --$(sk_g16_drivers): %.o: sk_g16.c -+$(r8169_drivers): r8169.c -+$(r8169_drivers): %.o: r8169.c - $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - --$(smc9000_drivers): smc9000.c smc9000.h --$(smc9000_drivers): %.o: smc9000.c -+$(sis900_drivers): sis900.c sis900.h -+$(sis900_drivers): %.o: sis900.c - $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - --$(tiara_drivers): tiara.c --$(tiara_drivers): %.o: tiara.c -+#$(sk_g16_drivers): sk_g16.c sk_g16.h -+#$(sk_g16_drivers): %.o: sk_g16.c -+# $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -+# $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< -+ -+#$(smc9000_drivers): smc9000.c smc9000.h -+#$(smc9000_drivers): %.o: smc9000.c -+# $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -+# $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< -+ -+ -+$(tg3_drivers): tg3.c tg3.h -+$(tg3_drivers): %.o: tg3.c - $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - --#$(tlan_drivers): tlan.c --#$(tlan_drivers): %.o: tlan.c -+#$(tiara_drivers): tiara.c -+#$(tiara_drivers): %.o: tiara.c - # $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - # $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< - -+$(tlan_drivers): tlan.c tlan.h -+$(tlan_drivers): %.o: tlan.c -+ $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -+ $(NET_EXTRAFLAGS) $($(basename $@)_o_CFLAGS) -o $@ -c $< -+ - $(tulip_drivers): tulip.c - $(tulip_drivers): %.o: tulip.c - $(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -Index: b/netboot/basemem.c -=================================================================== ---- /dev/null -+++ b/netboot/basemem.c -@@ -0,0 +1,178 @@ -+#include "etherboot.h" -+#define DEBUG_BASEMEM -+/* Routines to allocate base memory in a BIOS-compatible way, by -+ * updating the Free Base Memory Size counter at 40:13h. -+ * -+ * Michael Brown (mcb30) -+ * $Id: grub-0.95-diskless-patch-2-undi.patch,v 1.1.1.1 2005/06/14 08:18:50 wesolows Exp $ -+ */ -+ -+#define fbms ( ( uint16_t * ) phys_to_virt ( 0x413 ) ) -+#define BASE_MEMORY_MAX ( 640 ) -+#define FREE_BLOCK_MAGIC ( ('!'<<0) + ('F'<<8) + ('R'<<16) + ('E'<<24) ) -+ -+typedef struct free_base_memory_block { -+ uint32_t magic; -+ uint16_t size_kb; -+} free_base_memory_block_t; -+ -+/* Return amount of free base memory in bytes -+ */ -+ -+uint32_t get_free_base_memory ( void ) { -+ return *fbms << 10; -+} -+ -+/* Adjust the real mode stack pointer. We keep the real mode stack at -+ * the top of free base memory, rather than allocating space for it. -+ */ -+ -+inline void adjust_real_mode_stack ( void ) { -+/* real_mode_stack = ( *fbms << 10 ); */ -+} -+ -+/* Allocate N bytes of base memory. Amount allocated will be rounded -+ * up to the nearest kB, since that's the granularity of the BIOS FBMS -+ * counter. Returns NULL if memory cannot be allocated. -+ */ -+ -+void * allot_base_memory ( size_t size ) { -+ uint16_t size_kb = ( size + 1023 ) >> 10; -+ void *ptr = NULL; -+ -+#ifdef DEBUG_BASEMEM -+ printf ( "Trying to allocate %d kB of base memory, %d kB free\n", -+ size_kb, *fbms ); -+#endif -+ -+ /* Free up any unused memory before we start */ -+ free_unused_base_memory(); -+ -+ /* Check available base memory */ -+ if ( size_kb > *fbms ) { return NULL; } -+ -+ /* Reduce available base memory */ -+ *fbms -= size_kb; -+ -+ /* Calculate address of memory allocated */ -+ ptr = phys_to_virt ( *fbms << 10 ); -+ -+#ifdef DEBUG_BASEMEM -+ /* Zero out memory. We do this so that allocation of -+ * already-used space will show up in the form of a crash as -+ * soon as possible. -+ */ -+ memset ( ptr, 0, size_kb << 10 ); -+#endif -+ -+ /* Adjust real mode stack pointer */ -+ adjust_real_mode_stack (); -+ -+ return ptr; -+} -+ -+/* Free base memory allocated by allot_base_memory. The BIOS provides -+ * nothing better than a LIFO mechanism for freeing memory (i.e. it -+ * just has the single "total free memory" counter), but we improve -+ * upon this slightly; as long as you free all the allotted blocks, it -+ * doesn't matter what order you free them in. (This will only work -+ * for blocks that are freed via forget_base_memory()). -+ * -+ * Yes, it's annoying that you have to remember the size of the blocks -+ * you've allotted. However, since our granularity of allocation is -+ * 1K, the alternative is to risk wasting the occasional kB of base -+ * memory, which is a Bad Thing. Really, you should be using as -+ * little base memory as possible, so consider the awkwardness of the -+ * API to be a feature! :-) -+ */ -+ -+void forget_base_memory ( void *ptr, size_t size ) { -+ uint16_t remainder = virt_to_phys(ptr) & 1023; -+ uint16_t size_kb = ( size + remainder + 1023 ) >> 10; -+ free_base_memory_block_t *free_block = -+ ( free_base_memory_block_t * ) ( ptr - remainder ); -+ -+ if ( ( ptr == NULL ) || ( size == 0 ) ) { return; } -+ -+#ifdef DEBUG_BASEMEM -+ printf ( "Trying to free %d bytes base memory at 0x%x\n", -+ size, virt_to_phys ( ptr ) ); -+ if ( remainder > 0 ) { -+ printf ( "WARNING: destructively expanding free block " -+ "downwards to 0x%x\n", -+ virt_to_phys ( ptr - remainder ) ); -+ } -+#endif -+ -+ /* Mark every kilobyte within this block as free. This is -+ * overkill for normal purposes, but helps when something has -+ * allocated base memory with a granularity finer than the -+ * BIOS granularity of 1kB. PXE ROMs tend to do this when -+ * they allocate their own memory. This method allows us to -+ * free their blocks (admittedly in a rather dangerous, -+ * tread-on-anything-either-side sort of way, but there's no -+ * other way to do it). -+ * -+ * Since we're marking every kB as free, there's actually no -+ * need for recording the size of the blocks. However, we -+ * keep this in so that debug messages are friendlier. It -+ * probably adds around 8 bytes to the overall code size. -+ */ -+ while ( size_kb > 0 ) { -+ /* Mark this block as unused */ -+ free_block->magic = FREE_BLOCK_MAGIC; -+ free_block->size_kb = size_kb; -+ /* Move up by 1 kB */ -+ (void *)(free_block += ( 1 << 10 )); -+ size_kb--; -+ } -+ -+ /* Free up unused base memory */ -+ free_unused_base_memory(); -+} -+ -+/* Do the actual freeing of memory. This is split out from -+ * forget_base_memory() so that it may be called separately. It -+ * should be called whenever base memory is deallocated by an external -+ * entity (if we can detect that it has done so) so that we get the -+ * chance to free up our own blocks. -+ */ -+void free_unused_base_memory ( void ) { -+ free_base_memory_block_t *free_block = NULL; -+ -+ /* Try to release memory back to the BIOS. Free all -+ * consecutive blocks marked as free. -+ */ -+ while ( 1 ) { -+ /* Calculate address of next potential free block */ -+ free_block = ( free_base_memory_block_t * ) -+ phys_to_virt ( *fbms << 10 ); -+ -+ /* Stop processing if we're all the way up to 640K or -+ * if this is not a free block -+ */ -+ if ( ( *fbms == BASE_MEMORY_MAX ) || -+ ( free_block->magic != FREE_BLOCK_MAGIC ) ) { -+ break; -+ } -+ -+ /* Return memory to BIOS */ -+ *fbms += free_block->size_kb; -+ -+#ifdef DEBUG_BASEMEM -+ printf ( "Freed %d kB base memory, %d kB now free\n", -+ free_block->size_kb, *fbms ); -+ -+ /* Zero out freed block. We do this in case -+ * the block contained any structures that -+ * might be located by scanning through -+ * memory. -+ */ -+ memset ( free_block, 0, free_block->size_kb << 10 ); -+#endif -+ } -+ -+ /* Adjust real mode stack pointer */ -+ adjust_real_mode_stack (); -+} -+ -Index: b/netboot/big_bswap.h -=================================================================== ---- /dev/null -+++ b/netboot/big_bswap.h -@@ -0,0 +1,17 @@ -+#ifndef ETHERBOOT_BIG_BSWAP_H -+#define ETHERBOOT_BIG_BSWAP_H -+ -+#define ntohl(x) (x) -+#define htonl(x) (x) -+#define ntohs(x) (x) -+#define htons(x) (x) -+#define cpu_to_le32(x) __bswap_32(x) -+#define cpu_to_le16(x) __bswap_16(x) -+#define cpu_to_be32(x) (x) -+#define cpu_to_be16(x) (x) -+#define le32_to_cpu(x) __bswap_32(x) -+#define le16_to_cpu(x) __bswap_16(x) -+#define be32_to_cpu(x) (x) -+#define be16_to_cpu(x) (x) -+ -+#endif /* ETHERBOOT_BIG_BSWAP_H */ -Index: b/netboot/bootp.h -=================================================================== ---- /dev/null -+++ b/netboot/bootp.h -@@ -0,0 +1,182 @@ -+#ifndef _BOOTP_H -+#define _BOOTP_H -+ -+#include "if_ether.h" -+#include "ip.h" -+#include "udp.h" -+ -+#ifndef MAX_BOOTP_RETRIES -+#define MAX_BOOTP_RETRIES 20 -+#endif -+ -+#ifdef ALTERNATE_DHCP_PORTS_1067_1068 -+#undef NON_STANDARD_BOOTP_SERVER -+#define NON_STANDARD_BOOTP_SERVER 1067 -+#undef NON_STANDARD_BOOTP_CLIENT -+#define NON_STANDARD_BOOTP_CLIENT 1068 -+#endif -+ -+#ifdef NON_STANDARD_BOOTP_SERVER -+#define BOOTP_SERVER NON_STANDARD_BOOTP_SERVER -+#else -+#define BOOTP_SERVER 67 -+#endif -+#ifdef NON_STANDARD_BOOTP_CLIENT -+#define BOOTP_CLIENT NON_STANDARD_BOOTP_CLIENT -+#else -+#define BOOTP_CLIENT 68 -+#endif -+ -+#define BOOTP_REQUEST 1 -+#define BOOTP_REPLY 2 -+ -+#define TAG_LEN(p) (*((p)+1)) -+#define RFC1533_COOKIE 99, 130, 83, 99 -+#define RFC1533_PAD 0 -+#define RFC1533_NETMASK 1 -+#define RFC1533_TIMEOFFSET 2 -+#define RFC1533_GATEWAY 3 -+#define RFC1533_TIMESERVER 4 -+#define RFC1533_IEN116NS 5 -+#define RFC1533_DNS 6 -+#define RFC1533_LOGSERVER 7 -+#define RFC1533_COOKIESERVER 8 -+#define RFC1533_LPRSERVER 9 -+#define RFC1533_IMPRESSSERVER 10 -+#define RFC1533_RESOURCESERVER 11 -+#define RFC1533_HOSTNAME 12 -+#define RFC1533_BOOTFILESIZE 13 -+#define RFC1533_MERITDUMPFILE 14 -+#define RFC1533_DOMAINNAME 15 -+#define RFC1533_SWAPSERVER 16 -+#define RFC1533_ROOTPATH 17 -+#define RFC1533_EXTENSIONPATH 18 -+#define RFC1533_IPFORWARDING 19 -+#define RFC1533_IPSOURCEROUTING 20 -+#define RFC1533_IPPOLICYFILTER 21 -+#define RFC1533_IPMAXREASSEMBLY 22 -+#define RFC1533_IPTTL 23 -+#define RFC1533_IPMTU 24 -+#define RFC1533_IPMTUPLATEAU 25 -+#define RFC1533_INTMTU 26 -+#define RFC1533_INTLOCALSUBNETS 27 -+#define RFC1533_INTBROADCAST 28 -+#define RFC1533_INTICMPDISCOVER 29 -+#define RFC1533_INTICMPRESPOND 30 -+#define RFC1533_INTROUTEDISCOVER 31 -+#define RFC1533_INTROUTESOLICIT 32 -+#define RFC1533_INTSTATICROUTES 33 -+#define RFC1533_LLTRAILERENCAP 34 -+#define RFC1533_LLARPCACHETMO 35 -+#define RFC1533_LLETHERNETENCAP 36 -+#define RFC1533_TCPTTL 37 -+#define RFC1533_TCPKEEPALIVETMO 38 -+#define RFC1533_TCPKEEPALIVEGB 39 -+#define RFC1533_NISDOMAIN 40 -+#define RFC1533_NISSERVER 41 -+#define RFC1533_NTPSERVER 42 -+#define RFC1533_VENDOR 43 -+#define RFC1533_NBNS 44 -+#define RFC1533_NBDD 45 -+#define RFC1533_NBNT 46 -+#define RFC1533_NBSCOPE 47 -+#define RFC1533_XFS 48 -+#define RFC1533_XDM 49 -+#ifndef NO_DHCP_SUPPORT -+#define RFC2132_REQ_ADDR 50 -+#define RFC2132_MSG_TYPE 53 -+#define RFC2132_SRV_ID 54 -+#define RFC2132_PARAM_LIST 55 -+#define RFC2132_MAX_SIZE 57 -+#define RFC2132_VENDOR_CLASS_ID 60 -+ -+#define DHCPDISCOVER 1 -+#define DHCPOFFER 2 -+#define DHCPREQUEST 3 -+#define DHCPACK 5 -+#endif /* NO_DHCP_SUPPORT */ -+ -+#define RFC1533_VENDOR_MAJOR 0 -+#define RFC1533_VENDOR_MINOR 0 -+ -+#define RFC1533_VENDOR_MAGIC 128 -+#define RFC1533_VENDOR_ADDPARM 129 -+#define RFC1533_VENDOR_ETHDEV 130 -+#ifdef IMAGE_FREEBSD -+#define RFC1533_VENDOR_HOWTO 132 -+#define RFC1533_VENDOR_KERNEL_ENV 133 -+#endif -+#define RFC1533_VENDOR_ETHERBOOT_ENCAP 150 -+#define RFC1533_VENDOR_MNUOPTS 160 -+#define RFC1533_VENDOR_NIC_DEV_ID 175 -+#define RFC1533_VENDOR_SELECTION 176 -+#define RFC1533_VENDOR_ARCH 177 -+#define RFC1533_VENDOR_MOTD 184 -+#define RFC1533_VENDOR_NUMOFMOTD 8 -+#define RFC1533_VENDOR_IMG 192 -+#define RFC1533_VENDOR_NUMOFIMG 16 -+ -+#define RFC1533_VENDOR_CONFIGFILE 150 -+ -+#define RFC1533_END 255 -+ -+#define BOOTP_VENDOR_LEN 64 -+ -+#define DHCP_OPT_LEN 312 -+ -+/* Format of a bootp packet */ -+struct bootp_t { -+ uint8_t bp_op; -+ uint8_t bp_htype; -+ uint8_t bp_hlen; -+ uint8_t bp_hops; -+ uint32_t bp_xid; -+ uint16_t bp_secs; -+ uint16_t unused; -+ in_addr bp_ciaddr; -+ in_addr bp_yiaddr; -+ in_addr bp_siaddr; -+ in_addr bp_giaddr; -+ uint8_t bp_hwaddr[16]; -+ uint8_t bp_sname[64]; -+ char bp_file[128]; -+ uint8_t bp_vend[BOOTP_VENDOR_LEN]; -+}; -+ -+struct dhcp_t { -+ uint8_t bp_op; -+ uint8_t bp_htype; -+ uint8_t bp_hlen; -+ uint8_t bp_hops; -+ uint32_t bp_xid; -+ uint16_t bp_secs; -+ uint16_t bp_flag; -+ in_addr bp_ciaddr; -+ in_addr bp_yiaddr; -+ in_addr bp_siaddr; -+ in_addr bp_giaddr; -+ uint8_t bp_hwaddr[16]; -+ uint8_t bp_sname[64]; -+ char bp_file[128]; -+ uint8_t bp_vend[DHCP_OPT_LEN]; -+}; -+ -+/* Format of a bootp IP packet */ -+struct bootpip_t -+{ -+ struct iphdr ip; -+ struct udphdr udp; -+ struct bootp_t bp; -+}; -+struct dhcpip_t -+{ -+ struct iphdr ip; -+ struct udphdr udp; -+ struct dhcp_t bp; -+}; -+ -+#define MAX_RFC1533_VENDLEN (ETH_MAX_MTU - sizeof(struct bootpip_t) + BOOTP_VENDOR_LEN) -+ -+#define BOOTP_DATA_ADDR (&bootp_data) -+ -+#endif /* _BOOTP_H */ -Index: b/netboot/byteswap.h -=================================================================== ---- /dev/null -+++ b/netboot/byteswap.h -@@ -0,0 +1,20 @@ -+#ifndef ETHERBOOT_BYTESWAP_H -+#define ETHERBOOT_BYTESWAP_H -+ -+#include "endian.h" -+#include "i386_byteswap.h" -+ -+#if __BYTE_ORDER == __LITTLE_ENDIAN -+#include "little_bswap.h" -+#endif -+#if __BYTE_ORDER == __BIG_ENDIAN -+#include "big_bswap.h" -+#endif -+ -+/* Make routines available to all */ -+#define swap32(x) __bswap_32(x) -+#define swap16(x) __bswap_16(x) -+#define bswap_32(x) __bswap_32(x) -+#define bswap_16(x) __bswap_16(x) -+ -+#endif /* ETHERBOOT_BYTESWAP_H */ -Index: b/netboot/cards.h -=================================================================== ---- a/netboot/cards.h -+++ /dev/null -@@ -1,183 +0,0 @@ --#ifndef CARDS_H --#define CARDS_H -- --/* -- * 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, or (at -- * your option) any later version. -- */ -- --#include "nic.h" -- --/* OK, this is how the PCI support hack works: if pci.h is included before -- * this file is included, assume that the driver supports PCI. This means that -- * this file is usually included last. */ -- --#ifdef PCI_H --#define PCI_ARG(x) ,x --#else --#define PCI_ARG(x) --#endif -- --#ifdef INCLUDE_WD --extern struct nic *wd_probe(struct nic *, unsigned short * -- PCI_ARG(struct pci_device *)); --#endif -- --#ifdef INCLUDE_3C503 --extern struct nic *t503_probe(struct nic *, unsigned short * -- PCI_ARG(struct pci_device *)); --#endif -- --#ifdef INCLUDE_VIA_RHINE --extern struct nic *rhine_probe(struct nic *, unsigned short * -- PCI_ARG(struct pci_device *)); --#endif -- --#ifdef INCLUDE_NE --extern struct nic *ne_probe(struct nic *, unsigned short * -- PCI_ARG(struct pci_device *)); --#endif -- --#ifdef INCLUDE_NS8390 --extern struct nic *nepci_probe(struct nic *, unsigned short * -- PCI_ARG(struct pci_device *)); --#endif -- --#ifdef INCLUDE_3C509 --extern struct nic *t509_probe(struct nic *, unsigned short * -- PCI_ARG(struct pci_device *)); --#endif -- --#ifdef INCLUDE_3C529 --extern struct nic *t529_probe(struct nic *, unsigned short * -- PCI_ARG(struct pci_device *)); --#endif -- --#ifdef INCLUDE_3C595 --extern struct nic *t595_probe(struct nic *, unsigned short * -- PCI_ARG(struct pci_device *)); --#endif -- --#ifdef INCLUDE_3C90X --extern struct nic *a3c90x_probe(struct nic *, unsigned short * -- PCI_ARG(struct pci_device *)); --#endif -- --#ifdef INCLUDE_EEPRO --extern struct nic *eepro_probe(struct nic *, unsigned short * -- PCI_ARG(struct pci_device *)); --#endif -- --#ifdef INCLUDE_EEPRO100 --extern struct nic *eepro100_probe(struct nic *, unsigned short * -- PCI_ARG(struct pci_device *)); --#endif -- --#ifdef INCLUDE_EPIC100 --extern struct nic *epic100_probe(struct nic *, unsigned short * -- PCI_ARG(struct pci_device *)); --#endif -- --#ifdef INCLUDE_OTULIP --extern struct nic *otulip_probe(struct nic *, unsigned short * -- PCI_ARG(struct pci_device *)); --#endif -- --#ifdef INCLUDE_TULIP --extern struct nic *tulip_probe(struct nic *, unsigned short * -- PCI_ARG(struct pci_device *)); --#endif -- --#ifdef INCLUDE_DAVICOM --extern struct nic *davicom_probe(struct nic *, unsigned short * -- PCI_ARG(struct pci_device *)); --#endif -- --#ifdef INCLUDE_CS89X0 --extern struct nic *cs89x0_probe(struct nic *, unsigned short * -- PCI_ARG(struct pci_device *)); --#endif -- --#ifdef INCLUDE_LANCE --extern struct nic *lancepci_probe(struct nic *, unsigned short * -- PCI_ARG(struct pci_device *)); --#endif -- --#ifdef INCLUDE_NE2100 --extern struct nic *ne2100_probe(struct nic *, unsigned short * -- PCI_ARG(struct pci_device *)); --#endif -- --#ifdef INCLUDE_NI6510 --extern struct nic *ni6510_probe(struct nic *, unsigned short * -- PCI_ARG(struct pci_device *)); --#endif -- --#ifdef INCLUDE_SK_G16 --extern struct nic *SK_probe(struct nic *, unsigned short * -- PCI_ARG(struct pci_device *)); --#endif -- --#ifdef INCLUDE_3C507 --extern struct nic *t507_probe(struct nic *, unsigned short * -- PCI_ARG(struct pci_device *)); --#endif -- --#ifdef INCLUDE_NI5010 --extern struct nic *ni5010_probe(struct nic *, unsigned short * -- PCI_ARG(struct pci_device *)); --#endif -- --#ifdef INCLUDE_NI5210 --extern struct nic *ni5210_probe(struct nic *, unsigned short * -- PCI_ARG(struct pci_device *)); --#endif -- --#ifdef INCLUDE_EXOS205 --extern struct nic *exos205_probe(struct nic *, unsigned short * -- PCI_ARG(struct pci_device *)); --#endif -- --#ifdef INCLUDE_SMC9000 --extern struct nic *smc9000_probe(struct nic *, unsigned short * -- PCI_ARG(struct pci_device *)); --#endif -- --#ifdef INCLUDE_TIARA --extern struct nic *tiara_probe(struct nic *, unsigned short * -- PCI_ARG(struct pci_device *)); --#endif -- --#ifdef INCLUDE_DEPCA --extern struct nic *depca_probe(struct nic *, unsigned short * -- PCI_ARG(struct pci_device *)); --#endif -- --#ifdef INCLUDE_RTL8139 --extern struct nic *rtl8139_probe(struct nic *, unsigned short * -- PCI_ARG(struct pci_device *)); --#endif -- --#ifdef INCLUDE_W89C840 --extern struct nic *w89c840_probe(struct nic *, unsigned short * -- PCI_ARG(struct pci_device *)); --#endif -- --#ifdef INCLUDE_SIS900 --extern struct nic *sis900_probe(struct nic *, unsigned short * -- PCI_ARG(struct pci_device *)); --#endif -- --#ifdef INCLUDE_NATSEMI --extern struct nic *natsemi_probe(struct nic *, unsigned short * -- PCI_ARG(struct pci_device *)); --#endif -- --#ifdef INCLUDE_TLAN --extern struct nic *tlan_probe(struct nic *, unsigned short * -- PCI_ARG(struct pci_device *)); --#endif -- --#endif /* CARDS_H */ -Index: b/netboot/config.c -=================================================================== ---- a/netboot/config.c -+++ b/netboot/config.c -@@ -1,598 +1,165 @@ - /* -- * GRUB -- GRand Unified Bootloader -- * Copyright (C) 2001,2002 Free Software Foundation, Inc. -- * -- * 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., 675 Mass Ave, Cambridge, MA 02139, USA. -- */ -- --/* Based on "src/config.c" in etherboot-5.0.5. */ -- --/* - * 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, or (at - * your option) any later version. - */ - --#define GRUB 1 --#include --#include -+#include "grub.h" -+#include "pci.h" -+#include "isa.h" -+#include "nic.h" - --#undef INCLUDE_PCI --#if defined(INCLUDE_NS8390) || defined(INCLUDE_EEPRO100) || defined(INCLUDE_LANCE) || defined(INCLUDE_EPIC100) || defined(INCLUDE_TULIP) || defined(INCLUDE_OTULIP) || defined(INCLUDE_3C90X) || defined(INCLUDE_3C595) || defined(INCLUDE_RTL8139) || defined(INCLUDE_VIA_RHINE) || defined(INCLUDE_W89C840) || defined(INCLUDE_DAVICOM) || defined(INCLUDE_SIS900) || defined(INCLUDE_NATSEMI) || defined(INCLUDE_TLAN) -- /* || others later */ --# define INCLUDE_PCI --# include --static unsigned short pci_ioaddrs[16]; -- --static struct pci_device pci_nic_list[] = -+#ifdef CONFIG_PCI -+static int pci_probe(struct dev *dev, const char *type_name) - { --#ifdef INCLUDE_NS8390 -- { PCI_VENDOR_ID_REALTEK, PCI_DEVICE_ID_REALTEK_8029, -- "Realtek 8029", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_WINBOND2, PCI_DEVICE_ID_WINBOND2_89C940, -- "Winbond NE2000-PCI", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_COMPEX, PCI_DEVICE_ID_COMPEX_RL2000, -- "Compex ReadyLink 2000", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_KTI, PCI_DEVICE_ID_KTI_ET32P2, -- "KTI ET32P2", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_NETVIN, PCI_DEVICE_ID_NETVIN_NV5000SC, -- "NetVin NV5000SC", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_HOLTEK, PCI_DEVICE_ID_HOLTEK_HT80232, -- "Holtek HT80232", 0, 0, 0, 0}, --#endif --#ifdef INCLUDE_3C90X -- { PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3C900TPO, -- "3Com900-TPO", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3C900COMBO, -- "3Com900-Combo", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3C905TX, -- "3Com905-TX", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3C905T4, -- "3Com905-T4", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_3COM, 0x9004, -- "3Com900B-TPO", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_3COM, 0x9005, -- "3Com900B-Combo", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_3COM, 0x9006, -- "3Com900B-2/T", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_3COM, 0x900A, -- "3Com900B-FL", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3C905B_TX, -- "3Com905B-TX", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_3COM, 0x9056, -- "3Com905B-T4", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_3COM, 0x905A, -- "3Com905B-FL", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3C905C_TXM, -- "3Com905C-TXM", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_3COM, 0x9800, -- "3Com980-Cyclone", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_3COM, 0x9805, -- "3Com9805", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_3COM, 0x7646, -- "3CSOHO100-TX", 0, 0, 0, 0}, --#endif --#ifdef INCLUDE_3C595 -- { PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3C590, -- "3Com590", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3C595, -- "3Com595", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3C595_1, -- "3Com595", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3C595_2, -- "3Com595", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3C900TPO, -- "3Com900-TPO", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3C900COMBO, -- "3Com900-Combo", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_3COM, 0x9004, -- "3Com900B-TPO", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_3COM, 0x9005, -- "3Com900B-Combo", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_3COM, 0x9006, -- "3Com900B-2/T", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_3COM, 0x900A, -- "3Com900B-FL", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_3COM, 0x9800, -- "3Com980-Cyclone", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_3COM, 0x9805, -- "3Com9805", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_3COM, 0x7646, -- "3CSOHO100-TX", 0, 0, 0, 0}, --#endif --#ifdef INCLUDE_EEPRO100 -- { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82557, -- "Intel EtherExpressPro100", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82559ER, -- "Intel EtherExpressPro100 82559ER", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ID1029, -- "Intel EtherExpressPro100 ID1029", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ID1030, -- "Intel Corporation 82559 InBusiness 10/100", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82562, -- "Intel EtherExpressPro100 82562EM", 0, 0, 0, 0}, --#endif --#ifdef INCLUDE_EPIC100 -- { PCI_VENDOR_ID_SMC, PCI_DEVICE_ID_SMC_EPIC100, -- "SMC EtherPowerII", 0, 0, 0, 0}, --#endif --#ifdef INCLUDE_LANCE -- { PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_LANCE, -- "AMD Lance/PCI", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_AMD_HOMEPNA, PCI_DEVICE_ID_AMD_HOMEPNA, -- "AMD Lance/HomePNA", 0, 0, 0, 0}, --#endif --#ifdef INCLUDE_RTL8139 -- { PCI_VENDOR_ID_REALTEK, PCI_DEVICE_ID_REALTEK_8139, -- "Realtek 8139", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_DLINK, PCI_DEVICE_ID_DFE530TXP, -- "DFE530TX+/DFE538TX", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_SMC_1211, PCI_DEVICE_ID_SMC_1211, -- "SMC EZ10/100", 0, 0, 0, 0}, --#endif --#ifdef INCLUDE_OTULIP -- { PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_TULIP, -- "Digital Tulip", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_TULIP_FAST, -- "Digital Tulip Fast", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_TULIP_PLUS, -- "Digital Tulip+", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_21142, -- "Digital Tulip 21142", 0, 0, 0, 0}, --#endif --#ifdef INCLUDE_TULIP -- { PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_TULIP, -- "Digital Tulip", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_TULIP_FAST, -- "Digital Tulip Fast", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_TULIP_PLUS, -- "Digital Tulip+", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_21142, -- "Digital Tulip 21142", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_MACRONIX, PCI_DEVICE_ID_MX987x5, -- "Macronix MX987x5", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_LINKSYS, PCI_DEVICE_ID_LC82C115, -- "LinkSys LNE100TX", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_LINKSYS, PCI_DEVICE_ID_DEC_TULIP, -- "Netgear FA310TX", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_DAVICOM, PCI_DEVICE_ID_DM9102, -- "Davicom 9102", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_DAVICOM, PCI_DEVICE_ID_DM9009, -- "Davicom 9009", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_ADMTEK, PCI_DEVICE_ID_ADMTEK_0985, -- "ADMtek Centaur-P", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_ADMTEK, 0x0981, -- "ADMtek AN981 Comet", 0, 0, 0, 0}, -- { 0x125B, 0x1400, -- "ASIX AX88140", 0, 0, 0, 0 }, -- { 0x11F6, 0x9881, -- "Compex RL100-TX", 0, 0, 0, 0 }, --#endif --#ifdef INCLUDE_DAVICOM -- { PCI_VENDOR_ID_DAVICOM, PCI_DEVICE_ID_DM9102, -- "Davicom 9102", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_DAVICOM, PCI_DEVICE_ID_DM9009, -- "Davicom 9009", 0, 0, 0, 0}, --#endif --#ifdef INCLUDE_VIA_RHINE -- { PCI_VENDOR_ID_VIATEC, PCI_DEVICE_ID_VIA_VT6102, -- "VIA 6102", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_VIATEC, PCI_DEVICE_ID_VIA_RHINE_I, -- "VIA 3043", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_VIATEC, PCI_DEVICE_ID_VIA_86C100A, -- "VIA 86C100A", 0, 0, 0, 0}, --#endif --#ifdef INCLUDE_W89C840 -- { PCI_VENDOR_ID_WINBOND2, PCI_DEVICE_ID_WINBOND2_89C840, -- "Winbond W89C840F", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_COMPEX, PCI_DEVICE_ID_COMPEX_RL100ATX, -- "Compex RL100ATX", 0, 0, 0, 0}, --#endif --#ifdef INCLUDE_SIS900 -- { PCI_VENDOR_ID_SIS, PCI_DEVICE_ID_SIS900, -- "SIS900", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_SIS, PCI_DEVICE_ID_SIS7016, -- "SIS7016", 0, 0, 0, 0}, --#endif -- --#ifdef INCLUDE_NATSEMI -- { PCI_VENDOR_ID_NS, PCI_DEVICE_ID_DP83815, -- "DP83815", 0, 0, 0, 0}, --#endif -- --#ifdef INCLUDE_TLAN -- { PCI_VENDOR_ID_OLICOM, PCI_DEVICE_ID_OLICOM_OC2326, -- "OC2326", 0, 0, 0, 0}, -+/* -+ * NIC probing is in pci device order, followed by the -+ * link order of the drivers. A driver that matches -+ * on vendor and device id will supersede a driver -+ * that matches on pci class. -+ * -+ * If you want to probe for another device behind the same pci -+ * device just increment index. And the previous probe call -+ * will be repeated. -+ */ -+ struct pci_probe_state *state = &dev->state.pci; -+ printf("Probing pci %s...\n", type_name); -+ if (dev->how_probe == PROBE_FIRST) { -+ state->advance = 1; -+ state->dev.driver = 0; -+ state->dev.bus = 0; -+ state->dev.devfn = 0; -+ dev->index = -1; -+ } -+ for(;;) { -+ if ((dev->how_probe != PROBE_AWAKE) && state->advance) { -+ find_pci(dev->type, &state->dev); -+ dev->index = -1; -+ } -+ state->advance = 1; -+ -+ if (state->dev.driver == 0) -+ break; -+ -+#if 0 -+ /* FIXME the romaddr code needs a total rethought to be useful */ -+ if (state->dev.romaddr != ((unsigned long) rom.rom_segment << 4)) { -+ continue; -+ } -+#endif -+ if (dev->how_probe != PROBE_AWAKE) { -+ dev->type_index++; -+ } -+ dev->devid.bus_type = PCI_BUS_TYPE; -+ dev->devid.vendor_id = htons(state->dev.vendor); -+ dev->devid.device_id = htons(state->dev.dev_id); -+ /* FIXME how do I handle dev->index + PROBE_AGAIN?? */ -+ -+ printf("[%s]", state->dev.name); -+ if (state->dev.driver->probe(dev, &state->dev)) { -+ state->advance = (dev->index == -1); -+ return PROBE_WORKED; -+ } -+ putchar('\n'); -+ } -+ return PROBE_FAILED; -+} - #endif - -- /* other PCI NICs go here */ -- {0, 0, NULL, 0, 0, 0, 0} --}; --#endif /* INCLUDE_*PCI */ -- --#include -- --#ifdef INCLUDE_PCI --struct pci_dispatch_table -+#ifdef CONFIG_ISA -+static int isa_probe(struct dev *dev, const char *type_name) - { -- unsigned short vendor; -- unsigned short dev_id; -- struct nic *(*eth_probe) (struct nic *, unsigned short *, -- struct pci_device *); --}; -- --static struct pci_dispatch_table PCI_NIC[] = --{ --# ifdef INCLUDE_NS8390 -- { PCI_VENDOR_ID_REALTEK, PCI_DEVICE_ID_REALTEK_8029, nepci_probe }, -- { PCI_VENDOR_ID_WINBOND2, PCI_DEVICE_ID_WINBOND2_89C940, nepci_probe }, -- { PCI_VENDOR_ID_COMPEX, PCI_DEVICE_ID_COMPEX_RL2000, nepci_probe }, -- { PCI_VENDOR_ID_KTI, PCI_DEVICE_ID_KTI_ET32P2, nepci_probe }, -- { PCI_VENDOR_ID_NETVIN, PCI_DEVICE_ID_NETVIN_NV5000SC, nepci_probe }, -- { PCI_VENDOR_ID_HOLTEK, PCI_DEVICE_ID_HOLTEK_HT80232, nepci_probe }, --# endif /* INCLUDE_NS8390 */ --# ifdef INCLUDE_3C90X -- { PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3C900TPO, a3c90x_probe }, -- { PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3C900COMBO, a3c90x_probe }, -- { PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3C905TX, a3c90x_probe }, -- { PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3C905T4, a3c90x_probe }, -- { PCI_VENDOR_ID_3COM, 0x9004, a3c90x_probe }, -- { PCI_VENDOR_ID_3COM, 0x9005, a3c90x_probe }, -- { PCI_VENDOR_ID_3COM, 0x9006, a3c90x_probe }, -- { PCI_VENDOR_ID_3COM, 0x900A, a3c90x_probe }, -- { PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3C905B_TX, a3c90x_probe }, -- { PCI_VENDOR_ID_3COM, 0x9056, a3c90x_probe }, -- { PCI_VENDOR_ID_3COM, 0x905A, a3c90x_probe }, -- { PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3C905C_TXM, a3c90x_probe }, -- { PCI_VENDOR_ID_3COM, 0x9800, a3c90x_probe }, -- { PCI_VENDOR_ID_3COM, 0x9805, a3c90x_probe }, -- { PCI_VENDOR_ID_3COM, 0x7646, a3c90x_probe }, --# endif /* INCLUDE_3C90X */ --# ifdef INCLUDE_3C595 -- { PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3C590, t595_probe }, -- { PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3C595, t595_probe }, -- { PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3C595_1, t595_probe }, -- { PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3C595_2, t595_probe }, -- { PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3C900TPO, t595_probe }, -- { PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3C900COMBO, t595_probe }, -- { PCI_VENDOR_ID_3COM, 0x9004, t595_probe }, -- { PCI_VENDOR_ID_3COM, 0x9005, t595_probe }, -- { PCI_VENDOR_ID_3COM, 0x9006, t595_probe }, -- { PCI_VENDOR_ID_3COM, 0x900A, t595_probe }, -- { PCI_VENDOR_ID_3COM, 0x9800, t595_probe }, -- { PCI_VENDOR_ID_3COM, 0x9805, t595_probe }, -- { PCI_VENDOR_ID_3COM, 0x7646, t595_probe }, --# endif /* INCLUDE_3C595 */ --# ifdef INCLUDE_EEPRO100 -- { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82557, eepro100_probe }, -- { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82559ER, eepro100_probe }, -- { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ID1029, eepro100_probe }, -- { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ID1030, eepro100_probe }, -- { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82562, eepro100_probe }, --# endif /* INCLUDE_EEPRO100 */ --# ifdef INCLUDE_EPIC100 -- { PCI_VENDOR_ID_SMC, PCI_DEVICE_ID_SMC_EPIC100, epic100_probe }, --# endif /* INCLUDE_EPIC100 */ --# ifdef INCLUDE_LANCE -- { PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_LANCE, lancepci_probe }, -- { PCI_VENDOR_ID_AMD_HOMEPNA, PCI_DEVICE_ID_AMD_HOMEPNA, lancepci_probe }, --# endif /* INCLUDE_LANCE */ --# ifdef INCLUDE_RTL8139 -- { PCI_VENDOR_ID_REALTEK, PCI_DEVICE_ID_REALTEK_8139, rtl8139_probe }, -- { PCI_VENDOR_ID_DLINK, PCI_DEVICE_ID_DFE530TXP, rtl8139_probe }, -- { PCI_VENDOR_ID_SMC_1211, PCI_DEVICE_ID_SMC_1211, rtl8139_probe }, --# endif /* INCLUDE_RTL8139 */ --# ifdef INCLUDE_OTULIP -- { PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_TULIP, otulip_probe }, -- { PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_TULIP_FAST, otulip_probe }, -- { PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_TULIP_PLUS, otulip_probe }, -- { PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_21142, otulip_probe }, --# endif /* INCLUDE_OTULIP */ --# ifdef INCLUDE_TULIP -- { PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_TULIP, tulip_probe }, -- { PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_TULIP_FAST, tulip_probe }, -- { PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_TULIP_PLUS, tulip_probe }, -- { PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_21142, tulip_probe }, -- { PCI_VENDOR_ID_MACRONIX, PCI_DEVICE_ID_MX987x5, tulip_probe }, -- { PCI_VENDOR_ID_LINKSYS, PCI_DEVICE_ID_LC82C115, tulip_probe }, -- { PCI_VENDOR_ID_LINKSYS, PCI_DEVICE_ID_DEC_TULIP, tulip_probe }, -- { PCI_VENDOR_ID_DAVICOM, PCI_DEVICE_ID_DM9102, tulip_probe }, -- { PCI_VENDOR_ID_DAVICOM, PCI_DEVICE_ID_DM9009, tulip_probe }, -- { PCI_VENDOR_ID_ADMTEK, PCI_DEVICE_ID_ADMTEK_0985, tulip_probe }, -- { PCI_VENDOR_ID_ADMTEK, 0x0981, tulip_probe }, -- { 0x125B, 0x1400, tulip_probe }, -- { 0x11F6, 0x9881, tulip_probe }, --# endif /* INCLUDE_TULIP */ --# ifdef INCLUDE_DAVICOM -- { PCI_VENDOR_ID_DAVICOM, PCI_DEVICE_ID_DM9102, davicom_probe }, -- { PCI_VENDOR_ID_DAVICOM, PCI_DEVICE_ID_DM9009, davicom_probe }, --# endif /* INCLUDE_DAVICOM */ --# ifdef INCLUDE_VIA_RHINE -- { PCI_VENDOR_ID_VIATEC, PCI_DEVICE_ID_VIA_VT6102, rhine_probe }, -- { PCI_VENDOR_ID_VIATEC, PCI_DEVICE_ID_VIA_RHINE_I, rhine_probe }, -- { PCI_VENDOR_ID_VIATEC, PCI_DEVICE_ID_VIA_86C100A, rhine_probe }, --# endif /* INCLUDE_VIA_RHINE */ --# ifdef INCLUDE_W89C840 -- { PCI_VENDOR_ID_WINBOND2, PCI_DEVICE_ID_WINBOND2_89C840, w89c840_probe }, -- { PCI_VENDOR_ID_COMPEX, PCI_DEVICE_ID_COMPEX_RL100ATX, w89c840_probe }, --# endif /* INCLUDE_W89C840 */ --# ifdef INCLUDE_SIS900 -- { PCI_VENDOR_ID_SIS, PCI_DEVICE_ID_SIS900, sis900_probe }, -- { PCI_VENDOR_ID_SIS, PCI_DEVICE_ID_SIS7016, sis900_probe }, --# endif /* INCLUDE_SIS900 */ --# ifdef INCLUDE_NATSEMI -- { PCI_VENDOR_ID_NS, PCI_DEVICE_ID_DP83815, natsemi_probe }, --# endif /* INCLUDE_NATSEMI */ --# ifdef INCLUDE_TLAN -- { PCI_VENDOR_ID_OLICOM, PCI_DEVICE_ID_OLICOM_OC2326, tlan_probe }, --# endif /* INCLUDE_TLAN */ -- { 0, 0, 0 } --}; --#endif /* GRUB && INCLUDE_PCI */ -- --struct dispatch_table --{ -- const char *nic_name; --#ifdef INCLUDE_PCI -- struct nic *(*eth_probe) (struct nic *, unsigned short *, -- struct pci_device *); --#else -- struct nic *(*eth_probe) (struct nic *, unsigned short *); --#endif /* INCLUDE_PCI */ -- unsigned short *probe_ioaddrs; /* for probe overrides */ --}; -- - /* -- * NIC probing is in order of appearance in this table. -+ * NIC probing is in the order the drivers were linked togeter. - * If for some reason you want to change the order, -- * just rearrange the entries (bracketed by the #ifdef/#endif) -+ * just change the order you list the drivers in. - */ --static struct dispatch_table NIC[] = --{ --#ifdef INCLUDE_RTL8139 -- { "RTL8139", rtl8139_probe, pci_ioaddrs }, --#endif --#ifdef INCLUDE_SIS900 -- { "SIS900", sis900_probe, pci_ioaddrs }, --#endif --#ifdef INCLUDE_NATSEMI -- { "NATSEMI", natsemi_probe, pci_ioaddrs }, --#endif --#ifdef INCLUDE_WD -- { "WD", wd_probe, 0 }, --#endif --#ifdef INCLUDE_3C503 -- { "3C503", t503_probe, 0 }, --#endif --#ifdef INCLUDE_NE -- { "NE*000", ne_probe, 0 }, --#endif --#ifdef INCLUDE_3C509 -- { "3C5x9", t509_probe, 0 }, --#endif --#ifdef INCLUDE_3C529 -- { "3C5x9", t529_probe, 0 }, --#endif --#ifdef INCLUDE_3C595 -- { "3C595", t595_probe, pci_ioaddrs }, --#endif --#ifdef INCLUDE_3C90X -- { "3C90X", a3c90x_probe, pci_ioaddrs }, --#endif --#ifdef INCLUDE_EEPRO -- { "EEPRO", eepro_probe, 0 }, --#endif --#ifdef INCLUDE_EEPRO100 -- { "EEPRO100", eepro100_probe, pci_ioaddrs }, --#endif --#ifdef INCLUDE_EPIC100 -- { "EPIC100", epic100_probe, pci_ioaddrs }, --#endif --#ifdef INCLUDE_OTULIP -- { "OTulip", otulip_probe, pci_ioaddrs }, --#endif --#ifdef INCLUDE_TULIP -- { "Tulip", tulip_probe, pci_ioaddrs }, --#endif --#ifdef INCLUDE_DAVICOM -- { "DAVICOM", davicom_probe, pci_ioaddrs }, --#endif --#ifdef INCLUDE_CS89X0 -- { "CS89x0", cs89x0_probe, 0 }, --#endif --#ifdef INCLUDE_NE2100 -- { "NE2100", ne2100_probe, 0 }, --#endif --#ifdef INCLUDE_NI6510 -- { "NI6510", ni6510_probe, 0 }, --#endif --#ifdef INCLUDE_SK_G16 -- { "SK_G16", SK_probe, 0 }, --#endif --#ifdef INCLUDE_3C507 -- { "3C507", t507_probe, 0 }, --#endif --#ifdef INCLUDE_NI5010 -- { "NI5010", ni5010_probe, 0 }, --#endif --#ifdef INCLUDE_NI5210 -- { "NI5210", ni5210_probe, 0 }, --#endif --#ifdef INCLUDE_EXOS205 -- { "EXOS205", exos205_probe, 0 }, --#endif --#ifdef INCLUDE_SMC9000 -- { "SMC9000", smc9000_probe, 0 }, --#endif --#ifdef INCLUDE_TIARA -- { "TIARA", tiara_probe, 0 }, --#endif --#ifdef INCLUDE_DEPCA -- { "DEPCA", depca_probe, 0 }, --#endif --#ifdef INCLUDE_NS8390 -- { "NE2000/PCI", nepci_probe, pci_ioaddrs }, --#endif --#ifdef INCLUDE_LANCE -- { "LANCE/PCI", lancepci_probe, pci_ioaddrs }, --#endif --#ifdef INCLUDE_VIA_RHINE -- { "VIA 86C100", rhine_probe, pci_ioaddrs }, --#endif --#ifdef INCLUDE_W89C840 -- { "W89C840F", w89c840_probe, pci_ioaddrs }, --#endif --#ifdef INCLUDE_TLAN -- { "Olicom 2326", tlan_probe, pci_ioaddrs }, --#endif -- /* this entry must always be last to mark the end of list */ -- { 0, 0, 0 } --}; -- --#define NIC_TABLE_SIZE (sizeof (NIC) / sizeof (NIC[0])) -- --static int --eth_dummy (struct nic *dummy) --{ -- return 0; -+ struct isa_probe_state *state = &dev->state.isa; -+ printf("Probing isa %s...\n", type_name); -+ if (dev->how_probe == PROBE_FIRST) { -+ state->advance = 0; -+ state->driver = isa_drivers; -+ dev->index = -1; -+ } -+ for(;;) -+ { -+ if ((dev->how_probe != PROBE_AWAKE) && state->advance) { -+ state->driver++; -+ dev->index = -1; -+ } -+ state->advance = 1; -+ -+ if (state->driver >= isa_drivers_end) -+ break; -+ -+ if (state->driver->type != dev->type) -+ continue; -+ -+ if (dev->how_probe != PROBE_AWAKE) { -+ dev->type_index++; -+ } -+ printf("[%s]", state->driver->name); -+ dev->devid.bus_type = ISA_BUS_TYPE; -+ /* FIXME how do I handle dev->index + PROBE_AGAIN?? */ -+ /* driver will fill in vendor and device IDs */ -+ if (state->driver->probe(dev, state->driver->ioaddrs)) { -+ state->advance = (dev->index == -1); -+ return PROBE_WORKED; -+ } -+ putchar('\n'); -+ } -+ return PROBE_FAILED; - } -- --static char packet[ETH_FRAME_LEN]; -- --struct nic nic = --{ -- (void (*) (struct nic *)) eth_dummy, /* reset */ -- eth_dummy, /* poll */ -- (void (*) (struct nic *, const char *, -- unsigned int, unsigned int, -- const char *)) eth_dummy, /* transmit */ -- (void (*) (struct nic *)) eth_dummy, /* disable */ --#ifdef T503_AUI -- 1, /* aui */ - #else -- 0, /* no aui */ -+#define isa_probe(d,tn) (PROBE_FAILED) - #endif -- &rom, /* rom_info */ -- arptable[ARP_CLIENT].node, /* node_addr */ -- packet, /* packet */ -- 0, /* packetlen */ -- 0, /* priv_data */ -+static const char *driver_name[] = { -+ "nic", -+ "disk", -+ "floppy", - }; -- --void --eth_reset (void) -+int probe(struct dev *dev) - { -- (*nic.reset) (&nic); --} -+ const char *type_name; - --int --eth_probe (void) --{ -- struct pci_device *p; -- const struct dispatch_table *t; -- static int probed = 0; -+ EnterFunction("probe"); - -- /* If already probed, don't try to probe it any longer. */ -- if (probed) -- return 1; -- -- /* Clear the ready flag. */ -- network_ready = 0; -- /* Clear the ARP table. */ -- grub_memset ((char *) arptable, 0, -- MAX_ARP * sizeof (struct arptable_t)); -- -- p = 0; -- --#ifdef INCLUDE_PCI -- /* In GRUB, the ROM info is initialized here. */ -- rom = *((struct rom_info *) ROM_INFO_LOCATION); -- -- eth_pci_init(pci_nic_list); -- pci_ioaddrs[0] = 0; -- pci_ioaddrs[1] = 0; -- /* at this point we have a list of possible PCI candidates -- we just pick the first one with a non-zero ioaddr */ -- for (p = pci_nic_list; p->vendor != 0; ++p) -- { -- if (p->ioaddr != 0) -- { -- pci_ioaddrs[0] = p->ioaddr; -- break; -+ type_name = ""; -+ if ((dev->type >= 0) && -+ (dev->type < sizeof(driver_name)/sizeof(driver_name[0]))) { -+ type_name = driver_name[dev->type]; - } -- } --#endif -- -- etherboot_printf("Probing..."); -- --#ifdef INCLUDE_PCI -- if (p->vendor) -- { -- struct pci_dispatch_table *pt; -- -- for (pt = PCI_NIC; pt->eth_probe != 0; pt++) -- if (p->vendor == pt->vendor && p->dev_id == pt->dev_id) -- { -- etherboot_printf ("[%s]", p->name); -- if ((pt->eth_probe) (&nic, pci_ioaddrs, p)) -- { -- probed = 1; -- return 1; -- } -- } -- } --#endif /* INCLUDE_PCI */ -- -- for (t = NIC; t->nic_name != 0; ++t) -- { -- etherboot_printf("[%s]", t->nic_name); --#ifdef INCLUDE_PCI -- if ((*t->eth_probe) (&nic, t->probe_ioaddrs, p)) -- { -- probed = 1; -- return 1; -+ if (dev->how_probe == PROBE_FIRST) { -+ dev->to_probe = PROBE_PCI; -+ memset(&dev->state, 0, sizeof(dev->state)); - } --#else -- if ((*t->eth_probe) (&nic, t->probe_ioaddrs)) -- { -- probed = 1; -- return 1; -+ if (dev->to_probe == PROBE_PCI) { -+ dev->how_probe = pci_probe(dev, type_name); -+ if (dev->how_probe == PROBE_FAILED) { -+ dev->to_probe = PROBE_ISA; -+ } -+ } -+ if (dev->to_probe == PROBE_ISA) { -+ dev->how_probe = isa_probe(dev, type_name); -+ if (dev->how_probe == PROBE_FAILED) { -+ dev->to_probe = PROBE_NONE; -+ } -+ } -+ if ((dev->to_probe != PROBE_PCI) && -+ (dev->to_probe != PROBE_ISA)) { -+ dev->how_probe = PROBE_FAILED; -+ - } --#endif /* INCLUDE_PCI */ -- } -- -- return 0; --} -- --int --eth_poll (void) --{ -- return ((*nic.poll) (&nic)); --} - --void --eth_transmit (const char *d, unsigned int t, unsigned int s, const void *p) --{ -- (*nic.transmit) (&nic, d, t, s, p); -- if (t == IP) -- twiddle (); -+ LeaveFunction("probe"); -+ return dev->how_probe; - } - --void --eth_disable (void) -+void disable(struct dev *dev) - { -- (*nic.disable) (&nic); -+ if (dev->disable) { -+ dev->disable(dev); -+ dev->disable = 0; -+ } - } -Index: b/netboot/cpu.h -=================================================================== ---- /dev/null -+++ b/netboot/cpu.h -@@ -0,0 +1,243 @@ -+#ifndef I386_BITS_CPU_H -+#define I386_BITS_CPU_H -+ -+ -+/* Sample usage: CPU_FEATURE_P(cpu.x86_capability, FPU) */ -+#define CPU_FEATURE_P(CAP, FEATURE) \ -+ (!!(CAP[(X86_FEATURE_##FEATURE)/32] & ((X86_FEATURE_##FEATURE) & 0x1f))) -+ -+#define NCAPINTS 4 /* Currently we have 4 32-bit words worth of info */ -+ -+/* Intel-defined CPU features, CPUID level 0x00000001, word 0 */ -+#define X86_FEATURE_FPU (0*32+ 0) /* Onboard FPU */ -+#define X86_FEATURE_VME (0*32+ 1) /* Virtual Mode Extensions */ -+#define X86_FEATURE_DE (0*32+ 2) /* Debugging Extensions */ -+#define X86_FEATURE_PSE (0*32+ 3) /* Page Size Extensions */ -+#define X86_FEATURE_TSC (0*32+ 4) /* Time Stamp Counter */ -+#define X86_FEATURE_MSR (0*32+ 5) /* Model-Specific Registers, RDMSR, WRMSR */ -+#define X86_FEATURE_PAE (0*32+ 6) /* Physical Address Extensions */ -+#define X86_FEATURE_MCE (0*32+ 7) /* Machine Check Architecture */ -+#define X86_FEATURE_CX8 (0*32+ 8) /* CMPXCHG8 instruction */ -+#define X86_FEATURE_APIC (0*32+ 9) /* Onboard APIC */ -+#define X86_FEATURE_SEP (0*32+11) /* SYSENTER/SYSEXIT */ -+#define X86_FEATURE_MTRR (0*32+12) /* Memory Type Range Registers */ -+#define X86_FEATURE_PGE (0*32+13) /* Page Global Enable */ -+#define X86_FEATURE_MCA (0*32+14) /* Machine Check Architecture */ -+#define X86_FEATURE_CMOV (0*32+15) /* CMOV instruction (FCMOVCC and FCOMI too if FPU present) */ -+#define X86_FEATURE_PAT (0*32+16) /* Page Attribute Table */ -+#define X86_FEATURE_PSE36 (0*32+17) /* 36-bit PSEs */ -+#define X86_FEATURE_PN (0*32+18) /* Processor serial number */ -+#define X86_FEATURE_CLFLSH (0*32+19) /* Supports the CLFLUSH instruction */ -+#define X86_FEATURE_DTES (0*32+21) /* Debug Trace Store */ -+#define X86_FEATURE_ACPI (0*32+22) /* ACPI via MSR */ -+#define X86_FEATURE_MMX (0*32+23) /* Multimedia Extensions */ -+#define X86_FEATURE_FXSR (0*32+24) /* FXSAVE and FXRSTOR instructions (fast save and restore */ -+ /* of FPU context), and CR4.OSFXSR available */ -+#define X86_FEATURE_XMM (0*32+25) /* Streaming SIMD Extensions */ -+#define X86_FEATURE_XMM2 (0*32+26) /* Streaming SIMD Extensions-2 */ -+#define X86_FEATURE_SELFSNOOP (0*32+27) /* CPU self snoop */ -+#define X86_FEATURE_HT (0*32+28) /* Hyper-Threading */ -+#define X86_FEATURE_ACC (0*32+29) /* Automatic clock control */ -+#define X86_FEATURE_IA64 (0*32+30) /* IA-64 processor */ -+ -+/* AMD-defined CPU features, CPUID level 0x80000001, word 1 */ -+/* Don't duplicate feature flags which are redundant with Intel! */ -+#define X86_FEATURE_SYSCALL (1*32+11) /* SYSCALL/SYSRET */ -+#define X86_FEATURE_MMXEXT (1*32+22) /* AMD MMX extensions */ -+#define X86_FEATURE_LM (1*32+29) /* Long Mode (x86-64) */ -+#define X86_FEATURE_3DNOWEXT (1*32+30) /* AMD 3DNow! extensions */ -+#define X86_FEATURE_3DNOW (1*32+31) /* 3DNow! */ -+ -+/* Transmeta-defined CPU features, CPUID level 0x80860001, word 2 */ -+#define X86_FEATURE_RECOVERY (2*32+ 0) /* CPU in recovery mode */ -+#define X86_FEATURE_LONGRUN (2*32+ 1) /* Longrun power control */ -+#define X86_FEATURE_LRTI (2*32+ 3) /* LongRun table interface */ -+ -+/* Other features, Linux-defined mapping, word 3 */ -+/* This range is used for feature bits which conflict or are synthesized */ -+#define X86_FEATURE_CXMMX (3*32+ 0) /* Cyrix MMX extensions */ -+#define X86_FEATURE_K6_MTRR (3*32+ 1) /* AMD K6 nonstandard MTRRs */ -+#define X86_FEATURE_CYRIX_ARR (3*32+ 2) /* Cyrix ARRs (= MTRRs) */ -+#define X86_FEATURE_CENTAUR_MCR (3*32+ 3) /* Centaur MCRs (= MTRRs) */ -+ -+#define MAX_X86_VENDOR_ID 16 -+struct cpuinfo_x86 { -+ uint8_t x86; /* CPU family */ -+ uint8_t x86_model; -+ uint8_t x86_mask; -+ -+ int cpuid_level; /* Maximum supported CPUID level, -1=no CPUID */ -+ unsigned x86_capability[NCAPINTS]; -+ char x86_vendor_id[MAX_X86_VENDOR_ID]; -+}; -+ -+ -+#define X86_VENDOR_INTEL 0 -+#define X86_VENDOR_CYRIX 1 -+#define X86_VENDOR_AMD 2 -+#define X86_VENDOR_UMC 3 -+#define X86_VENDOR_NEXGEN 4 -+#define X86_VENDOR_CENTAUR 5 -+#define X86_VENDOR_RISE 6 -+#define X86_VENDOR_TRANSMETA 7 -+#define X86_VENDOR_NSC 8 -+#define X86_VENDOR_UNKNOWN 0xff -+ -+/* -+ * EFLAGS bits -+ */ -+#define X86_EFLAGS_CF 0x00000001 /* Carry Flag */ -+#define X86_EFLAGS_PF 0x00000004 /* Parity Flag */ -+#define X86_EFLAGS_AF 0x00000010 /* Auxillary carry Flag */ -+#define X86_EFLAGS_ZF 0x00000040 /* Zero Flag */ -+#define X86_EFLAGS_SF 0x00000080 /* Sign Flag */ -+#define X86_EFLAGS_TF 0x00000100 /* Trap Flag */ -+#define X86_EFLAGS_IF 0x00000200 /* Interrupt Flag */ -+#define X86_EFLAGS_DF 0x00000400 /* Direction Flag */ -+#define X86_EFLAGS_OF 0x00000800 /* Overflow Flag */ -+#define X86_EFLAGS_IOPL 0x00003000 /* IOPL mask */ -+#define X86_EFLAGS_NT 0x00004000 /* Nested Task */ -+#define X86_EFLAGS_RF 0x00010000 /* Resume Flag */ -+#define X86_EFLAGS_VM 0x00020000 /* Virtual Mode */ -+#define X86_EFLAGS_AC 0x00040000 /* Alignment Check */ -+#define X86_EFLAGS_VIF 0x00080000 /* Virtual Interrupt Flag */ -+#define X86_EFLAGS_VIP 0x00100000 /* Virtual Interrupt Pending */ -+#define X86_EFLAGS_ID 0x00200000 /* CPUID detection flag */ -+ -+/* -+ * Generic CPUID function -+ */ -+static inline void cpuid(int op, -+ unsigned int *eax, unsigned int *ebx, unsigned int *ecx, unsigned int *edx) -+{ -+ __asm__("cpuid" -+ : "=a" (*eax), -+ "=b" (*ebx), -+ "=c" (*ecx), -+ "=d" (*edx) -+ : "0" (op)); -+} -+ -+/* -+ * CPUID functions returning a single datum -+ */ -+static inline unsigned int cpuid_eax(unsigned int op) -+{ -+ unsigned int eax; -+ -+ __asm__("cpuid" -+ : "=a" (eax) -+ : "0" (op) -+ : "bx", "cx", "dx"); -+ return eax; -+} -+static inline unsigned int cpuid_ebx(unsigned int op) -+{ -+ unsigned int eax, ebx; -+ -+ __asm__("cpuid" -+ : "=a" (eax), "=b" (ebx) -+ : "0" (op) -+ : "cx", "dx" ); -+ return ebx; -+} -+static inline unsigned int cpuid_ecx(unsigned int op) -+{ -+ unsigned int eax, ecx; -+ -+ __asm__("cpuid" -+ : "=a" (eax), "=c" (ecx) -+ : "0" (op) -+ : "bx", "dx" ); -+ return ecx; -+} -+static inline unsigned int cpuid_edx(unsigned int op) -+{ -+ unsigned int eax, edx; -+ -+ __asm__("cpuid" -+ : "=a" (eax), "=d" (edx) -+ : "0" (op) -+ : "bx", "cx"); -+ return edx; -+} -+ -+/* -+ * Intel CPU features in CR4 -+ */ -+#define X86_CR4_VME 0x0001 /* enable vm86 extensions */ -+#define X86_CR4_PVI 0x0002 /* virtual interrupts flag enable */ -+#define X86_CR4_TSD 0x0004 /* disable time stamp at ipl 3 */ -+#define X86_CR4_DE 0x0008 /* enable debugging extensions */ -+#define X86_CR4_PSE 0x0010 /* enable page size extensions */ -+#define X86_CR4_PAE 0x0020 /* enable physical address extensions */ -+#define X86_CR4_MCE 0x0040 /* Machine check enable */ -+#define X86_CR4_PGE 0x0080 /* enable global pages */ -+#define X86_CR4_PCE 0x0100 /* enable performance counters at ipl 3 */ -+#define X86_CR4_OSFXSR 0x0200 /* enable fast FPU save and restore */ -+#define X86_CR4_OSXMMEXCPT 0x0400 /* enable unmasked SSE exceptions */ -+ -+ -+#define MSR_K6_EFER 0xC0000080 -+/* EFER bits: */ -+#define _EFER_SCE 0 /* SYSCALL/SYSRET */ -+#define _EFER_LME 8 /* Long mode enable */ -+#define _EFER_LMA 10 /* Long mode active (read-only) */ -+#define _EFER_NX 11 /* No execute enable */ -+ -+#define EFER_SCE (1<<_EFER_SCE) -+#define EFER_LME (1< -- -- * disabled all "advanced" features; this should make the code more reliable -- -- * reorganized the reset function -- -- * always reset the address port, so that autoprobing will continue working -- -- * some cosmetic changes -- -- * 2.5 -- -- Thu Dec 5 21:00:00 1996 Markus Gutschke -- -- * tested the code against a CS8900 card -- -- * lots of minor bug fixes and adjustments -- -- * this is the first release, that actually works! it still requires some -- changes in order to be more tolerant to different environments -- -- * 4 -- -- Fri Nov 22 23:00:00 1996 Markus Gutschke -- -- * read the manuals for the CS89x0 chipsets and took note of all the -- changes that will be neccessary in order to adapt Russel Nelson's code -- to the requirements of a BOOT-Prom -- -- * 6 -- -- Thu Nov 19 22:00:00 1996 Markus Gutschke -- -- * Synched with Russel Nelson's current code (v1.00) -- -- * 2 -- -- Thu Nov 12 18:00:00 1996 Markus Gutschke -- -- * Cleaned up some of the code and tried to optimize the code size. -- -- * 1.5 -- -- Sun Nov 10 16:30:00 1996 Markus Gutschke -- -- * First experimental release. This code compiles fine, but I -- have no way of testing whether it actually works. -- -- * I did not (yet) bother to make the code 16bit aware, so for -- the time being, it will only work for Etherboot/32. -- -- * 12 -- -- */ -- --#include "etherboot.h" --#include "nic.h" --#include "cards.h" --#include "cs89x0.h" -- --static unsigned short eth_nic_base; --static unsigned long eth_mem_start; --static unsigned short eth_irq; --static unsigned short eth_cs_type; /* one of: CS8900, CS8920, CS8920M */ --static unsigned short eth_auto_neg_cnf; --static unsigned short eth_adapter_cnf; --static unsigned short eth_linectl; -- --/************************************************************************* -- CS89x0 - specific routines --**************************************************************************/ -- --static inline int readreg(int portno) --{ -- outw(portno, eth_nic_base + ADD_PORT); -- return inw(eth_nic_base + DATA_PORT); --} -- --static inline void writereg(int portno, int value) --{ -- outw(portno, eth_nic_base + ADD_PORT); -- outw(value, eth_nic_base + DATA_PORT); -- return; --} -- --/************************************************************************* --EEPROM access --**************************************************************************/ -- --static int wait_eeprom_ready(void) --{ -- unsigned long tmo = currticks() + 4*TICKS_PER_SEC; -- -- /* check to see if the EEPROM is ready, a timeout is used - -- just in case EEPROM is ready when SI_BUSY in the -- PP_SelfST is clear */ -- while(readreg(PP_SelfST) & SI_BUSY) { -- if (currticks() >= tmo) -- return -1; } -- return 0; --} -- --static int get_eeprom_data(int off, int len, unsigned short *buffer) --{ -- int i; -- --#ifdef EDEBUG -- printf("\ncs: EEPROM data from %hX for %hX:",off,len); --#endif -- for (i = 0; i < len; i++) { -- if (wait_eeprom_ready() < 0) -- return -1; -- /* Now send the EEPROM read command and EEPROM location -- to read */ -- writereg(PP_EECMD, (off + i) | EEPROM_READ_CMD); -- if (wait_eeprom_ready() < 0) -- return -1; -- buffer[i] = readreg(PP_EEData); --#ifdef EDEBUG -- if (!(i%10)) -- printf("\ncs: "); -- printf("%hX ", buffer[i]); --#endif -- } --#ifdef EDEBUG -- putchar('\n'); --#endif -- -- return(0); --} -- --static int get_eeprom_chksum(int off, int len, unsigned short *buffer) --{ -- int i, cksum; -- -- cksum = 0; -- for (i = 0; i < len; i++) -- cksum += buffer[i]; -- cksum &= 0xffff; -- if (cksum == 0) -- return 0; -- return -1; --} -- --/************************************************************************* --Activate all of the available media and probe for network --**************************************************************************/ -- --static void clrline(void) --{ -- int i; -- -- putchar('\r'); -- for (i = 79; i--; ) putchar(' '); -- printf("\rcs: "); -- return; --} -- --static void control_dc_dc(int on_not_off) --{ -- unsigned int selfcontrol; -- unsigned long tmo = currticks() + TICKS_PER_SEC; -- -- /* control the DC to DC convertor in the SelfControl register. */ -- selfcontrol = HCB1_ENBL; /* Enable the HCB1 bit as an output */ -- if (((eth_adapter_cnf & A_CNF_DC_DC_POLARITY) != 0) ^ on_not_off) -- selfcontrol |= HCB1; -- else -- selfcontrol &= ~HCB1; -- writereg(PP_SelfCTL, selfcontrol); -- -- /* Wait for the DC/DC converter to power up - 1000ms */ -- while (currticks() < tmo); -- -- return; --} -- --static int detect_tp(void) --{ -- unsigned long tmo; -- -- /* Turn on the chip auto detection of 10BT/ AUI */ -- -- clrline(); printf("attempting %s:","TP"); -- -- /* If connected to another full duplex capable 10-Base-T card -- the link pulses seem to be lost when the auto detect bit in -- the LineCTL is set. To overcome this the auto detect bit -- will be cleared whilst testing the 10-Base-T interface. -- This would not be necessary for the sparrow chip but is -- simpler to do it anyway. */ -- writereg(PP_LineCTL, eth_linectl &~ AUI_ONLY); -- control_dc_dc(0); -- -- /* Delay for the hardware to work out if the TP cable is -- present - 150ms */ -- for (tmo = currticks() + 4; currticks() < tmo; ); -- -- if ((readreg(PP_LineST) & LINK_OK) == 0) -- return 0; -- -- if (eth_cs_type != CS8900) { -- -- writereg(PP_AutoNegCTL, eth_auto_neg_cnf & AUTO_NEG_MASK); -- -- if ((eth_auto_neg_cnf & AUTO_NEG_BITS) == AUTO_NEG_ENABLE) { -- printf(" negotiating duplex... "); -- while (readreg(PP_AutoNegST) & AUTO_NEG_BUSY) { -- if (currticks() - tmo > 40*TICKS_PER_SEC) { -- printf("time out "); -- break; -- } -- } -- } -- if (readreg(PP_AutoNegST) & FDX_ACTIVE) -- printf("using full duplex"); -- else -- printf("using half duplex"); -- } -- -- return A_CNF_MEDIA_10B_T; --} -- --/* send a test packet - return true if carrier bits are ok */ --static int send_test_pkt(struct nic *nic) --{ -- static unsigned char testpacket[] = { 0,0,0,0,0,0, 0,0,0,0,0,0, -- 0, 46, /*A 46 in network order */ -- 0, 0, /*DSAP=0 & SSAP=0 fields */ -- 0xf3,0 /*Control (Test Req+P bit set)*/ }; -- unsigned long tmo; -- -- writereg(PP_LineCTL, readreg(PP_LineCTL) | SERIAL_TX_ON); -- -- memcpy(testpacket, nic->node_addr, ETH_ALEN); -- memcpy(testpacket+ETH_ALEN, nic->node_addr, ETH_ALEN); -- -- outw(TX_AFTER_ALL, eth_nic_base + TX_CMD_PORT); -- outw(ETH_ZLEN, eth_nic_base + TX_LEN_PORT); -- -- /* Test to see if the chip has allocated memory for the packet */ -- for (tmo = currticks() + 2; -- (readreg(PP_BusST) & READY_FOR_TX_NOW) == 0; ) -- if (currticks() >= tmo) -- return(0); -- -- /* Write the contents of the packet */ -- outsw(eth_nic_base + TX_FRAME_PORT, testpacket, -- (ETH_ZLEN+1)>>1); -- -- printf(" sending test packet "); -- /* wait a couple of timer ticks for packet to be received */ -- for (tmo = currticks() + 2; currticks() < tmo; ); -- -- if ((readreg(PP_TxEvent) & TX_SEND_OK_BITS) == TX_OK) { -- printf("succeeded"); -- return 1; -- } -- printf("failed"); -- return 0; --} -- -- --static int detect_aui(struct nic *nic) --{ -- clrline(); printf("attempting %s:","AUI"); -- control_dc_dc(0); -- -- writereg(PP_LineCTL, (eth_linectl & ~AUTO_AUI_10BASET) | AUI_ONLY); -- -- if (send_test_pkt(nic)) { -- return A_CNF_MEDIA_AUI; } -- else -- return 0; --} -- --static int detect_bnc(struct nic *nic) --{ -- clrline(); printf("attempting %s:","BNC"); -- control_dc_dc(1); -- -- writereg(PP_LineCTL, (eth_linectl & ~AUTO_AUI_10BASET) | AUI_ONLY); -- -- if (send_test_pkt(nic)) { -- return A_CNF_MEDIA_10B_2; } -- else -- return 0; --} -- --/************************************************************************** --ETH_RESET - Reset adapter --***************************************************************************/ -- --static void cs89x0_reset(struct nic *nic) --{ -- int i; -- unsigned long reset_tmo; -- -- writereg(PP_SelfCTL, readreg(PP_SelfCTL) | POWER_ON_RESET); -- -- /* wait for two ticks; that is 2*55ms */ -- for (reset_tmo = currticks() + 2; currticks() < reset_tmo; ); -- -- if (eth_cs_type != CS8900) { -- /* Hardware problem requires PNP registers to be reconfigured -- after a reset */ -- if (eth_irq != 0xFFFF) { -- outw(PP_CS8920_ISAINT, eth_nic_base + ADD_PORT); -- outb(eth_irq, eth_nic_base + DATA_PORT); -- outb(0, eth_nic_base + DATA_PORT + 1); } -- -- if (eth_mem_start) { -- outw(PP_CS8920_ISAMemB, eth_nic_base + ADD_PORT); -- outb((eth_mem_start >> 8) & 0xff, eth_nic_base + DATA_PORT); -- outb((eth_mem_start >> 24) & 0xff, eth_nic_base + DATA_PORT + 1); } } -- -- /* Wait until the chip is reset */ -- for (reset_tmo = currticks() + 2; -- (readreg(PP_SelfST) & INIT_DONE) == 0 && -- currticks() < reset_tmo; ); -- -- /* disable interrupts and memory accesses */ -- writereg(PP_BusCTL, 0); -- -- /* set the ethernet address */ -- for (i=0; i < ETH_ALEN/2; i++) -- writereg(PP_IA+i*2, -- nic->node_addr[i*2] | -- (nic->node_addr[i*2+1] << 8)); -- -- /* receive only error free packets addressed to this card */ -- writereg(PP_RxCTL, DEF_RX_ACCEPT); -- -- /* do not generate any interrupts on receive operations */ -- writereg(PP_RxCFG, 0); -- -- /* do not generate any interrupts on transmit operations */ -- writereg(PP_TxCFG, 0); -- -- /* do not generate any interrupts on buffer operations */ -- writereg(PP_BufCFG, 0); -- -- /* reset address port, so that autoprobing will keep working */ -- outw(PP_ChipID, eth_nic_base + ADD_PORT); -- -- return; --} -- --/************************************************************************** --ETH_TRANSMIT - Transmit a frame --***************************************************************************/ -- --static void cs89x0_transmit( -- struct nic *nic, -- const char *d, /* Destination */ -- unsigned int t, /* Type */ -- unsigned int s, /* size */ -- const char *p) /* Packet */ --{ -- unsigned long tmo; -- int sr; -- -- /* does this size have to be rounded??? please, -- somebody have a look in the specs */ -- if ((sr = ((s + ETH_HLEN + 1)&~1)) < ETH_ZLEN) -- sr = ETH_ZLEN; -- --retry: -- /* initiate a transmit sequence */ -- outw(TX_AFTER_ALL, eth_nic_base + TX_CMD_PORT); -- outw(sr, eth_nic_base + TX_LEN_PORT); -- -- /* Test to see if the chip has allocated memory for the packet */ -- if ((readreg(PP_BusST) & READY_FOR_TX_NOW) == 0) { -- /* Oops... this should not happen! */ -- printf("cs: unable to send packet; retrying...\n"); -- for (tmo = currticks() + 5*TICKS_PER_SEC; currticks() < tmo; ); -- cs89x0_reset(nic); -- goto retry; } -- -- /* Write the contents of the packet */ -- outsw(eth_nic_base + TX_FRAME_PORT, d, ETH_ALEN/2); -- outsw(eth_nic_base + TX_FRAME_PORT, nic->node_addr, -- ETH_ALEN/2); -- outw(((t >> 8)&0xFF)|(t << 8), eth_nic_base + TX_FRAME_PORT); -- outsw(eth_nic_base + TX_FRAME_PORT, p, (s+1)/2); -- for (sr = sr/2 - (s+1)/2 - ETH_ALEN - 1; sr-- > 0; -- outw(0, eth_nic_base + TX_FRAME_PORT)); -- -- /* wait for transfer to succeed */ -- for (tmo = currticks()+5*TICKS_PER_SEC; -- (s = readreg(PP_TxEvent)&~0x1F) == 0 && currticks() < tmo;) -- /* nothing */ ; -- if ((s & TX_SEND_OK_BITS) != TX_OK) { -- printf("\ntransmission error %#hX\n", s); -- } -- -- return; --} -- --/************************************************************************** --ETH_POLL - Wait for a frame --***************************************************************************/ -- --static int cs89x0_poll(struct nic *nic) --{ -- int status; -- -- status = readreg(PP_RxEvent); -- -- if ((status & RX_OK) == 0) -- return(0); -- -- status = inw(eth_nic_base + RX_FRAME_PORT); -- nic->packetlen = inw(eth_nic_base + RX_FRAME_PORT); -- insw(eth_nic_base + RX_FRAME_PORT, nic->packet, nic->packetlen >> 1); -- if (nic->packetlen & 1) -- nic->packet[nic->packetlen-1] = inw(eth_nic_base + RX_FRAME_PORT); -- return 1; --} -- --static void cs89x0_disable(struct nic *nic) --{ -- cs89x0_reset(nic); --} -- --/************************************************************************** --ETH_PROBE - Look for an adapter --***************************************************************************/ -- --struct nic *cs89x0_probe(struct nic *nic, unsigned short *probe_addrs) --{ -- static const unsigned int netcard_portlist[] = { --#ifdef CS_SCAN -- CS_SCAN, --#else /* use "conservative" default values for autoprobing */ -- 0x300,0x320,0x340,0x200,0x220,0x240, -- 0x260,0x280,0x2a0,0x2c0,0x2e0, -- /* if that did not work, then be more aggressive */ -- 0x301,0x321,0x341,0x201,0x221,0x241, -- 0x261,0x281,0x2a1,0x2c1,0x2e1, --#endif -- 0}; -- -- int i, result = -1; -- unsigned rev_type = 0, ioaddr, ioidx, isa_cnf, cs_revision; -- unsigned short eeprom_buff[CHKSUM_LEN]; -- -- -- for (ioidx = 0; (ioaddr=netcard_portlist[ioidx++]) != 0; ) { -- /* if they give us an odd I/O address, then do ONE write to -- the address port, to get it back to address zero, where we -- expect to find the EISA signature word. */ -- if (ioaddr & 1) { -- ioaddr &= ~1; -- if ((inw(ioaddr + ADD_PORT) & ADD_MASK) != ADD_SIG) -- continue; -- outw(PP_ChipID, ioaddr + ADD_PORT); -- } -- -- if (inw(ioaddr + DATA_PORT) != CHIP_EISA_ID_SIG) -- continue; -- eth_nic_base = ioaddr; -- -- /* get the chip type */ -- rev_type = readreg(PRODUCT_ID_ADD); -- eth_cs_type = rev_type &~ REVISON_BITS; -- cs_revision = ((rev_type & REVISON_BITS) >> 8) + 'A'; -- -- printf("\ncs: cs89%c0%s rev %c, base %#hX", -- eth_cs_type==CS8900?'0':'2', -- eth_cs_type==CS8920M?"M":"", -- cs_revision, -- eth_nic_base); -- -- /* First check to see if an EEPROM is attached*/ -- if ((readreg(PP_SelfST) & EEPROM_PRESENT) == 0) { -- printf("\ncs: no EEPROM...\n"); -- outw(PP_ChipID, eth_nic_base + ADD_PORT); -- continue; } -- else if (get_eeprom_data(START_EEPROM_DATA,CHKSUM_LEN, -- eeprom_buff) < 0) { -- printf("\ncs: EEPROM read failed...\n"); -- outw(PP_ChipID, eth_nic_base + ADD_PORT); -- continue; } -- else if (get_eeprom_chksum(START_EEPROM_DATA,CHKSUM_LEN, -- eeprom_buff) < 0) { -- printf("\ncs: EEPROM checksum bad...\n"); -- outw(PP_ChipID, eth_nic_base + ADD_PORT); -- continue; } -- -- /* get transmission control word but keep the -- autonegotiation bits */ -- eth_auto_neg_cnf = eeprom_buff[AUTO_NEG_CNF_OFFSET/2]; -- /* Store adapter configuration */ -- eth_adapter_cnf = eeprom_buff[ADAPTER_CNF_OFFSET/2]; -- /* Store ISA configuration */ -- isa_cnf = eeprom_buff[ISA_CNF_OFFSET/2]; -- -- /* store the initial memory base address */ -- eth_mem_start = eeprom_buff[PACKET_PAGE_OFFSET/2] << 8; -- -- printf("%s%s%s, addr ", -- (eth_adapter_cnf & A_CNF_10B_T)?", RJ-45":"", -- (eth_adapter_cnf & A_CNF_AUI)?", AUI":"", -- (eth_adapter_cnf & A_CNF_10B_2)?", BNC":""); -- -- /* If this is a CS8900 then no pnp soft */ -- if (eth_cs_type != CS8900 && -- /* Check if the ISA IRQ has been set */ -- (i = readreg(PP_CS8920_ISAINT) & 0xff, -- (i != 0 && i < CS8920_NO_INTS))) -- eth_irq = i; -- else { -- i = isa_cnf & INT_NO_MASK; -- if (eth_cs_type == CS8900) { -- /* the table that follows is dependent -- upon how you wired up your cs8900 -- in your system. The table is the -- same as the cs8900 engineering demo -- board. irq_map also depends on the -- contents of the table. Also see -- write_irq, which is the reverse -- mapping of the table below. */ -- if (i < 4) i = "\012\013\014\005"[i]; -- else printf("\ncs: BUG: isa_config is %d\n", i); } -- eth_irq = i; } -- -- /* Retrieve and print the ethernet address. */ -- for (i=0; inode_addr[i] = ((unsigned char *)eeprom_buff)[i]; -- } -- printf("%!\n", nic->node_addr); -- -- /* Set the LineCTL quintuplet based on adapter -- configuration read from EEPROM */ -- if ((eth_adapter_cnf & A_CNF_EXTND_10B_2) && -- (eth_adapter_cnf & A_CNF_LOW_RX_SQUELCH)) -- eth_linectl = LOW_RX_SQUELCH; -- else -- eth_linectl = 0; -- -- /* check to make sure that they have the "right" -- hardware available */ -- switch(eth_adapter_cnf & A_CNF_MEDIA_TYPE) { -- case A_CNF_MEDIA_10B_T: result = eth_adapter_cnf & A_CNF_10B_T; -- break; -- case A_CNF_MEDIA_AUI: result = eth_adapter_cnf & A_CNF_AUI; -- break; -- case A_CNF_MEDIA_10B_2: result = eth_adapter_cnf & A_CNF_10B_2; -- break; -- default: result = eth_adapter_cnf & (A_CNF_10B_T | A_CNF_AUI | -- A_CNF_10B_2); -- } -- if (!result) { -- printf("cs: EEPROM is configured for unavailable media\n"); -- error: -- writereg(PP_LineCTL, readreg(PP_LineCTL) & -- ~(SERIAL_TX_ON | SERIAL_RX_ON)); -- outw(PP_ChipID, eth_nic_base + ADD_PORT); -- continue; -- } -- -- /* Initialize the card for probing of the attached media */ -- cs89x0_reset(nic); -- -- /* set the hardware to the configured choice */ -- switch(eth_adapter_cnf & A_CNF_MEDIA_TYPE) { -- case A_CNF_MEDIA_10B_T: -- result = detect_tp(); -- if (!result) { -- clrline(); -- printf("10Base-T (RJ-45%s", -- ") has no cable\n"); } -- /* check "ignore missing media" bit */ -- if (eth_auto_neg_cnf & IMM_BIT) -- /* Yes! I don't care if I see a link pulse */ -- result = A_CNF_MEDIA_10B_T; -- break; -- case A_CNF_MEDIA_AUI: -- result = detect_aui(nic); -- if (!result) { -- clrline(); -- printf("10Base-5 (AUI%s", -- ") has no cable\n"); } -- /* check "ignore missing media" bit */ -- if (eth_auto_neg_cnf & IMM_BIT) -- /* Yes! I don't care if I see a carrrier */ -- result = A_CNF_MEDIA_AUI; -- break; -- case A_CNF_MEDIA_10B_2: -- result = detect_bnc(nic); -- if (!result) { -- clrline(); -- printf("10Base-2 (BNC%s", -- ") has no cable\n"); } -- /* check "ignore missing media" bit */ -- if (eth_auto_neg_cnf & IMM_BIT) -- /* Yes! I don't care if I can xmit a packet */ -- result = A_CNF_MEDIA_10B_2; -- break; -- case A_CNF_MEDIA_AUTO: -- writereg(PP_LineCTL, eth_linectl | AUTO_AUI_10BASET); -- if (eth_adapter_cnf & A_CNF_10B_T) -- if ((result = detect_tp()) != 0) -- break; -- if (eth_adapter_cnf & A_CNF_AUI) -- if ((result = detect_aui(nic)) != 0) -- break; -- if (eth_adapter_cnf & A_CNF_10B_2) -- if ((result = detect_bnc(nic)) != 0) -- break; -- clrline(); printf("no media detected\n"); -- goto error; -- } -- clrline(); -- switch(result) { -- case 0: printf("no network cable attached to configured media\n"); -- goto error; -- case A_CNF_MEDIA_10B_T: printf("using 10Base-T (RJ-45)\n"); -- break; -- case A_CNF_MEDIA_AUI: printf("using 10Base-5 (AUI)\n"); -- break; -- case A_CNF_MEDIA_10B_2: printf("using 10Base-2 (BNC)\n"); -- break; -- } -- -- /* Turn on both receive and transmit operations */ -- writereg(PP_LineCTL, readreg(PP_LineCTL) | SERIAL_RX_ON | -- SERIAL_TX_ON); -- -- break; -- } -- -- if (ioaddr == 0) -- return (0); -- nic->reset = cs89x0_reset; -- nic->poll = cs89x0_poll; -- nic->transmit = cs89x0_transmit; -- nic->disable = cs89x0_disable; -- return (nic); --} -- --/* -- * Local variables: -- * c-basic-offset: 8 -- * End: -- */ -- -Index: b/netboot/cs89x0.h -=================================================================== ---- a/netboot/cs89x0.h -+++ b/netboot/cs89x0.h -@@ -16,464 +16,3 @@ - -- quote from email - **/ - --/* Copyright, 1988-1992, Russell Nelson, Crynwr Software -- -- 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, version 1. -- -- 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., 675 Mass Ave, Cambridge, MA 02139, USA. */ -- --#define PP_ChipID 0x0000 /* offset 0h -> Corp -ID */ -- /* offset 2h -> Model/Product Number */ -- /* offset 3h -> Chip Revision Number */ -- --#define PP_ISAIOB 0x0020 /* IO base address */ --#define PP_CS8900_ISAINT 0x0022 /* ISA interrupt select */ --#define PP_CS8920_ISAINT 0x0370 /* ISA interrupt select */ --#define PP_CS8900_ISADMA 0x0024 /* ISA Rec DMA channel */ --#define PP_CS8920_ISADMA 0x0374 /* ISA Rec DMA channel */ --#define PP_ISASOF 0x0026 /* ISA DMA offset */ --#define PP_DmaFrameCnt 0x0028 /* ISA DMA Frame count */ --#define PP_DmaByteCnt 0x002A /* ISA DMA Byte count */ --#define PP_CS8900_ISAMemB 0x002C /* Memory base */ --#define PP_CS8920_ISAMemB 0x0348 /* */ -- --#define PP_ISABootBase 0x0030 /* Boot Prom base */ --#define PP_ISABootMask 0x0034 /* Boot Prom Mask */ -- --/* EEPROM data and command registers */ --#define PP_EECMD 0x0040 /* NVR Interface Command register */ --#define PP_EEData 0x0042 /* NVR Interface Data Register */ --#define PP_DebugReg 0x0044 /* Debug Register */ -- --#define PP_RxCFG 0x0102 /* Rx Bus config */ --#define PP_RxCTL 0x0104 /* Receive Control Register */ --#define PP_TxCFG 0x0106 /* Transmit Config Register */ --#define PP_TxCMD 0x0108 /* Transmit Command Register */ --#define PP_BufCFG 0x010A /* Bus configuration Register */ --#define PP_LineCTL 0x0112 /* Line Config Register */ --#define PP_SelfCTL 0x0114 /* Self Command Register */ --#define PP_BusCTL 0x0116 /* ISA bus control Register */ --#define PP_TestCTL 0x0118 /* Test Register */ --#define PP_AutoNegCTL 0x011C /* Auto Negotiation Ctrl */ -- --#define PP_ISQ 0x0120 /* Interrupt Status */ --#define PP_RxEvent 0x0124 /* Rx Event Register */ --#define PP_TxEvent 0x0128 /* Tx Event Register */ --#define PP_BufEvent 0x012C /* Bus Event Register */ --#define PP_RxMiss 0x0130 /* Receive Miss Count */ --#define PP_TxCol 0x0132 /* Transmit Collision Count */ --#define PP_LineST 0x0134 /* Line State Register */ --#define PP_SelfST 0x0136 /* Self State register */ --#define PP_BusST 0x0138 /* Bus Status */ --#define PP_TDR 0x013C /* Time Domain Reflectometry */ --#define PP_AutoNegST 0x013E /* Auto Neg Status */ --#define PP_TxCommand 0x0144 /* Tx Command */ --#define PP_TxLength 0x0146 /* Tx Length */ --#define PP_LAF 0x0150 /* Hash Table */ --#define PP_IA 0x0158 /* Physical Address Register */ -- --#define PP_RxStatus 0x0400 /* Receive start of frame */ --#define PP_RxLength 0x0402 /* Receive Length of frame */ --#define PP_RxFrame 0x0404 /* Receive frame pointer */ --#define PP_TxFrame 0x0A00 /* Transmit frame pointer */ -- --/* Primary I/O Base Address. If no I/O base is supplied by the user, then this */ --/* can be used as the default I/O base to access the PacketPage Area. */ --#define DEFAULTIOBASE 0x0300 --#define FIRST_IO 0x020C /* First I/O port to check */ --#define LAST_IO 0x037C /* Last I/O port to check (+10h) */ --#define ADD_MASK 0x3000 /* Mask it use of the ADD_PORT register */ --#define ADD_SIG 0x3000 /* Expected ID signature */ -- --#define CHIP_EISA_ID_SIG 0x630E /* Product ID Code for Crystal Chip (CS8900 spec 4.3) */ -- --#ifdef IBMEIPKT --#define EISA_ID_SIG 0x4D24 /* IBM */ --#define PART_NO_SIG 0x1010 /* IBM */ --#define MONGOOSE_BIT 0x0000 /* IBM */ --#else --#define EISA_ID_SIG 0x630E /* PnP Vendor ID (same as chip id for Crystal board) */ --#define PART_NO_SIG 0x4000 /* ID code CS8920 board (PnP Vendor Product code) */ --#define MONGOOSE_BIT 0x2000 /* PART_NO_SIG + MONGOOSE_BUT => ID of mongoose */ --#endif -- --#define PRODUCT_ID_ADD 0x0002 /* Address of product ID */ -- --/* Mask to find out the types of registers */ --#define REG_TYPE_MASK 0x001F -- --/* Eeprom Commands */ --#define ERSE_WR_ENBL 0x00F0 --#define ERSE_WR_DISABLE 0x0000 -- --/* Defines Control/Config register quintuplet numbers */ --#define RX_BUF_CFG 0x0003 --#define RX_CONTROL 0x0005 --#define TX_CFG 0x0007 --#define TX_COMMAND 0x0009 --#define BUF_CFG 0x000B --#define LINE_CONTROL 0x0013 --#define SELF_CONTROL 0x0015 --#define BUS_CONTROL 0x0017 --#define TEST_CONTROL 0x0019 -- --/* Defines Status/Count registers quintuplet numbers */ --#define RX_EVENT 0x0004 --#define TX_EVENT 0x0008 --#define BUF_EVENT 0x000C --#define RX_MISS_COUNT 0x0010 --#define TX_COL_COUNT 0x0012 --#define LINE_STATUS 0x0014 --#define SELF_STATUS 0x0016 --#define BUS_STATUS 0x0018 --#define TDR 0x001C -- --/* PP_RxCFG - Receive Configuration and Interrupt Mask bit definition - Read/write */ --#define SKIP_1 0x0040 --#define RX_STREAM_ENBL 0x0080 --#define RX_OK_ENBL 0x0100 --#define RX_DMA_ONLY 0x0200 --#define AUTO_RX_DMA 0x0400 --#define BUFFER_CRC 0x0800 --#define RX_CRC_ERROR_ENBL 0x1000 --#define RX_RUNT_ENBL 0x2000 --#define RX_EXTRA_DATA_ENBL 0x4000 -- --/* PP_RxCTL - Receive Control bit definition - Read/write */ --#define RX_IA_HASH_ACCEPT 0x0040 --#define RX_PROM_ACCEPT 0x0080 --#define RX_OK_ACCEPT 0x0100 --#define RX_MULTCAST_ACCEPT 0x0200 --#define RX_IA_ACCEPT 0x0400 --#define RX_BROADCAST_ACCEPT 0x0800 --#define RX_BAD_CRC_ACCEPT 0x1000 --#define RX_RUNT_ACCEPT 0x2000 --#define RX_EXTRA_DATA_ACCEPT 0x4000 --#define RX_ALL_ACCEPT (RX_PROM_ACCEPT|RX_BAD_CRC_ACCEPT|RX_RUNT_ACCEPT|RX_EXTRA_DATA_ACCEPT) --/* Default receive mode - individually addressed, broadcast, and error free */ --#define DEF_RX_ACCEPT (RX_IA_ACCEPT | RX_BROADCAST_ACCEPT | RX_OK_ACCEPT) -- --/* PP_TxCFG - Transmit Configuration Interrupt Mask bit definition - Read/write */ --#define TX_LOST_CRS_ENBL 0x0040 --#define TX_SQE_ERROR_ENBL 0x0080 --#define TX_OK_ENBL 0x0100 --#define TX_LATE_COL_ENBL 0x0200 --#define TX_JBR_ENBL 0x0400 --#define TX_ANY_COL_ENBL 0x0800 --#define TX_16_COL_ENBL 0x8000 -- --/* PP_TxCMD - Transmit Command bit definition - Read-only */ --#define TX_START_4_BYTES 0x0000 --#define TX_START_64_BYTES 0x0040 --#define TX_START_128_BYTES 0x0080 --#define TX_START_ALL_BYTES 0x00C0 --#define TX_FORCE 0x0100 --#define TX_ONE_COL 0x0200 --#define TX_TWO_PART_DEFF_DISABLE 0x0400 --#define TX_NO_CRC 0x1000 --#define TX_RUNT 0x2000 -- --/* PP_BufCFG - Buffer Configuration Interrupt Mask bit definition - Read/write */ --#define GENERATE_SW_INTERRUPT 0x0040 --#define RX_DMA_ENBL 0x0080 --#define READY_FOR_TX_ENBL 0x0100 --#define TX_UNDERRUN_ENBL 0x0200 --#define RX_MISS_ENBL 0x0400 --#define RX_128_BYTE_ENBL 0x0800 --#define TX_COL_COUNT_OVRFLOW_ENBL 0x1000 --#define RX_MISS_COUNT_OVRFLOW_ENBL 0x2000 --#define RX_DEST_MATCH_ENBL 0x8000 -- --/* PP_LineCTL - Line Control bit definition - Read/write */ --#define SERIAL_RX_ON 0x0040 --#define SERIAL_TX_ON 0x0080 --#define AUI_ONLY 0x0100 --#define AUTO_AUI_10BASET 0x0200 --#define MODIFIED_BACKOFF 0x0800 --#define NO_AUTO_POLARITY 0x1000 --#define TWO_PART_DEFDIS 0x2000 --#define LOW_RX_SQUELCH 0x4000 -- --/* PP_SelfCTL - Software Self Control bit definition - Read/write */ --#define POWER_ON_RESET 0x0040 --#define SW_STOP 0x0100 --#define SLEEP_ON 0x0200 --#define AUTO_WAKEUP 0x0400 --#define HCB0_ENBL 0x1000 --#define HCB1_ENBL 0x2000 --#define HCB0 0x4000 --#define HCB1 0x8000 -- --/* PP_BusCTL - ISA Bus Control bit definition - Read/write */ --#define RESET_RX_DMA 0x0040 --#define MEMORY_ON 0x0400 --#define DMA_BURST_MODE 0x0800 --#define IO_CHANNEL_READY_ON 0x1000 --#define RX_DMA_SIZE_64K 0x2000 --#define ENABLE_IRQ 0x8000 -- --/* PP_TestCTL - Test Control bit definition - Read/write */ --#define LINK_OFF 0x0080 --#define ENDEC_LOOPBACK 0x0200 --#define AUI_LOOPBACK 0x0400 --#define BACKOFF_OFF 0x0800 --#define FAST_TEST 0x8000 -- --/* PP_RxEvent - Receive Event Bit definition - Read-only */ --#define RX_IA_HASHED 0x0040 --#define RX_DRIBBLE 0x0080 --#define RX_OK 0x0100 --#define RX_HASHED 0x0200 --#define RX_IA 0x0400 --#define RX_BROADCAST 0x0800 --#define RX_CRC_ERROR 0x1000 --#define RX_RUNT 0x2000 --#define RX_EXTRA_DATA 0x4000 -- --#define HASH_INDEX_MASK 0x0FC00 -- --/* PP_TxEvent - Transmit Event Bit definition - Read-only */ --#define TX_LOST_CRS 0x0040 --#define TX_SQE_ERROR 0x0080 --#define TX_OK 0x0100 --#define TX_LATE_COL 0x0200 --#define TX_JBR 0x0400 --#define TX_16_COL 0x8000 --#define TX_SEND_OK_BITS (TX_OK|TX_LOST_CRS) --#define TX_COL_COUNT_MASK 0x7800 -- --/* PP_BufEvent - Buffer Event Bit definition - Read-only */ --#define SW_INTERRUPT 0x0040 --#define RX_DMA 0x0080 --#define READY_FOR_TX 0x0100 --#define TX_UNDERRUN 0x0200 --#define RX_MISS 0x0400 --#define RX_128_BYTE 0x0800 --#define TX_COL_OVRFLW 0x1000 --#define RX_MISS_OVRFLW 0x2000 --#define RX_DEST_MATCH 0x8000 -- --/* PP_LineST - Ethernet Line Status bit definition - Read-only */ --#define LINK_OK 0x0080 --#define AUI_ON 0x0100 --#define TENBASET_ON 0x0200 --#define POLARITY_OK 0x1000 --#define CRS_OK 0x4000 -- --/* PP_SelfST - Chip Software Status bit definition */ --#define ACTIVE_33V 0x0040 --#define INIT_DONE 0x0080 --#define SI_BUSY 0x0100 --#define EEPROM_PRESENT 0x0200 --#define EEPROM_OK 0x0400 --#define EL_PRESENT 0x0800 --#define EE_SIZE_64 0x1000 -- --/* PP_BusST - ISA Bus Status bit definition */ --#define TX_BID_ERROR 0x0080 --#define READY_FOR_TX_NOW 0x0100 -- --/* PP_AutoNegCTL - Auto Negotiation Control bit definition */ --#define RE_NEG_NOW 0x0040 --#define ALLOW_FDX 0x0080 --#define AUTO_NEG_ENABLE 0x0100 --#define NLP_ENABLE 0x0200 --#define FORCE_FDX 0x8000 --#define AUTO_NEG_BITS (FORCE_FDX|NLP_ENABLE|AUTO_NEG_ENABLE) --#define AUTO_NEG_MASK (FORCE_FDX|NLP_ENABLE|AUTO_NEG_ENABLE|ALLOW_FDX|RE_NEG_NOW) -- --/* PP_AutoNegST - Auto Negotiation Status bit definition */ --#define AUTO_NEG_BUSY 0x0080 --#define FLP_LINK 0x0100 --#define FLP_LINK_GOOD 0x0800 --#define LINK_FAULT 0x1000 --#define HDX_ACTIVE 0x4000 --#define FDX_ACTIVE 0x8000 -- --/* The following block defines the ISQ event types */ --#define ISQ_RECEIVER_EVENT 0x04 --#define ISQ_TRANSMITTER_EVENT 0x08 --#define ISQ_BUFFER_EVENT 0x0c --#define ISQ_RX_MISS_EVENT 0x10 --#define ISQ_TX_COL_EVENT 0x12 -- --#define ISQ_EVENT_MASK 0x003F /* ISQ mask to find out type of event */ --#define ISQ_HIST 16 /* small history buffer */ --#define AUTOINCREMENT 0x8000 /* Bit mask to set bit-15 for autoincrement */ -- --#define TXRXBUFSIZE 0x0600 --#define RXDMABUFSIZE 0x8000 --#define RXDMASIZE 0x4000 --#define TXRX_LENGTH_MASK 0x07FF -- --/* rx options bits */ --#define RCV_WITH_RXON 1 /* Set SerRx ON */ --#define RCV_COUNTS 2 /* Use Framecnt1 */ --#define RCV_PONG 4 /* Pong respondent */ --#define RCV_DONG 8 /* Dong operation */ --#define RCV_POLLING 0x10 /* Poll RxEvent */ --#define RCV_ISQ 0x20 /* Use ISQ, int */ --#define RCV_AUTO_DMA 0x100 /* Set AutoRxDMAE */ --#define RCV_DMA 0x200 /* Set RxDMA only */ --#define RCV_DMA_ALL 0x400 /* Copy all DMA'ed */ --#define RCV_FIXED_DATA 0x800 /* Every frame same */ --#define RCV_IO 0x1000 /* Use ISA IO only */ --#define RCV_MEMORY 0x2000 /* Use ISA Memory */ -- --#define RAM_SIZE 0x1000 /* The card has 4k bytes or RAM */ --#define PKT_START PP_TxFrame /* Start of packet RAM */ -- --#define RX_FRAME_PORT 0x0000 --#define TX_FRAME_PORT RX_FRAME_PORT --#define TX_CMD_PORT 0x0004 --#define TX_NOW 0x0000 /* Tx packet after 5 bytes copied */ --#define TX_AFTER_381 0x0020 /* Tx packet after 381 bytes copied */ --#define TX_AFTER_ALL 0x0060 /* Tx packet after all bytes copied */ --#define TX_LEN_PORT 0x0006 --#define ISQ_PORT 0x0008 --#define ADD_PORT 0x000A --#define DATA_PORT 0x000C -- --#define EEPROM_WRITE_EN 0x00F0 --#define EEPROM_WRITE_DIS 0x0000 --#define EEPROM_WRITE_CMD 0x0100 --#define EEPROM_READ_CMD 0x0200 -- --/* Receive Header */ --/* Description of header of each packet in receive area of memory */ --#define RBUF_EVENT_LOW 0 /* Low byte of RxEvent - status of received frame */ --#define RBUF_EVENT_HIGH 1 /* High byte of RxEvent - status of received frame */ --#define RBUF_LEN_LOW 2 /* Length of received data - low byte */ --#define RBUF_LEN_HI 3 /* Length of received data - high byte */ --#define RBUF_HEAD_LEN 4 /* Length of this header */ -- --#define CHIP_READ 0x1 /* Used to mark state of the repins code (chip or dma) */ --#define DMA_READ 0x2 /* Used to mark state of the repins code (chip or dma) */ -- --/* for bios scan */ --/* */ --#ifdef CSDEBUG --/* use these values for debugging bios scan */ --#define BIOS_START_SEG 0x00000 --#define BIOS_OFFSET_INC 0x0010 --#else --#define BIOS_START_SEG 0x0c000 --#define BIOS_OFFSET_INC 0x0200 --#endif -- --#define BIOS_LAST_OFFSET 0x0fc00 -- --/* Byte offsets into the EEPROM configuration buffer */ --#define ISA_CNF_OFFSET 0x6 --#define TX_CTL_OFFSET (ISA_CNF_OFFSET + 8) /* 8900 eeprom */ --#define AUTO_NEG_CNF_OFFSET (ISA_CNF_OFFSET + 8) /* 8920 eeprom */ -- -- /* the assumption here is that the bits in the eeprom are generally */ -- /* in the same position as those in the autonegctl register. */ -- /* Of course the IMM bit is not in that register so it must be */ -- /* masked out */ --#define EE_FORCE_FDX 0x8000 --#define EE_NLP_ENABLE 0x0200 --#define EE_AUTO_NEG_ENABLE 0x0100 --#define EE_ALLOW_FDX 0x0080 --#define EE_AUTO_NEG_CNF_MASK (EE_FORCE_FDX|EE_NLP_ENABLE|EE_AUTO_NEG_ENABLE|EE_ALLOW_FDX) -- --#define IMM_BIT 0x0040 /* ignore missing media */ -- --#define ADAPTER_CNF_OFFSET (AUTO_NEG_CNF_OFFSET + 2) --#define A_CNF_10B_T 0x0001 --#define A_CNF_AUI 0x0002 --#define A_CNF_10B_2 0x0004 --#define A_CNF_MEDIA_TYPE 0x0060 --#define A_CNF_MEDIA_AUTO 0x0000 --#define A_CNF_MEDIA_10B_T 0x0020 --#define A_CNF_MEDIA_AUI 0x0040 --#define A_CNF_MEDIA_10B_2 0x0060 --#define A_CNF_DC_DC_POLARITY 0x0080 --#define A_CNF_NO_AUTO_POLARITY 0x2000 --#define A_CNF_LOW_RX_SQUELCH 0x4000 --#define A_CNF_EXTND_10B_2 0x8000 -- --#define PACKET_PAGE_OFFSET 0x8 -- --/* Bit definitions for the ISA configuration word from the EEPROM */ --#define INT_NO_MASK 0x000F --#define DMA_NO_MASK 0x0070 --#define ISA_DMA_SIZE 0x0200 --#define ISA_AUTO_RxDMA 0x0400 --#define ISA_RxDMA 0x0800 --#define DMA_BURST 0x1000 --#define STREAM_TRANSFER 0x2000 --#define ANY_ISA_DMA (ISA_AUTO_RxDMA | ISA_RxDMA) -- --/* DMA controller registers */ --#define DMA_BASE 0x00 /* DMA controller base */ --#define DMA_BASE_2 0x0C0 /* DMA controller base */ -- --#define DMA_STAT 0x0D0 /* DMA controller status register */ --#define DMA_MASK 0x0D4 /* DMA controller mask register */ --#define DMA_MODE 0x0D6 /* DMA controller mode register */ --#define DMA_RESETFF 0x0D8 /* DMA controller first/last flip flop */ -- --/* DMA data */ --#define DMA_DISABLE 0x04 /* Disable channel n */ --#define DMA_ENABLE 0x00 /* Enable channel n */ --/* Demand transfers, incr. address, auto init, writes, ch. n */ --#define DMA_RX_MODE 0x14 --/* Demand transfers, incr. address, auto init, reads, ch. n */ --#define DMA_TX_MODE 0x18 -- --#define DMA_SIZE (16*1024) /* Size of dma buffer - 16k */ -- --#define CS8900 0x0000 --#define CS8920 0x4000 --#define CS8920M 0x6000 --#define REVISON_BITS 0x1F00 --#define EEVER_NUMBER 0x12 --#define CHKSUM_LEN 0x14 --#define CHKSUM_VAL 0x0000 --#define START_EEPROM_DATA 0x001c /* Offset into eeprom for start of data */ --#define IRQ_MAP_EEPROM_DATA 0x0046 /* Offset into eeprom for the IRQ map */ --#define IRQ_MAP_LEN 0x0004 /* No of bytes to read for the IRQ map */ --#define PNP_IRQ_FRMT 0x0022 /* PNP small item IRQ format */ --#define CS8900_IRQ_MAP 0x1c20 /* This IRQ map is fixed */ -- --#define CS8920_NO_INTS 0x0F /* Max CS8920 interrupt select # */ -- --#define PNP_ADD_PORT 0x0279 --#define PNP_WRITE_PORT 0x0A79 -- --#define GET_PNP_ISA_STRUCT 0x40 --#define PNP_ISA_STRUCT_LEN 0x06 --#define PNP_CSN_CNT_OFF 0x01 --#define PNP_RD_PORT_OFF 0x02 --#define PNP_FUNCTION_OK 0x00 --#define PNP_WAKE 0x03 --#define PNP_RSRC_DATA 0x04 --#define PNP_RSRC_READY 0x01 --#define PNP_STATUS 0x05 --#define PNP_ACTIVATE 0x30 --#define PNP_CNF_IO_H 0x60 --#define PNP_CNF_IO_L 0x61 --#define PNP_CNF_INT 0x70 --#define PNP_CNF_DMA 0x74 --#define PNP_CNF_MEM 0x48 -- --#define BIT0 1 --#define BIT15 0x8000 -- --/* -- * Local variables: -- * c-basic-offset: 8 -- * End: -- */ -- -Index: b/netboot/cs89x0.txt -=================================================================== ---- a/netboot/cs89x0.txt -+++ /dev/null -@@ -1,26 +0,0 @@ --Permission is granted to distribute the enclosed cs89x0.[ch] driver --only in conjunction with the Etherboot package. The code is --ordinarily distributed under the GPL. -- --Russ Nelson, January 2000 -- --CREDITS -- --I want to thank -- -- Mike Cruse -- for providing an evaluation NIC and for sponsoring the -- development of this driver. -- -- Randall Sears -- Deva Bodas -- Andreas Kraemer -- Wolfgang Krause <100303.2673@compuserve.com> -- for excellent technical support and for providing the required -- programming information. I appreciate Crystal Semiconductor's -- commitment towards free software. -- -- Russell Nelson -- for writing the Linux device driver for the CS89x0 -- chipset. Russel's code is very well designed and simplified my -- job a lot. -Index: b/netboot/davicom.c -=================================================================== ---- a/netboot/davicom.c -+++ b/netboot/davicom.c -@@ -1,12 +1,12 @@ -+#ifdef ALLMULTI -+#error multicast support is not yet implemented -+#endif - /* - DAVICOM DM9009/DM9102/DM9102A Etherboot Driver V1.00 - -- This driver was ported from Marty Conner's Tulip Etherboot driver. -- Thanks Marty Connor (mdc@thinguin.org) -- You can get Tulip driver source file from this URL: -+ This driver was ported from Marty Connor's Tulip Etherboot driver. -+ Thanks Marty Connor (mdc@etherboot.org) - -- "http://etherboot.sourceforge..net/#Distribution" -- - This davicom etherboot driver supports DM9009/DM9102/DM9102A/ - DM9102A+DM9801/DM9102A+DM9802 NICs. - -@@ -36,7 +36,6 @@ - register(CR6) - */ - -- - /*********************************************************************/ - /* Declarations */ - /*********************************************************************/ -@@ -44,7 +43,6 @@ - #include "etherboot.h" - #include "nic.h" - #include "pci.h" --#include "cards.h" - - #undef DAVICOM_DEBUG - #undef DAVICOM_DEBUG_WHERE -@@ -99,8 +97,10 @@ - #define eeprom_delay() inl(ee_addr) - - /* helpful macro if on a big_endian machine for changing byte order. -- not strictly needed on Intel */ -+ not strictly needed on Intel -+ Already defined in Etherboot includes - #define le16_to_cpu(val) (val) -+*/ - - /* transmit and receive descriptor format */ - struct txdesc { -@@ -138,20 +138,12 @@ - /* transmit descriptor and buffer */ - #define NTXD 2 - static struct txdesc txd[NTXD] __attribute__ ((aligned(4))); --#ifdef USE_LOWMEM_BUFFER --#define txb ((char *)0x10000 - BUFLEN) --#else - static unsigned char txb[BUFLEN] __attribute__ ((aligned(4))); --#endif - - /* receive descriptor(s) and buffer(s) */ - #define NRXD 4 - static struct rxdesc rxd[NRXD] __attribute__ ((aligned(4))); --#ifdef USE_LOWMEM_BUFFER --#define rxb ((char *)0x10000 - NRXD * BUFLEN - BUFLEN) --#else - static unsigned char rxb[NRXD * BUFLEN] __attribute__ ((aligned(4))); --#endif - static int rxd_tail; - static int TxPtr; - -@@ -161,15 +153,13 @@ - /*********************************************************************/ - static void whereami(const char *str); - static int read_eeprom(unsigned long ioaddr, int location, int addr_len); --struct nic *davicom_probe(struct nic *nic, unsigned short *io_addrs, -- struct pci_device *pci); -+static int davicom_probe(struct dev *dev, struct pci_device *pci); - static void davicom_init_chain(struct nic *nic); /* Sten 10/9 */ - static void davicom_reset(struct nic *nic); - static void davicom_transmit(struct nic *nic, const char *d, unsigned int t, - unsigned int s, const char *p); --static int davicom_poll(struct nic *nic); --static void davicom_disable(struct nic *nic); --static void whereami (const char *str); -+static int davicom_poll(struct nic *nic, int retrieve); -+static void davicom_disable(struct dev *dev); - #ifdef DAVICOM_DEBUG - static void davicom_more(void); - #endif /* DAVICOM_DEBUG */ -@@ -184,13 +174,10 @@ - /*********************************************************************/ - /* Utility Routines */ - /*********************************************************************/ -- --static inline void whereami (const char *str) -+static inline void whereami(const char *str) - { --#ifdef DAVICOM_DEBUG_WHERE - printf("%s\n", str); - /* sleep(2); */ --#endif - } - - #ifdef DAVICOM_DEBUG -@@ -360,7 +347,7 @@ - /* - Sense media mode and set CR6 - */ --static void davicom_media_chk(struct nic * nic) -+static void davicom_media_chk(struct nic * nic __unused) - { - unsigned long to, csr6; - -@@ -446,8 +433,8 @@ - /* Sten: Set 2 TX descriptor but use one TX buffer because - it transmit a packet and wait complete every time. */ - for (i=0; ipacketlen = (rxd[rxd_tail].status & 0x3FFF0000) >> 16; -@@ -627,10 +615,13 @@ - /*********************************************************************/ - /* eth_disable - Disable the interface */ - /*********************************************************************/ --static void davicom_disable(struct nic *nic) -+static void davicom_disable(struct dev *dev) - { -+ struct nic *nic = (struct nic *)dev; - whereami("davicom_disable\n"); - -+ davicom_reset(nic); -+ - /* disable interrupts */ - outl(0x00000000, ioaddr + CSR7); - -@@ -640,24 +631,43 @@ - /* Clear the missed-packet counter. */ - (volatile unsigned long)inl(ioaddr + CSR8); - } -+ -+ -+/*********************************************************************/ -+/* eth_irq - enable, disable and force interrupts */ -+/*********************************************************************/ -+static void davicom_irq(struct nic *nic __unused, irq_action_t action __unused) -+{ -+ switch ( action ) { -+ case DISABLE : -+ break; -+ case ENABLE : -+ break; -+ case FORCE : -+ break; -+ } -+} -+ - - /*********************************************************************/ - /* eth_probe - Look for an adapter */ - /*********************************************************************/ --struct nic *davicom_probe(struct nic *nic, unsigned short *io_addrs, -- struct pci_device *pci) -+static int davicom_probe(struct dev *dev, struct pci_device *pci) - { -+ struct nic *nic = (struct nic *)dev; - unsigned int i; -- u32 l1, l2; - - whereami("davicom_probe\n"); - -- if (io_addrs == 0 || *io_addrs == 0) -+ if (pci->ioaddr == 0) - return 0; - - vendor = pci->vendor; - dev_id = pci->dev_id; -- ioaddr = *io_addrs; -+ ioaddr = pci->ioaddr & ~3; -+ -+ nic->irqno = 0; -+ nic->ioaddr = pci->ioaddr & ~3; - - /* wakeup chip */ - pcibios_write_config_dword(pci->bus, pci->devfn, 0x40, 0x00000000); -@@ -683,10 +693,26 @@ - /* initialize device */ - davicom_reset(nic); - -- nic->reset = davicom_reset; -+ dev->disable = davicom_disable; - nic->poll = davicom_poll; - nic->transmit = davicom_transmit; -- nic->disable = davicom_disable; -+ nic->irq = davicom_irq; - -- return nic; -+ return 1; - } -+ -+static struct pci_id davicom_nics[] = { -+PCI_ROM(0x1282, 0x9100, "davicom9100", "Davicom 9100"), -+PCI_ROM(0x1282, 0x9102, "davicom9102", "Davicom 9102"), -+PCI_ROM(0x1282, 0x9009, "davicom9009", "Davicom 9009"), -+PCI_ROM(0x1282, 0x9132, "davicom9132", "Davicom 9132"), /* Needs probably some fixing */ -+}; -+ -+struct pci_driver davicom_driver = { -+ .type = NIC_DRIVER, -+ .name = "DAVICOM", -+ .probe = davicom_probe, -+ .ids = davicom_nics, -+ .id_count = sizeof(davicom_nics)/sizeof(davicom_nics[0]), -+ .class = 0, -+}; -Index: b/netboot/depca.c -=================================================================== ---- a/netboot/depca.c -+++ /dev/null -@@ -1,752 +0,0 @@ --/* Etherboot: depca.h merged, comments from Linux driver retained */ --/* depca.c: A DIGITAL DEPCA & EtherWORKS ethernet driver for linux. -- -- Written 1994, 1995 by David C. Davies. -- -- -- Copyright 1994 David C. Davies -- and -- United States Government -- (as represented by the Director, National Security Agency). -- -- Copyright 1995 Digital Equipment Corporation. -- -- -- This software may be used and distributed according to the terms of -- the GNU Public License, incorporated herein by reference. -- -- This driver is written for the Digital Equipment Corporation series -- of DEPCA and EtherWORKS ethernet cards: -- -- DEPCA (the original) -- DE100 -- DE101 -- DE200 Turbo -- DE201 Turbo -- DE202 Turbo (TP BNC) -- DE210 -- DE422 (EISA) -- -- The driver has been tested on DE100, DE200 and DE202 cards in a -- relatively busy network. The DE422 has been tested a little. -- -- This driver will NOT work for the DE203, DE204 and DE205 series of -- cards, since they have a new custom ASIC in place of the AMD LANCE -- chip. See the 'ewrk3.c' driver in the Linux source tree for running -- those cards. -- -- I have benchmarked the driver with a DE100 at 595kB/s to (542kB/s from) -- a DECstation 5000/200. -- -- The author may be reached at davies@maniac.ultranet.com -- -- ========================================================================= -- -- The driver was originally based on the 'lance.c' driver from Donald -- Becker which is included with the standard driver distribution for -- linux. V0.4 is a complete re-write with only the kernel interface -- remaining from the original code. -- -- 1) Lance.c code in /linux/drivers/net/ -- 2) "Ethernet/IEEE 802.3 Family. 1992 World Network Data Book/Handbook", -- AMD, 1992 [(800) 222-9323]. -- 3) "Am79C90 CMOS Local Area Network Controller for Ethernet (C-LANCE)", -- AMD, Pub. #17881, May 1993. -- 4) "Am79C960 PCnet-ISA(tm), Single-Chip Ethernet Controller for ISA", -- AMD, Pub. #16907, May 1992 -- 5) "DEC EtherWORKS LC Ethernet Controller Owners Manual", -- Digital Equipment corporation, 1990, Pub. #EK-DE100-OM.003 -- 6) "DEC EtherWORKS Turbo Ethernet Controller Owners Manual", -- Digital Equipment corporation, 1990, Pub. #EK-DE200-OM.003 -- 7) "DEPCA Hardware Reference Manual", Pub. #EK-DEPCA-PR -- Digital Equipment Corporation, 1989 -- 8) "DEC EtherWORKS Turbo_(TP BNC) Ethernet Controller Owners Manual", -- Digital Equipment corporation, 1991, Pub. #EK-DE202-OM.001 -- -- -- Peter Bauer's depca.c (V0.5) was referred to when debugging V0.1 of this -- driver. -- -- The original DEPCA card requires that the ethernet ROM address counter -- be enabled to count and has an 8 bit NICSR. The ROM counter enabling is -- only done when a 0x08 is read as the first address octet (to minimise -- the chances of writing over some other hardware's I/O register). The -- NICSR accesses have been changed to byte accesses for all the cards -- supported by this driver, since there is only one useful bit in the MSB -- (remote boot timeout) and it is not used. Also, there is a maximum of -- only 48kB network RAM for this card. My thanks to Torbjorn Lindh for -- help debugging all this (and holding my feet to the fire until I got it -- right). -- -- The DE200 series boards have on-board 64kB RAM for use as a shared -- memory network buffer. Only the DE100 cards make use of a 2kB buffer -- mode which has not been implemented in this driver (only the 32kB and -- 64kB modes are supported [16kB/48kB for the original DEPCA]). -- -- At the most only 2 DEPCA cards can be supported on the ISA bus because -- there is only provision for two I/O base addresses on each card (0x300 -- and 0x200). The I/O address is detected by searching for a byte sequence -- in the Ethernet station address PROM at the expected I/O address for the -- Ethernet PROM. The shared memory base address is 'autoprobed' by -- looking for the self test PROM and detecting the card name. When a -- second DEPCA is detected, information is placed in the base_addr -- variable of the next device structure (which is created if necessary), -- thus enabling ethif_probe initialization for the device. More than 2 -- EISA cards can be supported, but care will be needed assigning the -- shared memory to ensure that each slot has the correct IRQ, I/O address -- and shared memory address assigned. -- -- ************************************************************************ -- -- NOTE: If you are using two ISA DEPCAs, it is important that you assign -- the base memory addresses correctly. The driver autoprobes I/O 0x300 -- then 0x200. The base memory address for the first device must be less -- than that of the second so that the auto probe will correctly assign the -- I/O and memory addresses on the same card. I can't think of a way to do -- this unambiguously at the moment, since there is nothing on the cards to -- tie I/O and memory information together. -- -- I am unable to test 2 cards together for now, so this code is -- unchecked. All reports, good or bad, are welcome. -- -- ************************************************************************ -- -- The board IRQ setting must be at an unused IRQ which is auto-probed -- using Donald Becker's autoprobe routines. DEPCA and DE100 board IRQs are -- {2,3,4,5,7}, whereas the DE200 is at {5,9,10,11,15}. Note that IRQ2 is -- really IRQ9 in machines with 16 IRQ lines. -- -- No 16MB memory limitation should exist with this driver as DMA is not -- used and the common memory area is in low memory on the network card (my -- current system has 20MB and I've not had problems yet). -- -- The ability to load this driver as a loadable module has been added. To -- utilise this ability, you have to do <8 things: -- -- 0) have a copy of the loadable modules code installed on your system. -- 1) copy depca.c from the /linux/drivers/net directory to your favourite -- temporary directory. -- 2) if you wish, edit the source code near line 1530 to reflect the I/O -- address and IRQ you're using (see also 5). -- 3) compile depca.c, but include -DMODULE in the command line to ensure -- that the correct bits are compiled (see end of source code). -- 4) if you are wanting to add a new card, goto 5. Otherwise, recompile a -- kernel with the depca configuration turned off and reboot. -- 5) insmod depca.o [irq=7] [io=0x200] [mem=0xd0000] [adapter_name=DE100] -- [Alan Cox: Changed the code to allow command line irq/io assignments] -- [Dave Davies: Changed the code to allow command line mem/name -- assignments] -- 6) run the net startup bits for your eth?? interface manually -- (usually /etc/rc.inet[12] at boot time). -- 7) enjoy! -- -- Note that autoprobing is not allowed in loadable modules - the system is -- already up and running and you're messing with interrupts. -- -- To unload a module, turn off the associated interface -- 'ifconfig eth?? down' then 'rmmod depca'. -- -- To assign a base memory address for the shared memory when running as a -- loadable module, see 5 above. To include the adapter name (if you have -- no PROM but know the card name) also see 5 above. Note that this last -- option will not work with kernel built-in depca's. -- -- The shared memory assignment for a loadable module makes sense to avoid -- the 'memory autoprobe' picking the wrong shared memory (for the case of -- 2 depca's in a PC). -- -- ************************************************************************ -- Support for MCA EtherWORKS cards added 11-3-98. -- Verified to work with up to 2 DE212 cards in a system (although not -- fully stress-tested). -- -- Currently known bugs/limitations: -- -- Note: with the MCA stuff as a module, it trusts the MCA configuration, -- not the command line for IRQ and memory address. You can -- specify them if you want, but it will throw your values out. -- You still have to pass the IO address it was configured as -- though. -- -- ************************************************************************ -- TO DO: -- ------ -- -- -- Revision History -- ---------------- -- -- Version Date Description -- -- 0.1 25-jan-94 Initial writing. -- 0.2 27-jan-94 Added LANCE TX hardware buffer chaining. -- 0.3 1-feb-94 Added multiple DEPCA support. -- 0.31 4-feb-94 Added DE202 recognition. -- 0.32 19-feb-94 Tidy up. Improve multi-DEPCA support. -- 0.33 25-feb-94 Fix DEPCA ethernet ROM counter enable. -- Add jabber packet fix from murf@perftech.com -- and becker@super.org -- 0.34 7-mar-94 Fix DEPCA max network memory RAM & NICSR access. -- 0.35 8-mar-94 Added DE201 recognition. Tidied up. -- 0.351 30-apr-94 Added EISA support. Added DE422 recognition. -- 0.36 16-may-94 DE422 fix released. -- 0.37 22-jul-94 Added MODULE support -- 0.38 15-aug-94 Added DBR ROM switch in depca_close(). -- Multi DEPCA bug fix. -- 0.38axp 15-sep-94 Special version for Alpha AXP Linux V1.0. -- 0.381 12-dec-94 Added DE101 recognition, fix multicast bug. -- 0.382 9-feb-95 Fix recognition bug reported by . -- 0.383 22-feb-95 Fix for conflict with VESA SCSI reported by -- -- 0.384 17-mar-95 Fix a ring full bug reported by -- 0.385 3-apr-95 Fix a recognition bug reported by -- -- 0.386 21-apr-95 Fix the last fix...sorry, must be galloping senility -- 0.40 25-May-95 Rewrite for portability & updated. -- ALPHA support from -- 0.41 26-Jun-95 Added verify_area() calls in depca_ioctl() from -- suggestion by -- 0.42 27-Dec-95 Add 'mem' shared memory assignment for loadable -- modules. -- Add 'adapter_name' for loadable modules when no PROM. -- Both above from a suggestion by -- . -- Add new multicasting code. -- 0.421 22-Apr-96 Fix alloc_device() bug -- 0.422 29-Apr-96 Fix depca_hw_init() bug -- 0.423 7-Jun-96 Fix module load bug -- 0.43 16-Aug-96 Update alloc_device() to conform to de4x5.c -- 0.44 1-Sep-97 Fix *_probe() to test check_region() first - bug -- reported by -- 0.45 3-Nov-98 Added support for MCA EtherWORKS (DE210/DE212) cards -- by -- 0.451 5-Nov-98 Fixed mca stuff cuz I'm a dummy. -- 0.5 14-Nov-98 Re-spin for 2.1.x kernels. -- 0.51 27-Jun-99 Correct received packet length for CRC from -- report by -- -- ========================================================================= --*/ -- --#include "etherboot.h" --#include "nic.h" --#include "cards.h" -- --/* --** I/O addresses. Note that the 2k buffer option is not supported in --** this driver. --*/ --#define DEPCA_NICSR ioaddr+0x00 /* Network interface CSR */ --#define DEPCA_RBI ioaddr+0x02 /* RAM buffer index (2k buffer mode) */ --#define DEPCA_DATA ioaddr+0x04 /* LANCE registers' data port */ --#define DEPCA_ADDR ioaddr+0x06 /* LANCE registers' address port */ --#define DEPCA_HBASE ioaddr+0x08 /* EISA high memory base address reg. */ --#define DEPCA_PROM ioaddr+0x0c /* Ethernet address ROM data port */ --#define DEPCA_CNFG ioaddr+0x0c /* EISA Configuration port */ --#define DEPCA_RBSA ioaddr+0x0e /* RAM buffer starting address (2k buff.) */ -- --/* --** These are LANCE registers addressable through DEPCA_ADDR --*/ --#define CSR0 0 --#define CSR1 1 --#define CSR2 2 --#define CSR3 3 -- --/* --** NETWORK INTERFACE CSR (NI_CSR) bit definitions --*/ -- --#define TO 0x0100 /* Time Out for remote boot */ --#define SHE 0x0080 /* SHadow memory Enable */ --#define BS 0x0040 /* Bank Select */ --#define BUF 0x0020 /* BUFfer size (1->32k, 0->64k) */ --#define RBE 0x0010 /* Remote Boot Enable (1->net boot) */ --#define AAC 0x0008 /* Address ROM Address Counter (1->enable) */ --#define _128KB 0x0008 /* 128kB Network RAM (1->enable) */ --#define IM 0x0004 /* Interrupt Mask (1->mask) */ --#define IEN 0x0002 /* Interrupt tristate ENable (1->enable) */ --#define LED 0x0001 /* LED control */ -- --/* --** Control and Status Register 0 (CSR0) bit definitions --*/ -- --#define ERR 0x8000 /* Error summary */ --#define BABL 0x4000 /* Babble transmitter timeout error */ --#define CERR 0x2000 /* Collision Error */ --#define MISS 0x1000 /* Missed packet */ --#define MERR 0x0800 /* Memory Error */ --#define RINT 0x0400 /* Receiver Interrupt */ --#define TINT 0x0200 /* Transmit Interrupt */ --#define IDON 0x0100 /* Initialization Done */ --#define INTR 0x0080 /* Interrupt Flag */ --#define INEA 0x0040 /* Interrupt Enable */ --#define RXON 0x0020 /* Receiver on */ --#define TXON 0x0010 /* Transmitter on */ --#define TDMD 0x0008 /* Transmit Demand */ --#define STOP 0x0004 /* Stop */ --#define STRT 0x0002 /* Start */ --#define INIT 0x0001 /* Initialize */ --#define INTM 0xff00 /* Interrupt Mask */ --#define INTE 0xfff0 /* Interrupt Enable */ -- --/* --** CONTROL AND STATUS REGISTER 3 (CSR3) --*/ -- --#define BSWP 0x0004 /* Byte SWaP */ --#define ACON 0x0002 /* ALE control */ --#define BCON 0x0001 /* Byte CONtrol */ -- --/* --** Initialization Block Mode Register --*/ -- --#define PROM 0x8000 /* Promiscuous Mode */ --#define EMBA 0x0080 /* Enable Modified Back-off Algorithm */ --#define INTL 0x0040 /* Internal Loopback */ --#define DRTY 0x0020 /* Disable Retry */ --#define COLL 0x0010 /* Force Collision */ --#define DTCR 0x0008 /* Disable Transmit CRC */ --#define LOOP 0x0004 /* Loopback */ --#define DTX 0x0002 /* Disable the Transmitter */ --#define DRX 0x0001 /* Disable the Receiver */ -- --/* --** Receive Message Descriptor 1 (RMD1) bit definitions. --*/ -- --#define R_OWN 0x80000000 /* Owner bit 0 = host, 1 = lance */ --#define R_ERR 0x4000 /* Error Summary */ --#define R_FRAM 0x2000 /* Framing Error */ --#define R_OFLO 0x1000 /* Overflow Error */ --#define R_CRC 0x0800 /* CRC Error */ --#define R_BUFF 0x0400 /* Buffer Error */ --#define R_STP 0x0200 /* Start of Packet */ --#define R_ENP 0x0100 /* End of Packet */ -- --/* --** Transmit Message Descriptor 1 (TMD1) bit definitions. --*/ -- --#define T_OWN 0x80000000 /* Owner bit 0 = host, 1 = lance */ --#define T_ERR 0x4000 /* Error Summary */ --#define T_ADD_FCS 0x2000 /* More the 1 retry needed to Xmit */ --#define T_MORE 0x1000 /* >1 retry to transmit packet */ --#define T_ONE 0x0800 /* 1 try needed to transmit the packet */ --#define T_DEF 0x0400 /* Deferred */ --#define T_STP 0x02000000 /* Start of Packet */ --#define T_ENP 0x01000000 /* End of Packet */ --#define T_FLAGS 0xff000000 /* TX Flags Field */ -- --/* --** Transmit Message Descriptor 3 (TMD3) bit definitions. --*/ -- --#define TMD3_BUFF 0x8000 /* BUFFer error */ --#define TMD3_UFLO 0x4000 /* UnderFLOw error */ --#define TMD3_RES 0x2000 /* REServed */ --#define TMD3_LCOL 0x1000 /* Late COLlision */ --#define TMD3_LCAR 0x0800 /* Loss of CARrier */ --#define TMD3_RTRY 0x0400 /* ReTRY error */ -- --/* --** Ethernet PROM defines --*/ --#define PROBE_LENGTH 32 -- --/* --** Set the number of Tx and Rx buffers. Ensure that the memory requested --** here is <= to the amount of shared memory set up by the board switches. --** The number of descriptors MUST BE A POWER OF 2. --** --** total_memory = NUM_RX_DESC*(8+RX_BUFF_SZ) + NUM_TX_DESC*(8+TX_BUFF_SZ) --*/ --#define NUM_RX_DESC 2 /* Number of RX descriptors */ --#define NUM_TX_DESC 2 /* Number of TX descriptors */ --#define RX_BUFF_SZ 1536 /* Buffer size for each Rx buffer */ --#define TX_BUFF_SZ 1536 /* Buffer size for each Tx buffer */ -- --/* --** ISA Bus defines --*/ --#define DEPCA_IO_PORTS {0x300, 0x200, 0} -- --#ifndef DEPCA_MODEL --#define DEPCA_MODEL DEPCA --#endif -- --static enum { -- DEPCA, DE100, DE101, DE200, DE201, DE202, DE210, DE212, DE422, unknown --} adapter = DEPCA_MODEL; -- --/* --** Name <-> Adapter mapping --*/ -- --static char *adapter_name[] = { -- "DEPCA", -- "DE100","DE101", -- "DE200","DE201","DE202", -- "DE210","DE212", -- "DE422", -- "" --}; -- --#ifndef DEPCA_RAM_BASE --#define DEPCA_RAM_BASE 0xd0000 --#endif -- --/* --** Memory Alignment. Each descriptor is 4 longwords long. To force a --** particular alignment on the TX descriptor, adjust DESC_SKIP_LEN and --** DESC_ALIGN. ALIGN aligns the start address of the private memory area --** and hence the RX descriptor ring's first entry. --*/ --#define ALIGN4 ((u32)4 - 1) /* 1 longword align */ --#define ALIGN8 ((u32)8 - 1) /* 2 longword (quadword) align */ --#define ALIGN ALIGN8 /* Keep the LANCE happy... */ -- --typedef long s32; --typedef unsigned long u32; --typedef short s16; --typedef unsigned short u16; --typedef char s8; --typedef unsigned char u8; -- --/* --** The DEPCA Rx and Tx ring descriptors. --*/ --struct depca_rx_desc { -- volatile s32 base; -- s16 buf_length; /* This length is negative 2's complement! */ -- s16 msg_length; /* This length is "normal". */ --}; -- --struct depca_tx_desc { -- volatile s32 base; -- s16 length; /* This length is negative 2's complement! */ -- s16 misc; /* Errors and TDR info */ --}; -- --#define LA_MASK 0x0000ffff /* LANCE address mask for mapping network RAM -- to LANCE memory address space */ -- --/* --** The Lance initialization block, described in databook, in common memory. --*/ --struct depca_init { -- u16 mode; /* Mode register */ -- u8 phys_addr[ETH_ALEN]; /* Physical ethernet address */ -- u8 mcast_table[8]; /* Multicast Hash Table. */ -- u32 rx_ring; /* Rx ring base pointer & ring length */ -- u32 tx_ring; /* Tx ring base pointer & ring length */ --}; -- --struct depca_private { -- struct depca_rx_desc *rx_ring; -- struct depca_tx_desc *tx_ring; -- struct depca_init init_block; /* Shadow init block */ -- char *rx_memcpy[NUM_RX_DESC]; -- char *tx_memcpy[NUM_TX_DESC]; -- u32 bus_offset; /* ISA bus address offset */ -- u32 sh_mem; /* address of shared mem */ -- u32 dma_buffs; /* Rx & Tx buffer start */ -- int rx_cur, tx_cur; /* Next free ring entry */ -- int txRingMask, rxRingMask; -- s32 rx_rlen, tx_rlen; -- /* log2([rt]xRingMask+1) for the descriptors */ --}; -- --static Address mem_start = DEPCA_RAM_BASE; --static Address mem_len, offset; --static unsigned short ioaddr = 0; --static struct depca_private lp; -- --/* --** Miscellaneous defines... --*/ --#define STOP_DEPCA \ -- outw(CSR0, DEPCA_ADDR);\ -- outw(STOP, DEPCA_DATA) -- --/* Initialize the lance Rx and Tx descriptor rings. */ --static void depca_init_ring(struct nic *nic) --{ -- int i; -- u32 p; -- -- lp.rx_cur = lp.tx_cur = 0; -- /* Initialize the base addresses and length of each buffer in the ring */ -- for (i = 0; i <= lp.rxRingMask; i++) { -- writel((p = lp.dma_buffs + i * RX_BUFF_SZ) | R_OWN, &lp.rx_ring[i].base); -- writew(-RX_BUFF_SZ, &lp.rx_ring[i].buf_length); -- lp.rx_memcpy[i] = (char *) (p + lp.bus_offset); -- } -- for (i = 0; i <= lp.txRingMask; i++) { -- writel((p = lp.dma_buffs + (i + lp.txRingMask + 1) * TX_BUFF_SZ) & 0x00ffffff, &lp.tx_ring[i].base); -- lp.tx_memcpy[i] = (char *) (p + lp.bus_offset); -- } -- -- /* Set up the initialization block */ -- lp.init_block.rx_ring = ((u32) ((u32) lp.rx_ring) & LA_MASK) | lp.rx_rlen; -- lp.init_block.tx_ring = ((u32) ((u32) lp.tx_ring) & LA_MASK) | lp.tx_rlen; -- for (i = 0; i < ETH_ALEN; i++) -- lp.init_block.phys_addr[i] = nic->node_addr[i]; -- lp.init_block.mode = 0x0000; /* Enable the Tx and Rx */ -- memset(lp.init_block.mcast_table, 0, sizeof(lp.init_block.mcast_table)); --} -- --static void LoadCSRs(void) --{ -- outw(CSR1, DEPCA_ADDR); /* initialisation block address LSW */ -- outw((u16) (lp.sh_mem & LA_MASK), DEPCA_DATA); -- outw(CSR2, DEPCA_ADDR); /* initialisation block address MSW */ -- outw((u16) ((lp.sh_mem & LA_MASK) >> 16), DEPCA_DATA); -- outw(CSR3, DEPCA_ADDR); /* ALE control */ -- outw(ACON, DEPCA_DATA); -- outw(CSR0, DEPCA_ADDR); /* Point back to CSR0 */ --} -- --static int InitRestartDepca(void) --{ -- int i; -- -- /* Copy the shadow init_block to shared memory */ -- memcpy_toio((char *)lp.sh_mem, &lp.init_block, sizeof(struct depca_init)); -- outw(CSR0, DEPCA_ADDR); /* point back to CSR0 */ -- outw(INIT, DEPCA_DATA); /* initialise DEPCA */ -- -- for (i = 0; i < 100 && !(inw(DEPCA_DATA) & IDON); i++) -- ; -- if (i < 100) { -- /* clear IDON by writing a 1, and start LANCE */ -- outw(IDON | STRT, DEPCA_DATA); -- } else { -- printf("DEPCA not initialised\n"); -- return (1); -- } -- return (0); --} -- --/************************************************************************** --RESET - Reset adapter --***************************************************************************/ --static void depca_reset(struct nic *nic) --{ -- s16 nicsr; -- int i, j; -- -- STOP_DEPCA; -- nicsr = inb(DEPCA_NICSR); -- nicsr = ((nicsr & ~SHE & ~RBE & ~IEN) | IM); -- outb(nicsr, DEPCA_NICSR); -- if (inw(DEPCA_DATA) != STOP) -- { -- printf("depca: Cannot stop NIC\n"); -- return; -- } -- -- /* Initialisation block */ -- lp.sh_mem = mem_start; -- mem_start += sizeof(struct depca_init); -- /* Tx & Rx descriptors (aligned to a quadword boundary) */ -- mem_start = (mem_start + ALIGN) & ~ALIGN; -- lp.rx_ring = (struct depca_rx_desc *) mem_start; -- mem_start += (sizeof(struct depca_rx_desc) * NUM_RX_DESC); -- lp.tx_ring = (struct depca_tx_desc *) mem_start; -- mem_start += (sizeof(struct depca_tx_desc) * NUM_TX_DESC); -- -- lp.bus_offset = mem_start & 0x00ff0000; -- /* LANCE re-mapped start address */ -- lp.dma_buffs = mem_start & LA_MASK; -- -- /* Finish initialising the ring information. */ -- lp.rxRingMask = NUM_RX_DESC - 1; -- lp.txRingMask = NUM_TX_DESC - 1; -- -- /* Calculate Tx/Rx RLEN size for the descriptors. */ -- for (i = 0, j = lp.rxRingMask; j > 0; i++) { -- j >>= 1; -- } -- lp.rx_rlen = (s32) (i << 29); -- for (i = 0, j = lp.txRingMask; j > 0; i++) { -- j >>= 1; -- } -- lp.tx_rlen = (s32) (i << 29); -- -- /* Load the initialisation block */ -- depca_init_ring(nic); -- LoadCSRs(); -- InitRestartDepca(); --} -- --/************************************************************************** --POLL - Wait for a frame --***************************************************************************/ --static int depca_poll(struct nic *nic) --{ -- int entry; -- u32 status; -- -- entry = lp.rx_cur; -- if ((status = readl(&lp.rx_ring[entry].base) & R_OWN)) -- return (0); -- memcpy(nic->packet, lp.rx_memcpy[entry], nic->packetlen = lp.rx_ring[entry].msg_length); -- lp.rx_ring[entry].base |= R_OWN; -- lp.rx_cur = (++lp.rx_cur) & lp.rxRingMask; -- return (1); --} -- --/************************************************************************** --TRANSMIT - Transmit a frame --***************************************************************************/ --static void depca_transmit( -- struct nic *nic, -- const char *d, /* Destination */ -- unsigned int t, /* Type */ -- unsigned int s, /* size */ -- const char *p) /* Packet */ --{ -- int entry, len; -- char *mem; -- -- /* send the packet to destination */ -- /* -- ** Caution: the right order is important here... dont -- ** setup the ownership rights until all the other -- ** information is in place -- */ -- mem = lp.tx_memcpy[entry = lp.tx_cur]; -- memcpy_toio(mem, d, ETH_ALEN); -- memcpy_toio(mem + ETH_ALEN, nic->node_addr, ETH_ALEN); -- mem[ETH_ALEN * 2] = t >> 8; -- mem[ETH_ALEN * 2 + 1] = t; -- memcpy_toio(mem + ETH_HLEN, p, s); -- s += ETH_HLEN; -- len = (s < ETH_ZLEN ? ETH_ZLEN : s); -- /* clean out flags */ -- writel(readl(&lp.tx_ring[entry].base) & ~T_FLAGS, &lp.tx_ring[entry].base); -- /* clears other error flags */ -- writew(0x0000, &lp.tx_ring[entry].misc); -- /* packet length in buffer */ -- writew(-len, &lp.tx_ring[entry].length); -- /* start and end of packet, ownership */ -- writel(readl(&lp.tx_ring[entry].base) | (T_STP|T_ENP|T_OWN), &lp.tx_ring[entry].base); -- /* update current pointers */ -- lp.tx_cur = (++lp.tx_cur) & lp.txRingMask; --} -- --/************************************************************************** --DISABLE - Turn off ethernet interface --***************************************************************************/ --static void depca_disable(struct nic *nic) --{ -- STOP_DEPCA; --} -- --/* --** Look for a special sequence in the Ethernet station address PROM that --** is common across all DEPCA products. Note that the original DEPCA needs --** its ROM address counter to be initialized and enabled. Only enable --** if the first address octet is a 0x08 - this minimises the chances of --** messing around with some other hardware, but it assumes that this DEPCA --** card initialized itself correctly. --** --** Search the Ethernet address ROM for the signature. Since the ROM address --** counter can start at an arbitrary point, the search must include the entire --** probe sequence length plus the (length_of_the_signature - 1). --** Stop the search IMMEDIATELY after the signature is found so that the --** PROM address counter is correctly positioned at the start of the --** ethernet address for later read out. --*/ --static int depca_probe1(struct nic *nic) --{ -- u8 data, nicsr; -- /* This is only correct for little endian machines, but then -- Etherboot doesn't work on anything but a PC */ -- u8 sig[] = { 0xFF, 0x00, 0x55, 0xAA, 0xFF, 0x00, 0x55, 0xAA }; -- int i, j; -- long sum, chksum; -- -- data = inb(DEPCA_PROM); /* clear counter on DEPCA */ -- data = inb(DEPCA_PROM); /* read data */ -- if (data == 0x8) { -- nicsr = inb(DEPCA_NICSR); -- nicsr |= AAC; -- outb(nicsr, DEPCA_NICSR); -- } -- for (i = 0, j = 0; j < (int)sizeof(sig) && i < PROBE_LENGTH+((int)sizeof(sig))-1; ++i) { -- data = inb(DEPCA_PROM); -- if (data == sig[j]) /* track signature */ -- ++j; -- else -- j = (data == sig[0]) ? 1 : 0; -- } -- if (j != sizeof(sig)) -- return (0); -- /* put the card in its initial state */ -- STOP_DEPCA; -- nicsr = ((inb(DEPCA_NICSR) & ~SHE & ~RBE & ~IEN) | IM); -- outb(nicsr, DEPCA_NICSR); -- if (inw(DEPCA_DATA) != STOP) -- return (0); -- memcpy((char *)mem_start, sig, sizeof(sig)); -- if (memcmp((char *)mem_start, sig, sizeof(sig)) != 0) -- return (0); -- for (i = 0, j = 0, sum = 0; j < 3; j++) { -- sum <<= 1; -- if (sum > 0xFFFF) -- sum -= 0xFFFF; -- sum += (u8)(nic->node_addr[i++] = inb(DEPCA_PROM)); -- sum += (u16)((nic->node_addr[i++] = inb(DEPCA_PROM)) << 8); -- if (sum > 0xFFFF) -- sum -= 0xFFFF; -- } -- if (sum == 0xFFFF) -- sum = 0; -- chksum = (u8)inb(DEPCA_PROM); -- chksum |= (u16)(inb(DEPCA_PROM) << 8); -- mem_len = (adapter == DEPCA) ? (48 << 10) : (64 << 10); -- offset = 0; -- if (nicsr & BUF) { -- offset = 0x8000; -- nicsr &= ~BS; -- mem_len -= (32 << 10); -- } -- if (adapter != DEPCA) /* enable shadow RAM */ -- outb(nicsr |= SHE, DEPCA_NICSR); -- printf("%s base %#hX, memory [%#hX-%#hX], addr %!", -- adapter_name[adapter], ioaddr, mem_start, mem_start + mem_len, -- nic->node_addr); -- if (sum != chksum) -- printf(" (bad checksum)"); -- putchar('\n'); -- return (1); --} -- --/************************************************************************** --PROBE - Look for an adapter, this routine's visible to the outside --***************************************************************************/ --struct nic *depca_probe(struct nic *nic, unsigned short *probe_addrs) --{ -- static unsigned short base[] = DEPCA_IO_PORTS; -- int i; -- -- if (probe_addrs == 0 || probe_addrs[0] == 0) -- probe_addrs = base; /* Use defaults */ -- for (i = 0; (ioaddr = base[i]) != 0; ++i) { -- if (depca_probe1(nic)) -- break; -- } -- if (ioaddr == 0) -- return (0); -- depca_reset(nic); -- /* point to NIC specific routines */ -- nic->reset = depca_reset; -- nic->poll = depca_poll; -- nic->transmit = depca_transmit; -- nic->disable = depca_disable; -- return (nic); --} -Index: b/netboot/dev.h -=================================================================== ---- /dev/null -+++ b/netboot/dev.h -@@ -0,0 +1,83 @@ -+#ifndef _DEV_H -+#define _DEV_H -+ -+#include "isa.h" -+#include "pci.h" -+ -+/* Need to check the packing of this struct if Etherboot is ported */ -+struct dev_id -+{ -+ unsigned short vendor_id; -+ unsigned short device_id; -+ unsigned char bus_type; -+#define PCI_BUS_TYPE 1 -+#define ISA_BUS_TYPE 2 -+}; -+ -+/* Dont use sizeof, that will include the padding */ -+#define DEV_ID_SIZE 8 -+ -+ -+struct pci_probe_state -+{ -+#ifdef CONFIG_PCI -+ struct pci_device dev; -+ int advance; -+#else -+ int dummy; -+#endif -+}; -+struct isa_probe_state -+{ -+#ifdef CONFIG_ISA -+ const struct isa_driver *driver; -+ int advance; -+#else -+ int dummy; -+#endif -+}; -+ -+union probe_state -+{ -+ struct pci_probe_state pci; -+ struct isa_probe_state isa; -+}; -+ -+struct dev -+{ -+ void (*disable)P((struct dev *)); -+ struct dev_id devid; /* device ID string (sent to DHCP server) */ -+ int index; /* Index of next device on this controller to probe */ -+ int type; /* Type of device I am probing for */ -+ int how_probe; /* First, next or awake */ -+ int to_probe; /* Flavor of device I am probing */ -+ int failsafe; /* Failsafe probe requested */ -+ int type_index; /* Index of this device (within type) */ -+#define PROBE_NONE 0 -+#define PROBE_PCI 1 -+#define PROBE_ISA 2 -+ union probe_state state; -+}; -+ -+ -+#define NIC_DRIVER 0 -+#define DISK_DRIVER 1 -+#define FLOPPY_DRIVER 2 -+ -+#define BRIDGE_DRIVER 1000 -+ -+#define PROBE_FIRST (-1) -+#define PROBE_NEXT 0 -+#define PROBE_AWAKE 1 /* After calling disable bring up the same device */ -+ -+/* The probe result codes are selected -+ * to allow them to be fed back into the probe -+ * routine and get a successful probe. -+ */ -+#define PROBE_FAILED PROBE_FIRST -+#define PROBE_WORKED PROBE_NEXT -+ -+extern int probe(struct dev *dev); -+extern void disable(struct dev *dev); -+ -+#endif /* _DEV_H */ -Index: b/netboot/e1000.c -=================================================================== ---- /dev/null -+++ b/netboot/e1000.c -@@ -0,0 +1,3682 @@ -+/************************************************************************** -+Etherboot - BOOTP/TFTP Bootstrap Program -+Inter Pro 1000 for Etherboot -+Drivers are port from Intel's Linux driver e1000-4.3.15 -+ -+***************************************************************************/ -+/******************************************************************************* -+ -+ -+ Copyright(c) 1999 - 2003 Intel Corporation. All rights reserved. -+ -+ 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. -+ -+ The full GNU General Public License is included in this distribution in the -+ file called LICENSE. -+ -+ Contact Information: -+ Linux NICS -+ Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497 -+ -+*******************************************************************************/ -+/* -+ * Copyright (C) Archway Digital Solutions. -+ * -+ * written by Chrsitopher Li or -+ * 2/9/2002 -+ * -+ * Copyright (C) Linux Networx. -+ * Massive upgrade to work with the new intel gigabit NICs. -+ * -+ * -+ * Support for 82541ei & 82547ei chips from Intel's Linux driver 5.1.13 added by -+ * Georg Baum , sponsored by PetaMem GmbH and linkLINE Communications, Inc. -+ * -+ * 01/2004: Updated to Linux driver 5.2.22 by Georg Baum -+ */ -+ -+/* to get some global routines like printf */ -+#include "etherboot.h" -+/* to get the interface to the body of the program */ -+#include "nic.h" -+/* to get the PCI support functions, if this is a PCI NIC */ -+#include "pci.h" -+#include "timer.h" -+ -+typedef unsigned char *dma_addr_t; -+ -+typedef enum { -+ FALSE = 0, -+ TRUE = 1 -+} boolean_t; -+ -+#define DEBUG 0 -+ -+ -+/* Some pieces of code are disabled with #if 0 ... #endif. -+ * They are not deleted to show where the etherboot driver differs -+ * from the linux driver below the function level. -+ * Some member variables of the hw struct have been eliminated -+ * and the corresponding inplace checks inserted instead. -+ * Pieces such as LED handling that we definitely don't need are deleted. -+ * -+ * The following defines should not be needed normally, -+ * but may be helpful for debugging purposes. */ -+ -+/* Define this if you want to program the transmission control register -+ * the way the Linux driver does it. */ -+#undef LINUX_DRIVER_TCTL -+ -+/* Define this to behave more like the Linux driver. */ -+#undef LINUX_DRIVER -+ -+#include "e1000_hw.h" -+ -+/* NIC specific static variables go here */ -+static struct e1000_hw hw; -+static char tx_pool[128 + 16]; -+static char rx_pool[128 + 16]; -+static char packet[2096]; -+ -+static struct e1000_tx_desc *tx_base; -+static struct e1000_rx_desc *rx_base; -+ -+static int tx_tail; -+static int rx_tail, rx_last; -+ -+/* Function forward declarations */ -+static int e1000_setup_link(struct e1000_hw *hw); -+static int e1000_setup_fiber_serdes_link(struct e1000_hw *hw); -+static int e1000_setup_copper_link(struct e1000_hw *hw); -+static int e1000_phy_setup_autoneg(struct e1000_hw *hw); -+static void e1000_config_collision_dist(struct e1000_hw *hw); -+static int e1000_config_mac_to_phy(struct e1000_hw *hw); -+static int e1000_config_fc_after_link_up(struct e1000_hw *hw); -+static int e1000_check_for_link(struct e1000_hw *hw); -+static int e1000_wait_autoneg(struct e1000_hw *hw); -+static void e1000_get_speed_and_duplex(struct e1000_hw *hw, uint16_t *speed, uint16_t *duplex); -+static int e1000_read_phy_reg(struct e1000_hw *hw, uint32_t reg_addr, uint16_t *phy_data); -+static int e1000_read_phy_reg_ex(struct e1000_hw *hw, uint32_t reg_addr, uint16_t *phy_data); -+static int e1000_write_phy_reg(struct e1000_hw *hw, uint32_t reg_addr, uint16_t phy_data); -+static int e1000_write_phy_reg_ex(struct e1000_hw *hw, uint32_t reg_addr, uint16_t phy_data); -+static void e1000_phy_hw_reset(struct e1000_hw *hw); -+static int e1000_phy_reset(struct e1000_hw *hw); -+static int e1000_detect_gig_phy(struct e1000_hw *hw); -+ -+/* Printing macros... */ -+ -+#define E1000_ERR(args...) printf("e1000: " args) -+ -+#if DEBUG >= 3 -+#define E1000_DBG(args...) printf("e1000: " args) -+#else -+#define E1000_DBG(args...) -+#endif -+ -+#define MSGOUT(S, A, B) printk(S "\n", A, B) -+#if DEBUG >= 2 -+#define DEBUGFUNC(F) DEBUGOUT(F "\n"); -+#else -+#define DEBUGFUNC(F) -+#endif -+#if DEBUG >= 1 -+#define DEBUGOUT(S) printf(S) -+#define DEBUGOUT1(S,A) printf(S,A) -+#define DEBUGOUT2(S,A,B) printf(S,A,B) -+#define DEBUGOUT3(S,A,B,C) printf(S,A,B,C) -+#define DEBUGOUT7(S,A,B,C,D,E,F,G) printf(S,A,B,C,D,E,F,G) -+#else -+#define DEBUGOUT(S) -+#define DEBUGOUT1(S,A) -+#define DEBUGOUT2(S,A,B) -+#define DEBUGOUT3(S,A,B,C) -+#define DEBUGOUT7(S,A,B,C,D,E,F,G) -+#endif -+ -+#define E1000_WRITE_REG(a, reg, value) ( \ -+ ((a)->mac_type >= e1000_82543) ? \ -+ (writel((value), ((a)->hw_addr + E1000_##reg))) : \ -+ (writel((value), ((a)->hw_addr + E1000_82542_##reg)))) -+ -+#define E1000_READ_REG(a, reg) ( \ -+ ((a)->mac_type >= e1000_82543) ? \ -+ readl((a)->hw_addr + E1000_##reg) : \ -+ readl((a)->hw_addr + E1000_82542_##reg)) -+ -+#define E1000_WRITE_REG_ARRAY(a, reg, offset, value) ( \ -+ ((a)->mac_type >= e1000_82543) ? \ -+ writel((value), ((a)->hw_addr + E1000_##reg + ((offset) << 2))) : \ -+ writel((value), ((a)->hw_addr + E1000_82542_##reg + ((offset) << 2)))) -+ -+#define E1000_READ_REG_ARRAY(a, reg, offset) ( \ -+ ((a)->mac_type >= e1000_82543) ? \ -+ readl((a)->hw_addr + E1000_##reg + ((offset) << 2)) : \ -+ readl((a)->hw_addr + E1000_82542_##reg + ((offset) << 2))) -+ -+#define E1000_WRITE_FLUSH(a) {uint32_t x; x = E1000_READ_REG(a, STATUS);} -+ -+uint32_t -+e1000_io_read(struct e1000_hw *hw __unused, uint32_t port) -+{ -+ return inl(port); -+} -+ -+void -+e1000_io_write(struct e1000_hw *hw __unused, uint32_t port, uint32_t value) -+{ -+ outl(value, port); -+} -+ -+static inline void e1000_pci_set_mwi(struct e1000_hw *hw) -+{ -+ pci_write_config_word(hw->pdev, PCI_COMMAND, hw->pci_cmd_word); -+} -+ -+static inline void e1000_pci_clear_mwi(struct e1000_hw *hw) -+{ -+ pci_write_config_word(hw->pdev, PCI_COMMAND, -+ hw->pci_cmd_word & ~PCI_COMMAND_INVALIDATE); -+} -+ -+/****************************************************************************** -+ * Raises the EEPROM's clock input. -+ * -+ * hw - Struct containing variables accessed by shared code -+ * eecd - EECD's current value -+ *****************************************************************************/ -+static void -+e1000_raise_ee_clk(struct e1000_hw *hw, -+ uint32_t *eecd) -+{ -+ /* Raise the clock input to the EEPROM (by setting the SK bit), and then -+ * wait microseconds. -+ */ -+ *eecd = *eecd | E1000_EECD_SK; -+ E1000_WRITE_REG(hw, EECD, *eecd); -+ E1000_WRITE_FLUSH(hw); -+ udelay(hw->eeprom.delay_usec); -+} -+ -+/****************************************************************************** -+ * Lowers the EEPROM's clock input. -+ * -+ * hw - Struct containing variables accessed by shared code -+ * eecd - EECD's current value -+ *****************************************************************************/ -+static void -+e1000_lower_ee_clk(struct e1000_hw *hw, -+ uint32_t *eecd) -+{ -+ /* Lower the clock input to the EEPROM (by clearing the SK bit), and then -+ * wait 50 microseconds. -+ */ -+ *eecd = *eecd & ~E1000_EECD_SK; -+ E1000_WRITE_REG(hw, EECD, *eecd); -+ E1000_WRITE_FLUSH(hw); -+ udelay(hw->eeprom.delay_usec); -+} -+ -+/****************************************************************************** -+ * Shift data bits out to the EEPROM. -+ * -+ * hw - Struct containing variables accessed by shared code -+ * data - data to send to the EEPROM -+ * count - number of bits to shift out -+ *****************************************************************************/ -+static void -+e1000_shift_out_ee_bits(struct e1000_hw *hw, -+ uint16_t data, -+ uint16_t count) -+{ -+ struct e1000_eeprom_info *eeprom = &hw->eeprom; -+ uint32_t eecd; -+ uint32_t mask; -+ -+ /* We need to shift "count" bits out to the EEPROM. So, value in the -+ * "data" parameter will be shifted out to the EEPROM one bit at a time. -+ * In order to do this, "data" must be broken down into bits. -+ */ -+ mask = 0x01 << (count - 1); -+ eecd = E1000_READ_REG(hw, EECD); -+ if (eeprom->type == e1000_eeprom_microwire) { -+ eecd &= ~E1000_EECD_DO; -+ } else if (eeprom->type == e1000_eeprom_spi) { -+ eecd |= E1000_EECD_DO; -+ } -+ do { -+ /* A "1" is shifted out to the EEPROM by setting bit "DI" to a "1", -+ * and then raising and then lowering the clock (the SK bit controls -+ * the clock input to the EEPROM). A "0" is shifted out to the EEPROM -+ * by setting "DI" to "0" and then raising and then lowering the clock. -+ */ -+ eecd &= ~E1000_EECD_DI; -+ -+ if(data & mask) -+ eecd |= E1000_EECD_DI; -+ -+ E1000_WRITE_REG(hw, EECD, eecd); -+ E1000_WRITE_FLUSH(hw); -+ -+ udelay(eeprom->delay_usec); -+ -+ e1000_raise_ee_clk(hw, &eecd); -+ e1000_lower_ee_clk(hw, &eecd); -+ -+ mask = mask >> 1; -+ -+ } while(mask); -+ -+ /* We leave the "DI" bit set to "0" when we leave this routine. */ -+ eecd &= ~E1000_EECD_DI; -+ E1000_WRITE_REG(hw, EECD, eecd); -+} -+ -+/****************************************************************************** -+ * Shift data bits in from the EEPROM -+ * -+ * hw - Struct containing variables accessed by shared code -+ *****************************************************************************/ -+static uint16_t -+e1000_shift_in_ee_bits(struct e1000_hw *hw, -+ uint16_t count) -+{ -+ uint32_t eecd; -+ uint32_t i; -+ uint16_t data; -+ -+ /* In order to read a register from the EEPROM, we need to shift 'count' -+ * bits in from the EEPROM. Bits are "shifted in" by raising the clock -+ * input to the EEPROM (setting the SK bit), and then reading the value of -+ * the "DO" bit. During this "shifting in" process the "DI" bit should -+ * always be clear. -+ */ -+ -+ eecd = E1000_READ_REG(hw, EECD); -+ -+ eecd &= ~(E1000_EECD_DO | E1000_EECD_DI); -+ data = 0; -+ -+ for(i = 0; i < count; i++) { -+ data = data << 1; -+ e1000_raise_ee_clk(hw, &eecd); -+ -+ eecd = E1000_READ_REG(hw, EECD); -+ -+ eecd &= ~(E1000_EECD_DI); -+ if(eecd & E1000_EECD_DO) -+ data |= 1; -+ -+ e1000_lower_ee_clk(hw, &eecd); -+ } -+ -+ return data; -+} -+ -+/****************************************************************************** -+ * Prepares EEPROM for access -+ * -+ * hw - Struct containing variables accessed by shared code -+ * -+ * Lowers EEPROM clock. Clears input pin. Sets the chip select pin. This -+ * function should be called before issuing a command to the EEPROM. -+ *****************************************************************************/ -+static int32_t -+e1000_acquire_eeprom(struct e1000_hw *hw) -+{ -+ struct e1000_eeprom_info *eeprom = &hw->eeprom; -+ uint32_t eecd, i=0; -+ -+ eecd = E1000_READ_REG(hw, EECD); -+ -+ /* Request EEPROM Access */ -+ if(hw->mac_type > e1000_82544) { -+ eecd |= E1000_EECD_REQ; -+ E1000_WRITE_REG(hw, EECD, eecd); -+ eecd = E1000_READ_REG(hw, EECD); -+ while((!(eecd & E1000_EECD_GNT)) && -+ (i < E1000_EEPROM_GRANT_ATTEMPTS)) { -+ i++; -+ udelay(5); -+ eecd = E1000_READ_REG(hw, EECD); -+ } -+ if(!(eecd & E1000_EECD_GNT)) { -+ eecd &= ~E1000_EECD_REQ; -+ E1000_WRITE_REG(hw, EECD, eecd); -+ DEBUGOUT("Could not acquire EEPROM grant\n"); -+ return -E1000_ERR_EEPROM; -+ } -+ } -+ -+ /* Setup EEPROM for Read/Write */ -+ -+ if (eeprom->type == e1000_eeprom_microwire) { -+ /* Clear SK and DI */ -+ eecd &= ~(E1000_EECD_DI | E1000_EECD_SK); -+ E1000_WRITE_REG(hw, EECD, eecd); -+ -+ /* Set CS */ -+ eecd |= E1000_EECD_CS; -+ E1000_WRITE_REG(hw, EECD, eecd); -+ } else if (eeprom->type == e1000_eeprom_spi) { -+ /* Clear SK and CS */ -+ eecd &= ~(E1000_EECD_CS | E1000_EECD_SK); -+ E1000_WRITE_REG(hw, EECD, eecd); -+ udelay(1); -+ } -+ -+ return E1000_SUCCESS; -+} -+ -+/****************************************************************************** -+ * Returns EEPROM to a "standby" state -+ * -+ * hw - Struct containing variables accessed by shared code -+ *****************************************************************************/ -+static void -+e1000_standby_eeprom(struct e1000_hw *hw) -+{ -+ struct e1000_eeprom_info *eeprom = &hw->eeprom; -+ uint32_t eecd; -+ -+ eecd = E1000_READ_REG(hw, EECD); -+ -+ if(eeprom->type == e1000_eeprom_microwire) { -+ -+ /* Deselect EEPROM */ -+ eecd &= ~(E1000_EECD_CS | E1000_EECD_SK); -+ E1000_WRITE_REG(hw, EECD, eecd); -+ E1000_WRITE_FLUSH(hw); -+ udelay(eeprom->delay_usec); -+ -+ /* Clock high */ -+ eecd |= E1000_EECD_SK; -+ E1000_WRITE_REG(hw, EECD, eecd); -+ E1000_WRITE_FLUSH(hw); -+ udelay(eeprom->delay_usec); -+ -+ /* Select EEPROM */ -+ eecd |= E1000_EECD_CS; -+ E1000_WRITE_REG(hw, EECD, eecd); -+ E1000_WRITE_FLUSH(hw); -+ udelay(eeprom->delay_usec); -+ -+ /* Clock low */ -+ eecd &= ~E1000_EECD_SK; -+ E1000_WRITE_REG(hw, EECD, eecd); -+ E1000_WRITE_FLUSH(hw); -+ udelay(eeprom->delay_usec); -+ } else if(eeprom->type == e1000_eeprom_spi) { -+ /* Toggle CS to flush commands */ -+ eecd |= E1000_EECD_CS; -+ E1000_WRITE_REG(hw, EECD, eecd); -+ E1000_WRITE_FLUSH(hw); -+ udelay(eeprom->delay_usec); -+ eecd &= ~E1000_EECD_CS; -+ E1000_WRITE_REG(hw, EECD, eecd); -+ E1000_WRITE_FLUSH(hw); -+ udelay(eeprom->delay_usec); -+ } -+} -+ -+/****************************************************************************** -+ * Terminates a command by inverting the EEPROM's chip select pin -+ * -+ * hw - Struct containing variables accessed by shared code -+ *****************************************************************************/ -+static void -+e1000_release_eeprom(struct e1000_hw *hw) -+{ -+ uint32_t eecd; -+ -+ eecd = E1000_READ_REG(hw, EECD); -+ -+ if (hw->eeprom.type == e1000_eeprom_spi) { -+ eecd |= E1000_EECD_CS; /* Pull CS high */ -+ eecd &= ~E1000_EECD_SK; /* Lower SCK */ -+ -+ E1000_WRITE_REG(hw, EECD, eecd); -+ -+ udelay(hw->eeprom.delay_usec); -+ } else if(hw->eeprom.type == e1000_eeprom_microwire) { -+ /* cleanup eeprom */ -+ -+ /* CS on Microwire is active-high */ -+ eecd &= ~(E1000_EECD_CS | E1000_EECD_DI); -+ -+ E1000_WRITE_REG(hw, EECD, eecd); -+ -+ /* Rising edge of clock */ -+ eecd |= E1000_EECD_SK; -+ E1000_WRITE_REG(hw, EECD, eecd); -+ E1000_WRITE_FLUSH(hw); -+ udelay(hw->eeprom.delay_usec); -+ -+ /* Falling edge of clock */ -+ eecd &= ~E1000_EECD_SK; -+ E1000_WRITE_REG(hw, EECD, eecd); -+ E1000_WRITE_FLUSH(hw); -+ udelay(hw->eeprom.delay_usec); -+ } -+ -+ /* Stop requesting EEPROM access */ -+ if(hw->mac_type > e1000_82544) { -+ eecd &= ~E1000_EECD_REQ; -+ E1000_WRITE_REG(hw, EECD, eecd); -+ } -+} -+ -+/****************************************************************************** -+ * Reads a 16 bit word from the EEPROM. -+ * -+ * hw - Struct containing variables accessed by shared code -+ *****************************************************************************/ -+static int32_t -+e1000_spi_eeprom_ready(struct e1000_hw *hw) -+{ -+ uint16_t retry_count = 0; -+ uint8_t spi_stat_reg; -+ -+ /* Read "Status Register" repeatedly until the LSB is cleared. The -+ * EEPROM will signal that the command has been completed by clearing -+ * bit 0 of the internal status register. If it's not cleared within -+ * 5 milliseconds, then error out. -+ */ -+ retry_count = 0; -+ do { -+ e1000_shift_out_ee_bits(hw, EEPROM_RDSR_OPCODE_SPI, -+ hw->eeprom.opcode_bits); -+ spi_stat_reg = (uint8_t)e1000_shift_in_ee_bits(hw, 8); -+ if (!(spi_stat_reg & EEPROM_STATUS_RDY_SPI)) -+ break; -+ -+ udelay(5); -+ retry_count += 5; -+ -+ } while(retry_count < EEPROM_MAX_RETRY_SPI); -+ -+ /* ATMEL SPI write time could vary from 0-20mSec on 3.3V devices (and -+ * only 0-5mSec on 5V devices) -+ */ -+ if(retry_count >= EEPROM_MAX_RETRY_SPI) { -+ DEBUGOUT("SPI EEPROM Status error\n"); -+ return -E1000_ERR_EEPROM; -+ } -+ -+ return E1000_SUCCESS; -+} -+ -+/****************************************************************************** -+ * Reads a 16 bit word from the EEPROM. -+ * -+ * hw - Struct containing variables accessed by shared code -+ * offset - offset of word in the EEPROM to read -+ * data - word read from the EEPROM -+ * words - number of words to read -+ *****************************************************************************/ -+static int -+e1000_read_eeprom(struct e1000_hw *hw, -+ uint16_t offset, -+ uint16_t words, -+ uint16_t *data) -+{ -+ struct e1000_eeprom_info *eeprom = &hw->eeprom; -+ uint32_t i = 0; -+ -+ DEBUGFUNC("e1000_read_eeprom"); -+ -+ /* A check for invalid values: offset too large, too many words, and not -+ * enough words. -+ */ -+ if((offset > eeprom->word_size) || (words > eeprom->word_size - offset) || -+ (words == 0)) { -+ DEBUGOUT("\"words\" parameter out of bounds\n"); -+ return -E1000_ERR_EEPROM; -+ } -+ -+ /* Prepare the EEPROM for reading */ -+ if(e1000_acquire_eeprom(hw) != E1000_SUCCESS) -+ return -E1000_ERR_EEPROM; -+ -+ if(eeprom->type == e1000_eeprom_spi) { -+ uint16_t word_in; -+ uint8_t read_opcode = EEPROM_READ_OPCODE_SPI; -+ -+ if(e1000_spi_eeprom_ready(hw)) { -+ e1000_release_eeprom(hw); -+ return -E1000_ERR_EEPROM; -+ } -+ -+ e1000_standby_eeprom(hw); -+ -+ /* Some SPI eeproms use the 8th address bit embedded in the opcode */ -+ if((eeprom->address_bits == 8) && (offset >= 128)) -+ read_opcode |= EEPROM_A8_OPCODE_SPI; -+ -+ /* Send the READ command (opcode + addr) */ -+ e1000_shift_out_ee_bits(hw, read_opcode, eeprom->opcode_bits); -+ e1000_shift_out_ee_bits(hw, (uint16_t)(offset*2), eeprom->address_bits); -+ -+ /* Read the data. The address of the eeprom internally increments with -+ * each byte (spi) being read, saving on the overhead of eeprom setup -+ * and tear-down. The address counter will roll over if reading beyond -+ * the size of the eeprom, thus allowing the entire memory to be read -+ * starting from any offset. */ -+ for (i = 0; i < words; i++) { -+ word_in = e1000_shift_in_ee_bits(hw, 16); -+ data[i] = (word_in >> 8) | (word_in << 8); -+ } -+ } else if(eeprom->type == e1000_eeprom_microwire) { -+ for (i = 0; i < words; i++) { -+ /* Send the READ command (opcode + addr) */ -+ e1000_shift_out_ee_bits(hw, EEPROM_READ_OPCODE_MICROWIRE, -+ eeprom->opcode_bits); -+ e1000_shift_out_ee_bits(hw, (uint16_t)(offset + i), -+ eeprom->address_bits); -+ -+ /* Read the data. For microwire, each word requires the overhead -+ * of eeprom setup and tear-down. */ -+ data[i] = e1000_shift_in_ee_bits(hw, 16); -+ e1000_standby_eeprom(hw); -+ } -+ } -+ -+ /* End this read operation */ -+ e1000_release_eeprom(hw); -+ -+ return E1000_SUCCESS; -+} -+ -+/****************************************************************************** -+ * Verifies that the EEPROM has a valid checksum -+ * -+ * hw - Struct containing variables accessed by shared code -+ * -+ * Reads the first 64 16 bit words of the EEPROM and sums the values read. -+ * If the the sum of the 64 16 bit words is 0xBABA, the EEPROM's checksum is -+ * valid. -+ *****************************************************************************/ -+static int -+e1000_validate_eeprom_checksum(struct e1000_hw *hw) -+{ -+ uint16_t checksum = 0; -+ uint16_t i, eeprom_data; -+ -+ DEBUGFUNC("e1000_validate_eeprom_checksum"); -+ -+ for(i = 0; i < (EEPROM_CHECKSUM_REG + 1); i++) { -+ if(e1000_read_eeprom(hw, i, 1, &eeprom_data) < 0) { -+ DEBUGOUT("EEPROM Read Error\n"); -+ return -E1000_ERR_EEPROM; -+ } -+ checksum += eeprom_data; -+ } -+ -+ if(checksum == (uint16_t) EEPROM_SUM) -+ return E1000_SUCCESS; -+ else { -+ DEBUGOUT("EEPROM Checksum Invalid\n"); -+ return -E1000_ERR_EEPROM; -+ } -+} -+ -+/****************************************************************************** -+ * Reads the adapter's MAC address from the EEPROM and inverts the LSB for the -+ * second function of dual function devices -+ * -+ * hw - Struct containing variables accessed by shared code -+ *****************************************************************************/ -+static int -+e1000_read_mac_addr(struct e1000_hw *hw) -+{ -+ uint16_t offset; -+ uint16_t eeprom_data; -+ int i; -+ -+ DEBUGFUNC("e1000_read_mac_addr"); -+ -+ for(i = 0; i < NODE_ADDRESS_SIZE; i += 2) { -+ offset = i >> 1; -+ if(e1000_read_eeprom(hw, offset, 1, &eeprom_data) < 0) { -+ DEBUGOUT("EEPROM Read Error\n"); -+ return -E1000_ERR_EEPROM; -+ } -+ hw->mac_addr[i] = eeprom_data & 0xff; -+ hw->mac_addr[i+1] = (eeprom_data >> 8) & 0xff; -+ } -+ if(((hw->mac_type == e1000_82546) || (hw->mac_type == e1000_82546_rev_3)) && -+ (E1000_READ_REG(hw, STATUS) & E1000_STATUS_FUNC_1)) -+ /* Invert the last bit if this is the second device */ -+ hw->mac_addr[5] ^= 1; -+ return E1000_SUCCESS; -+} -+ -+/****************************************************************************** -+ * Initializes receive address filters. -+ * -+ * hw - Struct containing variables accessed by shared code -+ * -+ * Places the MAC address in receive address register 0 and clears the rest -+ * of the receive addresss registers. Clears the multicast table. Assumes -+ * the receiver is in reset when the routine is called. -+ *****************************************************************************/ -+static void -+e1000_init_rx_addrs(struct e1000_hw *hw) -+{ -+ uint32_t i; -+ uint32_t addr_low; -+ uint32_t addr_high; -+ -+ DEBUGFUNC("e1000_init_rx_addrs"); -+ -+ /* Setup the receive address. */ -+ DEBUGOUT("Programming MAC Address into RAR[0]\n"); -+ addr_low = (hw->mac_addr[0] | -+ (hw->mac_addr[1] << 8) | -+ (hw->mac_addr[2] << 16) | (hw->mac_addr[3] << 24)); -+ -+ addr_high = (hw->mac_addr[4] | -+ (hw->mac_addr[5] << 8) | E1000_RAH_AV); -+ -+ E1000_WRITE_REG_ARRAY(hw, RA, 0, addr_low); -+ E1000_WRITE_REG_ARRAY(hw, RA, 1, addr_high); -+ -+ /* Zero out the other 15 receive addresses. */ -+ DEBUGOUT("Clearing RAR[1-15]\n"); -+ for(i = 1; i < E1000_RAR_ENTRIES; i++) { -+ E1000_WRITE_REG_ARRAY(hw, RA, (i << 1), 0); -+ E1000_WRITE_REG_ARRAY(hw, RA, ((i << 1) + 1), 0); -+ } -+} -+ -+/****************************************************************************** -+ * Clears the VLAN filer table -+ * -+ * hw - Struct containing variables accessed by shared code -+ *****************************************************************************/ -+static void -+e1000_clear_vfta(struct e1000_hw *hw) -+{ -+ uint32_t offset; -+ -+ for(offset = 0; offset < E1000_VLAN_FILTER_TBL_SIZE; offset++) -+ E1000_WRITE_REG_ARRAY(hw, VFTA, offset, 0); -+} -+ -+/****************************************************************************** -+* Writes a value to one of the devices registers using port I/O (as opposed to -+* memory mapped I/O). Only 82544 and newer devices support port I/O. * -+* hw - Struct containing variables accessed by shared code -+* offset - offset to write to * value - value to write -+*****************************************************************************/ -+void e1000_write_reg_io(struct e1000_hw *hw, uint32_t offset, uint32_t value){ -+ uint32_t io_addr = hw->io_base; -+ uint32_t io_data = hw->io_base + 4; -+ e1000_io_write(hw, io_addr, offset); -+ e1000_io_write(hw, io_data, value); -+} -+ -+/****************************************************************************** -+ * Set the phy type member in the hw struct. -+ * -+ * hw - Struct containing variables accessed by shared code -+ *****************************************************************************/ -+static int32_t -+e1000_set_phy_type(struct e1000_hw *hw) -+{ -+ DEBUGFUNC("e1000_set_phy_type"); -+ -+ switch(hw->phy_id) { -+ case M88E1000_E_PHY_ID: -+ case M88E1000_I_PHY_ID: -+ case M88E1011_I_PHY_ID: -+ hw->phy_type = e1000_phy_m88; -+ break; -+ case IGP01E1000_I_PHY_ID: -+ hw->phy_type = e1000_phy_igp; -+ break; -+ default: -+ /* Should never have loaded on this device */ -+ hw->phy_type = e1000_phy_undefined; -+ return -E1000_ERR_PHY_TYPE; -+ } -+ -+ return E1000_SUCCESS; -+} -+ -+/****************************************************************************** -+ * IGP phy init script - initializes the GbE PHY -+ * -+ * hw - Struct containing variables accessed by shared code -+ *****************************************************************************/ -+static void -+e1000_phy_init_script(struct e1000_hw *hw) -+{ -+ DEBUGFUNC("e1000_phy_init_script"); -+ -+#if 0 -+ /* See e1000_sw_init() of the Linux driver */ -+ if(hw->phy_init_script) { -+#else -+ if((hw->mac_type == e1000_82541) || -+ (hw->mac_type == e1000_82547) || -+ (hw->mac_type == e1000_82541_rev_2) || -+ (hw->mac_type == e1000_82547_rev_2)) { -+#endif -+ mdelay(20); -+ -+ e1000_write_phy_reg(hw,0x0000,0x0140); -+ -+ mdelay(5); -+ -+ if(hw->mac_type == e1000_82541 || hw->mac_type == e1000_82547) { -+ e1000_write_phy_reg(hw, 0x1F95, 0x0001); -+ -+ e1000_write_phy_reg(hw, 0x1F71, 0xBD21); -+ -+ e1000_write_phy_reg(hw, 0x1F79, 0x0018); -+ -+ e1000_write_phy_reg(hw, 0x1F30, 0x1600); -+ -+ e1000_write_phy_reg(hw, 0x1F31, 0x0014); -+ -+ e1000_write_phy_reg(hw, 0x1F32, 0x161C); -+ -+ e1000_write_phy_reg(hw, 0x1F94, 0x0003); -+ -+ e1000_write_phy_reg(hw, 0x1F96, 0x003F); -+ -+ e1000_write_phy_reg(hw, 0x2010, 0x0008); -+ } else { -+ e1000_write_phy_reg(hw, 0x1F73, 0x0099); -+ } -+ -+ e1000_write_phy_reg(hw, 0x0000, 0x3300); -+ -+ -+ if(hw->mac_type == e1000_82547) { -+ uint16_t fused, fine, coarse; -+ -+ /* Move to analog registers page */ -+ e1000_read_phy_reg(hw, IGP01E1000_ANALOG_SPARE_FUSE_STATUS, &fused); -+ -+ if(!(fused & IGP01E1000_ANALOG_SPARE_FUSE_ENABLED)) { -+ e1000_read_phy_reg(hw, IGP01E1000_ANALOG_FUSE_STATUS, &fused); -+ -+ fine = fused & IGP01E1000_ANALOG_FUSE_FINE_MASK; -+ coarse = fused & IGP01E1000_ANALOG_FUSE_COARSE_MASK; -+ -+ if(coarse > IGP01E1000_ANALOG_FUSE_COARSE_THRESH) { -+ coarse -= IGP01E1000_ANALOG_FUSE_COARSE_10; -+ fine -= IGP01E1000_ANALOG_FUSE_FINE_1; -+ } else if(coarse == IGP01E1000_ANALOG_FUSE_COARSE_THRESH) -+ fine -= IGP01E1000_ANALOG_FUSE_FINE_10; -+ -+ fused = (fused & IGP01E1000_ANALOG_FUSE_POLY_MASK) | -+ (fine & IGP01E1000_ANALOG_FUSE_FINE_MASK) | -+ (coarse & IGP01E1000_ANALOG_FUSE_COARSE_MASK); -+ -+ e1000_write_phy_reg(hw, IGP01E1000_ANALOG_FUSE_CONTROL, fused); -+ e1000_write_phy_reg(hw, IGP01E1000_ANALOG_FUSE_BYPASS, -+ IGP01E1000_ANALOG_FUSE_ENABLE_SW_CONTROL); -+ } -+ } -+ } -+} -+ -+/****************************************************************************** -+ * Set the mac type member in the hw struct. -+ * -+ * hw - Struct containing variables accessed by shared code -+ *****************************************************************************/ -+static int -+e1000_set_mac_type(struct e1000_hw *hw) -+{ -+ DEBUGFUNC("e1000_set_mac_type"); -+ -+ switch (hw->device_id) { -+ case E1000_DEV_ID_82542: -+ switch (hw->revision_id) { -+ case E1000_82542_2_0_REV_ID: -+ hw->mac_type = e1000_82542_rev2_0; -+ break; -+ case E1000_82542_2_1_REV_ID: -+ hw->mac_type = e1000_82542_rev2_1; -+ break; -+ default: -+ /* Invalid 82542 revision ID */ -+ return -E1000_ERR_MAC_TYPE; -+ } -+ break; -+ case E1000_DEV_ID_82543GC_FIBER: -+ case E1000_DEV_ID_82543GC_COPPER: -+ hw->mac_type = e1000_82543; -+ break; -+ case E1000_DEV_ID_82544EI_COPPER: -+ case E1000_DEV_ID_82544EI_FIBER: -+ case E1000_DEV_ID_82544GC_COPPER: -+ case E1000_DEV_ID_82544GC_LOM: -+ hw->mac_type = e1000_82544; -+ break; -+ case E1000_DEV_ID_82540EM: -+ case E1000_DEV_ID_82540EM_LOM: -+ case E1000_DEV_ID_82540EP: -+ case E1000_DEV_ID_82540EP_LOM: -+ case E1000_DEV_ID_82540EP_LP: -+ hw->mac_type = e1000_82540; -+ break; -+ case E1000_DEV_ID_82545EM_COPPER: -+ case E1000_DEV_ID_82545EM_FIBER: -+ hw->mac_type = e1000_82545; -+ break; -+ case E1000_DEV_ID_82545GM_COPPER: -+ case E1000_DEV_ID_82545GM_FIBER: -+ case E1000_DEV_ID_82545GM_SERDES: -+ hw->mac_type = e1000_82545_rev_3; -+ break; -+ case E1000_DEV_ID_82546EB_COPPER: -+ case E1000_DEV_ID_82546EB_FIBER: -+ case E1000_DEV_ID_82546EB_QUAD_COPPER: -+ hw->mac_type = e1000_82546; -+ break; -+ case E1000_DEV_ID_82546GB_COPPER: -+ case E1000_DEV_ID_82546GB_FIBER: -+ case E1000_DEV_ID_82546GB_SERDES: -+ hw->mac_type = e1000_82546_rev_3; -+ break; -+ case E1000_DEV_ID_82541EI: -+ case E1000_DEV_ID_82541EI_MOBILE: -+ hw->mac_type = e1000_82541; -+ break; -+ case E1000_DEV_ID_82541ER: -+ case E1000_DEV_ID_82541GI: -+ case E1000_DEV_ID_82541GI_MOBILE: -+ hw->mac_type = e1000_82541_rev_2; -+ break; -+ case E1000_DEV_ID_82547EI: -+ hw->mac_type = e1000_82547; -+ break; -+ case E1000_DEV_ID_82547GI: -+ hw->mac_type = e1000_82547_rev_2; -+ break; -+ default: -+ /* Should never have loaded on this device */ -+ return -E1000_ERR_MAC_TYPE; -+ } -+ -+ return E1000_SUCCESS; -+} -+ -+/***************************************************************************** -+ * Set media type and TBI compatibility. -+ * -+ * hw - Struct containing variables accessed by shared code -+ * **************************************************************************/ -+static void -+e1000_set_media_type(struct e1000_hw *hw) -+{ -+ uint32_t status; -+ -+ DEBUGFUNC("e1000_set_media_type"); -+ -+ if(hw->mac_type != e1000_82543) { -+ /* tbi_compatibility is only valid on 82543 */ -+ hw->tbi_compatibility_en = FALSE; -+ } -+ -+ switch (hw->device_id) { -+ case E1000_DEV_ID_82545GM_SERDES: -+ case E1000_DEV_ID_82546GB_SERDES: -+ hw->media_type = e1000_media_type_internal_serdes; -+ break; -+ default: -+ if(hw->mac_type >= e1000_82543) { -+ status = E1000_READ_REG(hw, STATUS); -+ if(status & E1000_STATUS_TBIMODE) { -+ hw->media_type = e1000_media_type_fiber; -+ /* tbi_compatibility not valid on fiber */ -+ hw->tbi_compatibility_en = FALSE; -+ } else { -+ hw->media_type = e1000_media_type_copper; -+ } -+ } else { -+ /* This is an 82542 (fiber only) */ -+ hw->media_type = e1000_media_type_fiber; -+ } -+ } -+} -+ -+/****************************************************************************** -+ * Reset the transmit and receive units; mask and clear all interrupts. -+ * -+ * hw - Struct containing variables accessed by shared code -+ *****************************************************************************/ -+static void -+e1000_reset_hw(struct e1000_hw *hw) -+{ -+ uint32_t ctrl; -+ uint32_t ctrl_ext; -+ uint32_t icr; -+ uint32_t manc; -+ -+ DEBUGFUNC("e1000_reset_hw"); -+ -+ /* For 82542 (rev 2.0), disable MWI before issuing a device reset */ -+ if(hw->mac_type == e1000_82542_rev2_0) { -+ DEBUGOUT("Disabling MWI on 82542 rev 2.0\n"); -+ e1000_pci_clear_mwi(hw); -+ } -+ -+ /* Clear interrupt mask to stop board from generating interrupts */ -+ DEBUGOUT("Masking off all interrupts\n"); -+ E1000_WRITE_REG(hw, IMC, 0xffffffff); -+ -+ /* Disable the Transmit and Receive units. Then delay to allow -+ * any pending transactions to complete before we hit the MAC with -+ * the global reset. -+ */ -+ E1000_WRITE_REG(hw, RCTL, 0); -+ E1000_WRITE_REG(hw, TCTL, E1000_TCTL_PSP); -+ E1000_WRITE_FLUSH(hw); -+ -+ /* The tbi_compatibility_on Flag must be cleared when Rctl is cleared. */ -+ hw->tbi_compatibility_on = FALSE; -+ -+ /* Delay to allow any outstanding PCI transactions to complete before -+ * resetting the device -+ */ -+ mdelay(10); -+ -+ ctrl = E1000_READ_REG(hw, CTRL); -+ -+ /* Must reset the PHY before resetting the MAC */ -+ if((hw->mac_type == e1000_82541) || (hw->mac_type == e1000_82547)) { -+ E1000_WRITE_REG_IO(hw, CTRL, (ctrl | E1000_CTRL_PHY_RST)); -+ mdelay(5); -+ } -+ -+ /* Issue a global reset to the MAC. This will reset the chip's -+ * transmit, receive, DMA, and link units. It will not effect -+ * the current PCI configuration. The global reset bit is self- -+ * clearing, and should clear within a microsecond. -+ */ -+ DEBUGOUT("Issuing a global reset to MAC\n"); -+ -+ switch(hw->mac_type) { -+ case e1000_82544: -+ case e1000_82540: -+ case e1000_82545: -+ case e1000_82546: -+ case e1000_82541: -+ case e1000_82541_rev_2: -+ /* These controllers can't ack the 64-bit write when issuing the -+ * reset, so use IO-mapping as a workaround to issue the reset */ -+ E1000_WRITE_REG_IO(hw, CTRL, (ctrl | E1000_CTRL_RST)); -+ break; -+ case e1000_82545_rev_3: -+ case e1000_82546_rev_3: -+ /* Reset is performed on a shadow of the control register */ -+ E1000_WRITE_REG(hw, CTRL_DUP, (ctrl | E1000_CTRL_RST)); -+ break; -+ default: -+ E1000_WRITE_REG(hw, CTRL, (ctrl | E1000_CTRL_RST)); -+ break; -+ } -+ -+ /* After MAC reset, force reload of EEPROM to restore power-on settings to -+ * device. Later controllers reload the EEPROM automatically, so just wait -+ * for reload to complete. -+ */ -+ switch(hw->mac_type) { -+ case e1000_82542_rev2_0: -+ case e1000_82542_rev2_1: -+ case e1000_82543: -+ case e1000_82544: -+ /* Wait for reset to complete */ -+ udelay(10); -+ ctrl_ext = E1000_READ_REG(hw, CTRL_EXT); -+ ctrl_ext |= E1000_CTRL_EXT_EE_RST; -+ E1000_WRITE_REG(hw, CTRL_EXT, ctrl_ext); -+ E1000_WRITE_FLUSH(hw); -+ /* Wait for EEPROM reload */ -+ mdelay(2); -+ break; -+ case e1000_82541: -+ case e1000_82541_rev_2: -+ case e1000_82547: -+ case e1000_82547_rev_2: -+ /* Wait for EEPROM reload */ -+ mdelay(20); -+ break; -+ default: -+ /* Wait for EEPROM reload (it happens automatically) */ -+ mdelay(5); -+ break; -+ } -+ -+ /* Disable HW ARPs on ASF enabled adapters */ -+ if(hw->mac_type >= e1000_82540) { -+ manc = E1000_READ_REG(hw, MANC); -+ manc &= ~(E1000_MANC_ARP_EN); -+ E1000_WRITE_REG(hw, MANC, manc); -+ } -+ -+ if((hw->mac_type == e1000_82541) || (hw->mac_type == e1000_82547)) { -+ e1000_phy_init_script(hw); -+ } -+ -+ /* Clear interrupt mask to stop board from generating interrupts */ -+ DEBUGOUT("Masking off all interrupts\n"); -+ E1000_WRITE_REG(hw, IMC, 0xffffffff); -+ -+ /* Clear any pending interrupt events. */ -+ icr = E1000_READ_REG(hw, ICR); -+ -+ /* If MWI was previously enabled, reenable it. */ -+ if(hw->mac_type == e1000_82542_rev2_0) { -+#ifdef LINUX_DRIVER -+ if(hw->pci_cmd_word & CMD_MEM_WRT_INVALIDATE) -+#endif -+ e1000_pci_set_mwi(hw); -+ } -+} -+ -+/****************************************************************************** -+ * Performs basic configuration of the adapter. -+ * -+ * hw - Struct containing variables accessed by shared code -+ * -+ * Assumes that the controller has previously been reset and is in a -+ * post-reset uninitialized state. Initializes the receive address registers, -+ * multicast table, and VLAN filter table. Calls routines to setup link -+ * configuration and flow control settings. Clears all on-chip counters. Leaves -+ * the transmit and receive units disabled and uninitialized. -+ *****************************************************************************/ -+static int -+e1000_init_hw(struct e1000_hw *hw) -+{ -+ uint32_t ctrl, status; -+ uint32_t i; -+ int32_t ret_val; -+ uint16_t pcix_cmd_word; -+ uint16_t pcix_stat_hi_word; -+ uint16_t cmd_mmrbc; -+ uint16_t stat_mmrbc; -+ e1000_bus_type bus_type = e1000_bus_type_unknown; -+ -+ DEBUGFUNC("e1000_init_hw"); -+ -+ /* Set the media type and TBI compatibility */ -+ e1000_set_media_type(hw); -+ -+ /* Disabling VLAN filtering. */ -+ DEBUGOUT("Initializing the IEEE VLAN\n"); -+ E1000_WRITE_REG(hw, VET, 0); -+ -+ e1000_clear_vfta(hw); -+ -+ /* For 82542 (rev 2.0), disable MWI and put the receiver into reset */ -+ if(hw->mac_type == e1000_82542_rev2_0) { -+ DEBUGOUT("Disabling MWI on 82542 rev 2.0\n"); -+ e1000_pci_clear_mwi(hw); -+ E1000_WRITE_REG(hw, RCTL, E1000_RCTL_RST); -+ E1000_WRITE_FLUSH(hw); -+ mdelay(5); -+ } -+ -+ /* Setup the receive address. This involves initializing all of the Receive -+ * Address Registers (RARs 0 - 15). -+ */ -+ e1000_init_rx_addrs(hw); -+ -+ /* For 82542 (rev 2.0), take the receiver out of reset and enable MWI */ -+ if(hw->mac_type == e1000_82542_rev2_0) { -+ E1000_WRITE_REG(hw, RCTL, 0); -+ E1000_WRITE_FLUSH(hw); -+ mdelay(1); -+#ifdef LINUX_DRIVER -+ if(hw->pci_cmd_word & CMD_MEM_WRT_INVALIDATE) -+#endif -+ e1000_pci_set_mwi(hw); -+ } -+ -+ /* Zero out the Multicast HASH table */ -+ DEBUGOUT("Zeroing the MTA\n"); -+ for(i = 0; i < E1000_MC_TBL_SIZE; i++) -+ E1000_WRITE_REG_ARRAY(hw, MTA, i, 0); -+ -+#if 0 -+ /* Set the PCI priority bit correctly in the CTRL register. This -+ * determines if the adapter gives priority to receives, or if it -+ * gives equal priority to transmits and receives. -+ */ -+ if(hw->dma_fairness) { -+ ctrl = E1000_READ_REG(hw, CTRL); -+ E1000_WRITE_REG(hw, CTRL, ctrl | E1000_CTRL_PRIOR); -+ } -+#endif -+ -+ switch(hw->mac_type) { -+ case e1000_82545_rev_3: -+ case e1000_82546_rev_3: -+ break; -+ default: -+ if (hw->mac_type >= e1000_82543) { -+ /* See e1000_get_bus_info() of the Linux driver */ -+ status = E1000_READ_REG(hw, STATUS); -+ bus_type = (status & E1000_STATUS_PCIX_MODE) ? -+ e1000_bus_type_pcix : e1000_bus_type_pci; -+ } -+ -+ /* Workaround for PCI-X problem when BIOS sets MMRBC incorrectly. */ -+ if(bus_type == e1000_bus_type_pcix) { -+ pci_read_config_word(hw->pdev, PCIX_COMMAND_REGISTER, &pcix_cmd_word); -+ pci_read_config_word(hw->pdev, PCIX_STATUS_REGISTER_HI, &pcix_stat_hi_word); -+ cmd_mmrbc = (pcix_cmd_word & PCIX_COMMAND_MMRBC_MASK) >> -+ PCIX_COMMAND_MMRBC_SHIFT; -+ stat_mmrbc = (pcix_stat_hi_word & PCIX_STATUS_HI_MMRBC_MASK) >> -+ PCIX_STATUS_HI_MMRBC_SHIFT; -+ if(stat_mmrbc == PCIX_STATUS_HI_MMRBC_4K) -+ stat_mmrbc = PCIX_STATUS_HI_MMRBC_2K; -+ if(cmd_mmrbc > stat_mmrbc) { -+ pcix_cmd_word &= ~PCIX_COMMAND_MMRBC_MASK; -+ pcix_cmd_word |= stat_mmrbc << PCIX_COMMAND_MMRBC_SHIFT; -+ pci_write_config_word(hw->pdev, PCIX_COMMAND_REGISTER, pcix_cmd_word); -+ } -+ } -+ break; -+ } -+ -+ /* Call a subroutine to configure the link and setup flow control. */ -+ ret_val = e1000_setup_link(hw); -+ -+ /* Set the transmit descriptor write-back policy */ -+ if(hw->mac_type > e1000_82544) { -+ ctrl = E1000_READ_REG(hw, TXDCTL); -+ ctrl = (ctrl & ~E1000_TXDCTL_WTHRESH) | E1000_TXDCTL_FULL_TX_DESC_WB; -+ E1000_WRITE_REG(hw, TXDCTL, ctrl); -+ } -+ -+#if 0 -+ /* Clear all of the statistics registers (clear on read). It is -+ * important that we do this after we have tried to establish link -+ * because the symbol error count will increment wildly if there -+ * is no link. -+ */ -+ e1000_clear_hw_cntrs(hw); -+#endif -+ -+ return ret_val; -+} -+ -+/****************************************************************************** -+ * Adjust SERDES output amplitude based on EEPROM setting. -+ * -+ * hw - Struct containing variables accessed by shared code. -+ *****************************************************************************/ -+static int32_t -+e1000_adjust_serdes_amplitude(struct e1000_hw *hw) -+{ -+ uint16_t eeprom_data; -+ int32_t ret_val; -+ -+ DEBUGFUNC("e1000_adjust_serdes_amplitude"); -+ -+ if(hw->media_type != e1000_media_type_internal_serdes) -+ return E1000_SUCCESS; -+ -+ switch(hw->mac_type) { -+ case e1000_82545_rev_3: -+ case e1000_82546_rev_3: -+ break; -+ default: -+ return E1000_SUCCESS; -+ } -+ -+ if ((ret_val = e1000_read_eeprom(hw, EEPROM_SERDES_AMPLITUDE, 1, -+ &eeprom_data))) { -+ return ret_val; -+ } -+ -+ if(eeprom_data != EEPROM_RESERVED_WORD) { -+ /* Adjust SERDES output amplitude only. */ -+ eeprom_data &= EEPROM_SERDES_AMPLITUDE_MASK; -+ if((ret_val = e1000_write_phy_reg(hw, M88E1000_PHY_EXT_CTRL, -+ eeprom_data))) -+ return ret_val; -+ } -+ -+ return E1000_SUCCESS; -+} -+ -+/****************************************************************************** -+ * Configures flow control and link settings. -+ * -+ * hw - Struct containing variables accessed by shared code -+ * -+ * Determines which flow control settings to use. Calls the apropriate media- -+ * specific link configuration function. Configures the flow control settings. -+ * Assuming the adapter has a valid link partner, a valid link should be -+ * established. Assumes the hardware has previously been reset and the -+ * transmitter and receiver are not enabled. -+ *****************************************************************************/ -+static int -+e1000_setup_link(struct e1000_hw *hw) -+{ -+ uint32_t ctrl_ext; -+ int32_t ret_val; -+ uint16_t eeprom_data; -+ -+ DEBUGFUNC("e1000_setup_link"); -+ -+ /* Read and store word 0x0F of the EEPROM. This word contains bits -+ * that determine the hardware's default PAUSE (flow control) mode, -+ * a bit that determines whether the HW defaults to enabling or -+ * disabling auto-negotiation, and the direction of the -+ * SW defined pins. If there is no SW over-ride of the flow -+ * control setting, then the variable hw->fc will -+ * be initialized based on a value in the EEPROM. -+ */ -+ if(e1000_read_eeprom(hw, EEPROM_INIT_CONTROL2_REG, 1, &eeprom_data) < 0) { -+ DEBUGOUT("EEPROM Read Error\n"); -+ return -E1000_ERR_EEPROM; -+ } -+ -+ if(hw->fc == e1000_fc_default) { -+ if((eeprom_data & EEPROM_WORD0F_PAUSE_MASK) == 0) -+ hw->fc = e1000_fc_none; -+ else if((eeprom_data & EEPROM_WORD0F_PAUSE_MASK) == -+ EEPROM_WORD0F_ASM_DIR) -+ hw->fc = e1000_fc_tx_pause; -+ else -+ hw->fc = e1000_fc_full; -+ } -+ -+ /* We want to save off the original Flow Control configuration just -+ * in case we get disconnected and then reconnected into a different -+ * hub or switch with different Flow Control capabilities. -+ */ -+ if(hw->mac_type == e1000_82542_rev2_0) -+ hw->fc &= (~e1000_fc_tx_pause); -+ -+#if 0 -+ /* See e1000_sw_init() of the Linux driver */ -+ if((hw->mac_type < e1000_82543) && (hw->report_tx_early == 1)) -+#else -+ if((hw->mac_type < e1000_82543) && (hw->mac_type >= e1000_82543)) -+#endif -+ hw->fc &= (~e1000_fc_rx_pause); -+ -+#if 0 -+ hw->original_fc = hw->fc; -+#endif -+ -+ DEBUGOUT1("After fix-ups FlowControl is now = %x\n", hw->fc); -+ -+ /* Take the 4 bits from EEPROM word 0x0F that determine the initial -+ * polarity value for the SW controlled pins, and setup the -+ * Extended Device Control reg with that info. -+ * This is needed because one of the SW controlled pins is used for -+ * signal detection. So this should be done before e1000_setup_pcs_link() -+ * or e1000_phy_setup() is called. -+ */ -+ if(hw->mac_type == e1000_82543) { -+ ctrl_ext = ((eeprom_data & EEPROM_WORD0F_SWPDIO_EXT) << -+ SWDPIO__EXT_SHIFT); -+ E1000_WRITE_REG(hw, CTRL_EXT, ctrl_ext); -+ } -+ -+ /* Call the necessary subroutine to configure the link. */ -+ ret_val = (hw->media_type == e1000_media_type_copper) ? -+ e1000_setup_copper_link(hw) : -+ e1000_setup_fiber_serdes_link(hw); -+ if (ret_val < 0) { -+ return ret_val; -+ } -+ -+ /* Initialize the flow control address, type, and PAUSE timer -+ * registers to their default values. This is done even if flow -+ * control is disabled, because it does not hurt anything to -+ * initialize these registers. -+ */ -+ DEBUGOUT("Initializing the Flow Control address, type and timer regs\n"); -+ -+ E1000_WRITE_REG(hw, FCAL, FLOW_CONTROL_ADDRESS_LOW); -+ E1000_WRITE_REG(hw, FCAH, FLOW_CONTROL_ADDRESS_HIGH); -+ E1000_WRITE_REG(hw, FCT, FLOW_CONTROL_TYPE); -+#if 0 -+ E1000_WRITE_REG(hw, FCTTV, hw->fc_pause_time); -+#else -+ E1000_WRITE_REG(hw, FCTTV, FC_DEFAULT_TX_TIMER); -+#endif -+ -+ /* Set the flow control receive threshold registers. Normally, -+ * these registers will be set to a default threshold that may be -+ * adjusted later by the driver's runtime code. However, if the -+ * ability to transmit pause frames in not enabled, then these -+ * registers will be set to 0. -+ */ -+ if(!(hw->fc & e1000_fc_tx_pause)) { -+ E1000_WRITE_REG(hw, FCRTL, 0); -+ E1000_WRITE_REG(hw, FCRTH, 0); -+ } else { -+ /* We need to set up the Receive Threshold high and low water marks -+ * as well as (optionally) enabling the transmission of XON frames. -+ */ -+#if 0 -+ if(hw->fc_send_xon) { -+ E1000_WRITE_REG(hw, FCRTL, (hw->fc_low_water | E1000_FCRTL_XONE)); -+ E1000_WRITE_REG(hw, FCRTH, hw->fc_high_water); -+ } else { -+ E1000_WRITE_REG(hw, FCRTL, hw->fc_low_water); -+ E1000_WRITE_REG(hw, FCRTH, hw->fc_high_water); -+ } -+#else -+ E1000_WRITE_REG(hw, FCRTL, (FC_DEFAULT_LO_THRESH | E1000_FCRTL_XONE)); -+ E1000_WRITE_REG(hw, FCRTH, FC_DEFAULT_HI_THRESH); -+#endif -+ } -+ return ret_val; -+} -+ -+/****************************************************************************** -+ * Sets up link for a fiber based or serdes based adapter -+ * -+ * hw - Struct containing variables accessed by shared code -+ * -+ * Manipulates Physical Coding Sublayer functions in order to configure -+ * link. Assumes the hardware has been previously reset and the transmitter -+ * and receiver are not enabled. -+ *****************************************************************************/ -+static int -+e1000_setup_fiber_serdes_link(struct e1000_hw *hw) -+{ -+ uint32_t ctrl; -+ uint32_t status; -+ uint32_t txcw = 0; -+ uint32_t i; -+ uint32_t signal = 0; -+ int32_t ret_val; -+ -+ DEBUGFUNC("e1000_setup_fiber_serdes_link"); -+ -+ /* On adapters with a MAC newer than 82544, SW Defineable pin 1 will be -+ * set when the optics detect a signal. On older adapters, it will be -+ * cleared when there is a signal. This applies to fiber media only. -+ * If we're on serdes media, adjust the output amplitude to value set in -+ * the EEPROM. -+ */ -+ ctrl = E1000_READ_REG(hw, CTRL); -+ if(hw->media_type == e1000_media_type_fiber) -+ signal = (hw->mac_type > e1000_82544) ? E1000_CTRL_SWDPIN1 : 0; -+ -+ if((ret_val = e1000_adjust_serdes_amplitude(hw))) -+ return ret_val; -+ -+ /* Take the link out of reset */ -+ ctrl &= ~(E1000_CTRL_LRST); -+ -+#if 0 -+ /* Adjust VCO speed to improve BER performance */ -+ if((ret_val = e1000_set_vco_speed(hw))) -+ return ret_val; -+#endif -+ -+ e1000_config_collision_dist(hw); -+ -+ /* Check for a software override of the flow control settings, and setup -+ * the device accordingly. If auto-negotiation is enabled, then software -+ * will have to set the "PAUSE" bits to the correct value in the Tranmsit -+ * Config Word Register (TXCW) and re-start auto-negotiation. However, if -+ * auto-negotiation is disabled, then software will have to manually -+ * configure the two flow control enable bits in the CTRL register. -+ * -+ * The possible values of the "fc" parameter are: -+ * 0: Flow control is completely disabled -+ * 1: Rx flow control is enabled (we can receive pause frames, but -+ * not send pause frames). -+ * 2: Tx flow control is enabled (we can send pause frames but we do -+ * not support receiving pause frames). -+ * 3: Both Rx and TX flow control (symmetric) are enabled. -+ */ -+ switch (hw->fc) { -+ case e1000_fc_none: -+ /* Flow control is completely disabled by a software over-ride. */ -+ txcw = (E1000_TXCW_ANE | E1000_TXCW_FD); -+ break; -+ case e1000_fc_rx_pause: -+ /* RX Flow control is enabled and TX Flow control is disabled by a -+ * software over-ride. Since there really isn't a way to advertise -+ * that we are capable of RX Pause ONLY, we will advertise that we -+ * support both symmetric and asymmetric RX PAUSE. Later, we will -+ * disable the adapter's ability to send PAUSE frames. -+ */ -+ txcw = (E1000_TXCW_ANE | E1000_TXCW_FD | E1000_TXCW_PAUSE_MASK); -+ break; -+ case e1000_fc_tx_pause: -+ /* TX Flow control is enabled, and RX Flow control is disabled, by a -+ * software over-ride. -+ */ -+ txcw = (E1000_TXCW_ANE | E1000_TXCW_FD | E1000_TXCW_ASM_DIR); -+ break; -+ case e1000_fc_full: -+ /* Flow control (both RX and TX) is enabled by a software over-ride. */ -+ txcw = (E1000_TXCW_ANE | E1000_TXCW_FD | E1000_TXCW_PAUSE_MASK); -+ break; -+ default: -+ DEBUGOUT("Flow control param set incorrectly\n"); -+ return -E1000_ERR_CONFIG; -+ break; -+ } -+ -+ /* Since auto-negotiation is enabled, take the link out of reset (the link -+ * will be in reset, because we previously reset the chip). This will -+ * restart auto-negotiation. If auto-neogtiation is successful then the -+ * link-up status bit will be set and the flow control enable bits (RFCE -+ * and TFCE) will be set according to their negotiated value. -+ */ -+ DEBUGOUT("Auto-negotiation enabled\n"); -+ -+ E1000_WRITE_REG(hw, TXCW, txcw); -+ E1000_WRITE_REG(hw, CTRL, ctrl); -+ E1000_WRITE_FLUSH(hw); -+ -+ hw->txcw = txcw; -+ mdelay(1); -+ -+ /* If we have a signal (the cable is plugged in) then poll for a "Link-Up" -+ * indication in the Device Status Register. Time-out if a link isn't -+ * seen in 500 milliseconds seconds (Auto-negotiation should complete in -+ * less than 500 milliseconds even if the other end is doing it in SW). -+ * For internal serdes, we just assume a signal is present, then poll. -+ */ -+ if(hw->media_type == e1000_media_type_internal_serdes || -+ (E1000_READ_REG(hw, CTRL) & E1000_CTRL_SWDPIN1) == signal) { -+ DEBUGOUT("Looking for Link\n"); -+ for(i = 0; i < (LINK_UP_TIMEOUT / 10); i++) { -+ mdelay(10); -+ status = E1000_READ_REG(hw, STATUS); -+ if(status & E1000_STATUS_LU) break; -+ } -+ if(i == (LINK_UP_TIMEOUT / 10)) { -+ DEBUGOUT("Never got a valid link from auto-neg!!!\n"); -+ hw->autoneg_failed = 1; -+ /* AutoNeg failed to achieve a link, so we'll call -+ * e1000_check_for_link. This routine will force the link up if -+ * we detect a signal. This will allow us to communicate with -+ * non-autonegotiating link partners. -+ */ -+ if((ret_val = e1000_check_for_link(hw))) { -+ DEBUGOUT("Error while checking for link\n"); -+ return ret_val; -+ } -+ hw->autoneg_failed = 0; -+ } else { -+ hw->autoneg_failed = 0; -+ DEBUGOUT("Valid Link Found\n"); -+ } -+ } else { -+ DEBUGOUT("No Signal Detected\n"); -+ } -+ return E1000_SUCCESS; -+} -+ -+/****************************************************************************** -+* Detects which PHY is present and the speed and duplex -+* -+* hw - Struct containing variables accessed by shared code -+******************************************************************************/ -+static int -+e1000_setup_copper_link(struct e1000_hw *hw) -+{ -+ uint32_t ctrl; -+ int32_t ret_val; -+ uint16_t i; -+ uint16_t phy_data; -+ -+ DEBUGFUNC("e1000_setup_copper_link"); -+ -+ ctrl = E1000_READ_REG(hw, CTRL); -+ /* With 82543, we need to force speed and duplex on the MAC equal to what -+ * the PHY speed and duplex configuration is. In addition, we need to -+ * perform a hardware reset on the PHY to take it out of reset. -+ */ -+ if(hw->mac_type > e1000_82543) { -+ ctrl |= E1000_CTRL_SLU; -+ ctrl &= ~(E1000_CTRL_FRCSPD | E1000_CTRL_FRCDPX); -+ E1000_WRITE_REG(hw, CTRL, ctrl); -+ } else { -+ ctrl |= (E1000_CTRL_FRCSPD | E1000_CTRL_FRCDPX | E1000_CTRL_SLU); -+ E1000_WRITE_REG(hw, CTRL, ctrl); -+ e1000_phy_hw_reset(hw); -+ } -+ -+ /* Make sure we have a valid PHY */ -+ if((ret_val = e1000_detect_gig_phy(hw))) { -+ DEBUGOUT("Error, did not detect valid phy.\n"); -+ return ret_val; -+ } -+ DEBUGOUT1("Phy ID = %x \n", hw->phy_id); -+ -+ if(hw->mac_type <= e1000_82543 || -+ hw->mac_type == e1000_82541 || hw->mac_type == e1000_82547 || -+#if 0 -+ hw->mac_type == e1000_82541_rev_2 || hw->mac_type == e1000_82547_rev_2) -+ hw->phy_reset_disable = FALSE; -+ -+ if(!hw->phy_reset_disable) { -+#else -+ hw->mac_type == e1000_82541_rev_2 || hw->mac_type == e1000_82547_rev_2) { -+#endif -+ if (hw->phy_type == e1000_phy_igp) { -+ -+ if((ret_val = e1000_phy_reset(hw))) { -+ DEBUGOUT("Error Resetting the PHY\n"); -+ return ret_val; -+ } -+ -+ /* Wait 10ms for MAC to configure PHY from eeprom settings */ -+ mdelay(15); -+ -+#if 0 -+ /* disable lplu d3 during driver init */ -+ if((ret_val = e1000_set_d3_lplu_state(hw, FALSE))) { -+ DEBUGOUT("Error Disabling LPLU D3\n"); -+ return ret_val; -+ } -+ -+ /* Configure mdi-mdix settings */ -+ if((ret_val = e1000_read_phy_reg(hw, IGP01E1000_PHY_PORT_CTRL, -+ &phy_data))) -+ return ret_val; -+ -+ if((hw->mac_type == e1000_82541) || (hw->mac_type == e1000_82547)) { -+ hw->dsp_config_state = e1000_dsp_config_disabled; -+ /* Force MDI for IGP B-0 PHY */ -+ phy_data &= ~(IGP01E1000_PSCR_AUTO_MDIX | -+ IGP01E1000_PSCR_FORCE_MDI_MDIX); -+ hw->mdix = 1; -+ -+ } else { -+ hw->dsp_config_state = e1000_dsp_config_enabled; -+ phy_data &= ~IGP01E1000_PSCR_AUTO_MDIX; -+ -+ switch (hw->mdix) { -+ case 1: -+ phy_data &= ~IGP01E1000_PSCR_FORCE_MDI_MDIX; -+ break; -+ case 2: -+ phy_data |= IGP01E1000_PSCR_FORCE_MDI_MDIX; -+ break; -+ case 0: -+ default: -+ phy_data |= IGP01E1000_PSCR_AUTO_MDIX; -+ break; -+ } -+ } -+ if((ret_val = e1000_write_phy_reg(hw, IGP01E1000_PHY_PORT_CTRL, -+ phy_data))) -+ return ret_val; -+ -+ /* set auto-master slave resolution settings */ -+ e1000_ms_type phy_ms_setting = hw->master_slave; -+ -+ if(hw->ffe_config_state == e1000_ffe_config_active) -+ hw->ffe_config_state = e1000_ffe_config_enabled; -+ -+ if(hw->dsp_config_state == e1000_dsp_config_activated) -+ hw->dsp_config_state = e1000_dsp_config_enabled; -+#endif -+ -+ /* when autonegotiation advertisment is only 1000Mbps then we -+ * should disable SmartSpeed and enable Auto MasterSlave -+ * resolution as hardware default. */ -+ if(hw->autoneg_advertised == ADVERTISE_1000_FULL) { -+ /* Disable SmartSpeed */ -+ if((ret_val = e1000_read_phy_reg(hw, -+ IGP01E1000_PHY_PORT_CONFIG, -+ &phy_data))) -+ return ret_val; -+ phy_data &= ~IGP01E1000_PSCFR_SMART_SPEED; -+ if((ret_val = e1000_write_phy_reg(hw, -+ IGP01E1000_PHY_PORT_CONFIG, -+ phy_data))) -+ return ret_val; -+ /* Set auto Master/Slave resolution process */ -+ if((ret_val = e1000_read_phy_reg(hw, PHY_1000T_CTRL, -+ &phy_data))) -+ return ret_val; -+ phy_data &= ~CR_1000T_MS_ENABLE; -+ if((ret_val = e1000_write_phy_reg(hw, PHY_1000T_CTRL, -+ phy_data))) -+ return ret_val; -+ } -+ -+ if((ret_val = e1000_read_phy_reg(hw, PHY_1000T_CTRL, -+ &phy_data))) -+ return ret_val; -+ -+#if 0 -+ /* load defaults for future use */ -+ hw->original_master_slave = (phy_data & CR_1000T_MS_ENABLE) ? -+ ((phy_data & CR_1000T_MS_VALUE) ? -+ e1000_ms_force_master : -+ e1000_ms_force_slave) : -+ e1000_ms_auto; -+ -+ switch (phy_ms_setting) { -+ case e1000_ms_force_master: -+ phy_data |= (CR_1000T_MS_ENABLE | CR_1000T_MS_VALUE); -+ break; -+ case e1000_ms_force_slave: -+ phy_data |= CR_1000T_MS_ENABLE; -+ phy_data &= ~(CR_1000T_MS_VALUE); -+ break; -+ case e1000_ms_auto: -+ phy_data &= ~CR_1000T_MS_ENABLE; -+ default: -+ break; -+ } -+#endif -+ -+ if((ret_val = e1000_write_phy_reg(hw, PHY_1000T_CTRL, -+ phy_data))) -+ return ret_val; -+ } else { -+ /* Enable CRS on TX. This must be set for half-duplex operation. */ -+ if((ret_val = e1000_read_phy_reg(hw, M88E1000_PHY_SPEC_CTRL, -+ &phy_data))) -+ return ret_val; -+ -+ phy_data |= M88E1000_PSCR_ASSERT_CRS_ON_TX; -+ -+ /* Options: -+ * MDI/MDI-X = 0 (default) -+ * 0 - Auto for all speeds -+ * 1 - MDI mode -+ * 2 - MDI-X mode -+ * 3 - Auto for 1000Base-T only (MDI-X for 10/100Base-T modes) -+ */ -+#if 0 -+ phy_data &= ~M88E1000_PSCR_AUTO_X_MODE; -+ -+ switch (hw->mdix) { -+ case 1: -+ phy_data |= M88E1000_PSCR_MDI_MANUAL_MODE; -+ break; -+ case 2: -+ phy_data |= M88E1000_PSCR_MDIX_MANUAL_MODE; -+ break; -+ case 3: -+ phy_data |= M88E1000_PSCR_AUTO_X_1000T; -+ break; -+ case 0: -+ default: -+#endif -+ phy_data |= M88E1000_PSCR_AUTO_X_MODE; -+#if 0 -+ break; -+ } -+#endif -+ -+ /* Options: -+ * disable_polarity_correction = 0 (default) -+ * Automatic Correction for Reversed Cable Polarity -+ * 0 - Disabled -+ * 1 - Enabled -+ */ -+ phy_data &= ~M88E1000_PSCR_POLARITY_REVERSAL; -+ if((ret_val = e1000_write_phy_reg(hw, M88E1000_PHY_SPEC_CTRL, -+ phy_data))) -+ return ret_val; -+ -+ /* Force TX_CLK in the Extended PHY Specific Control Register -+ * to 25MHz clock. -+ */ -+ if((ret_val = e1000_read_phy_reg(hw, M88E1000_EXT_PHY_SPEC_CTRL, -+ &phy_data))) -+ return ret_val; -+ -+ phy_data |= M88E1000_EPSCR_TX_CLK_25; -+ -+#ifdef LINUX_DRIVER -+ if (hw->phy_revision < M88E1011_I_REV_4) { -+#endif -+ /* Configure Master and Slave downshift values */ -+ phy_data &= ~(M88E1000_EPSCR_MASTER_DOWNSHIFT_MASK | -+ M88E1000_EPSCR_SLAVE_DOWNSHIFT_MASK); -+ phy_data |= (M88E1000_EPSCR_MASTER_DOWNSHIFT_1X | -+ M88E1000_EPSCR_SLAVE_DOWNSHIFT_1X); -+ if((ret_val = e1000_write_phy_reg(hw, -+ M88E1000_EXT_PHY_SPEC_CTRL, -+ phy_data))) -+ return ret_val; -+ } -+ -+ /* SW Reset the PHY so all changes take effect */ -+ if((ret_val = e1000_phy_reset(hw))) { -+ DEBUGOUT("Error Resetting the PHY\n"); -+ return ret_val; -+#ifdef LINUX_DRIVER -+ } -+#endif -+ } -+ -+ /* Options: -+ * autoneg = 1 (default) -+ * PHY will advertise value(s) parsed from -+ * autoneg_advertised and fc -+ * autoneg = 0 -+ * PHY will be set to 10H, 10F, 100H, or 100F -+ * depending on value parsed from forced_speed_duplex. -+ */ -+ -+ /* Is autoneg enabled? This is enabled by default or by software -+ * override. If so, call e1000_phy_setup_autoneg routine to parse the -+ * autoneg_advertised and fc options. If autoneg is NOT enabled, then -+ * the user should have provided a speed/duplex override. If so, then -+ * call e1000_phy_force_speed_duplex to parse and set this up. -+ */ -+ /* Perform some bounds checking on the hw->autoneg_advertised -+ * parameter. If this variable is zero, then set it to the default. -+ */ -+ hw->autoneg_advertised &= AUTONEG_ADVERTISE_SPEED_DEFAULT; -+ -+ /* If autoneg_advertised is zero, we assume it was not defaulted -+ * by the calling code so we set to advertise full capability. -+ */ -+ if(hw->autoneg_advertised == 0) -+ hw->autoneg_advertised = AUTONEG_ADVERTISE_SPEED_DEFAULT; -+ -+ DEBUGOUT("Reconfiguring auto-neg advertisement params\n"); -+ if((ret_val = e1000_phy_setup_autoneg(hw))) { -+ DEBUGOUT("Error Setting up Auto-Negotiation\n"); -+ return ret_val; -+ } -+ DEBUGOUT("Restarting Auto-Neg\n"); -+ -+ /* Restart auto-negotiation by setting the Auto Neg Enable bit and -+ * the Auto Neg Restart bit in the PHY control register. -+ */ -+ if((ret_val = e1000_read_phy_reg(hw, PHY_CTRL, &phy_data))) -+ return ret_val; -+ -+ phy_data |= (MII_CR_AUTO_NEG_EN | MII_CR_RESTART_AUTO_NEG); -+ if((ret_val = e1000_write_phy_reg(hw, PHY_CTRL, phy_data))) -+ return ret_val; -+ -+#if 0 -+ /* Does the user want to wait for Auto-Neg to complete here, or -+ * check at a later time (for example, callback routine). -+ */ -+ if(hw->wait_autoneg_complete) { -+ if((ret_val = e1000_wait_autoneg(hw))) { -+ DEBUGOUT("Error while waiting for autoneg to complete\n"); -+ return ret_val; -+ } -+ } -+#else -+ /* If we do not wait for autonegotiation to complete I -+ * do not see a valid link status. -+ */ -+ if((ret_val = e1000_wait_autoneg(hw))) { -+ DEBUGOUT("Error while waiting for autoneg to complete\n"); -+ return ret_val; -+ } -+#endif -+ } /* !hw->phy_reset_disable */ -+ -+ /* Check link status. Wait up to 100 microseconds for link to become -+ * valid. -+ */ -+ for(i = 0; i < 10; i++) { -+ if((ret_val = e1000_read_phy_reg(hw, PHY_STATUS, &phy_data))) -+ return ret_val; -+ if((ret_val = e1000_read_phy_reg(hw, PHY_STATUS, &phy_data))) -+ return ret_val; -+ -+ if(phy_data & MII_SR_LINK_STATUS) { -+ /* We have link, so we need to finish the config process: -+ * 1) Set up the MAC to the current PHY speed/duplex -+ * if we are on 82543. If we -+ * are on newer silicon, we only need to configure -+ * collision distance in the Transmit Control Register. -+ * 2) Set up flow control on the MAC to that established with -+ * the link partner. -+ */ -+ if(hw->mac_type >= e1000_82544) { -+ e1000_config_collision_dist(hw); -+ } else { -+ if((ret_val = e1000_config_mac_to_phy(hw))) { -+ DEBUGOUT("Error configuring MAC to PHY settings\n"); -+ return ret_val; -+ } -+ } -+ if((ret_val = e1000_config_fc_after_link_up(hw))) { -+ DEBUGOUT("Error Configuring Flow Control\n"); -+ return ret_val; -+ } -+#if 0 -+ if(hw->phy_type == e1000_phy_igp) { -+ if((ret_val = e1000_config_dsp_after_link_change(hw, TRUE))) { -+ DEBUGOUT("Error Configuring DSP after link up\n"); -+ return ret_val; -+ } -+ } -+#endif -+ DEBUGOUT("Valid link established!!!\n"); -+ return E1000_SUCCESS; -+ } -+ udelay(10); -+ } -+ -+ DEBUGOUT("Unable to establish link!!!\n"); -+ return -E1000_ERR_NOLINK; -+} -+ -+/****************************************************************************** -+* Configures PHY autoneg and flow control advertisement settings -+* -+* hw - Struct containing variables accessed by shared code -+******************************************************************************/ -+static int -+e1000_phy_setup_autoneg(struct e1000_hw *hw) -+{ -+ int32_t ret_val; -+ uint16_t mii_autoneg_adv_reg; -+ uint16_t mii_1000t_ctrl_reg; -+ -+ DEBUGFUNC("e1000_phy_setup_autoneg"); -+ -+ /* Read the MII Auto-Neg Advertisement Register (Address 4). */ -+ if((ret_val = e1000_read_phy_reg(hw, PHY_AUTONEG_ADV, -+ &mii_autoneg_adv_reg))) -+ return ret_val; -+ -+ /* Read the MII 1000Base-T Control Register (Address 9). */ -+ if((ret_val = e1000_read_phy_reg(hw, PHY_1000T_CTRL, &mii_1000t_ctrl_reg))) -+ return ret_val; -+ -+ /* Need to parse both autoneg_advertised and fc and set up -+ * the appropriate PHY registers. First we will parse for -+ * autoneg_advertised software override. Since we can advertise -+ * a plethora of combinations, we need to check each bit -+ * individually. -+ */ -+ -+ /* First we clear all the 10/100 mb speed bits in the Auto-Neg -+ * Advertisement Register (Address 4) and the 1000 mb speed bits in -+ * the 1000Base-T Control Register (Address 9). -+ */ -+ mii_autoneg_adv_reg &= ~REG4_SPEED_MASK; -+ mii_1000t_ctrl_reg &= ~REG9_SPEED_MASK; -+ -+ DEBUGOUT1("autoneg_advertised %x\n", hw->autoneg_advertised); -+ -+ /* Do we want to advertise 10 Mb Half Duplex? */ -+ if(hw->autoneg_advertised & ADVERTISE_10_HALF) { -+ DEBUGOUT("Advertise 10mb Half duplex\n"); -+ mii_autoneg_adv_reg |= NWAY_AR_10T_HD_CAPS; -+ } -+ -+ /* Do we want to advertise 10 Mb Full Duplex? */ -+ if(hw->autoneg_advertised & ADVERTISE_10_FULL) { -+ DEBUGOUT("Advertise 10mb Full duplex\n"); -+ mii_autoneg_adv_reg |= NWAY_AR_10T_FD_CAPS; -+ } -+ -+ /* Do we want to advertise 100 Mb Half Duplex? */ -+ if(hw->autoneg_advertised & ADVERTISE_100_HALF) { -+ DEBUGOUT("Advertise 100mb Half duplex\n"); -+ mii_autoneg_adv_reg |= NWAY_AR_100TX_HD_CAPS; -+ } -+ -+ /* Do we want to advertise 100 Mb Full Duplex? */ -+ if(hw->autoneg_advertised & ADVERTISE_100_FULL) { -+ DEBUGOUT("Advertise 100mb Full duplex\n"); -+ mii_autoneg_adv_reg |= NWAY_AR_100TX_FD_CAPS; -+ } -+ -+ /* We do not allow the Phy to advertise 1000 Mb Half Duplex */ -+ if(hw->autoneg_advertised & ADVERTISE_1000_HALF) { -+ DEBUGOUT("Advertise 1000mb Half duplex requested, request denied!\n"); -+ } -+ -+ /* Do we want to advertise 1000 Mb Full Duplex? */ -+ if(hw->autoneg_advertised & ADVERTISE_1000_FULL) { -+ DEBUGOUT("Advertise 1000mb Full duplex\n"); -+ mii_1000t_ctrl_reg |= CR_1000T_FD_CAPS; -+ } -+ -+ /* Check for a software override of the flow control settings, and -+ * setup the PHY advertisement registers accordingly. If -+ * auto-negotiation is enabled, then software will have to set the -+ * "PAUSE" bits to the correct value in the Auto-Negotiation -+ * Advertisement Register (PHY_AUTONEG_ADV) and re-start auto-negotiation. -+ * -+ * The possible values of the "fc" parameter are: -+ * 0: Flow control is completely disabled -+ * 1: Rx flow control is enabled (we can receive pause frames -+ * but not send pause frames). -+ * 2: Tx flow control is enabled (we can send pause frames -+ * but we do not support receiving pause frames). -+ * 3: Both Rx and TX flow control (symmetric) are enabled. -+ * other: No software override. The flow control configuration -+ * in the EEPROM is used. -+ */ -+ switch (hw->fc) { -+ case e1000_fc_none: /* 0 */ -+ /* Flow control (RX & TX) is completely disabled by a -+ * software over-ride. -+ */ -+ mii_autoneg_adv_reg &= ~(NWAY_AR_ASM_DIR | NWAY_AR_PAUSE); -+ break; -+ case e1000_fc_rx_pause: /* 1 */ -+ /* RX Flow control is enabled, and TX Flow control is -+ * disabled, by a software over-ride. -+ */ -+ /* Since there really isn't a way to advertise that we are -+ * capable of RX Pause ONLY, we will advertise that we -+ * support both symmetric and asymmetric RX PAUSE. Later -+ * (in e1000_config_fc_after_link_up) we will disable the -+ *hw's ability to send PAUSE frames. -+ */ -+ mii_autoneg_adv_reg |= (NWAY_AR_ASM_DIR | NWAY_AR_PAUSE); -+ break; -+ case e1000_fc_tx_pause: /* 2 */ -+ /* TX Flow control is enabled, and RX Flow control is -+ * disabled, by a software over-ride. -+ */ -+ mii_autoneg_adv_reg |= NWAY_AR_ASM_DIR; -+ mii_autoneg_adv_reg &= ~NWAY_AR_PAUSE; -+ break; -+ case e1000_fc_full: /* 3 */ -+ /* Flow control (both RX and TX) is enabled by a software -+ * over-ride. -+ */ -+ mii_autoneg_adv_reg |= (NWAY_AR_ASM_DIR | NWAY_AR_PAUSE); -+ break; -+ default: -+ DEBUGOUT("Flow control param set incorrectly\n"); -+ return -E1000_ERR_CONFIG; -+ } -+ -+ if((ret_val = e1000_write_phy_reg(hw, PHY_AUTONEG_ADV, -+ mii_autoneg_adv_reg))) -+ return ret_val; -+ -+ DEBUGOUT1("Auto-Neg Advertising %x\n", mii_autoneg_adv_reg); -+ -+ if((ret_val = e1000_write_phy_reg(hw, PHY_1000T_CTRL, mii_1000t_ctrl_reg))) -+ return ret_val; -+ -+ return E1000_SUCCESS; -+} -+ -+/****************************************************************************** -+* Sets the collision distance in the Transmit Control register -+* -+* hw - Struct containing variables accessed by shared code -+* -+* Link should have been established previously. Reads the speed and duplex -+* information from the Device Status register. -+******************************************************************************/ -+static void -+e1000_config_collision_dist(struct e1000_hw *hw) -+{ -+ uint32_t tctl; -+ -+ tctl = E1000_READ_REG(hw, TCTL); -+ -+ tctl &= ~E1000_TCTL_COLD; -+ tctl |= E1000_COLLISION_DISTANCE << E1000_COLD_SHIFT; -+ -+ E1000_WRITE_REG(hw, TCTL, tctl); -+ E1000_WRITE_FLUSH(hw); -+} -+ -+/****************************************************************************** -+* Sets MAC speed and duplex settings to reflect the those in the PHY -+* -+* hw - Struct containing variables accessed by shared code -+* mii_reg - data to write to the MII control register -+* -+* The contents of the PHY register containing the needed information need to -+* be passed in. -+******************************************************************************/ -+static int -+e1000_config_mac_to_phy(struct e1000_hw *hw) -+{ -+ uint32_t ctrl; -+ int32_t ret_val; -+ uint16_t phy_data; -+ -+ DEBUGFUNC("e1000_config_mac_to_phy"); -+ -+ /* Read the Device Control Register and set the bits to Force Speed -+ * and Duplex. -+ */ -+ ctrl = E1000_READ_REG(hw, CTRL); -+ ctrl |= (E1000_CTRL_FRCSPD | E1000_CTRL_FRCDPX); -+ ctrl &= ~(E1000_CTRL_SPD_SEL | E1000_CTRL_ILOS); -+ -+ /* Set up duplex in the Device Control and Transmit Control -+ * registers depending on negotiated values. -+ */ -+ if (hw->phy_type == e1000_phy_igp) { -+ if((ret_val = e1000_read_phy_reg(hw, IGP01E1000_PHY_PORT_STATUS, -+ &phy_data))) -+ return ret_val; -+ -+ if(phy_data & IGP01E1000_PSSR_FULL_DUPLEX) ctrl |= E1000_CTRL_FD; -+ else ctrl &= ~E1000_CTRL_FD; -+ -+ e1000_config_collision_dist(hw); -+ -+ /* Set up speed in the Device Control register depending on -+ * negotiated values. -+ */ -+ if((phy_data & IGP01E1000_PSSR_SPEED_MASK) == -+ IGP01E1000_PSSR_SPEED_1000MBPS) -+ ctrl |= E1000_CTRL_SPD_1000; -+ else if((phy_data & IGP01E1000_PSSR_SPEED_MASK) == -+ IGP01E1000_PSSR_SPEED_100MBPS) -+ ctrl |= E1000_CTRL_SPD_100; -+ } else { -+ if((ret_val = e1000_read_phy_reg(hw, M88E1000_PHY_SPEC_STATUS, -+ &phy_data))) -+ return ret_val; -+ -+ if(phy_data & M88E1000_PSSR_DPLX) ctrl |= E1000_CTRL_FD; -+ else ctrl &= ~E1000_CTRL_FD; -+ -+ e1000_config_collision_dist(hw); -+ -+ /* Set up speed in the Device Control register depending on -+ * negotiated values. -+ */ -+ if((phy_data & M88E1000_PSSR_SPEED) == M88E1000_PSSR_1000MBS) -+ ctrl |= E1000_CTRL_SPD_1000; -+ else if((phy_data & M88E1000_PSSR_SPEED) == M88E1000_PSSR_100MBS) -+ ctrl |= E1000_CTRL_SPD_100; -+ } -+ /* Write the configured values back to the Device Control Reg. */ -+ E1000_WRITE_REG(hw, CTRL, ctrl); -+ return E1000_SUCCESS; -+} -+ -+/****************************************************************************** -+ * Forces the MAC's flow control settings. -+ * -+ * hw - Struct containing variables accessed by shared code -+ * -+ * Sets the TFCE and RFCE bits in the device control register to reflect -+ * the adapter settings. TFCE and RFCE need to be explicitly set by -+ * software when a Copper PHY is used because autonegotiation is managed -+ * by the PHY rather than the MAC. Software must also configure these -+ * bits when link is forced on a fiber connection. -+ *****************************************************************************/ -+static int -+e1000_force_mac_fc(struct e1000_hw *hw) -+{ -+ uint32_t ctrl; -+ -+ DEBUGFUNC("e1000_force_mac_fc"); -+ -+ /* Get the current configuration of the Device Control Register */ -+ ctrl = E1000_READ_REG(hw, CTRL); -+ -+ /* Because we didn't get link via the internal auto-negotiation -+ * mechanism (we either forced link or we got link via PHY -+ * auto-neg), we have to manually enable/disable transmit an -+ * receive flow control. -+ * -+ * The "Case" statement below enables/disable flow control -+ * according to the "hw->fc" parameter. -+ * -+ * The possible values of the "fc" parameter are: -+ * 0: Flow control is completely disabled -+ * 1: Rx flow control is enabled (we can receive pause -+ * frames but not send pause frames). -+ * 2: Tx flow control is enabled (we can send pause frames -+ * frames but we do not receive pause frames). -+ * 3: Both Rx and TX flow control (symmetric) is enabled. -+ * other: No other values should be possible at this point. -+ */ -+ -+ switch (hw->fc) { -+ case e1000_fc_none: -+ ctrl &= (~(E1000_CTRL_TFCE | E1000_CTRL_RFCE)); -+ break; -+ case e1000_fc_rx_pause: -+ ctrl &= (~E1000_CTRL_TFCE); -+ ctrl |= E1000_CTRL_RFCE; -+ break; -+ case e1000_fc_tx_pause: -+ ctrl &= (~E1000_CTRL_RFCE); -+ ctrl |= E1000_CTRL_TFCE; -+ break; -+ case e1000_fc_full: -+ ctrl |= (E1000_CTRL_TFCE | E1000_CTRL_RFCE); -+ break; -+ default: -+ DEBUGOUT("Flow control param set incorrectly\n"); -+ return -E1000_ERR_CONFIG; -+ } -+ -+ /* Disable TX Flow Control for 82542 (rev 2.0) */ -+ if(hw->mac_type == e1000_82542_rev2_0) -+ ctrl &= (~E1000_CTRL_TFCE); -+ -+ E1000_WRITE_REG(hw, CTRL, ctrl); -+ return E1000_SUCCESS; -+} -+ -+/****************************************************************************** -+ * Configures flow control settings after link is established -+ * -+ * hw - Struct containing variables accessed by shared code -+ * -+ * Should be called immediately after a valid link has been established. -+ * Forces MAC flow control settings if link was forced. When in MII/GMII mode -+ * and autonegotiation is enabled, the MAC flow control settings will be set -+ * based on the flow control negotiated by the PHY. In TBI mode, the TFCE -+ * and RFCE bits will be automaticaly set to the negotiated flow control mode. -+ *****************************************************************************/ -+static int -+e1000_config_fc_after_link_up(struct e1000_hw *hw) -+{ -+ int32_t ret_val; -+ uint16_t mii_status_reg; -+ uint16_t mii_nway_adv_reg; -+ uint16_t mii_nway_lp_ability_reg; -+ uint16_t speed; -+ uint16_t duplex; -+ -+ DEBUGFUNC("e1000_config_fc_after_link_up"); -+ -+ /* Check for the case where we have fiber media and auto-neg failed -+ * so we had to force link. In this case, we need to force the -+ * configuration of the MAC to match the "fc" parameter. -+ */ -+ if(((hw->media_type == e1000_media_type_fiber) && (hw->autoneg_failed)) || -+ ((hw->media_type == e1000_media_type_internal_serdes) && (hw->autoneg_failed))) { -+ if((ret_val = e1000_force_mac_fc(hw))) { -+ DEBUGOUT("Error forcing flow control settings\n"); -+ return ret_val; -+ } -+ } -+ -+ /* Check for the case where we have copper media and auto-neg is -+ * enabled. In this case, we need to check and see if Auto-Neg -+ * has completed, and if so, how the PHY and link partner has -+ * flow control configured. -+ */ -+ if(hw->media_type == e1000_media_type_copper) { -+ /* Read the MII Status Register and check to see if AutoNeg -+ * has completed. We read this twice because this reg has -+ * some "sticky" (latched) bits. -+ */ -+ if((ret_val = e1000_read_phy_reg(hw, PHY_STATUS, &mii_status_reg))) -+ return ret_val; -+ if((ret_val = e1000_read_phy_reg(hw, PHY_STATUS, &mii_status_reg))) -+ return ret_val; -+ -+ if(mii_status_reg & MII_SR_AUTONEG_COMPLETE) { -+ /* The AutoNeg process has completed, so we now need to -+ * read both the Auto Negotiation Advertisement Register -+ * (Address 4) and the Auto_Negotiation Base Page Ability -+ * Register (Address 5) to determine how flow control was -+ * negotiated. -+ */ -+ if((ret_val = e1000_read_phy_reg(hw, PHY_AUTONEG_ADV, -+ &mii_nway_adv_reg))) -+ return ret_val; -+ if((ret_val = e1000_read_phy_reg(hw, PHY_LP_ABILITY, -+ &mii_nway_lp_ability_reg))) -+ return ret_val; -+ -+ /* Two bits in the Auto Negotiation Advertisement Register -+ * (Address 4) and two bits in the Auto Negotiation Base -+ * Page Ability Register (Address 5) determine flow control -+ * for both the PHY and the link partner. The following -+ * table, taken out of the IEEE 802.3ab/D6.0 dated March 25, -+ * 1999, describes these PAUSE resolution bits and how flow -+ * control is determined based upon these settings. -+ * NOTE: DC = Don't Care -+ * -+ * LOCAL DEVICE | LINK PARTNER -+ * PAUSE | ASM_DIR | PAUSE | ASM_DIR | NIC Resolution -+ *-------|---------|-------|---------|-------------------- -+ * 0 | 0 | DC | DC | e1000_fc_none -+ * 0 | 1 | 0 | DC | e1000_fc_none -+ * 0 | 1 | 1 | 0 | e1000_fc_none -+ * 0 | 1 | 1 | 1 | e1000_fc_tx_pause -+ * 1 | 0 | 0 | DC | e1000_fc_none -+ * 1 | DC | 1 | DC | e1000_fc_full -+ * 1 | 1 | 0 | 0 | e1000_fc_none -+ * 1 | 1 | 0 | 1 | e1000_fc_rx_pause -+ * -+ */ -+ /* Are both PAUSE bits set to 1? If so, this implies -+ * Symmetric Flow Control is enabled at both ends. The -+ * ASM_DIR bits are irrelevant per the spec. -+ * -+ * For Symmetric Flow Control: -+ * -+ * LOCAL DEVICE | LINK PARTNER -+ * PAUSE | ASM_DIR | PAUSE | ASM_DIR | Result -+ *-------|---------|-------|---------|-------------------- -+ * 1 | DC | 1 | DC | e1000_fc_full -+ * -+ */ -+ if((mii_nway_adv_reg & NWAY_AR_PAUSE) && -+ (mii_nway_lp_ability_reg & NWAY_LPAR_PAUSE)) { -+ /* Now we need to check if the user selected RX ONLY -+ * of pause frames. In this case, we had to advertise -+ * FULL flow control because we could not advertise RX -+ * ONLY. Hence, we must now check to see if we need to -+ * turn OFF the TRANSMISSION of PAUSE frames. -+ */ -+#if 0 -+ if(hw->original_fc == e1000_fc_full) { -+ hw->fc = e1000_fc_full; -+#else -+ if(hw->fc == e1000_fc_full) { -+#endif -+ DEBUGOUT("Flow Control = FULL.\r\n"); -+ } else { -+ hw->fc = e1000_fc_rx_pause; -+ DEBUGOUT("Flow Control = RX PAUSE frames only.\r\n"); -+ } -+ } -+ /* For receiving PAUSE frames ONLY. -+ * -+ * LOCAL DEVICE | LINK PARTNER -+ * PAUSE | ASM_DIR | PAUSE | ASM_DIR | Result -+ *-------|---------|-------|---------|-------------------- -+ * 0 | 1 | 1 | 1 | e1000_fc_tx_pause -+ * -+ */ -+ else if(!(mii_nway_adv_reg & NWAY_AR_PAUSE) && -+ (mii_nway_adv_reg & NWAY_AR_ASM_DIR) && -+ (mii_nway_lp_ability_reg & NWAY_LPAR_PAUSE) && -+ (mii_nway_lp_ability_reg & NWAY_LPAR_ASM_DIR)) { -+ hw->fc = e1000_fc_tx_pause; -+ DEBUGOUT("Flow Control = TX PAUSE frames only.\r\n"); -+ } -+ /* For transmitting PAUSE frames ONLY. -+ * -+ * LOCAL DEVICE | LINK PARTNER -+ * PAUSE | ASM_DIR | PAUSE | ASM_DIR | Result -+ *-------|---------|-------|---------|-------------------- -+ * 1 | 1 | 0 | 1 | e1000_fc_rx_pause -+ * -+ */ -+ else if((mii_nway_adv_reg & NWAY_AR_PAUSE) && -+ (mii_nway_adv_reg & NWAY_AR_ASM_DIR) && -+ !(mii_nway_lp_ability_reg & NWAY_LPAR_PAUSE) && -+ (mii_nway_lp_ability_reg & NWAY_LPAR_ASM_DIR)) { -+ hw->fc = e1000_fc_rx_pause; -+ DEBUGOUT("Flow Control = RX PAUSE frames only.\r\n"); -+ } -+ /* Per the IEEE spec, at this point flow control should be -+ * disabled. However, we want to consider that we could -+ * be connected to a legacy switch that doesn't advertise -+ * desired flow control, but can be forced on the link -+ * partner. So if we advertised no flow control, that is -+ * what we will resolve to. If we advertised some kind of -+ * receive capability (Rx Pause Only or Full Flow Control) -+ * and the link partner advertised none, we will configure -+ * ourselves to enable Rx Flow Control only. We can do -+ * this safely for two reasons: If the link partner really -+ * didn't want flow control enabled, and we enable Rx, no -+ * harm done since we won't be receiving any PAUSE frames -+ * anyway. If the intent on the link partner was to have -+ * flow control enabled, then by us enabling RX only, we -+ * can at least receive pause frames and process them. -+ * This is a good idea because in most cases, since we are -+ * predominantly a server NIC, more times than not we will -+ * be asked to delay transmission of packets than asking -+ * our link partner to pause transmission of frames. -+ */ -+#if 0 -+ else if(hw->original_fc == e1000_fc_none || -+ hw->original_fc == e1000_fc_tx_pause) { -+#else -+ else if(hw->fc == e1000_fc_none) -+ DEBUGOUT("Flow Control = NONE.\r\n"); -+ else if(hw->fc == e1000_fc_tx_pause) { -+#endif -+ hw->fc = e1000_fc_none; -+ DEBUGOUT("Flow Control = NONE.\r\n"); -+ } else { -+ hw->fc = e1000_fc_rx_pause; -+ DEBUGOUT("Flow Control = RX PAUSE frames only.\r\n"); -+ } -+ -+ /* Now we need to do one last check... If we auto- -+ * negotiated to HALF DUPLEX, flow control should not be -+ * enabled per IEEE 802.3 spec. -+ */ -+ e1000_get_speed_and_duplex(hw, &speed, &duplex); -+ -+ if(duplex == HALF_DUPLEX) -+ hw->fc = e1000_fc_none; -+ -+ /* Now we call a subroutine to actually force the MAC -+ * controller to use the correct flow control settings. -+ */ -+ if((ret_val = e1000_force_mac_fc(hw))) { -+ DEBUGOUT("Error forcing flow control settings\n"); -+ return ret_val; -+ } -+ } else { -+ DEBUGOUT("Copper PHY and Auto Neg has not completed.\r\n"); -+ } -+ } -+ return E1000_SUCCESS; -+} -+ -+/****************************************************************************** -+ * Checks to see if the link status of the hardware has changed. -+ * -+ * hw - Struct containing variables accessed by shared code -+ * -+ * Called by any function that needs to check the link status of the adapter. -+ *****************************************************************************/ -+static int -+e1000_check_for_link(struct e1000_hw *hw) -+{ -+ uint32_t rxcw; -+ uint32_t ctrl; -+ uint32_t status; -+ uint32_t rctl; -+ uint32_t signal = 0; -+ int32_t ret_val; -+ uint16_t phy_data; -+ uint16_t lp_capability; -+ -+ DEBUGFUNC("e1000_check_for_link"); -+ -+ /* On adapters with a MAC newer than 82544, SW Defineable pin 1 will be -+ * set when the optics detect a signal. On older adapters, it will be -+ * cleared when there is a signal. This applies to fiber media only. -+ */ -+ if(hw->media_type == e1000_media_type_fiber) -+ signal = (hw->mac_type > e1000_82544) ? E1000_CTRL_SWDPIN1 : 0; -+ -+ ctrl = E1000_READ_REG(hw, CTRL); -+ status = E1000_READ_REG(hw, STATUS); -+ rxcw = E1000_READ_REG(hw, RXCW); -+ -+ /* If we have a copper PHY then we only want to go out to the PHY -+ * registers to see if Auto-Neg has completed and/or if our link -+ * status has changed. The get_link_status flag will be set if we -+ * receive a Link Status Change interrupt or we have Rx Sequence -+ * Errors. -+ */ -+#if 0 -+ if((hw->media_type == e1000_media_type_copper) && hw->get_link_status) { -+#else -+ if(hw->media_type == e1000_media_type_copper) { -+#endif -+ /* First we want to see if the MII Status Register reports -+ * link. If so, then we want to get the current speed/duplex -+ * of the PHY. -+ * Read the register twice since the link bit is sticky. -+ */ -+ if((ret_val = e1000_read_phy_reg(hw, PHY_STATUS, &phy_data))) -+ return ret_val; -+ if((ret_val = e1000_read_phy_reg(hw, PHY_STATUS, &phy_data))) -+ return ret_val; -+ -+ if(phy_data & MII_SR_LINK_STATUS) { -+#if 0 -+ hw->get_link_status = FALSE; -+#endif -+ } else { -+ /* No link detected */ -+ return -E1000_ERR_NOLINK; -+ } -+ -+ /* We have a M88E1000 PHY and Auto-Neg is enabled. If we -+ * have Si on board that is 82544 or newer, Auto -+ * Speed Detection takes care of MAC speed/duplex -+ * configuration. So we only need to configure Collision -+ * Distance in the MAC. Otherwise, we need to force -+ * speed/duplex on the MAC to the current PHY speed/duplex -+ * settings. -+ */ -+ if(hw->mac_type >= e1000_82544) -+ e1000_config_collision_dist(hw); -+ else { -+ if((ret_val = e1000_config_mac_to_phy(hw))) { -+ DEBUGOUT("Error configuring MAC to PHY settings\n"); -+ return ret_val; -+ } -+ } -+ -+ /* Configure Flow Control now that Auto-Neg has completed. First, we -+ * need to restore the desired flow control settings because we may -+ * have had to re-autoneg with a different link partner. -+ */ -+ if((ret_val = e1000_config_fc_after_link_up(hw))) { -+ DEBUGOUT("Error configuring flow control\n"); -+ return ret_val; -+ } -+ -+ /* At this point we know that we are on copper and we have -+ * auto-negotiated link. These are conditions for checking the link -+ * parter capability register. We use the link partner capability to -+ * determine if TBI Compatibility needs to be turned on or off. If -+ * the link partner advertises any speed in addition to Gigabit, then -+ * we assume that they are GMII-based, and TBI compatibility is not -+ * needed. If no other speeds are advertised, we assume the link -+ * partner is TBI-based, and we turn on TBI Compatibility. -+ */ -+ if(hw->tbi_compatibility_en) { -+ if((ret_val = e1000_read_phy_reg(hw, PHY_LP_ABILITY, -+ &lp_capability))) -+ return ret_val; -+ if(lp_capability & (NWAY_LPAR_10T_HD_CAPS | -+ NWAY_LPAR_10T_FD_CAPS | -+ NWAY_LPAR_100TX_HD_CAPS | -+ NWAY_LPAR_100TX_FD_CAPS | -+ NWAY_LPAR_100T4_CAPS)) { -+ /* If our link partner advertises anything in addition to -+ * gigabit, we do not need to enable TBI compatibility. -+ */ -+ if(hw->tbi_compatibility_on) { -+ /* If we previously were in the mode, turn it off. */ -+ rctl = E1000_READ_REG(hw, RCTL); -+ rctl &= ~E1000_RCTL_SBP; -+ E1000_WRITE_REG(hw, RCTL, rctl); -+ hw->tbi_compatibility_on = FALSE; -+ } -+ } else { -+ /* If TBI compatibility is was previously off, turn it on. For -+ * compatibility with a TBI link partner, we will store bad -+ * packets. Some frames have an additional byte on the end and -+ * will look like CRC errors to to the hardware. -+ */ -+ if(!hw->tbi_compatibility_on) { -+ hw->tbi_compatibility_on = TRUE; -+ rctl = E1000_READ_REG(hw, RCTL); -+ rctl |= E1000_RCTL_SBP; -+ E1000_WRITE_REG(hw, RCTL, rctl); -+ } -+ } -+ } -+ } -+ /* If we don't have link (auto-negotiation failed or link partner cannot -+ * auto-negotiate), the cable is plugged in (we have signal), and our -+ * link partner is not trying to auto-negotiate with us (we are receiving -+ * idles or data), we need to force link up. We also need to give -+ * auto-negotiation time to complete, in case the cable was just plugged -+ * in. The autoneg_failed flag does this. -+ */ -+ else if((((hw->media_type == e1000_media_type_fiber) && -+ ((ctrl & E1000_CTRL_SWDPIN1) == signal)) || -+ (hw->media_type == e1000_media_type_internal_serdes)) && -+ (!(status & E1000_STATUS_LU)) && -+ (!(rxcw & E1000_RXCW_C))) { -+ if(hw->autoneg_failed == 0) { -+ hw->autoneg_failed = 1; -+ return 0; -+ } -+ DEBUGOUT("NOT RXing /C/, disable AutoNeg and force link.\r\n"); -+ -+ /* Disable auto-negotiation in the TXCW register */ -+ E1000_WRITE_REG(hw, TXCW, (hw->txcw & ~E1000_TXCW_ANE)); -+ -+ /* Force link-up and also force full-duplex. */ -+ ctrl = E1000_READ_REG(hw, CTRL); -+ ctrl |= (E1000_CTRL_SLU | E1000_CTRL_FD); -+ E1000_WRITE_REG(hw, CTRL, ctrl); -+ -+ /* Configure Flow Control after forcing link up. */ -+ if((ret_val = e1000_config_fc_after_link_up(hw))) { -+ DEBUGOUT("Error configuring flow control\n"); -+ return ret_val; -+ } -+ } -+ /* If we are forcing link and we are receiving /C/ ordered sets, re-enable -+ * auto-negotiation in the TXCW register and disable forced link in the -+ * Device Control register in an attempt to auto-negotiate with our link -+ * partner. -+ */ -+ else if(((hw->media_type == e1000_media_type_fiber) || -+ (hw->media_type == e1000_media_type_internal_serdes)) && -+ (ctrl & E1000_CTRL_SLU) && -+ (rxcw & E1000_RXCW_C)) { -+ DEBUGOUT("RXing /C/, enable AutoNeg and stop forcing link.\r\n"); -+ E1000_WRITE_REG(hw, TXCW, hw->txcw); -+ E1000_WRITE_REG(hw, CTRL, (ctrl & ~E1000_CTRL_SLU)); -+ } -+#if 0 -+ /* If we force link for non-auto-negotiation switch, check link status -+ * based on MAC synchronization for internal serdes media type. -+ */ -+ else if((hw->media_type == e1000_media_type_internal_serdes) && -+ !(E1000_TXCW_ANE & E1000_READ_REG(hw, TXCW))) { -+ /* SYNCH bit and IV bit are sticky. */ -+ udelay(10); -+ if(E1000_RXCW_SYNCH & E1000_READ_REG(hw, RXCW)) { -+ if(!(rxcw & E1000_RXCW_IV)) { -+ hw->serdes_link_down = FALSE; -+ DEBUGOUT("SERDES: Link is up.\n"); -+ } -+ } else { -+ hw->serdes_link_down = TRUE; -+ DEBUGOUT("SERDES: Link is down.\n"); -+ } -+ } -+#endif -+ return E1000_SUCCESS; -+} -+ -+/****************************************************************************** -+ * Detects the current speed and duplex settings of the hardware. -+ * -+ * hw - Struct containing variables accessed by shared code -+ * speed - Speed of the connection -+ * duplex - Duplex setting of the connection -+ *****************************************************************************/ -+static void -+e1000_get_speed_and_duplex(struct e1000_hw *hw, -+ uint16_t *speed, -+ uint16_t *duplex) -+{ -+ uint32_t status; -+ -+ DEBUGFUNC("e1000_get_speed_and_duplex"); -+ -+ if(hw->mac_type >= e1000_82543) { -+ status = E1000_READ_REG(hw, STATUS); -+ if(status & E1000_STATUS_SPEED_1000) { -+ *speed = SPEED_1000; -+ DEBUGOUT("1000 Mbs, "); -+ } else if(status & E1000_STATUS_SPEED_100) { -+ *speed = SPEED_100; -+ DEBUGOUT("100 Mbs, "); -+ } else { -+ *speed = SPEED_10; -+ DEBUGOUT("10 Mbs, "); -+ } -+ -+ if(status & E1000_STATUS_FD) { -+ *duplex = FULL_DUPLEX; -+ DEBUGOUT("Full Duplex\r\n"); -+ } else { -+ *duplex = HALF_DUPLEX; -+ DEBUGOUT(" Half Duplex\r\n"); -+ } -+ } else { -+ DEBUGOUT("1000 Mbs, Full Duplex\r\n"); -+ *speed = SPEED_1000; -+ *duplex = FULL_DUPLEX; -+ } -+} -+ -+/****************************************************************************** -+* Blocks until autoneg completes or times out (~4.5 seconds) -+* -+* hw - Struct containing variables accessed by shared code -+******************************************************************************/ -+static int -+e1000_wait_autoneg(struct e1000_hw *hw) -+{ -+ int32_t ret_val; -+ uint16_t i; -+ uint16_t phy_data; -+ -+ DEBUGFUNC("e1000_wait_autoneg"); -+ DEBUGOUT("Waiting for Auto-Neg to complete.\n"); -+ -+ /* We will wait for autoneg to complete or 4.5 seconds to expire. */ -+ for(i = PHY_AUTO_NEG_TIME; i > 0; i--) { -+ /* Read the MII Status Register and wait for Auto-Neg -+ * Complete bit to be set. -+ */ -+ if((ret_val = e1000_read_phy_reg(hw, PHY_STATUS, &phy_data))) -+ return ret_val; -+ if((ret_val = e1000_read_phy_reg(hw, PHY_STATUS, &phy_data))) -+ return ret_val; -+ if(phy_data & MII_SR_AUTONEG_COMPLETE) { -+ DEBUGOUT("Auto-Neg complete.\n"); -+ return E1000_SUCCESS; -+ } -+ mdelay(100); -+ } -+ DEBUGOUT("Auto-Neg timedout.\n"); -+ return -E1000_ERR_TIMEOUT; -+} -+ -+/****************************************************************************** -+* Raises the Management Data Clock -+* -+* hw - Struct containing variables accessed by shared code -+* ctrl - Device control register's current value -+******************************************************************************/ -+static void -+e1000_raise_mdi_clk(struct e1000_hw *hw, -+ uint32_t *ctrl) -+{ -+ /* Raise the clock input to the Management Data Clock (by setting the MDC -+ * bit), and then delay 10 microseconds. -+ */ -+ E1000_WRITE_REG(hw, CTRL, (*ctrl | E1000_CTRL_MDC)); -+ E1000_WRITE_FLUSH(hw); -+ udelay(10); -+} -+ -+/****************************************************************************** -+* Lowers the Management Data Clock -+* -+* hw - Struct containing variables accessed by shared code -+* ctrl - Device control register's current value -+******************************************************************************/ -+static void -+e1000_lower_mdi_clk(struct e1000_hw *hw, -+ uint32_t *ctrl) -+{ -+ /* Lower the clock input to the Management Data Clock (by clearing the MDC -+ * bit), and then delay 10 microseconds. -+ */ -+ E1000_WRITE_REG(hw, CTRL, (*ctrl & ~E1000_CTRL_MDC)); -+ E1000_WRITE_FLUSH(hw); -+ udelay(10); -+} -+ -+/****************************************************************************** -+* Shifts data bits out to the PHY -+* -+* hw - Struct containing variables accessed by shared code -+* data - Data to send out to the PHY -+* count - Number of bits to shift out -+* -+* Bits are shifted out in MSB to LSB order. -+******************************************************************************/ -+static void -+e1000_shift_out_mdi_bits(struct e1000_hw *hw, -+ uint32_t data, -+ uint16_t count) -+{ -+ uint32_t ctrl; -+ uint32_t mask; -+ -+ /* We need to shift "count" number of bits out to the PHY. So, the value -+ * in the "data" parameter will be shifted out to the PHY one bit at a -+ * time. In order to do this, "data" must be broken down into bits. -+ */ -+ mask = 0x01; -+ mask <<= (count - 1); -+ -+ ctrl = E1000_READ_REG(hw, CTRL); -+ -+ /* Set MDIO_DIR and MDC_DIR direction bits to be used as output pins. */ -+ ctrl |= (E1000_CTRL_MDIO_DIR | E1000_CTRL_MDC_DIR); -+ -+ while(mask) { -+ /* A "1" is shifted out to the PHY by setting the MDIO bit to "1" and -+ * then raising and lowering the Management Data Clock. A "0" is -+ * shifted out to the PHY by setting the MDIO bit to "0" and then -+ * raising and lowering the clock. -+ */ -+ if(data & mask) ctrl |= E1000_CTRL_MDIO; -+ else ctrl &= ~E1000_CTRL_MDIO; -+ -+ E1000_WRITE_REG(hw, CTRL, ctrl); -+ E1000_WRITE_FLUSH(hw); -+ -+ udelay(10); -+ -+ e1000_raise_mdi_clk(hw, &ctrl); -+ e1000_lower_mdi_clk(hw, &ctrl); -+ -+ mask = mask >> 1; -+ } -+} -+ -+/****************************************************************************** -+* Shifts data bits in from the PHY -+* -+* hw - Struct containing variables accessed by shared code -+* -+* Bits are shifted in in MSB to LSB order. -+******************************************************************************/ -+static uint16_t -+e1000_shift_in_mdi_bits(struct e1000_hw *hw) -+{ -+ uint32_t ctrl; -+ uint16_t data = 0; -+ uint8_t i; -+ -+ /* In order to read a register from the PHY, we need to shift in a total -+ * of 18 bits from the PHY. The first two bit (turnaround) times are used -+ * to avoid contention on the MDIO pin when a read operation is performed. -+ * These two bits are ignored by us and thrown away. Bits are "shifted in" -+ * by raising the input to the Management Data Clock (setting the MDC bit), -+ * and then reading the value of the MDIO bit. -+ */ -+ ctrl = E1000_READ_REG(hw, CTRL); -+ -+ /* Clear MDIO_DIR (SWDPIO1) to indicate this bit is to be used as input. */ -+ ctrl &= ~E1000_CTRL_MDIO_DIR; -+ ctrl &= ~E1000_CTRL_MDIO; -+ -+ E1000_WRITE_REG(hw, CTRL, ctrl); -+ E1000_WRITE_FLUSH(hw); -+ -+ /* Raise and Lower the clock before reading in the data. This accounts for -+ * the turnaround bits. The first clock occurred when we clocked out the -+ * last bit of the Register Address. -+ */ -+ e1000_raise_mdi_clk(hw, &ctrl); -+ e1000_lower_mdi_clk(hw, &ctrl); -+ -+ for(data = 0, i = 0; i < 16; i++) { -+ data = data << 1; -+ e1000_raise_mdi_clk(hw, &ctrl); -+ ctrl = E1000_READ_REG(hw, CTRL); -+ /* Check to see if we shifted in a "1". */ -+ if(ctrl & E1000_CTRL_MDIO) data |= 1; -+ e1000_lower_mdi_clk(hw, &ctrl); -+ } -+ -+ e1000_raise_mdi_clk(hw, &ctrl); -+ e1000_lower_mdi_clk(hw, &ctrl); -+ -+ return data; -+} -+ -+/***************************************************************************** -+* Reads the value from a PHY register, if the value is on a specific non zero -+* page, sets the page first. -+* -+* hw - Struct containing variables accessed by shared code -+* reg_addr - address of the PHY register to read -+******************************************************************************/ -+static int -+e1000_read_phy_reg(struct e1000_hw *hw, -+ uint32_t reg_addr, -+ uint16_t *phy_data) -+{ -+ uint32_t ret_val; -+ -+ DEBUGFUNC("e1000_read_phy_reg"); -+ -+ if(hw->phy_type == e1000_phy_igp && -+ (reg_addr > MAX_PHY_MULTI_PAGE_REG)) { -+ if((ret_val = e1000_write_phy_reg_ex(hw, IGP01E1000_PHY_PAGE_SELECT, -+ (uint16_t)reg_addr))) -+ return ret_val; -+ } -+ -+ ret_val = e1000_read_phy_reg_ex(hw, IGP01E1000_PHY_PAGE_SELECT & reg_addr, -+ phy_data); -+ -+ return ret_val; -+} -+ -+static int -+e1000_read_phy_reg_ex(struct e1000_hw *hw, -+ uint32_t reg_addr, -+ uint16_t *phy_data) -+{ -+ uint32_t i; -+ uint32_t mdic = 0; -+ const uint32_t phy_addr = 1; -+ -+ DEBUGFUNC("e1000_read_phy_reg_ex"); -+ -+ if(reg_addr > MAX_PHY_REG_ADDRESS) { -+ DEBUGOUT1("PHY Address %d is out of range\n", reg_addr); -+ return -E1000_ERR_PARAM; -+ } -+ -+ if(hw->mac_type > e1000_82543) { -+ /* Set up Op-code, Phy Address, and register address in the MDI -+ * Control register. The MAC will take care of interfacing with the -+ * PHY to retrieve the desired data. -+ */ -+ mdic = ((reg_addr << E1000_MDIC_REG_SHIFT) | -+ (phy_addr << E1000_MDIC_PHY_SHIFT) | -+ (E1000_MDIC_OP_READ)); -+ -+ E1000_WRITE_REG(hw, MDIC, mdic); -+ -+ /* Poll the ready bit to see if the MDI read completed */ -+ for(i = 0; i < 64; i++) { -+ udelay(50); -+ mdic = E1000_READ_REG(hw, MDIC); -+ if(mdic & E1000_MDIC_READY) break; -+ } -+ if(!(mdic & E1000_MDIC_READY)) { -+ DEBUGOUT("MDI Read did not complete\n"); -+ return -E1000_ERR_PHY; -+ } -+ if(mdic & E1000_MDIC_ERROR) { -+ DEBUGOUT("MDI Error\n"); -+ return -E1000_ERR_PHY; -+ } -+ *phy_data = (uint16_t) mdic; -+ } else { -+ /* We must first send a preamble through the MDIO pin to signal the -+ * beginning of an MII instruction. This is done by sending 32 -+ * consecutive "1" bits. -+ */ -+ e1000_shift_out_mdi_bits(hw, PHY_PREAMBLE, PHY_PREAMBLE_SIZE); -+ -+ /* Now combine the next few fields that are required for a read -+ * operation. We use this method instead of calling the -+ * e1000_shift_out_mdi_bits routine five different times. The format of -+ * a MII read instruction consists of a shift out of 14 bits and is -+ * defined as follows: -+ * -+ * followed by a shift in of 18 bits. This first two bits shifted in -+ * are TurnAround bits used to avoid contention on the MDIO pin when a -+ * READ operation is performed. These two bits are thrown away -+ * followed by a shift in of 16 bits which contains the desired data. -+ */ -+ mdic = ((reg_addr) | (phy_addr << 5) | -+ (PHY_OP_READ << 10) | (PHY_SOF << 12)); -+ -+ e1000_shift_out_mdi_bits(hw, mdic, 14); -+ -+ /* Now that we've shifted out the read command to the MII, we need to -+ * "shift in" the 16-bit value (18 total bits) of the requested PHY -+ * register address. -+ */ -+ *phy_data = e1000_shift_in_mdi_bits(hw); -+ } -+ return E1000_SUCCESS; -+} -+ -+/****************************************************************************** -+* Writes a value to a PHY register -+* -+* hw - Struct containing variables accessed by shared code -+* reg_addr - address of the PHY register to write -+* data - data to write to the PHY -+******************************************************************************/ -+static int -+e1000_write_phy_reg(struct e1000_hw *hw, -+ uint32_t reg_addr, -+ uint16_t phy_data) -+{ -+ uint32_t ret_val; -+ -+ DEBUGFUNC("e1000_write_phy_reg"); -+ -+ if(hw->phy_type == e1000_phy_igp && -+ (reg_addr > MAX_PHY_MULTI_PAGE_REG)) { -+ if((ret_val = e1000_write_phy_reg_ex(hw, IGP01E1000_PHY_PAGE_SELECT, -+ (uint16_t)reg_addr))) -+ return ret_val; -+ } -+ -+ ret_val = e1000_write_phy_reg_ex(hw, IGP01E1000_PHY_PAGE_SELECT & reg_addr, -+ phy_data); -+ -+ return ret_val; -+} -+ -+static int -+e1000_write_phy_reg_ex(struct e1000_hw *hw, -+ uint32_t reg_addr, -+ uint16_t phy_data) -+{ -+ uint32_t i; -+ uint32_t mdic = 0; -+ const uint32_t phy_addr = 1; -+ -+ DEBUGFUNC("e1000_write_phy_reg_ex"); -+ -+ if(reg_addr > MAX_PHY_REG_ADDRESS) { -+ DEBUGOUT1("PHY Address %d is out of range\n", reg_addr); -+ return -E1000_ERR_PARAM; -+ } -+ -+ if(hw->mac_type > e1000_82543) { -+ /* Set up Op-code, Phy Address, register address, and data intended -+ * for the PHY register in the MDI Control register. The MAC will take -+ * care of interfacing with the PHY to send the desired data. -+ */ -+ mdic = (((uint32_t) phy_data) | -+ (reg_addr << E1000_MDIC_REG_SHIFT) | -+ (phy_addr << E1000_MDIC_PHY_SHIFT) | -+ (E1000_MDIC_OP_WRITE)); -+ -+ E1000_WRITE_REG(hw, MDIC, mdic); -+ -+ /* Poll the ready bit to see if the MDI read completed */ -+ for(i = 0; i < 640; i++) { -+ udelay(5); -+ mdic = E1000_READ_REG(hw, MDIC); -+ if(mdic & E1000_MDIC_READY) break; -+ } -+ if(!(mdic & E1000_MDIC_READY)) { -+ DEBUGOUT("MDI Write did not complete\n"); -+ return -E1000_ERR_PHY; -+ } -+ } else { -+ /* We'll need to use the SW defined pins to shift the write command -+ * out to the PHY. We first send a preamble to the PHY to signal the -+ * beginning of the MII instruction. This is done by sending 32 -+ * consecutive "1" bits. -+ */ -+ e1000_shift_out_mdi_bits(hw, PHY_PREAMBLE, PHY_PREAMBLE_SIZE); -+ -+ /* Now combine the remaining required fields that will indicate a -+ * write operation. We use this method instead of calling the -+ * e1000_shift_out_mdi_bits routine for each field in the command. The -+ * format of a MII write instruction is as follows: -+ * . -+ */ -+ mdic = ((PHY_TURNAROUND) | (reg_addr << 2) | (phy_addr << 7) | -+ (PHY_OP_WRITE << 12) | (PHY_SOF << 14)); -+ mdic <<= 16; -+ mdic |= (uint32_t) phy_data; -+ -+ e1000_shift_out_mdi_bits(hw, mdic, 32); -+ } -+ -+ return E1000_SUCCESS; -+} -+ -+/****************************************************************************** -+* Returns the PHY to the power-on reset state -+* -+* hw - Struct containing variables accessed by shared code -+******************************************************************************/ -+static void -+e1000_phy_hw_reset(struct e1000_hw *hw) -+{ -+ uint32_t ctrl, ctrl_ext; -+ -+ DEBUGFUNC("e1000_phy_hw_reset"); -+ -+ DEBUGOUT("Resetting Phy...\n"); -+ -+ if(hw->mac_type > e1000_82543) { -+ /* Read the device control register and assert the E1000_CTRL_PHY_RST -+ * bit. Then, take it out of reset. -+ */ -+ ctrl = E1000_READ_REG(hw, CTRL); -+ E1000_WRITE_REG(hw, CTRL, ctrl | E1000_CTRL_PHY_RST); -+ E1000_WRITE_FLUSH(hw); -+ mdelay(10); -+ E1000_WRITE_REG(hw, CTRL, ctrl); -+ E1000_WRITE_FLUSH(hw); -+ } else { -+ /* Read the Extended Device Control Register, assert the PHY_RESET_DIR -+ * bit to put the PHY into reset. Then, take it out of reset. -+ */ -+ ctrl_ext = E1000_READ_REG(hw, CTRL_EXT); -+ ctrl_ext |= E1000_CTRL_EXT_SDP4_DIR; -+ ctrl_ext &= ~E1000_CTRL_EXT_SDP4_DATA; -+ E1000_WRITE_REG(hw, CTRL_EXT, ctrl_ext); -+ E1000_WRITE_FLUSH(hw); -+ mdelay(10); -+ ctrl_ext |= E1000_CTRL_EXT_SDP4_DATA; -+ E1000_WRITE_REG(hw, CTRL_EXT, ctrl_ext); -+ E1000_WRITE_FLUSH(hw); -+ } -+ udelay(150); -+} -+ -+/****************************************************************************** -+* Resets the PHY -+* -+* hw - Struct containing variables accessed by shared code -+* -+* Sets bit 15 of the MII Control regiser -+******************************************************************************/ -+static int -+e1000_phy_reset(struct e1000_hw *hw) -+{ -+ int32_t ret_val; -+ uint16_t phy_data; -+ -+ DEBUGFUNC("e1000_phy_reset"); -+ -+ if(hw->mac_type != e1000_82541_rev_2) { -+ if((ret_val = e1000_read_phy_reg(hw, PHY_CTRL, &phy_data))) -+ return ret_val; -+ -+ phy_data |= MII_CR_RESET; -+ if((ret_val = e1000_write_phy_reg(hw, PHY_CTRL, phy_data))) -+ return ret_val; -+ -+ udelay(1); -+ } else e1000_phy_hw_reset(hw); -+ -+ if(hw->phy_type == e1000_phy_igp) -+ e1000_phy_init_script(hw); -+ -+ return E1000_SUCCESS; -+} -+ -+/****************************************************************************** -+* Probes the expected PHY address for known PHY IDs -+* -+* hw - Struct containing variables accessed by shared code -+******************************************************************************/ -+static int -+e1000_detect_gig_phy(struct e1000_hw *hw) -+{ -+ int32_t phy_init_status, ret_val; -+ uint16_t phy_id_high, phy_id_low; -+ boolean_t match = FALSE; -+ -+ DEBUGFUNC("e1000_detect_gig_phy"); -+ -+ /* Read the PHY ID Registers to identify which PHY is onboard. */ -+ if((ret_val = e1000_read_phy_reg(hw, PHY_ID1, &phy_id_high))) -+ return ret_val; -+ -+ hw->phy_id = (uint32_t) (phy_id_high << 16); -+ udelay(20); -+ if((ret_val = e1000_read_phy_reg(hw, PHY_ID2, &phy_id_low))) -+ return ret_val; -+ -+ hw->phy_id |= (uint32_t) (phy_id_low & PHY_REVISION_MASK); -+#ifdef LINUX_DRIVER -+ hw->phy_revision = (uint32_t) phy_id_low & ~PHY_REVISION_MASK; -+#endif -+ -+ switch(hw->mac_type) { -+ case e1000_82543: -+ if(hw->phy_id == M88E1000_E_PHY_ID) match = TRUE; -+ break; -+ case e1000_82544: -+ if(hw->phy_id == M88E1000_I_PHY_ID) match = TRUE; -+ break; -+ case e1000_82540: -+ case e1000_82545: -+ case e1000_82545_rev_3: -+ case e1000_82546: -+ case e1000_82546_rev_3: -+ if(hw->phy_id == M88E1011_I_PHY_ID) match = TRUE; -+ break; -+ case e1000_82541: -+ case e1000_82541_rev_2: -+ case e1000_82547: -+ case e1000_82547_rev_2: -+ if(hw->phy_id == IGP01E1000_I_PHY_ID) match = TRUE; -+ break; -+ default: -+ DEBUGOUT1("Invalid MAC type %d\n", hw->mac_type); -+ return -E1000_ERR_CONFIG; -+ } -+ phy_init_status = e1000_set_phy_type(hw); -+ -+ if ((match) && (phy_init_status == E1000_SUCCESS)) { -+ DEBUGOUT1("PHY ID 0x%X detected\n", hw->phy_id); -+ return E1000_SUCCESS; -+ } -+ DEBUGOUT1("Invalid PHY ID 0x%X\n", hw->phy_id); -+ return -E1000_ERR_PHY; -+} -+ -+/****************************************************************************** -+ * Sets up eeprom variables in the hw struct. Must be called after mac_type -+ * is configured. -+ * -+ * hw - Struct containing variables accessed by shared code -+ *****************************************************************************/ -+static void -+e1000_init_eeprom_params(struct e1000_hw *hw) -+{ -+ struct e1000_eeprom_info *eeprom = &hw->eeprom; -+ uint32_t eecd = E1000_READ_REG(hw, EECD); -+ uint16_t eeprom_size; -+ -+ DEBUGFUNC("e1000_init_eeprom_params"); -+ -+ switch (hw->mac_type) { -+ case e1000_82542_rev2_0: -+ case e1000_82542_rev2_1: -+ case e1000_82543: -+ case e1000_82544: -+ eeprom->type = e1000_eeprom_microwire; -+ eeprom->word_size = 64; -+ eeprom->opcode_bits = 3; -+ eeprom->address_bits = 6; -+ eeprom->delay_usec = 50; -+ break; -+ case e1000_82540: -+ case e1000_82545: -+ case e1000_82545_rev_3: -+ case e1000_82546: -+ case e1000_82546_rev_3: -+ eeprom->type = e1000_eeprom_microwire; -+ eeprom->opcode_bits = 3; -+ eeprom->delay_usec = 50; -+ if(eecd & E1000_EECD_SIZE) { -+ eeprom->word_size = 256; -+ eeprom->address_bits = 8; -+ } else { -+ eeprom->word_size = 64; -+ eeprom->address_bits = 6; -+ } -+ break; -+ case e1000_82541: -+ case e1000_82541_rev_2: -+ case e1000_82547: -+ case e1000_82547_rev_2: -+ if (eecd & E1000_EECD_TYPE) { -+ eeprom->type = e1000_eeprom_spi; -+ if (eecd & E1000_EECD_ADDR_BITS) { -+ eeprom->page_size = 32; -+ eeprom->address_bits = 16; -+ } else { -+ eeprom->page_size = 8; -+ eeprom->address_bits = 8; -+ } -+ } else { -+ eeprom->type = e1000_eeprom_microwire; -+ eeprom->opcode_bits = 3; -+ eeprom->delay_usec = 50; -+ if (eecd & E1000_EECD_ADDR_BITS) { -+ eeprom->word_size = 256; -+ eeprom->address_bits = 8; -+ } else { -+ eeprom->word_size = 64; -+ eeprom->address_bits = 6; -+ } -+ } -+ break; -+ default: -+ eeprom->type = e1000_eeprom_spi; -+ if (eecd & E1000_EECD_ADDR_BITS) { -+ eeprom->page_size = 32; -+ eeprom->address_bits = 16; -+ } else { -+ eeprom->page_size = 8; -+ eeprom->address_bits = 8; -+ } -+ break; -+ } -+ -+ if (eeprom->type == e1000_eeprom_spi) { -+ eeprom->opcode_bits = 8; -+ eeprom->delay_usec = 1; -+ eeprom->word_size = 64; -+ if (e1000_read_eeprom(hw, EEPROM_CFG, 1, &eeprom_size) == 0) { -+ eeprom_size &= EEPROM_SIZE_MASK; -+ -+ switch (eeprom_size) { -+ case EEPROM_SIZE_16KB: -+ eeprom->word_size = 8192; -+ break; -+ case EEPROM_SIZE_8KB: -+ eeprom->word_size = 4096; -+ break; -+ case EEPROM_SIZE_4KB: -+ eeprom->word_size = 2048; -+ break; -+ case EEPROM_SIZE_2KB: -+ eeprom->word_size = 1024; -+ break; -+ case EEPROM_SIZE_1KB: -+ eeprom->word_size = 512; -+ break; -+ case EEPROM_SIZE_512B: -+ eeprom->word_size = 256; -+ break; -+ case EEPROM_SIZE_128B: -+ default: -+ break; -+ } -+ } -+ } -+} -+ -+/** -+ * e1000_reset - Reset the adapter -+ */ -+ -+static int -+e1000_reset(struct e1000_hw *hw) -+{ -+ uint32_t pba; -+ /* Repartition Pba for greater than 9k mtu -+ * To take effect CTRL.RST is required. -+ */ -+ -+ if(hw->mac_type < e1000_82547) { -+ pba = E1000_PBA_48K; -+ } else { -+ pba = E1000_PBA_30K; -+ } -+ E1000_WRITE_REG(hw, PBA, pba); -+ -+ /* flow control settings */ -+#if 0 -+ hw->fc_high_water = FC_DEFAULT_HI_THRESH; -+ hw->fc_low_water = FC_DEFAULT_LO_THRESH; -+ hw->fc_pause_time = FC_DEFAULT_TX_TIMER; -+ hw->fc_send_xon = 1; -+ hw->fc = hw->original_fc; -+#endif -+ -+ e1000_reset_hw(hw); -+ if(hw->mac_type >= e1000_82544) -+ E1000_WRITE_REG(hw, WUC, 0); -+ return e1000_init_hw(hw); -+} -+ -+/** -+ * e1000_sw_init - Initialize general software structures (struct e1000_adapter) -+ * @adapter: board private structure to initialize -+ * -+ * e1000_sw_init initializes the Adapter private data structure. -+ * Fields are initialized based on PCI device information and -+ * OS network device settings (MTU size). -+ **/ -+ -+static int -+e1000_sw_init(struct pci_device *pdev, struct e1000_hw *hw) -+{ -+ int result; -+ -+ /* PCI config space info */ -+ pci_read_config_word(pdev, PCI_VENDOR_ID, &hw->vendor_id); -+ pci_read_config_word(pdev, PCI_DEVICE_ID, &hw->device_id); -+ pci_read_config_byte(pdev, PCI_REVISION, &hw->revision_id); -+#if 0 -+ pci_read_config_word(pdev, PCI_SUBSYSTEM_VENDOR_ID, -+ &hw->subsystem_vendor_id); -+ pci_read_config_word(pdev, PCI_SUBSYSTEM_ID, &hw->subsystem_id); -+#endif -+ -+ pci_read_config_word(pdev, PCI_COMMAND, &hw->pci_cmd_word); -+ -+ /* identify the MAC */ -+ -+ result = e1000_set_mac_type(hw); -+ if (result) { -+ E1000_ERR("Unknown MAC Type\n"); -+ return result; -+ } -+ -+ /* initialize eeprom parameters */ -+ -+ e1000_init_eeprom_params(hw); -+ -+#if 0 -+ if((hw->mac_type == e1000_82541) || -+ (hw->mac_type == e1000_82547) || -+ (hw->mac_type == e1000_82541_rev_2) || -+ (hw->mac_type == e1000_82547_rev_2)) -+ hw->phy_init_script = 1; -+#endif -+ -+ e1000_set_media_type(hw); -+ -+#if 0 -+ if(hw->mac_type < e1000_82543) -+ hw->report_tx_early = 0; -+ else -+ hw->report_tx_early = 1; -+ -+ hw->wait_autoneg_complete = FALSE; -+#endif -+ hw->tbi_compatibility_en = TRUE; -+#if 0 -+ hw->adaptive_ifs = TRUE; -+ -+ /* Copper options */ -+ -+ if(hw->media_type == e1000_media_type_copper) { -+ hw->mdix = AUTO_ALL_MODES; -+ hw->disable_polarity_correction = FALSE; -+ hw->master_slave = E1000_MASTER_SLAVE; -+ } -+#endif -+ return E1000_SUCCESS; -+} -+ -+static void fill_rx (void) -+{ -+ struct e1000_rx_desc *rd; -+ rx_last = rx_tail; -+ rd = rx_base + rx_tail; -+ rx_tail = (rx_tail + 1) % 8; -+ memset (rd, 0, 16); -+ rd->buffer_addr = virt_to_bus(&packet); -+ E1000_WRITE_REG (&hw, RDT, rx_tail); -+} -+ -+static void init_descriptor (void) -+{ -+ unsigned long ptr; -+ unsigned long tctl; -+ -+ ptr = virt_to_phys(tx_pool); -+ if (ptr & 0xf) -+ ptr = (ptr + 0x10) & (~0xf); -+ -+ tx_base = phys_to_virt(ptr); -+ -+ E1000_WRITE_REG (&hw, TDBAL, virt_to_bus(tx_base)); -+ E1000_WRITE_REG (&hw, TDBAH, 0); -+ E1000_WRITE_REG (&hw, TDLEN, 128); -+ -+ /* Setup the HW Tx Head and Tail descriptor pointers */ -+ -+ E1000_WRITE_REG (&hw, TDH, 0); -+ E1000_WRITE_REG (&hw, TDT, 0); -+ tx_tail = 0; -+ -+ /* Program the Transmit Control Register */ -+ -+#ifdef LINUX_DRIVER_TCTL -+ tctl = E1000_READ_REG(&hw, TCTL); -+ -+ tctl &= ~E1000_TCTL_CT; -+ tctl |= E1000_TCTL_EN | E1000_TCTL_PSP | -+ (E1000_COLLISION_THRESHOLD << E1000_CT_SHIFT); -+#else -+ tctl = E1000_TCTL_PSP | E1000_TCTL_EN | -+ (E1000_COLLISION_THRESHOLD << E1000_CT_SHIFT) | -+ (E1000_HDX_COLLISION_DISTANCE << E1000_COLD_SHIFT); -+#endif -+ -+ E1000_WRITE_REG (&hw, TCTL, tctl); -+ -+ e1000_config_collision_dist(&hw); -+ -+ -+ rx_tail = 0; -+ /* disable receive */ -+ E1000_WRITE_REG (&hw, RCTL, 0); -+ ptr = virt_to_phys(rx_pool); -+ if (ptr & 0xf) -+ ptr = (ptr + 0x10) & (~0xf); -+ rx_base = phys_to_virt(ptr); -+ -+ /* Setup the Base and Length of the Rx Descriptor Ring */ -+ -+ E1000_WRITE_REG (&hw, RDBAL, virt_to_bus(rx_base)); -+ E1000_WRITE_REG (&hw, RDBAH, 0); -+ -+ E1000_WRITE_REG (&hw, RDLEN, 128); -+ -+ /* Setup the HW Rx Head and Tail Descriptor Pointers */ -+ E1000_WRITE_REG (&hw, RDH, 0); -+ E1000_WRITE_REG (&hw, RDT, 0); -+ -+ E1000_WRITE_REG (&hw, RCTL, -+ E1000_RCTL_EN | -+ E1000_RCTL_BAM | -+ E1000_RCTL_SZ_2048 | -+ E1000_RCTL_MPE); -+ fill_rx(); -+} -+ -+ -+ -+/************************************************************************** -+POLL - Wait for a frame -+***************************************************************************/ -+static int -+e1000_poll (struct nic *nic, int retrieve) -+{ -+ /* return true if there's an ethernet packet ready to read */ -+ /* nic->packet should contain data on return */ -+ /* nic->packetlen should contain length of data */ -+ struct e1000_rx_desc *rd; -+ -+ rd = rx_base + rx_last; -+ if (!rd->status & E1000_RXD_STAT_DD) -+ return 0; -+ -+ if ( ! retrieve ) return 1; -+ -+ // printf("recv: packet %! -> %! len=%d \n", packet+6, packet,rd->Length); -+ memcpy (nic->packet, packet, rd->length); -+ nic->packetlen = rd->length; -+ fill_rx (); -+ return 1; -+} -+ -+/************************************************************************** -+TRANSMIT - Transmit a frame -+***************************************************************************/ -+static void -+e1000_transmit (struct nic *nic, const char *d, /* Destination */ -+ unsigned int type, /* Type */ -+ unsigned int size, /* size */ -+ const char *p) /* Packet */ -+{ -+ /* send the packet to destination */ -+ struct eth_hdr { -+ unsigned char dst_addr[ETH_ALEN]; -+ unsigned char src_addr[ETH_ALEN]; -+ unsigned short type; -+ } hdr; -+ struct e1000_tx_desc *txhd; /* header */ -+ struct e1000_tx_desc *txp; /* payload */ -+ DEBUGFUNC("send"); -+ -+ memcpy (&hdr.dst_addr, d, ETH_ALEN); -+ memcpy (&hdr.src_addr, nic->node_addr, ETH_ALEN); -+ -+ hdr.type = htons (type); -+ txhd = tx_base + tx_tail; -+ tx_tail = (tx_tail + 1) % 8; -+ txp = tx_base + tx_tail; -+ tx_tail = (tx_tail + 1) % 8; -+ -+ txhd->buffer_addr = virt_to_bus (&hdr); -+ txhd->lower.data = sizeof (hdr); -+ txhd->upper.data = 0; -+ -+ txp->buffer_addr = virt_to_bus(p); -+ txp->lower.data = E1000_TXD_CMD_RPS | E1000_TXD_CMD_EOP | E1000_TXD_CMD_IFCS | size; -+ txp->upper.data = 0; -+ -+ E1000_WRITE_REG (&hw, TDT, tx_tail); -+ while (!(txp->upper.data & E1000_TXD_STAT_DD)) { -+ udelay(10); /* give the nic a chance to write to the register */ -+ poll_interruptions(); -+ } -+ DEBUGFUNC("send end"); -+} -+ -+ -+/************************************************************************** -+DISABLE - Turn off ethernet interface -+***************************************************************************/ -+static void e1000_disable (struct dev *dev __unused) -+{ -+ /* Clear the transmit ring */ -+ E1000_WRITE_REG (&hw, TDH, 0); -+ E1000_WRITE_REG (&hw, TDT, 0); -+ -+ /* Clear the receive ring */ -+ E1000_WRITE_REG (&hw, RDH, 0); -+ E1000_WRITE_REG (&hw, RDT, 0); -+ -+ /* put the card in its initial state */ -+ E1000_WRITE_REG (&hw, CTRL, E1000_CTRL_RST); -+ -+ /* Turn off the ethernet interface */ -+ E1000_WRITE_REG (&hw, RCTL, 0); -+ E1000_WRITE_REG (&hw, TCTL, 0); -+ mdelay (10); -+ -+ /* Unmap my window to the device */ -+ iounmap(hw.hw_addr); -+} -+ -+/************************************************************************** -+IRQ - Enable, Disable, or Force interrupts -+***************************************************************************/ -+static void e1000_irq(struct nic *nic __unused, irq_action_t action __unused) -+{ -+ switch ( action ) { -+ case DISABLE : -+ break; -+ case ENABLE : -+ break; -+ case FORCE : -+ break; -+ } -+} -+ -+#define IORESOURCE_IO 0x00000100 /* Resource type */ -+#define BAR_0 0 -+#define BAR_1 1 -+#define BAR_5 5 -+ -+/************************************************************************** -+PROBE - Look for an adapter, this routine's visible to the outside -+You should omit the last argument struct pci_device * for a non-PCI NIC -+***************************************************************************/ -+static int e1000_probe(struct dev *dev, struct pci_device *p) -+{ -+ struct nic *nic = (struct nic *)dev; -+ unsigned long mmio_start, mmio_len; -+ int ret_val, i; -+ -+ if (p == 0) -+ return 0; -+ /* Initialize hw with default values */ -+ memset(&hw, 0, sizeof(hw)); -+ hw.pdev = p; -+ -+#if 1 -+ /* Are these variables needed? */ -+ hw.fc = e1000_fc_none; -+#if 0 -+ hw.original_fc = e1000_fc_none; -+#endif -+ hw.autoneg_failed = 0; -+#if 0 -+ hw.get_link_status = TRUE; -+#endif -+#endif -+ -+ mmio_start = pci_bar_start(p, PCI_BASE_ADDRESS_0); -+ mmio_len = pci_bar_size(p, PCI_BASE_ADDRESS_0); -+ hw.hw_addr = ioremap(mmio_start, mmio_len); -+ -+ for(i = BAR_1; i <= BAR_5; i++) { -+ if(pci_bar_size(p, i) == 0) -+ continue; -+ if(pci_find_capability(p, i) & IORESOURCE_IO) { -+ hw.io_base = pci_bar_start(p, i); -+ break; -+ } -+ } -+ -+ adjust_pci_device(p); -+ -+ nic->ioaddr = p->ioaddr & ~3; -+ nic->irqno = 0; -+ -+ /* From Matt Hortman */ -+ /* MAC and Phy settings */ -+ -+ /* setup the private structure */ -+ if (e1000_sw_init(p, &hw) < 0) { -+ iounmap(hw.hw_addr); -+ return 0; -+ } -+ -+ /* make sure the EEPROM is good */ -+ -+ if (e1000_validate_eeprom_checksum(&hw) < 0) { -+ printf ("The EEPROM Checksum Is Not Valid\n"); -+ iounmap(hw.hw_addr); -+ return 0; -+ } -+ -+ /* copy the MAC address out of the EEPROM */ -+ -+ e1000_read_mac_addr(&hw); -+ memcpy (nic->node_addr, hw.mac_addr, ETH_ALEN); -+ -+ printf("Ethernet addr: %!\n", nic->node_addr); -+ -+ /* reset the hardware with the new settings */ -+ -+ ret_val = e1000_reset(&hw); -+ if (ret_val < 0) { -+ if ((ret_val == -E1000_ERR_NOLINK) || -+ (ret_val == -E1000_ERR_TIMEOUT)) { -+ E1000_ERR("Valid Link not detected\n"); -+ } else { -+ E1000_ERR("Hardware Initialization Failed\n"); -+ } -+ iounmap(hw.hw_addr); -+ return 0; -+ } -+ init_descriptor(); -+ -+ /* point to NIC specific routines */ -+ dev->disable = e1000_disable; -+ nic->poll = e1000_poll; -+ nic->transmit = e1000_transmit; -+ nic->irq = e1000_irq; -+ -+ return 1; -+} -+ -+static struct pci_id e1000_nics[] = { -+PCI_ROM(0x8086, 0x1000, "e1000-82542", "Intel EtherExpressPro1000"), -+PCI_ROM(0x8086, 0x1001, "e1000-82543gc-fiber", "Intel EtherExpressPro1000 82543GC Fiber"), -+PCI_ROM(0x8086, 0x1004, "e1000-82543gc-copper", "Intel EtherExpressPro1000 82543GC Copper"), -+PCI_ROM(0x8086, 0x1008, "e1000-82544ei-copper", "Intel EtherExpressPro1000 82544EI Copper"), -+PCI_ROM(0x8086, 0x1009, "e1000-82544ei-fiber", "Intel EtherExpressPro1000 82544EI Fiber"), -+PCI_ROM(0x8086, 0x100C, "e1000-82544gc-copper", "Intel EtherExpressPro1000 82544GC Copper"), -+PCI_ROM(0x8086, 0x100D, "e1000-82544gc-lom", "Intel EtherExpressPro1000 82544GC LOM"), -+PCI_ROM(0x8086, 0x100E, "e1000-82540em", "Intel EtherExpressPro1000 82540EM"), -+PCI_ROM(0x8086, 0x100F, "e1000-82545em-copper", "Intel EtherExpressPro1000 82545EM Copper"), -+PCI_ROM(0x8086, 0x1010, "e1000-82546eb-copper", "Intel EtherExpressPro1000 82546EB Copper"), -+PCI_ROM(0x8086, 0x1011, "e1000-82545em-fiber", "Intel EtherExpressPro1000 82545EM Fiber"), -+PCI_ROM(0x8086, 0x1012, "e1000-82546eb-fiber", "Intel EtherExpressPro1000 82546EB Copper"), -+PCI_ROM(0x8086, 0x1013, "e1000-82541ei", "Intel EtherExpressPro1000 82541EI"), -+PCI_ROM(0x8086, 0x1015, "e1000-82540em-lom", "Intel EtherExpressPro1000 82540EM LOM"), -+PCI_ROM(0x8086, 0x1016, "e1000-82540ep-lom", "Intel EtherExpressPro1000 82540EP LOM"), -+PCI_ROM(0x8086, 0x1017, "e1000-82540ep", "Intel EtherExpressPro1000 82540EP"), -+PCI_ROM(0x8086, 0x1018, "e1000-82541ep", "Intel EtherExpressPro1000 82541EP"), -+PCI_ROM(0x8086, 0x1019, "e1000-82547ei", "Intel EtherExpressPro1000 82547EI"), -+PCI_ROM(0x8086, 0x101d, "e1000-82546eb-quad-copper", "Intel EtherExpressPro1000 82546EB Quad Copper"), -+PCI_ROM(0x8086, 0x101e, "e1000-82540ep-lp", "Intel EtherExpressPro1000 82540EP LP"), -+PCI_ROM(0x8086, 0x1026, "e1000-82545gm-copper", "Intel EtherExpressPro1000 82545GM Copper"), -+PCI_ROM(0x8086, 0x1027, "e1000-82545gm-fiber", "Intel EtherExpressPro1000 82545GM Fiber"), -+PCI_ROM(0x8086, 0x1028, "e1000-82545gm-serdes", "Intel EtherExpressPro1000 82545GM SERDES"), -+PCI_ROM(0x8086, 0x1075, "e1000-82547gi", "Intel EtherExpressPro1000 82547GI"), -+PCI_ROM(0x8086, 0x1076, "e1000-82541gi", "Intel EtherExpressPro1000 82541GI"), -+PCI_ROM(0x8086, 0x1077, "e1000-82541gi-mobile", "Intel EtherExpressPro1000 82541GI Mobile"), -+PCI_ROM(0x8086, 0x1078, "e1000-82541er", "Intel EtherExpressPro1000 82541ER"), -+PCI_ROM(0x8086, 0x1079, "e1000-82546gb-copper", "Intel EtherExpressPro1000 82546GB Copper"), -+PCI_ROM(0x8086, 0x107a, "e1000-82546gb-fiber", "Intel EtherExpressPro1000 82546GB Fiber"), -+PCI_ROM(0x8086, 0x107b, "e1000-82546gb-serdes", "Intel EtherExpressPro1000 82546GB SERDES"), -+}; -+ -+struct pci_driver e1000_driver = { -+ .type = NIC_DRIVER, -+ .name = "E1000", -+ .probe = e1000_probe, -+ .ids = e1000_nics, -+ .id_count = sizeof(e1000_nics)/sizeof(e1000_nics[0]), -+ .class = 0, -+}; -Index: b/netboot/e1000_hw.h -=================================================================== ---- /dev/null -+++ b/netboot/e1000_hw.h -@@ -0,0 +1,2058 @@ -+/******************************************************************************* -+ -+ -+ Copyright(c) 1999 - 2003 Intel Corporation. All rights reserved. -+ -+ 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. -+ -+ The full GNU General Public License is included in this distribution in the -+ file called LICENSE. -+ -+ Contact Information: -+ Linux NICS -+ Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497 -+ -+*******************************************************************************/ -+ -+/* e1000_hw.h -+ * Structures, enums, and macros for the MAC -+ */ -+ -+#ifndef _E1000_HW_H_ -+#define _E1000_HW_H_ -+ -+/* Forward declarations of structures used by the shared code */ -+struct e1000_hw; -+struct e1000_hw_stats; -+ -+/* Enumerated types specific to the e1000 hardware */ -+/* Media Access Controlers */ -+typedef enum { -+ e1000_undefined = 0, -+ e1000_82542_rev2_0, -+ e1000_82542_rev2_1, -+ e1000_82543, -+ e1000_82544, -+ e1000_82540, -+ e1000_82545, -+ e1000_82545_rev_3, -+ e1000_82546, -+ e1000_82546_rev_3, -+ e1000_82541, -+ e1000_82541_rev_2, -+ e1000_82547, -+ e1000_82547_rev_2, -+ e1000_num_macs -+} e1000_mac_type; -+ -+typedef enum { -+ e1000_eeprom_uninitialized = 0, -+ e1000_eeprom_spi, -+ e1000_eeprom_microwire, -+ e1000_num_eeprom_types -+} e1000_eeprom_type; -+ -+/* Media Types */ -+typedef enum { -+ e1000_media_type_copper = 0, -+ e1000_media_type_fiber = 1, -+ e1000_media_type_internal_serdes = 2, -+ e1000_num_media_types -+} e1000_media_type; -+ -+typedef enum { -+ e1000_10_half = 0, -+ e1000_10_full = 1, -+ e1000_100_half = 2, -+ e1000_100_full = 3 -+} e1000_speed_duplex_type; -+ -+/* Flow Control Settings */ -+typedef enum { -+ e1000_fc_none = 0, -+ e1000_fc_rx_pause = 1, -+ e1000_fc_tx_pause = 2, -+ e1000_fc_full = 3, -+ e1000_fc_default = 0xFF -+} e1000_fc_type; -+ -+/* PCI bus types */ -+typedef enum { -+ e1000_bus_type_unknown = 0, -+ e1000_bus_type_pci, -+ e1000_bus_type_pcix, -+ e1000_bus_type_reserved -+} e1000_bus_type; -+ -+/* PCI bus speeds */ -+typedef enum { -+ e1000_bus_speed_unknown = 0, -+ e1000_bus_speed_33, -+ e1000_bus_speed_66, -+ e1000_bus_speed_100, -+ e1000_bus_speed_120, -+ e1000_bus_speed_133, -+ e1000_bus_speed_reserved -+} e1000_bus_speed; -+ -+/* PCI bus widths */ -+typedef enum { -+ e1000_bus_width_unknown = 0, -+ e1000_bus_width_32, -+ e1000_bus_width_64, -+ e1000_bus_width_reserved -+} e1000_bus_width; -+ -+/* PHY status info structure and supporting enums */ -+typedef enum { -+ e1000_cable_length_50 = 0, -+ e1000_cable_length_50_80, -+ e1000_cable_length_80_110, -+ e1000_cable_length_110_140, -+ e1000_cable_length_140, -+ e1000_cable_length_undefined = 0xFF -+} e1000_cable_length; -+ -+typedef enum { -+ e1000_igp_cable_length_10 = 10, -+ e1000_igp_cable_length_20 = 20, -+ e1000_igp_cable_length_30 = 30, -+ e1000_igp_cable_length_40 = 40, -+ e1000_igp_cable_length_50 = 50, -+ e1000_igp_cable_length_60 = 60, -+ e1000_igp_cable_length_70 = 70, -+ e1000_igp_cable_length_80 = 80, -+ e1000_igp_cable_length_90 = 90, -+ e1000_igp_cable_length_100 = 100, -+ e1000_igp_cable_length_110 = 110, -+ e1000_igp_cable_length_120 = 120, -+ e1000_igp_cable_length_130 = 130, -+ e1000_igp_cable_length_140 = 140, -+ e1000_igp_cable_length_150 = 150, -+ e1000_igp_cable_length_160 = 160, -+ e1000_igp_cable_length_170 = 170, -+ e1000_igp_cable_length_180 = 180 -+} e1000_igp_cable_length; -+ -+typedef enum { -+ e1000_10bt_ext_dist_enable_normal = 0, -+ e1000_10bt_ext_dist_enable_lower, -+ e1000_10bt_ext_dist_enable_undefined = 0xFF -+} e1000_10bt_ext_dist_enable; -+ -+typedef enum { -+ e1000_rev_polarity_normal = 0, -+ e1000_rev_polarity_reversed, -+ e1000_rev_polarity_undefined = 0xFF -+} e1000_rev_polarity; -+ -+typedef enum { -+ e1000_downshift_normal = 0, -+ e1000_downshift_activated, -+ e1000_downshift_undefined = 0xFF -+} e1000_downshift; -+ -+typedef enum { -+ e1000_polarity_reversal_enabled = 0, -+ e1000_polarity_reversal_disabled, -+ e1000_polarity_reversal_undefined = 0xFF -+} e1000_polarity_reversal; -+ -+typedef enum { -+ e1000_auto_x_mode_manual_mdi = 0, -+ e1000_auto_x_mode_manual_mdix, -+ e1000_auto_x_mode_auto1, -+ e1000_auto_x_mode_auto2, -+ e1000_auto_x_mode_undefined = 0xFF -+} e1000_auto_x_mode; -+ -+typedef enum { -+ e1000_1000t_rx_status_not_ok = 0, -+ e1000_1000t_rx_status_ok, -+ e1000_1000t_rx_status_undefined = 0xFF -+} e1000_1000t_rx_status; -+ -+typedef enum { -+ e1000_phy_m88 = 0, -+ e1000_phy_igp, -+ e1000_phy_undefined = 0xFF -+} e1000_phy_type; -+ -+typedef enum { -+ e1000_ms_hw_default = 0, -+ e1000_ms_force_master, -+ e1000_ms_force_slave, -+ e1000_ms_auto -+} e1000_ms_type; -+ -+typedef enum { -+ e1000_ffe_config_enabled = 0, -+ e1000_ffe_config_active, -+ e1000_ffe_config_blocked -+} e1000_ffe_config; -+ -+typedef enum { -+ e1000_dsp_config_disabled = 0, -+ e1000_dsp_config_enabled, -+ e1000_dsp_config_activated, -+ e1000_dsp_config_undefined = 0xFF -+} e1000_dsp_config; -+ -+struct e1000_phy_info { -+ e1000_cable_length cable_length; -+ e1000_10bt_ext_dist_enable extended_10bt_distance; -+ e1000_rev_polarity cable_polarity; -+ e1000_downshift downshift; -+ e1000_polarity_reversal polarity_correction; -+ e1000_auto_x_mode mdix_mode; -+ e1000_1000t_rx_status local_rx; -+ e1000_1000t_rx_status remote_rx; -+}; -+ -+struct e1000_phy_stats { -+ uint32_t idle_errors; -+ uint32_t receive_errors; -+}; -+ -+struct e1000_eeprom_info { -+ e1000_eeprom_type type; -+ uint16_t word_size; -+ uint16_t opcode_bits; -+ uint16_t address_bits; -+ uint16_t delay_usec; -+ uint16_t page_size; -+}; -+ -+ -+ -+/* Error Codes */ -+#define E1000_SUCCESS 0 -+#define E1000_ERR_EEPROM 1 -+#define E1000_ERR_PHY 2 -+#define E1000_ERR_CONFIG 3 -+#define E1000_ERR_PARAM 4 -+#define E1000_ERR_MAC_TYPE 5 -+#define E1000_ERR_PHY_TYPE 6 -+#define E1000_ERR_NOLINK 7 -+#define E1000_ERR_TIMEOUT 8 -+ -+#define E1000_READ_REG_IO(a, reg) \ -+ e1000_read_reg_io((a), E1000_##reg) -+#define E1000_WRITE_REG_IO(a, reg, val) \ -+ e1000_write_reg_io((a), E1000_##reg, val) -+ -+/* PCI Device IDs */ -+#define E1000_DEV_ID_82542 0x1000 -+#define E1000_DEV_ID_82543GC_FIBER 0x1001 -+#define E1000_DEV_ID_82543GC_COPPER 0x1004 -+#define E1000_DEV_ID_82544EI_COPPER 0x1008 -+#define E1000_DEV_ID_82544EI_FIBER 0x1009 -+#define E1000_DEV_ID_82544GC_COPPER 0x100C -+#define E1000_DEV_ID_82544GC_LOM 0x100D -+#define E1000_DEV_ID_82540EM 0x100E -+#define E1000_DEV_ID_82540EM_LOM 0x1015 -+#define E1000_DEV_ID_82540EP_LOM 0x1016 -+#define E1000_DEV_ID_82540EP 0x1017 -+#define E1000_DEV_ID_82540EP_LP 0x101E -+#define E1000_DEV_ID_82545EM_COPPER 0x100F -+#define E1000_DEV_ID_82545EM_FIBER 0x1011 -+#define E1000_DEV_ID_82545GM_COPPER 0x1026 -+#define E1000_DEV_ID_82545GM_FIBER 0x1027 -+#define E1000_DEV_ID_82545GM_SERDES 0x1028 -+#define E1000_DEV_ID_82546EB_COPPER 0x1010 -+#define E1000_DEV_ID_82546EB_FIBER 0x1012 -+#define E1000_DEV_ID_82546EB_QUAD_COPPER 0x101D -+#define E1000_DEV_ID_82541EI 0x1013 -+#define E1000_DEV_ID_82541EI_MOBILE 0x1018 -+#define E1000_DEV_ID_82541ER 0x1078 -+#define E1000_DEV_ID_82547GI 0x1075 -+#define E1000_DEV_ID_82541GI 0x1076 -+#define E1000_DEV_ID_82541GI_MOBILE 0x1077 -+#define E1000_DEV_ID_82546GB_COPPER 0x1079 -+#define E1000_DEV_ID_82546GB_FIBER 0x107A -+#define E1000_DEV_ID_82546GB_SERDES 0x107B -+#define E1000_DEV_ID_82547EI 0x1019 -+ -+#define NODE_ADDRESS_SIZE 6 -+#define ETH_LENGTH_OF_ADDRESS 6 -+ -+/* MAC decode size is 128K - This is the size of BAR0 */ -+#define MAC_DECODE_SIZE (128 * 1024) -+ -+#define E1000_82542_2_0_REV_ID 2 -+#define E1000_82542_2_1_REV_ID 3 -+ -+#define SPEED_10 10 -+#define SPEED_100 100 -+#define SPEED_1000 1000 -+#define HALF_DUPLEX 1 -+#define FULL_DUPLEX 2 -+ -+/* The sizes (in bytes) of a ethernet packet */ -+#define ENET_HEADER_SIZE 14 -+#define MAXIMUM_ETHERNET_FRAME_SIZE 1518 /* With FCS */ -+#define MINIMUM_ETHERNET_FRAME_SIZE 64 /* With FCS */ -+#define ETHERNET_FCS_SIZE 4 -+#define MAXIMUM_ETHERNET_PACKET_SIZE \ -+ (MAXIMUM_ETHERNET_FRAME_SIZE - ETHERNET_FCS_SIZE) -+#define MINIMUM_ETHERNET_PACKET_SIZE \ -+ (MINIMUM_ETHERNET_FRAME_SIZE - ETHERNET_FCS_SIZE) -+#define CRC_LENGTH ETHERNET_FCS_SIZE -+#define MAX_JUMBO_FRAME_SIZE 0x3F00 -+ -+ -+/* 802.1q VLAN Packet Sizes */ -+#define VLAN_TAG_SIZE 4 /* 802.3ac tag (not DMAed) */ -+ -+/* Ethertype field values */ -+#define ETHERNET_IEEE_VLAN_TYPE 0x8100 /* 802.3ac packet */ -+#define ETHERNET_IP_TYPE 0x0800 /* IP packets */ -+#define ETHERNET_ARP_TYPE 0x0806 /* Address Resolution Protocol (ARP) */ -+ -+/* Packet Header defines */ -+#define IP_PROTOCOL_TCP 6 -+#define IP_PROTOCOL_UDP 0x11 -+ -+/* This defines the bits that are set in the Interrupt Mask -+ * Set/Read Register. Each bit is documented below: -+ * o RXDMT0 = Receive Descriptor Minimum Threshold hit (ring 0) -+ * o RXSEQ = Receive Sequence Error -+ */ -+#define POLL_IMS_ENABLE_MASK ( \ -+ E1000_IMS_RXDMT0 | \ -+ E1000_IMS_RXSEQ) -+ -+/* This defines the bits that are set in the Interrupt Mask -+ * Set/Read Register. Each bit is documented below: -+ * o RXT0 = Receiver Timer Interrupt (ring 0) -+ * o TXDW = Transmit Descriptor Written Back -+ * o RXDMT0 = Receive Descriptor Minimum Threshold hit (ring 0) -+ * o RXSEQ = Receive Sequence Error -+ * o LSC = Link Status Change -+ */ -+#define IMS_ENABLE_MASK ( \ -+ E1000_IMS_RXT0 | \ -+ E1000_IMS_TXDW | \ -+ E1000_IMS_RXDMT0 | \ -+ E1000_IMS_RXSEQ | \ -+ E1000_IMS_LSC) -+ -+/* Number of high/low register pairs in the RAR. The RAR (Receive Address -+ * Registers) holds the directed and multicast addresses that we monitor. We -+ * reserve one of these spots for our directed address, allowing us room for -+ * E1000_RAR_ENTRIES - 1 multicast addresses. -+ */ -+#define E1000_RAR_ENTRIES 15 -+ -+#define MIN_NUMBER_OF_DESCRIPTORS 8 -+#define MAX_NUMBER_OF_DESCRIPTORS 0xFFF8 -+ -+/* Receive Descriptor */ -+struct e1000_rx_desc { -+ uint64_t buffer_addr; /* Address of the descriptor's data buffer */ -+ uint16_t length; /* Length of data DMAed into data buffer */ -+ uint16_t csum; /* Packet checksum */ -+ uint8_t status; /* Descriptor status */ -+ uint8_t errors; /* Descriptor Errors */ -+ uint16_t special; -+}; -+ -+/* Receive Decriptor bit definitions */ -+#define E1000_RXD_STAT_DD 0x01 /* Descriptor Done */ -+#define E1000_RXD_STAT_EOP 0x02 /* End of Packet */ -+#define E1000_RXD_STAT_IXSM 0x04 /* Ignore checksum */ -+#define E1000_RXD_STAT_VP 0x08 /* IEEE VLAN Packet */ -+#define E1000_RXD_STAT_TCPCS 0x20 /* TCP xsum calculated */ -+#define E1000_RXD_STAT_IPCS 0x40 /* IP xsum calculated */ -+#define E1000_RXD_STAT_PIF 0x80 /* passed in-exact filter */ -+#define E1000_RXD_ERR_CE 0x01 /* CRC Error */ -+#define E1000_RXD_ERR_SE 0x02 /* Symbol Error */ -+#define E1000_RXD_ERR_SEQ 0x04 /* Sequence Error */ -+#define E1000_RXD_ERR_CXE 0x10 /* Carrier Extension Error */ -+#define E1000_RXD_ERR_TCPE 0x20 /* TCP/UDP Checksum Error */ -+#define E1000_RXD_ERR_IPE 0x40 /* IP Checksum Error */ -+#define E1000_RXD_ERR_RXE 0x80 /* Rx Data Error */ -+#define E1000_RXD_SPC_VLAN_MASK 0x0FFF /* VLAN ID is in lower 12 bits */ -+#define E1000_RXD_SPC_PRI_MASK 0xE000 /* Priority is in upper 3 bits */ -+#define E1000_RXD_SPC_PRI_SHIFT 0x000D /* Priority is in upper 3 of 16 */ -+#define E1000_RXD_SPC_CFI_MASK 0x1000 /* CFI is bit 12 */ -+#define E1000_RXD_SPC_CFI_SHIFT 0x000C /* CFI is bit 12 */ -+ -+/* mask to determine if packets should be dropped due to frame errors */ -+#define E1000_RXD_ERR_FRAME_ERR_MASK ( \ -+ E1000_RXD_ERR_CE | \ -+ E1000_RXD_ERR_SE | \ -+ E1000_RXD_ERR_SEQ | \ -+ E1000_RXD_ERR_CXE | \ -+ E1000_RXD_ERR_RXE) -+ -+/* Transmit Descriptor */ -+struct e1000_tx_desc { -+ uint64_t buffer_addr; /* Address of the descriptor's data buffer */ -+ union { -+ uint32_t data; -+ struct { -+ uint16_t length; /* Data buffer length */ -+ uint8_t cso; /* Checksum offset */ -+ uint8_t cmd; /* Descriptor control */ -+ } flags; -+ } lower; -+ union { -+ uint32_t data; -+ struct { -+ uint8_t status; /* Descriptor status */ -+ uint8_t css; /* Checksum start */ -+ uint16_t special; -+ } fields; -+ } upper; -+}; -+ -+/* Transmit Descriptor bit definitions */ -+#define E1000_TXD_DTYP_D 0x00100000 /* Data Descriptor */ -+#define E1000_TXD_DTYP_C 0x00000000 /* Context Descriptor */ -+#define E1000_TXD_POPTS_IXSM 0x01 /* Insert IP checksum */ -+#define E1000_TXD_POPTS_TXSM 0x02 /* Insert TCP/UDP checksum */ -+#define E1000_TXD_CMD_EOP 0x01000000 /* End of Packet */ -+#define E1000_TXD_CMD_IFCS 0x02000000 /* Insert FCS (Ethernet CRC) */ -+#define E1000_TXD_CMD_IC 0x04000000 /* Insert Checksum */ -+#define E1000_TXD_CMD_RS 0x08000000 /* Report Status */ -+#define E1000_TXD_CMD_RPS 0x10000000 /* Report Packet Sent */ -+#define E1000_TXD_CMD_DEXT 0x20000000 /* Descriptor extension (0 = legacy) */ -+#define E1000_TXD_CMD_VLE 0x40000000 /* Add VLAN tag */ -+#define E1000_TXD_CMD_IDE 0x80000000 /* Enable Tidv register */ -+#define E1000_TXD_STAT_DD 0x00000001 /* Descriptor Done */ -+#define E1000_TXD_STAT_EC 0x00000002 /* Excess Collisions */ -+#define E1000_TXD_STAT_LC 0x00000004 /* Late Collisions */ -+#define E1000_TXD_STAT_TU 0x00000008 /* Transmit underrun */ -+#define E1000_TXD_CMD_TCP 0x01000000 /* TCP packet */ -+#define E1000_TXD_CMD_IP 0x02000000 /* IP packet */ -+#define E1000_TXD_CMD_TSE 0x04000000 /* TCP Seg enable */ -+#define E1000_TXD_STAT_TC 0x00000004 /* Tx Underrun */ -+ -+/* Offload Context Descriptor */ -+struct e1000_context_desc { -+ union { -+ uint32_t ip_config; -+ struct { -+ uint8_t ipcss; /* IP checksum start */ -+ uint8_t ipcso; /* IP checksum offset */ -+ uint16_t ipcse; /* IP checksum end */ -+ } ip_fields; -+ } lower_setup; -+ union { -+ uint32_t tcp_config; -+ struct { -+ uint8_t tucss; /* TCP checksum start */ -+ uint8_t tucso; /* TCP checksum offset */ -+ uint16_t tucse; /* TCP checksum end */ -+ } tcp_fields; -+ } upper_setup; -+ uint32_t cmd_and_length; /* */ -+ union { -+ uint32_t data; -+ struct { -+ uint8_t status; /* Descriptor status */ -+ uint8_t hdr_len; /* Header length */ -+ uint16_t mss; /* Maximum segment size */ -+ } fields; -+ } tcp_seg_setup; -+}; -+ -+/* Offload data descriptor */ -+struct e1000_data_desc { -+ uint64_t buffer_addr; /* Address of the descriptor's buffer address */ -+ union { -+ uint32_t data; -+ struct { -+ uint16_t length; /* Data buffer length */ -+ uint8_t typ_len_ext; /* */ -+ uint8_t cmd; /* */ -+ } flags; -+ } lower; -+ union { -+ uint32_t data; -+ struct { -+ uint8_t status; /* Descriptor status */ -+ uint8_t popts; /* Packet Options */ -+ uint16_t special; /* */ -+ } fields; -+ } upper; -+}; -+ -+/* Filters */ -+#define E1000_NUM_UNICAST 16 /* Unicast filter entries */ -+#define E1000_MC_TBL_SIZE 128 /* Multicast Filter Table (4096 bits) */ -+#define E1000_VLAN_FILTER_TBL_SIZE 128 /* VLAN Filter Table (4096 bits) */ -+ -+ -+/* Receive Address Register */ -+struct e1000_rar { -+ volatile uint32_t low; /* receive address low */ -+ volatile uint32_t high; /* receive address high */ -+}; -+ -+/* Number of entries in the Multicast Table Array (MTA). */ -+#define E1000_NUM_MTA_REGISTERS 128 -+ -+/* IPv4 Address Table Entry */ -+struct e1000_ipv4_at_entry { -+ volatile uint32_t ipv4_addr; /* IP Address (RW) */ -+ volatile uint32_t reserved; -+}; -+ -+/* Four wakeup IP addresses are supported */ -+#define E1000_WAKEUP_IP_ADDRESS_COUNT_MAX 4 -+#define E1000_IP4AT_SIZE E1000_WAKEUP_IP_ADDRESS_COUNT_MAX -+#define E1000_IP6AT_SIZE 1 -+ -+/* IPv6 Address Table Entry */ -+struct e1000_ipv6_at_entry { -+ volatile uint8_t ipv6_addr[16]; -+}; -+ -+/* Flexible Filter Length Table Entry */ -+struct e1000_fflt_entry { -+ volatile uint32_t length; /* Flexible Filter Length (RW) */ -+ volatile uint32_t reserved; -+}; -+ -+/* Flexible Filter Mask Table Entry */ -+struct e1000_ffmt_entry { -+ volatile uint32_t mask; /* Flexible Filter Mask (RW) */ -+ volatile uint32_t reserved; -+}; -+ -+/* Flexible Filter Value Table Entry */ -+struct e1000_ffvt_entry { -+ volatile uint32_t value; /* Flexible Filter Value (RW) */ -+ volatile uint32_t reserved; -+}; -+ -+/* Four Flexible Filters are supported */ -+#define E1000_FLEXIBLE_FILTER_COUNT_MAX 4 -+ -+/* Each Flexible Filter is at most 128 (0x80) bytes in length */ -+#define E1000_FLEXIBLE_FILTER_SIZE_MAX 128 -+ -+#define E1000_FFLT_SIZE E1000_FLEXIBLE_FILTER_COUNT_MAX -+#define E1000_FFMT_SIZE E1000_FLEXIBLE_FILTER_SIZE_MAX -+#define E1000_FFVT_SIZE E1000_FLEXIBLE_FILTER_SIZE_MAX -+ -+/* Register Set. (82543, 82544) -+ * -+ * Registers are defined to be 32 bits and should be accessed as 32 bit values. -+ * These registers are physically located on the NIC, but are mapped into the -+ * host memory address space. -+ * -+ * RW - register is both readable and writable -+ * RO - register is read only -+ * WO - register is write only -+ * R/clr - register is read only and is cleared when read -+ * A - register array -+ */ -+#define E1000_CTRL 0x00000 /* Device Control - RW */ -+#define E1000_CTRL_DUP 0x00004 /* Device Control Duplicate (Shadow) - RW */ -+#define E1000_STATUS 0x00008 /* Device Status - RO */ -+#define E1000_EECD 0x00010 /* EEPROM/Flash Control - RW */ -+#define E1000_EERD 0x00014 /* EEPROM Read - RW */ -+#define E1000_CTRL_EXT 0x00018 /* Extended Device Control - RW */ -+#define E1000_FLA 0x0001C /* Flash Access - RW */ -+#define E1000_MDIC 0x00020 /* MDI Control - RW */ -+#define E1000_FCAL 0x00028 /* Flow Control Address Low - RW */ -+#define E1000_FCAH 0x0002C /* Flow Control Address High -RW */ -+#define E1000_FCT 0x00030 /* Flow Control Type - RW */ -+#define E1000_VET 0x00038 /* VLAN Ether Type - RW */ -+#define E1000_ICR 0x000C0 /* Interrupt Cause Read - R/clr */ -+#define E1000_ITR 0x000C4 /* Interrupt Throttling Rate - RW */ -+#define E1000_ICS 0x000C8 /* Interrupt Cause Set - WO */ -+#define E1000_IMS 0x000D0 /* Interrupt Mask Set - RW */ -+#define E1000_IMC 0x000D8 /* Interrupt Mask Clear - WO */ -+#define E1000_RCTL 0x00100 /* RX Control - RW */ -+#define E1000_FCTTV 0x00170 /* Flow Control Transmit Timer Value - RW */ -+#define E1000_TXCW 0x00178 /* TX Configuration Word - RW */ -+#define E1000_RXCW 0x00180 /* RX Configuration Word - RO */ -+#define E1000_TCTL 0x00400 /* TX Control - RW */ -+#define E1000_TIPG 0x00410 /* TX Inter-packet gap -RW */ -+#define E1000_TBT 0x00448 /* TX Burst Timer - RW */ -+#define E1000_AIT 0x00458 /* Adaptive Interframe Spacing Throttle - RW */ -+#define E1000_LEDCTL 0x00E00 /* LED Control - RW */ -+#define E1000_PBA 0x01000 /* Packet Buffer Allocation - RW */ -+#define E1000_FCRTL 0x02160 /* Flow Control Receive Threshold Low - RW */ -+#define E1000_FCRTH 0x02168 /* Flow Control Receive Threshold High - RW */ -+#define E1000_RDBAL 0x02800 /* RX Descriptor Base Address Low - RW */ -+#define E1000_RDBAH 0x02804 /* RX Descriptor Base Address High - RW */ -+#define E1000_RDLEN 0x02808 /* RX Descriptor Length - RW */ -+#define E1000_RDH 0x02810 /* RX Descriptor Head - RW */ -+#define E1000_RDT 0x02818 /* RX Descriptor Tail - RW */ -+#define E1000_RDTR 0x02820 /* RX Delay Timer - RW */ -+#define E1000_RXDCTL 0x02828 /* RX Descriptor Control - RW */ -+#define E1000_RADV 0x0282C /* RX Interrupt Absolute Delay Timer - RW */ -+#define E1000_RSRPD 0x02C00 /* RX Small Packet Detect - RW */ -+#define E1000_TXDMAC 0x03000 /* TX DMA Control - RW */ -+#define E1000_TDFH 0x03410 /* TX Data FIFO Head - RW */ -+#define E1000_TDFT 0x03418 /* TX Data FIFO Tail - RW */ -+#define E1000_TDFHS 0x03420 /* TX Data FIFO Head Saved - RW */ -+#define E1000_TDFTS 0x03428 /* TX Data FIFO Tail Saved - RW */ -+#define E1000_TDFPC 0x03430 /* TX Data FIFO Packet Count - RW */ -+#define E1000_TDBAL 0x03800 /* TX Descriptor Base Address Low - RW */ -+#define E1000_TDBAH 0x03804 /* TX Descriptor Base Address High - RW */ -+#define E1000_TDLEN 0x03808 /* TX Descriptor Length - RW */ -+#define E1000_TDH 0x03810 /* TX Descriptor Head - RW */ -+#define E1000_TDT 0x03818 /* TX Descripotr Tail - RW */ -+#define E1000_TIDV 0x03820 /* TX Interrupt Delay Value - RW */ -+#define E1000_TXDCTL 0x03828 /* TX Descriptor Control - RW */ -+#define E1000_TADV 0x0382C /* TX Interrupt Absolute Delay Val - RW */ -+#define E1000_TSPMT 0x03830 /* TCP Segmentation PAD & Min Threshold - RW */ -+#define E1000_CRCERRS 0x04000 /* CRC Error Count - R/clr */ -+#define E1000_ALGNERRC 0x04004 /* Alignment Error Count - R/clr */ -+#define E1000_SYMERRS 0x04008 /* Symbol Error Count - R/clr */ -+#define E1000_RXERRC 0x0400C /* Receive Error Count - R/clr */ -+#define E1000_MPC 0x04010 /* Missed Packet Count - R/clr */ -+#define E1000_SCC 0x04014 /* Single Collision Count - R/clr */ -+#define E1000_ECOL 0x04018 /* Excessive Collision Count - R/clr */ -+#define E1000_MCC 0x0401C /* Multiple Collision Count - R/clr */ -+#define E1000_LATECOL 0x04020 /* Late Collision Count - R/clr */ -+#define E1000_COLC 0x04028 /* Collision Count - R/clr */ -+#define E1000_DC 0x04030 /* Defer Count - R/clr */ -+#define E1000_TNCRS 0x04034 /* TX-No CRS - R/clr */ -+#define E1000_SEC 0x04038 /* Sequence Error Count - R/clr */ -+#define E1000_CEXTERR 0x0403C /* Carrier Extension Error Count - R/clr */ -+#define E1000_RLEC 0x04040 /* Receive Length Error Count - R/clr */ -+#define E1000_XONRXC 0x04048 /* XON RX Count - R/clr */ -+#define E1000_XONTXC 0x0404C /* XON TX Count - R/clr */ -+#define E1000_XOFFRXC 0x04050 /* XOFF RX Count - R/clr */ -+#define E1000_XOFFTXC 0x04054 /* XOFF TX Count - R/clr */ -+#define E1000_FCRUC 0x04058 /* Flow Control RX Unsupported Count- R/clr */ -+#define E1000_PRC64 0x0405C /* Packets RX (64 bytes) - R/clr */ -+#define E1000_PRC127 0x04060 /* Packets RX (65-127 bytes) - R/clr */ -+#define E1000_PRC255 0x04064 /* Packets RX (128-255 bytes) - R/clr */ -+#define E1000_PRC511 0x04068 /* Packets RX (255-511 bytes) - R/clr */ -+#define E1000_PRC1023 0x0406C /* Packets RX (512-1023 bytes) - R/clr */ -+#define E1000_PRC1522 0x04070 /* Packets RX (1024-1522 bytes) - R/clr */ -+#define E1000_GPRC 0x04074 /* Good Packets RX Count - R/clr */ -+#define E1000_BPRC 0x04078 /* Broadcast Packets RX Count - R/clr */ -+#define E1000_MPRC 0x0407C /* Multicast Packets RX Count - R/clr */ -+#define E1000_GPTC 0x04080 /* Good Packets TX Count - R/clr */ -+#define E1000_GORCL 0x04088 /* Good Octets RX Count Low - R/clr */ -+#define E1000_GORCH 0x0408C /* Good Octets RX Count High - R/clr */ -+#define E1000_GOTCL 0x04090 /* Good Octets TX Count Low - R/clr */ -+#define E1000_GOTCH 0x04094 /* Good Octets TX Count High - R/clr */ -+#define E1000_RNBC 0x040A0 /* RX No Buffers Count - R/clr */ -+#define E1000_RUC 0x040A4 /* RX Undersize Count - R/clr */ -+#define E1000_RFC 0x040A8 /* RX Fragment Count - R/clr */ -+#define E1000_ROC 0x040AC /* RX Oversize Count - R/clr */ -+#define E1000_RJC 0x040B0 /* RX Jabber Count - R/clr */ -+#define E1000_MGTPRC 0x040B4 /* Management Packets RX Count - R/clr */ -+#define E1000_MGTPDC 0x040B8 /* Management Packets Dropped Count - R/clr */ -+#define E1000_MGTPTC 0x040BC /* Management Packets TX Count - R/clr */ -+#define E1000_TORL 0x040C0 /* Total Octets RX Low - R/clr */ -+#define E1000_TORH 0x040C4 /* Total Octets RX High - R/clr */ -+#define E1000_TOTL 0x040C8 /* Total Octets TX Low - R/clr */ -+#define E1000_TOTH 0x040CC /* Total Octets TX High - R/clr */ -+#define E1000_TPR 0x040D0 /* Total Packets RX - R/clr */ -+#define E1000_TPT 0x040D4 /* Total Packets TX - R/clr */ -+#define E1000_PTC64 0x040D8 /* Packets TX (64 bytes) - R/clr */ -+#define E1000_PTC127 0x040DC /* Packets TX (65-127 bytes) - R/clr */ -+#define E1000_PTC255 0x040E0 /* Packets TX (128-255 bytes) - R/clr */ -+#define E1000_PTC511 0x040E4 /* Packets TX (256-511 bytes) - R/clr */ -+#define E1000_PTC1023 0x040E8 /* Packets TX (512-1023 bytes) - R/clr */ -+#define E1000_PTC1522 0x040EC /* Packets TX (1024-1522 Bytes) - R/clr */ -+#define E1000_MPTC 0x040F0 /* Multicast Packets TX Count - R/clr */ -+#define E1000_BPTC 0x040F4 /* Broadcast Packets TX Count - R/clr */ -+#define E1000_TSCTC 0x040F8 /* TCP Segmentation Context TX - R/clr */ -+#define E1000_TSCTFC 0x040FC /* TCP Segmentation Context TX Fail - R/clr */ -+#define E1000_RXCSUM 0x05000 /* RX Checksum Control - RW */ -+#define E1000_MTA 0x05200 /* Multicast Table Array - RW Array */ -+#define E1000_RA 0x05400 /* Receive Address - RW Array */ -+#define E1000_VFTA 0x05600 /* VLAN Filter Table Array - RW Array */ -+#define E1000_WUC 0x05800 /* Wakeup Control - RW */ -+#define E1000_WUFC 0x05808 /* Wakeup Filter Control - RW */ -+#define E1000_WUS 0x05810 /* Wakeup Status - RO */ -+#define E1000_MANC 0x05820 /* Management Control - RW */ -+#define E1000_IPAV 0x05838 /* IP Address Valid - RW */ -+#define E1000_IP4AT 0x05840 /* IPv4 Address Table - RW Array */ -+#define E1000_IP6AT 0x05880 /* IPv6 Address Table - RW Array */ -+#define E1000_WUPL 0x05900 /* Wakeup Packet Length - RW */ -+#define E1000_WUPM 0x05A00 /* Wakeup Packet Memory - RO A */ -+#define E1000_FFLT 0x05F00 /* Flexible Filter Length Table - RW Array */ -+#define E1000_FFMT 0x09000 /* Flexible Filter Mask Table - RW Array */ -+#define E1000_FFVT 0x09800 /* Flexible Filter Value Table - RW Array */ -+ -+/* Register Set (82542) -+ * -+ * Some of the 82542 registers are located at different offsets than they are -+ * in more current versions of the 8254x. Despite the difference in location, -+ * the registers function in the same manner. -+ */ -+#define E1000_82542_CTRL E1000_CTRL -+#define E1000_82542_CTRL_DUP E1000_CTRL_DUP -+#define E1000_82542_STATUS E1000_STATUS -+#define E1000_82542_EECD E1000_EECD -+#define E1000_82542_EERD E1000_EERD -+#define E1000_82542_CTRL_EXT E1000_CTRL_EXT -+#define E1000_82542_FLA E1000_FLA -+#define E1000_82542_MDIC E1000_MDIC -+#define E1000_82542_FCAL E1000_FCAL -+#define E1000_82542_FCAH E1000_FCAH -+#define E1000_82542_FCT E1000_FCT -+#define E1000_82542_VET E1000_VET -+#define E1000_82542_RA 0x00040 -+#define E1000_82542_ICR E1000_ICR -+#define E1000_82542_ITR E1000_ITR -+#define E1000_82542_ICS E1000_ICS -+#define E1000_82542_IMS E1000_IMS -+#define E1000_82542_IMC E1000_IMC -+#define E1000_82542_RCTL E1000_RCTL -+#define E1000_82542_RDTR 0x00108 -+#define E1000_82542_RDBAL 0x00110 -+#define E1000_82542_RDBAH 0x00114 -+#define E1000_82542_RDLEN 0x00118 -+#define E1000_82542_RDH 0x00120 -+#define E1000_82542_RDT 0x00128 -+#define E1000_82542_FCRTH 0x00160 -+#define E1000_82542_FCRTL 0x00168 -+#define E1000_82542_FCTTV E1000_FCTTV -+#define E1000_82542_TXCW E1000_TXCW -+#define E1000_82542_RXCW E1000_RXCW -+#define E1000_82542_MTA 0x00200 -+#define E1000_82542_TCTL E1000_TCTL -+#define E1000_82542_TIPG E1000_TIPG -+#define E1000_82542_TDBAL 0x00420 -+#define E1000_82542_TDBAH 0x00424 -+#define E1000_82542_TDLEN 0x00428 -+#define E1000_82542_TDH 0x00430 -+#define E1000_82542_TDT 0x00438 -+#define E1000_82542_TIDV 0x00440 -+#define E1000_82542_TBT E1000_TBT -+#define E1000_82542_AIT E1000_AIT -+#define E1000_82542_VFTA 0x00600 -+#define E1000_82542_LEDCTL E1000_LEDCTL -+#define E1000_82542_PBA E1000_PBA -+#define E1000_82542_RXDCTL E1000_RXDCTL -+#define E1000_82542_RADV E1000_RADV -+#define E1000_82542_RSRPD E1000_RSRPD -+#define E1000_82542_TXDMAC E1000_TXDMAC -+#define E1000_82542_TDFHS E1000_TDFHS -+#define E1000_82542_TDFTS E1000_TDFTS -+#define E1000_82542_TDFPC E1000_TDFPC -+#define E1000_82542_TXDCTL E1000_TXDCTL -+#define E1000_82542_TADV E1000_TADV -+#define E1000_82542_TSPMT E1000_TSPMT -+#define E1000_82542_CRCERRS E1000_CRCERRS -+#define E1000_82542_ALGNERRC E1000_ALGNERRC -+#define E1000_82542_SYMERRS E1000_SYMERRS -+#define E1000_82542_RXERRC E1000_RXERRC -+#define E1000_82542_MPC E1000_MPC -+#define E1000_82542_SCC E1000_SCC -+#define E1000_82542_ECOL E1000_ECOL -+#define E1000_82542_MCC E1000_MCC -+#define E1000_82542_LATECOL E1000_LATECOL -+#define E1000_82542_COLC E1000_COLC -+#define E1000_82542_DC E1000_DC -+#define E1000_82542_TNCRS E1000_TNCRS -+#define E1000_82542_SEC E1000_SEC -+#define E1000_82542_CEXTERR E1000_CEXTERR -+#define E1000_82542_RLEC E1000_RLEC -+#define E1000_82542_XONRXC E1000_XONRXC -+#define E1000_82542_XONTXC E1000_XONTXC -+#define E1000_82542_XOFFRXC E1000_XOFFRXC -+#define E1000_82542_XOFFTXC E1000_XOFFTXC -+#define E1000_82542_FCRUC E1000_FCRUC -+#define E1000_82542_PRC64 E1000_PRC64 -+#define E1000_82542_PRC127 E1000_PRC127 -+#define E1000_82542_PRC255 E1000_PRC255 -+#define E1000_82542_PRC511 E1000_PRC511 -+#define E1000_82542_PRC1023 E1000_PRC1023 -+#define E1000_82542_PRC1522 E1000_PRC1522 -+#define E1000_82542_GPRC E1000_GPRC -+#define E1000_82542_BPRC E1000_BPRC -+#define E1000_82542_MPRC E1000_MPRC -+#define E1000_82542_GPTC E1000_GPTC -+#define E1000_82542_GORCL E1000_GORCL -+#define E1000_82542_GORCH E1000_GORCH -+#define E1000_82542_GOTCL E1000_GOTCL -+#define E1000_82542_GOTCH E1000_GOTCH -+#define E1000_82542_RNBC E1000_RNBC -+#define E1000_82542_RUC E1000_RUC -+#define E1000_82542_RFC E1000_RFC -+#define E1000_82542_ROC E1000_ROC -+#define E1000_82542_RJC E1000_RJC -+#define E1000_82542_MGTPRC E1000_MGTPRC -+#define E1000_82542_MGTPDC E1000_MGTPDC -+#define E1000_82542_MGTPTC E1000_MGTPTC -+#define E1000_82542_TORL E1000_TORL -+#define E1000_82542_TORH E1000_TORH -+#define E1000_82542_TOTL E1000_TOTL -+#define E1000_82542_TOTH E1000_TOTH -+#define E1000_82542_TPR E1000_TPR -+#define E1000_82542_TPT E1000_TPT -+#define E1000_82542_PTC64 E1000_PTC64 -+#define E1000_82542_PTC127 E1000_PTC127 -+#define E1000_82542_PTC255 E1000_PTC255 -+#define E1000_82542_PTC511 E1000_PTC511 -+#define E1000_82542_PTC1023 E1000_PTC1023 -+#define E1000_82542_PTC1522 E1000_PTC1522 -+#define E1000_82542_MPTC E1000_MPTC -+#define E1000_82542_BPTC E1000_BPTC -+#define E1000_82542_TSCTC E1000_TSCTC -+#define E1000_82542_TSCTFC E1000_TSCTFC -+#define E1000_82542_RXCSUM E1000_RXCSUM -+#define E1000_82542_WUC E1000_WUC -+#define E1000_82542_WUFC E1000_WUFC -+#define E1000_82542_WUS E1000_WUS -+#define E1000_82542_MANC E1000_MANC -+#define E1000_82542_IPAV E1000_IPAV -+#define E1000_82542_IP4AT E1000_IP4AT -+#define E1000_82542_IP6AT E1000_IP6AT -+#define E1000_82542_WUPL E1000_WUPL -+#define E1000_82542_WUPM E1000_WUPM -+#define E1000_82542_FFLT E1000_FFLT -+#define E1000_82542_TDFH 0x08010 -+#define E1000_82542_TDFT 0x08018 -+#define E1000_82542_FFMT E1000_FFMT -+#define E1000_82542_FFVT E1000_FFVT -+ -+/* Statistics counters collected by the MAC */ -+struct e1000_hw_stats { -+ uint64_t crcerrs; -+ uint64_t algnerrc; -+ uint64_t symerrs; -+ uint64_t rxerrc; -+ uint64_t mpc; -+ uint64_t scc; -+ uint64_t ecol; -+ uint64_t mcc; -+ uint64_t latecol; -+ uint64_t colc; -+ uint64_t dc; -+ uint64_t tncrs; -+ uint64_t sec; -+ uint64_t cexterr; -+ uint64_t rlec; -+ uint64_t xonrxc; -+ uint64_t xontxc; -+ uint64_t xoffrxc; -+ uint64_t xofftxc; -+ uint64_t fcruc; -+ uint64_t prc64; -+ uint64_t prc127; -+ uint64_t prc255; -+ uint64_t prc511; -+ uint64_t prc1023; -+ uint64_t prc1522; -+ uint64_t gprc; -+ uint64_t bprc; -+ uint64_t mprc; -+ uint64_t gptc; -+ uint64_t gorcl; -+ uint64_t gorch; -+ uint64_t gotcl; -+ uint64_t gotch; -+ uint64_t rnbc; -+ uint64_t ruc; -+ uint64_t rfc; -+ uint64_t roc; -+ uint64_t rjc; -+ uint64_t mgprc; -+ uint64_t mgpdc; -+ uint64_t mgptc; -+ uint64_t torl; -+ uint64_t torh; -+ uint64_t totl; -+ uint64_t toth; -+ uint64_t tpr; -+ uint64_t tpt; -+ uint64_t ptc64; -+ uint64_t ptc127; -+ uint64_t ptc255; -+ uint64_t ptc511; -+ uint64_t ptc1023; -+ uint64_t ptc1522; -+ uint64_t mptc; -+ uint64_t bptc; -+ uint64_t tsctc; -+ uint64_t tsctfc; -+}; -+ -+/* Structure containing variables used by the shared code (e1000_hw.c) */ -+struct e1000_hw { -+ struct pci_device *pdev; -+ uint8_t *hw_addr; -+ e1000_mac_type mac_type; -+ e1000_phy_type phy_type; -+#if 0 -+ uint32_t phy_init_script; -+#endif -+ e1000_media_type media_type; -+ e1000_fc_type fc; -+#if 0 -+ e1000_bus_speed bus_speed; -+ e1000_bus_width bus_width; -+ e1000_bus_type bus_type; -+#endif -+ struct e1000_eeprom_info eeprom; -+#if 0 -+ e1000_ms_type master_slave; -+ e1000_ms_type original_master_slave; -+ e1000_ffe_config ffe_config_state; -+#endif -+ uint32_t io_base; -+ uint32_t phy_id; -+#ifdef LINUX_DRIVER -+ uint32_t phy_revision; -+#endif -+ uint32_t phy_addr; -+#if 0 -+ uint32_t original_fc; -+#endif -+ uint32_t txcw; -+ uint32_t autoneg_failed; -+#if 0 -+ uint32_t max_frame_size; -+ uint32_t min_frame_size; -+ uint32_t mc_filter_type; -+ uint32_t num_mc_addrs; -+ uint32_t collision_delta; -+ uint32_t tx_packet_delta; -+ uint32_t ledctl_default; -+ uint32_t ledctl_mode1; -+ uint32_t ledctl_mode2; -+ uint16_t phy_spd_default; -+#endif -+ uint16_t autoneg_advertised; -+ uint16_t pci_cmd_word; -+#if 0 -+ uint16_t fc_high_water; -+ uint16_t fc_low_water; -+ uint16_t fc_pause_time; -+ uint16_t current_ifs_val; -+ uint16_t ifs_min_val; -+ uint16_t ifs_max_val; -+ uint16_t ifs_step_size; -+ uint16_t ifs_ratio; -+#endif -+ uint16_t device_id; -+ uint16_t vendor_id; -+#if 0 -+ uint16_t subsystem_id; -+ uint16_t subsystem_vendor_id; -+#endif -+ uint8_t revision_id; -+#if 0 -+ uint8_t autoneg; -+ uint8_t mdix; -+ uint8_t forced_speed_duplex; -+ uint8_t wait_autoneg_complete; -+ uint8_t dma_fairness; -+#endif -+ uint8_t mac_addr[NODE_ADDRESS_SIZE]; -+#if 0 -+ uint8_t perm_mac_addr[NODE_ADDRESS_SIZE]; -+ boolean_t disable_polarity_correction; -+ boolean_t speed_downgraded; -+ e1000_dsp_config dsp_config_state; -+ boolean_t get_link_status; -+ boolean_t serdes_link_down; -+#endif -+ boolean_t tbi_compatibility_en; -+ boolean_t tbi_compatibility_on; -+#if 0 -+ boolean_t phy_reset_disable; -+ boolean_t fc_send_xon; -+ boolean_t fc_strict_ieee; -+ boolean_t report_tx_early; -+ boolean_t adaptive_ifs; -+ boolean_t ifs_params_forced; -+ boolean_t in_ifs_mode; -+#endif -+}; -+ -+ -+#define E1000_EEPROM_SWDPIN0 0x0001 /* SWDPIN 0 EEPROM Value */ -+#define E1000_EEPROM_LED_LOGIC 0x0020 /* Led Logic Word */ -+ -+/* Register Bit Masks */ -+/* Device Control */ -+#define E1000_CTRL_FD 0x00000001 /* Full duplex.0=half; 1=full */ -+#define E1000_CTRL_BEM 0x00000002 /* Endian Mode.0=little,1=big */ -+#define E1000_CTRL_PRIOR 0x00000004 /* Priority on PCI. 0=rx,1=fair */ -+#define E1000_CTRL_LRST 0x00000008 /* Link reset. 0=normal,1=reset */ -+#define E1000_CTRL_TME 0x00000010 /* Test mode. 0=normal,1=test */ -+#define E1000_CTRL_SLE 0x00000020 /* Serial Link on 0=dis,1=en */ -+#define E1000_CTRL_ASDE 0x00000020 /* Auto-speed detect enable */ -+#define E1000_CTRL_SLU 0x00000040 /* Set link up (Force Link) */ -+#define E1000_CTRL_ILOS 0x00000080 /* Invert Loss-Of Signal */ -+#define E1000_CTRL_SPD_SEL 0x00000300 /* Speed Select Mask */ -+#define E1000_CTRL_SPD_10 0x00000000 /* Force 10Mb */ -+#define E1000_CTRL_SPD_100 0x00000100 /* Force 100Mb */ -+#define E1000_CTRL_SPD_1000 0x00000200 /* Force 1Gb */ -+#define E1000_CTRL_BEM32 0x00000400 /* Big Endian 32 mode */ -+#define E1000_CTRL_FRCSPD 0x00000800 /* Force Speed */ -+#define E1000_CTRL_FRCDPX 0x00001000 /* Force Duplex */ -+#define E1000_CTRL_SWDPIN0 0x00040000 /* SWDPIN 0 value */ -+#define E1000_CTRL_SWDPIN1 0x00080000 /* SWDPIN 1 value */ -+#define E1000_CTRL_SWDPIN2 0x00100000 /* SWDPIN 2 value */ -+#define E1000_CTRL_SWDPIN3 0x00200000 /* SWDPIN 3 value */ -+#define E1000_CTRL_SWDPIO0 0x00400000 /* SWDPIN 0 Input or output */ -+#define E1000_CTRL_SWDPIO1 0x00800000 /* SWDPIN 1 input or output */ -+#define E1000_CTRL_SWDPIO2 0x01000000 /* SWDPIN 2 input or output */ -+#define E1000_CTRL_SWDPIO3 0x02000000 /* SWDPIN 3 input or output */ -+#define E1000_CTRL_RST 0x04000000 /* Global reset */ -+#define E1000_CTRL_RFCE 0x08000000 /* Receive Flow Control enable */ -+#define E1000_CTRL_TFCE 0x10000000 /* Transmit flow control enable */ -+#define E1000_CTRL_RTE 0x20000000 /* Routing tag enable */ -+#define E1000_CTRL_VME 0x40000000 /* IEEE VLAN mode enable */ -+#define E1000_CTRL_PHY_RST 0x80000000 /* PHY Reset */ -+ -+/* Device Status */ -+#define E1000_STATUS_FD 0x00000001 /* Full duplex.0=half,1=full */ -+#define E1000_STATUS_LU 0x00000002 /* Link up.0=no,1=link */ -+#define E1000_STATUS_FUNC_MASK 0x0000000C /* PCI Function Mask */ -+#define E1000_STATUS_FUNC_0 0x00000000 /* Function 0 */ -+#define E1000_STATUS_FUNC_1 0x00000004 /* Function 1 */ -+#define E1000_STATUS_TXOFF 0x00000010 /* transmission paused */ -+#define E1000_STATUS_TBIMODE 0x00000020 /* TBI mode */ -+#define E1000_STATUS_SPEED_MASK 0x000000C0 -+#define E1000_STATUS_SPEED_10 0x00000000 /* Speed 10Mb/s */ -+#define E1000_STATUS_SPEED_100 0x00000040 /* Speed 100Mb/s */ -+#define E1000_STATUS_SPEED_1000 0x00000080 /* Speed 1000Mb/s */ -+#define E1000_STATUS_ASDV 0x00000300 /* Auto speed detect value */ -+#define E1000_STATUS_MTXCKOK 0x00000400 /* MTX clock running OK */ -+#define E1000_STATUS_PCI66 0x00000800 /* In 66Mhz slot */ -+#define E1000_STATUS_BUS64 0x00001000 /* In 64 bit slot */ -+#define E1000_STATUS_PCIX_MODE 0x00002000 /* PCI-X mode */ -+#define E1000_STATUS_PCIX_SPEED 0x0000C000 /* PCI-X bus speed */ -+ -+/* Constants used to intrepret the masked PCI-X bus speed. */ -+#define E1000_STATUS_PCIX_SPEED_66 0x00000000 /* PCI-X bus speed 50-66 MHz */ -+#define E1000_STATUS_PCIX_SPEED_100 0x00004000 /* PCI-X bus speed 66-100 MHz */ -+#define E1000_STATUS_PCIX_SPEED_133 0x00008000 /* PCI-X bus speed 100-133 MHz */ -+ -+/* EEPROM/Flash Control */ -+#define E1000_EECD_SK 0x00000001 /* EEPROM Clock */ -+#define E1000_EECD_CS 0x00000002 /* EEPROM Chip Select */ -+#define E1000_EECD_DI 0x00000004 /* EEPROM Data In */ -+#define E1000_EECD_DO 0x00000008 /* EEPROM Data Out */ -+#define E1000_EECD_FWE_MASK 0x00000030 -+#define E1000_EECD_FWE_DIS 0x00000010 /* Disable FLASH writes */ -+#define E1000_EECD_FWE_EN 0x00000020 /* Enable FLASH writes */ -+#define E1000_EECD_FWE_SHIFT 4 -+#define E1000_EECD_REQ 0x00000040 /* EEPROM Access Request */ -+#define E1000_EECD_GNT 0x00000080 /* EEPROM Access Grant */ -+#define E1000_EECD_PRES 0x00000100 /* EEPROM Present */ -+#define E1000_EECD_SIZE 0x00000200 /* EEPROM Size (0=64 word 1=256 word) */ -+#define E1000_EECD_ADDR_BITS 0x00000400 /* EEPROM Addressing bits based on type -+ * (0-small, 1-large) */ -+#define E1000_EECD_TYPE 0x00002000 /* EEPROM Type (1-SPI, 0-Microwire) */ -+#ifndef E1000_EEPROM_GRANT_ATTEMPTS -+#define E1000_EEPROM_GRANT_ATTEMPTS 1000 /* EEPROM # attempts to gain grant */ -+#endif -+ -+/* EEPROM Read */ -+#define E1000_EERD_START 0x00000001 /* Start Read */ -+#define E1000_EERD_DONE 0x00000010 /* Read Done */ -+#define E1000_EERD_ADDR_SHIFT 8 -+#define E1000_EERD_ADDR_MASK 0x0000FF00 /* Read Address */ -+#define E1000_EERD_DATA_SHIFT 16 -+#define E1000_EERD_DATA_MASK 0xFFFF0000 /* Read Data */ -+ -+/* SPI EEPROM Status Register */ -+#define EEPROM_STATUS_RDY_SPI 0x01 -+#define EEPROM_STATUS_WEN_SPI 0x02 -+#define EEPROM_STATUS_BP0_SPI 0x04 -+#define EEPROM_STATUS_BP1_SPI 0x08 -+#define EEPROM_STATUS_WPEN_SPI 0x80 -+ -+/* Extended Device Control */ -+#define E1000_CTRL_EXT_GPI0_EN 0x00000001 /* Maps SDP4 to GPI0 */ -+#define E1000_CTRL_EXT_GPI1_EN 0x00000002 /* Maps SDP5 to GPI1 */ -+#define E1000_CTRL_EXT_PHYINT_EN E1000_CTRL_EXT_GPI1_EN -+#define E1000_CTRL_EXT_GPI2_EN 0x00000004 /* Maps SDP6 to GPI2 */ -+#define E1000_CTRL_EXT_GPI3_EN 0x00000008 /* Maps SDP7 to GPI3 */ -+#define E1000_CTRL_EXT_SDP4_DATA 0x00000010 /* Value of SW Defineable Pin 4 */ -+#define E1000_CTRL_EXT_SDP5_DATA 0x00000020 /* Value of SW Defineable Pin 5 */ -+#define E1000_CTRL_EXT_PHY_INT E1000_CTRL_EXT_SDP5_DATA -+#define E1000_CTRL_EXT_SDP6_DATA 0x00000040 /* Value of SW Defineable Pin 6 */ -+#define E1000_CTRL_EXT_SDP7_DATA 0x00000080 /* Value of SW Defineable Pin 7 */ -+#define E1000_CTRL_EXT_SDP4_DIR 0x00000100 /* Direction of SDP4 0=in 1=out */ -+#define E1000_CTRL_EXT_SDP5_DIR 0x00000200 /* Direction of SDP5 0=in 1=out */ -+#define E1000_CTRL_EXT_SDP6_DIR 0x00000400 /* Direction of SDP6 0=in 1=out */ -+#define E1000_CTRL_EXT_SDP7_DIR 0x00000800 /* Direction of SDP7 0=in 1=out */ -+#define E1000_CTRL_EXT_ASDCHK 0x00001000 /* Initiate an ASD sequence */ -+#define E1000_CTRL_EXT_EE_RST 0x00002000 /* Reinitialize from EEPROM */ -+#define E1000_CTRL_EXT_IPS 0x00004000 /* Invert Power State */ -+#define E1000_CTRL_EXT_SPD_BYPS 0x00008000 /* Speed Select Bypass */ -+#define E1000_CTRL_EXT_LINK_MODE_MASK 0x00C00000 -+#define E1000_CTRL_EXT_LINK_MODE_GMII 0x00000000 -+#define E1000_CTRL_EXT_LINK_MODE_TBI 0x00C00000 -+#define E1000_CTRL_EXT_WR_WMARK_MASK 0x03000000 -+#define E1000_CTRL_EXT_WR_WMARK_256 0x00000000 -+#define E1000_CTRL_EXT_WR_WMARK_320 0x01000000 -+#define E1000_CTRL_EXT_WR_WMARK_384 0x02000000 -+#define E1000_CTRL_EXT_WR_WMARK_448 0x03000000 -+ -+/* MDI Control */ -+#define E1000_MDIC_DATA_MASK 0x0000FFFF -+#define E1000_MDIC_REG_MASK 0x001F0000 -+#define E1000_MDIC_REG_SHIFT 16 -+#define E1000_MDIC_PHY_MASK 0x03E00000 -+#define E1000_MDIC_PHY_SHIFT 21 -+#define E1000_MDIC_OP_WRITE 0x04000000 -+#define E1000_MDIC_OP_READ 0x08000000 -+#define E1000_MDIC_READY 0x10000000 -+#define E1000_MDIC_INT_EN 0x20000000 -+#define E1000_MDIC_ERROR 0x40000000 -+ -+/* LED Control */ -+#define E1000_LEDCTL_LED0_MODE_MASK 0x0000000F -+#define E1000_LEDCTL_LED0_MODE_SHIFT 0 -+#define E1000_LEDCTL_LED0_IVRT 0x00000040 -+#define E1000_LEDCTL_LED0_BLINK 0x00000080 -+#define E1000_LEDCTL_LED1_MODE_MASK 0x00000F00 -+#define E1000_LEDCTL_LED1_MODE_SHIFT 8 -+#define E1000_LEDCTL_LED1_IVRT 0x00004000 -+#define E1000_LEDCTL_LED1_BLINK 0x00008000 -+#define E1000_LEDCTL_LED2_MODE_MASK 0x000F0000 -+#define E1000_LEDCTL_LED2_MODE_SHIFT 16 -+#define E1000_LEDCTL_LED2_IVRT 0x00400000 -+#define E1000_LEDCTL_LED2_BLINK 0x00800000 -+#define E1000_LEDCTL_LED3_MODE_MASK 0x0F000000 -+#define E1000_LEDCTL_LED3_MODE_SHIFT 24 -+#define E1000_LEDCTL_LED3_IVRT 0x40000000 -+#define E1000_LEDCTL_LED3_BLINK 0x80000000 -+ -+#define E1000_LEDCTL_MODE_LINK_10_1000 0x0 -+#define E1000_LEDCTL_MODE_LINK_100_1000 0x1 -+#define E1000_LEDCTL_MODE_LINK_UP 0x2 -+#define E1000_LEDCTL_MODE_ACTIVITY 0x3 -+#define E1000_LEDCTL_MODE_LINK_ACTIVITY 0x4 -+#define E1000_LEDCTL_MODE_LINK_10 0x5 -+#define E1000_LEDCTL_MODE_LINK_100 0x6 -+#define E1000_LEDCTL_MODE_LINK_1000 0x7 -+#define E1000_LEDCTL_MODE_PCIX_MODE 0x8 -+#define E1000_LEDCTL_MODE_FULL_DUPLEX 0x9 -+#define E1000_LEDCTL_MODE_COLLISION 0xA -+#define E1000_LEDCTL_MODE_BUS_SPEED 0xB -+#define E1000_LEDCTL_MODE_BUS_SIZE 0xC -+#define E1000_LEDCTL_MODE_PAUSED 0xD -+#define E1000_LEDCTL_MODE_LED_ON 0xE -+#define E1000_LEDCTL_MODE_LED_OFF 0xF -+ -+/* Receive Address */ -+#define E1000_RAH_AV 0x80000000 /* Receive descriptor valid */ -+ -+/* Interrupt Cause Read */ -+#define E1000_ICR_TXDW 0x00000001 /* Transmit desc written back */ -+#define E1000_ICR_TXQE 0x00000002 /* Transmit Queue empty */ -+#define E1000_ICR_LSC 0x00000004 /* Link Status Change */ -+#define E1000_ICR_RXSEQ 0x00000008 /* rx sequence error */ -+#define E1000_ICR_RXDMT0 0x00000010 /* rx desc min. threshold (0) */ -+#define E1000_ICR_RXO 0x00000040 /* rx overrun */ -+#define E1000_ICR_RXT0 0x00000080 /* rx timer intr (ring 0) */ -+#define E1000_ICR_MDAC 0x00000200 /* MDIO access complete */ -+#define E1000_ICR_RXCFG 0x00000400 /* RX /c/ ordered set */ -+#define E1000_ICR_GPI_EN0 0x00000800 /* GP Int 0 */ -+#define E1000_ICR_GPI_EN1 0x00001000 /* GP Int 1 */ -+#define E1000_ICR_GPI_EN2 0x00002000 /* GP Int 2 */ -+#define E1000_ICR_GPI_EN3 0x00004000 /* GP Int 3 */ -+#define E1000_ICR_TXD_LOW 0x00008000 -+#define E1000_ICR_SRPD 0x00010000 -+ -+/* Interrupt Cause Set */ -+#define E1000_ICS_TXDW E1000_ICR_TXDW /* Transmit desc written back */ -+#define E1000_ICS_TXQE E1000_ICR_TXQE /* Transmit Queue empty */ -+#define E1000_ICS_LSC E1000_ICR_LSC /* Link Status Change */ -+#define E1000_ICS_RXSEQ E1000_ICR_RXSEQ /* rx sequence error */ -+#define E1000_ICS_RXDMT0 E1000_ICR_RXDMT0 /* rx desc min. threshold */ -+#define E1000_ICS_RXO E1000_ICR_RXO /* rx overrun */ -+#define E1000_ICS_RXT0 E1000_ICR_RXT0 /* rx timer intr */ -+#define E1000_ICS_MDAC E1000_ICR_MDAC /* MDIO access complete */ -+#define E1000_ICS_RXCFG E1000_ICR_RXCFG /* RX /c/ ordered set */ -+#define E1000_ICS_GPI_EN0 E1000_ICR_GPI_EN0 /* GP Int 0 */ -+#define E1000_ICS_GPI_EN1 E1000_ICR_GPI_EN1 /* GP Int 1 */ -+#define E1000_ICS_GPI_EN2 E1000_ICR_GPI_EN2 /* GP Int 2 */ -+#define E1000_ICS_GPI_EN3 E1000_ICR_GPI_EN3 /* GP Int 3 */ -+#define E1000_ICS_TXD_LOW E1000_ICR_TXD_LOW -+#define E1000_ICS_SRPD E1000_ICR_SRPD -+ -+/* Interrupt Mask Set */ -+#define E1000_IMS_TXDW E1000_ICR_TXDW /* Transmit desc written back */ -+#define E1000_IMS_TXQE E1000_ICR_TXQE /* Transmit Queue empty */ -+#define E1000_IMS_LSC E1000_ICR_LSC /* Link Status Change */ -+#define E1000_IMS_RXSEQ E1000_ICR_RXSEQ /* rx sequence error */ -+#define E1000_IMS_RXDMT0 E1000_ICR_RXDMT0 /* rx desc min. threshold */ -+#define E1000_IMS_RXO E1000_ICR_RXO /* rx overrun */ -+#define E1000_IMS_RXT0 E1000_ICR_RXT0 /* rx timer intr */ -+#define E1000_IMS_MDAC E1000_ICR_MDAC /* MDIO access complete */ -+#define E1000_IMS_RXCFG E1000_ICR_RXCFG /* RX /c/ ordered set */ -+#define E1000_IMS_GPI_EN0 E1000_ICR_GPI_EN0 /* GP Int 0 */ -+#define E1000_IMS_GPI_EN1 E1000_ICR_GPI_EN1 /* GP Int 1 */ -+#define E1000_IMS_GPI_EN2 E1000_ICR_GPI_EN2 /* GP Int 2 */ -+#define E1000_IMS_GPI_EN3 E1000_ICR_GPI_EN3 /* GP Int 3 */ -+#define E1000_IMS_TXD_LOW E1000_ICR_TXD_LOW -+#define E1000_IMS_SRPD E1000_ICR_SRPD -+ -+/* Interrupt Mask Clear */ -+#define E1000_IMC_TXDW E1000_ICR_TXDW /* Transmit desc written back */ -+#define E1000_IMC_TXQE E1000_ICR_TXQE /* Transmit Queue empty */ -+#define E1000_IMC_LSC E1000_ICR_LSC /* Link Status Change */ -+#define E1000_IMC_RXSEQ E1000_ICR_RXSEQ /* rx sequence error */ -+#define E1000_IMC_RXDMT0 E1000_ICR_RXDMT0 /* rx desc min. threshold */ -+#define E1000_IMC_RXO E1000_ICR_RXO /* rx overrun */ -+#define E1000_IMC_RXT0 E1000_ICR_RXT0 /* rx timer intr */ -+#define E1000_IMC_MDAC E1000_ICR_MDAC /* MDIO access complete */ -+#define E1000_IMC_RXCFG E1000_ICR_RXCFG /* RX /c/ ordered set */ -+#define E1000_IMC_GPI_EN0 E1000_ICR_GPI_EN0 /* GP Int 0 */ -+#define E1000_IMC_GPI_EN1 E1000_ICR_GPI_EN1 /* GP Int 1 */ -+#define E1000_IMC_GPI_EN2 E1000_ICR_GPI_EN2 /* GP Int 2 */ -+#define E1000_IMC_GPI_EN3 E1000_ICR_GPI_EN3 /* GP Int 3 */ -+#define E1000_IMC_TXD_LOW E1000_ICR_TXD_LOW -+#define E1000_IMC_SRPD E1000_ICR_SRPD -+ -+/* Receive Control */ -+#define E1000_RCTL_RST 0x00000001 /* Software reset */ -+#define E1000_RCTL_EN 0x00000002 /* enable */ -+#define E1000_RCTL_SBP 0x00000004 /* store bad packet */ -+#define E1000_RCTL_UPE 0x00000008 /* unicast promiscuous enable */ -+#define E1000_RCTL_MPE 0x00000010 /* multicast promiscuous enab */ -+#define E1000_RCTL_LPE 0x00000020 /* long packet enable */ -+#define E1000_RCTL_LBM_NO 0x00000000 /* no loopback mode */ -+#define E1000_RCTL_LBM_MAC 0x00000040 /* MAC loopback mode */ -+#define E1000_RCTL_LBM_SLP 0x00000080 /* serial link loopback mode */ -+#define E1000_RCTL_LBM_TCVR 0x000000C0 /* tcvr loopback mode */ -+#define E1000_RCTL_RDMTS_HALF 0x00000000 /* rx desc min threshold size */ -+#define E1000_RCTL_RDMTS_QUAT 0x00000100 /* rx desc min threshold size */ -+#define E1000_RCTL_RDMTS_EIGTH 0x00000200 /* rx desc min threshold size */ -+#define E1000_RCTL_MO_SHIFT 12 /* multicast offset shift */ -+#define E1000_RCTL_MO_0 0x00000000 /* multicast offset 11:0 */ -+#define E1000_RCTL_MO_1 0x00001000 /* multicast offset 12:1 */ -+#define E1000_RCTL_MO_2 0x00002000 /* multicast offset 13:2 */ -+#define E1000_RCTL_MO_3 0x00003000 /* multicast offset 15:4 */ -+#define E1000_RCTL_MDR 0x00004000 /* multicast desc ring 0 */ -+#define E1000_RCTL_BAM 0x00008000 /* broadcast enable */ -+/* these buffer sizes are valid if E1000_RCTL_BSEX is 0 */ -+#define E1000_RCTL_SZ_2048 0x00000000 /* rx buffer size 2048 */ -+#define E1000_RCTL_SZ_1024 0x00010000 /* rx buffer size 1024 */ -+#define E1000_RCTL_SZ_512 0x00020000 /* rx buffer size 512 */ -+#define E1000_RCTL_SZ_256 0x00030000 /* rx buffer size 256 */ -+/* these buffer sizes are valid if E1000_RCTL_BSEX is 1 */ -+#define E1000_RCTL_SZ_16384 0x00010000 /* rx buffer size 16384 */ -+#define E1000_RCTL_SZ_8192 0x00020000 /* rx buffer size 8192 */ -+#define E1000_RCTL_SZ_4096 0x00030000 /* rx buffer size 4096 */ -+#define E1000_RCTL_VFE 0x00040000 /* vlan filter enable */ -+#define E1000_RCTL_CFIEN 0x00080000 /* canonical form enable */ -+#define E1000_RCTL_CFI 0x00100000 /* canonical form indicator */ -+#define E1000_RCTL_DPF 0x00400000 /* discard pause frames */ -+#define E1000_RCTL_PMCF 0x00800000 /* pass MAC control frames */ -+#define E1000_RCTL_BSEX 0x02000000 /* Buffer size extension */ -+ -+/* Receive Descriptor */ -+#define E1000_RDT_DELAY 0x0000ffff /* Delay timer (1=1024us) */ -+#define E1000_RDT_FPDB 0x80000000 /* Flush descriptor block */ -+#define E1000_RDLEN_LEN 0x0007ff80 /* descriptor length */ -+#define E1000_RDH_RDH 0x0000ffff /* receive descriptor head */ -+#define E1000_RDT_RDT 0x0000ffff /* receive descriptor tail */ -+ -+/* Flow Control */ -+#define E1000_FCRTH_RTH 0x0000FFF8 /* Mask Bits[15:3] for RTH */ -+#define E1000_FCRTH_XFCE 0x80000000 /* External Flow Control Enable */ -+#define E1000_FCRTL_RTL 0x0000FFF8 /* Mask Bits[15:3] for RTL */ -+#define E1000_FCRTL_XONE 0x80000000 /* Enable XON frame transmission */ -+ -+/* Receive Descriptor Control */ -+#define E1000_RXDCTL_PTHRESH 0x0000003F /* RXDCTL Prefetch Threshold */ -+#define E1000_RXDCTL_HTHRESH 0x00003F00 /* RXDCTL Host Threshold */ -+#define E1000_RXDCTL_WTHRESH 0x003F0000 /* RXDCTL Writeback Threshold */ -+#define E1000_RXDCTL_GRAN 0x01000000 /* RXDCTL Granularity */ -+ -+/* Transmit Descriptor Control */ -+#define E1000_TXDCTL_PTHRESH 0x000000FF /* TXDCTL Prefetch Threshold */ -+#define E1000_TXDCTL_HTHRESH 0x0000FF00 /* TXDCTL Host Threshold */ -+#define E1000_TXDCTL_WTHRESH 0x00FF0000 /* TXDCTL Writeback Threshold */ -+#define E1000_TXDCTL_GRAN 0x01000000 /* TXDCTL Granularity */ -+#define E1000_TXDCTL_LWTHRESH 0xFE000000 /* TXDCTL Low Threshold */ -+#define E1000_TXDCTL_FULL_TX_DESC_WB 0x01010000 /* GRAN=1, WTHRESH=1 */ -+ -+/* Transmit Configuration Word */ -+#define E1000_TXCW_FD 0x00000020 /* TXCW full duplex */ -+#define E1000_TXCW_HD 0x00000040 /* TXCW half duplex */ -+#define E1000_TXCW_PAUSE 0x00000080 /* TXCW sym pause request */ -+#define E1000_TXCW_ASM_DIR 0x00000100 /* TXCW astm pause direction */ -+#define E1000_TXCW_PAUSE_MASK 0x00000180 /* TXCW pause request mask */ -+#define E1000_TXCW_RF 0x00003000 /* TXCW remote fault */ -+#define E1000_TXCW_NP 0x00008000 /* TXCW next page */ -+#define E1000_TXCW_CW 0x0000ffff /* TxConfigWord mask */ -+#define E1000_TXCW_TXC 0x40000000 /* Transmit Config control */ -+#define E1000_TXCW_ANE 0x80000000 /* Auto-neg enable */ -+ -+/* Receive Configuration Word */ -+#define E1000_RXCW_CW 0x0000ffff /* RxConfigWord mask */ -+#define E1000_RXCW_NC 0x04000000 /* Receive config no carrier */ -+#define E1000_RXCW_IV 0x08000000 /* Receive config invalid */ -+#define E1000_RXCW_CC 0x10000000 /* Receive config change */ -+#define E1000_RXCW_C 0x20000000 /* Receive config */ -+#define E1000_RXCW_SYNCH 0x40000000 /* Receive config synch */ -+#define E1000_RXCW_ANC 0x80000000 /* Auto-neg complete */ -+ -+/* Transmit Control */ -+#define E1000_TCTL_RST 0x00000001 /* software reset */ -+#define E1000_TCTL_EN 0x00000002 /* enable tx */ -+#define E1000_TCTL_BCE 0x00000004 /* busy check enable */ -+#define E1000_TCTL_PSP 0x00000008 /* pad short packets */ -+#define E1000_TCTL_CT 0x00000ff0 /* collision threshold */ -+#define E1000_TCTL_COLD 0x003ff000 /* collision distance */ -+#define E1000_TCTL_SWXOFF 0x00400000 /* SW Xoff transmission */ -+#define E1000_TCTL_PBE 0x00800000 /* Packet Burst Enable */ -+#define E1000_TCTL_RTLC 0x01000000 /* Re-transmit on late collision */ -+#define E1000_TCTL_NRTU 0x02000000 /* No Re-transmit on underrun */ -+ -+/* Receive Checksum Control */ -+#define E1000_RXCSUM_PCSS_MASK 0x000000FF /* Packet Checksum Start */ -+#define E1000_RXCSUM_IPOFL 0x00000100 /* IPv4 checksum offload */ -+#define E1000_RXCSUM_TUOFL 0x00000200 /* TCP / UDP checksum offload */ -+#define E1000_RXCSUM_IPV6OFL 0x00000400 /* IPv6 checksum offload */ -+ -+/* Definitions for power management and wakeup registers */ -+/* Wake Up Control */ -+#define E1000_WUC_APME 0x00000001 /* APM Enable */ -+#define E1000_WUC_PME_EN 0x00000002 /* PME Enable */ -+#define E1000_WUC_PME_STATUS 0x00000004 /* PME Status */ -+#define E1000_WUC_APMPME 0x00000008 /* Assert PME on APM Wakeup */ -+#define E1000_WUC_SPM 0x80000000 /* Enable SPM */ -+ -+/* Wake Up Filter Control */ -+#define E1000_WUFC_LNKC 0x00000001 /* Link Status Change Wakeup Enable */ -+#define E1000_WUFC_MAG 0x00000002 /* Magic Packet Wakeup Enable */ -+#define E1000_WUFC_EX 0x00000004 /* Directed Exact Wakeup Enable */ -+#define E1000_WUFC_MC 0x00000008 /* Directed Multicast Wakeup Enable */ -+#define E1000_WUFC_BC 0x00000010 /* Broadcast Wakeup Enable */ -+#define E1000_WUFC_ARP 0x00000020 /* ARP Request Packet Wakeup Enable */ -+#define E1000_WUFC_IPV4 0x00000040 /* Directed IPv4 Packet Wakeup Enable */ -+#define E1000_WUFC_IPV6 0x00000080 /* Directed IPv6 Packet Wakeup Enable */ -+#define E1000_WUFC_FLX0 0x00010000 /* Flexible Filter 0 Enable */ -+#define E1000_WUFC_FLX1 0x00020000 /* Flexible Filter 1 Enable */ -+#define E1000_WUFC_FLX2 0x00040000 /* Flexible Filter 2 Enable */ -+#define E1000_WUFC_FLX3 0x00080000 /* Flexible Filter 3 Enable */ -+#define E1000_WUFC_ALL_FILTERS 0x000F00FF /* Mask for all wakeup filters */ -+#define E1000_WUFC_FLX_OFFSET 16 /* Offset to the Flexible Filters bits */ -+#define E1000_WUFC_FLX_FILTERS 0x000F0000 /* Mask for the 4 flexible filters */ -+ -+/* Wake Up Status */ -+#define E1000_WUS_LNKC 0x00000001 /* Link Status Changed */ -+#define E1000_WUS_MAG 0x00000002 /* Magic Packet Received */ -+#define E1000_WUS_EX 0x00000004 /* Directed Exact Received */ -+#define E1000_WUS_MC 0x00000008 /* Directed Multicast Received */ -+#define E1000_WUS_BC 0x00000010 /* Broadcast Received */ -+#define E1000_WUS_ARP 0x00000020 /* ARP Request Packet Received */ -+#define E1000_WUS_IPV4 0x00000040 /* Directed IPv4 Packet Wakeup Received */ -+#define E1000_WUS_IPV6 0x00000080 /* Directed IPv6 Packet Wakeup Received */ -+#define E1000_WUS_FLX0 0x00010000 /* Flexible Filter 0 Match */ -+#define E1000_WUS_FLX1 0x00020000 /* Flexible Filter 1 Match */ -+#define E1000_WUS_FLX2 0x00040000 /* Flexible Filter 2 Match */ -+#define E1000_WUS_FLX3 0x00080000 /* Flexible Filter 3 Match */ -+#define E1000_WUS_FLX_FILTERS 0x000F0000 /* Mask for the 4 flexible filters */ -+ -+/* Management Control */ -+#define E1000_MANC_SMBUS_EN 0x00000001 /* SMBus Enabled - RO */ -+#define E1000_MANC_ASF_EN 0x00000002 /* ASF Enabled - RO */ -+#define E1000_MANC_R_ON_FORCE 0x00000004 /* Reset on Force TCO - RO */ -+#define E1000_MANC_RMCP_EN 0x00000100 /* Enable RCMP 026Fh Filtering */ -+#define E1000_MANC_0298_EN 0x00000200 /* Enable RCMP 0298h Filtering */ -+#define E1000_MANC_IPV4_EN 0x00000400 /* Enable IPv4 */ -+#define E1000_MANC_IPV6_EN 0x00000800 /* Enable IPv6 */ -+#define E1000_MANC_SNAP_EN 0x00001000 /* Accept LLC/SNAP */ -+#define E1000_MANC_ARP_EN 0x00002000 /* Enable ARP Request Filtering */ -+#define E1000_MANC_NEIGHBOR_EN 0x00004000 /* Enable Neighbor Discovery -+ * Filtering */ -+#define E1000_MANC_TCO_RESET 0x00010000 /* TCO Reset Occurred */ -+#define E1000_MANC_RCV_TCO_EN 0x00020000 /* Receive TCO Packets Enabled */ -+#define E1000_MANC_REPORT_STATUS 0x00040000 /* Status Reporting Enabled */ -+#define E1000_MANC_SMB_REQ 0x01000000 /* SMBus Request */ -+#define E1000_MANC_SMB_GNT 0x02000000 /* SMBus Grant */ -+#define E1000_MANC_SMB_CLK_IN 0x04000000 /* SMBus Clock In */ -+#define E1000_MANC_SMB_DATA_IN 0x08000000 /* SMBus Data In */ -+#define E1000_MANC_SMB_DATA_OUT 0x10000000 /* SMBus Data Out */ -+#define E1000_MANC_SMB_CLK_OUT 0x20000000 /* SMBus Clock Out */ -+ -+#define E1000_MANC_SMB_DATA_OUT_SHIFT 28 /* SMBus Data Out Shift */ -+#define E1000_MANC_SMB_CLK_OUT_SHIFT 29 /* SMBus Clock Out Shift */ -+ -+/* Wake Up Packet Length */ -+#define E1000_WUPL_LENGTH_MASK 0x0FFF /* Only the lower 12 bits are valid */ -+ -+#define E1000_MDALIGN 4096 -+ -+/* EEPROM Commands - Microwire */ -+#define EEPROM_READ_OPCODE_MICROWIRE 0x6 /* EEPROM read opcode */ -+#define EEPROM_WRITE_OPCODE_MICROWIRE 0x5 /* EEPROM write opcode */ -+#define EEPROM_ERASE_OPCODE_MICROWIRE 0x7 /* EEPROM erase opcode */ -+#define EEPROM_EWEN_OPCODE_MICROWIRE 0x13 /* EEPROM erase/write enable */ -+#define EEPROM_EWDS_OPCODE_MICROWIRE 0x10 /* EEPROM erast/write disable */ -+ -+/* EEPROM Commands - SPI */ -+#define EEPROM_MAX_RETRY_SPI 5000 /* Max wait of 5ms, for RDY signal */ -+#define EEPROM_READ_OPCODE_SPI 0x3 /* EEPROM read opcode */ -+#define EEPROM_WRITE_OPCODE_SPI 0x2 /* EEPROM write opcode */ -+#define EEPROM_A8_OPCODE_SPI 0x8 /* opcode bit-3 = address bit-8 */ -+#define EEPROM_WREN_OPCODE_SPI 0x6 /* EEPROM set Write Enable latch */ -+#define EEPROM_WRDI_OPCODE_SPI 0x4 /* EEPROM reset Write Enable latch */ -+#define EEPROM_RDSR_OPCODE_SPI 0x5 /* EEPROM read Status register */ -+#define EEPROM_WRSR_OPCODE_SPI 0x1 /* EEPROM write Status register */ -+ -+/* EEPROM Size definitions */ -+#define EEPROM_SIZE_16KB 0x1800 -+#define EEPROM_SIZE_8KB 0x1400 -+#define EEPROM_SIZE_4KB 0x1000 -+#define EEPROM_SIZE_2KB 0x0C00 -+#define EEPROM_SIZE_1KB 0x0800 -+#define EEPROM_SIZE_512B 0x0400 -+#define EEPROM_SIZE_128B 0x0000 -+#define EEPROM_SIZE_MASK 0x1C00 -+ -+/* EEPROM Word Offsets */ -+#define EEPROM_COMPAT 0x0003 -+#define EEPROM_ID_LED_SETTINGS 0x0004 -+#define EEPROM_SERDES_AMPLITUDE 0x0006 /* For SERDES output amplitude adjustment. */ -+#define EEPROM_INIT_CONTROL1_REG 0x000A -+#define EEPROM_INIT_CONTROL2_REG 0x000F -+#define EEPROM_INIT_CONTROL3_PORT_B 0x0014 -+#define EEPROM_INIT_CONTROL3_PORT_A 0x0024 -+#define EEPROM_CFG 0x0012 -+#define EEPROM_FLASH_VERSION 0x0032 -+#define EEPROM_CHECKSUM_REG 0x003F -+ -+/* Word definitions for ID LED Settings */ -+#define ID_LED_RESERVED_0000 0x0000 -+#define ID_LED_RESERVED_FFFF 0xFFFF -+#define ID_LED_DEFAULT ((ID_LED_OFF1_ON2 << 12) | \ -+ (ID_LED_OFF1_OFF2 << 8) | \ -+ (ID_LED_DEF1_DEF2 << 4) | \ -+ (ID_LED_DEF1_DEF2)) -+#define ID_LED_DEF1_DEF2 0x1 -+#define ID_LED_DEF1_ON2 0x2 -+#define ID_LED_DEF1_OFF2 0x3 -+#define ID_LED_ON1_DEF2 0x4 -+#define ID_LED_ON1_ON2 0x5 -+#define ID_LED_ON1_OFF2 0x6 -+#define ID_LED_OFF1_DEF2 0x7 -+#define ID_LED_OFF1_ON2 0x8 -+#define ID_LED_OFF1_OFF2 0x9 -+ -+#define IGP_ACTIVITY_LED_MASK 0xFFFFF0FF -+#define IGP_ACTIVITY_LED_ENABLE 0x0300 -+#define IGP_LED3_MODE 0x07000000 -+ -+ -+/* Mask bits for SERDES amplitude adjustment in Word 6 of the EEPROM */ -+#define EEPROM_SERDES_AMPLITUDE_MASK 0x000F -+ -+/* Mask bits for fields in Word 0x0a of the EEPROM */ -+#define EEPROM_WORD0A_ILOS 0x0010 -+#define EEPROM_WORD0A_SWDPIO 0x01E0 -+#define EEPROM_WORD0A_LRST 0x0200 -+#define EEPROM_WORD0A_FD 0x0400 -+#define EEPROM_WORD0A_66MHZ 0x0800 -+ -+/* Mask bits for fields in Word 0x0f of the EEPROM */ -+#define EEPROM_WORD0F_PAUSE_MASK 0x3000 -+#define EEPROM_WORD0F_PAUSE 0x1000 -+#define EEPROM_WORD0F_ASM_DIR 0x2000 -+#define EEPROM_WORD0F_ANE 0x0800 -+#define EEPROM_WORD0F_SWPDIO_EXT 0x00F0 -+ -+/* For checksumming, the sum of all words in the EEPROM should equal 0xBABA. */ -+#define EEPROM_SUM 0xBABA -+ -+/* EEPROM Map defines (WORD OFFSETS)*/ -+#define EEPROM_NODE_ADDRESS_BYTE_0 0 -+#define EEPROM_PBA_BYTE_1 8 -+ -+#define EEPROM_RESERVED_WORD 0xFFFF -+ -+/* EEPROM Map Sizes (Byte Counts) */ -+#define PBA_SIZE 4 -+ -+/* Collision related configuration parameters */ -+#define E1000_COLLISION_THRESHOLD 16 -+#define E1000_CT_SHIFT 4 -+#define E1000_COLLISION_DISTANCE 64 -+#define E1000_FDX_COLLISION_DISTANCE E1000_COLLISION_DISTANCE -+#define E1000_HDX_COLLISION_DISTANCE E1000_COLLISION_DISTANCE -+#define E1000_COLD_SHIFT 12 -+ -+/* Number of Transmit and Receive Descriptors must be a multiple of 8 */ -+#define REQ_TX_DESCRIPTOR_MULTIPLE 8 -+#define REQ_RX_DESCRIPTOR_MULTIPLE 8 -+ -+/* Default values for the transmit IPG register */ -+#define DEFAULT_82542_TIPG_IPGT 10 -+#define DEFAULT_82543_TIPG_IPGT_FIBER 9 -+#define DEFAULT_82543_TIPG_IPGT_COPPER 8 -+ -+#define E1000_TIPG_IPGT_MASK 0x000003FF -+#define E1000_TIPG_IPGR1_MASK 0x000FFC00 -+#define E1000_TIPG_IPGR2_MASK 0x3FF00000 -+ -+#define DEFAULT_82542_TIPG_IPGR1 2 -+#define DEFAULT_82543_TIPG_IPGR1 8 -+#define E1000_TIPG_IPGR1_SHIFT 10 -+ -+#define DEFAULT_82542_TIPG_IPGR2 10 -+#define DEFAULT_82543_TIPG_IPGR2 6 -+#define E1000_TIPG_IPGR2_SHIFT 20 -+ -+#define E1000_TXDMAC_DPP 0x00000001 -+ -+/* Adaptive IFS defines */ -+#define TX_THRESHOLD_START 8 -+#define TX_THRESHOLD_INCREMENT 10 -+#define TX_THRESHOLD_DECREMENT 1 -+#define TX_THRESHOLD_STOP 190 -+#define TX_THRESHOLD_DISABLE 0 -+#define TX_THRESHOLD_TIMER_MS 10000 -+#define MIN_NUM_XMITS 1000 -+#define IFS_MAX 80 -+#define IFS_STEP 10 -+#define IFS_MIN 40 -+#define IFS_RATIO 4 -+ -+/* PBA constants */ -+#define E1000_PBA_16K 0x0010 /* 16KB, default TX allocation */ -+#define E1000_PBA_22K 0x0016 -+#define E1000_PBA_24K 0x0018 -+#define E1000_PBA_30K 0x001E -+#define E1000_PBA_40K 0x0028 -+#define E1000_PBA_48K 0x0030 /* 48KB, default RX allocation */ -+ -+/* Flow Control Constants */ -+#define FLOW_CONTROL_ADDRESS_LOW 0x00C28001 -+#define FLOW_CONTROL_ADDRESS_HIGH 0x00000100 -+#define FLOW_CONTROL_TYPE 0x8808 -+ -+/* The historical defaults for the flow control values are given below. */ -+#define FC_DEFAULT_HI_THRESH (0x8000) /* 32KB */ -+#define FC_DEFAULT_LO_THRESH (0x4000) /* 16KB */ -+#define FC_DEFAULT_TX_TIMER (0x100) /* ~130 us */ -+ -+/* PCIX Config space */ -+#define PCIX_COMMAND_REGISTER 0xE6 -+#define PCIX_STATUS_REGISTER_LO 0xE8 -+#define PCIX_STATUS_REGISTER_HI 0xEA -+ -+#define PCIX_COMMAND_MMRBC_MASK 0x000C -+#define PCIX_COMMAND_MMRBC_SHIFT 0x2 -+#define PCIX_STATUS_HI_MMRBC_MASK 0x0060 -+#define PCIX_STATUS_HI_MMRBC_SHIFT 0x5 -+#define PCIX_STATUS_HI_MMRBC_4K 0x3 -+#define PCIX_STATUS_HI_MMRBC_2K 0x2 -+ -+ -+/* Number of bits required to shift right the "pause" bits from the -+ * EEPROM (bits 13:12) to the "pause" (bits 8:7) field in the TXCW register. -+ */ -+#define PAUSE_SHIFT 5 -+ -+/* Number of bits required to shift left the "SWDPIO" bits from the -+ * EEPROM (bits 8:5) to the "SWDPIO" (bits 25:22) field in the CTRL register. -+ */ -+#define SWDPIO_SHIFT 17 -+ -+/* Number of bits required to shift left the "SWDPIO_EXT" bits from the -+ * EEPROM word F (bits 7:4) to the bits 11:8 of The Extended CTRL register. -+ */ -+#define SWDPIO__EXT_SHIFT 4 -+ -+/* Number of bits required to shift left the "ILOS" bit from the EEPROM -+ * (bit 4) to the "ILOS" (bit 7) field in the CTRL register. -+ */ -+#define ILOS_SHIFT 3 -+ -+ -+#define RECEIVE_BUFFER_ALIGN_SIZE (256) -+ -+/* Number of milliseconds we wait for auto-negotiation to complete */ -+#define LINK_UP_TIMEOUT 500 -+ -+#define E1000_TX_BUFFER_SIZE ((uint32_t)1514) -+ -+/* The carrier extension symbol, as received by the NIC. */ -+#define CARRIER_EXTENSION 0x0F -+ -+/* TBI_ACCEPT macro definition: -+ * -+ * This macro requires: -+ * adapter = a pointer to struct e1000_hw -+ * status = the 8 bit status field of the RX descriptor with EOP set -+ * error = the 8 bit error field of the RX descriptor with EOP set -+ * length = the sum of all the length fields of the RX descriptors that -+ * make up the current frame -+ * last_byte = the last byte of the frame DMAed by the hardware -+ * max_frame_length = the maximum frame length we want to accept. -+ * min_frame_length = the minimum frame length we want to accept. -+ * -+ * This macro is a conditional that should be used in the interrupt -+ * handler's Rx processing routine when RxErrors have been detected. -+ * -+ * Typical use: -+ * ... -+ * if (TBI_ACCEPT) { -+ * accept_frame = TRUE; -+ * e1000_tbi_adjust_stats(adapter, MacAddress); -+ * frame_length--; -+ * } else { -+ * accept_frame = FALSE; -+ * } -+ * ... -+ */ -+ -+#define TBI_ACCEPT(adapter, status, errors, length, last_byte) \ -+ ((adapter)->tbi_compatibility_on && \ -+ (((errors) & E1000_RXD_ERR_FRAME_ERR_MASK) == E1000_RXD_ERR_CE) && \ -+ ((last_byte) == CARRIER_EXTENSION) && \ -+ (((status) & E1000_RXD_STAT_VP) ? \ -+ (((length) > ((adapter)->min_frame_size - VLAN_TAG_SIZE)) && \ -+ ((length) <= ((adapter)->max_frame_size + 1))) : \ -+ (((length) > (adapter)->min_frame_size) && \ -+ ((length) <= ((adapter)->max_frame_size + VLAN_TAG_SIZE + 1))))) -+ -+ -+/* Structures, enums, and macros for the PHY */ -+ -+/* Bit definitions for the Management Data IO (MDIO) and Management Data -+ * Clock (MDC) pins in the Device Control Register. -+ */ -+#define E1000_CTRL_PHY_RESET_DIR E1000_CTRL_SWDPIO0 -+#define E1000_CTRL_PHY_RESET E1000_CTRL_SWDPIN0 -+#define E1000_CTRL_MDIO_DIR E1000_CTRL_SWDPIO2 -+#define E1000_CTRL_MDIO E1000_CTRL_SWDPIN2 -+#define E1000_CTRL_MDC_DIR E1000_CTRL_SWDPIO3 -+#define E1000_CTRL_MDC E1000_CTRL_SWDPIN3 -+#define E1000_CTRL_PHY_RESET_DIR4 E1000_CTRL_EXT_SDP4_DIR -+#define E1000_CTRL_PHY_RESET4 E1000_CTRL_EXT_SDP4_DATA -+ -+/* PHY 1000 MII Register/Bit Definitions */ -+/* PHY Registers defined by IEEE */ -+#define PHY_CTRL 0x00 /* Control Register */ -+#define PHY_STATUS 0x01 /* Status Regiser */ -+#define PHY_ID1 0x02 /* Phy Id Reg (word 1) */ -+#define PHY_ID2 0x03 /* Phy Id Reg (word 2) */ -+#define PHY_AUTONEG_ADV 0x04 /* Autoneg Advertisement */ -+#define PHY_LP_ABILITY 0x05 /* Link Partner Ability (Base Page) */ -+#define PHY_AUTONEG_EXP 0x06 /* Autoneg Expansion Reg */ -+#define PHY_NEXT_PAGE_TX 0x07 /* Next Page TX */ -+#define PHY_LP_NEXT_PAGE 0x08 /* Link Partner Next Page */ -+#define PHY_1000T_CTRL 0x09 /* 1000Base-T Control Reg */ -+#define PHY_1000T_STATUS 0x0A /* 1000Base-T Status Reg */ -+#define PHY_EXT_STATUS 0x0F /* Extended Status Reg */ -+ -+/* M88E1000 Specific Registers */ -+#define M88E1000_PHY_SPEC_CTRL 0x10 /* PHY Specific Control Register */ -+#define M88E1000_PHY_SPEC_STATUS 0x11 /* PHY Specific Status Register */ -+#define M88E1000_INT_ENABLE 0x12 /* Interrupt Enable Register */ -+#define M88E1000_INT_STATUS 0x13 /* Interrupt Status Register */ -+#define M88E1000_EXT_PHY_SPEC_CTRL 0x14 /* Extended PHY Specific Control */ -+#define M88E1000_RX_ERR_CNTR 0x15 /* Receive Error Counter */ -+ -+#define M88E1000_PHY_EXT_CTRL 0x1A /* PHY extend control register */ -+#define M88E1000_PHY_PAGE_SELECT 0x1D /* Reg 29 for page number setting */ -+#define M88E1000_PHY_GEN_CONTROL 0x1E /* Its meaning depends on reg 29 */ -+#define M88E1000_PHY_VCO_REG_BIT8 0x100 /* Bits 8 & 11 are adjusted for */ -+#define M88E1000_PHY_VCO_REG_BIT11 0x800 /* improved BER performance */ -+ -+#define IGP01E1000_IEEE_REGS_PAGE 0x0000 -+#define IGP01E1000_IEEE_RESTART_AUTONEG 0x3300 -+#define IGP01E1000_IEEE_FORCE_GIGA 0x0140 -+ -+/* IGP01E1000 Specific Registers */ -+#define IGP01E1000_PHY_PORT_CONFIG 0x10 /* PHY Specific Port Config Register */ -+#define IGP01E1000_PHY_PORT_STATUS 0x11 /* PHY Specific Status Register */ -+#define IGP01E1000_PHY_PORT_CTRL 0x12 /* PHY Specific Control Register */ -+#define IGP01E1000_PHY_LINK_HEALTH 0x13 /* PHY Link Health Register */ -+#define IGP01E1000_GMII_FIFO 0x14 /* GMII FIFO Register */ -+#define IGP01E1000_PHY_CHANNEL_QUALITY 0x15 /* PHY Channel Quality Register */ -+#define IGP01E1000_PHY_PAGE_SELECT 0x1F /* PHY Page Select Core Register */ -+ -+/* IGP01E1000 AGC Registers - stores the cable length values*/ -+#define IGP01E1000_PHY_AGC_A 0x1172 -+#define IGP01E1000_PHY_AGC_B 0x1272 -+#define IGP01E1000_PHY_AGC_C 0x1472 -+#define IGP01E1000_PHY_AGC_D 0x1872 -+ -+/* IGP01E1000 DSP Reset Register */ -+#define IGP01E1000_PHY_DSP_RESET 0x1F33 -+#define IGP01E1000_PHY_DSP_SET 0x1F71 -+#define IGP01E1000_PHY_DSP_FFE 0x1F35 -+ -+#define IGP01E1000_PHY_CHANNEL_NUM 4 -+#define IGP01E1000_PHY_AGC_PARAM_A 0x1171 -+#define IGP01E1000_PHY_AGC_PARAM_B 0x1271 -+#define IGP01E1000_PHY_AGC_PARAM_C 0x1471 -+#define IGP01E1000_PHY_AGC_PARAM_D 0x1871 -+ -+#define IGP01E1000_PHY_EDAC_MU_INDEX 0xC000 -+#define IGP01E1000_PHY_EDAC_SIGN_EXT_9_BITS 0x8000 -+ -+#define IGP01E1000_PHY_ANALOG_TX_STATE 0x2890 -+#define IGP01E1000_PHY_ANALOG_CLASS_A 0x2000 -+#define IGP01E1000_PHY_FORCE_ANALOG_ENABLE 0x0004 -+#define IGP01E1000_PHY_DSP_FFE_CM_CP 0x0069 -+ -+#define IGP01E1000_PHY_DSP_FFE_DEFAULT 0x002A -+/* IGP01E1000 PCS Initialization register - stores the polarity status when -+ * speed = 1000 Mbps. */ -+#define IGP01E1000_PHY_PCS_INIT_REG 0x00B4 -+#define IGP01E1000_PHY_PCS_CTRL_REG 0x00B5 -+ -+#define IGP01E1000_ANALOG_REGS_PAGE 0x20C0 -+ -+#define MAX_PHY_REG_ADDRESS 0x1F /* 5 bit address bus (0-0x1F) */ -+#define MAX_PHY_MULTI_PAGE_REG 0xF /*Registers that are equal on all pages*/ -+/* PHY Control Register */ -+#define MII_CR_SPEED_SELECT_MSB 0x0040 /* bits 6,13: 10=1000, 01=100, 00=10 */ -+#define MII_CR_COLL_TEST_ENABLE 0x0080 /* Collision test enable */ -+#define MII_CR_FULL_DUPLEX 0x0100 /* FDX =1, half duplex =0 */ -+#define MII_CR_RESTART_AUTO_NEG 0x0200 /* Restart auto negotiation */ -+#define MII_CR_ISOLATE 0x0400 /* Isolate PHY from MII */ -+#define MII_CR_POWER_DOWN 0x0800 /* Power down */ -+#define MII_CR_AUTO_NEG_EN 0x1000 /* Auto Neg Enable */ -+#define MII_CR_SPEED_SELECT_LSB 0x2000 /* bits 6,13: 10=1000, 01=100, 00=10 */ -+#define MII_CR_LOOPBACK 0x4000 /* 0 = normal, 1 = loopback */ -+#define MII_CR_RESET 0x8000 /* 0 = normal, 1 = PHY reset */ -+ -+/* PHY Status Register */ -+#define MII_SR_EXTENDED_CAPS 0x0001 /* Extended register capabilities */ -+#define MII_SR_JABBER_DETECT 0x0002 /* Jabber Detected */ -+#define MII_SR_LINK_STATUS 0x0004 /* Link Status 1 = link */ -+#define MII_SR_AUTONEG_CAPS 0x0008 /* Auto Neg Capable */ -+#define MII_SR_REMOTE_FAULT 0x0010 /* Remote Fault Detect */ -+#define MII_SR_AUTONEG_COMPLETE 0x0020 /* Auto Neg Complete */ -+#define MII_SR_PREAMBLE_SUPPRESS 0x0040 /* Preamble may be suppressed */ -+#define MII_SR_EXTENDED_STATUS 0x0100 /* Ext. status info in Reg 0x0F */ -+#define MII_SR_100T2_HD_CAPS 0x0200 /* 100T2 Half Duplex Capable */ -+#define MII_SR_100T2_FD_CAPS 0x0400 /* 100T2 Full Duplex Capable */ -+#define MII_SR_10T_HD_CAPS 0x0800 /* 10T Half Duplex Capable */ -+#define MII_SR_10T_FD_CAPS 0x1000 /* 10T Full Duplex Capable */ -+#define MII_SR_100X_HD_CAPS 0x2000 /* 100X Half Duplex Capable */ -+#define MII_SR_100X_FD_CAPS 0x4000 /* 100X Full Duplex Capable */ -+#define MII_SR_100T4_CAPS 0x8000 /* 100T4 Capable */ -+ -+/* Autoneg Advertisement Register */ -+#define NWAY_AR_SELECTOR_FIELD 0x0001 /* indicates IEEE 802.3 CSMA/CD */ -+#define NWAY_AR_10T_HD_CAPS 0x0020 /* 10T Half Duplex Capable */ -+#define NWAY_AR_10T_FD_CAPS 0x0040 /* 10T Full Duplex Capable */ -+#define NWAY_AR_100TX_HD_CAPS 0x0080 /* 100TX Half Duplex Capable */ -+#define NWAY_AR_100TX_FD_CAPS 0x0100 /* 100TX Full Duplex Capable */ -+#define NWAY_AR_100T4_CAPS 0x0200 /* 100T4 Capable */ -+#define NWAY_AR_PAUSE 0x0400 /* Pause operation desired */ -+#define NWAY_AR_ASM_DIR 0x0800 /* Asymmetric Pause Direction bit */ -+#define NWAY_AR_REMOTE_FAULT 0x2000 /* Remote Fault detected */ -+#define NWAY_AR_NEXT_PAGE 0x8000 /* Next Page ability supported */ -+ -+/* Link Partner Ability Register (Base Page) */ -+#define NWAY_LPAR_SELECTOR_FIELD 0x0000 /* LP protocol selector field */ -+#define NWAY_LPAR_10T_HD_CAPS 0x0020 /* LP is 10T Half Duplex Capable */ -+#define NWAY_LPAR_10T_FD_CAPS 0x0040 /* LP is 10T Full Duplex Capable */ -+#define NWAY_LPAR_100TX_HD_CAPS 0x0080 /* LP is 100TX Half Duplex Capable */ -+#define NWAY_LPAR_100TX_FD_CAPS 0x0100 /* LP is 100TX Full Duplex Capable */ -+#define NWAY_LPAR_100T4_CAPS 0x0200 /* LP is 100T4 Capable */ -+#define NWAY_LPAR_PAUSE 0x0400 /* LP Pause operation desired */ -+#define NWAY_LPAR_ASM_DIR 0x0800 /* LP Asymmetric Pause Direction bit */ -+#define NWAY_LPAR_REMOTE_FAULT 0x2000 /* LP has detected Remote Fault */ -+#define NWAY_LPAR_ACKNOWLEDGE 0x4000 /* LP has rx'd link code word */ -+#define NWAY_LPAR_NEXT_PAGE 0x8000 /* Next Page ability supported */ -+ -+/* Autoneg Expansion Register */ -+#define NWAY_ER_LP_NWAY_CAPS 0x0001 /* LP has Auto Neg Capability */ -+#define NWAY_ER_PAGE_RXD 0x0002 /* LP is 10T Half Duplex Capable */ -+#define NWAY_ER_NEXT_PAGE_CAPS 0x0004 /* LP is 10T Full Duplex Capable */ -+#define NWAY_ER_LP_NEXT_PAGE_CAPS 0x0008 /* LP is 100TX Half Duplex Capable */ -+#define NWAY_ER_PAR_DETECT_FAULT 0x0010 /* LP is 100TX Full Duplex Capable */ -+ -+/* Next Page TX Register */ -+#define NPTX_MSG_CODE_FIELD 0x0001 /* NP msg code or unformatted data */ -+#define NPTX_TOGGLE 0x0800 /* Toggles between exchanges -+ * of different NP -+ */ -+#define NPTX_ACKNOWLDGE2 0x1000 /* 1 = will comply with msg -+ * 0 = cannot comply with msg -+ */ -+#define NPTX_MSG_PAGE 0x2000 /* formatted(1)/unformatted(0) pg */ -+#define NPTX_NEXT_PAGE 0x8000 /* 1 = addition NP will follow -+ * 0 = sending last NP -+ */ -+ -+/* Link Partner Next Page Register */ -+#define LP_RNPR_MSG_CODE_FIELD 0x0001 /* NP msg code or unformatted data */ -+#define LP_RNPR_TOGGLE 0x0800 /* Toggles between exchanges -+ * of different NP -+ */ -+#define LP_RNPR_ACKNOWLDGE2 0x1000 /* 1 = will comply with msg -+ * 0 = cannot comply with msg -+ */ -+#define LP_RNPR_MSG_PAGE 0x2000 /* formatted(1)/unformatted(0) pg */ -+#define LP_RNPR_ACKNOWLDGE 0x4000 /* 1 = ACK / 0 = NO ACK */ -+#define LP_RNPR_NEXT_PAGE 0x8000 /* 1 = addition NP will follow -+ * 0 = sending last NP -+ */ -+ -+/* 1000BASE-T Control Register */ -+#define CR_1000T_ASYM_PAUSE 0x0080 /* Advertise asymmetric pause bit */ -+#define CR_1000T_HD_CAPS 0x0100 /* Advertise 1000T HD capability */ -+#define CR_1000T_FD_CAPS 0x0200 /* Advertise 1000T FD capability */ -+#define CR_1000T_REPEATER_DTE 0x0400 /* 1=Repeater/switch device port */ -+ /* 0=DTE device */ -+#define CR_1000T_MS_VALUE 0x0800 /* 1=Configure PHY as Master */ -+ /* 0=Configure PHY as Slave */ -+#define CR_1000T_MS_ENABLE 0x1000 /* 1=Master/Slave manual config value */ -+ /* 0=Automatic Master/Slave config */ -+#define CR_1000T_TEST_MODE_NORMAL 0x0000 /* Normal Operation */ -+#define CR_1000T_TEST_MODE_1 0x2000 /* Transmit Waveform test */ -+#define CR_1000T_TEST_MODE_2 0x4000 /* Master Transmit Jitter test */ -+#define CR_1000T_TEST_MODE_3 0x6000 /* Slave Transmit Jitter test */ -+#define CR_1000T_TEST_MODE_4 0x8000 /* Transmitter Distortion test */ -+ -+/* 1000BASE-T Status Register */ -+#define SR_1000T_IDLE_ERROR_CNT 0x00FF /* Num idle errors since last read */ -+#define SR_1000T_ASYM_PAUSE_DIR 0x0100 /* LP asymmetric pause direction bit */ -+#define SR_1000T_LP_HD_CAPS 0x0400 /* LP is 1000T HD capable */ -+#define SR_1000T_LP_FD_CAPS 0x0800 /* LP is 1000T FD capable */ -+#define SR_1000T_REMOTE_RX_STATUS 0x1000 /* Remote receiver OK */ -+#define SR_1000T_LOCAL_RX_STATUS 0x2000 /* Local receiver OK */ -+#define SR_1000T_MS_CONFIG_RES 0x4000 /* 1=Local TX is Master, 0=Slave */ -+#define SR_1000T_MS_CONFIG_FAULT 0x8000 /* Master/Slave config fault */ -+#define SR_1000T_REMOTE_RX_STATUS_SHIFT 12 -+#define SR_1000T_LOCAL_RX_STATUS_SHIFT 13 -+#define SR_1000T_PHY_EXCESSIVE_IDLE_ERR_COUNT 5 -+#define FFE_IDLE_ERR_COUNT_TIMEOUT_20 20 -+#define FFE_IDLE_ERR_COUNT_TIMEOUT_100 100 -+ -+/* Extended Status Register */ -+#define IEEE_ESR_1000T_HD_CAPS 0x1000 /* 1000T HD capable */ -+#define IEEE_ESR_1000T_FD_CAPS 0x2000 /* 1000T FD capable */ -+#define IEEE_ESR_1000X_HD_CAPS 0x4000 /* 1000X HD capable */ -+#define IEEE_ESR_1000X_FD_CAPS 0x8000 /* 1000X FD capable */ -+ -+#define PHY_TX_POLARITY_MASK 0x0100 /* register 10h bit 8 (polarity bit) */ -+#define PHY_TX_NORMAL_POLARITY 0 /* register 10h bit 8 (normal polarity) */ -+ -+#define AUTO_POLARITY_DISABLE 0x0010 /* register 11h bit 4 */ -+ /* (0=enable, 1=disable) */ -+ -+/* M88E1000 PHY Specific Control Register */ -+#define M88E1000_PSCR_JABBER_DISABLE 0x0001 /* 1=Jabber Function disabled */ -+#define M88E1000_PSCR_POLARITY_REVERSAL 0x0002 /* 1=Polarity Reversal enabled */ -+#define M88E1000_PSCR_SQE_TEST 0x0004 /* 1=SQE Test enabled */ -+#define M88E1000_PSCR_CLK125_DISABLE 0x0010 /* 1=CLK125 low, -+ * 0=CLK125 toggling -+ */ -+#define M88E1000_PSCR_MDI_MANUAL_MODE 0x0000 /* MDI Crossover Mode bits 6:5 */ -+ /* Manual MDI configuration */ -+#define M88E1000_PSCR_MDIX_MANUAL_MODE 0x0020 /* Manual MDIX configuration */ -+#define M88E1000_PSCR_AUTO_X_1000T 0x0040 /* 1000BASE-T: Auto crossover, -+ * 100BASE-TX/10BASE-T: -+ * MDI Mode -+ */ -+#define M88E1000_PSCR_AUTO_X_MODE 0x0060 /* Auto crossover enabled -+ * all speeds. -+ */ -+#define M88E1000_PSCR_10BT_EXT_DIST_ENABLE 0x0080 -+ /* 1=Enable Extended 10BASE-T distance -+ * (Lower 10BASE-T RX Threshold) -+ * 0=Normal 10BASE-T RX Threshold */ -+#define M88E1000_PSCR_MII_5BIT_ENABLE 0x0100 -+ /* 1=5-Bit interface in 100BASE-TX -+ * 0=MII interface in 100BASE-TX */ -+#define M88E1000_PSCR_SCRAMBLER_DISABLE 0x0200 /* 1=Scrambler disable */ -+#define M88E1000_PSCR_FORCE_LINK_GOOD 0x0400 /* 1=Force link good */ -+#define M88E1000_PSCR_ASSERT_CRS_ON_TX 0x0800 /* 1=Assert CRS on Transmit */ -+ -+#define M88E1000_PSCR_POLARITY_REVERSAL_SHIFT 1 -+#define M88E1000_PSCR_AUTO_X_MODE_SHIFT 5 -+#define M88E1000_PSCR_10BT_EXT_DIST_ENABLE_SHIFT 7 -+ -+/* M88E1000 PHY Specific Status Register */ -+#define M88E1000_PSSR_JABBER 0x0001 /* 1=Jabber */ -+#define M88E1000_PSSR_REV_POLARITY 0x0002 /* 1=Polarity reversed */ -+#define M88E1000_PSSR_DOWNSHIFT 0x0020 /* 1=Downshifted */ -+#define M88E1000_PSSR_MDIX 0x0040 /* 1=MDIX; 0=MDI */ -+#define M88E1000_PSSR_CABLE_LENGTH 0x0380 /* 0=<50M;1=50-80M;2=80-110M; -+ * 3=110-140M;4=>140M */ -+#define M88E1000_PSSR_LINK 0x0400 /* 1=Link up, 0=Link down */ -+#define M88E1000_PSSR_SPD_DPLX_RESOLVED 0x0800 /* 1=Speed & Duplex resolved */ -+#define M88E1000_PSSR_PAGE_RCVD 0x1000 /* 1=Page received */ -+#define M88E1000_PSSR_DPLX 0x2000 /* 1=Duplex 0=Half Duplex */ -+#define M88E1000_PSSR_SPEED 0xC000 /* Speed, bits 14:15 */ -+#define M88E1000_PSSR_10MBS 0x0000 /* 00=10Mbs */ -+#define M88E1000_PSSR_100MBS 0x4000 /* 01=100Mbs */ -+#define M88E1000_PSSR_1000MBS 0x8000 /* 10=1000Mbs */ -+ -+#define M88E1000_PSSR_REV_POLARITY_SHIFT 1 -+#define M88E1000_PSSR_DOWNSHIFT_SHIFT 5 -+#define M88E1000_PSSR_MDIX_SHIFT 6 -+#define M88E1000_PSSR_CABLE_LENGTH_SHIFT 7 -+ -+/* M88E1000 Extended PHY Specific Control Register */ -+#define M88E1000_EPSCR_FIBER_LOOPBACK 0x4000 /* 1=Fiber loopback */ -+#define M88E1000_EPSCR_DOWN_NO_IDLE 0x8000 /* 1=Lost lock detect enabled. -+ * Will assert lost lock and bring -+ * link down if idle not seen -+ * within 1ms in 1000BASE-T -+ */ -+/* Number of times we will attempt to autonegotiate before downshifting if we -+ * are the master */ -+#define M88E1000_EPSCR_MASTER_DOWNSHIFT_MASK 0x0C00 -+#define M88E1000_EPSCR_MASTER_DOWNSHIFT_1X 0x0000 -+#define M88E1000_EPSCR_MASTER_DOWNSHIFT_2X 0x0400 -+#define M88E1000_EPSCR_MASTER_DOWNSHIFT_3X 0x0800 -+#define M88E1000_EPSCR_MASTER_DOWNSHIFT_4X 0x0C00 -+/* Number of times we will attempt to autonegotiate before downshifting if we -+ * are the slave */ -+#define M88E1000_EPSCR_SLAVE_DOWNSHIFT_MASK 0x0300 -+#define M88E1000_EPSCR_SLAVE_DOWNSHIFT_DIS 0x0000 -+#define M88E1000_EPSCR_SLAVE_DOWNSHIFT_1X 0x0100 -+#define M88E1000_EPSCR_SLAVE_DOWNSHIFT_2X 0x0200 -+#define M88E1000_EPSCR_SLAVE_DOWNSHIFT_3X 0x0300 -+#define M88E1000_EPSCR_TX_CLK_2_5 0x0060 /* 2.5 MHz TX_CLK */ -+#define M88E1000_EPSCR_TX_CLK_25 0x0070 /* 25 MHz TX_CLK */ -+#define M88E1000_EPSCR_TX_CLK_0 0x0000 /* NO TX_CLK */ -+ -+/* IGP01E1000 Specific Port Config Register - R/W */ -+#define IGP01E1000_PSCFR_AUTO_MDIX_PAR_DETECT 0x0010 -+#define IGP01E1000_PSCFR_PRE_EN 0x0020 -+#define IGP01E1000_PSCFR_SMART_SPEED 0x0080 -+#define IGP01E1000_PSCFR_DISABLE_TPLOOPBACK 0x0100 -+#define IGP01E1000_PSCFR_DISABLE_JABBER 0x0400 -+#define IGP01E1000_PSCFR_DISABLE_TRANSMIT 0x2000 -+ -+/* IGP01E1000 Specific Port Status Register - R/O */ -+#define IGP01E1000_PSSR_AUTONEG_FAILED 0x0001 /* RO LH SC */ -+#define IGP01E1000_PSSR_POLARITY_REVERSED 0x0002 -+#define IGP01E1000_PSSR_CABLE_LENGTH 0x007C -+#define IGP01E1000_PSSR_FULL_DUPLEX 0x0200 -+#define IGP01E1000_PSSR_LINK_UP 0x0400 -+#define IGP01E1000_PSSR_MDIX 0x0800 -+#define IGP01E1000_PSSR_SPEED_MASK 0xC000 /* speed bits mask */ -+#define IGP01E1000_PSSR_SPEED_10MBPS 0x4000 -+#define IGP01E1000_PSSR_SPEED_100MBPS 0x8000 -+#define IGP01E1000_PSSR_SPEED_1000MBPS 0xC000 -+#define IGP01E1000_PSSR_CABLE_LENGTH_SHIFT 0x0002 /* shift right 2 */ -+#define IGP01E1000_PSSR_MDIX_SHIFT 0x000B /* shift right 11 */ -+ -+/* IGP01E1000 Specific Port Control Register - R/W */ -+#define IGP01E1000_PSCR_TP_LOOPBACK 0x0001 -+#define IGP01E1000_PSCR_CORRECT_NC_SCMBLR 0x0200 -+#define IGP01E1000_PSCR_TEN_CRS_SELECT 0x0400 -+#define IGP01E1000_PSCR_FLIP_CHIP 0x0800 -+#define IGP01E1000_PSCR_AUTO_MDIX 0x1000 -+#define IGP01E1000_PSCR_FORCE_MDI_MDIX 0x2000 /* 0-MDI, 1-MDIX */ -+ -+/* IGP01E1000 Specific Port Link Health Register */ -+#define IGP01E1000_PLHR_SS_DOWNGRADE 0x8000 -+#define IGP01E1000_PLHR_GIG_SCRAMBLER_ERROR 0x4000 -+#define IGP01E1000_PLHR_GIG_REM_RCVR_NOK 0x0800 /* LH */ -+#define IGP01E1000_PLHR_IDLE_ERROR_CNT_OFLOW 0x0400 /* LH */ -+#define IGP01E1000_PLHR_DATA_ERR_1 0x0200 /* LH */ -+#define IGP01E1000_PLHR_DATA_ERR_0 0x0100 -+#define IGP01E1000_PLHR_AUTONEG_FAULT 0x0010 -+#define IGP01E1000_PLHR_AUTONEG_ACTIVE 0x0008 -+#define IGP01E1000_PLHR_VALID_CHANNEL_D 0x0004 -+#define IGP01E1000_PLHR_VALID_CHANNEL_C 0x0002 -+#define IGP01E1000_PLHR_VALID_CHANNEL_B 0x0001 -+#define IGP01E1000_PLHR_VALID_CHANNEL_A 0x0000 -+ -+/* IGP01E1000 Channel Quality Register */ -+#define IGP01E1000_MSE_CHANNEL_D 0x000F -+#define IGP01E1000_MSE_CHANNEL_C 0x00F0 -+#define IGP01E1000_MSE_CHANNEL_B 0x0F00 -+#define IGP01E1000_MSE_CHANNEL_A 0xF000 -+ -+/* IGP01E1000 DSP reset macros */ -+#define DSP_RESET_ENABLE 0x0 -+#define DSP_RESET_DISABLE 0x2 -+#define E1000_MAX_DSP_RESETS 10 -+ -+/* IGP01E1000 AGC Registers */ -+ -+#define IGP01E1000_AGC_LENGTH_SHIFT 7 /* Coarse - 13:11, Fine - 10:7 */ -+ -+/* 7 bits (3 Coarse + 4 Fine) --> 128 optional values */ -+#define IGP01E1000_AGC_LENGTH_TABLE_SIZE 128 -+ -+/* The precision of the length is +/- 10 meters */ -+#define IGP01E1000_AGC_RANGE 10 -+ -+/* IGP01E1000 PCS Initialization register */ -+/* bits 3:6 in the PCS registers stores the channels polarity */ -+#define IGP01E1000_PHY_POLARITY_MASK 0x0078 -+ -+/* IGP01E1000 GMII FIFO Register */ -+#define IGP01E1000_GMII_FLEX_SPD 0x10 /* Enable flexible speed -+ * on Link-Up */ -+#define IGP01E1000_GMII_SPD 0x20 /* Enable SPD */ -+ -+/* IGP01E1000 Analog Register */ -+#define IGP01E1000_ANALOG_SPARE_FUSE_STATUS 0x20D1 -+#define IGP01E1000_ANALOG_FUSE_STATUS 0x20D0 -+#define IGP01E1000_ANALOG_FUSE_CONTROL 0x20DC -+#define IGP01E1000_ANALOG_FUSE_BYPASS 0x20DE -+ -+#define IGP01E1000_ANALOG_FUSE_POLY_MASK 0xF000 -+#define IGP01E1000_ANALOG_FUSE_FINE_MASK 0x0F80 -+#define IGP01E1000_ANALOG_FUSE_COARSE_MASK 0x0070 -+#define IGP01E1000_ANALOG_SPARE_FUSE_ENABLED 0x0100 -+#define IGP01E1000_ANALOG_FUSE_ENABLE_SW_CONTROL 0x0002 -+ -+#define IGP01E1000_ANALOG_FUSE_COARSE_THRESH 0x0040 -+#define IGP01E1000_ANALOG_FUSE_COARSE_10 0x0010 -+#define IGP01E1000_ANALOG_FUSE_FINE_1 0x0080 -+#define IGP01E1000_ANALOG_FUSE_FINE_10 0x0500 -+ -+/* Bit definitions for valid PHY IDs. */ -+#define M88E1000_E_PHY_ID 0x01410C50 -+#define M88E1000_I_PHY_ID 0x01410C30 -+#define M88E1011_I_PHY_ID 0x01410C20 -+#define IGP01E1000_I_PHY_ID 0x02A80380 -+#define M88E1000_12_PHY_ID M88E1000_E_PHY_ID -+#define M88E1000_14_PHY_ID M88E1000_E_PHY_ID -+#define M88E1011_I_REV_4 0x04 -+ -+/* Miscellaneous PHY bit definitions. */ -+#define PHY_PREAMBLE 0xFFFFFFFF -+#define PHY_SOF 0x01 -+#define PHY_OP_READ 0x02 -+#define PHY_OP_WRITE 0x01 -+#define PHY_TURNAROUND 0x02 -+#define PHY_PREAMBLE_SIZE 32 -+#define MII_CR_SPEED_1000 0x0040 -+#define MII_CR_SPEED_100 0x2000 -+#define MII_CR_SPEED_10 0x0000 -+#define E1000_PHY_ADDRESS 0x01 -+#define PHY_AUTO_NEG_TIME 45 /* 4.5 Seconds */ -+#define PHY_FORCE_TIME 20 /* 2.0 Seconds */ -+#define PHY_REVISION_MASK 0xFFFFFFF0 -+#define DEVICE_SPEED_MASK 0x00000300 /* Device Ctrl Reg Speed Mask */ -+#define REG4_SPEED_MASK 0x01E0 -+#define REG9_SPEED_MASK 0x0300 -+#define ADVERTISE_10_HALF 0x0001 -+#define ADVERTISE_10_FULL 0x0002 -+#define ADVERTISE_100_HALF 0x0004 -+#define ADVERTISE_100_FULL 0x0008 -+#define ADVERTISE_1000_HALF 0x0010 -+#define ADVERTISE_1000_FULL 0x0020 -+#define AUTONEG_ADVERTISE_SPEED_DEFAULT 0x002F /* Everything but 1000-Half */ -+#define AUTONEG_ADVERTISE_10_100_ALL 0x000F /* All 10/100 speeds*/ -+#define AUTONEG_ADVERTISE_10_ALL 0x0003 /* 10Mbps Full & Half speeds*/ -+ -+#endif /* _E1000_HW_H_ */ -Index: b/netboot/eepro.c -=================================================================== ---- a/netboot/eepro.c -+++ /dev/null -@@ -1,586 +0,0 @@ --/************************************************************************** --Etherboot - BOOTP/TFTP Bootstrap Program --Intel EEPRO/10 NIC driver for Etherboot --Adapted from Linux eepro.c from kernel 2.2.17 -- --This board accepts a 32 pin EEPROM (29C256), however a test with a --27C010 shows that this EPROM also works in the socket, but it's not clear --how repeatably. The two top address pins appear to be held low, thus --the bottom 32kB of the 27C010 is visible in the CPU's address space. --To be sure you could put 4 copies of the code in the 27C010, then --it doesn't matter whether the extra lines are held low or high, just --hopefully not floating as CMOS chips don't like floating inputs. -- --Be careful with seating the EPROM as the socket on my board actually --has 34 pins, the top row of 2 are not used. --***************************************************************************/ -- --/* -- * 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, or (at -- * your option) any later version. -- */ -- --/* to get some global routines like printf */ --#include "etherboot.h" --/* to get the interface to the body of the program */ --#include "nic.h" --/* to get our own prototype */ --#include "cards.h" --/* we use timer2 for microsecond waits */ --#include "timer.h" -- --#undef DEBUG /* only after include files */ -- --/* Different 82595 chips */ --#define LAN595 0 --#define LAN595TX 1 --#define LAN595FX 2 --#define LAN595FX_10ISA 3 -- --#define SLOW_DOWN inb(0x80); -- --/* The station (ethernet) address prefix, used for IDing the board. */ --#define SA_ADDR0 0x00 /* Etherexpress Pro/10 */ --#define SA_ADDR1 0xaa --#define SA_ADDR2 0x00 -- --#define GetBit(x,y) ((x & (1<>y) -- --/* EEPROM Word 0: */ --#define ee_PnP 0 /* Plug 'n Play enable bit */ --#define ee_Word1 1 /* Word 1? */ --#define ee_BusWidth 2 /* 8/16 bit */ --#define ee_FlashAddr 3 /* Flash Address */ --#define ee_FlashMask 0x7 /* Mask */ --#define ee_AutoIO 6 /* */ --#define ee_reserved0 7 /* =0! */ --#define ee_Flash 8 /* Flash there? */ --#define ee_AutoNeg 9 /* Auto Negotiation enabled? */ --#define ee_IO0 10 /* IO Address LSB */ --#define ee_IO0Mask 0x /*...*/ --#define ee_IO1 15 /* IO MSB */ -- --/* EEPROM Word 1: */ --#define ee_IntSel 0 /* Interrupt */ --#define ee_IntMask 0x7 --#define ee_LI 3 /* Link Integrity 0= enabled */ --#define ee_PC 4 /* Polarity Correction 0= enabled */ --#define ee_TPE_AUI 5 /* PortSelection 1=TPE */ --#define ee_Jabber 6 /* Jabber prevention 0= enabled */ --#define ee_AutoPort 7 /* Auto Port Selection 1= Disabled */ --#define ee_SMOUT 8 /* SMout Pin Control 0= Input */ --#define ee_PROM 9 /* Flash EPROM / PROM 0=Flash */ --#define ee_reserved1 10 /* .. 12 =0! */ --#define ee_AltReady 13 /* Alternate Ready, 0=normal */ --#define ee_reserved2 14 /* =0! */ --#define ee_Duplex 15 -- --/* Word2,3,4: */ --#define ee_IA5 0 /*bit start for individual Addr Byte 5 */ --#define ee_IA4 8 /*bit start for individual Addr Byte 5 */ --#define ee_IA3 0 /*bit start for individual Addr Byte 5 */ --#define ee_IA2 8 /*bit start for individual Addr Byte 5 */ --#define ee_IA1 0 /*bit start for individual Addr Byte 5 */ --#define ee_IA0 8 /*bit start for individual Addr Byte 5 */ -- --/* Word 5: */ --#define ee_BNC_TPE 0 /* 0=TPE */ --#define ee_BootType 1 /* 00=None, 01=IPX, 10=ODI, 11=NDIS */ --#define ee_BootTypeMask 0x3 --#define ee_NumConn 3 /* Number of Connections 0= One or Two */ --#define ee_FlashSock 4 /* Presence of Flash Socket 0= Present */ --#define ee_PortTPE 5 --#define ee_PortBNC 6 --#define ee_PortAUI 7 --#define ee_PowerMgt 10 /* 0= disabled */ --#define ee_CP 13 /* Concurrent Processing */ --#define ee_CPMask 0x7 -- --/* Word 6: */ --#define ee_Stepping 0 /* Stepping info */ --#define ee_StepMask 0x0F --#define ee_BoardID 4 /* Manucaturer Board ID, reserved */ --#define ee_BoardMask 0x0FFF -- --/* Word 7: */ --#define ee_INT_TO_IRQ 0 /* int to IRQ Mapping = 0x1EB8 for Pro/10+ */ --#define ee_FX_INT2IRQ 0x1EB8 /* the _only_ mapping allowed for FX chips */ -- --/*..*/ --#define ee_SIZE 0x40 /* total EEprom Size */ --#define ee_Checksum 0xBABA /* initial and final value for adding checksum */ -- -- --/* Card identification via EEprom: */ --#define ee_addr_vendor 0x10 /* Word offset for EISA Vendor ID */ --#define ee_addr_id 0x11 /* Word offset for Card ID */ --#define ee_addr_SN 0x12 /* Serial Number */ --#define ee_addr_CRC_8 0x14 /* CRC over last thee Bytes */ -- -- --#define ee_vendor_intel0 0x25 /* Vendor ID Intel */ --#define ee_vendor_intel1 0xD4 --#define ee_id_eepro10p0 0x10 /* ID for eepro/10+ */ --#define ee_id_eepro10p1 0x31 -- --/* now this section could be used by both boards: the oldies and the ee10: -- * ee10 uses tx buffer before of rx buffer and the oldies the inverse. -- * (aris) -- */ --#define RAM_SIZE 0x8000 -- --#define RCV_HEADER 8 --#define RCV_DEFAULT_RAM 0x6000 --#define RCV_RAM rcv_ram -- --static unsigned rcv_ram = RCV_DEFAULT_RAM; -- --#define XMT_HEADER 8 --#define XMT_RAM (RAM_SIZE - RCV_RAM) -- --#define XMT_START ((rcv_start + RCV_RAM) % RAM_SIZE) -- --#define RCV_LOWER_LIMIT (rcv_start >> 8) --#define RCV_UPPER_LIMIT (((rcv_start + RCV_RAM) - 2) >> 8) --#define XMT_LOWER_LIMIT (XMT_START >> 8) --#define XMT_UPPER_LIMIT (((XMT_START + XMT_RAM) - 2) >> 8) -- --#define RCV_START_PRO 0x00 --#define RCV_START_10 XMT_RAM -- /* by default the old driver */ --static unsigned rcv_start = RCV_START_PRO; -- --#define RCV_DONE 0x0008 --#define RX_OK 0x2000 --#define RX_ERROR 0x0d81 -- --#define TX_DONE_BIT 0x0080 --#define CHAIN_BIT 0x8000 --#define XMT_STATUS 0x02 --#define XMT_CHAIN 0x04 --#define XMT_COUNT 0x06 -- --#define BANK0_SELECT 0x00 --#define BANK1_SELECT 0x40 --#define BANK2_SELECT 0x80 -- --/* Bank 0 registers */ --#define COMMAND_REG 0x00 /* Register 0 */ --#define MC_SETUP 0x03 --#define XMT_CMD 0x04 --#define DIAGNOSE_CMD 0x07 --#define RCV_ENABLE_CMD 0x08 --#define RCV_DISABLE_CMD 0x0a --#define STOP_RCV_CMD 0x0b --#define RESET_CMD 0x0e --#define POWER_DOWN_CMD 0x18 --#define RESUME_XMT_CMD 0x1c --#define SEL_RESET_CMD 0x1e --#define STATUS_REG 0x01 /* Register 1 */ --#define RX_INT 0x02 --#define TX_INT 0x04 --#define EXEC_STATUS 0x30 --#define ID_REG 0x02 /* Register 2 */ --#define R_ROBIN_BITS 0xc0 /* round robin counter */ --#define ID_REG_MASK 0x2c --#define ID_REG_SIG 0x24 --#define AUTO_ENABLE 0x10 --#define INT_MASK_REG 0x03 /* Register 3 */ --#define RX_STOP_MASK 0x01 --#define RX_MASK 0x02 --#define TX_MASK 0x04 --#define EXEC_MASK 0x08 --#define ALL_MASK 0x0f --#define IO_32_BIT 0x10 --#define RCV_BAR 0x04 /* The following are word (16-bit) registers */ --#define RCV_STOP 0x06 -- --#define XMT_BAR_PRO 0x0a --#define XMT_BAR_10 0x0b --static unsigned xmt_bar = XMT_BAR_PRO; -- --#define HOST_ADDRESS_REG 0x0c --#define IO_PORT 0x0e --#define IO_PORT_32_BIT 0x0c -- --/* Bank 1 registers */ --#define REG1 0x01 --#define WORD_WIDTH 0x02 --#define INT_ENABLE 0x80 --#define INT_NO_REG 0x02 --#define RCV_LOWER_LIMIT_REG 0x08 --#define RCV_UPPER_LIMIT_REG 0x09 -- --#define XMT_LOWER_LIMIT_REG_PRO 0x0a --#define XMT_UPPER_LIMIT_REG_PRO 0x0b --#define XMT_LOWER_LIMIT_REG_10 0x0b --#define XMT_UPPER_LIMIT_REG_10 0x0a --static unsigned xmt_lower_limit_reg = XMT_LOWER_LIMIT_REG_PRO; --static unsigned xmt_upper_limit_reg = XMT_UPPER_LIMIT_REG_PRO; -- --/* Bank 2 registers */ --#define XMT_Chain_Int 0x20 /* Interrupt at the end of the transmit chain */ --#define XMT_Chain_ErrStop 0x40 /* Interrupt at the end of the chain even if there are errors */ --#define RCV_Discard_BadFrame 0x80 /* Throw bad frames away, and continue to receive others */ --#define REG2 0x02 --#define PRMSC_Mode 0x01 --#define Multi_IA 0x20 --#define REG3 0x03 --#define TPE_BIT 0x04 --#define BNC_BIT 0x20 --#define REG13 0x0d --#define FDX 0x00 --#define A_N_ENABLE 0x02 -- --#define I_ADD_REG0 0x04 --#define I_ADD_REG1 0x05 --#define I_ADD_REG2 0x06 --#define I_ADD_REG3 0x07 --#define I_ADD_REG4 0x08 --#define I_ADD_REG5 0x09 -- --#define EEPROM_REG_PRO 0x0a --#define EEPROM_REG_10 0x0b --static unsigned eeprom_reg = EEPROM_REG_PRO; -- --#define EESK 0x01 --#define EECS 0x02 --#define EEDI 0x04 --#define EEDO 0x08 -- --/* The horrible routine to read a word from the serial EEPROM. */ --/* IMPORTANT - the 82595 will be set to Bank 0 after the eeprom is read */ -- --/* The delay between EEPROM clock transitions. */ --#define eeprom_delay() { udelay(40); } --#define EE_READ_CMD (6 << 6) -- --/* do a full reset */ --#define eepro_full_reset(ioaddr) outb(RESET_CMD, ioaddr); udelay(40); -- --/* do a nice reset */ --#define eepro_sel_reset(ioaddr) { \ -- outb(SEL_RESET_CMD, ioaddr); \ -- SLOW_DOWN; \ -- SLOW_DOWN; \ -- } -- --/* clear all interrupts */ --#define eepro_clear_int(ioaddr) outb(ALL_MASK, ioaddr + STATUS_REG) -- --/* enable rx */ --#define eepro_en_rx(ioaddr) outb(RCV_ENABLE_CMD, ioaddr) -- --/* disable rx */ --#define eepro_dis_rx(ioaddr) outb(RCV_DISABLE_CMD, ioaddr) -- --/* switch bank */ --#define eepro_sw2bank0(ioaddr) outb(BANK0_SELECT, ioaddr) --#define eepro_sw2bank1(ioaddr) outb(BANK1_SELECT, ioaddr) --#define eepro_sw2bank2(ioaddr) outb(BANK2_SELECT, ioaddr) -- --static unsigned int rx_start, tx_start; --static int tx_last; --static unsigned tx_end; --static int eepro = 0; --static unsigned short ioaddr = 0; --static unsigned int mem_start, mem_end = RCV_DEFAULT_RAM / 1024; -- --#define udelay(n) waiton_timer2(((n)*TICKS_PER_MS)/1000) -- --/************************************************************************** --RESET - Reset adapter --***************************************************************************/ --static void eepro_reset(struct nic *nic) --{ -- int temp_reg, i; -- -- /* put the card in its initial state */ -- eepro_sw2bank2(ioaddr); /* be careful, bank2 now */ -- temp_reg = inb(ioaddr + eeprom_reg); --#ifdef DEBUG -- printf("Stepping %d\n", temp_reg >> 5); --#endif -- if (temp_reg & 0x10) /* check the TurnOff Enable bit */ -- outb(temp_reg & 0xEF, ioaddr + eeprom_reg); -- for (i = 0; i < ETH_ALEN; i++) /* fill the MAC address */ -- outb(nic->node_addr[i], ioaddr + I_ADD_REG0 + i); -- temp_reg = inb(ioaddr + REG1); -- /* setup Transmit Chaining and discard bad RCV frames */ -- outb(temp_reg | XMT_Chain_Int | XMT_Chain_ErrStop -- | RCV_Discard_BadFrame, ioaddr + REG1); -- temp_reg = inb(ioaddr + REG2); /* match broadcast */ -- outb(temp_reg | 0x14, ioaddr + REG2); -- temp_reg = inb(ioaddr + REG3); -- outb(temp_reg & 0x3F, ioaddr + REG3); /* clear test mode */ -- /* set the receiving mode */ -- eepro_sw2bank1(ioaddr); /* be careful, bank1 now */ -- /* initialise the RCV and XMT upper and lower limits */ -- outb(RCV_LOWER_LIMIT, ioaddr + RCV_LOWER_LIMIT_REG); -- outb(RCV_UPPER_LIMIT, ioaddr + RCV_UPPER_LIMIT_REG); -- outb(XMT_LOWER_LIMIT, ioaddr + xmt_lower_limit_reg); -- outb(XMT_UPPER_LIMIT, ioaddr + xmt_upper_limit_reg); -- eepro_sw2bank0(ioaddr); /* Switch back to bank 0 */ -- eepro_clear_int(ioaddr); -- /* Initialise RCV */ -- outw(rx_start = (RCV_LOWER_LIMIT << 8), ioaddr + RCV_BAR); -- outw(((RCV_UPPER_LIMIT << 8) | 0xFE), ioaddr + RCV_STOP); -- /* Intialise XMT */ -- outw((XMT_LOWER_LIMIT << 8), ioaddr + xmt_bar); -- eepro_sel_reset(ioaddr); -- tx_start = tx_end = (XMT_LOWER_LIMIT << 8); -- tx_last = 0; -- eepro_en_rx(ioaddr); --} -- --/************************************************************************** --POLL - Wait for a frame --***************************************************************************/ --static int eepro_poll(struct nic *nic) --{ -- int i; -- unsigned int rcv_car = rx_start; -- unsigned int rcv_event, rcv_status, rcv_next_frame, rcv_size; -- -- /* return true if there's an ethernet packet ready to read */ -- /* nic->packet should contain data on return */ -- /* nic->packetlen should contain length of data */ --#if 0 -- if ((inb(ioaddr + STATUS_REG) & 0x40) == 0) -- return (0); -- outb(0x40, ioaddr + STATUS_REG); --#endif -- outw(rcv_car, ioaddr + HOST_ADDRESS_REG); -- rcv_event = inw(ioaddr + IO_PORT); -- if (rcv_event != RCV_DONE) -- return (0); -- rcv_status = inw(ioaddr + IO_PORT); -- rcv_next_frame = inw(ioaddr + IO_PORT); -- rcv_size = inw(ioaddr + IO_PORT); --#if 0 -- printf("%hX %hX %d %hhX\n", rcv_status, rcv_next_frame, rcv_size, -- inb(ioaddr + STATUS_REG)); --#endif -- if ((rcv_status & (RX_OK|RX_ERROR)) != RX_OK) { -- printf("Receive error %hX\n", rcv_status); -- return (0); -- } -- rcv_size &= 0x3FFF; -- insw(ioaddr + IO_PORT, nic->packet, ((rcv_size + 3) >> 1)); --#if 0 -- for (i = 0; i < 48; i++) { -- printf("%hhX", nic->packet[i]); -- putchar(i % 16 == 15 ? '\n' : ' '); -- } --#endif -- nic->packetlen = rcv_size; -- rcv_car = rx_start + RCV_HEADER + rcv_size; -- rx_start = rcv_next_frame; -- if (rcv_car == 0) -- rcv_car = ((RCV_UPPER_LIMIT << 8) | 0xff); -- outw(rcv_car - 1, ioaddr + RCV_STOP); -- return (1); --} -- --/************************************************************************** --TRANSMIT - Transmit a frame --***************************************************************************/ --static void eepro_transmit( -- struct nic *nic, -- const char *d, /* Destination */ -- unsigned int t, /* Type */ -- unsigned int s, /* size */ -- const char *p) /* Packet */ --{ -- unsigned int status, tx_available, last, end, length; -- unsigned short type; -- int boguscount = 20; -- -- length = s + ETH_HLEN; -- if (tx_end > tx_start) -- tx_available = XMT_RAM - (tx_end - tx_start); -- else if (tx_end < tx_start) -- tx_available = tx_start - tx_end; -- else -- tx_available = XMT_RAM; -- last = tx_end; -- end = last + (((length + 3) >> 1) << 1) + XMT_HEADER; -- if (end >= (XMT_UPPER_LIMIT << 8)) { -- last = (XMT_LOWER_LIMIT << 8); -- end = last + (((length + 3) >> 1) << 1) + XMT_HEADER; -- } -- outw(last, ioaddr + HOST_ADDRESS_REG); -- outw(XMT_CMD, ioaddr + IO_PORT); -- outw(0, ioaddr + IO_PORT); -- outw(end, ioaddr + IO_PORT); -- outw(length, ioaddr + IO_PORT); -- outsw(ioaddr + IO_PORT, d, ETH_ALEN / 2); -- outsw(ioaddr + IO_PORT, nic->node_addr, ETH_ALEN / 2); -- type = htons(t); -- outsw(ioaddr + IO_PORT, &type, sizeof(type) / 2); -- outsw(ioaddr + IO_PORT, p, (s + 3) >> 1); -- /* A dummy read to flush the DRAM write pipeline */ -- status = inw(ioaddr + IO_PORT); -- outw(last, ioaddr + xmt_bar); -- outb(XMT_CMD, ioaddr); -- tx_start = last; -- tx_last = last; -- tx_end = end; --#if 0 -- printf("%d %d\n", tx_start, tx_end); --#endif -- while (boguscount > 0) { -- if (((status = inw(ioaddr + IO_PORT)) & TX_DONE_BIT) == 0) { -- udelay(40); -- boguscount--; -- continue; -- } --#if DEBUG -- if ((status & 0x2000) == 0) -- printf("Transmit status %hX\n", status); --#endif -- } --} -- --/************************************************************************** --DISABLE - Turn off ethernet interface --***************************************************************************/ --static void eepro_disable(struct nic *nic) --{ -- eepro_sw2bank0(ioaddr); /* Switch to bank 0 */ -- /* Flush the Tx and disable Rx */ -- outb(STOP_RCV_CMD, ioaddr); -- tx_start = tx_end = (XMT_LOWER_LIMIT << 8); -- tx_last = 0; -- /* Reset the 82595 */ -- eepro_full_reset(ioaddr); --} -- --static int read_eeprom(int location) --{ -- int i; -- unsigned short retval = 0; -- int ee_addr = ioaddr + eeprom_reg; -- int read_cmd = location | EE_READ_CMD; -- int ctrl_val = EECS; -- -- if (eepro == LAN595FX_10ISA) { -- eepro_sw2bank1(ioaddr); -- outb(0x00, ioaddr + STATUS_REG); -- } -- eepro_sw2bank2(ioaddr); -- outb(ctrl_val, ee_addr); -- /* shift the read command bits out */ -- for (i = 8; i >= 0; i--) { -- short outval = (read_cmd & (1 << i)) ? ctrl_val | EEDI : ctrl_val; -- outb(outval, ee_addr); -- outb(outval | EESK, ee_addr); /* EEPROM clock tick */ -- eeprom_delay(); -- outb(outval, ee_addr); /* finish EEPROM clock tick */ -- eeprom_delay(); -- } -- outb(ctrl_val, ee_addr); -- for (i = 16; i > 0; i--) { -- outb(ctrl_val | EESK, ee_addr); -- eeprom_delay(); -- retval = (retval << 1) | ((inb(ee_addr) & EEDO) ? 1 : 0); -- outb(ctrl_val, ee_addr); -- eeprom_delay(); -- } -- /* terminate the EEPROM access */ -- ctrl_val &= ~EECS; -- outb(ctrl_val | EESK, ee_addr); -- eeprom_delay(); -- outb(ctrl_val, ee_addr); -- eeprom_delay(); -- eepro_sw2bank0(ioaddr); -- return (retval); --} -- --static int eepro_probe1(struct nic *nic) --{ -- int i, id, counter, l_eepro = 0; -- union { -- unsigned char caddr[ETH_ALEN]; -- unsigned short saddr[ETH_ALEN/2]; -- } station_addr; -- char *name; -- -- id = inb(ioaddr + ID_REG); -- if ((id & ID_REG_MASK) != ID_REG_SIG) -- return (0); -- counter = id & R_ROBIN_BITS; -- if (((id = inb(ioaddr + ID_REG)) & R_ROBIN_BITS) != (counter + 0x40)) -- return (0); -- /* yes the 82595 has been found */ -- station_addr.saddr[2] = read_eeprom(2); -- if (station_addr.saddr[2] == 0x0000 || station_addr.saddr[2] == 0xFFFF) { -- l_eepro = 3; -- eepro = LAN595FX_10ISA; -- eeprom_reg= EEPROM_REG_10; -- rcv_start = RCV_START_10; -- xmt_lower_limit_reg = XMT_LOWER_LIMIT_REG_10; -- xmt_upper_limit_reg = XMT_UPPER_LIMIT_REG_10; -- station_addr.saddr[2] = read_eeprom(2); -- } -- station_addr.saddr[1] = read_eeprom(3); -- station_addr.saddr[0] = read_eeprom(4); -- if (l_eepro) -- name = "Intel EtherExpress 10 ISA"; -- else if (read_eeprom(7) == ee_FX_INT2IRQ) { -- name = "Intel EtherExpress Pro/10+ ISA"; -- l_eepro = 2; -- } else if (station_addr.saddr[0] == SA_ADDR1) { -- name = "Intel EtherExpress Pro/10 ISA"; -- l_eepro = 1; -- } else { -- l_eepro = 0; -- name = "Intel 82595-based LAN card"; -- } -- station_addr.saddr[0] = swap16(station_addr.saddr[0]); -- station_addr.saddr[1] = swap16(station_addr.saddr[1]); -- station_addr.saddr[2] = swap16(station_addr.saddr[2]); -- for (i = 0; i < ETH_ALEN; i++) { -- nic->node_addr[i] = station_addr.caddr[i]; -- } -- printf("\n%s ioaddr %#hX, addr %!", name, ioaddr, nic->node_addr); -- mem_start = RCV_LOWER_LIMIT << 8; -- if ((mem_end & 0x3F) < 3 || (mem_end & 0x3F) > 29) -- mem_end = RCV_UPPER_LIMIT << 8; -- else { -- mem_end = mem_end * 1024 + (RCV_LOWER_LIMIT << 8); -- rcv_ram = mem_end - (RCV_LOWER_LIMIT << 8); -- } -- printf(", Rx mem %dK, if %s\n", (mem_end - mem_start) >> 10, -- GetBit(read_eeprom(5), ee_BNC_TPE) ? "BNC" : "TP"); -- return (1); --} -- --/************************************************************************** --PROBE - Look for an adapter, this routine's visible to the outside --***************************************************************************/ --struct nic *eepro_probe(struct nic *nic, unsigned short *probe_addrs) --{ -- unsigned short *p; -- /* same probe list as the Linux driver */ -- static unsigned short ioaddrs[] = { -- 0x300, 0x210, 0x240, 0x280, 0x2C0, 0x200, 0x320, 0x340, 0x360, 0}; -- -- if (probe_addrs == 0 || probe_addrs[0] == 0) -- probe_addrs = ioaddrs; -- for (p = probe_addrs; (ioaddr = *p) != 0; p++) { -- if (eepro_probe1(nic)) -- break; -- } -- if (*p == 0) -- return (0); -- eepro_reset(nic); -- /* point to NIC specific routines */ -- nic->reset = eepro_reset; -- nic->poll = eepro_poll; -- nic->transmit = eepro_transmit; -- nic->disable = eepro_disable; -- return (nic); --} -Index: b/netboot/eepro100.c -=================================================================== ---- a/netboot/eepro100.c -+++ b/netboot/eepro100.c -@@ -80,8 +80,8 @@ - * - * Caveats: - * -- * The etherboot framework moves the code to the 32k segment from -- * 0x98000 to 0xa0000. There is just a little room between the end of -+ * The Etherboot framework moves the code to the 48k segment from -+ * 0x94000 to 0xa0000. There is just a little room between the end of - * this driver and the 0xa0000 address. If you compile in too many - * features, this will overflow. - * The number under "hex" in the output of size that scrolls by while -@@ -92,17 +92,13 @@ - /* The etherboot authors seem to dislike the argument ordering in - * outb macros that Linux uses. I disklike the confusion that this - * has caused even more.... This file uses the Linux argument ordering. */ --/* Sorry not us. It's inherted code from FreeBSD. [The authors] */ -+/* Sorry not us. It's inherited code from FreeBSD. [The authors] */ - - #include "etherboot.h" - #include "nic.h" - #include "pci.h" --#include "cards.h" - #include "timer.h" - --#undef virt_to_bus --#define virt_to_bus(x) ((unsigned long)x) -- - static int ioaddr; - - typedef unsigned char u8; -@@ -121,6 +117,18 @@ - SCBEarlyRx = 20, /* Early receive byte count. */ - }; - -+enum SCBCmdBits { -+ SCBMaskCmdDone=0x8000, SCBMaskRxDone=0x4000, SCBMaskCmdIdle=0x2000, -+ SCBMaskRxSuspend=0x1000, SCBMaskEarlyRx=0x0800, SCBMaskFlowCtl=0x0400, -+ SCBTriggerIntr=0x0200, SCBMaskAll=0x0100, -+ /* The rest are Rx and Tx commands. */ -+ CUStart=0x0010, CUResume=0x0020, CUStatsAddr=0x0040, CUShowStats=0x0050, -+ CUCmdBase=0x0060, /* CU Base address (set to zero) . */ -+ CUDumpStats=0x0070, /* Dump then reset stats counters. */ -+ RxStart=0x0001, RxResume=0x0002, RxAbort=0x0004, RxAddrLoad=0x0006, -+ RxResumeNoResources=0x0007, -+}; -+ - static int do_eeprom_cmd(int cmd, int cmd_len); - void hd(void *where, int n); - -@@ -139,8 +147,6 @@ - #define EE_WRITE_1 0x4806 - #define EE_ENB (0x4800 | EE_CS) - --#define udelay(n) waiton_timer2(((n)*TICKS_PER_MS)/1000) -- - /* The EEPROM commands include the alway-set leading bit. */ - #define EE_READ_CMD 6 - -@@ -184,9 +190,18 @@ - Typically this takes 0 ticks. */ - static inline void wait_for_cmd_done(int cmd_ioaddr) - { -- short wait = 100; -- do ; -- while(inb(cmd_ioaddr) && --wait >= 0); -+ int wait = 0; -+ int delayed_cmd; -+ -+ do -+ if (inb(cmd_ioaddr) == 0) return; -+ while(++wait <= 100); -+ delayed_cmd = inb(cmd_ioaddr); -+ do -+ if (inb(cmd_ioaddr) == 0) break; -+ while(++wait <= 10000); -+ printf("Command %2.2x was not immediately accepted, %d ticks!\n", -+ delayed_cmd, wait); - } - - /* Elements of the dump_statistics block. This block must be lword aligned. */ -@@ -212,35 +227,30 @@ - - /* A speedo3 TX buffer descriptor with two buffers... */ - static struct TxFD { -- volatile s16 status; -- s16 command; -- u32 link; /* void * */ -- u32 tx_desc_addr; /* (almost) Always points to the tx_buf_addr element. */ -- s32 count; /* # of TBD (=2), Tx start thresh., etc. */ -- /* This constitutes two "TBD" entries: hdr and data */ -- u32 tx_buf_addr0; /* void *, header of frame to be transmitted. */ -- s32 tx_buf_size0; /* Length of Tx hdr. */ -- u32 tx_buf_addr1; /* void *, data to be transmitted. */ -- s32 tx_buf_size1; /* Length of Tx data. */ -+ volatile s16 status; -+ s16 command; -+ u32 link; /* void * */ -+ u32 tx_desc_addr; /* (almost) Always points to the tx_buf_addr element. */ -+ s32 count; /* # of TBD (=2), Tx start thresh., etc. */ -+ /* This constitutes two "TBD" entries: hdr and data */ -+ u32 tx_buf_addr0; /* void *, header of frame to be transmitted. */ -+ s32 tx_buf_size0; /* Length of Tx hdr. */ -+ u32 tx_buf_addr1; /* void *, data to be transmitted. */ -+ s32 tx_buf_size1; /* Length of Tx data. */ - } txfd; - - struct RxFD { /* Receive frame descriptor. */ -- volatile s16 status; -- s16 command; -- u32 link; /* struct RxFD * */ -- u32 rx_buf_addr; /* void * */ -- u16 count; -- u16 size; -- char packet[1518]; -+ volatile s16 status; -+ s16 command; -+ u32 link; /* struct RxFD * */ -+ u32 rx_buf_addr; /* void * */ -+ u16 count; -+ u16 size; -+ char packet[1518]; - }; - --#ifdef USE_LOWMEM_BUFFER --#define rxfd ((struct RxFD *)(0x10000 - sizeof(struct RxFD))) --#define ACCESS(x) x-> --#else - static struct RxFD rxfd; - #define ACCESS(x) x. --#endif - - static int congenb = 0; /* Enable congestion control in the DP83840. */ - static int txfifo = 8; /* Tx FIFO threshold in 4 byte units, 0-15 */ -@@ -256,8 +266,7 @@ - u32 link; - unsigned char data[22]; - } confcmd = { -- 0, CmdConfigure, -- (u32) & txfd, -+ 0, 0, 0, /* filled in later */ - {22, 0x08, 0, 0, 0, 0x80, 0x32, 0x03, 1, /* 1=Use MII 0=Use AUI */ - 0, 0x2E, 0, 0x60, 0, - 0xf2, 0x48, 0, 0x40, 0xf2, 0x80, /* 0x40=Force full-duplex */ -@@ -276,19 +285,20 @@ - - static int mdio_write(int phy_id, int location, int value) - { -- int val, boguscnt = 64*4; /* <64 usec. to complete, typ 27 ticks */ -+ int val, boguscnt = 64*4; /* <64 usec. to complete, typ 27 ticks */ - -- outl(0x04000000 | (location<<16) | (phy_id<<21) | value, -- ioaddr + SCBCtrlMDI); -- do { -- udelay(16); -- -- val = inl(ioaddr + SCBCtrlMDI); -- if (--boguscnt < 0) { -- printf(" mdio_write() timed out with val = %X.\n", val); -- } -- } while (! (val & 0x10000000)); -- return val & 0xffff; -+ outl(0x04000000 | (location<<16) | (phy_id<<21) | value, -+ ioaddr + SCBCtrlMDI); -+ do { -+ udelay(16); -+ -+ val = inl(ioaddr + SCBCtrlMDI); -+ if (--boguscnt < 0) { -+ printf(" mdio_write() timed out with val = %X.\n", val); -+ break; -+ } -+ } while (! (val & 0x10000000)); -+ return val & 0xffff; - } - - /* Support function: mdio_read -@@ -298,17 +308,19 @@ - */ - static int mdio_read(int phy_id, int location) - { -- int val, boguscnt = 64*4; /* <64 usec. to complete, typ 27 ticks */ -- outl(0x08000000 | (location<<16) | (phy_id<<21), ioaddr + SCBCtrlMDI); -- do { -- udelay(16); -- -- val = inl(ioaddr + SCBCtrlMDI); -- if (--boguscnt < 0) { -- printf( " mdio_read() timed out with val = %X.\n", val); -- } -- } while (! (val & 0x10000000)); -- return val & 0xffff; -+ int val, boguscnt = 64*4; /* <64 usec. to complete, typ 27 ticks */ -+ outl(0x08000000 | (location<<16) | (phy_id<<21), ioaddr + SCBCtrlMDI); -+ do { -+ udelay(16); -+ -+ val = inl(ioaddr + SCBCtrlMDI); -+ -+ if (--boguscnt < 0) { -+ printf( " mdio_read() timed out with val = %X.\n", val); -+ break; -+ } -+ } while (! (val & 0x10000000)); -+ return val & 0xffff; - } - - /* The fixes for the code were kindly provided by Dragan Stancevic -@@ -340,25 +352,26 @@ - return retval; - } - -+#if 0 - static inline void whereami (const char *str) - { --#if 0 - printf ("%s\n", str); - sleep (2); --#endif - } -+#else -+#define whereami(s) -+#endif - --/* function: eepro100_reset -- * resets the card. This is used to allow Etherboot to probe the card again -- * from a "virginal" state.... -- * Arguments: none -- * -- * returns: void. -- */ -- --static void eepro100_reset(struct nic *nic) -+static void eepro100_irq(struct nic *nic __unused, irq_action_t action __unused) - { -- outl(0, ioaddr + SCBPort); -+ switch ( action ) { -+ case DISABLE : -+ break; -+ case ENABLE : -+ break; -+ case FORCE : -+ break; -+ } - } - - /* function: eepro100_transmit -@@ -373,61 +386,87 @@ - - static void eepro100_transmit(struct nic *nic, const char *d, unsigned int t, unsigned int s, const char *p) - { -- struct eth_hdr { -- unsigned char dst_addr[ETH_ALEN]; -- unsigned char src_addr[ETH_ALEN]; -- unsigned short type; -- } hdr; -- unsigned short status; -- int to; -- int s1, s2; -- -- status = inw(ioaddr + SCBStatus); -- /* Acknowledge all of the current interrupt sources ASAP. */ -- outw(status & 0xfc00, ioaddr + SCBStatus); -+ struct eth_hdr { -+ unsigned char dst_addr[ETH_ALEN]; -+ unsigned char src_addr[ETH_ALEN]; -+ unsigned short type; -+ } hdr; -+ unsigned short status; -+ int s1, s2; -+ -+ status = inw(ioaddr + SCBStatus); -+ /* Acknowledge all of the current interrupt sources ASAP. */ -+ outw(status & 0xfc00, ioaddr + SCBStatus); - - #ifdef DEBUG -- printf ("transmitting type %hX packet (%d bytes). status = %hX, cmd=%hX\n", -- t, s, status, inw (ioaddr + SCBCmd)); -+ printf ("transmitting type %hX packet (%d bytes). status = %hX, cmd=%hX\n", -+ t, s, status, inw (ioaddr + SCBCmd)); - #endif - -- memcpy (&hdr.dst_addr, d, ETH_ALEN); -- memcpy (&hdr.src_addr, nic->node_addr, ETH_ALEN); -+ memcpy (&hdr.dst_addr, d, ETH_ALEN); -+ memcpy (&hdr.src_addr, nic->node_addr, ETH_ALEN); - -- hdr.type = htons (t); -+ hdr.type = htons (t); - -- txfd.status = 0; -- txfd.command = CmdSuspend | CmdTx | CmdTxFlex; -- txfd.link = virt_to_bus (&txfd); -- txfd.count = 0x02208000; -- txfd.tx_desc_addr = (u32)&txfd.tx_buf_addr0; -+ txfd.status = 0; -+ txfd.command = CmdSuspend | CmdTx | CmdTxFlex; -+ txfd.link = virt_to_bus (&txfd); -+ txfd.count = 0x02208000; -+ txfd.tx_desc_addr = virt_to_bus(&txfd.tx_buf_addr0); - -- txfd.tx_buf_addr0 = virt_to_bus (&hdr); -- txfd.tx_buf_size0 = sizeof (hdr); -+ txfd.tx_buf_addr0 = virt_to_bus (&hdr); -+ txfd.tx_buf_size0 = sizeof (hdr); - -- txfd.tx_buf_addr1 = virt_to_bus (p); -- txfd.tx_buf_size1 = s; -+ txfd.tx_buf_addr1 = virt_to_bus (p); -+ txfd.tx_buf_size1 = s; - - #ifdef DEBUG -- printf ("txfd: \n"); -- hd (&txfd, sizeof (txfd)); -+ printf ("txfd: \n"); -+ hd (&txfd, sizeof (txfd)); - #endif - -- outl(virt_to_bus(&txfd), ioaddr + SCBPointer); -- outw(INT_MASK | CU_START, ioaddr + SCBCmd); -- wait_for_cmd_done(ioaddr + SCBCmd); -- -- s1 = inw (ioaddr + SCBStatus); -- load_timer2(10*TICKS_PER_MS); /* timeout 10 ms for transmit */ -- while (!txfd.status && timer2_running()) -- /* Wait */; -- s2 = inw (ioaddr + SCBStatus); -+ outl(virt_to_bus(&txfd), ioaddr + SCBPointer); -+ outw(INT_MASK | CU_START, ioaddr + SCBCmd); -+ wait_for_cmd_done(ioaddr + SCBCmd); -+ -+ s1 = inw (ioaddr + SCBStatus); -+ load_timer2(10*TICKS_PER_MS); /* timeout 10 ms for transmit */ -+ while (!txfd.status && timer2_running()) -+ /* Wait */; -+ s2 = inw (ioaddr + SCBStatus); - - #ifdef DEBUG -- printf ("s1 = %hX, s2 = %hX.\n", s1, s2); -+ printf ("s1 = %hX, s2 = %hX.\n", s1, s2); - #endif - } - -+/* -+ * Sometimes the receiver stops making progress. This routine knows how to -+ * get it going again, without losing packets or being otherwise nasty like -+ * a chip reset would be. Previously the driver had a whole sequence -+ * of if RxSuspended, if it's no buffers do one thing, if it's no resources, -+ * do another, etc. But those things don't really matter. Separate logic -+ * in the ISR provides for allocating buffers--the other half of operation -+ * is just making sure the receiver is active. speedo_rx_soft_reset does that. -+ * This problem with the old, more involved algorithm is shown up under -+ * ping floods on the order of 60K packets/second on a 100Mbps fdx network. -+ */ -+static void -+speedo_rx_soft_reset(void) -+{ -+ wait_for_cmd_done(ioaddr + SCBCmd); -+ /* -+ * Put the hardware into a known state. -+ */ -+ outb(RX_ABORT, ioaddr + SCBCmd); -+ -+ ACCESS(rxfd)rx_buf_addr = 0xffffffff; -+ -+ wait_for_cmd_done(ioaddr + SCBCmd); -+ -+ outb(RX_START, ioaddr + SCBCmd); -+} -+ - /* function: eepro100_poll / eth_poll - * This recieves a packet from the network. - * -@@ -440,34 +479,87 @@ - * returns the length of the packet in nic->packetlen. - */ - --static int eepro100_poll(struct nic *nic) -+static int eepro100_poll(struct nic *nic, int retrieve) - { -- if (!ACCESS(rxfd)status) -- return 0; -+ unsigned int status; -+ status = inw(ioaddr + SCBStatus); - -- /* Ok. We got a packet. Now restart the reciever.... */ -- ACCESS(rxfd)status = 0; -- ACCESS(rxfd)command = 0xc000; -- outl(virt_to_bus(&(ACCESS(rxfd)status)), ioaddr + SCBPointer); -- outw(INT_MASK | RX_START, ioaddr + SCBCmd); -- wait_for_cmd_done(ioaddr + SCBCmd); -+ if (!ACCESS(rxfd)status) -+ return 0; -+ -+ /* There is a packet ready */ -+ if ( ! retrieve ) return 1; -+ -+ /* -+ * The chip may have suspended reception for various reasons. -+ * Check for that, and re-prime it should this be the case. -+ */ -+ switch ((status >> 2) & 0xf) { -+ case 0: /* Idle */ -+ break; -+ case 1: /* Suspended */ -+ case 2: /* No resources (RxFDs) */ -+ case 9: /* Suspended with no more RBDs */ -+ case 10: /* No resources due to no RBDs */ -+ case 12: /* Ready with no RBDs */ -+ speedo_rx_soft_reset(); -+ break; -+ case 3: case 5: case 6: case 7: case 8: -+ case 11: case 13: case 14: case 15: -+ /* these are all reserved values */ -+ break; -+ } -+ -+ /* Ok. We got a packet. Now restart the reciever.... */ -+ ACCESS(rxfd)status = 0; -+ ACCESS(rxfd)command = 0xc000; -+ outl(virt_to_bus(&(ACCESS(rxfd)status)), ioaddr + SCBPointer); -+ outw(INT_MASK | RX_START, ioaddr + SCBCmd); -+ wait_for_cmd_done(ioaddr + SCBCmd); - - #ifdef DEBUG -- printf ("Got a packet: Len = %d.\n", ACCESS(rxfd)count & 0x3fff); -+ printf ("Got a packet: Len = %d.\n", ACCESS(rxfd)count & 0x3fff); - #endif -- nic->packetlen = ACCESS(rxfd)count & 0x3fff; -- memcpy (nic->packet, ACCESS(rxfd)packet, nic->packetlen); -+ nic->packetlen = ACCESS(rxfd)count & 0x3fff; -+ memcpy (nic->packet, ACCESS(rxfd)packet, nic->packetlen); - #ifdef DEBUG -- hd (nic->packet, 0x30); -+ hd (nic->packet, 0x30); - #endif -- return 1; -+ return 1; - } - --static void eepro100_disable(struct nic *nic) -+/* function: eepro100_disable -+ * resets the card. This is used to allow Etherboot or Linux -+ * to probe the card again from a "virginal" state.... -+ * Arguments: none -+ * -+ * returns: void. -+ */ -+static void eepro100_disable(struct dev *dev __unused) - { -- /* See if this PartialReset solves the problem with interfering with -- kernel operation after Etherboot hands over. - Ken 20001102 */ -- outl(2, ioaddr + SCBPort); -+/* from eepro100_reset */ -+ outl(0, ioaddr + SCBPort); -+/* from eepro100_disable */ -+ /* See if this PartialReset solves the problem with interfering with -+ kernel operation after Etherboot hands over. - Ken 20001102 */ -+ outl(2, ioaddr + SCBPort); -+ -+ /* The following is from the Intel e100 driver. -+ * This hopefully solves the problem with hanging hard DOS images. */ -+ -+ /* wait for the reset to take effect */ -+ udelay(20); -+ -+ /* Mask off our interrupt line -- it is unmasked after reset */ -+ { -+ u16 intr_status; -+ /* Disable interrupts on our PCI board by setting the mask bit */ -+ outw(INT_MASK, ioaddr + SCBCmd); -+ intr_status = inw(ioaddr + SCBStatus); -+ /* ack and clear intrs */ -+ outw(intr_status, ioaddr + SCBStatus); -+ inw(ioaddr + SCBStatus); -+ } - } - - /* exported function: eepro100_probe / eth_probe -@@ -478,25 +570,30 @@ - * leaves the 82557 initialized, and ready to recieve packets. - */ - --struct nic *eepro100_probe(struct nic *nic, unsigned short *probeaddrs, struct pci_device *p) -+static int eepro100_probe(struct dev *dev, struct pci_device *p) - { -+ struct nic *nic = (struct nic *)dev; - unsigned short sum = 0; - int i; - int read_cmd, ee_size; -- unsigned short value; - int options; -- int promisc; -+ int rx_mode; - - /* we cache only the first few words of the EEPROM data - be careful not to access beyond this array */ - unsigned short eeprom[16]; - -- if (probeaddrs == 0 || probeaddrs[0] == 0) -+ if (p->ioaddr == 0) - return 0; -- ioaddr = probeaddrs[0] & ~3; /* Mask the bit that says "this is an io addr" */ -+ ioaddr = p->ioaddr & ~3; /* Mask the bit that says "this is an io addr" */ -+ nic->ioaddr = ioaddr; - - adjust_pci_device(p); - -+ /* Copy IRQ from PCI information */ -+ /* nic->irqno = pci->irq; */ -+ nic->irqno = 0; -+ - if ((do_eeprom_cmd(EE_READ_CMD << 24, 27) & 0xffe0000) - == 0xffe0000) { - ee_size = 0x100; -@@ -513,123 +610,138 @@ - sum += value; - } - -- for (i=0;inode_addr[i] = (eeprom[i/2] >> (8*(i&1))) & 0xff; -- } -- printf ("Ethernet addr: %!\n", nic->node_addr); -- -- if (sum != 0xBABA) -- printf("eepro100: Invalid EEPROM checksum %#hX, " -- "check settings before activating this device!\n", sum); -- outl(0, ioaddr + SCBPort); -- udelay (10000); -- -- whereami ("Got eeprom."); -- -- outl(virt_to_bus(&lstats), ioaddr + SCBPointer); -- outw(INT_MASK | CU_STATSADDR, ioaddr + SCBCmd); -- wait_for_cmd_done(ioaddr + SCBCmd); -- -- whereami ("set stats addr."); -- /* INIT RX stuff. */ -- -- /* Base = 0 */ -- outl(0, ioaddr + SCBPointer); -- outw(INT_MASK | RX_ADDR_LOAD, ioaddr + SCBCmd); -- wait_for_cmd_done(ioaddr + SCBCmd); -- -- whereami ("set rx base addr."); -- -- ACCESS(rxfd)status = 0x0001; -- ACCESS(rxfd)command = 0x0000; -- ACCESS(rxfd)link = virt_to_bus(&(ACCESS(rxfd)status)); -- ACCESS(rxfd)rx_buf_addr = (int) &nic->packet; -- ACCESS(rxfd)count = 0; -- ACCESS(rxfd)size = 1528; -- -- outl(virt_to_bus(&(ACCESS(rxfd)status)), ioaddr + SCBPointer); -- outw(INT_MASK | RX_START, ioaddr + SCBCmd); -- wait_for_cmd_done(ioaddr + SCBCmd); -- -- whereami ("started RX process."); -- -- /* Start the reciever.... */ -- ACCESS(rxfd)status = 0; -- ACCESS(rxfd)command = 0xc000; -- outl(virt_to_bus(&(ACCESS(rxfd)status)), ioaddr + SCBPointer); -- outw(INT_MASK | RX_START, ioaddr + SCBCmd); -- -- /* INIT TX stuff. */ -- -- /* Base = 0 */ -- outl(0, ioaddr + SCBPointer); -- outw(INT_MASK | CU_CMD_BASE, ioaddr + SCBCmd); -- wait_for_cmd_done(ioaddr + SCBCmd); -- -- whereami ("set TX base addr."); -- -- txfd.command = (CmdIASetup); -- txfd.status = 0x0000; -- txfd.link = virt_to_bus (&confcmd); -- -- { -- char *t = (char *)&txfd.tx_desc_addr; -+ for (i=0;inode_addr[i] = (eeprom[i/2] >> (8*(i&1))) & 0xff; -+ } -+ printf ("Ethernet addr: %!\n", nic->node_addr); - -- for (i=0;inode_addr[i]; -- } -+ if (sum != 0xBABA) -+ printf("eepro100: Invalid EEPROM checksum %#hX, " -+ "check settings before activating this device!\n", sum); -+ outl(0, ioaddr + SCBPort); -+ udelay (10000); -+ whereami ("Got eeprom."); -+ -+ /* Base = 0 */ -+ outl(0, ioaddr + SCBPointer); -+ outw(INT_MASK | RX_ADDR_LOAD, ioaddr + SCBCmd); -+ wait_for_cmd_done(ioaddr + SCBCmd); -+ whereami ("set rx base addr."); -+ -+ outl(virt_to_bus(&lstats), ioaddr + SCBPointer); -+ outw(INT_MASK | CU_STATSADDR, ioaddr + SCBCmd); -+ wait_for_cmd_done(ioaddr + SCBCmd); -+ whereami ("set stats addr."); -+ -+ /* INIT RX stuff. */ -+ ACCESS(rxfd)status = 0x0001; -+ ACCESS(rxfd)command = 0x0000; -+ ACCESS(rxfd)link = virt_to_bus(&(ACCESS(rxfd)status)); -+ ACCESS(rxfd)rx_buf_addr = virt_to_bus(&nic->packet); -+ ACCESS(rxfd)count = 0; -+ ACCESS(rxfd)size = 1528; -+ -+ outl(virt_to_bus(&(ACCESS(rxfd)status)), ioaddr + SCBPointer); -+ outw(INT_MASK | RX_START, ioaddr + SCBCmd); -+ wait_for_cmd_done(ioaddr + SCBCmd); -+ -+ whereami ("started RX process."); -+ -+ /* Start the reciever.... */ -+ ACCESS(rxfd)status = 0; -+ ACCESS(rxfd)command = 0xc000; -+ outl(virt_to_bus(&(ACCESS(rxfd)status)), ioaddr + SCBPointer); -+ outw(INT_MASK | RX_START, ioaddr + SCBCmd); -+ -+ /* INIT TX stuff. */ -+ -+ /* Base = 0 */ -+ outl(0, ioaddr + SCBPointer); -+ outw(INT_MASK | CU_CMD_BASE, ioaddr + SCBCmd); -+ wait_for_cmd_done(ioaddr + SCBCmd); -+ -+ whereami ("set TX base addr."); -+ -+ txfd.command = (CmdIASetup); -+ txfd.status = 0x0000; -+ txfd.link = virt_to_bus (&confcmd); -+ -+ { -+ char *t = (char *)&txfd.tx_desc_addr; -+ -+ for (i=0;inode_addr[i]; -+ } - - #ifdef DEBUG -- printf ("Setup_eaddr:\n"); -- hd (&txfd, 0x20); -+ printf ("Setup_eaddr:\n"); -+ hd (&txfd, 0x20); - #endif -- /* options = 0x40; */ /* 10mbps half duplex... */ -- options = 0x00; /* Autosense */ -- -- promisc = 0; -- -- if ( ((eeprom[6]>>8) & 0x3f) == DP83840 -- || ((eeprom[6]>>8) & 0x3f) == DP83840A) { -- int mdi_reg23 = mdio_read(eeprom[6] & 0x1f, 23) | 0x0422; -- if (congenb) -- mdi_reg23 |= 0x0100; -- printf(" DP83840 specific setup, setting register 23 to %hX.\n", -- mdi_reg23); -- mdio_write(eeprom[6] & 0x1f, 23, mdi_reg23); -- } -- whereami ("Done DP8340 special setup."); -- if (options != 0) { -- mdio_write(eeprom[6] & 0x1f, 0, -- ((options & 0x20) ? 0x2000 : 0) | /* 100mbps? */ -- ((options & 0x10) ? 0x0100 : 0)); /* Full duplex? */ -- whereami ("set mdio_register."); -- } -+ /* options = 0x40; */ /* 10mbps half duplex... */ -+ options = 0x00; /* Autosense */ - -- confcmd.command = CmdSuspend | CmdConfigure; -- confcmd.status = 0x0000; -- confcmd.link = virt_to_bus (&txfd); -- confcmd.data[1] = (txfifo << 4) | rxfifo; -- confcmd.data[4] = rxdmacount; -- confcmd.data[5] = txdmacount + 0x80; -- confcmd.data[15] = promisc ? 0x49: 0x48; -- confcmd.data[19] = (options & 0x10) ? 0xC0 : 0x80; -- confcmd.data[21] = promisc ? 0x0D: 0x05; -+#ifdef PROMISC -+ rx_mode = 3; -+#elif ALLMULTI -+ rx_mode = 1; -+#else -+ rx_mode = 0; -+#endif - -- outl(virt_to_bus(&txfd), ioaddr + SCBPointer); -- outw(INT_MASK | CU_START, ioaddr + SCBCmd); -- wait_for_cmd_done(ioaddr + SCBCmd); -+ if ( ((eeprom[6]>>8) & 0x3f) == DP83840 -+ || ((eeprom[6]>>8) & 0x3f) == DP83840A) { -+ int mdi_reg23 = mdio_read(eeprom[6] & 0x1f, 23) | 0x0422; -+ if (congenb) -+ mdi_reg23 |= 0x0100; -+ printf(" DP83840 specific setup, setting register 23 to %hX.\n", -+ mdi_reg23); -+ mdio_write(eeprom[6] & 0x1f, 23, mdi_reg23); -+ } -+ whereami ("Done DP8340 special setup."); -+ if (options != 0) { -+ mdio_write(eeprom[6] & 0x1f, 0, -+ ((options & 0x20) ? 0x2000 : 0) | /* 100mbps? */ -+ ((options & 0x10) ? 0x0100 : 0)); /* Full duplex? */ -+ whereami ("set mdio_register."); -+ } - -- whereami ("started TX thingy (config, iasetup)."); -+ confcmd.command = CmdSuspend | CmdConfigure; -+ confcmd.status = 0x0000; -+ confcmd.link = virt_to_bus (&txfd); -+ confcmd.data[1] = (txfifo << 4) | rxfifo; -+ confcmd.data[4] = rxdmacount; -+ confcmd.data[5] = txdmacount + 0x80; -+ confcmd.data[15] = (rx_mode & 2) ? 0x49: 0x48; -+ confcmd.data[19] = (options & 0x10) ? 0xC0 : 0x80; -+ confcmd.data[21] = (rx_mode & 1) ? 0x0D: 0x05; -+ -+ outl(virt_to_bus(&txfd), ioaddr + SCBPointer); -+ outw(INT_MASK | CU_START, ioaddr + SCBCmd); -+ wait_for_cmd_done(ioaddr + SCBCmd); -+ -+ whereami ("started TX thingy (config, iasetup)."); -+ -+ load_timer2(10*TICKS_PER_MS); -+ while (!txfd.status && timer2_running()) -+ /* Wait */; -+ -+ /* Read the status register once to disgard stale data */ -+ mdio_read(eeprom[6] & 0x1f, 1); -+ /* Check to see if the network cable is plugged in. -+ * This allows for faster failure if there is nothing -+ * we can do. -+ */ -+ if (!(mdio_read(eeprom[6] & 0x1f, 1) & (1 << 2))) { -+ printf("Valid link not established\n"); -+ eepro100_disable(dev); -+ return 0; -+ } - -- load_timer2(10*TICKS_PER_MS); -- while (!txfd.status && timer2_running()) -- /* Wait */; -- -- nic->reset = eepro100_reset; -- nic->poll = eepro100_poll; -- nic->transmit = eepro100_transmit; -- nic->disable = eepro100_disable; -- return nic; -+ dev->disable = eepro100_disable; -+ nic->poll = eepro100_poll; -+ nic->transmit = eepro100_transmit; -+ nic->irq = eepro100_irq; -+ return 1; - } - - /*********************************************************************/ -@@ -639,16 +751,59 @@ - /* Hexdump a number of bytes from memory... */ - void hd (void *where, int n) - { -- int i; -+ int i; - -- while (n > 0) { -- printf ("%X ", where); -- for (i=0;i < ( (n>16)?16:n);i++) -- printf (" %hhX", ((char *)where)[i]); -- printf ("\n"); -- n -= 16; -- where += 16; -- } -+ while (n > 0) { -+ printf ("%X ", where); -+ for (i=0;i < ( (n>16)?16:n);i++) -+ printf (" %hhX", ((char *)where)[i]); -+ printf ("\n"); -+ n -= 16; -+ where += 16; -+ } - } - #endif - -+static struct pci_id eepro100_nics[] = { -+PCI_ROM(0x8086, 0x1029, "id1029", "Intel EtherExpressPro100 ID1029"), -+PCI_ROM(0x8086, 0x1030, "id1030", "Intel EtherExpressPro100 ID1030"), -+PCI_ROM(0x8086, 0x1031, "82801cam", "Intel 82801CAM (ICH3) Chipset Ethernet Controller"), -+PCI_ROM(0x8086, 0x1032, "eepro100-1032", "Intel PRO/100 VE Network Connection"), -+PCI_ROM(0x8086, 0x1033, "eepro100-1033", "Intel PRO/100 VM Network Connection"), -+PCI_ROM(0x8086, 0x1034, "eepro100-1034", "Intel PRO/100 VM Network Connection"), -+PCI_ROM(0x8086, 0x1035, "eepro100-1035", "Intel 82801CAM (ICH3) Chipset Ethernet Controller"), -+PCI_ROM(0x8086, 0x1036, "eepro100-1036", "Intel 82801CAM (ICH3) Chipset Ethernet Controller"), -+PCI_ROM(0x8086, 0x1037, "eepro100-1037", "Intel 82801CAM (ICH3) Chipset Ethernet Controller"), -+PCI_ROM(0x8086, 0x1038, "id1038", "Intel PRO/100 VM Network Connection"), -+PCI_ROM(0x8086, 0x1039, "82562et", "Intel PRO100 VE 82562ET"), -+PCI_ROM(0x8086, 0x103a, "id103a", "Intel Corporation 82559 InBusiness 10/100"), -+PCI_ROM(0x8086, 0x103b, "82562etb", "Intel PRO100 VE 82562ETB"), -+PCI_ROM(0x8086, 0x103c, "eepro100-103c", "Intel PRO/100 VM Network Connection"), -+PCI_ROM(0x8086, 0x103d, "eepro100-103d", "Intel PRO/100 VE Network Connection"), -+PCI_ROM(0x8086, 0x103e, "eepro100-103e", "Intel PRO/100 VM Network Connection"), -+PCI_ROM(0x8086, 0x1059, "82551qm", "Intel PRO/100 M Mobile Connection"), -+PCI_ROM(0x8086, 0x1209, "82559er", "Intel EtherExpressPro100 82559ER"), -+PCI_ROM(0x8086, 0x1227, "82865", "Intel 82865 EtherExpress PRO/100A"), -+PCI_ROM(0x8086, 0x1228, "82556", "Intel 82556 EtherExpress PRO/100 Smart"), -+PCI_ROM(0x8086, 0x1229, "eepro100", "Intel EtherExpressPro100"), -+PCI_ROM(0x8086, 0x2449, "82562em", "Intel EtherExpressPro100 82562EM"), -+PCI_ROM(0x8086, 0x2459, "82562-1", "Intel 82562 based Fast Ethernet Connection"), -+PCI_ROM(0x8086, 0x245d, "82562-2", "Intel 82562 based Fast Ethernet Connection"), -+PCI_ROM(0x8086, 0x1050, "82562ez", "Intel 82562EZ Network Connection"), -+PCI_ROM(0x8086, 0x5200, "eepro100-5200", "Intel EtherExpress PRO/100 Intelligent Server"), -+PCI_ROM(0x8086, 0x5201, "eepro100-5201", "Intel EtherExpress PRO/100 Intelligent Server"), -+}; -+ -+/* Cards with device ids 0x1030 to 0x103F, 0x2449, 0x2459 or 0x245D might need -+ * a workaround for hardware bug on 10 mbit half duplex (see linux driver eepro100.c) -+ * 2003/03/17 gbaum */ -+ -+ -+struct pci_driver eepro100_driver = { -+ .type = NIC_DRIVER, -+ .name = "EEPRO100", -+ .probe = eepro100_probe, -+ .ids = eepro100_nics, -+ .id_count = sizeof(eepro100_nics)/sizeof(eepro100_nics[0]), -+ .class = 0 -+}; -Index: b/netboot/elf.h -=================================================================== ---- /dev/null -+++ b/netboot/elf.h -@@ -0,0 +1,234 @@ -+#ifndef ELF_H -+#define ELF_H -+ -+#define EI_NIDENT 16 /* Size of e_ident array. */ -+ -+/* Values for e_type. */ -+#define ET_NONE 0 /* No file type */ -+#define ET_REL 1 /* Relocatable file */ -+#define ET_EXEC 2 /* Executable file */ -+#define ET_DYN 3 /* Shared object file */ -+#define ET_CORE 4 /* Core file */ -+ -+/* Values for e_machine (architecute). */ -+#define EM_NONE 0 /* No machine */ -+#define EM_M32 1 /* AT&T WE 32100 */ -+#define EM_SPARC 2 /* SUN SPARC */ -+#define EM_386 3 /* Intel 80386+ */ -+#define EM_68K 4 /* Motorola m68k family */ -+#define EM_88K 5 /* Motorola m88k family */ -+#define EM_486 6 /* Perhaps disused */ -+#define EM_860 7 /* Intel 80860 */ -+#define EM_MIPS 8 /* MIPS R3000 big-endian */ -+#define EM_S370 9 /* IBM System/370 */ -+#define EM_MIPS_RS3_LE 10 /* MIPS R3000 little-endian */ -+ -+#define EM_PARISC 15 /* HPPA */ -+#define EM_VPP500 17 /* Fujitsu VPP500 */ -+#define EM_SPARC32PLUS 18 /* Sun's "v8plus" */ -+#define EM_960 19 /* Intel 80960 */ -+#define EM_PPC 20 /* PowerPC */ -+#define EM_PPC64 21 /* PowerPC 64-bit */ -+#define EM_S390 22 /* IBM S390 */ -+ -+#define EM_V800 36 /* NEC V800 series */ -+#define EM_FR20 37 /* Fujitsu FR20 */ -+#define EM_RH32 38 /* TRW RH-32 */ -+#define EM_RCE 39 /* Motorola RCE */ -+#define EM_ARM 40 /* ARM */ -+#define EM_FAKE_ALPHA 41 /* Digital Alpha */ -+#define EM_SH 42 /* Hitachi SH */ -+#define EM_SPARCV9 43 /* SPARC v9 64-bit */ -+#define EM_TRICORE 44 /* Siemens Tricore */ -+#define EM_ARC 45 /* Argonaut RISC Core */ -+#define EM_H8_300 46 /* Hitachi H8/300 */ -+#define EM_H8_300H 47 /* Hitachi H8/300H */ -+#define EM_H8S 48 /* Hitachi H8S */ -+#define EM_H8_500 49 /* Hitachi H8/500 */ -+#define EM_IA_64 50 /* Intel Merced */ -+#define EM_MIPS_X 51 /* Stanford MIPS-X */ -+#define EM_COLDFIRE 52 /* Motorola Coldfire */ -+#define EM_68HC12 53 /* Motorola M68HC12 */ -+#define EM_MMA 54 /* Fujitsu MMA Multimedia Accelerator*/ -+#define EM_PCP 55 /* Siemens PCP */ -+#define EM_NCPU 56 /* Sony nCPU embeeded RISC */ -+#define EM_NDR1 57 /* Denso NDR1 microprocessor */ -+#define EM_STARCORE 58 /* Motorola Start*Core processor */ -+#define EM_ME16 59 /* Toyota ME16 processor */ -+#define EM_ST100 60 /* STMicroelectronic ST100 processor */ -+#define EM_TINYJ 61 /* Advanced Logic Corp. Tinyj emb.fam*/ -+#define EM_X86_64 62 /* AMD x86-64 architecture */ -+#define EM_PDSP 63 /* Sony DSP Processor */ -+ -+#define EM_FX66 66 /* Siemens FX66 microcontroller */ -+#define EM_ST9PLUS 67 /* STMicroelectronics ST9+ 8/16 mc */ -+#define EM_ST7 68 /* STmicroelectronics ST7 8 bit mc */ -+#define EM_68HC16 69 /* Motorola MC68HC16 microcontroller */ -+#define EM_68HC11 70 /* Motorola MC68HC11 microcontroller */ -+#define EM_68HC08 71 /* Motorola MC68HC08 microcontroller */ -+#define EM_68HC05 72 /* Motorola MC68HC05 microcontroller */ -+#define EM_SVX 73 /* Silicon Graphics SVx */ -+#define EM_AT19 74 /* STMicroelectronics ST19 8 bit mc */ -+#define EM_VAX 75 /* Digital VAX */ -+#define EM_CRIS 76 /* Axis Communications 32-bit embedded processor */ -+#define EM_JAVELIN 77 /* Infineon Technologies 32-bit embedded processor */ -+#define EM_FIREPATH 78 /* Element 14 64-bit DSP Processor */ -+#define EM_ZSP 79 /* LSI Logic 16-bit DSP Processor */ -+#define EM_MMIX 80 /* Donald Knuth's educational 64-bit processor */ -+#define EM_HUANY 81 /* Harvard University machine-independent object files */ -+#define EM_PRISM 82 /* SiTera Prism */ -+#define EM_AVR 83 /* Atmel AVR 8-bit microcontroller */ -+#define EM_FR30 84 /* Fujitsu FR30 */ -+#define EM_D10V 85 /* Mitsubishi D10V */ -+#define EM_D30V 86 /* Mitsubishi D30V */ -+#define EM_V850 87 /* NEC v850 */ -+#define EM_M32R 88 /* Mitsubishi M32R */ -+#define EM_MN10300 89 /* Matsushita MN10300 */ -+#define EM_MN10200 90 /* Matsushita MN10200 */ -+#define EM_PJ 91 /* picoJava */ -+#define EM_OPENRISC 92 /* OpenRISC 32-bit embedded processor */ -+#define EM_ARC_A5 93 /* ARC Cores Tangent-A5 */ -+#define EM_XTENSA 94 /* Tensilica Xtensa Architecture */ -+#define EM_NUM 95 -+ -+/* Values for p_type. */ -+#define PT_NULL 0 /* Unused entry. */ -+#define PT_LOAD 1 /* Loadable segment. */ -+#define PT_DYNAMIC 2 /* Dynamic linking information segment. */ -+#define PT_INTERP 3 /* Pathname of interpreter. */ -+#define PT_NOTE 4 /* Auxiliary information. */ -+#define PT_SHLIB 5 /* Reserved (not used). */ -+#define PT_PHDR 6 /* Location of program header itself. */ -+ -+/* Values for p_flags. */ -+#define PF_X 0x1 /* Executable. */ -+#define PF_W 0x2 /* Writable. */ -+#define PF_R 0x4 /* Readable. */ -+ -+ -+#define ELF_PROGRAM_RETURNS_BIT 0x8000000 /* e_flags bit 31 */ -+ -+#define EI_MAG0 0 -+#define ELFMAG0 0x7f -+ -+#define EI_MAG1 1 -+#define ELFMAG1 'E' -+ -+#define EI_MAG2 2 -+#define ELFMAG2 'L' -+ -+#define EI_MAG3 3 -+#define ELFMAG3 'F' -+ -+#define ELFMAG "\177ELF" -+ -+#define EI_CLASS 4 /* File class byte index */ -+#define ELFCLASSNONE 0 /* Invalid class */ -+#define ELFCLASS32 1 /* 32-bit objects */ -+#define ELFCLASS64 2 /* 64-bit objects */ -+ -+#define EI_DATA 5 /* Data encodeing byte index */ -+#define ELFDATANONE 0 /* Invalid data encoding */ -+#define ELFDATA2LSB 1 /* 2's complement little endian */ -+#define ELFDATA2MSB 2 /* 2's complement big endian */ -+ -+#define EI_VERSION 6 /* File version byte index */ -+ /* Value must be EV_CURRENT */ -+ -+#define EV_NONE 0 /* Invalid ELF Version */ -+#define EV_CURRENT 1 /* Current version */ -+ -+#define ELF32_PHDR_SIZE (8*4) /* Size of an elf program header */ -+ -+#ifndef ASSEMBLY -+/* -+ * ELF definitions common to all 32-bit architectures. -+ */ -+ -+typedef uint32_t Elf32_Addr; -+typedef uint16_t Elf32_Half; -+typedef uint32_t Elf32_Off; -+typedef int32_t Elf32_Sword; -+typedef uint32_t Elf32_Word; -+typedef uint32_t Elf32_Size; -+ -+typedef uint64_t Elf64_Addr; -+typedef uint16_t Elf64_Half; -+typedef uint64_t Elf64_Off; -+typedef int32_t Elf64_Sword; -+typedef uint32_t Elf64_Word; -+typedef uint64_t Elf64_Size; -+ -+/* -+ * ELF header. -+ */ -+typedef struct { -+ unsigned char e_ident[EI_NIDENT]; /* File identification. */ -+ Elf32_Half e_type; /* File type. */ -+ Elf32_Half e_machine; /* Machine architecture. */ -+ Elf32_Word e_version; /* ELF format version. */ -+ Elf32_Addr e_entry; /* Entry point. */ -+ Elf32_Off e_phoff; /* Program header file offset. */ -+ Elf32_Off e_shoff; /* Section header file offset. */ -+ Elf32_Word e_flags; /* Architecture-specific flags. */ -+ Elf32_Half e_ehsize; /* Size of ELF header in bytes. */ -+ Elf32_Half e_phentsize; /* Size of program header entry. */ -+ Elf32_Half e_phnum; /* Number of program header entries. */ -+ Elf32_Half e_shentsize; /* Size of section header entry. */ -+ Elf32_Half e_shnum; /* Number of section header entries. */ -+ Elf32_Half e_shstrndx; /* Section name strings section. */ -+} Elf32_Ehdr; -+ -+typedef struct { -+ unsigned char e_ident[EI_NIDENT]; /* File identification. */ -+ Elf64_Half e_type; /* File type. */ -+ Elf64_Half e_machine; /* Machine architecture. */ -+ Elf64_Word e_version; /* ELF format version. */ -+ Elf64_Addr e_entry; /* Entry point. */ -+ Elf64_Off e_phoff; /* Program header file offset. */ -+ Elf64_Off e_shoff; /* Section header file offset. */ -+ Elf64_Word e_flags; /* Architecture-specific flags. */ -+ Elf64_Half e_ehsize; /* Size of ELF header in bytes. */ -+ Elf64_Half e_phentsize; /* Size of program header entry. */ -+ Elf64_Half e_phnum; /* Number of program header entries. */ -+ Elf64_Half e_shentsize; /* Size of section header entry. */ -+ Elf64_Half e_shnum; /* Number of section header entries. */ -+ Elf64_Half e_shstrndx; /* Section name strings section. */ -+} Elf64_Ehdr; -+ -+/* -+ * Program header. -+ */ -+typedef struct { -+ Elf32_Word p_type; /* Entry type. */ -+ Elf32_Off p_offset; /* File offset of contents. */ -+ Elf32_Addr p_vaddr; /* Virtual address (not used). */ -+ Elf32_Addr p_paddr; /* Physical address. */ -+ Elf32_Size p_filesz; /* Size of contents in file. */ -+ Elf32_Size p_memsz; /* Size of contents in memory. */ -+ Elf32_Word p_flags; /* Access permission flags. */ -+ Elf32_Size p_align; /* Alignment in memory and file. */ -+} Elf32_Phdr; -+ -+typedef struct { -+ Elf64_Word p_type; /* Entry type. */ -+ Elf64_Word p_flags; /* Access permission flags. */ -+ Elf64_Off p_offset; /* File offset of contents. */ -+ Elf64_Addr p_vaddr; /* Virtual address (not used). */ -+ Elf64_Addr p_paddr; /* Physical address. */ -+ Elf64_Size p_filesz; /* Size of contents in file. */ -+ Elf64_Size p_memsz; /* Size of contents in memory. */ -+ Elf64_Size p_align; /* Alignment in memory and file. */ -+} Elf64_Phdr; -+ -+/* Standardized Elf image notes for booting... The name for all of these is ELFBoot */ -+ -+ -+/* ELF Defines for the current architecture */ -+#include "i386_elf.h" -+ -+#endif /* ASSEMBLY */ -+ -+//#include "elf_boot.h" -+ -+#endif /* ELF_H */ -Index: b/netboot/endian.h -=================================================================== ---- /dev/null -+++ b/netboot/endian.h -@@ -0,0 +1,19 @@ -+#ifndef ETHERBOOT_ENDIAN_H -+#define ETHERBOOT_ENDIAN_H -+ -+/* Definitions for byte order, according to significance of bytes, -+ from low addresses to high addresses. The value is what you get by -+ putting '4' in the most significant byte, '3' in the second most -+ significant byte, '2' in the second least significant byte, and '1' -+ in the least significant byte, and then writing down one digit for -+ each byte, starting with the byte at the lowest address at the left, -+ and proceeding to the byte with the highest address at the right. */ -+ -+#define __LITTLE_ENDIAN 1234 -+#define __BIG_ENDIAN 4321 -+#define __PDP_ENDIAN 3412 -+ -+#include "i386_endian.h" -+ -+ -+#endif /* ETHERBOOT_ENDIAN_H */ -Index: b/netboot/epic100.c -=================================================================== ---- a/netboot/epic100.c -+++ b/netboot/epic100.c -@@ -1,15 +1,18 @@ -+ - /* epic100.c: A SMC 83c170 EPIC/100 fast ethernet driver for Etherboot */ - -+/* 05/06/2003 timlegge Fixed relocation and implemented Multicast */ - #define LINUX_OUT_MACROS - - #include "etherboot.h" -+#include "pci.h" - #include "nic.h" --#include "cards.h" - #include "timer.h" - #include "epic100.h" - --#undef virt_to_bus --#define virt_to_bus(x) ((unsigned long)x) -+/* Condensed operations for readability */ -+#define virt_to_le32desc(addr) cpu_to_le32(virt_to_bus(addr)) -+#define le32desc_to_virt(addr) bus_to_virt(le32_to_cpu(addr)) - - #define TX_RING_SIZE 2 /* use at least 2 buffers for TX */ - #define RX_RING_SIZE 2 -@@ -26,23 +29,18 @@ - - /* The EPIC100 Rx and Tx buffer descriptors. */ - struct epic_rx_desc { -- unsigned short status; -- unsigned short rxlength; -- unsigned long bufaddr; -- unsigned short buflength; -- unsigned short control; -- unsigned long next; -+ unsigned long status; -+ unsigned long bufaddr; -+ unsigned long buflength; -+ unsigned long next; - }; -- - /* description of the tx descriptors control bits commonly used */ - #define TD_STDFLAGS TD_LASTDESC - - struct epic_tx_desc { -- unsigned short status; -- unsigned short txlength; -- unsigned long bufaddr; -- unsigned short buflength; -- unsigned short control; -+ unsigned long status; -+ unsigned long bufaddr; -+ unsigned long buflength; - unsigned long next; - }; - -@@ -51,12 +49,15 @@ - - static void epic100_open(void); - static void epic100_init_ring(void); --static void epic100_disable(struct nic *nic); --static int epic100_poll(struct nic *nic); -+static void epic100_disable(struct dev *dev); -+static int epic100_poll(struct nic *nic, int retrieve); - static void epic100_transmit(struct nic *nic, const char *destaddr, - unsigned int type, unsigned int len, const char *data); -+#ifdef DEBUG_EEPROM - static int read_eeprom(int location); -+#endif - static int mii_read(int phy_id, int location); -+static void epic100_irq(struct nic *nic, irq_action_t action); - - static int ioaddr; - -@@ -69,6 +70,7 @@ - static int mmctl ; - static int mmdata ; - static int lan0 ; -+static int mc0 ; - static int rxcon ; - static int txcon ; - static int prcdar ; -@@ -80,37 +82,27 @@ - static unsigned short eeprom[64]; - #endif - static signed char phys[4]; /* MII device addresses. */ --static struct epic_rx_desc rx_ring[RX_RING_SIZE]; --static struct epic_tx_desc tx_ring[TX_RING_SIZE]; --#ifdef USE_LOWMEM_BUFFER --#define rx_packet ((char *)0x10000 - PKT_BUF_SZ * RX_RING_SIZE) --#define tx_packet ((char *)0x10000 - PKT_BUF_SZ * RX_RING_SIZE - PKT_BUF_SZ * TX_RING_SIZE) --#else --static char rx_packet[PKT_BUF_SZ * RX_RING_SIZE]; --static char tx_packet[PKT_BUF_SZ * TX_RING_SIZE]; --#endif -+static struct epic_rx_desc rx_ring[RX_RING_SIZE] -+ __attribute__ ((aligned(4))); -+static struct epic_tx_desc tx_ring[TX_RING_SIZE] -+ __attribute__ ((aligned(4))); -+static unsigned char rx_packet[PKT_BUF_SZ * RX_RING_SIZE]; -+static unsigned char tx_packet[PKT_BUF_SZ * TX_RING_SIZE]; - - /***********************************************************************/ - /* Externally visible functions */ - /***********************************************************************/ - -- static void --epic100_reset(struct nic *nic) --{ -- /* Soft reset the chip. */ -- outl(GC_SOFT_RESET, genctl); --} - -- struct nic* --epic100_probe(struct nic *nic, unsigned short *probeaddrs) -+ static int -+epic100_probe(struct dev *dev, struct pci_device *pci) - { -- unsigned short sum = 0; -- unsigned short value; -+ struct nic *nic = (struct nic *)dev; - int i; - unsigned short* ap; - unsigned int phy, phy_idx; - -- if (probeaddrs == 0 || probeaddrs[0] == 0) -+ if (pci->ioaddr == 0) - return 0; - - /* Ideally we would detect all network cards in slot order. That would -@@ -118,7 +110,9 @@ - well with the current structure. So instead we detect just the - Epic cards in slot order. */ - -- ioaddr = probeaddrs[0] & ~3; /* Mask the bit that says "this is an io addr" */ -+ ioaddr = pci->ioaddr; -+ nic->irqno = 0; -+ nic->ioaddr = pci->ioaddr & ~3; - - /* compute all used static epic100 registers address */ - command = ioaddr + COMMAND; /* Control Register */ -@@ -130,6 +124,7 @@ - mmctl = ioaddr + MMCTL; /* MII Management Interface Control */ - mmdata = ioaddr + MMDATA; /* MII Management Interface Data */ - lan0 = ioaddr + LAN0; /* MAC address. (0x40-0x48) */ -+ mc0 = ioaddr + MC0; /* Multicast Control */ - rxcon = ioaddr + RXCON; /* Receive Control */ - txcon = ioaddr + TXCON; /* Transmit Control */ - prcdar = ioaddr + PRCDAR; /* PCI Receive Current Descr Address */ -@@ -160,11 +155,15 @@ - } - - #ifdef DEBUG_EEPROM -+{ -+ unsigned short sum = 0; -+ unsigned short value; - for (i = 0; i < 64; i++) { - value = read_eeprom(i); - eeprom[i] = value; - sum += value; - } -+} - - #if (EPIC_DEBUG > 1) - printf("EEPROM contents\n"); -@@ -202,15 +201,26 @@ - - epic100_open(); - -- nic->reset = epic100_reset; -+ dev->disable = epic100_disable; - nic->poll = epic100_poll; - nic->transmit = epic100_transmit; -- nic->disable = epic100_disable; -+ nic->irq = epic100_irq; - -- return nic; -+ return 1; - } - -- static void -+static void set_rx_mode(void) -+{ -+ unsigned char mc_filter[8]; -+ int i; -+ memset(mc_filter, 0xff, sizeof(mc_filter)); -+ outl(0x0C, rxcon); -+ for(i = 0; i < 4; i++) -+ outw(((unsigned short *)mc_filter)[i], mc0 + i*4); -+ return; -+} -+ -+ static void - epic100_open(void) - { - int mii_reg5; -@@ -237,11 +247,11 @@ - outl(tmp, txcon); - - /* Give adress of RX and TX ring to the chip */ -- outl(virt_to_bus(&rx_ring), prcdar); -- outl(virt_to_bus(&tx_ring), ptcdar); -+ outl(virt_to_le32desc(&rx_ring), prcdar); -+ outl(virt_to_le32desc(&tx_ring), ptcdar); - - /* Start the chip's Rx process: receive unicast and broadcast */ -- outl(0x04, rxcon); -+ set_rx_mode(); - outl(CR_START_RX | CR_QUEUE_RX, command); - - putchar('\n'); -@@ -252,34 +262,30 @@ - epic100_init_ring(void) - { - int i; -- char* p; - - cur_rx = cur_tx = 0; - -- p = &rx_packet[0]; - for (i = 0; i < RX_RING_SIZE; i++) { -- rx_ring[i].status = RRING_OWN; /* Owned by Epic chip */ -- rx_ring[i].buflength = PKT_BUF_SZ; -- rx_ring[i].bufaddr = virt_to_bus(p + (PKT_BUF_SZ * i)); -- rx_ring[i].control = 0; -- rx_ring[i].next = virt_to_bus(&(rx_ring[i + 1]) ); -+ rx_ring[i].status = cpu_to_le32(RRING_OWN); /* Owned by Epic chip */ -+ rx_ring[i].buflength = cpu_to_le32(PKT_BUF_SZ); -+ rx_ring[i].bufaddr = virt_to_bus(&rx_packet[i * PKT_BUF_SZ]); -+ rx_ring[i].next = virt_to_le32desc(&rx_ring[i + 1]) ; - } - /* Mark the last entry as wrapping the ring. */ -- rx_ring[i-1].next = virt_to_bus(&rx_ring[0]); -+ rx_ring[i-1].next = virt_to_le32desc(&rx_ring[0]); - - /* - *The Tx buffer descriptor is filled in as needed, - * but we do need to clear the ownership bit. - */ -- p = &tx_packet[0]; - - for (i = 0; i < TX_RING_SIZE; i++) { -- tx_ring[i].status = 0; /* Owned by CPU */ -- tx_ring[i].bufaddr = virt_to_bus(p + (PKT_BUF_SZ * i)); -- tx_ring[i].control = TD_STDFLAGS; -- tx_ring[i].next = virt_to_bus(&(tx_ring[i + 1]) ); -+ tx_ring[i].status = 0x0000; /* Owned by CPU */ -+ tx_ring[i].buflength = 0x0000 | cpu_to_le32(TD_STDFLAGS << 16); -+ tx_ring[i].bufaddr = virt_to_bus(&tx_packet[i * PKT_BUF_SZ]); -+ tx_ring[i].next = virt_to_le32desc(&tx_ring[i + 1]); - } -- tx_ring[i-1].next = virt_to_bus(&tx_ring[0]); -+ tx_ring[i-1].next = virt_to_le32desc(&tx_ring[0]); - } - - /* function: epic100_transmit -@@ -296,7 +302,7 @@ - unsigned int len, const char *data) - { - unsigned short nstype; -- char* txp; -+ unsigned char *txp; - int entry; - - /* Calculate the next Tx descriptor entry. */ -@@ -310,7 +316,7 @@ - return; - } - -- txp = (char*)tx_ring[entry].bufaddr; -+ txp = tx_packet + (entry * PKT_BUF_SZ); - - memcpy(txp, destaddr, ETH_ALEN); - memcpy(txp + ETH_ALEN, nic->node_addr, ETH_ALEN); -@@ -319,26 +325,29 @@ - memcpy(txp + ETH_HLEN, data, len); - - len += ETH_HLEN; -- -+ len &= 0x0FFF; -+ while(len < ETH_ZLEN) -+ txp[len++] = '\0'; - /* - * Caution: the write order is important here, - * set the base address with the "ownership" - * bits last. - */ -- tx_ring[entry].txlength = (len >= 60 ? len : 60); -- tx_ring[entry].buflength = len; -- tx_ring[entry].status = TRING_OWN; /* Pass ownership to the chip. */ -+ -+ tx_ring[entry].buflength |= cpu_to_le32(len); -+ tx_ring[entry].status = cpu_to_le32(len << 16) | -+ cpu_to_le32(TRING_OWN); /* Pass ownership to the chip. */ - - cur_tx++; - - /* Trigger an immediate transmit demand. */ -- outl(CR_QUEUE_TX, command); -- -+ outl(CR_QUEUE_TX, command); -+ - load_timer2(10*TICKS_PER_MS); /* timeout 10 ms for transmit */ -- while ((tx_ring[entry].status & TRING_OWN) && timer2_running()) -+ while ((le32_to_cpu(tx_ring[entry].status) & (TRING_OWN)) && timer2_running()) - /* Wait */; - -- if ((tx_ring[entry].status & TRING_OWN) != 0) -+ if ((le32_to_cpu(tx_ring[entry].status) & TRING_OWN) != 0) - printf("Oops, transmitter timeout, status=%hX\n", - tx_ring[entry].status); - } -@@ -356,17 +365,19 @@ - */ - - static int --epic100_poll(struct nic *nic) -+epic100_poll(struct nic *nic, int retrieve) - { - int entry; -- int status; - int retcode; -- -+ int status; - entry = cur_rx % RX_RING_SIZE; - -- if ((status = rx_ring[entry].status & RRING_OWN) == RRING_OWN) -+ if ((rx_ring[entry].status & cpu_to_le32(RRING_OWN)) == RRING_OWN) - return (0); - -+ if ( ! retrieve ) return 1; -+ -+ status = le32_to_cpu(rx_ring[entry].status); - /* We own the next entry, it's a new packet. Send it up. */ - - #if (EPIC_DEBUG > 4) -@@ -383,8 +394,8 @@ - retcode = 0; - } else { - /* Omit the four octet CRC from the length. */ -- nic->packetlen = rx_ring[entry].rxlength - 4; -- memcpy(nic->packet, (char*)rx_ring[entry].bufaddr, nic->packetlen); -+ nic->packetlen = le32_to_cpu((rx_ring[entry].buflength))- 4; -+ memcpy(nic->packet, &rx_packet[entry * PKT_BUF_SZ], nic->packetlen); - retcode = 1; - } - -@@ -395,17 +406,30 @@ - rx_ring[entry].status = RRING_OWN; - - /* Restart Receiver */ -- outl(CR_START_RX | CR_QUEUE_RX, command); -+ outl(CR_START_RX | CR_QUEUE_RX, command); - - return retcode; - } - - - static void --epic100_disable(struct nic *nic) -+epic100_disable(struct dev *dev __unused) - { -+ /* Soft reset the chip. */ -+ outl(GC_SOFT_RESET, genctl); - } - -+static void epic100_irq(struct nic *nic __unused, irq_action_t action __unused) -+{ -+ switch ( action ) { -+ case DISABLE : -+ break; -+ case ENABLE : -+ break; -+ case FORCE : -+ break; -+ } -+} - - #ifdef DEBUG_EEPROM - /* Serial EEPROM section. */ -@@ -479,3 +503,18 @@ - break; - return inw(mmdata); - } -+ -+ -+static struct pci_id epic100_nics[] = { -+PCI_ROM(0x10b8, 0x0005, "epic100", "SMC EtherPowerII"), /* SMC 83c170 EPIC/100 */ -+PCI_ROM(0x10b8, 0x0006, "smc-83c175", "SMC EPIC/C 83c175"), -+}; -+ -+struct pci_driver epic100_driver = { -+ .type = NIC_DRIVER, -+ .name = "EPIC100", -+ .probe = epic100_probe, -+ .ids = epic100_nics, -+ .id_count = sizeof(epic100_nics)/sizeof(epic100_nics[0]), -+ .class = 0, -+}; -Index: b/netboot/etherboot.h -=================================================================== ---- a/netboot/etherboot.h -+++ b/netboot/etherboot.h -@@ -1,6 +1,6 @@ - /* - * GRUB -- GRand Unified Bootloader -- * Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. -+ * Copyright (C) 1999,2000,2001,2002,2003,2004 Free Software Foundation, Inc. - * - * 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 -@@ -17,528 +17,40 @@ - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - --/* RULE: You must define the macro ``GRUB'' when including this header -- file in GRUB code. */ -+#ifndef ETHERBOOT_H -+#define ETHERBOOT_H - --/* Based on "src/etherboot.h" in etherboot-5.0.5. */ -- --/************************************************************************** --ETHERBOOT - BOOTP/TFTP Bootstrap Program -- --Author: Martin Renters -- Date: Dec/93 -- --**************************************************************************/ -- --/* Include GRUB-specific macros and prototypes here. */ --#include -- --/* FIXME: For now, enable the DHCP support. Perhaps I should segregate -- the DHCP support from the BOOTP support, and permit both to -- co-exist. */ --#undef NO_DHCP_SUPPORT -- --/* In GRUB, the relocated address in Etherboot doesn't have any sense. -- Just define it as a bogus value. */ --#define RELOC 0 -- --/* FIXME: Should be an option. */ --#define BACKOFF_LIMIT 7 -- --#include -- --#define CTRL_C 3 -- --#ifndef MAX_TFTP_RETRIES --# define MAX_TFTP_RETRIES 20 -+#include "shared.h" -+#include "osdep.h" -+#include "if_ether.h" -+#include "in.h" -+ -+/* Link configuration time in tenths of a second */ -+#ifndef VALID_LINK_TIMEOUT -+#define VALID_LINK_TIMEOUT 100 /* 10.0 seconds */ - #endif - --#ifndef MAX_BOOTP_RETRIES --# define MAX_BOOTP_RETRIES 20 --#endif -- --#define MAX_BOOTP_EXTLEN (ETH_FRAME_LEN - ETH_HLEN - \ -- sizeof (struct bootp_t)) -- --#ifndef MAX_ARP_RETRIES --# define MAX_ARP_RETRIES 20 --#endif -- --#ifndef MAX_RPC_RETRIES --# define MAX_RPC_RETRIES 20 --#endif -- --#define TICKS_PER_SEC 18 -- --/* Inter-packet retry in ticks */ --#define TIMEOUT (10 * TICKS_PER_SEC) -- --/* These settings have sense only if compiled with -DCONGESTED */ --/* total retransmission timeout in ticks */ --#define TFTP_TIMEOUT (30 * TICKS_PER_SEC) --/* packet retransmission timeout in ticks */ --#define TFTP_REXMT (3 * TICKS_PER_SEC) -- - #ifndef NULL - # define NULL ((void *) 0) - #endif - --/* -- I'm moving towards the defined names in linux/if_ether.h for clarity. -- The confusion between 60/64 and 1514/1518 arose because the NS8390 -- counts the 4 byte frame checksum in the incoming packet, but not -- in the outgoing packet. 60/1514 are the correct numbers for most -- if not all of the other NIC controllers. I will be retiring the -- 64/1518 defines in the lead-up to 5.0. --*/ -- --#define ETH_ALEN 6 /* Size of Ethernet address */ --#define ETH_HLEN 14 /* Size of ethernet header */ --#define ETH_ZLEN 60 /* Minimum packet */ --/*#define ETH_MIN_PACKET 64*/ --#define ETH_FRAME_LEN 1514 /* Maximum packet */ --/*#define ETH_MAX_PACKET 1518*/ --/* Because some DHCP/BOOTP servers don't treat the maximum length the same -- as Etherboot, subtract the size of an IP header and that of an UDP -- header. */ --#define ETH_MAX_MTU (ETH_FRAME_LEN - ETH_HLEN \ -- - sizeof (struct iphdr) \ -- - sizeof (struct udphdr)) -- --#define ARP_CLIENT 0 --#define ARP_SERVER 1 --#define ARP_GATEWAY 2 --#define ARP_ROOTSERVER 3 --#define ARP_SWAPSERVER 4 --#define MAX_ARP ARP_SWAPSERVER+1 -- --#define RARP_REQUEST 3 --#define RARP_REPLY 4 -- --#define IP 0x0800 --#define ARP 0x0806 --#define RARP 0x8035 -- --#define BOOTP_SERVER 67 --#define BOOTP_CLIENT 68 --#define TFTP_PORT 69 --#define SUNRPC_PORT 111 -- --#define IP_UDP 17 --/* Same after going through htonl */ --#define IP_BROADCAST 0xFFFFFFFF -- --#define ARP_REQUEST 1 --#define ARP_REPLY 2 -- --#define BOOTP_REQUEST 1 --#define BOOTP_REPLY 2 -- --#define TAG_LEN(p) (*((p) + 1)) --#define RFC1533_COOKIE 99, 130, 83, 99 --#define RFC1533_PAD 0 --#define RFC1533_NETMASK 1 --#define RFC1533_TIMEOFFSET 2 --#define RFC1533_GATEWAY 3 --#define RFC1533_TIMESERVER 4 --#define RFC1533_IEN116NS 5 --#define RFC1533_DNS 6 --#define RFC1533_LOGSERVER 7 --#define RFC1533_COOKIESERVER 8 --#define RFC1533_LPRSERVER 9 --#define RFC1533_IMPRESSSERVER 10 --#define RFC1533_RESOURCESERVER 11 --#define RFC1533_HOSTNAME 12 --#define RFC1533_BOOTFILESIZE 13 --#define RFC1533_MERITDUMPFILE 14 --#define RFC1533_DOMAINNAME 15 --#define RFC1533_SWAPSERVER 16 --#define RFC1533_ROOTPATH 17 --#define RFC1533_EXTENSIONPATH 18 --#define RFC1533_IPFORWARDING 19 --#define RFC1533_IPSOURCEROUTING 20 --#define RFC1533_IPPOLICYFILTER 21 --#define RFC1533_IPMAXREASSEMBLY 22 --#define RFC1533_IPTTL 23 --#define RFC1533_IPMTU 24 --#define RFC1533_IPMTUPLATEAU 25 --#define RFC1533_INTMTU 26 --#define RFC1533_INTLOCALSUBNETS 27 --#define RFC1533_INTBROADCAST 28 --#define RFC1533_INTICMPDISCOVER 29 --#define RFC1533_INTICMPRESPOND 30 --#define RFC1533_INTROUTEDISCOVER 31 --#define RFC1533_INTROUTESOLICIT 32 --#define RFC1533_INTSTATICROUTES 33 --#define RFC1533_LLTRAILERENCAP 34 --#define RFC1533_LLARPCACHETMO 35 --#define RFC1533_LLETHERNETENCAP 36 --#define RFC1533_TCPTTL 37 --#define RFC1533_TCPKEEPALIVETMO 38 --#define RFC1533_TCPKEEPALIVEGB 39 --#define RFC1533_NISDOMAIN 40 --#define RFC1533_NISSERVER 41 --#define RFC1533_NTPSERVER 42 --#define RFC1533_VENDOR 43 --#define RFC1533_NBNS 44 --#define RFC1533_NBDD 45 --#define RFC1533_NBNT 46 --#define RFC1533_NBSCOPE 47 --#define RFC1533_XFS 48 --#define RFC1533_XDM 49 --#ifndef NO_DHCP_SUPPORT --#define RFC2132_REQ_ADDR 50 --#define RFC2132_MSG_TYPE 53 --#define RFC2132_SRV_ID 54 --#define RFC2132_PARAM_LIST 55 --#define RFC2132_MAX_SIZE 57 --#define RFC2132_VENDOR_CLASS_ID 60 -- --#define DHCPDISCOVER 1 --#define DHCPOFFER 2 --#define DHCPREQUEST 3 --#define DHCPACK 5 --#endif /* NO_DHCP_SUPPORT */ -- --#define RFC1533_VENDOR_MAJOR 0 --#define RFC1533_VENDOR_MINOR 0 -- --#define RFC1533_VENDOR_MAGIC 128 --#define RFC1533_VENDOR_ADDPARM 129 --#define RFC1533_VENDOR_MNUOPTS 160 --#define RFC1533_VENDOR_SELECTION 176 --#define RFC1533_VENDOR_MOTD 184 --#define RFC1533_VENDOR_NUMOFMOTD 8 --#define RFC1533_VENDOR_IMG 192 --#define RFC1533_VENDOR_NUMOFIMG 16 -- --#define RFC1533_VENDOR_CONFIGFILE 150 -- --#define RFC1533_END 255 -- --#define BOOTP_VENDOR_LEN 64 --#ifndef NO_DHCP_SUPPORT --#define DHCP_OPT_LEN 312 --#endif /* NO_DHCP_SUPPORT */ -- --#define TFTP_DEFAULTSIZE_PACKET 512 --#define TFTP_MAX_PACKET 1432 /* 512 */ -- --#define TFTP_RRQ 1 --#define TFTP_WRQ 2 --#define TFTP_DATA 3 --#define TFTP_ACK 4 --#define TFTP_ERROR 5 --#define TFTP_OACK 6 -- --#define TFTP_CODE_EOF 1 --#define TFTP_CODE_MORE 2 --#define TFTP_CODE_ERROR 3 --#define TFTP_CODE_BOOT 4 --#define TFTP_CODE_CFG 5 -- --#define AWAIT_ARP 0 --#define AWAIT_BOOTP 1 --#define AWAIT_TFTP 2 --#define AWAIT_RARP 3 --#define AWAIT_RPC 4 --#define AWAIT_QDRAIN 5 /* drain queue, process ARP requests */ -- --typedef struct --{ -- unsigned long s_addr; --} --in_addr; -- --struct arptable_t --{ -- in_addr ipaddr; -- unsigned char node[6]; --}; -- --/* -- * A pity sipaddr and tipaddr are not longword aligned or we could use -- * in_addr. No, I don't want to use #pragma packed. -- */ --struct arprequest --{ -- unsigned short hwtype; -- unsigned short protocol; -- char hwlen; -- char protolen; -- unsigned short opcode; -- char shwaddr[6]; -- char sipaddr[4]; -- char thwaddr[6]; -- char tipaddr[4]; --}; -- --struct iphdr --{ -- char verhdrlen; -- char service; -- unsigned short len; -- unsigned short ident; -- unsigned short frags; -- char ttl; -- char protocol; -- unsigned short chksum; -- in_addr src; -- in_addr dest; --}; -- --struct udphdr --{ -- unsigned short src; -- unsigned short dest; -- unsigned short len; -- unsigned short chksum; --}; -- --/* Format of a bootp packet. */ --struct bootp_t --{ -- char bp_op; -- char bp_htype; -- char bp_hlen; -- char bp_hops; -- unsigned long bp_xid; -- unsigned short bp_secs; -- unsigned short unused; -- in_addr bp_ciaddr; -- in_addr bp_yiaddr; -- in_addr bp_siaddr; -- in_addr bp_giaddr; -- char bp_hwaddr[16]; -- char bp_sname[64]; -- char bp_file[128]; --#ifdef NO_DHCP_SUPPORT -- char bp_vend[BOOTP_VENDOR_LEN]; --#else -- char bp_vend[DHCP_OPT_LEN]; --#endif /* NO_DHCP_SUPPORT */ --}; -- --/* Format of a bootp IP packet. */ --struct bootpip_t --{ -- struct iphdr ip; -- struct udphdr udp; -- struct bootp_t bp; --}; -- --/* Format of bootp packet with extensions. */ --struct bootpd_t --{ -- struct bootp_t bootp_reply; -- unsigned char bootp_extension[MAX_BOOTP_EXTLEN]; --}; -- --struct tftp_t --{ -- struct iphdr ip; -- struct udphdr udp; -- unsigned short opcode; -- union -- { -- char rrq[TFTP_DEFAULTSIZE_PACKET]; -- -- struct -- { -- unsigned short block; -- char download[TFTP_MAX_PACKET]; -- } -- data; -- -- struct -- { -- unsigned short block; -- } -- ack; -- -- struct -- { -- unsigned short errcode; -- char errmsg[TFTP_DEFAULTSIZE_PACKET]; -- } -- err; -- -- struct -- { -- char data[TFTP_DEFAULTSIZE_PACKET+2]; -- } -- oack; -- } -- u; --}; -- --/* Define a smaller tftp packet solely for making requests to conserve stack -- 512 bytes should be enough. */ --struct tftpreq_t --{ -- struct iphdr ip; -- struct udphdr udp; -- unsigned short opcode; -- union -- { -- char rrq[512]; -- -- struct -- { -- unsigned short block; -- } -- ack; -- -- struct -- { -- unsigned short errcode; -- char errmsg[512-2]; -- } -- err; -- } -- u; --}; -- --#define TFTP_MIN_PACKET (sizeof(struct iphdr) + sizeof(struct udphdr) + 4) -- --struct rpc_t --{ -- struct iphdr ip; -- struct udphdr udp; -- union -- { -- char data[300]; /* longest RPC call must fit!!!! */ -- -- struct -- { -- long id; -- long type; -- long rpcvers; -- long prog; -- long vers; -- long proc; -- long data[1]; -- } -- call; -- -- struct -- { -- long id; -- long type; -- long rstatus; -- long verifier; -- long v2; -- long astatus; -- long data[1]; -- } -- reply; -- } -- u; --}; -- --#define PROG_PORTMAP 100000 --#define PROG_NFS 100003 --#define PROG_MOUNT 100005 -- --#define MSG_CALL 0 --#define MSG_REPLY 1 -- --#define PORTMAP_GETPORT 3 -- --#define MOUNT_ADDENTRY 1 --#define MOUNT_UMOUNTALL 4 -- --#define NFS_LOOKUP 4 --#define NFS_READ 6 -- --#define NFS_FHSIZE 32 -- --#define NFSERR_PERM 1 --#define NFSERR_NOENT 2 --#define NFSERR_ACCES 13 -- --/* Block size used for NFS read accesses. A RPC reply packet (including all -- * headers) must fit within a single Ethernet frame to avoid fragmentation. -- * Chosen to be a power of two, as most NFS servers are optimized for this. */ --#define NFS_READ_SIZE 1024 -- --#define FLOPPY_BOOT_LOCATION 0x7c00 --/* Must match offsets in loader.S */ --#define ROM_SEGMENT 0x1fa --#define ROM_LENGTH 0x1fc -- --#define ROM_INFO_LOCATION (FLOPPY_BOOT_LOCATION + ROM_SEGMENT) --/* at end of floppy boot block */ -- --struct rom_info --{ -- unsigned short rom_segment; -- unsigned short rom_length; --}; -- --static inline int --rom_address_ok (struct rom_info *rom, int assigned_rom_segment) --{ -- return (assigned_rom_segment < 0xC000 -- || assigned_rom_segment == rom->rom_segment); --} -- --/* Define a type for passing info to a loaded program. */ --struct ebinfo --{ -- unsigned char major, minor; /* Version */ -- unsigned short flags; /* Bit flags */ --}; -- --/*************************************************************************** --External prototypes --***************************************************************************/ --/* main.c */ --extern void print_network_configuration (void); --extern int ifconfig (char *ip, char *sm, char *gw, char *svr); --extern int udp_transmit (unsigned long destip, unsigned int srcsock, -- unsigned int destsock, int len, const void *buf); --extern int await_reply (int type, int ival, void *ptr, int timeout); --extern int decode_rfc1533 (unsigned char *, int, int, int); --extern long rfc2131_sleep_interval (int base, int exp); --extern void cleanup (void); --extern int rarp (void); --extern int bootp (void); --extern void cleanup_net (void); -- --/* config.c */ --extern void print_config (void); --extern void eth_reset (void); --extern int eth_probe (void); --extern int eth_poll (void); --extern void eth_transmit (const char *d, unsigned int t, -- unsigned int s, const void *p); --extern void eth_disable (void); -- --/* misc.c */ --extern void twiddle (void); --extern void sleep (int secs); --extern int getdec (char **s); --extern void etherboot_printf (const char *, ...); --extern int etherboot_sprintf (char *, const char *, ...); --extern int inet_aton (char *p, in_addr *i); -- --/*************************************************************************** --External variables --***************************************************************************/ --/* main.c */ --extern int ip_abort; --extern int network_ready; --extern struct rom_info rom; --extern struct arptable_t arptable[MAX_ARP]; -- --/* config.c */ --extern struct nic nic; -+#define gateA20_set() gateA20(1) -+#define gateA20_unset() gateA20(0) -+#define EBDEBUG 0 -+/* The 'rom_info' maybe arch depended. It must be moved to some other -+ * place */ -+struct rom_info { -+ unsigned short rom_segment; -+ unsigned short rom_length; -+}; -+ -+extern void poll_interruptions P((void)); -+ -+/* For UNDI drivers */ -+extern void fake_irq ( uint8_t irq ); -+extern void _trivial_irq_handler_start; -+extern uint32_t get_free_base_memory ( void ); -+extern void forget_base_memory ( void*, size_t ); -+extern void free_unused_base_memory ( void ); - --/* Local hack - define some macros to use etherboot source files "as is". */ --#ifndef GRUB --# undef printf --# define printf etherboot_printf --# undef sprintf --# define sprintf etherboot_sprintf --#endif /* GRUB */ -+#endif /* ETHERBOOT_H */ -Index: b/netboot/fa311.c -=================================================================== ---- a/netboot/fa311.c -+++ /dev/null -@@ -1,421 +0,0 @@ --/* -- Driver for the National Semiconductor DP83810 Ethernet controller. -- -- Portions Copyright (C) 2001 Inprimis Technologies, Inc. -- http://www.inprimis.com/ -- -- This driver is based (heavily) on the Linux driver for this chip -- which is copyright 1999-2001 by Donald Becker. -- -- This software has no warranties expressed or implied for any -- purpose. -- -- This software may be used and distributed according to the terms of -- the GNU General Public License (GPL), incorporated herein by reference. -- Drivers based on or derived from this code fall under the GPL and must -- retain the authorship, copyright and license notice. This file is not -- a complete program and may only be used when the entire operating -- system is licensed under the GPL. License for under other terms may be -- available. Contact the original author for details. -- -- The original author may be reached as becker@scyld.com, or at -- Scyld Computing Corporation -- 410 Severn Ave., Suite 210 -- Annapolis MD 21403 --*/ -- -- --typedef unsigned char u8; --typedef signed char s8; --typedef unsigned short u16; --typedef signed short s16; --typedef unsigned int u32; --typedef signed int s32; -- --#include "etherboot.h" --#include "nic.h" --#include "pci.h" -- --#undef virt_to_bus --#define virt_to_bus(x) ((unsigned long)x) --#define cpu_to_le32(val) (val) --#define le32_to_cpu(val) (val) --#define virt_to_le32desc(addr) cpu_to_le32(virt_to_bus(addr)) --#define le32desc_to_virt(addr) bus_to_virt(le32_to_cpu(addr)) -- --#define TX_RING_SIZE 1 --#define RX_RING_SIZE 4 --#define TIME_OUT 1000000 --#define PKT_BUF_SZ 1536 -- --/* Offsets to the device registers. */ --enum register_offsets { -- ChipCmd=0x00, ChipConfig=0x04, EECtrl=0x08, PCIBusCfg=0x0C, -- IntrStatus=0x10, IntrMask=0x14, IntrEnable=0x18, -- TxRingPtr=0x20, TxConfig=0x24, -- RxRingPtr=0x30, RxConfig=0x34, -- WOLCmd=0x40, PauseCmd=0x44, RxFilterAddr=0x48, RxFilterData=0x4C, -- BootRomAddr=0x50, BootRomData=0x54, StatsCtrl=0x5C, StatsData=0x60, -- RxPktErrs=0x60, RxMissed=0x68, RxCRCErrs=0x64, --}; -- --/* Bit in ChipCmd. */ --enum ChipCmdBits { -- ChipReset=0x100, RxReset=0x20, TxReset=0x10, RxOff=0x08, RxOn=0x04, -- TxOff=0x02, TxOn=0x01, --}; -- --/* Bits in the interrupt status/mask registers. */ --enum intr_status_bits { -- IntrRxDone=0x0001, IntrRxIntr=0x0002, IntrRxErr=0x0004, IntrRxEarly=0x0008, -- IntrRxIdle=0x0010, IntrRxOverrun=0x0020, -- IntrTxDone=0x0040, IntrTxIntr=0x0080, IntrTxErr=0x0100, -- IntrTxIdle=0x0200, IntrTxUnderrun=0x0400, -- StatsMax=0x0800, LinkChange=0x4000, WOLPkt=0x2000, -- RxResetDone=0x1000000, TxResetDone=0x2000000, -- IntrPCIErr=0x00f00000, IntrNormalSummary=0x0251, IntrAbnormalSummary=0xED20, --}; -- --/* Bits in the RxMode register. */ --enum rx_mode_bits { -- AcceptErr=0x20, AcceptRunt=0x10, AcceptBroadcast=0xC0000000, -- AcceptMulticast=0x00200000, AcceptAllMulticast=0x20000000, -- AcceptAllPhys=0x10000000, AcceptMyPhys=0x08000000, --}; -- --/* Bits in network_desc.status */ --enum desc_status_bits { -- DescOwn=0x80000000, DescMore=0x40000000, DescIntr=0x20000000, -- DescNoCRC=0x10000000, -- DescPktOK=0x08000000, RxTooLong=0x00400000, --}; -- --/* The Rx and Tx buffer descriptors. */ --struct netdev_desc { -- u32 next_desc; -- s32 cmd_status; -- u32 addr; --}; -- --static struct FA311_DEV { -- unsigned int ioaddr; -- unsigned short vendor; -- unsigned short device; -- unsigned int cur_rx; -- unsigned int cur_tx; -- unsigned int rx_buf_sz; -- volatile struct netdev_desc *rx_head_desc; -- volatile struct netdev_desc rx_ring[RX_RING_SIZE] __attribute__ ((aligned (4))); -- volatile struct netdev_desc tx_ring[TX_RING_SIZE] __attribute__ ((aligned (4))); --} fa311_dev; -- --static int eeprom_read(long ioaddr, int location); --static void init_ring(struct FA311_DEV *dev); --static void fa311_reset(struct nic *nic); --static int fa311_poll(struct nic *nic); --static void fa311_transmit(struct nic *nic, const char *d, unsigned int t, unsigned int s, const char *p); --static void fa311_disable(struct nic *nic); -- --static char rx_packet[PKT_BUF_SZ * RX_RING_SIZE] __attribute__ ((aligned (4))); --static char tx_packet[PKT_BUF_SZ * TX_RING_SIZE] __attribute__ ((aligned (4))); -- --struct nic * fa311_probe(struct nic *nic, unsigned short *io_addrs, struct pci_device *pci) --{ --int prev_eedata; --int i; --int duplex; --int tx_config; --int rx_config; --unsigned char macaddr[6]; --unsigned char mactest; --unsigned char pci_bus = 0; --struct FA311_DEV* dev = &fa311_dev; -- -- if (io_addrs == 0 || *io_addrs == 0) -- return (0); -- memset(dev, 0, sizeof(*dev)); -- dev->vendor = pci->vendor; -- dev->device = pci->dev_id; -- dev->ioaddr = pci->membase; -- -- /* Work around the dropped serial bit. */ -- prev_eedata = eeprom_read(dev->ioaddr, 6); -- for (i = 0; i < 3; i++) { -- int eedata = eeprom_read(dev->ioaddr, i + 7); -- macaddr[i*2] = (eedata << 1) + (prev_eedata >> 15); -- macaddr[i*2+1] = eedata >> 7; -- prev_eedata = eedata; -- } -- mactest = 0; -- for (i = 0; i < 6; i++) -- mactest |= macaddr[i]; -- if (mactest == 0) -- return (0); -- for (i = 0; i < 6; i++) -- nic->node_addr[i] = macaddr[i]; -- printf("%! ", nic->node_addr); -- -- adjust_pci_device(pci); -- -- fa311_reset(nic); -- -- nic->reset = fa311_reset; -- nic->disable = fa311_disable; -- nic->poll = fa311_poll; -- nic->transmit = fa311_transmit; -- -- init_ring(dev); -- -- writel(virt_to_bus(dev->rx_ring), dev->ioaddr + RxRingPtr); -- writel(virt_to_bus(dev->tx_ring), dev->ioaddr + TxRingPtr); -- -- for (i = 0; i < 6; i += 2) -- { -- writel(i, dev->ioaddr + RxFilterAddr); -- writew(macaddr[i] + (macaddr[i+1] << 8), -- dev->ioaddr + RxFilterData); -- } -- -- /* Initialize other registers. */ -- /* Configure for standard, in-spec Ethernet. */ -- if (readl(dev->ioaddr + ChipConfig) & 0x20000000) -- { /* Full duplex */ -- tx_config = 0xD0801002; -- rx_config = 0x10000020; -- } -- else -- { -- tx_config = 0x10801002; -- rx_config = 0x0020; -- } -- writel(tx_config, dev->ioaddr + TxConfig); -- writel(rx_config, dev->ioaddr + RxConfig); -- -- duplex = readl(dev->ioaddr + ChipConfig) & 0x20000000 ? 1 : 0; -- if (duplex) { -- rx_config |= 0x10000000; -- tx_config |= 0xC0000000; -- } else { -- rx_config &= ~0x10000000; -- tx_config &= ~0xC0000000; -- } -- writew(tx_config, dev->ioaddr + TxConfig); -- writew(rx_config, dev->ioaddr + RxConfig); -- -- writel(AcceptBroadcast | AcceptAllMulticast | AcceptMyPhys, -- dev->ioaddr + RxFilterAddr); -- -- writel(RxOn | TxOn, dev->ioaddr + ChipCmd); -- writel(4, dev->ioaddr + StatsCtrl); /* Clear Stats */ -- return nic; -- --} -- --static void fa311_reset(struct nic *nic) --{ --u32 chip_config; --struct FA311_DEV* dev = &fa311_dev; -- -- /* Reset the chip to erase previous misconfiguration. */ -- outl(ChipReset, dev->ioaddr + ChipCmd); -- -- if ((readl(dev->ioaddr + ChipConfig) & 0xe000) != 0xe000) -- { -- chip_config = readl(dev->ioaddr + ChipConfig); -- } --} -- --static int fa311_poll(struct nic *nic) --{ --s32 desc_status; --int to; --int entry; --int retcode; --struct FA311_DEV* dev = &fa311_dev; -- -- retcode = 0; -- entry = dev->cur_rx; -- to = TIME_OUT; -- while (to != 0) -- { -- desc_status = dev->rx_ring[entry].cmd_status; -- if ((desc_status & DescOwn) != 0) -- break; -- else -- --to; -- } -- if (to != 0) -- { -- readl(dev->ioaddr + IntrStatus); /* clear interrrupt bits */ -- /* driver owns the next entry it's a new packet. Send it up. */ -- if ((desc_status & (DescMore|DescPktOK|RxTooLong)) == DescPktOK) -- { -- nic->packetlen = (desc_status & 0x0fff) - 4; /* Omit CRC size. */ -- memcpy(nic->packet, (char*)(dev->rx_ring[entry].addr), nic->packetlen); -- retcode = 1; -- } -- /* Give the descriptor back to the chip */ -- dev->rx_ring[entry].cmd_status = cpu_to_le32(dev->rx_buf_sz); -- dev->cur_rx++; -- if (dev->cur_rx >= RX_RING_SIZE) -- dev->cur_rx = 0; -- dev->rx_head_desc = &dev->rx_ring[dev->cur_rx]; -- } -- /* Restart Rx engine if stopped. */ -- writel(RxOn, dev->ioaddr + ChipCmd); -- return retcode; --} -- --static void fa311_transmit(struct nic *nic, const char *destaddr, unsigned int type, unsigned int len, const char *data) --{ --unsigned short nstype; --s32 desc_status; --int to; --int entry; --char* txp; --unsigned char* s; --struct FA311_DEV* dev = &fa311_dev; -- -- /* Calculate the next Tx descriptor entry. */ -- entry = dev->cur_tx; -- txp = (char*)(dev->tx_ring[entry].addr); -- -- memcpy(txp, destaddr, ETH_ALEN); -- memcpy(txp + ETH_ALEN, nic->node_addr, ETH_ALEN); -- nstype = htons(type); -- memcpy(txp + 12, (char*)&nstype, 2); -- memcpy(txp + ETH_HLEN, data, len); -- len += ETH_HLEN; -- /* pad frame */ -- if (len < ETH_ZLEN) -- { -- s = (unsigned char*)(txp+len); -- while (s < (unsigned char*)(txp+ETH_ZLEN)) -- *s++ = 0; -- len = ETH_ZLEN; -- } -- dev->tx_ring[entry].cmd_status = cpu_to_le32(DescOwn | len); -- dev->cur_tx++; -- if (dev->cur_tx >= TX_RING_SIZE) -- dev->cur_tx = 0; -- -- /* Wake the potentially-idle transmit channel. */ -- writel(TxOn, dev->ioaddr + ChipCmd); -- -- /* wait for tranmission to complete */ -- to = TIME_OUT; -- while (to != 0) -- { -- desc_status = dev->tx_ring[entry].cmd_status; -- if ((desc_status & DescOwn) == 0) -- break; -- else -- --to; -- } -- -- readl(dev->ioaddr + IntrStatus); /* clear interrrupt bits */ -- return; --} -- --static void fa311_disable(struct nic *nic) --{ --struct FA311_DEV* dev = &fa311_dev; -- -- /* Stop the chip's Tx and Rx processes. */ -- writel(RxOff | TxOff, dev->ioaddr + ChipCmd); --} -- -- --/* Read the EEPROM and MII Management Data I/O (MDIO) interfaces. -- The EEPROM code is for the common 93c06/46 EEPROMs with 6 bit addresses. */ -- --/* Delay between EEPROM clock transitions. -- No extra delay is needed with 33Mhz PCI, but future 66Mhz access may need -- a delay. Note that pre-2.0.34 kernels had a cache-alignment bug that -- made udelay() unreliable. -- The old method of using an ISA access as a delay, __SLOW_DOWN_IO__, is -- depricated. --*/ --#define eeprom_delay(ee_addr) inl(ee_addr) -- --enum EEPROM_Ctrl_Bits { -- EE_ShiftClk=0x04, EE_DataIn=0x01, EE_ChipSelect=0x08, EE_DataOut=0x02, --}; --#define EE_Write0 (EE_ChipSelect) --#define EE_Write1 (EE_ChipSelect | EE_DataIn) -- --/* The EEPROM commands include the alway-set leading bit. */ --enum EEPROM_Cmds { -- EE_WriteCmd=(5 << 6), EE_ReadCmd=(6 << 6), EE_EraseCmd=(7 << 6), --}; -- -- --static int eeprom_read(long addr, int location) --{ -- int i; -- int retval = 0; -- int ee_addr = addr + EECtrl; -- int read_cmd = location | EE_ReadCmd; -- writel(EE_Write0, ee_addr); -- -- /* Shift the read command bits out. */ -- for (i = 10; i >= 0; i--) { -- short dataval = (read_cmd & (1 << i)) ? EE_Write1 : EE_Write0; -- writel(dataval, ee_addr); -- eeprom_delay(ee_addr); -- writel(dataval | EE_ShiftClk, ee_addr); -- eeprom_delay(ee_addr); -- } -- writel(EE_ChipSelect, ee_addr); -- eeprom_delay(ee_addr); -- -- for (i = 0; i < 16; i++) { -- writel(EE_ChipSelect | EE_ShiftClk, ee_addr); -- eeprom_delay(ee_addr); -- retval |= (readl(ee_addr) & EE_DataOut) ? 1 << i : 0; -- writel(EE_ChipSelect, ee_addr); -- eeprom_delay(ee_addr); -- } -- -- /* Terminate the EEPROM access. */ -- writel(EE_Write0, ee_addr); -- writel(0, ee_addr); -- return retval; --} -- --/* Initialize the Rx and Tx rings, along with various 'dev' bits. */ --static void init_ring(struct FA311_DEV *dev) --{ -- int i; -- -- dev->cur_rx = 0; -- dev->cur_tx = 0; -- -- dev->rx_buf_sz = PKT_BUF_SZ; -- dev->rx_head_desc = &dev->rx_ring[0]; -- -- /* Initialize all Rx descriptors. */ -- for (i = 0; i < RX_RING_SIZE; i++) { -- dev->rx_ring[i].next_desc = virt_to_le32desc(&dev->rx_ring[i+1]); -- dev->rx_ring[i].cmd_status = DescOwn; -- } -- /* Mark the last entry as wrapping the ring. */ -- dev->rx_ring[i-1].next_desc = virt_to_le32desc(&dev->rx_ring[0]); -- -- /* Fill in the Rx buffers. Handle allocation failure gracefully. */ -- for (i = 0; i < RX_RING_SIZE; i++) { -- dev->rx_ring[i].addr = (u32)(&rx_packet[PKT_BUF_SZ * i]); -- dev->rx_ring[i].cmd_status = cpu_to_le32(dev->rx_buf_sz); -- } -- -- for (i = 0; i < TX_RING_SIZE; i++) { -- dev->tx_ring[i].next_desc = virt_to_le32desc(&dev->tx_ring[i+1]); -- dev->tx_ring[i].cmd_status = 0; -- } -- dev->tx_ring[i-1].next_desc = virt_to_le32desc(&dev->tx_ring[0]); -- -- for (i = 0; i < TX_RING_SIZE; i++) -- dev->tx_ring[i].addr = (u32)(&tx_packet[PKT_BUF_SZ * i]); -- return; --} -- -Index: b/netboot/forcedeth.c -=================================================================== ---- /dev/null -+++ b/netboot/forcedeth.c -@@ -0,0 +1,1039 @@ -+/************************************************************************** -+* forcedeth.c -- Etherboot device driver for the NVIDIA nForce -+* media access controllers. -+* -+* Note: This driver is based on the Linux driver that was based on -+* a cleanroom reimplementation which was based on reverse -+* engineered documentation written by Carl-Daniel Hailfinger -+* and Andrew de Quincey. It's neither supported nor endorsed -+* by NVIDIA Corp. Use at your own risk. -+* -+* Written 2004 by Timothy Legge -+* -+* 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., 675 Mass Ave, Cambridge, MA 02139, USA. -+* -+* Portions of this code based on: -+* forcedeth: Ethernet driver for NVIDIA nForce media access controllers: -+* -+* (C) 2003 Manfred Spraul -+* See Linux Driver for full information -+* -+* Linux Driver Version 0.22, 19 Jan 2004 -+* -+* -+* REVISION HISTORY: -+* ================ -+* v1.0 01-31-2004 timlegge Initial port of Linux driver -+* v1.1 02-03-2004 timlegge Large Clean up, first release -+* -+* Indent Options: indent -kr -i8 -+***************************************************************************/ -+ -+/* to get some global routines like printf */ -+#include "etherboot.h" -+/* to get the interface to the body of the program */ -+#include "nic.h" -+/* to get the PCI support functions, if this is a PCI NIC */ -+#include "pci.h" -+/* Include timer support functions */ -+#include "timer.h" -+ -+#define drv_version "v1.1" -+#define drv_date "02-03-2004" -+ -+//#define TFTM_DEBUG -+#ifdef TFTM_DEBUG -+#define dprintf(x) printf x -+#else -+#define dprintf(x) -+#endif -+ -+typedef unsigned char u8; -+typedef signed char s8; -+typedef unsigned short u16; -+typedef signed short s16; -+typedef unsigned int u32; -+typedef signed int s32; -+ -+/* Condensed operations for readability. */ -+#define virt_to_le32desc(addr) cpu_to_le32(virt_to_bus(addr)) -+#define le32desc_to_virt(addr) bus_to_virt(le32_to_cpu(addr)) -+ -+unsigned long BASE; -+/* NIC specific static variables go here */ -+ -+ -+/* -+ * Hardware access: -+ */ -+ -+#define DEV_NEED_LASTPACKET1 0x0001 -+#define DEV_IRQMASK_1 0x0002 -+#define DEV_IRQMASK_2 0x0004 -+#define DEV_NEED_TIMERIRQ 0x0008 -+ -+enum { -+ NvRegIrqStatus = 0x000, -+#define NVREG_IRQSTAT_MIIEVENT 0040 -+#define NVREG_IRQSTAT_MASK 0x1ff -+ NvRegIrqMask = 0x004, -+#define NVREG_IRQ_RX 0x0002 -+#define NVREG_IRQ_RX_NOBUF 0x0004 -+#define NVREG_IRQ_TX_ERR 0x0008 -+#define NVREG_IRQ_TX2 0x0010 -+#define NVREG_IRQ_TIMER 0x0020 -+#define NVREG_IRQ_LINK 0x0040 -+#define NVREG_IRQ_TX1 0x0100 -+#define NVREG_IRQMASK_WANTED_1 0x005f -+#define NVREG_IRQMASK_WANTED_2 0x0147 -+#define NVREG_IRQ_UNKNOWN (~(NVREG_IRQ_RX|NVREG_IRQ_RX_NOBUF|NVREG_IRQ_TX_ERR|NVREG_IRQ_TX2|NVREG_IRQ_TIMER|NVREG_IRQ_LINK|NVREG_IRQ_TX1)) -+ -+ NvRegUnknownSetupReg6 = 0x008, -+#define NVREG_UNKSETUP6_VAL 3 -+ -+/* -+ * NVREG_POLL_DEFAULT is the interval length of the timer source on the nic -+ * NVREG_POLL_DEFAULT=97 would result in an interval length of 1 ms -+ */ -+ NvRegPollingInterval = 0x00c, -+#define NVREG_POLL_DEFAULT 970 -+ NvRegMisc1 = 0x080, -+#define NVREG_MISC1_HD 0x02 -+#define NVREG_MISC1_FORCE 0x3b0f3c -+ -+ NvRegTransmitterControl = 0x084, -+#define NVREG_XMITCTL_START 0x01 -+ NvRegTransmitterStatus = 0x088, -+#define NVREG_XMITSTAT_BUSY 0x01 -+ -+ NvRegPacketFilterFlags = 0x8c, -+#define NVREG_PFF_ALWAYS 0x7F0008 -+#define NVREG_PFF_PROMISC 0x80 -+#define NVREG_PFF_MYADDR 0x20 -+ -+ NvRegOffloadConfig = 0x90, -+#define NVREG_OFFLOAD_HOMEPHY 0x601 -+#define NVREG_OFFLOAD_NORMAL 0x5ee -+ NvRegReceiverControl = 0x094, -+#define NVREG_RCVCTL_START 0x01 -+ NvRegReceiverStatus = 0x98, -+#define NVREG_RCVSTAT_BUSY 0x01 -+ -+ NvRegRandomSeed = 0x9c, -+#define NVREG_RNDSEED_MASK 0x00ff -+#define NVREG_RNDSEED_FORCE 0x7f00 -+ -+ NvRegUnknownSetupReg1 = 0xA0, -+#define NVREG_UNKSETUP1_VAL 0x16070f -+ NvRegUnknownSetupReg2 = 0xA4, -+#define NVREG_UNKSETUP2_VAL 0x16 -+ NvRegMacAddrA = 0xA8, -+ NvRegMacAddrB = 0xAC, -+ NvRegMulticastAddrA = 0xB0, -+#define NVREG_MCASTADDRA_FORCE 0x01 -+ NvRegMulticastAddrB = 0xB4, -+ NvRegMulticastMaskA = 0xB8, -+ NvRegMulticastMaskB = 0xBC, -+ -+ NvRegTxRingPhysAddr = 0x100, -+ NvRegRxRingPhysAddr = 0x104, -+ NvRegRingSizes = 0x108, -+#define NVREG_RINGSZ_TXSHIFT 0 -+#define NVREG_RINGSZ_RXSHIFT 16 -+ NvRegUnknownTransmitterReg = 0x10c, -+ NvRegLinkSpeed = 0x110, -+#define NVREG_LINKSPEED_FORCE 0x10000 -+#define NVREG_LINKSPEED_10 10 -+#define NVREG_LINKSPEED_100 100 -+#define NVREG_LINKSPEED_1000 1000 -+ NvRegUnknownSetupReg5 = 0x130, -+#define NVREG_UNKSETUP5_BIT31 (1<<31) -+ NvRegUnknownSetupReg3 = 0x134, -+#define NVREG_UNKSETUP3_VAL1 0x200010 -+ NvRegTxRxControl = 0x144, -+#define NVREG_TXRXCTL_KICK 0x0001 -+#define NVREG_TXRXCTL_BIT1 0x0002 -+#define NVREG_TXRXCTL_BIT2 0x0004 -+#define NVREG_TXRXCTL_IDLE 0x0008 -+#define NVREG_TXRXCTL_RESET 0x0010 -+ NvRegMIIStatus = 0x180, -+#define NVREG_MIISTAT_ERROR 0x0001 -+#define NVREG_MIISTAT_LINKCHANGE 0x0008 -+#define NVREG_MIISTAT_MASK 0x000f -+#define NVREG_MIISTAT_MASK2 0x000f -+ NvRegUnknownSetupReg4 = 0x184, -+#define NVREG_UNKSETUP4_VAL 8 -+ -+ NvRegAdapterControl = 0x188, -+#define NVREG_ADAPTCTL_START 0x02 -+#define NVREG_ADAPTCTL_LINKUP 0x04 -+#define NVREG_ADAPTCTL_PHYVALID 0x4000 -+#define NVREG_ADAPTCTL_RUNNING 0x100000 -+#define NVREG_ADAPTCTL_PHYSHIFT 24 -+ NvRegMIISpeed = 0x18c, -+#define NVREG_MIISPEED_BIT8 (1<<8) -+#define NVREG_MIIDELAY 5 -+ NvRegMIIControl = 0x190, -+#define NVREG_MIICTL_INUSE 0x10000 -+#define NVREG_MIICTL_WRITE 0x08000 -+#define NVREG_MIICTL_ADDRSHIFT 5 -+ NvRegMIIData = 0x194, -+ NvRegWakeUpFlags = 0x200, -+#define NVREG_WAKEUPFLAGS_VAL 0x7770 -+#define NVREG_WAKEUPFLAGS_BUSYSHIFT 24 -+#define NVREG_WAKEUPFLAGS_ENABLESHIFT 16 -+#define NVREG_WAKEUPFLAGS_D3SHIFT 12 -+#define NVREG_WAKEUPFLAGS_D2SHIFT 8 -+#define NVREG_WAKEUPFLAGS_D1SHIFT 4 -+#define NVREG_WAKEUPFLAGS_D0SHIFT 0 -+#define NVREG_WAKEUPFLAGS_ACCEPT_MAGPAT 0x01 -+#define NVREG_WAKEUPFLAGS_ACCEPT_WAKEUPPAT 0x02 -+#define NVREG_WAKEUPFLAGS_ACCEPT_LINKCHANGE 0x04 -+ -+ NvRegPatternCRC = 0x204, -+ NvRegPatternMask = 0x208, -+ NvRegPowerCap = 0x268, -+#define NVREG_POWERCAP_D3SUPP (1<<30) -+#define NVREG_POWERCAP_D2SUPP (1<<26) -+#define NVREG_POWERCAP_D1SUPP (1<<25) -+ NvRegPowerState = 0x26c, -+#define NVREG_POWERSTATE_POWEREDUP 0x8000 -+#define NVREG_POWERSTATE_VALID 0x0100 -+#define NVREG_POWERSTATE_MASK 0x0003 -+#define NVREG_POWERSTATE_D0 0x0000 -+#define NVREG_POWERSTATE_D1 0x0001 -+#define NVREG_POWERSTATE_D2 0x0002 -+#define NVREG_POWERSTATE_D3 0x0003 -+}; -+ -+ -+ -+#define NV_TX_LASTPACKET (1<<0) -+#define NV_TX_RETRYERROR (1<<3) -+#define NV_TX_LASTPACKET1 (1<<8) -+#define NV_TX_DEFERRED (1<<10) -+#define NV_TX_CARRIERLOST (1<<11) -+#define NV_TX_LATECOLLISION (1<<12) -+#define NV_TX_UNDERFLOW (1<<13) -+#define NV_TX_ERROR (1<<14) -+#define NV_TX_VALID (1<<15) -+ -+#define NV_RX_DESCRIPTORVALID (1<<0) -+#define NV_RX_MISSEDFRAME (1<<1) -+#define NV_RX_SUBSTRACT1 (1<<3) -+#define NV_RX_ERROR1 (1<<7) -+#define NV_RX_ERROR2 (1<<8) -+#define NV_RX_ERROR3 (1<<9) -+#define NV_RX_ERROR4 (1<<10) -+#define NV_RX_CRCERR (1<<11) -+#define NV_RX_OVERFLOW (1<<12) -+#define NV_RX_FRAMINGERR (1<<13) -+#define NV_RX_ERROR (1<<14) -+#define NV_RX_AVAIL (1<<15) -+ -+/* Miscelaneous hardware related defines: */ -+#define NV_PCI_REGSZ 0x270 -+ -+/* various timeout delays: all in usec */ -+#define NV_TXRX_RESET_DELAY 4 -+#define NV_TXSTOP_DELAY1 10 -+#define NV_TXSTOP_DELAY1MAX 500000 -+#define NV_TXSTOP_DELAY2 100 -+#define NV_RXSTOP_DELAY1 10 -+#define NV_RXSTOP_DELAY1MAX 500000 -+#define NV_RXSTOP_DELAY2 100 -+#define NV_SETUP5_DELAY 5 -+#define NV_SETUP5_DELAYMAX 50000 -+#define NV_POWERUP_DELAY 5 -+#define NV_POWERUP_DELAYMAX 5000 -+#define NV_MIIBUSY_DELAY 50 -+#define NV_MIIPHY_DELAY 10 -+#define NV_MIIPHY_DELAYMAX 10000 -+ -+#define NV_WAKEUPPATTERNS 5 -+#define NV_WAKEUPMASKENTRIES 4 -+ -+/* General driver defaults */ -+#define NV_WATCHDOG_TIMEO (2*HZ) -+#define DEFAULT_MTU 1500 /* also maximum supported, at least for now */ -+ -+#define RX_RING 4 -+#define TX_RING 2 -+/* limited to 1 packet until we understand NV_TX_LASTPACKET */ -+#define TX_LIMIT_STOP 10 -+#define TX_LIMIT_START 5 -+ -+/* rx/tx mac addr + type + vlan + align + slack*/ -+#define RX_NIC_BUFSIZE (DEFAULT_MTU + 64) -+/* even more slack */ -+#define RX_ALLOC_BUFSIZE (DEFAULT_MTU + 128) -+ -+#define OOM_REFILL (1+HZ/20) -+#define POLL_WAIT (1+HZ/100) -+ -+struct ring_desc { -+ u32 PacketBuffer; -+ u16 Length; -+ u16 Flags; -+}; -+ -+ -+/* Define the TX Descriptor */ -+static struct ring_desc tx_ring[TX_RING]; -+ -+/* Create a static buffer of size RX_BUF_SZ for each -+TX Descriptor. All descriptors point to a -+part of this buffer */ -+static unsigned char txb[TX_RING * RX_NIC_BUFSIZE]; -+ -+/* Define the TX Descriptor */ -+static struct ring_desc rx_ring[RX_RING]; -+ -+/* Create a static buffer of size RX_BUF_SZ for each -+RX Descriptor All descriptors point to a -+part of this buffer */ -+static unsigned char rxb[RX_RING * RX_NIC_BUFSIZE]; -+ -+/* Private Storage for the NIC */ -+struct forcedeth_private { -+ /* General data: -+ * Locking: spin_lock(&np->lock); */ -+ int in_shutdown; -+ u32 linkspeed; -+ int duplex; -+ int phyaddr; -+ -+ /* General data: RO fields */ -+ u8 *ring_addr; -+ u32 orig_mac[2]; -+ u32 irqmask; -+ /* rx specific fields. -+ * Locking: Within irq hander or disable_irq+spin_lock(&np->lock); -+ */ -+ struct ring_desc *rx_ring; -+ unsigned int cur_rx, refill_rx; -+ struct sk_buff *rx_skbuff[RX_RING]; -+ u32 rx_dma[RX_RING]; -+ unsigned int rx_buf_sz; -+ -+ /* -+ * tx specific fields. -+ */ -+ struct ring_desc *tx_ring; -+ unsigned int next_tx, nic_tx; -+ struct sk_buff *tx_skbuff[TX_RING]; -+ u32 tx_dma[TX_RING]; -+ u16 tx_flags; -+} npx; -+ -+static struct forcedeth_private *np; -+ -+static inline void pci_push(u8 * base) -+{ -+ /* force out pending posted writes */ -+ readl(base); -+} -+static int reg_delay(int offset, u32 mask, -+ u32 target, int delay, int delaymax, const char *msg) -+{ -+ u8 *base = (u8 *) BASE; -+ -+ pci_push(base); -+ do { -+ udelay(delay); -+ delaymax -= delay; -+ if (delaymax < 0) { -+ if (msg) -+ printf(msg); -+ return 1; -+ } -+ } while ((readl(base + offset) & mask) != target); -+ return 0; -+} -+ -+#define MII_READ (-1) -+#define MII_PHYSID1 0x02 /* PHYS ID 1 */ -+#define MII_PHYSID2 0x03 /* PHYS ID 2 */ -+#define MII_BMCR 0x00 /* Basic mode control register */ -+#define MII_BMSR 0x01 /* Basic mode status register */ -+#define MII_ADVERTISE 0x04 /* Advertisement control reg */ -+#define MII_LPA 0x05 /* Link partner ability reg */ -+ -+#define BMSR_ANEGCOMPLETE 0x0020 /* Auto-negotiation complete */ -+ -+/* Link partner ability register. */ -+#define LPA_SLCT 0x001f /* Same as advertise selector */ -+#define LPA_10HALF 0x0020 /* Can do 10mbps half-duplex */ -+#define LPA_10FULL 0x0040 /* Can do 10mbps full-duplex */ -+#define LPA_100HALF 0x0080 /* Can do 100mbps half-duplex */ -+#define LPA_100FULL 0x0100 /* Can do 100mbps full-duplex */ -+#define LPA_100BASE4 0x0200 /* Can do 100mbps 4k packets */ -+#define LPA_RESV 0x1c00 /* Unused... */ -+#define LPA_RFAULT 0x2000 /* Link partner faulted */ -+#define LPA_LPACK 0x4000 /* Link partner acked us */ -+#define LPA_NPAGE 0x8000 /* Next page bit */ -+ -+/* mii_rw: read/write a register on the PHY. -+ * -+ * Caller must guarantee serialization -+ */ -+static int mii_rw(struct nic *nic __unused, int addr, int miireg, -+ int value) -+{ -+ u8 *base = (u8 *) BASE; -+ int was_running; -+ u32 reg; -+ int retval; -+ -+ writel(NVREG_MIISTAT_MASK, base + NvRegMIIStatus); -+ was_running = 0; -+ reg = readl(base + NvRegAdapterControl); -+ if (reg & NVREG_ADAPTCTL_RUNNING) { -+ was_running = 1; -+ writel(reg & ~NVREG_ADAPTCTL_RUNNING, -+ base + NvRegAdapterControl); -+ } -+ reg = readl(base + NvRegMIIControl); -+ if (reg & NVREG_MIICTL_INUSE) { -+ writel(NVREG_MIICTL_INUSE, base + NvRegMIIControl); -+ udelay(NV_MIIBUSY_DELAY); -+ } -+ -+ reg = -+ NVREG_MIICTL_INUSE | (addr << NVREG_MIICTL_ADDRSHIFT) | miireg; -+ if (value != MII_READ) { -+ writel(value, base + NvRegMIIData); -+ reg |= NVREG_MIICTL_WRITE; -+ } -+ writel(reg, base + NvRegMIIControl); -+ -+ if (reg_delay(NvRegMIIControl, NVREG_MIICTL_INUSE, 0, -+ NV_MIIPHY_DELAY, NV_MIIPHY_DELAYMAX, NULL)) { -+ dprintf(("mii_rw of reg %d at PHY %d timed out.\n", -+ miireg, addr)); -+ retval = -1; -+ } else if (value != MII_READ) { -+ /* it was a write operation - fewer failures are detectable */ -+ dprintf(("mii_rw wrote 0x%x to reg %d at PHY %d\n", -+ value, miireg, addr)); -+ retval = 0; -+ } else if (readl(base + NvRegMIIStatus) & NVREG_MIISTAT_ERROR) { -+ dprintf(("mii_rw of reg %d at PHY %d failed.\n", -+ miireg, addr)); -+ retval = -1; -+ } else { -+ /* FIXME: why is that required? */ -+ udelay(50); -+ retval = readl(base + NvRegMIIData); -+ dprintf(("mii_rw read from reg %d at PHY %d: 0x%x.\n", -+ miireg, addr, retval)); -+ } -+ if (was_running) { -+ reg = readl(base + NvRegAdapterControl); -+ writel(reg | NVREG_ADAPTCTL_RUNNING, -+ base + NvRegAdapterControl); -+ } -+ return retval; -+} -+ -+static void start_rx(struct nic *nic __unused) -+{ -+ u8 *base = (u8 *) BASE; -+ -+ dprintf(("start_rx\n")); -+ /* Already running? Stop it. */ -+ if (readl(base + NvRegReceiverControl) & NVREG_RCVCTL_START) { -+ writel(0, base + NvRegReceiverControl); -+ pci_push(base); -+ } -+ writel(np->linkspeed, base + NvRegLinkSpeed); -+ pci_push(base); -+ writel(NVREG_RCVCTL_START, base + NvRegReceiverControl); -+ pci_push(base); -+} -+ -+static void stop_rx(void) -+{ -+ u8 *base = (u8 *) BASE; -+ -+ dprintf(("stop_rx\n")); -+ writel(0, base + NvRegReceiverControl); -+ reg_delay(NvRegReceiverStatus, NVREG_RCVSTAT_BUSY, 0, -+ NV_RXSTOP_DELAY1, NV_RXSTOP_DELAY1MAX, -+ "stop_rx: ReceiverStatus remained busy"); -+ -+ udelay(NV_RXSTOP_DELAY2); -+ writel(0, base + NvRegLinkSpeed); -+} -+ -+static void start_tx(struct nic *nic __unused) -+{ -+ u8 *base = (u8 *) BASE; -+ -+ dprintf(("start_tx\n")); -+ writel(NVREG_XMITCTL_START, base + NvRegTransmitterControl); -+ pci_push(base); -+} -+ -+static void stop_tx(void) -+{ -+ u8 *base = (u8 *) BASE; -+ -+ dprintf(("stop_tx\n")); -+ writel(0, base + NvRegTransmitterControl); -+ reg_delay(NvRegTransmitterStatus, NVREG_XMITSTAT_BUSY, 0, -+ NV_TXSTOP_DELAY1, NV_TXSTOP_DELAY1MAX, -+ "stop_tx: TransmitterStatus remained busy"); -+ -+ udelay(NV_TXSTOP_DELAY2); -+ writel(0, base + NvRegUnknownTransmitterReg); -+} -+ -+ -+static void txrx_reset(struct nic *nic __unused) -+{ -+ u8 *base = (u8 *) BASE; -+ -+ dprintf(("txrx_reset\n")); -+ writel(NVREG_TXRXCTL_BIT2 | NVREG_TXRXCTL_RESET, -+ base + NvRegTxRxControl); -+ pci_push(base); -+ udelay(NV_TXRX_RESET_DELAY); -+ writel(NVREG_TXRXCTL_BIT2, base + NvRegTxRxControl); -+ pci_push(base); -+} -+ -+/* -+ * alloc_rx: fill rx ring entries. -+ * Return 1 if the allocations for the skbs failed and the -+ * rx engine is without Available descriptors -+ */ -+static int alloc_rx(struct nic *nic __unused) -+{ -+ unsigned int refill_rx = np->refill_rx; -+ int i; -+ //while (np->cur_rx != refill_rx) { -+ for (i = 0; i < RX_RING; i++) { -+ //int nr = refill_rx % RX_RING; -+ rx_ring[i].PacketBuffer = -+ virt_to_le32desc(&rxb[i * RX_NIC_BUFSIZE]); -+ rx_ring[i].Length = cpu_to_le16(RX_NIC_BUFSIZE); -+ wmb(); -+ rx_ring[i].Flags = cpu_to_le16(NV_RX_AVAIL); -+ /* printf("alloc_rx: Packet %d marked as Available\n", -+ refill_rx); */ -+ refill_rx++; -+ } -+ np->refill_rx = refill_rx; -+ if (np->cur_rx - refill_rx == RX_RING) -+ return 1; -+ return 0; -+} -+ -+static int update_linkspeed(struct nic *nic) -+{ -+ int adv, lpa, newdup; -+ u32 newls; -+ adv = mii_rw(nic, np->phyaddr, MII_ADVERTISE, MII_READ); -+ lpa = mii_rw(nic, np->phyaddr, MII_LPA, MII_READ); -+ dprintf(("update_linkspeed: PHY advertises 0x%hX, lpa 0x%hX.\n", -+ adv, lpa)); -+ -+ /* FIXME: handle parallel detection properly, handle gigabit ethernet */ -+ lpa = lpa & adv; -+ if (lpa & LPA_100FULL) { -+ newls = NVREG_LINKSPEED_FORCE | NVREG_LINKSPEED_100; -+ newdup = 1; -+ } else if (lpa & LPA_100HALF) { -+ newls = NVREG_LINKSPEED_FORCE | NVREG_LINKSPEED_100; -+ newdup = 0; -+ } else if (lpa & LPA_10FULL) { -+ newls = NVREG_LINKSPEED_FORCE | NVREG_LINKSPEED_10; -+ newdup = 1; -+ } else if (lpa & LPA_10HALF) { -+ newls = NVREG_LINKSPEED_FORCE | NVREG_LINKSPEED_10; -+ newdup = 0; -+ } else { -+ printf("bad ability %hX - falling back to 10HD.\n", lpa); -+ newls = NVREG_LINKSPEED_FORCE | NVREG_LINKSPEED_10; -+ newdup = 0; -+ } -+ if (np->duplex != newdup || np->linkspeed != newls) { -+ np->duplex = newdup; -+ np->linkspeed = newls; -+ return 1; -+ } -+ return 0; -+} -+ -+ -+ -+static int init_ring(struct nic *nic) -+{ -+ int i; -+ -+ np->next_tx = np->nic_tx = 0; -+ for (i = 0; i < TX_RING; i++) { -+ tx_ring[i].Flags = 0; -+ } -+ -+ np->cur_rx = 0; -+ np->refill_rx = 0; -+ for (i = 0; i < RX_RING; i++) { -+ rx_ring[i].Flags = 0; -+ } -+ return alloc_rx(nic); -+} -+ -+static void set_multicast(struct nic *nic) -+{ -+ -+ u8 *base = (u8 *) BASE; -+ u32 addr[2]; -+ u32 mask[2]; -+ u32 pff; -+ u32 alwaysOff[2]; -+ u32 alwaysOn[2]; -+ -+ memset(addr, 0, sizeof(addr)); -+ memset(mask, 0, sizeof(mask)); -+ -+ pff = NVREG_PFF_MYADDR; -+ -+ alwaysOn[0] = alwaysOn[1] = alwaysOff[0] = alwaysOff[1] = 0; -+ -+ addr[0] = alwaysOn[0]; -+ addr[1] = alwaysOn[1]; -+ mask[0] = alwaysOn[0] | alwaysOff[0]; -+ mask[1] = alwaysOn[1] | alwaysOff[1]; -+ -+ addr[0] |= NVREG_MCASTADDRA_FORCE; -+ pff |= NVREG_PFF_ALWAYS; -+ stop_rx(); -+ writel(addr[0], base + NvRegMulticastAddrA); -+ writel(addr[1], base + NvRegMulticastAddrB); -+ writel(mask[0], base + NvRegMulticastMaskA); -+ writel(mask[1], base + NvRegMulticastMaskB); -+ writel(pff, base + NvRegPacketFilterFlags); -+ start_rx(nic); -+} -+ -+/************************************************************************** -+RESET - Reset the NIC to prepare for use -+***************************************************************************/ -+static int forcedeth_reset(struct nic *nic) -+{ -+ u8 *base = (u8 *) BASE; -+ int ret, oom, i; -+ ret = 0; -+ dprintf(("forcedeth: open\n")); -+ -+ /* 1) erase previous misconfiguration */ -+ /* 4.1-1: stop adapter: ignored, 4.3 seems to be overkill */ -+ writel(NVREG_MCASTADDRA_FORCE, base + NvRegMulticastAddrA); -+ writel(0, base + NvRegMulticastAddrB); -+ writel(0, base + NvRegMulticastMaskA); -+ writel(0, base + NvRegMulticastMaskB); -+ writel(0, base + NvRegPacketFilterFlags); -+ writel(0, base + NvRegAdapterControl); -+ writel(0, base + NvRegLinkSpeed); -+ writel(0, base + NvRegUnknownTransmitterReg); -+ txrx_reset(nic); -+ writel(0, base + NvRegUnknownSetupReg6); -+ -+ /* 2) initialize descriptor rings */ -+ np->in_shutdown = 0; -+ oom = init_ring(nic); -+ -+ /* 3) set mac address */ -+ { -+ u32 mac[2]; -+ -+ mac[0] = -+ (nic->node_addr[0] << 0) + (nic->node_addr[1] << 8) + -+ (nic->node_addr[2] << 16) + (nic->node_addr[3] << 24); -+ mac[1] = -+ (nic->node_addr[4] << 0) + (nic->node_addr[5] << 8); -+ -+ writel(mac[0], base + NvRegMacAddrA); -+ writel(mac[1], base + NvRegMacAddrB); -+ } -+ -+ /* 4) continue setup */ -+ np->linkspeed = NVREG_LINKSPEED_FORCE | NVREG_LINKSPEED_10; -+ np->duplex = 0; -+ writel(NVREG_UNKSETUP3_VAL1, base + NvRegUnknownSetupReg3); -+ writel(0, base + NvRegTxRxControl); -+ pci_push(base); -+ writel(NVREG_TXRXCTL_BIT1, base + NvRegTxRxControl); -+ -+ reg_delay(NvRegUnknownSetupReg5, NVREG_UNKSETUP5_BIT31, -+ NVREG_UNKSETUP5_BIT31, NV_SETUP5_DELAY, -+ NV_SETUP5_DELAYMAX, -+ "open: SetupReg5, Bit 31 remained off\n"); -+ writel(0, base + NvRegUnknownSetupReg4); -+ -+ /* 5) Find a suitable PHY */ -+ writel(NVREG_MIISPEED_BIT8 | NVREG_MIIDELAY, base + NvRegMIISpeed); -+ for (i = 1; i < 32; i++) { -+ int id1, id2; -+ -+ id1 = mii_rw(nic, i, MII_PHYSID1, MII_READ); -+ if (id1 < 0) -+ continue; -+ id2 = mii_rw(nic, i, MII_PHYSID2, MII_READ); -+ if (id2 < 0) -+ continue; -+ dprintf(("open: Found PHY %04x:%04x at address %d.\n", -+ id1, id2, i)); -+ np->phyaddr = i; -+ -+ update_linkspeed(nic); -+ -+ break; -+ } -+ if (i == 32) { -+ printf("open: failing due to lack of suitable PHY.\n"); -+ ret = -1; -+ goto out_drain; -+ } -+ -+ printf("%d-Mbs Link, %s-Duplex\n", -+ np->linkspeed & NVREG_LINKSPEED_10 ? 10 : 100, -+ np->duplex ? "Full" : "Half"); -+ /* 6) continue setup */ -+ writel(NVREG_MISC1_FORCE | (np->duplex ? 0 : NVREG_MISC1_HD), -+ base + NvRegMisc1); -+ writel(readl(base + NvRegTransmitterStatus), -+ base + NvRegTransmitterStatus); -+ writel(NVREG_PFF_ALWAYS, base + NvRegPacketFilterFlags); -+ writel(NVREG_OFFLOAD_NORMAL, base + NvRegOffloadConfig); -+ -+ writel(readl(base + NvRegReceiverStatus), -+ base + NvRegReceiverStatus); -+ -+ /* FIXME: I cheated and used the calculator to get a random number */ -+ i = 75963081; -+ writel(NVREG_RNDSEED_FORCE | (i & NVREG_RNDSEED_MASK), -+ base + NvRegRandomSeed); -+ writel(NVREG_UNKSETUP1_VAL, base + NvRegUnknownSetupReg1); -+ writel(NVREG_UNKSETUP2_VAL, base + NvRegUnknownSetupReg2); -+ writel(NVREG_POLL_DEFAULT, base + NvRegPollingInterval); -+ writel(NVREG_UNKSETUP6_VAL, base + NvRegUnknownSetupReg6); -+ writel((np-> -+ phyaddr << NVREG_ADAPTCTL_PHYSHIFT) | -+ NVREG_ADAPTCTL_PHYVALID, base + NvRegAdapterControl); -+ writel(NVREG_UNKSETUP4_VAL, base + NvRegUnknownSetupReg4); -+ writel(NVREG_WAKEUPFLAGS_VAL, base + NvRegWakeUpFlags); -+ -+ /* 7) start packet processing */ -+ writel((u32) virt_to_le32desc(&rx_ring[0]), -+ base + NvRegRxRingPhysAddr); -+ writel((u32) virt_to_le32desc(&tx_ring[0]), -+ base + NvRegTxRingPhysAddr); -+ -+ -+ writel(((RX_RING - 1) << NVREG_RINGSZ_RXSHIFT) + -+ ((TX_RING - 1) << NVREG_RINGSZ_TXSHIFT), -+ base + NvRegRingSizes); -+ -+ i = readl(base + NvRegPowerState); -+ if ((i & NVREG_POWERSTATE_POWEREDUP) == 0) { -+ writel(NVREG_POWERSTATE_POWEREDUP | i, -+ base + NvRegPowerState); -+ } -+ pci_push(base); -+ udelay(10); -+ writel(readl(base + NvRegPowerState) | NVREG_POWERSTATE_VALID, -+ base + NvRegPowerState); -+ writel(NVREG_ADAPTCTL_RUNNING, base + NvRegAdapterControl); -+ -+ writel(0, base + NvRegIrqMask); -+ pci_push(base); -+ writel(NVREG_IRQSTAT_MASK, base + NvRegIrqStatus); -+ pci_push(base); -+ writel(NVREG_MIISTAT_MASK2, base + NvRegMIIStatus); -+ writel(NVREG_IRQSTAT_MASK, base + NvRegIrqStatus); -+ pci_push(base); -+/* -+ writel(np->irqmask, base + NvRegIrqMask); -+*/ -+ writel(NVREG_MCASTADDRA_FORCE, base + NvRegMulticastAddrA); -+ writel(0, base + NvRegMulticastAddrB); -+ writel(0, base + NvRegMulticastMaskA); -+ writel(0, base + NvRegMulticastMaskB); -+ writel(NVREG_PFF_ALWAYS | NVREG_PFF_MYADDR, -+ base + NvRegPacketFilterFlags); -+ -+ set_multicast(nic); -+ //start_rx(nic); -+ start_tx(nic); -+ -+ if (! -+ (mii_rw(nic, np->phyaddr, MII_BMSR, MII_READ) & -+ BMSR_ANEGCOMPLETE)) { -+ printf("no link during initialization.\n"); -+ } -+ -+ udelay(10000); -+ out_drain: -+ return ret; -+} -+ -+//extern void hex_dump(const char *data, const unsigned int len); -+ -+/************************************************************************** -+POLL - Wait for a frame -+***************************************************************************/ -+static int forcedeth_poll(struct nic *nic, int retrieve) -+{ -+ /* return true if there's an ethernet packet ready to read */ -+ /* nic->packet should contain data on return */ -+ /* nic->packetlen should contain length of data */ -+ -+ struct ring_desc *prd; -+ int len; -+ int i; -+ -+ i = np->cur_rx % RX_RING; -+ prd = &rx_ring[i]; -+ -+ if ( ! (prd->Flags & cpu_to_le16(NV_RX_DESCRIPTORVALID)) ) { -+ return 0; -+ } -+ -+ if ( ! retrieve ) return 1; -+ -+ /* got a valid packet - forward it to the network core */ -+ len = cpu_to_le16(prd->Length); -+ nic->packetlen = len; -+ //hex_dump(rxb + (i * RX_NIC_BUFSIZE), len); -+ memcpy(nic->packet, rxb + -+ (i * RX_NIC_BUFSIZE), nic->packetlen); -+ -+ wmb(); -+ np->cur_rx++; -+ alloc_rx(nic); -+ return 1; -+} -+ -+ -+/************************************************************************** -+TRANSMIT - Transmit a frame -+***************************************************************************/ -+static void forcedeth_transmit(struct nic *nic, const char *d, /* Destination */ -+ unsigned int t, /* Type */ -+ unsigned int s, /* size */ -+ const char *p) -+{ /* Packet */ -+ /* send the packet to destination */ -+ u8 *ptxb; -+ u16 nstype; -+ //u16 status; -+ u8 *base = (u8 *) BASE; -+ int nr = np->next_tx % TX_RING; -+ -+ /* point to the current txb incase multiple tx_rings are used */ -+ ptxb = txb + (nr * RX_NIC_BUFSIZE); -+ //np->tx_skbuff[nr] = ptxb; -+ -+ /* copy the packet to ring buffer */ -+ memcpy(ptxb, d, ETH_ALEN); /* dst */ -+ memcpy(ptxb + ETH_ALEN, nic->node_addr, ETH_ALEN); /* src */ -+ nstype = htons((u16) t); /* type */ -+ memcpy(ptxb + 2 * ETH_ALEN, (u8 *) & nstype, 2); /* type */ -+ memcpy(ptxb + ETH_HLEN, p, s); -+ -+ s += ETH_HLEN; -+ while (s < ETH_ZLEN) /* pad to min length */ -+ ptxb[s++] = '\0'; -+ -+ tx_ring[nr].PacketBuffer = (u32) virt_to_le32desc(ptxb); -+ tx_ring[nr].Length = cpu_to_le16(s - 1); -+ -+ wmb(); -+ tx_ring[nr].Flags = np->tx_flags; -+ -+ writel(NVREG_TXRXCTL_KICK, base + NvRegTxRxControl); -+ pci_push(base); -+ tx_ring[nr].Flags = np->tx_flags; -+ np->next_tx++; -+} -+ -+/************************************************************************** -+DISABLE - Turn off ethernet interface -+***************************************************************************/ -+static void forcedeth_disable(struct dev *dev __unused) -+{ -+ /* put the card in its initial state */ -+ /* This function serves 3 purposes. -+ * This disables DMA and interrupts so we don't receive -+ * unexpected packets or interrupts from the card after -+ * etherboot has finished. -+ * This frees resources so etherboot may use -+ * this driver on another interface -+ * This allows etherboot to reinitialize the interface -+ * if something is something goes wrong. -+ */ -+ u8 *base = (u8 *) BASE; -+ np->in_shutdown = 1; -+ stop_tx(); -+ stop_rx(); -+ -+ /* disable interrupts on the nic or we will lock up */ -+ writel(0, base + NvRegIrqMask); -+ pci_push(base); -+ dprintf(("Irqmask is zero again\n")); -+ -+ /* specia op:o write back the misordered MAC address - otherwise -+ * the next probe_nic would see a wrong address. -+ */ -+ writel(np->orig_mac[0], base + NvRegMacAddrA); -+ writel(np->orig_mac[1], base + NvRegMacAddrB); -+} -+ -+/************************************************************************** -+IRQ - Enable, Disable, or Force interrupts -+***************************************************************************/ -+static void forcedeth_irq(struct nic *nic __unused, irq_action_t action __unused) -+{ -+ switch ( action ) { -+ case DISABLE : -+ break; -+ case ENABLE : -+ break; -+ case FORCE : -+ break; -+ } -+} -+ -+/************************************************************************** -+PROBE - Look for an adapter, this routine's visible to the outside -+***************************************************************************/ -+#define IORESOURCE_MEM 0x00000200 -+#define board_found 1 -+#define valid_link 0 -+static int forcedeth_probe(struct dev *dev, struct pci_device *pci) -+{ -+ struct nic *nic = (struct nic *) dev; -+ unsigned long addr; -+ int sz; -+ u8 *base; -+ -+ if (pci->ioaddr == 0) -+ return 0; -+ -+ printf("forcedeth.c: Found %s, vendor=0x%hX, device=0x%hX\n", -+ pci->name, pci->vendor, pci->dev_id); -+ -+ nic->irqno = 0; -+ nic->ioaddr = pci->ioaddr & ~3; -+ -+ /* point to private storage */ -+ np = &npx; -+ -+ adjust_pci_device(pci); -+ -+ addr = pci_bar_start(pci, PCI_BASE_ADDRESS_0); -+ sz = pci_bar_size(pci, PCI_BASE_ADDRESS_0); -+ -+ /* BASE is used throughout to address the card */ -+ BASE = (unsigned long) ioremap(addr, sz); -+ if (!BASE) -+ return 0; -+ //rx_ring[0] = rx_ring; -+ //tx_ring[0] = tx_ring; -+ -+ /* read the mac address */ -+ base = (u8 *) BASE; -+ np->orig_mac[0] = readl(base + NvRegMacAddrA); -+ np->orig_mac[1] = readl(base + NvRegMacAddrB); -+ -+ nic->node_addr[0] = (np->orig_mac[1] >> 8) & 0xff; -+ nic->node_addr[1] = (np->orig_mac[1] >> 0) & 0xff; -+ nic->node_addr[2] = (np->orig_mac[0] >> 24) & 0xff; -+ nic->node_addr[3] = (np->orig_mac[0] >> 16) & 0xff; -+ nic->node_addr[4] = (np->orig_mac[0] >> 8) & 0xff; -+ nic->node_addr[5] = (np->orig_mac[0] >> 0) & 0xff; -+#ifdef LINUX -+ if (!is_valid_ether_addr(dev->dev_addr)) { -+ /* -+ * Bad mac address. At least one bios sets the mac address -+ * to 01:23:45:67:89:ab -+ */ -+ printk(KERN_ERR -+ "%s: Invalid Mac address detected: %02x:%02x:%02x:%02x:%02x:%02x\n", -+ pci_name(pci_dev), dev->dev_addr[0], -+ dev->dev_addr[1], dev->dev_addr[2], -+ dev->dev_addr[3], dev->dev_addr[4], -+ dev->dev_addr[5]); -+ printk(KERN_ERR -+ "Please complain to your hardware vendor. Switching to a random MAC.\n"); -+ dev->dev_addr[0] = 0x00; -+ dev->dev_addr[1] = 0x00; -+ dev->dev_addr[2] = 0x6c; -+ get_random_bytes(&dev->dev_addr[3], 3); -+ } -+#endif -+ printf("%s: MAC Address %!, ", pci->name, nic->node_addr); -+ -+ np->tx_flags = -+ cpu_to_le16(NV_TX_LASTPACKET | NV_TX_LASTPACKET1 | -+ NV_TX_VALID); -+ switch (pci->dev_id) { -+ case 0x01C3: // nforce -+ np->irqmask = NVREG_IRQMASK_WANTED_2; -+ np->irqmask |= NVREG_IRQ_TIMER; -+ break; -+ case 0x0066: // nforce2 -+ np->tx_flags |= cpu_to_le16(NV_TX_LASTPACKET1); -+ np->irqmask = NVREG_IRQMASK_WANTED_2; -+ np->irqmask |= NVREG_IRQ_TIMER; -+ break; -+ case 0x00D6: // nforce3 -+ np->tx_flags |= cpu_to_le16(NV_TX_LASTPACKET1); -+ np->irqmask = NVREG_IRQMASK_WANTED_2; -+ np->irqmask |= NVREG_IRQ_TIMER; -+ -+ } -+ dprintf(("%s: forcedeth.c: subsystem: %hX:%hX bound to %s\n", -+ pci->name, pci->vendor, pci->dev_id, pci->name)); -+ -+ forcedeth_reset(nic); -+// if (board_found && valid_link) -+ /* point to NIC specific routines */ -+ dev->disable = forcedeth_disable; -+ nic->poll = forcedeth_poll; -+ nic->transmit = forcedeth_transmit; -+ nic->irq = forcedeth_irq; -+ return 1; -+// } -+ /* else */ -+} -+ -+static struct pci_id forcedeth_nics[] = { -+ PCI_ROM(0x10de, 0x01C3, "nforce", "nForce Ethernet Controller"), -+ PCI_ROM(0x10de, 0x0066, "nforce2", "nForce2 Ethernet Controller"), -+ PCI_ROM(0x10de, 0x00D6, "nforce3", "nForce3 Ethernet Controller"), -+}; -+ -+struct pci_driver forcedeth_driver = { -+ .type = NIC_DRIVER, -+ .name = "forcedeth", -+ .probe = forcedeth_probe, -+ .ids = forcedeth_nics, -+ .id_count = sizeof(forcedeth_nics) / sizeof(forcedeth_nics[0]), -+ .class = 0, -+}; -Index: b/netboot/fsys_tftp.c -=================================================================== ---- a/netboot/fsys_tftp.c -+++ b/netboot/fsys_tftp.c -@@ -29,14 +29,15 @@ - /* #define TFTP_DEBUG 1 */ - - #include -+#include - --#define GRUB 1 --#include --#include -+#include "grub.h" -+#include "tftp.h" -+#include "nic.h" - - static int retry; - static unsigned short iport = 2000; --static unsigned short oport; -+static unsigned short oport = 0; - static unsigned short block, prevblock; - static int bcounter; - static struct tftp_t tp, saved_tp; -@@ -46,6 +47,172 @@ - static unsigned short len, saved_len; - static char *buf; - -+/** -+ * tftp_read -+ * -+ * Read file with _name_, data handled by _fnc_. In fact, grub never -+ * use it, we just use it to read dhcp config file. -+ */ -+static int await_tftp(int ival, void *ptr __unused, -+ unsigned short ptype __unused, struct iphdr *ip, -+ struct udphdr *udp) -+{ -+ if (!udp) { -+ return 0; -+ } -+ if (arptable[ARP_CLIENT].ipaddr.s_addr != ip->dest.s_addr) -+ return 0; -+ if (ntohs(udp->dest) != ival) -+ return 0; -+ return 1; -+} -+ -+int tftp_file_read(const char *name, int (*fnc)(unsigned char *, unsigned int, unsigned int, int)) -+{ -+ struct tftpreq_t tp; -+ struct tftp_t *tr; -+ int rc; -+ -+ retry = 0; -+ block = 0; -+ prevblock = 0; -+ bcounter = 0; -+ -+ -+ rx_qdrain(); -+ -+ tp.opcode = htons(TFTP_RRQ); -+ /* Warning: the following assumes the layout of bootp_t. -+ But that's fixed by the IP, UDP and BOOTP specs. */ -+ len = sizeof(tp.ip) + sizeof(tp.udp) + sizeof(tp.opcode) + -+ sprintf((char *)tp.u.rrq, "%s%coctet%cblksize%c%d", -+ name, 0, 0, 0, TFTP_MAX_PACKET) + 1; -+ if (!udp_transmit(arptable[ARP_SERVER].ipaddr.s_addr, ++iport, -+ TFTP_PORT, len, &tp)) -+ return (0); -+ for (;;) -+ { -+ long timeout; -+#ifdef CONGESTED -+ timeout = rfc2131_sleep_interval(block?TFTP_REXMT: TIMEOUT, retry); -+#else -+ timeout = rfc2131_sleep_interval(TIMEOUT, retry); -+#endif -+ if (!await_reply(await_tftp, iport, NULL, timeout)) -+ { -+ if (!block && retry++ < MAX_TFTP_RETRIES) -+ { /* maybe initial request was lost */ -+ if (!udp_transmit(arptable[ARP_SERVER].ipaddr.s_addr, -+ ++iport, TFTP_PORT, len, &tp)) -+ return (0); -+ continue; -+ } -+#ifdef CONGESTED -+ if (block && ((retry += TFTP_REXMT) < TFTP_TIMEOUT)) -+ { /* we resend our last ack */ -+#ifdef MDEBUG -+ printf("\n"); -+#endif -+ udp_transmit(arptable[ARP_SERVER].ipaddr.s_addr, -+ iport, oport, -+ TFTP_MIN_PACKET, &tp); -+ continue; -+ } -+#endif -+ break; /* timeout */ -+ } -+ tr = (struct tftp_t *)&nic.packet[ETH_HLEN]; -+ if (tr->opcode == ntohs(TFTP_ERROR)) -+ { -+ printf("TFTP error %d (%s)\n", -+ ntohs(tr->u.err.errcode), -+ tr->u.err.errmsg); -+ break; -+ } -+ -+ if (tr->opcode == ntohs(TFTP_OACK)) { -+ char *p = tr->u.oack.data, *e; -+ -+ if (prevblock) /* shouldn't happen */ -+ continue; /* ignore it */ -+ len = ntohs(tr->udp.len) - sizeof(struct udphdr) - 2; -+ if (len > TFTP_MAX_PACKET) -+ goto noak; -+ e = p + len; -+ while (*p != '\0' && p < e) { -+/* if (!strcasecmp("blksize", p)) { */ -+ if (!grub_strcmp("blksize", p)) { -+ p += 8; -+/* if ((packetsize = strtoul(p, &p, 10)) < */ -+ if ((packetsize = getdec(&p)) < TFTP_DEFAULTSIZE_PACKET) -+ goto noak; -+ while (p < e && *p) p++; -+ if (p < e) -+ p++; -+ } -+ else { -+ noak: -+ tp.opcode = htons(TFTP_ERROR); -+ tp.u.err.errcode = 8; -+/* -+ * Warning: the following assumes the layout of bootp_t. -+ * But that's fixed by the IP, UDP and BOOTP specs. -+ */ -+ len = sizeof(tp.ip) + sizeof(tp.udp) + sizeof(tp.opcode) + sizeof(tp.u.err.errcode) + -+/* -+ * Normally bad form to omit the format string, but in this case -+ * the string we are copying from is fixed. sprintf is just being -+ * used as a strcpy and strlen. -+ */ -+ sprintf((char *)tp.u.err.errmsg, -+ "RFC1782 error") + 1; -+ udp_transmit(arptable[ARP_SERVER].ipaddr.s_addr, -+ iport, ntohs(tr->udp.src), -+ len, &tp); -+ return (0); -+ } -+ } -+ if (p > e) -+ goto noak; -+ block = tp.u.ack.block = 0; /* this ensures, that */ -+ /* the packet does not get */ -+ /* processed as data! */ -+ } -+ else if (tr->opcode == htons(TFTP_DATA)) { -+ len = ntohs(tr->udp.len) - sizeof(struct udphdr) - 4; -+ if (len > packetsize) /* shouldn't happen */ -+ continue; /* ignore it */ -+ block = ntohs(tp.u.ack.block = tr->u.data.block); } -+ else {/* neither TFTP_OACK nor TFTP_DATA */ -+ break; -+ } -+ -+ if ((block || bcounter) && (block != (unsigned short)(prevblock+1))) { -+ /* Block order should be continuous */ -+ tp.u.ack.block = htons(block = prevblock); -+ } -+ tp.opcode = htons(TFTP_ACK); -+ oport = ntohs(tr->udp.src); -+ udp_transmit(arptable[ARP_SERVER].ipaddr.s_addr, iport, -+ oport, TFTP_MIN_PACKET, &tp); /* ack */ -+ if ((unsigned short)(block-prevblock) != 1) { -+ /* Retransmission or OACK, don't process via callback -+ * and don't change the value of prevblock. */ -+ continue; -+ } -+ prevblock = block; -+ retry = 0; /* It's the right place to zero the timer? */ -+ if ((rc = fnc(tr->u.data.download, -+ ++bcounter, len, len < packetsize)) <= 0) -+ return(rc); -+ if (len < packetsize) { /* End of data --- fnc should not have returned */ -+ printf("tftp download complete, but\n"); -+ return (1); -+ } -+ } -+ return (0); -+} -+ - /* Fill the buffer by receiving the data via the TFTP protocol. */ - static int - buf_fill (int abort) -@@ -65,9 +232,9 @@ - timeout = rfc2131_sleep_interval (TIMEOUT, retry); - #endif - -- if (! await_reply (AWAIT_TFTP, iport, NULL, timeout)) -+ if (! await_reply (await_tftp, iport, NULL, timeout)) - { -- if (ip_abort) -+ if (user_abort) - return 0; - - if (! block && retry++ < MAX_TFTP_RETRIES) -@@ -270,13 +437,7 @@ - buf_read = 0; - saved_filepos = 0; - -- /* Clear out the Rx queue first. It contains nothing of interest, -- * except possibly ARP requests from the DHCP/TFTP server. We use -- * polling throughout Etherboot, so some time may have passed since we -- * last polled the receive queue, which may now be filled with -- * broadcast packets. This will cause the reply to the packets we are -- * about to send to be lost immediately. Not very clever. */ -- await_reply (AWAIT_QDRAIN, 0, NULL, 0); -+ rx_qdrain(); - - #ifdef TFTP_DEBUG - grub_printf ("send_rrq ()\n"); -Index: b/netboot/grub.h -=================================================================== ---- /dev/null -+++ b/netboot/grub.h -@@ -0,0 +1,171 @@ -+#ifndef GRUB_H -+#define GRUB_H -+ -+#include "osdep.h" -+#include "byteswap.h" -+#include "in.h" -+#include "ip.h" -+#include "udp.h" -+#include "if_ether.h" -+#include "latch.h" -+#include "io.h" -+#include "nic.h" -+#include -+ -+#define K_ESC '\033' -+#define K_EOF '\04' /* Ctrl-D */ -+#define K_INTR '\03' /* Ctrl-C */ -+ -+#ifndef MAX_RPC_RETRIES -+#define MAX_RPC_RETRIES 20 -+#endif -+ -+ -+/* Inter-packet retry in ticks */ -+#ifndef TIMEOUT -+#define TIMEOUT (10*TICKS_PER_SEC) -+#endif -+ -+#ifndef NULL -+#define NULL ((void *)0) -+#endif -+ -+ -+#define ARP_CLIENT 0 -+#define ARP_SERVER 1 -+#define ARP_GATEWAY 2 -+#define MAX_ARP ARP_GATEWAY+1 -+ -+#define IGMP_SERVER 0 -+#define MAX_IGMP IGMP_SERVER+1 -+ -+#define RARP_REQUEST 3 -+#define RARP_REPLY 4 -+ -+ -+#define MULTICAST_MASK 0xF0000000 -+#define MULTICAST_NETWORK 0xE0000000 -+ -+struct arptable_t { -+ in_addr ipaddr; -+ uint8_t node[6]; -+}; -+ -+struct igmptable_t { -+ in_addr group; -+ unsigned long time; -+}; -+ -+#define KERNEL_BUF (BOOTP_DATA_ADDR->bootp_reply.bp_file) -+ -+#define FLOPPY_BOOT_LOCATION 0x7c00 -+/* Must match offsets in loader.S */ -+#define ROM_SEGMENT 0x1fa -+#define ROM_LENGTH 0x1fc -+ -+#define ROM_INFO_LOCATION (FLOPPY_BOOT_LOCATION+ROM_SEGMENT) -+/* at end of floppy boot block */ -+ -+ -+ -+/* Define a type for passing info to a loaded program */ -+struct ebinfo { -+ uint8_t major, minor; /* Version */ -+ uint16_t flags; /* Bit flags */ -+}; -+ -+/*************************************************************************** -+External prototypes -+***************************************************************************/ -+extern void rx_qdrain P((void)); -+extern int tftp P((const char *name, int (*)(unsigned char *, unsigned int, unsigned int, int))); -+extern int ip_transmit P((int len, const void *buf)); -+extern void build_ip_hdr P((unsigned long destip, int ttl, int protocol, -+ int option_len, int len, const void *buf)); -+extern void build_udp_hdr P((unsigned long destip, -+ unsigned int srcsock, unsigned int destsock, int ttl, -+ int len, const void *buf)); -+extern int udp_transmit P((unsigned long destip, unsigned int srcsock, -+ unsigned int destsock, int len, const void *buf)); -+typedef int (*reply_t)(int ival, void *ptr, unsigned short ptype, struct iphdr *ip, struct udphdr *udp); -+extern int await_reply P((reply_t reply, int ival, void *ptr, long timeout)); -+extern int decode_rfc1533 P((unsigned char *, unsigned int, unsigned int, int)); -+extern void join_group(int slot, unsigned long group); -+extern void leave_group(int slot); -+#define RAND_MAX 2147483647L -+extern uint16_t ipchksum P((const void *ip, unsigned long len)); -+extern uint16_t add_ipchksums P((unsigned long offset, uint16_t sum, uint16_t new)); -+extern int32_t random P((void)); -+extern long rfc2131_sleep_interval P((long base, int exp)); -+extern long rfc1112_sleep_interval P((long base, int exp)); -+#ifndef DOWNLOAD_PROTO_TFTP -+#define tftp(fname, load_block) 0 -+#endif -+extern void cleanup P((void)); -+ -+/* misc.c */ -+extern void twiddle P((void)); -+extern void sleep P((int secs)); -+extern void interruptible_sleep P((int secs)); -+extern void poll_interruptions P((void)); -+extern int strcasecmp P((const char *a, const char *b)); -+extern char *substr P((const char *a, const char *b)); -+extern unsigned long strtoul P((const char *p, const char **, int base)); -+extern void printf P((const char *, ...)); -+extern int sprintf P((char *, const char *, ...)); -+extern int inet_aton P((char *p, in_addr *i)); -+extern void putchar P((int)); -+extern int getchar P((void)); -+extern int iskey P((void)); -+ -+extern void grub_printf(const char *, ...); -+extern char config_file[128]; -+extern void etherboot_printf(const char *, ...); -+extern int etherboot_sprintf(char *, const char *, ...); -+extern int getdec(char **s); -+extern void cleanup_net(void); -+extern void print_network_configuration (void); -+extern int ifconfig (char *, char *, char *, char *); -+extern struct arptable_t arptable[MAX_ARP]; -+ -+#undef printf -+#undef sprintf -+#define printf etherboot_printf -+#define sprintf etherboot_sprintf -+ -+#ifdef DEBUG -+#define EnterFunction(func) printf("Enter: " func "\n"); -+#define LeaveFunction(func) printf("Leave: " func "\n"); -+#else -+#define EnterFunction(func) -+#define LeaveFunction(func) -+#endif -+ -+/* -+ * Some codes from etherboot use a level in DEBUG. Define it to be -+ * zero means no debug info output, that will make them silence in -+ * compiling. Up it as you want. -+ */ -+#ifndef DEBUG -+# define DEBUG 0 -+#endif -+ -+/*#define RPC_DEBUG*/ -+ -+extern char *hostname; -+ -+extern int hostnamelen; -+/* Whether network is ready */ -+extern int network_ready; -+ -+/* User aborted in await_reply if not zero */ -+extern int user_abort; -+ -+extern int rarp(void); -+extern int grub_eth_probe(void); -+extern int bootp(void); -+ -+extern int dhcp(void); -+ -+extern struct nic nic; -+#endif /* GRUB_H */ -Index: b/netboot/i386_byteswap.h -=================================================================== ---- /dev/null -+++ b/netboot/i386_byteswap.h -@@ -0,0 +1,46 @@ -+#ifndef ETHERBOOT_BITS_BYTESWAP_H -+#define ETHERBOOT_BITS_BYTESWAP_H -+ -+#include "types.h" -+static inline uint16_t __i386_bswap_16(uint16_t x) -+{ -+ __asm__("xchgb %b0,%h0\n\t" -+ : "=q" (x) -+ : "0" (x)); -+ return x; -+} -+ -+static inline uint32_t __i386_bswap_32(uint32_t x) -+{ -+ __asm__("xchgb %b0,%h0\n\t" -+ "rorl $16,%0\n\t" -+ "xchgb %b0,%h0" -+ : "=q" (x) -+ : "0" (x)); -+ return x; -+} -+ -+ -+#define __bswap_constant_16(x) \ -+ ((uint16_t)((((uint16_t)(x) & 0x00ff) << 8) | \ -+ (((uint16_t)(x) & 0xff00) >> 8))) -+ -+#define __bswap_constant_32(x) \ -+ ((uint32_t)((((uint32_t)(x) & 0x000000ffU) << 24) | \ -+ (((uint32_t)(x) & 0x0000ff00U) << 8) | \ -+ (((uint32_t)(x) & 0x00ff0000U) >> 8) | \ -+ (((uint32_t)(x) & 0xff000000U) >> 24))) -+ -+#define __bswap_16(x) \ -+ (__builtin_constant_p(x) ? \ -+ __bswap_constant_16(x) : \ -+ __i386_bswap_16(x)) -+ -+ -+#define __bswap_32(x) \ -+ (__builtin_constant_p(x) ? \ -+ __bswap_constant_32(x) : \ -+ __i386_bswap_32(x)) -+ -+ -+#endif /* ETHERBOOT_BITS_BYTESWAP_H */ -Index: b/netboot/i386_elf.h -=================================================================== ---- /dev/null -+++ b/netboot/i386_elf.h -@@ -0,0 +1,91 @@ -+#ifndef I386_BITS_ELF_H -+#define I386_BITS_ELF_H -+ -+#include "cpu.h" -+ -+#ifdef CONFIG_X86_64 -+/* ELF Defines for the 64bit version of the current architecture */ -+#define EM_CURRENT_64 EM_X86_64 -+#define EM_CURRENT_64_PRESENT ( \ -+ CPU_FEATURE_P(cpu_info.x86_capability, LM) && \ -+ CPU_FEATURE_P(cpu_info.x86_capability, PAE) && \ -+ CPU_FEATURE_P(cpu_info.x86_capability, PSE)) -+ -+#define ELF_CHECK_X86_64_ARCH(x) \ -+ (EM_CURRENT_64_PRESENT && ((x).e_machine == EM_X86_64)) -+#define __unused_i386 -+#else -+#define ELF_CHECK_X86_64_ARCH(x) 0 -+#define __unused_i386 __unused -+#endif -+ -+ -+/* ELF Defines for the current architecture */ -+#define EM_CURRENT EM_386 -+#define ELFDATA_CURRENT ELFDATA2LSB -+ -+#define ELF_CHECK_I386_ARCH(x) \ -+ (((x).e_machine == EM_386) || ((x).e_machine == EM_486)) -+ -+#define ELF_CHECK_ARCH(x) \ -+ ((ELF_CHECK_I386_ARCH(x) || ELF_CHECK_X86_64_ARCH(x)) && \ -+ ((x).e_entry <= 0xffffffffUL)) -+ -+#ifdef IMAGE_FREEBSD -+/* -+ * FreeBSD has this rather strange "feature" of its design. -+ * At some point in its evolution, FreeBSD started to rely -+ * externally on private/static/debug internal symbol information. -+ * That is, some of the interfaces that software uses to access -+ * and work with the FreeBSD kernel are made available not -+ * via the shared library symbol information (the .DYNAMIC section) -+ * but rather the debug symbols. This means that any symbol, not -+ * just publicly defined symbols can be (and are) used by system -+ * tools to make the system work. (such as top, swapinfo, swapon, -+ * etc) -+ * -+ * Even worse, however, is the fact that standard ELF loaders do -+ * not know how to load the symbols since they are not within -+ * an ELF PT_LOAD section. The kernel needs these symbols to -+ * operate so the following changes/additions to the boot -+ * loading of EtherBoot have been made to get the kernel to load. -+ * All of the changes are within IMAGE_FREEBSD such that the -+ * extra/changed code only compiles when FREEBSD support is -+ * enabled. -+ */ -+ -+/* -+ * Section header for FreeBSD (debug symbol kludge!) support -+ */ -+typedef struct { -+ Elf32_Word sh_name; /* Section name (index into the -+ section header string table). */ -+ Elf32_Word sh_type; /* Section type. */ -+ Elf32_Word sh_flags; /* Section flags. */ -+ Elf32_Addr sh_addr; /* Address in memory image. */ -+ Elf32_Off sh_offset; /* Offset in file. */ -+ Elf32_Size sh_size; /* Size in bytes. */ -+ Elf32_Word sh_link; /* Index of a related section. */ -+ Elf32_Word sh_info; /* Depends on section type. */ -+ Elf32_Size sh_addralign; /* Alignment in bytes. */ -+ Elf32_Size sh_entsize; /* Size of each entry in section. */ -+} Elf32_Shdr; -+ -+/* sh_type */ -+#define SHT_SYMTAB 2 /* symbol table section */ -+#define SHT_STRTAB 3 /* string table section */ -+ -+/* -+ * Module information subtypes (for the metadata that we need to build) -+ */ -+#define MODINFO_END 0x0000 /* End of list */ -+#define MODINFO_NAME 0x0001 /* Name of module (string) */ -+#define MODINFO_TYPE 0x0002 /* Type of module (string) */ -+#define MODINFO_METADATA 0x8000 /* Module-specfic */ -+ -+#define MODINFOMD_SSYM 0x0003 /* start of symbols */ -+#define MODINFOMD_ESYM 0x0004 /* end of symbols */ -+ -+#endif /* IMAGE_FREEBSD */ -+ -+#endif /* I386_BITS_ELF_H */ -Index: b/netboot/i386_endian.h -=================================================================== ---- /dev/null -+++ b/netboot/i386_endian.h -@@ -0,0 +1,6 @@ -+#ifndef ETHERBOOT_BITS_ENDIAN_H -+#define ETHERBOOT_BITS_ENDIAN_H -+ -+#define __BYTE_ORDER __LITTLE_ENDIAN -+ -+#endif /* ETHERBOOT_BITS_ENDIAN_H */ -Index: b/netboot/i386_timer.c -=================================================================== ---- /dev/null -+++ b/netboot/i386_timer.c -@@ -0,0 +1,192 @@ -+/* A couple of routines to implement a low-overhead timer for drivers */ -+ -+ /* -+ * 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, or (at -+ * your option) any later version. -+ */ -+#include "grub.h" -+#include "osdep.h" -+#include "io.h" -+#include "timer.h" -+#include "latch.h" -+ -+void __load_timer2(unsigned int ticks) -+{ -+ /* -+ * Now let's take care of PPC channel 2 -+ * -+ * Set the Gate high, program PPC channel 2 for mode 0, -+ * (interrupt on terminal count mode), binary count, -+ * load 5 * LATCH count, (LSB and MSB) to begin countdown. -+ * -+ * Note some implementations have a bug where the high bits byte -+ * of channel 2 is ignored. -+ */ -+ /* Set up the timer gate, turn off the speaker */ -+ /* Set the Gate high, disable speaker */ -+ outb((inb(PPC_PORTB) & ~PPCB_SPKR) | PPCB_T2GATE, PPC_PORTB); -+ /* binary, mode 0, LSB/MSB, Ch 2 */ -+ outb(TIMER2_SEL|WORD_ACCESS|MODE0|BINARY_COUNT, TIMER_MODE_PORT); -+ /* LSB of ticks */ -+ outb(ticks & 0xFF, TIMER2_PORT); -+ /* MSB of ticks */ -+ outb(ticks >> 8, TIMER2_PORT); -+} -+ -+static int __timer2_running(void) -+{ -+ return ((inb(PPC_PORTB) & PPCB_T2OUT) == 0); -+} -+ -+#if !defined(CONFIG_TSC_CURRTICKS) -+void setup_timers(void) -+{ -+ return; -+} -+ -+void load_timer2(unsigned int ticks) -+{ -+ return __load_timer2(ticks); -+} -+ -+int timer2_running(void) -+{ -+ return __timer2_running(); -+} -+ -+void ndelay(unsigned int nsecs) -+{ -+ waiton_timer2((nsecs * CLOCK_TICK_RATE)/1000000000); -+} -+void udelay(unsigned int usecs) -+{ -+ waiton_timer2((usecs * TICKS_PER_MS)/1000); -+} -+#endif /* !defined(CONFIG_TSC_CURRTICKS) */ -+ -+#if defined(CONFIG_TSC_CURRTICKS) -+ -+#define rdtsc(low,high) \ -+ __asm__ __volatile__("rdtsc" : "=a" (low), "=d" (high)) -+ -+#define rdtscll(val) \ -+ __asm__ __volatile__ ("rdtsc" : "=A" (val)) -+ -+ -+/* Number of clock ticks to time with the rtc */ -+#define LATCH 0xFF -+ -+#define LATCHES_PER_SEC ((CLOCK_TICK_RATE + (LATCH/2))/LATCH) -+#define TICKS_PER_LATCH ((LATCHES_PER_SEC + (TICKS_PER_SEC/2))/TICKS_PER_SEC) -+ -+static void sleep_latch(void) -+{ -+ __load_timer2(LATCH); -+ while(__timer2_running()); -+} -+ -+/* ------ Calibrate the TSC ------- -+ * Time how long it takes to excute a loop that runs in known time. -+ * And find the convertion needed to get to CLOCK_TICK_RATE -+ */ -+ -+ -+static unsigned long long calibrate_tsc(void) -+{ -+ unsigned long startlow, starthigh; -+ unsigned long endlow, endhigh; -+ -+ rdtsc(startlow,starthigh); -+ sleep_latch(); -+ rdtsc(endlow,endhigh); -+ -+ /* 64-bit subtract - gcc just messes up with long longs */ -+ __asm__("subl %2,%0\n\t" -+ "sbbl %3,%1" -+ :"=a" (endlow), "=d" (endhigh) -+ :"g" (startlow), "g" (starthigh), -+ "0" (endlow), "1" (endhigh)); -+ -+ /* Error: ECPUTOOFAST */ -+ if (endhigh) -+ goto bad_ctc; -+ -+ endlow *= TICKS_PER_LATCH; -+ return endlow; -+ -+ /* -+ * The CTC wasn't reliable: we got a hit on the very first read, -+ * or the CPU was so fast/slow that the quotient wouldn't fit in -+ * 32 bits.. -+ */ -+bad_ctc: -+ printf("bad_ctc\n"); -+ return 0; -+} -+ -+static unsigned long clocks_per_tick; -+void setup_timers(void) -+{ -+ if (!clocks_per_tick) { -+ clocks_per_tick = calibrate_tsc(); -+ /* Display the CPU Mhz to easily test if the calibration was bad */ -+ printf("CPU %ld Mhz\n", (clocks_per_tick/1000 * TICKS_PER_SEC)/1000); -+ } -+} -+ -+unsigned long currticks(void) -+{ -+ unsigned long clocks_high, clocks_low; -+ unsigned long currticks; -+ /* Read the Time Stamp Counter */ -+ rdtsc(clocks_low, clocks_high); -+ -+ /* currticks = clocks / clocks_per_tick; */ -+ __asm__("divl %1" -+ :"=a" (currticks) -+ :"r" (clocks_per_tick), "0" (clocks_low), "d" (clocks_high)); -+ -+ -+ return currticks; -+} -+ -+static unsigned long long timer_timeout; -+static int __timer_running(void) -+{ -+ unsigned long long now; -+ rdtscll(now); -+ return now < timer_timeout; -+} -+ -+void udelay(unsigned int usecs) -+{ -+ unsigned long long now; -+ rdtscll(now); -+ timer_timeout = now + usecs * ((clocks_per_tick * TICKS_PER_SEC)/(1000*1000)); -+ while(__timer_running()); -+} -+void ndelay(unsigned int nsecs) -+{ -+ unsigned long long now; -+ rdtscll(now); -+ timer_timeout = now + nsecs * ((clocks_per_tick * TICKS_PER_SEC)/(1000*1000*1000)); -+ while(__timer_running()); -+} -+ -+void load_timer2(unsigned int timer2_ticks) -+{ -+ unsigned long long now; -+ unsigned long clocks; -+ rdtscll(now); -+ clocks = timer2_ticks * ((clocks_per_tick * TICKS_PER_SEC)/CLOCK_TICK_RATE); -+ timer_timeout = now + clocks; -+} -+ -+int timer2_running(void) -+{ -+ return __timer_running(); -+} -+ -+#endif /* RTC_CURRTICKS */ -Index: b/netboot/i82586.c -=================================================================== ---- a/netboot/i82586.c -+++ /dev/null -@@ -1,825 +0,0 @@ --/************************************************************************** --Etherboot - BOOTP/TFTP Bootstrap Program --i82586 NIC driver for Etherboot --Ken Yap, January 1998 --***************************************************************************/ -- --/* -- * 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, or (at -- * your option) any later version. -- */ -- --#include "etherboot.h" --#include "nic.h" --#include "cards.h" --#include "timer.h" -- --#define udelay(n) waiton_timer2(((n)*TICKS_PER_MS)/1000) -- --/* Sources of information: -- -- Donald Becker's excellent 3c507 driver in Linux -- Intel 82596 data sheet (yes, 82596; it has a 586 compatibility mode) --*/ -- --/* Code below mostly stolen wholesale from 3c507.c driver in Linux */ -- --/* -- Details of the i82586. -- -- You'll really need the databook to understand the details of this part, -- but the outline is that the i82586 has two separate processing units. -- Both are started from a list of three configuration tables, of which only -- the last, the System Control Block (SCB), is used after reset-time. The SCB -- has the following fields: -- Status word -- Command word -- Tx/Command block addr. -- Rx block addr. -- The command word accepts the following controls for the Tx and Rx units: -- */ -- --#define CUC_START 0x0100 --#define CUC_RESUME 0x0200 --#define CUC_SUSPEND 0x0300 --#define RX_START 0x0010 --#define RX_RESUME 0x0020 --#define RX_SUSPEND 0x0030 -- --/* The Rx unit uses a list of frame descriptors and a list of data buffer -- descriptors. We use full-sized (1518 byte) data buffers, so there is -- a one-to-one pairing of frame descriptors to buffer descriptors. -- -- The Tx ("command") unit executes a list of commands that look like: -- Status word Written by the 82586 when the command is done. -- Command word Command in lower 3 bits, post-command action in upper 3 -- Link word The address of the next command. -- Parameters (as needed). -- -- Some definitions related to the Command Word are: -- */ --#define CMD_EOL 0x8000 /* The last command of the list, stop. */ --#define CMD_SUSP 0x4000 /* Suspend after doing cmd. */ --#define CMD_INTR 0x2000 /* Interrupt after doing cmd. */ -- --enum commands { -- CmdNOp = 0, CmdSASetup = 1, CmdConfigure = 2, CmdMulticastList = 3, -- CmdTx = 4, CmdTDR = 5, CmdDump = 6, CmdDiagnose = 7}; -- --/* -- Details of the EtherLink16 Implementation -- -- The 3c507 and NI5210 are generic shared-memory i82586 implementations. -- 3c507: The host can map 16K, 32K, 48K, or 64K of the 64K memory into -- 0x0[CD][08]0000, or all 64K into 0xF[02468]0000. -- NI5210: The host can map 8k or 16k at 0x[CDE][048C]000 but we -- assume 8k because to have 16k you cannot put a ROM on the NIC. -- */ -- --/* Offsets from the base I/O address. */ -- --#ifdef INCLUDE_3C507 -- --#define SA_DATA 0 /* Station address data, or 3Com signature. */ --#define MISC_CTRL 6 /* Switch the SA_DATA banks, and bus config bits. */ --#define RESET_IRQ 10 /* Reset the latched IRQ line. */ --#define I82586_ATTN 11 /* Frob the 82586 Channel Attention line. */ --#define ROM_CONFIG 13 --#define MEM_CONFIG 14 --#define IRQ_CONFIG 15 --#define EL16_IO_EXTENT 16 -- --/* The ID port is used at boot-time to locate the ethercard. */ --#define ID_PORT 0x100 -- --#endif -- --#ifdef INCLUDE_NI5210 -- --#define NI52_RESET 0 /* writing to this address, resets the i82586 */ --#define I82586_ATTN 1 /* channel attention, kick the 586 */ -- --#endif -- --#ifdef INCLUDE_EXOS205 -- --#define EXOS205_RESET 0 /* writing to this address, resets the i82586 */ --#define I82586_ATTN 1 /* channel attention, kick the 586 */ -- --#endif -- --/* Offsets to registers in the mailbox (SCB). */ --#define iSCB_STATUS 0x8 --#define iSCB_CMD 0xA --#define iSCB_CBL 0xC /* Command BLock offset. */ --#define iSCB_RFA 0xE /* Rx Frame Area offset. */ -- --/* Since the 3c507 maps the shared memory window so that the last byte is --at 82586 address FFFF, the first byte is at 82586 address 0, 16K, 32K, or --48K corresponding to window sizes of 64K, 48K, 32K and 16K respectively. --We can account for this be setting the 'SBC Base' entry in the ISCP table --below for all the 16 bit offset addresses, and also adding the 'SCB Base' --value to all 24 bit physical addresses (in the SCP table and the TX and RX --Buffer Descriptors). -- -Mark --*/ -- --/* -- What follows in 'init_words[]' is the "program" that is downloaded to the -- 82586 memory. It's mostly tables and command blocks, and starts at the -- reset address 0xfffff6. This is designed to be similar to the EtherExpress, -- thus the unusual location of the SCB at 0x0008. -- -- Even with the additional "don't care" values, doing it this way takes less -- program space than initializing the individual tables, and I feel it's much -- cleaner. -- -- The databook is particularly useless for the first two structures, I had -- to use the Crynwr driver as an example. -- -- The memory setup is as follows: --*/ -- --#define CONFIG_CMD 0x18 --#define SET_SA_CMD 0x24 --#define SA_OFFSET 0x2A --#define IDLELOOP 0x30 --#define TDR_CMD 0x38 --#define TDR_TIME 0x3C --#define DUMP_CMD 0x40 --#define DIAG_CMD 0x48 --#define SET_MC_CMD 0x4E --#define DUMP_DATA 0x56 /* A 170 byte buffer for dump and Set-MC into. */ -- --#define TX_BUF_START 0x0100 --#define TX_BUF_SIZE (1518+14+20+16) /* packet+header+TBD */ -- --#define RX_BUF_START 0x1000 --#define RX_BUF_SIZE (1518+14+18) /* packet+header+RBD */ --#define RX_BUF_END (mem_end - mem_start - 20) -- --/* -- That's it: only 86 bytes to set up the beast, including every extra -- command available. The 170 byte buffer at DUMP_DATA is shared between the -- Dump command (called only by the diagnostic program) and the SetMulticastList -- command. -- -- To complete the memory setup you only have to write the station address at -- SA_OFFSET and create the Tx & Rx buffer lists. -- -- The Tx command chain and buffer list is setup as follows: -- A Tx command table, with the data buffer pointing to... -- A Tx data buffer descriptor. The packet is in a single buffer, rather than -- chaining together several smaller buffers. -- A NoOp command, which initially points to itself, -- And the packet data. -- -- A transmit is done by filling in the Tx command table and data buffer, -- re-writing the NoOp command, and finally changing the offset of the last -- command to point to the current Tx command. When the Tx command is finished, -- it jumps to the NoOp, when it loops until the next Tx command changes the -- "link offset" in the NoOp. This way the 82586 never has to go through the -- slow restart sequence. -- -- The Rx buffer list is set up in the obvious ring structure. We have enough -- memory (and low enough interrupt latency) that we can avoid the complicated -- Rx buffer linked lists by alway associating a full-size Rx data buffer with -- each Rx data frame. -- -- I currently use one transmit buffer starting at TX_BUF_START (0x0100), and -- use the rest of memory, from RX_BUF_START to RX_BUF_END, for Rx buffers. -- -- */ -- --static unsigned short init_words[] = { -- /* System Configuration Pointer (SCP). */ --#if defined(INCLUDE_3C507) -- 0x0000, /* Set bus size to 16 bits. */ --#else -- 0x0001, /* Set bus size to 8 bits */ --#endif -- 0,0, /* pad words. */ -- 0x0000,0x0000, /* ISCP phys addr, set in init_82586_mem(). */ -- -- /* Intermediate System Configuration Pointer (ISCP). */ -- 0x0001, /* Status word that's cleared when init is done. */ -- 0x0008,0,0, /* SCB offset, (skip, skip) */ -- -- /* System Control Block (SCB). */ -- 0,0xf000|RX_START|CUC_START, /* SCB status and cmd. */ -- CONFIG_CMD, /* Command list pointer, points to Configure. */ -- RX_BUF_START, /* Rx block list. */ -- 0,0,0,0, /* Error count: CRC, align, buffer, overrun. */ -- -- /* 0x0018: Configure command. Change to put MAC data with packet. */ -- 0, CmdConfigure, /* Status, command. */ -- SET_SA_CMD, /* Next command is Set Station Addr. */ -- 0x0804, /* "4" bytes of config data, 8 byte FIFO. */ -- 0x2e40, /* Magic values, including MAC data location. */ -- 0, /* Unused pad word. */ -- -- /* 0x0024: Setup station address command. */ -- 0, CmdSASetup, -- SET_MC_CMD, /* Next command. */ -- 0xaa00,0xb000,0x0bad, /* Station address (to be filled in) */ -- -- /* 0x0030: NOP, looping back to itself. Point to first Tx buffer to Tx. */ -- 0, CmdNOp, IDLELOOP, 0 /* pad */, -- -- /* 0x0038: A unused Time-Domain Reflectometer command. */ -- 0, CmdTDR, IDLELOOP, 0, -- -- /* 0x0040: An unused Dump State command. */ -- 0, CmdDump, IDLELOOP, DUMP_DATA, -- -- /* 0x0048: An unused Diagnose command. */ -- 0, CmdDiagnose, IDLELOOP, -- -- /* 0x004E: An empty set-multicast-list command. */ -- 0, CmdMulticastList, IDLELOOP, 0, --}; -- --/* NIC specific static variables go here */ -- --static unsigned short ioaddr, irq, scb_base; --static Address mem_start, mem_end; --static unsigned short rx_head, rx_tail; -- --#define read_mem(m,s) fmemcpy((char *)s, m, sizeof(s)) -- --static void setup_rx_buffers(struct nic *nic) --{ -- Address write_ptr; -- unsigned short cur_rx_buf; -- static unsigned short rx_cmd[16] = { -- 0x0000, /* Rx status */ -- 0x0000, /* Rx command, only and last */ -- RX_BUF_START, /* Link (will be adjusted) */ -- RX_BUF_START + 22, /* Buffer offset (will be adjusted) */ -- 0x0000, 0x0000, 0x0000, /* Pad for dest addr */ -- 0x0000, 0x0000, 0x0000, /* Pad for source addr */ -- 0x0000, /* Pad for protocol */ -- 0x0000, /* Buffer: Actual count */ -- -1, /* Buffer: Next (none) */ -- RX_BUF_START + 0x20, /* Buffer: Address low (+ scb_base) (will be adjusted) */ -- 0x0000, /* Buffer: Address high */ -- 0x8000 | (RX_BUF_SIZE - 0x20) -- }; -- -- cur_rx_buf = rx_head = RX_BUF_START; -- do { /* While there is room for one more buffer */ -- write_ptr = mem_start + cur_rx_buf; -- /* adjust some contents */ -- rx_cmd[1] = 0x0000; -- rx_cmd[2] = cur_rx_buf + RX_BUF_SIZE; -- rx_cmd[3] = cur_rx_buf + 22; -- rx_cmd[13] = cur_rx_buf + 0x20 + scb_base; -- memcpy((char *)write_ptr, (char *)rx_cmd, sizeof(rx_cmd)); -- rx_tail = cur_rx_buf; -- cur_rx_buf += RX_BUF_SIZE; -- } while (cur_rx_buf <= RX_BUF_END - RX_BUF_SIZE); -- /* Terminate the list by setting the EOL bit and wrap ther pointer -- to make the list a ring. */ -- write_ptr = mem_start + rx_tail; -- rx_cmd[1] = 0xC000; -- rx_cmd[2] = rx_head; -- memcpy((char *)write_ptr, (char *)rx_cmd, sizeof(unsigned short) * 3); --} -- --static void ack_status(void) --{ -- unsigned short cmd, status; -- unsigned short *shmem = (short *)mem_start; -- -- cmd = (status = shmem[iSCB_STATUS>>1]) & 0xf000; -- if (status & 0x100) /* CU suspended? */ -- cmd |= CUC_RESUME; -- if ((status & 0x200) == 0) /* CU not active? */ -- cmd |= CUC_START; -- if (status & 0x010) /* RU suspended? */ -- cmd |= RX_RESUME; -- else if ((status & 0x040) == 0) /* RU not active? */ -- cmd |= RX_START; -- if (cmd == 0) /* Nothing to do */ -- return; -- shmem[iSCB_CMD>>1] = cmd; --#if defined(DEBUG) -- printf("Status %hX Command %hX\n", status, cmd); --#endif -- outb(0, ioaddr + I82586_ATTN); --} -- --/************************************************************************** --RESET - Reset adapter --***************************************************************************/ -- --static void i82586_reset(struct nic *nic) --{ -- unsigned long time; -- unsigned short *shmem = (short *)mem_start; -- -- /* put the card in its initial state */ -- --#ifdef INCLUDE_3C507 -- /* Enable loopback to protect the wire while starting up, -- and hold the 586 in reset during the memory initialisation. */ -- outb(0x20, ioaddr + MISC_CTRL); --#endif -- -- /* Fix the ISCP address and base. */ -- init_words[3] = scb_base; -- init_words[7] = scb_base; -- -- /* Write the words at 0xfff6. */ -- /* Write the words at 0x0000. */ -- /* Fill in the station address. */ -- memcpy((char *)(mem_end - 10), (char *)init_words, 10); -- memcpy((char *)mem_start, (char *)&init_words[5], sizeof(init_words) - 10); -- memcpy((char *)mem_start + SA_OFFSET, nic->node_addr, ETH_ALEN); -- setup_rx_buffers(nic); -- --#ifdef INCLUDE_3C507 -- /* Start the 586 by releasing the reset line, but leave loopback. */ -- outb(0xA0, ioaddr + MISC_CTRL); --#endif -- -- /* This was time consuming to track down; you need to give two channel -- attention signals to reliably start up the i82586. */ -- outb(0, ioaddr + I82586_ATTN); -- time = currticks() + TICKS_PER_SEC; /* allow 1 second to init */ -- while ( -- shmem[iSCB_STATUS>>1] == 0) -- { -- if (currticks() > time) -- { -- printf("i82586 initialisation timed out with status %hX, cmd %hX\n", -- shmem[iSCB_STATUS>>1], shmem[iSCB_CMD>>1]); -- break; -- } -- } -- /* Issue channel-attn -- the 82586 won't start. */ -- outb(0, ioaddr + I82586_ATTN); -- --#ifdef INCLUDE_3C507 -- /* Disable loopback. */ -- outb(0x80, ioaddr + MISC_CTRL); --#endif --#if defined(DEBUG) -- printf("i82586 status %hX, cmd %hX\n", -- shmem[iSCB_STATUS>>1], shmem[iSCB_CMD>>1]); --#endif --} -- --/************************************************************************** -- POLL - Wait for a frame -- ***************************************************************************/ --static int i82586_poll(struct nic *nic) --{ -- int status; -- unsigned short rfd_cmd, next_rx_frame, data_buffer_addr, -- frame_status, pkt_len; -- unsigned short *shmem = (short *)mem_start + rx_head; -- -- /* return true if there's an ethernet packet ready to read */ -- if ( -- ((frame_status = shmem[0]) & 0x8000) == 0) -- return (0); /* nope */ -- rfd_cmd = shmem[1]; -- next_rx_frame = shmem[2]; -- data_buffer_addr = shmem[3]; -- pkt_len = shmem[11]; -- status = 0; -- if (rfd_cmd != 0 || data_buffer_addr != rx_head + 22 -- || (pkt_len & 0xC000) != 0xC000) -- printf("\nRx frame corrupt, discarded"); -- else if ((frame_status & 0x2000) == 0) -- printf("\nRx frame had error"); -- else -- { -- /* We have a frame, copy it to our buffer */ -- pkt_len &= 0x3FFF; -- memcpy(nic->packet, (char *)mem_start + rx_head + 0x20, pkt_len); -- /* Only packets not from ourself */ -- if (memcmp(nic->packet + ETH_ALEN, nic->node_addr, ETH_ALEN) != 0) -- { -- nic->packetlen = pkt_len; -- status = 1; -- } -- } -- /* Clear the status word and set EOL on Rx frame */ -- shmem[0] = 0; -- shmem[1] = 0xC000; -- *(short *)(mem_start + rx_tail + 2) = 0; -- rx_tail = rx_head; -- rx_head = next_rx_frame; -- ack_status(); -- return (status); --} -- --/************************************************************************** -- TRANSMIT - Transmit a frame -- ***************************************************************************/ --static void i82586_transmit( -- struct nic *nic, -- const char *d, /* Destination */ -- unsigned int t, /* Type */ -- unsigned int s, /* size */ -- const char *p) /* Packet */ --{ -- Address bptr; -- unsigned short type, z; -- static unsigned short tx_cmd[11] = { -- 0x0, /* Tx status */ -- CmdTx, /* Tx command */ -- TX_BUF_START+16, /* Next command is a NoOp */ -- TX_BUF_START+8, /* Data Buffer offset */ -- 0x8000, /* | with size */ -- 0xffff, /* No next data buffer */ -- TX_BUF_START+22, /* + scb_base */ -- 0x0, /* Buffer address high bits (always zero) */ -- 0x0, /* Nop status */ -- CmdNOp, /* Nop command */ -- TX_BUF_START+16 /* Next is myself */ -- }; -- unsigned short *shmem = (short *)mem_start + TX_BUF_START; -- -- /* send the packet to destination */ -- /* adjust some contents */ -- type = htons(t); -- if (s < ETH_ZLEN) -- s = ETH_ZLEN; -- tx_cmd[4] = (s + ETH_HLEN) | 0x8000; -- tx_cmd[6] = TX_BUF_START + 22 + scb_base; -- bptr = mem_start + TX_BUF_START; -- memcpy((char *)bptr, (char *)tx_cmd, sizeof(tx_cmd)); -- bptr += sizeof(tx_cmd); -- memcpy((char *)bptr, d, ETH_ALEN); -- bptr += ETH_ALEN; -- memcpy((char *)bptr, nic->node_addr, ETH_ALEN); -- bptr += ETH_ALEN; -- memcpy((char *)bptr, (char *)&type, sizeof(type)); -- bptr += sizeof(type); -- memcpy((char *)bptr, p, s); -- /* Change the offset in the IDLELOOP */ -- *(unsigned short *)(mem_start + IDLELOOP + 4) = TX_BUF_START; -- /* Wait for transmit completion */ -- while ( -- (shmem[0] & 0x2000) == 0) -- ; -- /* Change the offset in the IDLELOOP back and -- change the final loop to point here */ -- *(unsigned short *)(mem_start + IDLELOOP + 4) = IDLELOOP; -- *(unsigned short *)(mem_start + TX_BUF_START + 20) = IDLELOOP; -- ack_status(); --} -- --/************************************************************************** -- DISABLE - Turn off ethernet interface -- ***************************************************************************/ --static void i82586_disable(struct nic *nic) --{ -- unsigned short *shmem = (short *)mem_start; -- --#if 0 -- /* Flush the Tx and disable Rx. */ -- shmem[iSCB_CMD>>1] = RX_SUSPEND | CUC_SUSPEND; -- outb(0, ioaddr + I82586_ATTN); --#ifdef INCLUDE_NI5210 -- outb(0, ioaddr + NI52_RESET); --#endif --#endif /* 0 */ --} -- --#ifdef INCLUDE_3C507 -- --static int t507_probe1(struct nic *nic, unsigned short ioaddr) --{ -- int i; -- Address size; -- char mem_config; -- char if_port; -- -- if (inb(ioaddr) != '*' || inb(ioaddr+1) != '3' -- || inb(ioaddr+2) != 'C' || inb(ioaddr+3) != 'O') -- return (0); -- irq = inb(ioaddr + IRQ_CONFIG) & 0x0f; -- mem_config = inb(ioaddr + MEM_CONFIG); -- if (mem_config & 0x20) -- { -- size = 65536L; -- mem_start = 0xf00000L + (mem_config & 0x08 ? 0x080000L -- : (((Address)mem_config & 0x3) << 17)); -- } -- else -- { -- size = ((((Address)mem_config & 0x3) + 1) << 14); -- mem_start = 0x0c0000L + (((Address)mem_config & 0x18) << 12); -- } -- mem_end = mem_start + size; -- scb_base = 65536L - size; -- if_port = inb(ioaddr + ROM_CONFIG) & 0x80; -- /* Get station address */ -- outb(0x01, ioaddr + MISC_CTRL); -- for (i = 0; i < ETH_ALEN; ++i) -- { -- nic->node_addr[i] = inb(ioaddr+i); -- } -- printf("\n3c507 ioaddr %#hX, IRQ %d, mem [%#X-%#X], %sternal xcvr, addr %!\n", -- ioaddr, irq, mem_start, mem_end, if_port ? "in" : "ex", nic->node_addr); -- return (1); --} -- --/************************************************************************** --PROBE - Look for an adapter, this routine's visible to the outside --***************************************************************************/ -- --struct nic *t507_probe(struct nic *nic, unsigned short *probe_addrs) --{ -- static unsigned char init_ID_done = 0; -- unsigned short lrs_state = 0xff; -- static unsigned short io_addrs[] = { 0x300, 0x320, 0x340, 0x280, 0 }; -- unsigned short *p; -- int i; -- -- if (init_ID_done == 0) -- { -- /* Send the ID sequence to the ID_PORT to enable the board */ -- outb(0x00, ID_PORT); -- for (i = 0; i < 255; ++i) -- { -- outb(lrs_state, ID_PORT); -- lrs_state <<= 1; -- if (lrs_state & 0x100) -- lrs_state ^= 0xe7; -- } -- outb(0x00, ID_PORT); -- init_ID_done = 1; -- } -- /* if probe_addrs is 0, then routine can use a hardwired default */ -- if (probe_addrs == 0) -- probe_addrs = io_addrs; -- for (p = probe_addrs; (ioaddr = *p) != 0; ++p) -- if (t507_probe1(nic, ioaddr)) -- break; -- if (ioaddr != 0) -- { -- /* point to NIC specific routines */ -- i82586_reset(nic); -- nic->reset = i82586_reset; -- nic->poll = i82586_poll; -- nic->transmit = i82586_transmit; -- nic->disable = i82586_disable; -- return nic; -- } -- /* else */ -- { -- return 0; -- } --} -- --#endif -- --#ifdef INCLUDE_NI5210 -- --static int ni5210_probe2(void) --{ -- unsigned short i; -- unsigned short shmem[10]; -- -- /* Fix the ISCP address and base. */ -- init_words[3] = scb_base; -- init_words[7] = scb_base; -- -- /* Write the words at 0xfff6. */ -- /* Write the words at 0x0000. */ -- memcpy((char *)(mem_end - 10), (char *)init_words, 10); -- memcpy((char *)mem_start, (char *)&init_words[5], sizeof(init_words) - 10); -- if (*(unsigned short *)mem_start != 1) -- return (0); -- outb(0, ioaddr + NI52_RESET); -- outb(0, ioaddr + I82586_ATTN); -- udelay(32); -- i = 50; -- while ( -- shmem[iSCB_STATUS>>1] == 0) -- { -- if (--i == 0) -- { -- printf("i82586 initialisation timed out with status %hX, cmd %hX\n", -- shmem[iSCB_STATUS>>1], shmem[iSCB_CMD>>1]); -- break; -- } -- } -- /* Issue channel-attn -- the 82586 won't start. */ -- outb(0, ioaddr + I82586_ATTN); -- if (*(unsigned short *)mem_start != 0) -- return (0); -- return (1); --} -- --static int ni5210_probe1(struct nic *nic) --{ -- int i; -- static Address mem_addrs[] = { -- 0xc0000, 0xc4000, 0xc8000, 0xcc000, -- 0xd0000, 0xd4000, 0xd8000, 0xdc000, -- 0xe0000, 0xe4000, 0xe8000, 0xec000, -- 0 }; -- Address *p; -- -- if (inb(ioaddr + 6) != 0x0 || inb(ioaddr + 7) != 0x55) -- return (0); -- scb_base = -8192; /* assume 8k memory */ -- for (p = mem_addrs; (mem_start = *p) != 0; ++p) -- if (mem_end = mem_start + 8192, ni5210_probe2()) -- break; -- if (mem_start == 0) -- return (0); -- /* Get station address */ -- for (i = 0; i < ETH_ALEN; ++i) -- { -- nic->node_addr[i] = inb(ioaddr+i); -- } -- printf("\nNI5210 ioaddr %#hX, mem [%#X-%#X], addr %!\n", -- ioaddr, mem_start, mem_end, nic->node_addr); -- return (1); --} -- --struct nic *ni5210_probe(struct nic *nic, unsigned short *probe_addrs) --{ -- /* missing entries are addresses usually already used */ -- static unsigned short io_addrs[] = { -- 0x200, 0x208, 0x210, 0x218, 0x220, 0x228, 0x230, 0x238, -- 0x240, 0x248, 0x250, 0x258, 0x260, 0x268, 0x270, /*Par*/ -- 0x280, 0x288, 0x290, 0x298, 0x2A0, 0x2A8, 0x2B0, 0x2B8, -- 0x2C0, 0x2C8, 0x2D0, 0x2D8, 0x2E0, 0x2E8, 0x2F0, /*Ser*/ -- 0x300, 0x308, 0x310, 0x318, 0x320, 0x328, 0x330, 0x338, -- 0x340, 0x348, 0x350, 0x358, 0x360, 0x368, 0x370, /*Par*/ -- 0x380, 0x388, 0x390, 0x398, 0x3A0, 0x3A8, /*Vid,Par*/ -- 0x3C0, 0x3C8, 0x3D0, 0x3D8, 0x3E0, 0x3E8, /*Ser*/ -- 0x0 -- }; -- unsigned short *p; -- int i; -- -- /* if probe_addrs is 0, then routine can use a hardwired default */ -- if (probe_addrs == 0) -- probe_addrs = io_addrs; -- for (p = probe_addrs; (ioaddr = *p) != 0; ++p) -- if (ni5210_probe1(nic)) -- break; -- if (ioaddr != 0) -- { -- /* point to NIC specific routines */ -- i82586_reset(nic); -- nic->reset = i82586_reset; -- nic->poll = i82586_poll; -- nic->transmit = i82586_transmit; -- nic->disable = i82586_disable; -- return nic; -- } -- /* else */ -- { -- return 0; -- } --} --#endif -- --#ifdef INCLUDE_EXOS205 -- --/* -- * Code to download to I186 in EXOS205 -- */ -- --static unsigned char exos_i186_init[] = --{ --0x08,0x00,0x14,0x00,0x00,0x00,0xaa,0xfa,0x33,0xc0,0xba,0xfe,0xff,0xef,0xb8,0xf8, --0xff,0xe7,0xa0,0xb8,0x7c,0x00,0xe7,0xa4,0xb8,0xbc,0x80,0xe7,0xa8,0x8c,0xc8,0x8e, --0xd8,0xbb,0x2f,0x0e,0xc6,0x07,0xa5,0x33,0xc9,0xeb,0x00,0xeb,0x00,0xeb,0x00,0xe2, --0xf8,0xbe,0x2c,0x0e,0xba,0x02,0x05,0x33,0xdb,0xb9,0x03,0x00,0xec,0x24,0x0f,0x8a, --0xe0,0x02,0xd8,0x42,0x42,0xec,0x02,0xd8,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0, --0x0a,0xc4,0x88,0x04,0x42,0x42,0x46,0xe2,0xe3,0x8a,0xe3,0xd0,0xec,0xd0,0xec,0xd0, --0xec,0xd0,0xec,0x80,0xe3,0x0f,0x02,0xe3,0x80,0xf4,0x05,0xec,0x3a,0xe0,0x74,0x05, --0xc6,0x04,0x5a,0xeb,0xfe,0xc6,0x04,0x55,0x33,0xc0,0x8e,0xd8,0xbe,0x38,0x00,0xc7, --0x04,0xce,0x0e,0x46,0x46,0xc7,0x04,0x00,0xff,0xfb,0xba,0x3c,0x00,0xb8,0x03,0x00, --0xef,0x33,0xdb,0x33,0xc9,0xbd,0x04,0x0f,0x90,0x90,0x90,0x90,0xe2,0xfa,0x43,0x2e, --0x89,0x5e,0x00,0xeb,0xf3,0x52,0xba,0x00,0x06,0xef,0x50,0x53,0x55,0xbd,0xf8,0x0e, --0x2e,0x8b,0x5e,0x00,0x43,0x2e,0x89,0x5e,0x00,0xba,0x22,0x00,0xb8,0x00,0x80,0xef, --0x5d,0x5b,0x58,0x5a,0xcf,0x49,0x4e,0x54,0x52,0x20,0x63,0x6e,0x74,0x2d,0x3e,0x00, --0x00,0x4c,0x4f,0x4f,0x50,0x20,0x63,0x6e,0x74,0x2d,0x3e,0x00,0x00,0x00,0x00,0x00, --0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, --0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, --0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, --0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, --0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, --0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, --0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, --0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, --0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, --0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, --0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, --0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, --0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, --0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, --0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xea,0x30,0x0e,0x00,0xff,0x00,0x00,0x00,0x00, --0x00,0x00,0x00,0x00,0x00,0x00,00 --}; -- --/* These offsets are from the end of the i186 download code */ -- --#define OFFSET_SEMA 0x1D1 --#define OFFSET_ADDR 0x1D7 -- --static int exos205_probe2(void) --{ -- unsigned short i; -- unsigned short shmem[10]; -- -- /* Fix the ISCP address and base. */ -- init_words[3] = scb_base; -- init_words[7] = scb_base; -- -- /* Write the words at 0xfff6. */ -- /* Write the words at 0x0000. */ -- memcpy((char *)(mem_end - 10), (char *)init_words, 10); -- memcpy((char *)mem_start, (char *)&init_words[5], sizeof(init_words) - 10); -- if (*(unsigned short *)mem_start != 1) -- return (0); -- outb(0, ioaddr + EXOS205_RESET); -- outb(0, ioaddr + I82586_ATTN); -- i = 50; -- while ( -- shmem[iSCB_STATUS>>1] == 0) -- { -- if (--i == 0) -- { -- printf("i82586 initialisation timed out with status %hX, cmd %hX\n", -- shmem[iSCB_STATUS>>1], shmem[iSCB_CMD>>1]); -- break; -- } -- } -- /* Issue channel-attn -- the 82586 won't start. */ -- outb(0, ioaddr + I82586_ATTN); -- if (*(unsigned short *)mem_start != 0) -- return (0); -- return (1); --} -- --static int exos205_probe1(struct nic *nic) --{ -- int i; -- /* If you know the other addresses please let me know */ -- static Address mem_addrs[] = { -- 0xcc000, 0 }; -- Address *p; -- -- scb_base = -16384; /* assume 8k memory */ -- for (p = mem_addrs; (mem_start = *p) != 0; ++p) -- if (mem_end = mem_start + 16384, exos205_probe2()) -- break; -- if (mem_start == 0) -- return (0); -- /* Get station address */ -- for (i = 0; i < ETH_ALEN; ++i) -- { -- nic->node_addr[i] = inb(ioaddr+i); -- } -- printf("\nEXOS205 ioaddr %#hX, mem [%#X-%#X], addr %!\n", -- ioaddr, mem_start, mem_end, nic->node_addr); -- return (1); --} -- --struct nic *exos205_probe(struct nic *nic, unsigned short *probe_addrs) --{ -- /* If you know the other addresses, please let me know */ -- static unsigned short io_addrs[] = { -- 0x310, 0x0 -- }; -- unsigned short *p; -- int i; -- -- /* if probe_addrs is 0, then routine can use a hardwired default */ -- if (probe_addrs == 0) -- probe_addrs = io_addrs; -- for (p = probe_addrs; (ioaddr = *p) != 0; ++p) -- if (exos205_probe1(nic)) -- break; -- if (ioaddr != 0) -- { -- /* point to NIC specific routines */ -- i82586_reset(nic); -- nic->reset = i82586_reset; -- nic->poll = i82586_poll; -- nic->transmit = i82586_transmit; -- nic->disable = i82586_disable; -- return nic; -- } -- /* else */ -- { -- return 0; -- } --} -- --#endif -Index: b/netboot/if_arp.h -=================================================================== ---- /dev/null -+++ b/netboot/if_arp.h -@@ -0,0 +1,29 @@ -+#ifndef _IF_ARP_H -+#define _IF_ARP_H -+ -+#include "types.h" -+ -+#define ARP_REQUEST 1 -+#define ARP_REPLY 2 -+ -+#ifndef MAX_ARP_RETRIES -+#define MAX_ARP_RETRIES 20 -+#endif -+ -+/* -+ * A pity sipaddr and tipaddr are not longword aligned or we could use -+ * in_addr. No, I don't want to use #pragma packed. -+ */ -+struct arprequest { -+ uint16_t hwtype; -+ uint16_t protocol; -+ uint8_t hwlen; -+ uint8_t protolen; -+ uint16_t opcode; -+ uint8_t shwaddr[6]; -+ uint8_t sipaddr[4]; -+ uint8_t thwaddr[6]; -+ uint8_t tipaddr[4]; -+}; -+ -+#endif /* _IF_ARP_H */ -Index: b/netboot/if_ether.h -=================================================================== ---- /dev/null -+++ b/netboot/if_ether.h -@@ -0,0 +1,21 @@ -+#ifndef _IF_ETHER_H -+#define _IF_ETHER_H -+ -+/* -+ I'm moving towards the defined names in linux/if_ether.h for clarity. -+ The confusion between 60/64 and 1514/1518 arose because the NS8390 -+ counts the 4 byte frame checksum in the incoming packet, but not -+ in the outgoing packet. 60/1514 are the correct numbers for most -+ if not all of the other NIC controllers. -+*/ -+ -+#define ETH_ALEN 6 /* Size of Ethernet address */ -+#define ETH_HLEN 14 /* Size of ethernet header */ -+#define ETH_ZLEN 60 /* Minimum packet */ -+#define ETH_FRAME_LEN 1514 /* Maximum packet */ -+#define ETH_DATA_ALIGN 2 /* Amount needed to align the data after an ethernet header */ -+#ifndef ETH_MAX_MTU -+#define ETH_MAX_MTU (ETH_FRAME_LEN-ETH_HLEN) -+#endif -+ -+#endif /* _IF_ETHER_H */ -Index: b/netboot/igmp.h -=================================================================== ---- /dev/null -+++ b/netboot/igmp.h -@@ -0,0 +1,27 @@ -+#ifndef _IGMP_H -+#define _IGMP_H -+ -+/* Max interval between IGMP packets */ -+#define IGMP_INTERVAL (10*TICKS_PER_SEC) -+#define IGMPv1_ROUTER_PRESENT_TIMEOUT (400*TICKS_PER_SEC) -+ -+#define IGMP_QUERY 0x11 -+#define IGMPv1_REPORT 0x12 -+#define IGMPv2_REPORT 0x16 -+#define IGMP_LEAVE 0x17 -+#define GROUP_ALL_HOSTS 0xe0000001 /* 224.0.0.1 Host byte order */ -+ -+struct igmp { -+ uint8_t type; -+ uint8_t response_time; -+ uint16_t chksum; -+ in_addr group; -+}; -+ -+struct igmp_ip_t { /* Format of an igmp ip packet */ -+ struct iphdr ip; -+ uint8_t router_alert[4]; /* Router alert option */ -+ struct igmp igmp; -+}; -+ -+#endif /* _IGMP_H */ -Index: b/netboot/in.h -=================================================================== ---- /dev/null -+++ b/netboot/in.h -@@ -0,0 +1,21 @@ -+#ifndef _IN_H -+#define _IN_H -+ -+#include "types.h" -+ -+#define IP 0x0800 -+#define ARP 0x0806 -+#define RARP 0x8035 -+ -+#define IP_ICMP 1 -+#define IP_IGMP 2 -+#define IP_UDP 17 -+ -+/* Same after going through htonl */ -+#define IP_BROADCAST 0xFFFFFFFF -+ -+typedef struct { -+ uint32_t s_addr; -+} in_addr; -+ -+#endif /* _IN_H */ -Index: b/netboot/io.h -=================================================================== ---- /dev/null -+++ b/netboot/io.h -@@ -0,0 +1,239 @@ -+#ifndef IO_H -+#define IO_H -+ -+ -+/* Amount of relocation etherboot is experiencing */ -+extern unsigned long virt_offset; -+ -+/* Don't require identity mapped physical memory, -+ * osloader.c is the only valid user at the moment. -+ */ -+unsigned long virt_to_phys(volatile const void *virt_addr); -+void *phys_to_virt(unsigned long phys_addr); -+ -+/* virt_to_bus converts an addresss inside of etherboot [_start, _end] -+ * into a memory access cards can use. -+ */ -+#define virt_to_bus virt_to_phys -+ -+ -+/* bus_to_virt reverses virt_to_bus, the address must be output -+ * from virt_to_bus to be valid. This function does not work on -+ * all bus addresses. -+ */ -+#define bus_to_virt phys_to_virt -+ -+/* ioremap converts a random 32bit bus address into something -+ * etherboot can access. -+ */ -+static inline void *ioremap(unsigned long bus_addr, unsigned long length __unused) -+{ -+ return bus_to_virt(bus_addr); -+} -+ -+/* iounmap cleans up anything ioremap had to setup */ -+static inline void iounmap(void *virt_addr __unused) -+{ -+ return; -+} -+ -+/* -+ * This file contains the definitions for the x86 IO instructions -+ * inb/inw/inl/outb/outw/outl and the "string versions" of the same -+ * (insb/insw/insl/outsb/outsw/outsl). You can also use "pausing" -+ * versions of the single-IO instructions (inb_p/inw_p/..). -+ * -+ * This file is not meant to be obfuscating: it's just complicated -+ * to (a) handle it all in a way that makes gcc able to optimize it -+ * as well as possible and (b) trying to avoid writing the same thing -+ * over and over again with slight variations and possibly making a -+ * mistake somewhere. -+ */ -+ -+/* -+ * Thanks to James van Artsdalen for a better timing-fix than -+ * the two short jumps: using outb's to a nonexistent port seems -+ * to guarantee better timings even on fast machines. -+ * -+ * On the other hand, I'd like to be sure of a non-existent port: -+ * I feel a bit unsafe about using 0x80 (should be safe, though) -+ * -+ * Linus -+ */ -+ -+#ifdef SLOW_IO_BY_JUMPING -+#define __SLOW_DOWN_IO __asm__ __volatile__("jmp 1f\n1:\tjmp 1f\n1:") -+#else -+#define __SLOW_DOWN_IO __asm__ __volatile__("outb %al,$0x80") -+#endif -+ -+#ifdef REALLY_SLOW_IO -+#define SLOW_DOWN_IO { __SLOW_DOWN_IO; __SLOW_DOWN_IO; __SLOW_DOWN_IO; __SLOW_DOWN_IO; } -+#else -+#define SLOW_DOWN_IO __SLOW_DOWN_IO -+#endif -+ -+/* -+ * readX/writeX() are used to access memory mapped devices. On some -+ * architectures the memory mapped IO stuff needs to be accessed -+ * differently. On the x86 architecture, we just read/write the -+ * memory location directly. -+ */ -+#define readb(addr) (*(volatile unsigned char *) (addr)) -+#define readw(addr) (*(volatile unsigned short *) (addr)) -+#define readl(addr) (*(volatile unsigned int *) (addr)) -+ -+#define writeb(b,addr) ((*(volatile unsigned char *) (addr)) = (b)) -+#define writew(b,addr) ((*(volatile unsigned short *) (addr)) = (b)) -+#define writel(b,addr) ((*(volatile unsigned int *) (addr)) = (b)) -+ -+#define memcpy_fromio(a,b,c) memcpy((a),(void *)(b),(c)) -+#define memcpy_toio(a,b,c) memcpy((void *)(a),(b),(c)) -+ -+/* -+ * Force strict CPU ordering. -+ * And yes, this is required on UP too when we're talking -+ * to devices. -+ * -+ * For now, "wmb()" doesn't actually do anything, as all -+ * Intel CPU's follow what Intel calls a *Processor Order*, -+ * in which all writes are seen in the program order even -+ * outside the CPU. -+ * -+ * I expect future Intel CPU's to have a weaker ordering, -+ * but I'd also expect them to finally get their act together -+ * and add some real memory barriers if so. -+ * -+ * Some non intel clones support out of order store. wmb() ceases to be a -+ * nop for these. -+ */ -+ -+#define mb() __asm__ __volatile__ ("lock; addl $0,0(%%esp)": : :"memory") -+#define rmb() mb() -+#define wmb() mb(); -+ -+ -+/* -+ * Talk about misusing macros.. -+ */ -+ -+#define __OUT1(s,x) \ -+extern void __out##s(unsigned x value, unsigned short port); \ -+extern inline void __out##s(unsigned x value, unsigned short port) { -+ -+#define __OUT2(s,s1,s2) \ -+__asm__ __volatile__ ("out" #s " %" s1 "0,%" s2 "1" -+ -+#define __OUT(s,s1,x) \ -+__OUT1(s,x) __OUT2(s,s1,"w") : : "a" (value), "d" (port)); } \ -+__OUT1(s##c,x) __OUT2(s,s1,"") : : "a" (value), "id" (port)); } \ -+__OUT1(s##_p,x) __OUT2(s,s1,"w") : : "a" (value), "d" (port)); SLOW_DOWN_IO; } \ -+__OUT1(s##c_p,x) __OUT2(s,s1,"") : : "a" (value), "id" (port)); SLOW_DOWN_IO; } -+ -+#define __IN1(s,x) \ -+extern unsigned x __in##s(unsigned short port); \ -+extern inline unsigned x __in##s(unsigned short port) { unsigned x _v; -+ -+#define __IN2(s,s1,s2) \ -+__asm__ __volatile__ ("in" #s " %" s2 "1,%" s1 "0" -+ -+#define __IN(s,s1,x,i...) \ -+__IN1(s,x) __IN2(s,s1,"w") : "=a" (_v) : "d" (port) ,##i ); return _v; } \ -+__IN1(s##c,x) __IN2(s,s1,"") : "=a" (_v) : "id" (port) ,##i ); return _v; } \ -+__IN1(s##_p,x) __IN2(s,s1,"w") : "=a" (_v) : "d" (port) ,##i ); SLOW_DOWN_IO; return _v; } \ -+__IN1(s##c_p,x) __IN2(s,s1,"") : "=a" (_v) : "id" (port) ,##i ); SLOW_DOWN_IO; return _v; } -+ -+#define __INS(s) \ -+extern void ins##s(unsigned short port, void * addr, unsigned long count); \ -+extern inline void ins##s(unsigned short port, void * addr, unsigned long count) \ -+{ __asm__ __volatile__ ("cld ; rep ; ins" #s \ -+: "=D" (addr), "=c" (count) : "d" (port),"0" (addr),"1" (count)); } -+ -+#define __OUTS(s) \ -+extern void outs##s(unsigned short port, const void * addr, unsigned long count); \ -+extern inline void outs##s(unsigned short port, const void * addr, unsigned long count) \ -+{ __asm__ __volatile__ ("cld ; rep ; outs" #s \ -+: "=S" (addr), "=c" (count) : "d" (port),"0" (addr),"1" (count)); } -+ -+__IN(b,"", char) -+__IN(w,"",short) -+__IN(l,"", long) -+ -+__OUT(b,"b",char) -+__OUT(w,"w",short) -+__OUT(l,,int) -+ -+__INS(b) -+__INS(w) -+__INS(l) -+ -+__OUTS(b) -+__OUTS(w) -+__OUTS(l) -+ -+/* -+ * Note that due to the way __builtin_constant_p() works, you -+ * - can't use it inside a inline function (it will never be true) -+ * - you don't have to worry about side effects within the __builtin.. -+ */ -+#define outb(val,port) \ -+((__builtin_constant_p((port)) && (port) < 256) ? \ -+ __outbc((val),(port)) : \ -+ __outb((val),(port))) -+ -+#define inb(port) \ -+((__builtin_constant_p((port)) && (port) < 256) ? \ -+ __inbc(port) : \ -+ __inb(port)) -+ -+#define outb_p(val,port) \ -+((__builtin_constant_p((port)) && (port) < 256) ? \ -+ __outbc_p((val),(port)) : \ -+ __outb_p((val),(port))) -+ -+#define inb_p(port) \ -+((__builtin_constant_p((port)) && (port) < 256) ? \ -+ __inbc_p(port) : \ -+ __inb_p(port)) -+ -+#define outw(val,port) \ -+((__builtin_constant_p((port)) && (port) < 256) ? \ -+ __outwc((val),(port)) : \ -+ __outw((val),(port))) -+ -+#define inw(port) \ -+((__builtin_constant_p((port)) && (port) < 256) ? \ -+ __inwc(port) : \ -+ __inw(port)) -+ -+#define outw_p(val,port) \ -+((__builtin_constant_p((port)) && (port) < 256) ? \ -+ __outwc_p((val),(port)) : \ -+ __outw_p((val),(port))) -+ -+#define inw_p(port) \ -+((__builtin_constant_p((port)) && (port) < 256) ? \ -+ __inwc_p(port) : \ -+ __inw_p(port)) -+ -+#define outl(val,port) \ -+((__builtin_constant_p((port)) && (port) < 256) ? \ -+ __outlc((val),(port)) : \ -+ __outl((val),(port))) -+ -+#define inl(port) \ -+((__builtin_constant_p((port)) && (port) < 256) ? \ -+ __inlc(port) : \ -+ __inl(port)) -+ -+#define outl_p(val,port) \ -+((__builtin_constant_p((port)) && (port) < 256) ? \ -+ __outlc_p((val),(port)) : \ -+ __outl_p((val),(port))) -+ -+#define inl_p(port) \ -+((__builtin_constant_p((port)) && (port) < 256) ? \ -+ __inlc_p(port) : \ -+ __inl_p(port)) -+ -+#endif /* ETHERBOOT_IO_H */ -Index: b/netboot/ip.h -=================================================================== ---- /dev/null -+++ b/netboot/ip.h -@@ -0,0 +1,36 @@ -+#ifndef _IP_H -+#define _IP_H -+ -+/* We need 'uint16_t' */ -+#include "types.h" -+/* We need 'in_addr' */ -+#include "in.h" -+ -+struct iphdr { -+ uint8_t verhdrlen; -+ uint8_t service; -+ uint16_t len; -+ uint16_t ident; -+ uint16_t frags; -+ uint8_t ttl; -+ uint8_t protocol; -+ uint16_t chksum; -+ in_addr src; -+ in_addr dest; -+}; -+ -+extern void build_ip_hdr(unsigned long __destip, int __ttl, int __protocol, -+ int __option_len, int __len, const void * __buf); -+ -+extern int ip_transmit(int __len, const void * __buf); -+ -+extern uint16_t ipchksum(const void * __data, unsigned long __length); -+ -+extern uint16_t add_ipchksums(unsigned long __offset, uint16_t __sum, -+ uint16_t __new); -+ -+ -+ -+ -+ -+#endif /* _IP_H */ -Index: b/netboot/isa.h -=================================================================== ---- /dev/null -+++ b/netboot/isa.h -@@ -0,0 +1,27 @@ -+#if !defined(ISA_H) && defined(CONFIG_ISA) -+#define ISA_H -+ -+struct dev; -+ -+#define ISAPNP_VENDOR(a,b,c) (((((a)-'A'+1)&0x3f)<<2)|\ -+ ((((b)-'A'+1)&0x18)>>3)|((((b)-'A'+1)&7)<<13)|\ -+ ((((c)-'A'+1)&0x1f)<<8)) -+ -+#define GENERIC_ISAPNP_VENDOR ISAPNP_VENDOR('P','N','P') -+ -+struct isa_driver -+{ -+ int type; -+ const char *name; -+ int (*probe)(struct dev *, unsigned short *); -+ unsigned short *ioaddrs; -+}; -+ -+#define __isa_driver __attribute__ ((unused,__section__(".drivers.isa"))) -+extern const struct isa_driver isa_drivers[]; -+extern const struct isa_driver isa_drivers_end[]; -+ -+#define ISA_ROM(IMAGE, DESCRIPTION) -+ -+#endif /* ISA_H */ -+ -Index: b/netboot/lance.c -=================================================================== ---- a/netboot/lance.c -+++ /dev/null -@@ -1,564 +0,0 @@ --/************************************************************************** --Etherboot - BOOTP/TFTP Bootstrap Program --LANCE NIC driver for Etherboot --Large portions borrowed from the Linux LANCE driver by Donald Becker --Ken Yap, July 1997 --***************************************************************************/ -- --/* -- * 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, or (at -- * your option) any later version. -- */ -- --/* to get some global routines like printf */ --#include "etherboot.h" --/* to get the interface to the body of the program */ --#include "nic.h" --#ifdef INCLUDE_LANCE --#include "pci.h" --#endif --#include "cards.h" -- --/* Offsets from base I/O address */ --#if defined(INCLUDE_NE2100) || defined(INCLUDE_LANCE) --#define LANCE_ETH_ADDR 0x0 --#define LANCE_DATA 0x10 --#define LANCE_ADDR 0x12 --#define LANCE_RESET 0x14 --#define LANCE_BUS_IF 0x16 --#define LANCE_TOTAL_SIZE 0x18 --#endif --#ifdef INCLUDE_NI6510 --#define LANCE_ETH_ADDR 0x8 --#define LANCE_DATA 0x0 --#define LANCE_ADDR 0x2 --#define LANCE_RESET 0x4 --#define LANCE_BUS_IF 0x6 --#define LANCE_TOTAL_SIZE 0x10 --#endif -- --/* lance_poll() now can use multiple Rx buffers to prevent packet loss. Set -- * Set LANCE_LOG_RX_BUFFERS to 0..7 for 1, 2, 4, 8, 16, 32, 64 or 128 Rx -- * buffers. Usually 4 (=16 Rx buffers) is a good value. (Andreas Neuhaus) -- * Decreased to 2 (=4 Rx buffers) (Ken Yap, 20010305) */ -- --#define LANCE_LOG_RX_BUFFERS 2 /* Use 2^2=4 Rx buffers */ -- --#define RX_RING_SIZE (1 << (LANCE_LOG_RX_BUFFERS)) --#define RX_RING_MOD_MASK (RX_RING_SIZE - 1) --#define RX_RING_LEN_BITS ((LANCE_LOG_RX_BUFFERS) << 29) -- --struct lance_init_block --{ -- unsigned short mode; -- unsigned char phys_addr[ETH_ALEN]; -- unsigned long filter[2]; -- Address rx_ring; -- Address tx_ring; --}; -- --struct lance_rx_head --{ -- union { -- Address base; -- unsigned char addr[4]; -- } u; -- short buf_length; /* 2s complement */ -- short msg_length; --}; -- --struct lance_tx_head --{ -- union { -- Address base; -- unsigned char addr[4]; -- } u; -- short buf_length; /* 2s complement */ -- short misc; --}; -- --struct lance_interface --{ -- struct lance_init_block init_block; -- struct lance_rx_head rx_ring[RX_RING_SIZE]; -- struct lance_tx_head tx_ring; -- unsigned char rbuf[RX_RING_SIZE][ETH_FRAME_LEN+4]; -- unsigned char tbuf[ETH_FRAME_LEN]; -- /* -- * Do not alter the order of the struct members above; -- * the hardware depends on the correct alignment. -- */ -- int rx_idx; --}; -- --#define LANCE_MUST_PAD 0x00000001 --#define LANCE_ENABLE_AUTOSELECT 0x00000002 --#define LANCE_SELECT_PHONELINE 0x00000004 --#define LANCE_MUST_UNRESET 0x00000008 -- --/* A mapping from the chip ID number to the part number and features. -- These are from the datasheets -- in real life the '970 version -- reportedly has the same ID as the '965. */ --static const struct lance_chip_type --{ -- int id_number; -- const char *name; -- int flags; --} chip_table[] = { -- {0x0000, "LANCE 7990", /* Ancient lance chip. */ -- LANCE_MUST_PAD + LANCE_MUST_UNRESET}, -- {0x0003, "PCnet/ISA 79C960", /* 79C960 PCnet/ISA. */ -- LANCE_ENABLE_AUTOSELECT}, -- {0x2260, "PCnet/ISA+ 79C961", /* 79C961 PCnet/ISA+, Plug-n-Play. */ -- LANCE_ENABLE_AUTOSELECT}, -- {0x2420, "PCnet/PCI 79C970", /* 79C970 or 79C974 PCnet-SCSI, PCI. */ -- LANCE_ENABLE_AUTOSELECT}, -- /* Bug: the PCnet/PCI actually uses the PCnet/VLB ID number, so just call -- it the PCnet32. */ -- {0x2430, "PCnet32", /* 79C965 PCnet for VL bus. */ -- LANCE_ENABLE_AUTOSELECT}, -- {0x2621, "PCnet/PCI-II 79C970A", /* 79C970A PCInetPCI II. */ -- LANCE_ENABLE_AUTOSELECT}, -- {0x2625, "PCnet-FAST III 79C973", /* 79C973 PCInet-FAST III. */ -- LANCE_ENABLE_AUTOSELECT}, -- {0x2626, "PCnet/HomePNA 79C978", -- LANCE_ENABLE_AUTOSELECT|LANCE_SELECT_PHONELINE}, -- {0x0, "PCnet (unknown)", -- LANCE_ENABLE_AUTOSELECT}, --}; -- --/* Define a macro for converting program addresses to real addresses */ --#undef virt_to_bus --#define virt_to_bus(x) ((unsigned long)x) -- --static int chip_version; --static int lance_version; --static unsigned short ioaddr; --#ifndef INCLUDE_LANCE --static int dma; --#endif --static struct lance_interface *lp; -- --/* additional 8 bytes for 8-byte alignment space */ --#ifdef USE_LOWMEM_BUFFER --#define lance ((char *)0x10000 - (sizeof(struct lance_interface)+8)) --#else --static char lance[sizeof(struct lance_interface)+8]; --#endif -- --#ifndef INCLUDE_LANCE --/* DMA defines and helper routines */ -- --/* DMA controller registers */ --#define DMA1_CMD_REG 0x08 /* command register (w) */ --#define DMA1_STAT_REG 0x08 /* status register (r) */ --#define DMA1_REQ_REG 0x09 /* request register (w) */ --#define DMA1_MASK_REG 0x0A /* single-channel mask (w) */ --#define DMA1_MODE_REG 0x0B /* mode register (w) */ --#define DMA1_CLEAR_FF_REG 0x0C /* clear pointer flip-flop (w) */ --#define DMA1_TEMP_REG 0x0D /* Temporary Register (r) */ --#define DMA1_RESET_REG 0x0D /* Master Clear (w) */ --#define DMA1_CLR_MASK_REG 0x0E /* Clear Mask */ --#define DMA1_MASK_ALL_REG 0x0F /* all-channels mask (w) */ -- --#define DMA2_CMD_REG 0xD0 /* command register (w) */ --#define DMA2_STAT_REG 0xD0 /* status register (r) */ --#define DMA2_REQ_REG 0xD2 /* request register (w) */ --#define DMA2_MASK_REG 0xD4 /* single-channel mask (w) */ --#define DMA2_MODE_REG 0xD6 /* mode register (w) */ --#define DMA2_CLEAR_FF_REG 0xD8 /* clear pointer flip-flop (w) */ --#define DMA2_TEMP_REG 0xDA /* Temporary Register (r) */ --#define DMA2_RESET_REG 0xDA /* Master Clear (w) */ --#define DMA2_CLR_MASK_REG 0xDC /* Clear Mask */ --#define DMA2_MASK_ALL_REG 0xDE /* all-channels mask (w) */ -- -- --#define DMA_MODE_READ 0x44 /* I/O to memory, no autoinit, increment, single mode */ --#define DMA_MODE_WRITE 0x48 /* memory to I/O, no autoinit, increment, single mode */ --#define DMA_MODE_CASCADE 0xC0 /* pass thru DREQ->HRQ, DACK<-HLDA only */ -- --/* enable/disable a specific DMA channel */ --static void enable_dma(unsigned int dmanr) --{ -- if (dmanr <= 3) -- outb_p(dmanr, DMA1_MASK_REG); -- else -- outb_p(dmanr & 3, DMA2_MASK_REG); --} -- --static void disable_dma(unsigned int dmanr) --{ -- if (dmanr <= 3) -- outb_p(dmanr | 4, DMA1_MASK_REG); -- else -- outb_p((dmanr & 3) | 4, DMA2_MASK_REG); --} -- --/* set mode (above) for a specific DMA channel */ --static void set_dma_mode(unsigned int dmanr, char mode) --{ -- if (dmanr <= 3) -- outb_p(mode | dmanr, DMA1_MODE_REG); -- else -- outb_p(mode | (dmanr&3), DMA2_MODE_REG); --} --#endif /* !INCLUDE_LANCE */ -- --/************************************************************************** --RESET - Reset adapter --***************************************************************************/ --static void lance_reset(struct nic *nic) --{ -- int i; -- Address l; -- -- /* Reset the LANCE */ -- (void)inw(ioaddr+LANCE_RESET); -- /* Un-Reset the LANCE, needed only for the NE2100 */ -- if (chip_table[lance_version].flags & LANCE_MUST_UNRESET) -- outw(0, ioaddr+LANCE_RESET); -- if (chip_table[lance_version].flags & LANCE_ENABLE_AUTOSELECT) -- { -- /* This is 79C960 specific; Turn on auto-select of media -- (AUI, BNC). */ -- outw(0x2, ioaddr+LANCE_ADDR); -- /* Don't touch 10base2 power bit. */ -- outw(inw(ioaddr+LANCE_BUS_IF) | 0x2, ioaddr+LANCE_BUS_IF); -- } -- /* HomePNA cards need to explicitly pick the phoneline interface. -- * Some of these cards have ethernet interfaces as well, this -- * code might require some modification for those. -- */ -- if (chip_table[lance_version].flags & LANCE_SELECT_PHONELINE) { -- short media, check ; -- /* this is specific to HomePNA cards... */ -- outw(49, ioaddr+0x12) ; -- media = inw(ioaddr+0x16) ; --#ifdef DEBUG -- printf("media was %d\n", media) ; --#endif -- media &= ~3 ; -- media |= 1 ; --#ifdef DEBUG -- printf("media changed to %d\n", media) ; --#endif -- media &= ~3 ; -- media |= 1 ; -- outw(49, ioaddr+0x12) ; -- outw(media, ioaddr+0x16) ; -- outw(49, ioaddr+0x12) ; -- check = inw(ioaddr+0x16) ; --#ifdef DEBUG -- printf("check %s, media was set properly\n", -- check == media ? "passed" : "FAILED" ) ; --#endif -- } -- -- /* Re-initialise the LANCE, and start it when done. */ -- /* Set station address */ -- for (i = 0; i < ETH_ALEN; ++i) -- lp->init_block.phys_addr[i] = nic->node_addr[i]; -- /* Preset the receive ring headers */ -- for (i=0; irx_ring[i].buf_length = -ETH_FRAME_LEN-4; -- /* OWN */ -- lp->rx_ring[i].u.base = virt_to_bus(lp->rbuf[i]) & 0xffffff; -- /* we set the top byte as the very last thing */ -- lp->rx_ring[i].u.addr[3] = 0x80; -- } -- lp->rx_idx = 0; -- lp->init_block.mode = 0x0; /* enable Rx and Tx */ -- l = (Address)virt_to_bus(&lp->init_block); -- outw(0x1, ioaddr+LANCE_ADDR); -- (void)inw(ioaddr+LANCE_ADDR); -- outw((short)l, ioaddr+LANCE_DATA); -- outw(0x2, ioaddr+LANCE_ADDR); -- (void)inw(ioaddr+LANCE_ADDR); -- outw((short)(l >> 16), ioaddr+LANCE_DATA); -- outw(0x4, ioaddr+LANCE_ADDR); -- (void)inw(ioaddr+LANCE_ADDR); -- outw(0x915, ioaddr+LANCE_DATA); -- outw(0x0, ioaddr+LANCE_ADDR); -- (void)inw(ioaddr+LANCE_ADDR); -- outw(0x4, ioaddr+LANCE_DATA); /* stop */ -- outw(0x1, ioaddr+LANCE_DATA); /* init */ -- for (i = 10000; i > 0; --i) -- if (inw(ioaddr+LANCE_DATA) & 0x100) -- break; --#ifdef DEBUG -- if (i <= 0) -- printf("Init timed out\n"); --#endif -- /* Apparently clearing the InitDone bit here triggers a bug -- in the '974. (Mark Stockton) */ -- outw(0x2, ioaddr+LANCE_DATA); /* start */ --} -- --/************************************************************************** --POLL - Wait for a frame --***************************************************************************/ --static int lance_poll(struct nic *nic) --{ -- int status; -- -- status = lp->rx_ring[lp->rx_idx].u.base >> 24; -- if (status & 0x80) -- return (0); --#ifdef DEBUG -- printf("LANCE packet received rx_ring.u.base %X mcnt %hX csr0 %hX\n", -- lp->rx_ring[lp->rx_idx].u.base, lp->rx_ring[lp->rx_idx].msg_length, -- inw(ioaddr+LANCE_DATA)); --#endif -- if (status == 0x3) -- memcpy(nic->packet, lp->rbuf[lp->rx_idx], nic->packetlen = lp->rx_ring[lp->rx_idx].msg_length); -- /* Andrew Boyd of QNX reports that some revs of the 79C765 -- clear the buffer length */ -- lp->rx_ring[lp->rx_idx].buf_length = -ETH_FRAME_LEN-4; -- lp->rx_ring[lp->rx_idx].u.addr[3] |= 0x80; /* prime for next receive */ -- -- /* I'm not sure if the following is still ok with multiple Rx buffers, but it works */ -- outw(0x0, ioaddr+LANCE_ADDR); -- (void)inw(ioaddr+LANCE_ADDR); -- outw(0x500, ioaddr+LANCE_DATA); /* clear receive + InitDone */ -- -- /* Switch to the next Rx ring buffer */ -- lp->rx_idx = (lp->rx_idx + 1) & RX_RING_MOD_MASK; -- -- return (status == 0x3); --} -- --/************************************************************************** --TRANSMIT - Transmit a frame --***************************************************************************/ --static void lance_transmit( -- struct nic *nic, -- const char *d, /* Destination */ -- unsigned int t, /* Type */ -- unsigned int s, /* size */ -- const char *p) /* Packet */ --{ -- unsigned long time; -- -- /* copy the packet to ring buffer */ -- memcpy(lp->tbuf, d, ETH_ALEN); /* dst */ -- memcpy(&lp->tbuf[ETH_ALEN], nic->node_addr, ETH_ALEN); /* src */ -- lp->tbuf[ETH_ALEN+ETH_ALEN] = t >> 8; /* type */ -- lp->tbuf[ETH_ALEN+ETH_ALEN+1] = t; /* type */ -- memcpy(&lp->tbuf[ETH_HLEN], p, s); -- s += ETH_HLEN; -- if (chip_table[chip_version].flags & LANCE_MUST_PAD) -- while (s < ETH_ZLEN) /* pad to min length */ -- lp->tbuf[s++] = 0; -- lp->tx_ring.buf_length = -s; -- lp->tx_ring.misc = 0x0; -- /* OWN, STP, ENP */ -- lp->tx_ring.u.base = virt_to_bus(lp->tbuf) & 0xffffff; -- /* we set the top byte as the very last thing */ -- lp->tx_ring.u.addr[3] = 0x83; -- /* Trigger an immediate send poll */ -- outw(0x0, ioaddr+LANCE_ADDR); -- (void)inw(ioaddr+LANCE_ADDR); /* as in the datasheets... */ -- /* Klaus Espenlaub: the value below was 0x48, but that enabled the -- * interrupt line, causing a hang if for some reasone the interrupt -- * controller had the LANCE interrupt enabled. I have no idea why -- * nobody ran into this before... */ -- outw(0x08, ioaddr+LANCE_DATA); -- /* wait for transmit complete */ -- time = currticks() + TICKS_PER_SEC; /* wait one second */ -- while (currticks() < time && (lp->tx_ring.u.base & 0x80000000) != 0) -- ; -- if ((lp->tx_ring.u.base & 0x80000000) != 0) -- printf("LANCE timed out on transmit\n"); -- (void)inw(ioaddr+LANCE_ADDR); -- outw(0x200, ioaddr+LANCE_DATA); /* clear transmit + InitDone */ --#ifdef DEBUG -- printf("tx_ring.u.base %X tx_ring.buf_length %hX tx_ring.misc %hX csr0 %hX\n", -- lp->tx_ring.u.base, lp->tx_ring.buf_length, lp->tx_ring.misc, -- inw(ioaddr+LANCE_DATA)); --#endif --} -- --static void lance_disable(struct nic *nic) --{ -- (void)inw(ioaddr+LANCE_RESET); -- if (chip_table[lance_version].flags & LANCE_MUST_UNRESET) -- outw(0, ioaddr+LANCE_RESET); -- -- outw(0, ioaddr+LANCE_ADDR); -- outw(0x0004, ioaddr+LANCE_DATA); /* stop the LANCE */ -- --#ifndef INCLUDE_LANCE -- disable_dma(dma); --#endif --} -- --#ifdef INCLUDE_LANCE --static int lance_probe1(struct nic *nic, struct pci_device *pci) --#else --static int lance_probe1(struct nic *nic) --#endif --{ -- int reset_val ; -- unsigned int i; -- Address l; -- short dma_channels; --#ifndef INCLUDE_LANCE -- static const char dmas[] = { 5, 6, 7, 3 }; --#endif -- -- reset_val = inw(ioaddr+LANCE_RESET); -- outw(reset_val, ioaddr+LANCE_RESET); --#if 1 /* Klaus Espenlaub -- was #ifdef INCLUDE_NE2100*/ -- outw(0x0, ioaddr+LANCE_ADDR); /* Switch to window 0 */ -- if (inw(ioaddr+LANCE_DATA) != 0x4) -- return (-1); --#endif -- outw(88, ioaddr+LANCE_ADDR); /* Get the version of the chip */ -- if (inw(ioaddr+LANCE_ADDR) != 88) -- lance_version = 0; -- else -- { -- chip_version = inw(ioaddr+LANCE_DATA); -- outw(89, ioaddr+LANCE_ADDR); -- chip_version |= inw(ioaddr+LANCE_DATA) << 16; -- if ((chip_version & 0xfff) != 0x3) -- return (-1); -- chip_version = (chip_version >> 12) & 0xffff; -- for (lance_version = 1; chip_table[lance_version].id_number != 0; ++lance_version) -- if (chip_table[lance_version].id_number == chip_version) -- break; -- } -- /* make sure data structure is 8-byte aligned */ -- l = ((Address)lance + 7) & ~7; -- lp = (struct lance_interface *)l; -- lp->init_block.mode = 0x3; /* disable Rx and Tx */ -- lp->init_block.filter[0] = lp->init_block.filter[1] = 0x0; -- /* using multiple Rx buffer and a single Tx buffer */ -- lp->init_block.rx_ring = (virt_to_bus(&lp->rx_ring) & 0xffffff) | RX_RING_LEN_BITS; -- lp->init_block.tx_ring = virt_to_bus(&lp->tx_ring) & 0xffffff; -- l = virt_to_bus(&lp->init_block); -- outw(0x1, ioaddr+LANCE_ADDR); -- (void)inw(ioaddr+LANCE_ADDR); -- outw((unsigned short)l, ioaddr+LANCE_DATA); -- outw(0x2, ioaddr+LANCE_ADDR); -- (void)inw(ioaddr+LANCE_ADDR); -- outw((unsigned short)(l >> 16), ioaddr+LANCE_DATA); -- outw(0x4, ioaddr+LANCE_ADDR); -- (void)inw(ioaddr+LANCE_ADDR); -- outw(0x915, ioaddr+LANCE_DATA); -- outw(0x0, ioaddr+LANCE_ADDR); -- (void)inw(ioaddr+LANCE_ADDR); -- /* Get station address */ -- for (i = 0; i < ETH_ALEN; ++i) { -- nic->node_addr[i] = inb(ioaddr+LANCE_ETH_ADDR+i); -- } --#ifndef INCLUDE_LANCE -- /* now probe for DMA channel */ -- dma_channels = ((inb(DMA1_STAT_REG) >> 4) & 0xf) | -- (inb(DMA2_STAT_REG) & 0xf0); -- /* need to fix when PCI provides DMA info */ -- for (i = 0; i < (sizeof(dmas)/sizeof(dmas[0])); ++i) -- { -- int j; -- -- dma = dmas[i]; -- /* Don't enable a permanently busy DMA channel, -- or the machine will hang */ -- if (dma_channels & (1 << dma)) -- continue; -- outw(0x7f04, ioaddr+LANCE_DATA); /* clear memory error bits */ -- set_dma_mode(dma, DMA_MODE_CASCADE); -- enable_dma(dma); -- outw(0x1, ioaddr+LANCE_DATA); /* init */ -- for (j = 100; j > 0; --j) -- if (inw(ioaddr+LANCE_DATA) & 0x900) -- break; -- if (inw(ioaddr+LANCE_DATA) & 0x100) -- break; -- else -- disable_dma(dma); -- } -- if (i >= (sizeof(dmas)/sizeof(dmas[0]))) -- dma = 0; -- printf("\n%s base %#X, DMA %d, addr %!\n", -- chip_table[lance_version].name, ioaddr, dma, nic->node_addr); --#else -- printf(" %s base %#hX, addr %!\n", chip_table[lance_version].name, ioaddr, nic->node_addr); --#endif -- if (chip_table[chip_version].flags & LANCE_ENABLE_AUTOSELECT) { -- /* Turn on auto-select of media (10baseT or BNC) so that the -- * user watch the LEDs. */ -- outw(0x0002, ioaddr+LANCE_ADDR); -- /* Don't touch 10base2 power bit. */ -- outw(inw(ioaddr+LANCE_BUS_IF) | 0x0002, ioaddr+LANCE_BUS_IF); -- } -- return (lance_version); --} -- --/************************************************************************** --PROBE - Look for an adapter, this routine's visible to the outside --***************************************************************************/ -- --#ifdef INCLUDE_LANCE --struct nic *lancepci_probe(struct nic *nic, unsigned short *probe_addrs, struct pci_device *pci) --#endif --#ifdef INCLUDE_NE2100 --struct nic *ne2100_probe(struct nic *nic, unsigned short *probe_addrs) --#endif --#ifdef INCLUDE_NI6510 --struct nic *ni6510_probe(struct nic *nic, unsigned short *probe_addrs) --#endif --{ -- unsigned short *p; --#ifndef INCLUDE_LANCE -- static unsigned short io_addrs[] = { 0x300, 0x320, 0x340, 0x360, 0 }; --#endif -- -- /* if probe_addrs is 0, then routine can use a hardwired default */ -- if (probe_addrs == 0) { --#ifdef INCLUDE_LANCE -- return 0; --#else -- probe_addrs = io_addrs; --#endif -- } -- for (p = probe_addrs; (ioaddr = *p) != 0; ++p) -- { -- char offset15, offset14 = inb(ioaddr + 14); -- unsigned short pci_cmd; -- --#ifdef INCLUDE_NE2100 -- if ((offset14 == 0x52 || offset14 == 0x57) && -- ((offset15 = inb(ioaddr + 15)) == 0x57 || offset15 == 0x44)) -- if (lance_probe1(nic) >= 0) -- break; --#endif --#ifdef INCLUDE_NI6510 -- if ((offset14 == 0x00 || offset14 == 0x52) && -- ((offset15 = inb(ioaddr + 15)) == 0x55 || offset15 == 0x44)) -- if (lance_probe1(nic) >= 0) -- break; --#endif --#ifdef INCLUDE_LANCE -- adjust_pci_device(pci); -- if (lance_probe1(nic, pci) >= 0) -- break; --#endif -- } -- /* if board found */ -- if (ioaddr != 0) -- { -- /* point to NIC specific routines */ -- lance_reset(nic); -- nic->reset = lance_reset; -- nic->poll = lance_poll; -- nic->transmit = lance_transmit; -- nic->disable = lance_disable; -- return nic; -- } -- -- /* no board found */ -- return 0; --} -Index: b/netboot/latch.h -=================================================================== ---- /dev/null -+++ b/netboot/latch.h -@@ -0,0 +1,10 @@ -+#ifndef LATCH_H -+#define LATCH_H -+ -+#define TICKS_PER_SEC 18 -+ -+/* For different calibrators of the TSC move the declaration of -+ * sleep_latch and the definitions of it's length here... -+ */ -+ -+#endif /* LATCH_H */ -Index: b/netboot/linux-asm-io.h -=================================================================== ---- a/netboot/linux-asm-io.h -+++ /dev/null -@@ -1,187 +0,0 @@ --#ifndef _ASM_IO_H --#define _ASM_IO_H -- --/* -- * This file contains the definitions for the x86 IO instructions -- * inb/inw/inl/outb/outw/outl and the "string versions" of the same -- * (insb/insw/insl/outsb/outsw/outsl). You can also use "pausing" -- * versions of the single-IO instructions (inb_p/inw_p/..). -- * -- * This file is not meant to be obfuscating: it's just complicated -- * to (a) handle it all in a way that makes gcc able to optimize it -- * as well as possible and (b) trying to avoid writing the same thing -- * over and over again with slight variations and possibly making a -- * mistake somewhere. -- */ -- --/* -- * Thanks to James van Artsdalen for a better timing-fix than -- * the two short jumps: using outb's to a nonexistent port seems -- * to guarantee better timings even on fast machines. -- * -- * On the other hand, I'd like to be sure of a non-existent port: -- * I feel a bit unsafe about using 0x80 (should be safe, though) -- * -- * Linus -- */ -- --#ifdef SLOW_IO_BY_JUMPING --#define __SLOW_DOWN_IO __asm__ __volatile__("jmp 1f\n1:\tjmp 1f\n1:") --#else --#define __SLOW_DOWN_IO __asm__ __volatile__("outb %al,$0x80") --#endif -- --#ifdef REALLY_SLOW_IO --#define SLOW_DOWN_IO { __SLOW_DOWN_IO; __SLOW_DOWN_IO; __SLOW_DOWN_IO; __SLOW_DOWN_IO; } --#else --#define SLOW_DOWN_IO __SLOW_DOWN_IO --#endif -- --/* -- * readX/writeX() are used to access memory mapped devices. On some -- * architectures the memory mapped IO stuff needs to be accessed -- * differently. On the x86 architecture, we just read/write the -- * memory location directly. -- */ --#define readb(addr) (*(volatile unsigned char *) (addr)) --#define readw(addr) (*(volatile unsigned short *) (addr)) --#define readl(addr) (*(volatile unsigned int *) (addr)) -- --#define writeb(b,addr) ((*(volatile unsigned char *) (addr)) = (b)) --#define writew(b,addr) ((*(volatile unsigned short *) (addr)) = (b)) --#define writel(b,addr) ((*(volatile unsigned int *) (addr)) = (b)) -- --#define memset_io(a,b,c) memset((void *)(a),(b),(c)) --#define memcpy_fromio(a,b,c) memcpy((a),(void *)(b),(c)) --#define memcpy_toio(a,b,c) memcpy((void *)(a),(b),(c)) -- --/* -- * Again, i386 does not require mem IO specific function. -- */ -- --#define eth_io_copy_and_sum(a,b,c,d) eth_copy_and_sum((a),(void *)(b),(c),(d)) -- --/* -- * Talk about misusing macros.. -- */ -- --#define __OUT1(s,x) \ --extern void __out##s(unsigned x value, unsigned short port); \ --extern inline void __out##s(unsigned x value, unsigned short port) { -- --#define __OUT2(s,s1,s2) \ --__asm__ __volatile__ ("out" #s " %" s1 "0,%" s2 "1" -- --#define __OUT(s,s1,x) \ --__OUT1(s,x) __OUT2(s,s1,"w") : : "a" (value), "d" (port)); } \ --__OUT1(s##c,x) __OUT2(s,s1,"") : : "a" (value), "id" (port)); } \ --__OUT1(s##_p,x) __OUT2(s,s1,"w") : : "a" (value), "d" (port)); SLOW_DOWN_IO; } \ --__OUT1(s##c_p,x) __OUT2(s,s1,"") : : "a" (value), "id" (port)); SLOW_DOWN_IO; } -- --#define __IN1(s,x) \ --extern unsigned x __in##s(unsigned short port); \ --extern inline unsigned x __in##s(unsigned short port) { unsigned x _v; -- --#define __IN2(s,s1,s2) \ --__asm__ __volatile__ ("in" #s " %" s2 "1,%" s1 "0" -- --#define __IN(s,s1,x,i...) \ --__IN1(s,x) __IN2(s,s1,"w") : "=a" (_v) : "d" (port) ,##i ); return _v; } \ --__IN1(s##c,x) __IN2(s,s1,"") : "=a" (_v) : "id" (port) ,##i ); return _v; } \ --__IN1(s##_p,x) __IN2(s,s1,"w") : "=a" (_v) : "d" (port) ,##i ); SLOW_DOWN_IO; return _v; } \ --__IN1(s##c_p,x) __IN2(s,s1,"") : "=a" (_v) : "id" (port) ,##i ); SLOW_DOWN_IO; return _v; } -- --#define __INS(s) \ --extern void ins##s(unsigned short port, void * addr, unsigned long count); \ --extern inline void ins##s(unsigned short port, void * addr, unsigned long count) \ --{ __asm__ __volatile__ ("cld ; rep ; ins" #s \ --: "=D" (addr), "=c" (count) : "d" (port),"0" (addr),"1" (count)); } -- --#define __OUTS(s) \ --extern void outs##s(unsigned short port, const void * addr, unsigned long count); \ --extern inline void outs##s(unsigned short port, const void * addr, unsigned long count) \ --{ __asm__ __volatile__ ("cld ; rep ; outs" #s \ --: "=S" (addr), "=c" (count) : "d" (port),"0" (addr),"1" (count)); } -- --__IN(b,"", char) --__IN(w,"",short) --__IN(l,"", long) -- --__OUT(b,"b",char) --__OUT(w,"w",short) --__OUT(l,,int) -- --__INS(b) --__INS(w) --__INS(l) -- --__OUTS(b) --__OUTS(w) --__OUTS(l) -- --/* -- * Note that due to the way __builtin_constant_p() works, you -- * - can't use it inside a inline function (it will never be true) -- * - you don't have to worry about side effects within the __builtin.. -- */ --#define outb(val,port) \ --((__builtin_constant_p((port)) && (port) < 256) ? \ -- __outbc((val),(port)) : \ -- __outb((val),(port))) -- --#define inb(port) \ --((__builtin_constant_p((port)) && (port) < 256) ? \ -- __inbc(port) : \ -- __inb(port)) -- --#define outb_p(val,port) \ --((__builtin_constant_p((port)) && (port) < 256) ? \ -- __outbc_p((val),(port)) : \ -- __outb_p((val),(port))) -- --#define inb_p(port) \ --((__builtin_constant_p((port)) && (port) < 256) ? \ -- __inbc_p(port) : \ -- __inb_p(port)) -- --#define outw(val,port) \ --((__builtin_constant_p((port)) && (port) < 256) ? \ -- __outwc((val),(port)) : \ -- __outw((val),(port))) -- --#define inw(port) \ --((__builtin_constant_p((port)) && (port) < 256) ? \ -- __inwc(port) : \ -- __inw(port)) -- --#define outw_p(val,port) \ --((__builtin_constant_p((port)) && (port) < 256) ? \ -- __outwc_p((val),(port)) : \ -- __outw_p((val),(port))) -- --#define inw_p(port) \ --((__builtin_constant_p((port)) && (port) < 256) ? \ -- __inwc_p(port) : \ -- __inw_p(port)) -- --#define outl(val,port) \ --((__builtin_constant_p((port)) && (port) < 256) ? \ -- __outlc((val),(port)) : \ -- __outl((val),(port))) -- --#define inl(port) \ --((__builtin_constant_p((port)) && (port) < 256) ? \ -- __inlc(port) : \ -- __inl(port)) -- --#define outl_p(val,port) \ --((__builtin_constant_p((port)) && (port) < 256) ? \ -- __outlc_p((val),(port)) : \ -- __outl_p((val),(port))) -- --#define inl_p(port) \ --((__builtin_constant_p((port)) && (port) < 256) ? \ -- __inlc_p(port) : \ -- __inl_p(port)) -- --#endif -Index: b/netboot/linux-asm-string.h -=================================================================== ---- a/netboot/linux-asm-string.h -+++ /dev/null -@@ -1,291 +0,0 @@ --/* -- * Taken from Linux /usr/include/asm/string.h -- * All except memcpy, memmove, memset and memcmp removed. -- */ -- --#ifndef _I386_STRING_H_ --#define _I386_STRING_H_ -- --/* -- * This string-include defines all string functions as inline -- * functions. Use gcc. It also assumes ds=es=data space, this should be -- * normal. Most of the string-functions are rather heavily hand-optimized, -- * see especially strtok,strstr,str[c]spn. They should work, but are not -- * very easy to understand. Everything is done entirely within the register -- * set, making the functions fast and clean. String instructions have been -- * used through-out, making for "slightly" unclear code :-) -- * -- * NO Copyright (C) 1991, 1992 Linus Torvalds, -- * consider these trivial functions to be PD. -- */ -- --typedef int size_t; -- --extern void *__memcpy(void * to, const void * from, size_t n); --extern void *__constant_memcpy(void * to, const void * from, size_t n); --extern void *memmove(void * dest,const void * src, size_t n); --extern void *__memset_generic(void * s, char c,size_t count); --extern void *__constant_c_memset(void * s, unsigned long c, size_t count); --extern void *__constant_c_and_count_memset(void * s, unsigned long pattern, size_t count); -- -- --extern inline void * __memcpy(void * to, const void * from, size_t n) --{ --int d0, d1, d2; --__asm__ __volatile__( -- "cld\n\t" -- "rep ; movsl\n\t" -- "testb $2,%b4\n\t" -- "je 1f\n\t" -- "movsw\n" -- "1:\ttestb $1,%b4\n\t" -- "je 2f\n\t" -- "movsb\n" -- "2:" -- : "=&c" (d0), "=&D" (d1), "=&S" (d2) -- :"0" (n/4), "q" (n),"1" ((long) to),"2" ((long) from) -- : "memory"); --return (to); --} -- --/* -- * This looks horribly ugly, but the compiler can optimize it totally, -- * as the count is constant. -- */ --extern inline void * __constant_memcpy(void * to, const void * from, size_t n) --{ -- switch (n) { -- case 0: -- return to; -- case 1: -- *(unsigned char *)to = *(const unsigned char *)from; -- return to; -- case 2: -- *(unsigned short *)to = *(const unsigned short *)from; -- return to; -- case 3: -- *(unsigned short *)to = *(const unsigned short *)from; -- *(2+(unsigned char *)to) = *(2+(const unsigned char *)from); -- return to; -- case 4: -- *(unsigned long *)to = *(const unsigned long *)from; -- return to; -- case 6: /* for Ethernet addresses */ -- *(unsigned long *)to = *(const unsigned long *)from; -- *(2+(unsigned short *)to) = *(2+(const unsigned short *)from); -- return to; -- case 8: -- *(unsigned long *)to = *(const unsigned long *)from; -- *(1+(unsigned long *)to) = *(1+(const unsigned long *)from); -- return to; -- case 12: -- *(unsigned long *)to = *(const unsigned long *)from; -- *(1+(unsigned long *)to) = *(1+(const unsigned long *)from); -- *(2+(unsigned long *)to) = *(2+(const unsigned long *)from); -- return to; -- case 16: -- *(unsigned long *)to = *(const unsigned long *)from; -- *(1+(unsigned long *)to) = *(1+(const unsigned long *)from); -- *(2+(unsigned long *)to) = *(2+(const unsigned long *)from); -- *(3+(unsigned long *)to) = *(3+(const unsigned long *)from); -- return to; -- case 20: -- *(unsigned long *)to = *(const unsigned long *)from; -- *(1+(unsigned long *)to) = *(1+(const unsigned long *)from); -- *(2+(unsigned long *)to) = *(2+(const unsigned long *)from); -- *(3+(unsigned long *)to) = *(3+(const unsigned long *)from); -- *(4+(unsigned long *)to) = *(4+(const unsigned long *)from); -- return to; -- } --#define COMMON(x) \ --__asm__ __volatile__( \ -- "cld\n\t" \ -- "rep ; movsl" \ -- x \ -- : "=&c" (d0), "=&D" (d1), "=&S" (d2) \ -- : "0" (n/4),"1" ((long) to),"2" ((long) from) \ -- : "memory"); --{ -- int d0, d1, d2; -- switch (n % 4) { -- case 0: COMMON(""); return to; -- case 1: COMMON("\n\tmovsb"); return to; -- case 2: COMMON("\n\tmovsw"); return to; -- default: COMMON("\n\tmovsw\n\tmovsb"); return to; -- } --} -- --#undef COMMON --} -- --#define __HAVE_ARCH_MEMCPY --#define memcpy(t, f, n) \ --(__builtin_constant_p(n) ? \ -- __constant_memcpy((t),(f),(n)) : \ -- __memcpy((t),(f),(n))) -- --#define __HAVE_ARCH_MEMMOVE --extern inline void * memmove(void * dest,const void * src, size_t n) --{ --int d0, d1, d2; --if (dest -+#include "grub.h" -+#include "timer.h" - --void --sleep (int secs) -+#include "nic.h" -+ -+/************************************************************************** -+RANDOM - compute a random number between 0 and 2147483647L or 2147483562? -+**************************************************************************/ -+int32_t random(void) - { -- unsigned long tmo = currticks () + secs; -+ static int32_t seed = 0; -+ int32_t q; -+ if (!seed) /* Initialize linear congruential generator */ -+ seed = currticks() + *(int32_t *)&arptable[ARP_CLIENT].node -+ + ((int16_t *)arptable[ARP_CLIENT].node)[2]; -+ /* simplified version of the LCG given in Bruce Schneier's -+ "Applied Cryptography" */ -+ q = seed/53668; -+ if ((seed = 40014*(seed-53668*q) - 12211*q) < 0) seed += 2147483563L; -+ return seed; -+} - -- while (currticks () < tmo) -- ; -+/************************************************************************** -+POLL INTERRUPTIONS -+**************************************************************************/ -+void poll_interruptions(void) -+{ -+ if (checkkey() != -1 && ASCII_CHAR(getkey()) == K_INTR) { -+ user_abort++; -+ } - } - --void --twiddle (void) -+/************************************************************************** -+SLEEP -+**************************************************************************/ -+void sleep(int secs) - { -- static unsigned long lastticks = 0; -- static int count = 0; -- static const char tiddles[]="-\\|/"; -- unsigned long ticks; -+ unsigned long tmo; - -- if (debug) -- { -- if ((ticks = currticks ()) == lastticks) -- return; -- -- lastticks = ticks; -- grub_putchar (tiddles[(count++) & 3]); -- grub_putchar ('\b'); -- } -+ for (tmo = currticks()+secs*TICKS_PER_SEC; currticks() < tmo; ) { -+ poll_interruptions(); -+ } -+} -+ -+/************************************************************************** -+INTERRUPTIBLE SLEEP -+**************************************************************************/ -+void interruptible_sleep(int secs) -+{ -+ printf("\n"); -+ return sleep(secs); -+} -+ -+/************************************************************************** -+TWIDDLE -+**************************************************************************/ -+void twiddle(void) -+{ -+#ifdef BAR_PROGRESS -+ static int count=0; -+ static const char tiddles[]="-\\|/"; -+ static unsigned long lastticks = 0; -+ unsigned long ticks; -+#endif -+#ifdef FREEBSD_PXEEMU -+ extern char pxeemu_nbp_active; -+ if(pxeemu_nbp_active != 0) -+ return; -+#endif -+#ifdef BAR_PROGRESS -+ /* Limit the maximum rate at which characters are printed */ -+ ticks = currticks(); -+ if ((lastticks + (TICKS_PER_SEC/18)) > ticks) -+ return; -+ lastticks = ticks; -+ -+ putchar(tiddles[(count++)&3]); -+ putchar('\b'); -+#else -+ //putchar('.'); -+#endif /* BAR_PROGRESS */ - } - -+ - /* Because Etherboot uses its own formats for the printf family, - define separate definitions from GRUB. */ - /************************************************************************** -@@ -264,3 +317,5 @@ - - return ret; - } -+ -+ -Index: b/netboot/natsemi.c -=================================================================== ---- a/netboot/natsemi.c -+++ b/netboot/natsemi.c -@@ -47,15 +47,15 @@ - /* Revision History */ - - /* -+ 13 Dec 2003 timlegge 1.1 Enabled Multicast Support - 29 May 2001 mdc 1.0 - Initial Release. Tested with Netgear FA311 and FA312 boards --*/ -+*/ - /* Includes */ - - #include "etherboot.h" - #include "nic.h" - #include "pci.h" --#include "cards.h" - - /* defines */ - -@@ -71,21 +71,18 @@ - - #define NUM_RX_DESC 4 /* Number of Rx descriptor registers. */ - --typedef unsigned char u8; --typedef signed char s8; --typedef unsigned short u16; --typedef signed short s16; --typedef unsigned int u32; --typedef signed int s32; -+typedef uint8_t u8; -+typedef int8_t s8; -+typedef uint16_t u16; -+typedef int16_t s16; -+typedef uint32_t u32; -+typedef int32_t s32; - - /* helpful macroes if on a big_endian machine for changing byte order. - not strictly needed on Intel */ --#define le16_to_cpu(val) (val) --#define cpu_to_le32(val) (val) - #define get_unaligned(ptr) (*(ptr)) - #define put_unaligned(val, ptr) ((void)( *(ptr) = (val) )) - #define get_u16(ptr) (*(u16 *)(ptr)) --#define virt_to_bus(x) ((unsigned long)x) - #define virt_to_le32desc(addr) virt_to_bus(addr) - - enum pcistuff { -@@ -161,7 +158,8 @@ - AcceptMulticast = 0x00200000, - AcceptAllMulticast = 0x20000000, - AcceptAllPhys = 0x10000000, -- AcceptMyPhys = 0x08000000 -+ AcceptMyPhys = 0x08000000, -+ RxFilterEnable = 0x80000000 - }; - - typedef struct _BufferDesc { -@@ -207,17 +205,12 @@ - static BufferDesc txd __attribute__ ((aligned(4))); - static BufferDesc rxd[NUM_RX_DESC] __attribute__ ((aligned(4))); - --#ifdef USE_LOWMEM_BUFFER --#define txb ((char *)0x10000 - TX_BUF_SIZE) --#define rxb ((char *)0x10000 - NUM_RX_DESC*RX_BUF_SIZE - TX_BUF_SIZE) --#else - static unsigned char txb[TX_BUF_SIZE] __attribute__ ((aligned(4))); - static unsigned char rxb[NUM_RX_DESC * RX_BUF_SIZE] __attribute__ ((aligned(4))); --#endif - - /* Function Prototypes */ - --struct nic *natsemi_probe(struct nic *nic, unsigned short *io_addrs, struct pci_device *pci); -+static int natsemi_probe(struct dev *dev, struct pci_device *pci); - static int eeprom_read(long addr, int location); - static int mdio_read(int phy_id, int location); - static void natsemi_init(struct nic *nic); -@@ -228,8 +221,9 @@ - static void natsemi_set_rx_mode(struct nic *nic); - static void natsemi_check_duplex(struct nic *nic); - static void natsemi_transmit(struct nic *nic, const char *d, unsigned int t, unsigned int s, const char *p); --static int natsemi_poll(struct nic *nic); --static void natsemi_disable(struct nic *nic); -+static int natsemi_poll(struct nic *nic, int retrieve); -+static void natsemi_disable(struct dev *dev); -+static void natsemi_irq(struct nic *nic, irq_action_t action); - - /* - * Function: natsemi_probe -@@ -245,24 +239,28 @@ - * Returns: struct nic *: pointer to NIC data structure - */ - --struct nic * --natsemi_probe(struct nic *nic, unsigned short *io_addrs, struct pci_device *pci) -+static int -+natsemi_probe(struct dev *dev, struct pci_device *pci) - { -+ struct nic *nic = (struct nic *)dev; - int i; - int prev_eedata; - u32 tmp; - -- if (io_addrs == 0 || *io_addrs == 0) -- return NULL; -+ if (pci->ioaddr == 0) -+ return 0; -+ -+ adjust_pci_device(pci); - - /* initialize some commonly used globals */ - -- ioaddr = *io_addrs & ~3; -+ nic->irqno = 0; -+ nic->ioaddr = pci->ioaddr & ~3; -+ -+ ioaddr = pci->ioaddr & ~3; - vendor = pci->vendor; - dev_id = pci->dev_id; - nic_name = pci->name; -- -- adjust_pci_device(pci); - - /* natsemi has a non-standard PM control register - * in PCI config space. Some boards apparently need -@@ -317,12 +315,12 @@ - /* initialize device */ - natsemi_init(nic); - -- nic->reset = natsemi_init; -+ dev->disable = natsemi_disable; - nic->poll = natsemi_poll; - nic->transmit = natsemi_transmit; -- nic->disable = natsemi_disable; -+ nic->irq = natsemi_irq; - -- return nic; -+ return 1; - } - - /* Read the EEPROM and MII Management Data I/O (MDIO) interfaces. -@@ -452,7 +450,7 @@ - * Returns: void. - */ - static void --natsemi_reset(struct nic *nic) -+natsemi_reset(struct nic *nic __unused) - { - outl(ChipReset, ioaddr + ChipCmd); - -@@ -504,14 +502,14 @@ - */ - - static void --natsemi_init_txd(struct nic *nic) -+natsemi_init_txd(struct nic *nic __unused) - { - txd.link = (u32) 0; - txd.cmdsts = (u32) 0; -- txd.bufptr = (u32) &txb[0]; -+ txd.bufptr = virt_to_bus(&txb[0]); - - /* load Transmit Descriptor Register */ -- outl((u32) &txd, ioaddr + TxRingPtr); -+ outl(virt_to_bus(&txd), ioaddr + TxRingPtr); - if (natsemi_debug > 1) - printf("natsemi_init_txd: TX descriptor register loaded with: %X\n", - inl(ioaddr + TxRingPtr)); -@@ -527,7 +525,7 @@ - */ - - static void --natsemi_init_rxd(struct nic *nic) -+natsemi_init_rxd(struct nic *nic __unused) - { - int i; - -@@ -535,16 +533,16 @@ - - /* init RX descriptor */ - for (i = 0; i < NUM_RX_DESC; i++) { -- rxd[i].link = (i+1 < NUM_RX_DESC) ? (u32) &rxd[i+1] : (u32) &rxd[0]; -+ rxd[i].link = virt_to_bus((i+1 < NUM_RX_DESC) ? &rxd[i+1] : &rxd[0]); - rxd[i].cmdsts = (u32) RX_BUF_SIZE; -- rxd[i].bufptr = (u32) &rxb[i*RX_BUF_SIZE]; -+ rxd[i].bufptr = virt_to_bus(&rxb[i*RX_BUF_SIZE]); - if (natsemi_debug > 1) - printf("natsemi_init_rxd: rxd[%d]=%X link=%X cmdsts=%X bufptr=%X\n", - i, &rxd[i], rxd[i].link, rxd[i].cmdsts, rxd[i].bufptr); - } - - /* load Receive Descriptor Register */ -- outl((u32) &rxd[0], ioaddr + RxRingPtr); -+ outl(virt_to_bus(&rxd[0]), ioaddr + RxRingPtr); - - if (natsemi_debug > 1) - printf("natsemi_init_rxd: RX descriptor register loaded with: %X\n", -@@ -562,14 +560,15 @@ - * Returns: void. - */ - --static void natsemi_set_rx_mode(struct nic *nic) -+static void natsemi_set_rx_mode(struct nic *nic __unused) - { -- u32 rx_mode = AcceptBroadcast | AcceptMyPhys; -+ u32 rx_mode = RxFilterEnable | AcceptBroadcast | -+ AcceptAllMulticast | AcceptMyPhys; - - outl(rx_mode, ioaddr + RxFilterAddr); - } - --static void natsemi_check_duplex(struct nic *nic) -+static void natsemi_check_duplex(struct nic *nic __unused) - { - int duplex = inl(ioaddr + ChipConfig) & 0x20000000 ? 1 : 0; - -@@ -607,14 +606,14 @@ - unsigned int s, /* size */ - const char *p) /* Packet */ - { -- u32 status, to, nstype; -+ u32 to, nstype; - volatile u32 tx_status; - - /* Stop the transmitter */ - outl(TxOff, ioaddr + ChipCmd); - - /* load Transmit Descriptor Register */ -- outl((u32) &txd, ioaddr + TxRingPtr); -+ outl(virt_to_bus(&txd), ioaddr + TxRingPtr); - if (natsemi_debug > 1) - printf("natsemi_transmit: TX descriptor register loaded with: %X\n", - inl(ioaddr + TxRingPtr)); -@@ -636,7 +635,7 @@ - txb[s++] = '\0'; - - /* set the transmit buffer descriptor and enable Transmit State Machine */ -- txd.bufptr = (u32) &txb[0]; -+ txd.bufptr = virt_to_bus(&txb[0]); - txd.cmdsts = (u32) OWN | s; - - /* restart the transmitter */ -@@ -647,7 +646,7 @@ - - to = currticks() + TX_TIMEOUT; - -- while (((tx_status=txd.cmdsts) & OWN) && (currticks() < to)) -+ while (((tx_status=txd.cmdsts & OWN) && (currticks() < to)) - /* wait */ ; - - if (currticks() >= to) { -@@ -674,7 +673,7 @@ - */ - - static int --natsemi_poll(struct nic *nic) -+natsemi_poll(struct nic *nic, int retrieve) - { - u32 rx_status = rxd[cur_rx].cmdsts; - int retstat = 0; -@@ -685,6 +684,8 @@ - if (!(rx_status & OWN)) - return retstat; - -+ if ( ! retrieve ) return 1; -+ - if (natsemi_debug > 1) - printf("natsemi_poll: got a packet: cur_rx:%d, status:%X\n", - cur_rx, rx_status); -@@ -704,7 +705,7 @@ - - /* return the descriptor and buffer to receive ring */ - rxd[cur_rx].cmdsts = RX_BUF_SIZE; -- rxd[cur_rx].bufptr = (u32) &rxb[cur_rx*RX_BUF_SIZE]; -+ rxd[cur_rx].bufptr = virt_to_bus(&rxb[cur_rx*RX_BUF_SIZE]); - - if (++cur_rx == NUM_RX_DESC) - cur_rx = 0; -@@ -725,8 +726,12 @@ - */ - - static void --natsemi_disable(struct nic *nic) -+natsemi_disable(struct dev *dev) - { -+ struct nic *nic = (struct nic *)dev; -+ /* merge reset and disable */ -+ natsemi_init(nic); -+ - /* Disable interrupts using the mask. */ - outl(0, ioaddr + IntrMask); - outl(0, ioaddr + IntrEnable); -@@ -737,3 +742,39 @@ - /* Restore PME enable bit */ - outl(SavedClkRun, ioaddr + ClkRun); - } -+ -+/* Function: natsemi_irq -+ * -+ * Description: Enable, Disable, or Force interrupts -+ * -+ * Arguments: struct nic *nic: NIC data structure -+ * irq_action_t action: requested action to perform -+ * -+ * Returns: void. -+ */ -+ -+static void -+natsemi_irq(struct nic *nic __unused, irq_action_t action __unused) -+{ -+ switch ( action ) { -+ case DISABLE : -+ break; -+ case ENABLE : -+ break; -+ case FORCE : -+ break; -+ } -+} -+ -+static struct pci_id natsemi_nics[] = { -+PCI_ROM(0x100b, 0x0020, "dp83815", "DP83815"), -+}; -+ -+struct pci_driver natsemi_driver = { -+ .type = NIC_DRIVER, -+ .name = "NATSEMI", -+ .probe = natsemi_probe, -+ .ids = natsemi_nics, -+ .id_count = sizeof(natsemi_nics)/sizeof(natsemi_nics[0]), -+ .class = 0, -+}; -Index: b/netboot/nfs.h -=================================================================== ---- /dev/null -+++ b/netboot/nfs.h -@@ -0,0 +1,63 @@ -+#ifndef _NFS_H -+#define _NFS_H -+ -+#define SUNRPC_PORT 111 -+ -+#define PROG_PORTMAP 100000 -+#define PROG_NFS 100003 -+#define PROG_MOUNT 100005 -+ -+#define MSG_CALL 0 -+#define MSG_REPLY 1 -+ -+#define PORTMAP_GETPORT 3 -+ -+#define MOUNT_ADDENTRY 1 -+#define MOUNT_UMOUNTALL 4 -+ -+#define NFS_LOOKUP 4 -+#define NFS_READLINK 5 -+#define NFS_READ 6 -+ -+#define NFS_FHSIZE 32 -+ -+#define NFSERR_PERM 1 -+#define NFSERR_NOENT 2 -+#define NFSERR_ACCES 13 -+#define NFSERR_ISDIR 21 -+#define NFSERR_INVAL 22 -+ -+/* Block size used for NFS read accesses. A RPC reply packet (including all -+ * headers) must fit within a single Ethernet frame to avoid fragmentation. -+ * Chosen to be a power of two, as most NFS servers are optimized for this. */ -+#define NFS_READ_SIZE 1024 -+ -+#define NFS_MAXLINKDEPTH 16 -+ -+struct rpc_t { -+ struct iphdr ip; -+ struct udphdr udp; -+ union { -+ uint8_t data[300]; /* longest RPC call must fit!!!! */ -+ struct { -+ uint32_t id; -+ uint32_t type; -+ uint32_t rpcvers; -+ uint32_t prog; -+ uint32_t vers; -+ uint32_t proc; -+ uint32_t data[1]; -+ } call; -+ struct { -+ uint32_t id; -+ uint32_t type; -+ uint32_t rstatus; -+ uint32_t verifier; -+ uint32_t v2; -+ uint32_t astatus; -+ uint32_t data[1]; -+ } reply; -+ } u; -+}; -+ -+#endif /* _NFS_H */ -Index: b/netboot/ni5010.c -=================================================================== ---- a/netboot/ni5010.c -+++ /dev/null -@@ -1,371 +0,0 @@ --/************************************************************************** --Etherboot - BOOTP/TFTP Bootstrap Program --Driver for NI5010. --Code freely taken from Jan-Pascal van Best and Andreas Mohr's --Linux NI5010 driver. --***************************************************************************/ -- --/* -- * 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, or (at -- * your option) any later version. -- */ -- --/* to get some global routines like printf */ --#include "etherboot.h" --/* to get the interface to the body of the program */ --#include "nic.h" --/* to get our own prototype */ --#include "cards.h" -- --/* ni5010.h file included verbatim */ --/* -- * Racal-Interlan ni5010 Ethernet definitions -- * -- * This is an extension to the Linux operating system, and is covered by the -- * same Gnu Public License that covers that work. -- * -- * copyrights (c) 1996 by Jan-Pascal van Best (jvbest@wi.leidenuniv.nl) -- * -- * I have done a look in the following sources: -- * crynwr-packet-driver by Russ Nelson -- */ -- --#define NI5010_BUFSIZE 2048 /* number of bytes in a buffer */ -- --#define NI5010_MAGICVAL0 0x00 /* magic-values for ni5010 card */ --#define NI5010_MAGICVAL1 0x55 --#define NI5010_MAGICVAL2 0xAA -- --#define SA_ADDR0 0x02 --#define SA_ADDR1 0x07 --#define SA_ADDR2 0x01 -- --/* The number of low I/O ports used by the ni5010 ethercard. */ --#define NI5010_IO_EXTENT 32 -- --#define PRINTK(x) if (NI5010_DEBUG) printk x --#define PRINTK2(x) if (NI5010_DEBUG>=2) printk x --#define PRINTK3(x) if (NI5010_DEBUG>=3) printk x -- --/* The various IE command registers */ --#define EDLC_XSTAT (ioaddr + 0x00) /* EDLC transmit csr */ --#define EDLC_XCLR (ioaddr + 0x00) /* EDLC transmit "Clear IRQ" */ --#define EDLC_XMASK (ioaddr + 0x01) /* EDLC transmit "IRQ Masks" */ --#define EDLC_RSTAT (ioaddr + 0x02) /* EDLC receive csr */ --#define EDLC_RCLR (ioaddr + 0x02) /* EDLC receive "Clear IRQ" */ --#define EDLC_RMASK (ioaddr + 0x03) /* EDLC receive "IRQ Masks" */ --#define EDLC_XMODE (ioaddr + 0x04) /* EDLC transmit Mode */ --#define EDLC_RMODE (ioaddr + 0x05) /* EDLC receive Mode */ --#define EDLC_RESET (ioaddr + 0x06) /* EDLC RESET register */ --#define EDLC_TDR1 (ioaddr + 0x07) /* "Time Domain Reflectometry" reg1 */ --#define EDLC_ADDR (ioaddr + 0x08) /* EDLC station address, 6 bytes */ -- /* 0x0E doesn't exist for r/w */ --#define EDLC_TDR2 (ioaddr + 0x0f) /* "Time Domain Reflectometry" reg2 */ --#define IE_GP (ioaddr + 0x10) /* GP pointer (word register) */ -- /* 0x11 is 2nd byte of GP Pointer */ --#define IE_RCNT (ioaddr + 0x10) /* Count of bytes in rcv'd packet */ -- /* 0x11 is 2nd byte of "Byte Count" */ --#define IE_MMODE (ioaddr + 0x12) /* Memory Mode register */ --#define IE_DMA_RST (ioaddr + 0x13) /* IE DMA Reset. write only */ --#define IE_ISTAT (ioaddr + 0x13) /* IE Interrupt Status. read only */ --#define IE_RBUF (ioaddr + 0x14) /* IE Receive Buffer port */ --#define IE_XBUF (ioaddr + 0x15) /* IE Transmit Buffer port */ --#define IE_SAPROM (ioaddr + 0x16) /* window on station addr prom */ --#define IE_RESET (ioaddr + 0x17) /* any write causes Board Reset */ -- --/* bits in EDLC_XSTAT, interrupt clear on write, status when read */ --#define XS_TPOK 0x80 /* transmit packet successful */ --#define XS_CS 0x40 /* carrier sense */ --#define XS_RCVD 0x20 /* transmitted packet received */ --#define XS_SHORT 0x10 /* transmission media is shorted */ --#define XS_UFLW 0x08 /* underflow. iff failed board */ --#define XS_COLL 0x04 /* collision occurred */ --#define XS_16COLL 0x02 /* 16th collision occurred */ --#define XS_PERR 0x01 /* parity error */ -- --#define XS_CLR_UFLW 0x08 /* clear underflow */ --#define XS_CLR_COLL 0x04 /* clear collision */ --#define XS_CLR_16COLL 0x02 /* clear 16th collision */ --#define XS_CLR_PERR 0x01 /* clear parity error */ -- --/* bits in EDLC_XMASK, mask/enable transmit interrupts. register is r/w */ --#define XM_TPOK 0x80 /* =1 to enable Xmt Pkt OK interrupts */ --#define XM_RCVD 0x20 /* =1 to enable Xmt Pkt Rcvd ints */ --#define XM_UFLW 0x08 /* =1 to enable Xmt Underflow ints */ --#define XM_COLL 0x04 /* =1 to enable Xmt Collision ints */ --#define XM_COLL16 0x02 /* =1 to enable Xmt 16th Coll ints */ --#define XM_PERR 0x01 /* =1 to enable Xmt Parity Error ints */ -- /* note: always clear this bit */ --#define XM_ALL (XM_TPOK | XM_RCVD | XM_UFLW | XM_COLL | XM_COLL16) -- --/* bits in EDLC_RSTAT, interrupt clear on write, status when read */ --#define RS_PKT_OK 0x80 /* received good packet */ --#define RS_RST_PKT 0x10 /* RESET packet received */ --#define RS_RUNT 0x08 /* Runt Pkt rcvd. Len < 64 Bytes */ --#define RS_ALIGN 0x04 /* Alignment error. not 8 bit aligned */ --#define RS_CRC_ERR 0x02 /* Bad CRC on rcvd pkt */ --#define RS_OFLW 0x01 /* overflow for rcv FIFO */ --#define RS_VALID_BITS ( RS_PKT_OK | RS_RST_PKT | RS_RUNT | RS_ALIGN | RS_CRC_ERR | RS_OFLW ) -- /* all valid RSTAT bits */ -- --#define RS_CLR_PKT_OK 0x80 /* clear rcvd packet interrupt */ --#define RS_CLR_RST_PKT 0x10 /* clear RESET packet received */ --#define RS_CLR_RUNT 0x08 /* clear Runt Pckt received */ --#define RS_CLR_ALIGN 0x04 /* clear Alignment error */ --#define RS_CLR_CRC_ERR 0x02 /* clear CRC error */ --#define RS_CLR_OFLW 0x01 /* clear rcv FIFO Overflow */ -- --/* bits in EDLC_RMASK, mask/enable receive interrupts. register is r/w */ --#define RM_PKT_OK 0x80 /* =1 to enable rcvd good packet ints */ --#define RM_RST_PKT 0x10 /* =1 to enable RESET packet ints */ --#define RM_RUNT 0x08 /* =1 to enable Runt Pkt rcvd ints */ --#define RM_ALIGN 0x04 /* =1 to enable Alignment error ints */ --#define RM_CRC_ERR 0x02 /* =1 to enable Bad CRC error ints */ --#define RM_OFLW 0x01 /* =1 to enable overflow error ints */ -- --/* bits in EDLC_RMODE, set Receive Packet mode. register is r/w */ --#define RMD_TEST 0x80 /* =1 for Chip testing. normally 0 */ --#define RMD_ADD_SIZ 0x10 /* =1 5-byte addr match. normally 0 */ --#define RMD_EN_RUNT 0x08 /* =1 enable runt rcv. normally 0 */ --#define RMD_EN_RST 0x04 /* =1 to rcv RESET pkt. normally 0 */ -- --#define RMD_PROMISC 0x03 /* receive *all* packets. unusual */ --#define RMD_MULTICAST 0x02 /* receive multicasts too. unusual */ --#define RMD_BROADCAST 0x01 /* receive broadcasts & normal. usual */ --#define RMD_NO_PACKETS 0x00 /* don't receive any packets. unusual */ -- --/* bits in EDLC_XMODE, set Transmit Packet mode. register is r/w */ --#define XMD_COLL_CNT 0xf0 /* coll's since success. read-only */ --#define XMD_IG_PAR 0x08 /* =1 to ignore parity. ALWAYS set */ --#define XMD_T_MODE 0x04 /* =1 to power xcvr. ALWAYS set this */ --#define XMD_LBC 0x02 /* =1 for loopback. normally set */ --#define XMD_DIS_C 0x01 /* =1 disables contention. normally 0 */ -- --/* bits in EDLC_RESET, write only */ --#define RS_RESET 0x80 /* =1 to hold EDLC in reset state */ -- --/* bits in IE_MMODE, write only */ --#define MM_EN_DMA 0x80 /* =1 begin DMA xfer, Cplt clrs it */ --#define MM_EN_RCV 0x40 /* =1 allows Pkt rcv. clr'd by rcv */ --#define MM_EN_XMT 0x20 /* =1 begin Xmt pkt. Cplt clrs it */ --#define MM_BUS_PAGE 0x18 /* =00 ALWAYS. Used when MUX=1 */ --#define MM_NET_PAGE 0x06 /* =00 ALWAYS. Used when MUX=0 */ --#define MM_MUX 0x01 /* =1 means Rcv Buff on system bus */ -- /* =0 means Xmt Buff on system bus */ -- --/* bits in IE_ISTAT, read only */ --#define IS_TDIAG 0x80 /* =1 if Diagnostic problem */ --#define IS_EN_RCV 0x20 /* =1 until frame is rcv'd cplt */ --#define IS_EN_XMT 0x10 /* =1 until frame is xmt'd cplt */ --#define IS_EN_DMA 0x08 /* =1 until DMA is cplt or aborted */ --#define IS_DMA_INT 0x04 /* =0 iff DMA done interrupt. */ --#define IS_R_INT 0x02 /* =0 iff unmasked Rcv interrupt */ --#define IS_X_INT 0x01 /* =0 iff unmasked Xmt interrupt */ -- --/* NIC specific static variables go here */ -- --static unsigned short ioaddr = 0; --static unsigned int bufsize_rcv = 0; -- --#if 0 --static void show_registers(void) --{ -- printf("XSTAT %hhX ", inb(EDLC_XSTAT)); -- printf("XMASK %hhX ", inb(EDLC_XMASK)); -- printf("RSTAT %hhX ", inb(EDLC_RSTAT)); -- printf("RMASK %hhX ", inb(EDLC_RMASK)); -- printf("RMODE %hhX ", inb(EDLC_RMODE)); -- printf("XMODE %hhX ", inb(EDLC_XMODE)); -- printf("ISTAT %hhX\n", inb(IE_ISTAT)); --} --#endif -- --static void reset_receiver(void) --{ -- outw(0, IE_GP); /* Receive packet at start of buffer */ -- outb(RS_VALID_BITS, EDLC_RCLR); /* Clear all pending Rcv interrupts */ -- outb(MM_EN_RCV, IE_MMODE); /* Enable rcv */ --} -- --/************************************************************************** --RESET - Reset adapter --***************************************************************************/ --static void ni5010_reset(struct nic *nic) --{ -- int i; -- -- /* Reset the hardware here. Don't forget to set the station address. */ -- outb(RS_RESET, EDLC_RESET); /* Hold up EDLC_RESET while configing board */ -- outb(0, IE_RESET); /* Hardware reset of ni5010 board */ -- outb(0, EDLC_XMASK); /* Disable all Xmt interrupts */ -- outb(0, EDLC_RMASK); /* Disable all Rcv interrupt */ -- outb(0xFF, EDLC_XCLR); /* Clear all pending Xmt interrupts */ -- outb(0xFF, EDLC_RCLR); /* Clear all pending Rcv interrupts */ -- outb(XMD_LBC, EDLC_XMODE); /* Only loopback xmits */ -- /* Set the station address */ -- for(i = 0; i < ETH_ALEN; i++) -- outb(nic->node_addr[i], EDLC_ADDR + i); -- outb(XMD_IG_PAR | XMD_T_MODE | XMD_LBC, EDLC_XMODE); -- /* Normal packet xmit mode */ -- outb(RMD_BROADCAST, EDLC_RMODE); -- /* Receive broadcast and normal packets */ -- reset_receiver(); -- outb(0x00, EDLC_RESET); /* Un-reset the ni5010 */ --} -- --/************************************************************************** --POLL - Wait for a frame --***************************************************************************/ --static int ni5010_poll(struct nic *nic) --{ -- int rcv_stat; -- -- if (((rcv_stat = inb(EDLC_RSTAT)) & RS_VALID_BITS) != RS_PKT_OK) { -- outb(rcv_stat, EDLC_RSTAT); /* Clear the status */ -- return (0); -- } -- outb(rcv_stat, EDLC_RCLR); /* Clear the status */ -- nic->packetlen = inw(IE_RCNT); -- /* Read packet into buffer */ -- outb(MM_MUX, IE_MMODE); /* Rcv buffer to system bus */ -- outw(0, IE_GP); /* Seek to beginning of packet */ -- insb(IE_RBUF, nic->packet, nic->packetlen); -- return (1); --} -- --/************************************************************************** --TRANSMIT - Transmit a frame --***************************************************************************/ --static void ni5010_transmit(struct nic *nic, -- const char *d, /* Destination */ -- unsigned int t, /* Type */ -- unsigned int s, /* size */ -- const char *p) /* Packet */ --{ -- unsigned int len; -- int buf_offs, xmt_stat; -- unsigned long time; -- -- len = s + ETH_HLEN; -- if (len < ETH_ZLEN) -- len = ETH_ZLEN; -- buf_offs = NI5010_BUFSIZE - len; -- outb(0, EDLC_RMASK); /* Mask all receive interrupts */ -- outb(0, IE_MMODE); /* Put Xmit buffer on system bus */ -- outb(0xFF, EDLC_RCLR); /* Clear out pending rcv interrupts */ -- outw(buf_offs, IE_GP); /* Point GP at start of packet */ -- outsb(IE_XBUF, d, ETH_ALEN); /* Put dst in buffer */ -- outsb(IE_XBUF, nic->node_addr, ETH_ALEN);/* Put src in buffer */ -- outb(t >> 8, IE_XBUF); -- outb(t, IE_XBUF); -- outsb(IE_XBUF, p, s); /* Put data in buffer */ -- while (s++ < ETH_ZLEN - ETH_HLEN) /* Pad to min size */ -- outb(0, IE_XBUF); -- outw(buf_offs, IE_GP); /* Rewrite where packet starts */ -- /* should work without that outb() (Crynwr used it) */ -- /*outb(MM_MUX, IE_MMODE);*/ -- /* Xmt buffer to EDLC bus */ -- outb(MM_EN_XMT | MM_MUX, IE_MMODE); /* Begin transmission */ -- /* wait for transmit complete */ -- while (((xmt_stat = inb(IE_ISTAT)) & IS_EN_XMT) != 0) -- ; -- reset_receiver(); /* Immediately switch to receive */ --} -- --/************************************************************************** --DISABLE - Turn off ethernet interface --***************************************************************************/ --static void ni5010_disable(struct nic *nic) --{ -- outb(0, IE_MMODE); -- outb(RS_RESET, EDLC_RESET); --} -- --static inline int rd_port(void) --{ -- inb(IE_RBUF); -- return inb(IE_SAPROM); --} -- --static int ni5010_probe1(struct nic *nic) --{ -- int i, boguscount = 40, data; -- -- /* The tests are from the Linux NI5010 driver -- I don't understand it all, but if it works for them... */ -- if (inb(ioaddr) == 0xFF) -- return (0); -- while ((rd_port() & rd_port() & rd_port() -- & rd_port() & rd_port() & rd_port()) != 0xFF) -- { -- if (boguscount-- <= 0) -- return (0); -- } -- for (i = 0; i < 32; i++) -- if ((data = rd_port()) != 0xFF) -- break; -- if (data == 0xFF) -- return (0); -- if (data == SA_ADDR0 && rd_port() == SA_ADDR1 && rd_port() == SA_ADDR2) { -- for (i = 0; i < 4; i++) -- rd_port(); -- if (rd_port() != NI5010_MAGICVAL1 || rd_port() != NI5010_MAGICVAL2) -- return (0); -- } else -- return (0); -- for (i = 0; i < ETH_ALEN; i++) { -- outw(i, IE_GP); -- nic->node_addr[i] = inb(IE_SAPROM); -- } -- printf("\nNI5010 ioaddr %#hX, addr %!\n", ioaddr, nic->node_addr); --/* get the size of the onboard receive buffer -- * higher addresses than bufsize are wrapped into real buffer -- * i.e. data for offs. 0x801 is written to 0x1 with a 2K onboard buffer -- */ -- if (bufsize_rcv == 0) { -- outb(1, IE_MMODE); /* Put Rcv buffer on system bus */ -- outw(0, IE_GP); /* Point GP at start of packet */ -- outb(0, IE_RBUF); /* set buffer byte 0 to 0 */ -- for (i = 1; i < 0xFF; i++) { -- outw(i << 8, IE_GP); /* Point GP at packet size to be tested */ -- outb(i, IE_RBUF); -- outw(0x0, IE_GP); /* Point GP at start of packet */ -- data = inb(IE_RBUF); -- if (data == i) break; -- } -- bufsize_rcv = i << 8; -- outw(0, IE_GP); /* Point GP at start of packet */ -- outb(0, IE_RBUF); /* set buffer byte 0 to 0 again */ -- } -- printf("Bufsize rcv/xmt=%d/%d\n", bufsize_rcv, NI5010_BUFSIZE); -- return (1); --} -- --/************************************************************************** --PROBE - Look for an adapter, this routine's visible to the outside --***************************************************************************/ --struct nic *ni5010_probe(struct nic *nic, unsigned short *probe_addrs) --{ -- static unsigned short io_addrs[] = { -- 0x300, 0x320, 0x340, 0x360, 0x380, 0x3a0, 0 }; -- unsigned short *p; -- -- /* if probe_addrs is 0, then use list above */ -- if (probe_addrs == 0 || *probe_addrs == 0) -- probe_addrs = io_addrs; -- for (p = probe_addrs; (ioaddr = *p) != 0; p++) { -- if (ni5010_probe1(nic)) -- break; -- } -- if (ioaddr == 0) -- return (0); -- ni5010_reset(nic); -- /* point to NIC specific routines */ -- nic->reset = ni5010_reset; -- nic->poll = ni5010_poll; -- nic->transmit = ni5010_transmit; -- nic->disable = ni5010_disable; -- return (nic); --} -Index: b/netboot/nic.c -=================================================================== ---- /dev/null -+++ b/netboot/nic.c -@@ -0,0 +1,1198 @@ -+/************************************************************************** -+Etherboot - Network Bootstrap Program -+ -+Literature dealing with the network protocols: -+ ARP - RFC826 -+ RARP - RFC903 -+ IP - RFC791 -+ UDP - RFC768 -+ BOOTP - RFC951, RFC2132 (vendor extensions) -+ DHCP - RFC2131, RFC2132 (options) -+ TFTP - RFC1350, RFC2347 (options), RFC2348 (blocksize), RFC2349 (tsize) -+ RPC - RFC1831, RFC1832 (XDR), RFC1833 (rpcbind/portmapper) -+ NFS - RFC1094, RFC1813 (v3, useful for clarifications, not implemented) -+ IGMP - RFC1112, RFC2113, RFC2365, RFC2236, RFC3171 -+ -+**************************************************************************/ -+#include "etherboot.h" -+#include "grub.h" -+#include "nic.h" -+#include "elf.h" /* FOR EM_CURRENT */ -+#include "bootp.h" -+#include "if_arp.h" -+#include "tftp.h" -+#include "timer.h" -+#include "ip.h" -+#include "udp.h" -+ -+/* Currently no other module uses rom, but it is available */ -+struct rom_info rom; -+struct arptable_t arptable[MAX_ARP]; -+#if MULTICAST_LEVEL2 -+unsigned long last_igmpv1 = 0; -+struct igmptable_t igmptable[MAX_IGMP]; -+#endif -+static unsigned long netmask; -+/* Used by nfs.c */ -+char *hostname = ""; -+int hostnamelen = 0; -+static uint32_t xid; -+static unsigned char *end_of_rfc1533 = NULL; -+static const unsigned char broadcast[] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; -+static const in_addr zeroIP = { 0L }; -+static char rfc1533_venddata[MAX_RFC1533_VENDLEN]; -+static unsigned char rfc1533_cookie[4] = { RFC1533_COOKIE }; -+static unsigned char rfc1533_cookie_bootp[5] = { RFC1533_COOKIE, RFC1533_END }; -+static unsigned char rfc1533_cookie_dhcp[] = { RFC1533_COOKIE }; -+static int dhcp_reply; -+static in_addr dhcp_server = { 0L }; -+static in_addr dhcp_addr = { 0L }; -+ -+static const unsigned char dhcpdiscover[] = { -+ RFC2132_MSG_TYPE, 1, DHCPDISCOVER, -+ RFC2132_MAX_SIZE, 2, /* request as much as we can */ -+ ETH_MAX_MTU / 256, ETH_MAX_MTU % 256, -+ /* Vendor class identifier */ -+ RFC2132_VENDOR_CLASS_ID, 10, 'G', 'R', 'U', 'B', 'C', 'l', 'i', 'e', 'n', 't', -+ RFC2132_PARAM_LIST, 4, RFC1533_NETMASK, RFC1533_GATEWAY, -+ RFC1533_HOSTNAME, RFC1533_EXTENSIONPATH, RFC1533_END -+}; -+static const unsigned char dhcprequest [] = { -+ RFC2132_MSG_TYPE,1,DHCPREQUEST, -+ RFC2132_SRV_ID,4,0,0,0,0, -+ RFC2132_REQ_ADDR,4,0,0,0,0, -+ RFC2132_MAX_SIZE,2, /* request as much as we can */ -+ ETH_MAX_MTU / 256, ETH_MAX_MTU % 256, -+ /* Vendor class identifier */ -+ RFC2132_VENDOR_CLASS_ID, 10, 'G', 'R', 'U', 'B', 'C', 'l', 'i', 'e', 'n', 't', -+ RFC2132_PARAM_LIST, -+ /* 4 standard + 2 vendortags */ -+ 4 + 2, -+ /* Standard parameters */ -+ RFC1533_NETMASK, RFC1533_GATEWAY, -+ RFC1533_HOSTNAME, RFC1533_EXTENSIONPATH, -+ /* Etherboot vendortags */ -+ RFC1533_VENDOR_MAGIC, -+ RFC1533_VENDOR_CONFIGFILE, -+ RFC1533_END -+}; -+ -+/* See nic.h */ -+int user_abort = 0; -+int network_ready = 0; -+ -+#ifdef REQUIRE_VCI_ETHERBOOT -+int vci_etherboot; -+#endif -+ -+static int dummy(void *unused __unused) -+{ -+ return (0); -+} -+ -+/* Careful. We need an aligned buffer to avoid problems on machines -+ * that care about alignment. To trivally align the ethernet data -+ * (the ip hdr and arp requests) we offset the packet by 2 bytes. -+ * leaving the ethernet data 16 byte aligned. Beyond this -+ * we use memmove but this makes the common cast simple and fast. -+ */ -+static char packet[ETH_FRAME_LEN + ETH_DATA_ALIGN] __aligned; -+ -+struct nic nic = -+{ -+ { -+ 0, /* dev.disable */ -+ { -+ 0, -+ 0, -+ PCI_BUS_TYPE, -+ }, /* dev.devid */ -+ 0, /* index */ -+ 0, /* type */ -+ PROBE_FIRST, /* how_pobe */ -+ PROBE_NONE, /* to_probe */ -+ 0, /* failsafe */ -+ 0, /* type_index */ -+ {}, /* state */ -+ }, -+ (int (*)(struct nic *, int))dummy, /* poll */ -+ (void (*)(struct nic *, const char *, -+ unsigned int, unsigned int, -+ const char *))dummy, /* transmit */ -+ (void (*)(struct nic *, irq_action_t))dummy, /* irq */ -+ 0, /* flags */ -+ &rom, /* rom_info */ -+ arptable[ARP_CLIENT].node, /* node_addr */ -+ packet + ETH_DATA_ALIGN, /* packet */ -+ 0, /* packetlen */ -+ 0, /* ioaddr */ -+ 0, /* irqno */ -+ NULL, /* priv_data */ -+}; -+ -+ -+ -+int grub_eth_probe(void) -+{ -+ static int probed = 0; -+ struct dev *dev; -+ -+ EnterFunction("grub_eth_probe"); -+ -+ if (probed) -+ return 1; -+ -+ network_ready = 0; -+ grub_memset((char *)arptable, 0, MAX_ARP * sizeof(struct arptable_t)); -+ dev = &nic.dev; -+ dev->how_probe = -1; -+ dev->type = NIC_DRIVER; -+ dev->failsafe = 1; -+ rom = *((struct rom_info *)ROM_INFO_LOCATION); -+ -+ probed = (eth_probe(dev) == PROBE_WORKED); -+ -+ LeaveFunction("grub_eth_probe"); -+ return probed; -+} -+ -+int eth_probe(struct dev *dev) -+{ -+ return probe(dev); -+} -+ -+int eth_poll(int retrieve) -+{ -+ return ((*nic.poll)(&nic, retrieve)); -+} -+ -+void eth_transmit(const char *d, unsigned int t, unsigned int s, const void *p) -+{ -+ (*nic.transmit)(&nic, d, t, s, p); -+ if (t == IP) twiddle(); -+} -+ -+void eth_disable(void) -+{ -+#ifdef MULTICAST_LEVEL2 -+ int i; -+ for(i = 0; i < MAX_IGMP; i++) { -+ leave_group(i); -+ } -+#endif -+ disable(&nic.dev); -+} -+ -+void eth_irq (irq_action_t action) -+{ -+ (*nic.irq)(&nic,action); -+} -+ -+/************************************************************************** -+IPCHKSUM - Checksum IP Header -+**************************************************************************/ -+uint16_t ipchksum(const void *data, unsigned long length) -+{ -+ unsigned long sum; -+ unsigned long i; -+ const uint8_t *ptr; -+ -+ /* In the most straight forward way possible, -+ * compute an ip style checksum. -+ */ -+ sum = 0; -+ ptr = data; -+ for(i = 0; i < length; i++) { -+ unsigned long value; -+ value = ptr[i]; -+ if (i & 1) { -+ value <<= 8; -+ } -+ /* Add the new value */ -+ sum += value; -+ /* Wrap around the carry */ -+ if (sum > 0xFFFF) { -+ sum = (sum + (sum >> 16)) & 0xFFFF; -+ } -+ } -+ return (~cpu_to_le16(sum)) & 0xFFFF; -+} -+ -+uint16_t add_ipchksums(unsigned long offset, uint16_t sum, uint16_t new) -+{ -+ unsigned long checksum; -+ sum = ~sum & 0xFFFF; -+ new = ~new & 0xFFFF; -+ if (offset & 1) { -+ /* byte swap the sum if it came from an odd offset -+ * since the computation is endian independant this -+ * works. -+ */ -+ new = bswap_16(new); -+ } -+ checksum = sum + new; -+ if (checksum > 0xFFFF) { -+ checksum -= 0xFFFF; -+ } -+ return (~checksum) & 0xFFFF; -+} -+ -+/************************************************************************** -+DEFAULT_NETMASK - Return default netmask for IP address -+**************************************************************************/ -+static inline unsigned long default_netmask(void) -+{ -+ int net = ntohl(arptable[ARP_CLIENT].ipaddr.s_addr) >> 24; -+ if (net <= 127) -+ return(htonl(0xff000000)); -+ else if (net < 192) -+ return(htonl(0xffff0000)); -+ else -+ return(htonl(0xffffff00)); -+} -+ -+/************************************************************************** -+IP_TRANSMIT - Send an IP datagram -+**************************************************************************/ -+static int await_arp(int ival, void *ptr, -+ unsigned short ptype, struct iphdr *ip __unused, struct udphdr *udp __unused) -+{ -+ struct arprequest *arpreply; -+ if (ptype != ARP) -+ return 0; -+ if (nic.packetlen < ETH_HLEN + sizeof(struct arprequest)) -+ return 0; -+ arpreply = (struct arprequest *)&nic.packet[ETH_HLEN]; -+ -+ if (arpreply->opcode != htons(ARP_REPLY)) -+ return 0; -+ if (memcmp(arpreply->sipaddr, ptr, sizeof(in_addr)) != 0) -+ return 0; -+ memcpy(arptable[ival].node, arpreply->shwaddr, ETH_ALEN); -+ return 1; -+} -+ -+int ip_transmit(int len, const void *buf) -+{ -+ unsigned long destip; -+ struct iphdr *ip; -+ struct arprequest arpreq; -+ int arpentry, i; -+ int retry; -+ -+ ip = (struct iphdr *)buf; -+ destip = ip->dest.s_addr; -+ if (destip == IP_BROADCAST) { -+ eth_transmit(broadcast, IP, len, buf); -+#ifdef MULTICAST_LEVEL1 -+ } else if ((destip & htonl(MULTICAST_MASK)) == htonl(MULTICAST_NETWORK)) { -+ unsigned char multicast[6]; -+ unsigned long hdestip; -+ hdestip = ntohl(destip); -+ multicast[0] = 0x01; -+ multicast[1] = 0x00; -+ multicast[2] = 0x5e; -+ multicast[3] = (hdestip >> 16) & 0x7; -+ multicast[4] = (hdestip >> 8) & 0xff; -+ multicast[5] = hdestip & 0xff; -+ eth_transmit(multicast, IP, len, buf); -+#endif -+ } else { -+ if (((destip & netmask) != -+ (arptable[ARP_CLIENT].ipaddr.s_addr & netmask)) && -+ arptable[ARP_GATEWAY].ipaddr.s_addr) -+ destip = arptable[ARP_GATEWAY].ipaddr.s_addr; -+ for(arpentry = 0; arpentryverhdrlen = 0x45; -+ ip->verhdrlen += (option_len/4); -+ ip->service = 0; -+ ip->len = htons(len); -+ ip->ident = 0; -+ ip->frags = 0; /* Should we set don't fragment? */ -+ ip->ttl = ttl; -+ ip->protocol = protocol; -+ ip->chksum = 0; -+ ip->src.s_addr = arptable[ARP_CLIENT].ipaddr.s_addr; -+ ip->dest.s_addr = destip; -+ ip->chksum = ipchksum(buf, sizeof(struct iphdr) + option_len); -+} -+ -+static uint16_t udpchksum(struct iphdr *ip, struct udphdr *udp) -+{ -+ struct udp_pseudo_hdr pseudo; -+ uint16_t checksum; -+ -+ /* Compute the pseudo header */ -+ pseudo.src.s_addr = ip->src.s_addr; -+ pseudo.dest.s_addr = ip->dest.s_addr; -+ pseudo.unused = 0; -+ pseudo.protocol = IP_UDP; -+ pseudo.len = udp->len; -+ -+ /* Sum the pseudo header */ -+ checksum = ipchksum(&pseudo, 12); -+ -+ /* Sum the rest of the udp packet */ -+ checksum = add_ipchksums(12, checksum, ipchksum(udp, ntohs(udp->len))); -+ return checksum; -+} -+ -+ -+void build_udp_hdr(unsigned long destip, -+ unsigned int srcsock, unsigned int destsock, int ttl, -+ int len, const void *buf) -+{ -+ struct iphdr *ip; -+ struct udphdr *udp; -+ ip = (struct iphdr *)buf; -+ build_ip_hdr(destip, ttl, IP_UDP, 0, len, buf); -+ udp = (struct udphdr *)((char *)buf + sizeof(struct iphdr)); -+ udp->src = htons(srcsock); -+ udp->dest = htons(destsock); -+ udp->len = htons(len - sizeof(struct iphdr)); -+ udp->chksum = 0; -+ if ((udp->chksum = udpchksum(ip, udp)) == 0) -+ udp->chksum = 0xffff; -+} -+ -+ -+/************************************************************************** -+UDP_TRANSMIT - Send an UDP datagram -+**************************************************************************/ -+int udp_transmit(unsigned long destip, unsigned int srcsock, -+ unsigned int destsock, int len, const void *buf) -+{ -+ build_udp_hdr(destip, srcsock, destsock, 60, len, buf); -+ return ip_transmit(len, buf); -+} -+ -+/************************************************************************** -+QDRAIN - clear the nic's receive queue -+**************************************************************************/ -+static int await_qdrain(int ival __unused, void *ptr __unused, -+ unsigned short ptype __unused, -+ struct iphdr *ip __unused, struct udphdr *udp __unused) -+{ -+ return 0; -+} -+ -+void rx_qdrain(void) -+{ -+ /* Clear out the Rx queue first. It contains nothing of interest, -+ * except possibly ARP requests from the DHCP/TFTP server. We use -+ * polling throughout Etherboot, so some time may have passed since we -+ * last polled the receive queue, which may now be filled with -+ * broadcast packets. This will cause the reply to the packets we are -+ * about to send to be lost immediately. Not very clever. */ -+ await_reply(await_qdrain, 0, NULL, 0); -+} -+ -+/** -+ * rarp -+ * -+ * Get IP address by rarp. Just copy from etherboot -+ **/ -+static int await_rarp(int ival, void *ptr, unsigned short ptype, -+ struct iphdr *ip, struct udphdr *udp) -+{ -+ struct arprequest *arpreply; -+ if (ptype != RARP) -+ return 0; -+ if (nic.packetlen < ETH_HLEN + sizeof(struct arprequest)) -+ return 0; -+ arpreply = (struct arprequest *)&nic.packet[ETH_HLEN]; -+ if (arpreply->opcode != htons(RARP_REPLY)) -+ return 0; -+ if (memcmp(arpreply->thwaddr, ptr, ETH_ALEN) == 0){ -+ memcpy(arptable[ARP_SERVER].node, arpreply->shwaddr, ETH_ALEN); -+ memcpy(&arptable[ARP_SERVER].ipaddr, arpreply->sipaddr, sizeof(in_addr)); -+ memcpy(&arptable[ARP_CLIENT].ipaddr, arpreply->tipaddr, sizeof(in_addr)); -+ return 1; -+ } -+ return 0; -+} -+ -+int rarp(void) -+{ -+ int retry; -+ -+ /* arp and rarp requests share the same packet structure. */ -+ struct arprequest rarpreq; -+ -+ if(!grub_eth_probe()) -+ return 0; -+ network_ready = 0; -+ -+ memset(&rarpreq, 0, sizeof(rarpreq)); -+ -+ rarpreq.hwtype = htons(1); -+ rarpreq.protocol = htons(IP); -+ rarpreq.hwlen = ETH_ALEN; -+ rarpreq.protolen = 4; -+ rarpreq.opcode = htons(RARP_REQUEST); -+ memcpy(&rarpreq.shwaddr, arptable[ARP_CLIENT].node, ETH_ALEN); -+ /* sipaddr is already zeroed out */ -+ memcpy(&rarpreq.thwaddr, arptable[ARP_CLIENT].node, ETH_ALEN); -+ /* tipaddr is already zeroed out */ -+ -+ for (retry = 0; retry < MAX_ARP_RETRIES; ++retry) { -+ long timeout; -+ eth_transmit(broadcast, RARP, sizeof(rarpreq), &rarpreq); -+ -+ timeout = rfc2131_sleep_interval(TIMEOUT, retry); -+ if (await_reply(await_rarp, 0, rarpreq.shwaddr, timeout)) -+ break; -+ if (user_abort) -+ return 0; -+ } -+ -+ if (retry < MAX_ARP_RETRIES) { -+ network_ready = 1; -+ return (1); -+ } -+ return (0); -+} -+ -+/** -+ * bootp -+ * -+ * Get IP address by bootp, segregate from bootp in etherboot. -+ **/ -+static int await_bootp(int ival __unused, void *ptr __unused, -+ unsigned short ptype __unused, struct iphdr *ip __unused, -+ struct udphdr *udp) -+{ -+ struct bootp_t *bootpreply; -+ int len; /* Length of vendor */ -+ -+ if (!udp) { -+ return 0; -+ } -+ bootpreply = (struct bootp_t *) -+ &nic.packet[ETH_HLEN + sizeof(struct iphdr) + sizeof(struct udphdr)]; -+ len = nic.packetlen - (ETH_HLEN + sizeof(struct iphdr) + -+ sizeof(struct udphdr) + sizeof(struct bootp_t) - BOOTP_VENDOR_LEN); -+ if (len < 0) { -+ return 0; -+ } -+ if (udp->dest != htons(BOOTP_CLIENT)) -+ return 0; -+ if (bootpreply->bp_op != BOOTP_REPLY) -+ return 0; -+ if (bootpreply->bp_xid != xid) -+ return 0; -+ if (memcmp((char *)&bootpreply->bp_siaddr, (char *)&zeroIP, sizeof(in_addr)) == 0) -+ return 0; -+ if ((memcmp(broadcast, bootpreply->bp_hwaddr, ETH_ALEN) != 0) && -+ (memcmp(arptable[ARP_CLIENT].node, bootpreply->bp_hwaddr, ETH_ALEN) != 0)) { -+ return 0; -+ } -+ arptable[ARP_CLIENT].ipaddr.s_addr = bootpreply->bp_yiaddr.s_addr; -+ netmask = default_netmask(); -+ arptable[ARP_SERVER].ipaddr.s_addr = bootpreply->bp_siaddr.s_addr; -+ memset(arptable[ARP_SERVER].node, 0, ETH_ALEN); /* Kill arp */ -+ arptable[ARP_GATEWAY].ipaddr.s_addr = bootpreply->bp_giaddr.s_addr; -+ memset(arptable[ARP_GATEWAY].node, 0, ETH_ALEN); /* Kill arp */ -+ /* We don't care bootpreply->bp_file, it must be 'pxegrub':-) */ -+ memcpy((char *)rfc1533_venddata, (char *)(bootpreply->bp_vend), len); -+ decode_rfc1533(rfc1533_venddata, 0, len, 1); -+ return(1); -+} -+ -+int bootp(void) -+{ -+ int retry; -+ struct bootpip_t ip; -+ unsigned long starttime; -+ -+ EnterFunction("bootp"); -+ -+ if(!grub_eth_probe()) -+ return 0; -+ network_ready = 0; -+ -+ memset(&ip, 0, sizeof(struct bootpip_t)); -+ ip.bp.bp_op = BOOTP_REQUEST; -+ ip.bp.bp_htype = 1; -+ ip.bp.bp_hlen = ETH_ALEN; -+ starttime = currticks(); -+ /* Use lower 32 bits of node address, more likely to be -+ distinct than the time since booting */ -+ memcpy(&xid, &arptable[ARP_CLIENT].node[2], sizeof(xid)); -+ ip.bp.bp_xid = xid += htonl(starttime); -+ /* bp_secs defaults to zero */ -+ memcpy(ip.bp.bp_hwaddr, arptable[ARP_CLIENT].node, ETH_ALEN); -+ memcpy(ip.bp.bp_vend, rfc1533_cookie_bootp, sizeof(rfc1533_cookie_bootp)); /* request RFC-style options */ -+ -+ for (retry = 0; retry < MAX_BOOTP_RETRIES; ) { -+ long timeout; -+ -+ rx_qdrain(); -+ -+ udp_transmit(IP_BROADCAST, BOOTP_CLIENT, BOOTP_SERVER, -+ sizeof(struct bootpip_t), &ip); -+ timeout = rfc2131_sleep_interval(TIMEOUT, retry++); -+ if (await_reply(await_bootp, 0, NULL, timeout)){ -+ network_ready = 1; -+ return(1); -+ } -+ if (user_abort) -+ return 0; -+ ip.bp.bp_secs = htons((currticks()-starttime)/TICKS_PER_SEC); -+ } -+ return(0); -+} -+ -+/** -+ * dhcp -+ * -+ * Get IP address by dhcp, segregate from bootp in etherboot. -+ **/ -+static int await_dhcp(int ival __unused, void *ptr __unused, -+ unsigned short ptype __unused, struct iphdr *ip __unused, -+ struct udphdr *udp) -+{ -+ struct dhcp_t *dhcpreply; -+ int len; -+ -+ if (!udp) { -+ return 0; -+ } -+ dhcpreply = (struct dhcp_t *) -+ &nic.packet[ETH_HLEN + sizeof(struct iphdr) + sizeof(struct udphdr)]; -+ len = nic.packetlen - (ETH_HLEN + sizeof(struct iphdr) + -+ sizeof(struct udphdr) + sizeof(struct dhcp_t) - DHCP_OPT_LEN); -+ if (len < 0){ -+ return 0; -+ } -+ if (udp->dest != htons(BOOTP_CLIENT)) -+ return 0; -+ if (dhcpreply->bp_op != BOOTP_REPLY) -+ return 0; -+ if (dhcpreply->bp_xid != xid) -+ return 0; -+ if (memcmp((char *)&dhcpreply->bp_siaddr, (char *)&zeroIP, sizeof(in_addr)) == 0) -+ return 0; -+ if ((memcmp(broadcast, dhcpreply->bp_hwaddr, ETH_ALEN) != 0) && -+ (memcmp(arptable[ARP_CLIENT].node, dhcpreply->bp_hwaddr, ETH_ALEN) != 0)) { -+ return 0; -+ } -+ arptable[ARP_CLIENT].ipaddr.s_addr = dhcpreply->bp_yiaddr.s_addr; -+ dhcp_addr.s_addr = dhcpreply->bp_yiaddr.s_addr; -+ netmask = default_netmask(); -+ arptable[ARP_SERVER].ipaddr.s_addr = dhcpreply->bp_siaddr.s_addr; -+ memset(arptable[ARP_SERVER].node, 0, ETH_ALEN); /* Kill arp */ -+ arptable[ARP_GATEWAY].ipaddr.s_addr = dhcpreply->bp_giaddr.s_addr; -+ memset(arptable[ARP_GATEWAY].node, 0, ETH_ALEN); /* Kill arp */ -+ /* We don't care bootpreply->bp_file. It must be 'pxegrub' */ -+ memcpy((char *)rfc1533_venddata, (char *)(dhcpreply->bp_vend), len); -+ decode_rfc1533(rfc1533_venddata, 0, len, 1); -+ return(1); -+} -+ -+int dhcp(void) -+{ -+ int retry; -+ int reqretry; -+ struct dhcpip_t ip; -+ unsigned long starttime; -+ -+ if(!grub_eth_probe()) -+ return 0; -+ -+ network_ready = 0; -+ -+ memset(&ip, 0, sizeof(struct dhcpip_t)); -+ ip.bp.bp_op = BOOTP_REQUEST; -+ ip.bp.bp_htype = 1; -+ ip.bp.bp_hlen = ETH_ALEN; -+ starttime = currticks(); -+ /* Use lower 32 bits of node address, more likely to be -+ distinct than the time since booting */ -+ memcpy(&xid, &arptable[ARP_CLIENT].node[2], sizeof(xid)); -+ ip.bp.bp_xid = xid += htonl(starttime); -+ memcpy(ip.bp.bp_hwaddr, arptable[ARP_CLIENT].node, ETH_ALEN); -+ memcpy(ip.bp.bp_vend, rfc1533_cookie_dhcp, sizeof rfc1533_cookie_dhcp); /* request RFC-style options */ -+ memcpy(ip.bp.bp_vend + sizeof rfc1533_cookie_dhcp, dhcpdiscover, sizeof dhcpdiscover); -+ -+ for (retry = 0; retry < MAX_BOOTP_RETRIES; ) { -+ long timeout; -+ -+ rx_qdrain(); -+ -+ udp_transmit(IP_BROADCAST, BOOTP_CLIENT, BOOTP_SERVER, -+ sizeof(struct bootpip_t), &ip); -+ timeout = rfc2131_sleep_interval(TIMEOUT, retry++); -+ if (await_reply(await_dhcp, 0, NULL, timeout)) { -+ /* If not a DHCPOFFER then must be just a -+ BOOTP reply, be backward compatible with -+ BOOTP then. Jscott report a bug here, but I -+ don't know how it happened */ -+ if (dhcp_reply != DHCPOFFER){ -+ network_ready = 1; -+ return(1); -+ } -+ dhcp_reply = 0; -+ memcpy(ip.bp.bp_vend, rfc1533_cookie_dhcp, sizeof rfc1533_cookie_dhcp); -+ memcpy(ip.bp.bp_vend + sizeof rfc1533_cookie_dhcp, dhcprequest, sizeof dhcprequest); -+ /* Beware: the magic numbers 9 and 15 depend on -+ the layout of dhcprequest */ -+ memcpy(&ip.bp.bp_vend[9], &dhcp_server, sizeof(in_addr)); -+ memcpy(&ip.bp.bp_vend[15], &dhcp_addr, sizeof(in_addr)); -+ for (reqretry = 0; reqretry < MAX_BOOTP_RETRIES; ) { -+ udp_transmit(IP_BROADCAST, BOOTP_CLIENT, BOOTP_SERVER, -+ sizeof(struct bootpip_t), &ip); -+ dhcp_reply=0; -+ timeout = rfc2131_sleep_interval(TIMEOUT, reqretry++); -+ if (await_reply(await_dhcp, 0, NULL, timeout)) -+ if (dhcp_reply == DHCPACK){ -+ network_ready = 1; -+ return(1); -+ } -+ if (user_abort) -+ return 0; -+ } -+ } -+ if (user_abort) -+ return 0; -+ ip.bp.bp_secs = htons((currticks()-starttime)/TICKS_PER_SEC); -+ } -+ return(0); -+} -+ -+#ifdef MULTICAST_LEVEL2 -+static void send_igmp_reports(unsigned long now) -+{ -+ int i; -+ for(i = 0; i < MAX_IGMP; i++) { -+ if (igmptable[i].time && (now >= igmptable[i].time)) { -+ struct igmp_ip_t igmp; -+ igmp.router_alert[0] = 0x94; -+ igmp.router_alert[1] = 0x04; -+ igmp.router_alert[2] = 0; -+ igmp.router_alert[3] = 0; -+ build_ip_hdr(igmptable[i].group.s_addr, -+ 1, IP_IGMP, sizeof(igmp.router_alert), sizeof(igmp), &igmp); -+ igmp.igmp.type = IGMPv2_REPORT; -+ if (last_igmpv1 && -+ (now < last_igmpv1 + IGMPv1_ROUTER_PRESENT_TIMEOUT)) { -+ igmp.igmp.type = IGMPv1_REPORT; -+ } -+ igmp.igmp.response_time = 0; -+ igmp.igmp.chksum = 0; -+ igmp.igmp.group.s_addr = igmptable[i].group.s_addr; -+ igmp.igmp.chksum = ipchksum(&igmp.igmp, sizeof(igmp.igmp)); -+ ip_transmit(sizeof(igmp), &igmp); -+#ifdef MDEBUG -+ printf("Sent IGMP report to: %@\n", igmp.igmp.group.s_addr); -+#endif -+ /* Don't send another igmp report until asked */ -+ igmptable[i].time = 0; -+ } -+ } -+} -+ -+static void process_igmp(struct iphdr *ip, unsigned long now) -+{ -+ struct igmp *igmp; -+ int i; -+ unsigned iplen = 0; -+ if (!ip || (ip->protocol == IP_IGMP) || -+ (nic.packetlen < sizeof(struct iphdr) + sizeof(struct igmp))) { -+ return; -+ } -+ iplen = (ip->verhdrlen & 0xf)*4; -+ igmp = (struct igmp *)&nic.packet[sizeof(struct iphdr)]; -+ if (ipchksum(igmp, ntohs(ip->len) - iplen) != 0) -+ return; -+ if ((igmp->type == IGMP_QUERY) && -+ (ip->dest.s_addr == htonl(GROUP_ALL_HOSTS))) { -+ unsigned long interval = IGMP_INTERVAL; -+ if (igmp->response_time == 0) { -+ last_igmpv1 = now; -+ } else { -+ interval = (igmp->response_time * TICKS_PER_SEC)/10; -+ } -+ -+#ifdef MDEBUG -+ printf("Received IGMP query for: %@\n", igmp->group.s_addr); -+#endif -+ for(i = 0; i < MAX_IGMP; i++) { -+ uint32_t group = igmptable[i].group.s_addr; -+ if ((group == 0) || (group == igmp->group.s_addr)) { -+ unsigned long time; -+ time = currticks() + rfc1112_sleep_interval(interval, 0); -+ if (time < igmptable[i].time) { -+ igmptable[i].time = time; -+ } -+ } -+ } -+ } -+ if (((igmp->type == IGMPv1_REPORT) || (igmp->type == IGMPv2_REPORT)) && -+ (ip->dest.s_addr == igmp->group.s_addr)) { -+#ifdef MDEBUG -+ printf("Received IGMP report for: %@\n", igmp->group.s_addr); -+#endif -+ for(i = 0; i < MAX_IGMP; i++) { -+ if ((igmptable[i].group.s_addr == igmp->group.s_addr) && -+ igmptable[i].time != 0) { -+ igmptable[i].time = 0; -+ } -+ } -+ } -+} -+ -+void leave_group(int slot) -+{ -+ /* Be very stupid and always send a leave group message if -+ * I have subscribed. Imperfect but it is standards -+ * compliant, easy and reliable to implement. -+ * -+ * The optimal group leave method is to only send leave when, -+ * we were the last host to respond to a query on this group, -+ * and igmpv1 compatibility is not enabled. -+ */ -+ if (igmptable[slot].group.s_addr) { -+ struct igmp_ip_t igmp; -+ igmp.router_alert[0] = 0x94; -+ igmp.router_alert[1] = 0x04; -+ igmp.router_alert[2] = 0; -+ igmp.router_alert[3] = 0; -+ build_ip_hdr(htonl(GROUP_ALL_HOSTS), -+ 1, IP_IGMP, sizeof(igmp.router_alert), sizeof(igmp), &igmp); -+ igmp.igmp.type = IGMP_LEAVE; -+ igmp.igmp.response_time = 0; -+ igmp.igmp.chksum = 0; -+ igmp.igmp.group.s_addr = igmptable[slot].group.s_addr; -+ igmp.igmp.chksum = ipchksum(&igmp.igmp, sizeof(igmp)); -+ ip_transmit(sizeof(igmp), &igmp); -+#ifdef MDEBUG -+ printf("Sent IGMP leave for: %@\n", igmp.igmp.group.s_addr); -+#endif -+ } -+ memset(&igmptable[slot], 0, sizeof(igmptable[0])); -+} -+ -+void join_group(int slot, unsigned long group) -+{ -+ /* I have already joined */ -+ if (igmptable[slot].group.s_addr == group) -+ return; -+ if (igmptable[slot].group.s_addr) { -+ leave_group(slot); -+ } -+ /* Only join a group if we are given a multicast ip, this way -+ * code can be given a non-multicast (broadcast or unicast ip) -+ * and still work... -+ */ -+ if ((group & htonl(MULTICAST_MASK)) == htonl(MULTICAST_NETWORK)) { -+ igmptable[slot].group.s_addr = group; -+ igmptable[slot].time = currticks(); -+ } -+} -+#else -+#define send_igmp_reports(now); -+#define process_igmp(ip, now) -+#endif -+ -+/************************************************************************** -+AWAIT_REPLY - Wait until we get a response for our request -+************f**************************************************************/ -+int await_reply(reply_t reply, int ival, void *ptr, long timeout) -+{ -+ unsigned long time, now; -+ struct iphdr *ip; -+ unsigned iplen = 0; -+ struct udphdr *udp; -+ unsigned short ptype; -+ int result; -+ -+ user_abort = 0; -+ -+ time = timeout + currticks(); -+ /* The timeout check is done below. The timeout is only checked if -+ * there is no packet in the Rx queue. This assumes that eth_poll() -+ * needs a negligible amount of time. -+ */ -+ for (;;) { -+ now = currticks(); -+ send_igmp_reports(now); -+ result = eth_poll(1); -+ if (result == 0) { -+ /* We don't have anything */ -+ -+ /* Check for abort key only if the Rx queue is empty - -+ * as long as we have something to process, don't -+ * assume that something failed. It is unlikely that -+ * we have no processing time left between packets. */ -+ poll_interruptions(); -+ /* Do the timeout after at least a full queue walk. */ -+ if ((timeout == 0) || (currticks() > time) || user_abort == 1) { -+ break; -+ } -+ continue; -+ } -+ -+ /* We have something! */ -+ -+ /* Find the Ethernet packet type */ -+ if (nic.packetlen >= ETH_HLEN) { -+ ptype = ((unsigned short) nic.packet[12]) << 8 -+ | ((unsigned short) nic.packet[13]); -+ } else continue; /* what else could we do with it? */ -+ /* Verify an IP header */ -+ ip = 0; -+ if ((ptype == IP) && (nic.packetlen >= ETH_HLEN + sizeof(struct iphdr))) { -+ unsigned ipoptlen; -+ ip = (struct iphdr *)&nic.packet[ETH_HLEN]; -+ if ((ip->verhdrlen < 0x45) || (ip->verhdrlen > 0x4F)) -+ continue; -+ iplen = (ip->verhdrlen & 0xf) * 4; -+ if (ipchksum(ip, iplen) != 0) -+ continue; -+ if (ip->frags & htons(0x3FFF)) { -+ static int warned_fragmentation = 0; -+ if (!warned_fragmentation) { -+ printf("ALERT: got a fragmented packet - reconfigure your server\n"); -+ warned_fragmentation = 1; -+ } -+ continue; -+ } -+ if (ntohs(ip->len) > ETH_MAX_MTU) -+ continue; -+ -+ ipoptlen = iplen - sizeof(struct iphdr); -+ if (ipoptlen) { -+ /* Delete the ip options, to guarantee -+ * good alignment, and make etherboot simpler. -+ */ -+ memmove(&nic.packet[ETH_HLEN + sizeof(struct iphdr)], -+ &nic.packet[ETH_HLEN + iplen], -+ nic.packetlen - ipoptlen); -+ nic.packetlen -= ipoptlen; -+ } -+ } -+ udp = 0; -+ if (ip && (ip->protocol == IP_UDP) && -+ (nic.packetlen >= ETH_HLEN + sizeof(struct iphdr) + sizeof(struct udphdr))) { -+ udp = (struct udphdr *)&nic.packet[ETH_HLEN + sizeof(struct iphdr)]; -+ -+ /* Make certain we have a reasonable packet length */ -+ if (ntohs(udp->len) > (ntohs(ip->len) - iplen)) -+ continue; -+ -+ if (udp->chksum && udpchksum(ip, udp)) { -+ printf("UDP checksum error\n"); -+ continue; -+ } -+ } -+ result = reply(ival, ptr, ptype, ip, udp); -+ if (result > 0) { -+ return result; -+ } -+ -+ /* If it isn't a packet the upper layer wants see if there is a default -+ * action. This allows us reply to arp and igmp queryies. -+ */ -+ if ((ptype == ARP) && -+ (nic.packetlen >= ETH_HLEN + sizeof(struct arprequest))) { -+ struct arprequest *arpreply; -+ unsigned long tmp; -+ -+ arpreply = (struct arprequest *)&nic.packet[ETH_HLEN]; -+ memcpy(&tmp, arpreply->tipaddr, sizeof(in_addr)); -+ if ((arpreply->opcode == htons(ARP_REQUEST)) && -+ (tmp == arptable[ARP_CLIENT].ipaddr.s_addr)) { -+ arpreply->opcode = htons(ARP_REPLY); -+ memcpy(arpreply->tipaddr, arpreply->sipaddr, sizeof(in_addr)); -+ memcpy(arpreply->thwaddr, arpreply->shwaddr, ETH_ALEN); -+ memcpy(arpreply->sipaddr, &arptable[ARP_CLIENT].ipaddr, sizeof(in_addr)); -+ memcpy(arpreply->shwaddr, arptable[ARP_CLIENT].node, ETH_ALEN); -+ eth_transmit(arpreply->thwaddr, ARP, -+ sizeof(struct arprequest), -+ arpreply); -+#ifdef MDEBUG -+ memcpy(&tmp, arpreply->tipaddr, sizeof(in_addr)); -+ printf("Sent ARP reply to: %@\n",tmp); -+#endif /* MDEBUG */ -+ } -+ } -+ process_igmp(ip, now); -+ } -+ return(0); -+} -+ -+#ifdef REQUIRE_VCI_ETHERBOOT -+/************************************************************************** -+FIND_VCI_ETHERBOOT - Looks for "Etherboot" in Vendor Encapsulated Identifiers -+On entry p points to byte count of VCI options -+**************************************************************************/ -+static int find_vci_etherboot(unsigned char *p) -+{ -+ unsigned char *end = p + 1 + *p; -+ -+ for (p++; p < end; ) { -+ if (*p == RFC2132_VENDOR_CLASS_ID) { -+ if (strncmp("Etherboot", p + 2, sizeof("Etherboot") - 1) == 0) -+ return (1); -+ } else if (*p == RFC1533_END) -+ return (0); -+ p += TAG_LEN(p) + 2; -+ } -+ return (0); -+} -+#endif /* REQUIRE_VCI_ETHERBOOT */ -+ -+/** -+ * decode_rfc1533 -+ * -+ * Decodes RFC1533 header -+ **/ -+int decode_rfc1533(unsigned char *p, unsigned int block, unsigned int len, int eof) -+{ -+ static unsigned char *extdata = NULL, *extend = NULL; -+ unsigned char *extpath = NULL; -+ unsigned char *endp; -+ -+ if (block == 0) { -+ end_of_rfc1533 = NULL; -+ if (memcmp(p, rfc1533_cookie, sizeof(rfc1533_cookie))) -+ return(0); /* no RFC 1533 header found */ -+ p += 4; -+ endp = p + len; -+ } else { -+ if (block == 1) { -+ if (memcmp(p, rfc1533_cookie, sizeof(rfc1533_cookie))) -+ return(0); /* no RFC 1533 header found */ -+ p += 4; -+ len -= 4; } -+ if (extend + len <= (unsigned char *) -+ rfc1533_venddata + sizeof(rfc1533_venddata)) { -+ memcpy(extend, p, len); -+ extend += len; -+ } else { -+ printf("Overflow in vendor data buffer! Aborting...\n"); -+ *extdata = RFC1533_END; -+ return(0); -+ } -+ p = extdata; endp = extend; -+ } -+ if (!eof) -+ return 1; -+ while (p < endp) { -+ unsigned char c = *p; -+ if (c == RFC1533_PAD) { -+ p++; -+ continue; -+ } -+ else if (c == RFC1533_END) { -+ end_of_rfc1533 = endp = p; -+ continue; -+ } -+ else if (c == RFC1533_NETMASK) -+ memcpy(&netmask, p+2, sizeof(in_addr)); -+ else if (c == RFC1533_GATEWAY) { -+ /* This is a little simplistic, but it will -+ usually be sufficient. -+ Take only the first entry */ -+ if (TAG_LEN(p) >= sizeof(in_addr)) -+ memcpy(&arptable[ARP_GATEWAY].ipaddr, p+2, sizeof(in_addr)); -+ } -+ else if (c == RFC1533_EXTENSIONPATH) -+ extpath = p; -+ else if (c == RFC2132_MSG_TYPE) -+ dhcp_reply=*(p+2); -+ else if (c == RFC2132_SRV_ID) -+ memcpy(&dhcp_server, p+2, sizeof(in_addr)); -+ else if (c == RFC1533_HOSTNAME) { -+ hostname = p + 2; -+ hostnamelen = *(p + 1); -+ } -+ else if (c == RFC1533_VENDOR_CONFIGFILE){ -+ int l = TAG_LEN (p); -+ -+ /* Eliminate the trailing NULs according to RFC 2132. */ -+ while (*(p + 2 + l - 1) == '\000' && l > 0) -+ l--; -+ -+ /* XXX: Should check if LEN is less than the maximum length -+ of CONFIG_FILE. This kind of robustness will be a goal -+ in GRUB 1.0. */ -+ memcpy (config_file, p + 2, l); -+ config_file[l] = 0; -+ } -+ else { -+ ; -+ } -+ p += TAG_LEN(p) + 2; -+ } -+ extdata = extend = endp; -+ if (block <= 0 && extpath != NULL) { -+ char fname[64]; -+ if (TAG_LEN(extpath) >= sizeof(fname)){ -+ printf("Overflow in vendor data buffer! Aborting...\n"); -+ *extdata = RFC1533_END; -+ return(0); -+ } -+ memcpy(fname, extpath+2, TAG_LEN(extpath)); -+ fname[(int)TAG_LEN(extpath)] = '\0'; -+ printf("Loading BOOTP-extension file: %s\n",fname); -+ tftp_file_read(fname, decode_rfc1533); -+ } -+ return 1; /* proceed with next block */ -+} -+ -+ -+/* FIXME double check TWO_SECOND_DIVISOR */ -+#define TWO_SECOND_DIVISOR (RAND_MAX/TICKS_PER_SEC) -+/************************************************************************** -+RFC2131_SLEEP_INTERVAL - sleep for expotentially longer times (base << exp) +- 1 sec) -+**************************************************************************/ -+long rfc2131_sleep_interval(long base, int exp) -+{ -+ unsigned long tmo; -+#ifdef BACKOFF_LIMIT -+ if (exp > BACKOFF_LIMIT) -+ exp = BACKOFF_LIMIT; -+#endif -+ tmo = (base << exp) + (TICKS_PER_SEC - (random()/TWO_SECOND_DIVISOR)); -+ return tmo; -+} -+ -+#ifdef MULTICAST_LEVEL2 -+/************************************************************************** -+RFC1112_SLEEP_INTERVAL - sleep for expotentially longer times, up to (base << exp) -+**************************************************************************/ -+long rfc1112_sleep_interval(long base, int exp) -+{ -+ unsigned long divisor, tmo; -+#ifdef BACKOFF_LIMIT -+ if (exp > BACKOFF_LIMIT) -+ exp = BACKOFF_LIMIT; -+#endif -+ divisor = RAND_MAX/(base << exp); -+ tmo = random()/divisor; -+ return tmo; -+} -+#endif /* MULTICAST_LEVEL_2 */ -+/* ifconfig - configure network interface. */ -+int -+ifconfig (char *ip, char *sm, char *gw, char *svr) -+{ -+ in_addr tmp; -+ -+ if (sm) -+ { -+ if (! inet_aton (sm, &tmp)) -+ return 0; -+ -+ netmask = tmp.s_addr; -+ } -+ -+ if (ip) -+ { -+ if (! inet_aton (ip, &arptable[ARP_CLIENT].ipaddr)) -+ return 0; -+ -+ if (! netmask && ! sm) -+ netmask = default_netmask (); -+ } -+ -+ if (gw && ! inet_aton (gw, &arptable[ARP_GATEWAY].ipaddr)) -+ return 0; -+ -+ /* Clear out the ARP entry. */ -+ grub_memset (arptable[ARP_GATEWAY].node, 0, ETH_ALEN); -+ -+ if (svr && ! inet_aton (svr, &arptable[ARP_SERVER].ipaddr)) -+ return 0; -+ -+ /* Likewise. */ -+ grub_memset (arptable[ARP_SERVER].node, 0, ETH_ALEN); -+ -+ if (ip || sm) -+ { -+ if (IP_BROADCAST == (netmask | arptable[ARP_CLIENT].ipaddr.s_addr) -+ || netmask == (netmask | arptable[ARP_CLIENT].ipaddr.s_addr) -+ || ! netmask) -+ network_ready = 0; -+ else -+ network_ready = 1; -+ } -+ -+ return 1; -+} -+ -+/* -+ * print_network_configuration -+ * -+ * Output the network configuration. It may broke the graphic console now.:-( -+ */ -+void print_network_configuration (void) -+{ -+ EnterFunction("print_network_configuration"); -+ if (! grub_eth_probe ()) -+ grub_printf ("No ethernet card found.\n"); -+ else if (! network_ready) -+ grub_printf ("Not initialized yet.\n"); -+ else { -+ etherboot_printf ("Address: %@\n", arptable[ARP_CLIENT].ipaddr.s_addr); -+ etherboot_printf ("Netmask: %@\n", netmask); -+ etherboot_printf ("Server: %@\n", arptable[ARP_SERVER].ipaddr.s_addr); -+ etherboot_printf ("Gateway: %@\n", arptable[ARP_GATEWAY].ipaddr.s_addr); -+ } -+ LeaveFunction("print_network_configuration"); -+} -+ -+/** -+ * cleanup_net -+ * -+ * Mark network unusable, and disable NICs -+ */ -+void cleanup_net (void) -+{ -+ if (network_ready){ -+ /* Stop receiving packets. */ -+ eth_disable (); -+ network_ready = 0; -+ } -+} -Index: b/netboot/nic.h -=================================================================== ---- a/netboot/nic.h -+++ b/netboot/nic.h -@@ -8,24 +8,38 @@ - #ifndef NIC_H - #define NIC_H - -+#include "dev.h" -+ -+typedef enum { -+ DISABLE = 0, -+ ENABLE, -+ FORCE -+} irq_action_t; -+ - /* - * Structure returned from eth_probe and passed to other driver - * functions. - */ -- - struct nic - { -- void (*reset)P((struct nic *)); -- int (*poll)P((struct nic *)); -+ struct dev dev; /* This must come first */ -+ int (*poll)P((struct nic *, int retrieve)); - void (*transmit)P((struct nic *, const char *d, - unsigned int t, unsigned int s, const char *p)); -- void (*disable)P((struct nic *)); -+ void (*irq)P((struct nic *, irq_action_t)); - int flags; /* driver specific flags */ - struct rom_info *rom_info; /* -> rom_info from main */ - unsigned char *node_addr; -- char *packet; -+ unsigned char *packet; - unsigned int packetlen; -+ unsigned int ioaddr; -+ unsigned char irqno; - void *priv_data; /* driver can hang private data here */ - }; - -+extern int eth_probe(struct dev *dev); -+extern int eth_poll(int retrieve); -+extern void eth_transmit(const char *d, unsigned int t, unsigned int s, const void *p); -+extern void eth_disable(void); -+extern void eth_irq(irq_action_t action); - #endif /* NIC_H */ -Index: b/netboot/ns83820.c -=================================================================== ---- /dev/null -+++ b/netboot/ns83820.c -@@ -0,0 +1,1020 @@ -+/************************************************************************** -+* ns83820.c: Etherboot device driver for the National Semiconductor 83820 -+* Written 2004 by Timothy Legge -+* -+* 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., 675 Mass Ave, Cambridge, MA 02139, USA. -+* -+* Portions of this code based on: -+* ns83820.c by Benjamin LaHaise with contributions -+* for Linux kernel 2.4.x. -+* -+* Linux Driver Version 0.20, 20020610 -+* -+* This development of this Etherboot driver was funded by: -+* -+* NXTV: http://www.nxtv.com/ -+* -+* REVISION HISTORY: -+* ================ -+* -+* v1.0 02-16-2004 timlegge Initial port of Linux driver -+* v1.1 02-19-2004 timlegge More rohbust transmit and poll -+* -+* Indent Options: indent -kr -i8 -+***************************************************************************/ -+ -+/* to get some global routines like printf */ -+#include "etherboot.h" -+/* to get the interface to the body of the program */ -+#include "nic.h" -+/* to get the PCI support functions, if this is a PCI NIC */ -+#include "pci.h" -+ -+#if ARCH == ia64 /* Support 64-bit addressing */ -+#define USE_64BIT_ADDR -+#endif -+ -+//#define DDEBUG -+#ifdef DDEBUG -+#define dprintf(x) printf x -+#else -+#define dprintf(x) -+#endif -+ -+typedef unsigned char u8; -+typedef signed char s8; -+typedef unsigned short u16; -+typedef signed short s16; -+typedef unsigned int u32; -+typedef signed int s32; -+ -+#define HZ 100 -+ -+/* Condensed operations for readability. */ -+#define virt_to_le32desc(addr) cpu_to_le32(virt_to_bus(addr)) -+#define le32desc_to_virt(addr) bus_to_virt(le32_to_cpu(addr)) -+ -+/* NIC specific static variables go here */ -+ -+/* Global parameters. See MODULE_PARM near the bottom. */ -+// static int ihr = 2; -+static int reset_phy = 0; -+static int lnksts = 0; /* CFG_LNKSTS bit polarity */ -+ -+#if defined(CONFIG_HIGHMEM64G) || defined(__ia64__) -+#define USE_64BIT_ADDR "+" -+#endif -+ -+#if defined(USE_64BIT_ADDR) -+#define TRY_DAC 1 -+#else -+#define TRY_DAC 0 -+#endif -+ -+/* tunables */ -+#define RX_BUF_SIZE 1500 /* 8192 */ -+ -+/* Must not exceed ~65000. */ -+#define NR_RX_DESC 64 -+#define NR_TX_DESC 1 -+ -+ /* not tunable *//* Extra 6 bytes for 64 bit alignment (divisable by 8) */ -+#define REAL_RX_BUF_SIZE (RX_BUF_SIZE + 14 + 6) /* rx/tx mac addr + type */ -+ -+#define MIN_TX_DESC_FREE 8 -+ -+/* register defines */ -+#define CFGCS 0x04 -+ -+#define CR_TXE 0x00000001 -+#define CR_TXD 0x00000002 -+/* Ramit : Here's a tip, don't do a RXD immediately followed by an RXE -+ * The Receive engine skips one descriptor and moves -+ * onto the next one!! */ -+#define CR_RXE 0x00000004 -+#define CR_RXD 0x00000008 -+#define CR_TXR 0x00000010 -+#define CR_RXR 0x00000020 -+#define CR_SWI 0x00000080 -+#define CR_RST 0x00000100 -+ -+#define PTSCR_EEBIST_FAIL 0x00000001 -+#define PTSCR_EEBIST_EN 0x00000002 -+#define PTSCR_EELOAD_EN 0x00000004 -+#define PTSCR_RBIST_FAIL 0x000001b8 -+#define PTSCR_RBIST_DONE 0x00000200 -+#define PTSCR_RBIST_EN 0x00000400 -+#define PTSCR_RBIST_RST 0x00002000 -+ -+#define MEAR_EEDI 0x00000001 -+#define MEAR_EEDO 0x00000002 -+#define MEAR_EECLK 0x00000004 -+#define MEAR_EESEL 0x00000008 -+#define MEAR_MDIO 0x00000010 -+#define MEAR_MDDIR 0x00000020 -+#define MEAR_MDC 0x00000040 -+ -+#define ISR_TXDESC3 0x40000000 -+#define ISR_TXDESC2 0x20000000 -+#define ISR_TXDESC1 0x10000000 -+#define ISR_TXDESC0 0x08000000 -+#define ISR_RXDESC3 0x04000000 -+#define ISR_RXDESC2 0x02000000 -+#define ISR_RXDESC1 0x01000000 -+#define ISR_RXDESC0 0x00800000 -+#define ISR_TXRCMP 0x00400000 -+#define ISR_RXRCMP 0x00200000 -+#define ISR_DPERR 0x00100000 -+#define ISR_SSERR 0x00080000 -+#define ISR_RMABT 0x00040000 -+#define ISR_RTABT 0x00020000 -+#define ISR_RXSOVR 0x00010000 -+#define ISR_HIBINT 0x00008000 -+#define ISR_PHY 0x00004000 -+#define ISR_PME 0x00002000 -+#define ISR_SWI 0x00001000 -+#define ISR_MIB 0x00000800 -+#define ISR_TXURN 0x00000400 -+#define ISR_TXIDLE 0x00000200 -+#define ISR_TXERR 0x00000100 -+#define ISR_TXDESC 0x00000080 -+#define ISR_TXOK 0x00000040 -+#define ISR_RXORN 0x00000020 -+#define ISR_RXIDLE 0x00000010 -+#define ISR_RXEARLY 0x00000008 -+#define ISR_RXERR 0x00000004 -+#define ISR_RXDESC 0x00000002 -+#define ISR_RXOK 0x00000001 -+ -+#define TXCFG_CSI 0x80000000 -+#define TXCFG_HBI 0x40000000 -+#define TXCFG_MLB 0x20000000 -+#define TXCFG_ATP 0x10000000 -+#define TXCFG_ECRETRY 0x00800000 -+#define TXCFG_BRST_DIS 0x00080000 -+#define TXCFG_MXDMA1024 0x00000000 -+#define TXCFG_MXDMA512 0x00700000 -+#define TXCFG_MXDMA256 0x00600000 -+#define TXCFG_MXDMA128 0x00500000 -+#define TXCFG_MXDMA64 0x00400000 -+#define TXCFG_MXDMA32 0x00300000 -+#define TXCFG_MXDMA16 0x00200000 -+#define TXCFG_MXDMA8 0x00100000 -+ -+#define CFG_LNKSTS 0x80000000 -+#define CFG_SPDSTS 0x60000000 -+#define CFG_SPDSTS1 0x40000000 -+#define CFG_SPDSTS0 0x20000000 -+#define CFG_DUPSTS 0x10000000 -+#define CFG_TBI_EN 0x01000000 -+#define CFG_MODE_1000 0x00400000 -+/* Ramit : Dont' ever use AUTO_1000, it never works and is buggy. -+ * Read the Phy response and then configure the MAC accordingly */ -+#define CFG_AUTO_1000 0x00200000 -+#define CFG_PINT_CTL 0x001c0000 -+#define CFG_PINT_DUPSTS 0x00100000 -+#define CFG_PINT_LNKSTS 0x00080000 -+#define CFG_PINT_SPDSTS 0x00040000 -+#define CFG_TMRTEST 0x00020000 -+#define CFG_MRM_DIS 0x00010000 -+#define CFG_MWI_DIS 0x00008000 -+#define CFG_T64ADDR 0x00004000 -+#define CFG_PCI64_DET 0x00002000 -+#define CFG_DATA64_EN 0x00001000 -+#define CFG_M64ADDR 0x00000800 -+#define CFG_PHY_RST 0x00000400 -+#define CFG_PHY_DIS 0x00000200 -+#define CFG_EXTSTS_EN 0x00000100 -+#define CFG_REQALG 0x00000080 -+#define CFG_SB 0x00000040 -+#define CFG_POW 0x00000020 -+#define CFG_EXD 0x00000010 -+#define CFG_PESEL 0x00000008 -+#define CFG_BROM_DIS 0x00000004 -+#define CFG_EXT_125 0x00000002 -+#define CFG_BEM 0x00000001 -+ -+#define EXTSTS_UDPPKT 0x00200000 -+#define EXTSTS_TCPPKT 0x00080000 -+#define EXTSTS_IPPKT 0x00020000 -+ -+#define SPDSTS_POLARITY (CFG_SPDSTS1 | CFG_SPDSTS0 | CFG_DUPSTS | (lnksts ? CFG_LNKSTS : 0)) -+ -+#define MIBC_MIBS 0x00000008 -+#define MIBC_ACLR 0x00000004 -+#define MIBC_FRZ 0x00000002 -+#define MIBC_WRN 0x00000001 -+ -+#define PCR_PSEN (1 << 31) -+#define PCR_PS_MCAST (1 << 30) -+#define PCR_PS_DA (1 << 29) -+#define PCR_STHI_8 (3 << 23) -+#define PCR_STLO_4 (1 << 23) -+#define PCR_FFHI_8K (3 << 21) -+#define PCR_FFLO_4K (1 << 21) -+#define PCR_PAUSE_CNT 0xFFFE -+ -+#define RXCFG_AEP 0x80000000 -+#define RXCFG_ARP 0x40000000 -+#define RXCFG_STRIPCRC 0x20000000 -+#define RXCFG_RX_FD 0x10000000 -+#define RXCFG_ALP 0x08000000 -+#define RXCFG_AIRL 0x04000000 -+#define RXCFG_MXDMA512 0x00700000 -+#define RXCFG_DRTH 0x0000003e -+#define RXCFG_DRTH0 0x00000002 -+ -+#define RFCR_RFEN 0x80000000 -+#define RFCR_AAB 0x40000000 -+#define RFCR_AAM 0x20000000 -+#define RFCR_AAU 0x10000000 -+#define RFCR_APM 0x08000000 -+#define RFCR_APAT 0x07800000 -+#define RFCR_APAT3 0x04000000 -+#define RFCR_APAT2 0x02000000 -+#define RFCR_APAT1 0x01000000 -+#define RFCR_APAT0 0x00800000 -+#define RFCR_AARP 0x00400000 -+#define RFCR_MHEN 0x00200000 -+#define RFCR_UHEN 0x00100000 -+#define RFCR_ULM 0x00080000 -+ -+#define VRCR_RUDPE 0x00000080 -+#define VRCR_RTCPE 0x00000040 -+#define VRCR_RIPE 0x00000020 -+#define VRCR_IPEN 0x00000010 -+#define VRCR_DUTF 0x00000008 -+#define VRCR_DVTF 0x00000004 -+#define VRCR_VTREN 0x00000002 -+#define VRCR_VTDEN 0x00000001 -+ -+#define VTCR_PPCHK 0x00000008 -+#define VTCR_GCHK 0x00000004 -+#define VTCR_VPPTI 0x00000002 -+#define VTCR_VGTI 0x00000001 -+ -+#define CR 0x00 -+#define CFG 0x04 -+#define MEAR 0x08 -+#define PTSCR 0x0c -+#define ISR 0x10 -+#define IMR 0x14 -+#define IER 0x18 -+#define IHR 0x1c -+#define TXDP 0x20 -+#define TXDP_HI 0x24 -+#define TXCFG 0x28 -+#define GPIOR 0x2c -+#define RXDP 0x30 -+#define RXDP_HI 0x34 -+#define RXCFG 0x38 -+#define PQCR 0x3c -+#define WCSR 0x40 -+#define PCR 0x44 -+#define RFCR 0x48 -+#define RFDR 0x4c -+ -+#define SRR 0x58 -+ -+#define VRCR 0xbc -+#define VTCR 0xc0 -+#define VDR 0xc4 -+#define CCSR 0xcc -+ -+#define TBICR 0xe0 -+#define TBISR 0xe4 -+#define TANAR 0xe8 -+#define TANLPAR 0xec -+#define TANER 0xf0 -+#define TESR 0xf4 -+ -+#define TBICR_MR_AN_ENABLE 0x00001000 -+#define TBICR_MR_RESTART_AN 0x00000200 -+ -+#define TBISR_MR_LINK_STATUS 0x00000020 -+#define TBISR_MR_AN_COMPLETE 0x00000004 -+ -+#define TANAR_PS2 0x00000100 -+#define TANAR_PS1 0x00000080 -+#define TANAR_HALF_DUP 0x00000040 -+#define TANAR_FULL_DUP 0x00000020 -+ -+#define GPIOR_GP5_OE 0x00000200 -+#define GPIOR_GP4_OE 0x00000100 -+#define GPIOR_GP3_OE 0x00000080 -+#define GPIOR_GP2_OE 0x00000040 -+#define GPIOR_GP1_OE 0x00000020 -+#define GPIOR_GP3_OUT 0x00000004 -+#define GPIOR_GP1_OUT 0x00000001 -+ -+#define LINK_AUTONEGOTIATE 0x01 -+#define LINK_DOWN 0x02 -+#define LINK_UP 0x04 -+ -+ -+#define __kick_rx() writel(CR_RXE, ns->base + CR) -+ -+#define kick_rx() do { \ -+ dprintf(("kick_rx: maybe kicking\n")); \ -+ writel(virt_to_le32desc(&rx_ring[ns->cur_rx]), ns->base + RXDP); \ -+ if (ns->next_rx == ns->next_empty) \ -+ printf("uh-oh: next_rx == next_empty???\n"); \ -+ __kick_rx(); \ -+} while(0) -+ -+ -+#ifdef USE_64BIT_ADDR -+#define HW_ADDR_LEN 8 -+#else -+#define HW_ADDR_LEN 4 -+#endif -+ -+#define CMDSTS_OWN 0x80000000 -+#define CMDSTS_MORE 0x40000000 -+#define CMDSTS_INTR 0x20000000 -+#define CMDSTS_ERR 0x10000000 -+#define CMDSTS_OK 0x08000000 -+#define CMDSTS_LEN_MASK 0x0000ffff -+ -+#define CMDSTS_DEST_MASK 0x01800000 -+#define CMDSTS_DEST_SELF 0x00800000 -+#define CMDSTS_DEST_MULTI 0x01000000 -+ -+#define DESC_SIZE 8 /* Should be cache line sized */ -+ -+#ifdef USE_64BIT_ADDR -+struct ring_desc { -+ uint64_t link; -+ uint64_t bufptr; -+ u32 cmdsts; -+ u32 extsts; /* Extended status field */ -+}; -+#else -+struct ring_desc { -+ u32 link; -+ u32 bufptr; -+ u32 cmdsts; -+ u32 extsts; /* Extended status field */ -+}; -+#endif -+ -+/* Define the TX Descriptor */ -+static struct ring_desc tx_ring[NR_TX_DESC] -+ __attribute__ ((aligned(8))); -+ -+/* Create a static buffer of size REAL_RX_BUF_SIZE for each -+TX Descriptor. All descriptors point to a -+part of this buffer */ -+static unsigned char txb[NR_TX_DESC * REAL_RX_BUF_SIZE]; -+ -+/* Define the TX Descriptor */ -+static struct ring_desc rx_ring[NR_RX_DESC] -+ __attribute__ ((aligned(8))); -+ -+/* Create a static buffer of size REAL_RX_BUF_SIZE for each -+RX Descriptor All descriptors point to a -+part of this buffer */ -+static unsigned char rxb[NR_RX_DESC * REAL_RX_BUF_SIZE] -+ __attribute__ ((aligned(8))); -+ -+/* Private Storage for the NIC */ -+struct ns83820_private { -+ u8 *base; -+ int up; -+ long idle; -+ u32 *next_rx_desc; -+ u16 next_rx, next_empty; -+ u32 cur_rx; -+ u32 *descs; -+ unsigned ihr; -+ u32 CFG_cache; -+ u32 MEAR_cache; -+ u32 IMR_cache; -+ int linkstate; -+ u16 tx_done_idx; -+ u16 tx_idx; -+ u16 tx_intr_idx; -+ u32 phy_descs; -+ u32 *tx_descs; -+ -+} nsx; -+static struct ns83820_private *ns; -+ -+static void phy_intr(struct nic *nic __unused) -+{ -+ static char *speeds[] = -+ { "10", "100", "1000", "1000(?)", "1000F" }; -+ u32 cfg, new_cfg; -+ u32 tbisr, tanar, tanlpar; -+ int speed, fullduplex, newlinkstate; -+ -+ cfg = readl(ns->base + CFG) ^ SPDSTS_POLARITY; -+ if (ns->CFG_cache & CFG_TBI_EN) { -+ /* we have an optical transceiver */ -+ tbisr = readl(ns->base + TBISR); -+ tanar = readl(ns->base + TANAR); -+ tanlpar = readl(ns->base + TANLPAR); -+ dprintf(("phy_intr: tbisr=%hX, tanar=%hX, tanlpar=%hX\n", -+ tbisr, tanar, tanlpar)); -+ -+ if ((fullduplex = (tanlpar & TANAR_FULL_DUP) -+ && (tanar & TANAR_FULL_DUP))) { -+ -+ /* both of us are full duplex */ -+ writel(readl(ns->base + TXCFG) -+ | TXCFG_CSI | TXCFG_HBI | TXCFG_ATP, -+ ns->base + TXCFG); -+ writel(readl(ns->base + RXCFG) | RXCFG_RX_FD, -+ ns->base + RXCFG); -+ /* Light up full duplex LED */ -+ writel(readl(ns->base + GPIOR) | GPIOR_GP1_OUT, -+ ns->base + GPIOR); -+ -+ } else if (((tanlpar & TANAR_HALF_DUP) -+ && (tanar & TANAR_HALF_DUP)) -+ || ((tanlpar & TANAR_FULL_DUP) -+ && (tanar & TANAR_HALF_DUP)) -+ || ((tanlpar & TANAR_HALF_DUP) -+ && (tanar & TANAR_FULL_DUP))) { -+ -+ /* one or both of us are half duplex */ -+ writel((readl(ns->base + TXCFG) -+ & ~(TXCFG_CSI | TXCFG_HBI)) | TXCFG_ATP, -+ ns->base + TXCFG); -+ writel(readl(ns->base + RXCFG) & ~RXCFG_RX_FD, -+ ns->base + RXCFG); -+ /* Turn off full duplex LED */ -+ writel(readl(ns->base + GPIOR) & ~GPIOR_GP1_OUT, -+ ns->base + GPIOR); -+ } -+ -+ speed = 4; /* 1000F */ -+ -+ } else { -+ /* we have a copper transceiver */ -+ new_cfg = -+ ns->CFG_cache & ~(CFG_SB | CFG_MODE_1000 | CFG_SPDSTS); -+ -+ if (cfg & CFG_SPDSTS1) -+ new_cfg |= CFG_MODE_1000; -+ else -+ new_cfg &= ~CFG_MODE_1000; -+ -+ speed = ((cfg / CFG_SPDSTS0) & 3); -+ fullduplex = (cfg & CFG_DUPSTS); -+ -+ if (fullduplex) -+ new_cfg |= CFG_SB; -+ -+ if ((cfg & CFG_LNKSTS) && -+ ((new_cfg ^ ns->CFG_cache) & CFG_MODE_1000)) { -+ writel(new_cfg, ns->base + CFG); -+ ns->CFG_cache = new_cfg; -+ } -+ -+ ns->CFG_cache &= ~CFG_SPDSTS; -+ ns->CFG_cache |= cfg & CFG_SPDSTS; -+ } -+ -+ newlinkstate = (cfg & CFG_LNKSTS) ? LINK_UP : LINK_DOWN; -+ -+ if (newlinkstate & LINK_UP && ns->linkstate != newlinkstate) { -+ printf("link now %s mbps, %s duplex and up.\n", -+ speeds[speed], fullduplex ? "full" : "half"); -+ } else if (newlinkstate & LINK_DOWN -+ && ns->linkstate != newlinkstate) { -+ printf("link now down.\n"); -+ } -+ ns->linkstate = newlinkstate; -+} -+static void ns83820_set_multicast(struct nic *nic __unused); -+static void ns83820_setup_rx(struct nic *nic) -+{ -+ unsigned i; -+ ns->idle = 1; -+ ns->next_rx = 0; -+ ns->next_rx_desc = ns->descs; -+ ns->next_empty = 0; -+ ns->cur_rx = 0; -+ -+ -+ for (i = 0; i < NR_RX_DESC; i++) { -+ rx_ring[i].link = virt_to_le32desc(&rx_ring[i + 1]); -+ rx_ring[i].bufptr = -+ virt_to_le32desc(&rxb[i * REAL_RX_BUF_SIZE]); -+ rx_ring[i].cmdsts = cpu_to_le32(REAL_RX_BUF_SIZE); -+ rx_ring[i].extsts = cpu_to_le32(0); -+ } -+// No need to wrap the ring -+// rx_ring[i].link = virt_to_le32desc(&rx_ring[0]); -+ writel(0, ns->base + RXDP_HI); -+ writel(virt_to_le32desc(&rx_ring[0]), ns->base + RXDP); -+ -+ dprintf(("starting receiver\n")); -+ -+ writel(0x0001, ns->base + CCSR); -+ writel(0, ns->base + RFCR); -+ writel(0x7fc00000, ns->base + RFCR); -+ writel(0xffc00000, ns->base + RFCR); -+ -+ ns->up = 1; -+ -+ phy_intr(nic); -+ -+ /* Okay, let it rip */ -+ ns->IMR_cache |= ISR_PHY; -+ ns->IMR_cache |= ISR_RXRCMP; -+ //dev->IMR_cache |= ISR_RXERR; -+ //dev->IMR_cache |= ISR_RXOK; -+ ns->IMR_cache |= ISR_RXORN; -+ ns->IMR_cache |= ISR_RXSOVR; -+ ns->IMR_cache |= ISR_RXDESC; -+ ns->IMR_cache |= ISR_RXIDLE; -+ ns->IMR_cache |= ISR_TXDESC; -+ ns->IMR_cache |= ISR_TXIDLE; -+ -+ // No reason to enable interupts... -+ // writel(ns->IMR_cache, ns->base + IMR); -+ // writel(1, ns->base + IER); -+ ns83820_set_multicast(nic); -+ kick_rx(); -+} -+ -+ -+static void ns83820_do_reset(struct nic *nic __unused, u32 which) -+{ -+ dprintf(("resetting chip...\n")); -+ writel(which, ns->base + CR); -+ do { -+ -+ } while (readl(ns->base + CR) & which); -+ dprintf(("okay!\n")); -+} -+ -+static void ns83820_reset(struct nic *nic) -+{ -+ unsigned i; -+ dprintf(("ns83820_reset\n")); -+ -+ writel(0, ns->base + PQCR); -+ -+ ns83820_setup_rx(nic); -+ -+ for (i = 0; i < NR_TX_DESC; i++) { -+ tx_ring[i].link = 0; -+ tx_ring[i].bufptr = 0; -+ tx_ring[i].cmdsts = cpu_to_le32(0); -+ tx_ring[i].extsts = cpu_to_le32(0); -+ } -+ -+ ns->tx_idx = 0; -+ ns->tx_done_idx = 0; -+ writel(0, ns->base + TXDP_HI); -+ return; -+} -+static void ns83820_getmac(struct nic *nic __unused, u8 * mac) -+{ -+ unsigned i; -+ for (i = 0; i < 3; i++) { -+ u32 data; -+ /* Read from the perfect match memory: this is loaded by -+ * the chip from the EEPROM via the EELOAD self test. -+ */ -+ writel(i * 2, ns->base + RFCR); -+ data = readl(ns->base + RFDR); -+ *mac++ = data; -+ *mac++ = data >> 8; -+ } -+} -+ -+static void ns83820_set_multicast(struct nic *nic __unused) -+{ -+ u8 *rfcr = ns->base + RFCR; -+ u32 and_mask = 0xffffffff; -+ u32 or_mask = 0; -+ u32 val; -+ -+ /* Support Multicast */ -+ and_mask &= ~(RFCR_AAU | RFCR_AAM); -+ or_mask |= RFCR_AAM; -+ val = (readl(rfcr) & and_mask) | or_mask; -+ /* Ramit : RFCR Write Fix doc says RFEN must be 0 modify other bits */ -+ writel(val & ~RFCR_RFEN, rfcr); -+ writel(val, rfcr); -+ -+} -+static void ns83820_run_bist(struct nic *nic __unused, const char *name, -+ u32 enable, u32 done, u32 fail) -+{ -+ int timed_out = 0; -+ long start; -+ u32 status; -+ int loops = 0; -+ -+ dprintf(("start %s\n", name)) -+ -+ start = currticks(); -+ -+ writel(enable, ns->base + PTSCR); -+ for (;;) { -+ loops++; -+ status = readl(ns->base + PTSCR); -+ if (!(status & enable)) -+ break; -+ if (status & done) -+ break; -+ if (status & fail) -+ break; -+ if ((currticks() - start) >= HZ) { -+ timed_out = 1; -+ break; -+ } -+ } -+ -+ if (status & fail) -+ printf("%s failed! (0x%hX & 0x%hX)\n", name, status, fail); -+ else if (timed_out) -+ printf("run_bist %s timed out! (%hX)\n", name, status); -+ dprintf(("done %s in %d loops\n", name, loops)); -+} -+ -+/************************************* -+Check Link -+*************************************/ -+static void ns83820_check_intr(struct nic *nic) { -+ int i; -+ u32 isr = readl(ns->base + ISR); -+ if(ISR_PHY & isr) -+ phy_intr(nic); -+ if(( ISR_RXIDLE | ISR_RXDESC | ISR_RXERR) & isr) -+ kick_rx(); -+ for (i = 0; i < NR_RX_DESC; i++) { -+ if (rx_ring[i].cmdsts == CMDSTS_OWN) { -+// rx_ring[i].link = virt_to_le32desc(&rx_ring[i + 1]); -+ rx_ring[i].cmdsts = cpu_to_le32(REAL_RX_BUF_SIZE); -+ } -+ } -+} -+/************************************************************************** -+POLL - Wait for a frame -+***************************************************************************/ -+static int ns83820_poll(struct nic *nic, int retrieve) -+{ -+ /* return true if there's an ethernet packet ready to read */ -+ /* nic->packet should contain data on return */ -+ /* nic->packetlen should contain length of data */ -+ u32 cmdsts; -+ int entry = ns->cur_rx; -+ -+ ns83820_check_intr(nic); -+ -+ cmdsts = le32_to_cpu(rx_ring[entry].cmdsts); -+ -+ if ( ! ( (CMDSTS_OWN & (cmdsts)) && (cmdsts != (CMDSTS_OWN)) ) ) -+ return 0; -+ -+ if ( ! retrieve ) return 1; -+ -+ if (! (CMDSTS_OK & cmdsts) ) -+ return 0; -+ -+ nic->packetlen = cmdsts & 0xffff; -+ memcpy(nic->packet, -+ rxb + (entry * REAL_RX_BUF_SIZE), -+ nic->packetlen); -+ // rx_ring[entry].link = 0; -+ rx_ring[entry].cmdsts = cpu_to_le32(CMDSTS_OWN); -+ -+ ns->cur_rx = ++ns->cur_rx % NR_RX_DESC; -+ -+ if (ns->cur_rx == 0) /* We have wrapped the ring */ -+ kick_rx(); -+ -+ return 1; -+} -+ -+static inline void kick_tx(struct nic *nic __unused) -+{ -+ dprintf(("kick_tx\n")); -+ writel(CR_TXE, ns->base + CR); -+} -+ -+/************************************************************************** -+TRANSMIT - Transmit a frame -+***************************************************************************/ -+static void ns83820_transmit(struct nic *nic, const char *d, /* Destination */ -+ unsigned int t, /* Type */ -+ unsigned int s, /* size */ -+ const char *p) -+{ /* Packet */ -+ /* send the packet to destination */ -+ -+ u16 nstype; -+ u32 cmdsts, extsts; -+ int cur_tx = 0; -+ u32 isr = readl(ns->base + ISR); -+ if (ISR_TXIDLE & isr) -+ kick_tx(nic); -+ /* point to the current txb incase multiple tx_rings are used */ -+ memcpy(txb, d, ETH_ALEN); -+ memcpy(txb + ETH_ALEN, nic->node_addr, ETH_ALEN); -+ nstype = htons((u16) t); -+ memcpy(txb + 2 * ETH_ALEN, (u8 *) & nstype, 2); -+ memcpy(txb + ETH_HLEN, p, s); -+ s += ETH_HLEN; -+ s &= 0x0FFF; -+ while (s < ETH_ZLEN) -+ txb[s++] = '\0'; -+ -+ /* Setup the transmit descriptor */ -+ extsts = 0; -+ extsts |= EXTSTS_UDPPKT; -+ -+ tx_ring[cur_tx].bufptr = virt_to_le32desc(&txb); -+ tx_ring[cur_tx].extsts = cpu_to_le32(extsts); -+ -+ cmdsts = cpu_to_le32(0); -+ cmdsts |= cpu_to_le32(CMDSTS_OWN | s); -+ tx_ring[cur_tx].cmdsts = cpu_to_le32(cmdsts); -+ -+ writel(virt_to_le32desc(&tx_ring[0]), ns->base + TXDP); -+ kick_tx(nic); -+} -+ -+/************************************************************************** -+DISABLE - Turn off ethernet interface -+***************************************************************************/ -+static void ns83820_disable(struct dev *dev) -+{ -+ /* put the card in its initial state */ -+ /* This function serves 3 purposes. -+ * This disables DMA and interrupts so we don't receive -+ * unexpected packets or interrupts from the card after -+ * etherboot has finished. -+ * This frees resources so etherboot may use -+ * this driver on another interface -+ * This allows etherboot to reinitialize the interface -+ * if something is something goes wrong. -+ */ -+ /* disable interrupts */ -+ writel(0, ns->base + IMR); -+ writel(0, ns->base + IER); -+ readl(ns->base + IER); -+ -+ ns->up = 0; -+ -+ ns83820_do_reset((struct nic *) dev, CR_RST); -+ -+ ns->IMR_cache &= -+ ~(ISR_RXOK | ISR_RXDESC | ISR_RXERR | ISR_RXEARLY | -+ ISR_RXIDLE); -+ writel(ns->IMR_cache, ns->base + IMR); -+ -+ /* touch the pci bus... */ -+ readl(ns->base + IMR); -+ -+ /* assumes the transmitter is already disabled and reset */ -+ writel(0, ns->base + RXDP_HI); -+ writel(0, ns->base + RXDP); -+} -+ -+/************************************************************************** -+IRQ - Enable, Disable, or Force interrupts -+***************************************************************************/ -+static void ns83820_irq(struct nic *nic __unused, irq_action_t action __unused) -+{ -+ switch ( action ) { -+ case DISABLE : -+ break; -+ case ENABLE : -+ break; -+ case FORCE : -+ break; -+ } -+} -+ -+/************************************************************************** -+PROBE - Look for an adapter, this routine's visible to the outside -+***************************************************************************/ -+ -+#define board_found 1 -+#define valid_link 0 -+static int ns83820_probe(struct dev *dev, struct pci_device *pci) -+{ -+ struct nic *nic = (struct nic *) dev; -+ int sz; -+ long addr; -+ int using_dac = 0; -+ -+ if (pci->ioaddr == 0) -+ return 0; -+ -+ printf("ns83820.c: Found %s, vendor=0x%hX, device=0x%hX\n", -+ pci->name, pci->vendor, pci->dev_id); -+ -+ /* point to private storage */ -+ ns = &nsx; -+ -+ adjust_pci_device(pci); -+ -+ addr = pci_bar_start(pci, PCI_BASE_ADDRESS_1); -+ sz = pci_bar_size(pci, PCI_BASE_ADDRESS_1); -+ -+ ns->base = ioremap(addr, (1UL << 12)); -+// ns->base = ioremap(addr, sz); -+ -+ if (!ns->base) -+ return 0; -+ -+ nic->irqno = 0; -+ nic->ioaddr = pci->ioaddr & ~3; -+ -+ /* disable interrupts */ -+ writel(0, ns->base + IMR); -+ writel(0, ns->base + IER); -+ readl(ns->base + IER); -+ -+ ns->IMR_cache = 0; -+ -+ ns83820_do_reset(nic, CR_RST); -+ -+ /* Must reset the ram bist before running it */ -+ writel(PTSCR_RBIST_RST, ns->base + PTSCR); -+ ns83820_run_bist(nic, "sram bist", PTSCR_RBIST_EN, -+ PTSCR_RBIST_DONE, PTSCR_RBIST_FAIL); -+ ns83820_run_bist(nic, "eeprom bist", PTSCR_EEBIST_EN, 0, -+ PTSCR_EEBIST_FAIL); -+ ns83820_run_bist(nic, "eeprom load", PTSCR_EELOAD_EN, 0, 0); -+ -+ /* I love config registers */ -+ ns->CFG_cache = readl(ns->base + CFG); -+ -+ if ((ns->CFG_cache & CFG_PCI64_DET)) { -+ printf("%s: detected 64 bit PCI data bus.\n", pci->name); -+ /*dev->CFG_cache |= CFG_DATA64_EN; */ -+ if (!(ns->CFG_cache & CFG_DATA64_EN)) -+ printf -+ ("%s: EEPROM did not enable 64 bit bus. Disabled.\n", -+ pci->name); -+ } else -+ ns->CFG_cache &= ~(CFG_DATA64_EN); -+ -+ ns->CFG_cache &= (CFG_TBI_EN | CFG_MRM_DIS | CFG_MWI_DIS | -+ CFG_T64ADDR | CFG_DATA64_EN | CFG_EXT_125 | -+ CFG_M64ADDR); -+ ns->CFG_cache |= -+ CFG_PINT_DUPSTS | CFG_PINT_LNKSTS | CFG_PINT_SPDSTS | -+ CFG_EXTSTS_EN | CFG_EXD | CFG_PESEL; -+ ns->CFG_cache |= CFG_REQALG; -+ ns->CFG_cache |= CFG_POW; -+ ns->CFG_cache |= CFG_TMRTEST; -+ -+ /* When compiled with 64 bit addressing, we must always enable -+ * the 64 bit descriptor format. -+ */ -+#ifdef USE_64BIT_ADDR -+ ns->CFG_cache |= CFG_M64ADDR; -+#endif -+ -+//FIXME: Enable section on dac or remove this -+ if (using_dac) -+ ns->CFG_cache |= CFG_T64ADDR; -+ -+ /* Big endian mode does not seem to do what the docs suggest */ -+ ns->CFG_cache &= ~CFG_BEM; -+ -+ /* setup optical transceiver if we have one */ -+ if (ns->CFG_cache & CFG_TBI_EN) { -+ dprintf(("%s: enabling optical transceiver\n", pci->name)); -+ writel(readl(ns->base + GPIOR) | 0x3e8, ns->base + GPIOR); -+ -+ /* setup auto negotiation feature advertisement */ -+ writel(readl(ns->base + TANAR) -+ | TANAR_HALF_DUP | TANAR_FULL_DUP, -+ ns->base + TANAR); -+ -+ /* start auto negotiation */ -+ writel(TBICR_MR_AN_ENABLE | TBICR_MR_RESTART_AN, -+ ns->base + TBICR); -+ writel(TBICR_MR_AN_ENABLE, ns->base + TBICR); -+ ns->linkstate = LINK_AUTONEGOTIATE; -+ -+ ns->CFG_cache |= CFG_MODE_1000; -+ } -+ writel(ns->CFG_cache, ns->base + CFG); -+ dprintf(("CFG: %hX\n", ns->CFG_cache)); -+ -+ /* FIXME: reset_phy is defaulted to 0, should we reset anyway? */ -+ if (reset_phy) { -+ dprintf(("%s: resetting phy\n", pci->name)); -+ writel(ns->CFG_cache | CFG_PHY_RST, ns->base + CFG); -+ writel(ns->CFG_cache, ns->base + CFG); -+ } -+#if 0 /* Huh? This sets the PCI latency register. Should be done via -+ * the PCI layer. FIXME. -+ */ -+ if (readl(dev->base + SRR)) -+ writel(readl(dev->base + 0x20c) | 0xfe00, -+ dev->base + 0x20c); -+#endif -+ -+ /* Note! The DMA burst size interacts with packet -+ * transmission, such that the largest packet that -+ * can be transmitted is 8192 - FLTH - burst size. -+ * If only the transmit fifo was larger... -+ */ -+ /* Ramit : 1024 DMA is not a good idea, it ends up banging -+ * some DELL and COMPAQ SMP systems */ -+ writel(TXCFG_CSI | TXCFG_HBI | TXCFG_ATP | TXCFG_MXDMA512 -+ | ((1600 / 32) * 0x100), ns->base + TXCFG); -+ -+ /* Set Rx to full duplex, don't accept runt, errored, long or length -+ * range errored packets. Use 512 byte DMA. -+ */ -+ /* Ramit : 1024 DMA is not a good idea, it ends up banging -+ * some DELL and COMPAQ SMP systems -+ * Turn on ALP, only we are accpeting Jumbo Packets */ -+ writel(RXCFG_AEP | RXCFG_ARP | RXCFG_AIRL | RXCFG_RX_FD -+ | RXCFG_STRIPCRC -+ //| RXCFG_ALP -+ | (RXCFG_MXDMA512) | 0, ns->base + RXCFG); -+ -+ /* Disable priority queueing */ -+ writel(0, ns->base + PQCR); -+ -+ /* Enable IP checksum validation and detetion of VLAN headers. -+ * Note: do not set the reject options as at least the 0x102 -+ * revision of the chip does not properly accept IP fragments -+ * at least for UDP. -+ */ -+ /* Ramit : Be sure to turn on RXCFG_ARP if VLAN's are enabled, since -+ * the MAC it calculates the packetsize AFTER stripping the VLAN -+ * header, and if a VLAN Tagged packet of 64 bytes is received (like -+ * a ping with a VLAN header) then the card, strips the 4 byte VLAN -+ * tag and then checks the packet size, so if RXCFG_ARP is not enabled, -+ * it discrards it!. These guys...... -+ */ -+ writel(VRCR_IPEN | VRCR_VTDEN, ns->base + VRCR); -+ -+ /* Enable per-packet TCP/UDP/IP checksumming */ -+ writel(VTCR_PPCHK, ns->base + VTCR); -+ -+ /* Ramit : Enable async and sync pause frames */ -+// writel(0, ns->base + PCR); -+ writel((PCR_PS_MCAST | PCR_PS_DA | PCR_PSEN | PCR_FFLO_4K | -+ PCR_FFHI_8K | PCR_STLO_4 | PCR_STHI_8 | PCR_PAUSE_CNT), -+ ns->base + PCR); -+ -+ /* Disable Wake On Lan */ -+ writel(0, ns->base + WCSR); -+ -+ ns83820_getmac(nic, nic->node_addr); -+ printf("%! at ioaddr 0x%hX, ", nic->node_addr, ns->base); -+ -+ if (using_dac) { -+ dprintf(("%s: using 64 bit addressing.\n", pci->name)); -+ } -+ -+ dprintf(("%s: DP83820 %d.%d: %! io=0x%hX\n", -+ pci->name, -+ (unsigned) readl(ns->base + SRR) >> 8, -+ (unsigned) readl(ns->base + SRR) & 0xff, -+ nic->node_addr, pci->ioaddr)); -+ -+#ifdef PHY_CODE_IS_FINISHED -+ ns83820_probe_phy(dev); -+#endif -+ -+ ns83820_reset(nic); -+ /* point to NIC specific routines */ -+ dev->disable = ns83820_disable; -+ nic->poll = ns83820_poll; -+ nic->transmit = ns83820_transmit; -+ nic->irq = ns83820_irq; -+ return 1; -+} -+ -+static struct pci_id ns83820_nics[] = { -+ PCI_ROM(0x100b, 0x0022, "ns83820", "National Semiconductor 83820"), -+}; -+ -+struct pci_driver ns83820_driver = { -+ .type = NIC_DRIVER, -+ .name = "NS83820/PCI", -+ .probe = ns83820_probe, -+ .ids = ns83820_nics, -+ .id_count = sizeof(ns83820_nics) / sizeof(ns83820_nics[0]), -+ .class = 0, -+}; -Index: b/netboot/ns8390.c -=================================================================== ---- a/netboot/ns8390.c -+++ b/netboot/ns8390.c -@@ -13,11 +13,15 @@ - the proper functioning of this software, nor do the authors assume any - responsibility for damages incurred with its use. - -+Multicast support added by Timothy Legge (timlegge@users.sourceforge.net) 09/28/2003 -+Relocation support added by Ken Yap (ken_yap@users.sourceforge.net) 28/12/02 - 3c503 support added by Bill Paul (wpaul@ctr.columbia.edu) on 11/15/94 - SMC8416 support added by Bill Paul (wpaul@ctr.columbia.edu) on 12/25/94 - 3c503 PIO support added by Jim Hague (jim.hague@acm.org) on 2/17/98 - RX overrun by Klaus Espenlaub (espenlaub@informatik.uni-ulm.de) on 3/10/99 - parts taken from the Linux 8390 driver (by Donald Becker and Paul Gortmaker) -+SMC8416 PIO support added by Andrew Bettison (andrewb@zip.com.au) on 4/3/02 -+ based on the Linux 8390 driver (by Donald Becker and Paul Gortmaker) - - **************************************************************************/ - -@@ -26,10 +30,16 @@ - #include "ns8390.h" - #ifdef INCLUDE_NS8390 - #include "pci.h" -+#else -+#include "isa.h" - #endif --#include "cards.h" - --static unsigned char eth_vendor, eth_flags, eth_laar; -+typedef int Address; -+ -+static unsigned char eth_vendor, eth_flags; -+#ifdef INCLUDE_WD -+static unsigned char eth_laar; -+#endif - static unsigned short eth_nic_base, eth_asic_base; - static unsigned char eth_memsize, eth_rx_start, eth_tx_start; - static Address eth_bmem, eth_rmem; -@@ -66,6 +76,7 @@ - #endif - - #if defined(INCLUDE_WD) -+#define ASIC_PIO WD_IAR - #define eth_probe wd_probe - #if defined(INCLUDE_3C503) || defined(INCLUDE_NE) || defined(INCLUDE_NS8390) - Error you must only define one of INCLUDE_WD, INCLUDE_3C503, INCLUDE_NE, INCLUDE_NS8390 -@@ -101,13 +112,16 @@ - #endif - #endif - --#if defined(INCLUDE_NE) || defined(INCLUDE_NS8390) || (defined(INCLUDE_3C503) && !defined(T503_SHMEM)) -+#if defined(INCLUDE_NE) || defined(INCLUDE_NS8390) || (defined(INCLUDE_3C503) && !defined(T503_SHMEM)) || (defined(INCLUDE_WD) && defined(WD_790_PIO)) - /************************************************************************** - ETH_PIO_READ - Read a frame via Programmed I/O - **************************************************************************/ - static void eth_pio_read(unsigned int src, unsigned char *dst, unsigned int cnt) - { -- if (eth_flags & FLAG_16BIT) { ++cnt; cnt &= ~1; } -+#ifdef INCLUDE_WD -+ outb(src & 0xff, eth_asic_base + WD_GP2); -+ outb(src >> 8, eth_asic_base + WD_GP2); -+#else - outb(D8390_COMMAND_RD2 | - D8390_COMMAND_STA, eth_nic_base + D8390_P0_COMMAND); - outb(cnt, eth_nic_base + D8390_P0_RBCR0); -@@ -122,9 +136,10 @@ - outb(src >> 8, eth_asic_base + _3COM_DAMSB); - outb(t503_output | _3COM_CR_START, eth_asic_base + _3COM_CR); - #endif -+#endif - - if (eth_flags & FLAG_16BIT) -- cnt >>= 1; -+ cnt = (cnt + 1) >> 1; - - while(cnt--) { - #ifdef INCLUDE_3C503 -@@ -153,7 +168,10 @@ - #ifdef COMPEX_RL2000_FIX - unsigned int x; - #endif /* COMPEX_RL2000_FIX */ -- if (eth_flags & FLAG_16BIT) { ++cnt; cnt &= ~1; } -+#ifdef INCLUDE_WD -+ outb(dst & 0xff, eth_asic_base + WD_GP2); -+ outb(dst >> 8, eth_asic_base + WD_GP2); -+#else - outb(D8390_COMMAND_RD2 | - D8390_COMMAND_STA, eth_nic_base + D8390_P0_COMMAND); - outb(D8390_ISR_RDC, eth_nic_base + D8390_P0_ISR); -@@ -170,9 +188,10 @@ - - outb(t503_output | _3COM_CR_DDIR | _3COM_CR_START, eth_asic_base + _3COM_CR); - #endif -+#endif - - if (eth_flags & FLAG_16BIT) -- cnt >>= 1; -+ cnt = (cnt + 1) >> 1; - - while(cnt--) - { -@@ -201,17 +220,40 @@ - if (x >= COMPEX_RL2000_TRIES) - printf("Warning: Compex RL2000 aborted wait!\n"); - #endif /* COMPEX_RL2000_FIX */ -+#ifndef INCLUDE_WD - while((inb(eth_nic_base + D8390_P0_ISR) & D8390_ISR_RDC) - != D8390_ISR_RDC); - #endif -+#endif - } - #else - /************************************************************************** - ETH_PIO_READ - Dummy routine when NE2000 not compiled in - **************************************************************************/ --static void eth_pio_read(unsigned int src, unsigned char *dst, unsigned int cnt) {} -+static void eth_pio_read(unsigned int src __unused, unsigned char *dst __unused, unsigned int cnt __unused) {} - #endif - -+ -+/************************************************************************** -+enable_multycast - Enable Multicast -+**************************************************************************/ -+static void enable_multicast(unsigned short eth_nic_base) -+{ -+ unsigned char mcfilter[8]; -+ int i; -+ memset(mcfilter, 0xFF, 8); -+ outb(4, eth_nic_base+D8390_P0_RCR); -+ outb(D8390_COMMAND_RD2 + D8390_COMMAND_PS1, eth_nic_base + D8390_P0_COMMAND); -+ for(i=0;i<8;i++) -+ { -+ outb(mcfilter[i], eth_nic_base + 8 + i); -+ if(inb(eth_nic_base + 8 + i)!=mcfilter[i]) -+ printf("Error SMC 83C690 Multicast filter read/write mishap %d\n",i); -+ } -+ outb(D8390_COMMAND_RD2 + D8390_COMMAND_PS0, eth_nic_base + D8390_P0_COMMAND); -+ outb(4 | 0x08, eth_nic_base+D8390_P0_RCR); -+} -+ - /************************************************************************** - NS8390_RESET - Reset adapter - **************************************************************************/ -@@ -238,7 +280,14 @@ - outb(eth_tx_start, eth_nic_base+D8390_P0_TPSR); - outb(eth_rx_start, eth_nic_base+D8390_P0_PSTART); - #ifdef INCLUDE_WD -- if (eth_flags & FLAG_790) outb(0, eth_nic_base + 0x09); -+ if (eth_flags & FLAG_790) { -+#ifdef WD_790_PIO -+ outb(0x10, eth_asic_base + 0x06); /* disable interrupts, enable PIO */ -+ outb(0x01, eth_nic_base + 0x09); /* enable ring read auto-wrap */ -+#else -+ outb(0, eth_nic_base + 0x09); -+#endif -+ } - #endif - outb(eth_memsize, eth_nic_base+D8390_P0_PSTOP); - outb(eth_memsize - 1, eth_nic_base+D8390_P0_BOUND); -@@ -266,8 +315,10 @@ - outb(D8390_COMMAND_PS0 | - D8390_COMMAND_RD2 | D8390_COMMAND_STA, eth_nic_base+D8390_P0_COMMAND); - outb(0xFF, eth_nic_base+D8390_P0_ISR); -- outb(0, eth_nic_base+D8390_P0_TCR); -- outb(4, eth_nic_base+D8390_P0_RCR); /* allow broadcast frames */ -+ outb(0, eth_nic_base+D8390_P0_TCR); /* transmitter on */ -+ outb(4, eth_nic_base+D8390_P0_RCR); /* allow rx broadcast frames */ -+ -+ enable_multicast(eth_nic_base); - - #ifdef INCLUDE_3C503 - /* -@@ -281,7 +332,7 @@ - #endif - } - --static int ns8390_poll(struct nic *nic); -+static int ns8390_poll(struct nic *nic, int retrieve); - - #ifndef INCLUDE_3C503 - /************************************************************************** -@@ -324,7 +375,7 @@ - - /* clear the RX ring, acknowledge overrun interrupt */ - eth_drain_receiver = 1; -- while (ns8390_poll(nic)) -+ while (ns8390_poll(nic, 1)) - /* Nothing */; - eth_drain_receiver = 0; - outb(D8390_ISR_OVW, eth_nic_base+D8390_P0_ISR); -@@ -344,50 +395,54 @@ - unsigned int s, /* size */ - const char *p) /* Packet */ - { -+#if defined(INCLUDE_3C503) || (defined(INCLUDE_WD) && ! defined(WD_790_PIO)) -+ Address eth_vmem = bus_to_virt(eth_bmem); -+#endif - #ifdef INCLUDE_3C503 - if (!(eth_flags & FLAG_PIO)) { -- memcpy((char *)eth_bmem, d, ETH_ALEN); /* dst */ -- memcpy((char *)eth_bmem+ETH_ALEN, nic->node_addr, ETH_ALEN); /* src */ -- *((char *)eth_bmem+12) = t>>8; /* type */ -- *((char *)eth_bmem+13) = t; -- memcpy((char *)eth_bmem+ETH_HLEN, p, s); -+ memcpy((char *)eth_vmem, d, ETH_ALEN); /* dst */ -+ memcpy((char *)eth_vmem+ETH_ALEN, nic->node_addr, ETH_ALEN); /* src */ -+ *((char *)eth_vmem+12) = t>>8; /* type */ -+ *((char *)eth_vmem+13) = t; -+ memcpy((char *)eth_vmem+ETH_HLEN, p, s); - s += ETH_HLEN; -- while (s < ETH_ZLEN) *((char *)eth_bmem+(s++)) = 0; -+ while (s < ETH_ZLEN) *((char *)eth_vmem+(s++)) = 0; - } - #endif - - #ifdef INCLUDE_WD -- /* Memory interface */ - if (eth_flags & FLAG_16BIT) { - outb(eth_laar | WD_LAAR_M16EN, eth_asic_base + WD_LAAR); - inb(0x84); - } -+#ifndef WD_790_PIO -+ /* Memory interface */ - if (eth_flags & FLAG_790) { - outb(WD_MSR_MENB, eth_asic_base + WD_MSR); - inb(0x84); - } - inb(0x84); -- memcpy((char *)eth_bmem, d, ETH_ALEN); /* dst */ -- memcpy((char *)eth_bmem+ETH_ALEN, nic->node_addr, ETH_ALEN); /* src */ -- *((char *)eth_bmem+12) = t>>8; /* type */ -- *((char *)eth_bmem+13) = t; -- memcpy((char *)eth_bmem+ETH_HLEN, p, s); -+ memcpy((char *)eth_vmem, d, ETH_ALEN); /* dst */ -+ memcpy((char *)eth_vmem+ETH_ALEN, nic->node_addr, ETH_ALEN); /* src */ -+ *((char *)eth_vmem+12) = t>>8; /* type */ -+ *((char *)eth_vmem+13) = t; -+ memcpy((char *)eth_vmem+ETH_HLEN, p, s); - s += ETH_HLEN; -- while (s < ETH_ZLEN) *((char *)eth_bmem+(s++)) = 0; -+ while (s < ETH_ZLEN) *((char *)eth_vmem+(s++)) = 0; - if (eth_flags & FLAG_790) { - outb(0, eth_asic_base + WD_MSR); - inb(0x84); - } -- if (eth_flags & FLAG_16BIT) { -- outb(eth_laar & ~WD_LAAR_M16EN, eth_asic_base + WD_LAAR); -- inb(0x84); -- } -+#else -+ inb(0x84); -+#endif - #endif - - #if defined(INCLUDE_3C503) -- if (eth_flags & FLAG_PIO) { -+ if (eth_flags & FLAG_PIO) - #endif --#if defined(INCLUDE_NE) || defined(INCLUDE_NS8390) || (defined(INCLUDE_3C503) && !defined(T503_SHMEM)) -+#if defined(INCLUDE_NE) || defined(INCLUDE_NS8390) || (defined(INCLUDE_3C503) && !defined(T503_SHMEM)) || (defined(INCLUDE_WD) && defined(WD_790_PIO)) -+ { - /* Programmed I/O */ - unsigned short type; - type = (t >> 8) | (t << 8); -@@ -398,12 +453,16 @@ - eth_pio_write(p, (eth_tx_start<<8)+ETH_HLEN, s); - s += ETH_HLEN; - if (s < ETH_ZLEN) s = ETH_ZLEN; -+ } - #endif - #if defined(INCLUDE_3C503) -- } - #endif - - #ifdef INCLUDE_WD -+ if (eth_flags & FLAG_16BIT) { -+ outb(eth_laar & ~WD_LAAR_M16EN, eth_asic_base + WD_LAAR); -+ inb(0x84); -+ } - if (eth_flags & FLAG_790) - outb(D8390_COMMAND_PS0 | - D8390_COMMAND_STA, eth_nic_base+D8390_P0_COMMAND); -@@ -428,7 +487,7 @@ - /************************************************************************** - NS8390_POLL - Wait for a frame - **************************************************************************/ --static int ns8390_poll(struct nic *nic) -+static int ns8390_poll(struct nic *nic, int retrieve) - { - int ret = 0; - unsigned char rstat, curr, next; -@@ -453,22 +512,27 @@ - outb(D8390_COMMAND_PS0, eth_nic_base+D8390_P0_COMMAND); - if (curr >= eth_memsize) curr=eth_rx_start; - if (curr == next) return(0); -+ -+ if ( ! retrieve ) return 1; -+ - #ifdef INCLUDE_WD - if (eth_flags & FLAG_16BIT) { - outb(eth_laar | WD_LAAR_M16EN, eth_asic_base + WD_LAAR); - inb(0x84); - } -+#ifndef WD_790_PIO - if (eth_flags & FLAG_790) { - outb(WD_MSR_MENB, eth_asic_base + WD_MSR); - inb(0x84); - } -+#endif - inb(0x84); - #endif - pktoff = next << 8; - if (eth_flags & FLAG_PIO) - eth_pio_read(pktoff, (char *)&pkthdr, 4); - else -- memcpy(&pkthdr, (char *)eth_rmem + pktoff, 4); -+ memcpy(&pkthdr, bus_to_virt(eth_rmem + pktoff), 4); - pktoff += sizeof(pkthdr); - /* incoming length includes FCS so must sub 4 */ - len = pkthdr.len - 4; -@@ -486,7 +550,7 @@ - if (eth_flags & FLAG_PIO) - eth_pio_read(pktoff, p, frag); - else -- memcpy(p, (char *)eth_rmem + pktoff, frag); -+ memcpy(p, bus_to_virt(eth_rmem + pktoff), frag); - pktoff = eth_rx_start << 8; - p += frag; - len -= frag; -@@ -495,14 +559,16 @@ - if (eth_flags & FLAG_PIO) - eth_pio_read(pktoff, p, len); - else -- memcpy(p, (char *)eth_rmem + pktoff, len); -+ memcpy(p, bus_to_virt(eth_rmem + pktoff), len); - ret = 1; - } - #ifdef INCLUDE_WD -+#ifndef WD_790_PIO - if (eth_flags & FLAG_790) { - outb(0, eth_asic_base + WD_MSR); - inb(0x84); - } -+#endif - if (eth_flags & FLAG_16BIT) { - outb(eth_laar & ~WD_LAAR_M16EN, eth_asic_base + WD_LAAR); - inb(0x84); -@@ -519,31 +585,56 @@ - /************************************************************************** - NS8390_DISABLE - Turn off adapter - **************************************************************************/ --static void ns8390_disable(struct nic *nic) -+static void ns8390_disable(struct dev *dev) - { -+ struct nic *nic = (struct nic *)dev; -+ /* reset and disable merge */ -+ ns8390_reset(nic); -+} -+ -+/************************************************************************** -+NS8390_IRQ - Enable, Disable, or Force interrupts -+**************************************************************************/ -+static void ns8390_irq(struct nic *nic __unused, irq_action_t action __unused) -+{ -+ switch ( action ) { -+ case DISABLE : -+ break; -+ case ENABLE : -+ break; -+ case FORCE : -+ break; -+ } - } - - /************************************************************************** - ETH_PROBE - Look for an adapter - **************************************************************************/ - #ifdef INCLUDE_NS8390 --struct nic *eth_probe(struct nic *nic, unsigned short *probe_addrs, -- struct pci_device *pci) -+static int eth_probe (struct dev *dev, struct pci_device *pci) - #else --struct nic *eth_probe(struct nic *nic, unsigned short *probe_addrs) -+static int eth_probe (struct dev *dev, unsigned short *probe_addrs __unused) - #endif - { -+ struct nic *nic = (struct nic *)dev; - int i; -- struct wd_board *brd; -- unsigned short chksum; -- unsigned char c; -+#ifdef INCLUDE_NS8390 -+ unsigned short pci_probe_addrs[] = { pci->ioaddr, 0 }; -+ unsigned short *probe_addrs = pci_probe_addrs; -+#endif - eth_vendor = VENDOR_NONE; - eth_drain_receiver = 0; - -+ nic->irqno = 0; -+ - #ifdef INCLUDE_WD -+{ - /****************************************************************** - Search for WD/SMC cards - ******************************************************************/ -+ struct wd_board *brd; -+ unsigned short chksum; -+ unsigned char c; - for (eth_asic_base = WD_LOW_BASE; eth_asic_base <= WD_HIGH_BASE; - eth_asic_base += 0x20) { - chksum = 0; -@@ -560,6 +651,9 @@ - /* We've found a board */ - eth_vendor = VENDOR_WD; - eth_nic_base = eth_asic_base + WD_NIC_ADDR; -+ -+ nic->ioaddr = eth_nic_base; -+ - c = inb(eth_asic_base+WD_BID); /* Get board id */ - for (brd = wd_boards; brd->name; brd++) - if (brd->id == c) break; -@@ -582,8 +676,9 @@ - } else - eth_bmem = WD_DEFAULT_MEM; - if (brd->id == TYPE_SMC8216T || brd->id == TYPE_SMC8216C) { -- *((unsigned int *)(eth_bmem + 8192)) = (unsigned int)0; -- if (*((unsigned int *)(eth_bmem + 8192))) { -+ /* from Linux driver, 8416BT detects as 8216 sometimes */ -+ unsigned int addr = inb(eth_asic_base + 0xb); -+ if (((addr >> 4) & 3) == 0) { - brd += 2; - eth_memsize = brd->memsize; - } -@@ -592,19 +687,27 @@ - for (i=0; inode_addr[i] = inb(i+eth_asic_base+WD_LAR); - } -- printf("\n%s base %#hx, memory %#hx, addr %!\n", -- brd->name, eth_asic_base, eth_bmem, nic->node_addr); -+ printf("\n%s base %#hx", brd->name, eth_asic_base); - if (eth_flags & FLAG_790) { -+#ifdef WD_790_PIO -+ printf(", PIO mode, addr %!\n", nic->node_addr); -+ eth_bmem = 0; -+ eth_flags |= FLAG_PIO; /* force PIO mode */ -+ outb(0, eth_asic_base+WD_MSR); -+#else -+ printf(", memory %#x, addr %!\n", eth_bmem, nic->node_addr); - outb(WD_MSR_MENB, eth_asic_base+WD_MSR); - outb((inb(eth_asic_base+0x04) | - 0x80), eth_asic_base+0x04); -- outb((((unsigned)eth_bmem >> 13) & 0x0F) | -- (((unsigned)eth_bmem >> 11) & 0x40) | -+ outb(((unsigned)(eth_bmem >> 13) & 0x0F) | -+ ((unsigned)(eth_bmem >> 11) & 0x40) | - (inb(eth_asic_base+0x0B) & 0xB0), eth_asic_base+0x0B); - outb((inb(eth_asic_base+0x04) & - ~0x80), eth_asic_base+0x04); -+#endif - } else { -- outb((((unsigned)eth_bmem >> 13) & 0x3F) | 0x40, eth_asic_base+WD_MSR); -+ printf(", memory %#x, addr %!\n", eth_bmem, nic->node_addr); -+ outb(((unsigned)(eth_bmem >> 13) & 0x3F) | 0x40, eth_asic_base+WD_MSR); - } - if (eth_flags & FLAG_16BIT) { - if (eth_flags & FLAG_790) { -@@ -624,8 +727,14 @@ - } - inb(0x84); - } -+} - #endif - #ifdef INCLUDE_3C503 -+#ifdef T503_AUI -+ nic->flags = 1; /* aui */ -+#else -+ nic->flags = 0; /* no aui */ -+#endif - /****************************************************************** - Search for 3Com 3c503 if no WD/SMC cards - ******************************************************************/ -@@ -708,11 +817,12 @@ - /* Get our ethernet address */ - - outb(_3COM_CR_EALO | _3COM_CR_XSEL, eth_asic_base + _3COM_CR); -+ nic->ioaddr = eth_nic_base; - printf("\n3Com 3c503 base %#hx, ", eth_nic_base); - if (eth_flags & FLAG_PIO) - printf("PIO mode"); - else -- printf("memory %#hx", eth_bmem); -+ printf("memory %#x", eth_bmem); - for (i=0; inode_addr[i] = inb(eth_nic_base+i); - } -@@ -734,9 +844,9 @@ - */ - - if (!(eth_flags & FLAG_PIO)) { -- memset((char *)eth_bmem, 0, 0x2000); -+ memset(bus_to_virt(eth_bmem), 0, 0x2000); - for(i = 0; i < 0x2000; ++i) -- if (*(((char *)eth_bmem)+i)) { -+ if (*((char *)(bus_to_virt(eth_bmem+i)))) { - printf ("Failed to clear 3c503 shared mem.\n"); - return (0); - } -@@ -749,9 +859,11 @@ - } - #endif - #if defined(INCLUDE_NE) || defined(INCLUDE_NS8390) -+{ - /****************************************************************** - Search for NE1000/2000 if no WD/SMC or 3com cards - ******************************************************************/ -+ unsigned char c; - if (eth_vendor == VENDOR_NONE) { - char romdata[16], testbuf[32]; - int idx; -@@ -810,23 +922,94 @@ - for (i=0; inode_addr[i] = romdata[i + ((eth_flags & FLAG_16BIT) ? i : 0)]; - } -+ nic->ioaddr = eth_nic_base; - printf("\nNE%c000 base %#hx, addr %!\n", - (eth_flags & FLAG_16BIT) ? '2' : '1', eth_nic_base, - nic->node_addr); - } -+} - #endif - if (eth_vendor == VENDOR_NONE) - return(0); - if (eth_vendor != VENDOR_3COM) - eth_rmem = eth_bmem; - ns8390_reset(nic); -- nic->reset = ns8390_reset; -- nic->poll = ns8390_poll; -+ -+ dev->disable = ns8390_disable; -+ nic->poll = ns8390_poll; - nic->transmit = ns8390_transmit; -- nic->disable = ns8390_disable; -- return(nic); -+ nic->irq = ns8390_irq; -+ -+ /* Based on PnP ISA map */ -+#ifdef INCLUDE_WD -+ dev->devid.vendor_id = htons(GENERIC_ISAPNP_VENDOR); -+ dev->devid.device_id = htons(0x812a); -+#endif -+#ifdef INCLUDE_3C503 -+ dev->devid.vendor_id = htons(GENERIC_ISAPNP_VENDOR); -+ dev->devid.device_id = htons(0x80f3); -+#endif -+#ifdef INCLUDE_NE -+ dev->devid.vendor_id = htons(GENERIC_ISAPNP_VENDOR); -+ dev->devid.device_id = htons(0x80d6); -+#endif -+ return 1; - } - -+#ifdef INCLUDE_WD -+static struct isa_driver wd_driver __isa_driver = { -+ .type = NIC_DRIVER, -+ .name = "WD", -+ .probe = wd_probe, -+ .ioaddrs = 0, -+}; -+#endif -+ -+#ifdef INCLUDE_3C503 -+static struct isa_driver t503_driver __isa_driver = { -+ .type = NIC_DRIVER, -+ .name = "3C503", -+ .probe = t503_probe, -+ .ioaddrs = 0, -+}; -+#endif -+ -+#ifdef INCLUDE_NE -+static struct isa_driver ne_driver __isa_driver = { -+ .type = NIC_DRIVER, -+ .name = "NE*000", -+ .probe = ne_probe, -+ .ioaddrs = 0, -+}; -+#endif -+ -+#ifdef INCLUDE_NS8390 -+static struct pci_id nepci_nics[] = { -+/* A few NE2000 PCI clones, list not exhaustive */ -+PCI_ROM(0x10ec, 0x8029, "rtl8029", "Realtek 8029"), -+PCI_ROM(0x1186, 0x0300, "dlink-528", "D-Link DE-528"), -+PCI_ROM(0x1050, 0x0940, "winbond940", "Winbond NE2000-PCI"), /* Winbond 86C940 / 89C940 */ -+PCI_ROM(0x1050, 0x5a5a, "winbond940f", "Winbond W89c940F"), /* Winbond 89C940F */ -+PCI_ROM(0x11f6, 0x1401, "compexrl2000", "Compex ReadyLink 2000"), -+PCI_ROM(0x8e2e, 0x3000, "ktiet32p2", "KTI ET32P2"), -+PCI_ROM(0x4a14, 0x5000, "nv5000sc", "NetVin NV5000SC"), -+PCI_ROM(0x12c3, 0x0058, "holtek80232", "Holtek HT80232"), -+PCI_ROM(0x12c3, 0x5598, "holtek80229", "Holtek HT80229"), -+PCI_ROM(0x10bd, 0x0e34, "surecom-ne34", "Surecom NE34"), -+PCI_ROM(0x1106, 0x0926, "via86c926", "Via 86c926"), -+}; -+ -+struct pci_driver nepci_driver = { -+ .type = NIC_DRIVER, -+ .name = "NE2000/PCI", -+ .probe = nepci_probe, -+ .ids = nepci_nics, -+ .id_count = sizeof(nepci_nics)/sizeof(nepci_nics[0]), -+ .class = 0, -+}; -+ -+#endif /* INCLUDE_NS8390 */ -+ - /* - * Local variables: - * c-basic-offset: 8 -Index: b/netboot/osdep.h -=================================================================== ---- a/netboot/osdep.h -+++ b/netboot/osdep.h -@@ -1,94 +1,18 @@ --#ifndef __OSDEP_H__ --#define __OSDEP_H__ -+#ifndef _OSDEP_H -+#define _OSDEP_H - --/* -- * 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, or (at -- * your option) any later version. -- */ -+#define __unused __attribute__((unused)) -+#define __aligned __attribute__((aligned(16))) - --#define __LITTLE_ENDIAN /* x86 */ -- --/* Taken from /usr/include/linux/hfs_sysdep.h */ --#if defined(__BIG_ENDIAN) --# if !defined(__constant_htonl) --# define __constant_htonl(x) (x) --# endif --# if !defined(__constant_htons) --# define __constant_htons(x) (x) --# endif --#elif defined(__LITTLE_ENDIAN) --# if !defined(__constant_htonl) --# define __constant_htonl(x) \ -- ((unsigned long int)((((unsigned long int)(x) & 0x000000ffU) << 24) | \ -- (((unsigned long int)(x) & 0x0000ff00U) << 8) | \ -- (((unsigned long int)(x) & 0x00ff0000U) >> 8) | \ -- (((unsigned long int)(x) & 0xff000000U) >> 24))) --# endif --# if !defined(__constant_htons) --# define __constant_htons(x) \ -- ((unsigned short int)((((unsigned short int)(x) & 0x00ff) << 8) | \ -- (((unsigned short int)(x) & 0xff00) >> 8))) --# endif --#else --# error "Don't know if bytes are big- or little-endian!" --#endif -- --#define ntohl(x) \ --(__builtin_constant_p(x) ? \ -- __constant_htonl((x)) : \ -- __swap32(x)) --#define htonl(x) \ --(__builtin_constant_p(x) ? \ -- __constant_htonl((x)) : \ -- __swap32(x)) --#define ntohs(x) \ --(__builtin_constant_p(x) ? \ -- __constant_htons((x)) : \ -- __swap16(x)) --#define htons(x) \ --(__builtin_constant_p(x) ? \ -- __constant_htons((x)) : \ -- __swap16(x)) -- --static inline unsigned long int __swap32(unsigned long int x) --{ -- __asm__("xchgb %b0,%h0\n\t" -- "rorl $16,%0\n\t" -- "xchgb %b0,%h0" -- : "=q" (x) -- : "0" (x)); -- return x; --} -- --static inline unsigned short int __swap16(unsigned short int x) --{ -- __asm__("xchgb %b0,%h0" -- : "=q" (x) -- : "0" (x)); -- return x; --} -- --/* Make routines available to all */ --#define swap32(x) __swap32(x) --#define swap16(x) __swap16(x) -- --#include "linux-asm-io.h" -- --typedef unsigned long Address; -+#include "io.h" -+#include "byteswap.h" -+#include "latch.h" - - /* ANSI prototyping macro */ - #ifdef __STDC__ --#define P(x) x -+# define P(x) x - #else --#define P(x) () -+# define P(x) () - #endif - - #endif -- --/* -- * Local variables: -- * c-basic-offset: 8 -- * End: -- */ -Index: b/netboot/otulip.c -=================================================================== ---- a/netboot/otulip.c -+++ /dev/null -@@ -1,374 +0,0 @@ --/* -- Etherboot DEC Tulip driver -- adapted by Ken Yap from -- -- FreeBSD netboot DEC 21143 driver -- -- Author: David Sharp -- date: Nov/98 -- -- Known to work on DEC DE500 using 21143-PC chipset. -- Even on cards with the same chipset there can be -- incompatablity problems with the way media selection -- and status LED settings are done. See comments below. -- -- Some code fragments were taken from verious places, -- Ken Yap's etherboot, FreeBSD's if_de.c, and various -- Linux related files. DEC's manuals for the 21143 and -- SROM format were very helpful. The Linux de driver -- development page has a number of links to useful -- related information. Have a look at: -- ftp://cesdis.gsfc.nasa.gov/pub/linux/drivers/tulip-devel.html -- --*/ -- --#include "etherboot.h" --#include "nic.h" --#include "pci.h" --#include "cards.h" --#include "otulip.h" -- --static unsigned short vendor, dev_id; --static unsigned short ioaddr; --static unsigned int *membase; --static unsigned char srom[1024]; -- --#define BUFLEN 1536 /* must be longword divisable */ -- /* buffers must be longword aligned */ -- --/* transmit descriptor and buffer */ --static struct txdesc txd; -- --/* receive descriptor(s) and buffer(s) */ --#define NRXD 4 --static struct rxdesc rxd[NRXD]; --static int rxd_tail = 0; --#ifdef USE_LOWMEM_BUFFER --#define rxb ((char *)0x10000 - NRXD * BUFLEN) --#define txb ((char *)0x10000 - NRXD * BUFLEN - BUFLEN) --#else --static unsigned char rxb[NRXD * BUFLEN]; --static unsigned char txb[BUFLEN]; --#endif -- --static unsigned char ehdr[ETH_HLEN]; /* buffer for ethernet header */ -- --enum tulip_offsets { -- CSR0=0, CSR1=0x08, CSR2=0x10, CSR3=0x18, CSR4=0x20, CSR5=0x28, -- CSR6=0x30, CSR7=0x38, CSR8=0x40, CSR9=0x48, CSR10=0x50, CSR11=0x58, -- CSR12=0x60, CSR13=0x68, CSR14=0x70, CSR15=0x78 }; -- -- --/***************************************************************************/ --/* 21143 specific stuff */ --/***************************************************************************/ -- --/* XXX assume 33MHz PCI bus, this is not very accurate and should be -- used only with gross over estimations of required delay times unless -- you tune UADJUST to your specific processor and I/O subsystem */ -- --#define UADJUST 870 --static void udelay(unsigned long usec) { -- unsigned long i; -- for (i=((usec*UADJUST)/33)+1; i>0; i--) (void) TULIP_CSR_READ(csr_0); --} -- --/* The following srom related code was taken from FreeBSD's if_de.c */ --/* with minor alterations to make it work here. the Linux code is */ --/* better but this was easier to use */ -- --static void delay_300ns(void) --{ -- int idx; -- for (idx = (300 / 33) + 1; idx > 0; idx--) -- (void) TULIP_CSR_READ(csr_busmode); --} -- --#define EMIT do { TULIP_CSR_WRITE(csr_srom_mii, csr); delay_300ns(); } while (0) -- --static void srom_idle(void) --{ -- unsigned bit, csr; -- -- csr = SROMSEL ; EMIT; -- csr = SROMSEL | SROMRD; EMIT; -- csr ^= SROMCS; EMIT; -- csr ^= SROMCLKON; EMIT; -- /* -- * Write 25 cycles of 0 which will force the SROM to be idle. -- */ -- for (bit = 3 + SROM_BITWIDTH + 16; bit > 0; bit--) { -- csr ^= SROMCLKOFF; EMIT; /* clock low; data not valid */ -- csr ^= SROMCLKON; EMIT; /* clock high; data valid */ -- } -- csr ^= SROMCLKOFF; EMIT; -- csr ^= SROMCS; EMIT; -- csr = 0; EMIT; --} -- --static void srom_read(void) --{ -- unsigned idx; -- const unsigned bitwidth = SROM_BITWIDTH; -- const unsigned cmdmask = (SROMCMD_RD << bitwidth); -- const unsigned msb = 1 << (bitwidth + 3 - 1); -- unsigned lastidx = (1 << bitwidth) - 1; -- -- srom_idle(); -- -- for (idx = 0; idx <= lastidx; idx++) { -- unsigned lastbit, data, bits, bit, csr; -- csr = SROMSEL ; EMIT; -- csr = SROMSEL | SROMRD; EMIT; -- csr ^= SROMCSON; EMIT; -- csr ^= SROMCLKON; EMIT; -- -- lastbit = 0; -- for (bits = idx|cmdmask, bit = bitwidth + 3; bit > 0; bit--, bits <<= 1) -- { -- const unsigned thisbit = bits & msb; -- csr ^= SROMCLKOFF; EMIT; /* clock low; data not valid */ -- if (thisbit != lastbit) { -- csr ^= SROMDOUT; EMIT; /* clock low; invert data */ -- } else { -- EMIT; -- } -- csr ^= SROMCLKON; EMIT; /* clock high; data valid */ -- lastbit = thisbit; -- } -- csr ^= SROMCLKOFF; EMIT; -- -- for (data = 0, bits = 0; bits < 16; bits++) { -- data <<= 1; -- csr ^= SROMCLKON; EMIT; /* clock high; data valid */ -- data |= TULIP_CSR_READ(csr_srom_mii) & SROMDIN ? 1 : 0; -- csr ^= SROMCLKOFF; EMIT; /* clock low; data not valid */ -- } -- srom[idx*2] = data & 0xFF; -- srom[idx*2+1] = data >> 8; -- csr = SROMSEL | SROMRD; EMIT; -- csr = 0; EMIT; -- } -- srom_idle(); --} -- --/************************************************************************** --ETH_RESET - Reset adapter --***************************************************************************/ --static void tulip_reset(struct nic *nic) --{ -- int x,cnt=2; -- -- outl(0x00000001, ioaddr + CSR0); -- udelay(1000); -- /* turn off reset and set cache align=16lword, burst=unlimit */ -- outl(0x01A08000, ioaddr + CSR0); -- -- /* for some reason the media selection does not take -- the first time se it is repeated. */ -- -- while(cnt--) { -- /* stop TX,RX processes */ -- if (cnt == 1) -- outl(0x32404000, ioaddr + CSR6); -- else -- outl(0x32000040, ioaddr + CSR6); -- -- /* XXX - media selection is vendor specific and hard coded right -- here. This should be fixed to use the hints in the SROM and -- allow media selection by the user at runtime. MII support -- should also be added. Support for chips other than the -- 21143 should be added here as well */ -- -- /* start set to 10Mbps half-duplex */ -- -- /* setup SIA */ -- outl(0x0, ioaddr + CSR13); /* reset SIA */ -- outl(0x7f3f, ioaddr + CSR14); -- outl(0x8000008, ioaddr + CSR15); -- outl(0x0, ioaddr + CSR13); -- outl(0x1, ioaddr + CSR13); -- outl(0x2404000, ioaddr + CSR6); -- -- /* initalize GP */ -- outl(0x8af0008, ioaddr + CSR15); -- outl(0x50008, ioaddr + CSR15); -- -- /* end set to 10Mbps half-duplex */ -- -- if (vendor == PCI_VENDOR_ID_MACRONIX && dev_id == PCI_DEVICE_ID_MX987x5) { -- /* do stuff for MX98715 */ -- outl(0x01a80000, ioaddr + CSR6); -- outl(0xFFFFFFFF, ioaddr + CSR14); -- outl(0x00001000, ioaddr + CSR12); -- } -- -- outl(0x0, ioaddr + CSR7); /* disable interrupts */ -- -- /* construct setup packet which is used by the 21143 to -- program its CAM to recognize interesting MAC addresses */ -- -- memset(&txd, 0, sizeof(struct txdesc)); -- txd.buf1addr = &txb[0]; -- txd.buf2addr = &txb[0]; /* just in case */ -- txd.buf1sz = 192; /* setup packet must be 192 bytes */ -- txd.buf2sz = 0; -- txd.control = 0x020; /* setup packet */ -- txd.status = 0x80000000; /* give ownership to 21143 */ -- -- /* construct perfect filter frame */ -- /* with mac address as first match */ -- /* and broadcast address for all others */ -- -- for(x=0;x<192;x++) txb[x] = 0xff; -- txb[0] = nic->node_addr[0]; -- txb[1] = nic->node_addr[1]; -- txb[4] = nic->node_addr[2]; -- txb[5] = nic->node_addr[3]; -- txb[8] = nic->node_addr[4]; -- txb[9] = nic->node_addr[5]; -- outl((unsigned long)&txd, ioaddr + CSR4); /* set xmit buf */ -- outl(0x2406000, ioaddr + CSR6); /* start transmiter */ -- -- udelay(50000); /* wait for the setup packet to be processed */ -- -- } -- -- /* setup receive descriptor */ -- { -- int x; -- for(x=0;xnode_addr, ETH_ALEN); -- ehdr[ETH_ALEN*2] = (t >> 8) & 0xff; -- ehdr[ETH_ALEN*2+1] = t & 0xff; -- -- /* setup the transmit descriptor */ -- -- memset(&txd, 0, sizeof(struct txdesc)); -- -- txd.buf1addr = &ehdr[0]; /* ethernet header */ -- txd.buf1sz = ETH_HLEN; -- -- txd.buf2addr = p; /* packet to transmit */ -- txd.buf2sz = s; -- -- txd.control = 0x188; /* LS+FS+TER */ -- -- txd.status = 0x80000000; /* give it to 21143 */ -- -- outl(inl(ioaddr + CSR6) & ~0x00004000, ioaddr + CSR6); -- outl((unsigned long)&txd, ioaddr + CSR4); -- outl(inl(ioaddr + CSR6) | 0x00004000, ioaddr + CSR6); -- --/* Wait for transmit to complete before returning. not well tested. -- -- time = currticks(); -- while(txd.status & 0x80000000) { -- if (currticks() - time > 20) { -- printf("transmit timeout.\n"); -- break; -- } -- } --*/ -- --} -- --/************************************************************************** --ETH_POLL - Wait for a frame --***************************************************************************/ --static int tulip_poll(struct nic *nic) --{ -- if (rxd[rxd_tail].status & 0x80000000) return 0; -- -- nic->packetlen = (rxd[rxd_tail].status & 0x3FFF0000) >> 16; -- -- /* copy packet to working buffer */ -- /* XXX - this copy could be avoided with a little more work -- but for now we are content with it because the optimised -- memcpy(, , ) is quite fast */ -- -- memcpy(nic->packet, rxb + rxd_tail * BUFLEN, nic->packetlen); -- -- /* return the descriptor and buffer to recieve ring */ -- rxd[rxd_tail].status = 0x80000000; -- rxd_tail++; -- if (rxd_tail == NRXD) rxd_tail = 0; -- -- return 1; --} -- --static void tulip_disable(struct nic *nic) --{ -- /* nothing for the moment */ --} -- --/************************************************************************** --ETH_PROBE - Look for an adapter --***************************************************************************/ --struct nic *otulip_probe(struct nic *nic, unsigned short *io_addrs, struct pci_device *pci) --{ -- int i; -- -- if (io_addrs == 0 || *io_addrs == 0) -- return (0); -- vendor = pci->vendor; -- dev_id = pci->dev_id; -- ioaddr = *io_addrs; -- membase = (unsigned int *)pci->membase; -- -- /* wakeup chip */ -- pcibios_write_config_dword(pci->bus,pci->devfn,0x40,0x00000000); -- -- /* Stop the chip's Tx and Rx processes. */ -- /* outl(inl(ioaddr + CSR6) & ~0x2002, ioaddr + CSR6); */ -- /* Clear the missed-packet counter. */ -- /* (volatile int)inl(ioaddr + CSR8); */ -- -- srom_read(); -- -- for (i=0; i < ETH_ALEN; i++) -- nic->node_addr[i] = srom[20+i]; -- -- printf("Tulip %! at ioaddr %#hX\n", nic->node_addr, ioaddr); -- -- tulip_reset(nic); -- -- nic->reset = tulip_reset; -- nic->poll = tulip_poll; -- nic->transmit = tulip_transmit; -- nic->disable = tulip_disable; -- return nic; --} -Index: b/netboot/otulip.h -=================================================================== ---- a/netboot/otulip.h -+++ /dev/null -@@ -1,76 +0,0 @@ --/* mostly stolen from FreeBSD if_de.c, if_devar.h */ -- --#define TULIP_CSR_READ(csr) (membase[csr*2]) --#define CSR_READ(csr) (membase[csr*2]) --#define TULIP_CSR_WRITE(csr, val) (membase[csr*2] = val) --#define CSR_WRITE(csr, val) (membase[csr*2] = val) -- --#define csr_0 0 --#define csr_1 1 --#define csr_2 2 --#define csr_3 3 --#define csr_4 4 --#define csr_5 5 --#define csr_6 6 --#define csr_7 7 --#define csr_8 8 --#define csr_9 9 --#define csr_10 10 --#define csr_11 11 --#define csr_12 12 --#define csr_13 13 --#define csr_14 14 --#define csr_15 15 -- --#define csr_busmode csr_0 --#define csr_txpoll csr_1 --#define csr_rxpoll csr_2 --#define csr_rxlist csr_3 --#define csr_txlist csr_4 --#define csr_status csr_5 --#define csr_command csr_6 --#define csr_intr csr_7 --#define csr_missed_frames csr_8 --#define csr_enetrom csr_9 /* 21040 */ --#define csr_reserved csr_10 /* 21040 */ --#define csr_full_duplex csr_11 /* 21040 */ --#define csr_bootrom csr_10 /* 21041/21140A/?? */ --#define csr_gp csr_12 /* 21140* */ --#define csr_watchdog csr_15 /* 21140* */ --#define csr_gp_timer csr_11 /* 21041/21140* */ --#define csr_srom_mii csr_9 /* 21041/21140* */ --#define csr_sia_status csr_12 /* 2104x */ --#define csr_sia_connectivity csr_13 /* 2104x */ --#define csr_sia_tx_rx csr_14 /* 2104x */ --#define csr_sia_general csr_15 /* 2104x */ -- --#define SROMSEL 0x0800 --#define SROMCS 0x0001 --#define SROMCLKON 0x0002 --#define SROMCLKOFF 0x0002 --#define SROMRD 0x4000 --#define SROMWR 0x2000 --#define SROM_BITWIDTH 6 --#define SROMCMD_RD 6 --#define SROMCSON 0x0001 --#define SROMDOUT 0x0004 --#define SROMDIN 0x0008 -- -- --struct txdesc { -- unsigned long status; /* owner, status */ -- unsigned long buf1sz:11, /* size of buffer 1 */ -- buf2sz:11, /* size of buffer 2 */ -- control:10; /* control bits */ -- const unsigned char *buf1addr; /* buffer 1 address */ -- const unsigned char *buf2addr; /* buffer 2 address */ --}; -- --struct rxdesc { -- unsigned long status; /* owner, status */ -- unsigned long buf1sz:11, /* size of buffer 1 */ -- buf2sz:11, /* size of buffer 2 */ -- control:10; /* control bits */ -- unsigned char *buf1addr; /* buffer 1 address */ -- unsigned char *buf2addr; /* buffer 2 address */ --}; -Index: b/netboot/pci.c -=================================================================== ---- a/netboot/pci.c -+++ b/netboot/pci.c -@@ -1,15 +1,3 @@ --/* --** Support for NE2000 PCI clones added David Monro June 1997 --** Generalised to other NICs by Ken Yap July 1997 --** --** Most of this is taken from: --** --** /usr/src/linux/drivers/pci/pci.c --** /usr/src/linux/include/linux/pci.h --** /usr/src/linux/arch/i386/bios32.c --** /usr/src/linux/include/linux/bios32.h --** /usr/src/linux/drivers/net/ne.c --*/ - - /* - * This program is free software; you can redistribute it and/or -@@ -18,402 +6,294 @@ - * your option) any later version. - */ - --#include "etherboot.h" -+#include "grub.h" - #include "pci.h" - --/*#define DEBUG 1*/ --#define DEBUG 0 -- --#ifdef CONFIG_PCI_DIRECT --#define PCIBIOS_SUCCESSFUL 0x00 -- --/* -- * Functions for accessing PCI configuration space with type 1 accesses -- */ -- --#define CONFIG_CMD(bus, device_fn, where) (0x80000000 | (bus << 16) | (device_fn << 8) | (where & ~3)) -- --int pcibios_read_config_byte(unsigned int bus, unsigned int device_fn, -- unsigned int where, unsigned char *value) -+unsigned long virt_offset = 0; -+unsigned long virt_to_phys(volatile const void *virt_addr) - { -- outl(CONFIG_CMD(bus,device_fn,where), 0xCF8); -- *value = inb(0xCFC + (where&3)); -- return PCIBIOS_SUCCESSFUL; -+ return ((unsigned long)virt_addr) + virt_offset; - } - --int pcibios_read_config_word (unsigned int bus, -- unsigned int device_fn, unsigned int where, unsigned short *value) -+void *phys_to_virt(unsigned long phys_addr) - { -- outl(CONFIG_CMD(bus,device_fn,where), 0xCF8); -- *value = inw(0xCFC + (where&2)); -- return PCIBIOS_SUCCESSFUL; -+ return (void *)(phys_addr - virt_offset); - } - --int pcibios_read_config_dword (unsigned int bus, unsigned int device_fn, -- unsigned int where, unsigned int *value) --{ -- outl(CONFIG_CMD(bus,device_fn,where), 0xCF8); -- *value = inl(0xCFC); -- return PCIBIOS_SUCCESSFUL; --} -+#ifdef INCLUDE_3C595 -+extern struct pci_driver t595_driver; -+#endif /* INCLUDE_3C595 */ - --int pcibios_write_config_byte (unsigned int bus, unsigned int device_fn, -- unsigned int where, unsigned char value) --{ -- outl(CONFIG_CMD(bus,device_fn,where), 0xCF8); -- outb(value, 0xCFC + (where&3)); -- return PCIBIOS_SUCCESSFUL; --} -+#ifdef INCLUDE_3C90X -+extern struct pci_driver a3c90x_driver; -+#endif /* INCLUDE_3C90X */ - --int pcibios_write_config_word (unsigned int bus, unsigned int device_fn, -- unsigned int where, unsigned short value) --{ -- outl(CONFIG_CMD(bus,device_fn,where), 0xCF8); -- outw(value, 0xCFC + (where&2)); -- return PCIBIOS_SUCCESSFUL; --} -+#ifdef INCLUDE_DAVICOM -+extern struct pci_driver davicom_driver; -+#endif /* INCLUDE_DAVICOM */ - --int pcibios_write_config_dword (unsigned int bus, unsigned int device_fn, unsigned int where, unsigned int value) --{ -- outl(CONFIG_CMD(bus,device_fn,where), 0xCF8); -- outl(value, 0xCFC); -- return PCIBIOS_SUCCESSFUL; --} -+#ifdef INCLUDE_E1000 -+extern struct pci_driver e1000_driver; -+#endif /* INCLUDE_E1000 */ - --#undef CONFIG_CMD -+#ifdef INCLUDE_EEPRO100 -+extern struct pci_driver eepro100_driver; -+#endif /* INCLUDE_EEPRO100 */ - --#else /* CONFIG_PCI_DIRECT not defined */ -+#ifdef INCLUDE_EPIC100 -+extern struct pci_driver epic100_driver; -+#endif /* INCLUDE_EPIC100 */ - --static struct { -- unsigned long address; -- unsigned short segment; --} bios32_indirect = { 0, KERN_CODE_SEG }; -- --static long pcibios_entry; --static struct { -- unsigned long address; -- unsigned short segment; --} pci_indirect = { 0, KERN_CODE_SEG }; -+#ifdef INCLUDE_FORCEDETH -+extern struct pci_driver forcedeth_driver; -+#endif /* INCLUDE_FORCEDETH */ - --static unsigned long bios32_service(unsigned long service) --{ -- unsigned char return_code; /* %al */ -- unsigned long address; /* %ebx */ -- unsigned long length; /* %ecx */ -- unsigned long entry; /* %edx */ -- unsigned long flags; -- -- save_flags(flags); -- __asm__( --#ifdef ABSOLUTE_WITHOUT_ASTERISK -- "lcall (%%edi)" --#else -- "lcall *(%%edi)" --#endif -- : "=a" (return_code), -- "=b" (address), -- "=c" (length), -- "=d" (entry) -- : "0" (service), -- "1" (0), -- "D" (&bios32_indirect)); -- restore_flags(flags); -- -- switch (return_code) { -- case 0: -- return address + entry; -- case 0x80: /* Not present */ -- printf("bios32_service(%d) : not present\n", service); -- return 0; -- default: /* Shouldn't happen */ -- printf("bios32_service(%d) : returned %#X, mail drew@colorado.edu\n", -- service, return_code); -- return 0; -- } --} -+#ifdef INCLUDE_NATSEMI -+extern struct pci_driver natsemi_driver; -+#endif /* INCLUDE_NATSEMI */ - --int pcibios_read_config_byte(unsigned int bus, -- unsigned int device_fn, unsigned int where, unsigned char *value) --{ -- unsigned long ret; -- unsigned long bx = (bus << 8) | device_fn; -- unsigned long flags; -- -- save_flags(flags); -- __asm__( --#ifdef ABSOLUTE_WITHOUT_ASTERISK -- "lcall (%%esi)\n\t" --#else -- "lcall *(%%esi)\n\t" --#endif -- "jc 1f\n\t" -- "xor %%ah, %%ah\n" -- "1:" -- : "=c" (*value), -- "=a" (ret) -- : "1" (PCIBIOS_READ_CONFIG_BYTE), -- "b" (bx), -- "D" ((long) where), -- "S" (&pci_indirect)); -- restore_flags(flags); -- return (int) (ret & 0xff00) >> 8; --} -+#ifdef INCLUDE_NS83820 -+extern struct pci_driver ns83820_driver; -+#endif /* INCLUDE_NS83820 */ - --int pcibios_read_config_word(unsigned int bus, -- unsigned int device_fn, unsigned int where, unsigned short *value) --{ -- unsigned long ret; -- unsigned long bx = (bus << 8) | device_fn; -- unsigned long flags; -- -- save_flags(flags); -- __asm__( --#ifdef ABSOLUTE_WITHOUT_ASTERISK -- "lcall (%%esi)\n\t" --#else -- "lcall *(%%esi)\n\t" --#endif -- "jc 1f\n\t" -- "xor %%ah, %%ah\n" -- "1:" -- : "=c" (*value), -- "=a" (ret) -- : "1" (PCIBIOS_READ_CONFIG_WORD), -- "b" (bx), -- "D" ((long) where), -- "S" (&pci_indirect)); -- restore_flags(flags); -- return (int) (ret & 0xff00) >> 8; --} -+#ifdef INCLUDE_NS8390 -+extern struct pci_driver nepci_driver; -+#endif /* INCLUDE_NS8390 */ - --int pcibios_read_config_dword(unsigned int bus, -- unsigned int device_fn, unsigned int where, unsigned int *value) --{ -- unsigned long ret; -- unsigned long bx = (bus << 8) | device_fn; -- unsigned long flags; -- -- save_flags(flags); -- __asm__( --#ifdef ABSOLUTE_WITHOUT_ASTERISK -- "lcall (%%esi)\n\t" --#else -- "lcall *(%%esi)\n\t" --#endif -- "jc 1f\n\t" -- "xor %%ah, %%ah\n" -- "1:" -- : "=c" (*value), -- "=a" (ret) -- : "1" (PCIBIOS_READ_CONFIG_DWORD), -- "b" (bx), -- "D" ((long) where), -- "S" (&pci_indirect)); -- restore_flags(flags); -- return (int) (ret & 0xff00) >> 8; --} -+#ifdef INCLUDE_PCNET32 -+extern struct pci_driver pcnet32_driver; -+#endif /* INCLUDE_PCNET32 */ - --int pcibios_write_config_byte (unsigned int bus, -- unsigned int device_fn, unsigned int where, unsigned char value) --{ -- unsigned long ret; -- unsigned long bx = (bus << 8) | device_fn; -- unsigned long flags; -- -- save_flags(flags); cli(); -- __asm__( --#ifdef ABSOLUTE_WITHOUT_ASTERISK -- "lcall (%%esi)\n\t" --#else -- "lcall *(%%esi)\n\t" --#endif -- "jc 1f\n\t" -- "xor %%ah, %%ah\n" -- "1:" -- : "=a" (ret) -- : "0" (PCIBIOS_WRITE_CONFIG_BYTE), -- "c" (value), -- "b" (bx), -- "D" ((long) where), -- "S" (&pci_indirect)); -- restore_flags(flags); -- return (int) (ret & 0xff00) >> 8; --} -+#ifdef INCLUDE_PNIC -+extern struct pci_driver pnic_driver; -+#endif /* INCLUDE_PNIC */ - --int pcibios_write_config_word (unsigned int bus, -- unsigned int device_fn, unsigned int where, unsigned short value) --{ -- unsigned long ret; -- unsigned long bx = (bus << 8) | device_fn; -- unsigned long flags; -- -- save_flags(flags); cli(); -- __asm__( --#ifdef ABSOLUTE_WITHOUT_ASTERISK -- "lcall (%%esi)\n\t" --#else -- "lcall *(%%esi)\n\t" --#endif -- "jc 1f\n\t" -- "xor %%ah, %%ah\n" -- "1:" -- : "=a" (ret) -- : "0" (PCIBIOS_WRITE_CONFIG_WORD), -- "c" (value), -- "b" (bx), -- "D" ((long) where), -- "S" (&pci_indirect)); -- restore_flags(flags); -- return (int) (ret & 0xff00) >> 8; --} -+#ifdef INCLUDE_RTL8139 -+extern struct pci_driver rtl8139_driver; -+#endif /* INCLUDE_RTL8139 */ - --int pcibios_write_config_dword (unsigned int bus, -- unsigned int device_fn, unsigned int where, unsigned int value) --{ -- unsigned long ret; -- unsigned long bx = (bus << 8) | device_fn; -- unsigned long flags; -- -- save_flags(flags); cli(); -- __asm__( --#ifdef ABSOLUTE_WITHOUT_ASTERISK -- "lcall (%%esi)\n\t" --#else -- "lcall *(%%esi)\n\t" --#endif -- "jc 1f\n\t" -- "xor %%ah, %%ah\n" -- "1:" -- : "=a" (ret) -- : "0" (PCIBIOS_WRITE_CONFIG_DWORD), -- "c" (value), -- "b" (bx), -- "D" ((long) where), -- "S" (&pci_indirect)); -- restore_flags(flags); -- return (int) (ret & 0xff00) >> 8; --} -+#ifdef INCLUDE_SIS900 -+extern struct pci_driver sis900_driver; -+extern struct pci_driver sis_bridge_driver; -+#endif /* INCLUDE_SIS900 */ - --static void check_pcibios(void) --{ -- unsigned long signature; -- unsigned char present_status; -- unsigned char major_revision; -- unsigned char minor_revision; -- unsigned long flags; -- int pack; -- -- if ((pcibios_entry = bios32_service(PCI_SERVICE))) { -- pci_indirect.address = pcibios_entry; -- -- save_flags(flags); -- __asm__( --#ifdef ABSOLUTE_WITHOUT_ASTERISK -- "lcall (%%edi)\n\t" --#else -- "lcall *(%%edi)\n\t" --#endif -- "jc 1f\n\t" -- "xor %%ah, %%ah\n" -- "1:\tshl $8, %%eax\n\t" -- "movw %%bx, %%ax" -- : "=d" (signature), -- "=a" (pack) -- : "1" (PCIBIOS_PCI_BIOS_PRESENT), -- "D" (&pci_indirect) -- : "bx", "cx"); -- restore_flags(flags); -- -- present_status = (pack >> 16) & 0xff; -- major_revision = (pack >> 8) & 0xff; -- minor_revision = pack & 0xff; -- if (present_status || (signature != PCI_SIGNATURE)) { -- printf("ERROR: BIOS32 says PCI BIOS, but no PCI " -- "BIOS????\n"); -- pcibios_entry = 0; -- } --#if DEBUG -- if (pcibios_entry) { -- printf ("pcibios_init : PCI BIOS revision %hhX.%hhX" -- " entry at %#X\n", major_revision, -- minor_revision, pcibios_entry); -- } --#endif -- } --} -+#ifdef INCLUDE_SUNDANCE -+extern struct pci_driver sundance_driver; -+#endif /* INCLUDE_SUNDANCE */ - --static void pcibios_init(void) --{ -- union bios32 *check; -- unsigned char sum; -- int i, length; -- unsigned long bios32_entry = 0; -- -- /* -- * Follow the standard procedure for locating the BIOS32 Service -- * directory by scanning the permissible address range from -- * 0xe0000 through 0xfffff for a valid BIOS32 structure. -- * -- */ -+#ifdef INCLUDE_TG3 -+extern struct pci_driver tg3_driver; -+#endif /* INCLUDE_TG3 */ -+ -+#ifdef INCLUDE_TLAN -+extern struct pci_driver tlan_driver; -+#endif /* INCLUDE_TLAN */ -+ -+#ifdef INCLUDE_TULIP -+extern struct pci_driver tulip_driver; -+#endif /* INCLUDE_TULIP */ -+ -+#ifdef INCLUDE_UNDI -+extern struct pci_driver undi_driver; -+#endif /* INCLUDE_UNDI */ -+ -+#ifdef INCLUDE_VIA_RHINE -+extern struct pci_driver rhine_driver; -+#endif/* INCLUDE_VIA_RHINE */ -+ -+#ifdef INCLUDE_W89C840 -+extern struct pci_driver w89c840_driver; -+#endif /* INCLUDE_W89C840 */ -+ -+#ifdef INCLUDE_R8169 -+extern struct pci_driver r8169_driver; -+#endif /* INCLUDE_R8169 */ -+ -+static const struct pci_driver *pci_drivers[] = { -+ -+#ifdef INCLUDE_3C595 -+ &t595_driver, -+#endif /* INCLUDE_3C595 */ -+ -+#ifdef INCLUDE_3C90X -+ &a3c90x_driver, -+#endif /* INCLUDE_3C90X */ -+ -+#ifdef INCLUDE_DAVICOM -+ &davicom_driver, -+#endif /* INCLUDE_DAVICOM */ -+ -+#ifdef INCLUDE_E1000 -+ &e1000_driver, -+#endif /* INCLUDE_E1000 */ -+ -+#ifdef INCLUDE_EEPRO100 -+ &eepro100_driver, -+#endif /* INCLUDE_EEPRO100 */ -+ -+#ifdef INCLUDE_EPIC100 -+ &epic100_driver, -+#endif /* INCLUDE_EPIC100 */ -+ -+#ifdef INCLUDE_FORCEDETH -+ &forcedeth_driver, -+#endif /* INCLUDE_FORCEDETH */ -+ -+#ifdef INCLUDE_NATSEMI -+ &natsemi_driver, -+#endif /* INCLUDE_NATSEMI */ -+ -+#ifdef INCLUDE_NS83820 -+ &ns83820_driver, -+#endif /* INCLUDE_NS83820 */ -+ -+#ifdef INCLUDE_NS8390 -+ &nepci_driver, -+#endif /* INCLUDE_NS8390 */ -+ -+#ifdef INCLUDE_PCNET32 -+ &pcnet32_driver, -+#endif /* INCLUDE_PCNET32 */ -+ -+#ifdef INCLUDE_PNIC -+ &pnic_driver, -+#endif /* INCLUDE_PNIC */ - -- for (check = (union bios32 *) 0xe0000; check <= (union bios32 *) 0xffff0; ++check) { -- if (check->fields.signature != BIOS32_SIGNATURE) -+#ifdef INCLUDE_RTL8139 -+ &rtl8139_driver, -+#endif /* INCLUDE_RTL8139 */ -+ -+#ifdef INCLUDE_SIS900 -+ &sis900_driver, -+ &sis_bridge_driver, -+#endif /* INCLUDE_SIS900 */ -+ -+#ifdef INCLUDE_SUNDANCE -+ &sundance_driver, -+#endif /* INCLUDE_SUNDANCE */ -+ -+#ifdef INCLUDE_TG3 -+ & tg3_driver, -+#endif /* INCLUDE_TG3 */ -+ -+#ifdef INCLUDE_TLAN -+ &tlan_driver, -+#endif /* INCLUDE_TLAN */ -+ -+#ifdef INCLUDE_TULIP -+ & tulip_driver, -+#endif /* INCLUDE_TULIP */ -+ -+#ifdef INCLUDE_VIA_RHINE -+ &rhine_driver, -+#endif/* INCLUDE_VIA_RHINE */ -+ -+#ifdef INCLUDE_W89C840 -+ &w89c840_driver, -+#endif /* INCLUDE_W89C840 */ -+ -+#ifdef INCLUDE_R8169 -+ &r8169_driver, -+#endif /* INCLUDE_R8169 */ -+ -+/* We must be the last one */ -+#ifdef INCLUDE_UNDI -+ &undi_driver, -+#endif /* INCLUDE_UNDI */ -+ -+ 0 -+}; -+ -+static void scan_drivers( -+ int type, -+ uint32_t class, uint16_t vendor, uint16_t device, -+ const struct pci_driver *last_driver, struct pci_device *dev) -+{ -+ const struct pci_driver *skip_driver = last_driver; -+ /* Assume there is only one match of the correct type */ -+ const struct pci_driver *driver; -+ int i, j; -+ -+ for(j = 0; pci_drivers[j] != 0; j++){ -+ driver = pci_drivers[j]; -+ if (driver->type != type) - continue; -- length = check->fields.length * 16; -- if (!length) -+ if (skip_driver) { -+ if (skip_driver == driver) -+ skip_driver = 0; - continue; -- sum = 0; -- for (i = 0; i < length ; ++i) -- sum += check->chars[i]; -- if (sum != 0) -+ } -+ for(i = 0; i < driver->id_count; i++) { -+ if ((vendor == driver->ids[i].vendor) && -+ (device == driver->ids[i].dev_id)) { -+ -+ dev->driver = driver; -+ dev->name = driver->ids[i].name; -+ -+ goto out; -+ } -+ } -+ } -+ if (!class) { -+ goto out; -+ } -+ for(j = 0; pci_drivers[j] != 0; j++){ -+ driver = pci_drivers[j]; -+ if (driver->type != type) - continue; -- if (check->fields.revision != 0) { -- printf("pcibios_init : unsupported revision %d at %#X, mail drew@colorado.edu\n", -- check->fields.revision, check); -+ if (skip_driver) { -+ if (skip_driver == driver) -+ skip_driver = 0; - continue; - } --#if DEBUG -- printf("pcibios_init : BIOS32 Service Directory " -- "structure at %#X\n", check); --#endif -- if (!bios32_entry) { -- if (check->fields.entry >= 0x100000) { -- printf("pcibios_init: entry in high " -- "memory, giving up\n"); -- return; -- } else { -- bios32_entry = check->fields.entry; --#if DEBUG -- printf("pcibios_init : BIOS32 Service Directory" -- " entry at %#X\n", bios32_entry); --#endif -- bios32_indirect.address = bios32_entry; -- } -+ if (last_driver == driver) -+ continue; -+ if ((class >> 8) == driver->class) { -+ dev->driver = driver; -+ dev->name = driver->name; -+ goto out; - } - } -- if (bios32_entry) -- check_pcibios(); -+ out: -+ return; - } --#endif /* CONFIG_PCI_DIRECT not defined*/ - --static void scan_bus(struct pci_device *pcidev) -+void scan_pci_bus(int type, struct pci_device *dev) - { -- unsigned int devfn, l, bus, buses; -+ unsigned int first_bus, first_devfn; -+ const struct pci_driver *first_driver; -+ unsigned int devfn, bus, buses; - unsigned char hdr_type = 0; -- unsigned short vendor, device; -- unsigned int membase, ioaddr, romaddr; -- int i, reg; -- unsigned int pci_ioaddr = 0; -- -+ uint32_t class; -+ uint16_t vendor, device; -+ uint32_t l, membase, ioaddr, romaddr; -+ int reg; -+ -+ EnterFunction("scan_pci_bus"); -+ first_bus = 0; -+ first_devfn = 0; -+ first_driver = 0; -+ if (dev->driver) { -+ first_driver = dev->driver; -+ first_bus = dev->bus; -+ first_devfn = dev->devfn; -+ /* Re read the header type on a restart */ -+ pcibios_read_config_byte(first_bus, first_devfn & ~0x7, -+ PCI_HEADER_TYPE, &hdr_type); -+ dev->driver = 0; -+ dev->bus = 0; -+ dev->devfn = 0; -+ } -+ - /* Scan all PCI buses, until we find our card. -- * We could be smart only scan the required busses but that -+ * We could be smart only scan the required buses but that - * is error prone, and tricky. -- * By scanning all possible pci busses in order we should find -+ * By scanning all possible pci buses in order we should find - * our card eventually. - */ - buses=256; -- for (bus = 0; bus < buses; ++bus) { -- for (devfn = 0; devfn < 0xff; ++devfn) { -+ for (bus = first_bus; bus < buses; ++bus) { -+ for (devfn = first_devfn; devfn < 0xff; ++devfn, first_driver = 0) { - if (PCI_FUNC (devfn) == 0) - pcibios_read_config_byte(bus, devfn, PCI_HEADER_TYPE, &hdr_type); - else if (!(hdr_type & 0x80)) /* not a multi-function device */ -@@ -421,61 +301,90 @@ - pcibios_read_config_dword(bus, devfn, PCI_VENDOR_ID, &l); - /* some broken boards return 0 if a slot is empty: */ - if (l == 0xffffffff || l == 0x00000000) { -- hdr_type = 0; - continue; - } - vendor = l & 0xffff; - device = (l >> 16) & 0xffff; - -+ pcibios_read_config_dword(bus, devfn, PCI_REVISION, &l); -+ class = (l >> 8) & 0xffffff; - #if DEBUG -- printf("bus %hhX, function %hhX, vendor %hX, device %hX\n", -- bus, devfn, vendor, device); -+ { -+ int i; -+ printf("%hhx:%hhx.%hhx [%hX/%hX] ---- ", -+ bus, PCI_SLOT(devfn), PCI_FUNC(devfn), -+ vendor, device); -+#if DEBUG > 1 -+ for(i = 0; i < 256; i++) { -+ unsigned char byte; -+ if ((i & 0xf) == 0) { -+ printf("%hhx: ", i); -+ } -+ pcibios_read_config_byte(bus, devfn, i, &byte); -+ printf("%hhx ", byte); -+ if ((i & 0xf) == 0xf) { -+ printf("\n"); -+ } -+ } -+#endif -+ -+ } -+#endif -+ scan_drivers(type, class, vendor, device, first_driver, dev); -+ if (!dev->driver){ -+#if DEBUG -+ printf("No driver fit.\n"); - #endif -- for (i = 0; pcidev[i].vendor != 0; i++) { -- if (vendor != pcidev[i].vendor -- || device != pcidev[i].dev_id) -+ continue; -+ } -+#if DEBUG -+ printf("Get Driver:\n"); -+#endif -+ dev->devfn = devfn; -+ dev->bus = bus; -+ dev->class = class; -+ dev->vendor = vendor; -+ dev->dev_id = device; -+ -+ -+ /* Get the ROM base address */ -+ pcibios_read_config_dword(bus, devfn, -+ PCI_ROM_ADDRESS, &romaddr); -+ romaddr >>= 10; -+ dev->romaddr = romaddr; -+ -+ /* Get the ``membase'' */ -+ pcibios_read_config_dword(bus, devfn, -+ PCI_BASE_ADDRESS_1, &membase); -+ dev->membase = membase; -+ -+ /* Get the ``ioaddr'' */ -+ for (reg = PCI_BASE_ADDRESS_0; reg <= PCI_BASE_ADDRESS_5; reg += 4) { -+ pcibios_read_config_dword(bus, devfn, reg, &ioaddr); -+ if ((ioaddr & PCI_BASE_ADDRESS_IO_MASK) == 0 || (ioaddr & PCI_BASE_ADDRESS_SPACE_IO) == 0) - continue; -- pcidev[i].devfn = devfn; -- pcidev[i].bus = bus; -- for (reg = PCI_BASE_ADDRESS_0; reg <= PCI_BASE_ADDRESS_5; reg += 4) { -- pcibios_read_config_dword(bus, devfn, reg, &ioaddr); -- -- if ((ioaddr & PCI_BASE_ADDRESS_IO_MASK) == 0 || (ioaddr & PCI_BASE_ADDRESS_SPACE_IO) == 0) -- continue; -- /* Strip the I/O address out of the returned value */ -- ioaddr &= PCI_BASE_ADDRESS_IO_MASK; -- /* Get the memory base address */ -- pcibios_read_config_dword(bus, devfn, -- PCI_BASE_ADDRESS_1, &membase); -- /* Get the ROM base address */ -- pcibios_read_config_dword(bus, devfn, PCI_ROM_ADDRESS, &romaddr); -- romaddr >>= 10; -- printf("Found %s at %#hx, ROM address %#hx\n", -- pcidev[i].name, ioaddr, romaddr); -- /* Take the first one or the one that matches in boot ROM address */ -- if (pci_ioaddr == 0 || romaddr == ((unsigned long) rom.rom_segment << 4)) { -- pcidev[i].membase = membase; -- pcidev[i].ioaddr = ioaddr; -- return; -- } -- } -+ -+ -+ /* Strip the I/O address out of the returned value */ -+ ioaddr &= PCI_BASE_ADDRESS_IO_MASK; -+ -+ /* Take the first one or the one that matches in boot ROM address */ -+ dev->ioaddr = ioaddr; - } -+#if DEBUG > 2 -+ printf("Found %s ROM address %#hx\n", -+ dev->name, romaddr); -+#endif -+ LeaveFunction("scan_pci_bus"); -+ return; - } -+ first_devfn = 0; - } -+ first_bus = 0; -+ LeaveFunction("scan_pci_bus"); - } - --void eth_pci_init(struct pci_device *pcidev) --{ --#ifndef CONFIG_PCI_DIRECT -- pcibios_init(); -- if (!pcibios_entry) { -- printf("pci_init: no BIOS32 detected\n"); -- return; -- } --#endif -- scan_bus(pcidev); -- /* return values are in pcidev structures */ --} -+ - - /* - * Set device to be a busmaster in case BIOS neglected to do so. -@@ -489,13 +398,134 @@ - pcibios_read_config_word(p->bus, p->devfn, PCI_COMMAND, &pci_command); - new_command = pci_command | PCI_COMMAND_MASTER|PCI_COMMAND_IO; - if (pci_command != new_command) { -- printf("The PCI BIOS has not enabled this device!\nUpdating PCI command %hX->%hX. pci_bus %hhX pci_device_fn %hhX\n", -+#if DEBUG > 0 -+ printf( -+ "The PCI BIOS has not enabled this device!\n" -+ "Updating PCI command %hX->%hX. pci_bus %hhX pci_device_fn %hhX\n", - pci_command, new_command, p->bus, p->devfn); -+#endif - pcibios_write_config_word(p->bus, p->devfn, PCI_COMMAND, new_command); - } - pcibios_read_config_byte(p->bus, p->devfn, PCI_LATENCY_TIMER, &pci_latency); - if (pci_latency < 32) { -- printf("PCI latency timer (CFLT) is unreasonably low at %d. Setting to 32 clocks.\n", pci_latency); -+#if DEBUG > 0 -+ printf("PCI latency timer (CFLT) is unreasonably low at %d. Setting to 32 clocks.\n", -+ pci_latency); -+#endif - pcibios_write_config_byte(p->bus, p->devfn, PCI_LATENCY_TIMER, 32); - } - } -+ -+/* -+ * Find the start of a pci resource. -+ */ -+unsigned long pci_bar_start(struct pci_device *dev, unsigned int index) -+{ -+ uint32_t lo, hi; -+ unsigned long bar; -+ pci_read_config_dword(dev, index, &lo); -+ if (lo & PCI_BASE_ADDRESS_SPACE_IO) { -+ bar = lo & PCI_BASE_ADDRESS_IO_MASK; -+ } else { -+ bar = 0; -+ if ((lo & PCI_BASE_ADDRESS_MEM_TYPE_MASK) == PCI_BASE_ADDRESS_MEM_TYPE_64) { -+ pci_read_config_dword(dev, index + 4, &hi); -+ if (hi) { -+ if (sizeof(unsigned long) > sizeof(uint32_t)) { -+ bar = hi; -+ /* It's REALLY interesting:-) */ -+ bar <<=32; -+ } -+ else { -+ printf("Unhandled 64bit BAR\n"); -+ return -1UL; -+ } -+ } -+ } -+ bar |= lo & PCI_BASE_ADDRESS_MEM_MASK; -+ } -+ return bar + pcibios_bus_base(dev->bus); -+} -+ -+/* -+ * Find the size of a pci resource. -+ */ -+unsigned long pci_bar_size(struct pci_device *dev, unsigned int bar) -+{ -+ uint32_t start, size; -+ /* Save the original bar */ -+ pci_read_config_dword(dev, bar, &start); -+ /* Compute which bits can be set */ -+ pci_write_config_dword(dev, bar, ~0); -+ pci_read_config_dword(dev, bar, &size); -+ /* Restore the original size */ -+ pci_write_config_dword(dev, bar, start); -+ /* Find the significant bits */ -+ if (start & PCI_BASE_ADDRESS_SPACE_IO) { -+ size &= PCI_BASE_ADDRESS_IO_MASK; -+ } else { -+ size &= PCI_BASE_ADDRESS_MEM_MASK; -+ } -+ /* Find the lowest bit set */ -+ size = size & ~(size - 1); -+ return size; -+} -+ -+/** -+ * pci_find_capability - query for devices' capabilities -+ * @dev: PCI device to query -+ * @cap: capability code -+ * -+ * Tell if a device supports a given PCI capability. -+ * Returns the address of the requested capability structure within the -+ * device's PCI configuration space or 0 in case the device does not -+ * support it. Possible values for @cap: -+ * -+ * %PCI_CAP_ID_PM Power Management -+ * -+ * %PCI_CAP_ID_AGP Accelerated Graphics Port -+ * -+ * %PCI_CAP_ID_VPD Vital Product Data -+ * -+ * %PCI_CAP_ID_SLOTID Slot Identification -+ * -+ * %PCI_CAP_ID_MSI Message Signalled Interrupts -+ * -+ * %PCI_CAP_ID_CHSWP CompactPCI HotSwap -+ */ -+int pci_find_capability(struct pci_device *dev, int cap) -+{ -+ uint16_t status; -+ uint8_t pos, id; -+ uint8_t hdr_type; -+ int ttl = 48; -+ -+ pci_read_config_word(dev, PCI_STATUS, &status); -+ if (!(status & PCI_STATUS_CAP_LIST)) -+ return 0; -+ pci_read_config_byte(dev, PCI_HEADER_TYPE, &hdr_type); -+ switch (hdr_type & 0x7F) { -+ case PCI_HEADER_TYPE_NORMAL: -+ case PCI_HEADER_TYPE_BRIDGE: -+ default: -+ pci_read_config_byte(dev, PCI_CAPABILITY_LIST, &pos); -+ break; -+ case PCI_HEADER_TYPE_CARDBUS: -+ pci_read_config_byte(dev, PCI_CB_CAPABILITY_LIST, &pos); -+ break; -+ } -+ while (ttl-- && pos >= 0x40) { -+ pos &= ~3; -+ pci_read_config_byte(dev, pos + PCI_CAP_LIST_ID, &id); -+#if DEBUG > 0 -+ printf("Capability: %d\n", id); -+#endif -+ if (id == 0xff) -+ break; -+ if (id == cap) -+ return pos; -+ pci_read_config_byte(dev, pos + PCI_CAP_LIST_NEXT, &pos); -+ } -+ return 0; -+} -+ -Index: b/netboot/pci.h -=================================================================== ---- a/netboot/pci.h -+++ b/netboot/pci.h -@@ -1,4 +1,4 @@ --#ifndef PCI_H -+#if !defined(PCI_H) && defined(CONFIG_PCI) - #define PCI_H - - /* -@@ -21,10 +21,19 @@ - * your option) any later version. - */ - -+#include "pci_ids.h" -+ - #define PCI_COMMAND_IO 0x1 /* Enable response in I/O space */ - #define PCI_COMMAND_MEM 0x2 /* Enable response in mem space */ - #define PCI_COMMAND_MASTER 0x4 /* Enable bus mastering */ - #define PCI_LATENCY_TIMER 0x0d /* 8 bits */ -+#define PCI_COMMAND_SPECIAL 0x8 /* Enable response to special cycles */ -+#define PCI_COMMAND_INVALIDATE 0x10 /* Use memory write and invalidate */ -+#define PCI_COMMAND_VGA_PALETTE 0x20 /* Enable palette snooping */ -+#define PCI_COMMAND_PARITY 0x40 /* Enable parity checking */ -+#define PCI_COMMAND_WAIT 0x80 /* Enable address/data stepping */ -+#define PCI_COMMAND_SERR 0x100 /* Enable SERR */ -+#define PCI_COMMAND_FAST_BACK 0x200 /* Enable back-to-back writes */ - - #define PCIBIOS_PCI_FUNCTION_ID 0xb1XX - #define PCIBIOS_PCI_BIOS_PRESENT 0xb101 -@@ -42,10 +51,37 @@ - #define PCI_DEVICE_ID 0x02 /* 16 bits */ - #define PCI_COMMAND 0x04 /* 16 bits */ - -+#define PCI_STATUS 0x06 /* 16 bits */ -+#define PCI_STATUS_CAP_LIST 0x10 /* Support Capability List */ -+#define PCI_STATUS_66MHZ 0x20 /* Support 66 Mhz PCI 2.1 bus */ -+#define PCI_STATUS_UDF 0x40 /* Support User Definable Features [obsolete] */ -+#define PCI_STATUS_FAST_BACK 0x80 /* Accept fast-back to back */ -+#define PCI_STATUS_PARITY 0x100 /* Detected parity error */ -+#define PCI_STATUS_DEVSEL_MASK 0x600 /* DEVSEL timing */ -+#define PCI_STATUS_DEVSEL_FAST 0x000 -+#define PCI_STATUS_DEVSEL_MEDIUM 0x200 -+#define PCI_STATUS_DEVSEL_SLOW 0x400 -+#define PCI_STATUS_SIG_TARGET_ABORT 0x800 /* Set on target abort */ -+#define PCI_STATUS_REC_TARGET_ABORT 0x1000 /* Master ack of " */ -+#define PCI_STATUS_REC_MASTER_ABORT 0x2000 /* Set on master abort */ -+#define PCI_STATUS_SIG_SYSTEM_ERROR 0x4000 /* Set when we drive SERR */ -+#define PCI_STATUS_DETECTED_PARITY 0x8000 /* Set on parity error */ -+ - #define PCI_REVISION 0x08 /* 8 bits */ -+#define PCI_REVISION_ID 0x08 /* 8 bits */ -+#define PCI_CLASS_REVISION 0x08 /* 32 bits */ - #define PCI_CLASS_CODE 0x0b /* 8 bits */ - #define PCI_SUBCLASS_CODE 0x0a /* 8 bits */ - #define PCI_HEADER_TYPE 0x0e /* 8 bits */ -+#define PCI_HEADER_TYPE_NORMAL 0 -+#define PCI_HEADER_TYPE_BRIDGE 1 -+#define PCI_HEADER_TYPE_CARDBUS 2 -+ -+ -+/* Header type 0 (normal devices) */ -+#define PCI_CARDBUS_CIS 0x28 -+#define PCI_SUBSYSTEM_VENDOR_ID 0x2c -+#define PCI_SUBSYSTEM_ID 0x2e - - #define PCI_BASE_ADDRESS_0 0x10 /* 32 bits */ - #define PCI_BASE_ADDRESS_1 0x14 /* 32 bits */ -@@ -54,15 +90,155 @@ - #define PCI_BASE_ADDRESS_4 0x20 /* 32 bits */ - #define PCI_BASE_ADDRESS_5 0x24 /* 32 bits */ - -+#define PCI_BASE_ADDRESS_MEM_TYPE_MASK 0x06 -+#define PCI_BASE_ADDRESS_MEM_TYPE_32 0x00 /* 32 bit address */ -+#define PCI_BASE_ADDRESS_MEM_TYPE_1M 0x02 /* Below 1M [obsolete] */ -+#define PCI_BASE_ADDRESS_MEM_TYPE_64 0x04 /* 64 bit address */ -+ - #ifndef PCI_BASE_ADDRESS_IO_MASK - #define PCI_BASE_ADDRESS_IO_MASK (~0x03) - #endif -+#ifndef PCI_BASE_ADDRESS_MEM_MASK -+#define PCI_BASE_ADDRESS_MEM_MASK (~0x0f) -+#endif - #define PCI_BASE_ADDRESS_SPACE_IO 0x01 - #define PCI_ROM_ADDRESS 0x30 /* 32 bits */ - #define PCI_ROM_ADDRESS_ENABLE 0x01 /* Write 1 to enable ROM, - bits 31..11 are address, - 10..2 are reserved */ - -+#define PCI_CAPABILITY_LIST 0x34 /* Offset of first capability list entry */ -+ -+#define PCI_INTERRUPT_LINE 0x3c /* IRQ number (0-15) */ -+#define PCI_INTERRUPT_PIN 0x3d /* IRQ pin on PCI bus (A-D) */ -+ -+/* Header type 1 (PCI-to-PCI bridges) */ -+#define PCI_PRIMARY_BUS 0x18 /* Primary bus number */ -+#define PCI_SECONDARY_BUS 0x19 /* Secondary bus number */ -+#define PCI_SUBORDINATE_BUS 0x1a /* Highest bus number behind the bridge */ -+#define PCI_SEC_LATENCY_TIMER 0x1b /* Latency timer for secondary interface */ -+#define PCI_IO_BASE 0x1c /* I/O range behind the bridge */ -+#define PCI_IO_LIMIT 0x1d -+#define PCI_IO_RANGE_TYPE_MASK 0x0f /* I/O bridging type */ -+#define PCI_IO_RANGE_TYPE_16 0x00 -+#define PCI_IO_RANGE_TYPE_32 0x01 -+#define PCI_IO_RANGE_MASK ~0x0f -+#define PCI_SEC_STATUS 0x1e /* Secondary status register, only bit 14 used */ -+#define PCI_MEMORY_BASE 0x20 /* Memory range behind */ -+#define PCI_MEMORY_LIMIT 0x22 -+#define PCI_MEMORY_RANGE_TYPE_MASK 0x0f -+#define PCI_MEMORY_RANGE_MASK ~0x0f -+#define PCI_PREF_MEMORY_BASE 0x24 /* Prefetchable memory range behind */ -+#define PCI_PREF_MEMORY_LIMIT 0x26 -+#define PCI_PREF_RANGE_TYPE_MASK 0x0f -+#define PCI_PREF_RANGE_TYPE_32 0x00 -+#define PCI_PREF_RANGE_TYPE_64 0x01 -+#define PCI_PREF_RANGE_MASK ~0x0f -+#define PCI_PREF_BASE_UPPER32 0x28 /* Upper half of prefetchable memory range */ -+#define PCI_PREF_LIMIT_UPPER32 0x2c -+#define PCI_IO_BASE_UPPER16 0x30 /* Upper half of I/O addresses */ -+#define PCI_IO_LIMIT_UPPER16 0x32 -+/* 0x34 same as for htype 0 */ -+/* 0x35-0x3b is reserved */ -+#define PCI_ROM_ADDRESS1 0x38 /* Same as PCI_ROM_ADDRESS, but for htype 1 */ -+/* 0x3c-0x3d are same as for htype 0 */ -+#define PCI_BRIDGE_CONTROL 0x3e -+#define PCI_BRIDGE_CTL_PARITY 0x01 /* Enable parity detection on secondary interface */ -+#define PCI_BRIDGE_CTL_SERR 0x02 /* The same for SERR forwarding */ -+#define PCI_BRIDGE_CTL_NO_ISA 0x04 /* Disable bridging of ISA ports */ -+#define PCI_BRIDGE_CTL_VGA 0x08 /* Forward VGA addresses */ -+#define PCI_BRIDGE_CTL_MASTER_ABORT 0x20 /* Report master aborts */ -+#define PCI_BRIDGE_CTL_BUS_RESET 0x40 /* Secondary bus reset */ -+#define PCI_BRIDGE_CTL_FAST_BACK 0x80 /* Fast Back2Back enabled on secondary interface */ -+ -+#define PCI_CB_CAPABILITY_LIST 0x14 -+ -+/* Capability lists */ -+ -+#define PCI_CAP_LIST_ID 0 /* Capability ID */ -+#define PCI_CAP_ID_PM 0x01 /* Power Management */ -+#define PCI_CAP_ID_AGP 0x02 /* Accelerated Graphics Port */ -+#define PCI_CAP_ID_VPD 0x03 /* Vital Product Data */ -+#define PCI_CAP_ID_SLOTID 0x04 /* Slot Identification */ -+#define PCI_CAP_ID_MSI 0x05 /* Message Signalled Interrupts */ -+#define PCI_CAP_ID_CHSWP 0x06 /* CompactPCI HotSwap */ -+#define PCI_CAP_LIST_NEXT 1 /* Next capability in the list */ -+#define PCI_CAP_FLAGS 2 /* Capability defined flags (16 bits) */ -+#define PCI_CAP_SIZEOF 4 -+ -+/* Power Management Registers */ -+ -+#define PCI_PM_PMC 2 /* PM Capabilities Register */ -+#define PCI_PM_CAP_VER_MASK 0x0007 /* Version */ -+#define PCI_PM_CAP_PME_CLOCK 0x0008 /* PME clock required */ -+#define PCI_PM_CAP_RESERVED 0x0010 /* Reserved field */ -+#define PCI_PM_CAP_DSI 0x0020 /* Device specific initialization */ -+#define PCI_PM_CAP_AUX_POWER 0x01C0 /* Auxilliary power support mask */ -+#define PCI_PM_CAP_D1 0x0200 /* D1 power state support */ -+#define PCI_PM_CAP_D2 0x0400 /* D2 power state support */ -+#define PCI_PM_CAP_PME 0x0800 /* PME pin supported */ -+#define PCI_PM_CAP_PME_MASK 0xF800 /* PME Mask of all supported states */ -+#define PCI_PM_CAP_PME_D0 0x0800 /* PME# from D0 */ -+#define PCI_PM_CAP_PME_D1 0x1000 /* PME# from D1 */ -+#define PCI_PM_CAP_PME_D2 0x2000 /* PME# from D2 */ -+#define PCI_PM_CAP_PME_D3 0x4000 /* PME# from D3 (hot) */ -+#define PCI_PM_CAP_PME_D3cold 0x8000 /* PME# from D3 (cold) */ -+#define PCI_PM_CTRL 4 /* PM control and status register */ -+#define PCI_PM_CTRL_STATE_MASK 0x0003 /* Current power state (D0 to D3) */ -+#define PCI_PM_CTRL_PME_ENABLE 0x0100 /* PME pin enable */ -+#define PCI_PM_CTRL_DATA_SEL_MASK 0x1e00 /* Data select (??) */ -+#define PCI_PM_CTRL_DATA_SCALE_MASK 0x6000 /* Data scale (??) */ -+#define PCI_PM_CTRL_PME_STATUS 0x8000 /* PME pin status */ -+#define PCI_PM_PPB_EXTENSIONS 6 /* PPB support extensions (??) */ -+#define PCI_PM_PPB_B2_B3 0x40 /* Stop clock when in D3hot (??) */ -+#define PCI_PM_BPCC_ENABLE 0x80 /* Bus power/clock control enable (??) */ -+#define PCI_PM_DATA_REGISTER 7 /* (??) */ -+#define PCI_PM_SIZEOF 8 -+ -+/* AGP registers */ -+ -+#define PCI_AGP_VERSION 2 /* BCD version number */ -+#define PCI_AGP_RFU 3 /* Rest of capability flags */ -+#define PCI_AGP_STATUS 4 /* Status register */ -+#define PCI_AGP_STATUS_RQ_MASK 0xff000000 /* Maximum number of requests - 1 */ -+#define PCI_AGP_STATUS_SBA 0x0200 /* Sideband addressing supported */ -+#define PCI_AGP_STATUS_64BIT 0x0020 /* 64-bit addressing supported */ -+#define PCI_AGP_STATUS_FW 0x0010 /* FW transfers supported */ -+#define PCI_AGP_STATUS_RATE4 0x0004 /* 4x transfer rate supported */ -+#define PCI_AGP_STATUS_RATE2 0x0002 /* 2x transfer rate supported */ -+#define PCI_AGP_STATUS_RATE1 0x0001 /* 1x transfer rate supported */ -+#define PCI_AGP_COMMAND 8 /* Control register */ -+#define PCI_AGP_COMMAND_RQ_MASK 0xff000000 /* Master: Maximum number of requests */ -+#define PCI_AGP_COMMAND_SBA 0x0200 /* Sideband addressing enabled */ -+#define PCI_AGP_COMMAND_AGP 0x0100 /* Allow processing of AGP transactions */ -+#define PCI_AGP_COMMAND_64BIT 0x0020 /* Allow processing of 64-bit addresses */ -+#define PCI_AGP_COMMAND_FW 0x0010 /* Force FW transfers */ -+#define PCI_AGP_COMMAND_RATE4 0x0004 /* Use 4x rate */ -+#define PCI_AGP_COMMAND_RATE2 0x0002 /* Use 2x rate */ -+#define PCI_AGP_COMMAND_RATE1 0x0001 /* Use 1x rate */ -+#define PCI_AGP_SIZEOF 12 -+ -+/* Slot Identification */ -+ -+#define PCI_SID_ESR 2 /* Expansion Slot Register */ -+#define PCI_SID_ESR_NSLOTS 0x1f /* Number of expansion slots available */ -+#define PCI_SID_ESR_FIC 0x20 /* First In Chassis Flag */ -+#define PCI_SID_CHASSIS_NR 3 /* Chassis Number */ -+ -+/* Message Signalled Interrupts registers */ -+ -+#define PCI_MSI_FLAGS 2 /* Various flags */ -+#define PCI_MSI_FLAGS_64BIT 0x80 /* 64-bit addresses allowed */ -+#define PCI_MSI_FLAGS_QSIZE 0x70 /* Message queue size configured */ -+#define PCI_MSI_FLAGS_QMASK 0x0e /* Maximum queue size available */ -+#define PCI_MSI_FLAGS_ENABLE 0x01 /* MSI feature enabled */ -+#define PCI_MSI_RFU 3 /* Rest of capability flags */ -+#define PCI_MSI_ADDRESS_LO 4 /* Lower 32 bits */ -+#define PCI_MSI_ADDRESS_HI 8 /* Upper 32 bits (if PCI_MSI_FLAGS_64BIT set) */ -+#define PCI_MSI_DATA_32 8 /* 16 bits of data for 32-bit devices */ -+#define PCI_MSI_DATA_64 12 /* 16 bits of data for 64-bit devices */ -+ -+#define PCI_SLOT(devfn) ((devfn) >> 3) - #define PCI_FUNC(devfn) ((devfn) & 0x07) - - #define BIOS32_SIGNATURE (('_' << 0) + ('3' << 8) + ('2' << 16) + ('_' << 24)) -@@ -85,108 +261,97 @@ - char chars[16]; - }; - --#define KERN_CODE_SEG 0x8 /* This _MUST_ match start.S */ -- --/* Stuff for asm */ --#define save_flags(x) \ --__asm__ __volatile__("pushfl ; popl %0":"=g" (x): /* no input */ :"memory") -- --#define cli() __asm__ __volatile__ ("cli": : :"memory") -- --#define restore_flags(x) \ --__asm__ __volatile__("pushl %0 ; popfl": /* no output */ :"g" (x):"memory") -- --#define PCI_VENDOR_ID_ADMTEK 0x1317 --#define PCI_DEVICE_ID_ADMTEK_0985 0x0985 --#define PCI_VENDOR_ID_REALTEK 0x10ec --#define PCI_DEVICE_ID_REALTEK_8029 0x8029 --#define PCI_DEVICE_ID_REALTEK_8139 0x8139 --#define PCI_VENDOR_ID_WINBOND2 0x1050 --#define PCI_DEVICE_ID_WINBOND2_89C940 0x0940 --#define PCI_DEVICE_ID_WINBOND2_89C840 0x0840 --#define PCI_VENDOR_ID_COMPEX 0x11f6 --#define PCI_DEVICE_ID_COMPEX_RL2000 0x1401 --#define PCI_DEVICE_ID_COMPEX_RL100ATX 0x2011 --#define PCI_VENDOR_ID_KTI 0x8e2e --#define PCI_DEVICE_ID_KTI_ET32P2 0x3000 --#define PCI_VENDOR_ID_NETVIN 0x4a14 --#define PCI_DEVICE_ID_NETVIN_NV5000SC 0x5000 --#define PCI_VENDOR_ID_HOLTEK 0x12c3 --#define PCI_DEVICE_ID_HOLTEK_HT80232 0x0058 --#define PCI_VENDOR_ID_3COM 0x10b7 --#define PCI_DEVICE_ID_3COM_3C590 0x5900 --#define PCI_DEVICE_ID_3COM_3C595 0x5950 --#define PCI_DEVICE_ID_3COM_3C595_1 0x5951 --#define PCI_DEVICE_ID_3COM_3C595_2 0x5952 --#define PCI_DEVICE_ID_3COM_3C900TPO 0x9000 --#define PCI_DEVICE_ID_3COM_3C900COMBO 0x9001 --#define PCI_DEVICE_ID_3COM_3C905TX 0x9050 --#define PCI_DEVICE_ID_3COM_3C905T4 0x9051 --#define PCI_DEVICE_ID_3COM_3C905B_TX 0x9055 --#define PCI_DEVICE_ID_3COM_3C905C_TXM 0x9200 --#define PCI_VENDOR_ID_INTEL 0x8086 --#define PCI_DEVICE_ID_INTEL_82557 0x1229 --#define PCI_DEVICE_ID_INTEL_82559ER 0x1209 --#define PCI_DEVICE_ID_INTEL_ID1029 0x1029 --#define PCI_DEVICE_ID_INTEL_ID1030 0x1030 --#define PCI_DEVICE_ID_INTEL_82562 0x2449 --#define PCI_VENDOR_ID_AMD 0x1022 --#define PCI_DEVICE_ID_AMD_LANCE 0x2000 --#define PCI_VENDOR_ID_AMD_HOMEPNA 0x1022 --#define PCI_DEVICE_ID_AMD_HOMEPNA 0x2001 --#define PCI_VENDOR_ID_SMC_1211 0x1113 --#define PCI_DEVICE_ID_SMC_1211 0x1211 --#define PCI_VENDOR_ID_DEC 0x1011 --#define PCI_DEVICE_ID_DEC_TULIP 0x0002 --#define PCI_DEVICE_ID_DEC_TULIP_FAST 0x0009 --#define PCI_DEVICE_ID_DEC_TULIP_PLUS 0x0014 --#define PCI_DEVICE_ID_DEC_21142 0x0019 --#define PCI_VENDOR_ID_SMC 0x10B8 --#ifndef PCI_DEVICE_ID_SMC_EPIC100 --# define PCI_DEVICE_ID_SMC_EPIC100 0x0005 --#endif --#define PCI_VENDOR_ID_MACRONIX 0x10d9 --#define PCI_DEVICE_ID_MX987x5 0x0531 --#define PCI_VENDOR_ID_LINKSYS 0x11AD --#define PCI_DEVICE_ID_LC82C115 0xC115 --#define PCI_VENDOR_ID_VIATEC 0x1106 --#define PCI_DEVICE_ID_VIA_RHINE_I 0x3043 --#define PCI_DEVICE_ID_VIA_VT6102 0x3065 --#define PCI_DEVICE_ID_VIA_86C100A 0x6100 --#define PCI_VENDOR_ID_DAVICOM 0x1282 --#define PCI_DEVICE_ID_DM9009 0x9009 --#define PCI_DEVICE_ID_DM9102 0x9102 --#define PCI_VENDOR_ID_SIS 0x1039 --#define PCI_DEVICE_ID_SIS900 0x0900 --#define PCI_DEVICE_ID_SIS7016 0x7016 --#define PCI_VENDOR_ID_DLINK 0x1186 --#define PCI_DEVICE_ID_DFE530TXP 0x1300 --#define PCI_VENDOR_ID_NS 0x100B --#define PCI_DEVICE_ID_DP83815 0x0020 --#define PCI_VENDOR_ID_OLICOM 0x108d --#define PCI_DEVICE_ID_OLICOM_OC3136 0x0001 --#define PCI_DEVICE_ID_OLICOM_OC2315 0x0011 --#define PCI_DEVICE_ID_OLICOM_OC2325 0x0012 --#define PCI_DEVICE_ID_OLICOM_OC2183 0x0013 --#define PCI_DEVICE_ID_OLICOM_OC2326 0x0014 --#define PCI_DEVICE_ID_OLICOM_OC6151 0x0021 -+struct pci_device; -+struct dev; -+typedef int (*pci_probe_t)(struct dev *, struct pci_device *); - - struct pci_device { -- unsigned short vendor, dev_id; -- const char *name; -- unsigned int membase; -- unsigned short ioaddr; -- unsigned char devfn; -- unsigned char bus; -+ uint32_t class; -+ uint16_t vendor, dev_id; -+ const char *name; -+ /* membase and ioaddr are silly and depricated */ -+ unsigned int membase; -+ unsigned int ioaddr; -+ unsigned int romaddr; -+ unsigned char irq; -+ unsigned char devfn; -+ unsigned char bus; -+ unsigned char use_specified; -+ const struct pci_driver *driver; -+}; -+ -+extern void scan_pci_bus(int type, struct pci_device *dev); -+extern void find_pci(int type, struct pci_device *dev); -+ -+extern int pcibios_read_config_byte(unsigned int bus, unsigned int device_fn, unsigned int where, uint8_t *value); -+extern int pcibios_write_config_byte (unsigned int bus, unsigned int device_fn, unsigned int where, uint8_t value); -+extern int pcibios_read_config_word(unsigned int bus, unsigned int device_fn, unsigned int where, uint16_t *value); -+extern int pcibios_write_config_word (unsigned int bus, unsigned int device_fn, unsigned int where, uint16_t value); -+extern int pcibios_read_config_dword(unsigned int bus, unsigned int device_fn, unsigned int where, uint32_t *value); -+extern int pcibios_write_config_dword(unsigned int bus, unsigned int device_fn, unsigned int where, uint32_t value); -+extern unsigned long pcibios_bus_base(unsigned int bus); -+extern void adjust_pci_device(struct pci_device *p); -+ -+ -+static inline int -+pci_read_config_byte(struct pci_device *dev, unsigned int where, uint8_t *value) -+{ -+ return pcibios_read_config_byte(dev->bus, dev->devfn, where, value); -+} -+static inline int -+pci_write_config_byte(struct pci_device *dev, unsigned int where, uint8_t value) -+{ -+ return pcibios_write_config_byte(dev->bus, dev->devfn, where, value); -+} -+static inline int -+pci_read_config_word(struct pci_device *dev, unsigned int where, uint16_t *value) -+{ -+ return pcibios_read_config_word(dev->bus, dev->devfn, where, value); -+} -+static inline int -+pci_write_config_word(struct pci_device *dev, unsigned int where, uint16_t value) -+{ -+ return pcibios_write_config_word(dev->bus, dev->devfn, where, value); -+} -+static inline int -+pci_read_config_dword(struct pci_device *dev, unsigned int where, uint32_t *value) -+{ -+ return pcibios_read_config_dword(dev->bus, dev->devfn, where, value); -+} -+static inline int -+pci_write_config_dword(struct pci_device *dev, unsigned int where, uint32_t value) -+{ -+ return pcibios_write_config_dword(dev->bus, dev->devfn, where, value); -+} -+ -+/* Helper functions to find the size of a pci bar */ -+extern unsigned long pci_bar_start(struct pci_device *dev, unsigned int bar); -+extern unsigned long pci_bar_size(struct pci_device *dev, unsigned int bar); -+/* Helper function to find pci capabilities */ -+extern int pci_find_capability(struct pci_device *dev, int cap); -+struct pci_id { -+ unsigned short vendor, dev_id; -+ const char *name; -+}; -+ -+struct dev; -+/* Most pci drivers will use this */ -+struct pci_driver { -+ int type; -+ const char *name; -+ pci_probe_t probe; -+ struct pci_id *ids; -+ int id_count; -+ -+/* On a few occasions the hardware is standardized enough that -+ * we only need to know the class of the device and not the exact -+ * type to drive the device correctly. If this is the case -+ * set a class value other than 0. -+ */ -+ unsigned short class; - }; - --extern void eth_pci_init(struct pci_device *); -+#define PCI_ROM(VENDOR_ID, DEVICE_ID, IMAGE, DESCRIPTION) \ -+ { VENDOR_ID, DEVICE_ID, IMAGE, } - --extern int pcibios_read_config_byte(unsigned int bus, unsigned int device_fn, unsigned int where, unsigned char *value); --extern int pcibios_write_config_byte (unsigned int bus, unsigned int device_fn, unsigned int where, unsigned char value); --extern int pcibios_read_config_word(unsigned int bus, unsigned int device_fn, unsigned int where, unsigned short *value); --extern int pcibios_write_config_word (unsigned int bus, unsigned int device_fn, unsigned int where, unsigned short value); --extern int pcibios_read_config_dword(unsigned int bus, unsigned int device_fn, unsigned int where, unsigned int *value); --extern int pcibios_write_config_dword(unsigned int bus, unsigned int device_fn, unsigned int where, unsigned int value); --void adjust_pci_device(struct pci_device *p); - #endif /* PCI_H */ -Index: b/netboot/pci_ids.h -=================================================================== ---- /dev/null -+++ b/netboot/pci_ids.h -@@ -0,0 +1,1809 @@ -+/* -+ * PCI Class, Vendor and Device IDs -+ * -+ * Please keep sorted. -+ */ -+ -+/* Device classes and subclasses */ -+ -+#define PCI_CLASS_NOT_DEFINED 0x0000 -+#define PCI_CLASS_NOT_DEFINED_VGA 0x0001 -+ -+#define PCI_BASE_CLASS_STORAGE 0x01 -+#define PCI_CLASS_STORAGE_SCSI 0x0100 -+#define PCI_CLASS_STORAGE_IDE 0x0101 -+#define PCI_CLASS_STORAGE_FLOPPY 0x0102 -+#define PCI_CLASS_STORAGE_IPI 0x0103 -+#define PCI_CLASS_STORAGE_RAID 0x0104 -+#define PCI_CLASS_STORAGE_OTHER 0x0180 -+ -+#define PCI_BASE_CLASS_NETWORK 0x02 -+#define PCI_CLASS_NETWORK_ETHERNET 0x0200 -+#define PCI_CLASS_NETWORK_TOKEN_RING 0x0201 -+#define PCI_CLASS_NETWORK_FDDI 0x0202 -+#define PCI_CLASS_NETWORK_ATM 0x0203 -+#define PCI_CLASS_NETWORK_OTHER 0x0280 -+ -+#define PCI_BASE_CLASS_DISPLAY 0x03 -+#define PCI_CLASS_DISPLAY_VGA 0x0300 -+#define PCI_CLASS_DISPLAY_XGA 0x0301 -+#define PCI_CLASS_DISPLAY_3D 0x0302 -+#define PCI_CLASS_DISPLAY_OTHER 0x0380 -+ -+#define PCI_BASE_CLASS_MULTIMEDIA 0x04 -+#define PCI_CLASS_MULTIMEDIA_VIDEO 0x0400 -+#define PCI_CLASS_MULTIMEDIA_AUDIO 0x0401 -+#define PCI_CLASS_MULTIMEDIA_PHONE 0x0402 -+#define PCI_CLASS_MULTIMEDIA_OTHER 0x0480 -+ -+#define PCI_BASE_CLASS_MEMORY 0x05 -+#define PCI_CLASS_MEMORY_RAM 0x0500 -+#define PCI_CLASS_MEMORY_FLASH 0x0501 -+#define PCI_CLASS_MEMORY_OTHER 0x0580 -+ -+#define PCI_BASE_CLASS_BRIDGE 0x06 -+#define PCI_CLASS_BRIDGE_HOST 0x0600 -+#define PCI_CLASS_BRIDGE_ISA 0x0601 -+#define PCI_CLASS_BRIDGE_EISA 0x0602 -+#define PCI_CLASS_BRIDGE_MC 0x0603 -+#define PCI_CLASS_BRIDGE_PCI 0x0604 -+#define PCI_CLASS_BRIDGE_PCMCIA 0x0605 -+#define PCI_CLASS_BRIDGE_NUBUS 0x0606 -+#define PCI_CLASS_BRIDGE_CARDBUS 0x0607 -+#define PCI_CLASS_BRIDGE_RACEWAY 0x0608 -+#define PCI_CLASS_BRIDGE_OTHER 0x0680 -+ -+#define PCI_BASE_CLASS_COMMUNICATION 0x07 -+#define PCI_CLASS_COMMUNICATION_SERIAL 0x0700 -+#define PCI_CLASS_COMMUNICATION_PARALLEL 0x0701 -+#define PCI_CLASS_COMMUNICATION_MULTISERIAL 0x0702 -+#define PCI_CLASS_COMMUNICATION_MODEM 0x0703 -+#define PCI_CLASS_COMMUNICATION_OTHER 0x0780 -+ -+#define PCI_BASE_CLASS_SYSTEM 0x08 -+#define PCI_CLASS_SYSTEM_PIC 0x0800 -+#define PCI_CLASS_SYSTEM_DMA 0x0801 -+#define PCI_CLASS_SYSTEM_TIMER 0x0802 -+#define PCI_CLASS_SYSTEM_RTC 0x0803 -+#define PCI_CLASS_SYSTEM_PCI_HOTPLUG 0x0804 -+#define PCI_CLASS_SYSTEM_OTHER 0x0880 -+ -+#define PCI_BASE_CLASS_INPUT 0x09 -+#define PCI_CLASS_INPUT_KEYBOARD 0x0900 -+#define PCI_CLASS_INPUT_PEN 0x0901 -+#define PCI_CLASS_INPUT_MOUSE 0x0902 -+#define PCI_CLASS_INPUT_SCANNER 0x0903 -+#define PCI_CLASS_INPUT_GAMEPORT 0x0904 -+#define PCI_CLASS_INPUT_OTHER 0x0980 -+ -+#define PCI_BASE_CLASS_DOCKING 0x0a -+#define PCI_CLASS_DOCKING_GENERIC 0x0a00 -+#define PCI_CLASS_DOCKING_OTHER 0x0a80 -+ -+#define PCI_BASE_CLASS_PROCESSOR 0x0b -+#define PCI_CLASS_PROCESSOR_386 0x0b00 -+#define PCI_CLASS_PROCESSOR_486 0x0b01 -+#define PCI_CLASS_PROCESSOR_PENTIUM 0x0b02 -+#define PCI_CLASS_PROCESSOR_ALPHA 0x0b10 -+#define PCI_CLASS_PROCESSOR_POWERPC 0x0b20 -+#define PCI_CLASS_PROCESSOR_MIPS 0x0b30 -+#define PCI_CLASS_PROCESSOR_CO 0x0b40 -+ -+#define PCI_BASE_CLASS_SERIAL 0x0c -+#define PCI_CLASS_SERIAL_FIREWIRE 0x0c00 -+#define PCI_CLASS_SERIAL_ACCESS 0x0c01 -+#define PCI_CLASS_SERIAL_SSA 0x0c02 -+#define PCI_CLASS_SERIAL_USB 0x0c03 -+#define PCI_CLASS_SERIAL_FIBER 0x0c04 -+#define PCI_CLASS_SERIAL_SMBUS 0x0c05 -+ -+#define PCI_BASE_CLASS_INTELLIGENT 0x0e -+#define PCI_CLASS_INTELLIGENT_I2O 0x0e00 -+ -+#define PCI_BASE_CLASS_SATELLITE 0x0f -+#define PCI_CLASS_SATELLITE_TV 0x0f00 -+#define PCI_CLASS_SATELLITE_AUDIO 0x0f01 -+#define PCI_CLASS_SATELLITE_VOICE 0x0f03 -+#define PCI_CLASS_SATELLITE_DATA 0x0f04 -+ -+#define PCI_BASE_CLASS_CRYPT 0x10 -+#define PCI_CLASS_CRYPT_NETWORK 0x1000 -+#define PCI_CLASS_CRYPT_ENTERTAINMENT 0x1001 -+#define PCI_CLASS_CRYPT_OTHER 0x1080 -+ -+#define PCI_BASE_CLASS_SIGNAL_PROCESSING 0x11 -+#define PCI_CLASS_SP_DPIO 0x1100 -+#define PCI_CLASS_SP_OTHER 0x1180 -+ -+#define PCI_CLASS_OTHERS 0xff -+ -+/* Vendors and devices. Sort key: vendor first, device next. */ -+ -+#define PCI_VENDOR_ID_DYNALINK 0x0675 -+#define PCI_DEVICE_ID_DYNALINK_IS64PH 0x1702 -+ -+#define PCI_VENDOR_ID_BERKOM 0x0871 -+#define PCI_DEVICE_ID_BERKOM_A1T 0xffa1 -+#define PCI_DEVICE_ID_BERKOM_T_CONCEPT 0xffa2 -+#define PCI_DEVICE_ID_BERKOM_A4T 0xffa4 -+#define PCI_DEVICE_ID_BERKOM_SCITEL_QUADRO 0xffa8 -+ -+#define PCI_VENDOR_ID_COMPAQ 0x0e11 -+#define PCI_DEVICE_ID_COMPAQ_TOKENRING 0x0508 -+#define PCI_DEVICE_ID_COMPAQ_1280 0x3033 -+#define PCI_DEVICE_ID_COMPAQ_TRIFLEX 0x4000 -+#define PCI_DEVICE_ID_COMPAQ_6010 0x6010 -+#define PCI_DEVICE_ID_COMPAQ_SMART2P 0xae10 -+#define PCI_DEVICE_ID_COMPAQ_NETEL100 0xae32 -+#define PCI_DEVICE_ID_COMPAQ_NETEL10 0xae34 -+#define PCI_DEVICE_ID_COMPAQ_NETFLEX3I 0xae35 -+#define PCI_DEVICE_ID_COMPAQ_NETEL100D 0xae40 -+#define PCI_DEVICE_ID_COMPAQ_NETEL100PI 0xae43 -+#define PCI_DEVICE_ID_COMPAQ_NETEL100I 0xb011 -+#define PCI_DEVICE_ID_COMPAQ_CISS 0xb060 -+#define PCI_DEVICE_ID_COMPAQ_CISSB 0xb178 -+#define PCI_DEVICE_ID_COMPAQ_THUNDER 0xf130 -+#define PCI_DEVICE_ID_COMPAQ_NETFLEX3B 0xf150 -+ -+#define PCI_VENDOR_ID_NCR 0x1000 -+#define PCI_VENDOR_ID_LSI_LOGIC 0x1000 -+#define PCI_DEVICE_ID_NCR_53C810 0x0001 -+#define PCI_DEVICE_ID_NCR_53C820 0x0002 -+#define PCI_DEVICE_ID_NCR_53C825 0x0003 -+#define PCI_DEVICE_ID_NCR_53C815 0x0004 -+#define PCI_DEVICE_ID_LSI_53C810AP 0x0005 -+#define PCI_DEVICE_ID_NCR_53C860 0x0006 -+#define PCI_DEVICE_ID_LSI_53C1510 0x000a -+#define PCI_DEVICE_ID_NCR_53C896 0x000b -+#define PCI_DEVICE_ID_NCR_53C895 0x000c -+#define PCI_DEVICE_ID_NCR_53C885 0x000d -+#define PCI_DEVICE_ID_NCR_53C875 0x000f -+#define PCI_DEVICE_ID_NCR_53C1510 0x0010 -+#define PCI_DEVICE_ID_LSI_53C895A 0x0012 -+#define PCI_DEVICE_ID_LSI_53C875A 0x0013 -+#define PCI_DEVICE_ID_LSI_53C1010_33 0x0020 -+#define PCI_DEVICE_ID_LSI_53C1010_66 0x0021 -+#define PCI_DEVICE_ID_LSI_53C1030 0x0030 -+#define PCI_DEVICE_ID_LSI_53C1035 0x0040 -+#define PCI_DEVICE_ID_NCR_53C875J 0x008f -+#define PCI_DEVICE_ID_LSI_FC909 0x0621 -+#define PCI_DEVICE_ID_LSI_FC929 0x0622 -+#define PCI_DEVICE_ID_LSI_FC929_LAN 0x0623 -+#define PCI_DEVICE_ID_LSI_FC919 0x0624 -+#define PCI_DEVICE_ID_LSI_FC919_LAN 0x0625 -+#define PCI_DEVICE_ID_NCR_YELLOWFIN 0x0701 -+#define PCI_DEVICE_ID_LSI_61C102 0x0901 -+#define PCI_DEVICE_ID_LSI_63C815 0x1000 -+ -+#define PCI_VENDOR_ID_ATI 0x1002 -+/* Mach64 */ -+#define PCI_DEVICE_ID_ATI_68800 0x4158 -+#define PCI_DEVICE_ID_ATI_215CT222 0x4354 -+#define PCI_DEVICE_ID_ATI_210888CX 0x4358 -+#define PCI_DEVICE_ID_ATI_215ET222 0x4554 -+/* Mach64 / Rage */ -+#define PCI_DEVICE_ID_ATI_215GB 0x4742 -+#define PCI_DEVICE_ID_ATI_215GD 0x4744 -+#define PCI_DEVICE_ID_ATI_215GI 0x4749 -+#define PCI_DEVICE_ID_ATI_215GP 0x4750 -+#define PCI_DEVICE_ID_ATI_215GQ 0x4751 -+#define PCI_DEVICE_ID_ATI_215XL 0x4752 -+#define PCI_DEVICE_ID_ATI_215GT 0x4754 -+#define PCI_DEVICE_ID_ATI_215GTB 0x4755 -+#define PCI_DEVICE_ID_ATI_215_IV 0x4756 -+#define PCI_DEVICE_ID_ATI_215_IW 0x4757 -+#define PCI_DEVICE_ID_ATI_215_IZ 0x475A -+#define PCI_DEVICE_ID_ATI_210888GX 0x4758 -+#define PCI_DEVICE_ID_ATI_215_LB 0x4c42 -+#define PCI_DEVICE_ID_ATI_215_LD 0x4c44 -+#define PCI_DEVICE_ID_ATI_215_LG 0x4c47 -+#define PCI_DEVICE_ID_ATI_215_LI 0x4c49 -+#define PCI_DEVICE_ID_ATI_215_LM 0x4c4D -+#define PCI_DEVICE_ID_ATI_215_LN 0x4c4E -+#define PCI_DEVICE_ID_ATI_215_LR 0x4c52 -+#define PCI_DEVICE_ID_ATI_215_LS 0x4c53 -+#define PCI_DEVICE_ID_ATI_264_LT 0x4c54 -+/* Mach64 VT */ -+#define PCI_DEVICE_ID_ATI_264VT 0x5654 -+#define PCI_DEVICE_ID_ATI_264VU 0x5655 -+#define PCI_DEVICE_ID_ATI_264VV 0x5656 -+/* Rage128 Pro GL */ -+#define PCI_DEVICE_ID_ATI_Rage128_PA 0x5041 -+#define PCI_DEVICE_ID_ATI_Rage128_PB 0x5042 -+#define PCI_DEVICE_ID_ATI_Rage128_PC 0x5043 -+#define PCI_DEVICE_ID_ATI_Rage128_PD 0x5044 -+#define PCI_DEVICE_ID_ATI_Rage128_PE 0x5045 -+#define PCI_DEVICE_ID_ATI_RAGE128_PF 0x5046 -+/* Rage128 Pro VR */ -+#define PCI_DEVICE_ID_ATI_RAGE128_PG 0x5047 -+#define PCI_DEVICE_ID_ATI_RAGE128_PH 0x5048 -+#define PCI_DEVICE_ID_ATI_RAGE128_PI 0x5049 -+#define PCI_DEVICE_ID_ATI_RAGE128_PJ 0x504A -+#define PCI_DEVICE_ID_ATI_RAGE128_PK 0x504B -+#define PCI_DEVICE_ID_ATI_RAGE128_PL 0x504C -+#define PCI_DEVICE_ID_ATI_RAGE128_PM 0x504D -+#define PCI_DEVICE_ID_ATI_RAGE128_PN 0x504E -+#define PCI_DEVICE_ID_ATI_RAGE128_PO 0x504F -+#define PCI_DEVICE_ID_ATI_RAGE128_PP 0x5050 -+#define PCI_DEVICE_ID_ATI_RAGE128_PQ 0x5051 -+#define PCI_DEVICE_ID_ATI_RAGE128_PR 0x5052 -+#define PCI_DEVICE_ID_ATI_RAGE128_TR 0x5452 -+#define PCI_DEVICE_ID_ATI_RAGE128_PS 0x5053 -+#define PCI_DEVICE_ID_ATI_RAGE128_PT 0x5054 -+#define PCI_DEVICE_ID_ATI_RAGE128_PU 0x5055 -+#define PCI_DEVICE_ID_ATI_RAGE128_PV 0x5056 -+#define PCI_DEVICE_ID_ATI_RAGE128_PW 0x5057 -+#define PCI_DEVICE_ID_ATI_RAGE128_PX 0x5058 -+/* Rage128 GL */ -+#define PCI_DEVICE_ID_ATI_RAGE128_RE 0x5245 -+#define PCI_DEVICE_ID_ATI_RAGE128_RF 0x5246 -+#define PCI_DEVICE_ID_ATI_RAGE128_RG 0x534b -+#define PCI_DEVICE_ID_ATI_RAGE128_RH 0x534c -+#define PCI_DEVICE_ID_ATI_RAGE128_RI 0x534d -+/* Rage128 VR */ -+#define PCI_DEVICE_ID_ATI_RAGE128_RK 0x524b -+#define PCI_DEVICE_ID_ATI_RAGE128_RL 0x524c -+#define PCI_DEVICE_ID_ATI_RAGE128_RM 0x5345 -+#define PCI_DEVICE_ID_ATI_RAGE128_RN 0x5346 -+#define PCI_DEVICE_ID_ATI_RAGE128_RO 0x5347 -+/* Rage128 M3 */ -+#define PCI_DEVICE_ID_ATI_RAGE128_LE 0x4c45 -+#define PCI_DEVICE_ID_ATI_RAGE128_LF 0x4c46 -+/* Rage128 Pro Ultra */ -+#define PCI_DEVICE_ID_ATI_RAGE128_U1 0x5446 -+#define PCI_DEVICE_ID_ATI_RAGE128_U2 0x544C -+#define PCI_DEVICE_ID_ATI_RAGE128_U3 0x5452 -+/* Radeon M4 */ -+#define PCI_DEVICE_ID_ATI_RADEON_LE 0x4d45 -+#define PCI_DEVICE_ID_ATI_RADEON_LF 0x4d46 -+/* Radeon NV-100 */ -+#define PCI_DEVICE_ID_ATI_RADEON_N1 0x5159 -+#define PCI_DEVICE_ID_ATI_RADEON_N2 0x515a -+/* Radeon */ -+#define PCI_DEVICE_ID_ATI_RADEON_RA 0x5144 -+#define PCI_DEVICE_ID_ATI_RADEON_RB 0x5145 -+#define PCI_DEVICE_ID_ATI_RADEON_RC 0x5146 -+#define PCI_DEVICE_ID_ATI_RADEON_RD 0x5147 -+ -+#define PCI_VENDOR_ID_VLSI 0x1004 -+#define PCI_DEVICE_ID_VLSI_82C592 0x0005 -+#define PCI_DEVICE_ID_VLSI_82C593 0x0006 -+#define PCI_DEVICE_ID_VLSI_82C594 0x0007 -+#define PCI_DEVICE_ID_VLSI_82C597 0x0009 -+#define PCI_DEVICE_ID_VLSI_82C541 0x000c -+#define PCI_DEVICE_ID_VLSI_82C543 0x000d -+#define PCI_DEVICE_ID_VLSI_82C532 0x0101 -+#define PCI_DEVICE_ID_VLSI_82C534 0x0102 -+#define PCI_DEVICE_ID_VLSI_82C535 0x0104 -+#define PCI_DEVICE_ID_VLSI_82C147 0x0105 -+#define PCI_DEVICE_ID_VLSI_VAS96011 0x0702 -+ -+#define PCI_VENDOR_ID_ADL 0x1005 -+#define PCI_DEVICE_ID_ADL_2301 0x2301 -+ -+#define PCI_VENDOR_ID_NS 0x100b -+#define PCI_DEVICE_ID_NS_87415 0x0002 -+#define PCI_DEVICE_ID_NS_87560_LIO 0x000e -+#define PCI_DEVICE_ID_NS_87560_USB 0x0012 -+#define PCI_DEVICE_ID_NS_83815 0x0020 -+#define PCI_DEVICE_ID_DP83815 0x0020 -+#define PCI_DEVICE_ID_NS_83820 0x0022 -+#define PCI_DEVICE_ID_NS_87410 0xd001 -+ -+#define PCI_VENDOR_ID_TSENG 0x100c -+#define PCI_DEVICE_ID_TSENG_W32P_2 0x3202 -+#define PCI_DEVICE_ID_TSENG_W32P_b 0x3205 -+#define PCI_DEVICE_ID_TSENG_W32P_c 0x3206 -+#define PCI_DEVICE_ID_TSENG_W32P_d 0x3207 -+#define PCI_DEVICE_ID_TSENG_ET6000 0x3208 -+ -+#define PCI_VENDOR_ID_WEITEK 0x100e -+#define PCI_DEVICE_ID_WEITEK_P9000 0x9001 -+#define PCI_DEVICE_ID_WEITEK_P9100 0x9100 -+ -+#define PCI_VENDOR_ID_DEC 0x1011 -+#define PCI_DEVICE_ID_DEC_BRD 0x0001 -+#define PCI_DEVICE_ID_DEC_TULIP 0x0002 -+#define PCI_DEVICE_ID_DEC_TGA 0x0004 -+#define PCI_DEVICE_ID_DEC_TULIP_FAST 0x0009 -+#define PCI_DEVICE_ID_DEC_TGA2 0x000D -+#define PCI_DEVICE_ID_DEC_FDDI 0x000F -+#define PCI_DEVICE_ID_DEC_TULIP_PLUS 0x0014 -+#define PCI_DEVICE_ID_DEC_21142 0x0019 -+#define PCI_DEVICE_ID_DEC_21052 0x0021 -+#define PCI_DEVICE_ID_DEC_21150 0x0022 -+#define PCI_DEVICE_ID_DEC_21152 0x0024 -+#define PCI_DEVICE_ID_DEC_21153 0x0025 -+#define PCI_DEVICE_ID_DEC_21154 0x0026 -+#define PCI_DEVICE_ID_DEC_21285 0x1065 -+#define PCI_DEVICE_ID_COMPAQ_42XX 0x0046 -+ -+#define PCI_VENDOR_ID_CIRRUS 0x1013 -+#define PCI_DEVICE_ID_CIRRUS_7548 0x0038 -+#define PCI_DEVICE_ID_CIRRUS_5430 0x00a0 -+#define PCI_DEVICE_ID_CIRRUS_5434_4 0x00a4 -+#define PCI_DEVICE_ID_CIRRUS_5434_8 0x00a8 -+#define PCI_DEVICE_ID_CIRRUS_5436 0x00ac -+#define PCI_DEVICE_ID_CIRRUS_5446 0x00b8 -+#define PCI_DEVICE_ID_CIRRUS_5480 0x00bc -+#define PCI_DEVICE_ID_CIRRUS_5462 0x00d0 -+#define PCI_DEVICE_ID_CIRRUS_5464 0x00d4 -+#define PCI_DEVICE_ID_CIRRUS_5465 0x00d6 -+#define PCI_DEVICE_ID_CIRRUS_6729 0x1100 -+#define PCI_DEVICE_ID_CIRRUS_6832 0x1110 -+#define PCI_DEVICE_ID_CIRRUS_7542 0x1200 -+#define PCI_DEVICE_ID_CIRRUS_7543 0x1202 -+#define PCI_DEVICE_ID_CIRRUS_7541 0x1204 -+ -+#define PCI_VENDOR_ID_IBM 0x1014 -+#define PCI_DEVICE_ID_IBM_FIRE_CORAL 0x000a -+#define PCI_DEVICE_ID_IBM_TR 0x0018 -+#define PCI_DEVICE_ID_IBM_82G2675 0x001d -+#define PCI_DEVICE_ID_IBM_MCA 0x0020 -+#define PCI_DEVICE_ID_IBM_82351 0x0022 -+#define PCI_DEVICE_ID_IBM_PYTHON 0x002d -+#define PCI_DEVICE_ID_IBM_SERVERAID 0x002e -+#define PCI_DEVICE_ID_IBM_TR_WAKE 0x003e -+#define PCI_DEVICE_ID_IBM_MPIC 0x0046 -+#define PCI_DEVICE_ID_IBM_3780IDSP 0x007d -+#define PCI_DEVICE_ID_IBM_CHUKAR 0x0096 -+#define PCI_DEVICE_ID_IBM_405GP 0x0156 -+#define PCI_DEVICE_ID_IBM_SERVERAIDI960 0x01bd -+#define PCI_DEVICE_ID_IBM_MPIC_2 0xffff -+ -+#define PCI_VENDOR_ID_COMPEX2 0x101a // pci.ids says "AT&T GIS (NCR)" -+#define PCI_DEVICE_ID_COMPEX2_100VG 0x0005 -+ -+#define PCI_VENDOR_ID_WD 0x101c -+#define PCI_DEVICE_ID_WD_7197 0x3296 -+ -+#define PCI_VENDOR_ID_AMI 0x101e -+#define PCI_DEVICE_ID_AMI_MEGARAID3 0x1960 -+#define PCI_DEVICE_ID_AMI_MEGARAID 0x9010 -+#define PCI_DEVICE_ID_AMI_MEGARAID2 0x9060 -+ -+#define PCI_VENDOR_ID_AMD 0x1022 -+ -+#define PCI_DEVICE_ID_AMD_LANCE 0x2000 -+#define PCI_DEVICE_ID_AMD_LANCE_HOME 0x2001 -+#define PCI_DEVICE_ID_AMD_HOMEPNA 0x2001 -+#define PCI_DEVICE_ID_AMD_SCSI 0x2020 -+#define PCI_DEVICE_ID_AMD_FE_GATE_7006 0x7006 -+#define PCI_DEVICE_ID_AMD_FE_GATE_7007 0x7007 -+#define PCI_DEVICE_ID_AMD_FE_GATE_700C 0x700C -+#define PCI_DEVIDE_ID_AMD_FE_GATE_700D 0x700D -+#define PCI_DEVICE_ID_AMD_FE_GATE_700E 0x700E -+#define PCI_DEVICE_ID_AMD_FE_GATE_700F 0x700F -+#define PCI_DEVICE_ID_AMD_COBRA_7400 0x7400 -+#define PCI_DEVICE_ID_AMD_COBRA_7401 0x7401 -+#define PCI_DEVICE_ID_AMD_COBRA_7403 0x7403 -+#define PCI_DEVICE_ID_AMD_COBRA_7404 0x7404 -+#define PCI_DEVICE_ID_AMD_VIPER_7408 0x7408 -+#define PCI_DEVICE_ID_AMD_VIPER_7409 0x7409 -+#define PCI_DEVICE_ID_AMD_VIPER_740B 0x740B -+#define PCI_DEVICE_ID_AMD_VIPER_740C 0x740C -+#define PCI_DEVICE_ID_AMD_VIPER_7410 0x7410 -+#define PCI_DEVICE_ID_AMD_VIPER_7411 0x7411 -+#define PCI_DEVICE_ID_AMD_VIPER_7413 0x7413 -+#define PCI_DEVICE_ID_AMD_VIPER_7414 0x7414 -+#define PCI_DEVICE_ID_AMD_VIPER_7440 0x7440 -+#define PCI_DEVICE_ID_AMD_VIPER_7441 0x7441 -+#define PCI_DEVICE_ID_AMD_VIPER_7443 0x7443 -+#define PCI_DEVICE_ID_AMD_VIPER_7448 0x7448 -+#define PCI_DEVICE_ID_AMD_VIPER_7449 0x7449 -+ -+#define PCI_VENDOR_ID_TRIDENT 0x1023 -+#define PCI_DEVICE_ID_TRIDENT_4DWAVE_DX 0x2000 -+#define PCI_DEVICE_ID_TRIDENT_4DWAVE_NX 0x2001 -+#define PCI_DEVICE_ID_TRIDENT_9320 0x9320 -+#define PCI_DEVICE_ID_TRIDENT_9388 0x9388 -+#define PCI_DEVICE_ID_TRIDENT_9397 0x9397 -+#define PCI_DEVICE_ID_TRIDENT_939A 0x939A -+#define PCI_DEVICE_ID_TRIDENT_9520 0x9520 -+#define PCI_DEVICE_ID_TRIDENT_9525 0x9525 -+#define PCI_DEVICE_ID_TRIDENT_9420 0x9420 -+#define PCI_DEVICE_ID_TRIDENT_9440 0x9440 -+#define PCI_DEVICE_ID_TRIDENT_9660 0x9660 -+#define PCI_DEVICE_ID_TRIDENT_9750 0x9750 -+#define PCI_DEVICE_ID_TRIDENT_9850 0x9850 -+#define PCI_DEVICE_ID_TRIDENT_9880 0x9880 -+#define PCI_DEVICE_ID_TRIDENT_8400 0x8400 -+#define PCI_DEVICE_ID_TRIDENT_8420 0x8420 -+#define PCI_DEVICE_ID_TRIDENT_8500 0x8500 -+ -+#define PCI_VENDOR_ID_AI 0x1025 -+#define PCI_DEVICE_ID_AI_M1435 0x1435 -+ -+#define PCI_VENDOR_ID_DELL 0x1028 -+ -+#define PCI_VENDOR_ID_MATROX 0x102B -+#define PCI_DEVICE_ID_MATROX_MGA_2 0x0518 -+#define PCI_DEVICE_ID_MATROX_MIL 0x0519 -+#define PCI_DEVICE_ID_MATROX_MYS 0x051A -+#define PCI_DEVICE_ID_MATROX_MIL_2 0x051b -+#define PCI_DEVICE_ID_MATROX_MIL_2_AGP 0x051f -+#define PCI_DEVICE_ID_MATROX_MGA_IMP 0x0d10 -+#define PCI_DEVICE_ID_MATROX_G100_MM 0x1000 -+#define PCI_DEVICE_ID_MATROX_G100_AGP 0x1001 -+#define PCI_DEVICE_ID_MATROX_G200_PCI 0x0520 -+#define PCI_DEVICE_ID_MATROX_G200_AGP 0x0521 -+#define PCI_DEVICE_ID_MATROX_G400 0x0525 -+#define PCI_DEVICE_ID_MATROX_G550 0x2527 -+#define PCI_DEVICE_ID_MATROX_VIA 0x4536 -+ -+#define PCI_VENDOR_ID_CT 0x102c -+#define PCI_DEVICE_ID_CT_65545 0x00d8 -+#define PCI_DEVICE_ID_CT_65548 0x00dc -+#define PCI_DEVICE_ID_CT_65550 0x00e0 -+#define PCI_DEVICE_ID_CT_65554 0x00e4 -+#define PCI_DEVICE_ID_CT_65555 0x00e5 -+ -+#define PCI_VENDOR_ID_MIRO 0x1031 -+#define PCI_DEVICE_ID_MIRO_36050 0x5601 -+ -+#define PCI_VENDOR_ID_NEC 0x1033 -+#define PCI_DEVICE_ID_NEC_PCX2 0x0046 -+#define PCI_DEVICE_ID_NEC_NILE4 0x005a -+#define PCI_DEVICE_ID_NEC_VRC5476 0x009b -+ -+#define PCI_VENDOR_ID_FD 0x1036 -+#define PCI_DEVICE_ID_FD_36C70 0x0000 -+ -+#define PCI_VENDOR_ID_SIS 0x1039 -+#define PCI_VENDOR_ID_SI 0x1039 -+#define PCI_DEVICE_ID_SI_5591_AGP 0x0001 -+#define PCI_DEVICE_ID_SI_6202 0x0002 -+#define PCI_DEVICE_ID_SI_503 0x0008 -+#define PCI_DEVICE_ID_SI_ACPI 0x0009 -+#define PCI_DEVICE_ID_SI_5597_VGA 0x0200 -+#define PCI_DEVICE_ID_SI_6205 0x0205 -+#define PCI_DEVICE_ID_SI_501 0x0406 -+#define PCI_DEVICE_ID_SI_496 0x0496 -+#define PCI_DEVICE_ID_SI_300 0x0300 -+#define PCI_DEVICE_ID_SI_315H 0x0310 -+#define PCI_DEVICE_ID_SI_315 0x0315 -+#define PCI_DEVICE_ID_SI_315PRO 0x0325 -+#define PCI_DEVICE_ID_SI_530 0x0530 -+#define PCI_DEVICE_ID_SI_540 0x0540 -+#define PCI_DEVICE_ID_SI_550 0x0550 -+#define PCI_DEVICE_ID_SI_601 0x0601 -+#define PCI_DEVICE_ID_SI_620 0x0620 -+#define PCI_DEVICE_ID_SI_630 0x0630 -+#define PCI_DEVICE_ID_SI_635 0x0635 -+#define PCI_DEVICE_ID_SI_640 0x0640 -+#define PCI_DEVICE_ID_SI_645 0x0645 -+#define PCI_DEVICE_ID_SI_650 0x0650 -+#define PCI_DEVICE_ID_SI_730 0x0730 -+#define PCI_DEVICE_ID_SI_735 0x0735 -+#define PCI_DEVICE_ID_SI_740 0x0740 -+#define PCI_DEVICE_ID_SI_745 0x0745 -+#define PCI_DEVICE_ID_SI_750 0x0750 -+#define PCI_DEVICE_ID_SI_900 0x0900 -+#define PCI_DEVICE_ID_SIS900 0x0900 -+#define PCI_DEVICE_ID_SI_5107 0x5107 -+#define PCI_DEVICE_ID_SI_5300 0x5300 -+#define PCI_DEVICE_ID_SI_540_VGA 0x5300 -+#define PCI_DEVICE_ID_SI_550_VGA 0x5315 -+#define PCI_DEVICE_ID_SI_5511 0x5511 -+#define PCI_DEVICE_ID_SI_5513 0x5513 -+#define PCI_DEVICE_ID_SI_5571 0x5571 -+#define PCI_DEVICE_ID_SI_5591 0x5591 -+#define PCI_DEVICE_ID_SI_5597 0x5597 -+#define PCI_DEVICE_ID_SI_5598 0x5598 -+#define PCI_DEVICE_ID_SI_5600 0x5600 -+#define PCI_DEVICE_ID_SI_6300 0x6300 -+#define PCI_DEVICE_ID_SI_630_VGA 0x6300 -+#define PCI_DEVICE_ID_SI_6306 0x6306 -+#define PCI_DEVICE_ID_SI_6326 0x6326 -+#define PCI_DEVICE_ID_SI_7001 0x7001 -+#define PCI_DEVICE_ID_SI_7016 0x7016 -+#define PCI_DEVICE_ID_SIS7016 0x7016 -+#define PCI_DEVICE_ID_SI_730_VGA 0x7300 -+ -+#define PCI_VENDOR_ID_HP 0x103c -+#define PCI_DEVICE_ID_HP_DONNER_GFX 0x1008 -+#define PCI_DEVICE_ID_HP_TACHYON 0x1028 -+#define PCI_DEVICE_ID_HP_TACHLITE 0x1029 -+#define PCI_DEVICE_ID_HP_J2585A 0x1030 -+#define PCI_DEVICE_ID_HP_J2585B 0x1031 -+#define PCI_DEVICE_ID_HP_SAS 0x1048 -+#define PCI_DEVICE_ID_HP_DIVA1 0x1049 -+#define PCI_DEVICE_ID_HP_DIVA2 0x104A -+#define PCI_DEVICE_ID_HP_SP2_0 0x104B -+ -+#define PCI_VENDOR_ID_PCTECH 0x1042 -+#define PCI_DEVICE_ID_PCTECH_RZ1000 0x1000 -+#define PCI_DEVICE_ID_PCTECH_RZ1001 0x1001 -+#define PCI_DEVICE_ID_PCTECH_SAMURAI_0 0x3000 -+#define PCI_DEVICE_ID_PCTECH_SAMURAI_1 0x3010 -+#define PCI_DEVICE_ID_PCTECH_SAMURAI_IDE 0x3020 -+ -+#define PCI_VENDOR_ID_ASUSTEK 0x1043 -+#define PCI_DEVICE_ID_ASUSTEK_0675 0x0675 -+ -+#define PCI_VENDOR_ID_DPT 0x1044 -+#define PCI_DEVICE_ID_DPT 0xa400 -+ -+#define PCI_VENDOR_ID_OPTI 0x1045 -+#define PCI_DEVICE_ID_OPTI_92C178 0xc178 -+#define PCI_DEVICE_ID_OPTI_82C557 0xc557 -+#define PCI_DEVICE_ID_OPTI_82C558 0xc558 -+#define PCI_DEVICE_ID_OPTI_82C621 0xc621 -+#define PCI_DEVICE_ID_OPTI_82C700 0xc700 -+#define PCI_DEVICE_ID_OPTI_82C701 0xc701 -+#define PCI_DEVICE_ID_OPTI_82C814 0xc814 -+#define PCI_DEVICE_ID_OPTI_82C822 0xc822 -+#define PCI_DEVICE_ID_OPTI_82C861 0xc861 -+#define PCI_DEVICE_ID_OPTI_82C825 0xd568 -+ -+#define PCI_VENDOR_ID_ELSA 0x1048 -+#define PCI_DEVICE_ID_ELSA_MICROLINK 0x1000 -+#define PCI_DEVICE_ID_ELSA_QS3000 0x3000 -+ -+#define PCI_VENDOR_ID_ELSA 0x1048 -+#define PCI_DEVICE_ID_ELSA_MICROLINK 0x1000 -+#define PCI_DEVICE_ID_ELSA_QS3000 0x3000 -+ -+#define PCI_VENDOR_ID_SGS 0x104a -+#define PCI_DEVICE_ID_SGS_2000 0x0008 -+#define PCI_DEVICE_ID_SGS_1764 0x0009 -+ -+#define PCI_VENDOR_ID_BUSLOGIC 0x104B -+#define PCI_DEVICE_ID_BUSLOGIC_MULTIMASTER_NC 0x0140 -+#define PCI_DEVICE_ID_BUSLOGIC_MULTIMASTER 0x1040 -+#define PCI_DEVICE_ID_BUSLOGIC_FLASHPOINT 0x8130 -+ -+#define PCI_VENDOR_ID_TI 0x104c -+#define PCI_DEVICE_ID_TI_TVP4010 0x3d04 -+#define PCI_DEVICE_ID_TI_TVP4020 0x3d07 -+#define PCI_DEVICE_ID_TI_1130 0xac12 -+#define PCI_DEVICE_ID_TI_1031 0xac13 -+#define PCI_DEVICE_ID_TI_1131 0xac15 -+#define PCI_DEVICE_ID_TI_1250 0xac16 -+#define PCI_DEVICE_ID_TI_1220 0xac17 -+#define PCI_DEVICE_ID_TI_1221 0xac19 -+#define PCI_DEVICE_ID_TI_1210 0xac1a -+#define PCI_DEVICE_ID_TI_1410 0xac50 -+#define PCI_DEVICE_ID_TI_1450 0xac1b -+#define PCI_DEVICE_ID_TI_1225 0xac1c -+#define PCI_DEVICE_ID_TI_1251A 0xac1d -+#define PCI_DEVICE_ID_TI_1211 0xac1e -+#define PCI_DEVICE_ID_TI_1251B 0xac1f -+#define PCI_DEVICE_ID_TI_4410 0xac41 -+#define PCI_DEVICE_ID_TI_4451 0xac42 -+#define PCI_DEVICE_ID_TI_1420 0xac51 -+ -+#define PCI_VENDOR_ID_SONY 0x104d -+#define PCI_DEVICE_ID_SONY_CXD3222 0x8039 -+ -+#define PCI_VENDOR_ID_OAK 0x104e -+#define PCI_DEVICE_ID_OAK_OTI107 0x0107 -+ -+/* Winbond have two vendor IDs! See 0x10ad as well */ -+#define PCI_VENDOR_ID_WINBOND2 0x1050 -+#define PCI_DEVICE_ID_WINBOND2_89C840 0x0840 -+#define PCI_DEVICE_ID_WINBOND2_89C940 0x0940 -+#define PCI_DEVICE_ID_WINBOND2_89C940F 0x5a5a -+#define PCI_DEVICE_ID_WINBOND2_6692 0x6692 -+ -+#define PCI_VENDOR_ID_ANIGMA 0x1051 -+#define PCI_DEVICE_ID_ANIGMA_MC145575 0x0100 -+ -+#define PCI_VENDOR_ID_EFAR 0x1055 -+#define PCI_DEVICE_ID_EFAR_SLC90E66_1 0x9130 -+#define PCI_DEVICE_ID_EFAR_SLC90E66_0 0x9460 -+#define PCI_DEVICE_ID_EFAR_SLC90E66_2 0x9462 -+#define PCI_DEVICE_ID_EFAR_SLC90E66_3 0x9463 -+ -+#define PCI_VENDOR_ID_MOTOROLA 0x1057 -+#define PCI_VENDOR_ID_MOTOROLA_OOPS 0x1507 -+#define PCI_DEVICE_ID_MOTOROLA_MPC105 0x0001 -+#define PCI_DEVICE_ID_MOTOROLA_MPC106 0x0002 -+#define PCI_DEVICE_ID_MOTOROLA_RAVEN 0x4801 -+#define PCI_DEVICE_ID_MOTOROLA_FALCON 0x4802 -+#define PCI_DEVICE_ID_MOTOROLA_CPX8216 0x4806 -+ -+#define PCI_VENDOR_ID_PROMISE 0x105a -+#define PCI_DEVICE_ID_PROMISE_20265 0x0d30 -+#define PCI_DEVICE_ID_PROMISE_20267 0x4d30 -+#define PCI_DEVICE_ID_PROMISE_20246 0x4d33 -+#define PCI_DEVICE_ID_PROMISE_20262 0x4d38 -+#define PCI_DEVICE_ID_PROMISE_20268 0x4d68 -+#define PCI_DEVICE_ID_PROMISE_20268R 0x6268 -+#define PCI_DEVICE_ID_PROMISE_20269 0x4d69 -+#define PCI_DEVICE_ID_PROMISE_20275 0x1275 -+#define PCI_DEVICE_ID_PROMISE_5300 0x5300 -+ -+#define PCI_VENDOR_ID_N9 0x105d -+#define PCI_DEVICE_ID_N9_I128 0x2309 -+#define PCI_DEVICE_ID_N9_I128_2 0x2339 -+#define PCI_DEVICE_ID_N9_I128_T2R 0x493d -+ -+#define PCI_VENDOR_ID_UMC 0x1060 -+#define PCI_DEVICE_ID_UMC_UM8673F 0x0101 -+#define PCI_DEVICE_ID_UMC_UM8891A 0x0891 -+#define PCI_DEVICE_ID_UMC_UM8886BF 0x673a -+#define PCI_DEVICE_ID_UMC_UM8886A 0x886a -+#define PCI_DEVICE_ID_UMC_UM8881F 0x8881 -+#define PCI_DEVICE_ID_UMC_UM8886F 0x8886 -+#define PCI_DEVICE_ID_UMC_UM9017F 0x9017 -+#define PCI_DEVICE_ID_UMC_UM8886N 0xe886 -+#define PCI_DEVICE_ID_UMC_UM8891N 0xe891 -+ -+#define PCI_VENDOR_ID_X 0x1061 -+#define PCI_DEVICE_ID_X_AGX016 0x0001 -+ -+#define PCI_VENDOR_ID_MYLEX 0x1069 -+#define PCI_DEVICE_ID_MYLEX_DAC960_P 0x0001 -+#define PCI_DEVICE_ID_MYLEX_DAC960_PD 0x0002 -+#define PCI_DEVICE_ID_MYLEX_DAC960_PG 0x0010 -+#define PCI_DEVICE_ID_MYLEX_DAC960_LA 0x0020 -+#define PCI_DEVICE_ID_MYLEX_DAC960_LP 0x0050 -+#define PCI_DEVICE_ID_MYLEX_DAC960_BA 0xBA56 -+ -+#define PCI_VENDOR_ID_PICOP 0x1066 -+#define PCI_DEVICE_ID_PICOP_PT86C52X 0x0001 -+#define PCI_DEVICE_ID_PICOP_PT80C524 0x8002 -+ -+#define PCI_VENDOR_ID_APPLE 0x106b -+#define PCI_DEVICE_ID_APPLE_BANDIT 0x0001 -+#define PCI_DEVICE_ID_APPLE_GC 0x0002 -+#define PCI_DEVICE_ID_APPLE_HYDRA 0x000e -+#define PCI_DEVICE_ID_APPLE_UNI_N_FW 0x0018 -+#define PCI_DEVICE_ID_APPLE_KL_USB 0x0019 -+#define PCI_DEVICE_ID_APPLE_UNI_N_AGP 0x0020 -+#define PCI_DEVICE_ID_APPLE_UNI_N_GMAC 0x0021 -+#define PCI_DEVICE_ID_APPLE_UNI_N_FW2 0x0030 -+ -+#define PCI_VENDOR_ID_YAMAHA 0x1073 -+#define PCI_DEVICE_ID_YAMAHA_724 0x0004 -+#define PCI_DEVICE_ID_YAMAHA_724F 0x000d -+#define PCI_DEVICE_ID_YAMAHA_740 0x000a -+#define PCI_DEVICE_ID_YAMAHA_740C 0x000c -+#define PCI_DEVICE_ID_YAMAHA_744 0x0010 -+#define PCI_DEVICE_ID_YAMAHA_754 0x0012 -+ -+#define PCI_VENDOR_ID_NEXGEN 0x1074 -+#define PCI_DEVICE_ID_NEXGEN_82C501 0x4e78 -+ -+#define PCI_VENDOR_ID_QLOGIC 0x1077 -+#define PCI_DEVICE_ID_QLOGIC_ISP1020 0x1020 -+#define PCI_DEVICE_ID_QLOGIC_ISP1022 0x1022 -+#define PCI_DEVICE_ID_QLOGIC_ISP2100 0x2100 -+#define PCI_DEVICE_ID_QLOGIC_ISP2200 0x2200 -+ -+#define PCI_VENDOR_ID_CYRIX 0x1078 -+#define PCI_DEVICE_ID_CYRIX_5510 0x0000 -+#define PCI_DEVICE_ID_CYRIX_PCI_MASTER 0x0001 -+#define PCI_DEVICE_ID_CYRIX_5520 0x0002 -+#define PCI_DEVICE_ID_CYRIX_5530_LEGACY 0x0100 -+#define PCI_DEVICE_ID_CYRIX_5530_SMI 0x0101 -+#define PCI_DEVICE_ID_CYRIX_5530_IDE 0x0102 -+#define PCI_DEVICE_ID_CYRIX_5530_AUDIO 0x0103 -+#define PCI_DEVICE_ID_CYRIX_5530_VIDEO 0x0104 -+ -+#define PCI_VENDOR_ID_LEADTEK 0x107d -+#define PCI_DEVICE_ID_LEADTEK_805 0x0000 -+ -+#define PCI_VENDOR_ID_INTERPHASE 0x107e -+#define PCI_DEVICE_ID_INTERPHASE_5526 0x0004 -+#define PCI_DEVICE_ID_INTERPHASE_55x6 0x0005 -+#define PCI_DEVICE_ID_INTERPHASE_5575 0x0008 -+ -+#define PCI_VENDOR_ID_CONTAQ 0x1080 -+#define PCI_DEVICE_ID_CONTAQ_82C599 0x0600 -+#define PCI_DEVICE_ID_CONTAQ_82C693 0xc693 -+ -+#define PCI_VENDOR_ID_FOREX 0x1083 -+ -+#define PCI_VENDOR_ID_OLICOM 0x108d -+#define PCI_DEVICE_ID_OLICOM_OC3136 0x0001 -+#define PCI_DEVICE_ID_OLICOM_OC2315 0x0011 -+#define PCI_DEVICE_ID_OLICOM_OC2325 0x0012 -+#define PCI_DEVICE_ID_OLICOM_OC2183 0x0013 -+#define PCI_DEVICE_ID_OLICOM_OC2326 0x0014 -+#define PCI_DEVICE_ID_OLICOM_OC6151 0x0021 -+ -+#define PCI_VENDOR_ID_SUN 0x108e -+#define PCI_DEVICE_ID_SUN_EBUS 0x1000 -+#define PCI_DEVICE_ID_SUN_HAPPYMEAL 0x1001 -+#define PCI_DEVICE_ID_SUN_RIO_EBUS 0x1100 -+#define PCI_DEVICE_ID_SUN_RIO_GEM 0x1101 -+#define PCI_DEVICE_ID_SUN_RIO_1394 0x1102 -+#define PCI_DEVICE_ID_SUN_RIO_USB 0x1103 -+#define PCI_DEVICE_ID_SUN_GEM 0x2bad -+#define PCI_DEVICE_ID_SUN_SIMBA 0x5000 -+#define PCI_DEVICE_ID_SUN_PBM 0x8000 -+#define PCI_DEVICE_ID_SUN_SCHIZO 0x8001 -+#define PCI_DEVICE_ID_SUN_SABRE 0xa000 -+#define PCI_DEVICE_ID_SUN_HUMMINGBIRD 0xa001 -+ -+#define PCI_VENDOR_ID_CMD 0x1095 -+#define PCI_DEVICE_ID_CMD_640 0x0640 -+#define PCI_DEVICE_ID_CMD_643 0x0643 -+#define PCI_DEVICE_ID_CMD_646 0x0646 -+#define PCI_DEVICE_ID_CMD_647 0x0647 -+#define PCI_DEVICE_ID_CMD_648 0x0648 -+#define PCI_DEVICE_ID_CMD_649 0x0649 -+#define PCI_DEVICE_ID_CMD_670 0x0670 -+#define PCI_DEVICE_ID_CMD_680 0x0680 -+ -+#define PCI_VENDOR_ID_VISION 0x1098 -+#define PCI_DEVICE_ID_VISION_QD8500 0x0001 -+#define PCI_DEVICE_ID_VISION_QD8580 0x0002 -+ -+#define PCI_VENDOR_ID_BROOKTREE 0x109e -+#define PCI_DEVICE_ID_BROOKTREE_848 0x0350 -+#define PCI_DEVICE_ID_BROOKTREE_849A 0x0351 -+#define PCI_DEVICE_ID_BROOKTREE_878_1 0x036e -+#define PCI_DEVICE_ID_BROOKTREE_878 0x0878 -+#define PCI_DEVICE_ID_BROOKTREE_8474 0x8474 -+ -+#define PCI_VENDOR_ID_SIERRA 0x10a8 -+#define PCI_DEVICE_ID_SIERRA_STB 0x0000 -+ -+#define PCI_VENDOR_ID_SGI 0x10a9 -+#define PCI_DEVICE_ID_SGI_IOC3 0x0003 -+ -+#define PCI_VENDOR_ID_ACC 0x10aa -+#define PCI_DEVICE_ID_ACC_2056 0x0000 -+ -+#define PCI_VENDOR_ID_WINBOND 0x10ad -+#define PCI_DEVICE_ID_WINBOND_83769 0x0001 -+#define PCI_DEVICE_ID_WINBOND_82C105 0x0105 -+#define PCI_DEVICE_ID_WINBOND_83C553 0x0565 -+ -+#define PCI_VENDOR_ID_DATABOOK 0x10b3 -+#define PCI_DEVICE_ID_DATABOOK_87144 0xb106 -+ -+#define PCI_VENDOR_ID_PLX 0x10b5 -+#define PCI_DEVICE_ID_PLX_R685 0x1030 -+#define PCI_DEVICE_ID_PLX_ROMULUS 0x106a -+#define PCI_DEVICE_ID_PLX_SPCOM800 0x1076 -+#define PCI_DEVICE_ID_PLX_1077 0x1077 -+#define PCI_DEVICE_ID_PLX_SPCOM200 0x1103 -+#define PCI_DEVICE_ID_PLX_DJINN_ITOO 0x1151 -+#define PCI_DEVICE_ID_PLX_R753 0x1152 -+#define PCI_DEVICE_ID_PLX_9050 0x9050 -+#define PCI_DEVICE_ID_PLX_9060 0x9060 -+#define PCI_DEVICE_ID_PLX_9060ES 0x906E -+#define PCI_DEVICE_ID_PLX_9060SD 0x906D -+#define PCI_DEVICE_ID_PLX_9080 0x9080 -+#define PCI_DEVICE_ID_PLX_GTEK_SERIAL2 0xa001 -+ -+#define PCI_VENDOR_ID_MADGE 0x10b6 -+#define PCI_DEVICE_ID_MADGE_MK2 0x0002 -+#define PCI_DEVICE_ID_MADGE_C155S 0x1001 -+ -+#define PCI_VENDOR_ID_3COM 0x10b7 -+#define PCI_DEVICE_ID_3COM_3C985 0x0001 -+#define PCI_DEVICE_ID_3COM_3C339 0x3390 -+#define PCI_DEVICE_ID_3COM_3C590 0x5900 -+#define PCI_DEVICE_ID_3COM_3C595 0x5950 -+#define PCI_DEVICE_ID_3COM_3C595TX 0x5950 -+#define PCI_DEVICE_ID_3COM_3C595_1 0x5951 -+#define PCI_DEVICE_ID_3COM_3C595T4 0x5951 -+#define PCI_DEVICE_ID_3COM_3C595_2 0x5952 -+#define PCI_DEVICE_ID_3COM_3C595MII 0x5952 -+#define PCI_DEVICE_ID_3COM_3C900TPO 0x9000 -+#define PCI_DEVICE_ID_3COM_3C900COMBO 0x9001 -+#define PCI_DEVICE_ID_3COM_3C905TX 0x9050 -+#define PCI_DEVICE_ID_3COM_3C905T4 0x9051 -+#define PCI_DEVICE_ID_3COM_3C905B_TX 0x9055 -+#define PCI_DEVICE_ID_3COM_3C905C_TXM 0x9200 -+ -+#define PCI_VENDOR_ID_SMC 0x10b8 -+#define PCI_DEVICE_ID_SMC_EPIC100 0x0005 -+ -+#define PCI_VENDOR_ID_SUNDANCE 0x13F0 -+#define PCI_DEVICE_ID_SUNDANCE_ALTA 0x0201 -+ -+#define PCI_VENDOR_ID_AL 0x10b9 -+#define PCI_DEVICE_ID_AL_M1445 0x1445 -+#define PCI_DEVICE_ID_AL_M1449 0x1449 -+#define PCI_DEVICE_ID_AL_M1451 0x1451 -+#define PCI_DEVICE_ID_AL_M1461 0x1461 -+#define PCI_DEVICE_ID_AL_M1489 0x1489 -+#define PCI_DEVICE_ID_AL_M1511 0x1511 -+#define PCI_DEVICE_ID_AL_M1513 0x1513 -+#define PCI_DEVICE_ID_AL_M1521 0x1521 -+#define PCI_DEVICE_ID_AL_M1523 0x1523 -+#define PCI_DEVICE_ID_AL_M1531 0x1531 -+#define PCI_DEVICE_ID_AL_M1533 0x1533 -+#define PCI_DEVICE_ID_AL_M1541 0x1541 -+#define PCI_DEVICE_ID_AL_M1621 0x1621 -+#define PCI_DEVICE_ID_AL_M1631 0x1631 -+#define PCI_DEVICE_ID_AL_M1641 0x1641 -+#define PCI_DEVICE_ID_AL_M1647 0x1647 -+#define PCI_DEVICE_ID_AL_M1651 0x1651 -+#define PCI_DEVICE_ID_AL_M1543 0x1543 -+#define PCI_DEVICE_ID_AL_M3307 0x3307 -+#define PCI_DEVICE_ID_AL_M4803 0x5215 -+#define PCI_DEVICE_ID_AL_M5219 0x5219 -+#define PCI_DEVICE_ID_AL_M5229 0x5229 -+#define PCI_DEVICE_ID_AL_M5237 0x5237 -+#define PCI_DEVICE_ID_AL_M5243 0x5243 -+#define PCI_DEVICE_ID_AL_M5451 0x5451 -+#define PCI_DEVICE_ID_AL_M7101 0x7101 -+ -+#define PCI_VENDOR_ID_MITSUBISHI 0x10ba -+ -+#define PCI_VENDOR_ID_SURECOM 0x10bd -+#define PCI_DEVICE_ID_SURECOM_NE34 0x0e34 -+ -+#define PCI_VENDOR_ID_NEOMAGIC 0x10c8 -+#define PCI_DEVICE_ID_NEOMAGIC_MAGICGRAPH_NM2070 0x0001 -+#define PCI_DEVICE_ID_NEOMAGIC_MAGICGRAPH_128V 0x0002 -+#define PCI_DEVICE_ID_NEOMAGIC_MAGICGRAPH_128ZV 0x0003 -+#define PCI_DEVICE_ID_NEOMAGIC_MAGICGRAPH_NM2160 0x0004 -+#define PCI_DEVICE_ID_NEOMAGIC_MAGICMEDIA_256AV 0x0005 -+#define PCI_DEVICE_ID_NEOMAGIC_MAGICGRAPH_128ZVPLUS 0x0083 -+ -+#define PCI_VENDOR_ID_ASP 0x10cd -+#define PCI_DEVICE_ID_ASP_ABP940 0x1200 -+#define PCI_DEVICE_ID_ASP_ABP940U 0x1300 -+#define PCI_DEVICE_ID_ASP_ABP940UW 0x2300 -+ -+#define PCI_VENDOR_ID_MACRONIX 0x10d9 -+#define PCI_DEVICE_ID_MACRONIX_MX98713 0x0512 -+#define PCI_DEVICE_ID_MX987x3 0x0512 -+#define PCI_DEVICE_ID_MACRONIX_MX987x5 0x0531 -+#define PCI_DEVICE_ID_MX987x5 0x0531 -+ -+#define PCI_VENDOR_ID_TCONRAD 0x10da -+#define PCI_DEVICE_ID_TCONRAD_TOKENRING 0x0508 -+ -+#define PCI_VENDOR_ID_CERN 0x10dc -+#define PCI_DEVICE_ID_CERN_SPSB_PMC 0x0001 -+#define PCI_DEVICE_ID_CERN_SPSB_PCI 0x0002 -+#define PCI_DEVICE_ID_CERN_HIPPI_DST 0x0021 -+#define PCI_DEVICE_ID_CERN_HIPPI_SRC 0x0022 -+ -+#define PCI_VENDOR_ID_NVIDIA 0x10de -+#define PCI_DEVICE_ID_NVIDIA_TNT 0x0020 -+#define PCI_DEVICE_ID_NVIDIA_TNT2 0x0028 -+#define PCI_DEVICE_ID_NVIDIA_UTNT2 0x0029 -+#define PCI_DEVICE_ID_NVIDIA_VTNT2 0x002C -+#define PCI_DEVICE_ID_NVIDIA_UVTNT2 0x002D -+#define PCI_DEVICE_ID_NVIDIA_ITNT2 0x00A0 -+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_SDR 0x0100 -+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_DDR 0x0101 -+#define PCI_DEVICE_ID_NVIDIA_QUADRO 0x0103 -+#define PCI_DEVICE_ID_NVIDIA_GEFORCE2_MX 0x0110 -+#define PCI_DEVICE_ID_NVIDIA_GEFORCE2_MX2 0x0111 -+#define PCI_DEVICE_ID_NVIDIA_QUADRO2_MXR 0x0113 -+#define PCI_DEVICE_ID_NVIDIA_GEFORCE2_GTS 0x0150 -+#define PCI_DEVICE_ID_NVIDIA_GEFORCE2_GTS2 0x0151 -+#define PCI_DEVICE_ID_NVIDIA_GEFORCE2_ULTRA 0x0152 -+#define PCI_DEVICE_ID_NVIDIA_QUADRO2_PRO 0x0153 -+ -+#define PCI_VENDOR_ID_IMS 0x10e0 -+#define PCI_DEVICE_ID_IMS_8849 0x8849 -+#define PCI_DEVICE_ID_IMS_TT128 0x9128 -+#define PCI_DEVICE_ID_IMS_TT3D 0x9135 -+ -+#define PCI_VENDOR_ID_TEKRAM2 0x10e1 -+#define PCI_DEVICE_ID_TEKRAM2_690c 0x690c -+ -+#define PCI_VENDOR_ID_TUNDRA 0x10e3 -+#define PCI_DEVICE_ID_TUNDRA_CA91C042 0x0000 -+ -+#define PCI_VENDOR_ID_AMCC 0x10e8 -+#define PCI_DEVICE_ID_AMCC_MYRINET 0x8043 -+#define PCI_DEVICE_ID_AMCC_PARASTATION 0x8062 -+#define PCI_DEVICE_ID_AMCC_S5933 0x807d -+#define PCI_DEVICE_ID_AMCC_S5933_HEPC3 0x809c -+ -+#define PCI_VENDOR_ID_INTERG 0x10ea -+#define PCI_DEVICE_ID_INTERG_1680 0x1680 -+#define PCI_DEVICE_ID_INTERG_1682 0x1682 -+#define PCI_DEVICE_ID_INTERG_2000 0x2000 -+#define PCI_DEVICE_ID_INTERG_2010 0x2010 -+#define PCI_DEVICE_ID_INTERG_5000 0x5000 -+#define PCI_DEVICE_ID_INTERG_5050 0x5050 -+ -+#define PCI_VENDOR_ID_REALTEK 0x10ec -+#define PCI_DEVICE_ID_REALTEK_8029 0x8029 -+#define PCI_DEVICE_ID_REALTEK_8129 0x8129 -+#define PCI_DEVICE_ID_REALTEK_8139 0x8139 -+ -+#define PCI_VENDOR_ID_XILINX 0x10ee -+#define PCI_DEVICE_ID_TURBOPAM 0x4020 -+ -+#define PCI_VENDOR_ID_TRUEVISION 0x10fa -+#define PCI_DEVICE_ID_TRUEVISION_T1000 0x000c -+ -+#define PCI_VENDOR_ID_INIT 0x1101 -+#define PCI_DEVICE_ID_INIT_320P 0x9100 -+#define PCI_DEVICE_ID_INIT_360P 0x9500 -+ -+#define PCI_VENDOR_ID_CREATIVE 0x1102 // duplicate: ECTIVA -+#define PCI_DEVICE_ID_CREATIVE_EMU10K1 0x0002 -+ -+#define PCI_VENDOR_ID_ECTIVA 0x1102 // duplicate: CREATIVE -+#define PCI_DEVICE_ID_ECTIVA_EV1938 0x8938 -+ -+#define PCI_VENDOR_ID_TTI 0x1103 -+#define PCI_DEVICE_ID_TTI_HPT343 0x0003 -+#define PCI_DEVICE_ID_TTI_HPT366 0x0004 -+ -+#define PCI_VENDOR_ID_VIA 0x1106 -+#define PCI_VENDOR_ID_VIATEC 0x1106 -+#define PCI_DEVICE_ID_VIA_8363_0 0x0305 -+#define PCI_DEVICE_ID_VIA_8371_0 0x0391 -+#define PCI_DEVICE_ID_VIA_8501_0 0x0501 -+#define PCI_DEVICE_ID_VIA_82C505 0x0505 -+#define PCI_DEVICE_ID_VIA_82C561 0x0561 -+#define PCI_DEVICE_ID_VIA_82C586_1 0x0571 -+#define PCI_DEVICE_ID_VIA_82C576 0x0576 -+#define PCI_DEVICE_ID_VIA_82C585 0x0585 -+#define PCI_DEVICE_ID_VIA_82C586_0 0x0586 -+#define PCI_DEVICE_ID_VIA_82C595 0x0595 -+#define PCI_DEVICE_ID_VIA_82C596 0x0596 -+#define PCI_DEVICE_ID_VIA_82C597_0 0x0597 -+#define PCI_DEVICE_ID_VIA_82C598_0 0x0598 -+#define PCI_DEVICE_ID_VIA_8601_0 0x0601 -+#define PCI_DEVICE_ID_VIA_8605_0 0x0605 -+#define PCI_DEVICE_ID_VIA_82C680 0x0680 -+#define PCI_DEVICE_ID_VIA_82C686 0x0686 -+#define PCI_DEVICE_ID_VIA_82C691 0x0691 -+#define PCI_DEVICE_ID_VIA_82C693 0x0693 -+#define PCI_DEVICE_ID_VIA_82C693_1 0x0698 -+#define PCI_DEVICE_ID_VIA_82C926 0x0926 -+#define PCI_DEVICE_ID_VIA_82C576_1 0x1571 -+#define PCI_DEVICE_ID_VIA_82C595_97 0x1595 -+#define PCI_DEVICE_ID_VIA_82C586_2 0x3038 -+#define PCI_DEVICE_ID_VIA_82C586_3 0x3040 -+#define PCI_DEVICE_ID_VIA_RHINE_I 0x3043 -+#define PCI_DEVICE_ID_VIA_6305 0x3044 -+#define PCI_DEVICE_ID_VIA_82C596_3 0x3050 -+#define PCI_DEVICE_ID_VIA_82C596B_3 0x3051 -+#define PCI_DEVICE_ID_VIA_82C686_4 0x3057 -+#define PCI_DEVICE_ID_VIA_82C686_5 0x3058 -+#define PCI_DEVICE_ID_VIA_8233_5 0x3059 -+#define PCI_DEVICE_ID_VIA_8233_7 0x3065 -+#define PCI_DEVICE_ID_VIA_VT6102 0x3065 -+#define PCI_DEVICE_ID_VIA_82C686_6 0x3068 -+#define PCI_DEVICE_ID_VIA_8233_0 0x3074 -+#define PCI_DEVICE_ID_VIA_VT6105 0x3106 -+#define PCI_DEVICE_ID_VIA_8233C_0 0x3109 -+#define PCI_DEVICE_ID_VIA_8633_0 0x3091 -+#define PCI_DEVICE_ID_VIA_8367_0 0x3099 -+#define PCI_DEVICE_ID_VIA_86C100A 0x6100 -+#define PCI_DEVICE_ID_VIA_8231 0x8231 -+#define PCI_DEVICE_ID_VIA_8231_4 0x8235 -+#define PCI_DEVICE_ID_VIA_8365_1 0x8305 -+#define PCI_DEVICE_ID_VIA_8371_1 0x8391 -+#define PCI_DEVICE_ID_VIA_8501_1 0x8501 -+#define PCI_DEVICE_ID_VIA_82C597_1 0x8597 -+#define PCI_DEVICE_ID_VIA_82C598_1 0x8598 -+#define PCI_DEVICE_ID_VIA_8601_1 0x8601 -+#define PCI_DEVICE_ID_VIA_8505_1 0X8605 -+#define PCI_DEVICE_ID_VIA_8633_1 0xB091 -+#define PCI_DEVICE_ID_VIA_8367_1 0xB099 -+ -+#define PCI_VENDOR_ID_SIEMENS 0x110A -+#define PCI_DEVICE_ID_SIEMENS_DSCC4 0x2102 -+ -+#define PCI_VENDOR_ID_SMC2 0x1113 -+#define PCI_DEVICE_ID_SMC2_1211TX 0x1211 -+#define PCI_DEVICE_ID_SMC2_1211 0x1211 -+#define PCI_DEVICE_ID_SMC2_1216 0x1216 -+ -+#define PCI_VENDOR_ID_VORTEX 0x1119 -+#define PCI_DEVICE_ID_VORTEX_GDT60x0 0x0000 -+#define PCI_DEVICE_ID_VORTEX_GDT6000B 0x0001 -+#define PCI_DEVICE_ID_VORTEX_GDT6x10 0x0002 -+#define PCI_DEVICE_ID_VORTEX_GDT6x20 0x0003 -+#define PCI_DEVICE_ID_VORTEX_GDT6530 0x0004 -+#define PCI_DEVICE_ID_VORTEX_GDT6550 0x0005 -+#define PCI_DEVICE_ID_VORTEX_GDT6x17 0x0006 -+#define PCI_DEVICE_ID_VORTEX_GDT6x27 0x0007 -+#define PCI_DEVICE_ID_VORTEX_GDT6537 0x0008 -+#define PCI_DEVICE_ID_VORTEX_GDT6557 0x0009 -+#define PCI_DEVICE_ID_VORTEX_GDT6x15 0x000a -+#define PCI_DEVICE_ID_VORTEX_GDT6x25 0x000b -+#define PCI_DEVICE_ID_VORTEX_GDT6535 0x000c -+#define PCI_DEVICE_ID_VORTEX_GDT6555 0x000d -+#define PCI_DEVICE_ID_VORTEX_GDT6x17RP 0x0100 -+#define PCI_DEVICE_ID_VORTEX_GDT6x27RP 0x0101 -+#define PCI_DEVICE_ID_VORTEX_GDT6537RP 0x0102 -+#define PCI_DEVICE_ID_VORTEX_GDT6557RP 0x0103 -+#define PCI_DEVICE_ID_VORTEX_GDT6x11RP 0x0104 -+#define PCI_DEVICE_ID_VORTEX_GDT6x21RP 0x0105 -+#define PCI_DEVICE_ID_VORTEX_GDT6x17RP1 0x0110 -+#define PCI_DEVICE_ID_VORTEX_GDT6x27RP1 0x0111 -+#define PCI_DEVICE_ID_VORTEX_GDT6537RP1 0x0112 -+#define PCI_DEVICE_ID_VORTEX_GDT6557RP1 0x0113 -+#define PCI_DEVICE_ID_VORTEX_GDT6x11RP1 0x0114 -+#define PCI_DEVICE_ID_VORTEX_GDT6x21RP1 0x0115 -+#define PCI_DEVICE_ID_VORTEX_GDT6x17RP2 0x0120 -+#define PCI_DEVICE_ID_VORTEX_GDT6x27RP2 0x0121 -+#define PCI_DEVICE_ID_VORTEX_GDT6537RP2 0x0122 -+#define PCI_DEVICE_ID_VORTEX_GDT6557RP2 0x0123 -+#define PCI_DEVICE_ID_VORTEX_GDT6x11RP2 0x0124 -+#define PCI_DEVICE_ID_VORTEX_GDT6x21RP2 0x0125 -+ -+#define PCI_VENDOR_ID_EF 0x111a -+#define PCI_DEVICE_ID_EF_ATM_FPGA 0x0000 -+#define PCI_DEVICE_ID_EF_ATM_ASIC 0x0002 -+ -+#define PCI_VENDOR_ID_IDT 0x111d -+#define PCI_DEVICE_ID_IDT_IDT77201 0x0001 -+ -+#define PCI_VENDOR_ID_FORE 0x1127 -+#define PCI_DEVICE_ID_FORE_PCA200PC 0x0210 -+#define PCI_DEVICE_ID_FORE_PCA200E 0x0300 -+ -+#define PCI_VENDOR_ID_IMAGINGTECH 0x112f -+#define PCI_DEVICE_ID_IMAGINGTECH_ICPCI 0x0000 -+ -+#define PCI_VENDOR_ID_PHILIPS 0x1131 -+#define PCI_DEVICE_ID_PHILIPS_SAA7145 0x7145 -+#define PCI_DEVICE_ID_PHILIPS_SAA7146 0x7146 -+#define PCI_DEVICE_ID_PHILIPS_SAA9730 0x9730 -+ -+#define PCI_VENDOR_ID_EICON 0x1133 -+#define PCI_DEVICE_ID_EICON_DIVA20PRO 0xe001 -+#define PCI_DEVICE_ID_EICON_DIVA20 0xe002 -+#define PCI_DEVICE_ID_EICON_DIVA20PRO_U 0xe003 -+#define PCI_DEVICE_ID_EICON_DIVA20_U 0xe004 -+#define PCI_DEVICE_ID_EICON_DIVA201 0xe005 -+#define PCI_DEVICE_ID_EICON_MAESTRA 0xe010 -+#define PCI_DEVICE_ID_EICON_MAESTRAQ 0xe012 -+#define PCI_DEVICE_ID_EICON_MAESTRAQ_U 0xe013 -+#define PCI_DEVICE_ID_EICON_MAESTRAP 0xe014 -+ -+#define PCI_VENDOR_ID_CYCLONE 0x113c -+#define PCI_DEVICE_ID_CYCLONE_SDK 0x0001 -+ -+#define PCI_VENDOR_ID_ALLIANCE 0x1142 -+#define PCI_DEVICE_ID_ALLIANCE_PROMOTIO 0x3210 -+#define PCI_DEVICE_ID_ALLIANCE_PROVIDEO 0x6422 -+#define PCI_DEVICE_ID_ALLIANCE_AT24 0x6424 -+#define PCI_DEVICE_ID_ALLIANCE_AT3D 0x643d -+ -+#define PCI_VENDOR_ID_SYSKONNECT 0x1148 -+#define PCI_DEVICE_ID_SYSKONNECT_FP 0x4000 -+#define PCI_DEVICE_ID_SYSKONNECT_TR 0x4200 -+#define PCI_DEVICE_ID_SYSKONNECT_GE 0x4300 -+ -+#define PCI_VENDOR_ID_VMIC 0x114a -+#define PCI_DEVICE_ID_VMIC_VME 0x7587 -+ -+#define PCI_VENDOR_ID_DIGI 0x114f -+#define PCI_DEVICE_ID_DIGI_EPC 0x0002 -+#define PCI_DEVICE_ID_DIGI_RIGHTSWITCH 0x0003 -+#define PCI_DEVICE_ID_DIGI_XEM 0x0004 -+#define PCI_DEVICE_ID_DIGI_XR 0x0005 -+#define PCI_DEVICE_ID_DIGI_CX 0x0006 -+#define PCI_DEVICE_ID_DIGI_XRJ 0x0009 -+#define PCI_DEVICE_ID_DIGI_EPCJ 0x000a -+#define PCI_DEVICE_ID_DIGI_XR_920 0x0027 -+#define PCI_DEVICE_ID_DIGI_DF_M_IOM2_E 0x0070 -+#define PCI_DEVICE_ID_DIGI_DF_M_E 0x0071 -+#define PCI_DEVICE_ID_DIGI_DF_M_IOM2_A 0x0072 -+#define PCI_DEVICE_ID_DIGI_DF_M_A 0x0073 -+ -+#define PCI_VENDOR_ID_MUTECH 0x1159 -+#define PCI_DEVICE_ID_MUTECH_MV1000 0x0001 -+ -+#define PCI_VENDOR_ID_XIRCOM 0x115d -+#define PCI_DEVICE_ID_XIRCOM_X3201_ETH 0x0003 -+#define PCI_DEVICE_ID_XIRCOM_X3201_MDM 0x0103 -+ -+#define PCI_VENDOR_ID_RENDITION 0x1163 -+#define PCI_DEVICE_ID_RENDITION_VERITE 0x0001 -+#define PCI_DEVICE_ID_RENDITION_VERITE2100 0x2000 -+ -+#define PCI_VENDOR_ID_SERVERWORKS 0x1166 -+#define PCI_DEVICE_ID_SERVERWORKS_HE 0x0008 -+#define PCI_DEVICE_ID_SERVERWORKS_LE 0x0009 -+#define PCI_DEVICE_ID_SERVERWORKS_CIOB30 0x0010 -+#define PCI_DEVICE_ID_SERVERWORKS_CMIC_HE 0x0011 -+#define PCI_DEVICE_ID_SERVERWORKS_OSB4 0x0200 -+#define PCI_DEVICE_ID_SERVERWORKS_CSB5 0x0201 -+#define PCI_DEVICE_ID_SERVERWORKS_OSB4IDE 0x0211 -+#define PCI_DEVICE_ID_SERVERWORKS_CSB5IDE 0x0212 -+#define PCI_DEVICE_ID_SERVERWORKS_OSB4USB 0x0220 -+#define PCI_DEVICE_ID_SERVERWORKS_CSB5USB PCI_DEVICE_ID_SERVERWORKS_OSB4USB -+#define PCI_DEVICE_ID_SERVERWORKS_CSB5ISA 0x0230 -+ -+#define PCI_VENDOR_ID_SBE 0x1176 -+#define PCI_DEVICE_ID_SBE_WANXL100 0x0301 -+#define PCI_DEVICE_ID_SBE_WANXL200 0x0302 -+#define PCI_DEVICE_ID_SBE_WANXL400 0x0104 -+ -+#define PCI_VENDOR_ID_TOSHIBA 0x1179 -+#define PCI_DEVICE_ID_TOSHIBA_601 0x0601 -+#define PCI_DEVICE_ID_TOSHIBA_TOPIC95 0x060a -+#define PCI_DEVICE_ID_TOSHIBA_TOPIC97 0x060f -+ -+#define PCI_VENDOR_ID_RICOH 0x1180 -+#define PCI_DEVICE_ID_RICOH_RL5C465 0x0465 -+#define PCI_DEVICE_ID_RICOH_RL5C466 0x0466 -+#define PCI_DEVICE_ID_RICOH_RL5C475 0x0475 -+#define PCI_DEVICE_ID_RICOH_RL5C476 0x0476 -+#define PCI_DEVICE_ID_RICOH_RL5C478 0x0478 -+ -+#define PCI_VENDOR_ID_DLINK 0x1186 -+#define PCI_DEVICE_ID_DFE530TXP 0x1300 -+#define PCI_DEVICE_ID_DFE530TXS 0x1002 -+ -+#define PCI_VENDOR_ID_ARTOP 0x1191 -+#define PCI_DEVICE_ID_ARTOP_ATP8400 0x0004 -+#define PCI_DEVICE_ID_ARTOP_ATP850UF 0x0005 -+#define PCI_DEVICE_ID_ARTOP_ATP860 0x0006 -+#define PCI_DEVICE_ID_ARTOP_ATP860R 0x0007 -+#define PCI_DEVICE_ID_ARTOP_AEC7610 0x8002 -+#define PCI_DEVICE_ID_ARTOP_AEC7612UW 0x8010 -+#define PCI_DEVICE_ID_ARTOP_AEC7612U 0x8020 -+#define PCI_DEVICE_ID_ARTOP_AEC7612S 0x8030 -+#define PCI_DEVICE_ID_ARTOP_AEC7612D 0x8040 -+#define PCI_DEVICE_ID_ARTOP_AEC7612SUW 0x8050 -+#define PCI_DEVICE_ID_ARTOP_8060 0x8060 -+ -+#define PCI_VENDOR_ID_ZEITNET 0x1193 -+#define PCI_DEVICE_ID_ZEITNET_1221 0x0001 -+#define PCI_DEVICE_ID_ZEITNET_1225 0x0002 -+ -+#define PCI_VENDOR_ID_OMEGA 0x119b -+#define PCI_DEVICE_ID_OMEGA_82C092G 0x1221 -+ -+#define PCI_VENDOR_ID_FUJITSU_ME 0x119e -+#define PCI_DEVICE_ID_FUJITSU_FS155 0x0001 -+#define PCI_DEVICE_ID_FUJITSU_FS50 0x0003 -+ -+#define PCI_SUBVENDOR_ID_KEYSPAN 0x11a9 -+#define PCI_SUBDEVICE_ID_KEYSPAN_SX2 0x5334 -+ -+#define PCI_VENDOR_ID_GALILEO 0x11ab -+#define PCI_DEVICE_ID_GALILEO_GT64011 0x4146 -+#define PCI_DEVICE_ID_GALILEO_GT64111 0x4146 -+#define PCI_DEVICE_ID_GALILEO_GT96100 0x9652 -+#define PCI_DEVICE_ID_GALILEO_GT96100A 0x9653 -+ -+#define PCI_VENDOR_ID_LINKSYS 0x11ad -+#define PCI_VENDOR_ID_LITEON 0x11ad -+#define PCI_DEVICE_ID_LITEON_LNE100TX 0x0002 -+#define PCI_DEVICE_ID_LC82C115 0xC115 -+ -+#define PCI_VENDOR_ID_V3 0x11b0 -+#define PCI_DEVICE_ID_V3_V960 0x0001 -+#define PCI_DEVICE_ID_V3_V350 0x0001 -+#define PCI_DEVICE_ID_V3_V961 0x0002 -+#define PCI_DEVICE_ID_V3_V351 0x0002 -+ -+#define PCI_VENDOR_ID_NP 0x11bc -+#define PCI_DEVICE_ID_NP_PCI_FDDI 0x0001 -+ -+#define PCI_VENDOR_ID_ATT 0x11c1 -+#define PCI_DEVICE_ID_ATT_L56XMF 0x0440 -+#define PCI_DEVICE_ID_ATT_VENUS_MODEM 0x480 -+ -+#define PCI_VENDOR_ID_SPECIALIX 0x11cb -+#define PCI_DEVICE_ID_SPECIALIX_IO8 0x2000 -+#define PCI_DEVICE_ID_SPECIALIX_XIO 0x4000 -+#define PCI_DEVICE_ID_SPECIALIX_RIO 0x8000 -+#define PCI_SUBDEVICE_ID_SPECIALIX_SPEED4 0xa004 -+ -+#define PCI_VENDOR_ID_AURAVISION 0x11d1 -+#define PCI_DEVICE_ID_AURAVISION_VXP524 0x01f7 -+ -+#define PCI_VENDOR_ID_ANALOG_DEVICES 0x11d4 -+#define PCI_DEVICE_ID_AD1889JS 0x1889 -+ -+#define PCI_VENDOR_ID_IKON 0x11d5 -+#define PCI_DEVICE_ID_IKON_10115 0x0115 -+#define PCI_DEVICE_ID_IKON_10117 0x0117 -+ -+#define PCI_VENDOR_ID_ZORAN 0x11de -+#define PCI_DEVICE_ID_ZORAN_36057 0x6057 -+#define PCI_DEVICE_ID_ZORAN_36120 0x6120 -+ -+#define PCI_VENDOR_ID_KINETIC 0x11f4 -+#define PCI_DEVICE_ID_KINETIC_2915 0x2915 -+ -+#define PCI_VENDOR_ID_COMPEX 0x11f6 -+#define PCI_DEVICE_ID_COMPEX_ENET100VG4 0x0112 -+#define PCI_DEVICE_ID_COMPEX_RL2000 0x1401 -+#define PCI_DEVICE_ID_COMPEX_RL100ATX 0x2011 -+ -+#define PCI_VENDOR_ID_RP 0x11fe -+#define PCI_DEVICE_ID_RP32INTF 0x0001 -+#define PCI_DEVICE_ID_RP8INTF 0x0002 -+#define PCI_DEVICE_ID_RP16INTF 0x0003 -+#define PCI_DEVICE_ID_RP4QUAD 0x0004 -+#define PCI_DEVICE_ID_RP8OCTA 0x0005 -+#define PCI_DEVICE_ID_RP8J 0x0006 -+#define PCI_DEVICE_ID_RPP4 0x000A -+#define PCI_DEVICE_ID_RPP8 0x000B -+#define PCI_DEVICE_ID_RP8M 0x000C -+ -+#define PCI_VENDOR_ID_CYCLADES 0x120e -+#define PCI_DEVICE_ID_CYCLOM_Y_Lo 0x0100 -+#define PCI_DEVICE_ID_CYCLOM_Y_Hi 0x0101 -+#define PCI_DEVICE_ID_CYCLOM_4Y_Lo 0x0102 -+#define PCI_DEVICE_ID_CYCLOM_4Y_Hi 0x0103 -+#define PCI_DEVICE_ID_CYCLOM_8Y_Lo 0x0104 -+#define PCI_DEVICE_ID_CYCLOM_8Y_Hi 0x0105 -+#define PCI_DEVICE_ID_CYCLOM_Z_Lo 0x0200 -+#define PCI_DEVICE_ID_CYCLOM_Z_Hi 0x0201 -+#define PCI_DEVICE_ID_PC300_RX_2 0x0300 -+#define PCI_DEVICE_ID_PC300_RX_1 0x0301 -+#define PCI_DEVICE_ID_PC300_TE_2 0x0310 -+#define PCI_DEVICE_ID_PC300_TE_1 0x0311 -+ -+#define PCI_VENDOR_ID_ESSENTIAL 0x120f -+#define PCI_DEVICE_ID_ESSENTIAL_ROADRUNNER 0x0001 -+ -+#define PCI_VENDOR_ID_O2 0x1217 -+#define PCI_DEVICE_ID_O2_6729 0x6729 -+#define PCI_DEVICE_ID_O2_6730 0x673a -+#define PCI_DEVICE_ID_O2_6832 0x6832 -+#define PCI_DEVICE_ID_O2_6836 0x6836 -+ -+#define PCI_VENDOR_ID_3DFX 0x121a -+#define PCI_DEVICE_ID_3DFX_VOODOO 0x0001 -+#define PCI_DEVICE_ID_3DFX_VOODOO2 0x0002 -+#define PCI_DEVICE_ID_3DFX_BANSHEE 0x0003 -+#define PCI_DEVICE_ID_3DFX_VOODOO3 0x0005 -+ -+#define PCI_VENDOR_ID_SIGMADES 0x1236 -+#define PCI_DEVICE_ID_SIGMADES_6425 0x6401 -+ -+#define PCI_VENDOR_ID_CCUBE 0x123f -+ -+#define PCI_VENDOR_ID_AVM 0x1244 -+#define PCI_DEVICE_ID_AVM_B1 0x0700 -+#define PCI_DEVICE_ID_AVM_C4 0x0800 -+#define PCI_DEVICE_ID_AVM_A1 0x0a00 -+#define PCI_DEVICE_ID_AVM_A1_V2 0x0e00 -+#define PCI_DEVICE_ID_AVM_C2 0x1100 -+#define PCI_DEVICE_ID_AVM_T1 0x1200 -+ -+#define PCI_VENDOR_ID_DIPIX 0x1246 -+ -+#define PCI_VENDOR_ID_STALLION 0x124d -+#define PCI_DEVICE_ID_STALLION_ECHPCI832 0x0000 -+#define PCI_DEVICE_ID_STALLION_ECHPCI864 0x0002 -+#define PCI_DEVICE_ID_STALLION_EIOPCI 0x0003 -+ -+#define PCI_VENDOR_ID_OPTIBASE 0x1255 -+#define PCI_DEVICE_ID_OPTIBASE_FORGE 0x1110 -+#define PCI_DEVICE_ID_OPTIBASE_FUSION 0x1210 -+#define PCI_DEVICE_ID_OPTIBASE_VPLEX 0x2110 -+#define PCI_DEVICE_ID_OPTIBASE_VPLEXCC 0x2120 -+#define PCI_DEVICE_ID_OPTIBASE_VQUEST 0x2130 -+ -+#define PCI_VENDOR_ID_ESS 0x125d -+#define PCI_DEVICE_ID_ESS_ESS1968 0x1968 -+#define PCI_DEVICE_ID_ESS_AUDIOPCI 0x1969 -+#define PCI_DEVICE_ID_ESS_ESS1978 0x1978 -+ -+#define PCI_VENDOR_ID_HARRIS 0x1260 -+#define PCI_DEVICE_ID_HARRIS_PRISM2 0x3873 -+ -+#define PCI_VENDOR_ID_SATSAGEM 0x1267 -+#define PCI_DEVICE_ID_SATSAGEM_NICCY 0x1016 -+#define PCI_DEVICE_ID_SATSAGEM_PCR2101 0x5352 -+#define PCI_DEVICE_ID_SATSAGEM_TELSATTURBO 0x5a4b -+ -+#define PCI_VENDOR_ID_HUGHES 0x1273 -+#define PCI_DEVICE_ID_HUGHES_DIRECPC 0x0002 -+ -+#define PCI_VENDOR_ID_ENSONIQ 0x1274 -+#define PCI_DEVICE_ID_ENSONIQ_CT5880 0x5880 -+#define PCI_DEVICE_ID_ENSONIQ_ES1370 0x5000 -+#define PCI_DEVICE_ID_ENSONIQ_ES1371 0x1371 -+ -+#define PCI_VENDOR_ID_ROCKWELL 0x127A -+ -+#define PCI_VENDOR_ID_DAVICOM 0x1282 -+#define PCI_DEVICE_ID_DM9009 0x9009 -+#define PCI_DEVICE_ID_DM9102 0x9102 -+ -+#define PCI_VENDOR_ID_ITE 0x1283 -+#define PCI_DEVICE_ID_ITE_IT8172G_AUDIO 0x0801 -+#define PCI_DEVICE_ID_ITE_IT8172G 0x8172 -+#define PCI_DEVICE_ID_ITE_8872 0x8872 -+ -+ -+/* formerly Platform Tech */ -+#define PCI_VENDOR_ID_ESS_OLD 0x1285 -+#define PCI_DEVICE_ID_ESS_ESS0100 0x0100 -+ -+#define PCI_VENDOR_ID_ALTEON 0x12ae -+#define PCI_DEVICE_ID_ALTEON_ACENIC 0x0001 -+ -+#define PCI_VENDOR_ID_USR 0x12B9 -+ -+#define PCI_VENDOR_ID_HOLTEK 0x12c3 -+#define PCI_DEVICE_ID_HOLTEK_HT80232 0x0058 -+ -+#define PCI_SUBVENDOR_ID_CONNECT_TECH 0x12c4 -+#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH8_232 0x0001 -+#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH4_232 0x0002 -+#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH2_232 0x0003 -+#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH8_485 0x0004 -+#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH8_485_4_4 0x0005 -+#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH4_485 0x0006 -+#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH4_485_2_2 0x0007 -+#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH2_485 0x0008 -+#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH8_485_2_6 0x0009 -+#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH081101V1 0x000A -+#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH041101V1 0x000B -+ -+#define PCI_VENDOR_ID_PICTUREL 0x12c5 -+#define PCI_DEVICE_ID_PICTUREL_PCIVST 0x0081 -+ -+#define PCI_VENDOR_ID_NVIDIA_SGS 0x12d2 -+#define PCI_DEVICE_ID_NVIDIA_SGS_RIVA128 0x0018 -+ -+#define PCI_SUBVENDOR_ID_CHASE_PCIFAST 0x12E0 -+#define PCI_SUBDEVICE_ID_CHASE_PCIFAST4 0x0031 -+#define PCI_SUBDEVICE_ID_CHASE_PCIFAST8 0x0021 -+#define PCI_SUBDEVICE_ID_CHASE_PCIFAST16 0x0011 -+#define PCI_SUBDEVICE_ID_CHASE_PCIFAST16FMC 0x0041 -+#define PCI_SUBVENDOR_ID_CHASE_PCIRAS 0x124D -+#define PCI_SUBDEVICE_ID_CHASE_PCIRAS4 0xF001 -+#define PCI_SUBDEVICE_ID_CHASE_PCIRAS8 0xF010 -+ -+#define PCI_VENDOR_ID_AUREAL 0x12eb -+#define PCI_DEVICE_ID_AUREAL_VORTEX_1 0x0001 -+#define PCI_DEVICE_ID_AUREAL_VORTEX_2 0x0002 -+ -+#define PCI_VENDOR_ID_CBOARDS 0x1307 -+#define PCI_DEVICE_ID_CBOARDS_DAS1602_16 0x0001 -+ -+#define PCI_VENDOR_ID_SIIG 0x131f -+#define PCI_DEVICE_ID_SIIG_1S_10x_550 0x1000 -+#define PCI_DEVICE_ID_SIIG_1S_10x_650 0x1001 -+#define PCI_DEVICE_ID_SIIG_1S_10x_850 0x1002 -+#define PCI_DEVICE_ID_SIIG_1S1P_10x_550 0x1010 -+#define PCI_DEVICE_ID_SIIG_1S1P_10x_650 0x1011 -+#define PCI_DEVICE_ID_SIIG_1S1P_10x_850 0x1012 -+#define PCI_DEVICE_ID_SIIG_1P_10x 0x1020 -+#define PCI_DEVICE_ID_SIIG_2P_10x 0x1021 -+#define PCI_DEVICE_ID_SIIG_2S_10x_550 0x1030 -+#define PCI_DEVICE_ID_SIIG_2S_10x_650 0x1031 -+#define PCI_DEVICE_ID_SIIG_2S_10x_850 0x1032 -+#define PCI_DEVICE_ID_SIIG_2S1P_10x_550 0x1034 -+#define PCI_DEVICE_ID_SIIG_2S1P_10x_650 0x1035 -+#define PCI_DEVICE_ID_SIIG_2S1P_10x_850 0x1036 -+#define PCI_DEVICE_ID_SIIG_4S_10x_550 0x1050 -+#define PCI_DEVICE_ID_SIIG_4S_10x_650 0x1051 -+#define PCI_DEVICE_ID_SIIG_4S_10x_850 0x1052 -+#define PCI_DEVICE_ID_SIIG_1S_20x_550 0x2000 -+#define PCI_DEVICE_ID_SIIG_1S_20x_650 0x2001 -+#define PCI_DEVICE_ID_SIIG_1S_20x_850 0x2002 -+#define PCI_DEVICE_ID_SIIG_1P_20x 0x2020 -+#define PCI_DEVICE_ID_SIIG_2P_20x 0x2021 -+#define PCI_DEVICE_ID_SIIG_2S_20x_550 0x2030 -+#define PCI_DEVICE_ID_SIIG_2S_20x_650 0x2031 -+#define PCI_DEVICE_ID_SIIG_2S_20x_850 0x2032 -+#define PCI_DEVICE_ID_SIIG_2P1S_20x_550 0x2040 -+#define PCI_DEVICE_ID_SIIG_2P1S_20x_650 0x2041 -+#define PCI_DEVICE_ID_SIIG_2P1S_20x_850 0x2042 -+#define PCI_DEVICE_ID_SIIG_1S1P_20x_550 0x2010 -+#define PCI_DEVICE_ID_SIIG_1S1P_20x_650 0x2011 -+#define PCI_DEVICE_ID_SIIG_1S1P_20x_850 0x2012 -+#define PCI_DEVICE_ID_SIIG_4S_20x_550 0x2050 -+#define PCI_DEVICE_ID_SIIG_4S_20x_650 0x2051 -+#define PCI_DEVICE_ID_SIIG_4S_20x_850 0x2052 -+#define PCI_DEVICE_ID_SIIG_2S1P_20x_550 0x2060 -+#define PCI_DEVICE_ID_SIIG_2S1P_20x_650 0x2061 -+#define PCI_DEVICE_ID_SIIG_2S1P_20x_850 0x2062 -+ -+#define PCI_VENDOR_ID_ADMTEK 0x1317 -+#define PCI_DEVICE_ID_ADMTEK_0985 0x0985 -+ -+#define PCI_VENDOR_ID_DOMEX 0x134a -+#define PCI_DEVICE_ID_DOMEX_DMX3191D 0x0001 -+ -+#define PCI_VENDOR_ID_QUATECH 0x135C -+#define PCI_DEVICE_ID_QUATECH_QSC100 0x0010 -+#define PCI_DEVICE_ID_QUATECH_DSC100 0x0020 -+#define PCI_DEVICE_ID_QUATECH_DSC200 0x0030 -+#define PCI_DEVICE_ID_QUATECH_QSC200 0x0040 -+#define PCI_DEVICE_ID_QUATECH_ESC100D 0x0050 -+#define PCI_DEVICE_ID_QUATECH_ESC100M 0x0060 -+ -+#define PCI_VENDOR_ID_SEALEVEL 0x135e -+#define PCI_DEVICE_ID_SEALEVEL_U530 0x7101 -+#define PCI_DEVICE_ID_SEALEVEL_UCOMM2 0x7201 -+#define PCI_DEVICE_ID_SEALEVEL_UCOMM422 0x7402 -+#define PCI_DEVICE_ID_SEALEVEL_UCOMM232 0x7202 -+#define PCI_DEVICE_ID_SEALEVEL_COMM4 0x7401 -+#define PCI_DEVICE_ID_SEALEVEL_COMM8 0x7801 -+ -+#define PCI_VENDOR_ID_HYPERCOPE 0x1365 -+#define PCI_DEVICE_ID_HYPERCOPE_PLX 0x9050 -+#define PCI_SUBDEVICE_ID_HYPERCOPE_OLD_ERGO 0x0104 -+#define PCI_SUBDEVICE_ID_HYPERCOPE_ERGO 0x0106 -+#define PCI_SUBDEVICE_ID_HYPERCOPE_METRO 0x0107 -+#define PCI_SUBDEVICE_ID_HYPERCOPE_CHAMP2 0x0108 -+#define PCI_SUBDEVICE_ID_HYPERCOPE_PLEXUS 0x0109 -+ -+#define PCI_VENDOR_ID_KAWASAKI 0x136b -+#define PCI_DEVICE_ID_MCHIP_KL5A72002 0xff01 -+ -+#define PCI_VENDOR_ID_LMC 0x1376 -+#define PCI_DEVICE_ID_LMC_HSSI 0x0003 -+#define PCI_DEVICE_ID_LMC_DS3 0x0004 -+#define PCI_DEVICE_ID_LMC_SSI 0x0005 -+#define PCI_DEVICE_ID_LMC_T1 0x0006 -+ -+#define PCI_VENDOR_ID_NETGEAR 0x1385 -+#define PCI_DEVICE_ID_NETGEAR_MA301 0x4100 -+#define PCI_DEVICE_ID_NETGEAR_GA620 0x620a -+#define PCI_DEVICE_ID_NETGEAR_GA622 0x622a -+ -+#define PCI_VENDOR_ID_APPLICOM 0x1389 -+#define PCI_DEVICE_ID_APPLICOM_PCIGENERIC 0x0001 -+#define PCI_DEVICE_ID_APPLICOM_PCI2000IBS_CAN 0x0002 -+#define PCI_DEVICE_ID_APPLICOM_PCI2000PFB 0x0003 -+ -+#define PCI_VENDOR_ID_MOXA 0x1393 -+#define PCI_DEVICE_ID_MOXA_C104 0x1040 -+#define PCI_DEVICE_ID_MOXA_C168 0x1680 -+#define PCI_DEVICE_ID_MOXA_CP204J 0x2040 -+#define PCI_DEVICE_ID_MOXA_C218 0x2180 -+#define PCI_DEVICE_ID_MOXA_C320 0x3200 -+ -+#define PCI_VENDOR_ID_CCD 0x1397 -+#define PCI_DEVICE_ID_CCD_2BD0 0x2bd0 -+#define PCI_DEVICE_ID_CCD_B000 0xb000 -+#define PCI_DEVICE_ID_CCD_B006 0xb006 -+#define PCI_DEVICE_ID_CCD_B007 0xb007 -+#define PCI_DEVICE_ID_CCD_B008 0xb008 -+#define PCI_DEVICE_ID_CCD_B009 0xb009 -+#define PCI_DEVICE_ID_CCD_B00A 0xb00a -+#define PCI_DEVICE_ID_CCD_B00B 0xb00b -+#define PCI_DEVICE_ID_CCD_B00C 0xb00c -+#define PCI_DEVICE_ID_CCD_B100 0xb100 -+ -+#define PCI_VENDOR_ID_MICROGATE 0x13c0 -+#define PCI_DEVICE_ID_MICROGATE_USC 0x0010 -+#define PCI_DEVICE_ID_MICROGATE_SCC 0x0020 -+#define PCI_DEVICE_ID_MICROGATE_SCA 0x0030 -+ -+#define PCI_VENDOR_ID_3WARE 0x13C1 -+#define PCI_DEVICE_ID_3WARE_1000 0x1000 -+ -+#define PCI_VENDOR_ID_ABOCOM 0x13D1 -+#define PCI_DEVICE_ID_ABOCOM_2BD1 0x2BD1 -+ -+#define PCI_VENDOR_ID_CMEDIA 0x13f6 -+#define PCI_DEVICE_ID_CMEDIA_CM8338A 0x0100 -+#define PCI_DEVICE_ID_CMEDIA_CM8338B 0x0101 -+#define PCI_DEVICE_ID_CMEDIA_CM8738 0x0111 -+#define PCI_DEVICE_ID_CMEDIA_CM8738B 0x0112 -+ -+#define PCI_VENDOR_ID_LAVA 0x1407 -+#define PCI_DEVICE_ID_LAVA_DSERIAL 0x0100 /* 2x 16550 */ -+#define PCI_DEVICE_ID_LAVA_QUATRO_A 0x0101 /* 2x 16550, half of 4 port */ -+#define PCI_DEVICE_ID_LAVA_QUATRO_B 0x0102 /* 2x 16550, half of 4 port */ -+#define PCI_DEVICE_ID_LAVA_PORT_PLUS 0x0200 /* 2x 16650 */ -+#define PCI_DEVICE_ID_LAVA_QUAD_A 0x0201 /* 2x 16650, half of 4 port */ -+#define PCI_DEVICE_ID_LAVA_QUAD_B 0x0202 /* 2x 16650, half of 4 port */ -+#define PCI_DEVICE_ID_LAVA_SSERIAL 0x0500 /* 1x 16550 */ -+#define PCI_DEVICE_ID_LAVA_PORT_650 0x0600 /* 1x 16650 */ -+#define PCI_DEVICE_ID_LAVA_PARALLEL 0x8000 -+#define PCI_DEVICE_ID_LAVA_DUAL_PAR_A 0x8002 /* The Lava Dual Parallel is */ -+#define PCI_DEVICE_ID_LAVA_DUAL_PAR_B 0x8003 /* two PCI devices on a card */ -+#define PCI_DEVICE_ID_LAVA_BOCA_IOPPAR 0x8800 -+ -+#define PCI_VENDOR_ID_TIMEDIA 0x1409 -+#define PCI_DEVICE_ID_TIMEDIA_1889 0x7168 -+ -+#define PCI_VENDOR_ID_OXSEMI 0x1415 -+#define PCI_DEVICE_ID_OXSEMI_12PCI840 0x8403 -+#define PCI_DEVICE_ID_OXSEMI_16PCI954 0x9501 -+#define PCI_DEVICE_ID_OXSEMI_16PCI952 0x950A -+#define PCI_DEVICE_ID_OXSEMI_16PCI95N 0x9511 -+#define PCI_DEVICE_ID_OXSEMI_16PCI954PP 0x9513 -+ -+#define PCI_VENDOR_ID_AIRONET 0x14b9 -+#define PCI_DEVICE_ID_AIRONET_4800_1 0x0001 -+#define PCI_DEVICE_ID_AIRONET_4800 0x4500 // values switched? see -+#define PCI_DEVICE_ID_AIRONET_4500 0x4800 // drivers/net/aironet4500_card.c -+ -+#define PCI_VENDOR_ID_TITAN 0x14D2 -+#define PCI_DEVICE_ID_TITAN_010L 0x8001 -+#define PCI_DEVICE_ID_TITAN_100L 0x8010 -+#define PCI_DEVICE_ID_TITAN_110L 0x8011 -+#define PCI_DEVICE_ID_TITAN_200L 0x8020 -+#define PCI_DEVICE_ID_TITAN_210L 0x8021 -+#define PCI_DEVICE_ID_TITAN_400L 0x8040 -+#define PCI_DEVICE_ID_TITAN_800L 0x8080 -+#define PCI_DEVICE_ID_TITAN_100 0xA001 -+#define PCI_DEVICE_ID_TITAN_200 0xA005 -+#define PCI_DEVICE_ID_TITAN_400 0xA003 -+#define PCI_DEVICE_ID_TITAN_800B 0xA004 -+ -+#define PCI_VENDOR_ID_PANACOM 0x14d4 -+#define PCI_DEVICE_ID_PANACOM_QUADMODEM 0x0400 -+#define PCI_DEVICE_ID_PANACOM_DUALMODEM 0x0402 -+ -+#define PCI_VENDOR_ID_BROADCOM 0x14e4 -+#define PCI_DEVICE_ID_TIGON3_5700 0x1644 -+#define PCI_DEVICE_ID_TIGON3_5701 0x1645 -+#define PCI_DEVICE_ID_TIGON3_5702 0x1646 -+#define PCI_DEVICE_ID_TIGON3_5703 0x1647 -+#define PCI_DEVICE_ID_TIGON3_5704 0x1648 -+#define PCI_DEVICE_ID_TIGON3_5702FE 0x164d -+#define PCI_DEVICE_ID_TIGON3_5705 0x1653 -+#define PCI_DEVICE_ID_TIGON3_5705_2 0x1654 -+#define PCI_DEVICE_ID_TIGON3_5705M 0x165d -+#define PCI_DEVICE_ID_TIGON3_5705M_2 0x165e -+#define PCI_DEVICE_ID_TIGON3_5782 0x1696 -+#define PCI_DEVICE_ID_TIGON3_5788 0x169c -+#define PCI_DEVICE_ID_TIGON3_5702X 0x16a6 -+#define PCI_DEVICE_ID_TIGON3_5703X 0x16a7 -+#define PCI_DEVICE_ID_TIGON3_5704S 0x16a8 -+#define PCI_DEVICE_ID_TIGON3_5702A3 0x16c6 -+#define PCI_DEVICE_ID_TIGON3_5703A3 0x16c7 -+#define PCI_DEVICE_ID_TIGON3_5901 0x170d -+#define PCI_DEVICE_ID_TIGON3_5901_2 0x170e -+ -+#define PCI_VENDOR_ID_SYBA 0x1592 -+#define PCI_DEVICE_ID_SYBA_2P_EPP 0x0782 -+#define PCI_DEVICE_ID_SYBA_1P_ECP 0x0783 -+ -+#define PCI_VENDOR_ID_MORETON 0x15aa -+#define PCI_DEVICE_ID_RASTEL_2PORT 0x2000 -+ -+#define PCI_VENDOR_ID_ZOLTRIX 0x15b0 -+#define PCI_DEVICE_ID_ZOLTRIX_2BD0 0x2bd0 -+ -+#define PCI_VENDOR_ID_PDC 0x15e9 -+#define PCI_DEVICE_ID_PDC_1841 0x1841 -+ -+#define PCI_VENDOR_ID_SYMPHONY 0x1c1c -+#define PCI_DEVICE_ID_SYMPHONY_101 0x0001 -+ -+#define PCI_VENDOR_ID_TEKRAM 0x1de1 -+#define PCI_DEVICE_ID_TEKRAM_DC290 0xdc29 -+ -+#define PCI_VENDOR_ID_3DLABS 0x3d3d -+#define PCI_DEVICE_ID_3DLABS_300SX 0x0001 -+#define PCI_DEVICE_ID_3DLABS_500TX 0x0002 -+#define PCI_DEVICE_ID_3DLABS_DELTA 0x0003 -+#define PCI_DEVICE_ID_3DLABS_PERMEDIA 0x0004 -+#define PCI_DEVICE_ID_3DLABS_MX 0x0006 -+#define PCI_DEVICE_ID_3DLABS_PERMEDIA2 0x0007 -+#define PCI_DEVICE_ID_3DLABS_GAMMA 0x0008 -+#define PCI_DEVICE_ID_3DLABS_PERMEDIA2V 0x0009 -+ -+#define PCI_VENDOR_ID_AVANCE 0x4005 -+#define PCI_DEVICE_ID_AVANCE_ALG2064 0x2064 -+#define PCI_DEVICE_ID_AVANCE_2302 0x2302 -+ -+#define PCI_VENDOR_ID_AKS 0x416c -+#define PCI_DEVICE_ID_AKS_ALADDINCARD 0x0100 -+#define PCI_DEVICE_ID_AKS_CPC 0x0200 -+ -+#define PCI_VENDOR_ID_NETVIN 0x4a14 -+#define PCI_DEVICE_ID_NETVIN_NV5000SC 0x5000 -+ -+#define PCI_VENDOR_ID_S3 0x5333 -+#define PCI_DEVICE_ID_S3_PLATO_PXS 0x0551 -+#define PCI_DEVICE_ID_S3_ViRGE 0x5631 -+#define PCI_DEVICE_ID_S3_TRIO 0x8811 -+#define PCI_DEVICE_ID_S3_AURORA64VP 0x8812 -+#define PCI_DEVICE_ID_S3_TRIO64UVP 0x8814 -+#define PCI_DEVICE_ID_S3_ViRGE_VX 0x883d -+#define PCI_DEVICE_ID_S3_868 0x8880 -+#define PCI_DEVICE_ID_S3_928 0x88b0 -+#define PCI_DEVICE_ID_S3_864_1 0x88c0 -+#define PCI_DEVICE_ID_S3_864_2 0x88c1 -+#define PCI_DEVICE_ID_S3_964_1 0x88d0 -+#define PCI_DEVICE_ID_S3_964_2 0x88d1 -+#define PCI_DEVICE_ID_S3_968 0x88f0 -+#define PCI_DEVICE_ID_S3_TRIO64V2 0x8901 -+#define PCI_DEVICE_ID_S3_PLATO_PXG 0x8902 -+#define PCI_DEVICE_ID_S3_ViRGE_DXGX 0x8a01 -+#define PCI_DEVICE_ID_S3_ViRGE_GX2 0x8a10 -+#define PCI_DEVICE_ID_S3_ViRGE_MX 0x8c01 -+#define PCI_DEVICE_ID_S3_ViRGE_MXP 0x8c02 -+#define PCI_DEVICE_ID_S3_ViRGE_MXPMV 0x8c03 -+#define PCI_DEVICE_ID_S3_SONICVIBES 0xca00 -+ -+#define PCI_VENDOR_ID_DCI 0x6666 -+#define PCI_DEVICE_ID_DCI_PCCOM4 0x0001 -+#define PCI_DEVICE_ID_DCI_PCCOM8 0x0002 -+ -+#define PCI_VENDOR_ID_GENROCO 0x5555 -+#define PCI_DEVICE_ID_GENROCO_HFP832 0x0003 -+ -+#define PCI_VENDOR_ID_INTEL 0x8086 -+#define PCI_DEVICE_ID_INTEL_21145 0x0039 -+#define PCI_DEVICE_ID_INTEL_82375 0x0482 -+#define PCI_DEVICE_ID_INTEL_82424 0x0483 -+#define PCI_DEVICE_ID_INTEL_82378 0x0484 -+#define PCI_DEVICE_ID_INTEL_82430 0x0486 -+#define PCI_DEVICE_ID_INTEL_82434 0x04a3 -+#define PCI_DEVICE_ID_INTEL_I960 0x0960 -+#define PCI_DEVICE_ID_INTEL_82542 0x1000 -+#define PCI_DEVICE_ID_INTEL_82543GC_FIBER 0x1001 -+#define PCI_DEVICE_ID_INTEL_82543GC_COPPER 0x1004 -+#define PCI_DEVICE_ID_INTEL_82544EI_COPPER 0x1008 -+#define PCI_DEVICE_ID_INTEL_82544EI_FIBER 0x1009 -+#define PCI_DEVICE_ID_INTEL_82544GC_COPPER 0x100C -+#define PCI_DEVICE_ID_INTEL_82544GC_LOM 0x100D -+#define PCI_DEVICE_ID_INTEL_82540EM 0x100E -+#define PCI_DEVICE_ID_INTEL_82545EM_COPPER 0x100F -+#define PCI_DEVICE_ID_INTEL_82546EB_COPPER 0x1010 -+#define PCI_DEVICE_ID_INTEL_82545EM_FIBER 0x1011 -+#define PCI_DEVICE_ID_INTEL_82546EB_FIBER 0x1012 -+#define PCI_DEVICE_ID_INTEL_82540EM_LOM 0x1015 -+#define PCI_DEVICE_ID_INTEL_ID1029 0x1029 -+#define PCI_DEVICE_ID_INTEL_ID1030 0x1030 -+#define PCI_DEVICE_ID_INTEL_ID1031 0x1031 -+#define PCI_DEVICE_ID_INTEL_ID1038 0x1038 -+#define PCI_DEVICE_ID_INTEL_ID1039 0x1039 -+#define PCI_DEVICE_ID_INTEL_ID103A 0x103A -+#define PCI_DEVICE_ID_INTEL_82562ET 0x1031 -+#define PCI_DEVICE_ID_INTEL_82559ER 0x1209 -+#define PCI_DEVICE_ID_INTEL_82092AA_0 0x1221 -+#define PCI_DEVICE_ID_INTEL_82092AA_1 0x1222 -+#define PCI_DEVICE_ID_INTEL_7116 0x1223 -+#define PCI_DEVICE_ID_INTEL_82596 0x1226 -+#define PCI_DEVICE_ID_INTEL_82865 0x1227 -+#define PCI_DEVICE_ID_INTEL_82557 0x1229 -+#define PCI_DEVICE_ID_INTEL_82437 0x122d -+#define PCI_DEVICE_ID_INTEL_82371FB_0 0x122e -+#define PCI_DEVICE_ID_INTEL_82371FB_1 0x1230 -+#define PCI_DEVICE_ID_INTEL_82371MX 0x1234 -+#define PCI_DEVICE_ID_INTEL_82437MX 0x1235 -+#define PCI_DEVICE_ID_INTEL_82441 0x1237 -+#define PCI_DEVICE_ID_INTEL_82380FB 0x124b -+#define PCI_DEVICE_ID_INTEL_82439 0x1250 -+#define PCI_DEVICE_ID_INTEL_80960_RP 0x1960 -+#define PCI_DEVICE_ID_INTEL_82801AA_0 0x2410 -+#define PCI_DEVICE_ID_INTEL_82801AA_1 0x2411 -+#define PCI_DEVICE_ID_INTEL_82801AA_2 0x2412 -+#define PCI_DEVICE_ID_INTEL_82801AA_3 0x2413 -+#define PCI_DEVICE_ID_INTEL_82801AA_5 0x2415 -+#define PCI_DEVICE_ID_INTEL_82801AA_6 0x2416 -+#define PCI_DEVICE_ID_INTEL_82801AA_8 0x2418 -+#define PCI_DEVICE_ID_INTEL_82801AB_0 0x2420 -+#define PCI_DEVICE_ID_INTEL_82801AB_1 0x2421 -+#define PCI_DEVICE_ID_INTEL_82801AB_2 0x2422 -+#define PCI_DEVICE_ID_INTEL_82801AB_3 0x2423 -+#define PCI_DEVICE_ID_INTEL_82801AB_5 0x2425 -+#define PCI_DEVICE_ID_INTEL_82801AB_6 0x2426 -+#define PCI_DEVICE_ID_INTEL_82801AB_8 0x2428 -+#define PCI_DEVICE_ID_INTEL_82801BA_0 0x2440 -+#define PCI_DEVICE_ID_INTEL_82801BA_1 0x2442 -+#define PCI_DEVICE_ID_INTEL_82801BA_2 0x2443 -+#define PCI_DEVICE_ID_INTEL_82801BA_3 0x2444 -+#define PCI_DEVICE_ID_INTEL_82801BA_4 0x2445 -+#define PCI_DEVICE_ID_INTEL_82801BA_5 0x2446 -+#define PCI_DEVICE_ID_INTEL_82801BA_6 0x2448 -+#define PCI_DEVICE_ID_INTEL_82801BA_7 0x2449 -+#define PCI_DEVICE_ID_INTEL_82562 0x2449 -+#define PCI_DEVICE_ID_INTEL_82801BA_8 0x244a -+#define PCI_DEVICE_ID_INTEL_82801BA_9 0x244b -+#define PCI_DEVICE_ID_INTEL_82801BA_10 0x244c -+#define PCI_DEVICE_ID_INTEL_82801BA_11 0x244e -+#define PCI_DEVICE_ID_INTEL_82801CA_0 0x2480 -+#define PCI_DEVICE_ID_INTEL_82801CA_2 0x2482 -+#define PCI_DEVICE_ID_INTEL_82801CA_3 0x2483 -+#define PCI_DEVICE_ID_INTEL_82801CA_4 0x2484 -+#define PCI_DEVICE_ID_INTEL_82801CA_5 0x2485 -+#define PCI_DEVICE_ID_INTEL_82801CA_6 0x2486 -+#define PCI_DEVICE_ID_INTEL_82801CA_7 0x2487 -+#define PCI_DEVICE_ID_INTEL_82801CA_10 0x248a -+#define PCI_DEVICE_ID_INTEL_82801CA_11 0x248b -+#define PCI_DEVICE_ID_INTEL_82801CA_12 0x248c -+#define PCI_DEVICE_ID_INTEL_80310 0x530d -+#define PCI_DEVICE_ID_INTEL_82371SB_0 0x7000 -+#define PCI_DEVICE_ID_INTEL_82371SB_1 0x7010 -+#define PCI_DEVICE_ID_INTEL_82371SB_2 0x7020 -+#define PCI_DEVICE_ID_INTEL_82437VX 0x7030 -+#define PCI_DEVICE_ID_INTEL_82439TX 0x7100 -+#define PCI_DEVICE_ID_INTEL_82371AB_0 0x7110 -+#define PCI_DEVICE_ID_INTEL_82371AB 0x7111 -+#define PCI_DEVICE_ID_INTEL_82371AB_2 0x7112 -+#define PCI_DEVICE_ID_INTEL_82371AB_3 0x7113 -+#define PCI_DEVICE_ID_INTEL_82810_MC1 0x7120 -+#define PCI_DEVICE_ID_INTEL_82810_IG1 0x7121 -+#define PCI_DEVICE_ID_INTEL_82810_MC3 0x7122 -+#define PCI_DEVICE_ID_INTEL_82810_IG3 0x7123 -+#define PCI_DEVICE_ID_INTEL_82443LX_0 0x7180 -+#define PCI_DEVICE_ID_INTEL_82443LX_1 0x7181 -+#define PCI_DEVICE_ID_INTEL_82443BX_0 0x7190 -+#define PCI_DEVICE_ID_INTEL_82443BX_1 0x7191 -+#define PCI_DEVICE_ID_INTEL_82443BX_2 0x7192 -+#define PCI_DEVICE_ID_INTEL_82443MX_0 0x7198 -+#define PCI_DEVICE_ID_INTEL_82443MX_1 0x7199 -+#define PCI_DEVICE_ID_INTEL_82443MX_2 0x719a -+#define PCI_DEVICE_ID_INTEL_82443MX_3 0x719b -+#define PCI_DEVICE_ID_INTEL_82372FB_0 0x7600 -+#define PCI_DEVICE_ID_INTEL_82372FB_1 0x7601 -+#define PCI_DEVICE_ID_INTEL_82372FB_2 0x7602 -+#define PCI_DEVICE_ID_INTEL_82372FB_3 0x7603 -+#define PCI_DEVICE_ID_INTEL_82454GX 0x84c4 -+#define PCI_DEVICE_ID_INTEL_82450GX 0x84c5 -+#define PCI_DEVICE_ID_INTEL_82451NX 0x84ca -+ -+#define PCI_VENDOR_ID_COMPUTONE 0x8e0e -+#define PCI_DEVICE_ID_COMPUTONE_IP2EX 0x0291 -+#define PCI_DEVICE_ID_COMPUTONE_PG 0x0302 -+#define PCI_SUBVENDOR_ID_COMPUTONE 0x8e0e -+#define PCI_SUBDEVICE_ID_COMPUTONE_PG4 0x0001 -+#define PCI_SUBDEVICE_ID_COMPUTONE_PG8 0x0002 -+#define PCI_SUBDEVICE_ID_COMPUTONE_PG6 0x0003 -+ -+#define PCI_VENDOR_ID_KTI 0x8e2e -+#define PCI_DEVICE_ID_KTI_ET32P2 0x3000 -+ -+#define PCI_VENDOR_ID_ADAPTEC 0x9004 -+#define PCI_DEVICE_ID_ADAPTEC_7810 0x1078 -+#define PCI_DEVICE_ID_ADAPTEC_7821 0x2178 -+#define PCI_DEVICE_ID_ADAPTEC_38602 0x3860 -+#define PCI_DEVICE_ID_ADAPTEC_7850 0x5078 -+#define PCI_DEVICE_ID_ADAPTEC_7855 0x5578 -+#define PCI_DEVICE_ID_ADAPTEC_5800 0x5800 -+#define PCI_DEVICE_ID_ADAPTEC_3860 0x6038 -+#define PCI_DEVICE_ID_ADAPTEC_1480A 0x6075 -+#define PCI_DEVICE_ID_ADAPTEC_7860 0x6078 -+#define PCI_DEVICE_ID_ADAPTEC_7861 0x6178 -+#define PCI_DEVICE_ID_ADAPTEC_7870 0x7078 -+#define PCI_DEVICE_ID_ADAPTEC_7871 0x7178 -+#define PCI_DEVICE_ID_ADAPTEC_7872 0x7278 -+#define PCI_DEVICE_ID_ADAPTEC_7873 0x7378 -+#define PCI_DEVICE_ID_ADAPTEC_7874 0x7478 -+#define PCI_DEVICE_ID_ADAPTEC_7895 0x7895 -+#define PCI_DEVICE_ID_ADAPTEC_7880 0x8078 -+#define PCI_DEVICE_ID_ADAPTEC_7881 0x8178 -+#define PCI_DEVICE_ID_ADAPTEC_7882 0x8278 -+#define PCI_DEVICE_ID_ADAPTEC_7883 0x8378 -+#define PCI_DEVICE_ID_ADAPTEC_7884 0x8478 -+#define PCI_DEVICE_ID_ADAPTEC_7885 0x8578 -+#define PCI_DEVICE_ID_ADAPTEC_7886 0x8678 -+#define PCI_DEVICE_ID_ADAPTEC_7887 0x8778 -+#define PCI_DEVICE_ID_ADAPTEC_7888 0x8878 -+#define PCI_DEVICE_ID_ADAPTEC_1030 0x8b78 -+ -+#define PCI_VENDOR_ID_ADAPTEC2 0x9005 -+#define PCI_DEVICE_ID_ADAPTEC2_2940U2 0x0010 -+#define PCI_DEVICE_ID_ADAPTEC2_2930U2 0x0011 -+#define PCI_DEVICE_ID_ADAPTEC2_7890B 0x0013 -+#define PCI_DEVICE_ID_ADAPTEC2_7890 0x001f -+#define PCI_DEVICE_ID_ADAPTEC2_3940U2 0x0050 -+#define PCI_DEVICE_ID_ADAPTEC2_3950U2D 0x0051 -+#define PCI_DEVICE_ID_ADAPTEC2_7896 0x005f -+#define PCI_DEVICE_ID_ADAPTEC2_7892A 0x0080 -+#define PCI_DEVICE_ID_ADAPTEC2_7892B 0x0081 -+#define PCI_DEVICE_ID_ADAPTEC2_7892D 0x0083 -+#define PCI_DEVICE_ID_ADAPTEC2_7892P 0x008f -+#define PCI_DEVICE_ID_ADAPTEC2_7899A 0x00c0 -+#define PCI_DEVICE_ID_ADAPTEC2_7899B 0x00c1 -+#define PCI_DEVICE_ID_ADAPTEC2_7899D 0x00c3 -+#define PCI_DEVICE_ID_ADAPTEC2_7899P 0x00cf -+ -+#define PCI_VENDOR_ID_ATRONICS 0x907f -+#define PCI_DEVICE_ID_ATRONICS_2015 0x2015 -+ -+#define PCI_VENDOR_ID_HOLTEK2 0x9412 -+#define PCI_DEVICE_ID_HOLTEK2_6565 0x6565 -+ -+#define PCI_VENDOR_ID_NETMOS 0x9710 -+#define PCI_DEVICE_ID_NETMOS_9735 0x9735 -+#define PCI_DEVICE_ID_NETMOS_9835 0x9835 -+ -+#define PCI_SUBVENDOR_ID_EXSYS 0xd84d -+#define PCI_SUBDEVICE_ID_EXSYS_4014 0x4014 -+ -+#define PCI_VENDOR_ID_TIGERJET 0xe159 -+#define PCI_DEVICE_ID_TIGERJET_300 0x0001 -+#define PCI_DEVICE_ID_TIGERJET_100 0x0002 -+ -+#define PCI_VENDOR_ID_ARK 0xedd8 -+#define PCI_DEVICE_ID_ARK_STING 0xa091 -+#define PCI_DEVICE_ID_ARK_STINGARK 0xa099 -+#define PCI_DEVICE_ID_ARK_2000MT 0xa0a1 -+ -Index: b/netboot/pci_io.c -=================================================================== ---- /dev/null -+++ b/netboot/pci_io.c -@@ -0,0 +1,431 @@ -+/* -+** Support for NE2000 PCI clones added David Monro June 1997 -+** Generalised to other NICs by Ken Yap July 1997 -+** -+** Most of this is taken from: -+** -+** /usr/src/linux/drivers/pci/pci.c -+** /usr/src/linux/include/linux/pci.h -+** /usr/src/linux/arch/i386/bios32.c -+** /usr/src/linux/include/linux/bios32.h -+** /usr/src/linux/drivers/net/ne.c -+*/ -+#define PCBIOS -+#include "grub.h" -+#include "pci.h" -+ -+#ifdef CONFIG_PCI_DIRECT -+#define PCIBIOS_SUCCESSFUL 0x00 -+ -+#define DEBUG 0 -+ -+/* -+ * Functions for accessing PCI configuration space with type 1 accesses -+ */ -+ -+#define CONFIG_CMD(bus, device_fn, where) (0x80000000 | (bus << 16) | (device_fn << 8) | (where & ~3)) -+ -+int pcibios_read_config_byte(unsigned int bus, unsigned int device_fn, -+ unsigned int where, uint8_t *value) -+{ -+ outl(CONFIG_CMD(bus,device_fn,where), 0xCF8); -+ *value = inb(0xCFC + (where&3)); -+ return PCIBIOS_SUCCESSFUL; -+} -+ -+int pcibios_read_config_word (unsigned int bus, -+ unsigned int device_fn, unsigned int where, uint16_t *value) -+{ -+ outl(CONFIG_CMD(bus,device_fn,where), 0xCF8); -+ *value = inw(0xCFC + (where&2)); -+ return PCIBIOS_SUCCESSFUL; -+} -+ -+int pcibios_read_config_dword (unsigned int bus, unsigned int device_fn, -+ unsigned int where, uint32_t *value) -+{ -+ outl(CONFIG_CMD(bus,device_fn,where), 0xCF8); -+ *value = inl(0xCFC); -+ return PCIBIOS_SUCCESSFUL; -+} -+ -+int pcibios_write_config_byte (unsigned int bus, unsigned int device_fn, -+ unsigned int where, uint8_t value) -+{ -+ outl(CONFIG_CMD(bus,device_fn,where), 0xCF8); -+ outb(value, 0xCFC + (where&3)); -+ return PCIBIOS_SUCCESSFUL; -+} -+ -+int pcibios_write_config_word (unsigned int bus, unsigned int device_fn, -+ unsigned int where, uint16_t value) -+{ -+ outl(CONFIG_CMD(bus,device_fn,where), 0xCF8); -+ outw(value, 0xCFC + (where&2)); -+ return PCIBIOS_SUCCESSFUL; -+} -+ -+int pcibios_write_config_dword (unsigned int bus, unsigned int device_fn, unsigned int where, uint32_t value) -+{ -+ outl(CONFIG_CMD(bus,device_fn,where), 0xCF8); -+ outl(value, 0xCFC); -+ return PCIBIOS_SUCCESSFUL; -+} -+ -+#undef CONFIG_CMD -+ -+#else /* CONFIG_PCI_DIRECT not defined */ -+ -+#if !defined(PCBIOS) -+#error "The pcibios can only be used when the PCBIOS support is compiled in" -+#endif -+ -+ -+#define KERN_CODE_SEG 0X8 -+/* Stuff for asm */ -+#define save_flags(x) \ -+__asm__ __volatile__("pushfl ; popl %0":"=g" (x): /* no input */ :"memory") -+ -+#define cli() __asm__ __volatile__ ("cli": : :"memory") -+ -+#define restore_flags(x) \ -+__asm__ __volatile__("pushl %0 ; popfl": /* no output */ :"g" (x):"memory") -+ -+ -+ -+static struct { -+ unsigned long address; -+ unsigned short segment; -+} bios32_indirect = { 0, KERN_CODE_SEG }; -+ -+static long pcibios_entry = 0; -+static struct { -+ unsigned long address; -+ unsigned short segment; -+} pci_indirect = { 0, KERN_CODE_SEG }; -+ -+static unsigned long bios32_service(unsigned long service) -+{ -+ unsigned char return_code; /* %al */ -+ unsigned long address; /* %ebx */ -+ unsigned long length; /* %ecx */ -+ unsigned long entry; /* %edx */ -+ unsigned long flags; -+ -+ save_flags(flags); -+ __asm__( -+#ifdef ABSOLUTE_WITHOUT_ASTERISK -+ "lcall (%%edi)" -+#else -+ "lcall *(%%edi)" -+#endif -+ : "=a" (return_code), -+ "=b" (address), -+ "=c" (length), -+ "=d" (entry) -+ : "0" (service), -+ "1" (0), -+ "D" (&bios32_indirect)); -+ restore_flags(flags); -+ -+ switch (return_code) { -+ case 0: -+ return address + entry; -+ case 0x80: /* Not present */ -+ printf("bios32_service(%d) : not present\n", service); -+ return 0; -+ default: /* Shouldn't happen */ -+ printf("bios32_service(%d) : returned %#X, mail drew@colorado.edu\n", -+ service, return_code); -+ return 0; -+ } -+} -+ -+int pcibios_read_config_byte(unsigned int bus, -+ unsigned int device_fn, unsigned int where, uint8_t *value) -+{ -+ unsigned long ret; -+ unsigned long bx = (bus << 8) | device_fn; -+ unsigned long flags; -+ -+ save_flags(flags); -+ __asm__( -+#ifdef ABSOLUTE_WITHOUT_ASTERISK -+ "lcall (%%esi)\n\t" -+#else -+ "lcall *(%%esi)\n\t" -+#endif -+ "jc 1f\n\t" -+ "xor %%ah, %%ah\n" -+ "1:" -+ : "=c" (*value), -+ "=a" (ret) -+ : "1" (PCIBIOS_READ_CONFIG_BYTE), -+ "b" (bx), -+ "D" ((long) where), -+ "S" (&pci_indirect)); -+ restore_flags(flags); -+ return (int) (ret & 0xff00) >> 8; -+} -+ -+int pcibios_read_config_word(unsigned int bus, -+ unsigned int device_fn, unsigned int where, uint16_t *value) -+{ -+ unsigned long ret; -+ unsigned long bx = (bus << 8) | device_fn; -+ unsigned long flags; -+ -+ save_flags(flags); -+ __asm__( -+#ifdef ABSOLUTE_WITHOUT_ASTERISK -+ "lcall (%%esi)\n\t" -+#else -+ "lcall *(%%esi)\n\t" -+#endif -+ "jc 1f\n\t" -+ "xor %%ah, %%ah\n" -+ "1:" -+ : "=c" (*value), -+ "=a" (ret) -+ : "1" (PCIBIOS_READ_CONFIG_WORD), -+ "b" (bx), -+ "D" ((long) where), -+ "S" (&pci_indirect)); -+ restore_flags(flags); -+ return (int) (ret & 0xff00) >> 8; -+} -+ -+int pcibios_read_config_dword(unsigned int bus, -+ unsigned int device_fn, unsigned int where, uint32_t *value) -+{ -+ unsigned long ret; -+ unsigned long bx = (bus << 8) | device_fn; -+ unsigned long flags; -+ -+ save_flags(flags); -+ __asm__( -+#ifdef ABSOLUTE_WITHOUT_ASTERISK -+ "lcall (%%esi)\n\t" -+#else -+ "lcall *(%%esi)\n\t" -+#endif -+ "jc 1f\n\t" -+ "xor %%ah, %%ah\n" -+ "1:" -+ : "=c" (*value), -+ "=a" (ret) -+ : "1" (PCIBIOS_READ_CONFIG_DWORD), -+ "b" (bx), -+ "D" ((long) where), -+ "S" (&pci_indirect)); -+ restore_flags(flags); -+ return (int) (ret & 0xff00) >> 8; -+} -+ -+int pcibios_write_config_byte (unsigned int bus, -+ unsigned int device_fn, unsigned int where, uint8_t value) -+{ -+ unsigned long ret; -+ unsigned long bx = (bus << 8) | device_fn; -+ unsigned long flags; -+ -+ save_flags(flags); cli(); -+ __asm__( -+#ifdef ABSOLUTE_WITHOUT_ASTERISK -+ "lcall (%%esi)\n\t" -+#else -+ "lcall *(%%esi)\n\t" -+#endif -+ "jc 1f\n\t" -+ "xor %%ah, %%ah\n" -+ "1:" -+ : "=a" (ret) -+ : "0" (PCIBIOS_WRITE_CONFIG_BYTE), -+ "c" (value), -+ "b" (bx), -+ "D" ((long) where), -+ "S" (&pci_indirect)); -+ restore_flags(flags); -+ return (int) (ret & 0xff00) >> 8; -+} -+ -+int pcibios_write_config_word (unsigned int bus, -+ unsigned int device_fn, unsigned int where, uint16_t value) -+{ -+ unsigned long ret; -+ unsigned long bx = (bus << 8) | device_fn; -+ unsigned long flags; -+ -+ save_flags(flags); cli(); -+ __asm__( -+#ifdef ABSOLUTE_WITHOUT_ASTERISK -+ "lcall (%%esi)\n\t" -+#else -+ "lcall *(%%esi)\n\t" -+#endif -+ "jc 1f\n\t" -+ "xor %%ah, %%ah\n" -+ "1:" -+ : "=a" (ret) -+ : "0" (PCIBIOS_WRITE_CONFIG_WORD), -+ "c" (value), -+ "b" (bx), -+ "D" ((long) where), -+ "S" (&pci_indirect)); -+ restore_flags(flags); -+ return (int) (ret & 0xff00) >> 8; -+} -+ -+int pcibios_write_config_dword (unsigned int bus, -+ unsigned int device_fn, unsigned int where, uint32_t value) -+{ -+ unsigned long ret; -+ unsigned long bx = (bus << 8) | device_fn; -+ unsigned long flags; -+ -+ save_flags(flags); cli(); -+ __asm__( -+#ifdef ABSOLUTE_WITHOUT_ASTERISK -+ "lcall (%%esi)\n\t" -+#else -+ "lcall *(%%esi)\n\t" -+#endif -+ "jc 1f\n\t" -+ "xor %%ah, %%ah\n" -+ "1:" -+ : "=a" (ret) -+ : "0" (PCIBIOS_WRITE_CONFIG_DWORD), -+ "c" (value), -+ "b" (bx), -+ "D" ((long) where), -+ "S" (&pci_indirect)); -+ restore_flags(flags); -+ return (int) (ret & 0xff00) >> 8; -+} -+ -+static void check_pcibios(void) -+{ -+ unsigned long signature; -+ unsigned char present_status; -+ unsigned char major_revision; -+ unsigned char minor_revision; -+ unsigned long flags; -+ int pack; -+ -+ if ((pcibios_entry = bios32_service(PCI_SERVICE))) { -+ pci_indirect.address = pcibios_entry; -+ -+ save_flags(flags); -+ __asm__( -+#ifdef ABSOLUTE_WITHOUT_ASTERISK -+ "lcall (%%edi)\n\t" -+#else -+ "lcall *(%%edi)\n\t" -+#endif -+ "jc 1f\n\t" -+ "xor %%ah, %%ah\n" -+ "1:\tshl $8, %%eax\n\t" -+ "movw %%bx, %%ax" -+ : "=d" (signature), -+ "=a" (pack) -+ : "1" (PCIBIOS_PCI_BIOS_PRESENT), -+ "D" (&pci_indirect) -+ : "bx", "cx"); -+ restore_flags(flags); -+ -+ present_status = (pack >> 16) & 0xff; -+ major_revision = (pack >> 8) & 0xff; -+ minor_revision = pack & 0xff; -+ if (present_status || (signature != PCI_SIGNATURE)) { -+ printf("ERROR: BIOS32 says PCI BIOS, but no PCI " -+ "BIOS????\n"); -+ pcibios_entry = 0; -+ } -+#if DEBUG -+ if (pcibios_entry) { -+ printf ("pcibios_init : PCI BIOS revision %hhX.%hhX" -+ " entry at %#X\n", major_revision, -+ minor_revision, pcibios_entry); -+ } -+#endif -+ } -+} -+ -+static void pcibios_init(void) -+{ -+ union bios32 *check; -+ unsigned char sum; -+ int i, length; -+ unsigned long bios32_entry = 0; -+ -+ EnterFunction("pcibios_init"); -+ /* -+ * Follow the standard procedure for locating the BIOS32 Service -+ * directory by scanning the permissible address range from -+ * 0xe0000 through 0xfffff for a valid BIOS32 structure. -+ * -+ */ -+ -+ for (check = (union bios32 *) 0xe0000; check <= (union bios32 *) 0xffff0; ++check) { -+ if (check->fields.signature != BIOS32_SIGNATURE) -+ continue; -+ length = check->fields.length * 16; -+ if (!length) -+ continue; -+ sum = 0; -+ for (i = 0; i < length ; ++i) -+ sum += check->chars[i]; -+ if (sum != 0) -+ continue; -+ if (check->fields.revision != 0) { -+ printf("pcibios_init : unsupported revision %d at %#X, mail drew@colorado.edu\n", -+ check->fields.revision, check); -+ continue; -+ } -+#if DEBUG -+ printf("pcibios_init : BIOS32 Service Directory " -+ "structure at %#X\n", check); -+#endif -+ if (!bios32_entry) { -+ if (check->fields.entry >= 0x100000) { -+ printf("pcibios_init: entry in high " -+ "memory, giving up\n"); -+ return; -+ } else { -+ bios32_entry = check->fields.entry; -+#if DEBUG -+ printf("pcibios_init : BIOS32 Service Directory" -+ " entry at %#X\n", bios32_entry); -+#endif -+ bios32_indirect.address = bios32_entry; -+ } -+ } -+ } -+ if (bios32_entry) -+ check_pcibios(); -+ LeaveFunction("pcibios_init"); -+} -+ -+#endif /* CONFIG_PCI_DIRECT not defined*/ -+ -+unsigned long pcibios_bus_base(unsigned int bus __unused) -+{ -+ /* architecturally this must be 0 */ -+ return 0; -+} -+ -+void find_pci(int type, struct pci_device *dev) -+{ -+ EnterFunction("find_pci"); -+#ifndef CONFIG_PCI_DIRECT -+ if (!pcibios_entry) { -+ pcibios_init(); -+ } -+ if (!pcibios_entry) { -+ printf("pci_init: no BIOS32 detected\n"); -+ return; -+ } -+#endif -+ LeaveFunction("find_pci"); -+ return scan_pci_bus(type, dev); -+} -Index: b/netboot/pcnet32.c -=================================================================== ---- /dev/null -+++ b/netboot/pcnet32.c -@@ -0,0 +1,1004 @@ -+/************************************************************************** -+* -+* pcnet32.c -- Etherboot device driver for the AMD PCnet32 -+* Written 2003-2003 by Timothy Legge -+* -+* 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., 675 Mass Ave, Cambridge, MA 02139, USA. -+* -+* Portions of this code based on: -+* pcnet32.c: An AMD PCnet32 ethernet driver for linux: -+* -+* (C) 1996-1999 Thomas Bogendoerfer -+* See Linux Driver for full information -+* -+* The transmit and poll functions were written with reference to: -+* lance.c - LANCE NIC driver for Etherboot written by Ken Yap -+* -+* Linux Driver Version 1.27a, 10.02.2002 -+* -+* -+* REVISION HISTORY: -+* ================ -+* v1.0 08-06-2003 timlegge Initial port of Linux driver -+* v1.1 08-23-2003 timlegge Add multicast support -+* v1.2 01-17-2004 timlegge Initial driver output cleanup -+* v1.3 03-29-2004 timlegge More driver cleanup -+* -+* Indent Options: indent -kr -i8 -+***************************************************************************/ -+ -+/* to get some global routines like printf */ -+#include "etherboot.h" -+/* to get the interface to the body of the program */ -+#include "nic.h" -+/* to get the PCI support functions, if this is a PCI NIC */ -+#include "pci.h" -+/* Include the time functions */ -+#include "timer.h" -+#include "mii.h" -+/* void hex_dump(const char *data, const unsigned int len); */ -+ -+/* Etherboot Specific definations */ -+#define drv_version "v1.3" -+#define drv_date "03-29-2004" -+ -+typedef unsigned char u8; -+typedef signed char s8; -+typedef unsigned short u16; -+typedef signed short s16; -+typedef unsigned int u32; -+typedef signed int s32; -+ -+static u32 ioaddr; /* Globally used for the card's io address */ -+ -+#ifdef EDEBUG -+#define dprintf(x) printf x -+#else -+#define dprintf(x) -+#endif -+ -+/* Condensed operations for readability. */ -+#define virt_to_le32desc(addr) cpu_to_le32(virt_to_bus(addr)) -+#define le32desc_to_virt(addr) bus_to_virt(le32_to_cpu(addr)) -+ -+/* End Etherboot Specific */ -+ -+int cards_found /* __initdata */ ; -+ -+#ifdef REMOVE -+/* FIXME: Remove these they are probably pointless */ -+ -+/* -+ * VLB I/O addresses -+ */ -+static unsigned int pcnet32_portlist[] /*__initdata */ = -+{ 0x300, 0x320, 0x340, 0x360, 0 }; -+ -+static int pcnet32_debug = 1; -+static int tx_start = 1; /* Mapping -- 0:20, 1:64, 2:128, 3:~220 (depends on chip vers) */ -+static int pcnet32vlb; /* check for VLB cards ? */ -+ -+static struct net_device *pcnet32_dev; -+ -+static int max_interrupt_work = 80; -+static int rx_copybreak = 200; -+#endif -+#define PCNET32_PORT_AUI 0x00 -+#define PCNET32_PORT_10BT 0x01 -+#define PCNET32_PORT_GPSI 0x02 -+#define PCNET32_PORT_MII 0x03 -+ -+#define PCNET32_PORT_PORTSEL 0x03 -+#define PCNET32_PORT_ASEL 0x04 -+#define PCNET32_PORT_100 0x40 -+#define PCNET32_PORT_FD 0x80 -+ -+#define PCNET32_DMA_MASK 0xffffffff -+ -+/* -+ * table to translate option values from tulip -+ * to internal options -+ */ -+static unsigned char options_mapping[] = { -+ PCNET32_PORT_ASEL, /* 0 Auto-select */ -+ PCNET32_PORT_AUI, /* 1 BNC/AUI */ -+ PCNET32_PORT_AUI, /* 2 AUI/BNC */ -+ PCNET32_PORT_ASEL, /* 3 not supported */ -+ PCNET32_PORT_10BT | PCNET32_PORT_FD, /* 4 10baseT-FD */ -+ PCNET32_PORT_ASEL, /* 5 not supported */ -+ PCNET32_PORT_ASEL, /* 6 not supported */ -+ PCNET32_PORT_ASEL, /* 7 not supported */ -+ PCNET32_PORT_ASEL, /* 8 not supported */ -+ PCNET32_PORT_MII, /* 9 MII 10baseT */ -+ PCNET32_PORT_MII | PCNET32_PORT_FD, /* 10 MII 10baseT-FD */ -+ PCNET32_PORT_MII, /* 11 MII (autosel) */ -+ PCNET32_PORT_10BT, /* 12 10BaseT */ -+ PCNET32_PORT_MII | PCNET32_PORT_100, /* 13 MII 100BaseTx */ -+ PCNET32_PORT_MII | PCNET32_PORT_100 | PCNET32_PORT_FD, /* 14 MII 100BaseTx-FD */ -+ PCNET32_PORT_ASEL /* 15 not supported */ -+}; -+ -+#define MAX_UNITS 8 /* More are supported, limit only on options */ -+static int options[MAX_UNITS]; -+static int full_duplex[MAX_UNITS]; -+ -+/* -+ * Theory of Operation -+ * -+ * This driver uses the same software structure as the normal lance -+ * driver. So look for a verbose description in lance.c. The differences -+ * to the normal lance driver is the use of the 32bit mode of PCnet32 -+ * and PCnetPCI chips. Because these chips are 32bit chips, there is no -+ * 16MB limitation and we don't need bounce buffers. -+ */ -+ -+ -+ -+/* -+ * Set the number of Tx and Rx buffers, using Log_2(# buffers). -+ * Reasonable default values are 4 Tx buffers, and 16 Rx buffers. -+ * That translates to 2 (4 == 2^^2) and 4 (16 == 2^^4). -+ */ -+#ifndef PCNET32_LOG_TX_BUFFERS -+#define PCNET32_LOG_TX_BUFFERS 1 -+#define PCNET32_LOG_RX_BUFFERS 2 -+#endif -+ -+#define TX_RING_SIZE (1 << (PCNET32_LOG_TX_BUFFERS)) -+#define TX_RING_MOD_MASK (TX_RING_SIZE - 1) -+/* FIXME: Fix this to allow multiple tx_ring descriptors */ -+#define TX_RING_LEN_BITS 0x0000 /*PCNET32_LOG_TX_BUFFERS) << 12) */ -+ -+#define RX_RING_SIZE (1 << (PCNET32_LOG_RX_BUFFERS)) -+#define RX_RING_MOD_MASK (RX_RING_SIZE - 1) -+#define RX_RING_LEN_BITS ((PCNET32_LOG_RX_BUFFERS) << 4) -+ -+#define PKT_BUF_SZ 1544 -+ -+/* Offsets from base I/O address. */ -+#define PCNET32_WIO_RDP 0x10 -+#define PCNET32_WIO_RAP 0x12 -+#define PCNET32_WIO_RESET 0x14 -+#define PCNET32_WIO_BDP 0x16 -+ -+#define PCNET32_DWIO_RDP 0x10 -+#define PCNET32_DWIO_RAP 0x14 -+#define PCNET32_DWIO_RESET 0x18 -+#define PCNET32_DWIO_BDP 0x1C -+ -+#define PCNET32_TOTAL_SIZE 0x20 -+ -+/* Buffers for the tx and Rx */ -+ -+/* Create a static buffer of size PKT_BUF_SZ for each -+TX Descriptor. All descriptors point to a -+part of this buffer */ -+static unsigned char txb[PKT_BUF_SZ * TX_RING_SIZE]; -+// __attribute__ ((aligned(16))); -+ -+/* Create a static buffer of size PKT_BUF_SZ for each -+RX Descriptor All descriptors point to a -+part of this buffer */ -+static unsigned char rxb[RX_RING_SIZE * PKT_BUF_SZ]; -+// __attribute__ ((aligned(16))); -+ -+/* The PCNET32 Rx and Tx ring descriptors. */ -+struct pcnet32_rx_head { -+ u32 base; -+ s16 buf_length; -+ s16 status; -+ u32 msg_length; -+ u32 reserved; -+}; -+ -+struct pcnet32_tx_head { -+ u32 base; -+ s16 length; -+ s16 status; -+ u32 misc; -+ u32 reserved; -+}; -+ -+/* The PCNET32 32-Bit initialization block, described in databook. */ -+struct pcnet32_init_block { -+ u16 mode; -+ u16 tlen_rlen; -+ u8 phys_addr[6]; -+ u16 reserved; -+ u32 filter[2]; -+ /* Receive and transmit ring base, along with extra bits. */ -+ u32 rx_ring; -+ u32 tx_ring; -+}; -+/* PCnet32 access functions */ -+struct pcnet32_access { -+ u16(*read_csr) (unsigned long, int); -+ void (*write_csr) (unsigned long, int, u16); -+ u16(*read_bcr) (unsigned long, int); -+ void (*write_bcr) (unsigned long, int, u16); -+ u16(*read_rap) (unsigned long); -+ void (*write_rap) (unsigned long, u16); -+ void (*reset) (unsigned long); -+}; -+ -+/* Define the TX Descriptor */ -+static struct pcnet32_tx_head tx_ring[TX_RING_SIZE] -+ __attribute__ ((aligned(16))); -+ -+ -+/* Define the RX Descriptor */ -+static struct pcnet32_rx_head rx_ring[RX_RING_SIZE] -+ __attribute__ ((aligned(16))); -+ -+/* May need to be moved to mii.h */ -+struct mii_if_info { -+ int phy_id; -+ int advertising; -+ unsigned int full_duplex:1; /* is full duplex? */ -+}; -+ -+/* -+ * The first three fields of pcnet32_private are read by the ethernet device -+ * so we allocate the structure should be allocated by pci_alloc_consistent(). -+ */ -+#define MII_CNT 4 -+struct pcnet32_private { -+ struct pcnet32_init_block init_block; -+ struct pci_dev *pci_dev; /* Pointer to the associated pci device structure */ -+ const char *name; -+ /* The saved address of a sent-in-place packet/buffer, for skfree(). */ -+ struct sk_buff *tx_skbuff[TX_RING_SIZE]; -+ struct sk_buff *rx_skbuff[RX_RING_SIZE]; -+ struct pcnet32_access a; -+ unsigned int cur_rx, cur_tx; /* The next free ring entry */ -+ char tx_full; -+ int options; -+ int shared_irq:1, /* shared irq possible */ -+ ltint:1, /* enable TxDone-intr inhibitor */ -+ dxsuflo:1, /* disable transmit stop on uflo */ -+ mii:1; /* mii port available */ -+ struct mii_if_info mii_if; -+ unsigned char phys[MII_CNT]; -+ struct net_device *next; -+ int full_duplex:1; -+} lpx; -+ -+static struct pcnet32_private *lp; -+ -+static int mdio_read(struct nic *nic __unused, int phy_id, int reg_num); -+#if 0 -+static void mdio_write(struct nic *nic __unused, int phy_id, int reg_num, -+ int val); -+#endif -+enum pci_flags_bit { -+ PCI_USES_IO = 1, PCI_USES_MEM = 2, PCI_USES_MASTER = 4, -+ PCI_ADDR0 = 0x10 << 0, PCI_ADDR1 = 0x10 << 1, PCI_ADDR2 = -+ 0x10 << 2, PCI_ADDR3 = 0x10 << 3, -+}; -+ -+ -+static u16 pcnet32_wio_read_csr(unsigned long addr, int index) -+{ -+ outw(index, addr + PCNET32_WIO_RAP); -+ return inw(addr + PCNET32_WIO_RDP); -+} -+ -+static void pcnet32_wio_write_csr(unsigned long addr, int index, u16 val) -+{ -+ outw(index, addr + PCNET32_WIO_RAP); -+ outw(val, addr + PCNET32_WIO_RDP); -+} -+ -+static u16 pcnet32_wio_read_bcr(unsigned long addr, int index) -+{ -+ outw(index, addr + PCNET32_WIO_RAP); -+ return inw(addr + PCNET32_WIO_BDP); -+} -+ -+static void pcnet32_wio_write_bcr(unsigned long addr, int index, u16 val) -+{ -+ outw(index, addr + PCNET32_WIO_RAP); -+ outw(val, addr + PCNET32_WIO_BDP); -+} -+ -+static u16 pcnet32_wio_read_rap(unsigned long addr) -+{ -+ return inw(addr + PCNET32_WIO_RAP); -+} -+ -+static void pcnet32_wio_write_rap(unsigned long addr, u16 val) -+{ -+ outw(val, addr + PCNET32_WIO_RAP); -+} -+ -+static void pcnet32_wio_reset(unsigned long addr) -+{ -+ inw(addr + PCNET32_WIO_RESET); -+} -+ -+static int pcnet32_wio_check(unsigned long addr) -+{ -+ outw(88, addr + PCNET32_WIO_RAP); -+ return (inw(addr + PCNET32_WIO_RAP) == 88); -+} -+ -+static struct pcnet32_access pcnet32_wio = { -+ read_csr:pcnet32_wio_read_csr, -+ write_csr:pcnet32_wio_write_csr, -+ read_bcr:pcnet32_wio_read_bcr, -+ write_bcr:pcnet32_wio_write_bcr, -+ read_rap:pcnet32_wio_read_rap, -+ write_rap:pcnet32_wio_write_rap, -+ reset:pcnet32_wio_reset -+}; -+ -+static u16 pcnet32_dwio_read_csr(unsigned long addr, int index) -+{ -+ outl(index, addr + PCNET32_DWIO_RAP); -+ return (inl(addr + PCNET32_DWIO_RDP) & 0xffff); -+} -+ -+static void pcnet32_dwio_write_csr(unsigned long addr, int index, u16 val) -+{ -+ outl(index, addr + PCNET32_DWIO_RAP); -+ outl(val, addr + PCNET32_DWIO_RDP); -+} -+ -+static u16 pcnet32_dwio_read_bcr(unsigned long addr, int index) -+{ -+ outl(index, addr + PCNET32_DWIO_RAP); -+ return (inl(addr + PCNET32_DWIO_BDP) & 0xffff); -+} -+ -+static void pcnet32_dwio_write_bcr(unsigned long addr, int index, u16 val) -+{ -+ outl(index, addr + PCNET32_DWIO_RAP); -+ outl(val, addr + PCNET32_DWIO_BDP); -+} -+ -+static u16 pcnet32_dwio_read_rap(unsigned long addr) -+{ -+ return (inl(addr + PCNET32_DWIO_RAP) & 0xffff); -+} -+ -+static void pcnet32_dwio_write_rap(unsigned long addr, u16 val) -+{ -+ outl(val, addr + PCNET32_DWIO_RAP); -+} -+ -+static void pcnet32_dwio_reset(unsigned long addr) -+{ -+ inl(addr + PCNET32_DWIO_RESET); -+} -+ -+static int pcnet32_dwio_check(unsigned long addr) -+{ -+ outl(88, addr + PCNET32_DWIO_RAP); -+ return ((inl(addr + PCNET32_DWIO_RAP) & 0xffff) == 88); -+} -+ -+static struct pcnet32_access pcnet32_dwio = { -+ read_csr:pcnet32_dwio_read_csr, -+ write_csr:pcnet32_dwio_write_csr, -+ read_bcr:pcnet32_dwio_read_bcr, -+ write_bcr:pcnet32_dwio_write_bcr, -+ read_rap:pcnet32_dwio_read_rap, -+ write_rap:pcnet32_dwio_write_rap, -+ reset:pcnet32_dwio_reset -+}; -+ -+ -+/* Initialize the PCNET32 Rx and Tx rings. */ -+static int pcnet32_init_ring(struct nic *nic) -+{ -+ int i; -+ -+ lp->tx_full = 0; -+ lp->cur_rx = lp->cur_tx = 0; -+ -+ for (i = 0; i < RX_RING_SIZE; i++) { -+ rx_ring[i].base = (u32) virt_to_le32desc(&rxb[i]); -+ rx_ring[i].buf_length = le16_to_cpu(-PKT_BUF_SZ); -+ rx_ring[i].status = le16_to_cpu(0x8000); -+ } -+ -+ /* The Tx buffer address is filled in as needed, but we do need to clear -+ the upper ownership bit. */ -+ for (i = 0; i < TX_RING_SIZE; i++) { -+ tx_ring[i].base = 0; -+ tx_ring[i].status = 0; -+ } -+ -+ -+ lp->init_block.tlen_rlen = -+ le16_to_cpu(TX_RING_LEN_BITS | RX_RING_LEN_BITS); -+ for (i = 0; i < 6; i++) -+ lp->init_block.phys_addr[i] = nic->node_addr[i]; -+ lp->init_block.rx_ring = (u32) virt_to_le32desc(&rx_ring[0]); -+ lp->init_block.tx_ring = (u32) virt_to_le32desc(&tx_ring[0]); -+ return 0; -+} -+ -+/************************************************************************** -+RESET - Reset adapter -+***************************************************************************/ -+static void pcnet32_reset(struct nic *nic) -+{ -+ /* put the card in its initial state */ -+ u16 val; -+ int i; -+ -+ /* Reset the PCNET32 */ -+ lp->a.reset(ioaddr); -+ -+ /* switch pcnet32 to 32bit mode */ -+ lp->a.write_bcr(ioaddr, 20, 2); -+ -+ /* set/reset autoselect bit */ -+ val = lp->a.read_bcr(ioaddr, 2) & ~2; -+ if (lp->options & PCNET32_PORT_ASEL) -+ val |= 2; -+ lp->a.write_bcr(ioaddr, 2, val); -+ /* handle full duplex setting */ -+ if (lp->full_duplex) { -+ val = lp->a.read_bcr(ioaddr, 9) & ~3; -+ if (lp->options & PCNET32_PORT_FD) { -+ val |= 1; -+ if (lp->options == -+ (PCNET32_PORT_FD | PCNET32_PORT_AUI)) -+ val |= 2; -+ } else if (lp->options & PCNET32_PORT_ASEL) { -+ /* workaround of xSeries250, turn on for 79C975 only */ -+ i = ((lp->a. -+ read_csr(ioaddr, -+ 88) | (lp->a.read_csr(ioaddr, -+ 89) << 16)) >> -+ 12) & 0xffff; -+ if (i == 0x2627) -+ val |= 3; -+ } -+ lp->a.write_bcr(ioaddr, 9, val); -+ } -+ -+ /* set/reset GPSI bit in test register */ -+ val = lp->a.read_csr(ioaddr, 124) & ~0x10; -+ if ((lp->options & PCNET32_PORT_PORTSEL) == PCNET32_PORT_GPSI) -+ val |= 0x10; -+ lp->a.write_csr(ioaddr, 124, val); -+ -+ if (lp->mii && !(lp->options & PCNET32_PORT_ASEL)) { -+ val = lp->a.read_bcr(ioaddr, 32) & ~0x38; /* disable Auto Negotiation, set 10Mpbs, HD */ -+ if (lp->options & PCNET32_PORT_FD) -+ val |= 0x10; -+ if (lp->options & PCNET32_PORT_100) -+ val |= 0x08; -+ lp->a.write_bcr(ioaddr, 32, val); -+ } else { -+ if (lp->options & PCNET32_PORT_ASEL) { /* enable auto negotiate, setup, disable fd */ -+ val = lp->a.read_bcr(ioaddr, 32) & ~0x98; -+ val |= 0x20; -+ lp->a.write_bcr(ioaddr, 32, val); -+ } -+ } -+ -+#ifdef DO_DXSUFLO -+ if (lp->dxsuflo) { /* Disable transmit stop on underflow */ -+ val = lp->a.read_csr(ioaddr, 3); -+ val |= 0x40; -+ lp->a.write_csr(ioaddr, 3, val); -+ } -+#endif -+ -+ if (lp->ltint) { /* Enable TxDone-intr inhibitor */ -+ val = lp->a.read_csr(ioaddr, 5); -+ val |= (1 << 14); -+ lp->a.write_csr(ioaddr, 5, val); -+ } -+ lp->init_block.mode = -+ le16_to_cpu((lp->options & PCNET32_PORT_PORTSEL) << 7); -+ lp->init_block.filter[0] = 0xffffffff; -+ lp->init_block.filter[1] = 0xffffffff; -+ -+ pcnet32_init_ring(nic); -+ -+ -+ /* Re-initialize the PCNET32, and start it when done. */ -+ lp->a.write_csr(ioaddr, 1, -+ (virt_to_bus(&lp->init_block)) & 0xffff); -+ lp->a.write_csr(ioaddr, 2, (virt_to_bus(&lp->init_block)) >> 16); -+ lp->a.write_csr(ioaddr, 4, 0x0915); -+ lp->a.write_csr(ioaddr, 0, 0x0001); -+ -+ -+ i = 0; -+ while (i++ < 100) -+ if (lp->a.read_csr(ioaddr, 0) & 0x0100) -+ break; -+ /* -+ * We used to clear the InitDone bit, 0x0100, here but Mark Stockton -+ * reports that doing so triggers a bug in the '974. -+ */ -+ lp->a.write_csr(ioaddr, 0, 0x0042); -+ -+ dprintf(("pcnet32 open, csr0 %hX.\n", lp->a.read_csr(ioaddr, 0))); -+ -+} -+ -+/************************************************************************** -+POLL - Wait for a frame -+***************************************************************************/ -+static int pcnet32_poll(struct nic *nic __unused, int retrieve) -+{ -+ /* return true if there's an ethernet packet ready to read */ -+ /* nic->packet should contain data on return */ -+ /* nic->packetlen should contain length of data */ -+ -+ int status; -+ int entry; -+ -+ entry = lp->cur_rx & RX_RING_MOD_MASK; -+ status = ((short) le16_to_cpu(rx_ring[entry].status) >> 8); -+ -+ if (status < 0) -+ return 0; -+ -+ if ( ! retrieve ) return 1; -+ -+ if (status == 0x03) { -+ nic->packetlen = -+ (le32_to_cpu(rx_ring[entry].msg_length) & 0xfff) - 4; -+ memcpy(nic->packet, &rxb[entry], nic->packetlen); -+ -+ /* Andrew Boyd of QNX reports that some revs of the 79C765 -+ * clear the buffer length */ -+ rx_ring[entry].buf_length = le16_to_cpu(-PKT_BUF_SZ); -+ rx_ring[entry].status |= le16_to_cpu(0x8000); /* prime for next receive */ -+ /* Switch to the next Rx ring buffer */ -+ lp->cur_rx++; -+ -+ } else { -+ return 0; -+ } -+ -+ return 1; -+} -+ -+/************************************************************************** -+TRANSMIT - Transmit a frame -+***************************************************************************/ -+static void pcnet32_transmit(struct nic *nic __unused, const char *d, /* Destination */ -+ unsigned int t, /* Type */ -+ unsigned int s, /* size */ -+ const char *p) -+{ /* Packet */ -+ /* send the packet to destination */ -+ unsigned long time; -+ u8 *ptxb; -+ u16 nstype; -+ u16 status; -+ int entry = 0; /*lp->cur_tx & TX_RING_MOD_MASK; */ -+ -+ status = 0x8300; -+ /* point to the current txb incase multiple tx_rings are used */ -+ ptxb = txb + (lp->cur_tx * PKT_BUF_SZ); -+ -+ /* copy the packet to ring buffer */ -+ memcpy(ptxb, d, ETH_ALEN); /* dst */ -+ memcpy(ptxb + ETH_ALEN, nic->node_addr, ETH_ALEN); /* src */ -+ nstype = htons((u16) t); /* type */ -+ memcpy(ptxb + 2 * ETH_ALEN, (u8 *) & nstype, 2); /* type */ -+ memcpy(ptxb + ETH_HLEN, p, s); -+ -+ s += ETH_HLEN; -+ while (s < ETH_ZLEN) /* pad to min length */ -+ ptxb[s++] = '\0'; -+ -+ tx_ring[entry].length = le16_to_cpu(-s); -+ tx_ring[entry].misc = 0x00000000; -+ tx_ring[entry].base = (u32) virt_to_le32desc(ptxb); -+ -+ /* we set the top byte as the very last thing */ -+ tx_ring[entry].status = le16_to_cpu(status); -+ -+ -+ /* Trigger an immediate send poll */ -+ lp->a.write_csr(ioaddr, 0, 0x0048); -+ -+ /* wait for transmit complete */ -+ lp->cur_tx = 0; /* (lp->cur_tx + 1); */ -+ time = currticks() + TICKS_PER_SEC; /* wait one second */ -+ while (currticks() < time && -+ ((short) le16_to_cpu(tx_ring[entry].status) < 0)); -+ -+ if ((short) le16_to_cpu(tx_ring[entry].status) < 0) -+ printf("PCNET32 timed out on transmit\n"); -+ -+ /* Stop pointing at the current txb -+ * otherwise the card continues to send the packet */ -+ tx_ring[entry].base = 0; -+ -+} -+ -+/************************************************************************** -+DISABLE - Turn off ethernet interface -+***************************************************************************/ -+static void pcnet32_disable(struct dev *dev __unused) -+{ -+ /* Stop the PCNET32 here -- it ocassionally polls memory if we don't */ -+ lp->a.write_csr(ioaddr, 0, 0x0004); -+ -+ /* -+ * Switch back to 16-bit mode to avoid problesm with dumb -+ * DOS packet driver after a warm reboot -+ */ -+ lp->a.write_bcr(ioaddr, 20, 4); -+} -+ -+/************************************************************************** -+IRQ - Enable, Disable, or Force interrupts -+***************************************************************************/ -+static void pcnet32_irq(struct nic *nic __unused, irq_action_t action __unused) -+{ -+ switch ( action ) { -+ case DISABLE : -+ break; -+ case ENABLE : -+ break; -+ case FORCE : -+ break; -+ } -+} -+ -+/************************************************************************** -+PROBE - Look for an adapter, this routine's visible to the outside -+You should omit the last argument struct pci_device * for a non-PCI NIC -+***************************************************************************/ -+static int pcnet32_probe(struct dev *dev, struct pci_device *pci) -+{ -+ struct nic *nic = (struct nic *) dev; -+ int i, media; -+ int fdx, mii, fset, dxsuflo, ltint; -+ int chip_version; -+ char *chipname; -+ struct pcnet32_access *a = NULL; -+ u8 promaddr[6]; -+ -+ int shared = 1; -+ if (pci->ioaddr == 0) -+ return 0; -+ -+ /* BASE is used throughout to address the card */ -+ ioaddr = pci->ioaddr; -+ printf("pcnet32.c: Found %s, Vendor=0x%hX Device=0x%hX\n", -+ pci->name, pci->vendor, pci->dev_id); -+ -+ nic->irqno = 0; -+ nic->ioaddr = pci->ioaddr & ~3; -+ -+ /* reset the chip */ -+ pcnet32_wio_reset(ioaddr); -+ -+ /* NOTE: 16-bit check is first, otherwise some older PCnet chips fail */ -+ if (pcnet32_wio_read_csr(ioaddr, 0) == 4 -+ && pcnet32_wio_check(ioaddr)) { -+ a = &pcnet32_wio; -+ } else { -+ pcnet32_dwio_reset(ioaddr); -+ if (pcnet32_dwio_read_csr(ioaddr, 0) == 4 -+ && pcnet32_dwio_check(ioaddr)) { -+ a = &pcnet32_dwio; -+ } else -+ return 0; -+ } -+ -+ chip_version = -+ a->read_csr(ioaddr, 88) | (a->read_csr(ioaddr, 89) << 16); -+ -+ dprintf(("PCnet chip version is %0xhX\n", chip_version)); -+ if ((chip_version & 0xfff) != 0x003) -+ return 0; -+ -+ /* initialize variables */ -+ fdx = mii = fset = dxsuflo = ltint = 0; -+ chip_version = (chip_version >> 12) & 0xffff; -+ -+ switch (chip_version) { -+ case 0x2420: -+ chipname = "PCnet/PCI 79C970"; /* PCI */ -+ break; -+ case 0x2430: -+ if (shared) -+ chipname = "PCnet/PCI 79C970"; /* 970 gives the wrong chip id back */ -+ else -+ chipname = "PCnet/32 79C965"; /* 486/VL bus */ -+ break; -+ case 0x2621: -+ chipname = "PCnet/PCI II 79C970A"; /* PCI */ -+ fdx = 1; -+ break; -+ case 0x2623: -+ chipname = "PCnet/FAST 79C971"; /* PCI */ -+ fdx = 1; -+ mii = 1; -+ fset = 1; -+ ltint = 1; -+ break; -+ case 0x2624: -+ chipname = "PCnet/FAST+ 79C972"; /* PCI */ -+ fdx = 1; -+ mii = 1; -+ fset = 1; -+ break; -+ case 0x2625: -+ chipname = "PCnet/FAST III 79C973"; /* PCI */ -+ fdx = 1; -+ mii = 1; -+ break; -+ case 0x2626: -+ chipname = "PCnet/Home 79C978"; /* PCI */ -+ fdx = 1; -+ /* -+ * This is based on specs published at www.amd.com. This section -+ * assumes that a card with a 79C978 wants to go into 1Mb HomePNA -+ * mode. The 79C978 can also go into standard ethernet, and there -+ * probably should be some sort of module option to select the -+ * mode by which the card should operate -+ */ -+ /* switch to home wiring mode */ -+ media = a->read_bcr(ioaddr, 49); -+ -+ printf("media reset to %#x.\n", media); -+ a->write_bcr(ioaddr, 49, media); -+ break; -+ case 0x2627: -+ chipname = "PCnet/FAST III 79C975"; /* PCI */ -+ fdx = 1; -+ mii = 1; -+ break; -+ default: -+ printf("PCnet version %#x, no PCnet32 chip.\n", -+ chip_version); -+ return 0; -+ } -+ -+ /* -+ * On selected chips turn on the BCR18:NOUFLO bit. This stops transmit -+ * starting until the packet is loaded. Strike one for reliability, lose -+ * one for latency - although on PCI this isnt a big loss. Older chips -+ * have FIFO's smaller than a packet, so you can't do this. -+ */ -+ -+ if (fset) { -+ a->write_bcr(ioaddr, 18, -+ (a->read_bcr(ioaddr, 18) | 0x0800)); -+ a->write_csr(ioaddr, 80, -+ (a->read_csr(ioaddr, 80) & 0x0C00) | 0x0c00); -+ dxsuflo = 1; -+ ltint = 1; -+ } -+ -+ dprintf(("%s at %hX,", chipname, ioaddr)); -+ -+ /* read PROM address */ -+ for (i = 0; i < 6; i++) -+ promaddr[i] = inb(ioaddr + i); -+ -+ /* Update the nic structure with the MAC Address */ -+ for (i = 0; i < ETH_ALEN; i++) { -+ nic->node_addr[i] = promaddr[i]; -+ } -+ /* Print out some hardware info */ -+ printf("%s: %! at ioaddr %hX, ", pci->name, nic->node_addr, -+ ioaddr); -+ -+ /* Set to pci bus master */ -+ adjust_pci_device(pci); -+ -+ /* point to private storage */ -+ lp = &lpx; -+ -+#if EBDEBUG -+ if (((chip_version + 1) & 0xfffe) == 0x2624) { /* Version 0x2623 or 0x2624 */ -+ i = a->read_csr(ioaddr, 80) & 0x0C00; /* Check tx_start_pt */ -+ dprintf((" tx_start_pt(0x%hX):", i)); -+ switch (i >> 10) { -+ case 0: -+ dprintf((" 20 bytes,")); -+ break; -+ case 1: -+ dprintf((" 64 bytes,")); -+ break; -+ case 2: -+ dprintf((" 128 bytes,")); -+ break; -+ case 3: -+ dprintf(("~220 bytes,")); -+ break; -+ } -+ i = a->read_bcr(ioaddr, 18); /* Check Burst/Bus control */ -+ dprintf((" BCR18(%hX):", i & 0xffff)); -+ if (i & (1 << 5)) -+ dprintf(("BurstWrEn ")); -+ if (i & (1 << 6)) -+ dprintf(("BurstRdEn ")); -+ if (i & (1 << 7)) -+ dprintf(("DWordIO ")); -+ if (i & (1 << 11)) -+ dprintf(("NoUFlow ")); -+ i = a->read_bcr(ioaddr, 25); -+ dprintf((" SRAMSIZE=0x%hX,", i << 8)); -+ i = a->read_bcr(ioaddr, 26); -+ dprintf((" SRAM_BND=0x%hX,", i << 8)); -+ i = a->read_bcr(ioaddr, 27); -+ if (i & (1 << 14)) -+ dprintf(("LowLatRx")); -+ } -+#endif -+ lp->name = chipname; -+ lp->shared_irq = shared; -+ lp->full_duplex = fdx; -+ lp->dxsuflo = dxsuflo; -+ lp->ltint = ltint; -+ lp->mii = mii; -+ /* FIXME: Fix Options for only one card */ -+ if ((cards_found >= MAX_UNITS) -+ || ((unsigned int) options[cards_found] > sizeof(options_mapping))) -+ lp->options = PCNET32_PORT_ASEL; -+ else -+ lp->options = options_mapping[options[cards_found]]; -+ -+ if (fdx && !(lp->options & PCNET32_PORT_ASEL) && -+ ((cards_found >= MAX_UNITS) || full_duplex[cards_found])) -+ lp->options |= PCNET32_PORT_FD; -+ -+ if (!a) { -+ printf("No access methods\n"); -+ return 0; -+ } -+ lp->a = *a; -+ -+ /* detect special T1/E1 WAN card by checking for MAC address */ -+ if (nic->node_addr[0] == 0x00 && nic->node_addr[1] == 0xe0 -+ && nic->node_addr[2] == 0x75) -+ lp->options = PCNET32_PORT_FD | PCNET32_PORT_GPSI; -+ -+ lp->init_block.mode = le16_to_cpu(0x0003); /* Disable Rx and Tx. */ -+ lp->init_block.tlen_rlen = -+ le16_to_cpu(TX_RING_LEN_BITS | RX_RING_LEN_BITS); -+ for (i = 0; i < 6; i++) -+ lp->init_block.phys_addr[i] = nic->node_addr[i]; -+ lp->init_block.filter[0] = 0xffffffff; -+ lp->init_block.filter[1] = 0xffffffff; -+ lp->init_block.rx_ring = virt_to_bus(&rx_ring); -+ lp->init_block.tx_ring = virt_to_bus(&tx_ring); -+ -+ /* switch pcnet32 to 32bit mode */ -+ a->write_bcr(ioaddr, 20, 2); -+ -+ -+ a->write_csr(ioaddr, 1, (virt_to_bus(&lp->init_block)) & 0xffff); -+ a->write_csr(ioaddr, 2, (virt_to_bus(&lp->init_block)) >> 16); -+ -+ /* -+ * To auto-IRQ we enable the initialization-done and DMA error -+ * interrupts. For ISA boards we get a DMA error, but VLB and PCI -+ * boards will work. -+ */ -+ /* Trigger an initialization just for the interrupt. */ -+ -+ a->write_csr(ioaddr, 0, 0x41); -+ mdelay(1); -+ -+ cards_found++; -+ -+ /* point to NIC specific routines */ -+ pcnet32_reset(nic); -+ if (1) { -+ int tmp; -+ int phy, phy_idx = 0; -+ u16 mii_lpa; -+ lp->phys[0] = 1; /* Default Setting */ -+ for (phy = 1; phy < 32 && phy_idx < MII_CNT; phy++) { -+ int mii_status = mdio_read(nic, phy, MII_BMSR); -+ if (mii_status != 0xffff && mii_status != 0x0000) { -+ lp->phys[phy_idx++] = phy; -+ lp->mii_if.advertising = -+ mdio_read(nic, phy, MII_ADVERTISE); -+ if ((mii_status & 0x0040) == 0) { -+ tmp = phy; -+ dprintf (("MII PHY found at address %d, status " -+ "%hX advertising %hX\n", phy, mii_status, -+ lp->mii_if.advertising)); -+ } -+ } -+ } -+ if (phy_idx == 0) -+ printf("No MII transceiver found!\n"); -+ lp->mii_if.phy_id = lp->phys[0]; -+ -+ lp->mii_if.advertising = -+ mdio_read(nic, lp->phys[0], MII_ADVERTISE); -+ -+ mii_lpa = mdio_read(nic, lp->phys[0], MII_LPA); -+ lp->mii_if.advertising &= mii_lpa; -+ if (lp->mii_if.advertising & ADVERTISE_100FULL) -+ printf("100Mbps Full-Duplex\n"); -+ else if (lp->mii_if.advertising & ADVERTISE_100HALF) -+ printf("100Mbps Half-Duplex\n"); -+ else if (lp->mii_if.advertising & ADVERTISE_10FULL) -+ printf("10Mbps Full-Duplex\n"); -+ else if (lp->mii_if.advertising & ADVERTISE_10HALF) -+ printf("10Mbps Half-Duplex\n"); -+ else -+ printf("\n"); -+ } -+ -+ nic->poll = pcnet32_poll; -+ nic->transmit = pcnet32_transmit; -+ dev->disable = pcnet32_disable; -+ nic->irq = pcnet32_irq; -+ -+ return 1; -+} -+static int mdio_read(struct nic *nic __unused, int phy_id, int reg_num) -+{ -+ u16 val_out; -+ int phyaddr; -+ -+ if (!lp->mii) -+ return 0; -+ -+ phyaddr = lp->a.read_bcr(ioaddr, 33); -+ -+ lp->a.write_bcr(ioaddr, 33, -+ ((phy_id & 0x1f) << 5) | (reg_num & 0x1f)); -+ val_out = lp->a.read_bcr(ioaddr, 34); -+ lp->a.write_bcr(ioaddr, 33, phyaddr); -+ -+ return val_out; -+} -+ -+#if 0 -+static void mdio_write(struct nic *nic __unused, int phy_id, int reg_num, -+ int val) -+{ -+ int phyaddr; -+ -+ if (!lp->mii) -+ return; -+ -+ phyaddr = lp->a.read_bcr(ioaddr, 33); -+ -+ lp->a.write_bcr(ioaddr, 33, -+ ((phy_id & 0x1f) << 5) | (reg_num & 0x1f)); -+ lp->a.write_bcr(ioaddr, 34, val); -+ lp->a.write_bcr(ioaddr, 33, phyaddr); -+} -+#endif -+ -+static struct pci_id pcnet32_nics[] = { -+ PCI_ROM(0x1022, 0x2000, "lancepci", "AMD Lance/PCI"), -+ PCI_ROM(0x1022, 0x2625, "pcnetfastiii", "AMD Lance/PCI PCNet/32"), -+ PCI_ROM(0x1022, 0x2001, "amdhomepna", "AMD Lance/HomePNA"), -+}; -+ -+struct pci_driver pcnet32_driver = { -+ .type = NIC_DRIVER, -+ .name = "PCNET32/PCI", -+ .probe = pcnet32_probe, -+ .ids = pcnet32_nics, -+ .id_count = sizeof(pcnet32_nics) / sizeof(pcnet32_nics[0]), -+ .class = 0, -+}; -Index: b/netboot/pic8259.c -=================================================================== ---- /dev/null -+++ b/netboot/pic8259.c -@@ -0,0 +1,267 @@ -+/* -+ * Basic support for controlling the 8259 Programmable Interrupt Controllers. -+ * -+ * Initially written by Michael Brown (mcb30). -+ */ -+ -+#include -+#include -+ -+#ifdef DEBUG_IRQ -+#define DBG(...) printf ( __VA_ARGS__ ) -+#else -+#define DBG(...) -+#endif -+ -+/* Current locations of trivial IRQ handler. These will change at -+ * runtime when relocation is used; the handler needs to be copied to -+ * base memory before being installed. -+ */ -+void (*trivial_irq_handler)P((void)) = _trivial_irq_handler; -+uint16_t volatile *trivial_irq_trigger_count = &_trivial_irq_trigger_count; -+segoff_t *trivial_irq_chain_to = &_trivial_irq_chain_to; -+uint8_t *trivial_irq_chain = &_trivial_irq_chain; -+irq_t trivial_irq_installed_on = IRQ_NONE; -+ -+/* Previous trigger count for trivial IRQ handler */ -+static uint16_t trivial_irq_previous_trigger_count = 0; -+ -+/* Install a handler for the specified IRQ. Address of previous -+ * handler will be stored in previous_handler. Enabled/disabled state -+ * of IRQ will be preserved across call, therefore if the handler does -+ * chaining, ensure that either (a) IRQ is disabled before call, or -+ * (b) previous_handler points directly to the place that the handler -+ * picks up its chain-to address. -+ */ -+ -+int install_irq_handler ( irq_t irq, segoff_t *handler, -+ uint8_t *previously_enabled, -+ segoff_t *previous_handler ) { -+ segoff_t *irq_vector = IRQ_VECTOR ( irq ); -+ *previously_enabled = irq_enabled ( irq ); -+ -+ if ( irq > IRQ_MAX ) { -+ DBG ( "Invalid IRQ number %d\n" ); -+ return 0; -+ } -+ -+ previous_handler->segment = irq_vector->segment; -+ previous_handler->offset = irq_vector->offset; -+ if ( *previously_enabled ) disable_irq ( irq ); -+ DBG ( "Installing handler at %hx:%hx for IRQ %d, leaving %s\n", -+ handler->segment, handler->offset, irq, -+ ( *previously_enabled ? "enabled" : "disabled" ) ); -+ DBG ( "...(previous handler at %hx:%hx)\n", -+ previous_handler->segment, previous_handler->offset ); -+ irq_vector->segment = handler->segment; -+ irq_vector->offset = handler->offset; -+ if ( *previously_enabled ) enable_irq ( irq ); -+ return 1; -+} -+ -+/* Remove handler for the specified IRQ. Routine checks that another -+ * handler has not been installed that chains to handler before -+ * uninstalling handler. Enabled/disabled state of the IRQ will be -+ * restored to that specified by previously_enabled. -+ */ -+ -+int remove_irq_handler ( irq_t irq, segoff_t *handler, -+ uint8_t *previously_enabled, -+ segoff_t *previous_handler ) { -+ segoff_t *irq_vector = IRQ_VECTOR ( irq ); -+ -+ if ( irq > IRQ_MAX ) { -+ DBG ( "Invalid IRQ number %d\n" ); -+ return 0; -+ } -+ if ( ( irq_vector->segment != handler->segment ) || -+ ( irq_vector->offset != handler->offset ) ) { -+ DBG ( "Cannot remove handler for IRQ %d\n" ); -+ return 0; -+ } -+ -+ DBG ( "Removing handler for IRQ %d\n", irq ); -+ disable_irq ( irq ); -+ irq_vector->segment = previous_handler->segment; -+ irq_vector->offset = previous_handler->offset; -+ if ( *previously_enabled ) enable_irq ( irq ); -+ return 1; -+} -+ -+/* Install the trivial IRQ handler. This routine installs the -+ * handler, tests it and enables the IRQ. -+ */ -+ -+int install_trivial_irq_handler ( irq_t irq ) { -+ segoff_t trivial_irq_handler_segoff = SEGOFF(trivial_irq_handler); -+ -+ if ( trivial_irq_installed_on != IRQ_NONE ) { -+ DBG ( "Can install trivial IRQ handler only once\n" ); -+ return 0; -+ } -+ if ( SEGMENT(trivial_irq_handler) > 0xffff ) { -+ DBG ( "Trivial IRQ handler not in base memory\n" ); -+ return 0; -+ } -+ -+ DBG ( "Installing trivial IRQ handler on IRQ %d\n", irq ); -+ if ( ! install_irq_handler ( irq, &trivial_irq_handler_segoff, -+ trivial_irq_chain, -+ trivial_irq_chain_to ) ) -+ return 0; -+ trivial_irq_installed_on = irq; -+ -+ DBG ( "Testing trivial IRQ handler\n" ); -+ disable_irq ( irq ); -+ *trivial_irq_trigger_count = 0; -+ trivial_irq_previous_trigger_count = 0; -+ fake_irq ( irq ); -+ if ( ! trivial_irq_triggered ( irq ) ) { -+ DBG ( "Installation of trivial IRQ handler failed\n" ); -+ remove_trivial_irq_handler ( irq ); -+ return 0; -+ } -+ DBG ( "Trivial IRQ handler installed successfully\n" ); -+ enable_irq ( irq ); -+ return 1; -+} -+ -+/* Remove the trivial IRQ handler. -+ */ -+ -+int remove_trivial_irq_handler ( irq_t irq ) { -+ segoff_t trivial_irq_handler_segoff = SEGOFF(trivial_irq_handler); -+ -+ if ( trivial_irq_installed_on == IRQ_NONE ) return 1; -+ if ( irq != trivial_irq_installed_on ) { -+ DBG ( "Cannot uninstall trivial IRQ handler from IRQ %d; " -+ "is installed on IRQ %d\n", irq, -+ trivial_irq_installed_on ); -+ return 0; -+ } -+ -+ if ( ! remove_irq_handler ( irq, &trivial_irq_handler_segoff, -+ trivial_irq_chain, -+ trivial_irq_chain_to ) ) -+ return 0; -+ -+ if ( trivial_irq_triggered ( trivial_irq_installed_on ) ) { -+ DBG ( "Sending EOI for unwanted trivial IRQ\n" ); -+ send_specific_eoi ( trivial_irq_installed_on ); -+ } -+ -+ trivial_irq_installed_on = IRQ_NONE; -+ return 1; -+} -+ -+/* Safe method to detect whether or not trivial IRQ has been -+ * triggered. Using this call avoids potential race conditions. This -+ * call will return success only once per trigger. -+ */ -+ -+int trivial_irq_triggered ( irq_t irq ) { -+ uint16_t trivial_irq_this_trigger_count = *trivial_irq_trigger_count; -+ int triggered = ( trivial_irq_this_trigger_count - -+ trivial_irq_previous_trigger_count ); -+ -+ /* irq is not used at present, but we have it in the API for -+ * future-proofing; in case we want the facility to have -+ * multiple trivial IRQ handlers installed simultaneously. -+ * -+ * Avoid compiler warning about unused variable. -+ */ -+ if ( irq == IRQ_NONE ) {}; -+ -+ trivial_irq_previous_trigger_count = trivial_irq_this_trigger_count; -+ return triggered ? 1 : 0; -+} -+ -+/* Copy trivial IRQ handler to a new location. Typically used to copy -+ * the handler into base memory; when relocation is being used we need -+ * to do this before installing the handler. -+ * -+ * Call with target=NULL in order to restore the handler to its -+ * original location. -+ */ -+ -+int copy_trivial_irq_handler ( void *target, size_t target_size ) { -+ irq_t currently_installed_on = trivial_irq_installed_on; -+ uint32_t offset = ( target == NULL ? 0 : -+ target - &_trivial_irq_handler_start ); -+ -+ if (( target != NULL ) && ( target_size < TRIVIAL_IRQ_HANDLER_SIZE )) { -+ DBG ( "Insufficient space to copy trivial IRQ handler\n" ); -+ return 0; -+ } -+ -+ if ( currently_installed_on != IRQ_NONE ) { -+ DBG ("WARNING: relocating trivial IRQ handler while in use\n"); -+ if ( ! remove_trivial_irq_handler ( currently_installed_on ) ) -+ return 0; -+ } -+ -+ /* Do the actual copy */ -+ if ( target != NULL ) { -+ DBG ( "Copying trivial IRQ handler to %hx:%hx\n", -+ SEGMENT(target), OFFSET(target) ); -+ memcpy ( target, &_trivial_irq_handler_start, -+ TRIVIAL_IRQ_HANDLER_SIZE ); -+ } else { -+ DBG ( "Restoring trivial IRQ handler to original location\n" ); -+ } -+ /* Update all the pointers to structures within the handler */ -+ trivial_irq_handler = ( void (*)P((void)) ) -+ ( (void*)_trivial_irq_handler + offset ); -+ trivial_irq_trigger_count = (uint16_t*) -+ ( (void*)&_trivial_irq_trigger_count + offset ); -+ trivial_irq_chain_to = (segoff_t*) -+ ( (void*)&_trivial_irq_chain_to + offset ); -+ trivial_irq_chain = (uint8_t*) -+ ( (void*)&_trivial_irq_chain + offset ); -+ -+ if ( currently_installed_on != IRQ_NONE ) { -+ if ( ! install_trivial_irq_handler ( currently_installed_on ) ) -+ return 0; -+ } -+ return 1; -+} -+ -+/* Send non-specific EOI(s). This seems to be inherently unsafe. -+ */ -+ -+void send_nonspecific_eoi ( irq_t irq ) { -+ DBG ( "Sending non-specific EOI for IRQ %d\n", irq ); -+ if ( irq >= IRQ_PIC_CUTOFF ) { -+ outb ( ICR_EOI_NON_SPECIFIC, PIC2_ICR ); -+ } -+ outb ( ICR_EOI_NON_SPECIFIC, PIC1_ICR ); -+} -+ -+/* Send specific EOI(s). -+ */ -+ -+void send_specific_eoi ( irq_t irq ) { -+ DBG ( "Sending specific EOI for IRQ %d\n", irq ); -+ outb ( ICR_EOI_SPECIFIC | ICR_VALUE(irq), ICR_REG(irq) ); -+ if ( irq >= IRQ_PIC_CUTOFF ) { -+ outb ( ICR_EOI_SPECIFIC | ICR_VALUE(CHAINED_IRQ), -+ ICR_REG(CHAINED_IRQ) ); -+ } -+} -+ -+/* Dump current 8259 status: enabled IRQs and handler addresses. -+ */ -+ -+#ifdef DEBUG_IRQ -+void dump_irq_status ( void ) { -+ int irq = 0; -+ -+ for ( irq = 0; irq < 16; irq++ ) { -+ if ( irq_enabled ( irq ) ) { -+ printf ( "IRQ%d enabled, ISR at %hx:%hx\n", irq, -+ IRQ_VECTOR(irq)->segment, -+ IRQ_VECTOR(irq)->offset ); -+ } -+ } -+} -+#endif -Index: b/netboot/pic8259.h -=================================================================== ---- /dev/null -+++ b/netboot/pic8259.h -@@ -0,0 +1,99 @@ -+/* -+ * Basic support for controlling the 8259 Programmable Interrupt Controllers. -+ * -+ * Initially written by Michael Brown (mcb30). -+ */ -+ -+#ifndef PIC8259_H -+#define PIC8259_H -+ -+/* For segoff_t */ -+#include -+ -+#define IRQ_PIC_CUTOFF (8) -+ -+/* 8259 register locations */ -+#define PIC1_ICW1 (0x20) -+#define PIC1_OCW2 (0x20) -+#define PIC1_OCW3 (0x20) -+#define PIC1_ICR (0x20) -+#define PIC1_IRR (0x20) -+#define PIC1_ISR (0x20) -+#define PIC1_ICW2 (0x21) -+#define PIC1_ICW3 (0x21) -+#define PIC1_ICW4 (0x21) -+#define PIC1_IMR (0x21) -+#define PIC2_ICW1 (0xa0) -+#define PIC2_OCW2 (0xa0) -+#define PIC2_OCW3 (0xa0) -+#define PIC2_ICR (0xa0) -+#define PIC2_IRR (0xa0) -+#define PIC2_ISR (0xa0) -+#define PIC2_ICW2 (0xa1) -+#define PIC2_ICW3 (0xa1) -+#define PIC2_ICW4 (0xa1) -+#define PIC2_IMR (0xa1) -+ -+/* Register command values */ -+#define OCW3_ID (0x08) -+#define OCW3_READ_IRR (0x03) -+#define OCW3_READ_ISR (0x02) -+#define ICR_EOI_NON_SPECIFIC (0x20) -+#define ICR_EOI_NOP (0x40) -+#define ICR_EOI_SPECIFIC (0x60) -+#define ICR_EOI_SET_PRIORITY (0xc0) -+ -+/* Macros to enable/disable IRQs */ -+#define IMR_REG(x) ( (x) < IRQ_PIC_CUTOFF ? PIC1_IMR : PIC2_IMR ) -+#define IMR_BIT(x) ( 1 << ( (x) % IRQ_PIC_CUTOFF ) ) -+#define irq_enabled(x) ( ( inb ( IMR_REG(x) ) & IMR_BIT(x) ) == 0 ) -+#define enable_irq(x) outb ( inb( IMR_REG(x) ) & ~IMR_BIT(x), IMR_REG(x) ) -+#define disable_irq(x) outb ( inb( IMR_REG(x) ) | IMR_BIT(x), IMR_REG(x) ) -+ -+/* Macros for acknowledging IRQs */ -+#define ICR_REG(x) ( (x) < IRQ_PIC_CUTOFF ? PIC1_ICR : PIC2_ICR ) -+#define ICR_VALUE(x) ( (x) % IRQ_PIC_CUTOFF ) -+#define CHAINED_IRQ 2 -+ -+/* Utility macros to convert IRQ numbers to INT numbers and INT vectors */ -+#define IRQ_INT(x) ( (x)ioaddr + PNIC_REG_LEN ); -+ /* Write input data */ -+ for ( i = 0; i < input_length; i++ ) { -+ outb( ((char*)input)[i], nic->ioaddr + PNIC_REG_DATA ); -+ } -+ } -+ /* Write command */ -+ outw ( command, nic->ioaddr + PNIC_REG_CMD ); -+ /* Retrieve status */ -+ status = inw ( nic->ioaddr + PNIC_REG_STAT ); -+ /* Retrieve output length */ -+ _output_length = inw ( nic->ioaddr + PNIC_REG_LEN ); -+ if ( output_length == NULL ) { -+ if ( _output_length != output_max_length ) { -+ printf ( "pnic_command %#hx: wrong data length " -+ "returned (expected %d, got %d)\n", command, -+ output_max_length, _output_length ); -+ } -+ } else { -+ *output_length = _output_length; -+ } -+ if ( output != NULL ) { -+ if ( _output_length > output_max_length ) { -+ printf ( "pnic_command %#hx: output buffer too small " -+ "(have %d, need %d)\n", command, -+ output_max_length, _output_length ); -+ _output_length = output_max_length; -+ } -+ /* Retrieve output data */ -+ for ( i = 0; i < _output_length; i++ ) { -+ ((char*)output)[i] = -+ inb ( nic->ioaddr + PNIC_REG_DATA ); -+ } -+ } -+ return status; -+} -+ -+static uint16_t pnic_command ( struct nic *nic, uint16_t command, -+ void *input, uint16_t input_length, -+ void *output, uint16_t output_max_length, -+ uint16_t *output_length ) { -+ pnic_priv_data_t *priv = (pnic_priv_data_t*)nic->priv_data; -+ uint16_t status = pnic_command_quiet ( nic, command, -+ input, input_length, -+ output, output_max_length, -+ output_length ); -+ if ( status == PNIC_STATUS_OK ) return status; -+ printf ( "PNIC command %#hx (len %#hx) failed with status %#hx\n", -+ command, input_length, status ); -+ if ( priv->api_version ) pnic_api_check(priv->api_version); -+ return status; -+} -+ -+/* Check API version matches that of NIC */ -+static int pnic_api_check ( uint16_t api_version ) { -+ if ( api_version != PNIC_API_VERSION ) { -+ printf ( "Warning: API version mismatch! " -+ "(NIC's is %d.%d, ours is %d.%d)\n", -+ api_version >> 8, api_version & 0xff, -+ PNIC_API_VERSION >> 8, PNIC_API_VERSION & 0xff ); -+ } -+ if ( api_version < PNIC_API_VERSION ) { -+ printf ( "*** You may need to update your copy of Bochs ***\n" ); -+ } -+ return ( api_version == PNIC_API_VERSION ); -+} -+ -+/************************************************************************** -+POLL - Wait for a frame -+***************************************************************************/ -+static int pnic_poll(struct nic *nic, int retrieve) -+{ -+ uint16_t length; -+ uint16_t qlen; -+ -+ /* Check receive queue length to see if there's anything to -+ * get. Necessary since once we've called PNIC_CMD_RECV we -+ * have to read out the packet, otherwise it's lost forever. -+ */ -+ if ( pnic_command ( nic, PNIC_CMD_RECV_QLEN, NULL, 0, -+ &qlen, sizeof(qlen), NULL ) -+ != PNIC_STATUS_OK ) return ( 0 ); -+ if ( qlen == 0 ) return ( 0 ); -+ -+ /* There is a packet ready. Return 1 if we're only checking. */ -+ if ( ! retrieve ) return ( 1 ); -+ -+ /* Retrieve the packet */ -+ if ( pnic_command ( nic, PNIC_CMD_RECV, NULL, 0, -+ nic->packet, ETH_FRAME_LEN, &length ) -+ != PNIC_STATUS_OK ) return ( 0 ); -+ nic->packetlen = length; -+ return ( 1 ); -+} -+ -+/************************************************************************** -+TRANSMIT - Transmit a frame -+***************************************************************************/ -+static void pnic_transmit( -+ struct nic *nic, -+ const char *dest, /* Destination */ -+ unsigned int type, /* Type */ -+ unsigned int size, /* size */ -+ const char *data) /* Packet */ -+{ -+ unsigned int nstype = htons ( type ); -+ -+ if ( ( ETH_HLEN + size ) >= ETH_FRAME_LEN ) { -+ printf ( "pnic_transmit: packet too large\n" ); -+ return; -+ } -+ -+ /* Assemble packet */ -+ memcpy ( tx_buffer, dest, ETH_ALEN ); -+ memcpy ( tx_buffer + ETH_ALEN, nic->node_addr, ETH_ALEN ); -+ memcpy ( tx_buffer + 2 * ETH_ALEN, &nstype, 2 ); -+ memcpy ( tx_buffer + ETH_HLEN, data, size ); -+ -+ pnic_command ( nic, PNIC_CMD_XMIT, tx_buffer, ETH_HLEN + size, -+ NULL, 0, NULL ); -+} -+ -+/************************************************************************** -+DISABLE - Turn off ethernet interface -+***************************************************************************/ -+static void pnic_disable(struct dev *dev) -+{ -+ struct nic *nic = (struct nic *)dev; -+ pnic_command ( nic, PNIC_CMD_RESET, NULL, 0, NULL, 0, NULL ); -+} -+ -+/************************************************************************** -+IRQ - Handle card interrupt status -+***************************************************************************/ -+static void pnic_irq ( struct nic *nic, irq_action_t action ) -+{ -+ uint8_t enabled; -+ -+ switch ( action ) { -+ case DISABLE : -+ case ENABLE : -+ enabled = ( action == ENABLE ? 1 : 0 ); -+ pnic_command ( nic, PNIC_CMD_MASK_IRQ, -+ &enabled, sizeof(enabled), NULL, 0, NULL ); -+ break; -+ case FORCE : -+ pnic_command ( nic, PNIC_CMD_FORCE_IRQ, -+ NULL, 0, NULL, 0, NULL ); -+ break; -+ } -+} -+ -+/************************************************************************** -+PROBE - Look for an adapter, this routine's visible to the outside -+***************************************************************************/ -+ -+static int pnic_probe(struct dev *dev, struct pci_device *pci) -+{ -+ struct nic *nic = (struct nic *)dev; -+ static pnic_priv_data_t priv; -+ uint16_t status; -+ -+ printf(" - "); -+ -+ /* Clear private data structure and chain it in */ -+ memset ( &priv, 0, sizeof(priv) ); -+ nic->priv_data = &priv; -+ -+ /* Mask the bit that says "this is an io addr" */ -+ nic->ioaddr = pci->ioaddr & ~3; -+ nic->irqno = pci->irq; -+ /* Not sure what this does, but the rtl8139 driver does it */ -+ adjust_pci_device(pci); -+ -+ status = pnic_command_quiet( nic, PNIC_CMD_API_VER, NULL, 0, -+ &priv.api_version, -+ sizeof(priv.api_version), NULL ); -+ if ( status != PNIC_STATUS_OK ) { -+ printf ( "PNIC failed installation check, code %#hx\n", -+ status ); -+ return 0; -+ } -+ pnic_api_check(priv.api_version); -+ status = pnic_command ( nic, PNIC_CMD_READ_MAC, NULL, 0, -+ nic->node_addr, ETH_ALEN, NULL ); -+ printf ( "Detected Bochs Pseudo NIC MAC %! (API v%d.%d) at %#hx\n", -+ nic->node_addr, priv.api_version>>8, priv.api_version&0xff, -+ nic->ioaddr ); -+ -+ /* point to NIC specific routines */ -+ dev->disable = pnic_disable; -+ nic->poll = pnic_poll; -+ nic->transmit = pnic_transmit; -+ nic->irq = pnic_irq; -+ return 1; -+} -+ -+static struct pci_id pnic_nics[] = { -+/* genrules.pl doesn't let us use macros for PCI IDs...*/ -+PCI_ROM(0xfefe, 0xefef, "pnic", "Bochs Pseudo NIC Adaptor"), -+}; -+ -+struct pci_driver pnic_driver = { -+ .type = NIC_DRIVER, -+ .name = "PNIC", -+ .probe = pnic_probe, -+ .ids = pnic_nics, -+ .id_count = sizeof(pnic_nics)/sizeof(pnic_nics[0]), -+ .class = 0, -+}; -Index: b/netboot/pnic_api.h -=================================================================== ---- /dev/null -+++ b/netboot/pnic_api.h -@@ -0,0 +1,59 @@ -+/* -+ * Constants etc. for the Bochs/Etherboot pseudo-NIC -+ * -+ * This header file must be valid C and C++. -+ * -+ * Operation of the pseudo-NIC (PNIC) is pretty simple. To write a -+ * command plus data, first write the length of the data to -+ * PNIC_REG_LEN, then write the data a byte at a type to -+ * PNIC_REG_DATA, then write the command code to PNIC_REG_CMD. The -+ * status will be available from PNIC_REG_STAT. The length of any -+ * data returned will be in PNIC_REG_LEN and can be read a byte at a -+ * time from PNIC_REG_DATA. -+ */ -+ -+/* -+ * PCI parameters -+ */ -+#define PNIC_PCI_VENDOR 0xfefe /* Hopefully these won't clash with */ -+#define PNIC_PCI_DEVICE 0xefef /* any real PCI device IDs. */ -+ -+/* -+ * 'Hardware' register addresses, offset from io_base -+ */ -+#define PNIC_REG_CMD 0x00 /* Command register, 2 bytes, write only */ -+#define PNIC_REG_STAT 0x00 /* Status register, 2 bytes, read only */ -+#define PNIC_REG_LEN 0x02 /* Length register, 2 bytes, read-write */ -+#define PNIC_REG_DATA 0x04 /* Data port, 1 byte, read-write */ -+/* -+ * PNIC_MAX_REG used in Bochs to claim i/o space -+ */ -+#define PNIC_MAX_REG 0x04 -+ -+/* -+ * Command code definitions: write these into PNIC_REG_CMD -+ */ -+#define PNIC_CMD_NOOP 0x0000 -+#define PNIC_CMD_API_VER 0x0001 -+#define PNIC_CMD_READ_MAC 0x0002 -+#define PNIC_CMD_RESET 0x0003 -+#define PNIC_CMD_XMIT 0x0004 -+#define PNIC_CMD_RECV 0x0005 -+#define PNIC_CMD_RECV_QLEN 0x0006 -+#define PNIC_CMD_MASK_IRQ 0x0007 -+#define PNIC_CMD_FORCE_IRQ 0x0008 -+ -+/* -+ * Status code definitions: read these from PNIC_REG_STAT -+ * -+ * We avoid using status codes that might be confused with -+ * randomly-read data (e.g. 0x0000, 0xffff etc.) -+ */ -+#define PNIC_STATUS_OK 0x4f4b /* 'OK' */ -+#define PNIC_STATUS_UNKNOWN_CMD 0x3f3f /* '??' */ -+ -+/* -+ * Other miscellaneous information -+ */ -+ -+#define PNIC_API_VERSION 0x0101 /* 1.1 */ -Index: b/netboot/pxe.h -=================================================================== ---- /dev/null -+++ b/netboot/pxe.h -@@ -0,0 +1,521 @@ -+/* -+ * Copyright (c) 2000 Alfred Perlstein -+ * All rights reserved. -+ * Copyright (c) 2000 Paul Saab -+ * All rights reserved. -+ * Copyright (c) 2000 John Baldwin -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+ * SUCH DAMAGE. -+ * -+ * $FreeBSD: src/sys/boot/i386/libi386/pxe.h,v 1.4.2.2 2000/09/10 02:52:18 ps Exp $ -+ */ -+ -+/* -+ * The typedefs and structures declared in this file -+ * clearly violate style(9), the reason for this is to conform to the -+ * typedefs/structure-names used in the Intel literature to avoid confusion. -+ * -+ * It's for your own good. :) -+ */ -+ -+/* SEGOFF16_t defined in separate header for Etherboot -+ */ -+#include -+ -+/* It seems that intel didn't think about ABI, -+ * either that or 16bit ABI != 32bit ABI (which seems reasonable) -+ * I have to thank Intel for the hair loss I incurred trying to figure -+ * out why PXE was mis-reading structures I was passing it (at least -+ * from my point of view) -+ * -+ * Solution: use gcc's '__attribute__ ((packed))' to correctly align -+ * structures passed into PXE -+ * Question: does this really work for PXE's expected ABI? -+ */ -+#define PACKED __attribute__ ((packed)) -+ -+#define S_SIZE(s) s, sizeof(s) - 1 -+ -+#define IP_STR "%d.%d.%d.%d" -+#define IP_ARGS(ip) \ -+ (int)(ip >> 24) & 0xff, (int)(ip >> 16) & 0xff, \ -+ (int)(ip >> 8) & 0xff, (int)ip & 0xff -+ -+#define MAC_STR "%02x:%02x:%02x:%02x:%02x:%02x" -+#define MAC_ARGS(mac) \ -+ mac[0], mac[1], mac[2], mac[3], mac[4], mac[5] -+ -+#define PXENFSROOTPATH "/pxeroot" -+ -+typedef struct { -+ uint16_t Seg_Addr; -+ uint32_t Phy_Addr; -+ uint16_t Seg_Size; -+} PACKED SEGDESC_t; /* PACKED is required, otherwise gcc pads this out to 12 -+ bytes - mbrown@fensystems.co.uk (mcb30) 17/5/03 */ -+ -+typedef uint16_t SEGSEL_t; -+typedef uint16_t PXENV_STATUS_t; -+typedef uint32_t IP4_t; -+typedef uint32_t ADDR32_t; -+typedef uint16_t UDP_PORT_t; -+ -+#define MAC_ADDR_LEN 16 -+typedef uint8_t MAC_ADDR[MAC_ADDR_LEN]; -+ -+/* PXENV+ */ -+typedef struct { -+ uint8_t Signature[6]; /* 'PXENV+' */ -+ uint16_t Version; /* MSB = major, LSB = minor */ -+ uint8_t Length; /* structure length */ -+ uint8_t Checksum; /* checksum pad */ -+ SEGOFF16_t RMEntry; /* SEG:OFF to PXE entry point */ -+ /* don't use PMOffset and PMSelector (from the 2.1 PXE manual) */ -+ uint32_t PMOffset; /* Protected mode entry */ -+ SEGSEL_t PMSelector; /* Protected mode selector */ -+ SEGSEL_t StackSeg; /* Stack segment address */ -+ uint16_t StackSize; /* Stack segment size (bytes) */ -+ SEGSEL_t BC_CodeSeg; /* BC Code segment address */ -+ uint16_t BC_CodeSize; /* BC Code segment size (bytes) */ -+ SEGSEL_t BC_DataSeg; /* BC Data segment address */ -+ uint16_t BC_DataSize; /* BC Data segment size (bytes) */ -+ SEGSEL_t UNDIDataSeg; /* UNDI Data segment address */ -+ uint16_t UNDIDataSize; /* UNDI Data segment size (bytes) */ -+ SEGSEL_t UNDICodeSeg; /* UNDI Code segment address */ -+ uint16_t UNDICodeSize; /* UNDI Code segment size (bytes) */ -+ SEGOFF16_t PXEPtr; /* SEG:OFF to !PXE struct, -+ only present when Version > 2.1 */ -+} PACKED pxenv_t; -+ -+/* !PXE */ -+typedef struct { -+ uint8_t Signature[4]; -+ uint8_t StructLength; -+ uint8_t StructCksum; -+ uint8_t StructRev; -+ uint8_t reserved_1; -+ SEGOFF16_t UNDIROMID; -+ SEGOFF16_t BaseROMID; -+ SEGOFF16_t EntryPointSP; -+ SEGOFF16_t EntryPointESP; -+ SEGOFF16_t StatusCallout; -+ uint8_t reserved_2; -+ uint8_t SegDescCn; -+ SEGSEL_t FirstSelector; -+ SEGDESC_t Stack; -+ SEGDESC_t UNDIData; -+ SEGDESC_t UNDICode; -+ SEGDESC_t UNDICodeWrite; -+ SEGDESC_t BC_Data; -+ SEGDESC_t BC_Code; -+ SEGDESC_t BC_CodeWrite; -+} PACKED pxe_t; -+ -+#define PXENV_START_UNDI 0x0000 -+typedef struct { -+ PXENV_STATUS_t Status; -+ uint16_t ax; -+ uint16_t bx; -+ uint16_t dx; -+ uint16_t di; -+ uint16_t es; -+} PACKED t_PXENV_START_UNDI; -+ -+#define PXENV_UNDI_STARTUP 0x0001 -+typedef struct { -+ PXENV_STATUS_t Status; -+} PACKED t_PXENV_UNDI_STARTUP; -+ -+#define PXENV_UNDI_CLEANUP 0x0002 -+typedef struct { -+ PXENV_STATUS_t Status; -+} PACKED t_PXENV_UNDI_CLEANUP; -+ -+#define PXENV_UNDI_INITIALIZE 0x0003 -+typedef struct { -+ PXENV_STATUS_t Status; -+ ADDR32_t ProtocolIni; /* Phys addr of a copy of the driver module */ -+ uint8_t reserved[8]; -+} PACKED t_PXENV_UNDI_INITIALIZE; -+ -+ -+#define MAXNUM_MCADDR 8 -+typedef struct { -+ uint16_t MCastAddrCount; -+ MAC_ADDR McastAddr[MAXNUM_MCADDR]; -+} PACKED t_PXENV_UNDI_MCAST_ADDRESS; -+ -+#define PXENV_UNDI_RESET_ADAPTER 0x0004 -+typedef struct { -+ PXENV_STATUS_t Status; -+ t_PXENV_UNDI_MCAST_ADDRESS R_Mcast_Buf; -+} PACKED t_PXENV_UNDI_RESET; -+ -+#define PXENV_UNDI_SHUTDOWN 0x0005 -+typedef struct { -+ PXENV_STATUS_t Status; -+} PACKED t_PXENV_UNDI_SHUTDOWN; -+ -+#define PXENV_UNDI_OPEN 0x0006 -+typedef struct { -+ PXENV_STATUS_t Status; -+ uint16_t OpenFlag; -+ uint16_t PktFilter; -+# define FLTR_DIRECTED 0x0001 -+# define FLTR_BRDCST 0x0002 -+# define FLTR_PRMSCS 0x0003 -+# define FLTR_SRC_RTG 0x0004 -+ -+ t_PXENV_UNDI_MCAST_ADDRESS R_Mcast_Buf; -+} PACKED t_PXENV_UNDI_OPEN; -+ -+#define PXENV_UNDI_CLOSE 0x0007 -+typedef struct { -+ PXENV_STATUS_t Status; -+} PACKED t_PXENV_UNDI_CLOSE; -+ -+#define PXENV_UNDI_TRANSMIT 0x0008 -+typedef struct { -+ PXENV_STATUS_t Status; -+ uint8_t Protocol; -+# define P_UNKNOWN 0 -+# define P_IP 1 -+# define P_ARP 2 -+# define P_RARP 3 -+ -+ uint8_t XmitFlag; -+# define XMT_DESTADDR 0x0000 -+# define XMT_BROADCAST 0x0001 -+ -+ SEGOFF16_t DestAddr; -+ SEGOFF16_t TBD; -+ uint32_t Reserved[2]; -+} PACKED t_PXENV_UNDI_TRANSMIT; -+ -+#define MAX_DATA_BLKS 8 -+typedef struct { -+ uint16_t ImmedLength; -+ SEGOFF16_t Xmit; -+ uint16_t DataBlkCount; -+ struct DataBlk { -+ uint8_t TDPtrType; -+ uint8_t TDRsvdByte; -+ uint16_t TDDataLen; -+ SEGOFF16_t TDDataPtr; -+ } DataBlock[MAX_DATA_BLKS]; -+} PACKED t_PXENV_UNDI_TBD; -+ -+#define PXENV_UNDI_SET_MCAST_ADDRESS 0x0009 -+typedef struct { -+ PXENV_STATUS_t Status; -+ t_PXENV_UNDI_MCAST_ADDRESS R_Mcast_Buf; -+} PACKED t_PXENV_UNDI_SET_MCAST_ADDR; -+ -+#define PXENV_UNDI_SET_STATION_ADDRESS 0x000A -+typedef struct { -+ PXENV_STATUS_t Status; -+ MAC_ADDR StationAddress; /* Temp MAC addres to use */ -+} PACKED t_PXENV_UNDI_SET_STATION_ADDRESS; -+ -+#define PXENV_UNDI_SET_PACKET_FILTER 0x000B -+typedef struct { -+ PXENV_STATUS_t Status; -+ uint8_t filter; /* see UNDI_OPEN (0x0006) */ -+} PACKED t_PXENV_UNDI_SET_PACKET_FILTER; -+ -+#define PXENV_UNDI_GET_INFORMATION 0x000C -+typedef struct { -+ PXENV_STATUS_t Status; -+ uint16_t BaseIo; /* Adapter base I/O address */ -+ uint16_t IntNumber; /* Adapter IRQ number */ -+ uint16_t MaxTranUnit; /* Adapter maximum transmit unit */ -+ uint16_t HwType; /* Type of protocol at the hardware addr */ -+# define ETHER_TYPE 1 -+# define EXP_ETHER_TYPE 2 -+# define IEEE_TYPE 6 -+# define ARCNET_TYPE 7 -+ -+ uint16_t HwAddrLen; /* Length of hardware address */ -+ MAC_ADDR CurrentNodeAddress; /* Current hardware address */ -+ MAC_ADDR PermNodeAddress; /* Permanent hardware address */ -+ SEGSEL_t ROMAddress; /* Real mode ROM segment address */ -+ uint16_t RxBufCt; /* Receive queue length */ -+ uint16_t TxBufCt; /* Transmit queue length */ -+} PACKED t_PXENV_UNDI_GET_INFORMATION; -+ -+#define PXENV_UNDI_GET_STATISTICS 0x000D -+typedef struct { -+ PXENV_STATUS_t Status; -+ uint32_t XmitGoodFrames; /* Number of successful transmissions */ -+ uint32_t RcvGoodFrames; /* Number of good frames received */ -+ uint32_t RcvCRCErrors; /* Number of frames with CRC errors */ -+ uint32_t RcvResourceErrors; /* Number of frames dropped */ -+} PACKED t_PXENV_UNDI_GET_STATISTICS; -+ -+#define PXENV_UNDI_CLEAR_STATISTICS 0x000E -+typedef struct { -+ PXENV_STATUS_t Status; -+} PACKED t_PXENV_UNDI_CLEAR_STATISTICS; -+ -+#define PXENV_UNDI_INITIATE_DIAGS 0x000F -+typedef struct { -+ PXENV_STATUS_t Status; -+} PACKED t_PXENV_UNDI_INITIATE_DIAGS; -+ -+#define PXENV_UNDI_FORCE_INTERRUPT 0x0010 -+typedef struct { -+ PXENV_STATUS_t Status; -+} PACKED t_PXENV_UNDI_FORCE_INTERRUPT; -+ -+#define PXENV_UNDI_GET_MCAST_ADDRESS 0x0011 -+typedef struct { -+ PXENV_STATUS_t Status; -+ IP4_t InetAddr; /* IP mulicast address */ -+ MAC_ADDR MediaAddr; /* MAC multicast address */ -+} PACKED t_PXENV_UNDI_GET_MCAST_ADDR; -+ -+#define PXENV_UNDI_GET_NIC_TYPE 0x0012 -+typedef struct { -+ PXENV_STATUS_t Status; -+ uint8_t NicType; /* Type of NIC */ -+# define PCI_NIC 2 -+# define PnP_NIC 3 -+# define CardBus_NIC 4 -+ -+ union { -+ struct { -+ uint16_t Vendor_ID; -+ uint16_t Dev_ID; -+ uint8_t Base_Class; -+ uint8_t Sub_Class; -+ uint8_t Prog_Intf; -+ uint8_t Rev; -+ uint16_t BusDevFunc; -+ uint16_t SubVendor_ID; -+ uint16_t SubDevice_ID; -+ } pci, cardbus; -+ struct { -+ uint32_t EISA_Dev_ID; -+ uint8_t Base_Class; -+ uint8_t Sub_Class; -+ uint8_t Prog_Intf; -+ uint16_t CardSelNum; -+ } pnp; -+ } info; -+} PACKED t_PXENV_UNDI_GET_NIC_TYPE; -+ -+#define PXENV_UNDI_GET_IFACE_INFO 0x0013 -+typedef struct { -+ PXENV_STATUS_t Status; -+ uint8_t IfaceType[16]; /* Name of MAC type in ASCII. */ -+ uint32_t LinkSpeed; /* Defined in NDIS 2.0 spec */ -+ uint32_t ServiceFlags; /* Defined in NDIS 2.0 spec */ -+ uint32_t Reserved[4]; /* must be 0 */ -+} PACKED t_PXENV_UNDI_GET_IFACE_INFO; -+ -+#define PXENV_UNDI_ISR 0x0014 -+typedef struct { -+ PXENV_STATUS_t Status; -+ uint16_t FuncFlag; /* PXENV_UNDI_ISR_OUT_xxx */ -+ uint16_t BufferLength; /* Length of Frame */ -+ uint16_t FrameLength; /* Total length of reciever frame */ -+ uint16_t FrameHeaderLength; /* Length of the media header in Frame */ -+ SEGOFF16_t Frame; /* receive buffer */ -+ uint8_t ProtType; /* Protocol type */ -+ uint8_t PktType; /* Packet Type */ -+# define PXENV_UNDI_ISR_IN_START 1 -+# define PXENV_UNDI_ISR_IN_PROCESS 2 -+# define PXENV_UNDI_ISR_IN_GET_NEXT 3 -+ -+ /* one of these will be returned for PXENV_UNDI_ISR_IN_START */ -+# define PXENV_UNDI_ISR_OUT_OURS 0 -+# define PXENV_UNDI_ISR_OUT_NOT_OURS 1 -+ -+ /* -+ * one of these will bre returnd for PXEND_UNDI_ISR_IN_PROCESS -+ * and PXENV_UNDI_ISR_IN_GET_NEXT -+ */ -+# define PXENV_UNDI_ISR_OUT_DONE 0 -+# define PXENV_UNDI_ISR_OUT_TRANSMIT 2 -+# define PXENV_UNDI_ISR_OUT_RECEIVE 3 -+# define PXENV_UNDI_ISR_OUT_BUSY 4 -+} PACKED t_PXENV_UNDI_ISR; -+ -+#define PXENV_STOP_UNDI 0x0015 -+typedef struct { -+ PXENV_STATUS_t Status; -+} PACKED t_PXENV_STOP_UNDI; -+ -+#define PXENV_TFTP_OPEN 0x0020 -+typedef struct { -+ PXENV_STATUS_t Status; -+ IP4_t ServerIPAddress; -+ IP4_t GatewayIPAddress; -+ uint8_t FileName[128]; -+ UDP_PORT_t TFTPPort; -+ uint16_t PacketSize; -+} PACKED t_PXENV_TFTP_OPEN; -+ -+#define PXENV_TFTP_CLOSE 0x0021 -+typedef struct { -+ PXENV_STATUS_t Status; -+} PACKED t_PXENV_TFTP_CLOSE; -+ -+#define PXENV_TFTP_READ 0x0022 -+typedef struct { -+ PXENV_STATUS_t Status; -+ uint16_t PacketNumber; -+ uint16_t BufferSize; -+ SEGOFF16_t Buffer; -+} PACKED t_PXENV_TFTP_READ; -+ -+#define PXENV_TFTP_READ_FILE 0x0023 -+typedef struct { -+ PXENV_STATUS_t Status; -+ uint8_t FileName[128]; -+ uint32_t BufferSize; -+ ADDR32_t Buffer; -+ IP4_t ServerIPAddress; -+ IP4_t GatewayIPAdress; -+ IP4_t McastIPAdress; -+ UDP_PORT_t TFTPClntPort; -+ UDP_PORT_t TFTPSrvPort; -+ uint16_t TFTPOpenTimeOut; -+ uint16_t TFTPReopenDelay; -+} PACKED t_PXENV_TFTP_READ_FILE; -+ -+#define PXENV_TFTP_GET_FSIZE 0x0025 -+typedef struct { -+ PXENV_STATUS_t Status; -+ IP4_t ServerIPAddress; -+ IP4_t GatewayIPAdress; -+ uint8_t FileName[128]; -+ uint32_t FileSize; -+} PACKED t_PXENV_TFTP_GET_FSIZE; -+ -+#define PXENV_UDP_OPEN 0x0030 -+typedef struct { -+ PXENV_STATUS_t Status; -+ IP4_t src_ip; /* IP address of this station */ -+} PACKED t_PXENV_UDP_OPEN; -+ -+#define PXENV_UDP_CLOSE 0x0031 -+typedef struct { -+ PXENV_STATUS_t status; -+} PACKED t_PXENV_UDP_CLOSE; -+ -+#define PXENV_UDP_READ 0x0032 -+typedef struct { -+ PXENV_STATUS_t status; -+ IP4_t src_ip; /* IP of sender */ -+ IP4_t dest_ip; /* Only accept packets sent to this IP */ -+ UDP_PORT_t s_port; /* UDP source port of sender */ -+ UDP_PORT_t d_port; /* Only accept packets sent to this port */ -+ uint16_t buffer_size; /* Size of the packet buffer */ -+ SEGOFF16_t buffer; /* SEG:OFF to the packet buffer */ -+} PACKED t_PXENV_UDP_READ; -+ -+#define PXENV_UDP_WRITE 0x0033 -+typedef struct { -+ PXENV_STATUS_t status; -+ IP4_t ip; /* dest ip addr */ -+ IP4_t gw; /* ip gateway */ -+ UDP_PORT_t src_port; /* source udp port */ -+ UDP_PORT_t dst_port; /* destination udp port */ -+ uint16_t buffer_size; /* Size of the packet buffer */ -+ SEGOFF16_t buffer; /* SEG:OFF to the packet buffer */ -+} PACKED t_PXENV_UDP_WRITE; -+ -+#define PXENV_UNLOAD_STACK 0x0070 -+typedef struct { -+ PXENV_STATUS_t Status; -+ uint8_t reserved[10]; -+} PACKED t_PXENV_UNLOAD_STACK; -+ -+ -+#define PXENV_GET_CACHED_INFO 0x0071 -+typedef struct { -+ PXENV_STATUS_t Status; -+ uint16_t PacketType; /* type (defined right here) */ -+# define PXENV_PACKET_TYPE_DHCP_DISCOVER 1 -+# define PXENV_PACKET_TYPE_DHCP_ACK 2 -+# define PXENV_PACKET_TYPE_BINL_REPLY 3 -+ uint16_t BufferSize; /* max to copy, leave at 0 for pointer */ -+ SEGOFF16_t Buffer; /* copy to, leave at 0 for pointer */ -+ uint16_t BufferLimit; /* max size of buffer in BC dataseg ? */ -+} PACKED t_PXENV_GET_CACHED_INFO; -+ -+ -+/* structure filled in by PXENV_GET_CACHED_INFO -+ * (how we determine which IP we downloaded the initial bootstrap from) -+ * words can't describe... -+ */ -+typedef struct { -+ uint8_t opcode; -+# define BOOTP_REQ 1 -+# define BOOTP_REP 2 -+ uint8_t Hardware; /* hardware type */ -+ uint8_t Hardlen; /* hardware addr len */ -+ uint8_t Gatehops; /* zero it */ -+ uint32_t ident; /* random number chosen by client */ -+ uint16_t seconds; /* seconds since did initial bootstrap */ -+ uint16_t Flags; /* seconds since did initial bootstrap */ -+# define BOOTP_BCAST 0x8000 /* ? */ -+ IP4_t cip; /* Client IP */ -+ IP4_t yip; /* Your IP */ -+ IP4_t sip; /* IP to use for next boot stage */ -+ IP4_t gip; /* Relay IP ? */ -+ MAC_ADDR CAddr; /* Client hardware address */ -+ uint8_t Sname[64]; /* Server's hostname (Optional) */ -+ uint8_t bootfile[128]; /* boot filename */ -+ union { -+# if 1 -+# define BOOTP_DHCPVEND 1024 /* DHCP extended vendor field size */ -+# else -+# define BOOTP_DHCPVEND 312 /* DHCP standard vendor field size */ -+# endif -+ uint8_t d[BOOTP_DHCPVEND]; /* raw array of vendor/dhcp options */ -+ struct { -+ uint8_t magic[4]; /* DHCP magic cookie */ -+# ifndef VM_RFC1048 -+# define VM_RFC1048 0x63825363L /* ? */ -+# endif -+ uint32_t flags; /* bootp flags/opcodes */ -+ uint8_t pad[56]; /* I don't think intel knows what a -+ union does... */ -+ } v; -+ } vendor; -+} PACKED BOOTPLAYER; -+ -+#define PXENV_RESTART_TFTP 0x0073 -+#define t_PXENV_RESTART_TFTP t_PXENV_TFTP_READ_FILE -+ -+#define PXENV_START_BASE 0x0075 -+typedef struct { -+ PXENV_STATUS_t Status; -+} PACKED t_PXENV_START_BASE; -+ -+#define PXENV_STOP_BASE 0x0076 -+typedef struct { -+ PXENV_STATUS_t Status; -+} PACKED t_PXENV_STOP_BASE; -Index: b/netboot/r8169.c -=================================================================== ---- /dev/null -+++ b/netboot/r8169.c -@@ -0,0 +1,854 @@ -+/************************************************************************** -+* r8169.c: Etherboot device driver for the RealTek RTL-8169 Gigabit -+* Written 2003 by Timothy Legge -+* -+* 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., 675 Mass Ave, Cambridge, MA 02139, USA. -+* -+* Portions of this code based on: -+* r8169.c: A RealTek RTL-8169 Gigabit Ethernet driver -+* for Linux kernel 2.4.x. -+* -+* Written 2002 ShuChen -+* See Linux Driver for full information -+* -+* Linux Driver Version 1.27a, 10.02.2002 -+* -+* Thanks to: -+* Jean Chen of RealTek Semiconductor Corp. for -+* providing the evaluation NIC used to develop -+* this driver. RealTek's support for Etherboot -+* is appreciated. -+* -+* REVISION HISTORY: -+* ================ -+* -+* v1.0 11-26-2003 timlegge Initial port of Linux driver -+* v1.5 01-17-2004 timlegge Initial driver output cleanup -+* v1.6 03-27-2004 timlegge Additional Cleanup -+* -+* Indent Options: indent -kr -i8 -+***************************************************************************/ -+ -+/* to get some global routines like printf */ -+#include "etherboot.h" -+/* to get the interface to the body of the program */ -+#include "nic.h" -+/* to get the PCI support functions, if this is a PCI NIC */ -+#include "pci.h" -+#include "timer.h" -+ -+#define drv_version "v1.6" -+#define drv_date "03-27-2004" -+ -+typedef unsigned char u8; -+typedef signed char s8; -+typedef unsigned short u16; -+typedef signed short s16; -+typedef unsigned int u32; -+typedef signed int s32; -+ -+#define HZ 1000 -+ -+static u32 ioaddr; -+ -+#ifdef EDEBUG -+#define dprintf(x) printf x -+#else -+#define dprintf(x) -+#endif -+ -+/* Condensed operations for readability. */ -+#define virt_to_le32desc(addr) cpu_to_le32(virt_to_bus(addr)) -+#define le32desc_to_virt(addr) bus_to_virt(le32_to_cpu(addr)) -+ -+#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) -+ -+/* media options -+ _10_Half = 0x01, -+ _10_Full = 0x02, -+ _100_Half = 0x04, -+ _100_Full = 0x08, -+ _1000_Full = 0x10, -+*/ -+static int media = -1; -+ -+#if 0 -+/* Maximum events (Rx packets, etc.) to handle at each interrupt. */ -+static int max_interrupt_work = 20; -+#endif -+ -+#if 0 -+/* Maximum number of multicast addresses to filter (vs. Rx-all-multicast). -+ The RTL chips use a 64 element hash table based on the Ethernet CRC. */ -+static int multicast_filter_limit = 32; -+#endif -+ -+/* MAC address length*/ -+#define MAC_ADDR_LEN 6 -+ -+/* max supported gigabit ethernet frame size -- must be at least (dev->mtu+14+4).*/ -+#define MAX_ETH_FRAME_SIZE 1536 -+ -+#define TX_FIFO_THRESH 256 /* In bytes */ -+ -+#define RX_FIFO_THRESH 7 /* 7 means NO threshold, Rx buffer level before first PCI xfer. */ -+#define RX_DMA_BURST 6 /* Maximum PCI burst, '6' is 1024 */ -+#define TX_DMA_BURST 6 /* Maximum PCI burst, '6' is 1024 */ -+#define EarlyTxThld 0x3F /* 0x3F means NO early transmit */ -+#define RxPacketMaxSize 0x0800 /* Maximum size supported is 16K-1 */ -+#define InterFrameGap 0x03 /* 3 means InterFrameGap = the shortest one */ -+ -+#define NUM_TX_DESC 1 /* Number of Tx descriptor registers */ -+#define NUM_RX_DESC 4 /* Number of Rx descriptor registers */ -+#define RX_BUF_SIZE 1536 /* Rx Buffer size */ -+ -+#define RTL_MIN_IO_SIZE 0x80 -+#define TX_TIMEOUT (6*HZ) -+ -+/* write/read MMIO register */ -+#define RTL_W8(reg, val8) writeb ((val8), ioaddr + (reg)) -+#define RTL_W16(reg, val16) writew ((val16), ioaddr + (reg)) -+#define RTL_W32(reg, val32) writel ((val32), ioaddr + (reg)) -+#define RTL_R8(reg) readb (ioaddr + (reg)) -+#define RTL_R16(reg) readw (ioaddr + (reg)) -+#define RTL_R32(reg) ((unsigned long) readl (ioaddr + (reg))) -+ -+enum RTL8169_registers { -+ MAC0 = 0, /* Ethernet hardware address. */ -+ MAR0 = 8, /* Multicast filter. */ -+ TxDescStartAddr = 0x20, -+ TxHDescStartAddr = 0x28, -+ FLASH = 0x30, -+ ERSR = 0x36, -+ ChipCmd = 0x37, -+ TxPoll = 0x38, -+ IntrMask = 0x3C, -+ IntrStatus = 0x3E, -+ TxConfig = 0x40, -+ RxConfig = 0x44, -+ RxMissed = 0x4C, -+ Cfg9346 = 0x50, -+ Config0 = 0x51, -+ Config1 = 0x52, -+ Config2 = 0x53, -+ Config3 = 0x54, -+ Config4 = 0x55, -+ Config5 = 0x56, -+ MultiIntr = 0x5C, -+ PHYAR = 0x60, -+ TBICSR = 0x64, -+ TBI_ANAR = 0x68, -+ TBI_LPAR = 0x6A, -+ PHYstatus = 0x6C, -+ RxMaxSize = 0xDA, -+ CPlusCmd = 0xE0, -+ RxDescStartAddr = 0xE4, -+ EarlyTxThres = 0xEC, -+ FuncEvent = 0xF0, -+ FuncEventMask = 0xF4, -+ FuncPresetState = 0xF8, -+ FuncForceEvent = 0xFC, -+}; -+ -+enum RTL8169_register_content { -+ /*InterruptStatusBits */ -+ SYSErr = 0x8000, -+ PCSTimeout = 0x4000, -+ SWInt = 0x0100, -+ TxDescUnavail = 0x80, -+ RxFIFOOver = 0x40, -+ RxUnderrun = 0x20, -+ RxOverflow = 0x10, -+ TxErr = 0x08, -+ TxOK = 0x04, -+ RxErr = 0x02, -+ RxOK = 0x01, -+ -+ /*RxStatusDesc */ -+ RxRES = 0x00200000, -+ RxCRC = 0x00080000, -+ RxRUNT = 0x00100000, -+ RxRWT = 0x00400000, -+ -+ /*ChipCmdBits */ -+ CmdReset = 0x10, -+ CmdRxEnb = 0x08, -+ CmdTxEnb = 0x04, -+ RxBufEmpty = 0x01, -+ -+ /*Cfg9346Bits */ -+ Cfg9346_Lock = 0x00, -+ Cfg9346_Unlock = 0xC0, -+ -+ /*rx_mode_bits */ -+ AcceptErr = 0x20, -+ AcceptRunt = 0x10, -+ AcceptBroadcast = 0x08, -+ AcceptMulticast = 0x04, -+ AcceptMyPhys = 0x02, -+ AcceptAllPhys = 0x01, -+ -+ /*RxConfigBits */ -+ RxCfgFIFOShift = 13, -+ RxCfgDMAShift = 8, -+ -+ /*TxConfigBits */ -+ TxInterFrameGapShift = 24, -+ TxDMAShift = 8, /* DMA burst value (0-7) is shift this many bits */ -+ -+ /*rtl8169_PHYstatus */ -+ TBI_Enable = 0x80, -+ TxFlowCtrl = 0x40, -+ RxFlowCtrl = 0x20, -+ _1000bpsF = 0x10, -+ _100bps = 0x08, -+ _10bps = 0x04, -+ LinkStatus = 0x02, -+ FullDup = 0x01, -+ -+ /*GIGABIT_PHY_registers */ -+ PHY_CTRL_REG = 0, -+ PHY_STAT_REG = 1, -+ PHY_AUTO_NEGO_REG = 4, -+ PHY_1000_CTRL_REG = 9, -+ -+ /*GIGABIT_PHY_REG_BIT */ -+ PHY_Restart_Auto_Nego = 0x0200, -+ PHY_Enable_Auto_Nego = 0x1000, -+ -+ /* PHY_STAT_REG = 1; */ -+ PHY_Auto_Neco_Comp = 0x0020, -+ -+ /* PHY_AUTO_NEGO_REG = 4; */ -+ PHY_Cap_10_Half = 0x0020, -+ PHY_Cap_10_Full = 0x0040, -+ PHY_Cap_100_Half = 0x0080, -+ PHY_Cap_100_Full = 0x0100, -+ -+ /* PHY_1000_CTRL_REG = 9; */ -+ PHY_Cap_1000_Full = 0x0200, -+ -+ PHY_Cap_Null = 0x0, -+ -+ /*_MediaType*/ -+ _10_Half = 0x01, -+ _10_Full = 0x02, -+ _100_Half = 0x04, -+ _100_Full = 0x08, -+ _1000_Full = 0x10, -+ -+ /*_TBICSRBit*/ -+ TBILinkOK = 0x02000000, -+}; -+ -+static struct { -+ const char *name; -+ u8 version; /* depend on RTL8169 docs */ -+ u32 RxConfigMask; /* should clear the bits supported by this chip */ -+} rtl_chip_info[] = { -+ { -+"RTL-8169", 0x00, 0xff7e1880,},}; -+ -+enum _DescStatusBit { -+ OWNbit = 0x80000000, -+ EORbit = 0x40000000, -+ FSbit = 0x20000000, -+ LSbit = 0x10000000, -+}; -+ -+struct TxDesc { -+ u32 status; -+ u32 vlan_tag; -+ u32 buf_addr; -+ u32 buf_Haddr; -+}; -+ -+struct RxDesc { -+ u32 status; -+ u32 vlan_tag; -+ u32 buf_addr; -+ u32 buf_Haddr; -+}; -+ -+/* The descriptors for this card are required to be aligned on -+256 byte boundaries. As the align attribute does not do more than -+16 bytes of alignment it requires some extra steps. Add 256 to the -+size of the array and the init_ring adjusts the alignment */ -+ -+/* Define the TX Descriptor */ -+static u8 tx_ring[NUM_TX_DESC * sizeof(struct TxDesc) + 256]; -+ -+/* Create a static buffer of size RX_BUF_SZ for each -+TX Descriptor. All descriptors point to a -+part of this buffer */ -+static unsigned char txb[NUM_TX_DESC * RX_BUF_SIZE]; -+ -+/* Define the RX Descriptor */ -+static u8 rx_ring[NUM_RX_DESC * sizeof(struct TxDesc) + 256]; -+ -+/* Create a static buffer of size RX_BUF_SZ for each -+RX Descriptor All descriptors point to a -+part of this buffer */ -+static unsigned char rxb[NUM_RX_DESC * RX_BUF_SIZE]; -+ -+struct rtl8169_private { -+ void *mmio_addr; /* memory map physical address */ -+ int chipset; -+ unsigned long cur_rx; /* Index into the Rx descriptor buffer of next Rx pkt. */ -+ unsigned long cur_tx; /* Index into the Tx descriptor buffer of next Rx pkt. */ -+ unsigned char *TxDescArrays; /* Index of Tx Descriptor buffer */ -+ unsigned char *RxDescArrays; /* Index of Rx Descriptor buffer */ -+ struct TxDesc *TxDescArray; /* Index of 256-alignment Tx Descriptor buffer */ -+ struct RxDesc *RxDescArray; /* Index of 256-alignment Rx Descriptor buffer */ -+ unsigned char *RxBufferRing[NUM_RX_DESC]; /* Index of Rx Buffer array */ -+ unsigned char *Tx_skbuff[NUM_TX_DESC]; -+} tpx; -+ -+static struct rtl8169_private *tpc; -+ -+static const u16 rtl8169_intr_mask = -+ SYSErr | PCSTimeout | RxUnderrun | RxOverflow | RxFIFOOver | TxErr | -+ TxOK | RxErr | RxOK; -+static const unsigned int rtl8169_rx_config = -+ (RX_FIFO_THRESH << RxCfgFIFOShift) | (RX_DMA_BURST << RxCfgDMAShift); -+ -+void mdio_write(int RegAddr, int value) -+{ -+ int i; -+ -+ RTL_W32(PHYAR, 0x80000000 | (RegAddr & 0xFF) << 16 | value); -+ udelay(1000); -+ -+ for (i = 2000; i > 0; i--) { -+ /* Check if the RTL8169 has completed writing to the specified MII register */ -+ if (!(RTL_R32(PHYAR) & 0x80000000)) { -+ break; -+ } else { -+ udelay(100); -+ } -+ } -+} -+ -+int mdio_read(int RegAddr) -+{ -+ int i, value = -1; -+ -+ RTL_W32(PHYAR, 0x0 | (RegAddr & 0xFF) << 16); -+ udelay(1000); -+ -+ for (i = 2000; i > 0; i--) { -+ /* Check if the RTL8169 has completed retrieving data from the specified MII register */ -+ if (RTL_R32(PHYAR) & 0x80000000) { -+ value = (int) (RTL_R32(PHYAR) & 0xFFFF); -+ break; -+ } else { -+ udelay(100); -+ } -+ } -+ return value; -+} -+ -+static int rtl8169_init_board(struct pci_device *pdev) -+{ -+ int i; -+ unsigned long rtreg_base, rtreg_len; -+ u32 tmp; -+ -+ rtreg_base = pci_bar_start(pdev, PCI_BASE_ADDRESS_1); -+ rtreg_len = pci_bar_size(pdev, PCI_BASE_ADDRESS_1); -+ -+ /* check for weird/broken PCI region reporting */ -+ if (rtreg_len < RTL_MIN_IO_SIZE) { -+ printf("Invalid PCI region size(s), aborting\n"); -+ } -+ -+ adjust_pci_device(pdev); -+/* pm_cap = pci_find_capability(pdev, PCI_CAP_ID_PM); */ -+ -+ /* ioremap MMIO region */ -+ ioaddr = (unsigned long) ioremap(rtreg_base, rtreg_len); -+ if (ioaddr == 0) -+ return 0; -+ -+ tpc->mmio_addr = &ioaddr; -+ /* Soft reset the chip. */ -+ RTL_W8(ChipCmd, CmdReset); -+ -+ /* Check that the chip has finished the reset. */ -+ for (i = 1000; i > 0; i--) -+ if ((RTL_R8(ChipCmd) & CmdReset) == 0) -+ break; -+ else -+ udelay(10); -+ -+ /* identify chip attached to board */ -+ tmp = RTL_R32(TxConfig); -+ tmp = ((tmp & 0x7c000000) + ((tmp & 0x00800000) << 2)) >> 24; -+ -+ for (i = ARRAY_SIZE(rtl_chip_info) - 1; i >= 0; i--) -+ if (tmp == rtl_chip_info[i].version) { -+ tpc->chipset = i; -+ goto match; -+ } -+ /* if unknown chip, assume array element #0, original RTL-8169 in this case */ -+ dprintf(("PCI device: unknown chip version, assuming RTL-8169\n")); -+ dprintf(("PCI device: TxConfig = 0x%hX\n", -+ (unsigned long) RTL_R32(TxConfig))); -+ tpc->chipset = 0; -+ return 1; -+ match: -+ return 0; -+ -+} -+ -+/************************************************************************** -+IRQ - Wait for a frame -+***************************************************************************/ -+void r8169_irq ( struct nic *nic __unused, irq_action_t action ) { -+ int intr_status = 0; -+ int interested = RxUnderrun | RxOverflow | RxFIFOOver | RxErr | RxOK; -+ -+ switch ( action ) { -+ case DISABLE: -+ case ENABLE: -+ intr_status = RTL_R16(IntrStatus); -+ /* h/w no longer present (hotplug?) or major error, -+ bail */ -+ if (intr_status == 0xFFFF) -+ break; -+ -+ intr_status = intr_status & ~interested; -+ if ( action == ENABLE ) -+ intr_status = intr_status | interested; -+ RTL_W16(IntrMask, intr_status); -+ break; -+ case FORCE : -+ RTL_W8(TxPoll, (RTL_R8(TxPoll) | 0x01)); -+ break; -+ } -+} -+ -+/************************************************************************** -+POLL - Wait for a frame -+***************************************************************************/ -+static int r8169_poll(struct nic *nic, int retreive) -+{ -+ /* return true if there's an ethernet packet ready to read */ -+ /* nic->packet should contain data on return */ -+ /* nic->packetlen should contain length of data */ -+ int cur_rx; -+ unsigned int intr_status = 0; -+ cur_rx = tpc->cur_rx; -+ if ((tpc->RxDescArray[cur_rx].status & OWNbit) == 0) { -+ /* There is a packet ready */ -+ if(!retreive) -+ return 1; -+ intr_status = RTL_R16(IntrStatus); -+ /* h/w no longer present (hotplug?) or major error, -+ bail */ -+ if (intr_status == 0xFFFF) -+ return 0; -+ RTL_W16(IntrStatus, intr_status & -+ ~(RxFIFOOver | RxOverflow | RxOK)); -+ -+ if (!(tpc->RxDescArray[cur_rx].status & RxRES)) { -+ nic->packetlen = (int) (tpc->RxDescArray[cur_rx]. -+ status & 0x00001FFF) - 4; -+ memcpy(nic->packet, tpc->RxBufferRing[cur_rx], -+ nic->packetlen); -+ if (cur_rx == NUM_RX_DESC - 1) -+ tpc->RxDescArray[cur_rx].status = -+ (OWNbit | EORbit) + RX_BUF_SIZE; -+ else -+ tpc->RxDescArray[cur_rx].status = -+ OWNbit + RX_BUF_SIZE; -+ tpc->RxDescArray[cur_rx].buf_addr = -+ virt_to_bus(tpc->RxBufferRing[cur_rx]); -+ } else -+ printf("Error Rx"); -+ /* FIXME: shouldn't I reset the status on an error */ -+ cur_rx = (cur_rx + 1) % NUM_RX_DESC; -+ tpc->cur_rx = cur_rx; -+ RTL_W16(IntrStatus, intr_status & -+ (RxFIFOOver | RxOverflow | RxOK)); -+ -+ return 1; -+ -+ } -+ tpc->cur_rx = cur_rx; -+ /* FIXME: There is no reason to do this as cur_rx did not change */ -+ -+ return (0); /* initially as this is called to flush the input */ -+ -+} -+ -+/************************************************************************** -+TRANSMIT - Transmit a frame -+***************************************************************************/ -+static void r8169_transmit(struct nic *nic, const char *d, /* Destination */ -+ unsigned int t, /* Type */ -+ unsigned int s, /* size */ -+ const char *p) -+{ /* Packet */ -+ /* send the packet to destination */ -+ -+ u16 nstype; -+ u32 to; -+ u8 *ptxb; -+ int entry = tpc->cur_tx % NUM_TX_DESC; -+ -+ /* point to the current txb incase multiple tx_rings are used */ -+ ptxb = tpc->Tx_skbuff[entry * MAX_ETH_FRAME_SIZE]; -+ memcpy(ptxb, d, ETH_ALEN); -+ memcpy(ptxb + ETH_ALEN, nic->node_addr, ETH_ALEN); -+ nstype = htons((u16) t); -+ memcpy(ptxb + 2 * ETH_ALEN, (u8 *) & nstype, 2); -+ memcpy(ptxb + ETH_HLEN, p, s); -+ s += ETH_HLEN; -+ s &= 0x0FFF; -+ while (s < ETH_ZLEN) -+ ptxb[s++] = '\0'; -+ -+ tpc->TxDescArray[entry].buf_addr = virt_to_bus(ptxb); -+ if (entry != (NUM_TX_DESC - 1)) -+ tpc->TxDescArray[entry].status = -+ (OWNbit | FSbit | LSbit) | ((s > ETH_ZLEN) ? s : -+ ETH_ZLEN); -+ else -+ tpc->TxDescArray[entry].status = -+ (OWNbit | EORbit | FSbit | LSbit) | ((s > ETH_ZLEN) ? s -+ : ETH_ZLEN); -+ RTL_W8(TxPoll, 0x40); /* set polling bit */ -+ -+ tpc->cur_tx++; -+ to = currticks() + TX_TIMEOUT; -+ while ((tpc->TxDescArray[entry].status & OWNbit) && (currticks() < to)); /* wait */ -+ -+ if (currticks() >= to) { -+ printf("TX Time Out"); -+ } -+} -+ -+static void rtl8169_set_rx_mode(struct nic *nic __unused) -+{ -+ u32 mc_filter[2]; /* Multicast hash filter */ -+ int rx_mode; -+ u32 tmp = 0; -+ -+ /* IFF_ALLMULTI */ -+ /* Too many to filter perfectly -- accept all multicasts. */ -+ rx_mode = AcceptBroadcast | AcceptMulticast | AcceptMyPhys; -+ mc_filter[1] = mc_filter[0] = 0xffffffff; -+ -+ tmp = -+ rtl8169_rx_config | rx_mode | (RTL_R32(RxConfig) & -+ rtl_chip_info[tpc->chipset]. -+ RxConfigMask); -+ -+ RTL_W32(RxConfig, tmp); -+ RTL_W32(MAR0 + 0, mc_filter[0]); -+ RTL_W32(MAR0 + 4, mc_filter[1]); -+} -+static void rtl8169_hw_start(struct nic *nic) -+{ -+ u32 i; -+ -+ /* Soft reset the chip. */ -+ RTL_W8(ChipCmd, CmdReset); -+ -+ /* Check that the chip has finished the reset. */ -+ for (i = 1000; i > 0; i--) { -+ if ((RTL_R8(ChipCmd) & CmdReset) == 0) -+ break; -+ else -+ udelay(10); -+ } -+ -+ RTL_W8(Cfg9346, Cfg9346_Unlock); -+ RTL_W8(ChipCmd, CmdTxEnb | CmdRxEnb); -+ RTL_W8(EarlyTxThres, EarlyTxThld); -+ -+ /* For gigabit rtl8169 */ -+ RTL_W16(RxMaxSize, RxPacketMaxSize); -+ -+ /* Set Rx Config register */ -+ i = rtl8169_rx_config | (RTL_R32(RxConfig) & -+ rtl_chip_info[tpc->chipset].RxConfigMask); -+ RTL_W32(RxConfig, i); -+ -+ /* Set DMA burst size and Interframe Gap Time */ -+ RTL_W32(TxConfig, -+ (TX_DMA_BURST << TxDMAShift) | (InterFrameGap << -+ TxInterFrameGapShift)); -+ -+ -+ tpc->cur_rx = 0; -+ -+ RTL_W32(TxDescStartAddr, virt_to_le32desc(tpc->TxDescArray)); -+ RTL_W32(RxDescStartAddr, virt_to_le32desc(tpc->RxDescArray)); -+ RTL_W8(Cfg9346, Cfg9346_Lock); -+ udelay(10); -+ -+ RTL_W32(RxMissed, 0); -+ -+ rtl8169_set_rx_mode(nic); -+ -+ /* no early-rx interrupts */ -+ RTL_W16(MultiIntr, RTL_R16(MultiIntr) & 0xF000); -+} -+ -+static void rtl8169_init_ring(struct nic *nic __unused) -+{ -+ int i; -+ -+ tpc->cur_rx = 0; -+ tpc->cur_tx = 0; -+ memset(tpc->TxDescArray, 0x0, NUM_TX_DESC * sizeof(struct TxDesc)); -+ memset(tpc->RxDescArray, 0x0, NUM_RX_DESC * sizeof(struct RxDesc)); -+ -+ for (i = 0; i < NUM_TX_DESC; i++) { -+ tpc->Tx_skbuff[i] = &txb[i]; -+ } -+ -+ for (i = 0; i < NUM_RX_DESC; i++) { -+ if (i == (NUM_RX_DESC - 1)) -+ tpc->RxDescArray[i].status = -+ (OWNbit | EORbit) + RX_BUF_SIZE; -+ else -+ tpc->RxDescArray[i].status = OWNbit + RX_BUF_SIZE; -+ -+ tpc->RxBufferRing[i] = &rxb[i * RX_BUF_SIZE]; -+ tpc->RxDescArray[i].buf_addr = -+ virt_to_bus(tpc->RxBufferRing[i]); -+ } -+} -+ -+/************************************************************************** -+RESET - Finish setting up the ethernet interface -+***************************************************************************/ -+static void r8169_reset(struct nic *nic) -+{ -+ int i; -+ u8 diff; -+ u32 TxPhyAddr, RxPhyAddr; -+ -+ tpc->TxDescArrays = tx_ring; -+ if (tpc->TxDescArrays == 0) -+ printf("Allot Error"); -+ /* Tx Desscriptor needs 256 bytes alignment; */ -+ TxPhyAddr = virt_to_bus(tpc->TxDescArrays); -+ diff = 256 - (TxPhyAddr - ((TxPhyAddr >> 8) << 8)); -+ TxPhyAddr += diff; -+ tpc->TxDescArray = (struct TxDesc *) (tpc->TxDescArrays + diff); -+ -+ tpc->RxDescArrays = rx_ring; -+ /* Rx Desscriptor needs 256 bytes alignment; */ -+ RxPhyAddr = virt_to_bus(tpc->RxDescArrays); -+ diff = 256 - (RxPhyAddr - ((RxPhyAddr >> 8) << 8)); -+ RxPhyAddr += diff; -+ tpc->RxDescArray = (struct RxDesc *) (tpc->RxDescArrays + diff); -+ -+ if (tpc->TxDescArrays == NULL || tpc->RxDescArrays == NULL) { -+ printf("Allocate RxDescArray or TxDescArray failed\n"); -+ return; -+ } -+ -+ rtl8169_init_ring(nic); -+ rtl8169_hw_start(nic); -+ /* Construct a perfect filter frame with the mac address as first match -+ * and broadcast for all others */ -+ for (i = 0; i < 192; i++) -+ txb[i] = 0xFF; -+ -+ txb[0] = nic->node_addr[0]; -+ txb[1] = nic->node_addr[1]; -+ txb[2] = nic->node_addr[2]; -+ txb[3] = nic->node_addr[3]; -+ txb[4] = nic->node_addr[4]; -+ txb[5] = nic->node_addr[5]; -+} -+ -+/************************************************************************** -+DISABLE - Turn off ethernet interface -+***************************************************************************/ -+static void r8169_disable(struct dev *dev __unused) -+{ -+ int i; -+ /* Stop the chip's Tx and Rx DMA processes. */ -+ RTL_W8(ChipCmd, 0x00); -+ -+ /* Disable interrupts by clearing the interrupt mask. */ -+ RTL_W16(IntrMask, 0x0000); -+ -+ RTL_W32(RxMissed, 0); -+ -+ tpc->TxDescArrays = NULL; -+ tpc->RxDescArrays = NULL; -+ tpc->TxDescArray = NULL; -+ tpc->RxDescArray = NULL; -+ for (i = 0; i < NUM_RX_DESC; i++) { -+ tpc->RxBufferRing[i] = NULL; -+ } -+} -+ -+/************************************************************************** -+PROBE - Look for an adapter, this routine's visible to the outside -+***************************************************************************/ -+ -+#define board_found 1 -+#define valid_link 0 -+static int r8169_probe(struct dev *dev, struct pci_device *pci) -+{ -+ struct nic *nic = (struct nic *) dev; -+ static int board_idx = -1; -+ static int printed_version = 0; -+ int i, rc; -+ int option = -1, Cap10_100 = 0, Cap1000 = 0; -+ -+ printf("r8169.c: Found %s, Vendor=%hX Device=%hX\n", -+ pci->name, pci->vendor, pci->dev_id); -+ -+ board_idx++; -+ -+ printed_version = 1; -+ -+ /* point to private storage */ -+ tpc = &tpx; -+ -+ rc = rtl8169_init_board(pci); /* Return code is meaningless */ -+ -+ /* Get MAC address. FIXME: read EEPROM */ -+ for (i = 0; i < MAC_ADDR_LEN; i++) -+ nic->node_addr[i] = RTL_R8(MAC0 + i); -+ -+ dprintf(("%s: Identified chip type is '%s'.\n", pci->name, -+ rtl_chip_info[tpc->chipset].name)); -+ /* Print out some hardware info */ -+ printf("%s: %! at ioaddr %hX, ", pci->name, nic->node_addr, -+ ioaddr); -+ -+ /* if TBI is not endbled */ -+ if (!(RTL_R8(PHYstatus) & TBI_Enable)) { -+ int val = mdio_read(PHY_AUTO_NEGO_REG); -+ -+ option = media; -+ /* Force RTL8169 in 10/100/1000 Full/Half mode. */ -+ if (option > 0) { -+ printf(" Force-mode Enabled.\n"); -+ Cap10_100 = 0, Cap1000 = 0; -+ switch (option) { -+ case _10_Half: -+ Cap10_100 = PHY_Cap_10_Half; -+ Cap1000 = PHY_Cap_Null; -+ break; -+ case _10_Full: -+ Cap10_100 = PHY_Cap_10_Full; -+ Cap1000 = PHY_Cap_Null; -+ break; -+ case _100_Half: -+ Cap10_100 = PHY_Cap_100_Half; -+ Cap1000 = PHY_Cap_Null; -+ break; -+ case _100_Full: -+ Cap10_100 = PHY_Cap_100_Full; -+ Cap1000 = PHY_Cap_Null; -+ break; -+ case _1000_Full: -+ Cap10_100 = PHY_Cap_Null; -+ Cap1000 = PHY_Cap_1000_Full; -+ break; -+ default: -+ break; -+ } -+ /* leave PHY_AUTO_NEGO_REG bit4:0 unchanged */ -+ mdio_write(PHY_AUTO_NEGO_REG, -+ Cap10_100 | (val & 0x1F)); -+ mdio_write(PHY_1000_CTRL_REG, Cap1000); -+ } else { -+ dprintf(("Auto-negotiation Enabled.\n", -+ pci->name)); -+ -+ /* enable 10/100 Full/Half Mode, leave PHY_AUTO_NEGO_REG bit4:0 unchanged */ -+ mdio_write(PHY_AUTO_NEGO_REG, -+ PHY_Cap_10_Half | PHY_Cap_10_Full | -+ PHY_Cap_100_Half | PHY_Cap_100_Full | -+ (val & 0x1F)); -+ -+ /* enable 1000 Full Mode */ -+ mdio_write(PHY_1000_CTRL_REG, PHY_Cap_1000_Full); -+ -+ } -+ -+ /* Enable auto-negotiation and restart auto-nigotiation */ -+ mdio_write(PHY_CTRL_REG, -+ PHY_Enable_Auto_Nego | PHY_Restart_Auto_Nego); -+ udelay(100); -+ -+ /* wait for auto-negotiation process */ -+ for (i = 10000; i > 0; i--) { -+ /* Check if auto-negotiation complete */ -+ if (mdio_read(PHY_STAT_REG) & PHY_Auto_Neco_Comp) { -+ udelay(100); -+ option = RTL_R8(PHYstatus); -+ if (option & _1000bpsF) { -+ printf -+ ("1000Mbps Full-duplex operation.\n"); -+ } else { -+ printf -+ ("%sMbps %s-duplex operation.\n", -+ (option & _100bps) ? "100" : -+ "10", -+ (option & FullDup) ? "Full" : -+ "Half"); -+ } -+ break; -+ } else { -+ udelay(100); -+ } -+ } /* end for-loop to wait for auto-negotiation process */ -+ -+ } else { -+ udelay(100); -+ printf -+ ("%s: 1000Mbps Full-duplex operation, TBI Link %s!\n", -+ pci->name, -+ (RTL_R32(TBICSR) & TBILinkOK) ? "OK" : "Failed"); -+ -+ } -+ -+ r8169_reset(nic); -+ /* point to NIC specific routines */ -+ dev->disable = r8169_disable; -+ nic->poll = r8169_poll; -+ nic->transmit = r8169_transmit; -+ nic->irqno = pci->irq; -+ nic->irq = r8169_irq; -+ nic->ioaddr = ioaddr; -+ return 1; -+ -+} -+ -+static struct pci_id r8169_nics[] = { -+ PCI_ROM(0x10ec, 0x8169, "r8169", "RealTek RTL8169 Gigabit Ethernet"), -+}; -+ -+struct pci_driver r8169_driver = { -+ .type = NIC_DRIVER, -+ .name = "r8169/PCI", -+ .probe = r8169_probe, -+ .ids = r8169_nics, -+ .id_count = sizeof(r8169_nics) / sizeof(r8169_nics[0]), -+ .class = 0, -+}; -Index: b/netboot/rtl8139.c -=================================================================== ---- a/netboot/rtl8139.c -+++ b/netboot/rtl8139.c -@@ -17,6 +17,8 @@ - /*********************************************************************/ - - /* -+ 28 Dec 2002 ken_yap@users.sourceforge.net (Ken Yap) -+ Put in virt_to_bus calls to allow Etherboot relocation. - - 06 Apr 2001 ken_yap@users.sourceforge.net (Ken Yap) - Following email from Hyun-Joon Cha, added a disable routine, otherwise -@@ -63,7 +65,6 @@ - #include "etherboot.h" - #include "nic.h" - #include "pci.h" --#include "cards.h" - #include "timer.h" - - #define RTL_TIMEOUT (1*TICKS_PER_SEC) -@@ -112,9 +113,19 @@ - * definitions we will probably never need to know about. */ - }; - -+enum RxEarlyStatusBits { -+ ERGood=0x08, ERBad=0x04, EROVW=0x02, EROK=0x01 -+}; -+ - enum ChipCmdBits { - CmdReset=0x10, CmdRxEnb=0x08, CmdTxEnb=0x04, RxBufEmpty=0x01, }; - -+enum IntrMaskBits { -+ SERR=0x8000, TimeOut=0x4000, LenChg=0x2000, -+ FOVW=0x40, PUN_LinkChg=0x20, RXOVW=0x10, -+ TER=0x08, TOK=0x04, RER=0x02, ROK=0x01 -+}; -+ - /* Interrupt register bits, using my own meaningful names. */ - enum IntrStatusBits { - PCIErr=0x8000, PCSTimeout=0x4000, CableLenChange= 0x2000, -@@ -155,74 +166,68 @@ - AcceptMulticast=0x04, AcceptMyPhys=0x02, AcceptAllPhys=0x01, - }; - --static int ioaddr; - static unsigned int cur_rx,cur_tx; - - /* The RTL8139 can only transmit from a contiguous, aligned memory block. */ - static unsigned char tx_buffer[TX_BUF_SIZE] __attribute__((aligned(4))); -- --/* I know that this is a MEGA HACK, but the tagged boot image specification -- * states that we can do whatever we want below 0x10000 - so we do! */ --/* But we still give the user the choice of using an internal buffer -- just in case - Ken */ --#ifdef USE_LOWMEM_BUFFER --#define rx_ring ((unsigned char *)(0x10000 - (RX_BUF_LEN + 16))) --#else - static unsigned char rx_ring[RX_BUF_LEN+16] __attribute__((aligned(4))); --#endif - --struct nic *rtl8139_probe(struct nic *nic, unsigned short *probeaddrs, -- struct pci_device *pci); --static int read_eeprom(int location); -+static int rtl8139_probe(struct dev *dev, struct pci_device *pci); -+static int read_eeprom(struct nic *nic, int location, int addr_len); - static void rtl_reset(struct nic *nic); - static void rtl_transmit(struct nic *nic, const char *destaddr, - unsigned int type, unsigned int len, const char *data); --static int rtl_poll(struct nic *nic); --static void rtl_disable(struct nic*); -+static int rtl_poll(struct nic *nic, int retrieve); -+static void rtl_disable(struct dev *); -+static void rtl_irq(struct nic *nic, irq_action_t action); - - --struct nic *rtl8139_probe(struct nic *nic, unsigned short *probeaddrs, -- struct pci_device *pci) -+static int rtl8139_probe(struct dev *dev, struct pci_device *pci) - { -+ struct nic *nic = (struct nic *)dev; - int i; - int speed10, fullduplex; -+ int addr_len; -+ unsigned short *ap = (unsigned short*)nic->node_addr; - - /* There are enough "RTL8139" strings on the console already, so - * be brief and concentrate on the interesting pieces of info... */ - printf(" - "); - - /* Mask the bit that says "this is an io addr" */ -- ioaddr = probeaddrs[0] & ~3; -+ nic->ioaddr = pci->ioaddr & ~3; -+ -+ /* Copy IRQ from PCI information */ -+ nic->irqno = pci->irq; - - adjust_pci_device(pci); - - /* Bring the chip out of low-power mode. */ -- outb(0x00, ioaddr + Config1); -- -- if (read_eeprom(0) != 0xffff) { -- unsigned short *ap = (unsigned short*)nic->node_addr; -- for (i = 0; i < 3; i++) -- *ap++ = read_eeprom(i + 7); -- } else { -- unsigned char *ap = (unsigned char*)nic->node_addr; -- for (i = 0; i < ETH_ALEN; i++) -- *ap++ = inb(ioaddr + MAC0 + i); -- } -+ outb(0x00, nic->ioaddr + Config1); - -- speed10 = inb(ioaddr + MediaStatus) & MSRSpeed10; -- fullduplex = inw(ioaddr + MII_BMCR) & BMCRDuplex; -- printf("ioaddr %#hX, addr %! %sMbps %s-duplex\n", ioaddr, -- nic->node_addr, speed10 ? "10" : "100", -- fullduplex ? "full" : "half"); -+ addr_len = read_eeprom(nic,0,8) == 0x8129 ? 8 : 6; -+ for (i = 0; i < 3; i++) -+ *ap++ = read_eeprom(nic,i + 7,addr_len); -+ -+ speed10 = inb(nic->ioaddr + MediaStatus) & MSRSpeed10; -+ fullduplex = inw(nic->ioaddr + MII_BMCR) & BMCRDuplex; -+ printf("ioaddr %#hX, irq %d, addr %! %sMbps %s-duplex\n", nic->ioaddr, -+ nic->irqno, nic->node_addr, speed10 ? "10" : "100", -+ fullduplex ? "full" : "half"); - - rtl_reset(nic); - -- nic->reset = rtl_reset; -- nic->poll = rtl_poll; -+ if (inb(nic->ioaddr + MediaStatus) & MSRLinkFail) { -+ printf("Cable not connected or other link failure\n"); -+ return(0); -+ } -+ -+ dev->disable = rtl_disable; -+ nic->poll = rtl_poll; - nic->transmit = rtl_transmit; -- nic->disable = rtl_disable; -+ nic->irq = rtl_irq; - -- return nic; -+ return 1; - } - - /* Serial EEPROM section. */ -@@ -244,22 +249,23 @@ - #define eeprom_delay() inl(ee_addr) - - /* The EEPROM commands include the alway-set leading bit. */ --#define EE_WRITE_CMD (5 << 6) --#define EE_READ_CMD (6 << 6) --#define EE_ERASE_CMD (7 << 6) -+#define EE_WRITE_CMD (5) -+#define EE_READ_CMD (6) -+#define EE_ERASE_CMD (7) - --static int read_eeprom(int location) -+static int read_eeprom(struct nic *nic, int location, int addr_len) - { - int i; - unsigned int retval = 0; -- long ee_addr = ioaddr + Cfg9346; -- int read_cmd = location | EE_READ_CMD; -+ long ee_addr = nic->ioaddr + Cfg9346; -+ int read_cmd = location | (EE_READ_CMD << addr_len); - - outb(EE_ENB & ~EE_CS, ee_addr); - outb(EE_ENB, ee_addr); -+ eeprom_delay(); - - /* Shift the read command bits out. */ -- for (i = 10; i >= 0; i--) { -+ for (i = 4 + addr_len; i >= 0; i--) { - int dataval = (read_cmd & (1 << i)) ? EE_DATA_WRITE : 0; - outb(EE_ENB | dataval, ee_addr); - eeprom_delay(); -@@ -279,31 +285,51 @@ - - /* Terminate the EEPROM access. */ - outb(~EE_CS, ee_addr); -+ eeprom_delay(); - return retval; - } - -+static const unsigned int rtl8139_rx_config = -+ (RX_BUF_LEN_IDX << 11) | -+ (RX_FIFO_THRESH << 13) | -+ (RX_DMA_BURST << 8); -+ -+static void set_rx_mode(struct nic *nic) { -+ unsigned int mc_filter[2]; -+ int rx_mode; -+ /* !IFF_PROMISC */ -+ rx_mode = AcceptBroadcast | AcceptMulticast | AcceptMyPhys; -+ mc_filter[1] = mc_filter[0] = 0xffffffff; -+ -+ outl(rtl8139_rx_config | rx_mode, nic->ioaddr + RxConfig); -+ -+ outl(mc_filter[0], nic->ioaddr + MAR0 + 0); -+ outl(mc_filter[1], nic->ioaddr + MAR0 + 4); -+} -+ - static void rtl_reset(struct nic* nic) - { - int i; - -- outb(CmdReset, ioaddr + ChipCmd); -+ outb(CmdReset, nic->ioaddr + ChipCmd); - - cur_rx = 0; - cur_tx = 0; - - /* Give the chip 10ms to finish the reset. */ - load_timer2(10*TICKS_PER_MS); -- while ((inb(ioaddr + ChipCmd) & CmdReset) != 0 && timer2_running()) -+ while ((inb(nic->ioaddr + ChipCmd) & CmdReset) != 0 && -+ timer2_running()) - /* wait */; - - for (i = 0; i < ETH_ALEN; i++) -- outb(nic->node_addr[i], ioaddr + MAC0 + i); -+ outb(nic->node_addr[i], nic->ioaddr + MAC0 + i); - - /* Must enable Tx/Rx before setting transfer thresholds! */ -- outb(CmdRxEnb | CmdTxEnb, ioaddr + ChipCmd); -+ outb(CmdRxEnb | CmdTxEnb, nic->ioaddr + ChipCmd); - outl((RX_FIFO_THRESH<<13) | (RX_BUF_LEN_IDX<<11) | (RX_DMA_BURST<<8), -- ioaddr + RxConfig); /* accept no frames yet! */ -- outl((TX_DMA_BURST<<8)|0x03000000, ioaddr + TxConfig); -+ nic->ioaddr + RxConfig); /* accept no frames yet! */ -+ outl((TX_DMA_BURST<<8)|0x03000000, nic->ioaddr + TxConfig); - - /* The Linux driver changes Config1 here to use a different LED pattern - * for half duplex or full/autodetect duplex (for full/autodetect, the -@@ -316,19 +342,26 @@ - #ifdef DEBUG_RX - printf("rx ring address is %X\n",(unsigned long)rx_ring); - #endif -- outl((unsigned long)rx_ring, ioaddr + RxBuf); -+ outl((unsigned long)virt_to_bus(rx_ring), nic->ioaddr + RxBuf); -+ -+ - -- /* Start the chip's Tx and Rx process. */ -- outl(0, ioaddr + RxMissed); -- /* set_rx_mode */ -- outb(AcceptBroadcast|AcceptMyPhys, ioaddr + RxConfig); - /* If we add multicast support, the MAR0 register would have to be - * initialized to 0xffffffffffffffff (two 32 bit accesses). Etherboot - * only needs broadcast (for ARP/RARP/BOOTP/DHCP) and unicast. */ -- outb(CmdRxEnb | CmdTxEnb, ioaddr + ChipCmd); - -+ outb(CmdRxEnb | CmdTxEnb, nic->ioaddr + ChipCmd); -+ -+ outl(rtl8139_rx_config, nic->ioaddr + RxConfig); -+ -+ /* Start the chip's Tx and Rx process. */ -+ outl(0, nic->ioaddr + RxMissed); -+ -+ /* set_rx_mode */ -+ set_rx_mode(nic); -+ - /* Disable all known interrupts by setting the interrupt mask. */ -- outw(0, ioaddr + IntrMask); -+ outw(0, nic->ioaddr + IntrMask); - } - - static void rtl_transmit(struct nic *nic, const char *destaddr, -@@ -337,10 +370,11 @@ - unsigned int status, to, nstype; - unsigned long txstatus; - -+ /* nstype assignment moved up here to avoid gcc 3.0.3 compiler bug */ -+ nstype = htons(type); - memcpy(tx_buffer, destaddr, ETH_ALEN); - memcpy(tx_buffer + ETH_ALEN, nic->node_addr, ETH_ALEN); -- nstype = htons(type); -- memcpy(tx_buffer + 2 * ETH_ALEN, (char*)&nstype, 2); -+ memcpy(tx_buffer + 2 * ETH_ALEN, &nstype, 2); - memcpy(tx_buffer + ETH_HLEN, data, len); - - len += ETH_HLEN; -@@ -354,22 +388,22 @@ - tx_buffer[len++] = '\0'; - } - -- outl((unsigned long)tx_buffer, ioaddr + TxAddr0 + cur_tx*4); -+ outl((unsigned long)virt_to_bus(tx_buffer), nic->ioaddr + TxAddr0 + cur_tx*4); - outl(((TX_FIFO_THRESH<<11) & 0x003f0000) | len, -- ioaddr + TxStatus0 + cur_tx*4); -+ nic->ioaddr + TxStatus0 + cur_tx*4); - - to = currticks() + RTL_TIMEOUT; - - do { -- status = inw(ioaddr + IntrStatus); -+ status = inw(nic->ioaddr + IntrStatus); - /* Only acknlowledge interrupt sources we can properly handle - * here - the RxOverflow/RxFIFOOver MUST be handled in the - * rtl_poll() function. */ -- outw(status & (TxOK | TxErr | PCIErr), ioaddr + IntrStatus); -+ outw(status & (TxOK | TxErr | PCIErr), nic->ioaddr + IntrStatus); - if ((status & (TxOK | TxErr | PCIErr)) != 0) break; - } while (currticks() < to); - -- txstatus = inl(ioaddr+ TxStatus0 + cur_tx*4); -+ txstatus = inl(nic->ioaddr+ TxStatus0 + cur_tx*4); - - if (status & TxOK) { - cur_tx = (cur_tx + 1) % NUM_TX_DESC; -@@ -386,19 +420,22 @@ - } - } - --static int rtl_poll(struct nic *nic) -+static int rtl_poll(struct nic *nic, int retrieve) - { - unsigned int status; - unsigned int ring_offs; - unsigned int rx_size, rx_status; - -- if (inb(ioaddr + ChipCmd) & RxBufEmpty) { -+ if (inb(nic->ioaddr + ChipCmd) & RxBufEmpty) { - return 0; - } - -- status = inw(ioaddr + IntrStatus); -+ /* There is a packet ready */ -+ if ( ! retrieve ) return 1; -+ -+ status = inw(nic->ioaddr + IntrStatus); - /* See below for the rest of the interrupt acknowledges. */ -- outw(status & ~(RxFIFOOver | RxOverflow | RxOK), ioaddr + IntrStatus); -+ outw(status & ~(RxFIFOOver | RxOverflow | RxOK), nic->ioaddr + IntrStatus); - - #ifdef DEBUG_RX - printf("rtl_poll: int %hX ", status); -@@ -438,21 +475,77 @@ - nic->packet[12], nic->packet[13], rx_status); - #endif - cur_rx = (cur_rx + rx_size + 4 + 3) & ~3; -- outw(cur_rx - 16, ioaddr + RxBufPtr); -+ outw(cur_rx - 16, nic->ioaddr + RxBufPtr); - /* See RTL8139 Programming Guide V0.1 for the official handling of - * Rx overflow situations. The document itself contains basically no - * usable information, except for a few exception handling rules. */ -- outw(status & (RxFIFOOver | RxOverflow | RxOK), ioaddr + IntrStatus); -+ outw(status & (RxFIFOOver | RxOverflow | RxOK), nic->ioaddr + IntrStatus); - return 1; - } - --static void rtl_disable(struct nic *nic) -+static void rtl_irq(struct nic *nic, irq_action_t action) - { -+ unsigned int mask; -+ /* Bit of a guess as to which interrupts we should allow */ -+ unsigned int interested = ROK | RER | RXOVW | FOVW | SERR; -+ -+ switch ( action ) { -+ case DISABLE : -+ case ENABLE : -+ mask = inw(nic->ioaddr + IntrMask); -+ mask = mask & ~interested; -+ if ( action == ENABLE ) mask = mask | interested; -+ outw(mask, nic->ioaddr + IntrMask); -+ break; -+ case FORCE : -+ /* Apparently writing a 1 to this read-only bit of a -+ * read-only and otherwise unrelated register will -+ * force an interrupt. If you ever want to see how -+ * not to write a datasheet, read the one for the -+ * RTL8139... -+ */ -+ outb(EROK, nic->ioaddr + RxEarlyStatus); -+ break; -+ } -+} -+ -+static void rtl_disable(struct dev *dev) -+{ -+ struct nic *nic = (struct nic *)dev; -+ /* merge reset and disable */ -+ rtl_reset(nic); -+ - /* reset the chip */ -- outb(CmdReset, ioaddr + ChipCmd); -+ outb(CmdReset, nic->ioaddr + ChipCmd); - - /* 10 ms timeout */ - load_timer2(10*TICKS_PER_MS); -- while ((inb(ioaddr + ChipCmd) & CmdReset) != 0 && timer2_running()) -+ while ((inb(nic->ioaddr + ChipCmd) & CmdReset) != 0 && timer2_running()) - /* wait */; - } -+ -+static struct pci_id rtl8139_nics[] = { -+PCI_ROM(0x10ec, 0x8129, "rtl8129", "Realtek 8129"), -+PCI_ROM(0x10ec, 0x8139, "rtl8139", "Realtek 8139"), -+PCI_ROM(0x10ec, 0x8138, "rtl8139b", "Realtek 8139B"), -+PCI_ROM(0x1186, 0x1300, "dfe538", "DFE530TX+/DFE538TX"), -+PCI_ROM(0x1113, 0x1211, "smc1211-1", "SMC EZ10/100"), -+PCI_ROM(0x1112, 0x1211, "smc1211", "SMC EZ10/100"), -+PCI_ROM(0x1500, 0x1360, "delta8139", "Delta Electronics 8139"), -+PCI_ROM(0x4033, 0x1360, "addtron8139", "Addtron Technology 8139"), -+PCI_ROM(0x1186, 0x1340, "dfe690txd", "D-Link DFE690TXD"), -+PCI_ROM(0x13d1, 0xab06, "fe2000vx", "AboCom FE2000VX"), -+PCI_ROM(0x1259, 0xa117, "allied8139", "Allied Telesyn 8139"), -+PCI_ROM(0x14ea, 0xab06, "fnw3603tx", "Planex FNW-3603-TX"), -+PCI_ROM(0x14ea, 0xab07, "fnw3800tx", "Planex FNW-3800-TX"), -+PCI_ROM(0xffff, 0x8139, "clone-rtl8139", "Cloned 8139"), -+}; -+ -+struct pci_driver rtl8139_driver = { -+ .type = NIC_DRIVER, -+ .name = "RTL8139", -+ .probe = rtl8139_probe, -+ .ids = rtl8139_nics, -+ .id_count = sizeof(rtl8139_nics)/sizeof(rtl8139_nics[0]), -+ .class = 0, -+}; -Index: b/netboot/segoff.h -=================================================================== ---- /dev/null -+++ b/netboot/segoff.h -@@ -0,0 +1,43 @@ -+/* -+ * Segment:offset types and macros -+ * -+ * Initially written by Michael Brown (mcb30). -+ */ -+ -+#ifndef SEGOFF_H -+#define SEGOFF_H -+ -+#include -+#include -+ -+/* Segment:offset structure. Note that the order within the structure -+ * is offset:segment. -+ */ -+typedef struct { -+ uint16_t offset; -+ uint16_t segment; -+} segoff_t; -+ -+/* For PXE stuff */ -+typedef segoff_t SEGOFF16_t; -+ -+/* Macros for converting from virtual to segment:offset addresses, -+ * when we don't actually care which of the many isomorphic results we -+ * get. -+ */ -+#ifdef DEBUG_SEGMENT -+uint16_t SEGMENT ( const void * const ptr ) { -+ uint32_t phys = virt_to_phys ( ptr ); -+ if ( phys > 0xfffff ) { -+ printf ( "FATAL ERROR: segment address out of range\n" ); -+ } -+ return phys >> 4; -+} -+#else -+#define SEGMENT(x) ( virt_to_phys ( x ) >> 4 ) -+#endif -+#define OFFSET(x) ( virt_to_phys ( x ) & 0xf ) -+#define SEGOFF(x) { OFFSET(x), SEGMENT(x) } -+#define VIRTUAL(x,y) ( phys_to_virt ( ( ( x ) << 4 ) + ( y ) ) ) -+ -+#endif /* SEGOFF_H */ -Index: b/netboot/sis900.c -=================================================================== ---- a/netboot/sis900.c -+++ b/netboot/sis900.c -@@ -27,6 +27,11 @@ - /* Revision History */ - - /* -+ 07 Dec 2003 timlegge - Enabled Multicast Support -+ 06 Dec 2003 timlegge - Fixed relocation issue in 5.2 -+ 04 Jan 2002 Chien-Yu Chen, Doug Ambrisko, Marty Connor Patch to Etherboot 5.0.5 -+ Added support for the SiS 630ET plus various bug fixes from linux kernel -+ source 2.4.17. - 01 March 2001 mdc 1.0 - Initial Release. Tested with PCI based sis900 card and ThinkNIC - computer. -@@ -35,13 +40,12 @@ - Testet with SIS730S chipset + ICS1893 - */ - -- - /* Includes */ - - #include "etherboot.h" - #include "nic.h" - #include "pci.h" --#include "cards.h" -+#include "timer.h" - - #include "sis900.h" - -@@ -51,6 +55,7 @@ - - static unsigned short vendor, dev_id; - static unsigned long ioaddr; -+static u8 pci_revision; - - static unsigned int cur_phy; - -@@ -58,15 +63,10 @@ - - static BufferDesc txd; - static BufferDesc rxd[NUM_RX_DESC]; -- --#ifdef USE_LOWMEM_BUFFER --#define txb ((char *)0x10000 - TX_BUF_SIZE) --#define rxb ((char *)0x10000 - NUM_RX_DESC*RX_BUF_SIZE - TX_BUF_SIZE) --#else - static unsigned char txb[TX_BUF_SIZE]; - static unsigned char rxb[NUM_RX_DESC * RX_BUF_SIZE]; --#endif - -+#if 0 - static struct mac_chip_info { - const char *name; - u16 vendor_id, device_id, flags; -@@ -78,11 +78,13 @@ - PCI_COMMAND_IO|PCI_COMMAND_MASTER, SIS900_TOTAL_SIZE}, - {0,0,0,0,0} /* 0 terminated list. */ - }; -+#endif - - static void sis900_read_mode(struct nic *nic, int phy_addr, int *speed, int *duplex); - static void amd79c901_read_mode(struct nic *nic, int phy_addr, int *speed, int *duplex); - static void ics1893_read_mode(struct nic *nic, int phy_addr, int *speed, int *duplex); - static void rtl8201_read_mode(struct nic *nic, int phy_addr, int *speed, int *duplex); -+static void vt6103_read_mode(struct nic *nic, int phy_addr, int *speed, int *duplex); - - static struct mii_chip_info { - const char * name; -@@ -96,6 +98,7 @@ - {"AMD 79C901 HomePNA PHY", 0x0000, 0x35c8, amd79c901_read_mode}, - {"ICS 1893 Integrated PHYceiver" , 0x0015, 0xf441,ics1893_read_mode}, - {"RTL 8201 10/100Mbps Phyceiver" , 0x0000, 0x8201,rtl8201_read_mode}, -+ {"VIA 6103 10/100Mbps Phyceiver", 0x0101, 0x8f20,vt6103_read_mode}, - {0,0,0,0} - }; - -@@ -106,24 +109,32 @@ - u16 status; - } mii; - -- - // PCI to ISA bridge for SIS640E access --static struct pci_device pci_isa_bridge_list[] = { -+static struct pci_id pci_isa_bridge_list[] = { - { 0x1039, 0x0008, -- "SIS 85C503/5513 PCI to ISA bridge", 0, 0, 0, 0}, -- {0, 0, NULL, 0, 0, 0, 0} -+ "SIS 85C503/5513 PCI to ISA bridge"}, -+}; -+ -+struct pci_driver sis_bridge_driver = { -+ .type = BRIDGE_DRIVER, -+ .name = "", -+ .probe = 0, -+ .ids = pci_isa_bridge_list, -+ .id_count = sizeof(pci_isa_bridge_list)/sizeof(pci_isa_bridge_list[0]), -+ .class = 0, - }; - - /* Function Prototypes */ - --struct nic *sis900_probe(struct nic *nic, unsigned short *io_addrs, struct pci_device *pci); -+static int sis900_probe(struct dev *dev, struct pci_device *pci); - - static u16 sis900_read_eeprom(int location); - static void sis900_mdio_reset(long mdio_addr); - static void sis900_mdio_idle(long mdio_addr); - static u16 sis900_mdio_read(int phy_id, int location); -+#if 0 - static void sis900_mdio_write(int phy_id, int location, int val); -- -+#endif - static void sis900_init(struct nic *nic); - - static void sis900_reset(struct nic *nic); -@@ -136,9 +147,11 @@ - - static void sis900_transmit(struct nic *nic, const char *d, - unsigned int t, unsigned int s, const char *p); --static int sis900_poll(struct nic *nic); -+static int sis900_poll(struct nic *nic, int retrieve); -+ -+static void sis900_disable(struct dev *dev); - --static void sis900_disable(struct nic *nic); -+static void sis900_irq(struct nic *nic, irq_action_t action); - - /** - * sis900_get_mac_addr: - Get MAC address for stand alone SiS900 model -@@ -149,7 +162,7 @@ - * MAC address is read from read_eeprom() into @net_dev->dev_addr. - */ - --static int sis900_get_mac_addr(struct pci_device * pci_dev , struct nic *nic) -+static int sis900_get_mac_addr(struct pci_device * pci_dev __unused, struct nic *nic) - { - u16 signature; - int i; -@@ -168,6 +181,50 @@ - } - - /** -+ * sis96x_get_mac_addr: - Get MAC address for SiS962 or SiS963 model -+ * @pci_dev: the sis900 pci device -+ * @net_dev: the net device to get address for -+ * -+ * SiS962 or SiS963 model, use EEPROM to store MAC address. And EEPROM -+ * is shared by -+ * LAN and 1394. When access EEPROM, send EEREQ signal to hardware first -+ * and wait for EEGNT. If EEGNT is ON, EEPROM is permitted to be access -+ * by LAN, otherwise is not. After MAC address is read from EEPROM, send -+ * EEDONE signal to refuse EEPROM access by LAN. -+ * The EEPROM map of SiS962 or SiS963 is different to SiS900. -+ * The signature field in SiS962 or SiS963 spec is meaningless. -+ * MAC address is read into @net_dev->dev_addr. -+ */ -+ -+static int sis96x_get_mac_addr(struct pci_device * pci_dev __unused, struct nic *nic) -+{ -+/* long ioaddr = net_dev->base_addr; */ -+ long ee_addr = ioaddr + mear; -+ u32 waittime = 0; -+ int i; -+ -+ printf("Alternate function\n"); -+ -+ outl(EEREQ, ee_addr); -+ while(waittime < 2000) { -+ if(inl(ee_addr) & EEGNT) { -+ -+ /* get MAC address from EEPROM */ -+ for (i = 0; i < 3; i++) -+ ((u16 *)(nic->node_addr))[i] = sis900_read_eeprom(i+EEPROMMACAddr); -+ -+ outl(EEDONE, ee_addr); -+ return 1; -+ } else { -+ udelay(1); -+ waittime ++; -+ } -+ } -+ outl(EEDONE, ee_addr); -+ return 0; -+} -+ -+/** - * sis630e_get_mac_addr: - Get MAC address for SiS630E model - * @pci_dev: the sis900 pci device - * @net_dev: the net device to get address for -@@ -177,17 +234,21 @@ - * MAC address is read into @net_dev->dev_addr. - */ - --static int sis630e_get_mac_addr(struct pci_device * pci_dev, struct nic *nic) -+static int sis630e_get_mac_addr(struct pci_device * pci_dev __unused, struct nic *nic) - { - u8 reg; - int i; -- struct pci_device *p; -- -- // find PCI to ISA bridge -- eth_pci_init(pci_isa_bridge_list); -+ struct pci_device p[1]; - -- /* the firts entry in this list should contain bus/devfn */ -- p = pci_isa_bridge_list; -+ /* find PCI to ISA bridge */ -+ memset(p, 0, sizeof(p)); -+ do { -+ find_pci(BRIDGE_DRIVER, p); -+ } while(p->driver && p->driver != &sis_bridge_driver); -+ -+ /* error on failure */ -+ if (!p->driver) -+ return 0; - - pcibios_read_config_byte(p->bus,p->devfn, 0x48, ®); - pcibios_write_config_byte(p->bus,p->devfn, 0x48, reg | 0x40); -@@ -201,7 +262,43 @@ - - return 1; - } -- -+ -+/** -+ * sis630e_get_mac_addr: - Get MAC address for SiS630E model -+ * @pci_dev: the sis900 pci device -+ * @net_dev: the net device to get address for -+ * -+ * SiS630E model, use APC CMOS RAM to store MAC address. -+ * APC CMOS RAM is accessed through ISA bridge. -+ * MAC address is read into @net_dev->dev_addr. -+ */ -+ -+static int sis635_get_mac_addr(struct pci_device * pci_dev __unused, struct nic *nic) -+{ -+ u32 rfcrSave; -+ u32 i; -+ -+ -+ rfcrSave = inl(rfcr + ioaddr); -+ -+ outl(rfcrSave | RELOAD, ioaddr + cr); -+ outl(0, ioaddr + cr); -+ -+ /* disable packet filtering before setting filter */ -+ outl(rfcrSave & ~RFEN, rfcr + ioaddr); -+ -+ /* load MAC addr to filter data register */ -+ for (i = 0 ; i < 3 ; i++) { -+ outl((i << RFADDR_shift), ioaddr + rfcr); -+ *( ((u16 *)nic->node_addr) + i) = inw(ioaddr + rfdr); -+ } -+ -+ /* enable packet filitering */ -+ outl(rfcrSave | RFEN, rfcr + ioaddr); -+ -+ return 1; -+} -+ - /* - * Function: sis900_probe - * -@@ -216,19 +313,21 @@ - * Returns: struct nic *: pointer to NIC data structure - */ - --struct nic *sis900_probe(struct nic *nic, unsigned short *io_addrs, struct pci_device *pci) -+static int sis900_probe(struct dev *dev, struct pci_device *pci) - { -+ struct nic *nic = (struct nic *)dev; - int i; - int found=0; - int phy_addr; -- u16 signature; - u8 revision; - int ret; - -- if (io_addrs == 0 || *io_addrs == 0) -- return NULL; -+ if (pci->ioaddr == 0) -+ return 0; - -- ioaddr = *io_addrs & ~3; -+ nic->irqno = 0; -+ nic->ioaddr = pci->ioaddr & ~3; -+ ioaddr = pci->ioaddr & ~3; - vendor = pci->vendor; - dev_id = pci->dev_id; - -@@ -240,19 +339,29 @@ - /* get MAC address */ - ret = 0; - pcibios_read_config_byte(pci->bus,pci->devfn, PCI_REVISION, &revision); -- if (revision == SIS630E_900_REV || revision == SIS630EA1_900_REV) -- ret = sis630e_get_mac_addr(pci, nic); -- else if (revision == SIS630S_900_REV) -+ -+ /* save for use later in sis900_reset() */ -+ pci_revision = revision; -+ -+ if (revision == SIS630E_900_REV) - ret = sis630e_get_mac_addr(pci, nic); -+ else if ((revision > 0x81) && (revision <= 0x90)) -+ ret = sis635_get_mac_addr(pci, nic); -+ else if (revision == SIS96x_900_REV) -+ ret = sis96x_get_mac_addr(pci, nic); - else - ret = sis900_get_mac_addr(pci, nic); - - if (ret == 0) - { - printf ("sis900_probe: Error MAC address not found\n"); -- return NULL; -+ return 0; - } - -+ /* 630ET : set the mii access mode as software-mode */ -+ if (revision == SIS630ET_900_REV) -+ outl(ACCESSMODE | inl(ioaddr + cr), ioaddr + cr); -+ - printf("\nsis900_probe: MAC addr %! at ioaddr %#hX\n", - nic->node_addr, ioaddr); - printf("sis900_probe: Vendor:%#hX Device:%#hX\n", vendor, dev_id); -@@ -264,7 +373,7 @@ - for (phy_addr = 0; phy_addr < 32; phy_addr++) { - u16 mii_status; - u16 phy_id0, phy_id1; -- -+ - mii_status = sis900_mdio_read(phy_addr, MII_STATUS); - if (mii_status == 0xffff || mii_status == 0x0000) - /* the mii is not accessable, try next one */ -@@ -272,7 +381,7 @@ - - phy_id0 = sis900_mdio_read(phy_addr, MII_PHY_ID0); - phy_id1 = sis900_mdio_read(phy_addr, MII_PHY_ID1); -- -+ - /* search our mii table for the current mii */ - for (i = 0; mii_chip_table[i].phy_id1; i++) { - -@@ -294,7 +403,7 @@ - - if (found == 0) { - printf("sis900_probe: No MII transceivers found!\n"); -- return NULL; -+ return 0; - } - - /* Arbitrarily select the last PHY found as current PHY */ -@@ -304,15 +413,14 @@ - /* initialize device */ - sis900_init(nic); - -- nic->reset = sis900_init; -+ dev->disable = sis900_disable; - nic->poll = sis900_poll; - nic->transmit = sis900_transmit; -- nic->disable = sis900_disable; -+ nic->irq = sis900_irq; - -- return nic; -+ return 1; - } - -- - /* - * EEPROM Routines: These functions read and write to EEPROM for - * retrieving the MAC address and other configuration information about -@@ -322,7 +430,6 @@ - /* Delay between EEPROM clock transitions. */ - #define eeprom_delay() inl(ee_addr) - -- - /* Function: sis900_read_eeprom - * - * Description: reads and returns a given location from EEPROM -@@ -378,7 +485,6 @@ - - #define sis900_mdio_delay() inl(mdio_addr) - -- - /* - Read and write the MII management registers using software-generated - serial MDIO protocol. Note that the command bits and data bits are -@@ -432,9 +538,11 @@ - outl(MDC, mdio_addr); - sis900_mdio_delay(); - } -+ outl(0x00, mdio_addr); - return retval; - } - -+#if 0 - static void sis900_mdio_write(int phy_id, int location, int value) - { - long mdio_addr = ioaddr + mear; -@@ -471,10 +579,11 @@ - outb(MDC, mdio_addr); - sis900_mdio_delay(); - } -+ outl(0x00, mdio_addr); - return; - } -+#endif - -- - /* Function: sis900_init - * - * Description: resets the ethernet controller chip and various -@@ -500,10 +609,9 @@ - - sis900_check_mode(nic); - -- outl(RxENA, ioaddr + cr); -+ outl(RxENA| inl(ioaddr + cr), ioaddr + cr); - } - -- - /* - * Function: sis900_reset - * -@@ -515,7 +623,7 @@ - */ - - static void --sis900_reset(struct nic *nic) -+sis900_reset(struct nic *nic __unused) - { - int i = 0; - u32 status = TxRCMP | RxRCMP; -@@ -524,16 +632,19 @@ - outl(0, ioaddr + imr); - outl(0, ioaddr + rfcr); - -- outl(RxRESET | TxRESET | RESET, ioaddr + cr); -- -+ outl(RxRESET | TxRESET | RESET | inl(ioaddr + cr), ioaddr + cr); -+ - /* Check that the chip has finished the reset. */ - while (status && (i++ < 1000)) { - status ^= (inl(isr + ioaddr) & status); - } -- outl(PESEL, ioaddr + cfg); -+ -+ if( (pci_revision == SIS635A_900_REV) || (pci_revision == SIS900B_900_REV) ) -+ outl(PESEL | RND_CNT, ioaddr + cfg); -+ else -+ outl(PESEL, ioaddr + cfg); - } - -- - /* Function: sis_init_rxfilter - * - * Description: sets receive filter address to our MAC address -@@ -552,7 +663,7 @@ - rfcrSave = inl(rfcr + ioaddr); - - /* disable packet filtering before setting filter */ -- outl(rfcrSave & ~RFEN, rfcr); -+ outl(rfcrSave & ~RFEN, rfcr + ioaddr); - - /* load MAC addr to filter data register */ - for (i = 0 ; i < 3 ; i++) { -@@ -571,7 +682,6 @@ - outl(rfcrSave | RFEN, rfcr + ioaddr); - } - -- - /* - * Function: sis_init_txd - * -@@ -583,20 +693,19 @@ - */ - - static void --sis900_init_txd(struct nic *nic) -+sis900_init_txd(struct nic *nic __unused) - { - txd.link = (u32) 0; - txd.cmdsts = (u32) 0; -- txd.bufptr = (u32) &txb[0]; -+ txd.bufptr = virt_to_bus(&txb[0]); - - /* load Transmit Descriptor Register */ -- outl((u32) &txd, ioaddr + txdp); -+ outl(virt_to_bus(&txd), ioaddr + txdp); - if (sis900_debug > 0) - printf("sis900_init_txd: TX descriptor register loaded with: %X\n", - inl(ioaddr + txdp)); - } - -- - /* Function: sis_init_rxd - * - * Description: initializes the Rx descriptor ring -@@ -607,7 +716,7 @@ - */ - - static void --sis900_init_rxd(struct nic *nic) -+sis900_init_rxd(struct nic *nic __unused) - { - int i; - -@@ -615,16 +724,16 @@ - - /* init RX descriptor */ - for (i = 0; i < NUM_RX_DESC; i++) { -- rxd[i].link = (i+1 < NUM_RX_DESC) ? (u32) &rxd[i+1] : (u32) &rxd[0]; -+ rxd[i].link = virt_to_bus((i+1 < NUM_RX_DESC) ? &rxd[i+1] : &rxd[0]); - rxd[i].cmdsts = (u32) RX_BUF_SIZE; -- rxd[i].bufptr = (u32) &rxb[i*RX_BUF_SIZE]; -+ rxd[i].bufptr = virt_to_bus(&rxb[i*RX_BUF_SIZE]); - if (sis900_debug > 0) - printf("sis900_init_rxd: rxd[%d]=%X link=%X cmdsts=%X bufptr=%X\n", - i, &rxd[i], rxd[i].link, rxd[i].cmdsts, rxd[i].bufptr); - } - - /* load Receive Descriptor Register */ -- outl((u32) &rxd[0], ioaddr + rxdp); -+ outl(virt_to_bus(&rxd[0]), ioaddr + rxdp); - - if (sis900_debug > 0) - printf("sis900_init_rxd: RX descriptor register loaded with: %X\n", -@@ -632,7 +741,6 @@ - - } - -- - /* Function: sis_init_rxd - * - * Description: -@@ -644,25 +752,36 @@ - * Returns: void. - */ - --static void sis900_set_rx_mode(struct nic *nic) -+static void sis900_set_rx_mode(struct nic *nic __unused) - { -- int i; -+ int i, table_entries; -+ u32 rx_mode; -+ u16 mc_filter[16] = {0}; /* 256/128 bits multicast hash table */ -+ -+ if((pci_revision == SIS635A_900_REV) || (pci_revision == SIS900B_900_REV)) -+ table_entries = 16; -+ else -+ table_entries = 8; - -- /* Configure Multicast Hash Table in Receive Filter -- to reject all MCAST packets */ -- for (i = 0; i < 8; i++) { -+ /* accept all multicast packet */ -+ rx_mode = RFAAB | RFAAM; -+ for (i = 0; i < table_entries; i++) -+ mc_filter[i] = 0xffff; -+ -+ /* update Multicast Hash Table in Receive Filter */ -+ for (i = 0; i < table_entries; i++) { - /* why plus 0x04? That makes the correct value for hash table. */ - outl((u32)(0x00000004+i) << RFADDR_shift, ioaddr + rfcr); -- outl((u32)(0x0), ioaddr + rfdr); -+ outl(mc_filter[i], ioaddr + rfdr); - } -- /* Accept Broadcast packets, destination addresses that match -+ -+ /* Accept Broadcast and multicast packets, destination addresses that match - our MAC address */ -- outl(RFEN | RFAAB, ioaddr + rfcr); -+ outl(RFEN | rx_mode, ioaddr + rfcr); - - return; - } - -- - /* Function: sis900_check_mode - * - * Description: checks the state of transmit and receive -@@ -674,15 +793,21 @@ - */ - - static void --sis900_check_mode (struct nic *nic) -+sis900_check_mode(struct nic *nic) - { - int speed, duplex; - u32 tx_flags = 0, rx_flags = 0; - - mii.chip_info->read_mode(nic, cur_phy, &speed, &duplex); - -- tx_flags = TxATP | (TX_DMA_BURST << TxMXDMA_shift) | (TX_FILL_THRESH << TxFILLT_shift); -- rx_flags = RX_DMA_BURST << RxMXDMA_shift; -+ if( inl(ioaddr + cfg) & EDB_MASTER_EN ) { -+ tx_flags = TxATP | (DMA_BURST_64 << TxMXDMA_shift) | (TX_FILL_THRESH << TxFILLT_shift); -+ rx_flags = DMA_BURST_64 << RxMXDMA_shift; -+ } -+ else { -+ tx_flags = TxATP | (DMA_BURST_512 << TxMXDMA_shift) | (TX_FILL_THRESH << TxFILLT_shift); -+ rx_flags = DMA_BURST_512 << RxMXDMA_shift; -+ } - - if (speed == HW_SPEED_HOME || speed == HW_SPEED_10_MBPS) { - rx_flags |= (RxDRNT_10 << RxDRNT_shift); -@@ -702,7 +827,6 @@ - outl (rx_flags, ioaddr + rxcfg); - } - -- - /* Function: sis900_read_mode - * - * Description: retrieves and displays speed and duplex -@@ -714,24 +838,33 @@ - */ - - static void --sis900_read_mode(struct nic *nic, int phy_addr, int *speed, int *duplex) -+sis900_read_mode(struct nic *nic __unused, int phy_addr, int *speed, int *duplex) - { - int i = 0; - u32 status; -+ u16 phy_id0, phy_id1; - - /* STSOUT register is Latched on Transition, read operation updates it */ - while (i++ < 2) - status = sis900_mdio_read(phy_addr, MII_STSOUT); - -- if (status & MII_STSOUT_SPD) -- *speed = HW_SPEED_100_MBPS; -- else -- *speed = HW_SPEED_10_MBPS; -- -- if (status & MII_STSOUT_DPLX) -- *duplex = FDX_CAPABLE_FULL_SELECTED; -- else -- *duplex = FDX_CAPABLE_HALF_SELECTED; -+ *speed = HW_SPEED_10_MBPS; -+ *duplex = FDX_CAPABLE_HALF_SELECTED; -+ -+ if (status & (MII_NWAY_TX | MII_NWAY_TX_FDX)) -+ *speed = HW_SPEED_100_MBPS; -+ if (status & ( MII_NWAY_TX_FDX | MII_NWAY_T_FDX)) -+ *duplex = FDX_CAPABLE_FULL_SELECTED; -+ -+ /* Workaround for Realtek RTL8201 PHY issue */ -+ phy_id0 = sis900_mdio_read(phy_addr, MII_PHY_ID0); -+ phy_id1 = sis900_mdio_read(phy_addr, MII_PHY_ID1); -+ if((phy_id0 == 0x0000) && ((phy_id1 & 0xFFF0) == 0x8200)){ -+ if(sis900_mdio_read(phy_addr, MII_CONTROL) & MII_CNTL_FDX) -+ *duplex = FDX_CAPABLE_FULL_SELECTED; -+ if(sis900_mdio_read(phy_addr, 0x0019) & 0x01) -+ *speed = HW_SPEED_100_MBPS; -+ } - - if (status & MII_STSOUT_LINK_FAIL) - printf("sis900_read_mode: Media Link Off\n"); -@@ -743,7 +876,6 @@ - "full" : "half"); - } - -- - /* Function: amd79c901_read_mode - * - * Description: retrieves and displays speed and duplex -@@ -755,7 +887,7 @@ - */ - - static void --amd79c901_read_mode(struct nic *nic, int phy_addr, int *speed, int *duplex) -+amd79c901_read_mode(struct nic *nic __unused, int phy_addr, int *speed, int *duplex) - { - int i; - u16 status; -@@ -796,7 +928,6 @@ - } - } - -- - /** - * ics1893_read_mode: - read media mode for ICS1893 PHY - * @net_dev: the net device to read mode for -@@ -808,7 +939,7 @@ - * to determine the speed and duplex mode for sis900 - */ - --static void ics1893_read_mode(struct nic *nic, int phy_addr, int *speed, int *duplex) -+static void ics1893_read_mode(struct nic *nic __unused, int phy_addr, int *speed, int *duplex) - { - int i = 0; - u32 status; -@@ -848,7 +979,7 @@ - * to determine the speed and duplex mode for sis900 - */ - --static void rtl8201_read_mode(struct nic *nic, int phy_addr, int *speed, int *duplex) -+static void rtl8201_read_mode(struct nic *nic __unused, int phy_addr, int *speed, int *duplex) - { - u32 status; - -@@ -878,7 +1009,51 @@ - *duplex == FDX_CAPABLE_FULL_SELECTED ? - "full" : "half"); - else -- printf("rtl9201_read_config_mode: Media Link Off\n"); -+ printf("rtl8201_read_config_mode: Media Link Off\n"); -+} -+ -+/** -+ * vt6103_read_mode: - read media mode for vt6103 phy -+ * @nic: the net device to read mode for -+ * @phy_addr: mii phy address -+ * @speed: the transmit speed to be determined -+ * @duplex: the duplex mode to be determined -+ * -+ * read MII_STATUS register from rtl8201 phy -+ * to determine the speed and duplex mode for sis900 -+ */ -+ -+static void vt6103_read_mode(struct nic *nic __unused, int phy_addr, int *speed, int *duplex) -+{ -+ u32 status; -+ -+ status = sis900_mdio_read(phy_addr, MII_STATUS); -+ -+ if (status & MII_STAT_CAN_TX_FDX) { -+ *speed = HW_SPEED_100_MBPS; -+ *duplex = FDX_CAPABLE_FULL_SELECTED; -+ } -+ else if (status & MII_STAT_CAN_TX) { -+ *speed = HW_SPEED_100_MBPS; -+ *duplex = FDX_CAPABLE_HALF_SELECTED; -+ } -+ else if (status & MII_STAT_CAN_T_FDX) { -+ *speed = HW_SPEED_10_MBPS; -+ *duplex = FDX_CAPABLE_FULL_SELECTED; -+ } -+ else if (status & MII_STAT_CAN_T) { -+ *speed = HW_SPEED_10_MBPS; -+ *duplex = FDX_CAPABLE_HALF_SELECTED; -+ } -+ -+ if (status & MII_STAT_LINK) -+ printf("vt6103_read_mode: Media Link On %s %s-duplex \n", -+ *speed == HW_SPEED_100_MBPS ? -+ "100mbps" : "10mbps", -+ *duplex == FDX_CAPABLE_FULL_SELECTED ? -+ "full" : "half"); -+ else -+ printf("vt6103_read_config_mode: Media Link Off\n"); - } - - /* Function: sis900_transmit -@@ -900,14 +1075,14 @@ - unsigned int s, /* size */ - const char *p) /* Packet */ - { -- u32 status, to, nstype; -+ u32 to, nstype; - volatile u32 tx_status; - - /* Stop the transmitter */ -- outl(TxDIS, ioaddr + cr); -+ outl(TxDIS | inl(ioaddr + cr), ioaddr + cr); - - /* load Transmit Descriptor Register */ -- outl((u32) &txd, ioaddr + txdp); -+ outl(virt_to_bus(&txd), ioaddr + txdp); - if (sis900_debug > 1) - printf("sis900_transmit: TX descriptor register loaded with: %X\n", - inl(ioaddr + txdp)); -@@ -929,18 +1104,18 @@ - txb[s++] = '\0'; - - /* set the transmit buffer descriptor and enable Transmit State Machine */ -- txd.bufptr = (u32) &txb[0]; -+ txd.bufptr = virt_to_bus(&txb[0]); - txd.cmdsts = (u32) OWN | s; - - /* restart the transmitter */ -- outl(TxENA, ioaddr + cr); -+ outl(TxENA | inl(ioaddr + cr), ioaddr + cr); - - if (sis900_debug > 1) - printf("sis900_transmit: Queued Tx packet size %d.\n", (int) s); - - to = currticks() + TX_TIMEOUT; - -- while (((tx_status=txd.cmdsts) & OWN) && (currticks() < to)) -+ while (((tx_status=txd.cmdsts & OWN) && (currticks() < to)) - /* wait */ ; - - if (currticks() >= to) { -@@ -955,7 +1130,6 @@ - outl(0, ioaddr + imr); - } - -- - /* Function: sis900_poll - * - * Description: checks for a received packet and returns it if found. -@@ -971,7 +1145,7 @@ - */ - - static int --sis900_poll(struct nic *nic) -+sis900_poll(struct nic *nic, int retrieve) - { - u32 rx_status = rxd[cur_rx].cmdsts; - int retstat = 0; -@@ -986,6 +1160,8 @@ - printf("sis900_poll: got a packet: cur_rx:%d, status:%X\n", - cur_rx, rx_status); - -+ if ( ! retrieve ) return 1; -+ - nic->packetlen = (rx_status & DSIZE) - CRC_SIZE; - - if (rx_status & (ABORT|OVERRUN|TOOLONG|RUNT|RXISERR|CRCERR|FAERR)) { -@@ -1001,18 +1177,18 @@ - - /* return the descriptor and buffer to receive ring */ - rxd[cur_rx].cmdsts = RX_BUF_SIZE; -- rxd[cur_rx].bufptr = (u32) &rxb[cur_rx*RX_BUF_SIZE]; -+ rxd[cur_rx].bufptr = virt_to_bus(&rxb[cur_rx*RX_BUF_SIZE]); - - if (++cur_rx == NUM_RX_DESC) - cur_rx = 0; - - /* re-enable the potentially idle receive state machine */ -- outl(RxENA , ioaddr + cr); -+ outl(RxENA | inl(ioaddr + cr), ioaddr + cr); - - return retstat; -+ - } - -- - /* Function: sis900_disable - * - * Description: Turns off interrupts and stops Tx and Rx engines -@@ -1023,12 +1199,53 @@ - */ - - static void --sis900_disable(struct nic *nic) -+sis900_disable(struct dev *dev) - { -+ struct nic *nic = (struct nic *)dev; -+ /* merge reset and disable */ -+ sis900_init(nic); -+ - /* Disable interrupts by clearing the interrupt mask. */ - outl(0, ioaddr + imr); - outl(0, ioaddr + ier); - - /* Stop the chip's Tx and Rx Status Machine */ -- outl(RxDIS | TxDIS, ioaddr + cr); -+ outl(RxDIS | TxDIS | inl(ioaddr + cr), ioaddr + cr); -+} -+ -+/* Function: sis900_irq -+ * -+ * Description: Enable, Disable, or Force, interrupts -+ * -+ * Arguments: struct nic *nic: NIC data structure -+ * irq_action_t action: Requested action -+ * -+ * Returns: void. -+ */ -+ -+static void -+sis900_irq(struct nic *nic __unused, irq_action_t action __unused) -+{ -+ switch ( action ) { -+ case DISABLE : -+ break; -+ case ENABLE : -+ break; -+ case FORCE : -+ break; -+ } - } -+ -+static struct pci_id sis900_nics[] = { -+PCI_ROM(0x1039, 0x0900, "sis900", "SIS900"), -+PCI_ROM(0x1039, 0x7016, "sis7016", "SIS7016"), -+}; -+ -+struct pci_driver sis900_driver = { -+ .type = NIC_DRIVER, -+ .name = "SIS900", -+ .probe = sis900_probe, -+ .ids = sis900_nics, -+ .id_count = sizeof(sis900_nics)/sizeof(sis900_nics[0]), -+ .class = 0, -+}; -Index: b/netboot/sis900.h -=================================================================== ---- a/netboot/sis900.h -+++ b/netboot/sis900.h -@@ -39,14 +39,16 @@ - - /* Symbolic names for bits in various registers */ - enum sis900_command_register_bits { -- RESET = 0x00000100, -- SWI = 0x00000080, -- RxRESET = 0x00000020, -- TxRESET = 0x00000010, -- RxDIS = 0x00000008, -- RxENA = 0x00000004, -- TxDIS = 0x00000002, -- TxENA = 0x00000001 -+ RELOAD = 0x00000400, -+ ACCESSMODE = 0x00000200, -+ RESET = 0x00000100, -+ SWI = 0x00000080, -+ RxRESET = 0x00000020, -+ TxRESET = 0x00000010, -+ RxDIS = 0x00000008, -+ RxENA = 0x00000004, -+ TxDIS = 0x00000002, -+ TxENA = 0x00000001 - }; - - enum sis900_configuration_register_bits { -@@ -57,7 +59,10 @@ - EXD = 0x00000010, - PESEL = 0x00000008, - LPM = 0x00000004, -- BEM = 0x00000001 -+ BEM = 0x00000001, -+ RND_CNT = 0x00000400, -+ FAIR_BACKOFF = 0x00000200, -+ EDB_MASTER_EN = 0x00002000 - }; - - enum sis900_eeprom_access_reigster_bits { -@@ -108,6 +113,10 @@ - #define TX_DMA_BURST 0 - #define RX_DMA_BURST 0 - -+enum sis900_tx_rx_dma{ -+ DMA_BURST_512 = 0, DMA_BURST_64 = 5 -+}; -+ - /* transmit FIFO threshholds */ - #define TX_FILL_THRESH 16 /* 1/4 FIFO size */ - #define TxFILLT_shift 8 -@@ -172,6 +181,11 @@ - EEeraseAll = 0x0120, - EEwriteAll = 0x0110, - EEaddrMask = 0x013F, -+ EEcmdShift = 16 -+}; -+/* For SiS962 or SiS963, request the eeprom software access */ -+enum sis96x_eeprom_command { -+ EEREQ = 0x00000400, EEDONE = 0x00000200, EEGNT = 0x00000100 - }; - - /* Manamgement Data I/O (mdio) frame */ -@@ -236,7 +250,8 @@ - MII_CONFIG1 = 0x0010, - MII_CONFIG2 = 0x0011, - MII_STSOUT = 0x0012, -- MII_MASK = 0x0013 -+ MII_MASK = 0x0013, -+ MII_RESV = 0x0014 - }; - - /* mii registers specific to AMD 79C901 */ -@@ -320,7 +335,9 @@ - - enum sis900_revision_id { - SIS630A_900_REV = 0x80, SIS630E_900_REV = 0x81, -- SIS630S_900_REV = 0x82, SIS630EA1_900_REV = 0x83 -+ SIS630S_900_REV = 0x82, SIS630EA1_900_REV = 0x83, -+ SIS630ET_900_REV = 0x84, SIS635A_900_REV = 0x90, -+ SIS96x_900_REV = 0X91, SIS900B_900_REV = 0x03 - }; - - enum sis630_revision_id { -Index: b/netboot/sis900.txt -=================================================================== ---- a/netboot/sis900.txt -+++ /dev/null -@@ -1,91 +0,0 @@ --How I added the SIS900 card to Etherboot -- --Author: Marty Connor (mdc@thinguin.org) -- --Date: 25 Febrary 2001 -- --Description: -- --This file is intended to help people who want to write an Etherboot --driver or port another driver to Etherboot. It is a starting point. --Perhaps someday I may write a more detailed description of writing an --Etherboot driver. This text should help get people started, and --studying sis900.[ch] should help show the basic structure and --techniques involved in writing and Etherboot driver. -- --*********************************************************************** -- --0. Back up all the files I need to modify: -- --cd etherboot-4.7.20/src --cp Makefile Makefile.orig --cp config.c config.c.orig --cp pci.h pci.h.orig --cp NIC NIC.orig --cp cards.h cards.h.orig -- --1. Edit src/Makefile to add SIS900FLAGS to defines -- --SIS900FLAGS= -DINCLUDE_SIS900 -- --2. edit src/pci.h to add PCI signatures for card -- --#define PCI_VENDOR_ID_SIS 0x1039 --#define PCI_DEVICE_ID_SIS900 0x0900 --#define PCI_DEVICE_ID_SIS7016 0x7016 -- --3. Edit src/config.c to add the card to the card probe list -- --#if defined(INCLUDE_NS8390) || defined(INCLUDE_EEPRO100) || -- defined(INCLUDE_LANCE) || defined(INCLUDE_EPIC100) || -- defined(INCLUDE_TULIP) || defined(INCLUDE_OTULIP) || -- defined(INCLUDE_3C90X) || defined(INCLUDE_3C595) || -- defined(INCLUDE_RTL8139) || defined(INCLUDE_VIA_RHINE) || -- defined(INCLUDE_SIS900) || defined(INCLUDE_W89C840) -- --... and ... -- --#ifdef INCLUDE_SIS900 -- { PCI_VENDOR_ID_SIS, PCI_DEVICE_ID_SIS900, -- "SIS900", 0, 0, 0, 0}, -- { PCI_VENDOR_ID_SIS, PCI_DEVICE_ID_SIS7016, -- "SIS7016", 0, 0, 0, 0}, --#endif -- --... and ... -- --#ifdef INCLUDE_SIS900 -- { "SIS900", sis900_probe, pci_ioaddrs }, --#endif -- --4. Edit NIC to add sis900 and sis7016 to NIC list -- --# SIS 900 and SIS 7016 --sis900 sis900 0x1039,0x0900 --sis7016 sis900 0x1039,0x7016 -- --5. Edit cards.h to add sis900 probe routine declaration -- --#ifdef INCLUDE_SIS900 --extern struct nic *sis900_probe(struct nic *, unsigned short * -- PCI_ARG(struct pci_device *)); --#endif -- --*********************************************************************** -- --At this point, you can begin creating your driver source file. See --the "Writing and Etherboot Driver" section of the Etherboot --documentation for some hints. See the skel.c file for a starting --point. If there is a Linux driver for the card, you may be able to --use that. Copy and learn from existing Etherboot drivers (this is GPL --/ Open Source software!). -- --Join the etherboot-developers and etherboot-users mailing lists --(information is on etherboot.sourceforge.net) for information and --assistance. We invite more developers to help improve Etherboot. -- --Visit the http://etherboot.sourceforge.net, http://thinguin.org, --http://rom-o-matic.net, and http://ltsp.org sites for information and --assistance. -- --Enjoy. -Index: b/netboot/smc9000.c -=================================================================== ---- a/netboot/smc9000.c -+++ /dev/null -@@ -1,522 +0,0 @@ -- /*------------------------------------------------------------------------ -- * smc9000.c -- * This is a Etherboot driver for SMC's 9000 series of Ethernet cards. -- * -- * Copyright (C) 1998 Daniel Engström -- * Based on the Linux SMC9000 driver, smc9194.c by Eric Stahlman -- * Copyright (C) 1996 by Erik Stahlman -- * -- * This software may be used and distributed according to the terms -- * of the GNU Public License, incorporated herein by reference. -- * -- * "Features" of the SMC chip: -- * 4608 byte packet memory. ( for the 91C92/4. Others have more ) -- * EEPROM for configuration -- * AUI/TP selection -- * -- * Authors -- * Erik Stahlman -- * Daniel Engström -- * -- * History -- * 98-09-25 Daniel Engström Etherboot driver crated from Eric's -- * Linux driver. -- * -- *---------------------------------------------------------------------------*/ --#define LINUX_OUT_MACROS 1 --#define SMC9000_VERBOSE 1 --#define SMC9000_DEBUG 0 -- --#include "etherboot.h" --#include "nic.h" --#include "cards.h" --#include "smc9000.h" -- --# define _outb outb --# define _outw outw -- --static const char smc9000_version[] = "Version 0.99 98-09-30"; --static unsigned int smc9000_base=0; --static const char *interfaces[ 2 ] = { "TP", "AUI" }; --static const char *chip_ids[ 15 ] = { -- NULL, NULL, NULL, -- /* 3 */ "SMC91C90/91C92", -- /* 4 */ "SMC91C94", -- /* 5 */ "SMC91C95", -- NULL, -- /* 7 */ "SMC91C100", -- /* 8 */ "SMC91C100FD", -- NULL, NULL, NULL, -- NULL, NULL, NULL --}; --static const char smc91c96_id[] = "SMC91C96"; -- --/* -- * Function: smc_reset( int ioaddr ) -- * Purpose: -- * This sets the SMC91xx chip to its normal state, hopefully from whatever -- * mess that any other DOS driver has put it in. -- * -- * Maybe I should reset more registers to defaults in here? SOFTRESET should -- * do that for me. -- * -- * Method: -- * 1. send a SOFT RESET -- * 2. wait for it to finish -- * 3. reset the memory management unit -- * 4. clear all interrupts -- * --*/ --static void smc_reset(int ioaddr) --{ -- /* This resets the registers mostly to defaults, but doesn't -- * affect EEPROM. That seems unnecessary */ -- SMC_SELECT_BANK(ioaddr, 0); -- _outw( RCR_SOFTRESET, ioaddr + RCR ); -- -- /* this should pause enough for the chip to be happy */ -- SMC_DELAY(ioaddr); -- -- /* Set the transmit and receive configuration registers to -- * default values */ -- _outw(RCR_CLEAR, ioaddr + RCR); -- _outw(TCR_CLEAR, ioaddr + TCR); -- -- /* Reset the MMU */ -- SMC_SELECT_BANK(ioaddr, 2); -- _outw( MC_RESET, ioaddr + MMU_CMD ); -- -- /* Note: It doesn't seem that waiting for the MMU busy is needed here, -- * but this is a place where future chipsets _COULD_ break. Be wary -- * of issuing another MMU command right after this */ -- _outb(0, ioaddr + INT_MASK); --} -- -- --/*---------------------------------------------------------------------- -- * Function: smc_probe( int ioaddr ) -- * -- * Purpose: -- * Tests to see if a given ioaddr points to an SMC9xxx chip. -- * Returns a 0 on success -- * -- * Algorithm: -- * (1) see if the high byte of BANK_SELECT is 0x33 -- * (2) compare the ioaddr with the base register's address -- * (3) see if I recognize the chip ID in the appropriate register -- * -- * --------------------------------------------------------------------- -- */ --static int smc_probe( int ioaddr ) --{ -- word bank; -- word revision_register; -- word base_address_register; -- -- /* First, see if the high byte is 0x33 */ -- bank = inw(ioaddr + BANK_SELECT); -- if ((bank & 0xFF00) != 0x3300) { -- return -1; -- } -- /* The above MIGHT indicate a device, but I need to write to further -- * test this. */ -- _outw(0x0, ioaddr + BANK_SELECT); -- bank = inw(ioaddr + BANK_SELECT); -- if ((bank & 0xFF00) != 0x3300) { -- return -1; -- } -- -- /* well, we've already written once, so hopefully another time won't -- * hurt. This time, I need to switch the bank register to bank 1, -- * so I can access the base address register */ -- SMC_SELECT_BANK(ioaddr, 1); -- base_address_register = inw(ioaddr + BASE); -- -- if (ioaddr != (base_address_register >> 3 & 0x3E0)) { --#ifdef SMC9000_VERBOSE -- printf("SMC9000: IOADDR %hX doesn't match configuration (%hX)." -- "Probably not a SMC chip\n", -- ioaddr, base_address_register >> 3 & 0x3E0); --#endif -- /* well, the base address register didn't match. Must not have -- * been a SMC chip after all. */ -- return -1; -- } -- -- -- /* check if the revision register is something that I recognize. -- * These might need to be added to later, as future revisions -- * could be added. */ -- SMC_SELECT_BANK(ioaddr, 3); -- revision_register = inw(ioaddr + REVISION); -- if (!chip_ids[(revision_register >> 4) & 0xF]) { -- /* I don't recognize this chip, so... */ --#ifdef SMC9000_VERBOSE -- printf("SMC9000: IO %hX: Unrecognized revision register:" -- " %hX, Contact author.\n", ioaddr, revision_register); --#endif -- return -1; -- } -- -- /* at this point I'll assume that the chip is an SMC9xxx. -- * It might be prudent to check a listing of MAC addresses -- * against the hardware address, or do some other tests. */ -- return 0; --} -- -- --/************************************************************************** -- * ETH_RESET - Reset adapter -- ***************************************************************************/ -- --static void smc9000_reset(struct nic *nic) --{ -- smc_reset(smc9000_base); --} -- --/************************************************************************** -- * ETH_TRANSMIT - Transmit a frame -- ***************************************************************************/ --static void smc9000_transmit( -- struct nic *nic, -- const char *d, /* Destination */ -- unsigned int t, /* Type */ -- unsigned int s, /* size */ -- const char *p) /* Packet */ --{ -- word length; /* real, length incl. header */ -- word numPages; -- unsigned long time_out; -- byte packet_no; -- word status; -- int i; -- -- /* We dont pad here since we can have the hardware doing it for us */ -- length = (s + ETH_HLEN + 1)&~1; -- -- /* convert to MMU pages */ -- numPages = length / 256; -- -- if (numPages > 7 ) { --#ifdef SMC9000_VERBOSE -- printf("SMC9000: Far too big packet error. \n"); --#endif -- return; -- } -- -- /* dont try more than, say 30 times */ -- for (i=0;i<30;i++) { -- /* now, try to allocate the memory */ -- SMC_SELECT_BANK(smc9000_base, 2); -- _outw(MC_ALLOC | numPages, smc9000_base + MMU_CMD); -- -- status = 0; -- /* wait for the memory allocation to finnish */ -- for (time_out = currticks() + 5*TICKS_PER_SEC; currticks() < time_out; ) { -- status = inb(smc9000_base + INTERRUPT); -- if ( status & IM_ALLOC_INT ) { -- /* acknowledge the interrupt */ -- _outb(IM_ALLOC_INT, smc9000_base + INTERRUPT); -- break; -- } -- } -- -- if ((status & IM_ALLOC_INT) != 0 ) { -- /* We've got the memory */ -- break; -- } else { -- printf("SMC9000: Memory allocation timed out, resetting MMU.\n"); -- _outw(MC_RESET, smc9000_base + MMU_CMD); -- } -- } -- -- /* If I get here, I _know_ there is a packet slot waiting for me */ -- packet_no = inb(smc9000_base + PNR_ARR + 1); -- if (packet_no & 0x80) { -- /* or isn't there? BAD CHIP! */ -- printf("SMC9000: Memory allocation failed. \n"); -- return; -- } -- -- /* we have a packet address, so tell the card to use it */ -- _outb(packet_no, smc9000_base + PNR_ARR); -- -- /* point to the beginning of the packet */ -- _outw(PTR_AUTOINC, smc9000_base + POINTER); -- --#if SMC9000_DEBUG > 2 -- printf("Trying to xmit packet of length %hX\n", length ); --#endif -- -- /* send the packet length ( +6 for status, length and ctl byte ) -- * and the status word ( set to zeros ) */ -- _outw(0, smc9000_base + DATA_1 ); -- -- /* send the packet length ( +6 for status words, length, and ctl) */ -- _outb((length+6) & 0xFF, smc9000_base + DATA_1); -- _outb((length+6) >> 8 , smc9000_base + DATA_1); -- -- /* Write the contents of the packet */ -- -- /* The ethernet header first... */ -- outsw(smc9000_base + DATA_1, d, ETH_ALEN >> 1); -- outsw(smc9000_base + DATA_1, nic->node_addr, ETH_ALEN >> 1); -- _outw(htons(t), smc9000_base + DATA_1); -- -- /* ... the data ... */ -- outsw(smc9000_base + DATA_1 , p, s >> 1); -- -- /* ... and the last byte, if there is one. */ -- if ((s & 1) == 0) { -- _outw(0, smc9000_base + DATA_1); -- } else { -- _outb(p[s-1], smc9000_base + DATA_1); -- _outb(0x20, smc9000_base + DATA_1); -- } -- -- /* and let the chipset deal with it */ -- _outw(MC_ENQUEUE , smc9000_base + MMU_CMD); -- -- status = 0; time_out = currticks() + 5*TICKS_PER_SEC; -- do { -- status = inb(smc9000_base + INTERRUPT); -- -- if ((status & IM_TX_INT ) != 0) { -- word tx_status; -- -- /* ack interrupt */ -- _outb(IM_TX_INT, smc9000_base + INTERRUPT); -- -- packet_no = inw(smc9000_base + FIFO_PORTS); -- packet_no &= 0x7F; -- -- /* select this as the packet to read from */ -- _outb( packet_no, smc9000_base + PNR_ARR ); -- -- /* read the first word from this packet */ -- _outw( PTR_AUTOINC | PTR_READ, smc9000_base + POINTER ); -- -- tx_status = inw( smc9000_base + DATA_1 ); -- -- if (0 == (tx_status & TS_SUCCESS)) { --#ifdef SMC9000_VERBOSE -- printf("SMC9000: TX FAIL STATUS: %hX \n", tx_status); --#endif -- /* re-enable transmit */ -- SMC_SELECT_BANK(smc9000_base, 0); -- _outw(inw(smc9000_base + TCR ) | TCR_ENABLE, smc9000_base + TCR ); -- } -- -- /* kill the packet */ -- SMC_SELECT_BANK(smc9000_base, 2); -- _outw(MC_FREEPKT, smc9000_base + MMU_CMD); -- -- return; -- } -- }while(currticks() < time_out); -- -- printf("SMC9000: Waring TX timed out, resetting board\n"); -- smc_reset(smc9000_base); -- return; --} -- --/************************************************************************** -- * ETH_POLL - Wait for a frame -- ***************************************************************************/ --static int smc9000_poll(struct nic *nic) --{ -- if(!smc9000_base) -- return 0; -- -- SMC_SELECT_BANK(smc9000_base, 2); -- if (inw(smc9000_base + FIFO_PORTS) & FP_RXEMPTY) -- return 0; -- -- /* start reading from the start of the packet */ -- _outw(PTR_READ | PTR_RCV | PTR_AUTOINC, smc9000_base + POINTER); -- -- /* First read the status and check that we're ok */ -- if (!(inw(smc9000_base + DATA_1) & RS_ERRORS)) { -- /* Next: read the packet length and mask off the top bits */ -- nic->packetlen = (inw(smc9000_base + DATA_1) & 0x07ff); -- -- /* the packet length includes the 3 extra words */ -- nic->packetlen -= 6; --#if SMC9000_DEBUG > 2 -- printf(" Reading %d words (and %d byte(s))\n", -- (nic->packetlen >> 1), nic->packetlen & 1); --#endif -- /* read the packet (and the last "extra" word) */ -- insw(smc9000_base + DATA_1, nic->packet, (nic->packetlen+2) >> 1); -- /* is there an odd last byte ? */ -- if (nic->packet[nic->packetlen+1] & 0x20) -- nic->packetlen++; -- -- /* error or good, tell the card to get rid of this packet */ -- _outw(MC_RELEASE, smc9000_base + MMU_CMD); -- return 1; -- } -- -- printf("SMC9000: RX error\n"); -- /* error or good, tell the card to get rid of this packet */ -- _outw(MC_RELEASE, smc9000_base + MMU_CMD); -- return 0; --} -- --static void smc9000_disable(struct nic *nic) --{ -- if(!smc9000_base) -- return; -- -- /* no more interrupts for me */ -- SMC_SELECT_BANK(smc9000_base, 2); -- _outb( 0, smc9000_base + INT_MASK); -- -- /* and tell the card to stay away from that nasty outside world */ -- SMC_SELECT_BANK(smc9000_base, 0); -- _outb( RCR_CLEAR, smc9000_base + RCR ); -- _outb( TCR_CLEAR, smc9000_base + TCR ); --} -- --/************************************************************************** -- * ETH_PROBE - Look for an adapter -- ***************************************************************************/ -- --struct nic *smc9000_probe(struct nic *nic, unsigned short *probe_addrs) --{ -- unsigned short revision; -- int memory; -- int media; -- const char * version_string; -- const char * if_string; -- int i; -- -- /* -- * the SMC9000 can be at any of the following port addresses. To change, -- * for a slightly different card, you can add it to the array. Keep in -- * mind that the array must end in zero. -- */ -- static unsigned short portlist[] = { --#ifdef SMC9000_SCAN -- SMC9000_SCAN, --#else -- 0x200, 0x220, 0x240, 0x260, 0x280, 0x2A0, 0x2C0, 0x2E0, -- 0x300, 0x320, 0x340, 0x360, 0x380, 0x3A0, 0x3C0, 0x3E0, --#endif -- 0 }; -- -- printf("\nSMC9000 %s\n", smc9000_version); --#ifdef SMC9000_VERBOSE -- printf("Copyright (C) 1998 Daniel Engstr\x94m\n"); -- printf("Copyright (C) 1996 Eric Stahlman\n"); --#endif -- /* if no addresses supplied, fall back on defaults */ -- if (probe_addrs == 0 || probe_addrs[0] == 0) -- probe_addrs = portlist; -- -- /* check every ethernet address */ -- for (i = 0; probe_addrs[i]; i++) { -- /* check this specific address */ -- if (smc_probe(probe_addrs[i]) == 0) -- smc9000_base = probe_addrs[i]; -- } -- -- /* couldn't find anything */ -- if(0 == smc9000_base) -- goto out; -- -- /* -- * Get the MAC address ( bank 1, regs 4 - 9 ) -- */ -- SMC_SELECT_BANK(smc9000_base, 1); -- for ( i = 0; i < 6; i += 2 ) { -- word address; -- -- address = inw(smc9000_base + ADDR0 + i); -- nic->node_addr[i+1] = address >> 8; -- nic->node_addr[i] = address & 0xFF; -- } -- -- -- /* get the memory information */ -- SMC_SELECT_BANK(smc9000_base, 0); -- memory = ( inw(smc9000_base + MCR) >> 9 ) & 0x7; /* multiplier */ -- memory *= 256 * (inw(smc9000_base + MIR) & 0xFF); -- -- /* -- * Now, I want to find out more about the chip. This is sort of -- * redundant, but it's cleaner to have it in both, rather than having -- * one VERY long probe procedure. -- */ -- SMC_SELECT_BANK(smc9000_base, 3); -- revision = inw(smc9000_base + REVISION); -- version_string = chip_ids[(revision >> 4) & 0xF]; -- -- if (((revision & 0xF0) >> 4 == CHIP_9196) && -- ((revision & 0x0F) >= REV_9196)) { -- /* This is a 91c96. 'c96 has the same chip id as 'c94 (4) but -- * a revision starting at 6 */ -- version_string = smc91c96_id; -- } -- -- if ( !version_string ) { -- /* I shouldn't get here because this call was done before.... */ -- goto out; -- } -- -- /* is it using AUI or 10BaseT ? */ -- SMC_SELECT_BANK(smc9000_base, 1); -- if (inw(smc9000_base + CONFIG) & CFG_AUI_SELECT) -- media = 2; -- else -- media = 1; -- -- if_string = interfaces[media - 1]; -- -- /* now, reset the chip, and put it into a known state */ -- smc_reset(smc9000_base); -- -- printf("%s rev:%d I/O port:%hX Interface:%s RAM:%d bytes \n", -- version_string, revision & 0xF, -- smc9000_base, if_string, memory ); -- /* -- * Print the Ethernet address -- */ -- printf("Ethernet MAC address: %!\n", nic->node_addr); -- -- SMC_SELECT_BANK(smc9000_base, 0); -- -- /* see the header file for options in TCR/RCR NORMAL*/ -- _outw(TCR_NORMAL, smc9000_base + TCR); -- _outw(RCR_NORMAL, smc9000_base + RCR); -- -- /* Select which interface to use */ -- SMC_SELECT_BANK(smc9000_base, 1); -- if ( media == 1 ) { -- _outw( inw( smc9000_base + CONFIG ) & ~CFG_AUI_SELECT, -- smc9000_base + CONFIG ); -- } -- else if ( media == 2 ) { -- _outw( inw( smc9000_base + CONFIG ) | CFG_AUI_SELECT, -- smc9000_base + CONFIG ); -- } -- -- nic->reset = smc9000_reset; -- nic->poll = smc9000_poll; -- nic->transmit = smc9000_transmit; -- nic->disable = smc9000_disable; -- -- -- return nic; -- --out: --#ifdef SMC9000_VERBOSE -- printf("No SMC9000 adapters found\n"); --#endif -- smc9000_base = 0; -- -- return (0); --} -- -- -- -Index: b/netboot/smc9000.h -=================================================================== ---- a/netboot/smc9000.h -+++ /dev/null -@@ -1,205 +0,0 @@ --/*------------------------------------------------------------------------ -- * smc9000.h -- * -- * Copyright (C) 1998 by Daniel Engström -- * Copyright (C) 1996 by Erik Stahlman -- * -- * This software may be used and distributed according to the terms -- * of the GNU Public License, incorporated herein by reference. -- * -- * This file contains register information and access macros for -- * the SMC91xxx chipset. -- * -- * Information contained in this file was obtained from the SMC91C94 -- * manual from SMC. To get a copy, if you really want one, you can find -- * information under www.smsc.com in the components division. -- * ( this thanks to advice from Donald Becker ). -- * -- * Authors -- * Daniel Engström -- * Erik Stahlman -- * -- * History -- * 96-01-06 Erik Stahlman moved definitions here from main .c -- * file -- * 96-01-19 Erik Stahlman polished this up some, and added -- * better error handling -- * 98-09-25 Daniel Engström adjusted for Etherboot -- * 98-09-27 Daniel Engström moved some static strings back to the -- * main .c file -- * --------------------------------------------------------------------------*/ --#ifndef _SMC9000_H_ --# define _SMC9000_H_ -- --/* I want some simple types */ --typedef unsigned char byte; --typedef unsigned short word; --typedef unsigned long int dword; -- --/*--------------------------------------------------------------- -- * -- * A description of the SMC registers is probably in order here, -- * although for details, the SMC datasheet is invaluable. -- * -- * Basically, the chip has 4 banks of registers ( 0 to 3 ), which -- * are accessed by writing a number into the BANK_SELECT register -- * ( I also use a SMC_SELECT_BANK macro for this ). -- * -- * The banks are configured so that for most purposes, bank 2 is all -- * that is needed for simple run time tasks. -- * ----------------------------------------------------------------------*/ -- --/* -- * Bank Select Register: -- * -- * yyyy yyyy 0000 00xx -- * xx = bank number -- * yyyy yyyy = 0x33, for identification purposes. -- */ --#define BANK_SELECT 14 -- --/* BANK 0 */ -- --#define TCR 0 /* transmit control register */ --#define TCR_ENABLE 0x0001 /* if this is 1, we can transmit */ --#define TCR_FDUPLX 0x0800 /* receive packets sent out */ --#define TCR_STP_SQET 0x1000 /* stop transmitting if Signal quality error */ --#define TCR_MON_CNS 0x0400 /* monitors the carrier status */ --#define TCR_PAD_ENABLE 0x0080 /* pads short packets to 64 bytes */ -- --#define TCR_CLEAR 0 /* do NOTHING */ --/* the normal settings for the TCR register : */ --#define TCR_NORMAL (TCR_ENABLE | TCR_PAD_ENABLE) -- -- --#define EPH_STATUS 2 --#define ES_LINK_OK 0x4000 /* is the link integrity ok ? */ -- --#define RCR 4 --#define RCR_SOFTRESET 0x8000 /* resets the chip */ --#define RCR_STRIP_CRC 0x200 /* strips CRC */ --#define RCR_ENABLE 0x100 /* IFF this is set, we can receive packets */ --#define RCR_ALMUL 0x4 /* receive all multicast packets */ --#define RCR_PROMISC 0x2 /* enable promiscuous mode */ -- --/* the normal settings for the RCR register : */ --#define RCR_NORMAL (RCR_STRIP_CRC | RCR_ENABLE) --#define RCR_CLEAR 0x0 /* set it to a base state */ -- --#define COUNTER 6 --#define MIR 8 --#define MCR 10 --/* 12 is reserved */ -- --/* BANK 1 */ --#define CONFIG 0 --#define CFG_AUI_SELECT 0x100 --#define BASE 2 --#define ADDR0 4 --#define ADDR1 6 --#define ADDR2 8 --#define GENERAL 10 --#define CONTROL 12 --#define CTL_POWERDOWN 0x2000 --#define CTL_LE_ENABLE 0x80 --#define CTL_CR_ENABLE 0x40 --#define CTL_TE_ENABLE 0x0020 --#define CTL_AUTO_RELEASE 0x0800 --#define CTL_EPROM_ACCESS 0x0003 /* high if Eprom is being read */ -- --/* BANK 2 */ --#define MMU_CMD 0 --#define MC_BUSY 1 /* only readable bit in the register */ --#define MC_NOP 0 --#define MC_ALLOC 0x20 /* or with number of 256 byte packets */ --#define MC_RESET 0x40 --#define MC_REMOVE 0x60 /* remove the current rx packet */ --#define MC_RELEASE 0x80 /* remove and release the current rx packet */ --#define MC_FREEPKT 0xA0 /* Release packet in PNR register */ --#define MC_ENQUEUE 0xC0 /* Enqueue the packet for transmit */ -- --#define PNR_ARR 2 --#define FIFO_PORTS 4 -- --#define FP_RXEMPTY 0x8000 --#define FP_TXEMPTY 0x80 -- --#define POINTER 6 --#define PTR_READ 0x2000 --#define PTR_RCV 0x8000 --#define PTR_AUTOINC 0x4000 --#define PTR_AUTO_INC 0x0040 -- --#define DATA_1 8 --#define DATA_2 10 --#define INTERRUPT 12 -- --#define INT_MASK 13 --#define IM_RCV_INT 0x1 --#define IM_TX_INT 0x2 --#define IM_TX_EMPTY_INT 0x4 --#define IM_ALLOC_INT 0x8 --#define IM_RX_OVRN_INT 0x10 --#define IM_EPH_INT 0x20 --#define IM_ERCV_INT 0x40 /* not on SMC9192 */ -- --/* BANK 3 */ --#define MULTICAST1 0 --#define MULTICAST2 2 --#define MULTICAST3 4 --#define MULTICAST4 6 --#define MGMT 8 --#define REVISION 10 /* ( hi: chip id low: rev # ) */ -- -- --/* this is NOT on SMC9192 */ --#define ERCV 12 -- --/* Note that 9194 and 9196 have the smame chip id, -- * the 9196 will have revisions starting at 6 */ --#define CHIP_9190 3 --#define CHIP_9194 4 --#define CHIP_9195 5 --#define CHIP_9196 4 --#define CHIP_91100 7 --#define CHIP_91100FD 8 -- --#define REV_9196 6 -- --/* -- * Transmit status bits -- */ --#define TS_SUCCESS 0x0001 --#define TS_LOSTCAR 0x0400 --#define TS_LATCOL 0x0200 --#define TS_16COL 0x0010 -- --/* -- * Receive status bits -- */ --#define RS_ALGNERR 0x8000 --#define RS_BADCRC 0x2000 --#define RS_ODDFRAME 0x1000 --#define RS_TOOLONG 0x0800 --#define RS_TOOSHORT 0x0400 --#define RS_MULTICAST 0x0001 --#define RS_ERRORS (RS_ALGNERR | RS_BADCRC | RS_TOOLONG | RS_TOOSHORT) -- -- --/*------------------------------------------------------------------------- -- * I define some macros to make it easier to do somewhat common -- * or slightly complicated, repeated tasks. -- --------------------------------------------------------------------------*/ -- --/* select a register bank, 0 to 3 */ -- --#define SMC_SELECT_BANK(x, y) { _outw( y, x + BANK_SELECT ); } -- --/* define a small delay for the reset */ --#define SMC_DELAY(x) { inw( x + RCR );\ -- inw( x + RCR );\ -- inw( x + RCR ); } -- -- --#endif /* _SMC_9000_H_ */ -- -Index: b/netboot/stdint.h -=================================================================== ---- /dev/null -+++ b/netboot/stdint.h -@@ -0,0 +1,18 @@ -+#ifndef STDINT_H -+#define STDINT_H -+/* -+ * I'm architecture depended. Check me before port GRUB -+ */ -+typedef unsigned size_t; -+ -+typedef unsigned char uint8_t; -+typedef unsigned short uint16_t; -+typedef unsigned long uint32_t; -+typedef unsigned long long uint64_t; -+ -+typedef signed char int8_t; -+typedef signed short int16_t; -+typedef signed long int32_t; -+typedef signed long long int64_t; -+ -+#endif /* STDINT_H */ -Index: b/netboot/tftp.h -=================================================================== ---- /dev/null -+++ b/netboot/tftp.h -@@ -0,0 +1,82 @@ -+#ifndef _TFTP_H -+#define _TFTP_H -+ -+#include "if_ether.h" -+#include "ip.h" -+#include "udp.h" -+ -+#ifndef MAX_TFTP_RETRIES -+#define MAX_TFTP_RETRIES 20 -+#endif -+ -+/* These settings have sense only if compiled with -DCONGESTED */ -+/* total retransmission timeout in ticks */ -+#define TFTP_TIMEOUT (30*TICKS_PER_SEC) -+/* packet retransmission timeout in ticks */ -+#define TFTP_REXMT (3*TICKS_PER_SEC) -+ -+#define TFTP_PORT 69 -+#define TFTP_DEFAULTSIZE_PACKET 512 -+#define TFTP_MAX_PACKET 1432 /* 512 */ -+ -+#define TFTP_RRQ 1 -+#define TFTP_WRQ 2 -+#define TFTP_DATA 3 -+#define TFTP_ACK 4 -+#define TFTP_ERROR 5 -+#define TFTP_OACK 6 -+ -+#define TFTP_CODE_EOF 1 -+#define TFTP_CODE_MORE 2 -+#define TFTP_CODE_ERROR 3 -+#define TFTP_CODE_BOOT 4 -+#define TFTP_CODE_CFG 5 -+ -+struct tftp_t { -+ struct iphdr ip; -+ struct udphdr udp; -+ uint16_t opcode; -+ union { -+ uint8_t rrq[TFTP_DEFAULTSIZE_PACKET]; -+ struct { -+ uint16_t block; -+ uint8_t download[TFTP_MAX_PACKET]; -+ } data; -+ struct { -+ uint16_t block; -+ } ack; -+ struct { -+ uint16_t errcode; -+ uint8_t errmsg[TFTP_DEFAULTSIZE_PACKET]; -+ } err; -+ struct { -+ uint8_t data[TFTP_DEFAULTSIZE_PACKET+2]; -+ } oack; -+ } u; -+}; -+ -+/* define a smaller tftp packet solely for making requests to conserve stack -+ 512 bytes should be enough */ -+struct tftpreq_t { -+ struct iphdr ip; -+ struct udphdr udp; -+ uint16_t opcode; -+ union { -+ uint8_t rrq[512]; -+ struct { -+ uint16_t block; -+ } ack; -+ struct { -+ uint16_t errcode; -+ uint8_t errmsg[512-2]; -+ } err; -+ } u; -+}; -+ -+#define TFTP_MIN_PACKET (sizeof(struct iphdr) + sizeof(struct udphdr) + 4) -+ -+typedef int (*read_actor_t)(unsigned char *, unsigned int, unsigned int, int); -+ -+int tftp_file_read(const char *name, read_actor_t); -+ -+#endif /* _TFTP_H */ -Index: b/netboot/tg3.c -=================================================================== ---- /dev/null -+++ b/netboot/tg3.c -@@ -0,0 +1,3322 @@ -+/* $Id: grub-0.95-diskless-patch-2.patch,v 1.1.1.1 2005/06/14 08:18:50 wesolows Exp $ -+ * tg3.c: Broadcom Tigon3 ethernet driver. -+ * -+ * Copyright (C) 2001, 2002 David S. Miller (davem@redhat.com) -+ * Copyright (C) 2001, 2002 Jeff Garzik (jgarzik@mandrakesoft.com) -+ * Copyright (C) 2003 Eric Biederman (ebiederman@lnxi.com) [etherboot port] -+ */ -+ -+/* 11-13-2003 timlegge Fix Issue with NetGear GA302T -+ * 11-18-2003 ebiederm Generalize NetGear Fix to what the code was supposed to be. -+ */ -+ -+#include "etherboot.h" -+#include "nic.h" -+#include "pci.h" -+#include "timer.h" -+/*#include "string.h"*/ -+#include "tg3.h" -+ -+#define SUPPORT_COPPER_PHY 1 -+#define SUPPORT_FIBER_PHY 1 -+#define SUPPORT_LINK_REPORT 1 -+#define SUPPORT_PARTNO_STR 1 -+#define SUPPORT_PHY_STR 1 -+ -+struct tg3 tg3; -+ -+/* Dummy defines for error handling */ -+#define EBUSY 1 -+#define ENODEV 2 -+#define EINVAL 3 -+#define ENOMEM 4 -+ -+ -+/* These numbers seem to be hard coded in the NIC firmware somehow. -+ * You can't change the ring sizes, but you can change where you place -+ * them in the NIC onboard memory. -+ */ -+#define TG3_RX_RING_SIZE 512 -+#define TG3_DEF_RX_RING_PENDING 20 /* RX_RING_PENDING seems to be o.k. at 20 and 200 */ -+#define TG3_RX_RCB_RING_SIZE 1024 -+ -+/* (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705 ? \ -+ 512 : 1024) */ -+ #define TG3_TX_RING_SIZE 512 -+#define TG3_DEF_TX_RING_PENDING (TG3_TX_RING_SIZE - 1) -+ -+#define TG3_RX_RING_BYTES (sizeof(struct tg3_rx_buffer_desc) * TG3_RX_RING_SIZE) -+#define TG3_RX_RCB_RING_BYTES (sizeof(struct tg3_rx_buffer_desc) * TG3_RX_RCB_RING_SIZE) -+ -+#define TG3_TX_RING_BYTES (sizeof(struct tg3_tx_buffer_desc) * TG3_TX_RING_SIZE) -+#define NEXT_TX(N) (((N) + 1) & (TG3_TX_RING_SIZE - 1)) -+#define PREV_TX(N) (((N) - 1) & (TG3_TX_RING_SIZE - 1)) -+ -+#define RX_PKT_BUF_SZ (1536 + 2 + 64) -+ -+ -+static struct bss { -+ struct tg3_rx_buffer_desc rx_std[TG3_RX_RING_SIZE]; -+ struct tg3_rx_buffer_desc rx_rcb[TG3_RX_RCB_RING_SIZE]; -+ struct tg3_tx_buffer_desc tx_ring[TG3_TX_RING_SIZE]; -+ struct tg3_hw_status hw_status; -+ struct tg3_hw_stats hw_stats; -+ unsigned char rx_bufs[TG3_DEF_RX_RING_PENDING][RX_PKT_BUF_SZ]; -+} tg3_bss; -+ -+/** -+ * pci_save_state - save the PCI configuration space of a device before suspending -+ * @dev: - PCI device that we're dealing with -+ * @buffer: - buffer to hold config space context -+ * -+ * @buffer must be large enough to hold the entire PCI 2.2 config space -+ * (>= 64 bytes). -+ */ -+static int pci_save_state(struct pci_device *dev, uint32_t *buffer) -+{ -+ int i; -+ for (i = 0; i < 16; i++) -+ pci_read_config_dword(dev, i * 4,&buffer[i]); -+ return 0; -+} -+ -+/** -+ * pci_restore_state - Restore the saved state of a PCI device -+ * @dev: - PCI device that we're dealing with -+ * @buffer: - saved PCI config space -+ * -+ */ -+static int pci_restore_state(struct pci_device *dev, uint32_t *buffer) -+{ -+ int i; -+ -+ for (i = 0; i < 16; i++) -+ pci_write_config_dword(dev,i * 4, buffer[i]); -+ return 0; -+} -+ -+static void tg3_write_indirect_reg32(uint32_t off, uint32_t val) -+{ -+ pci_write_config_dword(tg3.pdev, TG3PCI_REG_BASE_ADDR, off); -+ pci_write_config_dword(tg3.pdev, TG3PCI_REG_DATA, val); -+} -+ -+#define tw32(reg,val) tg3_write_indirect_reg32((reg),(val)) -+#define tw32_mailbox(reg, val) writel(((val) & 0xffffffff), tg3.regs + (reg)) -+#define tw16(reg,val) writew(((val) & 0xffff), tg3.regs + (reg)) -+#define tw8(reg,val) writeb(((val) & 0xff), tg3.regs + (reg)) -+#define tr32(reg) readl(tg3.regs + (reg)) -+#define tr16(reg) readw(tg3.regs + (reg)) -+#define tr8(reg) readb(tg3.regs + (reg)) -+ -+static void tw32_carefully(uint32_t reg, uint32_t val) -+{ -+ tw32(reg, val); -+ tr32(reg); -+ udelay(100); -+} -+ -+static void tw32_mailbox2(uint32_t reg, uint32_t val) -+{ -+ tw32_mailbox(reg, val); -+ tr32(reg); -+} -+ -+static void tg3_write_mem(uint32_t off, uint32_t val) -+{ -+ pci_write_config_dword(tg3.pdev, TG3PCI_MEM_WIN_BASE_ADDR, off); -+ pci_write_config_dword(tg3.pdev, TG3PCI_MEM_WIN_DATA, val); -+ -+ /* Always leave this as zero. */ -+ pci_write_config_dword(tg3.pdev, TG3PCI_MEM_WIN_BASE_ADDR, 0); -+} -+ -+static void tg3_read_mem(uint32_t off, uint32_t *val) -+{ -+ pci_write_config_dword(tg3.pdev, TG3PCI_MEM_WIN_BASE_ADDR, off); -+ pci_read_config_dword(tg3.pdev, TG3PCI_MEM_WIN_DATA, val); -+ -+ /* Always leave this as zero. */ -+ pci_write_config_dword(tg3.pdev, TG3PCI_MEM_WIN_BASE_ADDR, 0); -+} -+ -+static void tg3_disable_ints(struct tg3 *tp) -+{ -+ tw32(TG3PCI_MISC_HOST_CTRL, -+ (tp->misc_host_ctrl | MISC_HOST_CTRL_MASK_PCI_INT)); -+ tw32_mailbox2(MAILBOX_INTERRUPT_0 + TG3_64BIT_REG_LOW, 0x00000001); -+} -+ -+static void tg3_switch_clocks(struct tg3 *tp) -+{ -+ uint32_t orig_clock_ctrl, clock_ctrl; -+ -+ clock_ctrl = tr32(TG3PCI_CLOCK_CTRL); -+ -+ orig_clock_ctrl = clock_ctrl; -+ clock_ctrl &= (CLOCK_CTRL_FORCE_CLKRUN | CLOCK_CTRL_CLKRUN_OENABLE | 0x1f); -+ tp->pci_clock_ctrl = clock_ctrl; -+ -+ if ((GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5705) && -+ (orig_clock_ctrl & CLOCK_CTRL_44MHZ_CORE)!=0) { -+ tw32_carefully(TG3PCI_CLOCK_CTRL, -+ clock_ctrl | (CLOCK_CTRL_44MHZ_CORE | CLOCK_CTRL_ALTCLK)); -+ tw32_carefully(TG3PCI_CLOCK_CTRL, -+ clock_ctrl | (CLOCK_CTRL_ALTCLK)); -+ } -+ tw32_carefully(TG3PCI_CLOCK_CTRL, clock_ctrl); -+} -+ -+#define PHY_BUSY_LOOPS 5000 -+ -+static int tg3_readphy(struct tg3 *tp, int reg, uint32_t *val) -+{ -+ uint32_t frame_val; -+ int loops, ret; -+ -+ tw32_carefully(MAC_MI_MODE, tp->mi_mode & ~MAC_MI_MODE_AUTO_POLL); -+ -+ *val = 0xffffffff; -+ -+ frame_val = ((PHY_ADDR << MI_COM_PHY_ADDR_SHIFT) & -+ MI_COM_PHY_ADDR_MASK); -+ frame_val |= ((reg << MI_COM_REG_ADDR_SHIFT) & -+ MI_COM_REG_ADDR_MASK); -+ frame_val |= (MI_COM_CMD_READ | MI_COM_START); -+ -+ tw32_carefully(MAC_MI_COM, frame_val); -+ -+ loops = PHY_BUSY_LOOPS; -+ while (loops-- > 0) { -+ udelay(10); -+ frame_val = tr32(MAC_MI_COM); -+ -+ if ((frame_val & MI_COM_BUSY) == 0) { -+ udelay(5); -+ frame_val = tr32(MAC_MI_COM); -+ break; -+ } -+ } -+ -+ ret = -EBUSY; -+ if (loops > 0) { -+ *val = frame_val & MI_COM_DATA_MASK; -+ ret = 0; -+ } -+ -+ tw32_carefully(MAC_MI_MODE, tp->mi_mode); -+ -+ return ret; -+} -+ -+static int tg3_writephy(struct tg3 *tp, int reg, uint32_t val) -+{ -+ uint32_t frame_val; -+ int loops, ret; -+ -+ tw32_carefully(MAC_MI_MODE, tp->mi_mode & ~MAC_MI_MODE_AUTO_POLL); -+ -+ frame_val = ((PHY_ADDR << MI_COM_PHY_ADDR_SHIFT) & -+ MI_COM_PHY_ADDR_MASK); -+ frame_val |= ((reg << MI_COM_REG_ADDR_SHIFT) & -+ MI_COM_REG_ADDR_MASK); -+ frame_val |= (val & MI_COM_DATA_MASK); -+ frame_val |= (MI_COM_CMD_WRITE | MI_COM_START); -+ -+ tw32_carefully(MAC_MI_COM, frame_val); -+ -+ loops = PHY_BUSY_LOOPS; -+ while (loops-- > 0) { -+ udelay(10); -+ frame_val = tr32(MAC_MI_COM); -+ if ((frame_val & MI_COM_BUSY) == 0) { -+ udelay(5); -+ frame_val = tr32(MAC_MI_COM); -+ break; -+ } -+ } -+ -+ ret = -EBUSY; -+ if (loops > 0) -+ ret = 0; -+ -+ tw32_carefully(MAC_MI_MODE, tp->mi_mode); -+ -+ return ret; -+} -+ -+static int tg3_writedsp(struct tg3 *tp, uint16_t addr, uint16_t val) -+{ -+ int err; -+ err = tg3_writephy(tp, MII_TG3_DSP_ADDRESS, addr); -+ err |= tg3_writephy(tp, MII_TG3_DSP_RW_PORT, val); -+ return err; -+} -+ -+ -+static void tg3_phy_set_wirespeed(struct tg3 *tp) -+{ -+ uint32_t val; -+ -+ if (tp->tg3_flags2 & TG3_FLG2_NO_ETH_WIRE_SPEED) -+ return; -+ -+ tg3_writephy(tp, MII_TG3_AUX_CTRL, 0x7007); -+ tg3_readphy(tp, MII_TG3_AUX_CTRL, &val); -+ tg3_writephy(tp, MII_TG3_AUX_CTRL, (val | (1 << 15) | (1 << 4))); -+} -+ -+static int tg3_bmcr_reset(struct tg3 *tp) -+{ -+ uint32_t phy_control; -+ int limit, err; -+ -+ /* OK, reset it, and poll the BMCR_RESET bit until it -+ * clears or we time out. -+ */ -+ phy_control = BMCR_RESET; -+ err = tg3_writephy(tp, MII_BMCR, phy_control); -+ if (err != 0) -+ return -EBUSY; -+ -+ limit = 5000; -+ while (limit--) { -+ err = tg3_readphy(tp, MII_BMCR, &phy_control); -+ if (err != 0) -+ return -EBUSY; -+ -+ if ((phy_control & BMCR_RESET) == 0) { -+ udelay(40); -+ break; -+ } -+ udelay(10); -+ } -+ if (limit <= 0) -+ return -EBUSY; -+ -+ return 0; -+} -+ -+static int tg3_wait_macro_done(struct tg3 *tp) -+{ -+ int limit = 100; -+ -+ while (limit--) { -+ uint32_t tmp32; -+ -+ tg3_readphy(tp, 0x16, &tmp32); -+ if ((tmp32 & 0x1000) == 0) -+ break; -+ } -+ if (limit <= 0) -+ return -EBUSY; -+ -+ return 0; -+} -+ -+static int tg3_phy_write_and_check_testpat(struct tg3 *tp, int *resetp) -+{ -+ static const uint32_t test_pat[4][6] = { -+ { 0x00005555, 0x00000005, 0x00002aaa, 0x0000000a, 0x00003456, 0x00000003 }, -+ { 0x00002aaa, 0x0000000a, 0x00003333, 0x00000003, 0x0000789a, 0x00000005 }, -+ { 0x00005a5a, 0x00000005, 0x00002a6a, 0x0000000a, 0x00001bcd, 0x00000003 }, -+ { 0x00002a5a, 0x0000000a, 0x000033c3, 0x00000003, 0x00002ef1, 0x00000005 } -+ }; -+ int chan; -+ -+ for (chan = 0; chan < 4; chan++) { -+ int i; -+ -+ tg3_writephy(tp, MII_TG3_DSP_ADDRESS, -+ (chan * 0x2000) | 0x0200); -+ tg3_writephy(tp, 0x16, 0x0002); -+ -+ for (i = 0; i < 6; i++) -+ tg3_writephy(tp, MII_TG3_DSP_RW_PORT, -+ test_pat[chan][i]); -+ -+ tg3_writephy(tp, 0x16, 0x0202); -+ if (tg3_wait_macro_done(tp)) { -+ *resetp = 1; -+ return -EBUSY; -+ } -+ -+ tg3_writephy(tp, MII_TG3_DSP_ADDRESS, -+ (chan * 0x2000) | 0x0200); -+ tg3_writephy(tp, 0x16, 0x0082); -+ if (tg3_wait_macro_done(tp)) { -+ *resetp = 1; -+ return -EBUSY; -+ } -+ -+ tg3_writephy(tp, 0x16, 0x0802); -+ if (tg3_wait_macro_done(tp)) { -+ *resetp = 1; -+ return -EBUSY; -+ } -+ -+ for (i = 0; i < 6; i += 2) { -+ uint32_t low, high; -+ -+ tg3_readphy(tp, MII_TG3_DSP_RW_PORT, &low); -+ tg3_readphy(tp, MII_TG3_DSP_RW_PORT, &high); -+ if (tg3_wait_macro_done(tp)) { -+ *resetp = 1; -+ return -EBUSY; -+ } -+ low &= 0x7fff; -+ high &= 0x000f; -+ if (low != test_pat[chan][i] || -+ high != test_pat[chan][i+1]) { -+ tg3_writephy(tp, MII_TG3_DSP_ADDRESS, 0x000b); -+ tg3_writephy(tp, MII_TG3_DSP_RW_PORT, 0x4001); -+ tg3_writephy(tp, MII_TG3_DSP_RW_PORT, 0x4005); -+ -+ return -EBUSY; -+ } -+ } -+ } -+ -+ return 0; -+} -+ -+static int tg3_phy_reset_chanpat(struct tg3 *tp) -+{ -+ int chan; -+ -+ for (chan = 0; chan < 4; chan++) { -+ int i; -+ -+ tg3_writephy(tp, MII_TG3_DSP_ADDRESS, -+ (chan * 0x2000) | 0x0200); -+ tg3_writephy(tp, 0x16, 0x0002); -+ for (i = 0; i < 6; i++) -+ tg3_writephy(tp, MII_TG3_DSP_RW_PORT, 0x000); -+ tg3_writephy(tp, 0x16, 0x0202); -+ if (tg3_wait_macro_done(tp)) -+ return -EBUSY; -+ } -+ -+ return 0; -+} -+ -+static int tg3_phy_reset_5703_4_5(struct tg3 *tp) -+{ -+ uint32_t reg32, phy9_orig; -+ int retries, do_phy_reset, err; -+ -+ retries = 10; -+ do_phy_reset = 1; -+ do { -+ if (do_phy_reset) { -+ err = tg3_bmcr_reset(tp); -+ if (err) -+ return err; -+ do_phy_reset = 0; -+ } -+ -+ /* Disable transmitter and interrupt. */ -+ tg3_readphy(tp, MII_TG3_EXT_CTRL, ®32); -+ reg32 |= 0x3000; -+ tg3_writephy(tp, MII_TG3_EXT_CTRL, reg32); -+ -+ /* Set full-duplex, 1000 mbps. */ -+ tg3_writephy(tp, MII_BMCR, -+ BMCR_FULLDPLX | TG3_BMCR_SPEED1000); -+ -+ /* Set to master mode. */ -+ tg3_readphy(tp, MII_TG3_CTRL, &phy9_orig); -+ tg3_writephy(tp, MII_TG3_CTRL, -+ (MII_TG3_CTRL_AS_MASTER | -+ MII_TG3_CTRL_ENABLE_AS_MASTER)); -+ -+ /* Enable SM_DSP_CLOCK and 6dB. */ -+ tg3_writephy(tp, MII_TG3_AUX_CTRL, 0x0c00); -+ -+ /* Block the PHY control access. */ -+ tg3_writephy(tp, MII_TG3_DSP_ADDRESS, 0x8005); -+ tg3_writephy(tp, MII_TG3_DSP_RW_PORT, 0x0800); -+ -+ err = tg3_phy_write_and_check_testpat(tp, &do_phy_reset); -+ if (!err) -+ break; -+ } while (--retries); -+ -+ err = tg3_phy_reset_chanpat(tp); -+ if (err) -+ return err; -+ -+ tg3_writephy(tp, MII_TG3_DSP_ADDRESS, 0x8005); -+ tg3_writephy(tp, MII_TG3_DSP_RW_PORT, 0x0000); -+ -+ tg3_writephy(tp, MII_TG3_DSP_ADDRESS, 0x8200); -+ tg3_writephy(tp, 0x16, 0x0000); -+ -+ tg3_writephy(tp, MII_TG3_AUX_CTRL, 0x0400); -+ -+ tg3_writephy(tp, MII_TG3_CTRL, phy9_orig); -+ -+ tg3_readphy(tp, MII_TG3_EXT_CTRL, ®32); -+ reg32 &= ~0x3000; -+ tg3_writephy(tp, MII_TG3_EXT_CTRL, reg32); -+ -+ return err; -+} -+ -+/* This will reset the tigon3 PHY if there is no valid -+ * link. -+ */ -+static int tg3_phy_reset(struct tg3 *tp) -+{ -+ uint32_t phy_status; -+ int err; -+ -+ err = tg3_readphy(tp, MII_BMSR, &phy_status); -+ err |= tg3_readphy(tp, MII_BMSR, &phy_status); -+ if (err != 0) -+ return -EBUSY; -+ -+ if ((GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5703) || -+ (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5704) || -+ (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705)) { -+ err = tg3_phy_reset_5703_4_5(tp); -+ if (err) -+ return err; -+ goto out; -+ } -+ err = tg3_bmcr_reset(tp); -+ if (err) -+ return err; -+ out: -+ tg3_phy_set_wirespeed(tp); -+ return 0; -+} -+ -+static void tg3_set_power_state_0(struct tg3 *tp) -+{ -+ uint16_t power_control; -+ int pm = tp->pm_cap; -+ -+ /* Make sure register accesses (indirect or otherwise) -+ * will function correctly. -+ */ -+ pci_write_config_dword(tp->pdev, TG3PCI_MISC_HOST_CTRL, tp->misc_host_ctrl); -+ -+ pci_read_config_word(tp->pdev, pm + PCI_PM_CTRL, &power_control); -+ -+ power_control |= PCI_PM_CTRL_PME_STATUS; -+ power_control &= ~(PCI_PM_CTRL_STATE_MASK); -+ power_control |= 0; -+ pci_write_config_word(tp->pdev, pm + PCI_PM_CTRL, power_control); -+ -+ tw32_carefully(GRC_LOCAL_CTRL, tp->grc_local_ctrl); -+ -+ return; -+} -+ -+ -+#if SUPPORT_LINK_REPORT -+static void tg3_link_report(struct tg3 *tp) -+{ -+ if (!tp->carrier_ok) { -+ printf("Link is down.\n"); -+ } else { -+ printf("Link is up at %d Mbps, %s duplex. %s %s %s\n", -+ (tp->link_config.active_speed == SPEED_1000 ? -+ 1000 : -+ (tp->link_config.active_speed == SPEED_100 ? -+ 100 : 10)), -+ (tp->link_config.active_duplex == DUPLEX_FULL ? -+ "full" : "half"), -+ (tp->tg3_flags & TG3_FLAG_TX_PAUSE) ? "TX" : "", -+ (tp->tg3_flags & TG3_FLAG_RX_PAUSE) ? "RX" : "", -+ (tp->tg3_flags & (TG3_FLAG_TX_PAUSE |TG3_FLAG_RX_PAUSE)) ? "flow control" : ""); -+ } -+} -+#else -+#define tg3_link_report(tp) -+#endif -+ -+static void tg3_setup_flow_control(struct tg3 *tp, uint32_t local_adv, uint32_t remote_adv) -+{ -+ uint32_t new_tg3_flags = 0; -+ -+ if (local_adv & ADVERTISE_PAUSE_CAP) { -+ if (local_adv & ADVERTISE_PAUSE_ASYM) { -+ if (remote_adv & LPA_PAUSE_CAP) -+ new_tg3_flags |= -+ (TG3_FLAG_RX_PAUSE | -+ TG3_FLAG_TX_PAUSE); -+ else if (remote_adv & LPA_PAUSE_ASYM) -+ new_tg3_flags |= -+ (TG3_FLAG_RX_PAUSE); -+ } else { -+ if (remote_adv & LPA_PAUSE_CAP) -+ new_tg3_flags |= -+ (TG3_FLAG_RX_PAUSE | -+ TG3_FLAG_TX_PAUSE); -+ } -+ } else if (local_adv & ADVERTISE_PAUSE_ASYM) { -+ if ((remote_adv & LPA_PAUSE_CAP) && -+ (remote_adv & LPA_PAUSE_ASYM)) -+ new_tg3_flags |= TG3_FLAG_TX_PAUSE; -+ } -+ -+ tp->tg3_flags &= ~(TG3_FLAG_RX_PAUSE | TG3_FLAG_TX_PAUSE); -+ tp->tg3_flags |= new_tg3_flags; -+ -+ if (new_tg3_flags & TG3_FLAG_RX_PAUSE) -+ tp->rx_mode |= RX_MODE_FLOW_CTRL_ENABLE; -+ else -+ tp->rx_mode &= ~RX_MODE_FLOW_CTRL_ENABLE; -+ -+ if (new_tg3_flags & TG3_FLAG_TX_PAUSE) -+ tp->tx_mode |= TX_MODE_FLOW_CTRL_ENABLE; -+ else -+ tp->tx_mode &= ~TX_MODE_FLOW_CTRL_ENABLE; -+} -+ -+#if SUPPORT_COPPER_PHY -+static void tg3_aux_stat_to_speed_duplex( -+ struct tg3 *tp __unused, uint32_t val, uint8_t *speed, uint8_t *duplex) -+{ -+ static const uint8_t map[] = { -+ [0] = (SPEED_INVALID << 2) | DUPLEX_INVALID, -+ [MII_TG3_AUX_STAT_10HALF >> 8] = (SPEED_10 << 2) | DUPLEX_HALF, -+ [MII_TG3_AUX_STAT_10FULL >> 8] = (SPEED_10 << 2) | DUPLEX_FULL, -+ [MII_TG3_AUX_STAT_100HALF >> 8] = (SPEED_100 << 2) | DUPLEX_HALF, -+ [MII_TG3_AUX_STAT_100_4 >> 8] = (SPEED_INVALID << 2) | DUPLEX_INVALID, -+ [MII_TG3_AUX_STAT_100FULL >> 8] = (SPEED_100 << 2) | DUPLEX_FULL, -+ [MII_TG3_AUX_STAT_1000HALF >> 8] = (SPEED_1000 << 2) | DUPLEX_HALF, -+ [MII_TG3_AUX_STAT_1000FULL >> 8] = (SPEED_1000 << 2) | DUPLEX_FULL, -+ }; -+ uint8_t result; -+ result = map[(val & MII_TG3_AUX_STAT_SPDMASK) >> 8]; -+ *speed = result >> 2; -+ *duplex = result & 3; -+} -+ -+static int tg3_phy_copper_begin(struct tg3 *tp) -+{ -+ uint32_t new_adv; -+ -+ tp->link_config.advertising = -+ (ADVERTISED_10baseT_Half | ADVERTISED_10baseT_Full | -+ ADVERTISED_100baseT_Half | ADVERTISED_100baseT_Full | -+ ADVERTISED_1000baseT_Half | ADVERTISED_1000baseT_Full | -+ ADVERTISED_Autoneg | ADVERTISED_MII); -+ -+ if (tp->tg3_flags & TG3_FLAG_10_100_ONLY) { -+ tp->link_config.advertising &= -+ ~(ADVERTISED_1000baseT_Half | ADVERTISED_1000baseT_Full); -+ } -+ -+ new_adv = (ADVERTISE_CSMA | ADVERTISE_PAUSE_CAP); -+ if (tp->link_config.advertising & ADVERTISED_10baseT_Half) { -+ new_adv |= ADVERTISE_10HALF; -+ } -+ if (tp->link_config.advertising & ADVERTISED_10baseT_Full) { -+ new_adv |= ADVERTISE_10FULL; -+ } -+ if (tp->link_config.advertising & ADVERTISED_100baseT_Half) { -+ new_adv |= ADVERTISE_100HALF; -+ } -+ if (tp->link_config.advertising & ADVERTISED_100baseT_Full) { -+ new_adv |= ADVERTISE_100FULL; -+ } -+ tg3_writephy(tp, MII_ADVERTISE, new_adv); -+ -+ if (tp->link_config.advertising & -+ (ADVERTISED_1000baseT_Half | ADVERTISED_1000baseT_Full)) { -+ new_adv = 0; -+ if (tp->link_config.advertising & ADVERTISED_1000baseT_Half) { -+ new_adv |= MII_TG3_CTRL_ADV_1000_HALF; -+ } -+ if (tp->link_config.advertising & ADVERTISED_1000baseT_Full) { -+ new_adv |= MII_TG3_CTRL_ADV_1000_FULL; -+ } -+ if (!(tp->tg3_flags & TG3_FLAG_10_100_ONLY) && -+ (tp->pci_chip_rev_id == CHIPREV_ID_5701_A0 || -+ tp->pci_chip_rev_id == CHIPREV_ID_5701_B0)) { -+ new_adv |= (MII_TG3_CTRL_AS_MASTER | -+ MII_TG3_CTRL_ENABLE_AS_MASTER); -+ } -+ tg3_writephy(tp, MII_TG3_CTRL, new_adv); -+ } else { -+ tg3_writephy(tp, MII_TG3_CTRL, 0); -+ } -+ -+ tg3_writephy(tp, MII_BMCR, BMCR_ANENABLE | BMCR_ANRESTART); -+ -+ return 0; -+} -+ -+static int tg3_init_5401phy_dsp(struct tg3 *tp) -+{ -+ int err; -+ -+ /* Turn off tap power management. */ -+ err = tg3_writephy(tp, MII_TG3_AUX_CTRL, 0x0c20); -+ -+ err |= tg3_writedsp(tp, 0x0012, 0x1804); -+ err |= tg3_writedsp(tp, 0x0013, 0x1204); -+ err |= tg3_writedsp(tp, 0x8006, 0x0132); -+ err |= tg3_writedsp(tp, 0x8006, 0x0232); -+ err |= tg3_writedsp(tp, 0x201f, 0x0a20); -+ -+ udelay(40); -+ -+ return err; -+} -+ -+static int tg3_setup_copper_phy(struct tg3 *tp) -+{ -+ int current_link_up; -+ uint32_t bmsr, dummy; -+ int i, err; -+ -+ tw32_carefully(MAC_STATUS, -+ (MAC_STATUS_SYNC_CHANGED | MAC_STATUS_CFG_CHANGED)); -+ -+ tp->mi_mode = MAC_MI_MODE_BASE; -+ tw32_carefully(MAC_MI_MODE, tp->mi_mode); -+ -+ tg3_writephy(tp, MII_TG3_AUX_CTRL, 0x02); -+ -+ /* Some third-party PHYs need to be reset on link going -+ * down. -+ */ -+ if ( ( (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5703) || -+ (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5704) || -+ (tp->pci_chip_rev_id == CHIPREV_ID_5705_A0)) && -+ (tp->carrier_ok)) { -+ tg3_readphy(tp, MII_BMSR, &bmsr); -+ tg3_readphy(tp, MII_BMSR, &bmsr); -+ if (!(bmsr & BMSR_LSTATUS)) -+ tg3_phy_reset(tp); -+ } -+ -+ if ((tp->phy_id & PHY_ID_MASK) == PHY_ID_BCM5401) { -+ tg3_readphy(tp, MII_BMSR, &bmsr); -+ tg3_readphy(tp, MII_BMSR, &bmsr); -+ -+ if (!(tp->tg3_flags & TG3_FLAG_INIT_COMPLETE)) -+ bmsr = 0; -+ -+ if (!(bmsr & BMSR_LSTATUS)) { -+ err = tg3_init_5401phy_dsp(tp); -+ if (err) -+ return err; -+ -+ tg3_readphy(tp, MII_BMSR, &bmsr); -+ for (i = 0; i < 1000; i++) { -+ udelay(10); -+ tg3_readphy(tp, MII_BMSR, &bmsr); -+ if (bmsr & BMSR_LSTATUS) { -+ udelay(40); -+ break; -+ } -+ } -+ -+ if ((tp->phy_id & PHY_ID_REV_MASK) == PHY_REV_BCM5401_B0 && -+ !(bmsr & BMSR_LSTATUS) && -+ tp->link_config.active_speed == SPEED_1000) { -+ err = tg3_phy_reset(tp); -+ if (!err) -+ err = tg3_init_5401phy_dsp(tp); -+ if (err) -+ return err; -+ } -+ } -+ } else if (tp->pci_chip_rev_id == CHIPREV_ID_5701_A0 || -+ tp->pci_chip_rev_id == CHIPREV_ID_5701_B0) { -+ /* 5701 {A0,B0} CRC bug workaround */ -+ tg3_writephy(tp, 0x15, 0x0a75); -+ tg3_writephy(tp, 0x1c, 0x8c68); -+ tg3_writephy(tp, 0x1c, 0x8d68); -+ tg3_writephy(tp, 0x1c, 0x8c68); -+ } -+ -+ /* Clear pending interrupts... */ -+ tg3_readphy(tp, MII_TG3_ISTAT, &dummy); -+ tg3_readphy(tp, MII_TG3_ISTAT, &dummy); -+ -+ tg3_writephy(tp, MII_TG3_IMASK, ~0); -+ -+ if (tp->led_mode == led_mode_three_link) -+ tg3_writephy(tp, MII_TG3_EXT_CTRL, -+ MII_TG3_EXT_CTRL_LNK3_LED_MODE); -+ else -+ tg3_writephy(tp, MII_TG3_EXT_CTRL, 0); -+ -+ current_link_up = 0; -+ -+ tg3_readphy(tp, MII_BMSR, &bmsr); -+ tg3_readphy(tp, MII_BMSR, &bmsr); -+ -+ if (bmsr & BMSR_LSTATUS) { -+ uint32_t aux_stat, bmcr; -+ -+ tg3_readphy(tp, MII_TG3_AUX_STAT, &aux_stat); -+ for (i = 0; i < 2000; i++) { -+ udelay(10); -+ tg3_readphy(tp, MII_TG3_AUX_STAT, &aux_stat); -+ if (aux_stat) -+ break; -+ } -+ -+ tg3_aux_stat_to_speed_duplex(tp, aux_stat, -+ &tp->link_config.active_speed, -+ &tp->link_config.active_duplex); -+ tg3_readphy(tp, MII_BMCR, &bmcr); -+ tg3_readphy(tp, MII_BMCR, &bmcr); -+ if (bmcr & BMCR_ANENABLE) { -+ uint32_t gig_ctrl; -+ -+ current_link_up = 1; -+ -+ /* Force autoneg restart if we are exiting -+ * low power mode. -+ */ -+ tg3_readphy(tp, MII_TG3_CTRL, &gig_ctrl); -+ if (!(gig_ctrl & (MII_TG3_CTRL_ADV_1000_HALF | -+ MII_TG3_CTRL_ADV_1000_FULL))) { -+ current_link_up = 0; -+ } -+ } else { -+ current_link_up = 0; -+ } -+ } -+ -+ if (current_link_up == 1 && -+ (tp->link_config.active_duplex == DUPLEX_FULL)) { -+ uint32_t local_adv, remote_adv; -+ -+ tg3_readphy(tp, MII_ADVERTISE, &local_adv); -+ local_adv &= (ADVERTISE_PAUSE_CAP | ADVERTISE_PAUSE_ASYM); -+ -+ tg3_readphy(tp, MII_LPA, &remote_adv); -+ remote_adv &= (LPA_PAUSE_CAP | LPA_PAUSE_ASYM); -+ -+ /* If we are not advertising full pause capability, -+ * something is wrong. Bring the link down and reconfigure. -+ */ -+ if (local_adv != ADVERTISE_PAUSE_CAP) { -+ current_link_up = 0; -+ } else { -+ tg3_setup_flow_control(tp, local_adv, remote_adv); -+ } -+ } -+ -+ if (current_link_up == 0) { -+ uint32_t tmp; -+ -+ tg3_phy_copper_begin(tp); -+ -+ tg3_readphy(tp, MII_BMSR, &tmp); -+ tg3_readphy(tp, MII_BMSR, &tmp); -+ if (tmp & BMSR_LSTATUS) -+ current_link_up = 1; -+ } -+ -+ tp->mac_mode &= ~MAC_MODE_PORT_MODE_MASK; -+ if (current_link_up == 1) { -+ if (tp->link_config.active_speed == SPEED_100 || -+ tp->link_config.active_speed == SPEED_10) -+ tp->mac_mode |= MAC_MODE_PORT_MODE_MII; -+ else -+ tp->mac_mode |= MAC_MODE_PORT_MODE_GMII; -+ } else -+ tp->mac_mode |= MAC_MODE_PORT_MODE_GMII; -+ -+ tp->mac_mode &= ~MAC_MODE_HALF_DUPLEX; -+ if (tp->link_config.active_duplex == DUPLEX_HALF) -+ tp->mac_mode |= MAC_MODE_HALF_DUPLEX; -+ -+ tp->mac_mode &= ~MAC_MODE_LINK_POLARITY; -+ if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5700) { -+ if ((tp->led_mode == led_mode_link10) || -+ (current_link_up == 1 && -+ tp->link_config.active_speed == SPEED_10)) -+ tp->mac_mode |= MAC_MODE_LINK_POLARITY; -+ } else { -+ if (current_link_up == 1) -+ tp->mac_mode |= MAC_MODE_LINK_POLARITY; -+ tw32(MAC_LED_CTRL, LED_CTRL_PHY_MODE_1); -+ } -+ -+ /* ??? Without this setting Netgear GA302T PHY does not -+ * ??? send/receive packets... -+ * With this other PHYs cannot bring up the link -+ */ -+ if ((tp->phy_id & PHY_ID_MASK) == PHY_ID_BCM5411 && -+ tp->pci_chip_rev_id == CHIPREV_ID_5700_ALTIMA) { -+ tp->mi_mode |= MAC_MI_MODE_AUTO_POLL; -+ tw32_carefully(MAC_MI_MODE, tp->mi_mode); -+ } -+ -+ tw32_carefully(MAC_MODE, tp->mac_mode); -+ -+ /* Link change polled. */ -+ tw32_carefully(MAC_EVENT, 0); -+ -+ if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5700 && -+ current_link_up == 1 && -+ tp->link_config.active_speed == SPEED_1000 && -+ ((tp->tg3_flags & TG3_FLAG_PCIX_MODE) || -+ (tp->tg3_flags & TG3_FLAG_PCI_HIGH_SPEED))) { -+ udelay(120); -+ tw32_carefully(MAC_STATUS, -+ (MAC_STATUS_SYNC_CHANGED | MAC_STATUS_CFG_CHANGED)); -+ tg3_write_mem( -+ NIC_SRAM_FIRMWARE_MBOX, -+ NIC_SRAM_FIRMWARE_MBOX_MAGIC2); -+ } -+ -+ if (current_link_up != tp->carrier_ok) { -+ tp->carrier_ok = current_link_up; -+ tg3_link_report(tp); -+ } -+ -+ return 0; -+} -+#else -+#define tg3_setup_copper_phy(TP) (-EINVAL) -+#endif /* SUPPORT_COPPER_PHY */ -+ -+#if SUPPORT_FIBER_PHY -+struct tg3_fiber_aneginfo { -+ int state; -+#define ANEG_STATE_UNKNOWN 0 -+#define ANEG_STATE_AN_ENABLE 1 -+#define ANEG_STATE_RESTART_INIT 2 -+#define ANEG_STATE_RESTART 3 -+#define ANEG_STATE_DISABLE_LINK_OK 4 -+#define ANEG_STATE_ABILITY_DETECT_INIT 5 -+#define ANEG_STATE_ABILITY_DETECT 6 -+#define ANEG_STATE_ACK_DETECT_INIT 7 -+#define ANEG_STATE_ACK_DETECT 8 -+#define ANEG_STATE_COMPLETE_ACK_INIT 9 -+#define ANEG_STATE_COMPLETE_ACK 10 -+#define ANEG_STATE_IDLE_DETECT_INIT 11 -+#define ANEG_STATE_IDLE_DETECT 12 -+#define ANEG_STATE_LINK_OK 13 -+#define ANEG_STATE_NEXT_PAGE_WAIT_INIT 14 -+#define ANEG_STATE_NEXT_PAGE_WAIT 15 -+ -+ uint32_t flags; -+#define MR_AN_ENABLE 0x00000001 -+#define MR_RESTART_AN 0x00000002 -+#define MR_AN_COMPLETE 0x00000004 -+#define MR_PAGE_RX 0x00000008 -+#define MR_NP_LOADED 0x00000010 -+#define MR_TOGGLE_TX 0x00000020 -+#define MR_LP_ADV_FULL_DUPLEX 0x00000040 -+#define MR_LP_ADV_HALF_DUPLEX 0x00000080 -+#define MR_LP_ADV_SYM_PAUSE 0x00000100 -+#define MR_LP_ADV_ASYM_PAUSE 0x00000200 -+#define MR_LP_ADV_REMOTE_FAULT1 0x00000400 -+#define MR_LP_ADV_REMOTE_FAULT2 0x00000800 -+#define MR_LP_ADV_NEXT_PAGE 0x00001000 -+#define MR_TOGGLE_RX 0x00002000 -+#define MR_NP_RX 0x00004000 -+ -+#define MR_LINK_OK 0x80000000 -+ -+ unsigned long link_time, cur_time; -+ -+ uint32_t ability_match_cfg; -+ int ability_match_count; -+ -+ char ability_match, idle_match, ack_match; -+ -+ uint32_t txconfig, rxconfig; -+#define ANEG_CFG_NP 0x00000080 -+#define ANEG_CFG_ACK 0x00000040 -+#define ANEG_CFG_RF2 0x00000020 -+#define ANEG_CFG_RF1 0x00000010 -+#define ANEG_CFG_PS2 0x00000001 -+#define ANEG_CFG_PS1 0x00008000 -+#define ANEG_CFG_HD 0x00004000 -+#define ANEG_CFG_FD 0x00002000 -+#define ANEG_CFG_INVAL 0x00001f06 -+ -+}; -+#define ANEG_OK 0 -+#define ANEG_DONE 1 -+#define ANEG_TIMER_ENAB 2 -+#define ANEG_FAILED -1 -+ -+#define ANEG_STATE_SETTLE_TIME 10000 -+ -+static int tg3_fiber_aneg_smachine(struct tg3 *tp, -+ struct tg3_fiber_aneginfo *ap) -+{ -+ unsigned long delta; -+ uint32_t rx_cfg_reg; -+ int ret; -+ -+ if (ap->state == ANEG_STATE_UNKNOWN) { -+ ap->rxconfig = 0; -+ ap->link_time = 0; -+ ap->cur_time = 0; -+ ap->ability_match_cfg = 0; -+ ap->ability_match_count = 0; -+ ap->ability_match = 0; -+ ap->idle_match = 0; -+ ap->ack_match = 0; -+ } -+ ap->cur_time++; -+ -+ if (tr32(MAC_STATUS) & MAC_STATUS_RCVD_CFG) { -+ rx_cfg_reg = tr32(MAC_RX_AUTO_NEG); -+ -+ if (rx_cfg_reg != ap->ability_match_cfg) { -+ ap->ability_match_cfg = rx_cfg_reg; -+ ap->ability_match = 0; -+ ap->ability_match_count = 0; -+ } else { -+ if (++ap->ability_match_count > 1) { -+ ap->ability_match = 1; -+ ap->ability_match_cfg = rx_cfg_reg; -+ } -+ } -+ if (rx_cfg_reg & ANEG_CFG_ACK) -+ ap->ack_match = 1; -+ else -+ ap->ack_match = 0; -+ -+ ap->idle_match = 0; -+ } else { -+ ap->idle_match = 1; -+ ap->ability_match_cfg = 0; -+ ap->ability_match_count = 0; -+ ap->ability_match = 0; -+ ap->ack_match = 0; -+ -+ rx_cfg_reg = 0; -+ } -+ -+ ap->rxconfig = rx_cfg_reg; -+ ret = ANEG_OK; -+ -+ switch(ap->state) { -+ case ANEG_STATE_UNKNOWN: -+ if (ap->flags & (MR_AN_ENABLE | MR_RESTART_AN)) -+ ap->state = ANEG_STATE_AN_ENABLE; -+ -+ /* fallthru */ -+ case ANEG_STATE_AN_ENABLE: -+ ap->flags &= ~(MR_AN_COMPLETE | MR_PAGE_RX); -+ if (ap->flags & MR_AN_ENABLE) { -+ ap->link_time = 0; -+ ap->cur_time = 0; -+ ap->ability_match_cfg = 0; -+ ap->ability_match_count = 0; -+ ap->ability_match = 0; -+ ap->idle_match = 0; -+ ap->ack_match = 0; -+ -+ ap->state = ANEG_STATE_RESTART_INIT; -+ } else { -+ ap->state = ANEG_STATE_DISABLE_LINK_OK; -+ } -+ break; -+ -+ case ANEG_STATE_RESTART_INIT: -+ ap->link_time = ap->cur_time; -+ ap->flags &= ~(MR_NP_LOADED); -+ ap->txconfig = 0; -+ tw32(MAC_TX_AUTO_NEG, 0); -+ tp->mac_mode |= MAC_MODE_SEND_CONFIGS; -+ tw32_carefully(MAC_MODE, tp->mac_mode); -+ -+ ret = ANEG_TIMER_ENAB; -+ ap->state = ANEG_STATE_RESTART; -+ -+ /* fallthru */ -+ case ANEG_STATE_RESTART: -+ delta = ap->cur_time - ap->link_time; -+ if (delta > ANEG_STATE_SETTLE_TIME) { -+ ap->state = ANEG_STATE_ABILITY_DETECT_INIT; -+ } else { -+ ret = ANEG_TIMER_ENAB; -+ } -+ break; -+ -+ case ANEG_STATE_DISABLE_LINK_OK: -+ ret = ANEG_DONE; -+ break; -+ -+ case ANEG_STATE_ABILITY_DETECT_INIT: -+ ap->flags &= ~(MR_TOGGLE_TX); -+ ap->txconfig = (ANEG_CFG_FD | ANEG_CFG_PS1); -+ tw32(MAC_TX_AUTO_NEG, ap->txconfig); -+ tp->mac_mode |= MAC_MODE_SEND_CONFIGS; -+ tw32_carefully(MAC_MODE, tp->mac_mode); -+ -+ ap->state = ANEG_STATE_ABILITY_DETECT; -+ break; -+ -+ case ANEG_STATE_ABILITY_DETECT: -+ if (ap->ability_match != 0 && ap->rxconfig != 0) { -+ ap->state = ANEG_STATE_ACK_DETECT_INIT; -+ } -+ break; -+ -+ case ANEG_STATE_ACK_DETECT_INIT: -+ ap->txconfig |= ANEG_CFG_ACK; -+ tw32(MAC_TX_AUTO_NEG, ap->txconfig); -+ tp->mac_mode |= MAC_MODE_SEND_CONFIGS; -+ tw32_carefully(MAC_MODE, tp->mac_mode); -+ -+ ap->state = ANEG_STATE_ACK_DETECT; -+ -+ /* fallthru */ -+ case ANEG_STATE_ACK_DETECT: -+ if (ap->ack_match != 0) { -+ if ((ap->rxconfig & ~ANEG_CFG_ACK) == -+ (ap->ability_match_cfg & ~ANEG_CFG_ACK)) { -+ ap->state = ANEG_STATE_COMPLETE_ACK_INIT; -+ } else { -+ ap->state = ANEG_STATE_AN_ENABLE; -+ } -+ } else if (ap->ability_match != 0 && -+ ap->rxconfig == 0) { -+ ap->state = ANEG_STATE_AN_ENABLE; -+ } -+ break; -+ -+ case ANEG_STATE_COMPLETE_ACK_INIT: -+ if (ap->rxconfig & ANEG_CFG_INVAL) { -+ ret = ANEG_FAILED; -+ break; -+ } -+ ap->flags &= ~(MR_LP_ADV_FULL_DUPLEX | -+ MR_LP_ADV_HALF_DUPLEX | -+ MR_LP_ADV_SYM_PAUSE | -+ MR_LP_ADV_ASYM_PAUSE | -+ MR_LP_ADV_REMOTE_FAULT1 | -+ MR_LP_ADV_REMOTE_FAULT2 | -+ MR_LP_ADV_NEXT_PAGE | -+ MR_TOGGLE_RX | -+ MR_NP_RX); -+ if (ap->rxconfig & ANEG_CFG_FD) -+ ap->flags |= MR_LP_ADV_FULL_DUPLEX; -+ if (ap->rxconfig & ANEG_CFG_HD) -+ ap->flags |= MR_LP_ADV_HALF_DUPLEX; -+ if (ap->rxconfig & ANEG_CFG_PS1) -+ ap->flags |= MR_LP_ADV_SYM_PAUSE; -+ if (ap->rxconfig & ANEG_CFG_PS2) -+ ap->flags |= MR_LP_ADV_ASYM_PAUSE; -+ if (ap->rxconfig & ANEG_CFG_RF1) -+ ap->flags |= MR_LP_ADV_REMOTE_FAULT1; -+ if (ap->rxconfig & ANEG_CFG_RF2) -+ ap->flags |= MR_LP_ADV_REMOTE_FAULT2; -+ if (ap->rxconfig & ANEG_CFG_NP) -+ ap->flags |= MR_LP_ADV_NEXT_PAGE; -+ -+ ap->link_time = ap->cur_time; -+ -+ ap->flags ^= (MR_TOGGLE_TX); -+ if (ap->rxconfig & 0x0008) -+ ap->flags |= MR_TOGGLE_RX; -+ if (ap->rxconfig & ANEG_CFG_NP) -+ ap->flags |= MR_NP_RX; -+ ap->flags |= MR_PAGE_RX; -+ -+ ap->state = ANEG_STATE_COMPLETE_ACK; -+ ret = ANEG_TIMER_ENAB; -+ break; -+ -+ case ANEG_STATE_COMPLETE_ACK: -+ if (ap->ability_match != 0 && -+ ap->rxconfig == 0) { -+ ap->state = ANEG_STATE_AN_ENABLE; -+ break; -+ } -+ delta = ap->cur_time - ap->link_time; -+ if (delta > ANEG_STATE_SETTLE_TIME) { -+ if (!(ap->flags & (MR_LP_ADV_NEXT_PAGE))) { -+ ap->state = ANEG_STATE_IDLE_DETECT_INIT; -+ } else { -+ if ((ap->txconfig & ANEG_CFG_NP) == 0 && -+ !(ap->flags & MR_NP_RX)) { -+ ap->state = ANEG_STATE_IDLE_DETECT_INIT; -+ } else { -+ ret = ANEG_FAILED; -+ } -+ } -+ } -+ break; -+ -+ case ANEG_STATE_IDLE_DETECT_INIT: -+ ap->link_time = ap->cur_time; -+ tp->mac_mode &= ~MAC_MODE_SEND_CONFIGS; -+ tw32_carefully(MAC_MODE, tp->mac_mode); -+ -+ ap->state = ANEG_STATE_IDLE_DETECT; -+ ret = ANEG_TIMER_ENAB; -+ break; -+ -+ case ANEG_STATE_IDLE_DETECT: -+ if (ap->ability_match != 0 && -+ ap->rxconfig == 0) { -+ ap->state = ANEG_STATE_AN_ENABLE; -+ break; -+ } -+ delta = ap->cur_time - ap->link_time; -+ if (delta > ANEG_STATE_SETTLE_TIME) { -+ /* XXX another gem from the Broadcom driver :( */ -+ ap->state = ANEG_STATE_LINK_OK; -+ } -+ break; -+ -+ case ANEG_STATE_LINK_OK: -+ ap->flags |= (MR_AN_COMPLETE | MR_LINK_OK); -+ ret = ANEG_DONE; -+ break; -+ -+ case ANEG_STATE_NEXT_PAGE_WAIT_INIT: -+ /* ??? unimplemented */ -+ break; -+ -+ case ANEG_STATE_NEXT_PAGE_WAIT: -+ /* ??? unimplemented */ -+ break; -+ -+ default: -+ ret = ANEG_FAILED; -+ break; -+ }; -+ -+ return ret; -+} -+ -+static int tg3_setup_fiber_phy(struct tg3 *tp) -+{ -+ uint32_t orig_pause_cfg; -+ uint16_t orig_active_speed; -+ uint8_t orig_active_duplex; -+ int current_link_up; -+ int i; -+ -+ orig_pause_cfg = -+ (tp->tg3_flags & (TG3_FLAG_RX_PAUSE | -+ TG3_FLAG_TX_PAUSE)); -+ orig_active_speed = tp->link_config.active_speed; -+ orig_active_duplex = tp->link_config.active_duplex; -+ -+ tp->mac_mode &= ~(MAC_MODE_PORT_MODE_MASK | MAC_MODE_HALF_DUPLEX); -+ tp->mac_mode |= MAC_MODE_PORT_MODE_TBI; -+ tw32_carefully(MAC_MODE, tp->mac_mode); -+ -+ /* Reset when initting first time or we have a link. */ -+ if (!(tp->tg3_flags & TG3_FLAG_INIT_COMPLETE) || -+ (tr32(MAC_STATUS) & MAC_STATUS_PCS_SYNCED)) { -+ /* Set PLL lock range. */ -+ tg3_writephy(tp, 0x16, 0x8007); -+ -+ /* SW reset */ -+ tg3_writephy(tp, MII_BMCR, BMCR_RESET); -+ -+ /* Wait for reset to complete. */ -+ mdelay(5); -+ -+ /* Config mode; select PMA/Ch 1 regs. */ -+ tg3_writephy(tp, 0x10, 0x8411); -+ -+ /* Enable auto-lock and comdet, select txclk for tx. */ -+ tg3_writephy(tp, 0x11, 0x0a10); -+ -+ tg3_writephy(tp, 0x18, 0x00a0); -+ tg3_writephy(tp, 0x16, 0x41ff); -+ -+ /* Assert and deassert POR. */ -+ tg3_writephy(tp, 0x13, 0x0400); -+ udelay(40); -+ tg3_writephy(tp, 0x13, 0x0000); -+ -+ tg3_writephy(tp, 0x11, 0x0a50); -+ udelay(40); -+ tg3_writephy(tp, 0x11, 0x0a10); -+ -+ /* Wait for signal to stabilize */ -+ mdelay(150); -+ -+ /* Deselect the channel register so we can read the PHYID -+ * later. -+ */ -+ tg3_writephy(tp, 0x10, 0x8011); -+ } -+ -+ /* Disable link change interrupt. */ -+ tw32_carefully(MAC_EVENT, 0); -+ -+ current_link_up = 0; -+ if (tr32(MAC_STATUS) & MAC_STATUS_PCS_SYNCED) { -+ if (!(tp->tg3_flags & TG3_FLAG_GOT_SERDES_FLOWCTL)) { -+ struct tg3_fiber_aneginfo aninfo; -+ int status = ANEG_FAILED; -+ unsigned int tick; -+ uint32_t tmp; -+ -+ memset(&aninfo, 0, sizeof(aninfo)); -+ aninfo.flags |= (MR_AN_ENABLE); -+ -+ tw32(MAC_TX_AUTO_NEG, 0); -+ -+ tmp = tp->mac_mode & ~MAC_MODE_PORT_MODE_MASK; -+ tw32_carefully(MAC_MODE, tmp | MAC_MODE_PORT_MODE_GMII); -+ -+ tw32_carefully(MAC_MODE, tp->mac_mode | MAC_MODE_SEND_CONFIGS); -+ -+ aninfo.state = ANEG_STATE_UNKNOWN; -+ aninfo.cur_time = 0; -+ tick = 0; -+ while (++tick < 195000) { -+ status = tg3_fiber_aneg_smachine(tp, &aninfo); -+ if (status == ANEG_DONE || -+ status == ANEG_FAILED) -+ break; -+ -+ udelay(1); -+ } -+ -+ tp->mac_mode &= ~MAC_MODE_SEND_CONFIGS; -+ tw32_carefully(MAC_MODE, tp->mac_mode); -+ -+ if (status == ANEG_DONE && -+ (aninfo.flags & -+ (MR_AN_COMPLETE | MR_LINK_OK | -+ MR_LP_ADV_FULL_DUPLEX))) { -+ uint32_t local_adv, remote_adv; -+ -+ local_adv = ADVERTISE_PAUSE_CAP; -+ remote_adv = 0; -+ if (aninfo.flags & MR_LP_ADV_SYM_PAUSE) -+ remote_adv |= LPA_PAUSE_CAP; -+ if (aninfo.flags & MR_LP_ADV_ASYM_PAUSE) -+ remote_adv |= LPA_PAUSE_ASYM; -+ -+ tg3_setup_flow_control(tp, local_adv, remote_adv); -+ -+ tp->tg3_flags |= -+ TG3_FLAG_GOT_SERDES_FLOWCTL; -+ current_link_up = 1; -+ } -+ for (i = 0; i < 60; i++) { -+ udelay(20); -+ tw32_carefully(MAC_STATUS, -+ (MAC_STATUS_SYNC_CHANGED | MAC_STATUS_CFG_CHANGED)); -+ if ((tr32(MAC_STATUS) & -+ (MAC_STATUS_SYNC_CHANGED | -+ MAC_STATUS_CFG_CHANGED)) == 0) -+ break; -+ } -+ if (current_link_up == 0 && -+ (tr32(MAC_STATUS) & MAC_STATUS_PCS_SYNCED)) { -+ current_link_up = 1; -+ } -+ } else { -+ /* Forcing 1000FD link up. */ -+ current_link_up = 1; -+ } -+ } -+ -+ tp->mac_mode &= ~MAC_MODE_LINK_POLARITY; -+ tw32_carefully(MAC_MODE, tp->mac_mode); -+ -+ tp->hw_status->status = -+ (SD_STATUS_UPDATED | -+ (tp->hw_status->status & ~SD_STATUS_LINK_CHG)); -+ -+ for (i = 0; i < 100; i++) { -+ udelay(20); -+ tw32_carefully(MAC_STATUS, -+ (MAC_STATUS_SYNC_CHANGED | MAC_STATUS_CFG_CHANGED)); -+ if ((tr32(MAC_STATUS) & -+ (MAC_STATUS_SYNC_CHANGED | -+ MAC_STATUS_CFG_CHANGED)) == 0) -+ break; -+ } -+ -+ if ((tr32(MAC_STATUS) & MAC_STATUS_PCS_SYNCED) == 0) -+ current_link_up = 0; -+ -+ if (current_link_up == 1) { -+ tp->link_config.active_speed = SPEED_1000; -+ tp->link_config.active_duplex = DUPLEX_FULL; -+ } else { -+ tp->link_config.active_speed = SPEED_INVALID; -+ tp->link_config.active_duplex = DUPLEX_INVALID; -+ } -+ -+ if (current_link_up != tp->carrier_ok) { -+ tp->carrier_ok = current_link_up; -+ tg3_link_report(tp); -+ } else { -+ uint32_t now_pause_cfg = -+ tp->tg3_flags & (TG3_FLAG_RX_PAUSE | -+ TG3_FLAG_TX_PAUSE); -+ if (orig_pause_cfg != now_pause_cfg || -+ orig_active_speed != tp->link_config.active_speed || -+ orig_active_duplex != tp->link_config.active_duplex) -+ tg3_link_report(tp); -+ } -+ -+ if ((tr32(MAC_STATUS) & MAC_STATUS_PCS_SYNCED) == 0) { -+ tw32_carefully(MAC_MODE, tp->mac_mode | MAC_MODE_LINK_POLARITY); -+ if (tp->tg3_flags & TG3_FLAG_INIT_COMPLETE) { -+ tw32_carefully(MAC_MODE, tp->mac_mode); -+ } -+ } -+ -+ return 0; -+} -+#else -+#define tg3_setup_fiber_phy(TP) (-EINVAL) -+#endif /* SUPPORT_FIBER_PHY */ -+ -+static int tg3_setup_phy(struct tg3 *tp) -+{ -+ int err; -+ -+ if (tp->phy_id == PHY_ID_SERDES) { -+ err = tg3_setup_fiber_phy(tp); -+ } else { -+ err = tg3_setup_copper_phy(tp); -+ } -+ -+ if (tp->link_config.active_speed == SPEED_1000 && -+ tp->link_config.active_duplex == DUPLEX_HALF) -+ tw32(MAC_TX_LENGTHS, -+ ((2 << TX_LENGTHS_IPG_CRS_SHIFT) | -+ (6 << TX_LENGTHS_IPG_SHIFT) | -+ (0xff << TX_LENGTHS_SLOT_TIME_SHIFT))); -+ else -+ tw32(MAC_TX_LENGTHS, -+ ((2 << TX_LENGTHS_IPG_CRS_SHIFT) | -+ (6 << TX_LENGTHS_IPG_SHIFT) | -+ (32 << TX_LENGTHS_SLOT_TIME_SHIFT))); -+ -+ return err; -+} -+ -+ -+#define MAX_WAIT_CNT 1000 -+ -+/* To stop a block, clear the enable bit and poll till it -+ * clears. -+ */ -+static int tg3_stop_block(struct tg3 *tp, unsigned long ofs, uint32_t enable_bit) -+{ -+ unsigned int i; -+ uint32_t val; -+ -+ if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705) { -+ switch(ofs) { -+ case RCVLSC_MODE: -+ case DMAC_MODE: -+ case MBFREE_MODE: -+ case BUFMGR_MODE: -+ case MEMARB_MODE: -+ /* We can't enable/disable these bits of the -+ * 5705, just say success. -+ */ -+ return 0; -+ default: -+ break; -+ } -+ } -+ val = tr32(ofs); -+ val &= ~enable_bit; -+ tw32(ofs, val); -+ tr32(ofs); -+ -+ for (i = 0; i < MAX_WAIT_CNT; i++) { -+ udelay(100); -+ val = tr32(ofs); -+ if ((val & enable_bit) == 0) -+ break; -+ } -+ -+ if (i == MAX_WAIT_CNT) { -+ printf("tg3_stop_block timed out, ofs=%lx enable_bit=%x\n", -+ ofs, enable_bit); -+ return -ENODEV; -+ } -+ -+ return 0; -+} -+ -+static int tg3_abort_hw(struct tg3 *tp) -+{ -+ int i, err; -+ -+ tg3_disable_ints(tp); -+ -+ tp->rx_mode &= ~RX_MODE_ENABLE; -+ tw32_carefully(MAC_RX_MODE, tp->rx_mode); -+ -+ err = tg3_stop_block(tp, RCVBDI_MODE, RCVBDI_MODE_ENABLE); -+ err |= tg3_stop_block(tp, RCVLPC_MODE, RCVLPC_MODE_ENABLE); -+ err |= tg3_stop_block(tp, RCVLSC_MODE, RCVLSC_MODE_ENABLE); -+ err |= tg3_stop_block(tp, RCVDBDI_MODE, RCVDBDI_MODE_ENABLE); -+ err |= tg3_stop_block(tp, RCVDCC_MODE, RCVDCC_MODE_ENABLE); -+ err |= tg3_stop_block(tp, RCVCC_MODE, RCVCC_MODE_ENABLE); -+ -+ err |= tg3_stop_block(tp, SNDBDS_MODE, SNDBDS_MODE_ENABLE); -+ err |= tg3_stop_block(tp, SNDBDI_MODE, SNDBDI_MODE_ENABLE); -+ err |= tg3_stop_block(tp, SNDDATAI_MODE, SNDDATAI_MODE_ENABLE); -+ err |= tg3_stop_block(tp, RDMAC_MODE, RDMAC_MODE_ENABLE); -+ err |= tg3_stop_block(tp, SNDDATAC_MODE, SNDDATAC_MODE_ENABLE); -+ err |= tg3_stop_block(tp, SNDBDC_MODE, SNDBDC_MODE_ENABLE); -+ if (err) -+ goto out; -+ -+ tp->mac_mode &= ~MAC_MODE_TDE_ENABLE; -+ tw32_carefully(MAC_MODE, tp->mac_mode); -+ -+ tp->tx_mode &= ~TX_MODE_ENABLE; -+ tw32_carefully(MAC_TX_MODE, tp->tx_mode); -+ -+ for (i = 0; i < MAX_WAIT_CNT; i++) { -+ udelay(100); -+ if (!(tr32(MAC_TX_MODE) & TX_MODE_ENABLE)) -+ break; -+ } -+ if (i >= MAX_WAIT_CNT) { -+ printf("tg3_abort_hw timed out TX_MODE_ENABLE will not clear MAC_TX_MODE=%x\n", -+ tr32(MAC_TX_MODE)); -+ return -ENODEV; -+ } -+ -+ err = tg3_stop_block(tp, HOSTCC_MODE, HOSTCC_MODE_ENABLE); -+ err |= tg3_stop_block(tp, WDMAC_MODE, WDMAC_MODE_ENABLE); -+ err |= tg3_stop_block(tp, MBFREE_MODE, MBFREE_MODE_ENABLE); -+ -+ tw32(FTQ_RESET, 0xffffffff); -+ tw32(FTQ_RESET, 0x00000000); -+ -+ err |= tg3_stop_block(tp, BUFMGR_MODE, BUFMGR_MODE_ENABLE); -+ err |= tg3_stop_block(tp, MEMARB_MODE, MEMARB_MODE_ENABLE); -+ if (err) -+ goto out; -+ -+ memset(tp->hw_status, 0, TG3_HW_STATUS_SIZE); -+ -+out: -+ return err; -+} -+ -+static void tg3_chip_reset(struct tg3 *tp) -+{ -+ uint32_t val; -+ -+ if (!(tp->tg3_flags2 & TG3_FLG2_SUN_5704)) { -+ /* Force NVRAM to settle. -+ * This deals with a chip bug which can result in EEPROM -+ * corruption. -+ */ -+ if (tp->tg3_flags & TG3_FLAG_NVRAM) { -+ int i; -+ -+ tw32(NVRAM_SWARB, SWARB_REQ_SET1); -+ for (i = 0; i < 100000; i++) { -+ if (tr32(NVRAM_SWARB) & SWARB_GNT1) -+ break; -+ udelay(10); -+ } -+ } -+ } -+ /* In Etherboot we don't need to worry about the 5701 -+ * REG_WRITE_BUG because we do all register writes indirectly. -+ */ -+ -+ /* do the reset */ -+ val = GRC_MISC_CFG_CORECLK_RESET; -+ if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705) -+ val |= GRC_MISC_CFG_KEEP_GPHY_POWER; -+ tw32(GRC_MISC_CFG, val); -+ -+ /* Flush PCI posted writes. The normal MMIO registers -+ * are inaccessible at this time so this is the only -+ * way to make this reliably. I tried to use indirect -+ * register read/write but this upset some 5701 variants. -+ */ -+ pci_read_config_dword(tp->pdev, PCI_COMMAND, &val); -+ -+ udelay(120); -+ -+ /* Re-enable indirect register accesses. */ -+ pci_write_config_dword(tp->pdev, TG3PCI_MISC_HOST_CTRL, -+ tp->misc_host_ctrl); -+ -+ /* Set MAX PCI retry to zero. */ -+ val = (PCISTATE_ROM_ENABLE | PCISTATE_ROM_RETRY_ENABLE); -+ if (tp->pci_chip_rev_id == CHIPREV_ID_5704_A0 && -+ (tp->tg3_flags & TG3_FLAG_PCIX_MODE)) -+ val |= PCISTATE_RETRY_SAME_DMA; -+ pci_write_config_dword(tp->pdev, TG3PCI_PCISTATE, val); -+ -+ pci_restore_state(tp->pdev, tp->pci_cfg_state); -+ -+ /* Make sure PCI-X relaxed ordering bit is clear. */ -+ pci_read_config_dword(tp->pdev, TG3PCI_X_CAPS, &val); -+ val &= ~PCIX_CAPS_RELAXED_ORDERING; -+ pci_write_config_dword(tp->pdev, TG3PCI_X_CAPS, val); -+ -+ tw32(MEMARB_MODE, MEMARB_MODE_ENABLE); -+ -+ if (((tp->nic_sram_data_cfg & NIC_SRAM_DATA_CFG_MINI_PCI) != 0) && -+ (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705)) { -+ tp->pci_clock_ctrl |= -+ (CLOCK_CTRL_FORCE_CLKRUN | CLOCK_CTRL_CLKRUN_OENABLE); -+ tw32(TG3PCI_CLOCK_CTRL, tp->pci_clock_ctrl); -+ } -+ -+ tw32(TG3PCI_MISC_HOST_CTRL, tp->misc_host_ctrl); -+} -+ -+static void tg3_stop_fw(struct tg3 *tp) -+{ -+ if (tp->tg3_flags & TG3_FLAG_ENABLE_ASF) { -+ uint32_t val; -+ int i; -+ -+ tg3_write_mem(NIC_SRAM_FW_CMD_MBOX, FWCMD_NICDRV_PAUSE_FW); -+ val = tr32(GRC_RX_CPU_EVENT); -+ val |= (1 << 14); -+ tw32(GRC_RX_CPU_EVENT, val); -+ -+ /* Wait for RX cpu to ACK the event. */ -+ for (i = 0; i < 100; i++) { -+ if (!(tr32(GRC_RX_CPU_EVENT) & (1 << 14))) -+ break; -+ udelay(1); -+ } -+ } -+} -+ -+static int tg3_restart_fw(struct tg3 *tp, uint32_t state) -+{ -+ uint32_t val; -+ int i; -+ -+ tg3_write_mem(NIC_SRAM_FIRMWARE_MBOX, -+ NIC_SRAM_FIRMWARE_MBOX_MAGIC1); -+ /* Wait for firmware initialization to complete. */ -+ for (i = 0; i < 100000; i++) { -+ tg3_read_mem(NIC_SRAM_FIRMWARE_MBOX, &val); -+ if (val == (uint32_t) ~NIC_SRAM_FIRMWARE_MBOX_MAGIC1) -+ break; -+ udelay(10); -+ } -+ if (i >= 100000 && -+ !(tp->tg3_flags2 & TG3_FLG2_SUN_5704)) { -+ printf("Firmware will not restart magic=%x\n", -+ val); -+ return -ENODEV; -+ } -+ if (!(tp->tg3_flags & TG3_FLAG_ENABLE_ASF)) { -+ state = DRV_STATE_SUSPEND; -+ } -+ tg3_write_mem(NIC_SRAM_FW_DRV_STATE_MBOX, state); -+ return 0; -+} -+ -+static int tg3_halt(struct tg3 *tp) -+{ -+ tg3_stop_fw(tp); -+ tg3_abort_hw(tp); -+ tg3_chip_reset(tp); -+ return tg3_restart_fw(tp, DRV_STATE_UNLOAD); -+} -+ -+static void __tg3_set_mac_addr(struct tg3 *tp) -+{ -+ uint32_t addr_high, addr_low; -+ int i; -+ -+ addr_high = ((tp->nic->node_addr[0] << 8) | -+ tp->nic->node_addr[1]); -+ addr_low = ((tp->nic->node_addr[2] << 24) | -+ (tp->nic->node_addr[3] << 16) | -+ (tp->nic->node_addr[4] << 8) | -+ (tp->nic->node_addr[5] << 0)); -+ for (i = 0; i < 4; i++) { -+ tw32(MAC_ADDR_0_HIGH + (i * 8), addr_high); -+ tw32(MAC_ADDR_0_LOW + (i * 8), addr_low); -+ } -+ -+ if ((GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5700) && -+ (GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5701) && -+ (GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5705)) { -+ for(i = 0; i < 12; i++) { -+ tw32(MAC_EXTADDR_0_HIGH + (i * 8), addr_high); -+ tw32(MAC_EXTADDR_0_LOW + (i * 8), addr_low); -+ } -+ } -+ addr_high = (tp->nic->node_addr[0] + -+ tp->nic->node_addr[1] + -+ tp->nic->node_addr[2] + -+ tp->nic->node_addr[3] + -+ tp->nic->node_addr[4] + -+ tp->nic->node_addr[5]) & -+ TX_BACKOFF_SEED_MASK; -+ tw32(MAC_TX_BACKOFF_SEED, addr_high); -+} -+ -+static void tg3_set_bdinfo(struct tg3 *tp, uint32_t bdinfo_addr, -+ dma_addr_t mapping, uint32_t maxlen_flags, -+ uint32_t nic_addr) -+{ -+ tg3_write_mem((bdinfo_addr + -+ TG3_BDINFO_HOST_ADDR + TG3_64BIT_REG_HIGH), -+ ((uint64_t) mapping >> 32)); -+ tg3_write_mem((bdinfo_addr + -+ TG3_BDINFO_HOST_ADDR + TG3_64BIT_REG_LOW), -+ ((uint64_t) mapping & 0xffffffff)); -+ tg3_write_mem((bdinfo_addr + -+ TG3_BDINFO_MAXLEN_FLAGS), -+ maxlen_flags); -+ if (GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5705) { -+ tg3_write_mem((bdinfo_addr + TG3_BDINFO_NIC_ADDR), nic_addr); -+ } -+} -+ -+ -+static void tg3_init_rings(struct tg3 *tp) -+{ -+ unsigned i; -+ -+ /* Zero out the tg3 variables */ -+ memset(&tg3_bss, 0, sizeof(tg3_bss)); -+ tp->rx_std = &tg3_bss.rx_std[0]; -+ tp->rx_rcb = &tg3_bss.rx_rcb[0]; -+ tp->tx_ring = &tg3_bss.tx_ring[0]; -+ tp->hw_status = &tg3_bss.hw_status; -+ tp->hw_stats = &tg3_bss.hw_stats; -+ tp->mac_mode = 0; -+ -+ -+ /* Initialize tx/rx rings for packet processing. -+ * -+ * The chip has been shut down and the driver detached from -+ * the networking, so no interrupts or new tx packets will -+ * end up in the driver. -+ */ -+ -+ /* Initialize invariants of the rings, we only set this -+ * stuff once. This works because the card does not -+ * write into the rx buffer posting rings. -+ */ -+ for (i = 0; i < TG3_RX_RING_SIZE; i++) { -+ struct tg3_rx_buffer_desc *rxd; -+ -+ rxd = &tp->rx_std[i]; -+ rxd->idx_len = (RX_PKT_BUF_SZ - 2 - 64) << RXD_LEN_SHIFT; -+ rxd->type_flags = (RXD_FLAG_END << RXD_FLAGS_SHIFT); -+ rxd->opaque = (RXD_OPAQUE_RING_STD | (i << RXD_OPAQUE_INDEX_SHIFT)); -+ -+ /* Note where the receive buffer for the ring is placed */ -+ rxd->addr_hi = 0; -+ rxd->addr_lo = virt_to_bus( -+ &tg3_bss.rx_bufs[i%TG3_DEF_RX_RING_PENDING][2]); -+ } -+} -+ -+#define TG3_WRITE_SETTINGS(TABLE) \ -+do { \ -+ const uint32_t *_table, *_end; \ -+ _table = TABLE; \ -+ _end = _table + sizeof(TABLE)/sizeof(TABLE[0]); \ -+ for(; _table < _end; _table += 2) { \ -+ tw32(_table[0], _table[1]); \ -+ } \ -+} while(0) -+ -+ -+/* initialize/reset the tg3 */ -+static int tg3_setup_hw(struct tg3 *tp) -+{ -+ uint32_t val, rdmac_mode; -+ int i, err, limit; -+ -+ /* Simply don't support setups with extremly buggy firmware in etherboot */ -+ if (tp->pci_chip_rev_id == CHIPREV_ID_5701_A0) { -+ printf("Error 5701_A0 firmware bug detected\n"); -+ return -EINVAL; -+ } -+ -+ tg3_disable_ints(tp); -+ -+ /* Originally this was all in tg3_init_hw */ -+ -+ /* Force the chip into D0. */ -+ tg3_set_power_state_0(tp); -+ -+ tg3_switch_clocks(tp); -+ -+ tw32(TG3PCI_MEM_WIN_BASE_ADDR, 0); -+ -+ -+ /* Originally this was all in tg3_reset_hw */ -+ -+ tg3_stop_fw(tp); -+ -+ /* No need to call tg3_abort_hw here, it is called before tg3_setup_hw. */ -+ -+ tg3_chip_reset(tp); -+ -+ tw32(GRC_MODE, tp->grc_mode); /* Redundant? */ -+ -+ err = tg3_restart_fw(tp, DRV_STATE_START); -+ if (err) -+ return err; -+ -+ if (tp->phy_id == PHY_ID_SERDES) { -+ tp->mac_mode = MAC_MODE_PORT_MODE_TBI; -+ } -+ tw32_carefully(MAC_MODE, tp->mac_mode); -+ -+ -+ /* This works around an issue with Athlon chipsets on -+ * B3 tigon3 silicon. This bit has no effect on any -+ * other revision. -+ */ -+ tp->pci_clock_ctrl |= CLOCK_CTRL_DELAY_PCI_GRANT; -+ tw32_carefully(TG3PCI_CLOCK_CTRL, tp->pci_clock_ctrl); -+ -+ if (tp->pci_chip_rev_id == CHIPREV_ID_5704_A0 && -+ (tp->tg3_flags & TG3_FLAG_PCIX_MODE)) { -+ val = tr32(TG3PCI_PCISTATE); -+ val |= PCISTATE_RETRY_SAME_DMA; -+ tw32(TG3PCI_PCISTATE, val); -+ } -+ -+ /* Descriptor ring init may make accesses to the -+ * NIC SRAM area to setup the TX descriptors, so we -+ * can only do this after the hardware has been -+ * successfully reset. -+ */ -+ tg3_init_rings(tp); -+ -+ /* Clear statistics/status block in chip */ -+ if (GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5705) { -+ for (i = NIC_SRAM_STATS_BLK; -+ i < NIC_SRAM_STATUS_BLK + TG3_HW_STATUS_SIZE; -+ i += sizeof(uint32_t)) { -+ tg3_write_mem(i, 0); -+ udelay(40); -+ } -+ } -+ -+ /* This value is determined during the probe time DMA -+ * engine test, tg3_setup_dma. -+ */ -+ tw32(TG3PCI_DMA_RW_CTRL, tp->dma_rwctrl); -+ -+ tp->grc_mode &= ~(GRC_MODE_HOST_SENDBDS | -+ GRC_MODE_4X_NIC_SEND_RINGS | -+ GRC_MODE_NO_TX_PHDR_CSUM | -+ GRC_MODE_NO_RX_PHDR_CSUM); -+ tp->grc_mode |= GRC_MODE_HOST_SENDBDS; -+ tp->grc_mode |= GRC_MODE_NO_TX_PHDR_CSUM; -+ tp->grc_mode |= GRC_MODE_NO_RX_PHDR_CSUM; -+ -+ tw32(GRC_MODE, -+ tp->grc_mode | -+ (GRC_MODE_IRQ_ON_MAC_ATTN | GRC_MODE_HOST_STACKUP)); -+ -+ /* Setup the timer prescalar register. Clock is always 66Mhz. */ -+ tw32(GRC_MISC_CFG, -+ (65 << GRC_MISC_CFG_PRESCALAR_SHIFT)); -+ -+ /* Initialize MBUF/DESC pool. */ -+ if (GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5705) { -+ tw32(BUFMGR_MB_POOL_ADDR, NIC_SRAM_MBUF_POOL_BASE); -+ if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5704) -+ tw32(BUFMGR_MB_POOL_SIZE, NIC_SRAM_MBUF_POOL_SIZE64); -+ else -+ tw32(BUFMGR_MB_POOL_SIZE, NIC_SRAM_MBUF_POOL_SIZE96); -+ tw32(BUFMGR_DMA_DESC_POOL_ADDR, NIC_SRAM_DMA_DESC_POOL_BASE); -+ tw32(BUFMGR_DMA_DESC_POOL_SIZE, NIC_SRAM_DMA_DESC_POOL_SIZE); -+ } -+ if (!(tp->tg3_flags & TG3_FLAG_JUMBO_ENABLE)) { -+ tw32(BUFMGR_MB_RDMA_LOW_WATER, -+ tp->bufmgr_config.mbuf_read_dma_low_water); -+ tw32(BUFMGR_MB_MACRX_LOW_WATER, -+ tp->bufmgr_config.mbuf_mac_rx_low_water); -+ tw32(BUFMGR_MB_HIGH_WATER, -+ tp->bufmgr_config.mbuf_high_water); -+ } else { -+ tw32(BUFMGR_MB_RDMA_LOW_WATER, -+ tp->bufmgr_config.mbuf_read_dma_low_water_jumbo); -+ tw32(BUFMGR_MB_MACRX_LOW_WATER, -+ tp->bufmgr_config.mbuf_mac_rx_low_water_jumbo); -+ tw32(BUFMGR_MB_HIGH_WATER, -+ tp->bufmgr_config.mbuf_high_water_jumbo); -+ } -+ tw32(BUFMGR_DMA_LOW_WATER, -+ tp->bufmgr_config.dma_low_water); -+ tw32(BUFMGR_DMA_HIGH_WATER, -+ tp->bufmgr_config.dma_high_water); -+ -+ tw32(BUFMGR_MODE, BUFMGR_MODE_ENABLE | BUFMGR_MODE_ATTN_ENABLE); -+ for (i = 0; i < 2000; i++) { -+ if (tr32(BUFMGR_MODE) & BUFMGR_MODE_ENABLE) -+ break; -+ udelay(10); -+ } -+ if (i >= 2000) { -+ printf("tg3_setup_hw cannot enable BUFMGR\n"); -+ return -ENODEV; -+ } -+ -+ tw32(FTQ_RESET, 0xffffffff); -+ tw32(FTQ_RESET, 0x00000000); -+ for (i = 0; i < 2000; i++) { -+ if (tr32(FTQ_RESET) == 0x00000000) -+ break; -+ udelay(10); -+ } -+ if (i >= 2000) { -+ printf("tg3_setup_hw cannot reset FTQ\n"); -+ return -ENODEV; -+ } -+ -+ /* Initialize TG3_BDINFO's at: -+ * RCVDBDI_STD_BD: standard eth size rx ring -+ * RCVDBDI_JUMBO_BD: jumbo frame rx ring -+ * RCVDBDI_MINI_BD: small frame rx ring (??? does not work) -+ * -+ * like so: -+ * TG3_BDINFO_HOST_ADDR: high/low parts of DMA address of ring -+ * TG3_BDINFO_MAXLEN_FLAGS: (rx max buffer size << 16) | -+ * ring attribute flags -+ * TG3_BDINFO_NIC_ADDR: location of descriptors in nic SRAM -+ * -+ * Standard receive ring @ NIC_SRAM_RX_BUFFER_DESC, 512 entries. -+ * Jumbo receive ring @ NIC_SRAM_RX_JUMBO_BUFFER_DESC, 256 entries. -+ * -+ * ??? No space allocated for mini receive ring? :( -+ * -+ * The size of each ring is fixed in the firmware, but the location is -+ * configurable. -+ */ -+ { -+ static const uint32_t table_all[] = { -+ /* Setup replenish thresholds. */ -+ RCVBDI_STD_THRESH, TG3_DEF_RX_RING_PENDING / 8, -+ -+ /* Etherboot lives below 4GB */ -+ RCVDBDI_STD_BD + TG3_BDINFO_HOST_ADDR + TG3_64BIT_REG_HIGH, 0, -+ RCVDBDI_STD_BD + TG3_BDINFO_NIC_ADDR, NIC_SRAM_RX_BUFFER_DESC, -+ }; -+ static const uint32_t table_not_5705[] = { -+ /* Buffer maximum length */ -+ RCVDBDI_STD_BD + TG3_BDINFO_MAXLEN_FLAGS, RX_STD_MAX_SIZE << BDINFO_FLAGS_MAXLEN_SHIFT, -+ -+ /* Disable the mini frame rx ring */ -+ RCVDBDI_MINI_BD + TG3_BDINFO_MAXLEN_FLAGS, BDINFO_FLAGS_DISABLED, -+ -+ /* Disable the jumbo frame rx ring */ -+ RCVBDI_JUMBO_THRESH, 0, -+ RCVDBDI_JUMBO_BD + TG3_BDINFO_MAXLEN_FLAGS, BDINFO_FLAGS_DISABLED, -+ -+ -+ }; -+ TG3_WRITE_SETTINGS(table_all); -+ tw32(RCVDBDI_STD_BD + TG3_BDINFO_HOST_ADDR + TG3_64BIT_REG_LOW, -+ virt_to_bus(tp->rx_std)); -+ if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705) { -+ tw32(RCVDBDI_STD_BD + TG3_BDINFO_MAXLEN_FLAGS, -+ RX_STD_MAX_SIZE_5705 << BDINFO_FLAGS_MAXLEN_SHIFT); -+ } else { -+ TG3_WRITE_SETTINGS(table_not_5705); -+ } -+ } -+ -+ -+ /* There is only one send ring on 5705, no need to explicitly -+ * disable the others. -+ */ -+ if (GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5705) { -+ /* Clear out send RCB ring in SRAM. */ -+ for (i = NIC_SRAM_SEND_RCB; i < NIC_SRAM_RCV_RET_RCB; i += TG3_BDINFO_SIZE) -+ tg3_write_mem(i + TG3_BDINFO_MAXLEN_FLAGS, BDINFO_FLAGS_DISABLED); -+ } -+ -+ tp->tx_prod = 0; -+ tw32_mailbox(MAILBOX_SNDHOST_PROD_IDX_0 + TG3_64BIT_REG_LOW, 0); -+ tw32_mailbox2(MAILBOX_SNDNIC_PROD_IDX_0 + TG3_64BIT_REG_LOW, 0); -+ -+ tg3_set_bdinfo(tp, -+ NIC_SRAM_SEND_RCB, -+ virt_to_bus(tp->tx_ring), -+ (TG3_TX_RING_SIZE << BDINFO_FLAGS_MAXLEN_SHIFT), -+ NIC_SRAM_TX_BUFFER_DESC); -+ -+ /* There is only one receive return ring on 5705, no need to explicitly -+ * disable the others. -+ */ -+ if (GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5705) { -+ for (i = NIC_SRAM_RCV_RET_RCB; i < NIC_SRAM_STATS_BLK; i += TG3_BDINFO_SIZE) { -+ tg3_write_mem(i + TG3_BDINFO_MAXLEN_FLAGS, -+ BDINFO_FLAGS_DISABLED); -+ } -+ } -+ -+ tp->rx_rcb_ptr = 0; -+ tw32_mailbox2(MAILBOX_RCVRET_CON_IDX_0 + TG3_64BIT_REG_LOW, 0); -+ -+ tg3_set_bdinfo(tp, -+ NIC_SRAM_RCV_RET_RCB, -+ virt_to_bus(tp->rx_rcb), -+ (TG3_RX_RCB_RING_SIZE << BDINFO_FLAGS_MAXLEN_SHIFT), -+ 0); -+ -+ tp->rx_std_ptr = TG3_DEF_RX_RING_PENDING; -+ tw32_mailbox2(MAILBOX_RCV_STD_PROD_IDX + TG3_64BIT_REG_LOW, -+ tp->rx_std_ptr); -+ -+ tw32_mailbox2(MAILBOX_RCV_JUMBO_PROD_IDX + TG3_64BIT_REG_LOW, 0); -+ -+ /* Initialize MAC address and backoff seed. */ -+ __tg3_set_mac_addr(tp); -+ -+ /* Calculate RDMAC_MODE setting early, we need it to determine -+ * the RCVLPC_STATE_ENABLE mask. -+ */ -+ rdmac_mode = (RDMAC_MODE_ENABLE | RDMAC_MODE_TGTABORT_ENAB | -+ RDMAC_MODE_MSTABORT_ENAB | RDMAC_MODE_PARITYERR_ENAB | -+ RDMAC_MODE_ADDROFLOW_ENAB | RDMAC_MODE_FIFOOFLOW_ENAB | -+ RDMAC_MODE_FIFOURUN_ENAB | RDMAC_MODE_FIFOOREAD_ENAB | -+ RDMAC_MODE_LNGREAD_ENAB); -+ if (tp->tg3_flags & TG3_FLAG_SPLIT_MODE) -+ rdmac_mode |= RDMAC_MODE_SPLIT_ENABLE; -+ if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705) { -+ if (tp->pci_chip_rev_id != CHIPREV_ID_5705_A0) { -+ if (!(tr32(TG3PCI_PCISTATE) & PCISTATE_BUS_SPEED_HIGH) && -+ !(tp->tg3_flags2 & TG3_FLG2_IS_5788)) { -+ rdmac_mode |= RDMAC_MODE_FIFO_LONG_BURST; -+ } -+ } -+ } -+ -+ /* Setup host coalescing engine. */ -+ tw32(HOSTCC_MODE, 0); -+ for (i = 0; i < 2000; i++) { -+ if (!(tr32(HOSTCC_MODE) & HOSTCC_MODE_ENABLE)) -+ break; -+ udelay(10); -+ } -+ -+ tp->mac_mode = MAC_MODE_TXSTAT_ENABLE | MAC_MODE_RXSTAT_ENABLE | -+ MAC_MODE_TDE_ENABLE | MAC_MODE_RDE_ENABLE | MAC_MODE_FHDE_ENABLE; -+ tw32_carefully(MAC_MODE, tp->mac_mode | MAC_MODE_RXSTAT_CLEAR | MAC_MODE_TXSTAT_CLEAR); -+ -+ tp->grc_local_ctrl = GRC_LCLCTRL_INT_ON_ATTN | GRC_LCLCTRL_AUTO_SEEPROM; -+ if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5700) -+ tp->grc_local_ctrl |= (GRC_LCLCTRL_GPIO_OE1 | -+ GRC_LCLCTRL_GPIO_OUTPUT1); -+ tw32_carefully(GRC_LOCAL_CTRL, tp->grc_local_ctrl); -+ -+ tw32_mailbox(MAILBOX_INTERRUPT_0 + TG3_64BIT_REG_LOW, 0); -+ tr32(MAILBOX_INTERRUPT_0); -+ -+ if (GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5705) { -+ tw32_carefully(DMAC_MODE, DMAC_MODE_ENABLE); -+ } -+ -+ val = ( WDMAC_MODE_ENABLE | WDMAC_MODE_TGTABORT_ENAB | -+ WDMAC_MODE_MSTABORT_ENAB | WDMAC_MODE_PARITYERR_ENAB | -+ WDMAC_MODE_ADDROFLOW_ENAB | WDMAC_MODE_FIFOOFLOW_ENAB | -+ WDMAC_MODE_FIFOURUN_ENAB | WDMAC_MODE_FIFOOREAD_ENAB | -+ WDMAC_MODE_LNGREAD_ENAB); -+ if ((GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5705) && -+ ((tr32(TG3PCI_PCISTATE) & PCISTATE_BUS_SPEED_HIGH) != 0) && -+ !(tp->tg3_flags2 & TG3_FLG2_IS_5788)) { -+ val |= WDMAC_MODE_RX_ACCEL; -+ } -+ tw32_carefully(WDMAC_MODE, val); -+ -+ if ((tp->tg3_flags & TG3_FLAG_PCIX_MODE) != 0) { -+ val = tr32(TG3PCI_X_CAPS); -+ if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5703) { -+ val &= PCIX_CAPS_BURST_MASK; -+ val |= (PCIX_CAPS_MAX_BURST_CPIOB << PCIX_CAPS_BURST_SHIFT); -+ } else if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5704) { -+ val &= ~(PCIX_CAPS_SPLIT_MASK | PCIX_CAPS_BURST_MASK); -+ val |= (PCIX_CAPS_MAX_BURST_CPIOB << PCIX_CAPS_BURST_SHIFT); -+ if (tp->tg3_flags & TG3_FLAG_SPLIT_MODE) -+ val |= (tp->split_mode_max_reqs << -+ PCIX_CAPS_SPLIT_SHIFT); -+ } -+ tw32(TG3PCI_X_CAPS, val); -+ } -+ -+ tw32_carefully(RDMAC_MODE, rdmac_mode); -+ { -+ static const uint32_t table_all[] = { -+ /* MTU + ethernet header + FCS + optional VLAN tag */ -+ MAC_RX_MTU_SIZE, ETH_MAX_MTU + ETH_HLEN + 8, -+ -+ /* The slot time is changed by tg3_setup_phy if we -+ * run at gigabit with half duplex. -+ */ -+ MAC_TX_LENGTHS, -+ (2 << TX_LENGTHS_IPG_CRS_SHIFT) | -+ (6 << TX_LENGTHS_IPG_SHIFT) | -+ (32 << TX_LENGTHS_SLOT_TIME_SHIFT), -+ -+ /* Receive rules. */ -+ MAC_RCV_RULE_CFG, RCV_RULE_CFG_DEFAULT_CLASS, -+ RCVLPC_CONFIG, 0x0181, -+ -+ /* Receive/send statistics. */ -+ RCVLPC_STATS_ENABLE, 0xffffff, -+ RCVLPC_STATSCTRL, RCVLPC_STATSCTRL_ENABLE, -+ SNDDATAI_STATSENAB, 0xffffff, -+ SNDDATAI_STATSCTRL, (SNDDATAI_SCTRL_ENABLE |SNDDATAI_SCTRL_FASTUPD), -+ -+ /* Host coalescing engine */ -+ HOSTCC_RXCOL_TICKS, 0, -+ HOSTCC_TXCOL_TICKS, LOW_TXCOL_TICKS, -+ HOSTCC_RXMAX_FRAMES, 1, -+ HOSTCC_TXMAX_FRAMES, LOW_RXMAX_FRAMES, -+ HOSTCC_RXCOAL_MAXF_INT, 1, -+ HOSTCC_TXCOAL_MAXF_INT, 0, -+ -+ /* Status/statistics block address. */ -+ /* Etherboot lives below 4GB, so HIGH == 0 */ -+ HOSTCC_STATUS_BLK_HOST_ADDR + TG3_64BIT_REG_HIGH, 0, -+ -+ /* No need to enable 32byte coalesce mode. */ -+ HOSTCC_MODE, HOSTCC_MODE_ENABLE | 0, -+ -+ RCVCC_MODE, RCVCC_MODE_ENABLE | RCVCC_MODE_ATTN_ENABLE, -+ RCVLPC_MODE, RCVLPC_MODE_ENABLE, -+ -+ RCVDCC_MODE, RCVDCC_MODE_ENABLE | RCVDCC_MODE_ATTN_ENABLE, -+ -+ SNDDATAC_MODE, SNDDATAC_MODE_ENABLE, -+ SNDBDC_MODE, SNDBDC_MODE_ENABLE | SNDBDC_MODE_ATTN_ENABLE, -+ RCVBDI_MODE, RCVBDI_MODE_ENABLE | RCVBDI_MODE_RCB_ATTN_ENAB, -+ RCVDBDI_MODE, RCVDBDI_MODE_ENABLE | RCVDBDI_MODE_INV_RING_SZ, -+ SNDDATAI_MODE, SNDDATAI_MODE_ENABLE, -+ SNDBDI_MODE, SNDBDI_MODE_ENABLE | SNDBDI_MODE_ATTN_ENABLE, -+ SNDBDS_MODE, SNDBDS_MODE_ENABLE | SNDBDS_MODE_ATTN_ENABLE, -+ -+ /* Accept all multicast frames. */ -+ MAC_HASH_REG_0, 0xffffffff, -+ MAC_HASH_REG_1, 0xffffffff, -+ MAC_HASH_REG_2, 0xffffffff, -+ MAC_HASH_REG_3, 0xffffffff, -+ }; -+ static const uint32_t table_not_5705[] = { -+ /* Host coalescing engine */ -+ HOSTCC_RXCOAL_TICK_INT, 0, -+ HOSTCC_TXCOAL_TICK_INT, 0, -+ -+ /* Status/statistics block address. */ -+ /* Etherboot lives below 4GB, so HIGH == 0 */ -+ HOSTCC_STAT_COAL_TICKS, DEFAULT_STAT_COAL_TICKS, -+ HOSTCC_STATS_BLK_HOST_ADDR + TG3_64BIT_REG_HIGH, 0, -+ HOSTCC_STATS_BLK_NIC_ADDR, NIC_SRAM_STATS_BLK, -+ HOSTCC_STATUS_BLK_NIC_ADDR, NIC_SRAM_STATUS_BLK, -+ -+ RCVLSC_MODE, RCVLSC_MODE_ENABLE | RCVLSC_MODE_ATTN_ENABLE, -+ -+ MBFREE_MODE, MBFREE_MODE_ENABLE, -+ }; -+ TG3_WRITE_SETTINGS(table_all); -+ tw32(HOSTCC_STATS_BLK_HOST_ADDR + TG3_64BIT_REG_LOW, -+ virt_to_bus(tp->hw_stats)); -+ tw32(HOSTCC_STATUS_BLK_HOST_ADDR + TG3_64BIT_REG_LOW, -+ virt_to_bus(tp->hw_status)); -+ if (GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5705) { -+ TG3_WRITE_SETTINGS(table_not_5705); -+ } -+ } -+ -+ tp->tx_mode = TX_MODE_ENABLE; -+ tw32_carefully(MAC_TX_MODE, tp->tx_mode); -+ -+ tp->rx_mode = RX_MODE_ENABLE; -+ tw32_carefully(MAC_RX_MODE, tp->rx_mode); -+ -+ tp->mi_mode = MAC_MI_MODE_BASE; -+ tw32_carefully(MAC_MI_MODE, tp->mi_mode); -+ -+ tw32(MAC_LED_CTRL, 0); -+ tw32(MAC_MI_STAT, MAC_MI_STAT_LNKSTAT_ATTN_ENAB); -+ if (tp->phy_id == PHY_ID_SERDES) { -+ tw32_carefully(MAC_RX_MODE, RX_MODE_RESET); -+ } -+ tp->rx_mode |= RX_MODE_KEEP_VLAN_TAG; /* drop tagged vlan packets */ -+ tw32_carefully(MAC_RX_MODE, tp->rx_mode); -+ -+ if (tp->pci_chip_rev_id == CHIPREV_ID_5703_A1) -+ tw32(MAC_SERDES_CFG, 0x616000); -+ -+ /* Prevent chip from dropping frames when flow control -+ * is enabled. -+ */ -+ tw32(MAC_LOW_WMARK_MAX_RX_FRAME, 2); -+ tr32(MAC_LOW_WMARK_MAX_RX_FRAME); -+ -+ err = tg3_setup_phy(tp); -+ -+ /* Ignore CRC stats */ -+ -+ /* Initialize receive rules. */ -+ tw32(MAC_RCV_RULE_0, 0xc2000000 & RCV_RULE_DISABLE_MASK); -+ tw32(MAC_RCV_VALUE_0, 0xffffffff & RCV_RULE_DISABLE_MASK); -+ tw32(MAC_RCV_RULE_1, 0x86000004 & RCV_RULE_DISABLE_MASK); -+ tw32(MAC_RCV_VALUE_1, 0xffffffff & RCV_RULE_DISABLE_MASK); -+ -+ if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705) -+ limit = 8; -+ else -+ limit = 16; -+ if (tp->tg3_flags & TG3_FLAG_ENABLE_ASF) -+ limit -= 4; -+ switch (limit) { -+ case 16: tw32(MAC_RCV_RULE_15, 0); tw32(MAC_RCV_VALUE_15, 0); -+ case 15: tw32(MAC_RCV_RULE_14, 0); tw32(MAC_RCV_VALUE_14, 0); -+ case 14: tw32(MAC_RCV_RULE_13, 0); tw32(MAC_RCV_VALUE_13, 0); -+ case 13: tw32(MAC_RCV_RULE_12, 0); tw32(MAC_RCV_VALUE_12, 0); -+ case 12: tw32(MAC_RCV_RULE_11, 0); tw32(MAC_RCV_VALUE_11, 0); -+ case 11: tw32(MAC_RCV_RULE_10, 0); tw32(MAC_RCV_VALUE_10, 0); -+ case 10: tw32(MAC_RCV_RULE_9, 0); tw32(MAC_RCV_VALUE_9, 0); -+ case 9: tw32(MAC_RCV_RULE_8, 0); tw32(MAC_RCV_VALUE_8, 0); -+ case 8: tw32(MAC_RCV_RULE_7, 0); tw32(MAC_RCV_VALUE_7, 0); -+ case 7: tw32(MAC_RCV_RULE_6, 0); tw32(MAC_RCV_VALUE_6, 0); -+ case 6: tw32(MAC_RCV_RULE_5, 0); tw32(MAC_RCV_VALUE_5, 0); -+ case 5: tw32(MAC_RCV_RULE_4, 0); tw32(MAC_RCV_VALUE_4, 0); -+ case 4: /* tw32(MAC_RCV_RULE_3, 0); tw32(MAC_RCV_VALUE_3, 0); */ -+ case 3: /* tw32(MAC_RCV_RULE_2, 0); tw32(MAC_RCV_VALUE_2, 0); */ -+ case 2: -+ case 1: -+ default: -+ break; -+ }; -+ -+ return err; -+} -+ -+ -+ -+/* Chips other than 5700/5701 use the NVRAM for fetching info. */ -+static void tg3_nvram_init(struct tg3 *tp) -+{ -+ tw32(GRC_EEPROM_ADDR, -+ (EEPROM_ADDR_FSM_RESET | -+ (EEPROM_DEFAULT_CLOCK_PERIOD << -+ EEPROM_ADDR_CLKPERD_SHIFT))); -+ -+ mdelay(1); -+ -+ /* Enable seeprom accesses. */ -+ tw32_carefully(GRC_LOCAL_CTRL, -+ tr32(GRC_LOCAL_CTRL) | GRC_LCLCTRL_AUTO_SEEPROM); -+ -+ if (GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5700 && -+ GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5701) { -+ uint32_t nvcfg1 = tr32(NVRAM_CFG1); -+ -+ tp->tg3_flags |= TG3_FLAG_NVRAM; -+ if (nvcfg1 & NVRAM_CFG1_FLASHIF_ENAB) { -+ if (nvcfg1 & NVRAM_CFG1_BUFFERED_MODE) -+ tp->tg3_flags |= TG3_FLAG_NVRAM_BUFFERED; -+ } else { -+ nvcfg1 &= ~NVRAM_CFG1_COMPAT_BYPASS; -+ tw32(NVRAM_CFG1, nvcfg1); -+ } -+ -+ } else { -+ tp->tg3_flags &= ~(TG3_FLAG_NVRAM | TG3_FLAG_NVRAM_BUFFERED); -+ } -+} -+ -+ -+static int tg3_nvram_read_using_eeprom( -+ struct tg3 *tp __unused, uint32_t offset, uint32_t *val) -+{ -+ uint32_t tmp; -+ int i; -+ -+ if (offset > EEPROM_ADDR_ADDR_MASK || -+ (offset % 4) != 0) { -+ return -EINVAL; -+ } -+ -+ tmp = tr32(GRC_EEPROM_ADDR) & ~(EEPROM_ADDR_ADDR_MASK | -+ EEPROM_ADDR_DEVID_MASK | -+ EEPROM_ADDR_READ); -+ tw32(GRC_EEPROM_ADDR, -+ tmp | -+ (0 << EEPROM_ADDR_DEVID_SHIFT) | -+ ((offset << EEPROM_ADDR_ADDR_SHIFT) & -+ EEPROM_ADDR_ADDR_MASK) | -+ EEPROM_ADDR_READ | EEPROM_ADDR_START); -+ -+ for (i = 0; i < 10000; i++) { -+ tmp = tr32(GRC_EEPROM_ADDR); -+ -+ if (tmp & EEPROM_ADDR_COMPLETE) -+ break; -+ udelay(100); -+ } -+ if (!(tmp & EEPROM_ADDR_COMPLETE)) { -+ return -EBUSY; -+ } -+ -+ *val = tr32(GRC_EEPROM_DATA); -+ return 0; -+} -+ -+static int tg3_nvram_read(struct tg3 *tp, uint32_t offset, uint32_t *val) -+{ -+ int i, saw_done_clear; -+ -+ if (!(tp->tg3_flags & TG3_FLAG_NVRAM)) -+ return tg3_nvram_read_using_eeprom(tp, offset, val); -+ -+ if (tp->tg3_flags & TG3_FLAG_NVRAM_BUFFERED) -+ offset = ((offset / NVRAM_BUFFERED_PAGE_SIZE) << -+ NVRAM_BUFFERED_PAGE_POS) + -+ (offset % NVRAM_BUFFERED_PAGE_SIZE); -+ -+ if (offset > NVRAM_ADDR_MSK) -+ return -EINVAL; -+ -+ tw32(NVRAM_SWARB, SWARB_REQ_SET1); -+ for (i = 0; i < 1000; i++) { -+ if (tr32(NVRAM_SWARB) & SWARB_GNT1) -+ break; -+ udelay(20); -+ } -+ -+ tw32(NVRAM_ADDR, offset); -+ tw32(NVRAM_CMD, -+ NVRAM_CMD_RD | NVRAM_CMD_GO | -+ NVRAM_CMD_FIRST | NVRAM_CMD_LAST | NVRAM_CMD_DONE); -+ -+ /* Wait for done bit to clear then set again. */ -+ saw_done_clear = 0; -+ for (i = 0; i < 1000; i++) { -+ udelay(10); -+ if (!saw_done_clear && -+ !(tr32(NVRAM_CMD) & NVRAM_CMD_DONE)) -+ saw_done_clear = 1; -+ else if (saw_done_clear && -+ (tr32(NVRAM_CMD) & NVRAM_CMD_DONE)) -+ break; -+ } -+ if (i >= 1000) { -+ tw32(NVRAM_SWARB, SWARB_REQ_CLR1); -+ return -EBUSY; -+ } -+ -+ *val = bswap_32(tr32(NVRAM_RDDATA)); -+ tw32(NVRAM_SWARB, 0x20); -+ -+ return 0; -+} -+ -+struct subsys_tbl_ent { -+ uint16_t subsys_vendor, subsys_devid; -+ uint32_t phy_id; -+}; -+ -+static struct subsys_tbl_ent subsys_id_to_phy_id[] = { -+ /* Broadcom boards. */ -+ { 0x14e4, 0x1644, PHY_ID_BCM5401 }, /* BCM95700A6 */ -+ { 0x14e4, 0x0001, PHY_ID_BCM5701 }, /* BCM95701A5 */ -+ { 0x14e4, 0x0002, PHY_ID_BCM8002 }, /* BCM95700T6 */ -+ { 0x14e4, 0x0003, PHY_ID_SERDES }, /* BCM95700A9 */ -+ { 0x14e4, 0x0005, PHY_ID_BCM5701 }, /* BCM95701T1 */ -+ { 0x14e4, 0x0006, PHY_ID_BCM5701 }, /* BCM95701T8 */ -+ { 0x14e4, 0x0007, PHY_ID_SERDES }, /* BCM95701A7 */ -+ { 0x14e4, 0x0008, PHY_ID_BCM5701 }, /* BCM95701A10 */ -+ { 0x14e4, 0x8008, PHY_ID_BCM5701 }, /* BCM95701A12 */ -+ { 0x14e4, 0x0009, PHY_ID_BCM5701 }, /* BCM95703Ax1 */ -+ { 0x14e4, 0x8009, PHY_ID_BCM5701 }, /* BCM95703Ax2 */ -+ -+ /* 3com boards. */ -+ { PCI_VENDOR_ID_3COM, 0x1000, PHY_ID_BCM5401 }, /* 3C996T */ -+ { PCI_VENDOR_ID_3COM, 0x1006, PHY_ID_BCM5701 }, /* 3C996BT */ -+ /* { PCI_VENDOR_ID_3COM, 0x1002, PHY_ID_XXX }, 3C996CT */ -+ /* { PCI_VENDOR_ID_3COM, 0x1003, PHY_ID_XXX }, 3C997T */ -+ { PCI_VENDOR_ID_3COM, 0x1004, PHY_ID_SERDES }, /* 3C996SX */ -+ /* { PCI_VENDOR_ID_3COM, 0x1005, PHY_ID_XXX }, 3C997SZ */ -+ { PCI_VENDOR_ID_3COM, 0x1007, PHY_ID_BCM5701 }, /* 3C1000T */ -+ { PCI_VENDOR_ID_3COM, 0x1008, PHY_ID_BCM5701 }, /* 3C940BR01 */ -+ -+ /* DELL boards. */ -+ { PCI_VENDOR_ID_DELL, 0x00d1, PHY_ID_BCM5401 }, /* VIPER */ -+ { PCI_VENDOR_ID_DELL, 0x0106, PHY_ID_BCM5401 }, /* JAGUAR */ -+ { PCI_VENDOR_ID_DELL, 0x0109, PHY_ID_BCM5411 }, /* MERLOT */ -+ { PCI_VENDOR_ID_DELL, 0x010a, PHY_ID_BCM5411 }, /* SLIM_MERLOT */ -+ -+ /* Compaq boards. */ -+ { PCI_VENDOR_ID_COMPAQ, 0x007c, PHY_ID_BCM5701 }, /* BANSHEE */ -+ { PCI_VENDOR_ID_COMPAQ, 0x009a, PHY_ID_BCM5701 }, /* BANSHEE_2 */ -+ { PCI_VENDOR_ID_COMPAQ, 0x007d, PHY_ID_SERDES }, /* CHANGELING */ -+ { PCI_VENDOR_ID_COMPAQ, 0x0085, PHY_ID_BCM5701 }, /* NC7780 */ -+ { PCI_VENDOR_ID_COMPAQ, 0x0099, PHY_ID_BCM5701 } /* NC7780_2 */ -+}; -+ -+static int tg3_phy_probe(struct tg3 *tp) -+{ -+ uint32_t eeprom_phy_id, hw_phy_id_1, hw_phy_id_2; -+ uint32_t hw_phy_id, hw_phy_id_masked; -+ enum phy_led_mode eeprom_led_mode; -+ uint32_t val; -+ unsigned i; -+ int eeprom_signature_found, err; -+ -+ tp->phy_id = PHY_ID_INVALID; -+ -+ for (i = 0; i < sizeof(subsys_id_to_phy_id)/sizeof(subsys_id_to_phy_id[0]); i++) { -+ if ((subsys_id_to_phy_id[i].subsys_vendor == tp->subsystem_vendor) && -+ (subsys_id_to_phy_id[i].subsys_devid == tp->subsystem_device)) { -+ tp->phy_id = subsys_id_to_phy_id[i].phy_id; -+ break; -+ } -+ } -+ -+ eeprom_phy_id = PHY_ID_INVALID; -+ eeprom_led_mode = led_mode_auto; -+ eeprom_signature_found = 0; -+ tg3_read_mem(NIC_SRAM_DATA_SIG, &val); -+ if (val == NIC_SRAM_DATA_SIG_MAGIC) { -+ uint32_t nic_cfg; -+ -+ tg3_read_mem(NIC_SRAM_DATA_CFG, &nic_cfg); -+ tp->nic_sram_data_cfg = nic_cfg; -+ -+ eeprom_signature_found = 1; -+ -+ if ((nic_cfg & NIC_SRAM_DATA_CFG_PHY_TYPE_MASK) == -+ NIC_SRAM_DATA_CFG_PHY_TYPE_FIBER) { -+ eeprom_phy_id = PHY_ID_SERDES; -+ } else { -+ uint32_t nic_phy_id; -+ -+ tg3_read_mem(NIC_SRAM_DATA_PHY_ID, &nic_phy_id); -+ if (nic_phy_id != 0) { -+ uint32_t id1 = nic_phy_id & NIC_SRAM_DATA_PHY_ID1_MASK; -+ uint32_t id2 = nic_phy_id & NIC_SRAM_DATA_PHY_ID2_MASK; -+ -+ eeprom_phy_id = (id1 >> 16) << 10; -+ eeprom_phy_id |= (id2 & 0xfc00) << 16; -+ eeprom_phy_id |= (id2 & 0x03ff) << 0; -+ } -+ } -+ -+ switch (nic_cfg & NIC_SRAM_DATA_CFG_LED_MODE_MASK) { -+ case NIC_SRAM_DATA_CFG_LED_TRIPLE_SPD: -+ eeprom_led_mode = led_mode_three_link; -+ break; -+ -+ case NIC_SRAM_DATA_CFG_LED_LINK_SPD: -+ eeprom_led_mode = led_mode_link10; -+ break; -+ -+ default: -+ eeprom_led_mode = led_mode_auto; -+ break; -+ }; -+ if (((GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5703) || -+ (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5704) || -+ (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705)) && -+ (nic_cfg & NIC_SRAM_DATA_CFG_EEPROM_WP)) { -+ tp->tg3_flags |= TG3_FLAG_EEPROM_WRITE_PROT; -+ } -+ -+ if (nic_cfg & NIC_SRAM_DATA_CFG_ASF_ENABLE) -+ tp->tg3_flags |= TG3_FLAG_ENABLE_ASF; -+ if (nic_cfg & NIC_SRAM_DATA_CFG_FIBER_WOL) -+ tp->tg3_flags |= TG3_FLAG_SERDES_WOL_CAP; -+ } -+ -+ /* Now read the physical PHY_ID from the chip and verify -+ * that it is sane. If it doesn't look good, we fall back -+ * to either the hard-coded table based PHY_ID and failing -+ * that the value found in the eeprom area. -+ */ -+ err = tg3_readphy(tp, MII_PHYSID1, &hw_phy_id_1); -+ err |= tg3_readphy(tp, MII_PHYSID2, &hw_phy_id_2); -+ -+ hw_phy_id = (hw_phy_id_1 & 0xffff) << 10; -+ hw_phy_id |= (hw_phy_id_2 & 0xfc00) << 16; -+ hw_phy_id |= (hw_phy_id_2 & 0x03ff) << 0; -+ -+ hw_phy_id_masked = hw_phy_id & PHY_ID_MASK; -+ -+ if (!err && KNOWN_PHY_ID(hw_phy_id_masked)) { -+ tp->phy_id = hw_phy_id; -+ } else { -+ /* phy_id currently holds the value found in the -+ * subsys_id_to_phy_id[] table or PHY_ID_INVALID -+ * if a match was not found there. -+ */ -+ if (tp->phy_id == PHY_ID_INVALID) { -+ if (!eeprom_signature_found || -+ !KNOWN_PHY_ID(eeprom_phy_id & PHY_ID_MASK)) -+ return -ENODEV; -+ tp->phy_id = eeprom_phy_id; -+ } -+ } -+ -+ err = tg3_phy_reset(tp); -+ if (err) -+ return err; -+ -+ if (tp->pci_chip_rev_id == CHIPREV_ID_5701_A0 || -+ tp->pci_chip_rev_id == CHIPREV_ID_5701_B0) { -+ uint32_t mii_tg3_ctrl; -+ -+ /* These chips, when reset, only advertise 10Mb -+ * capabilities. Fix that. -+ */ -+ err = tg3_writephy(tp, MII_ADVERTISE, -+ (ADVERTISE_CSMA | -+ ADVERTISE_PAUSE_CAP | -+ ADVERTISE_10HALF | -+ ADVERTISE_10FULL | -+ ADVERTISE_100HALF | -+ ADVERTISE_100FULL)); -+ mii_tg3_ctrl = (MII_TG3_CTRL_ADV_1000_HALF | -+ MII_TG3_CTRL_ADV_1000_FULL | -+ MII_TG3_CTRL_AS_MASTER | -+ MII_TG3_CTRL_ENABLE_AS_MASTER); -+ if (tp->tg3_flags & TG3_FLAG_10_100_ONLY) -+ mii_tg3_ctrl = 0; -+ -+ err |= tg3_writephy(tp, MII_TG3_CTRL, mii_tg3_ctrl); -+ err |= tg3_writephy(tp, MII_BMCR, -+ (BMCR_ANRESTART | BMCR_ANENABLE)); -+ } -+ -+ if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5703) { -+ tg3_writephy(tp, MII_TG3_AUX_CTRL, 0x0c00); -+ tg3_writephy(tp, MII_TG3_DSP_ADDRESS, 0x201f); -+ tg3_writedsp(tp, MII_TG3_DSP_RW_PORT, 0x2aaa); -+ } -+ -+ if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5704) { -+ tg3_writephy(tp, 0x1c, 0x8d68); -+ tg3_writephy(tp, 0x1c, 0x8d68); -+ } -+ -+ /* Enable Ethernet@WireSpeed */ -+ tg3_phy_set_wirespeed(tp); -+ -+ if (!err && ((tp->phy_id & PHY_ID_MASK) == PHY_ID_BCM5401)) { -+ err = tg3_init_5401phy_dsp(tp); -+ } -+ -+ /* Determine the PHY led mode. -+ * Be careful if this gets set wrong it can result in an inability to -+ * establish a link. -+ */ -+ if (tp->phy_id == PHY_ID_SERDES) { -+ tp->led_mode = led_mode_three_link; -+ } -+ else if (tp->subsystem_vendor == PCI_VENDOR_ID_DELL) { -+ tp->led_mode = led_mode_link10; -+ } else { -+ tp->led_mode = led_mode_three_link; -+ if (eeprom_signature_found && -+ eeprom_led_mode != led_mode_auto) -+ tp->led_mode = eeprom_led_mode; -+ } -+ -+ if (tp->phy_id == PHY_ID_SERDES) -+ tp->link_config.advertising = -+ (ADVERTISED_1000baseT_Half | -+ ADVERTISED_1000baseT_Full | -+ ADVERTISED_Autoneg | -+ ADVERTISED_FIBRE); -+ if (tp->tg3_flags & TG3_FLAG_10_100_ONLY) -+ tp->link_config.advertising &= -+ ~(ADVERTISED_1000baseT_Half | -+ ADVERTISED_1000baseT_Full); -+ -+ return err; -+} -+ -+#if SUPPORT_PARTNO_STR -+static void tg3_read_partno(struct tg3 *tp) -+{ -+ unsigned char vpd_data[256]; -+ int i; -+ -+ for (i = 0; i < 256; i += 4) { -+ uint32_t tmp; -+ -+ if (tg3_nvram_read(tp, 0x100 + i, &tmp)) -+ goto out_not_found; -+ -+ vpd_data[i + 0] = ((tmp >> 0) & 0xff); -+ vpd_data[i + 1] = ((tmp >> 8) & 0xff); -+ vpd_data[i + 2] = ((tmp >> 16) & 0xff); -+ vpd_data[i + 3] = ((tmp >> 24) & 0xff); -+ } -+ -+ /* Now parse and find the part number. */ -+ for (i = 0; i < 256; ) { -+ unsigned char val = vpd_data[i]; -+ int block_end; -+ -+ if (val == 0x82 || val == 0x91) { -+ i = (i + 3 + -+ (vpd_data[i + 1] + -+ (vpd_data[i + 2] << 8))); -+ continue; -+ } -+ -+ if (val != 0x90) -+ goto out_not_found; -+ -+ block_end = (i + 3 + -+ (vpd_data[i + 1] + -+ (vpd_data[i + 2] << 8))); -+ i += 3; -+ while (i < block_end) { -+ if (vpd_data[i + 0] == 'P' && -+ vpd_data[i + 1] == 'N') { -+ int partno_len = vpd_data[i + 2]; -+ -+ if (partno_len > 24) -+ goto out_not_found; -+ -+ memcpy(tp->board_part_number, -+ &vpd_data[i + 3], -+ partno_len); -+ -+ /* Success. */ -+ return; -+ } -+ } -+ -+ /* Part number not found. */ -+ goto out_not_found; -+ } -+ -+out_not_found: -+ memcpy(tp->board_part_number, "none", sizeof("none")); -+} -+#else -+#define tg3_read_partno(TP) ((TP)->board_part_number[0] = '\0') -+#endif -+ -+static int tg3_get_invariants(struct tg3 *tp) -+{ -+ uint32_t misc_ctrl_reg; -+ uint32_t pci_state_reg, grc_misc_cfg; -+ uint16_t pci_cmd; -+ uint8_t pci_latency; -+ int err; -+ -+ /* Read the subsystem vendor and device ids */ -+ pci_read_config_word(tp->pdev, PCI_SUBSYSTEM_VENDOR_ID, &tp->subsystem_vendor); -+ pci_read_config_word(tp->pdev, PCI_SUBSYSTEM_ID, &tp->subsystem_device); -+ -+ /* The sun_5704 code needs infrastructure etherboot does have -+ * ignore it for now. -+ */ -+ -+ /* If we have an AMD 762 or Intel ICH/ICH0 chipset, write -+ * reordering to the mailbox registers done by the host -+ * controller can cause major troubles. We read back from -+ * every mailbox register write to force the writes to be -+ * posted to the chip in order. -+ * -+ * TG3_FLAG_MBOX_WRITE_REORDER has been forced on. -+ */ -+ -+ /* Force memory write invalidate off. If we leave it on, -+ * then on 5700_BX chips we have to enable a workaround. -+ * The workaround is to set the TG3PCI_DMA_RW_CTRL boundry -+ * to match the cacheline size. The Broadcom driver have this -+ * workaround but turns MWI off all the times so never uses -+ * it. This seems to suggest that the workaround is insufficient. -+ */ -+ pci_read_config_word(tp->pdev, PCI_COMMAND, &pci_cmd); -+ pci_cmd &= ~PCI_COMMAND_INVALIDATE; -+ /* Also, force SERR#/PERR# in PCI command. */ -+ pci_cmd |= PCI_COMMAND_PARITY | PCI_COMMAND_SERR; -+ pci_write_config_word(tp->pdev, PCI_COMMAND, pci_cmd); -+ -+ /* It is absolutely critical that TG3PCI_MISC_HOST_CTRL -+ * has the register indirect write enable bit set before -+ * we try to access any of the MMIO registers. It is also -+ * critical that the PCI-X hw workaround situation is decided -+ * before that as well. -+ */ -+ pci_read_config_dword(tp->pdev, TG3PCI_MISC_HOST_CTRL, &misc_ctrl_reg); -+ -+ tp->pci_chip_rev_id = (misc_ctrl_reg >> MISC_HOST_CTRL_CHIPREV_SHIFT); -+ -+ /* Initialize misc host control in PCI block. */ -+ tp->misc_host_ctrl |= (misc_ctrl_reg & -+ MISC_HOST_CTRL_CHIPREV); -+ pci_write_config_dword(tp->pdev, TG3PCI_MISC_HOST_CTRL, -+ tp->misc_host_ctrl); -+ -+ pci_read_config_byte(tp->pdev, PCI_LATENCY_TIMER, &pci_latency); -+ if (pci_latency < 64) { -+ pci_write_config_byte(tp->pdev, PCI_LATENCY_TIMER, 64); -+ } -+ -+ pci_read_config_dword(tp->pdev, TG3PCI_PCISTATE, &pci_state_reg); -+ -+ /* If this is a 5700 BX chipset, and we are in PCI-X -+ * mode, enable register write workaround. -+ * -+ * The workaround is to use indirect register accesses -+ * for all chip writes not to mailbox registers. -+ * -+ * In etherboot to simplify things we just always use this work around. -+ */ -+ if ((pci_state_reg & PCISTATE_CONV_PCI_MODE) == 0) { -+ tp->tg3_flags |= TG3_FLAG_PCIX_MODE; -+ } -+ /* Back to back register writes can cause problems on the 5701, -+ * the workaround is to read back all reg writes except those to -+ * mailbox regs. -+ * In etherboot we always use indirect register accesses so -+ * we don't see this. -+ */ -+ -+ if ((pci_state_reg & PCISTATE_BUS_SPEED_HIGH) != 0) -+ tp->tg3_flags |= TG3_FLAG_PCI_HIGH_SPEED; -+ if ((pci_state_reg & PCISTATE_BUS_32BIT) != 0) -+ tp->tg3_flags |= TG3_FLAG_PCI_32BIT; -+ -+ /* Chip-specific fixup from Broadcom driver */ -+ if ((tp->pci_chip_rev_id == CHIPREV_ID_5704_A0) && -+ (!(pci_state_reg & PCISTATE_RETRY_SAME_DMA))) { -+ pci_state_reg |= PCISTATE_RETRY_SAME_DMA; -+ pci_write_config_dword(tp->pdev, TG3PCI_PCISTATE, pci_state_reg); -+ } -+ -+ /* Force the chip into D0. */ -+ tg3_set_power_state_0(tp); -+ -+ /* Etherboot does not ask the tg3 to do checksums */ -+ /* Etherboot does not ask the tg3 to do jumbo frames */ -+ /* Ehterboot does not ask the tg3 to use WakeOnLan. */ -+ -+ /* A few boards don't want Ethernet@WireSpeed phy feature */ -+ if ((GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5700) || -+ ((GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705) && -+ (tp->pci_chip_rev_id != CHIPREV_ID_5705_A0) && -+ (tp->pci_chip_rev_id != CHIPREV_ID_5705_A1))) { -+ tp->tg3_flags2 |= TG3_FLG2_NO_ETH_WIRE_SPEED; -+ } -+ -+ /* Avoid tagged irq status etherboot does not use irqs */ -+ -+ /* Only 5701 and later support tagged irq status mode. -+ * Also, 5788 chips cannot use tagged irq status. -+ * -+ * However, since etherboot does not use irqs avoid tagged irqs -+ * status because the interrupt condition is more difficult to -+ * fully clear in that mode. -+ */ -+ -+ /* Since some 5700_AX && 5700_BX have problems with 32BYTE -+ * coalesce_mode, and the rest work fine anything set. -+ * Don't enable HOST_CC_MODE_32BYTE in etherboot. -+ */ -+ -+ /* Initialize MAC MI mode, polling disabled. */ -+ tw32_carefully(MAC_MI_MODE, tp->mi_mode); -+ -+ /* Initialize data/descriptor byte/word swapping. */ -+ tw32(GRC_MODE, tp->grc_mode); -+ -+ tg3_switch_clocks(tp); -+ -+ /* Clear this out for sanity. */ -+ tw32(TG3PCI_MEM_WIN_BASE_ADDR, 0); -+ -+ /* Etherboot does not need to check if the PCIX_TARGET_HWBUG -+ * is needed. It always uses it. -+ */ -+ -+ udelay(50); -+ tg3_nvram_init(tp); -+ -+ /* The TX descriptors will reside in main memory. -+ */ -+ -+ /* See which board we are using. -+ */ -+ grc_misc_cfg = tr32(GRC_MISC_CFG); -+ grc_misc_cfg &= GRC_MISC_CFG_BOARD_ID_MASK; -+ -+ if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5704 && -+ grc_misc_cfg == GRC_MISC_CFG_BOARD_ID_5704CIOBE) { -+ tp->tg3_flags |= TG3_FLAG_SPLIT_MODE; -+ tp->split_mode_max_reqs = SPLIT_MODE_5704_MAX_REQ; -+ } -+ -+ if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705 && -+ (grc_misc_cfg == GRC_MISC_CFG_BOARD_ID_5788 || -+ grc_misc_cfg == GRC_MISC_CFG_BOARD_ID_5788M)) -+ tp->tg3_flags2 |= TG3_FLG2_IS_5788; -+ -+ /* these are limited to 10/100 only */ -+ if (((GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5703) && -+ ((grc_misc_cfg == 0x8000) || (grc_misc_cfg == 0x4000))) || -+ ((GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705) && -+ (tp->pdev->vendor == PCI_VENDOR_ID_BROADCOM) && -+ ((tp->pdev->dev_id == PCI_DEVICE_ID_TIGON3_5901) || -+ (tp->pdev->dev_id == PCI_DEVICE_ID_TIGON3_5901_2)))) { -+ tp->tg3_flags |= TG3_FLAG_10_100_ONLY; -+ } -+ -+ err = tg3_phy_probe(tp); -+ if (err) { -+ printf("phy probe failed, err %d\n", err); -+ } -+ -+ tg3_read_partno(tp); -+ -+ -+ /* 5700 BX chips need to have their TX producer index mailboxes -+ * written twice to workaround a bug. -+ * In etherboot we do this unconditionally to simplify things. -+ */ -+ -+ /* 5700 chips can get confused if TX buffers straddle the -+ * 4GB address boundary in some cases. -+ * -+ * In etherboot we can ignore the problem as etherboot lives below 4GB. -+ */ -+ -+ /* In etherboot wake-on-lan is unconditionally disabled */ -+ return err; -+} -+ -+static int tg3_get_device_address(struct tg3 *tp) -+{ -+ struct nic *nic = tp->nic; -+ uint32_t hi, lo, mac_offset; -+ -+ if (PCI_FUNC(tp->pdev->devfn) == 0) -+ mac_offset = 0x7c; -+ else -+ mac_offset = 0xcc; -+ -+ /* First try to get it from MAC address mailbox. */ -+ tg3_read_mem(NIC_SRAM_MAC_ADDR_HIGH_MBOX, &hi); -+ if ((hi >> 16) == 0x484b) { -+ nic->node_addr[0] = (hi >> 8) & 0xff; -+ nic->node_addr[1] = (hi >> 0) & 0xff; -+ -+ tg3_read_mem(NIC_SRAM_MAC_ADDR_LOW_MBOX, &lo); -+ nic->node_addr[2] = (lo >> 24) & 0xff; -+ nic->node_addr[3] = (lo >> 16) & 0xff; -+ nic->node_addr[4] = (lo >> 8) & 0xff; -+ nic->node_addr[5] = (lo >> 0) & 0xff; -+ } -+ /* Next, try NVRAM. */ -+ else if (!tg3_nvram_read(tp, mac_offset + 0, &hi) && -+ !tg3_nvram_read(tp, mac_offset + 4, &lo)) { -+ nic->node_addr[0] = ((hi >> 16) & 0xff); -+ nic->node_addr[1] = ((hi >> 24) & 0xff); -+ nic->node_addr[2] = ((lo >> 0) & 0xff); -+ nic->node_addr[3] = ((lo >> 8) & 0xff); -+ nic->node_addr[4] = ((lo >> 16) & 0xff); -+ nic->node_addr[5] = ((lo >> 24) & 0xff); -+ } -+ /* Finally just fetch it out of the MAC control regs. */ -+ else { -+ hi = tr32(MAC_ADDR_0_HIGH); -+ lo = tr32(MAC_ADDR_0_LOW); -+ -+ nic->node_addr[5] = lo & 0xff; -+ nic->node_addr[4] = (lo >> 8) & 0xff; -+ nic->node_addr[3] = (lo >> 16) & 0xff; -+ nic->node_addr[2] = (lo >> 24) & 0xff; -+ nic->node_addr[1] = hi & 0xff; -+ nic->node_addr[0] = (hi >> 8) & 0xff; -+ } -+ -+ return 0; -+} -+ -+ -+static int tg3_setup_dma(struct tg3 *tp) -+{ -+ tw32(TG3PCI_CLOCK_CTRL, 0); -+ -+ if ((tp->tg3_flags & TG3_FLAG_PCIX_MODE) == 0) { -+ tp->dma_rwctrl = -+ (0x7 << DMA_RWCTRL_PCI_WRITE_CMD_SHIFT) | -+ (0x6 << DMA_RWCTRL_PCI_READ_CMD_SHIFT) | -+ (0x7 << DMA_RWCTRL_WRITE_WATER_SHIFT) | -+ (0x7 << DMA_RWCTRL_READ_WATER_SHIFT) | -+ (0x0f << DMA_RWCTRL_MIN_DMA_SHIFT); -+ if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705) { -+ tp->dma_rwctrl &= ~(DMA_RWCTRL_MIN_DMA << DMA_RWCTRL_MIN_DMA_SHIFT); -+ } -+ } else { -+ if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5704) -+ tp->dma_rwctrl = -+ (0x7 << DMA_RWCTRL_PCI_WRITE_CMD_SHIFT) | -+ (0x6 << DMA_RWCTRL_PCI_READ_CMD_SHIFT) | -+ (0x3 << DMA_RWCTRL_WRITE_WATER_SHIFT) | -+ (0x7 << DMA_RWCTRL_READ_WATER_SHIFT) | -+ (0x00 << DMA_RWCTRL_MIN_DMA_SHIFT); -+ else -+ tp->dma_rwctrl = -+ (0x7 << DMA_RWCTRL_PCI_WRITE_CMD_SHIFT) | -+ (0x6 << DMA_RWCTRL_PCI_READ_CMD_SHIFT) | -+ (0x3 << DMA_RWCTRL_WRITE_WATER_SHIFT) | -+ (0x3 << DMA_RWCTRL_READ_WATER_SHIFT) | -+ (0x0f << DMA_RWCTRL_MIN_DMA_SHIFT); -+ -+ /* Wheee, some more chip bugs... */ -+ if ((GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5703) || -+ (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5704)) { -+ uint32_t ccval = tr32(TG3PCI_CLOCK_CTRL) & 0x1f; -+ -+ if ((ccval == 0x6) || (ccval == 0x7)) { -+ tp->dma_rwctrl |= DMA_RWCTRL_ONE_DMA; -+ } -+ } -+ } -+ -+ if ((GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5703) || -+ (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5704)) { -+ tp->dma_rwctrl &= ~(DMA_RWCTRL_MIN_DMA << DMA_RWCTRL_MIN_DMA_SHIFT); -+ } -+ -+ tp->dma_rwctrl |= DMA_RWCTRL_ASSERT_ALL_BE; -+ -+ tw32(TG3PCI_DMA_RW_CTRL, tp->dma_rwctrl); -+ -+ return 0; -+} -+ -+static void tg3_init_link_config(struct tg3 *tp) -+{ -+ tp->link_config.advertising = -+ (ADVERTISED_10baseT_Half | ADVERTISED_10baseT_Full | -+ ADVERTISED_100baseT_Half | ADVERTISED_100baseT_Full | -+ ADVERTISED_1000baseT_Half | ADVERTISED_1000baseT_Full | -+ ADVERTISED_Autoneg | ADVERTISED_MII); -+ tp->carrier_ok = 0; -+ tp->link_config.active_speed = SPEED_INVALID; -+ tp->link_config.active_duplex = DUPLEX_INVALID; -+} -+ -+ -+#if SUPPORT_PHY_STR -+static const char * tg3_phy_string(struct tg3 *tp) -+{ -+ switch (tp->phy_id & PHY_ID_MASK) { -+ case PHY_ID_BCM5400: return "5400"; -+ case PHY_ID_BCM5401: return "5401"; -+ case PHY_ID_BCM5411: return "5411"; -+ case PHY_ID_BCM5701: return "5701"; -+ case PHY_ID_BCM5703: return "5703"; -+ case PHY_ID_BCM5704: return "5704"; -+ case PHY_ID_BCM8002: return "8002"; -+ case PHY_ID_SERDES: return "serdes"; -+ default: return "unknown"; -+ }; -+} -+#else -+#define tg3_phy_string(TP) "?" -+#endif -+ -+ -+static void tg3_poll_link(struct tg3 *tp) -+{ -+ uint32_t mac_stat; -+ -+ mac_stat = tr32(MAC_STATUS); -+ if (tp->phy_id == PHY_ID_SERDES) { -+ if (tp->carrier_ok? -+ (mac_stat & MAC_STATUS_LNKSTATE_CHANGED): -+ (mac_stat & MAC_STATUS_PCS_SYNCED)) { -+ tw32_carefully(MAC_MODE, tp->mac_mode & ~MAC_MODE_PORT_MODE_MASK); -+ tw32_carefully(MAC_MODE, tp->mac_mode); -+ -+ tg3_setup_phy(tp); -+ } -+ } -+ else { -+ if (mac_stat & MAC_STATUS_LNKSTATE_CHANGED) { -+ tg3_setup_phy(tp); -+ } -+ } -+} -+ -+/************************************************************************** -+POLL - Wait for a frame -+***************************************************************************/ -+static void tg3_ack_irqs(struct tg3 *tp) -+{ -+ if (tp->hw_status->status & SD_STATUS_UPDATED) { -+ /* -+ * writing any value to intr-mbox-0 clears PCI INTA# and -+ * chip-internal interrupt pending events. -+ * writing non-zero to intr-mbox-0 additional tells the -+ * NIC to stop sending us irqs, engaging "in-intr-handler" -+ * event coalescing. -+ */ -+ tw32_mailbox(MAILBOX_INTERRUPT_0 + TG3_64BIT_REG_LOW, -+ 0x00000001); -+ /* -+ * Flush PCI write. This also guarantees that our -+ * status block has been flushed to host memory. -+ */ -+ tr32(MAILBOX_INTERRUPT_0 + TG3_64BIT_REG_LOW); -+ tp->hw_status->status &= ~SD_STATUS_UPDATED; -+ } -+} -+ -+static int tg3_poll(struct nic *nic, int retrieve) -+{ -+ /* return true if there's an ethernet packet ready to read */ -+ /* nic->packet should contain data on return */ -+ /* nic->packetlen should contain length of data */ -+ -+ struct tg3 *tp = &tg3; -+ int result; -+ -+ result = 0; -+ -+ if ( (tp->hw_status->idx[0].rx_producer != tp->rx_rcb_ptr) && !retrieve ) -+ return 1; -+ -+ tg3_ack_irqs(tp); -+ -+ if (tp->hw_status->idx[0].rx_producer != tp->rx_rcb_ptr) { -+ struct tg3_rx_buffer_desc *desc; -+ unsigned int len; -+ desc = &tp->rx_rcb[tp->rx_rcb_ptr]; -+ if ((desc->opaque & RXD_OPAQUE_RING_MASK) == RXD_OPAQUE_RING_STD) { -+ len = ((desc->idx_len & RXD_LEN_MASK) >> RXD_LEN_SHIFT) - 4; /* omit crc */ -+ -+ nic->packetlen = len; -+ memcpy(nic->packet, bus_to_virt(desc->addr_lo), len); -+ result = 1; -+ } -+ tp->rx_rcb_ptr = (tp->rx_rcb_ptr + 1) % TG3_RX_RCB_RING_SIZE; -+ -+ /* ACK the status ring */ -+ tw32_mailbox2(MAILBOX_RCVRET_CON_IDX_0 + TG3_64BIT_REG_LOW, tp->rx_rcb_ptr); -+ -+ /* Refill RX ring. */ -+ if (result) { -+ tp->rx_std_ptr = (tp->rx_std_ptr + 1) % TG3_RX_RING_SIZE; -+ tw32_mailbox2(MAILBOX_RCV_STD_PROD_IDX + TG3_64BIT_REG_LOW, tp->rx_std_ptr); -+ } -+ } -+ tg3_poll_link(tp); -+ return result; -+} -+ -+/************************************************************************** -+TRANSMIT - Transmit a frame -+***************************************************************************/ -+#if 0 -+static void tg3_set_txd(struct tg3 *tp, int entry, -+ dma_addr_t mapping, int len, uint32_t flags, -+ uint32_t mss_and_is_end) -+{ -+ struct tg3_tx_buffer_desc *txd = &tp->tx_ring[entry]; -+ int is_end = (mss_and_is_end & 0x1); -+ if (is_end) { -+ flags |= TXD_FLAG_END; -+ } -+ -+ txd->addr_hi = 0; -+ txd->addr_lo = mapping & 0xffffffff; -+ txd->len_flags = (len << TXD_LEN_SHIFT) | flags; -+ txd->vlan_tag = 0 << TXD_VLAN_TAG_SHIFT; -+} -+#endif -+ -+static void tg3_transmit(struct nic *nic, const char *dst_addr, -+ unsigned int type, unsigned int size, const char *packet) -+{ -+ static struct eth_frame { -+ uint8_t dst_addr[ETH_ALEN]; -+ uint8_t src_addr[ETH_ALEN]; -+ uint16_t type; -+ uint8_t data [ETH_FRAME_LEN - ETH_HLEN]; -+ } frame[2]; -+ static int frame_idx; -+ -+ /* send the packet to destination */ -+ struct tg3_tx_buffer_desc *txd; -+ struct tg3 *tp; -+ uint32_t entry; -+ int i; -+ -+ /* Wait until there is a free packet frame */ -+ tp = &tg3; -+ i = 0; -+ entry = tp->tx_prod; -+ while((tp->hw_status->idx[0].tx_consumer != entry) && -+ (tp->hw_status->idx[0].tx_consumer != PREV_TX(entry))) { -+ mdelay(10); /* give the nick a chance */ -+ poll_interruptions(); -+ if (++i > 500) { /* timeout 5s for transmit */ -+ printf("transmit timed out\n"); -+ tg3_halt(tp); -+ tg3_setup_hw(tp); -+ return; -+ } -+ } -+ if (i != 0) { -+ printf("#"); -+ } -+ -+ /* Copy the packet to the our local buffer */ -+ memcpy(&frame[frame_idx].dst_addr, dst_addr, ETH_ALEN); -+ memcpy(&frame[frame_idx].src_addr, nic->node_addr, ETH_ALEN); -+ frame[frame_idx].type = htons(type); -+ memset(&frame[frame_idx].data, 0, sizeof(frame[frame_idx].data)); -+ memcpy(&frame[frame_idx].data, packet, size); -+ -+ /* Setup the ring buffer entry to transmit */ -+ txd = &tp->tx_ring[entry]; -+ txd->addr_hi = 0; /* Etherboot runs under 4GB */ -+ txd->addr_lo = virt_to_bus(&frame[frame_idx]); -+ txd->len_flags = ((size + ETH_HLEN) << TXD_LEN_SHIFT) | TXD_FLAG_END; -+ txd->vlan_tag = 0 << TXD_VLAN_TAG_SHIFT; -+ -+ /* Advance to the next entry */ -+ entry = NEXT_TX(entry); -+ frame_idx ^= 1; -+ -+ /* Packets are ready, update Tx producer idx local and on card */ -+ tw32_mailbox((MAILBOX_SNDHOST_PROD_IDX_0 + TG3_64BIT_REG_LOW), entry); -+ tw32_mailbox2((MAILBOX_SNDHOST_PROD_IDX_0 + TG3_64BIT_REG_LOW), entry); -+ tp->tx_prod = entry; -+} -+ -+/************************************************************************** -+DISABLE - Turn off ethernet interface -+***************************************************************************/ -+static void tg3_disable(struct dev *dev __unused) -+{ -+ struct tg3 *tp = &tg3; -+ /* put the card in its initial state */ -+ /* This function serves 3 purposes. -+ * This disables DMA and interrupts so we don't receive -+ * unexpected packets or interrupts from the card after -+ * etherboot has finished. -+ * This frees resources so etherboot may use -+ * this driver on another interface -+ * This allows etherboot to reinitialize the interface -+ * if something is something goes wrong. -+ */ -+ tg3_halt(tp); -+ tp->tg3_flags &= ~(TG3_FLAG_INIT_COMPLETE|TG3_FLAG_GOT_SERDES_FLOWCTL); -+ tp->carrier_ok = 0; -+ iounmap((void *)tp->regs); -+} -+ -+/************************************************************************** -+IRQ - Enable, Disable, or Force interrupts -+***************************************************************************/ -+static void tg3_irq(struct nic *nic __unused, irq_action_t action __unused) -+{ -+ switch ( action ) { -+ case DISABLE : -+ break; -+ case ENABLE : -+ break; -+ case FORCE : -+ break; -+ } -+} -+ -+/************************************************************************** -+PROBE - Look for an adapter, this routine's visible to the outside -+You should omit the last argument struct pci_device * for a non-PCI NIC -+***************************************************************************/ -+static int tg3_probe(struct dev *dev, struct pci_device *pdev) -+{ -+ struct nic *nic = (struct nic *)dev; -+ struct tg3 *tp = &tg3; -+ unsigned long tg3reg_base, tg3reg_len; -+ int i, err, pm_cap; -+ -+ if (pdev == 0) -+ return 0; -+ -+ memset(tp, 0, sizeof(*tp)); -+ -+ adjust_pci_device(pdev); -+ -+ nic->irqno = 0; -+ nic->ioaddr = pdev->ioaddr & ~3; -+ -+ /* Find power-management capability. */ -+ pm_cap = pci_find_capability(pdev, PCI_CAP_ID_PM); -+ if (pm_cap == 0) { -+ printf("Cannot find PowerManagement capability, aborting.\n"); -+ return 0; -+ } -+ tg3reg_base = pci_bar_start(pdev, PCI_BASE_ADDRESS_0); -+ if (tg3reg_base == -1UL) { -+ printf("Unuseable bar\n"); -+ return 0; -+ } -+ tg3reg_len = pci_bar_size(pdev, PCI_BASE_ADDRESS_0); -+ -+ tp->pdev = pdev; -+ tp->nic = nic; -+ tp->pm_cap = pm_cap; -+ tp->rx_mode = 0; -+ tp->tx_mode = 0; -+ tp->mi_mode = MAC_MI_MODE_BASE; -+ tp->tg3_flags = 0 & ~TG3_FLAG_INIT_COMPLETE; -+ -+ /* The word/byte swap controls here control register access byte -+ * swapping. DMA data byte swapping is controlled in the GRC_MODE -+ * setting below. -+ */ -+ tp->misc_host_ctrl = -+ MISC_HOST_CTRL_MASK_PCI_INT | -+ MISC_HOST_CTRL_WORD_SWAP | -+ MISC_HOST_CTRL_INDIR_ACCESS | -+ MISC_HOST_CTRL_PCISTATE_RW; -+ -+ /* The NONFRM (non-frame) byte/word swap controls take effect -+ * on descriptor entries, anything which isn't packet data. -+ * -+ * The StrongARM chips on the board (one for tx, one for rx) -+ * are running in big-endian mode. -+ */ -+ tp->grc_mode = (GRC_MODE_WSWAP_DATA | GRC_MODE_BSWAP_DATA | -+ GRC_MODE_WSWAP_NONFRM_DATA); -+#if __BYTE_ORDER == __BIG_ENDIAN -+ tp->grc_mode |= GRC_MODE_BSWAP_NONFRM_DATA; -+#endif -+ tp->regs = (unsigned long) ioremap(tg3reg_base, tg3reg_len); -+ if (tp->regs == 0UL) { -+ printf("Cannot map device registers, aborting\n"); -+ return 0; -+ } -+ -+ tg3_init_link_config(tp); -+ -+ err = tg3_get_invariants(tp); -+ if (err) { -+ printf("Problem fetching invariants of chip, aborting.\n"); -+ goto err_out_iounmap; -+ } -+ -+ err = tg3_get_device_address(tp); -+ if (err) { -+ printf("Could not obtain valid ethernet address, aborting.\n"); -+ goto err_out_iounmap; -+ } -+ printf("Ethernet addr: %!\n", nic->node_addr); -+ -+ tg3_setup_dma(tp); -+ -+ /* Now that we have fully setup the chip, save away a snapshot -+ * of the PCI config space. We need to restore this after -+ * GRC_MISC_CFG core clock resets and some resume events. -+ */ -+ pci_save_state(tp->pdev, tp->pci_cfg_state); -+ -+ printf("Tigon3 [partno(%s) rev %hx PHY(%s)] (PCI%s:%s:%s)\n", -+ tp->board_part_number, -+ tp->pci_chip_rev_id, -+ tg3_phy_string(tp), -+ ((tp->tg3_flags & TG3_FLAG_PCIX_MODE) ? "X" : ""), -+ ((tp->tg3_flags & TG3_FLAG_PCI_HIGH_SPEED) ? -+ ((tp->tg3_flags & TG3_FLAG_PCIX_MODE) ? "133MHz" : "66MHz") : -+ ((tp->tg3_flags & TG3_FLAG_PCIX_MODE) ? "100MHz" : "33MHz")), -+ ((tp->tg3_flags & TG3_FLAG_PCI_32BIT) ? "32-bit" : "64-bit")); -+ -+ -+ err = tg3_setup_hw(tp); -+ if (err) { -+ goto err_out_disable; -+ } -+ tp->tg3_flags |= TG3_FLAG_INIT_COMPLETE; -+ -+ /* Wait for a reasonable time for the link to come up */ -+ tg3_poll_link(tp); -+ for(i = 0; !tp->carrier_ok && (i < VALID_LINK_TIMEOUT*100); i++) { -+ mdelay(1); -+ tg3_poll_link(tp); -+ } -+ if (!tp->carrier_ok){ -+ printf("Valid link not established\n"); -+ goto err_out_disable; -+ } -+ -+ dev->disable = tg3_disable; -+ nic->poll = tg3_poll; -+ nic->transmit = tg3_transmit; -+ nic->irq = tg3_irq; -+ -+ return 1; -+ -+ err_out_iounmap: -+ iounmap((void *)tp->regs); -+ return 0; -+ err_out_disable: -+ tg3_disable(dev); -+ return 0; -+} -+ -+static struct pci_id tg3_nics[] = { -+PCI_ROM(0x14e4, 0x1644, "tg3-5700", "Broadcom Tigon 3 5700"), -+PCI_ROM(0x14e4, 0x1645, "tg3-5701", "Broadcom Tigon 3 5701"), -+PCI_ROM(0x14e4, 0x1646, "tg3-5702", "Broadcom Tigon 3 5702"), -+PCI_ROM(0x14e4, 0x1647, "tg3-5703", "Broadcom Tigon 3 5703"), -+PCI_ROM(0x14e4, 0x1648, "tg3-5704", "Broadcom Tigon 3 5704"), -+PCI_ROM(0x14e4, 0x164d, "tg3-5702FE", "Broadcom Tigon 3 5702FE"), -+PCI_ROM(0x14e4, 0x1653, "tg3-5705", "Broadcom Tigon 3 5705"), -+PCI_ROM(0x14e4, 0x1654, "tg3-5705_2", "Broadcom Tigon 3 5705_2"), -+PCI_ROM(0x14e4, 0x165d, "tg3-5705M", "Broadcom Tigon 3 5705M"), -+PCI_ROM(0x14e4, 0x165e, "tg3-5705M_2", "Broadcom Tigon 3 5705M_2"), -+PCI_ROM(0x14e4, 0x1696, "tg3-5782", "Broadcom Tigon 3 5782"), -+PCI_ROM(0x14e4, 0x169c, "tg3-5788", "Broadcom Tigon 3 5788"), -+PCI_ROM(0x14e4, 0x16a6, "tg3-5702X", "Broadcom Tigon 3 5702X"), -+PCI_ROM(0x14e4, 0x16a7, "tg3-5703X", "Broadcom Tigon 3 5703X"), -+PCI_ROM(0x14e4, 0x16a8, "tg3-5704S", "Broadcom Tigon 3 5704S"), -+PCI_ROM(0x14e4, 0x16c6, "tg3-5702A3", "Broadcom Tigon 3 5702A3"), -+PCI_ROM(0x14e4, 0x16c7, "tg3-5703A3", "Broadcom Tigon 3 5703A3"), -+PCI_ROM(0x14e4, 0x170d, "tg3-5901", "Broadcom Tigon 3 5901"), -+PCI_ROM(0x14e4, 0x170e, "tg3-5901_2", "Broadcom Tigon 3 5901_2"), -+PCI_ROM(0x1148, 0x4400, "tg3-9DXX", "Syskonnect 9DXX"), -+PCI_ROM(0x1148, 0x4500, "tg3-9MXX", "Syskonnect 9MXX"), -+PCI_ROM(0x173b, 0x03e8, "tg3-ac1000", "Altima AC1000"), -+PCI_ROM(0x173b, 0x03e9, "tg3-ac1001", "Altima AC1001"), -+PCI_ROM(0x173b, 0x03ea, "tg3-ac9100", "Altima AC9100"), -+PCI_ROM(0x173b, 0x03eb, "tg3-ac1003", "Altima AC1003"), -+}; -+ -+struct pci_driver tg3_driver = { -+ .type = NIC_DRIVER, -+ .name = "TG3", -+ .probe = tg3_probe, -+ .ids = tg3_nics, -+ .id_count = sizeof(tg3_nics)/sizeof(tg3_nics[0]), -+ .class = 0, -+}; -Index: b/netboot/tg3.h -=================================================================== ---- /dev/null -+++ b/netboot/tg3.h -@@ -0,0 +1,2203 @@ -+/* $Id: grub-0.95-diskless-patch-2.patch,v 1.1.1.1 2005/06/14 08:18:50 wesolows Exp $ -+ * tg3.h: Definitions for Broadcom Tigon3 ethernet driver. -+ * -+ * Copyright (C) 2001, 2002 David S. Miller (davem@redhat.com) -+ * Copyright (C) 2001 Jeff Garzik (jgarzik@mandrakesoft.com) -+ */ -+ -+#ifndef _T3_H -+#define _T3_H -+ -+#include "stdint.h" -+ -+typedef unsigned long dma_addr_t; -+ -+/* From mii.h */ -+ -+/* Indicates what features are advertised by the interface. */ -+#define ADVERTISED_10baseT_Half (1 << 0) -+#define ADVERTISED_10baseT_Full (1 << 1) -+#define ADVERTISED_100baseT_Half (1 << 2) -+#define ADVERTISED_100baseT_Full (1 << 3) -+#define ADVERTISED_1000baseT_Half (1 << 4) -+#define ADVERTISED_1000baseT_Full (1 << 5) -+#define ADVERTISED_Autoneg (1 << 6) -+#define ADVERTISED_TP (1 << 7) -+#define ADVERTISED_AUI (1 << 8) -+#define ADVERTISED_MII (1 << 9) -+#define ADVERTISED_FIBRE (1 << 10) -+#define ADVERTISED_BNC (1 << 11) -+ -+/* The following are all involved in forcing a particular link -+ * mode for the device for setting things. When getting the -+ * devices settings, these indicate the current mode and whether -+ * it was foced up into this mode or autonegotiated. -+ */ -+ -+/* The forced speed, 10Mb, 100Mb, gigabit. */ -+#define SPEED_10 0 -+#define SPEED_100 1 -+#define SPEED_1000 2 -+#define SPEED_INVALID 3 -+ -+ -+/* Duplex, half or full. */ -+#define DUPLEX_HALF 0x00 -+#define DUPLEX_FULL 0x01 -+#define DUPLEX_INVALID 0x02 -+ -+/* Which connector port. */ -+#define PORT_TP 0x00 -+#define PORT_AUI 0x01 -+#define PORT_MII 0x02 -+#define PORT_FIBRE 0x03 -+#define PORT_BNC 0x04 -+ -+/* Which tranceiver to use. */ -+#define XCVR_INTERNAL 0x00 -+#define XCVR_EXTERNAL 0x01 -+#define XCVR_DUMMY1 0x02 -+#define XCVR_DUMMY2 0x03 -+#define XCVR_DUMMY3 0x04 -+ -+/* Enable or disable autonegotiation. If this is set to enable, -+ * the forced link modes above are completely ignored. -+ */ -+#define AUTONEG_DISABLE 0x00 -+#define AUTONEG_ENABLE 0x01 -+ -+/* Wake-On-Lan options. */ -+#define WAKE_PHY (1 << 0) -+#define WAKE_UCAST (1 << 1) -+#define WAKE_MCAST (1 << 2) -+#define WAKE_BCAST (1 << 3) -+#define WAKE_ARP (1 << 4) -+#define WAKE_MAGIC (1 << 5) -+#define WAKE_MAGICSECURE (1 << 6) /* only meaningful if WAKE_MAGIC */ -+ -+/* Generic MII registers. */ -+ -+#define MII_BMCR 0x00 /* Basic mode control register */ -+#define MII_BMSR 0x01 /* Basic mode status register */ -+#define MII_PHYSID1 0x02 /* PHYS ID 1 */ -+#define MII_PHYSID2 0x03 /* PHYS ID 2 */ -+#define MII_ADVERTISE 0x04 /* Advertisement control reg */ -+#define MII_LPA 0x05 /* Link partner ability reg */ -+#define MII_EXPANSION 0x06 /* Expansion register */ -+#define MII_DCOUNTER 0x12 /* Disconnect counter */ -+#define MII_FCSCOUNTER 0x13 /* False carrier counter */ -+#define MII_NWAYTEST 0x14 /* N-way auto-neg test reg */ -+#define MII_RERRCOUNTER 0x15 /* Receive error counter */ -+#define MII_SREVISION 0x16 /* Silicon revision */ -+#define MII_RESV1 0x17 /* Reserved... */ -+#define MII_LBRERROR 0x18 /* Lpback, rx, bypass error */ -+#define MII_PHYADDR 0x19 /* PHY address */ -+#define MII_RESV2 0x1a /* Reserved... */ -+#define MII_TPISTATUS 0x1b /* TPI status for 10mbps */ -+#define MII_NCONFIG 0x1c /* Network interface config */ -+ -+/* Basic mode control register. */ -+#define BMCR_RESV 0x007f /* Unused... */ -+#define BMCR_CTST 0x0080 /* Collision test */ -+#define BMCR_FULLDPLX 0x0100 /* Full duplex */ -+#define BMCR_ANRESTART 0x0200 /* Auto negotiation restart */ -+#define BMCR_ISOLATE 0x0400 /* Disconnect DP83840 from MII */ -+#define BMCR_PDOWN 0x0800 /* Powerdown the DP83840 */ -+#define BMCR_ANENABLE 0x1000 /* Enable auto negotiation */ -+#define BMCR_SPEED100 0x2000 /* Select 100Mbps */ -+#define BMCR_LOOPBACK 0x4000 /* TXD loopback bits */ -+#define BMCR_RESET 0x8000 /* Reset the DP83840 */ -+ -+/* Basic mode status register. */ -+#define BMSR_ERCAP 0x0001 /* Ext-reg capability */ -+#define BMSR_JCD 0x0002 /* Jabber detected */ -+#define BMSR_LSTATUS 0x0004 /* Link status */ -+#define BMSR_ANEGCAPABLE 0x0008 /* Able to do auto-negotiation */ -+#define BMSR_RFAULT 0x0010 /* Remote fault detected */ -+#define BMSR_ANEGCOMPLETE 0x0020 /* Auto-negotiation complete */ -+#define BMSR_RESV 0x07c0 /* Unused... */ -+#define BMSR_10HALF 0x0800 /* Can do 10mbps, half-duplex */ -+#define BMSR_10FULL 0x1000 /* Can do 10mbps, full-duplex */ -+#define BMSR_100HALF 0x2000 /* Can do 100mbps, half-duplex */ -+#define BMSR_100FULL 0x4000 /* Can do 100mbps, full-duplex */ -+#define BMSR_100BASE4 0x8000 /* Can do 100mbps, 4k packets */ -+ -+/* Advertisement control register. */ -+#define ADVERTISE_SLCT 0x001f /* Selector bits */ -+#define ADVERTISE_CSMA 0x0001 /* Only selector supported */ -+#define ADVERTISE_10HALF 0x0020 /* Try for 10mbps half-duplex */ -+#define ADVERTISE_10FULL 0x0040 /* Try for 10mbps full-duplex */ -+#define ADVERTISE_100HALF 0x0080 /* Try for 100mbps half-duplex */ -+#define ADVERTISE_100FULL 0x0100 /* Try for 100mbps full-duplex */ -+#define ADVERTISE_100BASE4 0x0200 /* Try for 100mbps 4k packets */ -+#define ADVERTISE_RESV 0x1c00 /* Unused... */ -+#define ADVERTISE_RFAULT 0x2000 /* Say we can detect faults */ -+#define ADVERTISE_LPACK 0x4000 /* Ack link partners response */ -+#define ADVERTISE_NPAGE 0x8000 /* Next page bit */ -+ -+#define ADVERTISE_FULL (ADVERTISE_100FULL | ADVERTISE_10FULL | \ -+ ADVERTISE_CSMA) -+#define ADVERTISE_ALL (ADVERTISE_10HALF | ADVERTISE_10FULL | \ -+ ADVERTISE_100HALF | ADVERTISE_100FULL) -+ -+/* Link partner ability register. */ -+#define LPA_SLCT 0x001f /* Same as advertise selector */ -+#define LPA_10HALF 0x0020 /* Can do 10mbps half-duplex */ -+#define LPA_10FULL 0x0040 /* Can do 10mbps full-duplex */ -+#define LPA_100HALF 0x0080 /* Can do 100mbps half-duplex */ -+#define LPA_100FULL 0x0100 /* Can do 100mbps full-duplex */ -+#define LPA_100BASE4 0x0200 /* Can do 100mbps 4k packets */ -+#define LPA_RESV 0x1c00 /* Unused... */ -+#define LPA_RFAULT 0x2000 /* Link partner faulted */ -+#define LPA_LPACK 0x4000 /* Link partner acked us */ -+#define LPA_NPAGE 0x8000 /* Next page bit */ -+ -+#define LPA_DUPLEX (LPA_10FULL | LPA_100FULL) -+#define LPA_100 (LPA_100FULL | LPA_100HALF | LPA_100BASE4) -+ -+/* Expansion register for auto-negotiation. */ -+#define EXPANSION_NWAY 0x0001 /* Can do N-way auto-nego */ -+#define EXPANSION_LCWP 0x0002 /* Got new RX page code word */ -+#define EXPANSION_ENABLENPAGE 0x0004 /* This enables npage words */ -+#define EXPANSION_NPCAPABLE 0x0008 /* Link partner supports npage */ -+#define EXPANSION_MFAULTS 0x0010 /* Multiple faults detected */ -+#define EXPANSION_RESV 0xffe0 /* Unused... */ -+ -+/* N-way test register. */ -+#define NWAYTEST_RESV1 0x00ff /* Unused... */ -+#define NWAYTEST_LOOPBACK 0x0100 /* Enable loopback for N-way */ -+#define NWAYTEST_RESV2 0xfe00 /* Unused... */ -+ -+ -+/* From tg3.h */ -+ -+#define TG3_64BIT_REG_HIGH 0x00UL -+#define TG3_64BIT_REG_LOW 0x04UL -+ -+/* Descriptor block info. */ -+#define TG3_BDINFO_HOST_ADDR 0x0UL /* 64-bit */ -+#define TG3_BDINFO_MAXLEN_FLAGS 0x8UL /* 32-bit */ -+#define BDINFO_FLAGS_USE_EXT_RECV 0x00000001 /* ext rx_buffer_desc */ -+#define BDINFO_FLAGS_DISABLED 0x00000002 -+#define BDINFO_FLAGS_MAXLEN_MASK 0xffff0000 -+#define BDINFO_FLAGS_MAXLEN_SHIFT 16 -+#define TG3_BDINFO_NIC_ADDR 0xcUL /* 32-bit */ -+#define TG3_BDINFO_SIZE 0x10UL -+ -+#define RX_COPY_THRESHOLD 256 -+ -+#define RX_STD_MAX_SIZE 1536 -+#define RX_STD_MAX_SIZE_5705 512 -+#define RX_JUMBO_MAX_SIZE 0xdeadbeef /* XXX */ -+ -+/* First 256 bytes are a mirror of PCI config space. */ -+#define TG3PCI_VENDOR 0x00000000 -+#define TG3PCI_VENDOR_BROADCOM 0x14e4 -+#define TG3PCI_DEVICE 0x00000002 -+#define TG3PCI_DEVICE_TIGON3_1 0x1644 /* BCM5700 */ -+#define TG3PCI_DEVICE_TIGON3_2 0x1645 /* BCM5701 */ -+#define TG3PCI_DEVICE_TIGON3_3 0x1646 /* BCM5702 */ -+#define TG3PCI_DEVICE_TIGON3_4 0x1647 /* BCM5703 */ -+#define TG3PCI_COMMAND 0x00000004 -+#define TG3PCI_STATUS 0x00000006 -+#define TG3PCI_CCREVID 0x00000008 -+#define TG3PCI_CACHELINESZ 0x0000000c -+#define TG3PCI_LATTIMER 0x0000000d -+#define TG3PCI_HEADERTYPE 0x0000000e -+#define TG3PCI_BIST 0x0000000f -+#define TG3PCI_BASE0_LOW 0x00000010 -+#define TG3PCI_BASE0_HIGH 0x00000014 -+/* 0x18 --> 0x2c unused */ -+#define TG3PCI_SUBSYSVENID 0x0000002c -+#define TG3PCI_SUBSYSID 0x0000002e -+#define TG3PCI_ROMADDR 0x00000030 -+#define TG3PCI_CAPLIST 0x00000034 -+/* 0x35 --> 0x3c unused */ -+#define TG3PCI_IRQ_LINE 0x0000003c -+#define TG3PCI_IRQ_PIN 0x0000003d -+#define TG3PCI_MIN_GNT 0x0000003e -+#define TG3PCI_MAX_LAT 0x0000003f -+#define TG3PCI_X_CAPS 0x00000040 -+#define PCIX_CAPS_RELAXED_ORDERING 0x00020000 -+#define PCIX_CAPS_SPLIT_MASK 0x00700000 -+#define PCIX_CAPS_SPLIT_SHIFT 20 -+#define PCIX_CAPS_BURST_MASK 0x000c0000 -+#define PCIX_CAPS_BURST_SHIFT 18 -+#define PCIX_CAPS_MAX_BURST_CPIOB 2 -+#define TG3PCI_PM_CAP_PTR 0x00000041 -+#define TG3PCI_X_COMMAND 0x00000042 -+#define TG3PCI_X_STATUS 0x00000044 -+#define TG3PCI_PM_CAP_ID 0x00000048 -+#define TG3PCI_VPD_CAP_PTR 0x00000049 -+#define TG3PCI_PM_CAPS 0x0000004a -+#define TG3PCI_PM_CTRL_STAT 0x0000004c -+#define TG3PCI_BR_SUPP_EXT 0x0000004e -+#define TG3PCI_PM_DATA 0x0000004f -+#define TG3PCI_VPD_CAP_ID 0x00000050 -+#define TG3PCI_MSI_CAP_PTR 0x00000051 -+#define TG3PCI_VPD_ADDR_FLAG 0x00000052 -+#define VPD_ADDR_FLAG_WRITE 0x00008000 -+#define TG3PCI_VPD_DATA 0x00000054 -+#define TG3PCI_MSI_CAP_ID 0x00000058 -+#define TG3PCI_NXT_CAP_PTR 0x00000059 -+#define TG3PCI_MSI_CTRL 0x0000005a -+#define TG3PCI_MSI_ADDR_LOW 0x0000005c -+#define TG3PCI_MSI_ADDR_HIGH 0x00000060 -+#define TG3PCI_MSI_DATA 0x00000064 -+/* 0x66 --> 0x68 unused */ -+#define TG3PCI_MISC_HOST_CTRL 0x00000068 -+#define MISC_HOST_CTRL_CLEAR_INT 0x00000001 -+#define MISC_HOST_CTRL_MASK_PCI_INT 0x00000002 -+#define MISC_HOST_CTRL_BYTE_SWAP 0x00000004 -+#define MISC_HOST_CTRL_WORD_SWAP 0x00000008 -+#define MISC_HOST_CTRL_PCISTATE_RW 0x00000010 -+#define MISC_HOST_CTRL_CLKREG_RW 0x00000020 -+#define MISC_HOST_CTRL_REGWORD_SWAP 0x00000040 -+#define MISC_HOST_CTRL_INDIR_ACCESS 0x00000080 -+#define MISC_HOST_CTRL_IRQ_MASK_MODE 0x00000100 -+#define MISC_HOST_CTRL_TAGGED_STATUS 0x00000200 -+#define MISC_HOST_CTRL_CHIPREV 0xffff0000 -+#define MISC_HOST_CTRL_CHIPREV_SHIFT 16 -+#define GET_CHIP_REV_ID(MISC_HOST_CTRL) \ -+ (((MISC_HOST_CTRL) & MISC_HOST_CTRL_CHIPREV) >> \ -+ MISC_HOST_CTRL_CHIPREV_SHIFT) -+#define CHIPREV_ID_5700_A0 0x7000 -+#define CHIPREV_ID_5700_A1 0x7001 -+#define CHIPREV_ID_5700_B0 0x7100 -+#define CHIPREV_ID_5700_B1 0x7101 -+#define CHIPREV_ID_5700_B3 0x7102 -+#define CHIPREV_ID_5700_ALTIMA 0x7104 -+#define CHIPREV_ID_5700_C0 0x7200 -+#define CHIPREV_ID_5701_A0 0x0000 -+#define CHIPREV_ID_5701_B0 0x0100 -+#define CHIPREV_ID_5701_B2 0x0102 -+#define CHIPREV_ID_5701_B5 0x0105 -+#define CHIPREV_ID_5703_A0 0x1000 -+#define CHIPREV_ID_5703_A1 0x1001 -+#define CHIPREV_ID_5703_A2 0x1002 -+#define CHIPREV_ID_5703_A3 0x1003 -+#define CHIPREV_ID_5704_A0 0x2000 -+#define CHIPREV_ID_5704_A1 0x2001 -+#define CHIPREV_ID_5704_A2 0x2002 -+#define CHIPREV_ID_5705_A0 0x3000 -+#define CHIPREV_ID_5705_A1 0x3001 -+#define CHIPREV_ID_5705_A2 0x3002 -+#define CHIPREV_ID_5705_A3 0x3003 -+#define GET_ASIC_REV(CHIP_REV_ID) ((CHIP_REV_ID) >> 12) -+#define ASIC_REV_5700 0x07 -+#define ASIC_REV_5701 0x00 -+#define ASIC_REV_5703 0x01 -+#define ASIC_REV_5704 0x02 -+#define ASIC_REV_5705 0x03 -+#define GET_CHIP_REV(CHIP_REV_ID) ((CHIP_REV_ID) >> 8) -+#define CHIPREV_5700_AX 0x70 -+#define CHIPREV_5700_BX 0x71 -+#define CHIPREV_5700_CX 0x72 -+#define CHIPREV_5701_AX 0x00 -+#define GET_METAL_REV(CHIP_REV_ID) ((CHIP_REV_ID) & 0xff) -+#define METAL_REV_A0 0x00 -+#define METAL_REV_A1 0x01 -+#define METAL_REV_B0 0x00 -+#define METAL_REV_B1 0x01 -+#define METAL_REV_B2 0x02 -+#define TG3PCI_DMA_RW_CTRL 0x0000006c -+#define DMA_RWCTRL_MIN_DMA 0x000000ff -+#define DMA_RWCTRL_MIN_DMA_SHIFT 0 -+#define DMA_RWCTRL_READ_BNDRY_MASK 0x00000700 -+#define DMA_RWCTRL_READ_BNDRY_DISAB 0x00000000 -+#define DMA_RWCTRL_READ_BNDRY_16 0x00000100 -+#define DMA_RWCTRL_READ_BNDRY_32 0x00000200 -+#define DMA_RWCTRL_READ_BNDRY_64 0x00000300 -+#define DMA_RWCTRL_READ_BNDRY_128 0x00000400 -+#define DMA_RWCTRL_READ_BNDRY_256 0x00000500 -+#define DMA_RWCTRL_READ_BNDRY_512 0x00000600 -+#define DMA_RWCTRL_READ_BNDRY_1024 0x00000700 -+#define DMA_RWCTRL_WRITE_BNDRY_MASK 0x00003800 -+#define DMA_RWCTRL_WRITE_BNDRY_DISAB 0x00000000 -+#define DMA_RWCTRL_WRITE_BNDRY_16 0x00000800 -+#define DMA_RWCTRL_WRITE_BNDRY_32 0x00001000 -+#define DMA_RWCTRL_WRITE_BNDRY_64 0x00001800 -+#define DMA_RWCTRL_WRITE_BNDRY_128 0x00002000 -+#define DMA_RWCTRL_WRITE_BNDRY_256 0x00002800 -+#define DMA_RWCTRL_WRITE_BNDRY_512 0x00003000 -+#define DMA_RWCTRL_WRITE_BNDRY_1024 0x00003800 -+#define DMA_RWCTRL_ONE_DMA 0x00004000 -+#define DMA_RWCTRL_READ_WATER 0x00070000 -+#define DMA_RWCTRL_READ_WATER_SHIFT 16 -+#define DMA_RWCTRL_WRITE_WATER 0x00380000 -+#define DMA_RWCTRL_WRITE_WATER_SHIFT 19 -+#define DMA_RWCTRL_USE_MEM_READ_MULT 0x00400000 -+#define DMA_RWCTRL_ASSERT_ALL_BE 0x00800000 -+#define DMA_RWCTRL_PCI_READ_CMD 0x0f000000 -+#define DMA_RWCTRL_PCI_READ_CMD_SHIFT 24 -+#define DMA_RWCTRL_PCI_WRITE_CMD 0xf0000000 -+#define DMA_RWCTRL_PCI_WRITE_CMD_SHIFT 28 -+#define TG3PCI_PCISTATE 0x00000070 -+#define PCISTATE_FORCE_RESET 0x00000001 -+#define PCISTATE_INT_NOT_ACTIVE 0x00000002 -+#define PCISTATE_CONV_PCI_MODE 0x00000004 -+#define PCISTATE_BUS_SPEED_HIGH 0x00000008 -+#define PCISTATE_BUS_32BIT 0x00000010 -+#define PCISTATE_ROM_ENABLE 0x00000020 -+#define PCISTATE_ROM_RETRY_ENABLE 0x00000040 -+#define PCISTATE_FLAT_VIEW 0x00000100 -+#define PCISTATE_RETRY_SAME_DMA 0x00002000 -+#define TG3PCI_CLOCK_CTRL 0x00000074 -+#define CLOCK_CTRL_CORECLK_DISABLE 0x00000200 -+#define CLOCK_CTRL_RXCLK_DISABLE 0x00000400 -+#define CLOCK_CTRL_TXCLK_DISABLE 0x00000800 -+#define CLOCK_CTRL_ALTCLK 0x00001000 -+#define CLOCK_CTRL_PWRDOWN_PLL133 0x00008000 -+#define CLOCK_CTRL_44MHZ_CORE 0x00040000 -+#define CLOCK_CTRL_625_CORE 0x00100000 -+#define CLOCK_CTRL_FORCE_CLKRUN 0x00200000 -+#define CLOCK_CTRL_CLKRUN_OENABLE 0x00400000 -+#define CLOCK_CTRL_DELAY_PCI_GRANT 0x80000000 -+#define TG3PCI_REG_BASE_ADDR 0x00000078 -+#define TG3PCI_MEM_WIN_BASE_ADDR 0x0000007c -+#define TG3PCI_REG_DATA 0x00000080 -+#define TG3PCI_MEM_WIN_DATA 0x00000084 -+#define TG3PCI_MODE_CTRL 0x00000088 -+#define TG3PCI_MISC_CFG 0x0000008c -+#define TG3PCI_MISC_LOCAL_CTRL 0x00000090 -+/* 0x94 --> 0x98 unused */ -+#define TG3PCI_STD_RING_PROD_IDX 0x00000098 /* 64-bit */ -+#define TG3PCI_RCV_RET_RING_CON_IDX 0x000000a0 /* 64-bit */ -+#define TG3PCI_SND_PROD_IDX 0x000000a8 /* 64-bit */ -+/* 0xb0 --> 0x100 unused */ -+ -+/* 0x100 --> 0x200 unused */ -+ -+/* Mailbox registers */ -+#define MAILBOX_INTERRUPT_0 0x00000200 /* 64-bit */ -+#define MAILBOX_INTERRUPT_1 0x00000208 /* 64-bit */ -+#define MAILBOX_INTERRUPT_2 0x00000210 /* 64-bit */ -+#define MAILBOX_INTERRUPT_3 0x00000218 /* 64-bit */ -+#define MAILBOX_GENERAL_0 0x00000220 /* 64-bit */ -+#define MAILBOX_GENERAL_1 0x00000228 /* 64-bit */ -+#define MAILBOX_GENERAL_2 0x00000230 /* 64-bit */ -+#define MAILBOX_GENERAL_3 0x00000238 /* 64-bit */ -+#define MAILBOX_GENERAL_4 0x00000240 /* 64-bit */ -+#define MAILBOX_GENERAL_5 0x00000248 /* 64-bit */ -+#define MAILBOX_GENERAL_6 0x00000250 /* 64-bit */ -+#define MAILBOX_GENERAL_7 0x00000258 /* 64-bit */ -+#define MAILBOX_RELOAD_STAT 0x00000260 /* 64-bit */ -+#define MAILBOX_RCV_STD_PROD_IDX 0x00000268 /* 64-bit */ -+#define MAILBOX_RCV_JUMBO_PROD_IDX 0x00000270 /* 64-bit */ -+#define MAILBOX_RCV_MINI_PROD_IDX 0x00000278 /* 64-bit */ -+#define MAILBOX_RCVRET_CON_IDX_0 0x00000280 /* 64-bit */ -+#define MAILBOX_RCVRET_CON_IDX_1 0x00000288 /* 64-bit */ -+#define MAILBOX_RCVRET_CON_IDX_2 0x00000290 /* 64-bit */ -+#define MAILBOX_RCVRET_CON_IDX_3 0x00000298 /* 64-bit */ -+#define MAILBOX_RCVRET_CON_IDX_4 0x000002a0 /* 64-bit */ -+#define MAILBOX_RCVRET_CON_IDX_5 0x000002a8 /* 64-bit */ -+#define MAILBOX_RCVRET_CON_IDX_6 0x000002b0 /* 64-bit */ -+#define MAILBOX_RCVRET_CON_IDX_7 0x000002b8 /* 64-bit */ -+#define MAILBOX_RCVRET_CON_IDX_8 0x000002c0 /* 64-bit */ -+#define MAILBOX_RCVRET_CON_IDX_9 0x000002c8 /* 64-bit */ -+#define MAILBOX_RCVRET_CON_IDX_10 0x000002d0 /* 64-bit */ -+#define MAILBOX_RCVRET_CON_IDX_11 0x000002d8 /* 64-bit */ -+#define MAILBOX_RCVRET_CON_IDX_12 0x000002e0 /* 64-bit */ -+#define MAILBOX_RCVRET_CON_IDX_13 0x000002e8 /* 64-bit */ -+#define MAILBOX_RCVRET_CON_IDX_14 0x000002f0 /* 64-bit */ -+#define MAILBOX_RCVRET_CON_IDX_15 0x000002f8 /* 64-bit */ -+#define MAILBOX_SNDHOST_PROD_IDX_0 0x00000300 /* 64-bit */ -+#define MAILBOX_SNDHOST_PROD_IDX_1 0x00000308 /* 64-bit */ -+#define MAILBOX_SNDHOST_PROD_IDX_2 0x00000310 /* 64-bit */ -+#define MAILBOX_SNDHOST_PROD_IDX_3 0x00000318 /* 64-bit */ -+#define MAILBOX_SNDHOST_PROD_IDX_4 0x00000320 /* 64-bit */ -+#define MAILBOX_SNDHOST_PROD_IDX_5 0x00000328 /* 64-bit */ -+#define MAILBOX_SNDHOST_PROD_IDX_6 0x00000330 /* 64-bit */ -+#define MAILBOX_SNDHOST_PROD_IDX_7 0x00000338 /* 64-bit */ -+#define MAILBOX_SNDHOST_PROD_IDX_8 0x00000340 /* 64-bit */ -+#define MAILBOX_SNDHOST_PROD_IDX_9 0x00000348 /* 64-bit */ -+#define MAILBOX_SNDHOST_PROD_IDX_10 0x00000350 /* 64-bit */ -+#define MAILBOX_SNDHOST_PROD_IDX_11 0x00000358 /* 64-bit */ -+#define MAILBOX_SNDHOST_PROD_IDX_12 0x00000360 /* 64-bit */ -+#define MAILBOX_SNDHOST_PROD_IDX_13 0x00000368 /* 64-bit */ -+#define MAILBOX_SNDHOST_PROD_IDX_14 0x00000370 /* 64-bit */ -+#define MAILBOX_SNDHOST_PROD_IDX_15 0x00000378 /* 64-bit */ -+#define MAILBOX_SNDNIC_PROD_IDX_0 0x00000380 /* 64-bit */ -+#define MAILBOX_SNDNIC_PROD_IDX_1 0x00000388 /* 64-bit */ -+#define MAILBOX_SNDNIC_PROD_IDX_2 0x00000390 /* 64-bit */ -+#define MAILBOX_SNDNIC_PROD_IDX_3 0x00000398 /* 64-bit */ -+#define MAILBOX_SNDNIC_PROD_IDX_4 0x000003a0 /* 64-bit */ -+#define MAILBOX_SNDNIC_PROD_IDX_5 0x000003a8 /* 64-bit */ -+#define MAILBOX_SNDNIC_PROD_IDX_6 0x000003b0 /* 64-bit */ -+#define MAILBOX_SNDNIC_PROD_IDX_7 0x000003b8 /* 64-bit */ -+#define MAILBOX_SNDNIC_PROD_IDX_8 0x000003c0 /* 64-bit */ -+#define MAILBOX_SNDNIC_PROD_IDX_9 0x000003c8 /* 64-bit */ -+#define MAILBOX_SNDNIC_PROD_IDX_10 0x000003d0 /* 64-bit */ -+#define MAILBOX_SNDNIC_PROD_IDX_11 0x000003d8 /* 64-bit */ -+#define MAILBOX_SNDNIC_PROD_IDX_12 0x000003e0 /* 64-bit */ -+#define MAILBOX_SNDNIC_PROD_IDX_13 0x000003e8 /* 64-bit */ -+#define MAILBOX_SNDNIC_PROD_IDX_14 0x000003f0 /* 64-bit */ -+#define MAILBOX_SNDNIC_PROD_IDX_15 0x000003f8 /* 64-bit */ -+ -+/* MAC control registers */ -+#define MAC_MODE 0x00000400 -+#define MAC_MODE_RESET 0x00000001 -+#define MAC_MODE_HALF_DUPLEX 0x00000002 -+#define MAC_MODE_PORT_MODE_MASK 0x0000000c -+#define MAC_MODE_PORT_MODE_TBI 0x0000000c -+#define MAC_MODE_PORT_MODE_GMII 0x00000008 -+#define MAC_MODE_PORT_MODE_MII 0x00000004 -+#define MAC_MODE_PORT_MODE_NONE 0x00000000 -+#define MAC_MODE_PORT_INT_LPBACK 0x00000010 -+#define MAC_MODE_TAGGED_MAC_CTRL 0x00000080 -+#define MAC_MODE_TX_BURSTING 0x00000100 -+#define MAC_MODE_MAX_DEFER 0x00000200 -+#define MAC_MODE_LINK_POLARITY 0x00000400 -+#define MAC_MODE_RXSTAT_ENABLE 0x00000800 -+#define MAC_MODE_RXSTAT_CLEAR 0x00001000 -+#define MAC_MODE_RXSTAT_FLUSH 0x00002000 -+#define MAC_MODE_TXSTAT_ENABLE 0x00004000 -+#define MAC_MODE_TXSTAT_CLEAR 0x00008000 -+#define MAC_MODE_TXSTAT_FLUSH 0x00010000 -+#define MAC_MODE_SEND_CONFIGS 0x00020000 -+#define MAC_MODE_MAGIC_PKT_ENABLE 0x00040000 -+#define MAC_MODE_ACPI_ENABLE 0x00080000 -+#define MAC_MODE_MIP_ENABLE 0x00100000 -+#define MAC_MODE_TDE_ENABLE 0x00200000 -+#define MAC_MODE_RDE_ENABLE 0x00400000 -+#define MAC_MODE_FHDE_ENABLE 0x00800000 -+#define MAC_STATUS 0x00000404 -+#define MAC_STATUS_PCS_SYNCED 0x00000001 -+#define MAC_STATUS_SIGNAL_DET 0x00000002 -+#define MAC_STATUS_RCVD_CFG 0x00000004 -+#define MAC_STATUS_CFG_CHANGED 0x00000008 -+#define MAC_STATUS_SYNC_CHANGED 0x00000010 -+#define MAC_STATUS_PORT_DEC_ERR 0x00000400 -+#define MAC_STATUS_LNKSTATE_CHANGED 0x00001000 -+#define MAC_STATUS_MI_COMPLETION 0x00400000 -+#define MAC_STATUS_MI_INTERRUPT 0x00800000 -+#define MAC_STATUS_AP_ERROR 0x01000000 -+#define MAC_STATUS_ODI_ERROR 0x02000000 -+#define MAC_STATUS_RXSTAT_OVERRUN 0x04000000 -+#define MAC_STATUS_TXSTAT_OVERRUN 0x08000000 -+#define MAC_EVENT 0x00000408 -+#define MAC_EVENT_PORT_DECODE_ERR 0x00000400 -+#define MAC_EVENT_LNKSTATE_CHANGED 0x00001000 -+#define MAC_EVENT_MI_COMPLETION 0x00400000 -+#define MAC_EVENT_MI_INTERRUPT 0x00800000 -+#define MAC_EVENT_AP_ERROR 0x01000000 -+#define MAC_EVENT_ODI_ERROR 0x02000000 -+#define MAC_EVENT_RXSTAT_OVERRUN 0x04000000 -+#define MAC_EVENT_TXSTAT_OVERRUN 0x08000000 -+#define MAC_LED_CTRL 0x0000040c -+#define LED_CTRL_LNKLED_OVERRIDE 0x00000001 -+#define LED_CTRL_1000MBPS_ON 0x00000002 -+#define LED_CTRL_100MBPS_ON 0x00000004 -+#define LED_CTRL_10MBPS_ON 0x00000008 -+#define LED_CTRL_TRAFFIC_OVERRIDE 0x00000010 -+#define LED_CTRL_TRAFFIC_BLINK 0x00000020 -+#define LED_CTRL_TRAFFIC_LED 0x00000040 -+#define LED_CTRL_1000MBPS_STATUS 0x00000080 -+#define LED_CTRL_100MBPS_STATUS 0x00000100 -+#define LED_CTRL_10MBPS_STATUS 0x00000200 -+#define LED_CTRL_TRAFFIC_STATUS 0x00000400 -+#define LED_CTRL_MAC_MODE 0x00000000 -+#define LED_CTRL_PHY_MODE_1 0x00000800 -+#define LED_CTRL_PHY_MODE_2 0x00001000 -+#define LED_CTRL_BLINK_RATE_MASK 0x7ff80000 -+#define LED_CTRL_BLINK_RATE_SHIFT 19 -+#define LED_CTRL_BLINK_PER_OVERRIDE 0x00080000 -+#define LED_CTRL_BLINK_RATE_OVERRIDE 0x80000000 -+#define MAC_ADDR_0_HIGH 0x00000410 /* upper 2 bytes */ -+#define MAC_ADDR_0_LOW 0x00000414 /* lower 4 bytes */ -+#define MAC_ADDR_1_HIGH 0x00000418 /* upper 2 bytes */ -+#define MAC_ADDR_1_LOW 0x0000041c /* lower 4 bytes */ -+#define MAC_ADDR_2_HIGH 0x00000420 /* upper 2 bytes */ -+#define MAC_ADDR_2_LOW 0x00000424 /* lower 4 bytes */ -+#define MAC_ADDR_3_HIGH 0x00000428 /* upper 2 bytes */ -+#define MAC_ADDR_3_LOW 0x0000042c /* lower 4 bytes */ -+#define MAC_ACPI_MBUF_PTR 0x00000430 -+#define MAC_ACPI_LEN_OFFSET 0x00000434 -+#define ACPI_LENOFF_LEN_MASK 0x0000ffff -+#define ACPI_LENOFF_LEN_SHIFT 0 -+#define ACPI_LENOFF_OFF_MASK 0x0fff0000 -+#define ACPI_LENOFF_OFF_SHIFT 16 -+#define MAC_TX_BACKOFF_SEED 0x00000438 -+#define TX_BACKOFF_SEED_MASK 0x000003ff -+#define MAC_RX_MTU_SIZE 0x0000043c -+#define RX_MTU_SIZE_MASK 0x0000ffff -+#define MAC_PCS_TEST 0x00000440 -+#define PCS_TEST_PATTERN_MASK 0x000fffff -+#define PCS_TEST_PATTERN_SHIFT 0 -+#define PCS_TEST_ENABLE 0x00100000 -+#define MAC_TX_AUTO_NEG 0x00000444 -+#define TX_AUTO_NEG_MASK 0x0000ffff -+#define TX_AUTO_NEG_SHIFT 0 -+#define MAC_RX_AUTO_NEG 0x00000448 -+#define RX_AUTO_NEG_MASK 0x0000ffff -+#define RX_AUTO_NEG_SHIFT 0 -+#define MAC_MI_COM 0x0000044c -+#define MI_COM_CMD_MASK 0x0c000000 -+#define MI_COM_CMD_WRITE 0x04000000 -+#define MI_COM_CMD_READ 0x08000000 -+#define MI_COM_READ_FAILED 0x10000000 -+#define MI_COM_START 0x20000000 -+#define MI_COM_BUSY 0x20000000 -+#define MI_COM_PHY_ADDR_MASK 0x03e00000 -+#define MI_COM_PHY_ADDR_SHIFT 21 -+#define MI_COM_REG_ADDR_MASK 0x001f0000 -+#define MI_COM_REG_ADDR_SHIFT 16 -+#define MI_COM_DATA_MASK 0x0000ffff -+#define MAC_MI_STAT 0x00000450 -+#define MAC_MI_STAT_LNKSTAT_ATTN_ENAB 0x00000001 -+#define MAC_MI_MODE 0x00000454 -+#define MAC_MI_MODE_CLK_10MHZ 0x00000001 -+#define MAC_MI_MODE_SHORT_PREAMBLE 0x00000002 -+#define MAC_MI_MODE_AUTO_POLL 0x00000010 -+#define MAC_MI_MODE_CORE_CLK_62MHZ 0x00008000 -+#define MAC_MI_MODE_BASE 0x000c0000 /* XXX magic values XXX */ -+#define MAC_AUTO_POLL_STATUS 0x00000458 -+#define MAC_AUTO_POLL_ERROR 0x00000001 -+#define MAC_TX_MODE 0x0000045c -+#define TX_MODE_RESET 0x00000001 -+#define TX_MODE_ENABLE 0x00000002 -+#define TX_MODE_FLOW_CTRL_ENABLE 0x00000010 -+#define TX_MODE_BIG_BCKOFF_ENABLE 0x00000020 -+#define TX_MODE_LONG_PAUSE_ENABLE 0x00000040 -+#define MAC_TX_STATUS 0x00000460 -+#define TX_STATUS_XOFFED 0x00000001 -+#define TX_STATUS_SENT_XOFF 0x00000002 -+#define TX_STATUS_SENT_XON 0x00000004 -+#define TX_STATUS_LINK_UP 0x00000008 -+#define TX_STATUS_ODI_UNDERRUN 0x00000010 -+#define TX_STATUS_ODI_OVERRUN 0x00000020 -+#define MAC_TX_LENGTHS 0x00000464 -+#define TX_LENGTHS_SLOT_TIME_MASK 0x000000ff -+#define TX_LENGTHS_SLOT_TIME_SHIFT 0 -+#define TX_LENGTHS_IPG_MASK 0x00000f00 -+#define TX_LENGTHS_IPG_SHIFT 8 -+#define TX_LENGTHS_IPG_CRS_MASK 0x00003000 -+#define TX_LENGTHS_IPG_CRS_SHIFT 12 -+#define MAC_RX_MODE 0x00000468 -+#define RX_MODE_RESET 0x00000001 -+#define RX_MODE_ENABLE 0x00000002 -+#define RX_MODE_FLOW_CTRL_ENABLE 0x00000004 -+#define RX_MODE_KEEP_MAC_CTRL 0x00000008 -+#define RX_MODE_KEEP_PAUSE 0x00000010 -+#define RX_MODE_ACCEPT_OVERSIZED 0x00000020 -+#define RX_MODE_ACCEPT_RUNTS 0x00000040 -+#define RX_MODE_LEN_CHECK 0x00000080 -+#define RX_MODE_PROMISC 0x00000100 -+#define RX_MODE_NO_CRC_CHECK 0x00000200 -+#define RX_MODE_KEEP_VLAN_TAG 0x00000400 -+#define MAC_RX_STATUS 0x0000046c -+#define RX_STATUS_REMOTE_TX_XOFFED 0x00000001 -+#define RX_STATUS_XOFF_RCVD 0x00000002 -+#define RX_STATUS_XON_RCVD 0x00000004 -+#define MAC_HASH_REG_0 0x00000470 -+#define MAC_HASH_REG_1 0x00000474 -+#define MAC_HASH_REG_2 0x00000478 -+#define MAC_HASH_REG_3 0x0000047c -+#define MAC_RCV_RULE_0 0x00000480 -+#define MAC_RCV_VALUE_0 0x00000484 -+#define MAC_RCV_RULE_1 0x00000488 -+#define MAC_RCV_VALUE_1 0x0000048c -+#define MAC_RCV_RULE_2 0x00000490 -+#define MAC_RCV_VALUE_2 0x00000494 -+#define MAC_RCV_RULE_3 0x00000498 -+#define MAC_RCV_VALUE_3 0x0000049c -+#define MAC_RCV_RULE_4 0x000004a0 -+#define MAC_RCV_VALUE_4 0x000004a4 -+#define MAC_RCV_RULE_5 0x000004a8 -+#define MAC_RCV_VALUE_5 0x000004ac -+#define MAC_RCV_RULE_6 0x000004b0 -+#define MAC_RCV_VALUE_6 0x000004b4 -+#define MAC_RCV_RULE_7 0x000004b8 -+#define MAC_RCV_VALUE_7 0x000004bc -+#define MAC_RCV_RULE_8 0x000004c0 -+#define MAC_RCV_VALUE_8 0x000004c4 -+#define MAC_RCV_RULE_9 0x000004c8 -+#define MAC_RCV_VALUE_9 0x000004cc -+#define MAC_RCV_RULE_10 0x000004d0 -+#define MAC_RCV_VALUE_10 0x000004d4 -+#define MAC_RCV_RULE_11 0x000004d8 -+#define MAC_RCV_VALUE_11 0x000004dc -+#define MAC_RCV_RULE_12 0x000004e0 -+#define MAC_RCV_VALUE_12 0x000004e4 -+#define MAC_RCV_RULE_13 0x000004e8 -+#define MAC_RCV_VALUE_13 0x000004ec -+#define MAC_RCV_RULE_14 0x000004f0 -+#define MAC_RCV_VALUE_14 0x000004f4 -+#define MAC_RCV_RULE_15 0x000004f8 -+#define MAC_RCV_VALUE_15 0x000004fc -+#define RCV_RULE_DISABLE_MASK 0x7fffffff -+#define MAC_RCV_RULE_CFG 0x00000500 -+#define RCV_RULE_CFG_DEFAULT_CLASS 0x00000008 -+#define MAC_LOW_WMARK_MAX_RX_FRAME 0x00000504 -+/* 0x508 --> 0x520 unused */ -+#define MAC_HASHREGU_0 0x00000520 -+#define MAC_HASHREGU_1 0x00000524 -+#define MAC_HASHREGU_2 0x00000528 -+#define MAC_HASHREGU_3 0x0000052c -+#define MAC_EXTADDR_0_HIGH 0x00000530 -+#define MAC_EXTADDR_0_LOW 0x00000534 -+#define MAC_EXTADDR_1_HIGH 0x00000538 -+#define MAC_EXTADDR_1_LOW 0x0000053c -+#define MAC_EXTADDR_2_HIGH 0x00000540 -+#define MAC_EXTADDR_2_LOW 0x00000544 -+#define MAC_EXTADDR_3_HIGH 0x00000548 -+#define MAC_EXTADDR_3_LOW 0x0000054c -+#define MAC_EXTADDR_4_HIGH 0x00000550 -+#define MAC_EXTADDR_4_LOW 0x00000554 -+#define MAC_EXTADDR_5_HIGH 0x00000558 -+#define MAC_EXTADDR_5_LOW 0x0000055c -+#define MAC_EXTADDR_6_HIGH 0x00000560 -+#define MAC_EXTADDR_6_LOW 0x00000564 -+#define MAC_EXTADDR_7_HIGH 0x00000568 -+#define MAC_EXTADDR_7_LOW 0x0000056c -+#define MAC_EXTADDR_8_HIGH 0x00000570 -+#define MAC_EXTADDR_8_LOW 0x00000574 -+#define MAC_EXTADDR_9_HIGH 0x00000578 -+#define MAC_EXTADDR_9_LOW 0x0000057c -+#define MAC_EXTADDR_10_HIGH 0x00000580 -+#define MAC_EXTADDR_10_LOW 0x00000584 -+#define MAC_EXTADDR_11_HIGH 0x00000588 -+#define MAC_EXTADDR_11_LOW 0x0000058c -+#define MAC_SERDES_CFG 0x00000590 -+#define MAC_SERDES_STAT 0x00000594 -+/* 0x598 --> 0x600 unused */ -+#define MAC_TX_MAC_STATE_BASE 0x00000600 /* 16 bytes */ -+#define MAC_RX_MAC_STATE_BASE 0x00000610 /* 20 bytes */ -+/* 0x624 --> 0x800 unused */ -+#define MAC_TX_STATS_OCTETS 0x00000800 -+#define MAC_TX_STATS_RESV1 0x00000804 -+#define MAC_TX_STATS_COLLISIONS 0x00000808 -+#define MAC_TX_STATS_XON_SENT 0x0000080c -+#define MAC_TX_STATS_XOFF_SENT 0x00000810 -+#define MAC_TX_STATS_RESV2 0x00000814 -+#define MAC_TX_STATS_MAC_ERRORS 0x00000818 -+#define MAC_TX_STATS_SINGLE_COLLISIONS 0x0000081c -+#define MAC_TX_STATS_MULT_COLLISIONS 0x00000820 -+#define MAC_TX_STATS_DEFERRED 0x00000824 -+#define MAC_TX_STATS_RESV3 0x00000828 -+#define MAC_TX_STATS_EXCESSIVE_COL 0x0000082c -+#define MAC_TX_STATS_LATE_COL 0x00000830 -+#define MAC_TX_STATS_RESV4_1 0x00000834 -+#define MAC_TX_STATS_RESV4_2 0x00000838 -+#define MAC_TX_STATS_RESV4_3 0x0000083c -+#define MAC_TX_STATS_RESV4_4 0x00000840 -+#define MAC_TX_STATS_RESV4_5 0x00000844 -+#define MAC_TX_STATS_RESV4_6 0x00000848 -+#define MAC_TX_STATS_RESV4_7 0x0000084c -+#define MAC_TX_STATS_RESV4_8 0x00000850 -+#define MAC_TX_STATS_RESV4_9 0x00000854 -+#define MAC_TX_STATS_RESV4_10 0x00000858 -+#define MAC_TX_STATS_RESV4_11 0x0000085c -+#define MAC_TX_STATS_RESV4_12 0x00000860 -+#define MAC_TX_STATS_RESV4_13 0x00000864 -+#define MAC_TX_STATS_RESV4_14 0x00000868 -+#define MAC_TX_STATS_UCAST 0x0000086c -+#define MAC_TX_STATS_MCAST 0x00000870 -+#define MAC_TX_STATS_BCAST 0x00000874 -+#define MAC_TX_STATS_RESV5_1 0x00000878 -+#define MAC_TX_STATS_RESV5_2 0x0000087c -+#define MAC_RX_STATS_OCTETS 0x00000880 -+#define MAC_RX_STATS_RESV1 0x00000884 -+#define MAC_RX_STATS_FRAGMENTS 0x00000888 -+#define MAC_RX_STATS_UCAST 0x0000088c -+#define MAC_RX_STATS_MCAST 0x00000890 -+#define MAC_RX_STATS_BCAST 0x00000894 -+#define MAC_RX_STATS_FCS_ERRORS 0x00000898 -+#define MAC_RX_STATS_ALIGN_ERRORS 0x0000089c -+#define MAC_RX_STATS_XON_PAUSE_RECVD 0x000008a0 -+#define MAC_RX_STATS_XOFF_PAUSE_RECVD 0x000008a4 -+#define MAC_RX_STATS_MAC_CTRL_RECVD 0x000008a8 -+#define MAC_RX_STATS_XOFF_ENTERED 0x000008ac -+#define MAC_RX_STATS_FRAME_TOO_LONG 0x000008b0 -+#define MAC_RX_STATS_JABBERS 0x000008b4 -+#define MAC_RX_STATS_UNDERSIZE 0x000008b8 -+/* 0x8bc --> 0xc00 unused */ -+ -+/* Send data initiator control registers */ -+#define SNDDATAI_MODE 0x00000c00 -+#define SNDDATAI_MODE_RESET 0x00000001 -+#define SNDDATAI_MODE_ENABLE 0x00000002 -+#define SNDDATAI_MODE_STAT_OFLOW_ENAB 0x00000004 -+#define SNDDATAI_STATUS 0x00000c04 -+#define SNDDATAI_STATUS_STAT_OFLOW 0x00000004 -+#define SNDDATAI_STATSCTRL 0x00000c08 -+#define SNDDATAI_SCTRL_ENABLE 0x00000001 -+#define SNDDATAI_SCTRL_FASTUPD 0x00000002 -+#define SNDDATAI_SCTRL_CLEAR 0x00000004 -+#define SNDDATAI_SCTRL_FLUSH 0x00000008 -+#define SNDDATAI_SCTRL_FORCE_ZERO 0x00000010 -+#define SNDDATAI_STATSENAB 0x00000c0c -+#define SNDDATAI_STATSINCMASK 0x00000c10 -+/* 0xc14 --> 0xc80 unused */ -+#define SNDDATAI_COS_CNT_0 0x00000c80 -+#define SNDDATAI_COS_CNT_1 0x00000c84 -+#define SNDDATAI_COS_CNT_2 0x00000c88 -+#define SNDDATAI_COS_CNT_3 0x00000c8c -+#define SNDDATAI_COS_CNT_4 0x00000c90 -+#define SNDDATAI_COS_CNT_5 0x00000c94 -+#define SNDDATAI_COS_CNT_6 0x00000c98 -+#define SNDDATAI_COS_CNT_7 0x00000c9c -+#define SNDDATAI_COS_CNT_8 0x00000ca0 -+#define SNDDATAI_COS_CNT_9 0x00000ca4 -+#define SNDDATAI_COS_CNT_10 0x00000ca8 -+#define SNDDATAI_COS_CNT_11 0x00000cac -+#define SNDDATAI_COS_CNT_12 0x00000cb0 -+#define SNDDATAI_COS_CNT_13 0x00000cb4 -+#define SNDDATAI_COS_CNT_14 0x00000cb8 -+#define SNDDATAI_COS_CNT_15 0x00000cbc -+#define SNDDATAI_DMA_RDQ_FULL_CNT 0x00000cc0 -+#define SNDDATAI_DMA_PRIO_RDQ_FULL_CNT 0x00000cc4 -+#define SNDDATAI_SDCQ_FULL_CNT 0x00000cc8 -+#define SNDDATAI_NICRNG_SSND_PIDX_CNT 0x00000ccc -+#define SNDDATAI_STATS_UPDATED_CNT 0x00000cd0 -+#define SNDDATAI_INTERRUPTS_CNT 0x00000cd4 -+#define SNDDATAI_AVOID_INTERRUPTS_CNT 0x00000cd8 -+#define SNDDATAI_SND_THRESH_HIT_CNT 0x00000cdc -+/* 0xce0 --> 0x1000 unused */ -+ -+/* Send data completion control registers */ -+#define SNDDATAC_MODE 0x00001000 -+#define SNDDATAC_MODE_RESET 0x00000001 -+#define SNDDATAC_MODE_ENABLE 0x00000002 -+/* 0x1004 --> 0x1400 unused */ -+ -+/* Send BD ring selector */ -+#define SNDBDS_MODE 0x00001400 -+#define SNDBDS_MODE_RESET 0x00000001 -+#define SNDBDS_MODE_ENABLE 0x00000002 -+#define SNDBDS_MODE_ATTN_ENABLE 0x00000004 -+#define SNDBDS_STATUS 0x00001404 -+#define SNDBDS_STATUS_ERROR_ATTN 0x00000004 -+#define SNDBDS_HWDIAG 0x00001408 -+/* 0x140c --> 0x1440 */ -+#define SNDBDS_SEL_CON_IDX_0 0x00001440 -+#define SNDBDS_SEL_CON_IDX_1 0x00001444 -+#define SNDBDS_SEL_CON_IDX_2 0x00001448 -+#define SNDBDS_SEL_CON_IDX_3 0x0000144c -+#define SNDBDS_SEL_CON_IDX_4 0x00001450 -+#define SNDBDS_SEL_CON_IDX_5 0x00001454 -+#define SNDBDS_SEL_CON_IDX_6 0x00001458 -+#define SNDBDS_SEL_CON_IDX_7 0x0000145c -+#define SNDBDS_SEL_CON_IDX_8 0x00001460 -+#define SNDBDS_SEL_CON_IDX_9 0x00001464 -+#define SNDBDS_SEL_CON_IDX_10 0x00001468 -+#define SNDBDS_SEL_CON_IDX_11 0x0000146c -+#define SNDBDS_SEL_CON_IDX_12 0x00001470 -+#define SNDBDS_SEL_CON_IDX_13 0x00001474 -+#define SNDBDS_SEL_CON_IDX_14 0x00001478 -+#define SNDBDS_SEL_CON_IDX_15 0x0000147c -+/* 0x1480 --> 0x1800 unused */ -+ -+/* Send BD initiator control registers */ -+#define SNDBDI_MODE 0x00001800 -+#define SNDBDI_MODE_RESET 0x00000001 -+#define SNDBDI_MODE_ENABLE 0x00000002 -+#define SNDBDI_MODE_ATTN_ENABLE 0x00000004 -+#define SNDBDI_STATUS 0x00001804 -+#define SNDBDI_STATUS_ERROR_ATTN 0x00000004 -+#define SNDBDI_IN_PROD_IDX_0 0x00001808 -+#define SNDBDI_IN_PROD_IDX_1 0x0000180c -+#define SNDBDI_IN_PROD_IDX_2 0x00001810 -+#define SNDBDI_IN_PROD_IDX_3 0x00001814 -+#define SNDBDI_IN_PROD_IDX_4 0x00001818 -+#define SNDBDI_IN_PROD_IDX_5 0x0000181c -+#define SNDBDI_IN_PROD_IDX_6 0x00001820 -+#define SNDBDI_IN_PROD_IDX_7 0x00001824 -+#define SNDBDI_IN_PROD_IDX_8 0x00001828 -+#define SNDBDI_IN_PROD_IDX_9 0x0000182c -+#define SNDBDI_IN_PROD_IDX_10 0x00001830 -+#define SNDBDI_IN_PROD_IDX_11 0x00001834 -+#define SNDBDI_IN_PROD_IDX_12 0x00001838 -+#define SNDBDI_IN_PROD_IDX_13 0x0000183c -+#define SNDBDI_IN_PROD_IDX_14 0x00001840 -+#define SNDBDI_IN_PROD_IDX_15 0x00001844 -+/* 0x1848 --> 0x1c00 unused */ -+ -+/* Send BD completion control registers */ -+#define SNDBDC_MODE 0x00001c00 -+#define SNDBDC_MODE_RESET 0x00000001 -+#define SNDBDC_MODE_ENABLE 0x00000002 -+#define SNDBDC_MODE_ATTN_ENABLE 0x00000004 -+/* 0x1c04 --> 0x2000 unused */ -+ -+/* Receive list placement control registers */ -+#define RCVLPC_MODE 0x00002000 -+#define RCVLPC_MODE_RESET 0x00000001 -+#define RCVLPC_MODE_ENABLE 0x00000002 -+#define RCVLPC_MODE_CLASS0_ATTN_ENAB 0x00000004 -+#define RCVLPC_MODE_MAPOOR_AATTN_ENAB 0x00000008 -+#define RCVLPC_MODE_STAT_OFLOW_ENAB 0x00000010 -+#define RCVLPC_STATUS 0x00002004 -+#define RCVLPC_STATUS_CLASS0 0x00000004 -+#define RCVLPC_STATUS_MAPOOR 0x00000008 -+#define RCVLPC_STATUS_STAT_OFLOW 0x00000010 -+#define RCVLPC_LOCK 0x00002008 -+#define RCVLPC_LOCK_REQ_MASK 0x0000ffff -+#define RCVLPC_LOCK_REQ_SHIFT 0 -+#define RCVLPC_LOCK_GRANT_MASK 0xffff0000 -+#define RCVLPC_LOCK_GRANT_SHIFT 16 -+#define RCVLPC_NON_EMPTY_BITS 0x0000200c -+#define RCVLPC_NON_EMPTY_BITS_MASK 0x0000ffff -+#define RCVLPC_CONFIG 0x00002010 -+#define RCVLPC_STATSCTRL 0x00002014 -+#define RCVLPC_STATSCTRL_ENABLE 0x00000001 -+#define RCVLPC_STATSCTRL_FASTUPD 0x00000002 -+#define RCVLPC_STATS_ENABLE 0x00002018 -+#define RCVLPC_STATSENAB_LNGBRST_RFIX 0x00400000 -+#define RCVLPC_STATS_INCMASK 0x0000201c -+/* 0x2020 --> 0x2100 unused */ -+#define RCVLPC_SELLST_BASE 0x00002100 /* 16 16-byte entries */ -+#define SELLST_TAIL 0x00000004 -+#define SELLST_CONT 0x00000008 -+#define SELLST_UNUSED 0x0000000c -+#define RCVLPC_COS_CNTL_BASE 0x00002200 /* 16 4-byte entries */ -+#define RCVLPC_DROP_FILTER_CNT 0x00002240 -+#define RCVLPC_DMA_WQ_FULL_CNT 0x00002244 -+#define RCVLPC_DMA_HIPRIO_WQ_FULL_CNT 0x00002248 -+#define RCVLPC_NO_RCV_BD_CNT 0x0000224c -+#define RCVLPC_IN_DISCARDS_CNT 0x00002250 -+#define RCVLPC_IN_ERRORS_CNT 0x00002254 -+#define RCVLPC_RCV_THRESH_HIT_CNT 0x00002258 -+/* 0x225c --> 0x2400 unused */ -+ -+/* Receive Data and Receive BD Initiator Control */ -+#define RCVDBDI_MODE 0x00002400 -+#define RCVDBDI_MODE_RESET 0x00000001 -+#define RCVDBDI_MODE_ENABLE 0x00000002 -+#define RCVDBDI_MODE_JUMBOBD_NEEDED 0x00000004 -+#define RCVDBDI_MODE_FRM_TOO_BIG 0x00000008 -+#define RCVDBDI_MODE_INV_RING_SZ 0x00000010 -+#define RCVDBDI_STATUS 0x00002404 -+#define RCVDBDI_STATUS_JUMBOBD_NEEDED 0x00000004 -+#define RCVDBDI_STATUS_FRM_TOO_BIG 0x00000008 -+#define RCVDBDI_STATUS_INV_RING_SZ 0x00000010 -+#define RCVDBDI_SPLIT_FRAME_MINSZ 0x00002408 -+/* 0x240c --> 0x2440 unused */ -+#define RCVDBDI_JUMBO_BD 0x00002440 /* TG3_BDINFO_... */ -+#define RCVDBDI_STD_BD 0x00002450 /* TG3_BDINFO_... */ -+#define RCVDBDI_MINI_BD 0x00002460 /* TG3_BDINFO_... */ -+#define RCVDBDI_JUMBO_CON_IDX 0x00002470 -+#define RCVDBDI_STD_CON_IDX 0x00002474 -+#define RCVDBDI_MINI_CON_IDX 0x00002478 -+/* 0x247c --> 0x2480 unused */ -+#define RCVDBDI_BD_PROD_IDX_0 0x00002480 -+#define RCVDBDI_BD_PROD_IDX_1 0x00002484 -+#define RCVDBDI_BD_PROD_IDX_2 0x00002488 -+#define RCVDBDI_BD_PROD_IDX_3 0x0000248c -+#define RCVDBDI_BD_PROD_IDX_4 0x00002490 -+#define RCVDBDI_BD_PROD_IDX_5 0x00002494 -+#define RCVDBDI_BD_PROD_IDX_6 0x00002498 -+#define RCVDBDI_BD_PROD_IDX_7 0x0000249c -+#define RCVDBDI_BD_PROD_IDX_8 0x000024a0 -+#define RCVDBDI_BD_PROD_IDX_9 0x000024a4 -+#define RCVDBDI_BD_PROD_IDX_10 0x000024a8 -+#define RCVDBDI_BD_PROD_IDX_11 0x000024ac -+#define RCVDBDI_BD_PROD_IDX_12 0x000024b0 -+#define RCVDBDI_BD_PROD_IDX_13 0x000024b4 -+#define RCVDBDI_BD_PROD_IDX_14 0x000024b8 -+#define RCVDBDI_BD_PROD_IDX_15 0x000024bc -+#define RCVDBDI_HWDIAG 0x000024c0 -+/* 0x24c4 --> 0x2800 unused */ -+ -+/* Receive Data Completion Control */ -+#define RCVDCC_MODE 0x00002800 -+#define RCVDCC_MODE_RESET 0x00000001 -+#define RCVDCC_MODE_ENABLE 0x00000002 -+#define RCVDCC_MODE_ATTN_ENABLE 0x00000004 -+/* 0x2804 --> 0x2c00 unused */ -+ -+/* Receive BD Initiator Control Registers */ -+#define RCVBDI_MODE 0x00002c00 -+#define RCVBDI_MODE_RESET 0x00000001 -+#define RCVBDI_MODE_ENABLE 0x00000002 -+#define RCVBDI_MODE_RCB_ATTN_ENAB 0x00000004 -+#define RCVBDI_STATUS 0x00002c04 -+#define RCVBDI_STATUS_RCB_ATTN 0x00000004 -+#define RCVBDI_JUMBO_PROD_IDX 0x00002c08 -+#define RCVBDI_STD_PROD_IDX 0x00002c0c -+#define RCVBDI_MINI_PROD_IDX 0x00002c10 -+#define RCVBDI_MINI_THRESH 0x00002c14 -+#define RCVBDI_STD_THRESH 0x00002c18 -+#define RCVBDI_JUMBO_THRESH 0x00002c1c -+/* 0x2c20 --> 0x3000 unused */ -+ -+/* Receive BD Completion Control Registers */ -+#define RCVCC_MODE 0x00003000 -+#define RCVCC_MODE_RESET 0x00000001 -+#define RCVCC_MODE_ENABLE 0x00000002 -+#define RCVCC_MODE_ATTN_ENABLE 0x00000004 -+#define RCVCC_STATUS 0x00003004 -+#define RCVCC_STATUS_ERROR_ATTN 0x00000004 -+#define RCVCC_JUMP_PROD_IDX 0x00003008 -+#define RCVCC_STD_PROD_IDX 0x0000300c -+#define RCVCC_MINI_PROD_IDX 0x00003010 -+/* 0x3014 --> 0x3400 unused */ -+ -+/* Receive list selector control registers */ -+#define RCVLSC_MODE 0x00003400 -+#define RCVLSC_MODE_RESET 0x00000001 -+#define RCVLSC_MODE_ENABLE 0x00000002 -+#define RCVLSC_MODE_ATTN_ENABLE 0x00000004 -+#define RCVLSC_STATUS 0x00003404 -+#define RCVLSC_STATUS_ERROR_ATTN 0x00000004 -+/* 0x3408 --> 0x3800 unused */ -+ -+/* Mbuf cluster free registers */ -+#define MBFREE_MODE 0x00003800 -+#define MBFREE_MODE_RESET 0x00000001 -+#define MBFREE_MODE_ENABLE 0x00000002 -+#define MBFREE_STATUS 0x00003804 -+/* 0x3808 --> 0x3c00 unused */ -+ -+/* Host coalescing control registers */ -+#define HOSTCC_MODE 0x00003c00 -+#define HOSTCC_MODE_RESET 0x00000001 -+#define HOSTCC_MODE_ENABLE 0x00000002 -+#define HOSTCC_MODE_ATTN 0x00000004 -+#define HOSTCC_MODE_NOW 0x00000008 -+#define HOSTCC_MODE_FULL_STATUS 0x00000000 -+#define HOSTCC_MODE_64BYTE 0x00000080 -+#define HOSTCC_MODE_32BYTE 0x00000100 -+#define HOSTCC_MODE_CLRTICK_RXBD 0x00000200 -+#define HOSTCC_MODE_CLRTICK_TXBD 0x00000400 -+#define HOSTCC_MODE_NOINT_ON_NOW 0x00000800 -+#define HOSTCC_MODE_NOINT_ON_FORCE 0x00001000 -+#define HOSTCC_STATUS 0x00003c04 -+#define HOSTCC_STATUS_ERROR_ATTN 0x00000004 -+#define HOSTCC_RXCOL_TICKS 0x00003c08 -+#define LOW_RXCOL_TICKS 0x00000032 -+#define DEFAULT_RXCOL_TICKS 0x00000048 -+#define HIGH_RXCOL_TICKS 0x00000096 -+#define HOSTCC_TXCOL_TICKS 0x00003c0c -+#define LOW_TXCOL_TICKS 0x00000096 -+#define DEFAULT_TXCOL_TICKS 0x0000012c -+#define HIGH_TXCOL_TICKS 0x00000145 -+#define HOSTCC_RXMAX_FRAMES 0x00003c10 -+#define LOW_RXMAX_FRAMES 0x00000005 -+#define DEFAULT_RXMAX_FRAMES 0x00000008 -+#define HIGH_RXMAX_FRAMES 0x00000012 -+#define HOSTCC_TXMAX_FRAMES 0x00003c14 -+#define LOW_TXMAX_FRAMES 0x00000035 -+#define DEFAULT_TXMAX_FRAMES 0x0000004b -+#define HIGH_TXMAX_FRAMES 0x00000052 -+#define HOSTCC_RXCOAL_TICK_INT 0x00003c18 -+#define DEFAULT_RXCOAL_TICK_INT 0x00000019 -+#define HOSTCC_TXCOAL_TICK_INT 0x00003c1c -+#define DEFAULT_TXCOAL_TICK_INT 0x00000019 -+#define HOSTCC_RXCOAL_MAXF_INT 0x00003c20 -+#define DEFAULT_RXCOAL_MAXF_INT 0x00000005 -+#define HOSTCC_TXCOAL_MAXF_INT 0x00003c24 -+#define DEFAULT_TXCOAL_MAXF_INT 0x00000005 -+#define HOSTCC_STAT_COAL_TICKS 0x00003c28 -+#define DEFAULT_STAT_COAL_TICKS 0x000f4240 -+/* 0x3c2c --> 0x3c30 unused */ -+#define HOSTCC_STATS_BLK_HOST_ADDR 0x00003c30 /* 64-bit */ -+#define HOSTCC_STATUS_BLK_HOST_ADDR 0x00003c38 /* 64-bit */ -+#define HOSTCC_STATS_BLK_NIC_ADDR 0x00003c40 -+#define HOSTCC_STATUS_BLK_NIC_ADDR 0x00003c44 -+#define HOSTCC_FLOW_ATTN 0x00003c48 -+/* 0x3c4c --> 0x3c50 unused */ -+#define HOSTCC_JUMBO_CON_IDX 0x00003c50 -+#define HOSTCC_STD_CON_IDX 0x00003c54 -+#define HOSTCC_MINI_CON_IDX 0x00003c58 -+/* 0x3c5c --> 0x3c80 unused */ -+#define HOSTCC_RET_PROD_IDX_0 0x00003c80 -+#define HOSTCC_RET_PROD_IDX_1 0x00003c84 -+#define HOSTCC_RET_PROD_IDX_2 0x00003c88 -+#define HOSTCC_RET_PROD_IDX_3 0x00003c8c -+#define HOSTCC_RET_PROD_IDX_4 0x00003c90 -+#define HOSTCC_RET_PROD_IDX_5 0x00003c94 -+#define HOSTCC_RET_PROD_IDX_6 0x00003c98 -+#define HOSTCC_RET_PROD_IDX_7 0x00003c9c -+#define HOSTCC_RET_PROD_IDX_8 0x00003ca0 -+#define HOSTCC_RET_PROD_IDX_9 0x00003ca4 -+#define HOSTCC_RET_PROD_IDX_10 0x00003ca8 -+#define HOSTCC_RET_PROD_IDX_11 0x00003cac -+#define HOSTCC_RET_PROD_IDX_12 0x00003cb0 -+#define HOSTCC_RET_PROD_IDX_13 0x00003cb4 -+#define HOSTCC_RET_PROD_IDX_14 0x00003cb8 -+#define HOSTCC_RET_PROD_IDX_15 0x00003cbc -+#define HOSTCC_SND_CON_IDX_0 0x00003cc0 -+#define HOSTCC_SND_CON_IDX_1 0x00003cc4 -+#define HOSTCC_SND_CON_IDX_2 0x00003cc8 -+#define HOSTCC_SND_CON_IDX_3 0x00003ccc -+#define HOSTCC_SND_CON_IDX_4 0x00003cd0 -+#define HOSTCC_SND_CON_IDX_5 0x00003cd4 -+#define HOSTCC_SND_CON_IDX_6 0x00003cd8 -+#define HOSTCC_SND_CON_IDX_7 0x00003cdc -+#define HOSTCC_SND_CON_IDX_8 0x00003ce0 -+#define HOSTCC_SND_CON_IDX_9 0x00003ce4 -+#define HOSTCC_SND_CON_IDX_10 0x00003ce8 -+#define HOSTCC_SND_CON_IDX_11 0x00003cec -+#define HOSTCC_SND_CON_IDX_12 0x00003cf0 -+#define HOSTCC_SND_CON_IDX_13 0x00003cf4 -+#define HOSTCC_SND_CON_IDX_14 0x00003cf8 -+#define HOSTCC_SND_CON_IDX_15 0x00003cfc -+/* 0x3d00 --> 0x4000 unused */ -+ -+/* Memory arbiter control registers */ -+#define MEMARB_MODE 0x00004000 -+#define MEMARB_MODE_RESET 0x00000001 -+#define MEMARB_MODE_ENABLE 0x00000002 -+#define MEMARB_STATUS 0x00004004 -+#define MEMARB_TRAP_ADDR_LOW 0x00004008 -+#define MEMARB_TRAP_ADDR_HIGH 0x0000400c -+/* 0x4010 --> 0x4400 unused */ -+ -+/* Buffer manager control registers */ -+#define BUFMGR_MODE 0x00004400 -+#define BUFMGR_MODE_RESET 0x00000001 -+#define BUFMGR_MODE_ENABLE 0x00000002 -+#define BUFMGR_MODE_ATTN_ENABLE 0x00000004 -+#define BUFMGR_MODE_BM_TEST 0x00000008 -+#define BUFMGR_MODE_MBLOW_ATTN_ENAB 0x00000010 -+#define BUFMGR_STATUS 0x00004404 -+#define BUFMGR_STATUS_ERROR 0x00000004 -+#define BUFMGR_STATUS_MBLOW 0x00000010 -+#define BUFMGR_MB_POOL_ADDR 0x00004408 -+#define BUFMGR_MB_POOL_SIZE 0x0000440c -+#define BUFMGR_MB_RDMA_LOW_WATER 0x00004410 -+#define DEFAULT_MB_RDMA_LOW_WATER 0x00000050 -+#define DEFAULT_MB_RDMA_LOW_WATER_5705 0x00000000 -+#define DEFAULT_MB_RDMA_LOW_WATER_JUMBO 0x00000130 -+#define BUFMGR_MB_MACRX_LOW_WATER 0x00004414 -+#define DEFAULT_MB_MACRX_LOW_WATER 0x00000020 -+#define DEFAULT_MB_MACRX_LOW_WATER_5705 0x00000010 -+#define DEFAULT_MB_MACRX_LOW_WATER_JUMBO 0x00000098 -+#define BUFMGR_MB_HIGH_WATER 0x00004418 -+#define DEFAULT_MB_HIGH_WATER 0x00000060 -+#define DEFAULT_MB_HIGH_WATER_5705 0x00000060 -+#define DEFAULT_MB_HIGH_WATER_JUMBO 0x0000017c -+#define BUFMGR_RX_MB_ALLOC_REQ 0x0000441c -+#define BUFMGR_MB_ALLOC_BIT 0x10000000 -+#define BUFMGR_RX_MB_ALLOC_RESP 0x00004420 -+#define BUFMGR_TX_MB_ALLOC_REQ 0x00004424 -+#define BUFMGR_TX_MB_ALLOC_RESP 0x00004428 -+#define BUFMGR_DMA_DESC_POOL_ADDR 0x0000442c -+#define BUFMGR_DMA_DESC_POOL_SIZE 0x00004430 -+#define BUFMGR_DMA_LOW_WATER 0x00004434 -+#define DEFAULT_DMA_LOW_WATER 0x00000005 -+#define BUFMGR_DMA_HIGH_WATER 0x00004438 -+#define DEFAULT_DMA_HIGH_WATER 0x0000000a -+#define BUFMGR_RX_DMA_ALLOC_REQ 0x0000443c -+#define BUFMGR_RX_DMA_ALLOC_RESP 0x00004440 -+#define BUFMGR_TX_DMA_ALLOC_REQ 0x00004444 -+#define BUFMGR_TX_DMA_ALLOC_RESP 0x00004448 -+#define BUFMGR_HWDIAG_0 0x0000444c -+#define BUFMGR_HWDIAG_1 0x00004450 -+#define BUFMGR_HWDIAG_2 0x00004454 -+/* 0x4458 --> 0x4800 unused */ -+ -+/* Read DMA control registers */ -+#define RDMAC_MODE 0x00004800 -+#define RDMAC_MODE_RESET 0x00000001 -+#define RDMAC_MODE_ENABLE 0x00000002 -+#define RDMAC_MODE_TGTABORT_ENAB 0x00000004 -+#define RDMAC_MODE_MSTABORT_ENAB 0x00000008 -+#define RDMAC_MODE_PARITYERR_ENAB 0x00000010 -+#define RDMAC_MODE_ADDROFLOW_ENAB 0x00000020 -+#define RDMAC_MODE_FIFOOFLOW_ENAB 0x00000040 -+#define RDMAC_MODE_FIFOURUN_ENAB 0x00000080 -+#define RDMAC_MODE_FIFOOREAD_ENAB 0x00000100 -+#define RDMAC_MODE_LNGREAD_ENAB 0x00000200 -+#define RDMAC_MODE_SPLIT_ENABLE 0x00000800 -+#define RDMAC_MODE_SPLIT_RESET 0x00001000 -+#define RDMAC_MODE_FIFO_SIZE_128 0x00020000 -+#define RDMAC_MODE_FIFO_LONG_BURST 0x00030000 -+#define RDMAC_STATUS 0x00004804 -+#define RDMAC_STATUS_TGTABORT 0x00000004 -+#define RDMAC_STATUS_MSTABORT 0x00000008 -+#define RDMAC_STATUS_PARITYERR 0x00000010 -+#define RDMAC_STATUS_ADDROFLOW 0x00000020 -+#define RDMAC_STATUS_FIFOOFLOW 0x00000040 -+#define RDMAC_STATUS_FIFOURUN 0x00000080 -+#define RDMAC_STATUS_FIFOOREAD 0x00000100 -+#define RDMAC_STATUS_LNGREAD 0x00000200 -+/* 0x4808 --> 0x4c00 unused */ -+ -+/* Write DMA control registers */ -+#define WDMAC_MODE 0x00004c00 -+#define WDMAC_MODE_RESET 0x00000001 -+#define WDMAC_MODE_ENABLE 0x00000002 -+#define WDMAC_MODE_TGTABORT_ENAB 0x00000004 -+#define WDMAC_MODE_MSTABORT_ENAB 0x00000008 -+#define WDMAC_MODE_PARITYERR_ENAB 0x00000010 -+#define WDMAC_MODE_ADDROFLOW_ENAB 0x00000020 -+#define WDMAC_MODE_FIFOOFLOW_ENAB 0x00000040 -+#define WDMAC_MODE_FIFOURUN_ENAB 0x00000080 -+#define WDMAC_MODE_FIFOOREAD_ENAB 0x00000100 -+#define WDMAC_MODE_LNGREAD_ENAB 0x00000200 -+#define WDMAC_MODE_RX_ACCEL 0x00000400 -+#define WDMAC_STATUS 0x00004c04 -+#define WDMAC_STATUS_TGTABORT 0x00000004 -+#define WDMAC_STATUS_MSTABORT 0x00000008 -+#define WDMAC_STATUS_PARITYERR 0x00000010 -+#define WDMAC_STATUS_ADDROFLOW 0x00000020 -+#define WDMAC_STATUS_FIFOOFLOW 0x00000040 -+#define WDMAC_STATUS_FIFOURUN 0x00000080 -+#define WDMAC_STATUS_FIFOOREAD 0x00000100 -+#define WDMAC_STATUS_LNGREAD 0x00000200 -+/* 0x4c08 --> 0x5000 unused */ -+ -+/* Per-cpu register offsets (arm9) */ -+#define CPU_MODE 0x00000000 -+#define CPU_MODE_RESET 0x00000001 -+#define CPU_MODE_HALT 0x00000400 -+#define CPU_STATE 0x00000004 -+#define CPU_EVTMASK 0x00000008 -+/* 0xc --> 0x1c reserved */ -+#define CPU_PC 0x0000001c -+#define CPU_INSN 0x00000020 -+#define CPU_SPAD_UFLOW 0x00000024 -+#define CPU_WDOG_CLEAR 0x00000028 -+#define CPU_WDOG_VECTOR 0x0000002c -+#define CPU_WDOG_PC 0x00000030 -+#define CPU_HW_BP 0x00000034 -+/* 0x38 --> 0x44 unused */ -+#define CPU_WDOG_SAVED_STATE 0x00000044 -+#define CPU_LAST_BRANCH_ADDR 0x00000048 -+#define CPU_SPAD_UFLOW_SET 0x0000004c -+/* 0x50 --> 0x200 unused */ -+#define CPU_R0 0x00000200 -+#define CPU_R1 0x00000204 -+#define CPU_R2 0x00000208 -+#define CPU_R3 0x0000020c -+#define CPU_R4 0x00000210 -+#define CPU_R5 0x00000214 -+#define CPU_R6 0x00000218 -+#define CPU_R7 0x0000021c -+#define CPU_R8 0x00000220 -+#define CPU_R9 0x00000224 -+#define CPU_R10 0x00000228 -+#define CPU_R11 0x0000022c -+#define CPU_R12 0x00000230 -+#define CPU_R13 0x00000234 -+#define CPU_R14 0x00000238 -+#define CPU_R15 0x0000023c -+#define CPU_R16 0x00000240 -+#define CPU_R17 0x00000244 -+#define CPU_R18 0x00000248 -+#define CPU_R19 0x0000024c -+#define CPU_R20 0x00000250 -+#define CPU_R21 0x00000254 -+#define CPU_R22 0x00000258 -+#define CPU_R23 0x0000025c -+#define CPU_R24 0x00000260 -+#define CPU_R25 0x00000264 -+#define CPU_R26 0x00000268 -+#define CPU_R27 0x0000026c -+#define CPU_R28 0x00000270 -+#define CPU_R29 0x00000274 -+#define CPU_R30 0x00000278 -+#define CPU_R31 0x0000027c -+/* 0x280 --> 0x400 unused */ -+ -+#define RX_CPU_BASE 0x00005000 -+#define TX_CPU_BASE 0x00005400 -+ -+/* Mailboxes */ -+#define GRCMBOX_INTERRUPT_0 0x00005800 /* 64-bit */ -+#define GRCMBOX_INTERRUPT_1 0x00005808 /* 64-bit */ -+#define GRCMBOX_INTERRUPT_2 0x00005810 /* 64-bit */ -+#define GRCMBOX_INTERRUPT_3 0x00005818 /* 64-bit */ -+#define GRCMBOX_GENERAL_0 0x00005820 /* 64-bit */ -+#define GRCMBOX_GENERAL_1 0x00005828 /* 64-bit */ -+#define GRCMBOX_GENERAL_2 0x00005830 /* 64-bit */ -+#define GRCMBOX_GENERAL_3 0x00005838 /* 64-bit */ -+#define GRCMBOX_GENERAL_4 0x00005840 /* 64-bit */ -+#define GRCMBOX_GENERAL_5 0x00005848 /* 64-bit */ -+#define GRCMBOX_GENERAL_6 0x00005850 /* 64-bit */ -+#define GRCMBOX_GENERAL_7 0x00005858 /* 64-bit */ -+#define GRCMBOX_RELOAD_STAT 0x00005860 /* 64-bit */ -+#define GRCMBOX_RCVSTD_PROD_IDX 0x00005868 /* 64-bit */ -+#define GRCMBOX_RCVJUMBO_PROD_IDX 0x00005870 /* 64-bit */ -+#define GRCMBOX_RCVMINI_PROD_IDX 0x00005878 /* 64-bit */ -+#define GRCMBOX_RCVRET_CON_IDX_0 0x00005880 /* 64-bit */ -+#define GRCMBOX_RCVRET_CON_IDX_1 0x00005888 /* 64-bit */ -+#define GRCMBOX_RCVRET_CON_IDX_2 0x00005890 /* 64-bit */ -+#define GRCMBOX_RCVRET_CON_IDX_3 0x00005898 /* 64-bit */ -+#define GRCMBOX_RCVRET_CON_IDX_4 0x000058a0 /* 64-bit */ -+#define GRCMBOX_RCVRET_CON_IDX_5 0x000058a8 /* 64-bit */ -+#define GRCMBOX_RCVRET_CON_IDX_6 0x000058b0 /* 64-bit */ -+#define GRCMBOX_RCVRET_CON_IDX_7 0x000058b8 /* 64-bit */ -+#define GRCMBOX_RCVRET_CON_IDX_8 0x000058c0 /* 64-bit */ -+#define GRCMBOX_RCVRET_CON_IDX_9 0x000058c8 /* 64-bit */ -+#define GRCMBOX_RCVRET_CON_IDX_10 0x000058d0 /* 64-bit */ -+#define GRCMBOX_RCVRET_CON_IDX_11 0x000058d8 /* 64-bit */ -+#define GRCMBOX_RCVRET_CON_IDX_12 0x000058e0 /* 64-bit */ -+#define GRCMBOX_RCVRET_CON_IDX_13 0x000058e8 /* 64-bit */ -+#define GRCMBOX_RCVRET_CON_IDX_14 0x000058f0 /* 64-bit */ -+#define GRCMBOX_RCVRET_CON_IDX_15 0x000058f8 /* 64-bit */ -+#define GRCMBOX_SNDHOST_PROD_IDX_0 0x00005900 /* 64-bit */ -+#define GRCMBOX_SNDHOST_PROD_IDX_1 0x00005908 /* 64-bit */ -+#define GRCMBOX_SNDHOST_PROD_IDX_2 0x00005910 /* 64-bit */ -+#define GRCMBOX_SNDHOST_PROD_IDX_3 0x00005918 /* 64-bit */ -+#define GRCMBOX_SNDHOST_PROD_IDX_4 0x00005920 /* 64-bit */ -+#define GRCMBOX_SNDHOST_PROD_IDX_5 0x00005928 /* 64-bit */ -+#define GRCMBOX_SNDHOST_PROD_IDX_6 0x00005930 /* 64-bit */ -+#define GRCMBOX_SNDHOST_PROD_IDX_7 0x00005938 /* 64-bit */ -+#define GRCMBOX_SNDHOST_PROD_IDX_8 0x00005940 /* 64-bit */ -+#define GRCMBOX_SNDHOST_PROD_IDX_9 0x00005948 /* 64-bit */ -+#define GRCMBOX_SNDHOST_PROD_IDX_10 0x00005950 /* 64-bit */ -+#define GRCMBOX_SNDHOST_PROD_IDX_11 0x00005958 /* 64-bit */ -+#define GRCMBOX_SNDHOST_PROD_IDX_12 0x00005960 /* 64-bit */ -+#define GRCMBOX_SNDHOST_PROD_IDX_13 0x00005968 /* 64-bit */ -+#define GRCMBOX_SNDHOST_PROD_IDX_14 0x00005970 /* 64-bit */ -+#define GRCMBOX_SNDHOST_PROD_IDX_15 0x00005978 /* 64-bit */ -+#define GRCMBOX_SNDNIC_PROD_IDX_0 0x00005980 /* 64-bit */ -+#define GRCMBOX_SNDNIC_PROD_IDX_1 0x00005988 /* 64-bit */ -+#define GRCMBOX_SNDNIC_PROD_IDX_2 0x00005990 /* 64-bit */ -+#define GRCMBOX_SNDNIC_PROD_IDX_3 0x00005998 /* 64-bit */ -+#define GRCMBOX_SNDNIC_PROD_IDX_4 0x000059a0 /* 64-bit */ -+#define GRCMBOX_SNDNIC_PROD_IDX_5 0x000059a8 /* 64-bit */ -+#define GRCMBOX_SNDNIC_PROD_IDX_6 0x000059b0 /* 64-bit */ -+#define GRCMBOX_SNDNIC_PROD_IDX_7 0x000059b8 /* 64-bit */ -+#define GRCMBOX_SNDNIC_PROD_IDX_8 0x000059c0 /* 64-bit */ -+#define GRCMBOX_SNDNIC_PROD_IDX_9 0x000059c8 /* 64-bit */ -+#define GRCMBOX_SNDNIC_PROD_IDX_10 0x000059d0 /* 64-bit */ -+#define GRCMBOX_SNDNIC_PROD_IDX_11 0x000059d8 /* 64-bit */ -+#define GRCMBOX_SNDNIC_PROD_IDX_12 0x000059e0 /* 64-bit */ -+#define GRCMBOX_SNDNIC_PROD_IDX_13 0x000059e8 /* 64-bit */ -+#define GRCMBOX_SNDNIC_PROD_IDX_14 0x000059f0 /* 64-bit */ -+#define GRCMBOX_SNDNIC_PROD_IDX_15 0x000059f8 /* 64-bit */ -+#define GRCMBOX_HIGH_PRIO_EV_VECTOR 0x00005a00 -+#define GRCMBOX_HIGH_PRIO_EV_MASK 0x00005a04 -+#define GRCMBOX_LOW_PRIO_EV_VEC 0x00005a08 -+#define GRCMBOX_LOW_PRIO_EV_MASK 0x00005a0c -+/* 0x5a10 --> 0x5c00 */ -+ -+/* Flow Through queues */ -+#define FTQ_RESET 0x00005c00 -+/* 0x5c04 --> 0x5c10 unused */ -+#define FTQ_DMA_NORM_READ_CTL 0x00005c10 -+#define FTQ_DMA_NORM_READ_FULL_CNT 0x00005c14 -+#define FTQ_DMA_NORM_READ_FIFO_ENQDEQ 0x00005c18 -+#define FTQ_DMA_NORM_READ_WRITE_PEEK 0x00005c1c -+#define FTQ_DMA_HIGH_READ_CTL 0x00005c20 -+#define FTQ_DMA_HIGH_READ_FULL_CNT 0x00005c24 -+#define FTQ_DMA_HIGH_READ_FIFO_ENQDEQ 0x00005c28 -+#define FTQ_DMA_HIGH_READ_WRITE_PEEK 0x00005c2c -+#define FTQ_DMA_COMP_DISC_CTL 0x00005c30 -+#define FTQ_DMA_COMP_DISC_FULL_CNT 0x00005c34 -+#define FTQ_DMA_COMP_DISC_FIFO_ENQDEQ 0x00005c38 -+#define FTQ_DMA_COMP_DISC_WRITE_PEEK 0x00005c3c -+#define FTQ_SEND_BD_COMP_CTL 0x00005c40 -+#define FTQ_SEND_BD_COMP_FULL_CNT 0x00005c44 -+#define FTQ_SEND_BD_COMP_FIFO_ENQDEQ 0x00005c48 -+#define FTQ_SEND_BD_COMP_WRITE_PEEK 0x00005c4c -+#define FTQ_SEND_DATA_INIT_CTL 0x00005c50 -+#define FTQ_SEND_DATA_INIT_FULL_CNT 0x00005c54 -+#define FTQ_SEND_DATA_INIT_FIFO_ENQDEQ 0x00005c58 -+#define FTQ_SEND_DATA_INIT_WRITE_PEEK 0x00005c5c -+#define FTQ_DMA_NORM_WRITE_CTL 0x00005c60 -+#define FTQ_DMA_NORM_WRITE_FULL_CNT 0x00005c64 -+#define FTQ_DMA_NORM_WRITE_FIFO_ENQDEQ 0x00005c68 -+#define FTQ_DMA_NORM_WRITE_WRITE_PEEK 0x00005c6c -+#define FTQ_DMA_HIGH_WRITE_CTL 0x00005c70 -+#define FTQ_DMA_HIGH_WRITE_FULL_CNT 0x00005c74 -+#define FTQ_DMA_HIGH_WRITE_FIFO_ENQDEQ 0x00005c78 -+#define FTQ_DMA_HIGH_WRITE_WRITE_PEEK 0x00005c7c -+#define FTQ_SWTYPE1_CTL 0x00005c80 -+#define FTQ_SWTYPE1_FULL_CNT 0x00005c84 -+#define FTQ_SWTYPE1_FIFO_ENQDEQ 0x00005c88 -+#define FTQ_SWTYPE1_WRITE_PEEK 0x00005c8c -+#define FTQ_SEND_DATA_COMP_CTL 0x00005c90 -+#define FTQ_SEND_DATA_COMP_FULL_CNT 0x00005c94 -+#define FTQ_SEND_DATA_COMP_FIFO_ENQDEQ 0x00005c98 -+#define FTQ_SEND_DATA_COMP_WRITE_PEEK 0x00005c9c -+#define FTQ_HOST_COAL_CTL 0x00005ca0 -+#define FTQ_HOST_COAL_FULL_CNT 0x00005ca4 -+#define FTQ_HOST_COAL_FIFO_ENQDEQ 0x00005ca8 -+#define FTQ_HOST_COAL_WRITE_PEEK 0x00005cac -+#define FTQ_MAC_TX_CTL 0x00005cb0 -+#define FTQ_MAC_TX_FULL_CNT 0x00005cb4 -+#define FTQ_MAC_TX_FIFO_ENQDEQ 0x00005cb8 -+#define FTQ_MAC_TX_WRITE_PEEK 0x00005cbc -+#define FTQ_MB_FREE_CTL 0x00005cc0 -+#define FTQ_MB_FREE_FULL_CNT 0x00005cc4 -+#define FTQ_MB_FREE_FIFO_ENQDEQ 0x00005cc8 -+#define FTQ_MB_FREE_WRITE_PEEK 0x00005ccc -+#define FTQ_RCVBD_COMP_CTL 0x00005cd0 -+#define FTQ_RCVBD_COMP_FULL_CNT 0x00005cd4 -+#define FTQ_RCVBD_COMP_FIFO_ENQDEQ 0x00005cd8 -+#define FTQ_RCVBD_COMP_WRITE_PEEK 0x00005cdc -+#define FTQ_RCVLST_PLMT_CTL 0x00005ce0 -+#define FTQ_RCVLST_PLMT_FULL_CNT 0x00005ce4 -+#define FTQ_RCVLST_PLMT_FIFO_ENQDEQ 0x00005ce8 -+#define FTQ_RCVLST_PLMT_WRITE_PEEK 0x00005cec -+#define FTQ_RCVDATA_INI_CTL 0x00005cf0 -+#define FTQ_RCVDATA_INI_FULL_CNT 0x00005cf4 -+#define FTQ_RCVDATA_INI_FIFO_ENQDEQ 0x00005cf8 -+#define FTQ_RCVDATA_INI_WRITE_PEEK 0x00005cfc -+#define FTQ_RCVDATA_COMP_CTL 0x00005d00 -+#define FTQ_RCVDATA_COMP_FULL_CNT 0x00005d04 -+#define FTQ_RCVDATA_COMP_FIFO_ENQDEQ 0x00005d08 -+#define FTQ_RCVDATA_COMP_WRITE_PEEK 0x00005d0c -+#define FTQ_SWTYPE2_CTL 0x00005d10 -+#define FTQ_SWTYPE2_FULL_CNT 0x00005d14 -+#define FTQ_SWTYPE2_FIFO_ENQDEQ 0x00005d18 -+#define FTQ_SWTYPE2_WRITE_PEEK 0x00005d1c -+/* 0x5d20 --> 0x6000 unused */ -+ -+/* Message signaled interrupt registers */ -+#define MSGINT_MODE 0x00006000 -+#define MSGINT_MODE_RESET 0x00000001 -+#define MSGINT_MODE_ENABLE 0x00000002 -+#define MSGINT_STATUS 0x00006004 -+#define MSGINT_FIFO 0x00006008 -+/* 0x600c --> 0x6400 unused */ -+ -+/* DMA completion registers */ -+#define DMAC_MODE 0x00006400 -+#define DMAC_MODE_RESET 0x00000001 -+#define DMAC_MODE_ENABLE 0x00000002 -+/* 0x6404 --> 0x6800 unused */ -+ -+/* GRC registers */ -+#define GRC_MODE 0x00006800 -+#define GRC_MODE_UPD_ON_COAL 0x00000001 -+#define GRC_MODE_BSWAP_NONFRM_DATA 0x00000002 -+#define GRC_MODE_WSWAP_NONFRM_DATA 0x00000004 -+#define GRC_MODE_BSWAP_DATA 0x00000010 -+#define GRC_MODE_WSWAP_DATA 0x00000020 -+#define GRC_MODE_SPLITHDR 0x00000100 -+#define GRC_MODE_NOFRM_CRACKING 0x00000200 -+#define GRC_MODE_INCL_CRC 0x00000400 -+#define GRC_MODE_ALLOW_BAD_FRMS 0x00000800 -+#define GRC_MODE_NOIRQ_ON_SENDS 0x00002000 -+#define GRC_MODE_NOIRQ_ON_RCV 0x00004000 -+#define GRC_MODE_FORCE_PCI32BIT 0x00008000 -+#define GRC_MODE_HOST_STACKUP 0x00010000 -+#define GRC_MODE_HOST_SENDBDS 0x00020000 -+#define GRC_MODE_NO_TX_PHDR_CSUM 0x00100000 -+#define GRC_MODE_NO_RX_PHDR_CSUM 0x00800000 -+#define GRC_MODE_IRQ_ON_TX_CPU_ATTN 0x01000000 -+#define GRC_MODE_IRQ_ON_RX_CPU_ATTN 0x02000000 -+#define GRC_MODE_IRQ_ON_MAC_ATTN 0x04000000 -+#define GRC_MODE_IRQ_ON_DMA_ATTN 0x08000000 -+#define GRC_MODE_IRQ_ON_FLOW_ATTN 0x10000000 -+#define GRC_MODE_4X_NIC_SEND_RINGS 0x20000000 -+#define GRC_MODE_MCAST_FRM_ENABLE 0x40000000 -+#define GRC_MISC_CFG 0x00006804 -+#define GRC_MISC_CFG_CORECLK_RESET 0x00000001 -+#define GRC_MISC_CFG_PRESCALAR_MASK 0x000000fe -+#define GRC_MISC_CFG_PRESCALAR_SHIFT 1 -+#define GRC_MISC_CFG_BOARD_ID_MASK 0x0001e000 -+#define GRC_MISC_CFG_BOARD_ID_5700 0x0001e000 -+#define GRC_MISC_CFG_BOARD_ID_5701 0x00000000 -+#define GRC_MISC_CFG_BOARD_ID_5702FE 0x00004000 -+#define GRC_MISC_CFG_BOARD_ID_5703 0x00000000 -+#define GRC_MISC_CFG_BOARD_ID_5703S 0x00002000 -+#define GRC_MISC_CFG_BOARD_ID_5704 0x00000000 -+#define GRC_MISC_CFG_BOARD_ID_5704CIOBE 0x00004000 -+#define GRC_MISC_CFG_BOARD_ID_5704_A2 0x00008000 -+#define GRC_MISC_CFG_BOARD_ID_5788 0x00010000 -+#define GRC_MISC_CFG_BOARD_ID_5788M 0x00018000 -+#define GRC_MISC_CFG_BOARD_ID_AC91002A1 0x00018000 -+#define GRC_MISC_CFG_KEEP_GPHY_POWER 0x04000000 -+#define GRC_LOCAL_CTRL 0x00006808 -+#define GRC_LCLCTRL_INT_ACTIVE 0x00000001 -+#define GRC_LCLCTRL_CLEARINT 0x00000002 -+#define GRC_LCLCTRL_SETINT 0x00000004 -+#define GRC_LCLCTRL_INT_ON_ATTN 0x00000008 -+#define GRC_LCLCTRL_GPIO_INPUT0 0x00000100 -+#define GRC_LCLCTRL_GPIO_INPUT1 0x00000200 -+#define GRC_LCLCTRL_GPIO_INPUT2 0x00000400 -+#define GRC_LCLCTRL_GPIO_OE0 0x00000800 -+#define GRC_LCLCTRL_GPIO_OE1 0x00001000 -+#define GRC_LCLCTRL_GPIO_OE2 0x00002000 -+#define GRC_LCLCTRL_GPIO_OUTPUT0 0x00004000 -+#define GRC_LCLCTRL_GPIO_OUTPUT1 0x00008000 -+#define GRC_LCLCTRL_GPIO_OUTPUT2 0x00010000 -+#define GRC_LCLCTRL_EXTMEM_ENABLE 0x00020000 -+#define GRC_LCLCTRL_MEMSZ_MASK 0x001c0000 -+#define GRC_LCLCTRL_MEMSZ_256K 0x00000000 -+#define GRC_LCLCTRL_MEMSZ_512K 0x00040000 -+#define GRC_LCLCTRL_MEMSZ_1M 0x00080000 -+#define GRC_LCLCTRL_MEMSZ_2M 0x000c0000 -+#define GRC_LCLCTRL_MEMSZ_4M 0x00100000 -+#define GRC_LCLCTRL_MEMSZ_8M 0x00140000 -+#define GRC_LCLCTRL_MEMSZ_16M 0x00180000 -+#define GRC_LCLCTRL_BANK_SELECT 0x00200000 -+#define GRC_LCLCTRL_SSRAM_TYPE 0x00400000 -+#define GRC_LCLCTRL_AUTO_SEEPROM 0x01000000 -+#define GRC_TIMER 0x0000680c -+#define GRC_RX_CPU_EVENT 0x00006810 -+#define GRC_RX_TIMER_REF 0x00006814 -+#define GRC_RX_CPU_SEM 0x00006818 -+#define GRC_REMOTE_RX_CPU_ATTN 0x0000681c -+#define GRC_TX_CPU_EVENT 0x00006820 -+#define GRC_TX_TIMER_REF 0x00006824 -+#define GRC_TX_CPU_SEM 0x00006828 -+#define GRC_REMOTE_TX_CPU_ATTN 0x0000682c -+#define GRC_MEM_POWER_UP 0x00006830 /* 64-bit */ -+#define GRC_EEPROM_ADDR 0x00006838 -+#define EEPROM_ADDR_WRITE 0x00000000 -+#define EEPROM_ADDR_READ 0x80000000 -+#define EEPROM_ADDR_COMPLETE 0x40000000 -+#define EEPROM_ADDR_FSM_RESET 0x20000000 -+#define EEPROM_ADDR_DEVID_MASK 0x1c000000 -+#define EEPROM_ADDR_DEVID_SHIFT 26 -+#define EEPROM_ADDR_START 0x02000000 -+#define EEPROM_ADDR_CLKPERD_SHIFT 16 -+#define EEPROM_ADDR_ADDR_MASK 0x0000ffff -+#define EEPROM_ADDR_ADDR_SHIFT 0 -+#define EEPROM_DEFAULT_CLOCK_PERIOD 0x60 -+#define EEPROM_CHIP_SIZE (64 * 1024) -+#define GRC_EEPROM_DATA 0x0000683c -+#define GRC_EEPROM_CTRL 0x00006840 -+#define GRC_MDI_CTRL 0x00006844 -+#define GRC_SEEPROM_DELAY 0x00006848 -+/* 0x684c --> 0x6c00 unused */ -+ -+/* 0x6c00 --> 0x7000 unused */ -+ -+/* NVRAM Control registers */ -+#define NVRAM_CMD 0x00007000 -+#define NVRAM_CMD_RESET 0x00000001 -+#define NVRAM_CMD_DONE 0x00000008 -+#define NVRAM_CMD_GO 0x00000010 -+#define NVRAM_CMD_WR 0x00000020 -+#define NVRAM_CMD_RD 0x00000000 -+#define NVRAM_CMD_ERASE 0x00000040 -+#define NVRAM_CMD_FIRST 0x00000080 -+#define NVRAM_CMD_LAST 0x00000100 -+#define NVRAM_STAT 0x00007004 -+#define NVRAM_WRDATA 0x00007008 -+#define NVRAM_ADDR 0x0000700c -+#define NVRAM_ADDR_MSK 0x00ffffff -+#define NVRAM_RDDATA 0x00007010 -+#define NVRAM_CFG1 0x00007014 -+#define NVRAM_CFG1_FLASHIF_ENAB 0x00000001 -+#define NVRAM_CFG1_BUFFERED_MODE 0x00000002 -+#define NVRAM_CFG1_PASS_THRU 0x00000004 -+#define NVRAM_CFG1_BIT_BANG 0x00000008 -+#define NVRAM_CFG1_COMPAT_BYPASS 0x80000000 -+#define NVRAM_CFG2 0x00007018 -+#define NVRAM_CFG3 0x0000701c -+#define NVRAM_SWARB 0x00007020 -+#define SWARB_REQ_SET0 0x00000001 -+#define SWARB_REQ_SET1 0x00000002 -+#define SWARB_REQ_SET2 0x00000004 -+#define SWARB_REQ_SET3 0x00000008 -+#define SWARB_REQ_CLR0 0x00000010 -+#define SWARB_REQ_CLR1 0x00000020 -+#define SWARB_REQ_CLR2 0x00000040 -+#define SWARB_REQ_CLR3 0x00000080 -+#define SWARB_GNT0 0x00000100 -+#define SWARB_GNT1 0x00000200 -+#define SWARB_GNT2 0x00000400 -+#define SWARB_GNT3 0x00000800 -+#define SWARB_REQ0 0x00001000 -+#define SWARB_REQ1 0x00002000 -+#define SWARB_REQ2 0x00004000 -+#define SWARB_REQ3 0x00008000 -+#define NVRAM_BUFFERED_PAGE_SIZE 264 -+#define NVRAM_BUFFERED_PAGE_POS 9 -+/* 0x7024 --> 0x7400 unused */ -+ -+/* 0x7400 --> 0x8000 unused */ -+ -+/* 32K Window into NIC internal memory */ -+#define NIC_SRAM_WIN_BASE 0x00008000 -+ -+/* Offsets into first 32k of NIC internal memory. */ -+#define NIC_SRAM_PAGE_ZERO 0x00000000 -+#define NIC_SRAM_SEND_RCB 0x00000100 /* 16 * TG3_BDINFO_... */ -+#define NIC_SRAM_RCV_RET_RCB 0x00000200 /* 16 * TG3_BDINFO_... */ -+#define NIC_SRAM_STATS_BLK 0x00000300 -+#define NIC_SRAM_STATUS_BLK 0x00000b00 -+ -+#define NIC_SRAM_FIRMWARE_MBOX 0x00000b50 -+#define NIC_SRAM_FIRMWARE_MBOX_MAGIC1 0x4B657654 -+#define NIC_SRAM_FIRMWARE_MBOX_MAGIC2 0x4861764b /* !dma on linkchg */ -+ -+#define NIC_SRAM_DATA_SIG 0x00000b54 -+#define NIC_SRAM_DATA_SIG_MAGIC 0x4b657654 /* ascii for 'KevT' */ -+ -+#define NIC_SRAM_DATA_CFG 0x00000b58 -+#define NIC_SRAM_DATA_CFG_LED_MODE_MASK 0x0000000c -+#define NIC_SRAM_DATA_CFG_LED_MODE_UNKNOWN 0x00000000 -+#define NIC_SRAM_DATA_CFG_LED_TRIPLE_SPD 0x00000004 -+#define NIC_SRAM_DATA_CFG_LED_OPEN_DRAIN 0x00000004 -+#define NIC_SRAM_DATA_CFG_LED_LINK_SPD 0x00000008 -+#define NIC_SRAM_DATA_CFG_LED_OUTPUT 0x00000008 -+#define NIC_SRAM_DATA_CFG_PHY_TYPE_MASK 0x00000030 -+#define NIC_SRAM_DATA_CFG_PHY_TYPE_UNKNOWN 0x00000000 -+#define NIC_SRAM_DATA_CFG_PHY_TYPE_COPPER 0x00000010 -+#define NIC_SRAM_DATA_CFG_PHY_TYPE_FIBER 0x00000020 -+#define NIC_SRAM_DATA_CFG_WOL_ENABLE 0x00000040 -+#define NIC_SRAM_DATA_CFG_ASF_ENABLE 0x00000080 -+#define NIC_SRAM_DATA_CFG_EEPROM_WP 0x00000100 -+#define NIC_SRAM_DATA_CFG_MINI_PCI 0x00001000 -+#define NIC_SRAM_DATA_CFG_FIBER_WOL 0x00004000 -+ -+#define NIC_SRAM_DATA_PHY_ID 0x00000b74 -+#define NIC_SRAM_DATA_PHY_ID1_MASK 0xffff0000 -+#define NIC_SRAM_DATA_PHY_ID2_MASK 0x0000ffff -+ -+#define NIC_SRAM_FW_CMD_MBOX 0x00000b78 -+#define FWCMD_NICDRV_ALIVE 0x00000001 -+#define FWCMD_NICDRV_PAUSE_FW 0x00000002 -+#define FWCMD_NICDRV_IPV4ADDR_CHG 0x00000003 -+#define FWCMD_NICDRV_IPV6ADDR_CHG 0x00000004 -+#define FWCMD_NICDRV_FIX_DMAR 0x00000005 -+#define FWCMD_NICDRV_FIX_DMAW 0x00000006 -+#define NIC_SRAM_FW_CMD_LEN_MBOX 0x00000b7c -+#define NIC_SRAM_FW_CMD_DATA_MBOX 0x00000b80 -+#define NIC_SRAM_FW_ASF_STATUS_MBOX 0x00000c00 -+#define NIC_SRAM_FW_DRV_STATE_MBOX 0x00000c04 -+#define DRV_STATE_START 0x00000001 -+#define DRV_STATE_UNLOAD 0x00000002 -+#define DRV_STATE_WOL 0x00000003 -+#define DRV_STATE_SUSPEND 0x00000004 -+ -+#define NIC_SRAM_FW_RESET_TYPE_MBOX 0x00000c08 -+ -+#define NIC_SRAM_MAC_ADDR_HIGH_MBOX 0x00000c14 -+#define NIC_SRAM_MAC_ADDR_LOW_MBOX 0x00000c18 -+ -+#define NIC_SRAM_RX_MINI_BUFFER_DESC 0x00001000 -+ -+#define NIC_SRAM_DMA_DESC_POOL_BASE 0x00002000 -+#define NIC_SRAM_DMA_DESC_POOL_SIZE 0x00002000 -+#define NIC_SRAM_TX_BUFFER_DESC 0x00004000 /* 512 entries */ -+#define NIC_SRAM_RX_BUFFER_DESC 0x00006000 /* 256 entries */ -+#define NIC_SRAM_RX_JUMBO_BUFFER_DESC 0x00007000 /* 256 entries */ -+#define NIC_SRAM_MBUF_POOL_BASE 0x00008000 -+#define NIC_SRAM_MBUF_POOL_SIZE96 0x00018000 -+#define NIC_SRAM_MBUF_POOL_SIZE64 0x00010000 -+#define NIC_SRAM_MBUF_POOL_BASE5705 0x00010000 -+#define NIC_SRAM_MBUF_POOL_SIZE5705 0x0000e000 -+ -+/* Currently this is fixed. */ -+#define PHY_ADDR 0x01 -+ -+/* Tigon3 specific PHY MII registers. */ -+#define TG3_BMCR_SPEED1000 0x0040 -+ -+#define MII_TG3_CTRL 0x09 /* 1000-baseT control register */ -+#define MII_TG3_CTRL_ADV_1000_HALF 0x0100 -+#define MII_TG3_CTRL_ADV_1000_FULL 0x0200 -+#define MII_TG3_CTRL_AS_MASTER 0x0800 -+#define MII_TG3_CTRL_ENABLE_AS_MASTER 0x1000 -+ -+#define MII_TG3_EXT_CTRL 0x10 /* Extended control register */ -+#define MII_TG3_EXT_CTRL_LNK3_LED_MODE 0x0002 -+#define MII_TG3_EXT_CTRL_TBI 0x8000 -+ -+#define MII_TG3_EXT_STAT 0x11 /* Extended status register */ -+#define MII_TG3_EXT_STAT_LPASS 0x0100 -+ -+#define MII_TG3_DSP_RW_PORT 0x15 /* DSP coefficient read/write port */ -+ -+#define MII_TG3_DSP_ADDRESS 0x17 /* DSP address register */ -+ -+#define MII_TG3_AUX_CTRL 0x18 /* auxilliary control register */ -+ -+#define MII_TG3_AUX_STAT 0x19 /* auxilliary status register */ -+#define MII_TG3_AUX_STAT_LPASS 0x0004 -+#define MII_TG3_AUX_STAT_SPDMASK 0x0700 -+#define MII_TG3_AUX_STAT_10HALF 0x0100 -+#define MII_TG3_AUX_STAT_10FULL 0x0200 -+#define MII_TG3_AUX_STAT_100HALF 0x0300 -+#define MII_TG3_AUX_STAT_100_4 0x0400 -+#define MII_TG3_AUX_STAT_100FULL 0x0500 -+#define MII_TG3_AUX_STAT_1000HALF 0x0600 -+#define MII_TG3_AUX_STAT_1000FULL 0x0700 -+ -+#define MII_TG3_ISTAT 0x1a /* IRQ status register */ -+#define MII_TG3_IMASK 0x1b /* IRQ mask register */ -+ -+/* ISTAT/IMASK event bits */ -+#define MII_TG3_INT_LINKCHG 0x0002 -+#define MII_TG3_INT_SPEEDCHG 0x0004 -+#define MII_TG3_INT_DUPLEXCHG 0x0008 -+#define MII_TG3_INT_ANEG_PAGE_RX 0x0400 -+ -+/* XXX Add this to mii.h */ -+#ifndef ADVERTISE_PAUSE -+#define ADVERTISE_PAUSE_CAP 0x0400 -+#endif -+#ifndef ADVERTISE_PAUSE_ASYM -+#define ADVERTISE_PAUSE_ASYM 0x0800 -+#endif -+#ifndef LPA_PAUSE -+#define LPA_PAUSE_CAP 0x0400 -+#endif -+#ifndef LPA_PAUSE_ASYM -+#define LPA_PAUSE_ASYM 0x0800 -+#endif -+ -+/* There are two ways to manage the TX descriptors on the tigon3. -+ * Either the descriptors are in host DMA'able memory, or they -+ * exist only in the cards on-chip SRAM. All 16 send bds are under -+ * the same mode, they may not be configured individually. -+ * -+ * The mode we use is controlled by TG3_FLAG_HOST_TXDS in tp->tg3_flags. -+ * -+ * To use host memory TX descriptors: -+ * 1) Set GRC_MODE_HOST_SENDBDS in GRC_MODE register. -+ * Make sure GRC_MODE_4X_NIC_SEND_RINGS is clear. -+ * 2) Allocate DMA'able memory. -+ * 3) In NIC_SRAM_SEND_RCB (of desired index) of on-chip SRAM: -+ * a) Set TG3_BDINFO_HOST_ADDR to DMA address of memory -+ * obtained in step 2 -+ * b) Set TG3_BDINFO_NIC_ADDR to NIC_SRAM_TX_BUFFER_DESC. -+ * c) Set len field of TG3_BDINFO_MAXLEN_FLAGS to number -+ * of TX descriptors. Leave flags field clear. -+ * 4) Access TX descriptors via host memory. The chip -+ * will refetch into local SRAM as needed when producer -+ * index mailboxes are updated. -+ * -+ * To use on-chip TX descriptors: -+ * 1) Set GRC_MODE_4X_NIC_SEND_RINGS in GRC_MODE register. -+ * Make sure GRC_MODE_HOST_SENDBDS is clear. -+ * 2) In NIC_SRAM_SEND_RCB (of desired index) of on-chip SRAM: -+ * a) Set TG3_BDINFO_HOST_ADDR to zero. -+ * b) Set TG3_BDINFO_NIC_ADDR to NIC_SRAM_TX_BUFFER_DESC -+ * c) TG3_BDINFO_MAXLEN_FLAGS is don't care. -+ * 3) Access TX descriptors directly in on-chip SRAM -+ * using normal {read,write}l(). (and not using -+ * pointer dereferencing of ioremap()'d memory like -+ * the broken Broadcom driver does) -+ * -+ * Note that BDINFO_FLAGS_DISABLED should be set in the flags field of -+ * TG3_BDINFO_MAXLEN_FLAGS of all unused SEND_RCB indices. -+ */ -+struct tg3_tx_buffer_desc { -+ uint32_t addr_hi; -+ uint32_t addr_lo; -+ -+ uint32_t len_flags; -+#define TXD_FLAG_TCPUDP_CSUM 0x0001 -+#define TXD_FLAG_IP_CSUM 0x0002 -+#define TXD_FLAG_END 0x0004 -+#define TXD_FLAG_IP_FRAG 0x0008 -+#define TXD_FLAG_IP_FRAG_END 0x0010 -+#define TXD_FLAG_VLAN 0x0040 -+#define TXD_FLAG_COAL_NOW 0x0080 -+#define TXD_FLAG_CPU_PRE_DMA 0x0100 -+#define TXD_FLAG_CPU_POST_DMA 0x0200 -+#define TXD_FLAG_ADD_SRC_ADDR 0x1000 -+#define TXD_FLAG_CHOOSE_SRC_ADDR 0x6000 -+#define TXD_FLAG_NO_CRC 0x8000 -+#define TXD_LEN_SHIFT 16 -+ -+ uint32_t vlan_tag; -+#define TXD_VLAN_TAG_SHIFT 0 -+#define TXD_MSS_SHIFT 16 -+}; -+ -+#define TXD_ADDR 0x00UL /* 64-bit */ -+#define TXD_LEN_FLAGS 0x08UL /* 32-bit (upper 16-bits are len) */ -+#define TXD_VLAN_TAG 0x0cUL /* 32-bit (upper 16-bits are tag) */ -+#define TXD_SIZE 0x10UL -+ -+struct tg3_rx_buffer_desc { -+ uint32_t addr_hi; -+ uint32_t addr_lo; -+ -+ uint32_t idx_len; -+#define RXD_IDX_MASK 0xffff0000 -+#define RXD_IDX_SHIFT 16 -+#define RXD_LEN_MASK 0x0000ffff -+#define RXD_LEN_SHIFT 0 -+ -+ uint32_t type_flags; -+#define RXD_TYPE_SHIFT 16 -+#define RXD_FLAGS_SHIFT 0 -+ -+#define RXD_FLAG_END 0x0004 -+#define RXD_FLAG_MINI 0x0800 -+#define RXD_FLAG_JUMBO 0x0020 -+#define RXD_FLAG_VLAN 0x0040 -+#define RXD_FLAG_ERROR 0x0400 -+#define RXD_FLAG_IP_CSUM 0x1000 -+#define RXD_FLAG_TCPUDP_CSUM 0x2000 -+#define RXD_FLAG_IS_TCP 0x4000 -+ -+ uint32_t ip_tcp_csum; -+#define RXD_IPCSUM_MASK 0xffff0000 -+#define RXD_IPCSUM_SHIFT 16 -+#define RXD_TCPCSUM_MASK 0x0000ffff -+#define RXD_TCPCSUM_SHIFT 0 -+ -+ uint32_t err_vlan; -+ -+#define RXD_VLAN_MASK 0x0000ffff -+ -+#define RXD_ERR_BAD_CRC 0x00010000 -+#define RXD_ERR_COLLISION 0x00020000 -+#define RXD_ERR_LINK_LOST 0x00040000 -+#define RXD_ERR_PHY_DECODE 0x00080000 -+#define RXD_ERR_ODD_NIBBLE_RCVD_MII 0x00100000 -+#define RXD_ERR_MAC_ABRT 0x00200000 -+#define RXD_ERR_TOO_SMALL 0x00400000 -+#define RXD_ERR_NO_RESOURCES 0x00800000 -+#define RXD_ERR_HUGE_FRAME 0x01000000 -+#define RXD_ERR_MASK 0xffff0000 -+ -+ uint32_t reserved; -+ uint32_t opaque; -+#define RXD_OPAQUE_INDEX_MASK 0x0000ffff -+#define RXD_OPAQUE_INDEX_SHIFT 0 -+#define RXD_OPAQUE_RING_STD 0x00010000 -+#define RXD_OPAQUE_RING_JUMBO 0x00020000 -+#define RXD_OPAQUE_RING_MINI 0x00040000 -+#define RXD_OPAQUE_RING_MASK 0x00070000 -+}; -+ -+struct tg3_ext_rx_buffer_desc { -+ struct { -+ uint32_t addr_hi; -+ uint32_t addr_lo; -+ } addrlist[3]; -+ uint32_t len2_len1; -+ uint32_t resv_len3; -+ struct tg3_rx_buffer_desc std; -+}; -+ -+/* We only use this when testing out the DMA engine -+ * at probe time. This is the internal format of buffer -+ * descriptors used by the chip at NIC_SRAM_DMA_DESCS. -+ */ -+struct tg3_internal_buffer_desc { -+ uint32_t addr_hi; -+ uint32_t addr_lo; -+ uint32_t nic_mbuf; -+ /* XXX FIX THIS */ -+#if __BYTE_ORDER == __BIG_ENDIAN -+ uint16_t cqid_sqid; -+ uint16_t len; -+#else -+ uint16_t len; -+ uint16_t cqid_sqid; -+#endif -+ uint32_t flags; -+ uint32_t __cookie1; -+ uint32_t __cookie2; -+ uint32_t __cookie3; -+}; -+ -+#define TG3_HW_STATUS_SIZE 0x50 -+struct tg3_hw_status { -+ uint32_t status; -+#define SD_STATUS_UPDATED 0x00000001 -+#define SD_STATUS_LINK_CHG 0x00000002 -+#define SD_STATUS_ERROR 0x00000004 -+ -+ uint32_t status_tag; -+ -+#if __BYTE_ORDER == __BIG_ENDIAN -+ uint16_t rx_consumer; -+ uint16_t rx_jumbo_consumer; -+#else -+ uint16_t rx_jumbo_consumer; -+ uint16_t rx_consumer; -+#endif -+ -+#if __BYTE_ORDER == __BIG_ENDIAN -+ uint16_t reserved; -+ uint16_t rx_mini_consumer; -+#else -+ uint16_t rx_mini_consumer; -+ uint16_t reserved; -+#endif -+ struct { -+#if __BYTE_ORDER == __BIG_ENDIAN -+ uint16_t tx_consumer; -+ uint16_t rx_producer; -+#else -+ uint16_t rx_producer; -+ uint16_t tx_consumer; -+#endif -+ } idx[16]; -+}; -+ -+typedef struct { -+ uint32_t high, low; -+} tg3_stat64_t; -+ -+struct tg3_hw_stats { -+ uint8_t __reserved0[0x400-0x300]; -+ -+ /* Statistics maintained by Receive MAC. */ -+ tg3_stat64_t rx_octets; -+ uint64_t __reserved1; -+ tg3_stat64_t rx_fragments; -+ tg3_stat64_t rx_ucast_packets; -+ tg3_stat64_t rx_mcast_packets; -+ tg3_stat64_t rx_bcast_packets; -+ tg3_stat64_t rx_fcs_errors; -+ tg3_stat64_t rx_align_errors; -+ tg3_stat64_t rx_xon_pause_rcvd; -+ tg3_stat64_t rx_xoff_pause_rcvd; -+ tg3_stat64_t rx_mac_ctrl_rcvd; -+ tg3_stat64_t rx_xoff_entered; -+ tg3_stat64_t rx_frame_too_long_errors; -+ tg3_stat64_t rx_jabbers; -+ tg3_stat64_t rx_undersize_packets; -+ tg3_stat64_t rx_in_length_errors; -+ tg3_stat64_t rx_out_length_errors; -+ tg3_stat64_t rx_64_or_less_octet_packets; -+ tg3_stat64_t rx_65_to_127_octet_packets; -+ tg3_stat64_t rx_128_to_255_octet_packets; -+ tg3_stat64_t rx_256_to_511_octet_packets; -+ tg3_stat64_t rx_512_to_1023_octet_packets; -+ tg3_stat64_t rx_1024_to_1522_octet_packets; -+ tg3_stat64_t rx_1523_to_2047_octet_packets; -+ tg3_stat64_t rx_2048_to_4095_octet_packets; -+ tg3_stat64_t rx_4096_to_8191_octet_packets; -+ tg3_stat64_t rx_8192_to_9022_octet_packets; -+ -+ uint64_t __unused0[37]; -+ -+ /* Statistics maintained by Transmit MAC. */ -+ tg3_stat64_t tx_octets; -+ uint64_t __reserved2; -+ tg3_stat64_t tx_collisions; -+ tg3_stat64_t tx_xon_sent; -+ tg3_stat64_t tx_xoff_sent; -+ tg3_stat64_t tx_flow_control; -+ tg3_stat64_t tx_mac_errors; -+ tg3_stat64_t tx_single_collisions; -+ tg3_stat64_t tx_mult_collisions; -+ tg3_stat64_t tx_deferred; -+ uint64_t __reserved3; -+ tg3_stat64_t tx_excessive_collisions; -+ tg3_stat64_t tx_late_collisions; -+ tg3_stat64_t tx_collide_2times; -+ tg3_stat64_t tx_collide_3times; -+ tg3_stat64_t tx_collide_4times; -+ tg3_stat64_t tx_collide_5times; -+ tg3_stat64_t tx_collide_6times; -+ tg3_stat64_t tx_collide_7times; -+ tg3_stat64_t tx_collide_8times; -+ tg3_stat64_t tx_collide_9times; -+ tg3_stat64_t tx_collide_10times; -+ tg3_stat64_t tx_collide_11times; -+ tg3_stat64_t tx_collide_12times; -+ tg3_stat64_t tx_collide_13times; -+ tg3_stat64_t tx_collide_14times; -+ tg3_stat64_t tx_collide_15times; -+ tg3_stat64_t tx_ucast_packets; -+ tg3_stat64_t tx_mcast_packets; -+ tg3_stat64_t tx_bcast_packets; -+ tg3_stat64_t tx_carrier_sense_errors; -+ tg3_stat64_t tx_discards; -+ tg3_stat64_t tx_errors; -+ -+ uint64_t __unused1[31]; -+ -+ /* Statistics maintained by Receive List Placement. */ -+ tg3_stat64_t COS_rx_packets[16]; -+ tg3_stat64_t COS_rx_filter_dropped; -+ tg3_stat64_t dma_writeq_full; -+ tg3_stat64_t dma_write_prioq_full; -+ tg3_stat64_t rxbds_empty; -+ tg3_stat64_t rx_discards; -+ tg3_stat64_t rx_errors; -+ tg3_stat64_t rx_threshold_hit; -+ -+ uint64_t __unused2[9]; -+ -+ /* Statistics maintained by Send Data Initiator. */ -+ tg3_stat64_t COS_out_packets[16]; -+ tg3_stat64_t dma_readq_full; -+ tg3_stat64_t dma_read_prioq_full; -+ tg3_stat64_t tx_comp_queue_full; -+ -+ /* Statistics maintained by Host Coalescing. */ -+ tg3_stat64_t ring_set_send_prod_index; -+ tg3_stat64_t ring_status_update; -+ tg3_stat64_t nic_irqs; -+ tg3_stat64_t nic_avoided_irqs; -+ tg3_stat64_t nic_tx_threshold_hit; -+ -+ uint8_t __reserved4[0xb00-0x9c0]; -+}; -+ -+enum phy_led_mode { -+ led_mode_auto, -+ led_mode_three_link, -+ led_mode_link10 -+}; -+ -+#if 0 -+/* 'mapping' is superfluous as the chip does not write into -+ * the tx/rx post rings so we could just fetch it from there. -+ * But the cache behavior is better how we are doing it now. -+ */ -+struct ring_info { -+ struct sk_buff *skb; -+ DECLARE_PCI_UNMAP_ADDR(mapping) -+}; -+ -+struct tx_ring_info { -+ struct sk_buff *skb; -+ DECLARE_PCI_UNMAP_ADDR(mapping) -+ uint32_t prev_vlan_tag; -+}; -+#endif -+ -+struct tg3_config_info { -+ uint32_t flags; -+}; -+ -+struct tg3_link_config { -+ /* Describes what we're trying to get. */ -+ uint32_t advertising; -+#if 0 -+ uint16_t speed; -+ uint8_t duplex; -+ uint8_t autoneg; -+#define SPEED_INVALID 0xffff -+#define DUPLEX_INVALID 0xff -+#define AUTONEG_INVALID 0xff -+#endif -+ -+ /* Describes what we actually have. */ -+ uint8_t active_speed; -+ uint8_t active_duplex; -+ -+ /* When we go in and out of low power mode we need -+ * to swap with this state. -+ */ -+#if 0 -+ int phy_is_low_power; -+ uint16_t orig_speed; -+ uint8_t orig_duplex; -+ uint8_t orig_autoneg; -+#endif -+}; -+ -+struct tg3_bufmgr_config { -+ uint32_t mbuf_read_dma_low_water; -+ uint32_t mbuf_mac_rx_low_water; -+ uint32_t mbuf_high_water; -+ -+ uint32_t mbuf_read_dma_low_water_jumbo; -+ uint32_t mbuf_mac_rx_low_water_jumbo; -+ uint32_t mbuf_high_water_jumbo; -+ -+ uint32_t dma_low_water; -+ uint32_t dma_high_water; -+}; -+ -+struct tg3 { -+#if 0 -+ /* SMP locking strategy: -+ * -+ * lock: Held during all operations except TX packet -+ * processing. -+ * -+ * tx_lock: Held during tg3_start_xmit{,_4gbug} and tg3_tx -+ * -+ * If you want to shut up all asynchronous processing you must -+ * acquire both locks, 'lock' taken before 'tx_lock'. IRQs must -+ * be disabled to take 'lock' but only softirq disabling is -+ * necessary for acquisition of 'tx_lock'. -+ */ -+ spinlock_t lock; -+ spinlock_t tx_lock; -+#endif -+ -+ uint32_t tx_prod; -+#if 0 -+ uint32_t tx_cons; -+#endif -+ uint32_t rx_rcb_ptr; -+ uint32_t rx_std_ptr; -+#if 0 -+ uint32_t rx_jumbo_ptr; -+ spinlock_t indirect_lock; -+ -+ struct net_device_stats net_stats; -+ struct net_device_stats net_stats_prev; -+#endif -+ unsigned long phy_crc_errors; -+ -+#if 0 -+ uint32_t rx_offset; -+#endif -+ uint32_t tg3_flags; -+#if 0 -+#define TG3_FLAG_HOST_TXDS 0x00000001 -+#endif -+#define TG3_FLAG_TXD_MBOX_HWBUG 0x00000002 -+#define TG3_FLAG_RX_CHECKSUMS 0x00000004 -+#define TG3_FLAG_USE_LINKCHG_REG 0x00000008 -+#define TG3_FLAG_USE_MI_INTERRUPT 0x00000010 -+#define TG3_FLAG_ENABLE_ASF 0x00000020 -+#define TG3_FLAG_5701_REG_WRITE_BUG 0x00000040 -+#define TG3_FLAG_POLL_SERDES 0x00000080 -+#define TG3_FLAG_MBOX_WRITE_REORDER 0x00000100 -+#define TG3_FLAG_PCIX_TARGET_HWBUG 0x00000200 -+#define TG3_FLAG_WOL_SPEED_100MB 0x00000400 -+#define TG3_FLAG_WOL_ENABLE 0x00000800 -+#define TG3_FLAG_EEPROM_WRITE_PROT 0x00001000 -+#define TG3_FLAG_NVRAM 0x00002000 -+#define TG3_FLAG_NVRAM_BUFFERED 0x00004000 -+#define TG3_FLAG_RX_PAUSE 0x00008000 -+#define TG3_FLAG_TX_PAUSE 0x00010000 -+#define TG3_FLAG_PCIX_MODE 0x00020000 -+#define TG3_FLAG_PCI_HIGH_SPEED 0x00040000 -+#define TG3_FLAG_PCI_32BIT 0x00080000 -+#define TG3_FLAG_NO_TX_PSEUDO_CSUM 0x00100000 -+#define TG3_FLAG_NO_RX_PSEUDO_CSUM 0x00200000 -+#define TG3_FLAG_SERDES_WOL_CAP 0x00400000 -+#define TG3_FLAG_JUMBO_ENABLE 0x00800000 -+#define TG3_FLAG_10_100_ONLY 0x01000000 -+#define TG3_FLAG_PAUSE_AUTONEG 0x02000000 -+#define TG3_FLAG_PAUSE_RX 0x04000000 -+#define TG3_FLAG_PAUSE_TX 0x08000000 -+#define TG3_FLAG_BROKEN_CHECKSUMS 0x10000000 -+#define TG3_FLAG_GOT_SERDES_FLOWCTL 0x20000000 -+#define TG3_FLAG_SPLIT_MODE 0x40000000 -+#define TG3_FLAG_INIT_COMPLETE 0x80000000 -+ -+ uint32_t tg3_flags2; -+#define TG3_FLG2_RESTART_TIMER 0x00000001 -+#define TG3_FLG2_SUN_5704 0x00000002 -+#define TG3_FLG2_NO_ETH_WIRE_SPEED 0x00000004 -+#define TG3_FLG2_IS_5788 0x00000008 -+#define TG3_FLG2_MAX_RXPEND_64 0x00000010 -+#define TG3_FLG2_TSO_CAPABLE 0x00000020 -+ -+ -+ -+ uint32_t split_mode_max_reqs; -+#define SPLIT_MODE_5704_MAX_REQ 3 -+ -+#if 0 -+ struct timer_list timer; -+ uint16_t timer_counter; -+ uint16_t timer_multiplier; -+ uint32_t timer_offset; -+ uint16_t asf_counter; -+ uint16_t asf_multiplier; -+#endif -+ -+ struct tg3_link_config link_config; -+ struct tg3_bufmgr_config bufmgr_config; -+ -+#if 0 -+ uint32_t rx_pending; -+ uint32_t rx_jumbo_pending; -+ uint32_t tx_pending; -+#endif -+ -+ /* cache h/w values, often passed straight to h/w */ -+ uint32_t rx_mode; -+ uint32_t tx_mode; -+ uint32_t mac_mode; -+ uint32_t mi_mode; -+ uint32_t misc_host_ctrl; -+ uint32_t grc_mode; -+ uint32_t grc_local_ctrl; -+ uint32_t dma_rwctrl; -+#if 0 -+ uint32_t coalesce_mode; -+#endif -+ -+ /* PCI block */ -+ uint16_t pci_chip_rev_id; -+#if 0 -+ uint8_t pci_cacheline_sz; -+ uint8_t pci_lat_timer; -+ uint8_t pci_hdr_type; -+ uint8_t pci_bist; -+#endif -+ uint32_t pci_cfg_state[64 / sizeof(uint32_t)]; -+ -+ int pm_cap; -+ -+ /* PHY info */ -+ uint32_t phy_id; -+#define PHY_ID_MASK 0xfffffff0 -+#define PHY_ID_BCM5400 0x60008040 -+#define PHY_ID_BCM5401 0x60008050 -+#define PHY_ID_BCM5411 0x60008070 -+#define PHY_ID_BCM5701 0x60008110 -+#define PHY_ID_BCM5703 0x60008160 -+#define PHY_ID_BCM5704 0x60008190 -+#define PHY_ID_BCM5705 0x600081a0 -+#define PHY_ID_BCM8002 0x60010140 -+#define PHY_ID_SERDES 0xfeedbee0 -+#define PHY_ID_INVALID 0xffffffff -+#define PHY_ID_REV_MASK 0x0000000f -+#define PHY_REV_BCM5401_B0 0x1 -+#define PHY_REV_BCM5401_B2 0x3 -+#define PHY_REV_BCM5401_C0 0x6 -+#define PHY_REV_BCM5411_X0 0x1 /* Found on Netgear GA302T */ -+ -+ enum phy_led_mode led_mode; -+ -+ char board_part_number[24]; -+ uint32_t nic_sram_data_cfg; -+ uint32_t pci_clock_ctrl; -+#if 0 -+ struct pci_device *pdev_peer; -+#endif -+ -+ /* This macro assumes the passed PHY ID is already masked -+ * with PHY_ID_MASK. -+ */ -+#define KNOWN_PHY_ID(X) \ -+ ((X) == PHY_ID_BCM5400 || (X) == PHY_ID_BCM5401 || \ -+ (X) == PHY_ID_BCM5411 || (X) == PHY_ID_BCM5701 || \ -+ (X) == PHY_ID_BCM5703 || (X) == PHY_ID_BCM5704 || \ -+ (X) == PHY_ID_BCM5705 || \ -+ (X) == PHY_ID_BCM8002 || (X) == PHY_ID_SERDES) -+ -+ unsigned long regs; -+ struct pci_device *pdev; -+ struct nic *nic; -+#if 0 -+ struct net_device *dev; -+#endif -+#if TG3_VLAN_TAG_USED -+ struct vlan_group *vlgrp; -+#endif -+ -+ struct tg3_rx_buffer_desc *rx_std; -+#if 0 -+ struct ring_info *rx_std_buffers; -+ dma_addr_t rx_std_mapping; -+ struct tg3_rx_buffer_desc *rx_jumbo; -+ struct ring_info *rx_jumbo_buffers; -+ dma_addr_t rx_jumbo_mapping; -+#endif -+ -+ struct tg3_rx_buffer_desc *rx_rcb; -+#if 0 -+ dma_addr_t rx_rcb_mapping; -+#endif -+ -+ /* TX descs are only used if TG3_FLAG_HOST_TXDS is set. */ -+ struct tg3_tx_buffer_desc *tx_ring; -+#if 0 -+ struct tx_ring_info *tx_buffers; -+ dma_addr_t tx_desc_mapping; -+#endif -+ -+ struct tg3_hw_status *hw_status; -+#if 0 -+ dma_addr_t status_mapping; -+#endif -+#if 0 -+ uint32_t msg_enable; -+#endif -+ -+ struct tg3_hw_stats *hw_stats; -+#if 0 -+ dma_addr_t stats_mapping; -+#endif -+ -+ int carrier_ok; -+ uint16_t subsystem_vendor; -+ uint16_t subsystem_device; -+}; -+ -+#endif /* !(_T3_H) */ -Index: b/netboot/tiara.c -=================================================================== ---- a/netboot/tiara.c -+++ /dev/null -@@ -1,255 +0,0 @@ --/************************************************************************** --Etherboot - BOOTP/TFTP Bootstrap Program -- --TIARA (Fujitsu Etherstar) NIC driver for Etherboot --Copyright (c) Ken Yap 1998 -- --Information gleaned from: -- --TIARA.ASM Packet driver by Brian Fisher, Queens U, Kingston, Ontario --Fujitsu MB86960 spec sheet (different chip but same family) --***************************************************************************/ -- --/* -- * 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, or (at -- * your option) any later version. -- */ -- --/* to get some global routines like printf */ --#include "etherboot.h" --/* to get the interface to the body of the program */ --#include "nic.h" --#include "cards.h" -- --/* -- EtherStar I/O Register offsets --*/ -- --/* Offsets of registers */ --#define DLCR_XMIT_STAT 0x00 --#define DLCR_XMIT_MASK 0x01 --#define DLCR_RECV_STAT 0x02 --#define DLCR_RECV_MASK 0x03 --#define DLCR_XMIT_MODE 0x04 --#define DLCR_RECV_MODE 0x05 --#define DLCR_ENABLE 0x06 --#define DLCR_TDR_LOW 0x07 --#define DLCR_NODE_ID 0x08 --#define DLCR_TDR_HIGH 0x0F --#define BMPR_MEM_PORT 0x10 --#define BMPR_PKT_LEN 0x12 --#define BMPR_DMA_ENABLE 0x14 --#define PROM_ID 0x18 -- --#define TMST 0x80 --#define TMT_OK 0x80 --#define TMT_16COLL 0x02 --#define BUF_EMPTY 0x40 -- --#define CARD_DISABLE 0x80 /* written to DLCR_ENABLE to disable card */ --#define CARD_ENABLE 0 /* written to DLCR_ENABLE to enable card */ -- --#define CLEAR_STATUS 0x0F /* used to clear status info */ --/* -- 00001111B -- !!!!!!!!-------- -- !!!!!!!+--------CLEAR BUS WRITE ERROR -- !!!!!!+---------CLEAR 16 COLLISION -- !!!!!+----------CLEAR COLLISION -- !!!!+-----------CLEAR UNDERFLOW -- !!!+------------NC -- !!+-------------NC -- !+--------------NC -- +---------------NC --*/ -- --#define NO_TX_IRQS 0 /* written to clear transmit IRQs */ -- --#define CLR_RCV_STATUS 0xCF /* clears receive status */ -- --#define EN_RCV_IRQS 0x80 /* enable receive interrupts */ --/* -- 10000000B -- !!!!!!!!-------- -- !!!!!!!+--------ENABLE OVERFLOW -- !!!!!!+---------ENABLE CRC -- !!!!!+----------ENABLE ALIGN -- !!!!+-----------ENABLE SHORT PKT -- !!!+------------DISABLE REMOTE RESET -- !!+-------------RESERVED -- !+--------------RESERVED -- +---------------ENABLE PKT READY --*/ -- --#define XMIT_MODE 0x02 --/* -- 00000010B -- !!!!!!!!---------ENABLE CARRIER DETECT -- !!!!!!!+---------DISABLE LOOPBACK --*/ -- --#define RECV_MODE 0x02 --/* -- 00000010B -- !!!!!!!!---------ACCEPT ALL PACKETS -- !!!!!!!+---------ACCEPT PHYSICAL, MULTICAST, AND -- !!!!!!+----------BROADCAST PACKETS -- !!!!!+-----------DISABLE REMOTE RESET -- !!!!+------------DISABLE SHORT PACKETS -- !!!+-------------USE 6 BYTE ADDRESS -- !!+--------------NC -- !+---------------NC -- +----------------DISABLE CRC TEST MODE --*/ -- --/* NIC specific static variables go here */ -- --static unsigned short ioaddr; -- --/************************************************************************** --RESET - Reset adapter --***************************************************************************/ --static void tiara_reset(struct nic *nic) --{ -- int i; -- -- outb(CARD_DISABLE, ioaddr + DLCR_ENABLE); -- outb(CLEAR_STATUS, ioaddr + DLCR_XMIT_STAT); -- outb(NO_TX_IRQS, ioaddr + DLCR_XMIT_MASK); -- outb(CLR_RCV_STATUS, ioaddr + DLCR_RECV_STAT); -- outb(XMIT_MODE, ioaddr + DLCR_XMIT_MODE); -- outb(RECV_MODE, ioaddr + DLCR_RECV_MODE); -- /* Vacuum recv buffer */ -- while ((inb(ioaddr + DLCR_RECV_MODE) & BUF_EMPTY) == 0) -- inb(ioaddr + BMPR_MEM_PORT); -- /* Set node address */ -- for (i = 0; i < ETH_ALEN; ++i) -- outb(nic->node_addr[i], ioaddr + DLCR_NODE_ID + i); -- outb(CLR_RCV_STATUS, ioaddr + DLCR_RECV_STAT); -- outb(CARD_ENABLE, ioaddr + DLCR_ENABLE); --} -- --/************************************************************************** --POLL - Wait for a frame --***************************************************************************/ --static int tiara_poll(struct nic *nic) --{ -- unsigned int len; -- -- if (inb(ioaddr + DLCR_RECV_MODE) & BUF_EMPTY) -- return (0); -- /* Ack packet */ -- outw(CLR_RCV_STATUS, ioaddr + DLCR_RECV_STAT); -- len = inw(ioaddr + BMPR_MEM_PORT); /* throw away status */ -- len = inw(ioaddr + BMPR_MEM_PORT); -- /* Drop overlength packets */ -- if (len > ETH_FRAME_LEN) -- return (0); /* should we drain the buffer? */ -- insw(ioaddr + BMPR_MEM_PORT, nic->packet, len / 2); -- /* If it's our own, drop it */ -- if (memcmp(nic->packet + ETH_ALEN, nic->node_addr, ETH_ALEN) == 0) -- return (0); -- nic->packetlen = len; -- return (1); --} -- --/************************************************************************** --TRANSMIT - Transmit a frame --***************************************************************************/ --static void tiara_transmit( --struct nic *nic, --const char *d, /* Destination */ --unsigned int t, /* Type */ --unsigned int s, /* size */ --const char *p) /* Packet */ --{ -- unsigned int len; -- unsigned long time; -- -- len = s + ETH_HLEN; -- if (len < ETH_ZLEN) -- len = ETH_ZLEN; -- t = htons(t); -- outsw(ioaddr + BMPR_MEM_PORT, d, ETH_ALEN / 2); -- outsw(ioaddr + BMPR_MEM_PORT, nic->node_addr, ETH_ALEN / 2); -- outw(t, ioaddr + BMPR_MEM_PORT); -- outsw(ioaddr + BMPR_MEM_PORT, p, s / 2); -- if (s & 1) /* last byte */ -- outb(p[s-1], ioaddr + BMPR_MEM_PORT); -- while (s++ < ETH_ZLEN - ETH_HLEN) /* pad */ -- outb(0, ioaddr + BMPR_MEM_PORT); -- outw(len | (TMST << 8), ioaddr + BMPR_PKT_LEN); -- /* wait for transmit complete */ -- time = currticks() + TICKS_PER_SEC; /* wait one second */ -- while (currticks() < time && (inb(ioaddr) & (TMT_OK|TMT_16COLL)) == 0) -- ; -- if ((inb(ioaddr) & (TMT_OK|TMT_16COLL)) == 0) -- printf("Tiara timed out on transmit\n"); -- /* Do we need to ack the transmit? */ --} -- --/************************************************************************** --DISABLE - Turn off ethernet interface --***************************************************************************/ --static void tiara_disable(struct nic *nic) --{ -- /* Apparently only a power down can do this properly */ -- outb(CARD_DISABLE, ioaddr + DLCR_ENABLE); --} -- --static int tiara_probe1(struct nic *nic) --{ -- /* Hope all the Tiara cards have this vendor prefix */ -- static char vendor_prefix[] = { 0x08, 0x00, 0x1A }; -- static char all_ones[] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; -- int i; -- -- for (i = 0; i < ETH_ALEN; ++i) -- nic->node_addr[i] = inb(ioaddr + PROM_ID + i); -- if (memcmp(nic->node_addr, vendor_prefix, sizeof(vendor_prefix)) != 0) -- return (0); -- if (memcmp(nic->node_addr, all_ones, sizeof(all_ones)) == 0) -- return (0); -- printf("\nTiara ioaddr %#hX, addr %!\n", ioaddr, nic->node_addr); -- return (1); --} -- --/************************************************************************** --PROBE - Look for an adapter, this routine's visible to the outside --***************************************************************************/ --struct nic *tiara_probe(struct nic *nic, unsigned short *probe_addrs) --{ -- /* missing entries are addresses usually already used */ -- static unsigned short io_addrs[] = { -- 0x100, 0x120, 0x140, 0x160, -- 0x180, 0x1A0, 0x1C0, 0x1E0, -- 0x200, 0x220, 0x240, /*Par*/ -- 0x280, 0x2A0, 0x2C0, /*Ser*/ -- 0x300, 0x320, 0x340, /*Par*/ -- 0x380, /*Vid,Par*/ 0x3C0, /*Ser*/ -- 0x0 -- }; -- unsigned short *p; -- -- /* if probe_addrs is 0, then routine can use a hardwired default */ -- if (probe_addrs == 0) -- probe_addrs = io_addrs; -- for (p = probe_addrs; (ioaddr = *p) != 0; ++p) -- if (tiara_probe1(nic)) -- break; -- /* if board found */ -- if (ioaddr != 0) -- { -- tiara_reset(nic); -- /* point to NIC specific routines */ -- nic->reset = tiara_reset; -- nic->poll = tiara_poll; -- nic->transmit = tiara_transmit; -- nic->disable = tiara_disable; -- return nic; -- } -- else -- return (0); --} -Index: b/netboot/timer.c -=================================================================== ---- a/netboot/timer.c -+++ b/netboot/timer.c -@@ -6,122 +6,24 @@ - * published by the Free Software Foundation; either version 2, or (at - * your option) any later version. - */ -- --#include "etherboot.h" -+#include "grub.h" - #include "timer.h" - --void load_timer2(unsigned int ticks) --{ -- /* Set up the timer gate, turn off the speaker */ -- outb((inb(PPC_PORTB) & ~PPCB_SPKR) | PPCB_T2GATE, PPC_PORTB); -- outb(TIMER2_SEL|WORD_ACCESS|MODE0|BINARY_COUNT, TIMER_MODE_PORT); -- outb(ticks & 0xFF, TIMER2_PORT); -- outb(ticks >> 8, TIMER2_PORT); --} -- --#if defined(CONFIG_TSC_CURRTICKS) --#define rdtsc(low,high) \ -- __asm__ __volatile__("rdtsc" : "=a" (low), "=d" (high)) -- --#define rdtscll(val) \ -- __asm__ __volatile__ ("rdtsc" : "=A" (val)) -- -- --#define HZ TICKS_PER_SEC --#define CLOCK_TICK_RATE 1193180U /* Underlying HZ */ --/* LATCH is used in the interval timer and ftape setup. */ --#define LATCH ((CLOCK_TICK_RATE + HZ/2) / HZ) /* For divider */ -+/* Machine Independant timer helper functions */ - -- --/* ------ Calibrate the TSC ------- -- * Return 2^32 * (1 / (TSC clocks per usec)) for do_fast_gettimeoffset(). -- * Too much 64-bit arithmetic here to do this cleanly in C, and for -- * accuracy's sake we want to keep the overhead on the CTC speaker (channel 2) -- * output busy loop as low as possible. We avoid reading the CTC registers -- * directly because of the awkward 8-bit access mechanism of the 82C54 -- * device. -- */ -- --#define CALIBRATE_LATCH (5 * LATCH) -- --static unsigned long long calibrate_tsc(void) -+void mdelay(unsigned int msecs) - { -- /* Set the Gate high, disable speaker */ -- outb((inb(0x61) & ~0x02) | 0x01, 0x61); -- -- /* -- * Now let's take care of CTC channel 2 -- * -- * Set the Gate high, program CTC channel 2 for mode 0, -- * (interrupt on terminal count mode), binary count, -- * load 5 * LATCH count, (LSB and MSB) to begin countdown. -- */ -- outb(0xb0, 0x43); /* binary, mode 0, LSB/MSB, Ch 2 */ -- outb(CALIBRATE_LATCH & 0xff, 0x42); /* LSB of count */ -- outb(CALIBRATE_LATCH >> 8, 0x42); /* MSB of count */ -- -- { -- unsigned long startlow, starthigh; -- unsigned long endlow, endhigh; -- unsigned long count; -- -- rdtsc(startlow,starthigh); -- count = 0; -- do { -- count++; -- } while ((inb(0x61) & 0x20) == 0); -- rdtsc(endlow,endhigh); -- -- /* Error: ECTCNEVERSET */ -- if (count <= 1) -- goto bad_ctc; -- -- /* 64-bit subtract - gcc just messes up with long longs */ -- __asm__("subl %2,%0\n\t" -- "sbbl %3,%1" -- :"=a" (endlow), "=d" (endhigh) -- :"g" (startlow), "g" (starthigh), -- "0" (endlow), "1" (endhigh)); -- -- /* Error: ECPUTOOFAST */ -- if (endhigh) -- goto bad_ctc; -- -- endlow /= 5; -- return endlow; -+ unsigned int i; -+ for(i = 0; i < msecs; i++) { -+ udelay(1000); -+ poll_interruptions(); - } -- -- /* -- * The CTC wasn't reliable: we got a hit on the very first read, -- * or the CPU was so fast/slow that the quotient wouldn't fit in -- * 32 bits.. -- */ --bad_ctc: -- printf("bad_ctc\n"); -- return 0; - } - -- --unsigned long currticks(void) -+void waiton_timer2(unsigned int ticks) - { -- static unsigned long clocks_per_tick; -- unsigned long clocks_high, clocks_low; -- unsigned long currticks; -- if (!clocks_per_tick) { -- clocks_per_tick = calibrate_tsc(); -- printf("clocks_per_tick = %d\n", clocks_per_tick); -+ load_timer2(ticks); -+ while(timer2_running()) { -+ poll_interruptions(); - } -- -- /* Read the Time Stamp Counter */ -- rdtsc(clocks_low, clocks_high); -- -- /* currticks = clocks / clocks_per_tick; */ -- __asm__("divl %1" -- :"=a" (currticks) -- :"r" (clocks_per_tick), "0" (clocks_low), "d" (clocks_high)); -- -- -- return currticks; - } -- --#endif /* RTC_CURRTICKS */ -Index: b/netboot/timer.h -=================================================================== ---- a/netboot/timer.h -+++ b/netboot/timer.h -@@ -36,7 +36,8 @@ - #define BCD_COUNT 0x01 - - /* Timers tick over at this rate */ --#define TICKS_PER_MS 1193 -+#define CLOCK_TICK_RATE 1193180U -+#define TICKS_PER_MS (CLOCK_TICK_RATE/1000) - - /* Parallel Peripheral Controller Port B */ - #define PPC_PORTB 0x61 -@@ -49,16 +50,19 @@ - /* Ticks must be between 0 and 65535 (0 == 65536) - because it is a 16 bit counter */ - extern void load_timer2(unsigned int ticks); --extern inline int timer2_running(void) --{ -- return ((inb(PPC_PORTB) & PPCB_T2OUT) == 0); --} -- --extern inline void waiton_timer2(unsigned int ticks) --{ -- load_timer2(ticks); -- while ((inb(PPC_PORTB) & PPCB_T2OUT) == 0) -- ; --} -+extern inline int timer2_running(void); -+extern void waiton_timer2(unsigned int ticks); -+extern void __load_timer2(unsigned int ticks); -+ -+extern void setup_timers(void); -+extern void ndelay(unsigned int nsecs); -+extern void udelay(unsigned int usecs); -+extern void mdelay(unsigned int msecs); -+//extern unsigned long currticks(void); -+ -+struct timeval { -+ long tv_sec; -+ long tv_usec; -+}; - - #endif /* TIMER_H */ -Index: b/netboot/tlan.c -=================================================================== ---- a/netboot/tlan.c -+++ b/netboot/tlan.c -@@ -1,3746 +1,1814 @@ -+#define EB51 -+ -+#ifdef EB50 -+#define __unused __attribute__((unused)) -+#endif -+ - /************************************************************************** --Etherboot - BOOTP/TFTP Bootstrap Program --TLAN driver for Etherboot -+* -+* tlan.c -- Etherboot device driver for the Texas Instruments ThunderLAN -+* Written 2003-2003 by Timothy Legge -+* -+* 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., 675 Mass Ave, Cambridge, MA 02139, USA. -+* -+* Portions of this code based on: -+* lan.c: Linux ThunderLan Driver: -+* -+* by James Banks -+* -+* (C) 1997-1998 Caldera, Inc. -+* (C) 1998 James Banks -+* (C) 1999-2001 Torben Mathiasen -+* (C) 2002 Samuel Chessman -+* -+* REVISION HISTORY: -+* ================ -+* v1.0 07-08-2003 timlegge Initial not quite working version -+* v1.1 07-27-2003 timlegge Sync 5.0 and 5.1 versions -+* v1.2 08-19-2003 timlegge Implement Multicast Support -+* v1.3 08-23-2003 timlegge Fix the transmit Function -+* v1.4 01-17-2004 timlegge Initial driver output cleanup -+* -+* Indent Options: indent -kr -i8 - ***************************************************************************/ - --/* -- * 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, or (at -- * your option) any later version. -- */ -- - /* to get some global routines like printf */ - #include "etherboot.h" - /* to get the interface to the body of the program */ - #include "nic.h" - /* to get the PCI support functions, if this is a PCI NIC */ - #include "pci.h" --/* to get our own prototype */ --#include "cards.h" -- -- /***************************************************************** -- * TLan Definitions -- * -- ****************************************************************/ -+#include "timer.h" -+#include "tlan.h" - --#define TLAN_MIN_FRAME_SIZE 64 --#define TLAN_MAX_FRAME_SIZE 1600 -+#define drv_version "v1.4" -+#define drv_date "01-17-2004" - --#define TLAN_NUM_RX_LISTS 32 --#define TLAN_NUM_TX_LISTS 64 -+/* NIC specific static variables go here */ -+#define HZ 100 -+#define TX_TIME_OUT (6*HZ) - --#define TLAN_IGNORE 0 --#define TLAN_RECORD 1 -+#ifdef EB50 -+#define cpu_to_le32(val) (val) -+#define le32_to_cpu(val) (val) -+#define virt_to_bus(x) ((unsigned long) x) -+#define bus_to_virt(x) ((unsigned long) x) -+#endif - --#define TLAN_DBG(lvl, format, args...) if (debug&lvl) printf("TLAN: " format, ##args ); --#define TLAN_DEBUG_GNRL 0x0001 --#define TLAN_DEBUG_TX 0x0002 --#define TLAN_DEBUG_RX 0x0004 --#define TLAN_DEBUG_LIST 0x0008 --#define TLAN_DEBUG_PROBE 0x0010 -+/* Condensed operations for readability. */ -+#define virt_to_le32desc(addr) cpu_to_le32(virt_to_bus(addr)) -+#define le32desc_to_virt(addr) bus_to_virt(le32_to_cpu(addr)) - --#define MAX_TLAN_BOARDS 8 /* Max number of boards installed at a time */ - -- /***************************************************************** -- * Device Identification Definitions -- * -- ****************************************************************/ -- --#define PCI_DEVICE_ID_NETELLIGENT_10_T2 0xB012 --#define PCI_DEVICE_ID_NETELLIGENT_10_100_WS_5100 0xB030 --#ifndef PCI_DEVICE_ID_OLICOM_OC2183 --#define PCI_DEVICE_ID_OLICOM_OC2183 0x0013 --#endif --#ifndef PCI_DEVICE_ID_OLICOM_OC2325 --#define PCI_DEVICE_ID_OLICOM_OC2325 0x0012 --#endif --#ifndef PCI_DEVICE_ID_OLICOM_OC2326 --#define PCI_DEVICE_ID_OLICOM_OC2326 0x0014 --#endif --#define TLAN_ADAPTER_NONE 0x00000000 --#define TLAN_ADAPTER_UNMANAGED_PHY 0x00000001 --#define TLAN_ADAPTER_BIT_RATE_PHY 0x00000002 --#define TLAN_ADAPTER_USE_INTERN_10 0x00000004 --#define TLAN_ADAPTER_ACTIVITY_LED 0x00000008 --#define TLAN_SPEED_DEFAULT 0 --#define TLAN_SPEED_10 10 --#define TLAN_SPEED_100 100 --#define TLAN_DUPLEX_DEFAULT 0 --#define TLAN_DUPLEX_HALF 1 --#define TLAN_DUPLEX_FULL 2 --#define TLAN_BUFFERS_PER_LIST 10 --#define TLAN_LAST_BUFFER 0x80000000 --#define TLAN_CSTAT_UNUSED 0x8000 --#define TLAN_CSTAT_FRM_CMP 0x4000 --#define TLAN_CSTAT_READY 0x3000 --#define TLAN_CSTAT_EOC 0x0800 --#define TLAN_CSTAT_RX_ERROR 0x0400 --#define TLAN_CSTAT_PASS_CRC 0x0200 --#define TLAN_CSTAT_DP_PR 0x0100 -- -- /***************************************************************** -- * PHY definitions -- * -- ****************************************************************/ -- --#define TLAN_PHY_MAX_ADDR 0x1F --#define TLAN_PHY_NONE 0x20 -- -- /***************************************************************** -- * TLan Driver Timer Definitions -- * -- ****************************************************************/ -- --#define TLAN_TIMER_LINK_BEAT 1 --#define TLAN_TIMER_ACTIVITY 2 --#define TLAN_TIMER_PHY_PDOWN 3 --#define TLAN_TIMER_PHY_PUP 4 --#define TLAN_TIMER_PHY_RESET 5 --#define TLAN_TIMER_PHY_START_LINK 6 --#define TLAN_TIMER_PHY_FINISH_AN 7 --#define TLAN_TIMER_FINISH_RESET 8 --#define TLAN_TIMER_ACT_DELAY (HZ/10) -- -- /***************************************************************** -- * TLan Driver Eeprom Definitions -- * -- ****************************************************************/ -- --#define TLAN_EEPROM_ACK 0 --#define TLAN_EEPROM_STOP 1 -- -- /***************************************************************** -- * Host Register Offsets and Contents -- * -- ****************************************************************/ -- --#define TLAN_HOST_CMD 0x00 --#define TLAN_HC_GO 0x80000000 --#define TLAN_HC_STOP 0x40000000 --#define TLAN_HC_ACK 0x20000000 --#define TLAN_HC_CS_MASK 0x1FE00000 --#define TLAN_HC_EOC 0x00100000 --#define TLAN_HC_RT 0x00080000 --#define TLAN_HC_NES 0x00040000 --#define TLAN_HC_AD_RST 0x00008000 --#define TLAN_HC_LD_TMR 0x00004000 --#define TLAN_HC_LD_THR 0x00002000 --#define TLAN_HC_REQ_INT 0x00001000 --#define TLAN_HC_INT_OFF 0x00000800 --#define TLAN_HC_INT_ON 0x00000400 --#define TLAN_HC_AC_MASK 0x000000FF --#define TLAN_CH_PARM 0x04 --#define TLAN_DIO_ADR 0x08 --#define TLAN_DA_ADR_INC 0x8000 --#define TLAN_DA_RAM_ADR 0x4000 --#define TLAN_HOST_INT 0x0A --#define TLAN_HI_IV_MASK 0x1FE0 --#define TLAN_HI_IT_MASK 0x001C --#define TLAN_DIO_DATA 0x0C -- --/* ThunderLAN Internal Register DIO Offsets */ -- --#define TLAN_NET_CMD 0x00 --#define TLAN_NET_CMD_NRESET 0x80 --#define TLAN_NET_CMD_NWRAP 0x40 --#define TLAN_NET_CMD_CSF 0x20 --#define TLAN_NET_CMD_CAF 0x10 --#define TLAN_NET_CMD_NOBRX 0x08 --#define TLAN_NET_CMD_DUPLEX 0x04 --#define TLAN_NET_CMD_TRFRAM 0x02 --#define TLAN_NET_CMD_TXPACE 0x01 --#define TLAN_NET_SIO 0x01 --#define TLAN_NET_SIO_MINTEN 0x80 --#define TLAN_NET_SIO_ECLOK 0x40 --#define TLAN_NET_SIO_ETXEN 0x20 --#define TLAN_NET_SIO_EDATA 0x10 --#define TLAN_NET_SIO_NMRST 0x08 --#define TLAN_NET_SIO_MCLK 0x04 --#define TLAN_NET_SIO_MTXEN 0x02 --#define TLAN_NET_SIO_MDATA 0x01 --#define TLAN_NET_STS 0x02 --#define TLAN_NET_STS_MIRQ 0x80 --#define TLAN_NET_STS_HBEAT 0x40 --#define TLAN_NET_STS_TXSTOP 0x20 --#define TLAN_NET_STS_RXSTOP 0x10 --#define TLAN_NET_STS_RSRVD 0x0F --#define TLAN_NET_MASK 0x03 --#define TLAN_NET_MASK_MASK7 0x80 --#define TLAN_NET_MASK_MASK6 0x40 --#define TLAN_NET_MASK_MASK5 0x20 --#define TLAN_NET_MASK_MASK4 0x10 --#define TLAN_NET_MASK_RSRVD 0x0F --#define TLAN_NET_CONFIG 0x04 --#define TLAN_NET_CFG_RCLK 0x8000 --#define TLAN_NET_CFG_TCLK 0x4000 --#define TLAN_NET_CFG_BIT 0x2000 --#define TLAN_NET_CFG_RXCRC 0x1000 --#define TLAN_NET_CFG_PEF 0x0800 --#define TLAN_NET_CFG_1FRAG 0x0400 --#define TLAN_NET_CFG_1CHAN 0x0200 --#define TLAN_NET_CFG_MTEST 0x0100 --#define TLAN_NET_CFG_PHY_EN 0x0080 --#define TLAN_NET_CFG_MSMASK 0x007F --#define TLAN_MAN_TEST 0x06 --#define TLAN_DEF_VENDOR_ID 0x08 --#define TLAN_DEF_DEVICE_ID 0x0A --#define TLAN_DEF_REVISION 0x0C --#define TLAN_DEF_SUBCLASS 0x0D --#define TLAN_DEF_MIN_LAT 0x0E --#define TLAN_DEF_MAX_LAT 0x0F --#define TLAN_AREG_0 0x10 --#define TLAN_AREG_1 0x16 --#define TLAN_AREG_2 0x1C --#define TLAN_AREG_3 0x22 --#define TLAN_HASH_1 0x28 --#define TLAN_HASH_2 0x2C --#define TLAN_GOOD_TX_FRMS 0x30 --#define TLAN_TX_UNDERUNS 0x33 --#define TLAN_GOOD_RX_FRMS 0x34 --#define TLAN_RX_OVERRUNS 0x37 --#define TLAN_DEFERRED_TX 0x38 --#define TLAN_CRC_ERRORS 0x3A --#define TLAN_CODE_ERRORS 0x3B --#define TLAN_MULTICOL_FRMS 0x3C --#define TLAN_SINGLECOL_FRMS 0x3E --#define TLAN_EXCESSCOL_FRMS 0x40 --#define TLAN_LATE_COLS 0x41 --#define TLAN_CARRIER_LOSS 0x42 --#define TLAN_ACOMMIT 0x43 --#define TLAN_LED_REG 0x44 --#define TLAN_LED_ACT 0x10 --#define TLAN_LED_LINK 0x01 --#define TLAN_BSIZE_REG 0x45 --#define TLAN_MAX_RX 0x46 --#define TLAN_INT_DIS 0x48 --#define TLAN_ID_TX_EOC 0x04 --#define TLAN_ID_RX_EOF 0x02 --#define TLAN_ID_RX_EOC 0x01 -- --/* ThunderLAN Interrupt Codes */ -- --#define TLAN_INT_NUMBER_OF_INTS 8 -- --#define TLAN_INT_NONE 0x0000 --#define TLAN_INT_TX_EOF 0x0001 --#define TLAN_INT_STAT_OVERFLOW 0x0002 --#define TLAN_INT_RX_EOF 0x0003 --#define TLAN_INT_DUMMY 0x0004 --#define TLAN_INT_TX_EOC 0x0005 --#define TLAN_INT_STATUS_CHECK 0x0006 --#define TLAN_INT_RX_EOC 0x0007 --#define TLAN_TLPHY_ID 0x10 --#define TLAN_TLPHY_CTL 0x11 --#define TLAN_TC_IGLINK 0x8000 --#define TLAN_TC_SWAPOL 0x4000 --#define TLAN_TC_AUISEL 0x2000 --#define TLAN_TC_SQEEN 0x1000 --#define TLAN_TC_MTEST 0x0800 --#define TLAN_TC_RESERVED 0x07F8 --#define TLAN_TC_NFEW 0x0004 --#define TLAN_TC_INTEN 0x0002 --#define TLAN_TC_TINT 0x0001 --#define TLAN_TLPHY_STS 0x12 --#define TLAN_TS_MINT 0x8000 --#define TLAN_TS_PHOK 0x4000 --#define TLAN_TS_POLOK 0x2000 --#define TLAN_TS_TPENERGY 0x1000 --#define TLAN_TS_RESERVED 0x0FFF --#define TLAN_TLPHY_PAR 0x19 --#define TLAN_PHY_CIM_STAT 0x0020 --#define TLAN_PHY_SPEED_100 0x0040 --#define TLAN_PHY_DUPLEX_FULL 0x0080 --#define TLAN_PHY_AN_EN_STAT 0x0400 -- -- --/* ThunderLAN MII Registers */ -- --/* Generic MII/PHY Registers */ -- --#define MII_GEN_CTL 0x00 --#define MII_GC_RESET 0x8000 --#define MII_GC_LOOPBK 0x4000 --#define MII_GC_SPEEDSEL 0x2000 --#define MII_GC_AUTOENB 0x1000 --#define MII_GC_PDOWN 0x0800 --#define MII_GC_ISOLATE 0x0400 --#define MII_GC_AUTORSRT 0x0200 --#define MII_GC_DUPLEX 0x0100 --#define MII_GC_COLTEST 0x0080 --#define MII_GC_RESERVED 0x007F --#define MII_GEN_STS 0x01 --#define MII_GS_100BT4 0x8000 --#define MII_GS_100BTXFD 0x4000 --#define MII_GS_100BTXHD 0x2000 --#define MII_GS_10BTFD 0x1000 --#define MII_GS_10BTHD 0x0800 --#define MII_GS_RESERVED 0x07C0 --#define MII_GS_AUTOCMPLT 0x0020 --#define MII_GS_RFLT 0x0010 --#define MII_GS_AUTONEG 0x0008 --#define MII_GS_LINK 0x0004 --#define MII_GS_JABBER 0x0002 --#define MII_GS_EXTCAP 0x0001 --#define MII_GEN_ID_HI 0x02 --#define MII_GEN_ID_LO 0x03 --#define MII_GIL_OUI 0xFC00 --#define MII_GIL_MODEL 0x03F0 --#define MII_GIL_REVISION 0x000F --#define MII_AN_ADV 0x04 --#define MII_AN_LPA 0x05 --#define MII_AN_EXP 0x06 -- --/* ThunderLAN Specific MII/PHY Registers */ -- --#define TLAN_TC_IGLINK 0x8000 --#define TLAN_TC_SWAPOL 0x4000 --#define TLAN_TC_AUISEL 0x2000 --#define TLAN_TC_SQEEN 0x1000 --#define TLAN_TC_MTEST 0x0800 --#define TLAN_TC_RESERVED 0x07F8 --#define TLAN_TC_NFEW 0x0004 --#define TLAN_TC_INTEN 0x0002 --#define TLAN_TC_TINT 0x0001 --#define TLAN_TS_MINT 0x8000 --#define TLAN_TS_PHOK 0x4000 --#define TLAN_TS_POLOK 0x2000 --#define TLAN_TS_TPENERGY 0x1000 --#define TLAN_TS_RESERVED 0x0FFF --#define TLAN_PHY_CIM_STAT 0x0020 --#define TLAN_PHY_SPEED_100 0x0040 --#define TLAN_PHY_DUPLEX_FULL 0x0080 --#define TLAN_PHY_AN_EN_STAT 0x0400 -- --/* National Sem. & Level1 PHY id's */ --#define NAT_SEM_ID1 0x2000 --#define NAT_SEM_ID2 0x5C01 --#define LEVEL1_ID1 0x7810 --#define LEVEL1_ID2 0x0000 -- --#define TLan_ClearBit( bit, port ) outb_p(inb_p(port) & ~bit, port) --#define TLan_GetBit( bit, port ) ((int) (inb_p(port) & bit)) --#define TLan_SetBit( bit, port ) outb_p(inb_p(port) | bit, port) -- --typedef unsigned int u32; --typedef unsigned short u16; --typedef unsigned char u8; -+static void TLan_ResetLists(struct nic *nic __unused); -+static void TLan_ResetAdapter(struct nic *nic __unused); -+static void TLan_FinishReset(struct nic *nic __unused); - --/* Routines to access internal registers. */ -+static void TLan_EeSendStart(u16); -+static int TLan_EeSendByte(u16, u8, int); -+static void TLan_EeReceiveByte(u16, u8 *, int); -+static int TLan_EeReadByte(u16 io_base, u8, u8 *); - --inline u8 TLan_DioRead8(u16 base_addr, u16 internal_addr) --{ -- outw(internal_addr, base_addr + TLAN_DIO_ADR); -- return (inb((base_addr + TLAN_DIO_DATA) + (internal_addr & 0x3))); -- --} /* TLan_DioRead8 */ -+static void TLan_PhyDetect(struct nic *nic); -+static void TLan_PhyPowerDown(struct nic *nic); -+static void TLan_PhyPowerUp(struct nic *nic); - --inline u16 TLan_DioRead16(u16 base_addr, u16 internal_addr) --{ -- outw(internal_addr, base_addr + TLAN_DIO_ADR); -- return (inw((base_addr + TLAN_DIO_DATA) + (internal_addr & 0x2))); - --} /* TLan_DioRead16 */ -+static void TLan_SetMac(struct nic *nic __unused, int areg, char *mac); - --inline u32 TLan_DioRead32(u16 base_addr, u16 internal_addr) --{ -- outw(internal_addr, base_addr + TLAN_DIO_ADR); -- return (inl(base_addr + TLAN_DIO_DATA)); -+static void TLan_PhyReset(struct nic *nic); -+static void TLan_PhyStartLink(struct nic *nic); -+static void TLan_PhyFinishAutoNeg(struct nic *nic); - --} /* TLan_DioRead32 */ -+#ifdef MONITOR -+static void TLan_PhyMonitor(struct nic *nic); -+#endif - --inline void TLan_DioWrite8(u16 base_addr, u16 internal_addr, u8 data) --{ -- outw(internal_addr, base_addr + TLAN_DIO_ADR); -- outb(data, base_addr + TLAN_DIO_DATA + (internal_addr & 0x3)); - --} -+static void refill_rx(struct nic *nic __unused); - --inline void TLan_DioWrite16(u16 base_addr, u16 internal_addr, u16 data) --{ -- outw(internal_addr, base_addr + TLAN_DIO_ADR); -- outw(data, base_addr + TLAN_DIO_DATA + (internal_addr & 0x2)); -+static int TLan_MiiReadReg(struct nic *nic __unused, u16, u16, u16 *); -+static void TLan_MiiSendData(u16, u32, unsigned); -+static void TLan_MiiSync(u16); -+static void TLan_MiiWriteReg(struct nic *nic __unused, u16, u16, u16); - --} - --inline void TLan_DioWrite32(u16 base_addr, u16 internal_addr, u32 data) --{ -- outw(internal_addr, base_addr + TLAN_DIO_ADR); -- outl(data, base_addr + TLAN_DIO_DATA + (internal_addr & 0x2)); -+const char *media[] = { -+ "10BaseT-HD ", "10BaseT-FD ", "100baseTx-HD ", -+ "100baseTx-FD", "100baseT4", 0 -+}; - --} -+/* This much match tlan_pci_tbl[]! */ -+enum tlan_nics { -+ NETEL10 = 0, NETEL100 = 1, NETFLEX3I = 2, THUNDER = 3, NETFLEX3B = -+ 4, NETEL100PI = 5, -+ NETEL100D = 6, NETEL100I = 7, OC2183 = 8, OC2325 = 9, OC2326 = -+ 10, NETELLIGENT_10_100_WS_5100 = 11, -+ NETELLIGENT_10_T2 = 12 -+}; - --/* NIC specific static variables go here */ -+struct pci_id_info { -+ const char *name; -+ int nic_id; -+ struct match_info { -+ u32 pci, pci_mask, subsystem, subsystem_mask; -+ u32 revision, revision_mask; /* Only 8 bits. */ -+ } id; -+ u32 flags; -+ u16 addrOfs; /* Address Offset */ -+}; - --/***************************************************************************** --****************************************************************************** -+static struct pci_id_info tlan_pci_tbl[] = { -+ {"Compaq Netelligent 10 T PCI UTP", NETEL10, -+ {0xae340e11, 0xffffffff, 0, 0, 0, 0}, -+ TLAN_ADAPTER_ACTIVITY_LED, 0x83}, -+ {"Compaq Netelligent 10/100 TX PCI UTP", NETEL100, -+ {0xae320e11, 0xffffffff, 0, 0, 0, 0}, -+ TLAN_ADAPTER_ACTIVITY_LED, 0x83}, -+ {"Compaq Integrated NetFlex-3/P", NETFLEX3I, -+ {0xae350e11, 0xffffffff, 0, 0, 0, 0}, -+ TLAN_ADAPTER_NONE, 0x83}, -+ {"Compaq NetFlex-3/P", THUNDER, -+ {0xf1300e11, 0xffffffff, 0, 0, 0, 0}, -+ TLAN_ADAPTER_UNMANAGED_PHY | TLAN_ADAPTER_BIT_RATE_PHY, 0x83}, -+ {"Compaq NetFlex-3/P", NETFLEX3B, -+ {0xf1500e11, 0xffffffff, 0, 0, 0, 0}, -+ TLAN_ADAPTER_NONE, 0x83}, -+ {"Compaq Netelligent Integrated 10/100 TX UTP", NETEL100PI, -+ {0xae430e11, 0xffffffff, 0, 0, 0, 0}, -+ TLAN_ADAPTER_ACTIVITY_LED, 0x83}, -+ {"Compaq Netelligent Dual 10/100 TX PCI UTP", NETEL100D, -+ {0xae400e11, 0xffffffff, 0, 0, 0, 0}, -+ TLAN_ADAPTER_NONE, 0x83}, -+ {"Compaq Netelligent 10/100 TX Embedded UTP", NETEL100I, -+ {0xb0110e11, 0xffffffff, 0, 0, 0, 0}, -+ TLAN_ADAPTER_NONE, 0x83}, -+ {"Olicom OC-2183/2185", OC2183, -+ {0x0013108d, 0xffffffff, 0, 0, 0, 0}, -+ TLAN_ADAPTER_USE_INTERN_10, 0x83}, -+ {"Olicom OC-2325", OC2325, -+ {0x0012108d, 0xffffffff, 0, 0, 0, 0}, -+ TLAN_ADAPTER_UNMANAGED_PHY, 0xF8}, -+ {"Olicom OC-2326", OC2326, -+ {0x0014108d, 0xffffffff, 0, 0, 0, 0}, -+ TLAN_ADAPTER_USE_INTERN_10, 0xF8}, -+ {"Compaq Netelligent 10/100 TX UTP", NETELLIGENT_10_100_WS_5100, -+ {0xb0300e11, 0xffffffff, 0, 0, 0, 0}, -+ TLAN_ADAPTER_ACTIVITY_LED, 0x83}, -+ {"Compaq Netelligent 10 T/2 PCI UTP/Coax", NETELLIGENT_10_T2, -+ {0xb0120e11, 0xffffffff, 0, 0, 0, 0}, -+ TLAN_ADAPTER_NONE, 0x83}, -+ {"Compaq NetFlex-3/E", 0, /* EISA card */ -+ {0, 0, 0, 0, 0, 0}, -+ TLAN_ADAPTER_ACTIVITY_LED | TLAN_ADAPTER_UNMANAGED_PHY | -+ TLAN_ADAPTER_BIT_RATE_PHY, 0x83}, -+ {"Compaq NetFlex-3/E", 0, /* EISA card */ -+ {0, 0, 0, 0, 0, 0}, -+ TLAN_ADAPTER_ACTIVITY_LED, 0x83}, -+ {0, 0, -+ {0, 0, 0, 0, 0, 0}, -+ 0, 0}, -+}; - -- ThunderLAN Driver Eeprom routines - -- The Compaq Netelligent 10 and 10/100 cards use a Microchip 24C02A -- EEPROM. These functions are based on information in Microchip's -- data sheet. I don't know how well this functions will work with -- other EEPROMs. -+struct TLanList { -+ u32 forward; -+ u16 cStat; -+ u16 frameSize; -+ struct { -+ u32 count; -+ u32 address; -+ } buffer[TLAN_BUFFERS_PER_LIST]; -+}; - --****************************************************************************** --*****************************************************************************/ - -- /*************************************************************** -- * TLan_EeSendStart -- * -- * Returns: -- * Nothing -- * Parms: -- * io_base The IO port base address for the -- * TLAN device with the EEPROM to -- * use. -- * -- * This function sends a start cycle to an EEPROM attached -- * to a TLAN chip. -- * -- **************************************************************/ - --static void TLan_EeSendStart( u16 io_base ) --{ -- u16 sio; -+struct TLanList tx_ring[TLAN_NUM_TX_LISTS]; -+static unsigned char txb[TLAN_MAX_FRAME_SIZE * TLAN_NUM_TX_LISTS]; - -- outw( TLAN_NET_SIO, io_base + TLAN_DIO_ADR ); -- sio = io_base + TLAN_DIO_DATA + TLAN_NET_SIO; -+struct TLanList rx_ring[TLAN_NUM_RX_LISTS]; -+static unsigned char rxb[TLAN_MAX_FRAME_SIZE * TLAN_NUM_RX_LISTS]; - -- TLan_SetBit( TLAN_NET_SIO_ECLOK, sio ); -- TLan_SetBit( TLAN_NET_SIO_EDATA, sio ); -- TLan_SetBit( TLAN_NET_SIO_ETXEN, sio ); -- TLan_ClearBit( TLAN_NET_SIO_EDATA, sio ); -- TLan_ClearBit( TLAN_NET_SIO_ECLOK, sio ); -+typedef u8 TLanBuffer[TLAN_MAX_FRAME_SIZE]; - --} /* TLan_EeSendStart */ - -- /*************************************************************** -- * TLan_EeSendByte -- * -- * Returns: -- * If the correct ack was received, 0, otherwise 1 -- * Parms: io_base The IO port base address for the -- * TLAN device with the EEPROM to -- * use. -- * data The 8 bits of information to -- * send to the EEPROM. -- * stop If TLAN_EEPROM_STOP is passed, a -- * stop cycle is sent after the -- * byte is sent after the ack is -- * read. -- * -- * This function sends a byte on the serial EEPROM line, -- * driving the clock to send each bit. The function then -- * reverses transmission direction and reads an acknowledge -- * bit. -- * -- **************************************************************/ -+int chip_idx; - --static int TLan_EeSendByte( u16 io_base, u8 data, int stop ) --{ -- int err; -- u8 place; -- u16 sio; - -- outw( TLAN_NET_SIO, io_base + TLAN_DIO_ADR ); -- sio = io_base + TLAN_DIO_DATA + TLAN_NET_SIO; -+/***************************************************************** -+* TLAN Private Information Structure -+* -+****************************************************************/ -+struct tlan_private { -+ unsigned short vendor_id; /* PCI Vendor code */ -+ unsigned short dev_id; /* PCI Device code */ -+ const char *nic_name; -+ u8 *padBuffer; -+ u8 *rxBuffer; -+ struct TLanList *rx_head_desc; -+ u32 rxHead; -+ u32 rxTail; -+ u32 rxEocCount; -+ unsigned int cur_rx, dirty_rx; /* Producer/consumer ring indicies */ -+ unsigned int cur_tx, dirty_tx; -+ unsigned rx_buf_sz; /* Based on mtu + Slack */ -+ struct TLanList *txList; -+ struct TLanList *rxList; -+ u8 *txBuffer; -+ u32 txHead; -+ u32 txInProgress; -+ u32 txTail; -+ int eoc; -+ u32 txBusyCount; -+ u32 phyOnline; -+ u32 timerSetAt; -+ u32 timerType; -+ u32 adapterRev; -+ u32 aui; -+ u32 debug; -+ u32 duplex; -+ u32 phy[2]; -+ u32 phyNum; -+ u32 speed; -+ u8 tlanRev; -+ u8 tlanFullDuplex; -+ char devName[8]; -+ u8 link; -+ u8 is_eisa; -+ u8 neg_be_verbose; -+} TLanPrivateInfo; - -- /* Assume clock is low, tx is enabled; */ -- for ( place = 0x80; place != 0; place >>= 1 ) { -- if ( place & data ) -- TLan_SetBit( TLAN_NET_SIO_EDATA, sio ); -- else -- TLan_ClearBit( TLAN_NET_SIO_EDATA, sio ); -- TLan_SetBit( TLAN_NET_SIO_ECLOK, sio ); -- TLan_ClearBit( TLAN_NET_SIO_ECLOK, sio ); -- } -- TLan_ClearBit( TLAN_NET_SIO_ETXEN, sio ); -- TLan_SetBit( TLAN_NET_SIO_ECLOK, sio ); -- err = TLan_GetBit( TLAN_NET_SIO_EDATA, sio ); -- TLan_ClearBit( TLAN_NET_SIO_ECLOK, sio ); -- TLan_SetBit( TLAN_NET_SIO_ETXEN, sio ); -+static struct tlan_private *priv; - -- if ( ( ! err ) && stop ) { -- TLan_ClearBit( TLAN_NET_SIO_EDATA, sio ); /* STOP, raise data while clock is high */ -- TLan_SetBit( TLAN_NET_SIO_ECLOK, sio ); -- TLan_SetBit( TLAN_NET_SIO_EDATA, sio ); -- } -+u32 BASE; - -- return ( err ); - --} /* TLan_EeSendByte */ - -- /*************************************************************** -- * TLan_EeReceiveByte -- * -- * Returns: -- * Nothing -- * Parms: -- * io_base The IO port base address for the -- * TLAN device with the EEPROM to -- * use. -- * data An address to a char to hold the -- * data sent from the EEPROM. -- * stop If TLAN_EEPROM_STOP is passed, a -- * stop cycle is sent after the -- * byte is received, and no ack is -- * sent. -- * -- * This function receives 8 bits of data from the EEPROM -- * over the serial link. It then sends and ack bit, or no -- * ack and a stop bit. This function is used to retrieve -- * data after the address of a byte in the EEPROM has been -- * sent. -- * -- **************************************************************/ -+/*************************************************************** -+* TLan_ResetLists -+* -+* Returns: -+* Nothing -+* Parms: -+* dev The device structure with the list -+* stuctures to be reset. -+* -+* This routine sets the variables associated with managing -+* the TLAN lists to their initial values. -+* -+**************************************************************/ - --static void TLan_EeReceiveByte( u16 io_base, u8 *data, int stop ) -+void TLan_ResetLists(struct nic *nic __unused) - { -- u8 place; -- u16 sio; - -- outw( TLAN_NET_SIO, io_base + TLAN_DIO_ADR ); -- sio = io_base + TLAN_DIO_DATA + TLAN_NET_SIO; -- *data = 0; -+ int i; -+ struct TLanList *list; -+ priv->txHead = 0; -+ priv->txTail = 0; - -- /* Assume clock is low, tx is enabled; */ -- TLan_ClearBit( TLAN_NET_SIO_ETXEN, sio ); -- for ( place = 0x80; place; place >>= 1 ) { -- TLan_SetBit( TLAN_NET_SIO_ECLOK, sio ); -- if ( TLan_GetBit( TLAN_NET_SIO_EDATA, sio ) ) -- *data |= place; -- TLan_ClearBit( TLAN_NET_SIO_ECLOK, sio ); -+ for (i = 0; i < TLAN_NUM_TX_LISTS; i++) { -+ list = &tx_ring[i]; -+ list->cStat = TLAN_CSTAT_UNUSED; -+/* list->buffer[0].address = 0; */ -+ list->buffer[0].address = virt_to_bus(txb + -+ (i * TLAN_MAX_FRAME_SIZE)); -+ list->buffer[2].count = 0; -+ list->buffer[2].address = 0; -+ list->buffer[9].address = 0; -+/* list->forward = 0; */ - } - -- TLan_SetBit( TLAN_NET_SIO_ETXEN, sio ); -- if ( ! stop ) { -- TLan_ClearBit( TLAN_NET_SIO_EDATA, sio ); /* Ack = 0 */ -- TLan_SetBit( TLAN_NET_SIO_ECLOK, sio ); -- TLan_ClearBit( TLAN_NET_SIO_ECLOK, sio ); -- } else { -- TLan_SetBit( TLAN_NET_SIO_EDATA, sio ); /* No ack = 1 (?) */ -- TLan_SetBit( TLAN_NET_SIO_ECLOK, sio ); -- TLan_ClearBit( TLAN_NET_SIO_ECLOK, sio ); -- TLan_ClearBit( TLAN_NET_SIO_EDATA, sio ); /* STOP, raise data while clock is high */ -- TLan_SetBit( TLAN_NET_SIO_ECLOK, sio ); -- TLan_SetBit( TLAN_NET_SIO_EDATA, sio ); -- } -+ priv->cur_rx = 0; -+ priv->rx_buf_sz = (TLAN_MAX_FRAME_SIZE); -+ priv->rx_head_desc = &rx_ring[0]; -+ -+ /* Initialize all the Rx descriptors */ -+ for (i = 0; i < TLAN_NUM_RX_LISTS; i++) { -+ rx_ring[i].forward = virt_to_le32desc(&rx_ring[i + 1]); -+ rx_ring[i].cStat = TLAN_CSTAT_READY; -+ rx_ring[i].frameSize = TLAN_MAX_FRAME_SIZE; -+ rx_ring[i].buffer[0].count = -+ TLAN_MAX_FRAME_SIZE | TLAN_LAST_BUFFER; -+ rx_ring[i].buffer[0].address = -+ virt_to_le32desc(&rxb[i * TLAN_MAX_FRAME_SIZE]); -+ rx_ring[i].buffer[1].count = 0; -+ rx_ring[i].buffer[1].address = 0; -+ } -+ -+ /* Mark the last entry as wrapping the ring */ -+ rx_ring[i - 1].forward = virt_to_le32desc(&rx_ring[0]); -+ priv->dirty_rx = (unsigned int) (i - TLAN_NUM_RX_LISTS); - --} /* TLan_EeReceiveByte */ -+} /* TLan_ResetLists */ - -- /*************************************************************** -- * TLan_EeReadByte -- * -- * Returns: -- * No error = 0, else, the stage at which the error -- * occurred. -- * Parms: -- * io_base The IO port base address for the -- * TLAN device with the EEPROM to -- * use. -- * ee_addr The address of the byte in the -- * EEPROM whose contents are to be -- * retrieved. -- * data An address to a char to hold the -- * data obtained from the EEPROM. -- * -- * This function reads a byte of information from an byte -- * cell in the EEPROM. -- * -- **************************************************************/ -+/*************************************************************** -+* TLan_Reset -+* -+* Returns: -+* 0 -+* Parms: -+* dev Pointer to device structure of adapter -+* to be reset. -+* -+* This function resets the adapter and it's physical -+* device. See Chap. 3, pp. 9-10 of the "ThunderLAN -+* Programmer's Guide" for details. The routine tries to -+* implement what is detailed there, though adjustments -+* have been made. -+* -+**************************************************************/ - --static int TLan_EeReadByte( u16 io_base, u8 ee_addr, u8 *data ) -+void TLan_ResetAdapter(struct nic *nic __unused) - { -- int err; -- unsigned long flags = 0; -- int ret=0; -+ int i; -+ u32 addr; -+ u32 data; -+ u8 data8; - -- TLan_EeSendStart( io_base ); -- err = TLan_EeSendByte( io_base, 0xA0, TLAN_EEPROM_ACK ); -- if (err) -- { -- ret=1; -- goto fail; -- } -- err = TLan_EeSendByte( io_base, ee_addr, TLAN_EEPROM_ACK ); -- if (err) -- { -- ret=2; -- goto fail; -- } -- TLan_EeSendStart( io_base ); -- err = TLan_EeSendByte( io_base, 0xA1, TLAN_EEPROM_ACK ); -- if (err) -- { -- ret=3; -- goto fail; -- } -- TLan_EeReceiveByte( io_base, data, TLAN_EEPROM_STOP ); --fail: -+ priv->tlanFullDuplex = FALSE; -+ priv->phyOnline = 0; -+/* 1. Assert reset bit. */ - -- return ret; -+ data = inl(BASE + TLAN_HOST_CMD); -+ data |= TLAN_HC_AD_RST; -+ outl(data, BASE + TLAN_HOST_CMD); - --} /* TLan_EeReadByte */ -+ udelay(1000); - --#if 0 --/* Not yet converted from Linux driver */ --/***************************************************************************** --****************************************************************************** -+/* 2. Turn off interrupts. ( Probably isn't necessary ) */ - -- ThunderLAN Driver PHY Layer Routines -+ data = inl(BASE + TLAN_HOST_CMD); -+ data |= TLAN_HC_INT_OFF; -+ outl(data, BASE + TLAN_HOST_CMD); -+/* 3. Clear AREGs and HASHs. */ - --****************************************************************************** --*****************************************************************************/ -+ for (i = TLAN_AREG_0; i <= TLAN_HASH_2; i += 4) { -+ TLan_DioWrite32(BASE, (u16) i, 0); -+ } - -- /********************************************************************* -- * TLan_PhyPrint -- * -- * Returns: -- * Nothing -- * Parms: -- * dev A pointer to the device structure of the -- * TLAN device having the PHYs to be detailed. -- * -- * This function prints the registers a PHY (aka tranceiver). -- * -- ********************************************************************/ -+/* 4. Setup NetConfig register. */ - --void TLan_PhyPrint( struct net_device *dev ) --{ -- TLanPrivateInfo *priv = dev->priv; -- u16 i, data0, data1, data2, data3, phy; -+ data = -+ TLAN_NET_CFG_1FRAG | TLAN_NET_CFG_1CHAN | TLAN_NET_CFG_PHY_EN; -+ TLan_DioWrite16(BASE, TLAN_NET_CONFIG, (u16) data); - -- phy = priv->phy[priv->phyNum]; -+/* 5. Load Ld_Tmr and Ld_Thr in HOST_CMD. */ - -- if ( priv->adapter->flags & TLAN_ADAPTER_UNMANAGED_PHY ) { -- printk( "TLAN: Device %s, Unmanaged PHY.\n", dev->name ); -- } else if ( phy <= TLAN_PHY_MAX_ADDR ) { -- printk( "TLAN: Device %s, PHY 0x%02x.\n", dev->name, phy ); -- printk( "TLAN: Off. +0 +1 +2 +3 \n" ); -- for ( i = 0; i < 0x20; i+= 4 ) { -- printk( "TLAN: 0x%02x", i ); -- TLan_MiiReadReg( dev, phy, i, &data0 ); -- printk( " 0x%04hx", data0 ); -- TLan_MiiReadReg( dev, phy, i + 1, &data1 ); -- printk( " 0x%04hx", data1 ); -- TLan_MiiReadReg( dev, phy, i + 2, &data2 ); -- printk( " 0x%04hx", data2 ); -- TLan_MiiReadReg( dev, phy, i + 3, &data3 ); -- printk( " 0x%04hx\n", data3 ); -- } -- } else { -- printk( "TLAN: Device %s, Invalid PHY.\n", dev->name ); -- } -+ outl(TLAN_HC_LD_TMR | 0x3f, BASE + TLAN_HOST_CMD); -+ outl(TLAN_HC_LD_THR | 0x0, BASE + TLAN_HOST_CMD); - --} /* TLan_PhyPrint */ -+/* 6. Unreset the MII by setting NMRST (in NetSio) to 1. */ - -- /********************************************************************* -- * TLan_PhyDetect -- * -- * Returns: -- * Nothing -- * Parms: -- * dev A pointer to the device structure of the adapter -- * for which the PHY needs determined. -- * -- * So far I've found that adapters which have external PHYs -- * may also use the internal PHY for part of the functionality. -- * (eg, AUI/Thinnet). This function finds out if this TLAN -- * chip has an internal PHY, and then finds the first external -- * PHY (starting from address 0) if it exists). -- * -- ********************************************************************/ -+ outw(TLAN_NET_SIO, BASE + TLAN_DIO_ADR); -+ addr = BASE + TLAN_DIO_DATA + TLAN_NET_SIO; -+ TLan_SetBit(TLAN_NET_SIO_NMRST, addr); - --void TLan_PhyDetect( struct net_device *dev ) --{ -- TLanPrivateInfo *priv = dev->priv; -- u16 control; -- u16 hi; -- u16 lo; -- u32 phy; -+/* 7. Setup the remaining registers. */ - -- if ( priv->adapter->flags & TLAN_ADAPTER_UNMANAGED_PHY ) { -- priv->phyNum = 0xFFFF; -- return; -+ if (priv->tlanRev >= 0x30) { -+ data8 = TLAN_ID_TX_EOC | TLAN_ID_RX_EOC; -+ TLan_DioWrite8(BASE, TLAN_INT_DIS, data8); - } -+ TLan_PhyDetect(nic); -+ data = TLAN_NET_CFG_1FRAG | TLAN_NET_CFG_1CHAN; - -- TLan_MiiReadReg( dev, TLAN_PHY_MAX_ADDR, MII_GEN_ID_HI, &hi ); -- -- if ( hi != 0xFFFF ) { -- priv->phy[0] = TLAN_PHY_MAX_ADDR; -- } else { -- priv->phy[0] = TLAN_PHY_NONE; -+ if (tlan_pci_tbl[chip_idx].flags & TLAN_ADAPTER_BIT_RATE_PHY) { -+ data |= TLAN_NET_CFG_BIT; -+ if (priv->aui == 1) { -+ TLan_DioWrite8(BASE, TLAN_ACOMMIT, 0x0a); -+ } else if (priv->duplex == TLAN_DUPLEX_FULL) { -+ TLan_DioWrite8(BASE, TLAN_ACOMMIT, 0x00); -+ priv->tlanFullDuplex = TRUE; -+ } else { -+ TLan_DioWrite8(BASE, TLAN_ACOMMIT, 0x08); -+ } - } - -- priv->phy[1] = TLAN_PHY_NONE; -- for ( phy = 0; phy <= TLAN_PHY_MAX_ADDR; phy++ ) { -- TLan_MiiReadReg( dev, phy, MII_GEN_CTL, &control ); -- TLan_MiiReadReg( dev, phy, MII_GEN_ID_HI, &hi ); -- TLan_MiiReadReg( dev, phy, MII_GEN_ID_LO, &lo ); -- if ( ( control != 0xFFFF ) || ( hi != 0xFFFF ) || ( lo != 0xFFFF ) ) { -- TLAN_DBG( TLAN_DEBUG_GNRL, "PHY found at %02x %04x %04x %04x\n", phy, control, hi, lo ); -- if ( ( priv->phy[1] == TLAN_PHY_NONE ) && ( phy != TLAN_PHY_MAX_ADDR ) ) { -- priv->phy[1] = phy; -- } -- } -+ if (priv->phyNum == 0) { -+ data |= TLAN_NET_CFG_PHY_EN; - } -+ TLan_DioWrite16(BASE, TLAN_NET_CONFIG, (u16) data); - -- if ( priv->phy[1] != TLAN_PHY_NONE ) { -- priv->phyNum = 1; -- } else if ( priv->phy[0] != TLAN_PHY_NONE ) { -- priv->phyNum = 0; -+ if (tlan_pci_tbl[chip_idx].flags & TLAN_ADAPTER_UNMANAGED_PHY) { -+ TLan_FinishReset(nic); - } else { -- printk( "TLAN: Cannot initialize device, no PHY was found!\n" ); -+ TLan_PhyPowerDown(nic); - } - --} /* TLan_PhyDetect */ -+} /* TLan_ResetAdapter */ - --void TLan_PhyPowerDown( struct net_device *dev ) -+void TLan_FinishReset(struct nic *nic) - { -- TLanPrivateInfo *priv = dev->priv; -- u16 value; - -- TLAN_DBG( TLAN_DEBUG_GNRL, "%s: Powering down PHY(s).\n", dev->name ); -- value = MII_GC_PDOWN | MII_GC_LOOPBK | MII_GC_ISOLATE; -- TLan_MiiSync( dev->base_addr ); -- TLan_MiiWriteReg( dev, priv->phy[priv->phyNum], MII_GEN_CTL, value ); -- if ( ( priv->phyNum == 0 ) && ( priv->phy[1] != TLAN_PHY_NONE ) && ( ! ( priv->adapter->flags & TLAN_ADAPTER_USE_INTERN_10 ) ) ) { -- TLan_MiiSync( dev->base_addr ); -- TLan_MiiWriteReg( dev, priv->phy[1], MII_GEN_CTL, value ); -+ u8 data; -+ u32 phy; -+ u8 sio; -+ u16 status; -+ u16 partner; -+ u16 tlphy_ctl; -+ u16 tlphy_par; -+ u16 tlphy_id1, tlphy_id2; -+ int i; -+ -+ phy = priv->phy[priv->phyNum]; -+ -+ data = TLAN_NET_CMD_NRESET | TLAN_NET_CMD_NWRAP; -+ if (priv->tlanFullDuplex) { -+ data |= TLAN_NET_CMD_DUPLEX; - } -+ TLan_DioWrite8(BASE, TLAN_NET_CMD, data); -+ data = TLAN_NET_MASK_MASK4 | TLAN_NET_MASK_MASK5; -+ if (priv->phyNum == 0) { -+ data |= TLAN_NET_MASK_MASK7; -+ } -+ TLan_DioWrite8(BASE, TLAN_NET_MASK, data); -+ TLan_DioWrite16(BASE, TLAN_MAX_RX, ((1536) + 7) & ~7); -+ TLan_MiiReadReg(nic, phy, MII_GEN_ID_HI, &tlphy_id1); -+ TLan_MiiReadReg(nic, phy, MII_GEN_ID_LO, &tlphy_id2); - -- /* Wait for 50 ms and powerup -- * This is abitrary. It is intended to make sure the -- * tranceiver settles. -- */ -- TLan_SetTimer( dev, (HZ/20), TLAN_TIMER_PHY_PUP ); -+ if ((tlan_pci_tbl[chip_idx].flags & TLAN_ADAPTER_UNMANAGED_PHY) -+ || (priv->aui)) { -+ status = MII_GS_LINK; -+ printf("TLAN: %s: Link forced.\n", priv->nic_name); -+ } else { -+ TLan_MiiReadReg(nic, phy, MII_GEN_STS, &status); -+ udelay(1000); -+ TLan_MiiReadReg(nic, phy, MII_GEN_STS, &status); -+ if ((status & MII_GS_LINK) && /* We only support link info on Nat.Sem. PHY's */ -+ (tlphy_id1 == NAT_SEM_ID1) -+ && (tlphy_id2 == NAT_SEM_ID2)) { -+ TLan_MiiReadReg(nic, phy, MII_AN_LPA, &partner); -+ TLan_MiiReadReg(nic, phy, TLAN_TLPHY_PAR, -+ &tlphy_par); - --} /* TLan_PhyPowerDown */ -+ printf("TLAN: %s: Link active with ", -+ priv->nic_name); -+ if (!(tlphy_par & TLAN_PHY_AN_EN_STAT)) { -+ printf("forced 10%sMbps %s-Duplex\n", -+ tlphy_par & TLAN_PHY_SPEED_100 ? "" -+ : "0", -+ tlphy_par & TLAN_PHY_DUPLEX_FULL ? -+ "Full" : "Half"); -+ } else { -+ printf -+ ("AutoNegotiation enabled, at 10%sMbps %s-Duplex\n", -+ tlphy_par & TLAN_PHY_SPEED_100 ? "" : -+ "0", -+ tlphy_par & TLAN_PHY_DUPLEX_FULL ? -+ "Full" : "Half"); -+ printf("TLAN: Partner capability: "); -+ for (i = 5; i <= 10; i++) -+ if (partner & (1 << i)) -+ printf("%s", media[i - 5]); -+ printf("\n"); -+ } - --void TLan_PhyPowerUp( struct net_device *dev ) --{ -- TLanPrivateInfo *priv = dev->priv; -- u16 value; -+ TLan_DioWrite8(BASE, TLAN_LED_REG, TLAN_LED_LINK); -+#ifdef MONITOR -+ /* We have link beat..for now anyway */ -+ priv->link = 1; -+ /*Enabling link beat monitoring */ -+ /* TLan_SetTimer( nic, (10*HZ), TLAN_TIMER_LINK_BEAT ); */ -+ mdelay(10000); -+ TLan_PhyMonitor(nic); -+#endif -+ } else if (status & MII_GS_LINK) { -+ printf("TLAN: %s: Link active\n", priv->nic_name); -+ TLan_DioWrite8(BASE, TLAN_LED_REG, TLAN_LED_LINK); -+ } -+ } - -- TLAN_DBG( TLAN_DEBUG_GNRL, "%s: Powering up PHY.\n", dev->name ); -- TLan_MiiSync( dev->base_addr ); -- value = MII_GC_LOOPBK; -- TLan_MiiWriteReg( dev, priv->phy[priv->phyNum], MII_GEN_CTL, value ); -- TLan_MiiSync(dev->base_addr); -- /* Wait for 500 ms and reset the -- * tranceiver. The TLAN docs say both 50 ms and -- * 500 ms, so do the longer, just in case. -- */ -- TLan_SetTimer( dev, (HZ/20), TLAN_TIMER_PHY_RESET ); -+ if (priv->phyNum == 0) { -+ TLan_MiiReadReg(nic, phy, TLAN_TLPHY_CTL, &tlphy_ctl); -+ tlphy_ctl |= TLAN_TC_INTEN; -+ TLan_MiiWriteReg(nic, phy, TLAN_TLPHY_CTL, tlphy_ctl); -+ sio = TLan_DioRead8(BASE, TLAN_NET_SIO); -+ sio |= TLAN_NET_SIO_MINTEN; -+ TLan_DioWrite8(BASE, TLAN_NET_SIO, sio); -+ } - --} /* TLan_PhyPowerUp */ -+ if (status & MII_GS_LINK) { -+ TLan_SetMac(nic, 0, nic->node_addr); -+ priv->phyOnline = 1; -+ outb((TLAN_HC_INT_ON >> 8), BASE + TLAN_HOST_CMD + 1); -+/* if ( debug >= 1 && debug != TLAN_DEBUG_PROBE ) { -+ outb( ( TLAN_HC_REQ_INT >> 8 ), BASE + TLAN_HOST_CMD + 1 ); -+ } - --void TLan_PhyReset( struct net_device *dev ) --{ -- TLanPrivateInfo *priv = dev->priv; -- u16 phy; -- u16 value; -+ */ -+ outl(virt_to_bus(&rx_ring), BASE + TLAN_CH_PARM); -+ outl(TLAN_HC_GO | TLAN_HC_RT, BASE + TLAN_HOST_CMD); -+ } else { -+ printf -+ ("TLAN: %s: Link inactive, will retry in 10 secs...\n", -+ priv->nic_name); -+ /* TLan_SetTimer( nic, (10*HZ), TLAN_TIMER_FINISH_RESET ); */ -+ mdelay(10000); -+ TLan_FinishReset(nic); -+ return; - -- phy = priv->phy[priv->phyNum]; -+ } - -- TLAN_DBG( TLAN_DEBUG_GNRL, "%s: Reseting PHY.\n", dev->name ); -- TLan_MiiSync( dev->base_addr ); -- value = MII_GC_LOOPBK | MII_GC_RESET; -- TLan_MiiWriteReg( dev, phy, MII_GEN_CTL, value ); -- TLan_MiiReadReg( dev, phy, MII_GEN_CTL, &value ); -- while ( value & MII_GC_RESET ) { -- TLan_MiiReadReg( dev, phy, MII_GEN_CTL, &value ); -- } -- -- /* Wait for 500 ms and initialize. -- * I don't remember why I wait this long. -- * I've changed this to 50ms, as it seems long enough. -- */ -- TLan_SetTimer( dev, (HZ/20), TLAN_TIMER_PHY_START_LINK ); -- --} /* TLan_PhyReset */ -- --void TLan_PhyStartLink( struct net_device *dev ) --{ -- TLanPrivateInfo *priv = dev->priv; -- u16 ability; -- u16 control; -- u16 data; -- u16 phy; -- u16 status; -- u16 tctl; -- -- phy = priv->phy[priv->phyNum]; -- TLAN_DBG( TLAN_DEBUG_GNRL, "%s: Trying to activate link.\n", dev->name ); -- TLan_MiiReadReg( dev, phy, MII_GEN_STS, &status ); -- TLan_MiiReadReg( dev, phy, MII_GEN_STS, &ability ); -- -- if ( ( status & MII_GS_AUTONEG ) && -- ( ! priv->aui ) ) { -- ability = status >> 11; -- if ( priv->speed == TLAN_SPEED_10 && -- priv->duplex == TLAN_DUPLEX_HALF) { -- TLan_MiiWriteReg( dev, phy, MII_GEN_CTL, 0x0000); -- } else if ( priv->speed == TLAN_SPEED_10 && -- priv->duplex == TLAN_DUPLEX_FULL) { -- priv->tlanFullDuplex = TRUE; -- TLan_MiiWriteReg( dev, phy, MII_GEN_CTL, 0x0100); -- } else if ( priv->speed == TLAN_SPEED_100 && -- priv->duplex == TLAN_DUPLEX_HALF) { -- TLan_MiiWriteReg( dev, phy, MII_GEN_CTL, 0x2000); -- } else if ( priv->speed == TLAN_SPEED_100 && -- priv->duplex == TLAN_DUPLEX_FULL) { -- priv->tlanFullDuplex = TRUE; -- TLan_MiiWriteReg( dev, phy, MII_GEN_CTL, 0x2100); -- } else { -- -- /* Set Auto-Neg advertisement */ -- TLan_MiiWriteReg( dev, phy, MII_AN_ADV, (ability << 5) | 1); -- /* Enablee Auto-Neg */ -- TLan_MiiWriteReg( dev, phy, MII_GEN_CTL, 0x1000 ); -- /* Restart Auto-Neg */ -- TLan_MiiWriteReg( dev, phy, MII_GEN_CTL, 0x1200 ); -- /* Wait for 4 sec for autonegotiation -- * to complete. The max spec time is less than this -- * but the card need additional time to start AN. -- * .5 sec should be plenty extra. -- */ -- printk( "TLAN: %s: Starting autonegotiation.\n", dev->name ); -- TLan_SetTimer( dev, (2*HZ), TLAN_TIMER_PHY_FINISH_AN ); -- return; -- } -- -- } -- -- if ( ( priv->aui ) && ( priv->phyNum != 0 ) ) { -- priv->phyNum = 0; -- data = TLAN_NET_CFG_1FRAG | TLAN_NET_CFG_1CHAN | TLAN_NET_CFG_PHY_EN; -- TLan_DioWrite16( dev->base_addr, TLAN_NET_CONFIG, data ); -- TLan_SetTimer( dev, (40*HZ/1000), TLAN_TIMER_PHY_PDOWN ); -- return; -- } else if ( priv->phyNum == 0 ) { -- TLan_MiiReadReg( dev, phy, TLAN_TLPHY_CTL, &tctl ); -- if ( priv->aui ) { -- tctl |= TLAN_TC_AUISEL; -- } else { -- tctl &= ~TLAN_TC_AUISEL; -- control = 0; -- if ( priv->duplex == TLAN_DUPLEX_FULL ) { -- control |= MII_GC_DUPLEX; -- priv->tlanFullDuplex = TRUE; -- } -- if ( priv->speed == TLAN_SPEED_100 ) { -- control |= MII_GC_SPEEDSEL; -- } -- TLan_MiiWriteReg( dev, phy, MII_GEN_CTL, control ); -- } -- TLan_MiiWriteReg( dev, phy, TLAN_TLPHY_CTL, tctl ); -- } -- -- /* Wait for 2 sec to give the tranceiver time -- * to establish link. -- */ -- TLan_SetTimer( dev, (4*HZ), TLAN_TIMER_FINISH_RESET ); -- --} /* TLan_PhyStartLink */ -- --void TLan_PhyFinishAutoNeg( struct net_device *dev ) --{ -- TLanPrivateInfo *priv = dev->priv; -- u16 an_adv; -- u16 an_lpa; -- u16 data; -- u16 mode; -- u16 phy; -- u16 status; -- -- phy = priv->phy[priv->phyNum]; -- -- TLan_MiiReadReg( dev, phy, MII_GEN_STS, &status ); -- udelay( 1000 ); -- TLan_MiiReadReg( dev, phy, MII_GEN_STS, &status ); -- -- if ( ! ( status & MII_GS_AUTOCMPLT ) ) { -- /* Wait for 8 sec to give the process -- * more time. Perhaps we should fail after a while. -- */ -- if (!priv->neg_be_verbose++) { -- printk(KERN_INFO "TLAN: Giving autonegotiation more time.\n"); -- printk(KERN_INFO "TLAN: Please check that your adapter has\n"); -- printk(KERN_INFO "TLAN: been properly connected to a HUB or Switch.\n"); -- printk(KERN_INFO "TLAN: Trying to establish link in the background...\n"); -- } -- TLan_SetTimer( dev, (8*HZ), TLAN_TIMER_PHY_FINISH_AN ); -- return; -- } -- -- printk( "TLAN: %s: Autonegotiation complete.\n", dev->name ); -- TLan_MiiReadReg( dev, phy, MII_AN_ADV, &an_adv ); -- TLan_MiiReadReg( dev, phy, MII_AN_LPA, &an_lpa ); -- mode = an_adv & an_lpa & 0x03E0; -- if ( mode & 0x0100 ) { -- priv->tlanFullDuplex = TRUE; -- } else if ( ! ( mode & 0x0080 ) && ( mode & 0x0040 ) ) { -- priv->tlanFullDuplex = TRUE; -- } -- -- if ( ( ! ( mode & 0x0180 ) ) && ( priv->adapter->flags & TLAN_ADAPTER_USE_INTERN_10 ) && ( priv->phyNum != 0 ) ) { -- priv->phyNum = 0; -- data = TLAN_NET_CFG_1FRAG | TLAN_NET_CFG_1CHAN | TLAN_NET_CFG_PHY_EN; -- TLan_DioWrite16( dev->base_addr, TLAN_NET_CONFIG, data ); -- TLan_SetTimer( dev, (400*HZ/1000), TLAN_TIMER_PHY_PDOWN ); -- return; -- } -- -- if ( priv->phyNum == 0 ) { -- if ( ( priv->duplex == TLAN_DUPLEX_FULL ) || ( an_adv & an_lpa & 0x0040 ) ) { -- TLan_MiiWriteReg( dev, phy, MII_GEN_CTL, MII_GC_AUTOENB | MII_GC_DUPLEX ); -- printk( "TLAN: Starting internal PHY with FULL-DUPLEX\n" ); -- } else { -- TLan_MiiWriteReg( dev, phy, MII_GEN_CTL, MII_GC_AUTOENB ); -- printk( "TLAN: Starting internal PHY with HALF-DUPLEX\n" ); -- } -- } -- -- /* Wait for 100 ms. No reason in partiticular. -- */ -- TLan_SetTimer( dev, (HZ/10), TLAN_TIMER_FINISH_RESET ); -- --} /* TLan_PhyFinishAutoNeg */ -- --#ifdef MONITOR -- -- /********************************************************************* -- * -- * TLan_phyMonitor -- * -- * Returns: -- * None -- * -- * Params: -- * dev The device structure of this device. -- * -- * -- * This function monitors PHY condition by reading the status -- * register via the MII bus. This can be used to give info -- * about link changes (up/down), and possible switch to alternate -- * media. -- * -- * ******************************************************************/ -- --void TLan_PhyMonitor( struct net_device *dev ) --{ -- TLanPrivateInfo *priv = dev->priv; -- u16 phy; -- u16 phy_status; -- -- phy = priv->phy[priv->phyNum]; -- -- /* Get PHY status register */ -- TLan_MiiReadReg( dev, phy, MII_GEN_STS, &phy_status ); -- -- /* Check if link has been lost */ -- if (!(phy_status & MII_GS_LINK)) { -- if (priv->link) { -- priv->link = 0; -- printk(KERN_DEBUG "TLAN: %s has lost link\n", dev->name); -- dev->flags &= ~IFF_RUNNING; -- TLan_SetTimer( dev, (2*HZ), TLAN_TIMER_LINK_BEAT ); -- return; -- } -- } -- -- /* Link restablished? */ -- if ((phy_status & MII_GS_LINK) && !priv->link) { -- priv->link = 1; -- printk(KERN_DEBUG "TLAN: %s has reestablished link\n", dev->name); -- dev->flags |= IFF_RUNNING; -- } -- -- /* Setup a new monitor */ -- TLan_SetTimer( dev, (2*HZ), TLAN_TIMER_LINK_BEAT ); --} -- --#endif /* MONITOR */ -- --/***************************************************************************** --****************************************************************************** -- -- ThunderLAN Driver MII Routines -- -- These routines are based on the information in Chap. 2 of the -- "ThunderLAN Programmer's Guide", pp. 15-24. -- --****************************************************************************** --*****************************************************************************/ -- -- /*************************************************************** -- * TLan_MiiReadReg -- * -- * Returns: -- * 0 if ack received ok -- * 1 otherwise. -- * -- * Parms: -- * dev The device structure containing -- * The io address and interrupt count -- * for this device. -- * phy The address of the PHY to be queried. -- * reg The register whose contents are to be -- * retreived. -- * val A pointer to a variable to store the -- * retrieved value. -- * -- * This function uses the TLAN's MII bus to retreive the contents -- * of a given register on a PHY. It sends the appropriate info -- * and then reads the 16-bit register value from the MII bus via -- * the TLAN SIO register. -- * -- **************************************************************/ -- --int TLan_MiiReadReg( struct net_device *dev, u16 phy, u16 reg, u16 *val ) --{ -- u8 nack; -- u16 sio, tmp; -- u32 i; -- int err; -- int minten; -- TLanPrivateInfo *priv = dev->priv; -- unsigned long flags = 0; -- -- err = FALSE; -- outw(TLAN_NET_SIO, dev->base_addr + TLAN_DIO_ADR); -- sio = dev->base_addr + TLAN_DIO_DATA + TLAN_NET_SIO; -- -- if (!in_irq()) -- spin_lock_irqsave(&priv->lock, flags); -- -- TLan_MiiSync(dev->base_addr); -- -- minten = TLan_GetBit( TLAN_NET_SIO_MINTEN, sio ); -- if ( minten ) -- TLan_ClearBit(TLAN_NET_SIO_MINTEN, sio); -- -- TLan_MiiSendData( dev->base_addr, 0x1, 2 ); /* Start ( 01b ) */ -- TLan_MiiSendData( dev->base_addr, 0x2, 2 ); /* Read ( 10b ) */ -- TLan_MiiSendData( dev->base_addr, phy, 5 ); /* Device # */ -- TLan_MiiSendData( dev->base_addr, reg, 5 ); /* Register # */ -- -- TLan_ClearBit(TLAN_NET_SIO_MTXEN, sio); /* Change direction */ -- -- TLan_ClearBit(TLAN_NET_SIO_MCLK, sio); /* Clock Idle bit */ -- TLan_SetBit(TLAN_NET_SIO_MCLK, sio); -- TLan_ClearBit(TLAN_NET_SIO_MCLK, sio); /* Wait 300ns */ -- -- nack = TLan_GetBit(TLAN_NET_SIO_MDATA, sio); /* Check for ACK */ -- TLan_SetBit(TLAN_NET_SIO_MCLK, sio); /* Finish ACK */ -- if (nack) { /* No ACK, so fake it */ -- for (i = 0; i < 16; i++) { -- TLan_ClearBit(TLAN_NET_SIO_MCLK, sio); -- TLan_SetBit(TLAN_NET_SIO_MCLK, sio); -- } -- tmp = 0xffff; -- err = TRUE; -- } else { /* ACK, so read data */ -- for (tmp = 0, i = 0x8000; i; i >>= 1) { -- TLan_ClearBit(TLAN_NET_SIO_MCLK, sio); -- if (TLan_GetBit(TLAN_NET_SIO_MDATA, sio)) -- tmp |= i; -- TLan_SetBit(TLAN_NET_SIO_MCLK, sio); -- } -- } -- -- TLan_ClearBit(TLAN_NET_SIO_MCLK, sio); /* Idle cycle */ -- TLan_SetBit(TLAN_NET_SIO_MCLK, sio); -- -- if ( minten ) -- TLan_SetBit(TLAN_NET_SIO_MINTEN, sio); -- -- *val = tmp; -- -- if (!in_irq()) -- spin_unlock_irqrestore(&priv->lock, flags); -- -- return err; -- --} /* TLan_MiiReadReg */ -- -- /*************************************************************** -- * TLan_MiiSendData -- * -- * Returns: -- * Nothing -- * Parms: -- * base_port The base IO port of the adapter in -- * question. -- * dev The address of the PHY to be queried. -- * data The value to be placed on the MII bus. -- * num_bits The number of bits in data that are to -- * be placed on the MII bus. -- * -- * This function sends on sequence of bits on the MII -- * configuration bus. -- * -- **************************************************************/ -- --void TLan_MiiSendData( u16 base_port, u32 data, unsigned num_bits ) --{ -- u16 sio; -- u32 i; -- -- if ( num_bits == 0 ) -- return; -- -- outw( TLAN_NET_SIO, base_port + TLAN_DIO_ADR ); -- sio = base_port + TLAN_DIO_DATA + TLAN_NET_SIO; -- TLan_SetBit( TLAN_NET_SIO_MTXEN, sio ); -- -- for ( i = ( 0x1 << ( num_bits - 1 ) ); i; i >>= 1 ) { -- TLan_ClearBit( TLAN_NET_SIO_MCLK, sio ); -- (void) TLan_GetBit( TLAN_NET_SIO_MCLK, sio ); -- if ( data & i ) -- TLan_SetBit( TLAN_NET_SIO_MDATA, sio ); -- else -- TLan_ClearBit( TLAN_NET_SIO_MDATA, sio ); -- TLan_SetBit( TLAN_NET_SIO_MCLK, sio ); -- (void) TLan_GetBit( TLAN_NET_SIO_MCLK, sio ); -- } -- --} /* TLan_MiiSendData */ -- -- /*************************************************************** -- * TLan_MiiSync -- * -- * Returns: -- * Nothing -- * Parms: -- * base_port The base IO port of the adapter in -- * question. -- * -- * This functions syncs all PHYs in terms of the MII configuration -- * bus. -- * -- **************************************************************/ -- --void TLan_MiiSync( u16 base_port ) --{ -- int i; -- u16 sio; -- -- outw( TLAN_NET_SIO, base_port + TLAN_DIO_ADR ); -- sio = base_port + TLAN_DIO_DATA + TLAN_NET_SIO; -- -- TLan_ClearBit( TLAN_NET_SIO_MTXEN, sio ); -- for ( i = 0; i < 32; i++ ) { -- TLan_ClearBit( TLAN_NET_SIO_MCLK, sio ); -- TLan_SetBit( TLAN_NET_SIO_MCLK, sio ); -- } -- --} /* TLan_MiiSync */ -- -- /*************************************************************** -- * TLan_MiiWriteReg -- * -- * Returns: -- * Nothing -- * Parms: -- * dev The device structure for the device -- * to write to. -- * phy The address of the PHY to be written to. -- * reg The register whose contents are to be -- * written. -- * val The value to be written to the register. -- * -- * This function uses the TLAN's MII bus to write the contents of a -- * given register on a PHY. It sends the appropriate info and then -- * writes the 16-bit register value from the MII configuration bus -- * via the TLAN SIO register. -- * -- **************************************************************/ -- --void TLan_MiiWriteReg( struct net_device *dev, u16 phy, u16 reg, u16 val ) --{ -- u16 sio; -- int minten; -- unsigned long flags = 0; -- TLanPrivateInfo *priv = dev->priv; -- -- outw(TLAN_NET_SIO, dev->base_addr + TLAN_DIO_ADR); -- sio = dev->base_addr + TLAN_DIO_DATA + TLAN_NET_SIO; -- -- if (!in_irq()) -- spin_lock_irqsave(&priv->lock, flags); -- -- TLan_MiiSync( dev->base_addr ); -- -- minten = TLan_GetBit( TLAN_NET_SIO_MINTEN, sio ); -- if ( minten ) -- TLan_ClearBit( TLAN_NET_SIO_MINTEN, sio ); -- -- TLan_MiiSendData( dev->base_addr, 0x1, 2 ); /* Start ( 01b ) */ -- TLan_MiiSendData( dev->base_addr, 0x1, 2 ); /* Write ( 01b ) */ -- TLan_MiiSendData( dev->base_addr, phy, 5 ); /* Device # */ -- TLan_MiiSendData( dev->base_addr, reg, 5 ); /* Register # */ -- -- TLan_MiiSendData( dev->base_addr, 0x2, 2 ); /* Send ACK */ -- TLan_MiiSendData( dev->base_addr, val, 16 ); /* Send Data */ -- -- TLan_ClearBit( TLAN_NET_SIO_MCLK, sio ); /* Idle cycle */ -- TLan_SetBit( TLAN_NET_SIO_MCLK, sio ); -- -- if ( minten ) -- TLan_SetBit( TLAN_NET_SIO_MINTEN, sio ); -- -- if (!in_irq()) -- spin_unlock_irqrestore(&priv->lock, flags); -- --} /* TLan_MiiWriteReg */ --#endif -- --/************************************************************************** --RESET - Reset adapter --***************************************************************************/ --static void skel_reset(struct nic *nic) --{ -- /* put the card in its initial state */ --} -- --/************************************************************************** --POLL - Wait for a frame --***************************************************************************/ --static int skel_poll(struct nic *nic) --{ -- /* return true if there's an ethernet packet ready to read */ -- /* nic->packet should contain data on return */ -- /* nic->packetlen should contain length of data */ -- return (0); /* initially as this is called to flush the input */ --} -- --/************************************************************************** --TRANSMIT - Transmit a frame --***************************************************************************/ --static void skel_transmit( -- struct nic *nic, -- const char *d, /* Destination */ -- unsigned int t, /* Type */ -- unsigned int s, /* size */ -- const char *p) /* Packet */ --{ -- /* send the packet to destination */ --} -- --/************************************************************************** --DISABLE - Turn off ethernet interface --***************************************************************************/ --static void skel_disable(struct nic *nic) --{ --} -- --/************************************************************************** --PROBE - Look for an adapter, this routine's visible to the outside --You should omit the last argument struct pci_device * for a non-PCI NIC --***************************************************************************/ --struct nic *tlan_probe(struct nic *nic, unsigned short *probe_addrs, -- struct pci_device *p) --{ -- /* if probe_addrs is 0, then routine can use a hardwired default */ -- /* if board found */ -- { -- /* point to NIC specific routines */ -- nic->reset = skel_reset; -- nic->poll = skel_poll; -- nic->transmit = skel_transmit; -- nic->disable = skel_disable; -- return nic; -- } -- /* else */ -- return 0; --} -- --#if 0 --#ifndef TLAN_H --#define TLAN_H --/******************************************************************** -- * -- * Linux ThunderLAN Driver -- * -- * tlan.h -- * by James Banks -- * -- * (C) 1997-1998 Caldera, Inc. -- * (C) 1999-2001 Torben Mathiasen -- * -- * This software may be used and distributed according to the terms -- * of the GNU General Public License, incorporated herein by reference. -- * -- ** This file is best viewed/edited with tabstop=4, colums>=132 -- * -- * -- * Dec 10, 1999 Torben Mathiasen -- * New Maintainer -- * -- ********************************************************************/ -- --#include --#include --#include -- --#define FALSE 0 --#define TRUE 1 -- --#define TX_TIMEOUT (10*HZ) /* We need time for auto-neg */ -- --typedef struct tlan_adapter_entry { -- u16 vendorId; -- u16 deviceId; -- char *deviceLabel; -- u32 flags; -- u16 addrOfs; --} TLanAdapterEntry; -- -- /***************************************************************** -- * EISA Definitions -- * -- ****************************************************************/ -- --#define EISA_ID 0xc80 /* EISA ID Registers */ --#define EISA_ID0 0xc80 /* EISA ID Register 0 */ --#define EISA_ID1 0xc81 /* EISA ID Register 1 */ --#define EISA_ID2 0xc82 /* EISA ID Register 2 */ --#define EISA_ID3 0xc83 /* EISA ID Register 3 */ --#define EISA_CR 0xc84 /* EISA Control Register */ --#define EISA_REG0 0xc88 /* EISA Configuration Register 0 */ --#define EISA_REG1 0xc89 /* EISA Configuration Register 1 */ --#define EISA_REG2 0xc8a /* EISA Configuration Register 2 */ --#define EISA_REG3 0xc8f /* EISA Configuration Register 3 */ --#define EISA_APROM 0xc90 /* Ethernet Address PROM */ -- -- /***************************************************************** -- * Rx/Tx List Definitions -- * -- ****************************************************************/ -- --typedef struct tlan_buffer_ref_tag { -- u32 count; -- u32 address; --} TLanBufferRef; -- --typedef struct tlan_list_tag { -- u32 forward; -- u16 cStat; -- u16 frameSize; -- TLanBufferRef buffer[TLAN_BUFFERS_PER_LIST]; --} TLanList; -- --typedef u8 TLanBuffer[TLAN_MAX_FRAME_SIZE]; -- -- /***************************************************************** -- * TLAN Private Information Structure -- * -- ****************************************************************/ -- --typedef struct tlan_private_tag { -- struct net_device *nextDevice; -- void *dmaStorage; -- u8 *padBuffer; -- TLanList *rxList; -- u8 *rxBuffer; -- u32 rxHead; -- u32 rxTail; -- u32 rxEocCount; -- TLanList *txList; -- u8 *txBuffer; -- u32 txHead; -- u32 txInProgress; -- u32 txTail; -- u32 txBusyCount; -- u32 phyOnline; -- u32 timerSetAt; -- u32 timerType; -- struct timer_list timer; -- struct net_device_stats stats; -- struct board *adapter; -- u32 adapterRev; -- u32 aui; -- u32 debug; -- u32 duplex; -- u32 phy[2]; -- u32 phyNum; -- u32 speed; -- u8 tlanRev; -- u8 tlanFullDuplex; -- char devName[8]; -- spinlock_t lock; -- u8 link; -- u8 is_eisa; -- struct tq_struct tlan_tqueue; -- u8 neg_be_verbose; --} TLanPrivateInfo; -- --#define TLAN_HC_GO 0x80000000 --#define TLAN_HC_STOP 0x40000000 --#define TLAN_HC_ACK 0x20000000 --#define TLAN_HC_CS_MASK 0x1FE00000 --#define TLAN_HC_EOC 0x00100000 --#define TLAN_HC_RT 0x00080000 --#define TLAN_HC_NES 0x00040000 --#define TLAN_HC_AD_RST 0x00008000 --#define TLAN_HC_LD_TMR 0x00004000 --#define TLAN_HC_LD_THR 0x00002000 --#define TLAN_HC_REQ_INT 0x00001000 --#define TLAN_HC_INT_OFF 0x00000800 --#define TLAN_HC_INT_ON 0x00000400 --#define TLAN_HC_AC_MASK 0x000000FF --#define TLAN_DA_ADR_INC 0x8000 --#define TLAN_DA_RAM_ADR 0x4000 --#define TLAN_HI_IV_MASK 0x1FE0 --#define TLAN_HI_IT_MASK 0x001C -- --#define TLAN_NET_CMD_NRESET 0x80 --#define TLAN_NET_CMD_NWRAP 0x40 --#define TLAN_NET_CMD_CSF 0x20 --#define TLAN_NET_CMD_CAF 0x10 --#define TLAN_NET_CMD_NOBRX 0x08 --#define TLAN_NET_CMD_DUPLEX 0x04 --#define TLAN_NET_CMD_TRFRAM 0x02 --#define TLAN_NET_CMD_TXPACE 0x01 --#define TLAN_NET_SIO_MINTEN 0x80 --#define TLAN_NET_SIO_ECLOK 0x40 --#define TLAN_NET_SIO_ETXEN 0x20 --#define TLAN_NET_SIO_EDATA 0x10 --#define TLAN_NET_SIO_NMRST 0x08 --#define TLAN_NET_SIO_MCLK 0x04 --#define TLAN_NET_SIO_MTXEN 0x02 --#define TLAN_NET_SIO_MDATA 0x01 --#define TLAN_NET_STS_MIRQ 0x80 --#define TLAN_NET_STS_HBEAT 0x40 --#define TLAN_NET_STS_TXSTOP 0x20 --#define TLAN_NET_STS_RXSTOP 0x10 --#define TLAN_NET_STS_RSRVD 0x0F --#define TLAN_NET_MASK_MASK7 0x80 --#define TLAN_NET_MASK_MASK6 0x40 --#define TLAN_NET_MASK_MASK5 0x20 --#define TLAN_NET_MASK_MASK4 0x10 --#define TLAN_NET_MASK_RSRVD 0x0F --#define TLAN_NET_CFG_RCLK 0x8000 --#define TLAN_NET_CFG_TCLK 0x4000 --#define TLAN_NET_CFG_BIT 0x2000 --#define TLAN_NET_CFG_RXCRC 0x1000 --#define TLAN_NET_CFG_PEF 0x0800 --#define TLAN_NET_CFG_1FRAG 0x0400 --#define TLAN_NET_CFG_1CHAN 0x0200 --#define TLAN_NET_CFG_MTEST 0x0100 --#define TLAN_NET_CFG_PHY_EN 0x0080 --#define TLAN_NET_CFG_MSMASK 0x007F --#define TLAN_LED_ACT 0x10 --#define TLAN_LED_LINK 0x01 --#define TLAN_ID_TX_EOC 0x04 --#define TLAN_ID_RX_EOF 0x02 --#define TLAN_ID_RX_EOC 0x01 -- --#define CIRC_INC( a, b ) if ( ++a >= b ) a = 0 -- --#ifdef I_LIKE_A_FAST_HASH_FUNCTION --/* given 6 bytes, view them as 8 6-bit numbers and return the XOR of those */ --/* the code below is about seven times as fast as the original code */ --inline u32 TLan_HashFunc( u8 *a ) --{ -- u8 hash; -- -- hash = (a[0]^a[3]); /* & 077 */ -- hash ^= ((a[0]^a[3])>>6); /* & 003 */ -- hash ^= ((a[1]^a[4])<<2); /* & 074 */ -- hash ^= ((a[1]^a[4])>>4); /* & 017 */ -- hash ^= ((a[2]^a[5])<<4); /* & 060 */ -- hash ^= ((a[2]^a[5])>>2); /* & 077 */ -- -- return (hash & 077); --} -- --#else /* original code */ -- --inline u32 xor( u32 a, u32 b ) --{ -- return ( ( a && ! b ) || ( ! a && b ) ); --} --#define XOR8( a, b, c, d, e, f, g, h ) xor( a, xor( b, xor( c, xor( d, xor( e, xor( f, xor( g, h ) ) ) ) ) ) ) --#define DA( a, bit ) ( ( (u8) a[bit/8] ) & ( (u8) ( 1 << bit%8 ) ) ) -- --inline u32 TLan_HashFunc( u8 *a ) --{ -- u32 hash; -- -- hash = XOR8( DA(a,0), DA(a, 6), DA(a,12), DA(a,18), DA(a,24), DA(a,30), DA(a,36), DA(a,42) ); -- hash |= XOR8( DA(a,1), DA(a, 7), DA(a,13), DA(a,19), DA(a,25), DA(a,31), DA(a,37), DA(a,43) ) << 1; -- hash |= XOR8( DA(a,2), DA(a, 8), DA(a,14), DA(a,20), DA(a,26), DA(a,32), DA(a,38), DA(a,44) ) << 2; -- hash |= XOR8( DA(a,3), DA(a, 9), DA(a,15), DA(a,21), DA(a,27), DA(a,33), DA(a,39), DA(a,45) ) << 3; -- hash |= XOR8( DA(a,4), DA(a,10), DA(a,16), DA(a,22), DA(a,28), DA(a,34), DA(a,40), DA(a,46) ) << 4; -- hash |= XOR8( DA(a,5), DA(a,11), DA(a,17), DA(a,23), DA(a,29), DA(a,35), DA(a,41), DA(a,47) ) << 5; -- -- return hash; -- --} -- --#endif /* I_LIKE_A_FAST_HASH_FUNCTION */ --#endif --/******************************************************************************* -- * -- * Linux ThunderLAN Driver -- * -- * tlan.c -- * by James Banks -- * -- * (C) 1997-1998 Caldera, Inc. -- * (C) 1998 James Banks -- * (C) 1999-2001 Torben Mathiasen -- * -- * This software may be used and distributed according to the terms -- * of the GNU General Public License, incorporated herein by reference. -- * -- ** This file is best viewed/edited with columns>=132. -- * -- ** Useful (if not required) reading: -- * -- * Texas Instruments, ThunderLAN Programmer's Guide, -- * TI Literature Number SPWU013A -- * available in PDF format from www.ti.com -- * Level One, LXT901 and LXT970 Data Sheets -- * available in PDF format from www.level1.com -- * National Semiconductor, DP83840A Data Sheet -- * available in PDF format from www.national.com -- * Microchip Technology, 24C01A/02A/04A Data Sheet -- * available in PDF format from www.microchip.com -- * -- * Change History -- * -- * Tigran Aivazian : TLan_PciProbe() now uses -- * new PCI BIOS interface. -- * Alan Cox : Fixed the out of memory -- * handling. -- * -- * Torben Mathiasen New Maintainer! -- * -- * v1.1 Dec 20, 1999 - Removed linux version checking -- * Patch from Tigran Aivazian. -- * - v1.1 includes Alan's SMP updates. -- * - We still have problems on SMP though, -- * but I'm looking into that. -- * -- * v1.2 Jan 02, 2000 - Hopefully fixed the SMP deadlock. -- * - Removed dependency of HZ being 100. -- * - We now allow higher priority timers to -- * overwrite timers like TLAN_TIMER_ACTIVITY -- * Patch from John Cagle . -- * - Fixed a few compiler warnings. -- * -- * v1.3 Feb 04, 2000 - Fixed the remaining HZ issues. -- * - Removed call to pci_present(). -- * - Removed SA_INTERRUPT flag from irq handler. -- * - Added __init and __initdata to reduce resisdent -- * code size. -- * - Driver now uses module_init/module_exit. -- * - Rewrote init_module and tlan_probe to -- * share a lot more code. We now use tlan_probe -- * with builtin and module driver. -- * - Driver ported to new net API. -- * - tlan.txt has been reworked to reflect current -- * driver (almost) -- * - Other minor stuff -- * -- * v1.4 Feb 10, 2000 - Updated with more changes required after Dave's -- * network cleanup in 2.3.43pre7 (Tigran & myself) -- * - Minor stuff. -- * -- * v1.5 March 22, 2000 - Fixed another timer bug that would hang the driver -- * if no cable/link were present. -- * - Cosmetic changes. -- * - TODO: Port completely to new PCI/DMA API -- * Auto-Neg fallback. -- * -- * v1.6 April 04, 2000 - Fixed driver support for kernel-parameters. Haven't -- * tested it though, as the kernel support is currently -- * broken (2.3.99p4p3). -- * - Updated tlan.txt accordingly. -- * - Adjusted minimum/maximum frame length. -- * - There is now a TLAN website up at -- * http://tlan.kernel.dk -- * -- * v1.7 April 07, 2000 - Started to implement custom ioctls. Driver now -- * reports PHY information when used with Donald -- * Beckers userspace MII diagnostics utility. -- * -- * v1.8 April 23, 2000 - Fixed support for forced speed/duplex settings. -- * - Added link information to Auto-Neg and forced -- * modes. When NIC operates with auto-neg the driver -- * will report Link speed & duplex modes as well as -- * link partner abilities. When forced link is used, -- * the driver will report status of the established -- * link. -- * Please read tlan.txt for additional information. -- * - Removed call to check_region(), and used -- * return value of request_region() instead. -- * -- * v1.8a May 28, 2000 - Minor updates. -- * -- * v1.9 July 25, 2000 - Fixed a few remaining Full-Duplex issues. -- * - Updated with timer fixes from Andrew Morton. -- * - Fixed module race in TLan_Open. -- * - Added routine to monitor PHY status. -- * - Added activity led support for Proliant devices. -- * -- * v1.10 Aug 30, 2000 - Added support for EISA based tlan controllers -- * like the Compaq NetFlex3/E. -- * - Rewrote tlan_probe to better handle multiple -- * bus probes. Probing and device setup is now -- * done through TLan_Probe and TLan_init_one. Actual -- * hardware probe is done with kernel API and -- * TLan_EisaProbe. -- * - Adjusted debug information for probing. -- * - Fixed bug that would cause general debug information -- * to be printed after driver removal. -- * - Added transmit timeout handling. -- * - Fixed OOM return values in tlan_probe. -- * - Fixed possible mem leak in tlan_exit -- * (now tlan_remove_one). -- * - Fixed timer bug in TLan_phyMonitor. -- * - This driver version is alpha quality, please -- * send me any bug issues you may encounter. -- * -- * v1.11 Aug 31, 2000 - Do not try to register irq 0 if no irq line was -- * set for EISA cards. -- * - Added support for NetFlex3/E with nibble-rate -- * 10Base-T PHY. This is untestet as I haven't got -- * one of these cards. -- * - Fixed timer being added twice. -- * - Disabled PhyMonitoring by default as this is -- * work in progress. Define MONITOR to enable it. -- * - Now we don't display link info with PHYs that -- * doesn't support it (level1). -- * - Incresed tx_timeout beacuse of auto-neg. -- * - Adjusted timers for forced speeds. -- * -- * v1.12 Oct 12, 2000 - Minor fixes (memleak, init, etc.) -- * -- * v1.13 Nov 28, 2000 - Stop flooding console with auto-neg issues -- * when link can't be established. -- * - Added the bbuf option as a kernel parameter. -- * - Fixed ioaddr probe bug. -- * - Fixed stupid deadlock with MII interrupts. -- * - Added support for speed/duplex selection with -- * multiple nics. -- * - Added partly fix for TX Channel lockup with -- * TLAN v1.0 silicon. This needs to be investigated -- * further. -- * -- * v1.14 Dec 16, 2000 - Added support for servicing multiple frames per. -- * interrupt. Thanks goes to -- * Adam Keys -- * Denis Beaudoin -- * for providing the patch. -- * - Fixed auto-neg output when using multiple -- * adapters. -- * - Converted to use new taskq interface. -- * -- * v1.14a Jan 6, 2001 - Minor adjustments (spinlocks, etc.) -- * -- *******************************************************************************/ -- -- --#include -- --#include "tlan.h" -- --#include --#include --#include --#include --#include --#include --#include -- --typedef u32 (TLanIntVectorFunc)( struct net_device *, u16 ); -- --/* For removing EISA devices */ --static struct net_device *TLan_Eisa_Devices; -- --static int TLanDevicesInstalled; -- --/* Set speed, duplex and aui settings */ --static int aui[MAX_TLAN_BOARDS]; --static int duplex[MAX_TLAN_BOARDS]; --static int speed[MAX_TLAN_BOARDS]; --static int boards_found; -- --MODULE_AUTHOR("Maintainer: Torben Mathiasen "); --MODULE_DESCRIPTION("Driver for TI ThunderLAN based ethernet PCI adapters"); --MODULE_LICENSE("GPL"); -- --MODULE_PARM(aui, "1-" __MODULE_STRING(MAX_TLAN_BOARDS) "i"); --MODULE_PARM(duplex, "1-" __MODULE_STRING(MAX_TLAN_BOARDS) "i"); --MODULE_PARM(speed, "1-" __MODULE_STRING(MAX_TLAN_BOARDS) "i"); --MODULE_PARM(debug, "i"); --MODULE_PARM(bbuf, "i"); --MODULE_PARM_DESC(aui, "ThunderLAN use AUI port(s) (0-1)"); --MODULE_PARM_DESC(duplex, "ThunderLAN duplex setting(s) (0-default, 1-half, 2-full)"); --MODULE_PARM_DESC(speed, "ThunderLAN port speen setting(s) (0,10,100)"); --MODULE_PARM_DESC(debug, "ThunderLAN debug mask"); --MODULE_PARM_DESC(bbuf, "ThunderLAN use big buffer (0-1)"); --EXPORT_NO_SYMBOLS; -- --/* Define this to enable Link beat monitoring */ --#undef MONITOR -- --/* Turn on debugging. See linux/Documentation/networking/tlan.txt for details */ --static int debug; -- --static int bbuf; --static u8 *TLanPadBuffer; --static char TLanSignature[] = "TLAN"; --static const char tlan_banner[] = "ThunderLAN driver v1.14a\n"; --static int tlan_have_pci; --static int tlan_have_eisa; -- --const char *media[] = { -- "10BaseT-HD ", "10BaseT-FD ","100baseTx-HD ", -- "100baseTx-FD", "100baseT4", 0 --}; -- --int media_map[] = { 0x0020, 0x0040, 0x0080, 0x0100, 0x0200,}; -- --static struct board { -- const char *deviceLabel; -- u32 flags; -- u16 addrOfs; --} board_info[] __devinitdata = { -- { "Compaq Netelligent 10 T PCI UTP", TLAN_ADAPTER_ACTIVITY_LED, 0x83 }, -- { "Compaq Netelligent 10/100 TX PCI UTP", TLAN_ADAPTER_ACTIVITY_LED, 0x83 }, -- { "Compaq Integrated NetFlex-3/P", TLAN_ADAPTER_NONE, 0x83 }, -- { "Compaq NetFlex-3/P", TLAN_ADAPTER_UNMANAGED_PHY | TLAN_ADAPTER_BIT_RATE_PHY, 0x83 }, -- { "Compaq NetFlex-3/P", TLAN_ADAPTER_NONE, 0x83 }, -- { "Compaq Netelligent Integrated 10/100 TX UTP", TLAN_ADAPTER_ACTIVITY_LED, 0x83 }, -- { "Compaq Netelligent Dual 10/100 TX PCI UTP", TLAN_ADAPTER_NONE, 0x83 }, -- { "Compaq Netelligent 10/100 TX Embedded UTP", TLAN_ADAPTER_NONE, 0x83 }, -- { "Olicom OC-2183/2185", TLAN_ADAPTER_USE_INTERN_10, 0x83 }, -- { "Olicom OC-2325", TLAN_ADAPTER_UNMANAGED_PHY, 0xF8 }, -- { "Olicom OC-2326", TLAN_ADAPTER_USE_INTERN_10, 0xF8 }, -- { "Compaq Netelligent 10/100 TX UTP", TLAN_ADAPTER_ACTIVITY_LED, 0x83 }, -- { "Compaq Netelligent 10 T/2 PCI UTP/Coax", TLAN_ADAPTER_NONE, 0x83 }, -- { "Compaq NetFlex-3/E", TLAN_ADAPTER_ACTIVITY_LED | /* EISA card */ -- TLAN_ADAPTER_UNMANAGED_PHY | TLAN_ADAPTER_BIT_RATE_PHY, 0x83 }, -- { "Compaq NetFlex-3/E", TLAN_ADAPTER_ACTIVITY_LED, 0x83 }, /* EISA card */ --}; -- --static struct pci_device_id tlan_pci_tbl[] __devinitdata = { -- { PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_NETEL10, -- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, -- { PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_NETEL100, -- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1 }, -- { PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_NETFLEX3I, -- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 2 }, -- { PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_THUNDER, -- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 3 }, -- { PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_NETFLEX3B, -- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 4 }, -- { PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_NETEL100PI, -- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 5 }, -- { PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_NETEL100D, -- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 6 }, -- { PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_NETEL100I, -- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 7 }, -- { PCI_VENDOR_ID_OLICOM, PCI_DEVICE_ID_OLICOM_OC2183, -- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 8 }, -- { PCI_VENDOR_ID_OLICOM, PCI_DEVICE_ID_OLICOM_OC2325, -- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 9 }, -- { PCI_VENDOR_ID_OLICOM, PCI_DEVICE_ID_OLICOM_OC2326, -- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 10 }, -- { PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_NETELLIGENT_10_100_WS_5100, -- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 11 }, -- { PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_NETELLIGENT_10_T2, -- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 12 }, -- { 0,} --}; --MODULE_DEVICE_TABLE(pci, tlan_pci_tbl); -- --static void TLan_EisaProbe( void ); --static void TLan_Eisa_Cleanup( void ); --static int TLan_Init( struct net_device * ); --static int TLan_Open( struct net_device *dev ); --static int TLan_StartTx( struct sk_buff *, struct net_device *); --static void TLan_HandleInterrupt( int, void *, struct pt_regs *); --static int TLan_Close( struct net_device *); --static struct net_device_stats *TLan_GetStats( struct net_device *); --static void TLan_SetMulticastList( struct net_device *); --static int TLan_ioctl( struct net_device *dev, struct ifreq *rq, int cmd); --static int TLan_probe1( struct pci_dev *pdev, long ioaddr, int irq, int rev, const struct pci_device_id *ent); --static void TLan_tx_timeout( struct net_device *dev); --static int tlan_init_one( struct pci_dev *pdev, const struct pci_device_id *ent); -- --static u32 TLan_HandleInvalid( struct net_device *, u16 ); --static u32 TLan_HandleTxEOF( struct net_device *, u16 ); --static u32 TLan_HandleStatOverflow( struct net_device *, u16 ); --static u32 TLan_HandleRxEOF( struct net_device *, u16 ); --static u32 TLan_HandleDummy( struct net_device *, u16 ); --static u32 TLan_HandleTxEOC( struct net_device *, u16 ); --static u32 TLan_HandleStatusCheck( struct net_device *, u16 ); --static u32 TLan_HandleRxEOC( struct net_device *, u16 ); -- --static void TLan_Timer( unsigned long ); -- --static void TLan_ResetLists( struct net_device * ); --static void TLan_FreeLists( struct net_device * ); --static void TLan_PrintDio( u16 ); --static void TLan_PrintList( TLanList *, char *, int ); --static void TLan_ReadAndClearStats( struct net_device *, int ); --static void TLan_ResetAdapter( struct net_device * ); --static void TLan_FinishReset( struct net_device * ); --static void TLan_SetMac( struct net_device *, int areg, char *mac ); -- --static void TLan_PhyPrint( struct net_device * ); --static void TLan_PhyDetect( struct net_device * ); --static void TLan_PhyPowerDown( struct net_device * ); --static void TLan_PhyPowerUp( struct net_device * ); --static void TLan_PhyReset( struct net_device * ); --static void TLan_PhyStartLink( struct net_device * ); --static void TLan_PhyFinishAutoNeg( struct net_device * ); --#ifdef MONITOR --static void TLan_PhyMonitor( struct net_device * ); --#endif -- --/* --static int TLan_PhyNop( struct net_device * ); --static int TLan_PhyInternalCheck( struct net_device * ); --static int TLan_PhyInternalService( struct net_device * ); --static int TLan_PhyDp83840aCheck( struct net_device * ); --*/ -- --static int TLan_MiiReadReg( struct net_device *, u16, u16, u16 * ); --static void TLan_MiiSendData( u16, u32, unsigned ); --static void TLan_MiiSync( u16 ); --static void TLan_MiiWriteReg( struct net_device *, u16, u16, u16 ); -- --static void TLan_EeSendStart( u16 ); --static int TLan_EeSendByte( u16, u8, int ); --static void TLan_EeReceiveByte( u16, u8 *, int ); --static int TLan_EeReadByte( struct net_device *, u8, u8 * ); -- --static TLanIntVectorFunc *TLanIntVector[TLAN_INT_NUMBER_OF_INTS] = { -- TLan_HandleInvalid, -- TLan_HandleTxEOF, -- TLan_HandleStatOverflow, -- TLan_HandleRxEOF, -- TLan_HandleDummy, -- TLan_HandleTxEOC, -- TLan_HandleStatusCheck, -- TLan_HandleRxEOC --}; -- --static inline void --TLan_SetTimer( struct net_device *dev, u32 ticks, u32 type ) --{ -- TLanPrivateInfo *priv = dev->priv; -- unsigned long flags = 0; -- -- if (!in_irq()) -- spin_lock_irqsave(&priv->lock, flags); -- if ( priv->timer.function != NULL && -- priv->timerType != TLAN_TIMER_ACTIVITY ) { -- if (!in_irq()) -- spin_unlock_irqrestore(&priv->lock, flags); -- return; -- } -- priv->timer.function = &TLan_Timer; -- if (!in_irq()) -- spin_unlock_irqrestore(&priv->lock, flags); -- -- priv->timer.data = (unsigned long) dev; -- priv->timerSetAt = jiffies; -- priv->timerType = type; -- mod_timer(&priv->timer, jiffies + ticks); -- --} /* TLan_SetTimer */ -- --/***************************************************************************** --****************************************************************************** -- -- ThunderLAN Driver Primary Functions -- -- These functions are more or less common to all Linux network drivers. -- --****************************************************************************** --*****************************************************************************/ -- -- /*************************************************************** -- * tlan_remove_one -- * -- * Returns: -- * Nothing -- * Parms: -- * None -- * -- * Goes through the TLanDevices list and frees the device -- * structs and memory associated with each device (lists -- * and buffers). It also ureserves the IO port regions -- * associated with this device. -- * -- **************************************************************/ -- --static void __devexit tlan_remove_one( struct pci_dev *pdev) --{ -- struct net_device *dev = pci_get_drvdata( pdev ); -- TLanPrivateInfo *priv = dev->priv; -- -- unregister_netdev( dev ); -- -- if ( priv->dmaStorage ) { -- kfree( priv->dmaStorage ); -- } -- -- release_region( dev->base_addr, 0x10 ); -- -- kfree( dev ); -- -- pci_set_drvdata( pdev, NULL ); --} -- --static struct pci_driver tlan_driver = { -- name: "tlan", -- id_table: tlan_pci_tbl, -- probe: tlan_init_one, -- remove: tlan_remove_one, --}; -- --static int __init tlan_probe(void) --{ -- static int pad_allocated; -- -- printk(KERN_INFO "%s", tlan_banner); -- -- TLanPadBuffer = (u8 *) kmalloc(TLAN_MIN_FRAME_SIZE, -- GFP_KERNEL); -- -- if (TLanPadBuffer == NULL) { -- printk(KERN_ERR "TLAN: Could not allocate memory for pad buffer.\n"); -- return -ENOMEM; -- } -- -- memset(TLanPadBuffer, 0, TLAN_MIN_FRAME_SIZE); -- pad_allocated = 1; -- -- TLAN_DBG(TLAN_DEBUG_PROBE, "Starting PCI Probe....\n"); -- -- /* Use new style PCI probing. Now the kernel will -- do most of this for us */ -- pci_register_driver(&tlan_driver); -- -- TLAN_DBG(TLAN_DEBUG_PROBE, "Starting EISA Probe....\n"); -- TLan_EisaProbe(); -- -- printk(KERN_INFO "TLAN: %d device%s installed, PCI: %d EISA: %d\n", -- TLanDevicesInstalled, TLanDevicesInstalled == 1 ? "" : "s", -- tlan_have_pci, tlan_have_eisa); -- -- if (TLanDevicesInstalled == 0) { -- pci_unregister_driver(&tlan_driver); -- kfree(TLanPadBuffer); -- return -ENODEV; -- } -- return 0; --} -- -- --static int __devinit tlan_init_one( struct pci_dev *pdev, -- const struct pci_device_id *ent) --{ -- return TLan_probe1( pdev, -1, -1, 0, ent); --} -- --/* -- *************************************************************** -- * tlan_probe1 -- * -- * Returns: -- * 0 on success, error code on error -- * Parms: -- * none -- * -- * The name is lower case to fit in with all the rest of -- * the netcard_probe names. This function looks for -- * another TLan based adapter, setting it up with the -- * allocated device struct if one is found. -- * tlan_probe has been ported to the new net API and -- * now allocates its own device structure. This function -- * is also used by modules. -- * -- **************************************************************/ -- --static int __devinit TLan_probe1(struct pci_dev *pdev, -- long ioaddr, int irq, int rev, const struct pci_device_id *ent ) --{ -- -- struct net_device *dev; -- TLanPrivateInfo *priv; -- u8 pci_rev; -- u16 device_id; -- int reg; -- -- if (pdev && pci_enable_device(pdev)) -- return -EIO; -- -- dev = init_etherdev(NULL, sizeof(TLanPrivateInfo)); -- if (dev == NULL) { -- printk(KERN_ERR "TLAN: Could not allocate memory for device.\n"); -- return -ENOMEM; -- } -- SET_MODULE_OWNER(dev); -- -- priv = dev->priv; -- -- /* Is this a PCI device? */ -- if (pdev) { -- u32 pci_io_base = 0; -- -- priv->adapter = &board_info[ent->driver_data]; -- -- pci_read_config_byte ( pdev, PCI_REVISION_ID, &pci_rev); -- -- for ( reg= 0; reg <= 5; reg ++ ) { -- if (pci_resource_flags(pdev, reg) & IORESOURCE_IO) { -- pci_io_base = pci_resource_start(pdev, reg); -- TLAN_DBG( TLAN_DEBUG_GNRL, "IO mapping is available at %x.\n", -- pci_io_base); -- break; -- } -- } -- if (!pci_io_base) { -- printk(KERN_ERR "TLAN: No IO mappings available\n"); -- unregister_netdev(dev); -- kfree(dev); -- return -ENODEV; -- } -- -- dev->base_addr = pci_io_base; -- dev->irq = pdev->irq; -- priv->adapterRev = pci_rev; -- pci_set_master(pdev); -- pci_set_drvdata(pdev, dev); -- -- } else { /* EISA card */ -- /* This is a hack. We need to know which board structure -- * is suited for this adapter */ -- device_id = inw(ioaddr + EISA_ID2); -- priv->is_eisa = 1; -- if (device_id == 0x20F1) { -- priv->adapter = &board_info[13]; /* NetFlex-3/E */ -- priv->adapterRev = 23; /* TLAN 2.3 */ -- } else { -- priv->adapter = &board_info[14]; -- priv->adapterRev = 10; /* TLAN 1.0 */ -- } -- dev->base_addr = ioaddr; -- dev->irq = irq; -- } -- -- /* Kernel parameters */ -- if (dev->mem_start) { -- priv->aui = dev->mem_start & 0x01; -- priv->duplex = ((dev->mem_start & 0x06) == 0x06) ? 0 : (dev->mem_start & 0x06) >> 1; -- priv->speed = ((dev->mem_start & 0x18) == 0x18) ? 0 : (dev->mem_start & 0x18) >> 3; -- -- if (priv->speed == 0x1) { -- priv->speed = TLAN_SPEED_10; -- } else if (priv->speed == 0x2) { -- priv->speed = TLAN_SPEED_100; -- } -- debug = priv->debug = dev->mem_end; -- } else { -- priv->aui = aui[boards_found]; -- priv->speed = speed[boards_found]; -- priv->duplex = duplex[boards_found]; -- priv->debug = debug; -- } -- -- /* This will be used when we get an adapter error from -- * within our irq handler */ -- INIT_LIST_HEAD(&priv->tlan_tqueue.list); -- priv->tlan_tqueue.sync = 0; -- priv->tlan_tqueue.routine = (void *)(void*)TLan_tx_timeout; -- priv->tlan_tqueue.data = dev; -- -- spin_lock_init(&priv->lock); -- -- if (TLan_Init(dev)) { -- printk(KERN_ERR "TLAN: Could not register device.\n"); -- unregister_netdev(dev); -- kfree(dev); -- return -EAGAIN; -- } else { -- -- TLanDevicesInstalled++; -- boards_found++; -- -- /* pdev is NULL if this is an EISA device */ -- if (pdev) -- tlan_have_pci++; -- else { -- priv->nextDevice = TLan_Eisa_Devices; -- TLan_Eisa_Devices = dev; -- tlan_have_eisa++; -- } -- -- printk(KERN_INFO "TLAN: %s irq=%2d, io=%04x, %s, Rev. %d\n", -- dev->name, -- (int) dev->irq, -- (int) dev->base_addr, -- priv->adapter->deviceLabel, -- priv->adapterRev); -- return 0; -- } -- --} -+} /* TLan_FinishReset */ - --static void TLan_Eisa_Cleanup(void) --{ -- struct net_device *dev; -- TLanPrivateInfo *priv; -- -- while( tlan_have_eisa ) { -- dev = TLan_Eisa_Devices; -- priv = dev->priv; -- if (priv->dmaStorage) { -- kfree(priv->dmaStorage); -- } -- release_region( dev->base_addr, 0x10); -- unregister_netdev( dev ); -- TLan_Eisa_Devices = priv->nextDevice; -- kfree( dev ); -- tlan_have_eisa--; -- } --} -- -- --static void __exit tlan_exit(void) --{ -- pci_unregister_driver(&tlan_driver); -- -- if (tlan_have_eisa) -- TLan_Eisa_Cleanup(); -- -- kfree( TLanPadBuffer ); -- --} -- --/* Module loading/unloading */ --module_init(tlan_probe); --module_exit(tlan_exit); -- -- /************************************************************** -- * TLan_EisaProbe -- * -- * Returns: 0 on success, 1 otherwise -- * -- * Parms: None -- * -- * -- * This functions probes for EISA devices and calls -- * TLan_probe1 when one is found. -- * -- *************************************************************/ -- --static void __init TLan_EisaProbe (void) -+/************************************************************************** -+POLL - Wait for a frame -+***************************************************************************/ -+static int tlan_poll(struct nic *nic, int retrieve) - { -- long ioaddr; -- int rc = -ENODEV; -- int irq; -- u16 device_id; -- -- if (!EISA_bus) { -- TLAN_DBG(TLAN_DEBUG_PROBE, "No EISA bus present\n"); -- return; -- } -- -- /* Loop through all slots of the EISA bus */ -- for (ioaddr = 0x1000; ioaddr < 0x9000; ioaddr += 0x1000) { -- -- TLAN_DBG(TLAN_DEBUG_PROBE,"EISA_ID 0x%4x: 0x%4x\n", (int) ioaddr + 0xC80, inw(ioaddr + EISA_ID)); -- TLAN_DBG(TLAN_DEBUG_PROBE,"EISA_ID 0x%4x: 0x%4x\n", (int) ioaddr + 0xC82, inw(ioaddr + EISA_ID2)); -+ /* return true if there's an ethernet packet ready to read */ -+ /* nic->packet should contain data on return */ -+ /* nic->packetlen should contain length of data */ -+ u32 framesize; -+ u32 host_cmd = 0; -+ u32 ack = 1; -+ int eoc = 0; -+ int entry = priv->cur_rx % TLAN_NUM_RX_LISTS; -+ u16 tmpCStat = le32_to_cpu(rx_ring[entry].cStat); -+ u16 host_int = inw(BASE + TLAN_HOST_INT); - -- TLAN_DBG(TLAN_DEBUG_PROBE, "Probing for EISA adapter at IO: 0x%4x : ", -- (int) ioaddr); -- if (request_region(ioaddr, 0x10, TLanSignature) == NULL) -- goto out; -- -- if (inw(ioaddr + EISA_ID) != 0x110E) { -- release_region(ioaddr, 0x10); -- goto out; -- } -- -- device_id = inw(ioaddr + EISA_ID2); -- if (device_id != 0x20F1 && device_id != 0x40F1) { -- release_region (ioaddr, 0x10); -- goto out; -- } -- -- if (inb(ioaddr + EISA_CR) != 0x1) { /* Check if adapter is enabled */ -- release_region (ioaddr, 0x10); -- goto out2; -- } -- -- if (debug == 0x10) -- printk("Found one\n"); -+ if ((tmpCStat & TLAN_CSTAT_FRM_CMP) && !retrieve) -+ return 1; - -- /* Get irq from board */ -- switch (inb(ioaddr + 0xCC0)) { -- case(0x10): -- irq=5; -- break; -- case(0x20): -- irq=9; -- break; -- case(0x40): -- irq=10; -- break; -- case(0x80): -- irq=11; -- break; -- default: -- goto out; -- } -- -- -- /* Setup the newly found eisa adapter */ -- rc = TLan_probe1( NULL, ioaddr, irq, -- 12, NULL); -- continue; -- -- out: -- if (debug == 0x10) -- printk("None found\n"); -- continue; -- -- out2: if (debug == 0x10) -- printk("Card found but it is not enabled, skipping\n"); -- continue; -- -- } -+ outw(host_int, BASE + TLAN_HOST_INT); - --} /* TLan_EisaProbe */ -+ if (!(tmpCStat & TLAN_CSTAT_FRM_CMP)) -+ return 0; - -- -+ /* printf("PI-1: 0x%hX\n", host_int); */ -+ if (tmpCStat & TLAN_CSTAT_EOC) -+ eoc = 1; - -- /*************************************************************** -- * TLan_Init -- * -- * Returns: -- * 0 on success, error code otherwise. -- * Parms: -- * dev The structure of the device to be -- * init'ed. -- * -- * This function completes the initialization of the -- * device structure and driver. It reserves the IO -- * addresses, allocates memory for the lists and bounce -- * buffers, retrieves the MAC address from the eeprom -- * and assignes the device's methods. -- * -- **************************************************************/ -+ framesize = rx_ring[entry].frameSize; - --static int TLan_Init( struct net_device *dev ) --{ -- int dma_size; -- int err; -- int i; -- TLanPrivateInfo *priv; -+ nic->packetlen = framesize; - -- priv = dev->priv; -- -- if (!priv->is_eisa) /* EISA devices have already requested IO */ -- if (!request_region( dev->base_addr, 0x10, TLanSignature )) { -- printk(KERN_ERR "TLAN: %s: IO port region 0x%lx size 0x%x in use.\n", -- dev->name, -- dev->base_addr, -- 0x10 ); -- return -EIO; -+#ifdef EBDEBUG -+ printf(".%d.", framesize); -+#endif -+ -+ memcpy(nic->packet, rxb + -+ (priv->cur_rx * TLAN_MAX_FRAME_SIZE), nic->packetlen); -+ -+ rx_ring[entry].cStat = 0; -+#ifdef EBDEBUG -+ //hex_dump(nic->packet, nic->packetlen); -+ printf("%d", entry); -+#endif -+ entry = (entry + 1) % TLAN_NUM_RX_LISTS; -+ priv->cur_rx = entry; -+ if (eoc) { -+ if ((rx_ring[entry].cStat & TLAN_CSTAT_READY) == -+ TLAN_CSTAT_READY) { -+ ack |= TLAN_HC_GO | TLAN_HC_RT; -+ host_cmd = TLAN_HC_ACK | ack | 0x001C0000; -+ outl(host_cmd, BASE + TLAN_HOST_CMD); - } -- -- if ( bbuf ) { -- dma_size = ( TLAN_NUM_RX_LISTS + TLAN_NUM_TX_LISTS ) -- * ( sizeof(TLanList) + TLAN_MAX_FRAME_SIZE ); - } else { -- dma_size = ( TLAN_NUM_RX_LISTS + TLAN_NUM_TX_LISTS ) -- * ( sizeof(TLanList) ); -- } -- priv->dmaStorage = kmalloc(dma_size, GFP_KERNEL | GFP_DMA); -- if ( priv->dmaStorage == NULL ) { -- printk(KERN_ERR "TLAN: Could not allocate lists and buffers for %s.\n", -- dev->name ); -- release_region( dev->base_addr, 0x10 ); -- return -ENOMEM; -- } -- memset( priv->dmaStorage, 0, dma_size ); -- priv->rxList = (TLanList *) -- ( ( ( (u32) priv->dmaStorage ) + 7 ) & 0xFFFFFFF8 ); -- priv->txList = priv->rxList + TLAN_NUM_RX_LISTS; -- if ( bbuf ) { -- priv->rxBuffer = (u8 *) ( priv->txList + TLAN_NUM_TX_LISTS ); -- priv->txBuffer = priv->rxBuffer -- + ( TLAN_NUM_RX_LISTS * TLAN_MAX_FRAME_SIZE ); -- } -- -- err = 0; -- for ( i = 0; i < 6 ; i++ ) -- err |= TLan_EeReadByte( dev, -- (u8) priv->adapter->addrOfs + i, -- (u8 *) &dev->dev_addr[i] ); -- if ( err ) { -- printk(KERN_ERR "TLAN: %s: Error reading MAC from eeprom: %d\n", -- dev->name, -- err ); -- } -- dev->addr_len = 6; -- -- /* Device methods */ -- dev->open = &TLan_Open; -- dev->hard_start_xmit = &TLan_StartTx; -- dev->stop = &TLan_Close; -- dev->get_stats = &TLan_GetStats; -- dev->set_multicast_list = &TLan_SetMulticastList; -- dev->do_ioctl = &TLan_ioctl; -- dev->tx_timeout = &TLan_tx_timeout; -- dev->watchdog_timeo = TX_TIMEOUT; -- -- return 0; -- --} /* TLan_Init */ -- -- /*************************************************************** -- * TLan_Open -- * -- * Returns: -- * 0 on success, error code otherwise. -- * Parms: -- * dev Structure of device to be opened. -- * -- * This routine puts the driver and TLAN adapter in a -- * state where it is ready to send and receive packets. -- * It allocates the IRQ, resets and brings the adapter -- * out of reset, and allows interrupts. It also delays -- * the startup for autonegotiation or sends a Rx GO -- * command to the adapter, as appropriate. -- * -- **************************************************************/ -- --static int TLan_Open( struct net_device *dev ) --{ -- TLanPrivateInfo *priv = dev->priv; -- int err; -- -- priv->tlanRev = TLan_DioRead8( dev->base_addr, TLAN_DEF_REVISION ); -- err = request_irq( dev->irq, TLan_HandleInterrupt, SA_SHIRQ, TLanSignature, dev ); -- -- if ( err ) { -- printk(KERN_ERR "TLAN: Cannot open %s because IRQ %d is already in use.\n", dev->name, dev->irq ); -- return err; -+ host_cmd = TLAN_HC_ACK | ack | (0x000C0000); -+ outl(host_cmd, BASE + TLAN_HOST_CMD); -+#ifdef EBDEBUG -+ printf("AC: 0x%hX\n", inw(BASE + TLAN_CH_PARM)); -+ host_int = inw(BASE + TLAN_HOST_INT); -+ printf("PI-2: 0x%hX\n", host_int); -+#endif - } -- -- init_timer(&priv->timer); -- netif_start_queue(dev); -- -- /* NOTE: It might not be necessary to read the stats before a -- reset if you don't care what the values are. -- */ -- TLan_ResetLists( dev ); -- TLan_ReadAndClearStats( dev, TLAN_IGNORE ); -- TLan_ResetAdapter( dev ); -- -- TLAN_DBG( TLAN_DEBUG_GNRL, "%s: Opened. TLAN Chip Rev: %x\n", dev->name, priv->tlanRev ); -- -- return 0; -- --} /* TLan_Open */ -- -- /************************************************************** -- * TLan_ioctl -- * -- * Returns: -- * 0 on success, error code otherwise -- * Params: -- * dev structure of device to receive ioctl. -- * -- * rq ifreq structure to hold userspace data. -- * -- * cmd ioctl command. -- * -- * -- *************************************************************/ -+ refill_rx(nic); -+ return (1); /* initially as this is called to flush the input */ -+} - --static int TLan_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) -+static void refill_rx(struct nic *nic __unused) - { -- TLanPrivateInfo *priv = dev->priv; -- struct mii_ioctl_data *data = (struct mii_ioctl_data *)&rq->ifr_data; -- u32 phy = priv->phy[priv->phyNum]; -- -- if (!priv->phyOnline) -- return -EAGAIN; -- -- switch(cmd) { -- case SIOCGMIIPHY: /* Get address of MII PHY in use. */ -- case SIOCDEVPRIVATE: /* for binary compat, remove in 2.5 */ -- data->phy_id = phy; -- -- case SIOCGMIIREG: /* Read MII PHY register. */ -- case SIOCDEVPRIVATE+1: /* for binary compat, remove in 2.5 */ -- TLan_MiiReadReg(dev, data->phy_id & 0x1f, data->reg_num & 0x1f, &data->val_out); -- return 0; -- -+ int entry = 0; - -- case SIOCSMIIREG: /* Write MII PHY register. */ -- case SIOCDEVPRIVATE+2: /* for binary compat, remove in 2.5 */ -- if (!capable(CAP_NET_ADMIN)) -- return -EPERM; -- TLan_MiiWriteReg(dev, data->phy_id & 0x1f, data->reg_num & 0x1f, data->val_in); -- return 0; -- default: -- return -EOPNOTSUPP; -+ for (; -+ (priv->cur_rx - priv->dirty_rx + -+ TLAN_NUM_RX_LISTS) % TLAN_NUM_RX_LISTS > 0; -+ priv->dirty_rx = (priv->dirty_rx + 1) % TLAN_NUM_RX_LISTS) { -+ entry = priv->dirty_rx % TLAN_NUM_TX_LISTS; -+ rx_ring[entry].frameSize = TLAN_MAX_FRAME_SIZE; -+ rx_ring[entry].cStat = TLAN_CSTAT_READY; - } --} /* tlan_ioctl */ -- -- /*************************************************************** -- * TLan_tx_timeout -- * -- * Returns: nothing -- * -- * Params: -- * dev structure of device which timed out -- * during transmit. -- * -- **************************************************************/ -- --static void TLan_tx_timeout(struct net_device *dev) --{ -- -- TLAN_DBG( TLAN_DEBUG_GNRL, "%s: Transmit timed out.\n", dev->name); -- -- /* Ok so we timed out, lets see what we can do about it...*/ -- TLan_FreeLists( dev ); -- TLan_ResetLists( dev ); -- TLan_ReadAndClearStats( dev, TLAN_IGNORE ); -- TLan_ResetAdapter( dev ); -- dev->trans_start = jiffies; -- netif_wake_queue( dev ); - - } -- - -- /*************************************************************** -- * TLan_StartTx -- * -- * Returns: -- * 0 on success, non-zero on failure. -- * Parms: -- * skb A pointer to the sk_buff containing the -- * frame to be sent. -- * dev The device to send the data on. -- * -- * This function adds a frame to the Tx list to be sent -- * ASAP. First it verifies that the adapter is ready and -- * there is room in the queue. Then it sets up the next -- * available list, copies the frame to the corresponding -- * buffer. If the adapter Tx channel is idle, it gives -- * the adapter a Tx Go command on the list, otherwise it -- * sets the forward address of the previous list to point -- * to this one. Then it frees the sk_buff. -- * -- **************************************************************/ -+/* #define EBDEBUG */ -+/************************************************************************** -+TRANSMIT - Transmit a frame -+***************************************************************************/ -+static void tlan_transmit(struct nic *nic, const char *d, /* Destination */ -+ unsigned int t, /* Type */ -+ unsigned int s, /* size */ -+ const char *p) -+{ /* Packet */ -+ u16 nstype; -+ u32 to; -+ struct TLanList *tail_list; -+ struct TLanList *head_list; -+ u8 *tail_buffer; -+ u32 ack = 0; -+ u32 host_cmd; -+ int eoc = 0; -+ u16 tmpCStat; -+#ifdef EBDEBUG -+ u16 host_int = inw(BASE + TLAN_HOST_INT); -+#endif -+ int entry = 0; - --static int TLan_StartTx( struct sk_buff *skb, struct net_device *dev ) --{ -- TLanPrivateInfo *priv = dev->priv; -- TLanList *tail_list; -- u8 *tail_buffer; -- int pad; -- unsigned long flags; -- -- if ( ! priv->phyOnline ) { -- TLAN_DBG( TLAN_DEBUG_TX, "TRANSMIT: %s PHY is not ready\n", dev->name ); -- dev_kfree_skb_any(skb); -- return 0; -+#ifdef EBDEBUG -+ printf("INT0-0x%hX\n", host_int); -+#endif -+ -+ if (!priv->phyOnline) { -+ printf("TRANSMIT: %s PHY is not ready\n", priv->nic_name); -+ return; - } - - tail_list = priv->txList + priv->txTail; -- -- if ( tail_list->cStat != TLAN_CSTAT_UNUSED ) { -- TLAN_DBG( TLAN_DEBUG_TX, "TRANSMIT: %s is busy (Head=%d Tail=%d)\n", dev->name, priv->txHead, priv->txTail ); -- netif_stop_queue(dev); -+ -+ if (tail_list->cStat != TLAN_CSTAT_UNUSED) { -+ printf("TRANSMIT: %s is busy (Head=%d Tail=%d)\n", -+ priv->nic_name, priv->txList, priv->txTail); -+ tx_ring[entry].cStat = TLAN_CSTAT_UNUSED; - priv->txBusyCount++; -- return 1; -+ return; - } - - tail_list->forward = 0; - -- if ( bbuf ) { -- tail_buffer = priv->txBuffer + ( priv->txTail * TLAN_MAX_FRAME_SIZE ); -- memcpy( tail_buffer, skb->data, skb->len ); -- } else { -- tail_list->buffer[0].address = virt_to_bus( skb->data ); -- tail_list->buffer[9].address = (u32) skb; -- } -+ tail_buffer = txb + (priv->txTail * TLAN_MAX_FRAME_SIZE); - -- pad = TLAN_MIN_FRAME_SIZE - skb->len; -- -- if ( pad > 0 ) { -- tail_list->frameSize = (u16) skb->len + pad; -- tail_list->buffer[0].count = (u32) skb->len; -- tail_list->buffer[1].count = TLAN_LAST_BUFFER | (u32) pad; -- tail_list->buffer[1].address = virt_to_bus( TLanPadBuffer ); -- } else { -- tail_list->frameSize = (u16) skb->len; -- tail_list->buffer[0].count = TLAN_LAST_BUFFER | (u32) skb->len; -- tail_list->buffer[1].count = 0; -- tail_list->buffer[1].address = 0; -- } -+ /* send the packet to destination */ -+ memcpy(tail_buffer, d, ETH_ALEN); -+ memcpy(tail_buffer + ETH_ALEN, nic->node_addr, ETH_ALEN); -+ nstype = htons((u16) t); -+ memcpy(tail_buffer + 2 * ETH_ALEN, (u8 *) & nstype, 2); -+ memcpy(tail_buffer + ETH_HLEN, p, s); -+ -+ s += ETH_HLEN; -+ s &= 0x0FFF; -+ while (s < ETH_ZLEN) -+ tail_buffer[s++] = '\0'; -+ -+ /*=====================================================*/ -+ /* Receive -+ * 0000 0000 0001 1100 -+ * 0000 0000 0000 1100 -+ * 0000 0000 0000 0011 = 0x0003 -+ * -+ * 0000 0000 0000 0000 0000 0000 0000 0011 -+ * 0000 0000 0000 1100 0000 0000 0000 0000 = 0x000C0000 -+ * -+ * Transmit -+ * 0000 0000 0001 1100 -+ * 0000 0000 0000 0100 -+ * 0000 0000 0000 0001 = 0x0001 -+ * -+ * 0000 0000 0000 0000 0000 0000 0000 0001 -+ * 0000 0000 0000 0100 0000 0000 0000 0000 = 0x00040000 -+ * */ -+ -+ /* Setup the transmit descriptor */ -+ tail_list->frameSize = (u16) s; -+ tail_list->buffer[0].count = TLAN_LAST_BUFFER | (u32) s; -+ tail_list->buffer[1].count = 0; -+ tail_list->buffer[1].address = 0; - -- spin_lock_irqsave(&priv->lock, flags); - tail_list->cStat = TLAN_CSTAT_READY; -- if ( ! priv->txInProgress ) { -+ -+#ifdef EBDEBUG -+ host_int = inw(BASE + TLAN_HOST_INT); -+ printf("INT1-0x%hX\n", host_int); -+#endif -+ -+ if (!priv->txInProgress) { - priv->txInProgress = 1; -- TLAN_DBG( TLAN_DEBUG_TX, "TRANSMIT: Starting TX on buffer %d\n", priv->txTail ); -- outl( virt_to_bus( tail_list ), dev->base_addr + TLAN_CH_PARM ); -- outl( TLAN_HC_GO, dev->base_addr + TLAN_HOST_CMD ); -+ outl(virt_to_le32desc(tail_list), BASE + TLAN_CH_PARM); -+ outl(TLAN_HC_GO, BASE + TLAN_HOST_CMD); - } else { -- TLAN_DBG( TLAN_DEBUG_TX, "TRANSMIT: Adding buffer %d to TX channel\n", priv->txTail ); -- if ( priv->txTail == 0 ) { -- ( priv->txList + ( TLAN_NUM_TX_LISTS - 1 ) )->forward = virt_to_bus( tail_list ); -+ if (priv->txTail == 0) { -+#ifdef EBDEBUG -+ printf("Out buffer\n"); -+#endif -+ (priv->txList + (TLAN_NUM_TX_LISTS - 1))->forward = -+ virt_to_le32desc(tail_list); - } else { -- ( priv->txList + ( priv->txTail - 1 ) )->forward = virt_to_bus( tail_list ); -+#ifdef EBDEBUG -+ printf("Fix this \n"); -+#endif -+ (priv->txList + (priv->txTail - 1))->forward = -+ virt_to_le32desc(tail_list); - } - } -- spin_unlock_irqrestore(&priv->lock, flags); -- -- CIRC_INC( priv->txTail, TLAN_NUM_TX_LISTS ); -- -- if ( bbuf ) -- dev_kfree_skb_any(skb); -- -- dev->trans_start = jiffies; -- return 0; -- --} /* TLan_StartTx */ -- -- /*************************************************************** -- * TLan_HandleInterrupt -- * -- * Returns: -- * Nothing -- * Parms: -- * irq The line on which the interrupt -- * occurred. -- * dev_id A pointer to the device assigned to -- * this irq line. -- * regs ??? -- * -- * This function handles an interrupt generated by its -- * assigned TLAN adapter. The function deactivates -- * interrupts on its adapter, records the type of -- * interrupt, executes the appropriate subhandler, and -- * acknowdges the interrupt to the adapter (thus -- * re-enabling adapter interrupts. -- * -- **************************************************************/ -- --static void TLan_HandleInterrupt(int irq, void *dev_id, struct pt_regs *regs) --{ -- u32 ack; -- struct net_device *dev; -- u32 host_cmd; -- u16 host_int; -- int type; -- TLanPrivateInfo *priv; -- -- dev = dev_id; -- priv = dev->priv; -- -- spin_lock(&priv->lock); -- -- host_int = inw( dev->base_addr + TLAN_HOST_INT ); -- outw( host_int, dev->base_addr + TLAN_HOST_INT ); -+ -+ CIRC_INC(priv->txTail, TLAN_NUM_TX_LISTS); - -- type = ( host_int & TLAN_HI_IT_MASK ) >> 2; -+#ifdef EBDEBUG -+ host_int = inw(BASE + TLAN_HOST_INT); -+ printf("INT2-0x%hX\n", host_int); -+#endif - -- ack = TLanIntVector[type]( dev, host_int ); -+ to = currticks() + TX_TIME_OUT; -+ while ((tail_list->cStat == TLAN_CSTAT_READY) && currticks() < to); - -- if ( ack ) { -- host_cmd = TLAN_HC_ACK | ack | ( type << 18 ); -- outl( host_cmd, dev->base_addr + TLAN_HOST_CMD ); -+ head_list = priv->txList + priv->txHead; -+ while (((tmpCStat = head_list->cStat) & TLAN_CSTAT_FRM_CMP) -+ && (ack < 255)) { -+ ack++; -+ if(tmpCStat & TLAN_CSTAT_EOC) -+ eoc =1; -+ head_list->cStat = TLAN_CSTAT_UNUSED; -+ CIRC_INC(priv->txHead, TLAN_NUM_TX_LISTS); -+ head_list = priv->txList + priv->txHead; -+ - } -+ if(!ack) -+ printf("Incomplete TX Frame\n"); - -- spin_unlock(&priv->lock); -- --} /* TLan_HandleInterrupts */ -- -- /*************************************************************** -- * TLan_Close -- * -- * Returns: -- * An error code. -- * Parms: -- * dev The device structure of the device to -- * close. -- * -- * This function shuts down the adapter. It records any -- * stats, puts the adapter into reset state, deactivates -- * its time as needed, and frees the irq it is using. -- * -- **************************************************************/ -- --static int TLan_Close(struct net_device *dev) --{ -- TLanPrivateInfo *priv = dev->priv; -- -- netif_stop_queue(dev); -- priv->neg_be_verbose = 0; -- -- TLan_ReadAndClearStats( dev, TLAN_RECORD ); -- outl( TLAN_HC_AD_RST, dev->base_addr + TLAN_HOST_CMD ); -- if ( priv->timer.function != NULL ) { -- del_timer_sync( &priv->timer ); -- priv->timer.function = NULL; -+ if(eoc) { -+ head_list = priv->txList + priv->txHead; -+ if ((head_list->cStat & TLAN_CSTAT_READY) == TLAN_CSTAT_READY) { -+ outl(virt_to_le32desc(head_list), BASE + TLAN_CH_PARM); -+ ack |= TLAN_HC_GO; -+ } else { -+ priv->txInProgress = 0; -+ } - } -- -- free_irq( dev->irq, dev ); -- TLan_FreeLists( dev ); -- TLAN_DBG( TLAN_DEBUG_GNRL, "Device %s closed.\n", dev->name ); -- -- return 0; -- --} /* TLan_Close */ -- -- /*************************************************************** -- * TLan_GetStats -- * -- * Returns: -- * A pointer to the device's statistics structure. -- * Parms: -- * dev The device structure to return the -- * stats for. -- * -- * This function updates the devices statistics by reading -- * the TLAN chip's onboard registers. Then it returns the -- * address of the statistics structure. -- * -- **************************************************************/ -- --static struct net_device_stats *TLan_GetStats( struct net_device *dev ) --{ -- TLanPrivateInfo *priv = dev->priv; -- int i; -- -- /* Should only read stats if open ? */ -- TLan_ReadAndClearStats( dev, TLAN_RECORD ); -- -- TLAN_DBG( TLAN_DEBUG_RX, "RECEIVE: %s EOC count = %d\n", dev->name, priv->rxEocCount ); -- TLAN_DBG( TLAN_DEBUG_TX, "TRANSMIT: %s Busy count = %d\n", dev->name, priv->txBusyCount ); -- if ( debug & TLAN_DEBUG_GNRL ) { -- TLan_PrintDio( dev->base_addr ); -- TLan_PhyPrint( dev ); -- } -- if ( debug & TLAN_DEBUG_LIST ) { -- for ( i = 0; i < TLAN_NUM_RX_LISTS; i++ ) -- TLan_PrintList( priv->rxList + i, "RX", i ); -- for ( i = 0; i < TLAN_NUM_TX_LISTS; i++ ) -- TLan_PrintList( priv->txList + i, "TX", i ); -+ if(ack) { -+ host_cmd = TLAN_HC_ACK | ack; -+ outl(host_cmd, BASE + TLAN_HOST_CMD); - } - -- return ( &( (TLanPrivateInfo *) dev->priv )->stats ); -- --} /* TLan_GetStats */ -- -- /*************************************************************** -- * TLan_SetMulticastList -- * -- * Returns: -- * Nothing -- * Parms: -- * dev The device structure to set the -- * multicast list for. -- * -- * This function sets the TLAN adaptor to various receive -- * modes. If the IFF_PROMISC flag is set, promiscuous -- * mode is acitviated. Otherwise, promiscuous mode is -- * turned off. If the IFF_ALLMULTI flag is set, then -- * the hash table is set to receive all group addresses. -- * Otherwise, the first three multicast addresses are -- * stored in AREG_1-3, and the rest are selected via the -- * hash table, as necessary. -- * -- **************************************************************/ -- --static void TLan_SetMulticastList( struct net_device *dev ) --{ -- struct dev_mc_list *dmi = dev->mc_list; -- u32 hash1 = 0; -- u32 hash2 = 0; -- int i; -- u32 offset; -- u8 tmp; -- -- if ( dev->flags & IFF_PROMISC ) { -- tmp = TLan_DioRead8( dev->base_addr, TLAN_NET_CMD ); -- TLan_DioWrite8( dev->base_addr, TLAN_NET_CMD, tmp | TLAN_NET_CMD_CAF ); -- } else { -- tmp = TLan_DioRead8( dev->base_addr, TLAN_NET_CMD ); -- TLan_DioWrite8( dev->base_addr, TLAN_NET_CMD, tmp & ~TLAN_NET_CMD_CAF ); -- if ( dev->flags & IFF_ALLMULTI ) { -- for ( i = 0; i < 3; i++ ) -- TLan_SetMac( dev, i + 1, NULL ); -- TLan_DioWrite32( dev->base_addr, TLAN_HASH_1, 0xFFFFFFFF ); -- TLan_DioWrite32( dev->base_addr, TLAN_HASH_2, 0xFFFFFFFF ); -+ if(priv->tlanRev < 0x30 ) { -+ ack = 1; -+ head_list = priv->txList + priv->txHead; -+ if ((head_list->cStat & TLAN_CSTAT_READY) == TLAN_CSTAT_READY) { -+ outl(virt_to_le32desc(head_list), BASE + TLAN_CH_PARM); -+ ack |= TLAN_HC_GO; - } else { -- for ( i = 0; i < dev->mc_count; i++ ) { -- if ( i < 3 ) { -- TLan_SetMac( dev, i + 1, (char *) &dmi->dmi_addr ); -- } else { -- offset = TLan_HashFunc( (u8 *) &dmi->dmi_addr ); -- if ( offset < 32 ) -- hash1 |= ( 1 << offset ); -- else -- hash2 |= ( 1 << ( offset - 32 ) ); -- } -- dmi = dmi->next; -- } -- for ( ; i < 3; i++ ) -- TLan_SetMac( dev, i + 1, NULL ); -- TLan_DioWrite32( dev->base_addr, TLAN_HASH_1, hash1 ); -- TLan_DioWrite32( dev->base_addr, TLAN_HASH_2, hash2 ); -+ priv->txInProgress = 0; - } -+ host_cmd = TLAN_HC_ACK | ack | 0x00140000; -+ outl(host_cmd, BASE + TLAN_HOST_CMD); -+ - } -+ -+ if (currticks() >= to) { -+ printf("TX Time Out"); -+ } -+} - --} /* TLan_SetMulticastList */ -- --/***************************************************************************** --****************************************************************************** -- -- ThunderLAN Driver Interrupt Vectors and Table -- -- Please see Chap. 4, "Interrupt Handling" of the "ThunderLAN -- Programmer's Guide" for more informations on handling interrupts -- generated by TLAN based adapters. -- --****************************************************************************** --*****************************************************************************/ -- -- /*************************************************************** -- * TLan_HandleInvalid -- * -- * Returns: -- * 0 -- * Parms: -- * dev Device assigned the IRQ that was -- * raised. -- * host_int The contents of the HOST_INT -- * port. -- * -- * This function handles invalid interrupts. This should -- * never happen unless some other adapter is trying to use -- * the IRQ line assigned to the device. -- * -- **************************************************************/ -- --u32 TLan_HandleInvalid( struct net_device *dev, u16 host_int ) -+/************************************************************************** -+DISABLE - Turn off ethernet interface -+***************************************************************************/ -+#ifdef EB51 -+static void tlan_disable(struct dev *dev __unused) -+#else -+static void tlan_disable(struct nic *nic __unused) -+#endif - { -- /* printk( "TLAN: Invalid interrupt on %s.\n", dev->name ); */ -- return 0; -- --} /* TLan_HandleInvalid */ -- -- /*************************************************************** -- * TLan_HandleTxEOF -- * -- * Returns: -- * 1 -- * Parms: -- * dev Device assigned the IRQ that was -- * raised. -- * host_int The contents of the HOST_INT -- * port. -- * -- * This function handles Tx EOF interrupts which are raised -- * by the adapter when it has completed sending the -- * contents of a buffer. If detemines which list/buffer -- * was completed and resets it. If the buffer was the last -- * in the channel (EOC), then the function checks to see if -- * another buffer is ready to send, and if so, sends a Tx -- * Go command. Finally, the driver activates/continues the -- * activity LED. -+ /* put the card in its initial state */ -+ /* This function serves 3 purposes. -+ * This disables DMA and interrupts so we don't receive -+ * unexpected packets or interrupts from the card after -+ * etherboot has finished. -+ * This frees resources so etherboot may use -+ * this driver on another interface -+ * This allows etherboot to reinitialize the interface -+ * if something is something goes wrong. - * -- **************************************************************/ -+ */ -+ outl(TLAN_HC_AD_RST, BASE + TLAN_HOST_CMD); -+} - --u32 TLan_HandleTxEOF( struct net_device *dev, u16 host_int ) -+/************************************************************************** -+IRQ - Enable, Disable, or Force interrupts -+***************************************************************************/ -+static void tlan_irq(struct nic *nic __unused, irq_action_t action __unused) - { -- TLanPrivateInfo *priv = dev->priv; -- int eoc = 0; -- TLanList *head_list; -- u32 ack = 0; -- u16 tmpCStat; -- -- TLAN_DBG( TLAN_DEBUG_TX, "TRANSMIT: Handling TX EOF (Head=%d Tail=%d)\n", priv->txHead, priv->txTail ); -- head_list = priv->txList + priv->txHead; -+ switch ( action ) { -+ case DISABLE : -+ break; -+ case ENABLE : -+ break; -+ case FORCE : -+ break; -+ } -+} - -- while (((tmpCStat = head_list->cStat ) & TLAN_CSTAT_FRM_CMP) && (ack < 255)) { -- ack++; -- if ( ! bbuf ) { -- dev_kfree_skb_any( (struct sk_buff *) head_list->buffer[9].address ); -- head_list->buffer[9].address = 0; -- } -- -- if ( tmpCStat & TLAN_CSTAT_EOC ) -- eoc = 1; -- -- priv->stats.tx_bytes += head_list->frameSize; -+static void TLan_SetMulticastList(struct nic *nic) { -+ int i; -+ u8 tmp; - -- head_list->cStat = TLAN_CSTAT_UNUSED; -- netif_start_queue(dev); -- CIRC_INC( priv->txHead, TLAN_NUM_TX_LISTS ); -- head_list = priv->txList + priv->txHead; -- } -+ /* !IFF_PROMISC */ -+ tmp = TLan_DioRead8(BASE, TLAN_NET_CMD); -+ TLan_DioWrite8(BASE, TLAN_NET_CMD, tmp & ~TLAN_NET_CMD_CAF); -+ -+ /* IFF_ALLMULTI */ -+ for(i = 0; i< 3; i++) -+ TLan_SetMac(nic, i + 1, NULL); -+ TLan_DioWrite32(BASE, TLAN_HASH_1, 0xFFFFFFFF); -+ TLan_DioWrite32(BASE, TLAN_HASH_2, 0xFFFFFFFF); - -- if (!ack) -- printk(KERN_INFO "TLAN: Received interrupt for uncompleted TX frame.\n"); -- -- if ( eoc ) { -- TLAN_DBG( TLAN_DEBUG_TX, "TRANSMIT: Handling TX EOC (Head=%d Tail=%d)\n", priv->txHead, priv->txTail ); -- head_list = priv->txList + priv->txHead; -- if ( ( head_list->cStat & TLAN_CSTAT_READY ) == TLAN_CSTAT_READY ) { -- outl( virt_to_bus( head_list ), dev->base_addr + TLAN_CH_PARM ); -- ack |= TLAN_HC_GO; -- } else { -- priv->txInProgress = 0; -- } -- } - -- if ( priv->adapter->flags & TLAN_ADAPTER_ACTIVITY_LED ) { -- TLan_DioWrite8( dev->base_addr, TLAN_LED_REG, TLAN_LED_LINK | TLAN_LED_ACT ); -- if ( priv->timer.function == NULL ) { -- priv->timer.function = &TLan_Timer; -- priv->timer.data = (unsigned long) dev; -- priv->timer.expires = jiffies + TLAN_TIMER_ACT_DELAY; -- priv->timerSetAt = jiffies; -- priv->timerType = TLAN_TIMER_ACTIVITY; -- add_timer(&priv->timer); -- } else if ( priv->timerType == TLAN_TIMER_ACTIVITY ) { -- priv->timerSetAt = jiffies; -+} -+/************************************************************************** -+PROBE - Look for an adapter, this routine's visible to the outside -+***************************************************************************/ -+ -+#define board_found 1 -+#define valid_link 0 -+#ifdef EB51 -+static int tlan_probe(struct dev *dev, struct pci_device *pci) -+{ -+ struct nic *nic = (struct nic *) dev; -+#else -+struct nic *tlan_probe(struct nic *nic, unsigned short *io_addrs, struct pci_device *pci) -+{ -+#endif -+ u16 data = 0; -+ int err; -+ int i; -+ -+ if (pci->ioaddr == 0) -+ return 0; -+ -+ nic->irqno = 0; -+ nic->ioaddr = pci->ioaddr & ~3; -+ -+ BASE = pci->ioaddr; -+ printf("\n"); -+ printf("tlan.c: %s, %s\n", drv_version, drv_date); -+ printf("%s: Probing for Vendor 0x%hX, Device 0x%hX", -+ pci->name, pci->vendor, pci->dev_id); -+ -+ -+ /* I really must find out what this does */ -+ adjust_pci_device(pci); -+ -+ /* Point to private storage */ -+ priv = &TLanPrivateInfo; -+ /* Figure out which chip we're dealing with */ -+ i = 0; -+ chip_idx = -1; -+ -+ while (tlan_pci_tbl[i].name) { -+ if ((((u32) pci->dev_id << 16) | pci->vendor) == -+ (tlan_pci_tbl[i].id.pci & 0xffffffff)) { -+ chip_idx = i; -+ break; - } -+ i++; - } - -- return ack; -+ priv->vendor_id = pci->vendor; -+ priv->dev_id = pci->dev_id; -+ priv->nic_name = pci->name; -+ priv->eoc = 0; - --} /* TLan_HandleTxEOF */ -+ err = 0; -+ for (i = 0; i < 6; i++) -+ err |= TLan_EeReadByte(BASE, -+ (u8) tlan_pci_tbl[chip_idx]. -+ addrOfs + i, -+ (u8 *) & nic->node_addr[i]); -+ if (err) { -+ printf("TLAN: %s: Error reading MAC from eeprom: %d\n", -+ pci->name, err); -+ } else -+ printf("\nAddress: %!\n", nic->node_addr); - -- /*************************************************************** -- * TLan_HandleStatOverflow -- * -- * Returns: -- * 1 -- * Parms: -- * dev Device assigned the IRQ that was -- * raised. -- * host_int The contents of the HOST_INT -- * port. -- * -- * This function handles the Statistics Overflow interrupt -- * which means that one or more of the TLAN statistics -- * registers has reached 1/2 capacity and needs to be read. -- * -- **************************************************************/ -+ priv->tlanRev = TLan_DioRead8(BASE, TLAN_DEF_REVISION); -+ printf("\nRevision = 0x%hX\n", priv->tlanRev); - --u32 TLan_HandleStatOverflow( struct net_device *dev, u16 host_int ) --{ -- TLan_ReadAndClearStats( dev, TLAN_RECORD ); -+ TLan_ResetLists(nic); -+ TLan_ResetAdapter(nic); -+/* -+ data = inl(BASE + TLAN_HOST_CMD); -+ data |= TLAN_HC_EOC; -+ outw(data, BASE + TLAN_HOST_CMD); -+*/ -+ -+ data = inl(BASE + TLAN_HOST_CMD); -+ data |= TLAN_HC_INT_OFF; -+ outw(data, BASE + TLAN_HOST_CMD); - -+ TLan_SetMulticastList(nic); -+ udelay(100); -+ priv->txList = tx_ring; -+ priv->rxList = rx_ring; -+/* if (board_found && valid_link) -+ {*/ -+ /* point to NIC specific routines */ -+#ifdef EB51 -+ dev->disable = tlan_disable; -+ nic->poll = tlan_poll; -+ nic->transmit = tlan_transmit; -+ nic->irq = tlan_irq; - return 1; -+#else -+ nic->disable = tlan_disable; -+ nic->poll = tlan_poll; -+ nic->transmit = tlan_transmit; -+ nic->irq = tlan_irq; -+ return nic; -+#endif -+} -+ -+ -+/***************************************************************************** -+****************************************************************************** -+ -+ ThunderLAN Driver Eeprom routines -+ -+ The Compaq Netelligent 10 and 10/100 cards use a Microchip 24C02A -+ EEPROM. These functions are based on information in Microchip's -+ data sheet. I don't know how well this functions will work with -+ other EEPROMs. -+ -+****************************************************************************** -+*****************************************************************************/ - --} /* TLan_HandleStatOverflow */ - - /*************************************************************** -- * TLan_HandleRxEOF -+ * TLan_EeSendStart - * - * Returns: -- * 1 -+ * Nothing - * Parms: -- * dev Device assigned the IRQ that was -- * raised. -- * host_int The contents of the HOST_INT -- * port. -- * -- * This function handles the Rx EOF interrupt which -- * indicates a frame has been received by the adapter from -- * the net and the frame has been transferred to memory. -- * The function determines the bounce buffer the frame has -- * been loaded into, creates a new sk_buff big enough to -- * hold the frame, and sends it to protocol stack. It -- * then resets the used buffer and appends it to the end -- * of the list. If the frame was the last in the Rx -- * channel (EOC), the function restarts the receive channel -- * by sending an Rx Go command to the adapter. Then it -- * activates/continues the activity LED. -+ * io_base The IO port base address for the -+ * TLAN device with the EEPROM to -+ * use. -+ * -+ * This function sends a start cycle to an EEPROM attached -+ * to a TLAN chip. - * - **************************************************************/ - --u32 TLan_HandleRxEOF( struct net_device *dev, u16 host_int ) -+void TLan_EeSendStart(u16 io_base) - { -- TLanPrivateInfo *priv = dev->priv; -- u32 ack = 0; -- int eoc = 0; -- u8 *head_buffer; -- TLanList *head_list; -- struct sk_buff *skb; -- TLanList *tail_list; -- void *t; -- u32 frameSize; -- u16 tmpCStat; -- -- TLAN_DBG( TLAN_DEBUG_RX, "RECEIVE: Handling RX EOF (Head=%d Tail=%d)\n", priv->rxHead, priv->rxTail ); -- head_list = priv->rxList + priv->rxHead; -- -- while (((tmpCStat = head_list->cStat) & TLAN_CSTAT_FRM_CMP) && (ack < 255)) { -- frameSize = head_list->frameSize; -- ack++; -- if (tmpCStat & TLAN_CSTAT_EOC) -- eoc = 1; -- -- if (bbuf) { -- skb = dev_alloc_skb(frameSize + 7); -- if (skb == NULL) -- printk(KERN_INFO "TLAN: Couldn't allocate memory for received data.\n"); -- else { -- head_buffer = priv->rxBuffer + (priv->rxHead * TLAN_MAX_FRAME_SIZE); -- skb->dev = dev; -- skb_reserve(skb, 2); -- t = (void *) skb_put(skb, frameSize); -- -- priv->stats.rx_bytes += head_list->frameSize; -- -- memcpy( t, head_buffer, frameSize ); -- skb->protocol = eth_type_trans( skb, dev ); -- netif_rx( skb ); -- } -- } else { -- struct sk_buff *new_skb; -- -- /* -- * I changed the algorithm here. What we now do -- * is allocate the new frame. If this fails we -- * simply recycle the frame. -- */ -- -- new_skb = dev_alloc_skb( TLAN_MAX_FRAME_SIZE + 7 ); -- -- if ( new_skb != NULL ) { -- /* If this ever happened it would be a problem */ -- /* not any more - ac */ -- skb = (struct sk_buff *) head_list->buffer[9].address; -- skb_trim( skb, frameSize ); -- -- priv->stats.rx_bytes += frameSize; -+ u16 sio; - -- skb->protocol = eth_type_trans( skb, dev ); -- netif_rx( skb ); -- -- new_skb->dev = dev; -- skb_reserve( new_skb, 2 ); -- t = (void *) skb_put( new_skb, TLAN_MAX_FRAME_SIZE ); -- head_list->buffer[0].address = virt_to_bus( t ); -- head_list->buffer[8].address = (u32) t; -- head_list->buffer[9].address = (u32) new_skb; -- } else -- printk(KERN_WARNING "TLAN: Couldn't allocate memory for received data.\n" ); -- } -+ outw(TLAN_NET_SIO, io_base + TLAN_DIO_ADR); -+ sio = io_base + TLAN_DIO_DATA + TLAN_NET_SIO; - -- head_list->forward = 0; -- head_list->cStat = 0; -- tail_list = priv->rxList + priv->rxTail; -- tail_list->forward = virt_to_bus( head_list ); -- -- CIRC_INC( priv->rxHead, TLAN_NUM_RX_LISTS ); -- CIRC_INC( priv->rxTail, TLAN_NUM_RX_LISTS ); -- head_list = priv->rxList + priv->rxHead; -- } -+ TLan_SetBit(TLAN_NET_SIO_ECLOK, sio); -+ TLan_SetBit(TLAN_NET_SIO_EDATA, sio); -+ TLan_SetBit(TLAN_NET_SIO_ETXEN, sio); -+ TLan_ClearBit(TLAN_NET_SIO_EDATA, sio); -+ TLan_ClearBit(TLAN_NET_SIO_ECLOK, sio); - -- if (!ack) -- printk(KERN_INFO "TLAN: Received interrupt for uncompleted RX frame.\n"); -- -+} /* TLan_EeSendStart */ - -- if ( eoc ) { -- TLAN_DBG( TLAN_DEBUG_RX, "RECEIVE: Handling RX EOC (Head=%d Tail=%d)\n", priv->rxHead, priv->rxTail ); -- head_list = priv->rxList + priv->rxHead; -- outl( virt_to_bus( head_list ), dev->base_addr + TLAN_CH_PARM ); -- ack |= TLAN_HC_GO | TLAN_HC_RT; -- priv->rxEocCount++; -- } -- -- if ( priv->adapter->flags & TLAN_ADAPTER_ACTIVITY_LED ) { -- TLan_DioWrite8( dev->base_addr, TLAN_LED_REG, TLAN_LED_LINK | TLAN_LED_ACT ); -- if ( priv->timer.function == NULL ) { -- priv->timer.function = &TLan_Timer; -- priv->timer.data = (unsigned long) dev; -- priv->timer.expires = jiffies + TLAN_TIMER_ACT_DELAY; -- priv->timerSetAt = jiffies; -- priv->timerType = TLAN_TIMER_ACTIVITY; -- add_timer(&priv->timer); -- } else if ( priv->timerType == TLAN_TIMER_ACTIVITY ) { -- priv->timerSetAt = jiffies; -- } -- } - -- dev->last_rx = jiffies; -- -- return ack; - --} /* TLan_HandleRxEOF */ - - /*************************************************************** -- * TLan_HandleDummy -+ * TLan_EeSendByte - * - * Returns: -- * 1 -- * Parms: -- * dev Device assigned the IRQ that was -- * raised. -- * host_int The contents of the HOST_INT -- * port. -- * -- * This function handles the Dummy interrupt, which is -- * raised whenever a test interrupt is generated by setting -- * the Req_Int bit of HOST_CMD to 1. -+ * If the correct ack was received, 0, otherwise 1 -+ * Parms: io_base The IO port base address for the -+ * TLAN device with the EEPROM to -+ * use. -+ * data The 8 bits of information to -+ * send to the EEPROM. -+ * stop If TLAN_EEPROM_STOP is passed, a -+ * stop cycle is sent after the -+ * byte is sent after the ack is -+ * read. -+ * -+ * This function sends a byte on the serial EEPROM line, -+ * driving the clock to send each bit. The function then -+ * reverses transmission direction and reads an acknowledge -+ * bit. - * - **************************************************************/ - --u32 TLan_HandleDummy( struct net_device *dev, u16 host_int ) -+int TLan_EeSendByte(u16 io_base, u8 data, int stop) - { -- printk( "TLAN: Test interrupt on %s.\n", dev->name ); -- return 1; -+ int err; -+ u8 place; -+ u16 sio; - --} /* TLan_HandleDummy */ -+ outw(TLAN_NET_SIO, io_base + TLAN_DIO_ADR); -+ sio = io_base + TLAN_DIO_DATA + TLAN_NET_SIO; - -- /*************************************************************** -- * TLan_HandleTxEOC -- * -- * Returns: -- * 1 -- * Parms: -- * dev Device assigned the IRQ that was -- * raised. -- * host_int The contents of the HOST_INT -- * port. -- * -- * This driver is structured to determine EOC occurances by -- * reading the CSTAT member of the list structure. Tx EOC -- * interrupts are disabled via the DIO INTDIS register. -- * However, TLAN chips before revision 3.0 didn't have this -- * functionality, so process EOC events if this is the -- * case. -- * -- **************************************************************/ -+ /* Assume clock is low, tx is enabled; */ -+ for (place = 0x80; place != 0; place >>= 1) { -+ if (place & data) -+ TLan_SetBit(TLAN_NET_SIO_EDATA, sio); -+ else -+ TLan_ClearBit(TLAN_NET_SIO_EDATA, sio); -+ TLan_SetBit(TLAN_NET_SIO_ECLOK, sio); -+ TLan_ClearBit(TLAN_NET_SIO_ECLOK, sio); -+ } -+ TLan_ClearBit(TLAN_NET_SIO_ETXEN, sio); -+ TLan_SetBit(TLAN_NET_SIO_ECLOK, sio); -+ err = TLan_GetBit(TLAN_NET_SIO_EDATA, sio); -+ TLan_ClearBit(TLAN_NET_SIO_ECLOK, sio); -+ TLan_SetBit(TLAN_NET_SIO_ETXEN, sio); - --u32 TLan_HandleTxEOC( struct net_device *dev, u16 host_int ) --{ -- TLanPrivateInfo *priv = dev->priv; -- TLanList *head_list; -- u32 ack = 1; -- -- host_int = 0; -- if ( priv->tlanRev < 0x30 ) { -- TLAN_DBG( TLAN_DEBUG_TX, "TRANSMIT: Handling TX EOC (Head=%d Tail=%d) -- IRQ\n", priv->txHead, priv->txTail ); -- head_list = priv->txList + priv->txHead; -- if ( ( head_list->cStat & TLAN_CSTAT_READY ) == TLAN_CSTAT_READY ) { -- netif_stop_queue(dev); -- outl( virt_to_bus( head_list ), dev->base_addr + TLAN_CH_PARM ); -- ack |= TLAN_HC_GO; -- } else { -- priv->txInProgress = 0; -- } -+ if ((!err) && stop) { -+ TLan_ClearBit(TLAN_NET_SIO_EDATA, sio); /* STOP, raise data while clock is high */ -+ TLan_SetBit(TLAN_NET_SIO_ECLOK, sio); -+ TLan_SetBit(TLAN_NET_SIO_EDATA, sio); - } - -- return ack; -+ return (err); -+ -+} /* TLan_EeSendByte */ -+ -+ - --} /* TLan_HandleTxEOC */ - - /*************************************************************** -- * TLan_HandleStatusCheck -+ * TLan_EeReceiveByte - * - * Returns: -- * 0 if Adapter check, 1 if Network Status check. -+ * Nothing - * Parms: -- * dev Device assigned the IRQ that was -- * raised. -- * host_int The contents of the HOST_INT -- * port. -- * -- * This function handles Adapter Check/Network Status -- * interrupts generated by the adapter. It checks the -- * vector in the HOST_INT register to determine if it is -- * an Adapter Check interrupt. If so, it resets the -- * adapter. Otherwise it clears the status registers -- * and services the PHY. -+ * io_base The IO port base address for the -+ * TLAN device with the EEPROM to -+ * use. -+ * data An address to a char to hold the -+ * data sent from the EEPROM. -+ * stop If TLAN_EEPROM_STOP is passed, a -+ * stop cycle is sent after the -+ * byte is received, and no ack is -+ * sent. -+ * -+ * This function receives 8 bits of data from the EEPROM -+ * over the serial link. It then sends and ack bit, or no -+ * ack and a stop bit. This function is used to retrieve -+ * data after the address of a byte in the EEPROM has been -+ * sent. - * - **************************************************************/ - --u32 TLan_HandleStatusCheck( struct net_device *dev, u16 host_int ) --{ -- TLanPrivateInfo *priv = dev->priv; -- u32 ack; -- u32 error; -- u8 net_sts; -- u32 phy; -- u16 tlphy_ctl; -- u16 tlphy_sts; -- -- ack = 1; -- if ( host_int & TLAN_HI_IV_MASK ) { -- netif_stop_queue( dev ); -- error = inl( dev->base_addr + TLAN_CH_PARM ); -- printk( "TLAN: %s: Adaptor Error = 0x%x\n", dev->name, error ); -- TLan_ReadAndClearStats( dev, TLAN_RECORD ); -- outl( TLAN_HC_AD_RST, dev->base_addr + TLAN_HOST_CMD ); -- -- queue_task(&priv->tlan_tqueue, &tq_immediate); -- mark_bh(IMMEDIATE_BH); -- -- netif_wake_queue(dev); -- ack = 0; -- } else { -- TLAN_DBG( TLAN_DEBUG_GNRL, "%s: Status Check\n", dev->name ); -- phy = priv->phy[priv->phyNum]; -+void TLan_EeReceiveByte(u16 io_base, u8 * data, int stop) -+{ -+ u8 place; -+ u16 sio; - -- net_sts = TLan_DioRead8( dev->base_addr, TLAN_NET_STS ); -- if ( net_sts ) { -- TLan_DioWrite8( dev->base_addr, TLAN_NET_STS, net_sts ); -- TLAN_DBG( TLAN_DEBUG_GNRL, "%s: Net_Sts = %x\n", dev->name, (unsigned) net_sts ); -- } -- if ( ( net_sts & TLAN_NET_STS_MIRQ ) && ( priv->phyNum == 0 ) ) { -- TLan_MiiReadReg( dev, phy, TLAN_TLPHY_STS, &tlphy_sts ); -- TLan_MiiReadReg( dev, phy, TLAN_TLPHY_CTL, &tlphy_ctl ); -- if ( ! ( tlphy_sts & TLAN_TS_POLOK ) && ! ( tlphy_ctl & TLAN_TC_SWAPOL ) ) { -- tlphy_ctl |= TLAN_TC_SWAPOL; -- TLan_MiiWriteReg( dev, phy, TLAN_TLPHY_CTL, tlphy_ctl); -- } else if ( ( tlphy_sts & TLAN_TS_POLOK ) && ( tlphy_ctl & TLAN_TC_SWAPOL ) ) { -- tlphy_ctl &= ~TLAN_TC_SWAPOL; -- TLan_MiiWriteReg( dev, phy, TLAN_TLPHY_CTL, tlphy_ctl); -- } -+ outw(TLAN_NET_SIO, io_base + TLAN_DIO_ADR); -+ sio = io_base + TLAN_DIO_DATA + TLAN_NET_SIO; -+ *data = 0; - -- if (debug) { -- TLan_PhyPrint( dev ); -- } -- } -+ /* Assume clock is low, tx is enabled; */ -+ TLan_ClearBit(TLAN_NET_SIO_ETXEN, sio); -+ for (place = 0x80; place; place >>= 1) { -+ TLan_SetBit(TLAN_NET_SIO_ECLOK, sio); -+ if (TLan_GetBit(TLAN_NET_SIO_EDATA, sio)) -+ *data |= place; -+ TLan_ClearBit(TLAN_NET_SIO_ECLOK, sio); -+ } -+ -+ TLan_SetBit(TLAN_NET_SIO_ETXEN, sio); -+ if (!stop) { -+ TLan_ClearBit(TLAN_NET_SIO_EDATA, sio); /* Ack = 0 */ -+ TLan_SetBit(TLAN_NET_SIO_ECLOK, sio); -+ TLan_ClearBit(TLAN_NET_SIO_ECLOK, sio); -+ } else { -+ TLan_SetBit(TLAN_NET_SIO_EDATA, sio); /* No ack = 1 (?) */ -+ TLan_SetBit(TLAN_NET_SIO_ECLOK, sio); -+ TLan_ClearBit(TLAN_NET_SIO_ECLOK, sio); -+ TLan_ClearBit(TLAN_NET_SIO_EDATA, sio); /* STOP, raise data while clock is high */ -+ TLan_SetBit(TLAN_NET_SIO_ECLOK, sio); -+ TLan_SetBit(TLAN_NET_SIO_EDATA, sio); - } - -- return ack; -+} /* TLan_EeReceiveByte */ -+ - --} /* TLan_HandleStatusCheck */ - - /*************************************************************** -- * TLan_HandleRxEOC -+ * TLan_EeReadByte - * - * Returns: -- * 1 -+ * No error = 0, else, the stage at which the error -+ * occurred. - * Parms: -- * dev Device assigned the IRQ that was -- * raised. -- * host_int The contents of the HOST_INT -- * port. -- * -- * This driver is structured to determine EOC occurances by -- * reading the CSTAT member of the list structure. Rx EOC -- * interrupts are disabled via the DIO INTDIS register. -- * However, TLAN chips before revision 3.0 didn't have this -- * CSTAT member or a INTDIS register, so if this chip is -- * pre-3.0, process EOC interrupts normally. -+ * io_base The IO port base address for the -+ * TLAN device with the EEPROM to -+ * use. -+ * ee_addr The address of the byte in the -+ * EEPROM whose contents are to be -+ * retrieved. -+ * data An address to a char to hold the -+ * data obtained from the EEPROM. -+ * -+ * This function reads a byte of information from an byte -+ * cell in the EEPROM. - * - **************************************************************/ - --u32 TLan_HandleRxEOC( struct net_device *dev, u16 host_int ) -+int TLan_EeReadByte(u16 io_base, u8 ee_addr, u8 * data) - { -- TLanPrivateInfo *priv = dev->priv; -- TLanList *head_list; -- u32 ack = 1; -+ int err; -+ int ret = 0; - -- if ( priv->tlanRev < 0x30 ) { -- TLAN_DBG( TLAN_DEBUG_RX, "RECEIVE: Handling RX EOC (Head=%d Tail=%d) -- IRQ\n", priv->rxHead, priv->rxTail ); -- head_list = priv->rxList + priv->rxHead; -- outl( virt_to_bus( head_list ), dev->base_addr + TLAN_CH_PARM ); -- ack |= TLAN_HC_GO | TLAN_HC_RT; -- priv->rxEocCount++; -+ -+ TLan_EeSendStart(io_base); -+ err = TLan_EeSendByte(io_base, 0xA0, TLAN_EEPROM_ACK); -+ if (err) { -+ ret = 1; -+ goto fail; -+ } -+ err = TLan_EeSendByte(io_base, ee_addr, TLAN_EEPROM_ACK); -+ if (err) { -+ ret = 2; -+ goto fail; -+ } -+ TLan_EeSendStart(io_base); -+ err = TLan_EeSendByte(io_base, 0xA1, TLAN_EEPROM_ACK); -+ if (err) { -+ ret = 3; -+ goto fail; - } -+ TLan_EeReceiveByte(io_base, data, TLAN_EEPROM_STOP); -+ fail: - -- return ack; -+ return ret; -+ -+} /* TLan_EeReadByte */ - --} /* TLan_HandleRxEOC */ - - /***************************************************************************** - ****************************************************************************** - -- ThunderLAN Driver Timer Function -+ ThunderLAN Driver MII Routines -+ -+ These routines are based on the information in Chap. 2 of the -+ "ThunderLAN Programmer's Guide", pp. 15-24. - - ****************************************************************************** - *****************************************************************************/ - -+ - /*************************************************************** -- * TLan_Timer -+ * TLan_MiiReadReg - * - * Returns: -- * Nothing -+ * 0 if ack received ok -+ * 1 otherwise. -+ * - * Parms: -- * data A value given to add timer when -- * add_timer was called. -+ * dev The device structure containing -+ * The io address and interrupt count -+ * for this device. -+ * phy The address of the PHY to be queried. -+ * reg The register whose contents are to be -+ * retreived. -+ * val A pointer to a variable to store the -+ * retrieved value. - * -- * This function handles timed functionality for the -- * TLAN driver. The two current timer uses are for -- * delaying for autonegotionation and driving the ACT LED. -- * - Autonegotiation requires being allowed about -- * 2 1/2 seconds before attempting to transmit a -- * packet. It would be a very bad thing to hang -- * the kernel this long, so the driver doesn't -- * allow transmission 'til after this time, for -- * certain PHYs. It would be much nicer if all -- * PHYs were interrupt-capable like the internal -- * PHY. -- * - The ACT LED, which shows adapter activity, is -- * driven by the driver, and so must be left on -- * for a short period to power up the LED so it -- * can be seen. This delay can be changed by -- * changing the TLAN_TIMER_ACT_DELAY in tlan.h, -- * if desired. 100 ms produces a slightly -- * sluggish response. -+ * This function uses the TLAN's MII bus to retreive the contents -+ * of a given register on a PHY. It sends the appropriate info -+ * and then reads the 16-bit register value from the MII bus via -+ * the TLAN SIO register. - * - **************************************************************/ - --void TLan_Timer( unsigned long data ) -+int TLan_MiiReadReg(struct nic *nic __unused, u16 phy, u16 reg, u16 * val) - { -- struct net_device *dev = (struct net_device *) data; -- TLanPrivateInfo *priv = dev->priv; -- u32 elapsed; -- unsigned long flags = 0; -- -- priv->timer.function = NULL; -- -- switch ( priv->timerType ) { --#ifdef MONITOR -- case TLAN_TIMER_LINK_BEAT: -- TLan_PhyMonitor( dev ); -- break; --#endif -- case TLAN_TIMER_PHY_PDOWN: -- TLan_PhyPowerDown( dev ); -- break; -- case TLAN_TIMER_PHY_PUP: -- TLan_PhyPowerUp( dev ); -- break; -- case TLAN_TIMER_PHY_RESET: -- TLan_PhyReset( dev ); -- break; -- case TLAN_TIMER_PHY_START_LINK: -- TLan_PhyStartLink( dev ); -- break; -- case TLAN_TIMER_PHY_FINISH_AN: -- TLan_PhyFinishAutoNeg( dev ); -- break; -- case TLAN_TIMER_FINISH_RESET: -- TLan_FinishReset( dev ); -- break; -- case TLAN_TIMER_ACTIVITY: -- spin_lock_irqsave(&priv->lock, flags); -- if ( priv->timer.function == NULL ) { -- elapsed = jiffies - priv->timerSetAt; -- if ( elapsed >= TLAN_TIMER_ACT_DELAY ) { -- TLan_DioWrite8( dev->base_addr, TLAN_LED_REG, TLAN_LED_LINK ); -- } else { -- priv->timer.function = &TLan_Timer; -- priv->timer.expires = priv->timerSetAt + TLAN_TIMER_ACT_DELAY; -- spin_unlock_irqrestore(&priv->lock, flags); -- add_timer( &priv->timer ); -- break; -- } -- } -- spin_unlock_irqrestore(&priv->lock, flags); -- break; -- default: -- break; -+ u8 nack; -+ u16 sio, tmp; -+ u32 i; -+ int err; -+ int minten; -+ -+ err = FALSE; -+ outw(TLAN_NET_SIO, BASE + TLAN_DIO_ADR); -+ sio = BASE + TLAN_DIO_DATA + TLAN_NET_SIO; -+ -+ TLan_MiiSync(BASE); -+ -+ minten = TLan_GetBit(TLAN_NET_SIO_MINTEN, sio); -+ if (minten) -+ TLan_ClearBit(TLAN_NET_SIO_MINTEN, sio); -+ -+ TLan_MiiSendData(BASE, 0x1, 2); /* Start ( 01b ) */ -+ TLan_MiiSendData(BASE, 0x2, 2); /* Read ( 10b ) */ -+ TLan_MiiSendData(BASE, phy, 5); /* Device # */ -+ TLan_MiiSendData(BASE, reg, 5); /* Register # */ -+ -+ -+ TLan_ClearBit(TLAN_NET_SIO_MTXEN, sio); /* Change direction */ -+ -+ TLan_ClearBit(TLAN_NET_SIO_MCLK, sio); /* Clock Idle bit */ -+ TLan_SetBit(TLAN_NET_SIO_MCLK, sio); -+ TLan_ClearBit(TLAN_NET_SIO_MCLK, sio); /* Wait 300ns */ -+ -+ nack = TLan_GetBit(TLAN_NET_SIO_MDATA, sio); /* Check for ACK */ -+ TLan_SetBit(TLAN_NET_SIO_MCLK, sio); /* Finish ACK */ -+ if (nack) { /* No ACK, so fake it */ -+ for (i = 0; i < 16; i++) { -+ TLan_ClearBit(TLAN_NET_SIO_MCLK, sio); -+ TLan_SetBit(TLAN_NET_SIO_MCLK, sio); -+ } -+ tmp = 0xffff; -+ err = TRUE; -+ } else { /* ACK, so read data */ -+ for (tmp = 0, i = 0x8000; i; i >>= 1) { -+ TLan_ClearBit(TLAN_NET_SIO_MCLK, sio); -+ if (TLan_GetBit(TLAN_NET_SIO_MDATA, sio)) -+ tmp |= i; -+ TLan_SetBit(TLAN_NET_SIO_MCLK, sio); -+ } - } - --} /* TLan_Timer */ - --/***************************************************************************** --****************************************************************************** -+ TLan_ClearBit(TLAN_NET_SIO_MCLK, sio); /* Idle cycle */ -+ TLan_SetBit(TLAN_NET_SIO_MCLK, sio); - -- ThunderLAN Driver Adapter Related Routines -+ if (minten) -+ TLan_SetBit(TLAN_NET_SIO_MINTEN, sio); - --****************************************************************************** --*****************************************************************************/ -+ *val = tmp; -+ -+ return err; -+ -+} /* TLan_MiiReadReg */ - - /*************************************************************** -- * TLan_ResetLists -- * -+ * TLan_MiiSendData -+ * - * Returns: - * Nothing - * Parms: -- * dev The device structure with the list -- * stuctures to be reset. -+ * base_port The base IO port of the adapter in -+ * question. -+ * dev The address of the PHY to be queried. -+ * data The value to be placed on the MII bus. -+ * num_bits The number of bits in data that are to -+ * be placed on the MII bus. - * -- * This routine sets the variables associated with managing -- * the TLAN lists to their initial values. -+ * This function sends on sequence of bits on the MII -+ * configuration bus. - * - **************************************************************/ - --void TLan_ResetLists( struct net_device *dev ) -+void TLan_MiiSendData(u16 base_port, u32 data, unsigned num_bits) - { -- TLanPrivateInfo *priv = dev->priv; -- int i; -- TLanList *list; -- struct sk_buff *skb; -- void *t = NULL; -+ u16 sio; -+ u32 i; - -- priv->txHead = 0; -- priv->txTail = 0; -- for ( i = 0; i < TLAN_NUM_TX_LISTS; i++ ) { -- list = priv->txList + i; -- list->cStat = TLAN_CSTAT_UNUSED; -- if ( bbuf ) { -- list->buffer[0].address = virt_to_bus( priv->txBuffer + ( i * TLAN_MAX_FRAME_SIZE ) ); -- } else { -- list->buffer[0].address = 0; -- } -- list->buffer[2].count = 0; -- list->buffer[2].address = 0; -- list->buffer[9].address = 0; -- } -+ if (num_bits == 0) -+ return; -+ -+ outw(TLAN_NET_SIO, base_port + TLAN_DIO_ADR); -+ sio = base_port + TLAN_DIO_DATA + TLAN_NET_SIO; -+ TLan_SetBit(TLAN_NET_SIO_MTXEN, sio); - -- priv->rxHead = 0; -- priv->rxTail = TLAN_NUM_RX_LISTS - 1; -- for ( i = 0; i < TLAN_NUM_RX_LISTS; i++ ) { -- list = priv->rxList + i; -- list->cStat = TLAN_CSTAT_READY; -- list->frameSize = TLAN_MAX_FRAME_SIZE; -- list->buffer[0].count = TLAN_MAX_FRAME_SIZE | TLAN_LAST_BUFFER; -- if ( bbuf ) { -- list->buffer[0].address = virt_to_bus( priv->rxBuffer + ( i * TLAN_MAX_FRAME_SIZE ) ); -- } else { -- skb = dev_alloc_skb( TLAN_MAX_FRAME_SIZE + 7 ); -- if ( skb == NULL ) { -- printk( "TLAN: Couldn't allocate memory for received data.\n" ); -- /* If this ever happened it would be a problem */ -- } else { -- skb->dev = dev; -- skb_reserve( skb, 2 ); -- t = (void *) skb_put( skb, TLAN_MAX_FRAME_SIZE ); -- } -- list->buffer[0].address = virt_to_bus( t ); -- list->buffer[8].address = (u32) t; -- list->buffer[9].address = (u32) skb; -- } -- list->buffer[1].count = 0; -- list->buffer[1].address = 0; -- if ( i < TLAN_NUM_RX_LISTS - 1 ) -- list->forward = virt_to_bus( list + 1 ); -+ for (i = (0x1 << (num_bits - 1)); i; i >>= 1) { -+ TLan_ClearBit(TLAN_NET_SIO_MCLK, sio); -+ (void) TLan_GetBit(TLAN_NET_SIO_MCLK, sio); -+ if (data & i) -+ TLan_SetBit(TLAN_NET_SIO_MDATA, sio); - else -- list->forward = 0; -+ TLan_ClearBit(TLAN_NET_SIO_MDATA, sio); -+ TLan_SetBit(TLAN_NET_SIO_MCLK, sio); -+ (void) TLan_GetBit(TLAN_NET_SIO_MCLK, sio); - } - --} /* TLan_ResetLists */ -+} /* TLan_MiiSendData */ - --void TLan_FreeLists( struct net_device *dev ) --{ -- TLanPrivateInfo *priv = dev->priv; -- int i; -- TLanList *list; -- struct sk_buff *skb; -- -- if ( ! bbuf ) { -- for ( i = 0; i < TLAN_NUM_TX_LISTS; i++ ) { -- list = priv->txList + i; -- skb = (struct sk_buff *) list->buffer[9].address; -- if ( skb ) { -- dev_kfree_skb_any( skb ); -- list->buffer[9].address = 0; -- } -- } - -- for ( i = 0; i < TLAN_NUM_RX_LISTS; i++ ) { -- list = priv->rxList + i; -- skb = (struct sk_buff *) list->buffer[9].address; -- if ( skb ) { -- dev_kfree_skb_any( skb ); -- list->buffer[9].address = 0; -- } -- } -- } - --} /* TLan_FreeLists */ - - /*************************************************************** -- * TLan_PrintDio -- * -+ * TLan_MiiSync -+ * - * Returns: - * Nothing - * Parms: -- * io_base Base IO port of the device of -- * which to print DIO registers. -+ * base_port The base IO port of the adapter in -+ * question. - * -- * This function prints out all the internal (DIO) -- * registers of a TLAN chip. -+ * This functions syncs all PHYs in terms of the MII configuration -+ * bus. - * - **************************************************************/ - --void TLan_PrintDio( u16 io_base ) -+void TLan_MiiSync(u16 base_port) - { -- u32 data0, data1; -- int i; -+ int i; -+ u16 sio; - -- printk( "TLAN: Contents of internal registers for io base 0x%04hx.\n", io_base ); -- printk( "TLAN: Off. +0 +4\n" ); -- for ( i = 0; i < 0x4C; i+= 8 ) { -- data0 = TLan_DioRead32( io_base, i ); -- data1 = TLan_DioRead32( io_base, i + 0x4 ); -- printk( "TLAN: 0x%02x 0x%08x 0x%08x\n", i, data0, data1 ); -+ outw(TLAN_NET_SIO, base_port + TLAN_DIO_ADR); -+ sio = base_port + TLAN_DIO_DATA + TLAN_NET_SIO; -+ -+ TLan_ClearBit(TLAN_NET_SIO_MTXEN, sio); -+ for (i = 0; i < 32; i++) { -+ TLan_ClearBit(TLAN_NET_SIO_MCLK, sio); -+ TLan_SetBit(TLAN_NET_SIO_MCLK, sio); - } - --} /* TLan_PrintDio */ -+} /* TLan_MiiSync */ -+ -+ -+ - - /*************************************************************** -- * TLan_PrintList -- * -+ * TLan_MiiWriteReg -+ * - * Returns: - * Nothing - * Parms: -- * list A pointer to the TLanList structure to -- * be printed. -- * type A string to designate type of list, -- * "Rx" or "Tx". -- * num The index of the list. -+ * dev The device structure for the device -+ * to write to. -+ * phy The address of the PHY to be written to. -+ * reg The register whose contents are to be -+ * written. -+ * val The value to be written to the register. - * -- * This function prints out the contents of the list -- * pointed to by the list parameter. -+ * This function uses the TLAN's MII bus to write the contents of a -+ * given register on a PHY. It sends the appropriate info and then -+ * writes the 16-bit register value from the MII configuration bus -+ * via the TLAN SIO register. - * - **************************************************************/ - --void TLan_PrintList( TLanList *list, char *type, int num) -+void TLan_MiiWriteReg(struct nic *nic __unused, u16 phy, u16 reg, u16 val) - { -- int i; -+ u16 sio; -+ int minten; -+ -+ outw(TLAN_NET_SIO, BASE + TLAN_DIO_ADR); -+ sio = BASE + TLAN_DIO_DATA + TLAN_NET_SIO; -+ -+ TLan_MiiSync(BASE); -+ -+ minten = TLan_GetBit(TLAN_NET_SIO_MINTEN, sio); -+ if (minten) -+ TLan_ClearBit(TLAN_NET_SIO_MINTEN, sio); -+ -+ TLan_MiiSendData(BASE, 0x1, 2); /* Start ( 01b ) */ -+ TLan_MiiSendData(BASE, 0x1, 2); /* Write ( 01b ) */ -+ TLan_MiiSendData(BASE, phy, 5); /* Device # */ -+ TLan_MiiSendData(BASE, reg, 5); /* Register # */ -+ -+ TLan_MiiSendData(BASE, 0x2, 2); /* Send ACK */ -+ TLan_MiiSendData(BASE, val, 16); /* Send Data */ -+ -+ TLan_ClearBit(TLAN_NET_SIO_MCLK, sio); /* Idle cycle */ -+ TLan_SetBit(TLAN_NET_SIO_MCLK, sio); -+ -+ if (minten) -+ TLan_SetBit(TLAN_NET_SIO_MINTEN, sio); - -- printk( "TLAN: %s List %d at 0x%08x\n", type, num, (u32) list ); -- printk( "TLAN: Forward = 0x%08x\n", list->forward ); -- printk( "TLAN: CSTAT = 0x%04hx\n", list->cStat ); -- printk( "TLAN: Frame Size = 0x%04hx\n", list->frameSize ); -- /* for ( i = 0; i < 10; i++ ) { */ -- for ( i = 0; i < 2; i++ ) { -- printk( "TLAN: Buffer[%d].count, addr = 0x%08x, 0x%08x\n", i, list->buffer[i].count, list->buffer[i].address ); -- } - --} /* TLan_PrintList */ -+} /* TLan_MiiWriteReg */ - - /*************************************************************** -- * TLan_ReadAndClearStats -+ * TLan_SetMac - * - * Returns: - * Nothing - * Parms: - * dev Pointer to device structure of adapter -- * to which to read stats. -- * record Flag indicating whether to add -+ * on which to change the AREG. -+ * areg The AREG to set the address in (0 - 3). -+ * mac A pointer to an array of chars. Each -+ * element stores one byte of the address. -+ * IE, it isn't in ascii. - * -- * This functions reads all the internal status registers -- * of the TLAN chip, which clears them as a side effect. -- * It then either adds the values to the device's status -- * struct, or discards them, depending on whether record -- * is TLAN_RECORD (!=0) or TLAN_IGNORE (==0). -+ * This function transfers a MAC address to one of the -+ * TLAN AREGs (address registers). The TLAN chip locks -+ * the register on writing to offset 0 and unlocks the -+ * register after writing to offset 5. If NULL is passed -+ * in mac, then the AREG is filled with 0's. - * - **************************************************************/ - --void TLan_ReadAndClearStats( struct net_device *dev, int record ) -+void TLan_SetMac(struct nic *nic __unused, int areg, char *mac) - { -- TLanPrivateInfo *priv = dev->priv; -- u32 tx_good, tx_under; -- u32 rx_good, rx_over; -- u32 def_tx, crc, code; -- u32 multi_col, single_col; -- u32 excess_col, late_col, loss; -- -- outw( TLAN_GOOD_TX_FRMS, dev->base_addr + TLAN_DIO_ADR ); -- tx_good = inb( dev->base_addr + TLAN_DIO_DATA ); -- tx_good += inb( dev->base_addr + TLAN_DIO_DATA + 1 ) << 8; -- tx_good += inb( dev->base_addr + TLAN_DIO_DATA + 2 ) << 16; -- tx_under = inb( dev->base_addr + TLAN_DIO_DATA + 3 ); -- -- outw( TLAN_GOOD_RX_FRMS, dev->base_addr + TLAN_DIO_ADR ); -- rx_good = inb( dev->base_addr + TLAN_DIO_DATA ); -- rx_good += inb( dev->base_addr + TLAN_DIO_DATA + 1 ) << 8; -- rx_good += inb( dev->base_addr + TLAN_DIO_DATA + 2 ) << 16; -- rx_over = inb( dev->base_addr + TLAN_DIO_DATA + 3 ); -- -- outw( TLAN_DEFERRED_TX, dev->base_addr + TLAN_DIO_ADR ); -- def_tx = inb( dev->base_addr + TLAN_DIO_DATA ); -- def_tx += inb( dev->base_addr + TLAN_DIO_DATA + 1 ) << 8; -- crc = inb( dev->base_addr + TLAN_DIO_DATA + 2 ); -- code = inb( dev->base_addr + TLAN_DIO_DATA + 3 ); -- -- outw( TLAN_MULTICOL_FRMS, dev->base_addr + TLAN_DIO_ADR ); -- multi_col = inb( dev->base_addr + TLAN_DIO_DATA ); -- multi_col += inb( dev->base_addr + TLAN_DIO_DATA + 1 ) << 8; -- single_col = inb( dev->base_addr + TLAN_DIO_DATA + 2 ); -- single_col += inb( dev->base_addr + TLAN_DIO_DATA + 3 ) << 8; -- -- outw( TLAN_EXCESSCOL_FRMS, dev->base_addr + TLAN_DIO_ADR ); -- excess_col = inb( dev->base_addr + TLAN_DIO_DATA ); -- late_col = inb( dev->base_addr + TLAN_DIO_DATA + 1 ); -- loss = inb( dev->base_addr + TLAN_DIO_DATA + 2 ); -- -- if ( record ) { -- priv->stats.rx_packets += rx_good; -- priv->stats.rx_errors += rx_over + crc + code; -- priv->stats.tx_packets += tx_good; -- priv->stats.tx_errors += tx_under + loss; -- priv->stats.collisions += multi_col + single_col + excess_col + late_col; -- -- priv->stats.rx_over_errors += rx_over; -- priv->stats.rx_crc_errors += crc; -- priv->stats.rx_frame_errors += code; -+ int i; - -- priv->stats.tx_aborted_errors += tx_under; -- priv->stats.tx_carrier_errors += loss; -+ areg *= 6; -+ -+ if (mac != NULL) { -+ for (i = 0; i < 6; i++) -+ TLan_DioWrite8(BASE, TLAN_AREG_0 + areg + i, -+ mac[i]); -+ } else { -+ for (i = 0; i < 6; i++) -+ TLan_DioWrite8(BASE, TLAN_AREG_0 + areg + i, 0); - } -- --} /* TLan_ReadAndClearStats */ - -- /*************************************************************** -- * TLan_Reset -+} /* TLan_SetMac */ -+ -+ /********************************************************************* -+ * TLan_PhyDetect - * - * Returns: -- * 0 -+ * Nothing - * Parms: -- * dev Pointer to device structure of adapter -- * to be reset. -+ * dev A pointer to the device structure of the adapter -+ * for which the PHY needs determined. - * -- * This function resets the adapter and it's physical -- * device. See Chap. 3, pp. 9-10 of the "ThunderLAN -- * Programmer's Guide" for details. The routine tries to -- * implement what is detailed there, though adjustments -- * have been made. -+ * So far I've found that adapters which have external PHYs -+ * may also use the internal PHY for part of the functionality. -+ * (eg, AUI/Thinnet). This function finds out if this TLAN -+ * chip has an internal PHY, and then finds the first external -+ * PHY (starting from address 0) if it exists). - * -- **************************************************************/ -+ ********************************************************************/ - --void --TLan_ResetAdapter( struct net_device *dev ) -+void TLan_PhyDetect(struct nic *nic) - { -- TLanPrivateInfo *priv = dev->priv; -- int i; -- u32 addr; -- u32 data; -- u8 data8; -+ u16 control; -+ u16 hi; -+ u16 lo; -+ u32 phy; - -- priv->tlanFullDuplex = FALSE; -- priv->phyOnline=0; --/* 1. Assert reset bit. */ -+ if (tlan_pci_tbl[chip_idx].flags & TLAN_ADAPTER_UNMANAGED_PHY) { -+ priv->phyNum = 0xFFFF; -+ return; -+ } - -- data = inl(dev->base_addr + TLAN_HOST_CMD); -- data |= TLAN_HC_AD_RST; -- outl(data, dev->base_addr + TLAN_HOST_CMD); -- -- udelay(1000); -+ TLan_MiiReadReg(nic, TLAN_PHY_MAX_ADDR, MII_GEN_ID_HI, &hi); - --/* 2. Turn off interrupts. ( Probably isn't necessary ) */ -+ if (hi != 0xFFFF) { -+ priv->phy[0] = TLAN_PHY_MAX_ADDR; -+ } else { -+ priv->phy[0] = TLAN_PHY_NONE; -+ } - -- data = inl(dev->base_addr + TLAN_HOST_CMD); -- data |= TLAN_HC_INT_OFF; -- outl(data, dev->base_addr + TLAN_HOST_CMD); -+ priv->phy[1] = TLAN_PHY_NONE; -+ for (phy = 0; phy <= TLAN_PHY_MAX_ADDR; phy++) { -+ TLan_MiiReadReg(nic, phy, MII_GEN_CTL, &control); -+ TLan_MiiReadReg(nic, phy, MII_GEN_ID_HI, &hi); -+ TLan_MiiReadReg(nic, phy, MII_GEN_ID_LO, &lo); -+ if ((control != 0xFFFF) || (hi != 0xFFFF) -+ || (lo != 0xFFFF)) { -+ printf("PHY found at %hX %hX %hX %hX\n", phy, -+ control, hi, lo); -+ if ((priv->phy[1] == TLAN_PHY_NONE) -+ && (phy != TLAN_PHY_MAX_ADDR)) { -+ priv->phy[1] = phy; -+ } -+ } -+ } - --/* 3. Clear AREGs and HASHs. */ -+ if (priv->phy[1] != TLAN_PHY_NONE) { -+ priv->phyNum = 1; -+ } else if (priv->phy[0] != TLAN_PHY_NONE) { -+ priv->phyNum = 0; -+ } else { -+ printf -+ ("TLAN: Cannot initialize device, no PHY was found!\n"); -+ } -+ -+} /* TLan_PhyDetect */ - -- for ( i = TLAN_AREG_0; i <= TLAN_HASH_2; i += 4 ) { -- TLan_DioWrite32( dev->base_addr, (u16) i, 0 ); -+void TLan_PhyPowerDown(struct nic *nic) -+{ -+ -+ u16 value; -+ printf("%s: Powering down PHY(s).\n", priv->nic_name); -+ value = MII_GC_PDOWN | MII_GC_LOOPBK | MII_GC_ISOLATE; -+ TLan_MiiSync(BASE); -+ TLan_MiiWriteReg(nic, priv->phy[priv->phyNum], MII_GEN_CTL, value); -+ if ((priv->phyNum == 0) && (priv->phy[1] != TLAN_PHY_NONE) -+ && -+ (!(tlan_pci_tbl[chip_idx]. -+ flags & TLAN_ADAPTER_USE_INTERN_10))) { -+ TLan_MiiSync(BASE); -+ TLan_MiiWriteReg(nic, priv->phy[1], MII_GEN_CTL, value); - } - --/* 4. Setup NetConfig register. */ -+ /* Wait for 50 ms and powerup -+ * This is abitrary. It is intended to make sure the -+ * tranceiver settles. -+ */ -+ /* TLan_SetTimer( dev, (HZ/20), TLAN_TIMER_PHY_PUP ); */ -+ mdelay(50); -+ TLan_PhyPowerUp(nic); - -- data = TLAN_NET_CFG_1FRAG | TLAN_NET_CFG_1CHAN | TLAN_NET_CFG_PHY_EN; -- TLan_DioWrite16( dev->base_addr, TLAN_NET_CONFIG, (u16) data ); -+} /* TLan_PhyPowerDown */ - --/* 5. Load Ld_Tmr and Ld_Thr in HOST_CMD. */ - -- outl( TLAN_HC_LD_TMR | 0x3f, dev->base_addr + TLAN_HOST_CMD ); -- outl( TLAN_HC_LD_THR | 0x9, dev->base_addr + TLAN_HOST_CMD ); -+void TLan_PhyPowerUp(struct nic *nic) -+{ -+ u16 value; - --/* 6. Unreset the MII by setting NMRST (in NetSio) to 1. */ -+ printf("%s: Powering up PHY.\n", priv->nic_name); -+ TLan_MiiSync(BASE); -+ value = MII_GC_LOOPBK; -+ TLan_MiiWriteReg(nic, priv->phy[priv->phyNum], MII_GEN_CTL, value); -+ TLan_MiiSync(BASE); -+ /* Wait for 500 ms and reset the -+ * tranceiver. The TLAN docs say both 50 ms and -+ * 500 ms, so do the longer, just in case. -+ */ -+ mdelay(500); -+ TLan_PhyReset(nic); -+ /* TLan_SetTimer( dev, (HZ/20), TLAN_TIMER_PHY_RESET ); */ - -- outw( TLAN_NET_SIO, dev->base_addr + TLAN_DIO_ADR ); -- addr = dev->base_addr + TLAN_DIO_DATA + TLAN_NET_SIO; -- TLan_SetBit( TLAN_NET_SIO_NMRST, addr ); -+} /* TLan_PhyPowerUp */ - --/* 7. Setup the remaining registers. */ -+void TLan_PhyReset(struct nic *nic) -+{ -+ u16 phy; -+ u16 value; - -- if ( priv->tlanRev >= 0x30 ) { -- data8 = TLAN_ID_TX_EOC | TLAN_ID_RX_EOC; -- TLan_DioWrite8( dev->base_addr, TLAN_INT_DIS, data8 ); -+ phy = priv->phy[priv->phyNum]; -+ -+ printf("%s: Reseting PHY.\n", priv->nic_name); -+ TLan_MiiSync(BASE); -+ value = MII_GC_LOOPBK | MII_GC_RESET; -+ TLan_MiiWriteReg(nic, phy, MII_GEN_CTL, value); -+ TLan_MiiReadReg(nic, phy, MII_GEN_CTL, &value); -+ while (value & MII_GC_RESET) { -+ TLan_MiiReadReg(nic, phy, MII_GEN_CTL, &value); - } -- TLan_PhyDetect( dev ); -- data = TLAN_NET_CFG_1FRAG | TLAN_NET_CFG_1CHAN; -- -- if ( priv->adapter->flags & TLAN_ADAPTER_BIT_RATE_PHY ) { -- data |= TLAN_NET_CFG_BIT; -- if ( priv->aui == 1 ) { -- TLan_DioWrite8( dev->base_addr, TLAN_ACOMMIT, 0x0a ); -- } else if ( priv->duplex == TLAN_DUPLEX_FULL ) { -- TLan_DioWrite8( dev->base_addr, TLAN_ACOMMIT, 0x00 ); -+ -+ /* Wait for 500 ms and initialize. -+ * I don't remember why I wait this long. -+ * I've changed this to 50ms, as it seems long enough. -+ */ -+ /* TLan_SetTimer( dev, (HZ/20), TLAN_TIMER_PHY_START_LINK ); */ -+ mdelay(50); -+ TLan_PhyStartLink(nic); -+ -+} /* TLan_PhyReset */ -+ -+ -+void TLan_PhyStartLink(struct nic *nic) -+{ -+ -+ u16 ability; -+ u16 control; -+ u16 data; -+ u16 phy; -+ u16 status; -+ u16 tctl; -+ -+ phy = priv->phy[priv->phyNum]; -+ printf("%s: Trying to activate link.\n", priv->nic_name); -+ TLan_MiiReadReg(nic, phy, MII_GEN_STS, &status); -+ TLan_MiiReadReg(nic, phy, MII_GEN_STS, &ability); -+ -+ if ((status & MII_GS_AUTONEG) && (!priv->aui)) { -+ ability = status >> 11; -+ if (priv->speed == TLAN_SPEED_10 && -+ priv->duplex == TLAN_DUPLEX_HALF) { -+ TLan_MiiWriteReg(nic, phy, MII_GEN_CTL, 0x0000); -+ } else if (priv->speed == TLAN_SPEED_10 && -+ priv->duplex == TLAN_DUPLEX_FULL) { -+ priv->tlanFullDuplex = TRUE; -+ TLan_MiiWriteReg(nic, phy, MII_GEN_CTL, 0x0100); -+ } else if (priv->speed == TLAN_SPEED_100 && -+ priv->duplex == TLAN_DUPLEX_HALF) { -+ TLan_MiiWriteReg(nic, phy, MII_GEN_CTL, 0x2000); -+ } else if (priv->speed == TLAN_SPEED_100 && -+ priv->duplex == TLAN_DUPLEX_FULL) { - priv->tlanFullDuplex = TRUE; -+ TLan_MiiWriteReg(nic, phy, MII_GEN_CTL, 0x2100); - } else { -- TLan_DioWrite8( dev->base_addr, TLAN_ACOMMIT, 0x08 ); -+ -+ /* Set Auto-Neg advertisement */ -+ TLan_MiiWriteReg(nic, phy, MII_AN_ADV, -+ (ability << 5) | 1); -+ /* Enablee Auto-Neg */ -+ TLan_MiiWriteReg(nic, phy, MII_GEN_CTL, 0x1000); -+ /* Restart Auto-Neg */ -+ TLan_MiiWriteReg(nic, phy, MII_GEN_CTL, 0x1200); -+ /* Wait for 4 sec for autonegotiation -+ * to complete. The max spec time is less than this -+ * but the card need additional time to start AN. -+ * .5 sec should be plenty extra. -+ */ -+ printf("TLAN: %s: Starting autonegotiation.\n", -+ priv->nic_name); -+ mdelay(4000); -+ TLan_PhyFinishAutoNeg(nic); -+ /* TLan_SetTimer( dev, (2*HZ), TLAN_TIMER_PHY_FINISH_AN ); */ -+ return; - } -- } - -- if ( priv->phyNum == 0 ) { -- data |= TLAN_NET_CFG_PHY_EN; - } -- TLan_DioWrite16( dev->base_addr, TLAN_NET_CONFIG, (u16) data ); - -- if ( priv->adapter->flags & TLAN_ADAPTER_UNMANAGED_PHY ) { -- TLan_FinishReset( dev ); -- } else { -- TLan_PhyPowerDown( dev ); -+ if ((priv->aui) && (priv->phyNum != 0)) { -+ priv->phyNum = 0; -+ data = -+ TLAN_NET_CFG_1FRAG | TLAN_NET_CFG_1CHAN | -+ TLAN_NET_CFG_PHY_EN; -+ TLan_DioWrite16(BASE, TLAN_NET_CONFIG, data); -+ mdelay(50); -+ /* TLan_SetTimer( dev, (40*HZ/1000), TLAN_TIMER_PHY_PDOWN ); */ -+ TLan_PhyPowerDown(nic); -+ return; -+ } else if (priv->phyNum == 0) { -+ control = 0; -+ TLan_MiiReadReg(nic, phy, TLAN_TLPHY_CTL, &tctl); -+ if (priv->aui) { -+ tctl |= TLAN_TC_AUISEL; -+ } else { -+ tctl &= ~TLAN_TC_AUISEL; -+ if (priv->duplex == TLAN_DUPLEX_FULL) { -+ control |= MII_GC_DUPLEX; -+ priv->tlanFullDuplex = TRUE; -+ } -+ if (priv->speed == TLAN_SPEED_100) { -+ control |= MII_GC_SPEEDSEL; -+ } -+ } -+ TLan_MiiWriteReg(nic, phy, MII_GEN_CTL, control); -+ TLan_MiiWriteReg(nic, phy, TLAN_TLPHY_CTL, tctl); - } - --} /* TLan_ResetAdapter */ -+ /* Wait for 2 sec to give the tranceiver time -+ * to establish link. -+ */ -+ /* TLan_SetTimer( dev, (4*HZ), TLAN_TIMER_FINISH_RESET ); */ -+ mdelay(2000); -+ TLan_FinishReset(nic); -+ -+} /* TLan_PhyStartLink */ - --void --TLan_FinishReset( struct net_device *dev ) -+void TLan_PhyFinishAutoNeg(struct nic *nic) - { -- TLanPrivateInfo *priv = dev->priv; -- u8 data; -- u32 phy; -- u8 sio; -- u16 status; -- u16 partner; -- u16 tlphy_ctl; -- u16 tlphy_par; -- u16 tlphy_id1, tlphy_id2; -- int i; -+ -+ u16 an_adv; -+ u16 an_lpa; -+ u16 data; -+ u16 mode; -+ u16 phy; -+ u16 status; - - phy = priv->phy[priv->phyNum]; - -- data = TLAN_NET_CMD_NRESET | TLAN_NET_CMD_NWRAP; -- if ( priv->tlanFullDuplex ) { -- data |= TLAN_NET_CMD_DUPLEX; -+ TLan_MiiReadReg(nic, phy, MII_GEN_STS, &status); -+ udelay(1000); -+ TLan_MiiReadReg(nic, phy, MII_GEN_STS, &status); -+ -+ if (!(status & MII_GS_AUTOCMPLT)) { -+ /* Wait for 8 sec to give the process -+ * more time. Perhaps we should fail after a while. -+ */ -+ if (!priv->neg_be_verbose++) { -+ printf -+ ("TLAN: Giving autonegotiation more time.\n"); -+ printf -+ ("TLAN: Please check that your adapter has\n"); -+ printf -+ ("TLAN: been properly connected to a HUB or Switch.\n"); -+ printf -+ ("TLAN: Trying to establish link in the background...\n"); -+ } -+ mdelay(8000); -+ TLan_PhyFinishAutoNeg(nic); -+ /* TLan_SetTimer( dev, (8*HZ), TLAN_TIMER_PHY_FINISH_AN ); */ -+ return; - } -- TLan_DioWrite8( dev->base_addr, TLAN_NET_CMD, data ); -- data = TLAN_NET_MASK_MASK4 | TLAN_NET_MASK_MASK5; -- if ( priv->phyNum == 0 ) { -- data |= TLAN_NET_MASK_MASK7; -- } -- TLan_DioWrite8( dev->base_addr, TLAN_NET_MASK, data ); -- TLan_DioWrite16( dev->base_addr, TLAN_MAX_RX, ((1536)+7)&~7 ); -- TLan_MiiReadReg( dev, phy, MII_GEN_ID_HI, &tlphy_id1 ); -- TLan_MiiReadReg( dev, phy, MII_GEN_ID_LO, &tlphy_id2 ); -- -- if ( ( priv->adapter->flags & TLAN_ADAPTER_UNMANAGED_PHY ) || ( priv->aui ) ) { -- status = MII_GS_LINK; -- printk( "TLAN: %s: Link forced.\n", dev->name ); -- } else { -- TLan_MiiReadReg( dev, phy, MII_GEN_STS, &status ); -- udelay( 1000 ); -- TLan_MiiReadReg( dev, phy, MII_GEN_STS, &status ); -- if ( (status & MII_GS_LINK) && /* We only support link info on Nat.Sem. PHY's */ -- (tlphy_id1 == NAT_SEM_ID1) && -- (tlphy_id2 == NAT_SEM_ID2) ) { -- TLan_MiiReadReg( dev, phy, MII_AN_LPA, &partner ); -- TLan_MiiReadReg( dev, phy, TLAN_TLPHY_PAR, &tlphy_par ); -- -- printk( "TLAN: %s: Link active with ", dev->name ); -- if (!(tlphy_par & TLAN_PHY_AN_EN_STAT)) { -- printk( "forced 10%sMbps %s-Duplex\n", -- tlphy_par & TLAN_PHY_SPEED_100 ? "" : "0", -- tlphy_par & TLAN_PHY_DUPLEX_FULL ? "Full" : "Half"); -- } else { -- printk( "AutoNegotiation enabled, at 10%sMbps %s-Duplex\n", -- tlphy_par & TLAN_PHY_SPEED_100 ? "" : "0", -- tlphy_par & TLAN_PHY_DUPLEX_FULL ? "Full" : "Half"); -- printk("TLAN: Partner capability: "); -- for (i = 5; i <= 10; i++) -- if (partner & (1<base_addr, TLAN_LED_REG, TLAN_LED_LINK ); --#ifdef MONITOR -- /* We have link beat..for now anyway */ -- priv->link = 1; -- /*Enabling link beat monitoring */ -- TLan_SetTimer( dev, (10*HZ), TLAN_TIMER_LINK_BEAT ); --#endif -- } else if (status & MII_GS_LINK) { -- printk( "TLAN: %s: Link active\n", dev->name ); -- TLan_DioWrite8( dev->base_addr, TLAN_LED_REG, TLAN_LED_LINK ); -- } -+ printf("TLAN: %s: Autonegotiation complete.\n", priv->nic_name); -+ TLan_MiiReadReg(nic, phy, MII_AN_ADV, &an_adv); -+ TLan_MiiReadReg(nic, phy, MII_AN_LPA, &an_lpa); -+ mode = an_adv & an_lpa & 0x03E0; -+ if (mode & 0x0100) { -+ printf("Full Duplex\n"); -+ priv->tlanFullDuplex = TRUE; -+ } else if (!(mode & 0x0080) && (mode & 0x0040)) { -+ priv->tlanFullDuplex = TRUE; -+ printf("Full Duplex\n"); - } - -- if ( priv->phyNum == 0 ) { -- TLan_MiiReadReg( dev, phy, TLAN_TLPHY_CTL, &tlphy_ctl ); -- tlphy_ctl |= TLAN_TC_INTEN; -- TLan_MiiWriteReg( dev, phy, TLAN_TLPHY_CTL, tlphy_ctl ); -- sio = TLan_DioRead8( dev->base_addr, TLAN_NET_SIO ); -- sio |= TLAN_NET_SIO_MINTEN; -- TLan_DioWrite8( dev->base_addr, TLAN_NET_SIO, sio ); -+ if ((!(mode & 0x0180)) -+ && (tlan_pci_tbl[chip_idx].flags & TLAN_ADAPTER_USE_INTERN_10) -+ && (priv->phyNum != 0)) { -+ priv->phyNum = 0; -+ data = -+ TLAN_NET_CFG_1FRAG | TLAN_NET_CFG_1CHAN | -+ TLAN_NET_CFG_PHY_EN; -+ TLan_DioWrite16(BASE, TLAN_NET_CONFIG, data); -+ /* TLan_SetTimer( nic, (400*HZ/1000), TLAN_TIMER_PHY_PDOWN ); */ -+ mdelay(400); -+ TLan_PhyPowerDown(nic); -+ return; - } - -- if ( status & MII_GS_LINK ) { -- TLan_SetMac( dev, 0, dev->dev_addr ); -- priv->phyOnline = 1; -- outb( ( TLAN_HC_INT_ON >> 8 ), dev->base_addr + TLAN_HOST_CMD + 1 ); -- if ( debug >= 1 && debug != TLAN_DEBUG_PROBE ) { -- outb( ( TLAN_HC_REQ_INT >> 8 ), dev->base_addr + TLAN_HOST_CMD + 1 ); -+ if (priv->phyNum == 0) { -+ if ((priv->duplex == TLAN_DUPLEX_FULL) -+ || (an_adv & an_lpa & 0x0040)) { -+ TLan_MiiWriteReg(nic, phy, MII_GEN_CTL, -+ MII_GC_AUTOENB | MII_GC_DUPLEX); -+ printf -+ ("TLAN: Starting internal PHY with FULL-DUPLEX\n"); -+ } else { -+ TLan_MiiWriteReg(nic, phy, MII_GEN_CTL, -+ MII_GC_AUTOENB); -+ printf -+ ("TLAN: Starting internal PHY with HALF-DUPLEX\n"); - } -- outl( virt_to_bus( priv->rxList ), dev->base_addr + TLAN_CH_PARM ); -- outl( TLAN_HC_GO | TLAN_HC_RT, dev->base_addr + TLAN_HOST_CMD ); -- } else { -- printk( "TLAN: %s: Link inactive, will retry in 10 secs...\n", dev->name ); -- TLan_SetTimer( dev, (10*HZ), TLAN_TIMER_FINISH_RESET ); -- return; - } - --} /* TLan_FinishReset */ -+ /* Wait for 100 ms. No reason in partiticular. -+ */ -+ /* TLan_SetTimer( dev, (HZ/10), TLAN_TIMER_FINISH_RESET ); */ -+ mdelay(100); -+ TLan_FinishReset(nic); - -- /*************************************************************** -- * TLan_SetMac -- * -- * Returns: -- * Nothing -- * Parms: -- * dev Pointer to device structure of adapter -- * on which to change the AREG. -- * areg The AREG to set the address in (0 - 3). -- * mac A pointer to an array of chars. Each -- * element stores one byte of the address. -- * IE, it isn't in ascii. -- * -- * This function transfers a MAC address to one of the -- * TLAN AREGs (address registers). The TLAN chip locks -- * the register on writing to offset 0 and unlocks the -- * register after writing to offset 5. If NULL is passed -- * in mac, then the AREG is filled with 0's. -- * -- **************************************************************/ -+} /* TLan_PhyFinishAutoNeg */ -+ -+#ifdef MONITOR -+ -+ /********************************************************************* -+ * -+ * TLan_phyMonitor -+ * -+ * Returns: -+ * None -+ * -+ * Params: -+ * dev The device structure of this device. -+ * -+ * -+ * This function monitors PHY condition by reading the status -+ * register via the MII bus. This can be used to give info -+ * about link changes (up/down), and possible switch to alternate -+ * media. -+ * -+ * ******************************************************************/ - --void TLan_SetMac( struct net_device *dev, int areg, char *mac ) -+void TLan_PhyMonitor(struct net_device *dev) - { -- int i; -- -- areg *= 6; -+ TLanPrivateInfo *priv = dev->priv; -+ u16 phy; -+ u16 phy_status; - -- if ( mac != NULL ) { -- for ( i = 0; i < 6; i++ ) -- TLan_DioWrite8( dev->base_addr, TLAN_AREG_0 + areg + i, mac[i] ); -- } else { -- for ( i = 0; i < 6; i++ ) -- TLan_DioWrite8( dev->base_addr, TLAN_AREG_0 + areg + i, 0 ); -+ phy = priv->phy[priv->phyNum]; -+ -+ /* Get PHY status register */ -+ TLan_MiiReadReg(nic, phy, MII_GEN_STS, &phy_status); -+ -+ /* Check if link has been lost */ -+ if (!(phy_status & MII_GS_LINK)) { -+ if (priv->link) { -+ priv->link = 0; -+ printf("TLAN: %s has lost link\n", priv->nic_name); -+ priv->flags &= ~IFF_RUNNING; -+ mdelay(2000); -+ TLan_PhyMonitor(nic); -+ /* TLan_SetTimer( dev, (2*HZ), TLAN_TIMER_LINK_BEAT ); */ -+ return; -+ } - } - --} /* TLan_SetMac */ -+ /* Link restablished? */ -+ if ((phy_status & MII_GS_LINK) && !priv->link) { -+ priv->link = 1; -+ printf("TLAN: %s has reestablished link\n", -+ priv->nic_name); -+ priv->flags |= IFF_RUNNING; -+ } -+ -+ /* Setup a new monitor */ -+ /* TLan_SetTimer( dev, (2*HZ), TLAN_TIMER_LINK_BEAT ); */ -+ mdelay(2000); -+ TLan_PhyMonitor(nic); -+} - -+#endif /* MONITOR */ -+ -+#ifdef EB51 -+static struct pci_id tlan_nics[] = { -+ PCI_ROM(0x0e11, 0xae34, "netel10", "Compaq Netelligent 10 T PCI UTP"), -+ PCI_ROM(0x0e11, 0xae32, "netel100","Compaq Netelligent 10/100 TX PCI UTP"), -+ PCI_ROM(0x0e11, 0xae35, "netflex3i", "Compaq Integrated NetFlex-3/P"), -+ PCI_ROM(0x0e11, 0xf130, "thunder", "Compaq NetFlex-3/P"), -+ PCI_ROM(0x0e11, 0xf150, "netflex3b", "Compaq NetFlex-3/P"), -+ PCI_ROM(0x0e11, 0xae43, "netel100pi", "Compaq Netelligent Integrated 10/100 TX UTP"), -+ PCI_ROM(0x0e11, 0xae40, "netel100d", "Compaq Netelligent Dual 10/100 TX PCI UTP"), -+ PCI_ROM(0x0e11, 0xb011, "netel100i", "Compaq Netelligent 10/100 TX Embedded UTP"), -+ PCI_ROM(0x108d, 0x0013, "oc2183", "Olicom OC-2183/2185"), -+ PCI_ROM(0x108d, 0x0012, "oc2325", "Olicom OC-2325"), -+ PCI_ROM(0x108d, 0x0014, "oc2326", "Olicom OC-2326"), -+ PCI_ROM(0x0e11, 0xb030, "netelligent_10_100_ws_5100", "Compaq Netelligent 10/100 TX UTP"), -+ PCI_ROM(0x0e11, 0xb012, "netelligent_10_t2", "Compaq Netelligent 10 T/2 PCI UTP/Coax"), -+}; -+ -+struct pci_driver tlan_driver = { -+ .type = NIC_DRIVER, -+ .name = "TLAN/PCI", -+ .probe = tlan_probe, -+ .ids = tlan_nics, -+ .id_count = sizeof(tlan_nics) / sizeof(tlan_nics[0]), -+ .class = 0, -+}; - #endif -Index: b/netboot/tlan.h -=================================================================== ---- /dev/null -+++ b/netboot/tlan.h -@@ -0,0 +1,536 @@ -+/************************************************************************** -+* -+* tlan.c -- Etherboot device driver for the Texas Instruments ThunderLAN -+* Written 2003-2003 by Timothy Legge -+* -+* 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., 675 Mass Ave, Cambridge, MA 02139, USA. -+* -+* Portions of this code (almost all) based on: -+* tlan.c: Linux ThunderLan Driver: -+* -+* by James Banks -+* -+* (C) 1997-1998 Caldera, Inc. -+* (C) 1998 James Banks -+* (C) 1999-2001 Torben Mathiasen -+* (C) 2002 Samuel Chessman -+* -+* REVISION HISTORY: -+* ================ -+* v1.0 07-08-2003 timlegge Initial not quite working version -+* -+* Indent Style: indent -kr -i8 -+***************************************************************************/ -+ -+/* -+#include -+#include -+#include -+*/ -+ -+typedef unsigned char u8; -+typedef signed char s8; -+typedef unsigned short u16; -+typedef signed short s16; -+typedef unsigned int u32; -+typedef signed int s32; -+ /***************************************************************** -+ * TLan Definitions -+ * -+ ****************************************************************/ -+ -+#define FALSE 0 -+#define TRUE 1 -+ -+#define TLAN_MIN_FRAME_SIZE 64 -+#define TLAN_MAX_FRAME_SIZE 1600 -+ -+#define TLAN_NUM_RX_LISTS 4 -+#define TLAN_NUM_TX_LISTS 2 -+ -+#define TLAN_IGNORE 0 -+#define TLAN_RECORD 1 -+/* -+#define TLAN_DBG(lvl, format, args...) if (debug&lvl) printf("TLAN: " format, ##args ); -+*/ -+#define TLAN_DEBUG_GNRL 0x0001 -+#define TLAN_DEBUG_TX 0x0002 -+#define TLAN_DEBUG_RX 0x0004 -+#define TLAN_DEBUG_LIST 0x0008 -+#define TLAN_DEBUG_PROBE 0x0010 -+ -+#define TX_TIMEOUT (10*HZ) /* We need time for auto-neg */ -+#define MAX_TLAN_BOARDS 8 /* Max number of boards installed at a time */ -+ -+ -+ /***************************************************************** -+ * Device Identification Definitions -+ * -+ ****************************************************************/ -+ -+#define PCI_DEVICE_ID_NETELLIGENT_10_T2 0xB012 -+#define PCI_DEVICE_ID_NETELLIGENT_10_100_WS_5100 0xB030 -+#ifndef PCI_DEVICE_ID_OLICOM_OC2183 -+#define PCI_DEVICE_ID_OLICOM_OC2183 0x0013 -+#endif -+#ifndef PCI_DEVICE_ID_OLICOM_OC2325 -+#define PCI_DEVICE_ID_OLICOM_OC2325 0x0012 -+#endif -+#ifndef PCI_DEVICE_ID_OLICOM_OC2326 -+#define PCI_DEVICE_ID_OLICOM_OC2326 0x0014 -+#endif -+ -+typedef struct tlan_adapter_entry { -+ u16 vendorId; -+ u16 deviceId; -+ char *deviceLabel; -+ u32 flags; -+ u16 addrOfs; -+} TLanAdapterEntry; -+ -+#define TLAN_ADAPTER_NONE 0x00000000 -+#define TLAN_ADAPTER_UNMANAGED_PHY 0x00000001 -+#define TLAN_ADAPTER_BIT_RATE_PHY 0x00000002 -+#define TLAN_ADAPTER_USE_INTERN_10 0x00000004 -+#define TLAN_ADAPTER_ACTIVITY_LED 0x00000008 -+ -+#define TLAN_SPEED_DEFAULT 0 -+#define TLAN_SPEED_10 10 -+#define TLAN_SPEED_100 100 -+ -+#define TLAN_DUPLEX_DEFAULT 0 -+#define TLAN_DUPLEX_HALF 1 -+#define TLAN_DUPLEX_FULL 2 -+ -+ -+ -+ /***************************************************************** -+ * EISA Definitions -+ * -+ ****************************************************************/ -+ -+#define EISA_ID 0xc80 /* EISA ID Registers */ -+#define EISA_ID0 0xc80 /* EISA ID Register 0 */ -+#define EISA_ID1 0xc81 /* EISA ID Register 1 */ -+#define EISA_ID2 0xc82 /* EISA ID Register 2 */ -+#define EISA_ID3 0xc83 /* EISA ID Register 3 */ -+#define EISA_CR 0xc84 /* EISA Control Register */ -+#define EISA_REG0 0xc88 /* EISA Configuration Register 0 */ -+#define EISA_REG1 0xc89 /* EISA Configuration Register 1 */ -+#define EISA_REG2 0xc8a /* EISA Configuration Register 2 */ -+#define EISA_REG3 0xc8f /* EISA Configuration Register 3 */ -+#define EISA_APROM 0xc90 /* Ethernet Address PROM */ -+ -+ -+ -+ /***************************************************************** -+ * Rx/Tx List Definitions -+ * -+ ****************************************************************/ -+ -+#define TLAN_BUFFERS_PER_LIST 10 -+#define TLAN_LAST_BUFFER 0x80000000 -+#define TLAN_CSTAT_UNUSED 0x8000 -+#define TLAN_CSTAT_FRM_CMP 0x4000 -+#define TLAN_CSTAT_READY 0x3000 -+#define TLAN_CSTAT_EOC 0x0800 -+#define TLAN_CSTAT_RX_ERROR 0x0400 -+#define TLAN_CSTAT_PASS_CRC 0x0200 -+#define TLAN_CSTAT_DP_PR 0x0100 -+ -+ -+ -+ -+ -+ -+ /***************************************************************** -+ * PHY definitions -+ * -+ ****************************************************************/ -+ -+#define TLAN_PHY_MAX_ADDR 0x1F -+#define TLAN_PHY_NONE 0x20 -+ -+ -+ -+ /***************************************************************** -+ * TLan Driver Timer Definitions -+ * -+ ****************************************************************/ -+ -+#define TLAN_TIMER_LINK_BEAT 1 -+#define TLAN_TIMER_ACTIVITY 2 -+#define TLAN_TIMER_PHY_PDOWN 3 -+#define TLAN_TIMER_PHY_PUP 4 -+#define TLAN_TIMER_PHY_RESET 5 -+#define TLAN_TIMER_PHY_START_LINK 6 -+#define TLAN_TIMER_PHY_FINISH_AN 7 -+#define TLAN_TIMER_FINISH_RESET 8 -+ -+#define TLAN_TIMER_ACT_DELAY (HZ/10) -+ -+ -+ -+ -+ /***************************************************************** -+ * TLan Driver Eeprom Definitions -+ * -+ ****************************************************************/ -+ -+#define TLAN_EEPROM_ACK 0 -+#define TLAN_EEPROM_STOP 1 -+ -+ -+ -+ -+ /***************************************************************** -+ * Host Register Offsets and Contents -+ * -+ ****************************************************************/ -+ -+#define TLAN_HOST_CMD 0x00 -+#define TLAN_HC_GO 0x80000000 -+#define TLAN_HC_STOP 0x40000000 -+#define TLAN_HC_ACK 0x20000000 -+#define TLAN_HC_CS_MASK 0x1FE00000 -+#define TLAN_HC_EOC 0x00100000 -+#define TLAN_HC_RT 0x00080000 -+#define TLAN_HC_NES 0x00040000 -+#define TLAN_HC_AD_RST 0x00008000 -+#define TLAN_HC_LD_TMR 0x00004000 -+#define TLAN_HC_LD_THR 0x00002000 -+#define TLAN_HC_REQ_INT 0x00001000 -+#define TLAN_HC_INT_OFF 0x00000800 -+#define TLAN_HC_INT_ON 0x00000400 -+#define TLAN_HC_AC_MASK 0x000000FF -+#define TLAN_CH_PARM 0x04 -+#define TLAN_DIO_ADR 0x08 -+#define TLAN_DA_ADR_INC 0x8000 -+#define TLAN_DA_RAM_ADR 0x4000 -+#define TLAN_HOST_INT 0x0A -+#define TLAN_HI_IV_MASK 0x1FE0 -+#define TLAN_HI_IT_MASK 0x001C -+#define TLAN_DIO_DATA 0x0C -+ -+ -+/* ThunderLAN Internal Register DIO Offsets */ -+ -+#define TLAN_NET_CMD 0x00 -+#define TLAN_NET_CMD_NRESET 0x80 -+#define TLAN_NET_CMD_NWRAP 0x40 -+#define TLAN_NET_CMD_CSF 0x20 -+#define TLAN_NET_CMD_CAF 0x10 -+#define TLAN_NET_CMD_NOBRX 0x08 -+#define TLAN_NET_CMD_DUPLEX 0x04 -+#define TLAN_NET_CMD_TRFRAM 0x02 -+#define TLAN_NET_CMD_TXPACE 0x01 -+#define TLAN_NET_SIO 0x01 -+#define TLAN_NET_SIO_MINTEN 0x80 -+#define TLAN_NET_SIO_ECLOK 0x40 -+#define TLAN_NET_SIO_ETXEN 0x20 -+#define TLAN_NET_SIO_EDATA 0x10 -+#define TLAN_NET_SIO_NMRST 0x08 -+#define TLAN_NET_SIO_MCLK 0x04 -+#define TLAN_NET_SIO_MTXEN 0x02 -+#define TLAN_NET_SIO_MDATA 0x01 -+#define TLAN_NET_STS 0x02 -+#define TLAN_NET_STS_MIRQ 0x80 -+#define TLAN_NET_STS_HBEAT 0x40 -+#define TLAN_NET_STS_TXSTOP 0x20 -+#define TLAN_NET_STS_RXSTOP 0x10 -+#define TLAN_NET_STS_RSRVD 0x0F -+#define TLAN_NET_MASK 0x03 -+#define TLAN_NET_MASK_MASK7 0x80 -+#define TLAN_NET_MASK_MASK6 0x40 -+#define TLAN_NET_MASK_MASK5 0x20 -+#define TLAN_NET_MASK_MASK4 0x10 -+#define TLAN_NET_MASK_RSRVD 0x0F -+#define TLAN_NET_CONFIG 0x04 -+#define TLAN_NET_CFG_RCLK 0x8000 -+#define TLAN_NET_CFG_TCLK 0x4000 -+#define TLAN_NET_CFG_BIT 0x2000 -+#define TLAN_NET_CFG_RXCRC 0x1000 -+#define TLAN_NET_CFG_PEF 0x0800 -+#define TLAN_NET_CFG_1FRAG 0x0400 -+#define TLAN_NET_CFG_1CHAN 0x0200 -+#define TLAN_NET_CFG_MTEST 0x0100 -+#define TLAN_NET_CFG_PHY_EN 0x0080 -+#define TLAN_NET_CFG_MSMASK 0x007F -+#define TLAN_MAN_TEST 0x06 -+#define TLAN_DEF_VENDOR_ID 0x08 -+#define TLAN_DEF_DEVICE_ID 0x0A -+#define TLAN_DEF_REVISION 0x0C -+#define TLAN_DEF_SUBCLASS 0x0D -+#define TLAN_DEF_MIN_LAT 0x0E -+#define TLAN_DEF_MAX_LAT 0x0F -+#define TLAN_AREG_0 0x10 -+#define TLAN_AREG_1 0x16 -+#define TLAN_AREG_2 0x1C -+#define TLAN_AREG_3 0x22 -+#define TLAN_HASH_1 0x28 -+#define TLAN_HASH_2 0x2C -+#define TLAN_GOOD_TX_FRMS 0x30 -+#define TLAN_TX_UNDERUNS 0x33 -+#define TLAN_GOOD_RX_FRMS 0x34 -+#define TLAN_RX_OVERRUNS 0x37 -+#define TLAN_DEFERRED_TX 0x38 -+#define TLAN_CRC_ERRORS 0x3A -+#define TLAN_CODE_ERRORS 0x3B -+#define TLAN_MULTICOL_FRMS 0x3C -+#define TLAN_SINGLECOL_FRMS 0x3E -+#define TLAN_EXCESSCOL_FRMS 0x40 -+#define TLAN_LATE_COLS 0x41 -+#define TLAN_CARRIER_LOSS 0x42 -+#define TLAN_ACOMMIT 0x43 -+#define TLAN_LED_REG 0x44 -+#define TLAN_LED_ACT 0x10 -+#define TLAN_LED_LINK 0x01 -+#define TLAN_BSIZE_REG 0x45 -+#define TLAN_MAX_RX 0x46 -+#define TLAN_INT_DIS 0x48 -+#define TLAN_ID_TX_EOC 0x04 -+#define TLAN_ID_RX_EOF 0x02 -+#define TLAN_ID_RX_EOC 0x01 -+ -+ -+ -+/* ThunderLAN Interrupt Codes */ -+ -+#define TLAN_INT_NUMBER_OF_INTS 8 -+ -+#define TLAN_INT_NONE 0x0000 -+#define TLAN_INT_TX_EOF 0x0001 -+#define TLAN_INT_STAT_OVERFLOW 0x0002 -+#define TLAN_INT_RX_EOF 0x0003 -+#define TLAN_INT_DUMMY 0x0004 -+#define TLAN_INT_TX_EOC 0x0005 -+#define TLAN_INT_STATUS_CHECK 0x0006 -+#define TLAN_INT_RX_EOC 0x0007 -+ -+ -+ -+/* ThunderLAN MII Registers */ -+ -+/* Generic MII/PHY Registers */ -+ -+#define MII_GEN_CTL 0x00 -+#define MII_GC_RESET 0x8000 -+#define MII_GC_LOOPBK 0x4000 -+#define MII_GC_SPEEDSEL 0x2000 -+#define MII_GC_AUTOENB 0x1000 -+#define MII_GC_PDOWN 0x0800 -+#define MII_GC_ISOLATE 0x0400 -+#define MII_GC_AUTORSRT 0x0200 -+#define MII_GC_DUPLEX 0x0100 -+#define MII_GC_COLTEST 0x0080 -+#define MII_GC_RESERVED 0x007F -+#define MII_GEN_STS 0x01 -+#define MII_GS_100BT4 0x8000 -+#define MII_GS_100BTXFD 0x4000 -+#define MII_GS_100BTXHD 0x2000 -+#define MII_GS_10BTFD 0x1000 -+#define MII_GS_10BTHD 0x0800 -+#define MII_GS_RESERVED 0x07C0 -+#define MII_GS_AUTOCMPLT 0x0020 -+#define MII_GS_RFLT 0x0010 -+#define MII_GS_AUTONEG 0x0008 -+#define MII_GS_LINK 0x0004 -+#define MII_GS_JABBER 0x0002 -+#define MII_GS_EXTCAP 0x0001 -+#define MII_GEN_ID_HI 0x02 -+#define MII_GEN_ID_LO 0x03 -+#define MII_GIL_OUI 0xFC00 -+#define MII_GIL_MODEL 0x03F0 -+#define MII_GIL_REVISION 0x000F -+#define MII_AN_ADV 0x04 -+#define MII_AN_LPA 0x05 -+#define MII_AN_EXP 0x06 -+ -+/* ThunderLAN Specific MII/PHY Registers */ -+ -+#define TLAN_TLPHY_ID 0x10 -+#define TLAN_TLPHY_CTL 0x11 -+#define TLAN_TC_IGLINK 0x8000 -+#define TLAN_TC_SWAPOL 0x4000 -+#define TLAN_TC_AUISEL 0x2000 -+#define TLAN_TC_SQEEN 0x1000 -+#define TLAN_TC_MTEST 0x0800 -+#define TLAN_TC_RESERVED 0x07F8 -+#define TLAN_TC_NFEW 0x0004 -+#define TLAN_TC_INTEN 0x0002 -+#define TLAN_TC_TINT 0x0001 -+#define TLAN_TLPHY_STS 0x12 -+#define TLAN_TS_MINT 0x8000 -+#define TLAN_TS_PHOK 0x4000 -+#define TLAN_TS_POLOK 0x2000 -+#define TLAN_TS_TPENERGY 0x1000 -+#define TLAN_TS_RESERVED 0x0FFF -+#define TLAN_TLPHY_PAR 0x19 -+#define TLAN_PHY_CIM_STAT 0x0020 -+#define TLAN_PHY_SPEED_100 0x0040 -+#define TLAN_PHY_DUPLEX_FULL 0x0080 -+#define TLAN_PHY_AN_EN_STAT 0x0400 -+ -+/* National Sem. & Level1 PHY id's */ -+#define NAT_SEM_ID1 0x2000 -+#define NAT_SEM_ID2 0x5C01 -+#define LEVEL1_ID1 0x7810 -+#define LEVEL1_ID2 0x0000 -+ -+#define CIRC_INC( a, b ) if ( ++a >= b ) a = 0 -+ -+/* Routines to access internal registers. */ -+ -+inline u8 TLan_DioRead8(u16 base_addr, u16 internal_addr) -+{ -+ outw(internal_addr, base_addr + TLAN_DIO_ADR); -+ return (inb((base_addr + TLAN_DIO_DATA) + (internal_addr & 0x3))); -+ -+} /* TLan_DioRead8 */ -+ -+ -+ -+ -+inline u16 TLan_DioRead16(u16 base_addr, u16 internal_addr) -+{ -+ outw(internal_addr, base_addr + TLAN_DIO_ADR); -+ return (inw((base_addr + TLAN_DIO_DATA) + (internal_addr & 0x2))); -+ -+} /* TLan_DioRead16 */ -+ -+ -+ -+ -+inline u32 TLan_DioRead32(u16 base_addr, u16 internal_addr) -+{ -+ outw(internal_addr, base_addr + TLAN_DIO_ADR); -+ return (inl(base_addr + TLAN_DIO_DATA)); -+ -+} /* TLan_DioRead32 */ -+ -+ -+ -+ -+inline void TLan_DioWrite8(u16 base_addr, u16 internal_addr, u8 data) -+{ -+ outw(internal_addr, base_addr + TLAN_DIO_ADR); -+ outb(data, base_addr + TLAN_DIO_DATA + (internal_addr & 0x3)); -+ -+} -+ -+ -+ -+ -+inline void TLan_DioWrite16(u16 base_addr, u16 internal_addr, u16 data) -+{ -+ outw(internal_addr, base_addr + TLAN_DIO_ADR); -+ outw(data, base_addr + TLAN_DIO_DATA + (internal_addr & 0x2)); -+ -+} -+ -+ -+ -+ -+inline void TLan_DioWrite32(u16 base_addr, u16 internal_addr, u32 data) -+{ -+ outw(internal_addr, base_addr + TLAN_DIO_ADR); -+ outl(data, base_addr + TLAN_DIO_DATA + (internal_addr & 0x2)); -+ -+} -+ -+ -+ -+#if 0 -+inline void TLan_ClearBit(u8 bit, u16 port) -+{ -+ outb_p(inb_p(port) & ~bit, port); -+} -+ -+ -+ -+ -+inline int TLan_GetBit(u8 bit, u16 port) -+{ -+ return ((int) (inb_p(port) & bit)); -+} -+ -+ -+ -+ -+inline void TLan_SetBit(u8 bit, u16 port) -+{ -+ outb_p(inb_p(port) | bit, port); -+} -+#endif -+ -+#define TLan_ClearBit( bit, port ) outb_p(inb_p(port) & ~bit, port) -+#define TLan_GetBit( bit, port ) ((int) (inb_p(port) & bit)) -+#define TLan_SetBit( bit, port ) outb_p(inb_p(port) | bit, port) -+ -+#ifdef I_LIKE_A_FAST_HASH_FUNCTION -+/* given 6 bytes, view them as 8 6-bit numbers and return the XOR of those */ -+/* the code below is about seven times as fast as the original code */ -+inline u32 TLan_HashFunc(u8 * a) -+{ -+ u8 hash; -+ -+ hash = (a[0] ^ a[3]); /* & 077 */ -+ hash ^= ((a[0] ^ a[3]) >> 6); /* & 003 */ -+ hash ^= ((a[1] ^ a[4]) << 2); /* & 074 */ -+ hash ^= ((a[1] ^ a[4]) >> 4); /* & 017 */ -+ hash ^= ((a[2] ^ a[5]) << 4); /* & 060 */ -+ hash ^= ((a[2] ^ a[5]) >> 2); /* & 077 */ -+ -+ return (hash & 077); -+} -+ -+#else /* original code */ -+ -+inline u32 xor(u32 a, u32 b) -+{ -+ return ((a && !b) || (!a && b)); -+} -+ -+#define XOR8( a, b, c, d, e, f, g, h ) xor( a, xor( b, xor( c, xor( d, xor( e, xor( f, xor( g, h ) ) ) ) ) ) ) -+#define DA( a, bit ) ( ( (u8) a[bit/8] ) & ( (u8) ( 1 << bit%8 ) ) ) -+ -+inline u32 TLan_HashFunc(u8 * a) -+{ -+ u32 hash; -+ -+ hash = -+ XOR8(DA(a, 0), DA(a, 6), DA(a, 12), DA(a, 18), DA(a, 24), -+ DA(a, 30), DA(a, 36), DA(a, 42)); -+ hash |= -+ XOR8(DA(a, 1), DA(a, 7), DA(a, 13), DA(a, 19), DA(a, 25), -+ DA(a, 31), DA(a, 37), DA(a, 43)) << 1; -+ hash |= -+ XOR8(DA(a, 2), DA(a, 8), DA(a, 14), DA(a, 20), DA(a, 26), -+ DA(a, 32), DA(a, 38), DA(a, 44)) << 2; -+ hash |= -+ XOR8(DA(a, 3), DA(a, 9), DA(a, 15), DA(a, 21), DA(a, 27), -+ DA(a, 33), DA(a, 39), DA(a, 45)) << 3; -+ hash |= -+ XOR8(DA(a, 4), DA(a, 10), DA(a, 16), DA(a, 22), DA(a, 28), -+ DA(a, 34), DA(a, 40), DA(a, 46)) << 4; -+ hash |= -+ XOR8(DA(a, 5), DA(a, 11), DA(a, 17), DA(a, 23), DA(a, 29), -+ DA(a, 35), DA(a, 41), DA(a, 47)) << 5; -+ -+ return hash; -+ -+} -+ -+#endif /* I_LIKE_A_FAST_HASH_FUNCTION */ -Index: b/netboot/tulip.c -=================================================================== ---- a/netboot/tulip.c -+++ b/netboot/tulip.c -@@ -48,6 +48,7 @@ - /*********************************************************************/ - - /* -+ 07 Sep 2003 timlegge Multicast Support Added - 11 Apr 2001 mdc [patch to etherboot 4.7.24] - Major rewrite to include Linux tulip driver media detection - code. This driver should support a lot more cards now. -@@ -98,7 +99,6 @@ - and thinguin mailing lists. - */ - -- - /*********************************************************************/ - /* Declarations */ - /*********************************************************************/ -@@ -106,31 +106,29 @@ - #include "etherboot.h" - #include "nic.h" - #include "pci.h" --#include "cards.h" - - /* User settable parameters */ - --#undef TULIP_DEBUG --#undef TULIP_DEBUG_WHERE -+#undef TULIP_DEBUG -+#undef TULIP_DEBUG_WHERE -+#ifdef TULIP_DEBUG - static int tulip_debug = 2; /* 1 normal messages, 0 quiet .. 7 verbose. */ -+#endif - - #define TX_TIME_OUT 2*TICKS_PER_SEC - --typedef unsigned char u8; --typedef signed char s8; --typedef unsigned short u16; --typedef signed short s16; --typedef unsigned int u32; --typedef signed int s32; -+typedef uint8_t u8; -+typedef int8_t s8; -+typedef uint16_t u16; -+typedef int16_t s16; -+typedef uint32_t u32; -+typedef int32_t s32; - - /* helpful macros if on a big_endian machine for changing byte order. - not strictly needed on Intel */ --#define le16_to_cpu(val) (val) --#define cpu_to_le32(val) (val) - #define get_unaligned(ptr) (*(ptr)) - #define put_unaligned(val, ptr) ((void)( *(ptr) = (val) )) - #define get_u16(ptr) (*(u16 *)(ptr)) --#define virt_to_bus(x) ((unsigned long)x) - #define virt_to_le32desc(addr) virt_to_bus(addr) - - #define TULIP_IOTYPE PCI_USES_MASTER | PCI_USES_IO | PCI_ADDR0 -@@ -212,6 +210,8 @@ - TULIP_IOTYPE, 256, PNIC2 }, - { "ADMtek AN981 Comet", { 0x09811317, 0xffffffff, 0, 0, 0, 0 }, - TULIP_IOTYPE, 256, COMET }, -+ { "ADMTek AN983 Comet", { 0x12161113, 0xffffffff, 0, 0, 0, 0 }, -+ TULIP_IOTYPE, 256, COMET }, - { "ADMtek Centaur-P", { 0x09851317, 0xffffffff, 0, 0, 0, 0 }, - TULIP_IOTYPE, 256, COMET }, - { "ADMtek Centaur-C", { 0x19851317, 0xffffffff, 0, 0, 0, 0 }, -@@ -280,9 +280,13 @@ - static u16 t21041_csr14[] = { 0xFFFF, 0xF7FD, 0xF7FD, 0x7F3F, 0x7F3D, }; - static u16 t21041_csr15[] = { 0x0008, 0x0006, 0x000E, 0x0008, 0x0008, }; - -+/* not used - static u16 t21142_csr13[] = { 0x0001, 0x0009, 0x0009, 0x0000, 0x0001, }; -+*/ - static u16 t21142_csr14[] = { 0xFFFF, 0x0705, 0x0705, 0x0000, 0x7F3D, }; -+/* not used - static u16 t21142_csr15[] = { 0x0008, 0x0006, 0x000E, 0x0008, 0x0008, }; -+*/ - - /* Offsets to the Command and Status Registers, "CSRs". All accesses - must be longword instructions and quadword aligned. */ -@@ -300,6 +304,14 @@ - TxFIFOUnderflow=0x20, TxJabber=0x08, TxNoBuf=0x04, TxDied=0x02, TxIntr=0x01, - }; - -+/* The configuration bits in CSR6. */ -+enum csr6_mode_bits { -+ TxOn=0x2000, RxOn=0x0002, FullDuplex=0x0200, -+ AcceptBroadcast=0x0100, AcceptAllMulticast=0x0080, -+ AcceptAllPhys=0x0040, AcceptRunt=0x0008, -+}; -+ -+ - enum desc_status_bits { - DescOwnded=0x80000000, RxDescFatalErr=0x8000, RxWholePkt=0x0300, - }; -@@ -384,21 +396,11 @@ - - #define TX_RING_SIZE 2 - static struct tulip_tx_desc tx_ring[TX_RING_SIZE] __attribute__ ((aligned(4))); -- --#ifdef USE_LOWMEM_BUFFER --#define txb ((char *)0x10000 - BUFLEN) --#else - static unsigned char txb[BUFLEN] __attribute__ ((aligned(4))); --#endif - - #define RX_RING_SIZE 4 - static struct tulip_rx_desc rx_ring[RX_RING_SIZE] __attribute__ ((aligned(4))); -- --#ifdef USE_LOWMEM_BUFFER --#define rxb ((char *)0x10000 - RX_RING_SIZE * BUFLEN - BUFLEN) --#else - static unsigned char rxb[RX_RING_SIZE * BUFLEN] __attribute__ ((aligned(4))); --#endif - - static struct tulip_private { - int cur_rx; -@@ -471,7 +473,6 @@ - static const char * block_name[] = {"21140 non-MII", "21140 MII PHY", - "21142 Serial PHY", "21142 MII PHY", "21143 SYM PHY", "21143 reset method"}; - -- - /*********************************************************************/ - /* Function Prototypes */ - /*********************************************************************/ -@@ -479,14 +480,13 @@ - static void mdio_write(struct nic *nic, int phy_id, int location, int value); - static int read_eeprom(unsigned long ioaddr, int location, int addr_len); - static void parse_eeprom(struct nic *nic); --struct nic *tulip_probe(struct nic *nic, unsigned short *io_addrs, -- struct pci_device *pci); -+static int tulip_probe(struct dev *dev, struct pci_device *pci); - static void tulip_init_ring(struct nic *nic); - static void tulip_reset(struct nic *nic); - static void tulip_transmit(struct nic *nic, const char *d, unsigned int t, - unsigned int s, const char *p); --static int tulip_poll(struct nic *nic); --static void tulip_disable(struct nic *nic); -+static int tulip_poll(struct nic *nic, int retrieve); -+static void tulip_disable(struct dev *dev); - static void nway_start(struct nic *nic); - static void pnic_do_nway(struct nic *nic); - static void select_media(struct nic *nic, int startup); -@@ -504,7 +504,6 @@ - static void tulip_more(void); - #endif - -- - /*********************************************************************/ - /* Utility Routines */ - /*********************************************************************/ -@@ -535,7 +534,6 @@ - /* wait */ ; - } - -- - /*********************************************************************/ - /* Media Descriptor Code */ - /*********************************************************************/ -@@ -565,7 +563,7 @@ - MDIO protocol. See the MII specifications or DP83840A data sheet - for details. */ - --int mdio_read(struct nic *nic, int phy_id, int location) -+int mdio_read(struct nic *nic __unused, int phy_id, int location) - { - int i; - int read_cmd = (0xf6 << 10) | (phy_id << 5) | location; -@@ -626,7 +624,7 @@ - return (retval>>1) & 0xffff; - } - --void mdio_write(struct nic *nic, int phy_id, int location, int value) -+void mdio_write(struct nic *nic __unused, int phy_id, int location, int value) - { - int i; - int cmd = (0x5002 << 16) | (phy_id << 23) | (location<<18) | value; -@@ -682,7 +680,6 @@ - } - } - -- - /*********************************************************************/ - /* EEPROM Reading Code */ - /*********************************************************************/ -@@ -727,7 +724,6 @@ - return retval; - } - -- - /*********************************************************************/ - /* EEPROM Parsing Code */ - /*********************************************************************/ -@@ -895,11 +891,10 @@ - } - } - -- - /*********************************************************************/ - /* tulip_init_ring - setup the tx and rx descriptors */ - /*********************************************************************/ --static void tulip_init_ring(struct nic *nic) -+static void tulip_init_ring(struct nic *nic __unused) - { - int i; - -@@ -935,7 +930,22 @@ - /* Mark the last entry as wrapping the ring, though this should never happen */ - tx_ring[1].length = cpu_to_le32(DESC_RING_WRAP | BUFLEN); - } -- -+ -+static void set_rx_mode(struct nic *nic __unused) { -+ int csr6 = inl(ioaddr + CSR6) & ~0x00D5; -+ -+ tp->csr6 &= ~0x00D5; -+ -+ /* !IFF_PROMISC */ -+ tp->csr6 |= AcceptAllMulticast; -+ csr6 |= AcceptAllMulticast; -+ -+ outl(csr6, ioaddr + CSR6); -+ -+ -+ -+} -+ - /*********************************************************************/ - /* eth_reset - Reset adapter */ - /*********************************************************************/ -@@ -943,7 +953,6 @@ - { - int i; - unsigned long to; -- u32 addr_low, addr_high; - - #ifdef TULIP_DEBUG_WHERE - whereami("tulip_reset\n"); -@@ -956,7 +965,7 @@ - if (tp->mii_cnt || (tp->mtable && tp->mtable->has_mii)) { - outl(0x814C0000, ioaddr + CSR6); - } -- -+ - /* Reset the chip, holding bit 0 set at least 50 PCI cycles. */ - outl(0x00000001, ioaddr + CSR0); - tulip_wait(1); -@@ -1022,8 +1031,8 @@ - } - - /* Point to rx and tx descriptors */ -- outl((unsigned long)&rx_ring[0], ioaddr + CSR3); -- outl((unsigned long)&tx_ring[0], ioaddr + CSR4); -+ outl(virt_to_le32desc(&rx_ring[0]), ioaddr + CSR3); -+ outl(virt_to_le32desc(&tx_ring[0]), ioaddr + CSR4); - - init_media(nic); - -@@ -1049,11 +1058,12 @@ - if (tp->chip_id == LC82C168) - tulip_check_duplex(nic); - -+ set_rx_mode(nic); -+ - /* enable transmit and receive */ - outl(tp->csr6 | 0x00002002, ioaddr + CSR6); - } - -- - /*********************************************************************/ - /* eth_transmit - Transmit a frame */ - /*********************************************************************/ -@@ -1095,7 +1105,7 @@ - tx_ring[0].status = cpu_to_le32(0x80000000); - - /* Point to transmit descriptor */ -- outl((u32)&tx_ring[0], ioaddr + CSR4); -+ outl(virt_to_le32desc(&tx_ring[0]), ioaddr + CSR4); - - /* Enable Tx */ - outl(csr6 | 0x00002000, ioaddr + CSR6); -@@ -1113,11 +1123,11 @@ - /* Disable Tx */ - outl(csr6 & ~0x00002000, ioaddr + CSR6); - } -- -+ - /*********************************************************************/ - /* eth_poll - Wait for a frame */ - /*********************************************************************/ --static int tulip_poll(struct nic *nic) -+static int tulip_poll(struct nic *nic, int retrieve) - { - - #ifdef TULIP_DEBUG_WHERE -@@ -1128,6 +1138,8 @@ - if (rx_ring[tp->cur_rx].status & 0x80000000) - return 0; - -+ if ( ! retrieve ) return 1; -+ - #ifdef TULIP_DEBUG_WHERE - whereami("tulip_poll got one\n"); - #endif -@@ -1151,17 +1163,20 @@ - - return 1; - } -- -+ - /*********************************************************************/ - /* eth_disable - Disable the interface */ - /*********************************************************************/ --static void tulip_disable(struct nic *nic) -+static void tulip_disable(struct dev *dev) - { -- -+ struct nic *nic = (struct nic *)dev; - #ifdef TULIP_DEBUG_WHERE - whereami("tulip_disable\n"); - #endif - -+ /* merge reset and disable */ -+ tulip_reset(nic); -+ - /* disable interrupts */ - outl(0x00000000, ioaddr + CSR7); - -@@ -1171,24 +1186,41 @@ - /* Clear the missed-packet counter. */ - (volatile unsigned long)inl(ioaddr + CSR8); - } -- -+ -+/*********************************************************************/ -+/*IRQ - Enable, Disable, or Force interrupts */ -+/*********************************************************************/ -+static void tulip_irq(struct nic *nic __unused, irq_action_t action __unused) -+{ -+ switch ( action ) { -+ case DISABLE : -+ break; -+ case ENABLE : -+ break; -+ case FORCE : -+ break; -+ } -+} -+ - /*********************************************************************/ - /* eth_probe - Look for an adapter */ - /*********************************************************************/ --struct nic *tulip_probe(struct nic *nic, unsigned short *io_addrs, -- struct pci_device *pci) -+static int tulip_probe(struct dev *dev, struct pci_device *pci) - { -- u32 i, l1, l2; -+ struct nic *nic = (struct nic *)dev; -+ u32 i; - u8 chip_rev; - u8 ee_data[EEPROM_SIZE]; - unsigned short sum; - int chip_idx; - static unsigned char last_phys_addr[ETH_ALEN] = {0x00, 'L', 'i', 'n', 'u', 'x'}; - -- if (io_addrs == 0 || *io_addrs == 0) -+ if (pci->ioaddr == 0) - return 0; - -- ioaddr = *io_addrs; -+ ioaddr = pci->ioaddr; -+ nic->ioaddr = pci->ioaddr & ~3; -+ nic->irqno = 0; - - /* point to private storage */ - tp = &tpx; -@@ -1378,15 +1410,15 @@ - /* reset the device and make ready for tx and rx of packets */ - tulip_reset(nic); - -- nic->reset = tulip_reset; -+ dev->disable = tulip_disable; - nic->poll = tulip_poll; - nic->transmit = tulip_transmit; -- nic->disable = tulip_disable; -+ nic->irq = tulip_irq; - - /* give the board a chance to reset before returning */ - tulip_wait(4*TICKS_PER_SEC); - -- return nic; -+ return 1; - } - - static void start_link(struct nic *nic) -@@ -1508,7 +1540,7 @@ - } - } - --static void nway_start(struct nic *nic) -+static void nway_start(struct nic *nic __unused) - { - int csr14 = ((tp->sym_advertise & 0x0780) << 9) | - ((tp->sym_advertise&0x0020)<<1) | 0xffbf; -@@ -1662,7 +1694,7 @@ - } - } - --static void pnic_do_nway(struct nic *nic) -+static void pnic_do_nway(struct nic *nic __unused) - { - u32 phy_reg = inl(ioaddr + 0xB8); - u32 new_csr6 = tp->csr6 & ~0x40C40200; -@@ -1886,8 +1918,8 @@ - } - } else if (tp->chip_id == DC21040) { /* 21040 */ - /* Turn on the xcvr interface. */ -- int csr12 = inl(ioaddr + CSR12); - #ifdef TULIP_DEBUG -+ int csr12 = inl(ioaddr + CSR12); - if (tulip_debug > 1) - printf("%s: 21040 media type is %s, CSR12 is %hhX.\n", - tp->nic_name, medianame[tp->if_port], csr12); -@@ -1987,3 +2019,51 @@ - - return 0; - } -+ -+static struct pci_id tulip_nics[] = { -+PCI_ROM(0x1011, 0x0002, "dc21040", "Digital Tulip"), -+PCI_ROM(0x1011, 0x0009, "ds21140", "Digital Tulip Fast"), -+PCI_ROM(0x1011, 0x0014, "dc21041", "Digital Tulip+"), -+PCI_ROM(0x1011, 0x0019, "ds21142", "Digital Tulip 21142"), -+PCI_ROM(0x10b7, 0x9300, "3csoho100b-tx","3ComSOHO100B-TX"), -+PCI_ROM(0x10b9, 0x5261, "ali1563", "ALi 1563 integrated ethernet"), -+PCI_ROM(0x10d9, 0x0512, "mx98713", "Macronix MX987x3"), -+PCI_ROM(0x10d9, 0x0531, "mx98715", "Macronix MX987x5"), -+PCI_ROM(0x1113, 0x1217, "mxic-98715", "Macronix MX987x5"), -+PCI_ROM(0x11ad, 0xc115, "lc82c115", "LinkSys LNE100TX"), -+PCI_ROM(0x11ad, 0x0002, "82c168", "Netgear FA310TX"), -+PCI_ROM(0x1282, 0x9100, "dm9100", "Davicom 9100"), -+PCI_ROM(0x1282, 0x9102, "dm9102", "Davicom 9102"), -+PCI_ROM(0x1282, 0x9009, "dm9009", "Davicom 9009"), -+PCI_ROM(0x1282, 0x9132, "dm9132", "Davicom 9132"), -+PCI_ROM(0x1317, 0x0985, "centaur-p", "ADMtek Centaur-P"), -+PCI_ROM(0x1317, 0x0981, "an981", "ADMtek AN981 Comet"), /* ADMTek Centaur-P (stmicro) */ -+PCI_ROM(0x1113, 0x1216, "an983", "ADMTek AN983 Comet"), -+PCI_ROM(0x1317, 0x9511, "an983b", "ADMTek Comet 983b"), -+PCI_ROM(0x1317, 0x1985, "centaur-c", "ADMTek Centaur-C"), -+PCI_ROM(0x8086, 0x0039, "intel21145", "Intel Tulip"), -+PCI_ROM(0x125b, 0x1400, "ax88140", "ASIX AX88140"), -+PCI_ROM(0x11f6, 0x9881, "rl100tx", "Compex RL100-TX"), -+PCI_ROM(0x115d, 0x0003, "xircomtulip", "Xircom Tulip"), -+PCI_ROM(0x104a, 0x0981, "tulip-0981", "Tulip 0x104a 0x0981"), -+PCI_ROM(0x104a, 0x2774, "tulip-2774", "Tulip 0x104a 0x2774"), -+PCI_ROM(0x1113, 0x9511, "tulip-9511", "Tulip 0x1113 0x9511"), -+PCI_ROM(0x1186, 0x1561, "tulip-1561", "Tulip 0x1186 0x1561"), -+PCI_ROM(0x1259, 0xa120, "tulip-a120", "Tulip 0x1259 0xa120"), -+PCI_ROM(0x13d1, 0xab02, "tulip-ab02", "Tulip 0x13d1 0xab02"), -+PCI_ROM(0x13d1, 0xab03, "tulip-ab03", "Tulip 0x13d1 0xab03"), -+PCI_ROM(0x13d1, 0xab08, "tulip-ab08", "Tulip 0x13d1 0xab08"), -+PCI_ROM(0x14f1, 0x1803, "lanfinity", "Conexant LANfinity"), -+PCI_ROM(0x1626, 0x8410, "tulip-8410", "Tulip 0x1626 0x8410"), -+PCI_ROM(0x1737, 0xab08, "tulip-1737-ab08","Tulip 0x1737 0xab08"), -+PCI_ROM(0x1737, 0xab09, "tulip-ab09", "Tulip 0x1737 0xab09"), -+}; -+ -+struct pci_driver tulip_driver = { -+ .type = NIC_DRIVER, -+ .name = "Tulip", -+ .probe = tulip_probe, -+ .ids = tulip_nics, -+ .id_count = sizeof(tulip_nics)/sizeof(tulip_nics[0]), -+ .class = 0, -+}; -Index: b/netboot/tulip.txt -=================================================================== ---- a/netboot/tulip.txt -+++ /dev/null -@@ -1,53 +0,0 @@ --This software may be used and distributed according to the terms of --the GNU Public License, incorporated herein by reference. -- --This is a tulip and clone driver for Etherboot. See the revision --history in the tulip.c file for information on changes. This version --of the driver incorporates changes from Bob Edwards and Paul Mackerras --who cantributed changes to support the TRENDnet TE100-PCIA NIC which --uses a genuine Intel 21143-PD chipset. There are also various code --cleanups to make time-based activities more reliable. -- --Of course you have to have all the usual Etherboot environment --(bootp/dhcp/NFS) set up, and you need a Linux kernel with v0.91g --(7.16.99) or later of the tulip.c driver compiled in to support some --MX98715 based cards. That file is available at: -- -- http://cesdis.gsfc.nasa.gov/linux/drivers/test/tulip.c -- --NOTES -- --I've tested this driver with a SOHOware Fast 10/100 Model SDA110A, --a Linksys LNE100TX v2.0, and a Netgear FA310TX card, and it worked at --both 10 and 100 mbits. Other cards based on the tulip family may work as --well. -- --These cards are about 20$US, are supported by Linux and now Etherboot, --and being PCI, they auto-configure IRQ and IOADDR and auto-negotiate --10/100 half/full duplex. It seems like a pretty good value compared to --some of the pricier cards, and can lower the cost of building/adapting --thin client workstations substantially while giving a considerable --performance increase. -- --On some PCI tulip clone chipsets (MX987x5, LC82C115, LC82C168) this driver --lets the card choose the fastest speed it can negotiate with the peer --device. On other cards, it chooses 10mbit half-duplex. -- --I burned an AM27C256 (32KByte) EPROM with mx987x5.lzrom and it worked. --According to the data sheet the MX98715A supports up to 64K (27C512) --EPROMs, -- --I've liberally commented the code and header files in the hope that it --will help the next person who hacks the code or needs to support some --tulip clone card, or wishes to add functionality. -- --Anyway, please test this if you can on your tulip based card, and let --me (mdc@thinguin.org) and the netboot list (netboot@baghira.han.de) --know how things go. I also would appreciate code review by people who --program. I'm a strong believer in "another set of eyes". -- --Regards, -- --Marty Connor --mdc@thinguin.org --http://www.thinguin.org/ -Index: b/netboot/types.h -=================================================================== ---- /dev/null -+++ b/netboot/types.h -@@ -0,0 +1,44 @@ -+#ifndef _TYPES_H -+#define _TYPES_H -+ -+/* I'm architecture independed :-) */ -+ -+/* -+ * It's architecture depended headers for common integer types -+ */ -+#include "stdint.h" -+ -+/* -+ * Here are some RPC types define from linux /usr/include/rpc/types.h -+ */ -+typedef int bool_t; -+typedef int enum_t; -+typedef uint32_t rpcprog_t; -+typedef uint32_t rpcvers_t; -+typedef uint32_t rpcproc_t; -+typedef uint32_t rpcprot_t; -+typedef uint32_t rpcport_t; -+ -+/* For bool_t */ -+/* typedef enum { */ -+/* FALSE = 0, */ -+/* TRUE = 1 */ -+/* } boolean_t; */ -+ -+ -+ -+/* Some BSD or RPC style types */ -+typedef unsigned char u_char; -+typedef unsigned short u_short; -+typedef unsigned int u_int; -+typedef unsigned long u_long; -+typedef long long quad_t; -+typedef unsigned long long u_quad_t; -+typedef struct { -+ int __val[2]; -+}fsid_t; /* Type of file system IDs, from bits/types.h */ -+ -+typedef int daddr_t; /* The type of a disk address, from bits/types.h */ -+typedef char * caddr_t; -+ -+#endif /* _TYPES_H */ -Index: b/netboot/udp.h -=================================================================== ---- /dev/null -+++ b/netboot/udp.h -@@ -0,0 +1,30 @@ -+#ifndef _UDP_H -+#define _UDP_H -+ -+/* We need 'uint16_t' and 'uint8_t' */ -+#include "types.h" -+/* We need 'in_addr' */ -+#include "in.h" -+ -+struct udp_pseudo_hdr { -+ in_addr src; -+ in_addr dest; -+ uint8_t unused; -+ uint8_t protocol; -+ uint16_t len; -+}; -+struct udphdr { -+ uint16_t src; -+ uint16_t dest; -+ uint16_t len; -+ uint16_t chksum; -+}; -+ -+extern void build_udp_hdr(unsigned long __destip, unsigned int __srcsock, -+ unsigned int __destsock, int __ttl, int __len, -+ const void * __buf); -+ -+extern int udp_transmit(unsigned long __destip, unsigned int __srcsock, -+ unsigned int __destsock, int __len, const void * __buf); -+ -+#endif /* _UDP_H */ -Index: b/netboot/via-rhine.c -=================================================================== ---- a/netboot/via-rhine.c -+++ b/netboot/via-rhine.c -@@ -18,7 +18,7 @@ - - */ - --static const char *version = "rhine.c v1.0.0 2000-01-07\n"; -+static const char *version = "rhine.c v1.0.1 2003-02-06\n"; - - /* A few user-configurable values. */ - -@@ -46,7 +46,6 @@ - #include "etherboot.h" - #include "nic.h" - #include "pci.h" --#include "cards.h" - - /* define all ioaddr */ - -@@ -103,6 +102,11 @@ - #define byCFGD ioaddr + 0x7b - #define wTallyCntMPA ioaddr + 0x7c - #define wTallyCntCRC ioaddr + 0x7d -+#define bySTICKHW ioaddr + 0x83 -+#define byWOLcrClr ioaddr + 0xA4 -+#define byWOLcgClr ioaddr + 0xA7 -+#define byPwrcsrClr ioaddr + 0xAC -+ - /*--------------------- Exioaddr Definitions -------------------------*/ - - /* -@@ -617,9 +621,6 @@ - - */ - --#define PCI_VENDOR_ID_FET 0x1106 --#define PCI_DEVICE_ID_FET_3043 0x3043 -- - /* The rest of these values should never change. */ - #define NUM_TX_DESC 2 /* Number of Tx descriptor registers. */ - -@@ -652,23 +653,19 @@ - } - rhine; - --static struct nic *rhine_probe1 (struct nic *dev, int ioaddr, -+static void rhine_probe1 (struct nic *nic, int ioaddr, - int chip_id, int options); - static int QueryAuto (int); - static int ReadMII (int byMIIIndex, int); - static void WriteMII (char, char, char, int); - static void MIIDelay (void); - static void rhine_init_ring (struct nic *dev); --static void rhine_disable (struct nic *nic); -+static void rhine_disable (struct dev *dev); - static void rhine_reset (struct nic *nic); --static int rhine_poll (struct nic *nic); -+static int rhine_poll (struct nic *nic, int retreive); - static void rhine_transmit (struct nic *nic, const char *d, unsigned int t, - unsigned int s, const char *p); - --/* Linux support functions */ --#define virt_to_bus(x) ((unsigned long)x) --#define bus_to_virt(x) ((void *)x) -- - /* Initialize the Rx and Tx rings, along with various 'dev' bits. */ - static void - rhine_init_ring (struct nic *nic) -@@ -854,26 +851,99 @@ - } - } - --struct nic * --rhine_probe (struct nic *nic, unsigned short *probeaddrs, -- struct pci_device *pci) -+/* Offsets to the device registers. */ -+enum register_offsets { -+ StationAddr=0x00, RxConfig=0x06, TxConfig=0x07, ChipCmd=0x08, -+ IntrStatus=0x0C, IntrEnable=0x0E, -+ MulticastFilter0=0x10, MulticastFilter1=0x14, -+ RxRingPtr=0x18, TxRingPtr=0x1C, GFIFOTest=0x54, -+ MIIPhyAddr=0x6C, MIIStatus=0x6D, PCIBusConfig=0x6E, -+ MIICmd=0x70, MIIRegAddr=0x71, MIIData=0x72, MACRegEEcsr=0x74, -+ ConfigA=0x78, ConfigB=0x79, ConfigC=0x7A, ConfigD=0x7B, -+ RxMissed=0x7C, RxCRCErrs=0x7E, MiscCmd=0x81, -+ StickyHW=0x83, IntrStatus2=0x84, WOLcrClr=0xA4, WOLcgClr=0xA7, -+ PwrcsrClr=0xAC, -+}; -+ -+/* Bits in the interrupt status/mask registers. */ -+enum intr_status_bits { -+ IntrRxDone=0x0001, IntrRxErr=0x0004, IntrRxEmpty=0x0020, -+ IntrTxDone=0x0002, IntrTxError=0x0008, IntrTxUnderrun=0x0210, -+ IntrPCIErr=0x0040, -+ IntrStatsMax=0x0080, IntrRxEarly=0x0100, -+ IntrRxOverflow=0x0400, IntrRxDropped=0x0800, IntrRxNoBuf=0x1000, -+ IntrTxAborted=0x2000, IntrLinkChange=0x4000, -+ IntrRxWakeUp=0x8000, -+ IntrNormalSummary=0x0003, IntrAbnormalSummary=0xC260, -+ IntrTxDescRace=0x080000, /* mapped from IntrStatus2 */ -+ IntrTxErrSummary=0x082218, -+}; -+#define DEFAULT_INTR (IntrRxDone | IntrRxErr | IntrRxEmpty| IntrRxOverflow | \ -+ IntrRxDropped | IntrRxNoBuf) -+ -+/*************************************************************************** -+ IRQ - PXE IRQ Handler -+***************************************************************************/ -+void rhine_irq ( struct nic *nic, irq_action_t action ) { -+ struct rhine_private *tp = (struct rhine_private *) nic->priv_data; -+ /* Enable interrupts by setting the interrupt mask. */ -+ unsigned int intr_status; -+ -+ switch ( action ) { -+ case DISABLE : -+ case ENABLE : -+ intr_status = inw(nic->ioaddr + IntrStatus); -+ /* On Rhine-II, Bit 3 indicates Tx descriptor write-back race. */ -+ if (tp->chip_id == 0x3065) -+ intr_status |= inb(nic->ioaddr + IntrStatus2) << 16; -+ intr_status = (intr_status & ~DEFAULT_INTR); -+ if ( action == ENABLE ) -+ intr_status = intr_status | DEFAULT_INTR; -+ outw(intr_status, nic->ioaddr + IntrEnable); -+ break; -+ case FORCE : -+ outw(0x0010, nic->ioaddr + 0x84); -+ break; -+ } -+} -+ -+static int -+rhine_probe (struct dev *dev, struct pci_device *pci) - { -+ struct nic *nic = (struct nic *)dev; -+ struct rhine_private *tp = &rhine; - if (!pci->ioaddr) -- return NULL; -- nic = rhine_probe1 (nic, pci->ioaddr, 0, -1); -+ return 0; -+ rhine_probe1 (nic, pci->ioaddr, pci->dev_id, -1); - -- if (nic) -- adjust_pci_device(pci); -- nic->poll = rhine_poll; -- nic->transmit = rhine_transmit; -- nic->reset = rhine_reset; -- nic->disable = rhine_disable; -+ adjust_pci_device(pci); - rhine_reset (nic); - -- return nic; -+ dev->disable = rhine_disable; -+ nic->poll = rhine_poll; -+ nic->transmit = rhine_transmit; -+ nic->irqno = pci->irq; -+ nic->irq = rhine_irq; -+ nic->ioaddr = tp->ioaddr; -+ -+ -+ return 1; -+} -+ -+static void set_rx_mode(struct nic *nic __unused) { -+ struct rhine_private *tp = (struct rhine_private *) nic->priv_data; -+ unsigned char rx_mode; -+ int ioaddr = tp->ioaddr; -+ -+ /* ! IFF_PROMISC */ -+ outl(0xffffffff, byMAR0); -+ outl(0xffffffff, byMAR4); -+ rx_mode = 0x0C; -+ -+ outb(0x60 /* thresh */ | rx_mode, byRCR ); - } - --static struct nic * -+static void - rhine_probe1 (struct nic *nic, int ioaddr, int chip_id, int options) - { - struct rhine_private *tp; -@@ -885,6 +955,29 @@ - - if (rhine_debug > 0 && did_version++ == 0) - printf (version); -+ -+ /* D-Link provided reset code (with comment additions) */ -+ if((chip_id != 0x3043) && (chip_id != 0x6100)) { -+ unsigned char byOrgValue; -+ -+ if(rhine_debug > 0) -+ printf("Enabling Sticky Bit Workaround for Chip_id: 0x%hX\n" -+ , chip_id); -+ /* clear sticky bit before reset & read ethernet address */ -+ byOrgValue = inb(bySTICKHW); -+ byOrgValue = byOrgValue & 0xFC; -+ outb(byOrgValue, bySTICKHW); -+ -+ /* (bits written are cleared?) */ -+ /* disable force PME-enable */ -+ outb(0x80, byWOLcgClr); -+ /* disable power-event config bit */ -+ outb(0xFF, byWOLcrClr); -+ /* clear power status (undocumented in vt6102 docs?) */ -+ outb(0xFF, byPwrcsrClr); -+ -+ } -+ - /* Perhaps this should be read from the EEPROM? */ - for (i = 0; i < ETH_ALEN; i++) - nic->node_addr[i] = inb (byPAR0 + i); -@@ -920,6 +1013,7 @@ - } - #endif - -+ - /* query MII to know LineSpeed,duplex mode */ - byMIIvalue = inb (ioaddr + 0x6d); - LineSpeed = byMIIvalue & MIISR_SPEED; -@@ -971,15 +1065,19 @@ - if (tp->default_port) - tp->medialock = 1; - } -- return nic; -+ return; - } - --static void --rhine_disable (struct nic *nic) -+static void -+rhine_disable (struct dev *dev) - { -+ struct nic *nic = (struct nic *)dev; - struct rhine_private *tp = (struct rhine_private *) nic->priv_data; - int ioaddr = tp->ioaddr; - -+ /* merge reset and disable */ -+ rhine_reset(nic); -+ - printf ("rhine disable\n"); - /* Switch to loopback mode to avoid hardware races. */ - writeb(0x60 | 0x01, byTCR); -@@ -1002,17 +1100,10 @@ - int rx_bufs_tmp, rx_bufs_tmp1; - int tx_bufs_tmp, tx_bufs_tmp1; - --#ifdef USE_LOWMEM_BUFFER --#define buf1 (0x10000 - (RX_RING_SIZE * PKT_BUF_SZ + 32)) --#define buf2 (buf1 - (RX_RING_SIZE * PKT_BUF_SZ + 32)) --#define desc1 (buf2 - (TX_RING_SIZE * sizeof (struct rhine_tx_desc) + 32)) --#define desc2 (desc1 - (TX_RING_SIZE * sizeof (struct rhine_tx_desc) + 32)) --#else - static char buf1[RX_RING_SIZE * PKT_BUF_SZ + 32]; - static char buf2[RX_RING_SIZE * PKT_BUF_SZ + 32]; - static char desc1[TX_RING_SIZE * sizeof (struct rhine_tx_desc) + 32]; - static char desc2[TX_RING_SIZE * sizeof (struct rhine_tx_desc) + 32]; --#endif - - /* printf ("rhine_reset\n"); */ - /* Soft reset the chip. */ -@@ -1069,6 +1160,9 @@ - outl (virt_to_bus (tp->rx_ring), dwCurrentRxDescAddr); - outl (virt_to_bus (tp->tx_ring), dwCurrentTxDescAddr); - -+ /* Setup Multicast */ -+ set_rx_mode(nic); -+ - /* close IMR */ - outw (0x0000, byIMR0); - -@@ -1093,15 +1187,34 @@ - /*set IMR to work */ - outw (IMRShadow, byIMR0); - } -+/* Beware of PCI posted writes */ -+#define IOSYNC do { readb(nic->ioaddr + StationAddr); } while (0) - - static int --rhine_poll (struct nic *nic) -+rhine_poll (struct nic *nic, int retreive) - { - struct rhine_private *tp = (struct rhine_private *) nic->priv_data; - int rxstatus, good = 0;; - - if (tp->rx_ring[tp->cur_rx].rx_status.bits.own_bit == 0) - { -+ unsigned int intr_status; -+ /* There is a packet ready */ -+ if(!retreive) -+ return 1; -+ -+ intr_status = inw(nic->ioaddr + IntrStatus); -+ /* On Rhine-II, Bit 3 indicates Tx descriptor write-back race. */ -+#if 0 -+ if (tp->chip_id == 0x3065) -+ intr_status |= inb(nic->ioaddr + IntrStatus2) << 16; -+#endif -+ /* Acknowledge all of the current interrupt sources ASAP. */ -+ if (intr_status & IntrTxDescRace) -+ outb(0x08, nic->ioaddr + IntrStatus2); -+ outw(intr_status & 0xffff, nic->ioaddr + IntrStatus); -+ IOSYNC; -+ - rxstatus = tp->rx_ring[tp->cur_rx].rx_status.lw; - if ((rxstatus & 0x0300) != 0x0300) - { -@@ -1124,6 +1237,11 @@ - tp->cur_rx++; - tp->cur_rx = tp->cur_rx % RX_RING_SIZE; - } -+ /* Acknowledge all of the current interrupt sources ASAP. */ -+ outw(DEFAULT_INTR & ~IntrRxDone, nic->ioaddr + IntrStatus); -+ -+ IOSYNC; -+ - return good; - } - -@@ -1152,7 +1270,7 @@ - while (s < ETH_ZLEN) - *((char *) tp->tx_buffs[entry] + ETH_HLEN + (s++)) = 0; - -- tp->tx_ring[entry].tx_ctrl.bits.tx_buf_size = ETH_HLEN + s; -+ tp->tx_ring[entry].tx_ctrl.bits.tx_buf_size = s; - - tp->tx_ring[entry].tx_status.bits.own_bit = 1; - -@@ -1170,6 +1288,9 @@ - /*printf("td4=[%X]",inl(dwCurrentTDSE3)); */ - - outb (CR1bak, byCR1); -+ /* Wait until transmit is finished */ -+ while (tp->tx_ring[entry].tx_status.bits.own_bit != 0) -+ ; - tp->cur_tx++; - - /*outw(IMRShadow,byIMR0); */ -@@ -1177,4 +1298,21 @@ - /*tp->tx_skbuff[entry] = 0; */ - } - -+static struct pci_id rhine_nics[] = { -+PCI_ROM(0x1106, 0x3065, "dlink-530tx", "VIA 6102"), -+PCI_ROM(0x1106, 0x3106, "via-rhine-6105", "VIA 6105"), -+PCI_ROM(0x1106, 0x3043, "dlink-530tx-old", "VIA 3043"), /* Rhine-I 86c100a */ -+PCI_ROM(0x1106, 0x3053, "via6105m", "VIA 6105M"), -+PCI_ROM(0x1106, 0x6100, "via-rhine-old", "VIA 86C100A"), /* Rhine-II */ -+}; -+ -+struct pci_driver rhine_driver = { -+ .type = NIC_DRIVER, -+ .name = "VIA 86C100", -+ .probe = rhine_probe, -+ .ids = rhine_nics, -+ .id_count = sizeof(rhine_nics)/sizeof(rhine_nics[0]), -+ .class = 0, -+}; -+ - /* EOF via-rhine.c */ -Index: b/netboot/w89c840.c -=================================================================== ---- a/netboot/w89c840.c -+++ b/netboot/w89c840.c -@@ -43,6 +43,9 @@ - * using timer2 routines. Proposed - * by Ken Yap to eliminate CPU speed - * dependency. -+ * Dec 12 2003 V0.94 timlegge Fixed issues in 5.2, removed -+ * interrupt usage, enabled -+ * multicast support - * - * This is the etherboot driver for cards based on Winbond W89c840F chip. - * -@@ -77,10 +80,9 @@ - #include "etherboot.h" - #include "nic.h" - #include "pci.h" --#include "cards.h" - #include "timer.h" - --static const char *w89c840_version = "diver Version 0.92 - August 27, 2000"; -+static const char *w89c840_version = "driver Version 0.94 - December 12, 2003"; - - typedef unsigned char u8; - typedef signed char s8; -@@ -90,9 +92,6 @@ - typedef signed int s32; - - /* Linux support functions */ --#define virt_to_bus(x) ((unsigned long)x) --#define bus_to_virt(x) ((void *)x) -- - #define virt_to_le32desc(addr) virt_to_bus(addr) - #define le32desc_to_virt(addr) bus_to_virt(addr) - -@@ -109,7 +108,6 @@ - bonding and packet priority. - There are no ill effects from too-large receive rings. */ - #define TX_RING_SIZE 2 -- - #define RX_RING_SIZE 2 - - /* The presumed FIFO size for working around the Tx-FIFO-overflow bug. -@@ -260,32 +258,20 @@ - - static int ioaddr; - static unsigned short eeprom [0x40]; -- --#ifdef USE_LOWMEM_BUFFER --#define rx_packet ((char *)0x10000 - PKT_BUF_SZ * RX_RING_SIZE) --#define tx_packet ((char *)0x10000 - PKT_BUF_SZ * RX_RING_SIZE - PKT_BUF_SZ * TX_RING_SIZE) --#else - static char rx_packet[PKT_BUF_SZ * RX_RING_SIZE]; - static char tx_packet[PKT_BUF_SZ * TX_RING_SIZE]; --#endif - - static int eeprom_read(long ioaddr, int location); - static int mdio_read(int base_address, int phy_id, int location); -+#if 0 - static void mdio_write(int base_address, int phy_id, int location, int value); -+#endif - - static void check_duplex(void); - static void set_rx_mode(void); - static void init_ring(void); - --/* --static void wait_long_time(void) --{ -- printf("Paused - please read output above this line\n"); -- sleep(3); --} --*/ -- --#if defined W89C840_DEBUG -+#if defined(W89C840_DEBUG) - static void decode_interrupt(u32 intr_status) - { - printf("Interrupt status: "); -@@ -349,15 +335,17 @@ - check_duplex(); - set_rx_mode(); - -- /* Clear and Enable interrupts by setting the interrupt mask. */ -+ /* Do not enable the interrupts Etherboot doesn't need them */ -+/* - writel(0x1A0F5, ioaddr + IntrStatus); - writel(0x1A0F5, ioaddr + IntrEnable); -- -+*/ - #if defined(W89C840_DEBUG) - printf("winbond-840 : Done reset.\n"); - #endif - } - -+#if 0 - static void handle_intr(u32 intr_stat) - { - if ((intr_stat & (NormalIntr|AbnormalIntr)) == 0) { -@@ -372,7 +360,7 @@ - /* There was an abnormal interrupt */ - printf("\n-=- Abnormal interrupt.\n"); - --#if defined (W89C840_DEBUG) -+#if defined(W89C840_DEBUG) - decode_interrupt(intr_stat); - #endif - -@@ -383,19 +371,21 @@ - } - } - } -+#endif - - /************************************************************************** - w89c840_poll - Wait for a frame - ***************************************************************************/ --static int w89c840_poll(struct nic *nic) -+static int w89c840_poll(struct nic *nic, int retrieve) - { - /* return true if there's an ethernet packet ready to read */ - /* nic->packet should contain data on return */ - /* nic->packetlen should contain length of data */ - int packet_received = 0; - -+#if defined(W89C840_DEBUG) - u32 intr_status = readl(ioaddr + IntrStatus); -- /* handle_intr(intr_status); */ /* -- handled later */ -+#endif - - do { - /* Code from netdev_rx(dev) */ -@@ -411,6 +401,11 @@ - break; - } - -+ if ( !retrieve ) { -+ packet_received = 1; -+ break; -+ } -+ - if ((status & 0x38008300) != 0x0300) { - if ((status & 0x38000300) != 0x0300) { - /* Ingore earlier buffers. */ -@@ -478,11 +473,7 @@ - entry = (++w840private.cur_rx) % RX_RING_SIZE; - w840private.rx_head_desc = &w840private.rx_ring[entry]; - } while (0); -- -- if (intr_status & (AbnormalIntr | TxFIFOUnderflow | IntrPCIErr |TimerInt | IntrTxStopped)) { -- handle_intr(intr_status); -- } -- -+ - return packet_received; - } - -@@ -521,13 +512,13 @@ - - w840private.tx_ring[entry].buffer1 = virt_to_le32desc(tx_packet); - -- w840private.tx_ring[entry].length = (DescWholePkt | s); -+ w840private.tx_ring[entry].length = (DescWholePkt | (u32) s); - if (entry >= TX_RING_SIZE-1) /* Wrap ring */ - w840private.tx_ring[entry].length |= (DescIntr | DescEndRing); - w840private.tx_ring[entry].status = (DescOwn); - w840private.cur_tx++; - -- w840private.tx_q_bytes += s; -+ w840private.tx_q_bytes = (u16) s; - writel(0, ioaddr + TxStartDemand); - - /* Work around horrible bug in the chip by marking the queue as full -@@ -550,33 +541,29 @@ - load_timer2(TX_TIMEOUT); - - { -+#if defined W89C840_DEBUG - u32 intr_stat = 0; -- -+#endif - while (1) { - -- intr_stat = readl(ioaddr + IntrStatus); - #if defined(W89C840_DEBUG) -- decode_interrupt(intr_stat); -+ decode_interrupt(intr_stat); - #endif - -- if (intr_stat & (NormalIntr | IntrTxDone)) { -- - while ( (transmit_status & DescOwn) && timer2_running()) { - - transmit_status = w840private.tx_ring[entry].status; - } - -- writel(intr_stat & 0x0001ffff, ioaddr + IntrStatus); - break; -- } - } - } - - if ((transmit_status & DescOwn) == 0) { - - #if defined(W89C840_DEBUG) -- printf("winbond-840 : transmission complete after %d wait loop iterations, status %X\n", -- TX_LOOP_COUNT - transmit_loop_counter, w840private.tx_ring[entry].status); -+ printf("winbond-840 : transmission complete after wait loop iterations, status %X\n", -+ w840private.tx_ring[entry].status); - #endif - - return; -@@ -592,8 +579,12 @@ - /************************************************************************** - w89c840_disable - Turn off ethernet interface - ***************************************************************************/ --static void w89c840_disable(struct nic *nic) -+static void w89c840_disable(struct dev *dev) - { -+ struct nic *nic = (struct nic *)dev; -+ /* merge reset and disable */ -+ w89c840_reset(nic); -+ - /* Don't know what to do to disable the board. Is this needed at all? */ - /* Yes, a live NIC can corrupt the loaded memory later [Ken] */ - /* Stop the chip's Tx and Rx processes. */ -@@ -601,20 +592,37 @@ - } - - /************************************************************************** -+w89c840_irq - Enable, Disable, or Force interrupts -+***************************************************************************/ -+static void w89c840_irq(struct nic *nic __unused, irq_action_t action __unused) -+{ -+ switch ( action ) { -+ case DISABLE : -+ break; -+ case ENABLE : -+ break; -+ case FORCE : -+ break; -+ } -+} -+ -+/************************************************************************** - w89c840_probe - Look for an adapter, this routine's visible to the outside - ***************************************************************************/ --struct nic *w89c840_probe(struct nic *nic, unsigned short *probe_addrs, struct pci_device *p) -+static int w89c840_probe(struct dev *dev, struct pci_device *p) - { -+ struct nic *nic = (struct nic *)dev; - u16 sum = 0; -- int i, j, to; -+ int i, j; - unsigned short value; -- int options; -- int promisc; - -- if (probe_addrs == 0 || probe_addrs[0] == 0) -+ if (p->ioaddr == 0) - return 0; - -- ioaddr = probe_addrs[0]; /* Mask the bit that says "this is an io addr" */ -+ ioaddr = p->ioaddr; -+ nic->ioaddr = p->ioaddr & ~3; -+ nic->irqno = 0; -+ - - #if defined(W89C840_DEBUG) - printf("winbond-840: PCI bus %hhX device function %hhX: I/O address: %hX\n", p->bus, p->devfn, ioaddr); -@@ -622,8 +630,6 @@ - - ioaddr = ioaddr & ~3; /* Mask the bit that says "this is an io addr" */ - -- /* if probe_addrs is 0, then routine can use a hardwired default */ -- - /* From Matt Hortman */ - if (p->vendor == PCI_VENDOR_ID_WINBOND2 - && p->dev_id == PCI_DEVICE_ID_WINBOND2_89C840) { -@@ -689,14 +695,14 @@ - } - - /* point to NIC specific routines */ -- nic->reset = w89c840_reset; -- nic->poll = w89c840_poll; -+ dev->disable = w89c840_disable; -+ nic->poll = w89c840_poll; - nic->transmit = w89c840_transmit; -- nic->disable = w89c840_disable; -+ nic->irq = w89c840_irq; - - w89c840_reset(nic); - -- return nic; -+ return 1; - } - - /* Read the EEPROM and MII Management Data I/O (MDIO) interfaces. These are -@@ -814,6 +820,7 @@ - return (retval>>1) & 0xffff; - } - -+#if 0 - static void mdio_write(int base_address, int phy_id, int location, int value) - { - long mdio_addr = base_address + MIICtrl; -@@ -844,6 +851,7 @@ - } - return; - } -+#endif - - static void check_duplex(void) - { -@@ -877,12 +885,10 @@ - memset(mc_filter, 0xff, sizeof(mc_filter)); - - /* -- * Actually, should work OK with multicast enabled. -- iko -- */ --/* -- * rx_mode = AcceptBroadcast | AcceptMyPhys | AcceptMulticast; -+ * works OK with multicast enabled. - */ -- rx_mode = AcceptBroadcast | AcceptMyPhys; -+ -+ rx_mode = AcceptBroadcast | AcceptMyPhys | AcceptMulticast; - - writel(mc_filter[0], ioaddr + MulticastFilter0); - writel(mc_filter[1], ioaddr + MulticastFilter1); -@@ -932,3 +938,18 @@ - } - return; - } -+ -+ -+static struct pci_id w89c840_nics[] = { -+PCI_ROM(0x1050, 0x0840, "winbond840", "Winbond W89C840F"), -+PCI_ROM(0x11f6, 0x2011, "compexrl100atx", "Compex RL100ATX"), -+}; -+ -+struct pci_driver w89c840_driver = { -+ .type = NIC_DRIVER, -+ .name = "W89C840F", -+ .probe = w89c840_probe, -+ .ids = w89c840_nics, -+ .id_count = sizeof(w89c840_nics)/sizeof(w89c840_nics[0]), -+ .class = 0, -+}; -Index: b/stage2/disk_io.c -=================================================================== ---- a/stage2/disk_io.c -+++ b/stage2/disk_io.c -@@ -25,6 +25,7 @@ - #ifdef SUPPORT_NETBOOT - # define GRUB 1 - # include -+# include - #endif - - #ifdef GRUB_UTIL diff --git a/boot/grub/grub.hash b/boot/grub/grub.hash deleted file mode 100644 index 566dec8c39..0000000000 --- a/boot/grub/grub.hash +++ /dev/null @@ -1,3 +0,0 @@ -# From http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/g/grub/grub_0.97-68.dsc -sha256 4e1d15d12dbd3e9208111d6b806ad5a9857ca8850c47877d36575b904559260b grub_0.97.orig.tar.gz -sha256 a453489cf1fec5d311a0b76dea8c8b2ff67eee1a3eba6c06ab80864494d9773c grub_0.97-68.diff.gz diff --git a/boot/grub/grub.mk b/boot/grub/grub.mk deleted file mode 100644 index ae687d6b18..0000000000 --- a/boot/grub/grub.mk +++ /dev/null @@ -1,109 +0,0 @@ -################################################################################ -# -# grub -# -################################################################################ - -GRUB_VERSION = 0.97 -GRUB_SOURCE = grub_$(GRUB_VERSION).orig.tar.gz -GRUB_PATCH = grub_$(GRUB_VERSION)-68.diff.gz -GRUB_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/g/grub - -GRUB_LICENSE = GPLv2+ -GRUB_LICENSE_FILES = COPYING - -# Passing -O0 since the default -O2 passed by Buildroot generates -# non-working stage2. Passing --build-id=none to the linker, because -# the ".note.gnu.build-id" ELF sections generated by default confuse -# objcopy when generating raw binaries. Passing -fno-stack-protector -# to avoid undefined references to __stack_chk_fail. -GRUB_CFLAGS = \ - -DSUPPORT_LOOPDEV \ - -O0 -Wl,--build-id=none \ - -fno-stack-protector - -GRUB_CONFIG-y += $(if $(BR2_TARGET_GRUB_SPLASH),--enable-graphics,--disable-graphics) - -GRUB_CONFIG-$(BR2_TARGET_GRUB_DISKLESS) += --enable-diskless -GRUB_CONFIG-$(BR2_TARGET_GRUB_3c595) += --enable-3c595 -GRUB_CONFIG-$(BR2_TARGET_GRUB_3c90x) += --enable-3c90x -GRUB_CONFIG-$(BR2_TARGET_GRUB_davicom) += --enable-davicom -GRUB_CONFIG-$(BR2_TARGET_GRUB_e1000) += --enable-e1000 -GRUB_CONFIG-$(BR2_TARGET_GRUB_eepro100) += --enable-eepro100 -GRUB_CONFIG-$(BR2_TARGET_GRUB_epic100) += --enable-epic100 -GRUB_CONFIG-$(BR2_TARGET_GRUB_forcedeth) += --enable-forcedeth -GRUB_CONFIG-$(BR2_TARGET_GRUB_natsemi) += --enable-natsemi -GRUB_CONFIG-$(BR2_TARGET_GRUB_ns83820) += --enable-ns83820 -GRUB_CONFIG-$(BR2_TARGET_GRUB_ns8390) += --enable-ns8390 -GRUB_CONFIG-$(BR2_TARGET_GRUB_pcnet32) += --enable-pcnet32 -GRUB_CONFIG-$(BR2_TARGET_GRUB_pnic) += --enable-pnic -GRUB_CONFIG-$(BR2_TARGET_GRUB_rtl8139) += --enable-rtl8139 -GRUB_CONFIG-$(BR2_TARGET_GRUB_r8169) += --enable-r8169 -GRUB_CONFIG-$(BR2_TARGET_GRUB_sis900) += --enable-sis900 -GRUB_CONFIG-$(BR2_TARGET_GRUB_tg3) += --enable-tg3 -GRUB_CONFIG-$(BR2_TARGET_GRUB_tulip) += --enable-tulip -GRUB_CONFIG-$(BR2_TARGET_GRUB_tlan) += --enable-tlan -GRUB_CONFIG-$(BR2_TARGET_GRUB_undi) += --enable-undi -GRUB_CONFIG-$(BR2_TARGET_GRUB_via_rhine) += --enable-via-rhine -GRUB_CONFIG-$(BR2_TARGET_GRUB_w89c840) += --enable-w89c840 - -GRUB_CONFIG-y += $(if $(BR2_TARGET_GRUB_FS_EXT2),--enable-ext2fs,--disable-ext2fs) -GRUB_CONFIG-y += $(if $(BR2_TARGET_GRUB_FS_FAT),--enable-fat,--disable-fat) -GRUB_CONFIG-y += $(if $(BR2_TARGET_GRUB_FS_ISO9660),--enable-iso9660,--disable-iso9660) -GRUB_CONFIG-y += $(if $(BR2_TARGET_GRUB_FS_JFS),--enable-jfs,--disable-jfs) -GRUB_CONFIG-y += $(if $(BR2_TARGET_GRUB_FS_REISERFS),--enable-reiserfs,--disable-reiserfs) -GRUB_CONFIG-y += $(if $(BR2_TARGET_GRUB_FS_XFS),--enable-xfs,--disable-xfs) -GRUB_CONFIG-y += --disable-ffs --disable-ufs2 --disable-minix --disable-vstafs - -GRUB_STAGE_1_5_TO_INSTALL += $(if $(BR2_TARGET_GRUB_FS_EXT2),e2fs) -GRUB_STAGE_1_5_TO_INSTALL += $(if $(BR2_TARGET_GRUB_FS_FAT),fat) -GRUB_STAGE_1_5_TO_INSTALL += $(if $(BR2_TARGET_GRUB_FS_ISO9660),iso9660) -GRUB_STAGE_1_5_TO_INSTALL += $(if $(BR2_TARGET_GRUB_FS_JFS),jfs) -GRUB_STAGE_1_5_TO_INSTALL += $(if $(BR2_TARGET_GRUB_FS_REISERFS),reiserfs) -GRUB_STAGE_1_5_TO_INSTALL += $(if $(BR2_TARGET_GRUB_FS_XFS),xfs) - -define GRUB_DEBIAN_PATCHES - # Apply the patches from the Debian patch - (cd $(@D) ; for f in `cat debian/patches/series | grep -v ^#` ; do \ - cat debian/patches/$$f | patch -g0 -p1 ; \ - done) -endef - -GRUB_POST_PATCH_HOOKS += GRUB_DEBIAN_PATCHES - -GRUB_CONF_ENV = \ - $(HOST_CONFIGURE_OPTS) \ - CFLAGS="$(HOST_CFLAGS) $(GRUB_CFLAGS) -m32" - -GRUB_CONF_OPTS = \ - --disable-auto-linux-mem-opt \ - $(GRUB_CONFIG-y) - -ifeq ($(BR2_TARGET_GRUB_SPLASH),y) -define GRUB_INSTALL_SPLASH - $(INSTALL) -D -m 0644 boot/grub/splash.xpm.gz $(TARGET_DIR)/boot/grub/splash.xpm.gz -endef -else -define GRUB_INSTALL_SPLASH - $(SED) '/^splashimage/d' $(TARGET_DIR)/boot/grub/menu.lst -endef -endif - -# We're cheating here as we're installing the grub binary not in the -# target directory (where it is useless), but in the host -# directory. This grub binary can be used to install grub into the MBR -# of a disk or disk image. - -define GRUB_INSTALL_TARGET_CMDS - $(INSTALL) -D -m 0755 $(@D)/grub/grub $(HOST_DIR)/sbin/grub - $(INSTALL) -D -m 0755 $(@D)/stage1/stage1 $(TARGET_DIR)/boot/grub/stage1 - for f in $(GRUB_STAGE_1_5_TO_INSTALL) ; do \ - $(INSTALL) -D -m 0755 $(@D)/stage2/$${f}_stage1_5 \ - $(TARGET_DIR)/boot/grub/$${f}_stage1_5 ; \ - done - $(INSTALL) -D -m 0644 $(@D)/stage2/stage2 $(TARGET_DIR)/boot/grub/stage2 - $(INSTALL) -D -m 0644 boot/grub/menu.lst $(TARGET_DIR)/boot/grub/menu.lst - $(GRUB_INSTALL_SPLASH) -endef - -$(eval $(autotools-package)) diff --git a/boot/grub/menu.lst b/boot/grub/menu.lst deleted file mode 100644 index 9f14da7ddd..0000000000 --- a/boot/grub/menu.lst +++ /dev/null @@ -1,16 +0,0 @@ -default 0 -timeout 10 - -# Used when no splashimage is used -color cyan/blue white/blue - -# Gets enabled/disabled depending on Grub support for splashimage -splashimage (hd0,0)/boot/grub/splash.xpm.gz - -# Used when a splashimage is enabled -foreground 000000 -background cccccc - -title Buildroot - root (hd0,0) - kernel /boot/bzImage rw root=/dev/sda1 rootwait diff --git a/boot/grub/splash.xpm.gz b/boot/grub/splash.xpm.gz deleted file mode 100644 index 6b30d3de00..0000000000 Binary files a/boot/grub/splash.xpm.gz and /dev/null differ diff --git a/boot/grub2/0001-remove-gets.patch b/boot/grub2/0001-remove-gets.patch deleted file mode 100644 index 0da71b3292..0000000000 --- a/boot/grub2/0001-remove-gets.patch +++ /dev/null @@ -1,21 +0,0 @@ -ISO C11 removes the specification of gets() from the C language, eglibc 2.16+ removed it - -Signed-off-by: Khem Raj -Signed-off-by: Thomas Petazzoni - -Upstream-Status: Pending -Index: grub-1.99/grub-core/gnulib/stdio.in.h -=================================================================== ---- grub-1.99.orig/grub-core/gnulib/stdio.in.h 2010-12-01 06:45:43.000000000 -0800 -+++ grub-1.99/grub-core/gnulib/stdio.in.h 2012-07-04 12:25:02.057099107 -0700 -@@ -140,8 +140,10 @@ - /* It is very rare that the developer ever has full control of stdin, - so any use of gets warrants an unconditional warning. Assume it is - always declared, since it is required by C89. */ -+#if defined gets - #undef gets - _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); -+#endif - - #if @GNULIB_FOPEN@ - # if @REPLACE_FOPEN@ diff --git a/boot/grub2/0002-grub-core-gettext-gettext.c-main_context-secondary_c.patch b/boot/grub2/0002-grub-core-gettext-gettext.c-main_context-secondary_c.patch deleted file mode 100644 index 94be092710..0000000000 --- a/boot/grub2/0002-grub-core-gettext-gettext.c-main_context-secondary_c.patch +++ /dev/null @@ -1,39 +0,0 @@ -From f30c692c1f9ef0e93bee2b408a24baa017f1ca9d Mon Sep 17 00:00:00 2001 -From: Vladimir Serbinenko -Date: Thu, 7 Nov 2013 01:01:47 +0100 -Subject: [PATCH] * grub-core/gettext/gettext.c (main_context), - (secondary_context): Define after defining type and not before. - -[Thomas: backport from upstream commit -f30c692c1f9ef0e93bee2b408a24baa017f1ca9d, and remove ChangeLog -modifications to avoid conflicts.] -Signed-off-by: Thomas Petazzoni ---- - grub-core/gettext/gettext.c | 4 ++-- - 2 files changed, 7 insertions(+), 2 deletions(-) - -diff --git a/grub-core/gettext/gettext.c b/grub-core/gettext/gettext.c -index df73570..4880cef 100644 ---- a/grub-core/gettext/gettext.c -+++ b/grub-core/gettext/gettext.c -@@ -34,8 +34,6 @@ GRUB_MOD_LICENSE ("GPLv3+"); - http://www.gnu.org/software/autoconf/manual/gettext/MO-Files.html . - */ - --static struct grub_gettext_context main_context, secondary_context; -- - static const char *(*grub_gettext_original) (const char *s); - - struct grub_gettext_msg -@@ -69,6 +67,8 @@ struct grub_gettext_context - struct grub_gettext_msg *grub_gettext_msg_list; - }; - -+static struct grub_gettext_context main_context, secondary_context; -+ - #define MO_MAGIC_NUMBER 0x950412de - - static grub_err_t --- -2.7.4 - diff --git a/boot/grub2/Config.in b/boot/grub2/Config.in index 7dc5cae218..9a61b3b633 100644 --- a/boot/grub2/Config.in +++ b/boot/grub2/Config.in @@ -1,6 +1,12 @@ +config BR2_TARGET_GRUB2_ARCH_SUPPORTS + bool + default y if BR2_i386 + default y if BR2_x86_64 + config BR2_TARGET_GRUB2 bool "grub2" - depends on BR2_i386 || BR2_x86_64 + depends on BR2_TARGET_GRUB2_ARCH_SUPPORTS + depends on BR2_USE_WCHAR help GNU GRUB is a Multiboot boot loader. It was derived from GRUB, the GRand Unified Bootloader, which was originally @@ -11,104 +17,8 @@ config BR2_TARGET_GRUB2 Amongst others, GRUB2 offers EFI support, which GRUB Legacy doesn't provide. - Notes on using Grub2 for BIOS-based platforms - ============================================= - - 1. Create a disk image - dd if=/dev/zero of=disk.img bs=1M count=32 - 2. Partition it (either legacy or GPT style partitions work) - cfdisk disk.img - - Create one partition, type Linux, for the root - filesystem. The only constraint is to make sure there - is enough free space *before* the first partition to - store Grub2. Leaving 1 MB of free space is safe. - 3. Setup loop device and loop partitions - sudo losetup -f disk.img - sudo partx -a /dev/loop0 - 4. Prepare the root partition - sudo mkfs.ext3 -L root /dev/loop0p1 - sudo mount /dev/loop0p1 /mnt - sudo tar -C /mnt -xf output/images/rootfs.tar - sudo umount /mnt - 5. Install Grub2 - sudo ./output/host/usr/sbin/grub-bios-setup \ - -b ./output/host/usr/lib/grub/i386-pc/boot.img \ - -c ./output/images/grub.img -d . /dev/loop0 - 6. Cleanup loop device - sudo partx -d /dev/loop0 - sudo losetup -d /dev/loop0 - 7. Your disk.img is ready! - - Using genimage - -------------- - - If you use genimage to generate your complete image, - installing Grub can be tricky. Here is how to achieve Grub's - installation with genimage: - - partition boot { - in-partition-table = "no" - image = "path_to_boot.img" - offset = 0 - size = 512 - } - partition grub { - in-partition-table = "no" - image = "path_to_grub.img" - offset = 512 - } - - The result is not byte to byte identical to what - grub-bios-setup does but it works anyway. - - To test your BIOS image in Qemu - ------------------------------- - - qemu-system-{i386,x86-64} -hda disk.img - - Notes on using Grub2 for EFI-based platforms - ============================================ - - 1. Create a disk image - dd if=/dev/zero of=disk.img bs=1M count=32 - 2. Partition it with GPT partitions - cgdisk disk.img - - Create a first partition, type EF00, for the - bootloader and kernel image - - Create a second partition, type 8300, for the root - filesystem. - 3. Setup loop device and loop partitions - sudo losetup -f disk.img - sudo partx -a /dev/loop0 - 4. Prepare the boot partition - sudo mkfs.vfat -n boot /dev/loop0p1 - sudo mount /dev/loop0p1 /mnt - sudo cp -a output/images/efi-part/* /mnt/ - sudo cp output/images/bzImage /mnt/ - sudo umount /mnt - 5. Prepare the root partition - sudo mkfs.ext3 -L root /dev/loop0p2 - sudo mount /dev/loop0p2 /mnt - sudo tar -C /mnt -xf output/images/rootfs.tar - sudo umount /mnt - 6 Cleanup loop device - sudo partx -d /dev/loop0 - sudo losetup -d /dev/loop0 - 7. Your disk.img is ready! - - To test your EFI image in Qemu - ------------------------------ - - 1. Download the EFI BIOS for Qemu - Version IA32 or X64 depending on the chosen Grub2 - platform (i386-efi vs. x86-64-efi) - http://sourceforge.net/projects/edk2/files/OVMF/ - 2. Extract, and rename OVMF.fd to bios.bin and - CirrusLogic5446.rom to vgabios-cirrus.bin. - 3. qemu-system-{i386,x86-64} -L ovmf-dir/ -hda disk.img - 4. Make sure to pass pci=nocrs to the kernel command line, - to workaround a bug in the EFI BIOS regarding the - EFI framebuffer. + For additional notes on using Grub 2 with Buildroot, see + boot/grub2/readme.txt http://www.gnu.org/software/grub/ @@ -167,3 +77,7 @@ config BR2_TARGET_GRUB2_BUILTIN_CONFIG entries cannot be described in this embedded configuration. endif # BR2_TARGET_GRUB2 + +comment "grub2 needs a toolchain w/ wchar" + depends on BR2_TARGET_GRUB2_ARCH_SUPPORTS + depends on !BR2_USE_WCHAR diff --git a/boot/grub2/grub2.hash b/boot/grub2/grub2.hash index 88839056fb..7f0679fe3a 100644 --- a/boot/grub2/grub2.hash +++ b/boot/grub2/grub2.hash @@ -1,2 +1,2 @@ -# Locally calculated after checking pgp signature -sha256 784ec38e7edc32239ad75b8e66df04dc8bfb26d88681bc9f627133a6eb85c458 grub-2.00.tar.xz +# Locally computed: +sha256 810b3798d316394f94096ec2797909dbf23c858e48f7b3830826b8daa06b7b0f grub-2.02.tar.xz diff --git a/boot/grub2/grub2.mk b/boot/grub2/grub2.mk index dc4e51ea8e..492cddf1a5 100644 --- a/boot/grub2/grub2.mk +++ b/boot/grub2/grub2.mk @@ -4,10 +4,10 @@ # ################################################################################ -GRUB2_VERSION = 2.00 -GRUB2_SITE = $(BR2_GNU_MIRROR)/grub +GRUB2_VERSION = 2.02 +GRUB2_SITE = http://ftp.gnu.org/gnu/grub GRUB2_SOURCE = grub-$(GRUB2_VERSION).tar.xz -GRUB2_LICENSE = GPLv3+ +GRUB2_LICENSE = GPL-3.0+ GRUB2_LICENSE_FILES = COPYING GRUB2_DEPENDENCIES = host-bison host-flex @@ -46,14 +46,14 @@ endif # bootloader itself; none of these are used to build the native # tools. # -# NOTE: TARGET_STRIP is overridden by BR2_STRIP_none, so always +# NOTE: TARGET_STRIP is overridden by !BR2_STRIP_strip, so always # use the cross compile variant to ensure grub2 builds GRUB2_CONF_ENV = \ $(HOST_CONFIGURE_OPTS) \ CPP="$(HOSTCC) -E" \ TARGET_CC="$(TARGET_CC)" \ - TARGET_CFLAGS="$(TARGET_CFLAGS)" \ + TARGET_CFLAGS="$(TARGET_CFLAGS) -fno-stack-protector" \ TARGET_CPPFLAGS="$(TARGET_CPPFLAGS)" \ TARGET_LDFLAGS="$(TARGET_LDFLAGS)" \ NM="$(TARGET_NM)" \ @@ -63,6 +63,8 @@ GRUB2_CONF_ENV = \ GRUB2_CONF_OPTS = \ --target=$(GRUB2_TARGET) \ --with-platform=$(GRUB2_PLATFORM) \ + --prefix=/ \ + --exec-prefix=/ \ --disable-grub-mkfont \ --enable-efiemu=no \ ac_cv_lib_lzma_lzma_code=no \ @@ -79,15 +81,15 @@ GRUB2_INSTALL_TARGET_OPTS = DESTDIR=$(HOST_DIR) install ifeq ($(BR2_TARGET_GRUB2_I386_PC),y) define GRUB2_IMAGE_INSTALL_ELTORITO - cat $(HOST_DIR)/usr/lib/grub/$(GRUB2_TUPLE)/cdboot.img $(GRUB2_IMAGE) > \ + cat $(HOST_DIR)/lib/grub/$(GRUB2_TUPLE)/cdboot.img $(GRUB2_IMAGE) > \ $(BINARIES_DIR)/grub-eltorito.img endef endif define GRUB2_IMAGE_INSTALLATION mkdir -p $(dir $(GRUB2_IMAGE)) - $(HOST_DIR)/usr/bin/grub-mkimage \ - -d $(HOST_DIR)/usr/lib/grub/$(GRUB2_TUPLE) \ + $(HOST_DIR)/bin/grub-mkimage \ + -d $(HOST_DIR)/lib/grub/$(GRUB2_TUPLE) \ -O $(GRUB2_TUPLE) \ -o $(GRUB2_IMAGE) \ -p "$(GRUB2_PREFIX)" \ diff --git a/boot/grub2/readme.txt b/boot/grub2/readme.txt new file mode 100644 index 0000000000..f6fd4566fe --- /dev/null +++ b/boot/grub2/readme.txt @@ -0,0 +1,98 @@ +Notes on using Grub2 for BIOS-based platforms +============================================= + +1. Create a disk image + dd if=/dev/zero of=disk.img bs=1M count=32 +2. Partition it (either legacy or GPT style partitions work) + cfdisk disk.img + - Create one partition, type Linux, for the root + filesystem. The only constraint is to make sure there + is enough free space *before* the first partition to + store Grub2. Leaving 1 MB of free space is safe. +3. Setup loop device and loop partitions + sudo losetup -f disk.img + sudo partx -a /dev/loop0 +4. Prepare the root partition + sudo mkfs.ext3 -L root /dev/loop0p1 + sudo mount /dev/loop0p1 /mnt + sudo tar -C /mnt -xf output/images/rootfs.tar + sudo umount /mnt +5. Install Grub2 + sudo ./output/host/sbin/grub-bios-setup \ + -b ./output/host/lib/grub/i386-pc/boot.img \ + -c ./output/images/grub.img -d . /dev/loop0 +6. Cleanup loop device + sudo partx -d /dev/loop0 + sudo losetup -d /dev/loop0 +7. Your disk.img is ready! + +Using genimage +-------------- + +If you use genimage to generate your complete image, +installing Grub can be tricky. Here is how to achieve Grub's +installation with genimage: + +partition boot { + in-partition-table = "no" + image = "path_to_boot.img" + offset = 0 + size = 512 +} +partition grub { + in-partition-table = "no" + image = "path_to_grub.img" + offset = 512 +} + +The result is not byte to byte identical to what +grub-bios-setup does but it works anyway. + +To test your BIOS image in Qemu +------------------------------- + +qemu-system-{i386,x86-64} -hda disk.img + +Notes on using Grub2 for EFI-based platforms +============================================ + +1. Create a disk image + dd if=/dev/zero of=disk.img bs=1M count=32 +2. Partition it with GPT partitions + cgdisk disk.img + - Create a first partition, type EF00, for the + bootloader and kernel image + - Create a second partition, type 8300, for the root + filesystem. +3. Setup loop device and loop partitions + sudo losetup -f disk.img + sudo partx -a /dev/loop0 +4. Prepare the boot partition + sudo mkfs.vfat -n boot /dev/loop0p1 + sudo mount /dev/loop0p1 /mnt + sudo cp -a output/images/efi-part/* /mnt/ + sudo cp output/images/bzImage /mnt/ + sudo umount /mnt +5. Prepare the root partition + sudo mkfs.ext3 -L root /dev/loop0p2 + sudo mount /dev/loop0p2 /mnt + sudo tar -C /mnt -xf output/images/rootfs.tar + sudo umount /mnt +6 Cleanup loop device + sudo partx -d /dev/loop0 + sudo losetup -d /dev/loop0 +7. Your disk.img is ready! + +To test your EFI image in Qemu +------------------------------ + +1. Download the EFI BIOS for Qemu + Version IA32 or X64 depending on the chosen Grub2 + platform (i386-efi vs. x86-64-efi) + http://sourceforge.net/projects/edk2/files/OVMF/ +2. Extract, and rename OVMF.fd to bios.bin and + CirrusLogic5446.rom to vgabios-cirrus.bin. +3. qemu-system-{i386,x86-64} -L ovmf-dir/ -hda disk.img +4. Make sure to pass pci=nocrs to the kernel command line, + to workaround a bug in the EFI BIOS regarding the + EFI framebuffer. diff --git a/boot/gummiboot/Config.in b/boot/gummiboot/Config.in new file mode 100644 index 0000000000..11dbc4f6b7 --- /dev/null +++ b/boot/gummiboot/Config.in @@ -0,0 +1,23 @@ +config BR2_TARGET_GUMMIBOOT + bool "gummiboot" + depends on BR2_i386 || BR2_x86_64 + select BR2_PACKAGE_GNU_EFI + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBBLKID + help + gummiboot is a simple UEFI boot manager which executes + configured EFI images. The default entry is selected by a + configured pattern (glob) or an on-screen menu. + + gummiboot operates on the EFI System Partition (ESP) + only. Configuration file fragments, kernels, initrds, other + EFI images need to reside on the ESP. Linux kernels need to + be built with CONFIG_EFI_STUB to be able to be directly + executed as an EFI image. + + See the Grub2 help text for details on preparing an EFI + capable disk image using Gummiboot: the instructions are + exactly the same, except that the Gummiboot configuration + files will be located in /loader/ inside the EFI partition. + + http://freedesktop.org/wiki/Software/gummiboot/ diff --git a/boot/gummiboot/buildroot.conf b/boot/gummiboot/buildroot.conf new file mode 100644 index 0000000000..8a6f02e56a --- /dev/null +++ b/boot/gummiboot/buildroot.conf @@ -0,0 +1,4 @@ +title Buildroot +version 1 +linux /bzImage +options console=ttyS0 root=/dev/sda2 diff --git a/boot/gummiboot/gummiboot.mk b/boot/gummiboot/gummiboot.mk new file mode 100644 index 0000000000..85a5daaeab --- /dev/null +++ b/boot/gummiboot/gummiboot.mk @@ -0,0 +1,43 @@ +################################################################################ +# +# gummiboot +# +################################################################################ + +GUMMIBOOT_SITE = http://cgit.freedesktop.org/gummiboot +GUMMIBOOT_SITE_METHOD = git +GUMMIBOOT_VERSION = 43 +GUMMIBOOT_LICENSE = LGPL-2.1+ +GUMMIBOOT_LICENSE_FILES = LICENSE + +# The git archive does not have the autoconf/automake stuff generated. +GUMMIBOOT_AUTORECONF = YES +GUMMIBOOT_DEPENDENCIES = gnu-efi host-pkgconf util-linux +GUMMIBOOT_INSTALL_TARGET = NO +GUMMIBOOT_INSTALL_IMAGES = YES + +ifeq ($(BR2_i386),y) +GUMMIBOOT_IMGARCH = ia32 +else ifeq ($(BR2_x86_64),y) +GUMMIBOOT_IMGARCH = x64 +endif + +GUMMIBOOT_CONF_OPTS = \ + --host=$(BR2_ARCH) \ + --with-efi-libdir=$(STAGING_DIR)/usr/lib \ + --with-efi-ldsdir=$(STAGING_DIR)/usr/lib \ + --with-efi-includedir=$(STAGING_DIR)/usr/include \ + --disable-manpages + +define GUMMIBOOT_INSTALL_IMAGES_CMDS + $(INSTALL) -D -m 0644 $(@D)/gummiboot$(GUMMIBOOT_IMGARCH).efi \ + $(BINARIES_DIR)/efi-part/EFI/BOOT/boot$(GUMMIBOOT_IMGARCH).efi + echo "boot$(GUMMIBOOT_IMGARCH).efi" > \ + $(BINARIES_DIR)/efi-part/startup.nsh + $(INSTALL) -D -m 0644 boot/gummiboot/loader.conf \ + $(BINARIES_DIR)/efi-part/loader/loader.conf + $(INSTALL) -D -m 0644 boot/gummiboot/buildroot.conf \ + $(BINARIES_DIR)/efi-part/loader/entries/buildroot.conf +endef + +$(eval $(autotools-package)) diff --git a/boot/gummiboot/loader.conf b/boot/gummiboot/loader.conf new file mode 100644 index 0000000000..93b77b8f93 --- /dev/null +++ b/boot/gummiboot/loader.conf @@ -0,0 +1,2 @@ +timeout 3 +default buildroot diff --git a/boot/lpc32xxcdl/Config.in b/boot/lpc32xxcdl/Config.in new file mode 100644 index 0000000000..ce7589c35c --- /dev/null +++ b/boot/lpc32xxcdl/Config.in @@ -0,0 +1,10 @@ +config BR2_TARGET_LPC32XXCDL + depends on BR2_arm926t + bool "LPC32XX CDL (kickstart and S1L)" + +if BR2_TARGET_LPC32XXCDL + +config BR2_TARGET_LPC32XXCDL_BOARDNAME + string "LPC32xx board name" + +endif #BR2_TARGET_LPC32XXCDL diff --git a/boot/lpc32xxcdl/lpc32xxcdl-2.11-compiler_name.patch b/boot/lpc32xxcdl/lpc32xxcdl-2.11-compiler_name.patch new file mode 100644 index 0000000000..6aecbdeba6 --- /dev/null +++ b/boot/lpc32xxcdl/lpc32xxcdl-2.11-compiler_name.patch @@ -0,0 +1,52 @@ +Use CROSS_COMPILE as compiler name and stop using libc + +Signed-off-by: Alexandre Belloni +--- + makerule/lpc32xx/make.lpc32xx.gnu | 22 +++++++++++----------- + 1 files changed, 11 insertions(+), 11 deletions(-) + +diff --git a/makerule/lpc32xx/make.lpc32xx.gnu b/makerule/lpc32xx/make.lpc32xx.gnu +index 1014c28..3277d99 100644 +--- a/makerule/lpc32xx/make.lpc32xx.gnu ++++ b/makerule/lpc32xx/make.lpc32xx.gnu +@@ -27,19 +27,19 @@ CFLAGS += -mno-sched-prolog -fno-hosted -mno-thumb-interwork -ffunction-sectio + CFLAGS += -I$(CSP_INC_DIR) -I$(BSP_INC_DIR) -I$(GEN_INC_DIR) + AFLAGS = -mcpu=arm926ej-s + AFLAGS += -I$(CSP_INC_DIR) -I$(BSP_INC_DIR) -I$(GEN_INC_DIR) +-CC = arm-none-eabi-gcc +-AS = arm-none-eabi-as +-AR = arm-none-eabi-ar -r +-LD = arm-none-eabi-gcc +-NM = arm-none-eabi-nm +-OBJDUMP = arm-none-eabi-objdump +-OBJCOPY = arm-none-eabi-objcopy +-READELF = arm-none-eabi-readelf ++CC = $(CROSS_COMPILE)gcc ++AS = $(CROSS_COMPILE)as ++AR = $(CROSS_COMPILE)ar -r ++LD = $(CROSS_COMPILE)gcc ++NM = $(CROSS_COMPILE)nm ++OBJDUMP = $(CROSS_COMPILE)objdump ++OBJCOPY = $(CROSS_COMPILE)objcopy ++READELF = $(CROSS_COMPILE)readelf + LDFLAGS += -Wl,--gc-sections + + LK = -static + LK += -Wl,--start-group $(TARGET_CSP_LIB) $(TARGET_BSP_LIB) $(TARGET_GEN_LIB) +-LK += -lgcc -lc -lg -lm -lstdc++ -lsupc++ ++LK += -nostdlib -lgcc #-lc -lg -lm -lstdc++ -lsupc++ + LK += -Wl,--end-group + MAP = -Xlinker -Map -Xlinker + LDESC = -Xlinker -T +@@ -47,6 +47,6 @@ ENTRY = -e + BIN = -bin + EXT = .elf + LEXT = +-ELFTOREC =arm-none-eabi-objcopy -O srec --strip-all --verbose +-ELFTOBIN =arm-none-eabi-objcopy -I elf32-littlearm -O binary --strip-all --verbose ++ELFTOREC = $(OBJCOPY) -O srec --strip-all --verbose ++ELFTOBIN = $(OBJCOPY) -I elf32-littlearm -O binary --strip-all --verbose + REC =.srec +-- +1.7.7.3 + diff --git a/boot/lpc32xxcdl/lpc32xxcdl-2.11-delete_redundant_files.patch b/boot/lpc32xxcdl/lpc32xxcdl-2.11-delete_redundant_files.patch new file mode 100644 index 0000000000..39966f01e9 --- /dev/null +++ b/boot/lpc32xxcdl/lpc32xxcdl-2.11-delete_redundant_files.patch @@ -0,0 +1,969 @@ +Remove duplicated files to stop the linker from complaining about duplicate +symbols + +Signed-off-by: Alexandre Belloni +--- +--- a/csps/lpc32xx/bsps/fdi3250/startup/examples/s1l/sysapi_timer.c 2011-10-05 19:10:37.000000000 +0200 ++++ /dev/null 2012-01-01 16:39:47.918907000 +0100 +@@ -1,212 +0,0 @@ +-/*********************************************************************** +- * $Id:: sysapi_timer.c 3394 2010-05-06 17:56:27Z usb10132 $ +- * +- * Project: Time support functions +- * +- * Description: +- * Implements the following functions required for the S1L API +- * time_init +- * time_reset +- * time_start +- * time_stop +- * time_get +- * time_get_rate +- * +- *********************************************************************** +- * Software that is described herein is for illustrative purposes only +- * which provides customers with programming information regarding the +- * products. This software is supplied "AS IS" without any warranties. +- * NXP Semiconductors assumes no responsibility or liability for the +- * use of the software, conveys no license or title under any patent, +- * copyright, or mask work right to the product. NXP Semiconductors +- * reserves the right to make changes in the software without +- * notification. NXP Semiconductors also make no representation or +- * warranty that such application will be suitable for the specified +- * use without further testing or modification. +- **********************************************************************/ +- +-#include "s1l_sys_inf.h" +-#include "lpc32xx_intc_driver.h" +-#include "lpc32xx_timer_driver.h" +- +-static UNS_64 base_rate; +-static INT_32 tdev = 0; +- +-/*********************************************************************** +- * +- * Function: time_init +- * +- * Purpose: Initializes time system +- * +- * Processing: Initializes the system timer. +- * +- * Parameters: None +- * +- * Outputs: None +- * +- * Returns: 0 if the init failed, otherwise non-zero +- * +- * Notes: None +- * +- **********************************************************************/ +-INT_32 time_init(void) +-{ +- TMR_PSCALE_SETUP_T pscale; +- +- /* Open timer driver */ +- if (tdev == 0) +- { +- tdev = timer_open((void *) TIMER_CNTR0, 0); +- if (tdev != 0) +- { +- /* Use a prescale count to 100000 */ +- pscale.ps_tick_val = 100000; +- pscale.ps_us_val = 0; /* Not needed when ps_tick_val != 0 */ +- timer_ioctl(tdev, TMR_SETUP_PSCALE, (INT_32) &pscale); +- +- /* Get timer clock rate */ +- base_rate = (UNS_64) timer_ioctl(tdev, TMR_GET_STATUS, +- TMR_GET_CLOCK); +- } +- } +- +- return tdev; +-} +- +-/*********************************************************************** +- * +- * Function: time_reset +- * +- * Purpose: Resets system timer +- * +- * Processing: +- * See function. +- * +- * Parameters: None +- * +- * Outputs: None +- * +- * Returns: Nothing +- * +- * Notes: None +- * +- **********************************************************************/ +-void time_reset(void) +-{ +- if (tdev != 0) +- { +- timer_ioctl(tdev, TMR_RESET, 1); +- } +-} +- +-/*********************************************************************** +- * +- * Function: time_start +- * +- * Purpose: Starts system timer +- * +- * Processing: +- * See function. +- * +- * Parameters: None +- * +- * Outputs: None +- * +- * Returns: Nothing +- * +- * Notes: None +- * +- **********************************************************************/ +-void time_start(void) +-{ +- if (tdev != 0) +- { +- timer_ioctl(tdev, TMR_ENABLE, 1); +- } +-} +- +-/*********************************************************************** +- * +- * Function: time_stop +- * +- * Purpose: Stops system timer +- * +- * Processing: +- * See function. +- * +- * Parameters: None +- * +- * Outputs: None +- * +- * Returns: Nothing +- * +- * Notes: None +- * +- **********************************************************************/ +-void time_stop(void) +-{ +- if (tdev != 0) +- { +- timer_ioctl(tdev, TMR_ENABLE, 0); +- } +-} +- +-/*********************************************************************** +- * +- * Function: time_get +- * +- * Purpose: Returns current system time value +- * +- * Processing: +- * See function. +- * +- * Parameters: None +- * +- * Outputs: None +- * +- * Returns: The number of ticks of the timer counter +- * +- * Notes: None +- * +- **********************************************************************/ +-UNS_64 time_get(void) +-{ +- TMR_COUNTS_T tcounts; +- UNS_64 ticks = 0; +- +- if (tdev != 0) +- { +- timer_ioctl(tdev, TMR_GET_COUNTS, (INT_32) &tcounts); +- +- /* Compute number of timer ticks */ +- ticks = (UNS_64) tcounts.count_val * 100000; +- ticks = ticks + (UNS_64) tcounts.ps_count_val; +- } +- +- return ticks; +-} +- +-/*********************************************************************** +- * +- * Function: time_get_rate +- * +- * Purpose: +- * Returns base tick rate (ticks per second) of the time counter +- * +- * Processing: +- * See function. +- * +- * Parameters: None +- * +- * Outputs: None +- * +- * Returns: The timer tick rate (in ticks per second) +- * +- * Notes: None +- * +- **********************************************************************/ +-UNS_64 time_get_rate(void) +-{ +- return base_rate; +-} +- +--- a/csps/lpc32xx/bsps/fdi3250/startup/examples/s1l/sys_mmu_cmd_group.c 2011-10-05 19:10:37.000000000 +0200 ++++ /dev/null 2012-01-01 16:39:47.918907000 +0100 +@@ -1,746 +0,0 @@ +-/*********************************************************************** +- * $Id:: sys_mmu_cmd_group.c 3430 2010-05-07 17:39:08Z usb10132 $ +- * +- * Project: Command processor for peek, poke, dump, and fill +- * +- * Description: +- * Processes commands from the command prompt +- * +- *********************************************************************** +- * Software that is described herein is for illustrative purposes only +- * which provides customers with programming information regarding the +- * products. This software is supplied "AS IS" without any warranties. +- * NXP Semiconductors assumes no responsibility or liability for the +- * use of the software, conveys no license or title under any patent, +- * copyright, or mask work right to the product. NXP Semiconductors +- * reserves the right to make changes in the software without +- * notification. NXP Semiconductors also make no representation or +- * warranty that such application will be suitable for the specified +- * use without further testing or modification. +- **********************************************************************/ +- +-#include "lpc_arm922t_cp15_driver.h" +-#include "lpc_string.h" +-#include "startup.h" +-#include "s1l_cmds.h" +-#include "s1l_sys_inf.h" +- +-/* dcache command */ +-BOOL_32 cmd_dcache(void); +-static UNS_32 cmd_dcache_plist[] = +-{ +- (PARSE_TYPE_STR), /* The "dcache" command */ +- (PARSE_TYPE_DEC | PARSE_TYPE_END) +-}; +-static CMD_ROUTE_T core_dcache_cmd = +-{ +- (UNS_8 *) "dcache", +- cmd_dcache, +- (UNS_8 *) "Enables, disables, or flushes data cache", +- (UNS_8 *) "dcache [0(disable), 1(enable), 2(flush)]", +- cmd_dcache_plist, +- NULL +-}; +- +-/* icache command */ +-BOOL_32 cmd_icache(void); +-static UNS_32 cmd_icache_plist[] = +-{ +- (PARSE_TYPE_STR), /* The "icache" command */ +- (PARSE_TYPE_DEC | PARSE_TYPE_END) +-}; +-static CMD_ROUTE_T core_icache_cmd = +-{ +- (UNS_8 *) "icache", +- cmd_icache, +- (UNS_8 *) "Enables or disables instruction cache", +- (UNS_8 *) "icache [0(disable), 1(enable)]", +- cmd_icache_plist, +- NULL +-}; +- +-/* inval command */ +-BOOL_32 cmd_inval(void); +-static UNS_32 cmd_inval_plist[] = +-{ +- (PARSE_TYPE_STR | PARSE_TYPE_END) /* The "inval" command */ +-}; +-static CMD_ROUTE_T core_inval_cmd = +-{ +- (UNS_8 *) "inval", +- cmd_inval, +- (UNS_8 *) "Flushes data cache and invalidates instruction cache", +- (UNS_8 *) "inval", +- cmd_inval_plist, +- NULL +-}; +- +-/* mmuenab command */ +-BOOL_32 cmd_mmuenab(void); +-static UNS_32 cmd_mmuenab_plist[] = +-{ +- (PARSE_TYPE_STR), /* The "mmuenab" command */ +- (PARSE_TYPE_DEC | PARSE_TYPE_END) +-}; +-static CMD_ROUTE_T core_mmuenab_cmd = +-{ +- (UNS_8 *) "mmuenab", +- cmd_mmuenab, +- (UNS_8 *) "Enables or disables the MMU", +- (UNS_8 *) "mmuenab [0(disable), 1(enable)]", +- cmd_mmuenab_plist, +- NULL +-}; +- +-/* map command */ +-BOOL_32 cmd_map(void); +-static UNS_32 cmd_map_plist[] = +-{ +- (PARSE_TYPE_STR), /* The "map" command */ +- (PARSE_TYPE_HEX), +- (PARSE_TYPE_HEX), +- (PARSE_TYPE_DEC), +- (PARSE_TYPE_DEC | PARSE_TYPE_END), +-}; +-static CMD_ROUTE_T core_map_cmd = +-{ +- (UNS_8 *) "map", +- cmd_map, +- (UNS_8 *) "Maps a range of physical address sections to virtual addresses", +- (UNS_8 *) "map [virt hex addr][phy hex addr][sections][0(uncached), 1(cached), 2(unmap)]", +- cmd_map_plist, +- NULL +-}; +- +-/* mmuinfo command */ +-static BOOL_32 cmd_mmuinfo(void); +-static UNS_32 cmd_mmuinfo_plist[] = +-{ +- (PARSE_TYPE_STR | PARSE_TYPE_END) /* The "mmuinfo" command */ +-}; +-static CMD_ROUTE_T core_mmuinfo_cmd = +-{ +- (UNS_8 *) "mmuinfo", +- cmd_mmuinfo, +- (UNS_8 *) "Dumps page table and MMU info", +- (UNS_8 *) "mmuinfo", +- cmd_mmuinfo_plist, +- NULL +-}; +- +-/* MMU group */ +-static GROUP_LIST_T mmu_group = +-{ +- (UNS_8 *) "mmu", /* mmu group */ +- (UNS_8 *) "MMU command group", +- NULL, +- NULL +-}; +- +-static UNS_8 enabled_msg [] =" enabled"; +-static UNS_8 disabled_msg [] =" disabled"; +-static UNS_8 dcache_msg[] = "Data cache"; +-static UNS_8 icache_msg[] = "Instruction cache"; +-static UNS_8 pagetab_msg[] = "Page table at address: "; +-static UNS_8 slist_msg[] = "Type Virt Phy fl Size"; +-static UNS_8 mmu_msg [] ="MMU"; +-static UNS_8 cpage_msg[] = "Coarse page:"; +-static UNS_8 fpage_msg[] = "Fine page :"; +-static UNS_8 sect_msg[] = "Section :"; +-static UNS_8 mbytes_msg[] = "M"; +-static UNS_8 map1_err_msg[] = +- "Error : section addresses must be aligned on a 32-bit boundary"; +-static UNS_8 map2_err_msg[] = +- "Error : Number of sections exceeds address range of device"; +-static UNS_8 phya_msg[] = "Virtual address "; +-static UNS_8 mapped_msg[] = " mapped to physical address "; +-static UNS_8 unmapped_msg[] = " unmapped from physical address "; +-static UNS_8 cached_msg[] = " (cached)"; +-static UNS_8 inval_msg[] = " invalidated"; +-static UNS_8 caches_msg [] ="Caches"; +-static UNS_8 flushed_msg[] = " flushed"; +- +-/*********************************************************************** +- * +- * Function: show_section +- * +- * Purpose: Display section information +- * +- * Processing: +- * See function. +- * +- * Parameters: +- * mmu_reg : MMU settings for this section +- * virt_addr : Starting virtual address for this section +- * segs : Number of 1M segments for this section +- * +- * Outputs: None +- * +- * Returns: Nothing +- * +- * Notes: None +- * +- **********************************************************************/ +-static void show_section(UNS_32 mmu_reg, +- UNS_32 virt_addr, +- UNS_32 segs) +-{ +- UNS_8 straddr [16]; +- UNS_32 mmu_phy; +- +- if ((mmu_reg & ARM922T_L1D_TYPE_PG_SN_MASK) != +- ARM922T_L1D_TYPE_FAULT) +- { +- if ((mmu_reg & ARM922T_L1D_TYPE_PG_SN_MASK) == +- ARM922T_L1D_TYPE_CPAGE) +- { +- term_dat_out(cpage_msg); +- } +- else if ((mmu_reg & ARM922T_L1D_TYPE_PG_SN_MASK) == +- ARM922T_L1D_TYPE_FPAGE) +- { +- term_dat_out(fpage_msg); +- } +- else +- { +- term_dat_out(sect_msg); +- } +- +- /* Compute virtual address */ +- str_makehex(straddr, virt_addr, 8); +- term_dat_out(straddr); +- term_dat_out((UNS_8 *) " "); +- +- /* Compute mapped physical address */ +- if ((mmu_reg & ARM922T_L1D_TYPE_PG_SN_MASK) == +- ARM922T_L1D_TYPE_SECTION) +- { +- mmu_phy = mmu_reg & 0xFFF00000; +- } +- else +- { +- /* Don't compute addresses for non-sections */ +- mmu_phy = 0; +- } +- str_makehex(straddr, mmu_phy, 8); +- term_dat_out(straddr); +- term_dat_out((UNS_8 *) " "); +- +- /* MMU flags */ +- if ((mmu_reg & ARM922T_L1D_BUFFERABLE) != 0) +- { +- term_dat_out((UNS_8 *) "b"); +- } +- else +- { +- term_dat_out((UNS_8 *) " "); +- } +- if ((mmu_reg & ARM922T_L1D_CACHEABLE) != 0) +- { +- term_dat_out((UNS_8 *) "c"); +- } +- else +- { +- term_dat_out((UNS_8 *) " "); +- } +- term_dat_out((UNS_8 *) " "); +- +- /* Displays used megabytes */ +- str_makedec(straddr, segs); +- term_dat_out(straddr); +- term_dat_out_crlf(mbytes_msg); +- } +-} +- +-/*********************************************************************** +- * +- * Function: mmu_dumpinfo +- * +- * Purpose: Display MMU info +- * +- * Processing: +- * Display the MMU information, including enable status, cache +- * status, and page table. +- * +- * Parameters: None +- * +- * Outputs: None +- * +- * Returns: TRUE if the command was processed, otherwise FALSE +- * +- * Notes: None +- * +- **********************************************************************/ +-static BOOL_32 mmu_dumpinfo(void) +-{ +- UNS_32 segsz, last_mmu_reg, mmu_vrt, mmu_reg, mmu_vrtsav = 0, *pt; +- UNS_32 mlast_mmu_reg, mmmu_reg; +- int idx; +- UNS_8 hexaddr [16]; +- +- term_dat_out(mmu_msg); +- if (cp15_mmu_enabled() == FALSE) +- { +- term_dat_out_crlf(disabled_msg); +- } +- else +- { +- term_dat_out_crlf(enabled_msg); +- +- /* Get MMU control register word */ +- mmu_reg = cp15_get_mmu_control_reg(); +- +- /* Instruction cache status */ +- term_dat_out(icache_msg); +- if ((mmu_reg & ARM922T_MMU_CONTROL_I) == 0) +- { +- term_dat_out_crlf(disabled_msg); +- } +- else +- { +- term_dat_out_crlf(enabled_msg); +- } +- +- /* Data cache status */ +- term_dat_out(dcache_msg); +- if ((mmu_reg & ARM922T_MMU_CONTROL_C) == 0) +- { +- term_dat_out_crlf(disabled_msg); +- } +- else +- { +- term_dat_out_crlf(enabled_msg); +- } +- +- term_dat_out(pagetab_msg); +- mmu_reg = (UNS_32) cp15_get_ttb(); +- str_makehex(hexaddr, mmu_reg, 8); +- term_dat_out_crlf(hexaddr); +- term_dat_out_crlf(slist_msg); +- +- /* Process MMU table - assume that the physical and +- virtual locations of table are the same */ +- pt = (UNS_32 *) mmu_reg; +- mmu_vrt = 0x0; +- segsz = 0xFFFFFFFF; +- last_mmu_reg = mlast_mmu_reg = 0xFFFFFFFF; +- for (idx = 0; idx < 4096; idx++) +- { +- mmu_reg = *pt; +- mmmu_reg = (mmu_reg & (ARM922T_L1D_TYPE_PG_SN_MASK | +- ARM922T_L1D_BUFFERABLE | ARM922T_L1D_CACHEABLE)); +- segsz = segsz + 1; +- +- if ((last_mmu_reg != 0xFFFFFFFF) && +- (mlast_mmu_reg != mmmu_reg)) +- { +- show_section(last_mmu_reg, mmu_vrtsav, segsz); +- segsz = 0; +- } +- +- if (mlast_mmu_reg != mmmu_reg) +- { +- mmu_vrtsav = mmu_vrt; +- last_mmu_reg = mmu_reg; +- mlast_mmu_reg = mmmu_reg; +- } +- +- pt++; +- mmu_vrt += 0x00100000; +- } +- } +- +- return TRUE; +-} +- +-/*********************************************************************** +- * +- * Function: mmu_dumpmap +- * +- * Purpose: Map a virtual address range to a physical range +- * +- * Processing: +- * From the input addresses and number of sections, generate the +- * appropriate entries in the page table. +- * +- * Parameters: None +- * +- * Outputs: None +- * +- * Returns: TRUE if the command was processed, otherwise FALSE +- * +- * Notes: None +- * +- **********************************************************************/ +-static BOOL_32 mmu_dumpmap(UNS_32 vrt, +- UNS_32 phy, +- UNS_32 sections, +- UNS_32 cache) +-{ +- BOOL_32 processed = FALSE; +- UNS_32 mmu_phy, mmu_vrt, tmp1 = 0, tmp2, *pt; +- UNS_8 hexaddr [16]; +- +- /* Verify address boundaries are sectional */ +- mmu_vrt = vrt & ~ARM922T_L2D_SN_BASE_MASK; +- mmu_phy = phy & ~ARM922T_L2D_SN_BASE_MASK; +- if ((mmu_vrt != 0) || (mmu_phy != 0)) +- { +- term_dat_out_crlf(map1_err_msg); +- } +- else +- { +- /* Verify that address range and section count will not +- exceed address range of device */ +- tmp1 = vrt >> 20; +- tmp1 = (tmp1 + sections) - 1; +- tmp2 = phy >> 20; +- tmp2 = (tmp2 + sections) - 1; +- if ((tmp1 < 4096) && (tmp2 < 4096)) +- { +- /* Good address range and good section count */ +- processed = TRUE; +- } +- else +- { +- term_dat_out_crlf(map2_err_msg); +- } +- } +- +- /* Generate static part of MMU word */ +- if (cache == 0) +- { +- /* Section mapped with cache disabled */ +- tmp1 = ARM922T_L1D_TYPE_SECTION; +- } +- else if (cache == 1) +- { +- /* Section mapped with cache enabled */ +- tmp1 = (ARM922T_L1D_BUFFERABLE | ARM922T_L1D_CACHEABLE | +- ARM922T_L1D_TYPE_SECTION); +- } +- else if (cache == 2) +- { +- /* Section unmapped */ +- tmp1 = ARM922T_L1D_TYPE_FAULT; +- } +- tmp1 |= ARM922T_L1D_AP_ALL; +- +- /* Offset into page table for virtual address */ +- tmp2 = (vrt >> 20); +- pt = cp15_get_ttb() + tmp2; +- +- /* Loop until all sections are complete */ +- while ((sections > 0) && (processed == TRUE)) +- { +- /* Add in physical address */ +- tmp2 = tmp1 | (phy & ARM922T_L2D_SN_BASE_MASK); +- +- /* Save new section descriptor for virtual address */ +- *pt = tmp2; +- +- /* Output message shown the map */ +- term_dat_out(phya_msg); +- str_makehex(hexaddr, phy, 8); +- term_dat_out(hexaddr); +- if (cache == 2) +- { +- term_dat_out(unmapped_msg); +- } +- else +- { +- term_dat_out(mapped_msg); +- } +- str_makehex(hexaddr, vrt, 8); +- term_dat_out(hexaddr); +- if (cache == 1) +- { +- term_dat_out(cached_msg); +- } +- term_dat_out_crlf((UNS_8 *) ""); +- +- /* Next section and page table entry*/ +- phy += 0x00100000; +- vrt += 0x00100000; +- pt++; +- sections--; +- } +- +- return processed; +-} +- +-/*********************************************************************** +- * +- * Function: cmd_mmuinfo +- * +- * Purpose: Display MMU information +- * +- * Processing: +- * See function. +- * +- * Parameters: None +- * +- * Outputs: None +- * +- * Returns: TRUE if the command was processed, otherwise FALSE +- * +- * Notes: None +- * +- **********************************************************************/ +-static BOOL_32 cmd_mmuinfo(void) +-{ +- mmu_dumpinfo(); +- +- return TRUE; +-} +- +-/*********************************************************************** +- * +- * Function: cmd_map +- * +- * Purpose: Map a physical address region to a virtual region +- * +- * Processing: +- * See function. +- * +- * Parameters: None +- * +- * Outputs: None +- * +- * Returns: TRUE if the command was processed, otherwise FALSE +- * +- * Notes: None +- * +- **********************************************************************/ +-BOOL_32 cmd_map(void) +-{ +- UNS_32 phy, virt, sects, ce = 0; +- +- /* Get arguments */ +- virt = cmd_get_field_val(1); +- phy = cmd_get_field_val(2); +- sects = cmd_get_field_val(3); +- ce = cmd_get_field_val(4); +- +- if (ce <= 2) +- { +- mmu_dumpmap(virt, phy, sects, ce); +- } +- +- return TRUE; +-} +- +-/*********************************************************************** +- * +- * Function: cmd_inval +- * +- * Purpose: MMU cache flush and invalidate +- * +- * Processing: +- * See function. +- * +- * Parameters: None +- * +- * Outputs: None +- * +- * Returns: TRUE if the command was processed, otherwise FALSE +- * +- * Notes: None +- * +- **********************************************************************/ +-BOOL_32 cmd_inval(void) +-{ +- dcache_flush(); +- icache_inval(); +- term_dat_out(caches_msg); +- term_dat_out(inval_msg); +- +- return TRUE; +-} +- +-/*********************************************************************** +- * +- * Function: cmd_dcache +- * +- * Purpose: MMU data cache enable and disable +- * +- * Processing: +- * If the value passed in the parser is 1, enable the data cache, +- * otherwise disable the data cache. +- * +- * Parameters: None +- * +- * Outputs: None +- * +- * Returns: TRUE if the command was processed, otherwise FALSE +- * +- * Notes: None +- * +- **********************************************************************/ +-BOOL_32 cmd_dcache(void) +-{ +- UNS_32 cenable; +- UNS_8 *ppar; +- +- /* Get argument */ +- cenable = cmd_get_field_val(1); +- +- switch (cenable) +- { +- case 0: +- dcache_flush(); +- cp15_set_dcache(0); +- ppar = disabled_msg; +- break; +- +- case 1: +- cp15_invalidate_cache(); +- cp15_set_dcache(1); +- ppar = enabled_msg; +- break; +- +- case 2: +- default: +- dcache_flush(); +- ppar = flushed_msg; +- break; +- } +- +- term_dat_out(dcache_msg); +- term_dat_out_crlf(ppar); +- +- return TRUE; +-} +- +-/*********************************************************************** +- * +- * Function: cmd_icache +- * +- * Purpose: MMU instruction cache enable and disable +- * +- * Processing: +- * If the value passed in the parser is 1, enable the instruction +- * cache, otherwise disable the instruction cache. +- * +- * Parameters: None +- * +- * Outputs: None +- * +- * Returns: TRUE if the command was processed, otherwise FALSE +- * +- * Notes: None +- * +- **********************************************************************/ +-BOOL_32 cmd_icache(void) +-{ +- UNS_32 cenable; +- UNS_8 *ppar; +- +- /* Get argument */ +- cenable = cmd_get_field_val(1); +- +- if (cenable == 1) +- { +- dcache_flush(); +- cp15_invalidate_cache(); +- cp15_set_icache(1); +- ppar = enabled_msg; +- } +- else +- { +- cp15_set_icache(0); +- ppar = disabled_msg; +- } +- +- term_dat_out(icache_msg); +- term_dat_out_crlf(ppar); +- +- return TRUE; +-} +- +- +-/*********************************************************************** +- * +- * Function: cmd_mmuenab +- * +- * Purpose: Enable or disable MMU +- * +- * Processing: +- * See function. +- * +- * Parameters: None +- * +- * Outputs: None +- * +- * Returns: TRUE if the command was processed, otherwise FALSE +- * +- * Notes: None +- * +- **********************************************************************/ +-BOOL_32 cmd_mmuenab(void) +-{ +- UNS_8 *ppar; +- UNS_32 cenable; +- +- term_dat_out_crlf((UNS_8 *) "Warning: Changing MMU status on " +- " cached and buffered code can cause system crashes."); +- +- /* Get argument */ +- cenable = cmd_get_field_val(1); +- +- if (cenable == 1) +- { +- if ((cp15_get_mmu_control_reg() & ARM922T_MMU_CONTROL_C) != 0) +- { +- cp15_invalidate_cache(); +- } +- +- cp15_set_mmu(1); +- ppar = enabled_msg; +- } +- else +- { +- cp15_dcache_flush(); +- cp15_write_buffer_flush(); +- cp15_invalidate_cache(); +- cp15_set_mmu(0); +- ppar = disabled_msg; +- } +- +- term_dat_out(mmu_msg); +- term_dat_out_crlf(ppar); +- +- return TRUE; +-} +- +-/*********************************************************************** +- * +- * Function: mmu_cmd_group_init +- * +- * Purpose: Initialize MMU command group +- * +- * Processing: +- * See function. +- * +- * Parameters: None +- * +- * Outputs: None +- * +- * Returns: Nothin +- * +- * Notes: None +- * +- **********************************************************************/ +-void mmu_cmd_group_init(void) +-{ +- /* Add MMU group */ +- cmd_add_group(&mmu_group); +- +- /* Add commands to the MMU group */ +- cmd_add_new_command(&mmu_group, &core_dcache_cmd); +- cmd_add_new_command(&mmu_group, &core_icache_cmd); +- cmd_add_new_command(&mmu_group, &core_inval_cmd); +- cmd_add_new_command(&mmu_group, &core_mmuenab_cmd); +- cmd_add_new_command(&mmu_group, &core_map_cmd); +- cmd_add_new_command(&mmu_group, &core_mmuinfo_cmd); +-} diff --git a/boot/lpc32xxcdl/lpc32xxcdl-2.11-libnosys_gnu.patch b/boot/lpc32xxcdl/lpc32xxcdl-2.11-libnosys_gnu.patch new file mode 100644 index 0000000000..cfd77bead6 --- /dev/null +++ b/boot/lpc32xxcdl/lpc32xxcdl-2.11-libnosys_gnu.patch @@ -0,0 +1,188 @@ +Fix compilation and eabi issues + +Since we are not linking with libc anymore, we need to define our own memset, +strlen and memcpy. Also, as we are using a *libc compiler, we need to "handle" +exceptions (mostly division by 0) by defining raise() and +__aeabi_unwind_cpp_pr0. + +Signed-off-by: Alexandre Belloni +--- + csps/lpc32xx/bsps/ea3250/source/libnosys_gnu.c | 41 +++++++++++++++++++++++ + csps/lpc32xx/bsps/fdi3250/source/libnosys_gnu.c | 41 +++++++++++++++++++++++ + csps/lpc32xx/bsps/phy3250/source/libnosys_gnu.c | 41 +++++++++++++++++++++++ + 3 files changed, 123 insertions(+), 0 deletions(-) + +diff --git a/csps/lpc32xx/bsps/ea3250/source/libnosys_gnu.c b/csps/lpc32xx/bsps/ea3250/source/libnosys_gnu.c +index 385b0ab..f1f0a0a 100644 +--- a/csps/lpc32xx/bsps/ea3250/source/libnosys_gnu.c ++++ b/csps/lpc32xx/bsps/ea3250/source/libnosys_gnu.c +@@ -25,6 +25,7 @@ + #include + #include + #include ++#include + + /* errno definition */ + #undef errno +@@ -125,4 +126,44 @@ int _write(int file, char *ptr, int len){ + return 0; + } + ++void * memset(void * s,int c,size_t count) ++{ ++ char *xs = (char *) s; ++ ++ while (count--) ++ *xs++ = c; ++ ++ return s; ++} ++ ++ ++size_t strlen(const char * s) ++{ ++ const char *sc; ++ ++ for (sc = s; *sc != '\0'; ++sc) ++ /* nothing */; ++ return sc - s; ++} ++ ++void * memcpy(void * dest,const void *src,size_t count) ++{ ++ char *tmp = (char *) dest, *s = (char *) src; ++ ++ while (count--) ++ *tmp++ = *s++; ++ ++ return dest; ++} ++ ++ ++/* Dummy functions to avoid linker complaints */ ++void __aeabi_unwind_cpp_pr0(void) ++{ ++}; ++ ++void raise(void) ++{ ++}; ++ + #endif /*__GNUC__*/ +diff --git a/csps/lpc32xx/bsps/fdi3250/source/libnosys_gnu.c b/csps/lpc32xx/bsps/fdi3250/source/libnosys_gnu.c +index 385b0ab..f1f0a0a 100644 +--- a/csps/lpc32xx/bsps/fdi3250/source/libnosys_gnu.c ++++ b/csps/lpc32xx/bsps/fdi3250/source/libnosys_gnu.c +@@ -25,6 +25,7 @@ + #include + #include + #include ++#include + + /* errno definition */ + #undef errno +@@ -125,4 +126,44 @@ int _write(int file, char *ptr, int len){ + return 0; + } + ++void * memset(void * s,int c,size_t count) ++{ ++ char *xs = (char *) s; ++ ++ while (count--) ++ *xs++ = c; ++ ++ return s; ++} ++ ++ ++size_t strlen(const char * s) ++{ ++ const char *sc; ++ ++ for (sc = s; *sc != '\0'; ++sc) ++ /* nothing */; ++ return sc - s; ++} ++ ++void * memcpy(void * dest,const void *src,size_t count) ++{ ++ char *tmp = (char *) dest, *s = (char *) src; ++ ++ while (count--) ++ *tmp++ = *s++; ++ ++ return dest; ++} ++ ++ ++/* Dummy functions to avoid linker complaints */ ++void __aeabi_unwind_cpp_pr0(void) ++{ ++}; ++ ++void raise(void) ++{ ++}; ++ + #endif /*__GNUC__*/ +diff --git a/csps/lpc32xx/bsps/phy3250/source/libnosys_gnu.c b/csps/lpc32xx/bsps/phy3250/source/libnosys_gnu.c +index cfdb674..6b50c60 100644 +--- a/csps/lpc32xx/bsps/phy3250/source/libnosys_gnu.c ++++ b/csps/lpc32xx/bsps/phy3250/source/libnosys_gnu.c +@@ -25,6 +25,7 @@ + #include + #include + #include ++#include + + /* errno definition */ + #undef errno +@@ -125,4 +126,44 @@ int _write(int file, char *ptr, int len){ + return 0; + } + ++void * memset(void * s,int c,size_t count) ++{ ++ char *xs = (char *) s; ++ ++ while (count--) ++ *xs++ = c; ++ ++ return s; ++} ++ ++ ++size_t strlen(const char * s) ++{ ++ const char *sc; ++ ++ for (sc = s; *sc != '\0'; ++sc) ++ /* nothing */; ++ return sc - s; ++} ++ ++void * memcpy(void * dest,const void *src,size_t count) ++{ ++ char *tmp = (char *) dest, *s = (char *) src; ++ ++ while (count--) ++ *tmp++ = *s++; ++ ++ return dest; ++} ++ ++ ++/* Dummy functions to avoid linker complaints */ ++void __aeabi_unwind_cpp_pr0(void) ++{ ++}; ++ ++void raise(void) ++{ ++}; ++ + #endif /*__GNUC__*/ +-- +1.7.7.3 + diff --git a/boot/lpc32xxcdl/lpc32xxcdl-2.11-slashes.patch b/boot/lpc32xxcdl/lpc32xxcdl-2.11-slashes.patch new file mode 100644 index 0000000000..94c184780e --- /dev/null +++ b/boot/lpc32xxcdl/lpc32xxcdl-2.11-slashes.patch @@ -0,0 +1,521 @@ +Use slashes instead of backslashes + +Signed-off-by: Alexandre Belloni +--- + .../bsps/common/examples/buildfiles/makefile | 10 +++--- + .../startup/examples/burners/makefile.burner | 16 +++++----- + csps/lpc32xx/bsps/ea3250/source/makefile | 10 +++--- + csps/lpc32xx/bsps/fdi3250/source/makefile | 12 ++++---- + csps/lpc32xx/bsps/phy3250/examples/makefile | 2 +- + csps/lpc32xx/bsps/phy3250/source/makefile | 2 +- + .../examples/Burners/nor/kickstart/makefile | 2 +- + .../startup/examples/Burners/nor/norerase/makefile | 2 +- + .../startup/examples/Burners/nor/s1lapp/makefile | 2 +- + .../examples/Burners/spi/kickstart/makefile | 2 +- + csps/lpc32xx/source/makefile | 10 +++--- + lpc/source/makefile | 10 +++--- + makefile | 2 +- + makerule/common/make.rules.environment | 30 ++++++++++---------- + makerule/lpc32xx/make.lpc32xx.gnu | 2 +- + makerule/lpc32xx/make.lpc32xx.iar | 12 ++++---- + makerule/lpc32xx/make.lpc32xx.keil | 6 ++-- + makerule/lpc32xx/make.lpc32xx.rvw | 2 +- + 18 files changed, 67 insertions(+), 67 deletions(-) + +diff --git a/csps/lpc32xx/bsps/common/examples/buildfiles/makefile b/csps/lpc32xx/bsps/common/examples/buildfiles/makefile +index cf4977c..1da2201 100644 +--- a/csps/lpc32xx/bsps/common/examples/buildfiles/makefile ++++ b/csps/lpc32xx/bsps/common/examples/buildfiles/makefile +@@ -25,16 +25,16 @@ + # + ######################################################################## + +-include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL) ++include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) + + ######################################################################## + # + # Pick up the assembler and C source files in the directory + # + ######################################################################## +-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes +-AFLAGS +=-I..\Include +-CFLAGS +=-I..\Include ++include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes ++AFLAGS +=-I../Include ++CFLAGS +=-I../Include + + ######################################################################## + # +@@ -42,6 +42,6 @@ CFLAGS +=-I..\Include + # + ######################################################################## + +-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build ++include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build + + +diff --git a/csps/lpc32xx/bsps/common/startup/examples/burners/makefile.burner b/csps/lpc32xx/bsps/common/startup/examples/burners/makefile.burner +index fca3947..18bd703 100644 +--- a/csps/lpc32xx/bsps/common/startup/examples/burners/makefile.burner ++++ b/csps/lpc32xx/bsps/common/startup/examples/burners/makefile.burner +@@ -22,9 +22,9 @@ + # + ######################################################################## + +-COMMON_BASE := $(NXPMCU_SOFTWARE)\csps\$(CSP)\bsps\common +-include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL) +-include $(COMMON_BASE)\startup\examples\buildfiles\make.env ++COMMON_BASE := $(NXPMCU_SOFTWARE)/csps/$(CSP)/bsps/common ++include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) ++include $(COMMON_BASE)/startup/examples/buildfiles/make.env + + ######################################################################## + # ARM Realview +@@ -38,7 +38,7 @@ AFLAGS += --predefine "USE_ALL_STACKS SETL {TRUE}" + #AFLAGS += --predefine "RW_RELOC SETL {TRUE}" + + # This runs from IRAM +-LDSCRIPT =$(COMMON_BASE)\startup\examples\buildfiles\ldscript_iram_rvw.ld ++LDSCRIPT =$(COMMON_BASE)/startup/examples/buildfiles/ldscript_iram_rvw.ld + LDFLAGS = --remove + MAP = --map --info=totals,sizes,unused --symbols --list + endif +@@ -55,7 +55,7 @@ AFLAGS += --predefine "USE_ALL_STACKS SETL {TRUE}" + #AFLAGS += --predefine "RW_RELOC SETL {TRUE}" + + # This runs from IRAM +-LDSCRIPT =$(COMMON_BASE)\startup\examples\buildfiles\ldscript_iram_rvw.ld ++LDSCRIPT =$(COMMON_BASE)/startup/examples/buildfiles/ldscript_iram_rvw.ld + LDFLAGS = --remove + MAP = --map --info=totals,sizes,unused --symbols --list + endif +@@ -72,7 +72,7 @@ AFLAGS += --defsym USE_ALL_STACKS=1 + #AFLAGS += --defsym RW_RELOC=1 + + # This runs from IRAM +-LDSCRIPT =$(COMMON_BASE)\startup\examples\buildfiles\ldscript_iram_gnu.ld ++LDSCRIPT =$(COMMON_BASE)/startup/examples/buildfiles/ldscript_iram_gnu.ld + + endif + +@@ -108,7 +108,7 @@ endif + # Pick up the assembler and C source files in the directory + # + ######################################################################## +-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes ++include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes + + ######################################################################## + # +@@ -157,6 +157,6 @@ endif + # + ######################################################################## + +-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build ++include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build + + .PHONY: debug bin +diff --git a/csps/lpc32xx/bsps/ea3250/source/makefile b/csps/lpc32xx/bsps/ea3250/source/makefile +index 7cada25..2899b20 100644 +--- a/csps/lpc32xx/bsps/ea3250/source/makefile ++++ b/csps/lpc32xx/bsps/ea3250/source/makefile +@@ -22,16 +22,16 @@ + # + ######################################################################## + +-include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL) ++include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) + + ######################################################################## + # + # Pick up the assembler and C source files in the directory + # + ######################################################################## +-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes +-AFLAGS +=-I..\Include +-CFLAGS +=-I..\Include ++include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes ++AFLAGS +=-I../Include ++CFLAGS +=-I../Include + + ######################################################################## + # +@@ -64,7 +64,7 @@ realclean: lib_realclean + # + ######################################################################## + +-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build ++include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build + + .PHONY: all lib_clean lib_realclean + +diff --git a/csps/lpc32xx/bsps/fdi3250/source/makefile b/csps/lpc32xx/bsps/fdi3250/source/makefile +index 4e153bb..11e4b63 100644 +--- a/csps/lpc32xx/bsps/fdi3250/source/makefile ++++ b/csps/lpc32xx/bsps/fdi3250/source/makefile +@@ -22,16 +22,16 @@ + # + ######################################################################## + +-include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL) ++include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) + + ######################################################################## + # + # Pick up the assembler and C source files in the directory + # + ######################################################################## +-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes +-AFLAGS +=-I..\Include +-CFLAGS +=-I..\Include ++include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes ++AFLAGS +=-I../Include ++CFLAGS +=-I../Include + + ######################################################################## + # +@@ -53,7 +53,7 @@ lib_clean: + # delete all targets this Makefile can make and all built libraries + # linked in + lib_realclean: +- -@$(RM) $(BSP_LIB_DIR)\*.a ++ -@$(RM) $(BSP_LIB_DIR)/*.a + -@$(RMDIR) $(BSP_LIB_DIR) + + clean: lib_clean +@@ -65,7 +65,7 @@ realclean: lib_realclean + # + ######################################################################## + +-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build ++include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build + + .PHONY: all lib_clean lib_realclean + +diff --git a/csps/lpc32xx/bsps/phy3250/examples/makefile b/csps/lpc32xx/bsps/phy3250/examples/makefile +index b939252..e7feaa6 100644 +--- a/csps/lpc32xx/bsps/phy3250/examples/makefile ++++ b/csps/lpc32xx/bsps/phy3250/examples/makefile +@@ -25,7 +25,7 @@ + # + ######################################################################## + +-include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL) ++include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) + + SUBDIRS = adc dram_self_refresh hstimer hsuart i2c kscan lcd_colorbars + SUBDIRS += lcd_tsc mi2c mstimer pwm pwm_simple rtc sdcard sdcard_dma +diff --git a/csps/lpc32xx/bsps/phy3250/source/makefile b/csps/lpc32xx/bsps/phy3250/source/makefile +index 7c48e7d..750b776 100644 +--- a/csps/lpc32xx/bsps/phy3250/source/makefile ++++ b/csps/lpc32xx/bsps/phy3250/source/makefile +@@ -32,7 +32,7 @@ include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) + # Pick up the assembler and C source files in the directory + # + ######################################################################## +-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes ++include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes + AFLAGS +=-I../Include + CFLAGS +=-I../Include + +diff --git a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/kickstart/makefile b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/kickstart/makefile +index 01e2b38..526d6cc 100644 +--- a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/kickstart/makefile ++++ b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/kickstart/makefile +@@ -78,7 +78,7 @@ endif + + ######################################################################## + # +-# Compiler\linker specific stuff ++# Compiler/linker specific stuff + # + ######################################################################## + +diff --git a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/norerase/makefile b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/norerase/makefile +index ce329f5..e81b8db 100644 +--- a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/norerase/makefile ++++ b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/norerase/makefile +@@ -77,7 +77,7 @@ endif + + ######################################################################## + # +-# Compiler\linker specific stuff ++# Compiler/linker specific stuff + # + ######################################################################## + +diff --git a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/s1lapp/makefile b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/s1lapp/makefile +index 4426fc7..196faec 100644 +--- a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/s1lapp/makefile ++++ b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/s1lapp/makefile +@@ -77,7 +77,7 @@ endif + + ######################################################################## + # +-# Compiler\linker specific stuff ++# Compiler/linker specific stuff + # + ######################################################################## + +diff --git a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/spi/kickstart/makefile b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/spi/kickstart/makefile +index dc73b64..39fc304 100644 +--- a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/spi/kickstart/makefile ++++ b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/spi/kickstart/makefile +@@ -78,7 +78,7 @@ endif + + ######################################################################## + # +-# Compiler\linker specific stuff ++# Compiler/linker specific stuff + # + ######################################################################## + +diff --git a/csps/lpc32xx/source/makefile b/csps/lpc32xx/source/makefile +index 8e05456..16bd944 100644 +--- a/csps/lpc32xx/source/makefile ++++ b/csps/lpc32xx/source/makefile +@@ -25,16 +25,16 @@ + # + ######################################################################## + +-include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL) ++include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) + + ######################################################################## + # + # Pick up the assembler and C source files in the directory + # + ######################################################################## +-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes +-AFLAGS +=-I..\Include +-CFLAGS +=-I..\Include ++include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes ++AFLAGS +=-I../Include ++CFLAGS +=-I../Include + + + ######################################################################## +@@ -68,7 +68,7 @@ realclean: lib_realclean + # + ######################################################################## + +-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build ++include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build + + .PHONY: all lib_clean lib_realclean + +diff --git a/lpc/source/makefile b/lpc/source/makefile +index 2860db9..ae7d612 100644 +--- a/lpc/source/makefile ++++ b/lpc/source/makefile +@@ -25,16 +25,16 @@ + # + ######################################################################## + +-include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL) ++include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) + + ######################################################################## + # + # Pick up the assembler and C source files in the directory + # + ######################################################################## +-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes +-AFLAGS +=-I..\Include +-CFLAGS +=-I..\Include ++include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes ++AFLAGS +=-I../Include ++CFLAGS +=-I../Include + + ######################################################################## + # +@@ -67,7 +67,7 @@ realclean: lib_realclean + # + ######################################################################## + +-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build ++include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build + + .PHONY: all lib_clean lib_realclean + +diff --git a/makefile b/makefile +index 8645fcc..86fa6bc 100644 +--- a/makefile ++++ b/makefile +@@ -34,7 +34,7 @@ TARGETS_CLN =gen_clean csp_clean bsp_clean + # + ######################################################################## + +-include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL) ++include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) + + ######################################################################## + # +diff --git a/makerule/common/make.rules.environment b/makerule/common/make.rules.environment +index d5737fe..4e6df48 100644 +--- a/makerule/common/make.rules.environment ++++ b/makerule/common/make.rules.environment +@@ -52,7 +52,7 @@ ASTYLE =astyle --options=$(BUILD_ROOT)/tools/astyle.cfg + # + ######################################################################## + +-CSP_LIB_DIR =$(BUILD_ROOT)\csps\$(CSP)\lib ++CSP_LIB_DIR =$(BUILD_ROOT)/csps/$(CSP)/lib + + ######################################################################## + # +@@ -60,7 +60,7 @@ CSP_LIB_DIR =$(BUILD_ROOT)\csps\$(CSP)\lib + # + ######################################################################## + +-BSP_LIB_DIR =$(BUILD_ROOT)\csps\$(CSP)\bsps\$(BSP)\lib ++BSP_LIB_DIR =$(BUILD_ROOT)/csps/$(CSP)/bsps/$(BSP)/lib + + ######################################################################## + # +@@ -68,7 +68,7 @@ BSP_LIB_DIR =$(BUILD_ROOT)\csps\$(CSP)\bsps\$(BSP)\lib + # + ######################################################################## + +-GEN_LIB_DIR =$(BUILD_ROOT)\$(GEN)\lib ++GEN_LIB_DIR =$(BUILD_ROOT)/$(GEN)/lib + + ######################################################################## + # +@@ -76,9 +76,9 @@ GEN_LIB_DIR =$(BUILD_ROOT)\$(GEN)\lib + # + ######################################################################## + +-CSP_DIR =$(BUILD_ROOT)\csps\$(CSP) +-CSP_SRC_DIR =$(CSP_DIR)\source +-CSP_INC_DIR =$(CSP_DIR)\include ++CSP_DIR =$(BUILD_ROOT)/csps/$(CSP) ++CSP_SRC_DIR =$(CSP_DIR)/source ++CSP_INC_DIR =$(CSP_DIR)/include + + ######################################################################## + # +@@ -86,9 +86,9 @@ CSP_INC_DIR =$(CSP_DIR)\include + # + ######################################################################## + +-BSP_DIR =$(BUILD_ROOT)\csps\$(CSP)\bsps\$(BSP) +-BSP_SRC_DIR =$(BSP_DIR)\source +-BSP_INC_DIR =$(BSP_DIR)\include ++BSP_DIR =$(BUILD_ROOT)/csps/$(CSP)/bsps/$(BSP) ++BSP_SRC_DIR =$(BSP_DIR)/source ++BSP_INC_DIR =$(BSP_DIR)/include + + ######################################################################## + # +@@ -96,9 +96,9 @@ BSP_INC_DIR =$(BSP_DIR)\include + # + ######################################################################## + +-GEN_DIR =$(BUILD_ROOT)\$(GEN) +-GEN_SRC_DIR =$(GEN_DIR)\source +-GEN_INC_DIR =$(GEN_DIR)\include ++GEN_DIR =$(BUILD_ROOT)/$(GEN) ++GEN_SRC_DIR =$(GEN_DIR)/source ++GEN_INC_DIR =$(GEN_DIR)/include + + ######################################################################## + # +@@ -151,6 +151,6 @@ endif + # + ######################################################################## + +-TARGET_CSP_LIB =$(CSP_LIB_DIR)\$(CSP_ARCHIVE) +-TARGET_BSP_LIB =$(BSP_LIB_DIR)\$(BSP_ARCHIVE) +-TARGET_GEN_LIB =$(GEN_LIB_DIR)\$(GEN_ARCHIVE) ++TARGET_CSP_LIB =$(CSP_LIB_DIR)/$(CSP_ARCHIVE) ++TARGET_BSP_LIB =$(BSP_LIB_DIR)/$(BSP_ARCHIVE) ++TARGET_GEN_LIB =$(GEN_LIB_DIR)/$(GEN_ARCHIVE) +diff --git a/makerule/lpc32xx/make.lpc32xx.gnu b/makerule/lpc32xx/make.lpc32xx.gnu +index 3277d99..d80b98d 100644 +--- a/makerule/lpc32xx/make.lpc32xx.gnu ++++ b/makerule/lpc32xx/make.lpc32xx.gnu +@@ -19,7 +19,7 @@ + # use without further testing or modification. + ######################################################################## + +-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.environment ++include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.environment + + CPU = arm926ej-s + CFLAGS = -mcpu=arm926ej-s -Wall -Os +diff --git a/makerule/lpc32xx/make.lpc32xx.iar b/makerule/lpc32xx/make.lpc32xx.iar +index 238ebbf..27d163f 100644 +--- a/makerule/lpc32xx/make.lpc32xx.iar ++++ b/makerule/lpc32xx/make.lpc32xx.iar +@@ -19,12 +19,12 @@ + # use without further testing or modification. + ######################################################################## + +-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.environment ++include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.environment + +-IARBASE = $(IAR_ROOT)\ARM +-IARTOOLS = $(IARBASE)\bin +-IAR_LIB = $(IARBASE)\lib +-IAR_INC = $(IARBASE)\inc ++IARBASE = $(IAR_ROOT)/ARM ++IARTOOLS = $(IARBASE)/bin ++IAR_LIB = $(IARBASE)/lib ++IAR_INC = $(IARBASE)/inc + CC = iccarm + CCP = iccarm + AS = iasmarm +@@ -36,7 +36,7 @@ CFLAGS += -I"$(IAR_INC)" + AFLAGS = --cpu 5TEJ + LDFLAGS = + LK = "$(TARGET_GEN_LIB)" "$(TARGET_CSP_LIB)" "$(TARGET_BSP_LIB)" +-;LK += "$(IAR_LIB)\dl4tpannl8f.r79" ++;LK += "$(IAR_LIB)/dl4tpannl8f.r79" + MAP = --map + LDESC = --config + ENTRY = --entry +diff --git a/makerule/lpc32xx/make.lpc32xx.keil b/makerule/lpc32xx/make.lpc32xx.keil +index dd27583..7334d3f 100644 +--- a/makerule/lpc32xx/make.lpc32xx.keil ++++ b/makerule/lpc32xx/make.lpc32xx.keil +@@ -19,7 +19,7 @@ + # use without further testing or modification. + ######################################################################## + +-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.environment ++include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.environment + + CC =armcc + CCP =armcc +@@ -27,11 +27,11 @@ AS =armasm + LD =armlink + AR =armar -r -s + CFLAGS =--arm -O3 -g --device DARMP3 -D__MICROLIB +-CFLAGS +=-I$(KEIL_RVCT)\inc -I$(CSP_INC_DIR) -I$(BSP_INC_DIR) -I$(GEN_INC_DIR) ++CFLAGS +=-I$(KEIL_RVCT)/inc -I$(CSP_INC_DIR) -I$(BSP_INC_DIR) -I$(GEN_INC_DIR) + AFLAGS =--arm --device=DARMP3 + AFLAGS +=-I$(CSP_INC_DIR) -I$(BSP_INC_DIR) -I$(GEN_INC_DIR) + LDFLAGS =--noremove +-LK =--device DARMP3 --libpath $(KEIL_RVCT)\lib --scan $(TARGET_CSP_LIB) ++LK =--device DARMP3 --libpath $(KEIL_RVCT)/lib --scan $(TARGET_CSP_LIB) + LK +=--scan $(TARGET_BSP_LIB) + LK +=--scan $(TARGET_GEN_LIB) + MAP =--map --list +diff --git a/makerule/lpc32xx/make.lpc32xx.rvw b/makerule/lpc32xx/make.lpc32xx.rvw +index 59961dd..2419976 100644 +--- a/makerule/lpc32xx/make.lpc32xx.rvw ++++ b/makerule/lpc32xx/make.lpc32xx.rvw +@@ -19,7 +19,7 @@ + # use without further testing or modification. + ######################################################################## + +-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.environment ++include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.environment + + CC =armcc + CCP =armcpp +-- +1.7.7.3 + diff --git a/boot/lpc32xxcdl/lpc32xxcdl.mk b/boot/lpc32xxcdl/lpc32xxcdl.mk new file mode 100644 index 0000000000..04c1c7f060 --- /dev/null +++ b/boot/lpc32xxcdl/lpc32xxcdl.mk @@ -0,0 +1,70 @@ +################################################################################ +# +# lpc32xxcdl +# +################################################################################ + +LPC32XXCDL_VERSION = lpc32xx_cdl_v2.11 +LPC32XXCDL_SITE = http://git.lpcware.com/lpc3xxx_cdl.git +LPC32XXCDL_SITE_METHOD = git + +LPC32XXCDL_INSTALL_TARGET = NO +LPC32XXCDL_INSTALL_IMAGES = YES + +ifeq ($(BR2_TARGET_LPC32XXCDL_BOARDNAME),"ea3250") +LPC32XXCDL_KICKSTART = kickstart/nand +LPC32XXCDL_KICKSTART_BURNER = nand/kickstart +LPC32XXCDL_S1L = s1l +LPC32XXCDL_S1L_BURNER = nand/s1lapp +endif + +ifeq ($(BR2_TARGET_LPC32XXCDL_BOARDNAME),"phy3250") +LPC32XXCDL_KICKSTART = kickstart/kickstart_nand +LPC32XXCDL_KICKSTART_BURNER = nand/kickstart +LPC32XXCDL_S1L = s1l/s1l_nand_boot +LPC32XXCDL_S1L_BURNER = nand/s1lapp +endif + +ifeq ($(BR2_TARGET_LPC32XXCDL_BOARDNAME),"fdi3250") +LPC32XXCDL_KICKSTART = kickstart/nand +LPC32XXCDL_KICKSTART_BURNER = nand/kickstart_jtag +LPC32XXCDL_S1L = s1l +LPC32XXCDL_S1L_BURNER = nand/s1lapp_jtag +endif + +LPC32XXCDL_BUILD_FLAGS = \ + CROSS_COMPILE=$(TARGET_CROSS) \ + NXPMCU_WINBASE=$(@D) \ + NXPMCU_SOFTWARE=$(@D) \ + BSP=$(BR2_TARGET_LPC32XXCDL_BOARDNAME) \ + CSP=lpc32xx TOOL=gnu GEN=lpc + +LPC32XXCDL_BOARD_STARTUP_DIR = \ + csps/lpc32xx/bsps/$(BR2_TARGET_LPC32XXCDL_BOARDNAME)/startup/examples/ + +# Source files are with dos newlines, which our patch infrastructure doesn't +# handle. Work around it by converting the affected files to unix newlines +# before patching +define LPC32XXCDL_DOS2UNIX_FOR_PATCH + sed -n 's|^[+-]\{3\} [^/]\+\([^ \t]*\)\(.*\)|$(@D)\1|p' \ + boot/lpc32xxcdl/*.patch| sort -u | xargs $(SED) 's/\x0D$$//' +endef + +LPC32XXCDL_POST_EXTRACT_HOOKS += LPC32XXCDL_DOS2UNIX_FOR_PATCH + +define LPC32XXCDL_BUILD_CMDS + $(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D) + $(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/Burners/$(LPC32XXCDL_KICKSTART_BURNER) + $(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/$(LPC32XXCDL_KICKSTART) + $(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/Burners/$(LPC32XXCDL_S1L_BURNER) + $(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/$(LPC32XXCDL_S1L) +endef + +define LPC32XXCDL_INSTALL_IMAGES_CMDS + cp $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/Burners/$(LPC32XXCDL_KICKSTART_BURNER)/*gnu.bin $(BINARIES_DIR) + cp $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/$(LPC32XXCDL_KICKSTART)/*gnu.bin $(BINARIES_DIR) + cp $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/Burners/$(LPC32XXCDL_S1L_BURNER)/*gnu.bin $(BINARIES_DIR) + cp $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/$(LPC32XXCDL_S1L)/*gnu.bin $(BINARIES_DIR) +endef + +$(eval $(generic-package)) diff --git a/boot/mxs-bootlets/Config.in b/boot/mxs-bootlets/Config.in new file mode 100644 index 0000000000..4bb07a06f5 --- /dev/null +++ b/boot/mxs-bootlets/Config.in @@ -0,0 +1,90 @@ +config BR2_TARGET_MXS_BOOTLETS + bool "mxs-bootlets" + depends on BR2_arm + help + Stage1 bootloaders for Freescale iMX23/iMX28 SoCs + +if BR2_TARGET_MXS_BOOTLETS + +choice + prompt "Source" + default BR2_TARGET_MXS_BOOTLETS_FREESCALE + help + Select the location of the bootlets you want to use + +config BR2_TARGET_MXS_BOOTLETS_FREESCALE + bool "Freescale 10.12.01 version" + +config BR2_TARGET_MXS_BOOTLETS_CUSTOM_TARBALL + bool "Custom tarball" + +config BR2_TARGET_MXS_BOOTLETS_CUSTOM_GIT + bool "Custom Git repository" + +endchoice + +config BR2_TARGET_MXS_BOOTLETS_CUSTOM_TARBALL_URL + depends on BR2_TARGET_MXS_BOOTLETS_CUSTOM_TARBALL + string "URL of custom bootlets tarball" + +if BR2_TARGET_MXS_BOOTLETS_CUSTOM_GIT + +config BR2_TARGET_MXS_BOOTLETS_CUSTOM_GIT_URL + string "URL of custom Git repository" + +config BR2_TARGET_MXS_BOOTLETS_CUSTOM_GIT_VERSION + string "Custom Git version" + +endif + +choice + prompt "Bootstream" + help + Select which bootstream to generate + +config BR2_TARGET_MXS_BOOTLETS_BAREBOX + depends on BR2_TARGET_BAREBOX + bool "Barebox Bootloader" + +config BR2_TARGET_MXS_BOOTLETS_LINUX + depends on BR2_LINUX_KERNEL + bool "Linux Kernel" + +config BR2_TARGET_MXS_BOOTLETS_UBOOT + depends on BR2_TARGET_UBOOT + bool "U-boot bootloader" + +endchoice + +config BR2_TARGET_MXS_BOOTLETS_HAS_IVT + bool "HAB Support" + help + Enable this option if you are building bootlets + for the iMX28 platform that needs to include instructions + for the secure boot mechanism present on these SoCs + +choice + prompt "Board" + help + Select the board to build the bootlets for + +config BR2_TARGET_MXS_BOOTLETS_STMP37xx + bool "Sigmatel ST-MP3-7xx Board" + +config BR2_TARGET_MXS_BOOTLETS_STMP378x + bool "Sigmatel ST-MP3-78x Board" + +config BR2_TARGET_MXS_BOOTLETS_IMX28EVK + bool "Freescale iMX28 EVK Board" + +config BR2_TARGET_MXS_BOOTLETS_CUSTOM_BOARD + bool "Custom board" +endchoice + +config BR2_TARGET_MXS_BOOTLETS_CUSTOM_BOARD_NAME + string "Custom board name" + depends on BR2_TARGET_MXS_BOOTLETS_CUSTOM_BOARD + help + Name of the board to build the bootlets for + +endif diff --git a/boot/mxs-bootlets/barebox_ivt.bd b/boot/mxs-bootlets/barebox_ivt.bd new file mode 100644 index 0000000000..0c67e9cfce --- /dev/null +++ b/boot/mxs-bootlets/barebox_ivt.bd @@ -0,0 +1,34 @@ +// STMP378x ROM command script to load and run U-Boot + +sources { + power_prep="./power_prep/power_prep"; + sdram_prep="./boot_prep/boot_prep"; + barebox="./barebox"; +} + +section (0) { + + //---------------------------------------------------------- + // Power Supply initialization + //---------------------------------------------------------- + + load power_prep; + load ivt (entry = power_prep:_start) > 0x8000; + hab call 0x8000; + + //---------------------------------------------------------- + // SDRAM initialization + //---------------------------------------------------------- + + load sdram_prep; + load ivt (entry = sdram_prep:_start) > 0x8000; + hab call 0x8000; + //---------------------------------------------------------- + // Load and call u_boot - ELF ARM image + //---------------------------------------------------------- + + load barebox; + load ivt (entry = barebox:start) > 0x8000; + hab call 0x8000; + +} diff --git a/boot/mxs-bootlets/mxs-bootlets.hash b/boot/mxs-bootlets/mxs-bootlets.hash new file mode 100644 index 0000000000..6d3483c765 --- /dev/null +++ b/boot/mxs-bootlets/mxs-bootlets.hash @@ -0,0 +1,2 @@ +# locally computed +sha256 63f6068ae36884adef4259bbb1fe2591755718f22c46d0a59d854883dfab1ffc imx-bootlets-src-10.12.01.tar.gz diff --git a/boot/mxs-bootlets/mxs-bootlets.mk b/boot/mxs-bootlets/mxs-bootlets.mk new file mode 100644 index 0000000000..adc22767f7 --- /dev/null +++ b/boot/mxs-bootlets/mxs-bootlets.mk @@ -0,0 +1,106 @@ +################################################################################ +# +# mxs-bootlets +# +################################################################################ + +ifeq ($(BR2_TARGET_MXS_BOOTLETS_CUSTOM_TARBALL),y) +MXS_BOOTLETS_TARBALL = $(call qstrip,$(BR2_TARGET_MXS_BOOTLETS_CUSTOM_TARBALL_URL)) +MXS_BOOTLETS_SITE = $(patsubst %/,%,$(dir $(MXS_BOOTLETS_TARBALL))) +MXS_BOOTLETS_SOURCE = $(notdir $(MXS_BOOTLETS_TARBALL)) +BR_NO_CHECK_HASH_FOR += $(MXS_BOOTLETS_SOURCE) +else ifeq ($(BR2_TARGET_MXS_BOOTLETS_CUSTOM_GIT),y) +MXS_BOOTLETS_SITE = $(BR2_TARGET_MXS_BOOTLETS_CUSTOM_GIT_URL) +MXS_BOOTLETS_SITE_METHOD = git +MXS_BOOTLETS_VERSION = $(call qstrip,$(BR2_TARGET_MXS_BOOTLETS_CUSTOM_GIT_VERSION)) +BR_NO_CHECK_HASH_FOR += $(MXS_BOOTLETS_SOURCE) +else +MXS_BOOTLETS_VERSION = 10.12.01 +MXS_BOOTLETS_SITE = http://download.ossystems.com.br/bsp/freescale/source +MXS_BOOTLETS_SOURCE = imx-bootlets-src-$(MXS_BOOTLETS_VERSION).tar.gz +endif + +ifeq ($(BR2_TARGET_MXS_BOOTLETS_STMP37xx),y) +MXS_BOOTLETS_BOARD = stmp37xx_dev +else ifeq ($(BR2_TARGET_MXS_BOOTLETS_STMP378x),y) +MXS_BOOTLETS_BOARD = stmp378x_dev +else ifeq ($(BR2_TARGET_MXS_BOOTLETS_IMX28EVK),y) +MXS_BOOTLETS_BOARD = iMX28_EVK +else ifeq ($(BR2_TARGET_MXS_BOOTLETS_CUSTOM_BOARD),y) +MXS_BOOTLETS_BOARD = $(call qstrip,$(BR2_TARGET_MXS_BOOTLETS_CUSTOM_BOARD_NAME)) +endif + +ifeq ($(BR2_TARGET_MXS_BOOTLETS_HAS_IVT),y) +MXS_BOOTLETS_IVT_SUFFIX = _ivt +MXS_BOOTLETS_ELFTOSB_OPTIONS += -f imx28 +endif + +MXS_BOOTLETS_DEPENDENCIES = host-elftosb +MXS_BOOTLETS_LICENSE = GPL-2.0+ + +ifeq ($(BR2_TARGET_MXS_BOOTLETS_BAREBOX),y) +MXS_BOOTLETS_DEPENDENCIES += barebox +MXS_BOOTLETS_BOOTDESC = barebox$(MXS_BOOTLETS_IVT_SUFFIX).bd +MXS_BOOTLETS_BOOTSTREAM = $(MXS_BOOTLETS_BOARD)_barebox$(MXS_BOOTLETS_IVT_SUFFIX).sb + +else ifeq ($(BR2_TARGET_MXS_BOOTLETS_LINUX),y) +MXS_BOOTLETS_DEPENDENCIES += linux +MXS_BOOTLETS_BOOTDESC = linux$(MXS_BOOTLETS_IVT_SUFFIX).bd +MXS_BOOTLETS_BOOTSTREAM = $(MXS_BOOTLETS_BOARD)_linux$(MXS_BOOTLETS_IVT_SUFFIX).sb + +else ifeq ($(BR2_TARGET_MXS_BOOTLETS_UBOOT),y) +MXS_BOOTLETS_DEPENDENCIES += uboot +MXS_BOOTLETS_BOOTDESC = uboot$(MXS_BOOTLETS_IVT_SUFFIX).bd +MXS_BOOTLETS_BOOTSTREAM = $(MXS_BOOTLETS_BOARD)_uboot$(MXS_BOOTLETS_IVT_SUFFIX).sb +endif + +ifeq ($(BR2_TARGET_MXS_BOOTLETS_BAREBOX),y) +define MXS_BOOTLETS_SED_BAREBOX + sed -i 's,[^ *]barebox.*;,\tbarebox="$(BAREBOX_DIR)/barebox";,' $(@D)/$(MXS_BOOTLETS_BOOTDESC) +endef +endif + +ifeq ($(BR2_TARGET_MXS_BOOTLETS_LINUX),y) +define MXS_BOOTLETS_BUILD_LINUX_PREP + BOARD=$(MXS_BOOTLETS_BOARD) CROSS_COMPILE="$(TARGET_CROSS)" \ + $(MAKE1) -C $(@D) linux_prep +endef +define MXS_BOOTLETS_SED_LINUX + sed -i 's,[^ *]linux_prep.*;,\tlinux_prep="$(@D)/linux_prep/output-target/linux_prep";,' $(@D)/$(MXS_BOOTLETS_BOOTDESC) + sed -i 's,[^ *]zImage.*;,\tzImage="$(LINUX_DIR)/arch/arm/boot/zImage";,' $(@D)/$(MXS_BOOTLETS_BOOTDESC) +endef +endif + +ifeq ($(BR2_TARGET_MXS_BOOTLETS_UBOOT),y) +define MXS_BOOTLETS_SED_UBOOT + sed -i 's,[^ *]u_boot.*;,\tu_boot="$(UBOOT_DIR)/u-boot";,' $(@D)/$(MXS_BOOTLETS_BOOTDESC) +endef +endif + +define MXS_BOOTLETS_INSTALL_BAREBOX_BOOTDESC + cp boot/mxs-bootlets/barebox_ivt.bd $(@D)/ +endef + +MXS_BOOTLETS_POST_EXTRACT_HOOKS += MXS_BOOTLETS_INSTALL_BAREBOX_BOOTDESC + +define MXS_BOOTLETS_BUILD_CMDS + BOARD=$(MXS_BOOTLETS_BOARD) CROSS_COMPILE="$(TARGET_CROSS)" \ + $(MAKE1) -C $(@D) power_prep + BOARD=$(MXS_BOOTLETS_BOARD) CROSS_COMPILE="$(TARGET_CROSS)" \ + $(MAKE1) -C $(@D) boot_prep + $(MXS_BOOTLETS_BUILD_LINUX_PREP) + sed -i 's,[^ *]power_prep.*;,\tpower_prep="$(@D)/power_prep/power_prep";,' $(@D)/$(MXS_BOOTLETS_BOOTDESC) + sed -i 's,[^ *]sdram_prep.*;,\tsdram_prep="$(@D)/boot_prep/boot_prep";,' $(@D)/$(MXS_BOOTLETS_BOOTDESC) + $(MXS_BOOTLETS_SED_BAREBOX) + $(MXS_BOOTLETS_SED_LINUX) + $(MXS_BOOTLETS_SED_UBOOT) + $(HOST_DIR)/bin/elftosb $(MXS_BOOTLETS_ELFTOSB_OPTIONS) \ + -z -c $(@D)/$(MXS_BOOTLETS_BOOTDESC) \ + -o $(@D)/$(MXS_BOOTLETS_BOOTSTREAM) +endef + +define MXS_BOOTLETS_INSTALL_TARGET_CMDS + cp $(@D)/$(MXS_BOOTLETS_BOOTSTREAM) $(BINARIES_DIR)/ +endef + +$(eval $(generic-package)) diff --git a/boot/s500-bootloader/Config.in b/boot/s500-bootloader/Config.in new file mode 100644 index 0000000000..7bb689f305 --- /dev/null +++ b/boot/s500-bootloader/Config.in @@ -0,0 +1,17 @@ +config BR2_TARGET_S500_BOOTLOADER + bool "s500-bootloader" + depends on BR2_arm + depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + select BR2_HOSTARCH_NEEDS_IA32_LIBS + help + 1st level bootloader for Actions Semiconductor S500 SoC. + + https://github.com/xapp-le/owl + +config BR2_TARGET_S500_BOOTLOADER_BOARD + string "board to configure for" + depends on BR2_TARGET_S500_BOOTLOADER + help + Specify the board to configure the bootloader for. + This should be the name of a directory under s500/boards + containing a suitable bootloader.ini file. diff --git a/boot/s500-bootloader/s500-bootloader.hash b/boot/s500-bootloader/s500-bootloader.hash new file mode 100644 index 0000000000..d538f23b2a --- /dev/null +++ b/boot/s500-bootloader/s500-bootloader.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b183024ac69f51ea7befd28d03b2ec35a7280e270405600fb4f37aa91d9c9571 s500-bootloader-a8d7fa1d9a7f353ec4613febf30f4ca99a10a106.tar.gz diff --git a/boot/s500-bootloader/s500-bootloader.mk b/boot/s500-bootloader/s500-bootloader.mk new file mode 100644 index 0000000000..bc87b091c7 --- /dev/null +++ b/boot/s500-bootloader/s500-bootloader.mk @@ -0,0 +1,34 @@ +################################################################################ +# +# s500-bootloader +# +################################################################################ + +S500_BOOTLOADER_VERSION = a8d7fa1d9a7f353ec4613febf30f4ca99a10a106 +S500_BOOTLOADER_SITE = $(call github,xapp-le,owl,$(S500_BOOTLOADER_VERSION)) +S500_BOOTLOADER_LICENSE = PROPRIETARY +S500_BOOTLOADER_INSTALL_TARGET = NO +S500_BOOTLOADER_INSTALL_IMAGES = YES + +S500_BOOTLOADER_BOARD = $(call qstrip,$(BR2_TARGET_S500_BOOTLOADER_BOARD)) + +define S500_BOOTLOADER_BUILD_CMDS + cd $(@D) && ./tools/utils/bootloader_pack \ + s500/bootloader/bootloader.bin \ + s500/boards/$(S500_BOOTLOADER_BOARD)/bootloader.ini \ + s500-bootloader.bin +endef + +define S500_BOOTLOADER_INSTALL_IMAGES_CMDS + $(INSTALL) -m 0644 -D $(@D)/s500-bootloader.bin \ + $(BINARIES_DIR)/s500-bootloader.bin +endef + +$(eval $(generic-package)) + +ifeq ($(BR2_TARGET_S500_BOOTLOADER)$(BR_BUILDING),yy) +# we NEED a board name +ifeq ($(S500_BOOTLOADER_BOARD),) +$(error No s500-bootloader board specified. Check your BR2_TARGET_S500_BOOTLOADER settings) +endif +endif diff --git a/boot/syslinux/0001-Fix-gcc-5-ALIGN-causing-Boot-error.patch b/boot/syslinux/0001-Fix-gcc-5-ALIGN-causing-Boot-error.patch deleted file mode 100644 index 2df6766557..0000000000 --- a/boot/syslinux/0001-Fix-gcc-5-ALIGN-causing-Boot-error.patch +++ /dev/null @@ -1,76 +0,0 @@ -commit e5f2b577ded109291c9632dacb6eaa621d8a59fe -Author: Sylvain Gault -Date: Tue Sep 29 02:38:25 2015 +0200 - - bios: Fix alignment change with gcc 5 - - The section aligment specified in the ld scripts have to be greater or - equal to those in the .o files generated by gcc. - - Signed-off-by: Sylvain Gault - Tested-by: poma - Signed-off-by: Paulo Alcantara - Signed-off-by: Frank Hunleth - -diff --git a/core/i386/syslinux.ld b/core/i386/syslinux.ld -index 7b4e012..7390451 100644 ---- a/core/i386/syslinux.ld -+++ b/core/i386/syslinux.ld -@@ -266,7 +266,7 @@ SECTIONS - __text_end = .; - } - -- . = ALIGN(16); -+ . = ALIGN(32); - - __rodata_vma = .; - __rodata_lma = __rodata_vma + __text_lma - __text_vma; -@@ -361,7 +361,7 @@ SECTIONS - __dynamic_end = .; - } - -- . = ALIGN(16); -+ . = ALIGN(32); - - __data_vma = .; - __data_lma = __data_vma + __text_lma - __text_vma; -@@ -377,7 +377,7 @@ SECTIONS - __pm_code_dwords = (__pm_code_len + 3) >> 2; - - . = ALIGN(128); -- -+ - __bss_vma = .; - __bss_lma = .; /* Dummy */ - .bss (NOLOAD) : AT (__bss_lma) { -diff --git a/core/x86_64/syslinux.ld b/core/x86_64/syslinux.ld -index 1057112..bf815c4 100644 ---- a/core/x86_64/syslinux.ld -+++ b/core/x86_64/syslinux.ld -@@ -266,7 +266,7 @@ SECTIONS - __text_end = .; - } - -- . = ALIGN(16); -+ . = ALIGN(32); - - __rodata_vma = .; - __rodata_lma = __rodata_vma + __text_lma - __text_vma; -@@ -361,7 +361,7 @@ SECTIONS - __dynamic_end = .; - } - -- . = ALIGN(16); -+ . = ALIGN(32); - - __data_vma = .; - __data_lma = __data_vma + __text_lma - __text_vma; -@@ -377,7 +377,7 @@ SECTIONS - __pm_code_dwords = (__pm_code_len + 3) >> 2; - - . = ALIGN(128); -- -+ - __bss_vma = .; - __bss_lma = .; /* Dummy */ - .bss (NOLOAD) : AT (__bss_lma) { diff --git a/boot/syslinux/0001-bios-Fix-alignment-change-with-gcc-5.patch b/boot/syslinux/0001-bios-Fix-alignment-change-with-gcc-5.patch new file mode 100644 index 0000000000..633d996ed1 --- /dev/null +++ b/boot/syslinux/0001-bios-Fix-alignment-change-with-gcc-5.patch @@ -0,0 +1,82 @@ +From da5cbd1a3b248f2d32281a1766a3d1414c0e8e03 Mon Sep 17 00:00:00 2001 +From: Sylvain Gault +Date: Tue, 29 Sep 2015 02:38:25 +0200 +Subject: [PATCH] bios: Fix alignment change with gcc 5 + +The section aligment specified in the ld scripts have to be greater or +equal to those in the .o files generated by gcc. + +Signed-off-by: Sylvain Gault +Tested-by: poma +Signed-off-by: Paulo Alcantara +Signed-off-by: Frank Hunleth +--- + core/i386/syslinux.ld | 6 +++--- + core/x86_64/syslinux.ld | 6 +++--- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/core/i386/syslinux.ld b/core/i386/syslinux.ld +index 7b4e012..7390451 100644 +--- a/core/i386/syslinux.ld ++++ b/core/i386/syslinux.ld +@@ -266,7 +266,7 @@ SECTIONS + __text_end = .; + } + +- . = ALIGN(16); ++ . = ALIGN(32); + + __rodata_vma = .; + __rodata_lma = __rodata_vma + __text_lma - __text_vma; +@@ -361,7 +361,7 @@ SECTIONS + __dynamic_end = .; + } + +- . = ALIGN(16); ++ . = ALIGN(32); + + __data_vma = .; + __data_lma = __data_vma + __text_lma - __text_vma; +@@ -377,7 +377,7 @@ SECTIONS + __pm_code_dwords = (__pm_code_len + 3) >> 2; + + . = ALIGN(128); +- ++ + __bss_vma = .; + __bss_lma = .; /* Dummy */ + .bss (NOLOAD) : AT (__bss_lma) { +diff --git a/core/x86_64/syslinux.ld b/core/x86_64/syslinux.ld +index 1057112..bf815c4 100644 +--- a/core/x86_64/syslinux.ld ++++ b/core/x86_64/syslinux.ld +@@ -266,7 +266,7 @@ SECTIONS + __text_end = .; + } + +- . = ALIGN(16); ++ . = ALIGN(32); + + __rodata_vma = .; + __rodata_lma = __rodata_vma + __text_lma - __text_vma; +@@ -361,7 +361,7 @@ SECTIONS + __dynamic_end = .; + } + +- . = ALIGN(16); ++ . = ALIGN(32); + + __data_vma = .; + __data_lma = __data_vma + __text_lma - __text_vma; +@@ -377,7 +377,7 @@ SECTIONS + __pm_code_dwords = (__pm_code_len + 3) >> 2; + + . = ALIGN(128); +- ++ + __bss_vma = .; + __bss_lma = .; /* Dummy */ + .bss (NOLOAD) : AT (__bss_lma) { +-- +2.7.4 + diff --git a/boot/syslinux/0002-Disable-PIE-to-avoid-FTBFS-on-amd64.patch b/boot/syslinux/0002-Disable-PIE-to-avoid-FTBFS-on-amd64.patch new file mode 100644 index 0000000000..64a08b8575 --- /dev/null +++ b/boot/syslinux/0002-Disable-PIE-to-avoid-FTBFS-on-amd64.patch @@ -0,0 +1,30 @@ +From 250bf2c921713434627dc7bc8b0918fa0841f9b7 Mon Sep 17 00:00:00 2001 +From: Graham Inggs +Date: Wed, 5 Apr 2017 22:03:12 +0200 +Subject: [PATCH] Disable PIE to avoid FTBFS on amd64 + +gcc 6.x has PIE support enabled by default, which causes a build issue +with syslinux. This patch disables PIE support in the relevant +syslinux Makefile. + +Signed-off-by: Ryan Coe +--- + gpxe/src/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gpxe/src/Makefile b/gpxe/src/Makefile +index cc91d78..077af64 100644 +--- a/gpxe/src/Makefile ++++ b/gpxe/src/Makefile +@@ -4,7 +4,7 @@ + # + + CLEANUP := +-CFLAGS := ++CFLAGS := -fno-PIE + ASFLAGS := + LDFLAGS := + MAKEDEPS := Makefile +-- +2.7.4 + diff --git a/boot/syslinux/0002-disable-pie.patch b/boot/syslinux/0002-disable-pie.patch deleted file mode 100644 index b31b622c41..0000000000 --- a/boot/syslinux/0002-disable-pie.patch +++ /dev/null @@ -1,22 +0,0 @@ -Description: Disable PIE to avoid FTBFS on amd64 -Bug-Ubuntu: https://bugs.launchpad.net/bugs/1579023 -Author: Graham Inggs -Last-Update: 2016-05-06 - -gcc 6.x has PIE support enabled by default, which causes a build issue -with syslinux. This patch disables PIE support in the relevant -syslinux Makefile. - -Signed-off-by: Ryan Coe - ---- a/gpxe/src/Makefile -+++ b/gpxe/src/Makefile -@@ -4,7 +4,7 @@ - # - - CLEANUP := --CFLAGS := -+CFLAGS := -fno-PIE - ASFLAGS := - LDFLAGS := - MAKEDEPS := Makefile diff --git a/boot/syslinux/0003-memdisk-Force-ld-output-format-to-32-bits.patch b/boot/syslinux/0003-memdisk-Force-ld-output-format-to-32-bits.patch new file mode 100644 index 0000000000..4eedf4973e --- /dev/null +++ b/boot/syslinux/0003-memdisk-Force-ld-output-format-to-32-bits.patch @@ -0,0 +1,32 @@ +From c0287594239d5af2082cac20817f8e8b11a4b1b2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Beno=C3=AEt=20Allard?= +Date: Wed, 5 Apr 2017 14:18:09 +0200 +Subject: [PATCH] memdisk: Force ld output format to 32-bits +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +On toolchains where the default output is x86_64, we need to be +consistent with the other .o files + +Signed-off-by: Benoît Allard +--- + memdisk/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/memdisk/Makefile b/memdisk/Makefile +index e6557d8..06613ff 100644 +--- a/memdisk/Makefile ++++ b/memdisk/Makefile +@@ -78,7 +78,7 @@ memdisk16.o: memdisk16.asm + $(NASM) -f bin $(NASMOPT) $(NFLAGS) $(NINCLUDE) -o $@ -l $*.lst $< + + memdisk_%.o: memdisk_%.bin +- $(LD) -r -b binary -o $@ $< ++ $(LD) --oformat elf32-i386 -r -b binary -o $@ $< + + memdisk16.elf: $(OBJS16) + $(LD) -Ttext 0 -o $@ $^ +-- +2.7.4 + diff --git a/boot/syslinux/0004-utils-Use-the-host-toolchain-to-build.patch b/boot/syslinux/0004-utils-Use-the-host-toolchain-to-build.patch new file mode 100644 index 0000000000..e091a3a89d --- /dev/null +++ b/boot/syslinux/0004-utils-Use-the-host-toolchain-to-build.patch @@ -0,0 +1,60 @@ +From e000251144056c99e390a2a4449d06cbd2a19c0a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Beno=C3=AEt=20Allard?= +Date: Wed, 5 Apr 2017 14:25:02 +0200 +Subject: [PATCH] utils: Use the host toolchain to build. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The utilities are meant to run on the host machine, hence must be built using +the host toolchain. + +Signed-off-by: Benoît Allard +--- + utils/Makefile | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/utils/Makefile b/utils/Makefile +index dfe6259..ac91aaa 100644 +--- a/utils/Makefile ++++ b/utils/Makefile +@@ -17,8 +17,8 @@ + VPATH = $(SRC) + include $(MAKEDIR)/syslinux.mk + +-CFLAGS = $(GCCWARN) -Os -fomit-frame-pointer -D_FILE_OFFSET_BITS=64 -I$(SRC) +-LDFLAGS = -O2 ++CFLAGS = $(CFLAGS_FOR_BUILD) $(GCCWARN) -Os -fomit-frame-pointer -D_FILE_OFFSET_BITS=64 -I$(SRC) ++LDFLAGS = $(LDFLAGS_FOR_BUILD) -O2 + + C_TARGETS = isohybrid gethostip memdiskfind + SCRIPT_TARGETS = mkdiskimage +@@ -35,7 +35,7 @@ ISOHDPFX = $(addprefix $(OBJ)/,../mbr/isohdpfx.bin ../mbr/isohdpfx_f.bin \ + all: $(TARGETS) + + %.o: %.c +- $(CC) $(UMAKEDEPS) $(CFLAGS) -c -o $@ $< ++ $(CC_FOR_BUILD) $(UMAKEDEPS) $(CFLAGS) -c -o $@ $< + + mkdiskimage: mkdiskimage.in ../mbr/mbr.bin bin2hex.pl + $(PERL) $(SRC)/bin2hex.pl < $(OBJ)/../mbr/mbr.bin | cat $(SRC)/mkdiskimage.in - > $@ +@@ -51,13 +51,13 @@ isohdpfx.c: $(ISOHDPFX) isohdpfxarray.pl + $(PERL) $(SRC)/isohdpfxarray.pl $(ISOHDPFX) > $@ + + isohybrid: isohybrid.o isohdpfx.o +- $(CC) $(LDFLAGS) -o $@ $^ -luuid ++ $(CC_FOR_BUILD) $(LDFLAGS) -o $@ $^ -luuid + + gethostip: gethostip.o +- $(CC) $(LDFLAGS) -o $@ $^ ++ $(CC_FOR_BUILD) $(LDFLAGS) -o $@ $^ + + memdiskfind: memdiskfind.o +- $(CC) $(LDFLAGS) -o $@ $^ ++ $(CC_FOR_BUILD) $(LDFLAGS) -o $@ $^ + + tidy dist: + rm -f *.o .*.d isohdpfx.c +-- +2.1.4 + diff --git a/boot/syslinux/0005-lzo-Use-the-host-toolchain-for-prepcore.patch b/boot/syslinux/0005-lzo-Use-the-host-toolchain-for-prepcore.patch new file mode 100644 index 0000000000..c6fa7febf7 --- /dev/null +++ b/boot/syslinux/0005-lzo-Use-the-host-toolchain-for-prepcore.patch @@ -0,0 +1,44 @@ +From 83e1f00990c25554723609bb549e18b987034317 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Beno=C3=AEt=20Allard?= +Date: Thu, 6 Apr 2017 09:43:46 +0200 +Subject: [PATCH] lzo: Use the host toolchain for prepcore +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Benoît Allard +--- + lzo/Makefile | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/lzo/Makefile b/lzo/Makefile +index 29f1fa6..c016e5a 100644 +--- a/lzo/Makefile ++++ b/lzo/Makefile +@@ -11,10 +11,13 @@ + ## ----------------------------------------------------------------------- + + VPATH = $(SRC) +-include $(MAKEDIR)/build.mk ++include $(MAKEDIR)/syslinux.mk + + INCLUDES += -I$(SRC)/include + ++%.o: %.c ++ $(CC_FOR_BUILD) $(UMAKEDEPS) $(CFLAGS_FOR_BUILD) $(INCLUDES) -c -o $@ $< ++ + LIBOBJS = $(patsubst %.c,%.o,$(subst $(SRC)/,,$(wildcard $(SRC)/src/*.c))) + LIB = lzo.a + BINS = prepcore +@@ -30,7 +33,7 @@ $(LIB) : $(LIBOBJS) + $(RANLIB) $@ + + prepcore : prepcore.o $(LIB) +- $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) ++ $(CC_FOR_BUILD) $(LDFLAGS_FOR_BUILD) -o $@ $^ $(LIBS) + + tidy dist clean spotless: + rm -f $(BINS) +-- +2.1.4 + diff --git a/boot/syslinux/0006-The-VPrint-definition-is-now-part-of-the-exports-of-.patch b/boot/syslinux/0006-The-VPrint-definition-is-now-part-of-the-exports-of-.patch new file mode 100644 index 0000000000..c376010232 --- /dev/null +++ b/boot/syslinux/0006-The-VPrint-definition-is-now-part-of-the-exports-of-.patch @@ -0,0 +1,37 @@ +From 39274503292a6003b1b0c93f694e34f11e85ea44 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Beno=C3=AEt=20Allard?= +Date: Fri, 9 Jun 2017 11:55:14 +0200 +Subject: [PATCH] The VPrint definition is now part of the exports of + gnu-efi +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Benoît Allard +--- + efi/fio.h | 9 --------- + 1 file changed, 9 deletions(-) + +diff --git a/efi/fio.h b/efi/fio.h +index 65fff8d..a1bfe68 100644 +--- a/efi/fio.h ++++ b/efi/fio.h +@@ -11,15 +11,6 @@ + #define MAX_EFI_ARGS 64 + #define WS(c16) (c16 == L' ' || c16 == CHAR_TAB) + +-/* VPrint is not in export declarations in gnu-efi lib yet +- * although it is a global function; declare it here +- */ +-extern UINTN +-VPrint ( +- IN CHAR16 *fmt, +- va_list args +- ); +- + extern EFI_STATUS efi_errno; + + void efi_memcpy(unsigned char *dst, unsigned char *src, size_t len); +-- +2.1.4 + diff --git a/boot/syslinux/0007-Update-the-longjump-calls-to-fit-the-new-declaration.patch b/boot/syslinux/0007-Update-the-longjump-calls-to-fit-the-new-declaration.patch new file mode 100644 index 0000000000..90d0b81f06 --- /dev/null +++ b/boot/syslinux/0007-Update-the-longjump-calls-to-fit-the-new-declaration.patch @@ -0,0 +1,37 @@ +From 3bd5c2d951421a89f76b2423e5810862f53486c1 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Beno=C3=AEt=20Allard?= +Date: Fri, 9 Jun 2017 11:59:43 +0200 +Subject: [PATCH] Update the longjump calls to fit the new declaration +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Benoît Allard +--- + efi/main.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/efi/main.c b/efi/main.c +index 208fee4f..71d31a5c 100644 +--- a/efi/main.c ++++ b/efi/main.c +@@ -10,7 +10,6 @@ + #include + #include + #include +-#include + + #include "efi.h" + #include "fio.h" +@@ -30,7 +29,7 @@ uint32_t timer_irq; + __export uint8_t KbdMap[256]; + char aux_seg[256]; + +-static jmp_buf load_error_buf; ++static jmp_buf *load_error_buf; + + static inline EFI_STATUS + efi_close_protocol(EFI_HANDLE handle, EFI_GUID *guid, EFI_HANDLE agent, +-- +2.13.3 + diff --git a/boot/syslinux/0008-efi-wrapper-build-it-with-the-host-toolchain.patch b/boot/syslinux/0008-efi-wrapper-build-it-with-the-host-toolchain.patch new file mode 100644 index 0000000000..9ec12a1791 --- /dev/null +++ b/boot/syslinux/0008-efi-wrapper-build-it-with-the-host-toolchain.patch @@ -0,0 +1,32 @@ +From ca8aaded0c7c3900397029bd9520132b62629308 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Beno=C3=AEt=20Allard?= +Date: Mon, 12 Jun 2017 14:59:16 +0200 +Subject: [PATCH] efi/wrapper: build it with the host toolchain. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The wrapper program is executed on the build machine, so it should be +built with CC_FOR_BUILD. + +Signed-off-by: Benoît Allard +--- + efi/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/efi/Makefile b/efi/Makefile +index d5443bd5..d24d16db 100644 +--- a/efi/Makefile ++++ b/efi/Makefile +@@ -79,7 +79,7 @@ syslinux.so: $(OBJS) $(CORE_OBJS) $(LIB_OBJS) + # cp $^ $@ + + wrapper: wrapper.c +- $(CC) $^ -o $@ ++ $(CC_FOR_BUILD) $^ -o $@ + + # + # Build the wrapper app and wrap our .so to produce a .efi +-- +2.13.3 + diff --git a/boot/syslinux/0009-bios-Don-t-try-to-guess-the-sections-alignment.patch b/boot/syslinux/0009-bios-Don-t-try-to-guess-the-sections-alignment.patch new file mode 100644 index 0000000000..916012f619 --- /dev/null +++ b/boot/syslinux/0009-bios-Don-t-try-to-guess-the-sections-alignment.patch @@ -0,0 +1,295 @@ +From 76946dd67bc856eaf4fe69d0826547a794176f78 Mon Sep 17 00:00:00 2001 +From: Sylvain Gault +Date: Tue, 29 Sep 2015 04:45:09 +0200 +Subject: [PATCH] bios: Don't try to guess the sections alignment + +For the compression / decompression to succeed, the sections layout must +be the same between the virtual memory and load memory. The section +alignment was kept in sync by introducing aligment that should be +greater or equal to the actual section alignment. + +This patch compute the load memory addresses of the sections so that +the layout is the same as the virtual memory addresses. + +Signed-off-by: Sylvain Gault +Tested-by: poma +Signed-off-by: Paulo Alcantara + +Upstream: 0cc9a99e560a2f52bcf052fd85b1efae35ee812f +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) +--- + core/i386/syslinux.ld | 63 ++++++++++--------------------------------------- + core/x86_64/syslinux.ld | 63 ++++++++++--------------------------------------- + 2 files changed, 24 insertions(+), 102 deletions(-) + +diff --git a/core/i386/syslinux.ld b/core/i386/syslinux.ld +index 73904510..92b75b11 100644 +--- a/core/i386/syslinux.ld ++++ b/core/i386/syslinux.ld +@@ -255,10 +255,9 @@ SECTIONS + . = 0x100000; + + __pm_code_start = .; ++ __vma_to_lma = __pm_code_lma - __pm_code_start; + +- __text_vma = .; +- __text_lma = __pm_code_lma; +- .text : AT(__text_lma) { ++ .text : AT(ADDR(.text) + __vma_to_lma) { + FILL(0x90909090) + __text_start = .; + *(.text) +@@ -266,106 +265,68 @@ SECTIONS + __text_end = .; + } + +- . = ALIGN(32); +- +- __rodata_vma = .; +- __rodata_lma = __rodata_vma + __text_lma - __text_vma; +- .rodata : AT(__rodata_lma) { ++ .rodata : AT(ADDR(.rodata) + __vma_to_lma) { + __rodata_start = .; + *(.rodata) + *(.rodata.*) + __rodata_end = .; + } + +- . = ALIGN(4); +- +- __ctors_vma = .; +- __ctors_lma = __ctors_vma + __text_lma - __text_vma; +- .ctors : AT(__ctors_lma) { ++ .ctors : AT(ADDR(.ctors) + __vma_to_lma) { + __ctors_start = .; + KEEP (*(SORT(.ctors.*))) + KEEP (*(.ctors)) + __ctors_end = .; + } + +- __dtors_vma = .; +- __dtors_lma = __dtors_vma + __text_lma - __text_vma; +- .dtors : AT(__dtors_lma) { ++ .dtors : AT(ADDR(.dtors) + __vma_to_lma) { + __dtors_start = .; + KEEP (*(SORT(.dtors.*))) + KEEP (*(.dtors)) + __dtors_end = .; + } + +- . = ALIGN(4); +- +- __dynsym_vma = .; +- __dynsym_lma = __dynsym_vma + __text_lma - __text_vma; +- .dynsym : AT(__dynsym_lma) { ++ .dynsym : AT(ADDR(.dynsym) + __vma_to_lma) { + __dynsym_start = .; + *(.dynsym) + __dynsym_end = .; + } + __dynsym_len = __dynsym_end - __dynsym_start; + +- . = ALIGN(4); +- +- __dynstr_vma = .; +- __dynstr_lma = __dynstr_vma + __text_lma - __text_vma; +- .dynstr : AT(__dynstr_lma) { ++ .dynstr : AT(ADDR(.dynstr) + __vma_to_lma) { + __dynstr_start = .; + *(.dynstr) + __dynstr_end = .; + } + __dynstr_len = __dynstr_end - __dynstr_start; + +- . = ALIGN(4); +- +- __gnu_hash_vma = .; +- __gnu_hash_lma = __gnu_hash_vma + __text_lma - __text_vma; +- .gnu.hash : AT(__gnu_hash_lma) { ++ .gnu.hash : AT(ADDR(.gnu.hash) + __vma_to_lma) { + __gnu_hash_start = .; + *(.gnu.hash) + __gnu_hash_end = .; + } + + +- . = ALIGN(4); +- +- __dynlink_vma = .; +- __dynlink_lma = __dynlink_vma + __text_lma - __text_vma; +- .dynlink : AT(__dynlink_lma) { ++ .dynlink : AT(ADDR(.dynlink) + __vma_to_lma) { + __dynlink_start = .; + *(.dynlink) + __dynlink_end = .; + } + +- . = ALIGN(4); +- +- __got_vma = .; +- __got_lma = __got_vma + __text_lma - __text_vma; +- .got : AT(__got_lma) { ++ .got : AT(ADDR(.got) + __vma_to_lma) { + __got_start = .; + KEEP (*(.got.plt)) + KEEP (*(.got)) + __got_end = .; + } + +- . = ALIGN(4); +- +- __dynamic_vma = .; +- __dynamic_lma = __dynamic_vma + __text_lma - __text_vma; +- .dynamic : AT(__dynamic_lma) { ++ .dynamic : AT(ADDR(.dynamic) + __vma_to_lma) { + __dynamic_start = .; + *(.dynamic) + __dynamic_end = .; + } + +- . = ALIGN(32); +- +- __data_vma = .; +- __data_lma = __data_vma + __text_lma - __text_vma; +- .data : AT(__data_lma) { ++ .data : AT(ADDR(.data) + __vma_to_lma) { + __data_start = .; + *(.data) + *(.data.*) +diff --git a/core/x86_64/syslinux.ld b/core/x86_64/syslinux.ld +index bf815c46..70c6e00a 100644 +--- a/core/x86_64/syslinux.ld ++++ b/core/x86_64/syslinux.ld +@@ -255,10 +255,9 @@ SECTIONS + . = 0x100000; + + __pm_code_start = .; ++ __vma_to_lma = __pm_code_lma - __pm_code_start; + +- __text_vma = .; +- __text_lma = __pm_code_lma; +- .text : AT(__text_lma) { ++ .text : AT(ADDR(.text) + __vma_to_lma) { + FILL(0x90909090) + __text_start = .; + *(.text) +@@ -266,106 +265,68 @@ SECTIONS + __text_end = .; + } + +- . = ALIGN(32); +- +- __rodata_vma = .; +- __rodata_lma = __rodata_vma + __text_lma - __text_vma; +- .rodata : AT(__rodata_lma) { ++ .rodata : AT(ADDR(.rodata) + __vma_to_lma) { + __rodata_start = .; + *(.rodata) + *(.rodata.*) + __rodata_end = .; + } + +- . = ALIGN(4); +- +- __ctors_vma = .; +- __ctors_lma = __ctors_vma + __text_lma - __text_vma; +- .ctors : AT(__ctors_lma) { ++ .ctors : AT(ADDR(.ctors) + __vma_to_lma) { + __ctors_start = .; + KEEP (*(SORT(.ctors.*))) + KEEP (*(.ctors)) + __ctors_end = .; + } + +- __dtors_vma = .; +- __dtors_lma = __dtors_vma + __text_lma - __text_vma; +- .dtors : AT(__dtors_lma) { ++ .dtors : AT(ADDR(.dtors) + __vma_to_lma) { + __dtors_start = .; + KEEP (*(SORT(.dtors.*))) + KEEP (*(.dtors)) + __dtors_end = .; + } + +- . = ALIGN(4); +- +- __dynsym_vma = .; +- __dynsym_lma = __dynsym_vma + __text_lma - __text_vma; +- .dynsym : AT(__dynsym_lma) { ++ .dynsym : AT(ADDR(.dynsym) + __vma_to_lma) { + __dynsym_start = .; + *(.dynsym) + __dynsym_end = .; + } + __dynsym_len = __dynsym_end - __dynsym_start; + +- . = ALIGN(4); +- +- __dynstr_vma = .; +- __dynstr_lma = __dynstr_vma + __text_lma - __text_vma; +- .dynstr : AT(__dynstr_lma) { ++ .dynstr : AT(ADDR(.dynstr) + __vma_to_lma) { + __dynstr_start = .; + *(.dynstr) + __dynstr_end = .; + } + __dynstr_len = __dynstr_end - __dynstr_start; + +- . = ALIGN(4); +- +- __gnu_hash_vma = .; +- __gnu_hash_lma = __gnu_hash_vma + __text_lma - __text_vma; +- .gnu.hash : AT(__gnu_hash_lma) { ++ .gnu.hash : AT(ADDR(.gnu.hash) + __vma_to_lma) { + __gnu_hash_start = .; + *(.gnu.hash) + __gnu_hash_end = .; + } + + +- . = ALIGN(4); +- +- __dynlink_vma = .; +- __dynlink_lma = __dynlink_vma + __text_lma - __text_vma; +- .dynlink : AT(__dynlink_lma) { ++ .dynlink : AT(ADDR(.dynlink) + __vma_to_lma) { + __dynlink_start = .; + *(.dynlink) + __dynlink_end = .; + } + +- . = ALIGN(4); +- +- __got_vma = .; +- __got_lma = __got_vma + __text_lma - __text_vma; +- .got : AT(__got_lma) { ++ .got : AT(ADDR(.got) + __vma_to_lma) { + __got_start = .; + KEEP (*(.got.plt)) + KEEP (*(.got)) + __got_end = .; + } + +- . = ALIGN(4); +- +- __dynamic_vma = .; +- __dynamic_lma = __dynamic_vma + __text_lma - __text_vma; +- .dynamic : AT(__dynamic_lma) { ++ .dynamic : AT(ADDR(.dynamic) + __vma_to_lma) { + __dynamic_start = .; + *(.dynamic) + __dynamic_end = .; + } + +- . = ALIGN(32); +- +- __data_vma = .; +- __data_lma = __data_vma + __text_lma - __text_vma; +- .data : AT(__data_lma) { ++ .data : AT(ADDR(.data) + __vma_to_lma) { + __data_start = .; + *(.data) + *(.data.*) +-- +2.13.3 + diff --git a/boot/syslinux/0010-core-Clean-up-the-i386-bios-build.patch b/boot/syslinux/0010-core-Clean-up-the-i386-bios-build.patch new file mode 100644 index 0000000000..8b6d52544b --- /dev/null +++ b/boot/syslinux/0010-core-Clean-up-the-i386-bios-build.patch @@ -0,0 +1,622 @@ +From a14b1b3d3e375d2e8af8804171ef5e52574dbb2a Mon Sep 17 00:00:00 2001 +From: "H. Peter Anvin" +Date: Tue, 9 Feb 2016 18:15:50 -0800 +Subject: [PATCH] core: Clean up the i386-bios build + +Remove symbols and data structures not used in the i386-bios build, +and clean up the linker script so that most internal symbols are +HIDDEN. + +Signed-off-by: H. Peter Anvin + +Upstream: ff859050fa4e6535cae098dc35d88a265466448d + +This patch fixes the following build failure with i386 binutils 2.28.1: + +/builds/arnout/buildroot/output/host/bin/i586-buildroot-linux-uclibc-ld -Bsymbolic -pie -E --hash-style=gnu -T +/builds/arnout/buildroot/output/build/syslinux-6.03/core/i386/syslinux.ld -M -o ldlinux.elf ldlinux.o \ + --start-group libcom32.a --whole-archive /builds/arnout/buildroot/output/build/syslinux-6.03/bios/com32/lib/libcom32core.a libldlinux.a --end-group -N +--no-omagic \ + > ldlinux.map +/builds/arnout/buildroot/output/host/bin/i586-buildroot-linux-uclibc-ld: ldlinux.elf: Not enough room for program headers, try linking with -N +/builds/arnout/buildroot/output/host/bin/i586-buildroot-linux-uclibc-ld: final link failed: Bad value +/builds/arnout/buildroot/output/build/syslinux-6.03/core/Makefile:167: recipe for target 'ldlinux.elf' failed + +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) +--- + core/extern.inc | 17 +-- + core/i386/syslinux.ld | 287 +++++++++++++++++++++++++------------------------- + core/layout.inc | 11 -- + 3 files changed, 143 insertions(+), 172 deletions(-) + +diff --git a/core/extern.inc b/core/extern.inc +index af8eb04c..ce4abfab 100644 +--- a/core/extern.inc ++++ b/core/extern.inc +@@ -12,27 +12,17 @@ + ; hello.c + extern hello + +- ;abort.c +- extern abort_load_new +- + ; elflink/load_env32.c + extern load_env32, pm_env32_run + +- ; memscan.c +- extern highmem_init +- +- extern linux_kernel +- + extern mp1, mp2, mp3, mp4, mp5 + +- extern hexdump, mydump ++ extern hexdump + + extern mem_init + + ; fs.c +- extern pm_fs_init, pm_searchdir, getfssec, getfsbytes +- extern pm_mangle_name, pm_load_config +- extern pm_open_file, pm_close_file ++ extern pm_fs_init + extern SectorSize, SectorShift + + ; chdir.c +@@ -41,9 +31,6 @@ + ; readdir.c + extern opendir, readdir, closedir + +- ; newconfig.c +- extern pm_is_config_file +- + ; idle.c + extern __idle + +diff --git a/core/i386/syslinux.ld b/core/i386/syslinux.ld +index 92b75b11..39198d75 100644 +--- a/core/i386/syslinux.ld ++++ b/core/i386/syslinux.ld +@@ -1,7 +1,7 @@ + /* ----------------------------------------------------------------------- + * + * Copyright 2008-2009 H. Peter Anvin - All Rights Reserved +- * Copyright 2009 Intel Corporation; author: H. Peter Anvin ++ * Copyright 2009-2016 Intel Corporation; author: H. Peter Anvin + * + * 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 +@@ -12,7 +12,7 @@ + * ----------------------------------------------------------------------- */ + + /* +- * Linker script for the SYSLINUX core ++ * Linker script for the SYSLINUX core when built for i386-bios + */ + + OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") +@@ -26,7 +26,7 @@ SECTIONS + { + /* Prefix structure for the compression program */ + . = 0; +- __module_start = .; ++ HIDDEN(__module_start = ABSOLUTE(.)); + .prefix : { + *(.prefix) + } +@@ -35,81 +35,82 @@ SECTIONS + . = 0x1000; + + .earlybss (NOLOAD) : { +- __earlybss_start = .; ++ HIDDEN(__earlybss_start = .); + *(.earlybss) +- __earlybss_end = .; ++ HIDDEN(__earlybss_end = .); + } +- __earlybss_len = ABSOLUTE(__earlybss_end) - ABSOLUTE(__earlybss_start); +- __earlybss_dwords = (__earlybss_len + 3) >> 2; ++ HIDDEN(__earlybss_len = ABSOLUTE(__earlybss_end) - ABSOLUTE(__earlybss_start)); ++ HIDDEN(__earlybss_dwords = (__earlybss_len + 3) >> 2); + + . = ALIGN(4); + .bss16 (NOLOAD) : { +- __bss16_start = .; ++ HIDDEN(__bss16_start = .); + *(.bss16) +- __bss16_end = .; ++ HIDDEN(__bss16_end = .); + } +- __bss16_len = ABSOLUTE(__bss16_end) - ABSOLUTE(__bss16_start); +- __bss16_dwords = (__bss16_len + 3) >> 2; ++ HIDDEN(__bss16_len = ABSOLUTE(__bss16_end) - ABSOLUTE(__bss16_start)); ++ HIDDEN(__bss16_dwords = (__bss16_len + 3) >> 2); + + . = ALIGN(4); + .config : AT (__config_lma) { +- __config_start = .; ++ HIDDEN(__config_start = .); + *(.config) +- __config_end = .; ++ HIDDEN(__config_end = .); + } +- __config_len = ABSOLUTE(__config_end) - ABSOLUTE(__config_start); +- __config_dwords = (__config_len + 3) >> 2; ++ HIDDEN(__config_len = ABSOLUTE(__config_end) - ABSOLUTE(__config_start)); ++ HIDDEN(__config_dwords = (__config_len + 3) >> 2); + + /* Generated and/or copied code */ + + . = ALIGN(128); /* Minimum separation from mutable data */ + .replacestub : AT (__replacestub_lma) { +- __replacestub_start = .; ++ HIDDEN(__replacestub_start = .); + *(.replacestub) +- __replacestub_end = .; ++ HIDDEN(__replacestub_end = .); + } +- __replacestub_len = ABSOLUTE(__replacestub_end) - ABSOLUTE(__replacestub_start); +- __replacestub_dwords = (__replacestub_len + 3) >> 2; ++ HIDDEN(__replacestub_len = ABSOLUTE(__replacestub_end) - ABSOLUTE(__replacestub_start)); ++ HIDDEN(__replacestub_dwords = (__replacestub_len + 3) >> 2); + + . = ALIGN(16); +- __gentextnr_lma = .; ++ HIDDEN(__gentextnr_lma = .); + .gentextnr : AT(__gentextnr_lma) { +- __gentextnr_start = .; ++ HIDDEN(__gentextnr_start = .); + *(.gentextnr) +- __gentextnr_end = .; ++ HIDDEN(__gentextnr_end = .); + } +- __gentextnr_len = ABSOLUTE(__gentextnr_end) - ABSOLUTE(__gentextnr_start); +- __gentextnr_dwords = (__gentextnr_len + 3) >> 2; ++ HIDDEN(__gentextnr_len = ABSOLUTE(__gentextnr_end) - ABSOLUTE(__gentextnr_start)); ++ HIDDEN(__gentextnr_dwords = (__gentextnr_len + 3) >> 2); + + . = STACK_BASE; + .stack16 : AT(STACK_BASE) { +- __stack16_start = .; ++ HIDDEN(__stack16_start = .); + . += STACK_LEN; +- __stack16_end = .; ++ HIDDEN(__stack16_end = .); + } +- __stack16_len = ABSOLUTE(__stack16_end) - ABSOLUTE(__stack16_start); +- __stack16_dwords = (__stack16_len + 3) >> 2; ++ HIDDEN(__stack16_len = ABSOLUTE(__stack16_end) - ABSOLUTE(__stack16_start)); ++ HIDDEN(__stack16_dwords = (__stack16_len + 3) >> 2); + + /* Initialized sections */ + + . = 0x7c00; + .init : { + FILL(0x90909090) +- __init_start = .; ++ HIDDEN(__init_start = .); + *(.init) +- __init_end = .; ++ HIDDEN(__init_end = .); + } +- __init_len = ABSOLUTE(__init_end) - ABSOLUTE(__init_start); +- __init_dwords = (__init_len + 3) >> 2; ++ HIDDEN(__init_len = ABSOLUTE(__init_end) - ABSOLUTE(__init_start)); ++ HIDDEN(__init_dwords = (__init_len + 3) >> 2); + ++ . = ALIGN(4); + .text16 : { + FILL(0x90909090) +- __text16_start = .; ++ HIDDEN(__text16_start = .); + *(.text16) +- __text16_end = .; ++ HIDDEN(__text16_end = .); + } +- __text16_len = ABSOLUTE(__text16_end) - ABSOLUTE(__text16_start); +- __text16_dwords = (__text16_len + 3) >> 2; ++ HIDDEN(__text16_len = ABSOLUTE(__text16_end) - ABSOLUTE(__text16_start)); ++ HIDDEN(__text16_dwords = (__text16_len + 3) >> 2); + + /* + * .textnr is used for 32-bit code that is used on the code +@@ -118,99 +119,92 @@ SECTIONS + . = ALIGN(16); + .textnr : { + FILL(0x90909090) +- __textnr_start = .; ++ HIDDEN(__textnr_start = .); + *(.textnr) +- __textnr_end = .; ++ HIDDEN(__textnr_end = .); + } +- __textnr_len = ABSOLUTE(__textnr_end) - ABSOLUTE(__textnr_start); +- __textnr_dwords = (__textnr_len + 3) >> 2; ++ HIDDEN(__textnr_len = ABSOLUTE(__textnr_end) - ABSOLUTE(__textnr_start)); ++ HIDDEN(__textnr_dwords = (__textnr_len + 3) >> 2); + + . = ALIGN(16); +- __bcopyxx_start = .; ++ HIDDEN(__bcopyxx_start = .); + + .bcopyxx.text : { + FILL(0x90909090) +- __bcopyxx_text_start = .; ++ HIDDEN(__bcopyxx_text_start = .); + *(.bcopyxx.text) +- __bcopyxx_text_end = .; ++ HIDDEN(__bcopyxx_text_end = .); + } +- __bcopyxx_text_len = ABSOLUTE(__bcopyxx_text_end) - ABSOLUTE(__bcopyxx_text_start); +- __bcopyxx_text_dwords = (__bcopyxx_text_len + 3) >> 2; ++ HIDDEN(__bcopyxx_text_len = ABSOLUTE(__bcopyxx_text_end) - ABSOLUTE(__bcopyxx_text_start)); ++ HIDDEN(__bcopyxx_text_dwords = (__bcopyxx_text_len + 3) >> 2); + + .bcopyxx.data : { +- __bcopyxx_data_start = .; ++ HIDDEN(__bcopyxx_data_start = .); + *(.bcopyxx.text) +- __bcopyxx_data_end = .; ++ HIDDEN(__bcopyxx_data_end = .); + } +- __bcopyxx_data_len = ABSOLUTE(__bcopyxx_data_end) - ABSOLUTE(__bcopyxx_data_start); +- __bcopyxx_data_dwords = (__bcopyxx_data_len + 3) >> 2; ++ HIDDEN(__bcopyxx_data_len = ABSOLUTE(__bcopyxx_data_end) - ABSOLUTE(__bcopyxx_data_start)); ++ HIDDEN(__bcopyxx_data_dwords = (__bcopyxx_data_len + 3) >> 2); + +- __bcopyxx_end = .; +- __bcopyxx_len = ABSOLUTE(__bcopyxx_end) - ABSOLUTE(__bcopyxx_start); +- __bcopyxx_dwords = (__bcopyxx_len + 3) >> 2; ++ HIDDEN(__bcopyxx_end = .); ++ HIDDEN(__bcopyxx_len = ABSOLUTE(__bcopyxx_end) - ABSOLUTE(__bcopyxx_start)); ++ HIDDEN(__bcopyxx_dwords = (__bcopyxx_len + 3) >> 2); + + . = ALIGN(4); + .data16 : { +- __data16_start = .; ++ HIDDEN(__data16_start = .); + *(.data16) +- __data16_end = .; ++ HIDDEN(__data16_end = .); + } +- __data16_len = ABSOLUTE(__data16_end) - ABSOLUTE(__data16_start); +- __data16_dwords = (__data16_len + 3) >> 2; ++ HIDDEN(__data16_len = ABSOLUTE(__data16_end) - ABSOLUTE(__data16_start)); ++ HIDDEN(__data16_dwords = (__data16_len + 3) >> 2); + + . = ALIGN(4); +- __config_lma = .; ++ HIDDEN(__config_lma = ABSOLUTE(.)); + . += SIZEOF(.config); + + . = ALIGN(4); +- __replacestub_lma = .; ++ HIDDEN(__replacestub_lma = ABSOLUTE(.)); + . += SIZEOF(.replacestub); + + /* The 32-bit code loads above the non-progbits sections */ + + . = ALIGN(16); +- __pm_code_lma = .; ++ HIDDEN(__pm_code_lma = ABSOLUTE(.)); + +- __high_clear_start = .; ++ HIDDEN(__high_clear_start = .); + + . = ALIGN(512); + .adv (NOLOAD) : { +- __adv_start = .; ++ HIDDEN(__adv_start = .); + *(.adv) +- __adv_end = .; ++ HIDDEN(__adv_end = .); + } +- __adv_len = ABSOLUTE(__adv_end) - ABSOLUTE(__adv_start); +- __adv_dwords = (__adv_len + 3) >> 2; ++ HIDDEN(__adv_len = ABSOLUTE(__adv_end) - ABSOLUTE(__adv_start)); ++ HIDDEN(__adv_dwords = (__adv_len + 3) >> 2); + + /* Late uninitialized sections */ + + . = ALIGN(4); + .uibss (NOLOAD) : { +- __uibss_start = .; ++ HIDDEN(__uibss_start = .); + *(.uibss) +- __uibss_end = .; ++ HIDDEN(__uibss_end = .); + } +- __uibss_len = ABSOLUTE(__uibss_end) - ABSOLUTE(__uibss_start); +- __uibss_dwords = (__uibss_len + 3) >> 2; ++ HIDDEN(__uibss_len = ABSOLUTE(__uibss_end) - ABSOLUTE(__uibss_start)); ++ HIDDEN(__uibss_dwords = (__uibss_len + 3) >> 2); + +- _end16 = .; +- __assert_end16 = ASSERT(_end16 <= 0x10000, "64K overflow"); ++ HIDDEN(_end16 = .); ++ HIDDEN(__assert_end16 = ASSERT(_end16 <= 0x10000, "64K overflow")); + + /* + * Special 16-bit segments + */ +- +- . = ALIGN(65536); +- .real_mode (NOLOAD) : { +- *(.real_mode) +- } +- real_mode_seg = core_real_mode >> 4; +- + . = ALIGN(65536); + .xfer_buf (NOLOAD) : { + *(.xfer_buf) + } +- xfer_buf_seg = core_xfer_buf >> 4; ++ HIDDEN(xfer_buf_seg = core_xfer_buf >> 4); + + /* + * The auxilliary data segment is used by the 16-bit code +@@ -219,33 +213,33 @@ SECTIONS + + . = ALIGN(16); + .auxseg (NOLOAD) : { +- __auxseg_start = .; ++ HIDDEN(__auxseg_start = .); + *(.auxseg) +- __auxseg_end = .; ++ HIDDEN(__auxseg_end = .); + } +- __auxseg_len = ABSOLUTE(__auxseg_end) - ABSOLUTE(__auxseg_start); +- __auxseg_dwords = (__auxseg_len + 3) >> 2; +- aux_seg = __auxseg_start >> 4; ++ HIDDEN(__auxseg_len = ABSOLUTE(__auxseg_end) - ABSOLUTE(__auxseg_start)); ++ HIDDEN(__auxseg_dwords = (__auxseg_len + 3) >> 2); ++ HIDDEN(aux_seg = __auxseg_start >> 4); + + /* + * Used to allocate lowmem buffers from 32-bit code + */ + .lowmem (NOLOAD) : { +- __lowmem_start = .; ++ HIDDEN(__lowmem_start = .); + *(.lowmem) +- __lowmem_end = .; ++ HIDDEN(__lowmem_end = .); + } +- __lowmem_len = ABSOLUTE(__lowmem_end) - ABSOLUTE(__lowmem_start); +- __lowmem_dwords = (__lowmem_len + 3) >> 2; ++ HIDDEN(__lowmem_len = ABSOLUTE(__lowmem_end) - ABSOLUTE(__lowmem_start)); ++ HIDDEN(__lowmem_dwords = (__lowmem_len + 3) >> 2); + +- __high_clear_end = .; ++ HIDDEN(__high_clear_end = .); + +- __high_clear_len = ABSOLUTE(__high_clear_end) - ABSOLUTE(__high_clear_start); +- __high_clear_dwords = (__high_clear_len + 3) >> 2; ++ HIDDEN(__high_clear_len = ABSOLUTE(__high_clear_end) - ABSOLUTE(__high_clear_start)); ++ HIDDEN(__high_clear_dwords = (__high_clear_len + 3) >> 2); + + /* Start of the lowmem heap */ + . = ALIGN(16); +- __lowmem_heap = .; ++ HIDDEN(__lowmem_heap = .); + + /* + * 32-bit code. This is a hack for the moment due to the +@@ -254,136 +248,137 @@ SECTIONS + + . = 0x100000; + +- __pm_code_start = .; +- __vma_to_lma = __pm_code_lma - __pm_code_start; ++ HIDDEN(__pm_code_start = .); ++ HIDDEN(__vma_to_lma = ABSOLUTE(__pm_code_lma - __pm_code_start)); + + .text : AT(ADDR(.text) + __vma_to_lma) { + FILL(0x90909090) +- __text_start = .; ++ HIDDEN(__text_start = .); + *(.text) + *(.text.*) +- __text_end = .; ++ HIDDEN(__text_end = .); + } + + .rodata : AT(ADDR(.rodata) + __vma_to_lma) { +- __rodata_start = .; ++ HIDDEN(__rodata_start = .); + *(.rodata) + *(.rodata.*) +- __rodata_end = .; ++ HIDDEN(__rodata_end = .); + } + + .ctors : AT(ADDR(.ctors) + __vma_to_lma) { +- __ctors_start = .; ++ HIDDEN(__ctors_start = .); + KEEP (*(SORT(.ctors.*))) + KEEP (*(.ctors)) +- __ctors_end = .; ++ HIDDEN(__ctors_end = .); + } + + .dtors : AT(ADDR(.dtors) + __vma_to_lma) { +- __dtors_start = .; ++ HIDDEN(__dtors_start = .); + KEEP (*(SORT(.dtors.*))) + KEEP (*(.dtors)) +- __dtors_end = .; ++ HIDDEN(__dtors_end = .); + } + + .dynsym : AT(ADDR(.dynsym) + __vma_to_lma) { +- __dynsym_start = .; +- *(.dynsym) +- __dynsym_end = .; ++ HIDDEN(__dynsym_start = .); ++ KEEP (*(.dynsym)) ++ HIDDEN(__dynsym_end = .); + } +- __dynsym_len = __dynsym_end - __dynsym_start; ++ HIDDEN(__dynsym_len = __dynsym_end - __dynsym_start); + + .dynstr : AT(ADDR(.dynstr) + __vma_to_lma) { +- __dynstr_start = .; +- *(.dynstr) +- __dynstr_end = .; ++ HIDDEN(__dynstr_start = .); ++ KEEP (*(.dynstr)) ++ HIDDEN(__dynstr_end = .); + } +- __dynstr_len = __dynstr_end - __dynstr_start; ++ HIDDEN(__dynstr_len = __dynstr_end - __dynstr_start); + + .gnu.hash : AT(ADDR(.gnu.hash) + __vma_to_lma) { +- __gnu_hash_start = .; +- *(.gnu.hash) +- __gnu_hash_end = .; ++ HIDDEN(__gnu_hash_start = .); ++ KEEP (*(.gnu.hash)) ++ HIDDEN(__gnu_hash_end = .); + } + + + .dynlink : AT(ADDR(.dynlink) + __vma_to_lma) { +- __dynlink_start = .; +- *(.dynlink) +- __dynlink_end = .; ++ HIDDEN(__dynlink_start = .); ++ KEEP (*(.dynlink)) ++ HIDDEN(__dynlink_end = .); + } + + .got : AT(ADDR(.got) + __vma_to_lma) { +- __got_start = .; +- KEEP (*(.got.plt)) ++ HIDDEN(__got_start = .); + KEEP (*(.got)) +- __got_end = .; ++ KEEP (*(.got.plt)) ++ HIDDEN(__got_end = .); + } + + .dynamic : AT(ADDR(.dynamic) + __vma_to_lma) { +- __dynamic_start = .; +- *(.dynamic) +- __dynamic_end = .; ++ HIDDEN(__dynamic_start = .); ++ KEEP (*(.dynamic)) ++ HIDDEN(__dynamic_end = .); + } + + .data : AT(ADDR(.data) + __vma_to_lma) { +- __data_start = .; ++ HIDDEN(__data_start = .); + *(.data) + *(.data.*) +- __data_end = .; ++ HIDDEN(__data_end = .); + } + +- __pm_code_end = .; +- __pm_code_len = ABSOLUTE(__pm_code_end) - ABSOLUTE(__pm_code_start); +- __pm_code_dwords = (__pm_code_len + 3) >> 2; ++ HIDDEN(__pm_code_end = .); ++ HIDDEN(__pm_code_len = ABSOLUTE(__pm_code_end) - ABSOLUTE(__pm_code_start)); ++ HIDDEN(__pm_code_dwords = (__pm_code_len + 3) >> 2); + + . = ALIGN(128); + +- __bss_vma = .; +- __bss_lma = .; /* Dummy */ ++ HIDDEN(__bss_vma = .); ++ HIDDEN(__bss_lma = ABSOLUTE(.)); /* Dummy */ + .bss (NOLOAD) : AT (__bss_lma) { +- __bss_start = .; ++ HIDDEN(__bss_start = .); + *(.bss) + *(.bss.*) + *(COMMON) +- __bss_end = .; ++ HIDDEN(__bss_end = .); + } +- __bss_len = ABSOLUTE(__bss_end) - ABSOLUTE(__bss_start); +- __bss_dwords = (__bss_len + 3) >> 2; ++ HIDDEN(__bss_len = ABSOLUTE(__bss_end) - ABSOLUTE(__bss_start)); ++ HIDDEN(__bss_dwords = (__bss_len + 3) >> 2); + + /* Very large objects which don't need to be zeroed */ + +- __hugebss_vma = .; +- __hugebss_lma = .; /* Dummy */ ++ HIDDEN(__hugebss_vma = .); ++ HIDDEN(__hugebss_lma = ABSOLUTE(.)); /* Dummy */ + .hugebss (NOLOAD) : AT (__hugebss_lma) { +- __hugebss_start = .; ++ HIDDEN(__hugebss_start = .); + *(.hugebss) + *(.hugebss.*) +- __hugebss_end = .; ++ HIDDEN(__hugebss_end = .); + } +- __hugebss_len = ABSOLUTE(__hugebss_end) - ABSOLUTE(__hugebss_start); +- __hugebss_dwords = (__hugebss_len + 3) >> 2; ++ HIDDEN(__hugebss_len = ABSOLUTE(__hugebss_end) - ABSOLUTE(__hugebss_start)); ++ HIDDEN(__hugebss_dwords = (__hugebss_len + 3) >> 2); + + + /* XXX: This stack should be unified with the COM32 stack */ +- __stack_vma = .; +- __stack_lma = .; /* Dummy */ ++ HIDDEN(__stack_vma = .); ++ HIDDEN(__stack_lma = ABSOLUTE(.)); /* Dummy */ + .stack (NOLOAD) : AT(__stack_lma) { +- __stack_start = .; ++ HIDDEN(__stack_start = .); + *(.stack) +- __stack_end = .; ++ HIDDEN(__stack_end = .); + } +- __stack_len = ABSOLUTE(__stack_end) - ABSOLUTE(__stack_start); +- __stack_dwords = (__stack_len + 3) >> 2; ++ HIDDEN(__stack_len = ABSOLUTE(__stack_end) - ABSOLUTE(__stack_start)); ++ HIDDEN(__stack_dwords = (__stack_len + 3) >> 2); + +- _end = .; ++ HIDDEN(_end = .); + + /* COM32R and kernels are loaded after our own PM code */ + . = ALIGN(65536); +- free_high_memory = .; ++ HIDDEN(free_high_memory = .); + + /* Stuff we don't need... */ + /DISCARD/ : { + *(.eh_frame) ++ *(.interp) + } + } +diff --git a/core/layout.inc b/core/layout.inc +index 53ca783d..635df537 100644 +--- a/core/layout.inc ++++ b/core/layout.inc +@@ -139,17 +139,6 @@ serial_buf_size equ 4096 ; Should be a power of 2 + core_xfer_buf resb 65536 + + ; +-; Segment for the real mode code (needed as long as we have a in-kernel +-; loader and/or COM16 support. +-; One symbol for the segment number, one for the absolute address +-; +- extern real_mode_seg +- section .real_mode write nobits align=65536 +- global core_real_mode:data hidden +-core_real_mode resb 65536 +-comboot_seg equ real_mode_seg ; COMBOOT image loading zone +- +-; + ; At the very end, the lowmem heap + ; + extern __lowmem_heap +-- +2.13.3 + diff --git a/boot/syslinux/Config.in b/boot/syslinux/Config.in index 6067e9ceb3..da035498de 100644 --- a/boot/syslinux/Config.in +++ b/boot/syslinux/Config.in @@ -1,12 +1,13 @@ config BR2_TARGET_SYSLINUX bool "syslinux" depends on BR2_i386 || BR2_x86_64 - select BR2_HOSTARCH_NEEDS_IA32_COMPILER # Make sure at least one of the flavors is installed select BR2_TARGET_SYSLINUX_ISOLINUX \ if !BR2_TARGET_SYSLINUX_PXELINUX && \ !BR2_TARGET_SYSLINUX_MBR && \ !BR2_TARGET_SYSLINUX_EFI + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBUUID help The syslinux bootloader for x86 systems. This includes: syslinux, pxelinux, extlinux. @@ -34,6 +35,7 @@ config BR2_TARGET_SYSLINUX_PXELINUX config BR2_TARGET_SYSLINUX_MBR bool "install mbr" + depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19615 select BR2_TARGET_SYSLINUX_LEGACY_BIOS help Install the legacy-BIOS 'mbr' image, to boot off a diff --git a/boot/syslinux/syslinux.mk b/boot/syslinux/syslinux.mk index 82890c5dc9..13496414dd 100644 --- a/boot/syslinux/syslinux.mk +++ b/boot/syslinux/syslinux.mk @@ -8,12 +8,13 @@ SYSLINUX_VERSION = 6.03 SYSLINUX_SOURCE = syslinux-$(SYSLINUX_VERSION).tar.xz SYSLINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/boot/syslinux -SYSLINUX_LICENSE = GPLv2+ +SYSLINUX_LICENSE = GPL-2.0+ SYSLINUX_LICENSE_FILES = COPYING SYSLINUX_INSTALL_IMAGES = YES -SYSLINUX_DEPENDENCIES = host-nasm host-util-linux host-upx +# host-util-linux needed to provide libuuid when building host tools +SYSLINUX_DEPENDENCIES = host-nasm host-upx util-linux host-util-linux ifeq ($(BR2_TARGET_SYSLINUX_LEGACY_BIOS),y) SYSLINUX_TARGET += bios @@ -51,21 +52,36 @@ SYSLINUX_POST_PATCH_HOOKS += SYSLINUX_CLEANUP # and the internal zlib should take precedence so -I shouldn't # be used. define SYSLINUX_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE1) CC="$(HOSTCC) -idirafter $(HOST_DIR)/usr/include $(HOST_LDFLAGS)" \ - AR="$(HOSTAR)" $(SYSLINUX_EFI_ARGS) -C $(@D) $(SYSLINUX_TARGET) + $(TARGET_MAKE_ENV) $(MAKE1) \ + CC="$(TARGET_CC)" \ + LD="$(TARGET_LD)" \ + NASM="$(HOST_DIR)/bin/nasm" \ + CC_FOR_BUILD="$(HOSTCC)" \ + CFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \ + LDFLAGS_FOR_BUILD="$(HOST_LDFLAGS)" \ + $(SYSLINUX_EFI_ARGS) -C $(@D) $(SYSLINUX_TARGET) endef # While the actual bootloader is compiled for the target, several # utilities for installing the bootloader are meant for the host. # Repeat the target, otherwise syslinux will try to build everything -# Repeat CC and AR, since syslinux really wants to check them at -# install time +# Repeat LD (and CC) as it happens that some binaries are linked at +# install-time. define SYSLINUX_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE1) CC="$(HOSTCC) -idirafter $(HOST_DIR)/usr/include $(HOST_LDFLAGS)" \ - AR="$(HOSTAR)" $(SYSLINUX_EFI_ARGS) INSTALLROOT=$(HOST_DIR) \ + $(TARGET_MAKE_ENV) $(MAKE1) $(SYSLINUX_EFI_ARGS) INSTALLROOT=$(HOST_DIR) \ + CC="$(TARGET_CC)" \ + LD="$(TARGET_LD)" \ -C $(@D) $(SYSLINUX_TARGET) install endef +# That 'syslinux' binary is an installer actually built for the target. +# However, buildroot makes no usage of it, so better delete it than have it +# installed at the wrong place +define SYSLINUX_POST_INSTALL_CLEANUP + rm -rf $(HOST_DIR)/bin/syslinux +endef +SYSLINUX_POST_INSTALL_TARGET_HOOKS += SYSLINUX_POST_INSTALL_CLEANUP + SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_ISOLINUX) += bios/core/isolinux.bin SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_PXELINUX) += bios/core/pxelinux.bin SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_MBR) += bios/mbr/mbr.bin @@ -81,7 +97,7 @@ define SYSLINUX_INSTALL_IMAGES_CMDS $(INSTALL) -D -m 0755 $(@D)/$$i $(BINARIES_DIR)/syslinux/$${i##*/}; \ done for i in $(SYSLINUX_C32); do \ - $(INSTALL) -D -m 0755 $(HOST_DIR)/usr/share/syslinux/$${i} \ + $(INSTALL) -D -m 0755 $(HOST_DIR)/share/syslinux/$${i} \ $(BINARIES_DIR)/syslinux/$${i}; \ done endef diff --git a/boot/ts4800-mbrboot/Config.in b/boot/ts4800-mbrboot/Config.in new file mode 100644 index 0000000000..7ed0b21382 --- /dev/null +++ b/boot/ts4800-mbrboot/Config.in @@ -0,0 +1,7 @@ +config BR2_TARGET_TS4800_MBRBOOT + bool "ts4800-mbrboot" + depends on BR2_ARM_CPU_ARMV7A + help + First level bootloader for TS4800 board + + https://github.com/embeddedarm/ts4800-mbrboot diff --git a/boot/ts4800-mbrboot/ts4800-mbrboot.hash b/boot/ts4800-mbrboot/ts4800-mbrboot.hash new file mode 100644 index 0000000000..04e7072810 --- /dev/null +++ b/boot/ts4800-mbrboot/ts4800-mbrboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 617c70dcf50b7ad35ed3f40666ff2a9a654a5440b522ad73662abdf9f843cee9 ts4800-mbrboot-cf8f7072ed5a4a4e48fcb9841b2e31e519ec5dca.tar.gz diff --git a/boot/ts4800-mbrboot/ts4800-mbrboot.mk b/boot/ts4800-mbrboot/ts4800-mbrboot.mk new file mode 100644 index 0000000000..3dde6c6ab3 --- /dev/null +++ b/boot/ts4800-mbrboot/ts4800-mbrboot.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# ts4800-mbrboot +# +################################################################################ + +TS4800_MBRBOOT_VERSION = cf8f7072ed5a4a4e48fcb9841b2e31e519ec5dca +TS4800_MBRBOOT_SITE = $(call github,embeddedarm,ts4800-mbrboot,$(TS4800_MBRBOOT_VERSION)) +TS4800_MBRBOOT_LICENSE = BSD-2-Clause +TS4800_MBRBOOT_LICENSE_FILES = LICENSE +TS4800_MBRBOOT_INSTALL_IMAGES = YES + +define TS4800_MBRBOOT_BUILD_CMDS + $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) +endef + +define TS4800_MBRBOOT_INSTALL_IMAGES_CMDS + $(INSTALL) -D -m 0644 $(@D)/mbrboot.bin $(BINARIES_DIR)/mbrboot.bin +endef + +$(eval $(generic-package)) diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in index 4e629c0ef4..8215912339 100644 --- a/boot/uboot/Config.in +++ b/boot/uboot/Config.in @@ -38,7 +38,7 @@ choice Select the specific U-Boot version you want to use config BR2_TARGET_UBOOT_LATEST_VERSION - bool "2017.01" + bool "2017.09" config BR2_TARGET_UBOOT_CUSTOM_VERSION bool "Custom version" @@ -86,7 +86,7 @@ endif config BR2_TARGET_UBOOT_VERSION string - default "2017.01" if BR2_TARGET_UBOOT_LATEST_VERSION + default "2017.09" if BR2_TARGET_UBOOT_LATEST_VERSION default BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE \ if BR2_TARGET_UBOOT_CUSTOM_VERSION default "custom" if BR2_TARGET_UBOOT_CUSTOM_TARBALL @@ -129,6 +129,12 @@ config BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE depends on BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG help Path to the U-Boot configuration file. + +config BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES + string "Additional configuration fragment files" + help + A space-separated list of configuration fragment files, + that will be merged to the main U-Boot configuration file. endif config BR2_TARGET_UBOOT_NEEDS_DTC @@ -138,6 +144,12 @@ config BR2_TARGET_UBOOT_NEEDS_DTC Select this option if your U-Boot board configuration requires the Device Tree compiler to be available. +config BR2_TARGET_UBOOT_NEEDS_PYLIBFDT + bool "U-Boot needs pylibfdt" + help + Select this option if your U-Boot board configuration + requires the Python libfdt library to be available. + config BR2_TARGET_UBOOT_NEEDS_OPENSSL bool "U-Boot needs OpenSSL" help @@ -159,6 +171,9 @@ config BR2_TARGET_UBOOT_FORMAT_BIN bool "u-boot.bin" default y +config BR2_TARGET_UBOOT_FORMAT_DTB_BIN + bool "u-boot-dtb.bin" + config BR2_TARGET_UBOOT_FORMAT_DTB_IMG bool "u-boot-dtb.img" @@ -324,8 +339,8 @@ config BR2_TARGET_UBOOT_SPL_NAME depends on BR2_TARGET_UBOOT_SPL help A space-separated list of SPL binaries, generated during - u-boot build. For most platform it is spl/u-boot-spl.bin - but not always. It is MLO on OMAP for example. + u-boot build. For most platform it is spl/u-boot-spl.bin but + not always. It is MLO on OMAP and SPL on i.MX6 for example. config BR2_TARGET_UBOOT_ZYNQ_IMAGE bool "Generate image for Xilinx Zynq" @@ -340,13 +355,29 @@ config BR2_TARGET_UBOOT_ZYNQ_IMAGE to be set. config BR2_TARGET_UBOOT_ALTERA_SOCFPGA_IMAGE_CRC - bool "CRC SPL image for Altera SoC FPGA" + bool "CRC image for Altera SoC FPGA (mkpimage)" depends on BR2_arm - depends on BR2_TARGET_UBOOT_SPL + depends on BR2_TARGET_UBOOT_SPL || BR2_TARGET_UBOOT_FORMAT_DTB_BIN help - Generate SPL image fixed by the mkpimage tool to enable + Pass the U-Boot image through the mkpimage tool to enable booting on the Altera SoC FPGA based platforms. + On some platforms, it's the SPL that needs to be passed + through mkpimage. On some other platforms there is no SPL + because the internal SRAM is big enough to store the full + U-Boot. In this case, it's directly the full U-Boot image + that is passed through mkpimage. + + If BR2_TARGET_UBOOT_SPL is enabled then + BR2_TARGET_UBOOT_SPL_NAME is converted by mkpimage using + header version 0. + + Otherwise the full u-boot-dtb.bin is converted using + mkpimage header version 1. + + In either case the resulting file will be given a .crc + extension. + menuconfig BR2_TARGET_UBOOT_ENVIMAGE bool "Environment image" help @@ -388,4 +419,34 @@ config BR2_TARGET_UBOOT_ENVIMAGE_REDUNDANT endif # BR2_TARGET_UBOOT_ENVIMAGE +config BR2_TARGET_UBOOT_BOOT_SCRIPT + bool "Generate a U-Boot boot script" + help + Generate a U-Boot boot script, given a file listing U-Boot + commands to be executed at boot time. The generated boot + script will be called 'boot.scr'. + +if BR2_TARGET_UBOOT_BOOT_SCRIPT + +config BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE + string "U-Boot boot script source" + help + Source file to generate the U-Boot boot script. + +endif + +if BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG + +config BR2_TARGET_UBOOT_CUSTOM_DTS_PATH + string "Device Tree Source file paths" + help + Space-separated list of paths to device tree source files + that will be copied to arch/ARCH/dts/ before starting the + build. + + To use this device tree source file, the U-Boot configuration + file must refer to it. + +endif + endif # BR2_TARGET_UBOOT diff --git a/boot/uboot/uboot.hash b/boot/uboot/uboot.hash index 5473cfeab6..82efc79d56 100644 --- a/boot/uboot/uboot.hash +++ b/boot/uboot/uboot.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 6c425175f93a4bcf2ec9faf5658ef279633dbd7856a293d95bd1ff516528ecf2 u-boot-2017.01.tar.bz2 +sha256 b2d15f2cf5f72e706025cde73d67247c6da8cd35f7e10891eefe7d9095089744 u-boot-2017.09.tar.bz2 diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk index 6b9d544546..a1fac7dcae 100644 --- a/boot/uboot/uboot.mk +++ b/boot/uboot/uboot.mk @@ -7,7 +7,7 @@ UBOOT_VERSION = $(call qstrip,$(BR2_TARGET_UBOOT_VERSION)) UBOOT_BOARD_NAME = $(call qstrip,$(BR2_TARGET_UBOOT_BOARDNAME)) -UBOOT_LICENSE = GPLv2+ +UBOOT_LICENSE = GPL-2.0+ UBOOT_LICENSE_FILES = Licenses/gpl-2.0.txt UBOOT_INSTALL_IMAGES = YES @@ -17,7 +17,6 @@ ifeq ($(UBOOT_VERSION),custom) UBOOT_TARBALL = $(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION)) UBOOT_SITE = $(patsubst %/,%,$(dir $(UBOOT_TARBALL))) UBOOT_SOURCE = $(notdir $(UBOOT_TARBALL)) -BR_NO_CHECK_HASH_FOR += $(UBOOT_SOURCE) else ifeq ($(BR2_TARGET_UBOOT_CUSTOM_GIT),y) UBOOT_SITE = $(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_REPO_URL)) UBOOT_SITE_METHOD = git @@ -31,9 +30,10 @@ else # Handle stable official U-Boot versions UBOOT_SITE = ftp://ftp.denx.de/pub/u-boot UBOOT_SOURCE = u-boot-$(UBOOT_VERSION).tar.bz2 -ifeq ($(BR2_TARGET_UBOOT_CUSTOM_VERSION),y) -BR_NO_CHECK_HASH_FOR += $(UBOOT_SOURCE) endif + +ifeq ($(BR2_TARGET_UBOOT)$(BR2_TARGET_UBOOT_LATEST_VERSION),y) +BR_NO_CHECK_HASH_FOR += $(UBOOT_SOURCE) endif ifeq ($(BR2_TARGET_UBOOT_FORMAT_BIN),y) @@ -74,6 +74,11 @@ UBOOT_BINS += u-boot-dtb.img UBOOT_MAKE_TARGET += u-boot-dtb.img endif +ifeq ($(BR2_TARGET_UBOOT_FORMAT_DTB_BIN),y) +UBOOT_BINS += u-boot-dtb.bin +UBOOT_MAKE_TARGET += u-boot-dtb.bin +endif + ifeq ($(BR2_TARGET_UBOOT_FORMAT_IMG),y) UBOOT_BINS += u-boot.img UBOOT_MAKE_TARGET += u-boot.img @@ -133,6 +138,10 @@ ifeq ($(BR2_TARGET_UBOOT_NEEDS_DTC),y) UBOOT_DEPENDENCIES += host-dtc endif +ifeq ($(BR2_TARGET_UBOOT_NEEDS_PYLIBFDT),y) +UBOOT_DEPENDENCIES += host-python host-swig +endif + ifeq ($(BR2_TARGET_UBOOT_NEEDS_OPENSSL),y) UBOOT_DEPENDENCIES += host-openssl endif @@ -148,6 +157,14 @@ endef UBOOT_POST_EXTRACT_HOOKS += UBOOT_COPY_OLD_LICENSE_FILE UBOOT_POST_RSYNC_HOOKS += UBOOT_COPY_OLD_LICENSE_FILE +ifneq ($(ARCH_XTENSA_OVERLAY_FILE),) +define UBOOT_XTENSA_OVERLAY_EXTRACT + $(call arch-xtensa-overlay-extract,$(@D),u-boot) +endef +UBOOT_POST_EXTRACT_HOOKS += UBOOT_XTENSA_OVERLAY_EXTRACT +UBOOT_EXTRA_DOWNLOADS += $(ARCH_XTENSA_OVERLAY_URL) +endif + # Analogous code exists in linux/linux.mk. Basically, the generic # package infrastructure handles downloading and applying remote # patches. Local patches are handled depending on whether they are @@ -166,6 +183,13 @@ define UBOOT_APPLY_LOCAL_PATCHES endef UBOOT_POST_PATCH_HOOKS += UBOOT_APPLY_LOCAL_PATCHES +# Bug: https://patchwork.ozlabs.org/patch/833760/ +define UBOOT_FIX_LIBFDT_SYSTEM_PATH + [ ! -e $(@D)/tools/fdtgrep.c ] || \ + $(SED) 's%<../include/libfdt.h>%"../include/libfdt.h"%' $(@D)/tools/fdtgrep.c +endef +UBOOT_POST_PATCH_HOOKS += UBOOT_FIX_LIBFDT_SYSTEM_PATH + ifeq ($(BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY),y) define UBOOT_CONFIGURE_CMDS $(TARGET_CONFIGURE_OPTS) \ @@ -179,6 +203,7 @@ else ifeq ($(BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG),y) UBOOT_KCONFIG_FILE = $(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE)) endif # BR2_TARGET_UBOOT_USE_DEFCONFIG +UBOOT_KCONFIG_FRAGMENT_FILES = $(call qstrip,$(BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES)) UBOOT_KCONFIG_EDITORS = menuconfig xconfig gconfig nconfig UBOOT_KCONFIG_OPTS = $(UBOOT_MAKE_OPTS) define UBOOT_HELP_CMDS @@ -189,7 +214,12 @@ define UBOOT_HELP_CMDS endef endif # BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY +UBOOT_CUSTOM_DTS_PATH = $(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_DTS_PATH)) + define UBOOT_BUILD_CMDS + $(if $(UBOOT_CUSTOM_DTS_PATH), + cp -f $(UBOOT_CUSTOM_DTS_PATH) $(@D)/arch/$(UBOOT_ARCH)/dts/ + ) $(TARGET_CONFIGURE_OPTS) \ $(MAKE) -C $(@D) $(UBOOT_MAKE_OPTS) \ $(UBOOT_MAKE_TARGET) @@ -204,7 +234,7 @@ define UBOOT_BUILD_CMDS endef define UBOOT_BUILD_OMAP_IFT - $(HOST_DIR)/usr/bin/gpsign -f $(@D)/u-boot.bin \ + $(HOST_DIR)/bin/gpsign -f $(@D)/u-boot.bin \ -c $(call qstrip,$(BR2_TARGET_UBOOT_OMAP_IFT_CONFIG)) endef @@ -221,10 +251,14 @@ define UBOOT_INSTALL_IMAGES_CMDS ) $(if $(BR2_TARGET_UBOOT_ENVIMAGE), cat $(call qstrip,$(BR2_TARGET_UBOOT_ENVIMAGE_SOURCE)) | \ - $(HOST_DIR)/usr/bin/mkenvimage -s $(BR2_TARGET_UBOOT_ENVIMAGE_SIZE) \ + $(HOST_DIR)/bin/mkenvimage -s $(BR2_TARGET_UBOOT_ENVIMAGE_SIZE) \ $(if $(BR2_TARGET_UBOOT_ENVIMAGE_REDUNDANT),-r) \ $(if $(filter BIG,$(BR2_ENDIAN)),-b) \ -o $(BINARIES_DIR)/uboot-env.bin -) + $(if $(BR2_TARGET_UBOOT_BOOT_SCRIPT), + $(HOST_DIR)/bin/mkimage -C none -A $(MKIMAGE_ARCH) -T script \ + -d $(call qstrip,$(BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE)) \ + $(BINARIES_DIR)/boot.scr) endef define UBOOT_INSTALL_OMAP_IFT_IMAGE @@ -247,8 +281,8 @@ endif ifeq ($(BR2_TARGET_UBOOT_ZYNQ_IMAGE),y) define UBOOT_GENERATE_ZYNQ_IMAGE - $(HOST_DIR)/usr/bin/python2 \ - $(HOST_DIR)/usr/bin/zynq-boot-bin.py \ + $(HOST_DIR)/bin/python2 \ + $(HOST_DIR)/bin/zynq-boot-bin.py \ -u $(@D)/$(firstword $(call qstrip,$(BR2_TARGET_UBOOT_SPL_NAME))) \ -o $(BINARIES_DIR)/BOOT.BIN endef @@ -257,9 +291,17 @@ UBOOT_POST_INSTALL_IMAGES_HOOKS += UBOOT_GENERATE_ZYNQ_IMAGE endif ifeq ($(BR2_TARGET_UBOOT_ALTERA_SOCFPGA_IMAGE_CRC),y) +ifeq ($(BR2_TARGET_UBOOT_SPL),y) +UBOOT_CRC_ALTERA_SOCFPGA_INPUT_IMAGES = $(call qstrip,$(BR2_TARGET_UBOOT_SPL_NAME)) +UBOOT_CRC_ALTERA_SOCFPGA_HEADER_VERSION = 0 +else +UBOOT_CRC_ALTERA_SOCFPGA_INPUT_IMAGES = u-boot-dtb.bin +UBOOT_CRC_ALTERA_SOCFPGA_HEADER_VERSION = 1 +endif define UBOOT_CRC_ALTERA_SOCFPGA_IMAGE - $(foreach f,$(call qstrip,$(BR2_TARGET_UBOOT_SPL_NAME)), \ - $(HOST_DIR)/usr/bin/mkpimage \ + $(foreach f,$(UBOOT_CRC_ALTERA_SOCFPGA_INPUT_IMAGES), \ + $(HOST_DIR)/bin/mkpimage \ + -v $(UBOOT_CRC_ALTERA_SOCFPGA_HEADER_VERSION) \ -o $(BINARIES_DIR)/$(notdir $(call qstrip,$(f))).crc \ $(@D)/$(call qstrip,$(f)) ) @@ -280,6 +322,15 @@ endif UBOOT_DEPENDENCIES += host-uboot-tools endif +ifeq ($(BR2_TARGET_UBOOT_BOOT_SCRIPT),y) +ifeq ($(BR_BUILDING),y) +ifeq ($(call qstrip,$(BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE)),) +$(error Please define a source file for Uboot boot script (BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE setting)) +endif +endif +UBOOT_DEPENDENCIES += host-uboot-tools +endif + ifeq ($(BR2_TARGET_UBOOT)$(BR_BUILDING),yy) # @@ -293,7 +344,7 @@ endif # UBOOT_BOARD_NAME else ifeq ($(BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG),y) ifeq ($(BR2_TARGET_UBOOT_USE_DEFCONFIG),y) ifeq ($(call qstrip,$(BR2_TARGET_UBOOT_BOARD_DEFCONFIG)),) -$(error No board defconfig name specified, check your BR2_TARGET_UBOOT_DEFCONFIG setting) +$(error No board defconfig name specified, check your BR2_TARGET_UBOOT_BOARD_DEFCONFIG setting) endif # qstrip BR2_TARGET_UBOOT_BOARD_DEFCONFIG endif # BR2_TARGET_UBOOT_USE_DEFCONFIG ifeq ($(BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG),y) diff --git a/boot/vexpress-firmware/Config.in b/boot/vexpress-firmware/Config.in new file mode 100644 index 0000000000..8479df3d57 --- /dev/null +++ b/boot/vexpress-firmware/Config.in @@ -0,0 +1,6 @@ +config BR2_TARGET_VEXPRESS_FIRMWARE + bool "vexpress-firmware" + depends on BR2_aarch64 + help + Versatile Express firmware from ARM, with Linaro mods last + change. diff --git a/boot/vexpress-firmware/vexpress-firmware.hash b/boot/vexpress-firmware/vexpress-firmware.hash new file mode 100644 index 0000000000..40f64c7528 --- /dev/null +++ b/boot/vexpress-firmware/vexpress-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 def599c86ab3606f7f67c0190e9b237fbc0cf934a951ffb1c5fb0c47d8a8f3d2 vexpress-firmware-901f81977c3b367a2e0bf3d6444be302822d97a3.tar.gz diff --git a/boot/vexpress-firmware/vexpress-firmware.mk b/boot/vexpress-firmware/vexpress-firmware.mk new file mode 100644 index 0000000000..693a9cb862 --- /dev/null +++ b/boot/vexpress-firmware/vexpress-firmware.mk @@ -0,0 +1,20 @@ +################################################################################ +# +# vexpress-firmware +# +################################################################################ + +VEXPRESS_FIRMWARE_VERSION = 901f81977c3b367a2e0bf3d6444be302822d97a3 +VEXPRESS_FIRMWARE_SITE = https://git.linaro.org/arm/vexpress-firmware.git +VEXPRESS_FIRMWARE_SITE_METHOD = git +# The only available license files are in PDF and RTF formats, and we +# support only plain text. +VEXPRESS_FIRMWARE_LICENSE = ARM EULA + +VEXPRESS_FIRMWARE_INSTALL_IMAGES = YES + +define VEXPRESS_FIRMWARE_INSTALL_IMAGES_CMDS + $(INSTALL) -D -m 0644 $(@D)/SOFTWARE/bl30.bin $(BINARIES_DIR)/scp-fw.bin +endef + +$(eval $(generic-package)) diff --git a/boot/xloader/Config.in b/boot/xloader/Config.in new file mode 100644 index 0000000000..c411be478b --- /dev/null +++ b/boot/xloader/Config.in @@ -0,0 +1,15 @@ +config BR2_TARGET_XLOADER + bool "X-loader" + depends on BR2_cortex_a8 || BR2_cortex_a9 + help + The x-loader bootloader. It is mainly used on OMAP-based + platforms. + +if BR2_TARGET_XLOADER +config BR2_TARGET_XLOADER_BOARDNAME + string "x-loader board name" + help + One of x-loader supported boards to be built. + This will be suffixed with _config to meet x-loader + standard naming. +endif diff --git a/boot/xloader/xloader.mk b/boot/xloader/xloader.mk new file mode 100644 index 0000000000..7e0b286681 --- /dev/null +++ b/boot/xloader/xloader.mk @@ -0,0 +1,32 @@ +################################################################################ +# +# x-loader +# +################################################################################ + +XLOADER_VERSION = 6f3a26101303051e0f91b6213735b68ce804e94e +XLOADER_SITE = git://gitorious.org/x-loader/x-loader.git +XLOADER_BOARD_NAME = $(call qstrip,$(BR2_TARGET_XLOADER_BOARDNAME)) + +XLOADER_LICENSE = GPL-2.0+ +XLOADER_LICENSE_FILES = README + +XLOADER_INSTALL_IMAGES = YES + +define XLOADER_BUILD_CMDS + $(MAKE) CROSS_COMPILE="$(TARGET_CROSS)" -C $(@D) $(XLOADER_BOARD_NAME)_config + $(MAKE) CROSS_COMPILE="$(TARGET_CROSS)" -C $(@D) all + $(MAKE) CROSS_COMPILE="$(TARGET_CROSS)" -C $(@D) ift +endef + +define XLOADER_INSTALL_IMAGES_CMDS + $(INSTALL) -D -m 0755 $(@D)/MLO $(BINARIES_DIR)/ +endef + +$(eval $(generic-package)) + +ifeq ($(BR2_TARGET_XLOADER)$(BR_BUILDING),yy) +ifeq ($(XLOADER_BOARD_NAME),) +$(error NO x-loader board name set. Check your BR2_BOOT_XLOADER_BOARDNAME setting) +endif +endif diff --git a/configs/bananapi_defconfig b/configs/bananapi_defconfig index 73080df6d7..298397afd7 100644 --- a/configs/bananapi_defconfig +++ b/configs/bananapi_defconfig @@ -1,7 +1,6 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_NEON_VFPV4=y -BR2_DL_DIR="$(TOPDIR)/.download" BR2_CCACHE=y BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-bananapi" BR2_OPTIMIZE_2=y @@ -10,11 +9,12 @@ BR2_TARGET_OPTIMIZATION="-pipe" BR2_ROOTFS_SKELETON_CUSTOM=y BR2_ROOTFS_SKELETON_CUSTOM_PATH="board/common/skeleton" BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_TARGET_TZ_INFO=y BR2_ROOTFS_OVERLAY="board/common/overlay board/bananapi/overlay" BR2_ROOTFS_POST_BUILD_SCRIPT="board/common/postscript.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9.13" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9.70" BR2_LINUX_KERNEL_PATCH="board/bananapi/linux-usb-host.patch.gz" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/bananapi/kernel.config" @@ -29,18 +29,6 @@ BR2_PACKAGE_ALSA_UTILS_APLAY=y BR2_PACKAGE_GZIP=y BR2_PACKAGE_JQ=y BR2_PACKAGE_E2FSPROGS=y -# BR2_PACKAGE_E2FSPROGS_BADBLOCKS is not set -# BR2_PACKAGE_E2FSPROGS_CHATTR is not set -# BR2_PACKAGE_E2FSPROGS_DUMPE2FS is not set -# BR2_PACKAGE_E2FSPROGS_E2FREEFRAG is not set -# BR2_PACKAGE_E2FSPROGS_E2LABEL is not set -# BR2_PACKAGE_E2FSPROGS_E2UNDO is not set -# BR2_PACKAGE_E2FSPROGS_FILEFRAG is not set -# BR2_PACKAGE_E2FSPROGS_LOGSAVE is not set -# BR2_PACKAGE_E2FSPROGS_LSATTR is not set -# BR2_PACKAGE_E2FSPROGS_MKLOSTFOUND is not set -# BR2_PACKAGE_E2FSPROGS_TUNE2FS is not set -# BR2_PACKAGE_E2FSPROGS_UUIDGEN is not set BR2_PACKAGE_NTFS_3G=y BR2_PACKAGE_B43_FIRMWARE=y BR2_PACKAGE_LINUX_FIRMWARE=y @@ -71,7 +59,6 @@ BR2_PACKAGE_LIBCAP=y BR2_PACKAGE_AUTOSSH=y BR2_PACKAGE_BLUEZ5_UTILS=y BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y -BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL=y BR2_PACKAGE_CRDA=y BR2_PACKAGE_DHCP=y BR2_PACKAGE_DHCP_CLIENT=y @@ -95,7 +82,8 @@ BR2_PACKAGE_UTIL_LINUX_PARTX=y BR2_PACKAGE_NANO=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="Bananapi" +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" BR2_PACKAGE_HOST_DTC=y -BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL=y diff --git a/configs/bananapi_initramfs_defconfig b/configs/bananapi_initramfs_defconfig index bf8a06a8ce..a03996cb7e 100644 --- a/configs/bananapi_initramfs_defconfig +++ b/configs/bananapi_initramfs_defconfig @@ -1,7 +1,7 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_NEON_VFPV4=y -BR2_DL_DIR="$(TOPDIR)/.download" +BR2_DL_DIR="$(TOPDIR)/dl" BR2_CCACHE=y BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-bananapi-initramfs" BR2_OPTIMIZE_2=y diff --git a/configs/odroidc1_defconfig b/configs/odroidc1_defconfig index d4f3870d98..d8aa4fec93 100644 --- a/configs/odroidc1_defconfig +++ b/configs/odroidc1_defconfig @@ -3,7 +3,6 @@ BR2_cortex_a5=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_FPU_NEON_VFPV4=y -BR2_DL_DIR="$(TOPDIR)/.download" BR2_CCACHE=y BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-odroidc1" BR2_OPTIMIZE_2=y @@ -20,11 +19,12 @@ BR2_TARGET_OPTIMIZATION="-pipe" BR2_ROOTFS_SKELETON_CUSTOM=y BR2_ROOTFS_SKELETON_CUSTOM_PATH="board/common/skeleton" BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_TARGET_TZ_INFO=y BR2_ROOTFS_OVERLAY="board/common/overlay board/odroidc1/overlay" BR2_ROOTFS_POST_BUILD_SCRIPT="board/common/postscript.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/hardkernel/linux/archive/395190984bce09f63b93a7f71bcf362a72ec8018.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/hardkernel/linux/archive/e256c9f9196a98cbacde730fda602e793b385a27.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="odroidc" BR2_LINUX_KERNEL_UIMAGE=y BR2_LINUX_KERNEL_DTS_SUPPORT=y @@ -36,18 +36,6 @@ BR2_PACKAGE_ALSA_UTILS_APLAY=y BR2_PACKAGE_GZIP=y BR2_PACKAGE_JQ=y BR2_PACKAGE_E2FSPROGS=y -# BR2_PACKAGE_E2FSPROGS_BADBLOCKS is not set -# BR2_PACKAGE_E2FSPROGS_CHATTR is not set -# BR2_PACKAGE_E2FSPROGS_DUMPE2FS is not set -# BR2_PACKAGE_E2FSPROGS_E2FREEFRAG is not set -# BR2_PACKAGE_E2FSPROGS_E2LABEL is not set -# BR2_PACKAGE_E2FSPROGS_E2UNDO is not set -# BR2_PACKAGE_E2FSPROGS_FILEFRAG is not set -# BR2_PACKAGE_E2FSPROGS_LOGSAVE is not set -# BR2_PACKAGE_E2FSPROGS_LSATTR is not set -# BR2_PACKAGE_E2FSPROGS_MKLOSTFOUND is not set -# BR2_PACKAGE_E2FSPROGS_TUNE2FS is not set -# BR2_PACKAGE_E2FSPROGS_UUIDGEN is not set BR2_PACKAGE_NTFS_3G=y BR2_PACKAGE_B43_FIRMWARE=y BR2_PACKAGE_LINUX_FIRMWARE=y diff --git a/configs/odroidc1_initramfs_defconfig b/configs/odroidc1_initramfs_defconfig index 6096ab6491..c25b304baf 100644 --- a/configs/odroidc1_initramfs_defconfig +++ b/configs/odroidc1_initramfs_defconfig @@ -3,7 +3,7 @@ BR2_cortex_a5=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_FPU_NEON_VFPV4=y -BR2_DL_DIR="$(TOPDIR)/.download" +BR2_DL_DIR="$(TOPDIR)/dl" BR2_CCACHE=y BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-odroidc1-initramfs" BR2_OPTIMIZE_2=y diff --git a/configs/odroidc2_defconfig b/configs/odroidc2_defconfig index 6f6d3dc616..3501d9e7f1 100644 --- a/configs/odroidc2_defconfig +++ b/configs/odroidc2_defconfig @@ -1,5 +1,4 @@ BR2_aarch64=y -BR2_DL_DIR="$(TOPDIR)/.download" BR2_CCACHE=y BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-odroidc2" BR2_OPTIMIZE_2=y @@ -8,11 +7,12 @@ BR2_TARGET_OPTIMIZATION="-pipe" BR2_ROOTFS_SKELETON_CUSTOM=y BR2_ROOTFS_SKELETON_CUSTOM_PATH="board/common/skeleton" BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_TARGET_TZ_INFO=y BR2_ROOTFS_OVERLAY="board/common/overlay board/odroidc2/overlay" BR2_ROOTFS_POST_BUILD_SCRIPT="board/common/postscript.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/hardkernel/linux/archive/6ead4210bf3235f0c11526afd1c077a07c5d1478.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/hardkernel/linux/archive/f966ebfc0e8dc88c7931b4640b8a1b4bc2e13faa.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="odroidc2" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="meson64_odroidc2" @@ -23,18 +23,6 @@ BR2_PACKAGE_ALSA_UTILS_APLAY=y BR2_PACKAGE_GZIP=y BR2_PACKAGE_JQ=y BR2_PACKAGE_E2FSPROGS=y -# BR2_PACKAGE_E2FSPROGS_BADBLOCKS is not set -# BR2_PACKAGE_E2FSPROGS_CHATTR is not set -# BR2_PACKAGE_E2FSPROGS_DUMPE2FS is not set -# BR2_PACKAGE_E2FSPROGS_E2FREEFRAG is not set -# BR2_PACKAGE_E2FSPROGS_E2LABEL is not set -# BR2_PACKAGE_E2FSPROGS_E2UNDO is not set -# BR2_PACKAGE_E2FSPROGS_FILEFRAG is not set -# BR2_PACKAGE_E2FSPROGS_LOGSAVE is not set -# BR2_PACKAGE_E2FSPROGS_LSATTR is not set -# BR2_PACKAGE_E2FSPROGS_MKLOSTFOUND is not set -# BR2_PACKAGE_E2FSPROGS_TUNE2FS is not set -# BR2_PACKAGE_E2FSPROGS_UUIDGEN is not set BR2_PACKAGE_NTFS_3G=y BR2_PACKAGE_B43_FIRMWARE=y BR2_PACKAGE_LINUX_FIRMWARE=y @@ -63,7 +51,6 @@ BR2_PACKAGE_LIBCAP=y BR2_PACKAGE_AUTOSSH=y BR2_PACKAGE_BLUEZ5_UTILS=y BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y -BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL=y BR2_PACKAGE_CRDA=y BR2_PACKAGE_DHCP=y BR2_PACKAGE_DHCP_CLIENT=y @@ -85,3 +72,4 @@ BR2_PACKAGE_TAR=y BR2_PACKAGE_UTIL_LINUX_BINARIES=y BR2_PACKAGE_UTIL_LINUX_PARTX=y BR2_PACKAGE_NANO=y +BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL=y diff --git a/configs/odroidc2_initramfs_defconfig b/configs/odroidc2_initramfs_defconfig index 7c6758c85b..14d1eb01c4 100644 --- a/configs/odroidc2_initramfs_defconfig +++ b/configs/odroidc2_initramfs_defconfig @@ -1,5 +1,5 @@ BR2_aarch64=y -BR2_DL_DIR="$(TOPDIR)/.download" +BR2_DL_DIR="$(TOPDIR)/dl" BR2_CCACHE=y BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-odroidc2-initramfs" BR2_OPTIMIZE_2=y diff --git a/configs/odroidxu4_defconfig b/configs/odroidxu4_defconfig index 2032b4fc32..4464e3c080 100644 --- a/configs/odroidxu4_defconfig +++ b/configs/odroidxu4_defconfig @@ -1,7 +1,6 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_NEON_VFPV4=y -BR2_DL_DIR="$(TOPDIR)/.download" BR2_CCACHE=y BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-odroidxu4" BR2_OPTIMIZE_2=y @@ -10,11 +9,12 @@ BR2_TARGET_OPTIMIZATION="-pipe" BR2_ROOTFS_SKELETON_CUSTOM=y BR2_ROOTFS_SKELETON_CUSTOM_PATH="board/common/skeleton" BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_TARGET_TZ_INFO=y BR2_ROOTFS_OVERLAY="board/common/overlay board/odroidxu4/overlay" BR2_ROOTFS_POST_BUILD_SCRIPT="board/common/postscript.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/hardkernel/linux/archive/de1a48357a7b9cff8ba07176fc9b8aac632f8ff6.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/hardkernel/linux/archive/be592282a08a2493692448e365e46b52ac715b3f.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="odroidxu3" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="exynos5422-odroidxu4" @@ -25,18 +25,6 @@ BR2_PACKAGE_ALSA_UTILS_APLAY=y BR2_PACKAGE_GZIP=y BR2_PACKAGE_JQ=y BR2_PACKAGE_E2FSPROGS=y -# BR2_PACKAGE_E2FSPROGS_BADBLOCKS is not set -# BR2_PACKAGE_E2FSPROGS_CHATTR is not set -# BR2_PACKAGE_E2FSPROGS_DUMPE2FS is not set -# BR2_PACKAGE_E2FSPROGS_E2FREEFRAG is not set -# BR2_PACKAGE_E2FSPROGS_E2LABEL is not set -# BR2_PACKAGE_E2FSPROGS_E2UNDO is not set -# BR2_PACKAGE_E2FSPROGS_FILEFRAG is not set -# BR2_PACKAGE_E2FSPROGS_LOGSAVE is not set -# BR2_PACKAGE_E2FSPROGS_LSATTR is not set -# BR2_PACKAGE_E2FSPROGS_MKLOSTFOUND is not set -# BR2_PACKAGE_E2FSPROGS_TUNE2FS is not set -# BR2_PACKAGE_E2FSPROGS_UUIDGEN is not set BR2_PACKAGE_NTFS_3G=y BR2_PACKAGE_B43_FIRMWARE=y BR2_PACKAGE_LINUX_FIRMWARE=y @@ -65,7 +53,6 @@ BR2_PACKAGE_LIBCAP=y BR2_PACKAGE_AUTOSSH=y BR2_PACKAGE_BLUEZ5_UTILS=y BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y -BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL=y BR2_PACKAGE_CRDA=y BR2_PACKAGE_DHCP=y BR2_PACKAGE_DHCP_CLIENT=y @@ -87,3 +74,4 @@ BR2_PACKAGE_TAR=y BR2_PACKAGE_UTIL_LINUX_BINARIES=y BR2_PACKAGE_UTIL_LINUX_PARTX=y BR2_PACKAGE_NANO=y +BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL=y diff --git a/configs/odroidxu4_initramfs_defconfig b/configs/odroidxu4_initramfs_defconfig index 22973cdb50..11c9e613ed 100644 --- a/configs/odroidxu4_initramfs_defconfig +++ b/configs/odroidxu4_initramfs_defconfig @@ -1,7 +1,7 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_NEON_VFPV4=y -BR2_DL_DIR="$(TOPDIR)/.download" +BR2_DL_DIR="$(TOPDIR)/dl" BR2_CCACHE=y BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-odroidxu4-initramfs" BR2_OPTIMIZE_2=y diff --git a/configs/pine64_defconfig b/configs/pine64_defconfig index 35986fe15e..8c3b34b10d 100644 --- a/configs/pine64_defconfig +++ b/configs/pine64_defconfig @@ -1,5 +1,4 @@ BR2_aarch64=y -BR2_DL_DIR="$(TOPDIR)/.download" BR2_CCACHE=y BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-pine64" BR2_OPTIMIZE_2=y @@ -8,6 +7,7 @@ BR2_TARGET_OPTIMIZATION="-pipe" BR2_ROOTFS_SKELETON_CUSTOM=y BR2_ROOTFS_SKELETON_CUSTOM_PATH="board/common/skeleton" BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_TARGET_TZ_INFO=y BR2_ROOTFS_OVERLAY="board/common/overlay board/pine64/overlay" BR2_ROOTFS_POST_BUILD_SCRIPT="board/common/postscript.sh" BR2_LINUX_KERNEL=y @@ -22,18 +22,6 @@ BR2_PACKAGE_ALSA_UTILS_APLAY=y BR2_PACKAGE_GZIP=y BR2_PACKAGE_JQ=y BR2_PACKAGE_E2FSPROGS=y -# BR2_PACKAGE_E2FSPROGS_BADBLOCKS is not set -# BR2_PACKAGE_E2FSPROGS_CHATTR is not set -# BR2_PACKAGE_E2FSPROGS_DUMPE2FS is not set -# BR2_PACKAGE_E2FSPROGS_E2FREEFRAG is not set -# BR2_PACKAGE_E2FSPROGS_E2LABEL is not set -# BR2_PACKAGE_E2FSPROGS_E2UNDO is not set -# BR2_PACKAGE_E2FSPROGS_FILEFRAG is not set -# BR2_PACKAGE_E2FSPROGS_LOGSAVE is not set -# BR2_PACKAGE_E2FSPROGS_LSATTR is not set -# BR2_PACKAGE_E2FSPROGS_MKLOSTFOUND is not set -# BR2_PACKAGE_E2FSPROGS_TUNE2FS is not set -# BR2_PACKAGE_E2FSPROGS_UUIDGEN is not set BR2_PACKAGE_NTFS_3G=y BR2_PACKAGE_B43_FIRMWARE=y BR2_PACKAGE_LINUX_FIRMWARE=y @@ -62,7 +50,6 @@ BR2_PACKAGE_LIBCAP=y BR2_PACKAGE_AUTOSSH=y BR2_PACKAGE_BLUEZ5_UTILS=y BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y -BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL=y BR2_PACKAGE_CRDA=y BR2_PACKAGE_DHCP=y BR2_PACKAGE_DHCP_CLIENT=y @@ -84,3 +71,4 @@ BR2_PACKAGE_TAR=y BR2_PACKAGE_UTIL_LINUX_BINARIES=y BR2_PACKAGE_UTIL_LINUX_PARTX=y BR2_PACKAGE_NANO=y +BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL=y diff --git a/configs/pine64_initramfs_defconfig b/configs/pine64_initramfs_defconfig index 69e6d406c5..dde8093659 100644 --- a/configs/pine64_initramfs_defconfig +++ b/configs/pine64_initramfs_defconfig @@ -1,5 +1,5 @@ BR2_aarch64=y -BR2_DL_DIR="$(TOPDIR)/.download" +BR2_DL_DIR="$(TOPDIR)/dl" BR2_CCACHE=y BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-pine64-initramfs" BR2_OPTIMIZE_2=y diff --git a/configs/raspberrypi2_defconfig b/configs/raspberrypi2_defconfig index 390e3d44b5..c6d7794b82 100644 --- a/configs/raspberrypi2_defconfig +++ b/configs/raspberrypi2_defconfig @@ -1,7 +1,6 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_NEON_VFPV4=y -BR2_DL_DIR="$(TOPDIR)/.download" BR2_CCACHE=y BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-raspberrypi2" BR2_OPTIMIZE_2=y @@ -10,11 +9,12 @@ BR2_TARGET_OPTIMIZATION="-pipe" BR2_ROOTFS_SKELETON_CUSTOM=y BR2_ROOTFS_SKELETON_CUSTOM_PATH="board/common/skeleton" BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_TARGET_TZ_INFO=y BR2_ROOTFS_OVERLAY="board/common/overlay board/raspberrypi2/overlay" BR2_ROOTFS_POST_BUILD_SCRIPT="board/common/postscript.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/be2540e540f5442d7b372208787fb64100af0c54.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/6820d0cbec64cfee481b961833feffec8880111e.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2709" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2709-rpi-2-b" @@ -25,18 +25,6 @@ BR2_PACKAGE_ALSA_UTILS_APLAY=y BR2_PACKAGE_GZIP=y BR2_PACKAGE_JQ=y BR2_PACKAGE_E2FSPROGS=y -# BR2_PACKAGE_E2FSPROGS_BADBLOCKS is not set -# BR2_PACKAGE_E2FSPROGS_CHATTR is not set -# BR2_PACKAGE_E2FSPROGS_DUMPE2FS is not set -# BR2_PACKAGE_E2FSPROGS_E2FREEFRAG is not set -# BR2_PACKAGE_E2FSPROGS_E2LABEL is not set -# BR2_PACKAGE_E2FSPROGS_E2UNDO is not set -# BR2_PACKAGE_E2FSPROGS_FILEFRAG is not set -# BR2_PACKAGE_E2FSPROGS_LOGSAVE is not set -# BR2_PACKAGE_E2FSPROGS_LSATTR is not set -# BR2_PACKAGE_E2FSPROGS_MKLOSTFOUND is not set -# BR2_PACKAGE_E2FSPROGS_TUNE2FS is not set -# BR2_PACKAGE_E2FSPROGS_UUIDGEN is not set BR2_PACKAGE_NTFS_3G=y BR2_PACKAGE_B43_FIRMWARE=y BR2_PACKAGE_LINUX_FIRMWARE=y @@ -68,7 +56,6 @@ BR2_PACKAGE_LIBCAP=y BR2_PACKAGE_AUTOSSH=y BR2_PACKAGE_BLUEZ5_UTILS=y BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y -BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL=y BR2_PACKAGE_CRDA=y BR2_PACKAGE_DHCP=y BR2_PACKAGE_DHCP_CLIENT=y @@ -90,3 +77,4 @@ BR2_PACKAGE_TAR=y BR2_PACKAGE_UTIL_LINUX_BINARIES=y BR2_PACKAGE_UTIL_LINUX_PARTX=y BR2_PACKAGE_NANO=y +BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL=y diff --git a/configs/raspberrypi3_defconfig b/configs/raspberrypi3_defconfig index 158c0d52cf..d949ffd6c4 100644 --- a/configs/raspberrypi3_defconfig +++ b/configs/raspberrypi3_defconfig @@ -1,7 +1,6 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_NEON_VFPV4=y -BR2_DL_DIR="$(TOPDIR)/.download" BR2_CCACHE=y BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-raspberrypi3" BR2_OPTIMIZE_2=y @@ -10,11 +9,12 @@ BR2_TARGET_OPTIMIZATION="-pipe" BR2_ROOTFS_SKELETON_CUSTOM=y BR2_ROOTFS_SKELETON_CUSTOM_PATH="board/common/skeleton" BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_TARGET_TZ_INFO=y BR2_ROOTFS_OVERLAY="board/common/overlay board/raspberrypi3/overlay" BR2_ROOTFS_POST_BUILD_SCRIPT="board/common/postscript.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/be2540e540f5442d7b372208787fb64100af0c54.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/6820d0cbec64cfee481b961833feffec8880111e.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2709" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2710-rpi-3-b" @@ -25,18 +25,6 @@ BR2_PACKAGE_ALSA_UTILS_APLAY=y BR2_PACKAGE_GZIP=y BR2_PACKAGE_JQ=y BR2_PACKAGE_E2FSPROGS=y -# BR2_PACKAGE_E2FSPROGS_BADBLOCKS is not set -# BR2_PACKAGE_E2FSPROGS_CHATTR is not set -# BR2_PACKAGE_E2FSPROGS_DUMPE2FS is not set -# BR2_PACKAGE_E2FSPROGS_E2FREEFRAG is not set -# BR2_PACKAGE_E2FSPROGS_E2LABEL is not set -# BR2_PACKAGE_E2FSPROGS_E2UNDO is not set -# BR2_PACKAGE_E2FSPROGS_FILEFRAG is not set -# BR2_PACKAGE_E2FSPROGS_LOGSAVE is not set -# BR2_PACKAGE_E2FSPROGS_LSATTR is not set -# BR2_PACKAGE_E2FSPROGS_MKLOSTFOUND is not set -# BR2_PACKAGE_E2FSPROGS_TUNE2FS is not set -# BR2_PACKAGE_E2FSPROGS_UUIDGEN is not set BR2_PACKAGE_NTFS_3G=y BR2_PACKAGE_B43_FIRMWARE=y BR2_PACKAGE_LINUX_FIRMWARE=y @@ -68,7 +56,6 @@ BR2_PACKAGE_LIBCAP=y BR2_PACKAGE_AUTOSSH=y BR2_PACKAGE_BLUEZ5_UTILS=y BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y -BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL=y BR2_PACKAGE_CRDA=y BR2_PACKAGE_DHCP=y BR2_PACKAGE_DHCP_CLIENT=y @@ -90,3 +77,4 @@ BR2_PACKAGE_TAR=y BR2_PACKAGE_UTIL_LINUX_BINARIES=y BR2_PACKAGE_UTIL_LINUX_PARTX=y BR2_PACKAGE_NANO=y +BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL=y diff --git a/configs/raspberrypi_defconfig b/configs/raspberrypi_defconfig index 019b10db5b..60ecc92493 100644 --- a/configs/raspberrypi_defconfig +++ b/configs/raspberrypi_defconfig @@ -1,21 +1,22 @@ BR2_arm=y BR2_arm1176jzf_s=y -BR2_DL_DIR="$(TOPDIR)/.download" BR2_CCACHE=y BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-raspberrypi" BR2_OPTIMIZE_2=y BR2_TOOLCHAIN_BUILDROOT_GLIBC=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y BR2_GCC_VERSION_4_9_X=y BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_TARGET_OPTIMIZATION="-pipe" BR2_ROOTFS_SKELETON_CUSTOM=y BR2_ROOTFS_SKELETON_CUSTOM_PATH="board/common/skeleton" BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_TARGET_TZ_INFO=y BR2_ROOTFS_OVERLAY="board/common/overlay board/raspberrypi/overlay" BR2_ROOTFS_POST_BUILD_SCRIPT="board/common/postscript.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/be2540e540f5442d7b372208787fb64100af0c54.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/6820d0cbec64cfee481b961833feffec8880111e.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2708-rpi-0-w bcm2708-rpi-b bcm2708-rpi-b-plus bcm2708-rpi-cm" @@ -26,18 +27,6 @@ BR2_PACKAGE_ALSA_UTILS_APLAY=y BR2_PACKAGE_GZIP=y BR2_PACKAGE_JQ=y BR2_PACKAGE_E2FSPROGS=y -# BR2_PACKAGE_E2FSPROGS_BADBLOCKS is not set -# BR2_PACKAGE_E2FSPROGS_CHATTR is not set -# BR2_PACKAGE_E2FSPROGS_DUMPE2FS is not set -# BR2_PACKAGE_E2FSPROGS_E2FREEFRAG is not set -# BR2_PACKAGE_E2FSPROGS_E2LABEL is not set -# BR2_PACKAGE_E2FSPROGS_E2UNDO is not set -# BR2_PACKAGE_E2FSPROGS_FILEFRAG is not set -# BR2_PACKAGE_E2FSPROGS_LOGSAVE is not set -# BR2_PACKAGE_E2FSPROGS_LSATTR is not set -# BR2_PACKAGE_E2FSPROGS_MKLOSTFOUND is not set -# BR2_PACKAGE_E2FSPROGS_TUNE2FS is not set -# BR2_PACKAGE_E2FSPROGS_UUIDGEN is not set BR2_PACKAGE_NTFS_3G=y BR2_PACKAGE_B43_FIRMWARE=y BR2_PACKAGE_LINUX_FIRMWARE=y @@ -70,7 +59,6 @@ BR2_PACKAGE_LIBCAP=y BR2_PACKAGE_AUTOSSH=y BR2_PACKAGE_BLUEZ5_UTILS=y BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y -BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL=y BR2_PACKAGE_CRDA=y BR2_PACKAGE_DHCP=y BR2_PACKAGE_DHCP_CLIENT=y @@ -92,3 +80,4 @@ BR2_PACKAGE_TAR=y BR2_PACKAGE_UTIL_LINUX_BINARIES=y BR2_PACKAGE_UTIL_LINUX_PARTX=y BR2_PACKAGE_NANO=y +BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL=y diff --git a/configs/raspberrypi_initramfs_defconfig b/configs/raspberrypi_initramfs_defconfig index 7dbd03dbe5..a58f3a5aa4 100644 --- a/configs/raspberrypi_initramfs_defconfig +++ b/configs/raspberrypi_initramfs_defconfig @@ -1,6 +1,6 @@ BR2_arm=y BR2_arm1176jzf_s=y -BR2_DL_DIR="$(TOPDIR)/.download" +BR2_DL_DIR="$(TOPDIR)/dl" BR2_CCACHE=y BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-raspberrypi-initramfs" BR2_OPTIMIZE_2=y diff --git a/docs/conf/asciidoc-text.conf b/docs/conf/asciidoc-text.conf new file mode 100644 index 0000000000..470bdecfc2 --- /dev/null +++ b/docs/conf/asciidoc-text.conf @@ -0,0 +1,23 @@ +# Refer to following asciidoc documentation: +# http://www.methods.co.nz/asciidoc/userguide.html +# In particular sections "Macros" and "Attribute References" +# +# For hyperlinks, show 'link text [URL]' (if link text provided) or 'URL' +[http-inlinemacro] +{0=}{0? [}{name}:{target}{0?]} +[https-inlinemacro] +{0=}{0? [}{name}:{target}{0?]} +[ftp-inlinemacro] +{0=}{0? [}{name}:{target}{0?]} +[file-inlinemacro] +{0=}{0? [}{name}:{target}{0?]} +[irc-inlinemacro] +{0=}{0? [}{name}:{target}{0?]} +[mailto-inlinemacro] +{0=}{0? [}{name}:{target}{0?]} + +# Hide image representation from text manual +[image-inlinemacro] +{empty} +[image-blockmacro] +{empty} diff --git a/docs/images b/docs/images new file mode 120000 index 0000000000..7356350c8a --- /dev/null +++ b/docs/images @@ -0,0 +1 @@ +website/images \ No newline at end of file diff --git a/docs/manual/adding-board-support.txt b/docs/manual/adding-board-support.txt new file mode 100644 index 0000000000..f6d74ae1f4 --- /dev/null +++ b/docs/manual/adding-board-support.txt @@ -0,0 +1,38 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[adding-board-support]] +== Adding support for a particular board + +Buildroot contains basic configurations for several publicly available +hardware boards, so that users of such a board can easily build a system +that is known to work. You are welcome to add support for other boards +to Buildroot too. + +To do so, you need to create a normal Buildroot configuration that +builds a basic system for the hardware: toolchain, kernel, bootloader, +filesystem and a simple BusyBox-only userspace. No specific package +should be selected: the configuration should be as minimal as +possible, and should only build a working basic BusyBox system for the +target platform. You can of course use more complicated configurations +for your internal projects, but the Buildroot project will only +integrate basic board configurations. This is because package +selections are highly application-specific. + +Once you have a known working configuration, run +make +savedefconfig+. This will generate a minimal +defconfig+ file at the +root of the Buildroot source tree. Move this file into the +configs/+ +directory, and rename it +_defconfig+. + +It is recommended to use as much as possible upstream versions of the +Linux kernel and bootloaders, and to use as much as possible default +kernel and bootloader configurations. If they are incorrect for your +board, or no default exists, we encourage you to send fixes to the +corresponding upstream projects. + +However, in the mean time, you may want to store kernel or bootloader +configuration or patches specific to your target platform. To do so, +create a directory +board/+ and a subdirectory ++board//+. You can then store your patches +and configurations in these directories, and reference them from the main +Buildroot configuration. Refer to xref:customize[] for more details. diff --git a/docs/manual/adding-packages-asciidoc.txt b/docs/manual/adding-packages-asciidoc.txt new file mode 100644 index 0000000000..d870c51088 --- /dev/null +++ b/docs/manual/adding-packages-asciidoc.txt @@ -0,0 +1,124 @@ +// -*- mode:doc; -*- +// vim: syntax=asciidoc + +=== Infrastructure for asciidoc documents + +[[asciidoc-documents-tutorial]] + +The Buildroot manual, which you are currently reading, is entirely written +using the http://asciidoc.org/[AsciiDoc] mark-up syntax. The manual is then +rendered to many formats: + +* html +* split-html +* pdf +* epub +* text + +Although Buildroot only contains one document written in AsciiDoc, there +is, as for packages, an infrastructure for rendering documents using the +AsciiDoc syntax. + +Also as for packages, the AsciiDoc infrastructure is available from a +xref:outside-br-custom[br2-external tree]. This allows documentation for +a br2-external tree to match the Buildroot documentation, as it will be +rendered to the same formats and use the same layout and theme. + +==== +asciidoc-document+ tutorial + +Whereas package infrastructures are suffixed with +-package+, the document +infrastructures are suffixed with +-document+. So, the AsciiDoc infrastructure +is named +asciidoc-document+. + +Here is an example to render a simple AsciiDoc document. + +---- +01: ################################################################################ +02: # +03: # foo-document +04: # +05: ################################################################################ +06: +07: FOO_SOURCES = $(sort $(wildcard $(pkgdir)/*)) +08: $(eval $(call asciidoc-document)) +---- + +On line 7, the Makefile declares what the sources of the document are. +Currently, it is expected that the document's sources are only local; +Buildroot will not attempt to download anything to render a document. +Thus, you must indicate where the sources are. Usually, the string +above is sufficient for a document with no sub-directory structure. + +On line 8, we call the +asciidoc-document+ function, which generates all +the Makefile code necessary to render the document. + +==== +asciidoc-document+ reference + +The list of variables that can be set in a +.mk+ file to give metadata +information is (assuming the document name is +foo+) : + +* +FOO_SOURCES+, mandatory, defines the source files for the document. + +* +FOO_RESOURCES+, optional, may contain a space-separated list of paths + to one or more directories containing so-called resources (like CSS or + images). By default, empty. + +* +FOO_DEPENDENCIES+, optional, the list of packages (most probably, + host-packages) that must be built before building this document. + If a hook of your document needs to access the _Kconfig_ structure, + you may add +prepare-kconfig+ to the list of dependencies. + +There are also additional hooks (see xref:hooks[] for general information +on hooks), that a document may set to define extra actions to be done at +various steps: + +* +FOO_POST_RSYNC_HOOKS+ to run additional commands after the sources + have been copied by Buildroot. This can for example be used to + generate part of the manual with information extracted from the + tree. As an example, Buildroot uses this hook to generate the tables + in the appendices. + +* +FOO_CHECK_DEPENDENCIES_HOOKS+ to run additional tests on required + components to generate the document. In AsciiDoc, it is possible to + call filters, that is, programs that will parse an AsciiDoc block and + render it appropriately (e.g. http://ditaa.sourceforge.net/[ditaa] or + https://pythonhosted.org/aafigure/[aafigure]). + +* +FOO_CHECK_DEPENDENCIES__HOOKS+, to run additional tests for + the specified format ++ (see the list of rendered formats, above). + +Here is a complete example that uses all variables and all hooks: + +---- +01: ################################################################################ +02: # +03: # foo-document +04: # +05: ################################################################################ +06: +07: FOO_SOURCES = $(sort $(wildcard $(pkgdir)/*)) +08: FOO_RESOURCES = $(sort $(wildcard $(pkgdir)/ressources)) +09: +10: define FOO_GEN_EXTRA_DOC +11: /path/to/generate-script --outdir=$(@D) +12: endef +13: FOO_POST_RSYNC_HOOKS += FOO_GEN_EXTRA_DOC +14: +15: define FOO_CHECK_MY_PROG +16: if ! which my-prog >/dev/null 2>&1; then \ +17: echo "You need my-prog to generate the foo document"; \ +18: exit 1; \ +19: fi +20: endef +21: FOO_CHECK_DEPENDENCIES_HOOKS += FOO_CHECK_MY_PROG +22: +23: define FOO_CHECK_MY_OTHER_PROG +24: if ! which my-other-prog >/dev/null 2>&1; then \ +25: echo "You need my-other-prog to generate the foo document as PDF"; \ +26: exit 1; \ +27: fi +28: endef +29: FOO_CHECK_DEPENDENCIES_PDF_HOOKS += FOO_CHECK_MY_OTHER_PROG +30: +31: $(eval $(call asciidoc-document)) +---- diff --git a/docs/manual/adding-packages-autotools.txt b/docs/manual/adding-packages-autotools.txt new file mode 100644 index 0000000000..a041d91eb6 --- /dev/null +++ b/docs/manual/adding-packages-autotools.txt @@ -0,0 +1,175 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Infrastructure for autotools-based packages + +[[autotools-package-tutorial]] + +==== +autotools-package+ tutorial + +First, let's see how to write a +.mk+ file for an autotools-based +package, with an example : + +------------------------ +01: ################################################################################ +02: # +03: # libfoo +04: # +05: ################################################################################ +06: +07: LIBFOO_VERSION = 1.0 +08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz +09: LIBFOO_SITE = http://www.foosoftware.org/download +10: LIBFOO_INSTALL_STAGING = YES +11: LIBFOO_INSTALL_TARGET = NO +12: LIBFOO_CONF_OPTS = --disable-shared +13: LIBFOO_DEPENDENCIES = libglib2 host-pkgconf +14: +15: $(eval $(autotools-package)) +------------------------ + +On line 7, we declare the version of the package. + +On line 8 and 9, we declare the name of the tarball (xz-ed tarball recommended) +and the location of the tarball on the Web. Buildroot will automatically +download the tarball from this location. + +On line 10, we tell Buildroot to install the package to the staging +directory. The staging directory, located in +output/staging/+ +is the directory where all the packages are installed, including their +development files, etc. By default, packages are not installed to the +staging directory, since usually, only libraries need to be installed in +the staging directory: their development files are needed to compile +other libraries or applications depending on them. Also by default, when +staging installation is enabled, packages are installed in this location +using the +make install+ command. + +On line 11, we tell Buildroot to not install the package to the +target directory. This directory contains what will become the root +filesystem running on the target. For purely static libraries, it is +not necessary to install them in the target directory because they will +not be used at runtime. By default, target installation is enabled; setting +this variable to NO is almost never needed. Also by default, packages are +installed in this location using the +make install+ command. + +On line 12, we tell Buildroot to pass a custom configure option, that +will be passed to the +./configure+ script before configuring +and building the package. + +On line 13, we declare our dependencies, so that they are built +before the build process of our package starts. + +Finally, on line line 15, we invoke the +autotools-package+ +macro that generates all the Makefile rules that actually allows the +package to be built. + +[[autotools-package-reference]] + +==== +autotools-package+ reference + +The main macro of the autotools package infrastructure is ++autotools-package+. It is similar to the +generic-package+ macro. The ability to +have target and host packages is also available, with the ++host-autotools-package+ macro. + +Just like the generic infrastructure, the autotools infrastructure +works by defining a number of variables before calling the ++autotools-package+ macro. + +First, all the package metadata information variables that exist in the +generic infrastructure also exist in the autotools infrastructure: ++LIBFOO_VERSION+, +LIBFOO_SOURCE+, ++LIBFOO_PATCH+, +LIBFOO_SITE+, ++LIBFOO_SUBDIR+, +LIBFOO_DEPENDENCIES+, ++LIBFOO_INSTALL_STAGING+, +LIBFOO_INSTALL_TARGET+. + +A few additional variables, specific to the autotools infrastructure, +can also be defined. Many of them are only useful in very specific +cases, typical packages will therefore only use a few of them. + +* +LIBFOO_SUBDIR+ may contain the name of a subdirectory + inside the package that contains the configure script. This is useful, + if for example, the main configure script is not at the root of the + tree extracted by the tarball. If +HOST_LIBFOO_SUBDIR+ is + not specified, it defaults to +LIBFOO_SUBDIR+. + +* +LIBFOO_CONF_ENV+, to specify additional environment + variables to pass to the configure script. By default, empty. + +* +LIBFOO_CONF_OPTS+, to specify additional configure + options to pass to the configure script. By default, empty. + +* +LIBFOO_MAKE+, to specify an alternate +make+ + command. This is typically useful when parallel make is enabled in + the configuration (using +BR2_JLEVEL+) but that this + feature should be disabled for the given package, for one reason or + another. By default, set to +$(MAKE)+. If parallel building + is not supported by the package, then it should be set to + +LIBFOO_MAKE=$(MAKE1)+. + +* +LIBFOO_MAKE_ENV+, to specify additional environment + variables to pass to make in the build step. These are passed before + the +make+ command. By default, empty. + +* +LIBFOO_MAKE_OPTS+, to specify additional variables to + pass to make in the build step. These are passed after the + +make+ command. By default, empty. + +* +LIBFOO_AUTORECONF+, tells whether the package should + be autoreconfigured or not (i.e. if the configure script and + Makefile.in files should be re-generated by re-running autoconf, + automake, libtool, etc.). Valid values are +YES+ and + +NO+. By default, the value is +NO+ + +* +LIBFOO_AUTORECONF_ENV+, to specify additional environment + variables to pass to the 'autoreconf' program if + +LIBFOO_AUTORECONF=YES+. These are passed in the environment of + the 'autoreconf' command. By default, empty. + +* +LIBFOO_AUTORECONF_OPTS+ to specify additional options + passed to the 'autoreconf' program if + +LIBFOO_AUTORECONF=YES+. By default, empty. + +* +LIBFOO_GETTEXTIZE+, tells whether the package should be + gettextized or not (i.e. if the package uses a different gettext + version than Buildroot provides, and it is needed to run + 'gettextize'.) Only valid when +LIBFOO_AUTORECONF=YES+. Valid + values are +YES+ and +NO+. The default is +NO+. + +* +LIBFOO_GETTEXTIZE_OPTS+, to specify additional options passed to + the 'gettextize' program, if +LIBFOO_GETTEXTIZE=YES+. You may + use that if, for example, the +.po+ files are not located in the + standard place (i.e. in +po/+ at the root of the package.) By + default, '-f'. + +* +LIBFOO_LIBTOOL_PATCH+ tells whether the Buildroot + patch to fix libtool cross-compilation issues should be applied or + not. Valid values are +YES+ and +NO+. By + default, the value is +YES+ + +* +LIBFOO_INSTALL_STAGING_OPTS+ contains the make options + used to install the package to the staging directory. By default, the + value is +DESTDIR=$(STAGING_DIR) install+, which is + correct for most autotools packages. It is still possible to override + it. + +* +LIBFOO_INSTALL_TARGET_OPTS+ contains the make options + used to install the package to the target directory. By default, the + value is +DESTDIR=$(TARGET_DIR) install+. The default + value is correct for most autotools packages, but it is still possible + to override it if needed. + +With the autotools infrastructure, all the steps required to build +and install the packages are already defined, and they generally work +well for most autotools-based packages. However, when required, it is +still possible to customize what is done in any particular step: + +* By adding a post-operation hook (after extract, patch, configure, + build or install). See xref:hooks[] for details. + +* By overriding one of the steps. For example, even if the autotools + infrastructure is used, if the package +.mk+ file defines its + own +LIBFOO_CONFIGURE_CMDS+ variable, it will be used + instead of the default autotools one. However, using this method + should be restricted to very specific cases. Do not use it in the + general case. diff --git a/docs/manual/adding-packages-cmake.txt b/docs/manual/adding-packages-cmake.txt new file mode 100644 index 0000000000..6ccf3902f8 --- /dev/null +++ b/docs/manual/adding-packages-cmake.txt @@ -0,0 +1,152 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Infrastructure for CMake-based packages + +[[cmake-package-tutorial]] + +==== +cmake-package+ tutorial + +First, let's see how to write a +.mk+ file for a CMake-based package, +with an example : + +------------------------ +01: ################################################################################ +02: # +03: # libfoo +04: # +05: ################################################################################ +06: +07: LIBFOO_VERSION = 1.0 +08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz +09: LIBFOO_SITE = http://www.foosoftware.org/download +10: LIBFOO_INSTALL_STAGING = YES +11: LIBFOO_INSTALL_TARGET = NO +12: LIBFOO_CONF_OPTS = -DBUILD_DEMOS=ON +13: LIBFOO_DEPENDENCIES = libglib2 host-pkgconf +14: +15: $(eval $(cmake-package)) +------------------------ + +On line 7, we declare the version of the package. + +On line 8 and 9, we declare the name of the tarball (xz-ed tarball recommended) +and the location of the tarball on the Web. Buildroot will automatically +download the tarball from this location. + +On line 10, we tell Buildroot to install the package to the staging +directory. The staging directory, located in +output/staging/+ +is the directory where all the packages are installed, including their +development files, etc. By default, packages are not installed to the +staging directory, since usually, only libraries need to be installed in +the staging directory: their development files are needed to compile +other libraries or applications depending on them. Also by default, when +staging installation is enabled, packages are installed in this location +using the +make install+ command. + +On line 11, we tell Buildroot to not install the package to the +target directory. This directory contains what will become the root +filesystem running on the target. For purely static libraries, it is +not necessary to install them in the target directory because they will +not be used at runtime. By default, target installation is enabled; setting +this variable to NO is almost never needed. Also by default, packages are +installed in this location using the +make install+ command. + +On line 12, we tell Buildroot to pass custom options to CMake when it is +configuring the package. + +On line 13, we declare our dependencies, so that they are built +before the build process of our package starts. + +Finally, on line line 15, we invoke the +cmake-package+ +macro that generates all the Makefile rules that actually allows the +package to be built. + +[[cmake-package-reference]] + +==== +cmake-package+ reference + +The main macro of the CMake package infrastructure is ++cmake-package+. It is similar to the +generic-package+ macro. The ability to +have target and host packages is also available, with the ++host-cmake-package+ macro. + +Just like the generic infrastructure, the CMake infrastructure works +by defining a number of variables before calling the +cmake-package+ +macro. + +First, all the package metadata information variables that exist in +the generic infrastructure also exist in the CMake infrastructure: ++LIBFOO_VERSION+, +LIBFOO_SOURCE+, +LIBFOO_PATCH+, +LIBFOO_SITE+, ++LIBFOO_SUBDIR+, +LIBFOO_DEPENDENCIES+, +LIBFOO_INSTALL_STAGING+, ++LIBFOO_INSTALL_TARGET+. + +A few additional variables, specific to the CMake infrastructure, can +also be defined. Many of them are only useful in very specific cases, +typical packages will therefore only use a few of them. + +* +LIBFOO_SUBDIR+ may contain the name of a subdirectory inside the + package that contains the main CMakeLists.txt file. This is useful, + if for example, the main CMakeLists.txt file is not at the root of + the tree extracted by the tarball. If +HOST_LIBFOO_SUBDIR+ is not + specified, it defaults to +LIBFOO_SUBDIR+. + +* +LIBFOO_CONF_ENV+, to specify additional environment variables to + pass to CMake. By default, empty. + +* +LIBFOO_CONF_OPTS+, to specify additional configure options to pass + to CMake. By default, empty. A number of common CMake options are + set by the +cmake-package+ infrastructure; so it is normally not + necessary to set them in the package's +*.mk+ file unless you want + to override them: + +** +CMAKE_BUILD_TYPE+ is driven by +BR2_ENABLE_DEBUG+; +** +CMAKE_INSTALL_PREFIX+; +** +BUILD_SHARED_LIBS+ is driven by +BR2_STATIC_LIBS+; +** +BUILD_DOC+, +BUILD_DOCS+ are disabled; +** +BUILD_EXAMPLE+, +BUILD_EXAMPLES+ are disabled; +** +BUILD_TEST+, +BUILD_TESTS+, +BUILD_TESTING+ are disabled. + +* +LIBFOO_SUPPORTS_IN_SOURCE_BUILD = NO+ should be set when the package + cannot be built inside the source tree but needs a separate build + directory. + +* +LIBFOO_MAKE+, to specify an alternate +make+ command. This is + typically useful when parallel make is enabled in the configuration + (using +BR2_JLEVEL+) but that this feature should be disabled for + the given package, for one reason or another. By default, set to + +$(MAKE)+. If parallel building is not supported by the package, + then it should be set to +LIBFOO_MAKE=$(MAKE1)+. + +* +LIBFOO_MAKE_ENV+, to specify additional environment variables to + pass to make in the build step. These are passed before the +make+ + command. By default, empty. + +* +LIBFOO_MAKE_OPTS+, to specify additional variables to pass to make + in the build step. These are passed after the +make+ command. By + default, empty. + +* +LIBFOO_INSTALL_STAGING_OPTS+ contains the make options used to + install the package to the staging directory. By default, the value + is +DESTDIR=$(STAGING_DIR) install+, which is correct for most + CMake packages. It is still possible to override it. + +* +LIBFOO_INSTALL_TARGET_OPTS+ contains the make options used to + install the package to the target directory. By default, the value + is +DESTDIR=$(TARGET_DIR) install+. The default value is correct + for most CMake packages, but it is still possible to override it if + needed. + +With the CMake infrastructure, all the steps required to build and +install the packages are already defined, and they generally work well +for most CMake-based packages. However, when required, it is still +possible to customize what is done in any particular step: + +* By adding a post-operation hook (after extract, patch, configure, + build or install). See xref:hooks[] for details. + +* By overriding one of the steps. For example, even if the CMake + infrastructure is used, if the package +.mk+ file defines its own + +LIBFOO_CONFIGURE_CMDS+ variable, it will be used instead of the + default CMake one. However, using this method should be restricted + to very specific cases. Do not use it in the general case. diff --git a/docs/manual/adding-packages-conclusion.txt b/docs/manual/adding-packages-conclusion.txt new file mode 100644 index 0000000000..93f90a419d --- /dev/null +++ b/docs/manual/adding-packages-conclusion.txt @@ -0,0 +1,13 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Conclusion + +As you can see, adding a software package to Buildroot is simply a +matter of writing a Makefile using an existing example and modifying it +according to the compilation process required by the package. + +If you package software that might be useful for other people, don't +forget to send a patch to the Buildroot mailing list (see +xref:submitting-patches[])! + diff --git a/docs/manual/adding-packages-directory.txt b/docs/manual/adding-packages-directory.txt new file mode 100644 index 0000000000..c9857a80d3 --- /dev/null +++ b/docs/manual/adding-packages-directory.txt @@ -0,0 +1,547 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Package directory + +First of all, create a directory under the +package+ directory for +your software, for example +libfoo+. + +Some packages have been grouped by topic in a sub-directory: ++x11r7+, +qt5+ and +gstreamer+. If your package fits in +one of these categories, then create your package directory in these. +New subdirectories are discouraged, however. + +=== Config files + +For the package to be displayed in the configuration tool, you need to +create a Config file in your package directory. There are two types: ++Config.in+ and +Config.in.host+. + +==== +Config.in+ file + +For packages used on the target, create a file named +Config.in+. This +file will contain the option descriptions related to our +libfoo+ software +that will be used and displayed in the configuration tool. It should basically +contain: + +--------------------------- +config BR2_PACKAGE_LIBFOO + bool "libfoo" + help + This is a comment that explains what libfoo is. The help text + should be wrapped. + + http://foosoftware.org/libfoo/ +--------------------------- + +The +bool+ line, +help+ line and other metadata information about the +configuration option must be indented with one tab. The help text +itself should be indented with one tab and two spaces, lines should +be wrapped to fit 72 columns, where tab counts for 8, so 62 characters +in the text itself. The help text must mention the upstream URL of the +project after an empty line. + +As a convention specific to Buildroot, the ordering of the attributes +is as follows: + +1. The type of option: +bool+, +string+... with the prompt +2. If needed, the +default+ value(s) +3. Any dependency of the +depends on+ form +4. Any dependency of the +select+ form +5. The help keyword and help text. + +You can add other sub-options into a +if BR2_PACKAGE_LIBFOO...endif+ +statement to configure particular things in your software. You can look at +examples in other packages. The syntax of the +Config.in+ file is the same +as the one for the kernel Kconfig file. The documentation for this syntax is +available at http://kernel.org/doc/Documentation/kbuild/kconfig-language.txt[] + +Finally you have to add your new +libfoo/Config.in+ to ++package/Config.in+ (or in a category subdirectory if you decided to +put your package in one of the existing categories). The files +included there are 'sorted alphabetically' per category and are 'NOT' +supposed to contain anything but the 'bare' name of the package. + +-------------------------- +source "package/libfoo/Config.in" +-------------------------- + + +==== +Config.in.host+ file + +Some packages also need to be built for the host system. There are two +options here: + +* The host package is only required to satisfy build-time + dependencies of one or more target packages. In this case, add + +host-foo+ to the target package's +BAR_DEPENDENCIES+ variable. No + +Config.in.host+ file should be created. + +* The host package should be explicitly selectable by the user from + the configuration menu. In this case, create a +Config.in.host+ file + for that host package: ++ +--------------------------- +config BR2_PACKAGE_HOST_FOO + bool "host foo" + help + This is a comment that explains what foo for the host is. + + http://foosoftware.org/foo/ +--------------------------- ++ +The same coding style and options as for the +Config.in+ file are valid. ++ +Finally you have to add your new +libfoo/Config.in.host+ to ++package/Config.in.host+. The files included there are 'sorted alphabetically' +and are 'NOT' supposed to contain anything but the 'bare' name of the package. ++ +-------------------------- +source "package/foo/Config.in.host" +-------------------------- ++ +The host package will then be available from the +Host utilities+ menu. + +[[depends-on-vs-select]] +==== Choosing +depends on+ or +select+ + +The +Config.in+ file of your package must also ensure that +dependencies are enabled. Typically, Buildroot uses the following +rules: + +* Use a +select+ type of dependency for dependencies on + libraries. These dependencies are generally not obvious and it + therefore make sense to have the kconfig system ensure that the + dependencies are selected. For example, the _libgtk2_ package uses + +select BR2_PACKAGE_LIBGLIB2+ to make sure this library is also + enabled. + The +select+ keyword expresses the dependency with a backward + semantic. + +* Use a +depends on+ type of dependency when the user really needs to + be aware of the dependency. Typically, Buildroot uses this type of + dependency for dependencies on target architecture, MMU support and + toolchain options (see xref:dependencies-target-toolchain-options[]), + or for dependencies on "big" things, such as the X.org system. + The +depends on+ keyword expresses the dependency with a forward + semantic. + +.Note +The current problem with the _kconfig_ language is that these two +dependency semantics are not internally linked. Therefore, it may be +possible to select a package, whom one of its dependencies/requirement +is not met. + +An example illustrates both the usage of +select+ and +depends on+. + +-------------------------- +config BR2_PACKAGE_RRDTOOL + bool "rrdtool" + depends on BR2_USE_WCHAR + select BR2_PACKAGE_FREETYPE + select BR2_PACKAGE_LIBART + select BR2_PACKAGE_LIBPNG + select BR2_PACKAGE_ZLIB + help + RRDtool is the OpenSource industry standard, high performance + data logging and graphing system for time series data. + + http://oss.oetiker.ch/rrdtool/ + +comment "rrdtool needs a toolchain w/ wchar" + depends on !BR2_USE_WCHAR +-------------------------- + + +Note that these two dependency types are only transitive with the +dependencies of the same kind. + +This means, in the following example: + +-------------------------- +config BR2_PACKAGE_A + bool "Package A" + +config BR2_PACKAGE_B + bool "Package B" + depends on BR2_PACKAGE_A + +config BR2_PACKAGE_C + bool "Package C" + depends on BR2_PACKAGE_B + +config BR2_PACKAGE_D + bool "Package D" + select BR2_PACKAGE_B + +config BR2_PACKAGE_E + bool "Package E" + select BR2_PACKAGE_D +-------------------------- + +* Selecting +Package C+ will be visible if +Package B+ has been + selected, which in turn is only visible if +Package A+ has been + selected. + +* Selecting +Package E+ will select +Package D+, which will select + +Package B+, it will not check for the dependencies of +Package B+, + so it will not select +Package A+. + +* Since +Package B+ is selected but +Package A+ is not, this violates + the dependency of +Package B+ on +Package A+. Therefore, in such a + situation, the transitive dependency has to be added explicitly: + +-------------------------- +config BR2_PACKAGE_D + bool "Package D" + select BR2_PACKAGE_B + depends on BR2_PACKAGE_A + +config BR2_PACKAGE_E + bool "Package E" + select BR2_PACKAGE_D + depends on BR2_PACKAGE_A +-------------------------- + +Overall, for package library dependencies, +select+ should be +preferred. + +Note that such dependencies will ensure that the dependency option +is also enabled, but not necessarily built before your package. To do +so, the dependency also needs to be expressed in the +.mk+ file of the +package. + +Further formatting details: see xref:writing-rules-config-in[the +coding style]. + +[[dependencies-target-toolchain-options]] +==== Dependencies on target and toolchain options + +Many packages depend on certain options of the toolchain: the choice of +C library, C++ support, thread support, RPC support, wchar support, +or dynamic library support. Some packages can only be built on certain +target architectures, or if an MMU is available in the processor. + +These dependencies have to be expressed with the appropriate 'depends +on' statements in the Config.in file. Additionally, for dependencies on +toolchain options, a +comment+ should be displayed when the option is +not enabled, so that the user knows why the package is not available. +Dependencies on target architecture or MMU support should not be +made visible in a comment: since it is unlikely that the user can +freely choose another target, it makes little sense to show these +dependencies explicitly. + +The +comment+ should only be visible if the +config+ option itself would +be visible when the toolchain option dependencies are met. This means +that all other dependencies of the package (including dependencies on +target architecture and MMU support) have to be repeated on the ++comment+ definition. To keep it clear, the +depends on+ statement for +these non-toolchain option should be kept separate from the +depends on+ +statement for the toolchain options. +If there is a dependency on a config option in that same file (typically +the main package) it is preferable to have a global +if ... endif+ +construct rather than repeating the +depends on+ statement on the +comment and other config options. + +The general format of a dependency +comment+ for package foo is: + +-------------------------- +foo needs a toolchain w/ featA, featB, featC +-------------------------- + +for example: + +-------------------------- +mpd needs a toolchain w/ C++, threads, wchar +-------------------------- + +or + +-------------------------- +crda needs a toolchain w/ threads +-------------------------- + +Note that this text is kept brief on purpose, so that it will fit on a +80-character terminal. + +The rest of this section enumerates the different target and toolchain +options, the corresponding config symbols to depend on, and the text to +use in the comment. + +* Target architecture +** Dependency symbol: +BR2_powerpc+, +BR2_mips+, ... (see +arch/Config.in+) +** Comment string: no comment to be added + +* MMU support +** Dependency symbol: +BR2_USE_MMU+ +** Comment string: no comment to be added + +* Gcc +__sync_*+ built-ins used for atomic operations. They are + available in variants operating on 1 byte, 2 bytes, 4 bytes and 8 + bytes. Since different architectures support atomic operations on + different sizes, one dependency symbol is available for each size: +** Dependency symbol: +BR2_TOOLCHAIN_HAS_SYNC_1+ for 1 byte, + +BR2_TOOLCHAIN_HAS_SYNC_2+ for 2 bytes, + +BR2_TOOLCHAIN_HAS_SYNC_4+ for 4 bytes, +BR2_TOOLCHAIN_HAS_SYNC_8+ + for 8 bytes. +** Comment string: no comment to be added + +* Gcc +__atomic_*+ built-ins used for atomic operations. +** Dependency symbol: +BR2_TOOLCHAIN_HAS_ATOMIC+. +** Comment string: no comment to be added + +* Kernel headers +** Dependency symbol: +BR2_TOOLCHAIN_HEADERS_AT_LEAST_X_Y+, (replace + +X_Y+ with the proper version, see +toolchain/toolchain-common.in+) +** Comment string: +headers >= X.Y+ and/or `headers <= X.Y` (replace + +X.Y+ with the proper version) + +* GCC version +** Dependency symbol: +BR2_TOOLCHAIN_GCC_AT_LEAST_X_Y+, (replace + +X_Y+ with the proper version, see +toolchain/toolchain-common.in+) +** Comment string: +gcc >= X.Y+ and/or `gcc <= X.Y` (replace + +X.Y+ with the proper version) + +* Host GCC version +** Dependency symbol: +BR2_HOST_GCC_AT_LEAST_X_Y+, (replace + +X_Y+ with the proper version, see +Config.in+) +** Comment string: no comment to be added +** Note that it is usually not the package itself that has a minimum + host GCC version, but rather a host-package on which it depends. + +* C library +** Dependency symbol: +BR2_TOOLCHAIN_USES_GLIBC+, + +BR2_TOOLCHAIN_USES_MUSL+, +BR2_TOOLCHAIN_USES_UCLIBC+ +** Comment string: for the C library, a slightly different comment text + is used: +foo needs a glibc toolchain+, or `foo needs a glibc + toolchain w/ C++` + +* C++ support +** Dependency symbol: +BR2_INSTALL_LIBSTDCPP+ +** Comment string: `C++` + +* Fortran support +** Dependency symbol: +BR2_TOOLCHAIN_HAS_FORTRAN+ +** Comment string: `fortran` + +* thread support +** Dependency symbol: +BR2_TOOLCHAIN_HAS_THREADS+ +** Comment string: +threads+ (unless +BR2_TOOLCHAIN_HAS_THREADS_NPTL+ + is also needed, in which case, specifying only +NPTL+ is sufficient) + +* NPTL thread support +** Dependency symbol: +BR2_TOOLCHAIN_HAS_THREADS_NPTL+ +** Comment string: +NPTL+ + +* RPC support +** Dependency symbol: +BR2_TOOLCHAIN_HAS_NATIVE_RPC+ +** Comment string: +RPC+ + +* wchar support +** Dependency symbol: +BR2_USE_WCHAR+ +** Comment string: +wchar+ + +* dynamic library +** Dependency symbol: +!BR2_STATIC_LIBS+ +** Comment string: +dynamic library+ + +==== Dependencies on a Linux kernel built by buildroot + +Some packages need a Linux kernel to be built by buildroot. These are +typically kernel modules or firmware. A comment should be added in the +Config.in file to express this dependency, similar to dependencies on +toolchain options. The general format is: + +-------------------------- +foo needs a Linux kernel to be built +-------------------------- + +If there is a dependency on both toolchain options and the Linux +kernel, use this format: + +-------------------------- +foo needs a toolchain w/ featA, featB, featC and a Linux kernel to be built +-------------------------- + +==== Dependencies on udev /dev management + +If a package needs udev /dev management, it should depend on symbol ++BR2_PACKAGE_HAS_UDEV+, and the following comment should be added: + +-------------------------- +foo needs udev /dev management +-------------------------- + +If there is a dependency on both toolchain options and udev /dev +management, use this format: + +-------------------------- +foo needs udev /dev management and a toolchain w/ featA, featB, featC +-------------------------- + +==== Dependencies on features provided by virtual packages + +Some features can be provided by more than one package, such as the +openGL libraries. + +See xref:virtual-package-tutorial[] for more on the virtual packages. + +=== The +.mk+ file + +[[adding-packages-mk]] + +Finally, here's the hardest part. Create a file named +libfoo.mk+. It +describes how the package should be downloaded, configured, built, +installed, etc. + +Depending on the package type, the +.mk+ file must be written in a +different way, using different infrastructures: + +* *Makefiles for generic packages* (not using autotools or CMake): + These are based on an infrastructure similar to the one used for + autotools-based packages, but require a little more work from the + developer. They specify what should be done for the configuration, + compilation and installation of the package. This + infrastructure must be used for all packages that do not use the + autotools as their build system. In the future, other specialized + infrastructures might be written for other build systems. We cover + them through in a xref:generic-package-tutorial[tutorial] and a + xref:generic-package-reference[reference]. + +* *Makefiles for autotools-based software* (autoconf, automake, etc.): + We provide a dedicated infrastructure for such packages, since + autotools is a very common build system. This infrastructure 'must' + be used for new packages that rely on the autotools as their build + system. We cover them through a xref:autotools-package-tutorial[tutorial] + and xref:autotools-package-reference[reference]. + +* *Makefiles for cmake-based software*: We provide a dedicated + infrastructure for such packages, as CMake is a more and more + commonly used build system and has a standardized behaviour. This + infrastructure 'must' be used for new packages that rely on + CMake. We cover them through a xref:cmake-package-tutorial[tutorial] + and xref:cmake-package-reference[reference]. + +* *Makefiles for Python modules*: We have a dedicated infrastructure + for Python modules that use either the +distutils+ or the + +setuptools+ mechanism. We cover them through a + xref:python-package-tutorial[tutorial] and a + xref:python-package-reference[reference]. + +* *Makefiles for Lua modules*: We have a dedicated infrastructure for + Lua modules available through the LuaRocks web site. We cover them + through a xref:luarocks-package-tutorial[tutorial] and a + xref:luarocks-package-reference[reference]. + +Further formatting details: see xref:writing-rules-mk[the writing +rules]. + +[[adding-packages-hash]] +=== The +.hash+ file + +When possible, you must add a third file, named +libfoo.hash+, that +contains the hashes of the downloaded files for the +libfoo+ +package. The only reason for not adding a +.hash+ file is when hash +checking is not possible due to how the package is downloaded. + +The hashes stored in that file are used to validate the integrity of the +downloaded files and of the license files. + +The format of this file is one line for each file for which to check the +hash, each line being space-separated, with these three fields: + +* the type of hash, one of: +** +md5+, +sha1+, +sha224+, +sha256+, +sha384+, +sha512+, +none+ +* the hash of the file: +** for +none+, one or more non-space chars, usually just the string +xxx+ +** for +md5+, 32 hexadecimal characters +** for +sha1+, 40 hexadecimal characters +** for +sha224+, 56 hexadecimal characters +** for +sha256+, 64 hexadecimal characters +** for +sha384+, 96 hexadecimal characters +** for +sha512+, 128 hexadecimal characters +* the name of the file: +** for a source archive: the basename of the file, without any directory + component, +** for a license file: the path as it appears in +FOO_LICENSE_FILES+. + +Lines starting with a +#+ sign are considered comments, and ignored. Empty +lines are ignored. + +There can be more than one hash for a single file, each on its own line. In +this case, all hashes must match. + +.Note +Ideally, the hashes stored in this file should match the hashes published by +upstream, e.g. on their website, in the e-mail announcement... If upstream +provides more than one type of hash (e.g. +sha1+ and +sha512+), then it is +best to add all those hashes in the +.hash+ file. If upstream does not +provide any hash, or only provides an +md5+ hash, then compute at least one +strong hash yourself (preferably +sha256+, but not +md5+), and mention +this in a comment line above the hashes. + +.Note +The hashes for license files are used to detect a license change when a +package version is bumped. The hashes are checked during the make legal-info +target run. For a package with multiple versions (like Qt5), +create the hash file in a subdirectory ++ of that package +(see also xref:patch-apply-order[]). + +.Note +The number of spaces does not matter, so one can use spaces (or tabs) to +properly align the different fields. + +The +none+ hash type is reserved to those archives downloaded from a +repository, like a 'git clone', a 'subversion checkout'... + +The example below defines a +sha1+ and a +sha256+ published by upstream for +the main +libfoo-1.2.3.tar.bz2+ tarball, an +md5+ from upstream and a +locally-computed +sha256+ hashes for a binary blob, a +sha256+ for a +downloaded patch, and an archive with no hash: + +---- +# Hashes from: http://www.foosoftware.org/download/libfoo-1.2.3.tar.bz2.{sha1,sha256}: +sha1 486fb55c3efa71148fe07895fd713ea3a5ae343a libfoo-1.2.3.tar.bz2 +sha256 efc8103cc3bcb06bda6a781532d12701eb081ad83e8f90004b39ab81b65d4369 libfoo-1.2.3.tar.bz2 + +# md5 from: http://www.foosoftware.org/download/libfoo-1.2.3.tar.bz2.md5, sha256 locally computed: +md5 2d608f3c318c6b7557d551a5a09314f03452f1a1 libfoo-data.bin +sha256 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b libfoo-data.bin + +# Locally computed: +sha256 ff52101fb90bbfc3fe9475e425688c660f46216d7e751c4bbdb1dc85cdccacb9 libfoo-fix-blabla.patch + +# No hash for 1234: +none xxx libfoo-1234.tar.gz + +# Hash for license files: +sha256 a45a845012742796534f7e91fe623262ccfb99460a2bd04015bd28d66fba95b8 COPYING +sha256 01b1f9f2c8ee648a7a596a1abe8aa4ed7899b1c9e5551bda06da6e422b04aa55 doc/COPYING.LGPL +---- + +If the +.hash+ file is present, and it contains one or more hashes for a +downloaded file, the hash(es) computed by Buildroot (after download) must +match the hash(es) stored in the +.hash+ file. If one or more hashes do +not match, Buildroot considers this an error, deletes the downloaded file, +and aborts. + +If the +.hash+ file is present, but it does not contain a hash for a +downloaded file, Buildroot considers this an error and aborts. However, +the downloaded file is left in the download directory since this +typically indicates that the +.hash+ file is wrong but the downloaded +file is probably OK. + +Hashes are currently checked for files fetched from http/ftp servers, +Git repositories, files copied using scp and local files. Hashes are +not checked for other version control systems (such as Subversion, +CVS, etc.) because Buildroot currently does not generate reproducible +tarballs when source code is fetched from such version control +systems. + +Hashes should only be added in +.hash+ files for files that are +guaranteed to be stable. For example, patches auto-generated by Github +are not guaranteed to be stable, and therefore their hashes can change +over time. Such patches should not be downloaded, and instead be added +locally to the package folder. + +If the +.hash+ file is missing, then no check is done at all. diff --git a/docs/manual/adding-packages-generic.txt b/docs/manual/adding-packages-generic.txt new file mode 100644 index 0000000000..63ea51bf89 --- /dev/null +++ b/docs/manual/adding-packages-generic.txt @@ -0,0 +1,554 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Infrastructure for packages with specific build systems + +By 'packages with specific build systems' we mean all the packages +whose build system is not one of the standard ones, such as +'autotools' or 'CMake'. This typically includes packages whose build +system is based on hand-written Makefiles or shell scripts. + +[[generic-package-tutorial]] + +==== +generic-package+ tutorial + +------------------------------ +01: ################################################################################ +02: # +03: # libfoo +04: # +05: ################################################################################ +06: +07: LIBFOO_VERSION = 1.0 +08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz +09: LIBFOO_SITE = http://www.foosoftware.org/download +10: LIBFOO_LICENSE = GPL-3.0+ +11: LIBFOO_LICENSE_FILES = COPYING +12: LIBFOO_INSTALL_STAGING = YES +13: LIBFOO_CONFIG_SCRIPTS = libfoo-config +14: LIBFOO_DEPENDENCIES = host-libaaa libbbb +15: +16: define LIBFOO_BUILD_CMDS +17: $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) all +18: endef +19: +20: define LIBFOO_INSTALL_STAGING_CMDS +21: $(INSTALL) -D -m 0755 $(@D)/libfoo.a $(STAGING_DIR)/usr/lib/libfoo.a +22: $(INSTALL) -D -m 0644 $(@D)/foo.h $(STAGING_DIR)/usr/include/foo.h +23: $(INSTALL) -D -m 0755 $(@D)/libfoo.so* $(STAGING_DIR)/usr/lib +24: endef +25: +26: define LIBFOO_INSTALL_TARGET_CMDS +27: $(INSTALL) -D -m 0755 $(@D)/libfoo.so* $(TARGET_DIR)/usr/lib +28: $(INSTALL) -d -m 0755 $(TARGET_DIR)/etc/foo.d +29: endef +30: +31: define LIBFOO_USERS +32: foo -1 libfoo -1 * - - - LibFoo daemon +33: endef +34: +35: define LIBFOO_DEVICES +36: /dev/foo c 666 0 0 42 0 - - - +37: endef +38: +39: define LIBFOO_PERMISSIONS +40: /bin/foo f 4755 foo libfoo - - - - - +41: endef +42: +43: $(eval $(generic-package)) +-------------------------------- + +The Makefile begins on line 7 to 11 with metadata information: the +version of the package (+LIBFOO_VERSION+), the name of the +tarball containing the package (+LIBFOO_SOURCE+) (xz-ed tarball recommended) +the Internet location at which the tarball can be downloaded from +(+LIBFOO_SITE+), the license (+LIBFOO_LICENSE+) and file with the +license text (+LIBFOO_LICENSE_FILES+). All variables must start with +the same prefix, +LIBFOO_+ in this case. This prefix is always the +uppercased version of the package name (see below to understand where +the package name is defined). + +On line 12, we specify that this package wants to install something to +the staging space. This is often needed for libraries, since they must +install header files and other development files in the staging space. +This will ensure that the commands listed in the ++LIBFOO_INSTALL_STAGING_CMDS+ variable will be executed. + +On line 13, we specify that there is some fixing to be done to some +of the 'libfoo-config' files that were installed during ++LIBFOO_INSTALL_STAGING_CMDS+ phase. +These *-config files are executable shell script files that are +located in '$(STAGING_DIR)/usr/bin' directory and are executed +by other 3rd party packages to find out the location and the linking +flags of this particular package. + +The problem is that all these *-config files by default give wrong, +host system linking flags that are unsuitable for cross-compiling. + +For example: '-I/usr/include' instead of '-I$(STAGING_DIR)/usr/include' +or: '-L/usr/lib' instead of '-L$(STAGING_DIR)/usr/lib' + +So some sed magic is done to these scripts to make them give correct +flags. +The argument to be given to +LIBFOO_CONFIG_SCRIPTS+ is the file name(s) +of the shell script(s) needing fixing. All these names are relative to +'$(STAGING_DIR)/usr/bin' and if needed multiple names can be given. + +In addition, the scripts listed in +LIBFOO_CONFIG_SCRIPTS+ are removed +from +$(TARGET_DIR)/usr/bin+, since they are not needed on the target. + +.Config script: 'divine' package +================================ +Package divine installs shell script '$(STAGING_DIR)/usr/bin/divine-config'. + +So its fixup would be: + +-------------------------------- +DIVINE_CONFIG_SCRIPTS = divine-config +-------------------------------- +================================ + +.Config script: 'imagemagick' package: +================================ +Package imagemagick installs the following scripts: +'$(STAGING_DIR)/usr/bin/{Magick,Magick++,MagickCore,MagickWand,Wand}-config' + +So it's fixup would be: + +-------------------------------- +IMAGEMAGICK_CONFIG_SCRIPTS = \ + Magick-config Magick++-config \ + MagickCore-config MagickWand-config Wand-config +-------------------------------- +================================ + +On line 14, we specify the list of dependencies this package relies +on. These dependencies are listed in terms of lower-case package names, +which can be packages for the target (without the +host-+ +prefix) or packages for the host (with the +host-+) prefix). +Buildroot will ensure that all these packages are built and installed +'before' the current package starts its configuration. + +The rest of the Makefile, lines 16..29, defines what should be done +at the different steps of the package configuration, compilation and +installation. ++LIBFOO_BUILD_CMDS+ tells what steps should be performed to +build the package. +LIBFOO_INSTALL_STAGING_CMDS+ tells what +steps should be performed to install the package in the staging space. ++LIBFOO_INSTALL_TARGET_CMDS+ tells what steps should be +performed to install the package in the target space. + +All these steps rely on the +$(@D)+ variable, which +contains the directory where the source code of the package has been +extracted. + +On lines 31..43, we define a user that is used by this package (e.g. +to run a daemon as non-root) (+LIBFOO_USERS+). + +On line 35..37, we define a device-node file used by this package +(+LIBFOO_DEVICES+). + +On line 39..41, we define the permissions to set to specific files +installed by this package (+LIBFOO_PERMISSIONS+). + +Finally, on line 43, we call the +generic-package+ function, which +generates, according to the variables defined previously, all the +Makefile code necessary to make your package working. + +[[generic-package-reference]] + +==== +generic-package+ reference + +There are two variants of the generic target. The +generic-package+ macro is +used for packages to be cross-compiled for the target. The ++host-generic-package+ macro is used for host packages, natively compiled +for the host. It is possible to call both of them in a single +.mk+ +file: once to create the rules to generate a target +package and once to create the rules to generate a host package: + +---------------------- +$(eval $(generic-package)) +$(eval $(host-generic-package)) +---------------------- + +This might be useful if the compilation of the target package requires +some tools to be installed on the host. If the package name is ++libfoo+, then the name of the package for the target is also ++libfoo+, while the name of the package for the host is ++host-libfoo+. These names should be used in the DEPENDENCIES +variables of other packages, if they depend on +libfoo+ or ++host-libfoo+. + +The call to the +generic-package+ and/or +host-generic-package+ macro *must* be +at the end of the +.mk+ file, after all variable definitions. + +For the target package, the +generic-package+ uses the variables defined by +the .mk file and prefixed by the uppercased package name: ++LIBFOO_*+. +host-generic-package+ uses the +HOST_LIBFOO_*+ variables. For +'some' variables, if the +HOST_LIBFOO_+ prefixed variable doesn't +exist, the package infrastructure uses the corresponding variable +prefixed by +LIBFOO_+. This is done for variables that are likely to +have the same value for both the target and host packages. See below +for details. + +The list of variables that can be set in a +.mk+ file to give metadata +information is (assuming the package name is +libfoo+) : + +* +LIBFOO_VERSION+, mandatory, must contain the version of the + package. Note that if +HOST_LIBFOO_VERSION+ doesn't exist, it is + assumed to be the same as +LIBFOO_VERSION+. It can also be a + revision number, branch or tag for packages that are fetched + directly from their revision control system. + + Examples: + + +LIBFOO_VERSION = 0.1.2+ + + +LIBFOO_VERSION = cb9d6aa9429e838f0e54faa3d455bcbab5eef057+ + + +LIBFOO_VERSION = stable+ + +* +LIBFOO_SOURCE+ may contain the name of the tarball of the package, + which Buildroot will use to download the tarball from + +LIBFOO_SITE+. If +HOST_LIBFOO_SOURCE+ is not specified, it defaults + to +LIBFOO_SOURCE+. If none are specified, then the value is assumed + to be +libfoo-$(LIBFOO_VERSION).tar.gz+. + + Example: +LIBFOO_SOURCE = foobar-$(LIBFOO_VERSION).tar.bz2+ + +* +LIBFOO_PATCH+ may contain a space-separated list of patch file + names, that Buildroot will download and apply to the package source + code. If an entry contains +://+, then Buildroot will assume it is a + full URL and download the patch from this location. Otherwise, + Buildroot will assume that the patch should be downloaded from + +LIBFOO_SITE+. If +HOST_LIBFOO_PATCH+ is not specified, it defaults + to +LIBFOO_PATCH+. Note that patches that are included in Buildroot + itself use a different mechanism: all files of the form + +*.patch+ present in the package directory inside + Buildroot will be applied to the package after extraction (see + xref:patch-policy[patching a package]). Finally, patches listed in + the +LIBFOO_PATCH+ variable are applied _before_ the patches stored + in the Buildroot package directory. + +* +LIBFOO_SITE+ provides the location of the package, which can be a + URL or a local filesystem path. HTTP, FTP and SCP are supported URL + types for retrieving package tarballs. In these cases don't include a + trailing slash: it will be added by Buildroot between the directory + and the filename as appropriate. Git, Subversion, Mercurial, + and Bazaar are supported URL types for retrieving packages directly + from source code management systems. There is a helper function to make + it easier to download source tarballs from GitHub (refer to + xref:github-download-url[] for details). A filesystem path may be used + to specify either a tarball or a directory containing the package + source code. See +LIBFOO_SITE_METHOD+ below for more details on how + retrieval works. + + Note that SCP URLs should be of the form + +scp://[user@]host:filepath+, and that filepath is relative to the + user's home directory, so you may want to prepend the path with a + slash for absolute paths: + +scp://[user@]host:/absolutepath+. + + If +HOST_LIBFOO_SITE+ is not specified, it defaults to + +LIBFOO_SITE+. + Examples: + + +LIBFOO_SITE=http://www.libfoosoftware.org/libfoo+ + + +LIBFOO_SITE=http://svn.xiph.org/trunk/Tremor+ + + +LIBFOO_SITE=/opt/software/libfoo.tar.gz+ + + +LIBFOO_SITE=$(TOPDIR)/../src/libfoo+ + +* +LIBFOO_DL_OPTS+ is a space-separated list of additional options to + pass to the downloader. Useful for retrieving documents with + server-side checking for user logins and passwords, or to use a proxy. + All download methods valid for +LIBFOO_SITE_METHOD+ are supported; + valid options depend on the download method (consult the man page + for the respective download utilities). + +* +LIBFOO_EXTRA_DOWNLOADS+ is a space-separated list of additional + files that Buildroot should download. If an entry contains +://+ + then Buildroot will assume it is a complete URL and will download + the file using this URL. Otherwise, Buildroot will assume the file + to be downloaded is located at +LIBFOO_SITE+. Buildroot will not do + anything with those additional files, except download them: it will + be up to the package recipe to use them from +$(DL_DIR)+. + +* +LIBFOO_SITE_METHOD+ determines the method used to fetch or copy the + package source code. In many cases, Buildroot guesses the method + from the contents of +LIBFOO_SITE+ and setting +LIBFOO_SITE_METHOD+ + is unnecessary. When +HOST_LIBFOO_SITE_METHOD+ is not specified, it + defaults to the value of +LIBFOO_SITE_METHOD+. + + The possible values of +LIBFOO_SITE_METHOD+ are: + ** +wget+ for normal FTP/HTTP downloads of tarballs. Used by + default when +LIBFOO_SITE+ begins with +http://+, +https://+ or + +ftp://+. + ** +scp+ for downloads of tarballs over SSH with scp. Used by + default when +LIBFOO_SITE+ begins with +scp://+. + ** +svn+ for retrieving source code from a Subversion repository. + Used by default when +LIBFOO_SITE+ begins with +svn://+. When a + +http://+ Subversion repository URL is specified in + +LIBFOO_SITE+, one 'must' specify +LIBFOO_SITE_METHOD=svn+. + Buildroot performs a checkout which is preserved as a tarball in + the download cache; subsequent builds use the tarball instead of + performing another checkout. + ** +cvs+ for retrieving source code from a CVS repository. + Used by default when +LIBFOO_SITE+ begins with +cvs://+. + The downloaded source code is cached as with the +svn+ method. + Anonymous pserver mode is assumed otherwise explicitly defined + on +LIBFOO_SITE+. Both + +LIBFOO_SITE=cvs://libfoo.net:/cvsroot/libfoo+ and + +LIBFOO_SITE=cvs://:ext:libfoo.net:/cvsroot/libfoo+ + are accepted, on the former anonymous pserver access mode is + assumed. + +LIBFOO_SITE+ 'must' contain the source URL as well as the remote + repository directory. The module is the package name. + +LIBFOO_VERSION+ is 'mandatory' and 'must' be a tag, a branch, or + a date (e.g. "2014-10-20", "2014-10-20 13:45", "2014-10-20 + 13:45+01" see "man cvs" for further details). + ** +git+ for retrieving source code from a Git repository. Used by + default when +LIBFOO_SITE+ begins with +git://+. The downloaded + source code is cached as with the +svn+ + method. + ** +hg+ for retrieving source code from a Mercurial repository. One + 'must' specify +LIBFOO_SITE_METHOD=hg+ when +LIBFOO_SITE+ + contains a Mercurial repository URL. The downloaded source code + is cached as with the +svn+ method. + ** +bzr+ for retrieving source code from a Bazaar repository. Used + by default when +LIBFOO_SITE+ begins with +bzr://+. The + downloaded source code is cached as with the +svn+ method. + ** +file+ for a local tarball. One should use this when + +LIBFOO_SITE+ specifies a package tarball as a local filename. + Useful for software that isn't available publicly or in version + control. + ** +local+ for a local source code directory. One should use this + when +LIBFOO_SITE+ specifies a local directory path containing + the package source code. Buildroot copies the contents of the + source directory into the package's build directory. Note that + for +local+ packages, no patches are applied. If you need to + still patch the source code, use +LIBFOO_POST_RSYNC_HOOKS+, see + xref:hooks-rsync[]. + +* +LIBFOO_GIT_SUBMODULES+ can be set to +YES+ to create an archive + with the git submodules in the repository. This is only available + for packages downloaded with git (i.e. when + +LIBFOO_SITE_METHOD=git+). Note that we try not to use such git + submodules when they contain bundled libraries, in which case we + prefer to use those libraries from their own package. + +* +LIBFOO_STRIP_COMPONENTS+ is the number of leading components + (directories) that tar must strip from file names on extraction. + The tarball for most packages has one leading component named + "-", thus Buildroot passes + --strip-components=1 to tar to remove it. + For non-standard packages that don't have this component, or + that have more than one leading component to strip, set this + variable with the value to be passed to tar. Default: 1. + +* +LIBFOO_EXCLUDES+ is a space-separated list of patterns to exclude + when extracting the archive. Each item from that list is passed as + a tar's +--exclude+ option. By default, empty. + +* +LIBFOO_DEPENDENCIES+ lists the dependencies (in terms of package + name) that are required for the current target package to + compile. These dependencies are guaranteed to be compiled and + installed before the configuration of the current package starts. In + a similar way, +HOST_LIBFOO_DEPENDENCIES+ lists the dependencies for + the current host package. + +* +LIBFOO_PATCH_DEPENDENCIES+ lists the dependencies (in terms of + package name) that are required for the current package to be + patched. These dependencies are guaranteed to be extracted and + patched before the current package is patched. In a similar way, + +HOST_LIBFOO_PATCH_DEPENDENCIES+ lists the dependencies for the + current host package. + This is seldom used; usually, +LIBFOO_DEPENDENCIES+ is what you + really want to use. + +* +LIBFOO_PROVIDES+ lists all the virtual packages +libfoo+ is an + implementation of. See xref:virtual-package-tutorial[]. + +* +LIBFOO_INSTALL_STAGING+ can be set to +YES+ or +NO+ (default). If + set to +YES+, then the commands in the +LIBFOO_INSTALL_STAGING_CMDS+ + variables are executed to install the package into the staging + directory. + +* +LIBFOO_INSTALL_TARGET+ can be set to +YES+ (default) or +NO+. If + set to +YES+, then the commands in the +LIBFOO_INSTALL_TARGET_CMDS+ + variables are executed to install the package into the target + directory. + +* +LIBFOO_INSTALL_IMAGES+ can be set to +YES+ or +NO+ (default). If + set to +YES+, then the commands in the +LIBFOO_INSTALL_IMAGES_CMDS+ + variable are executed to install the package into the images + directory. + +* +LIBFOO_CONFIG_SCRIPTS+ lists the names of the files in + '$(STAGING_DIR)/usr/bin' that need some special fixing to make them + cross-compiling friendly. Multiple file names separated by space can + be given and all are relative to '$(STAGING_DIR)/usr/bin'. The files + listed in +LIBFOO_CONFIG_SCRIPTS+ are also removed from + +$(TARGET_DIR)/usr/bin+ since they are not needed on the target. + +* +LIBFOO_DEVICES+ lists the device files to be created by Buildroot + when using the static device table. The syntax to use is the + makedevs one. You can find some documentation for this syntax in the + xref:makedev-syntax[]. This variable is optional. + +* +LIBFOO_PERMISSIONS+ lists the changes of permissions to be done at + the end of the build process. The syntax is once again the makedevs one. + You can find some documentation for this syntax in the xref:makedev-syntax[]. + This variable is optional. + +* +LIBFOO_USERS+ lists the users to create for this package, if it installs + a program you want to run as a specific user (e.g. as a daemon, or as a + cron-job). The syntax is similar in spirit to the makedevs one, and is + described in the xref:makeuser-syntax[]. This variable is optional. + +* +LIBFOO_LICENSE+ defines the license (or licenses) under which the package + is released. + This name will appear in the manifest file produced by +make legal-info+. + If the license appears in https://spdx.org/licenses/[the SPDX License List], + use the SPDX short identifier to make the manifest file uniform. + Otherwise, describe the license in a precise and concise way, avoiding + ambiguous names such as +BSD+ which actually name a family of licenses. + This variable is optional. If it is not defined, +unknown+ will appear in + the +license+ field of the manifest file for this package. + + The expected format for this variable must comply with the following rules: + ** If different parts of the package are released under different + licenses, then +comma+ separate licenses (e.g. +`LIBFOO_LICENSE = + GPL-2.0+, LGPL-2.1+`+). If there is clear distinction between which + component is licensed under what license, then annotate the license + with that component, between parenthesis (e.g. +`LIBFOO_LICENSE = + GPL-2.0+ (programs), LGPL-2.1+ (libraries)`+). + ** If the package is dual licensed, then separate licenses with the + +or+ keyword (e.g. +`LIBFOO_LICENSE = AFL-2.1 or GPL-2.0+`+). + +* +LIBFOO_LICENSE_FILES+ is a space-separated list of files in the package + tarball that contain the license(s) under which the package is released. + +make legal-info+ copies all of these files in the +legal-info+ directory. + See xref:legal-info[] for more information. + This variable is optional. If it is not defined, a warning will be produced + to let you know, and +not saved+ will appear in the +license files+ field + of the manifest file for this package. + +* +LIBFOO_ACTUAL_SOURCE_TARBALL+ only applies to packages whose + +LIBFOO_SITE+ / +LIBTOO_SOURCE+ pair points to an archive that does + not actually contain source code, but binary code. This a very + uncommon case, only known to apply to external toolchains which come + already compiled, although theoretically it might apply to other + packages. In such cases a separate tarball is usually available with + the actual source code. Set +LIBFOO_ACTUAL_SOURCE_TARBALL+ to the + name of the actual source code archive and Buildroot will download + it and use it when you run +make legal-info+ to collect + legally-relevant material. Note this file will not be downloaded + during regular builds nor by +make source+. + +* +LIBFOO_ACTUAL_SOURCE_SITE+ provides the location of the actual + source tarball. The default value is +LIBFOO_SITE+, so you don't + need to set this variable if the binary and source archives are + hosted on the same directory. If +LIBFOO_ACTUAL_SOURCE_TARBALL+ is + not set, it doesn't make sense to define + +LIBFOO_ACTUAL_SOURCE_SITE+. + +* +LIBFOO_REDISTRIBUTE+ can be set to +YES+ (default) or +NO+ to indicate if + the package source code is allowed to be redistributed. Set it to +NO+ for + non-opensource packages: Buildroot will not save the source code for this + package when collecting the +legal-info+. + +* +LIBFOO_FLAT_STACKSIZE+ defines the stack size of an application built into + the FLAT binary format. The application stack size on the NOMMU architecture + processors can't be enlarged at run time. The default stack size for the + FLAT binary format is only 4k bytes. If the application consumes more stack, + append the required number here. + +The recommended way to define these variables is to use the following +syntax: + +---------------------- +LIBFOO_VERSION = 2.32 +---------------------- + +Now, the variables that define what should be performed at the +different steps of the build process. + +* +LIBFOO_EXTRACT_CMDS+ lists the actions to be performed to extract + the package. This is generally not needed as tarballs are + automatically handled by Buildroot. However, if the package uses a + non-standard archive format, such as a ZIP or RAR file, or has a + tarball with a non-standard organization, this variable allows to + override the package infrastructure default behavior. + +* +LIBFOO_CONFIGURE_CMDS+ lists the actions to be performed to + configure the package before its compilation. + +* +LIBFOO_BUILD_CMDS+ lists the actions to be performed to + compile the package. + +* +HOST_LIBFOO_INSTALL_CMDS+ lists the actions to be performed + to install the package, when the package is a host package. The + package must install its files to the directory given by + +$(HOST_DIR)+. All files, including development files such as + headers should be installed, since other packages might be compiled + on top of this package. + +* +LIBFOO_INSTALL_TARGET_CMDS+ lists the actions to be + performed to install the package to the target directory, when the + package is a target package. The package must install its files to + the directory given by +$(TARGET_DIR)+. Only the files required for + 'execution' of the package have to be + installed. Header files, static libraries and documentation will be + removed again when the target filesystem is finalized. + +* +LIBFOO_INSTALL_STAGING_CMDS+ lists the actions to be + performed to install the package to the staging directory, when the + package is a target package. The package must install its files to + the directory given by +$(STAGING_DIR)+. All development files + should be installed, since they might be needed to compile other + packages. + +* +LIBFOO_INSTALL_IMAGES_CMDS+ lists the actions to be performed to + install the package to the images directory, when the package is a + target package. The package must install its files to the directory + given by +$(BINARIES_DIR)+. Only files that are binary images (aka + images) that do not belong in the +TARGET_DIR+ but are necessary + for booting the board should be placed here. For example, a package + should utilize this step if it has binaries which would be similar + to the kernel image, bootloader or root filesystem images. + +* +LIBFOO_INSTALL_INIT_SYSV+ and +LIBFOO_INSTALL_INIT_SYSTEMD+ list the + actions to install init scripts either for the systemV-like init systems + (busybox, sysvinit, etc.) or for the systemd units. These commands + will be run only when the relevant init system is installed (i.e. if + systemd is selected as the init system in the configuration, only + +LIBFOO_INSTALL_INIT_SYSTEMD+ will be run). + +* +LIBFOO_HELP_CMDS+ lists the actions to print the package help, which + is included to the main +make help+ output. These commands can print + anything in any format. + This is seldom used, as packages rarely have custom rules. *Do not use + this variable*, unless you really know that you need to print help. + +The preferred way to define these variables is: + +---------------------- +define LIBFOO_CONFIGURE_CMDS + action 1 + action 2 + action 3 +endef +---------------------- + +In the action definitions, you can use the following variables: + +* +$(LIBFOO_PKGDIR)+ contains the path to the directory containing the + +libfoo.mk+ and +Config.in+ files. This variable is useful when it is + necessary to install a file bundled in Buildroot, like a runtime + configuration file, a splashscreen image... + +* +$(@D)+, which contains the directory in which the package source + code has been uncompressed. + +* +$(DL_DIR)+ contains the path to the directory where all the downloads made + by Buildroot are stored. + +* +$(TARGET_CC)+, +$(TARGET_LD)+, etc. to get the target + cross-compilation utilities + +* +$(TARGET_CROSS)+ to get the cross-compilation toolchain prefix + +* Of course the +$(HOST_DIR)+, +$(STAGING_DIR)+ and +$(TARGET_DIR)+ + variables to install the packages properly. + +Finally, you can also use hooks. See xref:hooks[] for more information. diff --git a/docs/manual/adding-packages-gettext.txt b/docs/manual/adding-packages-gettext.txt new file mode 100644 index 0000000000..e9c6968e79 --- /dev/null +++ b/docs/manual/adding-packages-gettext.txt @@ -0,0 +1,62 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Gettext integration and interaction with packages + +Many packages that support internationalization use the gettext +library. Dependencies for this library are fairly complicated and +therefore, deserve some explanation. + +The 'glibc' C library integrates a full-blown implementation of +'gettext', supporting translation. Native Language Support is +therefore built-in in 'glibc'. + +On the other hand, the 'uClibc' and 'musl' C libraries only provide a +stub implementation of the gettext functionality, which allows to +compile libraries and programs using gettext functions, but without +providing the translation capabilities of a full-blown gettext +implementation. With such C libraries, if real Native Language Support +is necessary, it can be provided by the +libintl+ library of the ++gettext+ package. + +Due to this, and in order to make sure that Native Language Support is +properly handled, packages in Buildroot that can use NLS support +should: + +1. Ensure NLS support is enabled when +BR2_SYSTEM_ENABLE_NLS=y+. This + is done automatically for 'autotools' packages and therefore should + only be done for packages using other package infrastructures. + +1. Add +$(TARGET_NLS_DEPENDENCIES)+ to the package + +_DEPENDENCIES+ variable. This addition should be done + unconditionally: the value of this variable is automatically + adjusted by the core infrastructure to contain the relevant list of + packages. If NLS support is disabled, this variable is empty. If + NLS support is enabled, this variable contains +host-gettext+ so + that tools needed to compile translation files are available on the + host. In addition, if 'uClibc' or 'musl' are used, this variable + also contains +gettext+ in order to get the full-blown 'gettext' + implementation. + +1. If needed, add +$(TARGET_NLS_LIBS)+ to the linker flags, so that + the package gets linked with +libintl+. This is generally not + needed with 'autotools' packages as they usually detect + automatically that they should link with +libintl+. However, + packages using other build systems, or problematic autotools-based + packages may need this. +$(TARGET_NLS_LIBS)+ should be added + unconditionally to the linker flags, as the core automatically + makes it empty or defined to +-lintl+ depending on the + configuration. + +No changes should be made to the +Config.in+ file to support NLS. + +Finally, certain packages need some gettext utilities on the target, +such as the +gettext+ program itself, which allows to retrieve +translated strings, from the command line. In such a case, the package +should: + +* use +select BR2_PACKAGE_GETTEXT+ in their +Config.in+ file, + indicating in a comment above that it's a runtime dependency only. + +* not add any +gettext+ dependency in the +DEPENDENCIES+ variable of + their +.mk+ file. diff --git a/docs/manual/adding-packages-hooks.txt b/docs/manual/adding-packages-hooks.txt new file mode 100644 index 0000000000..0ce79f8907 --- /dev/null +++ b/docs/manual/adding-packages-hooks.txt @@ -0,0 +1,87 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[hooks]] +=== Hooks available in the various build steps + +The generic infrastructure (and as a result also the derived autotools +and cmake infrastructures) allow packages to specify hooks. +These define further actions to perform after existing steps. +Most hooks aren't really useful for generic packages, since the +.mk+ +file already has full control over the actions performed in each step +of the package construction. + +The following hook points are available: + +* +LIBFOO_PRE_DOWNLOAD_HOOKS+ +* +LIBFOO_POST_DOWNLOAD_HOOKS+ + +* +LIBFOO_PRE_EXTRACT_HOOKS+ +* +LIBFOO_POST_EXTRACT_HOOKS+ + +* +LIBFOO_PRE_RSYNC_HOOKS+ +* +LIBFOO_POST_RSYNC_HOOKS+ + +* +LIBFOO_PRE_PATCH_HOOKS+ +* +LIBFOO_POST_PATCH_HOOKS+ + +* +LIBFOO_PRE_CONFIGURE_HOOKS+ +* +LIBFOO_POST_CONFIGURE_HOOKS+ + +* +LIBFOO_PRE_BUILD_HOOKS+ +* +LIBFOO_POST_BUILD_HOOKS+ + +* +LIBFOO_PRE_INSTALL_HOOKS+ (for host packages only) +* +LIBFOO_POST_INSTALL_HOOKS+ (for host packages only) + +* +LIBFOO_PRE_INSTALL_STAGING_HOOKS+ (for target packages only) +* +LIBFOO_POST_INSTALL_STAGING_HOOKS+ (for target packages only) + +* +LIBFOO_PRE_INSTALL_TARGET_HOOKS+ (for target packages only) +* +LIBFOO_POST_INSTALL_TARGET_HOOKS+ (for target packages only) + +* +LIBFOO_PRE_INSTALL_IMAGES_HOOKS+ +* +LIBFOO_POST_INSTALL_IMAGES_HOOKS+ + +* +LIBFOO_PRE_LEGAL_INFO_HOOKS+ +* +LIBFOO_POST_LEGAL_INFO_HOOKS+ + +These variables are 'lists' of variable names containing actions to be +performed at this hook point. This allows several hooks to be +registered at a given hook point. Here is an example: + +---------------------- +define LIBFOO_POST_PATCH_FIXUP + action1 + action2 +endef + +LIBFOO_POST_PATCH_HOOKS += LIBFOO_POST_PATCH_FIXUP +---------------------- + +[[hooks-rsync]] +==== Using the +POST_RSYNC+ hook +The +POST_RSYNC+ hook is run only for packages that use a local source, +either through the +local+ site method or the +OVERRIDE_SRCDIR+ +mechanism. In this case, package sources are copied using +rsync+ from +the local location into the buildroot build directory. The +rsync+ +command does not copy all files from the source directory, though. +Files belonging to a version control system, like the directories ++.git+, +.hg+, etc. are not copied. For most packages this is +sufficient, but a given package can perform additional actions using +the +POST_RSYNC+ hook. + +In principle, the hook can contain any command you want. One specific +use case, though, is the intentional copying of the version control +directory using +rsync+. The +rsync+ command you use in the hook can, among +others, use the following variables: + +* +$(SRCDIR)+: the path to the overridden source directory +* +$(@D)+: the path to the build directory + +==== Target-finalize hook + +Packages may also register hooks in +LIBFOO_TARGET_FINALIZE_HOOKS+. +These hooks are run after all packages are built, but before the +filesystem images are generated. They are seldom used, and your +package probably do not need them. diff --git a/docs/manual/adding-packages-kconfig.txt b/docs/manual/adding-packages-kconfig.txt new file mode 100644 index 0000000000..d4d8630a79 --- /dev/null +++ b/docs/manual/adding-packages-kconfig.txt @@ -0,0 +1,83 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Infrastructure for packages using kconfig for configuration files + +A popular way for a software package to handle user-specified +configuration is +kconfig+. Among others, it is used by the Linux +kernel, Busybox, and Buildroot itself. The presence of a .config file +and a +menuconfig+ target are two well-known symptoms of kconfig being +used. + +Buildroot features an infrastructure for packages that use kconfig for +their configuration. This infrastructure provides the necessary logic to +expose the package's +menuconfig+ target as +foo-menuconfig+ in +Buildroot, and to handle the copying back and forth of the configuration +file in a correct way. + +The +kconfig-package+ infrastructure is based on the +generic-package+ +infrastructure. All variables supported by +generic-package+ are +available in +kconfig-package+ as well. See +xref:generic-package-reference[] for more details. + +In order to use the +kconfig-package+ infrastructure for a Buildroot +package, the minimally required lines in the +.mk+ file, in addition to +the variables required by the +generic-package+ infrastructure, are: + +------------------------------ +FOO_KCONFIG_FILE = reference-to-source-configuration-file + +$(eval $(kconfig-package)) +------------------------------ + +This snippet creates the following make targets: + +* +foo-menuconfig+, which calls the package's +menuconfig+ target + +* +foo-update-config+, which copies the configuration back to the + source configuration file. It is not possible to use this target + when fragment files are set. + +* +foo-update-defconfig+, which copies the configuration back to the + source configuration file. The configuration file will only list the + options that differ from the default values. It is not possible to + use this target when fragment files are set. + +and ensures that the source configuration file is copied to the build +directory at the right moment. + +There are two options to specify a configuration file to use, either ++FOO_KCONFIG_FILE+ (as in the example, above) or +FOO_KCONFIG_DEFCONFIG+. +It is mandatory to provide either, but not both: + +* +FOO_KCONFIG_FILE+ specifies the path to a defconfig or full-config file + to be used to configure the package. + +* +FOO_KCONFIG_DEFCONFIG+ specifies the defconfig 'make' rule to call to + configure the package. + +In addition to these minimally required lines, several optional variables can +be set to suit the needs of the package under consideration: + +* +FOO_KCONFIG_EDITORS+: a space-separated list of kconfig editors to + support, for example 'menuconfig xconfig'. By default, 'menuconfig'. + +* +FOO_KCONFIG_FRAGMENT_FILES+: a space-separated list of configuration + fragment files that are merged to the main configuration file. + Fragment files are typically used when there is a desire to stay in sync + with an upstream (def)config file, with some minor modifications. + +* +FOO_KCONFIG_OPTS+: extra options to pass when calling the kconfig + editors. This may need to include '$(FOO_MAKE_OPTS)', for example. By + default, empty. + +* +FOO_KCONFIG_FIXUP_CMDS+: a list of shell commands needed to fixup the + configuration file after copying it or running a kconfig editor. Such + commands may be needed to ensure a configuration consistent with other + configuration of Buildroot, for example. By default, empty. + +* +FOO_KCONFIG_DOTCONFIG+: path (with filename) of the +.config+ file, + relative to the package source tree. The default, +.config+, should + be well suited for all packages that use the standard kconfig + infrastructure as inherited from the Linux kernel; some packages use + a derivative of kconfig that use a different location. diff --git a/docs/manual/adding-packages-kernel-module.txt b/docs/manual/adding-packages-kernel-module.txt new file mode 100644 index 0000000000..b609ecc90a --- /dev/null +++ b/docs/manual/adding-packages-kernel-module.txt @@ -0,0 +1,143 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Infrastructure for packages building kernel modules + +Buildroot offers a helper infrastructure to make it easy to write packages that +build and install Linux kernel modules. Some packages only contain a kernel +module, other packages contain programs and libraries in addition to kernel +modules. Buildroot's helper infrastructure supports either case. + +[[kernel-module-tutorial]] +==== +kernel-module+ tutorial + +Let's start with an example on how to prepare a simple package that only +builds a kernel module, and no other component: + +---- +01: ################################################################################ +02: # +03: # foo +04: # +05: ################################################################################ +06: +07: FOO_VERSION = 1.2.3 +08: FOO_SOURCE = foo-$(FOO_VERSION).tar.xz +09: FOO_SITE = http://www.foosoftware.org/download +10: FOO_LICENSE = GPL-2.0 +11: FOO_LICENSE_FILES = COPYING +12: +13: $(eval $(kernel-module)) +14: $(eval $(generic-package)) +---- + +Lines 7-11 define the usual meta-data to specify the version, archive name, +remote URI where to find the package source, licensing information. + +On line 13, we invoke the +kernel-module+ helper infrastructure, that +generates all the appropriate Makefile rules and variables to build +that kernel module. + +Finally, on line 14, we invoke the +xref:generic-package-tutorial[+generic-package+ infrastructure]. + +The dependency on +linux+ is automatically added, so it is not needed to +specify it in +FOO_DEPENDENCIES+. + +What you may have noticed is that, unlike other package infrastructures, +we explicitly invoke a second infrastructure. This allows a package to +build a kernel module, but also, if needed, use any one of other package +infrastructures to build normal userland components (libraries, +executables...). Using the +kernel-module+ infrastructure on its own is +not sufficient; another package infrastructure *must* be used. + +Let's look at a more complex example: + +---- +01: ################################################################################ +02: # +03: # foo +04: # +05: ################################################################################ +06: +07: FOO_VERSION = 1.2.3 +08: FOO_SOURCE = foo-$(FOO_VERSION).tar.xz +09: FOO_SITE = http://www.foosoftware.org/download +10: FOO_LICENSE = GPL-2.0 +11: FOO_LICENSE_FILES = COPYING +12: +13: FOO_MODULE_SUBDIRS = driver/base +14: FOO_MODULE_MAKE_OPTS = KVERSION=$(LINUX_VERSION_PROBED) +15: +16: ifeq ($(BR2_PACKAGE_LIBBAR),y) +17: FOO_DEPENDENCIES = libbar +18: FOO_CONF_OPTS = --enable-bar +19: FOO_MODULE_SUBDIRS += driver/bar +20: else +21: FOO_CONF_OPTS = --disable-bar +22: endif +23: +24: $(eval $(kernel-module)) +26: $(eval $(autotools-package)) +---- + +Here, we see that we have an autotools-based package, that also builds +the kernel module located in sub-directory +driver/base+ and, if libbar +is enabled, the kernel module located in sub-directory +driver/bar+, and +defines the variable +KVERSION+ to be passed to the Linux buildsystem +when building the module(s). + + +[[kernel-module-reference]] +==== +kernel-module+ reference + +The main macro for the kernel module infrastructure is +kernel-module+. +Unlike other package infrastructures, it is not stand-alone, and requires +any of the other +*-package+ macros be called after it. + +The +kernel-module+ macro defines post-build and post-target-install +hooks to build the kernel modules. If the package's +.mk+ needs access +to the built kernel modules, it should do so in a post-build hook, +*registered after* the call to +kernel-module+. Similarly, if the +package's +.mk+ needs access to the kernel module after it has been +installed, it should do so in a post-install hook, *registered after* +the call to +kernel-module+. Here's an example: + +---- +$(eval $(kernel-module)) + +define FOO_DO_STUFF_WITH_KERNEL_MODULE + # Do something with it... +endef +FOO_POST_BUILD_HOOKS += FOO_DO_STUFF_WITH_KERNEL_MODULE + +$(eval $(generic-package)) +---- + +Finally, unlike the other package infrastructures, there is no ++host-kernel-module+ variant to build a host kernel module. + +The following additional variables can optionally be defined to further +configure the build of the kernel module: + +* +FOO_MODULE_SUBDIRS+ may be set to one or more sub-directories (relative + to the package source top-directory) where the kernel module sources are. + If empty or not set, the sources for the kernel module(s) are considered + to be located at the top of the package source tree. + +* +FOO_MODULE_MAKE_OPTS+ may be set to contain extra variable definitions + to pass to the Linux buildsystem. + +[[kernel-variables]] +You may also reference (but you may *not* set!) those variables: + + * +LINUX_DIR+ contains the path to where the Linux kernel has been + extracted and built. + + * +LINUX_VERSION+ contains the version string as configured by the user. + + * +LINUX_VERSION_PROBED+ contains the real version string of the kernel, + retrieved with running `make -C $(LINUX_DIR) kernelrelease` + + * +KERNEL_ARCH+ contains the name of the current architecture, like `arm`, + `mips`... diff --git a/docs/manual/adding-packages-linux-kernel-spec-infra.txt b/docs/manual/adding-packages-linux-kernel-spec-infra.txt new file mode 100644 index 0000000000..b948e208da --- /dev/null +++ b/docs/manual/adding-packages-linux-kernel-spec-infra.txt @@ -0,0 +1,152 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[linux-kernel-specific-infra]] +=== Infrastructure specific to the Linux kernel package + +The Linux kernel package can use some specific infrastructures based on package +hooks for building Linux kernel tools or/and building Linux kernel extensions. + +[[linux-kernel-tools]] +==== linux-kernel-tools + +Buildroot offers a helper infrastructure to build some userspace tools +for the target available within the Linux kernel sources. Since their +source code is part of the kernel source code, a special package, ++linux-tools+, exists and re-uses the sources of the Linux kernel that +runs on the target. + +Let's look at an example of a Linux tool. For a new Linux tool named ++foo+, create a new menu entry in the existing ++package/linux-tools/Config.in+. This file will contain the option +descriptions related to each kernel tool that will be used and +displayed in the configuration tool. It would basically look like: + +------------------------------ +01: config BR2_PACKAGE_LINUX_TOOLS_FOO +02: bool "foo" +03: select BR2_PACKAGE_LINUX_TOOLS +04: help +05: This is a comment that explains what foo kernel tool is. +06: +07: http://foosoftware.org/foo/ +------------------------------ + +The name of the option starts with the prefix +BR2_PACKAGE_LINUX_TOOLS_+, +followed by the uppercase name of the tool (like is done for packages). + +.Note +Unlike other packages, the +linux-tools+ package options appear in the ++linux+ kernel menu, under the `Linux Kernel Tools` sub-menu, not under +the `Target packages` main menu. + +Then for each linux tool, add a new +.mk.in+ file named ++package/linux-tools/linux-tool-foo.mk.in+. It would basically look like: + +------------------------------ +01: ################################################################################ +02: # +03: # foo +04: # +05: ################################################################################ +06: +07: LINUX_TOOLS += foo +08: +09: FOO_DEPENDENCIES = libbbb +10: +11: define FOO_BUILD_CMDS +12: $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools foo +13: endef +14: +15: define FOO_INSTALL_STAGING_CMDS +16: $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \ +17: DESTDIR=$(STAGING_DIR) \ +18: foo_install +19: endef +20: +21: define FOO_INSTALL_TARGET_CMDS +22: $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \ +23: DESTDIR=$(TARGET_DIR) \ +24: foo_install +25: endef +-------------------------------- + +On line 7, we register the Linux tool +foo+ to the list of available +Linux tools. + +On line 9, we specify the list of dependencies this tool relies on. These +dependencies are added to the Linux package dependencies list only when the ++foo+ tool is selected. + +The rest of the Makefile, lines 11-25 defines what should be done at the +different steps of the Linux tool build process like for a +xref:generic-package-tutorial[+generic package+]. They will actually be +used only when the +foo+ tool is selected. The only supported commands are ++_BUILD_CMDS+, +_INSTALL_STAGING_CMDS+ and +_INSTALL_TARGET_CMDS+. + +.Note +One *must not* call +$(eval $(generic-package))+ or any other +package infrastructure! Linux tools are not packages by themselves, +they are part of the +linux-tools+ package. + +[[linux-kernel-ext]] +==== linux-kernel-extensions + +Some packages provide new features that require the Linux kernel tree +to be modified. This can be in the form of patches to be applied on +the kernel tree, or in the form of new files to be added to the +tree. The Buildroot's Linux kernel extensions infrastructure provides +a simple solution to automatically do this, just after the kernel +sources are extracted and before the kernel patches are +applied. Examples of extensions packaged using this mechanism are the +real-time extensions Xenomai and RTAI, as well as the set of +out-of-tree LCD screens drivers +fbtft+. + +Let's look at an example on how to add a new Linux extension +foo+. + +First, create the package +foo+ that provides the extension: this +package is a standard package; see the previous chapters on how to +create such a package. This package is in charge of downloading the +sources archive, checking the hash, defining the licence informations +and building user space tools if any. + +Then create the 'Linux extension' proper: create a new menu entry in +the existing +linux/Config.ext.in+. This file contains the option +descriptions related to each kernel extension that will be used and +displayed in the configuration tool. It would basically look like: + +------------------------------ +01: config BR2_LINUX_KERNEL_EXT_FOO +02: bool "foo" +03: help +04: This is a comment that explains what foo kernel extension is. +05: +06: http://foosoftware.org/foo/ +------------------------------ + +Then for each linux extension, add a new +.mk+ file named ++linux/linux-ext-foo.mk+. It should basically contain: + +------------------------------ +01: ################################################################################ +02: # +03: # foo +04: # +05: ################################################################################ +06: +07: LINUX_EXTENSIONS += foo +08: +09: define FOO_PREPARE_KERNEL +10: $(FOO_DIR)/prepare-kernel-tree.sh --linux-dir=$(@D) +11: endef +-------------------------------- + +On line 7, we add the Linux extension +foo+ to the list of available +Linux extensions. + +On line 9-11, we define what should be done by the extension to modify +the Linux kernel tree; this is specific to the linux extension and can +use the variables defined by the +foo+ package, like: +$(FOO_DIR)+ or ++$(FOO_VERSION)+... as well as all the Linux variables, like: ++$(LINUX_VERSION)+ or +$(LINUX_VERSION_PROBED)+, +$(KERNEL_ARCH)+... +See the xref:kernel-variables[definition of those kernel variables]. diff --git a/docs/manual/adding-packages-luarocks.txt b/docs/manual/adding-packages-luarocks.txt new file mode 100644 index 0000000000..ec3d4e7ccd --- /dev/null +++ b/docs/manual/adding-packages-luarocks.txt @@ -0,0 +1,101 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Infrastructure for LuaRocks-based packages + +[[luarocks-package-tutorial]] + +==== +luarocks-package+ tutorial + +First, let's see how to write a +.mk+ file for a LuaRocks-based package, +with an example : + +------------------------ +01: ################################################################################ +02: # +03: # lua-foo +04: # +05: ################################################################################ +06: +07: LUA_FOO_VERSION = 1.0.2-1 +08: LUA_FOO_NAME_UPSTREAM = foo +09: LUA_FOO_DEPENDENCIES = bar +10: +11: LUA_FOO_BUILD_OPTS += BAR_INCDIR=$(STAGING_DIR)/usr/include +12: LUA_FOO_BUILD_OPTS += BAR_LIBDIR=$(STAGING_DIR)/usr/lib +13: LUA_FOO_LICENSE = luaFoo license +14: LUA_FOO_LICENSE_FILES = $(LUA_FOO_SUBDIR)/COPYING +15: +16: $(eval $(luarocks-package)) +------------------------ + +On line 7, we declare the version of the package (the same as in the rockspec, +which is the concatenation of the upstream version and the rockspec revision, +separated by a hyphen '-'). + +On line 8, we declare that the package is called "foo" on LuaRocks. In +Buildroot, we give Lua-related packages a name that starts with "lua", so the +Buildroot name is different from the upstream name. +LUA_FOO_NAME_UPSTREAM+ +makes the link between the two names. + +On line 9, we declare our dependencies against native libraries, so that they +are built before the build process of our package starts. + +On lines 11-12, we tell Buildroot to pass custom options to LuaRocks when it is +building the package. + +On lines 13-14, we specify the licensing terms for the package. + +Finally, on line 16, we invoke the +luarocks-package+ +macro that generates all the Makefile rules that actually allows the +package to be built. + +[[luarocks-package-reference]] + +==== +luarocks-package+ reference + +LuaRocks is a deployment and management system for Lua modules, and supports +various +build.type+: +builtin+, +make+ and +cmake+. In the context of +Buildroot, the +luarocks-package+ infrastructure only supports the +builtin+ +mode. LuaRocks packages that use the +make+ or +cmake+ build mechanisms +should instead be packaged using the +generic-package+ and +cmake-package+ +infrastructures in Buildroot, respectively. + +The main macro of the LuaRocks package infrastructure is +luarocks-package+: +like +generic-package+ it works by defining a number of variables providing +metadata information about the package, and then calling +luarocks-package+. It +is worth mentioning that building LuaRocks packages for the host is not +supported, so the macro +host-luarocks-package+ is not implemented. + +Just like the generic infrastructure, the LuaRocks infrastructure works +by defining a number of variables before calling the +luarocks-package+ +macro. + +First, all the package metadata information variables that exist in +the generic infrastructure also exist in the LuaRocks infrastructure: ++LUA_FOO_VERSION+, +LUA_FOO_SOURCE+, +LUA_FOO_SITE+, ++LUA_FOO_DEPENDENCIES+, +LUA_FOO_LICENSE+, +LUA_FOO_LICENSE_FILES+. + +Two of them are populated by the LuaRocks infrastructure (for the ++download+ step). If your package is not hosted on the LuaRocks mirror ++$(BR2_LUAROCKS_MIRROR)+, you can override them: + +* +LUA_FOO_SITE+, which defaults to +$(BR2_LUAROCKS_MIRROR)+ + +* +LUA_FOO_SOURCE+, which defaults to + +$(lowercase LUA_FOO_NAME_UPSTREAM)-$(LUA_FOO_VERSION).src.rock+ + +A few additional variables, specific to the LuaRocks infrastructure, are +also defined. They can be overridden in specific cases. + +* +LUA_FOO_NAME_UPSTREAM+, which defaults to +lua-foo+, i.e. the Buildroot + package name + +* +LUA_FOO_ROCKSPEC+, which defaults to + +$(lowercase LUA_FOO_NAME_UPSTREAM)-$(LUA_FOO_VERSION).rockspec+ + +* +LUA_FOO_SUBDIR+, which defaults to + +$(LUA_FOO_NAME_UPSTREAM)-$(LUA_FOO_VERSION_WITHOUT_ROCKSPEC_REVISION)+ + +* +LUA_FOO_BUILD_OPTS+ contains additional build options for the + +luarocks build+ call. diff --git a/docs/manual/adding-packages-perl.txt b/docs/manual/adding-packages-perl.txt new file mode 100644 index 0000000000..08ef559209 --- /dev/null +++ b/docs/manual/adding-packages-perl.txt @@ -0,0 +1,125 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Infrastructure for Perl/CPAN packages + +[[perl-package-tutorial]] + +==== +perl-package+ tutorial + +First, let's see how to write a +.mk+ file for a Perl/CPAN package, +with an example : + +------------------------ +01: ################################################################################ +02: # +03: # perl-foo-bar +04: # +05: ################################################################################ +06: +07: PERL_FOO_BAR_VERSION = 0.02 +08: PERL_FOO_BAR_SOURCE = Foo-Bar-$(PERL_FOO_BAR_VERSION).tar.gz +09: PERL_FOO_BAR_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MO/MONGER +10: PERL_FOO_BAR_DEPENDENCIES = perl-strictures +11: PERL_FOO_BAR_LICENSE = Artistic or GPL-1.0+ +12: PERL_FOO_BAR_LICENSE_FILES = LICENSE +13: +14: $(eval $(perl-package)) +------------------------ + +On line 7, we declare the version of the package. + +On line 8 and 9, we declare the name of the tarball and the location +of the tarball on a CPAN server. Buildroot will automatically download +the tarball from this location. + +On line 10, we declare our dependencies, so that they are built +before the build process of our package starts. + +On line 11 and 12, we give licensing details about the package (its +license on line 11, and the file containing the license text on line +12). + +Finally, on line 14, we invoke the +perl-package+ macro that +generates all the Makefile rules that actually allow the package to be +built. + +Most of these data can be retrieved from https://metacpan.org/. +So, this file and the Config.in can be generated by running +the script +supports/scripts/scancpan Foo-Bar+ in the Buildroot directory +(or in a br2-external tree). +This script creates a Config.in file and foo-bar.mk file for the +requested package, and also recursively for all dependencies specified by +CPAN. You should still manually edit the result. In particular, the +following things should be checked. + +* If the perl module links with a shared library that is provided by + another (non-perl) package, this dependency is not added automatically. + It has to be added manually to +PERL_FOO_BAR_DEPENDENCIES+. +* The +package/Config.in+ file has to be updated manually to include the + generated Config.in files. As a hint, the +scancpan+ script prints out + the required +source "..."+ statements, sorted alphabetically. + +[[perl-package-reference]] + +==== +perl-package+ reference + +As a policy, packages that provide Perl/CPAN modules should all be +named +perl-+ in Buildroot. + +This infrastructure handles various Perl build systems : ++ExtUtils-MakeMaker+ (EUMM), +Module-Build+ (MB) and +Module-Build-Tiny+. ++Build.PL+ is preferred by default when a package provides a +Makefile.PL+ +and a +Build.PL+. + +The main macro of the Perl/CPAN package infrastructure is ++perl-package+. It is similar to the +generic-package+ macro. The ability to +have target and host packages is also available, with the ++host-perl-package+ macro. + +Just like the generic infrastructure, the Perl/CPAN infrastructure +works by defining a number of variables before calling the ++perl-package+ macro. + +First, all the package metadata information variables that exist in the +generic infrastructure also exist in the Perl/CPAN infrastructure: ++PERL_FOO_VERSION+, +PERL_FOO_SOURCE+, ++PERL_FOO_PATCH+, +PERL_FOO_SITE+, ++PERL_FOO_SUBDIR+, +PERL_FOO_DEPENDENCIES+, ++PERL_FOO_INSTALL_TARGET+. + +Note that setting +PERL_FOO_INSTALL_STAGING+ to +YES+ has no effect +unless a +PERL_FOO_INSTALL_STAGING_CMDS+ variable is defined. The perl +infrastructure doesn't define these commands since Perl modules generally +don't need to be installed to the +staging+ directory. + +A few additional variables, specific to the Perl/CPAN infrastructure, +can also be defined. Many of them are only useful in very specific +cases, typical packages will therefore only use a few of them. + +* +PERL_FOO_PREFER_INSTALLER+/+HOST_PERL_FOO_PREFER_INSTALLER+, + specifies the preferred installation method. Possible values are + +EUMM+ (for +Makefile.PL+ based installation using + +ExtUtils-MakeMaker+) and +MB+ (for +Build.PL+ based installation + using +Module-Build+). This variable is only used when the package + provides both installation methods. + +* +PERL_FOO_CONF_ENV+/+HOST_PERL_FOO_CONF_ENV+, to specify additional + environment variables to pass to the +perl Makefile.PL+ or +perl Build.PL+. + By default, empty. + +* +PERL_FOO_CONF_OPTS+/+HOST_PERL_FOO_CONF_OPTS+, to specify additional + configure options to pass to the +perl Makefile.PL+ or +perl Build.PL+. + By default, empty. + +* +PERL_FOO_BUILD_OPTS+/+HOST_PERL_FOO_BUILD_OPTS+, to specify additional + options to pass to +make pure_all+ or +perl Build build+ in the build step. + By default, empty. + +* +PERL_FOO_INSTALL_TARGET_OPTS+, to specify additional options to + pass to +make pure_install+ or +perl Build install+ in the install step. + By default, empty. + +* +HOST_PERL_FOO_INSTALL_OPTS+, to specify additional options to + pass to +make pure_install+ or +perl Build install+ in the install step. + By default, empty. diff --git a/docs/manual/adding-packages-python.txt b/docs/manual/adding-packages-python.txt new file mode 100644 index 0000000000..5eb6ba51b1 --- /dev/null +++ b/docs/manual/adding-packages-python.txt @@ -0,0 +1,251 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Infrastructure for Python packages + +This infrastructure applies to Python packages that use the standard +Python setuptools mechanism as their build system, generally +recognizable by the usage of a +setup.py+ script. + +[[python-package-tutorial]] + +==== +python-package+ tutorial + +First, let's see how to write a +.mk+ file for a Python package, +with an example : + +------------------------ +01: ################################################################################ +02: # +03: # python-foo +04: # +05: ################################################################################ +06: +07: PYTHON_FOO_VERSION = 1.0 +08: PYTHON_FOO_SOURCE = python-foo-$(PYTHON_FOO_VERSION).tar.xz +09: PYTHON_FOO_SITE = http://www.foosoftware.org/download +10: PYTHON_FOO_LICENSE = BSD-3-Clause +11: PYTHON_FOO_LICENSE_FILES = LICENSE +12: PYTHON_FOO_ENV = SOME_VAR=1 +13: PYTHON_FOO_DEPENDENCIES = libmad +14: PYTHON_FOO_SETUP_TYPE = distutils +15: +16: $(eval $(python-package)) +------------------------ + +On line 7, we declare the version of the package. + +On line 8 and 9, we declare the name of the tarball (xz-ed tarball +recommended) and the location of the tarball on the Web. Buildroot +will automatically download the tarball from this location. + +On line 10 and 11, we give licensing details about the package (its +license on line 10, and the file containing the license text on line +11). + +On line 12, we tell Buildroot to pass custom options to the Python ++setup.py+ script when it is configuring the package. + +On line 13, we declare our dependencies, so that they are built +before the build process of our package starts. + +On line 14, we declare the specific Python build system being used. In +this case the +distutils+ Python build system is used. The two +supported ones are +distutils+ and +setuptools+. + +Finally, on line 16, we invoke the +python-package+ macro that +generates all the Makefile rules that actually allow the package to be +built. + +[[python-package-reference]] + +==== +python-package+ reference + +As a policy, packages that merely provide Python modules should all be +named +python-+ in Buildroot. Other packages that use the +Python build system, but are not Python modules, can freely choose +their name (existing examples in Buildroot are +scons+ and ++supervisor+). + +In their +Config.in+ file, they should depend on +BR2_PACKAGE_PYTHON+ +so that when Buildroot will enable Python 3 usage for modules, we will +be able to enable Python modules progressively on Python 3. + +The main macro of the Python package infrastructure is ++python-package+. It is similar to the +generic-package+ macro. It is +also possible to create Python host packages with the ++host-python-package+ macro. + +Just like the generic infrastructure, the Python infrastructure works +by defining a number of variables before calling the +python-package+ +or +host-python-package+ macros. + +All the package metadata information variables that exist in the +xref:generic-package-reference[generic package infrastructure] also +exist in the Python infrastructure: +PYTHON_FOO_VERSION+, ++PYTHON_FOO_SOURCE+, +PYTHON_FOO_PATCH+, +PYTHON_FOO_SITE+, ++PYTHON_FOO_SUBDIR+, +PYTHON_FOO_DEPENDENCIES+, +PYTHON_FOO_LICENSE+, ++PYTHON_FOO_LICENSE_FILES+, +PYTHON_FOO_INSTALL_STAGING+, etc. + +Note that: + + * It is not necessary to add +python+ or +host-python+ in the + +PYTHON_FOO_DEPENDENCIES+ variable of a package, since these basic + dependencies are automatically added as needed by the Python + package infrastructure. + + * Similarly, it is not needed to add +host-setuptools+ and/or + +host-distutilscross+ dependencies to +PYTHON_FOO_DEPENDENCIES+ for + setuptools-based packages, since these are automatically added by + the Python infrastructure as needed. + +One variable specific to the Python infrastructure is mandatory: + +* +PYTHON_FOO_SETUP_TYPE+, to define which Python build system is used + by the package. The two supported values are +distutils+ and + +setuptools+. If you don't know which one is used in your package, + look at the +setup.py+ file in your package source code, and see + whether it imports things from the +distutils+ module or the + +setuptools+ module. + +A few additional variables, specific to the Python infrastructure, can +optionally be defined, depending on the package's needs. Many of them +are only useful in very specific cases, typical packages will +therefore only use a few of them, or none. + +* +PYTHON_FOO_ENV+, to specify additional environment variables to + pass to the Python +setup.py+ script (for both the build and install + steps). Note that the infrastructure is automatically passing + several standard variables, defined in +PKG_PYTHON_DISTUTILS_ENV+ + (for distutils target packages), +HOST_PKG_PYTHON_DISTUTILS_ENV+ + (for distutils host packages), +PKG_PYTHON_SETUPTOOLS_ENV+ (for + setuptools target packages) and +HOST_PKG_PYTHON_SETUPTOOLS_ENV+ + (for setuptools host packages). + +* +PYTHON_FOO_BUILD_OPTS+, to specify additional options to pass to the + Python +setup.py+ script during the build step. For target distutils + packages, the +PKG_PYTHON_DISTUTILS_BUILD_OPTS+ options are already + passed automatically by the infrastructure. + +* +PYTHON_FOO_INSTALL_TARGET_OPTS+, +PYTHON_FOO_INSTALL_STAGING_OPTS+, + +HOST_PYTHON_FOO_INSTALL_OPTS+ to specify additional options to pass + to the Python +setup.py+ script during the target installation step, + the staging installation step or the host installation, + respectively. Note that the infrastructure is automatically passing + some options, defined in +PKG_PYTHON_DISTUTILS_INSTALL_TARGET_OPTS+ + or +PKG_PYTHON_DISTUTILS_INSTALL_STAGING_OPTS+ (for target distutils + packages), +HOST_PKG_PYTHON_DISTUTILS_INSTALL_OPTS+ (for host + distutils packages), +PKG_PYTHON_SETUPTOOLS_INSTALL_TARGET_OPTS+ or + +PKG_PYTHON_SETUPTOOLS_INSTALL_STAGING_OPTS+ (for target setuptools + packages) and +HOST_PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS+ (for host + setuptools packages). + +* +HOST_PYTHON_FOO_NEEDS_HOST_PYTHON+, to define the host python + interpreter. The usage of this variable is limited to host + packages. The two supported value are +python2+ and +python3+. It + will ensure the right host python package is available and will + invoke it for the build. If some build steps are overloaded, the + right python interpreter must be explicitly called in the commands. + +With the Python infrastructure, all the steps required to build and +install the packages are already defined, and they generally work well +for most Python-based packages. However, when required, it is still +possible to customize what is done in any particular step: + +* By adding a post-operation hook (after extract, patch, configure, + build or install). See xref:hooks[] for details. + +* By overriding one of the steps. For example, even if the Python + infrastructure is used, if the package +.mk+ file defines its own + +PYTHON_FOO_BUILD_CMDS+ variable, it will be used instead of the + default Python one. However, using this method should be restricted + to very specific cases. Do not use it in the general case. + +[[scanpypi]] + +==== Generating a +python-package+ from a PyPI repository + +If the Python package for which you would like to create a Buildroot +package is available on PyPI, you may want to use the +scanpypi+ tool +located in +utils/+ to automate the process. + +You can find the list of existing PyPI packages +https://pypi.python.org[here]. + ++scanpypi+ requires Python's +setuptools+ package to be installed on +your host. + +When at the root of your buildroot directory just do : + +----------------------- +utils/scanpypi foo bar -o package +----------------------- + +This will generate packages +python-foo+ and +python-bar+ in the package +folder if they exist on https://pypi.python.org. + +Find the +external python modules+ menu and insert your package inside. +Keep in mind that the items inside a menu should be in alphabetical order. + +Please keep in mind that you'll most likely have to manually check the +package for any mistakes as there are things that cannot be guessed by +the generator (e.g. dependencies on any of the python core modules +such as BR2_PACKAGE_PYTHON_ZLIB). Also, please take note that the +license and license files are guessed and must be checked. You also +need to manually add the package to the +package/Config.in+ file. + +If your Buildroot package is not in the official Buildroot tree but in +a br2-external tree, use the -o flag as follows: + +----------------------- +utils/scanpypi foo bar -o other_package_dir +----------------------- + +This will generate packages +python-foo+ and +python-bar+ in the ++other_package_directory+ instead of +package+. + +Option +-h+ will list the available options: + +----------------------- +utils/scanpypi -h +----------------------- + +[[python-package-cffi-backend]] + +==== +python-package+ CFFI backend + +C Foreign Function Interface for Python (CFFI) provides a convenient +and reliable way to call compiled C code from Python using interface +declarations written in C. Python packages relying on this backend can +be identified by the appearance of a +cffi+ dependency in the ++install_requires+ field of their +setup.py+ file. + +Such a package should: + + * add +python-cffi+ as a runtime dependency in order to install the +compiled C library wrapper on the target. This is achieved by adding ++select BR2_PACKAGE_PYTHON_CFFI+ to the package +Config.in+. + +------------------------ +config BR2_PACKAGE_PYTHON_FOO + bool "python-foo" + select BR2_PACKAGE_PYTHON_CFFI # runtime +------------------------ + + * add +host-python-cffi+ as a build-time dependency in order to +cross-compile the C wrapper. This is achieved by adding ++host-python-cffi+ to the +PYTHON_FOO_DEPENDENCIES+ variable. + +------------------------ +################################################################################ +# +# python-foo +# +################################################################################ + +... + +PYTHON_FOO_DEPENDENCIES = host-python-cffi + +$(eval $(python-package)) +------------------------ diff --git a/docs/manual/adding-packages-rebar.txt b/docs/manual/adding-packages-rebar.txt new file mode 100644 index 0000000000..be9ede0113 --- /dev/null +++ b/docs/manual/adding-packages-rebar.txt @@ -0,0 +1,102 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Infrastructure for rebar-based packages + +[[rebar-package-tutorial]] + +==== +rebar-package+ tutorial + +First, let's see how to write a +.mk+ file for a rebar-based package, +with an example : + +------------------------------ +01: ################################################################################ +02: # +03: # erlang-foobar +04: # +05: ################################################################################ +06: +07: ERLANG_FOOBAR_VERSION = 1.0 +08: ERLANG_FOOBAR_SOURCE = erlang-foobar-$(ERLANG_FOOBAR_VERSION).tar.xz +09: ERLANG_FOOBAR_SITE = http://www.foosoftware.org/download +10: ERLANG_FOOBAR_DEPENDENCIES = host-libaaa libbbb +11: +12: $(eval $(rebar-package)) +-------------------------------- + +On line 7, we declare the version of the package. + +On line 8 and 9, we declare the name of the tarball (xz-ed tarball +recommended) and the location of the tarball on the Web. Buildroot +will automatically download the tarball from this location. + +On line 10, we declare our dependencies, so that they are built +before the build process of our package starts. + +Finally, on line 12, we invoke the +rebar-package+ macro that +generates all the Makefile rules that actually allows the package to +be built. + +[[rebar-package-reference]] + +==== +rebar-package+ reference + +The main macro of the +rebar+ package infrastructure is ++rebar-package+. It is similar to the +generic-package+ macro. The +ability to have host packages is also available, with the ++host-rebar-package+ macro. + +Just like the generic infrastructure, the +rebar+ infrastructure works +by defining a number of variables before calling the +rebar-package+ +macro. + +First, all the package metadata information variables that exist in +the generic infrastructure also exist in the +rebar+ infrastructure: ++ERLANG_FOOBAR_VERSION+, +ERLANG_FOOBAR_SOURCE+, ++ERLANG_FOOBAR_PATCH+, +ERLANG_FOOBAR_SITE+, ++ERLANG_FOOBAR_SUBDIR+, +ERLANG_FOOBAR_DEPENDENCIES+, ++ERLANG_FOOBAR_INSTALL_STAGING+, +ERLANG_FOOBAR_INSTALL_TARGET+, ++ERLANG_FOOBAR_LICENSE+ and +ERLANG_FOOBAR_LICENSE_FILES+. + +A few additional variables, specific to the +rebar+ infrastructure, +can also be defined. Many of them are only useful in very specific +cases, typical packages will therefore only use a few of them. + +* +ERLANG_FOOBAR_USE_AUTOCONF+, to specify that the package uses + _autoconf_ at the configuration step. When a package sets this + variable to +YES+, the +autotools+ infrastructure is used. ++ +.Note +You can also use some of the variables from the +autotools+ + infrastructure: +ERLANG_FOOBAR_CONF_ENV+, +ERLANG_FOOBAR_CONF_OPTS+, + +ERLANG_FOOBAR_AUTORECONF+, +ERLANG_FOOBAR_AUTORECONF_ENV+ and + +ERLANG_FOOBAR_AUTORECONF_OPTS+. + +* +ERLANG_FOOBAR_USE_BUNDLED_REBAR+, to specify that the package has + a bundled version of _rebar_ *and* that it shall be used. Valid + values are +YES+ or +NO+ (the default). ++ +.Note +If the package bundles a _rebar_ utility, but can use the generic + one that Buildroot provides, just say +NO+ (i.e., do not specify + this variable). Only set if it is mandatory to use the _rebar_ + utility bundled in this package. + +* +ERLANG_FOOBAR_REBAR_ENV+, to specify additional environment + variables to pass to the _rebar_ utility. + +With the rebar infrastructure, all the steps required to build +and install the packages are already defined, and they generally work +well for most rebar-based packages. However, when required, it is +still possible to customize what is done in any particular step: + +* By adding a post-operation hook (after extract, patch, configure, + build or install). See xref:hooks[] for details. + +* By overriding one of the steps. For example, even if the rebar + infrastructure is used, if the package +.mk+ file defines its + own +ERLANG_FOOBAR_BUILD_CMDS+ variable, it will be used instead + of the default rebar one. However, using this method should be + restricted to very specific cases. Do not use it in the general + case. diff --git a/docs/manual/adding-packages-tips.txt b/docs/manual/adding-packages-tips.txt new file mode 100644 index 0000000000..19577fa821 --- /dev/null +++ b/docs/manual/adding-packages-tips.txt @@ -0,0 +1,169 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Tips and tricks + +[[package-name-variable-relation]] +==== Package name, config entry name and makefile variable relationship + +In Buildroot, there is some relationship between: + +* the _package name_, which is the package directory name (and the + name of the +*.mk+ file); + +* the config entry name that is declared in the +Config.in+ file; + +* the makefile variable prefix. + +It is mandatory to maintain consistency between these elements, +using the following rules: + +* the package directory and the +*.mk+ name are the _package name_ + itself (e.g.: +package/foo-bar_boo/foo-bar_boo.mk+); + +* the _make_ target name is the _package name_ itself (e.g.: + +foo-bar_boo+); + +* the config entry is the upper case _package name_ with `.` and `-` + characters substituted with `_`, prefixed with +BR2_PACKAGE_+ (e.g.: + +BR2_PACKAGE_FOO_BAR_BOO+); + +* the +*.mk+ file variable prefix is the upper case _package name_ + with `.` and `-` characters substituted with `_` (e.g.: + +FOO_BAR_BOO_VERSION+). + +[[testing-package]] +==== How to test your package + +Once you have added your new package, it is important that you test it +under various conditions: does it build for all architectures? Does it +build with the different C libraries? Does it need threads, NPTL? And +so on... + +Buildroot runs http://autobuild.buildroot.org/[autobuilders] which +continuously test random configurations. However, these only build the +`master` branch of the git tree, and your new fancy package is not yet +there. + +Buildroot provides a script in +utils/test-pkg+ that uses the same base +configurations as used by the autobuilders so you can test your package +in the same conditions. + +First, create a config snippet that contains all the necessary options +needed to enable your package, but without any architecture or toolchain +option. For example, let's create a config snippet that just enables ++libcurl+, without any TLS backend: + +---- +$ cat libcurl.config +BR2_PACKAGE_LIBCURL=y +---- + +If your package needs more configuration options, you can add them to the +config snippet. For example, here's how you would test +libcurl+ with ++openssl+ as a TLS backend and the +curl+ program: + +---- +$ cat libcurl.config +BR2_PACKAGE_LIBCURL=y +BR2_PACKAGE_CURL=y +BR2_PACKAGE_OPENSSL=y +---- + +Then run the +test-pkg+ script, by telling it what config snippet to use +and what package to test: + +---- +$ ./utils/test-pkg -c libcurl.config -p libcurl +---- + +This will try to build your package against all the toolchains used +by the autobuilders (except for the internal toolchains, because it takes +too long to do so). The output lists all toolchains and the corresponding +result (excerpt, results are fake): + +---- +$ ./utils/test-pkg -c libcurl.config -p libcurl + armv5-ctng-linux-gnueabi [ 1/11]: OK + armv7-ctng-linux-gnueabihf [ 2/11]: OK + br-aarch64-glibc [ 3/11]: SKIPPED + br-arcle-hs38 [ 4/11]: SKIPPED + br-arm-basic [ 5/11]: FAILED + br-arm-cortex-a9-glibc [ 6/11]: OK + br-arm-cortex-a9-musl [ 7/11]: FAILED + br-arm-cortex-m4-full [ 8/11]: OK + br-arm-full [ 9/11]: OK + br-arm-full-nothread [10/11]: FAILED + br-arm-full-static [11/11]: OK +11 builds, 2 skipped, 2 build failed, 1 legal-info failed +---- + +The results mean: + +* `OK`: the build was successful. +* `SKIPPED`: one or more configuration options listed in the config + snippet were not present in the final configuration. This is due to + options having dependencies not satisfied by the toolchain, such as + for example a package that +depends on BR2_USE_MMU+ with a noMMU + toolchain. The missing options are reported in +missing.config+ in + the output build directory (+~/br-test-pkg/TOOLCHAIN_NAME/+ by + default). +* `FAILED`: the build failed. Inspect the +logfile+ file in the output + build directory to see what went wrong: +** the actual build failed, +** the legal-info failed, +** one of the preliminary steps (downloading the config file, applying + the configuration, running `dirclean` for the package) failed. + +When there are failures, you can just re-run the script with the same +options (after you fixed your package); the script will attempt to +re-build the package specified with +-p+ for all toolchains, without +the need to re-build all the dependencies of that package. + +The +test-pkg+ script accepts a few options, for which you can get some +help by running: + +---- +$ ./utils/test-pkg -h +---- + +[[github-download-url]] +==== How to add a package from GitHub + +Packages on GitHub often don't have a download area with release tarballs. +However, it is possible to download tarballs directly from the repository +on GitHub. As GitHub is known to have changed download mechanisms in the +past, the 'github' helper function should be used as shown below. + +------------------------ +# Use a tag or a full commit ID +FOO_VERSION = v1.0 +FOO_SITE = $(call github,,,$(FOO_VERSION)) +------------------------ + +.Notes +- The FOO_VERSION can either be a tag or a commit ID. +- The tarball name generated by github matches the default one from + Buildroot (e.g.: +foo-f6fb6654af62045239caed5950bc6c7971965e60.tar.gz+), + so it is not necessary to specify it in the +.mk+ file. +- When using a commit ID as version, you should use the full 40 hex characters. + +If the package you wish to add does have a release section on GitHub, the +maintainer may have uploaded a release tarball, or the release may just point +to the automatically generated tarball from the git tag. If there is a +release tarball uploaded by the maintainer, we prefer to use that since it +may be slightly different (e.g. it contains a configure script so we don't +need to do AUTORECONF). + +You can see on the release page if it's an uploaded tarball or a git tag: + +image::github_hash_mongrel2.png[] + +- If it looks like the image above then it was uploaded by the + maintainer and you should use that link (in that example: + 'mongrel2-v1.9.2.tar.bz2') to specify +FOO_SITE+, and not use the + 'github' helper. + +- On the other hand, if there's is *only* the "Source code" link, then + it's an automatically generated tarball and you should use the + 'github' helper function. diff --git a/docs/manual/adding-packages-virtual.txt b/docs/manual/adding-packages-virtual.txt new file mode 100644 index 0000000000..6326bb5455 --- /dev/null +++ b/docs/manual/adding-packages-virtual.txt @@ -0,0 +1,144 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Infrastructure for virtual packages + +[[virtual-package-tutorial]] + +In Buildroot, a virtual package is a package whose functionalities are +provided by one or more packages, referred to as 'providers'. The virtual +package management is an extensible mechanism allowing the user to choose +the provider used in the rootfs. + +For example, 'OpenGL ES' is an API for 2D and 3D graphics on embedded systems. +The implementation of this API is different for the 'Allwinner Tech Sunxi' and +the 'Texas Instruments OMAP35xx' platforms. So +libgles+ will be a virtual +package and +sunxi-mali+ and +ti-gfx+ will be the providers. + +==== +virtual-package+ tutorial + +In the following example, we will explain how to add a new virtual package +('something-virtual') and a provider for it ('some-provider'). + +First, let's create the virtual package. + +==== Virtual package's +Config.in+ file + +The +Config.in+ file of virtual package 'something-virtual' should contain: + +--------------------------- +01: config BR2_PACKAGE_HAS_SOMETHING_VIRTUAL +02: bool +03: +04: config BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL +05: depends on BR2_PACKAGE_HAS_SOMETHING_VIRTUAL +06: string +--------------------------- + +In this file, we declare two options, +BR2_PACKAGE_HAS_SOMETHING_VIRTUAL+ and ++BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL+, whose values will be used by the +providers. + +==== Virtual package's +.mk+ file + +The +.mk+ for the virtual package should just evaluate the +virtual-package+ macro: + +--------------------------- +01: ################################################################################ +02: # +03: # something-virtual +04: # +05: ################################################################################ +06: +07: $(eval $(virtual-package)) +--------------------------- + +The ability to have target and host packages is also available, with the ++host-virtual-package+ macro. + +==== Provider's +Config.in+ file + +When adding a package as a provider, only the +Config.in+ file requires some +modifications. + +The +Config.in+ file of the package 'some-provider', which provides the +functionalities of 'something-virtual', should contain: + +--------------------------- +01: config BR2_PACKAGE_SOME_PROVIDER +02: bool "some-provider" +03: select BR2_PACKAGE_HAS_SOMETHING_VIRTUAL +04: help +05: This is a comment that explains what some-provider is. +06: +07: http://foosoftware.org/some-provider/ +08: +09: if BR2_PACKAGE_SOME_PROVIDER +10: config BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL +11: default "some-provider" +12: endif +--------------------------- + +On line 3, we select +BR2_PACKAGE_HAS_SOMETHING_VIRTUAL+, and on line 11, we +set the value of +BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL+ to the name of the +provider, but only if it is selected. + +==== Provider's +.mk+ file + +The +.mk+ file should also declare an additional variable ++SOME_PROVIDER_PROVIDES+ to contain the names of all the virtual +packages it is an implementation of: + +--------------------------- +01: SOME_PROVIDER_PROVIDES = something-virtual +--------------------------- + +Of course, do not forget to add the proper build and runtime dependencies for +this package! + +==== Notes on depending on a virtual package + +When adding a package that requires a certain +FEATURE+ provided by a virtual +package, you have to use +depends on BR2_PACKAGE_HAS_FEATURE+, like so: + +--------------------------- +config BR2_PACKAGE_HAS_FEATURE + bool + +config BR2_PACKAGE_FOO + bool "foo" + depends on BR2_PACKAGE_HAS_FEATURE +--------------------------- + +==== Notes on depending on a specific provider + +If your package really requires a specific provider, then you'll have to +make your package +depends on+ this provider; you can _not_ +select+ a +provider. + +Let's take an example with two providers for a +FEATURE+: + +--------------------------- +config BR2_PACKAGE_HAS_FEATURE + bool + +config BR2_PACKAGE_FOO + bool "foo" + select BR2_PACKAGE_HAS_FEATURE + +config BR2_PACKAGE_BAR + bool "bar" + select BR2_PACKAGE_HAS_FEATURE +--------------------------- + +And you are adding a package that needs +FEATURE+ as provided by +foo+, +but not as provided by +bar+. + +If you were to use +select BR2_PACKAGE_FOO+, then the user would still +be able to select +BR2_PACKAGE_BAR+ in the menuconfig. This would create +a configuration inconsistency, whereby two providers of the same +FEATURE+ +would be enabled at once, one explicitly set by the user, the other +implicitly by your +select+. + +Instead, you have to use +depends on BR2_PACKAGE_FOO+, which avoids any +implicit configuration inconsistency. diff --git a/docs/manual/adding-packages-waf.txt b/docs/manual/adding-packages-waf.txt new file mode 100644 index 0000000000..43b557c070 --- /dev/null +++ b/docs/manual/adding-packages-waf.txt @@ -0,0 +1,85 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Infrastructure for Waf-based packages + +[[waf-package-tutorial]] + +==== +waf-package+ tutorial + +First, let's see how to write a +.mk+ file for a Waf-based package, with +an example : + +------------------------ +01: ################################################################################ +02: # +03: # libfoo +04: # +05: ################################################################################ +06: +07: LIBFOO_VERSION = 1.0 +08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz +09: LIBFOO_SITE = http://www.foosoftware.org/download +10: LIBFOO_CONF_OPTS = --enable-bar --disable-baz +11: LIBFOO_DEPENDENCIES = bar +12: +13: $(eval $(waf-package)) +------------------------ + +On line 7, we declare the version of the package. + +On line 8 and 9, we declare the name of the tarball (xz-ed tarball +recommended) and the location of the tarball on the Web. Buildroot +will automatically download the tarball from this location. + +On line 10, we tell Buildroot what options to enable for libfoo. + +On line 11, we tell Buildroot the depednencies of libfoo. + +Finally, on line line 13, we invoke the +waf-package+ +macro that generates all the Makefile rules that actually allows the +package to be built. + +[[waf-package-reference]] + +==== +waf-package+ reference + +The main macro of the Waf package infrastructure is +waf-package+. +It is similar to the +generic-package+ macro. + +Just like the generic infrastructure, the Waf infrastructure works +by defining a number of variables before calling the +waf-package+ +macro. + +First, all the package metadata information variables that exist in +the generic infrastructure also exist in the Waf infrastructure: ++LIBFOO_VERSION+, +LIBFOO_SOURCE+, +LIBFOO_PATCH+, +LIBFOO_SITE+, ++LIBFOO_SUBDIR+, +LIBFOO_DEPENDENCIES+, +LIBFOO_INSTALL_STAGING+, ++LIBFOO_INSTALL_TARGET+. + +An additional variable, specific to the Waf infrastructure, can +also be defined. + +* +LIBFOO_NEEDS_EXTERNAL_WAF+ can be set to +YES+ or +NO+ to tell + Buildroot to use the bundled +waf+ executable. If set to +NO+, the + default, then Buildroot will use the waf executable provided in the + package source tree; if set to +YES+, then Buidlroot will download, + install waf as a host tool and use it to build the package. + +* +LIBFOO_WAF_OPTS+, to specify additional options to pass to the + +waf+ script at every step of the package build process: configure, + build and installation. By default, empty. + +* +LIBFOO_CONF_OPTS+, to specify additional options to pass to the + +waf+ script for the configuration step. By default, empty. + +* +LIBFOO_BUILD_OPTS+, to specify additional options to pass to the + +waf+ script during the build step. By default, empty. + +* +LIBFOO_INSTALL_STAGING_OPTS+, to specify additional options to pass + to the +waf+ script during the staging installation step. By default, + empty. + +* +LIBFOO_INSTALL_TARGET_OPTS+, to specify additional options to pass + to the +waf+ script during the target installation step. By default, + empty. diff --git a/docs/manual/adding-packages.txt b/docs/manual/adding-packages.txt new file mode 100644 index 0000000000..d577ff030e --- /dev/null +++ b/docs/manual/adding-packages.txt @@ -0,0 +1,49 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[adding-packages]] +== Adding new packages to Buildroot + +This section covers how new packages (userspace libraries or +applications) can be integrated into Buildroot. It also shows how +existing packages are integrated, which is needed for fixing issues or +tuning their configuration. + +When you add a new package, be sure to test it in various conditions; +see xref:testing-package[] + +include::adding-packages-directory.txt[] + +include::adding-packages-generic.txt[] + +include::adding-packages-autotools.txt[] + +include::adding-packages-cmake.txt[] + +include::adding-packages-python.txt[] + +include::adding-packages-luarocks.txt[] + +include::adding-packages-perl.txt[] + +include::adding-packages-virtual.txt[] + +include::adding-packages-kconfig.txt[] + +include::adding-packages-rebar.txt[] + +include::adding-packages-waf.txt[] + +include::adding-packages-kernel-module.txt[] + +include::adding-packages-asciidoc.txt[] + +include::adding-packages-linux-kernel-spec-infra.txt[] + +include::adding-packages-hooks.txt[] + +include::adding-packages-gettext.txt[] + +include::adding-packages-tips.txt[] + +include::adding-packages-conclusion.txt[] diff --git a/docs/manual/advanced.txt b/docs/manual/advanced.txt new file mode 100644 index 0000000000..b7bfc4923d --- /dev/null +++ b/docs/manual/advanced.txt @@ -0,0 +1,16 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Advanced usage + +include::using-buildroot-toolchain.txt[] + +include::using-buildroot-debugger.txt[] + +include::ccache-support.txt[] + +include::download-location.txt[] + +include::package-make-target.txt[] + +include::using-buildroot-development.txt[] diff --git a/docs/manual/appendix.txt b/docs/manual/appendix.txt new file mode 100644 index 0000000000..86afa4bdaa --- /dev/null +++ b/docs/manual/appendix.txt @@ -0,0 +1,6 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +include::makedev-syntax.txt[] +include::makeusers-syntax.txt[] +include::migrating.txt[] diff --git a/docs/manual/beyond-buildroot.txt b/docs/manual/beyond-buildroot.txt new file mode 100644 index 0000000000..eefea1fecf --- /dev/null +++ b/docs/manual/beyond-buildroot.txt @@ -0,0 +1,66 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +== Beyond Buildroot + +=== Boot the generated images + +==== NFS boot + +To achieve NFS-boot, enable _tar root filesystem_ in the _Filesystem +images_ menu. + +After a complete build, just run the following commands to setup the +NFS-root directory: + +------------------- +sudo tar -xavf /path/to/output_dir/rootfs.tar -C /path/to/nfs_root_dir +------------------- + +Remember to add this path to +/etc/exports+. + +Then, you can execute a NFS-boot from your target. + +==== Live CD + +To build a live CD image, enable the _iso image_ option in the +_Filesystem images_ menu. Note that this option is only available on +the x86 and x86-64 architectures, and if you are building your kernel +with Buildroot. + +You can build a live CD image with either IsoLinux, Grub or Grub 2 as +a bootloader, but only Isolinux supports making this image usable both +as a live CD and live USB (through the _Build hybrid image_ option). + +You can test your live CD image using QEMU: + +------------------- +qemu-system-i386 -cdrom output/images/rootfs.iso9660 +------------------- + +Or use it as a hard-drive image if it is a hybrid ISO: + +------------------- +qemu-system-i386 -hda output/images/rootfs.iso9660 +------------------- + +It can be easily flashed to a USB drive with +dd+: + +------------------- +dd if=output/images/rootfs.iso9660 of=/dev/sdb +------------------- + +=== Chroot + +If you want to chroot in a generated image, then there are few thing +you should be aware of: + +* you should setup the new root from the _tar root filesystem_ image; + +* either the selected target architecture is compatible with your host + machine, or you should use some +qemu-*+ binary and correctly set it + within the +binfmt+ properties to be able to run the binaries built + for the target on your host machine; + +* Buildroot does not currently provide +host-qemu+ and +binfmt+ + correctly built and set for that kind of use. diff --git a/docs/manual/ccache-support.txt b/docs/manual/ccache-support.txt new file mode 100644 index 0000000000..f6746ad7d8 --- /dev/null +++ b/docs/manual/ccache-support.txt @@ -0,0 +1,55 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[ccache]] +==== Using +ccache+ in Buildroot + +http://ccache.samba.org[ccache] is a compiler cache. It stores the +object files resulting from each compilation process, and is able to +skip future compilation of the same source file (with same compiler +and same arguments) by using the pre-existing object files. When doing +almost identical builds from scratch a number of times, it can nicely +speed up the build process. + ++ccache+ support is integrated in Buildroot. You just have to enable ++Enable compiler cache+ in +Build options+. This will automatically +build +ccache+ and use it for every host and target compilation. + +The cache is located in +$HOME/.buildroot-ccache+. It is stored +outside of Buildroot output directory so that it can be shared by +separate Buildroot builds. If you want to get rid of the cache, simply +remove this directory. + +You can get statistics on the cache (its size, number of hits, +misses, etc.) by running +make ccache-stats+. + +The make target +ccache-options+ and the +CCACHE_OPTIONS+ variable +provide more generic access to the ccache. For example + +----------------- +# set cache limit size +make CCACHE_OPTIONS="--max-size=5G" ccache-options + +# zero statistics counters +make CCACHE_OPTIONS="--zero-stats" ccache-options +----------------- + ++ccache+ makes a hash of the source files and of the compiler options. +If a compiler option is different, the cached object file will not be +used. Many compiler options, however, contain an absolute path to the +staging directory. Because of this, building in a different output +directory would lead to many cache misses. + +To avoid this issue, buildroot has the +Use relative paths+ option +(+BR2_CCACHE_USE_BASEDIR+). This will rewrite all absolute paths that +point inside the output directory into relative paths. Thus, changing +the output directory no longer leads to cache misses. + +A disadvantage of the relative paths is that they also end up to be +relative paths in the object file. Therefore, for example, the debugger +will no longer find the file, unless you cd to the output directory +first. + +See https://ccache.samba.org/manual.html#_compiling_in_different_directories[the +ccache manual's section on "Compiling in different directories"] for +more details about this rewriting of absolute paths. diff --git a/docs/manual/common-usage.txt b/docs/manual/common-usage.txt new file mode 100644 index 0000000000..a22da20188 --- /dev/null +++ b/docs/manual/common-usage.txt @@ -0,0 +1,334 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +== General Buildroot usage + +include::make-tips.txt[] + +include::rebuilding-packages.txt[] + +=== Offline builds + +If you intend to do an offline build and just want to download +all sources that you previously selected in the configurator +('menuconfig', 'nconfig', 'xconfig' or 'gconfig'), then issue: + +-------------------- + $ make source +-------------------- + +You can now disconnect or copy the content of your +dl+ +directory to the build-host. + +=== Building out-of-tree + +As default, everything built by Buildroot is stored in the directory ++output+ in the Buildroot tree. + +Buildroot also supports building out of tree with a syntax similar to +the Linux kernel. To use it, add +O=+ to the make command +line: + +-------------------- + $ make O=/tmp/build +-------------------- + +Or: + +-------------------- + $ cd /tmp/build; make O=$PWD -C path/to/buildroot +-------------------- + +All the output files will be located under +/tmp/build+. If the +O+ +path does not exist, Buildroot will create it. + +*Note:* the +O+ path can be either an absolute or a relative path, but if it's +passed as a relative path, it is important to note that it is interpreted +relative to the main Buildroot source directory, *not* the current working +directory. + +When using out-of-tree builds, the Buildroot +.config+ and temporary +files are also stored in the output directory. This means that you can +safely run multiple builds in parallel using the same source tree as +long as they use unique output directories. + +For ease of use, Buildroot generates a Makefile wrapper in the output +directory - so after the first run, you no longer need to pass +O=<...>+ +and +-C <...>+, simply run (in the output directory): + +-------------------- + $ make +-------------------- + +[[env-vars]] + +=== Environment variables + +Buildroot also honors some environment variables, when they are passed +to +make+ or set in the environment: + +* +HOSTCXX+, the host C++ compiler to use +* +HOSTCC+, the host C compiler to use +* +UCLIBC_CONFIG_FILE=+, path to + the uClibc configuration file, used to compile uClibc, if an + internal toolchain is being built. + + + Note that the uClibc configuration file can also be set from the + configuration interface, so through the Buildroot +.config+ file; this + is the recommended way of setting it. + + +* +BUSYBOX_CONFIG_FILE=+, path to + the BusyBox configuration file. + + + Note that the BusyBox configuration file can also be set from the + configuration interface, so through the Buildroot +.config+ file; this + is the recommended way of setting it. + + +* +BR2_CCACHE_DIR+ to override the directory where + Buildroot stores the cached files when using ccache. + + +* +BR2_DL_DIR+ to override the directory in which + Buildroot stores/retrieves downloaded files + + + Note that the Buildroot download directory can also be set from the + configuration interface, so through the Buildroot +.config+ file. See + xref:download-location[] for more details on how you can set the download + directory. +* +BR2_GRAPH_ALT+, if set and non-empty, to use an alternate color-scheme in + build-time graphs +* +BR2_GRAPH_OUT+ to set the filetype of generated graphs, either +pdf+ (the + default), or +png+. +* +BR2_GRAPH_DEPS_OPTS+ to pass extra options to the dependency graph; see + xref:graph-depends[] for the accepted options +* +BR2_GRAPH_DOT_OPTS+ is passed verbatim as options to the +dot+ utility to + draw the dependency graph. + +An example that uses config files located in the toplevel directory and +in your $HOME: + +-------------------- + $ make UCLIBC_CONFIG_FILE=uClibc.config BUSYBOX_CONFIG_FILE=$HOME/bb.config +-------------------- + +If you want to use a compiler other than the default +gcc+ +or +g+++ for building helper-binaries on your host, then do + +-------------------- + $ make HOSTCXX=g++-4.3-HEAD HOSTCC=gcc-4.3-HEAD +-------------------- + +=== Dealing efficiently with filesystem images + +Filesystem images can get pretty big, depending on the filesystem you choose, +the number of packages, whether you provisioned free space... Yet, some +locations in the filesystems images may just be _empty_ (e.g. a long run of +'zeroes'); such a file is called a _sparse_ file. + +Most tools can handle sparse files efficiently, and will only store or write +those parts of a sparse file that are not empty. + +For example: + +* +tar+ accepts the +-S+ option to tell it to only store non-zero blocks + of sparse files: +** +tar cf archive.tar -S [files...]+ will efficiently store sparse files + in a tarball +** +tar xf archive.tar -S+ will efficiently store sparse files extracted + from a tarball + +* +cp+ accepts the +--sparse=WHEN+ option (+WHEN+ is one of +auto+, + +never+ or +always+): +** +cp --sparse=always source.file dest.file+ will make +dest.file+ a + sparse file if +source.file+ has long runs of zeroes + +Other tools may have similar options. Please consult their respective man +pages. + +You can use sparse files if you need to store the filesystem images (e.g. +to transfer from one machine to another), or if you need to send them (e.g. +to the Q&A team). + +Note however that flashing a filesystem image to a device while using the +sparse mode of +dd+ may result in a broken filesystem (e.g. the block bitmap +of an ext2 filesystem may be corrupted; or, if you have sparse files in +your filesystem, those parts may not be all-zeroes when read back). You +should only use sparse files when handling files on the build machine, not +when transferring them to an actual device that will be used on the target. + +=== Graphing the dependencies between packages + +[[graph-depends]] + +One of Buildroot's jobs is to know the dependencies between packages, +and make sure they are built in the right order. These dependencies +can sometimes be quite complicated, and for a given system, it is +often not easy to understand why such or such package was brought into +the build by Buildroot. + +In order to help understanding the dependencies, and therefore better +understand what is the role of the different components in your +embedded Linux system, Buildroot is capable of generating dependency +graphs. + +To generate a dependency graph of the full system you have compiled, +simply run: + +------------------------ +make graph-depends +------------------------ + +You will find the generated graph in ++output/graphs/graph-depends.pdf+. + +If your system is quite large, the dependency graph may be too complex +and difficult to read. It is therefore possible to generate the +dependency graph just for a given package: + +------------------------ +make -graph-depends +------------------------ + +You will find the generated graph in ++output/graph/-graph-depends.pdf+. + +Note that the dependency graphs are generated using the +dot+ tool +from the _Graphviz_ project, which you must have installed on your +system to use this feature. In most distributions, it is available as +the +graphviz+ package. + +By default, the dependency graphs are generated in the PDF +format. However, by passing the +BR2_GRAPH_OUT+ environment variable, you +can switch to other output formats, such as PNG, PostScript or +SVG. All formats supported by the +-T+ option of the +dot+ tool are +supported. + +-------------------------------- +BR2_GRAPH_OUT=svg make graph-depends +-------------------------------- + +The +graph-depends+ behaviour can be controlled by setting options in the ++BR2_GRAPH_DEPS_OPTS+ environment variable. The accepted options are: + +* +--depth N+, +-d N+, to limit the dependency depth to +N+ levels. The + default, +0+, means no limit. + +* +--stop-on PKG+, +-s PKG+, to stop the graph on the package +PKG+. + +PKG+ can be an actual package name, a glob, the keyword 'virtual' + (to stop on virtual packages), or the keyword 'host' (to stop on + host packages). The package is still present on the graph, but its + dependencies are not. + +* +--exclude PKG+, +-x PKG+, like +--stop-on+, but also omits +PKG+ from + the graph. + +* +--transitive+, +--no-transitive+, to draw (or not) the transitive + dependencies. The default is to not draw transitive dependencies. + +* +--colours R,T,H+, the comma-separated list of colours to draw the + root package (+R+), the target packages (+T+) and the host packages + (+H+). Defaults to: +lightblue,grey,gainsboro+ + +-------------------------------- +BR2_GRAPH_DEPS_OPTS='-d 3 --no-transitive --colours=red,green,blue' make graph-depends +-------------------------------- + +=== Graphing the build duration + +[[graph-duration]] + +When the build of a system takes a long time, it is sometimes useful +to be able to understand which packages are the longest to build, to +see if anything can be done to speed up the build. In order to help +such build time analysis, Buildroot collects the build time of each +step of each package, and allows to generate graphs from this data. + +To generate the build time graph after a build, run: + +---------------- +make graph-build +---------------- + +This will generate a set of files in +output/graphs+ : + +* +build.hist-build.pdf+, a histogram of the build time for each + package, ordered in the build order. + +* +build.hist-duration.pdf+, a histogram of the build time for each + package, ordered by duration (longest first) + +* +build.hist-name.pdf+, a histogram of the build time for each + package, order by package name. + +* +build.pie-packages.pdf+, a pie chart of the build time per package + +* +build.pie-steps.pdf+, a pie chart of the global time spent in each + step of the packages build process. + +This +graph-build+ target requires the Python Matplotlib and Numpy +libraries to be installed (+python-matplotlib+ and +python-numpy+ on +most distributions), and also the +argparse+ module if you're using a +Python version older than 2.7 (+python-argparse+ on most +distributions). + +By default, the output format for the graph is PDF, but a different +format can be selected using the +BR2_GRAPH_OUT+ environment variable. The +only other format supported is PNG: + +---------------- +BR2_GRAPH_OUT=png make graph-build +---------------- + +=== Graphing the filesystem size contribution of packages + +When your target system grows, it is sometimes useful to understand +how much each Buildroot package is contributing to the overall root +filesystem size. To help with such an analysis, Buildroot collects +data about files installed by each package and using this data, +generates a graph and CSV files detailing the size contribution of +the different packages. + +To generate these data after a build, run: + +---------------- +make graph-size +---------------- + +This will generate: + +* +output/graphs/graph-size.pdf+, a pie chart of the contribution of + each package to the overall root filesystem size + +* +output/graphs/package-size-stats.csv+, a CSV file giving the size + contribution of each package to the overall root filesystem size + +* +output/graphs/file-size-stats.csv+, a CSV file giving the size + contribution of each installed file to the package it belongs, and + to the overall filesystem size. + +This +graph-size+ target requires the Python Matplotlib library to be +installed (+python-matplotlib+ on most distributions), and also the ++argparse+ module if you're using a Python version older than 2.7 +(+python-argparse+ on most distributions). + +Just like for the duration graph, a +BR2_GRAPH_OUT+ environment is +supported to adjust the output file format. See xref:graph-depends[] +for details about this environment variable. + +.Note +The collected filesystem size data is only meaningful after a complete +clean rebuild. Be sure to run +make clean all+ before using +make +graph-size+. + +To compare the root filesystem size of two different Buildroot compilations, +for example after adjusting the configuration or when switching to another +Buildroot release, use the +size-stats-compare+ script. It takes two ++file-size-stats.csv+ files (produced by +make graph-size+) as input. +Refer to the help text of this script for more details: + +---------------- +utils/size-stats-compare -h +---------------- + +include::eclipse-integration.txt[] + +include::advanced.txt[] diff --git a/docs/manual/configure-other-components.txt b/docs/manual/configure-other-components.txt new file mode 100644 index 0000000000..60a80f0a48 --- /dev/null +++ b/docs/manual/configure-other-components.txt @@ -0,0 +1,60 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +== Configuration of other components + +Before attempting to modify any of the components below, make sure you +have already configured Buildroot itself, and have enabled the +corresponding package. + +BusyBox:: ++ +If you already have a BusyBox configuration file, you can directly +specify this file in the Buildroot configuration, using ++BR2_PACKAGE_BUSYBOX_CONFIG+. Otherwise, Buildroot will start from a +default BusyBox configuration file. ++ +To make subsequent changes to the configuration, use +make +busybox-menuconfig+ to open the BusyBox configuration editor. ++ +It is also possible to specify a BusyBox configuration file through an +environment variable, although this is not recommended. Refer to +xref:env-vars[] for more details. + +uClibc:: ++ +Configuration of uClibc is done in the same way as for BusyBox. The +configuration variable to specify an existing configuration file is ++BR2_UCLIBC_CONFIG+. The command to make subsequent changes is +make +uclibc-menuconfig+. + +Linux kernel:: ++ +If you already have a kernel configuration file, you can directly +specify this file in the Buildroot configuration, using ++BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG+. ++ +If you do not yet have a kernel configuration file, you can either start +by specifying a defconfig in the Buildroot configuration, using ++BR2_LINUX_KERNEL_USE_DEFCONFIG+, or start by creating an empty file and +specifying it as custom configuration file, using ++BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG+. ++ +To make subsequent changes to the configuration, use +make +linux-menuconfig+ to open the Linux configuration editor. + +Barebox:: ++ +Configuration of Barebox is done in the same way as for the Linux +kernel. The corresponding configuration variables are ++BR2_TARGET_BAREBOX_USE_CUSTOM_CONFIG+ and ++BR2_TARGET_BAREBOX_USE_DEFCONFIG+. To open the configuration editor, +use +make barebox-menuconfig+. + +U-Boot:: ++ +Configuration of U-Boot (version 2015.04 or newer) is done in the same +way as for the Linux kernel. The corresponding configuration variables +are +BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG+ and ++BR2_TARGET_UBOOT_USE_DEFCONFIG+. To open the configuration editor, +use +make uboot-menuconfig+. diff --git a/docs/manual/configure.txt b/docs/manual/configure.txt new file mode 100644 index 0000000000..008813c9b4 --- /dev/null +++ b/docs/manual/configure.txt @@ -0,0 +1,384 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[configure]] +== Buildroot configuration + +All the configuration options in +make *config+ have a help text +providing details about the option. + +The +make *config+ commands also offer a search tool. Read the help +message in the different frontend menus to know how to use it: + +* in _menuconfig_, the search tool is called by pressing +/+; +* in _xconfig_, the search tool is called by pressing +Ctrl+ + +f+. + +The result of the search shows the help message of the matching items. +In _menuconfig_, numbers in the left column provide a shortcut to the +corresponding entry. Just type this number to directly jump to the +entry, or to the containing menu in case the entry is not selectable due +to a missing dependency. + +Although the menu structure and the help text of the entries should be +sufficiently self-explanatory, a number of topics require additional +explanation that cannot easily be covered in the help text and are +therefore covered in the following sections. + +=== Cross-compilation toolchain + +A compilation toolchain is the set of tools that allows you to compile +code for your system. It consists of a compiler (in our case, +gcc+), +binary utils like assembler and linker (in our case, +binutils+) and a +C standard library (for example +http://www.gnu.org/software/libc/libc.html[GNU Libc], +http://www.uclibc-ng.org/[uClibc-ng]). + +The system installed on your development station certainly already has +a compilation toolchain that you can use to compile an application +that runs on your system. If you're using a PC, your compilation +toolchain runs on an x86 processor and generates code for an x86 +processor. Under most Linux systems, the compilation toolchain uses +the GNU libc (glibc) as the C standard library. This compilation +toolchain is called the "host compilation toolchain". The machine on +which it is running, and on which you're working, is called the "host +system" footnote:[This terminology differs from what is used by GNU +configure, where the host is the machine on which the application will +run (which is usually the same as target)]. + +The compilation toolchain is provided by your distribution, and +Buildroot has nothing to do with it (other than using it to build a +cross-compilation toolchain and other tools that are run on the +development host). + +As said above, the compilation toolchain that comes with your system +runs on and generates code for the processor in your host system. As +your embedded system has a different processor, you need a +cross-compilation toolchain - a compilation toolchain that runs on +your _host system_ but generates code for your _target system_ (and +target processor). For example, if your host system uses x86 and your +target system uses ARM, the regular compilation toolchain on your host +runs on x86 and generates code for x86, while the cross-compilation +toolchain runs on x86 and generates code for ARM. + +Buildroot provides two solutions for the cross-compilation toolchain: + + * The *internal toolchain backend*, called +Buildroot toolchain+ in + the configuration interface. + + * The *external toolchain backend*, called +External toolchain+ in + the configuration interface. + +The choice between these two solutions is done using the +Toolchain +Type+ option in the +Toolchain+ menu. Once one solution has been +chosen, a number of configuration options appear, they are detailed in +the following sections. + +[[internal-toolchain-backend]] +==== Internal toolchain backend + +The _internal toolchain backend_ is the backend where Buildroot builds +by itself a cross-compilation toolchain, before building the userspace +applications and libraries for your target embedded system. + +This backend supports several C libraries: +http://www.uclibc-ng.org[uClibc-ng], +http://www.gnu.org/software/libc/libc.html[glibc] and +http://www.musl-libc.org[musl]. + +Once you have selected this backend, a number of options appear. The +most important ones allow to: + + * Change the version of the Linux kernel headers used to build the + toolchain. This item deserves a few explanations. In the process of + building a cross-compilation toolchain, the C library is being + built. This library provides the interface between userspace + applications and the Linux kernel. In order to know how to "talk" + to the Linux kernel, the C library needs to have access to the + _Linux kernel headers_ (i.e. the +.h+ files from the kernel), which + define the interface between userspace and the kernel (system + calls, data structures, etc.). Since this interface is backward + compatible, the version of the Linux kernel headers used to build + your toolchain do not need to match _exactly_ the version of the + Linux kernel you intend to run on your embedded system. They only + need to have a version equal or older to the version of the Linux + kernel you intend to run. If you use kernel headers that are more + recent than the Linux kernel you run on your embedded system, then + the C library might be using interfaces that are not provided by + your Linux kernel. + + * Change the version of the GCC compiler, binutils and the C library. + + * Select a number of toolchain options (uClibc only): whether the + toolchain should have RPC support (used mainly for NFS), + wide-char support, locale support (for internationalization), + C++ support or thread support. Depending on which options you choose, + the number of userspace applications and libraries visible in + Buildroot menus will change: many applications and libraries require + certain toolchain options to be enabled. Most packages show a comment + when a certain toolchain option is required to be able to enable + those packages. If needed, you can further refine the uClibc + configuration by running +make uclibc-menuconfig+. Note however that + all packages in Buildroot are tested against the default uClibc + configuration bundled in Buildroot: if you deviate from this + configuration by removing features from uClibc, some packages may no + longer build. + +It is worth noting that whenever one of those options is modified, +then the entire toolchain and system must be rebuilt. See +xref:full-rebuild[]. + +Advantages of this backend: + +* Well integrated with Buildroot +* Fast, only builds what's necessary + +Drawbacks of this backend: + +* Rebuilding the toolchain is needed when doing +make clean+, which + takes time. If you're trying to reduce your build time, consider + using the _External toolchain backend_. + +[[external-toolchain-backend]] +==== External toolchain backend + +The _external toolchain backend_ allows to use existing pre-built +cross-compilation toolchains. Buildroot knows about a number of +well-known cross-compilation toolchains (from +http://www.linaro.org[Linaro] for ARM, +http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/[Sourcery +CodeBench] for ARM, x86-64, PowerPC, and MIPS, and is capable of +downloading them automatically, or it can be pointed to a custom +toolchain, either available for download or installed locally. + +Then, you have three solutions to use an external toolchain: + +* Use a predefined external toolchain profile, and let Buildroot + download, extract and install the toolchain. Buildroot already knows + about a few CodeSourcery and Linaro toolchains. Just select the + toolchain profile in +Toolchain+ from the available ones. This is + definitely the easiest solution. + +* Use a predefined external toolchain profile, but instead of having + Buildroot download and extract the toolchain, you can tell Buildroot + where your toolchain is already installed on your system. Just + select the toolchain profile in +Toolchain+ through the available + ones, unselect +Download toolchain automatically+, and fill the + +Toolchain path+ text entry with the path to your cross-compiling + toolchain. + +* Use a completely custom external toolchain. This is particularly + useful for toolchains generated using crosstool-NG or with Buildroot + itself. To do this, select the +Custom toolchain+ solution in the + +Toolchain+ list. You need to fill the +Toolchain path+, +Toolchain + prefix+ and +External toolchain C library+ options. Then, you have + to tell Buildroot what your external toolchain supports. If your + external toolchain uses the 'glibc' library, you only have to tell + whether your toolchain supports C\++ or not and whether it has + built-in RPC support. If your external toolchain uses the 'uClibc' + library, then you have to tell Buildroot if it supports RPC, + wide-char, locale, program invocation, threads and C++. + At the beginning of the execution, Buildroot will tell you if + the selected options do not match the toolchain configuration. + +Our external toolchain support has been tested with toolchains from +CodeSourcery and Linaro, toolchains generated by +http://crosstool-ng.org[crosstool-NG], and toolchains generated by +Buildroot itself. In general, all toolchains that support the +'sysroot' feature should work. If not, do not hesitate to contact the +developers. + +We do not support toolchains or SDK generated by OpenEmbedded or +Yocto, because these toolchains are not pure toolchains (i.e. just the +compiler, binutils, the C and C++ libraries). Instead these toolchains +come with a very large set of pre-compiled libraries and +programs. Therefore, Buildroot cannot import the 'sysroot' of the +toolchain, as it would contain hundreds of megabytes of pre-compiled +libraries that are normally built by Buildroot. + +We also do not support using the distribution toolchain (i.e. the +gcc/binutils/C library installed by your distribution) as the +toolchain to build software for the target. This is because your +distribution toolchain is not a "pure" toolchain (i.e. only with the +C/C++ library), so we cannot import it properly into the Buildroot +build environment. So even if you are building a system for a x86 or +x86_64 target, you have to generate a cross-compilation toolchain with +Buildroot or crosstool-NG. + +If you want to generate a custom toolchain for your project, that can +be used as an external toolchain in Buildroot, our recommendation is +definitely to build it with http://crosstool-ng.org[crosstool-NG]. We +recommend to build the toolchain separately from Buildroot, and then +_import_ it in Buildroot using the external toolchain backend. + +Advantages of this backend: + +* Allows to use well-known and well-tested cross-compilation + toolchains. + +* Avoids the build time of the cross-compilation toolchain, which is + often very significant in the overall build time of an embedded + Linux system. + +Drawbacks of this backend: + +* If your pre-built external toolchain has a bug, may be hard to get a + fix from the toolchain vendor, unless you build your external + toolchain by yourself using Crosstool-NG. + +===== External toolchain wrapper + +When using an external toolchain, Buildroot generates a wrapper program, +that transparently passes the appropriate options (according to the +configuration) to the external toolchain programs. In case you need to +debug this wrapper to check exactly what arguments are passed, you can +set the environment variable +BR2_DEBUG_WRAPPER+ to either one of: + +* +0+, empty or not set: no debug + +* +1+: trace all arguments on a single line + +* +2+: trace one argument per line + +=== /dev management + +On a Linux system, the +/dev+ directory contains special files, called +_device files_, that allow userspace applications to access the +hardware devices managed by the Linux kernel. Without these _device +files_, your userspace applications would not be able to use the +hardware devices, even if they are properly recognized by the Linux +kernel. + +Under +System configuration+, +/dev management+, Buildroot offers four +different solutions to handle the +/dev+ directory : + + * The first solution is *Static using device table*. This is the old + classical way of handling device files in Linux. With this method, + the device files are persistently stored in the root filesystem + (i.e. they persist across reboots), and there is nothing that will + automatically create and remove those device files when hardware + devices are added or removed from the system. Buildroot therefore + creates a standard set of device files using a _device table_, the + default one being stored in +system/device_table_dev.txt+ in the + Buildroot source code. This file is processed when Buildroot + generates the final root filesystem image, and the _device files_ + are therefore not visible in the +output/target+ directory. The + +BR2_ROOTFS_STATIC_DEVICE_TABLE+ option allows to change the + default device table used by Buildroot, or to add an additional + device table, so that additional _device files_ are created by + Buildroot during the build. So, if you use this method, and a + _device file_ is missing in your system, you can for example create + a +board///device_table_dev.txt+ file + that contains the description of your additional _device files_, + and then you can set +BR2_ROOTFS_STATIC_DEVICE_TABLE+ to + +system/device_table_dev.txt + board///device_table_dev.txt+. For more + details about the format of the device table file, see + xref:makedev-syntax[]. + + * The second solution is *Dynamic using devtmpfs only*. _devtmpfs_ is + a virtual filesystem inside the Linux kernel that has been + introduced in kernel 2.6.32 (if you use an older kernel, it is not + possible to use this option). When mounted in +/dev+, this virtual + filesystem will automatically make _device files_ appear and + disappear as hardware devices are added and removed from the + system. This filesystem is not persistent across reboots: it is + filled dynamically by the kernel. Using _devtmpfs_ requires the + following kernel configuration options to be enabled: + +CONFIG_DEVTMPFS+ and +CONFIG_DEVTMPFS_MOUNT+. When Buildroot is in + charge of building the Linux kernel for your embedded device, it + makes sure that those two options are enabled. However, if you + build your Linux kernel outside of Buildroot, then it is your + responsibility to enable those two options (if you fail to do so, + your Buildroot system will not boot). + + * The third solution is *Dynamic using devtmpfs + mdev*. This method + also relies on the _devtmpfs_ virtual filesystem detailed above (so + the requirement to have +CONFIG_DEVTMPFS+ and + +CONFIG_DEVTMPFS_MOUNT+ enabled in the kernel configuration still + apply), but adds the +mdev+ userspace utility on top of it. +mdev+ + is a program part of BusyBox that the kernel will call every time a + device is added or removed. Thanks to the +/etc/mdev.conf+ + configuration file, +mdev+ can be configured to for example, set + specific permissions or ownership on a device file, call a script + or application whenever a device appears or disappear, + etc. Basically, it allows _userspace_ to react on device addition + and removal events. +mdev+ can for example be used to automatically + load kernel modules when devices appear on the system. +mdev+ is + also important if you have devices that require a firmware, as it + will be responsible for pushing the firmware contents to the + kernel. +mdev+ is a lightweight implementation (with fewer + features) of +udev+. For more details about +mdev+ and the syntax + of its configuration file, see + http://git.busybox.net/busybox/tree/docs/mdev.txt. + + * The fourth solution is *Dynamic using devtmpfs + eudev*. This + method also relies on the _devtmpfs_ virtual filesystem detailed + above, but adds the +eudev+ userspace daemon on top of it. +eudev+ + is a daemon that runs in the background, and gets called by the + kernel when a device gets added or removed from the system. It is a + more heavyweight solution than +mdev+, but provides higher + flexibility. +eudev+ is a standalone version of +udev+, the + original userspace daemon used in most desktop Linux distributions, + which is now part of Systemd. For more details, see + http://en.wikipedia.org/wiki/Udev. + +The Buildroot developers recommendation is to start with the *Dynamic +using devtmpfs only* solution, until you have the need for userspace +to be notified when devices are added/removed, or if firmwares are +needed, in which case *Dynamic using devtmpfs + mdev* is usually a +good solution. + +Note that if +systemd+ is chosen as init system, /dev management will +be performed by the +udev+ program provided by +systemd+. + +=== init system + +The _init_ program is the first userspace program started by the +kernel (it carries the PID number 1), and is responsible for starting +the userspace services and programs (for example: web server, +graphical applications, other network servers, etc.). + +Buildroot allows to use three different types of init systems, which +can be chosen from +System configuration+, +Init system+: + + * The first solution is *BusyBox*. Amongst many programs, BusyBox has + an implementation of a basic +init+ program, which is sufficient + for most embedded systems. Enabling the +BR2_INIT_BUSYBOX+ will + ensure BusyBox will build and install its +init+ program. This is + the default solution in Buildroot. The BusyBox +init+ program will + read the +/etc/inittab+ file at boot to know what to do. The syntax + of this file can be found in + http://git.busybox.net/busybox/tree/examples/inittab (note that + BusyBox +inittab+ syntax is special: do not use a random +inittab+ + documentation from the Internet to learn about BusyBox + +inittab+). The default +inittab+ in Buildroot is stored in + +system/skeleton/etc/inittab+. Apart from mounting a few important + filesystems, the main job the default inittab does is to start the + +/etc/init.d/rcS+ shell script, and start a +getty+ program (which + provides a login prompt). + + * The second solution is *systemV*. This solution uses the old + traditional _sysvinit_ program, packed in Buildroot in + +package/sysvinit+. This was the solution used in most desktop + Linux distributions, until they switched to more recent + alternatives such as Upstart or Systemd. +sysvinit+ also works with + an +inittab+ file (which has a slightly different syntax than the + one from BusyBox). The default +inittab+ installed with this init + solution is located in +package/sysvinit/inittab+. + + * The third solution is *systemd*. +systemd+ is the new generation + init system for Linux. It does far more than traditional _init_ + programs: aggressive parallelization capabilities, uses socket and + D-Bus activation for starting services, offers on-demand starting + of daemons, keeps track of processes using Linux control groups, + supports snapshotting and restoring of the system state, + etc. +systemd+ will be useful on relatively complex embedded + systems, for example the ones requiring D-Bus and services + communicating between each other. It is worth noting that +systemd+ + brings a fairly big number of large dependencies: +dbus+, +udev+ + and more. For more details about +systemd+, see + http://www.freedesktop.org/wiki/Software/systemd. + +The solution recommended by Buildroot developers is to use the +*BusyBox init* as it is sufficient for most embedded +systems. *systemd* can be used for more complex situations. diff --git a/docs/manual/contribute.txt b/docs/manual/contribute.txt new file mode 100644 index 0000000000..8bbc2b9eb7 --- /dev/null +++ b/docs/manual/contribute.txt @@ -0,0 +1,448 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +== Contributing to Buildroot + +There are many ways in which you can contribute to Buildroot: analyzing +and fixing bugs, analyzing and fixing package build failures detected by +the autobuilders, testing and reviewing patches sent by other +developers, working on the items in our TODO list and sending your own +improvements to Buildroot or its manual. The following sections give a +little more detail on each of these items. + +If you are interested in contributing to Buildroot, the first thing you +should do is to subscribe to the Buildroot mailing list. This list is +the main way of interacting with other Buildroot developers and to send +contributions to. If you aren't subscribed yet, then refer to +xref:community-resources[] for the subscription link. + +If you are going to touch the code, it is highly recommended to use a +git repository of Buildroot, rather than starting from an extracted +source code tarball. Git is the easiest way to develop from and directly +send your patches to the mailing list. Refer to xref:getting-buildroot[] +for more information on obtaining a Buildroot git tree. + +=== Reproducing, analyzing and fixing bugs + +A first way of contributing is to have a look at the open bug reports in +the https://bugs.buildroot.org/buglist.cgi?product=buildroot[Buildroot bug +tracker]. As we strive to keep the bug count as small as possible, all +help in reproducing, analyzing and fixing reported bugs is more than +welcome. Don't hesitate to add a comment to bug reports reporting your +findings, even if you don't yet see the full picture. + +=== Analyzing and fixing autobuild failures + +The Buildroot autobuilders are a set of build machines that continuously +run Buildroot builds based on random configurations. This is done for +all architectures supported by Buildroot, with various toolchains, and +with a random selection of packages. With the large commit activity on +Buildroot, these autobuilders are a great help in detecting problems +very early after commit. + +All build results are available at http://autobuild.buildroot.org[], +statistics are at http://autobuild.buildroot.org/stats.php[]. Every day, +an overview of all failed packages is sent to the mailing list. + +Detecting problems is great, but obviously these problems have to be +fixed as well. Your contribution is very welcome here! There are +basically two things that can be done: + +- Analyzing the problems. The daily summary mails do not contain details + about the actual failures: in order to see what's going on you have to + open the build log and check the last output. Having someone doing + this for all packages in the mail is very useful for other developers, + as they can make a quick initial analysis based on this output alone. + +- Fixing a problem. When fixing autobuild failures, you should follow + these steps: + . Check if you can reproduce the problem by building with the same + configuration. You can do this manually, or use the + http://git.buildroot.org/buildroot-test/tree/utils/br-reproduce-build[br-reproduce-build] + script that will automatically clone a Buildroot git repository, + checkout the correct revision, download and set the right + configuration, and start the build. + . Analyze the problem and create a fix. + . Verify that the problem is really fixed by starting from a clean + Buildroot tree and only applying your fix. + . Send the fix to the Buildroot mailing list (see + xref:submitting-patches[]). In case you created a patch against the + package sources, you should also send the patch upstream so that the + problem will be fixed in a later release, and the patch in Buildroot + can be removed. + In the commit message of a patch fixing an autobuild failure, add a + reference to the build result directory, as follows: +--------------------- +Fixes http://autobuild.buildroot.org/results/51000a9d4656afe9e0ea6f07b9f8ed374c2e4069 +--------------------- + +=== Reviewing and testing patches + +With the amount of patches sent to the mailing list each day, the +maintainer has a very hard job to judge which patches are ready to apply +and which ones aren't. Contributors can greatly help here by reviewing +and testing these patches. + +In the review process, do not hesitate to respond to patch submissions +for remarks, suggestions or anything that will help everyone to +understand the patches and make them better. Please use internet +style replies in plain text emails when responding to patch +submissions. + +To indicate approval of a patch, there are three formal tags that keep +track of this approval. To add your tag to a patch, reply to it with the +approval tag below the original author's Signed-off-by line. These tags +will be picked up automatically by patchwork (see +xref:apply-patches-patchwork[]) and will be part of the commit log when +the patch is accepted. + +Tested-by:: Indicates that the patch has been tested successfully. + You are encouraged to specify what kind of testing you performed + (compile-test on architecture X and Y, runtime test on target A, + ...). This additional information helps other testers and the + maintainer. + +Reviewed-by:: Indicates that you code-reviewed the patch and did your + best in spotting problems, but you are not sufficiently familiar with + the area touched to provide an Acked-by tag. This means that there + may be remaining problems in the patch that would be spotted by + someone with more experience in that area. Should such problems be + detected, your Reviewed-by tag remains appropriate and you cannot + be blamed. + +Acked-by:: Indicates that you code-reviewed the patch and you are + familiar enough with the area touched to feel that the patch can be + committed as-is (no additional changes required). In case it later + turns out that something is wrong with the patch, your Acked-by could + be considered inappropriate. The difference between Acked-by and + Reviewed-by is thus mainly that you are prepared to take the blame on + Acked patches, but not on Reviewed ones. + +If you reviewed a patch and have comments on it, you should simply reply +to the patch stating these comments, without providing a Reviewed-by or +Acked-by tag. These tags should only be provided if you judge the patch +to be good as it is. + +It is important to note that neither Reviewed-by nor Acked-by imply +that testing has been performed. To indicate that you both reviewed and +tested the patch, provide two separate tags (Reviewed/Acked-by and +Tested-by). + +Note also that _any developer_ can provide Tested/Reviewed/Acked-by +tags, without exception, and we encourage everyone to do this. Buildroot +does not have a defined group of _core_ developers, it just so happens +that some developers are more active than others. The maintainer will +value tags according to the track record of their submitter. Tags +provided by a regular contributor will naturally be trusted more than +tags provided by a newcomer. As you provide tags more regularly, your +'trustworthiness' (in the eyes of the maintainer) will go up, but _any_ +tag provided is valuable. + +Buildroot's Patchwork website can be used to pull in patches for testing +purposes. Please see xref:apply-patches-patchwork[] for more +information on using Buildroot's Patchwork website to apply patches. + +[[apply-patches-patchwork]] +==== Applying Patches from Patchwork + +The main use of Buildroot's Patchwork website for a developer is for +pulling in patches into their local git repository for testing +purposes. + +When browsing patches in the patchwork management interface, an +mbox+ +link is provided at the top of the page. Copy this link address and +run the following commands: + +--------------------- +$ git checkout -b +$ wget -O - | git am +--------------------- + +Another option for applying patches is to create a bundle. A bundle is +a set of patches that you can group together using the patchwork +interface. Once the bundle is created and the bundle is made public, +you can copy the +mbox+ link for the bundle and apply the bundle +using the above commands. + + +=== Work on items from the TODO list + +If you want to contribute to Buildroot but don't know where to start, +and you don't like any of the above topics, you can always work on items +from the http://elinux.org/Buildroot#Todo_list[Buildroot TODO list]. +Don't hesitate to discuss an item first on the mailing list or on IRC. +Do edit the wiki to indicate when you start working on an item, so we +avoid duplicate efforts. + +[[submitting-patches]] +=== Submitting patches + +[NOTE] +_Please, do not attach patches to bugs, send them to the mailing list +instead_. + +If you made some changes to Buildroot and you would like to contribute +them to the Buildroot project, proceed as follows. + +==== The formatting of a patch + +We expect patches to be formatted in a specific way. This is necessary +to make it easy to review patches, to be able to apply them easily to +the git repository, to make it easy to find back in the history how +and why things have changed, and to make it possible to use +git +bisect+ to locate the origin of a problem. + +First of all, it is essential that the patch has a good commit +message. The commit message should start with a separate line with a +brief summary of the change, starting with the name of the affected +package. The body of the commit message should describe _why_ this +change is needed, and if necessary also give details about _how_ it +was done. When writing the commit message, think of how the reviewers +will read it, but also think about how you will read it when you look +at this change again a few years down the line. + +Second, the patch itself should do only one change, but do it +completely. Two unrelated or weakly related changes should usually be +done in two separate patches. This usually means that a patch affects +only a single package. If several changes are related, it is often +still possible to split them up in small patches and apply them in a +specific order. Small patches make it easier to review, and often +make it easier to understand afterwards why a change was done. +However, each patch must be complete. It is not allowed that the +build is broken when only the first but not the second patch is +applied. This is necessary to be able to use +git bisect+ afterwards. + +Of course, while you're doing your development, you're probably going +back and forth between packages, and certainly not committing things +immediately in a way that is clean enough for submission. So most +developers rewrite the history of commits to produce a clean set of +commits that is appropriate for submission. To do this, you need to +use _interactive rebasing_. You can learn about it +https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History[in the Pro +Git book]. Sometimes, it is even easier to discard you history with ++git reset --soft origin/master+ and select individual changes with ++git add -i+ or +git add -p+. + +Finally, the patch should be signed off. This is done by adding ++Signed-off-by: Your Real Name + at the end of the +commit message. +git commit -s+ does that for you, if configured +properly. The +Signed-off-by+ tag means that you publish the patch +under the Buildroot license (i.e. GPL-2.0+, except for package patches, +which have the upstream license), and that you are allowed to do so. +See http://developercertificate.org/[the Developer Certificate of +Origin] for details. + +When adding new packages, you should submit every package in a +separate patch. This patch should have the update to ++package/Config.in+, the package +Config.in+ file, the +.mk+ file, the ++.hash+ file, any init script, and all package patches. If the package +has many sub-options, these are sometimes better added as separate +follow-up patches. The summary line should be something like ++: new package+. The body of the commit message can be +empty for simple packages, or it can contain the description of the +package (like the Config.in help text). If anything special has to be +done to build the package, this should also be explained explicitly in +the commit message body. + +When you bump a package to a new version, you should also submit a +separate patch for each package. Don't forget to update the +.hash+ +file, or add it if it doesn't exist yet. Also don't forget to check if +the +_LICENSE+ and +_LICENSE_FILES+ are still valid. The summary line +should be something like +: bump to version +. If the new version only contains security updates compared +to the existing one, the summary should be +: security +bump to version + and the commit message body should show +the CVE numbers that are fixed. If some package patches can be removed +in the new version, it should be explained explicitly why they can be +removed, preferably with the upstream commit ID. Also any other +required changes should be explained explicitly, like configure +options that no longer exist or are no longer needed. + +If you are interested in getting notified of build failures and of +further changes in the packages you added or modified, please add +yourself to the DEVELOPERS file. This should be done in the same patch +creating or modifying the package. See xref:DEVELOPERS[the DEVELOPERS file] +for more information. + +==== Preparing a patch series + +Starting from the changes committed in your local git view, _rebase_ +your development branch on top of the upstream tree before generating +a patch set. To do so, run: + +--------------------- +$ git fetch --all --tags +$ git rebase origin/master +--------------------- + +Now, you are ready to generate then submit your patch set. + +To generate it, run: + +--------------------- +$ git format-patch -M -n -s -o outgoing origin/master +--------------------- + +This will generate patch files in the +outgoing+ subdirectory, +automatically adding the +Signed-off-by+ line. + +Once patch files are generated, you can review/edit the commit message +before submitting them, using your favorite text editor. + +Buildroot provides a handy tool to know to whom your patches should be +sent, called +get-developers+ (see xref:DEVELOPERS[] for more +information). This tool reads your patches and outputs the appropriate ++git send-email+ command to use: + +--------------------- +$ ./utils/get-developers outgoing/* +--------------------- + +Use the output of +get-developers+ to send your patches: + +--------------------- +$ git send-email --to buildroot@buildroot.org --cc bob --cc alice outgoing/* +--------------------- + +Note that +git+ should be configured to use your mail account. +To configure +git+, see +man git-send-email+ or google it. + +If you do not use +git send-email+, make sure posted *patches are not +line-wrapped*, otherwise they cannot easily be applied. In such a case, +fix your e-mail client, or better yet, learn to use +git send-email+. + +==== Cover letter + +If you want to present the whole patch set in a separate mail, add ++--cover-letter+ to the +git format-patch+ command (see +man +git-format-patch+ for further information). This will generate a +template for an introduction e-mail to your patch series. + +A 'cover letter' may be useful to introduce the changes you propose +in the following cases: + +* large number of commits in the series; + +* deep impact of the changes in the rest of the project; + +* RFC footnote:[RFC: (Request for comments) change proposal]; + +* whenever you feel it will help presenting your work, your choices, + the review process, etc. + +==== Patch revision changelog + +When improvements are requested, the new revision of each commit +should include a changelog of the modifications between each +submission. Note that when your patch series is introduced by a cover +letter, an overall changelog may be added to the cover letter in +addition to the changelog in the individual commits. +The best thing to rework a patch series is by interactive rebasing: ++git rebase -i origin/master+. Consult the git manual for more +information. + +When added to the individual commits, this changelog is added when +editing the commit message. Below the +Signed-off-by+ section, add ++---+ and your changelog. + +Although the changelog will be visible for the reviewers in the mail +thread, as well as in http://patchwork.buildroot.org[patchwork], +git+ +will automatically ignores lines below +---+ when the patch will be +merged. This is the intended behavior: the changelog is not meant to +be preserved forever in the +git+ history of the project. + +Hereafter the recommended layout: + +--------------- +Patch title: short explanation, max 72 chars + +A paragraph that explains the problem, and how it manifests itself. If +the problem is complex, it is OK to add more paragraphs. All paragraphs +should be wrapped at 72 characters. + +A paragraph that explains the root cause of the problem. Again, more +than on paragraph is OK. + +Finally, one or more paragraphs that explain how the problem is solved. +Don't hesitate to explain complex solutions in detail. + +Signed-off-by: John DOE + +--- +Changes v2 -> v3: + - foo bar (suggested by Jane) + - bar buz + +Changes v1 -> v2: + - alpha bravo (suggested by John) + - charly delta +--------------- + +Any patch revision should include the version number. The version number +is simply composed of the letter +v+ followed by an +integer+ greater or +equal to two (i.e. "PATCH v2", "PATCH v3" ...). + +This can be easily handled with +git format-patch+ by using the option ++--subject-prefix+: + +--------------------- +$ git format-patch --subject-prefix "PATCH v4" \ + -M -s -o outgoing origin/master +--------------------- + +Since git version 1.8.1, you can also use +-v + (where is the +version number): + +--------------------- +$ git format-patch -v4 -M -s -o outgoing origin/master +--------------------- + +When you provide a new version of a patch, please mark the old one as +superseded in http://patchwork.buildroot.org[patchwork]. You need to +create an account on http://patchwork.buildroot.org[patchwork] to be +able to modify the status of your patches. Note that you can only change +the status of patches you submitted yourself, which means the email +address you register in http://patchwork.buildroot.org[patchwork] should +match the one you use for sending patches to the mailing list. + +You can also add the +--in-reply-to + option when +submitting a patch to the mailing list. The id of the mail to reply to +can be found under the "Message Id" tag on +http://patchwork.buildroot.org[patchwork]. The advantage of +*in-reply-to* is that patchwork will automatically mark the previous +version of the patch as superseded. + +[[reporting-bugs]] +=== Reporting issues/bugs or getting help + +Before reporting any issue, please check in +xref:community-resources[the mailing list archive] whether someone has +already reported and/or fixed a similar problem. + +However you choose to report bugs or get help, either by +opening a bug in the xref:community-resources[bug tracker] or by +xref:community-resources[sending a mail to the mailing list], there are +a number of details to provide in order to help people reproduce and +find a solution to the issue. + +Try to think as if you were trying to help someone else; in +that case, what would you need? + +Here is a short list of details to provide in such case: + +* host machine (OS/release) +* version of Buildroot +* target for which the build fails +* package(s) for which the build fails +* the command that fails and its output +* any information you think that may be relevant + +Additionally, you should add the +.config+ file (or if you know how, a ++defconfig+; see xref:customize-store-buildroot-config[]). + +If some of these details are too large, do not hesitate to use a +pastebin service. Note that not all available pastebin services will +preserve Unix-style line terminators when downloading raw pastes. +Following pastebin services are known to work correctly: +- https://gist.github.com/ +- http://code.bulix.org/ diff --git a/docs/manual/customize-configuration.txt b/docs/manual/customize-configuration.txt new file mode 100644 index 0000000000..ae6cebe6c4 --- /dev/null +++ b/docs/manual/customize-configuration.txt @@ -0,0 +1,64 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[customize-store-buildroot-config]] +=== Storing the Buildroot configuration + +The Buildroot configuration can be stored using the command + +make savedefconfig+. + +This strips the Buildroot configuration down by removing configuration +options that are at their default value. The result is stored in a file +called +defconfig+. If you want to save it in another place, change the ++BR2_DEFCONFIG+ option in the Buildroot configuration itself, or call +make with +make savedefconfig BR2_DEFCONFIG=+. + +The recommended place to store this defconfig is ++configs/_defconfig+. If you follow this recommendation, the +configuration will be listed in +make help+ and can be set again by +running +make _defconfig+. + +Alternatively, you can copy the file to any other place and rebuild with ++make defconfig BR2_DEFCONFIG=+. + +[[customize-store-package-config]] +=== Storing the configuration of other components + +The configuration files for BusyBox, the Linux kernel, Barebox, U-Boot +and uClibc should be stored as well if changed. For each of these +components, a Buildroot configuration option exists to point to an input +configuration file, e.g. +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+. To store +their configuration, set these configuration options to a path where you +want to save the configuration files, and then use the helper targets +described below to actually store the configuration. + +As explained in xref:customize-dir-structure[], the recommended path to +store these configuration files is ++board///foo.config+. + +Make sure that you create a configuration file 'before' changing +the +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+ etc. options. Otherwise, +Buildroot will try to access this config file, which doesn't exist +yet, and will fail. You can create the configuration file by running ++make linux-menuconfig+ etc. + +Buildroot provides a few helper targets to make the saving of +configuration files easier. + +* +make linux-update-defconfig+ saves the linux configuration to the + path specified by +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+. It + simplifies the config file by removing default values. However, + this only works with kernels starting from 2.6.33. For earlier + kernels, use +make linux-update-config+. +* +make busybox-update-config+ saves the busybox configuration to the + path specified by +BR2_PACKAGE_BUSYBOX_CONFIG+. +* +make uclibc-update-config+ saves the uClibc configuration to the + path specified by +BR2_UCLIBC_CONFIG+. +* +make barebox-update-defconfig+ saves the barebox configuration to the + path specified by +BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE+. +* +make uboot-update-defconfig+ saves the U-Boot configuration to the + path specified by +BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE+. +* For at91bootstrap3, no helper exists so you have to copy the config + file manually to +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE+. + + diff --git a/docs/manual/customize-device-permission-tables.txt b/docs/manual/customize-device-permission-tables.txt new file mode 100644 index 0000000000..02dd8ad982 --- /dev/null +++ b/docs/manual/customize-device-permission-tables.txt @@ -0,0 +1,30 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[customize-device-permission]] +==== Setting file permissions and ownership and adding custom devices nodes + +Sometimes it is needed to set specific permissions or ownership on files +or device nodes. For example, certain files may need to be owned by +root. Since the post-build scripts are not run as root, you cannot do +such changes from there unless you use an explicit fakeroot from the +post-build script. + +Instead, Buildroot provides support for so-called _permission tables_. +To use this feature, set config option +BR2_ROOTFS_DEVICE_TABLE+ to a +space-separated list of permission tables, regular text files following +the xref:makedev-syntax[makedev syntax]. + +If you are using a static device table (i.e. not using +devtmpfs+, ++mdev+, or +(e)udev+) then you can add device nodes using the same +syntax, in so-called _device tables_. To use this feature, set config +option +BR2_ROOTFS_STATIC_DEVICE_TABLE+ to a space-separated list of +device tables. + +As shown in xref:customize-dir-structure[], the recommended location for +such files is +board///+. + +It should be noted that if the specific permissions or device nodes are +related to a specific application, you should set variables ++FOO_PERMISSIONS+ and +FOO_DEVICES+ in the package's +.mk+ file instead +(see xref:generic-package-reference[]). diff --git a/docs/manual/customize-directory-structure.txt b/docs/manual/customize-directory-structure.txt new file mode 100644 index 0000000000..b177319f98 --- /dev/null +++ b/docs/manual/customize-directory-structure.txt @@ -0,0 +1,110 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[customize-dir-structure]] +=== Recommended directory structure + +When customizing Buildroot for your project, you will be creating one or +more project-specific files that need to be stored somewhere. While most +of these files could be placed in _any_ location as their path is to be +specified in the Buildroot configuration, the Buildroot developers +recommend a specific directory structure which is described in this +section. + +Orthogonal to this directory structure, you can choose _where_ you place +this structure itself: either inside the Buildroot tree, or outside of +it using a br2-external tree. Both options are valid, the choice is up +to you. + +----- ++-- board/ +| +-- / +| +-- / +| +-- linux.config +| +-- busybox.config +| +-- +| +-- post_build.sh +| +-- post_image.sh +| +-- rootfs_overlay/ +| | +-- etc/ +| | +-- +| +-- patches/ +| +-- foo/ +| | +-- +| +-- libbar/ +| +-- +| ++-- configs/ +| +-- _defconfig +| ++-- package/ +| +-- / +| +-- Config.in (if not using a br2-external tree) +| +-- .mk (if not using a br2-external tree) +| +-- package1/ +| | +-- Config.in +| | +-- package1.mk +| +-- package2/ +| +-- Config.in +| +-- package2.mk +| ++-- Config.in (if using a br2-external tree) ++-- external.mk (if using a br2-external tree) +------ + +Details on the files shown above are given further in this chapter. + +Note: if you choose to place this structure outside of the Buildroot +tree but in a br2-external tree, the and possibly +components may be superfluous and can be left out. + +==== Implementing layered customizations + +It is quite common for a user to have several related projects that partly +need the same customizations. Instead of duplicating these +customizations for each project, it is recommended to use a layered +customization approach, as explained in this section. + +Almost all of the customization methods available in Buildroot, like +post-build scripts and root filesystem overlays, accept a +space-separated list of items. The specified items are always treated in +order, from left to right. By creating more than one such item, one for +the common customizations and another one for the really +project-specific customizations, you can avoid unnecessary duplication. +Each layer is typically embodied by a separate directory inside ++board//+. Depending on your projects, you could even introduce +more than two layers. + +An example directory structure for where a user has two customization +layers 'common' and 'fooboard' is: + +----- ++-- board/ + +-- / + +-- common/ + | +-- post_build.sh + | +-- rootfs_overlay/ + | | +-- ... + | +-- patches/ + | +-- ... + | + +-- fooboard/ + +-- linux.config + +-- busybox.config + +-- + +-- post_build.sh + +-- rootfs_overlay/ + | +-- ... + +-- patches/ + +-- ... +----- + +For example, if the user has the +BR2_GLOBAL_PATCH_DIR+ configuration +option set as: + +----- +BR2_GLOBAL_PATCH_DIR="board//common/patches board//fooboard/patches" +----- + +then first the patches from the 'common' layer would be applied, +followed by the patches from the 'fooboard' layer. diff --git a/docs/manual/customize-outside-br.txt b/docs/manual/customize-outside-br.txt new file mode 100644 index 0000000000..b1eed326aa --- /dev/null +++ b/docs/manual/customize-outside-br.txt @@ -0,0 +1,313 @@ +// -*- mode:doc -*- ; +// vim: set syntax=asciidoc: + +[[outside-br-custom]] +=== Keeping customizations outside of Buildroot + +As already briefly mentioned in xref:customize-dir-structure[], you can +place project-specific customizations in two locations: + + * directly within the Buildroot tree, typically maintaining them using + branches in a version control system so that upgrading to a newer + Buildroot release is easy. + + * outside of the Buildroot tree, using the _br2-external_ mechanism. + This mechanism allows to keep package recipes, board support and + configuration files outside of the Buildroot tree, while still + having them nicely integrated in the build logic. We call this + location a _br2-external tree_. This section explains how to use + the br2-external mechanism and what to provide in a br2-external + tree. + +One can tell Buildroot to use one or more br2-external trees by setting +the +BR2_EXTERNAL+ make variable set to the path(s) of the br2-external +tree(s) to use. It can be passed to any Buildroot +make+ invocation. It +is automatically saved in the hidden +.br-external.mk+ file in the output +directory. Thanks to this, there is no need to pass +BR2_EXTERNAL+ at +every +make+ invocation. It can however be changed at any time by +passing a new value, and can be removed by passing an empty value. + +.Note +The path to a br2-external tree can be either absolute or relative. +If it is passed as a relative path, it is important to note that it is +interpreted relative to the main Buildroot source directory, *not* to +the Buildroot output directory. + +.Note: +If using an br2-external tree from before Buildroot 2016.11, you need to +convert it before you can use it with Buildroot 2016.11 onward. See +xref:br2-external-converting[] for help on doing so. + +Some examples: + +----- +buildroot/ $ make BR2_EXTERNAL=/path/to/foo menuconfig +----- + +From now on, definitions from the +/path/to/foo+ br2-external tree +will be used: + +----- +buildroot/ $ make +buildroot/ $ make legal-info +----- + +We can switch to another br2-external tree at any time: + +----- +buildroot/ $ make BR2_EXTERNAL=/where/we/have/bar xconfig +----- + +We can also use multiple br2-external trees: + +---- +buildroot/ $ make BR2_EXTERNAL=/path/to/foo:/where/we/have/bar menuconfig +---- + +Or disable the usage of any br2-external tree: + +----- +buildroot/ $ make BR2_EXTERNAL= xconfig +----- + +==== Layout of a br2-external tree + +A br2-external tree must contain at least those three files, described +in the following chapters: + + * +external.desc+ + * +external.mk+ + * +Config.in+ + +Apart from those mandatory files, there may be additional and optional +content that may be present in a br2-external tree, like the +configs/+ +directory. They are described in the following chapters as well. + +A complete example br2-external tree layout is also described later. + +===== The +external.desc+ file + +That file describes the br2-external tree: the _name_ and _description_ +for that br2-external tree. + +The format for this file is line based, with each line starting by a +keyword, followed by a colon and one or more spaces, followed by the +value assigned to that keyword. There are two keywords currently +recognised: + + * +name+, mandatory, defines the name for that br2-external tree. That + name must only use ASCII characters in the set +[A-Za-z0-9_]+; any + other character is forbidden. Buildroot sets the variable + +BR2_EXTERNAL_$(NAME)_PATH+ to the absolute path of the br2-external + tree, so that you can use it to refer to your br2-external tree. This + variable is available both in Kconfig, so you can use it to source your + Kconfig files (see below) and in the Makefile, so that you can use it + to include other Makefiles (see below) or refer to other files (like + data files) from your br2-external tree. ++ +.Note: +Since it is possible to use multiple br2-external trees at once, this + name is used by Buildroot to generate variables for each of those trees. + That name is used to identify your br2-external tree, so try to come up + with a name that really describes your br2-external tree, in order for + it to be relatively unique, so that it does not clash with another name + from another br2-external tree, especially if you are planning on + somehow sharing your br2-external tree with third parties or using + br2-external trees from third parties. + + * +desc+, optional, provides a short description for that br2-external + tree. It shall fit on a single line, is mostly free-form (see below), + and is used when displaying information about a br2-external tree (e.g. + above the list of defconfig files, or as the prompt in the menuconfig); + as such, it should relatively brief (40 chars is probably a good upper + limit). The description is available in the +BR2_EXTERNAL_$(NAME)_DESC+ + variable. + +Examples of names and the corresponding +BR2_EXTERNAL_$(NAME)_PATH+ +variables: + + * +FOO+ -> +BR2_EXTERNAL_FOO_PATH+ + * +BAR_42+ -> +BR2_EXTERNAL_BAR_42_PATH+ + +In the following examples, it is assumed the name to be set to +BAR_42+. + +.Note: +Both +BR2_EXTERNAL_$(NAME)_PATH+ and `BR2_EXTERNAL_$(NAME)_DESC` are + available in the Kconfig files and the Makefiles. They are also + exported in the environment so are available in post-build, post-image + and in-fakeroot scripts. + +===== The +Config.in+ and +external.mk+ files + +Those files (which may each be empty) can be used to define package +recipes (i.e. +foo/Config.in+ and +foo/foo.mk+ like for packages bundled +in Buildroot itself) or other custom configuration options or make logic. + +Buildroot automatically includes the +Config.in+ from each br2-external +tree to make it appear in the top-level configuration menu, and includes +the +external.mk+ from each br2-external tree with the rest of the +makefile logic. + +The main usage of this is to store package recipes. The recommended way +to do this is to write a +Config.in+ file that looks like: + +------ +source "$BR2_EXTERNAL_BAR_42_PATH/package/package1/Config.in" +source "$BR2_EXTERNAL_BAR_42_PATH/package/package2/Config.in" +------ + +Then, have an +external.mk+ file that looks like: + +------ +include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/package/*/*.mk)) +------ + +And then in +$(BR2_EXTERNAL_BAR_42_PATH)/package/package1+ and ++$(BR2_EXTERNAL_BAR_42_PATH)/package/package2+ create normal +Buildroot package recipes, as explained in xref:adding-packages[]. +If you prefer, you can also group the packages in subdirectories +called and adapt the above paths accordingly. + +You can also define custom configuration options in +Config.in+ and +custom make logic in +external.mk+. + +===== The +configs/+ directory + +One can store Buildroot defconfigs in the +configs+ subdirectory of +the br2-external tree. Buildroot will automatically show them in the +output of +make list-defconfigs+ and allow them to be loaded with the +normal +make _defconfig+ command. They will be visible in the +'make list-defconfigs' output, below an +External configs+ label that +contains the name of the br2-external tree they are defined in. + +.Note: +If a defconfig file is present in more than one br2-external tree, then +the one from the last br2-external tree is used. It is thus possible +to override a defconfig bundled in Buildroot or another br2-external +tree. + +===== Free-form content + +One can store all the board-specific configuration files there, such +as the kernel configuration, the root filesystem overlay, or any other +configuration file for which Buildroot allows to set the location (by +using the +BR2_EXTERNAL_$(NAME)_PATH+ variable). For example, you +could set the paths to a global patch directory, to a rootfs overlay +and to the kernel configuration file as follows (e.g. by running +`make menuconfig` and filling in these options): + +---- +BR2_GLOBAL_PATCH_DIR=$(BR2_EXTERNAL_BAR_42_PATH)/patches/ +BR2_ROOTFS_OVERLAY=$(BR2_EXTERNAL_BAR_42_PATH)/board//overlay/ +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE=$(BR2_EXTERNAL_BAR_42_PATH)/board//kernel.config +---- + +===== Example layout + +Here is an example layout using all features of br2-external (the sample +content is shown for the file above it, when it is relevant to explain +the br2-external tree; this is all entirely made up just for the sake of +illustration, of course): + +---- +/path/to/br2-ext-tree/ + |- external.desc + | |name: BAR_42 + | |desc: Example br2-external tree + | `---- + | + |- Config.in + | |source "$BR2_EXTERNAL_BAR_42_PATH/package/pkg-1/Config.in" + | |source "$BR2_EXTERNAL_BAR_42_PATH/package/pkg-2/Config.in" + | | + | |config BAR_42_FLASH_ADDR + | | hex "my-board flash address" + | | default 0x10AD + | `---- + | + |- external.mk + | |include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/package/*/*.mk)) + | | + | |flash-my-board: + | | $(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/flash-image \ + | | --image $(BINARIES_DIR)/image.bin \ + | | --address $(BAR_42_FLASH_ADDR) + | `---- + | + |- package/pkg-1/Config.in + | |config BR2_PACKAGE_PKG_1 + | | bool "pkg-1" + | | help + | | Some help about pkg-1 + | `---- + |- package/pkg-1/pkg-1.hash + |- package/pkg-1/pkg-1.mk + | |PKG_1_VERSION = 1.2.3 + | |PKG_1_SITE = /some/where/to/get/pkg-1 + | |PKG_1_LICENSE = blabla + | | + | |define PKG_1_INSTALL_INIT_SYSV + | | $(INSTALL) -D -m 0755 $(PKG_1_PKGDIR)/S99my-daemon \ + | | $(TARGET_DIR)/etc/init.d/S99my-daemon + | |endef + | | + | |$(eval $(autotools-package)) + | `---- + |- package/pkg-1/S99my-daemon + | + |- package/pkg-2/Config.in + |- package/pkg-2/pkg-2.hash + |- package/pkg-2/pkg-2.mk + | + |- configs/my-board_defconfig + | |BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_BAR_42_PATH)/patches/" + | |BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/overlay/" + | |BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/post-image.sh" + | |BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/kernel.config" + | `---- + | + |- patches/linux/0001-some-change.patch + |- patches/linux/0002-some-other-change.patch + |- patches/busybox/0001-fix-something.patch + | + |- board/my-board/kernel.config + |- board/my-board/overlay/var/www/index.html + |- board/my-board/overlay/var/www/my.css + |- board/my-board/flash-image + `- board/my-board/post-image.sh + |#!/bin/sh + |generate-my-binary-image \ + | --root ${BINARIES_DIR}/rootfs.tar \ + | --kernel ${BINARIES_DIR}/zImage \ + | --dtb ${BINARIES_DIR}/my-board.dtb \ + | --output ${BINARIES_DIR}/image.bin + `---- +---- + +The br2-external tree will then be visible in the menuconfig (with +the layout expanded): + +---- +External options ---> + *** Example br2-external tree (in /path/to/br2-ext-tree/) + [ ] pkg-1 + [ ] pkg-2 + (0x10AD) my-board flash address +---- + +If you are using more than one br2-external tree, it would look like +(with the layout expanded and the second one with name +FOO_27+ but no ++desc:+ field in +external.desc+): + +---- +External options ---> + Example br2-external tree ---> + *** Example br2-external tree (in /path/to/br2-ext-tree) + [ ] pkg-1 + [ ] pkg-2 + (0x10AD) my-board flash address + FOO_27 ---> + *** FOO_27 (in /path/to/another-br2-ext) + [ ] foo + [ ] bar +---- diff --git a/docs/manual/customize-packages.txt b/docs/manual/customize-packages.txt new file mode 100644 index 0000000000..b57280ea10 --- /dev/null +++ b/docs/manual/customize-packages.txt @@ -0,0 +1,56 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[customize-packages]] +=== Adding project-specific packages + +In general, any new package should be added directly in the +package+ +directory and submitted to the Buildroot upstream project. How to add +packages to Buildroot in general is explained in full detail in +xref:adding-packages[] and will not be repeated here. However, your +project may need some proprietary packages that cannot be upstreamed. +This section will explain how you can keep such project-specific +packages in a project-specific directory. + +As shown in xref:customize-dir-structure[], the recommended location for +project-specific packages is +package//+. If you are using the +br2-external tree feature (see xref:outside-br-custom[]) the recommended +location is to put them in a sub-directory named +package/+ in your +br2-external tree. + +However, Buildroot will not be aware of the packages in this location, +unless we perform some additional steps. As explained in +xref:adding-packages[], a package in Buildroot basically consists of two +files: a +.mk+ file (describing how to build the package) and a ++Config.in+ file (describing the configuration options for this +package). + +Buildroot will automatically include the +.mk+ files in first-level +subdirectories of the +package+ directory (using the pattern ++package/\*/*.mk+). If we want Buildroot to include +.mk+ files from +deeper subdirectories (like +package//package1/+) then we +simply have to add a +.mk+ file in a first-level subdirectory that +includes these additional +.mk+ files. Therefore, create a file ++package//.mk+ with following contents (assuming you +have only one extra directory level below +package//+): + +----- +include $(sort $(wildcard package//*/*.mk)) +----- + +For the +Config.in+ files, create a file +package//Config.in+ +that includes the +Config.in+ files of all your packages. An exhaustive +list has to be provided since wildcards are not supported in the source command of kconfig. +For example: + +----- +source "package//package1/Config.in" +source "package//package2/Config.in" +----- + +Include this new file +package//Config.in+ from ++package/Config.in+, preferably in a company-specific menu to make +merges with future Buildroot versions easier. + +If using a br2-external tree, refer to xref:outside-br-custom[] for how +to fill in those files. diff --git a/docs/manual/customize-patches.txt b/docs/manual/customize-patches.txt new file mode 100644 index 0000000000..fa63541110 --- /dev/null +++ b/docs/manual/customize-patches.txt @@ -0,0 +1,59 @@ +// -*- mode:doc -*- ; +// vim: set syntax=asciidoc: + +[[customize-patches]] +=== Adding project-specific patches + +It is sometimes useful to apply 'extra' patches to packages - on top of +those provided in Buildroot. This might be used to support custom +features in a project, for example, or when working on a new +architecture. + +The +BR2_GLOBAL_PATCH_DIR+ configuration option can be used to specify +a space separated list of one or more directories containing package +patches. + +For a specific version ++ of a specific package +++, patches are applied from +BR2_GLOBAL_PATCH_DIR+ as +follows: + +. For every directory - ++ - that exists in + +BR2_GLOBAL_PATCH_DIR+, a ++ will be determined as + follows: ++ +* +///+ if the + directory exists. ++ +* Otherwise, +/+ if the directory + exists. + +. Patches will then be applied from a ++ as + follows: ++ +* If a +series+ file exists in the package directory, then patches are + applied according to the +series+ file; ++ +* Otherwise, patch files matching +*.patch+ are applied in + alphabetical order. So, to ensure they are applied in the right + order, it is highly recommended to name the patch files like this: + +-.patch+, where ++ refers to the + 'apply order'. + +For information about how patches are applied for a package, see +xref:patch-apply-order[] + +The +BR2_GLOBAL_PATCH_DIR+ option is the preferred method for +specifying a custom patch directory for packages. It can be used to +specify a patch directory for any package in buildroot. It should also +be used in place of the custom patch directory options that are +available for packages such as U-Boot and Barebox. By doing this, it +will allow a user to manage their patches from one top-level +directory. + +The exception to +BR2_GLOBAL_PATCH_DIR+ being the preferred method for +specifying custom patches is +BR2_LINUX_KERNEL_PATCH+. ++BR2_LINUX_KERNEL_PATCH+ should be used to specify kernel patches that +are available at an URL. *Note:* +BR2_LINUX_KERNEL_PATCH+ specifies kernel +patches that are applied after patches available in +BR2_GLOBAL_PATCH_DIR+, +as it is done from a post-patch hook of the Linux package. + diff --git a/docs/manual/customize-post-image.txt b/docs/manual/customize-post-image.txt new file mode 100644 index 0000000000..90ea2b9328 --- /dev/null +++ b/docs/manual/customize-post-image.txt @@ -0,0 +1,37 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Customization _after_ the images have been created + +While post-build scripts (xref:rootfs-custom[]) are run _before_ +building the filesystem image, kernel and bootloader, *post-image +scripts* can be used to perform some specific actions _after_ all images +have been created. + +Post-image scripts can for example be used to automatically extract your +root filesystem tarball in a location exported by your NFS server, or +to create a special firmware image that bundles your root filesystem and +kernel image, or any other custom action required for your project. + +To enable this feature, specify a space-separated list of post-image +scripts in config option +BR2_ROOTFS_POST_IMAGE_SCRIPT+ (in the +System +configuration+ menu). If you specify a relative path, it will be +relative to the root of the Buildroot tree. + +Just like post-build scripts, post-image scripts are run with the main +Buildroot tree as current working directory. The path to the +images+ +output directory is passed as the first argument to each script. If the +config option +BR2_ROOTFS_POST_SCRIPT_ARGS+ is not empty, these +arguments will be passed to the script too. All the scripts will be +passed the exact same set of arguments, it is not possible to pass +different sets of arguments to each script. + +Again just like for the post-build scripts, the scripts have access to +the environment variables +BR2_CONFIG+, +HOST_DIR+, +STAGING_DIR+, ++TARGET_DIR+, +BUILD_DIR+, +BINARIES_DIR+ and +BASE_DIR+. + +The post-image scripts will be executed as the user that executes +Buildroot, which should normally _not_ be the root user. Therefore, any +action requiring root permissions in one of these scripts will require +special handling (usage of fakeroot or sudo), which is left to the +script developer. diff --git a/docs/manual/customize-quick-guide.txt b/docs/manual/customize-quick-guide.txt new file mode 100644 index 0000000000..627ecbacb1 --- /dev/null +++ b/docs/manual/customize-quick-guide.txt @@ -0,0 +1,66 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Quick guide to storing your project-specific customizations + +Earlier in this chapter, the different methods for making +project-specific customizations have been described. This section will +now summarize all this by providing step-by-step instructions to storing your +project-specific customizations. Clearly, the steps that are not relevant to +your project can be skipped. + +1. +make menuconfig+ to configure toolchain, packages and kernel. +1. +make linux-menuconfig+ to update the kernel config, similar for + other configuration like busybox, uclibc, ... +1. +mkdir -p board//+ +1. Set the following options to +board///.config+ + (as far as they are relevant): + * +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+ + * +BR2_PACKAGE_BUSYBOX_CONFIG+ + * +BR2_UCLIBC_CONFIG+ + * +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE+ + * +BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE+ + * +BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE+ +1. Write the configuration files: + * +make linux-update-defconfig+ + * +make busybox-update-config+ + * +make uclibc-update-config+ + * +cp /build/at91bootstrap3-*/.config + board///at91bootstrap3.config+ + * +make barebox-update-defconfig+ + * +make uboot-update-defconfig+ +1. Create +board///rootfs-overlay/+ and fill it + with additional files you need on your rootfs, e.g. + +board///rootfs-overlay/etc/inittab+. + Set +BR2_ROOTFS_OVERLAY+ + to +board///rootfs-overlay+. +1. Create a post-build script + +board///post_build.sh+. Set + +BR2_ROOTFS_POST_BUILD_SCRIPT+ to + +board///post_build.sh+ +1. If additional setuid permissions have to be set or device nodes have + to be created, create +board///device_table.txt+ + and add that path to +BR2_ROOTFS_DEVICE_TABLE+. +1. If additional user accounts have to be created, create + +board///users_table.txt+ and add that path + to +BR2_ROOTFS_USERS_TABLES+. +1. To add custom patches to certain packages, set +BR2_GLOBAL_PATCH_DIR+ + to +board///patches/+ and add your patches + for each package in a subdirectory named after the package. Each + patch should be called +--.patch+. +1. Specifically for the Linux kernel, there also exists the option + +BR2_LINUX_KERNEL_PATCH+ with as main advantage that it can also + download patches from a URL. If you do not need this, + +BR2_GLOBAL_PATCH_DIR+ is preferred. U-Boot, Barebox, at91bootstrap + and at91bootstrap3 also have separate options, but these do not + provide any advantage over +BR2_GLOBAL_PATCH_DIR+ and will likely be + removed in the future. +1. If you need to add project-specific packages, create + +package//+ and place your packages in that + directory. Create an overall +.mk+ file that + includes the +.mk+ files of all your packages. Create an overall + +Config.in+ file that sources the +Config.in+ files of all your + packages. Include this +Config.in+ file from Buildroot's + +package/Config.in+ file. +1. +make savedefconfig+ to save the buildroot configuration. +1. +cp defconfig configs/_defconfig+ diff --git a/docs/manual/customize-rootfs.txt b/docs/manual/customize-rootfs.txt new file mode 100644 index 0000000000..44fc460670 --- /dev/null +++ b/docs/manual/customize-rootfs.txt @@ -0,0 +1,138 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[rootfs-custom]] +=== Customizing the generated target filesystem + +Besides changing the configuration through +make *config+, +there are a few other ways to customize the resulting target filesystem. + +The two recommended methods, which can co-exist, are root filesystem +overlay(s) and post build script(s). + +Root filesystem overlays (+BR2_ROOTFS_OVERLAY+):: ++ +A filesystem overlay is a tree of files that is copied directly + over the target filesystem after it has been built. To enable this + feature, set config option +BR2_ROOTFS_OVERLAY+ (in the +System + configuration+ menu) to the root of the overlay. You can even specify + multiple overlays, space-separated. If you specify a relative path, + it will be relative to the root of the Buildroot tree. Hidden + directories of version control systems, like +.git+, +.svn+, +.hg+, + etc., files called +.empty+ and files ending in +~+ are excluded from + the copy. ++ +As shown in xref:customize-dir-structure[], the recommended path for + this overlay is +board///rootfs-overlay+. + +Post-build scripts (+BR2_ROOTFS_POST_BUILD_SCRIPT+):: ++ +Post-build scripts are shell scripts called 'after' Buildroot builds + all the selected software, but 'before' the rootfs images are + assembled. To enable this feature, specify a space-separated list of + post-build scripts in config option +BR2_ROOTFS_POST_BUILD_SCRIPT+ (in + the +System configuration+ menu). If you specify a relative path, it + will be relative to the root of the Buildroot tree. ++ +Using post-build scripts, you can remove or modify any file in your + target filesystem. You should, however, use this feature with care. + Whenever you find that a certain package generates wrong or unneeded + files, you should fix that package rather than work around it with some + post-build cleanup scripts. ++ +As shown in xref:customize-dir-structure[], the recommended path for + this script is +board///post_build.sh+. ++ +The post-build scripts are run with the main Buildroot tree as current + working directory. The path to the target filesystem is passed as the + first argument to each script. If the config option + +BR2_ROOTFS_POST_SCRIPT_ARGS+ is not empty, these arguments will be + passed to the script too. All the scripts will be passed the exact + same set of arguments, it is not possible to pass different sets of + arguments to each script. ++ +In addition, you may also use these environment variables: + + - +BR2_CONFIG+: the path to the Buildroot .config file + - +HOST_DIR+, +STAGING_DIR+, +TARGET_DIR+: see + xref:generic-package-reference[] + - +BUILD_DIR+: the directory where packages are extracted and built + - +BINARIES_DIR+: the place where all binary files (aka images) are + stored + - +BASE_DIR+: the base output directory + +Below three more methods of customizing the target filesystem are +described, but they are not recommended. + +Direct modification of the target filesystem:: ++ +For temporary modifications, you can modify the target filesystem + directly and rebuild the image. The target filesystem is available + under +output/target/+. After making your changes, run +make+ to + rebuild the target filesystem image. ++ +This method allows you to do anything to the target filesystem, but if + you need to clean your Buildroot tree using +make clean+, these + changes will be lost. Such cleaning is necessary in several cases, + refer to xref:full-rebuild[] for details. This solution is therefore + only useful for quick tests: _changes do not survive the +make clean+ + command_. Once you have validated your changes, you should make sure + that they will persist after a +make clean+, using a root filesystem + overlay or a post-build script. + +Custom target skeleton (+BR2_ROOTFS_SKELETON_CUSTOM+):: ++ +The root filesystem image is created from a target skeleton, on top of + which all packages install their files. The skeleton is copied to the + target directory +output/target+ before any package is built and + installed. The default target skeleton provides the standard Unix + filesystem layout and some basic init scripts and configuration files. ++ +If the default skeleton (available under +system/skeleton+) does not + match your needs, you would typically use a root filesystem overlay or + post-build script to adapt it. However, if the default skeleton is + entirely different than what you need, using a custom skeleton may be + more suitable. ++ +To enable this feature, enable config option + +BR2_ROOTFS_SKELETON_CUSTOM+ and set +BR2_ROOTFS_SKELETON_CUSTOM_PATH+ + to the path of your custom skeleton. Both options are available in the + +System configuration+ menu. If you specify a relative path, it will + be relative to the root of the Buildroot tree. ++ +This method is not recommended because it duplicates the entire + skeleton, which prevents taking advantage of the fixes or improvements + brought to the default skeleton in later Buildroot releases. + +Post-fakeroot scripts (+BR2_ROOTFS_POST_FAKEROOT_SCRIPT+):: ++ +When aggregating the final images, some parts of the process requires + root rights: creating device nodes in `/dev`, setting permissions or + ownership to files and directories... To avoid requiring actual root + rights, Buildroot uses +fakeroot+ to simulate root rights. This is not + a complete substitute for actually being root, but is enough for what + Buildroot needs. ++ +Post-fakeroot scripts are shell scripts that are called at the 'end' of + the fakeroot phase, 'right before' the filesystem image generator is + called. As such, they are called in the fakeroot context. ++ +Post-fakeroot scripts can be useful in case you need to tweak the + filesystem to do modifications that are usually only available to the + root user. ++ +.Note: +It is recommended to use the existing mechanisms to set file permissions + or create entries in `/dev` (see xref:customize-device-permission[]) or + to create users (see xref:customize-users[]) ++ +.Note: +The difference between post-build scripts (above) and fakeroot scripts, + is that post-build scripts are not called in the fakeroot context. ++ +.Note; +Using `fakeroot` is not an absolute substitute for actually being root. + `fakeroot` only ever fakes the file access rights and types (regular, + block-or-char device...) and uid/gid; these are emulated in-memory. + +include::customize-device-permission-tables.txt[] diff --git a/docs/manual/customize-users-tables.txt b/docs/manual/customize-users-tables.txt new file mode 100644 index 0000000000..e2d32e23f2 --- /dev/null +++ b/docs/manual/customize-users-tables.txt @@ -0,0 +1,18 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[customize-users]] +=== Adding custom user accounts + +Sometimes it is needed to add specific users in the target system. +To cover this requirement, Buildroot provides support for so-called +_users tables_. To use this feature, set config option ++BR2_ROOTFS_USERS_TABLES+ to a space-separated list of users tables, +regular text files following the xref:makeuser-syntax[makeusers syntax]. + +As shown in xref:customize-dir-structure[], the recommended location for +such files is +board///+. + +It should be noted that if the custom users are related to a specific +application, you should set variable +FOO_USERS+ in the package's +.mk+ +file instead (see xref:generic-package-reference[]). diff --git a/docs/manual/customize.txt b/docs/manual/customize.txt new file mode 100644 index 0000000000..484413e4d8 --- /dev/null +++ b/docs/manual/customize.txt @@ -0,0 +1,60 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[customize]] +== Project-specific customization + +Typical actions you may need to perform for a given project are: + +* configuring Buildroot (including build options and toolchain, + bootloader, kernel, package and filesystem image type selection) +* configuring other components, like the Linux kernel and BusyBox +* customizing the generated target filesystem + ** adding or overwriting files on the target filesystem (using + +BR2_ROOTFS_OVERLAY+) + ** modifying or deleting files on the target filesystem (using + +BR2_ROOTFS_POST_BUILD_SCRIPT+) + ** running arbitrary commands prior to generating the filesystem image + (using +BR2_ROOTFS_POST_BUILD_SCRIPT+) + ** setting file permissions and ownership (using + +BR2_ROOTFS_DEVICE_TABLE+) + ** adding custom devices nodes (using + +BR2_ROOTFS_STATIC_DEVICE_TABLE+) +* adding custom user accounts (using +BR2_ROOTFS_USERS_TABLES+) +* running arbitrary commands after generating the filesystem image + (using +BR2_ROOTFS_POST_IMAGE_SCRIPT+) +* adding project-specific patches to some packages (using + +BR2_GLOBAL_PATCH_DIR+) +* adding project-specific packages + +An important note regarding such 'project-specific' customizations: +please carefully consider which changes are indeed project-specific and +which changes are also useful to developers outside your project. The +Buildroot community highly recommends and encourages the upstreaming of +improvements, packages and board support to the official Buildroot +project. Of course, it is sometimes not possible or desirable to +upstream because the changes are highly specific or proprietary. + +This chapter describes how to make such project-specific customizations +in Buildroot and how to store them in a way that you can build the same +image in a reproducible way, even after running 'make clean'. By +following the recommended strategy, you can even use the same Buildroot +tree to build multiple distinct projects! + +include::customize-directory-structure.txt[] + +include::customize-outside-br.txt[] + +include::customize-configuration.txt[] + +include::customize-rootfs.txt[] + +include::customize-users-tables.txt[] + +include::customize-post-image.txt[] + +include::customize-patches.txt[] + +include::customize-packages.txt[] + +include::customize-quick-guide.txt[] diff --git a/docs/manual/debugging-buildroot.txt b/docs/manual/debugging-buildroot.txt new file mode 100644 index 0000000000..f575fc48ee --- /dev/null +++ b/docs/manual/debugging-buildroot.txt @@ -0,0 +1,43 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[debugging-buildroot]] + +== Debugging Buildroot + +It is possible to instrument the steps +Buildroot+ does when building +packages. Define the variable +BR2_INSTRUMENTATION_SCRIPTS+ to contain +the path of one or more scripts (or other executables), in a +space-separated list, you want called before and after each step. The +scripts are called in sequence, with three parameters: + + - +start+ or +end+ to denote the start (resp. the end) of a step; + - the name of the step about to be started, or which just ended; + - the name of the package. + +For example : + +---- +make BR2_INSTRUMENTATION_SCRIPTS="/path/to/my/script1 /path/to/my/script2" +---- + +The list of steps is: + + - +extract+ + - +patch+ + - +configure+ + - +build+ + - +install-host+, when a host-package is installed in +$(HOST_DIR)+ + - +install-target+, when a target-package is installed in +$(TARGET_DIR)+ + - +install-staging+, when a target-package is installed in +$(STAGING_DIR)+ + - +install-image+, when a target-package installs files in +$(BINARIES_DIR)+ + +The script has access to the following variables: + + - +BR2_CONFIG+: the path to the Buildroot .config file + - +HOST_DIR+, +STAGING_DIR+, +TARGET_DIR+: see + xref:generic-package-reference[] + - +BUILD_DIR+: the directory where packages are extracted and built + - +BINARIES_DIR+: the place where all binary files (aka images) are + stored + - +BASE_DIR+: the base output directory diff --git a/docs/manual/developers.txt b/docs/manual/developers.txt new file mode 100644 index 0000000000..a0a3668dbc --- /dev/null +++ b/docs/manual/developers.txt @@ -0,0 +1,48 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[DEVELOPERS]] +== DEVELOPERS file and get-developers + +The main Buildroot directory contains a file named +DEVELOPERS+ that +lists the developers involved with various areas of Buildroot. Thanks +to this file, the +get-developer+ tool allows to: + +- Calculate the list of developers to whom patches should be sent, by + parsing the patches and matching the modified files with the + relevant developers. See xref:submitting-patches[] for details. + +- Find which developers are taking care of a given architecture or + package, so that they can be notified when a build failure occurs on + this architecture or package. This is done in interaction with + Buildroot's autobuild infrastructure. + +We ask developers adding new packages, new boards, or generally new +functionality in Buildroot, to register themselves in the +DEVELOPERS+ +file. As an example, we expect a developer contributing a new package +to include in his patch the appropriate modification to the ++DEVELOPERS+ file. + +The +DEVELOPERS+ file format is documented in detail inside the file +itself. + +The +get-developer+ tool, located in +utils/+ allows to use +the +DEVELOPERS+ file for various tasks: + +- When passing one or several patches as command line argument, + +get-developer+ will return the appropriate +git send-email+ + command. + +- When using the +-a + command line option, +get-developer+ will + return the list of developers in charge of the given architecture. + +- When using the +-p + command line option, +get-developer+ + will return the list of developers in charge of the given package. + +- When using the +-c+ command line option, +get-developer+ will look + at all files under version control in the Buildroot repository, and + list the ones that are not handled by any developer. The purpose of + this option is to help completing the +DEVELOPERS+ file. + +- When using without any arguments, it validates the integrity of the + DEVELOPERS file and will note WARNINGS for items that don't match. diff --git a/docs/manual/docbook-xsl.css b/docs/manual/docbook-xsl.css new file mode 100644 index 0000000000..ee9ca46d6f --- /dev/null +++ b/docs/manual/docbook-xsl.css @@ -0,0 +1,329 @@ +/* + CSS stylesheet for XHTML produced by DocBook XSL stylesheets. +*/ + +body { + font-family: Georgia,serif; +} + +code, pre { + font-family: "Courier New", Courier, monospace; +} + +span.strong { + font-weight: bold; +} + +body blockquote { + margin-top: .75em; + line-height: 1.5; + margin-bottom: .75em; +} + +html body { + margin: 1em 5% 1em 5%; + line-height: 1.2; +} + +body div { + margin: 0; +} + +h1, h2, h3, h4, h5, h6 +{ + color: #527bbd; + font-family: Arial,Helvetica,sans-serif; +} + +div.toc p:first-child, +div.list-of-figures p:first-child, +div.list-of-tables p:first-child, +div.list-of-examples p:first-child, +div.example p.title, +div.sidebar p.title +{ + font-weight: bold; + color: #527bbd; + font-family: Arial,Helvetica,sans-serif; + margin-bottom: 0.2em; +} + +body h1 { + margin: .0em 0 0 -4%; + line-height: 1.3; + border-bottom: 2px solid silver; +} + +body h2 { + margin: 0.5em 0 0 -4%; + line-height: 1.3; + border-bottom: 2px solid silver; +} + +body h3 { + margin: .8em 0 0 -3%; + line-height: 1.3; +} + +body h4 { + margin: .8em 0 0 -3%; + line-height: 1.3; +} + +body h5 { + margin: .8em 0 0 -2%; + line-height: 1.3; +} + +body h6 { + margin: .8em 0 0 -1%; + line-height: 1.3; +} + +body hr { + border: none; /* Broken on IE6 */ +} +div.footnotes hr { + border: 1px solid silver; +} + +div.navheader th, div.navheader td, div.navfooter td { + font-family: Arial,Helvetica,sans-serif; + font-size: 0.9em; + font-weight: bold; + color: #527bbd; +} +div.navheader img, div.navfooter img { + border-style: none; +} +div.navheader a, div.navfooter a { + font-weight: normal; +} +div.navfooter hr { + border: 1px solid silver; +} + +body td { + line-height: 1.2 +} + +body th { + line-height: 1.2; +} + +ol { + line-height: 1.2; +} + +ul, body dir, body menu { + line-height: 1.2; +} + +html { + margin: 0; + padding: 0; +} + +body h1, body h2, body h3, body h4, body h5, body h6 { + margin-left: 0 +} + +body pre { + margin: 0.5em 10% 0.5em 1em; + line-height: 1.0; + color: navy; +} + +tt.literal, code.literal { + color: navy; +} + +.programlisting, .screen { + border: 1px solid silver; + background: #f4f4f4; + margin: 0.5em 10% 0.5em 0; + padding: 0.5em 1em; +} + +div.sidebar { + background: #ffffee; + margin: 1.0em 10% 0.5em 0; + padding: 0.5em 1em; + border: 1px solid silver; +} +div.sidebar * { padding: 0; } +div.sidebar div { margin: 0; } +div.sidebar p.title { + margin-top: 0.5em; + margin-bottom: 0.2em; +} + +div.bibliomixed { + margin: 0.5em 5% 0.5em 1em; +} + +div.glossary dt { + font-weight: bold; +} +div.glossary dd p { + margin-top: 0.2em; +} + +dl { + margin: .8em 0; + line-height: 1.2; +} + +dt { + margin-top: 0.5em; +} + +dt span.term { + font-style: normal; + color: navy; +} + +div.variablelist dd p { + margin-top: 0; +} + +div.itemizedlist li, div.orderedlist li { + margin-left: -0.8em; + margin-top: 0.5em; +} + +ul, ol { + list-style-position: outside; +} + +div.sidebar ul, div.sidebar ol { + margin-left: 2.8em; +} + +div.itemizedlist p.title, +div.orderedlist p.title, +div.variablelist p.title +{ + margin-bottom: -0.8em; +} + +div.revhistory table { + border-collapse: collapse; + border: none; +} +div.revhistory th { + border: none; + color: #527bbd; + font-family: Arial,Helvetica,sans-serif; +} +div.revhistory td { + border: 1px solid silver; +} + +/* Keep TOC and index lines close together. */ +div.toc dl, div.toc dt, +div.list-of-figures dl, div.list-of-figures dt, +div.list-of-tables dl, div.list-of-tables dt, +div.indexdiv dl, div.indexdiv dt +{ + line-height: normal; + margin-top: 0; + margin-bottom: 0; +} + +/* + Table styling does not work because of overriding attributes in + generated HTML. +*/ +div.table table, +div.informaltable table +{ + margin-left: 0; + margin-right: 5%; + margin-bottom: 0.8em; +} +div.informaltable table +{ + margin-top: 0.4em +} +div.table thead, +div.table tfoot, +div.table tbody, +div.informaltable thead, +div.informaltable tfoot, +div.informaltable tbody +{ + /* No effect in IE6. */ + border-top: 3px solid #527bbd; + border-bottom: 3px solid #527bbd; +} +div.table thead, div.table tfoot, +div.informaltable thead, div.informaltable tfoot +{ + font-weight: bold; +} + +div.mediaobject img { + margin-bottom: 0.8em; +} +div.figure p.title, +div.table p.title +{ + margin-top: 1em; + margin-bottom: 0.4em; +} + +div.calloutlist p +{ + margin-top: 0em; + margin-bottom: 0.4em; +} + +a img { + border-style: none; +} + +@media print { + div.navheader, div.navfooter { display: none; } +} + +span.aqua { color: aqua; } +span.black { color: black; } +span.blue { color: blue; } +span.fuchsia { color: fuchsia; } +span.gray { color: gray; } +span.green { color: green; } +span.lime { color: lime; } +span.maroon { color: maroon; } +span.navy { color: navy; } +span.olive { color: olive; } +span.purple { color: purple; } +span.red { color: red; } +span.silver { color: silver; } +span.teal { color: teal; } +span.white { color: white; } +span.yellow { color: yellow; } + +span.aqua-background { background: aqua; } +span.black-background { background: black; } +span.blue-background { background: blue; } +span.fuchsia-background { background: fuchsia; } +span.gray-background { background: gray; } +span.green-background { background: green; } +span.lime-background { background: lime; } +span.maroon-background { background: maroon; } +span.navy-background { background: navy; } +span.olive-background { background: olive; } +span.purple-background { background: purple; } +span.red-background { background: red; } +span.silver-background { background: silver; } +span.teal-background { background: teal; } +span.white-background { background: white; } +span.yellow-background { background: yellow; } + +span.big { font-size: 2em; } +span.small { font-size: 0.6em; } + +span.underline { text-decoration: underline; } +span.overline { text-decoration: overline; } +span.line-through { text-decoration: line-through; } diff --git a/docs/manual/download-infra.txt b/docs/manual/download-infra.txt new file mode 100644 index 0000000000..f2ccd149d6 --- /dev/null +++ b/docs/manual/download-infra.txt @@ -0,0 +1,8 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[download-infra]] + +== Download infrastructure + +TODO diff --git a/docs/manual/download-location.txt b/docs/manual/download-location.txt new file mode 100644 index 0000000000..d485df94f5 --- /dev/null +++ b/docs/manual/download-location.txt @@ -0,0 +1,27 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[download-location]] + +==== Location of downloaded packages + +The various tarballs that are downloaded by Buildroot are all stored +in +BR2_DL_DIR+, which by default is the +dl+ directory. If you want +to keep a complete version of Buildroot which is known to be working +with the associated tarballs, you can make a copy of this directory. +This will allow you to regenerate the toolchain and the target +filesystem with exactly the same versions. + +If you maintain several Buildroot trees, it might be better to have a +shared download location. This can be achieved by pointing the ++BR2_DL_DIR+ environment variable to a directory. If this is +set, then the value of +BR2_DL_DIR+ in the Buildroot configuration is +overridden. The following line should be added to +<~/.bashrc>+. + +----------------- + export BR2_DL_DIR= +----------------- + +The download location can also be set in the +.config+ file, with the ++BR2_DL_DIR+ option. Unlike most options in the .config file, this value +is overridden by the +BR2_DL_DIR+ environment variable. diff --git a/docs/manual/eclipse-integration.txt b/docs/manual/eclipse-integration.txt new file mode 100644 index 0000000000..1f726d8240 --- /dev/null +++ b/docs/manual/eclipse-integration.txt @@ -0,0 +1,30 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Integration with Eclipse + +While a part of the embedded Linux developers like classical text +editors like Vim or Emacs, and command-line based interfaces, a number +of other embedded Linux developers like richer graphical interfaces to +do their development work. Eclipse being one of the most popular +Integrated Development Environment, Buildroot integrates with Eclipse +in order to ease the development work of Eclipse users. + +Our integration with Eclipse simplifies the compilation, remote +execution and remote debugging of applications and libraries that are +built on top of a Buildroot system. It does not integrate the +Buildroot configuration and build processes themselves with +Eclipse. Therefore, the typical usage model of our Eclipse integration +would be: + +* Configure your Buildroot system with +make menuconfig+, +make + xconfig+ or any other configuration interface provided with + Buildroot. +* Build your Buildroot system by running +make+. +* Start Eclipse to develop, execute and debug your own custom + applications and libraries, that will rely on the libraries built + and installed by Buildroot. + +The Buildroot Eclipse integration installation process and usage is +described in detail at +https://github.com/mbats/eclipse-buildroot-bundle/wiki. diff --git a/docs/manual/faq-troubleshooting.txt b/docs/manual/faq-troubleshooting.txt new file mode 100644 index 0000000000..b144c9e7f0 --- /dev/null +++ b/docs/manual/faq-troubleshooting.txt @@ -0,0 +1,241 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +== Frequently Asked Questions & Troubleshooting + +[[faq-boot-hang-after-starting]] +=== The boot hangs after 'Starting network...' + +If the boot process seems to hang after the following messages +(messages not necessarily exactly similar, depending on the list of +packages selected): + +------------------------ +Freeing init memory: 3972K +Initializing random number generator... done. +Starting network... +Starting dropbear sshd: generating rsa key... generating dsa key... OK +------------------------ + +then it means that your system is running, but didn't start a shell on +the serial console. In order to have the system start a shell on your +serial console, you have to go into the Buildroot configuration, in ++System configuration+, modify +Run a getty (login prompt) after boot+ +and set the appropriate port and baud rate in the +getty options+ +submenu. This will automatically tune the +/etc/inittab+ file of the +generated system so that a shell starts on the correct serial port. + +[[faq-no-compiler-on-target]] +=== Why is there no compiler on the target? + +It has been decided that support for the _native compiler on the +target_ would be stopped from the Buildroot-2012.11 release because: + +* this feature was neither maintained nor tested, and often broken; +* this feature was only available for Buildroot toolchains; +* Buildroot mostly targets _small_ or _very small_ target hardware + with limited resource onboard (CPU, ram, mass-storage), for which + compiling on the target does not make much sense; +* Buildroot aims at easing the cross-compilation, making native + compilation on the target unnecessary. + +If you need a compiler on your target anyway, then Buildroot is not +suitable for your purpose. In such case, you need a _real +distribution_ and you should opt for something like: + +* http://www.openembedded.org[openembedded] +* https://www.yoctoproject.org[yocto] +* http://www.emdebian.org[emdebian] +* https://fedoraproject.org/wiki/Architectures[Fedora] +* http://en.opensuse.org/Portal:ARM[openSUSE ARM] +* http://archlinuxarm.org[Arch Linux ARM] +* ... + +[[faq-no-dev-files-on-target]] +=== Why are there no development files on the target? + +Since there is no compiler available on the target (see +xref:faq-no-compiler-on-target[]), it does not make sense to waste +space with headers or static libraries. + +Therefore, those files are always removed from the target since the +Buildroot-2012.11 release. + +[[faq-no-doc-on-target]] +=== Why is there no documentation on the target? + +Because Buildroot mostly targets _small_ or _very small_ target +hardware with limited resource onboard (CPU, ram, mass-storage), it +does not make sense to waste space with the documentation data. + +If you need documentation data on your target anyway, then Buildroot +is not suitable for your purpose, and you should look for a _real +distribution_ (see: xref:faq-no-compiler-on-target[]). + +[[faq-why-not-visible-package]] +=== Why are some packages not visible in the Buildroot config menu? + +If a package exists in the Buildroot tree and does not appear in the +config menu, this most likely means that some of the package's +dependencies are not met. + +To know more about the dependencies of a package, search for the +package symbol in the config menu (see xref:make-tips[]). + +Then, you may have to recursively enable several options (which +correspond to the unmet dependencies) to finally be able to select +the package. + +If the package is not visible due to some unmet toolchain options, +then you should certainly run a full rebuild (see xref:make-tips[] for +more explanations). + +[[faq-why-not-use-target-as-chroot]] +=== Why not use the target directory as a chroot directory? + +There are plenty of reasons to *not* use the target directory a chroot +one, among these: + +* file ownerships, modes and permissions are not correctly set in the + target directory; +* device nodes are not created in the target directory. + +For these reasons, commands run through chroot, using the target +directory as the new root, will most likely fail. + +If you want to run the target filesystem inside a chroot, or as an NFS +root, then use the tarball image generated in +images/+ and extract it +as root. + +[[faq-no-binary-packages]] +=== Why doesn't Buildroot generate binary packages (.deb, .ipkg...)? + +One feature that is often discussed on the Buildroot list is the +general topic of "package management". To summarize, the idea +would be to add some tracking of which Buildroot package installs +what files, with the goals of: + + * being able to remove files installed by a package when this package + gets unselected from the menuconfig; + + * being able to generate binary packages (ipk or other format) that + can be installed on the target without re-generating a new root + filesystem image. + +In general, most people think it is easy to do: just track which package +installed what and remove it when the package is unselected. However, it +is much more complicated than that: + + * It is not only about the +target/+ directory, but also the sysroot in + +host//sysroot+ and the +host/+ directory itself. All files + installed in those directories by various packages must be tracked. + + * When a package is unselected from the configuration, it is not + sufficient to remove just the files it installed. One must also + remove all its reverse dependencies (i.e. packages relying on it) + and rebuild all those packages. For example, package A depends + optionally on the OpenSSL library. Both are selected, and Buildroot + is built. Package A is built with crypto support using OpenSSL. + Later on, OpenSSL gets unselected from the configuration, but + package A remains (since OpenSSL is an optional dependency, this + is possible.) If only OpenSSL files are removed, then the files + installed by package A are broken: they use a library that is no + longer present on the target. Although this is technically doable, + it adds a lot of complexity to Buildroot, which goes against the + simplicity we try to stick to. + + * In addition to the previous problem, there is the case where the + optional dependency is not even known to Buildroot. For example, + package A in version 1.0 never used OpenSSL, but in version 2.0 it + automatically uses OpenSSL if available. If the Buildroot .mk file + hasn't been updated to take this into account, then package A will + not be part of the reverse dependencies of OpenSSL and will not be + removed and rebuilt when OpenSSL is removed. For sure, the .mk file + of package A should be fixed to mention this optional dependency, + but in the mean time, you can have non-reproducible behaviors. + + * The request is to also allow changes in the menuconfig to be + applied on the output directory without having to rebuild + everything from scratch. However, this is very difficult to achieve + in a reliable way: what happens when the suboptions of a package + are changed (we would have to detect this, and rebuild the package + from scratch and potentially all its reverse dependencies), what + happens if toolchain options are changed, etc. At the moment, what + Buildroot does is clear and simple so its behaviour is very + reliable and it is easy to support users. If configuration changes + done in menuconfig are applied after the next make, then it has to + work correctly and properly in all situations, and not have some + bizarre corner cases. The risk is to get bug reports like "I have + enabled package A, B and C, then ran make, then disabled package + C and enabled package D and ran make, then re-enabled package C + and enabled package E and then there is a build failure". Or worse + "I did some configuration, then built, then did some changes, + built, some more changes, built, some more changes, built, and now + it fails, but I don't remember all the changes I did and in which + order". This will be impossible to support. + +For all these reasons, the conclusion is that adding tracking of +installed files to remove them when the package is unselected, or to +generate a repository of binary packages, is something that is very +hard to achieve reliably and will add a lot of complexity. + +On this matter, the Buildroot developers make this position statement: + + * Buildroot strives to make it easy to generate a root filesystem (hence + the name, by the way.) That is what we want to make Buildroot good at: + building root filesystems. + + * Buildroot is not meant to be a distribution (or rather, a distribution + generator.) It is the opinion of most Buildroot developers that this + is not a goal we should pursue. We believe that there are other tools + better suited to generate a distro than Buildroot is. For example, + http://openembedded.org/[Open Embedded], or https://openwrt.org/[openWRT], + are such tools. + + * We prefer to push Buildroot in a direction that makes it easy (or even + easier) to generate complete root filesystems. This is what makes + Buildroot stands out in the crowd (among other things, of course!) + + * We believe that for most embedded Linux systems, binary packages are + not necessary, and potentially harmful. When binary packages are + used, it means that the system can be partially upgraded, which + creates an enormous number of possible combinations of package + versions that should be tested before doing the upgrade on the + embedded device. On the other hand, by doing complete system + upgrades by upgrading the entire root filesystem image at once, + the image deployed to the embedded system is guaranteed to really + be the one that has been tested and validated. + +[[faq-speeding-up-build]] +=== How to speed-up the build process? + +Since Buildroot often involves doing full rebuilds of the entire +system that can be quite long, we provide below a number of tips to +help reduce the build time: + + * Use a pre-built external toolchain instead of the default Buildroot + internal toolchain. By using a pre-built Linaro toolchain (on ARM) + or a Sourcery CodeBench toolchain (for ARM, x86, x86-64, MIPS, + etc.), you will save the build time of the toolchain at each + complete rebuild, approximately 15 to 20 minutes. Note that + temporarily using an external toolchain does not prevent you to + switch back to an internal toolchain (that may provide a higher + level of customization) once the rest of your system is working; + + * Use the +ccache+ compiler cache (see: xref:ccache[]); + + * Learn about rebuilding only the few packages you actually care + about (see xref:rebuild-pkg[]), but beware that sometimes full + rebuilds are anyway necessary (see xref:full-rebuild[]); + + * Make sure you are not using a virtual machine for the Linux system + used to run Buildroot. Most of the virtual machine technologies are + known to cause a significant performance impact on I/O, which is + really important for building source code; + + * Make sure that you're using only local files: do not attempt to do + a build over NFS, which significantly slows down the build. Having + the Buildroot download folder available locally also helps a bit. + + * Buy new hardware. SSDs and lots of RAM are key to speeding up the + builds. diff --git a/docs/manual/getting.txt b/docs/manual/getting.txt new file mode 100644 index 0000000000..549938a223 --- /dev/null +++ b/docs/manual/getting.txt @@ -0,0 +1,36 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[getting-buildroot]] +== Getting Buildroot + +Buildroot releases are made every 3 months, in February, May, August and +November. Release numbers are in the format YYYY.MM, so for example +2013.02, 2014.08. + +Release tarballs are available at http://buildroot.org/downloads/[]. + +For your convenience, a https://www.vagrantup.com/[Vagrantfile] is +available in `support/misc/Vagrantfile` in the Buildroot source tree +to quickly set up a virtual machine with the needed dependencies to +get started. + +If you want to setup an isolated buildroot environment on Linux or Mac +Os X, paste this line onto your terminal: + +-------------------- +curl -O https://buildroot.org/downloads/Vagrantfile; vagrant up +-------------------- + +If you are on Windows, paste this into your powershell: + +-------------------- +(new-object System.Net.WebClient).DownloadFile( +"https://buildroot.org/downloads/Vagrantfile","Vagrantfile"); +vagrant up +-------------------- + +If you want to follow development, you can use the daily snapshots or +make a clone of the Git repository. Refer to the +http://buildroot.org/download[Download page] of the Buildroot website +for more details. diff --git a/docs/manual/github_hash_mongrel2.png b/docs/manual/github_hash_mongrel2.png new file mode 100644 index 0000000000..c695c3181a Binary files /dev/null and b/docs/manual/github_hash_mongrel2.png differ diff --git a/docs/manual/how-buildroot-works.txt b/docs/manual/how-buildroot-works.txt new file mode 100644 index 0000000000..1204d1ecab --- /dev/null +++ b/docs/manual/how-buildroot-works.txt @@ -0,0 +1,69 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +== How Buildroot works + +As mentioned above, Buildroot is basically a set of Makefiles that +download, configure, and compile software with the correct options. It +also includes patches for various software packages - mainly the ones +involved in the cross-compilation toolchain (+gcc+, +binutils+ and ++uClibc+). + +There is basically one Makefile per software package, and they are +named with the +.mk+ extension. Makefiles are split into many different +parts. + +* The +toolchain/+ directory contains the Makefiles + and associated files for all software related to the + cross-compilation toolchain: +binutils+, +gcc+, +gdb+, + +kernel-headers+ and +uClibc+. + +* The +arch/+ directory contains the definitions for all the processor + architectures that are supported by Buildroot. + +* The +package/+ directory contains the Makefiles and + associated files for all user-space tools and libraries that Buildroot + can compile and add to the target root filesystem. There is one + sub-directory per package. + +* The +linux/+ directory contains the Makefiles and associated files for + the Linux kernel. + +* The +boot/+ directory contains the Makefiles and associated files for + the bootloaders supported by Buildroot. + +* The +system/+ directory contains support for system integration, e.g. + the target filesystem skeleton and the selection of an init system. + +* The +fs/+ directory contains the Makefiles and + associated files for software related to the generation of the + target root filesystem image. + +Each directory contains at least 2 files: + +* +something.mk+ is the Makefile that downloads, configures, + compiles and installs the package +something+. + +* +Config.in+ is a part of the configuration tool + description file. It describes the options related to the + package. + +The main Makefile performs the following steps (once the +configuration is done): + +* Create all the output directories: +staging+, +target+, +build+, + etc. in the output directory (+output/+ by default, + another value can be specified using +O=+) + +* Generate the toolchain target. When an internal toolchain is used, this + means generating the cross-compilation toolchain. When an external + toolchain is used, this means checking the features of the external + toolchain and importing it into the Buildroot environment. + +* Generate all the targets listed in the +TARGETS+ variable. This + variable is filled by all the individual components' + Makefiles. Generating these targets will trigger the compilation of + the userspace packages (libraries, programs), the kernel, the + bootloader and the generation of the root filesystem images, + depending on the configuration. + diff --git a/docs/manual/introduction.txt b/docs/manual/introduction.txt new file mode 100644 index 0000000000..476aa81edc --- /dev/null +++ b/docs/manual/introduction.txt @@ -0,0 +1,26 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +== About Buildroot + +Buildroot is a tool that simplifies and automates the process of +building a complete Linux system for an embedded system, using +cross-compilation. + +In order to achieve this, Buildroot is able to generate a +cross-compilation toolchain, a root filesystem, a Linux kernel image +and a bootloader for your target. Buildroot can be used for any +combination of these options, independently (you can for example use +an existing cross-compilation toolchain, and build only your root +filesystem with Buildroot). + +Buildroot is useful mainly for people working with embedded systems. +Embedded systems often use processors that are not the regular x86 +processors everyone is used to having in his PC. They can be PowerPC +processors, MIPS processors, ARM processors, etc. + +Buildroot supports numerous processors and their variants; it also +comes with default configurations for several boards available +off-the-shelf. Besides this, a number of third-party projects are based on, +or develop their BSP footnote:[BSP: Board Support Package] or +SDK footnote:[SDK: Software Development Kit] on top of Buildroot. diff --git a/docs/manual/known-issues.txt b/docs/manual/known-issues.txt new file mode 100644 index 0000000000..ae29a48b38 --- /dev/null +++ b/docs/manual/known-issues.txt @@ -0,0 +1,15 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +== Known issues + +* It is not possible to pass extra linker options via +BR2_TARGET_LDFLAGS+ + if such options contain a +$+ sign. For example, the following is known + to break: +BR2_TARGET_LDFLAGS="-Wl,-rpath=\'$ORIGIN/../lib'"+ + +* The +libffi+ package is not supported on the SuperH 2 and ARC + architectures. + +* The +prboom+ package triggers a compiler failure with the SuperH 4 + compiler from Sourcery CodeBench, version 2012.09. + diff --git a/docs/manual/legal-notice.txt b/docs/manual/legal-notice.txt new file mode 100644 index 0000000000..69753282ec --- /dev/null +++ b/docs/manual/legal-notice.txt @@ -0,0 +1,123 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[legal-info]] + +== Legal notice and licensing + +=== Complying with open source licenses + +All of the end products of Buildroot (toolchain, root filesystem, kernel, +bootloaders) contain open source software, released under various licenses. + +Using open source software gives you the freedom to build rich embedded +systems, choosing from a wide range of packages, but also imposes some +obligations that you must know and honour. +Some licenses require you to publish the license text in the documentation of +your product. Others require you to redistribute the source code of the +software to those that receive your product. + +The exact requirements of each license are documented in each package, and +it is your responsibility (or that of your legal office) to comply with those +requirements. +To make this easier for you, Buildroot can collect for you some material you +will probably need. To produce this material, after you have configured +Buildroot with +make menuconfig+, +make xconfig+ or +make gconfig+, run: + +-------------------- +make legal-info +-------------------- + +Buildroot will collect legally-relevant material in your output directory, +under the +legal-info/+ subdirectory. +There you will find: + +* A +README+ file, that summarizes the produced material and contains warnings + about material that Buildroot could not produce. +* +buildroot.config+: this is the Buildroot configuration file that is usually + produced with +make menuconfig+, and which is necessary to reproduce the + build. +* The source code for all packages; this is saved in the +sources/+ and + +host-sources/+ subdirectories for target and host packages respectively. + The source code for packages that set +_REDISTRIBUTE = NO+ will not be + saved. + Patches that were applied are also saved, along with a file named +series+ + that lists the patches in the order they were applied. Patches are under the + same license as the files that they modify. + Note: Buildroot applies additional patches to Libtool scripts of + autotools-based packages. These patches can be found under + +support/libtool+ in the Buildroot source and, due to technical + limitations, are not saved with the package sources. You may need to + collect them manually. +* A manifest file (one for host and one for target packages) listing the + configured packages, their version, license and related information. + Some of this information might not be defined in Buildroot; such items are + marked as "unknown". +* The license texts of all packages, in the +licenses/+ and +host-licenses/+ + subdirectories for target and host packages respectively. + If the license file(s) are not defined in Buildroot, the file is not produced + and a warning in the +README+ indicates this. + +Please note that the aim of the +legal-info+ feature of Buildroot is to +produce all the material that is somehow relevant for legal compliance with the +package licenses. Buildroot does not try to produce the exact material that +you must somehow make public. Certainly, more material is produced than is +needed for a strict legal compliance. For example, it produces the source code +for packages released under BSD-like licenses, that you are not required to +redistribute in source form. + +Moreover, due to technical limitations, Buildroot does not produce some +material that you will or may need, such as the toolchain source code and the +Buildroot source code itself (including patches to packages for which source +distribution is required). +When you run +make legal-info+, Buildroot produces warnings in the +README+ +file to inform you of relevant material that could not be saved. + +Finally, keep in mind that the output of +make legal-info+ is based on +declarative statements in each of the packages recipes. The Buildroot +developers try to do their best to keep those declarative statements as +accurate as possible, to the best of their knowledge. However, it is very +well possible that those declarative statements are not all fully accurate +nor exhaustive. You (or your legal department) _have_ to check the output +of +make legal-info+ before using it as your own compliance delivery. See +the _NO WARRANTY_ clauses (clauses 11 and 12) in the +COPYING+ file at the +root of the Buildroot distribution. + +[[legal-info-buildroot]] +=== Complying with the Buildroot license + +Buildroot itself is an open source software, released under the +http://www.gnu.org/licenses/old-licenses/gpl-2.0.html[GNU General +Public License, version 2] or (at your option) any later version, with +the exception of the package patches detailed below. +However, being a build system, it is not normally part of the end product: +if you develop the root filesystem, kernel, bootloader or toolchain for a +device, the code of Buildroot is only present on the development machine, not +in the device storage. + +Nevertheless, the general view of the Buildroot developers is that you should +release the Buildroot source code along with the source code of other packages +when releasing a product that contains GPL-licensed software. +This is because the +http://www.gnu.org/licenses/old-licenses/gpl-2.0.html[GNU GPL] +defines the "'complete source code'" for an executable work as "'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'". +Buildroot is part of the 'scripts used to control compilation and +installation of the executable', and as such it is considered part of the +material that must be redistributed. + +Keep in mind that this is only the Buildroot developers' opinion, and you +should consult your legal department or lawyer in case of any doubt. + +==== Patches to packages + +Buildroot also bundles patch files, which are applied to the sources +of the various packages. Those patches are not covered by the license +of Buildroot. Instead, they are covered by the license of the software +to which the patches are applied. When said software is available +under multiple licenses, the Buildroot patches are only provided under +the publicly accessible licenses. + +See xref:patch-policy[] for the technical details. diff --git a/docs/manual/logo.png b/docs/manual/logo.png new file mode 100644 index 0000000000..2db743b4fa Binary files /dev/null and b/docs/manual/logo.png differ diff --git a/docs/manual/make-tips.txt b/docs/manual/make-tips.txt new file mode 100644 index 0000000000..ea1d825bef --- /dev/null +++ b/docs/manual/make-tips.txt @@ -0,0 +1,133 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[make-tips]] +=== 'make' tips + +This is a collection of tips that help you make the most of Buildroot. + +.Display all commands executed by make: + +-------------------- + $ make V=1 +-------------------- + +.Display the list of boards with a defconfig: + +-------------------- + $ make list-defconfigs +-------------------- + +.Display all available targets: + +-------------------- + $ make help +-------------------- + +Not all targets are always available, +some settings in the +.config+ file may hide some targets: + +* +busybox-menuconfig+ only works when +busybox+ is enabled; +* +linux-menuconfig+ and +linux-savedefconfig+ only work when + +linux+ is enabled; +* +uclibc-menuconfig+ is only available when the uClibc C library is + selected in the internal toolchain backend; +* +barebox-menuconfig+ and +barebox-savedefconfig+ only work when the + +barebox+ bootloader is enabled. +* +uboot-menuconfig+ and +uboot-savedefconfig+ only work when the + +U-Boot+ bootloader is enabled. + +.Cleaning: + +Explicit cleaning is required when any of the architecture or toolchain +configuration options are changed. + +To delete all build products (including build directories, host, staging +and target trees, the images and the toolchain): + +-------------------- + $ make clean +-------------------- + +.Generating the manual: + +The present manual sources are located in the 'docs/manual' directory. +To generate the manual: + +--------------------------------- + $ make manual-clean + $ make manual +--------------------------------- + +The manual outputs will be generated in 'output/docs/manual'. + +.Notes +- A few tools are required to build the documentation (see: + xref:requirement-optional[]). + +.Resetting Buildroot for a new target: + +To delete all build products as well as the configuration: + +-------------------- + $ make distclean +-------------------- + +.Notes +If +ccache+ is enabled, running +make clean+ or +distclean+ does +not empty the compiler cache used by Buildroot. To delete it, refer +to xref:ccache[]. + +.Dumping the internal make variables: + +One can dump all the variables known to make, along with their values: + +---- + $ make -s printvars + VARIABLE=value_of_variable + ... +---- + +It is possible to tweak the output using some variables: + +- +VARS+ will limit the listing to variables which names match the + specified make-pattern +- +QUOTED_VARS+, if set to +YES+, will single-quote the value +- +RAW_VARS+, if set to +YES+, will print the unexpanded value + +For example: + +---- + $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES + BUSYBOX_DEPENDENCIES=skeleton toolchain + BUSYBOX_FINAL_ALL_DEPENDENCIES=skeleton toolchain + BUSYBOX_FINAL_DEPENDENCIES=skeleton toolchain + BUSYBOX_FINAL_PATCH_DEPENDENCIES= + BUSYBOX_RDEPENDENCIES=ncurses util-linux +---- + +---- + $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES QUOTED_VARS=YES + BUSYBOX_DEPENDENCIES='skeleton toolchain' + BUSYBOX_FINAL_ALL_DEPENDENCIES='skeleton toolchain' + BUSYBOX_FINAL_DEPENDENCIES='skeleton toolchain' + BUSYBOX_FINAL_PATCH_DEPENDENCIES='' + BUSYBOX_RDEPENDENCIES='ncurses util-linux' +---- + +---- + $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES RAW_VARS=YES + BUSYBOX_DEPENDENCIES=skeleton toolchain + BUSYBOX_FINAL_ALL_DEPENDENCIES=$(sort $(BUSYBOX_FINAL_DEPENDENCIES) $(BUSYBOX_FINAL_PATCH_DEPENDENCIES)) + BUSYBOX_FINAL_DEPENDENCIES=$(sort $(BUSYBOX_DEPENDENCIES)) + BUSYBOX_FINAL_PATCH_DEPENDENCIES=$(sort $(BUSYBOX_PATCH_DEPENDENCIES)) + BUSYBOX_RDEPENDENCIES=ncurses util-linux +---- + +The output of quoted variables can be reused in shell scripts, for example: + +---- + $ eval $(make -s printvars VARS=BUSYBOX_DEPENDENCIES QUOTED_VARS=YES) + $ echo $BUSYBOX_DEPENDENCIES + skeleton toolchain +---- diff --git a/docs/manual/makedev-syntax.txt b/docs/manual/makedev-syntax.txt new file mode 100644 index 0000000000..d6efb31d42 --- /dev/null +++ b/docs/manual/makedev-syntax.txt @@ -0,0 +1,103 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[makedev-syntax]] +== Makedev syntax documentation + +The makedev syntax is used in several places in Buildroot to +define changes to be made for permissions, or which device files to +create and how to create them, in order to avoid calls to mknod. + +This syntax is derived from the makedev utility, and more complete +documentation can be found in the +package/makedevs/README+ file. + +It takes the form of a space separated list of fields, one file per +line; the fields are: + +|=========================================================== +|name |type |mode |uid |gid |major |minor |start |inc |count +|=========================================================== + +There are a few non-trivial blocks: + +- +name+ is the path to the file you want to create/modify +- +type+ is the type of the file, being one of: + * f: a regular file + * d: a directory + * r: a directory recursively + * c: a character device file + * b: a block device file + * p: a named pipe +- +mode+ are the usual permissions settings (only numerical values + are allowed) +- +uid+ and +gid+ are the UID and GID to set on this file; can be + either numerical values or actual names +- +major+ and +minor+ are here for device files, set to +-+ for other + files +- +start+, +inc+ and +count+ are for when you want to create a batch + of files, and can be reduced to a loop, beginning at +start+, + incrementing its counter by +inc+ until it reaches +count+ + +Let's say you want to change the permissions of a given file; using +this syntax, you will need to write: + +---- +/usr/bin/foo f 755 0 0 - - - - - +/usr/bin/bar f 755 root root - - - - - +/data/buz f 644 buz-user buz-group - - - - - +---- + +Alternatively, if you want to change owner/permission of a directory +recursively, you can write (to set UID to foo, GID to bar and access +rights to rwxr-x--- for the directory /usr/share/myapp and all files +and directories below it): + +---- +/usr/share/myapp r 750 foo bar - - - - - +---- + +On the other hand, if you want to create the device file +/dev/hda+ +and the corresponding 15 files for the partitions, you will need for ++/dev/hda+: + +---- +/dev/hda b 640 root root 3 0 0 0 - +---- + +and then for device files corresponding to the partitions of ++/dev/hda+, +/dev/hdaX+, +X+ ranging from 1 to 15: + +---- +/dev/hda b 640 root root 3 1 1 1 15 +---- + +Extended attributes are supported if ++BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES+ is enabled. +This is done by adding a line starting with +|xattr+ after +the line describing the file. Right now, only capability +is supported as extended attribute. + +|===================== +| \|xattr | capability +|===================== + +- +|xattr+ is a "flag" that indicate an extended attribute +- +capability+ is a capability to add to the previous file + +If you want to add the capability cap_sys_admin to the binary foo, +you will write : + +---- +/usr/bin/foo f 755 root root - - - - - +|xattr cap_sys_admin+eip +---- + +You can add several capabilities to a file by using several +|xattr+ lines. +If you want to add the capability cap_sys_admin and cap_net_admin to the +binary foo, you will write : + +---- +/usr/bin/foo f 755 root root - - - - - +|xattr cap_sys_admin+eip +|xattr cap_net_admin+eip +---- diff --git a/docs/manual/makeusers-syntax.txt b/docs/manual/makeusers-syntax.txt new file mode 100644 index 0000000000..467e596230 --- /dev/null +++ b/docs/manual/makeusers-syntax.txt @@ -0,0 +1,89 @@ +// -*- mode:doc -*- ; +// vim: set syntax=asciidoc: + +[[makeuser-syntax]] +== Makeusers syntax documentation + +The syntax to create users is inspired by the makedev syntax, above, but +is specific to Buildroot. + +The syntax for adding a user is a space-separated list of fields, one +user per line; the fields are: + +|================================================================= +|username |uid |group |gid |password |home |shell |groups |comment +|================================================================= + +Where: + +- +username+ is the desired user name (aka login name) for the user. + It can not be +root+, and must be unique. If set to +-+, then just a + group will be created. +- +uid+ is the desired UID for the user. It must be unique, and not + +0+. If set to +-1+, then a unique UID will be computed by Buildroot + in the range [1000...1999] +- +group+ is the desired name for the user's main group. It can not + be +root+. If the group does not exist, it will be created. +- +gid+ is the desired GID for the user's main group. It must be unique, + and not +0+. If set to +-1+, and the group does not already exist, then + a unique GID will be computed by Buildroot in the range [1000..1999] +- +password+ is the crypt(3)-encoded password. If prefixed with +!+, + then login is disabled. If prefixed with +=+, then it is interpreted + as clear-text, and will be crypt-encoded (using MD5). If prefixed with + +!=+, then the password will be crypt-encoded (using MD5) and login + will be disabled. If set to +*+, then login is not allowed. If set to + +-+, then no password value will be set. +- +home+ is the desired home directory for the user. If set to '-', no + home directory will be created, and the user's home will be +/+. + Explicitly setting +home+ to +/+ is not allowed. +- +shell+ is the desired shell for the user. If set to +-+, then + +/bin/false+ is set as the user's shell. +- +groups+ is the comma-separated list of additional groups the user + should be part of. If set to +-+, then the user will be a member of + no additional group. Missing groups will be created with an arbitrary + +gid+. +- +comment+ (aka https://en.wikipedia.org/wiki/Gecos_field[GECOS] + field) is an almost-free-form text. + +There are a few restrictions on the content of each field: + +* except for +comment+, all fields are mandatory. +* except for +comment+, fields may not contain spaces. +* no field may contain a colon (+:+). + +If +home+ is not +-+, then the home directory, and all files below, +will belong to the user and its main group. + +Examples: + +---- +foo -1 bar -1 !=blabla /home/foo /bin/sh alpha,bravo Foo user +---- + +This will create this user: + +- +username+ (aka login name) is: +foo+ +- +uid+ is computed by Buildroot +- main +group+ is: +bar+ +- main group +gid+ is computed by Buildroot +- clear-text +password+ is: +blabla+, will be crypt(3)-encoded, and login is disabled. +- +home+ is: +/home/foo+ +- +shell+ is: +/bin/sh+ +- +foo+ is also a member of +groups+: +alpha+ and +bravo+ +- +comment+ is: +Foo user+ + +---- +test 8000 wheel -1 = - /bin/sh - Test user +---- + +This will create this user: + +- +username+ (aka login name) is: +test+ +- +uid+ is : +8000+ +- main +group+ is: +wheel+ +- main group +gid+ is computed by Buildroot, and will use the value defined in the rootfs skeleton +- +password+ is empty (aka no password). +- +home+ is +/+ but will not belong to +test+ +- +shell+ is: +/bin/sh+ +- +test+ is not a member of any additional +groups+ +- +comment+ is: +Test user+ diff --git a/docs/manual/manual.html b/docs/manual/manual.html new file mode 100644 index 0000000000..6897367d7f --- /dev/null +++ b/docs/manual/manual.html @@ -0,0 +1,4906 @@ + +The Buildroot user manual

The Buildroot user manual


Table of Contents

I. Getting started
1. About Buildroot
2. System requirements
2.1. Mandatory packages
2.2. Optional packages
3. Getting Buildroot
4. Buildroot quick start
5. Community resources
II. User guide
6. Buildroot configuration
6.1. Cross-compilation toolchain
6.2. /dev management
6.3. init system
7. Configuration of other components
8. General Buildroot usage
8.1. make tips
8.2. Understanding when a full rebuild is necessary
8.3. Understanding how to rebuild packages
8.4. Offline builds
8.5. Building out-of-tree
8.6. Environment variables
8.7. Dealing efficiently with filesystem images
8.8. Graphing the dependencies between packages
8.9. Graphing the build duration
8.10. Graphing the filesystem size contribution of packages
8.11. Integration with Eclipse
8.12. Advanced usage
9. Project-specific customization
9.1. Recommended directory structure
9.2. Keeping customizations outside of Buildroot
9.3. Storing the Buildroot configuration
9.4. Storing the configuration of other components
9.5. Customizing the generated target filesystem
9.6. Adding custom user accounts
9.7. Customization after the images have been created
9.8. Adding project-specific patches
9.9. Adding project-specific packages
9.10. Quick guide to storing your project-specific customizations
10. Frequently Asked Questions & Troubleshooting
10.1. The boot hangs after Starting network…
10.2. Why is there no compiler on the target?
10.3. Why are there no development files on the target?
10.4. Why is there no documentation on the target?
10.5. Why are some packages not visible in the Buildroot config menu?
10.6. Why not use the target directory as a chroot directory?
10.7. Why doesn’t Buildroot generate binary packages (.deb, .ipkg…)?
10.8. How to speed-up the build process?
11. Known issues
12. Legal notice and licensing
12.1. Complying with open source licenses
12.2. Complying with the Buildroot license
13. Beyond Buildroot
13.1. Boot the generated images
13.2. Chroot
III. Developer guide
14. How Buildroot works
15. Coding style
15.1. Config.in file
15.2. The .mk file
15.3. The documentation
15.4. Support scripts
16. Adding support for a particular board
17. Adding new packages to Buildroot
17.1. Package directory
17.2. Config files
17.3. The .mk file
17.4. The .hash file
17.5. Infrastructure for packages with specific build systems
17.6. Infrastructure for autotools-based packages
17.7. Infrastructure for CMake-based packages
17.8. Infrastructure for Python packages
17.9. Infrastructure for LuaRocks-based packages
17.10. Infrastructure for Perl/CPAN packages
17.11. Infrastructure for virtual packages
17.12. Infrastructure for packages using kconfig for configuration files
17.13. Infrastructure for rebar-based packages
17.14. Infrastructure for Waf-based packages
17.15. Infrastructure for packages building kernel modules
17.16. Infrastructure for asciidoc documents
17.17. Infrastructure specific to the Linux kernel package
17.18. Hooks available in the various build steps
17.19. Gettext integration and interaction with packages
17.20. Tips and tricks
17.21. Conclusion
18. Patching a package
18.1. Providing patches
18.2. How patches are applied
18.3. Format and licensing of the package patches
18.4. Integrating patches found on the Web
19. Download infrastructure
20. Debugging Buildroot
21. Contributing to Buildroot
21.1. Reproducing, analyzing and fixing bugs
21.2. Analyzing and fixing autobuild failures
21.3. Reviewing and testing patches
21.4. Work on items from the TODO list
21.5. Submitting patches
21.6. Reporting issues/bugs or getting help
22. DEVELOPERS file and get-developers
IV. Appendix
23. Makedev syntax documentation
24. Makeusers syntax documentation
25. Migrating from older Buildroot versions
25.1. Migrating to 2016.11
25.2. Migrating to 2017.08

Buildroot 2017.11 manual generated on 2017-11-30 +21:37:09 UTC from git revision 9dd76697cc

The Buildroot manual is written by the Buildroot developers. +It is licensed under the GNU General Public License, version 2. Refer to the +COPYING file in the Buildroot +sources for the full text of this license.

Copyright © 2004-2017 The Buildroot developers

logo.png

Part I. Getting started

Chapter 1. About Buildroot

Buildroot is a tool that simplifies and automates the process of +building a complete Linux system for an embedded system, using +cross-compilation.

In order to achieve this, Buildroot is able to generate a +cross-compilation toolchain, a root filesystem, a Linux kernel image +and a bootloader for your target. Buildroot can be used for any +combination of these options, independently (you can for example use +an existing cross-compilation toolchain, and build only your root +filesystem with Buildroot).

Buildroot is useful mainly for people working with embedded systems. +Embedded systems often use processors that are not the regular x86 +processors everyone is used to having in his PC. They can be PowerPC +processors, MIPS processors, ARM processors, etc.

Buildroot supports numerous processors and their variants; it also +comes with default configurations for several boards available +off-the-shelf. Besides this, a number of third-party projects are based on, +or develop their BSP [1] or +SDK [2] on top of Buildroot.



[1] BSP: Board Support Package

[2] SDK: Software Development Kit

Chapter 2. System requirements

Buildroot is designed to run on Linux systems.

While Buildroot itself will build most host packages it needs for the +compilation, certain standard Linux utilities are expected to be +already installed on the host system. Below you will find an overview of +the mandatory and optional packages (note that package names may vary +between distributions).

2.1. Mandatory packages

  • +Build tools: +

    • +which +
    • +sed +
    • +make (version 3.81 or any later) +
    • +binutils +
    • +build-essential (only for Debian based systems) +
    • +gcc (version 2.95 or any later) +
    • +g++ (version 2.95 or any later) +
    • +bash +
    • +patch +
    • +gzip +
    • +bzip2 +
    • +perl (version 5.8.7 or any later) +
    • +tar +
    • +cpio +
    • +python (version 2.6 or any later) +
    • +unzip +
    • +rsync +
    • +file (must be in /usr/bin/file) +
    • +bc +
  • +Source fetching tools: +

    • +wget +

2.2. Optional packages

  • +Configuration interface dependencies: +

    For these libraries, you need to install both runtime and development +data, which in many distributions are packaged separately. The +development packages typically have a -dev or -devel suffix.

    • +ncurses5 to use the menuconfig interface +
    • +qt4 to use the xconfig interface +
    • +glib2, gtk2 and glade2 to use the gconfig interface +
  • +Source fetching tools: +

    In the official tree, most of the package sources are retrieved using +wget from ftp, http or https locations. A few packages are only +available through a version control system. Moreover, Buildroot is +capable of downloading sources via other tools, like rsync or scp +(refer to Chapter 19, Download infrastructure for more details). If you enable +packages using any of these methods, you will need to install the +corresponding tool on the host system:

    • +bazaar +
    • +cvs +
    • +git +
    • +mercurial +
    • +rsync +
    • +scp +
    • +subversion +
  • +Java-related packages, if the Java Classpath needs to be built for + the target system: +

    • +The javac compiler +
    • +The jar tool +
  • +Documentation generation tools: +

    • +asciidoc, version 8.6.3 or higher +
    • +w3m +
    • +python with the argparse module (automatically present in 2.7+ and 3.2+) +
    • +dblatex (required for the pdf manual only) +
  • +Graph generation tools: +

    • +graphviz to use graph-depends and <pkg>-graph-depends +
    • +python-matplotlib to use graph-build +

Chapter 3. Getting Buildroot

Buildroot releases are made every 3 months, in February, May, August and +November. Release numbers are in the format YYYY.MM, so for example +2013.02, 2014.08.

Release tarballs are available at http://buildroot.org/downloads/.

For your convenience, a Vagrantfile is +available in support/misc/Vagrantfile in the Buildroot source tree +to quickly set up a virtual machine with the needed dependencies to +get started.

If you want to setup an isolated buildroot environment on Linux or Mac +Os X, paste this line onto your terminal:

curl -O https://buildroot.org/downloads/Vagrantfile; vagrant up

If you are on Windows, paste this into your powershell:

(new-object System.Net.WebClient).DownloadFile(
+"https://buildroot.org/downloads/Vagrantfile","Vagrantfile");
+vagrant up

If you want to follow development, you can use the daily snapshots or +make a clone of the Git repository. Refer to the +Download page of the Buildroot website +for more details.

Chapter 4. Buildroot quick start

Important: you can and should build everything as a normal user. There +is no need to be root to configure and use Buildroot. By running all +commands as a regular user, you protect your system against packages +behaving badly during compilation and installation.

The first step when using Buildroot is to create a configuration. +Buildroot has a nice configuration tool similar to the one you can +find in the Linux kernel or in +BusyBox.

From the buildroot directory, run

 $ make menuconfig

for the original curses-based configurator, or

 $ make nconfig

for the new curses-based configurator, or

 $ make xconfig

for the Qt-based configurator, or

 $ make gconfig

for the GTK-based configurator.

All of these "make" commands will need to build a configuration +utility (including the interface), so you may need to install +"development" packages for relevant libraries used by the +configuration utilities. Refer to Chapter 2, System requirements for more details, +specifically the optional requirements +Section 2.2, “Optional packages†+to get the dependencies of your favorite interface.

For each menu entry in the configuration tool, you can find associated +help that describes the purpose of the entry. Refer to Chapter 6, Buildroot configuration +for details on some specific configuration aspects.

Once everything is configured, the configuration tool generates a +.config file that contains the entire configuration. This file will be +read by the top-level Makefile.

To start the build process, simply run:

 $ make

You should never use make -jN with Buildroot: top-level parallel +make is currently not supported. Instead, use the BR2_JLEVEL option +to tell Buildroot to run the compilation of each individual package +with make -jN.

The make command will generally perform the following steps:

  • +download source files (as required); +
  • +configure, build and install the cross-compilation toolchain, or + simply import an external toolchain; +
  • +configure, build and install selected target packages; +
  • +build a kernel image, if selected; +
  • +build a bootloader image, if selected; +
  • +create a root filesystem in selected formats. +

Buildroot output is stored in a single directory, output/. +This directory contains several subdirectories:

  • +images/ where all the images (kernel image, bootloader and root + filesystem images) are stored. These are the files you need to put + on your target system. +
  • +build/ where all the components are built (this includes tools + needed by Buildroot on the host and packages compiled for the + target). This directory contains one subdirectory for each of these + components. +
  • +staging/ which contains a hierarchy similar to a root filesystem + hierarchy. This directory contains the headers and libraries of the + cross-compilation toolchain and all the userspace packages selected + for the target. However, this directory is not intended to be + the root filesystem for the target: it contains a lot of development + files, unstripped binaries and libraries that make it far too big + for an embedded system. These development files are used to compile + libraries and applications for the target that depend on other + libraries. +
  • +target/ which contains almost the complete root filesystem for + the target: everything needed is present except the device files in + /dev/ (Buildroot can’t create them because Buildroot doesn’t run + as root and doesn’t want to run as root). Also, it doesn’t have the correct + permissions (e.g. setuid for the busybox binary). Therefore, this directory + should not be used on your target. Instead, you should use one of + the images built in the images/ directory. If you need an + extracted image of the root filesystem for booting over NFS, then + use the tarball image generated in images/ and extract it as + root. Compared to staging/, target/ contains only the files and + libraries needed to run the selected target applications: the + development files (headers, etc.) are not present, the binaries are + stripped. +
  • +host/ contains the installation of tools compiled for the host + that are needed for the proper execution of Buildroot, including the + cross-compilation toolchain. +

These commands, make menuconfig|nconfig|gconfig|xconfig and make, are the +basic ones that allow to easily and quickly generate images fitting +your needs, with all the features and applications you enabled.

More details about the "make" command usage are given in +Section 8.1, “make tipsâ€.

Chapter 5. Community resources

Like any open source project, Buildroot has different ways to share +information in its community and outside.

Each of those ways may interest you if you are looking for some help, +want to understand Buildroot or contribute to the project.

+Mailing List +

Buildroot has a mailing list for discussion and development. It is the +main method of interaction for Buildroot users and developers.

Only subscribers to the Buildroot mailing list are allowed to post to +this list. You can subscribe via the +mailing list info +page.

Mails that are sent to the mailing list are also available in the +mailing list archives and +via Gmane, at +gmane.comp.lib.uclibc.buildroot. +Please search the mailing list archives before asking questions, since +there is a good chance someone else has asked the same question before.

+IRC +

The Buildroot IRC channel #buildroot is +hosted on Freenode. It is a useful place to +ask quick questions or discuss on certain topics.

When asking for help on IRC, share relevant logs or pieces of code +using a code sharing website, such as http://code.bulix.org.

Note that for certain questions, posting to the mailing list may be +better as it will reach more people, both developers and users.

+Bug tracker +
Bugs in Buildroot can be reported via the mailing list or alternatively +via the Buildroot +bugtracker. Please refer to Section 21.6, “Reporting issues/bugs or getting help†before creating a bug +report.
+Wiki +
The Buildroot wiki page is hosted on +the eLinux wiki. It contains some useful links, an +overview of past and upcoming events, and a TODO list.
+Patchwork +

Patchwork is a web-based patch tracking system designed to facilitate +the contribution and management of contributions to an open-source +project. Patches that have been sent to a mailing list are 'caught' by +the system, and appear on a web page. Any comments posted that +reference the patch are appended to the patch page too. For more +information on Patchwork see +http://jk.ozlabs.org/projects/patchwork/.

Buildroot’s Patchwork website is mainly for use by Buildroot’s +maintainer to ensure patches aren’t missed. It is also used by Buildroot +patch reviewers (see also Section 21.3.1, “Applying Patches from Patchworkâ€). +However, since the website exposes patches and their corresponding +review comments in a clean and concise web interface, it can be useful +for all Buildroot developers.

The Buildroot patch management interface is available at +http://patchwork.buildroot.org.

Part II. User guide

Chapter 6. Buildroot configuration

All the configuration options in make *config have a help text +providing details about the option.

The make *config commands also offer a search tool. Read the help +message in the different frontend menus to know how to use it:

  • +in menuconfig, the search tool is called by pressing /; +
  • +in xconfig, the search tool is called by pressing Ctrl + f. +

The result of the search shows the help message of the matching items. +In menuconfig, numbers in the left column provide a shortcut to the +corresponding entry. Just type this number to directly jump to the +entry, or to the containing menu in case the entry is not selectable due +to a missing dependency.

Although the menu structure and the help text of the entries should be +sufficiently self-explanatory, a number of topics require additional +explanation that cannot easily be covered in the help text and are +therefore covered in the following sections.

6.1. Cross-compilation toolchain

A compilation toolchain is the set of tools that allows you to compile +code for your system. It consists of a compiler (in our case, gcc), +binary utils like assembler and linker (in our case, binutils) and a +C standard library (for example +GNU Libc, +uClibc-ng).

The system installed on your development station certainly already has +a compilation toolchain that you can use to compile an application +that runs on your system. If you’re using a PC, your compilation +toolchain runs on an x86 processor and generates code for an x86 +processor. Under most Linux systems, the compilation toolchain uses +the GNU libc (glibc) as the C standard library. This compilation +toolchain is called the "host compilation toolchain". The machine on +which it is running, and on which you’re working, is called the "host +system" [3].

The compilation toolchain is provided by your distribution, and +Buildroot has nothing to do with it (other than using it to build a +cross-compilation toolchain and other tools that are run on the +development host).

As said above, the compilation toolchain that comes with your system +runs on and generates code for the processor in your host system. As +your embedded system has a different processor, you need a +cross-compilation toolchain - a compilation toolchain that runs on +your host system but generates code for your target system (and +target processor). For example, if your host system uses x86 and your +target system uses ARM, the regular compilation toolchain on your host +runs on x86 and generates code for x86, while the cross-compilation +toolchain runs on x86 and generates code for ARM.

Buildroot provides two solutions for the cross-compilation toolchain:

  • +The internal toolchain backend, called Buildroot toolchain in + the configuration interface. +
  • +The external toolchain backend, called External toolchain in + the configuration interface. +

The choice between these two solutions is done using the Toolchain +Type option in the Toolchain menu. Once one solution has been +chosen, a number of configuration options appear, they are detailed in +the following sections.

6.1.1. Internal toolchain backend

The internal toolchain backend is the backend where Buildroot builds +by itself a cross-compilation toolchain, before building the userspace +applications and libraries for your target embedded system.

This backend supports several C libraries: +uClibc-ng, +glibc and +musl.

Once you have selected this backend, a number of options appear. The +most important ones allow to:

  • +Change the version of the Linux kernel headers used to build the + toolchain. This item deserves a few explanations. In the process of + building a cross-compilation toolchain, the C library is being + built. This library provides the interface between userspace + applications and the Linux kernel. In order to know how to "talk" + to the Linux kernel, the C library needs to have access to the + Linux kernel headers (i.e. the .h files from the kernel), which + define the interface between userspace and the kernel (system + calls, data structures, etc.). Since this interface is backward + compatible, the version of the Linux kernel headers used to build + your toolchain do not need to match exactly the version of the + Linux kernel you intend to run on your embedded system. They only + need to have a version equal or older to the version of the Linux + kernel you intend to run. If you use kernel headers that are more + recent than the Linux kernel you run on your embedded system, then + the C library might be using interfaces that are not provided by + your Linux kernel. +
  • +Change the version of the GCC compiler, binutils and the C library. +
  • +Select a number of toolchain options (uClibc only): whether the + toolchain should have RPC support (used mainly for NFS), + wide-char support, locale support (for internationalization), + C++ support or thread support. Depending on which options you choose, + the number of userspace applications and libraries visible in + Buildroot menus will change: many applications and libraries require + certain toolchain options to be enabled. Most packages show a comment + when a certain toolchain option is required to be able to enable + those packages. If needed, you can further refine the uClibc + configuration by running make uclibc-menuconfig. Note however that + all packages in Buildroot are tested against the default uClibc + configuration bundled in Buildroot: if you deviate from this + configuration by removing features from uClibc, some packages may no + longer build. +

It is worth noting that whenever one of those options is modified, +then the entire toolchain and system must be rebuilt. See +Section 8.2, “Understanding when a full rebuild is necessaryâ€.

Advantages of this backend:

  • +Well integrated with Buildroot +
  • +Fast, only builds what’s necessary +

Drawbacks of this backend:

  • +Rebuilding the toolchain is needed when doing make clean, which + takes time. If you’re trying to reduce your build time, consider + using the External toolchain backend. +

6.1.2. External toolchain backend

The external toolchain backend allows to use existing pre-built +cross-compilation toolchains. Buildroot knows about a number of +well-known cross-compilation toolchains (from +Linaro for ARM, +Sourcery +CodeBench for ARM, x86-64, PowerPC, and MIPS, and is capable of +downloading them automatically, or it can be pointed to a custom +toolchain, either available for download or installed locally.

Then, you have three solutions to use an external toolchain:

  • +Use a predefined external toolchain profile, and let Buildroot + download, extract and install the toolchain. Buildroot already knows + about a few CodeSourcery and Linaro toolchains. Just select the + toolchain profile in Toolchain from the available ones. This is + definitely the easiest solution. +
  • +Use a predefined external toolchain profile, but instead of having + Buildroot download and extract the toolchain, you can tell Buildroot + where your toolchain is already installed on your system. Just + select the toolchain profile in Toolchain through the available + ones, unselect Download toolchain automatically, and fill the + Toolchain path text entry with the path to your cross-compiling + toolchain. +
  • +Use a completely custom external toolchain. This is particularly + useful for toolchains generated using crosstool-NG or with Buildroot + itself. To do this, select the Custom toolchain solution in the + Toolchain list. You need to fill the Toolchain path, Toolchain + prefix and External toolchain C library options. Then, you have + to tell Buildroot what your external toolchain supports. If your + external toolchain uses the glibc library, you only have to tell + whether your toolchain supports C++ or not and whether it has + built-in RPC support. If your external toolchain uses the uClibc + library, then you have to tell Buildroot if it supports RPC, + wide-char, locale, program invocation, threads and C++. + At the beginning of the execution, Buildroot will tell you if + the selected options do not match the toolchain configuration. +

Our external toolchain support has been tested with toolchains from +CodeSourcery and Linaro, toolchains generated by +crosstool-NG, and toolchains generated by +Buildroot itself. In general, all toolchains that support the +sysroot feature should work. If not, do not hesitate to contact the +developers.

We do not support toolchains or SDK generated by OpenEmbedded or +Yocto, because these toolchains are not pure toolchains (i.e. just the +compiler, binutils, the C and C++ libraries). Instead these toolchains +come with a very large set of pre-compiled libraries and +programs. Therefore, Buildroot cannot import the sysroot of the +toolchain, as it would contain hundreds of megabytes of pre-compiled +libraries that are normally built by Buildroot.

We also do not support using the distribution toolchain (i.e. the +gcc/binutils/C library installed by your distribution) as the +toolchain to build software for the target. This is because your +distribution toolchain is not a "pure" toolchain (i.e. only with the +C/C++ library), so we cannot import it properly into the Buildroot +build environment. So even if you are building a system for a x86 or +x86_64 target, you have to generate a cross-compilation toolchain with +Buildroot or crosstool-NG.

If you want to generate a custom toolchain for your project, that can +be used as an external toolchain in Buildroot, our recommendation is +definitely to build it with crosstool-NG. We +recommend to build the toolchain separately from Buildroot, and then +import it in Buildroot using the external toolchain backend.

Advantages of this backend:

  • +Allows to use well-known and well-tested cross-compilation + toolchains. +
  • +Avoids the build time of the cross-compilation toolchain, which is + often very significant in the overall build time of an embedded + Linux system. +

Drawbacks of this backend:

  • +If your pre-built external toolchain has a bug, may be hard to get a + fix from the toolchain vendor, unless you build your external + toolchain by yourself using Crosstool-NG. +

External toolchain wrapper

When using an external toolchain, Buildroot generates a wrapper program, +that transparently passes the appropriate options (according to the +configuration) to the external toolchain programs. In case you need to +debug this wrapper to check exactly what arguments are passed, you can +set the environment variable BR2_DEBUG_WRAPPER to either one of:

  • +0, empty or not set: no debug +
  • +1: trace all arguments on a single line +
  • +2: trace one argument per line +

6.2. /dev management

On a Linux system, the /dev directory contains special files, called +device files, that allow userspace applications to access the +hardware devices managed by the Linux kernel. Without these device +files, your userspace applications would not be able to use the +hardware devices, even if they are properly recognized by the Linux +kernel.

Under System configuration, /dev management, Buildroot offers four +different solutions to handle the /dev directory :

  • +The first solution is Static using device table. This is the old + classical way of handling device files in Linux. With this method, + the device files are persistently stored in the root filesystem + (i.e. they persist across reboots), and there is nothing that will + automatically create and remove those device files when hardware + devices are added or removed from the system. Buildroot therefore + creates a standard set of device files using a device table, the + default one being stored in system/device_table_dev.txt in the + Buildroot source code. This file is processed when Buildroot + generates the final root filesystem image, and the device files + are therefore not visible in the output/target directory. The + BR2_ROOTFS_STATIC_DEVICE_TABLE option allows to change the + default device table used by Buildroot, or to add an additional + device table, so that additional device files are created by + Buildroot during the build. So, if you use this method, and a + device file is missing in your system, you can for example create + a board/<yourcompany>/<yourproject>/device_table_dev.txt file + that contains the description of your additional device files, + and then you can set BR2_ROOTFS_STATIC_DEVICE_TABLE to + system/device_table_dev.txt + board/<yourcompany>/<yourproject>/device_table_dev.txt. For more + details about the format of the device table file, see + Chapter 23, Makedev syntax documentation. +
  • +The second solution is Dynamic using devtmpfs only. devtmpfs is + a virtual filesystem inside the Linux kernel that has been + introduced in kernel 2.6.32 (if you use an older kernel, it is not + possible to use this option). When mounted in /dev, this virtual + filesystem will automatically make device files appear and + disappear as hardware devices are added and removed from the + system. This filesystem is not persistent across reboots: it is + filled dynamically by the kernel. Using devtmpfs requires the + following kernel configuration options to be enabled: + CONFIG_DEVTMPFS and CONFIG_DEVTMPFS_MOUNT. When Buildroot is in + charge of building the Linux kernel for your embedded device, it + makes sure that those two options are enabled. However, if you + build your Linux kernel outside of Buildroot, then it is your + responsibility to enable those two options (if you fail to do so, + your Buildroot system will not boot). +
  • +The third solution is Dynamic using devtmpfs + mdev. This method + also relies on the devtmpfs virtual filesystem detailed above (so + the requirement to have CONFIG_DEVTMPFS and + CONFIG_DEVTMPFS_MOUNT enabled in the kernel configuration still + apply), but adds the mdev userspace utility on top of it. mdev + is a program part of BusyBox that the kernel will call every time a + device is added or removed. Thanks to the /etc/mdev.conf + configuration file, mdev can be configured to for example, set + specific permissions or ownership on a device file, call a script + or application whenever a device appears or disappear, + etc. Basically, it allows userspace to react on device addition + and removal events. mdev can for example be used to automatically + load kernel modules when devices appear on the system. mdev is + also important if you have devices that require a firmware, as it + will be responsible for pushing the firmware contents to the + kernel. mdev is a lightweight implementation (with fewer + features) of udev. For more details about mdev and the syntax + of its configuration file, see + http://git.busybox.net/busybox/tree/docs/mdev.txt. +
  • +The fourth solution is Dynamic using devtmpfs + eudev. This + method also relies on the devtmpfs virtual filesystem detailed + above, but adds the eudev userspace daemon on top of it. eudev + is a daemon that runs in the background, and gets called by the + kernel when a device gets added or removed from the system. It is a + more heavyweight solution than mdev, but provides higher + flexibility. eudev is a standalone version of udev, the + original userspace daemon used in most desktop Linux distributions, + which is now part of Systemd. For more details, see + http://en.wikipedia.org/wiki/Udev. +

The Buildroot developers recommendation is to start with the Dynamic +using devtmpfs only solution, until you have the need for userspace +to be notified when devices are added/removed, or if firmwares are +needed, in which case Dynamic using devtmpfs + mdev is usually a +good solution.

Note that if systemd is chosen as init system, /dev management will +be performed by the udev program provided by systemd.

6.3. init system

The init program is the first userspace program started by the +kernel (it carries the PID number 1), and is responsible for starting +the userspace services and programs (for example: web server, +graphical applications, other network servers, etc.).

Buildroot allows to use three different types of init systems, which +can be chosen from System configuration, Init system:

  • +The first solution is BusyBox. Amongst many programs, BusyBox has + an implementation of a basic init program, which is sufficient + for most embedded systems. Enabling the BR2_INIT_BUSYBOX will + ensure BusyBox will build and install its init program. This is + the default solution in Buildroot. The BusyBox init program will + read the /etc/inittab file at boot to know what to do. The syntax + of this file can be found in + http://git.busybox.net/busybox/tree/examples/inittab (note that + BusyBox inittab syntax is special: do not use a random inittab + documentation from the Internet to learn about BusyBox + inittab). The default inittab in Buildroot is stored in + system/skeleton/etc/inittab. Apart from mounting a few important + filesystems, the main job the default inittab does is to start the + /etc/init.d/rcS shell script, and start a getty program (which + provides a login prompt). +
  • +The second solution is systemV. This solution uses the old + traditional sysvinit program, packed in Buildroot in + package/sysvinit. This was the solution used in most desktop + Linux distributions, until they switched to more recent + alternatives such as Upstart or Systemd. sysvinit also works with + an inittab file (which has a slightly different syntax than the + one from BusyBox). The default inittab installed with this init + solution is located in package/sysvinit/inittab. +
  • +The third solution is systemd. systemd is the new generation + init system for Linux. It does far more than traditional init + programs: aggressive parallelization capabilities, uses socket and + D-Bus activation for starting services, offers on-demand starting + of daemons, keeps track of processes using Linux control groups, + supports snapshotting and restoring of the system state, + etc. systemd will be useful on relatively complex embedded + systems, for example the ones requiring D-Bus and services + communicating between each other. It is worth noting that systemd + brings a fairly big number of large dependencies: dbus, udev + and more. For more details about systemd, see + http://www.freedesktop.org/wiki/Software/systemd. +

The solution recommended by Buildroot developers is to use the +BusyBox init as it is sufficient for most embedded +systems. systemd can be used for more complex situations.



[3] This terminology differs from what is used by GNU +configure, where the host is the machine on which the application will +run (which is usually the same as target)

Chapter 7. Configuration of other components

Before attempting to modify any of the components below, make sure you +have already configured Buildroot itself, and have enabled the +corresponding package.

+BusyBox +

If you already have a BusyBox configuration file, you can directly +specify this file in the Buildroot configuration, using +BR2_PACKAGE_BUSYBOX_CONFIG. Otherwise, Buildroot will start from a +default BusyBox configuration file.

To make subsequent changes to the configuration, use make +busybox-menuconfig to open the BusyBox configuration editor.

It is also possible to specify a BusyBox configuration file through an +environment variable, although this is not recommended. Refer to +Section 8.6, “Environment variables†for more details.

+uClibc +
Configuration of uClibc is done in the same way as for BusyBox. The +configuration variable to specify an existing configuration file is +BR2_UCLIBC_CONFIG. The command to make subsequent changes is make +uclibc-menuconfig.
+Linux kernel +

If you already have a kernel configuration file, you can directly +specify this file in the Buildroot configuration, using +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG.

If you do not yet have a kernel configuration file, you can either start +by specifying a defconfig in the Buildroot configuration, using +BR2_LINUX_KERNEL_USE_DEFCONFIG, or start by creating an empty file and +specifying it as custom configuration file, using +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG.

To make subsequent changes to the configuration, use make +linux-menuconfig to open the Linux configuration editor.

+Barebox +
Configuration of Barebox is done in the same way as for the Linux +kernel. The corresponding configuration variables are +BR2_TARGET_BAREBOX_USE_CUSTOM_CONFIG and +BR2_TARGET_BAREBOX_USE_DEFCONFIG. To open the configuration editor, +use make barebox-menuconfig.
+U-Boot +
Configuration of U-Boot (version 2015.04 or newer) is done in the same +way as for the Linux kernel. The corresponding configuration variables +are BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG and +BR2_TARGET_UBOOT_USE_DEFCONFIG. To open the configuration editor, +use make uboot-menuconfig.

Chapter 8. General Buildroot usage

8.1. make tips

This is a collection of tips that help you make the most of Buildroot.

Display all commands executed by make:  +

 $ make V=1 <target>

+

Display the list of boards with a defconfig:  +

 $ make list-defconfigs

+

Display all available targets:  +

 $ make help

+

Not all targets are always available, +some settings in the .config file may hide some targets:

  • +busybox-menuconfig only works when busybox is enabled; +
  • +linux-menuconfig and linux-savedefconfig only work when + linux is enabled; +
  • +uclibc-menuconfig is only available when the uClibc C library is + selected in the internal toolchain backend; +
  • +barebox-menuconfig and barebox-savedefconfig only work when the + barebox bootloader is enabled. +
  • +uboot-menuconfig and uboot-savedefconfig only work when the + U-Boot bootloader is enabled. +

Cleaning: Explicit cleaning is required when any of the architecture or toolchain +configuration options are changed.

To delete all build products (including build directories, host, staging +and target trees, the images and the toolchain):

 $ make clean

Generating the manual: The present manual sources are located in the docs/manual directory. +To generate the manual:

 $ make manual-clean
+ $ make manual

The manual outputs will be generated in output/docs/manual.

Notes

Resetting Buildroot for a new target: To delete all build products as well as the configuration:

 $ make distclean

Notes. If ccache is enabled, running make clean or distclean does +not empty the compiler cache used by Buildroot. To delete it, refer +to Section 8.12.3, “Using ccache in Buildrootâ€.

Dumping the internal make variables: One can dump all the variables known to make, along with their values:

 $ make -s printvars
+ VARIABLE=value_of_variable
+ ...

It is possible to tweak the output using some variables:

  • +VARS will limit the listing to variables which names match the + specified make-pattern +
  • +QUOTED_VARS, if set to YES, will single-quote the value +
  • +RAW_VARS, if set to YES, will print the unexpanded value +

For example:

 $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES
+ BUSYBOX_DEPENDENCIES=skeleton toolchain
+ BUSYBOX_FINAL_ALL_DEPENDENCIES=skeleton toolchain
+ BUSYBOX_FINAL_DEPENDENCIES=skeleton toolchain
+ BUSYBOX_FINAL_PATCH_DEPENDENCIES=
+ BUSYBOX_RDEPENDENCIES=ncurses util-linux
 $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES QUOTED_VARS=YES
+ BUSYBOX_DEPENDENCIES='skeleton toolchain'
+ BUSYBOX_FINAL_ALL_DEPENDENCIES='skeleton toolchain'
+ BUSYBOX_FINAL_DEPENDENCIES='skeleton toolchain'
+ BUSYBOX_FINAL_PATCH_DEPENDENCIES=''
+ BUSYBOX_RDEPENDENCIES='ncurses util-linux'
 $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES RAW_VARS=YES
+ BUSYBOX_DEPENDENCIES=skeleton toolchain
+ BUSYBOX_FINAL_ALL_DEPENDENCIES=$(sort $(BUSYBOX_FINAL_DEPENDENCIES) $(BUSYBOX_FINAL_PATCH_DEPENDENCIES))
+ BUSYBOX_FINAL_DEPENDENCIES=$(sort $(BUSYBOX_DEPENDENCIES))
+ BUSYBOX_FINAL_PATCH_DEPENDENCIES=$(sort $(BUSYBOX_PATCH_DEPENDENCIES))
+ BUSYBOX_RDEPENDENCIES=ncurses util-linux

The output of quoted variables can be reused in shell scripts, for example:

 $ eval $(make -s printvars VARS=BUSYBOX_DEPENDENCIES QUOTED_VARS=YES)
+ $ echo $BUSYBOX_DEPENDENCIES
+ skeleton toolchain

8.2. Understanding when a full rebuild is necessary

Buildroot does not attempt to detect what parts of the system should +be rebuilt when the system configuration is changed through make +menuconfig, make xconfig or one of the other configuration +tools. In some cases, Buildroot should rebuild the entire system, in +some cases, only a specific subset of packages. But detecting this in +a completely reliable manner is very difficult, and therefore the +Buildroot developers have decided to simply not attempt to do this.

Instead, it is the responsibility of the user to know when a full +rebuild is necessary. As a hint, here are a few rules of thumb that +can help you understand how to work with Buildroot:

  • +When the target architecture configuration is changed, a complete + rebuild is needed. Changing the architecture variant, the binary + format or the floating point strategy for example has an impact on + the entire system. +
  • +When the toolchain configuration is changed, a complete rebuild + generally is needed. Changing the toolchain configuration often + involves changing the compiler version, the type of C library or + its configuration, or some other fundamental configuration item, + and these changes have an impact on the entire system. +
  • +When an additional package is added to the configuration, a full + rebuild is not necessarily needed. Buildroot will detect that this + package has never been built, and will build it. However, if this + package is a library that can optionally be used by packages that + have already been built, Buildroot will not automatically rebuild + those. Either you know which packages should be rebuilt, and you + can rebuild them manually, or you should do a full rebuild. For + example, let’s suppose you have built a system with the ctorrent + package, but without openssl. Your system works, but you realize + you would like to have SSL support in ctorrent, so you enable the + openssl package in Buildroot configuration and restart the + build. Buildroot will detect that openssl should be built and + will be build it, but it will not detect that ctorrent should be + rebuilt to benefit from openssl to add OpenSSL support. You will + either have to do a full rebuild, or rebuild ctorrent itself. +
  • +When a package is removed from the configuration, Buildroot does + not do anything special. It does not remove the files installed by + this package from the target root filesystem or from the toolchain + sysroot. A full rebuild is needed to get rid of this + package. However, generally you don’t necessarily need this package + to be removed right now: you can wait for the next lunch break to + restart the build from scratch. +
  • +When the sub-options of a package are changed, the package is not + automatically rebuilt. After making such changes, rebuilding only + this package is often sufficient, unless enabling the package + sub-option adds some features to the package that are useful for + another package which has already been built. Again, Buildroot does + not track when a package should be rebuilt: once a package has been + built, it is never rebuilt unless explicitly told to do so. +
  • +When a change to the root filesystem skeleton is made, a full + rebuild is needed. However, when changes to the root filesystem + overlay, a post-build script or a post-image script are made, + there is no need for a full rebuild: a simple make invocation + will take the changes into account. +

Generally speaking, when you’re facing a build error and you’re unsure +of the potential consequences of the configuration changes you’ve +made, do a full rebuild. If you get the same build error, then you are +sure that the error is not related to partial rebuilds of packages, +and if this error occurs with packages from the official Buildroot, do +not hesitate to report the problem! As your experience with Buildroot +progresses, you will progressively learn when a full rebuild is really +necessary, and you will save more and more time.

For reference, a full rebuild is achieved by running:

$ make clean all

8.3. Understanding how to rebuild packages

One of the most common questions asked by Buildroot users is how to +rebuild a given package or how to remove a package without rebuilding +everything from scratch.

Removing a package is unsupported by Buildroot without +rebuilding from scratch. This is because Buildroot doesn’t keep track +of which package installs what files in the output/staging and +output/target directories, or which package would be compiled differently +depending on the availability of another package.

The easiest way to rebuild a single package from scratch is to remove +its build directory in output/build. Buildroot will then re-extract, +re-configure, re-compile and re-install this package from scratch. You +can ask buildroot to do this with the make <package>-dirclean command.

On the other hand, if you only want to restart the build process of a +package from its compilation step, you can run make +<package>-rebuild, followed by make or make <package>. It will +restart the compilation and installation of the package, but not from +scratch: it basically re-executes make and make install +inside the package, so it will only rebuild files that changed.

If you want to restart the build process of a package from its +configuration step, you can run make <package>-reconfigure, followed +by make or make <package>. It will restart the configuration, +compilation and installation of the package.

Internally, Buildroot creates so-called stamp files to keep track of +which build steps have been completed for each package. They are +stored in the package build directory, +output/build/<package>-<version>/ and are named +.stamp_<step-name>. The commands detailed above simply manipulate +these stamp files to force Buildroot to restart a specific set of +steps of a package build process.

Further details about package special make targets are explained in +Section 8.12.5, “Package-specific make targetsâ€.

8.4. Offline builds

If you intend to do an offline build and just want to download +all sources that you previously selected in the configurator +(menuconfig, nconfig, xconfig or gconfig), then issue:

 $ make source

You can now disconnect or copy the content of your dl +directory to the build-host.

8.5. Building out-of-tree

As default, everything built by Buildroot is stored in the directory +output in the Buildroot tree.

Buildroot also supports building out of tree with a syntax similar to +the Linux kernel. To use it, add O=<directory> to the make command +line:

 $ make O=/tmp/build

Or:

 $ cd /tmp/build; make O=$PWD -C path/to/buildroot

All the output files will be located under /tmp/build. If the O +path does not exist, Buildroot will create it.

Note: the O path can be either an absolute or a relative path, but if it’s +passed as a relative path, it is important to note that it is interpreted +relative to the main Buildroot source directory, not the current working +directory.

When using out-of-tree builds, the Buildroot .config and temporary +files are also stored in the output directory. This means that you can +safely run multiple builds in parallel using the same source tree as +long as they use unique output directories.

For ease of use, Buildroot generates a Makefile wrapper in the output +directory - so after the first run, you no longer need to pass O=<…> +and -C <…>, simply run (in the output directory):

 $ make <target>

8.6. Environment variables

Buildroot also honors some environment variables, when they are passed +to make or set in the environment:

  • +HOSTCXX, the host C++ compiler to use +
  • +HOSTCC, the host C compiler to use +
  • +UCLIBC_CONFIG_FILE=<path/to/.config>, path to + the uClibc configuration file, used to compile uClibc, if an + internal toolchain is being built. + + Note that the uClibc configuration file can also be set from the + configuration interface, so through the Buildroot .config file; this + is the recommended way of setting it. + +
  • +BUSYBOX_CONFIG_FILE=<path/to/.config>, path to + the BusyBox configuration file. + + Note that the BusyBox configuration file can also be set from the + configuration interface, so through the Buildroot .config file; this + is the recommended way of setting it. + +
  • +BR2_CCACHE_DIR to override the directory where + Buildroot stores the cached files when using ccache. + +
  • +BR2_DL_DIR to override the directory in which + Buildroot stores/retrieves downloaded files + + Note that the Buildroot download directory can also be set from the + configuration interface, so through the Buildroot .config file. See + Section 8.12.4, “Location of downloaded packages†for more details on how you can set the download + directory. +
  • +BR2_GRAPH_ALT, if set and non-empty, to use an alternate color-scheme in + build-time graphs +
  • +BR2_GRAPH_OUT to set the filetype of generated graphs, either pdf (the + default), or png. +
  • +BR2_GRAPH_DEPS_OPTS to pass extra options to the dependency graph; see + Section 8.8, “Graphing the dependencies between packages†for the accepted options +
  • +BR2_GRAPH_DOT_OPTS is passed verbatim as options to the dot utility to + draw the dependency graph. +

An example that uses config files located in the toplevel directory and +in your $HOME:

 $ make UCLIBC_CONFIG_FILE=uClibc.config BUSYBOX_CONFIG_FILE=$HOME/bb.config

If you want to use a compiler other than the default gcc +or g++ for building helper-binaries on your host, then do

 $ make HOSTCXX=g++-4.3-HEAD HOSTCC=gcc-4.3-HEAD

8.7. Dealing efficiently with filesystem images

Filesystem images can get pretty big, depending on the filesystem you choose, +the number of packages, whether you provisioned free space… Yet, some +locations in the filesystems images may just be empty (e.g. a long run of +zeroes); such a file is called a sparse file.

Most tools can handle sparse files efficiently, and will only store or write +those parts of a sparse file that are not empty.

For example:

  • +tar accepts the -S option to tell it to only store non-zero blocks + of sparse files: +

    • +tar cf archive.tar -S [files…] will efficiently store sparse files + in a tarball +
    • +tar xf archive.tar -S will efficiently store sparse files extracted + from a tarball +
  • +cp accepts the --sparse=WHEN option (WHEN is one of auto, + never or always): +

    • +cp --sparse=always source.file dest.file will make dest.file a + sparse file if source.file has long runs of zeroes +

Other tools may have similar options. Please consult their respective man +pages.

You can use sparse files if you need to store the filesystem images (e.g. +to transfer from one machine to another), or if you need to send them (e.g. +to the Q&A team).

Note however that flashing a filesystem image to a device while using the +sparse mode of dd may result in a broken filesystem (e.g. the block bitmap +of an ext2 filesystem may be corrupted; or, if you have sparse files in +your filesystem, those parts may not be all-zeroes when read back). You +should only use sparse files when handling files on the build machine, not +when transferring them to an actual device that will be used on the target.

8.8. Graphing the dependencies between packages

One of Buildroot’s jobs is to know the dependencies between packages, +and make sure they are built in the right order. These dependencies +can sometimes be quite complicated, and for a given system, it is +often not easy to understand why such or such package was brought into +the build by Buildroot.

In order to help understanding the dependencies, and therefore better +understand what is the role of the different components in your +embedded Linux system, Buildroot is capable of generating dependency +graphs.

To generate a dependency graph of the full system you have compiled, +simply run:

make graph-depends

You will find the generated graph in +output/graphs/graph-depends.pdf.

If your system is quite large, the dependency graph may be too complex +and difficult to read. It is therefore possible to generate the +dependency graph just for a given package:

make <pkg>-graph-depends

You will find the generated graph in +output/graph/<pkg>-graph-depends.pdf.

Note that the dependency graphs are generated using the dot tool +from the Graphviz project, which you must have installed on your +system to use this feature. In most distributions, it is available as +the graphviz package.

By default, the dependency graphs are generated in the PDF +format. However, by passing the BR2_GRAPH_OUT environment variable, you +can switch to other output formats, such as PNG, PostScript or +SVG. All formats supported by the -T option of the dot tool are +supported.

BR2_GRAPH_OUT=svg make graph-depends

The graph-depends behaviour can be controlled by setting options in the +BR2_GRAPH_DEPS_OPTS environment variable. The accepted options are:

  • +--depth N, -d N, to limit the dependency depth to N levels. The + default, 0, means no limit. +
  • +--stop-on PKG, -s PKG, to stop the graph on the package PKG. + PKG can be an actual package name, a glob, the keyword virtual + (to stop on virtual packages), or the keyword host (to stop on + host packages). The package is still present on the graph, but its + dependencies are not. +
  • +--exclude PKG, -x PKG, like --stop-on, but also omits PKG from + the graph. +
  • +--transitive, --no-transitive, to draw (or not) the transitive + dependencies. The default is to not draw transitive dependencies. +
  • +--colours R,T,H, the comma-separated list of colours to draw the + root package (R), the target packages (T) and the host packages + (H). Defaults to: lightblue,grey,gainsboro +
BR2_GRAPH_DEPS_OPTS='-d 3 --no-transitive --colours=red,green,blue' make graph-depends

8.9. Graphing the build duration

When the build of a system takes a long time, it is sometimes useful +to be able to understand which packages are the longest to build, to +see if anything can be done to speed up the build. In order to help +such build time analysis, Buildroot collects the build time of each +step of each package, and allows to generate graphs from this data.

To generate the build time graph after a build, run:

make graph-build

This will generate a set of files in output/graphs :

  • +build.hist-build.pdf, a histogram of the build time for each + package, ordered in the build order. +
  • +build.hist-duration.pdf, a histogram of the build time for each + package, ordered by duration (longest first) +
  • +build.hist-name.pdf, a histogram of the build time for each + package, order by package name. +
  • +build.pie-packages.pdf, a pie chart of the build time per package +
  • +build.pie-steps.pdf, a pie chart of the global time spent in each + step of the packages build process. +

This graph-build target requires the Python Matplotlib and Numpy +libraries to be installed (python-matplotlib and python-numpy on +most distributions), and also the argparse module if you’re using a +Python version older than 2.7 (python-argparse on most +distributions).

By default, the output format for the graph is PDF, but a different +format can be selected using the BR2_GRAPH_OUT environment variable. The +only other format supported is PNG:

BR2_GRAPH_OUT=png make graph-build

8.10. Graphing the filesystem size contribution of packages

When your target system grows, it is sometimes useful to understand +how much each Buildroot package is contributing to the overall root +filesystem size. To help with such an analysis, Buildroot collects +data about files installed by each package and using this data, +generates a graph and CSV files detailing the size contribution of +the different packages.

To generate these data after a build, run:

make graph-size

This will generate:

  • +output/graphs/graph-size.pdf, a pie chart of the contribution of + each package to the overall root filesystem size +
  • +output/graphs/package-size-stats.csv, a CSV file giving the size + contribution of each package to the overall root filesystem size +
  • +output/graphs/file-size-stats.csv, a CSV file giving the size + contribution of each installed file to the package it belongs, and + to the overall filesystem size. +

This graph-size target requires the Python Matplotlib library to be +installed (python-matplotlib on most distributions), and also the +argparse module if you’re using a Python version older than 2.7 +(python-argparse on most distributions).

Just like for the duration graph, a BR2_GRAPH_OUT environment is +supported to adjust the output file format. See Section 8.8, “Graphing the dependencies between packages†+for details about this environment variable.

Note. The collected filesystem size data is only meaningful after a complete +clean rebuild. Be sure to run make clean all before using make +graph-size.

To compare the root filesystem size of two different Buildroot compilations, +for example after adjusting the configuration or when switching to another +Buildroot release, use the size-stats-compare script. It takes two +file-size-stats.csv files (produced by make graph-size) as input. +Refer to the help text of this script for more details:

utils/size-stats-compare -h

8.11. Integration with Eclipse

While a part of the embedded Linux developers like classical text +editors like Vim or Emacs, and command-line based interfaces, a number +of other embedded Linux developers like richer graphical interfaces to +do their development work. Eclipse being one of the most popular +Integrated Development Environment, Buildroot integrates with Eclipse +in order to ease the development work of Eclipse users.

Our integration with Eclipse simplifies the compilation, remote +execution and remote debugging of applications and libraries that are +built on top of a Buildroot system. It does not integrate the +Buildroot configuration and build processes themselves with +Eclipse. Therefore, the typical usage model of our Eclipse integration +would be:

  • +Configure your Buildroot system with make menuconfig, make + xconfig or any other configuration interface provided with + Buildroot. +
  • +Build your Buildroot system by running make. +
  • +Start Eclipse to develop, execute and debug your own custom + applications and libraries, that will rely on the libraries built + and installed by Buildroot. +

The Buildroot Eclipse integration installation process and usage is +described in detail at +https://github.com/mbats/eclipse-buildroot-bundle/wiki.

8.12. Advanced usage

8.12.1. Using the generated toolchain outside Buildroot

You may want to compile, for your target, your own programs or other +software that are not packaged in Buildroot. In order to do this you +can use the toolchain that was generated by Buildroot.

The toolchain generated by Buildroot is located by default in +output/host/. The simplest way to use it is to add +output/host/bin/ to your PATH environment variable and then to +use ARCH-linux-gcc, ARCH-linux-objdump, ARCH-linux-ld, etc.

It is possible to relocate the toolchain - but then --sysroot must +be passed every time the compiler is called to tell where the +libraries and header files are.

It is also possible to generate the Buildroot toolchain in a directory +other than output/host by using the Build options → Host dir +option. This could be useful if the toolchain must be shared with +other users.

8.12.2. Using gdb in Buildroot

Buildroot allows to do cross-debugging, where the debugger runs on the +build machine and communicates with gdbserver on the target to +control the execution of the program.

To achieve this:

  • +If you are using an internal toolchain (built by Buildroot), you + must enable BR2_PACKAGE_HOST_GDB, BR2_PACKAGE_GDB and + BR2_PACKAGE_GDB_SERVER. This ensures that both the cross gdb and + gdbserver get built, and that gdbserver gets installed to your target. +
  • +If you are using an external toolchain, you should enable + BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY, which will copy the + gdbserver included with the external toolchain to the target. If your + external toolchain does not have a cross gdb or gdbserver, it is also + possible to let Buildroot build them, by enabling the same options as + for the internal toolchain backend. +

Now, to start debugging a program called foo, you should run on the +target:

gdbserver :2345 foo

This will cause gdbserver to listen on TCP port 2345 for a connection +from the cross gdb.

Then, on the host, you should start the cross gdb using the following +command line:

<buildroot>/output/host/bin/<tuple>-gdb -x <buildroot>/output/staging/usr/share/buildroot/gdbinit foo

Of course, foo must be available in the current directory, built +with debugging symbols. Typically you start this command from the +directory where foo is built (and not from output/target/ as the +binaries in that directory are stripped).

The <buildroot>/output/staging/usr/share/buildroot/gdbinit file will tell the +cross gdb where to find the libraries of the target.

Finally, to connect to the target from the cross gdb:

(gdb) target remote <target ip address>:2345

8.12.3. Using ccache in Buildroot

ccache is a compiler cache. It stores the +object files resulting from each compilation process, and is able to +skip future compilation of the same source file (with same compiler +and same arguments) by using the pre-existing object files. When doing +almost identical builds from scratch a number of times, it can nicely +speed up the build process.

ccache support is integrated in Buildroot. You just have to enable +Enable compiler cache in Build options. This will automatically +build ccache and use it for every host and target compilation.

The cache is located in $HOME/.buildroot-ccache. It is stored +outside of Buildroot output directory so that it can be shared by +separate Buildroot builds. If you want to get rid of the cache, simply +remove this directory.

You can get statistics on the cache (its size, number of hits, +misses, etc.) by running make ccache-stats.

The make target ccache-options and the CCACHE_OPTIONS variable +provide more generic access to the ccache. For example

# set cache limit size
+make CCACHE_OPTIONS="--max-size=5G" ccache-options
+
+# zero statistics counters
+make CCACHE_OPTIONS="--zero-stats" ccache-options

ccache makes a hash of the source files and of the compiler options. +If a compiler option is different, the cached object file will not be +used. Many compiler options, however, contain an absolute path to the +staging directory. Because of this, building in a different output +directory would lead to many cache misses.

To avoid this issue, buildroot has the Use relative paths option +(BR2_CCACHE_USE_BASEDIR). This will rewrite all absolute paths that +point inside the output directory into relative paths. Thus, changing +the output directory no longer leads to cache misses.

A disadvantage of the relative paths is that they also end up to be +relative paths in the object file. Therefore, for example, the debugger +will no longer find the file, unless you cd to the output directory +first.

See the +ccache manual’s section on "Compiling in different directories" for +more details about this rewriting of absolute paths.

8.12.4. Location of downloaded packages

The various tarballs that are downloaded by Buildroot are all stored +in BR2_DL_DIR, which by default is the dl directory. If you want +to keep a complete version of Buildroot which is known to be working +with the associated tarballs, you can make a copy of this directory. +This will allow you to regenerate the toolchain and the target +filesystem with exactly the same versions.

If you maintain several Buildroot trees, it might be better to have a +shared download location. This can be achieved by pointing the +BR2_DL_DIR environment variable to a directory. If this is +set, then the value of BR2_DL_DIR in the Buildroot configuration is +overridden. The following line should be added to <~/.bashrc>.

 export BR2_DL_DIR=<shared download location>

The download location can also be set in the .config file, with the +BR2_DL_DIR option. Unlike most options in the .config file, this value +is overridden by the BR2_DL_DIR environment variable.

8.12.5. Package-specific make targets

Running make <package> builds and installs that particular package +and its dependencies.

For packages relying on the Buildroot infrastructure, there are +numerous special make targets that can be called independently like +this:

make <package>-<target>

The package build targets are (in the order they are executed):

command/target Description

source

Fetch the source (download the tarball, clone +the source repository, etc)

depends

Build and install all dependencies required to +build the package

extract

Put the source in the package build directory +(extract the tarball, copy the source, etc)

patch

Apply the patches, if any

configure

Run the configure commands, if any

build

Run the compilation commands

install-staging

target package: Run the installation of the package in the +staging directory, if necessary

install-target

target package: Run the installation of the package in the +target directory, if necessary

install

target package: Run the 2 previous installation commands

+

host package: Run the installation of the package in the host +directory

Additionally, there are some other useful make targets:

command/target Description

show-depends

Displays the dependencies required to build the +package

graph-depends

Generate a dependency graph of the package, in the +context of the current Buildroot configuration. See +this section +Section 8.8, “Graphing the dependencies between packages†for more details about dependency +graphs.

dirclean

Remove the whole package build directory

reinstall

Re-run the install commands

rebuild

Re-run the compilation commands - this only makes +sense when using the OVERRIDE_SRCDIR feature or when you modified a file +directly in the build directory

reconfigure

Re-run the configure commands, then rebuild - this only +makes sense when using the OVERRIDE_SRCDIR feature or when you modified a +file directly in the build directory

8.12.6. Using Buildroot during development

The normal operation of Buildroot is to download a tarball, extract +it, configure, compile and install the software component found inside +this tarball. The source code is extracted in +output/build/<package>-<version>, which is a temporary directory: +whenever make clean is used, this directory is entirely removed, and +re-created at the next make invocation. Even when a Git or +Subversion repository is used as the input for the package source +code, Buildroot creates a tarball out of it, and then behaves as it +normally does with tarballs.

This behavior is well-suited when Buildroot is used mainly as an +integration tool, to build and integrate all the components of an +embedded Linux system. However, if one uses Buildroot during the +development of certain components of the system, this behavior is not +very convenient: one would instead like to make a small change to the +source code of one package, and be able to quickly rebuild the system +with Buildroot.

Making changes directly in output/build/<package>-<version> is not +an appropriate solution, because this directory is removed on make +clean.

Therefore, Buildroot provides a specific mechanism for this use case: +the <pkg>_OVERRIDE_SRCDIR mechanism. Buildroot reads an override +file, which allows the user to tell Buildroot the location of the +source for certain packages. By default this override file is named +local.mk and located in the top directory of the Buildroot source +tree, but a different location can be specified through the +BR2_PACKAGE_OVERRIDE_FILE configuration option.

In this override file, Buildroot expects to find lines of the form:

<pkg1>_OVERRIDE_SRCDIR = /path/to/pkg1/sources
+<pkg2>_OVERRIDE_SRCDIR = /path/to/pkg2/sources

For example:

LINUX_OVERRIDE_SRCDIR = /home/bob/linux/
+BUSYBOX_OVERRIDE_SRCDIR = /home/bob/busybox/

When Buildroot finds that for a given package, an +<pkg>_OVERRIDE_SRCDIR has been defined, it will no longer attempt to +download, extract and patch the package. Instead, it will directly use +the source code available in the specified directory and make clean +will not touch this directory. This allows to point Buildroot to your +own directories, that can be managed by Git, Subversion, or any other +version control system. To achieve this, Buildroot will use rsync to +copy the source code of the component from the specified +<pkg>_OVERRIDE_SRCDIR to output/build/<package>-custom/.

This mechanism is best used in conjunction with the make +<pkg>-rebuild and make <pkg>-reconfigure targets. A make +<pkg>-rebuild all sequence will rsync the source code from +<pkg>_OVERRIDE_SRCDIR to output/build/<package>-custom (thanks to +rsync, only the modified files are copied), and restart the build +process of just this package.

In the example of the linux package above, the developer can then +make a source code change in /home/bob/linux and then run:

make linux-rebuild all

and in a matter of seconds gets the updated Linux kernel image in +output/images. Similarly, a change can be made to the BusyBox source +code in /home/bob/busybox, and after:

make busybox-rebuild all

the root filesystem image in output/images contains the updated +BusyBox.

Chapter 9. Project-specific customization

Typical actions you may need to perform for a given project are:

  • +configuring Buildroot (including build options and toolchain, + bootloader, kernel, package and filesystem image type selection) +
  • +configuring other components, like the Linux kernel and BusyBox +
  • +customizing the generated target filesystem +

    • +adding or overwriting files on the target filesystem (using + BR2_ROOTFS_OVERLAY) +
    • +modifying or deleting files on the target filesystem (using + BR2_ROOTFS_POST_BUILD_SCRIPT) +
    • +running arbitrary commands prior to generating the filesystem image + (using BR2_ROOTFS_POST_BUILD_SCRIPT) +
    • +setting file permissions and ownership (using + BR2_ROOTFS_DEVICE_TABLE) +
    • +adding custom devices nodes (using + BR2_ROOTFS_STATIC_DEVICE_TABLE) +
  • +adding custom user accounts (using BR2_ROOTFS_USERS_TABLES) +
  • +running arbitrary commands after generating the filesystem image + (using BR2_ROOTFS_POST_IMAGE_SCRIPT) +
  • +adding project-specific patches to some packages (using + BR2_GLOBAL_PATCH_DIR) +
  • +adding project-specific packages +

An important note regarding such project-specific customizations: +please carefully consider which changes are indeed project-specific and +which changes are also useful to developers outside your project. The +Buildroot community highly recommends and encourages the upstreaming of +improvements, packages and board support to the official Buildroot +project. Of course, it is sometimes not possible or desirable to +upstream because the changes are highly specific or proprietary.

This chapter describes how to make such project-specific customizations +in Buildroot and how to store them in a way that you can build the same +image in a reproducible way, even after running make clean. By +following the recommended strategy, you can even use the same Buildroot +tree to build multiple distinct projects!

9.1. Recommended directory structure

When customizing Buildroot for your project, you will be creating one or +more project-specific files that need to be stored somewhere. While most +of these files could be placed in any location as their path is to be +specified in the Buildroot configuration, the Buildroot developers +recommend a specific directory structure which is described in this +section.

Orthogonal to this directory structure, you can choose where you place +this structure itself: either inside the Buildroot tree, or outside of +it using a br2-external tree. Both options are valid, the choice is up +to you.

+-- board/
+|   +-- <company>/
+|       +-- <boardname>/
+|           +-- linux.config
+|           +-- busybox.config
+|           +-- <other configuration files>
+|           +-- post_build.sh
+|           +-- post_image.sh
+|           +-- rootfs_overlay/
+|           |   +-- etc/
+|           |   +-- <some file>
+|           +-- patches/
+|               +-- foo/
+|               |   +-- <some patch>
+|               +-- libbar/
+|                   +-- <some other patches>
+|
++-- configs/
+|   +-- <boardname>_defconfig
+|
++-- package/
+|   +-- <company>/
+|       +-- Config.in (if not using a br2-external tree)
+|       +-- <company>.mk (if not using a br2-external tree)
+|       +-- package1/
+|       |    +-- Config.in
+|       |    +-- package1.mk
+|       +-- package2/
+|           +-- Config.in
+|           +-- package2.mk
+|
++-- Config.in (if using a br2-external tree)
++-- external.mk (if using a br2-external tree)

Details on the files shown above are given further in this chapter.

Note: if you choose to place this structure outside of the Buildroot +tree but in a br2-external tree, the <company> and possibly <boardname> +components may be superfluous and can be left out.

9.1.1. Implementing layered customizations

It is quite common for a user to have several related projects that partly +need the same customizations. Instead of duplicating these +customizations for each project, it is recommended to use a layered +customization approach, as explained in this section.

Almost all of the customization methods available in Buildroot, like +post-build scripts and root filesystem overlays, accept a +space-separated list of items. The specified items are always treated in +order, from left to right. By creating more than one such item, one for +the common customizations and another one for the really +project-specific customizations, you can avoid unnecessary duplication. +Each layer is typically embodied by a separate directory inside +board/<company>/. Depending on your projects, you could even introduce +more than two layers.

An example directory structure for where a user has two customization +layers common and fooboard is:

+-- board/
+    +-- <company>/
+        +-- common/
+        |   +-- post_build.sh
+        |   +-- rootfs_overlay/
+        |   |   +-- ...
+        |   +-- patches/
+        |       +-- ...
+        |
+        +-- fooboard/
+            +-- linux.config
+            +-- busybox.config
+            +-- <other configuration files>
+            +-- post_build.sh
+            +-- rootfs_overlay/
+            |   +-- ...
+            +-- patches/
+                +-- ...

For example, if the user has the BR2_GLOBAL_PATCH_DIR configuration +option set as:

BR2_GLOBAL_PATCH_DIR="board/<company>/common/patches board/<company>/fooboard/patches"

then first the patches from the common layer would be applied, +followed by the patches from the fooboard layer.

9.2. Keeping customizations outside of Buildroot

As already briefly mentioned in Section 9.1, “Recommended directory structureâ€, you can +place project-specific customizations in two locations:

  • +directly within the Buildroot tree, typically maintaining them using + branches in a version control system so that upgrading to a newer + Buildroot release is easy. +
  • +outside of the Buildroot tree, using the br2-external mechanism. + This mechanism allows to keep package recipes, board support and + configuration files outside of the Buildroot tree, while still + having them nicely integrated in the build logic. We call this + location a br2-external tree. This section explains how to use + the br2-external mechanism and what to provide in a br2-external + tree. +

One can tell Buildroot to use one or more br2-external trees by setting +the BR2_EXTERNAL make variable set to the path(s) of the br2-external +tree(s) to use. It can be passed to any Buildroot make invocation. It +is automatically saved in the hidden .br-external.mk file in the output +directory. Thanks to this, there is no need to pass BR2_EXTERNAL at +every make invocation. It can however be changed at any time by +passing a new value, and can be removed by passing an empty value.

Note. The path to a br2-external tree can be either absolute or relative. +If it is passed as a relative path, it is important to note that it is +interpreted relative to the main Buildroot source directory, not to +the Buildroot output directory.

Note: If using an br2-external tree from before Buildroot 2016.11, you need to +convert it before you can use it with Buildroot 2016.11 onward. See +Section 25.1, “Migrating to 2016.11†for help on doing so.

Some examples:

buildroot/ $ make BR2_EXTERNAL=/path/to/foo menuconfig

From now on, definitions from the /path/to/foo br2-external tree +will be used:

buildroot/ $ make
+buildroot/ $ make legal-info

We can switch to another br2-external tree at any time:

buildroot/ $ make BR2_EXTERNAL=/where/we/have/bar xconfig

We can also use multiple br2-external trees:

buildroot/ $ make BR2_EXTERNAL=/path/to/foo:/where/we/have/bar menuconfig

Or disable the usage of any br2-external tree:

buildroot/ $ make BR2_EXTERNAL= xconfig

9.2.1. Layout of a br2-external tree

A br2-external tree must contain at least those three files, described +in the following chapters:

  • +external.desc +
  • +external.mk +
  • +Config.in +

Apart from those mandatory files, there may be additional and optional +content that may be present in a br2-external tree, like the configs/ +directory. They are described in the following chapters as well.

A complete example br2-external tree layout is also described later.

The external.desc file

That file describes the br2-external tree: the name and description +for that br2-external tree.

The format for this file is line based, with each line starting by a +keyword, followed by a colon and one or more spaces, followed by the +value assigned to that keyword. There are two keywords currently +recognised:

  • +name, mandatory, defines the name for that br2-external tree. That + name must only use ASCII characters in the set [A-Za-z0-9_]; any + other character is forbidden. Buildroot sets the variable + BR2_EXTERNAL_$(NAME)_PATH to the absolute path of the br2-external + tree, so that you can use it to refer to your br2-external tree. This + variable is available both in Kconfig, so you can use it to source your + Kconfig files (see below) and in the Makefile, so that you can use it + to include other Makefiles (see below) or refer to other files (like + data files) from your br2-external tree. +

    Note: Since it is possible to use multiple br2-external trees at once, this + name is used by Buildroot to generate variables for each of those trees. + That name is used to identify your br2-external tree, so try to come up + with a name that really describes your br2-external tree, in order for + it to be relatively unique, so that it does not clash with another name + from another br2-external tree, especially if you are planning on + somehow sharing your br2-external tree with third parties or using + br2-external trees from third parties.

  • +desc, optional, provides a short description for that br2-external + tree. It shall fit on a single line, is mostly free-form (see below), + and is used when displaying information about a br2-external tree (e.g. + above the list of defconfig files, or as the prompt in the menuconfig); + as such, it should relatively brief (40 chars is probably a good upper + limit). The description is available in the BR2_EXTERNAL_$(NAME)_DESC + variable. +

Examples of names and the corresponding BR2_EXTERNAL_$(NAME)_PATH +variables:

  • +FOO → BR2_EXTERNAL_FOO_PATH +
  • +BAR_42 → BR2_EXTERNAL_BAR_42_PATH +

In the following examples, it is assumed the name to be set to BAR_42.

Note: Both BR2_EXTERNAL_$(NAME)_PATH and BR2_EXTERNAL_$(NAME)_DESC are + available in the Kconfig files and the Makefiles. They are also + exported in the environment so are available in post-build, post-image + and in-fakeroot scripts.

The Config.in and external.mk files

Those files (which may each be empty) can be used to define package +recipes (i.e. foo/Config.in and foo/foo.mk like for packages bundled +in Buildroot itself) or other custom configuration options or make logic.

Buildroot automatically includes the Config.in from each br2-external +tree to make it appear in the top-level configuration menu, and includes +the external.mk from each br2-external tree with the rest of the +makefile logic.

The main usage of this is to store package recipes. The recommended way +to do this is to write a Config.in file that looks like:

source "$BR2_EXTERNAL_BAR_42_PATH/package/package1/Config.in"
+source "$BR2_EXTERNAL_BAR_42_PATH/package/package2/Config.in"

Then, have an external.mk file that looks like:

include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/package/*/*.mk))

And then in $(BR2_EXTERNAL_BAR_42_PATH)/package/package1 and +$(BR2_EXTERNAL_BAR_42_PATH)/package/package2 create normal +Buildroot package recipes, as explained in Chapter 17, Adding new packages to Buildroot. +If you prefer, you can also group the packages in subdirectories +called <boardname> and adapt the above paths accordingly.

You can also define custom configuration options in Config.in and +custom make logic in external.mk.

The configs/ directory

One can store Buildroot defconfigs in the configs subdirectory of +the br2-external tree. Buildroot will automatically show them in the +output of make list-defconfigs and allow them to be loaded with the +normal make <name>_defconfig command. They will be visible in the +make list-defconfigs output, below an External configs label that +contains the name of the br2-external tree they are defined in.

Note: If a defconfig file is present in more than one br2-external tree, then +the one from the last br2-external tree is used. It is thus possible +to override a defconfig bundled in Buildroot or another br2-external +tree.

Free-form content

One can store all the board-specific configuration files there, such +as the kernel configuration, the root filesystem overlay, or any other +configuration file for which Buildroot allows to set the location (by +using the BR2_EXTERNAL_$(NAME)_PATH variable). For example, you +could set the paths to a global patch directory, to a rootfs overlay +and to the kernel configuration file as follows (e.g. by running +make menuconfig and filling in these options):

BR2_GLOBAL_PATCH_DIR=$(BR2_EXTERNAL_BAR_42_PATH)/patches/
+BR2_ROOTFS_OVERLAY=$(BR2_EXTERNAL_BAR_42_PATH)/board/<boardname>/overlay/
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE=$(BR2_EXTERNAL_BAR_42_PATH)/board/<boardname>/kernel.config

Example layout

Here is an example layout using all features of br2-external (the sample +content is shown for the file above it, when it is relevant to explain +the br2-external tree; this is all entirely made up just for the sake of +illustration, of course):

/path/to/br2-ext-tree/
+  |- external.desc
+  |     |name: BAR_42
+  |     |desc: Example br2-external tree
+  |     `----
+  |
+  |- Config.in
+  |     |source "$BR2_EXTERNAL_BAR_42_PATH/package/pkg-1/Config.in"
+  |     |source "$BR2_EXTERNAL_BAR_42_PATH/package/pkg-2/Config.in"
+  |     |
+  |     |config BAR_42_FLASH_ADDR
+  |     |    hex "my-board flash address"
+  |     |    default 0x10AD
+  |     `----
+  |
+  |- external.mk
+  |     |include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/package/*/*.mk))
+  |     |
+  |     |flash-my-board:
+  |     |    $(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/flash-image \
+  |     |        --image $(BINARIES_DIR)/image.bin \
+  |     |        --address $(BAR_42_FLASH_ADDR)
+  |     `----
+  |
+  |- package/pkg-1/Config.in
+  |     |config BR2_PACKAGE_PKG_1
+  |     |    bool "pkg-1"
+  |     |    help
+  |     |      Some help about pkg-1
+  |     `----
+  |- package/pkg-1/pkg-1.hash
+  |- package/pkg-1/pkg-1.mk
+  |     |PKG_1_VERSION = 1.2.3
+  |     |PKG_1_SITE = /some/where/to/get/pkg-1
+  |     |PKG_1_LICENSE = blabla
+  |     |
+  |     |define PKG_1_INSTALL_INIT_SYSV
+  |     |    $(INSTALL) -D -m 0755 $(PKG_1_PKGDIR)/S99my-daemon \
+  |     |                          $(TARGET_DIR)/etc/init.d/S99my-daemon
+  |     |endef
+  |     |
+  |     |$(eval $(autotools-package))
+  |     `----
+  |- package/pkg-1/S99my-daemon
+  |
+  |- package/pkg-2/Config.in
+  |- package/pkg-2/pkg-2.hash
+  |- package/pkg-2/pkg-2.mk
+  |
+  |- configs/my-board_defconfig
+  |     |BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_BAR_42_PATH)/patches/"
+  |     |BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/overlay/"
+  |     |BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/post-image.sh"
+  |     |BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/kernel.config"
+  |     `----
+  |
+  |- patches/linux/0001-some-change.patch
+  |- patches/linux/0002-some-other-change.patch
+  |- patches/busybox/0001-fix-something.patch
+  |
+  |- board/my-board/kernel.config
+  |- board/my-board/overlay/var/www/index.html
+  |- board/my-board/overlay/var/www/my.css
+  |- board/my-board/flash-image
+  `- board/my-board/post-image.sh
+        |#!/bin/sh
+        |generate-my-binary-image \
+        |    --root ${BINARIES_DIR}/rootfs.tar \
+        |    --kernel ${BINARIES_DIR}/zImage \
+        |    --dtb ${BINARIES_DIR}/my-board.dtb \
+        |    --output ${BINARIES_DIR}/image.bin
+        `----

The br2-external tree will then be visible in the menuconfig (with +the layout expanded):

External options  --->
+    *** Example br2-external tree (in /path/to/br2-ext-tree/)
+    [ ] pkg-1
+    [ ] pkg-2
+    (0x10AD) my-board flash address

If you are using more than one br2-external tree, it would look like +(with the layout expanded and the second one with name FOO_27 but no +desc: field in external.desc):

External options  --->
+    Example br2-external tree  --->
+        *** Example br2-external tree (in /path/to/br2-ext-tree)
+        [ ] pkg-1
+        [ ] pkg-2
+        (0x10AD) my-board flash address
+    FOO_27  --->
+        *** FOO_27 (in /path/to/another-br2-ext)
+        [ ] foo
+        [ ] bar

9.3. Storing the Buildroot configuration

The Buildroot configuration can be stored using the command + make savedefconfig.

This strips the Buildroot configuration down by removing configuration +options that are at their default value. The result is stored in a file +called defconfig. If you want to save it in another place, change the +BR2_DEFCONFIG option in the Buildroot configuration itself, or call +make with make savedefconfig BR2_DEFCONFIG=<path-to-defconfig>.

The recommended place to store this defconfig is +configs/<boardname>_defconfig. If you follow this recommendation, the +configuration will be listed in make help and can be set again by +running make <boardname>_defconfig.

Alternatively, you can copy the file to any other place and rebuild with +make defconfig BR2_DEFCONFIG=<path-to-defconfig-file>.

9.4. Storing the configuration of other components

The configuration files for BusyBox, the Linux kernel, Barebox, U-Boot +and uClibc should be stored as well if changed. For each of these +components, a Buildroot configuration option exists to point to an input +configuration file, e.g. BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE. To store +their configuration, set these configuration options to a path where you +want to save the configuration files, and then use the helper targets +described below to actually store the configuration.

As explained in Section 9.1, “Recommended directory structureâ€, the recommended path to +store these configuration files is +board/<company>/<boardname>/foo.config.

Make sure that you create a configuration file before changing +the BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE etc. options. Otherwise, +Buildroot will try to access this config file, which doesn’t exist +yet, and will fail. You can create the configuration file by running +make linux-menuconfig etc.

Buildroot provides a few helper targets to make the saving of +configuration files easier.

  • +make linux-update-defconfig saves the linux configuration to the + path specified by BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE. It + simplifies the config file by removing default values. However, + this only works with kernels starting from 2.6.33. For earlier + kernels, use make linux-update-config. +
  • +make busybox-update-config saves the busybox configuration to the + path specified by BR2_PACKAGE_BUSYBOX_CONFIG. +
  • +make uclibc-update-config saves the uClibc configuration to the + path specified by BR2_UCLIBC_CONFIG. +
  • +make barebox-update-defconfig saves the barebox configuration to the + path specified by BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE. +
  • +make uboot-update-defconfig saves the U-Boot configuration to the + path specified by BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE. +
  • +For at91bootstrap3, no helper exists so you have to copy the config + file manually to BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE. +

9.5. Customizing the generated target filesystem

Besides changing the configuration through make *config, +there are a few other ways to customize the resulting target filesystem.

The two recommended methods, which can co-exist, are root filesystem +overlay(s) and post build script(s).

+Root filesystem overlays (BR2_ROOTFS_OVERLAY) +

A filesystem overlay is a tree of files that is copied directly + over the target filesystem after it has been built. To enable this + feature, set config option BR2_ROOTFS_OVERLAY (in the System + configuration menu) to the root of the overlay. You can even specify + multiple overlays, space-separated. If you specify a relative path, + it will be relative to the root of the Buildroot tree. Hidden + directories of version control systems, like .git, .svn, .hg, + etc., files called .empty and files ending in ~ are excluded from + the copy.

As shown in Section 9.1, “Recommended directory structureâ€, the recommended path for + this overlay is board/<company>/<boardname>/rootfs-overlay.

+Post-build scripts (BR2_ROOTFS_POST_BUILD_SCRIPT) +

Post-build scripts are shell scripts called after Buildroot builds + all the selected software, but before the rootfs images are + assembled. To enable this feature, specify a space-separated list of + post-build scripts in config option BR2_ROOTFS_POST_BUILD_SCRIPT (in + the System configuration menu). If you specify a relative path, it + will be relative to the root of the Buildroot tree.

Using post-build scripts, you can remove or modify any file in your + target filesystem. You should, however, use this feature with care. + Whenever you find that a certain package generates wrong or unneeded + files, you should fix that package rather than work around it with some + post-build cleanup scripts.

As shown in Section 9.1, “Recommended directory structureâ€, the recommended path for + this script is board/<company>/<boardname>/post_build.sh.

The post-build scripts are run with the main Buildroot tree as current + working directory. The path to the target filesystem is passed as the + first argument to each script. If the config option + BR2_ROOTFS_POST_SCRIPT_ARGS is not empty, these arguments will be + passed to the script too. All the scripts will be passed the exact + same set of arguments, it is not possible to pass different sets of + arguments to each script.

In addition, you may also use these environment variables:

  • +BR2_CONFIG: the path to the Buildroot .config file +
  • +HOST_DIR, STAGING_DIR, TARGET_DIR: see + Section 17.5.2, “generic-package reference†+
  • +BUILD_DIR: the directory where packages are extracted and built +
  • +BINARIES_DIR: the place where all binary files (aka images) are + stored +
  • +BASE_DIR: the base output directory +

Below three more methods of customizing the target filesystem are +described, but they are not recommended.

+Direct modification of the target filesystem +

For temporary modifications, you can modify the target filesystem + directly and rebuild the image. The target filesystem is available + under output/target/. After making your changes, run make to + rebuild the target filesystem image.

This method allows you to do anything to the target filesystem, but if + you need to clean your Buildroot tree using make clean, these + changes will be lost. Such cleaning is necessary in several cases, + refer to Section 8.2, “Understanding when a full rebuild is necessary†for details. This solution is therefore + only useful for quick tests: changes do not survive the make clean + command. Once you have validated your changes, you should make sure + that they will persist after a make clean, using a root filesystem + overlay or a post-build script.

+Custom target skeleton (BR2_ROOTFS_SKELETON_CUSTOM) +

The root filesystem image is created from a target skeleton, on top of + which all packages install their files. The skeleton is copied to the + target directory output/target before any package is built and + installed. The default target skeleton provides the standard Unix + filesystem layout and some basic init scripts and configuration files.

If the default skeleton (available under system/skeleton) does not + match your needs, you would typically use a root filesystem overlay or + post-build script to adapt it. However, if the default skeleton is + entirely different than what you need, using a custom skeleton may be + more suitable.

To enable this feature, enable config option + BR2_ROOTFS_SKELETON_CUSTOM and set BR2_ROOTFS_SKELETON_CUSTOM_PATH + to the path of your custom skeleton. Both options are available in the + System configuration menu. If you specify a relative path, it will + be relative to the root of the Buildroot tree.

This method is not recommended because it duplicates the entire + skeleton, which prevents taking advantage of the fixes or improvements + brought to the default skeleton in later Buildroot releases.

+Post-fakeroot scripts (BR2_ROOTFS_POST_FAKEROOT_SCRIPT) +

When aggregating the final images, some parts of the process requires + root rights: creating device nodes in /dev, setting permissions or + ownership to files and directories… To avoid requiring actual root + rights, Buildroot uses fakeroot to simulate root rights. This is not + a complete substitute for actually being root, but is enough for what + Buildroot needs.

Post-fakeroot scripts are shell scripts that are called at the end of + the fakeroot phase, right before the filesystem image generator is + called. As such, they are called in the fakeroot context.

Post-fakeroot scripts can be useful in case you need to tweak the + filesystem to do modifications that are usually only available to the + root user.

Note: It is recommended to use the existing mechanisms to set file permissions + or create entries in /dev (see Section 9.5.1, “Setting file permissions and ownership and adding custom devices nodesâ€) or + to create users (see Section 9.6, “Adding custom user accountsâ€)

Note: The difference between post-build scripts (above) and fakeroot scripts, + is that post-build scripts are not called in the fakeroot context.

Note;. Using fakeroot is not an absolute substitute for actually being root. + fakeroot only ever fakes the file access rights and types (regular, + block-or-char device…) and uid/gid; these are emulated in-memory.

9.5.1. Setting file permissions and ownership and adding custom devices nodes

Sometimes it is needed to set specific permissions or ownership on files +or device nodes. For example, certain files may need to be owned by +root. Since the post-build scripts are not run as root, you cannot do +such changes from there unless you use an explicit fakeroot from the +post-build script.

Instead, Buildroot provides support for so-called permission tables. +To use this feature, set config option BR2_ROOTFS_DEVICE_TABLE to a +space-separated list of permission tables, regular text files following +the makedev syntax +Chapter 23, Makedev syntax documentation.

If you are using a static device table (i.e. not using devtmpfs, +mdev, or (e)udev) then you can add device nodes using the same +syntax, in so-called device tables. To use this feature, set config +option BR2_ROOTFS_STATIC_DEVICE_TABLE to a space-separated list of +device tables.

As shown in Section 9.1, “Recommended directory structureâ€, the recommended location for +such files is board/<company>/<boardname>/.

It should be noted that if the specific permissions or device nodes are +related to a specific application, you should set variables +FOO_PERMISSIONS and FOO_DEVICES in the package’s .mk file instead +(see Section 17.5.2, “generic-package referenceâ€).

9.6. Adding custom user accounts

Sometimes it is needed to add specific users in the target system. +To cover this requirement, Buildroot provides support for so-called +users tables. To use this feature, set config option +BR2_ROOTFS_USERS_TABLES to a space-separated list of users tables, +regular text files following the makeusers syntax +Chapter 24, Makeusers syntax documentation.

As shown in Section 9.1, “Recommended directory structureâ€, the recommended location for +such files is board/<company>/<boardname>/.

It should be noted that if the custom users are related to a specific +application, you should set variable FOO_USERS in the package’s .mk +file instead (see Section 17.5.2, “generic-package referenceâ€).

9.7. Customization after the images have been created

While post-build scripts (Section 9.5, “Customizing the generated target filesystemâ€) are run before +building the filesystem image, kernel and bootloader, post-image +scripts can be used to perform some specific actions after all images +have been created.

Post-image scripts can for example be used to automatically extract your +root filesystem tarball in a location exported by your NFS server, or +to create a special firmware image that bundles your root filesystem and +kernel image, or any other custom action required for your project.

To enable this feature, specify a space-separated list of post-image +scripts in config option BR2_ROOTFS_POST_IMAGE_SCRIPT (in the System +configuration menu). If you specify a relative path, it will be +relative to the root of the Buildroot tree.

Just like post-build scripts, post-image scripts are run with the main +Buildroot tree as current working directory. The path to the images +output directory is passed as the first argument to each script. If the +config option BR2_ROOTFS_POST_SCRIPT_ARGS is not empty, these +arguments will be passed to the script too. All the scripts will be +passed the exact same set of arguments, it is not possible to pass +different sets of arguments to each script.

Again just like for the post-build scripts, the scripts have access to +the environment variables BR2_CONFIG, HOST_DIR, STAGING_DIR, +TARGET_DIR, BUILD_DIR, BINARIES_DIR and BASE_DIR.

The post-image scripts will be executed as the user that executes +Buildroot, which should normally not be the root user. Therefore, any +action requiring root permissions in one of these scripts will require +special handling (usage of fakeroot or sudo), which is left to the +script developer.

9.8. Adding project-specific patches

It is sometimes useful to apply extra patches to packages - on top of +those provided in Buildroot. This might be used to support custom +features in a project, for example, or when working on a new +architecture.

The BR2_GLOBAL_PATCH_DIR configuration option can be used to specify +a space separated list of one or more directories containing package +patches.

For a specific version <packageversion> of a specific package +<packagename>, patches are applied from BR2_GLOBAL_PATCH_DIR as +follows:

  1. +For every directory - <global-patch-dir> - that exists in + BR2_GLOBAL_PATCH_DIR, a <package-patch-dir> will be determined as + follows: +

    • +<global-patch-dir>/<packagename>/<packageversion>/ if the + directory exists. +
    • +Otherwise, <global-patch-dir>/<packagename> if the directory + exists. +
  2. +Patches will then be applied from a <package-patch-dir> as + follows: +

    • +If a series file exists in the package directory, then patches are + applied according to the series file; +
    • +Otherwise, patch files matching *.patch are applied in + alphabetical order. So, to ensure they are applied in the right + order, it is highly recommended to name the patch files like this: + <number>-<description>.patch, where <number> refers to the + apply order. +

For information about how patches are applied for a package, see +Section 18.2, “How patches are appliedâ€

The BR2_GLOBAL_PATCH_DIR option is the preferred method for +specifying a custom patch directory for packages. It can be used to +specify a patch directory for any package in buildroot. It should also +be used in place of the custom patch directory options that are +available for packages such as U-Boot and Barebox. By doing this, it +will allow a user to manage their patches from one top-level +directory.

The exception to BR2_GLOBAL_PATCH_DIR being the preferred method for +specifying custom patches is BR2_LINUX_KERNEL_PATCH. +BR2_LINUX_KERNEL_PATCH should be used to specify kernel patches that +are available at an URL. Note: BR2_LINUX_KERNEL_PATCH specifies kernel +patches that are applied after patches available in BR2_GLOBAL_PATCH_DIR, +as it is done from a post-patch hook of the Linux package.

9.9. Adding project-specific packages

In general, any new package should be added directly in the package +directory and submitted to the Buildroot upstream project. How to add +packages to Buildroot in general is explained in full detail in +Chapter 17, Adding new packages to Buildroot and will not be repeated here. However, your +project may need some proprietary packages that cannot be upstreamed. +This section will explain how you can keep such project-specific +packages in a project-specific directory.

As shown in Section 9.1, “Recommended directory structureâ€, the recommended location for +project-specific packages is package/<company>/. If you are using the +br2-external tree feature (see Section 9.2, “Keeping customizations outside of Buildrootâ€) the recommended +location is to put them in a sub-directory named package/ in your +br2-external tree.

However, Buildroot will not be aware of the packages in this location, +unless we perform some additional steps. As explained in +Chapter 17, Adding new packages to Buildroot, a package in Buildroot basically consists of two +files: a .mk file (describing how to build the package) and a +Config.in file (describing the configuration options for this +package).

Buildroot will automatically include the .mk files in first-level +subdirectories of the package directory (using the pattern +package/*/*.mk). If we want Buildroot to include .mk files from +deeper subdirectories (like package/<company>/package1/) then we +simply have to add a .mk file in a first-level subdirectory that +includes these additional .mk files. Therefore, create a file +package/<company>/<company>.mk with following contents (assuming you +have only one extra directory level below package/<company>/):

include $(sort $(wildcard package/<company>/*/*.mk))

For the Config.in files, create a file package/<company>/Config.in +that includes the Config.in files of all your packages. An exhaustive +list has to be provided since wildcards are not supported in the source command of kconfig. +For example:

source "package/<company>/package1/Config.in"
+source "package/<company>/package2/Config.in"

Include this new file package/<company>/Config.in from +package/Config.in, preferably in a company-specific menu to make +merges with future Buildroot versions easier.

If using a br2-external tree, refer to Section 9.2, “Keeping customizations outside of Buildroot†for how +to fill in those files.

9.10. Quick guide to storing your project-specific customizations

Earlier in this chapter, the different methods for making +project-specific customizations have been described. This section will +now summarize all this by providing step-by-step instructions to storing your +project-specific customizations. Clearly, the steps that are not relevant to +your project can be skipped.

  1. +make menuconfig to configure toolchain, packages and kernel. +
  2. +make linux-menuconfig to update the kernel config, similar for + other configuration like busybox, uclibc, … +
  3. +mkdir -p board/<manufacturer>/<boardname> +
  4. +Set the following options to board/<manufacturer>/<boardname>/<package>.config + (as far as they are relevant): +

    • +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE +
    • +BR2_PACKAGE_BUSYBOX_CONFIG +
    • +BR2_UCLIBC_CONFIG +
    • +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE +
    • +BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE +
    • +BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE +
  5. +Write the configuration files: +

    • +make linux-update-defconfig +
    • +make busybox-update-config +
    • +make uclibc-update-config +
    • +cp <output>/build/at91bootstrap3-*/.config + board/<manufacturer>/<boardname>/at91bootstrap3.config +
    • +make barebox-update-defconfig +
    • +make uboot-update-defconfig +
  6. +Create board/<manufacturer>/<boardname>/rootfs-overlay/ and fill it + with additional files you need on your rootfs, e.g. + board/<manufacturer>/<boardname>/rootfs-overlay/etc/inittab. + Set BR2_ROOTFS_OVERLAY + to board/<manufacturer>/<boardname>/rootfs-overlay. +
  7. +Create a post-build script + board/<manufacturer>/<boardname>/post_build.sh. Set + BR2_ROOTFS_POST_BUILD_SCRIPT to + board/<manufacturer>/<boardname>/post_build.sh +
  8. +If additional setuid permissions have to be set or device nodes have + to be created, create board/<manufacturer>/<boardname>/device_table.txt + and add that path to BR2_ROOTFS_DEVICE_TABLE. +
  9. +If additional user accounts have to be created, create + board/<manufacturer>/<boardname>/users_table.txt and add that path + to BR2_ROOTFS_USERS_TABLES. +
  10. +To add custom patches to certain packages, set BR2_GLOBAL_PATCH_DIR + to board/<manufacturer>/<boardname>/patches/ and add your patches + for each package in a subdirectory named after the package. Each + patch should be called <packagename>-<num>-<description>.patch. +
  11. +Specifically for the Linux kernel, there also exists the option + BR2_LINUX_KERNEL_PATCH with as main advantage that it can also + download patches from a URL. If you do not need this, + BR2_GLOBAL_PATCH_DIR is preferred. U-Boot, Barebox, at91bootstrap + and at91bootstrap3 also have separate options, but these do not + provide any advantage over BR2_GLOBAL_PATCH_DIR and will likely be + removed in the future. +
  12. +If you need to add project-specific packages, create + package/<manufacturer>/ and place your packages in that + directory. Create an overall <manufacturer>.mk file that + includes the .mk files of all your packages. Create an overall + Config.in file that sources the Config.in files of all your + packages. Include this Config.in file from Buildroot’s + package/Config.in file. +
  13. +make savedefconfig to save the buildroot configuration. +
  14. +cp defconfig configs/<boardname>_defconfig +

Chapter 10. Frequently Asked Questions & Troubleshooting

10.1. The boot hangs after Starting network…

If the boot process seems to hang after the following messages +(messages not necessarily exactly similar, depending on the list of +packages selected):

Freeing init memory: 3972K
+Initializing random number generator... done.
+Starting network...
+Starting dropbear sshd: generating rsa key... generating dsa key... OK

then it means that your system is running, but didn’t start a shell on +the serial console. In order to have the system start a shell on your +serial console, you have to go into the Buildroot configuration, in +System configuration, modify Run a getty (login prompt) after boot +and set the appropriate port and baud rate in the getty options +submenu. This will automatically tune the /etc/inittab file of the +generated system so that a shell starts on the correct serial port.

10.2. Why is there no compiler on the target?

It has been decided that support for the native compiler on the +target would be stopped from the Buildroot-2012.11 release because:

  • +this feature was neither maintained nor tested, and often broken; +
  • +this feature was only available for Buildroot toolchains; +
  • +Buildroot mostly targets small or very small target hardware + with limited resource onboard (CPU, ram, mass-storage), for which + compiling on the target does not make much sense; +
  • +Buildroot aims at easing the cross-compilation, making native + compilation on the target unnecessary. +

If you need a compiler on your target anyway, then Buildroot is not +suitable for your purpose. In such case, you need a real +distribution and you should opt for something like:

10.3. Why are there no development files on the target?

Since there is no compiler available on the target (see +Section 10.2, “Why is there no compiler on the target?â€), it does not make sense to waste +space with headers or static libraries.

Therefore, those files are always removed from the target since the +Buildroot-2012.11 release.

10.4. Why is there no documentation on the target?

Because Buildroot mostly targets small or very small target +hardware with limited resource onboard (CPU, ram, mass-storage), it +does not make sense to waste space with the documentation data.

If you need documentation data on your target anyway, then Buildroot +is not suitable for your purpose, and you should look for a real +distribution (see: Section 10.2, “Why is there no compiler on the target?â€).

10.5. Why are some packages not visible in the Buildroot config menu?

If a package exists in the Buildroot tree and does not appear in the +config menu, this most likely means that some of the package’s +dependencies are not met.

To know more about the dependencies of a package, search for the +package symbol in the config menu (see Section 8.1, “make tipsâ€).

Then, you may have to recursively enable several options (which +correspond to the unmet dependencies) to finally be able to select +the package.

If the package is not visible due to some unmet toolchain options, +then you should certainly run a full rebuild (see Section 8.1, “make tips†for +more explanations).

10.6. Why not use the target directory as a chroot directory?

There are plenty of reasons to not use the target directory a chroot +one, among these:

  • +file ownerships, modes and permissions are not correctly set in the + target directory; +
  • +device nodes are not created in the target directory. +

For these reasons, commands run through chroot, using the target +directory as the new root, will most likely fail.

If you want to run the target filesystem inside a chroot, or as an NFS +root, then use the tarball image generated in images/ and extract it +as root.

10.7. Why doesn’t Buildroot generate binary packages (.deb, .ipkg…)?

One feature that is often discussed on the Buildroot list is the +general topic of "package management". To summarize, the idea +would be to add some tracking of which Buildroot package installs +what files, with the goals of:

  • +being able to remove files installed by a package when this package + gets unselected from the menuconfig; +
  • +being able to generate binary packages (ipk or other format) that + can be installed on the target without re-generating a new root + filesystem image. +

In general, most people think it is easy to do: just track which package +installed what and remove it when the package is unselected. However, it +is much more complicated than that:

  • +It is not only about the target/ directory, but also the sysroot in + host/<tuple>/sysroot and the host/ directory itself. All files + installed in those directories by various packages must be tracked. +
  • +When a package is unselected from the configuration, it is not + sufficient to remove just the files it installed. One must also + remove all its reverse dependencies (i.e. packages relying on it) + and rebuild all those packages. For example, package A depends + optionally on the OpenSSL library. Both are selected, and Buildroot + is built. Package A is built with crypto support using OpenSSL. + Later on, OpenSSL gets unselected from the configuration, but + package A remains (since OpenSSL is an optional dependency, this + is possible.) If only OpenSSL files are removed, then the files + installed by package A are broken: they use a library that is no + longer present on the target. Although this is technically doable, + it adds a lot of complexity to Buildroot, which goes against the + simplicity we try to stick to. +
  • +In addition to the previous problem, there is the case where the + optional dependency is not even known to Buildroot. For example, + package A in version 1.0 never used OpenSSL, but in version 2.0 it + automatically uses OpenSSL if available. If the Buildroot .mk file + hasn’t been updated to take this into account, then package A will + not be part of the reverse dependencies of OpenSSL and will not be + removed and rebuilt when OpenSSL is removed. For sure, the .mk file + of package A should be fixed to mention this optional dependency, + but in the mean time, you can have non-reproducible behaviors. +
  • +The request is to also allow changes in the menuconfig to be + applied on the output directory without having to rebuild + everything from scratch. However, this is very difficult to achieve + in a reliable way: what happens when the suboptions of a package + are changed (we would have to detect this, and rebuild the package + from scratch and potentially all its reverse dependencies), what + happens if toolchain options are changed, etc. At the moment, what + Buildroot does is clear and simple so its behaviour is very + reliable and it is easy to support users. If configuration changes + done in menuconfig are applied after the next make, then it has to + work correctly and properly in all situations, and not have some + bizarre corner cases. The risk is to get bug reports like "I have + enabled package A, B and C, then ran make, then disabled package + C and enabled package D and ran make, then re-enabled package C + and enabled package E and then there is a build failure". Or worse + "I did some configuration, then built, then did some changes, + built, some more changes, built, some more changes, built, and now + it fails, but I don’t remember all the changes I did and in which + order". This will be impossible to support. +

For all these reasons, the conclusion is that adding tracking of +installed files to remove them when the package is unselected, or to +generate a repository of binary packages, is something that is very +hard to achieve reliably and will add a lot of complexity.

On this matter, the Buildroot developers make this position statement:

  • +Buildroot strives to make it easy to generate a root filesystem (hence + the name, by the way.) That is what we want to make Buildroot good at: + building root filesystems. +
  • +Buildroot is not meant to be a distribution (or rather, a distribution + generator.) It is the opinion of most Buildroot developers that this + is not a goal we should pursue. We believe that there are other tools + better suited to generate a distro than Buildroot is. For example, + Open Embedded, or openWRT, + are such tools. +
  • +We prefer to push Buildroot in a direction that makes it easy (or even + easier) to generate complete root filesystems. This is what makes + Buildroot stands out in the crowd (among other things, of course!) +
  • +We believe that for most embedded Linux systems, binary packages are + not necessary, and potentially harmful. When binary packages are + used, it means that the system can be partially upgraded, which + creates an enormous number of possible combinations of package + versions that should be tested before doing the upgrade on the + embedded device. On the other hand, by doing complete system + upgrades by upgrading the entire root filesystem image at once, + the image deployed to the embedded system is guaranteed to really + be the one that has been tested and validated. +

10.8. How to speed-up the build process?

Since Buildroot often involves doing full rebuilds of the entire +system that can be quite long, we provide below a number of tips to +help reduce the build time:

  • +Use a pre-built external toolchain instead of the default Buildroot + internal toolchain. By using a pre-built Linaro toolchain (on ARM) + or a Sourcery CodeBench toolchain (for ARM, x86, x86-64, MIPS, + etc.), you will save the build time of the toolchain at each + complete rebuild, approximately 15 to 20 minutes. Note that + temporarily using an external toolchain does not prevent you to + switch back to an internal toolchain (that may provide a higher + level of customization) once the rest of your system is working; +
  • +Use the ccache compiler cache (see: Section 8.12.3, “Using ccache in Buildrootâ€); +
  • +Learn about rebuilding only the few packages you actually care + about (see Section 8.3, “Understanding how to rebuild packagesâ€), but beware that sometimes full + rebuilds are anyway necessary (see Section 8.2, “Understanding when a full rebuild is necessaryâ€); +
  • +Make sure you are not using a virtual machine for the Linux system + used to run Buildroot. Most of the virtual machine technologies are + known to cause a significant performance impact on I/O, which is + really important for building source code; +
  • +Make sure that you’re using only local files: do not attempt to do + a build over NFS, which significantly slows down the build. Having + the Buildroot download folder available locally also helps a bit. +
  • +Buy new hardware. SSDs and lots of RAM are key to speeding up the + builds. +

Chapter 11. Known issues

  • +It is not possible to pass extra linker options via BR2_TARGET_LDFLAGS + if such options contain a $ sign. For example, the following is known + to break: BR2_TARGET_LDFLAGS="-Wl,-rpath='$ORIGIN/../lib'" +
  • +The libffi package is not supported on the SuperH 2 and ARC + architectures. +
  • +The prboom package triggers a compiler failure with the SuperH 4 + compiler from Sourcery CodeBench, version 2012.09. +

Chapter 12. Legal notice and licensing

12.1. Complying with open source licenses

All of the end products of Buildroot (toolchain, root filesystem, kernel, +bootloaders) contain open source software, released under various licenses.

Using open source software gives you the freedom to build rich embedded +systems, choosing from a wide range of packages, but also imposes some +obligations that you must know and honour. +Some licenses require you to publish the license text in the documentation of +your product. Others require you to redistribute the source code of the +software to those that receive your product.

The exact requirements of each license are documented in each package, and +it is your responsibility (or that of your legal office) to comply with those +requirements. +To make this easier for you, Buildroot can collect for you some material you +will probably need. To produce this material, after you have configured +Buildroot with make menuconfig, make xconfig or make gconfig, run:

make legal-info

Buildroot will collect legally-relevant material in your output directory, +under the legal-info/ subdirectory. +There you will find:

  • +A README file, that summarizes the produced material and contains warnings + about material that Buildroot could not produce. +
  • +buildroot.config: this is the Buildroot configuration file that is usually + produced with make menuconfig, and which is necessary to reproduce the + build. +
  • +The source code for all packages; this is saved in the sources/ and + host-sources/ subdirectories for target and host packages respectively. + The source code for packages that set <PKG>_REDISTRIBUTE = NO will not be + saved. + Patches that were applied are also saved, along with a file named series + that lists the patches in the order they were applied. Patches are under the + same license as the files that they modify. + Note: Buildroot applies additional patches to Libtool scripts of + autotools-based packages. These patches can be found under + support/libtool in the Buildroot source and, due to technical + limitations, are not saved with the package sources. You may need to + collect them manually. +
  • +A manifest file (one for host and one for target packages) listing the + configured packages, their version, license and related information. + Some of this information might not be defined in Buildroot; such items are + marked as "unknown". +
  • +The license texts of all packages, in the licenses/ and host-licenses/ + subdirectories for target and host packages respectively. + If the license file(s) are not defined in Buildroot, the file is not produced + and a warning in the README indicates this. +

Please note that the aim of the legal-info feature of Buildroot is to +produce all the material that is somehow relevant for legal compliance with the +package licenses. Buildroot does not try to produce the exact material that +you must somehow make public. Certainly, more material is produced than is +needed for a strict legal compliance. For example, it produces the source code +for packages released under BSD-like licenses, that you are not required to +redistribute in source form.

Moreover, due to technical limitations, Buildroot does not produce some +material that you will or may need, such as the toolchain source code and the +Buildroot source code itself (including patches to packages for which source +distribution is required). +When you run make legal-info, Buildroot produces warnings in the README +file to inform you of relevant material that could not be saved.

Finally, keep in mind that the output of make legal-info is based on +declarative statements in each of the packages recipes. The Buildroot +developers try to do their best to keep those declarative statements as +accurate as possible, to the best of their knowledge. However, it is very +well possible that those declarative statements are not all fully accurate +nor exhaustive. You (or your legal department) have to check the output +of make legal-info before using it as your own compliance delivery. See +the NO WARRANTY clauses (clauses 11 and 12) in the COPYING file at the +root of the Buildroot distribution.

12.2. Complying with the Buildroot license

Buildroot itself is an open source software, released under the +GNU General +Public License, version 2 or (at your option) any later version, with +the exception of the package patches detailed below. +However, being a build system, it is not normally part of the end product: +if you develop the root filesystem, kernel, bootloader or toolchain for a +device, the code of Buildroot is only present on the development machine, not +in the device storage.

Nevertheless, the general view of the Buildroot developers is that you should +release the Buildroot source code along with the source code of other packages +when releasing a product that contains GPL-licensed software. +This is because the +GNU GPL +defines the "complete source code" for an executable work as "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". +Buildroot is part of the scripts used to control compilation and +installation of the executable, and as such it is considered part of the +material that must be redistributed.

Keep in mind that this is only the Buildroot developers' opinion, and you +should consult your legal department or lawyer in case of any doubt.

12.2.1. Patches to packages

Buildroot also bundles patch files, which are applied to the sources +of the various packages. Those patches are not covered by the license +of Buildroot. Instead, they are covered by the license of the software +to which the patches are applied. When said software is available +under multiple licenses, the Buildroot patches are only provided under +the publicly accessible licenses.

See Chapter 18, Patching a package for the technical details.

Chapter 13. Beyond Buildroot

13.1. Boot the generated images

13.1.1. NFS boot

To achieve NFS-boot, enable tar root filesystem in the Filesystem +images menu.

After a complete build, just run the following commands to setup the +NFS-root directory:

sudo tar -xavf /path/to/output_dir/rootfs.tar -C /path/to/nfs_root_dir

Remember to add this path to /etc/exports.

Then, you can execute a NFS-boot from your target.

13.1.2. Live CD

To build a live CD image, enable the iso image option in the +Filesystem images menu. Note that this option is only available on +the x86 and x86-64 architectures, and if you are building your kernel +with Buildroot.

You can build a live CD image with either IsoLinux, Grub or Grub 2 as +a bootloader, but only Isolinux supports making this image usable both +as a live CD and live USB (through the Build hybrid image option).

You can test your live CD image using QEMU:

qemu-system-i386 -cdrom output/images/rootfs.iso9660

Or use it as a hard-drive image if it is a hybrid ISO:

qemu-system-i386 -hda output/images/rootfs.iso9660

It can be easily flashed to a USB drive with dd:

dd if=output/images/rootfs.iso9660 of=/dev/sdb

13.2. Chroot

If you want to chroot in a generated image, then there are few thing +you should be aware of:

  • +you should setup the new root from the tar root filesystem image; +
  • +either the selected target architecture is compatible with your host + machine, or you should use some qemu-* binary and correctly set it + within the binfmt properties to be able to run the binaries built + for the target on your host machine; +
  • +Buildroot does not currently provide host-qemu and binfmt + correctly built and set for that kind of use. +

Part III. Developer guide

Chapter 14. How Buildroot works

As mentioned above, Buildroot is basically a set of Makefiles that +download, configure, and compile software with the correct options. It +also includes patches for various software packages - mainly the ones +involved in the cross-compilation toolchain (gcc, binutils and +uClibc).

There is basically one Makefile per software package, and they are +named with the .mk extension. Makefiles are split into many different +parts.

  • +The toolchain/ directory contains the Makefiles + and associated files for all software related to the + cross-compilation toolchain: binutils, gcc, gdb, + kernel-headers and uClibc. +
  • +The arch/ directory contains the definitions for all the processor + architectures that are supported by Buildroot. +
  • +The package/ directory contains the Makefiles and + associated files for all user-space tools and libraries that Buildroot + can compile and add to the target root filesystem. There is one + sub-directory per package. +
  • +The linux/ directory contains the Makefiles and associated files for + the Linux kernel. +
  • +The boot/ directory contains the Makefiles and associated files for + the bootloaders supported by Buildroot. +
  • +The system/ directory contains support for system integration, e.g. + the target filesystem skeleton and the selection of an init system. +
  • +The fs/ directory contains the Makefiles and + associated files for software related to the generation of the + target root filesystem image. +

Each directory contains at least 2 files:

  • +something.mk is the Makefile that downloads, configures, + compiles and installs the package something. +
  • +Config.in is a part of the configuration tool + description file. It describes the options related to the + package. +

The main Makefile performs the following steps (once the +configuration is done):

  • +Create all the output directories: staging, target, build, + etc. in the output directory (output/ by default, + another value can be specified using O=) +
  • +Generate the toolchain target. When an internal toolchain is used, this + means generating the cross-compilation toolchain. When an external + toolchain is used, this means checking the features of the external + toolchain and importing it into the Buildroot environment. +
  • +Generate all the targets listed in the TARGETS variable. This + variable is filled by all the individual components' + Makefiles. Generating these targets will trigger the compilation of + the userspace packages (libraries, programs), the kernel, the + bootloader and the generation of the root filesystem images, + depending on the configuration. +

Chapter 15. Coding style

Overall, these coding style rules are here to help you to add new files in +Buildroot or refactor existing ones.

If you slightly modify some existing file, the important thing is +to keep the consistency of the whole file, so you can:

  • +either follow the potentially deprecated coding style used in this +file, +
  • +or entirely rework it in order to make it comply with these rules. +

15.1. Config.in file

Config.in files contain entries for almost anything configurable in +Buildroot.

An entry has the following pattern:

config BR2_PACKAGE_LIBFOO
+        bool "libfoo"
+        depends on BR2_PACKAGE_LIBBAZ
+        select BR2_PACKAGE_LIBBAR
+        help
+          This is a comment that explains what libfoo is. The help text
+          should be wrapped.
+
+          http://foosoftware.org/libfoo/
  • +The bool, depends on, select and help lines are indented + with one tab. +
  • +The help text itself should be indented with one tab and two + spaces. +
  • +The help text should be wrapped to fit 72 columns, where tab counts + for 8, so 62 characters in the text itself. +

The Config.in files are the input for the configuration tool +used in Buildroot, which is the regular Kconfig. For further +details about the Kconfig language, refer to +http://kernel.org/doc/Documentation/kbuild/kconfig-language.txt.

15.2. The .mk file

  • +Header: The file starts with a header. It contains the module name, +preferably in lowercase, enclosed between separators made of 80 hashes. A +blank line is mandatory after the header: +

    ################################################################################
    +#
    +# libfoo
    +#
    +################################################################################
  • +Assignment: use = preceded and followed by one space: +

    LIBFOO_VERSION = 1.0
    +LIBFOO_CONF_OPTS += --without-python-support

    Do not align the = signs.

  • +Indentation: use tab only: +

    define LIBFOO_REMOVE_DOC
    +        $(RM) -fr $(TARGET_DIR)/usr/share/libfoo/doc \
    +                $(TARGET_DIR)/usr/share/man/man3/libfoo*
    +endef

    Note that commands inside a define block should always start with a tab, +so make recognizes them as commands.

  • +Optional dependency: +

    • +Prefer multi-line syntax. +

      YES:

      ifeq ($(BR2_PACKAGE_PYTHON),y)
      +LIBFOO_CONF_OPTS += --with-python-support
      +LIBFOO_DEPENDENCIES += python
      +else
      +LIBFOO_CONF_OPTS += --without-python-support
      +endif

      NO:

      LIBFOO_CONF_OPTS += --with$(if $(BR2_PACKAGE_PYTHON),,out)-python-support
      +LIBFOO_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON),python,)
    • +Keep configure options and dependencies close together. +
  • +Optional hooks: keep hook definition and assignment together in one + if block. +

    YES:

    ifneq ($(BR2_LIBFOO_INSTALL_DATA),y)
    +define LIBFOO_REMOVE_DATA
    +        $(RM) -fr $(TARGET_DIR)/usr/share/libfoo/data
    +endef
    +LIBFOO_POST_INSTALL_TARGET_HOOKS += LIBFOO_REMOVE_DATA
    +endif

    NO:

    define LIBFOO_REMOVE_DATA
    +        $(RM) -fr $(TARGET_DIR)/usr/share/libfoo/data
    +endef
    +
    +ifneq ($(BR2_LIBFOO_INSTALL_DATA),y)
    +LIBFOO_POST_INSTALL_TARGET_HOOKS += LIBFOO_REMOVE_DATA
    +endif

15.3. The documentation

The documentation uses the +asciidoc format.

For further details about the asciidoc +syntax, refer to http://www.methods.co.nz/asciidoc/userguide.html.

15.4. Support scripts

Some scripts in the support/ and utils/ directories are written in +Python and should follow the +PEP8 Style Guide for Python Code.

Chapter 16. Adding support for a particular board

Buildroot contains basic configurations for several publicly available +hardware boards, so that users of such a board can easily build a system +that is known to work. You are welcome to add support for other boards +to Buildroot too.

To do so, you need to create a normal Buildroot configuration that +builds a basic system for the hardware: toolchain, kernel, bootloader, +filesystem and a simple BusyBox-only userspace. No specific package +should be selected: the configuration should be as minimal as +possible, and should only build a working basic BusyBox system for the +target platform. You can of course use more complicated configurations +for your internal projects, but the Buildroot project will only +integrate basic board configurations. This is because package +selections are highly application-specific.

Once you have a known working configuration, run make +savedefconfig. This will generate a minimal defconfig file at the +root of the Buildroot source tree. Move this file into the configs/ +directory, and rename it <boardname>_defconfig.

It is recommended to use as much as possible upstream versions of the +Linux kernel and bootloaders, and to use as much as possible default +kernel and bootloader configurations. If they are incorrect for your +board, or no default exists, we encourage you to send fixes to the +corresponding upstream projects.

However, in the mean time, you may want to store kernel or bootloader +configuration or patches specific to your target platform. To do so, +create a directory board/<manufacturer> and a subdirectory +board/<manufacturer>/<boardname>. You can then store your patches +and configurations in these directories, and reference them from the main +Buildroot configuration. Refer to Chapter 9, Project-specific customization for more details.

Chapter 17. Adding new packages to Buildroot

This section covers how new packages (userspace libraries or +applications) can be integrated into Buildroot. It also shows how +existing packages are integrated, which is needed for fixing issues or +tuning their configuration.

When you add a new package, be sure to test it in various conditions; +see Section 17.20.2, “How to test your packageâ€

17.1. Package directory

First of all, create a directory under the package directory for +your software, for example libfoo.

Some packages have been grouped by topic in a sub-directory: +x11r7, qt5 and gstreamer. If your package fits in +one of these categories, then create your package directory in these. +New subdirectories are discouraged, however.

17.2. Config files

For the package to be displayed in the configuration tool, you need to +create a Config file in your package directory. There are two types: +Config.in and Config.in.host.

17.2.1. Config.in file

For packages used on the target, create a file named Config.in. This +file will contain the option descriptions related to our libfoo software +that will be used and displayed in the configuration tool. It should basically +contain:

config BR2_PACKAGE_LIBFOO
+        bool "libfoo"
+        help
+          This is a comment that explains what libfoo is. The help text
+          should be wrapped.
+
+          http://foosoftware.org/libfoo/

The bool line, help line and other metadata information about the +configuration option must be indented with one tab. The help text +itself should be indented with one tab and two spaces, lines should +be wrapped to fit 72 columns, where tab counts for 8, so 62 characters +in the text itself. The help text must mention the upstream URL of the +project after an empty line.

As a convention specific to Buildroot, the ordering of the attributes +is as follows:

  1. +The type of option: bool, string… with the prompt +
  2. +If needed, the default value(s) +
  3. +Any dependency of the depends on form +
  4. +Any dependency of the select form +
  5. +The help keyword and help text. +

You can add other sub-options into a if BR2_PACKAGE_LIBFOO…endif +statement to configure particular things in your software. You can look at +examples in other packages. The syntax of the Config.in file is the same +as the one for the kernel Kconfig file. The documentation for this syntax is +available at http://kernel.org/doc/Documentation/kbuild/kconfig-language.txt

Finally you have to add your new libfoo/Config.in to +package/Config.in (or in a category subdirectory if you decided to +put your package in one of the existing categories). The files +included there are sorted alphabetically per category and are NOT +supposed to contain anything but the bare name of the package.

source "package/libfoo/Config.in"

17.2.2. Config.in.host file

Some packages also need to be built for the host system. There are two +options here:

  • +The host package is only required to satisfy build-time + dependencies of one or more target packages. In this case, add + host-foo to the target package’s BAR_DEPENDENCIES variable. No + Config.in.host file should be created. +
  • +The host package should be explicitly selectable by the user from + the configuration menu. In this case, create a Config.in.host file + for that host package: +

    config BR2_PACKAGE_HOST_FOO
    +        bool "host foo"
    +        help
    +          This is a comment that explains what foo for the host is.
    +
    +          http://foosoftware.org/foo/

    The same coding style and options as for the Config.in file are valid.

    Finally you have to add your new libfoo/Config.in.host to +package/Config.in.host. The files included there are sorted alphabetically +and are NOT supposed to contain anything but the bare name of the package.

    source "package/foo/Config.in.host"

    The host package will then be available from the Host utilities menu.

17.2.3. Choosing depends on or select

The Config.in file of your package must also ensure that +dependencies are enabled. Typically, Buildroot uses the following +rules:

  • +Use a select type of dependency for dependencies on + libraries. These dependencies are generally not obvious and it + therefore make sense to have the kconfig system ensure that the + dependencies are selected. For example, the libgtk2 package uses + select BR2_PACKAGE_LIBGLIB2 to make sure this library is also + enabled. + The select keyword expresses the dependency with a backward + semantic. +
  • +Use a depends on type of dependency when the user really needs to + be aware of the dependency. Typically, Buildroot uses this type of + dependency for dependencies on target architecture, MMU support and + toolchain options (see Section 17.2.4, “Dependencies on target and toolchain optionsâ€), + or for dependencies on "big" things, such as the X.org system. + The depends on keyword expresses the dependency with a forward + semantic. +

Note. The current problem with the kconfig language is that these two +dependency semantics are not internally linked. Therefore, it may be +possible to select a package, whom one of its dependencies/requirement +is not met.

An example illustrates both the usage of select and depends on.

config BR2_PACKAGE_RRDTOOL
+        bool "rrdtool"
+        depends on BR2_USE_WCHAR
+        select BR2_PACKAGE_FREETYPE
+        select BR2_PACKAGE_LIBART
+        select BR2_PACKAGE_LIBPNG
+        select BR2_PACKAGE_ZLIB
+        help
+          RRDtool is the OpenSource industry standard, high performance
+          data logging and graphing system for time series data.
+
+          http://oss.oetiker.ch/rrdtool/
+
+comment "rrdtool needs a toolchain w/ wchar"
+        depends on !BR2_USE_WCHAR

Note that these two dependency types are only transitive with the +dependencies of the same kind.

This means, in the following example:

config BR2_PACKAGE_A
+        bool "Package A"
+
+config BR2_PACKAGE_B
+        bool "Package B"
+        depends on BR2_PACKAGE_A
+
+config BR2_PACKAGE_C
+        bool "Package C"
+        depends on BR2_PACKAGE_B
+
+config BR2_PACKAGE_D
+        bool "Package D"
+        select BR2_PACKAGE_B
+
+config BR2_PACKAGE_E
+        bool "Package E"
+        select BR2_PACKAGE_D
  • +Selecting Package C will be visible if Package B has been + selected, which in turn is only visible if Package A has been + selected. +
  • +Selecting Package E will select Package D, which will select + Package B, it will not check for the dependencies of Package B, + so it will not select Package A. +
  • +Since Package B is selected but Package A is not, this violates + the dependency of Package B on Package A. Therefore, in such a + situation, the transitive dependency has to be added explicitly: +
config BR2_PACKAGE_D
+        bool "Package D"
+        select BR2_PACKAGE_B
+        depends on BR2_PACKAGE_A
+
+config BR2_PACKAGE_E
+        bool "Package E"
+        select BR2_PACKAGE_D
+        depends on BR2_PACKAGE_A

Overall, for package library dependencies, select should be +preferred.

Note that such dependencies will ensure that the dependency option +is also enabled, but not necessarily built before your package. To do +so, the dependency also needs to be expressed in the .mk file of the +package.

Further formatting details: see the +coding style +Section 15.1, “Config.in fileâ€.

17.2.4. Dependencies on target and toolchain options

Many packages depend on certain options of the toolchain: the choice of +C library, C++ support, thread support, RPC support, wchar support, +or dynamic library support. Some packages can only be built on certain +target architectures, or if an MMU is available in the processor.

These dependencies have to be expressed with the appropriate depends +on statements in the Config.in file. Additionally, for dependencies on +toolchain options, a comment should be displayed when the option is +not enabled, so that the user knows why the package is not available. +Dependencies on target architecture or MMU support should not be +made visible in a comment: since it is unlikely that the user can +freely choose another target, it makes little sense to show these +dependencies explicitly.

The comment should only be visible if the config option itself would +be visible when the toolchain option dependencies are met. This means +that all other dependencies of the package (including dependencies on +target architecture and MMU support) have to be repeated on the +comment definition. To keep it clear, the depends on statement for +these non-toolchain option should be kept separate from the depends on +statement for the toolchain options. +If there is a dependency on a config option in that same file (typically +the main package) it is preferable to have a global if … endif +construct rather than repeating the depends on statement on the +comment and other config options.

The general format of a dependency comment for package foo is:

foo needs a toolchain w/ featA, featB, featC

for example:

mpd needs a toolchain w/ C++, threads, wchar

or

crda needs a toolchain w/ threads

Note that this text is kept brief on purpose, so that it will fit on a +80-character terminal.

The rest of this section enumerates the different target and toolchain +options, the corresponding config symbols to depend on, and the text to +use in the comment.

  • +Target architecture +

    • +Dependency symbol: BR2_powerpc, BR2_mips, … (see arch/Config.in) +
    • +Comment string: no comment to be added +
  • +MMU support +

    • +Dependency symbol: BR2_USE_MMU +
    • +Comment string: no comment to be added +
  • +Gcc _sync* built-ins used for atomic operations. They are + available in variants operating on 1 byte, 2 bytes, 4 bytes and 8 + bytes. Since different architectures support atomic operations on + different sizes, one dependency symbol is available for each size: +

    • +Dependency symbol: BR2_TOOLCHAIN_HAS_SYNC_1 for 1 byte, + BR2_TOOLCHAIN_HAS_SYNC_2 for 2 bytes, + BR2_TOOLCHAIN_HAS_SYNC_4 for 4 bytes, BR2_TOOLCHAIN_HAS_SYNC_8 + for 8 bytes. +
    • +Comment string: no comment to be added +
  • +Gcc _atomic* built-ins used for atomic operations. +

    • +Dependency symbol: BR2_TOOLCHAIN_HAS_ATOMIC. +
    • +Comment string: no comment to be added +
  • +Kernel headers +

    • +Dependency symbol: BR2_TOOLCHAIN_HEADERS_AT_LEAST_X_Y, (replace + X_Y with the proper version, see toolchain/toolchain-common.in) +
    • +Comment string: headers >= X.Y and/or headers <= X.Y (replace + X.Y with the proper version) +
  • +GCC version +

    • +Dependency symbol: BR2_TOOLCHAIN_GCC_AT_LEAST_X_Y, (replace + X_Y with the proper version, see toolchain/toolchain-common.in) +
    • +Comment string: gcc >= X.Y and/or gcc <= X.Y (replace + X.Y with the proper version) +
  • +Host GCC version +

    • +Dependency symbol: BR2_HOST_GCC_AT_LEAST_X_Y, (replace + X_Y with the proper version, see Config.in) +
    • +Comment string: no comment to be added +
    • +Note that it is usually not the package itself that has a minimum + host GCC version, but rather a host-package on which it depends. +
  • +C library +

    • +Dependency symbol: BR2_TOOLCHAIN_USES_GLIBC, + BR2_TOOLCHAIN_USES_MUSL, BR2_TOOLCHAIN_USES_UCLIBC +
    • +Comment string: for the C library, a slightly different comment text + is used: foo needs a glibc toolchain, or foo needs a glibc + toolchain w/ C++ +
  • +C++ support +

    • +Dependency symbol: BR2_INSTALL_LIBSTDCPP +
    • +Comment string: C++ +
  • +Fortran support +

    • +Dependency symbol: BR2_TOOLCHAIN_HAS_FORTRAN +
    • +Comment string: fortran +
  • +thread support +

    • +Dependency symbol: BR2_TOOLCHAIN_HAS_THREADS +
    • +Comment string: threads (unless BR2_TOOLCHAIN_HAS_THREADS_NPTL + is also needed, in which case, specifying only NPTL is sufficient) +
  • +NPTL thread support +

    • +Dependency symbol: BR2_TOOLCHAIN_HAS_THREADS_NPTL +
    • +Comment string: NPTL +
  • +RPC support +

    • +Dependency symbol: BR2_TOOLCHAIN_HAS_NATIVE_RPC +
    • +Comment string: RPC +
  • +wchar support +

    • +Dependency symbol: BR2_USE_WCHAR +
    • +Comment string: wchar +
  • +dynamic library +

    • +Dependency symbol: !BR2_STATIC_LIBS +
    • +Comment string: dynamic library +

17.2.5. Dependencies on a Linux kernel built by buildroot

Some packages need a Linux kernel to be built by buildroot. These are +typically kernel modules or firmware. A comment should be added in the +Config.in file to express this dependency, similar to dependencies on +toolchain options. The general format is:

foo needs a Linux kernel to be built

If there is a dependency on both toolchain options and the Linux +kernel, use this format:

foo needs a toolchain w/ featA, featB, featC and a Linux kernel to be built

17.2.6. Dependencies on udev /dev management

If a package needs udev /dev management, it should depend on symbol +BR2_PACKAGE_HAS_UDEV, and the following comment should be added:

foo needs udev /dev management

If there is a dependency on both toolchain options and udev /dev +management, use this format:

foo needs udev /dev management and a toolchain w/ featA, featB, featC

17.2.7. Dependencies on features provided by virtual packages

Some features can be provided by more than one package, such as the +openGL libraries.

See Section 17.11, “Infrastructure for virtual packages†for more on the virtual packages.

17.3. The .mk file

Finally, here’s the hardest part. Create a file named libfoo.mk. It +describes how the package should be downloaded, configured, built, +installed, etc.

Depending on the package type, the .mk file must be written in a +different way, using different infrastructures:

Further formatting details: see the writing +rules +Section 15.2, “The .mk fileâ€.

17.4. The .hash file

When possible, you must add a third file, named libfoo.hash, that +contains the hashes of the downloaded files for the libfoo +package. The only reason for not adding a .hash file is when hash +checking is not possible due to how the package is downloaded.

The hashes stored in that file are used to validate the integrity of the +downloaded files and of the license files.

The format of this file is one line for each file for which to check the +hash, each line being space-separated, with these three fields:

  • +the type of hash, one of: +

    • +md5, sha1, sha224, sha256, sha384, sha512, none +
  • +the hash of the file: +

    • +for none, one or more non-space chars, usually just the string xxx +
    • +for md5, 32 hexadecimal characters +
    • +for sha1, 40 hexadecimal characters +
    • +for sha224, 56 hexadecimal characters +
    • +for sha256, 64 hexadecimal characters +
    • +for sha384, 96 hexadecimal characters +
    • +for sha512, 128 hexadecimal characters +
  • +the name of the file: +

    • +for a source archive: the basename of the file, without any directory + component, +
    • +for a license file: the path as it appears in FOO_LICENSE_FILES. +

Lines starting with a # sign are considered comments, and ignored. Empty +lines are ignored.

There can be more than one hash for a single file, each on its own line. In +this case, all hashes must match.

Note. Ideally, the hashes stored in this file should match the hashes published by +upstream, e.g. on their website, in the e-mail announcement… If upstream +provides more than one type of hash (e.g. sha1 and sha512), then it is +best to add all those hashes in the .hash file. If upstream does not +provide any hash, or only provides an md5 hash, then compute at least one +strong hash yourself (preferably sha256, but not md5), and mention +this in a comment line above the hashes.

Note. The hashes for license files are used to detect a license change when a +package version is bumped. The hashes are checked during the make legal-info +target run. For a package with multiple versions (like Qt5), +create the hash file in a subdirectory <packageversion> of that package +(see also Section 18.2, “How patches are appliedâ€).

Note. The number of spaces does not matter, so one can use spaces (or tabs) to +properly align the different fields.

The none hash type is reserved to those archives downloaded from a +repository, like a git clone, a subversion checkout…

The example below defines a sha1 and a sha256 published by upstream for +the main libfoo-1.2.3.tar.bz2 tarball, an md5 from upstream and a +locally-computed sha256 hashes for a binary blob, a sha256 for a +downloaded patch, and an archive with no hash:

# Hashes from: http://www.foosoftware.org/download/libfoo-1.2.3.tar.bz2.{sha1,sha256}:
+sha1   486fb55c3efa71148fe07895fd713ea3a5ae343a                         libfoo-1.2.3.tar.bz2
+sha256 efc8103cc3bcb06bda6a781532d12701eb081ad83e8f90004b39ab81b65d4369 libfoo-1.2.3.tar.bz2
+
+# md5 from: http://www.foosoftware.org/download/libfoo-1.2.3.tar.bz2.md5, sha256 locally computed:
+md5    2d608f3c318c6b7557d551a5a09314f03452f1a1                         libfoo-data.bin
+sha256 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b libfoo-data.bin
+
+# Locally computed:
+sha256 ff52101fb90bbfc3fe9475e425688c660f46216d7e751c4bbdb1dc85cdccacb9 libfoo-fix-blabla.patch
+
+# No hash for 1234:
+none   xxx                                                              libfoo-1234.tar.gz
+
+# Hash for license files:
+sha256 a45a845012742796534f7e91fe623262ccfb99460a2bd04015bd28d66fba95b8  COPYING
+sha256 01b1f9f2c8ee648a7a596a1abe8aa4ed7899b1c9e5551bda06da6e422b04aa55  doc/COPYING.LGPL

If the .hash file is present, and it contains one or more hashes for a +downloaded file, the hash(es) computed by Buildroot (after download) must +match the hash(es) stored in the .hash file. If one or more hashes do +not match, Buildroot considers this an error, deletes the downloaded file, +and aborts.

If the .hash file is present, but it does not contain a hash for a +downloaded file, Buildroot considers this an error and aborts. However, +the downloaded file is left in the download directory since this +typically indicates that the .hash file is wrong but the downloaded +file is probably OK.

Hashes are currently checked for files fetched from http/ftp servers, +Git repositories, files copied using scp and local files. Hashes are +not checked for other version control systems (such as Subversion, +CVS, etc.) because Buildroot currently does not generate reproducible +tarballs when source code is fetched from such version control +systems.

Hashes should only be added in .hash files for files that are +guaranteed to be stable. For example, patches auto-generated by Github +are not guaranteed to be stable, and therefore their hashes can change +over time. Such patches should not be downloaded, and instead be added +locally to the package folder.

If the .hash file is missing, then no check is done at all.

17.5. Infrastructure for packages with specific build systems

By packages with specific build systems we mean all the packages +whose build system is not one of the standard ones, such as +autotools or CMake. This typically includes packages whose build +system is based on hand-written Makefiles or shell scripts.

17.5.1. generic-package tutorial

01: ################################################################################
+02: #
+03: # libfoo
+04: #
+05: ################################################################################
+06:
+07: LIBFOO_VERSION = 1.0
+08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz
+09: LIBFOO_SITE = http://www.foosoftware.org/download
+10: LIBFOO_LICENSE = GPL-3.0+
+11: LIBFOO_LICENSE_FILES = COPYING
+12: LIBFOO_INSTALL_STAGING = YES
+13: LIBFOO_CONFIG_SCRIPTS = libfoo-config
+14: LIBFOO_DEPENDENCIES = host-libaaa libbbb
+15:
+16: define LIBFOO_BUILD_CMDS
+17:     $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) all
+18: endef
+19:
+20: define LIBFOO_INSTALL_STAGING_CMDS
+21:     $(INSTALL) -D -m 0755 $(@D)/libfoo.a $(STAGING_DIR)/usr/lib/libfoo.a
+22:     $(INSTALL) -D -m 0644 $(@D)/foo.h $(STAGING_DIR)/usr/include/foo.h
+23:     $(INSTALL) -D -m 0755 $(@D)/libfoo.so* $(STAGING_DIR)/usr/lib
+24: endef
+25:
+26: define LIBFOO_INSTALL_TARGET_CMDS
+27:     $(INSTALL) -D -m 0755 $(@D)/libfoo.so* $(TARGET_DIR)/usr/lib
+28:     $(INSTALL) -d -m 0755 $(TARGET_DIR)/etc/foo.d
+29: endef
+30:
+31: define LIBFOO_USERS
+32:     foo -1 libfoo -1 * - - - LibFoo daemon
+33: endef
+34:
+35: define LIBFOO_DEVICES
+36:     /dev/foo  c  666  0  0  42  0  -  -  -
+37: endef
+38:
+39: define LIBFOO_PERMISSIONS
+40:     /bin/foo  f  4755  foo  libfoo   -  -  -  -  -
+41: endef
+42:
+43: $(eval $(generic-package))

The Makefile begins on line 7 to 11 with metadata information: the +version of the package (LIBFOO_VERSION), the name of the +tarball containing the package (LIBFOO_SOURCE) (xz-ed tarball recommended) +the Internet location at which the tarball can be downloaded from +(LIBFOO_SITE), the license (LIBFOO_LICENSE) and file with the +license text (LIBFOO_LICENSE_FILES). All variables must start with +the same prefix, LIBFOO_ in this case. This prefix is always the +uppercased version of the package name (see below to understand where +the package name is defined).

On line 12, we specify that this package wants to install something to +the staging space. This is often needed for libraries, since they must +install header files and other development files in the staging space. +This will ensure that the commands listed in the +LIBFOO_INSTALL_STAGING_CMDS variable will be executed.

On line 13, we specify that there is some fixing to be done to some +of the libfoo-config files that were installed during +LIBFOO_INSTALL_STAGING_CMDS phase. +These *-config files are executable shell script files that are +located in $(STAGING_DIR)/usr/bin directory and are executed +by other 3rd party packages to find out the location and the linking +flags of this particular package.

The problem is that all these *-config files by default give wrong, +host system linking flags that are unsuitable for cross-compiling.

For example: -I/usr/include instead of -I$(STAGING_DIR)/usr/include +or: -L/usr/lib instead of -L$(STAGING_DIR)/usr/lib

So some sed magic is done to these scripts to make them give correct +flags. +The argument to be given to LIBFOO_CONFIG_SCRIPTS is the file name(s) +of the shell script(s) needing fixing. All these names are relative to +$(STAGING_DIR)/usr/bin and if needed multiple names can be given.

In addition, the scripts listed in LIBFOO_CONFIG_SCRIPTS are removed +from $(TARGET_DIR)/usr/bin, since they are not needed on the target.

Example 17.1. Config script: divine package

Package divine installs shell script $(STAGING_DIR)/usr/bin/divine-config.

So its fixup would be:

DIVINE_CONFIG_SCRIPTS = divine-config

Example 17.2. Config script: imagemagick package:

Package imagemagick installs the following scripts: +$(STAGING_DIR)/usr/bin/{Magick,Magick++,MagickCore,MagickWand,Wand}-config

So it’s fixup would be:

IMAGEMAGICK_CONFIG_SCRIPTS = \
+   Magick-config Magick++-config \
+   MagickCore-config MagickWand-config Wand-config

On line 14, we specify the list of dependencies this package relies +on. These dependencies are listed in terms of lower-case package names, +which can be packages for the target (without the host- +prefix) or packages for the host (with the host-) prefix). +Buildroot will ensure that all these packages are built and installed +before the current package starts its configuration.

The rest of the Makefile, lines 16..29, defines what should be done +at the different steps of the package configuration, compilation and +installation. +LIBFOO_BUILD_CMDS tells what steps should be performed to +build the package. LIBFOO_INSTALL_STAGING_CMDS tells what +steps should be performed to install the package in the staging space. +LIBFOO_INSTALL_TARGET_CMDS tells what steps should be +performed to install the package in the target space.

All these steps rely on the $(@D) variable, which +contains the directory where the source code of the package has been +extracted.

On lines 31..43, we define a user that is used by this package (e.g. +to run a daemon as non-root) (LIBFOO_USERS).

On line 35..37, we define a device-node file used by this package +(LIBFOO_DEVICES).

On line 39..41, we define the permissions to set to specific files +installed by this package (LIBFOO_PERMISSIONS).

Finally, on line 43, we call the generic-package function, which +generates, according to the variables defined previously, all the +Makefile code necessary to make your package working.

17.5.2. generic-package reference

There are two variants of the generic target. The generic-package macro is +used for packages to be cross-compiled for the target. The +host-generic-package macro is used for host packages, natively compiled +for the host. It is possible to call both of them in a single .mk +file: once to create the rules to generate a target +package and once to create the rules to generate a host package:

$(eval $(generic-package))
+$(eval $(host-generic-package))

This might be useful if the compilation of the target package requires +some tools to be installed on the host. If the package name is +libfoo, then the name of the package for the target is also +libfoo, while the name of the package for the host is +host-libfoo. These names should be used in the DEPENDENCIES +variables of other packages, if they depend on libfoo or +host-libfoo.

The call to the generic-package and/or host-generic-package macro must be +at the end of the .mk file, after all variable definitions.

For the target package, the generic-package uses the variables defined by +the .mk file and prefixed by the uppercased package name: +LIBFOO_*. host-generic-package uses the HOST_LIBFOO_* variables. For +some variables, if the HOST_LIBFOO_ prefixed variable doesn’t +exist, the package infrastructure uses the corresponding variable +prefixed by LIBFOO_. This is done for variables that are likely to +have the same value for both the target and host packages. See below +for details.

The list of variables that can be set in a .mk file to give metadata +information is (assuming the package name is libfoo) :

  • +LIBFOO_VERSION, mandatory, must contain the version of the + package. Note that if HOST_LIBFOO_VERSION doesn’t exist, it is + assumed to be the same as LIBFOO_VERSION. It can also be a + revision number, branch or tag for packages that are fetched + directly from their revision control system. + Examples: + LIBFOO_VERSION = 0.1.2 + LIBFOO_VERSION = cb9d6aa9429e838f0e54faa3d455bcbab5eef057 + LIBFOO_VERSION = stable +
  • +LIBFOO_SOURCE may contain the name of the tarball of the package, + which Buildroot will use to download the tarball from + LIBFOO_SITE. If HOST_LIBFOO_SOURCE is not specified, it defaults + to LIBFOO_SOURCE. If none are specified, then the value is assumed + to be libfoo-$(LIBFOO_VERSION).tar.gz. + Example: LIBFOO_SOURCE = foobar-$(LIBFOO_VERSION).tar.bz2 +
  • +LIBFOO_PATCH may contain a space-separated list of patch file + names, that Buildroot will download and apply to the package source + code. If an entry contains ://, then Buildroot will assume it is a + full URL and download the patch from this location. Otherwise, + Buildroot will assume that the patch should be downloaded from + LIBFOO_SITE. If HOST_LIBFOO_PATCH is not specified, it defaults + to LIBFOO_PATCH. Note that patches that are included in Buildroot + itself use a different mechanism: all files of the form + *.patch present in the package directory inside + Buildroot will be applied to the package after extraction (see + patching a package +Chapter 18, Patching a package). Finally, patches listed in + the LIBFOO_PATCH variable are applied before the patches stored + in the Buildroot package directory. +
  • +LIBFOO_SITE provides the location of the package, which can be a + URL or a local filesystem path. HTTP, FTP and SCP are supported URL + types for retrieving package tarballs. In these cases don’t include a + trailing slash: it will be added by Buildroot between the directory + and the filename as appropriate. Git, Subversion, Mercurial, + and Bazaar are supported URL types for retrieving packages directly + from source code management systems. There is a helper function to make + it easier to download source tarballs from GitHub (refer to + Section 17.20.3, “How to add a package from GitHub†for details). A filesystem path may be used + to specify either a tarball or a directory containing the package + source code. See LIBFOO_SITE_METHOD below for more details on how + retrieval works. + Note that SCP URLs should be of the form + scp://[user@]host:filepath, and that filepath is relative to the + user’s home directory, so you may want to prepend the path with a + slash for absolute paths: + scp://[user@]host:/absolutepath. + If HOST_LIBFOO_SITE is not specified, it defaults to + LIBFOO_SITE. + Examples: + LIBFOO_SITE=http://www.libfoosoftware.org/libfoo + LIBFOO_SITE=http://svn.xiph.org/trunk/Tremor + LIBFOO_SITE=/opt/software/libfoo.tar.gz + LIBFOO_SITE=$(TOPDIR)/../src/libfoo +
  • +LIBFOO_DL_OPTS is a space-separated list of additional options to + pass to the downloader. Useful for retrieving documents with + server-side checking for user logins and passwords, or to use a proxy. + All download methods valid for LIBFOO_SITE_METHOD are supported; + valid options depend on the download method (consult the man page + for the respective download utilities). +
  • +LIBFOO_EXTRA_DOWNLOADS is a space-separated list of additional + files that Buildroot should download. If an entry contains :// + then Buildroot will assume it is a complete URL and will download + the file using this URL. Otherwise, Buildroot will assume the file + to be downloaded is located at LIBFOO_SITE. Buildroot will not do + anything with those additional files, except download them: it will + be up to the package recipe to use them from $(DL_DIR). +
  • +LIBFOO_SITE_METHOD determines the method used to fetch or copy the + package source code. In many cases, Buildroot guesses the method + from the contents of LIBFOO_SITE and setting LIBFOO_SITE_METHOD + is unnecessary. When HOST_LIBFOO_SITE_METHOD is not specified, it + defaults to the value of LIBFOO_SITE_METHOD. + The possible values of LIBFOO_SITE_METHOD are: +

    • +wget for normal FTP/HTTP downloads of tarballs. Used by + default when LIBFOO_SITE begins with http://, https:// or + ftp://. +
    • +scp for downloads of tarballs over SSH with scp. Used by + default when LIBFOO_SITE begins with scp://. +
    • +svn for retrieving source code from a Subversion repository. + Used by default when LIBFOO_SITE begins with svn://. When a + http:// Subversion repository URL is specified in + LIBFOO_SITE, one must specify LIBFOO_SITE_METHOD=svn. + Buildroot performs a checkout which is preserved as a tarball in + the download cache; subsequent builds use the tarball instead of + performing another checkout. +
    • +cvs for retrieving source code from a CVS repository. + Used by default when LIBFOO_SITE begins with cvs://. + The downloaded source code is cached as with the svn method. + Anonymous pserver mode is assumed otherwise explicitly defined + on LIBFOO_SITE. Both + LIBFOO_SITE=cvs://libfoo.net:/cvsroot/libfoo and + LIBFOO_SITE=cvs://:ext:libfoo.net:/cvsroot/libfoo + are accepted, on the former anonymous pserver access mode is + assumed. + LIBFOO_SITE must contain the source URL as well as the remote + repository directory. The module is the package name. + LIBFOO_VERSION is mandatory and must be a tag, a branch, or + a date (e.g. "2014-10-20", "2014-10-20 13:45", "2014-10-20 + 13:45+01" see "man cvs" for further details). +
    • +git for retrieving source code from a Git repository. Used by + default when LIBFOO_SITE begins with git://. The downloaded + source code is cached as with the svn + method. +
    • +hg for retrieving source code from a Mercurial repository. One + must specify LIBFOO_SITE_METHOD=hg when LIBFOO_SITE + contains a Mercurial repository URL. The downloaded source code + is cached as with the svn method. +
    • +bzr for retrieving source code from a Bazaar repository. Used + by default when LIBFOO_SITE begins with bzr://. The + downloaded source code is cached as with the svn method. +
    • +file for a local tarball. One should use this when + LIBFOO_SITE specifies a package tarball as a local filename. + Useful for software that isn’t available publicly or in version + control. +
    • +local for a local source code directory. One should use this + when LIBFOO_SITE specifies a local directory path containing + the package source code. Buildroot copies the contents of the + source directory into the package’s build directory. Note that + for local packages, no patches are applied. If you need to + still patch the source code, use LIBFOO_POST_RSYNC_HOOKS, see + Section 17.18.1, “Using the POST_RSYNC hookâ€. +
  • +LIBFOO_GIT_SUBMODULES can be set to YES to create an archive + with the git submodules in the repository. This is only available + for packages downloaded with git (i.e. when + LIBFOO_SITE_METHOD=git). Note that we try not to use such git + submodules when they contain bundled libraries, in which case we + prefer to use those libraries from their own package. +
  • +LIBFOO_STRIP_COMPONENTS is the number of leading components + (directories) that tar must strip from file names on extraction. + The tarball for most packages has one leading component named + "<pkg-name>-<pkg-version>", thus Buildroot passes + --strip-components=1 to tar to remove it. + For non-standard packages that don’t have this component, or + that have more than one leading component to strip, set this + variable with the value to be passed to tar. Default: 1. +
  • +LIBFOO_EXCLUDES is a space-separated list of patterns to exclude + when extracting the archive. Each item from that list is passed as + a tar’s --exclude option. By default, empty. +
  • +LIBFOO_DEPENDENCIES lists the dependencies (in terms of package + name) that are required for the current target package to + compile. These dependencies are guaranteed to be compiled and + installed before the configuration of the current package starts. In + a similar way, HOST_LIBFOO_DEPENDENCIES lists the dependencies for + the current host package. +
  • +LIBFOO_PATCH_DEPENDENCIES lists the dependencies (in terms of + package name) that are required for the current package to be + patched. These dependencies are guaranteed to be extracted and + patched before the current package is patched. In a similar way, + HOST_LIBFOO_PATCH_DEPENDENCIES lists the dependencies for the + current host package. + This is seldom used; usually, LIBFOO_DEPENDENCIES is what you + really want to use. +
  • +LIBFOO_PROVIDES lists all the virtual packages libfoo is an + implementation of. See Section 17.11, “Infrastructure for virtual packagesâ€. +
  • +LIBFOO_INSTALL_STAGING can be set to YES or NO (default). If + set to YES, then the commands in the LIBFOO_INSTALL_STAGING_CMDS + variables are executed to install the package into the staging + directory. +
  • +LIBFOO_INSTALL_TARGET can be set to YES (default) or NO. If + set to YES, then the commands in the LIBFOO_INSTALL_TARGET_CMDS + variables are executed to install the package into the target + directory. +
  • +LIBFOO_INSTALL_IMAGES can be set to YES or NO (default). If + set to YES, then the commands in the LIBFOO_INSTALL_IMAGES_CMDS + variable are executed to install the package into the images + directory. +
  • +LIBFOO_CONFIG_SCRIPTS lists the names of the files in + $(STAGING_DIR)/usr/bin that need some special fixing to make them + cross-compiling friendly. Multiple file names separated by space can + be given and all are relative to $(STAGING_DIR)/usr/bin. The files + listed in LIBFOO_CONFIG_SCRIPTS are also removed from + $(TARGET_DIR)/usr/bin since they are not needed on the target. +
  • +LIBFOO_DEVICES lists the device files to be created by Buildroot + when using the static device table. The syntax to use is the + makedevs one. You can find some documentation for this syntax in the + Chapter 23, Makedev syntax documentation. This variable is optional. +
  • +LIBFOO_PERMISSIONS lists the changes of permissions to be done at + the end of the build process. The syntax is once again the makedevs one. + You can find some documentation for this syntax in the Chapter 23, Makedev syntax documentation. + This variable is optional. +
  • +LIBFOO_USERS lists the users to create for this package, if it installs + a program you want to run as a specific user (e.g. as a daemon, or as a + cron-job). The syntax is similar in spirit to the makedevs one, and is + described in the Chapter 24, Makeusers syntax documentation. This variable is optional. +
  • +LIBFOO_LICENSE defines the license (or licenses) under which the package + is released. + This name will appear in the manifest file produced by make legal-info. + If the license appears in the SPDX License List, + use the SPDX short identifier to make the manifest file uniform. + Otherwise, describe the license in a precise and concise way, avoiding + ambiguous names such as BSD which actually name a family of licenses. + This variable is optional. If it is not defined, unknown will appear in + the license field of the manifest file for this package. + The expected format for this variable must comply with the following rules: +

    • +If different parts of the package are released under different + licenses, then comma separate licenses (e.g. LIBFOO_LICENSE = + GPL-2.0+, LGPL-2.1+). If there is clear distinction between which + component is licensed under what license, then annotate the license + with that component, between parenthesis (e.g. LIBFOO_LICENSE = + GPL-2.0+ (programs), LGPL-2.1+ (libraries)). +
    • +If the package is dual licensed, then separate licenses with the + or keyword (e.g. LIBFOO_LICENSE = AFL-2.1 or GPL-2.0+). +
  • +LIBFOO_LICENSE_FILES is a space-separated list of files in the package + tarball that contain the license(s) under which the package is released. + make legal-info copies all of these files in the legal-info directory. + See Chapter 12, Legal notice and licensing for more information. + This variable is optional. If it is not defined, a warning will be produced + to let you know, and not saved will appear in the license files field + of the manifest file for this package. +
  • +LIBFOO_ACTUAL_SOURCE_TARBALL only applies to packages whose + LIBFOO_SITE / LIBTOO_SOURCE pair points to an archive that does + not actually contain source code, but binary code. This a very + uncommon case, only known to apply to external toolchains which come + already compiled, although theoretically it might apply to other + packages. In such cases a separate tarball is usually available with + the actual source code. Set LIBFOO_ACTUAL_SOURCE_TARBALL to the + name of the actual source code archive and Buildroot will download + it and use it when you run make legal-info to collect + legally-relevant material. Note this file will not be downloaded + during regular builds nor by make source. +
  • +LIBFOO_ACTUAL_SOURCE_SITE provides the location of the actual + source tarball. The default value is LIBFOO_SITE, so you don’t + need to set this variable if the binary and source archives are + hosted on the same directory. If LIBFOO_ACTUAL_SOURCE_TARBALL is + not set, it doesn’t make sense to define + LIBFOO_ACTUAL_SOURCE_SITE. +
  • +LIBFOO_REDISTRIBUTE can be set to YES (default) or NO to indicate if + the package source code is allowed to be redistributed. Set it to NO for + non-opensource packages: Buildroot will not save the source code for this + package when collecting the legal-info. +
  • +LIBFOO_FLAT_STACKSIZE defines the stack size of an application built into + the FLAT binary format. The application stack size on the NOMMU architecture + processors can’t be enlarged at run time. The default stack size for the + FLAT binary format is only 4k bytes. If the application consumes more stack, + append the required number here. +

The recommended way to define these variables is to use the following +syntax:

LIBFOO_VERSION = 2.32

Now, the variables that define what should be performed at the +different steps of the build process.

  • +LIBFOO_EXTRACT_CMDS lists the actions to be performed to extract + the package. This is generally not needed as tarballs are + automatically handled by Buildroot. However, if the package uses a + non-standard archive format, such as a ZIP or RAR file, or has a + tarball with a non-standard organization, this variable allows to + override the package infrastructure default behavior. +
  • +LIBFOO_CONFIGURE_CMDS lists the actions to be performed to + configure the package before its compilation. +
  • +LIBFOO_BUILD_CMDS lists the actions to be performed to + compile the package. +
  • +HOST_LIBFOO_INSTALL_CMDS lists the actions to be performed + to install the package, when the package is a host package. The + package must install its files to the directory given by + $(HOST_DIR). All files, including development files such as + headers should be installed, since other packages might be compiled + on top of this package. +
  • +LIBFOO_INSTALL_TARGET_CMDS lists the actions to be + performed to install the package to the target directory, when the + package is a target package. The package must install its files to + the directory given by $(TARGET_DIR). Only the files required for + execution of the package have to be + installed. Header files, static libraries and documentation will be + removed again when the target filesystem is finalized. +
  • +LIBFOO_INSTALL_STAGING_CMDS lists the actions to be + performed to install the package to the staging directory, when the + package is a target package. The package must install its files to + the directory given by $(STAGING_DIR). All development files + should be installed, since they might be needed to compile other + packages. +
  • +LIBFOO_INSTALL_IMAGES_CMDS lists the actions to be performed to + install the package to the images directory, when the package is a + target package. The package must install its files to the directory + given by $(BINARIES_DIR). Only files that are binary images (aka + images) that do not belong in the TARGET_DIR but are necessary + for booting the board should be placed here. For example, a package + should utilize this step if it has binaries which would be similar + to the kernel image, bootloader or root filesystem images. +
  • +LIBFOO_INSTALL_INIT_SYSV and LIBFOO_INSTALL_INIT_SYSTEMD list the + actions to install init scripts either for the systemV-like init systems + (busybox, sysvinit, etc.) or for the systemd units. These commands + will be run only when the relevant init system is installed (i.e. if + systemd is selected as the init system in the configuration, only + LIBFOO_INSTALL_INIT_SYSTEMD will be run). +
  • +LIBFOO_HELP_CMDS lists the actions to print the package help, which + is included to the main make help output. These commands can print + anything in any format. + This is seldom used, as packages rarely have custom rules. Do not use + this variable, unless you really know that you need to print help. +

The preferred way to define these variables is:

define LIBFOO_CONFIGURE_CMDS
+        action 1
+        action 2
+        action 3
+endef

In the action definitions, you can use the following variables:

  • +$(LIBFOO_PKGDIR) contains the path to the directory containing the + libfoo.mk and Config.in files. This variable is useful when it is + necessary to install a file bundled in Buildroot, like a runtime + configuration file, a splashscreen image… +
  • +$(@D), which contains the directory in which the package source + code has been uncompressed. +
  • +$(DL_DIR) contains the path to the directory where all the downloads made + by Buildroot are stored. +
  • +$(TARGET_CC), $(TARGET_LD), etc. to get the target + cross-compilation utilities +
  • +$(TARGET_CROSS) to get the cross-compilation toolchain prefix +
  • +Of course the $(HOST_DIR), $(STAGING_DIR) and $(TARGET_DIR) + variables to install the packages properly. +

Finally, you can also use hooks. See Section 17.18, “Hooks available in the various build steps†for more information.

17.6. Infrastructure for autotools-based packages

17.6.1. autotools-package tutorial

First, let’s see how to write a .mk file for an autotools-based +package, with an example :

01: ################################################################################
+02: #
+03: # libfoo
+04: #
+05: ################################################################################
+06:
+07: LIBFOO_VERSION = 1.0
+08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz
+09: LIBFOO_SITE = http://www.foosoftware.org/download
+10: LIBFOO_INSTALL_STAGING = YES
+11: LIBFOO_INSTALL_TARGET = NO
+12: LIBFOO_CONF_OPTS = --disable-shared
+13: LIBFOO_DEPENDENCIES = libglib2 host-pkgconf
+14:
+15: $(eval $(autotools-package))

On line 7, we declare the version of the package.

On line 8 and 9, we declare the name of the tarball (xz-ed tarball recommended) +and the location of the tarball on the Web. Buildroot will automatically +download the tarball from this location.

On line 10, we tell Buildroot to install the package to the staging +directory. The staging directory, located in output/staging/ +is the directory where all the packages are installed, including their +development files, etc. By default, packages are not installed to the +staging directory, since usually, only libraries need to be installed in +the staging directory: their development files are needed to compile +other libraries or applications depending on them. Also by default, when +staging installation is enabled, packages are installed in this location +using the make install command.

On line 11, we tell Buildroot to not install the package to the +target directory. This directory contains what will become the root +filesystem running on the target. For purely static libraries, it is +not necessary to install them in the target directory because they will +not be used at runtime. By default, target installation is enabled; setting +this variable to NO is almost never needed. Also by default, packages are +installed in this location using the make install command.

On line 12, we tell Buildroot to pass a custom configure option, that +will be passed to the ./configure script before configuring +and building the package.

On line 13, we declare our dependencies, so that they are built +before the build process of our package starts.

Finally, on line line 15, we invoke the autotools-package +macro that generates all the Makefile rules that actually allows the +package to be built.

17.6.2. autotools-package reference

The main macro of the autotools package infrastructure is +autotools-package. It is similar to the generic-package macro. The ability to +have target and host packages is also available, with the +host-autotools-package macro.

Just like the generic infrastructure, the autotools infrastructure +works by defining a number of variables before calling the +autotools-package macro.

First, all the package metadata information variables that exist in the +generic infrastructure also exist in the autotools infrastructure: +LIBFOO_VERSION, LIBFOO_SOURCE, +LIBFOO_PATCH, LIBFOO_SITE, +LIBFOO_SUBDIR, LIBFOO_DEPENDENCIES, +LIBFOO_INSTALL_STAGING, LIBFOO_INSTALL_TARGET.

A few additional variables, specific to the autotools infrastructure, +can also be defined. Many of them are only useful in very specific +cases, typical packages will therefore only use a few of them.

  • +LIBFOO_SUBDIR may contain the name of a subdirectory + inside the package that contains the configure script. This is useful, + if for example, the main configure script is not at the root of the + tree extracted by the tarball. If HOST_LIBFOO_SUBDIR is + not specified, it defaults to LIBFOO_SUBDIR. +
  • +LIBFOO_CONF_ENV, to specify additional environment + variables to pass to the configure script. By default, empty. +
  • +LIBFOO_CONF_OPTS, to specify additional configure + options to pass to the configure script. By default, empty. +
  • +LIBFOO_MAKE, to specify an alternate make + command. This is typically useful when parallel make is enabled in + the configuration (using BR2_JLEVEL) but that this + feature should be disabled for the given package, for one reason or + another. By default, set to $(MAKE). If parallel building + is not supported by the package, then it should be set to + LIBFOO_MAKE=$(MAKE1). +
  • +LIBFOO_MAKE_ENV, to specify additional environment + variables to pass to make in the build step. These are passed before + the make command. By default, empty. +
  • +LIBFOO_MAKE_OPTS, to specify additional variables to + pass to make in the build step. These are passed after the + make command. By default, empty. +
  • +LIBFOO_AUTORECONF, tells whether the package should + be autoreconfigured or not (i.e. if the configure script and + Makefile.in files should be re-generated by re-running autoconf, + automake, libtool, etc.). Valid values are YES and + NO. By default, the value is NO +
  • +LIBFOO_AUTORECONF_ENV, to specify additional environment + variables to pass to the autoreconf program if + LIBFOO_AUTORECONF=YES. These are passed in the environment of + the autoreconf command. By default, empty. +
  • +LIBFOO_AUTORECONF_OPTS to specify additional options + passed to the autoreconf program if + LIBFOO_AUTORECONF=YES. By default, empty. +
  • +LIBFOO_GETTEXTIZE, tells whether the package should be + gettextized or not (i.e. if the package uses a different gettext + version than Buildroot provides, and it is needed to run + gettextize.) Only valid when LIBFOO_AUTORECONF=YES. Valid + values are YES and NO. The default is NO. +
  • +LIBFOO_GETTEXTIZE_OPTS, to specify additional options passed to + the gettextize program, if LIBFOO_GETTEXTIZE=YES. You may + use that if, for example, the .po files are not located in the + standard place (i.e. in po/ at the root of the package.) By + default, -f. +
  • +LIBFOO_LIBTOOL_PATCH tells whether the Buildroot + patch to fix libtool cross-compilation issues should be applied or + not. Valid values are YES and NO. By + default, the value is YES +
  • +LIBFOO_INSTALL_STAGING_OPTS contains the make options + used to install the package to the staging directory. By default, the + value is DESTDIR=$(STAGING_DIR) install, which is + correct for most autotools packages. It is still possible to override + it. +
  • +LIBFOO_INSTALL_TARGET_OPTS contains the make options + used to install the package to the target directory. By default, the + value is DESTDIR=$(TARGET_DIR) install. The default + value is correct for most autotools packages, but it is still possible + to override it if needed. +

With the autotools infrastructure, all the steps required to build +and install the packages are already defined, and they generally work +well for most autotools-based packages. However, when required, it is +still possible to customize what is done in any particular step:

  • +By adding a post-operation hook (after extract, patch, configure, + build or install). See Section 17.18, “Hooks available in the various build steps†for details. +
  • +By overriding one of the steps. For example, even if the autotools + infrastructure is used, if the package .mk file defines its + own LIBFOO_CONFIGURE_CMDS variable, it will be used + instead of the default autotools one. However, using this method + should be restricted to very specific cases. Do not use it in the + general case. +

17.7. Infrastructure for CMake-based packages

17.7.1. cmake-package tutorial

First, let’s see how to write a .mk file for a CMake-based package, +with an example :

01: ################################################################################
+02: #
+03: # libfoo
+04: #
+05: ################################################################################
+06:
+07: LIBFOO_VERSION = 1.0
+08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz
+09: LIBFOO_SITE = http://www.foosoftware.org/download
+10: LIBFOO_INSTALL_STAGING = YES
+11: LIBFOO_INSTALL_TARGET = NO
+12: LIBFOO_CONF_OPTS = -DBUILD_DEMOS=ON
+13: LIBFOO_DEPENDENCIES = libglib2 host-pkgconf
+14:
+15: $(eval $(cmake-package))

On line 7, we declare the version of the package.

On line 8 and 9, we declare the name of the tarball (xz-ed tarball recommended) +and the location of the tarball on the Web. Buildroot will automatically +download the tarball from this location.

On line 10, we tell Buildroot to install the package to the staging +directory. The staging directory, located in output/staging/ +is the directory where all the packages are installed, including their +development files, etc. By default, packages are not installed to the +staging directory, since usually, only libraries need to be installed in +the staging directory: their development files are needed to compile +other libraries or applications depending on them. Also by default, when +staging installation is enabled, packages are installed in this location +using the make install command.

On line 11, we tell Buildroot to not install the package to the +target directory. This directory contains what will become the root +filesystem running on the target. For purely static libraries, it is +not necessary to install them in the target directory because they will +not be used at runtime. By default, target installation is enabled; setting +this variable to NO is almost never needed. Also by default, packages are +installed in this location using the make install command.

On line 12, we tell Buildroot to pass custom options to CMake when it is +configuring the package.

On line 13, we declare our dependencies, so that they are built +before the build process of our package starts.

Finally, on line line 15, we invoke the cmake-package +macro that generates all the Makefile rules that actually allows the +package to be built.

17.7.2. cmake-package reference

The main macro of the CMake package infrastructure is +cmake-package. It is similar to the generic-package macro. The ability to +have target and host packages is also available, with the +host-cmake-package macro.

Just like the generic infrastructure, the CMake infrastructure works +by defining a number of variables before calling the cmake-package +macro.

First, all the package metadata information variables that exist in +the generic infrastructure also exist in the CMake infrastructure: +LIBFOO_VERSION, LIBFOO_SOURCE, LIBFOO_PATCH, LIBFOO_SITE, +LIBFOO_SUBDIR, LIBFOO_DEPENDENCIES, LIBFOO_INSTALL_STAGING, +LIBFOO_INSTALL_TARGET.

A few additional variables, specific to the CMake infrastructure, can +also be defined. Many of them are only useful in very specific cases, +typical packages will therefore only use a few of them.

  • +LIBFOO_SUBDIR may contain the name of a subdirectory inside the + package that contains the main CMakeLists.txt file. This is useful, + if for example, the main CMakeLists.txt file is not at the root of + the tree extracted by the tarball. If HOST_LIBFOO_SUBDIR is not + specified, it defaults to LIBFOO_SUBDIR. +
  • +LIBFOO_CONF_ENV, to specify additional environment variables to + pass to CMake. By default, empty. +
  • +LIBFOO_CONF_OPTS, to specify additional configure options to pass + to CMake. By default, empty. A number of common CMake options are + set by the cmake-package infrastructure; so it is normally not + necessary to set them in the package’s *.mk file unless you want + to override them: +

    • +CMAKE_BUILD_TYPE is driven by BR2_ENABLE_DEBUG; +
    • +CMAKE_INSTALL_PREFIX; +
    • +BUILD_SHARED_LIBS is driven by BR2_STATIC_LIBS; +
    • +BUILD_DOC, BUILD_DOCS are disabled; +
    • +BUILD_EXAMPLE, BUILD_EXAMPLES are disabled; +
    • +BUILD_TEST, BUILD_TESTS, BUILD_TESTING are disabled. +
  • +LIBFOO_SUPPORTS_IN_SOURCE_BUILD = NO should be set when the package + cannot be built inside the source tree but needs a separate build + directory. +
  • +LIBFOO_MAKE, to specify an alternate make command. This is + typically useful when parallel make is enabled in the configuration + (using BR2_JLEVEL) but that this feature should be disabled for + the given package, for one reason or another. By default, set to + $(MAKE). If parallel building is not supported by the package, + then it should be set to LIBFOO_MAKE=$(MAKE1). +
  • +LIBFOO_MAKE_ENV, to specify additional environment variables to + pass to make in the build step. These are passed before the make + command. By default, empty. +
  • +LIBFOO_MAKE_OPTS, to specify additional variables to pass to make + in the build step. These are passed after the make command. By + default, empty. +
  • +LIBFOO_INSTALL_STAGING_OPTS contains the make options used to + install the package to the staging directory. By default, the value + is DESTDIR=$(STAGING_DIR) install, which is correct for most + CMake packages. It is still possible to override it. +
  • +LIBFOO_INSTALL_TARGET_OPTS contains the make options used to + install the package to the target directory. By default, the value + is DESTDIR=$(TARGET_DIR) install. The default value is correct + for most CMake packages, but it is still possible to override it if + needed. +

With the CMake infrastructure, all the steps required to build and +install the packages are already defined, and they generally work well +for most CMake-based packages. However, when required, it is still +possible to customize what is done in any particular step:

  • +By adding a post-operation hook (after extract, patch, configure, + build or install). See Section 17.18, “Hooks available in the various build steps†for details. +
  • +By overriding one of the steps. For example, even if the CMake + infrastructure is used, if the package .mk file defines its own + LIBFOO_CONFIGURE_CMDS variable, it will be used instead of the + default CMake one. However, using this method should be restricted + to very specific cases. Do not use it in the general case. +

17.8. Infrastructure for Python packages

This infrastructure applies to Python packages that use the standard +Python setuptools mechanism as their build system, generally +recognizable by the usage of a setup.py script.

17.8.1. python-package tutorial

First, let’s see how to write a .mk file for a Python package, +with an example :

01: ################################################################################
+02: #
+03: # python-foo
+04: #
+05: ################################################################################
+06:
+07: PYTHON_FOO_VERSION = 1.0
+08: PYTHON_FOO_SOURCE = python-foo-$(PYTHON_FOO_VERSION).tar.xz
+09: PYTHON_FOO_SITE = http://www.foosoftware.org/download
+10: PYTHON_FOO_LICENSE = BSD-3-Clause
+11: PYTHON_FOO_LICENSE_FILES = LICENSE
+12: PYTHON_FOO_ENV = SOME_VAR=1
+13: PYTHON_FOO_DEPENDENCIES = libmad
+14: PYTHON_FOO_SETUP_TYPE = distutils
+15:
+16: $(eval $(python-package))

On line 7, we declare the version of the package.

On line 8 and 9, we declare the name of the tarball (xz-ed tarball +recommended) and the location of the tarball on the Web. Buildroot +will automatically download the tarball from this location.

On line 10 and 11, we give licensing details about the package (its +license on line 10, and the file containing the license text on line +11).

On line 12, we tell Buildroot to pass custom options to the Python +setup.py script when it is configuring the package.

On line 13, we declare our dependencies, so that they are built +before the build process of our package starts.

On line 14, we declare the specific Python build system being used. In +this case the distutils Python build system is used. The two +supported ones are distutils and setuptools.

Finally, on line 16, we invoke the python-package macro that +generates all the Makefile rules that actually allow the package to be +built.

17.8.2. python-package reference

As a policy, packages that merely provide Python modules should all be +named python-<something> in Buildroot. Other packages that use the +Python build system, but are not Python modules, can freely choose +their name (existing examples in Buildroot are scons and +supervisor).

In their Config.in file, they should depend on BR2_PACKAGE_PYTHON +so that when Buildroot will enable Python 3 usage for modules, we will +be able to enable Python modules progressively on Python 3.

The main macro of the Python package infrastructure is +python-package. It is similar to the generic-package macro. It is +also possible to create Python host packages with the +host-python-package macro.

Just like the generic infrastructure, the Python infrastructure works +by defining a number of variables before calling the python-package +or host-python-package macros.

All the package metadata information variables that exist in the +generic package infrastructure +Section 17.5.2, “generic-package reference†also +exist in the Python infrastructure: PYTHON_FOO_VERSION, +PYTHON_FOO_SOURCE, PYTHON_FOO_PATCH, PYTHON_FOO_SITE, +PYTHON_FOO_SUBDIR, PYTHON_FOO_DEPENDENCIES, PYTHON_FOO_LICENSE, +PYTHON_FOO_LICENSE_FILES, PYTHON_FOO_INSTALL_STAGING, etc.

Note that:

  • +It is not necessary to add python or host-python in the + PYTHON_FOO_DEPENDENCIES variable of a package, since these basic + dependencies are automatically added as needed by the Python + package infrastructure. +
  • +Similarly, it is not needed to add host-setuptools and/or + host-distutilscross dependencies to PYTHON_FOO_DEPENDENCIES for + setuptools-based packages, since these are automatically added by + the Python infrastructure as needed. +

One variable specific to the Python infrastructure is mandatory:

  • +PYTHON_FOO_SETUP_TYPE, to define which Python build system is used + by the package. The two supported values are distutils and + setuptools. If you don’t know which one is used in your package, + look at the setup.py file in your package source code, and see + whether it imports things from the distutils module or the + setuptools module. +

A few additional variables, specific to the Python infrastructure, can +optionally be defined, depending on the package’s needs. Many of them +are only useful in very specific cases, typical packages will +therefore only use a few of them, or none.

  • +PYTHON_FOO_ENV, to specify additional environment variables to + pass to the Python setup.py script (for both the build and install + steps). Note that the infrastructure is automatically passing + several standard variables, defined in PKG_PYTHON_DISTUTILS_ENV + (for distutils target packages), HOST_PKG_PYTHON_DISTUTILS_ENV + (for distutils host packages), PKG_PYTHON_SETUPTOOLS_ENV (for + setuptools target packages) and HOST_PKG_PYTHON_SETUPTOOLS_ENV + (for setuptools host packages). +
  • +PYTHON_FOO_BUILD_OPTS, to specify additional options to pass to the + Python setup.py script during the build step. For target distutils + packages, the PKG_PYTHON_DISTUTILS_BUILD_OPTS options are already + passed automatically by the infrastructure. +
  • +PYTHON_FOO_INSTALL_TARGET_OPTS, PYTHON_FOO_INSTALL_STAGING_OPTS, + HOST_PYTHON_FOO_INSTALL_OPTS to specify additional options to pass + to the Python setup.py script during the target installation step, + the staging installation step or the host installation, + respectively. Note that the infrastructure is automatically passing + some options, defined in PKG_PYTHON_DISTUTILS_INSTALL_TARGET_OPTS + or PKG_PYTHON_DISTUTILS_INSTALL_STAGING_OPTS (for target distutils + packages), HOST_PKG_PYTHON_DISTUTILS_INSTALL_OPTS (for host + distutils packages), PKG_PYTHON_SETUPTOOLS_INSTALL_TARGET_OPTS or + PKG_PYTHON_SETUPTOOLS_INSTALL_STAGING_OPTS (for target setuptools + packages) and HOST_PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS (for host + setuptools packages). +
  • +HOST_PYTHON_FOO_NEEDS_HOST_PYTHON, to define the host python + interpreter. The usage of this variable is limited to host + packages. The two supported value are python2 and python3. It + will ensure the right host python package is available and will + invoke it for the build. If some build steps are overloaded, the + right python interpreter must be explicitly called in the commands. +

With the Python infrastructure, all the steps required to build and +install the packages are already defined, and they generally work well +for most Python-based packages. However, when required, it is still +possible to customize what is done in any particular step:

  • +By adding a post-operation hook (after extract, patch, configure, + build or install). See Section 17.18, “Hooks available in the various build steps†for details. +
  • +By overriding one of the steps. For example, even if the Python + infrastructure is used, if the package .mk file defines its own + PYTHON_FOO_BUILD_CMDS variable, it will be used instead of the + default Python one. However, using this method should be restricted + to very specific cases. Do not use it in the general case. +

17.8.3. Generating a python-package from a PyPI repository

If the Python package for which you would like to create a Buildroot +package is available on PyPI, you may want to use the scanpypi tool +located in utils/ to automate the process.

You can find the list of existing PyPI packages +here.

scanpypi requires Python’s setuptools package to be installed on +your host.

When at the root of your buildroot directory just do :

utils/scanpypi foo bar -o package

This will generate packages python-foo and python-bar in the package +folder if they exist on https://pypi.python.org.

Find the external python modules menu and insert your package inside. +Keep in mind that the items inside a menu should be in alphabetical order.

Please keep in mind that you’ll most likely have to manually check the +package for any mistakes as there are things that cannot be guessed by +the generator (e.g. dependencies on any of the python core modules +such as BR2_PACKAGE_PYTHON_ZLIB). Also, please take note that the +license and license files are guessed and must be checked. You also +need to manually add the package to the package/Config.in file.

If your Buildroot package is not in the official Buildroot tree but in +a br2-external tree, use the -o flag as follows:

utils/scanpypi foo bar -o other_package_dir

This will generate packages python-foo and python-bar in the +other_package_directory instead of package.

Option -h will list the available options:

utils/scanpypi -h

17.8.4. python-package CFFI backend

C Foreign Function Interface for Python (CFFI) provides a convenient +and reliable way to call compiled C code from Python using interface +declarations written in C. Python packages relying on this backend can +be identified by the appearance of a cffi dependency in the +install_requires field of their setup.py file.

Such a package should:

  • +add python-cffi as a runtime dependency in order to install the +compiled C library wrapper on the target. This is achieved by adding +select BR2_PACKAGE_PYTHON_CFFI to the package Config.in. +
config BR2_PACKAGE_PYTHON_FOO
+        bool "python-foo"
+        select BR2_PACKAGE_PYTHON_CFFI # runtime
  • +add host-python-cffi as a build-time dependency in order to +cross-compile the C wrapper. This is achieved by adding +host-python-cffi to the PYTHON_FOO_DEPENDENCIES variable. +
################################################################################
+#
+# python-foo
+#
+################################################################################
+
+...
+
+PYTHON_FOO_DEPENDENCIES = host-python-cffi
+
+$(eval $(python-package))

17.9. Infrastructure for LuaRocks-based packages

17.9.1. luarocks-package tutorial

First, let’s see how to write a .mk file for a LuaRocks-based package, +with an example :

01: ################################################################################
+02: #
+03: # lua-foo
+04: #
+05: ################################################################################
+06:
+07: LUA_FOO_VERSION = 1.0.2-1
+08: LUA_FOO_NAME_UPSTREAM = foo
+09: LUA_FOO_DEPENDENCIES = bar
+10:
+11: LUA_FOO_BUILD_OPTS += BAR_INCDIR=$(STAGING_DIR)/usr/include
+12: LUA_FOO_BUILD_OPTS += BAR_LIBDIR=$(STAGING_DIR)/usr/lib
+13: LUA_FOO_LICENSE = luaFoo license
+14: LUA_FOO_LICENSE_FILES = $(LUA_FOO_SUBDIR)/COPYING
+15:
+16: $(eval $(luarocks-package))

On line 7, we declare the version of the package (the same as in the rockspec, +which is the concatenation of the upstream version and the rockspec revision, +separated by a hyphen -).

On line 8, we declare that the package is called "foo" on LuaRocks. In +Buildroot, we give Lua-related packages a name that starts with "lua", so the +Buildroot name is different from the upstream name. LUA_FOO_NAME_UPSTREAM +makes the link between the two names.

On line 9, we declare our dependencies against native libraries, so that they +are built before the build process of our package starts.

On lines 11-12, we tell Buildroot to pass custom options to LuaRocks when it is +building the package.

On lines 13-14, we specify the licensing terms for the package.

Finally, on line 16, we invoke the luarocks-package +macro that generates all the Makefile rules that actually allows the +package to be built.

17.9.2. luarocks-package reference

LuaRocks is a deployment and management system for Lua modules, and supports +various build.type: builtin, make and cmake. In the context of +Buildroot, the luarocks-package infrastructure only supports the builtin +mode. LuaRocks packages that use the make or cmake build mechanisms +should instead be packaged using the generic-package and cmake-package +infrastructures in Buildroot, respectively.

The main macro of the LuaRocks package infrastructure is luarocks-package: +like generic-package it works by defining a number of variables providing +metadata information about the package, and then calling luarocks-package. It +is worth mentioning that building LuaRocks packages for the host is not +supported, so the macro host-luarocks-package is not implemented.

Just like the generic infrastructure, the LuaRocks infrastructure works +by defining a number of variables before calling the luarocks-package +macro.

First, all the package metadata information variables that exist in +the generic infrastructure also exist in the LuaRocks infrastructure: +LUA_FOO_VERSION, LUA_FOO_SOURCE, LUA_FOO_SITE, +LUA_FOO_DEPENDENCIES, LUA_FOO_LICENSE, LUA_FOO_LICENSE_FILES.

Two of them are populated by the LuaRocks infrastructure (for the +download step). If your package is not hosted on the LuaRocks mirror +$(BR2_LUAROCKS_MIRROR), you can override them:

  • +LUA_FOO_SITE, which defaults to $(BR2_LUAROCKS_MIRROR) +
  • +LUA_FOO_SOURCE, which defaults to + $(lowercase LUA_FOO_NAME_UPSTREAM)-$(LUA_FOO_VERSION).src.rock +

A few additional variables, specific to the LuaRocks infrastructure, are +also defined. They can be overridden in specific cases.

  • +LUA_FOO_NAME_UPSTREAM, which defaults to lua-foo, i.e. the Buildroot + package name +
  • +LUA_FOO_ROCKSPEC, which defaults to + $(lowercase LUA_FOO_NAME_UPSTREAM)-$(LUA_FOO_VERSION).rockspec +
  • +LUA_FOO_SUBDIR, which defaults to + $(LUA_FOO_NAME_UPSTREAM)-$(LUA_FOO_VERSION_WITHOUT_ROCKSPEC_REVISION) +
  • +LUA_FOO_BUILD_OPTS contains additional build options for the + luarocks build call. +

17.10. Infrastructure for Perl/CPAN packages

17.10.1. perl-package tutorial

First, let’s see how to write a .mk file for a Perl/CPAN package, +with an example :

01: ################################################################################
+02: #
+03: # perl-foo-bar
+04: #
+05: ################################################################################
+06:
+07: PERL_FOO_BAR_VERSION = 0.02
+08: PERL_FOO_BAR_SOURCE = Foo-Bar-$(PERL_FOO_BAR_VERSION).tar.gz
+09: PERL_FOO_BAR_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MO/MONGER
+10: PERL_FOO_BAR_DEPENDENCIES = perl-strictures
+11: PERL_FOO_BAR_LICENSE = Artistic or GPL-1.0+
+12: PERL_FOO_BAR_LICENSE_FILES = LICENSE
+13:
+14: $(eval $(perl-package))

On line 7, we declare the version of the package.

On line 8 and 9, we declare the name of the tarball and the location +of the tarball on a CPAN server. Buildroot will automatically download +the tarball from this location.

On line 10, we declare our dependencies, so that they are built +before the build process of our package starts.

On line 11 and 12, we give licensing details about the package (its +license on line 11, and the file containing the license text on line +12).

Finally, on line 14, we invoke the perl-package macro that +generates all the Makefile rules that actually allow the package to be +built.

Most of these data can be retrieved from https://metacpan.org/. +So, this file and the Config.in can be generated by running +the script supports/scripts/scancpan Foo-Bar in the Buildroot directory +(or in a br2-external tree). +This script creates a Config.in file and foo-bar.mk file for the +requested package, and also recursively for all dependencies specified by +CPAN. You should still manually edit the result. In particular, the +following things should be checked.

  • +If the perl module links with a shared library that is provided by + another (non-perl) package, this dependency is not added automatically. + It has to be added manually to PERL_FOO_BAR_DEPENDENCIES. +
  • +The package/Config.in file has to be updated manually to include the + generated Config.in files. As a hint, the scancpan script prints out + the required source "…" statements, sorted alphabetically. +

17.10.2. perl-package reference

As a policy, packages that provide Perl/CPAN modules should all be +named perl-<something> in Buildroot.

This infrastructure handles various Perl build systems : +ExtUtils-MakeMaker (EUMM), Module-Build (MB) and Module-Build-Tiny. +Build.PL is preferred by default when a package provides a Makefile.PL +and a Build.PL.

The main macro of the Perl/CPAN package infrastructure is +perl-package. It is similar to the generic-package macro. The ability to +have target and host packages is also available, with the +host-perl-package macro.

Just like the generic infrastructure, the Perl/CPAN infrastructure +works by defining a number of variables before calling the +perl-package macro.

First, all the package metadata information variables that exist in the +generic infrastructure also exist in the Perl/CPAN infrastructure: +PERL_FOO_VERSION, PERL_FOO_SOURCE, +PERL_FOO_PATCH, PERL_FOO_SITE, +PERL_FOO_SUBDIR, PERL_FOO_DEPENDENCIES, +PERL_FOO_INSTALL_TARGET.

Note that setting PERL_FOO_INSTALL_STAGING to YES has no effect +unless a PERL_FOO_INSTALL_STAGING_CMDS variable is defined. The perl +infrastructure doesn’t define these commands since Perl modules generally +don’t need to be installed to the staging directory.

A few additional variables, specific to the Perl/CPAN infrastructure, +can also be defined. Many of them are only useful in very specific +cases, typical packages will therefore only use a few of them.

  • +PERL_FOO_PREFER_INSTALLER/HOST_PERL_FOO_PREFER_INSTALLER, + specifies the preferred installation method. Possible values are + EUMM (for Makefile.PL based installation using + ExtUtils-MakeMaker) and MB (for Build.PL based installation + using Module-Build). This variable is only used when the package + provides both installation methods. +
  • +PERL_FOO_CONF_ENV/HOST_PERL_FOO_CONF_ENV, to specify additional + environment variables to pass to the perl Makefile.PL or perl Build.PL. + By default, empty. +
  • +PERL_FOO_CONF_OPTS/HOST_PERL_FOO_CONF_OPTS, to specify additional + configure options to pass to the perl Makefile.PL or perl Build.PL. + By default, empty. +
  • +PERL_FOO_BUILD_OPTS/HOST_PERL_FOO_BUILD_OPTS, to specify additional + options to pass to make pure_all or perl Build build in the build step. + By default, empty. +
  • +PERL_FOO_INSTALL_TARGET_OPTS, to specify additional options to + pass to make pure_install or perl Build install in the install step. + By default, empty. +
  • +HOST_PERL_FOO_INSTALL_OPTS, to specify additional options to + pass to make pure_install or perl Build install in the install step. + By default, empty. +

17.11. Infrastructure for virtual packages

In Buildroot, a virtual package is a package whose functionalities are +provided by one or more packages, referred to as providers. The virtual +package management is an extensible mechanism allowing the user to choose +the provider used in the rootfs.

For example, OpenGL ES is an API for 2D and 3D graphics on embedded systems. +The implementation of this API is different for the Allwinner Tech Sunxi and +the Texas Instruments OMAP35xx platforms. So libgles will be a virtual +package and sunxi-mali and ti-gfx will be the providers.

17.11.1. virtual-package tutorial

In the following example, we will explain how to add a new virtual package +(something-virtual) and a provider for it (some-provider).

First, let’s create the virtual package.

17.11.2. Virtual package’s Config.in file

The Config.in file of virtual package something-virtual should contain:

01: config BR2_PACKAGE_HAS_SOMETHING_VIRTUAL
+02:     bool
+03:
+04: config BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL
+05:     depends on BR2_PACKAGE_HAS_SOMETHING_VIRTUAL
+06:     string

In this file, we declare two options, BR2_PACKAGE_HAS_SOMETHING_VIRTUAL and +BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL, whose values will be used by the +providers.

17.11.3. Virtual package’s .mk file

The .mk for the virtual package should just evaluate the virtual-package macro:

01: ################################################################################
+02: #
+03: # something-virtual
+04: #
+05: ################################################################################
+06:
+07: $(eval $(virtual-package))

The ability to have target and host packages is also available, with the +host-virtual-package macro.

17.11.4. Provider’s Config.in file

When adding a package as a provider, only the Config.in file requires some +modifications.

The Config.in file of the package some-provider, which provides the +functionalities of something-virtual, should contain:

01: config BR2_PACKAGE_SOME_PROVIDER
+02:     bool "some-provider"
+03:     select BR2_PACKAGE_HAS_SOMETHING_VIRTUAL
+04:     help
+05:       This is a comment that explains what some-provider is.
+06:
+07:       http://foosoftware.org/some-provider/
+08:
+09: if BR2_PACKAGE_SOME_PROVIDER
+10: config BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL
+11:     default "some-provider"
+12: endif

On line 3, we select BR2_PACKAGE_HAS_SOMETHING_VIRTUAL, and on line 11, we +set the value of BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL to the name of the +provider, but only if it is selected.

17.11.5. Provider’s .mk file

The .mk file should also declare an additional variable +SOME_PROVIDER_PROVIDES to contain the names of all the virtual +packages it is an implementation of:

01: SOME_PROVIDER_PROVIDES = something-virtual

Of course, do not forget to add the proper build and runtime dependencies for +this package!

17.11.6. Notes on depending on a virtual package

When adding a package that requires a certain FEATURE provided by a virtual +package, you have to use depends on BR2_PACKAGE_HAS_FEATURE, like so:

config BR2_PACKAGE_HAS_FEATURE
+    bool
+
+config BR2_PACKAGE_FOO
+    bool "foo"
+    depends on BR2_PACKAGE_HAS_FEATURE

17.11.7. Notes on depending on a specific provider

If your package really requires a specific provider, then you’ll have to +make your package depends on this provider; you can not select a +provider.

Let’s take an example with two providers for a FEATURE:

config BR2_PACKAGE_HAS_FEATURE
+    bool
+
+config BR2_PACKAGE_FOO
+    bool "foo"
+    select BR2_PACKAGE_HAS_FEATURE
+
+config BR2_PACKAGE_BAR
+    bool "bar"
+    select BR2_PACKAGE_HAS_FEATURE

And you are adding a package that needs FEATURE as provided by foo, +but not as provided by bar.

If you were to use select BR2_PACKAGE_FOO, then the user would still +be able to select BR2_PACKAGE_BAR in the menuconfig. This would create +a configuration inconsistency, whereby two providers of the same FEATURE +would be enabled at once, one explicitly set by the user, the other +implicitly by your select.

Instead, you have to use depends on BR2_PACKAGE_FOO, which avoids any +implicit configuration inconsistency.

17.12. Infrastructure for packages using kconfig for configuration files

A popular way for a software package to handle user-specified +configuration is kconfig. Among others, it is used by the Linux +kernel, Busybox, and Buildroot itself. The presence of a .config file +and a menuconfig target are two well-known symptoms of kconfig being +used.

Buildroot features an infrastructure for packages that use kconfig for +their configuration. This infrastructure provides the necessary logic to +expose the package’s menuconfig target as foo-menuconfig in +Buildroot, and to handle the copying back and forth of the configuration +file in a correct way.

The kconfig-package infrastructure is based on the generic-package +infrastructure. All variables supported by generic-package are +available in kconfig-package as well. See +Section 17.5.2, “generic-package reference†for more details.

In order to use the kconfig-package infrastructure for a Buildroot +package, the minimally required lines in the .mk file, in addition to +the variables required by the generic-package infrastructure, are:

FOO_KCONFIG_FILE = reference-to-source-configuration-file
+
+$(eval $(kconfig-package))

This snippet creates the following make targets:

  • +foo-menuconfig, which calls the package’s menuconfig target +
  • +foo-update-config, which copies the configuration back to the + source configuration file. It is not possible to use this target + when fragment files are set. +
  • +foo-update-defconfig, which copies the configuration back to the + source configuration file. The configuration file will only list the + options that differ from the default values. It is not possible to + use this target when fragment files are set. +

and ensures that the source configuration file is copied to the build +directory at the right moment.

There are two options to specify a configuration file to use, either +FOO_KCONFIG_FILE (as in the example, above) or FOO_KCONFIG_DEFCONFIG. +It is mandatory to provide either, but not both:

  • +FOO_KCONFIG_FILE specifies the path to a defconfig or full-config file + to be used to configure the package. +
  • +FOO_KCONFIG_DEFCONFIG specifies the defconfig make rule to call to + configure the package. +

In addition to these minimally required lines, several optional variables can +be set to suit the needs of the package under consideration:

  • +FOO_KCONFIG_EDITORS: a space-separated list of kconfig editors to + support, for example menuconfig xconfig. By default, menuconfig. +
  • +FOO_KCONFIG_FRAGMENT_FILES: a space-separated list of configuration + fragment files that are merged to the main configuration file. + Fragment files are typically used when there is a desire to stay in sync + with an upstream (def)config file, with some minor modifications. +
  • +FOO_KCONFIG_OPTS: extra options to pass when calling the kconfig + editors. This may need to include $(FOO_MAKE_OPTS), for example. By + default, empty. +
  • +FOO_KCONFIG_FIXUP_CMDS: a list of shell commands needed to fixup the + configuration file after copying it or running a kconfig editor. Such + commands may be needed to ensure a configuration consistent with other + configuration of Buildroot, for example. By default, empty. +
  • +FOO_KCONFIG_DOTCONFIG: path (with filename) of the .config file, + relative to the package source tree. The default, .config, should + be well suited for all packages that use the standard kconfig + infrastructure as inherited from the Linux kernel; some packages use + a derivative of kconfig that use a different location. +

17.13. Infrastructure for rebar-based packages

17.13.1. rebar-package tutorial

First, let’s see how to write a .mk file for a rebar-based package, +with an example :

01: ################################################################################
+02: #
+03: # erlang-foobar
+04: #
+05: ################################################################################
+06:
+07: ERLANG_FOOBAR_VERSION = 1.0
+08: ERLANG_FOOBAR_SOURCE = erlang-foobar-$(ERLANG_FOOBAR_VERSION).tar.xz
+09: ERLANG_FOOBAR_SITE = http://www.foosoftware.org/download
+10: ERLANG_FOOBAR_DEPENDENCIES = host-libaaa libbbb
+11:
+12: $(eval $(rebar-package))

On line 7, we declare the version of the package.

On line 8 and 9, we declare the name of the tarball (xz-ed tarball +recommended) and the location of the tarball on the Web. Buildroot +will automatically download the tarball from this location.

On line 10, we declare our dependencies, so that they are built +before the build process of our package starts.

Finally, on line 12, we invoke the rebar-package macro that +generates all the Makefile rules that actually allows the package to +be built.

17.13.2. rebar-package reference

The main macro of the rebar package infrastructure is +rebar-package. It is similar to the generic-package macro. The +ability to have host packages is also available, with the +host-rebar-package macro.

Just like the generic infrastructure, the rebar infrastructure works +by defining a number of variables before calling the rebar-package +macro.

First, all the package metadata information variables that exist in +the generic infrastructure also exist in the rebar infrastructure: +ERLANG_FOOBAR_VERSION, ERLANG_FOOBAR_SOURCE, +ERLANG_FOOBAR_PATCH, ERLANG_FOOBAR_SITE, +ERLANG_FOOBAR_SUBDIR, ERLANG_FOOBAR_DEPENDENCIES, +ERLANG_FOOBAR_INSTALL_STAGING, ERLANG_FOOBAR_INSTALL_TARGET, +ERLANG_FOOBAR_LICENSE and ERLANG_FOOBAR_LICENSE_FILES.

A few additional variables, specific to the rebar infrastructure, +can also be defined. Many of them are only useful in very specific +cases, typical packages will therefore only use a few of them.

  • +ERLANG_FOOBAR_USE_AUTOCONF, to specify that the package uses + autoconf at the configuration step. When a package sets this + variable to YES, the autotools infrastructure is used. +

    Note. You can also use some of the variables from the autotools + infrastructure: ERLANG_FOOBAR_CONF_ENV, ERLANG_FOOBAR_CONF_OPTS, + ERLANG_FOOBAR_AUTORECONF, ERLANG_FOOBAR_AUTORECONF_ENV and + ERLANG_FOOBAR_AUTORECONF_OPTS.

  • +ERLANG_FOOBAR_USE_BUNDLED_REBAR, to specify that the package has + a bundled version of rebar and that it shall be used. Valid + values are YES or NO (the default). +

    Note. If the package bundles a rebar utility, but can use the generic + one that Buildroot provides, just say NO (i.e., do not specify + this variable). Only set if it is mandatory to use the rebar + utility bundled in this package.

  • +ERLANG_FOOBAR_REBAR_ENV, to specify additional environment + variables to pass to the rebar utility. +

With the rebar infrastructure, all the steps required to build +and install the packages are already defined, and they generally work +well for most rebar-based packages. However, when required, it is +still possible to customize what is done in any particular step:

  • +By adding a post-operation hook (after extract, patch, configure, + build or install). See Section 17.18, “Hooks available in the various build steps†for details. +
  • +By overriding one of the steps. For example, even if the rebar + infrastructure is used, if the package .mk file defines its + own ERLANG_FOOBAR_BUILD_CMDS variable, it will be used instead + of the default rebar one. However, using this method should be + restricted to very specific cases. Do not use it in the general + case. +

17.14. Infrastructure for Waf-based packages

17.14.1. waf-package tutorial

First, let’s see how to write a .mk file for a Waf-based package, with +an example :

01: ################################################################################
+02: #
+03: # libfoo
+04: #
+05: ################################################################################
+06:
+07: LIBFOO_VERSION = 1.0
+08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz
+09: LIBFOO_SITE = http://www.foosoftware.org/download
+10: LIBFOO_CONF_OPTS = --enable-bar --disable-baz
+11: LIBFOO_DEPENDENCIES = bar
+12:
+13: $(eval $(waf-package))

On line 7, we declare the version of the package.

On line 8 and 9, we declare the name of the tarball (xz-ed tarball +recommended) and the location of the tarball on the Web. Buildroot +will automatically download the tarball from this location.

On line 10, we tell Buildroot what options to enable for libfoo.

On line 11, we tell Buildroot the depednencies of libfoo.

Finally, on line line 13, we invoke the waf-package +macro that generates all the Makefile rules that actually allows the +package to be built.

17.14.2. waf-package reference

The main macro of the Waf package infrastructure is waf-package. +It is similar to the generic-package macro.

Just like the generic infrastructure, the Waf infrastructure works +by defining a number of variables before calling the waf-package +macro.

First, all the package metadata information variables that exist in +the generic infrastructure also exist in the Waf infrastructure: +LIBFOO_VERSION, LIBFOO_SOURCE, LIBFOO_PATCH, LIBFOO_SITE, +LIBFOO_SUBDIR, LIBFOO_DEPENDENCIES, LIBFOO_INSTALL_STAGING, +LIBFOO_INSTALL_TARGET.

An additional variable, specific to the Waf infrastructure, can +also be defined.

  • +LIBFOO_NEEDS_EXTERNAL_WAF can be set to YES or NO to tell + Buildroot to use the bundled waf executable. If set to NO, the + default, then Buildroot will use the waf executable provided in the + package source tree; if set to YES, then Buidlroot will download, + install waf as a host tool and use it to build the package. +
  • +LIBFOO_WAF_OPTS, to specify additional options to pass to the + waf script at every step of the package build process: configure, + build and installation. By default, empty. +
  • +LIBFOO_CONF_OPTS, to specify additional options to pass to the + waf script for the configuration step. By default, empty. +
  • +LIBFOO_BUILD_OPTS, to specify additional options to pass to the + waf script during the build step. By default, empty. +
  • +LIBFOO_INSTALL_STAGING_OPTS, to specify additional options to pass + to the waf script during the staging installation step. By default, + empty. +
  • +LIBFOO_INSTALL_TARGET_OPTS, to specify additional options to pass + to the waf script during the target installation step. By default, + empty. +

17.15. Infrastructure for packages building kernel modules

Buildroot offers a helper infrastructure to make it easy to write packages that +build and install Linux kernel modules. Some packages only contain a kernel +module, other packages contain programs and libraries in addition to kernel +modules. Buildroot’s helper infrastructure supports either case.

17.15.1. kernel-module tutorial

Let’s start with an example on how to prepare a simple package that only +builds a kernel module, and no other component:

01: ################################################################################
+02: #
+03: # foo
+04: #
+05: ################################################################################
+06:
+07: FOO_VERSION = 1.2.3
+08: FOO_SOURCE = foo-$(FOO_VERSION).tar.xz
+09: FOO_SITE = http://www.foosoftware.org/download
+10: FOO_LICENSE = GPL-2.0
+11: FOO_LICENSE_FILES = COPYING
+12:
+13: $(eval $(kernel-module))
+14: $(eval $(generic-package))

Lines 7-11 define the usual meta-data to specify the version, archive name, +remote URI where to find the package source, licensing information.

On line 13, we invoke the kernel-module helper infrastructure, that +generates all the appropriate Makefile rules and variables to build +that kernel module.

Finally, on line 14, we invoke the +generic-package infrastructure +Section 17.5.1, “generic-package tutorialâ€.

The dependency on linux is automatically added, so it is not needed to +specify it in FOO_DEPENDENCIES.

What you may have noticed is that, unlike other package infrastructures, +we explicitly invoke a second infrastructure. This allows a package to +build a kernel module, but also, if needed, use any one of other package +infrastructures to build normal userland components (libraries, +executables…). Using the kernel-module infrastructure on its own is +not sufficient; another package infrastructure must be used.

Let’s look at a more complex example:

01: ################################################################################
+02: #
+03: # foo
+04: #
+05: ################################################################################
+06:
+07: FOO_VERSION = 1.2.3
+08: FOO_SOURCE = foo-$(FOO_VERSION).tar.xz
+09: FOO_SITE = http://www.foosoftware.org/download
+10: FOO_LICENSE = GPL-2.0
+11: FOO_LICENSE_FILES = COPYING
+12:
+13: FOO_MODULE_SUBDIRS = driver/base
+14: FOO_MODULE_MAKE_OPTS = KVERSION=$(LINUX_VERSION_PROBED)
+15:
+16: ifeq ($(BR2_PACKAGE_LIBBAR),y)
+17: FOO_DEPENDENCIES = libbar
+18: FOO_CONF_OPTS = --enable-bar
+19: FOO_MODULE_SUBDIRS += driver/bar
+20: else
+21: FOO_CONF_OPTS = --disable-bar
+22: endif
+23:
+24: $(eval $(kernel-module))
+26: $(eval $(autotools-package))

Here, we see that we have an autotools-based package, that also builds +the kernel module located in sub-directory driver/base and, if libbar +is enabled, the kernel module located in sub-directory driver/bar, and +defines the variable KVERSION to be passed to the Linux buildsystem +when building the module(s).

17.15.2. kernel-module reference

The main macro for the kernel module infrastructure is kernel-module. +Unlike other package infrastructures, it is not stand-alone, and requires +any of the other *-package macros be called after it.

The kernel-module macro defines post-build and post-target-install +hooks to build the kernel modules. If the package’s .mk needs access +to the built kernel modules, it should do so in a post-build hook, +registered after the call to kernel-module. Similarly, if the +package’s .mk needs access to the kernel module after it has been +installed, it should do so in a post-install hook, registered after +the call to kernel-module. Here’s an example:

$(eval $(kernel-module))
+
+define FOO_DO_STUFF_WITH_KERNEL_MODULE
+    # Do something with it...
+endef
+FOO_POST_BUILD_HOOKS += FOO_DO_STUFF_WITH_KERNEL_MODULE
+
+$(eval $(generic-package))

Finally, unlike the other package infrastructures, there is no +host-kernel-module variant to build a host kernel module.

The following additional variables can optionally be defined to further +configure the build of the kernel module:

  • +FOO_MODULE_SUBDIRS may be set to one or more sub-directories (relative + to the package source top-directory) where the kernel module sources are. + If empty or not set, the sources for the kernel module(s) are considered + to be located at the top of the package source tree. +
  • +FOO_MODULE_MAKE_OPTS may be set to contain extra variable definitions + to pass to the Linux buildsystem. +

You may also reference (but you may not set!) those variables:

  • +LINUX_DIR contains the path to where the Linux kernel has been + extracted and built. +
  • +LINUX_VERSION contains the version string as configured by the user. +
  • +LINUX_VERSION_PROBED contains the real version string of the kernel, + retrieved with running make -C $(LINUX_DIR) kernelrelease +
  • +KERNEL_ARCH contains the name of the current architecture, like arm, + mips… +

17.16. Infrastructure for asciidoc documents

The Buildroot manual, which you are currently reading, is entirely written +using the AsciiDoc mark-up syntax. The manual is then +rendered to many formats:

  • +html +
  • +split-html +
  • +pdf +
  • +epub +
  • +text +

Although Buildroot only contains one document written in AsciiDoc, there +is, as for packages, an infrastructure for rendering documents using the +AsciiDoc syntax.

Also as for packages, the AsciiDoc infrastructure is available from a +br2-external tree +Section 9.2, “Keeping customizations outside of Buildrootâ€. This allows documentation for +a br2-external tree to match the Buildroot documentation, as it will be +rendered to the same formats and use the same layout and theme.

17.16.1. asciidoc-document tutorial

Whereas package infrastructures are suffixed with -package, the document +infrastructures are suffixed with -document. So, the AsciiDoc infrastructure +is named asciidoc-document.

Here is an example to render a simple AsciiDoc document.

01: ################################################################################
+02: #
+03: # foo-document
+04: #
+05: ################################################################################
+06:
+07: FOO_SOURCES = $(sort $(wildcard $(pkgdir)/*))
+08: $(eval $(call asciidoc-document))

On line 7, the Makefile declares what the sources of the document are. +Currently, it is expected that the document’s sources are only local; +Buildroot will not attempt to download anything to render a document. +Thus, you must indicate where the sources are. Usually, the string +above is sufficient for a document with no sub-directory structure.

On line 8, we call the asciidoc-document function, which generates all +the Makefile code necessary to render the document.

17.16.2. asciidoc-document reference

The list of variables that can be set in a .mk file to give metadata +information is (assuming the document name is foo) :

  • +FOO_SOURCES, mandatory, defines the source files for the document. +
  • +FOO_RESOURCES, optional, may contain a space-separated list of paths + to one or more directories containing so-called resources (like CSS or + images). By default, empty. +
  • +FOO_DEPENDENCIES, optional, the list of packages (most probably, + host-packages) that must be built before building this document. + If a hook of your document needs to access the Kconfig structure, + you may add prepare-kconfig to the list of dependencies. +

There are also additional hooks (see Section 17.18, “Hooks available in the various build steps†for general information +on hooks), that a document may set to define extra actions to be done at +various steps:

  • +FOO_POST_RSYNC_HOOKS to run additional commands after the sources + have been copied by Buildroot. This can for example be used to + generate part of the manual with information extracted from the + tree. As an example, Buildroot uses this hook to generate the tables + in the appendices. +
  • +FOO_CHECK_DEPENDENCIES_HOOKS to run additional tests on required + components to generate the document. In AsciiDoc, it is possible to + call filters, that is, programs that will parse an AsciiDoc block and + render it appropriately (e.g. ditaa or + aafigure). +
  • +FOO_CHECK_DEPENDENCIES_<FMT>_HOOKS, to run additional tests for + the specified format <FMT> (see the list of rendered formats, above). +

Here is a complete example that uses all variables and all hooks:

01: ################################################################################
+02: #
+03: # foo-document
+04: #
+05: ################################################################################
+06:
+07: FOO_SOURCES = $(sort $(wildcard $(pkgdir)/*))
+08: FOO_RESOURCES = $(sort $(wildcard $(pkgdir)/ressources))
+09:
+10: define FOO_GEN_EXTRA_DOC
+11:     /path/to/generate-script --outdir=$(@D)
+12: endef
+13: FOO_POST_RSYNC_HOOKS += FOO_GEN_EXTRA_DOC
+14:
+15: define FOO_CHECK_MY_PROG
+16:     if ! which my-prog >/dev/null 2>&1; then \
+17:         echo "You need my-prog to generate the foo document"; \
+18:         exit 1; \
+19:     fi
+20: endef
+21: FOO_CHECK_DEPENDENCIES_HOOKS += FOO_CHECK_MY_PROG
+22:
+23: define FOO_CHECK_MY_OTHER_PROG
+24:     if ! which my-other-prog >/dev/null 2>&1; then \
+25:         echo "You need my-other-prog to generate the foo document as PDF"; \
+26:         exit 1; \
+27:     fi
+28: endef
+29: FOO_CHECK_DEPENDENCIES_PDF_HOOKS += FOO_CHECK_MY_OTHER_PROG
+30:
+31: $(eval $(call asciidoc-document))

17.17. Infrastructure specific to the Linux kernel package

The Linux kernel package can use some specific infrastructures based on package +hooks for building Linux kernel tools or/and building Linux kernel extensions.

17.17.1. linux-kernel-tools

Buildroot offers a helper infrastructure to build some userspace tools +for the target available within the Linux kernel sources. Since their +source code is part of the kernel source code, a special package, +linux-tools, exists and re-uses the sources of the Linux kernel that +runs on the target.

Let’s look at an example of a Linux tool. For a new Linux tool named +foo, create a new menu entry in the existing +package/linux-tools/Config.in. This file will contain the option +descriptions related to each kernel tool that will be used and +displayed in the configuration tool. It would basically look like:

01: config BR2_PACKAGE_LINUX_TOOLS_FOO
+02:     bool "foo"
+03:     select BR2_PACKAGE_LINUX_TOOLS
+04:     help
+05:       This is a comment that explains what foo kernel tool is.
+06:
+07:       http://foosoftware.org/foo/

The name of the option starts with the prefix BR2_PACKAGE_LINUX_TOOLS_, +followed by the uppercase name of the tool (like is done for packages).

Note. Unlike other packages, the linux-tools package options appear in the +linux kernel menu, under the Linux Kernel Tools sub-menu, not under +the Target packages main menu.

Then for each linux tool, add a new .mk.in file named +package/linux-tools/linux-tool-foo.mk.in. It would basically look like:

01: ################################################################################
+02: #
+03: # foo
+04: #
+05: ################################################################################
+06:
+07: LINUX_TOOLS += foo
+08:
+09: FOO_DEPENDENCIES = libbbb
+10:
+11: define FOO_BUILD_CMDS
+12:     $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools foo
+13: endef
+14:
+15: define FOO_INSTALL_STAGING_CMDS
+16:     $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \
+17:             DESTDIR=$(STAGING_DIR) \
+18:             foo_install
+19: endef
+20:
+21: define FOO_INSTALL_TARGET_CMDS
+22:     $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \
+23:             DESTDIR=$(TARGET_DIR) \
+24:             foo_install
+25: endef

On line 7, we register the Linux tool foo to the list of available +Linux tools.

On line 9, we specify the list of dependencies this tool relies on. These +dependencies are added to the Linux package dependencies list only when the +foo tool is selected.

The rest of the Makefile, lines 11-25 defines what should be done at the +different steps of the Linux tool build process like for a +generic package +Section 17.5.1, “generic-package tutorialâ€. They will actually be +used only when the foo tool is selected. The only supported commands are +_BUILD_CMDS, _INSTALL_STAGING_CMDS and _INSTALL_TARGET_CMDS.

Note. One must not call $(eval $(generic-package)) or any other +package infrastructure! Linux tools are not packages by themselves, +they are part of the linux-tools package.

17.17.2. linux-kernel-extensions

Some packages provide new features that require the Linux kernel tree +to be modified. This can be in the form of patches to be applied on +the kernel tree, or in the form of new files to be added to the +tree. The Buildroot’s Linux kernel extensions infrastructure provides +a simple solution to automatically do this, just after the kernel +sources are extracted and before the kernel patches are +applied. Examples of extensions packaged using this mechanism are the +real-time extensions Xenomai and RTAI, as well as the set of +out-of-tree LCD screens drivers fbtft.

Let’s look at an example on how to add a new Linux extension foo.

First, create the package foo that provides the extension: this +package is a standard package; see the previous chapters on how to +create such a package. This package is in charge of downloading the +sources archive, checking the hash, defining the licence informations +and building user space tools if any.

Then create the Linux extension proper: create a new menu entry in +the existing linux/Config.ext.in. This file contains the option +descriptions related to each kernel extension that will be used and +displayed in the configuration tool. It would basically look like:

01: config BR2_LINUX_KERNEL_EXT_FOO
+02:     bool "foo"
+03:     help
+04:       This is a comment that explains what foo kernel extension is.
+05:
+06:       http://foosoftware.org/foo/

Then for each linux extension, add a new .mk file named +linux/linux-ext-foo.mk. It should basically contain:

01: ################################################################################
+02: #
+03: # foo
+04: #
+05: ################################################################################
+06:
+07: LINUX_EXTENSIONS += foo
+08:
+09: define FOO_PREPARE_KERNEL
+10:     $(FOO_DIR)/prepare-kernel-tree.sh --linux-dir=$(@D)
+11: endef

On line 7, we add the Linux extension foo to the list of available +Linux extensions.

On line 9-11, we define what should be done by the extension to modify +the Linux kernel tree; this is specific to the linux extension and can +use the variables defined by the foo package, like: $(FOO_DIR) or +$(FOO_VERSION)… as well as all the Linux variables, like: +$(LINUX_VERSION) or $(LINUX_VERSION_PROBED), $(KERNEL_ARCH)… +See the definition of those kernel variables +Section 17.15.2, “kernel-module referenceâ€.

17.18. Hooks available in the various build steps

The generic infrastructure (and as a result also the derived autotools +and cmake infrastructures) allow packages to specify hooks. +These define further actions to perform after existing steps. +Most hooks aren’t really useful for generic packages, since the .mk +file already has full control over the actions performed in each step +of the package construction.

The following hook points are available:

  • +LIBFOO_PRE_DOWNLOAD_HOOKS +
  • +LIBFOO_POST_DOWNLOAD_HOOKS +
  • +LIBFOO_PRE_EXTRACT_HOOKS +
  • +LIBFOO_POST_EXTRACT_HOOKS +
  • +LIBFOO_PRE_RSYNC_HOOKS +
  • +LIBFOO_POST_RSYNC_HOOKS +
  • +LIBFOO_PRE_PATCH_HOOKS +
  • +LIBFOO_POST_PATCH_HOOKS +
  • +LIBFOO_PRE_CONFIGURE_HOOKS +
  • +LIBFOO_POST_CONFIGURE_HOOKS +
  • +LIBFOO_PRE_BUILD_HOOKS +
  • +LIBFOO_POST_BUILD_HOOKS +
  • +LIBFOO_PRE_INSTALL_HOOKS (for host packages only) +
  • +LIBFOO_POST_INSTALL_HOOKS (for host packages only) +
  • +LIBFOO_PRE_INSTALL_STAGING_HOOKS (for target packages only) +
  • +LIBFOO_POST_INSTALL_STAGING_HOOKS (for target packages only) +
  • +LIBFOO_PRE_INSTALL_TARGET_HOOKS (for target packages only) +
  • +LIBFOO_POST_INSTALL_TARGET_HOOKS (for target packages only) +
  • +LIBFOO_PRE_INSTALL_IMAGES_HOOKS +
  • +LIBFOO_POST_INSTALL_IMAGES_HOOKS +
  • +LIBFOO_PRE_LEGAL_INFO_HOOKS +
  • +LIBFOO_POST_LEGAL_INFO_HOOKS +

These variables are lists of variable names containing actions to be +performed at this hook point. This allows several hooks to be +registered at a given hook point. Here is an example:

define LIBFOO_POST_PATCH_FIXUP
+        action1
+        action2
+endef
+
+LIBFOO_POST_PATCH_HOOKS += LIBFOO_POST_PATCH_FIXUP

17.18.1. Using the POST_RSYNC hook

The POST_RSYNC hook is run only for packages that use a local source, +either through the local site method or the OVERRIDE_SRCDIR +mechanism. In this case, package sources are copied using rsync from +the local location into the buildroot build directory. The rsync +command does not copy all files from the source directory, though. +Files belonging to a version control system, like the directories +.git, .hg, etc. are not copied. For most packages this is +sufficient, but a given package can perform additional actions using +the POST_RSYNC hook.

In principle, the hook can contain any command you want. One specific +use case, though, is the intentional copying of the version control +directory using rsync. The rsync command you use in the hook can, among +others, use the following variables:

  • +$(SRCDIR): the path to the overridden source directory +
  • +$(@D): the path to the build directory +

17.18.2. Target-finalize hook

Packages may also register hooks in LIBFOO_TARGET_FINALIZE_HOOKS. +These hooks are run after all packages are built, but before the +filesystem images are generated. They are seldom used, and your +package probably do not need them.

17.19. Gettext integration and interaction with packages

Many packages that support internationalization use the gettext +library. Dependencies for this library are fairly complicated and +therefore, deserve some explanation.

The glibc C library integrates a full-blown implementation of +gettext, supporting translation. Native Language Support is +therefore built-in in glibc.

On the other hand, the uClibc and musl C libraries only provide a +stub implementation of the gettext functionality, which allows to +compile libraries and programs using gettext functions, but without +providing the translation capabilities of a full-blown gettext +implementation. With such C libraries, if real Native Language Support +is necessary, it can be provided by the libintl library of the +gettext package.

Due to this, and in order to make sure that Native Language Support is +properly handled, packages in Buildroot that can use NLS support +should:

  1. +Ensure NLS support is enabled when BR2_SYSTEM_ENABLE_NLS=y. This + is done automatically for autotools packages and therefore should + only be done for packages using other package infrastructures. +
  2. +Add $(TARGET_NLS_DEPENDENCIES) to the package + <pkg>_DEPENDENCIES variable. This addition should be done + unconditionally: the value of this variable is automatically + adjusted by the core infrastructure to contain the relevant list of + packages. If NLS support is disabled, this variable is empty. If + NLS support is enabled, this variable contains host-gettext so + that tools needed to compile translation files are available on the + host. In addition, if uClibc or musl are used, this variable + also contains gettext in order to get the full-blown gettext + implementation. +
  3. +If needed, add $(TARGET_NLS_LIBS) to the linker flags, so that + the package gets linked with libintl. This is generally not + needed with autotools packages as they usually detect + automatically that they should link with libintl. However, + packages using other build systems, or problematic autotools-based + packages may need this. $(TARGET_NLS_LIBS) should be added + unconditionally to the linker flags, as the core automatically + makes it empty or defined to -lintl depending on the + configuration. +

No changes should be made to the Config.in file to support NLS.

Finally, certain packages need some gettext utilities on the target, +such as the gettext program itself, which allows to retrieve +translated strings, from the command line. In such a case, the package +should:

  • +use select BR2_PACKAGE_GETTEXT in their Config.in file, + indicating in a comment above that it’s a runtime dependency only. +
  • +not add any gettext dependency in the DEPENDENCIES variable of + their .mk file. +

17.20. Tips and tricks

17.20.1. Package name, config entry name and makefile variable relationship

In Buildroot, there is some relationship between:

  • +the package name, which is the package directory name (and the + name of the *.mk file); +
  • +the config entry name that is declared in the Config.in file; +
  • +the makefile variable prefix. +

It is mandatory to maintain consistency between these elements, +using the following rules:

  • +the package directory and the *.mk name are the package name + itself (e.g.: package/foo-bar_boo/foo-bar_boo.mk); +
  • +the make target name is the package name itself (e.g.: + foo-bar_boo); +
  • +the config entry is the upper case package name with . and - + characters substituted with _, prefixed with BR2_PACKAGE_ (e.g.: + BR2_PACKAGE_FOO_BAR_BOO); +
  • +the *.mk file variable prefix is the upper case package name + with . and - characters substituted with _ (e.g.: + FOO_BAR_BOO_VERSION). +

17.20.2. How to test your package

Once you have added your new package, it is important that you test it +under various conditions: does it build for all architectures? Does it +build with the different C libraries? Does it need threads, NPTL? And +so on…

Buildroot runs autobuilders which +continuously test random configurations. However, these only build the +master branch of the git tree, and your new fancy package is not yet +there.

Buildroot provides a script in utils/test-pkg that uses the same base +configurations as used by the autobuilders so you can test your package +in the same conditions.

First, create a config snippet that contains all the necessary options +needed to enable your package, but without any architecture or toolchain +option. For example, let’s create a config snippet that just enables +libcurl, without any TLS backend:

$ cat libcurl.config
+BR2_PACKAGE_LIBCURL=y

If your package needs more configuration options, you can add them to the +config snippet. For example, here’s how you would test libcurl with +openssl as a TLS backend and the curl program:

$ cat libcurl.config
+BR2_PACKAGE_LIBCURL=y
+BR2_PACKAGE_CURL=y
+BR2_PACKAGE_OPENSSL=y

Then run the test-pkg script, by telling it what config snippet to use +and what package to test:

$ ./utils/test-pkg -c libcurl.config -p libcurl

This will try to build your package against all the toolchains used +by the autobuilders (except for the internal toolchains, because it takes +too long to do so). The output lists all toolchains and the corresponding +result (excerpt, results are fake):

$ ./utils/test-pkg -c libcurl.config -p libcurl
+                armv5-ctng-linux-gnueabi [ 1/11]: OK
+              armv7-ctng-linux-gnueabihf [ 2/11]: OK
+                        br-aarch64-glibc [ 3/11]: SKIPPED
+                           br-arcle-hs38 [ 4/11]: SKIPPED
+                            br-arm-basic [ 5/11]: FAILED
+                  br-arm-cortex-a9-glibc [ 6/11]: OK
+                   br-arm-cortex-a9-musl [ 7/11]: FAILED
+                   br-arm-cortex-m4-full [ 8/11]: OK
+                             br-arm-full [ 9/11]: OK
+                    br-arm-full-nothread [10/11]: FAILED
+                      br-arm-full-static [11/11]: OK
+11 builds, 2 skipped, 2 build failed, 1 legal-info failed

The results mean:

  • +OK: the build was successful. +
  • +SKIPPED: one or more configuration options listed in the config + snippet were not present in the final configuration. This is due to + options having dependencies not satisfied by the toolchain, such as + for example a package that depends on BR2_USE_MMU with a noMMU + toolchain. The missing options are reported in missing.config in + the output build directory (~/br-test-pkg/TOOLCHAIN_NAME/ by + default). +
  • +FAILED: the build failed. Inspect the logfile file in the output + build directory to see what went wrong: +

    • +the actual build failed, +
    • +the legal-info failed, +
    • +one of the preliminary steps (downloading the config file, applying + the configuration, running dirclean for the package) failed. +

When there are failures, you can just re-run the script with the same +options (after you fixed your package); the script will attempt to +re-build the package specified with -p for all toolchains, without +the need to re-build all the dependencies of that package.

The test-pkg script accepts a few options, for which you can get some +help by running:

$ ./utils/test-pkg -h

17.20.3. How to add a package from GitHub

Packages on GitHub often don’t have a download area with release tarballs. +However, it is possible to download tarballs directly from the repository +on GitHub. As GitHub is known to have changed download mechanisms in the +past, the github helper function should be used as shown below.

# Use a tag or a full commit ID
+FOO_VERSION = v1.0
+FOO_SITE = $(call github,<user>,<package>,$(FOO_VERSION))

Notes

  • +The FOO_VERSION can either be a tag or a commit ID. +
  • +The tarball name generated by github matches the default one from + Buildroot (e.g.: foo-f6fb6654af62045239caed5950bc6c7971965e60.tar.gz), + so it is not necessary to specify it in the .mk file. +
  • +When using a commit ID as version, you should use the full 40 hex characters. +

If the package you wish to add does have a release section on GitHub, the +maintainer may have uploaded a release tarball, or the release may just point +to the automatically generated tarball from the git tag. If there is a +release tarball uploaded by the maintainer, we prefer to use that since it +may be slightly different (e.g. it contains a configure script so we don’t +need to do AUTORECONF).

You can see on the release page if it’s an uploaded tarball or a git tag:

github_hash_mongrel2.png
  • +If it looks like the image above then it was uploaded by the + maintainer and you should use that link (in that example: + mongrel2-v1.9.2.tar.bz2) to specify FOO_SITE, and not use the + github helper. +
  • +On the other hand, if there’s is only the "Source code" link, then + it’s an automatically generated tarball and you should use the + github helper function. +

17.21. Conclusion

As you can see, adding a software package to Buildroot is simply a +matter of writing a Makefile using an existing example and modifying it +according to the compilation process required by the package.

If you package software that might be useful for other people, don’t +forget to send a patch to the Buildroot mailing list (see +Section 21.5, “Submitting patchesâ€)!

Chapter 18. Patching a package

While integrating a new package or updating an existing one, it may be +necessary to patch the source of the software to get it cross-built within +Buildroot.

Buildroot offers an infrastructure to automatically handle this during +the builds. It supports three ways of applying patch sets: downloaded patches, +patches supplied within buildroot and patches located in a user-defined +global patch directory.

18.1. Providing patches

18.1.1. Downloaded

If it is necessary to apply a patch that is available for download, then add it +to the <packagename>_PATCH variable. If an entry contains ://, +then Buildroot will assume it is a full URL and download the patch +from this location. Otherwise, Buildroot will assume that the patch should be +downloaded from <packagename>_SITE. It can be a single patch, +or a tarball containing a patch series.

Like for all downloads, a hash should be added to the <packagename>.hash +file.

This method is typically used for packages from Debian.

18.1.2. Within Buildroot

Most patches are provided within Buildroot, in the package +directory; these typically aim to fix cross-compilation, libc support, +or other such issues.

These patch files should be named <number>-<description>.patch.

Notes

  • +The patch files coming with Buildroot should not contain any package version + reference in their filename. +
  • +The field <number> in the patch file name refers to the apply order, + and shall start at 1; It is preferred to pad the number with zeros up to 4 + digits, like git-format-patch does. E.g.: 0001-foobar-the-buz.patch +
  • +Previously, it was mandatory for patches to be prefixed with the name of + the package, like <package>-<number>-<description>.patch, but that is + no longer the case. Existing packages will be fixed as time passes. Do + not prefix patches with the package name. +
  • +Previously, a series file, as used by quilt, could also be added in + the package directory. In that case, the series file defines the patch + application order. This is deprecated, and will be removed in the future. + Do not use a series file. +

18.1.3. Global patch directory

The BR2_GLOBAL_PATCH_DIR configuration file option can be +used to specify a space separated list of one or more directories +containing global package patches. See Section 9.8, “Adding project-specific patches†for +details.

18.2. How patches are applied

  1. +Run the <packagename>_PRE_PATCH_HOOKS commands if defined; +
  2. +Cleanup the build directory, removing any existing *.rej files; +
  3. +If <packagename>_PATCH is defined, then patches from these + tarballs are applied; +
  4. +If there are some *.patch files in the package’s Buildroot + directory or in a package subdirectory named <packageversion>, + then: +

    • +If a series file exists in the package directory, then patches are + applied according to the series file; +
    • +Otherwise, patch files matching *.patch are applied in alphabetical + order. + So, to ensure they are applied in the right order, it is highly + recommended to name the patch files like this: + <number>-<description>.patch, where <number> refers to the + apply order. +
  5. +If BR2_GLOBAL_PATCH_DIR is defined, the directories will be + enumerated in the order they are specified. The patches are applied + as described in the previous step. +
  6. +Run the <packagename>_POST_PATCH_HOOKS commands if defined. +

If something goes wrong in the steps 3 or 4, then the build fails.

18.3. Format and licensing of the package patches

Patches are released under the same license as the software they apply +to (see Section 12.2, “Complying with the Buildroot licenseâ€).

A message explaining what the patch does, and why it is needed, should +be added in the header commentary of the patch.

You should add a Signed-off-by statement in the header of the each +patch to help with keeping track of the changes and to certify that the +patch is released under the same license as the software that is modified.

If the software is under version control, it is recommended to use the +upstream SCM software to generate the patch set.

Otherwise, concatenate the header with the output of the +diff -purN package-version.orig/ package-version/ command.

If you update an existing patch (e.g. when bumping the package version), +make sure the existing From header and Signed-off-by tags are not +removed, but do update the rest of the patch comment when appropriate.

At the end, the patch should look like:

configure.ac: add C++ support test
+
+Signed-off-by: John Doe <john.doe@noname.org>
+
+--- configure.ac.orig
++++ configure.ac
+@@ -40,2 +40,12 @@
+
+AC_PROG_MAKE_SET
++
++AC_CACHE_CHECK([whether the C++ compiler works],
++               [rw_cv_prog_cxx_works],
++               [AC_LANG_PUSH([C++])
++                AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
++                               [rw_cv_prog_cxx_works=yes],
++                               [rw_cv_prog_cxx_works=no])
++                AC_LANG_POP([C++])])
++
++AM_CONDITIONAL([CXX_WORKS], [test "x$rw_cv_prog_cxx_works" = "xyes"])

18.4. Integrating patches found on the Web

When integrating a patch of which you are not the author, you have to +add a few things in the header of the patch itself.

Depending on whether the patch has been obtained from the project +repository itself, or from somewhere on the web, add one of the +following tags:

Backported from: <some commit id>

or

Fetch from: <some url>

It is also sensible to add a few words about any changes to the patch +that may have been necessary.

Chapter 19. Download infrastructure

TODO

Chapter 20. Debugging Buildroot

It is possible to instrument the steps Buildroot does when building +packages. Define the variable BR2_INSTRUMENTATION_SCRIPTS to contain +the path of one or more scripts (or other executables), in a +space-separated list, you want called before and after each step. The +scripts are called in sequence, with three parameters:

  • +start or end to denote the start (resp. the end) of a step; +
  • +the name of the step about to be started, or which just ended; +
  • +the name of the package. +

For example :

make BR2_INSTRUMENTATION_SCRIPTS="/path/to/my/script1 /path/to/my/script2"

The list of steps is:

  • +extract +
  • +patch +
  • +configure +
  • +build +
  • +install-host, when a host-package is installed in $(HOST_DIR) +
  • +install-target, when a target-package is installed in $(TARGET_DIR) +
  • +install-staging, when a target-package is installed in $(STAGING_DIR) +
  • +install-image, when a target-package installs files in $(BINARIES_DIR) +

The script has access to the following variables:

  • +BR2_CONFIG: the path to the Buildroot .config file +
  • +HOST_DIR, STAGING_DIR, TARGET_DIR: see + Section 17.5.2, “generic-package reference†+
  • +BUILD_DIR: the directory where packages are extracted and built +
  • +BINARIES_DIR: the place where all binary files (aka images) are + stored +
  • +BASE_DIR: the base output directory +

Chapter 21. Contributing to Buildroot

There are many ways in which you can contribute to Buildroot: analyzing +and fixing bugs, analyzing and fixing package build failures detected by +the autobuilders, testing and reviewing patches sent by other +developers, working on the items in our TODO list and sending your own +improvements to Buildroot or its manual. The following sections give a +little more detail on each of these items.

If you are interested in contributing to Buildroot, the first thing you +should do is to subscribe to the Buildroot mailing list. This list is +the main way of interacting with other Buildroot developers and to send +contributions to. If you aren’t subscribed yet, then refer to +Chapter 5, Community resources for the subscription link.

If you are going to touch the code, it is highly recommended to use a +git repository of Buildroot, rather than starting from an extracted +source code tarball. Git is the easiest way to develop from and directly +send your patches to the mailing list. Refer to Chapter 3, Getting Buildroot +for more information on obtaining a Buildroot git tree.

21.1. Reproducing, analyzing and fixing bugs

A first way of contributing is to have a look at the open bug reports in +the Buildroot bug +tracker. As we strive to keep the bug count as small as possible, all +help in reproducing, analyzing and fixing reported bugs is more than +welcome. Don’t hesitate to add a comment to bug reports reporting your +findings, even if you don’t yet see the full picture.

21.2. Analyzing and fixing autobuild failures

The Buildroot autobuilders are a set of build machines that continuously +run Buildroot builds based on random configurations. This is done for +all architectures supported by Buildroot, with various toolchains, and +with a random selection of packages. With the large commit activity on +Buildroot, these autobuilders are a great help in detecting problems +very early after commit.

All build results are available at http://autobuild.buildroot.org, +statistics are at http://autobuild.buildroot.org/stats.php. Every day, +an overview of all failed packages is sent to the mailing list.

Detecting problems is great, but obviously these problems have to be +fixed as well. Your contribution is very welcome here! There are +basically two things that can be done:

  • +Analyzing the problems. The daily summary mails do not contain details + about the actual failures: in order to see what’s going on you have to + open the build log and check the last output. Having someone doing + this for all packages in the mail is very useful for other developers, + as they can make a quick initial analysis based on this output alone. +
  • +Fixing a problem. When fixing autobuild failures, you should follow + these steps: +

    1. +Check if you can reproduce the problem by building with the same + configuration. You can do this manually, or use the + br-reproduce-build + script that will automatically clone a Buildroot git repository, + checkout the correct revision, download and set the right + configuration, and start the build. +
    2. +Analyze the problem and create a fix. +
    3. +Verify that the problem is really fixed by starting from a clean + Buildroot tree and only applying your fix. +
    4. +Send the fix to the Buildroot mailing list (see + Section 21.5, “Submitting patchesâ€). In case you created a patch against the + package sources, you should also send the patch upstream so that the + problem will be fixed in a later release, and the patch in Buildroot + can be removed. + In the commit message of a patch fixing an autobuild failure, add a + reference to the build result directory, as follows: +
Fixes http://autobuild.buildroot.org/results/51000a9d4656afe9e0ea6f07b9f8ed374c2e4069

21.3. Reviewing and testing patches

With the amount of patches sent to the mailing list each day, the +maintainer has a very hard job to judge which patches are ready to apply +and which ones aren’t. Contributors can greatly help here by reviewing +and testing these patches.

In the review process, do not hesitate to respond to patch submissions +for remarks, suggestions or anything that will help everyone to +understand the patches and make them better. Please use internet +style replies in plain text emails when responding to patch +submissions.

To indicate approval of a patch, there are three formal tags that keep +track of this approval. To add your tag to a patch, reply to it with the +approval tag below the original author’s Signed-off-by line. These tags +will be picked up automatically by patchwork (see +Section 21.3.1, “Applying Patches from Patchworkâ€) and will be part of the commit log when +the patch is accepted.

+Tested-by +
+Indicates that the patch has been tested successfully. + You are encouraged to specify what kind of testing you performed + (compile-test on architecture X and Y, runtime test on target A, + …). This additional information helps other testers and the + maintainer. +
+Reviewed-by +
+Indicates that you code-reviewed the patch and did your + best in spotting problems, but you are not sufficiently familiar with + the area touched to provide an Acked-by tag. This means that there + may be remaining problems in the patch that would be spotted by + someone with more experience in that area. Should such problems be + detected, your Reviewed-by tag remains appropriate and you cannot + be blamed. +
+Acked-by +
+Indicates that you code-reviewed the patch and you are + familiar enough with the area touched to feel that the patch can be + committed as-is (no additional changes required). In case it later + turns out that something is wrong with the patch, your Acked-by could + be considered inappropriate. The difference between Acked-by and + Reviewed-by is thus mainly that you are prepared to take the blame on + Acked patches, but not on Reviewed ones. +

If you reviewed a patch and have comments on it, you should simply reply +to the patch stating these comments, without providing a Reviewed-by or +Acked-by tag. These tags should only be provided if you judge the patch +to be good as it is.

It is important to note that neither Reviewed-by nor Acked-by imply +that testing has been performed. To indicate that you both reviewed and +tested the patch, provide two separate tags (Reviewed/Acked-by and +Tested-by).

Note also that any developer can provide Tested/Reviewed/Acked-by +tags, without exception, and we encourage everyone to do this. Buildroot +does not have a defined group of core developers, it just so happens +that some developers are more active than others. The maintainer will +value tags according to the track record of their submitter. Tags +provided by a regular contributor will naturally be trusted more than +tags provided by a newcomer. As you provide tags more regularly, your +trustworthiness (in the eyes of the maintainer) will go up, but any +tag provided is valuable.

Buildroot’s Patchwork website can be used to pull in patches for testing +purposes. Please see Section 21.3.1, “Applying Patches from Patchwork†for more +information on using Buildroot’s Patchwork website to apply patches.

21.3.1. Applying Patches from Patchwork

The main use of Buildroot’s Patchwork website for a developer is for +pulling in patches into their local git repository for testing +purposes.

When browsing patches in the patchwork management interface, an mbox +link is provided at the top of the page. Copy this link address and +run the following commands:

$ git checkout -b <test-branch-name>
+$ wget -O - <mbox-url> | git am

Another option for applying patches is to create a bundle. A bundle is +a set of patches that you can group together using the patchwork +interface. Once the bundle is created and the bundle is made public, +you can copy the mbox link for the bundle and apply the bundle +using the above commands.

21.4. Work on items from the TODO list

If you want to contribute to Buildroot but don’t know where to start, +and you don’t like any of the above topics, you can always work on items +from the Buildroot TODO list. +Don’t hesitate to discuss an item first on the mailing list or on IRC. +Do edit the wiki to indicate when you start working on an item, so we +avoid duplicate efforts.

21.5. Submitting patches

Note

Please, do not attach patches to bugs, send them to the mailing list +instead.

If you made some changes to Buildroot and you would like to contribute +them to the Buildroot project, proceed as follows.

21.5.1. The formatting of a patch

We expect patches to be formatted in a specific way. This is necessary +to make it easy to review patches, to be able to apply them easily to +the git repository, to make it easy to find back in the history how +and why things have changed, and to make it possible to use git +bisect to locate the origin of a problem.

First of all, it is essential that the patch has a good commit +message. The commit message should start with a separate line with a +brief summary of the change, starting with the name of the affected +package. The body of the commit message should describe why this +change is needed, and if necessary also give details about how it +was done. When writing the commit message, think of how the reviewers +will read it, but also think about how you will read it when you look +at this change again a few years down the line.

Second, the patch itself should do only one change, but do it +completely. Two unrelated or weakly related changes should usually be +done in two separate patches. This usually means that a patch affects +only a single package. If several changes are related, it is often +still possible to split them up in small patches and apply them in a +specific order. Small patches make it easier to review, and often +make it easier to understand afterwards why a change was done. +However, each patch must be complete. It is not allowed that the +build is broken when only the first but not the second patch is +applied. This is necessary to be able to use git bisect afterwards.

Of course, while you’re doing your development, you’re probably going +back and forth between packages, and certainly not committing things +immediately in a way that is clean enough for submission. So most +developers rewrite the history of commits to produce a clean set of +commits that is appropriate for submission. To do this, you need to +use interactive rebasing. You can learn about it +in the Pro +Git book. Sometimes, it is even easier to discard you history with +git reset --soft origin/master and select individual changes with +git add -i or git add -p.

Finally, the patch should be signed off. This is done by adding +Signed-off-by: Your Real Name <your@email.address> at the end of the +commit message. git commit -s does that for you, if configured +properly. The Signed-off-by tag means that you publish the patch +under the Buildroot license (i.e. GPL-2.0+, except for package patches, +which have the upstream license), and that you are allowed to do so. +See the Developer Certificate of +Origin for details.

When adding new packages, you should submit every package in a +separate patch. This patch should have the update to +package/Config.in, the package Config.in file, the .mk file, the +.hash file, any init script, and all package patches. If the package +has many sub-options, these are sometimes better added as separate +follow-up patches. The summary line should be something like +<packagename>: new package. The body of the commit message can be +empty for simple packages, or it can contain the description of the +package (like the Config.in help text). If anything special has to be +done to build the package, this should also be explained explicitly in +the commit message body.

When you bump a package to a new version, you should also submit a +separate patch for each package. Don’t forget to update the .hash +file, or add it if it doesn’t exist yet. Also don’t forget to check if +the _LICENSE and _LICENSE_FILES are still valid. The summary line +should be something like <packagename>: bump to version <new +version>. If the new version only contains security updates compared +to the existing one, the summary should be <packagename>: security +bump to version <new version> and the commit message body should show +the CVE numbers that are fixed. If some package patches can be removed +in the new version, it should be explained explicitly why they can be +removed, preferably with the upstream commit ID. Also any other +required changes should be explained explicitly, like configure +options that no longer exist or are no longer needed.

If you are interested in getting notified of build failures and of +further changes in the packages you added or modified, please add +yourself to the DEVELOPERS file. This should be done in the same patch +creating or modifying the package. See the DEVELOPERS file +Chapter 22, DEVELOPERS file and get-developers +for more information.

21.5.2. Preparing a patch series

Starting from the changes committed in your local git view, rebase +your development branch on top of the upstream tree before generating +a patch set. To do so, run:

$ git fetch --all --tags
+$ git rebase origin/master

Now, you are ready to generate then submit your patch set.

To generate it, run:

$ git format-patch -M -n -s -o outgoing origin/master

This will generate patch files in the outgoing subdirectory, +automatically adding the Signed-off-by line.

Once patch files are generated, you can review/edit the commit message +before submitting them, using your favorite text editor.

Buildroot provides a handy tool to know to whom your patches should be +sent, called get-developers (see Chapter 22, DEVELOPERS file and get-developers for more +information). This tool reads your patches and outputs the appropriate +git send-email command to use:

$ ./utils/get-developers outgoing/*

Use the output of get-developers to send your patches:

$ git send-email --to buildroot@buildroot.org --cc bob --cc alice outgoing/*

Note that git should be configured to use your mail account. +To configure git, see man git-send-email or google it.

If you do not use git send-email, make sure posted patches are not +line-wrapped, otherwise they cannot easily be applied. In such a case, +fix your e-mail client, or better yet, learn to use git send-email.

21.5.3. Cover letter

If you want to present the whole patch set in a separate mail, add +--cover-letter to the git format-patch command (see man +git-format-patch for further information). This will generate a +template for an introduction e-mail to your patch series.

A cover letter may be useful to introduce the changes you propose +in the following cases:

  • +large number of commits in the series; +
  • +deep impact of the changes in the rest of the project; +
  • +RFC [4]; +
  • +whenever you feel it will help presenting your work, your choices, + the review process, etc. +

21.5.4. Patch revision changelog

When improvements are requested, the new revision of each commit +should include a changelog of the modifications between each +submission. Note that when your patch series is introduced by a cover +letter, an overall changelog may be added to the cover letter in +addition to the changelog in the individual commits. +The best thing to rework a patch series is by interactive rebasing: +git rebase -i origin/master. Consult the git manual for more +information.

When added to the individual commits, this changelog is added when +editing the commit message. Below the Signed-off-by section, add +--- and your changelog.

Although the changelog will be visible for the reviewers in the mail +thread, as well as in patchwork, git +will automatically ignores lines below --- when the patch will be +merged. This is the intended behavior: the changelog is not meant to +be preserved forever in the git history of the project.

Hereafter the recommended layout:

Patch title: short explanation, max 72 chars
+
+A paragraph that explains the problem, and how it manifests itself. If
+the problem is complex, it is OK to add more paragraphs. All paragraphs
+should be wrapped at 72 characters.
+
+A paragraph that explains the root cause of the problem. Again, more
+than on paragraph is OK.
+
+Finally, one or more paragraphs that explain how the problem is solved.
+Don't hesitate to explain complex solutions in detail.
+
+Signed-off-by: John DOE <john.doe@example.net>
+
+---
+Changes v2 -> v3:
+  - foo bar  (suggested by Jane)
+  - bar buz
+
+Changes v1 -> v2:
+  - alpha bravo  (suggested by John)
+  - charly delta

Any patch revision should include the version number. The version number +is simply composed of the letter v followed by an integer greater or +equal to two (i.e. "PATCH v2", "PATCH v3" …).

This can be easily handled with git format-patch by using the option +--subject-prefix:

$ git format-patch --subject-prefix "PATCH v4" \
+    -M -s -o outgoing origin/master

Since git version 1.8.1, you can also use -v <n> (where <n> is the +version number):

$ git format-patch -v4 -M -s -o outgoing origin/master

When you provide a new version of a patch, please mark the old one as +superseded in patchwork. You need to +create an account on patchwork to be +able to modify the status of your patches. Note that you can only change +the status of patches you submitted yourself, which means the email +address you register in patchwork should +match the one you use for sending patches to the mailing list.

You can also add the --in-reply-to <message-id> option when +submitting a patch to the mailing list. The id of the mail to reply to +can be found under the "Message Id" tag on +patchwork. The advantage of +in-reply-to is that patchwork will automatically mark the previous +version of the patch as superseded.

21.6. Reporting issues/bugs or getting help

Before reporting any issue, please check in +the mailing list archive +Chapter 5, Community resources whether someone has +already reported and/or fixed a similar problem.

However you choose to report bugs or get help, either by +opening a bug in the bug tracker +Chapter 5, Community resources or by +sending a mail to the mailing list +Chapter 5, Community resources, there are +a number of details to provide in order to help people reproduce and +find a solution to the issue.

Try to think as if you were trying to help someone else; in +that case, what would you need?

Here is a short list of details to provide in such case:

  • +host machine (OS/release) +
  • +version of Buildroot +
  • +target for which the build fails +
  • +package(s) for which the build fails +
  • +the command that fails and its output +
  • +any information you think that may be relevant +

Additionally, you should add the .config file (or if you know how, a +defconfig; see Section 9.3, “Storing the Buildroot configurationâ€).

If some of these details are too large, do not hesitate to use a +pastebin service. Note that not all available pastebin services will +preserve Unix-style line terminators when downloading raw pastes. +Following pastebin services are known to work correctly: +- https://gist.github.com/ +- http://code.bulix.org/



[4] RFC: (Request for comments) change proposal

Chapter 22. DEVELOPERS file and get-developers

The main Buildroot directory contains a file named DEVELOPERS that +lists the developers involved with various areas of Buildroot. Thanks +to this file, the get-developer tool allows to:

  • +Calculate the list of developers to whom patches should be sent, by + parsing the patches and matching the modified files with the + relevant developers. See Section 21.5, “Submitting patches†for details. +
  • +Find which developers are taking care of a given architecture or + package, so that they can be notified when a build failure occurs on + this architecture or package. This is done in interaction with + Buildroot’s autobuild infrastructure. +

We ask developers adding new packages, new boards, or generally new +functionality in Buildroot, to register themselves in the DEVELOPERS +file. As an example, we expect a developer contributing a new package +to include in his patch the appropriate modification to the +DEVELOPERS file.

The DEVELOPERS file format is documented in detail inside the file +itself.

The get-developer tool, located in utils/ allows to use +the DEVELOPERS file for various tasks:

  • +When passing one or several patches as command line argument, + get-developer will return the appropriate git send-email + command. +
  • +When using the -a <arch> command line option, get-developer will + return the list of developers in charge of the given architecture. +
  • +When using the -p <package> command line option, get-developer + will return the list of developers in charge of the given package. +
  • +When using the -c command line option, get-developer will look + at all files under version control in the Buildroot repository, and + list the ones that are not handled by any developer. The purpose of + this option is to help completing the DEVELOPERS file. +
  • +When using without any arguments, it validates the integrity of the + DEVELOPERS file and will note WARNINGS for items that don’t match. +

Part IV. Appendix

Chapter 23. Makedev syntax documentation

The makedev syntax is used in several places in Buildroot to +define changes to be made for permissions, or which device files to +create and how to create them, in order to avoid calls to mknod.

This syntax is derived from the makedev utility, and more complete +documentation can be found in the package/makedevs/README file.

It takes the form of a space separated list of fields, one file per +line; the fields are:

name

type

mode

uid

gid

major

minor

start

inc

count

There are a few non-trivial blocks:

  • +name is the path to the file you want to create/modify +
  • +type is the type of the file, being one of: +

    • +f: a regular file +
    • +d: a directory +
    • +r: a directory recursively +
    • +c: a character device file +
    • +b: a block device file +
    • +p: a named pipe +
  • +mode are the usual permissions settings (only numerical values + are allowed) +
  • +uid and gid are the UID and GID to set on this file; can be + either numerical values or actual names +
  • +major and minor are here for device files, set to - for other + files +
  • +start, inc and count are for when you want to create a batch + of files, and can be reduced to a loop, beginning at start, + incrementing its counter by inc until it reaches count +

Let’s say you want to change the permissions of a given file; using +this syntax, you will need to write:

/usr/bin/foo f 755 0 0 - - - - -
+/usr/bin/bar f 755 root root - - - - -
+/data/buz f 644 buz-user buz-group - - - - -

Alternatively, if you want to change owner/permission of a directory +recursively, you can write (to set UID to foo, GID to bar and access +rights to rwxr-x--- for the directory /usr/share/myapp and all files +and directories below it):

/usr/share/myapp r 750 foo bar - - - - -

On the other hand, if you want to create the device file /dev/hda +and the corresponding 15 files for the partitions, you will need for +/dev/hda:

/dev/hda b 640 root root 3 0 0 0 -

and then for device files corresponding to the partitions of +/dev/hda, /dev/hdaX, X ranging from 1 to 15:

/dev/hda b 640 root root 3 1 1 1 15

Extended attributes are supported if +BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES is enabled. +This is done by adding a line starting with |xattr after +the line describing the file. Right now, only capability +is supported as extended attribute.

|xattr

capability

  • +|xattr is a "flag" that indicate an extended attribute +
  • +capability is a capability to add to the previous file +

If you want to add the capability cap_sys_admin to the binary foo, +you will write :

/usr/bin/foo f 755 root root - - - - -
+|xattr cap_sys_admin+eip

You can add several capabilities to a file by using several |xattr lines. +If you want to add the capability cap_sys_admin and cap_net_admin to the +binary foo, you will write :

/usr/bin/foo f 755 root root - - - - -
+|xattr cap_sys_admin+eip
+|xattr cap_net_admin+eip

Chapter 24. Makeusers syntax documentation

The syntax to create users is inspired by the makedev syntax, above, but +is specific to Buildroot.

The syntax for adding a user is a space-separated list of fields, one +user per line; the fields are:

username

uid

group

gid

password

home

shell

groups

comment

Where:

  • +username is the desired user name (aka login name) for the user. + It can not be root, and must be unique. If set to -, then just a + group will be created. +
  • +uid is the desired UID for the user. It must be unique, and not + 0. If set to -1, then a unique UID will be computed by Buildroot + in the range [1000…1999] +
  • +group is the desired name for the user’s main group. It can not + be root. If the group does not exist, it will be created. +
  • +gid is the desired GID for the user’s main group. It must be unique, + and not 0. If set to -1, and the group does not already exist, then + a unique GID will be computed by Buildroot in the range [1000..1999] +
  • +password is the crypt(3)-encoded password. If prefixed with !, + then login is disabled. If prefixed with =, then it is interpreted + as clear-text, and will be crypt-encoded (using MD5). If prefixed with + !=, then the password will be crypt-encoded (using MD5) and login + will be disabled. If set to *, then login is not allowed. If set to + -, then no password value will be set. +
  • +home is the desired home directory for the user. If set to -, no + home directory will be created, and the user’s home will be /. + Explicitly setting home to / is not allowed. +
  • +shell is the desired shell for the user. If set to -, then + /bin/false is set as the user’s shell. +
  • +groups is the comma-separated list of additional groups the user + should be part of. If set to -, then the user will be a member of + no additional group. Missing groups will be created with an arbitrary + gid. +
  • +comment (aka GECOS + field) is an almost-free-form text. +

There are a few restrictions on the content of each field:

  • +except for comment, all fields are mandatory. +
  • +except for comment, fields may not contain spaces. +
  • +no field may contain a colon (:). +

If home is not -, then the home directory, and all files below, +will belong to the user and its main group.

Examples:

foo -1 bar -1 !=blabla /home/foo /bin/sh alpha,bravo Foo user

This will create this user:

  • +username (aka login name) is: foo +
  • +uid is computed by Buildroot +
  • +main group is: bar +
  • +main group gid is computed by Buildroot +
  • +clear-text password is: blabla, will be crypt(3)-encoded, and login is disabled. +
  • +home is: /home/foo +
  • +shell is: /bin/sh +
  • +foo is also a member of groups: alpha and bravo +
  • +comment is: Foo user +
test 8000 wheel -1 = - /bin/sh - Test user

This will create this user:

  • +username (aka login name) is: test +
  • +uid is : 8000 +
  • +main group is: wheel +
  • +main group gid is computed by Buildroot, and will use the value defined in the rootfs skeleton +
  • +password is empty (aka no password). +
  • +home is / but will not belong to test +
  • +shell is: /bin/sh +
  • +test is not a member of any additional groups +
  • +comment is: Test user + +

Chapter 25. Migrating from older Buildroot versions

Some versions have introduced backward incompatibilities. This section +explains those incompatibilities, and for each explains what to do to +complete the migration.

25.1. Migrating to 2016.11

Before Buildroot 2016.11, it was possible to use only one br2-external +tree at once. With Buildroot 2016.11 came the possibility to use more +than one simultaneously (for details, see Section 9.2, “Keeping customizations outside of Buildrootâ€).

This however means that older br2-external trees are not usable as-is. +A minor change has to be made: adding a name to your br2-external tree.

This can be done very easily in just a few steps:

  • +First, create a new file named external.desc, at the root of your + br2-external tree, with a single line defining the name of your + br2-external tree: +

    $ echo 'name: NAME_OF_YOUR_TREE' >external.desc

    Note. Be careful when choosing a name: It has to be unique and be made +with only ASCII characters from the set [A-Za-z0-9_].

  • +Then, change every occurence of BR2_EXTERNAL in your br2-external + tree with the new variable: +

    $ find . -type f | xargs sed -i 's/BR2_EXTERNAL/BR2_EXTERNAL_NAME_OF_YOUR_TREE_PATH/g'

Now, your br2-external tree can be used with Buildroot 2016.11 onward.

Note: This change makes your br2-external tree incompatible with Buildroot +before 2016.11.

25.2. Migrating to 2017.08

Before Buildroot 2017.08, host packages were installed in $(HOST_DIR)/usr +(with e.g. the autotools' --prefix=$(HOST_DIR)/usr). With Buildroot +2017.08, they are now installed directly in $(HOST_DIR).

Whenever a package installs an executable that is linked with a library +in $(HOST_DIR)/lib, it must have an RPATH pointing to that directory.

An RPATH pointing to $(HOST_DIR)/usr/lib is no longer accepted.

\ No newline at end of file diff --git a/docs/manual/manual.mk b/docs/manual/manual.mk new file mode 100644 index 0000000000..1d03b213db --- /dev/null +++ b/docs/manual/manual.mk @@ -0,0 +1,10 @@ +################################################################################ +# +# The Buildroot manual +# +################################################################################ + +MANUAL_SOURCES = $(sort $(wildcard docs/manual/*.txt) $(wildcard docs/images/*)) +MANUAL_RESOURCES = $(TOPDIR)/docs/images + +$(eval $(call asciidoc-document)) diff --git a/docs/manual/manual.pdf b/docs/manual/manual.pdf new file mode 100644 index 0000000000..dad0c57bb3 Binary files /dev/null and b/docs/manual/manual.pdf differ diff --git a/docs/manual/manual.text b/docs/manual/manual.text new file mode 100644 index 0000000000..40b8e7d1a5 --- /dev/null +++ b/docs/manual/manual.text @@ -0,0 +1,7080 @@ + +--------------------------------------------------------------------- + +The Buildroot user manual + +--------------------------------------------------------------------- +--------------------------------------------------------------------- + +Table of Contents + + +I. Getting started + + 1. About Buildroot + 2. System requirements + + 2.1. Mandatory packages + 2.2. Optional packages + + 3. Getting Buildroot + 4. Buildroot quick start + 5. Community resources + +II. User guide + + 6. Buildroot configuration + + 6.1. Cross-compilation toolchain + 6.2. /dev management + 6.3. init system + + 7. Configuration of other components + 8. General Buildroot usage + + 8.1. make tips + 8.2. Understanding when a full rebuild is necessary + 8.3. Understanding how to rebuild packages + 8.4. Offline builds + 8.5. Building out-of-tree + 8.6. Environment variables + 8.7. Dealing efficiently with filesystem images + 8.8. Graphing the dependencies between packages + 8.9. Graphing the build duration + 8.10. Graphing the filesystem size contribution of packages + 8.11. Integration with Eclipse + 8.12. Advanced usage + + 9. Project-specific customization + + 9.1. Recommended directory structure + 9.2. Keeping customizations outside of Buildroot + 9.3. Storing the Buildroot configuration + 9.4. Storing the configuration of other components + 9.5. Customizing the generated target filesystem + 9.6. Adding custom user accounts + 9.7. Customization after the images have been created + 9.8. Adding project-specific patches + 9.9. Adding project-specific packages + 9.10. Quick guide to storing your project-specific + customizations + + 10. Frequently Asked Questions & Troubleshooting + + 10.1. The boot hangs after Starting network… + 10.2. Why is there no compiler on the target? + 10.3. Why are there no development files on the target? + 10.4. Why is there no documentation on the target? + 10.5. Why are some packages not visible in the Buildroot + config menu? + 10.6. Why not use the target directory as a chroot directory? + 10.7. Why doesn’t Buildroot generate binary packages (.deb, + .ipkg…)? + 10.8. How to speed-up the build process? + + 11. Known issues + 12. Legal notice and licensing + + 12.1. Complying with open source licenses + 12.2. Complying with the Buildroot license + + 13. Beyond Buildroot + + 13.1. Boot the generated images + 13.2. Chroot + +III. Developer guide + + 14. How Buildroot works + 15. Coding style + + 15.1. Config.in file + 15.2. The .mk file + 15.3. The documentation + 15.4. Support scripts + + 16. Adding support for a particular board + 17. Adding new packages to Buildroot + + 17.1. Package directory + 17.2. Config files + 17.3. The .mk file + 17.4. The .hash file + 17.5. Infrastructure for packages with specific build systems + 17.6. Infrastructure for autotools-based packages + 17.7. Infrastructure for CMake-based packages + 17.8. Infrastructure for Python packages + 17.9. Infrastructure for LuaRocks-based packages + 17.10. Infrastructure for Perl/CPAN packages + 17.11. Infrastructure for virtual packages + 17.12. Infrastructure for packages using kconfig for + configuration files + 17.13. Infrastructure for rebar-based packages + 17.14. Infrastructure for Waf-based packages + 17.15. Infrastructure for packages building kernel modules + 17.16. Infrastructure for asciidoc documents + 17.17. Infrastructure specific to the Linux kernel package + 17.18. Hooks available in the various build steps + 17.19. Gettext integration and interaction with packages + 17.20. Tips and tricks + 17.21. Conclusion + + 18. Patching a package + + 18.1. Providing patches + 18.2. How patches are applied + 18.3. Format and licensing of the package patches + 18.4. Integrating patches found on the Web + + 19. Download infrastructure + 20. Debugging Buildroot + 21. Contributing to Buildroot + + 21.1. Reproducing, analyzing and fixing bugs + 21.2. Analyzing and fixing autobuild failures + 21.3. Reviewing and testing patches + 21.4. Work on items from the TODO list + 21.5. Submitting patches + 21.6. Reporting issues/bugs or getting help + + 22. DEVELOPERS file and get-developers + +IV. Appendix + + 23. Makedev syntax documentation + 24. Makeusers syntax documentation + 25. Migrating from older Buildroot versions + + 25.1. Migrating to 2016.11 + 25.2. Migrating to 2017.08 + +List of Examples + +17.1. Config script: divine package +17.2. Config script: imagemagick package: + + +--------------------------------------------------------------------- + +--------------------------------------------------------------------- + +Buildroot 2017.11 manual generated on 2017-11-30 21:37:14 UTC from +git revision 9dd76697cc + +The Buildroot manual is written by the Buildroot developers. It is +licensed under the GNU General Public License, version 2. Refer to +the COPYING [http://git.buildroot.org/buildroot/tree/COPYING] file in +the Buildroot sources for the full text of this license. + +Copyright © 2004-2017 The Buildroot developers + +Part I. Getting started + +Table of Contents + +1. About Buildroot +2. System requirements + + 2.1. Mandatory packages + 2.2. Optional packages + +3. Getting Buildroot +4. Buildroot quick start +5. Community resources + +Chapter 1. About Buildroot + +Buildroot is a tool that simplifies and automates the process of +building a complete Linux system for an embedded system, using +cross-compilation. + +In order to achieve this, Buildroot is able to generate a +cross-compilation toolchain, a root filesystem, a Linux kernel image +and a bootloader for your target. Buildroot can be used for any +combination of these options, independently (you can for example use +an existing cross-compilation toolchain, and build only your root +filesystem with Buildroot). + +Buildroot is useful mainly for people working with embedded systems. +Embedded systems often use processors that are not the regular x86 +processors everyone is used to having in his PC. They can be PowerPC +processors, MIPS processors, ARM processors, etc. + +Buildroot supports numerous processors and their variants; it also +comes with default configurations for several boards available +off-the-shelf. Besides this, a number of third-party projects are +based on, or develop their BSP ^[1] or SDK ^[2] on top of Buildroot. + + +--------------------------------------------------------------------- + +^[1] BSP: Board Support Package + +^[2] SDK: Software Development Kit + +Chapter 2. System requirements + +Buildroot is designed to run on Linux systems. + +While Buildroot itself will build most host packages it needs for the +compilation, certain standard Linux utilities are expected to be +already installed on the host system. Below you will find an overview +of the mandatory and optional packages (note that package names may +vary between distributions). + +2.1. Mandatory packages + + * Build tools: + + + which + + sed + + make (version 3.81 or any later) + + binutils + + build-essential (only for Debian based systems) + + gcc (version 2.95 or any later) + + g++ (version 2.95 or any later) + + bash + + patch + + gzip + + bzip2 + + perl (version 5.8.7 or any later) + + tar + + cpio + + python (version 2.6 or any later) + + unzip + + rsync + + file (must be in /usr/bin/file) + + bc + * Source fetching tools: + + + wget + +2.2. Optional packages + + * Configuration interface dependencies: + + For these libraries, you need to install both runtime and + development data, which in many distributions are packaged + separately. The development packages typically have a -dev or + -devel suffix. + + + ncurses5 to use the menuconfig interface + + qt4 to use the xconfig interface + + glib2, gtk2 and glade2 to use the gconfig interface + * Source fetching tools: + + In the official tree, most of the package sources are retrieved + using wget from ftp, http or https locations. A few packages are + only available through a version control system. Moreover, + Buildroot is capable of downloading sources via other tools, like + rsync or scp (refer to Chapter 19, Download infrastructure for + more details). If you enable packages using any of these methods, + you will need to install the corresponding tool on the host + system: + + + bazaar + + cvs + + git + + mercurial + + rsync + + scp + + subversion + * Java-related packages, if the Java Classpath needs to be built + for the target system: + + + The javac compiler + + The jar tool + * Documentation generation tools: + + + asciidoc, version 8.6.3 or higher + + w3m + + python with the argparse module (automatically present in + 2.7+ and 3.2+) + + dblatex (required for the pdf manual only) + * Graph generation tools: + + + graphviz to use graph-depends and -graph-depends + + python-matplotlib to use graph-build + +Chapter 3. Getting Buildroot + +Buildroot releases are made every 3 months, in February, May, August +and November. Release numbers are in the format YYYY.MM, so for +example 2013.02, 2014.08. + +Release tarballs are available at http://buildroot.org/downloads/. + +For your convenience, a Vagrantfile [https://www.vagrantup.com/] is +available in support/misc/Vagrantfile in the Buildroot source tree to +quickly set up a virtual machine with the needed dependencies to get +started. + +If you want to setup an isolated buildroot environment on Linux or +Mac Os X, paste this line onto your terminal: + +curl -O https://buildroot.org/downloads/Vagrantfile; vagrant up + +If you are on Windows, paste this into your powershell: + +(new-object System.Net.WebClient).DownloadFile( +"https://buildroot.org/downloads/Vagrantfile","Vagrantfile"); +vagrant up + +If you want to follow development, you can use the daily snapshots or +make a clone of the Git repository. Refer to the Download page [http: +//buildroot.org/download] of the Buildroot website for more details. + +Chapter 4. Buildroot quick start + +Important: you can and should build everything as a normal user. +There is no need to be root to configure and use Buildroot. By +running all commands as a regular user, you protect your system +against packages behaving badly during compilation and installation. + +The first step when using Buildroot is to create a configuration. +Buildroot has a nice configuration tool similar to the one you can +find in the Linux kernel [http://www.kernel.org/] or in BusyBox +[http://www.busybox.net/]. + +From the buildroot directory, run + + $ make menuconfig + +for the original curses-based configurator, or + + $ make nconfig + +for the new curses-based configurator, or + + $ make xconfig + +for the Qt-based configurator, or + + $ make gconfig + +for the GTK-based configurator. + +All of these "make" commands will need to build a configuration +utility (including the interface), so you may need to install +"development" packages for relevant libraries used by the +configuration utilities. Refer to Chapter 2, System requirements for +more details, specifically the optional requirements Section 2.2, +“Optional packages†to get the dependencies of your favorite +interface. + +For each menu entry in the configuration tool, you can find +associated help that describes the purpose of the entry. Refer to +Chapter 6, Buildroot configuration for details on some specific +configuration aspects. + +Once everything is configured, the configuration tool generates a +.config file that contains the entire configuration. This file will +be read by the top-level Makefile. + +To start the build process, simply run: + + $ make + +You should never use make -jN with Buildroot: top-level parallel make +is currently not supported. Instead, use the BR2_JLEVEL option to +tell Buildroot to run the compilation of each individual package with +make -jN. + +The make command will generally perform the following steps: + + * download source files (as required); + * configure, build and install the cross-compilation toolchain, or + simply import an external toolchain; + * configure, build and install selected target packages; + * build a kernel image, if selected; + * build a bootloader image, if selected; + * create a root filesystem in selected formats. + +Buildroot output is stored in a single directory, output/. This +directory contains several subdirectories: + + * images/ where all the images (kernel image, bootloader and root + filesystem images) are stored. These are the files you need to + put on your target system. + * build/ where all the components are built (this includes tools + needed by Buildroot on the host and packages compiled for the + target). This directory contains one subdirectory for each of + these components. + * staging/ which contains a hierarchy similar to a root filesystem + hierarchy. This directory contains the headers and libraries of + the cross-compilation toolchain and all the userspace packages + selected for the target. However, this directory is not intended + to be the root filesystem for the target: it contains a lot of + development files, unstripped binaries and libraries that make it + far too big for an embedded system. These development files are + used to compile libraries and applications for the target that + depend on other libraries. + * target/ which contains almost the complete root filesystem for + the target: everything needed is present except the device files + in /dev/ (Buildroot can’t create them because Buildroot doesn’t + run as root and doesn’t want to run as root). Also, it doesn’t + have the correct permissions (e.g. setuid for the busybox + binary). Therefore, this directory should not be used on your + target. Instead, you should use one of the images built in the + images/ directory. If you need an extracted image of the root + filesystem for booting over NFS, then use the tarball image + generated in images/ and extract it as root. Compared to staging + /, target/ contains only the files and libraries needed to run + the selected target applications: the development files (headers, + etc.) are not present, the binaries are stripped. + * host/ contains the installation of tools compiled for the host + that are needed for the proper execution of Buildroot, including + the cross-compilation toolchain. + +These commands, make menuconfig|nconfig|gconfig|xconfig and make, are +the basic ones that allow to easily and quickly generate images +fitting your needs, with all the features and applications you +enabled. + +More details about the "make" command usage are given in Section 8.1, +“make tipsâ€. + +Chapter 5. Community resources + +Like any open source project, Buildroot has different ways to share +information in its community and outside. + +Each of those ways may interest you if you are looking for some help, +want to understand Buildroot or contribute to the project. + +Mailing List + + Buildroot has a mailing list for discussion and development. It + is the main method of interaction for Buildroot users and + developers. + + Only subscribers to the Buildroot mailing list are allowed to + post to this list. You can subscribe via the mailing list info + page [http://lists.buildroot.org/mailman/listinfo/buildroot]. + + Mails that are sent to the mailing list are also available in the + mailing list archives [http://lists.buildroot.org/pipermail/ + buildroot] and via Gmane [http://gmane.org], at + gmane.comp.lib.uclibc.buildroot [http://dir.gmane.org/ + gmane.comp.lib.uclibc.buildroot]. Please search the mailing list + archives before asking questions, since there is a good chance + someone else has asked the same question before. + +IRC + + The Buildroot IRC channel #buildroot [irc://freenode.net/# + buildroot] is hosted on Freenode [http://webchat.freenode.net]. + It is a useful place to ask quick questions or discuss on certain + topics. + + When asking for help on IRC, share relevant logs or pieces of + code using a code sharing website, such as http://code.bulix.org. + + Note that for certain questions, posting to the mailing list may + be better as it will reach more people, both developers and + users. + +Bug tracker + Bugs in Buildroot can be reported via the mailing list or + alternatively via the Buildroot bugtracker [https:// + bugs.buildroot.org/buglist.cgi?product=buildroot]. Please refer + to Section 21.6, “Reporting issues/bugs or getting help†before + creating a bug report. +Wiki + The Buildroot wiki page [http://elinux.org/Buildroot] is hosted + on the eLinux [http://elinux.org] wiki. It contains some useful + links, an overview of past and upcoming events, and a TODO list. +Patchwork + + Patchwork is a web-based patch tracking system designed to + facilitate the contribution and management of contributions to an + open-source project. Patches that have been sent to a mailing + list are 'caught' by the system, and appear on a web page. Any + comments posted that reference the patch are appended to the + patch page too. For more information on Patchwork see http:// + jk.ozlabs.org/projects/patchwork/. + + Buildroot’s Patchwork website is mainly for use by Buildroot’s + maintainer to ensure patches aren’t missed. It is also used by + Buildroot patch reviewers (see also Section 21.3.1, “Applying + Patches from Patchworkâ€). However, since the website exposes + patches and their corresponding review comments in a clean and + concise web interface, it can be useful for all Buildroot + developers. + + The Buildroot patch management interface is available at http:// + patchwork.buildroot.org. + +Part II. User guide + +Table of Contents + +6. Buildroot configuration + + 6.1. Cross-compilation toolchain + 6.2. /dev management + 6.3. init system + +7. Configuration of other components +8. General Buildroot usage + + 8.1. make tips + 8.2. Understanding when a full rebuild is necessary + 8.3. Understanding how to rebuild packages + 8.4. Offline builds + 8.5. Building out-of-tree + 8.6. Environment variables + 8.7. Dealing efficiently with filesystem images + 8.8. Graphing the dependencies between packages + 8.9. Graphing the build duration + 8.10. Graphing the filesystem size contribution of packages + 8.11. Integration with Eclipse + 8.12. Advanced usage + +9. Project-specific customization + + 9.1. Recommended directory structure + 9.2. Keeping customizations outside of Buildroot + 9.3. Storing the Buildroot configuration + 9.4. Storing the configuration of other components + 9.5. Customizing the generated target filesystem + 9.6. Adding custom user accounts + 9.7. Customization after the images have been created + 9.8. Adding project-specific patches + 9.9. Adding project-specific packages + 9.10. Quick guide to storing your project-specific customizations + +10. Frequently Asked Questions & Troubleshooting + + 10.1. The boot hangs after Starting network… + 10.2. Why is there no compiler on the target? + 10.3. Why are there no development files on the target? + 10.4. Why is there no documentation on the target? + 10.5. Why are some packages not visible in the Buildroot config + menu? + 10.6. Why not use the target directory as a chroot directory? + 10.7. Why doesn’t Buildroot generate binary packages (.deb, + .ipkg…)? + 10.8. How to speed-up the build process? + +11. Known issues +12. Legal notice and licensing + + 12.1. Complying with open source licenses + 12.2. Complying with the Buildroot license + +13. Beyond Buildroot + + 13.1. Boot the generated images + 13.2. Chroot + +Chapter 6. Buildroot configuration + +All the configuration options in make *config have a help text +providing details about the option. + +The make *config commands also offer a search tool. Read the help +message in the different frontend menus to know how to use it: + + * in menuconfig, the search tool is called by pressing /; + * in xconfig, the search tool is called by pressing Ctrl + f. + +The result of the search shows the help message of the matching +items. In menuconfig, numbers in the left column provide a shortcut +to the corresponding entry. Just type this number to directly jump to +the entry, or to the containing menu in case the entry is not +selectable due to a missing dependency. + +Although the menu structure and the help text of the entries should +be sufficiently self-explanatory, a number of topics require +additional explanation that cannot easily be covered in the help text +and are therefore covered in the following sections. + +6.1. Cross-compilation toolchain + +A compilation toolchain is the set of tools that allows you to +compile code for your system. It consists of a compiler (in our case, +gcc), binary utils like assembler and linker (in our case, binutils) +and a C standard library (for example GNU Libc [http://www.gnu.org/ +software/libc/libc.html], uClibc-ng [http://www.uclibc-ng.org/]). + +The system installed on your development station certainly already +has a compilation toolchain that you can use to compile an +application that runs on your system. If you’re using a PC, your +compilation toolchain runs on an x86 processor and generates code for +an x86 processor. Under most Linux systems, the compilation toolchain +uses the GNU libc (glibc) as the C standard library. This compilation +toolchain is called the "host compilation toolchain". The machine on +which it is running, and on which you’re working, is called the "host +system" ^[3]. + +The compilation toolchain is provided by your distribution, and +Buildroot has nothing to do with it (other than using it to build a +cross-compilation toolchain and other tools that are run on the +development host). + +As said above, the compilation toolchain that comes with your system +runs on and generates code for the processor in your host system. As +your embedded system has a different processor, you need a +cross-compilation toolchain - a compilation toolchain that runs on +your host system but generates code for your target system (and +target processor). For example, if your host system uses x86 and your +target system uses ARM, the regular compilation toolchain on your +host runs on x86 and generates code for x86, while the +cross-compilation toolchain runs on x86 and generates code for ARM. + +Buildroot provides two solutions for the cross-compilation toolchain: + + * The internal toolchain backend, called Buildroot toolchain in the + configuration interface. + * The external toolchain backend, called External toolchain in the + configuration interface. + +The choice between these two solutions is done using the Toolchain +Type option in the Toolchain menu. Once one solution has been chosen, +a number of configuration options appear, they are detailed in the +following sections. + +6.1.1. Internal toolchain backend + +The internal toolchain backend is the backend where Buildroot builds +by itself a cross-compilation toolchain, before building the +userspace applications and libraries for your target embedded system. + +This backend supports several C libraries: uClibc-ng [http:// +www.uclibc-ng.org], glibc [http://www.gnu.org/software/libc/ +libc.html] and musl [http://www.musl-libc.org]. + +Once you have selected this backend, a number of options appear. The +most important ones allow to: + + * Change the version of the Linux kernel headers used to build the + toolchain. This item deserves a few explanations. In the process + of building a cross-compilation toolchain, the C library is being + built. This library provides the interface between userspace + applications and the Linux kernel. In order to know how to "talk" + to the Linux kernel, the C library needs to have access to the + Linux kernel headers (i.e. the .h files from the kernel), which + define the interface between userspace and the kernel (system + calls, data structures, etc.). Since this interface is backward + compatible, the version of the Linux kernel headers used to build + your toolchain do not need to match exactly the version of the + Linux kernel you intend to run on your embedded system. They only + need to have a version equal or older to the version of the Linux + kernel you intend to run. If you use kernel headers that are more + recent than the Linux kernel you run on your embedded system, + then the C library might be using interfaces that are not + provided by your Linux kernel. + * Change the version of the GCC compiler, binutils and the C + library. + * Select a number of toolchain options (uClibc only): whether the + toolchain should have RPC support (used mainly for NFS), + wide-char support, locale support (for internationalization), C++ + support or thread support. Depending on which options you choose, + the number of userspace applications and libraries visible in + Buildroot menus will change: many applications and libraries + require certain toolchain options to be enabled. Most packages + show a comment when a certain toolchain option is required to be + able to enable those packages. If needed, you can further refine + the uClibc configuration by running make uclibc-menuconfig. Note + however that all packages in Buildroot are tested against the + default uClibc configuration bundled in Buildroot: if you deviate + from this configuration by removing features from uClibc, some + packages may no longer build. + +It is worth noting that whenever one of those options is modified, +then the entire toolchain and system must be rebuilt. See +Section 8.2, “Understanding when a full rebuild is necessaryâ€. + +Advantages of this backend: + + * Well integrated with Buildroot + * Fast, only builds what’s necessary + +Drawbacks of this backend: + + * Rebuilding the toolchain is needed when doing make clean, which + takes time. If you’re trying to reduce your build time, consider + using the External toolchain backend. + +6.1.2. External toolchain backend + +The external toolchain backend allows to use existing pre-built +cross-compilation toolchains. Buildroot knows about a number of +well-known cross-compilation toolchains (from Linaro [http:// +www.linaro.org] for ARM, Sourcery CodeBench [http://www.mentor.com/ +embedded-software/sourcery-tools/sourcery-codebench/editions/ +lite-edition/] for ARM, x86-64, PowerPC, and MIPS, and is capable of +downloading them automatically, or it can be pointed to a custom +toolchain, either available for download or installed locally. + +Then, you have three solutions to use an external toolchain: + + * Use a predefined external toolchain profile, and let Buildroot + download, extract and install the toolchain. Buildroot already + knows about a few CodeSourcery and Linaro toolchains. Just select + the toolchain profile in Toolchain from the available ones. This + is definitely the easiest solution. + * Use a predefined external toolchain profile, but instead of + having Buildroot download and extract the toolchain, you can tell + Buildroot where your toolchain is already installed on your + system. Just select the toolchain profile in Toolchain through + the available ones, unselect Download toolchain automatically, + and fill the Toolchain path text entry with the path to your + cross-compiling toolchain. + * Use a completely custom external toolchain. This is particularly + useful for toolchains generated using crosstool-NG or with + Buildroot itself. To do this, select the Custom toolchain + solution in the Toolchain list. You need to fill the Toolchain + path, Toolchain prefix and External toolchain C library options. + Then, you have to tell Buildroot what your external toolchain + supports. If your external toolchain uses the glibc library, you + only have to tell whether your toolchain supports C++ or not and + whether it has built-in RPC support. If your external toolchain + uses the uClibc library, then you have to tell Buildroot if it + supports RPC, wide-char, locale, program invocation, threads and + C++. At the beginning of the execution, Buildroot will tell you + if the selected options do not match the toolchain configuration. + +Our external toolchain support has been tested with toolchains from +CodeSourcery and Linaro, toolchains generated by crosstool-NG [http:/ +/crosstool-ng.org], and toolchains generated by Buildroot itself. In +general, all toolchains that support the sysroot feature should work. +If not, do not hesitate to contact the developers. + +We do not support toolchains or SDK generated by OpenEmbedded or +Yocto, because these toolchains are not pure toolchains (i.e. just +the compiler, binutils, the C and C++ libraries). Instead these +toolchains come with a very large set of pre-compiled libraries and +programs. Therefore, Buildroot cannot import the sysroot of the +toolchain, as it would contain hundreds of megabytes of pre-compiled +libraries that are normally built by Buildroot. + +We also do not support using the distribution toolchain (i.e. the gcc +/binutils/C library installed by your distribution) as the toolchain +to build software for the target. This is because your distribution +toolchain is not a "pure" toolchain (i.e. only with the C/C++ +library), so we cannot import it properly into the Buildroot build +environment. So even if you are building a system for a x86 or x86_64 +target, you have to generate a cross-compilation toolchain with +Buildroot or crosstool-NG. + +If you want to generate a custom toolchain for your project, that can +be used as an external toolchain in Buildroot, our recommendation is +definitely to build it with crosstool-NG [http://crosstool-ng.org]. +We recommend to build the toolchain separately from Buildroot, and +then import it in Buildroot using the external toolchain backend. + +Advantages of this backend: + + * Allows to use well-known and well-tested cross-compilation + toolchains. + * Avoids the build time of the cross-compilation toolchain, which + is often very significant in the overall build time of an + embedded Linux system. + +Drawbacks of this backend: + + * If your pre-built external toolchain has a bug, may be hard to + get a fix from the toolchain vendor, unless you build your + external toolchain by yourself using Crosstool-NG. + +6.1.2.1. External toolchain wrapper + +When using an external toolchain, Buildroot generates a wrapper +program, that transparently passes the appropriate options (according +to the configuration) to the external toolchain programs. In case you +need to debug this wrapper to check exactly what arguments are +passed, you can set the environment variable BR2_DEBUG_WRAPPER to +either one of: + + * 0, empty or not set: no debug + * 1: trace all arguments on a single line + * 2: trace one argument per line + +6.2. /dev management + +On a Linux system, the /dev directory contains special files, called +device files, that allow userspace applications to access the +hardware devices managed by the Linux kernel. Without these device +files, your userspace applications would not be able to use the +hardware devices, even if they are properly recognized by the Linux +kernel. + +Under System configuration, /dev management, Buildroot offers four +different solutions to handle the /dev directory : + + * The first solution is Static using device table. This is the old + classical way of handling device files in Linux. With this + method, the device files are persistently stored in the root + filesystem (i.e. they persist across reboots), and there is + nothing that will automatically create and remove those device + files when hardware devices are added or removed from the system. + Buildroot therefore creates a standard set of device files using + a device table, the default one being stored in system/ + device_table_dev.txt in the Buildroot source code. This file is + processed when Buildroot generates the final root filesystem + image, and the device files are therefore not visible in the + output/target directory. The BR2_ROOTFS_STATIC_DEVICE_TABLE + option allows to change the default device table used by + Buildroot, or to add an additional device table, so that + additional device files are created by Buildroot during the + build. So, if you use this method, and a device file is missing + in your system, you can for example create a board// + /device_table_dev.txt file that contains the + description of your additional device files, and then you can set + BR2_ROOTFS_STATIC_DEVICE_TABLE to system/device_table_dev.txt + board///device_table_dev.txt. For more + details about the format of the device table file, see + Chapter 23, Makedev syntax documentation. + * The second solution is Dynamic using devtmpfs only. devtmpfs is a + virtual filesystem inside the Linux kernel that has been + introduced in kernel 2.6.32 (if you use an older kernel, it is + not possible to use this option). When mounted in /dev, this + virtual filesystem will automatically make device files appear + and disappear as hardware devices are added and removed from the + system. This filesystem is not persistent across reboots: it is + filled dynamically by the kernel. Using devtmpfs requires the + following kernel configuration options to be enabled: + CONFIG_DEVTMPFS and CONFIG_DEVTMPFS_MOUNT. When Buildroot is in + charge of building the Linux kernel for your embedded device, it + makes sure that those two options are enabled. However, if you + build your Linux kernel outside of Buildroot, then it is your + responsibility to enable those two options (if you fail to do so, + your Buildroot system will not boot). + * The third solution is Dynamic using devtmpfs + mdev. This method + also relies on the devtmpfs virtual filesystem detailed above (so + the requirement to have CONFIG_DEVTMPFS and CONFIG_DEVTMPFS_MOUNT + enabled in the kernel configuration still apply), but adds the + mdev userspace utility on top of it. mdev is a program part of + BusyBox that the kernel will call every time a device is added or + removed. Thanks to the /etc/mdev.conf configuration file, mdev + can be configured to for example, set specific permissions or + ownership on a device file, call a script or application whenever + a device appears or disappear, etc. Basically, it allows + userspace to react on device addition and removal events. mdev + can for example be used to automatically load kernel modules when + devices appear on the system. mdev is also important if you have + devices that require a firmware, as it will be responsible for + pushing the firmware contents to the kernel. mdev is a + lightweight implementation (with fewer features) of udev. For + more details about mdev and the syntax of its configuration file, + see http://git.busybox.net/busybox/tree/docs/mdev.txt. + * The fourth solution is Dynamic using devtmpfs + eudev. This + method also relies on the devtmpfs virtual filesystem detailed + above, but adds the eudev userspace daemon on top of it. eudev is + a daemon that runs in the background, and gets called by the + kernel when a device gets added or removed from the system. It is + a more heavyweight solution than mdev, but provides higher + flexibility. eudev is a standalone version of udev, the original + userspace daemon used in most desktop Linux distributions, which + is now part of Systemd. For more details, see http:// + en.wikipedia.org/wiki/Udev. + +The Buildroot developers recommendation is to start with the Dynamic +using devtmpfs only solution, until you have the need for userspace +to be notified when devices are added/removed, or if firmwares are +needed, in which case Dynamic using devtmpfs + mdev is usually a good +solution. + +Note that if systemd is chosen as init system, /dev management will +be performed by the udev program provided by systemd. + +6.3. init system + +The init program is the first userspace program started by the kernel +(it carries the PID number 1), and is responsible for starting the +userspace services and programs (for example: web server, graphical +applications, other network servers, etc.). + +Buildroot allows to use three different types of init systems, which +can be chosen from System configuration, Init system: + + * The first solution is BusyBox. Amongst many programs, BusyBox has + an implementation of a basic init program, which is sufficient + for most embedded systems. Enabling the BR2_INIT_BUSYBOX will + ensure BusyBox will build and install its init program. This is + the default solution in Buildroot. The BusyBox init program will + read the /etc/inittab file at boot to know what to do. The syntax + of this file can be found in http://git.busybox.net/busybox/tree/ + examples/inittab (note that BusyBox inittab syntax is special: do + not use a random inittab documentation from the Internet to learn + about BusyBox inittab). The default inittab in Buildroot is + stored in system/skeleton/etc/inittab. Apart from mounting a few + important filesystems, the main job the default inittab does is + to start the /etc/init.d/rcS shell script, and start a getty + program (which provides a login prompt). + * The second solution is systemV. This solution uses the old + traditional sysvinit program, packed in Buildroot in package/ + sysvinit. This was the solution used in most desktop Linux + distributions, until they switched to more recent alternatives + such as Upstart or Systemd. sysvinit also works with an inittab + file (which has a slightly different syntax than the one from + BusyBox). The default inittab installed with this init solution + is located in package/sysvinit/inittab. + * The third solution is systemd. systemd is the new generation init + system for Linux. It does far more than traditional init + programs: aggressive parallelization capabilities, uses socket + and D-Bus activation for starting services, offers on-demand + starting of daemons, keeps track of processes using Linux control + groups, supports snapshotting and restoring of the system state, + etc. systemd will be useful on relatively complex embedded + systems, for example the ones requiring D-Bus and services + communicating between each other. It is worth noting that systemd + brings a fairly big number of large dependencies: dbus, udev and + more. For more details about systemd, see http:// + www.freedesktop.org/wiki/Software/systemd. + +The solution recommended by Buildroot developers is to use the +BusyBox init as it is sufficient for most embedded systems. systemd +can be used for more complex situations. + + +--------------------------------------------------------------------- + +^[3] This terminology differs from what is used by GNU configure, +where the host is the machine on which the application will run +(which is usually the same as target) + +Chapter 7. Configuration of other components + +Before attempting to modify any of the components below, make sure +you have already configured Buildroot itself, and have enabled the +corresponding package. + +BusyBox + + If you already have a BusyBox configuration file, you can + directly specify this file in the Buildroot configuration, using + BR2_PACKAGE_BUSYBOX_CONFIG. Otherwise, Buildroot will start from + a default BusyBox configuration file. + + To make subsequent changes to the configuration, use make + busybox-menuconfig to open the BusyBox configuration editor. + + It is also possible to specify a BusyBox configuration file + through an environment variable, although this is not + recommended. Refer to Section 8.6, “Environment variables†for + more details. + +uClibc + Configuration of uClibc is done in the same way as for BusyBox. + The configuration variable to specify an existing configuration + file is BR2_UCLIBC_CONFIG. The command to make subsequent changes + is make uclibc-menuconfig. +Linux kernel + + If you already have a kernel configuration file, you can directly + specify this file in the Buildroot configuration, using + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG. + + If you do not yet have a kernel configuration file, you can + either start by specifying a defconfig in the Buildroot + configuration, using BR2_LINUX_KERNEL_USE_DEFCONFIG, or start by + creating an empty file and specifying it as custom configuration + file, using BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG. + + To make subsequent changes to the configuration, use make + linux-menuconfig to open the Linux configuration editor. + +Barebox + Configuration of Barebox is done in the same way as for the Linux + kernel. The corresponding configuration variables are + BR2_TARGET_BAREBOX_USE_CUSTOM_CONFIG and + BR2_TARGET_BAREBOX_USE_DEFCONFIG. To open the configuration + editor, use make barebox-menuconfig. +U-Boot + Configuration of U-Boot (version 2015.04 or newer) is done in the + same way as for the Linux kernel. The corresponding configuration + variables are BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG and + BR2_TARGET_UBOOT_USE_DEFCONFIG. To open the configuration editor, + use make uboot-menuconfig. + +Chapter 8. General Buildroot usage + +8.1. make tips + +This is a collection of tips that help you make the most of +Buildroot. + +Display all commands executed by make:  + + $ make V=1 + +Display the list of boards with a defconfig:  + + $ make list-defconfigs + +Display all available targets:  + + $ make help + +Not all targets are always available, some settings in the .config +file may hide some targets: + + * busybox-menuconfig only works when busybox is enabled; + * linux-menuconfig and linux-savedefconfig only work when linux is + enabled; + * uclibc-menuconfig is only available when the uClibc C library is + selected in the internal toolchain backend; + * barebox-menuconfig and barebox-savedefconfig only work when the + barebox bootloader is enabled. + * uboot-menuconfig and uboot-savedefconfig only work when the + U-Boot bootloader is enabled. + +Cleaning: Explicit cleaning is required when any of the architecture +or toolchain configuration options are changed. + +To delete all build products (including build directories, host, +staging and target trees, the images and the toolchain): + + $ make clean + +Generating the manual: The present manual sources are located in the +docs/manual directory. To generate the manual: + + $ make manual-clean + $ make manual + +The manual outputs will be generated in output/docs/manual. + +Notes + + * A few tools are required to build the documentation (see: + Section 2.2, “Optional packagesâ€). + +Resetting Buildroot for a new target: To delete all build products as +well as the configuration: + + $ make distclean + +Notes. If ccache is enabled, running make clean or distclean does not +empty the compiler cache used by Buildroot. To delete it, refer to +Section 8.12.3, “Using ccache in Buildrootâ€. + +Dumping the internal make variables: One can dump all the variables +known to make, along with their values: + + $ make -s printvars + VARIABLE=value_of_variable + ... + +It is possible to tweak the output using some variables: + + * VARS will limit the listing to variables which names match the + specified make-pattern + * QUOTED_VARS, if set to YES, will single-quote the value + * RAW_VARS, if set to YES, will print the unexpanded value + +For example: + + $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES + BUSYBOX_DEPENDENCIES=skeleton toolchain + BUSYBOX_FINAL_ALL_DEPENDENCIES=skeleton toolchain + BUSYBOX_FINAL_DEPENDENCIES=skeleton toolchain + BUSYBOX_FINAL_PATCH_DEPENDENCIES= + BUSYBOX_RDEPENDENCIES=ncurses util-linux + + $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES QUOTED_VARS=YES + BUSYBOX_DEPENDENCIES='skeleton toolchain' + BUSYBOX_FINAL_ALL_DEPENDENCIES='skeleton toolchain' + BUSYBOX_FINAL_DEPENDENCIES='skeleton toolchain' + BUSYBOX_FINAL_PATCH_DEPENDENCIES='' + BUSYBOX_RDEPENDENCIES='ncurses util-linux' + + $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES RAW_VARS=YES + BUSYBOX_DEPENDENCIES=skeleton toolchain + BUSYBOX_FINAL_ALL_DEPENDENCIES=$(sort $(BUSYBOX_FINAL_DEPENDENCIES) $(BUSYBOX_FINAL_PATCH_DEPENDENCIES)) + BUSYBOX_FINAL_DEPENDENCIES=$(sort $(BUSYBOX_DEPENDENCIES)) + BUSYBOX_FINAL_PATCH_DEPENDENCIES=$(sort $(BUSYBOX_PATCH_DEPENDENCIES)) + BUSYBOX_RDEPENDENCIES=ncurses util-linux + +The output of quoted variables can be reused in shell scripts, for +example: + + $ eval $(make -s printvars VARS=BUSYBOX_DEPENDENCIES QUOTED_VARS=YES) + $ echo $BUSYBOX_DEPENDENCIES + skeleton toolchain + +8.2. Understanding when a full rebuild is necessary + +Buildroot does not attempt to detect what parts of the system should +be rebuilt when the system configuration is changed through make +menuconfig, make xconfig or one of the other configuration tools. In +some cases, Buildroot should rebuild the entire system, in some +cases, only a specific subset of packages. But detecting this in a +completely reliable manner is very difficult, and therefore the +Buildroot developers have decided to simply not attempt to do this. + +Instead, it is the responsibility of the user to know when a full +rebuild is necessary. As a hint, here are a few rules of thumb that +can help you understand how to work with Buildroot: + + * When the target architecture configuration is changed, a complete + rebuild is needed. Changing the architecture variant, the binary + format or the floating point strategy for example has an impact + on the entire system. + * When the toolchain configuration is changed, a complete rebuild + generally is needed. Changing the toolchain configuration often + involves changing the compiler version, the type of C library or + its configuration, or some other fundamental configuration item, + and these changes have an impact on the entire system. + * When an additional package is added to the configuration, a full + rebuild is not necessarily needed. Buildroot will detect that + this package has never been built, and will build it. However, if + this package is a library that can optionally be used by packages + that have already been built, Buildroot will not automatically + rebuild those. Either you know which packages should be rebuilt, + and you can rebuild them manually, or you should do a full + rebuild. For example, let’s suppose you have built a system with + the ctorrent package, but without openssl. Your system works, but + you realize you would like to have SSL support in ctorrent, so + you enable the openssl package in Buildroot configuration and + restart the build. Buildroot will detect that openssl should be + built and will be build it, but it will not detect that ctorrent + should be rebuilt to benefit from openssl to add OpenSSL support. + You will either have to do a full rebuild, or rebuild ctorrent + itself. + * When a package is removed from the configuration, Buildroot does + not do anything special. It does not remove the files installed + by this package from the target root filesystem or from the + toolchain sysroot. A full rebuild is needed to get rid of this + package. However, generally you don’t necessarily need this + package to be removed right now: you can wait for the next lunch + break to restart the build from scratch. + * When the sub-options of a package are changed, the package is not + automatically rebuilt. After making such changes, rebuilding only + this package is often sufficient, unless enabling the package + sub-option adds some features to the package that are useful for + another package which has already been built. Again, Buildroot + does not track when a package should be rebuilt: once a package + has been built, it is never rebuilt unless explicitly told to do + so. + * When a change to the root filesystem skeleton is made, a full + rebuild is needed. However, when changes to the root filesystem + overlay, a post-build script or a post-image script are made, + there is no need for a full rebuild: a simple make invocation + will take the changes into account. + +Generally speaking, when you’re facing a build error and you’re +unsure of the potential consequences of the configuration changes +you’ve made, do a full rebuild. If you get the same build error, then +you are sure that the error is not related to partial rebuilds of +packages, and if this error occurs with packages from the official +Buildroot, do not hesitate to report the problem! As your experience +with Buildroot progresses, you will progressively learn when a full +rebuild is really necessary, and you will save more and more time. + +For reference, a full rebuild is achieved by running: + +$ make clean all + +8.3. Understanding how to rebuild packages + +One of the most common questions asked by Buildroot users is how to +rebuild a given package or how to remove a package without rebuilding +everything from scratch. + +Removing a package is unsupported by Buildroot without rebuilding +from scratch. This is because Buildroot doesn’t keep track of which +package installs what files in the output/staging and output/target +directories, or which package would be compiled differently depending +on the availability of another package. + +The easiest way to rebuild a single package from scratch is to remove +its build directory in output/build. Buildroot will then re-extract, +re-configure, re-compile and re-install this package from scratch. +You can ask buildroot to do this with the make -dirclean +command. + +On the other hand, if you only want to restart the build process of a +package from its compilation step, you can run make +-rebuild, followed by make or make . It will restart the +compilation and installation of the package, but not from scratch: it +basically re-executes make and make install inside the package, so it +will only rebuild files that changed. + +If you want to restart the build process of a package from its +configuration step, you can run make -reconfigure, followed +by make or make . It will restart the configuration, +compilation and installation of the package. + +Internally, Buildroot creates so-called stamp files to keep track of +which build steps have been completed for each package. They are +stored in the package build directory, output/build/- +/ and are named .stamp_. The commands detailed +above simply manipulate these stamp files to force Buildroot to +restart a specific set of steps of a package build process. + +Further details about package special make targets are explained in +Section 8.12.5, “Package-specific make targetsâ€. + +8.4. Offline builds + +If you intend to do an offline build and just want to download all +sources that you previously selected in the configurator (menuconfig, +nconfig, xconfig or gconfig), then issue: + + $ make source + +You can now disconnect or copy the content of your dl directory to +the build-host. + +8.5. Building out-of-tree + +As default, everything built by Buildroot is stored in the directory +output in the Buildroot tree. + +Buildroot also supports building out of tree with a syntax similar to +the Linux kernel. To use it, add O= to the make command +line: + + $ make O=/tmp/build + +Or: + + $ cd /tmp/build; make O=$PWD -C path/to/buildroot + +All the output files will be located under /tmp/build. If the O path +does not exist, Buildroot will create it. + +Note: the O path can be either an absolute or a relative path, but if +it’s passed as a relative path, it is important to note that it is +interpreted relative to the main Buildroot source directory, not the +current working directory. + +When using out-of-tree builds, the Buildroot .config and temporary +files are also stored in the output directory. This means that you +can safely run multiple builds in parallel using the same source tree +as long as they use unique output directories. + +For ease of use, Buildroot generates a Makefile wrapper in the output +directory - so after the first run, you no longer need to pass O=<…> +and -C <…>, simply run (in the output directory): + + $ make + +8.6. Environment variables + +Buildroot also honors some environment variables, when they are +passed to make or set in the environment: + + * HOSTCXX, the host C++ compiler to use + * HOSTCC, the host C compiler to use + * UCLIBC_CONFIG_FILE=, path to the uClibc + configuration file, used to compile uClibc, if an internal + toolchain is being built. Note that the uClibc configuration file + can also be set from the configuration interface, so through the + Buildroot .config file; this is the recommended way of setting + it. + * BUSYBOX_CONFIG_FILE=, path to the BusyBox + configuration file. Note that the BusyBox configuration file can + also be set from the configuration interface, so through the + Buildroot .config file; this is the recommended way of setting + it. + * BR2_CCACHE_DIR to override the directory where Buildroot stores + the cached files when using ccache. + * BR2_DL_DIR to override the directory in which Buildroot stores/ + retrieves downloaded files Note that the Buildroot download + directory can also be set from the configuration interface, so + through the Buildroot .config file. See Section 8.12.4, “Location + of downloaded packages†for more details on how you can set the + download directory. + * BR2_GRAPH_ALT, if set and non-empty, to use an alternate + color-scheme in build-time graphs + * BR2_GRAPH_OUT to set the filetype of generated graphs, either pdf + (the default), or png. + * BR2_GRAPH_DEPS_OPTS to pass extra options to the dependency + graph; see Section 8.8, “Graphing the dependencies between + packages†for the accepted options + * BR2_GRAPH_DOT_OPTS is passed verbatim as options to the dot + utility to draw the dependency graph. + +An example that uses config files located in the toplevel directory +and in your $HOME: + + $ make UCLIBC_CONFIG_FILE=uClibc.config BUSYBOX_CONFIG_FILE=$HOME/bb.config + +If you want to use a compiler other than the default gcc or g++ for +building helper-binaries on your host, then do + + $ make HOSTCXX=g++-4.3-HEAD HOSTCC=gcc-4.3-HEAD + +8.7. Dealing efficiently with filesystem images + +Filesystem images can get pretty big, depending on the filesystem you +choose, the number of packages, whether you provisioned free space… +Yet, some locations in the filesystems images may just be empty (e.g. +a long run of zeroes); such a file is called a sparse file. + +Most tools can handle sparse files efficiently, and will only store +or write those parts of a sparse file that are not empty. + +For example: + + * tar accepts the -S option to tell it to only store non-zero + blocks of sparse files: + + + tar cf archive.tar -S [files…] will efficiently store sparse + files in a tarball + + tar xf archive.tar -S will efficiently store sparse files + extracted from a tarball + * cp accepts the --sparse=WHEN option (WHEN is one of auto, never + or always): + + + cp --sparse=always source.file dest.file will make dest.file + a sparse file if source.file has long runs of zeroes + +Other tools may have similar options. Please consult their respective +man pages. + +You can use sparse files if you need to store the filesystem images +(e.g. to transfer from one machine to another), or if you need to +send them (e.g. to the Q&A team). + +Note however that flashing a filesystem image to a device while using +the sparse mode of dd may result in a broken filesystem (e.g. the +block bitmap of an ext2 filesystem may be corrupted; or, if you have +sparse files in your filesystem, those parts may not be all-zeroes +when read back). You should only use sparse files when handling files +on the build machine, not when transferring them to an actual device +that will be used on the target. + +8.8. Graphing the dependencies between packages + +One of Buildroot’s jobs is to know the dependencies between packages, +and make sure they are built in the right order. These dependencies +can sometimes be quite complicated, and for a given system, it is +often not easy to understand why such or such package was brought +into the build by Buildroot. + +In order to help understanding the dependencies, and therefore better +understand what is the role of the different components in your +embedded Linux system, Buildroot is capable of generating dependency +graphs. + +To generate a dependency graph of the full system you have compiled, +simply run: + +make graph-depends + +You will find the generated graph in output/graphs/graph-depends.pdf. + +If your system is quite large, the dependency graph may be too +complex and difficult to read. It is therefore possible to generate +the dependency graph just for a given package: + +make -graph-depends + +You will find the generated graph in output/graph/ +-graph-depends.pdf. + +Note that the dependency graphs are generated using the dot tool from +the Graphviz project, which you must have installed on your system to +use this feature. In most distributions, it is available as the +graphviz package. + +By default, the dependency graphs are generated in the PDF format. +However, by passing the BR2_GRAPH_OUT environment variable, you can +switch to other output formats, such as PNG, PostScript or SVG. All +formats supported by the -T option of the dot tool are supported. + +BR2_GRAPH_OUT=svg make graph-depends + +The graph-depends behaviour can be controlled by setting options in +the BR2_GRAPH_DEPS_OPTS environment variable. The accepted options +are: + + * --depth N, -d N, to limit the dependency depth to N levels. The + default, 0, means no limit. + * --stop-on PKG, -s PKG, to stop the graph on the package PKG. PKG + can be an actual package name, a glob, the keyword virtual (to + stop on virtual packages), or the keyword host (to stop on host + packages). The package is still present on the graph, but its + dependencies are not. + * --exclude PKG, -x PKG, like --stop-on, but also omits PKG from + the graph. + * --transitive, --no-transitive, to draw (or not) the transitive + dependencies. The default is to not draw transitive dependencies. + * --colours R,T,H, the comma-separated list of colours to draw the + root package (R), the target packages (T) and the host packages + (H). Defaults to: lightblue,grey,gainsboro + +BR2_GRAPH_DEPS_OPTS='-d 3 --no-transitive --colours=red,green,blue' make graph-depends + +8.9. Graphing the build duration + +When the build of a system takes a long time, it is sometimes useful +to be able to understand which packages are the longest to build, to +see if anything can be done to speed up the build. In order to help +such build time analysis, Buildroot collects the build time of each +step of each package, and allows to generate graphs from this data. + +To generate the build time graph after a build, run: + +make graph-build + +This will generate a set of files in output/graphs : + + * build.hist-build.pdf, a histogram of the build time for each + package, ordered in the build order. + * build.hist-duration.pdf, a histogram of the build time for each + package, ordered by duration (longest first) + * build.hist-name.pdf, a histogram of the build time for each + package, order by package name. + * build.pie-packages.pdf, a pie chart of the build time per package + * build.pie-steps.pdf, a pie chart of the global time spent in each + step of the packages build process. + +This graph-build target requires the Python Matplotlib and Numpy +libraries to be installed (python-matplotlib and python-numpy on most +distributions), and also the argparse module if you’re using a Python +version older than 2.7 (python-argparse on most distributions). + +By default, the output format for the graph is PDF, but a different +format can be selected using the BR2_GRAPH_OUT environment variable. +The only other format supported is PNG: + +BR2_GRAPH_OUT=png make graph-build + +8.10. Graphing the filesystem size contribution of packages + +When your target system grows, it is sometimes useful to understand +how much each Buildroot package is contributing to the overall root +filesystem size. To help with such an analysis, Buildroot collects +data about files installed by each package and using this data, +generates a graph and CSV files detailing the size contribution of +the different packages. + +To generate these data after a build, run: + +make graph-size + +This will generate: + + * output/graphs/graph-size.pdf, a pie chart of the contribution of + each package to the overall root filesystem size + * output/graphs/package-size-stats.csv, a CSV file giving the size + contribution of each package to the overall root filesystem size + * output/graphs/file-size-stats.csv, a CSV file giving the size + contribution of each installed file to the package it belongs, + and to the overall filesystem size. + +This graph-size target requires the Python Matplotlib library to be +installed (python-matplotlib on most distributions), and also the +argparse module if you’re using a Python version older than 2.7 +(python-argparse on most distributions). + +Just like for the duration graph, a BR2_GRAPH_OUT environment is +supported to adjust the output file format. See Section 8.8, +“Graphing the dependencies between packages†for details about this +environment variable. + +Note. The collected filesystem size data is only meaningful after a +complete clean rebuild. Be sure to run make clean all before using +make graph-size. + +To compare the root filesystem size of two different Buildroot +compilations, for example after adjusting the configuration or when +switching to another Buildroot release, use the size-stats-compare +script. It takes two file-size-stats.csv files (produced by make +graph-size) as input. Refer to the help text of this script for more +details: + +utils/size-stats-compare -h + +8.11. Integration with Eclipse + +While a part of the embedded Linux developers like classical text +editors like Vim or Emacs, and command-line based interfaces, a +number of other embedded Linux developers like richer graphical +interfaces to do their development work. Eclipse being one of the +most popular Integrated Development Environment, Buildroot integrates +with Eclipse in order to ease the development work of Eclipse users. + +Our integration with Eclipse simplifies the compilation, remote +execution and remote debugging of applications and libraries that are +built on top of a Buildroot system. It does not integrate the +Buildroot configuration and build processes themselves with Eclipse. +Therefore, the typical usage model of our Eclipse integration would +be: + + * Configure your Buildroot system with make menuconfig, make + xconfig or any other configuration interface provided with + Buildroot. + * Build your Buildroot system by running make. + * Start Eclipse to develop, execute and debug your own custom + applications and libraries, that will rely on the libraries built + and installed by Buildroot. + +The Buildroot Eclipse integration installation process and usage is +described in detail at https://github.com/mbats/ +eclipse-buildroot-bundle/wiki. + +8.12. Advanced usage + +8.12.1. Using the generated toolchain outside Buildroot + +You may want to compile, for your target, your own programs or other +software that are not packaged in Buildroot. In order to do this you +can use the toolchain that was generated by Buildroot. + +The toolchain generated by Buildroot is located by default in output/ +host/. The simplest way to use it is to add output/host/bin/ to your +PATH environment variable and then to use ARCH-linux-gcc, +ARCH-linux-objdump, ARCH-linux-ld, etc. + +It is possible to relocate the toolchain - but then --sysroot must be +passed every time the compiler is called to tell where the libraries +and header files are. + +It is also possible to generate the Buildroot toolchain in a +directory other than output/host by using the Build options → Host +dir option. This could be useful if the toolchain must be shared with +other users. + +8.12.2. Using gdb in Buildroot + +Buildroot allows to do cross-debugging, where the debugger runs on +the build machine and communicates with gdbserver on the target to +control the execution of the program. + +To achieve this: + + * If you are using an internal toolchain (built by Buildroot), you + must enable BR2_PACKAGE_HOST_GDB, BR2_PACKAGE_GDB and + BR2_PACKAGE_GDB_SERVER. This ensures that both the cross gdb and + gdbserver get built, and that gdbserver gets installed to your + target. + * If you are using an external toolchain, you should enable + BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY, which will copy the + gdbserver included with the external toolchain to the target. If + your external toolchain does not have a cross gdb or gdbserver, + it is also possible to let Buildroot build them, by enabling the + same options as for the internal toolchain backend. + +Now, to start debugging a program called foo, you should run on the +target: + +gdbserver :2345 foo + +This will cause gdbserver to listen on TCP port 2345 for a connection +from the cross gdb. + +Then, on the host, you should start the cross gdb using the following +command line: + +/output/host/bin/-gdb -x /output/staging/usr/share/buildroot/gdbinit foo + +Of course, foo must be available in the current directory, built with +debugging symbols. Typically you start this command from the +directory where foo is built (and not from output/target/ as the +binaries in that directory are stripped). + +The /output/staging/usr/share/buildroot/gdbinit file will +tell the cross gdb where to find the libraries of the target. + +Finally, to connect to the target from the cross gdb: + +(gdb) target remote :2345 + +8.12.3. Using ccache in Buildroot + +ccache [http://ccache.samba.org] is a compiler cache. It stores the +object files resulting from each compilation process, and is able to +skip future compilation of the same source file (with same compiler +and same arguments) by using the pre-existing object files. When +doing almost identical builds from scratch a number of times, it can +nicely speed up the build process. + +ccache support is integrated in Buildroot. You just have to enable +Enable compiler cache in Build options. This will automatically build +ccache and use it for every host and target compilation. + +The cache is located in $HOME/.buildroot-ccache. It is stored outside +of Buildroot output directory so that it can be shared by separate +Buildroot builds. If you want to get rid of the cache, simply remove +this directory. + +You can get statistics on the cache (its size, number of hits, +misses, etc.) by running make ccache-stats. + +The make target ccache-options and the CCACHE_OPTIONS variable +provide more generic access to the ccache. For example + +# set cache limit size +make CCACHE_OPTIONS="--max-size=5G" ccache-options + +# zero statistics counters +make CCACHE_OPTIONS="--zero-stats" ccache-options + +ccache makes a hash of the source files and of the compiler options. +If a compiler option is different, the cached object file will not be +used. Many compiler options, however, contain an absolute path to the +staging directory. Because of this, building in a different output +directory would lead to many cache misses. + +To avoid this issue, buildroot has the Use relative paths option +(BR2_CCACHE_USE_BASEDIR). This will rewrite all absolute paths that +point inside the output directory into relative paths. Thus, changing +the output directory no longer leads to cache misses. + +A disadvantage of the relative paths is that they also end up to be +relative paths in the object file. Therefore, for example, the +debugger will no longer find the file, unless you cd to the output +directory first. + +See the ccache manual’s section on "Compiling in different +directories" [https://ccache.samba.org/manual.html# +_compiling_in_different_directories] for more details about this +rewriting of absolute paths. + +8.12.4. Location of downloaded packages + +The various tarballs that are downloaded by Buildroot are all stored +in BR2_DL_DIR, which by default is the dl directory. If you want to +keep a complete version of Buildroot which is known to be working +with the associated tarballs, you can make a copy of this directory. +This will allow you to regenerate the toolchain and the target +filesystem with exactly the same versions. + +If you maintain several Buildroot trees, it might be better to have a +shared download location. This can be achieved by pointing the +BR2_DL_DIR environment variable to a directory. If this is set, then +the value of BR2_DL_DIR in the Buildroot configuration is overridden. +The following line should be added to <~/.bashrc>. + + export BR2_DL_DIR= + +The download location can also be set in the .config file, with the +BR2_DL_DIR option. Unlike most options in the .config file, this +value is overridden by the BR2_DL_DIR environment variable. + +8.12.5. Package-specific make targets + +Running make builds and installs that particular package +and its dependencies. + +For packages relying on the Buildroot infrastructure, there are +numerous special make targets that can be called independently like +this: + +make - + +The package build targets are (in the order they are executed): + ++------------------------------------------------------------+ +|command/target |Description | +|---------------+--------------------------------------------| +| source |Fetch the source (download the tarball, | +| |clone the source repository, etc) | +|---------------+--------------------------------------------| +| depends |Build and install all dependencies required | +| |to build the package | +|---------------+--------------------------------------------| +| extract |Put the source in the package build | +| |directory (extract the tarball, copy the | +| |source, etc) | +|---------------+--------------------------------------------| +| patch |Apply the patches, if any | +|---------------+--------------------------------------------| +| configure |Run the configure commands, if any | +|---------------+--------------------------------------------| +| build |Run the compilation commands | +|---------------+--------------------------------------------| +|install-staging|target package: Run the installation of the | +| |package in the staging directory, if | +| |necessary | +|---------------+--------------------------------------------| +|install-target |target package: Run the installation of the | +| |package in the target directory, if | +| |necessary | +|---------------+--------------------------------------------| +| install |target package: Run the 2 previous | +| |installation commands | +| | | +| |host package: Run the installation of the | +| |package in the host directory | ++------------------------------------------------------------+ + +Additionally, there are some other useful make targets: + ++------------------------------------------------------------+ +| command/ |Description | +| target | | +|-------------+----------------------------------------------| +|show-depends |Displays the dependencies required to build | +| |the package | +|-------------+----------------------------------------------| +|graph-depends|Generate a dependency graph of the package, in| +| |the context of the current Buildroot | +| |configuration. See this section Section 8.8, | +| |“Graphing the dependencies between packages†| +| |for more details about dependency graphs. | +|-------------+----------------------------------------------| +| dirclean |Remove the whole package build directory | +|-------------+----------------------------------------------| +| reinstall |Re-run the install commands | +|-------------+----------------------------------------------| +| rebuild |Re-run the compilation commands - this only | +| |makes sense when using the OVERRIDE_SRCDIR | +| |feature or when you modified a file directly | +| |in the build directory | +|-------------+----------------------------------------------| +| reconfigure |Re-run the configure commands, then rebuild - | +| |this only makes sense when using the | +| |OVERRIDE_SRCDIR feature or when you modified a| +| |file directly in the build directory | ++------------------------------------------------------------+ + +8.12.6. Using Buildroot during development + +The normal operation of Buildroot is to download a tarball, extract +it, configure, compile and install the software component found +inside this tarball. The source code is extracted in output/build/ +-, which is a temporary directory: whenever make +clean is used, this directory is entirely removed, and re-created at +the next make invocation. Even when a Git or Subversion repository is +used as the input for the package source code, Buildroot creates a +tarball out of it, and then behaves as it normally does with +tarballs. + +This behavior is well-suited when Buildroot is used mainly as an +integration tool, to build and integrate all the components of an +embedded Linux system. However, if one uses Buildroot during the +development of certain components of the system, this behavior is not +very convenient: one would instead like to make a small change to the +source code of one package, and be able to quickly rebuild the system +with Buildroot. + +Making changes directly in output/build/- is not an +appropriate solution, because this directory is removed on make +clean. + +Therefore, Buildroot provides a specific mechanism for this use case: +the _OVERRIDE_SRCDIR mechanism. Buildroot reads an override +file, which allows the user to tell Buildroot the location of the +source for certain packages. By default this override file is named +local.mk and located in the top directory of the Buildroot source +tree, but a different location can be specified through the +BR2_PACKAGE_OVERRIDE_FILE configuration option. + +In this override file, Buildroot expects to find lines of the form: + +_OVERRIDE_SRCDIR = /path/to/pkg1/sources +_OVERRIDE_SRCDIR = /path/to/pkg2/sources + +For example: + +LINUX_OVERRIDE_SRCDIR = /home/bob/linux/ +BUSYBOX_OVERRIDE_SRCDIR = /home/bob/busybox/ + +When Buildroot finds that for a given package, an +_OVERRIDE_SRCDIR has been defined, it will no longer attempt to +download, extract and patch the package. Instead, it will directly +use the source code available in the specified directory and make +clean will not touch this directory. This allows to point Buildroot +to your own directories, that can be managed by Git, Subversion, or +any other version control system. To achieve this, Buildroot will use +rsync to copy the source code of the component from the specified +_OVERRIDE_SRCDIR to output/build/-custom/. + +This mechanism is best used in conjunction with the make +-rebuild and make -reconfigure targets. A make -rebuild all +sequence will rsync the source code from _OVERRIDE_SRCDIR to +output/build/-custom (thanks to rsync, only the modified +files are copied), and restart the build process of just this +package. + +In the example of the linux package above, the developer can then +make a source code change in /home/bob/linux and then run: + +make linux-rebuild all + +and in a matter of seconds gets the updated Linux kernel image in +output/images. Similarly, a change can be made to the BusyBox source +code in /home/bob/busybox, and after: + +make busybox-rebuild all + +the root filesystem image in output/images contains the updated +BusyBox. + +Chapter 9. Project-specific customization + +Typical actions you may need to perform for a given project are: + + * configuring Buildroot (including build options and toolchain, + bootloader, kernel, package and filesystem image type selection) + * configuring other components, like the Linux kernel and BusyBox + * customizing the generated target filesystem + + + adding or overwriting files on the target filesystem (using + BR2_ROOTFS_OVERLAY) + + modifying or deleting files on the target filesystem (using + BR2_ROOTFS_POST_BUILD_SCRIPT) + + running arbitrary commands prior to generating the filesystem + image (using BR2_ROOTFS_POST_BUILD_SCRIPT) + + setting file permissions and ownership (using + BR2_ROOTFS_DEVICE_TABLE) + + adding custom devices nodes (using + BR2_ROOTFS_STATIC_DEVICE_TABLE) + * adding custom user accounts (using BR2_ROOTFS_USERS_TABLES) + * running arbitrary commands after generating the filesystem image + (using BR2_ROOTFS_POST_IMAGE_SCRIPT) + * adding project-specific patches to some packages (using + BR2_GLOBAL_PATCH_DIR) + * adding project-specific packages + +An important note regarding such project-specific customizations: +please carefully consider which changes are indeed project-specific +and which changes are also useful to developers outside your project. +The Buildroot community highly recommends and encourages the +upstreaming of improvements, packages and board support to the +official Buildroot project. Of course, it is sometimes not possible +or desirable to upstream because the changes are highly specific or +proprietary. + +This chapter describes how to make such project-specific +customizations in Buildroot and how to store them in a way that you +can build the same image in a reproducible way, even after running +make clean. By following the recommended strategy, you can even use +the same Buildroot tree to build multiple distinct projects! + +9.1. Recommended directory structure + +When customizing Buildroot for your project, you will be creating one +or more project-specific files that need to be stored somewhere. +While most of these files could be placed in any location as their +path is to be specified in the Buildroot configuration, the Buildroot +developers recommend a specific directory structure which is +described in this section. + +Orthogonal to this directory structure, you can choose where you +place this structure itself: either inside the Buildroot tree, or +outside of it using a br2-external tree. Both options are valid, the +choice is up to you. + ++-- board/ +| +-- / +| +-- / +| +-- linux.config +| +-- busybox.config +| +-- +| +-- post_build.sh +| +-- post_image.sh +| +-- rootfs_overlay/ +| | +-- etc/ +| | +-- +| +-- patches/ +| +-- foo/ +| | +-- +| +-- libbar/ +| +-- +| ++-- configs/ +| +-- _defconfig +| ++-- package/ +| +-- / +| +-- Config.in (if not using a br2-external tree) +| +-- .mk (if not using a br2-external tree) +| +-- package1/ +| | +-- Config.in +| | +-- package1.mk +| +-- package2/ +| +-- Config.in +| +-- package2.mk +| ++-- Config.in (if using a br2-external tree) ++-- external.mk (if using a br2-external tree) + +Details on the files shown above are given further in this chapter. + +Note: if you choose to place this structure outside of the Buildroot +tree but in a br2-external tree, the and possibly + components may be superfluous and can be left out. + +9.1.1. Implementing layered customizations + +It is quite common for a user to have several related projects that +partly need the same customizations. Instead of duplicating these +customizations for each project, it is recommended to use a layered +customization approach, as explained in this section. + +Almost all of the customization methods available in Buildroot, like +post-build scripts and root filesystem overlays, accept a +space-separated list of items. The specified items are always treated +in order, from left to right. By creating more than one such item, +one for the common customizations and another one for the really +project-specific customizations, you can avoid unnecessary +duplication. Each layer is typically embodied by a separate directory +inside board//. Depending on your projects, you could even +introduce more than two layers. + +An example directory structure for where a user has two customization +layers common and fooboard is: + ++-- board/ + +-- / + +-- common/ + | +-- post_build.sh + | +-- rootfs_overlay/ + | | +-- ... + | +-- patches/ + | +-- ... + | + +-- fooboard/ + +-- linux.config + +-- busybox.config + +-- + +-- post_build.sh + +-- rootfs_overlay/ + | +-- ... + +-- patches/ + +-- ... + +For example, if the user has the BR2_GLOBAL_PATCH_DIR configuration +option set as: + +BR2_GLOBAL_PATCH_DIR="board//common/patches board//fooboard/patches" + +then first the patches from the common layer would be applied, +followed by the patches from the fooboard layer. + +9.2. Keeping customizations outside of Buildroot + +As already briefly mentioned in Section 9.1, “Recommended directory +structureâ€, you can place project-specific customizations in two +locations: + + * directly within the Buildroot tree, typically maintaining them + using branches in a version control system so that upgrading to a + newer Buildroot release is easy. + * outside of the Buildroot tree, using the br2-external mechanism. + This mechanism allows to keep package recipes, board support and + configuration files outside of the Buildroot tree, while still + having them nicely integrated in the build logic. We call this + location a br2-external tree. This section explains how to use + the br2-external mechanism and what to provide in a br2-external + tree. + +One can tell Buildroot to use one or more br2-external trees by +setting the BR2_EXTERNAL make variable set to the path(s) of the +br2-external tree(s) to use. It can be passed to any Buildroot make +invocation. It is automatically saved in the hidden .br-external.mk +file in the output directory. Thanks to this, there is no need to +pass BR2_EXTERNAL at every make invocation. It can however be changed +at any time by passing a new value, and can be removed by passing an +empty value. + +Note. The path to a br2-external tree can be either absolute or +relative. If it is passed as a relative path, it is important to note +that it is interpreted relative to the main Buildroot source +directory, not to the Buildroot output directory. + +Note: If using an br2-external tree from before Buildroot 2016.11, +you need to convert it before you can use it with Buildroot 2016.11 +onward. See Section 25.1, “Migrating to 2016.11†for help on doing +so. + +Some examples: + +buildroot/ $ make BR2_EXTERNAL=/path/to/foo menuconfig + +From now on, definitions from the /path/to/foo br2-external tree will +be used: + +buildroot/ $ make +buildroot/ $ make legal-info + +We can switch to another br2-external tree at any time: + +buildroot/ $ make BR2_EXTERNAL=/where/we/have/bar xconfig + +We can also use multiple br2-external trees: + +buildroot/ $ make BR2_EXTERNAL=/path/to/foo:/where/we/have/bar menuconfig + +Or disable the usage of any br2-external tree: + +buildroot/ $ make BR2_EXTERNAL= xconfig + +9.2.1. Layout of a br2-external tree + +A br2-external tree must contain at least those three files, +described in the following chapters: + + * external.desc + * external.mk + * Config.in + +Apart from those mandatory files, there may be additional and +optional content that may be present in a br2-external tree, like the +configs/ directory. They are described in the following chapters as +well. + +A complete example br2-external tree layout is also described later. + +9.2.1.1. The external.desc file + +That file describes the br2-external tree: the name and description +for that br2-external tree. + +The format for this file is line based, with each line starting by a +keyword, followed by a colon and one or more spaces, followed by the +value assigned to that keyword. There are two keywords currently +recognised: + + * name, mandatory, defines the name for that br2-external tree. + That name must only use ASCII characters in the set [A-Za-z0-9_]; + any other character is forbidden. Buildroot sets the variable + BR2_EXTERNAL_$(NAME)_PATH to the absolute path of the + br2-external tree, so that you can use it to refer to your + br2-external tree. This variable is available both in Kconfig, so + you can use it to source your Kconfig files (see below) and in + the Makefile, so that you can use it to include other Makefiles + (see below) or refer to other files (like data files) from your + br2-external tree. + + Note: Since it is possible to use multiple br2-external trees at + once, this name is used by Buildroot to generate variables for + each of those trees. That name is used to identify your + br2-external tree, so try to come up with a name that really + describes your br2-external tree, in order for it to be + relatively unique, so that it does not clash with another name + from another br2-external tree, especially if you are planning on + somehow sharing your br2-external tree with third parties or + using br2-external trees from third parties. + + * desc, optional, provides a short description for that + br2-external tree. It shall fit on a single line, is mostly + free-form (see below), and is used when displaying information + about a br2-external tree (e.g. above the list of defconfig + files, or as the prompt in the menuconfig); as such, it should + relatively brief (40 chars is probably a good upper limit). The + description is available in the BR2_EXTERNAL_$(NAME)_DESC + variable. + +Examples of names and the corresponding BR2_EXTERNAL_$(NAME)_PATH +variables: + + * FOO → BR2_EXTERNAL_FOO_PATH + * BAR_42 → BR2_EXTERNAL_BAR_42_PATH + +In the following examples, it is assumed the name to be set to +BAR_42. + +Note: Both BR2_EXTERNAL_$(NAME)_PATH and BR2_EXTERNAL_$(NAME)_DESC +are available in the Kconfig files and the Makefiles. They are also +exported in the environment so are available in post-build, +post-image and in-fakeroot scripts. + +9.2.1.2. The Config.in and external.mk files + +Those files (which may each be empty) can be used to define package +recipes (i.e. foo/Config.in and foo/foo.mk like for packages bundled +in Buildroot itself) or other custom configuration options or make +logic. + +Buildroot automatically includes the Config.in from each br2-external +tree to make it appear in the top-level configuration menu, and +includes the external.mk from each br2-external tree with the rest of +the makefile logic. + +The main usage of this is to store package recipes. The recommended +way to do this is to write a Config.in file that looks like: + +source "$BR2_EXTERNAL_BAR_42_PATH/package/package1/Config.in" +source "$BR2_EXTERNAL_BAR_42_PATH/package/package2/Config.in" + +Then, have an external.mk file that looks like: + +include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/package/*/*.mk)) + +And then in $(BR2_EXTERNAL_BAR_42_PATH)/package/package1 and $ +(BR2_EXTERNAL_BAR_42_PATH)/package/package2 create normal Buildroot +package recipes, as explained in Chapter 17, Adding new packages to +Buildroot. If you prefer, you can also group the packages in +subdirectories called and adapt the above paths +accordingly. + +You can also define custom configuration options in Config.in and +custom make logic in external.mk. + +9.2.1.3. The configs/ directory + +One can store Buildroot defconfigs in the configs subdirectory of the +br2-external tree. Buildroot will automatically show them in the +output of make list-defconfigs and allow them to be loaded with the +normal make _defconfig command. They will be visible in the +make list-defconfigs output, below an External configs label that +contains the name of the br2-external tree they are defined in. + +Note: If a defconfig file is present in more than one br2-external +tree, then the one from the last br2-external tree is used. It is +thus possible to override a defconfig bundled in Buildroot or another +br2-external tree. + +9.2.1.4. Free-form content + +One can store all the board-specific configuration files there, such +as the kernel configuration, the root filesystem overlay, or any +other configuration file for which Buildroot allows to set the +location (by using the BR2_EXTERNAL_$(NAME)_PATH variable). For +example, you could set the paths to a global patch directory, to a +rootfs overlay and to the kernel configuration file as follows (e.g. +by running make menuconfig and filling in these options): + +BR2_GLOBAL_PATCH_DIR=$(BR2_EXTERNAL_BAR_42_PATH)/patches/ +BR2_ROOTFS_OVERLAY=$(BR2_EXTERNAL_BAR_42_PATH)/board//overlay/ +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE=$(BR2_EXTERNAL_BAR_42_PATH)/board//kernel.config + +9.2.1.5. Example layout + +Here is an example layout using all features of br2-external (the +sample content is shown for the file above it, when it is relevant to +explain the br2-external tree; this is all entirely made up just for +the sake of illustration, of course): + +/path/to/br2-ext-tree/ + |- external.desc + | |name: BAR_42 + | |desc: Example br2-external tree + | `---- + | + |- Config.in + | |source "$BR2_EXTERNAL_BAR_42_PATH/package/pkg-1/Config.in" + | |source "$BR2_EXTERNAL_BAR_42_PATH/package/pkg-2/Config.in" + | | + | |config BAR_42_FLASH_ADDR + | | hex "my-board flash address" + | | default 0x10AD + | `---- + | + |- external.mk + | |include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/package/*/*.mk)) + | | + | |flash-my-board: + | | $(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/flash-image \ + | | --image $(BINARIES_DIR)/image.bin \ + | | --address $(BAR_42_FLASH_ADDR) + | `---- + | + |- package/pkg-1/Config.in + | |config BR2_PACKAGE_PKG_1 + | | bool "pkg-1" + | | help + | | Some help about pkg-1 + | `---- + |- package/pkg-1/pkg-1.hash + |- package/pkg-1/pkg-1.mk + | |PKG_1_VERSION = 1.2.3 + | |PKG_1_SITE = /some/where/to/get/pkg-1 + | |PKG_1_LICENSE = blabla + | | + | |define PKG_1_INSTALL_INIT_SYSV + | | $(INSTALL) -D -m 0755 $(PKG_1_PKGDIR)/S99my-daemon \ + | | $(TARGET_DIR)/etc/init.d/S99my-daemon + | |endef + | | + | |$(eval $(autotools-package)) + | `---- + |- package/pkg-1/S99my-daemon + | + |- package/pkg-2/Config.in + |- package/pkg-2/pkg-2.hash + |- package/pkg-2/pkg-2.mk + | + |- configs/my-board_defconfig + | |BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_BAR_42_PATH)/patches/" + | |BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/overlay/" + | |BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/post-image.sh" + | |BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/kernel.config" + | `---- + | + |- patches/linux/0001-some-change.patch + |- patches/linux/0002-some-other-change.patch + |- patches/busybox/0001-fix-something.patch + | + |- board/my-board/kernel.config + |- board/my-board/overlay/var/www/index.html + |- board/my-board/overlay/var/www/my.css + |- board/my-board/flash-image + `- board/my-board/post-image.sh + |#!/bin/sh + |generate-my-binary-image \ + | --root ${BINARIES_DIR}/rootfs.tar \ + | --kernel ${BINARIES_DIR}/zImage \ + | --dtb ${BINARIES_DIR}/my-board.dtb \ + | --output ${BINARIES_DIR}/image.bin + `---- + +The br2-external tree will then be visible in the menuconfig (with +the layout expanded): + +External options ---> + *** Example br2-external tree (in /path/to/br2-ext-tree/) + [ ] pkg-1 + [ ] pkg-2 + (0x10AD) my-board flash address + +If you are using more than one br2-external tree, it would look like +(with the layout expanded and the second one with name FOO_27 but no +desc: field in external.desc): + +External options ---> + Example br2-external tree ---> + *** Example br2-external tree (in /path/to/br2-ext-tree) + [ ] pkg-1 + [ ] pkg-2 + (0x10AD) my-board flash address + FOO_27 ---> + *** FOO_27 (in /path/to/another-br2-ext) + [ ] foo + [ ] bar + +9.3. Storing the Buildroot configuration + +The Buildroot configuration can be stored using the command make +savedefconfig. + +This strips the Buildroot configuration down by removing +configuration options that are at their default value. The result is +stored in a file called defconfig. If you want to save it in another +place, change the BR2_DEFCONFIG option in the Buildroot configuration +itself, or call make with make savedefconfig BR2_DEFCONFIG= +. + +The recommended place to store this defconfig is configs/ +_defconfig. If you follow this recommendation, the configuration will +be listed in make help and can be set again by running make +_defconfig. + +Alternatively, you can copy the file to any other place and rebuild +with make defconfig BR2_DEFCONFIG=. + +9.4. Storing the configuration of other components + +The configuration files for BusyBox, the Linux kernel, Barebox, +U-Boot and uClibc should be stored as well if changed. For each of +these components, a Buildroot configuration option exists to point to +an input configuration file, e.g. +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE. To store their configuration, +set these configuration options to a path where you want to save the +configuration files, and then use the helper targets described below +to actually store the configuration. + +As explained in Section 9.1, “Recommended directory structureâ€, the +recommended path to store these configuration files is board/ +//foo.config. + +Make sure that you create a configuration file before changing the +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE etc. options. Otherwise, +Buildroot will try to access this config file, which doesn’t exist +yet, and will fail. You can create the configuration file by running +make linux-menuconfig etc. + +Buildroot provides a few helper targets to make the saving of +configuration files easier. + + * make linux-update-defconfig saves the linux configuration to the + path specified by BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE. It + simplifies the config file by removing default values. However, + this only works with kernels starting from 2.6.33. For earlier + kernels, use make linux-update-config. + * make busybox-update-config saves the busybox configuration to the + path specified by BR2_PACKAGE_BUSYBOX_CONFIG. + * make uclibc-update-config saves the uClibc configuration to the + path specified by BR2_UCLIBC_CONFIG. + * make barebox-update-defconfig saves the barebox configuration to + the path specified by BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE. + * make uboot-update-defconfig saves the U-Boot configuration to the + path specified by BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE. + * For at91bootstrap3, no helper exists so you have to copy the + config file manually to + BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE. + +9.5. Customizing the generated target filesystem + +Besides changing the configuration through make *config, there are a +few other ways to customize the resulting target filesystem. + +The two recommended methods, which can co-exist, are root filesystem +overlay(s) and post build script(s). + +Root filesystem overlays (BR2_ROOTFS_OVERLAY) + + A filesystem overlay is a tree of files that is copied directly + over the target filesystem after it has been built. To enable + this feature, set config option BR2_ROOTFS_OVERLAY (in the System + configuration menu) to the root of the overlay. You can even + specify multiple overlays, space-separated. If you specify a + relative path, it will be relative to the root of the Buildroot + tree. Hidden directories of version control systems, like .git, + .svn, .hg, etc., files called .empty and files ending in ~ are + excluded from the copy. + + As shown in Section 9.1, “Recommended directory structureâ€, the + recommended path for this overlay is board/// + rootfs-overlay. + +Post-build scripts (BR2_ROOTFS_POST_BUILD_SCRIPT) + + Post-build scripts are shell scripts called after Buildroot + builds all the selected software, but before the rootfs images + are assembled. To enable this feature, specify a space-separated + list of post-build scripts in config option + BR2_ROOTFS_POST_BUILD_SCRIPT (in the System configuration menu). + If you specify a relative path, it will be relative to the root + of the Buildroot tree. + + Using post-build scripts, you can remove or modify any file in + your target filesystem. You should, however, use this feature + with care. Whenever you find that a certain package generates + wrong or unneeded files, you should fix that package rather than + work around it with some post-build cleanup scripts. + + As shown in Section 9.1, “Recommended directory structureâ€, the + recommended path for this script is board/// + post_build.sh. + + The post-build scripts are run with the main Buildroot tree as + current working directory. The path to the target filesystem is + passed as the first argument to each script. If the config option + BR2_ROOTFS_POST_SCRIPT_ARGS is not empty, these arguments will be + passed to the script too. All the scripts will be passed the + exact same set of arguments, it is not possible to pass different + sets of arguments to each script. + + In addition, you may also use these environment variables: + + + BR2_CONFIG: the path to the Buildroot .config file + + HOST_DIR, STAGING_DIR, TARGET_DIR: see Section 17.5.2, + “generic-package reference†+ + BUILD_DIR: the directory where packages are extracted and + built + + BINARIES_DIR: the place where all binary files (aka images) + are stored + + BASE_DIR: the base output directory + +Below three more methods of customizing the target filesystem are +described, but they are not recommended. + +Direct modification of the target filesystem + + For temporary modifications, you can modify the target filesystem + directly and rebuild the image. The target filesystem is + available under output/target/. After making your changes, run + make to rebuild the target filesystem image. + + This method allows you to do anything to the target filesystem, + but if you need to clean your Buildroot tree using make clean, + these changes will be lost. Such cleaning is necessary in several + cases, refer to Section 8.2, “Understanding when a full rebuild + is necessary†for details. This solution is therefore only useful + for quick tests: changes do not survive the make clean command. + Once you have validated your changes, you should make sure that + they will persist after a make clean, using a root filesystem + overlay or a post-build script. + +Custom target skeleton (BR2_ROOTFS_SKELETON_CUSTOM) + + The root filesystem image is created from a target skeleton, on + top of which all packages install their files. The skeleton is + copied to the target directory output/target before any package + is built and installed. The default target skeleton provides the + standard Unix filesystem layout and some basic init scripts and + configuration files. + + If the default skeleton (available under system/skeleton) does + not match your needs, you would typically use a root filesystem + overlay or post-build script to adapt it. However, if the default + skeleton is entirely different than what you need, using a custom + skeleton may be more suitable. + + To enable this feature, enable config option + BR2_ROOTFS_SKELETON_CUSTOM and set + BR2_ROOTFS_SKELETON_CUSTOM_PATH to the path of your custom + skeleton. Both options are available in the System configuration + menu. If you specify a relative path, it will be relative to the + root of the Buildroot tree. + + This method is not recommended because it duplicates the entire + skeleton, which prevents taking advantage of the fixes or + improvements brought to the default skeleton in later Buildroot + releases. + +Post-fakeroot scripts (BR2_ROOTFS_POST_FAKEROOT_SCRIPT) + + When aggregating the final images, some parts of the process + requires root rights: creating device nodes in /dev, setting + permissions or ownership to files and directories… To avoid + requiring actual root rights, Buildroot uses fakeroot to simulate + root rights. This is not a complete substitute for actually being + root, but is enough for what Buildroot needs. + + Post-fakeroot scripts are shell scripts that are called at the + end of the fakeroot phase, right before the filesystem image + generator is called. As such, they are called in the fakeroot + context. + + Post-fakeroot scripts can be useful in case you need to tweak the + filesystem to do modifications that are usually only available to + the root user. + + Note: It is recommended to use the existing mechanisms to set + file permissions or create entries in /dev (see Section 9.5.1, + “Setting file permissions and ownership and adding custom devices + nodesâ€) or to create users (see Section 9.6, “Adding custom user + accountsâ€) + + Note: The difference between post-build scripts (above) and + fakeroot scripts, is that post-build scripts are not called in + the fakeroot context. + + Note;. Using fakeroot is not an absolute substitute for actually + being root. fakeroot only ever fakes the file access rights and + types (regular, block-or-char device…) and uid/gid; these are + emulated in-memory. + +9.5.1. Setting file permissions and ownership and adding custom +devices nodes + +Sometimes it is needed to set specific permissions or ownership on +files or device nodes. For example, certain files may need to be +owned by root. Since the post-build scripts are not run as root, you +cannot do such changes from there unless you use an explicit fakeroot +from the post-build script. + +Instead, Buildroot provides support for so-called permission tables. +To use this feature, set config option BR2_ROOTFS_DEVICE_TABLE to a +space-separated list of permission tables, regular text files +following the makedev syntax Chapter 23, Makedev syntax documentation +. + +If you are using a static device table (i.e. not using devtmpfs, +mdev, or (e)udev) then you can add device nodes using the same +syntax, in so-called device tables. To use this feature, set config +option BR2_ROOTFS_STATIC_DEVICE_TABLE to a space-separated list of +device tables. + +As shown in Section 9.1, “Recommended directory structureâ€, the +recommended location for such files is board///. + +It should be noted that if the specific permissions or device nodes +are related to a specific application, you should set variables +FOO_PERMISSIONS and FOO_DEVICES in the package’s .mk file instead +(see Section 17.5.2, “generic-package referenceâ€). + +9.6. Adding custom user accounts + +Sometimes it is needed to add specific users in the target system. To +cover this requirement, Buildroot provides support for so-called +users tables. To use this feature, set config option +BR2_ROOTFS_USERS_TABLES to a space-separated list of users tables, +regular text files following the makeusers syntax Chapter 24, +Makeusers syntax documentation. + +As shown in Section 9.1, “Recommended directory structureâ€, the +recommended location for such files is board///. + +It should be noted that if the custom users are related to a specific +application, you should set variable FOO_USERS in the package’s .mk +file instead (see Section 17.5.2, “generic-package referenceâ€). + +9.7. Customization after the images have been created + +While post-build scripts (Section 9.5, “Customizing the generated +target filesystemâ€) are run before building the filesystem image, +kernel and bootloader, post-image scripts can be used to perform some +specific actions after all images have been created. + +Post-image scripts can for example be used to automatically extract +your root filesystem tarball in a location exported by your NFS +server, or to create a special firmware image that bundles your root +filesystem and kernel image, or any other custom action required for +your project. + +To enable this feature, specify a space-separated list of post-image +scripts in config option BR2_ROOTFS_POST_IMAGE_SCRIPT (in the System +configuration menu). If you specify a relative path, it will be +relative to the root of the Buildroot tree. + +Just like post-build scripts, post-image scripts are run with the +main Buildroot tree as current working directory. The path to the +images output directory is passed as the first argument to each +script. If the config option BR2_ROOTFS_POST_SCRIPT_ARGS is not +empty, these arguments will be passed to the script too. All the +scripts will be passed the exact same set of arguments, it is not +possible to pass different sets of arguments to each script. + +Again just like for the post-build scripts, the scripts have access +to the environment variables BR2_CONFIG, HOST_DIR, STAGING_DIR, +TARGET_DIR, BUILD_DIR, BINARIES_DIR and BASE_DIR. + +The post-image scripts will be executed as the user that executes +Buildroot, which should normally not be the root user. Therefore, any +action requiring root permissions in one of these scripts will +require special handling (usage of fakeroot or sudo), which is left +to the script developer. + +9.8. Adding project-specific patches + +It is sometimes useful to apply extra patches to packages - on top of +those provided in Buildroot. This might be used to support custom +features in a project, for example, or when working on a new +architecture. + +The BR2_GLOBAL_PATCH_DIR configuration option can be used to specify +a space separated list of one or more directories containing package +patches. + +For a specific version of a specific package +, patches are applied from BR2_GLOBAL_PATCH_DIR as +follows: + + 1. For every directory - - that exists in + BR2_GLOBAL_PATCH_DIR, a will be determined as + follows: + + + /// if the + directory exists. + + Otherwise, / if the directory + exists. + 2. Patches will then be applied from a as + follows: + + + If a series file exists in the package directory, then + patches are applied according to the series file; + + Otherwise, patch files matching *.patch are applied in + alphabetical order. So, to ensure they are applied in the + right order, it is highly recommended to name the patch files + like this: -.patch, where + refers to the apply order. + +For information about how patches are applied for a package, see +Section 18.2, “How patches are applied†+ +The BR2_GLOBAL_PATCH_DIR option is the preferred method for +specifying a custom patch directory for packages. It can be used to +specify a patch directory for any package in buildroot. It should +also be used in place of the custom patch directory options that are +available for packages such as U-Boot and Barebox. By doing this, it +will allow a user to manage their patches from one top-level +directory. + +The exception to BR2_GLOBAL_PATCH_DIR being the preferred method for +specifying custom patches is BR2_LINUX_KERNEL_PATCH. +BR2_LINUX_KERNEL_PATCH should be used to specify kernel patches that +are available at an URL. Note: BR2_LINUX_KERNEL_PATCH specifies +kernel patches that are applied after patches available in +BR2_GLOBAL_PATCH_DIR, as it is done from a post-patch hook of the +Linux package. + +9.9. Adding project-specific packages + +In general, any new package should be added directly in the package +directory and submitted to the Buildroot upstream project. How to add +packages to Buildroot in general is explained in full detail in +Chapter 17, Adding new packages to Buildroot and will not be repeated +here. However, your project may need some proprietary packages that +cannot be upstreamed. This section will explain how you can keep such +project-specific packages in a project-specific directory. + +As shown in Section 9.1, “Recommended directory structureâ€, the +recommended location for project-specific packages is package/ +/. If you are using the br2-external tree feature (see +Section 9.2, “Keeping customizations outside of Buildrootâ€) the +recommended location is to put them in a sub-directory named package/ +in your br2-external tree. + +However, Buildroot will not be aware of the packages in this +location, unless we perform some additional steps. As explained in +Chapter 17, Adding new packages to Buildroot, a package in Buildroot +basically consists of two files: a .mk file (describing how to build +the package) and a Config.in file (describing the configuration +options for this package). + +Buildroot will automatically include the .mk files in first-level +subdirectories of the package directory (using the pattern package/*/ +*.mk). If we want Buildroot to include .mk files from deeper +subdirectories (like package//package1/) then we simply have +to add a .mk file in a first-level subdirectory that includes these +additional .mk files. Therefore, create a file package// +.mk with following contents (assuming you have only one +extra directory level below package//): + +include $(sort $(wildcard package//*/*.mk)) + +For the Config.in files, create a file package//Config.in +that includes the Config.in files of all your packages. An exhaustive +list has to be provided since wildcards are not supported in the +source command of kconfig. For example: + +source "package//package1/Config.in" +source "package//package2/Config.in" + +Include this new file package//Config.in from package/ +Config.in, preferably in a company-specific menu to make merges with +future Buildroot versions easier. + +If using a br2-external tree, refer to Section 9.2, “Keeping +customizations outside of Buildroot†for how to fill in those files. + +9.10. Quick guide to storing your project-specific customizations + +Earlier in this chapter, the different methods for making +project-specific customizations have been described. This section +will now summarize all this by providing step-by-step instructions to +storing your project-specific customizations. Clearly, the steps that +are not relevant to your project can be skipped. + + 1. make menuconfig to configure toolchain, packages and kernel. + 2. make linux-menuconfig to update the kernel config, similar for + other configuration like busybox, uclibc, … + 3. mkdir -p board// + 4. Set the following options to board/// + .config (as far as they are relevant): + + + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE + + BR2_PACKAGE_BUSYBOX_CONFIG + + BR2_UCLIBC_CONFIG + + BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE + + BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE + + BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE + 5. Write the configuration files: + + + make linux-update-defconfig + + make busybox-update-config + + make uclibc-update-config + + cp /build/at91bootstrap3-*/.config board/ + //at91bootstrap3.config + + make barebox-update-defconfig + + make uboot-update-defconfig + 6. Create board///rootfs-overlay/ and fill + it with additional files you need on your rootfs, e.g. board/ + //rootfs-overlay/etc/inittab. Set + BR2_ROOTFS_OVERLAY to board/// + rootfs-overlay. + 7. Create a post-build script board/// + post_build.sh. Set BR2_ROOTFS_POST_BUILD_SCRIPT to board/ + //post_build.sh + 8. If additional setuid permissions have to be set or device nodes + have to be created, create board/// + device_table.txt and add that path to BR2_ROOTFS_DEVICE_TABLE. + 9. If additional user accounts have to be created, create board/ + //users_table.txt and add that path to + BR2_ROOTFS_USERS_TABLES. +10. To add custom patches to certain packages, set + BR2_GLOBAL_PATCH_DIR to board///patches/ + and add your patches for each package in a subdirectory named + after the package. Each patch should be called - + -.patch. +11. Specifically for the Linux kernel, there also exists the option + BR2_LINUX_KERNEL_PATCH with as main advantage that it can also + download patches from a URL. If you do not need this, + BR2_GLOBAL_PATCH_DIR is preferred. U-Boot, Barebox, at91bootstrap + and at91bootstrap3 also have separate options, but these do not + provide any advantage over BR2_GLOBAL_PATCH_DIR and will likely + be removed in the future. +12. If you need to add project-specific packages, create package/ + / and place your packages in that directory. Create + an overall .mk file that includes the .mk files of + all your packages. Create an overall Config.in file that sources + the Config.in files of all your packages. Include this Config.in + file from Buildroot’s package/Config.in file. +13. make savedefconfig to save the buildroot configuration. +14. cp defconfig configs/_defconfig + +Chapter 10. Frequently Asked Questions & Troubleshooting + +10.1. The boot hangs after Starting network… + +If the boot process seems to hang after the following messages +(messages not necessarily exactly similar, depending on the list of +packages selected): + +Freeing init memory: 3972K +Initializing random number generator... done. +Starting network... +Starting dropbear sshd: generating rsa key... generating dsa key... OK + +then it means that your system is running, but didn’t start a shell +on the serial console. In order to have the system start a shell on +your serial console, you have to go into the Buildroot configuration, +in System configuration, modify Run a getty (login prompt) after boot +and set the appropriate port and baud rate in the getty options +submenu. This will automatically tune the /etc/inittab file of the +generated system so that a shell starts on the correct serial port. + +10.2. Why is there no compiler on the target? + +It has been decided that support for the native compiler on the +target would be stopped from the Buildroot-2012.11 release because: + + * this feature was neither maintained nor tested, and often broken; + * this feature was only available for Buildroot toolchains; + * Buildroot mostly targets small or very small target hardware with + limited resource onboard (CPU, ram, mass-storage), for which + compiling on the target does not make much sense; + * Buildroot aims at easing the cross-compilation, making native + compilation on the target unnecessary. + +If you need a compiler on your target anyway, then Buildroot is not +suitable for your purpose. In such case, you need a real distribution +and you should opt for something like: + + * openembedded [http://www.openembedded.org] + * yocto [https://www.yoctoproject.org] + * emdebian [http://www.emdebian.org] + * Fedora [https://fedoraproject.org/wiki/Architectures] + * openSUSE ARM [http://en.opensuse.org/Portal:ARM] + * Arch Linux ARM [http://archlinuxarm.org] + * … + +10.3. Why are there no development files on the target? + +Since there is no compiler available on the target (see Section 10.2, +“Why is there no compiler on the target?â€), it does not make sense to +waste space with headers or static libraries. + +Therefore, those files are always removed from the target since the +Buildroot-2012.11 release. + +10.4. Why is there no documentation on the target? + +Because Buildroot mostly targets small or very small target hardware +with limited resource onboard (CPU, ram, mass-storage), it does not +make sense to waste space with the documentation data. + +If you need documentation data on your target anyway, then Buildroot +is not suitable for your purpose, and you should look for a real +distribution (see: Section 10.2, “Why is there no compiler on the +target?â€). + +10.5. Why are some packages not visible in the Buildroot config menu? + +If a package exists in the Buildroot tree and does not appear in the +config menu, this most likely means that some of the package’s +dependencies are not met. + +To know more about the dependencies of a package, search for the +package symbol in the config menu (see Section 8.1, “make tipsâ€). + +Then, you may have to recursively enable several options (which +correspond to the unmet dependencies) to finally be able to select +the package. + +If the package is not visible due to some unmet toolchain options, +then you should certainly run a full rebuild (see Section 8.1, “make +tips†for more explanations). + +10.6. Why not use the target directory as a chroot directory? + +There are plenty of reasons to not use the target directory a chroot +one, among these: + + * file ownerships, modes and permissions are not correctly set in + the target directory; + * device nodes are not created in the target directory. + +For these reasons, commands run through chroot, using the target +directory as the new root, will most likely fail. + +If you want to run the target filesystem inside a chroot, or as an +NFS root, then use the tarball image generated in images/ and extract +it as root. + +10.7. Why doesn’t Buildroot generate binary packages (.deb, .ipkg…)? + +One feature that is often discussed on the Buildroot list is the +general topic of "package management". To summarize, the idea would +be to add some tracking of which Buildroot package installs what +files, with the goals of: + + * being able to remove files installed by a package when this + package gets unselected from the menuconfig; + * being able to generate binary packages (ipk or other format) that + can be installed on the target without re-generating a new root + filesystem image. + +In general, most people think it is easy to do: just track which +package installed what and remove it when the package is unselected. +However, it is much more complicated than that: + + * It is not only about the target/ directory, but also the sysroot + in host//sysroot and the host/ directory itself. All files + installed in those directories by various packages must be + tracked. + * When a package is unselected from the configuration, it is not + sufficient to remove just the files it installed. One must also + remove all its reverse dependencies (i.e. packages relying on it) + and rebuild all those packages. For example, package A depends + optionally on the OpenSSL library. Both are selected, and + Buildroot is built. Package A is built with crypto support using + OpenSSL. Later on, OpenSSL gets unselected from the + configuration, but package A remains (since OpenSSL is an + optional dependency, this is possible.) If only OpenSSL files are + removed, then the files installed by package A are broken: they + use a library that is no longer present on the target. Although + this is technically doable, it adds a lot of complexity to + Buildroot, which goes against the simplicity we try to stick to. + * In addition to the previous problem, there is the case where the + optional dependency is not even known to Buildroot. For example, + package A in version 1.0 never used OpenSSL, but in version 2.0 + it automatically uses OpenSSL if available. If the Buildroot .mk + file hasn’t been updated to take this into account, then package + A will not be part of the reverse dependencies of OpenSSL and + will not be removed and rebuilt when OpenSSL is removed. For + sure, the .mk file of package A should be fixed to mention this + optional dependency, but in the mean time, you can have + non-reproducible behaviors. + * The request is to also allow changes in the menuconfig to be + applied on the output directory without having to rebuild + everything from scratch. However, this is very difficult to + achieve in a reliable way: what happens when the suboptions of a + package are changed (we would have to detect this, and rebuild + the package from scratch and potentially all its reverse + dependencies), what happens if toolchain options are changed, + etc. At the moment, what Buildroot does is clear and simple so + its behaviour is very reliable and it is easy to support users. + If configuration changes done in menuconfig are applied after the + next make, then it has to work correctly and properly in all + situations, and not have some bizarre corner cases. The risk is + to get bug reports like "I have enabled package A, B and C, then + ran make, then disabled package C and enabled package D and ran + make, then re-enabled package C and enabled package E and then + there is a build failure". Or worse "I did some configuration, + then built, then did some changes, built, some more changes, + built, some more changes, built, and now it fails, but I don’t + remember all the changes I did and in which order". This will be + impossible to support. + +For all these reasons, the conclusion is that adding tracking of +installed files to remove them when the package is unselected, or to +generate a repository of binary packages, is something that is very +hard to achieve reliably and will add a lot of complexity. + +On this matter, the Buildroot developers make this position +statement: + + * Buildroot strives to make it easy to generate a root filesystem + (hence the name, by the way.) That is what we want to make + Buildroot good at: building root filesystems. + * Buildroot is not meant to be a distribution (or rather, a + distribution generator.) It is the opinion of most Buildroot + developers that this is not a goal we should pursue. We believe + that there are other tools better suited to generate a distro + than Buildroot is. For example, Open Embedded [http:// + openembedded.org/], or openWRT [https://openwrt.org/], are such + tools. + * We prefer to push Buildroot in a direction that makes it easy (or + even easier) to generate complete root filesystems. This is what + makes Buildroot stands out in the crowd (among other things, of + course!) + * We believe that for most embedded Linux systems, binary packages + are not necessary, and potentially harmful. When binary packages + are used, it means that the system can be partially upgraded, + which creates an enormous number of possible combinations of + package versions that should be tested before doing the upgrade + on the embedded device. On the other hand, by doing complete + system upgrades by upgrading the entire root filesystem image at + once, the image deployed to the embedded system is guaranteed to + really be the one that has been tested and validated. + +10.8. How to speed-up the build process? + +Since Buildroot often involves doing full rebuilds of the entire +system that can be quite long, we provide below a number of tips to +help reduce the build time: + + * Use a pre-built external toolchain instead of the default + Buildroot internal toolchain. By using a pre-built Linaro + toolchain (on ARM) or a Sourcery CodeBench toolchain (for ARM, + x86, x86-64, MIPS, etc.), you will save the build time of the + toolchain at each complete rebuild, approximately 15 to 20 + minutes. Note that temporarily using an external toolchain does + not prevent you to switch back to an internal toolchain (that may + provide a higher level of customization) once the rest of your + system is working; + * Use the ccache compiler cache (see: Section 8.12.3, “Using ccache + in Buildrootâ€); + * Learn about rebuilding only the few packages you actually care + about (see Section 8.3, “Understanding how to rebuild packagesâ€), + but beware that sometimes full rebuilds are anyway necessary (see + Section 8.2, “Understanding when a full rebuild is necessaryâ€); + * Make sure you are not using a virtual machine for the Linux + system used to run Buildroot. Most of the virtual machine + technologies are known to cause a significant performance impact + on I/O, which is really important for building source code; + * Make sure that you’re using only local files: do not attempt to + do a build over NFS, which significantly slows down the build. + Having the Buildroot download folder available locally also helps + a bit. + * Buy new hardware. SSDs and lots of RAM are key to speeding up the + builds. + +Chapter 11. Known issues + + * It is not possible to pass extra linker options via + BR2_TARGET_LDFLAGS if such options contain a $ sign. For example, + the following is known to break: BR2_TARGET_LDFLAGS="-Wl,-rpath= + '$ORIGIN/../lib'" + * The libffi package is not supported on the SuperH 2 and ARC + architectures. + * The prboom package triggers a compiler failure with the SuperH 4 + compiler from Sourcery CodeBench, version 2012.09. + +Chapter 12. Legal notice and licensing + +12.1. Complying with open source licenses + +All of the end products of Buildroot (toolchain, root filesystem, +kernel, bootloaders) contain open source software, released under +various licenses. + +Using open source software gives you the freedom to build rich +embedded systems, choosing from a wide range of packages, but also +imposes some obligations that you must know and honour. Some licenses +require you to publish the license text in the documentation of your +product. Others require you to redistribute the source code of the +software to those that receive your product. + +The exact requirements of each license are documented in each +package, and it is your responsibility (or that of your legal office) +to comply with those requirements. To make this easier for you, +Buildroot can collect for you some material you will probably need. +To produce this material, after you have configured Buildroot with +make menuconfig, make xconfig or make gconfig, run: + +make legal-info + +Buildroot will collect legally-relevant material in your output +directory, under the legal-info/ subdirectory. There you will find: + + * A README file, that summarizes the produced material and contains + warnings about material that Buildroot could not produce. + * buildroot.config: this is the Buildroot configuration file that + is usually produced with make menuconfig, and which is necessary + to reproduce the build. + * The source code for all packages; this is saved in the sources/ + and host-sources/ subdirectories for target and host packages + respectively. The source code for packages that set + _REDISTRIBUTE = NO will not be saved. Patches that were applied + are also saved, along with a file named series that lists the + patches in the order they were applied. Patches are under the + same license as the files that they modify. Note: Buildroot + applies additional patches to Libtool scripts of autotools-based + packages. These patches can be found under support/libtool in the + Buildroot source and, due to technical limitations, are not saved + with the package sources. You may need to collect them manually. + * A manifest file (one for host and one for target packages) + listing the configured packages, their version, license and + related information. Some of this information might not be + defined in Buildroot; such items are marked as "unknown". + * The license texts of all packages, in the licenses/ and + host-licenses/ subdirectories for target and host packages + respectively. If the license file(s) are not defined in + Buildroot, the file is not produced and a warning in the README + indicates this. + +Please note that the aim of the legal-info feature of Buildroot is to +produce all the material that is somehow relevant for legal +compliance with the package licenses. Buildroot does not try to +produce the exact material that you must somehow make public. +Certainly, more material is produced than is needed for a strict +legal compliance. For example, it produces the source code for +packages released under BSD-like licenses, that you are not required +to redistribute in source form. + +Moreover, due to technical limitations, Buildroot does not produce +some material that you will or may need, such as the toolchain source +code and the Buildroot source code itself (including patches to +packages for which source distribution is required). When you run +make legal-info, Buildroot produces warnings in the README file to +inform you of relevant material that could not be saved. + +Finally, keep in mind that the output of make legal-info is based on +declarative statements in each of the packages recipes. The Buildroot +developers try to do their best to keep those declarative statements +as accurate as possible, to the best of their knowledge. However, it +is very well possible that those declarative statements are not all +fully accurate nor exhaustive. You (or your legal department) have to +check the output of make legal-info before using it as your own +compliance delivery. See the NO WARRANTY clauses (clauses 11 and 12) +in the COPYING file at the root of the Buildroot distribution. + +12.2. Complying with the Buildroot license + +Buildroot itself is an open source software, released under the GNU +General Public License, version 2 [http://www.gnu.org/licenses/ +old-licenses/gpl-2.0.html] or (at your option) any later version, +with the exception of the package patches detailed below. However, +being a build system, it is not normally part of the end product: if +you develop the root filesystem, kernel, bootloader or toolchain for +a device, the code of Buildroot is only present on the development +machine, not in the device storage. + +Nevertheless, the general view of the Buildroot developers is that +you should release the Buildroot source code along with the source +code of other packages when releasing a product that contains +GPL-licensed software. This is because the GNU GPL [http:// +www.gnu.org/licenses/old-licenses/gpl-2.0.html] defines the "complete +source code" for an executable work as "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". Buildroot is part of the scripts used to control +compilation and installation of the executable, and as such it is +considered part of the material that must be redistributed. + +Keep in mind that this is only the Buildroot developers' opinion, and +you should consult your legal department or lawyer in case of any +doubt. + +12.2.1. Patches to packages + +Buildroot also bundles patch files, which are applied to the sources +of the various packages. Those patches are not covered by the license +of Buildroot. Instead, they are covered by the license of the +software to which the patches are applied. When said software is +available under multiple licenses, the Buildroot patches are only +provided under the publicly accessible licenses. + +See Chapter 18, Patching a package for the technical details. + +Chapter 13. Beyond Buildroot + +13.1. Boot the generated images + +13.1.1. NFS boot + +To achieve NFS-boot, enable tar root filesystem in the Filesystem +images menu. + +After a complete build, just run the following commands to setup the +NFS-root directory: + +sudo tar -xavf /path/to/output_dir/rootfs.tar -C /path/to/nfs_root_dir + +Remember to add this path to /etc/exports. + +Then, you can execute a NFS-boot from your target. + +13.1.2. Live CD + +To build a live CD image, enable the iso image option in the +Filesystem images menu. Note that this option is only available on +the x86 and x86-64 architectures, and if you are building your kernel +with Buildroot. + +You can build a live CD image with either IsoLinux, Grub or Grub 2 as +a bootloader, but only Isolinux supports making this image usable +both as a live CD and live USB (through the Build hybrid image +option). + +You can test your live CD image using QEMU: + +qemu-system-i386 -cdrom output/images/rootfs.iso9660 + +Or use it as a hard-drive image if it is a hybrid ISO: + +qemu-system-i386 -hda output/images/rootfs.iso9660 + +It can be easily flashed to a USB drive with dd: + +dd if=output/images/rootfs.iso9660 of=/dev/sdb + +13.2. Chroot + +If you want to chroot in a generated image, then there are few thing +you should be aware of: + + * you should setup the new root from the tar root filesystem image; + * either the selected target architecture is compatible with your + host machine, or you should use some qemu-* binary and correctly + set it within the binfmt properties to be able to run the + binaries built for the target on your host machine; + * Buildroot does not currently provide host-qemu and binfmt + correctly built and set for that kind of use. + +Part III. Developer guide + +Table of Contents + +14. How Buildroot works +15. Coding style + + 15.1. Config.in file + 15.2. The .mk file + 15.3. The documentation + 15.4. Support scripts + +16. Adding support for a particular board +17. Adding new packages to Buildroot + + 17.1. Package directory + 17.2. Config files + 17.3. The .mk file + 17.4. The .hash file + 17.5. Infrastructure for packages with specific build systems + 17.6. Infrastructure for autotools-based packages + 17.7. Infrastructure for CMake-based packages + 17.8. Infrastructure for Python packages + 17.9. Infrastructure for LuaRocks-based packages + 17.10. Infrastructure for Perl/CPAN packages + 17.11. Infrastructure for virtual packages + 17.12. Infrastructure for packages using kconfig for + configuration files + 17.13. Infrastructure for rebar-based packages + 17.14. Infrastructure for Waf-based packages + 17.15. Infrastructure for packages building kernel modules + 17.16. Infrastructure for asciidoc documents + 17.17. Infrastructure specific to the Linux kernel package + 17.18. Hooks available in the various build steps + 17.19. Gettext integration and interaction with packages + 17.20. Tips and tricks + 17.21. Conclusion + +18. Patching a package + + 18.1. Providing patches + 18.2. How patches are applied + 18.3. Format and licensing of the package patches + 18.4. Integrating patches found on the Web + +19. Download infrastructure +20. Debugging Buildroot +21. Contributing to Buildroot + + 21.1. Reproducing, analyzing and fixing bugs + 21.2. Analyzing and fixing autobuild failures + 21.3. Reviewing and testing patches + 21.4. Work on items from the TODO list + 21.5. Submitting patches + 21.6. Reporting issues/bugs or getting help + +22. DEVELOPERS file and get-developers + +Chapter 14. How Buildroot works + +As mentioned above, Buildroot is basically a set of Makefiles that +download, configure, and compile software with the correct options. +It also includes patches for various software packages - mainly the +ones involved in the cross-compilation toolchain (gcc, binutils and +uClibc). + +There is basically one Makefile per software package, and they are +named with the .mk extension. Makefiles are split into many different +parts. + + * The toolchain/ directory contains the Makefiles and associated + files for all software related to the cross-compilation + toolchain: binutils, gcc, gdb, kernel-headers and uClibc. + * The arch/ directory contains the definitions for all the + processor architectures that are supported by Buildroot. + * The package/ directory contains the Makefiles and associated + files for all user-space tools and libraries that Buildroot can + compile and add to the target root filesystem. There is one + sub-directory per package. + * The linux/ directory contains the Makefiles and associated files + for the Linux kernel. + * The boot/ directory contains the Makefiles and associated files + for the bootloaders supported by Buildroot. + * The system/ directory contains support for system integration, + e.g. the target filesystem skeleton and the selection of an init + system. + * The fs/ directory contains the Makefiles and associated files for + software related to the generation of the target root filesystem + image. + +Each directory contains at least 2 files: + + * something.mk is the Makefile that downloads, configures, compiles + and installs the package something. + * Config.in is a part of the configuration tool description file. + It describes the options related to the package. + +The main Makefile performs the following steps (once the +configuration is done): + + * Create all the output directories: staging, target, build, etc. + in the output directory (output/ by default, another value can be + specified using O=) + * Generate the toolchain target. When an internal toolchain is + used, this means generating the cross-compilation toolchain. When + an external toolchain is used, this means checking the features + of the external toolchain and importing it into the Buildroot + environment. + * Generate all the targets listed in the TARGETS variable. This + variable is filled by all the individual components' Makefiles. + Generating these targets will trigger the compilation of the + userspace packages (libraries, programs), the kernel, the + bootloader and the generation of the root filesystem images, + depending on the configuration. + +Chapter 15. Coding style + +Overall, these coding style rules are here to help you to add new +files in Buildroot or refactor existing ones. + +If you slightly modify some existing file, the important thing is to +keep the consistency of the whole file, so you can: + + * either follow the potentially deprecated coding style used in + this file, + * or entirely rework it in order to make it comply with these + rules. + +15.1. Config.in file + +Config.in files contain entries for almost anything configurable in +Buildroot. + +An entry has the following pattern: + +config BR2_PACKAGE_LIBFOO + bool "libfoo" + depends on BR2_PACKAGE_LIBBAZ + select BR2_PACKAGE_LIBBAR + help + This is a comment that explains what libfoo is. The help text + should be wrapped. + + http://foosoftware.org/libfoo/ + + * The bool, depends on, select and help lines are indented with one + tab. + * The help text itself should be indented with one tab and two + spaces. + * The help text should be wrapped to fit 72 columns, where tab + counts for 8, so 62 characters in the text itself. + +The Config.in files are the input for the configuration tool used in +Buildroot, which is the regular Kconfig. For further details about +the Kconfig language, refer to http://kernel.org/doc/Documentation/ +kbuild/kconfig-language.txt. + +15.2. The .mk file + + * Header: The file starts with a header. It contains the module + name, preferably in lowercase, enclosed between separators made + of 80 hashes. A blank line is mandatory after the header: + + ################################################################################ + # + # libfoo + # + ################################################################################ + + * Assignment: use = preceded and followed by one space: + + LIBFOO_VERSION = 1.0 + LIBFOO_CONF_OPTS += --without-python-support + + Do not align the = signs. + + * Indentation: use tab only: + + define LIBFOO_REMOVE_DOC + $(RM) -fr $(TARGET_DIR)/usr/share/libfoo/doc \ + $(TARGET_DIR)/usr/share/man/man3/libfoo* + endef + + Note that commands inside a define block should always start with + a tab, so make recognizes them as commands. + + * Optional dependency: + + + Prefer multi-line syntax. + + YES: + + ifeq ($(BR2_PACKAGE_PYTHON),y) + LIBFOO_CONF_OPTS += --with-python-support + LIBFOO_DEPENDENCIES += python + else + LIBFOO_CONF_OPTS += --without-python-support + endif + + NO: + + LIBFOO_CONF_OPTS += --with$(if $(BR2_PACKAGE_PYTHON),,out)-python-support + LIBFOO_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON),python,) + + + Keep configure options and dependencies close together. + * Optional hooks: keep hook definition and assignment together in + one if block. + + YES: + + ifneq ($(BR2_LIBFOO_INSTALL_DATA),y) + define LIBFOO_REMOVE_DATA + $(RM) -fr $(TARGET_DIR)/usr/share/libfoo/data + endef + LIBFOO_POST_INSTALL_TARGET_HOOKS += LIBFOO_REMOVE_DATA + endif + + NO: + + define LIBFOO_REMOVE_DATA + $(RM) -fr $(TARGET_DIR)/usr/share/libfoo/data + endef + + ifneq ($(BR2_LIBFOO_INSTALL_DATA),y) + LIBFOO_POST_INSTALL_TARGET_HOOKS += LIBFOO_REMOVE_DATA + endif + +15.3. The documentation + +The documentation uses the asciidoc [http://www.methods.co.nz/ +asciidoc/] format. + +For further details about the asciidoc [http://www.methods.co.nz/ +asciidoc/] syntax, refer to http://www.methods.co.nz/asciidoc/ +userguide.html. + +15.4. Support scripts + +Some scripts in the support/ and utils/ directories are written in +Python and should follow the PEP8 Style Guide for Python Code [https: +//www.python.org/dev/peps/pep-0008/]. + +Chapter 16. Adding support for a particular board + +Buildroot contains basic configurations for several publicly +available hardware boards, so that users of such a board can easily +build a system that is known to work. You are welcome to add support +for other boards to Buildroot too. + +To do so, you need to create a normal Buildroot configuration that +builds a basic system for the hardware: toolchain, kernel, +bootloader, filesystem and a simple BusyBox-only userspace. No +specific package should be selected: the configuration should be as +minimal as possible, and should only build a working basic BusyBox +system for the target platform. You can of course use more +complicated configurations for your internal projects, but the +Buildroot project will only integrate basic board configurations. +This is because package selections are highly application-specific. + +Once you have a known working configuration, run make savedefconfig. +This will generate a minimal defconfig file at the root of the +Buildroot source tree. Move this file into the configs/ directory, +and rename it _defconfig. + +It is recommended to use as much as possible upstream versions of the +Linux kernel and bootloaders, and to use as much as possible default +kernel and bootloader configurations. If they are incorrect for your +board, or no default exists, we encourage you to send fixes to the +corresponding upstream projects. + +However, in the mean time, you may want to store kernel or bootloader +configuration or patches specific to your target platform. To do so, +create a directory board/ and a subdirectory board/ +/. You can then store your patches and +configurations in these directories, and reference them from the main +Buildroot configuration. Refer to Chapter 9, Project-specific +customization for more details. + +Chapter 17. Adding new packages to Buildroot + +This section covers how new packages (userspace libraries or +applications) can be integrated into Buildroot. It also shows how +existing packages are integrated, which is needed for fixing issues +or tuning their configuration. + +When you add a new package, be sure to test it in various conditions; +see Section 17.20.2, “How to test your package†+ +17.1. Package directory + +First of all, create a directory under the package directory for your +software, for example libfoo. + +Some packages have been grouped by topic in a sub-directory: x11r7, +qt5 and gstreamer. If your package fits in one of these categories, +then create your package directory in these. New subdirectories are +discouraged, however. + +17.2. Config files + +For the package to be displayed in the configuration tool, you need +to create a Config file in your package directory. There are two +types: Config.in and Config.in.host. + +17.2.1. Config.in file + +For packages used on the target, create a file named Config.in. This +file will contain the option descriptions related to our libfoo +software that will be used and displayed in the configuration tool. +It should basically contain: + +config BR2_PACKAGE_LIBFOO + bool "libfoo" + help + This is a comment that explains what libfoo is. The help text + should be wrapped. + + http://foosoftware.org/libfoo/ + +The bool line, help line and other metadata information about the +configuration option must be indented with one tab. The help text +itself should be indented with one tab and two spaces, lines should +be wrapped to fit 72 columns, where tab counts for 8, so 62 +characters in the text itself. The help text must mention the +upstream URL of the project after an empty line. + +As a convention specific to Buildroot, the ordering of the attributes +is as follows: + + 1. The type of option: bool, string… with the prompt + 2. If needed, the default value(s) + 3. Any dependency of the depends on form + 4. Any dependency of the select form + 5. The help keyword and help text. + +You can add other sub-options into a if BR2_PACKAGE_LIBFOO…endif +statement to configure particular things in your software. You can +look at examples in other packages. The syntax of the Config.in file +is the same as the one for the kernel Kconfig file. The documentation +for this syntax is available at http://kernel.org/doc/Documentation/ +kbuild/kconfig-language.txt + +Finally you have to add your new libfoo/Config.in to package/ +Config.in (or in a category subdirectory if you decided to put your +package in one of the existing categories). The files included there +are sorted alphabetically per category and are NOT supposed to +contain anything but the bare name of the package. + +source "package/libfoo/Config.in" + +17.2.2. Config.in.host file + +Some packages also need to be built for the host system. There are +two options here: + + * The host package is only required to satisfy build-time + dependencies of one or more target packages. In this case, add + host-foo to the target package’s BAR_DEPENDENCIES variable. No + Config.in.host file should be created. + * The host package should be explicitly selectable by the user from + the configuration menu. In this case, create a Config.in.host + file for that host package: + + config BR2_PACKAGE_HOST_FOO + bool "host foo" + help + This is a comment that explains what foo for the host is. + + http://foosoftware.org/foo/ + + The same coding style and options as for the Config.in file are + valid. + + Finally you have to add your new libfoo/Config.in.host to package + /Config.in.host. The files included there are sorted + alphabetically and are NOT supposed to contain anything but the + bare name of the package. + + source "package/foo/Config.in.host" + + The host package will then be available from the Host utilities + menu. + +17.2.3. Choosing depends on or select + +The Config.in file of your package must also ensure that dependencies +are enabled. Typically, Buildroot uses the following rules: + + * Use a select type of dependency for dependencies on libraries. + These dependencies are generally not obvious and it therefore + make sense to have the kconfig system ensure that the + dependencies are selected. For example, the libgtk2 package uses + select BR2_PACKAGE_LIBGLIB2 to make sure this library is also + enabled. The select keyword expresses the dependency with a + backward semantic. + * Use a depends on type of dependency when the user really needs to + be aware of the dependency. Typically, Buildroot uses this type + of dependency for dependencies on target architecture, MMU + support and toolchain options (see Section 17.2.4, “Dependencies + on target and toolchain optionsâ€), or for dependencies on "big" + things, such as the X.org system. The depends on keyword + expresses the dependency with a forward semantic. + +Note. The current problem with the kconfig language is that these two +dependency semantics are not internally linked. Therefore, it may be +possible to select a package, whom one of its dependencies/ +requirement is not met. + +An example illustrates both the usage of select and depends on. + +config BR2_PACKAGE_RRDTOOL + bool "rrdtool" + depends on BR2_USE_WCHAR + select BR2_PACKAGE_FREETYPE + select BR2_PACKAGE_LIBART + select BR2_PACKAGE_LIBPNG + select BR2_PACKAGE_ZLIB + help + RRDtool is the OpenSource industry standard, high performance + data logging and graphing system for time series data. + + http://oss.oetiker.ch/rrdtool/ + +comment "rrdtool needs a toolchain w/ wchar" + depends on !BR2_USE_WCHAR + +Note that these two dependency types are only transitive with the +dependencies of the same kind. + +This means, in the following example: + +config BR2_PACKAGE_A + bool "Package A" + +config BR2_PACKAGE_B + bool "Package B" + depends on BR2_PACKAGE_A + +config BR2_PACKAGE_C + bool "Package C" + depends on BR2_PACKAGE_B + +config BR2_PACKAGE_D + bool "Package D" + select BR2_PACKAGE_B + +config BR2_PACKAGE_E + bool "Package E" + select BR2_PACKAGE_D + + * Selecting Package C will be visible if Package B has been + selected, which in turn is only visible if Package A has been + selected. + * Selecting Package E will select Package D, which will select + Package B, it will not check for the dependencies of Package B, + so it will not select Package A. + * Since Package B is selected but Package A is not, this violates + the dependency of Package B on Package A. Therefore, in such a + situation, the transitive dependency has to be added explicitly: + +config BR2_PACKAGE_D + bool "Package D" + select BR2_PACKAGE_B + depends on BR2_PACKAGE_A + +config BR2_PACKAGE_E + bool "Package E" + select BR2_PACKAGE_D + depends on BR2_PACKAGE_A + +Overall, for package library dependencies, select should be +preferred. + +Note that such dependencies will ensure that the dependency option is +also enabled, but not necessarily built before your package. To do +so, the dependency also needs to be expressed in the .mk file of the +package. + +Further formatting details: see the coding style Section 15.1, +“Config.in fileâ€. + +17.2.4. Dependencies on target and toolchain options + +Many packages depend on certain options of the toolchain: the choice +of C library, C++ support, thread support, RPC support, wchar +support, or dynamic library support. Some packages can only be built +on certain target architectures, or if an MMU is available in the +processor. + +These dependencies have to be expressed with the appropriate depends +on statements in the Config.in file. Additionally, for dependencies +on toolchain options, a comment should be displayed when the option +is not enabled, so that the user knows why the package is not +available. Dependencies on target architecture or MMU support should +not be made visible in a comment: since it is unlikely that the user +can freely choose another target, it makes little sense to show these +dependencies explicitly. + +The comment should only be visible if the config option itself would +be visible when the toolchain option dependencies are met. This means +that all other dependencies of the package (including dependencies on +target architecture and MMU support) have to be repeated on the +comment definition. To keep it clear, the depends on statement for +these non-toolchain option should be kept separate from the depends +on statement for the toolchain options. If there is a dependency on a +config option in that same file (typically the main package) it is +preferable to have a global if … endif construct rather than +repeating the depends on statement on the comment and other config +options. + +The general format of a dependency comment for package foo is: + +foo needs a toolchain w/ featA, featB, featC + +for example: + +mpd needs a toolchain w/ C++, threads, wchar + +or + +crda needs a toolchain w/ threads + +Note that this text is kept brief on purpose, so that it will fit on +a 80-character terminal. + +The rest of this section enumerates the different target and +toolchain options, the corresponding config symbols to depend on, and +the text to use in the comment. + + * Target architecture + + + Dependency symbol: BR2_powerpc, BR2_mips, … (see arch/ + Config.in) + + Comment string: no comment to be added + * MMU support + + + Dependency symbol: BR2_USE_MMU + + Comment string: no comment to be added + * Gcc _sync* built-ins used for atomic operations. They are + available in variants operating on 1 byte, 2 bytes, 4 bytes and 8 + bytes. Since different architectures support atomic operations on + different sizes, one dependency symbol is available for each + size: + + + Dependency symbol: BR2_TOOLCHAIN_HAS_SYNC_1 for 1 byte, + BR2_TOOLCHAIN_HAS_SYNC_2 for 2 bytes, + BR2_TOOLCHAIN_HAS_SYNC_4 for 4 bytes, + BR2_TOOLCHAIN_HAS_SYNC_8 for 8 bytes. + + Comment string: no comment to be added + * Gcc _atomic* built-ins used for atomic operations. + + + Dependency symbol: BR2_TOOLCHAIN_HAS_ATOMIC. + + Comment string: no comment to be added + * Kernel headers + + + Dependency symbol: BR2_TOOLCHAIN_HEADERS_AT_LEAST_X_Y, + (replace X_Y with the proper version, see toolchain/ + toolchain-common.in) + + Comment string: headers >= X.Y and/or headers <= X.Y (replace + X.Y with the proper version) + * GCC version + + + Dependency symbol: BR2_TOOLCHAIN_GCC_AT_LEAST_X_Y, (replace + X_Y with the proper version, see toolchain/ + toolchain-common.in) + + Comment string: gcc >= X.Y and/or gcc <= X.Y (replace X.Y + with the proper version) + * Host GCC version + + + Dependency symbol: BR2_HOST_GCC_AT_LEAST_X_Y, (replace X_Y + with the proper version, see Config.in) + + Comment string: no comment to be added + + Note that it is usually not the package itself that has a + minimum host GCC version, but rather a host-package on which + it depends. + * C library + + + Dependency symbol: BR2_TOOLCHAIN_USES_GLIBC, + BR2_TOOLCHAIN_USES_MUSL, BR2_TOOLCHAIN_USES_UCLIBC + + Comment string: for the C library, a slightly different + comment text is used: foo needs a glibc toolchain, or foo + needs a glibc toolchain w/ C++ + * C++ support + + + Dependency symbol: BR2_INSTALL_LIBSTDCPP + + Comment string: C++ + * Fortran support + + + Dependency symbol: BR2_TOOLCHAIN_HAS_FORTRAN + + Comment string: fortran + * thread support + + + Dependency symbol: BR2_TOOLCHAIN_HAS_THREADS + + Comment string: threads (unless + BR2_TOOLCHAIN_HAS_THREADS_NPTL is also needed, in which case, + specifying only NPTL is sufficient) + * NPTL thread support + + + Dependency symbol: BR2_TOOLCHAIN_HAS_THREADS_NPTL + + Comment string: NPTL + * RPC support + + + Dependency symbol: BR2_TOOLCHAIN_HAS_NATIVE_RPC + + Comment string: RPC + * wchar support + + + Dependency symbol: BR2_USE_WCHAR + + Comment string: wchar + * dynamic library + + + Dependency symbol: !BR2_STATIC_LIBS + + Comment string: dynamic library + +17.2.5. Dependencies on a Linux kernel built by buildroot + +Some packages need a Linux kernel to be built by buildroot. These are +typically kernel modules or firmware. A comment should be added in +the Config.in file to express this dependency, similar to +dependencies on toolchain options. The general format is: + +foo needs a Linux kernel to be built + +If there is a dependency on both toolchain options and the Linux +kernel, use this format: + +foo needs a toolchain w/ featA, featB, featC and a Linux kernel to be built + +17.2.6. Dependencies on udev /dev management + +If a package needs udev /dev management, it should depend on symbol +BR2_PACKAGE_HAS_UDEV, and the following comment should be added: + +foo needs udev /dev management + +If there is a dependency on both toolchain options and udev /dev +management, use this format: + +foo needs udev /dev management and a toolchain w/ featA, featB, featC + +17.2.7. Dependencies on features provided by virtual packages + +Some features can be provided by more than one package, such as the +openGL libraries. + +See Section 17.11, “Infrastructure for virtual packages†for more on +the virtual packages. + +17.3. The .mk file + +Finally, here’s the hardest part. Create a file named libfoo.mk. It +describes how the package should be downloaded, configured, built, +installed, etc. + +Depending on the package type, the .mk file must be written in a +different way, using different infrastructures: + + * Makefiles for generic packages (not using autotools or CMake): + These are based on an infrastructure similar to the one used for + autotools-based packages, but require a little more work from the + developer. They specify what should be done for the + configuration, compilation and installation of the package. This + infrastructure must be used for all packages that do not use the + autotools as their build system. In the future, other specialized + infrastructures might be written for other build systems. We + cover them through in a tutorial Section 17.5.1, “generic-package + tutorial†and a reference Section 17.5.2, “generic-package + referenceâ€. + * Makefiles for autotools-based software (autoconf, automake, + etc.): We provide a dedicated infrastructure for such packages, + since autotools is a very common build system. This + infrastructure must be used for new packages that rely on the + autotools as their build system. We cover them through a tutorial + Section 17.6.1, “autotools-package tutorial†and reference + Section 17.6.2, “autotools-package referenceâ€. + * Makefiles for cmake-based software: We provide a dedicated + infrastructure for such packages, as CMake is a more and more + commonly used build system and has a standardized behaviour. This + infrastructure must be used for new packages that rely on CMake. + We cover them through a tutorial Section 17.7.1, “cmake-package + tutorial†and reference Section 17.7.2, “cmake-package reference†+ . + * Makefiles for Python modules: We have a dedicated infrastructure + for Python modules that use either the distutils or the + setuptools mechanism. We cover them through a tutorial + Section 17.8.1, “python-package tutorial†and a reference + Section 17.8.2, “python-package referenceâ€. + * Makefiles for Lua modules: We have a dedicated infrastructure for + Lua modules available through the LuaRocks web site. We cover + them through a tutorial Section 17.9.1, “luarocks-package + tutorial†and a reference Section 17.9.2, “luarocks-package + referenceâ€. + +Further formatting details: see the writing rules Section 15.2, “The +.mk fileâ€. + +17.4. The .hash file + +When possible, you must add a third file, named libfoo.hash, that +contains the hashes of the downloaded files for the libfoo package. +The only reason for not adding a .hash file is when hash checking is +not possible due to how the package is downloaded. + +The hashes stored in that file are used to validate the integrity of +the downloaded files and of the license files. + +The format of this file is one line for each file for which to check +the hash, each line being space-separated, with these three fields: + + * the type of hash, one of: + + + md5, sha1, sha224, sha256, sha384, sha512, none + * the hash of the file: + + + for none, one or more non-space chars, usually just the + string xxx + + for md5, 32 hexadecimal characters + + for sha1, 40 hexadecimal characters + + for sha224, 56 hexadecimal characters + + for sha256, 64 hexadecimal characters + + for sha384, 96 hexadecimal characters + + for sha512, 128 hexadecimal characters + * the name of the file: + + + for a source archive: the basename of the file, without any + directory component, + + for a license file: the path as it appears in + FOO_LICENSE_FILES. + +Lines starting with a # sign are considered comments, and ignored. +Empty lines are ignored. + +There can be more than one hash for a single file, each on its own +line. In this case, all hashes must match. + +Note. Ideally, the hashes stored in this file should match the hashes +published by upstream, e.g. on their website, in the e-mail +announcement… If upstream provides more than one type of hash (e.g. +sha1 and sha512), then it is best to add all those hashes in the +.hash file. If upstream does not provide any hash, or only provides +an md5 hash, then compute at least one strong hash yourself +(preferably sha256, but not md5), and mention this in a comment line +above the hashes. + +Note. The hashes for license files are used to detect a license +change when a package version is bumped. The hashes are checked +during the make legal-info target run. For a package with multiple +versions (like Qt5), create the hash file in a subdirectory + of that package (see also Section 18.2, “How patches +are appliedâ€). + +Note. The number of spaces does not matter, so one can use spaces (or +tabs) to properly align the different fields. + +The none hash type is reserved to those archives downloaded from a +repository, like a git clone, a subversion checkout… + +The example below defines a sha1 and a sha256 published by upstream +for the main libfoo-1.2.3.tar.bz2 tarball, an md5 from upstream and a +locally-computed sha256 hashes for a binary blob, a sha256 for a +downloaded patch, and an archive with no hash: + +# Hashes from: http://www.foosoftware.org/download/libfoo-1.2.3.tar.bz2.{sha1,sha256}: +sha1 486fb55c3efa71148fe07895fd713ea3a5ae343a libfoo-1.2.3.tar.bz2 +sha256 efc8103cc3bcb06bda6a781532d12701eb081ad83e8f90004b39ab81b65d4369 libfoo-1.2.3.tar.bz2 + +# md5 from: http://www.foosoftware.org/download/libfoo-1.2.3.tar.bz2.md5, sha256 locally computed: +md5 2d608f3c318c6b7557d551a5a09314f03452f1a1 libfoo-data.bin +sha256 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b libfoo-data.bin + +# Locally computed: +sha256 ff52101fb90bbfc3fe9475e425688c660f46216d7e751c4bbdb1dc85cdccacb9 libfoo-fix-blabla.patch + +# No hash for 1234: +none xxx libfoo-1234.tar.gz + +# Hash for license files: +sha256 a45a845012742796534f7e91fe623262ccfb99460a2bd04015bd28d66fba95b8 COPYING +sha256 01b1f9f2c8ee648a7a596a1abe8aa4ed7899b1c9e5551bda06da6e422b04aa55 doc/COPYING.LGPL + +If the .hash file is present, and it contains one or more hashes for +a downloaded file, the hash(es) computed by Buildroot (after +download) must match the hash(es) stored in the .hash file. If one or +more hashes do not match, Buildroot considers this an error, deletes +the downloaded file, and aborts. + +If the .hash file is present, but it does not contain a hash for a +downloaded file, Buildroot considers this an error and aborts. +However, the downloaded file is left in the download directory since +this typically indicates that the .hash file is wrong but the +downloaded file is probably OK. + +Hashes are currently checked for files fetched from http/ftp servers, +Git repositories, files copied using scp and local files. Hashes are +not checked for other version control systems (such as Subversion, +CVS, etc.) because Buildroot currently does not generate reproducible +tarballs when source code is fetched from such version control +systems. + +Hashes should only be added in .hash files for files that are +guaranteed to be stable. For example, patches auto-generated by +Github are not guaranteed to be stable, and therefore their hashes +can change over time. Such patches should not be downloaded, and +instead be added locally to the package folder. + +If the .hash file is missing, then no check is done at all. + +17.5. Infrastructure for packages with specific build systems + +By packages with specific build systems we mean all the packages +whose build system is not one of the standard ones, such as autotools +or CMake. This typically includes packages whose build system is +based on hand-written Makefiles or shell scripts. + +17.5.1. generic-package tutorial + +01: ################################################################################ +02: # +03: # libfoo +04: # +05: ################################################################################ +06: +07: LIBFOO_VERSION = 1.0 +08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz +09: LIBFOO_SITE = http://www.foosoftware.org/download +10: LIBFOO_LICENSE = GPL-3.0+ +11: LIBFOO_LICENSE_FILES = COPYING +12: LIBFOO_INSTALL_STAGING = YES +13: LIBFOO_CONFIG_SCRIPTS = libfoo-config +14: LIBFOO_DEPENDENCIES = host-libaaa libbbb +15: +16: define LIBFOO_BUILD_CMDS +17: $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) all +18: endef +19: +20: define LIBFOO_INSTALL_STAGING_CMDS +21: $(INSTALL) -D -m 0755 $(@D)/libfoo.a $(STAGING_DIR)/usr/lib/libfoo.a +22: $(INSTALL) -D -m 0644 $(@D)/foo.h $(STAGING_DIR)/usr/include/foo.h +23: $(INSTALL) -D -m 0755 $(@D)/libfoo.so* $(STAGING_DIR)/usr/lib +24: endef +25: +26: define LIBFOO_INSTALL_TARGET_CMDS +27: $(INSTALL) -D -m 0755 $(@D)/libfoo.so* $(TARGET_DIR)/usr/lib +28: $(INSTALL) -d -m 0755 $(TARGET_DIR)/etc/foo.d +29: endef +30: +31: define LIBFOO_USERS +32: foo -1 libfoo -1 * - - - LibFoo daemon +33: endef +34: +35: define LIBFOO_DEVICES +36: /dev/foo c 666 0 0 42 0 - - - +37: endef +38: +39: define LIBFOO_PERMISSIONS +40: /bin/foo f 4755 foo libfoo - - - - - +41: endef +42: +43: $(eval $(generic-package)) + +The Makefile begins on line 7 to 11 with metadata information: the +version of the package (LIBFOO_VERSION), the name of the tarball +containing the package (LIBFOO_SOURCE) (xz-ed tarball recommended) +the Internet location at which the tarball can be downloaded from +(LIBFOO_SITE), the license (LIBFOO_LICENSE) and file with the license +text (LIBFOO_LICENSE_FILES). All variables must start with the same +prefix, LIBFOO_ in this case. This prefix is always the uppercased +version of the package name (see below to understand where the +package name is defined). + +On line 12, we specify that this package wants to install something +to the staging space. This is often needed for libraries, since they +must install header files and other development files in the staging +space. This will ensure that the commands listed in the +LIBFOO_INSTALL_STAGING_CMDS variable will be executed. + +On line 13, we specify that there is some fixing to be done to some +of the libfoo-config files that were installed during +LIBFOO_INSTALL_STAGING_CMDS phase. These *-config files are +executable shell script files that are located in $(STAGING_DIR)/usr/ +bin directory and are executed by other 3rd party packages to find +out the location and the linking flags of this particular package. + +The problem is that all these *-config files by default give wrong, +host system linking flags that are unsuitable for cross-compiling. + +For example: -I/usr/include instead of -I$(STAGING_DIR)/usr/include +or: -L/usr/lib instead of -L$(STAGING_DIR)/usr/lib + +So some sed magic is done to these scripts to make them give correct +flags. The argument to be given to LIBFOO_CONFIG_SCRIPTS is the file +name(s) of the shell script(s) needing fixing. All these names are +relative to $(STAGING_DIR)/usr/bin and if needed multiple names can +be given. + +In addition, the scripts listed in LIBFOO_CONFIG_SCRIPTS are removed +from $(TARGET_DIR)/usr/bin, since they are not needed on the target. + +Example 17.1. Config script: divine package + +Package divine installs shell script $(STAGING_DIR)/usr/bin/ +divine-config. + +So its fixup would be: + +DIVINE_CONFIG_SCRIPTS = divine-config + + +Example 17.2. Config script: imagemagick package: + +Package imagemagick installs the following scripts: $(STAGING_DIR)/ +usr/bin/{Magick,Magick++,MagickCore,MagickWand,Wand}-config + +So it’s fixup would be: + +IMAGEMAGICK_CONFIG_SCRIPTS = \ + Magick-config Magick++-config \ + MagickCore-config MagickWand-config Wand-config + + +On line 14, we specify the list of dependencies this package relies +on. These dependencies are listed in terms of lower-case package +names, which can be packages for the target (without the host- +prefix) or packages for the host (with the host-) prefix). Buildroot +will ensure that all these packages are built and installed before +the current package starts its configuration. + +The rest of the Makefile, lines 16..29, defines what should be done +at the different steps of the package configuration, compilation and +installation. LIBFOO_BUILD_CMDS tells what steps should be performed +to build the package. LIBFOO_INSTALL_STAGING_CMDS tells what steps +should be performed to install the package in the staging space. +LIBFOO_INSTALL_TARGET_CMDS tells what steps should be performed to +install the package in the target space. + +All these steps rely on the $(@D) variable, which contains the +directory where the source code of the package has been extracted. + +On lines 31..43, we define a user that is used by this package (e.g. +to run a daemon as non-root) (LIBFOO_USERS). + +On line 35..37, we define a device-node file used by this package +(LIBFOO_DEVICES). + +On line 39..41, we define the permissions to set to specific files +installed by this package (LIBFOO_PERMISSIONS). + +Finally, on line 43, we call the generic-package function, which +generates, according to the variables defined previously, all the +Makefile code necessary to make your package working. + +17.5.2. generic-package reference + +There are two variants of the generic target. The generic-package +macro is used for packages to be cross-compiled for the target. The +host-generic-package macro is used for host packages, natively +compiled for the host. It is possible to call both of them in a +single .mk file: once to create the rules to generate a target +package and once to create the rules to generate a host package: + +$(eval $(generic-package)) +$(eval $(host-generic-package)) + +This might be useful if the compilation of the target package +requires some tools to be installed on the host. If the package name +is libfoo, then the name of the package for the target is also +libfoo, while the name of the package for the host is host-libfoo. +These names should be used in the DEPENDENCIES variables of other +packages, if they depend on libfoo or host-libfoo. + +The call to the generic-package and/or host-generic-package macro +must be at the end of the .mk file, after all variable definitions. + +For the target package, the generic-package uses the variables +defined by the .mk file and prefixed by the uppercased package name: +LIBFOO_*. host-generic-package uses the HOST_LIBFOO_* variables. For +some variables, if the HOST_LIBFOO_ prefixed variable doesn’t exist, +the package infrastructure uses the corresponding variable prefixed +by LIBFOO_. This is done for variables that are likely to have the +same value for both the target and host packages. See below for +details. + +The list of variables that can be set in a .mk file to give metadata +information is (assuming the package name is libfoo) : + + * LIBFOO_VERSION, mandatory, must contain the version of the + package. Note that if HOST_LIBFOO_VERSION doesn’t exist, it is + assumed to be the same as LIBFOO_VERSION. It can also be a + revision number, branch or tag for packages that are fetched + directly from their revision control system. Examples: + LIBFOO_VERSION = 0.1.2 LIBFOO_VERSION = + cb9d6aa9429e838f0e54faa3d455bcbab5eef057 LIBFOO_VERSION = stable + * LIBFOO_SOURCE may contain the name of the tarball of the package, + which Buildroot will use to download the tarball from + LIBFOO_SITE. If HOST_LIBFOO_SOURCE is not specified, it defaults + to LIBFOO_SOURCE. If none are specified, then the value is + assumed to be libfoo-$(LIBFOO_VERSION).tar.gz. Example: + LIBFOO_SOURCE = foobar-$(LIBFOO_VERSION).tar.bz2 + * LIBFOO_PATCH may contain a space-separated list of patch file + names, that Buildroot will download and apply to the package + source code. If an entry contains ://, then Buildroot will assume + it is a full URL and download the patch from this location. + Otherwise, Buildroot will assume that the patch should be + downloaded from LIBFOO_SITE. If HOST_LIBFOO_PATCH is not + specified, it defaults to LIBFOO_PATCH. Note that patches that + are included in Buildroot itself use a different mechanism: all + files of the form *.patch present in the package directory inside + Buildroot will be applied to the package after extraction (see + patching a package Chapter 18, Patching a package). Finally, + patches listed in the LIBFOO_PATCH variable are applied before + the patches stored in the Buildroot package directory. + * LIBFOO_SITE provides the location of the package, which can be a + URL or a local filesystem path. HTTP, FTP and SCP are supported + URL types for retrieving package tarballs. In these cases don’t + include a trailing slash: it will be added by Buildroot between + the directory and the filename as appropriate. Git, Subversion, + Mercurial, and Bazaar are supported URL types for retrieving + packages directly from source code management systems. There is a + helper function to make it easier to download source tarballs + from GitHub (refer to Section 17.20.3, “How to add a package from + GitHub†for details). A filesystem path may be used to specify + either a tarball or a directory containing the package source + code. See LIBFOO_SITE_METHOD below for more details on how + retrieval works. Note that SCP URLs should be of the form scp:// + [user@]host:filepath, and that filepath is relative to the user’s + home directory, so you may want to prepend the path with a slash + for absolute paths: scp://[user@]host:/absolutepath. If + HOST_LIBFOO_SITE is not specified, it defaults to LIBFOO_SITE. + Examples: LIBFOO_SITE=http://www.libfoosoftware.org/libfoo + LIBFOO_SITE=http://svn.xiph.org/trunk/Tremor LIBFOO_SITE=/opt/ + software/libfoo.tar.gz LIBFOO_SITE=$(TOPDIR)/../src/libfoo + * LIBFOO_DL_OPTS is a space-separated list of additional options to + pass to the downloader. Useful for retrieving documents with + server-side checking for user logins and passwords, or to use a + proxy. All download methods valid for LIBFOO_SITE_METHOD are + supported; valid options depend on the download method (consult + the man page for the respective download utilities). + * LIBFOO_EXTRA_DOWNLOADS is a space-separated list of additional + files that Buildroot should download. If an entry contains :// + then Buildroot will assume it is a complete URL and will download + the file using this URL. Otherwise, Buildroot will assume the + file to be downloaded is located at LIBFOO_SITE. Buildroot will + not do anything with those additional files, except download + them: it will be up to the package recipe to use them from $ + (DL_DIR). + * LIBFOO_SITE_METHOD determines the method used to fetch or copy + the package source code. In many cases, Buildroot guesses the + method from the contents of LIBFOO_SITE and setting + LIBFOO_SITE_METHOD is unnecessary. When HOST_LIBFOO_SITE_METHOD + is not specified, it defaults to the value of LIBFOO_SITE_METHOD. + The possible values of LIBFOO_SITE_METHOD are: + + + wget for normal FTP/HTTP downloads of tarballs. Used by + default when LIBFOO_SITE begins with http://, https:// or + ftp://. + + scp for downloads of tarballs over SSH with scp. Used by + default when LIBFOO_SITE begins with scp://. + + svn for retrieving source code from a Subversion repository. + Used by default when LIBFOO_SITE begins with svn://. When a + http:// Subversion repository URL is specified in + LIBFOO_SITE, one must specify LIBFOO_SITE_METHOD=svn. + Buildroot performs a checkout which is preserved as a tarball + in the download cache; subsequent builds use the tarball + instead of performing another checkout. + + cvs for retrieving source code from a CVS repository. Used by + default when LIBFOO_SITE begins with cvs://. The downloaded + source code is cached as with the svn method. Anonymous + pserver mode is assumed otherwise explicitly defined on + LIBFOO_SITE. Both LIBFOO_SITE=cvs://libfoo.net:/cvsroot/ + libfoo and LIBFOO_SITE=cvs://:ext:libfoo.net:/cvsroot/libfoo + are accepted, on the former anonymous pserver access mode is + assumed. LIBFOO_SITE must contain the source URL as well as + the remote repository directory. The module is the package + name. LIBFOO_VERSION is mandatory and must be a tag, a + branch, or a date (e.g. "2014-10-20", "2014-10-20 13:45", + "2014-10-20 13:45+01" see "man cvs" for further details). + + git for retrieving source code from a Git repository. Used by + default when LIBFOO_SITE begins with git://. The downloaded + source code is cached as with the svn method. + + hg for retrieving source code from a Mercurial repository. + One must specify LIBFOO_SITE_METHOD=hg when LIBFOO_SITE + contains a Mercurial repository URL. The downloaded source + code is cached as with the svn method. + + bzr for retrieving source code from a Bazaar repository. Used + by default when LIBFOO_SITE begins with bzr://. The + downloaded source code is cached as with the svn method. + + file for a local tarball. One should use this when + LIBFOO_SITE specifies a package tarball as a local filename. + Useful for software that isn’t available publicly or in + version control. + + local for a local source code directory. One should use this + when LIBFOO_SITE specifies a local directory path containing + the package source code. Buildroot copies the contents of the + source directory into the package’s build directory. Note + that for local packages, no patches are applied. If you need + to still patch the source code, use LIBFOO_POST_RSYNC_HOOKS, + see Section 17.18.1, “Using the POST_RSYNC hookâ€. + * LIBFOO_GIT_SUBMODULES can be set to YES to create an archive with + the git submodules in the repository. This is only available for + packages downloaded with git (i.e. when LIBFOO_SITE_METHOD=git). + Note that we try not to use such git submodules when they contain + bundled libraries, in which case we prefer to use those libraries + from their own package. + * LIBFOO_STRIP_COMPONENTS is the number of leading components + (directories) that tar must strip from file names on extraction. + The tarball for most packages has one leading component named " + -", thus Buildroot passes + --strip-components=1 to tar to remove it. For non-standard + packages that don’t have this component, or that have more than + one leading component to strip, set this variable with the value + to be passed to tar. Default: 1. + * LIBFOO_EXCLUDES is a space-separated list of patterns to exclude + when extracting the archive. Each item from that list is passed + as a tar’s --exclude option. By default, empty. + * LIBFOO_DEPENDENCIES lists the dependencies (in terms of package + name) that are required for the current target package to + compile. These dependencies are guaranteed to be compiled and + installed before the configuration of the current package starts. + In a similar way, HOST_LIBFOO_DEPENDENCIES lists the dependencies + for the current host package. + * LIBFOO_PATCH_DEPENDENCIES lists the dependencies (in terms of + package name) that are required for the current package to be + patched. These dependencies are guaranteed to be extracted and + patched before the current package is patched. In a similar way, + HOST_LIBFOO_PATCH_DEPENDENCIES lists the dependencies for the + current host package. This is seldom used; usually, + LIBFOO_DEPENDENCIES is what you really want to use. + * LIBFOO_PROVIDES lists all the virtual packages libfoo is an + implementation of. See Section 17.11, “Infrastructure for virtual + packagesâ€. + * LIBFOO_INSTALL_STAGING can be set to YES or NO (default). If set + to YES, then the commands in the LIBFOO_INSTALL_STAGING_CMDS + variables are executed to install the package into the staging + directory. + * LIBFOO_INSTALL_TARGET can be set to YES (default) or NO. If set + to YES, then the commands in the LIBFOO_INSTALL_TARGET_CMDS + variables are executed to install the package into the target + directory. + * LIBFOO_INSTALL_IMAGES can be set to YES or NO (default). If set + to YES, then the commands in the LIBFOO_INSTALL_IMAGES_CMDS + variable are executed to install the package into the images + directory. + * LIBFOO_CONFIG_SCRIPTS lists the names of the files in $ + (STAGING_DIR)/usr/bin that need some special fixing to make them + cross-compiling friendly. Multiple file names separated by space + can be given and all are relative to $(STAGING_DIR)/usr/bin. The + files listed in LIBFOO_CONFIG_SCRIPTS are also removed from $ + (TARGET_DIR)/usr/bin since they are not needed on the target. + * LIBFOO_DEVICES lists the device files to be created by Buildroot + when using the static device table. The syntax to use is the + makedevs one. You can find some documentation for this syntax in + the Chapter 23, Makedev syntax documentation. This variable is + optional. + * LIBFOO_PERMISSIONS lists the changes of permissions to be done at + the end of the build process. The syntax is once again the + makedevs one. You can find some documentation for this syntax in + the Chapter 23, Makedev syntax documentation. This variable is + optional. + * LIBFOO_USERS lists the users to create for this package, if it + installs a program you want to run as a specific user (e.g. as a + daemon, or as a cron-job). The syntax is similar in spirit to the + makedevs one, and is described in the Chapter 24, Makeusers + syntax documentation. This variable is optional. + * LIBFOO_LICENSE defines the license (or licenses) under which the + package is released. This name will appear in the manifest file + produced by make legal-info. If the license appears in the SPDX + License List [https://spdx.org/licenses/], use the SPDX short + identifier to make the manifest file uniform. Otherwise, describe + the license in a precise and concise way, avoiding ambiguous + names such as BSD which actually name a family of licenses. This + variable is optional. If it is not defined, unknown will appear + in the license field of the manifest file for this package. The + expected format for this variable must comply with the following + rules: + + + If different parts of the package are released under + different licenses, then comma separate licenses (e.g. + LIBFOO_LICENSE = GPL-2.0+, LGPL-2.1+). If there is clear + distinction between which component is licensed under what + license, then annotate the license with that component, + between parenthesis (e.g. LIBFOO_LICENSE = GPL-2.0+ + (programs), LGPL-2.1+ (libraries)). + + If the package is dual licensed, then separate licenses with + the or keyword (e.g. LIBFOO_LICENSE = AFL-2.1 or GPL-2.0+). + * LIBFOO_LICENSE_FILES is a space-separated list of files in the + package tarball that contain the license(s) under which the + package is released. make legal-info copies all of these files in + the legal-info directory. See Chapter 12, Legal notice and + licensing for more information. This variable is optional. If it + is not defined, a warning will be produced to let you know, and + not saved will appear in the license files field of the manifest + file for this package. + * LIBFOO_ACTUAL_SOURCE_TARBALL only applies to packages whose + LIBFOO_SITE / LIBTOO_SOURCE pair points to an archive that does + not actually contain source code, but binary code. This a very + uncommon case, only known to apply to external toolchains which + come already compiled, although theoretically it might apply to + other packages. In such cases a separate tarball is usually + available with the actual source code. Set + LIBFOO_ACTUAL_SOURCE_TARBALL to the name of the actual source + code archive and Buildroot will download it and use it when you + run make legal-info to collect legally-relevant material. Note + this file will not be downloaded during regular builds nor by + make source. + * LIBFOO_ACTUAL_SOURCE_SITE provides the location of the actual + source tarball. The default value is LIBFOO_SITE, so you don’t + need to set this variable if the binary and source archives are + hosted on the same directory. If LIBFOO_ACTUAL_SOURCE_TARBALL is + not set, it doesn’t make sense to define + LIBFOO_ACTUAL_SOURCE_SITE. + * LIBFOO_REDISTRIBUTE can be set to YES (default) or NO to indicate + if the package source code is allowed to be redistributed. Set it + to NO for non-opensource packages: Buildroot will not save the + source code for this package when collecting the legal-info. + * LIBFOO_FLAT_STACKSIZE defines the stack size of an application + built into the FLAT binary format. The application stack size on + the NOMMU architecture processors can’t be enlarged at run time. + The default stack size for the FLAT binary format is only 4k + bytes. If the application consumes more stack, append the + required number here. + +The recommended way to define these variables is to use the following +syntax: + +LIBFOO_VERSION = 2.32 + +Now, the variables that define what should be performed at the +different steps of the build process. + + * LIBFOO_EXTRACT_CMDS lists the actions to be performed to extract + the package. This is generally not needed as tarballs are + automatically handled by Buildroot. However, if the package uses + a non-standard archive format, such as a ZIP or RAR file, or has + a tarball with a non-standard organization, this variable allows + to override the package infrastructure default behavior. + * LIBFOO_CONFIGURE_CMDS lists the actions to be performed to + configure the package before its compilation. + * LIBFOO_BUILD_CMDS lists the actions to be performed to compile + the package. + * HOST_LIBFOO_INSTALL_CMDS lists the actions to be performed to + install the package, when the package is a host package. The + package must install its files to the directory given by $ + (HOST_DIR). All files, including development files such as + headers should be installed, since other packages might be + compiled on top of this package. + * LIBFOO_INSTALL_TARGET_CMDS lists the actions to be performed to + install the package to the target directory, when the package is + a target package. The package must install its files to the + directory given by $(TARGET_DIR). Only the files required for + execution of the package have to be installed. Header files, + static libraries and documentation will be removed again when the + target filesystem is finalized. + * LIBFOO_INSTALL_STAGING_CMDS lists the actions to be performed to + install the package to the staging directory, when the package is + a target package. The package must install its files to the + directory given by $(STAGING_DIR). All development files should + be installed, since they might be needed to compile other + packages. + * LIBFOO_INSTALL_IMAGES_CMDS lists the actions to be performed to + install the package to the images directory, when the package is + a target package. The package must install its files to the + directory given by $(BINARIES_DIR). Only files that are binary + images (aka images) that do not belong in the TARGET_DIR but are + necessary for booting the board should be placed here. For + example, a package should utilize this step if it has binaries + which would be similar to the kernel image, bootloader or root + filesystem images. + * LIBFOO_INSTALL_INIT_SYSV and LIBFOO_INSTALL_INIT_SYSTEMD list the + actions to install init scripts either for the systemV-like init + systems (busybox, sysvinit, etc.) or for the systemd units. These + commands will be run only when the relevant init system is + installed (i.e. if systemd is selected as the init system in the + configuration, only LIBFOO_INSTALL_INIT_SYSTEMD will be run). + * LIBFOO_HELP_CMDS lists the actions to print the package help, + which is included to the main make help output. These commands + can print anything in any format. This is seldom used, as + packages rarely have custom rules. Do not use this variable, + unless you really know that you need to print help. + +The preferred way to define these variables is: + +define LIBFOO_CONFIGURE_CMDS + action 1 + action 2 + action 3 +endef + +In the action definitions, you can use the following variables: + + * $(LIBFOO_PKGDIR) contains the path to the directory containing + the libfoo.mk and Config.in files. This variable is useful when + it is necessary to install a file bundled in Buildroot, like a + runtime configuration file, a splashscreen image… + * $(@D), which contains the directory in which the package source + code has been uncompressed. + * $(DL_DIR) contains the path to the directory where all the + downloads made by Buildroot are stored. + * $(TARGET_CC), $(TARGET_LD), etc. to get the target + cross-compilation utilities + * $(TARGET_CROSS) to get the cross-compilation toolchain prefix + * Of course the $(HOST_DIR), $(STAGING_DIR) and $(TARGET_DIR) + variables to install the packages properly. + +Finally, you can also use hooks. See Section 17.18, “Hooks available +in the various build steps†for more information. + +17.6. Infrastructure for autotools-based packages + +17.6.1. autotools-package tutorial + +First, let’s see how to write a .mk file for an autotools-based +package, with an example : + +01: ################################################################################ +02: # +03: # libfoo +04: # +05: ################################################################################ +06: +07: LIBFOO_VERSION = 1.0 +08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz +09: LIBFOO_SITE = http://www.foosoftware.org/download +10: LIBFOO_INSTALL_STAGING = YES +11: LIBFOO_INSTALL_TARGET = NO +12: LIBFOO_CONF_OPTS = --disable-shared +13: LIBFOO_DEPENDENCIES = libglib2 host-pkgconf +14: +15: $(eval $(autotools-package)) + +On line 7, we declare the version of the package. + +On line 8 and 9, we declare the name of the tarball (xz-ed tarball +recommended) and the location of the tarball on the Web. Buildroot +will automatically download the tarball from this location. + +On line 10, we tell Buildroot to install the package to the staging +directory. The staging directory, located in output/staging/ is the +directory where all the packages are installed, including their +development files, etc. By default, packages are not installed to the +staging directory, since usually, only libraries need to be installed +in the staging directory: their development files are needed to +compile other libraries or applications depending on them. Also by +default, when staging installation is enabled, packages are installed +in this location using the make install command. + +On line 11, we tell Buildroot to not install the package to the +target directory. This directory contains what will become the root +filesystem running on the target. For purely static libraries, it is +not necessary to install them in the target directory because they +will not be used at runtime. By default, target installation is +enabled; setting this variable to NO is almost never needed. Also by +default, packages are installed in this location using the make +install command. + +On line 12, we tell Buildroot to pass a custom configure option, that +will be passed to the ./configure script before configuring and +building the package. + +On line 13, we declare our dependencies, so that they are built +before the build process of our package starts. + +Finally, on line line 15, we invoke the autotools-package macro that +generates all the Makefile rules that actually allows the package to +be built. + +17.6.2. autotools-package reference + +The main macro of the autotools package infrastructure is +autotools-package. It is similar to the generic-package macro. The +ability to have target and host packages is also available, with the +host-autotools-package macro. + +Just like the generic infrastructure, the autotools infrastructure +works by defining a number of variables before calling the +autotools-package macro. + +First, all the package metadata information variables that exist in +the generic infrastructure also exist in the autotools +infrastructure: LIBFOO_VERSION, LIBFOO_SOURCE, LIBFOO_PATCH, +LIBFOO_SITE, LIBFOO_SUBDIR, LIBFOO_DEPENDENCIES, +LIBFOO_INSTALL_STAGING, LIBFOO_INSTALL_TARGET. + +A few additional variables, specific to the autotools infrastructure, +can also be defined. Many of them are only useful in very specific +cases, typical packages will therefore only use a few of them. + + * LIBFOO_SUBDIR may contain the name of a subdirectory inside the + package that contains the configure script. This is useful, if + for example, the main configure script is not at the root of the + tree extracted by the tarball. If HOST_LIBFOO_SUBDIR is not + specified, it defaults to LIBFOO_SUBDIR. + * LIBFOO_CONF_ENV, to specify additional environment variables to + pass to the configure script. By default, empty. + * LIBFOO_CONF_OPTS, to specify additional configure options to pass + to the configure script. By default, empty. + * LIBFOO_MAKE, to specify an alternate make command. This is + typically useful when parallel make is enabled in the + configuration (using BR2_JLEVEL) but that this feature should be + disabled for the given package, for one reason or another. By + default, set to $(MAKE). If parallel building is not supported by + the package, then it should be set to LIBFOO_MAKE=$(MAKE1). + * LIBFOO_MAKE_ENV, to specify additional environment variables to + pass to make in the build step. These are passed before the make + command. By default, empty. + * LIBFOO_MAKE_OPTS, to specify additional variables to pass to make + in the build step. These are passed after the make command. By + default, empty. + * LIBFOO_AUTORECONF, tells whether the package should be + autoreconfigured or not (i.e. if the configure script and + Makefile.in files should be re-generated by re-running autoconf, + automake, libtool, etc.). Valid values are YES and NO. By + default, the value is NO + * LIBFOO_AUTORECONF_ENV, to specify additional environment + variables to pass to the autoreconf program if LIBFOO_AUTORECONF= + YES. These are passed in the environment of the autoreconf + command. By default, empty. + * LIBFOO_AUTORECONF_OPTS to specify additional options passed to + the autoreconf program if LIBFOO_AUTORECONF=YES. By default, + empty. + * LIBFOO_GETTEXTIZE, tells whether the package should be + gettextized or not (i.e. if the package uses a different gettext + version than Buildroot provides, and it is needed to run + gettextize.) Only valid when LIBFOO_AUTORECONF=YES. Valid values + are YES and NO. The default is NO. + * LIBFOO_GETTEXTIZE_OPTS, to specify additional options passed to + the gettextize program, if LIBFOO_GETTEXTIZE=YES. You may use + that if, for example, the .po files are not located in the + standard place (i.e. in po/ at the root of the package.) By + default, -f. + * LIBFOO_LIBTOOL_PATCH tells whether the Buildroot patch to fix + libtool cross-compilation issues should be applied or not. Valid + values are YES and NO. By default, the value is YES + * LIBFOO_INSTALL_STAGING_OPTS contains the make options used to + install the package to the staging directory. By default, the + value is DESTDIR=$(STAGING_DIR) install, which is correct for + most autotools packages. It is still possible to override it. + * LIBFOO_INSTALL_TARGET_OPTS contains the make options used to + install the package to the target directory. By default, the + value is DESTDIR=$(TARGET_DIR) install. The default value is + correct for most autotools packages, but it is still possible to + override it if needed. + +With the autotools infrastructure, all the steps required to build +and install the packages are already defined, and they generally work +well for most autotools-based packages. However, when required, it is +still possible to customize what is done in any particular step: + + * By adding a post-operation hook (after extract, patch, configure, + build or install). See Section 17.18, “Hooks available in the + various build steps†for details. + * By overriding one of the steps. For example, even if the + autotools infrastructure is used, if the package .mk file defines + its own LIBFOO_CONFIGURE_CMDS variable, it will be used instead + of the default autotools one. However, using this method should + be restricted to very specific cases. Do not use it in the + general case. + +17.7. Infrastructure for CMake-based packages + +17.7.1. cmake-package tutorial + +First, let’s see how to write a .mk file for a CMake-based package, +with an example : + +01: ################################################################################ +02: # +03: # libfoo +04: # +05: ################################################################################ +06: +07: LIBFOO_VERSION = 1.0 +08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz +09: LIBFOO_SITE = http://www.foosoftware.org/download +10: LIBFOO_INSTALL_STAGING = YES +11: LIBFOO_INSTALL_TARGET = NO +12: LIBFOO_CONF_OPTS = -DBUILD_DEMOS=ON +13: LIBFOO_DEPENDENCIES = libglib2 host-pkgconf +14: +15: $(eval $(cmake-package)) + +On line 7, we declare the version of the package. + +On line 8 and 9, we declare the name of the tarball (xz-ed tarball +recommended) and the location of the tarball on the Web. Buildroot +will automatically download the tarball from this location. + +On line 10, we tell Buildroot to install the package to the staging +directory. The staging directory, located in output/staging/ is the +directory where all the packages are installed, including their +development files, etc. By default, packages are not installed to the +staging directory, since usually, only libraries need to be installed +in the staging directory: their development files are needed to +compile other libraries or applications depending on them. Also by +default, when staging installation is enabled, packages are installed +in this location using the make install command. + +On line 11, we tell Buildroot to not install the package to the +target directory. This directory contains what will become the root +filesystem running on the target. For purely static libraries, it is +not necessary to install them in the target directory because they +will not be used at runtime. By default, target installation is +enabled; setting this variable to NO is almost never needed. Also by +default, packages are installed in this location using the make +install command. + +On line 12, we tell Buildroot to pass custom options to CMake when it +is configuring the package. + +On line 13, we declare our dependencies, so that they are built +before the build process of our package starts. + +Finally, on line line 15, we invoke the cmake-package macro that +generates all the Makefile rules that actually allows the package to +be built. + +17.7.2. cmake-package reference + +The main macro of the CMake package infrastructure is cmake-package. +It is similar to the generic-package macro. The ability to have +target and host packages is also available, with the +host-cmake-package macro. + +Just like the generic infrastructure, the CMake infrastructure works +by defining a number of variables before calling the cmake-package +macro. + +First, all the package metadata information variables that exist in +the generic infrastructure also exist in the CMake infrastructure: +LIBFOO_VERSION, LIBFOO_SOURCE, LIBFOO_PATCH, LIBFOO_SITE, +LIBFOO_SUBDIR, LIBFOO_DEPENDENCIES, LIBFOO_INSTALL_STAGING, +LIBFOO_INSTALL_TARGET. + +A few additional variables, specific to the CMake infrastructure, can +also be defined. Many of them are only useful in very specific cases, +typical packages will therefore only use a few of them. + + * LIBFOO_SUBDIR may contain the name of a subdirectory inside the + package that contains the main CMakeLists.txt file. This is + useful, if for example, the main CMakeLists.txt file is not at + the root of the tree extracted by the tarball. If + HOST_LIBFOO_SUBDIR is not specified, it defaults to + LIBFOO_SUBDIR. + * LIBFOO_CONF_ENV, to specify additional environment variables to + pass to CMake. By default, empty. + * LIBFOO_CONF_OPTS, to specify additional configure options to pass + to CMake. By default, empty. A number of common CMake options are + set by the cmake-package infrastructure; so it is normally not + necessary to set them in the package’s *.mk file unless you want + to override them: + + + CMAKE_BUILD_TYPE is driven by BR2_ENABLE_DEBUG; + + CMAKE_INSTALL_PREFIX; + + BUILD_SHARED_LIBS is driven by BR2_STATIC_LIBS; + + BUILD_DOC, BUILD_DOCS are disabled; + + BUILD_EXAMPLE, BUILD_EXAMPLES are disabled; + + BUILD_TEST, BUILD_TESTS, BUILD_TESTING are disabled. + * LIBFOO_SUPPORTS_IN_SOURCE_BUILD = NO should be set when the + package cannot be built inside the source tree but needs a + separate build directory. + * LIBFOO_MAKE, to specify an alternate make command. This is + typically useful when parallel make is enabled in the + configuration (using BR2_JLEVEL) but that this feature should be + disabled for the given package, for one reason or another. By + default, set to $(MAKE). If parallel building is not supported by + the package, then it should be set to LIBFOO_MAKE=$(MAKE1). + * LIBFOO_MAKE_ENV, to specify additional environment variables to + pass to make in the build step. These are passed before the make + command. By default, empty. + * LIBFOO_MAKE_OPTS, to specify additional variables to pass to make + in the build step. These are passed after the make command. By + default, empty. + * LIBFOO_INSTALL_STAGING_OPTS contains the make options used to + install the package to the staging directory. By default, the + value is DESTDIR=$(STAGING_DIR) install, which is correct for + most CMake packages. It is still possible to override it. + * LIBFOO_INSTALL_TARGET_OPTS contains the make options used to + install the package to the target directory. By default, the + value is DESTDIR=$(TARGET_DIR) install. The default value is + correct for most CMake packages, but it is still possible to + override it if needed. + +With the CMake infrastructure, all the steps required to build and +install the packages are already defined, and they generally work +well for most CMake-based packages. However, when required, it is +still possible to customize what is done in any particular step: + + * By adding a post-operation hook (after extract, patch, configure, + build or install). See Section 17.18, “Hooks available in the + various build steps†for details. + * By overriding one of the steps. For example, even if the CMake + infrastructure is used, if the package .mk file defines its own + LIBFOO_CONFIGURE_CMDS variable, it will be used instead of the + default CMake one. However, using this method should be + restricted to very specific cases. Do not use it in the general + case. + +17.8. Infrastructure for Python packages + +This infrastructure applies to Python packages that use the standard +Python setuptools mechanism as their build system, generally +recognizable by the usage of a setup.py script. + +17.8.1. python-package tutorial + +First, let’s see how to write a .mk file for a Python package, with +an example : + +01: ################################################################################ +02: # +03: # python-foo +04: # +05: ################################################################################ +06: +07: PYTHON_FOO_VERSION = 1.0 +08: PYTHON_FOO_SOURCE = python-foo-$(PYTHON_FOO_VERSION).tar.xz +09: PYTHON_FOO_SITE = http://www.foosoftware.org/download +10: PYTHON_FOO_LICENSE = BSD-3-Clause +11: PYTHON_FOO_LICENSE_FILES = LICENSE +12: PYTHON_FOO_ENV = SOME_VAR=1 +13: PYTHON_FOO_DEPENDENCIES = libmad +14: PYTHON_FOO_SETUP_TYPE = distutils +15: +16: $(eval $(python-package)) + +On line 7, we declare the version of the package. + +On line 8 and 9, we declare the name of the tarball (xz-ed tarball +recommended) and the location of the tarball on the Web. Buildroot +will automatically download the tarball from this location. + +On line 10 and 11, we give licensing details about the package (its +license on line 10, and the file containing the license text on line +11). + +On line 12, we tell Buildroot to pass custom options to the Python +setup.py script when it is configuring the package. + +On line 13, we declare our dependencies, so that they are built +before the build process of our package starts. + +On line 14, we declare the specific Python build system being used. +In this case the distutils Python build system is used. The two +supported ones are distutils and setuptools. + +Finally, on line 16, we invoke the python-package macro that +generates all the Makefile rules that actually allow the package to +be built. + +17.8.2. python-package reference + +As a policy, packages that merely provide Python modules should all +be named python- in Buildroot. Other packages that use the +Python build system, but are not Python modules, can freely choose +their name (existing examples in Buildroot are scons and supervisor). + +In their Config.in file, they should depend on BR2_PACKAGE_PYTHON so +that when Buildroot will enable Python 3 usage for modules, we will +be able to enable Python modules progressively on Python 3. + +The main macro of the Python package infrastructure is +python-package. It is similar to the generic-package macro. It is +also possible to create Python host packages with the +host-python-package macro. + +Just like the generic infrastructure, the Python infrastructure works +by defining a number of variables before calling the python-package +or host-python-package macros. + +All the package metadata information variables that exist in the +generic package infrastructure Section 17.5.2, “generic-package +reference†also exist in the Python infrastructure: +PYTHON_FOO_VERSION, PYTHON_FOO_SOURCE, PYTHON_FOO_PATCH, +PYTHON_FOO_SITE, PYTHON_FOO_SUBDIR, PYTHON_FOO_DEPENDENCIES, +PYTHON_FOO_LICENSE, PYTHON_FOO_LICENSE_FILES, +PYTHON_FOO_INSTALL_STAGING, etc. + +Note that: + + * It is not necessary to add python or host-python in the + PYTHON_FOO_DEPENDENCIES variable of a package, since these basic + dependencies are automatically added as needed by the Python + package infrastructure. + * Similarly, it is not needed to add host-setuptools and/or + host-distutilscross dependencies to PYTHON_FOO_DEPENDENCIES for + setuptools-based packages, since these are automatically added by + the Python infrastructure as needed. + +One variable specific to the Python infrastructure is mandatory: + + * PYTHON_FOO_SETUP_TYPE, to define which Python build system is + used by the package. The two supported values are distutils and + setuptools. If you don’t know which one is used in your package, + look at the setup.py file in your package source code, and see + whether it imports things from the distutils module or the + setuptools module. + +A few additional variables, specific to the Python infrastructure, +can optionally be defined, depending on the package’s needs. Many of +them are only useful in very specific cases, typical packages will +therefore only use a few of them, or none. + + * PYTHON_FOO_ENV, to specify additional environment variables to + pass to the Python setup.py script (for both the build and + install steps). Note that the infrastructure is automatically + passing several standard variables, defined in + PKG_PYTHON_DISTUTILS_ENV (for distutils target packages), + HOST_PKG_PYTHON_DISTUTILS_ENV (for distutils host packages), + PKG_PYTHON_SETUPTOOLS_ENV (for setuptools target packages) and + HOST_PKG_PYTHON_SETUPTOOLS_ENV (for setuptools host packages). + * PYTHON_FOO_BUILD_OPTS, to specify additional options to pass to + the Python setup.py script during the build step. For target + distutils packages, the PKG_PYTHON_DISTUTILS_BUILD_OPTS options + are already passed automatically by the infrastructure. + * PYTHON_FOO_INSTALL_TARGET_OPTS, PYTHON_FOO_INSTALL_STAGING_OPTS, + HOST_PYTHON_FOO_INSTALL_OPTS to specify additional options to + pass to the Python setup.py script during the target installation + step, the staging installation step or the host installation, + respectively. Note that the infrastructure is automatically + passing some options, defined in + PKG_PYTHON_DISTUTILS_INSTALL_TARGET_OPTS or + PKG_PYTHON_DISTUTILS_INSTALL_STAGING_OPTS (for target distutils + packages), HOST_PKG_PYTHON_DISTUTILS_INSTALL_OPTS (for host + distutils packages), PKG_PYTHON_SETUPTOOLS_INSTALL_TARGET_OPTS or + PKG_PYTHON_SETUPTOOLS_INSTALL_STAGING_OPTS (for target setuptools + packages) and HOST_PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS (for host + setuptools packages). + * HOST_PYTHON_FOO_NEEDS_HOST_PYTHON, to define the host python + interpreter. The usage of this variable is limited to host + packages. The two supported value are python2 and python3. It + will ensure the right host python package is available and will + invoke it for the build. If some build steps are overloaded, the + right python interpreter must be explicitly called in the + commands. + +With the Python infrastructure, all the steps required to build and +install the packages are already defined, and they generally work +well for most Python-based packages. However, when required, it is +still possible to customize what is done in any particular step: + + * By adding a post-operation hook (after extract, patch, configure, + build or install). See Section 17.18, “Hooks available in the + various build steps†for details. + * By overriding one of the steps. For example, even if the Python + infrastructure is used, if the package .mk file defines its own + PYTHON_FOO_BUILD_CMDS variable, it will be used instead of the + default Python one. However, using this method should be + restricted to very specific cases. Do not use it in the general + case. + +17.8.3. Generating a python-package from a PyPI repository + +If the Python package for which you would like to create a Buildroot +package is available on PyPI, you may want to use the scanpypi tool +located in utils/ to automate the process. + +You can find the list of existing PyPI packages here [https:// +pypi.python.org]. + +scanpypi requires Python’s setuptools package to be installed on your +host. + +When at the root of your buildroot directory just do : + +utils/scanpypi foo bar -o package + +This will generate packages python-foo and python-bar in the package +folder if they exist on https://pypi.python.org. + +Find the external python modules menu and insert your package inside. +Keep in mind that the items inside a menu should be in alphabetical +order. + +Please keep in mind that you’ll most likely have to manually check +the package for any mistakes as there are things that cannot be +guessed by the generator (e.g. dependencies on any of the python core +modules such as BR2_PACKAGE_PYTHON_ZLIB). Also, please take note that +the license and license files are guessed and must be checked. You +also need to manually add the package to the package/Config.in file. + +If your Buildroot package is not in the official Buildroot tree but +in a br2-external tree, use the -o flag as follows: + +utils/scanpypi foo bar -o other_package_dir + +This will generate packages python-foo and python-bar in the +other_package_directory instead of package. + +Option -h will list the available options: + +utils/scanpypi -h + +17.8.4. python-package CFFI backend + +C Foreign Function Interface for Python (CFFI) provides a convenient +and reliable way to call compiled C code from Python using interface +declarations written in C. Python packages relying on this backend +can be identified by the appearance of a cffi dependency in the +install_requires field of their setup.py file. + +Such a package should: + + * add python-cffi as a runtime dependency in order to install the + compiled C library wrapper on the target. This is achieved by + adding select BR2_PACKAGE_PYTHON_CFFI to the package Config.in. + +config BR2_PACKAGE_PYTHON_FOO + bool "python-foo" + select BR2_PACKAGE_PYTHON_CFFI # runtime + + * add host-python-cffi as a build-time dependency in order to + cross-compile the C wrapper. This is achieved by adding + host-python-cffi to the PYTHON_FOO_DEPENDENCIES variable. + +################################################################################ +# +# python-foo +# +################################################################################ + +... + +PYTHON_FOO_DEPENDENCIES = host-python-cffi + +$(eval $(python-package)) + +17.9. Infrastructure for LuaRocks-based packages + +17.9.1. luarocks-package tutorial + +First, let’s see how to write a .mk file for a LuaRocks-based +package, with an example : + +01: ################################################################################ +02: # +03: # lua-foo +04: # +05: ################################################################################ +06: +07: LUA_FOO_VERSION = 1.0.2-1 +08: LUA_FOO_NAME_UPSTREAM = foo +09: LUA_FOO_DEPENDENCIES = bar +10: +11: LUA_FOO_BUILD_OPTS += BAR_INCDIR=$(STAGING_DIR)/usr/include +12: LUA_FOO_BUILD_OPTS += BAR_LIBDIR=$(STAGING_DIR)/usr/lib +13: LUA_FOO_LICENSE = luaFoo license +14: LUA_FOO_LICENSE_FILES = $(LUA_FOO_SUBDIR)/COPYING +15: +16: $(eval $(luarocks-package)) + +On line 7, we declare the version of the package (the same as in the +rockspec, which is the concatenation of the upstream version and the +rockspec revision, separated by a hyphen -). + +On line 8, we declare that the package is called "foo" on LuaRocks. +In Buildroot, we give Lua-related packages a name that starts with +"lua", so the Buildroot name is different from the upstream name. +LUA_FOO_NAME_UPSTREAM makes the link between the two names. + +On line 9, we declare our dependencies against native libraries, so +that they are built before the build process of our package starts. + +On lines 11-12, we tell Buildroot to pass custom options to LuaRocks +when it is building the package. + +On lines 13-14, we specify the licensing terms for the package. + +Finally, on line 16, we invoke the luarocks-package macro that +generates all the Makefile rules that actually allows the package to +be built. + +17.9.2. luarocks-package reference + +LuaRocks is a deployment and management system for Lua modules, and +supports various build.type: builtin, make and cmake. In the context +of Buildroot, the luarocks-package infrastructure only supports the +builtin mode. LuaRocks packages that use the make or cmake build +mechanisms should instead be packaged using the generic-package and +cmake-package infrastructures in Buildroot, respectively. + +The main macro of the LuaRocks package infrastructure is +luarocks-package: like generic-package it works by defining a number +of variables providing metadata information about the package, and +then calling luarocks-package. It is worth mentioning that building +LuaRocks packages for the host is not supported, so the macro +host-luarocks-package is not implemented. + +Just like the generic infrastructure, the LuaRocks infrastructure +works by defining a number of variables before calling the +luarocks-package macro. + +First, all the package metadata information variables that exist in +the generic infrastructure also exist in the LuaRocks infrastructure: +LUA_FOO_VERSION, LUA_FOO_SOURCE, LUA_FOO_SITE, LUA_FOO_DEPENDENCIES, +LUA_FOO_LICENSE, LUA_FOO_LICENSE_FILES. + +Two of them are populated by the LuaRocks infrastructure (for the +download step). If your package is not hosted on the LuaRocks mirror +$(BR2_LUAROCKS_MIRROR), you can override them: + + * LUA_FOO_SITE, which defaults to $(BR2_LUAROCKS_MIRROR) + * LUA_FOO_SOURCE, which defaults to $(lowercase + LUA_FOO_NAME_UPSTREAM)-$(LUA_FOO_VERSION).src.rock + +A few additional variables, specific to the LuaRocks infrastructure, +are also defined. They can be overridden in specific cases. + + * LUA_FOO_NAME_UPSTREAM, which defaults to lua-foo, i.e. the + Buildroot package name + * LUA_FOO_ROCKSPEC, which defaults to $(lowercase + LUA_FOO_NAME_UPSTREAM)-$(LUA_FOO_VERSION).rockspec + * LUA_FOO_SUBDIR, which defaults to $(LUA_FOO_NAME_UPSTREAM)-$ + (LUA_FOO_VERSION_WITHOUT_ROCKSPEC_REVISION) + * LUA_FOO_BUILD_OPTS contains additional build options for the + luarocks build call. + +17.10. Infrastructure for Perl/CPAN packages + +17.10.1. perl-package tutorial + +First, let’s see how to write a .mk file for a Perl/CPAN package, +with an example : + +01: ################################################################################ +02: # +03: # perl-foo-bar +04: # +05: ################################################################################ +06: +07: PERL_FOO_BAR_VERSION = 0.02 +08: PERL_FOO_BAR_SOURCE = Foo-Bar-$(PERL_FOO_BAR_VERSION).tar.gz +09: PERL_FOO_BAR_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MO/MONGER +10: PERL_FOO_BAR_DEPENDENCIES = perl-strictures +11: PERL_FOO_BAR_LICENSE = Artistic or GPL-1.0+ +12: PERL_FOO_BAR_LICENSE_FILES = LICENSE +13: +14: $(eval $(perl-package)) + +On line 7, we declare the version of the package. + +On line 8 and 9, we declare the name of the tarball and the location +of the tarball on a CPAN server. Buildroot will automatically +download the tarball from this location. + +On line 10, we declare our dependencies, so that they are built +before the build process of our package starts. + +On line 11 and 12, we give licensing details about the package (its +license on line 11, and the file containing the license text on line +12). + +Finally, on line 14, we invoke the perl-package macro that generates +all the Makefile rules that actually allow the package to be built. + +Most of these data can be retrieved from https://metacpan.org/. So, +this file and the Config.in can be generated by running the script +supports/scripts/scancpan Foo-Bar in the Buildroot directory (or in a +br2-external tree). This script creates a Config.in file and +foo-bar.mk file for the requested package, and also recursively for +all dependencies specified by CPAN. You should still manually edit +the result. In particular, the following things should be checked. + + * If the perl module links with a shared library that is provided + by another (non-perl) package, this dependency is not added + automatically. It has to be added manually to + PERL_FOO_BAR_DEPENDENCIES. + * The package/Config.in file has to be updated manually to include + the generated Config.in files. As a hint, the scancpan script + prints out the required source "…" statements, sorted + alphabetically. + +17.10.2. perl-package reference + +As a policy, packages that provide Perl/CPAN modules should all be +named perl- in Buildroot. + +This infrastructure handles various Perl build systems : +ExtUtils-MakeMaker (EUMM), Module-Build (MB) and Module-Build-Tiny. +Build.PL is preferred by default when a package provides a +Makefile.PL and a Build.PL. + +The main macro of the Perl/CPAN package infrastructure is +perl-package. It is similar to the generic-package macro. The ability +to have target and host packages is also available, with the +host-perl-package macro. + +Just like the generic infrastructure, the Perl/CPAN infrastructure +works by defining a number of variables before calling the +perl-package macro. + +First, all the package metadata information variables that exist in +the generic infrastructure also exist in the Perl/CPAN +infrastructure: PERL_FOO_VERSION, PERL_FOO_SOURCE, PERL_FOO_PATCH, +PERL_FOO_SITE, PERL_FOO_SUBDIR, PERL_FOO_DEPENDENCIES, +PERL_FOO_INSTALL_TARGET. + +Note that setting PERL_FOO_INSTALL_STAGING to YES has no effect +unless a PERL_FOO_INSTALL_STAGING_CMDS variable is defined. The perl +infrastructure doesn’t define these commands since Perl modules +generally don’t need to be installed to the staging directory. + +A few additional variables, specific to the Perl/CPAN infrastructure, +can also be defined. Many of them are only useful in very specific +cases, typical packages will therefore only use a few of them. + + * PERL_FOO_PREFER_INSTALLER/HOST_PERL_FOO_PREFER_INSTALLER, + specifies the preferred installation method. Possible values are + EUMM (for Makefile.PL based installation using + ExtUtils-MakeMaker) and MB (for Build.PL based installation using + Module-Build). This variable is only used when the package + provides both installation methods. + * PERL_FOO_CONF_ENV/HOST_PERL_FOO_CONF_ENV, to specify additional + environment variables to pass to the perl Makefile.PL or perl + Build.PL. By default, empty. + * PERL_FOO_CONF_OPTS/HOST_PERL_FOO_CONF_OPTS, to specify additional + configure options to pass to the perl Makefile.PL or perl + Build.PL. By default, empty. + * PERL_FOO_BUILD_OPTS/HOST_PERL_FOO_BUILD_OPTS, to specify + additional options to pass to make pure_all or perl Build build + in the build step. By default, empty. + * PERL_FOO_INSTALL_TARGET_OPTS, to specify additional options to + pass to make pure_install or perl Build install in the install + step. By default, empty. + * HOST_PERL_FOO_INSTALL_OPTS, to specify additional options to pass + to make pure_install or perl Build install in the install step. + By default, empty. + +17.11. Infrastructure for virtual packages + +In Buildroot, a virtual package is a package whose functionalities +are provided by one or more packages, referred to as providers. The +virtual package management is an extensible mechanism allowing the +user to choose the provider used in the rootfs. + +For example, OpenGL ES is an API for 2D and 3D graphics on embedded +systems. The implementation of this API is different for the +Allwinner Tech Sunxi and the Texas Instruments OMAP35xx platforms. So +libgles will be a virtual package and sunxi-mali and ti-gfx will be +the providers. + +17.11.1. virtual-package tutorial + +In the following example, we will explain how to add a new virtual +package (something-virtual) and a provider for it (some-provider). + +First, let’s create the virtual package. + +17.11.2. Virtual package’s Config.in file + +The Config.in file of virtual package something-virtual should +contain: + +01: config BR2_PACKAGE_HAS_SOMETHING_VIRTUAL +02: bool +03: +04: config BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL +05: depends on BR2_PACKAGE_HAS_SOMETHING_VIRTUAL +06: string + +In this file, we declare two options, +BR2_PACKAGE_HAS_SOMETHING_VIRTUAL and +BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL, whose values will be used by +the providers. + +17.11.3. Virtual package’s .mk file + +The .mk for the virtual package should just evaluate the +virtual-package macro: + +01: ################################################################################ +02: # +03: # something-virtual +04: # +05: ################################################################################ +06: +07: $(eval $(virtual-package)) + +The ability to have target and host packages is also available, with +the host-virtual-package macro. + +17.11.4. Provider’s Config.in file + +When adding a package as a provider, only the Config.in file requires +some modifications. + +The Config.in file of the package some-provider, which provides the +functionalities of something-virtual, should contain: + +01: config BR2_PACKAGE_SOME_PROVIDER +02: bool "some-provider" +03: select BR2_PACKAGE_HAS_SOMETHING_VIRTUAL +04: help +05: This is a comment that explains what some-provider is. +06: +07: http://foosoftware.org/some-provider/ +08: +09: if BR2_PACKAGE_SOME_PROVIDER +10: config BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL +11: default "some-provider" +12: endif + +On line 3, we select BR2_PACKAGE_HAS_SOMETHING_VIRTUAL, and on line +11, we set the value of BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL to the +name of the provider, but only if it is selected. + +17.11.5. Provider’s .mk file + +The .mk file should also declare an additional variable +SOME_PROVIDER_PROVIDES to contain the names of all the virtual +packages it is an implementation of: + +01: SOME_PROVIDER_PROVIDES = something-virtual + +Of course, do not forget to add the proper build and runtime +dependencies for this package! + +17.11.6. Notes on depending on a virtual package + +When adding a package that requires a certain FEATURE provided by a +virtual package, you have to use depends on BR2_PACKAGE_HAS_FEATURE, +like so: + +config BR2_PACKAGE_HAS_FEATURE + bool + +config BR2_PACKAGE_FOO + bool "foo" + depends on BR2_PACKAGE_HAS_FEATURE + +17.11.7. Notes on depending on a specific provider + +If your package really requires a specific provider, then you’ll have +to make your package depends on this provider; you can not select a +provider. + +Let’s take an example with two providers for a FEATURE: + +config BR2_PACKAGE_HAS_FEATURE + bool + +config BR2_PACKAGE_FOO + bool "foo" + select BR2_PACKAGE_HAS_FEATURE + +config BR2_PACKAGE_BAR + bool "bar" + select BR2_PACKAGE_HAS_FEATURE + +And you are adding a package that needs FEATURE as provided by foo, +but not as provided by bar. + +If you were to use select BR2_PACKAGE_FOO, then the user would still +be able to select BR2_PACKAGE_BAR in the menuconfig. This would +create a configuration inconsistency, whereby two providers of the +same FEATURE would be enabled at once, one explicitly set by the +user, the other implicitly by your select. + +Instead, you have to use depends on BR2_PACKAGE_FOO, which avoids any +implicit configuration inconsistency. + +17.12. Infrastructure for packages using kconfig for configuration +files + +A popular way for a software package to handle user-specified +configuration is kconfig. Among others, it is used by the Linux +kernel, Busybox, and Buildroot itself. The presence of a .config file +and a menuconfig target are two well-known symptoms of kconfig being +used. + +Buildroot features an infrastructure for packages that use kconfig +for their configuration. This infrastructure provides the necessary +logic to expose the package’s menuconfig target as foo-menuconfig in +Buildroot, and to handle the copying back and forth of the +configuration file in a correct way. + +The kconfig-package infrastructure is based on the generic-package +infrastructure. All variables supported by generic-package are +available in kconfig-package as well. See Section 17.5.2, +“generic-package reference†for more details. + +In order to use the kconfig-package infrastructure for a Buildroot +package, the minimally required lines in the .mk file, in addition to +the variables required by the generic-package infrastructure, are: + +FOO_KCONFIG_FILE = reference-to-source-configuration-file + +$(eval $(kconfig-package)) + +This snippet creates the following make targets: + + * foo-menuconfig, which calls the package’s menuconfig target + * foo-update-config, which copies the configuration back to the + source configuration file. It is not possible to use this target + when fragment files are set. + * foo-update-defconfig, which copies the configuration back to the + source configuration file. The configuration file will only list + the options that differ from the default values. It is not + possible to use this target when fragment files are set. + +and ensures that the source configuration file is copied to the build +directory at the right moment. + +There are two options to specify a configuration file to use, either +FOO_KCONFIG_FILE (as in the example, above) or FOO_KCONFIG_DEFCONFIG. +It is mandatory to provide either, but not both: + + * FOO_KCONFIG_FILE specifies the path to a defconfig or full-config + file to be used to configure the package. + * FOO_KCONFIG_DEFCONFIG specifies the defconfig make rule to call + to configure the package. + +In addition to these minimally required lines, several optional +variables can be set to suit the needs of the package under +consideration: + + * FOO_KCONFIG_EDITORS: a space-separated list of kconfig editors to + support, for example menuconfig xconfig. By default, menuconfig. + * FOO_KCONFIG_FRAGMENT_FILES: a space-separated list of + configuration fragment files that are merged to the main + configuration file. Fragment files are typically used when there + is a desire to stay in sync with an upstream (def)config file, + with some minor modifications. + * FOO_KCONFIG_OPTS: extra options to pass when calling the kconfig + editors. This may need to include $(FOO_MAKE_OPTS), for example. + By default, empty. + * FOO_KCONFIG_FIXUP_CMDS: a list of shell commands needed to fixup + the configuration file after copying it or running a kconfig + editor. Such commands may be needed to ensure a configuration + consistent with other configuration of Buildroot, for example. By + default, empty. + * FOO_KCONFIG_DOTCONFIG: path (with filename) of the .config file, + relative to the package source tree. The default, .config, should + be well suited for all packages that use the standard kconfig + infrastructure as inherited from the Linux kernel; some packages + use a derivative of kconfig that use a different location. + +17.13. Infrastructure for rebar-based packages + +17.13.1. rebar-package tutorial + +First, let’s see how to write a .mk file for a rebar-based package, +with an example : + +01: ################################################################################ +02: # +03: # erlang-foobar +04: # +05: ################################################################################ +06: +07: ERLANG_FOOBAR_VERSION = 1.0 +08: ERLANG_FOOBAR_SOURCE = erlang-foobar-$(ERLANG_FOOBAR_VERSION).tar.xz +09: ERLANG_FOOBAR_SITE = http://www.foosoftware.org/download +10: ERLANG_FOOBAR_DEPENDENCIES = host-libaaa libbbb +11: +12: $(eval $(rebar-package)) + +On line 7, we declare the version of the package. + +On line 8 and 9, we declare the name of the tarball (xz-ed tarball +recommended) and the location of the tarball on the Web. Buildroot +will automatically download the tarball from this location. + +On line 10, we declare our dependencies, so that they are built +before the build process of our package starts. + +Finally, on line 12, we invoke the rebar-package macro that generates +all the Makefile rules that actually allows the package to be built. + +17.13.2. rebar-package reference + +The main macro of the rebar package infrastructure is rebar-package. +It is similar to the generic-package macro. The ability to have host +packages is also available, with the host-rebar-package macro. + +Just like the generic infrastructure, the rebar infrastructure works +by defining a number of variables before calling the rebar-package +macro. + +First, all the package metadata information variables that exist in +the generic infrastructure also exist in the rebar infrastructure: +ERLANG_FOOBAR_VERSION, ERLANG_FOOBAR_SOURCE, ERLANG_FOOBAR_PATCH, +ERLANG_FOOBAR_SITE, ERLANG_FOOBAR_SUBDIR, ERLANG_FOOBAR_DEPENDENCIES, +ERLANG_FOOBAR_INSTALL_STAGING, ERLANG_FOOBAR_INSTALL_TARGET, +ERLANG_FOOBAR_LICENSE and ERLANG_FOOBAR_LICENSE_FILES. + +A few additional variables, specific to the rebar infrastructure, can +also be defined. Many of them are only useful in very specific cases, +typical packages will therefore only use a few of them. + + * ERLANG_FOOBAR_USE_AUTOCONF, to specify that the package uses + autoconf at the configuration step. When a package sets this + variable to YES, the autotools infrastructure is used. + + Note. You can also use some of the variables from the autotools + infrastructure: ERLANG_FOOBAR_CONF_ENV, ERLANG_FOOBAR_CONF_OPTS, + ERLANG_FOOBAR_AUTORECONF, ERLANG_FOOBAR_AUTORECONF_ENV and + ERLANG_FOOBAR_AUTORECONF_OPTS. + + * ERLANG_FOOBAR_USE_BUNDLED_REBAR, to specify that the package has + a bundled version of rebar and that it shall be used. Valid + values are YES or NO (the default). + + Note. If the package bundles a rebar utility, but can use the + generic one that Buildroot provides, just say NO (i.e., do not + specify this variable). Only set if it is mandatory to use the + rebar utility bundled in this package. + + * ERLANG_FOOBAR_REBAR_ENV, to specify additional environment + variables to pass to the rebar utility. + +With the rebar infrastructure, all the steps required to build and +install the packages are already defined, and they generally work +well for most rebar-based packages. However, when required, it is +still possible to customize what is done in any particular step: + + * By adding a post-operation hook (after extract, patch, configure, + build or install). See Section 17.18, “Hooks available in the + various build steps†for details. + * By overriding one of the steps. For example, even if the rebar + infrastructure is used, if the package .mk file defines its own + ERLANG_FOOBAR_BUILD_CMDS variable, it will be used instead of the + default rebar one. However, using this method should be + restricted to very specific cases. Do not use it in the general + case. + +17.14. Infrastructure for Waf-based packages + +17.14.1. waf-package tutorial + +First, let’s see how to write a .mk file for a Waf-based package, +with an example : + +01: ################################################################################ +02: # +03: # libfoo +04: # +05: ################################################################################ +06: +07: LIBFOO_VERSION = 1.0 +08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz +09: LIBFOO_SITE = http://www.foosoftware.org/download +10: LIBFOO_CONF_OPTS = --enable-bar --disable-baz +11: LIBFOO_DEPENDENCIES = bar +12: +13: $(eval $(waf-package)) + +On line 7, we declare the version of the package. + +On line 8 and 9, we declare the name of the tarball (xz-ed tarball +recommended) and the location of the tarball on the Web. Buildroot +will automatically download the tarball from this location. + +On line 10, we tell Buildroot what options to enable for libfoo. + +On line 11, we tell Buildroot the depednencies of libfoo. + +Finally, on line line 13, we invoke the waf-package macro that +generates all the Makefile rules that actually allows the package to +be built. + +17.14.2. waf-package reference + +The main macro of the Waf package infrastructure is waf-package. It +is similar to the generic-package macro. + +Just like the generic infrastructure, the Waf infrastructure works by +defining a number of variables before calling the waf-package macro. + +First, all the package metadata information variables that exist in +the generic infrastructure also exist in the Waf infrastructure: +LIBFOO_VERSION, LIBFOO_SOURCE, LIBFOO_PATCH, LIBFOO_SITE, +LIBFOO_SUBDIR, LIBFOO_DEPENDENCIES, LIBFOO_INSTALL_STAGING, +LIBFOO_INSTALL_TARGET. + +An additional variable, specific to the Waf infrastructure, can also +be defined. + + * LIBFOO_NEEDS_EXTERNAL_WAF can be set to YES or NO to tell + Buildroot to use the bundled waf executable. If set to NO, the + default, then Buildroot will use the waf executable provided in + the package source tree; if set to YES, then Buidlroot will + download, install waf as a host tool and use it to build the + package. + * LIBFOO_WAF_OPTS, to specify additional options to pass to the waf + script at every step of the package build process: configure, + build and installation. By default, empty. + * LIBFOO_CONF_OPTS, to specify additional options to pass to the + waf script for the configuration step. By default, empty. + * LIBFOO_BUILD_OPTS, to specify additional options to pass to the + waf script during the build step. By default, empty. + * LIBFOO_INSTALL_STAGING_OPTS, to specify additional options to + pass to the waf script during the staging installation step. By + default, empty. + * LIBFOO_INSTALL_TARGET_OPTS, to specify additional options to pass + to the waf script during the target installation step. By + default, empty. + +17.15. Infrastructure for packages building kernel modules + +Buildroot offers a helper infrastructure to make it easy to write +packages that build and install Linux kernel modules. Some packages +only contain a kernel module, other packages contain programs and +libraries in addition to kernel modules. Buildroot’s helper +infrastructure supports either case. + +17.15.1. kernel-module tutorial + +Let’s start with an example on how to prepare a simple package that +only builds a kernel module, and no other component: + +01: ################################################################################ +02: # +03: # foo +04: # +05: ################################################################################ +06: +07: FOO_VERSION = 1.2.3 +08: FOO_SOURCE = foo-$(FOO_VERSION).tar.xz +09: FOO_SITE = http://www.foosoftware.org/download +10: FOO_LICENSE = GPL-2.0 +11: FOO_LICENSE_FILES = COPYING +12: +13: $(eval $(kernel-module)) +14: $(eval $(generic-package)) + +Lines 7-11 define the usual meta-data to specify the version, archive +name, remote URI where to find the package source, licensing +information. + +On line 13, we invoke the kernel-module helper infrastructure, that +generates all the appropriate Makefile rules and variables to build +that kernel module. + +Finally, on line 14, we invoke the generic-package infrastructure +Section 17.5.1, “generic-package tutorialâ€. + +The dependency on linux is automatically added, so it is not needed +to specify it in FOO_DEPENDENCIES. + +What you may have noticed is that, unlike other package +infrastructures, we explicitly invoke a second infrastructure. This +allows a package to build a kernel module, but also, if needed, use +any one of other package infrastructures to build normal userland +components (libraries, executables…). Using the kernel-module +infrastructure on its own is not sufficient; another package +infrastructure must be used. + +Let’s look at a more complex example: + +01: ################################################################################ +02: # +03: # foo +04: # +05: ################################################################################ +06: +07: FOO_VERSION = 1.2.3 +08: FOO_SOURCE = foo-$(FOO_VERSION).tar.xz +09: FOO_SITE = http://www.foosoftware.org/download +10: FOO_LICENSE = GPL-2.0 +11: FOO_LICENSE_FILES = COPYING +12: +13: FOO_MODULE_SUBDIRS = driver/base +14: FOO_MODULE_MAKE_OPTS = KVERSION=$(LINUX_VERSION_PROBED) +15: +16: ifeq ($(BR2_PACKAGE_LIBBAR),y) +17: FOO_DEPENDENCIES = libbar +18: FOO_CONF_OPTS = --enable-bar +19: FOO_MODULE_SUBDIRS += driver/bar +20: else +21: FOO_CONF_OPTS = --disable-bar +22: endif +23: +24: $(eval $(kernel-module)) +26: $(eval $(autotools-package)) + +Here, we see that we have an autotools-based package, that also +builds the kernel module located in sub-directory driver/base and, if +libbar is enabled, the kernel module located in sub-directory driver/ +bar, and defines the variable KVERSION to be passed to the Linux +buildsystem when building the module(s). + +17.15.2. kernel-module reference + +The main macro for the kernel module infrastructure is kernel-module. +Unlike other package infrastructures, it is not stand-alone, and +requires any of the other *-package macros be called after it. + +The kernel-module macro defines post-build and post-target-install +hooks to build the kernel modules. If the package’s .mk needs access +to the built kernel modules, it should do so in a post-build hook, +registered after the call to kernel-module. Similarly, if the +package’s .mk needs access to the kernel module after it has been +installed, it should do so in a post-install hook, registered after +the call to kernel-module. Here’s an example: + +$(eval $(kernel-module)) + +define FOO_DO_STUFF_WITH_KERNEL_MODULE + # Do something with it... +endef +FOO_POST_BUILD_HOOKS += FOO_DO_STUFF_WITH_KERNEL_MODULE + +$(eval $(generic-package)) + +Finally, unlike the other package infrastructures, there is no +host-kernel-module variant to build a host kernel module. + +The following additional variables can optionally be defined to +further configure the build of the kernel module: + + * FOO_MODULE_SUBDIRS may be set to one or more sub-directories + (relative to the package source top-directory) where the kernel + module sources are. If empty or not set, the sources for the + kernel module(s) are considered to be located at the top of the + package source tree. + * FOO_MODULE_MAKE_OPTS may be set to contain extra variable + definitions to pass to the Linux buildsystem. + +You may also reference (but you may not set!) those variables: + + * LINUX_DIR contains the path to where the Linux kernel has been + extracted and built. + * LINUX_VERSION contains the version string as configured by the + user. + * LINUX_VERSION_PROBED contains the real version string of the + kernel, retrieved with running make -C $(LINUX_DIR) kernelrelease + * KERNEL_ARCH contains the name of the current architecture, like + arm, mips… + +17.16. Infrastructure for asciidoc documents + +The Buildroot manual, which you are currently reading, is entirely +written using the AsciiDoc [http://asciidoc.org/] mark-up syntax. The +manual is then rendered to many formats: + + * html + * split-html + * pdf + * epub + * text + +Although Buildroot only contains one document written in AsciiDoc, +there is, as for packages, an infrastructure for rendering documents +using the AsciiDoc syntax. + +Also as for packages, the AsciiDoc infrastructure is available from a +br2-external tree Section 9.2, “Keeping customizations outside of +Buildrootâ€. This allows documentation for a br2-external tree to +match the Buildroot documentation, as it will be rendered to the same +formats and use the same layout and theme. + +17.16.1. asciidoc-document tutorial + +Whereas package infrastructures are suffixed with -package, the +document infrastructures are suffixed with -document. So, the +AsciiDoc infrastructure is named asciidoc-document. + +Here is an example to render a simple AsciiDoc document. + +01: ################################################################################ +02: # +03: # foo-document +04: # +05: ################################################################################ +06: +07: FOO_SOURCES = $(sort $(wildcard $(pkgdir)/*)) +08: $(eval $(call asciidoc-document)) + +On line 7, the Makefile declares what the sources of the document +are. Currently, it is expected that the document’s sources are only +local; Buildroot will not attempt to download anything to render a +document. Thus, you must indicate where the sources are. Usually, the +string above is sufficient for a document with no sub-directory +structure. + +On line 8, we call the asciidoc-document function, which generates +all the Makefile code necessary to render the document. + +17.16.2. asciidoc-document reference + +The list of variables that can be set in a .mk file to give metadata +information is (assuming the document name is foo) : + + * FOO_SOURCES, mandatory, defines the source files for the + document. + * FOO_RESOURCES, optional, may contain a space-separated list of + paths to one or more directories containing so-called resources + (like CSS or images). By default, empty. + * FOO_DEPENDENCIES, optional, the list of packages (most probably, + host-packages) that must be built before building this document. + If a hook of your document needs to access the Kconfig structure, + you may add prepare-kconfig to the list of dependencies. + +There are also additional hooks (see Section 17.18, “Hooks available +in the various build steps†for general information on hooks), that a +document may set to define extra actions to be done at various steps: + + * FOO_POST_RSYNC_HOOKS to run additional commands after the sources + have been copied by Buildroot. This can for example be used to + generate part of the manual with information extracted from the + tree. As an example, Buildroot uses this hook to generate the + tables in the appendices. + * FOO_CHECK_DEPENDENCIES_HOOKS to run additional tests on required + components to generate the document. In AsciiDoc, it is possible + to call filters, that is, programs that will parse an AsciiDoc + block and render it appropriately (e.g. ditaa [http:// + ditaa.sourceforge.net/] or aafigure [https://pythonhosted.org/ + aafigure/]). + * FOO_CHECK_DEPENDENCIES__HOOKS, to run additional tests for + the specified format (see the list of rendered formats, + above). + +Here is a complete example that uses all variables and all hooks: + +01: ################################################################################ +02: # +03: # foo-document +04: # +05: ################################################################################ +06: +07: FOO_SOURCES = $(sort $(wildcard $(pkgdir)/*)) +08: FOO_RESOURCES = $(sort $(wildcard $(pkgdir)/ressources)) +09: +10: define FOO_GEN_EXTRA_DOC +11: /path/to/generate-script --outdir=$(@D) +12: endef +13: FOO_POST_RSYNC_HOOKS += FOO_GEN_EXTRA_DOC +14: +15: define FOO_CHECK_MY_PROG +16: if ! which my-prog >/dev/null 2>&1; then \ +17: echo "You need my-prog to generate the foo document"; \ +18: exit 1; \ +19: fi +20: endef +21: FOO_CHECK_DEPENDENCIES_HOOKS += FOO_CHECK_MY_PROG +22: +23: define FOO_CHECK_MY_OTHER_PROG +24: if ! which my-other-prog >/dev/null 2>&1; then \ +25: echo "You need my-other-prog to generate the foo document as PDF"; \ +26: exit 1; \ +27: fi +28: endef +29: FOO_CHECK_DEPENDENCIES_PDF_HOOKS += FOO_CHECK_MY_OTHER_PROG +30: +31: $(eval $(call asciidoc-document)) + +17.17. Infrastructure specific to the Linux kernel package + +The Linux kernel package can use some specific infrastructures based +on package hooks for building Linux kernel tools or/and building +Linux kernel extensions. + +17.17.1. linux-kernel-tools + +Buildroot offers a helper infrastructure to build some userspace +tools for the target available within the Linux kernel sources. Since +their source code is part of the kernel source code, a special +package, linux-tools, exists and re-uses the sources of the Linux +kernel that runs on the target. + +Let’s look at an example of a Linux tool. For a new Linux tool named +foo, create a new menu entry in the existing package/linux-tools/ +Config.in. This file will contain the option descriptions related to +each kernel tool that will be used and displayed in the configuration +tool. It would basically look like: + +01: config BR2_PACKAGE_LINUX_TOOLS_FOO +02: bool "foo" +03: select BR2_PACKAGE_LINUX_TOOLS +04: help +05: This is a comment that explains what foo kernel tool is. +06: +07: http://foosoftware.org/foo/ + +The name of the option starts with the prefix +BR2_PACKAGE_LINUX_TOOLS_, followed by the uppercase name of the tool +(like is done for packages). + +Note. Unlike other packages, the linux-tools package options appear +in the linux kernel menu, under the Linux Kernel Tools sub-menu, not +under the Target packages main menu. + +Then for each linux tool, add a new .mk.in file named package/ +linux-tools/linux-tool-foo.mk.in. It would basically look like: + +01: ################################################################################ +02: # +03: # foo +04: # +05: ################################################################################ +06: +07: LINUX_TOOLS += foo +08: +09: FOO_DEPENDENCIES = libbbb +10: +11: define FOO_BUILD_CMDS +12: $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools foo +13: endef +14: +15: define FOO_INSTALL_STAGING_CMDS +16: $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \ +17: DESTDIR=$(STAGING_DIR) \ +18: foo_install +19: endef +20: +21: define FOO_INSTALL_TARGET_CMDS +22: $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \ +23: DESTDIR=$(TARGET_DIR) \ +24: foo_install +25: endef + +On line 7, we register the Linux tool foo to the list of available +Linux tools. + +On line 9, we specify the list of dependencies this tool relies on. +These dependencies are added to the Linux package dependencies list +only when the foo tool is selected. + +The rest of the Makefile, lines 11-25 defines what should be done at +the different steps of the Linux tool build process like for a +generic package Section 17.5.1, “generic-package tutorialâ€. They will +actually be used only when the foo tool is selected. The only +supported commands are _BUILD_CMDS, _INSTALL_STAGING_CMDS and +_INSTALL_TARGET_CMDS. + +Note. One must not call $(eval $(generic-package)) or any other +package infrastructure! Linux tools are not packages by themselves, +they are part of the linux-tools package. + +17.17.2. linux-kernel-extensions + +Some packages provide new features that require the Linux kernel tree +to be modified. This can be in the form of patches to be applied on +the kernel tree, or in the form of new files to be added to the tree. +The Buildroot’s Linux kernel extensions infrastructure provides a +simple solution to automatically do this, just after the kernel +sources are extracted and before the kernel patches are applied. +Examples of extensions packaged using this mechanism are the +real-time extensions Xenomai and RTAI, as well as the set of +out-of-tree LCD screens drivers fbtft. + +Let’s look at an example on how to add a new Linux extension foo. + +First, create the package foo that provides the extension: this +package is a standard package; see the previous chapters on how to +create such a package. This package is in charge of downloading the +sources archive, checking the hash, defining the licence informations +and building user space tools if any. + +Then create the Linux extension proper: create a new menu entry in +the existing linux/Config.ext.in. This file contains the option +descriptions related to each kernel extension that will be used and +displayed in the configuration tool. It would basically look like: + +01: config BR2_LINUX_KERNEL_EXT_FOO +02: bool "foo" +03: help +04: This is a comment that explains what foo kernel extension is. +05: +06: http://foosoftware.org/foo/ + +Then for each linux extension, add a new .mk file named linux/ +linux-ext-foo.mk. It should basically contain: + +01: ################################################################################ +02: # +03: # foo +04: # +05: ################################################################################ +06: +07: LINUX_EXTENSIONS += foo +08: +09: define FOO_PREPARE_KERNEL +10: $(FOO_DIR)/prepare-kernel-tree.sh --linux-dir=$(@D) +11: endef + +On line 7, we add the Linux extension foo to the list of available +Linux extensions. + +On line 9-11, we define what should be done by the extension to +modify the Linux kernel tree; this is specific to the linux extension +and can use the variables defined by the foo package, like: $ +(FOO_DIR) or $(FOO_VERSION)… as well as all the Linux variables, +like: $(LINUX_VERSION) or $(LINUX_VERSION_PROBED), $(KERNEL_ARCH)… +See the definition of those kernel variables Section 17.15.2, +“kernel-module referenceâ€. + +17.18. Hooks available in the various build steps + +The generic infrastructure (and as a result also the derived +autotools and cmake infrastructures) allow packages to specify hooks. +These define further actions to perform after existing steps. Most +hooks aren’t really useful for generic packages, since the .mk file +already has full control over the actions performed in each step of +the package construction. + +The following hook points are available: + + * LIBFOO_PRE_DOWNLOAD_HOOKS + * LIBFOO_POST_DOWNLOAD_HOOKS + * LIBFOO_PRE_EXTRACT_HOOKS + * LIBFOO_POST_EXTRACT_HOOKS + * LIBFOO_PRE_RSYNC_HOOKS + * LIBFOO_POST_RSYNC_HOOKS + * LIBFOO_PRE_PATCH_HOOKS + * LIBFOO_POST_PATCH_HOOKS + * LIBFOO_PRE_CONFIGURE_HOOKS + * LIBFOO_POST_CONFIGURE_HOOKS + * LIBFOO_PRE_BUILD_HOOKS + * LIBFOO_POST_BUILD_HOOKS + * LIBFOO_PRE_INSTALL_HOOKS (for host packages only) + * LIBFOO_POST_INSTALL_HOOKS (for host packages only) + * LIBFOO_PRE_INSTALL_STAGING_HOOKS (for target packages only) + * LIBFOO_POST_INSTALL_STAGING_HOOKS (for target packages only) + * LIBFOO_PRE_INSTALL_TARGET_HOOKS (for target packages only) + * LIBFOO_POST_INSTALL_TARGET_HOOKS (for target packages only) + * LIBFOO_PRE_INSTALL_IMAGES_HOOKS + * LIBFOO_POST_INSTALL_IMAGES_HOOKS + * LIBFOO_PRE_LEGAL_INFO_HOOKS + * LIBFOO_POST_LEGAL_INFO_HOOKS + +These variables are lists of variable names containing actions to be +performed at this hook point. This allows several hooks to be +registered at a given hook point. Here is an example: + +define LIBFOO_POST_PATCH_FIXUP + action1 + action2 +endef + +LIBFOO_POST_PATCH_HOOKS += LIBFOO_POST_PATCH_FIXUP + +17.18.1. Using the POST_RSYNC hook + +The POST_RSYNC hook is run only for packages that use a local source, +either through the local site method or the OVERRIDE_SRCDIR +mechanism. In this case, package sources are copied using rsync from +the local location into the buildroot build directory. The rsync +command does not copy all files from the source directory, though. +Files belonging to a version control system, like the directories +.git, .hg, etc. are not copied. For most packages this is sufficient, +but a given package can perform additional actions using the +POST_RSYNC hook. + +In principle, the hook can contain any command you want. One specific +use case, though, is the intentional copying of the version control +directory using rsync. The rsync command you use in the hook can, +among others, use the following variables: + + * $(SRCDIR): the path to the overridden source directory + * $(@D): the path to the build directory + +17.18.2. Target-finalize hook + +Packages may also register hooks in LIBFOO_TARGET_FINALIZE_HOOKS. +These hooks are run after all packages are built, but before the +filesystem images are generated. They are seldom used, and your +package probably do not need them. + +17.19. Gettext integration and interaction with packages + +Many packages that support internationalization use the gettext +library. Dependencies for this library are fairly complicated and +therefore, deserve some explanation. + +The glibc C library integrates a full-blown implementation of gettext +, supporting translation. Native Language Support is therefore +built-in in glibc. + +On the other hand, the uClibc and musl C libraries only provide a +stub implementation of the gettext functionality, which allows to +compile libraries and programs using gettext functions, but without +providing the translation capabilities of a full-blown gettext +implementation. With such C libraries, if real Native Language +Support is necessary, it can be provided by the libintl library of +the gettext package. + +Due to this, and in order to make sure that Native Language Support +is properly handled, packages in Buildroot that can use NLS support +should: + + 1. Ensure NLS support is enabled when BR2_SYSTEM_ENABLE_NLS=y. This + is done automatically for autotools packages and therefore should + only be done for packages using other package infrastructures. + 2. Add $(TARGET_NLS_DEPENDENCIES) to the package _DEPENDENCIES + variable. This addition should be done unconditionally: the value + of this variable is automatically adjusted by the core + infrastructure to contain the relevant list of packages. If NLS + support is disabled, this variable is empty. If NLS support is + enabled, this variable contains host-gettext so that tools needed + to compile translation files are available on the host. In + addition, if uClibc or musl are used, this variable also contains + gettext in order to get the full-blown gettext implementation. + 3. If needed, add $(TARGET_NLS_LIBS) to the linker flags, so that + the package gets linked with libintl. This is generally not + needed with autotools packages as they usually detect + automatically that they should link with libintl. However, + packages using other build systems, or problematic + autotools-based packages may need this. $(TARGET_NLS_LIBS) should + be added unconditionally to the linker flags, as the core + automatically makes it empty or defined to -lintl depending on + the configuration. + +No changes should be made to the Config.in file to support NLS. + +Finally, certain packages need some gettext utilities on the target, +such as the gettext program itself, which allows to retrieve +translated strings, from the command line. In such a case, the +package should: + + * use select BR2_PACKAGE_GETTEXT in their Config.in file, + indicating in a comment above that it’s a runtime dependency + only. + * not add any gettext dependency in the DEPENDENCIES variable of + their .mk file. + +17.20. Tips and tricks + +17.20.1. Package name, config entry name and makefile variable +relationship + +In Buildroot, there is some relationship between: + + * the package name, which is the package directory name (and the + name of the *.mk file); + * the config entry name that is declared in the Config.in file; + * the makefile variable prefix. + +It is mandatory to maintain consistency between these elements, using +the following rules: + + * the package directory and the *.mk name are the package name + itself (e.g.: package/foo-bar_boo/foo-bar_boo.mk); + * the make target name is the package name itself (e.g.: + foo-bar_boo); + * the config entry is the upper case package name with . and - + characters substituted with _, prefixed with BR2_PACKAGE_ (e.g.: + BR2_PACKAGE_FOO_BAR_BOO); + * the *.mk file variable prefix is the upper case package name with + . and - characters substituted with _ (e.g.: + FOO_BAR_BOO_VERSION). + +17.20.2. How to test your package + +Once you have added your new package, it is important that you test +it under various conditions: does it build for all architectures? +Does it build with the different C libraries? Does it need threads, +NPTL? And so on… + +Buildroot runs autobuilders [http://autobuild.buildroot.org/] which +continuously test random configurations. However, these only build +the master branch of the git tree, and your new fancy package is not +yet there. + +Buildroot provides a script in utils/test-pkg that uses the same base +configurations as used by the autobuilders so you can test your +package in the same conditions. + +First, create a config snippet that contains all the necessary +options needed to enable your package, but without any architecture +or toolchain option. For example, let’s create a config snippet that +just enables libcurl, without any TLS backend: + +$ cat libcurl.config +BR2_PACKAGE_LIBCURL=y + +If your package needs more configuration options, you can add them to +the config snippet. For example, here’s how you would test libcurl +with openssl as a TLS backend and the curl program: + +$ cat libcurl.config +BR2_PACKAGE_LIBCURL=y +BR2_PACKAGE_CURL=y +BR2_PACKAGE_OPENSSL=y + +Then run the test-pkg script, by telling it what config snippet to +use and what package to test: + +$ ./utils/test-pkg -c libcurl.config -p libcurl + +This will try to build your package against all the toolchains used +by the autobuilders (except for the internal toolchains, because it +takes too long to do so). The output lists all toolchains and the +corresponding result (excerpt, results are fake): + +$ ./utils/test-pkg -c libcurl.config -p libcurl + armv5-ctng-linux-gnueabi [ 1/11]: OK + armv7-ctng-linux-gnueabihf [ 2/11]: OK + br-aarch64-glibc [ 3/11]: SKIPPED + br-arcle-hs38 [ 4/11]: SKIPPED + br-arm-basic [ 5/11]: FAILED + br-arm-cortex-a9-glibc [ 6/11]: OK + br-arm-cortex-a9-musl [ 7/11]: FAILED + br-arm-cortex-m4-full [ 8/11]: OK + br-arm-full [ 9/11]: OK + br-arm-full-nothread [10/11]: FAILED + br-arm-full-static [11/11]: OK +11 builds, 2 skipped, 2 build failed, 1 legal-info failed + +The results mean: + + * OK: the build was successful. + * SKIPPED: one or more configuration options listed in the config + snippet were not present in the final configuration. This is due + to options having dependencies not satisfied by the toolchain, + such as for example a package that depends on BR2_USE_MMU with a + noMMU toolchain. The missing options are reported in + missing.config in the output build directory (~/br-test-pkg/ + TOOLCHAIN_NAME/ by default). + * FAILED: the build failed. Inspect the logfile file in the output + build directory to see what went wrong: + + + the actual build failed, + + the legal-info failed, + + one of the preliminary steps (downloading the config file, + applying the configuration, running dirclean for the package) + failed. + +When there are failures, you can just re-run the script with the same +options (after you fixed your package); the script will attempt to +re-build the package specified with -p for all toolchains, without +the need to re-build all the dependencies of that package. + +The test-pkg script accepts a few options, for which you can get some +help by running: + +$ ./utils/test-pkg -h + +17.20.3. How to add a package from GitHub + +Packages on GitHub often don’t have a download area with release +tarballs. However, it is possible to download tarballs directly from +the repository on GitHub. As GitHub is known to have changed download +mechanisms in the past, the github helper function should be used as +shown below. + +# Use a tag or a full commit ID +FOO_VERSION = v1.0 +FOO_SITE = $(call github,,,$(FOO_VERSION)) + +Notes + + * The FOO_VERSION can either be a tag or a commit ID. + * The tarball name generated by github matches the default one from + Buildroot (e.g.: + foo-f6fb6654af62045239caed5950bc6c7971965e60.tar.gz), so it is + not necessary to specify it in the .mk file. + * When using a commit ID as version, you should use the full 40 hex + characters. + +If the package you wish to add does have a release section on GitHub, +the maintainer may have uploaded a release tarball, or the release +may just point to the automatically generated tarball from the git +tag. If there is a release tarball uploaded by the maintainer, we +prefer to use that since it may be slightly different (e.g. it +contains a configure script so we don’t need to do AUTORECONF). + +You can see on the release page if it’s an uploaded tarball or a git +tag: + + * If it looks like the image above then it was uploaded by the + maintainer and you should use that link (in that example: + mongrel2-v1.9.2.tar.bz2) to specify FOO_SITE, and not use the + github helper. + * On the other hand, if there’s is only the "Source code" link, + then it’s an automatically generated tarball and you should use + the github helper function. + +17.21. Conclusion + +As you can see, adding a software package to Buildroot is simply a +matter of writing a Makefile using an existing example and modifying +it according to the compilation process required by the package. + +If you package software that might be useful for other people, don’t +forget to send a patch to the Buildroot mailing list (see +Section 21.5, “Submitting patchesâ€)! + +Chapter 18. Patching a package + +While integrating a new package or updating an existing one, it may +be necessary to patch the source of the software to get it +cross-built within Buildroot. + +Buildroot offers an infrastructure to automatically handle this +during the builds. It supports three ways of applying patch sets: +downloaded patches, patches supplied within buildroot and patches +located in a user-defined global patch directory. + +18.1. Providing patches + +18.1.1. Downloaded + +If it is necessary to apply a patch that is available for download, +then add it to the _PATCH variable. If an entry contains +://, then Buildroot will assume it is a full URL and download the +patch from this location. Otherwise, Buildroot will assume that the +patch should be downloaded from _SITE. It can be a +single patch, or a tarball containing a patch series. + +Like for all downloads, a hash should be added to the +.hash file. + +This method is typically used for packages from Debian. + +18.1.2. Within Buildroot + +Most patches are provided within Buildroot, in the package directory; +these typically aim to fix cross-compilation, libc support, or other +such issues. + +These patch files should be named -.patch. + +Notes + + * The patch files coming with Buildroot should not contain any + package version reference in their filename. + * The field in the patch file name refers to the apply + order, and shall start at 1; It is preferred to pad the number + with zeros up to 4 digits, like git-format-patch does. E.g.: + 0001-foobar-the-buz.patch + * Previously, it was mandatory for patches to be prefixed with the + name of the package, like --.patch, + but that is no longer the case. Existing packages will be fixed + as time passes. Do not prefix patches with the package name. + * Previously, a series file, as used by quilt, could also be added + in the package directory. In that case, the series file defines + the patch application order. This is deprecated, and will be + removed in the future. Do not use a series file. + +18.1.3. Global patch directory + +The BR2_GLOBAL_PATCH_DIR configuration file option can be used to +specify a space separated list of one or more directories containing +global package patches. See Section 9.8, “Adding project-specific +patches†for details. + +18.2. How patches are applied + + 1. Run the _PRE_PATCH_HOOKS commands if defined; + 2. Cleanup the build directory, removing any existing *.rej files; + 3. If _PATCH is defined, then patches from these + tarballs are applied; + 4. If there are some *.patch files in the package’s Buildroot + directory or in a package subdirectory named , + then: + + + If a series file exists in the package directory, then + patches are applied according to the series file; + + Otherwise, patch files matching *.patch are applied in + alphabetical order. So, to ensure they are applied in the + right order, it is highly recommended to name the patch files + like this: -.patch, where + refers to the apply order. + 5. If BR2_GLOBAL_PATCH_DIR is defined, the directories will be + enumerated in the order they are specified. The patches are + applied as described in the previous step. + 6. Run the _POST_PATCH_HOOKS commands if defined. + +If something goes wrong in the steps 3 or 4, then the build fails. + +18.3. Format and licensing of the package patches + +Patches are released under the same license as the software they +apply to (see Section 12.2, “Complying with the Buildroot licenseâ€). + +A message explaining what the patch does, and why it is needed, +should be added in the header commentary of the patch. + +You should add a Signed-off-by statement in the header of the each +patch to help with keeping track of the changes and to certify that +the patch is released under the same license as the software that is +modified. + +If the software is under version control, it is recommended to use +the upstream SCM software to generate the patch set. + +Otherwise, concatenate the header with the output of the diff -purN +package-version.orig/ package-version/ command. + +If you update an existing patch (e.g. when bumping the package +version), make sure the existing From header and Signed-off-by tags +are not removed, but do update the rest of the patch comment when +appropriate. + +At the end, the patch should look like: + +configure.ac: add C++ support test + +Signed-off-by: John Doe + +--- configure.ac.orig ++++ configure.ac +@@ -40,2 +40,12 @@ + +AC_PROG_MAKE_SET ++ ++AC_CACHE_CHECK([whether the C++ compiler works], ++ [rw_cv_prog_cxx_works], ++ [AC_LANG_PUSH([C++]) ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], ++ [rw_cv_prog_cxx_works=yes], ++ [rw_cv_prog_cxx_works=no]) ++ AC_LANG_POP([C++])]) ++ ++AM_CONDITIONAL([CXX_WORKS], [test "x$rw_cv_prog_cxx_works" = "xyes"]) + +18.4. Integrating patches found on the Web + +When integrating a patch of which you are not the author, you have to +add a few things in the header of the patch itself. + +Depending on whether the patch has been obtained from the project +repository itself, or from somewhere on the web, add one of the +following tags: + +Backported from: + +or + +Fetch from: + +It is also sensible to add a few words about any changes to the patch +that may have been necessary. + +Chapter 19. Download infrastructure + +TODO + +Chapter 20. Debugging Buildroot + +It is possible to instrument the steps Buildroot does when building +packages. Define the variable BR2_INSTRUMENTATION_SCRIPTS to contain +the path of one or more scripts (or other executables), in a +space-separated list, you want called before and after each step. The +scripts are called in sequence, with three parameters: + + * start or end to denote the start (resp. the end) of a step; + * the name of the step about to be started, or which just ended; + * the name of the package. + +For example : + +make BR2_INSTRUMENTATION_SCRIPTS="/path/to/my/script1 /path/to/my/script2" + +The list of steps is: + + * extract + * patch + * configure + * build + * install-host, when a host-package is installed in $(HOST_DIR) + * install-target, when a target-package is installed in $ + (TARGET_DIR) + * install-staging, when a target-package is installed in $ + (STAGING_DIR) + * install-image, when a target-package installs files in $ + (BINARIES_DIR) + +The script has access to the following variables: + + * BR2_CONFIG: the path to the Buildroot .config file + * HOST_DIR, STAGING_DIR, TARGET_DIR: see Section 17.5.2, + “generic-package reference†+ * BUILD_DIR: the directory where packages are extracted and built + * BINARIES_DIR: the place where all binary files (aka images) are + stored + * BASE_DIR: the base output directory + +Chapter 21. Contributing to Buildroot + +There are many ways in which you can contribute to Buildroot: +analyzing and fixing bugs, analyzing and fixing package build +failures detected by the autobuilders, testing and reviewing patches +sent by other developers, working on the items in our TODO list and +sending your own improvements to Buildroot or its manual. The +following sections give a little more detail on each of these items. + +If you are interested in contributing to Buildroot, the first thing +you should do is to subscribe to the Buildroot mailing list. This +list is the main way of interacting with other Buildroot developers +and to send contributions to. If you aren’t subscribed yet, then +refer to Chapter 5, Community resources for the subscription link. + +If you are going to touch the code, it is highly recommended to use a +git repository of Buildroot, rather than starting from an extracted +source code tarball. Git is the easiest way to develop from and +directly send your patches to the mailing list. Refer to Chapter 3, +Getting Buildroot for more information on obtaining a Buildroot git +tree. + +21.1. Reproducing, analyzing and fixing bugs + +A first way of contributing is to have a look at the open bug reports +in the Buildroot bug tracker [https://bugs.buildroot.org/buglist.cgi? +product=buildroot]. As we strive to keep the bug count as small as +possible, all help in reproducing, analyzing and fixing reported bugs +is more than welcome. Don’t hesitate to add a comment to bug reports +reporting your findings, even if you don’t yet see the full picture. + +21.2. Analyzing and fixing autobuild failures + +The Buildroot autobuilders are a set of build machines that +continuously run Buildroot builds based on random configurations. +This is done for all architectures supported by Buildroot, with +various toolchains, and with a random selection of packages. With the +large commit activity on Buildroot, these autobuilders are a great +help in detecting problems very early after commit. + +All build results are available at http://autobuild.buildroot.org, +statistics are at http://autobuild.buildroot.org/stats.php. Every +day, an overview of all failed packages is sent to the mailing list. + +Detecting problems is great, but obviously these problems have to be +fixed as well. Your contribution is very welcome here! There are +basically two things that can be done: + + * Analyzing the problems. The daily summary mails do not contain + details about the actual failures: in order to see what’s going + on you have to open the build log and check the last output. + Having someone doing this for all packages in the mail is very + useful for other developers, as they can make a quick initial + analysis based on this output alone. + * Fixing a problem. When fixing autobuild failures, you should + follow these steps: + + 1. Check if you can reproduce the problem by building with the + same configuration. You can do this manually, or use the + br-reproduce-build [http://git.buildroot.org/buildroot-test/ + tree/utils/br-reproduce-build] script that will automatically + clone a Buildroot git repository, checkout the correct + revision, download and set the right configuration, and start + the build. + 2. Analyze the problem and create a fix. + 3. Verify that the problem is really fixed by starting from a + clean Buildroot tree and only applying your fix. + 4. Send the fix to the Buildroot mailing list (see Section 21.5, + “Submitting patchesâ€). In case you created a patch against + the package sources, you should also send the patch upstream + so that the problem will be fixed in a later release, and the + patch in Buildroot can be removed. In the commit message of a + patch fixing an autobuild failure, add a reference to the + build result directory, as follows: + +Fixes http://autobuild.buildroot.org/results/51000a9d4656afe9e0ea6f07b9f8ed374c2e4069 + +21.3. Reviewing and testing patches + +With the amount of patches sent to the mailing list each day, the +maintainer has a very hard job to judge which patches are ready to +apply and which ones aren’t. Contributors can greatly help here by +reviewing and testing these patches. + +In the review process, do not hesitate to respond to patch +submissions for remarks, suggestions or anything that will help +everyone to understand the patches and make them better. Please use +internet style replies in plain text emails when responding to patch +submissions. + +To indicate approval of a patch, there are three formal tags that +keep track of this approval. To add your tag to a patch, reply to it +with the approval tag below the original author’s Signed-off-by line. +These tags will be picked up automatically by patchwork (see +Section 21.3.1, “Applying Patches from Patchworkâ€) and will be part +of the commit log when the patch is accepted. + +Tested-by + Indicates that the patch has been tested successfully. You are + encouraged to specify what kind of testing you performed + (compile-test on architecture X and Y, runtime test on target A, + …). This additional information helps other testers and the + maintainer. +Reviewed-by + Indicates that you code-reviewed the patch and did your best in + spotting problems, but you are not sufficiently familiar with the + area touched to provide an Acked-by tag. This means that there + may be remaining problems in the patch that would be spotted by + someone with more experience in that area. Should such problems + be detected, your Reviewed-by tag remains appropriate and you + cannot be blamed. +Acked-by + Indicates that you code-reviewed the patch and you are familiar + enough with the area touched to feel that the patch can be + committed as-is (no additional changes required). In case it + later turns out that something is wrong with the patch, your + Acked-by could be considered inappropriate. The difference + between Acked-by and Reviewed-by is thus mainly that you are + prepared to take the blame on Acked patches, but not on Reviewed + ones. + +If you reviewed a patch and have comments on it, you should simply +reply to the patch stating these comments, without providing a +Reviewed-by or Acked-by tag. These tags should only be provided if +you judge the patch to be good as it is. + +It is important to note that neither Reviewed-by nor Acked-by imply +that testing has been performed. To indicate that you both reviewed +and tested the patch, provide two separate tags (Reviewed/Acked-by +and Tested-by). + +Note also that any developer can provide Tested/Reviewed/Acked-by +tags, without exception, and we encourage everyone to do this. +Buildroot does not have a defined group of core developers, it just +so happens that some developers are more active than others. The +maintainer will value tags according to the track record of their +submitter. Tags provided by a regular contributor will naturally be +trusted more than tags provided by a newcomer. As you provide tags +more regularly, your trustworthiness (in the eyes of the maintainer) +will go up, but any tag provided is valuable. + +Buildroot’s Patchwork website can be used to pull in patches for +testing purposes. Please see Section 21.3.1, “Applying Patches from +Patchwork†for more information on using Buildroot’s Patchwork +website to apply patches. + +21.3.1. Applying Patches from Patchwork + +The main use of Buildroot’s Patchwork website for a developer is for +pulling in patches into their local git repository for testing +purposes. + +When browsing patches in the patchwork management interface, an mbox +link is provided at the top of the page. Copy this link address and +run the following commands: + +$ git checkout -b +$ wget -O - | git am + +Another option for applying patches is to create a bundle. A bundle +is a set of patches that you can group together using the patchwork +interface. Once the bundle is created and the bundle is made public, +you can copy the mbox link for the bundle and apply the bundle using +the above commands. + +21.4. Work on items from the TODO list + +If you want to contribute to Buildroot but don’t know where to start, +and you don’t like any of the above topics, you can always work on +items from the Buildroot TODO list [http://elinux.org/Buildroot# +Todo_list]. Don’t hesitate to discuss an item first on the mailing +list or on IRC. Do edit the wiki to indicate when you start working +on an item, so we avoid duplicate efforts. + +21.5. Submitting patches + +Note + +Please, do not attach patches to bugs, send them to the mailing list +instead. + +If you made some changes to Buildroot and you would like to +contribute them to the Buildroot project, proceed as follows. + +21.5.1. The formatting of a patch + +We expect patches to be formatted in a specific way. This is +necessary to make it easy to review patches, to be able to apply them +easily to the git repository, to make it easy to find back in the +history how and why things have changed, and to make it possible to +use git bisect to locate the origin of a problem. + +First of all, it is essential that the patch has a good commit +message. The commit message should start with a separate line with a +brief summary of the change, starting with the name of the affected +package. The body of the commit message should describe why this +change is needed, and if necessary also give details about how it was +done. When writing the commit message, think of how the reviewers +will read it, but also think about how you will read it when you look +at this change again a few years down the line. + +Second, the patch itself should do only one change, but do it +completely. Two unrelated or weakly related changes should usually be +done in two separate patches. This usually means that a patch affects +only a single package. If several changes are related, it is often +still possible to split them up in small patches and apply them in a +specific order. Small patches make it easier to review, and often +make it easier to understand afterwards why a change was done. +However, each patch must be complete. It is not allowed that the +build is broken when only the first but not the second patch is +applied. This is necessary to be able to use git bisect afterwards. + +Of course, while you’re doing your development, you’re probably going +back and forth between packages, and certainly not committing things +immediately in a way that is clean enough for submission. So most +developers rewrite the history of commits to produce a clean set of +commits that is appropriate for submission. To do this, you need to +use interactive rebasing. You can learn about it in the Pro Git book +[https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History]. +Sometimes, it is even easier to discard you history with git reset +--soft origin/master and select individual changes with git add -i or +git add -p. + +Finally, the patch should be signed off. This is done by adding +Signed-off-by: Your Real Name <> at the end of the commit message. +git commit -s does that for you, if configured properly. The +Signed-off-by tag means that you publish the patch under the +Buildroot license (i.e. GPL-2.0+, except for package patches, which +have the upstream license), and that you are allowed to do so. See +the Developer Certificate of Origin [http://developercertificate.org +/] for details. + +When adding new packages, you should submit every package in a +separate patch. This patch should have the update to package/ +Config.in, the package Config.in file, the .mk file, the .hash file, +any init script, and all package patches. If the package has many +sub-options, these are sometimes better added as separate follow-up +patches. The summary line should be something like : new +package. The body of the commit message can be empty for simple +packages, or it can contain the description of the package (like the +Config.in help text). If anything special has to be done to build the +package, this should also be explained explicitly in the commit +message body. + +When you bump a package to a new version, you should also submit a +separate patch for each package. Don’t forget to update the .hash +file, or add it if it doesn’t exist yet. Also don’t forget to check +if the _LICENSE and _LICENSE_FILES are still valid. The summary line +should be something like : bump to version . If the new version only contains security updates compared +to the existing one, the summary should be : security +bump to version and the commit message body should show +the CVE numbers that are fixed. If some package patches can be +removed in the new version, it should be explained explicitly why +they can be removed, preferably with the upstream commit ID. Also any +other required changes should be explained explicitly, like configure +options that no longer exist or are no longer needed. + +If you are interested in getting notified of build failures and of +further changes in the packages you added or modified, please add +yourself to the DEVELOPERS file. This should be done in the same +patch creating or modifying the package. See the DEVELOPERS file +Chapter 22, DEVELOPERS file and get-developers for more information. + +21.5.2. Preparing a patch series + +Starting from the changes committed in your local git view, rebase +your development branch on top of the upstream tree before generating +a patch set. To do so, run: + +$ git fetch --all --tags +$ git rebase origin/master + +Now, you are ready to generate then submit your patch set. + +To generate it, run: + +$ git format-patch -M -n -s -o outgoing origin/master + +This will generate patch files in the outgoing subdirectory, +automatically adding the Signed-off-by line. + +Once patch files are generated, you can review/edit the commit +message before submitting them, using your favorite text editor. + +Buildroot provides a handy tool to know to whom your patches should +be sent, called get-developers (see Chapter 22, DEVELOPERS file and +get-developers for more information). This tool reads your patches +and outputs the appropriate git send-email command to use: + +$ ./utils/get-developers outgoing/* + +Use the output of get-developers to send your patches: + +$ git send-email --to buildroot@buildroot.org --cc bob --cc alice outgoing/* + +Note that git should be configured to use your mail account. To +configure git, see man git-send-email or google it. + +If you do not use git send-email, make sure posted patches are not +line-wrapped, otherwise they cannot easily be applied. In such a +case, fix your e-mail client, or better yet, learn to use git +send-email. + +21.5.3. Cover letter + +If you want to present the whole patch set in a separate mail, add +--cover-letter to the git format-patch command (see man +git-format-patch for further information). This will generate a +template for an introduction e-mail to your patch series. + +A cover letter may be useful to introduce the changes you propose in +the following cases: + + * large number of commits in the series; + * deep impact of the changes in the rest of the project; + * RFC ^[4]; + * whenever you feel it will help presenting your work, your + choices, the review process, etc. + +21.5.4. Patch revision changelog + +When improvements are requested, the new revision of each commit +should include a changelog of the modifications between each +submission. Note that when your patch series is introduced by a cover +letter, an overall changelog may be added to the cover letter in +addition to the changelog in the individual commits. The best thing +to rework a patch series is by interactive rebasing: git rebase -i +origin/master. Consult the git manual for more information. + +When added to the individual commits, this changelog is added when +editing the commit message. Below the Signed-off-by section, add --- +and your changelog. + +Although the changelog will be visible for the reviewers in the mail +thread, as well as in patchwork [http://patchwork.buildroot.org], git +will automatically ignores lines below --- when the patch will be +merged. This is the intended behavior: the changelog is not meant to +be preserved forever in the git history of the project. + +Hereafter the recommended layout: + +Patch title: short explanation, max 72 chars + +A paragraph that explains the problem, and how it manifests itself. If +the problem is complex, it is OK to add more paragraphs. All paragraphs +should be wrapped at 72 characters. + +A paragraph that explains the root cause of the problem. Again, more +than on paragraph is OK. + +Finally, one or more paragraphs that explain how the problem is solved. +Don't hesitate to explain complex solutions in detail. + +Signed-off-by: John DOE + +--- +Changes v2 -> v3: + - foo bar (suggested by Jane) + - bar buz + +Changes v1 -> v2: + - alpha bravo (suggested by John) + - charly delta + +Any patch revision should include the version number. The version +number is simply composed of the letter v followed by an integer +greater or equal to two (i.e. "PATCH v2", "PATCH v3" …). + +This can be easily handled with git format-patch by using the option +--subject-prefix: + +$ git format-patch --subject-prefix "PATCH v4" \ + -M -s -o outgoing origin/master + +Since git version 1.8.1, you can also use -v (where is the +version number): + +$ git format-patch -v4 -M -s -o outgoing origin/master + +When you provide a new version of a patch, please mark the old one as +superseded in patchwork [http://patchwork.buildroot.org]. You need to +create an account on patchwork [http://patchwork.buildroot.org] to be +able to modify the status of your patches. Note that you can only +change the status of patches you submitted yourself, which means the +email address you register in patchwork [http:// +patchwork.buildroot.org] should match the one you use for sending +patches to the mailing list. + +You can also add the --in-reply-to option when +submitting a patch to the mailing list. The id of the mail to reply +to can be found under the "Message Id" tag on patchwork [http:// +patchwork.buildroot.org]. The advantage of in-reply-to is that +patchwork will automatically mark the previous version of the patch +as superseded. + +21.6. Reporting issues/bugs or getting help + +Before reporting any issue, please check in the mailing list archive +Chapter 5, Community resources whether someone has already reported +and/or fixed a similar problem. + +However you choose to report bugs or get help, either by opening a +bug in the bug tracker Chapter 5, Community resources or by sending a +mail to the mailing list Chapter 5, Community resources, there are a +number of details to provide in order to help people reproduce and +find a solution to the issue. + +Try to think as if you were trying to help someone else; in that +case, what would you need? + +Here is a short list of details to provide in such case: + + * host machine (OS/release) + * version of Buildroot + * target for which the build fails + * package(s) for which the build fails + * the command that fails and its output + * any information you think that may be relevant + +Additionally, you should add the .config file (or if you know how, a +defconfig; see Section 9.3, “Storing the Buildroot configurationâ€). + +If some of these details are too large, do not hesitate to use a +pastebin service. Note that not all available pastebin services will +preserve Unix-style line terminators when downloading raw pastes. +Following pastebin services are known to work correctly: - https:// +gist.github.com/ - http://code.bulix.org/ + + +--------------------------------------------------------------------- + +^[4] RFC: (Request for comments) change proposal + +Chapter 22. DEVELOPERS file and get-developers + +The main Buildroot directory contains a file named DEVELOPERS that +lists the developers involved with various areas of Buildroot. Thanks +to this file, the get-developer tool allows to: + + * Calculate the list of developers to whom patches should be sent, + by parsing the patches and matching the modified files with the + relevant developers. See Section 21.5, “Submitting patches†for + details. + * Find which developers are taking care of a given architecture or + package, so that they can be notified when a build failure occurs + on this architecture or package. This is done in interaction with + Buildroot’s autobuild infrastructure. + +We ask developers adding new packages, new boards, or generally new +functionality in Buildroot, to register themselves in the DEVELOPERS +file. As an example, we expect a developer contributing a new package +to include in his patch the appropriate modification to the +DEVELOPERS file. + +The DEVELOPERS file format is documented in detail inside the file +itself. + +The get-developer tool, located in utils/ allows to use the +DEVELOPERS file for various tasks: + + * When passing one or several patches as command line argument, + get-developer will return the appropriate git send-email command. + * When using the -a command line option, get-developer will + return the list of developers in charge of the given + architecture. + * When using the -p command line option, get-developer + will return the list of developers in charge of the given + package. + * When using the -c command line option, get-developer will look at + all files under version control in the Buildroot repository, and + list the ones that are not handled by any developer. The purpose + of this option is to help completing the DEVELOPERS file. + * When using without any arguments, it validates the integrity of + the DEVELOPERS file and will note WARNINGS for items that don’t + match. + +Part IV. Appendix + +Table of Contents + +23. Makedev syntax documentation +24. Makeusers syntax documentation +25. Migrating from older Buildroot versions + + 25.1. Migrating to 2016.11 + 25.2. Migrating to 2017.08 + +Chapter 23. Makedev syntax documentation + +The makedev syntax is used in several places in Buildroot to define +changes to be made for permissions, or which device files to create +and how to create them, in order to avoid calls to mknod. + +This syntax is derived from the makedev utility, and more complete +documentation can be found in the package/makedevs/README file. + +It takes the form of a space separated list of fields, one file per +line; the fields are: + ++--------------------------------------------------+ +|name|type|mode|uid|gid|major|minor|start|inc|count| ++--------------------------------------------------+ + +There are a few non-trivial blocks: + + * name is the path to the file you want to create/modify + * type is the type of the file, being one of: + + + f: a regular file + + d: a directory + + r: a directory recursively + + c: a character device file + + b: a block device file + + p: a named pipe + * mode are the usual permissions settings (only numerical values + are allowed) + * uid and gid are the UID and GID to set on this file; can be + either numerical values or actual names + * major and minor are here for device files, set to - for other + files + * start, inc and count are for when you want to create a batch of + files, and can be reduced to a loop, beginning at start, + incrementing its counter by inc until it reaches count + +Let’s say you want to change the permissions of a given file; using +this syntax, you will need to write: + +/usr/bin/foo f 755 0 0 - - - - - +/usr/bin/bar f 755 root root - - - - - +/data/buz f 644 buz-user buz-group - - - - - + +Alternatively, if you want to change owner/permission of a directory +recursively, you can write (to set UID to foo, GID to bar and access +rights to rwxr-x--- for the directory /usr/share/myapp and all files +and directories below it): + +/usr/share/myapp r 750 foo bar - - - - - + +On the other hand, if you want to create the device file /dev/hda and +the corresponding 15 files for the partitions, you will need for /dev +/hda: + +/dev/hda b 640 root root 3 0 0 0 - + +and then for device files corresponding to the partitions of /dev/ +hda, /dev/hdaX, X ranging from 1 to 15: + +/dev/hda b 640 root root 3 1 1 1 15 + +Extended attributes are supported if +BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES is enabled. This +is done by adding a line starting with |xattr after the line +describing the file. Right now, only capability is supported as +extended attribute. + ++------------------+ +||xattr|capability | ++------------------+ + + * |xattr is a "flag" that indicate an extended attribute + * capability is a capability to add to the previous file + +If you want to add the capability cap_sys_admin to the binary foo, +you will write : + +/usr/bin/foo f 755 root root - - - - - +|xattr cap_sys_admin+eip + +You can add several capabilities to a file by using several |xattr +lines. If you want to add the capability cap_sys_admin and +cap_net_admin to the binary foo, you will write : + +/usr/bin/foo f 755 root root - - - - - +|xattr cap_sys_admin+eip +|xattr cap_net_admin+eip + +Chapter 24. Makeusers syntax documentation + +The syntax to create users is inspired by the makedev syntax, above, +but is specific to Buildroot. + +The syntax for adding a user is a space-separated list of fields, one +user per line; the fields are: + ++---------------------------------------------------------+ +|username|uid|group|gid|password|home|shell|groups|comment| ++---------------------------------------------------------+ + +Where: + + * username is the desired user name (aka login name) for the user. + It can not be root, and must be unique. If set to -, then just a + group will be created. + * uid is the desired UID for the user. It must be unique, and not + 0. If set to -1, then a unique UID will be computed by Buildroot + in the range [1000…1999] + * group is the desired name for the user’s main group. It can not + be root. If the group does not exist, it will be created. + * gid is the desired GID for the user’s main group. It must be + unique, and not 0. If set to -1, and the group does not already + exist, then a unique GID will be computed by Buildroot in the + range [1000..1999] + * password is the crypt(3)-encoded password. If prefixed with !, + then login is disabled. If prefixed with =, then it is + interpreted as clear-text, and will be crypt-encoded (using MD5). + If prefixed with !=, then the password will be crypt-encoded + (using MD5) and login will be disabled. If set to *, then login + is not allowed. If set to -, then no password value will be set. + * home is the desired home directory for the user. If set to -, no + home directory will be created, and the user’s home will be /. + Explicitly setting home to / is not allowed. + * shell is the desired shell for the user. If set to -, then /bin/ + false is set as the user’s shell. + * groups is the comma-separated list of additional groups the user + should be part of. If set to -, then the user will be a member of + no additional group. Missing groups will be created with an + arbitrary gid. + * comment (aka GECOS [https://en.wikipedia.org/wiki/Gecos_field] + field) is an almost-free-form text. + +There are a few restrictions on the content of each field: + + * except for comment, all fields are mandatory. + * except for comment, fields may not contain spaces. + * no field may contain a colon (:). + +If home is not -, then the home directory, and all files below, will +belong to the user and its main group. + +Examples: + +foo -1 bar -1 !=blabla /home/foo /bin/sh alpha,bravo Foo user + +This will create this user: + + * username (aka login name) is: foo + * uid is computed by Buildroot + * main group is: bar + * main group gid is computed by Buildroot + * clear-text password is: blabla, will be crypt(3)-encoded, and + login is disabled. + * home is: /home/foo + * shell is: /bin/sh + * foo is also a member of groups: alpha and bravo + * comment is: Foo user + +test 8000 wheel -1 = - /bin/sh - Test user + +This will create this user: + + * username (aka login name) is: test + * uid is : 8000 + * main group is: wheel + * main group gid is computed by Buildroot, and will use the value + defined in the rootfs skeleton + * password is empty (aka no password). + * home is / but will not belong to test + * shell is: /bin/sh + * test is not a member of any additional groups + * comment is: Test user + +Chapter 25. Migrating from older Buildroot versions + +Some versions have introduced backward incompatibilities. This +section explains those incompatibilities, and for each explains what +to do to complete the migration. + +25.1. Migrating to 2016.11 + +Before Buildroot 2016.11, it was possible to use only one +br2-external tree at once. With Buildroot 2016.11 came the +possibility to use more than one simultaneously (for details, see +Section 9.2, “Keeping customizations outside of Buildrootâ€). + +This however means that older br2-external trees are not usable +as-is. A minor change has to be made: adding a name to your +br2-external tree. + +This can be done very easily in just a few steps: + + * First, create a new file named external.desc, at the root of your + br2-external tree, with a single line defining the name of your + br2-external tree: + + $ echo 'name: NAME_OF_YOUR_TREE' >external.desc + + Note. Be careful when choosing a name: It has to be unique and be + made with only ASCII characters from the set [A-Za-z0-9_]. + + * Then, change every occurence of BR2_EXTERNAL in your br2-external + tree with the new variable: + + $ find . -type f | xargs sed -i 's/BR2_EXTERNAL/BR2_EXTERNAL_NAME_OF_YOUR_TREE_PATH/g' + +Now, your br2-external tree can be used with Buildroot 2016.11 +onward. + +Note: This change makes your br2-external tree incompatible with +Buildroot before 2016.11. + +25.2. Migrating to 2017.08 + +Before Buildroot 2017.08, host packages were installed in $(HOST_DIR) +/usr (with e.g. the autotools' --prefix=$(HOST_DIR)/usr). With +Buildroot 2017.08, they are now installed directly in $(HOST_DIR). + +Whenever a package installs an executable that is linked with a +library in $(HOST_DIR)/lib, it must have an RPATH pointing to that +directory. + +An RPATH pointing to $(HOST_DIR)/usr/lib is no longer accepted. + diff --git a/docs/manual/manual.txt b/docs/manual/manual.txt new file mode 100644 index 0000000000..490ed031e9 --- /dev/null +++ b/docs/manual/manual.txt @@ -0,0 +1,71 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + += The Buildroot user manual +:toc: + +Buildroot {sys:echo $\{BR2_VERSION%%-git*\}} manual generated on {localdate} +{localtime} from git revision {sys:git rev-parse --short HEAD} + +The Buildroot manual is written by the Buildroot developers. +It is licensed under the GNU General Public License, version 2. Refer to the +http://git.buildroot.org/buildroot/tree/COPYING[COPYING] file in the Buildroot +sources for the full text of this license. + +Copyright (C) 2004-2017 The Buildroot developers + +image::logo.png[] + += Getting started + +include::introduction.txt[] + +include::prerequisite.txt[] + +include::getting.txt[] + +include::quickstart.txt[] + +include::resources.txt[] + += User guide + +include::configure.txt[] + +include::configure-other-components.txt[] + +include::common-usage.txt[] + +include::customize.txt[] + +include::faq-troubleshooting.txt[] + +include::known-issues.txt[] + +include::legal-notice.txt[] + +include::beyond-buildroot.txt[] + += Developer guide + +include::how-buildroot-works.txt[] + +include::writing-rules.txt[] + +include::adding-board-support.txt[] + +include::adding-packages.txt[] + +include::patch-policy.txt[] + +include::download-infra.txt[] + +include::debugging-buildroot.txt[] + +include::contribute.txt[] + +include::developers.txt[] + += Appendix + +include::appendix.txt[] diff --git a/docs/manual/migrating.txt b/docs/manual/migrating.txt new file mode 100644 index 0000000000..92e487c71e --- /dev/null +++ b/docs/manual/migrating.txt @@ -0,0 +1,58 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[migrating-from-ol-versions]] +== Migrating from older Buildroot versions + +Some versions have introduced backward incompatibilities. This section +explains those incompatibilities, and for each explains what to do to +complete the migration. + +[[br2-external-converting]] +=== Migrating to 2016.11 + +Before Buildroot 2016.11, it was possible to use only one br2-external +tree at once. With Buildroot 2016.11 came the possibility to use more +than one simultaneously (for details, see xref:outside-br-custom[]). + +This however means that older br2-external trees are not usable as-is. +A minor change has to be made: adding a name to your br2-external tree. + +This can be done very easily in just a few steps: + + * First, create a new file named +external.desc+, at the root of your + br2-external tree, with a single line defining the name of your + br2-external tree: ++ +---- +$ echo 'name: NAME_OF_YOUR_TREE' >external.desc +---- ++ +.Note +Be careful when choosing a name: It has to be unique and be made +with only ASCII characters from the set +[A-Za-z0-9_]+. + + * Then, change every occurence of +BR2_EXTERNAL+ in your br2-external + tree with the new variable: ++ +---- +$ find . -type f | xargs sed -i 's/BR2_EXTERNAL/BR2_EXTERNAL_NAME_OF_YOUR_TREE_PATH/g' +---- + +Now, your br2-external tree can be used with Buildroot 2016.11 onward. + +.Note: +This change makes your br2-external tree incompatible with Buildroot +before 2016.11. + +[[migrating-host-usr]] +=== Migrating to 2017.08 + +Before Buildroot 2017.08, host packages were installed in +$(HOST_DIR)/usr+ +(with e.g. the autotools' +--prefix=$(HOST_DIR)/usr+). With Buildroot +2017.08, they are now installed directly in +$(HOST_DIR)+. + +Whenever a package installs an executable that is linked with a library +in +$(HOST_DIR)/lib+, it must have an RPATH pointing to that directory. + +An RPATH pointing to +$(HOST_DIR)/usr/lib+ is no longer accepted. diff --git a/docs/manual/package-make-target.txt b/docs/manual/package-make-target.txt new file mode 100644 index 0000000000..c91106e8e9 --- /dev/null +++ b/docs/manual/package-make-target.txt @@ -0,0 +1,82 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[pkg-build-steps]] + +==== Package-specific _make_ targets + +Running +make + builds and installs that particular package +and its dependencies. + +For packages relying on the Buildroot infrastructure, there are +numerous special make targets that can be called independently like +this: + +------------ +make - +------------ + +The package build targets are (in the order they are executed): + +[width="90%",cols="^1,4",options="header"] +|=================================================== +| command/target | Description + +| +source+ | Fetch the source (download the tarball, clone +the source repository, etc) + +| +depends+ | Build and install all dependencies required to +build the package + +| +extract+ | Put the source in the package build directory +(extract the tarball, copy the source, etc) + +| +patch+ | Apply the patches, if any + +| +configure+ | Run the configure commands, if any + +| +build+ | Run the compilation commands + +| +install-staging+ | +*target package:* Run the installation of the package in the +staging directory, if necessary + +| +install-target+ | +*target package:* Run the installation of the package in the +target directory, if necessary + +| +install+ | +*target package:* Run the 2 previous installation commands + +*host package:* Run the installation of the package in the host +directory + +|=================================================== + +Additionally, there are some other useful make targets: + +[width="90%",cols="^1,4",options="header"] +|=================================================== +| command/target | Description + +| +show-depends+ | Displays the dependencies required to build the +package + +| +graph-depends+ | Generate a dependency graph of the package, in the +context of the current Buildroot configuration. See +xref:graph-depends[this section] for more details about dependency +graphs. + +| +dirclean+ | Remove the whole package build directory + +| +reinstall+ | Re-run the install commands + +| +rebuild+ | Re-run the compilation commands - this only makes +sense when using the +OVERRIDE_SRCDIR+ feature or when you modified a file +directly in the build directory + +| +reconfigure+ | Re-run the configure commands, then rebuild - this only +makes sense when using the +OVERRIDE_SRCDIR+ feature or when you modified a +file directly in the build directory + +|=================================================== diff --git a/docs/manual/patch-policy.txt b/docs/manual/patch-policy.txt new file mode 100644 index 0000000000..e704a0d3f3 --- /dev/null +++ b/docs/manual/patch-policy.txt @@ -0,0 +1,162 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[patch-policy]] + +== Patching a package + +While integrating a new package or updating an existing one, it may be +necessary to patch the source of the software to get it cross-built within +Buildroot. + +Buildroot offers an infrastructure to automatically handle this during +the builds. It supports three ways of applying patch sets: downloaded patches, +patches supplied within buildroot and patches located in a user-defined +global patch directory. + +=== Providing patches + +==== Downloaded + +If it is necessary to apply a patch that is available for download, then add it +to the +_PATCH+ variable. If an entry contains +://+, +then Buildroot will assume it is a full URL and download the patch +from this location. Otherwise, Buildroot will assume that the patch should be +downloaded from +_SITE+. It can be a single patch, +or a tarball containing a patch series. + +Like for all downloads, a hash should be added to the +.hash+ +file. + +This method is typically used for packages from Debian. + +==== Within Buildroot + +Most patches are provided within Buildroot, in the package +directory; these typically aim to fix cross-compilation, libc support, +or other such issues. + +These patch files should be named +-.patch+. + +.Notes +- The patch files coming with Buildroot should not contain any package version + reference in their filename. +- The field ++ in the patch file name refers to the 'apply order', + and shall start at 1; It is preferred to pad the number with zeros up to 4 + digits, like 'git-format-patch' does. E.g.: +0001-foobar-the-buz.patch+ +- Previously, it was mandatory for patches to be prefixed with the name of + the package, like +--.patch+, but that is + no longer the case. Existing packages will be fixed as time passes. 'Do + not prefix patches with the package name.' +- Previously, a +series+ file, as used by +quilt+, could also be added in + the package directory. In that case, the +series+ file defines the patch + application order. This is deprecated, and will be removed in the future. + 'Do not use a series file.' + + +==== Global patch directory + +The +BR2_GLOBAL_PATCH_DIR+ configuration file option can be +used to specify a space separated list of one or more directories +containing global package patches. See xref:customize-patches[] for +details. + +[[patch-apply-order]] +=== How patches are applied + +. Run the +_PRE_PATCH_HOOKS+ commands if defined; + +. Cleanup the build directory, removing any existing +*.rej+ files; + +. If +_PATCH+ is defined, then patches from these + tarballs are applied; + +. If there are some +*.patch+ files in the package's Buildroot + directory or in a package subdirectory named ++, + then: ++ +* If a +series+ file exists in the package directory, then patches are + applied according to the +series+ file; ++ +* Otherwise, patch files matching +*.patch+ are applied in alphabetical + order. + So, to ensure they are applied in the right order, it is highly + recommended to name the patch files like this: + +-.patch+, where ++ refers to the + 'apply order'. + +. If +BR2_GLOBAL_PATCH_DIR+ is defined, the directories will be + enumerated in the order they are specified. The patches are applied + as described in the previous step. + +. Run the +_POST_PATCH_HOOKS+ commands if defined. + +If something goes wrong in the steps _3_ or _4_, then the build fails. + +=== Format and licensing of the package patches + +Patches are released under the same license as the software they apply +to (see xref:legal-info-buildroot[]). + +A message explaining what the patch does, and why it is needed, should +be added in the header commentary of the patch. + +You should add a +Signed-off-by+ statement in the header of the each +patch to help with keeping track of the changes and to certify that the +patch is released under the same license as the software that is modified. + +If the software is under version control, it is recommended to use the +upstream SCM software to generate the patch set. + +Otherwise, concatenate the header with the output of the ++diff -purN package-version.orig/ package-version/+ command. + +If you update an existing patch (e.g. when bumping the package version), +make sure the existing From header and Signed-off-by tags are not +removed, but do update the rest of the patch comment when appropriate. + +At the end, the patch should look like: + +--------------- +configure.ac: add C++ support test + +Signed-off-by: John Doe + +--- configure.ac.orig ++++ configure.ac +@@ -40,2 +40,12 @@ + +AC_PROG_MAKE_SET ++ ++AC_CACHE_CHECK([whether the C++ compiler works], ++ [rw_cv_prog_cxx_works], ++ [AC_LANG_PUSH([C++]) ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], ++ [rw_cv_prog_cxx_works=yes], ++ [rw_cv_prog_cxx_works=no]) ++ AC_LANG_POP([C++])]) ++ ++AM_CONDITIONAL([CXX_WORKS], [test "x$rw_cv_prog_cxx_works" = "xyes"]) +--------------- + +=== Integrating patches found on the Web + +When integrating a patch of which you are not the author, you have to +add a few things in the header of the patch itself. + +Depending on whether the patch has been obtained from the project +repository itself, or from somewhere on the web, add one of the +following tags: + +--------------- +Backported from: +--------------- + +or + +--------------- +Fetch from: +--------------- + +It is also sensible to add a few words about any changes to the patch +that may have been necessary. diff --git a/docs/manual/prerequisite.txt b/docs/manual/prerequisite.txt new file mode 100644 index 0000000000..110fab41fd --- /dev/null +++ b/docs/manual/prerequisite.txt @@ -0,0 +1,89 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[requirement]] +== System requirements + +Buildroot is designed to run on Linux systems. + +While Buildroot itself will build most host packages it needs for the +compilation, certain standard Linux utilities are expected to be +already installed on the host system. Below you will find an overview of +the mandatory and optional packages (note that package names may vary +between distributions). + +[[requirement-mandatory]] + +=== Mandatory packages + +* Build tools: + +** +which+ +** +sed+ +** +make+ (version 3.81 or any later) +** +binutils+ +** +build-essential+ (only for Debian based systems) +** +gcc+ (version 2.95 or any later) +** `g++` (version 2.95 or any later) +** +bash+ +** +patch+ +** +gzip+ +** +bzip2+ +** +perl+ (version 5.8.7 or any later) +** +tar+ +** +cpio+ +** +python+ (version 2.6 or any later) +** +unzip+ +** +rsync+ +** +file+ (must be in +/usr/bin/file+) +** +bc+ + +* Source fetching tools: +** +wget+ + +[[requirement-optional]] + +=== Optional packages + +* Configuration interface dependencies: ++ +For these libraries, you need to install both runtime and development +data, which in many distributions are packaged separately. The +development packages typically have a _-dev_ or _-devel_ suffix. ++ +** +ncurses5+ to use the 'menuconfig' interface +** +qt4+ to use the 'xconfig' interface +** +glib2+, +gtk2+ and +glade2+ to use the 'gconfig' interface + +* Source fetching tools: ++ +In the official tree, most of the package sources are retrieved using ++wget+ from _ftp_, _http_ or _https_ locations. A few packages are only +available through a version control system. Moreover, Buildroot is +capable of downloading sources via other tools, like +rsync+ or +scp+ +(refer to xref:download-infra[] for more details). If you enable +packages using any of these methods, you will need to install the +corresponding tool on the host system: ++ +** +bazaar+ +** +cvs+ +** +git+ +** +mercurial+ +** +rsync+ +** +scp+ +** +subversion+ + +* Java-related packages, if the Java Classpath needs to be built for + the target system: +** The +javac+ compiler +** The +jar+ tool + +* Documentation generation tools: +** +asciidoc+, version 8.6.3 or higher +** +w3m+ +** +python+ with the +argparse+ module (automatically present in 2.7+ and 3.2+) +** +dblatex+ (required for the pdf manual only) + +* Graph generation tools: +** +graphviz+ to use 'graph-depends' and '-graph-depends' +** +python-matplotlib+ to use 'graph-build' diff --git a/docs/manual/quickstart.txt b/docs/manual/quickstart.txt new file mode 100644 index 0000000000..74158ae249 --- /dev/null +++ b/docs/manual/quickstart.txt @@ -0,0 +1,123 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +== Buildroot quick start + +*Important*: you can and should *build everything as a normal user*. There +is no need to be root to configure and use Buildroot. By running all +commands as a regular user, you protect your system against packages +behaving badly during compilation and installation. + +The first step when using Buildroot is to create a configuration. +Buildroot has a nice configuration tool similar to the one you can +find in the http://www.kernel.org/[Linux kernel] or in +http://www.busybox.net/[BusyBox]. + +From the buildroot directory, run + +-------------------- + $ make menuconfig +-------------------- + +for the original curses-based configurator, or + +-------------------- + $ make nconfig +-------------------- + +for the new curses-based configurator, or + +-------------------- + $ make xconfig +-------------------- + +for the Qt-based configurator, or + +-------------------- + $ make gconfig +-------------------- + +for the GTK-based configurator. + +All of these "make" commands will need to build a configuration +utility (including the interface), so you may need to install +"development" packages for relevant libraries used by the +configuration utilities. Refer to xref:requirement[] for more details, +specifically the xref:requirement-optional[optional requirements] +to get the dependencies of your favorite interface. + +For each menu entry in the configuration tool, you can find associated +help that describes the purpose of the entry. Refer to xref:configure[] +for details on some specific configuration aspects. + +Once everything is configured, the configuration tool generates a ++.config+ file that contains the entire configuration. This file will be +read by the top-level Makefile. + +To start the build process, simply run: + +-------------------- + $ make +-------------------- + +You *should never* use +make -jN+ with Buildroot: top-level parallel +make is currently not supported. Instead, use the +BR2_JLEVEL+ option +to tell Buildroot to run the compilation of each individual package +with +make -jN+. + +The `make` command will generally perform the following steps: + +* download source files (as required); +* configure, build and install the cross-compilation toolchain, or + simply import an external toolchain; +* configure, build and install selected target packages; +* build a kernel image, if selected; +* build a bootloader image, if selected; +* create a root filesystem in selected formats. + +Buildroot output is stored in a single directory, +output/+. +This directory contains several subdirectories: + +* +images/+ where all the images (kernel image, bootloader and root + filesystem images) are stored. These are the files you need to put + on your target system. + +* +build/+ where all the components are built (this includes tools + needed by Buildroot on the host and packages compiled for the + target). This directory contains one subdirectory for each of these + components. + +* +staging/+ which contains a hierarchy similar to a root filesystem + hierarchy. This directory contains the headers and libraries of the + cross-compilation toolchain and all the userspace packages selected + for the target. However, this directory is 'not' intended to be + the root filesystem for the target: it contains a lot of development + files, unstripped binaries and libraries that make it far too big + for an embedded system. These development files are used to compile + libraries and applications for the target that depend on other + libraries. + +* +target/+ which contains 'almost' the complete root filesystem for + the target: everything needed is present except the device files in + +/dev/+ (Buildroot can't create them because Buildroot doesn't run + as root and doesn't want to run as root). Also, it doesn't have the correct + permissions (e.g. setuid for the busybox binary). Therefore, this directory + *should not be used on your target*. Instead, you should use one of + the images built in the +images/+ directory. If you need an + extracted image of the root filesystem for booting over NFS, then + use the tarball image generated in +images/+ and extract it as + root. Compared to +staging/+, +target/+ contains only the files and + libraries needed to run the selected target applications: the + development files (headers, etc.) are not present, the binaries are + stripped. + +* +host/+ contains the installation of tools compiled for the host + that are needed for the proper execution of Buildroot, including the + cross-compilation toolchain. + +These commands, +make menuconfig|nconfig|gconfig|xconfig+ and +make+, are the +basic ones that allow to easily and quickly generate images fitting +your needs, with all the features and applications you enabled. + +More details about the "make" command usage are given in +xref:make-tips[]. diff --git a/docs/manual/rebuilding-packages.txt b/docs/manual/rebuilding-packages.txt new file mode 100644 index 0000000000..6faa67adcb --- /dev/null +++ b/docs/manual/rebuilding-packages.txt @@ -0,0 +1,122 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[full-rebuild]] +=== Understanding when a full rebuild is necessary + +Buildroot does not attempt to detect what parts of the system should +be rebuilt when the system configuration is changed through +make +menuconfig+, +make xconfig+ or one of the other configuration +tools. In some cases, Buildroot should rebuild the entire system, in +some cases, only a specific subset of packages. But detecting this in +a completely reliable manner is very difficult, and therefore the +Buildroot developers have decided to simply not attempt to do this. + +Instead, it is the responsibility of the user to know when a full +rebuild is necessary. As a hint, here are a few rules of thumb that +can help you understand how to work with Buildroot: + + * When the target architecture configuration is changed, a complete + rebuild is needed. Changing the architecture variant, the binary + format or the floating point strategy for example has an impact on + the entire system. + + * When the toolchain configuration is changed, a complete rebuild + generally is needed. Changing the toolchain configuration often + involves changing the compiler version, the type of C library or + its configuration, or some other fundamental configuration item, + and these changes have an impact on the entire system. + + * When an additional package is added to the configuration, a full + rebuild is not necessarily needed. Buildroot will detect that this + package has never been built, and will build it. However, if this + package is a library that can optionally be used by packages that + have already been built, Buildroot will not automatically rebuild + those. Either you know which packages should be rebuilt, and you + can rebuild them manually, or you should do a full rebuild. For + example, let's suppose you have built a system with the +ctorrent+ + package, but without +openssl+. Your system works, but you realize + you would like to have SSL support in +ctorrent+, so you enable the + +openssl+ package in Buildroot configuration and restart the + build. Buildroot will detect that +openssl+ should be built and + will be build it, but it will not detect that +ctorrent+ should be + rebuilt to benefit from +openssl+ to add OpenSSL support. You will + either have to do a full rebuild, or rebuild +ctorrent+ itself. + + * When a package is removed from the configuration, Buildroot does + not do anything special. It does not remove the files installed by + this package from the target root filesystem or from the toolchain + _sysroot_. A full rebuild is needed to get rid of this + package. However, generally you don't necessarily need this package + to be removed right now: you can wait for the next lunch break to + restart the build from scratch. + + * When the sub-options of a package are changed, the package is not + automatically rebuilt. After making such changes, rebuilding only + this package is often sufficient, unless enabling the package + sub-option adds some features to the package that are useful for + another package which has already been built. Again, Buildroot does + not track when a package should be rebuilt: once a package has been + built, it is never rebuilt unless explicitly told to do so. + + * When a change to the root filesystem skeleton is made, a full + rebuild is needed. However, when changes to the root filesystem + overlay, a post-build script or a post-image script are made, + there is no need for a full rebuild: a simple +make+ invocation + will take the changes into account. + +Generally speaking, when you're facing a build error and you're unsure +of the potential consequences of the configuration changes you've +made, do a full rebuild. If you get the same build error, then you are +sure that the error is not related to partial rebuilds of packages, +and if this error occurs with packages from the official Buildroot, do +not hesitate to report the problem! As your experience with Buildroot +progresses, you will progressively learn when a full rebuild is really +necessary, and you will save more and more time. + +For reference, a full rebuild is achieved by running: + +--------------- +$ make clean all +--------------- + +[[rebuild-pkg]] +=== Understanding how to rebuild packages + +One of the most common questions asked by Buildroot users is how to +rebuild a given package or how to remove a package without rebuilding +everything from scratch. + +Removing a package is unsupported by Buildroot without +rebuilding from scratch. This is because Buildroot doesn't keep track +of which package installs what files in the +output/staging+ and ++output/target+ directories, or which package would be compiled differently +depending on the availability of another package. + +The easiest way to rebuild a single package from scratch is to remove +its build directory in +output/build+. Buildroot will then re-extract, +re-configure, re-compile and re-install this package from scratch. You +can ask buildroot to do this with the +make -dirclean+ command. + +On the other hand, if you only want to restart the build process of a +package from its compilation step, you can run +make +-rebuild+, followed by +make+ or +make +. It will +restart the compilation and installation of the package, but not from +scratch: it basically re-executes +make+ and +make install+ +inside the package, so it will only rebuild files that changed. + +If you want to restart the build process of a package from its +configuration step, you can run +make -reconfigure+, followed +by +make+ or +make +. It will restart the configuration, +compilation and installation of the package. + +Internally, Buildroot creates so-called _stamp files_ to keep track of +which build steps have been completed for each package. They are +stored in the package build directory, ++output/build/-/+ and are named ++.stamp_+. The commands detailed above simply manipulate +these stamp files to force Buildroot to restart a specific set of +steps of a package build process. + +Further details about package special make targets are explained in +xref:pkg-build-steps[]. diff --git a/docs/manual/resources.txt b/docs/manual/resources.txt new file mode 100644 index 0000000000..69bfff8f2b --- /dev/null +++ b/docs/manual/resources.txt @@ -0,0 +1,73 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[community-resources]] +== Community resources + +Like any open source project, Buildroot has different ways to share +information in its community and outside. + +Each of those ways may interest you if you are looking for some help, +want to understand Buildroot or contribute to the project. + +Mailing List:: ++ +Buildroot has a mailing list for discussion and development. It is the +main method of interaction for Buildroot users and developers. ++ +Only subscribers to the Buildroot mailing list are allowed to post to +this list. You can subscribe via the +http://lists.buildroot.org/mailman/listinfo/buildroot[mailing list info +page]. ++ +Mails that are sent to the mailing list are also available in the +http://lists.buildroot.org/pipermail/buildroot[mailing list archives] and +via http://gmane.org[Gmane], at +http://dir.gmane.org/gmane.comp.lib.uclibc.buildroot[+gmane.comp.lib.uclibc.buildroot+]. +Please search the mailing list archives before asking questions, since +there is a good chance someone else has asked the same question before. + +IRC:: ++ +The Buildroot IRC channel irc://freenode.net/#buildroot[#buildroot] is +hosted on http://webchat.freenode.net[Freenode]. It is a useful place to +ask quick questions or discuss on certain topics. ++ +When asking for help on IRC, share relevant logs or pieces of code +using a code sharing website, such as http://code.bulix.org. ++ +Note that for certain questions, posting to the mailing list may be +better as it will reach more people, both developers and users. + +Bug tracker:: ++ +Bugs in Buildroot can be reported via the mailing list or alternatively +via the https://bugs.buildroot.org/buglist.cgi?product=buildroot[Buildroot +bugtracker]. Please refer to xref:reporting-bugs[] before creating a bug +report. + +Wiki:: ++ +http://elinux.org/Buildroot[The Buildroot wiki page] is hosted on +the http://elinux.org[eLinux] wiki. It contains some useful links, an +overview of past and upcoming events, and a TODO list. + +Patchwork:: ++ +Patchwork is a web-based patch tracking system designed to facilitate +the contribution and management of contributions to an open-source +project. Patches that have been sent to a mailing list are \'caught' by +the system, and appear on a web page. Any comments posted that +reference the patch are appended to the patch page too. For more +information on Patchwork see +http://jk.ozlabs.org/projects/patchwork/[]. ++ +Buildroot's Patchwork website is mainly for use by Buildroot's +maintainer to ensure patches aren't missed. It is also used by Buildroot +patch reviewers (see also xref:apply-patches-patchwork[]). +However, since the website exposes patches and their corresponding +review comments in a clean and concise web interface, it can be useful +for all Buildroot developers. ++ +The Buildroot patch management interface is available at +http://patchwork.buildroot.org[]. diff --git a/docs/manual/using-buildroot-debugger.txt b/docs/manual/using-buildroot-debugger.txt new file mode 100644 index 0000000000..d5293beb53 --- /dev/null +++ b/docs/manual/using-buildroot-debugger.txt @@ -0,0 +1,53 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +==== Using +gdb+ in Buildroot + +Buildroot allows to do cross-debugging, where the debugger runs on the +build machine and communicates with +gdbserver+ on the target to +control the execution of the program. + +To achieve this: + +* If you are using an _internal toolchain_ (built by Buildroot), you + must enable +BR2_PACKAGE_HOST_GDB+, +BR2_PACKAGE_GDB+ and + +BR2_PACKAGE_GDB_SERVER+. This ensures that both the cross gdb and + gdbserver get built, and that gdbserver gets installed to your target. + +* If you are using an _external toolchain_, you should enable + +BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY+, which will copy the + gdbserver included with the external toolchain to the target. If your + external toolchain does not have a cross gdb or gdbserver, it is also + possible to let Buildroot build them, by enabling the same options as + for the _internal toolchain backend_. + +Now, to start debugging a program called +foo+, you should run on the +target: + +---------------------------- +gdbserver :2345 foo +---------------------------- + +This will cause +gdbserver+ to listen on TCP port 2345 for a connection +from the cross gdb. + +Then, on the host, you should start the cross gdb using the following +command line: + +---------------------------- +/output/host/bin/-gdb -x /output/staging/usr/share/buildroot/gdbinit foo +---------------------------- + +Of course, +foo+ must be available in the current directory, built +with debugging symbols. Typically you start this command from the +directory where +foo+ is built (and not from +output/target/+ as the +binaries in that directory are stripped). + +The +/output/staging/usr/share/buildroot/gdbinit+ file will tell the +cross gdb where to find the libraries of the target. + +Finally, to connect to the target from the cross gdb: + +---------------------------- +(gdb) target remote :2345 +---------------------------- diff --git a/docs/manual/using-buildroot-development.txt b/docs/manual/using-buildroot-development.txt new file mode 100644 index 0000000000..1071de5132 --- /dev/null +++ b/docs/manual/using-buildroot-development.txt @@ -0,0 +1,83 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +==== Using Buildroot during development + +The normal operation of Buildroot is to download a tarball, extract +it, configure, compile and install the software component found inside +this tarball. The source code is extracted in ++output/build/-+, which is a temporary directory: +whenever +make clean+ is used, this directory is entirely removed, and +re-created at the next +make+ invocation. Even when a Git or +Subversion repository is used as the input for the package source +code, Buildroot creates a tarball out of it, and then behaves as it +normally does with tarballs. + +This behavior is well-suited when Buildroot is used mainly as an +integration tool, to build and integrate all the components of an +embedded Linux system. However, if one uses Buildroot during the +development of certain components of the system, this behavior is not +very convenient: one would instead like to make a small change to the +source code of one package, and be able to quickly rebuild the system +with Buildroot. + +Making changes directly in +output/build/-+ is not +an appropriate solution, because this directory is removed on +make +clean+. + +Therefore, Buildroot provides a specific mechanism for this use case: +the +_OVERRIDE_SRCDIR+ mechanism. Buildroot reads an _override_ +file, which allows the user to tell Buildroot the location of the +source for certain packages. By default this _override_ file is named ++local.mk+ and located in the top directory of the Buildroot source +tree, but a different location can be specified through the ++BR2_PACKAGE_OVERRIDE_FILE+ configuration option. + +In this _override_ file, Buildroot expects to find lines of the form: + +------------------ +_OVERRIDE_SRCDIR = /path/to/pkg1/sources +_OVERRIDE_SRCDIR = /path/to/pkg2/sources +------------------ + +For example: + +------------------ +LINUX_OVERRIDE_SRCDIR = /home/bob/linux/ +BUSYBOX_OVERRIDE_SRCDIR = /home/bob/busybox/ +------------------ + +When Buildroot finds that for a given package, an ++_OVERRIDE_SRCDIR+ has been defined, it will no longer attempt to +download, extract and patch the package. Instead, it will directly use +the source code available in the specified directory and +make clean+ +will not touch this directory. This allows to point Buildroot to your +own directories, that can be managed by Git, Subversion, or any other +version control system. To achieve this, Buildroot will use _rsync_ to +copy the source code of the component from the specified ++_OVERRIDE_SRCDIR+ to +output/build/-custom/+. + +This mechanism is best used in conjunction with the +make +-rebuild+ and +make -reconfigure+ targets. A +make +-rebuild all+ sequence will _rsync_ the source code from ++_OVERRIDE_SRCDIR+ to +output/build/-custom+ (thanks to +_rsync_, only the modified files are copied), and restart the build +process of just this package. + +In the example of the +linux+ package above, the developer can then +make a source code change in +/home/bob/linux+ and then run: + +----------------------- +make linux-rebuild all +----------------------- + +and in a matter of seconds gets the updated Linux kernel image in ++output/images+. Similarly, a change can be made to the BusyBox source +code in +/home/bob/busybox+, and after: + +----------------------- +make busybox-rebuild all +----------------------- + +the root filesystem image in +output/images+ contains the updated +BusyBox. diff --git a/docs/manual/using-buildroot-toolchain.txt b/docs/manual/using-buildroot-toolchain.txt new file mode 100644 index 0000000000..6a90645649 --- /dev/null +++ b/docs/manual/using-buildroot-toolchain.txt @@ -0,0 +1,22 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +==== Using the generated toolchain outside Buildroot + +You may want to compile, for your target, your own programs or other +software that are not packaged in Buildroot. In order to do this you +can use the toolchain that was generated by Buildroot. + +The toolchain generated by Buildroot is located by default in ++output/host/+. The simplest way to use it is to add ++output/host/bin/+ to your PATH environment variable and then to +use +ARCH-linux-gcc+, +ARCH-linux-objdump+, +ARCH-linux-ld+, etc. + +It is possible to relocate the toolchain - but then +--sysroot+ must +be passed every time the compiler is called to tell where the +libraries and header files are. + +It is also possible to generate the Buildroot toolchain in a directory +other than +output/host+ by using the +Build options -> Host dir+ +option. This could be useful if the toolchain must be shared with +other users. diff --git a/docs/manual/writing-rules.txt b/docs/manual/writing-rules.txt new file mode 100644 index 0000000000..ca43272287 --- /dev/null +++ b/docs/manual/writing-rules.txt @@ -0,0 +1,151 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +== Coding style + +Overall, these coding style rules are here to help you to add new files in +Buildroot or refactor existing ones. + +If you slightly modify some existing file, the important thing is +to keep the consistency of the whole file, so you can: + +* either follow the potentially deprecated coding style used in this +file, + +* or entirely rework it in order to make it comply with these rules. + +[[writing-rules-config-in]] + +=== +Config.in+ file + ++Config.in+ files contain entries for almost anything configurable in +Buildroot. + +An entry has the following pattern: + +--------------------- +config BR2_PACKAGE_LIBFOO + bool "libfoo" + depends on BR2_PACKAGE_LIBBAZ + select BR2_PACKAGE_LIBBAR + help + This is a comment that explains what libfoo is. The help text + should be wrapped. + + http://foosoftware.org/libfoo/ +--------------------- + +* The +bool+, +depends on+, +select+ and +help+ lines are indented + with one tab. + +* The help text itself should be indented with one tab and two + spaces. + +* The help text should be wrapped to fit 72 columns, where tab counts + for 8, so 62 characters in the text itself. + +The +Config.in+ files are the input for the configuration tool +used in Buildroot, which is the regular _Kconfig_. For further +details about the _Kconfig_ language, refer to +http://kernel.org/doc/Documentation/kbuild/kconfig-language.txt[]. + +[[writing-rules-mk]] + +=== The +.mk+ file + +* Header: The file starts with a header. It contains the module name, +preferably in lowercase, enclosed between separators made of 80 hashes. A +blank line is mandatory after the header: ++ +--------------------- +################################################################################ +# +# libfoo +# +################################################################################ +--------------------- ++ +* Assignment: use +=+ preceded and followed by one space: ++ +--------------------- +LIBFOO_VERSION = 1.0 +LIBFOO_CONF_OPTS += --without-python-support +--------------------- ++ +Do not align the +=+ signs. + +* Indentation: use tab only: ++ +--------------------- +define LIBFOO_REMOVE_DOC + $(RM) -fr $(TARGET_DIR)/usr/share/libfoo/doc \ + $(TARGET_DIR)/usr/share/man/man3/libfoo* +endef +--------------------- ++ +Note that commands inside a +define+ block should always start with a tab, +so _make_ recognizes them as commands. + +* Optional dependency: + +** Prefer multi-line syntax. ++ +YES: ++ +--------------------- +ifeq ($(BR2_PACKAGE_PYTHON),y) +LIBFOO_CONF_OPTS += --with-python-support +LIBFOO_DEPENDENCIES += python +else +LIBFOO_CONF_OPTS += --without-python-support +endif +--------------------- ++ +NO: ++ +--------------------- +LIBFOO_CONF_OPTS += --with$(if $(BR2_PACKAGE_PYTHON),,out)-python-support +LIBFOO_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON),python,) +--------------------- + +** Keep configure options and dependencies close together. + +* Optional hooks: keep hook definition and assignment together in one + if block. ++ +YES: ++ +--------------------- +ifneq ($(BR2_LIBFOO_INSTALL_DATA),y) +define LIBFOO_REMOVE_DATA + $(RM) -fr $(TARGET_DIR)/usr/share/libfoo/data +endef +LIBFOO_POST_INSTALL_TARGET_HOOKS += LIBFOO_REMOVE_DATA +endif +--------------------- ++ +NO: ++ +--------------------- +define LIBFOO_REMOVE_DATA + $(RM) -fr $(TARGET_DIR)/usr/share/libfoo/data +endef + +ifneq ($(BR2_LIBFOO_INSTALL_DATA),y) +LIBFOO_POST_INSTALL_TARGET_HOOKS += LIBFOO_REMOVE_DATA +endif +--------------------- + +=== The documentation + +The documentation uses the +http://www.methods.co.nz/asciidoc/[asciidoc] format. + +For further details about the http://www.methods.co.nz/asciidoc/[asciidoc] +syntax, refer to http://www.methods.co.nz/asciidoc/userguide.html[]. + +=== Support scripts + +Some scripts in the +support/+ and +utils/+ directories are written in +Python and should follow the +https://www.python.org/dev/peps/pep-0008/[PEP8 Style Guide for Python Code]. diff --git a/docs/website/.htaccess b/docs/website/.htaccess new file mode 100644 index 0000000000..b02beb8854 --- /dev/null +++ b/docs/website/.htaccess @@ -0,0 +1,62 @@ +# BEGIN Compress text files + + + SetOutputFilter DEFLATE + + +# END Compress text files + +# BEGIN Expire headers + + ExpiresActive On + ExpiresDefault "access plus 1 seconds" + ExpiresByType image/x-icon "access plus 2592000 seconds" + ExpiresByType image/jpeg "access plus 2592000 seconds" + ExpiresByType image/png "access plus 2592000 seconds" + ExpiresByType image/gif "access plus 2592000 seconds" + ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds" + ExpiresByType text/css "access plus 604800 seconds" + ExpiresByType text/javascript "access plus 216000 seconds" + ExpiresByType application/javascript "access plus 216000 seconds" + ExpiresByType application/x-javascript "access plus 216000 seconds" + ExpiresByType text/html "access plus 600 seconds" + ExpiresByType application/xhtml+xml "access plus 600 seconds" + +# END Expire headers + +# BEGIN Cache-Control Headers + + + Header set Cache-Control "max-age=2592000, public" + + + Header set Cache-Control "max-age=604800, public" + + + Header set Cache-Control "max-age=216000, private" + + + Header set Cache-Control "max-age=600, private, must-revalidate" + + +# END Cache-Control Headers + +# BEGIN Turn ETags Off + + Header unset ETag + +FileETag None +# END Turn ETags Off + +# BEGIN gzip + +mod_gzip_on Yes +mod_gzip_dechunk Yes +mod_gzip_item_include file .(html?|txt|css|js)$ +mod_gzip_item_include handler ^cgi-script$ +mod_gzip_item_include mime ^text/.* +mod_gzip_item_include mime ^application/x-javascript.* +mod_gzip_item_exclude mime ^image/.* +mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* + +# END gzip diff --git a/docs/website/contribute.html b/docs/website/contribute.html new file mode 100644 index 0000000000..721729be3d --- /dev/null +++ b/docs/website/contribute.html @@ -0,0 +1,44 @@ + + +
+
+
+ +
+
Contribute
+
+

Buildroot is an open source project and you are very welcome to contribute to + it.
+ There are many different ways to contribute:

+ + + +

For more details on these topics, check out the + + Contributing to buildroot chapter in the Buildroot manual. Thanks for your help!

+ +

If you need any support yourself, have a look at + Support.

+
+
+ +
+
+
+ + diff --git a/docs/website/copyright.txt b/docs/website/copyright.txt new file mode 100644 index 0000000000..0939b748d2 --- /dev/null +++ b/docs/website/copyright.txt @@ -0,0 +1,30 @@ + +The code and graphics on this website (and it's mirror sites, if any) are +Copyright (c) 1999-2005 by Erik Andersen, 2006-2014 The Buildroot +developers. All rights reserved. + +Documents on this Web site including their graphical elements, design, and +layout are protected by trade dress and other laws and MAY BE COPIED OR +IMITATED IN WHOLE OR IN PART. THIS WEBSITE IS LICENSED FREE OF CHARGE, THERE +IS NO WARRANTY FOR THE WEBSITE TO THE EXTENT PERMITTED BY APPLICABLE LAW. +SHOULD THIS WEBSITE PROVE DEFECTIVE, YOU MAY ASSUME THAT SOMEONE MIGHT GET +AROUND TO SERVICING, REPAIRING OR CORRECTING IT SOMETIME WHEN THEY HAVE NOTHING +BETTER TO DO. REGARDLESS, YOU GET TO KEEP BOTH PIECES. + +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 THIS +WEBSITE 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 THIS WEBSITE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR +LOSS OF HAIR, LOSS OF LIFE, LOSS OF MEMORY, LOSS OF YOUR CARKEYS, MISPLACEMENT +OF YOUR PAYCHECK, OR COMMANDER DATA BEING RENDERED UNABLE TO ASSIST THE +STARFLEET OFFICERS ABORD THE STARSHIP ENTERPRISE TO RECALIBRATE THE MAIN +DEFLECTOR ARRAY, LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE +WEBSITE TO OPERATE WITH YOUR WEBBROWSER), EVEN IF SUCH HOLDER OR OTHER PARTY +HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +You have been warned. + +You can contact the webmaster at if you have some sort +of problem with this. + diff --git a/docs/website/css/main.css b/docs/website/css/main.css new file mode 100644 index 0000000000..5255531b30 --- /dev/null +++ b/docs/website/css/main.css @@ -0,0 +1,260 @@ +/* + * Author: Carlos Alvarez + * URL: http://alvarez.is + * + * Project Name: FLATTY - Free Bootstrap 3 Theme + * Version: 1.0 + * URL: http://blacktie.co + */ + +body { + background-color: #f2f2f2; + font-family: 'Roboto', sans-serif; + font-weight: 300; + font-size: 16px; + color: #555; + + -webkit-font-smoothing: antialiased; + -webkit-overflow-scrolling: touch; +} + +/* Titles */ +h1, h2, h3, h4, h5, h6 { + font-family: 'Roboto', sans-serif; + font-weight: 300; + color: #333; +} + +h1 { + font-size: 40px; +} + +h3 { + color: #95a5a6; + font-weight: 400; +} + +h4 { + color: #95a5a6; + font-weight: 400; + font-size: 20px; +} + +.ellipsis p { + margin-bottom:10px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.centered { + text-align: center; +} + +/* Links */ +a { + color: #3498db; + word-wrap: break-word; + + -webkit-transition: color 0.1s ease-in, background 0.1s ease-in; + -moz-transition: color 0.1s ease-in, background 0.1s ease-in; + -ms-transition: color 0.1s ease-in, background 0.1s ease-in; + -o-transition: color 0.1s ease-in, background 0.1s ease-in; + transition: color 0.1s ease-in, background 0.1s ease-in; +} + +a:hover, +a:focus { + color: #7b7b7b; + text-decoration: none; + outline: 0; +} + +a:before, +a:after { + -webkit-transition: color 0.1s ease-in, background 0.1s ease-in; + -moz-transition: color 0.1s ease-in, background 0.1s ease-in; + -ms-transition: color 0.1s ease-in, background 0.1s ease-in; + -o-transition: color 0.1s ease-in, background 0.1s ease-in; + transition: color 0.1s ease-in, background 0.1s ease-in; +} + + hr { + display: block; + height: 1px; + border: 0; + border-top: 1px solid #ccc; + margin: 1em 0; + padding: 0; +} + +.navbar-default { + background-color: #3498db; + border-color: transparent; +} + +.navbar-default .navbar-brand { + color: white; +} + +.navbar-default .navbar-nav > li > a { + color: white; +} + +/* Helpers */ + +.mt { + margin-top: 40px; + margin-bottom: 40px; +} + +.nh { + margin-top: 80px; + margin-bottom: 40px; +} + +.form-control { + height: 42px; + font-size: 18px; + width: 280px; +} + +i { + margin: 8px; + color: #3498db; +} + + +/* HeaderWrap */ +#headerwrap { + /* background: url(../img/bg01.jpg) no-repeat center top; */ + background-color: #3498db; + margin-top: -20px; + padding-top:120px; + background-attachment: relative; + background-position: center center; + min-height: 400px; + max-height: 800px; + width: 100%; + + -webkit-background-size: 100%; + -moz-background-size: 100%; + -o-background-size: 100%; + background-size: 100%; + + -webkit-background-size: cover; + -moz-background-size: cover; + -o-background-size: cover; + background-size: cover; +} + +#headerwrap h1 { + color: white; + font-size: 60px; + font-weight: bold; + letter-spacing: 1px; +} + +#menubutton { + max-height: 50px; + margin-top: 6px; + padding-top: 15px; + margin-left: 10px; +} + +.panel-sponsor { + min-height: 350px; + text-align: justify; + text-justify: inter-word; +} + +@media (min-width: 768px) and (max-width: 991px) { + .navbar-collapse.collapse { + display: none !important; + } + .navbar-collapse.collapse.in { + display: block !important; + } + .navbar-header .collapse, .navbar-toggle { + display:block !important; + } + .navbar-header { + float:none; + } + .navbar-collapse { + overflow:hidden; + } + #menubutton { + margin-right: 40px; + width: 45px; + } + .text-shrink { + visibility: hidden; + } +} + +@media (max-width:767px) { + #menubutton { + max-height: 50px; + margin-top: 6px; + padding-top: 15px; + margin-left: 15px; + margin-right: 15px; + } +} + +/* entire container, keeps perspective */ +.flip-container { + perspective: 1000; +} + /* flip the pane when hovered */ + .flip-container:hover .flipper, .flip-container.hover .flipper { + transform: rotateY(180deg); + } + +.flip-container, .front, .back { + width: 180px; + height: 180px; +} + +/* flip speed goes here */ +.flipper { + transition: 0.6s; + transform-style: preserve-3d; + + position: relative; +} + +/* hide back of pane during swap */ +.front, .back { + backface-visibility: hidden; + + position: absolute; + top: 0; + left: 0; +} + +/* front pane, placed above back */ +.front { + z-index: 2; + /* for firefox 31 */ + transform: rotateY(0deg); +} + +/* back, initially hidden pane */ +.back { + transform: rotateY(180deg); +} + +.back img { + -moz-transform: scaleX(-1); + -o-transform: scaleX(-1); + -webkit-transform: scaleX(-1); + transform: scaleX(-1); + filter: FlipH; + -ms-filter: "FlipH"; +} + +.panel-box p { + height: 1.5em; +} diff --git a/docs/website/css/timeline.css b/docs/website/css/timeline.css new file mode 100644 index 0000000000..df58461ae2 --- /dev/null +++ b/docs/website/css/timeline.css @@ -0,0 +1,184 @@ +.timeline { + list-style: none; + padding: 20px 0 20px; + position: relative; +} + +.timeline:before { + top: 0; + bottom: 0; + position: absolute; + content: " "; + width: 3px; + background-color: #E4E4E4; + left: 50%; + margin-left: -1.5px; + } + +.timeline > li { + margin-bottom: 20px; + position: relative; +} + +.timeline > li:before, +.timeline > li:after { + content: " "; + display: table; +} + +.timeline > li:after { + clear: both; +} + +.timeline > li:before, +.timeline > li:after { + content: " "; + display: table; +} + +.timeline > li:after { + clear: both; +} + +.timeline > li > .timeline-panel { + width: 46%; + float: left; + border: 1px solid #d4d4d4; + border-radius: 2px; + padding: 20px; + position: relative; + -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175); + box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175); + background-color: white; +} + +.timeline > li > .timeline-panel:before { + position: absolute; + top: 26px; + right: -15px; + display: inline-block; + border-top: 15px solid transparent; + border-left: 15px solid #ccc; + border-right: 0 solid #ccc; + border-bottom: 15px solid transparent; + content: " "; +} + +.timeline > li > .timeline-panel:after { + position: absolute; + top: 27px; + right: -14px; + display: inline-block; + border-top: 14px solid transparent; + border-left: 14px solid #fff; + border-right: 0 solid #fff; + border-bottom: 14px solid transparent; + content: " "; +} + +.timeline > li > .timeline-badge { + color: #fff; + width: 50px; + height: 50px; + line-height: 50px; + font-size: 1.4em; + text-align: center; + position: absolute; + top: 16px; + left: 50%; + margin-left: -25px; + background-color: #E6E6E6; + z-index: 100; + border-top-right-radius: 50%; + border-top-left-radius: 50%; + border-bottom-right-radius: 50%; + border-bottom-left-radius: 50%; +} + +.timeline > li.timeline-inverted > .timeline-panel { + float: right; +} + +.timeline > li.timeline-inverted > .timeline-panel:before { + border-left-width: 0; + border-right-width: 15px; + left: -15px; + right: auto; +} + +.timeline > li.timeline-inverted > .timeline-panel:after { + border-left-width: 0; + border-right-width: 14px; + left: -14px; + right: auto; +} + +.timeline-badge.primary { + background-color: #2e6da4 !important; +} + +.timeline-badge.success { + background-color: #3f903f !important; +} + +.timeline-badge.warning { + background-color: #f0ad4e !important; +} + +.timeline-badge.danger { + background-color: #d9534f !important; +} + +.timeline-badge.info { + background-color: #5bc0de !important; +} + +.timeline-title { + margin-top: 0; + color: inherit; +} + +.timeline-body > p, +.timeline-body > ul { + margin-bottom: 0; +} + +.timeline-body > p + p { + margin-top: 5px; +} + +@media (max-width: 767px) { + ul.timeline:before { + left: 40px; + } + + ul.timeline > li > .timeline-panel { + width: calc(100% - 90px); + width: -moz-calc(100% - 90px); + width: -webkit-calc(100% - 90px); + } + + ul.timeline > li > .timeline-badge { + left: 15px; + margin-left: 0; + top: 16px; + } + + ul.timeline > li > .timeline-panel { + float: right; + } + + ul.timeline > li > .timeline-panel:before { + border-left-width: 0; + border-right-width: 15px; + left: -15px; + right: auto; + } + + ul.timeline > li > .timeline-panel:after { + border-left-width: 0; + border-right-width: 14px; + left: -14px; + right: auto; + } +} diff --git a/docs/website/docs.html b/docs/website/docs.html new file mode 100644 index 0000000000..9cee36da28 --- /dev/null +++ b/docs/website/docs.html @@ -0,0 +1,119 @@ + + +
+
+
+ +
+
Documentation
+
+

The Buildroot user manual is where you want to start reading if you + wish to understand how Buildroot works, or wish to change/extend/fix + things. It is available as:

+ +
+
+
+
+
+ +
+
+ +
+
+
+ +

HTML
+ Stable | + Nightly +

+ +
+ +
+
+
+
+ +
+
+ +
+
+
+ +

PDF
+ Stable | + Nightly +

+ +
+ +
+
+
+
+ +
+
+ +
+
+
+ +

ASCII
+ Stable | + Nightly +

+ +
+
+ +

If you find any errors (factual, grammatical, whatever) please + report them to us.

+
+
+ +
+
Training
+
+

Free Electrons offers a + complete 3-days + training course on Buildroot. They also make the training + materials freely available:

+ +
+
+
+
Slides preview
+
+
+ buildroot slides +
+
+
+
+ +
+
+
Training materials
+ +
+
+
+
+
+ +
+
+
+ + + diff --git a/docs/website/download.html b/docs/website/download.html new file mode 100644 index 0000000000..6f26d67e5e --- /dev/null +++ b/docs/website/download.html @@ -0,0 +1,217 @@ + + +
+
+
+ +
+
Download
+
+ +

Latest long term support release: 2017.02.8

+ +
+
+
+
+
+ +
+
+ +
+
+
+

buildroot-2017.02.8.tar.gz

+

PGP signature

+
+
+
+
+
+ +
+
+ +
+
+
+ +

buildroot-2017.02.8.tar.bz2

+

PGP signature

+
+
+ +

Latest stable release: 2017.11

+ +
+
+
+
+
+ +
+
+ +
+
+
+

buildroot-2017.11.tar.gz

+

PGP signature

+
+
+
+
+
+ +
+
+ +
+
+
+ +

buildroot-2017.11.tar.bz2

+

PGP signature

+
+
+ + This and earlier releases (and their PGP signatures) can always be downloaded from + http://buildroot.net/downloads/. +
+
+ +
+
Source code
+
+ +
+
+
+
Repository
+
+

The buildroot repository can be browsed online through cgit at + http://git.buildroot.net/buildroot. + To grab a copy of the repository use

+ + +
+ + + + +

+ +

+ Or if you're behind a firewall blocking git: +

+ +
+ + + + +

+ +

+ + Please use the native git protocol if at all possible, as it's a lot + more efficient than HTTP. + +

+ + If you are not already familiar with using Git, we recommend you visit the Git website. + +

+ + Once you've checked out a copy of the source tree, you can update your source + tree at any time so it is in sync with the latest and greatest by entering your + buildroot directory and running the command: + +

+git pull
+
+ + Because you've only been granted anonymous access to the tree, you won't be + able to push your changes to the repo. Changes can instead be submitted for + inclusion by posting them to the buildroot mailing list. +
+
+
+ +
+
+
Tarballs
+
+ You can also obtain daily snapshots of the latest Buildroot source tree if you + want to follow development, but cannot or do not wish to use Git. + + + +

+ Older versions can be downloaded from the release archive. +

+
+
+
+
+
+
+ +
+
+
+ + diff --git a/docs/website/favicon.ico b/docs/website/favicon.ico new file mode 100644 index 0000000000..fa9d24079b Binary files /dev/null and b/docs/website/favicon.ico differ diff --git a/docs/website/fonts/glyphicons-halflings-regular.woff b/docs/website/fonts/glyphicons-halflings-regular.woff new file mode 100644 index 0000000000..d83c539b82 Binary files /dev/null and b/docs/website/fonts/glyphicons-halflings-regular.woff differ diff --git a/docs/website/footer.html b/docs/website/footer.html new file mode 100644 index 0000000000..279c8b1b5c --- /dev/null +++ b/docs/website/footer.html @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/website/header.html b/docs/website/header.html new file mode 100644 index 0000000000..ef6724f288 --- /dev/null +++ b/docs/website/header.html @@ -0,0 +1,52 @@ + + + + + + + + + + + Buildroot - Making Embedded Linux Easy + + + + + + + + + + diff --git a/docs/website/images/boundary-devices-logo.png b/docs/website/images/boundary-devices-logo.png new file mode 100644 index 0000000000..35d7a93197 Binary files /dev/null and b/docs/website/images/boundary-devices-logo.png differ diff --git a/docs/website/images/browser.png b/docs/website/images/browser.png new file mode 100644 index 0000000000..56039dfaae Binary files /dev/null and b/docs/website/images/browser.png differ diff --git a/docs/website/images/bug-buddy.png b/docs/website/images/bug-buddy.png new file mode 100644 index 0000000000..5d38fd831e Binary files /dev/null and b/docs/website/images/bug-buddy.png differ diff --git a/docs/website/images/buildroot-slides.png b/docs/website/images/buildroot-slides.png new file mode 100644 index 0000000000..6ecba3d479 Binary files /dev/null and b/docs/website/images/buildroot-slides.png differ diff --git a/docs/website/images/calao-logo.png b/docs/website/images/calao-logo.png new file mode 100644 index 0000000000..c01ecf6752 Binary files /dev/null and b/docs/website/images/calao-logo.png differ diff --git a/docs/website/images/circuitco-logo.png b/docs/website/images/circuitco-logo.png new file mode 100644 index 0000000000..8b315da4d8 Binary files /dev/null and b/docs/website/images/circuitco-logo.png differ diff --git a/docs/website/images/clippy.svg b/docs/website/images/clippy.svg new file mode 100644 index 0000000000..d827e82e5d --- /dev/null +++ b/docs/website/images/clippy.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/website/images/email.png b/docs/website/images/email.png new file mode 100644 index 0000000000..367dadc7f1 Binary files /dev/null and b/docs/website/images/email.png differ diff --git a/docs/website/images/fluendo-logo.png b/docs/website/images/fluendo-logo.png new file mode 100644 index 0000000000..b4d02cb668 Binary files /dev/null and b/docs/website/images/fluendo-logo.png differ diff --git a/docs/website/images/free-electrons-logo.png b/docs/website/images/free-electrons-logo.png new file mode 100644 index 0000000000..0a774041f1 Binary files /dev/null and b/docs/website/images/free-electrons-logo.png differ diff --git a/docs/website/images/gift.png b/docs/website/images/gift.png new file mode 100644 index 0000000000..f527f82837 Binary files /dev/null and b/docs/website/images/gift.png differ diff --git a/docs/website/images/github_hash_mongrel2.png b/docs/website/images/github_hash_mongrel2.png new file mode 100644 index 0000000000..c695c3181a Binary files /dev/null and b/docs/website/images/github_hash_mongrel2.png differ diff --git a/docs/website/images/google-logo.png b/docs/website/images/google-logo.png new file mode 100644 index 0000000000..bceab16619 Binary files /dev/null and b/docs/website/images/google-logo.png differ diff --git a/docs/website/images/hammer.png b/docs/website/images/hammer.png new file mode 100644 index 0000000000..454a5e5814 Binary files /dev/null and b/docs/website/images/hammer.png differ diff --git a/docs/website/images/imgtec-logo.png b/docs/website/images/imgtec-logo.png new file mode 100644 index 0000000000..f8a0ffa372 Binary files /dev/null and b/docs/website/images/imgtec-logo.png differ diff --git a/docs/website/images/irc.png b/docs/website/images/irc.png new file mode 100644 index 0000000000..442be4d74d Binary files /dev/null and b/docs/website/images/irc.png differ diff --git a/docs/website/images/logo.png b/docs/website/images/logo.png new file mode 100644 index 0000000000..2db743b4fa Binary files /dev/null and b/docs/website/images/logo.png differ diff --git a/docs/website/images/logo.xcf b/docs/website/images/logo.xcf new file mode 100644 index 0000000000..97248904bc Binary files /dev/null and b/docs/website/images/logo.xcf differ diff --git a/docs/website/images/logo_small.png b/docs/website/images/logo_small.png new file mode 100644 index 0000000000..eab9540226 Binary files /dev/null and b/docs/website/images/logo_small.png differ diff --git a/docs/website/images/menuconfig.png b/docs/website/images/menuconfig.png new file mode 100644 index 0000000000..423694f3e3 Binary files /dev/null and b/docs/website/images/menuconfig.png differ diff --git a/docs/website/images/mind-logo.png b/docs/website/images/mind-logo.png new file mode 100644 index 0000000000..ecc3fa09e6 Binary files /dev/null and b/docs/website/images/mind-logo.png differ diff --git a/docs/website/images/nconfig.png b/docs/website/images/nconfig.png new file mode 100644 index 0000000000..cc05d6e8e8 Binary files /dev/null and b/docs/website/images/nconfig.png differ diff --git a/docs/website/images/owi-smile-logo.png b/docs/website/images/owi-smile-logo.png new file mode 100644 index 0000000000..9744ca1531 Binary files /dev/null and b/docs/website/images/owi-smile-logo.png differ diff --git a/docs/website/images/package.png b/docs/website/images/package.png new file mode 100644 index 0000000000..9dd8b1e0a1 Binary files /dev/null and b/docs/website/images/package.png differ diff --git a/docs/website/images/pdf-icon.png b/docs/website/images/pdf-icon.png new file mode 100644 index 0000000000..71ae983de7 Binary files /dev/null and b/docs/website/images/pdf-icon.png differ diff --git a/docs/website/images/synopsys-logo.png b/docs/website/images/synopsys-logo.png new file mode 100644 index 0000000000..d4fbd89a10 Binary files /dev/null and b/docs/website/images/synopsys-logo.png differ diff --git a/docs/website/images/text.png b/docs/website/images/text.png new file mode 100644 index 0000000000..e2eee546f8 Binary files /dev/null and b/docs/website/images/text.png differ diff --git a/docs/website/images/tux-flat.png b/docs/website/images/tux-flat.png new file mode 100644 index 0000000000..782699f5ee Binary files /dev/null and b/docs/website/images/tux-flat.png differ diff --git a/docs/website/images/xconfig.png b/docs/website/images/xconfig.png new file mode 100644 index 0000000000..cb99a3a353 Binary files /dev/null and b/docs/website/images/xconfig.png differ diff --git a/docs/website/images/zip.png b/docs/website/images/zip.png new file mode 100644 index 0000000000..02a1dc1134 Binary files /dev/null and b/docs/website/images/zip.png differ diff --git a/docs/website/index.html b/docs/website/index.html new file mode 100644 index 0000000000..f0d0175bb7 --- /dev/null +++ b/docs/website/index.html @@ -0,0 +1,151 @@ + + +
+
+
+
+ +
+
+

Buildroot
+ Making Embedded Linux Easy

+ + +
+
+
+
+ + +
+
+
+

Buildroot is a simple, efficient and easy-to-use tool to + generate embedded Linux systems through cross-compilation.

+
+
+ +
+
+
+
+
+ +
+
+ +
+
+
+ +

Can handle everything

+

Cross-compilation toolchain, root filesystem generation, + kernel image compilation and bootloader compilation.

+
+ +
+
+
+
+ +
+
+ +
+
+
+ +

Is very easy

+

Thanks to its kernel-like menuconfig, gconfig and + xconfig configuration interfaces, building a basic system with + Buildroot is easy and typically takes 15-30 minutes.

+ +
+ +
+
+
+
+ +
+
+ +
+
+
+ +

Supports hundreds of packages

+

X.org stack, Gtk3, Qt 5, GStreamer, Webkit, Kodi, a large number of network-related and system-related utilities are supported.

+ +
+
+
+
+ +
+
+
+

Buildroot is for Everyone.

+

Has a simple structure that makes it easy to understand and extend. It relies only on the well-known Makefile language.

+
+
+ +
+
+ +
+
+
+ +
+
+
+

Our recent activity.

+

Buildroot is an open source project: many developers contribute to it daily.

+
+
+
+ +
+
+
+
+ +
+
+
+
+
+ +
+
+
+ + diff --git a/docs/website/js/buildroot.js b/docs/website/js/buildroot.js new file mode 100644 index 0000000000..a30da633e9 --- /dev/null +++ b/docs/website/js/buildroot.js @@ -0,0 +1,94 @@ +function load_activity(feedurl, divid) { + var yqlURL = "https://query.yahooapis.com/v1/public/yql"; + var yqlQS = "?q=select%20entry%20from%20xml%20where%20url%20%3D%20'"; + var yqlOPTS = "'%20limit%2010&format=json&callback="; + var container = document.getElementById(divid); + var url = yqlURL + yqlQS + encodeURIComponent(feedurl) + yqlOPTS; + + $.getJSON(url, function(data){ + var result = data.query.results; + var loaded = 0; + var nb_display = 8; + if (result==null) return; + for (var i = 0; i < result.feed.length; i++) { + var entry = result.feed[i].entry; + if (entry.title.indexOf("git commit") != -1) + continue; + loaded += 1; + if (loaded > nb_display) + break; + var div = document.createElement("p"); + var link = document.createElement("a"); + var d = new Date(entry.published); + var data = '[' + d.toLocaleDateString() + '] ' + entry.title + var text = document.createTextNode(data); + link.appendChild(text); + link.title = entry.title; + link.href = entry.link.href; + div.appendChild(link); + container.appendChild(div); + } + var empty = nb_display - loaded; + for (var i = 0; i < empty; i++) { + container.appendChild(document.createElement("p")); + } + }); +} + +function google_analytics() { + var _gaq = _gaq || []; + _gaq.push(['_setAccount', 'UA-21761074-1']); + _gaq.push(['_setDomainName', 'none']); + _gaq.push(['_setAllowLinker', true]); + _gaq.push(['_trackPageview']); + + var ga = document.createElement('script'); + ga.type = 'text/javascript'; + ga.async = true; + ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; + var s = document.getElementsByTagName('script')[0]; + s.parentNode.insertBefore(ga, s); +} + +function showTooltip(elem, msg) { + elem.setAttribute('class', 'btn tooltipped tooltipped-s'); + elem.setAttribute('aria-label', msg); +} + +var clipboard = new Clipboard('.btn'); + +$(function () { + $('[data-toggle="tooltip"]').tooltip() +}) + +clipboard.on('success', function(e) { + e.clearSelection(); + $(e.trigger).tooltip('show'); +}); + +$(function() { + $('a[href*=\\#]:not([href=\\#])').click(function() { + if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) { + var target = $(this.hash); + target = target.length ? target : $('[name=' + this.hash.slice(1) +']'); + if (target.length) { + $('html,body').animate({ + scrollTop: target.offset().top + }, 1000); + return false; + } + } + }); +}); + +jQuery(document).ready(function($) { + var url = window.location.href; + // Get the basename of the URL + url = url.split(/[\\/]/).pop() + $('.nav a[href="/' + url + '"]').parent().addClass('active'); + + load_activity("http://buildroot-busybox.2317881.n4.nabble.com/Buildroot-busybox-ft2.xml", "mailing-list-activity"); + load_activity("http://git.buildroot.org/buildroot/atom/?h=master", "commit-activity"); + + $('#slides').html('') +}); diff --git a/docs/website/news.html b/docs/website/news.html new file mode 100644 index 0000000000..5de000f685 --- /dev/null +++ b/docs/website/news.html @@ -0,0 +1,3780 @@ + + + + +
+
+
+ +

News

+
    + +
  • +
    +
    +
    +

    2017.11 released

    +

    30 November 2017

    +
    +
    +

    The stable 2017.11 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details + and go to the downloads page to pick up the + 2017.11 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2017.08.2 released

    +

    29 November 2017

    +
    +
    +

    The 2017.08.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2017.08.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2017.08.2 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2017.02.8 released

    +

    27 November 2017

    +
    +
    +

    The 2017.02.8 bugfix release is out, fixing a number of important / + security related issues discovered since the 2017.02.7 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2017.02.8 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2017.11-rc2 released

    +

    13 November 2017

    +
    +
    +

    Another week, another release candidate with more cleanups + and build fixes. See the + CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2017.11-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2017.11-rc1 released

    +

    6 November 2017

    +
    +
    +

    We have a new release candidate! Lots of changes all over + the tree, see + the CHANGES + file for details. +

    + +

    Head to the downloads page to pick up the + 2017.11-rc1 + release candidate, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2017.02.7 released

    +

    28 October 2017

    +
    +
    +

    The 2017.02.7 bugfix release is out, fixing a number of important / + security related issues discovered since the 2017.02.6 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2017.02.7 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2017.08.1 released

    +

    23 October 2017

    +
    +
    +

    The 2017.08.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2017.08 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2017.08.1 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2017.02.6 released

    +

    24 September 2017

    +
    +
    +

    The 2017.02.6 bugfix release is out, fixing a number of important / + security related issues discovered since the 2017.02.5 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2017.02.6 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2017.08 released

    +

    1 September 2017

    +
    +
    +

    The stable 2017.08 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details + and go to the downloads page to pick up the + 2017.08 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2017.08-rc3 released

    +

    23 August 2017

    +
    +
    +

    Another release candidate, on the road to the final 2017.08 + release. A number of fixes and cleanups in various packages + and defconfigs. See + the CHANGES + file for details. +

    + +

    Head to the downloads page to pick up the + 2017.08-rc3 + release candidate, and report any + problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2017.08-rc2 released

    +

    11 August 2017

    +
    +
    +

    Another release candidate, on the road to the final 2017.08 + release. A number of fixes and cleanups in various packages + and defconfigs. See + the CHANGES + file for details. +

    + +

    Head to the downloads page to pick up the + 2017.08-rc2 + release candidate, and report any + problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2017.08-rc1 released

    +

    2 August 2017

    +
    +
    +

    We have a new release candidate! Lots of changes all over + the tree, see + the CHANGES + file for details. +

    + +

    Head to the downloads page to pick up the + 2017.08-rc1 + release candidate, and report any + problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2017.05.2 released

    +

    27 July 2017

    +
    +
    +

    The 2017.05.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2017.05.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2017.05.2 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2017.02.5 released

    +

    27 July 2017

    +
    +
    +

    The 2017.02.5 bugfix release is out, fixing a number of important / + security related issues discovered since the 2017.02.4 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2017.02.5 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2017.05.1 released

    +

    4 July 2017

    +
    +
    +

    The 2017.05.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2017.05 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2017.05.1 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2017.02.4 released

    +

    4 July 2017

    +
    +
    +

    The 2017.02.4 bugfix release is out, fixing a number of important / + security related issues discovered since the 2017.02.3 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2017.02.4 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2017.02.3 released

    +

    2 June 2017

    +
    +
    +

    The 2017.02.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2017.02.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2017.02.3 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2017.05 released

    +

    31 May 2017

    +
    +
    +

    The stable 2017.05 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2017.05 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2017.05-rc3 released

    +

    30 May 2017

    +
    +
    +

    Release candidate 3 is out with more cleanups and security + / build fixes. See + the CHANGES + file for details.

    +

    Head to the downloads page to + pick up + the 2017.05-rc3 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2017.05-rc2 released

    +

    17 May 2017

    +
    +
    +

    Another week, another release candidate with more cleanups + and build fixes. See the + CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2017.05-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2017.05-rc1 released

    +

    8 May 2017

    +
    +
    +

    We have a new release candidate! Lots of changes all over + the tree, see + the CHANGES + file for details. +

    + +

    Head to the downloads page to pick up the + 2017.05-rc1 + release candidate, and report any + problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2017.02.2 released

    +

    1 May 2017

    +
    +
    +

    The 2017.02.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2017.02.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2017.02.2 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2017.02.1 released

    +

    4 April 2017

    +
    +
    +

    The 2017.02.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2017.02 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2017.02.1 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2016.11.3 released

    +

    10 March 2017

    +
    +
    +

    The 2016.11.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2016.11.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2016.11.3 release.

    +

    Notice that this is the final 2016.11.x release. Users are + urged to migrate to the 2017.02.x series instead.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2017.02 released

    +

    28 February 2017

    +
    +
    +

    The stable 2017.02 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2017.02 release.

    + +

    Notice that this is a long term support release which will be + supported with security and other important fixes until February 2018.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2017.02-rc3 released

    +

    26 February 2017

    +
    +
    +

    Release candidate 3 is out with more cleanups and security + / build fixes. See + the CHANGES + file for details.

    +

    Head to the downloads page to + pick up + the 2017.02-rc3 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2017.02-rc2 released

    +

    20 February 2017

    +
    +
    +

    We have a new release candidate! Lots of changes all over the tree, see + the CHANGES + file for details. +

    + +

    Head to the downloads page to pick up the + 2017.02-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2017.02-rc1 released

    +

    11 February 2017

    +
    +
    +

    We have a new release candidate! Lots of changes all over + the tree, see + the CHANGES + file for details, read + the announcement. +

    + +

    Head to the downloads page to pick up the + 2017.12-rc1 + release candidate, and report any + problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2016.11.2 released

    +

    25 January 2017

    +
    +
    +

    The 2016.11.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2016.11.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2016.11.2 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2016.11.1 released

    +

    29 December 2016

    +
    +
    +

    The 2016.11.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2016.11 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2016.11.1 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2016.11 released

    +

    30 November 2016

    +
    +
    +

    The stable 2016.11 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2016.11 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2016.11-rc3 released

    +

    28 November 2016

    +
    +
    +

    Release candidate 3 is out with more cleanups and security + / build fixes. See + the CHANGES + file for details.

    +

    Head to the downloads page to + pick up + the 2016.11-rc3 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2016.11-rc2 released

    +

    13 November 2016

    +
    +
    +

    We have a new release candidate! Lots of + changes all over the tree, see + the CHANGES + file for details. +

    + +

    Head to the downloads page to pick up the + 2016.11-rc2 + release candidate, and report any + problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2016.11-rc1 released

    +

    3 November 2016

    +
    +
    +

    We have a new release candidate! Lots of + changes all over the tree, see + the CHANGES + file for details, read the + announcement. +

    + +

    Head to the downloads page to pick up the + 2016.11-rc1 + release candidate, and report any + problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2016.08.1 released

    +

    21 September 2016

    +
    +
    +

    The 2016.08.1 bugfix release is out. This release fixes a + potential entire root filesystem removal issue with the + external toolchain handling discovered since the 2016.08 + release. See the + CHANGES + file for more details, read the + announcement and go to the + downloads page to pick up the + 2016.08.1 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2016.08 released

    +

    1 September 2016

    +
    +
    +

    The stable 2016.08 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2016.08 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2016.08-rc3 released

    +

    30 August 2016

    +
    +
    +

    Release candidate 3 is out with more cleanups and security + / build fixes. See + the CHANGES + file for details.

    +

    Head to the downloads page to + pick up + the 2016.08-rc3 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2016.08-rc2 released

    +

    17 August 2016

    +
    +
    +

    Another week, another release candidate with more cleanups + and build fixes. See + the CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2016.08-rc2 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2016.08-rc1 released

    +

    6 August 2016

    +
    +
    +

    We have a new release candidate! Lots of + changes all over the tree, see + the CHANGES + file for details and read the + announcement +

    + +

    Head to the downloads page to pick up the + 2016.08-rc1 + release candidate, and report any + problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2016.05 released

    +

    1 March 2016

    +
    +
    +

    The stable 2016.05 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2016.05 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2016.05-rc3 released

    +

    26 May 2016

    +
    +
    +

    Release candidate 3 is out with more cleanups and security + / build fixes. See + the CHANGES + file for details.

    +

    Head to the downloads page to + pick up + the 2016.05-rc3 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2016.05-rc2 released

    +

    17 May 2016

    +
    +
    +

    Another week, another release candidate with more cleanups + and build fixes. See + the CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2016.05-rc2 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2016.05-rc1 released

    +

    10 May 2016

    +
    +
    +

    We have a new release candidate! Lots of + changes all over the tree, see + the CHANGES + file for details and read the + announcement. +

    + +

    Head to the downloads page to pick up the + 2016.05-rc1 + release candidate, and report any + problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2016.02 released

    +

    1 March 2016

    +
    +
    +

    The stable 2016.02 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2016.02 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2016.02-rc3 released

    +

    27 February 2016

    +
    +
    +

    Release candidate 3 is out with more cleanups and security + / build fixes. See + the CHANGES + file for details.

    +

    Head to the downloads page to + pick up + the 2016.02-rc3 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2016.02-rc2 released

    +

    18 February 2016

    +
    +
    +

    Another week, another release candidate with more cleanups + and build fixes. See + the CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2016.02-rc2 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2016.02-rc1 released

    +

    10 February 2016

    +
    +
    +

    We have a new release candidate! Lots of + changes all over the tree, see + the CHANGES + file for details and read the + announcement. +

    + +

    Head to the downloads page to pick up the + 2016.02-rc1 + release candidate, and report any + problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2015.11.1 released

    +

    5 December 2015

    +
    +
    +

    The 2015.11.1 bugfix release is out - Thanks to everyone + contributing. This release fixes critical issues discovered + since the 2015.11 release. See the + CHANGES + file for more details, and go to the + downloads page to pick up the + 2015.11.1 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2015.11 released

    +

    30 November 2015

    +
    +
    +

    The stable 2015.11 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2015.11 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2015.11-rc3 released

    +

    26 November 2015

    +
    +
    +

    Release candidate 3 is out with more cleanups and security + / build fixes. See + the CHANGES + file for details.

    +

    Head to the downloads page to + pick up + the 2015.11-rc3 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2015.11-rc2 released

    +

    19 November 2015

    +
    +
    +

    Another week, another release candidate with more cleanups + and build fixes. See the + CHANGES + file for details.

    +

    Head to the downloads page to + pick up + the 2015.11-rc2 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2015.11-rc1 released

    +

    7 November 2015

    +
    +
    +

    We have a new release candidate! Lots of + changes all over the tree, see + the CHANGES + file for details. See also + the announcement + e-mail.

    + +

    Head to the downloads page to pick up the + 2015.11-rc1 + release candidate, and report any + problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2015.08.1 released

    +

    6 September 2015

    +
    +
    +

    The 2015.08.1 bugfix release is out - Thanks to everyone + contributing. This release fixes critical issues discovered since + the 2015.08 release. See the + CHANGES + file for more details, + and go to the downloads page to pick up the + 2015.08.1 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2015.08 released

    +

    31 August 2015

    +
    +
    +

    The stable 2015.08 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2015.08 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2015.08-rc2 released

    +

    24 August 2015

    +
    +
    +

    We have a new release candidate! Lots of changes all over the + tree, see + the CHANGES + file for details, and + the release + announcement.

    + +

    Head to the downloads page to pick up the + 2015.08-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2015.08-rc1 released

    +

    5 August 2015

    +
    +
    +

    We have a new release candidate! Lots of changes all over the tree, see + the CHANGES + file for details, read + the announcement.

    + +

    Head to the downloads page to pick up the + 2015.08-rc1 + release candidate, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2015.05 released

    +

    31 May 2015

    +
    +
    +

    The stable 2015.05 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2015.05 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2015.05-rc3 released

    +

    22 May 2015

    +
    +
    +

    Release candidate 3 is out with more cleanups and security + / build fixes. See + the CHANGES + file for details.

    +

    Head to the downloads page to + pick up + the 2015.05-rc3 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2015.05-rc2 released

    +

    11 May 2015

    +
    +
    +

    Another week, another release candidate with more cleanups + and build fixes. See + the CHANGES + file for details.

    +

    Head to the downloads page to + pick up the + 2015.05-rc2 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2015.05-rc1 released

    +

    4 May 2015

    +
    +
    +

    We have a new release candidate! Lots of changes all over the + tree, see the CHANGES + file for details, and read the + announcement.

    + +

    Head to the downloads page to pick up the + 2015.05-rc1 + release candidate, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2015.02 released

    +

    1 March 2015

    +
    +
    +

    The stable 2015.02 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2015.02 release.

    +
    +
    +
  • + + +
  • +
    +
    +
    +

    2015.02-rc3 released

    +

    24 February 2015

    +
    +
    +

    Release candidate 3 is out with more cleanups and security + / build fixes. See + the CHANGES + file for details.

    +

    Head to the downloads page to + pick up the + 2015.02-rc3 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2015.02-rc2 released

    +

    15 February 2015

    +
    +
    +

    Another week, another release candidate with more cleanups + and build fixes. See + the CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2015.02-rc2 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2015.02-rc1 released

    +

    8 February 2015

    +
    +
    +

    We have a new release candidate! Lots of changes all over + the tree, see + the CHANGES + file for details, and read the + announcement.

    + +

    Head to the downloads page to pick up the + 2015.02-rc1 + release candidate, and report any problems found to + the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2014.11 released

    +

    1 December 2014

    +
    +
    +

    The stable 2014.11 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, + and go to the downloads page to pick up the + 2014.11 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2014.11-rc3 released

    +

    28 November 2014

    +
    +
    +

    Release candidate 3 is out with more cleanups and build + fixes. See + the CHANGES + file for details.

    + +

    Head to the downloads page to + pick up the + 2014.11-rc3 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2014.11-rc2 released

    +

    21 November 2014

    +
    +
    +

    Another week, another release candidate with more cleanups + and build fixes. See + the CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2014.11-rc2 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    Report from Buildroot Developers Meeting

    +

    13 November 2014

    +
    +
    +

    A report from the recent + + Buildroot Developers Meeting is now + available.

    + +

    Once again, thanks to all the participants and to + Mind for sponsoring the event.

    + +

    The next Developer Days will take place on February 2nd and + 3rd in Brussels, Belgium, right + after FOSDEM. See + the wiki + for more details.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2014.11-rc1 released

    +

    12 November 2014

    +
    +
    +

    We have a new release candidate! Lots of changes all over the + tree, see the CHANGES + file for details, and read the + announcement.

    + +

    Head to the downloads page to pick up the + 2014.11-rc1 + release candidate, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2014.08 released

    +

    1 September 2014

    +
    +
    +

    The stable 2014.08 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2014.08 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2014.08-rc3 released

    +

    26 August 2014

    +
    +
    +

    Release candidate 3 is out with more cleanups and build + fixes. See + the CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2014.08-rc3 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2014.08-rc2 released

    +

    18 August 2014

    +
    +
    +

    Another week, another release candidate with more cleanups + and build fixes. See + the CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2014.08-rc2 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2014.08-rc1 released

    +

    8 August 2014

    +
    +
    +

    We have a new release candidate! Lots of changes all over the + tree, see the CHANGES + file for details, and read the + announcement.

    + +

    Head to the downloads page to pick up the + 2014.08-rc1 + release candidate, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2014.05 released

    +

    31 May 2014

    +
    +
    +

    The stable 2014.05 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2014.05 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2014.05-rc3 released

    +

    28 May 2014

    +
    +
    +

    Release candidate 3 is out with more cleanups and build + fixes. See + the CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2014.05-rc3 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2014.05-rc2 released

    +

    21 May 2014

    +
    +
    +

    Another week, another release candidate with more cleanups + and build fixes. See + the CHANGES + file for details.

    + +

    Head to the downloads page to + pick up the + 2014.05-rc2 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2014.05-rc1 released

    +

    13 May 2014

    +
    +
    +

    We have a new release candidate! Lots of changes all over the + tree, see the CHANGES + file for details, and read the + announcement.

    + +

    Head to the downloads page to pick up the + 2014.05-rc1 + release candidate, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    27 February 2014

    +

    2014.02 released

    +
    +
    +

    The stable 2014.02 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, + and go to the downloads page to pick up the + 2014.02 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    25 February 2014

    +

    2014.02-rc3 released

    +
    +
    +

    Release candidate 3 is out with more cleanups and build + fixes. See + the CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2014.02-rc3 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    20 February 2014

    +

    2014.02-rc2 released

    +
    +
    +

    Another week, another release candidate with more cleanups + and build fixes. See + the CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2014.02-rc2 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2014.02-rc1 released

    +

    11 February 2014

    +
    +
    +

    We have a new release candidate! Lots of changes all over the + tree, see the CHANGES + file for details, and read the + announcement.

    + +

    Head to the downloads page to pick up the + 2014.02-rc1 + release candidate, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    9 February 2014

    +

    Report from Buildroot Developers Meeting

    +
    +
    +

    A report from the recent + + Buildroot Developers Meeting is now + available.

    + +

    Once again, thanks to all the participants and to + Google and + Mind for sponsoring the event.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    Upcoming Buildroot Developers meeting

    +

    30 January 2014

    +
    +
    +

    The upcoming Buildroot Developers meeting will take place in + Brussels on February, 3rd and 4th, after the + FOSDEM conference. Additional + details about the meeting can be found on the corresponding + + wiki page.

    + +

    Persons not able to join the meeting in Brussels can participate + remotely using Google Hangouts. Simply give your Google address to + thomas.petazzoni@free-electrons.com.

    + +

    This meeting is sponsored by + Google (for the meeting room) + and Mind (for the dinner). + Thanks to our sponsors!

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2013.11 released

    +

    30 November 2013

    +
    +
    +

    The stable 2013.11 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the announcement + and go to the downloads page to pick up the + 2013.11 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    Slides from Embedded Linux Conference Europe

    +

    30 November 2013

    +
    +
    +

    The slides from the Buildroot presentation at the recent + Embedded Linux Conference Europe 2013 + are now + available.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2013.11-rc3 released

    +

    18 November 2013

    +
    +
    +

    Another week, another release candidate with more + fixes. See + the CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2013.11-rc3 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2013.11-rc2 released

    +

    18 November 2013

    +
    +
    +

    Another week, another release candidate with more cleanups + and build fixes. See + the CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2013.11-rc2 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    Announcement of the next Buildroot Developer Days

    +

    13 November 2013

    +
    +
    +

    The next Buildroot Developer Days meeting will take + place on Monday 3rd and Tuesday 4th February 2014 in Brussels, + Belgium - Just after + FOSDEM (February + 1st/2nd). This two days meeting is mainly open to Buildroot + developers and contributors, or Buildroot users having a prior + experience with the tool. It will allow developers to work on + Buildroot and discuss current issues, the future directions, and + more.

    + +

    In addition to the Buildroot event, we encourage embedded Linux + developers to propose talks for the Embedded and Mobile Developer + Room at FOSDEM. See + the CFP.

    + +

    We would like to thank our + sponsor Google for sponsoring + the event by providing all the needed logistics.

    + +

    For more details, see the + wiki + page dedicated to the meeting.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2013.11-rc1 released

    +

    12 November 2013

    +
    +
    +

    We have a new release candidate! Lots of changes all over the + tree, see the CHANGES + file for details, and read the + announcement.

    + +

    Head to the downloads page to pick up the + 2013.11-rc1 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    Report from Buildroot Developers Meeting

    +

    11 November 2013

    +
    +
    +

    A report from the recent + + Buildroot Developers Meeting is now + available.

    + +

    Once again, thanks to all the participants and to + Imagination Technologies + for sponsoring the event.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2013.08.1 released

    +

    17 September 2013

    +
    +
    +

    The 2013.08.1 bugfix release is out - Thanks to everyone + contributing. This release fixes critical issues discovered since + the 2013.08 release. See the + CHANGES + file for more details, + and go to the downloads page to pick up the + 2013.08.1 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    Buildroot Developer Days

    +

    16 September 2013

    +
    +
    +

    The next Buildroot Developer Days meeting will take + place on Saturday October 26th and Sunday October 27th 2013 in + Edinburgh, UK - Just after the + Embedded Linux Conference Europe (October 23th-24th). This two + days meeting is mainly open to Buildroot developers and + contributors, or Buildroot users having a prior experience with + the tool. It will allow developers to work on Buildroot and + discuss current issues, the future directions, and more.

    + +

    For more details, see the + wiki + page dedicated to the meeting.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2013.08 released

    +

    31 August 2013

    +
    +
    +

    The stable 2013.08 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the announcement + and go to the downloads page to pick up the + 2013.08 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2013.08-rc3 released

    +

    29 August 2013

    +
    +
    +

    Another week, another release candidate with more cleanups and + build fixes. See the CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2013.08-rc3 + release candidate, and report any problems found to the mailing list or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2013.08-rc2 released

    +

    16 August 2013

    +
    +
    +

    We have a new release candidate! Lots of changes all over the + tree, see + the CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2013.08-rc2 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2013.08-rc1 released

    +

    5 August 2013

    +
    +
    +

    We have a new release candidate! Lots of changes all over the + tree, see + the CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2013.08-rc1 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2013.05 released

    +

    31 May 2013

    +
    +
    +

    The stable 2013.05 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2013.05 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2013.05-rc3 released

    +

    25 May 2013

    +
    +
    +

    Another week, another release candidate with more cleanups and + build fixes. See the CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2013.05-rc3 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2013.05-rc2 released

    +

    15 May 2013

    +
    +
    +

    Another week, another release candidate with more cleanups and + build fixes. See the CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2013.05-rc2 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2013.05-rc1 released

    +

    8 May 2013

    +
    +
    +

    We have a new release candidate! Lots of changes all over the + tree, see the CHANGES + file for details, and read the + announcement.

    + +

    Head to the downloads page to pick up the + 2013.05-rc1 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2013.02 released

    +

    28 February 2013

    +
    +
    +

    The stable 2013.02 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details + and go to the downloads page to pick up the + 2013.02 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2013.02-rc3 released

    +

    26 February 2013

    +
    +
    +

    Another week, another release candidate with more cleanups + and build fixes. See + the CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2013.02-rc3 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2013.02-rc2 released

    +

    19 February 2013

    +
    +
    +

    Another week, another release candidate with more cleanups and + build fixes. See the CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2013.02-rc2 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2013.02-rc1 released

    +

    10 February 2013

    +
    +
    +

    We have a new release candidate! Lots of changes all over the + tree, see the CHANGES + file for details, and read the + announcement.

    + +

    Head to the downloads page to pick up the + 2013.02-rc1 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    Report from Buildroot Developers Meeting

    +

    10 February 2013

    +
    +
    +

    A report from the recent Buildroot Developers Meeting is now + available. + Embedded Linux News also has a + + writeup about the event, including photos.

    + +

    Once again, thanks to all the participants and to + Google for sponsoring the event.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    Next Buildroot Developers Meeting next to FOSDEM, Brussels

    +

    12 January 2013

    +
    +
    +

    The next Buildroot Developers Meeting will take place on Monday + 4th February 2013 and Tuesday 5th February 2013 in Brussels, + Belgium. Those dates have been chosen to immediately follow the + great FOSDEM conference.

    + +

    Attending this meeting is free, after registration by + contacting Thomas + Petazzoni. For more details about the meeting, please see + the related + Wiki page.

    + +

    We would like to + thank Google for providing the + meeting location and the Internet connection, and offering free + lunch and refreshments to the participants.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2012.11.1 released

    +

    3 January 2013

    +
    +
    +

    The 2012.11.1 bugfix release is out - Thanks to everyone + contributing. This release fixes critical issues discovered since + the 2012.11 release, most importantly with non-largefile builds on + recent Ubuntu versions. See the + CHANGES + file for more details, + and go to the downloads page to pick up the + 2012.11.1 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2012.11 released

    +

    2 December 2012

    +
    +
    +

    The stable 2012.11 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details + and go to the downloads page to pick up the + 2012.11 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2012.11-rc2 released

    +

    30 November 2012

    +
    +
    +

    RC2 is out with more bugfixes - See + the CHANGES + file for details. + +

    Head to the downloads page to pick up the + 2012.11-rc2 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2012.11-rc1 released

    +

    17 November 2012

    +
    +
    +

    We have a new release candidate! Lots of changes all over the + tree, see the CHANGES + file for details, and read the + announcement.

    + +

    Head to the downloads page to pick up the + 2012.11-rc1 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    Buildroot Developer Day

    +

    17 November 2012

    +
    +
    +

    A report from the recent Buildroot Developer Days + meeting in Barcelona, Spain is + now available. + Many thanks to all the participants, and a special thanks to + Arnout Vandecappelle from mind + for taking notes and Thomas Petazzoni + from Free Electrons + for handling all the practical arrangements, and naturally + our sponsors, Fluendo + and Synopsis. +

    +

    The next Developer Days will take place on February 4th and + 5th in Brussels, Belgium, right + after FOSDEM.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2012.08 released

    +

    31 August 2012

    +
    +
    +

    The stable 2012.08 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details and go to the downloads page to pick up the + 2012.08 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2012.08-rc3 released

    +

    25 August 2012

    +
    +
    +

    We have a new release candidate! Various fixes, and + addition of licensing informations on many + packages. See CHANGES + file for details

    + +

    Head to the downloads page to pick up the + 2012.08-rc3 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2012.08-rc2 released

    +

    15 August 2012

    +
    +
    +

    We have a new release candidate! Various fixes, and addition + of licensing informations on many + packages. See CHANGES + file for details

    + +

    Head to the downloads page to pick up the + 2012.08-rc2 + release candidate, and report any problems found to the mailing list or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2012.08-rc1 released

    +

    1 August 2012

    +
    +
    +

    We have a new release candidate! Lots of changes all over + the tree, see + the CHANGES + file for details

    + +

    Head to the downloads page to pick up the + 2012.08-rc1 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    Buildroot Developer Day

    +

    22 July 2012

    +
    +
    +

    The next Buildroot Developer Day meeting will take place + on Saturday November 3th and Sunday November 4th 2012 in + Barcelona, Spain, just before + the Embedded + Linux Conference Europe (November 5th-7th). This two days + meeting is mainly opened to Buildroot developers and contributors, + or Buildroot users having a prior experience with the tool. This + meeting will allow developers to work and Buildroot, and discuss + current issues, the future directions, and more.

    + +

    For more details, see + the wiki + page dedicated to the meeting.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2012.05 released

    +

    30 May 2012

    +
    +
    +

    The stable 2012.05 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2012.05 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2012.05-rc3 released

    +

    25 May 2012

    +
    +
    +

    RC3 is out with more bugfixes - See + the CHANGES + file for details. + +

    Head to the downloads page to pick up the + 2012.05-rc3 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2012.05-rc2 released

    +

    18 May 2012

    +
    +
    +

    Another week, another release candidate with more cleanups + and build fixes. See + the CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2012.05-rc2 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2012.05-rc1 released

    +

    10 May 2012

    +
    +
    +

    We have a new release candidate! Lots of changes all over + the tree, see + the CHANGES + file for details, and read the + announcement.

    + +

    Head to the downloads page to pick up the + 2012.05-rc1 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    Autobuilder Results Online

    +

    20 April 2012

    +
    +
    +

    The status of the autobuilders, which do repeated + randpackageconfig builds for continuous + integration testing, is now online + at autobuild.buildroot.org. The + code behind it can be found + in git.

    + +

    Thanks to Thomas Petazzoni for running the web interface, and + to The GCC Compile + Farm and Free + Electrons for hosting builders. Thomas also sends out a daily + summary of the build status to the mailing list.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2012.02 released

    +

    29 February 2012

    +
    +
    +

    The stable 2012.02 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2012.02 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2012.02-rc3 released

    +

    27 February 2012

    +
    +
    +

    RC3 is out with more bugfixes - See + the CHANGES + file for details. + +

    Head to the downloads page to pick up the + 2012.02-rc3 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2012.02-rc2 released

    +

    19 February 2012

    +
    +
    +

    Another week, another release candidate with more cleanups + and build fixes. See + the CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2012.02-rc2 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2012.02-rc1 released

    +

    12 February 2012

    +
    +
    +

    We have a new release candidate! Lots of changes all over + the tree, see + the CHANGES + file for details, and read the + announcement.

    + +

    Head to the downloads page to pick up the + 2012.02-rc1 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    Buildroot Developer Day

    +

    31 January 2012

    +
    +
    +

    Another Buildroot Developer Day will take place on + Friday, February 3rd in Brussels, Belgium - The day + before FOSDEM. See the + announcement + or + the Free + Electrons blog for more info.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2011.11 released

    +

    30 November 2011

    +
    +
    +

    The stable 2011.11 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2011.11 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2011.11-rc3 released

    +

    26 November 2011

    +
    +
    +

    RC3 is out with more bugfixes - See + the CHANGES + file for details. + +

    Head to the downloads page to pick up the + 2011.11-rc3 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2011.11-rc2 released

    +

    18 November 2011

    +
    +
    +

    Another week, another release candidate with a bunch of + cleanups and build fixes. See + the CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2011.11-rc2 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2011.11-rc1 released

    +

    11 November 2011

    +
    +
    +

    We have a new release candidate! Lots of changes all over + the tree, see + the CHANGES + file for details, and read the + announcement + +

    Head to the downloads page to pick up the + 2011.11-rc1 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2011.08 released

    +

    31 August 2011

    +
    +
    +

    The stable 2011.08 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, and go to the downloads page to pick up the + 2011.08 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2011.08-rc2 released

    +

    29 August 2011

    +
    +
    +

    RC2 is out with more bugfixes. See + the CHANGES + file for details, and read the + announcement. + +

    Head to the downloads page to pick up the + 2011.08-rc2 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2011.08-rc1 released

    +

    4 August 2011

    +
    +
    +

    We have a new release candidate! Lots of changes all over + the tree, see + the CHANGES + file for details, and read the + announcement. + +

    Head to the downloads page to pick up the + 2011.08-rc1 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2011.05 released

    +

    27 May 2011

    +
    +
    +

    The stable 2011.05 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, and go to the downloads page to pick up the + 2011.05 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2011.05-rc2 released

    +

    24 May 2011

    +
    +
    +

    RC2 is out with more bugfixes. See + the CHANGES + file for details. + +

    Head to the downloads page to pick up the + 2011.05-rc2 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2011.05-rc1 released

    +

    18 May 2011

    +
    +
    +

    We have a new release candidate! Lots of changes all over + the tree, see + the CHANGES + file for details, and read the + announcement. + +

    Head to the downloads page to pick up the + 2011.05-rc1 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2011.02 released

    +

    28 February 2011

    +
    +
    +

    The stable 2011.02 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2011.02 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2011.02-rc2 released

    +

    24 February 2011

    +
    +
    +

    RC2 is out with more cleanups and bugfixes, see + the CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2011.02-rc2 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2011.02-rc1 released

    +

    14 February 2011

    +
    +
    +

    We have a new release candidate! Lots of changes all over + the tree, see + the CHANGES + file for details, and read the + announcement. + +

    Head to the downloads page to pick up the + 2011.02-rc1 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2010.11 released

    +

    30 November 2010

    +
    +
    +

    The stable 2010.11 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2010.11 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2010.11-rc2 released

    +

    25 November 2010

    +
    +
    +

    RC2 is out with more cleanups and bugfixes, see + the CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2010.11-rc2 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2010.11-rc1 released

    +

    8 November 2010

    +
    +
    +

    We have a new release candidate! Lots of changes all over + the tree, see + the CHANGES + file for details, and read the + announcement. + +

    Head to the downloads page to pick up the + 2010.11-rc1 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    Buildroot Developer Day

    +

    28 September 2010

    +
    +
    +

    A Buildroot Developer Day will take place on + Friday, October 29th in Cambridge, UK - Just the day after the + Embedded + Linux Conference Europe. This Developer Day + aims at allowing Buildroot developers to meet and exchange + ideas on the project and its future. See the + announcement + for more info.

    + +

    Thanks to Thomas Petazzoni for taking care of the practical + arrangements.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2010.08 released

    +

    31 August 2010

    +
    +
    +

    The stable 2010.08 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2010.08 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2010.08-rc2 released

    +

    30 August 2010

    +
    +
    +

    RC2 is out with more cleanups and bugfixes, see + the CHANGES + file for details. + +

    Head to the downloads page to pick up the + 2010.08-rc2 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    + + This is very much expected to be the final release candidate, + so give it a good test and expect a final 2010.08 release + before September unless critical issues are found.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2010.08-rc1 released

    +

    30 July 2010

    +
    +
    +

    We have a new release candidate! Lots of changes all over + the tree, see + the CHANGES + file for details. + +

    Head to the downloads page to pick up the + 2010.08-rc1 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2010.05 released

    +

    30 May 2010

    +
    +
    +

    The stable 2010.05 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2010.05 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2010.05-rc3 released

    +

    27 May 2010

    +
    +
    +

    RC3 is out with more cleanups and bugfixes, see + the CHANGES + file for details. + +

    Head to the downloads page to pick up the + 2010.05-rc3 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2010.05-rc2 released

    +

    11 May 2010

    +
    +
    +

    Another week, another release candidate with a bunch of + cleanups and build fixes.

    + +

    Head to the downloads page to pick up the + 2010.05-rc2 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2010.05-rc1 released

    +

    3 May 2010

    +
    +
    +

    We have a new release candidate! Lots of changes all over + the tree, see + the CHANGES + file for details. + +

    Head to the downloads page to pick up the + 2010.05-rc1 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    FOSDEM slides online

    +

    2 May 2010

    +
    +
    +

    The slides from + the Cross + Build Systems: Present & Future session + at FOSDEM are + now online. +

    +
    +
  • + +
  • +
    +
    +
    +

    2010.02 released

    +

    26 February 2010

    +
    +
    +

    The stable 2010.02 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, and go to + the downloads page to pick up + the 2010.02 + release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2010.02-rc2 released

    +

    23 February 2010

    +
    +
    +

    RC2 is out with more cleanups and bugfixes, see + the CHANGES + file for details. + +

    Head to the downloads page to pick up the + 2010.02-rc2 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2010.02-rc1 released

    +

    9 February 2010

    +
    +
    +

    We have a new release candidate! Lots of changes all over + the tree, see + the CHANGES + file for details. + +

    Head to the downloads page to pick up the + 2010.02-rc1 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2009.11 released

    +

    1 December 2009

    +
    +
    +

    The stable 2009.11 release is out - Thanks to everyone + contributing and testing the release candidates. See the + announcement + or CHANGES + for more details, and go to the downloads page + to pick up the 2009.11 + release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2009.11-rc2 released

    +

    29 November 2009

    +
    +
    +

    RC2 is out with more cleanups and bugfixes, see + the CHANGES + file for details. + +

    Head to the downloads page to pick up the + 2009.11-rc2 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2009.11-rc1 released

    +

    23 November 2009

    +
    +
    +

    We have a new release candidate! Lots of changes all over + the tree, see + the CHANGES + file for details. + +

    Head to the downloads page to pick up the + 2009.11-rc1 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    First Buildroot Developer Day

    +

    7 September 2009

    +
    +
    +

    The first Buildroot Developer Day will take place on + Saturday, October 17th in Grenoble, France, just the day after + Embedded Linux Conference Europe. This Developer Day aims + at allowing Buildroot developers to meet and exchange ideas on the + project and its future.

    + +

    As the number of places is limited, interested candidates are + invited to send an e-mail to Peter Korsgaard (jacmet at + uclibc dot org) and Thomas Petazzoni (thomas dot + petazzoni at free-electrons dot com).

    + +

    This Developer Day will take place thanks to the + sponsoring of Calao + Systems and Free + Electrons.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2009.08 released

    +

    31 August 2009

    +
    +
    +

    The stable 2009.08 release is out - Thanks to everyone + contributing and testing the release candidates. See the + announcement + or CHANGES + for more details, and go to the downloads page + to pick up the 2009.08 + release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2009.08-rc3 released

    +

    26 August 2009

    +
    +
    +

    A number of bugfixes have been added to the tree since RC2 + (especially thanks to Thomas Petazzoni) - See + the CHANGES + file for details. This is very much expected to be the final + release candidate, so give it a good test and expect a final + 2009.08 release next weekend unless critical issues are + found.

    + +

    Head to the downloads page to + pick up the + 2009.08-rc3 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2009.08-rc2 released

    +

    6 August 2009

    +
    +
    +

    RC2 is out with more cleanups and bugfixes, see + the CHANGES + file for details. + +

    Head to the downloads page to pick up the + 2009.08-rc2 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2009.08-rc1 released

    +

    2 August 2009

    +
    +
    +

    We have a new release candidate! Lots of changes all over + the tree, see + the CHANGES + file for details. + +

    Head to the downloads page to pick up the + 2009.08-rc1 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2009.05 released

    +

    1 June 2009

    +
    +
    +

    The stable 2009.05 release is out - Thanks to everyone + contributing and testing the release candidates. See the + announcement + or CHANGES + for more details, and go to the downloads page + to pick up the 2009.05 + release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2009.05-rc3 released

    +

    27 May 2009

    +
    +
    +

    We had a number of fixes post-RC2, so RC3 is out + (see CHANGES + for details). Now is the moment to test and verify that + everything is working for your favorite config - Expect a + final 2009.05 very soon.

    + +

    Head to the downloads page to pick up the + 2009.05-rc3 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2009.05-rc2 released

    +

    19 May 2009

    +
    +
    +

    RC2 is out with more cleanups and bug fixes + (see CHANGES). + Unless big issues are found, expect this to be the last + release candidate before the release - So give it a good + test.

    + +

    Head to the downloads page to pick up the + 2009.05-rc2 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    Buildroot.org

    +

    14 May 2009

    +
    +
    +

    Earl Levine has been so kind to donate + the buildroot.org domain to us, so the website can + now also be reached + at www.buildroot.org + (and git at + git.buildroot.org). + + Thanks a lot Earl!

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2009.05-rc1 released

    +

    5 May 2009

    +
    +
    +

    We have a new release candidate! Lots of changes all over the + tree, see the CHANGES + file for details. + +

    Head to the downloads page to pick up the + 2009.05-rc1 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    Moved to git

    +

    3 May 2009

    +
    +
    +

    We've moved the source code + from Subversion + to Git. You can browse the + repo online + here, and clone + the repo using: +

    git clone git://git.buildroot.net/buildroot
    + See the Git Access page for more details. +

    +
    +
    +
  • + +
  • +
    +
    +
    +

    +

    27 March 2009

    +

    +
    +

    We have a logo! We have so + far been using the Busybox + logo on the website, as the website was a copy of + the Busybox one - But not + anymore, we now have a shiny new logo of our own.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2009.02 released

    +

    12 February 2009

    +
    +
    +

    The stable 2009.02 release is out - Thanks to everyone + contributing and testing the release candidates. See the + announcement + for more details, and go to the downloads page + to pick up the 2009.02 + release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2009.02-rc4 released

    +

    9 February 2009

    +
    +
    +

    We had more than 50 changes since RC3, several of them + toolchain related, so decided to make a RC4 as well. This is + very much expected to be the final release candidate, so + give it a good test and expect a final 2009.02 release this + week unless critical issues are found.

    + +

    Head to the downloads page to + pick up the + 2009.02-rc4 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2009.02-rc3 released

    +

    31 January 2009

    +
    +
    +

    RC3 is out with more cleanups and bug fixes. Unless big + issues are found, expect this to be the last release + candidate before the release - So give it a good test.

    + +

    Head to the downloads page to + pick up the + 2009.02-rc3 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2009.02-rc2 released

    +

    23 January 2009

    +
    +
    +

    Another week, another release candidate with a bunch of + cleanups and build fixes.

    +

    Head to the downloads page to + pick up the + 2009.02-rc2 + release candidate, and report any problems found to + the mailing list + or bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    Release candidate and new maintainer

    +

    16 January 2009

    +
    +
    + +

    It has been a long time coming, but we finally have a new + release candidate! - And a new maintainer to match (Peter + Korsgaard).

    + +

    Head to the downloads page to + pick up the + 2009.02-rc1 + release candidate, and report any problems found to + the mailing list + or bug tracker. The + plan is to release 2009.02 in time + for FOSDEM.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    Buildroot mailing list

    +

    16 July 2006

    +
    +
    +

    Buildroot now has its own mailing list.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    Buildroot webpage added

    +

    21 February 2005

    + +

    Buildroot is a set of Makefiles and patches that makes it easy generate a + cross-compilation toolchain and root filesystem for your target Linux + system using the uClibc C library. + Buildroot is useful mainly for people working with small or embedded + systems. Embedded systems often use processors that are not the regular + x86 processors everyone is used to using on their PC. It can be PowerPC + processors, MIPS processors, ARM processors, etc. And to be extra safe, + you do not need to be root to build or run buildroot.

    + +

    And as of today buildroot even has its own webpage, making it a first class + citizen of uclibc.org and busybox.net, and more importantly, make it easy + to find and point to buildroot.

    + +

    If you find a bug in buildroot, or wish to submit a patch + to fix a problem or add a shiny new feature, please use + the Bug and Patch + Tracking System to post the details, to make certain + your work is not lost

    +
    +
    +
  • +
+ +
+
+
+ + + diff --git a/docs/website/robots.txt b/docs/website/robots.txt new file mode 100644 index 0000000000..1b425ee0f5 --- /dev/null +++ b/docs/website/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: /cgi-bin/ diff --git a/docs/website/sponsors.html b/docs/website/sponsors.html new file mode 100644 index 0000000000..e0f1aab20e --- /dev/null +++ b/docs/website/sponsors.html @@ -0,0 +1,235 @@ + + +
+
+
+ +
+
Current sponsors
+
+ +
+ +
+
+
+
+ + + +
+
+ Google is + sponsoring + the Buildroot + Developers Meeting at FOSDEM 2017 in Brussels, by + providing logistics for the meeting: a free meeting + room and lunch for the participants. +
+
+
+ +
+
+
+
+ + + +
+
+ As it did in previous years, Mind + is sponsoring the Monday night dinner at the Buildroot + Developers Meeting at FOSDEM 2017 in Brussels. +
+
+
+
+
+
+ +
+
Past sponsors
+
+

Throughout its history, the Buildroot project has been sponsored by + various companies, that we would like to thank below.

+ +
+
+
+
+
+ + + +
+
+ OpenWide/Smile sponsored + the Buildroot Summer Camp that took place on July 1-5 2016 in Toulouse, France. OpenWide/Smile is + sponsoring the participation of Romain Naour and paid the food expenses for the meeting participants. +
+
+
+
+ +
+
+
+
+ + + +
+
+ Mind sponsored the + dinner of the FOSDEM 2014, 2015, 2016 and 2017 + Developers Meeting (Brussels) and ELCE 2016 (Berlin), + the meeting room and the dinner for the ELCE 2014 + Developers Meeting (Düsseldorf). +
+
+
+
+ +
+
+
+
+

+

+
+
+

Google provided + the logistics for the FOSDEM 2013, FOSDEM 2014, + FOSDEM 2015 and FOSDEM 2016 Developer Days in + Brussels, Belgium.

+
+
+
+
+
+ +
+
+
+
+
+

+

+
+
+ Imagination Technologies + sponsored the meeting room and dinner of the ELCE 2013 + Developer Days in Edinburgh, UK. +
+
+
+
+ +
+
+
+
+

+

+
+
+

CircuitCo sponsored + several development boards for the Google Summer of Code + 2013 project on Buildroot.

+
+
+
+
+ +
+
+
+
+

+

+
+
+

BoundaryDevices + sponsored an i.MX6 development board for the Google Summer of + Code 2013 project on Buildroot.

+
+
+
+
+
+ +
+
+
+
+
+

+

+
+
+

Fluendo sponsored the + meeting room for the ELCE 2012 Developer Days in Barcelona + Spain.

+
+
+
+
+ +
+
+
+
+

+

+
+
+

Synopsys sponsored the + dinner for the ELCE 2012 Developer Days in Barcelona, Spain.

+
+
+
+
+ +
+
+
+
+

+

+
+
+

Calao Systems + provided a a meeting room for the ELCE 2009 Developer Days + in Grenoble, France.

+
+
+
+
+
+ +
+
+
+
+
+

+

+
+
+

Free + Electrons sponsored the meeting location for the + ELCE 2016 Developer Days in Berlin, Germany, and the + lunch for the ELCE 2009 Developer Days in Grenoble, + France.

+
+
+
+
+
+ +
+
+
+ + diff --git a/docs/website/support.html b/docs/website/support.html new file mode 100644 index 0000000000..23a5db794f --- /dev/null +++ b/docs/website/support.html @@ -0,0 +1,93 @@ + + +
+
+
+ +
+
Support
+
+

You can get support for Buildroot through three main channels:

+ +
+
+
+
IRC
+
+
+
+ +
+
+

The Buildroot IRC channel is + #buildroot, hosted on Freenode. If you do not have an IRC client, you can + use the Freenode web interface. + When asking for help on IRC, share relevant logs or pieces of code using a code + sharing website.

+
+
+
+
+
+ +
+
+
Mailing List Information
+
+
+
+ +
+
+

The mailing list is for discussion and + development. You can subscribe by visiting + this page. + Only subscribers to the Buildroot mailing list are allowed to post + to this list.

+ +

Search the List Archives

+

Please search the mailing list archives before asking questions on the mailing + list, since there is a good chance someone else has asked the same question + before.

+ +
+ + + + + +
+
+
+
+
+
+ +
+
+
Bug Tracker
+
+
+
+ +
+
+

If you think you found a bug in Buildroot, you can use the + Bug Tracker to post your bugs and/or + participate to find solutions to existing problems.

+ +

Note: patches are only accepted through the mailing list.

+
+
+
+
+
+
+
+
+ +
+
+
+ + diff --git a/fs/axfs/axfs.mk b/fs/axfs/axfs.mk index 05d6e5d395..6c795d7062 100644 --- a/fs/axfs/axfs.mk +++ b/fs/axfs/axfs.mk @@ -7,7 +7,7 @@ ROOTFS_AXFS_DEPENDENCIES = host-axfsutils define ROOTFS_AXFS_CMD - $(HOST_DIR)/usr/bin/mkfs.axfs -s -a $(TARGET_DIR) $@ + $(HOST_DIR)/bin/mkfs.axfs -s -a $(TARGET_DIR) $@ endef $(eval $(call ROOTFS_TARGET,axfs)) diff --git a/fs/cloop/cloop.mk b/fs/cloop/cloop.mk index 9e42a3a27f..cbfc79b0d1 100644 --- a/fs/cloop/cloop.mk +++ b/fs/cloop/cloop.mk @@ -7,8 +7,8 @@ ROOTFS_CLOOP_DEPENDENCIES = host-cloop host-cdrkit define ROOTFS_CLOOP_CMD - $(HOST_DIR)/usr/bin/genisoimage -r $(TARGET_DIR) | \ - $(HOST_DIR)/usr/bin/create_compressed_fs - 65536 > $@ + $(HOST_DIR)/bin/genisoimage -r $(TARGET_DIR) | \ + $(HOST_DIR)/bin/create_compressed_fs - 65536 > $@ endef $(eval $(call ROOTFS_TARGET,cloop)) diff --git a/fs/common.mk b/fs/common.mk index 437f327ad7..6d7e7e4f8b 100644 --- a/fs/common.mk +++ b/fs/common.mk @@ -91,16 +91,20 @@ ifeq ($$(BR2_ROOTFS_DEVICE_CREATION_STATIC),y) endif endif $$(call PRINTF,$$(PACKAGES_PERMISSIONS_TABLE)) >> $$(FULL_DEVICE_TABLE) - #echo "$$(HOST_DIR)/usr/bin/makedevs -d $$(FULL_DEVICE_TABLE) $$(TARGET_DIR)" >> $$(FAKEROOT_SCRIPT) + #echo "$$(HOST_DIR)/bin/makedevs -d $$(FULL_DEVICE_TABLE) $$(TARGET_DIR)" >> $$(FAKEROOT_SCRIPT) $$(foreach s,$$(call qstrip,$$(BR2_ROOTFS_POST_FAKEROOT_SCRIPT)),\ echo "echo '$$(TERM_BOLD)>>> Executing fakeroot script $$(s)$$(TERM_RESET)'" >> $$(FAKEROOT_SCRIPT); \ echo $$(s) $$(TARGET_DIR) $$(BR2_ROOTFS_POST_SCRIPT_ARGS) >> $$(FAKEROOT_SCRIPT)$$(sep)) + $$(foreach hook,$$(ROOTFS_PRE_CMD_HOOKS),\ + $$(call PRINTF,$$($$(hook))) >> $$(FAKEROOT_SCRIPT)$$(sep)) ifeq ($$(BR2_REPRODUCIBLE),y) echo "find $$(TARGET_DIR) -print0 | xargs -0 -r touch -hd @$$(SOURCE_DATE_EPOCH)" >> $$(FAKEROOT_SCRIPT) endif $$(call PRINTF,$$(ROOTFS_$(2)_CMD)) >> $$(FAKEROOT_SCRIPT) + $$(foreach hook,$$(ROOTFS_POST_CMD_HOOKS),\ + $$(call PRINTF,$$($$(hook))) >> $$(FAKEROOT_SCRIPT)$$(sep)) chmod a+x $$(FAKEROOT_SCRIPT) - PATH=$$(BR_PATH) $$(HOST_DIR)/usr/bin/fakeroot -- $$(FAKEROOT_SCRIPT) + PATH=$$(BR_PATH) $$(HOST_DIR)/bin/fakeroot -- $$(FAKEROOT_SCRIPT) $$(INSTALL) -m 0644 support/misc/target-dir-warning.txt $$(TARGET_DIR_WARNING_FILE) -@rm -f $$(FAKEROOT_SCRIPT) $$(FULL_DEVICE_TABLE) ifneq ($$(ROOTFS_$(2)_COMPRESS_CMD),) diff --git a/fs/cramfs/cramfs.mk b/fs/cramfs/cramfs.mk index 747237290f..85b98b8ccd 100644 --- a/fs/cramfs/cramfs.mk +++ b/fs/cramfs/cramfs.mk @@ -11,7 +11,7 @@ CRAMFS_OPTS = -l endif define ROOTFS_CRAMFS_CMD - $(HOST_DIR)/usr/bin/mkcramfs $(CRAMFS_OPTS) $(TARGET_DIR) $@ + $(HOST_DIR)/bin/mkcramfs $(CRAMFS_OPTS) $(TARGET_DIR) $@ endef ROOTFS_CRAMFS_DEPENDENCIES = host-cramfs diff --git a/fs/ext2/Config.in b/fs/ext2/Config.in index b8eeed25d4..3884b08b76 100644 --- a/fs/ext2/Config.in +++ b/fs/ext2/Config.in @@ -1,6 +1,6 @@ config BR2_TARGET_ROOTFS_EXT2 bool "ext2/3/4 root filesystem" - select BR2_PACKAGE_HOST_MKE2IMG + select BR2_PACKAGE_HOST_E2FSPROGS help Build an ext2/3/4 root filesystem @@ -44,33 +44,48 @@ config BR2_TARGET_ROOTFS_EXT2_REV config BR2_TARGET_ROOTFS_EXT2_LABEL string "filesystem label" -config BR2_TARGET_ROOTFS_EXT2_BLOCKS - int "exact size in blocks (leave at 0 for auto calculation)" - default 0 +config BR2_TARGET_ROOTFS_EXT2_SIZE + string "exact size" + default BR2_TARGET_ROOTFS_EXT2_BLOCKS if BR2_TARGET_ROOTFS_EXT2_BLOCKS_WRAP # legacy 2017.08 + default "60M" + help + The size of the filesystem image. If it does not have a suffix, + it is interpreted as power-of-two kilobytes. If it is suffixed + by 'k', 'm', 'g', 't' (either upper-case or lower-case), then + it is interpreted in power-of-two kilobytes, megabytes, + gigabytes, terabytes, etc. config BR2_TARGET_ROOTFS_EXT2_INODES int "exact number of inodes (leave at 0 for auto calculation)" default 0 -config BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS - int "extra size in blocks" if BR2_TARGET_ROOTFS_EXT2_BLOCKS = 0 - default 0 - help - Enter here the number of extra blocks of free space you - want on your filesystem. By default, Buildroot will not - leave much space free. - -config BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES - int "extra inodes" if BR2_TARGET_ROOTFS_EXT2_INODES = 0 - default 0 - help - Enter here the number of extra free inodes you want on - your filesystem. By default, Buildroot will not leave - many free inodes. - config BR2_TARGET_ROOTFS_EXT2_RESBLKS int "reserved blocks percentage" - default 0 + default 5 + help + The number of blocks on the filesystem (as a percentage of the + total number of blocks), that are reserved for use by root. + Traditionally, this has been 5%, and all ext-related tools still + default to reserving 5% when creating a new ext filesystem. + +config BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS + string "additional mke2fs options" + default "-O ^64bit" + help + Specify a space-separated list of mke2fs options, including any + ext2/3/4 filesystem features. + + For more information about the mke2fs options, see the manual + page mke2fs(8). + + For more information about the ext2/3/4 features which can be + set, see the manual page ext4(5). + + The default is "-O ^64bit", i.e. disable 64-bit filesystem + support. This default value has been chosen because U-Boot + versions before 2017.02 don't support this filesystem + option: using it may make the filesystem unreadable by + U-Boot. choice prompt "Compression method" diff --git a/fs/ext2/ext2.mk b/fs/ext2/ext2.mk index cfb34c4565..5439e2b993 100644 --- a/fs/ext2/ext2.mk +++ b/fs/ext2/ext2.mk @@ -4,33 +4,36 @@ # ################################################################################ -EXT2_OPTS = -G $(BR2_TARGET_ROOTFS_EXT2_GEN) -R $(BR2_TARGET_ROOTFS_EXT2_REV) - -ifneq ($(strip $(BR2_TARGET_ROOTFS_EXT2_BLOCKS)),0) -EXT2_OPTS += -b $(BR2_TARGET_ROOTFS_EXT2_BLOCKS) +EXT2_SIZE = $(call qstrip,$(BR2_TARGET_ROOTFS_EXT2_SIZE)) +ifeq ($(BR2_TARGET_ROOTFS_EXT2)-$(EXT2_SIZE),y-) +$(error BR2_TARGET_ROOTFS_EXT2_SIZE cannot be empty) endif -EXT2_OPTS += -B $(BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS) -ifneq ($(strip $(BR2_TARGET_ROOTFS_EXT2_INODES)),0) -EXT2_OPTS += -i $(BR2_TARGET_ROOTFS_EXT2_INODES) -endif -EXT2_OPTS += -I $(BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES) - -ifneq ($(strip $(BR2_TARGET_ROOTFS_EXT2_RESBLKS)),0) -EXT2_OPTS += -r $(BR2_TARGET_ROOTFS_EXT2_RESBLKS) -endif +EXT2_MKFS_OPTS = $(call qstrip,$(BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS)) # qstrip results in stripping consecutive spaces into a single one. So the # variable is not qstrip-ed to preserve the integrity of the string value. EXT2_LABEL := $(subst ",,$(BR2_TARGET_ROOTFS_EXT2_LABEL)) -ifneq ($(EXT2_LABEL),) -EXT2_OPTS += -l "$(EXT2_LABEL)" -endif +#" Syntax highlighting... :-/ ) -ROOTFS_EXT2_DEPENDENCIES = host-mke2img +EXT2_OPTS = \ + -d $(TARGET_DIR) \ + -r $(BR2_TARGET_ROOTFS_EXT2_REV) \ + -N $(BR2_TARGET_ROOTFS_EXT2_INODES) \ + -m $(BR2_TARGET_ROOTFS_EXT2_RESBLKS) \ + -L "$(EXT2_LABEL)" \ + $(EXT2_MKFS_OPTS) + +ROOTFS_EXT2_DEPENDENCIES = host-e2fsprogs define ROOTFS_EXT2_CMD - PATH=$(BR_PATH) mke2img -d $(TARGET_DIR) $(EXT2_OPTS) -o $@ + rm -f $@ + $(HOST_DIR)/sbin/mkfs.ext$(BR2_TARGET_ROOTFS_EXT2_GEN) $(EXT2_OPTS) $@ \ + "$(EXT2_SIZE)" \ + || { ret=$$?; \ + echo "*** Maybe you need to increase the filesystem size (BR2_TARGET_ROOTFS_EXT2_SIZE)" 1>&2; \ + exit $$ret; \ + } endef rootfs-ext2-symlink: diff --git a/fs/iso9660/Config.in b/fs/iso9660/Config.in index 2482e44e31..842c987f21 100644 --- a/fs/iso9660/Config.in +++ b/fs/iso9660/Config.in @@ -2,8 +2,7 @@ config BR2_TARGET_ROOTFS_ISO9660 bool "iso image" depends on (BR2_i386 || BR2_x86_64) depends on BR2_LINUX_KERNEL - depends on BR2_TARGET_GRUB || \ - BR2_TARGET_GRUB2 || \ + depends on BR2_TARGET_GRUB2_I386_PC || \ BR2_TARGET_SYSLINUX_ISOLINUX select BR2_LINUX_KERNEL_INSTALL_TARGET \ if (!BR2_TARGET_ROOTFS_ISO9660_INITRD && !BR2_TARGET_ROOTFS_INITRAMFS) @@ -26,14 +25,9 @@ if BR2_TARGET_ROOTFS_ISO9660 choice prompt "Bootloader" -config BR2_TARGET_ROOTFS_ISO9660_GRUB - bool "grub" - depends on BR2_TARGET_GRUB - select BR2_TARGET_GRUB_FS_ISO9660 - config BR2_TARGET_ROOTFS_ISO9660_GRUB2 bool "grub2" - depends on BR2_TARGET_GRUB2 + depends on BR2_TARGET_GRUB2_I386_PC help Use Grub 2 as the bootloader for the ISO9660 image. Make sure to enable the 'iso9660' module in @@ -48,13 +42,11 @@ endchoice config BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU string "Boot menu config file" - default "fs/iso9660/menu.lst" if BR2_TARGET_ROOTFS_ISO9660_GRUB default "fs/iso9660/grub.cfg" if BR2_TARGET_ROOTFS_ISO9660_GRUB2 default "fs/iso9660/isolinux.cfg" if BR2_TARGET_ROOTFS_ISO9660_ISOLINUX help Use this option to provide a custom bootloader configuration - file (menu.lst for Grub, grub.cfg for Grub 2, isolinux.cfg for - isolinux). + file (grub.cfg for Grub 2, isolinux.cfg for isolinux). Note that the strings __KERNEL_PATH__ and __INITRD_PATH__ will automatically be replaced by the path to the kernel and @@ -82,7 +74,7 @@ config BR2_TARGET_ROOTFS_ISO9660_HYBRID endif -comment "iso image needs a Linux kernel and one of grub, grub2 or isolinux to be built" +comment "iso image needs a Linux kernel and either grub2 i386-pc or isolinux to be built" depends on BR2_i386 || BR2_x86_64 depends on !BR2_LINUX_KERNEL || \ - !(BR2_TARGET_GRUB || BR2_TARGET_GRUB2 || BR2_TARGET_SYSLINUX_ISOLINUX) + !(BR2_TARGET_GRUB2_I386_PC || BR2_TARGET_SYSLINUX_ISOLINUX) diff --git a/fs/iso9660/iso9660.mk b/fs/iso9660/iso9660.mk index d1d9cbf1a4..d49d593bd6 100644 --- a/fs/iso9660/iso9660.mk +++ b/fs/iso9660/iso9660.mk @@ -40,20 +40,12 @@ define ROOTFS_ISO9660_CREATE_TEMPDIR $(RM) -rf $(ROOTFS_ISO9660_TARGET_DIR) mkdir -p $(ROOTFS_ISO9660_TARGET_DIR) endef +ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_CREATE_TEMPDIR else ROOTFS_ISO9660_TARGET_DIR = $(TARGET_DIR) endif -ifeq ($(BR2_TARGET_ROOTFS_ISO9660_GRUB),y) -ROOTFS_ISO9660_DEPENDENCIES += grub -ROOTFS_ISO9660_BOOTLOADER_CONFIG_PATH = \ - $(ROOTFS_ISO9660_TARGET_DIR)/boot/grub/menu.lst -ROOTFS_ISO9660_BOOT_IMAGE = boot/grub/stage2_eltorito -define ROOTFS_ISO9660_INSTALL_BOOTLOADER - $(INSTALL) -D -m 0644 $(GRUB_DIR)/stage2/stage2_eltorito \ - $(ROOTFS_ISO9660_TARGET_DIR)/boot/grub/stage2_eltorito -endef -else ifeq ($(BR2_TARGET_ROOTFS_ISO9660_GRUB2),y) +ifeq ($(BR2_TARGET_ROOTFS_ISO9660_GRUB2),y) ROOTFS_ISO9660_DEPENDENCIES += grub2 ROOTFS_ISO9660_BOOTLOADER_CONFIG_PATH = \ $(ROOTFS_ISO9660_TARGET_DIR)/boot/grub/grub.cfg @@ -70,7 +62,7 @@ ROOTFS_ISO9660_BOOT_IMAGE = isolinux/isolinux.bin define ROOTFS_ISO9660_INSTALL_BOOTLOADER $(INSTALL) -D -m 0644 $(BINARIES_DIR)/syslinux/* \ $(ROOTFS_ISO9660_TARGET_DIR)/isolinux/ - $(INSTALL) -D -m 0644 $(HOST_DIR)/usr/share/syslinux/ldlinux.c32 \ + $(INSTALL) -D -m 0644 $(HOST_DIR)/share/syslinux/ldlinux.c32 \ $(ROOTFS_ISO9660_TARGET_DIR)/isolinux/ldlinux.c32 endef endif @@ -85,33 +77,12 @@ endef ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_PREPARATION -# Grub splash screen disabling -ifeq ($(BR2_TARGET_ROOTFS_ISO9660_GRUB),y) -ifeq ($(BR2_TARGET_GRUB_SPLASH),) -define ROOTFS_ISO9660_DISABLE_SPLASHSCREEN - $(SED) '/^splashimage/d' $(ROOTFS_ISO9660_BOOTLOADER_CONFIG_PATH) -endef -ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_DISABLE_SPLASHSCREEN -endif -endif - define ROOTFS_ISO9660_DISABLE_EXTERNAL_INITRD $(SED) '/__INITRD_PATH__/d' $(ROOTFS_ISO9660_BOOTLOADER_CONFIG_PATH) endef ifeq ($(ROOTFS_ISO9660_USE_INITRD),YES) -# Copy Grub splashscreen to temporary filesystem -ifeq ($(BR2_TARGET_ROOTFS_ISO9660_GRUB),y) -ifeq ($(BR2_TARGET_GRUB_SPLASH),y) -define ROOTFS_ISO9660_INSTALL_SPLASHSCREEN - $(INSTALL) -D -m 0644 $(TARGET_DIR)/boot/grub/splash.xpm.gz \ - $(ROOTFS_ISO9660_TARGET_DIR)/boot/grub/splash.xpm.gz -endef -ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_INSTALL_SPLASHSCREEN -endif -endif - # Copy the kernel to temporary filesystem define ROOTFS_ISO9660_COPY_KERNEL $(INSTALL) -D -m 0644 $(LINUX_IMAGE_PATH) \ @@ -144,14 +115,14 @@ endif # ROOTFS_ISO9660_USE_INITRD define ROOTFS_ISO9660_CMD - $(HOST_DIR)/usr/bin/genisoimage -J -R -b $(ROOTFS_ISO9660_BOOT_IMAGE) \ + $(HOST_DIR)/bin/genisoimage -J -R -b $(ROOTFS_ISO9660_BOOT_IMAGE) \ -no-emul-boot -boot-load-size 4 -boot-info-table \ -o $@ $(ROOTFS_ISO9660_TARGET_DIR) endef ifeq ($(BR2_TARGET_ROOTFS_ISO9660_HYBRID),y) define ROOTFS_ISO9660_GEN_HYBRID - $(HOST_DIR)/usr/bin/isohybrid -t 0x96 $@ + $(HOST_DIR)/bin/isohybrid -t 0x96 $@ endef ROOTFS_ISO9660_POST_GEN_HOOKS += ROOTFS_ISO9660_GEN_HYBRID diff --git a/fs/iso9660/menu.lst b/fs/iso9660/menu.lst deleted file mode 100644 index eb1ecef531..0000000000 --- a/fs/iso9660/menu.lst +++ /dev/null @@ -1,20 +0,0 @@ -default 0 -timeout 10 - -# Used when no splashimage is used -color cyan/blue white/blue - -# Gets enabled/disabled depending on Grub support for splashimage -splashimage /boot/grub/splash.xpm.gz - -# Used when a splashimage is enabled -foreground 000000 -background cccccc - -title Buildroot ISO9660 image -kernel __KERNEL_PATH__ root=/dev/sr0 -initrd __INITRD_PATH__ - -title Hard Drive (first partition) -rootnoverify (hd0) -chainloader +1 diff --git a/fs/romfs/romfs.mk b/fs/romfs/romfs.mk index 2738b6b292..eded91df0a 100644 --- a/fs/romfs/romfs.mk +++ b/fs/romfs/romfs.mk @@ -7,7 +7,7 @@ ROOTFS_ROMFS_DEPENDENCIES = host-genromfs define ROOTFS_ROMFS_CMD - $(HOST_DIR)/usr/bin/genromfs -d $(TARGET_DIR) -f $@ + $(HOST_DIR)/bin/genromfs -d $(TARGET_DIR) -f $@ endef $(eval $(call ROOTFS_TARGET,romfs)) diff --git a/fs/squashfs/squashfs.mk b/fs/squashfs/squashfs.mk index c4d9ca50b3..7de7f51af1 100644 --- a/fs/squashfs/squashfs.mk +++ b/fs/squashfs/squashfs.mk @@ -6,27 +6,22 @@ ROOTFS_SQUASHFS_DEPENDENCIES = host-squashfs +ROOTFS_SQUASHFS_ARGS = -noappend -processors $(PARALLEL_JOBS) + ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS4_LZ4),y) ROOTFS_SQUASHFS_ARGS += -comp lz4 -Xhc -else -ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS4_LZO),y) +else ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS4_LZO),y) ROOTFS_SQUASHFS_ARGS += -comp lzo -else -ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS4_LZMA),y) +else ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS4_LZMA),y) ROOTFS_SQUASHFS_ARGS += -comp lzma -else -ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS4_XZ),y) +else ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS4_XZ),y) ROOTFS_SQUASHFS_ARGS += -comp xz else ROOTFS_SQUASHFS_ARGS += -comp gzip endif -endif -endif -endif define ROOTFS_SQUASHFS_CMD - $(HOST_DIR)/usr/bin/mksquashfs $(TARGET_DIR) $@ -noappend \ - $(ROOTFS_SQUASHFS_ARGS) + $(HOST_DIR)/bin/mksquashfs $(TARGET_DIR) $@ $(ROOTFS_SQUASHFS_ARGS) endef $(eval $(call ROOTFS_TARGET,squashfs)) diff --git a/fs/ubifs/ubi.mk b/fs/ubifs/ubi.mk index e488cb5f8a..2baece5fb0 100644 --- a/fs/ubifs/ubi.mk +++ b/fs/ubifs/ubi.mk @@ -25,7 +25,7 @@ endif define ROOTFS_UBI_CMD sed 's;BR2_ROOTFS_UBIFS_PATH;$@fs;' \ $(UBINIZE_CONFIG_FILE_PATH) > $(BUILD_DIR)/ubinize.cfg - $(HOST_DIR)/usr/sbin/ubinize -o $@ $(UBI_UBINIZE_OPTS) $(BUILD_DIR)/ubinize.cfg + $(HOST_DIR)/sbin/ubinize -o $@ $(UBI_UBINIZE_OPTS) $(BUILD_DIR)/ubinize.cfg rm $(BUILD_DIR)/ubinize.cfg endef diff --git a/fs/ubifs/ubifs.mk b/fs/ubifs/ubifs.mk index f1e4126e86..7b2b0fb2cc 100644 --- a/fs/ubifs/ubifs.mk +++ b/fs/ubifs/ubifs.mk @@ -21,7 +21,7 @@ UBIFS_OPTS += $(call qstrip,$(BR2_TARGET_ROOTFS_UBIFS_OPTS)) ROOTFS_UBIFS_DEPENDENCIES = host-mtd define ROOTFS_UBIFS_CMD - $(HOST_DIR)/usr/sbin/mkfs.ubifs -d $(TARGET_DIR) $(UBIFS_OPTS) -o $@ + $(HOST_DIR)/sbin/mkfs.ubifs -d $(TARGET_DIR) $(UBIFS_OPTS) -o $@ endef $(eval $(call ROOTFS_TARGET,ubifs)) diff --git a/fs/yaffs2/yaffs.mk b/fs/yaffs2/yaffs.mk index 19bdbe842e..30570735fa 100644 --- a/fs/yaffs2/yaffs.mk +++ b/fs/yaffs2/yaffs.mk @@ -7,7 +7,7 @@ ROOTFS_YAFFS2_DEPENDENCIES = host-yaffs2utils define ROOTFS_YAFFS2_CMD - $(HOST_DIR)/usr/bin/mkyaffs2 --all-root $(TARGET_DIR) $@ + $(HOST_DIR)/bin/mkyaffs2 --all-root $(TARGET_DIR) $@ endef $(eval $(call ROOTFS_TARGET,yaffs2)) diff --git a/linux/Config.in b/linux/Config.in index 1967dcca84..41f039e2ca 100644 --- a/linux/Config.in +++ b/linux/Config.in @@ -26,7 +26,26 @@ choice prompt "Kernel version" config BR2_LINUX_KERNEL_LATEST_VERSION - bool "Latest version (4.9.13)" + bool "Latest version (4.13)" + +config BR2_LINUX_KERNEL_LATEST_CIP_VERSION + bool "Latest CIP SLTS version (v4.4.83-cip8)" + help + CIP launched in the spring of 2016 to address the needs of + organizations in industries such as power generation and + distribution, water, oil and gas, transportation, building + automation and more for reliable and secure Linux-based + embedded systems that can be sustained over a period of + 10 to as many as 60 years. + The project's goal is to provide an open source base layer + of industrial-grade software that permits the use and + implementation of software building blocks that meet + these requirements. + + The CIP community plans to maintain 4.4 for security and + bug fixes for more than 10 years. + + https://www.cip-project.org config BR2_LINUX_KERNEL_CUSTOM_VERSION bool "Custom version" @@ -97,7 +116,8 @@ endif config BR2_LINUX_KERNEL_VERSION string - default "4.9.13" if BR2_LINUX_KERNEL_LATEST_VERSION + default "4.13.16" if BR2_LINUX_KERNEL_LATEST_VERSION + default "v4.4.83-cip8" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \ if BR2_LINUX_KERNEL_CUSTOM_VERSION default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL @@ -167,9 +187,6 @@ config BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES # Binary format # -config BR2_LINUX_KERNEL_UBOOT_IMAGE - bool - choice prompt "Kernel binary format" default BR2_LINUX_KERNEL_ZIMAGE if BR2_arm || BR2_armeb @@ -179,15 +196,15 @@ config BR2_LINUX_KERNEL_UIMAGE depends on BR2_arc || BR2_arm || BR2_armeb || BR2_bfin || \ BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \ BR2_sh || BR2_mips || BR2_mipsel || \ - BR2_mips64 || BR2_mips64el - select BR2_LINUX_KERNEL_UBOOT_IMAGE + BR2_mips64 || BR2_mips64el || BR2_xtensa + select BR2_PACKAGE_HOST_UBOOT_TOOLS config BR2_LINUX_KERNEL_APPENDED_UIMAGE bool "uImage with appended DT" depends on BR2_arm || BR2_armeb select BR2_LINUX_KERNEL_DTS_SUPPORT select BR2_LINUX_KERNEL_APPENDED_DTB - select BR2_LINUX_KERNEL_UBOOT_IMAGE + select BR2_PACKAGE_HOST_UBOOT_TOOLS config BR2_LINUX_KERNEL_BZIMAGE bool "bzImage" @@ -212,14 +229,14 @@ config BR2_LINUX_KERNEL_APPENDED_ZIMAGE config BR2_LINUX_KERNEL_CUIMAGE bool "cuImage" depends on BR2_powerpc - select BR2_LINUX_KERNEL_UBOOT_IMAGE + select BR2_PACKAGE_HOST_UBOOT_TOOLS select BR2_LINUX_KERNEL_DTS_SUPPORT select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT config BR2_LINUX_KERNEL_SIMPLEIMAGE bool "simpleImage" depends on BR2_microblaze - select BR2_LINUX_KERNEL_UBOOT_IMAGE + select BR2_PACKAGE_HOST_UBOOT_TOOLS select BR2_LINUX_KERNEL_DTS_SUPPORT select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT @@ -230,7 +247,7 @@ config BR2_LINUX_KERNEL_IMAGE config BR2_LINUX_KERNEL_LINUX_BIN bool "linux.bin" depends on BR2_microblaze - select BR2_LINUX_KERNEL_UBOOT_IMAGE + select BR2_PACKAGE_HOST_UBOOT_TOOLS config BR2_LINUX_KERNEL_VMLINUX_BIN bool "vmlinux.bin" @@ -351,7 +368,7 @@ choice default BR2_LINUX_KERNEL_USE_INTREE_DTS config BR2_LINUX_KERNEL_USE_INTREE_DTS - bool "Use a device tree present in the kernel." + bool "Use a device tree present in the kernel" help Use a device tree source distributed with the kernel sources. The dts files are located diff --git a/linux/linux-ext-rtai.mk b/linux/linux-ext-rtai.mk index 0cc1232b96..fb483aa80b 100644 --- a/linux/linux-ext-rtai.mk +++ b/linux/linux-ext-rtai.mk @@ -20,8 +20,8 @@ endif define RTAI_PREPARE_KERNEL kver=`$(MAKE) $(LINUX_MAKE_FLAGS) -C $(LINUX_DIR) --no-print-directory -s kernelversion` ; \ if test -f $(RTAI_DIR)/base/arch/$(RTAI_ARCH)/patches/hal-linux-$${kver}-*patch ; then \ - $(APPLY_PATCHES) $(LINUX_DIR) \ - $(RTAI_DIR)/base/arch/$(RTAI_ARCH)/patches/ \ + $(APPLY_PATCHES) $(LINUX_DIR) \ + $(RTAI_DIR)/base/arch/$(RTAI_ARCH)/patches/ \ hal-linux-$${kver}-*patch ; \ else \ echo "No RTAI patch for your kernel version" ; \ diff --git a/linux/linux.mk b/linux/linux.mk index 7f4432e7b1..bd5589bae0 100644 --- a/linux/linux.mk +++ b/linux/linux.mk @@ -5,7 +5,7 @@ ################################################################################ LINUX_VERSION = $(call qstrip,$(BR2_LINUX_KERNEL_VERSION)) -LINUX_LICENSE = GPLv2 +LINUX_LICENSE = GPL-2.0 LINUX_LICENSE_FILES = COPYING define LINUX_HELP_CMDS @@ -20,7 +20,6 @@ ifeq ($(BR2_LINUX_KERNEL_CUSTOM_TARBALL),y) LINUX_TARBALL = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION)) LINUX_SITE = $(patsubst %/,%,$(dir $(LINUX_TARBALL))) LINUX_SOURCE = $(notdir $(LINUX_TARBALL)) -BR_NO_CHECK_HASH_FOR += $(LINUX_SOURCE) else ifeq ($(BR2_LINUX_KERNEL_CUSTOM_GIT),y) LINUX_SITE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_REPO_URL)) LINUX_SITE_METHOD = git @@ -30,11 +29,14 @@ LINUX_SITE_METHOD = hg else ifeq ($(BR2_LINUX_KERNEL_CUSTOM_SVN),y) LINUX_SITE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_REPO_URL)) LINUX_SITE_METHOD = svn +else ifeq ($(BR2_LINUX_KERNEL_LATEST_CIP_VERSION),y) +LINUX_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/bwh/linux-cip.git +else ifneq ($(findstring -rc,$(LINUX_VERSION)),) +# Since 4.12-rc1, -rc kernels are generated from cgit. This also works for +# older -rc kernels. +LINUX_SITE = https://git.kernel.org/torvalds/t else LINUX_SOURCE = linux-$(LINUX_VERSION).tar.xz -ifeq ($(BR2_LINUX_KERNEL_CUSTOM_VERSION),y) -BR_NO_CHECK_HASH_FOR += $(LINUX_SOURCE) -endif # In X.Y.Z, get X and Y. We replace dots and dashes by spaces in order # to use the $(word) function. We support versions such as 4.0, 3.1, # 2.6.32, 2.6.32-rc1, 3.0-rc6, etc. @@ -45,10 +47,10 @@ LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v3.x else ifeq ($(findstring x4.,x$(LINUX_VERSION)),x4.) LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v4.x endif -# release candidates are in testing/ subdir -ifneq ($(findstring -rc,$(LINUX_VERSION)),) -LINUX_SITE := $(LINUX_SITE)/testing -endif # -rc +endif + +ifeq ($(BR2_LINUX_KERNEL)$(BR2_LINUX_KERNEL_LATEST_VERSION),y) +BR_NO_CHECK_HASH_FOR += $(LINUX_SOURCE) endif LINUX_PATCHES = $(call qstrip,$(BR2_LINUX_KERNEL_PATCH)) @@ -72,16 +74,26 @@ LINUX_DEPENDENCIES += host-lzop else ifeq ($(BR2_LINUX_KERNEL_XZ),y) LINUX_DEPENDENCIES += host-xz endif -LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_GZIP) = CONFIG_KERNEL_GZIP -LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_LZ4) = CONFIG_KERNEL_LZ4 -LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_LZMA) = CONFIG_KERNEL_LZMA -LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_LZO) = CONFIG_KERNEL_LZO -LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_XZ) = CONFIG_KERNEL_XZ +LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_GZIP) += CONFIG_KERNEL_GZIP +LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_LZ4) += CONFIG_KERNEL_LZ4 +LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_LZMA) += CONFIG_KERNEL_LZMA +LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_LZO) += CONFIG_KERNEL_LZO +LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_XZ) += CONFIG_KERNEL_XZ -ifeq ($(BR2_LINUX_KERNEL_UBOOT_IMAGE),y) +# If host-uboot-tools is selected by the user, assume it is needed to +# create a custom image +ifeq ($(BR2_PACKAGE_HOST_UBOOT_TOOLS),y) LINUX_DEPENDENCIES += host-uboot-tools endif +ifneq ($(ARCH_XTENSA_OVERLAY_FILE),) +define LINUX_XTENSA_OVERLAY_EXTRACT + $(call arch-xtensa-overlay-extract,$(@D),linux) +endef +LINUX_POST_EXTRACT_HOOKS += LINUX_XTENSA_OVERLAY_EXTRACT +LINUX_EXTRA_DOWNLOADS += $(ARCH_XTENSA_OVERLAY_URL) +endif + LINUX_MAKE_FLAGS = \ HOSTCC="$(HOSTCC)" \ HOSTCFLAGS="$(HOSTCFLAGS)" \ @@ -240,7 +252,7 @@ endif define LINUX_KCONFIG_FIXUP_CMDS $(if $(LINUX_NEEDS_MODULES), $(call KCONFIG_ENABLE_OPT,CONFIG_MODULES,$(@D)/.config)) - $(call KCONFIG_ENABLE_OPT,$(LINUX_COMPRESSION_OPT_y),$(@D)/.config) + $(call KCONFIG_ENABLE_OPT,$(strip $(LINUX_COMPRESSION_OPT_y)),$(@D)/.config) $(foreach opt, $(LINUX_COMPRESSION_OPT_), $(call KCONFIG_DISABLE_OPT,$(opt),$(@D)/.config) ) @@ -274,7 +286,7 @@ define LINUX_KCONFIG_FIXUP_CMDS $(call KCONFIG_ENABLE_OPT,CONFIG_FHANDLE,$(@D)/.config) $(call KCONFIG_ENABLE_OPT,CONFIG_AUTOFS4_FS,$(@D)/.config) $(call KCONFIG_ENABLE_OPT,CONFIG_TMPFS_POSIX_ACL,$(@D)/.config) - $(call KCONFIG_ENABLE_OPT,CONFIG_TMPFS_POSIX_XATTR,$(@D)/.config)) + $(call KCONFIG_ENABLE_OPT,CONFIG_TMPFS_XATTR,$(@D)/.config)) $(if $(BR2_PACKAGE_SMACK), $(call KCONFIG_ENABLE_OPT,CONFIG_SECURITY,$(@D)/.config) $(call KCONFIG_ENABLE_OPT,CONFIG_SECURITY_SMACK,$(@D)/.config) @@ -288,6 +300,12 @@ define LINUX_KCONFIG_FIXUP_CMDS $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_ADVANCED,$(@D)/.config) $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CONNTRACK,$(@D)/.config) $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CONNTRACK_MARK,$(@D)/.config)) + $(if $(BR2_PACKAGE_WIREGUARD), + $(call KCONFIG_ENABLE_OPT,CONFIG_INET,$(@D)/.config) + $(call KCONFIG_ENABLE_OPT,CONFIG_NET,$(@D)/.config) + $(call KCONFIG_ENABLE_OPT,CONFIG_NET_FOU,$(@D)/.config) + $(call KCONFIG_ENABLE_OPT,CONFIG_CRYPTO,$(@D)/.config) + $(call KCONFIG_ENABLE_OPT,CONFIG_CRYPTO_MANAGER,$(@D)/.config)) $(if $(BR2_LINUX_KERNEL_APPENDED_DTB), $(call KCONFIG_ENABLE_OPT,CONFIG_ARM_APPENDED_DTB,$(@D)/.config)) $(if $(BR2_PACKAGE_KERNEL_MODULE_IMX_GPU_VIV), @@ -347,7 +365,7 @@ define LINUX_BUILD_CMDS $(if $(BR2_LINUX_KERNEL_USE_CUSTOM_DTS), cp -f $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH)) $(KERNEL_ARCH_PATH)/boot/dts/) $(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) $(LINUX_TARGET_NAME) - @if grep -q "CONFIG_MODULES=y" $(@D)/.config; then \ + @if grep -q "CONFIG_MODULES=y" $(@D)/.config; then \ $(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) modules ; \ fi $(LINUX_BUILD_DTB) @@ -378,10 +396,10 @@ endif define LINUX_INSTALL_HOST_TOOLS # Installing dtc (device tree compiler) as host tool, if selected - if grep -q "CONFIG_DTC=y" $(@D)/.config; then \ - $(INSTALL) -D -m 0755 $(@D)/scripts/dtc/dtc $(HOST_DIR)/usr/bin/linux-dtc ; \ - if [ ! -e $(HOST_DIR)/usr/bin/dtc ]; then \ - ln -sf linux-dtc $(HOST_DIR)/usr/bin/dtc ; \ + if grep -q "CONFIG_DTC=y" $(@D)/.config; then \ + $(INSTALL) -D -m 0755 $(@D)/scripts/dtc/dtc $(HOST_DIR)/bin/linux-dtc ; \ + if [ ! -e $(HOST_DIR)/bin/dtc ]; then \ + ln -sf linux-dtc $(HOST_DIR)/bin/dtc ; \ fi \ fi endef @@ -400,7 +418,7 @@ define LINUX_INSTALL_TARGET_CMDS $(LINUX_INSTALL_KERNEL_IMAGE_TO_TARGET) # Install modules and remove symbolic links pointing to build # directories, not relevant on the target - @if grep -q "CONFIG_MODULES=y" $(@D)/.config; then \ + @if grep -q "CONFIG_MODULES=y" $(@D)/.config; then \ $(LINUX_MAKE_ENV) $(MAKE1) $(LINUX_MAKE_FLAGS) -C $(@D) modules_install; \ rm -f $(TARGET_DIR)/lib/modules/$(LINUX_VERSION_PROBED)/build ; \ rm -f $(TARGET_DIR)/lib/modules/$(LINUX_VERSION_PROBED)/source ; \ diff --git a/package/4th/4th.mk b/package/4th/4th.mk index 0d82614f36..f272e02808 100644 --- a/package/4th/4th.mk +++ b/package/4th/4th.mk @@ -7,9 +7,9 @@ 4TH_VERSION = 3.62.4 4TH_SOURCE = 4th-$(4TH_VERSION)-unix.tar.gz 4TH_SITE = http://downloads.sourceforge.net/project/forth-4th/4th-$(4TH_VERSION) -4TH_LICENSE = GPLv3+, LGPLv3+ -# The COPYING file only contains the text of the LGPLv3, but the -# source code really contains parts under GPLv3+. +4TH_LICENSE = GPL-3.0+, LGPL-3.0+ +# The COPYING file only contains the text of the LGPL-3.0, but the +# source code really contains parts under GPL-3.0+. 4TH_LICENSE_FILES = COPYING 4TH_DEPENDENCIES = host-4th 4TH_INSTALL_STAGING = YES @@ -27,7 +27,7 @@ define 4TH_BUILD_CMDS $(4TH_MAKE_ENV) $(MAKE) -C $(@D)/sources all \ CROSS="$(TARGET_CROSS)" \ CFLAGS="$(4TH_CFLAGS)" \ - FOURTH=$(HOST_DIR)/usr/bin/4th + FOURTH=$(HOST_DIR)/bin/4th endef define 4TH_INSTALL_STAGING_CMDS @@ -59,11 +59,11 @@ define HOST_4TH_BUILD_CMDS endef define HOST_4TH_INSTALL_CMDS - mkdir -p $(HOST_DIR)/usr/bin - mkdir -p $(HOST_DIR)/usr/lib + mkdir -p $(HOST_DIR)/bin + mkdir -p $(HOST_DIR)/lib $(HOST_MAKE_ENV) $(MAKE) -C $(@D)/sources mostlyinstall \ - BINARIES=$(HOST_DIR)/usr/bin \ - LIBRARIES=$(HOST_DIR)/usr/lib + BINARIES=$(HOST_DIR)/bin \ + LIBRARIES=$(HOST_DIR)/lib endef $(eval $(generic-package)) diff --git a/package/Config.in b/package/Config.in index ba39c15d4b..10048ce892 100644 --- a/package/Config.in +++ b/package/Config.in @@ -2,9 +2,15 @@ menu "Target packages" source "package/busybox/Config.in" source "package/skeleton/Config.in" + source "package/skeleton-custom/Config.in" + source "package/skeleton-init-common/Config.in" + source "package/skeleton-init-none/Config.in" + source "package/skeleton-init-systemd/Config.in" + source "package/skeleton-init-sysv/Config.in" menu "Audio and video applications" source "package/alsa-utils/Config.in" + source "package/atest/Config.in" source "package/aumix/Config.in" source "package/bellagio/Config.in" source "package/dvblast/Config.in" @@ -21,6 +27,7 @@ menu "Audio and video applications" source "package/jack2/Config.in" source "package/kodi/Config.in" source "package/lame/Config.in" + source "package/libwebcam/Config.in" source "package/madplay/Config.in" source "package/mimic/Config.in" source "package/miraclecast/Config.in" @@ -40,6 +47,7 @@ menu "Audio and video applications" source "package/opus-tools/Config.in" source "package/pulseaudio/Config.in" source "package/sox/Config.in" + source "package/streameye/Config.in" source "package/squeezelite/Config.in" source "package/tidsp-binaries/Config.in" source "package/tovid/Config.in" @@ -48,6 +56,7 @@ menu "Audio and video applications" source "package/udpxy/Config.in" source "package/upmpdcli/Config.in" source "package/v4l2grab/Config.in" + source "package/v4l2loopback/Config.in" source "package/vlc/Config.in" source "package/vorbis-tools/Config.in" source "package/wavpack/Config.in" @@ -62,10 +71,12 @@ menu "Compressors and decompressors" source "package/lzip/Config.in" source "package/lzop/Config.in" source "package/p7zip/Config.in" + source "package/pixz/Config.in" source "package/unrar/Config.in" source "package/unzip/Config.in" source "package/xz/Config.in" source "package/zip/Config.in" + source "package/zstd/Config.in" endmenu menu "Debugging, profiling and benchmark" @@ -73,6 +84,7 @@ menu "Debugging, profiling and benchmark" source "package/bonnie/Config.in" source "package/cache-calibrator/Config.in" source "package/dhrystone/Config.in" + source "package/dieharder/Config.in" source "package/dmalloc/Config.in" source "package/dropwatch/Config.in" source "package/dstat/Config.in" @@ -141,6 +153,7 @@ menu "Development tools" source "package/git-crypt/Config.in" source "package/gperf/Config.in" source "package/grep/Config.in" + source "package/jo/Config.in" source "package/jq/Config.in" source "package/libtool/Config.in" source "package/make/Config.in" @@ -169,6 +182,7 @@ menu "Filesystem and flash utilities" source "package/exfat-utils/Config.in" source "package/f2fs-tools/Config.in" source "package/flashbench/Config.in" + source "package/fscryptctl/Config.in" source "package/fwup/Config.in" source "package/genext2fs/Config.in" source "package/genpart/Config.in" @@ -178,7 +192,6 @@ menu "Filesystem and flash utilities" source "package/mtools/Config.in" source "package/nfs-utils/Config.in" source "package/ntfs-3g/Config.in" - source "package/simicsfs/Config.in" source "package/sp-oops-extract/Config.in" source "package/squashfs/Config.in" source "package/sshfs/Config.in" @@ -222,12 +235,16 @@ menu "Games" source "package/gnuchess/Config.in" source "package/lbreakout2/Config.in" source "package/ltris/Config.in" + source "package/lugaru/Config.in" + source "package/minetest/Config.in" + source "package/minetest-game/Config.in" source "package/opentyrian/Config.in" source "package/opentyrian-data/Config.in" source "package/prboom/Config.in" source "package/rubix/Config.in" source "package/sl/Config.in" source "package/stella/Config.in" + source "package/supertux/Config.in" source "package/supertuxkart/Config.in" endmenu @@ -236,12 +253,17 @@ menu "Graphic libraries and applications (graphic/text)" comment "Graphic applications" source "package/expedite/Config.in" source "package/fswebcam/Config.in" + source "package/ghostscript/Config.in" source "package/glmark2/Config.in" source "package/gnuplot/Config.in" source "package/jhead/Config.in" + source "package/kmscube/Config.in" + source "package/libva-utils/Config.in" source "package/mesa3d-demos/Config.in" + source "package/pngquant/Config.in" source "package/qt5cinex/Config.in" source "package/rrdtool/Config.in" + source "package/tesseract-ocr/Config.in" comment "Graphic libraries" source "package/cegui06/Config.in" @@ -272,6 +294,8 @@ comment "Graphic libraries" source "package/sdl2/Config.in" source "package/sdl2_gfx/Config.in" source "package/sdl2_image/Config.in" + source "package/sdl2_mixer/Config.in" + source "package/sdl2_net/Config.in" source "package/sdl2_ttf/Config.in" comment "Other GUIs" @@ -330,6 +354,7 @@ comment "X window managers" source "package/matchbox/Config.in" source "package/metacity/Config.in" source "package/openbox/Config.in" + source "package/ratpoison/Config.in" endmenu menu "Hardware handling" @@ -337,11 +362,14 @@ menu "Firmware" source "package/am33x-cm3/Config.in" source "package/b43-firmware/Config.in" source "package/linux-firmware/Config.in" + source "package/rpi-bt-firmware/Config.in" source "package/rpi-firmware/Config.in" + source "package/rpi-wifi-firmware/Config.in" source "package/sunxi-boards/Config.in" source "package/ts4900-fpga/Config.in" source "package/ux500-firmware/Config.in" source "package/wilc1000-firmware/Config.in" + source "package/wilink-bt-firmware/Config.in" source "package/zd1211-firmware/Config.in" endmenu source "package/a10disp/Config.in" @@ -359,15 +387,20 @@ endmenu source "package/cdrkit/Config.in" source "package/cryptsetup/Config.in" source "package/cwiid/Config.in" + source "package/dahdi-linux/Config.in" + source "package/dahdi-tools/Config.in" source "package/dbus/Config.in" source "package/dbus-cpp/Config.in" source "package/dbus-glib/Config.in" source "package/dbus-python/Config.in" source "package/dbus-triggerd/Config.in" source "package/devmem2/Config.in" + source "package/dfu-util/Config.in" source "package/dmidecode/Config.in" source "package/dmraid/Config.in" + source "package/dt-utils/Config.in" source "package/dtv-scan-tables/Config.in" + source "package/dump1090/Config.in" source "package/dvb-apps/Config.in" source "package/dvbsnoop/Config.in" source "package/edid-decode/Config.in" @@ -395,7 +428,6 @@ endmenu source "package/i2c-tools/Config.in" source "package/i7z/Config.in" source "package/input-event-daemon/Config.in" - source "package/input-tools/Config.in" source "package/intel-microcode/Config.in" source "package/iostat/Config.in" source "package/ipmitool/Config.in" @@ -407,16 +439,20 @@ endmenu source "package/lcdproc/Config.in" source "package/libuio/Config.in" source "package/libump/Config.in" + source "package/linuxconsoletools/Config.in" source "package/linux-backports/Config.in" source "package/lirc-tools/Config.in" source "package/lm-sensors/Config.in" source "package/lshw/Config.in" + source "package/lsscsi/Config.in" source "package/lsuio/Config.in" + source "package/luksmeta/Config.in" source "package/lvm2/Config.in" source "package/mali-t76x/Config.in" source "package/mdadm/Config.in" source "package/memtest86/Config.in" source "package/memtester/Config.in" + source "package/memtool/Config.in" source "package/minicom/Config.in" source "package/msr-tools/Config.in" source "package/nanocom/Config.in" @@ -427,7 +463,6 @@ endmenu source "package/odroid-mali/Config.in" source "package/odroid-scripts/Config.in" source "package/ofono/Config.in" - source "package/ola/Config.in" source "package/on2-8170-modules/Config.in" source "package/open2300/Config.in" source "package/openipmi/Config.in" @@ -444,7 +479,6 @@ endmenu source "package/pru-software-support/Config.in" source "package/pulseview/Config.in" source "package/read-edid/Config.in" - source "package/rfkill/Config.in" source "package/rng-tools/Config.in" source "package/rpi-armmem/Config.in" source "package/rpi-userland/Config.in" @@ -477,8 +511,10 @@ endmenu source "package/triggerhappy/Config.in" source "package/uboot-tools/Config.in" source "package/ubus/Config.in" + source "package/uccp420wlan/Config.in" source "package/udev/Config.in" source "package/udisks/Config.in" + source "package/uhubctl/Config.in" source "package/upower/Config.in" source "package/usb_modeswitch/Config.in" source "package/usb_modeswitch_data/Config.in" @@ -488,6 +524,7 @@ endmenu source "package/wf111/Config.in" source "package/wipe/Config.in" source "package/xorriso/Config.in" + source "package/xr819-xradio/Config.in" endmenu menu "Interpreter languages and scripting" @@ -497,19 +534,23 @@ menu "Interpreter languages and scripting" if BR2_PACKAGE_ERLANG menu "Erlang libraries/modules" source "package/erlang-goldrush/Config.in" + source "package/erlang-jiffy/Config.in" source "package/erlang-lager/Config.in" source "package/erlang-p1-cache-tab/Config.in" source "package/erlang-p1-iconv/Config.in" + source "package/erlang-p1-oauth2/Config.in" source "package/erlang-p1-sip/Config.in" source "package/erlang-p1-stringprep/Config.in" source "package/erlang-p1-stun/Config.in" source "package/erlang-p1-tls/Config.in" source "package/erlang-p1-utils/Config.in" source "package/erlang-p1-xml/Config.in" + source "package/erlang-p1-xmpp/Config.in" source "package/erlang-p1-yaml/Config.in" source "package/erlang-p1-zlib/Config.in" endmenu endif + source "package/execline/Config.in" source "package/ficl/Config.in" source "package/gauche/Config.in" source "package/guile/Config.in" @@ -522,10 +563,13 @@ endif if BR2_PACKAGE_HAS_LUAINTERPRETER && !BR2_STATIC_LIBS # lua modules are dynamically loaded, so not available on static builds menu "Lua libraries/modules" +# When adding lua packages, make sure the name start with "lua". If the +# upstream package is "luafoo", call it "luafoo" in Buildroot; if the upstream +# package is "foo", call it "lua-foo". Many packages currently don't follow +# this convention, but that's historical accident. source "package/argparse/Config.in" source "package/cgilua/Config.in" source "package/copas/Config.in" - source "package/cosmo/Config.in" source "package/coxpcall/Config.in" source "package/dado/Config.in" source "package/easydbus/Config.in" @@ -536,15 +580,28 @@ menu "Lua libraries/modules" source "package/lpty/Config.in" source "package/lrandom/Config.in" source "package/lsqlite3/Config.in" + source "package/lua-basexx/Config.in" + source "package/lua-bit32/Config.in" source "package/lua-cjson/Config.in" source "package/lua-coat/Config.in" source "package/lua-coatpersistent/Config.in" + source "package/lua-compat53/Config.in" + source "package/lua-cqueues/Config.in" source "package/lua-csnappy/Config.in" + source "package/lua-curl/Config.in" + source "package/lua-datafile/Config.in" source "package/lua-ev/Config.in" + source "package/lua-fifo/Config.in" + source "package/lua-flu/Config.in" + source "package/lua-http/Config.in" source "package/lua-iconv/Config.in" + source "package/lua-lpeg-patterns/Config.in" + source "package/lua-markdown/Config.in" source "package/lua-messagepack/Config.in" source "package/lua-msgpack-native/Config.in" source "package/lua-periphery/Config.in" + source "package/lua-sdl2/Config.in" + source "package/lua-stdlib/Config.in" source "package/lua-testmore/Config.in" source "package/luabitop/Config.in" source "package/luacrypto/Config.in" @@ -553,11 +610,16 @@ menu "Lua libraries/modules" source "package/luafilesystem/Config.in" source "package/luajson/Config.in" source "package/lualogging/Config.in" + source "package/luaossl/Config.in" source "package/luaposix/Config.in" + source "package/lua-resty-http/Config.in" + source "package/lua-sailor/Config.in" source "package/luasec/Config.in" source "package/luasocket/Config.in" source "package/luasql-sqlite3/Config.in" + source "package/lua-valua/Config.in" source "package/lunit/Config.in" + source "package/lutok/Config.in" source "package/luv/Config.in" source "package/luvi/Config.in" source "package/lzlib/Config.in" @@ -565,10 +627,11 @@ menu "Lua libraries/modules" source "package/rings/Config.in" source "package/turbolua/Config.in" source "package/wsapi/Config.in" + source "package/wsapi-fcgi/Config.in" + source "package/wsapi-xavante/Config.in" source "package/xavante/Config.in" endmenu endif - source "package/lutok/Config.in" source "package/micropython/Config.in" source "package/micropython-lib/Config.in" source "package/moarvm/Config.in" @@ -648,13 +711,18 @@ endif source "package/python3/Config.in" if BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 menu "External python modules" + source "package/python-aiocoap/Config.in" source "package/python-alsaaudio/Config.in" source "package/python-argh/Config.in" source "package/python-arrow/Config.in" + source "package/python-asn1crypto/Config.in" source "package/python-attrs/Config.in" source "package/python-autobahn/Config.in" + source "package/python-automat/Config.in" source "package/python-babel/Config.in" source "package/python-backports-abc/Config.in" + source "package/python-backports-shutil-get-terminal-size/Config.in" + source "package/python-bcrypt/Config.in" source "package/python-beautifulsoup4/Config.in" source "package/python-bitstring/Config.in" source "package/python-bottle/Config.in" @@ -665,6 +733,7 @@ menu "External python modules" source "package/python-characteristic/Config.in" source "package/python-chardet/Config.in" source "package/python-cheetah/Config.in" + source "package/python-cheroot/Config.in" source "package/python-cherrypy/Config.in" source "package/python-click/Config.in" source "package/python-coherence/Config.in" @@ -681,6 +750,7 @@ menu "External python modules" source "package/python-daemon/Config.in" source "package/python-dataproperty/Config.in" source "package/python-dateutil/Config.in" + source "package/python-decorator/Config.in" source "package/python-dialog/Config.in" source "package/python-dialog3/Config.in" source "package/python-dicttoxml/Config.in" @@ -702,9 +772,14 @@ menu "External python modules" source "package/python-futures/Config.in" source "package/python-gobject/Config.in" source "package/python-gunicorn/Config.in" + source "package/python-h2/Config.in" + source "package/python-hpack/Config.in" source "package/python-html5lib/Config.in" source "package/python-httplib2/Config.in" source "package/python-humanize/Config.in" + source "package/python-hyperframe/Config.in" + source "package/python-hyperlink/Config.in" + source "package/python-ibmiotf/Config.in" source "package/python-id3/Config.in" source "package/python-idna/Config.in" source "package/python-incremental/Config.in" @@ -714,6 +789,8 @@ menu "External python modules" source "package/python-ipaddress/Config.in" source "package/python-ipy/Config.in" source "package/python-ipython/Config.in" + source "package/python-ipython-genutils/Config.in" + source "package/python-iso8601/Config.in" source "package/python-itsdangerous/Config.in" source "package/python-jinja2/Config.in" source "package/python-jsonschema/Config.in" @@ -723,6 +800,7 @@ menu "External python modules" source "package/python-lmdb/Config.in" source "package/python-logbook/Config.in" source "package/python-lxml/Config.in" + source "package/python-m2r/Config.in" source "package/python-mad/Config.in" source "package/python-mako/Config.in" source "package/python-markdown/Config.in" @@ -744,12 +822,17 @@ menu "External python modules" source "package/python-paho-mqtt/Config.in" source "package/python-pam/Config.in" source "package/python-paramiko/Config.in" + source "package/python-pathlib2/Config.in" source "package/python-pathpy/Config.in" source "package/python-pathtools/Config.in" source "package/python-pathvalidate/Config.in" source "package/python-pexpect/Config.in" + source "package/python-pickleshare/Config.in" + source "package/python-picamera/Config.in" source "package/python-pillow/Config.in" + source "package/python-portend/Config.in" source "package/python-posix-ipc/Config.in" + source "package/python-priority/Config.in" source "package/python-prompt-toolkit/Config.in" source "package/python-protobuf/Config.in" source "package/python-psutil/Config.in" @@ -768,6 +851,7 @@ menu "External python modules" source "package/python-pygments/Config.in" source "package/python-pyicu/Config.in" source "package/python-pyinotify/Config.in" + source "package/python-pylibftdi/Config.in" source "package/python-pylru/Config.in" source "package/python-pymongo/Config.in" source "package/python-pymysql/Config.in" @@ -801,6 +885,7 @@ menu "External python modules" source "package/python-requests-toolbelt/Config.in" source "package/python-rpi-gpio/Config.in" source "package/python-rtslib-fb/Config.in" + source "package/python-scandir/Config.in" source "package/python-scapy3k/Config.in" source "package/python-sdnotify/Config.in" source "package/python-serial/Config.in" @@ -810,18 +895,25 @@ menu "External python modules" source "package/python-sh/Config.in" source "package/python-shutilwhich/Config.in" source "package/python-simpleaudio/Config.in" + source "package/python-simplegeneric/Config.in" source "package/python-simplejson/Config.in" + source "package/python-simplesqlite/Config.in" source "package/python-singledispatch/Config.in" source "package/python-sip/Config.in" source "package/python-six/Config.in" source "package/python-slob/Config.in" source "package/python-smbus-cffi/Config.in" source "package/python-socketio/Config.in" + source "package/python-sortedcontainers//Config.in" source "package/python-spidev/Config.in" + source "package/python-systemd/Config.in" + source "package/python-tempora/Config.in" + source "package/python-typepy/Config.in" source "package/python-thrift/Config.in" source "package/python-tomako/Config.in" source "package/python-toml/Config.in" source "package/python-tornado/Config.in" + source "package/python-traitlets/Config.in" source "package/python-treq/Config.in" source "package/python-twisted/Config.in" source "package/python-txaio/Config.in" @@ -835,6 +927,7 @@ menu "External python modules" source "package/python-wcwidth/Config.in" source "package/python-web2py/Config.in" source "package/python-webpy/Config.in" + source "package/python-websockets/Config.in" source "package/python-werkzeug/Config.in" source "package/python-whoosh/Config.in" source "package/python-ws4py/Config.in" @@ -843,6 +936,7 @@ menu "External python modules" source "package/python-xlsxwriter/Config.in" source "package/python-xlutils/Config.in" source "package/python-xlwt/Config.in" + source "package/python-xmltodict/Config.in" source "package/python-zope-interface/Config.in" endmenu endif @@ -862,6 +956,7 @@ menu "Audio/Sound" source "package/alsa-lib/Config.in" source "package/aubio/Config.in" source "package/audiofile/Config.in" + source "package/bcg729/Config.in" source "package/celt051/Config.in" source "package/fdk-aac/Config.in" source "package/libao/Config.in" @@ -928,10 +1023,12 @@ menu "Crypto" source "package/libgcrypt/Config.in" source "package/libgpg-error/Config.in" source "package/libgpgme/Config.in" + source "package/libkcapi/Config.in" source "package/libksba/Config.in" source "package/libmcrypt/Config.in" source "package/libmhash/Config.in" source "package/libnss/Config.in" + source "package/libscrypt/Config.in" source "package/libsecret/Config.in" source "package/libsha1/Config.in" source "package/libsodium/Config.in" @@ -942,7 +1039,7 @@ menu "Crypto" source "package/mbedtls/Config.in" source "package/nettle/Config.in" source "package/openssl/Config.in" - source "package/polarssl/Config.in" + source "package/rhash/Config.in" source "package/tinydtls/Config.in" source "package/trousers/Config.in" source "package/ustream-ssl/Config.in" @@ -974,6 +1071,7 @@ menu "Filesystem" source "package/libnfs/Config.in" source "package/libsysfs/Config.in" source "package/lockdev/Config.in" + source "package/physfs/Config.in" endmenu menu "Graphics" @@ -998,10 +1096,13 @@ menu "Graphics" source "package/harfbuzz/Config.in" source "package/ijs/Config.in" source "package/imlib2/Config.in" + source "package/irrlicht/Config.in" source "package/jasper/Config.in" source "package/jpeg/Config.in" source "package/kmsxx/Config.in" source "package/lcms2/Config.in" + source "package/lensfun/Config.in" + source "package/leptonica/Config.in" source "package/lesstif/Config.in" source "package/libart/Config.in" source "package/libdmtx/Config.in" @@ -1021,6 +1122,7 @@ menu "Graphics" source "package/libglu/Config.in" source "package/libgtk2/Config.in" source "package/libgtk3/Config.in" + source "package/libmediaart/Config.in" source "package/libmng/Config.in" source "package/libpng/Config.in" source "package/libqrencode/Config.in" @@ -1062,12 +1164,14 @@ menu "Hardware handling" source "package/gnu-efi/Config.in" source "package/hidapi/Config.in" source "package/lcdapi/Config.in" + source "package/let-me-create/Config.in" source "package/libaio/Config.in" source "package/libatasmart/Config.in" source "package/libcec/Config.in" source "package/libfreefare/Config.in" source "package/libftdi/Config.in" source "package/libftdi1/Config.in" + source "package/libgphoto2/Config.in" source "package/libgpiod/Config.in" source "package/libgudev/Config.in" source "package/libhid/Config.in" @@ -1079,6 +1183,7 @@ menu "Hardware handling" source "package/libnfc/Config.in" source "package/libpciaccess/Config.in" source "package/libphidget/Config.in" + source "package/libpri/Config.in" source "package/libqmi/Config.in" source "package/libraw1394/Config.in" source "package/librtas/Config.in" @@ -1088,6 +1193,7 @@ menu "Hardware handling" source "package/libsigrok/Config.in" source "package/libsigrokdecode/Config.in" source "package/libsoc/Config.in" + source "package/libss7/Config.in" source "package/libusb/Config.in" source "package/libusb-compat/Config.in" source "package/libusbgx/Config.in" @@ -1137,10 +1243,12 @@ menu "JSON/XML" source "package/expat/Config.in" source "package/ezxml/Config.in" source "package/jansson/Config.in" + source "package/jose/Config.in" source "package/jsmn/Config.in" source "package/json-c/Config.in" source "package/json-glib/Config.in" source "package/jsoncpp/Config.in" + source "package/libbson/Config.in" source "package/libfastjson/Config.in" source "package/libjson/Config.in" source "package/libroxml/Config.in" @@ -1176,6 +1284,7 @@ endmenu menu "Multimedia" source "package/bitstream/Config.in" + source "package/kvazaar/Config.in" source "package/libaacs/Config.in" source "package/libamcodec/Config.in" source "package/libass/Config.in" @@ -1212,6 +1321,8 @@ menu "Networking" source "package/alljoyn-base/Config.in" source "package/alljoyn-tcl/Config.in" source "package/alljoyn-tcl-base/Config.in" + source "package/azmq/Config.in" + source "package/azure-iot-sdk-c/Config.in" source "package/batman-adv/Config.in" source "package/c-ares/Config.in" source "package/canfestival/Config.in" @@ -1242,6 +1353,7 @@ menu "Networking" source "package/libidn/Config.in" source "package/libiscsi/Config.in" source "package/libldns/Config.in" + source "package/libmaxminddb/Config.in" source "package/libmbus/Config.in" source "package/libmemcached/Config.in" source "package/libmicrohttpd/Config.in" @@ -1283,6 +1395,7 @@ menu "Networking" source "package/libwebsockets/Config.in" source "package/lksctp-tools/Config.in" source "package/mongoose/Config.in" + source "package/nanomsg/Config.in" source "package/neon/Config.in" source "package/norm/Config.in" source "package/nss-mdns/Config.in" @@ -1320,6 +1433,7 @@ menu "Other" source "package/clapack/Config.in" source "package/classpath/Config.in" source "package/cppcms/Config.in" + source "package/cracklib/Config.in" source "package/dawgdic/Config.in" source "package/ding-libs/Config.in" source "package/eigen/Config.in" @@ -1329,7 +1443,6 @@ menu "Other" source "package/gflags/Config.in" source "package/glibmm/Config.in" source "package/glm/Config.in" - source "package/gmock/Config.in" source "package/gmp/Config.in" source "package/gsl/Config.in" source "package/gtest/Config.in" @@ -1337,6 +1450,7 @@ menu "Other" source "package/lapack/Config.in" source "package/libargtable2/Config.in" source "package/libatomic_ops/Config.in" + source "package/libb64/Config.in" source "package/libbsd/Config.in" source "package/libcap/Config.in" source "package/libcap-ng/Config.in" @@ -1344,6 +1458,7 @@ menu "Other" source "package/libcofi/Config.in" source "package/libcroco/Config.in" source "package/libcrossguid/Config.in" + source "package/libcsv/Config.in" source "package/libdaemon/Config.in" source "package/libee/Config.in" source "package/libev/Config.in" @@ -1356,15 +1471,19 @@ menu "Other" source "package/libical/Config.in" source "package/libite/Config.in" source "package/liblinear/Config.in" + source "package/libloki/Config.in" + source "package/libnpth/Config.in" source "package/libnspr/Config.in" source "package/libpfm4/Config.in" source "package/libplatform/Config.in" source "package/libplist/Config.in" source "package/libpthread-stubs/Config.in" source "package/libpthsem/Config.in" + source "package/libpwquality/Config.in" source "package/libseccomp/Config.in" source "package/libsigc/Config.in" source "package/libsigsegv/Config.in" + source "package/libspatialindex/Config.in" source "package/libtasn1/Config.in" source "package/libtommath/Config.in" source "package/libtpl/Config.in" @@ -1385,6 +1504,7 @@ endif source "package/mpc/Config.in" source "package/mpdecimal/Config.in" source "package/mpfr/Config.in" + source "package/mpir/Config.in" source "package/msgpack/Config.in" source "package/mtdev2tuio/Config.in" source "package/musl-compat-headers/Config.in" @@ -1413,7 +1533,9 @@ menu "Security" endmenu menu "Text and terminal handling" + source "package/augeas/Config.in" source "package/enchant/Config.in" + source "package/fmt/Config.in" source "package/icu/Config.in" source "package/libcli/Config.in" source "package/libedit/Config.in" @@ -1426,6 +1548,7 @@ menu "Text and terminal handling" source "package/ncurses/Config.in" source "package/newt/Config.in" source "package/pcre/Config.in" + source "package/pcre2/Config.in" source "package/popt/Config.in" source "package/readline/Config.in" source "package/slang/Config.in" @@ -1455,6 +1578,7 @@ menu "Miscellaneous" source "package/empty/Config.in" source "package/gnuradio/Config.in" source "package/googlefontdirectory/Config.in" + source "package/gqrx/Config.in" source "package/gr-osmosdr/Config.in" source "package/gsettings-desktop-schemas/Config.in" source "package/haveged/Config.in" @@ -1470,11 +1594,12 @@ menu "Miscellaneous" endmenu menu "Networking applications" - source "package/aiccu/Config.in" source "package/aircrack-ng/Config.in" source "package/apache/Config.in" source "package/argus/Config.in" + source "package/arp-scan/Config.in" source "package/arptables/Config.in" + source "package/asterisk/Config.in" source "package/atftp/Config.in" source "package/autossh/Config.in" source "package/avahi/Config.in" @@ -1484,10 +1609,12 @@ menu "Networking applications" source "package/batctl/Config.in" source "package/bcusdk/Config.in" source "package/bind/Config.in" + source "package/bluez-tools/Config.in" source "package/bluez_utils/Config.in" source "package/bluez5_utils/Config.in" source "package/bmon/Config.in" source "package/boa/Config.in" + source "package/boinc/Config.in" source "package/bridge-utils/Config.in" source "package/bwm-ng/Config.in" source "package/c-icap/Config.in" @@ -1520,6 +1647,7 @@ menu "Networking applications" source "package/fmc/Config.in" source "package/fping/Config.in" source "package/freeswitch/Config.in" + source "package/freeswitch-mod-bcg729/Config.in" source "package/gesftpserver/Config.in" source "package/gupnp-tools/Config.in" source "package/gutenprint/Config.in" @@ -1534,6 +1662,7 @@ menu "Networking applications" source "package/ifplugd/Config.in" source "package/iftop/Config.in" source "package/ifupdown/Config.in" + source "package/ifupdown-scripts/Config.in" source "package/igd2-for-linux/Config.in" source "package/igh-ethercat/Config.in" source "package/igmpproxy/Config.in" @@ -1550,6 +1679,7 @@ menu "Networking applications" source "package/irssi/Config.in" source "package/iw/Config.in" source "package/janus-gateway/Config.in" + source "package/keepalived/Config.in" source "package/kismet/Config.in" source "package/knock/Config.in" source "package/leafnode2/Config.in" @@ -1560,6 +1690,7 @@ menu "Networking applications" source "package/links/Config.in" source "package/linphone/Config.in" source "package/linux-zigbee/Config.in" + source "package/linuxptp/Config.in" source "package/lldpd/Config.in" source "package/lrzsz/Config.in" source "package/macchanger/Config.in" @@ -1614,12 +1745,13 @@ endif source "package/openvpn/Config.in" source "package/p910nd/Config.in" source "package/phidgetwebservice/Config.in" - source "package/portmap/Config.in" + source "package/phytool/Config.in" source "package/pound/Config.in" source "package/pppd/Config.in" source "package/pptp-linux/Config.in" source "package/privoxy/Config.in" source "package/proftpd/Config.in" + source "package/prosody/Config.in" source "package/proxychains-ng/Config.in" source "package/ptpd/Config.in" source "package/ptpd2/Config.in" @@ -1634,6 +1766,8 @@ endif source "package/rsync/Config.in" source "package/rtorrent/Config.in" source "package/rtptools/Config.in" + source "package/s6-dns/Config.in" + source "package/s6-networking/Config.in" source "package/samba4/Config.in" source "package/sconeserver/Config.in" source "package/ser2net/Config.in" @@ -1679,6 +1813,7 @@ endif source "package/wavemon/Config.in" source "package/wget/Config.in" source "package/whois/Config.in" + source "package/wireguard/Config.in" source "package/wireless-regdb/Config.in" source "package/wireless_tools/Config.in" source "package/wireshark/Config.in" @@ -1713,7 +1848,13 @@ menu "Real-Time" endmenu menu "Security" + source "package/checkpolicy/Config.in" + source "package/paxtest/Config.in" source "package/policycoreutils/Config.in" + source "package/refpolicy/Config.in" + source "package/restorecond/Config.in" + source "package/selinux-python/Config.in" + source "package/semodule-utils/Config.in" source "package/setools/Config.in" endmenu @@ -1729,6 +1870,7 @@ comment "Utilities" source "package/crudini/Config.in" source "package/dialog/Config.in" source "package/dtach/Config.in" + source "package/easy-rsa/Config.in" source "package/file/Config.in" source "package/gnupg/Config.in" source "package/gnupg2/Config.in" @@ -1736,6 +1878,7 @@ comment "Utilities" source "package/lockfile-progs/Config.in" source "package/logrotate/Config.in" source "package/logsurfer/Config.in" + source "package/pdmenu/Config.in" source "package/pinentry/Config.in" source "package/ranger/Config.in" source "package/screen/Config.in" @@ -1759,6 +1902,8 @@ menu "System tools" source "package/circus/Config.in" source "package/coreutils/Config.in" source "package/cpuload/Config.in" + source "package/daemon/Config.in" + source "package/dc3dd/Config.in" source "package/dcron/Config.in" source "package/ddrescue/Config.in" source "package/debianutils/Config.in" @@ -1791,8 +1936,14 @@ menu "System tools" source "package/psmisc/Config.in" source "package/pwgen/Config.in" source "package/quota/Config.in" + source "package/rauc/Config.in" source "package/rsyslog/Config.in" source "package/runc/Config.in" + source "package/s6/Config.in" + source "package/s6-linux-init/Config.in" + source "package/s6-linux-utils/Config.in" + source "package/s6-portable-utils/Config.in" + source "package/s6-rc/Config.in" source "package/scrub/Config.in" source "package/scrypt/Config.in" source "package/smack/Config.in" diff --git a/package/Config.in.host b/package/Config.in.host index 8da79c303c..48b6f8c7a8 100644 --- a/package/Config.in.host +++ b/package/Config.in.host @@ -4,7 +4,9 @@ menu "Host utilities" source "package/android-tools/Config.in.host" source "package/cbootimage/Config.in.host" source "package/checkpolicy/Config.in.host" + source "package/cmake/Config.in.host" source "package/cramfs/Config.in.host" + source "package/cryptsetup/Config.in.host" source "package/dfu-util/Config.in.host" source "package/dos2unix/Config.in.host" source "package/dosfstools/Config.in.host" @@ -17,6 +19,8 @@ menu "Host utilities" source "package/genimage/Config.in.host" source "package/genpart/Config.in.host" source "package/go/Config.in.host" + source "package/go-bootstrap/Config.in.host" + source "package/google-breakpad/Config.in.host" source "package/gptfdisk/Config.in.host" source "package/imx-usb-loader/Config.in.host" source "package/jq/Config.in.host" @@ -24,7 +28,6 @@ menu "Host utilities" source "package/lpc3250loader/Config.in.host" source "package/lttng-babeltrace/Config.in.host" source "package/mfgtools/Config.in.host" - source "package/mke2img/Config.in.host" source "package/mkpasswd/Config.in.host" source "package/mtd/Config.in.host" source "package/mtools/Config.in.host" @@ -34,10 +37,15 @@ menu "Host utilities" source "package/opkg-utils/Config.in.host" source "package/parted/Config.in.host" source "package/patchelf/Config.in.host" + source "package/pkgconf/Config.in.host" source "package/pru-software-support/Config.in.host" source "package/pwgen/Config.in.host" + source "package/python-lxml/Config.in.host" + source "package/python-six/Config.in.host" source "package/qemu/Config.in.host" source "package/raspberrypi-usbboot/Config.in.host" + source "package/rauc/Config.in.host" + source "package/s6-rc/Config.in.host" source "package/sam-ba/Config.in.host" source "package/squashfs/Config.in.host" source "package/sunxi-tools/Config.in.host" diff --git a/package/Makefile.in b/package/Makefile.in index 4a3eb26963..a1a5316051 100644 --- a/package/Makefile.in +++ b/package/Makefile.in @@ -107,7 +107,7 @@ ifeq ($(BR2_arc)$(BR2_ARC_ATOMIC_EXT),yy) TARGET_ABI += -matomic endif -STAGING_SUBDIR = usr/$(GNU_TARGET_NAME)/sysroot +STAGING_SUBDIR = $(GNU_TARGET_NAME)/sysroot STAGING_DIR = $(HOST_DIR)/$(STAGING_SUBDIR) ifeq ($(BR2_OPTIMIZE_0),y) @@ -182,9 +182,9 @@ TARGET_FCFLAGS += -fstack-protector-all endif ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y) -TARGET_CROSS = $(HOST_DIR)/usr/bin/$(GNU_TARGET_NAME)- +TARGET_CROSS = $(HOST_DIR)/bin/$(GNU_TARGET_NAME)- else -TARGET_CROSS = $(HOST_DIR)/usr/bin/$(TOOLCHAIN_EXTERNAL_PREFIX)- +TARGET_CROSS = $(HOST_DIR)/bin/$(TOOLCHAIN_EXTERNAL_PREFIX)- endif # Define TARGET_xx variables for all common binutils/gcc @@ -205,9 +205,8 @@ ifeq ($(BR2_STRIP_strip),y) STRIP_STRIP_DEBUG := --strip-debug TARGET_STRIP = $(TARGET_CROSS)strip STRIPCMD = $(TARGET_CROSS)strip --remove-section=.comment --remove-section=.note -endif -ifeq ($(BR2_STRIP_none),y) -TARGET_STRIP = true +else +TARGET_STRIP = /bin/true STRIPCMD = $(TARGET_STRIP) endif INSTALL := $(shell which install || type -p install) @@ -215,24 +214,45 @@ FLEX := $(shell which flex || type -p flex) BISON := $(shell which bison || type -p bison) UNZIP := $(shell which unzip || type -p unzip) -q -APPLY_PATCHES = PATH=$(HOST_DIR)/usr/bin:$$PATH support/scripts/apply-patches.sh $(if $(QUIET),-s) +APPLY_PATCHES = PATH=$(HOST_DIR)/bin:$$PATH support/scripts/apply-patches.sh $(if $(QUIET),-s) -HOST_CPPFLAGS = -I$(HOST_DIR)/usr/include +HOST_CPPFLAGS = -I$(HOST_DIR)/include HOST_CFLAGS ?= -O2 HOST_CFLAGS += $(HOST_CPPFLAGS) HOST_CXXFLAGS += $(HOST_CFLAGS) -HOST_LDFLAGS += -L$(HOST_DIR)/lib -L$(HOST_DIR)/usr/lib -Wl,-rpath,$(HOST_DIR)/usr/lib +HOST_LDFLAGS += -L$(HOST_DIR)/lib -Wl,-rpath,$(HOST_DIR)/lib + +# The macros below are taken from linux 4.11 and adapted slightly. +# Copy more when needed. + +# try-run +# Usage: option = $(call try-run, $(CC)...-o "$$TMP",option-ok,otherwise) +# Exit code chooses option. "$$TMP" is can be used as temporary file and +# is automatically cleaned up. +try-run = $(shell set -e; \ + TMP="$$(tempfile)"; \ + if ($(1)) >/dev/null 2>&1; \ + then echo "$(2)"; \ + else echo "$(3)"; \ + fi; \ + rm -f "$$TMP") + +# host-cc-option +# Usage: HOST_FOO_CFLAGS += $(call host-cc-option,-no-pie,) +host-cc-option = $(call try-run,\ + $(HOSTCC) $(HOST_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",$(1),$(2)) + # host-intltool should be executed with the system perl, so we save # the path to the system perl, before a host-perl built by Buildroot -# might get installed into $(HOST_DIR)/usr/bin and therefore appears +# might get installed into $(HOST_DIR)/bin and therefore appears # in our PATH. This system perl will be used as INTLTOOL_PERL. export PERL=$(shell which perl) # host-intltool needs libxml-parser-perl, which Buildroot installs in -# $(HOST_DIR)/usr/lib/perl, so we must make sure that the system perl +# $(HOST_DIR)/lib/perl, so we must make sure that the system perl # finds this perl module by exporting the proper value for PERL5LIB. -export PERL5LIB=$(HOST_DIR)/usr/lib/perl +export PERL5LIB=$(HOST_DIR)/lib/perl TARGET_MAKE_ENV = PATH=$(BR_PATH) @@ -283,7 +303,7 @@ HOST_MAKE_ENV = \ PKG_CONFIG_SYSROOT_DIR="/" \ PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \ PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \ - PKG_CONFIG_LIBDIR="$(HOST_DIR)/usr/lib/pkgconfig:$(HOST_DIR)/usr/share/pkgconfig" + PKG_CONFIG_LIBDIR="$(HOST_DIR)/lib/pkgconfig:$(HOST_DIR)/share/pkgconfig" HOST_CONFIGURE_OPTS = \ $(HOST_MAKE_ENV) \ @@ -310,7 +330,8 @@ HOST_CONFIGURE_OPTS = \ EXTRA_ENV = \ PATH=$(BR_PATH) \ BR2_DL_DIR=$(BR2_DL_DIR) \ - BUILD_DIR=$(BUILD_DIR) + BUILD_DIR=$(BUILD_DIR) \ + O=$(CANONICAL_O) ################################################################################ # settings we need to pass to configure @@ -339,7 +360,12 @@ endif # AM_GNU_GETTEXT misdetects musl gettext support. # musl currently implements api level 1 and 2 (basic + ngettext) # http://www.openwall.com/lists/musl/2015/04/16/3 -ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) +# +# These autoconf variables should only be pre-seeded when the minimal +# gettext implementation of musl is used. When the full blown +# implementation provided by gettext libintl is used, auto-detection +# works fine, and pre-seeding those values is actually wrong. +ifeq ($(BR2_TOOLCHAIN_USES_MUSL):$(BR2_PACKAGE_GETTEXT_PROVIDES_LIBINTL),y:) BR2_GT_CV_FUNC_GNUGETTEXT_LIBC = \ gt_cv_func_gnugettext1_libc=yes \ gt_cv_func_gnugettext2_libc=yes @@ -360,10 +386,15 @@ TARGET_CONFIGURE_ARGS = \ ################################################################################ -ifeq ($(BR2_ENABLE_LOCALE),y) -DISABLE_NLS := +ifeq ($(BR2_SYSTEM_ENABLE_NLS),y) +NLS_OPTS = --enable-nls +TARGET_NLS_DEPENDENCIES = host-gettext +ifeq ($(BR2_PACKAGE_GETTEXT_PROVIDES_LIBINTL),y) +TARGET_NLS_DEPENDENCIES += gettext +TARGET_NLS_LIBS += -lintl +endif else -DISABLE_NLS :=--disable-nls +NLS_OPTS = --disable-nls endif ifneq ($(BR2_INSTALL_LIBSTDCPP),y) diff --git a/package/a10disp/Config.in b/package/a10disp/Config.in index 18e2d8fcf0..99ae0aad6f 100644 --- a/package/a10disp/Config.in +++ b/package/a10disp/Config.in @@ -3,8 +3,8 @@ config BR2_PACKAGE_A10DISP depends on BR2_arm depends on BR2_LINUX_KERNEL help - Program to change the display mode of Allwinner ARM SOCs running - the linux-sunxi kernel (and not the mainline kernel.) + Program to change the display mode of Allwinner ARM SOCs + running the linux-sunxi kernel (and not the mainline kernel.) http://github.com/hglm/a10disp diff --git a/package/acl/acl.mk b/package/acl/acl.mk index cbe5e93961..4d30059390 100644 --- a/package/acl/acl.mk +++ b/package/acl/acl.mk @@ -10,12 +10,18 @@ ACL_SITE = http://download.savannah.gnu.org/releases/acl ACL_INSTALL_STAGING = YES ACL_DEPENDENCIES = attr ACL_CONF_OPTS = --enable-gettext=no -ACL_LICENSE = GPLv2+ (programs), LGPLv2.1+ (libraries) +ACL_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (libraries) ACL_LICENSE_FILES = doc/COPYING doc/COPYING.LGPL # While the configuration system uses autoconf, the Makefiles are # hand-written and do not use automake. Therefore, we have to hack -# around their deficiencies by passing installation paths. +# around their deficiencies by: +# - explicitly passing CFLAGS (LDFLAGS are passed on from configure, +# CFLAGS are not). +# - explicitly passing the installation prefix, not using DESTDIR. + +ACL_MAKE_ENV = CFLAGS="$(TARGET_CFLAGS)" + ACL_INSTALL_STAGING_OPTS = \ prefix=$(STAGING_DIR)/usr \ exec_prefix=$(STAGING_DIR)/usr \ @@ -37,4 +43,15 @@ endef ACL_POST_INSTALL_STAGING_HOOKS += ACL_FIX_LIBTOOL_LA_LIBDIR +HOST_ACL_DEPENDENCIES = host-attr +HOST_ACL_CONF_OPTS = --enable-gettext=no +HOST_ACL_MAKE_ENV = CFLAGS="$(HOST_CFLAGS)" +HOST_ACL_INSTALL_OPTS = \ + prefix=$(HOST_DIR) \ + exec_prefix=$(HOST_DIR) \ + PKG_DEVLIB_DIR=$(HOST_DIR)/lib \ + install-dev install-lib +# For the host, libacl.la is correct, no fixup needed. + $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/acpica/0001-build-do-not-use-Werror.patch b/package/acpica/0001-build-do-not-use-Werror.patch index 4ccb4d4d34..e7449e982b 100644 --- a/package/acpica/0001-build-do-not-use-Werror.patch +++ b/package/acpica/0001-build-do-not-use-Werror.patch @@ -9,17 +9,20 @@ newer versions that introduce new warnings. Remove use of -Werror. +[Vincent: tweak patch for 20170531 release] + Signed-off-by: "Yann E. MORIN" +Signed-off-by: "Vicente Olivert Riera" --- generate/unix/Makefile.config | 1 - generate/unix/iasl/Makefile | 12 ++++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/generate/unix/Makefile.config b/generate/unix/Makefile.config -index da0f61d..1476e27 100644 +index 4d4f182..a7120e3 100644 --- a/generate/unix/Makefile.config +++ b/generate/unix/Makefile.config -@@ -185,7 +185,6 @@ CWARNINGFLAGS = \ +@@ -194,7 +194,6 @@ CWARNINGFLAGS = \ -Wall\ -Wbad-function-cast\ -Wdeclaration-after-statement\ @@ -28,35 +31,37 @@ index da0f61d..1476e27 100644 -Wmissing-declarations\ -Wmissing-prototypes\ diff --git a/generate/unix/iasl/Makefile b/generate/unix/iasl/Makefile -index a3759cc..c2dc8f0 100644 +index 156c23a..28ffc06 100644 --- a/generate/unix/iasl/Makefile +++ b/generate/unix/iasl/Makefile -@@ -320,19 +320,19 @@ $(OBJDIR)/prparserparse.c $(OBJDIR)/prparser.y.h : $(ASL_COMPILER)/prparse - # by the utilities above and they are not necessarily ANSI C, etc. +@@ -335,24 +335,24 @@ $(OBJDIR)/prparserparse.c $(OBJDIR)/prparser.y.h : $(ASL_COMPILER)/prparse # $(OBJDIR)/aslcompilerlex.o : $(OBJDIR)/aslcompilerlex.c -- $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $< -+ $(CC) -c $(CFLAGS) -Wall -o$@ $< + @echo "- " "Intermediate" $< +- @$(CC) -c $(CFLAGS) -Wall -Werror -o$@ $< ++ @$(CC) -c $(CFLAGS) -Wall -o$@ $< $(OBJDIR)/aslcompilerparse.o : $(OBJDIR)/aslcompilerparse.c -- $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $< -+ $(CC) -c $(CFLAGS) -Wall -o$@ $< + @echo "- " "Intermediate" $< +- @$(CC) -c $(CFLAGS) -Wall -Werror -o$@ $< ++ @$(CC) -c $(CFLAGS) -Wall -o$@ $< $(OBJDIR)/dtparserlex.o : $(OBJDIR)/dtparserlex.c -- $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $< -+ $(CC) -c $(CFLAGS) -Wall -o$@ $< + @echo "- " "Intermediate" $< +- @$(CC) -c $(CFLAGS) -Wall -Werror -o$@ $< ++ @$(CC) -c $(CFLAGS) -Wall -o$@ $< $(OBJDIR)/dtparserparse.o : $(OBJDIR)/dtparserparse.c -- $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $< -+ $(CC) -c $(CFLAGS) -Wall -o$@ $< + @echo "- " "Intermediate" $< +- @$(CC) -c $(CFLAGS) -Wall -Werror -o$@ $< ++ @$(CC) -c $(CFLAGS) -Wall -o$@ $< $(OBJDIR)/prparserlex.o : $(OBJDIR)/prparserlex.c -- $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $< -+ $(CC) -c $(CFLAGS) -Wall -o$@ $< + @echo "- " "Intermediate" $< +- @$(CC) -c $(CFLAGS) -Wall -Werror -o$@ $< ++ @$(CC) -c $(CFLAGS) -Wall -o$@ $< $(OBJDIR)/prparserparse.o : $(OBJDIR)/prparserparse.c -- $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $< -+ $(CC) -c $(CFLAGS) -Wall -o$@ $< --- -2.7.4 - + @echo "- " "Intermediate" $< +- @$(CC) -c $(CFLAGS) -Wall -Werror -o$@ $< ++ @$(CC) -c $(CFLAGS) -Wall -o$@ $< diff --git a/package/acpica/acpica.hash b/package/acpica/acpica.hash index 8f1c08a677..4942fe4548 100644 --- a/package/acpica/acpica.hash +++ b/package/acpica/acpica.hash @@ -1,3 +1,2 @@ # locally computed hash -sha256 dfb33db5599bd48134dbd6e50c8804099be0cf1c35d98975a6cb84dabca78b67 acpica-unix2-20161117.tar.gz - +sha256 0b979b778bcf711a2b8702b1831affd7dac4a776235d7877fd185651b6a390a3 acpica-unix2-20170531.tar.gz diff --git a/package/acpica/acpica.mk b/package/acpica/acpica.mk index f76c948c3d..57cc37f85e 100644 --- a/package/acpica/acpica.mk +++ b/package/acpica/acpica.mk @@ -4,10 +4,10 @@ # ################################################################################ -ACPICA_VERSION = 20161117 +ACPICA_VERSION = 20170531 ACPICA_SOURCE = acpica-unix2-$(ACPICA_VERSION).tar.gz ACPICA_SITE = https://acpica.org/sites/acpica/files -ACPICA_LICENSE = BSD-3c or GPLv2 +ACPICA_LICENSE = BSD-3-Clause or GPL-2.0 ACPICA_LICENSE_FILES = source/include/acpi.h ACPICA_DEPENDENCIES = host-bison host-flex @@ -17,10 +17,22 @@ define ACPICA_BUILD_CMDS all endef +define HOST_ACPICA_BUILD_CMDS + $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ + all +endef + define ACPICA_INSTALL_TARGET_CMDS $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ HARDWARE_NAME=$(BR2_ARCH) DESTDIR="$(TARGET_DIR)" \ INSTALLFLAGS=-m755 install endef +define HOST_ACPICA_INSTALL_CMDS + $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ + PREFIX="$(HOST_DIR)" \ + INSTALLFLAGS=-m755 install +endef + $(eval $(generic-package)) +$(eval $(host-generic-package)) diff --git a/package/acpid/Config.in b/package/acpid/Config.in index 5aec7f13c8..2bd83ea8b9 100644 --- a/package/acpid/Config.in +++ b/package/acpid/Config.in @@ -4,7 +4,8 @@ config BR2_PACKAGE_ACPID help Advanced Configuration and Power Interface event daemon. - Acpid is designed to notify user-space programs of ACPI events, - and allows you to configure specific actions for specific events. + Acpid is designed to notify user-space programs of ACPI + events, and allows you to configure specific actions for + specific events. http://sourceforge.net/projects/acpid2/ diff --git a/package/acpid/acpid.mk b/package/acpid/acpid.mk index f561b9083d..2141a1a9e0 100644 --- a/package/acpid/acpid.mk +++ b/package/acpid/acpid.mk @@ -7,7 +7,7 @@ ACPID_VERSION = 2.0.28 ACPID_SOURCE = acpid-$(ACPID_VERSION).tar.xz ACPID_SITE = http://downloads.sourceforge.net/project/acpid2 -ACPID_LICENSE = GPLv2+ +ACPID_LICENSE = GPL-2.0+ ACPID_LICENSE_FILES = COPYING define ACPID_INSTALL_INIT_SYSV diff --git a/package/acpitool/acpitool.mk b/package/acpitool/acpitool.mk index f663fbb9e7..547da3756c 100644 --- a/package/acpitool/acpitool.mk +++ b/package/acpitool/acpitool.mk @@ -7,7 +7,7 @@ ACPITOOL_VERSION = 0.5.1 ACPITOOL_SOURCE = acpitool-$(ACPITOOL_VERSION).tar.bz2 ACPITOOL_SITE = http://downloads.sourceforge.net/sourceforge/acpitool -ACPITOOL_LICENSE = GPLv2+ +ACPITOOL_LICENSE = GPL-2.0+ ACPITOOL_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/acsccid/acsccid.hash b/package/acsccid/acsccid.hash index 1bfe9e4b59..24d2fa735f 100644 --- a/package/acsccid/acsccid.hash +++ b/package/acsccid/acsccid.hash @@ -1,3 +1,3 @@ -# From https://sourceforge.net/projects/acsccid/files/acsccid/1.1.1/ -sha1 ae340256bbba36032a903c9f89883297a31ca340 acsccid-1.1.1.tar.bz2 -md5 26dc34141188e64fa2b3545032060357 acsccid-1.1.1.tar.bz2 +# From https://sourceforge.net/projects/acsccid/files/acsccid/1.1.4/ +sha1 8c0b42ff79032289731916d18a2698b258dfd6a2 acsccid-1.1.4.tar.bz2 +md5 ac77b3aeae0a11723c96c7f98769490e acsccid-1.1.4.tar.bz2 diff --git a/package/acsccid/acsccid.mk b/package/acsccid/acsccid.mk index c2e7d2157e..06a04185e2 100644 --- a/package/acsccid/acsccid.mk +++ b/package/acsccid/acsccid.mk @@ -4,10 +4,10 @@ # ################################################################################ -ACSCCID_VERSION = 1.1.1 +ACSCCID_VERSION = 1.1.4 ACSCCID_SOURCE = acsccid-$(ACSCCID_VERSION).tar.bz2 ACSCCID_SITE = http://downloads.sourceforge.net/acsccid -ACSCCID_LICENSE = LGPLv2.1+ +ACSCCID_LICENSE = LGPL-2.1+ ACSCCID_LICENSE_FILES = COPYING ACSCCID_INSTALL_STAGING = YES ACSCCID_DEPENDENCIES = pcsc-lite host-flex host-pkgconf libusb diff --git a/package/adwaita-icon-theme/adwaita-icon-theme.mk b/package/adwaita-icon-theme/adwaita-icon-theme.mk index fdf66c8e94..8c9dec14f5 100644 --- a/package/adwaita-icon-theme/adwaita-icon-theme.mk +++ b/package/adwaita-icon-theme/adwaita-icon-theme.mk @@ -9,7 +9,7 @@ ADWAITA_ICON_THEME_VERSION = $(ADWAITA_ICON_THEME_VERSION_MAJOR).0 ADWAITA_ICON_THEME_SITE = http://ftp.gnome.org/pub/gnome/sources/adwaita-icon-theme/$(ADWAITA_ICON_THEME_VERSION_MAJOR) ADWAITA_ICON_THEME_SOURCE = adwaita-icon-theme-$(ADWAITA_ICON_THEME_VERSION).tar.xz ADWAITA_ICON_THEME_INSTALL_STAGING = YES -ADWAITA_ICON_THEME_LICENSE = LGPLv3 or CC-BY-SA-3.0 +ADWAITA_ICON_THEME_LICENSE = LGPL-3.0 or CC-BY-SA-3.0 ADWAITA_ICON_THEME_LICENSE_FILES = COPYING COPYING_LGPL COPYING_CCBYSA3 ADWAITA_ICON_THEME_DEPENDENCIES = host-intltool host-libgtk3 diff --git a/package/aer-inject/aer-inject.hash b/package/aer-inject/aer-inject.hash new file mode 100644 index 0000000000..6329de6df7 --- /dev/null +++ b/package/aer-inject/aer-inject.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 49a44b7a9e3983dc15fdc5bacd0e095df650296024f43f9d6c080ad54de0b07f aer-inject-9bd5e2c7886fca72f139cd8402488a2235957d41.tar.gz diff --git a/package/aer-inject/aer-inject.mk b/package/aer-inject/aer-inject.mk index 69189b1668..72495bbea2 100644 --- a/package/aer-inject/aer-inject.mk +++ b/package/aer-inject/aer-inject.mk @@ -6,8 +6,7 @@ AER_INJECT_VERSION = 9bd5e2c7886fca72f139cd8402488a2235957d41 AER_INJECT_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/gong.chen/aer-inject.git -AER_INJECT_SITE_METHOD = git -AER_INJECT_LICENSE = GPLv2 +AER_INJECT_LICENSE = GPL-2.0 AER_INJECT_LICENSE_FILES = README AER_INJECT_DEPENDENCIES = host-flex host-bison diff --git a/package/aespipe/Config.in b/package/aespipe/Config.in index df99523be2..2c2ff5cd8c 100644 --- a/package/aespipe/Config.in +++ b/package/aespipe/Config.in @@ -2,9 +2,10 @@ config BR2_PACKAGE_AESPIPE bool "aespipe" depends on BR2_USE_MMU # fork() help - aespipe program is AES encrypting or decrypting pipe. It reads from - standard input and writes to standard output. It can be used to - create and restore encrypted tar or cpio archives. It can be used to - encrypt and decrypt loop-AES compatible encrypted disk images. + aespipe program is AES encrypting or decrypting pipe. It reads + from standard input and writes to standard output. It can be + used to create and restore encrypted tar or cpio archives. + It can be used to encrypt and decrypt loop-AES compatible + encrypted disk images. http://koti.tnnet.fi/jari.ruusu/linux/ diff --git a/package/aespipe/aespipe.mk b/package/aespipe/aespipe.mk index 6a38556ef1..5ef95d5206 100644 --- a/package/aespipe/aespipe.mk +++ b/package/aespipe/aespipe.mk @@ -9,5 +9,15 @@ AESPIPE_SOURCE = aespipe-v$(AESPIPE_VERSION).tar.bz2 AESPIPE_SITE = http://loop-aes.sourceforge.net/aespipe AESPIPE_LICENSE = GPL +# Recent Debian, Gentoo and Ubuntu enable -fPIE by default, breaking the build: +# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=837393 +# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=835148 +# Older gcc versions however don't support the -no-pie flag, so we have to +# check its availability. +HOST_AESPIPE_NO_PIE_FLAG = $(call host-cc-option,-no-pie) +HOST_AESPIPE_CONF_ENV = \ + CFLAGS="$(HOST_CFLAGS) $(HOST_AESPIPE_NO_PIE_FLAG)" \ + LDFLAGS="$(HOST_LDFLAGS) $(HOST_AESPIPE_NO_PIE_FLAG)" + $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/agentpp/Config.in b/package/agentpp/Config.in index 4b70a1a738..8c6b11d644 100644 --- a/package/agentpp/Config.in +++ b/package/agentpp/Config.in @@ -1,17 +1,18 @@ config BR2_PACKAGE_AGENTPP bool "agent++" - select BR2_PACKAGE_SNMPPP depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS # snmp++ depends on !BR2_STATIC_LIBS # snmp++ + select BR2_PACKAGE_SNMPPP help - AGENT++ is a set of C++ classes which provides a complete protocol - engine and dispatch table for the development of SNMP agents. - AGENT++ is a multilingual API which supports SNMPv1, SNMPv2c, and - SNMPv3. It provides various C++ classes implementing prototypes for - scalar and table SNMP managed objects that can be customized by - derivation. Additional classes support the development of proxy - agents as well as sending notifications. + AGENT++ is a set of C++ classes which provides a complete + protocol engine and dispatch table for the development of + SNMP agents. AGENT++ is a multilingual API which supports + SNMPv1, SNMPv2c, and SNMPv3. It provides various C++ classes + implementing prototypes for scalar and table SNMP managed + objects that can be customized by derivation. Additional + classes support the development of proxy agents as well as + sending notifications. SNMPv3 support is enabled if SNMP++ enables it. diff --git a/package/aiccu/0001-gnutls.patch b/package/aiccu/0001-gnutls.patch deleted file mode 100644 index 462179ee6b..0000000000 --- a/package/aiccu/0001-gnutls.patch +++ /dev/null @@ -1,73 +0,0 @@ -aiccu.h, common.c, common.h: fixes for deprecated GNUTLS functions and types - -Signed-off-by: Michael Rommel - -diff -purN aiccu_20070115.orig/common/aiccu.h aiccu_20070115/common/aiccu.h ---- aiccu_20070115.orig/common/aiccu.h 2007-01-15 13:01:43.000000000 +0100 -+++ aiccu_20070115/common/aiccu.h 2013-08-31 23:50:53.651936146 +0200 -@@ -111,7 +111,7 @@ struct AICCU_conf - #endif - - #ifdef AICCU_GNUTLS -- gnutls_certificate_credentials tls_cred; /* GNUTLS credentials */ -+ gnutls_certificate_credentials_t tls_cred; /* GNUTLS credentials */ - #endif - - bool daemonize; /* Daemonize? */ -diff -purN aiccu_20070115.orig/common/common.c aiccu_20070115/common/common.c ---- aiccu_20070115.orig/common/common.c 2006-12-21 15:08:50.000000000 +0100 -+++ aiccu_20070115/common/common.c 2013-09-01 01:21:36.031396740 +0200 -@@ -271,9 +271,8 @@ TLSSOCKET sock_alloc(void); - TLSSOCKET sock_alloc(void) - { - #ifdef AICCU_GNUTLS -- /* Allow connections to servers that have OpenPGP keys as well */ -- const int cert_type_priority[3] = { GNUTLS_CRT_X509, GNUTLS_CRT_OPENPGP, 0 }; - int ret; -+ const char *err; - #endif /* AICCU_GNUTLS*/ - - TLSSOCKET sock; -@@ -297,11 +296,16 @@ TLSSOCKET sock_alloc(void) - } - - /* Use default priorities */ -- gnutls_set_default_priority(sock->session); -- /* XXX: Return value is not documented in GNUTLS documentation! */ -- -- gnutls_certificate_type_set_priority(sock->session, cert_type_priority); -- /* XXX: Return value is not documented in GNUTLS documentation! */ -+ ret = gnutls_priority_set_direct(sock->session, "NORMAL", &err); -+ if (ret < 0) -+ { -+ if (ret == GNUTLS_E_INVALID_REQUEST) -+ { -+ dolog( LOG_ERR, "TLS set priority failed, syntax error at: %s\n", err); -+ } -+ free(sock); -+ return NULL; -+ } - - /* Configure the x509 credentials for the current session */ - gnutls_credentials_set(sock->session, GNUTLS_CRD_CERTIFICATE, g_aiccu->tls_cred); -@@ -474,7 +478,7 @@ bool sock_gotls(TLSSOCKET sock) - } - - /* Set the transport */ -- gnutls_transport_set_ptr(sock->session, (gnutls_transport_ptr)sock->socket); -+ gnutls_transport_set_ptr(sock->session, (gnutls_transport_ptr_t) sock->socket); - - /* Perform the TLS handshake */ - ret = gnutls_handshake(sock->session); -diff -purN aiccu_20070115.orig/common/common.h aiccu_20070115/common/common.h ---- aiccu_20070115.orig/common/common.h 2007-01-11 15:50:51.000000000 +0100 -+++ aiccu_20070115/common/common.h 2013-08-31 23:26:13.683659455 +0200 -@@ -381,7 +381,7 @@ struct tlssocket - SOCKET socket; - #ifdef AICCU_GNUTLS - bool tls_active; /* TLS active? */ -- gnutls_session session; /* The GnuTLS sesision */ -+ gnutls_session_t session; /* The GnuTLS sesision */ - #endif - }; - diff --git a/package/aiccu/0002-makefile-reorder-linked-libraries.patch b/package/aiccu/0002-makefile-reorder-linked-libraries.patch deleted file mode 100644 index 22f04a91a4..0000000000 --- a/package/aiccu/0002-makefile-reorder-linked-libraries.patch +++ /dev/null @@ -1,15 +0,0 @@ -Makefile: change LDFLAGS order on the compile line for --static - -Signed-off-by: Michael Rommel - ---- aiccu_20070115.orig/unix-console/Makefile 2007-01-15 12:04:27.000000000 +0100 -+++ aiccu_20070115/unix-console/Makefile 2013-09-29 22:54:42.742963861 +0200 -@@ -144,7 +144,7 @@ endif - all: aiccu - - aiccu: $(OBJS) ${SRCS} ${INCS} -- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS) -+ $(CC) $(CFLAGS) -o $@ $(OBJS) $(LDFLAGS) - ifeq ($(shell echo $(CFLAGS) | grep -c "DEBUG"),0) - ifeq ($(shell echo "$(RPM_OPT_FLAGS)" | wc -c),1) - strip $@ diff --git a/package/aiccu/0003-clock-suite-functions-fix.patch b/package/aiccu/0003-clock-suite-functions-fix.patch deleted file mode 100644 index 365e72a227..0000000000 --- a/package/aiccu/0003-clock-suite-functions-fix.patch +++ /dev/null @@ -1,18 +0,0 @@ -aiccu: fix undefined reference to clock_* functions - -Since glibc 2.17 the clock_* suite functions are available directly in -the main C library. For previous versions we still need -lrt to link. - -Signed-off-by: Vicente Olivert Riera - ---- aiccu/unix-console/Makefile.orig 2014-01-14 10:17:20.204602513 +0000 -+++ aiccu/unix-console/Makefile 2014-01-14 10:17:31.435777359 +0000 -@@ -42,7 +42,7 @@ CFLAGS += -D AICCU_CONSOLE - # Currently defaultly builds only on Linux, but other platforms might easily also support it - ifeq ($(shell uname | grep -c "Linux"),1) - CFLAGS += -D AICCU_GNUTLS --LDFLAGS += -lgnutls -+LDFLAGS += -lgnutls -lrt - endif - - # Linux diff --git a/package/aiccu/0004-if-ether-header.patch b/package/aiccu/0004-if-ether-header.patch deleted file mode 100644 index 48e8ceb6b1..0000000000 --- a/package/aiccu/0004-if-ether-header.patch +++ /dev/null @@ -1,23 +0,0 @@ -musl does not allow using together with headers. -Since there are both netinet/if_ether.h and linux/if_ether.h providing -the same definitions, use linux/if_ether.h whenever other linux/* -headers are included. - -Signed-off-by: Alex Suykov - ---- aiccu/common/common.h -+++ aiccu/common/common.h -@@ -91,11 +91,12 @@ - #include - - #include -- #include - #ifdef linux - #include -+ #include - #include - #else -+ #include - #ifdef _DFBSD - #include - #else diff --git a/package/aiccu/0005-res-ninit.patch b/package/aiccu/0005-res-ninit.patch deleted file mode 100644 index faf38df08d..0000000000 --- a/package/aiccu/0005-res-ninit.patch +++ /dev/null @@ -1,33 +0,0 @@ -res_ninit is available in glibc but not in uclibc or musl. - -Signed-off-by: Alex Suykov - ---- aiccu/common/resolver.c -+++ aiccu/common/resolver.c -@@ -26,7 +26,7 @@ - - int getrrs(const char *label, int rrtype, void gotrec(unsigned int num, int type, const char *record)) - { --#ifdef _LINUX -+#if defined(__GLIBC__) && !defined(__UCLIBC__) - struct __res_state res; - #endif - unsigned char answer[8192]; -@@ -38,7 +38,7 @@ int getrrs(const char *label, int rrtype - uint16_t type = 0, class = 0; - uint32_t ttl = 0; - --#ifdef _LINUX -+#if defined(__GLIBC__) && !defined(__UCLIBC__) - memset(&res, 0, sizeof(res)); - res.options = RES_DEBUG; - res_ninit(&res); -@@ -47,7 +47,7 @@ int getrrs(const char *label, int rrtype - #endif - - memset(answer, 0, sizeof(answer)); --#ifdef _LINUX -+#if defined(__GLIBC__) && !defined(__UCLIBC__) - ret = res_nquery(&res, label, C_IN, rrtype, answer, sizeof(answer)); - #else - ret = res_query(label, C_IN, rrtype, answer, sizeof(answer)); diff --git a/package/aiccu/Config.in b/package/aiccu/Config.in deleted file mode 100644 index b346328dcc..0000000000 --- a/package/aiccu/Config.in +++ /dev/null @@ -1,23 +0,0 @@ -config BR2_PACKAGE_AICCU - bool "aiccu" - depends on BR2_USE_WCHAR - depends on BR2_TOOLCHAIN_HAS_THREADS - depends on BR2_USE_MMU # fork() - select BR2_PACKAGE_GNUTLS - help - SixXS Automatic IPv6 Connectivity Client Utility - - AICCU (Automatic IPv6 Connectivity Client Utility) makes it - easy for users to get IPv6 connectivity. After having - requested an account, tunnel and optionally a subnet, AICCU - can be used to automatically configure the tunnel. AICCU - supports TIC (Tunnel Information & Control protocol), which it - uses for retrieving the tunnel configuration information, - AYIYA, which allows tunnels to be created even behind - firewalls and NAT's. - - http://www.sixxs.net/tools/aiccu/ - -comment "aiccu needs a toolchain w/ wchar, threads" - depends on BR2_USE_MMU - depends on !(BR2_USE_WCHAR && BR2_TOOLCHAIN_HAS_THREADS) diff --git a/package/aiccu/aiccu.hash b/package/aiccu/aiccu.hash deleted file mode 100644 index 26c4081fe4..0000000000 --- a/package/aiccu/aiccu.hash +++ /dev/null @@ -1,2 +0,0 @@ -# From https://www.sixxs.net/archive/sixxs/aiccu/unix/ -md5 c9bcc83644ed788e22a7c3f3d4021350 aiccu_20070115.tar.gz diff --git a/package/aiccu/aiccu.mk b/package/aiccu/aiccu.mk deleted file mode 100644 index 60d65dd014..0000000000 --- a/package/aiccu/aiccu.mk +++ /dev/null @@ -1,40 +0,0 @@ -################################################################################ -# -# aiccu -# -################################################################################ - -AICCU_VERSION = 20070115 -AICCU_SOURCE = aiccu_$(AICCU_VERSION).tar.gz -AICCU_SITE = http://www.sixxs.net/archive/sixxs/aiccu/unix -AICCU_LICENSE = SixXS License, concise redistribution license -AICCU_LICENSE_FILES = doc/LICENSE -AICCU_DEPENDENCIES = gnutls - -AICCU_LFDLAGS = $(TARGET_LDFLAGS) - -# aiccu forgets to link with gnutls' dependencies breaking the build when -# linking statically -ifeq ($(BR2_STATIC_LIBS),y) -AICCU_LDFLAGS += `$(PKG_CONFIG_HOST_BINARY) --libs gnutls` -endif - -# dummy RPM_OPT_FLAGS to disable stripping -define AICCU_BUILD_CMDS - $(TARGET_CONFIGURE_OPTS) LDFLAGS="$(AICCU_LDFLAGS)" $(MAKE) \ - CC="$(TARGET_CC)" RPM_OPT_FLAGS=1 -C $(@D)/unix-console all -endef - -define AICCU_INSTALL_TARGET_CMDS - $(INSTALL) -D -m 0755 $(@D)/unix-console/aiccu \ - $(TARGET_DIR)/usr/sbin/aiccu - $(INSTALL) -D -m 0644 $(@D)/doc/aiccu.conf \ - $(TARGET_DIR)/etc/aiccu.conf -endef - -define AICCU_INSTALL_INIT_SYSV - $(INSTALL) -D -m 0755 $(@D)/doc/aiccu.init \ - $(TARGET_DIR)/etc/init.d/S50aiccu -endef - -$(eval $(generic-package)) diff --git a/package/aircrack-ng/0001-Makefile-use-pkg-config-to-find-libpcre-it-s-more-cros.patch b/package/aircrack-ng/0001-Makefile-use-pkg-config-to-find-libpcre-it-s-more-cros.patch deleted file mode 100644 index 733e0c06d2..0000000000 --- a/package/aircrack-ng/0001-Makefile-use-pkg-config-to-find-libpcre-it-s-more-cros.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 98149c7664e99cc8ce9c9b1abf2fa90d9cd68e0d Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Wed, 5 Nov 2014 09:38:12 -0300 -Subject: [PATCH] Makefile: use pkg-config to find libpcre, it's more - cross-compile friendly - -Signed-off-by: Gustavo Zacarias ---- -Status: Upstream http://trac.aircrack-ng.org/ticket/1526 - -diff --git a/common.mak b/common.mak -index 6e5694b..d875708 100644 ---- a/common.mak -+++ b/common.mak -@@ -39,7 +39,7 @@ PCRE = true - endif - - ifeq ($(PCRE), true) --COMMON_CFLAGS += $(shell pcre-config --cflags) -DHAVE_PCRE -+COMMON_CFLAGS += $(shell $(PKG_CONFIG) --cflags libpcre) -DHAVE_PCRE - endif - - ifeq ($(OSNAME), cygwin) -diff --git a/src/Makefile b/src/Makefile -index f9217f9..14350b6 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -16,7 +16,7 @@ BINFILES = aircrack-ng$(EXE) airdecap-ng$(EXE) packetforge-ng$(EXE) \ - - LIBPCRE = - ifeq ($(PCRE), true) -- LIBPCRE = $(shell pcre-config --libs) -+ LIBPCRE = $(shell $(PKG_CONFIG) --libs libpcre) - endif - - ifneq ($(OSNAME), cygwin) #There is yet no libpcap support for windows, so we skip the crawler --- -2.0.4 - diff --git a/package/aircrack-ng/0001-stack-protector.patch b/package/aircrack-ng/0001-stack-protector.patch new file mode 100644 index 0000000000..5f2bd1b18f --- /dev/null +++ b/package/aircrack-ng/0001-stack-protector.patch @@ -0,0 +1,58 @@ +Added option to disable stack-protector support auto-detection in gcc. + +Downloaded from upstream commit: +http://trac.aircrack-ng.org/changeset/2889/ + +Signed-off-by: Bernd Kuhls + +Index: /trunk/INSTALLING +=================================================================== +--- trunk/INSTALLING (revision 2888) ++++ trunk/INSTALLING (revision 2889) +@@ -83,4 +83,6 @@ + * macport: Set this flag to true to compile on OS X with macports. + ++* stackprotector: Allows to enable/disable auto-detection of stack-protector support in gcc ++ + Example: + +Index: /trunk/common.mak +=================================================================== +--- trunk/common.mak (revision 2888) ++++ trunk/common.mak (revision 2889) +@@ -64,4 +64,13 @@ + ifeq ($(PCRE), true) + COMMON_CFLAGS += $(shell $(PKG_CONFIG) --cflags libpcre) -DHAVE_PCRE ++endif ++ ++STACK_PROTECTOR = true ++ifeq ($(stackprotector), false) ++ STACK_PROTECTOR = false ++endif ++ ++ifeq ($(STACKPROTECTOR), false) ++ STACK_PROTECTOR = false + endif + +@@ -235,12 +244,14 @@ + endif + +-ifeq ($(GCC_OVER49), 0) +- ifeq ($(GCC_OVER41), 1) +- COMMON_CFLAGS += -fstack-protector ++ifeq ($(STACK_PROTECTOR), true) ++ ifeq ($(GCC_OVER49), 0) ++ ifeq ($(GCC_OVER41), 1) ++ COMMON_CFLAGS += -fstack-protector ++ endif + endif +-endif +- +-ifeq ($(GCC_OVER49), 1) +- COMMON_CFLAGS += -fstack-protector-strong ++ ++ ifeq ($(GCC_OVER49), 1) ++ COMMON_CFLAGS += -fstack-protector-strong ++ endif + endif + diff --git a/package/aircrack-ng/0002-Optionally-use-LIBPCAP-for-required-libpcap-libraries.patch b/package/aircrack-ng/0002-Optionally-use-LIBPCAP-for-required-libpcap-libraries.patch deleted file mode 100644 index c92bb8df89..0000000000 --- a/package/aircrack-ng/0002-Optionally-use-LIBPCAP-for-required-libpcap-libraries.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 1abf7a6aad3d7931de2c01b578f62986b75de2f5 Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Tue, 11 Nov 2014 16:23:42 -0300 -Subject: [PATCH] Optionally use LIBPCAP for required libpcap libraries - -Signed-off-by: Gustavo Zacarias ---- -Status: Reported http://trac.aircrack-ng.org/ticket/1528 - -diff --git a/src/Makefile b/src/Makefile -index 14350b6..7bd4271 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -23,6 +23,7 @@ ifneq ($(OSNAME), cygwin) #There is yet no libpcap support for windows, so we sk - HAVE_PCAP = $(shell ld -lpcap 2> /dev/null && echo yes) - ifeq ($(HAVE_PCAP), yes) #cannot link with -lpcap, skip crawler - BINFILES += besside-ng-crawler$(EXE) -+ LIBPCAP = -lpcap - endif - endif - -@@ -168,7 +169,7 @@ besside-ng$(EXE): $(OBJS_BS) $(LIBOSD) - $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS_BS) -o $(@) $(LIBS) $(LIBSSL) -lz $(LIBPCRE) - - besside-ng-crawler$(EXE): $(OBJS_BC) -- $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS_BC) -o $(@) -lpcap -+ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS_BC) -o $(@) $(LIBPCAP) - - makeivs-ng$(EXE): $(OBJS_MI) - $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS_MI) -o $(@) $(LDFLAGS) --- -2.0.4 - diff --git a/package/aircrack-ng/0003-Wesside-ng-Use-termios-instead-of-sys-termios.patch b/package/aircrack-ng/0003-Wesside-ng-Use-termios-instead-of-sys-termios.patch deleted file mode 100644 index a10ee4543b..0000000000 --- a/package/aircrack-ng/0003-Wesside-ng-Use-termios-instead-of-sys-termios.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 42de9f800056601443ac12edbba7bd5802740db2 Mon Sep 17 00:00:00 2001 -From: Thomas d'Otreppe -Date: Wed, 8 Apr 2015 01:25:07 +0000 -Subject: [PATCH] Wesside-ng: Use termios instead of sys/termios. - -git-svn-id: http://svn.aircrack-ng.org/trunk@2533 28c6078b-6c39-48e3-add9-af49d547ecab -Signed-off-by: Romain Naour ---- - src/wesside-ng.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/wesside-ng.c b/src/wesside-ng.c -index 711d8b7..f44438a 100644 ---- a/src/wesside-ng.c -+++ b/src/wesside-ng.c -@@ -33,7 +33,7 @@ - - #include - #include --#include -+#include - #include - #include - #include --- -2.4.3 - diff --git a/package/aircrack-ng/Config.in b/package/aircrack-ng/Config.in index 00ce4e48b7..12fda1cbf2 100644 --- a/package/aircrack-ng/Config.in +++ b/package/aircrack-ng/Config.in @@ -1,20 +1,21 @@ config BR2_PACKAGE_AIRCRACK_NG bool "aircrack-ng" depends on BR2_USE_MMU # uses fork() + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_INSTALL_LIBSTDCPP # libnl has issues when linking statically # they need fixing in libnl itself select BR2_PACKAGE_LIBNL if !BR2_STATIC_LIBS select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_ZLIB - depends on BR2_TOOLCHAIN_HAS_THREADS help A set of tools for auditing wireless networks - For complete functionality, also select ethtool, iw, rfkill, - util-linux utilities, and wireless_tools. + For complete functionality, also select ethtool, iw, + util-linux (utilities and rfkill), and wireless_tools. http://www.aircrack-ng.org/ -comment "aircrack-ng needs a toolchain w/ threads" +comment "aircrack-ng needs a toolchain w/ threads, C++" depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP diff --git a/package/aircrack-ng/aircrack-ng.hash b/package/aircrack-ng/aircrack-ng.hash index 1ed27fc4ee..e210ad2e4a 100644 --- a/package/aircrack-ng/aircrack-ng.hash +++ b/package/aircrack-ng/aircrack-ng.hash @@ -1,3 +1,3 @@ # From http://www.aircrack-ng.org/downloads.html -sha1 b5ff7d0fffb72095311bbe8824ab98aaac62db8f aircrack-ng-1.2-rc1.tar.gz -md5 c2f8648c92f7e46051c86c618d4fb0d5 aircrack-ng-1.2-rc1.tar.gz +sha1 2b2fbe50fedb606b3bd96a34d49f07760e8e618a aircrack-ng-1.2-rc4.tar.gz +md5 3bbc7d5035a98ec01e78774d05c3fcce aircrack-ng-1.2-rc4.tar.gz diff --git a/package/aircrack-ng/aircrack-ng.mk b/package/aircrack-ng/aircrack-ng.mk index 7e5464d382..6b384c0720 100644 --- a/package/aircrack-ng/aircrack-ng.mk +++ b/package/aircrack-ng/aircrack-ng.mk @@ -4,9 +4,9 @@ # ################################################################################ -AIRCRACK_NG_VERSION = 1.2-rc1 +AIRCRACK_NG_VERSION = 1.2-rc4 AIRCRACK_NG_SITE = http://download.aircrack-ng.org -AIRCRACK_NG_LICENSE = GPLv2+ +AIRCRACK_NG_LICENSE = GPL-2.0+ AIRCRACK_NG_LICENSE_FILES = LICENSE AIRCRACK_NG_DEPENDENCIES = openssl zlib host-pkgconf # Enable buddy-ng, easside-ng, tkiptun-ng, wesside-ng @@ -24,6 +24,12 @@ AIRCRACK_NG_MAKE_OPTS += libnl=true AIRCRACK_NG_DEPENDENCIES += libnl endif +ifeq ($(BR2_TOOLCHAIN_HAS_SSP),y) +AIRCRACK_NG_MAKE_OPTS += STACK_PROTECTOR=true +else +AIRCRACK_NG_MAKE_OPTS += STACK_PROTECTOR=false +endif + ifeq ($(BR2_PACKAGE_LIBPCAP),y) AIRCRACK_NG_DEPENDENCIES += libpcap AIRCRACK_NG_MAKE_OPTS += HAVE_PCAP=yes \ @@ -47,6 +53,12 @@ else AIRCRACK_NG_MAKE_OPTS += sqlite=false endif +ifeq ($(BR2_X86_CPU_HAS_SSE),y) +AIRCRACK_NG_MAKE_OPTS += NEWSSE=true +else +AIRCRACK_NG_MAKE_OPTS += NEWSSE=false +endif + define AIRCRACK_NG_BUILD_CMDS $(TARGET_CONFIGURE_OPTS) LDFLAGS="$(AIRCRACK_NG_LDFLAGS)" \ $(MAKE) -C $(@D) $(AIRCRACK_NG_MAKE_OPTS) diff --git a/package/alsa-lib/0005-remove-powerpc64-workaround.patch b/package/alsa-lib/0005-remove-powerpc64-workaround.patch deleted file mode 100644 index 57a369e0e3..0000000000 --- a/package/alsa-lib/0005-remove-powerpc64-workaround.patch +++ /dev/null @@ -1,67 +0,0 @@ -Linking currently fails on powerpc64 and powerpc64le when configured -with --without-versioned, as follows: -../src/.libs/libasound.so: undefined reference to `.__snd_pcm_hw_params_set_format_first' -(And many similar messages.) - -This appears to be due to a very old (2003) workaround for powerpc64, -(introduced by commit 06221f86) in include/alsa-symbols.h which alters -symbol names. While it was probably necessary at the time, it does not -appear to be necessary now and removing it fixes the build. - -Signed-off-by: Sam Bobroff ---- - include/alsa-symbols.h | 25 ++++--------------------- - 1 file changed, 4 insertions(+), 21 deletions(-) - -diff --git a/include/alsa-symbols.h b/include/alsa-symbols.h -index 51cb982..0cb0b9f 100644 ---- a/include/alsa-symbols.h -+++ b/include/alsa-symbols.h -@@ -29,19 +29,10 @@ - #define INTERNAL_CONCAT2_2(Pre, Post) Pre##Post - #define INTERNAL(Name) INTERNAL_CONCAT2_2(__, Name) - --#ifdef __powerpc64__ --# define symbol_version(real, name, version) \ -- __asm__ (".symver " ASM_NAME(#real) "," ASM_NAME(#name) "@" #version); \ -- __asm__ (".symver ." ASM_NAME(#real) ",." ASM_NAME(#name) "@" #version) --# define default_symbol_version(real, name, version) \ -- __asm__ (".symver " ASM_NAME(#real) "," ASM_NAME(#name) "@@" #version); \ -- __asm__ (".symver ." ASM_NAME(#real) ",." ASM_NAME(#name) "@@" #version) --#else --# define symbol_version(real, name, version) \ -- __asm__ (".symver " ASM_NAME(#real) "," ASM_NAME(#name) "@" #version) --# define default_symbol_version(real, name, version) \ -- __asm__ (".symver " ASM_NAME(#real) "," ASM_NAME(#name) "@@" #version) --#endif -+#define symbol_version(real, name, version) \ -+__asm__ (".symver " ASM_NAME(#real) "," ASM_NAME(#name) "@" #version) -+#define default_symbol_version(real, name, version) \ -+__asm__ (".symver " ASM_NAME(#real) "," ASM_NAME(#name) "@@" #version) - - #ifdef USE_VERSIONED_SYMBOLS - #define use_symbol_version(real, name, version) \ -@@ -50,13 +41,6 @@ - default_symbol_version(real, name, version) - #else - #define use_symbol_version(real, name, version) /* nothing */ --#ifdef __powerpc64__ --#define use_default_symbol_version(real, name, version) \ -- __asm__ (".weak " ASM_NAME(#name)); \ -- __asm__ (".weak ." ASM_NAME(#name)); \ -- __asm__ (".set " ASM_NAME(#name) "," ASM_NAME(#real)); \ -- __asm__ (".set ." ASM_NAME(#name) ",." ASM_NAME(#real)) --#else - #if defined(__alpha__) || defined(__mips__) - #define use_default_symbol_version(real, name, version) \ - __asm__ (".weak " ASM_NAME(#name)); \ -@@ -67,6 +51,5 @@ - __asm__ (".set " ASM_NAME(#name) "," ASM_NAME(#real)) - #endif - #endif --#endif - - #endif /* __ALSA_SYMBOLS_H */ --- -2.10.0.297.gf6727b0 - diff --git a/package/alsa-lib/0005-src-rawmidi-rawmidi_symbols.c-use-rawmidi_virt-only-.patch b/package/alsa-lib/0005-src-rawmidi-rawmidi_symbols.c-use-rawmidi_virt-only-.patch new file mode 100644 index 0000000000..72646dda8d --- /dev/null +++ b/package/alsa-lib/0005-src-rawmidi-rawmidi_symbols.c-use-rawmidi_virt-only-.patch @@ -0,0 +1,52 @@ +From da16e18f03fc63e1206b93d6a719b177d4f4bb99 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Fri, 11 Aug 2017 22:33:01 +0200 +Subject: [PATCH] src/rawmidi/rawmidi_symbols.c: use rawmidi_virt only when + available + +src/rawmidi/Makefile.am only brings rawmidi_virt.c into the build when +BUILD_SEQ is defined (i.e when --enable-seq is passed). However, +rawmidi_symbols.c unconditionally refers to _snd_module_rawmidi_virt, +defined in rawmidi_virt.c. + +This causes a link failure when BUILD_SEQ is disabled. For example +when linking ffmpeg against alsa-lib: + +/home/thomas/projets/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libasound.a(pcm_dmix.o): In function `snd_pcm_dmix_sync_ptr': +pcm_dmix.c:(.text+0x83c): warning: +/home/thomas/projets/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libasound.a(rawmidi_symbols.o):(.data+0x4): undefined reference to `_snd_module_rawmidi_virt' +collect2: error: ld returned 1 exit status + +To fix this, we make sure that rawmidi_symbols.c only uses +_snd_module_rawmidi_virt when available. + +Signed-off-by: Thomas Petazzoni + +Patch sent upstream: https://www.spinics.net/lists/alsa-devel/msg65902.html +--- + src/rawmidi/rawmidi_symbols.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/rawmidi/rawmidi_symbols.c b/src/rawmidi/rawmidi_symbols.c +index cdc06d7..6473433 100644 +--- a/src/rawmidi/rawmidi_symbols.c ++++ b/src/rawmidi/rawmidi_symbols.c +@@ -21,11 +21,15 @@ + #ifndef PIC + + extern const char *_snd_module_rawmidi_hw; ++#ifdef BUILD_SEQ + extern const char *_snd_module_rawmidi_virt; ++#endif + + static const char **snd_rawmidi_open_objects[] = { + &_snd_module_rawmidi_hw, ++#ifdef BUILD_SEQ + &_snd_module_rawmidi_virt ++#endif + }; + + void *snd_rawmidi_open_symbols(void) +-- +2.9.4 + diff --git a/package/alsa-lib/0006-ucm-parser-needs-limits.h.patch b/package/alsa-lib/0006-ucm-parser-needs-limits.h.patch deleted file mode 100644 index b47dedb3a9..0000000000 --- a/package/alsa-lib/0006-ucm-parser-needs-limits.h.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 13a796b4bd00defa9f9297fd23d508b430682aed Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Wed, 21 Dec 2016 19:41:26 -0300 -Subject: [PATCH] ucm: parser needs limits.h - -It's using PATH_MAX which is defined there, otherwise the build fails on -musl libc. - -Signed-off-by: Gustavo Zacarias ---- -Patch status: sent to alsa-devel ML. - - src/ucm/parser.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/ucm/parser.c b/src/ucm/parser.c -index c98373a..f520abc 100644 ---- a/src/ucm/parser.c -+++ b/src/ucm/parser.c -@@ -32,6 +32,7 @@ - - #include "ucm_local.h" - #include -+#include - - /** The name of the environment variable containing the UCM directory */ - #define ALSA_CONFIG_UCM_VAR "ALSA_CONFIG_UCM" --- -2.10.2 - diff --git a/package/alsa-lib/Config.in b/package/alsa-lib/Config.in index 97e848978c..995d379167 100644 --- a/package/alsa-lib/Config.in +++ b/package/alsa-lib/Config.in @@ -3,18 +3,18 @@ comment "alsa-lib needs a toolchain w/ threads" menuconfig BR2_PACKAGE_ALSA_LIB bool "alsa-lib" - # Temporary until - # https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4913 - # is fixed - select BR2_PACKAGE_ALSA_LIB_PCM # Even though some parts of alsa-lib use threads only when # available, some PCM plugins use them unconditionally. Since # the usage of alsa-lib on no-thread systems is pretty # unlikely, just require thread support globally for alsa-lib. depends on BR2_TOOLCHAIN_HAS_THREADS + # Temporary until + # https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4913 + # is fixed + select BR2_PACKAGE_ALSA_LIB_PCM help - The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI - functionality to the Linux operating system. + The Advanced Linux Sound Architecture (ALSA) provides audio + and MIDI functionality to the Linux operating system. http://www.alsa-project.org/ @@ -68,8 +68,8 @@ config BR2_PACKAGE_ALSA_LIB_SEQ config BR2_PACKAGE_ALSA_LIB_ALISP bool "alisp" - depends on BR2_USE_MMU default y + depends on BR2_USE_MMU config BR2_PACKAGE_ALSA_LIB_OLD_SYMBOLS bool "old-symbols" diff --git a/package/alsa-lib/alsa-lib.hash b/package/alsa-lib/alsa-lib.hash index 6f56a76796..cf2a705b39 100644 --- a/package/alsa-lib/alsa-lib.hash +++ b/package/alsa-lib/alsa-lib.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 71282502184c592c1a008e256c22ed0ba5728ca65e05273ceb480c70f515969c alsa-lib-1.1.3.tar.bz2 +sha256 91bb870c14d1c7c269213285eeed874fa3d28112077db061a3af8010d0885b76 alsa-lib-1.1.4.1.tar.bz2 diff --git a/package/alsa-lib/alsa-lib.mk b/package/alsa-lib/alsa-lib.mk index 5957568aa3..12fa408cff 100644 --- a/package/alsa-lib/alsa-lib.mk +++ b/package/alsa-lib/alsa-lib.mk @@ -4,10 +4,10 @@ # ################################################################################ -ALSA_LIB_VERSION = 1.1.3 +ALSA_LIB_VERSION = 1.1.4.1 ALSA_LIB_SOURCE = alsa-lib-$(ALSA_LIB_VERSION).tar.bz2 ALSA_LIB_SITE = ftp://ftp.alsa-project.org/pub/lib -ALSA_LIB_LICENSE = LGPLv2.1+ (library), GPLv2+ (aserver) +ALSA_LIB_LICENSE = LGPL-2.1+ (library), GPL-2.0+ (aserver) ALSA_LIB_LICENSE_FILES = COPYING aserver/COPYING ALSA_LIB_INSTALL_STAGING = YES ALSA_LIB_CFLAGS = $(TARGET_CFLAGS) diff --git a/package/alsa-utils/Config.in b/package/alsa-utils/Config.in index adc0aabd8e..1a48fc0315 100644 --- a/package/alsa-utils/Config.in +++ b/package/alsa-utils/Config.in @@ -8,7 +8,6 @@ menuconfig BR2_PACKAGE_ALSA_UTILS depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib depends on !BR2_STATIC_LIBS # uses dlfcn.h select BR2_PACKAGE_ALSA_LIB - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE help This package contains the command line utilities for the ALSA project. @@ -33,10 +32,10 @@ config BR2_PACKAGE_ALSA_UTILS_ALSALOOP config BR2_PACKAGE_ALSA_UTILS_ALSAMIXER bool "alsamixer" + default y + depends on BR2_USE_WCHAR select BR2_PACKAGE_NCURSES select BR2_PACKAGE_ALSA_LIB_MIXER - depends on BR2_USE_WCHAR - default y comment "alsamixer needs a toolchain w/ wchar" depends on !BR2_USE_WCHAR @@ -50,7 +49,6 @@ config BR2_PACKAGE_ALSA_UTILS_ALSATPLG config BR2_PACKAGE_ALSA_UTILS_AMIDI bool "amidi" select BR2_PACKAGE_ALSA_LIB_RAWMIDI - select BR2_PACKAGE_ALSA_LIB_SEQ config BR2_PACKAGE_ALSA_UTILS_AMIXER bool "amixer" diff --git a/package/alsa-utils/alsa-utils.hash b/package/alsa-utils/alsa-utils.hash index 1add17e08b..538990bded 100644 --- a/package/alsa-utils/alsa-utils.hash +++ b/package/alsa-utils/alsa-utils.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 127217a54eea0f9a49700a2f239a2d4f5384aa094d68df04a8eb80132eb6167c alsa-utils-1.1.3.tar.bz2 +sha256 a7831044de92c5bf33bf3365a3f36e49397f4191e934df460ae1ca15138c9d9d alsa-utils-1.1.4.tar.bz2 diff --git a/package/alsa-utils/alsa-utils.mk b/package/alsa-utils/alsa-utils.mk index a72191e9b2..e9fd942e57 100644 --- a/package/alsa-utils/alsa-utils.mk +++ b/package/alsa-utils/alsa-utils.mk @@ -4,33 +4,30 @@ # ################################################################################ -ALSA_UTILS_VERSION = 1.1.3 +ALSA_UTILS_VERSION = 1.1.4 ALSA_UTILS_SOURCE = alsa-utils-$(ALSA_UTILS_VERSION).tar.bz2 ALSA_UTILS_SITE = ftp://ftp.alsa-project.org/pub/utils -ALSA_UTILS_LICENSE = GPLv2 +ALSA_UTILS_LICENSE = GPL-2.0 ALSA_UTILS_LICENSE_FILES = COPYING ALSA_UTILS_INSTALL_STAGING = YES -ALSA_UTILS_DEPENDENCIES = host-gettext host-pkgconf alsa-lib \ +ALSA_UTILS_DEPENDENCIES = host-pkgconf alsa-lib \ $(if $(BR2_PACKAGE_NCURSES),ncurses) \ - $(if $(BR2_PACKAGE_LIBSAMPLERATE),libsamplerate) + $(if $(BR2_PACKAGE_LIBSAMPLERATE),libsamplerate) \ + $(TARGET_NLS_DEPENDENCIES) # Regenerate aclocal.m4 to pick the patched # version of alsa.m4 from alsa-lib ALSA_UTILS_AUTORECONF = YES ALSA_UTILS_GETTEXTIZE = YES ALSA_UTILS_CONF_ENV = \ - ac_cv_prog_ncurses5_config=$(STAGING_DIR)/usr/bin/$(NCURSES_CONFIG_SCRIPTS) + ac_cv_prog_ncurses5_config=$(STAGING_DIR)/usr/bin/$(NCURSES_CONFIG_SCRIPTS) \ + LIBS=$(TARGET_NLS_LIBS) ALSA_UTILS_CONF_OPTS = \ --disable-xmlto \ --disable-rst2man \ --with-curses=$(if $(BR2_PACKAGE_NCURSES_WCHAR),ncursesw,ncurses) -ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y) -ALSA_UTILS_DEPENDENCIES += gettext -ALSA_UTILS_CONF_ENV += LIBS=-lintl -endif - ifeq ($(BR2_PACKAGE_ALSA_UTILS_ALSALOOP),y) ALSA_UTILS_CONF_OPTS += --enable-alsaloop else diff --git a/package/alsamixergui/Config.in b/package/alsamixergui/Config.in index 5b61f3861d..2016a28ad1 100644 --- a/package/alsamixergui/Config.in +++ b/package/alsamixergui/Config.in @@ -1,13 +1,13 @@ config BR2_PACKAGE_ALSAMIXERGUI + bool "alsamixergui" depends on BR2_PACKAGE_XORG7 depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_MMU # fltk fork() + depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib select BR2_PACKAGE_FLTK select BR2_PACKAGE_ALSA_LIB select BR2_PACKAGE_ALSA_LIB_PCM select BR2_PACKAGE_ALSA_LIB_MIXER - depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib - bool "alsamixergui" help A nice GUI mixer for Alsa using fltk diff --git a/package/alsamixergui/alsamixergui.mk b/package/alsamixergui/alsamixergui.mk index dba3ddd0c0..24e2497f3b 100644 --- a/package/alsamixergui/alsamixergui.mk +++ b/package/alsamixergui/alsamixergui.mk @@ -7,6 +7,8 @@ ALSAMIXERGUI_VERSION = 0.9.0rc2-1 ALSAMIXERGUI_SOURCE = alsamixergui_$(ALSAMIXERGUI_VERSION).orig.tar.gz ALSAMIXERGUI_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/a/alsamixergui +ALSAMIXERGUI_LICENSE = GPL-2.0+ +ALSAMIXERGUI_LICENSE_FILES = debian/copyright ALSAMIXERGUI_AUTORECONF = YES ALSAMIXERGUI_CONF_ENV = \ diff --git a/package/am335x-pru-package/am335x-pru-package.mk b/package/am335x-pru-package/am335x-pru-package.mk index d6bffb4f51..b2e89d3710 100644 --- a/package/am335x-pru-package/am335x-pru-package.mk +++ b/package/am335x-pru-package/am335x-pru-package.mk @@ -6,7 +6,7 @@ AM335X_PRU_PACKAGE_VERSION = 5f374ad57cc195f28bf5e585c3d446aba6ee7096 AM335X_PRU_PACKAGE_SITE = $(call github,beagleboard,am335x_pru_package,$(AM335X_PRU_PACKAGE_VERSION)) -AM335X_PRU_PACKAGE_LICENSE = BSD-3c +AM335X_PRU_PACKAGE_LICENSE = BSD-3-Clause AM335X_PRU_PACKAGE_LICENSE_FILES = pru_sw/utils/LICENCE.txt AM335X_PRU_PACKAGE_DEPENDENCIES = host-am335x-pru-package AM335X_PRU_PACKAGE_INSTALL_STAGING = YES @@ -67,7 +67,7 @@ define HOST_AM335X_PRU_PACKAGE_BUILD_CMDS endef define HOST_AM335X_PRU_PACKAGE_INSTALL_CMDS - $(INSTALL) -m 0755 -D $(@D)/pru_sw/utils/pasm $(HOST_DIR)/usr/bin/pasm + $(INSTALL) -m 0755 -D $(@D)/pru_sw/utils/pasm $(HOST_DIR)/bin/pasm endef $(eval $(generic-package)) diff --git a/package/am33x-cm3/am33x-cm3.hash b/package/am33x-cm3/am33x-cm3.hash new file mode 100644 index 0000000000..bb8c2f665e --- /dev/null +++ b/package/am33x-cm3/am33x-cm3.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 a722098b362f58f4dfb2a7c30afd604424d435b3d5ebe6ebf5d76ad942f796d0 am33x-cm3-11107db2f1e9e58ee75d4fe9cc38423c9a6e4365.tar.gz diff --git a/package/amd-catalyst/amd-catalyst.mk b/package/amd-catalyst/amd-catalyst.mk index 5636f81c9d..b9396e11fa 100644 --- a/package/amd-catalyst/amd-catalyst.mk +++ b/package/amd-catalyst/amd-catalyst.mk @@ -16,7 +16,6 @@ AMD_CATALYST_SUFFIX = $(if $(BR2_x86_64),_64) AMD_CATALYST_ARCH_DIR = $(@D)/arch/x86$(AMD_CATALYST_SUFFIX) AMD_CATALYST_LIB_SUFFIX = $(if $(BR2_x86_64),64) - define AMD_CATALYST_EXTRACT_CMDS unzip -q $(DL_DIR)/$(AMD_CATALYST_SOURCE) -d $(@D) $(SHELL) $(@D)/AMD-Catalyst-$(AMD_CATALYST_VERSION)-Linux-installer-$(AMD_CATALYST_VERBOSE_VER)-x86.x86_64.run --extract $(@D) @@ -24,7 +23,7 @@ endef ifeq ($(BR2_PACKAGE_AMD_CATALYST_MODULE),y) AMD_CATALYST_MODULE_SUBDIRS = common/lib/modules/fglrx/build_mod/2.6.x -AMD_CATALYST_MODULE_MAKE_OPTS = \ +AMD_CATALYST_MODULE_MAKE_OPTS = \ CFLAGS_MODULE="-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space" define AMD_CATALYST_PREPARE_MODULE @@ -102,7 +101,6 @@ define AMD_CATALYST_INSTALL_XORG $(INSTALL) -D -m 0644 package/amd-catalyst/20-fglrx.conf \ $(TARGET_DIR)/etc/X11/xorg.conf.d/20-fglrx.conf - # Common files: containing binary profiles about GPUs, # required by the fglrx_drv xorg driver $(INSTALL) -d $(TARGET_DIR)/etc/ati diff --git a/package/android-tools/Config.in b/package/android-tools/Config.in index 19772ad4d7..96e36e6cd7 100644 --- a/package/android-tools/Config.in +++ b/package/android-tools/Config.in @@ -34,13 +34,13 @@ config BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT_GOOD_KERNEL_HEADERS config BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT bool "fastboot" - select BR2_PACKAGE_LIBSELINUX - select BR2_PACKAGE_ZLIB depends on BR2_TOOLCHAIN_HAS_THREADS # libselinux depends on !BR2_STATIC_LIBS # libselinux depends on BR2_TOOLCHAIN_USES_GLIBC # libselinux depends on !BR2_arc # libselinux depends on BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT_GOOD_KERNEL_HEADERS + select BR2_PACKAGE_LIBSELINUX + select BR2_PACKAGE_ZLIB help This option will build and install the fastboot utility for the target, which can be used to reflash other target devices diff --git a/package/android-tools/android-tools.mk b/package/android-tools/android-tools.mk index 45103923eb..f6c6913a68 100644 --- a/package/android-tools/android-tools.mk +++ b/package/android-tools/android-tools.mk @@ -73,7 +73,7 @@ endef define HOST_ANDROID_TOOLS_INSTALL_CMDS $(foreach t,$(HOST_ANDROID_TOOLS_TARGETS),\ - $(INSTALL) -D -m 0755 $(@D)/build-$(t)/$(t) $(HOST_DIR)/usr/bin/$(t)$(sep)) + $(INSTALL) -D -m 0755 $(@D)/build-$(t)/$(t) $(HOST_DIR)/bin/$(t)$(sep)) endef define ANDROID_TOOLS_INSTALL_TARGET_CMDS diff --git a/package/apache/Config.in b/package/apache/Config.in index 511876d2eb..693ee20a1b 100644 --- a/package/apache/Config.in +++ b/package/apache/Config.in @@ -1,16 +1,17 @@ config BR2_PACKAGE_APACHE bool "apache" - select BR2_PACKAGE_APR_UTIL - select BR2_PACKAGE_PCRE depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # apr + select BR2_PACKAGE_APR_UTIL + select BR2_PACKAGE_PCRE help - The Apache HTTP Server Project is an effort to develop and maintain an - open-source HTTP server for modern operating systems including UNIX - and Windows NT. The goal of this project is to provide a secure, - efficient and extensible server that provides HTTP services in sync - with the current HTTP standards. + The Apache HTTP Server Project is an effort to develop and + maintain an open-source HTTP server for modern operating + systems including UNIX and Windows NT. The goal of this + project is to provide a secure, efficient and extensible + server that provides HTTP services in sync with the current + HTTP standards. http://httpd.apache.org diff --git a/package/apache/apache.hash b/package/apache/apache.hash index 38fd883f82..6471c38b62 100644 --- a/package/apache/apache.hash +++ b/package/apache/apache.hash @@ -1,2 +1,2 @@ -# From http://www.apache.org/dist/httpd/httpd-2.4.23.tar.bz2.sha1 -sha1 bd6d138c31c109297da2346c6e7b93b9283993d2 httpd-2.4.25.tar.bz2 +# From http://www.apache.org/dist/httpd/httpd-2.4.29.tar.bz2.sha256 +sha256 777753a5a25568a2a27428b2214980564bc1c38c1abf9ccc7630b639991f7f00 httpd-2.4.29.tar.bz2 diff --git a/package/apache/apache.mk b/package/apache/apache.mk index ae629bd2ca..e1b1a209cb 100644 --- a/package/apache/apache.mk +++ b/package/apache/apache.mk @@ -4,7 +4,7 @@ # ################################################################################ -APACHE_VERSION = 2.4.25 +APACHE_VERSION = 2.4.29 APACHE_SOURCE = httpd-$(APACHE_VERSION).tar.bz2 APACHE_SITE = http://archive.apache.org/dist/httpd APACHE_LICENSE = Apache-2.0 diff --git a/package/apitrace/Config.in b/package/apitrace/Config.in index 7fdd35af3e..b622823c29 100644 --- a/package/apitrace/Config.in +++ b/package/apitrace/Config.in @@ -1,13 +1,13 @@ -comment "apitrace needs a glibc toolchain w/ C++, gcc >= 4.6" +comment "apitrace needs a glibc toolchain w/ C++, gcc >= 4.9" depends on BR2_PACKAGE_XORG7 depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_USES_GLIBC \ - || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_6 + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 config BR2_PACKAGE_APITRACE bool "apitrace" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_USES_GLIBC # uses glibc specific __libc_dlsym - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_6 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 depends on BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_LIBPNG diff --git a/package/apitrace/apitrace.hash b/package/apitrace/apitrace.hash index eac470b03d..1daaa46e84 100644 --- a/package/apitrace/apitrace.hash +++ b/package/apitrace/apitrace.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 21d0cc765b84e537c5a3a117073818942653b85685b9633d364836ccfe0b9fd5 apitrace-7.0.tar.gz +sha256 0aae8902696ad23ba91d61c57007861a3f6e3c2d4f0f43b783b4b7a58e3f9172 apitrace-15d7f975f9688372467ebd63d2a57d3957823f93.tar.gz diff --git a/package/apitrace/apitrace.mk b/package/apitrace/apitrace.mk index fbd957c617..c66f6b3e38 100644 --- a/package/apitrace/apitrace.mk +++ b/package/apitrace/apitrace.mk @@ -4,7 +4,7 @@ # ################################################################################ -APITRACE_VERSION = 7.0 +APITRACE_VERSION = 15d7f975f9688372467ebd63d2a57d3957823f93 APITRACE_SITE = $(call github,apitrace,apitrace,$(APITRACE_VERSION)) APITRACE_LICENSE = MIT APITRACE_LICENSE_FILES = LICENSE diff --git a/package/apr-util/Config.in b/package/apr-util/Config.in index 1d7db2bd77..6c5e3bbdf5 100644 --- a/package/apr-util/Config.in +++ b/package/apr-util/Config.in @@ -1,10 +1,10 @@ config BR2_PACKAGE_APR_UTIL bool "apr-util" - select BR2_PACKAGE_APR - select BR2_PACKAGE_EXPAT # apr really needs shared library support depends on !BR2_STATIC_LIBS depends on BR2_USE_MMU # apr + select BR2_PACKAGE_APR + select BR2_PACKAGE_EXPAT help The utility library for the apache runtime project diff --git a/package/apr-util/apr-util.hash b/package/apr-util/apr-util.hash index 3db4396058..82ad475619 100644 --- a/package/apr-util/apr-util.hash +++ b/package/apr-util/apr-util.hash @@ -1,2 +1,4 @@ -# From http://archive.apache.org/dist/apr/apr-util-1.5.4.tar.gz.sha1 -sha1 72cc3ac693b52fb831063d5c0de18723bc8e0095 apr-util-1.5.4.tar.gz +# From http://www.apache.org/dist/apr/apr-util-1.6.1.tar.bz2.sha256 +sha256 d3e12f7b6ad12687572a3a39475545a072608f4ba03a6ce8a3778f607dd0035b apr-util-1.6.1.tar.bz2 +# Locally calculated +sha256 ef5609d18601645ad6fe22c6c122094be40e976725c1d0490778abacc836e7a2 LICENSE diff --git a/package/apr-util/apr-util.mk b/package/apr-util/apr-util.mk index bc0572e110..c44cef009f 100644 --- a/package/apr-util/apr-util.mk +++ b/package/apr-util/apr-util.mk @@ -4,7 +4,8 @@ # ################################################################################ -APR_UTIL_VERSION = 1.5.4 +APR_UTIL_VERSION = 1.6.1 +APR_UTIL_SOURCE = apr-util-$(APR_UTIL_VERSION).tar.bz2 APR_UTIL_SITE = http://archive.apache.org/dist/apr APR_UTIL_LICENSE = Apache-2.0 APR_UTIL_LICENSE_FILES = LICENSE diff --git a/package/apr/0001-cross-compile.patch b/package/apr/0001-cross-compile.patch index 5b596fb20f..559ebb74ba 100644 --- a/package/apr/0001-cross-compile.patch +++ b/package/apr/0001-cross-compile.patch @@ -42,10 +42,10 @@ diff -uNr apr-1.5.1.org/Makefile.in apr-1.5.1/Makefile.in # get substituted into some targets APR_MAJOR_VERSION=@APR_MAJOR_VERSION@ -@@ -134,8 +136,13 @@ +@@ -134,8 +134,13 @@ + $(APR_MKDIR) tools + $(LT_COMPILE) - OBJECTS_gen_test_char = tools/gen_test_char.lo $(LOCAL_LIBS) - tools/gen_test_char.lo: make_tools_dir +ifdef CC_FOR_BUILD +tools/gen_test_char@EXEEXT@: tools/gen_test_char.c $(LOCAL_LIBS) + $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -DCROSS_COMPILE -o $@ $< diff --git a/package/apr/Config.in b/package/apr/Config.in index 5757272450..67de925474 100644 --- a/package/apr/Config.in +++ b/package/apr/Config.in @@ -4,9 +4,10 @@ config BR2_PACKAGE_APR depends on !BR2_STATIC_LIBS depends on BR2_USE_MMU # fork() in apr_proc_fork() help - The mission of the Apache Portable Runtime (APR) project is to create - and maintain software libraries that provide a predictable and - consistent interface to underlying platform-specific implementations + The mission of the Apache Portable Runtime (APR) project is to + create and maintain software libraries that provide a + predictable and consistent interface to underlying + platform-specific implementations http://apr.apache.org/ diff --git a/package/apr/apr.hash b/package/apr/apr.hash index 50d657a8cb..be130a5d78 100644 --- a/package/apr/apr.hash +++ b/package/apr/apr.hash @@ -1,2 +1,4 @@ -# From http://archive.apache.org/dist/apr/apr-1.5.1.tar.gz.sha1 -sha1 9caa83e3f50f3abc9fab7c4a3f2739a12b14c3a3 apr-1.5.1.tar.gz +# From http://www.apache.org/dist/apr/apr-1.6.3.tar.bz2.sha256 +sha256 131f06d16d7aabd097fa992a33eec2b6af3962f93e6d570a9bd4d85e95993172 apr-1.6.3.tar.bz2 +# Locally calculated +sha256 f854aeef66ecd55a126226e82b3f26793fc3b1c584647f6a0edc5639974c38ad LICENSE diff --git a/package/apr/apr.mk b/package/apr/apr.mk index 361a79f99b..58b1d86b28 100644 --- a/package/apr/apr.mk +++ b/package/apr/apr.mk @@ -4,7 +4,8 @@ # ################################################################################ -APR_VERSION = 1.5.1 +APR_VERSION = 1.6.3 +APR_SOURCE = apr-$(APR_VERSION).tar.bz2 APR_SITE = http://archive.apache.org/dist/apr APR_LICENSE = Apache-2.0 APR_LICENSE_FILES = LICENSE @@ -22,6 +23,7 @@ APR_CONF_ENV = \ apr_cv_mutex_robust_shared=no \ apr_cv_tcp_nodelay_with_cork=yes \ ac_cv_sizeof_struct_iovec=8 \ + ac_cv_sizeof_pid_t=4 \ ac_cv_struct_rlimit=yes \ ac_cv_o_nonblock_inherited=no \ apr_cv_mutex_recursive=yes diff --git a/package/argp-standalone/0003-fix_build_with_c99_compilers.patch b/package/argp-standalone/0003-fix_build_with_c99_compilers.patch index bfa0bb53e1..56b753b607 100644 --- a/package/argp-standalone/0003-fix_build_with_c99_compilers.patch +++ b/package/argp-standalone/0003-fix_build_with_c99_compilers.patch @@ -66,15 +66,3 @@ index e797b11..828f435 100644 /* Internal routines. */ extern void _argp_fmtstream_update (argp_fmtstream_t __fs); -@@ -216,7 +220,11 @@ - #endif - - #ifndef ARGP_FS_EI -+#if defined(__GNUC__) && !defined(__GNUC_STDC_INLINE__) - #define ARGP_FS_EI extern inline -+#else -+#define ARGP_FS_EI inline -+#endif - #endif - - ARGP_FS_EI size_t diff --git a/package/argp-standalone/argp-standalone.mk b/package/argp-standalone/argp-standalone.mk index b87b923f49..977b9547b6 100644 --- a/package/argp-standalone/argp-standalone.mk +++ b/package/argp-standalone/argp-standalone.mk @@ -7,10 +7,10 @@ ARGP_STANDALONE_VERSION = 1.3 ARGP_STANDALONE_SITE = http://www.lysator.liu.se/~nisse/archive ARGP_STANDALONE_INSTALL_STAGING = YES -ARGP_STANDALONE_LICENSE = LGPLv2+ +ARGP_STANDALONE_LICENSE = LGPL-2.0+ ARGP_STANDALONE_CONF_ENV = \ - CFLAGS="$(TARGET_CFLAGS) -fPIC" + CFLAGS="$(TARGET_CFLAGS) -fPIC -fgnu89-inline" define ARGP_STANDALONE_INSTALL_STAGING_CMDS $(INSTALL) -D $(@D)/libargp.a $(STAGING_DIR)/usr/lib/libargp.a diff --git a/package/argus/argus.mk b/package/argus/argus.mk index bd1c55904a..941f439fc6 100644 --- a/package/argus/argus.mk +++ b/package/argus/argus.mk @@ -9,7 +9,7 @@ ARGUS_SITE = http://qosient.com/argus/src ARGUS_DEPENDENCIES = libpcap ARGUS_CONF_ENV = arg_cv_sys_errlist=yes # Code is really v2+ though COPYING is v3 so ship README to avoid confusion -ARGUS_LICENSE = GPLv2+ +ARGUS_LICENSE = GPL-2.0+ ARGUS_LICENSE_FILES = README ifeq ($(BR2_PACKAGE_LIBTIRPC),y) diff --git a/package/armadillo/armadillo.hash b/package/armadillo/armadillo.hash index 4149a777de..6b3c4a855f 100644 --- a/package/armadillo/armadillo.hash +++ b/package/armadillo/armadillo.hash @@ -1,5 +1,7 @@ # From http://sourceforge.net/projects/arma/files/?source=navbar -md5 a39f27197d24b3d25437fab6bb1d118f armadillo-6.500.4.tar.gz -sha1 68166e67521a720c72917d196b0807bc6cab8b2e armadillo-6.500.4.tar.gz +md5 5ef71763bd429a3d481499878351f3be armadillo-7.900.1.tar.xz +sha1 8118faf1c6a7a39c55a1103a1f90e85e613cc377 armadillo-7.900.1.tar.xz # Locally computed: -sha256 813de85fa61ba5077ed871d801ba7070d369e7e9742002e4c11474c75ff6d1c6 armadillo-6.500.4.tar.gz +sha256 33eec7013990b5477ccc5ad3abc68bc2326c7a7a2790014d625cfcf37c0e07d3 armadillo-7.900.1.tar.xz +# License files, locally calculated +sha256 3ddf9be5c28fe27dad143a5dc76eea25222ad1dd68934a047064e56ed2fa40c5 LICENSE.txt diff --git a/package/armadillo/armadillo.mk b/package/armadillo/armadillo.mk index 813a41bdc7..b5fe403a7a 100644 --- a/package/armadillo/armadillo.mk +++ b/package/armadillo/armadillo.mk @@ -4,11 +4,12 @@ # ################################################################################ -ARMADILLO_VERSION = 6.500.4 -ARMADILLO_SITE = http://downloads.sourceforge.net/project/arma +ARMADILLO_VERSION = 7.900.1 +ARMADILLO_SOURCE = armadillo-$(ARMADILLO_VERSION).tar.xz +ARMADILLO_SITE = https://downloads.sourceforge.net/project/arma ARMADILLO_DEPENDENCIES = clapack ARMADILLO_INSTALL_STAGING = YES -ARMADILLO_LICENSE = MPLv2.0 +ARMADILLO_LICENSE = MPL-2.0 ARMADILLO_LICENSE_FILES = LICENSE.txt $(eval $(cmake-package)) diff --git a/package/arp-scan/0001-configure-try-linking-to-detect-stack-protector-supp.patch b/package/arp-scan/0001-configure-try-linking-to-detect-stack-protector-supp.patch new file mode 100644 index 0000000000..8eb9d6eff4 --- /dev/null +++ b/package/arp-scan/0001-configure-try-linking-to-detect-stack-protector-supp.patch @@ -0,0 +1,39 @@ +From f406041b58eadc716d6227408d3af553d566ffeb Mon Sep 17 00:00:00 2001 +From: "Arnout Vandecappelle (Essensium/Mind)" +Date: Tue, 4 Apr 2017 17:31:29 +0200 +Subject: [PATCH] configure: try linking to detect stack-protector support + +Even if gcc accepts the -fstack-protector argument, it is possible that +the libssp support library is missing. Detect this by linking instead +of just compiling. + +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) +--- + acinclude.m4 | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/acinclude.m4 b/acinclude.m4 +index 3c84118..4725154 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -243,7 +243,7 @@ AC_DEFUN([GCC_STACK_PROTECT_CC],[ + AC_MSG_CHECKING([whether ${CC} accepts -fstack-protector]) + ssp_old_cflags="$CFLAGS" + CFLAGS="$CFLAGS -fstack-protector" +- AC_TRY_COMPILE(,,, ssp_cc=no) ++ AC_TRY_LINK(,,, ssp_cc=no) + echo $ssp_cc + if test "X$ssp_cc" = "Xno"; then + CFLAGS="$ssp_old_cflags" +@@ -259,7 +259,7 @@ AC_DEFUN([GCC_STACK_PROTECT_CXX],[ + AC_MSG_CHECKING([whether ${CXX} accepts -fstack-protector]) + ssp_old_cxxflags="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -fstack-protector" +- AC_TRY_COMPILE(,,, ssp_cxx=no) ++ AC_TRY_LINK(,,, ssp_cxx=no) + echo $ssp_cxx + if test "X$ssp_cxx" = "Xno"; then + CXXFLAGS="$ssp_old_cxxflags" +-- +2.11.0 + diff --git a/package/arp-scan/Config.in b/package/arp-scan/Config.in new file mode 100644 index 0000000000..cc47a72b01 --- /dev/null +++ b/package/arp-scan/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_ARP_SCAN + bool "arp-scan" + select BR2_PACKAGE_LIBPCAP + help + The ARP scanner + + arp-scan is a command-line tool that uses the ARP protocol to + discover and fingerprint IP hosts on the local network. + + http://www.nta-monitor.com/wiki/index.php/Arp-scan_Documentation diff --git a/package/arp-scan/arp-scan.hash b/package/arp-scan/arp-scan.hash new file mode 100644 index 0000000000..4b2ddf1816 --- /dev/null +++ b/package/arp-scan/arp-scan.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 ce908ac71c48e85dddf6dd4fe5151d13c7528b1f49717a98b2a2535bd797d892 arp-scan-1.9.tar.gz diff --git a/package/arp-scan/arp-scan.mk b/package/arp-scan/arp-scan.mk new file mode 100644 index 0000000000..b46e941d10 --- /dev/null +++ b/package/arp-scan/arp-scan.mk @@ -0,0 +1,22 @@ +################################################################################ +# +# arp-scan +# +################################################################################ + +ARP_SCAN_VERSION = 1.9 +ARP_SCAN_SITE = https://github.com/royhills/arp-scan/releases/download/$(ARP_SCAN_VERSION) +ARP_SCAN_LICENSE = GPL-3.0+ +ARP_SCAN_LICENSE_FILES = COPYING +ARP_SCAN_DEPENDENCIES = libpcap + +# 0001-configure-try-linking-to-detect-stack-protector-supp.patch touches acinclude.m4 +ARP_SCAN_AUTORECONF = YES + +ifeq ($(BR2_STATIC_LIBS),y) +ARP_SCAN_CONF_OPTS = LIBS="`$(STAGING_DIR)/usr/bin/pcap-config --static --additional-libs`" +endif + +ARP_SCAN_CONF_ENV = pgac_cv_snprintf_long_long_int_format='%lld' + +$(eval $(autotools-package)) diff --git a/package/arptables/arptables.mk b/package/arptables/arptables.mk index 888d396e17..257b636d62 100644 --- a/package/arptables/arptables.mk +++ b/package/arptables/arptables.mk @@ -7,7 +7,7 @@ ARPTABLES_VERSION = 0.0.4 ARPTABLES_SOURCE = arptables-v$(ARPTABLES_VERSION).tar.gz ARPTABLES_SITE = http://downloads.sourceforge.net/project/ebtables/arptables/arptables-v$(ARPTABLES_VERSION) -ARPTABLES_LICENSE = GPLv2+ +ARPTABLES_LICENSE = GPL-2.0+ define ARPTABLES_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ diff --git a/package/assimp/Config.in b/package/assimp/Config.in index 93020f7238..41c1bb348b 100644 --- a/package/assimp/Config.in +++ b/package/assimp/Config.in @@ -8,9 +8,10 @@ config BR2_PACKAGE_ASSIMP select BR2_PACKAGE_ZLIB help Open Asset Import Library (assimp) is a portable Open Source - library to import various well-known 3D model formats in a uniform - manner. The most recent version also knows how to export 3d files - and is therefore suitable as a general-purpose 3D model converter. + library to import various well-known 3D model formats in a + uniform manner. The most recent version also knows how to + export 3d files and is therefore suitable as a general-purpose + 3D model converter. http://www.assimp.org diff --git a/package/assimp/assimp.mk b/package/assimp/assimp.mk index acd3701a38..4d447487ba 100644 --- a/package/assimp/assimp.mk +++ b/package/assimp/assimp.mk @@ -6,7 +6,7 @@ ASSIMP_VERSION = v3.2 ASSIMP_SITE = $(call github,assimp,assimp,$(ASSIMP_VERSION)) -ASSIMP_LICENSE = BSD-3c +ASSIMP_LICENSE = BSD-3-Clause ASSIMP_LICENSE_FILES = LICENSE ASSIMP_DEPENDENCIES = zlib ASSIMP_INSTALL_STAGING = YES diff --git a/package/asterisk/0001-configure-do-not-configure-in-menuselect.patch b/package/asterisk/0001-configure-do-not-configure-in-menuselect.patch new file mode 100644 index 0000000000..d6d02d2c3a --- /dev/null +++ b/package/asterisk/0001-configure-do-not-configure-in-menuselect.patch @@ -0,0 +1,58 @@ +From cc5daff874779475742bdb89a9328bb4fc4c4e09 Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" +Date: Tue, 27 Dec 2016 11:20:19 +0100 +Subject: [PATCH] configure: do not configure in menuselect + +When cross-compiling, the arguments and environment for ./configure are +different for the host and the target, and we want menuselect to be +compiled for the build machine, not the target. + +Although we do not pass any option to ./configure for menuselect, the +environment may still reference variables for the target, like CC or +CFLAGS and so on... We can not build menuselect with those variables. + +Instead, just assume that menuselect will be pre-compiled. + +Signed-off-by: "Yann E. MORIN" +--- + configure | 16 ---------------- + configure.ac | 16 ---------------- + 2 files changed, 32 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 66c8971..121dd93 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2662,12 +2662,6 @@ fi + + AC_SUBST([PBX_SYSLOG]) + +-if test -f makeopts; then +- ${ac_cv_path_EGREP} 'CURSES|GTK2|OSARCH|NEWT' makeopts > makeopts.acbak +-else +- touch makeopts.acbak +-fi +- + AC_CONFIG_FILES([build_tools/menuselect-deps makeopts]) + AST_CHECK_MANDATORY + +@@ -2683,16 +2677,6 @@ fi + + AC_OUTPUT + +-${ac_cv_path_EGREP} 'CURSES|GTK2|OSARCH|NEWT' makeopts > makeopts.acbak2 +-if test "x${ac_cv_path_CMP}" = "x:"; then +- ( cd `pwd`/menuselect && ./configure ) +-else if ${ac_cv_path_CMP} -s makeopts.acbak makeopts.acbak2; then : ; else +- ( cd `pwd`/menuselect && ./configure ) +-fi ; fi +- +-rm makeopts.acbak makeopts.acbak2 +- +- + if test "x${silent}" != "xyes" ; then + echo + echo " .\$\$\$\$\$\$\$\$\$\$\$\$\$\$\$=.. " +-- +2.7.4 + diff --git a/package/asterisk/0002-sounds-do-not-download-and-check-sha1s.patch b/package/asterisk/0002-sounds-do-not-download-and-check-sha1s.patch new file mode 100644 index 0000000000..8412843d13 --- /dev/null +++ b/package/asterisk/0002-sounds-do-not-download-and-check-sha1s.patch @@ -0,0 +1,52 @@ +From 3e8a9e9a1c7eae515eb628778c3c8a04338b3bb3 Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" +Date: Tue, 27 Dec 2016 11:21:09 +0100 +Subject: [PATCH] sounds: do not download and check sha1s + +To validate the sound archives, the corresponding sha1s are also +downloaded from the same location, and that download is done at install +time. + +However, that poses at least two problems: + + - in Buildroot, we already have validated the downloads with the sha1s + anyway, and trying to download anything at install time is not + always possible (e.g. for off-line builds); + + - since the download scheme is not secured (plain http), a + man-in-the-middle for the sounds will also be able to MITM the + download of the sha1s, so there is absolutely no additional safety + in doing so. + +So we just do without the sha1 download and checks. + +Signed-off-by: "Yann E. MORIN" +--- + sounds/Makefile | 10 ---------- + 1 file changed, 10 deletions(-) + +diff --git a/sounds/Makefile b/sounds/Makefile +index 84d0f45..7a80d56 100644 +--- a/sounds/Makefile ++++ b/sounds/Makefile +@@ -100,17 +100,7 @@ ifneq ($(SOUNDS_CACHE_DIR),) + if test ! -f "$$(SOUNDS_CACHE_DIR)/$$@"; then \ + (cd "$$(SOUNDS_CACHE_DIR)"; $$(DOWNLOAD) $$(SOUNDS_URL)/$$@); \ + fi; \ +- if test ! -f "$$(SOUNDS_CACHE_DIR)/$$@.sha1"; then \ +- (cd "$$(SOUNDS_CACHE_DIR)"; $$(DOWNLOAD) $$(SOUNDS_URL)/$$@.sha1); \ +- fi; \ + $$(LN) -sf "$$(SOUNDS_CACHE_DIR)/$$@" .; \ +- $$(LN) -sf "$$(SOUNDS_CACHE_DIR)/$$@.sha1" .; \ +- $$(SHA1SUM) -c --status $$@.sha1 || \ +- ( \ +- rm -f "$$(SOUNDS_CACHE_DIR)/$$@" "$$(SOUNDS_CACHE_DIR)/$$@.sha1" $$@ $$@.sha1; \ +- echo "Bad checksum: $$@" 1>&2; \ +- exit 1; \ +- ) || exit 1; \ + fi + else + $(CMD_PREFIX) \ +-- +2.7.4 + diff --git a/package/asterisk/0003-configure-fix-detection-of-libcrypt.patch b/package/asterisk/0003-configure-fix-detection-of-libcrypt.patch new file mode 100644 index 0000000000..d82f5084ef --- /dev/null +++ b/package/asterisk/0003-configure-fix-detection-of-libcrypt.patch @@ -0,0 +1,43 @@ +From 8996503f6c55e55f326ab11c18278954ad7abaf3 Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" +Date: Tue, 27 Dec 2016 11:21:57 +0100 +Subject: [PATCH] configure: fix detection of libcrypt + +The crypt() function is searched in two locations: -lcrypt and the +standard C library. + +The result of the former is stored in the LIBCRYPT 'scheme' while that +of the latter is stored in the 'SYSCRYPT' scheme. + +However, the check for mandatory modules looks at the CRYPT 'scheme', +and thus concludes that crypt is missing when it was successfully found. + +Fix that by also storing the result of either check in the 'CRYPT' +scheme. + +Signed-off-by: "Yann E. MORIN" +--- + configure | 2 ++ + configure.ac | 2 ++ + 2 files changed, 4 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 121dd93..d459ff5 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2406,10 +2406,12 @@ AC_CHECK_FUNC([crypt], [SYSCRYPT=true], [SYSCRYPT=""]) + if test "x$LIBCRYPT_LIB" != "x" ; then + CRYPT_LIB="$LIBCRYPT_LIB" + CRYPT_INCLUDE="$LIBCRYPT_INCLUDE" ++ PBX_CRYPT=1 + AC_DEFINE([HAVE_CRYPT], [1], [Define to 1 if you have the 'crypt' function.]) + elif test "x$SYSCRYPT" != "x" ; then + CRYPT_LIB="" + CRYPT_INCLUDE="" ++ PBX_CRYPT=1 + AC_DEFINE([HAVE_CRYPT], [1], [Define to 1 if you have the 'crypt' function.]) + fi + +-- +2.7.4 + diff --git a/package/asterisk/0004-configure-in-cross-complation-assimne-eventfd-are-av.patch b/package/asterisk/0004-configure-in-cross-complation-assimne-eventfd-are-av.patch new file mode 100644 index 0000000000..dae36d173d --- /dev/null +++ b/package/asterisk/0004-configure-in-cross-complation-assimne-eventfd-are-av.patch @@ -0,0 +1,37 @@ +From e7de812c979d219765fbf1292f0e150bfa087716 Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" +Date: Sun, 18 Jun 2017 21:54:16 +0200 +Subject: [PATCH] configure: in cross-complation, assume eventfd are available + +eventfd have been in the kernel since 2.6.22, and in glibc since 2.8, +repectively released in July 2007 and April 2008, almost a decade ago +now. + +Assume that no one building from now on for cross-compilation will be +unlucky enough to get versions older than that... + +As such, in cross-compilation, assume eventfd are available. + +Signed-off-by: "Yann E. MORIN" +--- + configure.ac | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 1c20517864..474d17ae55 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1107,7 +1107,9 @@ AC_RUN_IFELSE( + [return eventfd(0, EFD_NONBLOCK | EFD_SEMAPHORE) == -1;])], + AC_MSG_RESULT(yes) + AC_DEFINE([HAVE_EVENTFD], 1, [Define to 1 if your system supports eventfd and the EFD_NONBLOCK and EFD_SEMAPHORE flags.]), +- AC_MSG_RESULT(no) ++ AC_MSG_RESULT(no), ++ AC_MSG_RESULT([cross-compile; assume yes]) ++ AC_DEFINE([HAVE_EVENTFD], 1, [Define to 1 if your system supports eventfd and the EFD_NONBLOCK and EFD_SEMAPHORE flags.]) + ) + + AST_GCC_ATTRIBUTE(pure) +-- +2.11.0 + diff --git a/package/asterisk/0005-build-ensure-target-directory-for-modules-exists.patch b/package/asterisk/0005-build-ensure-target-directory-for-modules-exists.patch new file mode 100644 index 0000000000..20cfc93892 --- /dev/null +++ b/package/asterisk/0005-build-ensure-target-directory-for-modules-exists.patch @@ -0,0 +1,32 @@ +From 933b2554a40f932571bdbdbb5217cda3e35fd61f Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" +Date: Mon, 27 Nov 2017 12:52:52 +0100 +Subject: [PATCH] build: ensure target directory for modules exists + +Currently, in highly-parallel builds, it is possible that installing +modules fails because the target directory does not exist yet. + +We fix that by instructing $(INSTALL) to create the destination directory +first. + +Signed-off-by: "Yann E. MORIN" +--- + Makefile.moddir_rules | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.moddir_rules b/Makefile.moddir_rules +index 59190bece9..b73153a9a5 100644 +--- a/Makefile.moddir_rules ++++ b/Makefile.moddir_rules +@@ -110,7 +110,7 @@ clean:: + + install:: all + @echo "Installing modules from `basename $(CURDIR)`..." +- @for x in $(LOADABLE_MODS:%=%.so); do $(INSTALL) -m 755 $$x "$(DESTDIR)$(ASTMODDIR)" ; done ++ @for x in $(LOADABLE_MODS:%=%.so); do $(INSTALL) -D -m 755 $$x "$(DESTDIR)$(ASTMODDIR)" ; done + ifneq ($(findstring :,$(XMLSTARLET)$(BASH)),:) + @if [ -f .moduleinfo ] ; then \ + declare -A DISABLED_MODS ;\ +-- +2.11.0 + diff --git a/package/asterisk/Config.in b/package/asterisk/Config.in new file mode 100644 index 0000000000..17ac22bfd4 --- /dev/null +++ b/package/asterisk/Config.in @@ -0,0 +1,26 @@ +config BR2_PACKAGE_ASTERISK + bool "asterisk" + # Uses glibc resolver function res_nsearch() + depends on BR2_TOOLCHAIN_USES_GLIBC + depends on BR2_INSTALL_LIBSTDCPP + select BR2_PACKAGE_JANSSON + select BR2_PACKAGE_LIBCURL + select BR2_PACKAGE_LIBILBC + select BR2_PACKAGE_LIBXML2 + select BR2_PACKAGE_NCURSES + select BR2_PACKAGE_SQLITE + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBUUID + help + Asterisk is an open source framework for building + communications applications. Asterisk turns an ordinary + computer into a communications server. Asterisk powers IP PBX + systems, VoIP gateways, conference servers and other custom + solutions. It is used by small businesses, large businesses, + call centers, carriers and government agencies, worldwide. + Asterisk is free and open source. + + http://www.asterisk.org/ + +comment "asterisk needs a glibc toolchain w/ C++" + depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_INSTALL_LIBSTDCPP diff --git a/package/asterisk/asterisk.hash b/package/asterisk/asterisk.hash new file mode 100644 index 0000000000..7ae35bc4b1 --- /dev/null +++ b/package/asterisk/asterisk.hash @@ -0,0 +1,15 @@ +# Locally computed +sha256 c122fbe88e089737fa2c80356762ceed38498aa26da1dfdd4da5506f9b135696 asterisk-14.5.0.tar.gz + +# sha1 from: http://downloads.asterisk.org/pub/telephony/sounds/releases +# sha256 locally computed +sha1 65ee068462c6645ed14a28d6b34eb0e9aa7a6c8d asterisk-core-sounds-en-gsm-1.5.tar.gz +sha256 8d1118c6e0a0c614fafe297e3789f924ef5b04285cf6a8cffb8501dfcf5bbf07 asterisk-core-sounds-en-gsm-1.5.tar.gz +sha1 f40fd6ea03dfe8d72ada2540b2288bfdc006381d asterisk-moh-opsound-wav-2.03.tar.gz +sha256 449fb810d16502c3052fedf02f7e77b36206ac5a145f3dacf4177843a2fcb538 asterisk-moh-opsound-wav-2.03.tar.gz + +# License files, locally computed +sha256 82af40ed7f49c08685360811993d9396320842f021df828801d733e8fdc0312f COPYING +sha256 ac5571f00e558e3b7c9b3f13f421b874cc12cf4250c4f70094c71544cf486312 main/sha1.c +sha256 0fcdb946955d20c2819a51f3fe613d8f22da2ea793bd50acb30ce156499acc88 codecs/speex/speex_resampler.h +sha256 e6e7b7204d34a3dcdf17389a9c8cf64721ec0d15a797fd51c8c1ed8517cc3038 utils/db1-ast/include/db.h diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk new file mode 100644 index 0000000000..50512c0b3a --- /dev/null +++ b/package/asterisk/asterisk.mk @@ -0,0 +1,316 @@ +################################################################################ +# +# asterisk +# +################################################################################ + +ASTERISK_VERSION = 14.5.0 +# Use the github mirror: it's an official mirror maintained by Digium, and +# provides tarballs, which the main Asterisk git tree (behind Gerrit) does not. +ASTERISK_SITE = $(call github,asterisk,asterisk,$(ASTERISK_VERSION)) + +ASTERISK_SOUNDS_BASE_URL = http://downloads.asterisk.org/pub/telephony/sounds/releases +ASTERISK_EXTRA_DOWNLOADS = \ + $(ASTERISK_SOUNDS_BASE_URL)/asterisk-core-sounds-en-gsm-1.5.tar.gz \ + $(ASTERISK_SOUNDS_BASE_URL)/asterisk-moh-opsound-wav-2.03.tar.gz + +ASTERISK_LICENSE = GPL-2.0, BSD-3c (SHA1, resample), BSD-4c (db1-ast) +ASTERISK_LICENSE_FILES = \ + COPYING \ + main/sha1.c \ + codecs/speex/speex_resampler.h \ + utils/db1-ast/include/db.h + +# For patches 0001, 0003 and 0004 +ASTERISK_AUTORECONF = YES +ASTERISK_AUTORECONF_OPTS = -Iautoconf -Ithird-party -Ithird-party/pjproject + +ASTERISK_DEPENDENCIES = \ + host-asterisk \ + jansson \ + libcurl \ + libxml2 \ + ncurses \ + sqlite \ + util-linux + +# Asterisk wants to run its menuselect tool (a highly tweaked derivative of +# kconfig), but builds it using the target tools. So we build it in the host +# variant (see below), and copy the full build tree of menuselect. +define ASTERISK_COPY_MENUSELECT + rm -rf $(@D)/menuselect + cp -a $(HOST_ASTERISK_DIR)/menuselect $(@D)/menuselect +endef +ASTERISK_PRE_CONFIGURE_HOOKS += ASTERISK_COPY_MENUSELECT + +ASTERISK_CONF_OPTS = \ + --disable-xmldoc \ + --disable-internal-poll \ + --disable-asteriskssl \ + --disable-rpath \ + --without-bfd \ + --without-cap \ + --without-cpg \ + --without-curses \ + --without-gtk2 \ + --without-gmime \ + --without-h323 \ + --without-hoard \ + --without-iconv \ + --without-iksemel \ + --without-imap \ + --without-inotify \ + --without-iodbc \ + --without-isdnnet \ + --without-jack \ + --without-uriparser \ + --without-kqueue \ + --without-libedit \ + --without-libxslt \ + --without-ltdl \ + --without-lua \ + --without-misdn \ + --without-mysqlclient \ + --without-nbs \ + --without-neon29 \ + --without-newt \ + --without-openr2 \ + --without-osptk \ + --without-oss \ + --without-postgres \ + --without-pjproject \ + --without-popt \ + --without-pwlib \ + --without-resample \ + --without-sdl \ + --without-SDL_image \ + --without-spandsp \ + --without-sqlite \ + --without-suppserv \ + --without-tds \ + --without-termcap \ + --without-timerfd \ + --without-tinfo \ + --without-unbound \ + --without-unixodbc \ + --without-vpb \ + --without-x11 \ + --with-crypt \ + --with-jansson \ + --with-libcurl \ + --with-ilbc \ + --with-libxml2 \ + --with-ncurses="$(STAGING_DIR)/usr" \ + --with-sqlite3="$(STAGING_DIR)/usr" \ + --with-sounds-cache=$(BR2_DL_DIR) + +# avcodec are from ffmpeg. There is virtually zero chance this could +# even work; asterisk is looking for ffmpeg/avcodec.h which has not +# been installed in this location since early 2007 (~10 years ago at +# the time of this writing). +ASTERISK_CONF_OPTS += --without-avcodec + +ASTERISK_CONF_ENV = \ + ac_cv_path_CONFIG_LIBXML2=$(STAGING_DIR)/usr/bin/xml2-config + +ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y) +ASTERISK_CONF_OPTS += --with-execinfo +else +ASTERISK_CONF_OPTS += --without-execinfo +endif + +ifeq ($(BR2_PACKAGE_LIBGSM),y) +ASTERISK_DEPENDENCIES += libgsm +ASTERISK_CONF_OPTS += --with-gsm +else +ASTERISK_CONF_OPTS += --without-gsm +endif + +ifeq ($(BR2_PACKAGE_ALSA_LIB),y) +ASTERISK_DEPENDENCIES += alsa-lib +ASTERISK_CONF_OPTS += --with-asound +else +ASTERISK_CONF_OPTS += --without-asound +endif + +ifeq ($(BR2_PACKAGE_BLUEZ_UTILS),y) +ASTERISK_DEPENDENCIES += bluez_utils +ASTERISK_CONF_OPTS += --with-bluetooth +else +ASTERISK_CONF_OPTS += --without-bluetooth +endif + +ifeq ($(BR2_PACKAGE_LIBICAL),y) +ASTERISK_DEPENDENCIES += libical +ASTERISK_CONF_OPTS += --with-ical +else +ASTERISK_CONF_OPTS += --without-ical +endif + +ifeq ($(BR2_PACKAGE_OPENLDAP),y) +ASTERISK_DEPENDENCIES += openldap +ASTERISK_CONF_OPTS += --with-ldap +else +ASTERISK_CONF_OPTS += --without-ldap +endif + +ifeq ($(BR2_PACKAGE_NEON),y) +ASTERISK_DEPENDENCIES += neon +ASTERISK_CONF_OPTS += --with-neon +ASTERISK_CONF_ENV += \ + ac_cv_path_CONFIG_NEON=$(STAGING_DIR)/usr/bin/neon-config +else +ASTERISK_CONF_OPTS += --without-neon +endif + +ifeq ($(BR2_PACKAGE_NETSNMP),y) +ASTERISK_DEPENDENCIES += netsnmp +ASTERISK_CONF_OPTS += --with-netsnmp=$(STAGING_DIR)/usr +else +ASTERISK_CONF_OPTS += --without-netsnmp +endif + +ifeq ($(BR2_PACKAGE_LIBOGG),y) +ASTERISK_DEPENDENCIES += libogg +ASTERISK_CONF_OPTS += --with-ogg +else +ASTERISK_CONF_OPTS += --without-ogg +endif + +ifeq ($(BR2_PACKAGE_OPUS),y) +ASTERISK_DEPENDENCIES += opus +ASTERISK_CONF_OPTS += --with-opus +else +ASTERISK_CONF_OPTS += --without-opus +endif + +ifeq ($(BR2_PACKAGE_PORTAUDIO),y) +ASTERISK_DEPENDENCIES += portaudio +ASTERISK_CONF_OPTS += --with-portaudio +else +ASTERISK_CONF_OPTS += --without-portaudio +endif + +ifeq ($(BR2_PACKAGE_FREERADIUS_CLIENT),y) +ASTERISK_DEPENDENCIES += freeradius-client +ASTERISK_CONF_OPTS += --with-radius +else +ASTERISK_CONF_OPTS += --without-radius +endif + +ifeq ($(BR2_PACKAGE_DAHDI_LINUX)$(BR2_PACKAGE_DAHDI_TOOLS),yy) +ASTERISK_DEPENDENCIES += dahdi-linux dahdi-tools +ASTERISK_CONF_OPTS += --with-dahdi --with-tonezone + +ifeq ($(BR2_PACKAGE_LIBPRI),y) +ASTERISK_DEPENDENCIES += libpri +ASTERISK_CONF_OPTS += --with-pri +else +ASTERISK_CONF_OPTS += --without-pri +endif # PRI + +ifeq ($(BR2_PACKAGE_LIBSS7),y) +ASTERISK_DEPENDENCIES += libss7 +ASTERISK_CONF_OPTS += --with-ss7 +else +ASTERISK_CONF_OPTS += --without-ss7 +endif # SS7 + +else +ASTERISK_CONF_OPTS += \ + --without-dahdi --without-tonezone \ + --without-pri --without-ss7 +endif # DAHDI + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +ASTERISK_DEPENDENCIES += openssl +ASTERISK_CONF_OPTS += --with-ssl +else +ASTERISK_CONF_OPTS += --without-ssl +endif + +ifeq ($(BR2_PACKAGE_SPEEX),y) +ASTERISK_DEPENDENCIES += speex +ASTERISK_CONF_OPTS += --with-speex --with-speexdsp +else +ASTERISK_CONF_OPTS += --without-speex --without-speexdsp +endif + +ifeq ($(BR2_PACKAGE_LIBSRTP),y) +ASTERISK_DEPENDENCIES += libsrtp +ASTERISK_CONF_OPTS += --with-srtp +else +ASTERISK_CONF_OPTS += --without-srtp +endif + +ifeq ($(BR2_PACKAGE_LIBVORBIS),y) +ASTERISK_DEPENDENCIES += libvorbis +ASTERISK_CONF_OPTS += --with-vorbis +else +ASTERISK_CONF_OPTS += --without-vorbis +endif + +ifeq ($(BR2_PACKAGE_ZLIB),y) +ASTERISK_DEPENDENCIES += zlib +ASTERISK_CONF_OPTS += --with-z +else +ASTERISK_CONF_OPTS += --without-z +endif + +ASTERISK_DIRS = \ + ASTVARLIBDIR="/usr/lib/asterisk" \ + ASTDATADIR="/usr/lib/asterisk" \ + ASTKEYDIR="/usr/lib/asterisk" \ + ASTDBDIR="/usr/lib/asterisk" + +ASTERISK_MAKE_OPTS = $(ASTERISK_DIRS) + +# We want to install sample configuration files, too. +ASTERISK_INSTALL_TARGET_OPTS = \ + $(ASTERISK_DIRS) \ + DESTDIR=$(TARGET_DIR) \ + LDCONFIG=true \ + install samples + +$(eval $(autotools-package)) + +#------------------------------------------------------------------------------- +# This part deals with building the menuselect tool as a host package + +HOST_ASTERISK_DEPENDENCIES = host-pkgconf host-libxml2 host-ncurses +HOST_ASTERISK_SUBDIR = menuselect + +HOST_ASTERISK_LICENSE = GPL-2.0 +HOST_ASTERISK_LICENSE_FILES = COPYING + +# No need to autoreconf for the host variant, +# so do not inherit the target setup. +HOST_ASTERISK_AUTORECONF = NO + +HOST_ASTERISK_CONF_ENV = CONFIG_LIBXML2=$(HOST_DIR)/usr/bin/xml2-config + +HOST_ASTERISK_CONF_OPTS = \ + --without-newt \ + --without-curses \ + --with-ncurses=$(HOST_DIR)/usr + +# Not an automake package, so does not inherit LDFLAGS et al. from +# the configure run. +HOST_ASTERISK_MAKE_ENV = $(HOST_CONFIGURE_OPTS) + +# Even though menuselect is an autotools package, it is not an automake +# package and does not have an 'install' rule, as asterisk does expect +# it to be in a sub-directory of its source tree. We do so by copying +# the full menuselect build tree as a pre-configure hook in the target +# variant. +# However, the sanity checks on host packages are not run on menuselect. +# But we still want to catch that menuselect has the proper rpath set, +# for example, as it uses host libraries that we do build, like +# host-libxml2. +# So we do manually install the menuselect tool. +define HOST_ASTERISK_INSTALL_CMDS + $(INSTALL) -D -m 0755 $(@D)/menuselect/menuselect \ + $(HOST_DIR)/bin/asterisk-menuselect +endef + +$(eval $(host-autotools-package)) diff --git a/package/at/at.mk b/package/at/at.mk index 8865360427..058ebac5c8 100644 --- a/package/at/at.mk +++ b/package/at/at.mk @@ -11,7 +11,7 @@ AT_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/a AT_MAKE = $(MAKE1) AT_AUTORECONF = YES AT_DEPENDENCIES = $(if $(BR2_PACKAGE_FLEX),flex) host-bison host-flex -AT_LICENSE = GPLv2+, GPLv3+, ISC +AT_LICENSE = GPL-2.0+, GPL-3.0+, ISC AT_LICENSE_FILES = Copyright COPYING AT_CONF_OPTS = \ diff --git a/package/atest/Config.in b/package/atest/Config.in new file mode 100644 index 0000000000..9a2e342a1e --- /dev/null +++ b/package/atest/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_ATEST + bool "atest" + depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib + depends on !BR2_bfin # libev + select BR2_PACKAGE_ALSA_LIB + select BR2_PACKAGE_LIBEV + help + atest is a test software for checking ALSA Asoc drivers + concerning the proper frame generation and capture. + + https://github.com/amouiche/atest + +comment "atest needs a toolchain w/ threads" + depends on !BR2_bfin + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/atest/atest.hash b/package/atest/atest.hash new file mode 100644 index 0000000000..78e3ff8ede --- /dev/null +++ b/package/atest/atest.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 91da5a6d4d0b0a8d4bae156a40e91a6dccf62863bfa7acae948efbbd2b4154ca atest-895b0183a89c15f5e2305a6795bb1667753cd3f0.tar.gz diff --git a/package/atest/atest.mk b/package/atest/atest.mk new file mode 100644 index 0000000000..2effda5711 --- /dev/null +++ b/package/atest/atest.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# atest +# +################################################################################ + +ATEST_VERSION = 895b0183a89c15f5e2305a6795bb1667753cd3f0 +ATEST_SITE = $(call github,amouiche,atest,$(ATEST_VERSION)) +ATEST_LICENSE = GPL-2.0+ +ATEST_LICENSE_FILES = COPYING +ATEST_DEPENDENCIES = host-pkgconf libev alsa-lib +# Fetched from Github, with no configure script +ATEST_AUTORECONF = YES + +# Autoreconf requires an existing m4 directory +define ATEST_PATCH_M4 + mkdir -p $(@D)/m4 +endef +ATEST_POST_PATCH_HOOKS += ATEST_PATCH_M4 + +$(eval $(autotools-package)) diff --git a/package/atf/atf.mk b/package/atf/atf.mk index ed2080e225..9630cf1a33 100644 --- a/package/atf/atf.mk +++ b/package/atf/atf.mk @@ -7,7 +7,7 @@ ATF_VERSION = 0.21 ATF_SITE = https://github.com/jmmv/atf/releases/download/atf-$(ATF_VERSION) ATF_INSTALL_STAGING = YES -ATF_LICENSE = BSD-2c, BSD-3c +ATF_LICENSE = BSD-2-Clause, BSD-3-Clause ATF_LICENSE_FILES = COPYING # Ships a beta libtool version hence our patch doesn't apply. ATF_AUTORECONF = YES diff --git a/package/atftp/atftp.mk b/package/atftp/atftp.mk index 615b6eadbb..e1c257cb8e 100644 --- a/package/atftp/atftp.mk +++ b/package/atftp/atftp.mk @@ -6,7 +6,7 @@ ATFTP_VERSION = 0.7.1 ATFTP_SITE = http://sourceforge.net/projects/atftp/files -ATFTP_LICENSE = GPLv2+ +ATFTP_LICENSE = GPL-2.0+ ATFTP_LICENSE_FILES = LICENSE ATFTP_CONF_OPTS = --disable-libwrap --disable-mtftp # For static we need to explicitly link against libpthread diff --git a/package/atk/Config.in b/package/atk/Config.in index 1120a94dd0..c980614998 100644 --- a/package/atk/Config.in +++ b/package/atk/Config.in @@ -1,9 +1,9 @@ config BR2_PACKAGE_ATK bool "atk" - select BR2_PACKAGE_LIBGLIB2 depends on BR2_USE_WCHAR # glib2 depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 depends on BR2_USE_MMU # glib2 + select BR2_PACKAGE_LIBGLIB2 help The ATK accessibility toolkit, needed to build GTK+-2.x. diff --git a/package/atk/atk.mk b/package/atk/atk.mk index 90d329ae23..88cf5fbc0a 100644 --- a/package/atk/atk.mk +++ b/package/atk/atk.mk @@ -8,7 +8,7 @@ ATK_VERSION_MAJOR = 2.22 ATK_VERSION = $(ATK_VERSION_MAJOR).0 ATK_SOURCE = atk-$(ATK_VERSION).tar.xz ATK_SITE = http://ftp.gnome.org/pub/gnome/sources/atk/$(ATK_VERSION_MAJOR) -ATK_LICENSE = LGPLv2+ +ATK_LICENSE = LGPL-2.0+ ATK_LICENSE_FILES = COPYING ATK_INSTALL_STAGING = YES ATK_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) LDFLAGS=-L$(STAGING_DIR)/usr/lib install diff --git a/package/atkmm/Config.in b/package/atkmm/Config.in index 2091eabeb4..ce1e24d4ee 100644 --- a/package/atkmm/Config.in +++ b/package/atkmm/Config.in @@ -1,20 +1,20 @@ config BR2_PACKAGE_ATKMM bool "atkmm" - select BR2_PACKAGE_ATK - select BR2_PACKAGE_GLIBMM - select BR2_PACKAGE_LIBSIGC depends on BR2_INSTALL_LIBSTDCPP # glibmm - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11 depends on BR2_TOOLCHAIN_HAS_THREADS # atk/glibmm -> libglib2 depends on BR2_USE_MMU # atk/glibmm -> libglib2 depends on BR2_USE_WCHAR # atk/glibmm -> libglib2 + select BR2_PACKAGE_ATK + select BR2_PACKAGE_GLIBMM + select BR2_PACKAGE_LIBSIGC help The atkmm package is a set of C++ bindings for Atk. http://www.gtkmm.org/ -comment "atkmm needs a toolchain w/ C++, wchar, threads, gcc >= 4.8" +comment "atkmm needs a toolchain w/ C++, wchar, threads, gcc >= 4.9" depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_USE_WCHAR \ + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_USE_WCHAR \ || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/atkmm/atkmm.mk b/package/atkmm/atkmm.mk index 2c070f250e..234a937bba 100644 --- a/package/atkmm/atkmm.mk +++ b/package/atkmm/atkmm.mk @@ -8,7 +8,7 @@ ATKMM_VERSION_MAJOR = 2.24 ATKMM_VERSION = $(ATKMM_VERSION_MAJOR).2 ATKMM_SOURCE = atkmm-$(ATKMM_VERSION).tar.xz ATKMM_SITE = http://ftp.gnome.org/pub/gnome/sources/atkmm/$(ATKMM_VERSION_MAJOR) -ATKMM_LICENSE = LGPLv2.1+ (library), GPLv2+ (tools) +ATKMM_LICENSE = LGPL-2.1+ (library), GPL-2.0+ (tools) ATKMM_LICENSE_FILES = COPYING COPYING.tools ATKMM_INSTALL_STAGING = YES ATKMM_DEPENDENCIES = atk glibmm libsigc host-pkgconf diff --git a/package/atop/0001-remove-unused-include-of-termio.h.patch b/package/atop/0001-remove-unused-include-of-termio.h.patch deleted file mode 100644 index 3a04b05e60..0000000000 --- a/package/atop/0001-remove-unused-include-of-termio.h.patch +++ /dev/null @@ -1,52 +0,0 @@ -remove unused include of termio.h - -This header is not provided by musl, leading to build failures. - -Patch status: accepted upstream. - -Signed-off-by: Ricardo Martincoski ---- -diff -purN atop-2.2-3.orig/showgeneric.c atop-2.2-3/showgeneric.c ---- atop-2.2-3.orig/showgeneric.c 2016-07-19 22:07:43.275324499 -0300 -+++ atop-2.2-3/showgeneric.c 2016-07-19 22:08:16.171453283 -0300 -@@ -268,7 +268,6 @@ static const char rcsid[] = "$Id: showge - #include - #include - #include --#include - #include - #include - #include -diff -purN atop-2.2-3.orig/showlinux.c atop-2.2-3/showlinux.c ---- atop-2.2-3.orig/showlinux.c 2016-07-19 22:07:43.275324499 -0300 -+++ atop-2.2-3/showlinux.c 2016-07-19 22:08:20.979472459 -0300 -@@ -274,7 +274,6 @@ static const char rcsid[] = "$Id: showli - #include - #include - #include --#include - #include - #include - #include -diff -purN atop-2.2-3.orig/showprocs.c atop-2.2-3/showprocs.c ---- atop-2.2-3.orig/showprocs.c 2016-07-19 22:07:43.275324499 -0300 -+++ atop-2.2-3/showprocs.c 2016-07-19 22:08:25.083488900 -0300 -@@ -94,7 +94,6 @@ static const char rcsid[] = "$Id: showpr - #include - #include - #include --#include - #include - #include - #include -diff -purN atop-2.2-3.orig/showsys.c atop-2.2-3/showsys.c ---- atop-2.2-3.orig/showsys.c 2016-07-19 22:07:43.275324499 -0300 -+++ atop-2.2-3/showsys.c 2016-07-19 22:08:29.099505047 -0300 -@@ -80,7 +80,6 @@ static const char rcsid[] = "XXXXXX"; - #include - #include - #include --#include - #include - #include - #include diff --git a/package/atop/atop.hash b/package/atop/atop.hash index bbf268d06e..9ee0d62bc6 100644 --- a/package/atop/atop.hash +++ b/package/atop/atop.hash @@ -1,2 +1,5 @@ # Locally computed: -sha256 c785b8a2355be28b3de6b58a8ea4c4fcab8fadeaa57a99afeb03c66fac8e055d atop-2.2-3.tar.gz +sha256 73e4725de0bafac8c63b032e8479e2305e3962afbe977ec1abd45f9e104eb264 atop-2.3.0.tar.gz + +# Hash for license file: +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/package/atop/atop.mk b/package/atop/atop.mk index 27e1f82154..2cc0da6afa 100644 --- a/package/atop/atop.mk +++ b/package/atop/atop.mk @@ -4,9 +4,9 @@ # ################################################################################ -ATOP_VERSION = 2.2-3 +ATOP_VERSION = 2.3.0 ATOP_SITE = http://www.atoptool.nl/download -ATOP_LICENSE = GPLv2+ +ATOP_LICENSE = GPL-2.0+ ATOP_LICENSE_FILES = COPYING ATOP_DEPENDENCIES = ncurses zlib diff --git a/package/attr/attr.mk b/package/attr/attr.mk index 4d5a07df0b..8d250608b7 100644 --- a/package/attr/attr.mk +++ b/package/attr/attr.mk @@ -10,7 +10,7 @@ ATTR_SITE = http://download.savannah.gnu.org/releases/attr ATTR_INSTALL_STAGING = YES ATTR_CONF_OPTS = --enable-gettext=no HOST_ATTR_CONF_OPTS = --enable-gettext=no -ATTR_LICENSE = GPLv2+ (programs), LGPLv2.1+ (libraries) +ATTR_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (libraries) ATTR_LICENSE_FILES = doc/COPYING doc/COPYING.LGPL # While the configuration system uses autoconf, the Makefiles are @@ -28,8 +28,8 @@ ATTR_INSTALL_TARGET_OPTS = \ install install-lib HOST_ATTR_INSTALL_OPTS = \ - prefix=$(HOST_DIR)/usr \ - exec_prefix=$(HOST_DIR)/usr \ + prefix=$(HOST_DIR) \ + exec_prefix=$(HOST_DIR) \ install-dev install-lib # The libdir variable in libattr.la is empty, so let's fix it. This is diff --git a/package/aubio/Config.in b/package/aubio/Config.in index c4c60db2f3..18e7c4cc22 100644 --- a/package/aubio/Config.in +++ b/package/aubio/Config.in @@ -3,10 +3,10 @@ config BR2_PACKAGE_AUBIO depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HAS_THREADS help - aubio is a tool designed for the extraction of annotations from - audio signals. Its features include segmenting a sound file - before each of its attacks, performing pitch detection, tapping - the beat and producing midi streams from live audio. + aubio is a tool designed for the extraction of annotations + from audio signals. Its features include segmenting a sound + file before each of its attacks, performing pitch detection, + tapping the beat and producing midi streams from live audio. Because these tasks are difficult, we thought it was important to gather them in a dedicated library. To increase the fun, we diff --git a/package/aubio/aubio.hash b/package/aubio/aubio.hash index e4478477d7..b4233aee72 100644 --- a/package/aubio/aubio.hash +++ b/package/aubio/aubio.hash @@ -1,2 +1,2 @@ -# From https://aubio.org/pub/aubio-0.4.3.tar.bz2.sha256 -sha256 b62cdb073c0c64ae301917fa162969d42cba45e478bdf1e74490bd87e9cceaab aubio-0.4.3.tar.bz2 +# From https://aubio.org/pub/aubio-0.4.5.tar.bz2.sha256 +sha256 70c2804e6f4fbf0ebc0fb9ac8cc9d465ef4a4d438311c074c9a7364e98827af6 aubio-0.4.5.tar.bz2 diff --git a/package/aubio/aubio.mk b/package/aubio/aubio.mk index f3330c2b89..2a09ebb3b5 100644 --- a/package/aubio/aubio.mk +++ b/package/aubio/aubio.mk @@ -4,10 +4,10 @@ # ################################################################################ -AUBIO_VERSION = 0.4.3 +AUBIO_VERSION = 0.4.5 AUBIO_SITE = https://aubio.org/pub AUBIO_SOURCE = aubio-$(AUBIO_VERSION).tar.bz2 -AUBIO_LICENSE = GPLv3+ +AUBIO_LICENSE = GPL-3.0+ AUBIO_LICENSE_FILES = COPYING AUBIO_INSTALL_STAGING = YES @@ -26,7 +26,8 @@ else AUBIO_CONF_OPTS += --disable-sndfile endif -ifeq ($(BR2_PACKAGE_LIBSAMPLERATE),y) +# Could not compile aubio in double precision mode with libsamplerate +ifeq ($(BR2_PACKAGE_LIBSAMPLERATE)$(BR2_PACKAGE_FFTW_PRECISION_SINGLE),yy) AUBIO_DEPENDENCIES += libsamplerate AUBIO_CONF_OPTS += --enable-samplerate else diff --git a/package/audiofile/0003-Always-check-the-number-of-coefficients.patch b/package/audiofile/0003-Always-check-the-number-of-coefficients.patch new file mode 100644 index 0000000000..5c99c3cd7e --- /dev/null +++ b/package/audiofile/0003-Always-check-the-number-of-coefficients.patch @@ -0,0 +1,36 @@ +From c48e4c6503f7dabd41f11d4c9c7b7f8960e7f2c0 Mon Sep 17 00:00:00 2001 +From: Antonio Larrosa +Date: Mon, 6 Mar 2017 12:51:22 +0100 +Subject: [PATCH] Always check the number of coefficients + +When building the library with NDEBUG, asserts are eliminated +so it's better to always check that the number of coefficients +is inside the array range. + +This fixes the 00191-audiofile-indexoob issue in #41 + +Signed-off-by: Peter Korsgaard +--- + libaudiofile/WAVE.cpp | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/libaudiofile/WAVE.cpp b/libaudiofile/WAVE.cpp +index 0e81cf7..61f9541 100644 +--- a/libaudiofile/WAVE.cpp ++++ b/libaudiofile/WAVE.cpp +@@ -281,6 +281,12 @@ status WAVEFile::parseFormat(const Tag &id, uint32_t size) + + /* numCoefficients should be at least 7. */ + assert(numCoefficients >= 7 && numCoefficients <= 255); ++ if (numCoefficients < 7 || numCoefficients > 255) ++ { ++ _af_error(AF_BAD_HEADER, ++ "Bad number of coefficients"); ++ return AF_FAIL; ++ } + + m_msadpcmNumCoefficients = numCoefficients; + +-- +2.11.0 + diff --git a/package/audiofile/0004-clamp-index-values-to-fix-index-overflow-in-IMA.cpp.patch b/package/audiofile/0004-clamp-index-values-to-fix-index-overflow-in-IMA.cpp.patch new file mode 100644 index 0000000000..21f899a46f --- /dev/null +++ b/package/audiofile/0004-clamp-index-values-to-fix-index-overflow-in-IMA.cpp.patch @@ -0,0 +1,39 @@ +From 25eb00ce913452c2e614548d7df93070bf0d066f Mon Sep 17 00:00:00 2001 +From: Antonio Larrosa +Date: Mon, 6 Mar 2017 18:02:31 +0100 +Subject: [PATCH] clamp index values to fix index overflow in IMA.cpp + +This fixes #33 +(also reported at https://bugzilla.opensuse.org/show_bug.cgi?id=1026981 +and https://blogs.gentoo.org/ago/2017/02/20/audiofile-global-buffer-overflow-in-decodesample-ima-cpp/) + +Signed-off-by: Peter Korsgaard +--- + libaudiofile/modules/IMA.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libaudiofile/modules/IMA.cpp b/libaudiofile/modules/IMA.cpp +index 7476d44..df4aad6 100644 +--- a/libaudiofile/modules/IMA.cpp ++++ b/libaudiofile/modules/IMA.cpp +@@ -169,7 +169,7 @@ int IMA::decodeBlockWAVE(const uint8_t *encoded, int16_t *decoded) + if (encoded[1] & 0x80) + m_adpcmState[c].previousValue -= 0x10000; + +- m_adpcmState[c].index = encoded[2]; ++ m_adpcmState[c].index = clamp(encoded[2], 0, 88); + + *decoded++ = m_adpcmState[c].previousValue; + +@@ -210,7 +210,7 @@ int IMA::decodeBlockQT(const uint8_t *encoded, int16_t *decoded) + predictor -= 0x10000; + + state.previousValue = clamp(predictor, MIN_INT16, MAX_INT16); +- state.index = encoded[1] & 0x7f; ++ state.index = clamp(encoded[1] & 0x7f, 0, 88); + encoded += 2; + + for (int n=0; n +Date: Mon, 6 Mar 2017 13:54:52 +0100 +Subject: [PATCH] Check for multiplication overflow in sfconvert + +Checks that a multiplication doesn't overflow when +calculating the buffer size, and if it overflows, +reduce the buffer size instead of failing. + +This fixes the 00192-audiofile-signintoverflow-sfconvert case +in #41 + +Signed-off-by: Peter Korsgaard +--- + sfcommands/sfconvert.c | 34 ++++++++++++++++++++++++++++++++-- + 1 file changed, 32 insertions(+), 2 deletions(-) + +diff --git a/sfcommands/sfconvert.c b/sfcommands/sfconvert.c +index 80a1bc4..970a3e4 100644 +--- a/sfcommands/sfconvert.c ++++ b/sfcommands/sfconvert.c +@@ -45,6 +45,33 @@ void printusage (void); + void usageerror (void); + bool copyaudiodata (AFfilehandle infile, AFfilehandle outfile, int trackid); + ++int firstBitSet(int x) ++{ ++ int position=0; ++ while (x!=0) ++ { ++ x>>=1; ++ ++position; ++ } ++ return position; ++} ++ ++#ifndef __has_builtin ++#define __has_builtin(x) 0 ++#endif ++ ++int multiplyCheckOverflow(int a, int b, int *result) ++{ ++#if (defined __GNUC__ && __GNUC__ >= 5) || ( __clang__ && __has_builtin(__builtin_mul_overflow)) ++ return __builtin_mul_overflow(a, b, result); ++#else ++ if (firstBitSet(a)+firstBitSet(b)>31) // int is signed, so we can't use 32 bits ++ return true; ++ *result = a * b; ++ return false; ++#endif ++} ++ + int main (int argc, char **argv) + { + if (argc == 2) +@@ -323,8 +350,11 @@ bool copyaudiodata (AFfilehandle infile, AFfilehandle outfile, int trackid) + { + int frameSize = afGetVirtualFrameSize(infile, trackid, 1); + +- const int kBufferFrameCount = 65536; +- void *buffer = malloc(kBufferFrameCount * frameSize); ++ int kBufferFrameCount = 65536; ++ int bufferSize; ++ while (multiplyCheckOverflow(kBufferFrameCount, frameSize, &bufferSize)) ++ kBufferFrameCount /= 2; ++ void *buffer = malloc(bufferSize); + + AFframecount totalFrames = afGetFrameCount(infile, AF_DEFAULT_TRACK); + AFframecount totalFramesWritten = 0; +-- +2.11.0 + diff --git a/package/audiofile/0006-Actually-fail-when-error-occurs-in-parseFormat.patch b/package/audiofile/0006-Actually-fail-when-error-occurs-in-parseFormat.patch new file mode 100644 index 0000000000..0c6be2a2c5 --- /dev/null +++ b/package/audiofile/0006-Actually-fail-when-error-occurs-in-parseFormat.patch @@ -0,0 +1,42 @@ +From a2e9eab8ea87c4ffc494d839ebb4ea145eb9f2e6 Mon Sep 17 00:00:00 2001 +From: Antonio Larrosa +Date: Mon, 6 Mar 2017 18:59:26 +0100 +Subject: [PATCH] Actually fail when error occurs in parseFormat + +When there's an unsupported number of bits per sample or an invalid +number of samples per block, don't only print an error message using +the error handler, but actually stop parsing the file. + +This fixes #35 (also reported at +https://bugzilla.opensuse.org/show_bug.cgi?id=1026983 and +https://blogs.gentoo.org/ago/2017/02/20/audiofile-heap-based-buffer-overflow-in-imadecodeblockwave-ima-cpp/ +) + +Signed-off-by: Peter Korsgaard +--- + libaudiofile/WAVE.cpp | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/libaudiofile/WAVE.cpp b/libaudiofile/WAVE.cpp +index 0e81cf7..d762249 100644 +--- a/libaudiofile/WAVE.cpp ++++ b/libaudiofile/WAVE.cpp +@@ -326,6 +326,7 @@ status WAVEFile::parseFormat(const Tag &id, uint32_t size) + { + _af_error(AF_BAD_NOT_IMPLEMENTED, + "IMA ADPCM compression supports only 4 bits per sample"); ++ return AF_FAIL; + } + + int bytesPerBlock = (samplesPerBlock + 14) / 8 * 4 * channelCount; +@@ -333,6 +334,7 @@ status WAVEFile::parseFormat(const Tag &id, uint32_t size) + { + _af_error(AF_BAD_CODEC_CONFIG, + "Invalid samples per block for IMA ADPCM compression"); ++ return AF_FAIL; + } + + track->f.sampleWidth = 16; +-- +2.11.0 + diff --git a/package/audiofile/0007-Check-for-multiplication-overflow-in-MSADPCM-decodeS.patch b/package/audiofile/0007-Check-for-multiplication-overflow-in-MSADPCM-decodeS.patch new file mode 100644 index 0000000000..5411f13bb0 --- /dev/null +++ b/package/audiofile/0007-Check-for-multiplication-overflow-in-MSADPCM-decodeS.patch @@ -0,0 +1,122 @@ +From beacc44eb8cdf6d58717ec1a5103c5141f1b37f9 Mon Sep 17 00:00:00 2001 +From: Antonio Larrosa +Date: Mon, 6 Mar 2017 13:43:53 +0100 +Subject: [PATCH] Check for multiplication overflow in MSADPCM decodeSample + +Check for multiplication overflow (using __builtin_mul_overflow +if available) in MSADPCM.cpp decodeSample and return an empty +decoded block if an error occurs. + +This fixes the 00193-audiofile-signintoverflow-MSADPCM case of #41 + +Signed-off-by: Peter Korsgaard +--- + libaudiofile/modules/BlockCodec.cpp | 5 ++-- + libaudiofile/modules/MSADPCM.cpp | 47 +++++++++++++++++++++++++++++++++---- + 2 files changed, 46 insertions(+), 6 deletions(-) + +diff --git a/libaudiofile/modules/BlockCodec.cpp b/libaudiofile/modules/BlockCodec.cpp +index 45925e8..4731be1 100644 +--- a/libaudiofile/modules/BlockCodec.cpp ++++ b/libaudiofile/modules/BlockCodec.cpp +@@ -52,8 +52,9 @@ void BlockCodec::runPull() + // Decompress into m_outChunk. + for (int i=0; i(m_inChunk->buffer) + i * m_bytesPerPacket, +- static_cast(m_outChunk->buffer) + i * m_framesPerPacket * m_track->f.channelCount); ++ if (decodeBlock(static_cast(m_inChunk->buffer) + i * m_bytesPerPacket, ++ static_cast(m_outChunk->buffer) + i * m_framesPerPacket * m_track->f.channelCount)==0) ++ break; + + framesRead += m_framesPerPacket; + } +diff --git a/libaudiofile/modules/MSADPCM.cpp b/libaudiofile/modules/MSADPCM.cpp +index 8ea3c85..ef9c38c 100644 +--- a/libaudiofile/modules/MSADPCM.cpp ++++ b/libaudiofile/modules/MSADPCM.cpp +@@ -101,24 +101,60 @@ static const int16_t adaptationTable[] = + 768, 614, 512, 409, 307, 230, 230, 230 + }; + ++int firstBitSet(int x) ++{ ++ int position=0; ++ while (x!=0) ++ { ++ x>>=1; ++ ++position; ++ } ++ return position; ++} ++ ++#ifndef __has_builtin ++#define __has_builtin(x) 0 ++#endif ++ ++int multiplyCheckOverflow(int a, int b, int *result) ++{ ++#if (defined __GNUC__ && __GNUC__ >= 5) || ( __clang__ && __has_builtin(__builtin_mul_overflow)) ++ return __builtin_mul_overflow(a, b, result); ++#else ++ if (firstBitSet(a)+firstBitSet(b)>31) // int is signed, so we can't use 32 bits ++ return true; ++ *result = a * b; ++ return false; ++#endif ++} ++ ++ + // Compute a linear PCM value from the given differential coded value. + static int16_t decodeSample(ms_adpcm_state &state, +- uint8_t code, const int16_t *coefficient) ++ uint8_t code, const int16_t *coefficient, bool *ok=NULL) + { + int linearSample = (state.sample1 * coefficient[0] + + state.sample2 * coefficient[1]) >> 8; ++ int delta; + + linearSample += ((code & 0x08) ? (code - 0x10) : code) * state.delta; + + linearSample = clamp(linearSample, MIN_INT16, MAX_INT16); + +- int delta = (state.delta * adaptationTable[code]) >> 8; ++ if (multiplyCheckOverflow(state.delta, adaptationTable[code], &delta)) ++ { ++ if (ok) *ok=false; ++ _af_error(AF_BAD_COMPRESSION, "Error decoding sample"); ++ return 0; ++ } ++ delta >>= 8; + if (delta < 16) + delta = 16; + + state.delta = delta; + state.sample2 = state.sample1; + state.sample1 = linearSample; ++ if (ok) *ok=true; + + return static_cast(linearSample); + } +@@ -212,13 +248,16 @@ int MSADPCM::decodeBlock(const uint8_t *encoded, int16_t *decoded) + { + uint8_t code; + int16_t newSample; ++ bool ok; + + code = *encoded >> 4; +- newSample = decodeSample(*state[0], code, coefficient[0]); ++ newSample = decodeSample(*state[0], code, coefficient[0], &ok); ++ if (!ok) return 0; + *decoded++ = newSample; + + code = *encoded & 0x0f; +- newSample = decodeSample(*state[1], code, coefficient[1]); ++ newSample = decodeSample(*state[1], code, coefficient[1], &ok); ++ if (!ok) return 0; + *decoded++ = newSample; + + encoded++; +-- +2.11.0 + diff --git a/package/audiofile/0008-CVE-2015-7747.patch b/package/audiofile/0008-CVE-2015-7747.patch new file mode 100644 index 0000000000..13256123c4 --- /dev/null +++ b/package/audiofile/0008-CVE-2015-7747.patch @@ -0,0 +1,161 @@ +Description: fix buffer overflow when changing both sample format and + number of channels +Origin: https://github.com/mpruett/audiofile/pull/25 +Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/audiofile/+bug/1502721 +Bug-Debian: https://bugs.debian.org/801102 + +Downloaded from +https://gitweb.gentoo.org/repo/gentoo.git/tree/media-libs/audiofile/files/audiofile-0.3.6-CVE-2015-7747.patch + +Signed-off-by: Bernd Kuhls + +--- a/libaudiofile/modules/ModuleState.cpp ++++ b/libaudiofile/modules/ModuleState.cpp +@@ -402,7 +402,7 @@ status ModuleState::arrange(AFfilehandle + addModule(new Transform(outfc, in.pcm, out.pcm)); + + if (in.channelCount != out.channelCount) +- addModule(new ApplyChannelMatrix(infc, isReading, ++ addModule(new ApplyChannelMatrix(outfc, isReading, + in.channelCount, out.channelCount, + in.pcm.minClip, in.pcm.maxClip, + track->channelMatrix)); +--- a/test/Makefile.am ++++ b/test/Makefile.am +@@ -26,6 +26,7 @@ TESTS = \ + VirtualFile \ + floatto24 \ + query2 \ ++ sixteen-stereo-to-eight-mono \ + sixteen-to-eight \ + testchannelmatrix \ + testdouble \ +@@ -139,6 +140,7 @@ printmarkers_SOURCES = printmarkers.c + printmarkers_LDADD = $(LIBAUDIOFILE) -lm + + sixteen_to_eight_SOURCES = sixteen-to-eight.c TestUtilities.cpp TestUtilities.h ++sixteen_stereo_to_eight_mono_SOURCES = sixteen-stereo-to-eight-mono.c TestUtilities.cpp TestUtilities.h + + testchannelmatrix_SOURCES = testchannelmatrix.c TestUtilities.cpp TestUtilities.h + +--- /dev/null ++++ b/test/sixteen-stereo-to-eight-mono.c +@@ -0,0 +1,118 @@ ++/* ++ Audio File Library ++ ++ Copyright 2000, Silicon Graphics, Inc. ++ ++ 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., ++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++*/ ++ ++/* ++ sixteen-stereo-to-eight-mono.c ++ ++ This program tests the conversion from 2-channel 16-bit integers to ++ 1-channel 8-bit integers. ++*/ ++ ++#ifdef HAVE_CONFIG_H ++#include ++#endif ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++ ++#include "TestUtilities.h" ++ ++int main (int argc, char **argv) ++{ ++ AFfilehandle file; ++ AFfilesetup setup; ++ int16_t frames16[] = {14298, 392, 3923, -683, 958, -1921}; ++ int8_t frames8[] = {28, 6, -2}; ++ int i, frameCount = 3; ++ int8_t byte; ++ AFframecount result; ++ ++ setup = afNewFileSetup(); ++ ++ afInitFileFormat(setup, AF_FILE_WAVE); ++ ++ afInitSampleFormat(setup, AF_DEFAULT_TRACK, AF_SAMPFMT_TWOSCOMP, 16); ++ afInitChannels(setup, AF_DEFAULT_TRACK, 2); ++ ++ char *testFileName; ++ if (!createTemporaryFile("sixteen-to-eight", &testFileName)) ++ { ++ fprintf(stderr, "Could not create temporary file.\n"); ++ exit(EXIT_FAILURE); ++ } ++ ++ file = afOpenFile(testFileName, "w", setup); ++ if (file == AF_NULL_FILEHANDLE) ++ { ++ fprintf(stderr, "could not open file for writing\n"); ++ exit(EXIT_FAILURE); ++ } ++ ++ afFreeFileSetup(setup); ++ ++ afWriteFrames(file, AF_DEFAULT_TRACK, frames16, frameCount); ++ ++ afCloseFile(file); ++ ++ file = afOpenFile(testFileName, "r", AF_NULL_FILESETUP); ++ if (file == AF_NULL_FILEHANDLE) ++ { ++ fprintf(stderr, "could not open file for reading\n"); ++ exit(EXIT_FAILURE); ++ } ++ ++ afSetVirtualSampleFormat(file, AF_DEFAULT_TRACK, AF_SAMPFMT_TWOSCOMP, 8); ++ afSetVirtualChannels(file, AF_DEFAULT_TRACK, 1); ++ ++ for (i=0; i +Date: Sat, 27 May 2017 17:53:33 +0200 +Subject: [PATCH 1/1] Fix static linking with libsndfile + +libsndfile and audiofile both contain mixXX functions in their alac +code which lead to symbol name clashes when apps like mpd try to +statically link to both audiofile and libsndfile at the same time. + +This patch renames these functions to avoid the problem which was +detected by the buildroot autobuilders: +http://autobuild.buildroot.net/results/799/7997ccd698f03885f98d00bd150dc3a578e4b161/ + +Patch sent upstream: https://github.com/mpruett/audiofile/pull/45 + +Signed-off-by: Bernd Kuhls +--- + libaudiofile/alac/ALACEncoder.cpp | 28 ++++++++++++++-------------- + libaudiofile/alac/matrix_enc.c | 8 ++++---- + libaudiofile/alac/matrixlib.h | 8 ++++---- + 3 files changed, 22 insertions(+), 22 deletions(-) + +diff --git a/libaudiofile/alac/ALACEncoder.cpp b/libaudiofile/alac/ALACEncoder.cpp +index da922c2..3d088cc 100644 +--- a/libaudiofile/alac/ALACEncoder.cpp ++++ b/libaudiofile/alac/ALACEncoder.cpp +@@ -332,19 +332,19 @@ int32_t ALACEncoder::EncodeStereo( BitBuffer * bitstream, void * inputBuffer, ui + switch ( mBitDepth ) + { + case 16: +- mix16( (int16_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples/dilate, mixBits, mixRes ); ++ audiofile_alac_mix16( (int16_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples/dilate, mixBits, mixRes ); + break; + case 20: +- mix20( (uint8_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples/dilate, mixBits, mixRes ); ++ audiofile_alac_mix20( (uint8_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples/dilate, mixBits, mixRes ); + break; + case 24: + // includes extraction of shifted-off bytes +- mix24( (uint8_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples/dilate, ++ audiofile_alac_mix24( (uint8_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples/dilate, + mixBits, mixRes, mShiftBufferUV, bytesShifted ); + break; + case 32: + // includes extraction of shifted-off bytes +- mix32( (int32_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples/dilate, ++ audiofile_alac_mix32( (int32_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples/dilate, + mixBits, mixRes, mShiftBufferUV, bytesShifted ); + break; + } +@@ -379,19 +379,19 @@ int32_t ALACEncoder::EncodeStereo( BitBuffer * bitstream, void * inputBuffer, ui + switch ( mBitDepth ) + { + case 16: +- mix16( (int16_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples, mixBits, mixRes ); ++ audiofile_alac_mix16( (int16_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples, mixBits, mixRes ); + break; + case 20: +- mix20( (uint8_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples, mixBits, mixRes ); ++ audiofile_alac_mix20( (uint8_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples, mixBits, mixRes ); + break; + case 24: + // also extracts the shifted off bytes into the shift buffers +- mix24( (uint8_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples, ++ audiofile_alac_mix24( (uint8_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples, + mixBits, mixRes, mShiftBufferUV, bytesShifted ); + break; + case 32: + // also extracts the shifted off bytes into the shift buffers +- mix32( (int32_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples, ++ audiofile_alac_mix32( (int32_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples, + mixBits, mixRes, mShiftBufferUV, bytesShifted ); + break; + } +@@ -605,19 +605,19 @@ int32_t ALACEncoder::EncodeStereoFast( BitBuffer * bitstream, void * inputBuffer + switch ( mBitDepth ) + { + case 16: +- mix16( (int16_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples, mixBits, mixRes ); ++ audiofile_alac_mix16( (int16_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples, mixBits, mixRes ); + break; + case 20: +- mix20( (uint8_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples, mixBits, mixRes ); ++ audiofile_alac_mix20( (uint8_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples, mixBits, mixRes ); + break; + case 24: + // also extracts the shifted off bytes into the shift buffers +- mix24( (uint8_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples, ++ audiofile_alac_mix24( (uint8_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples, + mixBits, mixRes, mShiftBufferUV, bytesShifted ); + break; + case 32: + // also extracts the shifted off bytes into the shift buffers +- mix32( (int32_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples, ++ audiofile_alac_mix32( (int32_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples, + mixBits, mixRes, mShiftBufferUV, bytesShifted ); + break; + } +@@ -756,7 +756,7 @@ int32_t ALACEncoder::EncodeStereoEscape( BitBuffer * bitstream, void * inputBuff + break; + case 20: + // mix20() with mixres param = 0 means de-interleave so use it to simplify things +- mix20( (uint8_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples, 0, 0 ); ++ audiofile_alac_mix20( (uint8_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples, 0, 0 ); + for ( index = 0; index < numSamples; index++ ) + { + BitBufferWrite( bitstream, mMixBufferU[index], 20 ); +@@ -765,7 +765,7 @@ int32_t ALACEncoder::EncodeStereoEscape( BitBuffer * bitstream, void * inputBuff + break; + case 24: + // mix24() with mixres param = 0 means de-interleave so use it to simplify things +- mix24( (uint8_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples, 0, 0, mShiftBufferUV, 0 ); ++ audiofile_alac_mix24( (uint8_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples, 0, 0, mShiftBufferUV, 0 ); + for ( index = 0; index < numSamples; index++ ) + { + BitBufferWrite( bitstream, mMixBufferU[index], 24 ); +diff --git a/libaudiofile/alac/matrix_enc.c b/libaudiofile/alac/matrix_enc.c +index e194330..8abd556 100644 +--- a/libaudiofile/alac/matrix_enc.c ++++ b/libaudiofile/alac/matrix_enc.c +@@ -57,7 +57,7 @@ + + // 16-bit routines + +-void mix16( int16_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t numSamples, int32_t mixbits, int32_t mixres ) ++void audiofile_alac_mix16( int16_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t numSamples, int32_t mixbits, int32_t mixres ) + { + int16_t * ip = in; + int32_t j; +@@ -95,7 +95,7 @@ void mix16( int16_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t num + // 20-bit routines + // - the 20 bits of data are left-justified in 3 bytes of storage but right-aligned for input/output predictor buffers + +-void mix20( uint8_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t numSamples, int32_t mixbits, int32_t mixres ) ++void audiofile_alac_mix20( uint8_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t numSamples, int32_t mixbits, int32_t mixres ) + { + int32_t l, r; + uint8_t * ip = in; +@@ -140,7 +140,7 @@ void mix20( uint8_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t num + // 24-bit routines + // - the 24 bits of data are right-justified in the input/output predictor buffers + +-void mix24( uint8_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t numSamples, ++void audiofile_alac_mix24( uint8_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t numSamples, + int32_t mixbits, int32_t mixres, uint16_t * shiftUV, int32_t bytesShifted ) + { + int32_t l, r; +@@ -240,7 +240,7 @@ void mix24( uint8_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t num + // - otherwise, the calculations might overflow into the 33rd bit and be lost + // - therefore, these routines deal with the specified "unused lower" bytes in the "shift" buffers + +-void mix32( int32_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t numSamples, ++void audiofile_alac_mix32( int32_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t numSamples, + int32_t mixbits, int32_t mixres, uint16_t * shiftUV, int32_t bytesShifted ) + { + int32_t * ip = in; +diff --git a/libaudiofile/alac/matrixlib.h b/libaudiofile/alac/matrixlib.h +index 0a4f371..5728b6d 100644 +--- a/libaudiofile/alac/matrixlib.h ++++ b/libaudiofile/alac/matrixlib.h +@@ -38,17 +38,17 @@ extern "C" { + #endif + + // 16-bit routines +-void mix16( int16_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t numSamples, int32_t mixbits, int32_t mixres ); ++void audiofile_alac_mix16( int16_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t numSamples, int32_t mixbits, int32_t mixres ); + void unmix16( int32_t * u, int32_t * v, int16_t * out, uint32_t stride, int32_t numSamples, int32_t mixbits, int32_t mixres ); + + // 20-bit routines +-void mix20( uint8_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t numSamples, int32_t mixbits, int32_t mixres ); ++void audiofile_alac_mix20( uint8_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t numSamples, int32_t mixbits, int32_t mixres ); + void unmix20( int32_t * u, int32_t * v, uint8_t * out, uint32_t stride, int32_t numSamples, int32_t mixbits, int32_t mixres ); + + // 24-bit routines + // - 24-bit data sometimes compresses better by shifting off the bottom byte so these routines deal with + // the specified "unused lower bytes" in the combined "shift" buffer +-void mix24( uint8_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t numSamples, ++void audiofile_alac_mix24( uint8_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t numSamples, + int32_t mixbits, int32_t mixres, uint16_t * shiftUV, int32_t bytesShifted ); + void unmix24( int32_t * u, int32_t * v, uint8_t * out, uint32_t stride, int32_t numSamples, + int32_t mixbits, int32_t mixres, uint16_t * shiftUV, int32_t bytesShifted ); +@@ -57,7 +57,7 @@ void unmix24( int32_t * u, int32_t * v, uint8_t * out, uint32_t stride, int32_t + // - note that these really expect the internal data width to be < 32-bit but the arrays are 32-bit + // - otherwise, the calculations might overflow into the 33rd bit and be lost + // - therefore, these routines deal with the specified "unused lower" bytes in the combined "shift" buffer +-void mix32( int32_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t numSamples, ++void audiofile_alac_mix32( int32_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t numSamples, + int32_t mixbits, int32_t mixres, uint16_t * shiftUV, int32_t bytesShifted ); + void unmix32( int32_t * u, int32_t * v, int32_t * out, uint32_t stride, int32_t numSamples, + int32_t mixbits, int32_t mixres, uint16_t * shiftUV, int32_t bytesShifted ); +-- +2.11.0 + diff --git a/package/audiofile/audiofile.mk b/package/audiofile/audiofile.mk index ee3f833a4d..2f2e8902e9 100644 --- a/package/audiofile/audiofile.mk +++ b/package/audiofile/audiofile.mk @@ -12,7 +12,7 @@ AUDIOFILE_CONF_OPTS = --disable-examples AUDIOFILE_DEPENDENCIES = host-pkgconf # configure is outdated and has old bugs because of it AUDIOFILE_AUTORECONF = YES -AUDIOFILE_LICENSE = GPLv2+, LGPLv2.1+ +AUDIOFILE_LICENSE = GPL-2.0+, LGPL-2.1+ AUDIOFILE_LICENSE_FILES = COPYING COPYING.GPL ifeq ($(BR2_PACKAGE_FLAC),y) diff --git a/package/audit/audit.hash b/package/audit/audit.hash index 2ae8f99bb7..32cedc5d6b 100644 --- a/package/audit/audit.hash +++ b/package/audit/audit.hash @@ -1,2 +1,4 @@ #Locally computed -sha256 0441790794fd9375dbca598fa0ffb46c57ff37b3a24b94ffec0bbee3215cca09 audit-2.7.1.tar.gz +sha256 57b5ae5697f288b8e53286eacd1c6c2e88bd65db18df3d855332fc63b302fdae audit-2.7.8.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING +sha256 f18a0811fa0e220ccbc42f661545e77f0388631e209585ed582a1c693029c6aa COPYING.LIB diff --git a/package/audit/audit.mk b/package/audit/audit.mk index 298ef20b7b..6c0947715f 100644 --- a/package/audit/audit.mk +++ b/package/audit/audit.mk @@ -4,10 +4,10 @@ # ################################################################################ -AUDIT_VERSION = 2.7.1 +AUDIT_VERSION = 2.7.8 AUDIT_SITE = http://people.redhat.com/sgrubb/audit -AUDIT_LICENSE = GPLv2+ (programs), unclear (libraries) -AUDIT_LICENSE_FILES = COPYING +AUDIT_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (libraries) +AUDIT_LICENSE_FILES = COPYING COPYING.LIB AUDIT_INSTALL_STAGING = YES diff --git a/package/aufs-util/Config.in b/package/aufs-util/Config.in index 93999fb606..89b1f422e0 100644 --- a/package/aufs-util/Config.in +++ b/package/aufs-util/Config.in @@ -28,7 +28,8 @@ config BR2_PACKAGE_AUFS_UTIL_VERSION Usually, the sha1 of the cset you want to use; avoid using a branch name as this yields non-reproducible builds. - See the following resources to see what versions are available: + See the following resources to see what versions are + available: https://sourceforge.net/p/aufs/aufs-util/ci/master/tree/ diff --git a/package/aufs-util/aufs-util.mk b/package/aufs-util/aufs-util.mk index d41b4ac4fd..d954f02958 100644 --- a/package/aufs-util/aufs-util.mk +++ b/package/aufs-util/aufs-util.mk @@ -8,7 +8,7 @@ AUFS_UTIL_VERSION = $(call qstrip,$(BR2_PACKAGE_AUFS_UTIL_VERSION)) AUFS_UTIL_SITE = http://git.code.sf.net/p/aufs/aufs-util AUFS_UTIL_SITE_METHOD = git -AUFS_UTIL_LICENSE = GPLv2 +AUFS_UTIL_LICENSE = GPL-2.0 AUFS_UTIL_LICENSE_FILES = COPYING AUFS_UTIL_DEPENDENCIES = linux diff --git a/package/aufs/aufs.mk b/package/aufs/aufs.mk index 1ba5508ac3..55dbf942df 100644 --- a/package/aufs/aufs.mk +++ b/package/aufs/aufs.mk @@ -5,7 +5,7 @@ ################################################################################ AUFS_VERSION = $(call qstrip,$(BR2_PACKAGE_AUFS_VERSION)) -AUFS_LICENSE = GPLv2 +AUFS_LICENSE = GPL-2.0 AUFS_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_AUFS_SERIES),3) diff --git a/package/augeas/Config.in b/package/augeas/Config.in new file mode 100644 index 0000000000..df8c517485 --- /dev/null +++ b/package/augeas/Config.in @@ -0,0 +1,20 @@ +config BR2_PACKAGE_AUGEAS + bool "augeas" + # ARC toolchain issue: + # https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/issues/108 + depends on !BR2_arc + depends on BR2_USE_WCHAR + select BR2_PACKAGE_LIBXML2 + select BR2_PACKAGE_READLINE + help + Augeas is a configuration editing tool. It parses + configuration files in their native formats and transforms + them into a tree. Configuration changes are made by + manipulating this tree and saving it back into native config + files. + + http://augeas.net + +comment "augeas needs a toolchain w/ wchar" + depends on !BR2_arc + depends on !BR2_USE_WCHAR diff --git a/package/augeas/augeas.hash b/package/augeas/augeas.hash new file mode 100644 index 0000000000..e044ff42a7 --- /dev/null +++ b/package/augeas/augeas.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 65cf75b5a573fee2a5c6c6e3c95cad05f0101e70d3f9db10d53f6cc5b11bc9f9 augeas-1.8.1.tar.gz diff --git a/package/augeas/augeas.mk b/package/augeas/augeas.mk new file mode 100644 index 0000000000..20d09eb390 --- /dev/null +++ b/package/augeas/augeas.mk @@ -0,0 +1,22 @@ +################################################################################ +# +# augeas +# +################################################################################ + +AUGEAS_VERSION = 1.8.1 +AUGEAS_SITE = http://download.augeas.net +AUGEAS_INSTALL_STAGING = YES +AUGEAS_LICENSE = LGPL-2.1+ +AUGEAS_LICENSE_FILES = COPYING +AUGEAS_DEPENDENCIES = host-pkgconf readline libxml2 + +AUGEAS_CONF_OPTS = --disable-gnulib-tests + +# Remove the test lenses which occupy about 1.4 MB on the target +define AUGEAS_REMOVE_TEST_LENSES + rm -rf $(TARGET_DIR)/usr/share/augeas/lenses/dist/tests +endef +AUGEAS_POST_INSTALL_TARGET_HOOKS += AUGEAS_REMOVE_TEST_LENSES + +$(eval $(autotools-package)) diff --git a/package/aumix/aumix.mk b/package/aumix/aumix.mk index eae34d0fbc..9bcc19a37c 100644 --- a/package/aumix/aumix.mk +++ b/package/aumix/aumix.mk @@ -9,7 +9,7 @@ AUMIX_SOURCE = aumix-$(AUMIX_VERSION).tar.bz2 AUMIX_SITE = http://jpj.net/~trevor/aumix/releases AUMIX_AUTORECONF = YES AUMIX_GETTEXTIZE = YES -AUMIX_LICENSE = GPLv2+ +AUMIX_LICENSE = GPL-2.0+ AUMIX_LICENSE_FILES = COPYING AUMIX_CONF_OPTS = \ diff --git a/package/autoconf-archive/0001-AX_TLS-fix-syntax-error.patch b/package/autoconf-archive/0001-AX_TLS-fix-syntax-error.patch index 6d345d3468..c0efeb3359 100644 --- a/package/autoconf-archive/0001-AX_TLS-fix-syntax-error.patch +++ b/package/autoconf-archive/0001-AX_TLS-fix-syntax-error.patch @@ -17,6 +17,8 @@ fi Remove the [] on the third part of AS_IF. Signed-off-by: Romain Naour +(rebased against version 2017.03.21) +Signed-off-by: Bernd Kuhls --- m4/ax_tls.m4 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) @@ -29,8 +31,8 @@ index 809b761..2135dd2 100644 # modified version of the Autoconf Macro, you may extend this special # exception to the GPL to apply to your modified version as well. --#serial 11 -+#serial 12 +-#serial 13 ++#serial 14 AC_DEFUN([AX_TLS], [ AC_MSG_CHECKING([for thread local storage (TLS) class]) diff --git a/package/autoconf-archive/autoconf-archive.hash b/package/autoconf-archive/autoconf-archive.hash index 6982a4dd67..2c537b33a2 100644 --- a/package/autoconf-archive/autoconf-archive.hash +++ b/package/autoconf-archive/autoconf-archive.hash @@ -1,2 +1,2 @@ # Computed locally -sha256 88fb2efff640eddd28a52ae550ff5561bca3bd2bba09e1d7b0580e719875e437 autoconf-archive-2016.03.20.tar.xz +sha256 386ad455f12bdeb3a7d19280441a5ab77355142349200ff11040a8d9d455d765 autoconf-archive-2017.03.21.tar.xz diff --git a/package/autoconf-archive/autoconf-archive.mk b/package/autoconf-archive/autoconf-archive.mk index 86956eb672..8a6d59578e 100644 --- a/package/autoconf-archive/autoconf-archive.mk +++ b/package/autoconf-archive/autoconf-archive.mk @@ -4,11 +4,11 @@ # ################################################################################ -AUTOCONF_ARCHIVE_VERSION = 2016.03.20 +AUTOCONF_ARCHIVE_VERSION = 2017.03.21 AUTOCONF_ARCHIVE_SOURCE = autoconf-archive-$(AUTOCONF_ARCHIVE_VERSION).tar.xz AUTOCONF_ARCHIVE_SITE = $(BR2_GNU_MIRROR)/autoconf-archive -AUTOCONF_ARCHIVE_LICENSE = GPLv3+ with exception +AUTOCONF_ARCHIVE_LICENSE = GPL-3.0+ with exception AUTOCONF_ARCHIVE_LICENSE_FILES = COPYING COPYING.EXCEPTION -HOST_AUTOCONF_ARCHIVE_INSTALL_OPTS = aclocaldir=$(HOST_DIR)/usr/share/autoconf-archive install +HOST_AUTOCONF_ARCHIVE_INSTALL_OPTS = aclocaldir=$(HOST_DIR)/share/autoconf-archive install $(eval $(host-autotools-package)) diff --git a/package/autoconf/autoconf.mk b/package/autoconf/autoconf.mk index fd91961e85..e5f474c72d 100644 --- a/package/autoconf/autoconf.mk +++ b/package/autoconf/autoconf.mk @@ -8,12 +8,12 @@ AUTOCONF_VERSION = 2.69 AUTOCONF_SOURCE = autoconf-$(AUTOCONF_VERSION).tar.xz AUTOCONF_SITE = $(BR2_GNU_MIRROR)/autoconf -AUTOCONF_LICENSE = GPLv3+ with exceptions +AUTOCONF_LICENSE = GPL-3.0+ with exceptions AUTOCONF_LICENSE_FILES = COPYINGv3 COPYING.EXCEPTION HOST_AUTOCONF_CONF_ENV = \ EMACS="no" \ - ac_cv_path_M4=$(HOST_DIR)/usr/bin/m4 \ + ac_cv_path_M4=$(HOST_DIR)/bin/m4 \ ac_cv_prog_gnu_m4_gnu=no HOST_AUTOCONF_DEPENDENCIES = host-m4 host-libtool @@ -21,6 +21,6 @@ HOST_AUTOCONF_DEPENDENCIES = host-m4 host-libtool $(eval $(host-autotools-package)) # variables used by other packages -AUTOCONF = $(HOST_DIR)/usr/bin/autoconf -AUTOHEADER = $(HOST_DIR)/usr/bin/autoheader -AUTORECONF = $(HOST_CONFIGURE_OPTS) ACLOCAL="$(ACLOCAL)" AUTOCONF="$(AUTOCONF)" AUTOHEADER="$(AUTOHEADER)" AUTOMAKE="$(AUTOMAKE)" AUTOPOINT=/bin/true $(HOST_DIR)/usr/bin/autoreconf -f -i -I "$(ACLOCAL_DIR)" -I "$(ACLOCAL_HOST_DIR)" +AUTOCONF = $(HOST_DIR)/bin/autoconf +AUTOHEADER = $(HOST_DIR)/bin/autoheader +AUTORECONF = $(HOST_CONFIGURE_OPTS) ACLOCAL="$(ACLOCAL)" AUTOCONF="$(AUTOCONF)" AUTOHEADER="$(AUTOHEADER)" AUTOMAKE="$(AUTOMAKE)" AUTOPOINT=/bin/true $(HOST_DIR)/bin/autoreconf -f -i -I "$(ACLOCAL_DIR)" -I "$(ACLOCAL_HOST_DIR)" diff --git a/package/autofs/0001-include-linux-nfs.h-directly-in-rpc_sub.patch b/package/autofs/0001-include-linux-nfs.h-directly-in-rpc_sub.patch index 26e86c325f..26f22653cf 100644 --- a/package/autofs/0001-include-linux-nfs.h-directly-in-rpc_sub.patch +++ b/package/autofs/0001-include-linux-nfs.h-directly-in-rpc_sub.patch @@ -1,5 +1,3 @@ -Upstream-Status: Pending - From 44bdce8c6ed9b30c1643e5981172a4f9025f013c Mon Sep 17 00:00:00 2001 From: Andreas Oberritter Date: Wed, 13 Mar 2013 16:17:08 +0100 @@ -11,6 +9,7 @@ other linux/nfs*.h files directly. Signed-off-by: Andreas Oberritter Signed-off-by: Thomas Petazzoni +Upstream-Status: Pending --- include/rpc_subs.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/autofs/0002-autofs-build-check-for-clock_gettime-in-librt.patch b/package/autofs/0002-autofs-build-check-for-clock_gettime-in-librt.patch deleted file mode 100644 index ade6d1cdb3..0000000000 --- a/package/autofs/0002-autofs-build-check-for-clock_gettime-in-librt.patch +++ /dev/null @@ -1,62 +0,0 @@ -From a38ab6c0f2790e047fc64867865eb2a073135618 Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Sun, 19 Jun 2016 00:17:41 -0300 -Subject: [PATCH] autofs: build: check for clock_gettime in librt - -Glibc versions older than 2.17 define clock_gettime() in librt, so add a -check for this. - -Signed-off-by: Gustavo Zacarias ---- -Patch status: sent to autofs@ mailing list - - Makefile.conf.in | 3 +++ - Makefile.rules | 2 ++ - configure.in | 4 ++++ - 3 files changed, 9 insertions(+) - -diff --git a/Makefile.conf.in b/Makefile.conf.in -index cb53e66..2bc3202 100644 ---- a/Makefile.conf.in -+++ b/Makefile.conf.in -@@ -11,6 +11,9 @@ - DAEMON_CFLAGS = @DAEMON_CFLAGS@ - DAEMON_LDFLAGS = @DAEMON_LDFLAGS@ - -+# Glibc < 2.17 requires librt for clock_gettime() -+LIBCLOCK_GETTIME = @LIBCLOCK_GETTIME@ -+ - # Special parameters for glibc (libc 6) - LIBNSL = @LIBNSL@ - LIBRESOLV = @LIBRESOLV@ -diff --git a/Makefile.rules b/Makefile.rules -index 6fa3e02..7d1af2e 100644 ---- a/Makefile.rules -+++ b/Makefile.rules -@@ -56,6 +56,8 @@ endif - - LIBS += $(LIBNSL) - -+LIBS += $(LIBCLOCK_GETTIME) -+ - # Standard rules - - .SUFFIXES: .c .o .s .so -diff --git a/configure.in b/configure.in -index 25d7c4e..a4318e8 100644 ---- a/configure.in -+++ b/configure.in -@@ -177,6 +177,10 @@ if test "$ac_cv_search_versionsort" = "no"; then - [Define if your C library does not provide versionsort]) - fi - -+# glibc < 2.17 needs librt for clock_gettime() -+AC_CHECK_LIB(rt, clock_gettime, LIBCLOCK_GETTIME="-lrt") -+AC_SUBST(LIBCLOCK_GETTIME) -+ - # - # glibc/libc 6 new libraries - # --- -2.7.3 - diff --git a/package/autofs/0003-configure-add-cache-variable-for-Linux-proc-filesyst.patch b/package/autofs/0003-configure-add-cache-variable-for-Linux-proc-filesyst.patch deleted file mode 100644 index 93f3f9cf2a..0000000000 --- a/package/autofs/0003-configure-add-cache-variable-for-Linux-proc-filesyst.patch +++ /dev/null @@ -1,47 +0,0 @@ -From bb5cc9cee1963362fe56b4fac65fed4912da4215 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sat, 30 Jul 2016 22:30:01 +0200 -Subject: [PATCH] configure: add cache variable for Linux proc filesystem check - -When cross-compiling, whether the /proc filesystem is available in the -build environment does not give any indication as to whether it will -be available in the execution environment. - -This commit therefore adjust the AF_LINUX_PROCFS macro to use -AC_CACHE_CHECK(), so that an ac_cv_linux_procfs variable can be -preseeded in the environment to force the result of this check. - -Signed-off-by: Thomas Petazzoni ---- - aclocal.m4 | 15 +++++---------- - 1 file changed, 5 insertions(+), 10 deletions(-) - -diff --git a/aclocal.m4 b/aclocal.m4 -index 2115204..333699c 100644 ---- a/aclocal.m4 -+++ b/aclocal.m4 -@@ -80,16 +80,11 @@ dnl - dnl Check for the Linux /proc filesystem - dnl -------------------------------------------------------------------------- - AC_DEFUN(AF_LINUX_PROCFS, --[AC_MSG_CHECKING(for Linux proc filesystem) --if test "x`cat /proc/sys/kernel/ostype 2>&-`" = "xLinux" --then -- linux_procfs=yes --else -- linux_procfs=no --fi --AC_MSG_RESULT($linux_procfs) --if test $linux_procfs = yes --then -+[AC_CACHE_CHECK([for Linux proc filesystem], [ac_cv_linux_procfs], -+ [ac_cv_linux_procfs=no -+ test "x`cat /proc/sys/kernel/ostype 2>&-`" = "xLinux" && ac_cv_linux_procfs=yes]) -+ if test $ac_cv_linux_procfs = yes -+ then - AC_DEFINE(HAVE_LINUX_PROCFS, 1, - [Define if you have the Linux /proc filesystem.]) - fi]) --- -2.7.4 - diff --git a/package/autofs/autofs.hash b/package/autofs/autofs.hash index 72b1378595..61e58825cc 100644 --- a/package/autofs/autofs.hash +++ b/package/autofs/autofs.hash @@ -1,2 +1,2 @@ # From https://www.kernel.org/pub/linux/daemons/autofs/v5/sha256sums.asc -sha256 88b7de39088aead983e02072a7b753d5ee52ce419c8913f7a3d4ff5521313f0c autofs-5.1.2.tar.xz +sha256 e96eebfe3ed5fb1a30f4510f538198affde223e370c6dc2bed9780309272b1bf autofs-5.1.3.tar.xz diff --git a/package/autofs/autofs.mk b/package/autofs/autofs.mk index 23e683688b..148ab1bd3d 100644 --- a/package/autofs/autofs.mk +++ b/package/autofs/autofs.mk @@ -4,15 +4,12 @@ # ################################################################################ -AUTOFS_VERSION = 5.1.2 +AUTOFS_VERSION = 5.1.3 AUTOFS_SOURCE = autofs-$(AUTOFS_VERSION).tar.xz AUTOFS_SITE = $(BR2_KERNEL_MIRROR)/linux/daemons/autofs/v5 -AUTOFS_LICENSE = GPLv2+ +AUTOFS_LICENSE = GPL-2.0+ AUTOFS_LICENSE_FILES = COPYING COPYRIGHT AUTOFS_DEPENDENCIES = host-flex host-bison -# For 0002-autofs-configure-check-for-clock_gettime-in-librt.patch and -# 0003-configure-add-cache-variable-for-Linux-proc-filesyst.patch. -AUTOFS_AUTORECONF = YES # autofs looks on the build machine for the path of modprobe, so tell # it explicitly where it will be located on the target. diff --git a/package/automake/automake.hash b/package/automake/automake.hash index 83aca90549..b194c3c2bc 100644 --- a/package/automake/automake.hash +++ b/package/automake/automake.hash @@ -1,2 +1,4 @@ # Locally calculated -sha256 9908c75aabd49d13661d6dcb1bc382252d22cc77bf733a2d55e87f2aa2db8636 automake-1.15.tar.xz +sha256 af6ba39142220687c500f79b4aa2f181d9b24e4f8d8ec497cea4ba26c64bedaf automake-1.15.1.tar.xz +# License files, locally calculated +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/automake/automake.mk b/package/automake/automake.mk index 84f05dce39..270337712e 100644 --- a/package/automake/automake.mk +++ b/package/automake/automake.mk @@ -4,15 +4,15 @@ # ################################################################################ -AUTOMAKE_VERSION = 1.15 +AUTOMAKE_VERSION = 1.15.1 AUTOMAKE_SOURCE = automake-$(AUTOMAKE_VERSION).tar.xz AUTOMAKE_SITE = $(BR2_GNU_MIRROR)/automake -AUTOMAKE_LICENSE = GPLv2+ +AUTOMAKE_LICENSE = GPL-2.0+ AUTOMAKE_LICENSE_FILES = COPYING HOST_AUTOMAKE_DEPENDENCIES = host-autoconf -ACLOCAL_HOST_DIR = $(HOST_DIR)/usr/share/aclocal +ACLOCAL_HOST_DIR = $(HOST_DIR)/share/aclocal define GTK_DOC_M4_INSTALL $(INSTALL) -D -m 0644 package/automake/gtk-doc.m4 \ @@ -30,6 +30,6 @@ HOST_AUTOMAKE_POST_INSTALL_HOOKS += HOST_AUTOMAKE_MAKE_ACLOCAL $(eval $(host-autotools-package)) # variables used by other packages -AUTOMAKE = $(HOST_DIR)/usr/bin/automake +AUTOMAKE = $(HOST_DIR)/bin/automake ACLOCAL_DIR = $(STAGING_DIR)/usr/share/aclocal -ACLOCAL = $(HOST_DIR)/usr/bin/aclocal -I $(ACLOCAL_DIR) +ACLOCAL = $(HOST_DIR)/bin/aclocal -I $(ACLOCAL_DIR) diff --git a/package/autossh/Config.in b/package/autossh/Config.in index 6d1a0853ed..351e23ff09 100644 --- a/package/autossh/Config.in +++ b/package/autossh/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_AUTOSSH depends on BR2_PACKAGE_DROPBEAR || BR2_PACKAGE_OPENSSH help autossh is a program to start a copy of ssh and monitor it, - restarting it as necessary should it die or stop passing traffic. + restarting it as necessary should it die or stop passing + traffic. http://www.harding.motd.ca/autossh/ diff --git a/package/avahi/Config.in b/package/avahi/Config.in index a6b4ac83f1..5e303d044e 100644 --- a/package/avahi/Config.in +++ b/package/avahi/Config.in @@ -4,7 +4,6 @@ config BR2_PACKAGE_AVAHI depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE help Avahi is a system which facilitates service discovery on a local network. diff --git a/package/avahi/avahi.mk b/package/avahi/avahi.mk index 069b45a96d..94b6292b5d 100644 --- a/package/avahi/avahi.mk +++ b/package/avahi/avahi.mk @@ -13,7 +13,7 @@ AVAHI_VERSION = 0.6.32 AVAHI_SITE = https://github.com/lathiat/avahi/releases/download/v$(AVAHI_VERSION) -AVAHI_LICENSE = LGPLv2.1+ +AVAHI_LICENSE = LGPL-2.1+ AVAHI_LICENSE_FILES = LICENSE AVAHI_INSTALL_STAGING = YES @@ -97,8 +97,8 @@ AVAHI_CONF_OPTS = \ --with-autoipd-group=avahi AVAHI_DEPENDENCIES = \ - $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) host-intltool \ - host-pkgconf host-gettext + host-intltool host-pkgconf \ + $(TARGET_NLS_DEPENDENCIES) AVAHI_CFLAGS = $(TARGET_CFLAGS) @@ -168,7 +168,7 @@ endif AVAHI_CONF_ENV += CFLAGS="$(AVAHI_CFLAGS)" -AVAHI_MAKE_OPTS += $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),LIBS=-lintl) +AVAHI_MAKE_OPTS += LIBS=$(TARGET_NLS_LIBS) define AVAHI_USERS avahi -1 avahi -1 * - - - diff --git a/package/avrdude/Config.in b/package/avrdude/Config.in index 8aca841282..3757f17a1e 100644 --- a/package/avrdude/Config.in +++ b/package/avrdude/Config.in @@ -1,14 +1,14 @@ config BR2_PACKAGE_AVRDUDE bool "avrdude" - select BR2_PACKAGE_ELFUTILS - select BR2_PACKAGE_LIBUSB - select BR2_PACKAGE_LIBUSB_COMPAT - select BR2_PACKAGE_NCURSES depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_WCHAR # elfutils depends on !BR2_STATIC_LIBS # elfutils depends on !BR2_bfin # elfutils depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils + select BR2_PACKAGE_ELFUTILS + select BR2_PACKAGE_LIBUSB + select BR2_PACKAGE_LIBUSB_COMPAT + select BR2_PACKAGE_NCURSES help avrdude is a programmer for Atmel AVR microcontrollers this package provides a version with new linuxspi driver diff --git a/package/avrdude/avrdude.hash b/package/avrdude/avrdude.hash index b2c6125908..b203d4d100 100644 --- a/package/avrdude/avrdude.hash +++ b/package/avrdude/avrdude.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 b32128f4812d5e852cfba2e863d950ec30e0f72f09bc14fb41c02528bbc5dd18 avrdude-ad04c429a90f4c34f000ea4ae11db2705915a31f.tar.gz +sha256 cfa97af7badc713c62306ab85d0e7a288b064bf72e698494f73cb16c5b2c659e avrdude-f8893ccf0aceeff67c45f95ae4e86bc7fbe342aa.tar.gz diff --git a/package/avrdude/avrdude.mk b/package/avrdude/avrdude.mk index 27a74de164..0e34076e38 100644 --- a/package/avrdude/avrdude.mk +++ b/package/avrdude/avrdude.mk @@ -4,17 +4,18 @@ # ################################################################################ -AVRDUDE_VERSION = ad04c429a90f4c34f000ea4ae11db2705915a31f +AVRDUDE_VERSION = f8893ccf0aceeff67c45f95ae4e86bc7fbe342aa AVRDUDE_SITE = $(call github,kcuzner,avrdude,$(AVRDUDE_VERSION)) -AVRDUDE_LICENSE = GPLv2+ +AVRDUDE_LICENSE = GPL-2.0+ AVRDUDE_LICENSE_FILES = avrdude/COPYING AVRDUDE_SUBDIR = avrdude # Sources coming from git, without generated configure and Makefile.in # files. AVRDUDE_AUTORECONF = YES +AVRDUDE_CONF_OPTS = --enable-linuxgpio AVRDUDE_DEPENDENCIES = elfutils libusb libusb-compat ncurses \ host-flex host-bison -AVRDUDE_LICENSE = GPLv2+ +AVRDUDE_LICENSE = GPL-2.0+ AVRDUDE_LICENSE_FILES = avrdude/COPYING ifeq ($(BR2_PACKAGE_LIBFTDI1),y) diff --git a/package/axel/Config.in b/package/axel/Config.in index aa93f2a11f..6e709cfb13 100644 --- a/package/axel/Config.in +++ b/package/axel/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_AXEL bool "axel" - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE depends on BR2_TOOLCHAIN_HAS_THREADS help HTTP/FTP download accelerator. diff --git a/package/axel/axel.mk b/package/axel/axel.mk index 6cf0fa8d75..60bf5e4a61 100644 --- a/package/axel/axel.mk +++ b/package/axel/axel.mk @@ -6,18 +6,12 @@ AXEL_VERSION = 2.4 AXEL_SITE = http://sources.buildroot.net -AXEL_LICENSE = GPLv2+ +AXEL_LICENSE = GPL-2.0+ AXEL_LICENSE_FILES = COPYING +AXEL_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) +AXEL_LDFLAGS = -lpthread $(TARGET_NLS_LIBS) -ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y) -AXEL_DEPENDENCIES += gettext -AXEL_LDFLAGS += -lintl -endif - -# -lintl may use symbols from -lpthread -AXEL_LDFLAGS += -lpthread - -ifneq ($(BR2_ENABLE_LOCALE),y) +ifeq ($(BR2_SYSTEM_ENABLE_NLS),) AXEL_DISABLE_I18N = --i18n=0 endif diff --git a/package/axfsutils/axfsutils.mk b/package/axfsutils/axfsutils.mk index 1bd62809af..00d3a3a8b0 100644 --- a/package/axfsutils/axfsutils.mk +++ b/package/axfsutils/axfsutils.mk @@ -6,7 +6,7 @@ AXFSUTILS_VERSION = 64886703fdff6cfc64eb20fbe7d7295bbeec867b AXFSUTILS_SITE = $(call github,jaredeh,axfs,$(AXFSUTILS_VERSION)) -AXFSUTILS_LICENSE = GPLv2 +AXFSUTILS_LICENSE = GPL-2.0 AXFSUTILS_LICENSE_FILES = mkfs.axfs-legacy/COPYING HOST_AXFSUTILS_DEPENDENCIES = host-zlib @@ -18,7 +18,7 @@ endef define HOST_AXFSUTILS_INSTALL_CMDS $(INSTALL) -D -m 0755 $(@D)/mkfs.axfs-legacy/mkfs.axfs \ - $(HOST_DIR)/usr/bin/mkfs.axfs + $(HOST_DIR)/bin/mkfs.axfs endef $(eval $(host-generic-package)) diff --git a/package/azmq/0001-Conditionally-disable-test-and-doc-builds.patch b/package/azmq/0001-Conditionally-disable-test-and-doc-builds.patch new file mode 100644 index 0000000000..98975d27ed --- /dev/null +++ b/package/azmq/0001-Conditionally-disable-test-and-doc-builds.patch @@ -0,0 +1,43 @@ +From d960f93fb52e373f76cfedbee5f4fb0c5276856a Mon Sep 17 00:00:00 2001 +From: RJ Ascani +Date: Thu, 20 Jul 2017 15:53:40 -0700 +Subject: [PATCH] Conditionally disable test and doc builds + +Signed-off-by: RJ Ascani +--- + CMakeLists.txt | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5b5b9cc..97006a4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -49,7 +49,9 @@ include_directories(${Boost_INCLUDE_DIRS} + ${ZeroMQ_INCLUDE_DIRS} + ${PROJECT_SOURCE_DIR}) + +-enable_testing() ++if (BUILD_TESTING) ++ enable_testing() ++endif() + + macro(add_catch_test name) + if (TEST_REPORT_FORMAT) +@@ -59,8 +61,12 @@ macro(add_catch_test name) + endif() + endmacro() + +-add_subdirectory(test) +-add_subdirectory(doc) ++if (BUILD_TESTING) ++ add_subdirectory(test) ++endif() ++if (BUILD_DOC) ++ add_subdirectory(doc) ++endif() + + install(DIRECTORY ${PROJECT_SOURCE_DIR}/azmq + DESTINATION include) +-- +2.13.3 + diff --git a/package/azmq/Config.in b/package/azmq/Config.in new file mode 100644 index 0000000000..422a058832 --- /dev/null +++ b/package/azmq/Config.in @@ -0,0 +1,28 @@ +config BR2_PACKAGE_AZMQ + bool "azmq" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_ATOMIC + depends on BR2_TOOLCHAIN_HAS_THREADS # zeromq + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on BR2_USE_WCHAR # boost + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr + select BR2_PACKAGE_ZEROMQ + select BR2_PACKAGE_BOOST + select BR2_PACKAGE_BOOST_CHRONO + select BR2_PACKAGE_BOOST_DATE_TIME + select BR2_PACKAGE_BOOST_LOG + select BR2_PACKAGE_BOOST_RANDOM + select BR2_PACKAGE_BOOST_REGEX + select BR2_PACKAGE_BOOST_SYSTEM + select BR2_PACKAGE_BOOST_THREAD + help + This library provides Boost Asio style bindings for ZeroMQ. + + https://github.com/zeromq/azmq + +comment "azmq needs a toolchain w/ C++11, wchar and threads" + depends on !(BR2_INSTALL_LIBSTDCPP && BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \ + && BR2_USE_WCHAR && BR2_TOOLCHAIN_HAS_THREADS) + +comment "azmq needs exception_ptr" + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/package/azmq/azmq.hash b/package/azmq/azmq.hash new file mode 100644 index 0000000000..d3993f4988 --- /dev/null +++ b/package/azmq/azmq.hash @@ -0,0 +1,3 @@ +# Locally calculated +# https://github.com/zeromq/azmq/archive/v1.0.tar.gz +sha256 c204c731bcb7810ca3a2c5515e88974ef2ff8d0589e60a897dc238b369180e7b azmq-v1.0.tar.gz diff --git a/package/azmq/azmq.mk b/package/azmq/azmq.mk new file mode 100644 index 0000000000..427ad0f5b4 --- /dev/null +++ b/package/azmq/azmq.mk @@ -0,0 +1,18 @@ +################################################################################ +# +# azmq +# +################################################################################ + +AZMQ_VERSION = v1.0 +AZMQ_SITE = $(call github,zeromq,azmq,$(AZMQ_VERSION)) +AZMQ_DEPENDENCIES = boost zeromq +AZMQ_LICENSE = BSL-1.0 +AZMQ_LICENSE_FILES = LICENSE-BOOST_1_0 + +# AZMQ is a header only library, so it does not need to be installed on the +# target. +AZMQ_INSTALL_STAGING = YES +AZMQ_INSTALL_TARGET = NO + +$(eval $(cmake-package)) diff --git a/package/azure-iot-sdk-c/Config.in b/package/azure-iot-sdk-c/Config.in new file mode 100644 index 0000000000..c554d2fb9b --- /dev/null +++ b/package/azure-iot-sdk-c/Config.in @@ -0,0 +1,17 @@ +config BR2_PACKAGE_AZURE_IOT_SDK_C + bool "azure-iot-sdk-c" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_PACKAGE_LIBCURL + select BR2_PACKAGE_LIBXML2 + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBUUID + help + Microsoft Azure IoT Hub device SDK for C is used + to connect devices running C code to Azure IoT Hub. + + https://github.com/Azure/azure-iot-sdk-c + +comment "azure-iot-sdk-c needs a toolchain w/ C++ and NPTL" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS_NPTL diff --git a/package/azure-iot-sdk-c/azure-iot-sdk-c.mk b/package/azure-iot-sdk-c/azure-iot-sdk-c.mk new file mode 100644 index 0000000000..18c3e2498a --- /dev/null +++ b/package/azure-iot-sdk-c/azure-iot-sdk-c.mk @@ -0,0 +1,51 @@ +################################################################################ +# +# azure-iot-sdk-c +# +################################################################################ + +AZURE_IOT_SDK_C_VERSION = 2017-06-30 +AZURE_IOT_SDK_C_SITE = https://github.com/Azure/azure-iot-sdk-c +AZURE_IOT_SDK_C_SITE_METHOD = git +AZURE_IOT_SDK_C_GIT_SUBMODULES = YES +AZURE_IOT_SDK_C_LICENSE = MIT +AZURE_IOT_SDK_C_LICENSE_FILES = LICENSE +AZURE_IOT_SDK_C_INSTALL_STAGING = YES +AZURE_IOT_SDK_C_DEPENDENCIES = libxml2 openssl libcurl util-linux +AZURE_IOT_SDK_C_CONF_OPTS = -Dskip_samples=ON + +# The project only supports building one kind of library. +# Further the install target installs the wrong files, so we do it here: +ifeq ($(BR2_STATIC_LIBS),y) +AZURE_IOT_SDK_C_LIBS += uamqp/libuamqp.a c-utility/libaziotsharedutil.a \ + iothub_client/libiothub_client.a iothub_client/libiothub_client_mqtt_ws_transport.a \ + iothub_client/libiothub_client_amqp_ws_transport.a \ + iothub_client/libiothub_client_http_transport.a \ + iothub_client/libiothub_client_amqp_transport.a \ + iothub_client/libiothub_client_mqtt_transport.a \ + iothub_service_client/libiothub_service_client.a serializer/libserializer.a umqtt/libumqtt.a +else +AZURE_IOT_SDK_C_LIBS += uamqp/libuamqp.so c-utility/libaziotsharedutil.so \ + iothub_client/libiothub_client.so iothub_client/libiothub_client_mqtt_ws_transport.so \ + iothub_client/libiothub_client_amqp_ws_transport.so \ + iothub_client/libiothub_client_http_transport.so \ + iothub_client/libiothub_client_amqp_transport.so \ + iothub_client/libiothub_client_mqtt_transport.so \ + iothub_service_client/libiothub_service_client.so serializer/libserializer.so umqtt/libumqtt.so +endif + +define AZURE_IOT_SDK_C_INSTALL_STAGING_CMDS + $(foreach l,$(AZURE_IOT_SDK_C_LIBS), \ + $(INSTALL) -D -m 0755 $(@D)/$(l) $(STAGING_DIR)/usr/lib/ + ) + cp -a $(@D)/c-utility/inc/* $(STAGING_DIR)/usr/include/ + cp -a $(@D)/iothub_client/inc/* $(STAGING_DIR)/usr/include/ +endef + +define AZURE_IOT_SDK_C_INSTALL_TARGET_CMDS + $(foreach l,$(AZURE_IOT_SDK_C_LIBS), \ + $(INSTALL) -D -m 0755 $(@D)/$(l) $(TARGET_DIR)/usr/lib/ + ) +endef + +$(eval $(cmake-package)) diff --git a/package/b43-firmware/Config.in b/package/b43-firmware/Config.in index bc69bbcbed..7cef023997 100644 --- a/package/b43-firmware/Config.in +++ b/package/b43-firmware/Config.in @@ -14,11 +14,11 @@ choice kernel >= 3.2 need a different firmware than the b43 drivers from kernel < 3.2. - config BR2_PACKAGE_B43_FIRMWARE_KERNEL_AFTER_3_2 - bool ">= 3.2" +config BR2_PACKAGE_B43_FIRMWARE_KERNEL_AFTER_3_2 + bool ">= 3.2" - config BR2_PACKAGE_B43_FIRMWARE_KERNEL_BEFORE_3_2 - bool "< 3.2" +config BR2_PACKAGE_B43_FIRMWARE_KERNEL_BEFORE_3_2 + bool "< 3.2" endchoice diff --git a/package/b43-firmware/b43-firmware.mk b/package/b43-firmware/b43-firmware.mk index 601ab6661c..8e9e877692 100644 --- a/package/b43-firmware/b43-firmware.mk +++ b/package/b43-firmware/b43-firmware.mk @@ -23,7 +23,7 @@ B43_FIRMWARE_DEPENDENCIES = host-b43-fwcutter define B43_FIRMWARE_INSTALL_TARGET_CMDS $(INSTALL) -d -m 0755 $(TARGET_DIR)/lib/firmware/ - $(HOST_DIR)/usr/bin/b43-fwcutter -w $(TARGET_DIR)/lib/firmware/ $(@D)/$(B43_FIRMWARE_DRIVER_FILE) + $(HOST_DIR)/bin/b43-fwcutter -w $(TARGET_DIR)/lib/firmware/ $(@D)/$(B43_FIRMWARE_DRIVER_FILE) endef $(eval $(generic-package)) diff --git a/package/b43-fwcutter/b43-fwcutter.mk b/package/b43-fwcutter/b43-fwcutter.mk index d264b64940..91ba3dc758 100644 --- a/package/b43-fwcutter/b43-fwcutter.mk +++ b/package/b43-fwcutter/b43-fwcutter.mk @@ -7,7 +7,7 @@ B43_FWCUTTER_VERSION = 015 B43_FWCUTTER_SITE = http://bues.ch/b43/fwcutter B43_FWCUTTER_SOURCE = b43-fwcutter-$(B43_FWCUTTER_VERSION).tar.bz2 -B43_FWCUTTER_LICENSE = BSD-2c +B43_FWCUTTER_LICENSE = BSD-2-Clause B43_FWCUTTER_LICENSE_FILES = COPYING define HOST_B43_FWCUTTER_BUILD_CMDS @@ -15,7 +15,7 @@ define HOST_B43_FWCUTTER_BUILD_CMDS endef define HOST_B43_FWCUTTER_INSTALL_CMDS - $(INSTALL) -D -m 0755 $(@D)/b43-fwcutter $(HOST_DIR)/usr/bin/b43-fwcutter + $(INSTALL) -D -m 0755 $(@D)/b43-fwcutter $(HOST_DIR)/bin/b43-fwcutter endef $(eval $(host-generic-package)) diff --git a/package/babeld/Config.in b/package/babeld/Config.in index 5d08c0842a..c7010e1fb1 100644 --- a/package/babeld/Config.in +++ b/package/babeld/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_BABELD bool "babeld" depends on BR2_USE_MMU # fork() help - Babel is a loop-avoiding distance-vector routing protocol for IPv6 - and IPv4 with fast convergence properties. + Babel is a loop-avoiding distance-vector routing protocol for + IPv6 and IPv4 with fast convergence properties. http://www.pps.univ-paris-diderot.fr/~jch/software/babel/ diff --git a/package/bandwidthd/Config.in b/package/bandwidthd/Config.in index b4a47f2ec6..a503da43ff 100644 --- a/package/bandwidthd/Config.in +++ b/package/bandwidthd/Config.in @@ -32,8 +32,8 @@ if BR2_PACKAGE_BANDWIDTHD config BR2_PACKAGE_BANDWIDTHD_POSTGRESQL bool "enable postgresql log target support" - select BR2_PACKAGE_POSTGRESQL depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_POSTGRESQL help Enable support for logging the bandwidthd data to a remote (or local) postgresql server. This data can then be viewed diff --git a/package/bash/Config.in b/package/bash/Config.in index 783e4b38b5..5a9ebb8d02 100644 --- a/package/bash/Config.in +++ b/package/bash/Config.in @@ -1,10 +1,10 @@ config BR2_PACKAGE_BASH bool "bash" - select BR2_PACKAGE_NCURSES - select BR2_PACKAGE_READLINE # uses fork() depends on BR2_USE_MMU depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS + select BR2_PACKAGE_NCURSES + select BR2_PACKAGE_READLINE help The standard GNU Bourne again shell. diff --git a/package/bash/bash.mk b/package/bash/bash.mk index 090cf5224c..dd7c26fc12 100644 --- a/package/bash/bash.mk +++ b/package/bash/bash.mk @@ -9,8 +9,8 @@ BASH_SITE = $(BR2_GNU_MIRROR)/bash # Build after since bash is better than busybox shells BASH_DEPENDENCIES = ncurses readline host-bison \ $(if $(BR2_PACKAGE_BUSYBOX),busybox) -BASH_CONF_OPTS = --with-installed-readline -BASH_LICENSE = GPLv3+ +BASH_CONF_OPTS = --with-installed-readline --without-bash-malloc +BASH_LICENSE = GPL-3.0+ BASH_LICENSE_FILES = COPYING BASH_CONF_ENV += \ @@ -24,7 +24,8 @@ BASH_CONF_ENV += \ # The static build needs some trickery ifeq ($(BR2_STATIC_LIBS),y) -BASH_CONF_OPTS += --enable-static-link --without-bash-malloc +BASH_CONF_OPTS += --enable-static-link +BASH_CONF_ENV += SHOBJ_STATUS=unsupported # bash wants to redefine the getenv() function. To check whether this is # possible, AC_TRY_RUN is used which is not possible in # cross-compilation. diff --git a/package/batctl/batctl.hash b/package/batctl/batctl.hash index 5920ff09db..257e1ff207 100644 --- a/package/batctl/batctl.hash +++ b/package/batctl/batctl.hash @@ -1,4 +1,4 @@ -# http://downloads.open-mesh.org/batman/releases/batman-adv-2016.1/batctl-2016.1.tar.gz.sha1 -sha1 72b974bde707594e2cf0cc122d7d7da0f1f65160 batctl-2016.1.tar.gz +# From https://downloads.open-mesh.org/batman/releases/batman-adv-2017.0/batctl-2017.0.tar.gz.sha1 +sha1 0fbc329b56b465fa4f674cfecd7348144609f8e5 batctl-2017.0.tar.gz # Locally calculated -sha256 c854397b2ddd2cb8d15d1e65839819380648ccb37507d0303e133011fe6f03c9 batctl-2016.1.tar.gz +sha256 c0bb1127d6070b46abeb8d6a63d1150d71fa85f87f9a846873b649a21934c686 batctl-2017.0.tar.gz diff --git a/package/batctl/batctl.mk b/package/batctl/batctl.mk index ed1b06ca2e..122263e460 100644 --- a/package/batctl/batctl.mk +++ b/package/batctl/batctl.mk @@ -4,9 +4,9 @@ # ################################################################################ -BATCTL_VERSION = 2016.1 +BATCTL_VERSION = 2017.0 BATCTL_SITE = http://downloads.open-mesh.org/batman/releases/batman-adv-$(BATCTL_VERSION) -BATCTL_LICENSE = GPLv2 +BATCTL_LICENSE = GPL-2.0 BATCTL_DEPENDENCIES = libnl host-pkgconf define BATCTL_BUILD_CMDS diff --git a/package/batman-adv/Config.in b/package/batman-adv/Config.in index fbef0d8d6b..9d3d7967b9 100644 --- a/package/batman-adv/Config.in +++ b/package/batman-adv/Config.in @@ -28,7 +28,8 @@ config BR2_PACKAGE_BATMAN_ADV_BATMAN_V bool "enable B.A.T.M.A.N. V protocol (experimental)" help Enables B.A.T.M.A.N. V network protocol. - This is the next-gen protocol and is experimental at this time. + This is the next-gen protocol and is experimental at this + time. https://www.open-mesh.org/projects/batman-adv/wiki/BATMAN_V diff --git a/package/batman-adv/batman-adv.hash b/package/batman-adv/batman-adv.hash index 6c0e5cacf9..0599b919be 100644 --- a/package/batman-adv/batman-adv.hash +++ b/package/batman-adv/batman-adv.hash @@ -1,2 +1,3 @@ -# From https://downloads.open-mesh.org/batman/stable/sources/batman-adv/batman-adv-2016.1.tar.gz.sha1 -sha1 c9ca52c913fbf81aca266695a77359ecdbcc8bd8 batman-adv-2016.1.tar.gz +# From https://downloads.open-mesh.org/batman/stable/sources/batman-adv/batman-adv-2017.0.1.tar.gz.{md5,sha1} +md5 ce14f7f1bbc037691bbbc611e16f0360 batman-adv-2017.0.1.tar.gz +sha1 593cecc015b876caa5b21fbb4d0f6186742a1abb batman-adv-2017.0.1.tar.gz diff --git a/package/batman-adv/batman-adv.mk b/package/batman-adv/batman-adv.mk index 256781f0f2..51799186d8 100644 --- a/package/batman-adv/batman-adv.mk +++ b/package/batman-adv/batman-adv.mk @@ -4,9 +4,9 @@ # ################################################################################ -BATMAN_ADV_VERSION = 2016.1 +BATMAN_ADV_VERSION = 2017.0.1 BATMAN_ADV_SITE = https://downloads.open-mesh.org/batman/stable/sources/batman-adv -BATMAN_ADV_LICENSE = GPLv2 +BATMAN_ADV_LICENSE = GPL-2.0 # Bridge Loop Avoidance, Distributed Arp Table are always enabled BATMAN_ADV_CFLAGS = \ diff --git a/package/bc/Config.in b/package/bc/Config.in index a28978d2e5..54c4422f7c 100644 --- a/package/bc/Config.in +++ b/package/bc/Config.in @@ -6,9 +6,10 @@ config BR2_PACKAGE_BC areas. It supports interactive execution of statements. 'Bc' is a utility included in the POSIX P1003.2/D11 draft standard. This version does not use the historical method of having bc - be a compiler for the dc calculator (the POSIX document doesn't - specify how bc must be implemented). This version has a single - executable that both compiles the language and runs the resulting - 'byte code.' The byte code is not the dc language. + be a compiler for the dc calculator (the POSIX document + doesn't specify how bc must be implemented). + This version has a single executable that both compiles the + language and runs the resulting 'byte code.' The byte code is + not the dc language. http://www.gnu.org/software/bc diff --git a/package/bc/bc.mk b/package/bc/bc.mk index 8f3e08dda6..a6446cef66 100644 --- a/package/bc/bc.mk +++ b/package/bc/bc.mk @@ -8,7 +8,7 @@ BC_VERSION = 1.06.95 BC_SOURCE = bc-$(BC_VERSION).tar.bz2 BC_SITE = http://alpha.gnu.org/gnu/bc BC_DEPENDENCIES = host-flex -BC_LICENSE = GPLv2+, LGPLv2.1+ +BC_LICENSE = GPL-2.0+, LGPL-2.1+ BC_LICENSE_FILES = COPYING COPYING.LIB # Build after busybox so target ends up with bc's "dc" version diff --git a/package/bcache-tools/Config.in b/package/bcache-tools/Config.in index 7e6319bce7..c8e3f6d1bf 100644 --- a/package/bcache-tools/Config.in +++ b/package/bcache-tools/Config.in @@ -7,13 +7,14 @@ config BR2_PACKAGE_BCACHE_TOOLS select BR2_PACKAGE_UTIL_LINUX_LIBBLKID help Bcache is a Linux kernel block layer cache. It allows one or - more fast disk drives such as flash-based solid state drives (SSDs) - to act as a cache for one or more slower hard disk drives. + more fast disk drives such as flash-based solid state drives + (SSDs) to act as a cache for one or more slower hard disk + drives. http://bcache.evilpiepirate.org/ - This is the user space bcache tools, required to setup the linux - bcache feature of the Linux kernel. + This is the user space bcache tools, required to setup the + linux bcache feature of the Linux kernel. comment "bcache-tools needs udev /dev management" depends on BR2_USE_MMU diff --git a/package/bcache-tools/bcache-tools.mk b/package/bcache-tools/bcache-tools.mk index 09604f6bf5..0e7a2821cd 100644 --- a/package/bcache-tools/bcache-tools.mk +++ b/package/bcache-tools/bcache-tools.mk @@ -6,7 +6,7 @@ BCACHE_TOOLS_VERSION = v1.0.8 BCACHE_TOOLS_SITE = $(call github,g2p,bcache-tools,$(BCACHE_TOOLS_VERSION)) -BCACHE_TOOLS_LICENSE = GPLv2 +BCACHE_TOOLS_LICENSE = GPL-2.0 BCACHE_TOOLS_LICENSE_FILES = COPYING BCACHE_TOOLS_DEPENDENCIES = host-pkgconf util-linux diff --git a/package/bcg729/Config.in b/package/bcg729/Config.in new file mode 100644 index 0000000000..8e9bcfe66b --- /dev/null +++ b/package/bcg729/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_BCG729 + bool "bcg729" + help + Bcg729 is an opensource implementation of both encoder and + decoder of the ITU G729 Annex A/B speech codec. + + http://www.linphone.org/technical-corner/bcg729/overview diff --git a/package/bcg729/bcg729.hash b/package/bcg729/bcg729.hash new file mode 100644 index 0000000000..4dbfbbbbb2 --- /dev/null +++ b/package/bcg729/bcg729.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 94b3542a06cbd96306efc19f959f9febae62806a22599063f82a8c33e989d48b bcg729-1.0.4.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/bcg729/bcg729.mk b/package/bcg729/bcg729.mk new file mode 100644 index 0000000000..426cfd90af --- /dev/null +++ b/package/bcg729/bcg729.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# bcg729 +# +################################################################################ + +BCG729_VERSION = 1.0.4 +BCG729_SITE = $(call github,BelledonneCommunications,bcg729,$(BCG729_VERSION)) +BCG729_LICENSE = GPL-2.0+ +BCG729_LICENSE_FILES = COPYING +BCG729_INSTALL_STAGING = YES + +ifeq ($(BR2_STATIC_LIBS),y) +BCG729_CONF_OPTS += -DENABLE_SHARED=OFF -DENABLE_STATIC=ON +else ifeq ($(BR2_SHARED_STATIC_LIBS),y) +BCG729_CONF_OPTS += -DENABLE_SHARED=ON -DENABLE_STATIC=ON +else ifeq ($(BR2_SHARED_LIBS),y) +BCG729_CONF_OPTS += -DENABLE_SHARED=ON -DENABLE_STATIC=OFF +endif + +$(eval $(cmake-package)) diff --git a/package/bcm2835/bcm2835.mk b/package/bcm2835/bcm2835.mk index c111a0ad5d..e24c819cae 100644 --- a/package/bcm2835/bcm2835.mk +++ b/package/bcm2835/bcm2835.mk @@ -6,7 +6,7 @@ BCM2835_VERSION = 1.48 BCM2835_SITE = http://www.airspayce.com/mikem/bcm2835 -BCM2835_LICENSE = GPLv2 +BCM2835_LICENSE = GPL-2.0 BCM2835_LICENSE_FILES = COPYING BCM2835_INSTALL_STAGING = YES diff --git a/package/bctoolbox/Config.in b/package/bctoolbox/Config.in index e9e69205f8..048d01282c 100644 --- a/package/bctoolbox/Config.in +++ b/package/bctoolbox/Config.in @@ -6,8 +6,7 @@ config BR2_PACKAGE_BCTOOLBOX Utilities library used by Belledonne Communications softwares like belle-sip, mediastreamer2 and linphone. - Select BR2_PACKAGE_MBEDTLS (preferred) or - BR2_PACKAGE_POLARSSL for crypto support. + Select BR2_PACKAGE_MBEDTLS for crypto support. https://github.com/BelledonneCommunications/bctoolbox diff --git a/package/bctoolbox/bctoolbox.mk b/package/bctoolbox/bctoolbox.mk index 78269751ef..281a0bf2a1 100644 --- a/package/bctoolbox/bctoolbox.mk +++ b/package/bctoolbox/bctoolbox.mk @@ -6,21 +6,20 @@ BCTOOLBOX_VERSION = 0.4.0 BCTOOLBOX_SITE = $(call github,BelledonneCommunications,bctoolbox,$(BCTOOLBOX_VERSION)) -BCTOOLBOX_LICENSE = GPLv2+ +BCTOOLBOX_LICENSE = GPL-2.0+ BCTOOLBOX_LICENSE_FILES = COPYING BCTOOLBOX_INSTALL_STAGING = YES # Set CMAKE_SKIP_RPATH to prevent bctoolbox from adding the rpath to # shared library. BCTOOLBOX_CONF_OPTS = \ + -DENABLE_POLARSSL=OFF \ -DENABLE_STRICT=OFF \ -DENABLE_TESTS_COMPONENT=OFF \ -DENABLE_TESTS=OFF \ -DGIT_EXECUTABLE=OFF \ -DCMAKE_SKIP_RPATH=ON -# bctoolbox can be build with mbedTLS or PolarSSL support. If both -# libraries are present, mbedTLS is preferred over PolarSSL. ifeq ($(BR2_PACKAGE_MBEDTLS),y) BCTOOLBOX_DEPENDENCIES += mbedtls BCTOOLBOX_CONF_OPTS += -DENABLE_MBEDTLS=ON @@ -28,13 +27,6 @@ else BCTOOLBOX_CONF_OPTS += -DENABLE_MBEDTLS=OFF endif -ifeq ($(BR2_PACKAGE_POLARSSL),y) -BCTOOLBOX_DEPENDENCIES += polarssl -BCTOOLBOX_CONF_OPTS += -DENABLE_POLARSSL=ON -else -BCTOOLBOX_CONF_OPTS += -DENABLE_POLARSSL=OFF -endif - ifeq ($(BR2_STATIC_LIBS),y) BCTOOLBOX_CONF_OPTS += -DENABLE_SHARED=OFF -DENABLE_STATIC=ON else ifeq ($(BR2_SHARED_STATIC_LIBS),y) diff --git a/package/bcusdk/0002-eibd-fix-endless-recursion-when-using-USB-backends.patch b/package/bcusdk/0002-eibd-fix-endless-recursion-when-using-USB-backends.patch new file mode 100644 index 0000000000..3b90289c88 --- /dev/null +++ b/package/bcusdk/0002-eibd-fix-endless-recursion-when-using-USB-backends.patch @@ -0,0 +1,35 @@ +From 6bd1b4958e949d83468e053c34bf6c89d14d687a Mon Sep 17 00:00:00 2001 +From: Kurt Van Dijck +Date: Fri, 25 Aug 2017 23:01:14 +0200 +Subject: [PATCH] eibd: drop local clock_gettime in USB backends + +clock_gettime is defined locally, and calls pth_int_time, which +in turn calls clock_gettime. +The USB backend shouldn't overrule clock_gettime in the first place. +This patch fixes this endless recursion by removing the local defition. + +Signed-off-by: Kurt Van Dijck +--- + eibd/usb/linux_usbfs.c | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/eibd/usb/linux_usbfs.c b/eibd/usb/linux_usbfs.c +index c3ec410..957b908 100644 +--- a/eibd/usb/linux_usbfs.c ++++ b/eibd/usb/linux_usbfs.c +@@ -52,12 +52,6 @@ int pthread_mutex_trylock(pthread_mutex_t *mutex) + return 0; + } + +-int clock_gettime(clockid_t clk_id, struct timespec *tp) +-{ +- pth_int_time (tp); +- return 0; +-} +- + /* sysfs vs usbfs: + * opening a usbfs node causes the device to be resumed, so we attempt to + * avoid this during enumeration. +-- +1.8.5.rc3 + diff --git a/package/bcusdk/bcusdk.mk b/package/bcusdk/bcusdk.mk index 697b5ce237..ff5becd84b 100644 --- a/package/bcusdk/bcusdk.mk +++ b/package/bcusdk/bcusdk.mk @@ -7,13 +7,14 @@ BCUSDK_VERSION = 0.0.5 BCUSDK_SOURCE = bcusdk_$(BCUSDK_VERSION).tar.gz BCUSDK_SITE = http://www.auto.tuwien.ac.at/~mkoegler/eib -BCUSDK_LICENSE = GPLv2+ +BCUSDK_LICENSE = GPL-2.0+ BCUSDK_LICENSE_FILES = COPYING BCUSDK_INSTALL_STAGING = YES BCUSDK_CONF_OPTS = \ --enable-onlyeibd \ --enable-ft12 \ --enable-pei16 \ + --enable-tpuarts \ --enable-eibnetip \ --enable-eibnetipserver \ --enable-eibnetiptunnel \ @@ -24,7 +25,6 @@ BCUSDK_DEPENDENCIES = \ libpthsem \ $(if $(BR2_PACKAGE_ARGP_STANDALONE),argp-standalone) - define BCUSDK_REMOVE_EXAMPLES $(RM) -rf $(TARGET_DIR)/usr/share/bcusdk endef diff --git a/package/bdwgc/0002-Do-not-include-sigcontext.h-and-asm-sigcontext.h.patch b/package/bdwgc/0002-Do-not-include-sigcontext.h-and-asm-sigcontext.h.patch deleted file mode 100644 index 40c9063103..0000000000 --- a/package/bdwgc/0002-Do-not-include-sigcontext.h-and-asm-sigcontext.h.patch +++ /dev/null @@ -1,61 +0,0 @@ -From c887470e0e3310c81ecdb7e736bc5d2ead45db2a Mon Sep 17 00:00:00 2001 -From: Ivan Maidanski -Date: Mon, 6 Apr 2015 20:06:47 +0300 -Subject: [PATCH 1/1] Do not include sigcontext.h and asm/sigcontext.h (these - Linux headers define sigcontext which is no longer used as replaced with - ucontext_t in GC 7.0alpha1) - -* os_dep.c: Do not include linux/version.h (do not test -LINUX_VERSION_CODE), asm/signal.h, sigcontext.h, asm/sigcontext.h -since struct sigcontext not used in GC v7+. - -Signed-off-by: Brendan Heading -Upstream-status: backport ---- - os_dep.c | 30 ------------------------------ - 1 file changed, 30 deletions(-) - -diff --git a/os_dep.c b/os_dep.c -index f62d4ed..a1bafbd 100644 ---- a/os_dep.c -+++ b/os_dep.c -@@ -16,36 +16,6 @@ - - #include "private/gc_priv.h" - --#if defined(LINUX) && !defined(POWERPC) && !defined(NO_SIGCONTEXT_H) --# include --# if (LINUX_VERSION_CODE <= 0x10400) -- /* Ugly hack to get struct sigcontext_struct definition. Required */ -- /* for some early 1.3.X releases. Will hopefully go away soon. */ -- /* in some later Linux releases, asm/sigcontext.h may have to */ -- /* be included instead. */ --# define __KERNEL__ --# include --# undef __KERNEL__ --# else -- /* Kernels prior to 2.1.1 defined struct sigcontext_struct instead of */ -- /* struct sigcontext. libc6 (glibc2) uses "struct sigcontext" in */ -- /* prototypes, so we have to include the top-level sigcontext.h to */ -- /* make sure the former gets defined to be the latter if appropriate. */ --# include --# if 2 <= __GLIBC__ --# if 2 == __GLIBC__ && 0 == __GLIBC_MINOR__ -- /* glibc 2.1 no longer has sigcontext.h. But signal.h */ -- /* has the right declaration for glibc 2.1. */ --# include --# endif /* 0 == __GLIBC_MINOR__ */ --# else /* __GLIBC__ < 2 */ -- /* libc5 doesn't have : go directly with the kernel */ -- /* one. Check LINUX_VERSION_CODE to see which we should reference. */ --# include --# endif /* __GLIBC__ < 2 */ --# endif --#endif /* LINUX && !POWERPC */ -- - #if !defined(OS2) && !defined(PCR) && !defined(AMIGA) && !defined(MACOS) \ - && !defined(MSWINCE) && !defined(__CC_ARM) - # include --- -2.4.3 - diff --git a/package/bdwgc/0002-Fix-uClibc-build.patch b/package/bdwgc/0002-Fix-uClibc-build.patch new file mode 100644 index 0000000000..55896eb199 --- /dev/null +++ b/package/bdwgc/0002-Fix-uClibc-build.patch @@ -0,0 +1,42 @@ +From 8d3caf00db5d71ec19f03fbf96cecf6f70b4e868 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sun, 28 May 2017 20:21:09 +0200 +Subject: [PATCH] Fix uClibc build + +uClibc defines __GLIBC__ but does not contain libc-version.h leading to +a build error: + +./include/private/gcconfig.h:1426:72: fatal error: gnu/libc-version.h: No such file or directory + +Patch sent upstream: https://github.com/ivmai/bdwgc/pull/164 + +Signed-off-by: Bernd Kuhls +--- + include/private/gcconfig.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/include/private/gcconfig.h b/include/private/gcconfig.h +index d7912e9e..bf17dd63 100644 +--- a/include/private/gcconfig.h ++++ b/include/private/gcconfig.h +@@ -1442,7 +1442,7 @@ + # define GC_PREFETCH_FOR_WRITE(x) \ + __asm__ __volatile__ ("prefetchw %0" : : "m"(*(char *)(x))) + # endif +-# if defined(__GLIBC__) ++# if defined(__GLIBC__) && !defined(__UCLIBC__) + /* Workaround lock elision implementation for some glibc. */ + # define GLIBC_2_19_TSX_BUG + # include /* for gnu_get_libc_version() */ +@@ -2455,7 +2455,7 @@ + /* FIXME: This seems to be fixed in GLibc v2.14. */ + # define GETCONTEXT_FPU_EXCMASK_BUG + # endif +-# if defined(__GLIBC__) ++# if defined(__GLIBC__) && !defined(__UCLIBC__) + /* Workaround lock elision implementation for some glibc. */ + # define GLIBC_2_19_TSX_BUG + # include /* for gnu_get_libc_version() */ +-- +2.11.0 + diff --git a/package/bdwgc/0003-Fix-size-of-tv-is-unknown-error-in-brief_async_signa.patch b/package/bdwgc/0003-Fix-size-of-tv-is-unknown-error-in-brief_async_signa.patch new file mode 100644 index 0000000000..e17ed84666 --- /dev/null +++ b/package/bdwgc/0003-Fix-size-of-tv-is-unknown-error-in-brief_async_signa.patch @@ -0,0 +1,35 @@ +From 31eef02317d59b4d204624efbddaea641e861390 Mon Sep 17 00:00:00 2001 +From: Mikael Djurfeldt +Date: Sun, 26 Feb 2017 20:09:56 +0100 +Subject: [PATCH] Fix 'size of tv is unknown' error in + brief_async_signal_safe_sleep (musl) (fix commits 62097c3, 9f48082) + +Include to get struct timeval defined and select() declared. + +* pthread_stop_world.c [GC_ENABLE_SUSPEND_THREAD]: Include sys/time.h +before GC_brief_async_signal_safe_sleep definition. + +Upstream status: upstream +commit ffad61d3bbe86c09ffe062dab393fcb0e4940580 + +[Romain: backported to 7.6.0] +Signed-off-by: Romain Naour +--- + pthread_stop_world.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/pthread_stop_world.c b/pthread_stop_world.c +index dad1fdc..8c76944 100644 +--- a/pthread_stop_world.c ++++ b/pthread_stop_world.c +@@ -391,6 +391,7 @@ STATIC void GC_restart_handler(int sig) + # ifndef GC_TIME_LIMIT + # define GC_TIME_LIMIT 50 + # endif ++# include + + STATIC void GC_brief_async_signal_safe_sleep(void) + { +-- +2.9.4 + diff --git a/package/bdwgc/0003-Revert-Move-asm-machine-dependent-files-to-src-folde.patch b/package/bdwgc/0003-Revert-Move-asm-machine-dependent-files-to-src-folde.patch deleted file mode 100644 index 03af6a3990..0000000000 --- a/package/bdwgc/0003-Revert-Move-asm-machine-dependent-files-to-src-folde.patch +++ /dev/null @@ -1,424 +0,0 @@ -Signed-off-by: Waldemar Brodkorb - -From 5e756d4d8df2949cb3b6e51532d3016cbb276fd7 Mon Sep 17 00:00:00 2001 -From: Ivan Maidanski -Date: Fri, 27 Feb 2015 21:32:22 +0300 -Subject: [PATCH 004/135] Revert "Move asm machine-dependent files to 'src' - folder" (partly) - -Asm files moved back to base folder to avoid build issues (reported -for NetBSD and Solaris on Sparc). Alternative way is to adjust -configure.ac and Makefile.am properly but it requires more efforts -(including testing). - -* Makefile.am (EXTRA_libgc_la_SOURCES): Remove "src/" prefix. -* Makefile.direct (SRCS, mach_dep.o): Likewise. -* src/ia64_save_regs_in_stack.s: Move to base folder. -* src/sparc_mach_dep.S: Likewise. -* src/sparc_netbsd_mach_dep.s: Likewise. -* src/sparc_sunos4_mach_dep.s: Likewise. - ---- - Makefile.am | 4 +-- - Makefile.direct | 20 +++++++------- - ia64_save_regs_in_stack.s | 11 ++++++++ - sparc_mach_dep.S | 61 +++++++++++++++++++++++++++++++++++++++++ - sparc_netbsd_mach_dep.s | 34 +++++++++++++++++++++++ - sparc_sunos4_mach_dep.s | 32 +++++++++++++++++++++ - src/ia64_save_regs_in_stack.s | 11 -------- - src/sparc_mach_dep.S | 61 ----------------------------------------- - src/sparc_netbsd_mach_dep.s | 34 ----------------------- - src/sparc_sunos4_mach_dep.s | 32 --------------------- - 11 files changed, 151 insertions(+), 151 deletions(-) - create mode 100644 ia64_save_regs_in_stack.s - create mode 100644 sparc_mach_dep.S - create mode 100644 sparc_netbsd_mach_dep.s - create mode 100644 sparc_sunos4_mach_dep.s - delete mode 100644 src/ia64_save_regs_in_stack.s - delete mode 100644 src/sparc_mach_dep.S - delete mode 100644 src/sparc_netbsd_mach_dep.s - delete mode 100644 src/sparc_sunos4_mach_dep.s - -diff --git a/Makefile.am b/Makefile.am -index f8057db..1688be2 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -100,8 +100,8 @@ libgc_la_LIBADD = @addobjs@ $(THREADDLLIBS) $(UNWINDLIBS) $(ATOMIC_OPS_LIBS) - libgc_la_DEPENDENCIES = @addobjs@ - libgc_la_LDFLAGS = $(extra_ldflags_libgc) -version-info 1:3:0 -no-undefined - --EXTRA_libgc_la_SOURCES = src/ia64_save_regs_in_stack.s src/sparc_mach_dep.S \ -- src/sparc_netbsd_mach_dep.s src/sparc_sunos4_mach_dep.s -+EXTRA_libgc_la_SOURCES = ia64_save_regs_in_stack.s sparc_mach_dep.S \ -+ sparc_netbsd_mach_dep.s sparc_sunos4_mach_dep.s - - - # C++ Interface -diff --git a/Makefile.direct b/Makefile.direct -index d64598b..8ab80e8 100644 ---- a/Makefile.direct -+++ b/Makefile.direct -@@ -108,8 +108,8 @@ SRCS= $(CSRCS) \ - include/gc_config_macros.h include/private/pthread_support.h \ - include/private/pthread_stop_world.h include/private/darwin_semaphore.h \ - include/private/darwin_stop_world.h include/private/thread_local_alloc.h \ -- src/ia64_save_regs_in_stack.s src/sparc_mach_dep.S \ -- src/sparc_netbsd_mach_dep.s src/sparc_sunos4_mach_dep.s $(CORD_SRCS) -+ ia64_save_regs_in_stack.s sparc_mach_dep.S \ -+ sparc_netbsd_mach_dep.s sparc_sunos4_mach_dep.s $(CORD_SRCS) - - DOC_FILES= README.QUICK TODO doc/README.Mac doc/README.OS2 \ - doc/README.amiga doc/README.cords doc/debugging.html \ -@@ -309,17 +309,17 @@ dyn_test: - # gcc -shared -Wl,-soname=libgc.so.0 -o libgc.so.0 $(LIBOBJS) dyn_load.lo - # touch liblinuxgc.so - --mach_dep.o: $(srcdir)/mach_dep.c $(srcdir)/src/sparc_mach_dep.S \ -- $(srcdir)/src/sparc_sunos4_mach_dep.s \ -- $(srcdir)/src/ia64_save_regs_in_stack.s \ -- $(srcdir)/src/sparc_netbsd_mach_dep.s $(UTILS) -+mach_dep.o: $(srcdir)/mach_dep.c $(srcdir)/sparc_mach_dep.S \ -+ $(srcdir)/sparc_sunos4_mach_dep.s \ -+ $(srcdir)/ia64_save_regs_in_stack.s \ -+ $(srcdir)/sparc_netbsd_mach_dep.s $(UTILS) - rm -f mach_dep.o -- ./if_mach SPARC SOLARIS $(CC) -c -o mach_dep2.o $(srcdir)/src/sparc_mach_dep.S -- ./if_mach SPARC OPENBSD $(AS) -o mach_dep2.o $(srcdir)/src/sparc_sunos4_mach_dep.s -- ./if_mach SPARC NETBSD $(AS) -o mach_dep2.o $(srcdir)/src/sparc_netbsd_mach_dep.s -+ ./if_mach SPARC SOLARIS $(CC) -c -o mach_dep2.o $(srcdir)/sparc_mach_dep.S -+ ./if_mach SPARC OPENBSD $(AS) -o mach_dep2.o $(srcdir)/sparc_sunos4_mach_dep.s -+ ./if_mach SPARC NETBSD $(AS) -o mach_dep2.o $(srcdir)/sparc_netbsd_mach_dep.s - ./if_mach SPARC "" $(CC) -c -o mach_dep1.o $(SPECIALCFLAGS) $(srcdir)/mach_dep.c - ./if_mach SPARC "" ld -r -o mach_dep.o mach_dep1.o mach_dep2.o -- ./if_mach IA64 "" as $(AS_ABI_FLAG) -o ia64_save_regs_in_stack.o $(srcdir)/src/ia64_save_regs_in_stack.s -+ ./if_mach IA64 "" as $(AS_ABI_FLAG) -o ia64_save_regs_in_stack.o $(srcdir)/ia64_save_regs_in_stack.s - ./if_mach IA64 "" $(CC) -c -o mach_dep1.o $(SPECIALCFLAGS) $(srcdir)/mach_dep.c - ./if_mach IA64 "" ld -r -o mach_dep.o mach_dep1.o ia64_save_regs_in_stack.o - ./if_not_there mach_dep.o $(CC) -c $(SPECIALCFLAGS) $(srcdir)/mach_dep.c -diff --git a/ia64_save_regs_in_stack.s b/ia64_save_regs_in_stack.s -new file mode 100644 -index 0000000..2b81edf ---- /dev/null -+++ b/ia64_save_regs_in_stack.s -@@ -0,0 +1,11 @@ -+ .text -+ .align 16 -+ .global GC_save_regs_in_stack -+ .proc GC_save_regs_in_stack -+GC_save_regs_in_stack: -+ .body -+ flushrs -+ ;; -+ mov r8=ar.bsp -+ br.ret.sptk.few rp -+ .endp GC_save_regs_in_stack -diff --git a/sparc_mach_dep.S b/sparc_mach_dep.S -new file mode 100644 -index 0000000..d204dc4 ---- /dev/null -+++ b/sparc_mach_dep.S -@@ -0,0 +1,61 @@ -+! SPARCompiler 3.0 and later apparently no longer handles -+! asm outside functions. So we need a separate .s file -+! This is only set up for SunOS 5, not SunOS 4. -+! Assumes this is called before the stack contents are -+! examined. -+ -+ .seg "text" -+ .globl GC_save_regs_in_stack -+GC_save_regs_in_stack: -+#if defined(__arch64__) || defined(__sparcv9) -+ save %sp,-128,%sp -+ flushw -+ ret -+ restore %sp,2047+128,%o0 -+#else /* 32 bit SPARC */ -+ ta 0x3 ! ST_FLUSH_WINDOWS -+ mov %sp,%o0 -+ retl -+ nop -+#endif /* 32 bit SPARC */ -+.GC_save_regs_in_stack_end: -+ .size GC_save_regs_in_stack,.GC_save_regs_in_stack_end-GC_save_regs_in_stack -+ -+! GC_clear_stack_inner(arg, limit) clears stack area up to limit and -+! returns arg. Stack clearing is crucial on SPARC, so we supply -+! an assembly version that s more careful. Assumes limit is hotter -+! than sp, and limit is 8 byte aligned. -+ .globl GC_clear_stack_inner -+GC_clear_stack_inner: -+#if defined(__arch64__) || defined(__sparcv9) -+ mov %sp,%o2 ! Save sp -+ add %sp,2047-8,%o3 ! p = sp+bias-8 -+ add %o1,-2047-192,%sp ! Move sp out of the way, -+ ! so that traps still work. -+ ! Includes some extra words -+ ! so we can be sloppy below. -+loop: -+ stx %g0,[%o3] ! *(long *)p = 0 -+ cmp %o3,%o1 -+ bgu,pt %xcc, loop ! if (p > limit) goto loop -+ add %o3,-8,%o3 ! p -= 8 (delay slot) -+ retl -+ mov %o2,%sp ! Restore sp., delay slot -+#else /* 32 bit SPARC */ -+ mov %sp,%o2 ! Save sp -+ add %sp,-8,%o3 ! p = sp-8 -+ clr %g1 ! [g0,g1] = 0 -+ add %o1,-0x60,%sp ! Move sp out of the way, -+ ! so that traps still work. -+ ! Includes some extra words -+ ! so we can be sloppy below. -+loop: -+ std %g0,[%o3] ! *(long long *)p = 0 -+ cmp %o3,%o1 -+ bgu loop ! if (p > limit) goto loop -+ add %o3,-8,%o3 ! p -= 8 (delay slot) -+ retl -+ mov %o2,%sp ! Restore sp., delay slot -+#endif /* 32 bit SPARC */ -+.GC_clear_stack_inner_end: -+ .size GC_clear_stack_inner,.GC_clear_stack_inner_end-GC_clear_stack_inner -diff --git a/sparc_netbsd_mach_dep.s b/sparc_netbsd_mach_dep.s -new file mode 100644 -index 0000000..14feb15 ---- /dev/null -+++ b/sparc_netbsd_mach_dep.s -@@ -0,0 +1,34 @@ -+! SPARCompiler 3.0 and later apparently no longer handles -+! asm outside functions. So we need a separate .s file -+! This is only set up for SunOS 4. -+! Assumes this is called before the stack contents are -+! examined. -+ -+#include "machine/asm.h" -+ -+ .seg "text" -+ .globl _C_LABEL(GC_save_regs_in_stack) -+ .globl _C_LABEL(GC_push_regs) -+_C_LABEL(GC_save_regs_in_stack): -+_C_LABEL(GC_push_regs): -+ ta 0x3 ! ST_FLUSH_WINDOWS -+ mov %sp,%o0 -+ retl -+ nop -+ -+ .globl _C_LABEL(GC_clear_stack_inner) -+_C_LABEL(GC_clear_stack_inner): -+ mov %sp,%o2 ! Save sp -+ add %sp,-8,%o3 ! p = sp-8 -+ clr %g1 ! [g0,g1] = 0 -+ add %o1,-0x60,%sp ! Move sp out of the way, -+ ! so that traps still work. -+ ! Includes some extra words -+ ! so we can be sloppy below. -+loop: -+ std %g0,[%o3] ! *(long long *)p = 0 -+ cmp %o3,%o1 -+ bgu loop ! if (p > limit) goto loop -+ add %o3,-8,%o3 ! p -= 8 (delay slot) -+ retl -+ mov %o2,%sp ! Restore sp., delay slot -diff --git a/sparc_sunos4_mach_dep.s b/sparc_sunos4_mach_dep.s -new file mode 100644 -index 0000000..923f5ea ---- /dev/null -+++ b/sparc_sunos4_mach_dep.s -@@ -0,0 +1,32 @@ -+! SPARCompiler 3.0 and later apparently no longer handles -+! asm outside functions. So we need a separate .s file -+! This is only set up for SunOS 4. -+! Assumes this is called before the stack contents are -+! examined. -+ -+ .seg "text" -+ .globl _GC_save_regs_in_stack -+ .globl _GC_push_regs -+_GC_save_regs_in_stack: -+_GC_push_regs: -+ ta 0x3 ! ST_FLUSH_WINDOWS -+ mov %sp,%o0 -+ retl -+ nop -+ -+ .globl _GC_clear_stack_inner -+_GC_clear_stack_inner: -+ mov %sp,%o2 ! Save sp -+ add %sp,-8,%o3 ! p = sp-8 -+ clr %g1 ! [g0,g1] = 0 -+ add %o1,-0x60,%sp ! Move sp out of the way, -+ ! so that traps still work. -+ ! Includes some extra words -+ ! so we can be sloppy below. -+loop: -+ std %g0,[%o3] ! *(long long *)p = 0 -+ cmp %o3,%o1 -+ bgu loop ! if (p > limit) goto loop -+ add %o3,-8,%o3 ! p -= 8 (delay slot) -+ retl -+ mov %o2,%sp ! Restore sp., delay slot -diff --git a/src/ia64_save_regs_in_stack.s b/src/ia64_save_regs_in_stack.s -deleted file mode 100644 -index 2b81edf..0000000 ---- a/src/ia64_save_regs_in_stack.s -+++ /dev/null -@@ -1,11 +0,0 @@ -- .text -- .align 16 -- .global GC_save_regs_in_stack -- .proc GC_save_regs_in_stack --GC_save_regs_in_stack: -- .body -- flushrs -- ;; -- mov r8=ar.bsp -- br.ret.sptk.few rp -- .endp GC_save_regs_in_stack -diff --git a/src/sparc_mach_dep.S b/src/sparc_mach_dep.S -deleted file mode 100644 -index d204dc4..0000000 ---- a/src/sparc_mach_dep.S -+++ /dev/null -@@ -1,61 +0,0 @@ --! SPARCompiler 3.0 and later apparently no longer handles --! asm outside functions. So we need a separate .s file --! This is only set up for SunOS 5, not SunOS 4. --! Assumes this is called before the stack contents are --! examined. -- -- .seg "text" -- .globl GC_save_regs_in_stack --GC_save_regs_in_stack: --#if defined(__arch64__) || defined(__sparcv9) -- save %sp,-128,%sp -- flushw -- ret -- restore %sp,2047+128,%o0 --#else /* 32 bit SPARC */ -- ta 0x3 ! ST_FLUSH_WINDOWS -- mov %sp,%o0 -- retl -- nop --#endif /* 32 bit SPARC */ --.GC_save_regs_in_stack_end: -- .size GC_save_regs_in_stack,.GC_save_regs_in_stack_end-GC_save_regs_in_stack -- --! GC_clear_stack_inner(arg, limit) clears stack area up to limit and --! returns arg. Stack clearing is crucial on SPARC, so we supply --! an assembly version that s more careful. Assumes limit is hotter --! than sp, and limit is 8 byte aligned. -- .globl GC_clear_stack_inner --GC_clear_stack_inner: --#if defined(__arch64__) || defined(__sparcv9) -- mov %sp,%o2 ! Save sp -- add %sp,2047-8,%o3 ! p = sp+bias-8 -- add %o1,-2047-192,%sp ! Move sp out of the way, -- ! so that traps still work. -- ! Includes some extra words -- ! so we can be sloppy below. --loop: -- stx %g0,[%o3] ! *(long *)p = 0 -- cmp %o3,%o1 -- bgu,pt %xcc, loop ! if (p > limit) goto loop -- add %o3,-8,%o3 ! p -= 8 (delay slot) -- retl -- mov %o2,%sp ! Restore sp., delay slot --#else /* 32 bit SPARC */ -- mov %sp,%o2 ! Save sp -- add %sp,-8,%o3 ! p = sp-8 -- clr %g1 ! [g0,g1] = 0 -- add %o1,-0x60,%sp ! Move sp out of the way, -- ! so that traps still work. -- ! Includes some extra words -- ! so we can be sloppy below. --loop: -- std %g0,[%o3] ! *(long long *)p = 0 -- cmp %o3,%o1 -- bgu loop ! if (p > limit) goto loop -- add %o3,-8,%o3 ! p -= 8 (delay slot) -- retl -- mov %o2,%sp ! Restore sp., delay slot --#endif /* 32 bit SPARC */ --.GC_clear_stack_inner_end: -- .size GC_clear_stack_inner,.GC_clear_stack_inner_end-GC_clear_stack_inner -diff --git a/src/sparc_netbsd_mach_dep.s b/src/sparc_netbsd_mach_dep.s -deleted file mode 100644 -index 14feb15..0000000 ---- a/src/sparc_netbsd_mach_dep.s -+++ /dev/null -@@ -1,34 +0,0 @@ --! SPARCompiler 3.0 and later apparently no longer handles --! asm outside functions. So we need a separate .s file --! This is only set up for SunOS 4. --! Assumes this is called before the stack contents are --! examined. -- --#include "machine/asm.h" -- -- .seg "text" -- .globl _C_LABEL(GC_save_regs_in_stack) -- .globl _C_LABEL(GC_push_regs) --_C_LABEL(GC_save_regs_in_stack): --_C_LABEL(GC_push_regs): -- ta 0x3 ! ST_FLUSH_WINDOWS -- mov %sp,%o0 -- retl -- nop -- -- .globl _C_LABEL(GC_clear_stack_inner) --_C_LABEL(GC_clear_stack_inner): -- mov %sp,%o2 ! Save sp -- add %sp,-8,%o3 ! p = sp-8 -- clr %g1 ! [g0,g1] = 0 -- add %o1,-0x60,%sp ! Move sp out of the way, -- ! so that traps still work. -- ! Includes some extra words -- ! so we can be sloppy below. --loop: -- std %g0,[%o3] ! *(long long *)p = 0 -- cmp %o3,%o1 -- bgu loop ! if (p > limit) goto loop -- add %o3,-8,%o3 ! p -= 8 (delay slot) -- retl -- mov %o2,%sp ! Restore sp., delay slot -diff --git a/src/sparc_sunos4_mach_dep.s b/src/sparc_sunos4_mach_dep.s -deleted file mode 100644 -index 923f5ea..0000000 ---- a/src/sparc_sunos4_mach_dep.s -+++ /dev/null -@@ -1,32 +0,0 @@ --! SPARCompiler 3.0 and later apparently no longer handles --! asm outside functions. So we need a separate .s file --! This is only set up for SunOS 4. --! Assumes this is called before the stack contents are --! examined. -- -- .seg "text" -- .globl _GC_save_regs_in_stack -- .globl _GC_push_regs --_GC_save_regs_in_stack: --_GC_push_regs: -- ta 0x3 ! ST_FLUSH_WINDOWS -- mov %sp,%o0 -- retl -- nop -- -- .globl _GC_clear_stack_inner --_GC_clear_stack_inner: -- mov %sp,%o2 ! Save sp -- add %sp,-8,%o3 ! p = sp-8 -- clr %g1 ! [g0,g1] = 0 -- add %o1,-0x60,%sp ! Move sp out of the way, -- ! so that traps still work. -- ! Includes some extra words -- ! so we can be sloppy below. --loop: -- std %g0,[%o3] ! *(long long *)p = 0 -- cmp %o3,%o1 -- bgu loop ! if (p > limit) goto loop -- add %o3,-8,%o3 ! p -= 8 (delay slot) -- retl -- mov %o2,%sp ! Restore sp., delay slot --- -1.7.10.4 - diff --git a/package/bdwgc/0003-configure-match-uclinux-pattern.patch b/package/bdwgc/0003-configure-match-uclinux-pattern.patch new file mode 100644 index 0000000000..b2c61982a4 --- /dev/null +++ b/package/bdwgc/0003-configure-match-uclinux-pattern.patch @@ -0,0 +1,27 @@ +From a628c90bdbf397465ac2ab2b11f14eb2e853651c Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Sat, 6 Aug 2016 23:24:35 +0200 +Subject: [PATCH] configure: match uclinux pattern + +BDWGC does not recognize "uclinux" as a valid OS part of the target +tuple which is used by some arm cortex-M toolchains. + +* configure.ac [$THREADS=pthreads] (GC_LINUX_THREADS, _REENTRANT): Define +for hosts matching "*-*-*linux*" (instead of "*-*-linux*"). +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 22353547..fa745b56 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -190,7 +190,7 @@ case "$THREADS" in + AC_DEFINE(THREAD_LOCAL_ALLOC) + AC_MSG_WARN("Explicit GC_INIT() calls may be required."); + ;; +- *-*-linux* | *-*-nacl*) ++ *-*-*linux* | *-*-nacl*) + AC_DEFINE(GC_LINUX_THREADS) + AC_DEFINE(_REENTRANT) + ;; diff --git a/package/bdwgc/0004-configure-match-uclinux-pattern.patch b/package/bdwgc/0004-configure-match-uclinux-pattern.patch deleted file mode 100644 index 78bad1c595..0000000000 --- a/package/bdwgc/0004-configure-match-uclinux-pattern.patch +++ /dev/null @@ -1,32 +0,0 @@ -From f8ecc7fb09adf34a23d324f373e667c81311fc1c Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sat, 6 Aug 2016 23:24:35 +0200 -Subject: [PATCH] configure: match uclinux pattern - -bdwgc does not recognize "uclinux" as a valid OS part of the target -tuple which is used by some arm cortex-M toolchains. - -Fixes: -http://autobuild.buildroot.net/results/94f/94fbc1e5afe183e5b071d1e869b2d780025389e2 - -Signed-off-by: Romain Naour ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index b1ce2b2..a69d101 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -186,7 +186,7 @@ case "$THREADS" in - AC_DEFINE(THREAD_LOCAL_ALLOC) - AC_MSG_WARN("Explicit GC_INIT() calls may be required."); - ;; -- *-*-linux*) -+ *-*-*linux*) - AC_DEFINE(GC_LINUX_THREADS) - AC_DEFINE(_REENTRANT) - ;; --- -2.5.5 - diff --git a/package/bdwgc/bdwgc.hash b/package/bdwgc/bdwgc.hash index 44414e4efa..4b41e1d85b 100644 --- a/package/bdwgc/bdwgc.hash +++ b/package/bdwgc/bdwgc.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 63320ad7c45460e4a40e03f5aa4c6893783f21a16416c3282b994f933312afa2 gc-7.4.2.tar.gz +sha256 a14a28b1129be90e55cd6f71127ffc5594e1091d5d54131528c24cd0c03b7d90 gc-7.6.0.tar.gz diff --git a/package/bdwgc/bdwgc.mk b/package/bdwgc/bdwgc.mk index 0e9054df3c..e148f7223b 100644 --- a/package/bdwgc/bdwgc.mk +++ b/package/bdwgc/bdwgc.mk @@ -4,7 +4,7 @@ # ################################################################################ -BDWGC_VERSION = 7.4.2 +BDWGC_VERSION = 7.6.0 BDWGC_SOURCE = gc-$(BDWGC_VERSION).tar.gz BDWGC_SITE = http://www.hboehm.info/gc/gc_source BDWGC_INSTALL_STAGING = YES diff --git a/package/beecrypt/0003-build-system.patch b/package/beecrypt/0002-build-system.patch similarity index 100% rename from package/beecrypt/0003-build-system.patch rename to package/beecrypt/0002-build-system.patch diff --git a/package/beecrypt/0002-icu-check-cross-compile.patch b/package/beecrypt/0002-icu-check-cross-compile.patch deleted file mode 100644 index cc02116506..0000000000 --- a/package/beecrypt/0002-icu-check-cross-compile.patch +++ /dev/null @@ -1,31 +0,0 @@ -configure: Use AC_COMPILE_IFELSE for ICU check for cross compilation compat - -AC_RUN_IFELSE doesn't work when cross compiling, but we can do the -check in the preprocessor instead, so use AC_COMPILE_IFELSE instead. - -Signed-off-by: Peter Korsgaard ---- - configure.ac | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -Index: beecrypt-4.2.1/configure.ac -=================================================================== ---- beecrypt-4.2.1.orig/configure.ac -+++ beecrypt-4.2.1/configure.ac -@@ -295,13 +295,13 @@ - if test "$ac_with_cplusplus" = yes; then - AC_MSG_CHECKING([for IBM's ICU library version >= 2.8]) - AC_LANG_PUSH(C) -- AC_RUN_IFELSE([ -+ AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[#include ]],[[ - #if U_ICU_VERSION_MAJOR_NUM < 2 -- exit(1); -+ #error too old - #elif U_ICU_VERSION_MAJOR_NUM == 2 - # if U_ICU_VERSION_MINOR_NUM < 8 -- exit(1); -+ #error too old - # else - exit(0); - # endif diff --git a/package/beecrypt/0004-gcc-4.7.patch b/package/beecrypt/0004-gcc-4.7.patch deleted file mode 100644 index 767f789069..0000000000 --- a/package/beecrypt/0004-gcc-4.7.patch +++ /dev/null @@ -1,19 +0,0 @@ -Really fixes gcc-4.7 related compile error: -../../include/beecrypt/c++/util/AbstractSet.h:59:27: error: 'containsAll' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] - -Downloaded from upstream bugtracker: -http://sourceforge.net/p/beecrypt/patches/10/ - -Signed-off-by: Bernd Kuhls - ---- a/include/beecrypt/c++/util/AbstractSet.h -+++ b/include/beecrypt/c++/util/AbstractSet.h -@@ -56,7 +56,7 @@ - if (c->size() != size()) - return false; - -- return containsAll(*c); -+ return this->containsAll(*c); - } - return false; - } diff --git a/package/beecrypt/Config.in b/package/beecrypt/Config.in index 069f3d5cfd..9aec85afdb 100644 --- a/package/beecrypt/Config.in +++ b/package/beecrypt/Config.in @@ -8,22 +8,3 @@ config BR2_PACKAGE_BEECRYPT Beecrypt is a general-purpose cryptography library. http://beecrypt.sf.net - -if BR2_PACKAGE_BEECRYPT - -config BR2_PACKAGE_BEECRYPT_CPP - bool "C++ support" - depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_USE_WCHAR # icu - depends on !BR2_BINFMT_FLAT # icu - depends on !BR2_STATIC_LIBS - select BR2_PACKAGE_ICU - help - Enable C++ support. This pulls in the (large) icu package. - -comment "C++ support needs a toolchain w/ C++, wchar, dynamic libraries" - depends on !BR2_BINFMT_FLAT - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR \ - || BR2_STATIC_LIBS - -endif # BR2_PACKAGE_BEECRYPT diff --git a/package/beecrypt/beecrypt.mk b/package/beecrypt/beecrypt.mk index bd29b3b2c8..f13f72c8ac 100644 --- a/package/beecrypt/beecrypt.mk +++ b/package/beecrypt/beecrypt.mk @@ -8,14 +8,15 @@ BEECRYPT_VERSION = 4.2.1 BEECRYPT_SITE = http://downloads.sourceforge.net/project/beecrypt/beecrypt/$(BEECRYPT_VERSION) BEECRYPT_AUTORECONF = YES BEECRYPT_INSTALL_STAGING = YES -BEECRYPT_LICENSE = LGPLv2.1+ +BEECRYPT_LICENSE = LGPL-2.1+ BEECRYPT_LICENSE_FILES = COPYING.LIB BEECRYPT_CONF_OPTS = \ --disable-expert-mode \ --without-java \ --without-python \ - --disable-openmp + --disable-openmp \ + --without-cplusplus # disable optimized m68k assembly as it doesn't compile for coldfire ifeq ($(BR2_m68k_cf),y) @@ -27,19 +28,11 @@ ifeq ($(BR2_arm):$(BR2_ARM_CPU_HAS_ARM),y:) BEECRYPT_CONF_OPTS += --enable-debug endif -ifeq ($(BR2_PACKAGE_BEECRYPT_CPP),y) -BEECRYPT_DEPENDENCIES += icu -BEECRYPT_CONF_OPTS += --with-cplusplus -else -BEECRYPT_CONF_OPTS += --without-cplusplus - # automake/libtool uses the C++ compiler to link libbeecrypt because of # (the optional) cppglue.cxx. Force it to use the C compiler instead. define BEECRYPT_LINK_WITH_CC $(SED) 's/--tag=CXX/--tag=CC/g' $(@D)/Makefile endef - BEECRYPT_POST_CONFIGURE_HOOKS += BEECRYPT_LINK_WITH_CC -endif $(eval $(autotools-package)) diff --git a/package/bellagio/bellagio.mk b/package/bellagio/bellagio.mk index 6db753d504..4e5c6912ec 100644 --- a/package/bellagio/bellagio.mk +++ b/package/bellagio/bellagio.mk @@ -9,7 +9,7 @@ BELLAGIO_SOURCE = libomxil-bellagio-$(BELLAGIO_VERSION).tar.gz BELLAGIO_SITE = http://downloads.sourceforge.net/project/omxil/omxil/Bellagio%20$(BELLAGIO_VERSION) BELLAGIO_AUTORECONF = YES BELLAGIO_INSTALL_STAGING = YES -BELLAGIO_LICENSE = LGPLv2.1+ +BELLAGIO_LICENSE = LGPL-2.1+ BELLAGIO_LICENSE_FILES = COPYING BELLAGIO_PROVIDES = libopenmax diff --git a/package/benejson/benejson.hash b/package/benejson/benejson.hash index 1dfda90d3f..696dc4f3f6 100644 --- a/package/benejson/benejson.hash +++ b/package/benejson/benejson.hash @@ -1,2 +1,2 @@ -# Localy computed +# Locally computed sha256 2ce5f3c2323500bdf651e7fcaecbd1011997141e6067567b8d2caa4cf7182f4a benejson-0.9.7.tar.gz diff --git a/package/berkeleydb/Config.in b/package/berkeleydb/Config.in index 5531b04463..f32d13ab17 100644 --- a/package/berkeleydb/Config.in +++ b/package/berkeleydb/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_BERKELEYDB bool "berkeleydb" help - The Berkeley database. A very common library for database - applications. + The Berkeley database. A very common library for + database applications. http://www.sleepycat.com/products/db.shtml @@ -16,6 +16,7 @@ config BR2_PACKAGE_BERKELEYDB_COMPAT185 config BR2_PACKAGE_BERKELEYDB_TOOLS bool "install tools" help - Install berkeleydb tools, mostly useful for debugging purposes. + Install berkeleydb tools, mostly useful for debugging + purposes. endif diff --git a/package/bind/Config.in b/package/bind/Config.in index a580f0ee66..049a90cbaf 100644 --- a/package/bind/Config.in +++ b/package/bind/Config.in @@ -4,14 +4,16 @@ config BR2_PACKAGE_BIND depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS help - BIND (Berkeley Internet Name Domain) is an implementation of - the Domain Name System (DNS) protocols and provides an openly - redistributable reference implementation of the major - components of the Domain Name System, including: + BIND (Berkeley Internet Name Domain) is an + implementation of the Domain Name System (DNS) protocols + and provides an openly redistributable reference + implementation of the major components of the Domain + Name System, including: * a Domain Name System server (named) * a Domain Name System resolver library - * tools for verifying the proper operation of the DNS server + * tools for verifying the proper operation of the DNS + server The BIND DNS Server is used on the vast majority of name serving machines on the Internet, providing a robust and @@ -19,7 +21,8 @@ config BR2_PACKAGE_BIND architecture can be built. The resolver library included in the BIND distribution provides the standard APIs for translation between domain names and Internet addresses and is - intended to be linked with applications requiring name service. + intended to be linked with applications requiring name + service. http://www.isc.org/sw/bind/ diff --git a/package/bind/bind.hash b/package/bind/bind.hash index 780e43b9a0..95362309e1 100644 --- a/package/bind/bind.hash +++ b/package/bind/bind.hash @@ -1,2 +1,3 @@ -# Verified from http://ftp.isc.org/isc/bind9/9.11.0-P3/bind-9.11.0-P3.tar.gz.sha256.asc -sha256 0feee0374bcbdee73a9d4277f3c5007622279572d520d7c27a4b64015d8ca9e9 bind-9.11.0-P3.tar.gz +# Verified from http://ftp.isc.org/isc/bind9/9.11.2/bind-9.11.2.tar.gz.sha256.asc +sha256 7f46ad8620f7c3b0ac375d7a5211b15677708fda84ce25d7aeb7222fe2e3c77a bind-9.11.2.tar.gz +sha256 d3906dfe153e2c48440d3ca1d5319f5e89b4b820cdfc5d0779c23d7ac2b175e9 COPYRIGHT diff --git a/package/bind/bind.mk b/package/bind/bind.mk index 860ee9d5e8..f6aa7253ed 100644 --- a/package/bind/bind.mk +++ b/package/bind/bind.mk @@ -4,13 +4,13 @@ # ################################################################################ -BIND_VERSION = 9.11.0-P3 -BIND_SITE = ftp://ftp.isc.org/isc/bind9/$(BIND_VERSION) +BIND_VERSION = 9.11.2 +BIND_SITE = http://ftp.isc.org/isc/bind9/$(BIND_VERSION) # bind does not support parallel builds. BIND_MAKE = $(MAKE1) BIND_INSTALL_STAGING = YES BIND_CONFIG_SCRIPTS = bind9-config isc-config.sh -BIND_LICENSE = MPLv2.0 +BIND_LICENSE = MPL-2.0 BIND_LICENSE_FILES = COPYRIGHT BIND_TARGET_SERVER_SBIN = arpaname ddns-confgen dnssec-checkds dnssec-coverage BIND_TARGET_SERVER_SBIN += dnssec-importkey dnssec-keygen dnssec-revoke @@ -24,12 +24,12 @@ BIND_CONF_ENV = \ BUILD_CC="$(TARGET_CC)" \ BUILD_CFLAGS="$(TARGET_CFLAGS)" BIND_CONF_OPTS = \ + --without-lmdb \ --with-libjson=no \ --with-randomdev=/dev/urandom \ --enable-epoll \ --with-libtool \ --with-gssapi=no \ - --enable-rrl \ --enable-filter-aaaa ifeq ($(BR2_PACKAGE_ZLIB),y) diff --git a/package/binutils/2.25.1/120-sh-conf.patch b/package/binutils/2.25.1/120-sh-conf.patch deleted file mode 100644 index ea3d1b6068..0000000000 --- a/package/binutils/2.25.1/120-sh-conf.patch +++ /dev/null @@ -1,29 +0,0 @@ -r10231 | lethal | 2005-05-02 09:58:00 -0400 (Mon, 02 May 2005) | 13 lines - -Likewise, binutils has no idea about any of these new targets either, so we -fix that up too.. now we're able to actually build a real toolchain for -sh2a_nofpu- and other more ineptly named toolchains (and yes, there are more -inept targets than that one, really. Go look, I promise). - ---- a/configure -+++ b/configure -@@ -1495,7 +1495,7 @@ - mips*-*-*) - noconfigdirs="$noconfigdirs gprof" - ;; -- sh-*-* | sh64-*-*) -+ sh*-*-* | sh64-*-*) - case "${target}" in - sh*-*-elf) - ;; ---- a/configure.ac -+++ b/configure.ac -@@ -712,7 +712,7 @@ - mips*-*-*) - noconfigdirs="$noconfigdirs gprof" - ;; -- sh-*-* | sh64-*-*) -+ sh*-*-* | sh64-*-*) - case "${target}" in - sh*-*-elf) - ;; diff --git a/package/binutils/2.25.1/300-001_ld_makefile_patch.patch b/package/binutils/2.25.1/300-001_ld_makefile_patch.patch deleted file mode 100644 index 5cb0f614d8..0000000000 --- a/package/binutils/2.25.1/300-001_ld_makefile_patch.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -u binutils-2.17.50.0.17.oorig/ld/Makefile.am binutils-2.17.50.0.17/ld/Makefile.am ---- binutils-2.17.50.0.17.oorig/ld/Makefile.am 2007-06-18 19:29:29.000000000 +0200 -+++ binutils-2.17.50.0.17/ld/Makefile.am 2007-06-25 10:00:36.000000000 +0200 -@@ -18,7 +18,7 @@ - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - - EMUL = @EMUL@ - EMULATION_OFILES = @EMULATION_OFILES@ -diff -u binutils-2.17.50.0.17.oorig/ld/Makefile.in binutils-2.17.50.0.17/ld/Makefile.in ---- binutils-2.17.50.0.17.oorig/ld/Makefile.in 2007-06-18 19:29:29.000000000 +0200 -+++ binutils-2.17.50.0.17/ld/Makefile.in 2007-06-25 10:00:36.000000000 +0200 -@@ -287,7 +287,7 @@ - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - BASEDIR = $(srcdir)/.. - BFDDIR = $(BASEDIR)/bfd - INCDIR = $(BASEDIR)/include diff --git a/package/binutils/2.25.1/300-012_check_ldrunpath_length.patch b/package/binutils/2.25.1/300-012_check_ldrunpath_length.patch deleted file mode 100644 index df783109bb..0000000000 --- a/package/binutils/2.25.1/300-012_check_ldrunpath_length.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -Nura binutils-2.21.orig/ld/emultempl/elf32.em binutils-2.21/ld/emultempl/elf32.em ---- binutils-2.21.orig/ld/emultempl/elf32.em 2010-10-29 09:10:36.000000000 -0300 -+++ binutils-2.21/ld/emultempl/elf32.em 2010-12-10 09:26:56.746102724 -0300 -@@ -1270,6 +1270,8 @@ - && command_line.rpath == NULL) - { - lib_path = (const char *) getenv ("LD_RUN_PATH"); -+ if ((lib_path) && (strlen (lib_path) == 0)) -+ lib_path = NULL; - if (gld${EMULATION_NAME}_search_needed (lib_path, &n, - force)) - break; -@@ -1497,6 +1499,8 @@ - rpath = command_line.rpath; - if (rpath == NULL) - rpath = (const char *) getenv ("LD_RUN_PATH"); -+ if ((rpath) && (strlen (rpath) == 0)) -+ rpath = NULL; - - for (abfd = link_info.input_bfds; abfd; abfd = abfd->link_next) - if (bfd_get_flavour (abfd) == bfd_target_elf_flavour) diff --git a/package/binutils/2.25.1/500-sysroot.patch b/package/binutils/2.25.1/500-sysroot.patch deleted file mode 100644 index e49c795332..0000000000 --- a/package/binutils/2.25.1/500-sysroot.patch +++ /dev/null @@ -1,37 +0,0 @@ -Signed-off-by: Sven Rebhan - -Always try to prepend the sysroot prefix to absolute filenames first. - -http://bugs.gentoo.org/275666 -http://sourceware.org/bugzilla/show_bug.cgi?id=10340 - ---- a/ld/ldfile.c -+++ b/ld/ldfile.c -@@ -308,18 +308,25 @@ - directory first. */ - if (! entry->flags.maybe_archive) - { -- if (entry->flags.sysrooted && IS_ABSOLUTE_PATH (entry->filename)) -+ /* For absolute pathnames, try to always open the file in the -+ sysroot first. If this fails, try to open the file at the -+ given location. */ -+ entry->flags.sysrooted = is_sysrooted_pathname (entry->filename); -+ if (!entry->flags.sysrooted && IS_ABSOLUTE_PATH (entry->filename) -+ && ld_sysroot) - { - char *name = concat (ld_sysroot, entry->filename, - (const char *) NULL); - if (ldfile_try_open_bfd (name, entry)) - { - entry->filename = name; -+ entry->flags.sysrooted = TRUE; - return TRUE; - } - free (name); - } -- else if (ldfile_try_open_bfd (entry->filename, entry)) -+ -+ if (ldfile_try_open_bfd (entry->filename, entry)) - return TRUE; - - if (IS_ABSOLUTE_PATH (entry->filename)) diff --git a/package/binutils/2.25.1/600-poison-system-directories.patch b/package/binutils/2.25.1/600-poison-system-directories.patch deleted file mode 100644 index ec3622bcea..0000000000 --- a/package/binutils/2.25.1/600-poison-system-directories.patch +++ /dev/null @@ -1,276 +0,0 @@ -Patch adapted to binutils 2.23.2 and extended to use -BR_COMPILER_PARANOID_UNSAFE_PATH by Thomas Petazzoni. - -[Gustavo: adapt to binutils 2.25] -Signed-off-by: Thomas Petazzoni -Signed-off-by: Gustavo Zacarias - -Upstream-Status: Inappropriate [distribution: codesourcery] - -Patch originally created by Mark Hatle, forward-ported to -binutils 2.21 by Scott Garman. - -purpose: warn for uses of system directories when cross linking - -Code Merged from Sourcery G++ binutils 2.19 - 4.4-277 - -2008-07-02 Joseph Myers - - ld/ - * ld.h (args_type): Add error_poison_system_directories. - * ld.texinfo (--error-poison-system-directories): Document. - * ldfile.c (ldfile_add_library_path): Check - command_line.error_poison_system_directories. - * ldmain.c (main): Initialize - command_line.error_poison_system_directories. - * lexsup.c (enum option_values): Add - OPTION_ERROR_POISON_SYSTEM_DIRECTORIES. - (ld_options): Add --error-poison-system-directories. - (parse_args): Handle new option. - -2007-06-13 Joseph Myers - - ld/ - * config.in: Regenerate. - * ld.h (args_type): Add poison_system_directories. - * ld.texinfo (--no-poison-system-directories): Document. - * ldfile.c (ldfile_add_library_path): Check - command_line.poison_system_directories. - * ldmain.c (main): Initialize - command_line.poison_system_directories. - * lexsup.c (enum option_values): Add - OPTION_NO_POISON_SYSTEM_DIRECTORIES. - (ld_options): Add --no-poison-system-directories. - (parse_args): Handle new option. - -2007-04-20 Joseph Myers - - Merge from Sourcery G++ binutils 2.17: - - 2007-03-20 Joseph Myers - Based on patch by Mark Hatle . - ld/ - * configure.ac (--enable-poison-system-directories): New option. - * configure, config.in: Regenerate. - * ldfile.c (ldfile_add_library_path): If - ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of /lib, - /usr/lib, /usr/local/lib or /usr/X11R6/lib. - -Signed-off-by: Mark Hatle -Signed-off-by: Scott Garman - -diff -Nura a/ld/config.in b/ld/config.in ---- a/ld/config.in 2014-10-14 04:32:04.000000000 -0300 -+++ b/ld/config.in 2014-12-24 08:07:28.997918918 -0300 -@@ -11,6 +11,9 @@ - language is requested. */ - #undef ENABLE_NLS - -+/* Define to warn for use of native system library directories */ -+#undef ENABLE_POISON_SYSTEM_DIRECTORIES -+ - /* Additional extension a shared object might have. */ - #undef EXTRA_SHLIB_EXTENSION - -diff -Nura a/ld/configure b/ld/configure ---- a/ld/configure 2014-12-23 11:22:07.000000000 -0300 -+++ b/ld/configure 2014-12-24 08:07:29.002919088 -0300 -@@ -783,6 +783,7 @@ - enable_targets - enable_64_bit_bfd - with_sysroot -+enable_poison_system_directories - enable_gold - enable_got - enable_werror -@@ -1439,6 +1440,8 @@ - --disable-largefile omit support for large files - --enable-targets alternative target configurations - --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes) -+ --enable-poison-system-directories -+ warn for use of native system library directories - --enable-gold[=ARG] build gold [ARG={default,yes,no}] - --enable-got= GOT handling scheme (target, single, negative, - multigot) -@@ -15487,7 +15490,18 @@ - fi - - -+# Check whether --enable-poison-system-directories was given. -+if test "${enable_poison_system_directories+set}" = set; then : -+ enableval=$enable_poison_system_directories; -+else -+ enable_poison_system_directories=no -+fi -+ -+if test "x${enable_poison_system_directories}" = "xyes"; then - -+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h -+ -+fi - - # Check whether --enable-got was given. - if test "${enable_got+set}" = set; then : -diff -Nura a/ld/configure.ac b/ld/configure.ac ---- a/ld/configure.ac 2014-10-14 04:32:04.000000000 -0300 -+++ b/ld/configure.ac 2014-12-24 08:07:29.002919088 -0300 -@@ -94,6 +94,16 @@ - AC_SUBST(TARGET_SYSTEM_ROOT) - AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE) - -+AC_ARG_ENABLE([poison-system-directories], -+ AS_HELP_STRING([--enable-poison-system-directories], -+ [warn for use of native system library directories]),, -+ [enable_poison_system_directories=no]) -+if test "x${enable_poison_system_directories}" = "xyes"; then -+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES], -+ [1], -+ [Define to warn for use of native system library directories]) -+fi -+ - dnl Use --enable-gold to decide if this linker should be the default. - dnl "install_as_default" is set to false if gold is the default linker. - dnl "installed_linker" is the installed BFD linker name. -diff -Nura a/ld/ldfile.c b/ld/ldfile.c ---- a/ld/ldfile.c 2014-10-14 04:32:04.000000000 -0300 -+++ b/ld/ldfile.c 2014-12-24 08:07:29.002919088 -0300 -@@ -114,6 +114,23 @@ - new_dirs->name = concat (ld_sysroot, name + 1, (const char *) NULL); - else - new_dirs->name = xstrdup (name); -+ -+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES -+ if (command_line.poison_system_directories -+ && ((!strncmp (name, "/lib", 4)) -+ || (!strncmp (name, "/usr/lib", 8)) -+ || (!strncmp (name, "/usr/local/lib", 14)) -+ || (!strncmp (name, "/usr/X11R6/lib", 14)))) -+ { -+ if (command_line.error_poison_system_directories) -+ einfo (_("%X%P: error: library search path \"%s\" is unsafe for " -+ "cross-compilation\n"), name); -+ else -+ einfo (_("%P: warning: library search path \"%s\" is unsafe for " -+ "cross-compilation\n"), name); -+ } -+#endif -+ - } - - /* Try to open a BFD for a lang_input_statement. */ -diff -Nura a/ld/ld.h b/ld/ld.h ---- a/ld/ld.h 2014-10-14 04:32:04.000000000 -0300 -+++ b/ld/ld.h 2014-12-24 08:07:29.003919122 -0300 -@@ -161,6 +161,14 @@ - /* If TRUE we'll just print the default output on stdout. */ - bfd_boolean print_output_format; - -+ /* If TRUE (the default) warn for uses of system directories when -+ cross linking. */ -+ bfd_boolean poison_system_directories; -+ -+ /* If TRUE (default FALSE) give an error for uses of system -+ directories when cross linking instead of a warning. */ -+ bfd_boolean error_poison_system_directories; -+ - /* Big or little endian as set on command line. */ - enum endian_enum endian; - -diff -Nura a/ld/ldlex.h b/ld/ldlex.h ---- a/ld/ldlex.h 2014-11-04 06:54:41.000000000 -0300 -+++ b/ld/ldlex.h 2014-12-24 08:09:47.477644294 -0300 -@@ -140,6 +140,8 @@ - OPTION_IGNORE_UNRESOLVED_SYMBOL, - OPTION_PUSH_STATE, - OPTION_POP_STATE, -+ OPTION_NO_POISON_SYSTEM_DIRECTORIES, -+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES, - }; - - /* The initial parser states. */ -diff -Nura a/ld/ldmain.c b/ld/ldmain.c ---- a/ld/ldmain.c 2014-10-14 04:32:04.000000000 -0300 -+++ b/ld/ldmain.c 2014-12-24 08:07:29.003919122 -0300 -@@ -266,6 +266,8 @@ - command_line.warn_mismatch = TRUE; - command_line.warn_search_mismatch = TRUE; - command_line.check_section_addresses = -1; -+ command_line.poison_system_directories = TRUE; -+ command_line.error_poison_system_directories = FALSE; - - /* We initialize DEMANGLING based on the environment variable - COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the -diff -Nura a/ld/ld.texinfo b/ld/ld.texinfo ---- a/ld/ld.texinfo 2014-12-23 05:47:10.000000000 -0300 -+++ b/ld/ld.texinfo 2014-12-24 08:07:29.005919191 -0300 -@@ -2212,6 +2212,18 @@ - - Passing @code{none} for @var{style} disables the setting from any - @code{--build-id} options earlier on the command line. -+ -+@kindex --no-poison-system-directories -+@item --no-poison-system-directories -+Do not warn for @option{-L} options using system directories such as -+@file{/usr/lib} when cross linking. This option is intended for use -+in chroot environments when such directories contain the correct -+libraries for the target system rather than the host. -+ -+@kindex --error-poison-system-directories -+@item --error-poison-system-directories -+Give an error instead of a warning for @option{-L} options using -+system directories when cross linking. - @end table - - @c man end -diff -Nura a/ld/lexsup.c b/ld/lexsup.c ---- a/ld/lexsup.c 2014-11-04 06:54:41.000000000 -0300 -+++ b/ld/lexsup.c 2014-12-24 08:48:50.136583414 -0300 -@@ -513,6 +513,14 @@ - { {"pop-state", no_argument, NULL, OPTION_POP_STATE}, - '\0', NULL, N_("Pop state of flags governing input file handling"), - TWO_DASHES }, -+ { {"no-poison-system-directories", no_argument, NULL, -+ OPTION_NO_POISON_SYSTEM_DIRECTORIES}, -+ '\0', NULL, N_("Do not warn for -L options using system directories"), -+ TWO_DASHES }, -+ { {"error-poison-system-directories", no_argument, NULL, -+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES}, -+ '\0', NULL, N_("Give an error for -L options using system directories"), -+ TWO_DASHES }, - }; - - #define OPTION_COUNT ARRAY_SIZE (ld_options) -@@ -525,6 +533,7 @@ - int ingroup = 0; - char *default_dirlist = NULL; - char *shortopts; -+ char *BR_paranoid_env; - struct option *longopts; - struct option *really_longopts; - int last_optind; -@@ -1458,6 +1467,14 @@ - } - break; - -+ case OPTION_NO_POISON_SYSTEM_DIRECTORIES: -+ command_line.poison_system_directories = FALSE; -+ break; -+ -+ case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES: -+ command_line.error_poison_system_directories = TRUE; -+ break; -+ - case OPTION_PUSH_STATE: - input_flags.pushed = xmemdup (&input_flags, - sizeof (input_flags), -@@ -1483,6 +1500,10 @@ - command_line.soname = NULL; - } - -+ BR_paranoid_env = getenv("BR_COMPILER_PARANOID_UNSAFE_PATH"); -+ if (BR_paranoid_env && strlen(BR_paranoid_env) > 0) -+ command_line.error_poison_system_directories = TRUE; -+ - while (ingroup) - { - lang_leave_group (); diff --git a/package/binutils/2.25.1/800-microblaze-musl.patch b/package/binutils/2.25.1/800-microblaze-musl.patch deleted file mode 100644 index 34e69fd548..0000000000 --- a/package/binutils/2.25.1/800-microblaze-musl.patch +++ /dev/null @@ -1,22 +0,0 @@ -Fix the genetation of GOT entries for the Microblaze target. - -PR target/19516 -* elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol): -Always produce a RELATIVE reloc for a local symbol. - -[Taken from https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=47993b4af18c6ef1cad300f6393bf896d3cb5e5c.] -Signed-off-by: Waldemar Brodkorb - -diff -Nur binutils-2.25.1.orig/bfd/elf32-microblaze.c binutils-2.25.1/bfd/elf32-microblaze.c ---- binutils-2.25.1.orig/bfd/elf32-microblaze.c 2015-07-21 10:20:58.000000000 +0200 -+++ binutils-2.25.1/bfd/elf32-microblaze.c 2016-02-14 11:38:45.822387506 +0100 -@@ -3293,8 +3293,7 @@ - The entry in the global offset table will already have been - initialized in the relocate_section function. */ - if (info->shared -- && (info->symbolic || h->dynindx == -1) -- && h->def_regular) -+ && ((info->symbolic && h->def_regular) || h->dynindx == -1)) - { - asection *sec = h->root.u.def.section; - microblaze_elf_output_dynamic_relocation (output_bfd, diff --git a/package/binutils/2.25.1/905-Fix-trampolines-search-code-for-conditional-branches.patch b/package/binutils/2.25.1/905-Fix-trampolines-search-code-for-conditional-branches.patch deleted file mode 100644 index 8aeb06428a..0000000000 --- a/package/binutils/2.25.1/905-Fix-trampolines-search-code-for-conditional-branches.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 415480d6471e67aef97c0241d451ef2423a1da9d Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Tue, 25 Nov 2014 21:33:21 +0300 -Subject: [PATCH] Fix trampolines search code for conditional branches - -For conditional branches that need more than one trampoline to reach its -target assembler couldn't always find suitable trampoline because -post-loop condition check was placed inside the loop, resulting in -premature loop termination. Move check outside the loop. - -This fixes the following build errors seen when assembling huge files -produced by gcc: - Error: jump target out of range; no usable trampoline found - Error: operand 1 of 'j' has out of range value '307307' - -2014-11-25 Max Filippov - -gas/ - * config/tc-xtensa.c (search_trampolines): Move post-loop - condition check outside the search loop. - -gas/testsuite/ - * gas/xtensa/trampoline.d: Add expected output for branches. - * gas/xtensa/trampoline.s: Add test case for branches. - -Signed-off-by: Max Filippov ---- -Backported from: d92b6eece424f0ad35d96fdd85bf207295e8c4c3 -Changes to ChangeLogs are dropped. - - gas/config/tc-xtensa.c | 8 ++++---- - gas/testsuite/gas/xtensa/trampoline.d | 9 +++++++++ - gas/testsuite/gas/xtensa/trampoline.s | 7 +++++++ - 3 files changed, 20 insertions(+), 4 deletions(-) - -diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c -index d11b0c7..f23ccf8 100644 ---- a/gas/config/tc-xtensa.c -+++ b/gas/config/tc-xtensa.c -@@ -9514,11 +9514,11 @@ search_trampolines (TInsn *tinsn, fragS *fragP, bfd_boolean unreachable_only) - if (next_addr == 0 || addr - next_addr > J_RANGE) - break; - } -- if (abs (addr - this_addr) < J_RANGE) -- return tf; -- -- return NULL; - } -+ if (abs (addr - this_addr) < J_RANGE) -+ return tf; -+ -+ return NULL; - } - for ( ; tf; tf = tf->next) - { -diff --git a/gas/testsuite/gas/xtensa/trampoline.d b/gas/testsuite/gas/xtensa/trampoline.d -index b4f65dc..5ae32a6 100644 ---- a/gas/testsuite/gas/xtensa/trampoline.d -+++ b/gas/testsuite/gas/xtensa/trampoline.d -@@ -24,3 +24,12 @@ - .*33462:.*j.0x49407 - #... - .*49407:.*j.0x49407 -+.*4940a:.*beqz.n.a2,.0x4940f -+.*4940c:.*j.0x693d1 -+#... -+.*693d1:.*j.0x7ddd4 -+#... -+.*7ddd4:.*j.0x927f5 -+#... -+.*927f5:.*j.0x927f5 -+#... -diff --git a/gas/testsuite/gas/xtensa/trampoline.s b/gas/testsuite/gas/xtensa/trampoline.s -index 259a3bb..4465786 100644 ---- a/gas/testsuite/gas/xtensa/trampoline.s -+++ b/gas/testsuite/gas/xtensa/trampoline.s -@@ -19,3 +19,10 @@ - .endr - 3: - j 3b -+ bnez a2, 4f -+ .rep 50000 -+ and a2, a2, a3 -+ _ret -+ .endr -+4: -+ j 4b --- -1.8.1.4 - diff --git a/package/binutils/2.25.1/906-xtensa-optimize-check_section_ebb_pcrels_fit.patch b/package/binutils/2.25.1/906-xtensa-optimize-check_section_ebb_pcrels_fit.patch deleted file mode 100644 index 8a211004f3..0000000000 --- a/package/binutils/2.25.1/906-xtensa-optimize-check_section_ebb_pcrels_fit.patch +++ /dev/null @@ -1,502 +0,0 @@ -From 20c79baf82273a0b368587f761f152c4d3a593a4 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Fri, 27 Mar 2015 07:13:55 +0300 -Subject: [PATCH 1/4] xtensa: optimize check_section_ebb_pcrels_fit - -The original check_section_ebb_pcrels_fit algorithm checks that text -actions proposed for current EBB are OK for every relocation in a -section. There's no need to check every relocation, because text actions -for EBB can only change size of that EBB, thus only affecting -relocations that in any way cross that EBB. In addition EBBs are -iterated in ascending order of their VMA, making it easier to track -relevant relocations. - -Introduce a structure that can track relocations that cross the range of -VMAs of EBB and use it to only check relocations relevant to current EBB -in check_section_ebb_pcrels_fit. -It takes O(N log N) operations to build it and O(N) operations to move -current EBB VMA window through its entire range, where N is the number -of relocations in a section. The resulting complexity of -compute_text_actions is thus reduced from O(N^2) to O(N log N + N * M), -where M is the average number of relocations crossing each EBB. - -Original profile: - -% time self children called name ------------------------------------------ - 44.26 71.53 6429/6429 compute_text_actions - 50.2 44.26 71.53 6429 check_section_ebb_pcrels_fit - 1.16 20.12 347506666/347576152 pcrel_reloc_fits - 2.95 16.52 347506666/348104944 get_relocation_opnd - 2.01 9.74 347575100/361252208 r_reloc_init - 0.55 7.53 347575100/363381467 r_reloc_get_section - 5.76 0.02 695013332/695013332 xlate_offset_with_removed_text - 0.68 3.89 347575100/363483827 bfd_octets_per_byte - 0.32 0.00 347506666/349910253 is_alt_relocation - 0.18 0.11 6391/6391 build_xlate_map - 0.00 0.00 6429/19417168 get_xtensa_relax_info - 0.00 0.00 6391/6391 free_xlate_map ------------------------------------------ - -Same data, after optimization: - -% time self children called name ------------------------------------------ - 2.56 3.08 6429/6429 compute_text_actions - 8.2 2.56 3.08 6429 check_section_ebb_pcrels_fit - 0.08 0.91 17721075/17790561 pcrel_reloc_fits - 0.17 0.47 17721075/31685977 r_reloc_init - 0.43 0.00 35442150/35442150 xlate_offset_with_removed_text - 0.02 0.37 17721075/33815236 r_reloc_get_section - 0.22 0.11 6391/6391 build_xlate_map - 0.05 0.22 17721075/33917596 bfd_octets_per_byte - 0.03 0.00 17721075/20405299 is_alt_relocation - 0.01 0.00 6429/6429 reloc_range_list_update_range - 0.00 0.00 6429/19417168 get_xtensa_relax_info - 0.00 0.00 6391/6391 free_xlate_map ------------------------------------------ - -2015-04-01 Max Filippov -bfd/ - * elf32-xtensa.c (reloc_range_list, reloc_range_list_entry, - reloc_range): new typedef. - (reloc_range_list_struct, reloc_range_list_entry_struct, - reloc_range_struct): new structures. - (reloc_range_compare, build_reloc_ranges, - reloc_range_list_append, reloc_range_list_remove, - reloc_range_list_update_range, free_reloc_range_list): new - functions. - (compute_text_actions): precompute relocation opcodes before the - loop. Add relevant_relocs variable, initialize it before the - loop, pass it to the check_section_ebb_pcrels_fit. - (check_section_ebb_pcrels_fit): add new parameter: - relevant_relocs. Update address range in the relevant_relocs if - it's non-NULL and iterate only over relevant relocations. - -Backported from: b2b326d246f839ee218192ac88da2384d929a072 -Signed-off-by: Max Filippov ---- - bfd/elf32-xtensa.c | 321 +++++++++++++++++++++++++++++++++++++++++++++++++---- - 1 file changed, 298 insertions(+), 23 deletions(-) - -diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c -index 0b6f584..872370b 100644 ---- a/bfd/elf32-xtensa.c -+++ b/bfd/elf32-xtensa.c -@@ -6619,8 +6619,10 @@ static bfd_boolean compute_text_actions - (bfd *, asection *, struct bfd_link_info *); - static bfd_boolean compute_ebb_proposed_actions (ebb_constraint *); - static bfd_boolean compute_ebb_actions (ebb_constraint *); -+typedef struct reloc_range_list_struct reloc_range_list; - static bfd_boolean check_section_ebb_pcrels_fit -- (bfd *, asection *, bfd_byte *, Elf_Internal_Rela *, const ebb_constraint *, -+ (bfd *, asection *, bfd_byte *, Elf_Internal_Rela *, -+ reloc_range_list *, const ebb_constraint *, - const xtensa_opcode *); - static bfd_boolean check_section_ebb_reduces (const ebb_constraint *); - static void text_action_add_proposed -@@ -7219,6 +7221,221 @@ build_reloc_opcodes (bfd *abfd, - return reloc_opcodes; - } - -+struct reloc_range_struct -+{ -+ bfd_vma addr; -+ bfd_boolean add; /* TRUE if start of a range, FALSE otherwise. */ -+ /* Original irel index in the array of relocations for a section. */ -+ unsigned irel_index; -+}; -+typedef struct reloc_range_struct reloc_range; -+ -+typedef struct reloc_range_list_entry_struct reloc_range_list_entry; -+struct reloc_range_list_entry_struct -+{ -+ reloc_range_list_entry *next; -+ reloc_range_list_entry *prev; -+ Elf_Internal_Rela *irel; -+ xtensa_opcode opcode; -+ int opnum; -+}; -+ -+struct reloc_range_list_struct -+{ -+ /* The rest of the structure is only meaningful when ok is TRUE. */ -+ bfd_boolean ok; -+ -+ unsigned n_range; /* Number of range markers. */ -+ reloc_range *range; /* Sorted range markers. */ -+ -+ unsigned first; /* Index of a first range element in the list. */ -+ unsigned last; /* One past index of a last range element in the list. */ -+ -+ unsigned n_list; /* Number of list elements. */ -+ reloc_range_list_entry *reloc; /* */ -+ reloc_range_list_entry list_root; -+}; -+ -+static int -+reloc_range_compare (const void *a, const void *b) -+{ -+ const reloc_range *ra = a; -+ const reloc_range *rb = b; -+ -+ if (ra->addr != rb->addr) -+ return ra->addr < rb->addr ? -1 : 1; -+ if (ra->add != rb->add) -+ return ra->add ? -1 : 1; -+ return 0; -+} -+ -+static void -+build_reloc_ranges (bfd *abfd, asection *sec, -+ bfd_byte *contents, -+ Elf_Internal_Rela *internal_relocs, -+ xtensa_opcode *reloc_opcodes, -+ reloc_range_list *list) -+{ -+ unsigned i; -+ size_t n = 0; -+ size_t max_n = 0; -+ reloc_range *ranges = NULL; -+ reloc_range_list_entry *reloc = -+ bfd_malloc (sec->reloc_count * sizeof (*reloc)); -+ -+ memset (list, 0, sizeof (*list)); -+ list->ok = TRUE; -+ -+ for (i = 0; i < sec->reloc_count; i++) -+ { -+ Elf_Internal_Rela *irel = &internal_relocs[i]; -+ int r_type = ELF32_R_TYPE (irel->r_info); -+ reloc_howto_type *howto = &elf_howto_table[r_type]; -+ r_reloc r_rel; -+ -+ if (r_type == R_XTENSA_ASM_SIMPLIFY -+ || r_type == R_XTENSA_32_PCREL -+ || !howto->pc_relative) -+ continue; -+ -+ r_reloc_init (&r_rel, abfd, irel, contents, -+ bfd_get_section_limit (abfd, sec)); -+ -+ if (r_reloc_get_section (&r_rel) != sec) -+ continue; -+ -+ if (n + 2 > max_n) -+ { -+ max_n = (max_n + 2) * 2; -+ ranges = bfd_realloc (ranges, max_n * sizeof (*ranges)); -+ } -+ -+ ranges[n].addr = irel->r_offset; -+ ranges[n + 1].addr = r_rel.target_offset; -+ -+ ranges[n].add = ranges[n].addr < ranges[n + 1].addr; -+ ranges[n + 1].add = !ranges[n].add; -+ -+ ranges[n].irel_index = i; -+ ranges[n + 1].irel_index = i; -+ -+ n += 2; -+ -+ reloc[i].irel = irel; -+ -+ /* Every relocation won't possibly be checked in the optimized version of -+ check_section_ebb_pcrels_fit, so this needs to be done here. */ -+ if (is_alt_relocation (ELF32_R_TYPE (irel->r_info))) -+ { -+ /* None of the current alternate relocs are PC-relative, -+ and only PC-relative relocs matter here. */ -+ } -+ else -+ { -+ xtensa_opcode opcode; -+ int opnum; -+ -+ if (reloc_opcodes) -+ opcode = reloc_opcodes[i]; -+ else -+ opcode = get_relocation_opcode (abfd, sec, contents, irel); -+ -+ if (opcode == XTENSA_UNDEFINED) -+ { -+ list->ok = FALSE; -+ break; -+ } -+ -+ opnum = get_relocation_opnd (opcode, ELF32_R_TYPE (irel->r_info)); -+ if (opnum == XTENSA_UNDEFINED) -+ { -+ list->ok = FALSE; -+ break; -+ } -+ -+ /* Record relocation opcode and opnum as we've calculated them -+ anyway and they won't change. */ -+ reloc[i].opcode = opcode; -+ reloc[i].opnum = opnum; -+ } -+ } -+ -+ if (list->ok) -+ { -+ ranges = bfd_realloc (ranges, n * sizeof (*ranges)); -+ qsort (ranges, n, sizeof (*ranges), reloc_range_compare); -+ -+ list->n_range = n; -+ list->range = ranges; -+ list->reloc = reloc; -+ list->list_root.prev = &list->list_root; -+ list->list_root.next = &list->list_root; -+ } -+ else -+ { -+ free (ranges); -+ free (reloc); -+ } -+} -+ -+static void reloc_range_list_append (reloc_range_list *list, -+ unsigned irel_index) -+{ -+ reloc_range_list_entry *entry = list->reloc + irel_index; -+ -+ entry->prev = list->list_root.prev; -+ entry->next = &list->list_root; -+ entry->prev->next = entry; -+ entry->next->prev = entry; -+ ++list->n_list; -+} -+ -+static void reloc_range_list_remove (reloc_range_list *list, -+ unsigned irel_index) -+{ -+ reloc_range_list_entry *entry = list->reloc + irel_index; -+ -+ entry->next->prev = entry->prev; -+ entry->prev->next = entry->next; -+ --list->n_list; -+} -+ -+/* Update relocation list object so that it lists all relocations that cross -+ [first; last] range. Range bounds should not decrease with successive -+ invocations. */ -+static void reloc_range_list_update_range (reloc_range_list *list, -+ bfd_vma first, bfd_vma last) -+{ -+ /* This should not happen: EBBs are iterated from lower addresses to higher. -+ But even if that happens there's no need to break: just flush current list -+ and start from scratch. */ -+ if ((list->last > 0 && list->range[list->last - 1].addr > last) || -+ (list->first > 0 && list->range[list->first - 1].addr >= first)) -+ { -+ list->first = 0; -+ list->last = 0; -+ list->n_list = 0; -+ list->list_root.next = &list->list_root; -+ list->list_root.prev = &list->list_root; -+ fprintf (stderr, "%s: move backwards requested\n", __func__); -+ } -+ -+ for (; list->last < list->n_range && -+ list->range[list->last].addr <= last; ++list->last) -+ if (list->range[list->last].add) -+ reloc_range_list_append (list, list->range[list->last].irel_index); -+ -+ for (; list->first < list->n_range && -+ list->range[list->first].addr < first; ++list->first) -+ if (!list->range[list->first].add) -+ reloc_range_list_remove (list, list->range[list->first].irel_index); -+} -+ -+static void free_reloc_range_list (reloc_range_list *list) -+{ -+ free (list->range); -+ free (list->reloc); -+} - - /* The compute_text_actions function will build a list of potential - transformation actions for code in the extended basic block of each -@@ -7245,6 +7462,7 @@ compute_text_actions (bfd *abfd, - property_table_entry *prop_table = 0; - int ptblsize = 0; - bfd_size_type sec_size; -+ reloc_range_list relevant_relocs; - - relax_info = get_xtensa_relax_info (sec); - BFD_ASSERT (relax_info); -@@ -7277,6 +7495,12 @@ compute_text_actions (bfd *abfd, - goto error_return; - } - -+ /* Precompute the opcode for each relocation. */ -+ reloc_opcodes = build_reloc_opcodes (abfd, sec, contents, internal_relocs); -+ -+ build_reloc_ranges (abfd, sec, contents, internal_relocs, reloc_opcodes, -+ &relevant_relocs); -+ - for (i = 0; i < sec->reloc_count; i++) - { - Elf_Internal_Rela *irel = &internal_relocs[i]; -@@ -7340,17 +7564,13 @@ compute_text_actions (bfd *abfd, - ebb->start_reloc_idx = i; - ebb->end_reloc_idx = i; - -- /* Precompute the opcode for each relocation. */ -- if (reloc_opcodes == NULL) -- reloc_opcodes = build_reloc_opcodes (abfd, sec, contents, -- internal_relocs); -- - if (!extend_ebb_bounds (ebb) - || !compute_ebb_proposed_actions (&ebb_table) - || !compute_ebb_actions (&ebb_table) - || !check_section_ebb_pcrels_fit (abfd, sec, contents, -- internal_relocs, &ebb_table, -- reloc_opcodes) -+ internal_relocs, -+ &relevant_relocs, -+ &ebb_table, reloc_opcodes) - || !check_section_ebb_reduces (&ebb_table)) - { - /* If anything goes wrong or we get unlucky and something does -@@ -7372,6 +7592,8 @@ compute_text_actions (bfd *abfd, - free_ebb_constraint (&ebb_table); - } - -+ free_reloc_range_list (&relevant_relocs); -+ - #if DEBUG - if (relax_info->action_list.head) - print_action_list (stderr, &relax_info->action_list); -@@ -7974,14 +8196,17 @@ check_section_ebb_pcrels_fit (bfd *abfd, - asection *sec, - bfd_byte *contents, - Elf_Internal_Rela *internal_relocs, -+ reloc_range_list *relevant_relocs, - const ebb_constraint *constraint, - const xtensa_opcode *reloc_opcodes) - { - unsigned i, j; -+ unsigned n = sec->reloc_count; - Elf_Internal_Rela *irel; - xlate_map_t *xmap = NULL; - bfd_boolean ok = TRUE; - xtensa_relax_info *relax_info; -+ reloc_range_list_entry *entry = NULL; - - relax_info = get_xtensa_relax_info (sec); - -@@ -7992,7 +8217,40 @@ check_section_ebb_pcrels_fit (bfd *abfd, - can still be used. */ - } - -- for (i = 0; i < sec->reloc_count; i++) -+ if (relevant_relocs && constraint->action_count) -+ { -+ if (!relevant_relocs->ok) -+ { -+ ok = FALSE; -+ n = 0; -+ } -+ else -+ { -+ bfd_vma min_offset, max_offset; -+ min_offset = max_offset = constraint->actions[0].offset; -+ -+ for (i = 1; i < constraint->action_count; ++i) -+ { -+ proposed_action *action = &constraint->actions[i]; -+ bfd_vma offset = action->offset; -+ -+ if (offset < min_offset) -+ min_offset = offset; -+ if (offset > max_offset) -+ max_offset = offset; -+ } -+ reloc_range_list_update_range (relevant_relocs, min_offset, -+ max_offset); -+ n = relevant_relocs->n_list; -+ entry = &relevant_relocs->list_root; -+ } -+ } -+ else -+ { -+ relevant_relocs = NULL; -+ } -+ -+ for (i = 0; i < n; i++) - { - r_reloc r_rel; - bfd_vma orig_self_offset, orig_target_offset; -@@ -8001,7 +8259,15 @@ check_section_ebb_pcrels_fit (bfd *abfd, - reloc_howto_type *howto; - int self_removed_bytes, target_removed_bytes; - -- irel = &internal_relocs[i]; -+ if (relevant_relocs) -+ { -+ entry = entry->next; -+ irel = entry->irel; -+ } -+ else -+ { -+ irel = internal_relocs + i; -+ } - r_type = ELF32_R_TYPE (irel->r_info); - - howto = &elf_howto_table[r_type]; -@@ -8067,21 +8333,30 @@ check_section_ebb_pcrels_fit (bfd *abfd, - xtensa_opcode opcode; - int opnum; - -- if (reloc_opcodes) -- opcode = reloc_opcodes[i]; -- else -- opcode = get_relocation_opcode (abfd, sec, contents, irel); -- if (opcode == XTENSA_UNDEFINED) -+ if (relevant_relocs) - { -- ok = FALSE; -- break; -+ opcode = entry->opcode; -+ opnum = entry->opnum; - } -- -- opnum = get_relocation_opnd (opcode, ELF32_R_TYPE (irel->r_info)); -- if (opnum == XTENSA_UNDEFINED) -+ else - { -- ok = FALSE; -- break; -+ if (reloc_opcodes) -+ opcode = reloc_opcodes[relevant_relocs ? -+ (unsigned)(entry - relevant_relocs->reloc) : i]; -+ else -+ opcode = get_relocation_opcode (abfd, sec, contents, irel); -+ if (opcode == XTENSA_UNDEFINED) -+ { -+ ok = FALSE; -+ break; -+ } -+ -+ opnum = get_relocation_opnd (opcode, ELF32_R_TYPE (irel->r_info)); -+ if (opnum == XTENSA_UNDEFINED) -+ { -+ ok = FALSE; -+ break; -+ } - } - - if (!pcrel_reloc_fits (opcode, opnum, self_offset, target_offset)) -@@ -8778,7 +9053,7 @@ move_shared_literal (asection *sec, - /* Check all of the PC-relative relocations to make sure they still fit. */ - relocs_fit = check_section_ebb_pcrels_fit (target_sec->owner, target_sec, - target_sec_cache->contents, -- target_sec_cache->relocs, -+ target_sec_cache->relocs, NULL, - &ebb_table, NULL); - - if (!relocs_fit) --- -1.8.1.4 - diff --git a/package/binutils/2.25.1/907-xtensa-optimize-removed_by_actions.patch b/package/binutils/2.25.1/907-xtensa-optimize-removed_by_actions.patch deleted file mode 100644 index 9df8065307..0000000000 --- a/package/binutils/2.25.1/907-xtensa-optimize-removed_by_actions.patch +++ /dev/null @@ -1,356 +0,0 @@ -From 3e3f60207399ab29dd55af109e5ae9facc7d8e83 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Sat, 28 Mar 2015 08:46:28 +0300 -Subject: [PATCH 2/4] xtensa: optimize removed_by_actions - -The function removed_by_actions iterates through text actions to -calculate an offset applied by text actions to a given VMA. Although it -has a parameter p_start_action that allows for incremental offset -calculation, in many places it's used with p_start_action explicitly set -to the first action. After the first relaxation pass when the list of -text actions is finalized, an array of offsets sorted by VMA may be used -to speed up this function. - -Original profile: - -% time self children called name ------------------------------------------ - 0.35 0.00 33872/4808961 relax_section_symbols - 3.32 0.00 326022/4808961 relax_property_section - 12.83 0.00 1259379/4808961 offset_with_removed_text - 32.50 0.00 3189688/4808961 translate_reloc - 71.5 49.00 0.00 4808961 removed_by_actions ------------------------------------------ - -Same data, after optimization: - -% time self children called name ------------------------------------------ - 0.00 0.00 33872/4808537 relax_section_symbols - 0.01 0.00 326022/4808537 relax_property_section - 0.05 0.00 1258955/4808537 offset_with_removed_text_map - 0.13 0.00 3189688/4808537 translate_reloc - 1.0 0.20 0.00 4808537 removed_by_actions_map - 0.00 0.00 120/120 map_removal_by_action ------------------------------------------ - -2015-04-01 Max Filippov -bfd/ - * elf32-xtensa.c (removal_by_action_entry_struct, - removal_by_action_map_struct): new structures. - (removal_by_action_entry, removal_by_action_map): new typedefs. - (text_action_list_struct): add new field: map. - (map_removal_by_action, removed_by_actions_map, - offset_with_removed_text_map): new functions. - (relax_section): replace offset_with_removed_text with - offset_with_removed_text_map. - (translate_reloc, relax_property_section, relax_section_symbols): - replace removed_by_actions with removed_by_actions_map. - -Backported from: 071aa5c98a31c966f5fbfc573fcee61350fd1936 -Signed-off-by: Max Filippov ---- - bfd/elf32-xtensa.c | 181 +++++++++++++++++++++++++++++++++++++++++++++-------- - 1 file changed, 156 insertions(+), 25 deletions(-) - -diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c -index 872370b..21b2871 100644 ---- a/bfd/elf32-xtensa.c -+++ b/bfd/elf32-xtensa.c -@@ -5420,11 +5420,28 @@ struct text_action_struct - text_action *next; - }; - -+struct removal_by_action_entry_struct -+{ -+ bfd_vma offset; -+ int removed; -+ int eq_removed; -+ int eq_removed_before_fill; -+}; -+typedef struct removal_by_action_entry_struct removal_by_action_entry; -+ -+struct removal_by_action_map_struct -+{ -+ unsigned n_entries; -+ removal_by_action_entry *entry; -+}; -+typedef struct removal_by_action_map_struct removal_by_action_map; -+ - - /* List of all of the actions taken on a text section. */ - struct text_action_list_struct - { - text_action *head; -+ removal_by_action_map map; - }; - - -@@ -5636,6 +5653,101 @@ action_list_count (text_action_list *action_list) - return count; - } - -+static void -+map_removal_by_action (text_action_list *action_list) -+{ -+ text_action *r; -+ int removed = 0; -+ removal_by_action_map map; -+ bfd_boolean eq_complete; -+ -+ map.n_entries = 0; -+ map.entry = bfd_malloc (action_list_count (action_list) * -+ sizeof (removal_by_action_entry)); -+ eq_complete = FALSE; -+ -+ for (r = action_list->head; r;) -+ { -+ removal_by_action_entry *ientry = map.entry + map.n_entries; -+ -+ if (map.n_entries && (ientry - 1)->offset == r->offset) -+ { -+ --ientry; -+ } -+ else -+ { -+ ++map.n_entries; -+ eq_complete = FALSE; -+ ientry->offset = r->offset; -+ ientry->eq_removed_before_fill = removed; -+ } -+ -+ if (!eq_complete) -+ { -+ if (r->action != ta_fill || r->removed_bytes >= 0) -+ { -+ ientry->eq_removed = removed; -+ eq_complete = TRUE; -+ } -+ else -+ ientry->eq_removed = removed + r->removed_bytes; -+ } -+ -+ removed += r->removed_bytes; -+ ientry->removed = removed; -+ r = r->next; -+ } -+ action_list->map = map; -+} -+ -+static int -+removed_by_actions_map (text_action_list *action_list, bfd_vma offset, -+ bfd_boolean before_fill) -+{ -+ unsigned a, b; -+ -+ if (!action_list->map.entry) -+ map_removal_by_action (action_list); -+ -+ if (!action_list->map.n_entries) -+ return 0; -+ -+ a = 0; -+ b = action_list->map.n_entries; -+ -+ while (b - a > 1) -+ { -+ unsigned c = (a + b) / 2; -+ -+ if (action_list->map.entry[c].offset <= offset) -+ a = c; -+ else -+ b = c; -+ } -+ -+ if (action_list->map.entry[a].offset < offset) -+ { -+ return action_list->map.entry[a].removed; -+ } -+ else if (action_list->map.entry[a].offset == offset) -+ { -+ return before_fill ? -+ action_list->map.entry[a].eq_removed_before_fill : -+ action_list->map.entry[a].eq_removed; -+ } -+ else -+ { -+ return 0; -+ } -+} -+ -+static bfd_vma -+offset_with_removed_text_map (text_action_list *action_list, bfd_vma offset) -+{ -+ int removed = removed_by_actions_map (action_list, offset, FALSE); -+ return offset - removed; -+} -+ - - /* The find_insn_action routine will only find non-fill actions. */ - -@@ -5909,6 +6021,9 @@ init_xtensa_relax_info (asection *sec) - - relax_info->action_list.head = NULL; - -+ relax_info->action_list.map.n_entries = 0; -+ relax_info->action_list.map.entry = NULL; -+ - relax_info->fix_list = NULL; - relax_info->fix_array = NULL; - relax_info->fix_array_count = 0; -@@ -9218,7 +9333,7 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info) - if (elf_hash_table (link_info)->dynamic_sections_created) - shrink_dynamic_reloc_sections (link_info, abfd, sec, irel); - irel->r_info = ELF32_R_INFO (0, R_XTENSA_NONE); -- irel->r_offset = offset_with_removed_text -+ irel->r_offset = offset_with_removed_text_map - (&relax_info->action_list, irel->r_offset); - continue; - } -@@ -9255,7 +9370,7 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info) - } - } - -- source_offset = offset_with_removed_text -+ source_offset = offset_with_removed_text_map - (&relax_info->action_list, irel->r_offset); - irel->r_offset = source_offset; - } -@@ -9352,7 +9467,7 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info) - break; - } - -- new_end_offset = offset_with_removed_text -+ new_end_offset = offset_with_removed_text_map - (&target_relax_info->action_list, - r_rel.target_offset + diff_value); - diff_value = new_end_offset - new_reloc.target_offset; -@@ -9750,7 +9865,6 @@ translate_reloc (const r_reloc *orig_rel, r_reloc *new_rel, asection *sec) - xtensa_relax_info *relax_info; - removed_literal *removed; - bfd_vma target_offset, base_offset; -- text_action *act; - - *new_rel = *orig_rel; - -@@ -9803,19 +9917,26 @@ translate_reloc (const r_reloc *orig_rel, r_reloc *new_rel, asection *sec) - offset. */ - - base_offset = r_reloc_get_target_offset (new_rel) - new_rel->rela.r_addend; -- act = relax_info->action_list.head; - if (base_offset <= target_offset) - { -- int base_removed = removed_by_actions (&act, base_offset, FALSE); -- int addend_removed = removed_by_actions (&act, target_offset, FALSE); -+ int base_removed = removed_by_actions_map (&relax_info->action_list, -+ base_offset, FALSE); -+ int addend_removed = removed_by_actions_map (&relax_info->action_list, -+ target_offset, FALSE) - -+ base_removed; -+ - new_rel->target_offset = target_offset - base_removed - addend_removed; - new_rel->rela.r_addend -= addend_removed; - } - else - { - /* Handle a negative addend. The base offset comes first. */ -- int tgt_removed = removed_by_actions (&act, target_offset, FALSE); -- int addend_removed = removed_by_actions (&act, base_offset, FALSE); -+ int tgt_removed = removed_by_actions_map (&relax_info->action_list, -+ target_offset, FALSE); -+ int addend_removed = removed_by_actions_map (&relax_info->action_list, -+ base_offset, FALSE) - -+ tgt_removed; -+ - new_rel->target_offset = target_offset - tgt_removed; - new_rel->rela.r_addend += addend_removed; - } -@@ -10138,9 +10259,10 @@ relax_property_section (bfd *abfd, - bfd_vma old_offset = val.r_rel.target_offset; - bfd_vma new_offset; - long old_size, new_size; -- text_action *act = target_relax_info->action_list.head; -- new_offset = old_offset - -- removed_by_actions (&act, old_offset, FALSE); -+ int removed_by_old_offset = -+ removed_by_actions_map (&target_relax_info->action_list, -+ old_offset, FALSE); -+ new_offset = old_offset - removed_by_old_offset; - - /* Assert that we are not out of bounds. */ - old_size = bfd_get_32 (abfd, size_p); -@@ -10164,9 +10286,10 @@ relax_property_section (bfd *abfd, - - /* Recompute the new_offset, but this time don't - include any fill inserted by relaxation. */ -- act = target_relax_info->action_list.head; -- new_offset = old_offset - -- removed_by_actions (&act, old_offset, TRUE); -+ removed_by_old_offset = -+ removed_by_actions_map (&target_relax_info->action_list, -+ old_offset, TRUE); -+ new_offset = old_offset - removed_by_old_offset; - - /* If it is not unreachable and we have not yet - seen an unreachable at this address, place it -@@ -10182,8 +10305,12 @@ relax_property_section (bfd *abfd, - } - } - else -- new_size -= -- removed_by_actions (&act, old_offset + old_size, TRUE); -+ { -+ int removed_by_old_offset_size = -+ removed_by_actions_map (&target_relax_info->action_list, -+ old_offset + old_size, TRUE); -+ new_size -= removed_by_old_offset_size - removed_by_old_offset; -+ } - - if (new_size != old_size) - { -@@ -10441,14 +10568,16 @@ relax_section_symbols (bfd *abfd, asection *sec) - - if (isym->st_shndx == sec_shndx) - { -- text_action *act = relax_info->action_list.head; - bfd_vma orig_addr = isym->st_value; -+ int removed = removed_by_actions_map (&relax_info->action_list, -+ orig_addr, FALSE); - -- isym->st_value -= removed_by_actions (&act, orig_addr, FALSE); -- -+ isym->st_value -= removed; - if (ELF32_ST_TYPE (isym->st_info) == STT_FUNC) - isym->st_size -= -- removed_by_actions (&act, orig_addr + isym->st_size, FALSE); -+ removed_by_actions_map (&relax_info->action_list, -+ orig_addr + isym->st_size, FALSE) - -+ removed; - } - } - -@@ -10466,15 +10595,17 @@ relax_section_symbols (bfd *abfd, asection *sec) - || sym_hash->root.type == bfd_link_hash_defweak) - && sym_hash->root.u.def.section == sec) - { -- text_action *act = relax_info->action_list.head; - bfd_vma orig_addr = sym_hash->root.u.def.value; -+ int removed = removed_by_actions_map (&relax_info->action_list, -+ orig_addr, FALSE); - -- sym_hash->root.u.def.value -= -- removed_by_actions (&act, orig_addr, FALSE); -+ sym_hash->root.u.def.value -= removed; - - if (sym_hash->type == STT_FUNC) - sym_hash->size -= -- removed_by_actions (&act, orig_addr + sym_hash->size, FALSE); -+ removed_by_actions_map (&relax_info->action_list, -+ orig_addr + sym_hash->size, FALSE) - -+ removed; - } - } - --- -1.8.1.4 - diff --git a/package/binutils/2.25.1/908-xtensa-optimize-find_removed_literal.patch b/package/binutils/2.25.1/908-xtensa-optimize-find_removed_literal.patch deleted file mode 100644 index 96d526fe30..0000000000 --- a/package/binutils/2.25.1/908-xtensa-optimize-find_removed_literal.patch +++ /dev/null @@ -1,146 +0,0 @@ -From 288c2b709e5e6841484e1a129eaccd299db36877 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Sat, 4 Apr 2015 14:49:42 +0300 -Subject: [PATCH 3/4] xtensa: optimize find_removed_literal - -find_removed_literal uses linear search to find removed literal by its -VMA. The list of literals is fixed at that point, build an ordered index -array and use binary search instead. - -Original profile: - -% time self children called name ------------------------------------------ - 56.72 0.00 297578/669392 translate_reloc - 70.86 0.00 371814/669392 relax_section - 67.9 127.58 0.00 669392 find_removed_literal ------------------------------------------ - -Same data, after optimization: - -% time self children called name ------------------------------------------ - 0.00 0.00 297578/669392 translate_reloc - 0.00 0.00 371814/669392 relax_section - 0.0 0.00 0.00 669392 find_removed_literal - 0.00 0.00 23838/23838 map_removed_literal ------------------------------------------ - -2015-04-03 Max Filippov -bfd/ - * elf32-xtensa.c (removed_literal_map_entry): new typedef. - (removed_literal_map_entry_struct): new structure. - (removed_literal_list_struct): add new fields: n_map and map. - (map_removed_literal, removed_literal_compare): new functions. - (find_removed_literal): build index array for literals ordered - by VMA, use binary search to find removed literal. - -Backported from: 3439c466273378021821473d3fc84990e089ae34 -Signed-off-by: Max Filippov ---- - bfd/elf32-xtensa.c | 64 +++++++++++++++++++++++++++++++++++++++++++++++++----- - 1 file changed, 58 insertions(+), 6 deletions(-) - -diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c -index 21b2871..51733ad 100644 ---- a/bfd/elf32-xtensa.c -+++ b/bfd/elf32-xtensa.c -@@ -5832,6 +5832,7 @@ print_action_list (FILE *fp, text_action_list *action_list) - by the "from" offset field. */ - - typedef struct removed_literal_struct removed_literal; -+typedef struct removed_literal_map_entry_struct removed_literal_map_entry; - typedef struct removed_literal_list_struct removed_literal_list; - - struct removed_literal_struct -@@ -5841,10 +5842,19 @@ struct removed_literal_struct - removed_literal *next; - }; - -+struct removed_literal_map_entry_struct -+{ -+ bfd_vma addr; -+ removed_literal *literal; -+}; -+ - struct removed_literal_list_struct - { - removed_literal *head; - removed_literal *tail; -+ -+ unsigned n_map; -+ removed_literal_map_entry *map; - }; - - -@@ -5893,6 +5903,39 @@ add_removed_literal (removed_literal_list *removed_list, - } - } - -+static void -+map_removed_literal (removed_literal_list *removed_list) -+{ -+ unsigned n_map = 0; -+ unsigned i; -+ removed_literal_map_entry *map = NULL; -+ removed_literal *r = removed_list->head; -+ -+ for (i = 0; r; ++i, r = r->next) -+ { -+ if (i == n_map) -+ { -+ n_map = (n_map * 2) + 2; -+ map = bfd_realloc (map, n_map * sizeof (*map)); -+ } -+ map[i].addr = r->from.target_offset; -+ map[i].literal = r; -+ } -+ removed_list->map = map; -+ removed_list->n_map = i; -+} -+ -+static int -+removed_literal_compare (const void *a, const void *b) -+{ -+ const removed_literal_map_entry *pa = a; -+ const removed_literal_map_entry *pb = b; -+ -+ if (pa->addr == pb->addr) -+ return 0; -+ else -+ return pa->addr < pb->addr ? -1 : 1; -+} - - /* Check if the list of removed literals contains an entry for the - given address. Return the entry if found. */ -@@ -5900,12 +5943,21 @@ add_removed_literal (removed_literal_list *removed_list, - static removed_literal * - find_removed_literal (removed_literal_list *removed_list, bfd_vma addr) - { -- removed_literal *r = removed_list->head; -- while (r && r->from.target_offset < addr) -- r = r->next; -- if (r && r->from.target_offset == addr) -- return r; -- return NULL; -+ removed_literal_map_entry *p; -+ removed_literal *r = NULL; -+ -+ if (removed_list->map == NULL) -+ map_removed_literal (removed_list); -+ -+ p = bsearch (&addr, removed_list->map, removed_list->n_map, -+ sizeof (*removed_list->map), removed_literal_compare); -+ if (p) -+ { -+ while (p != removed_list->map && (p - 1)->addr == addr) -+ --p; -+ r = p->literal; -+ } -+ return r; - } - - --- -1.8.1.4 - diff --git a/package/binutils/2.25.1/909-xtensa-replace-action-list-with-splay-tree.patch b/package/binutils/2.25.1/909-xtensa-replace-action-list-with-splay-tree.patch deleted file mode 100644 index 3090cc21e5..0000000000 --- a/package/binutils/2.25.1/909-xtensa-replace-action-list-with-splay-tree.patch +++ /dev/null @@ -1,826 +0,0 @@ -From e5409aedd3ee2192855018a564650ffb75c26e60 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Sun, 5 Apr 2015 17:04:22 +0300 -Subject: [PATCH 4/4] xtensa: replace action list with splay tree - -text_action_add uses linear list search to order text actions list by -action VMA. The list is used at the first relaxation pass, when it's not -fixed yet. -Replace the list with splay tree from libiberty. - -Original profile: - -% time self children called name ------------------------------------------ - 0.00 0.00 14/158225 compute_text_actions - 3.62 0.00 25211/158225 remove_dead_literal - 8.42 0.00 58645/158225 coalesce_shared_literal - 10.68 0.00 74355/158225 text_action_add_proposed - 38.8 22.73 0.00 158225 text_action_add - 0.00 0.00 144527/293246 bfd_zmalloc ------------------------------------------ - -Same data, after optimization: - -% time self children called name ------------------------------------------ - 0.00 0.00 14/158225 compute_text_actions - 0.00 0.00 25211/158225 remove_dead_literal - 0.00 0.01 58645/158225 coalesce_shared_literal - 0.00 0.01 74355/158225 text_action_add_proposed - 0.1 0.00 0.02 158225 text_action_add - 0.01 0.00 144527/144527 splay_tree_insert - 0.00 0.00 144527/195130 splay_tree_lookup - 0.00 0.00 144527/293246 bfd_zmalloc ------------------------------------------ - -2015-04-03 Max Filippov -bfd/ - * elf32-xtensa.c (splay-tree.h): include header. - (text_action_struct): drop next pointer. - (text_action_list_struct): drop head pointer, add count and - tree fields. - (find_fill_action): instead of linear search in text_action_list - search in the tree. - (text_action_compare, action_first, action_next): new functions. - (text_action_add, text_action_add_literal): instead of linear - search and insertion insert new node into the tree. - (removed_by_actions): pass additional parameter: action_list, - use it to traverse the tree. - (offset_with_removed_text): pass additional action_list parameter - to removed_by_actions. - (map_action_fn_context): new typedef. - (map_action_fn_context_struct): new structure. - (map_action_fn): new function. - (map_removal_by_action): use splay_tree_foreach to build map. - (find_insn_action): replace linear search in text_action_list - with series of splay_tree_lookups. - (print_action, print_action_list_fn): new functions. - (print_action_list): use splay_tree_foreach. - (init_xtensa_relax_info): drop action_list.head initialization. - Initialize the tree. - (compute_text_actions): use non-zero action_list_count instead of - non-NULL action list. - (xlate_map_context): new typedef. - (xlate_map_context_struct): new structure. - (xlate_map_fn): new function. - (build_xlate_map): use splay_tree_foreach to build map. - (action_remove_bytes_fn): new function. - (relax_section): use zero action_list_count instead of NULL - action list. Use splay_tree_foreach to count final section size. - Drop unused variable 'removed'. - -Backported from: 4c2af04fe8b4452bf51d2debf1bb467fafcd0f08 -Signed-off-by: Max Filippov ---- - bfd/elf32-xtensa.c | 488 +++++++++++++++++++++++++++++++---------------------- - 1 file changed, 282 insertions(+), 206 deletions(-) - -diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c -index 51733ad..53af1c6 100644 ---- a/bfd/elf32-xtensa.c -+++ b/bfd/elf32-xtensa.c -@@ -28,6 +28,7 @@ - #include "libbfd.h" - #include "elf-bfd.h" - #include "elf/xtensa.h" -+#include "splay-tree.h" - #include "xtensa-isa.h" - #include "xtensa-config.h" - -@@ -5416,8 +5417,6 @@ struct text_action_struct - bfd_vma virtual_offset; /* Zero except for adding literals. */ - int removed_bytes; - literal_value value; /* Only valid when adding literals. */ -- -- text_action *next; - }; - - struct removal_by_action_entry_struct -@@ -5440,7 +5439,8 @@ typedef struct removal_by_action_map_struct removal_by_action_map; - /* List of all of the actions taken on a text section. */ - struct text_action_list_struct - { -- text_action *head; -+ unsigned count; -+ splay_tree tree; - removal_by_action_map map; - }; - -@@ -5448,20 +5448,18 @@ struct text_action_list_struct - static text_action * - find_fill_action (text_action_list *l, asection *sec, bfd_vma offset) - { -- text_action **m_p; -+ text_action a; - - /* It is not necessary to fill at the end of a section. */ - if (sec->size == offset) - return NULL; - -- for (m_p = &l->head; *m_p && (*m_p)->offset <= offset; m_p = &(*m_p)->next) -- { -- text_action *t = *m_p; -- /* When the action is another fill at the same address, -- just increase the size. */ -- if (t->offset == offset && t->action == ta_fill) -- return t; -- } -+ a.offset = offset; -+ a.action = ta_fill; -+ -+ splay_tree_node node = splay_tree_lookup (l->tree, (splay_tree_key)&a); -+ if (node) -+ return (text_action *)node->value; - return NULL; - } - -@@ -5509,6 +5507,49 @@ adjust_fill_action (text_action *ta, int fill_diff) - } - - -+static int -+text_action_compare (splay_tree_key a, splay_tree_key b) -+{ -+ text_action *pa = (text_action *)a; -+ text_action *pb = (text_action *)b; -+ static const int action_priority[] = -+ { -+ [ta_fill] = 0, -+ [ta_none] = 1, -+ [ta_convert_longcall] = 2, -+ [ta_narrow_insn] = 3, -+ [ta_remove_insn] = 4, -+ [ta_remove_longcall] = 5, -+ [ta_remove_literal] = 6, -+ [ta_widen_insn] = 7, -+ [ta_add_literal] = 8, -+ }; -+ -+ if (pa->offset == pb->offset) -+ { -+ if (pa->action == pb->action) -+ return 0; -+ return action_priority[pa->action] - action_priority[pb->action]; -+ } -+ else -+ return pa->offset < pb->offset ? -1 : 1; -+} -+ -+static text_action * -+action_first (text_action_list *action_list) -+{ -+ splay_tree_node node = splay_tree_min (action_list->tree); -+ return node ? (text_action *)node->value : NULL; -+} -+ -+static text_action * -+action_next (text_action_list *action_list, text_action *action) -+{ -+ splay_tree_node node = splay_tree_successor (action_list->tree, -+ (splay_tree_key)action); -+ return node ? (text_action *)node->value : NULL; -+} -+ - /* Add a modification action to the text. For the case of adding or - removing space, modify any current fill and assume that - "unreachable_space" bytes can be freely contracted. Note that a -@@ -5521,8 +5562,8 @@ text_action_add (text_action_list *l, - bfd_vma offset, - int removed) - { -- text_action **m_p; - text_action *ta; -+ text_action a; - - /* It is not necessary to fill at the end of a section. */ - if (action == ta_fill && sec->size == offset) -@@ -5532,34 +5573,30 @@ text_action_add (text_action_list *l, - if (action == ta_fill && removed == 0) - return; - -- for (m_p = &l->head; *m_p && (*m_p)->offset <= offset; m_p = &(*m_p)->next) -+ a.action = action; -+ a.offset = offset; -+ -+ if (action == ta_fill) - { -- text_action *t = *m_p; -+ splay_tree_node node = splay_tree_lookup (l->tree, (splay_tree_key)&a); - -- if (action == ta_fill) -+ if (node) - { -- /* When the action is another fill at the same address, -- just increase the size. */ -- if (t->offset == offset && t->action == ta_fill) -- { -- t->removed_bytes += removed; -- return; -- } -- /* Fills need to happen before widens so that we don't -- insert fill bytes into the instruction stream. */ -- if (t->offset == offset && t->action == ta_widen_insn) -- break; -+ ta = (text_action *)node->value; -+ ta->removed_bytes += removed; -+ return; - } - } -+ else -+ BFD_ASSERT (splay_tree_lookup (l->tree, (splay_tree_key)&a) == NULL); - -- /* Create a new record and fill it up. */ - ta = (text_action *) bfd_zmalloc (sizeof (text_action)); - ta->action = action; - ta->sec = sec; - ta->offset = offset; - ta->removed_bytes = removed; -- ta->next = (*m_p); -- *m_p = ta; -+ splay_tree_insert (l->tree, (splay_tree_key)ta, (splay_tree_value)ta); -+ ++l->count; - } - - -@@ -5570,7 +5607,6 @@ text_action_add_literal (text_action_list *l, - const literal_value *value, - int removed) - { -- text_action **m_p; - text_action *ta; - asection *sec = r_reloc_get_section (loc); - bfd_vma offset = loc->target_offset; -@@ -5578,14 +5614,6 @@ text_action_add_literal (text_action_list *l, - - BFD_ASSERT (action == ta_add_literal); - -- for (m_p = &l->head; *m_p != NULL; m_p = &(*m_p)->next) -- { -- if ((*m_p)->offset > offset -- && ((*m_p)->offset != offset -- || (*m_p)->virtual_offset > virtual_offset)) -- break; -- } -- - /* Create a new record and fill it up. */ - ta = (text_action *) bfd_zmalloc (sizeof (text_action)); - ta->action = action; -@@ -5594,8 +5622,10 @@ text_action_add_literal (text_action_list *l, - ta->virtual_offset = virtual_offset; - ta->value = *value; - ta->removed_bytes = removed; -- ta->next = (*m_p); -- *m_p = ta; -+ -+ BFD_ASSERT (splay_tree_lookup (l->tree, (splay_tree_key)ta) == NULL); -+ splay_tree_insert (l->tree, (splay_tree_key)ta, (splay_tree_value)ta); -+ ++l->count; - } - - -@@ -5606,7 +5636,8 @@ text_action_add_literal (text_action_list *l, - so that each search may begin where the previous one left off. */ - - static int --removed_by_actions (text_action **p_start_action, -+removed_by_actions (text_action_list *action_list, -+ text_action **p_start_action, - bfd_vma offset, - bfd_boolean before_fill) - { -@@ -5614,6 +5645,13 @@ removed_by_actions (text_action **p_start_action, - int removed = 0; - - r = *p_start_action; -+ if (r) -+ { -+ splay_tree_node node = splay_tree_lookup (action_list->tree, -+ (splay_tree_key)r); -+ BFD_ASSERT (node != NULL && r == (text_action *)node->value); -+ } -+ - while (r) - { - if (r->offset > offset) -@@ -5625,7 +5663,7 @@ removed_by_actions (text_action **p_start_action, - - removed += r->removed_bytes; - -- r = r->next; -+ r = action_next (action_list, r); - } - - *p_start_action = r; -@@ -5636,68 +5674,74 @@ removed_by_actions (text_action **p_start_action, - static bfd_vma - offset_with_removed_text (text_action_list *action_list, bfd_vma offset) - { -- text_action *r = action_list->head; -- return offset - removed_by_actions (&r, offset, FALSE); -+ text_action *r = action_first (action_list); -+ -+ return offset - removed_by_actions (action_list, &r, offset, FALSE); - } - - - static unsigned - action_list_count (text_action_list *action_list) - { -- text_action *r = action_list->head; -- unsigned count = 0; -- for (r = action_list->head; r != NULL; r = r->next) -- { -- count++; -- } -- return count; -+ return action_list->count; - } - --static void --map_removal_by_action (text_action_list *action_list) -+typedef struct map_action_fn_context_struct map_action_fn_context; -+struct map_action_fn_context_struct - { -- text_action *r; -- int removed = 0; -+ int removed; - removal_by_action_map map; - bfd_boolean eq_complete; -+}; - -- map.n_entries = 0; -- map.entry = bfd_malloc (action_list_count (action_list) * -- sizeof (removal_by_action_entry)); -- eq_complete = FALSE; -+static int -+map_action_fn (splay_tree_node node, void *p) -+{ -+ map_action_fn_context *ctx = p; -+ text_action *r = (text_action *)node->value; -+ removal_by_action_entry *ientry = ctx->map.entry + ctx->map.n_entries; - -- for (r = action_list->head; r;) -+ if (ctx->map.n_entries && (ientry - 1)->offset == r->offset) - { -- removal_by_action_entry *ientry = map.entry + map.n_entries; -+ --ientry; -+ } -+ else -+ { -+ ++ctx->map.n_entries; -+ ctx->eq_complete = FALSE; -+ ientry->offset = r->offset; -+ ientry->eq_removed_before_fill = ctx->removed; -+ } - -- if (map.n_entries && (ientry - 1)->offset == r->offset) -+ if (!ctx->eq_complete) -+ { -+ if (r->action != ta_fill || r->removed_bytes >= 0) - { -- --ientry; -+ ientry->eq_removed = ctx->removed; -+ ctx->eq_complete = TRUE; - } - else -- { -- ++map.n_entries; -- eq_complete = FALSE; -- ientry->offset = r->offset; -- ientry->eq_removed_before_fill = removed; -- } -+ ientry->eq_removed = ctx->removed + r->removed_bytes; -+ } - -- if (!eq_complete) -- { -- if (r->action != ta_fill || r->removed_bytes >= 0) -- { -- ientry->eq_removed = removed; -- eq_complete = TRUE; -- } -- else -- ientry->eq_removed = removed + r->removed_bytes; -- } -+ ctx->removed += r->removed_bytes; -+ ientry->removed = ctx->removed; -+ return 0; -+} - -- removed += r->removed_bytes; -- ientry->removed = removed; -- r = r->next; -- } -- action_list->map = map; -+static void -+map_removal_by_action (text_action_list *action_list) -+{ -+ map_action_fn_context ctx; -+ -+ ctx.removed = 0; -+ ctx.map.n_entries = 0; -+ ctx.map.entry = bfd_malloc (action_list_count (action_list) * -+ sizeof (removal_by_action_entry)); -+ ctx.eq_complete = FALSE; -+ -+ splay_tree_foreach (action_list->tree, map_action_fn, &ctx); -+ action_list->map = ctx.map; - } - - static int -@@ -5754,28 +5798,26 @@ offset_with_removed_text_map (text_action_list *action_list, bfd_vma offset) - static text_action * - find_insn_action (text_action_list *action_list, bfd_vma offset) - { -- text_action *t; -- for (t = action_list->head; t; t = t->next) -+ static const text_action_t action[] = - { -- if (t->offset == offset) -- { -- switch (t->action) -- { -- case ta_none: -- case ta_fill: -- break; -- case ta_remove_insn: -- case ta_remove_longcall: -- case ta_convert_longcall: -- case ta_narrow_insn: -- case ta_widen_insn: -- return t; -- case ta_remove_literal: -- case ta_add_literal: -- BFD_ASSERT (0); -- break; -- } -- } -+ ta_convert_longcall, -+ ta_remove_longcall, -+ ta_widen_insn, -+ ta_narrow_insn, -+ ta_remove_insn, -+ }; -+ text_action a; -+ unsigned i; -+ -+ a.offset = offset; -+ for (i = 0; i < sizeof (action) / sizeof (*action); ++i) -+ { -+ splay_tree_node node; -+ -+ a.action = action[i]; -+ node = splay_tree_lookup (action_list->tree, (splay_tree_key)&a); -+ if (node) -+ return (text_action *)node->value; - } - return NULL; - } -@@ -5784,40 +5826,50 @@ find_insn_action (text_action_list *action_list, bfd_vma offset) - #if DEBUG - - static void --print_action_list (FILE *fp, text_action_list *action_list) -+print_action (FILE *fp, text_action *r) -+{ -+ const char *t = "unknown"; -+ switch (r->action) -+ { -+ case ta_remove_insn: -+ t = "remove_insn"; break; -+ case ta_remove_longcall: -+ t = "remove_longcall"; break; -+ case ta_convert_longcall: -+ t = "convert_longcall"; break; -+ case ta_narrow_insn: -+ t = "narrow_insn"; break; -+ case ta_widen_insn: -+ t = "widen_insn"; break; -+ case ta_fill: -+ t = "fill"; break; -+ case ta_none: -+ t = "none"; break; -+ case ta_remove_literal: -+ t = "remove_literal"; break; -+ case ta_add_literal: -+ t = "add_literal"; break; -+ } -+ -+ fprintf (fp, "%s: %s[0x%lx] \"%s\" %d\n", -+ r->sec->owner->filename, -+ r->sec->name, (unsigned long) r->offset, t, r->removed_bytes); -+} -+ -+static int -+print_action_list_fn (splay_tree_node node, void *p) - { -- text_action *r; -+ text_action *r = (text_action *)node->value; - -- fprintf (fp, "Text Action\n"); -- for (r = action_list->head; r != NULL; r = r->next) -- { -- const char *t = "unknown"; -- switch (r->action) -- { -- case ta_remove_insn: -- t = "remove_insn"; break; -- case ta_remove_longcall: -- t = "remove_longcall"; break; -- case ta_convert_longcall: -- t = "convert_longcall"; break; -- case ta_narrow_insn: -- t = "narrow_insn"; break; -- case ta_widen_insn: -- t = "widen_insn"; break; -- case ta_fill: -- t = "fill"; break; -- case ta_none: -- t = "none"; break; -- case ta_remove_literal: -- t = "remove_literal"; break; -- case ta_add_literal: -- t = "add_literal"; break; -- } -+ print_action (p, r); -+ return 0; -+} - -- fprintf (fp, "%s: %s[0x%lx] \"%s\" %d\n", -- r->sec->owner->filename, -- r->sec->name, (unsigned long) r->offset, t, r->removed_bytes); -- } -+static void -+print_action_list (FILE *fp, text_action_list *action_list) -+{ -+ fprintf (fp, "Text Action\n"); -+ splay_tree_foreach (action_list->tree, print_action_list_fn, fp); - } - - #endif /* DEBUG */ -@@ -6071,8 +6123,8 @@ init_xtensa_relax_info (asection *sec) - relax_info->removed_list.head = NULL; - relax_info->removed_list.tail = NULL; - -- relax_info->action_list.head = NULL; -- -+ relax_info->action_list.tree = splay_tree_new (text_action_compare, -+ NULL, NULL); - relax_info->action_list.map.n_entries = 0; - relax_info->action_list.map.entry = NULL; - -@@ -7762,7 +7814,7 @@ compute_text_actions (bfd *abfd, - free_reloc_range_list (&relevant_relocs); - - #if DEBUG -- if (relax_info->action_list.head) -+ if (action_list_count (&relax_info->action_list)) - print_action_list (stderr, &relax_info->action_list); - #endif - -@@ -8263,6 +8315,54 @@ xlate_offset_with_removed_text (const xlate_map_t *map, - return e->new_address - e->orig_address + offset; - } - -+typedef struct xlate_map_context_struct xlate_map_context; -+struct xlate_map_context_struct -+{ -+ xlate_map_t *map; -+ xlate_map_entry_t *current_entry; -+ int removed; -+}; -+ -+static int -+xlate_map_fn (splay_tree_node node, void *p) -+{ -+ text_action *r = (text_action *)node->value; -+ xlate_map_context *ctx = p; -+ unsigned orig_size = 0; -+ -+ switch (r->action) -+ { -+ case ta_none: -+ case ta_remove_insn: -+ case ta_convert_longcall: -+ case ta_remove_literal: -+ case ta_add_literal: -+ break; -+ case ta_remove_longcall: -+ orig_size = 6; -+ break; -+ case ta_narrow_insn: -+ orig_size = 3; -+ break; -+ case ta_widen_insn: -+ orig_size = 2; -+ break; -+ case ta_fill: -+ break; -+ } -+ ctx->current_entry->size = -+ r->offset + orig_size - ctx->current_entry->orig_address; -+ if (ctx->current_entry->size != 0) -+ { -+ ctx->current_entry++; -+ ctx->map->entry_count++; -+ } -+ ctx->current_entry->orig_address = r->offset + orig_size; -+ ctx->removed += r->removed_bytes; -+ ctx->current_entry->new_address = r->offset + orig_size - ctx->removed; -+ ctx->current_entry->size = 0; -+ return 0; -+} - - /* Build a binary searchable offset translation map from a section's - action list. */ -@@ -8270,75 +8370,40 @@ xlate_offset_with_removed_text (const xlate_map_t *map, - static xlate_map_t * - build_xlate_map (asection *sec, xtensa_relax_info *relax_info) - { -- xlate_map_t *map = (xlate_map_t *) bfd_malloc (sizeof (xlate_map_t)); - text_action_list *action_list = &relax_info->action_list; - unsigned num_actions = 0; -- text_action *r; -- int removed; -- xlate_map_entry_t *current_entry; -+ xlate_map_context ctx; - -- if (map == NULL) -+ ctx.map = (xlate_map_t *) bfd_malloc (sizeof (xlate_map_t)); -+ -+ if (ctx.map == NULL) - return NULL; - - num_actions = action_list_count (action_list); -- map->entry = (xlate_map_entry_t *) -+ ctx.map->entry = (xlate_map_entry_t *) - bfd_malloc (sizeof (xlate_map_entry_t) * (num_actions + 1)); -- if (map->entry == NULL) -+ if (ctx.map->entry == NULL) - { -- free (map); -+ free (ctx.map); - return NULL; - } -- map->entry_count = 0; -+ ctx.map->entry_count = 0; - -- removed = 0; -- current_entry = &map->entry[0]; -+ ctx.removed = 0; -+ ctx.current_entry = &ctx.map->entry[0]; - -- current_entry->orig_address = 0; -- current_entry->new_address = 0; -- current_entry->size = 0; -+ ctx.current_entry->orig_address = 0; -+ ctx.current_entry->new_address = 0; -+ ctx.current_entry->size = 0; - -- for (r = action_list->head; r != NULL; r = r->next) -- { -- unsigned orig_size = 0; -- switch (r->action) -- { -- case ta_none: -- case ta_remove_insn: -- case ta_convert_longcall: -- case ta_remove_literal: -- case ta_add_literal: -- break; -- case ta_remove_longcall: -- orig_size = 6; -- break; -- case ta_narrow_insn: -- orig_size = 3; -- break; -- case ta_widen_insn: -- orig_size = 2; -- break; -- case ta_fill: -- break; -- } -- current_entry->size = -- r->offset + orig_size - current_entry->orig_address; -- if (current_entry->size != 0) -- { -- current_entry++; -- map->entry_count++; -- } -- current_entry->orig_address = r->offset + orig_size; -- removed += r->removed_bytes; -- current_entry->new_address = r->offset + orig_size - removed; -- current_entry->size = 0; -- } -+ splay_tree_foreach (action_list->tree, xlate_map_fn, &ctx); - -- current_entry->size = (bfd_get_section_limit (sec->owner, sec) -- - current_entry->orig_address); -- if (current_entry->size != 0) -- map->entry_count++; -+ ctx.current_entry->size = (bfd_get_section_limit (sec->owner, sec) -+ - ctx.current_entry->orig_address); -+ if (ctx.current_entry->size != 0) -+ ctx.map->entry_count++; - -- return map; -+ return ctx.map; - } - - -@@ -9302,6 +9367,16 @@ move_shared_literal (asection *sec, - - /* Second relaxation pass. */ - -+static int -+action_remove_bytes_fn (splay_tree_node node, void *p) -+{ -+ bfd_size_type *final_size = p; -+ text_action *action = (text_action *)node->value; -+ -+ *final_size -= action->removed_bytes; -+ return 0; -+} -+ - /* Modify all of the relocations to point to the right spot, and if this - is a relaxable section, delete the unwanted literals and fix the - section size. */ -@@ -9334,7 +9409,7 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info) - - internal_relocs = retrieve_internal_relocs (abfd, sec, - link_info->keep_memory); -- if (!internal_relocs && !relax_info->action_list.head) -+ if (!internal_relocs && !action_list_count (&relax_info->action_list)) - return TRUE; - - contents = retrieve_contents (abfd, sec, link_info->keep_memory); -@@ -9412,6 +9487,12 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info) - } - /* Update the action so that the code that moves - the contents will do the right thing. */ -+ /* ta_remove_longcall and ta_remove_insn actions are -+ grouped together in the tree as well as -+ ta_convert_longcall and ta_none, so that changes below -+ can be done w/o removing and reinserting action into -+ the tree. */ -+ - if (action->action == ta_remove_longcall) - action->action = ta_remove_insn; - else -@@ -9584,13 +9665,12 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info) - - if ((relax_info->is_relaxable_literal_section - || relax_info->is_relaxable_asm_section) -- && relax_info->action_list.head) -+ && action_list_count (&relax_info->action_list)) - { - /* Walk through the planned actions and build up a table - of move, copy and fill records. Use the move, copy and - fill records to perform the actions once. */ - -- int removed = 0; - bfd_size_type final_size, copy_size, orig_insn_size; - bfd_byte *scratch = NULL; - bfd_byte *dup_contents = NULL; -@@ -9601,15 +9681,12 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info) - bfd_vma orig_dot_vo = 0; /* Virtual offset from orig_dot. */ - bfd_vma dup_dot = 0; - -- text_action *action = relax_info->action_list.head; -+ text_action *action; - - final_size = sec->size; -- for (action = relax_info->action_list.head; action; -- action = action->next) -- { -- final_size -= action->removed_bytes; -- } - -+ splay_tree_foreach (relax_info->action_list.tree, -+ action_remove_bytes_fn, &final_size); - scratch = (bfd_byte *) bfd_zmalloc (final_size); - dup_contents = (bfd_byte *) bfd_zmalloc (final_size); - -@@ -9618,8 +9695,8 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info) - print_action_list (stderr, &relax_info->action_list); - #endif - -- for (action = relax_info->action_list.head; action; -- action = action->next) -+ for (action = action_first (&relax_info->action_list); action; -+ action = action_next (&relax_info->action_list, action)) - { - virtual_action = FALSE; - if (action->offset > orig_dot) -@@ -9748,7 +9825,6 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info) - break; - } - -- removed += action->removed_bytes; - BFD_ASSERT (dup_dot <= final_size); - BFD_ASSERT (orig_dot <= orig_size); - } --- -1.8.1.4 - diff --git a/package/binutils/2.25.1/910-xtensa-optimize-trampolines-relaxation.patch b/package/binutils/2.25.1/910-xtensa-optimize-trampolines-relaxation.patch deleted file mode 100644 index 043ff4df1e..0000000000 --- a/package/binutils/2.25.1/910-xtensa-optimize-trampolines-relaxation.patch +++ /dev/null @@ -1,345 +0,0 @@ -From cbe53e134d4c3a656880a906738ce19fdcd38e8b Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Fri, 1 May 2015 11:39:12 +0300 -Subject: [PATCH] xtensa: optimize trampolines relaxation - -Currently every fixup in the current segment is checked when relaxing -trampoline frag. This is very expensive. Make a searchable array of -fixups pointing at potentially oversized jumps at the beginning of every -relaxation pass and only check subset of this cache in the reach of -single jump from the trampoline frag currently being relaxed. - -Original profile: - -% time self children called name ------------------------------------------ - 370.16 593.38 12283048/12283048 relax_segment - 98.4 370.16 593.38 12283048 xtensa_relax_frag - 58.91 269.26 2691463834/2699602236 xtensa_insnbuf_from_chars - 68.35 68.17 811266668/813338977 S_GET_VALUE - 36.85 29.51 2684369246/2685538060 xtensa_opcode_decode - 28.34 8.84 2684369246/2685538060 xtensa_format_get_slot - 12.39 5.94 2691463834/2699775044 xtensa_format_decode - 0.03 4.60 4101109/4101109 relax_frag_for_align - 0.18 1.76 994617/994617 relax_frag_immed - 0.07 0.09 24556277/24851220 new_logical_line - 0.06 0.00 12283048/14067410 as_where - 0.04 0.00 7094588/15460506 xtensa_format_num_slots - 0.00 0.00 1/712477 xtensa_insnbuf_alloc ------------------------------------------ - -Same data, after optimization: - -% time self children called name ------------------------------------------ - 0.51 7.47 12283048/12283048 relax_segment - 58.0 0.51 7.47 12283048 xtensa_relax_frag - 0.02 4.08 4101109/4101109 relax_frag_for_align - 0.18 1.39 994617/994617 relax_frag_immed - 0.01 0.98 555/555 xtensa_cache_relaxable_fixups - 0.21 0.25 7094588/16693271 xtensa_insnbuf_from_chars - 0.06 0.12 24556277/24851220 new_logical_line - 0.06 0.00 7094588/15460506 xtensa_format_num_slots - 0.02 0.04 7094588/16866079 xtensa_format_decode - 0.05 0.00 12283048/14067410 as_where - 0.00 0.00 1/712477 xtensa_insnbuf_alloc - 0.00 0.00 93808/93808 xtensa_find_first_cached_fixup ------------------------------------------ - -2015-05-02 Max Filippov -gas/ - * config/tc-xtensa.c (cached_fixupS, fixup_cacheS): New typedefs. - (struct cached_fixup, struct fixup_cache): New structures. - (fixup_order, xtensa_make_cached_fixup), - (xtensa_realloc_fixup_cache, xtensa_cache_relaxable_fixups), - (xtensa_find_first_cached_fixup, xtensa_delete_cached_fixup), - (xtensa_add_cached_fixup): New functions. - (xtensa_relax_frag): Cache fixups pointing at potentially - oversized jumps at the beginning of every relaxation pass. Only - check subset of this cache in the reach of single jump from the - trampoline frag currently being relaxed. - -Signed-off-by: Max Filippov ---- -Backported from: b76f99d702c3501ac320396ea06bc7f9237173c3 -Changes to ChangeLog are dropped. - - gas/config/tc-xtensa.c | 220 +++++++++++++++++++++++++++++++++++++++++++------ - 1 file changed, 194 insertions(+), 26 deletions(-) - -diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c -index 3e85b69..31c0b6b 100644 ---- a/gas/config/tc-xtensa.c -+++ b/gas/config/tc-xtensa.c -@@ -8785,6 +8785,154 @@ static long relax_frag_for_align (fragS *, long); - static long relax_frag_immed - (segT, fragS *, long, int, xtensa_format, int, int *, bfd_boolean); - -+typedef struct cached_fixup cached_fixupS; -+struct cached_fixup -+{ -+ int addr; -+ int target; -+ int delta; -+ fixS *fixP; -+}; -+ -+typedef struct fixup_cache fixup_cacheS; -+struct fixup_cache -+{ -+ cached_fixupS *fixups; -+ unsigned n_fixups; -+ unsigned n_max; -+ -+ segT seg; -+ fragS *first_frag; -+}; -+ -+static int fixup_order (const void *a, const void *b) -+{ -+ const cached_fixupS *pa = a; -+ const cached_fixupS *pb = b; -+ -+ if (pa->addr == pb->addr) -+ { -+ if (pa->target == pb->target) -+ { -+ if (pa->fixP->fx_r_type == pb->fixP->fx_r_type) -+ return 0; -+ return pa->fixP->fx_r_type < pb->fixP->fx_r_type ? -1 : 1; -+ } -+ return pa->target - pb->target; -+ } -+ return pa->addr - pb->addr; -+} -+ -+static bfd_boolean xtensa_make_cached_fixup (cached_fixupS *o, fixS *fixP) -+{ -+ xtensa_isa isa = xtensa_default_isa; -+ int addr = fixP->fx_frag->fr_address; -+ int target; -+ int delta; -+ symbolS *s = fixP->fx_addsy; -+ int slot; -+ xtensa_format fmt; -+ xtensa_opcode opcode; -+ -+ if (fixP->fx_r_type < BFD_RELOC_XTENSA_SLOT0_OP || -+ fixP->fx_r_type > BFD_RELOC_XTENSA_SLOT14_OP) -+ return FALSE; -+ target = S_GET_VALUE (s); -+ delta = target - addr; -+ -+ if (abs(delta) < J_RANGE / 2) -+ return FALSE; -+ -+ xtensa_insnbuf_from_chars (isa, trampoline_buf, -+ (unsigned char *) fixP->fx_frag->fr_literal + -+ fixP->fx_where, 0); -+ fmt = xtensa_format_decode (isa, trampoline_buf); -+ gas_assert (fmt != XTENSA_UNDEFINED); -+ slot = fixP->tc_fix_data.slot; -+ xtensa_format_get_slot (isa, fmt, slot, trampoline_buf, trampoline_slotbuf); -+ opcode = xtensa_opcode_decode (isa, fmt, slot, trampoline_slotbuf); -+ if (opcode != xtensa_j_opcode) -+ return FALSE; -+ -+ o->addr = addr; -+ o->target = target; -+ o->delta = delta; -+ o->fixP = fixP; -+ -+ return TRUE; -+} -+ -+static void xtensa_realloc_fixup_cache (fixup_cacheS *cache, unsigned add) -+{ -+ if (cache->n_fixups + add > cache->n_max) -+ { -+ cache->n_max = (cache->n_fixups + add) * 2; -+ cache->fixups = xrealloc (cache->fixups, -+ sizeof (*cache->fixups) * cache->n_max); -+ } -+} -+ -+static void xtensa_cache_relaxable_fixups (fixup_cacheS *cache, -+ segment_info_type *seginfo) -+{ -+ fixS *fixP; -+ -+ cache->n_fixups = 0; -+ -+ for (fixP = seginfo->fix_root; fixP ; fixP = fixP->fx_next) -+ { -+ xtensa_realloc_fixup_cache (cache, 1); -+ -+ if (xtensa_make_cached_fixup (cache->fixups + cache->n_fixups, fixP)) -+ ++cache->n_fixups; -+ } -+ qsort (cache->fixups, cache->n_fixups, sizeof (*cache->fixups), fixup_order); -+} -+ -+static unsigned xtensa_find_first_cached_fixup (const fixup_cacheS *cache, -+ int addr) -+{ -+ unsigned a = 0; -+ unsigned b = cache->n_fixups; -+ -+ while (b - a > 1) -+ { -+ unsigned c = (a + b) / 2; -+ -+ if (cache->fixups[c].addr < addr) -+ a = c; -+ else -+ b = c; -+ } -+ return a; -+} -+ -+static void xtensa_delete_cached_fixup (fixup_cacheS *cache, unsigned i) -+{ -+ memmove (cache->fixups + i, cache->fixups + i + 1, -+ (cache->n_fixups - i - 1) * sizeof (*cache->fixups)); -+ --cache->n_fixups; -+} -+ -+static bfd_boolean xtensa_add_cached_fixup (fixup_cacheS *cache, fixS *fixP) -+{ -+ cached_fixupS o; -+ unsigned i; -+ -+ if (!xtensa_make_cached_fixup (&o, fixP)) -+ return FALSE; -+ xtensa_realloc_fixup_cache (cache, 1); -+ i = xtensa_find_first_cached_fixup (cache, o.addr); -+ if (i < cache->n_fixups) -+ { -+ ++i; -+ memmove (cache->fixups + i + 1, cache->fixups + i, -+ (cache->n_fixups - i) * sizeof (*cache->fixups)); -+ } -+ cache->fixups[i] = o; -+ ++cache->n_fixups; -+ return TRUE; -+} - - /* Return the number of bytes added to this fragment, given that the - input has been stretched already by "stretch". */ -@@ -8896,35 +9044,42 @@ xtensa_relax_frag (fragS *fragP, long stretch, int *stretched_p) - case RELAX_TRAMPOLINE: - if (fragP->tc_frag_data.relax_seen) - { -- segment_info_type *seginfo = seg_info (now_seg); -- fragS *fP; /* The out-of-range jump. */ -- fixS *fixP; -+ static fixup_cacheS fixup_cache; -+ segment_info_type *seginfo = seg_info (now_seg); -+ int trampaddr = fragP->fr_address + fragP->fr_fix; -+ int searchaddr = trampaddr < J_RANGE ? 0 : trampaddr - J_RANGE; -+ unsigned i; -+ -+ if (now_seg != fixup_cache.seg || -+ fragP == fixup_cache.first_frag || -+ fixup_cache.first_frag == NULL) -+ { -+ xtensa_cache_relaxable_fixups (&fixup_cache, seginfo); -+ fixup_cache.seg = now_seg; -+ fixup_cache.first_frag = fragP; -+ } - - /* Scan for jumps that will not reach. */ -- for (fixP = seginfo->fix_root; fixP ; fixP = fixP->fx_next) -+ for (i = xtensa_find_first_cached_fixup (&fixup_cache, searchaddr); -+ i < fixup_cache.n_fixups; ++i) -+ - { -- symbolS *s = fixP->fx_addsy; -- xtensa_opcode opcode; -- int target; -- int addr; -- int delta; -- -- if (fixP->fx_r_type < BFD_RELOC_XTENSA_SLOT0_OP || -- fixP->fx_r_type > BFD_RELOC_XTENSA_SLOT14_OP) -- continue; -- xtensa_insnbuf_from_chars (isa, trampoline_buf, -- (unsigned char *) fixP->fx_frag->fr_literal + fixP->fx_where, -- 0); -- fmt = xtensa_format_decode (isa, trampoline_buf); -- gas_assert (fmt != XTENSA_UNDEFINED); -- slot = fixP->tc_fix_data.slot; -- xtensa_format_get_slot (isa, fmt, slot, trampoline_buf, trampoline_slotbuf); -- opcode = xtensa_opcode_decode (isa, fmt, slot, trampoline_slotbuf); -- if (opcode != xtensa_j_opcode) -+ fixS *fixP = fixup_cache.fixups[i].fixP; -+ int target = fixup_cache.fixups[i].target; -+ int addr = fixup_cache.fixups[i].addr; -+ int delta = fixup_cache.fixups[i].delta + stretch; -+ -+ trampaddr = fragP->fr_address + fragP->fr_fix; -+ -+ if (addr + J_RANGE < trampaddr) - continue; -- target = S_GET_VALUE (s); -- addr = fixP->fx_frag->fr_address; -- delta = target - addr + stretch; -+ if (addr > trampaddr + J_RANGE) -+ break; -+ if (abs (delta) < J_RANGE) -+ continue; -+ -+ slot = fixP->tc_fix_data.slot; -+ - if (delta > J_RANGE || delta < -1 * J_RANGE) - { /* Found an out-of-range jump; scan the list of trampolines for the best match. */ - struct trampoline_seg *ts = find_trampoline_seg (now_seg); -@@ -8978,14 +9133,13 @@ xtensa_relax_frag (fragS *fragP, long stretch, int *stretched_p) - } - if (tf->fragP == fragP) - { -- int trampaddr = fragP->fr_address + fragP->fr_fix; -- - if (abs (addr - trampaddr) < J_RANGE) - { /* The trampoline is in range of original; fix it! */ - fixS *newfixP; - int offset; - TInsn insn; - symbolS *lsym; -+ fragS *fP; /* The out-of-range jump. */ - - new_stretch += init_trampoline_frag (tf); - offset = fragP->fr_fix; /* Where to assemble the j insn. */ -@@ -9009,10 +9163,20 @@ xtensa_relax_frag (fragS *fragP, long stretch, int *stretched_p) - newfixP->tc_fix_data.X_add_symbol = lsym; - newfixP->tc_fix_data.X_add_number = offset; - newfixP->tc_fix_data.slot = slot; -+ -+ xtensa_delete_cached_fixup (&fixup_cache, i); -+ xtensa_add_cached_fixup (&fixup_cache, newfixP); -+ - /* Move the fix-up from the original j insn to this one. */ - fixP->fx_frag = fragP; - fixP->fx_where = fragP->fr_fix - 3; - fixP->tc_fix_data.slot = 0; -+ -+ xtensa_add_cached_fixup (&fixup_cache, fixP); -+ -+ /* re-do current fixup */ -+ --i; -+ - /* Adjust the jump around this trampoline (if present). */ - if (tf->fixP != NULL) - { -@@ -9027,6 +9191,8 @@ xtensa_relax_frag (fragS *fragP, long stretch, int *stretched_p) - fragP->fr_subtype = 0; - /* Remove from the trampoline_list. */ - prev->next = tf->next; -+ if (fragP == fixup_cache.first_frag) -+ fixup_cache.first_frag = NULL; - break; - } - } --- -1.8.1.4 - diff --git a/package/binutils/2.25.1/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch b/package/binutils/2.25.1/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch deleted file mode 100644 index 9ad6b3be05..0000000000 --- a/package/binutils/2.25.1/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 8ec76b16f62d1bf386fb2c39af5f66c3afddc5cb Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Thu, 14 May 2015 05:22:55 +0300 -Subject: [PATCH] xtensa: fix localized symbol refcounting with --gc-sections - -elf_xtensa_gc_sweep_hook doesn't correctly unreference symbols that were -made local, that results in link failure with the following message: - - BFD (GNU Binutils) 2.24 internal error, aborting at elf32-xtensa.c line - 3372 in elf_xtensa_finish_dynamic_sections - -elf_xtensa_gc_sweep_hook determines symbol reference type (PLT or GOT) by -relocation type. Relocation types are not changed when symbol becomes -local, but its PLT references are added to GOT references and -plt.refcount is set to 0. Such symbol cannot be unreferences in the -elf_xtensa_gc_sweep_hook and its extra references make calculated GOT -relocations section size not match number of GOT relocations. - -Fix it by treating PLT reference as GOT reference when plt.refcount is -not positive. - -2015-05-14 Max Filippov -bfd/ - * elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Treat PLT reference - as GOT reference when plt.refcount is not positive. - -Signed-off-by: Max Filippov ---- -Backported from: e6c9a083ec5ae7a45bd71682b26aae1939849388 -Changes to ChangeLog are dropped. - - bfd/elf32-xtensa.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c -index 53af1c6..2523670 100644 ---- a/bfd/elf32-xtensa.c -+++ b/bfd/elf32-xtensa.c -@@ -1360,10 +1360,14 @@ elf_xtensa_gc_sweep_hook (bfd *abfd, - { - if (is_plt) - { -+ /* If the symbol has been localized its plt.refcount got moved -+ to got.refcount. Handle it as GOT. */ - if (h->plt.refcount > 0) - h->plt.refcount--; -+ else -+ is_got = TRUE; - } -- else if (is_got) -+ if (is_got) - { - if (h->got.refcount > 0) - h->got.refcount--; --- -1.8.1.4 - diff --git a/package/binutils/2.25.1/912-xtensa-fix-gas-segfault-with-text-section-literals.patch b/package/binutils/2.25.1/912-xtensa-fix-gas-segfault-with-text-section-literals.patch deleted file mode 100644 index 4a3de2c839..0000000000 --- a/package/binutils/2.25.1/912-xtensa-fix-gas-segfault-with-text-section-literals.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 2d0522e76e4afeeb2e104e0a4332d94fa0d2fbf6 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Sun, 17 May 2015 06:46:15 +0300 -Subject: [PATCH] xtensa: fix gas segfault with --text-section-literals - -When --text-section-literals is used and code in the .init or .fini -emits literal in the absence of .literal_position, xtensa_move_literals -segfaults. - -Check that search_frag is non-NULL in the xtensa_move_literals and -report error otherwise. - -2015-05-26 Max Filippov -gas/ - * config/tc-xtensa.c (xtensa_move_literals): Check that - search_frag is non-NULL. Report error if literal frag is not - found. - -Signed-off-by: Max Filippov ---- -Backported from: 4de0562a4c69fef4952aa7e19d7bda359f02e8b4 -Changes to ChangeLog are dropped. - - gas/config/tc-xtensa.c | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c -index 31c0b6b..18307c1 100644 ---- a/gas/config/tc-xtensa.c -+++ b/gas/config/tc-xtensa.c -@@ -10808,13 +10808,21 @@ xtensa_move_literals (void) - frchain_to = NULL; - frag_splice = &(frchain_from->frch_root); - -- while (!search_frag->tc_frag_data.literal_frag) -+ while (search_frag && !search_frag->tc_frag_data.literal_frag) - { - gas_assert (search_frag->fr_fix == 0 - || search_frag->fr_type == rs_align); - search_frag = search_frag->fr_next; - } - -+ if (!search_frag) -+ { -+ search_frag = frchain_from->frch_root; -+ as_bad_where (search_frag->fr_file, search_frag->fr_line, -+ _("literal pool location required for text-section-literals; specify with .literal_position")); -+ continue; -+ } -+ - gas_assert (search_frag->tc_frag_data.literal_frag->fr_subtype - == RELAX_LITERAL_POOL_BEGIN); - xtensa_switch_section_emit_state (&state, segment->seg, 0); --- -1.8.1.4 - diff --git a/package/binutils/2.25.1/913-xtensa-add-auto-litpools-option.patch b/package/binutils/2.25.1/913-xtensa-add-auto-litpools-option.patch deleted file mode 100644 index 3ed9af1283..0000000000 --- a/package/binutils/2.25.1/913-xtensa-add-auto-litpools-option.patch +++ /dev/null @@ -1,699 +0,0 @@ -From 978adaaa4cd3921842e2be8a31c05f081fb17fcf Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Wed, 29 Jul 2015 17:42:54 +0300 -Subject: [PATCH] xtensa: add --auto-litpools option - -Auto-litpools is the automated version of text-section-literals: literal -pool candidate frags are planted every N frags and during relaxation -they are turned into actual literal pools where literals are moved to -become reachable for their first reference by L32R instruction. - -2015-08-12 David Weatherford -gas/ - * config/tc-xtensa.c (struct litpool_frag, struct litpool_seg): - New structures. - (xtensa_maybe_create_literal_pool_frag): New function. - (litpool_seg_list, auto_litpools, auto_litpool_limit) - (litpool_buf, litpool_slotbuf): New static variables. - (option_auto_litpools, option_no_auto_litpools) - (option_auto_litpool_limit): New enum identifiers. - (md_longopts): Add entries for auto-litpools, no-auto-litpools - and auto-litpool-limit. - (md_parse_option): Handle option_auto_litpools, - option_no_auto_litpools and option_auto_litpool_limit. - (md_show_usage): Add help for --[no-]auto-litpools and - --auto-litpool-limit. - (xtensa_mark_literal_pool_location): Record a place for literal - pool with a call to xtensa_maybe_create_literal_pool_frag. - (get_literal_pool_location): Find highest priority literal pool - or convert candidate to literal pool when auto-litpools are used. - (xg_assemble_vliw_tokens): Create literal pool after jump - instruction. - (xtensa_check_frag_count): Create candidate literal pool every - auto_litpool_limit frags. - (xtensa_relax_frag): Add jump around literals to non-empty - literal pool. - (xtensa_move_literals): Estimate literal pool addresses and move - unreachable literals closer to their users, converting candidate - to literal pool if needed. - (xtensa_switch_to_non_abs_literal_fragment): Only emit error - about missing .literal_position in case auto-litpools are not - used. - * config/tc-xtensa.h (xtensa_relax_statesE): New relaxation - state: RELAX_LITERAL_POOL_CANDIDATE_BEGIN. - -2015-08-12 Max Filippov -gas/testsuite/ - * gas/xtensa/all.exp: Add auto-litpools to the list of xtensa - tests. - * gas/xtensa/auto-litpools.s: New file: auto-litpools test. - * gas/xtensa/auto-litpools.s: New file: auto-litpools test - result pattern. - -Signed-off-by: Max Filippov ---- -Backported from: b46824bd49648c575372e6d9bc6a6defeabd6ed5 -Changes to ChangeLogs and documentation are dropped. - - gas/config/tc-xtensa.c | 432 ++++++++++++++++++++++++++++++- - gas/config/tc-xtensa.h | 1 + - gas/testsuite/gas/xtensa/all.exp | 1 + - gas/testsuite/gas/xtensa/auto-litpools.d | 12 + - gas/testsuite/gas/xtensa/auto-litpools.s | 13 + - 5 files changed, 454 insertions(+), 5 deletions(-) - create mode 100644 gas/testsuite/gas/xtensa/auto-litpools.d - create mode 100644 gas/testsuite/gas/xtensa/auto-litpools.s - -diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c -index 7311a05..b8b1e7d 100644 ---- a/gas/config/tc-xtensa.c -+++ b/gas/config/tc-xtensa.c -@@ -440,6 +440,29 @@ bfd_boolean directive_state[] = - #endif - }; - -+/* A circular list of all potential and actual literal pool locations -+ in a segment. */ -+struct litpool_frag -+{ -+ struct litpool_frag *next; -+ struct litpool_frag *prev; -+ fragS *fragP; -+ addressT addr; -+ short priority; /* 1, 2, or 3 -- 1 is highest */ -+ short original_priority; -+}; -+ -+/* Map a segment to its litpool_frag list. */ -+struct litpool_seg -+{ -+ struct litpool_seg *next; -+ asection *seg; -+ struct litpool_frag frag_list; -+ int frag_count; /* since last litpool location */ -+}; -+ -+static struct litpool_seg litpool_seg_list; -+ - - /* Directive functions. */ - -@@ -474,6 +497,9 @@ static void xtensa_create_trampoline_frag (bfd_boolean); - static void xtensa_maybe_create_trampoline_frag (void); - struct trampoline_frag; - static int init_trampoline_frag (struct trampoline_frag *); -+static void xtensa_maybe_create_literal_pool_frag (bfd_boolean, bfd_boolean); -+static bfd_boolean auto_litpools = FALSE; -+static int auto_litpool_limit = 10000; - - /* Alignment Functions. */ - -@@ -698,6 +724,10 @@ enum - - option_trampolines, - option_no_trampolines, -+ -+ option_auto_litpools, -+ option_no_auto_litpools, -+ option_auto_litpool_limit, - }; - - const char *md_shortopts = ""; -@@ -773,6 +803,10 @@ struct option md_longopts[] = - { "trampolines", no_argument, NULL, option_trampolines }, - { "no-trampolines", no_argument, NULL, option_no_trampolines }, - -+ { "auto-litpools", no_argument, NULL, option_auto_litpools }, -+ { "no-auto-litpools", no_argument, NULL, option_no_auto_litpools }, -+ { "auto-litpool-limit", required_argument, NULL, option_auto_litpool_limit }, -+ - { NULL, no_argument, NULL, 0 } - }; - -@@ -961,6 +995,34 @@ md_parse_option (int c, char *arg) - use_trampolines = FALSE; - return 1; - -+ case option_auto_litpools: -+ auto_litpools = TRUE; -+ use_literal_section = FALSE; -+ return 1; -+ -+ case option_no_auto_litpools: -+ auto_litpools = FALSE; -+ auto_litpool_limit = -1; -+ return 1; -+ -+ case option_auto_litpool_limit: -+ { -+ int value = 0; -+ if (auto_litpool_limit < 0) -+ as_fatal (_("no-auto-litpools is incompatible with auto-litpool-limit")); -+ if (*arg == 0 || *arg == '-') -+ as_fatal (_("invalid auto-litpool-limit argument")); -+ value = strtol (arg, &arg, 10); -+ if (*arg != 0) -+ as_fatal (_("invalid auto-litpool-limit argument")); -+ if (value < 100 || value > 10000) -+ as_fatal (_("invalid auto-litpool-limit argument (range is 100-10000)")); -+ auto_litpool_limit = value; -+ auto_litpools = TRUE; -+ use_literal_section = FALSE; -+ return 1; -+ } -+ - default: - return 0; - } -@@ -986,7 +1048,12 @@ Xtensa options:\n\ - flix bundles\n\ - --rename-section old=new Rename section 'old' to 'new'\n\ - --[no-]trampolines [Do not] generate trampolines (jumps to jumps)\n\ -- when jumps do not reach their targets\n", stream); -+ when jumps do not reach their targets\n\ -+ --[no-]auto-litpools [Do not] automatically create literal pools\n\ -+ --auto-litpool-limit=\n\ -+ (range 100-10000) Maximum number of blocks of\n\ -+ instructions to emit between literal pool\n\ -+ locations; implies --auto-litpools flag\n", stream); - } - - -@@ -4728,6 +4795,8 @@ xtensa_mark_literal_pool_location (void) - pool_location = frag_now; - frag_now->tc_frag_data.lit_frchain = frchain_now; - frag_now->tc_frag_data.literal_frag = frag_now; -+ /* Just record this frag. */ -+ xtensa_maybe_create_literal_pool_frag (FALSE, FALSE); - frag_variant (rs_machine_dependent, 0, 0, - RELAX_LITERAL_POOL_BEGIN, NULL, 0, NULL); - xtensa_set_frag_assembly_state (frag_now); -@@ -4832,6 +4901,31 @@ get_expanded_loop_offset (xtensa_opcode opcode) - static fragS * - get_literal_pool_location (segT seg) - { -+ struct litpool_seg *lps = litpool_seg_list.next; -+ struct litpool_frag *lpf; -+ for ( ; lps && lps->seg->id != seg->id; lps = lps->next) -+ ; -+ if (lps) -+ { -+ for (lpf = lps->frag_list.prev; lpf->fragP; lpf = lpf->prev) -+ { /* Skip "candidates" for now. */ -+ if (lpf->fragP->fr_subtype == RELAX_LITERAL_POOL_BEGIN && -+ lpf->priority == 1) -+ return lpf->fragP; -+ } -+ /* Must convert a lower-priority pool. */ -+ for (lpf = lps->frag_list.prev; lpf->fragP; lpf = lpf->prev) -+ { -+ if (lpf->fragP->fr_subtype == RELAX_LITERAL_POOL_BEGIN) -+ return lpf->fragP; -+ } -+ /* Still no match -- try for a low priority pool. */ -+ for (lpf = lps->frag_list.prev; lpf->fragP; lpf = lpf->prev) -+ { -+ if (lpf->fragP->fr_subtype == RELAX_LITERAL_POOL_CANDIDATE_BEGIN) -+ return lpf->fragP; -+ } -+ } - return seg_info (seg)->tc_segment_info_data.literal_pool_loc; - } - -@@ -7098,6 +7192,11 @@ xg_assemble_vliw_tokens (vliw_insn *vinsn) - frag_now->tc_frag_data.slot_symbols[slot] = tinsn->symbol; - frag_now->tc_frag_data.slot_offsets[slot] = tinsn->offset; - frag_now->tc_frag_data.literal_frags[slot] = tinsn->literal_frag; -+ if (tinsn->opcode == xtensa_l32r_opcode) -+ { -+ frag_now->tc_frag_data.literal_frags[slot] = -+ tinsn->tok[1].X_add_symbol->sy_frag; -+ } - if (tinsn->literal_space != 0) - xg_assemble_literal_space (tinsn->literal_space, slot); - frag_now->tc_frag_data.free_reg[slot] = tinsn->extra_arg; -@@ -7170,6 +7269,8 @@ xg_assemble_vliw_tokens (vliw_insn *vinsn) - frag_now->fr_symbol, frag_now->fr_offset, NULL); - xtensa_set_frag_assembly_state (frag_now); - xtensa_maybe_create_trampoline_frag (); -+ /* Always create one here. */ -+ xtensa_maybe_create_literal_pool_frag (TRUE, FALSE); - } - else if (is_branch && do_align_targets ()) - { -@@ -7314,11 +7415,18 @@ xtensa_check_frag_count (void) - clear_frag_count (); - unreachable_count = 0; - } -+ -+ /* We create an area for a possible literal pool every N (default 5000) -+ frags or so. */ -+ xtensa_maybe_create_literal_pool_frag (TRUE, TRUE); - } - - static xtensa_insnbuf trampoline_buf = NULL; - static xtensa_insnbuf trampoline_slotbuf = NULL; - -+static xtensa_insnbuf litpool_buf = NULL; -+static xtensa_insnbuf litpool_slotbuf = NULL; -+ - #define TRAMPOLINE_FRAG_SIZE 3000 - - static void -@@ -7410,6 +7518,135 @@ dump_trampolines (void) - } - } - -+static void dump_litpools (void) __attribute__ ((unused)); -+ -+static void -+dump_litpools (void) -+{ -+ struct litpool_seg *lps = litpool_seg_list.next; -+ struct litpool_frag *lpf; -+ -+ for ( ; lps ; lps = lps->next ) -+ { -+ printf("litpool seg %s\n", lps->seg->name); -+ for ( lpf = lps->frag_list.next; lpf->fragP; lpf = lpf->next ) -+ { -+ fragS *litfrag = lpf->fragP->fr_next; -+ int count = 0; -+ while (litfrag && litfrag->fr_subtype != RELAX_LITERAL_POOL_END) -+ { -+ if (litfrag->fr_fix == 4) -+ count++; -+ litfrag = litfrag->fr_next; -+ } -+ printf(" %ld <%d:%d> (%d) [%d]: ", -+ lpf->addr, lpf->priority, lpf->original_priority, -+ lpf->fragP->fr_line, count); -+ //dump_frag(lpf->fragP); -+ } -+ } -+} -+ -+static void -+xtensa_maybe_create_literal_pool_frag (bfd_boolean create, -+ bfd_boolean only_if_needed) -+{ -+ struct litpool_seg *lps = litpool_seg_list.next; -+ fragS *fragP; -+ struct litpool_frag *lpf; -+ bfd_boolean needed = FALSE; -+ -+ if (use_literal_section || !auto_litpools) -+ return; -+ -+ for ( ; lps ; lps = lps->next ) -+ { -+ if (lps->seg == now_seg) -+ break; -+ } -+ -+ if (lps == NULL) -+ { -+ lps = (struct litpool_seg *)xcalloc (sizeof (struct litpool_seg), 1); -+ lps->next = litpool_seg_list.next; -+ litpool_seg_list.next = lps; -+ lps->seg = now_seg; -+ lps->frag_list.next = &lps->frag_list; -+ lps->frag_list.prev = &lps->frag_list; -+ } -+ -+ lps->frag_count++; -+ -+ if (create) -+ { -+ if (only_if_needed) -+ { -+ if (past_xtensa_end || !use_transform() || -+ frag_now->tc_frag_data.is_no_transform) -+ { -+ return; -+ } -+ if (auto_litpool_limit <= 0) -+ { -+ /* Don't create a litpool based only on frag count. */ -+ return; -+ } -+ else if (lps->frag_count > auto_litpool_limit) -+ { -+ needed = TRUE; -+ } -+ else -+ { -+ return; -+ } -+ } -+ else -+ { -+ needed = TRUE; -+ } -+ } -+ -+ if (needed) -+ { -+ int size = (only_if_needed) ? 3 : 0; /* Space for a "j" insn. */ -+ /* Create a potential site for a literal pool. */ -+ frag_wane (frag_now); -+ frag_new (0); -+ xtensa_set_frag_assembly_state (frag_now); -+ fragP = frag_now; -+ fragP->tc_frag_data.lit_frchain = frchain_now; -+ fragP->tc_frag_data.literal_frag = fragP; -+ frag_var (rs_machine_dependent, size, size, -+ (only_if_needed) ? -+ RELAX_LITERAL_POOL_CANDIDATE_BEGIN : -+ RELAX_LITERAL_POOL_BEGIN, -+ NULL, 0, NULL); -+ frag_now->tc_frag_data.lit_seg = now_seg; -+ frag_variant (rs_machine_dependent, 0, 0, -+ RELAX_LITERAL_POOL_END, NULL, 0, NULL); -+ xtensa_set_frag_assembly_state (frag_now); -+ } -+ else -+ { -+ /* RELAX_LITERAL_POOL_BEGIN frag is being created; -+ just record it here. */ -+ fragP = frag_now; -+ } -+ -+ lpf = (struct litpool_frag *)xmalloc(sizeof (struct litpool_frag)); -+ /* Insert at tail of circular list. */ -+ lpf->addr = 0; -+ lps->frag_list.prev->next = lpf; -+ lpf->next = &lps->frag_list; -+ lpf->prev = lps->frag_list.prev; -+ lps->frag_list.prev = lpf; -+ lpf->fragP = fragP; -+ lpf->priority = (needed) ? (only_if_needed) ? 3 : 2 : 1; -+ lpf->original_priority = lpf->priority; -+ -+ lps->frag_count = 0; -+} -+ - static void - xtensa_cleanup_align_frags (void) - { -@@ -9029,7 +9266,41 @@ xtensa_relax_frag (fragS *fragP, long stretch, int *stretched_p) - break; - - case RELAX_LITERAL_POOL_BEGIN: -+ if (fragP->fr_var != 0) -+ { -+ /* We have a converted "candidate" literal pool; -+ assemble a jump around it. */ -+ TInsn insn; -+ if (!litpool_slotbuf) -+ { -+ litpool_buf = xtensa_insnbuf_alloc (isa); -+ litpool_slotbuf = xtensa_insnbuf_alloc (isa); -+ } -+ new_stretch += 3; -+ fragP->tc_frag_data.relax_seen = FALSE; /* Need another pass. */ -+ fragP->tc_frag_data.is_insn = TRUE; -+ tinsn_init (&insn); -+ insn.insn_type = ITYPE_INSN; -+ insn.opcode = xtensa_j_opcode; -+ insn.ntok = 1; -+ set_expr_symbol_offset (&insn.tok[0], fragP->fr_symbol, -+ fragP->fr_fix); -+ fmt = xg_get_single_format (xtensa_j_opcode); -+ tinsn_to_slotbuf (fmt, 0, &insn, litpool_slotbuf); -+ xtensa_format_set_slot (isa, fmt, 0, litpool_buf, litpool_slotbuf); -+ xtensa_insnbuf_to_chars (isa, litpool_buf, -+ (unsigned char *)fragP->fr_literal + -+ fragP->fr_fix, 3); -+ fragP->fr_fix += 3; -+ fragP->fr_var -= 3; -+ /* Add a fix-up. */ -+ fix_new (fragP, 0, 3, fragP->fr_symbol, 0, TRUE, -+ BFD_RELOC_XTENSA_SLOT0_OP); -+ } -+ break; -+ - case RELAX_LITERAL_POOL_END: -+ case RELAX_LITERAL_POOL_CANDIDATE_BEGIN: - case RELAX_MAYBE_UNREACHABLE: - case RELAX_MAYBE_DESIRE_ALIGN: - /* No relaxation required. */ -@@ -10789,12 +11060,115 @@ xtensa_move_literals (void) - segT dest_seg; - fixS *fix, *next_fix, **fix_splice; - sym_list *lit; -+ struct litpool_seg *lps; - - mark_literal_frags (literal_head->next); - - if (use_literal_section) - return; - -+ /* Assign addresses (rough estimates) to the potential literal pool locations -+ and create new ones if the gaps are too large. */ -+ -+ for (lps = litpool_seg_list.next; lps; lps = lps->next) -+ { -+ frchainS *frchP = seg_info (lps->seg)->frchainP; -+ struct litpool_frag *lpf = lps->frag_list.next; -+ addressT addr = 0; -+ -+ for ( ; frchP; frchP = frchP->frch_next) -+ { -+ fragS *fragP; -+ for (fragP = frchP->frch_root; fragP; fragP = fragP->fr_next) -+ { -+ if (lpf && fragP == lpf->fragP) -+ { -+ gas_assert(fragP->fr_type == rs_machine_dependent && -+ (fragP->fr_subtype == RELAX_LITERAL_POOL_BEGIN || -+ fragP->fr_subtype == RELAX_LITERAL_POOL_CANDIDATE_BEGIN)); -+ /* Found a litpool location. */ -+ lpf->addr = addr; -+ lpf = lpf->next; -+ } -+ if (fragP->fr_type == rs_machine_dependent && -+ fragP->fr_subtype == RELAX_SLOTS) -+ { -+ int slot; -+ for (slot = 0; slot < MAX_SLOTS; slot++) -+ { -+ if (fragP->tc_frag_data.literal_frags[slot]) -+ { -+ /* L32R; point its literal to the nearest litpool -+ preferring non-"candidate" positions to avoid -+ the jump-around. */ -+ fragS *litfrag = fragP->tc_frag_data.literal_frags[slot]; -+ struct litpool_frag *lp = lpf->prev; -+ if (!lp->fragP) -+ { -+ break; -+ } -+ while (lp->fragP->fr_subtype == -+ RELAX_LITERAL_POOL_CANDIDATE_BEGIN) -+ { -+ lp = lp->prev; -+ if (lp->fragP == NULL) -+ { -+ /* End of list; have to bite the bullet. -+ Take the nearest. */ -+ lp = lpf->prev; -+ break; -+ } -+ /* Does it (conservatively) reach? */ -+ if (addr - lp->addr <= 128 * 1024) -+ { -+ if (lp->fragP->fr_subtype == RELAX_LITERAL_POOL_BEGIN) -+ { -+ /* Found a good one. */ -+ break; -+ } -+ else if (lp->prev->fragP && -+ addr - lp->prev->addr > 128 * 1024) -+ { -+ /* This is still a "candidate" but the next one -+ will be too far away, so revert to the nearest -+ one, convert it and add the jump around. */ -+ fragS *poolbeg; -+ fragS *poolend; -+ symbolS *lsym; -+ char label[10 + 2 * sizeof (fragS *)]; -+ lp = lpf->prev; -+ poolbeg = lp->fragP; -+ lp->priority = 1; -+ poolbeg->fr_subtype = RELAX_LITERAL_POOL_BEGIN; -+ poolend = poolbeg->fr_next; -+ gas_assert (poolend->fr_type == rs_machine_dependent && -+ poolend->fr_subtype == RELAX_LITERAL_POOL_END); -+ /* Create a local symbol pointing to the -+ end of the pool. */ -+ sprintf (label, ".L0_LT_%p", poolbeg); -+ lsym = (symbolS *)local_symbol_make (label, lps->seg, -+ 0, poolend); -+ poolbeg->fr_symbol = lsym; -+ /* Rest is done in xtensa_relax_frag. */ -+ } -+ } -+ } -+ if (! litfrag->tc_frag_data.literal_frag) -+ { -+ /* Take earliest use of this literal to avoid -+ forward refs. */ -+ litfrag->tc_frag_data.literal_frag = lp->fragP; -+ } -+ } -+ } -+ } -+ addr += fragP->fr_fix; -+ if (fragP->fr_type == rs_fill) -+ addr += fragP->fr_offset; -+ } -+ } -+ } -+ - for (segment = literal_head->next; segment; segment = segment->next) - { - /* Keep the literals for .init and .fini in separate sections. */ -@@ -10839,9 +11213,6 @@ xtensa_move_literals (void) - while (search_frag != frag_now) - { - next_frag = search_frag->fr_next; -- -- /* First, move the frag out of the literal section and -- to the appropriate place. */ - if (search_frag->tc_frag_data.literal_frag) - { - literal_pool = search_frag->tc_frag_data.literal_frag; -@@ -10849,8 +11220,56 @@ xtensa_move_literals (void) - frchain_to = literal_pool->tc_frag_data.lit_frchain; - gas_assert (frchain_to); - } -+ -+ if (search_frag->fr_type == rs_fill && search_frag->fr_fix == 0) -+ { -+ /* Skip empty fill frags. */ -+ *frag_splice = next_frag; -+ search_frag = next_frag; -+ continue; -+ } -+ -+ if (search_frag->fr_type == rs_align) -+ { -+ /* Skip alignment frags, because the pool as a whole will be -+ aligned if used, and we don't want to force alignment if the -+ pool is unused. */ -+ *frag_splice = next_frag; -+ search_frag = next_frag; -+ continue; -+ } -+ -+ /* First, move the frag out of the literal section and -+ to the appropriate place. */ -+ -+ /* Insert an aligmnent frag at start of pool. */ -+ if (literal_pool->fr_next->fr_type == rs_machine_dependent && -+ literal_pool->fr_next->fr_subtype == RELAX_LITERAL_POOL_END) -+ { -+ segT pool_seg = literal_pool->fr_next->tc_frag_data.lit_seg; -+ emit_state prev_state; -+ fragS *prev_frag; -+ fragS *align_frag; -+ xtensa_switch_section_emit_state (&prev_state, pool_seg, 0); -+ prev_frag = frag_now; -+ frag_variant (rs_fill, 0, 0, 0, NULL, 0, NULL); -+ align_frag = frag_now; -+ frag_align (2, 0, 0); -+ /* Splice it into the right place. */ -+ prev_frag->fr_next = align_frag->fr_next; -+ align_frag->fr_next = literal_pool->fr_next; -+ literal_pool->fr_next = align_frag; -+ /* Insert after this one. */ -+ literal_pool->tc_frag_data.literal_frag = align_frag; -+ xtensa_restore_emit_state (&prev_state); -+ } - insert_after = literal_pool->tc_frag_data.literal_frag; - dest_seg = insert_after->fr_next->tc_frag_data.lit_seg; -+ /* Skip align frag. */ -+ if (insert_after->fr_next->fr_type == rs_align) -+ { -+ insert_after = insert_after->fr_next; -+ } - - *frag_splice = next_frag; - search_frag->fr_next = insert_after->fr_next; -@@ -11014,7 +11433,10 @@ xtensa_switch_to_non_abs_literal_fragment (emit_state *result) - && !recursive - && !is_init && ! is_fini) - { -- as_bad (_("literal pool location required for text-section-literals; specify with .literal_position")); -+ if (!auto_litpools) -+ { -+ as_bad (_("literal pool location required for text-section-literals; specify with .literal_position")); -+ } - - /* When we mark a literal pool location, we want to put a frag in - the literal pool that points to it. But to do that, we want to -diff --git a/gas/config/tc-xtensa.h b/gas/config/tc-xtensa.h -index b2e43fa..290d902 100644 ---- a/gas/config/tc-xtensa.h -+++ b/gas/config/tc-xtensa.h -@@ -124,6 +124,7 @@ enum xtensa_relax_statesE - - RELAX_LITERAL_POOL_BEGIN, - RELAX_LITERAL_POOL_END, -+ RELAX_LITERAL_POOL_CANDIDATE_BEGIN, - /* Technically these are not relaxations at all but mark a location - to store literals later. Note that fr_var stores the frchain for - BEGIN frags and fr_var stores now_seg for END frags. */ -diff --git a/gas/testsuite/gas/xtensa/all.exp b/gas/testsuite/gas/xtensa/all.exp -index d197ec8..db39629 100644 ---- a/gas/testsuite/gas/xtensa/all.exp -+++ b/gas/testsuite/gas/xtensa/all.exp -@@ -100,6 +100,7 @@ if [istarget xtensa*-*-*] then { - run_dump_test "jlong" - run_dump_test "trampoline" - run_dump_test "first_frag_align" -+ run_dump_test "auto-litpools" - } - - if [info exists errorInfo] then { -diff --git a/gas/testsuite/gas/xtensa/auto-litpools.d b/gas/testsuite/gas/xtensa/auto-litpools.d -new file mode 100644 -index 0000000..4d1a690 ---- /dev/null -+++ b/gas/testsuite/gas/xtensa/auto-litpools.d -@@ -0,0 +1,12 @@ -+#as: --auto-litpools -+#objdump: -d -+#name: auto literal pool placement -+ -+.*: +file format .*xtensa.* -+#... -+.*4:.*l32r.a2, 0 .* -+#... -+.*3e437:.*j.3e440 .* -+#... -+.*40750:.*l32r.a2, 3e43c .* -+#... -diff --git a/gas/testsuite/gas/xtensa/auto-litpools.s b/gas/testsuite/gas/xtensa/auto-litpools.s -new file mode 100644 -index 0000000..9a5b26b ---- /dev/null -+++ b/gas/testsuite/gas/xtensa/auto-litpools.s -@@ -0,0 +1,13 @@ -+ .text -+ .align 4 -+ .literal .L0, 0x12345 -+ .literal .L1, 0x12345 -+ -+f: -+ l32r a2, .L0 -+ .rep 44000 -+ _nop -+ _nop -+ .endr -+ l32r a2, .L1 -+ ret --- -1.8.1.4 - diff --git a/package/binutils/2.25.1/914-xtensa-fix-signedness-of-gas-relocations.patch b/package/binutils/2.25.1/914-xtensa-fix-signedness-of-gas-relocations.patch deleted file mode 100644 index bd751661b8..0000000000 --- a/package/binutils/2.25.1/914-xtensa-fix-signedness-of-gas-relocations.patch +++ /dev/null @@ -1,99 +0,0 @@ -From 6c7c5c477ef9ccf2d2548cf2ac3cec9bd3c9c5b6 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Tue, 2 Feb 2016 17:11:38 +0300 -Subject: [PATCH] xtensa: fix signedness of gas relocations - -Change 1058c7532d0b "Use signed data type for R_XTENSA_DIFF* relocation -offsets." changed signedness of BFD_RELOC_XTENSA_DIFF* relocations -substituted for BFD_RELOC_*. This made it impossible to encode arbitrary -8-, 16- and 32-bit values, which broke e.g. debug info encoding by .loc -directive. Revert this part and add test. - -gas/ -2016-02-03 Max Filippov - * config/tc-xtensa.c (md_apply_fix): Mark BFD_RELOC_XTENSA_DIFF* - substitutions for BFD_RELOC_* as unsigned. - -gas/testsuite/ -2016-02-03 Max Filippov - * gas/xtensa/all.exp: Add loc to list of xtensa tests. - * gas/xtensa/loc.d: New file: loc test result patterns. - * gas/xtensa/loc.s: New file: loc test. - -Signed-off-by: Max Filippov ---- - gas/config/tc-xtensa.c | 6 +++--- - gas/testsuite/gas/xtensa/all.exp | 1 + - gas/testsuite/gas/xtensa/loc.d | 10 ++++++++++ - gas/testsuite/gas/xtensa/loc.s | 7 +++++++ - 4 files changed, 21 insertions(+), 3 deletions(-) - create mode 100644 gas/testsuite/gas/xtensa/loc.d - create mode 100644 gas/testsuite/gas/xtensa/loc.s - -diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c -index a119871..36a06cc 100644 ---- a/gas/config/tc-xtensa.c -+++ b/gas/config/tc-xtensa.c -@@ -5961,15 +5961,15 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg) - { - case BFD_RELOC_8: - fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF8; -- fixP->fx_signed = 1; -+ fixP->fx_signed = 0; - break; - case BFD_RELOC_16: - fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF16; -- fixP->fx_signed = 1; -+ fixP->fx_signed = 0; - break; - case BFD_RELOC_32: - fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF32; -- fixP->fx_signed = 1; -+ fixP->fx_signed = 0; - break; - default: - break; -diff --git a/gas/testsuite/gas/xtensa/all.exp b/gas/testsuite/gas/xtensa/all.exp -index 31b725b..7ff7bd7 100644 ---- a/gas/testsuite/gas/xtensa/all.exp -+++ b/gas/testsuite/gas/xtensa/all.exp -@@ -101,6 +101,7 @@ if [istarget xtensa*-*-*] then { - run_dump_test "trampoline" - run_dump_test "first_frag_align" - run_dump_test "auto-litpools" -+ run_dump_test "loc" - } - - if [info exists errorInfo] then { -diff --git a/gas/testsuite/gas/xtensa/loc.d b/gas/testsuite/gas/xtensa/loc.d -new file mode 100644 -index 0000000..71983cc ---- /dev/null -+++ b/gas/testsuite/gas/xtensa/loc.d -@@ -0,0 +1,10 @@ -+#as: -+#objdump: -r -+#name: .loc directive relocs -+ -+.*: +file format .*xtensa.* -+ -+RELOCATION RECORDS FOR \[\.debug_line\]: -+#... -+.*R_XTENSA_DIFF16.*\.text\+0x00009c42 -+#... -diff --git a/gas/testsuite/gas/xtensa/loc.s b/gas/testsuite/gas/xtensa/loc.s -new file mode 100644 -index 0000000..029e14e ---- /dev/null -+++ b/gas/testsuite/gas/xtensa/loc.s -@@ -0,0 +1,7 @@ -+ .text -+ .file 1 "loc.s" -+ .loc 1 3 -+ nop -+ .space 40000 -+ .loc 1 5 -+ nop --- -2.1.4 - diff --git a/package/binutils/2.25.1/915-Correct-assertion-in-NIOS2-linker-to-allow-signed-16.patch b/package/binutils/2.25.1/915-Correct-assertion-in-NIOS2-linker-to-allow-signed-16.patch deleted file mode 100644 index 6ae9d9afc4..0000000000 --- a/package/binutils/2.25.1/915-Correct-assertion-in-NIOS2-linker-to-allow-signed-16.patch +++ /dev/null @@ -1,70 +0,0 @@ -From d07f38875f37f4608e8ecb761619d84716896f14 Mon Sep 17 00:00:00 2001 -From: Nick Clifton -Date: Wed, 10 Feb 2016 11:25:59 +0000 -Subject: [PATCH] Correct assertion in NIOS2 linker to allow signed 16-buit - immediate values. - - PR 19405 - * elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed - immediate values. - * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the - number of messages about FDE encoding preventing .eh_frame_hdr - generation. - -[Romain: rebase on 2.25.1] -Signed-off-by: Romain Naour ---- - bfd/elf-eh-frame.c | 18 +++++++++++++++--- - bfd/elf32-nios2.c | 2 +- - 2 files changed, 16 insertions(+), 4 deletions(-) - -diff --git a/bfd/elf-eh-frame.c b/bfd/elf-eh-frame.c -index 002932d..22430f9 100644 ---- a/bfd/elf-eh-frame.c -+++ b/bfd/elf-eh-frame.c -@@ -1181,14 +1181,26 @@ _bfd_elf_discard_section_eh_frame - && ent->make_relative == 0) - || (ent->fde_encoding & 0x70) == DW_EH_PE_aligned)) - { -+ static int num_warnings_issued = 0; -+ - /* If a shared library uses absolute pointers - which we cannot turn into PC relative, - don't create the binary search table, - since it is affected by runtime relocations. */ - hdr_info->table = FALSE; -- (*info->callbacks->einfo) -- (_("%P: FDE encoding in %B(%A) prevents .eh_frame_hdr" -- " table being created.\n"), abfd, sec); -+ if (num_warnings_issued < 10) -+ { -+ (*info->callbacks->einfo) -+ (_("%P: FDE encoding in %B(%A) prevents .eh_frame_hdr" -+ " table being created.\n"), abfd, sec); -+ num_warnings_issued ++; -+ } -+ else if (num_warnings_issued == 10) -+ { -+ (*info->callbacks->einfo) -+ (_("%P: Further warnings about FDE encoding preventing .eh_frame_hdr generation dropped.\n")); -+ num_warnings_issued ++; -+ } - } - ent->removed = 0; - hdr_info->fde_count++; -diff --git a/bfd/elf32-nios2.c b/bfd/elf32-nios2.c -index 0105b70..726647d 100644 ---- a/bfd/elf32-nios2.c -+++ b/bfd/elf32-nios2.c -@@ -1035,7 +1035,7 @@ nios2_elf32_install_imm16 (asection *sec, bfd_vma offset, bfd_vma value) - { - bfd_vma word = bfd_get_32 (sec->owner, sec->contents + offset); - -- BFD_ASSERT(value <= 0xffff); -+ BFD_ASSERT (value <= 0xffff || ((bfd_signed_vma) value) >= -0xffff); - - bfd_put_32 (sec->owner, word | ((value & 0xffff) << 6), - sec->contents + offset); --- -2.4.3 - diff --git a/package/binutils/2.25.1/915-xtensa-fix-.init-.fini-literals-moving.patch b/package/binutils/2.25.1/915-xtensa-fix-.init-.fini-literals-moving.patch deleted file mode 100644 index ead3e42b75..0000000000 --- a/package/binutils/2.25.1/915-xtensa-fix-.init-.fini-literals-moving.patch +++ /dev/null @@ -1,149 +0,0 @@ -From 7db2accc3fdea0aaa0c3a76a413d8e8030e022c3 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Tue, 16 Feb 2016 02:23:28 +0300 -Subject: [PATCH] xtensa: fix .init/.fini literals moving - -Despite the documentation and the comment in xtensa_move_literals, in -the presence of --text-section-literals and --auto-litpools literals are -moved from the separate literal sections into .init and .fini, because -the check in the xtensa_move_literals is incorrect. - -This moving was broken with introduction of auto litpools: some literals -now may be lost. This happens because literal frags emitted from .init -and .fini are not closed when new .literal_position marks new literal -pool. Then frag_align(2, 0, 0) changes type of the last literal frag to -rs_align. rs_align frags are skipped in the xtensa_move_literals. As a -result fixups against such literals are not moved out of .init.literal/ -.fini.literal sections producing the following assembler error: - - test.S: Warning: fixes not all moved from .init.literal - test.S: Internal error! - -Fix check for .init.literal/.fini.literal in the xtensa_move_literals -and don't let it move literals from there in the presence of ---text-section-literals or --auto-litpools. - -2016-02-17 Max Filippov -gas/ - * config/tc-xtensa.c (xtensa_move_literals): Fix check for - .init.literal/.fini.literal section name. - * testsuite/gas/xtensa/all.exp: Add init-fini-literals to the - list of xtensa tests. - * testsuite/gas/xtensa/init-fini-literals.d: New file: - init-fini-literals test result patterns. - * testsuite/gas/xtensa/init-fini-literals.s: New file: - init-fini-literals test. - -Signed-off-by: Max Filippov ---- -Backported from: 4111950f363221c4641dc2f33bea61cc94f34906 - - gas/config/tc-xtensa.c | 12 ++++++++++-- - gas/testsuite/gas/xtensa/all.exp | 1 + - gas/testsuite/gas/xtensa/init-fini-literals.d | 24 ++++++++++++++++++++++++ - gas/testsuite/gas/xtensa/init-fini-literals.s | 19 +++++++++++++++++++ - 4 files changed, 54 insertions(+), 2 deletions(-) - create mode 100644 gas/testsuite/gas/xtensa/init-fini-literals.d - create mode 100644 gas/testsuite/gas/xtensa/init-fini-literals.s - -diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c -index 36a06cc..5773634 100644 ---- a/gas/config/tc-xtensa.c -+++ b/gas/config/tc-xtensa.c -@@ -11061,6 +11061,10 @@ xtensa_move_literals (void) - fixS *fix, *next_fix, **fix_splice; - sym_list *lit; - struct litpool_seg *lps; -+ const char *init_name = INIT_SECTION_NAME; -+ const char *fini_name = FINI_SECTION_NAME; -+ int init_name_len = strlen(init_name); -+ int fini_name_len = strlen(fini_name); - - mark_literal_frags (literal_head->next); - -@@ -11171,9 +11175,13 @@ xtensa_move_literals (void) - - for (segment = literal_head->next; segment; segment = segment->next) - { -+ const char *seg_name = segment_name (segment->seg); -+ - /* Keep the literals for .init and .fini in separate sections. */ -- if (!strcmp (segment_name (segment->seg), INIT_SECTION_NAME) -- || !strcmp (segment_name (segment->seg), FINI_SECTION_NAME)) -+ if ((!memcmp (seg_name, init_name, init_name_len) && -+ !strcmp (seg_name + init_name_len, ".literal")) || -+ (!memcmp (seg_name, fini_name, fini_name_len) && -+ !strcmp (seg_name + fini_name_len, ".literal"))) - continue; - - frchain_from = seg_info (segment->seg)->frchainP; -diff --git a/gas/testsuite/gas/xtensa/all.exp b/gas/testsuite/gas/xtensa/all.exp -index 7ff7bd7..6b67320 100644 ---- a/gas/testsuite/gas/xtensa/all.exp -+++ b/gas/testsuite/gas/xtensa/all.exp -@@ -102,6 +102,7 @@ if [istarget xtensa*-*-*] then { - run_dump_test "first_frag_align" - run_dump_test "auto-litpools" - run_dump_test "loc" -+ run_dump_test "init-fini-literals" - } - - if [info exists errorInfo] then { -diff --git a/gas/testsuite/gas/xtensa/init-fini-literals.d b/gas/testsuite/gas/xtensa/init-fini-literals.d -new file mode 100644 -index 0000000..19ed121 ---- /dev/null -+++ b/gas/testsuite/gas/xtensa/init-fini-literals.d -@@ -0,0 +1,24 @@ -+#as: --text-section-literals -+#objdump: -r -+#name: check that literals for .init and .fini always go to separate sections -+ -+.*: +file format .*xtensa.* -+#... -+RELOCATION RECORDS FOR \[\.init\.literal\]: -+#... -+00000000 R_XTENSA_PLT init -+#... -+RELOCATION RECORDS FOR \[\.fini\.literal\]: -+#... -+00000000 R_XTENSA_PLT fini -+#... -+RELOCATION RECORDS FOR \[\.init\]: -+#... -+.* R_XTENSA_SLOT0_OP \.init\.literal -+.* R_XTENSA_SLOT0_OP \.init\.literal\+0x00000004 -+#... -+RELOCATION RECORDS FOR \[\.fini\]: -+#... -+.* R_XTENSA_SLOT0_OP \.fini\.literal -+.* R_XTENSA_SLOT0_OP \.fini\.literal\+0x00000004 -+#... -diff --git a/gas/testsuite/gas/xtensa/init-fini-literals.s b/gas/testsuite/gas/xtensa/init-fini-literals.s -new file mode 100644 -index 0000000..7c9ec17 ---- /dev/null -+++ b/gas/testsuite/gas/xtensa/init-fini-literals.s -@@ -0,0 +1,19 @@ -+ .section .init,"ax",@progbits -+ .literal_position -+ .literal .LC0, init@PLT -+ .literal_position -+ .literal .LC1, 1 -+ .align 4 -+ -+ l32r a2, .LC0 -+ l32r a2, .LC1 -+ -+ .section .fini,"ax",@progbits -+ .literal_position -+ .literal .LC2, fini@PLT -+ .literal_position -+ .literal .LC3, 1 -+ .align 4 -+ -+ l32r a2, .LC2 -+ l32r a2, .LC3 --- -2.1.4 - diff --git a/package/binutils/2.25.1/916-microblaze-pr21180.patch b/package/binutils/2.25.1/916-microblaze-pr21180.patch deleted file mode 100644 index 2ffae49f62..0000000000 --- a/package/binutils/2.25.1/916-microblaze-pr21180.patch +++ /dev/null @@ -1,33 +0,0 @@ -Fix ld segfault for microblaze when --gc-sections is used -Upstream: pending -https://sourceware.org/bugzilla/show_bug.cgi?id=21180 - -Signed-off-by: Waldemar Brodkorb - -diff -Nur binutils-2.25.1.orig/bfd/elf32-microblaze.c binutils-2.25.1/bfd/elf32-microblaze.c ---- binutils-2.25.1.orig/bfd/elf32-microblaze.c 2015-07-21 10:20:58.000000000 +0200 -+++ binutils-2.25.1/bfd/elf32-microblaze.c 2017-02-23 19:43:24.560776208 +0100 -@@ -3297,13 +3297,20 @@ - && h->def_regular) - { - asection *sec = h->root.u.def.section; -+ bfd_vma value; -+ -+ value = h->root.u.def.value; -+ if (sec->output_section != NULL) -+ /* PR 21180: If the output section is NULL, then the symbol is no -+ longer needed, and in theory the GOT entry is redundant. But -+ it is too late to change our minds now... */ -+ value += sec->output_section->vma + sec->output_offset; -+ - microblaze_elf_output_dynamic_relocation (output_bfd, - srela, srela->reloc_count++, - /* symindex= */ 0, - R_MICROBLAZE_REL, offset, -- h->root.u.def.value -- + sec->output_section->vma -- + sec->output_offset); -+ value); - } - else - { diff --git a/package/binutils/2.26.1/0300-ld-makefile.patch b/package/binutils/2.26.1/0300-ld-makefile.patch deleted file mode 100644 index 73cc098024..0000000000 --- a/package/binutils/2.26.1/0300-ld-makefile.patch +++ /dev/null @@ -1,41 +0,0 @@ -From d76a7549b43974fe8564971a3f40459bc495a8a7 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Fri, 25 Dec 2015 11:40:53 +0100 -Subject: [PATCH] ld-makefile - -[Romain: rebase on top of 2.26] -Signed-off-by: Romain Naour ---- - ld/Makefile.am | 2 +- - ld/Makefile.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/ld/Makefile.am b/ld/Makefile.am -index 0b3b049..3871c74 100644 ---- a/ld/Makefile.am -+++ b/ld/Makefile.am -@@ -57,7 +57,7 @@ endif - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - - EMUL = @EMUL@ - EMULATION_OFILES = @EMULATION_OFILES@ -diff --git a/ld/Makefile.in b/ld/Makefile.in -index ed98f87..530e4c9 100644 ---- a/ld/Makefile.in -+++ b/ld/Makefile.in -@@ -413,7 +413,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - BASEDIR = $(srcdir)/.. - BFDDIR = $(BASEDIR)/bfd - INCDIR = $(BASEDIR)/include --- -2.4.3 - diff --git a/package/binutils/2.26.1/0301-check-ldrunpath-length.patch b/package/binutils/2.26.1/0301-check-ldrunpath-length.patch deleted file mode 100644 index 3b4c204c7f..0000000000 --- a/package/binutils/2.26.1/0301-check-ldrunpath-length.patch +++ /dev/null @@ -1,36 +0,0 @@ -From ebe1cba46df52d7bf86def3d681271fd05fb453b Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Fri, 25 Dec 2015 11:41:47 +0100 -Subject: [PATCH] check-ldrunpath-length - -[Romain: rebase on top of 2.26] -Signed-off-by: Romain Naour ---- - ld/emultempl/elf32.em | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em -index 0405d4f..efd3300 100644 ---- a/ld/emultempl/elf32.em -+++ b/ld/emultempl/elf32.em -@@ -1242,6 +1242,8 @@ fragment <link.next) - if (bfd_get_flavour (abfd) == bfd_target_elf_flavour) --- -2.4.3 - diff --git a/package/binutils/2.26.1/0500-add-sysroot-fix-from-bug-3049.patch b/package/binutils/2.26.1/0500-add-sysroot-fix-from-bug-3049.patch deleted file mode 100644 index f67a43efdf..0000000000 --- a/package/binutils/2.26.1/0500-add-sysroot-fix-from-bug-3049.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 30628870e583375f8927c04398c7219c6e9f703c Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Fri, 25 Dec 2015 11:42:48 +0100 -Subject: [PATCH] add sysroot fix from bug #3049 - -Always try to prepend the sysroot prefix to absolute filenames first. - -http://bugs.gentoo.org/275666 -http://sourceware.org/bugzilla/show_bug.cgi?id=10340 - -Signed-off-by: Sven Rebhan -[Romain: rebase on top of 2.26] -Signed-off-by: Romain Naour ---- - ld/ldfile.c | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -diff --git a/ld/ldfile.c b/ld/ldfile.c -index 96f9ecc..1439309 100644 ---- a/ld/ldfile.c -+++ b/ld/ldfile.c -@@ -335,18 +335,25 @@ ldfile_open_file_search (const char *arch, - directory first. */ - if (! entry->flags.maybe_archive) - { -- if (entry->flags.sysrooted && IS_ABSOLUTE_PATH (entry->filename)) -+ /* For absolute pathnames, try to always open the file in the -+ sysroot first. If this fails, try to open the file at the -+ given location. */ -+ entry->flags.sysrooted = is_sysrooted_pathname (entry->filename); -+ if (!entry->flags.sysrooted && IS_ABSOLUTE_PATH (entry->filename) -+ && ld_sysroot) - { - char *name = concat (ld_sysroot, entry->filename, - (const char *) NULL); - if (ldfile_try_open_bfd (name, entry)) - { - entry->filename = name; -+ entry->flags.sysrooted = TRUE; - return TRUE; - } - free (name); - } -- else if (ldfile_try_open_bfd (entry->filename, entry)) -+ -+ if (ldfile_try_open_bfd (entry->filename, entry)) - return TRUE; - - if (IS_ABSOLUTE_PATH (entry->filename)) --- -2.4.3 - diff --git a/package/binutils/2.26.1/0600-poison-system-directories.patch b/package/binutils/2.26.1/0600-poison-system-directories.patch deleted file mode 100644 index d16994ec0c..0000000000 --- a/package/binutils/2.26.1/0600-poison-system-directories.patch +++ /dev/null @@ -1,306 +0,0 @@ -From be366461dd49e760440fb28eaee5164eb281adcc Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Fri, 25 Dec 2015 11:45:38 +0100 -Subject: [PATCH] poison-system-directories - -Patch adapted to binutils 2.23.2 and extended to use -BR_COMPILER_PARANOID_UNSAFE_PATH by Thomas Petazzoni. - -[Romain: rebase on top of 2.26] -Signed-off-by: Romain Naour -[Gustavo: adapt to binutils 2.25] -Signed-off-by: Thomas Petazzoni -Signed-off-by: Gustavo Zacarias - -Upstream-Status: Inappropriate [distribution: codesourcery] - -Patch originally created by Mark Hatle, forward-ported to -binutils 2.21 by Scott Garman. - -purpose: warn for uses of system directories when cross linking - -Code Merged from Sourcery G++ binutils 2.19 - 4.4-277 - -2008-07-02 Joseph Myers - - ld/ - * ld.h (args_type): Add error_poison_system_directories. - * ld.texinfo (--error-poison-system-directories): Document. - * ldfile.c (ldfile_add_library_path): Check - command_line.error_poison_system_directories. - * ldmain.c (main): Initialize - command_line.error_poison_system_directories. - * lexsup.c (enum option_values): Add - OPTION_ERROR_POISON_SYSTEM_DIRECTORIES. - (ld_options): Add --error-poison-system-directories. - (parse_args): Handle new option. - -2007-06-13 Joseph Myers - - ld/ - * config.in: Regenerate. - * ld.h (args_type): Add poison_system_directories. - * ld.texinfo (--no-poison-system-directories): Document. - * ldfile.c (ldfile_add_library_path): Check - command_line.poison_system_directories. - * ldmain.c (main): Initialize - command_line.poison_system_directories. - * lexsup.c (enum option_values): Add - OPTION_NO_POISON_SYSTEM_DIRECTORIES. - (ld_options): Add --no-poison-system-directories. - (parse_args): Handle new option. - -2007-04-20 Joseph Myers - - Merge from Sourcery G++ binutils 2.17: - - 2007-03-20 Joseph Myers - Based on patch by Mark Hatle . - ld/ - * configure.ac (--enable-poison-system-directories): New option. - * configure, config.in: Regenerate. - * ldfile.c (ldfile_add_library_path): If - ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of /lib, - /usr/lib, /usr/local/lib or /usr/X11R6/lib. - -Signed-off-by: Mark Hatle -Signed-off-by: Scott Garman ---- - ld/config.in | 3 +++ - ld/configure | 14 ++++++++++++++ - ld/configure.ac | 10 ++++++++++ - ld/ld.h | 8 ++++++++ - ld/ld.texinfo | 12 ++++++++++++ - ld/ldfile.c | 17 +++++++++++++++++ - ld/ldlex.h | 2 ++ - ld/ldmain.c | 2 ++ - ld/lexsup.c | 21 +++++++++++++++++++++ - 9 files changed, 89 insertions(+) - -diff --git a/ld/config.in b/ld/config.in -index 276fb77..35c58eb 100644 ---- a/ld/config.in -+++ b/ld/config.in -@@ -14,6 +14,9 @@ - language is requested. */ - #undef ENABLE_NLS - -+/* Define to warn for use of native system library directories */ -+#undef ENABLE_POISON_SYSTEM_DIRECTORIES -+ - /* Additional extension a shared object might have. */ - #undef EXTRA_SHLIB_EXTENSION - -diff --git a/ld/configure b/ld/configure -index a446283..d1f9504 100755 ---- a/ld/configure -+++ b/ld/configure -@@ -786,6 +786,7 @@ with_lib_path - enable_targets - enable_64_bit_bfd - with_sysroot -+enable_poison_system_directories - enable_gold - enable_got - enable_compressed_debug_sections -@@ -1442,6 +1443,8 @@ Optional Features: - --disable-largefile omit support for large files - --enable-targets alternative target configurations - --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes) -+ --enable-poison-system-directories -+ warn for use of native system library directories - --enable-gold[=ARG] build gold [ARG={default,yes,no}] - --enable-got= GOT handling scheme (target, single, negative, - multigot) -@@ -15491,7 +15494,18 @@ else - fi - - -+# Check whether --enable-poison-system-directories was given. -+if test "${enable_poison_system_directories+set}" = set; then : -+ enableval=$enable_poison_system_directories; -+else -+ enable_poison_system_directories=no -+fi -+ -+if test "x${enable_poison_system_directories}" = "xyes"; then - -+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h -+ -+fi - - # Check whether --enable-got was given. - if test "${enable_got+set}" = set; then : -diff --git a/ld/configure.ac b/ld/configure.ac -index 188172d..2cd8443 100644 ---- a/ld/configure.ac -+++ b/ld/configure.ac -@@ -95,6 +95,16 @@ AC_SUBST(use_sysroot) - AC_SUBST(TARGET_SYSTEM_ROOT) - AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE) - -+AC_ARG_ENABLE([poison-system-directories], -+ AS_HELP_STRING([--enable-poison-system-directories], -+ [warn for use of native system library directories]),, -+ [enable_poison_system_directories=no]) -+if test "x${enable_poison_system_directories}" = "xyes"; then -+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES], -+ [1], -+ [Define to warn for use of native system library directories]) -+fi -+ - dnl Use --enable-gold to decide if this linker should be the default. - dnl "install_as_default" is set to false if gold is the default linker. - dnl "installed_linker" is the installed BFD linker name. -diff --git a/ld/ld.h b/ld/ld.h -index d84ec4e..3476b26 100644 ---- a/ld/ld.h -+++ b/ld/ld.h -@@ -164,6 +164,14 @@ typedef struct { - /* If set, display the target memory usage (per memory region). */ - bfd_boolean print_memory_usage; - -+ /* If TRUE (the default) warn for uses of system directories when -+ cross linking. */ -+ bfd_boolean poison_system_directories; -+ -+ /* If TRUE (default FALSE) give an error for uses of system -+ directories when cross linking instead of a warning. */ -+ bfd_boolean error_poison_system_directories; -+ - /* Big or little endian as set on command line. */ - enum endian_enum endian; - -diff --git a/ld/ld.texinfo b/ld/ld.texinfo -index 1dd7492..fb1438e 100644 ---- a/ld/ld.texinfo -+++ b/ld/ld.texinfo -@@ -2332,6 +2332,18 @@ string identifying the original linked file does not change. - - Passing @code{none} for @var{style} disables the setting from any - @code{--build-id} options earlier on the command line. -+ -+@kindex --no-poison-system-directories -+@item --no-poison-system-directories -+Do not warn for @option{-L} options using system directories such as -+@file{/usr/lib} when cross linking. This option is intended for use -+in chroot environments when such directories contain the correct -+libraries for the target system rather than the host. -+ -+@kindex --error-poison-system-directories -+@item --error-poison-system-directories -+Give an error instead of a warning for @option{-L} options using -+system directories when cross linking. - @end table - - @c man end -diff --git a/ld/ldfile.c b/ld/ldfile.c -index 1439309..086b354 100644 ---- a/ld/ldfile.c -+++ b/ld/ldfile.c -@@ -114,6 +114,23 @@ ldfile_add_library_path (const char *name, bfd_boolean cmdline) - new_dirs->name = concat (ld_sysroot, name + 1, (const char *) NULL); - else - new_dirs->name = xstrdup (name); -+ -+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES -+ if (command_line.poison_system_directories -+ && ((!strncmp (name, "/lib", 4)) -+ || (!strncmp (name, "/usr/lib", 8)) -+ || (!strncmp (name, "/usr/local/lib", 14)) -+ || (!strncmp (name, "/usr/X11R6/lib", 14)))) -+ { -+ if (command_line.error_poison_system_directories) -+ einfo (_("%X%P: error: library search path \"%s\" is unsafe for " -+ "cross-compilation\n"), name); -+ else -+ einfo (_("%P: warning: library search path \"%s\" is unsafe for " -+ "cross-compilation\n"), name); -+ } -+#endif -+ - } - - /* Try to open a BFD for a lang_input_statement. */ -diff --git a/ld/ldlex.h b/ld/ldlex.h -index 6f11e7b..0ca3110 100644 ---- a/ld/ldlex.h -+++ b/ld/ldlex.h -@@ -144,6 +144,8 @@ enum option_values - OPTION_PRINT_MEMORY_USAGE, - OPTION_REQUIRE_DEFINED_SYMBOL, - OPTION_ORPHAN_HANDLING, -+ OPTION_NO_POISON_SYSTEM_DIRECTORIES, -+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES, - }; - - /* The initial parser states. */ -diff --git a/ld/ldmain.c b/ld/ldmain.c -index bb0b9cc..a23c56c 100644 ---- a/ld/ldmain.c -+++ b/ld/ldmain.c -@@ -257,6 +257,8 @@ main (int argc, char **argv) - command_line.warn_mismatch = TRUE; - command_line.warn_search_mismatch = TRUE; - command_line.check_section_addresses = -1; -+ command_line.poison_system_directories = TRUE; -+ command_line.error_poison_system_directories = FALSE; - - /* We initialize DEMANGLING based on the environment variable - COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the -diff --git a/ld/lexsup.c b/ld/lexsup.c -index 4cad209..be7d584 100644 ---- a/ld/lexsup.c -+++ b/ld/lexsup.c -@@ -530,6 +530,14 @@ static const struct ld_option ld_options[] = - { {"orphan-handling", required_argument, NULL, OPTION_ORPHAN_HANDLING}, - '\0', N_("=MODE"), N_("Control how orphan sections are handled."), - TWO_DASHES }, -+ { {"no-poison-system-directories", no_argument, NULL, -+ OPTION_NO_POISON_SYSTEM_DIRECTORIES}, -+ '\0', NULL, N_("Do not warn for -L options using system directories"), -+ TWO_DASHES }, -+ { {"error-poison-system-directories", no_argument, NULL, -+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES}, -+ '\0', NULL, N_("Give an error for -L options using system directories"), -+ TWO_DASHES }, - }; - - #define OPTION_COUNT ARRAY_SIZE (ld_options) -@@ -542,6 +550,7 @@ parse_args (unsigned argc, char **argv) - int ingroup = 0; - char *default_dirlist = NULL; - char *shortopts; -+ char *BR_paranoid_env; - struct option *longopts; - struct option *really_longopts; - int last_optind; -@@ -1516,6 +1525,14 @@ parse_args (unsigned argc, char **argv) - } - break; - -+ case OPTION_NO_POISON_SYSTEM_DIRECTORIES: -+ command_line.poison_system_directories = FALSE; -+ break; -+ -+ case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES: -+ command_line.error_poison_system_directories = TRUE; -+ break; -+ - case OPTION_PUSH_STATE: - input_flags.pushed = xmemdup (&input_flags, - sizeof (input_flags), -@@ -1559,6 +1576,10 @@ parse_args (unsigned argc, char **argv) - command_line.soname = NULL; - } - -+ BR_paranoid_env = getenv("BR_COMPILER_PARANOID_UNSAFE_PATH"); -+ if (BR_paranoid_env && strlen(BR_paranoid_env) > 0) -+ command_line.error_poison_system_directories = TRUE; -+ - while (ingroup) - { - lang_leave_group (); --- -2.4.3 - diff --git a/package/binutils/2.26.1/0800-microblaze-musl.patch b/package/binutils/2.26.1/0800-microblaze-musl.patch deleted file mode 100644 index 5e45058f6c..0000000000 --- a/package/binutils/2.26.1/0800-microblaze-musl.patch +++ /dev/null @@ -1,23 +0,0 @@ -Fix the genetation of GOT entries for the Microblaze target. - -PR target/19516 -* elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol): -Always produce a RELATIVE reloc for a local symbol. - -[Taken from https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=47993b4af18c6ef1cad300f6393bf896d3cb5e5c.] -Signed-off-by: Waldemar Brodkorb - -diff -Nur binutils-2.26.1.orig/bfd/elf32-microblaze.c binutils-2.26.1/bfd/elf32-microblaze.c ---- binutils-2.26.1.orig/bfd/elf32-microblaze.c 2015-11-13 09:27:40.000000000 +0100 -+++ binutils-2.26.1/bfd/elf32-microblaze.c 2016-10-20 19:06:58.655565765 +0200 -@@ -3296,8 +3296,8 @@ - The entry in the global offset table will already have been - initialized in the relocate_section function. */ - if (bfd_link_pic (info) -- && (info->symbolic || h->dynindx == -1) -- && h->def_regular) -+ && ((info->symbolic && h->def_regular) -+ || h->dynindx == -1)) - { - asection *sec = h->root.u.def.section; - microblaze_elf_output_dynamic_relocation (output_bfd, diff --git a/package/binutils/2.26.1/0900-Correct-nios2-_gp-address-computation.patch b/package/binutils/2.26.1/0900-Correct-nios2-_gp-address-computation.patch deleted file mode 100644 index 81986f51b9..0000000000 --- a/package/binutils/2.26.1/0900-Correct-nios2-_gp-address-computation.patch +++ /dev/null @@ -1,108 +0,0 @@ -From 5eeb7401eed2f26d5fc255de816ca70a2cb9374e Mon Sep 17 00:00:00 2001 -From: Sandra Loosemore -Date: Sun, 27 Dec 2015 12:30:26 -0800 -Subject: [PATCH 900/901] Correct nios2 _gp address computation. - -2015-12-27 Sandra Loosemore - - bfd/ - * elf32-nios2.c (nios2_elf_assign_gp): Correct computation of _gp - address. - (nios2_elf32_relocate_section): Tidy code for R_NIOS2_GPREL error - messages. - -[Romain: - - backport upstream patch on 2.26 - - drop bfd/ChangeLog entry] -Signed-off-by: Romain Naour ---- - bfd/elf32-nios2.c | 31 +++++++++++++++++++++---------- - 1 file changed, 21 insertions(+), 10 deletions(-) - -diff --git a/bfd/elf32-nios2.c b/bfd/elf32-nios2.c -index 6b29d8b..01ebd6e 100644 ---- a/bfd/elf32-nios2.c -+++ b/bfd/elf32-nios2.c -@@ -3086,7 +3086,15 @@ lookup: - case bfd_link_hash_defined: - case bfd_link_hash_defweak: - gp_found = TRUE; -- *pgp = lh->u.def.value; -+ { -+ asection *sym_sec = lh->u.def.section; -+ bfd_vma sym_value = lh->u.def.value; -+ -+ if (sym_sec->output_section) -+ sym_value = (sym_value + sym_sec->output_offset -+ + sym_sec->output_section->vma); -+ *pgp = sym_value; -+ } - break; - case bfd_link_hash_indirect: - case bfd_link_hash_warning: -@@ -3719,7 +3727,6 @@ nios2_elf32_relocate_section (bfd *output_bfd, - struct elf32_nios2_link_hash_entry *eh; - bfd_vma relocation; - bfd_vma gp; -- bfd_vma reloc_address; - bfd_reloc_status_type r = bfd_reloc_ok; - const char *name = NULL; - int r_type; -@@ -3762,12 +3769,6 @@ nios2_elf32_relocate_section (bfd *output_bfd, - if (bfd_link_relocatable (info)) - continue; - -- if (sec && sec->output_section) -- reloc_address = (sec->output_section->vma + sec->output_offset -- + rel->r_offset); -- else -- reloc_address = 0; -- - if (howto) - { - switch (howto->type) -@@ -3816,6 +3817,15 @@ nios2_elf32_relocate_section (bfd *output_bfd, - /* Turns an absolute address into a gp-relative address. */ - if (!nios2_elf_assign_gp (output_bfd, &gp, info)) - { -+ bfd_vma reloc_address; -+ -+ if (sec && sec->output_section) -+ reloc_address = (sec->output_section->vma -+ + sec->output_offset -+ + rel->r_offset); -+ else -+ reloc_address = 0; -+ - format = _("global pointer relative relocation at address " - "0x%08x when _gp not defined\n"); - sprintf (msgbuf, format, reloc_address); -@@ -3825,7 +3835,7 @@ nios2_elf32_relocate_section (bfd *output_bfd, - else - { - bfd_vma symbol_address = rel->r_addend + relocation; -- relocation = relocation + rel->r_addend - gp; -+ relocation = symbol_address - gp; - rel->r_addend = 0; - if (((signed) relocation < -32768 - || (signed) relocation > 32767) -@@ -3833,6 +3843,8 @@ nios2_elf32_relocate_section (bfd *output_bfd, - || h->root.type == bfd_link_hash_defined - || h->root.type == bfd_link_hash_defweak)) - { -+ if (h) -+ name = h->root.root.string; - format = _("Unable to reach %s (at 0x%08x) from the " - "global pointer (at 0x%08x) because the " - "offset (%d) is out of the allowed range, " -@@ -3848,7 +3860,6 @@ nios2_elf32_relocate_section (bfd *output_bfd, - rel->r_offset, relocation, - rel->r_addend); - } -- - break; - case R_NIOS2_UJMP: - r = nios2_elf32_do_ujmp_relocate (input_bfd, howto, --- -2.4.3 - diff --git a/package/binutils/2.26.1/0901-Fix-assertion-reduce-number-of-messages-about-FDE-en.patch b/package/binutils/2.26.1/0901-Fix-assertion-reduce-number-of-messages-about-FDE-en.patch deleted file mode 100644 index a490780f7e..0000000000 --- a/package/binutils/2.26.1/0901-Fix-assertion-reduce-number-of-messages-about-FDE-en.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 39c481c2fb0e7fb127a15facf70b55d517462809 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sat, 6 Feb 2016 00:35:31 +0100 -Subject: [PATCH 901/901] Fix assertion, reduce number of messages about FDE - encoding - -Patch by Nick Clifton [1] - -[1] https://sourceware.org/bugzilla/show_bug.cgi?id=19405 - -Signed-off-by: Romain Naour ---- - bfd/elf-eh-frame.c | 17 ++++++++++++++--- - bfd/elf32-nios2.c | 4 ++-- - 2 files changed, 16 insertions(+), 5 deletions(-) - -diff --git a/bfd/elf-eh-frame.c b/bfd/elf-eh-frame.c -index e303189..e79bff0 100644 ---- a/bfd/elf-eh-frame.c -+++ b/bfd/elf-eh-frame.c -@@ -1369,14 +1369,25 @@ _bfd_elf_discard_section_eh_frame - && ent->make_relative == 0) - || (ent->fde_encoding & 0x70) == DW_EH_PE_aligned)) - { -+ static int num_warnings_issued = 0; - /* If a shared library uses absolute pointers - which we cannot turn into PC relative, - don't create the binary search table, - since it is affected by runtime relocations. */ - hdr_info->u.dwarf.table = FALSE; -- (*info->callbacks->einfo) -- (_("%P: FDE encoding in %B(%A) prevents .eh_frame_hdr" -- " table being created.\n"), abfd, sec); -+ if (num_warnings_issued < 10) -+ { -+ (*info->callbacks->einfo) -+ (_("%P: FDE encoding in %B(%A) prevents .eh_frame_hdr" -+ " table being created.\n"), abfd, sec); -+ num_warnings_issued ++; -+ } -+ else if (num_warnings_issued == 10) -+ { -+ (*info->callbacks->einfo) -+ (_("%P: Further warnings about FDE encoding preventing .eh_frame_hdr generation dropped.\n")); -+ num_warnings_issued ++; -+ } - } - ent->removed = 0; - hdr_info->u.dwarf.fde_count++; -diff --git a/bfd/elf32-nios2.c b/bfd/elf32-nios2.c -index 01ebd6e..d1b7f83 100644 ---- a/bfd/elf32-nios2.c -+++ b/bfd/elf32-nios2.c -@@ -1905,8 +1905,8 @@ nios2_elf32_install_imm16 (asection *sec, bfd_vma offset, bfd_vma value) - { - bfd_vma word = bfd_get_32 (sec->owner, sec->contents + offset); - -- BFD_ASSERT(value <= 0xffff); -- -+ BFD_ASSERT (value <= 0xffff || ((bfd_signed_vma) value) >= -0xffff); -+ - bfd_put_32 (sec->owner, word | ((value & 0xffff) << 6), - sec->contents + offset); - } --- -2.4.3 - diff --git a/package/binutils/2.26.1/0902-xtensa-fix-signedness-of-gas-relocations.patch b/package/binutils/2.26.1/0902-xtensa-fix-signedness-of-gas-relocations.patch deleted file mode 100644 index 4ba2f75cc8..0000000000 --- a/package/binutils/2.26.1/0902-xtensa-fix-signedness-of-gas-relocations.patch +++ /dev/null @@ -1,101 +0,0 @@ -From eb3e02b484ff75f4a2f54192422a88baa275bdfc Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Tue, 2 Feb 2016 17:11:38 +0300 -Subject: [PATCH] xtensa: fix signedness of gas relocations - -Change 1058c7532d0b "Use signed data type for R_XTENSA_DIFF* relocation -offsets." changed signedness of BFD_RELOC_XTENSA_DIFF* relocations -substituted for BFD_RELOC_*. This made it impossible to encode arbitrary -8-, 16- and 32-bit values, which broke e.g. debug info encoding by .loc -directive. Revert this part and add test. - -gas/ -2016-02-03 Max Filippov - * config/tc-xtensa.c (md_apply_fix): Mark BFD_RELOC_XTENSA_DIFF* - substitutions for BFD_RELOC_* as unsigned. - -gas/testsuite/ -2016-02-03 Max Filippov - * gas/xtensa/all.exp: Add loc to list of xtensa tests. - * gas/xtensa/loc.d: New file: loc test result patterns. - * gas/xtensa/loc.s: New file: loc test. - -Signed-off-by: Max Filippov -[Rebase on 2.26] -Signed-off-by: Romain Naour ---- - gas/config/tc-xtensa.c | 6 +++--- - gas/testsuite/gas/xtensa/all.exp | 1 + - gas/testsuite/gas/xtensa/loc.d | 10 ++++++++++ - gas/testsuite/gas/xtensa/loc.s | 7 +++++++ - 4 files changed, 21 insertions(+), 3 deletions(-) - create mode 100644 gas/testsuite/gas/xtensa/loc.d - create mode 100644 gas/testsuite/gas/xtensa/loc.s - -diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c -index d707da8..f623add 100644 ---- a/gas/config/tc-xtensa.c -+++ b/gas/config/tc-xtensa.c -@@ -5961,15 +5961,15 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg) - { - case BFD_RELOC_8: - fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF8; -- fixP->fx_signed = 1; -+ fixP->fx_signed = 0; - break; - case BFD_RELOC_16: - fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF16; -- fixP->fx_signed = 1; -+ fixP->fx_signed = 0; - break; - case BFD_RELOC_32: - fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF32; -- fixP->fx_signed = 1; -+ fixP->fx_signed = 0; - break; - default: - break; -diff --git a/gas/testsuite/gas/xtensa/all.exp b/gas/testsuite/gas/xtensa/all.exp -index db39629..4daeff2 100644 ---- a/gas/testsuite/gas/xtensa/all.exp -+++ b/gas/testsuite/gas/xtensa/all.exp -@@ -101,6 +101,7 @@ if [istarget xtensa*-*-*] then { - run_dump_test "trampoline" - run_dump_test "first_frag_align" - run_dump_test "auto-litpools" -+ run_dump_test "loc" - } - - if [info exists errorInfo] then { -diff --git a/gas/testsuite/gas/xtensa/loc.d b/gas/testsuite/gas/xtensa/loc.d -new file mode 100644 -index 0000000..71983cc ---- /dev/null -+++ b/gas/testsuite/gas/xtensa/loc.d -@@ -0,0 +1,10 @@ -+#as: -+#objdump: -r -+#name: .loc directive relocs -+ -+.*: +file format .*xtensa.* -+ -+RELOCATION RECORDS FOR \[\.debug_line\]: -+#... -+.*R_XTENSA_DIFF16.*\.text\+0x00009c42 -+#... -diff --git a/gas/testsuite/gas/xtensa/loc.s b/gas/testsuite/gas/xtensa/loc.s -new file mode 100644 -index 0000000..029e14e ---- /dev/null -+++ b/gas/testsuite/gas/xtensa/loc.s -@@ -0,0 +1,7 @@ -+ .text -+ .file 1 "loc.s" -+ .loc 1 3 -+ nop -+ .space 40000 -+ .loc 1 5 -+ nop --- -2.4.3 - diff --git a/package/binutils/2.26.1/0903-xtensa-fix-.init-.fini-literals-moving.patch b/package/binutils/2.26.1/0903-xtensa-fix-.init-.fini-literals-moving.patch deleted file mode 100644 index ead3e42b75..0000000000 --- a/package/binutils/2.26.1/0903-xtensa-fix-.init-.fini-literals-moving.patch +++ /dev/null @@ -1,149 +0,0 @@ -From 7db2accc3fdea0aaa0c3a76a413d8e8030e022c3 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Tue, 16 Feb 2016 02:23:28 +0300 -Subject: [PATCH] xtensa: fix .init/.fini literals moving - -Despite the documentation and the comment in xtensa_move_literals, in -the presence of --text-section-literals and --auto-litpools literals are -moved from the separate literal sections into .init and .fini, because -the check in the xtensa_move_literals is incorrect. - -This moving was broken with introduction of auto litpools: some literals -now may be lost. This happens because literal frags emitted from .init -and .fini are not closed when new .literal_position marks new literal -pool. Then frag_align(2, 0, 0) changes type of the last literal frag to -rs_align. rs_align frags are skipped in the xtensa_move_literals. As a -result fixups against such literals are not moved out of .init.literal/ -.fini.literal sections producing the following assembler error: - - test.S: Warning: fixes not all moved from .init.literal - test.S: Internal error! - -Fix check for .init.literal/.fini.literal in the xtensa_move_literals -and don't let it move literals from there in the presence of ---text-section-literals or --auto-litpools. - -2016-02-17 Max Filippov -gas/ - * config/tc-xtensa.c (xtensa_move_literals): Fix check for - .init.literal/.fini.literal section name. - * testsuite/gas/xtensa/all.exp: Add init-fini-literals to the - list of xtensa tests. - * testsuite/gas/xtensa/init-fini-literals.d: New file: - init-fini-literals test result patterns. - * testsuite/gas/xtensa/init-fini-literals.s: New file: - init-fini-literals test. - -Signed-off-by: Max Filippov ---- -Backported from: 4111950f363221c4641dc2f33bea61cc94f34906 - - gas/config/tc-xtensa.c | 12 ++++++++++-- - gas/testsuite/gas/xtensa/all.exp | 1 + - gas/testsuite/gas/xtensa/init-fini-literals.d | 24 ++++++++++++++++++++++++ - gas/testsuite/gas/xtensa/init-fini-literals.s | 19 +++++++++++++++++++ - 4 files changed, 54 insertions(+), 2 deletions(-) - create mode 100644 gas/testsuite/gas/xtensa/init-fini-literals.d - create mode 100644 gas/testsuite/gas/xtensa/init-fini-literals.s - -diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c -index 36a06cc..5773634 100644 ---- a/gas/config/tc-xtensa.c -+++ b/gas/config/tc-xtensa.c -@@ -11061,6 +11061,10 @@ xtensa_move_literals (void) - fixS *fix, *next_fix, **fix_splice; - sym_list *lit; - struct litpool_seg *lps; -+ const char *init_name = INIT_SECTION_NAME; -+ const char *fini_name = FINI_SECTION_NAME; -+ int init_name_len = strlen(init_name); -+ int fini_name_len = strlen(fini_name); - - mark_literal_frags (literal_head->next); - -@@ -11171,9 +11175,13 @@ xtensa_move_literals (void) - - for (segment = literal_head->next; segment; segment = segment->next) - { -+ const char *seg_name = segment_name (segment->seg); -+ - /* Keep the literals for .init and .fini in separate sections. */ -- if (!strcmp (segment_name (segment->seg), INIT_SECTION_NAME) -- || !strcmp (segment_name (segment->seg), FINI_SECTION_NAME)) -+ if ((!memcmp (seg_name, init_name, init_name_len) && -+ !strcmp (seg_name + init_name_len, ".literal")) || -+ (!memcmp (seg_name, fini_name, fini_name_len) && -+ !strcmp (seg_name + fini_name_len, ".literal"))) - continue; - - frchain_from = seg_info (segment->seg)->frchainP; -diff --git a/gas/testsuite/gas/xtensa/all.exp b/gas/testsuite/gas/xtensa/all.exp -index 7ff7bd7..6b67320 100644 ---- a/gas/testsuite/gas/xtensa/all.exp -+++ b/gas/testsuite/gas/xtensa/all.exp -@@ -102,6 +102,7 @@ if [istarget xtensa*-*-*] then { - run_dump_test "first_frag_align" - run_dump_test "auto-litpools" - run_dump_test "loc" -+ run_dump_test "init-fini-literals" - } - - if [info exists errorInfo] then { -diff --git a/gas/testsuite/gas/xtensa/init-fini-literals.d b/gas/testsuite/gas/xtensa/init-fini-literals.d -new file mode 100644 -index 0000000..19ed121 ---- /dev/null -+++ b/gas/testsuite/gas/xtensa/init-fini-literals.d -@@ -0,0 +1,24 @@ -+#as: --text-section-literals -+#objdump: -r -+#name: check that literals for .init and .fini always go to separate sections -+ -+.*: +file format .*xtensa.* -+#... -+RELOCATION RECORDS FOR \[\.init\.literal\]: -+#... -+00000000 R_XTENSA_PLT init -+#... -+RELOCATION RECORDS FOR \[\.fini\.literal\]: -+#... -+00000000 R_XTENSA_PLT fini -+#... -+RELOCATION RECORDS FOR \[\.init\]: -+#... -+.* R_XTENSA_SLOT0_OP \.init\.literal -+.* R_XTENSA_SLOT0_OP \.init\.literal\+0x00000004 -+#... -+RELOCATION RECORDS FOR \[\.fini\]: -+#... -+.* R_XTENSA_SLOT0_OP \.fini\.literal -+.* R_XTENSA_SLOT0_OP \.fini\.literal\+0x00000004 -+#... -diff --git a/gas/testsuite/gas/xtensa/init-fini-literals.s b/gas/testsuite/gas/xtensa/init-fini-literals.s -new file mode 100644 -index 0000000..7c9ec17 ---- /dev/null -+++ b/gas/testsuite/gas/xtensa/init-fini-literals.s -@@ -0,0 +1,19 @@ -+ .section .init,"ax",@progbits -+ .literal_position -+ .literal .LC0, init@PLT -+ .literal_position -+ .literal .LC1, 1 -+ .align 4 -+ -+ l32r a2, .LC0 -+ l32r a2, .LC1 -+ -+ .section .fini,"ax",@progbits -+ .literal_position -+ .literal .LC2, fini@PLT -+ .literal_position -+ .literal .LC3, 1 -+ .align 4 -+ -+ l32r a2, .LC2 -+ l32r a2, .LC3 --- -2.1.4 - diff --git a/package/binutils/2.26.1/0904-bfin-fdpic-upstream.patch b/package/binutils/2.26.1/0904-bfin-fdpic-upstream.patch deleted file mode 100644 index ffbacc4c0e..0000000000 --- a/package/binutils/2.26.1/0904-bfin-fdpic-upstream.patch +++ /dev/null @@ -1,30 +0,0 @@ -From ed3056ebdb9795446157af03d3e08fbb93c1b01d Mon Sep 17 00:00:00 2001 -From: Nick Clifton -Date: Tue, 29 Mar 2016 10:24:16 +0100 -Subject: [PATCH] Relax assertion in BFIN linker to allow for discard GOT relocs. - - PR 17334 - * elf32-bfin.c (elf32_bfinfdpic_finish_dynamic_sections): Relax - assertion on the size of the got section to allow it to be bigger - than the number of relocs. -diff --git a/bfd/elf32-bfin.c b/bfd/elf32-bfin.c -index 7cc8b6d..b2fcf38 100644 ---- a/bfd/elf32-bfin.c -+++ b/bfd/elf32-bfin.c -@@ -4457,7 +4457,13 @@ elf32_bfinfdpic_finish_dynamic_sections (bfd *output_bfd, - if (bfinfdpic_got_section (info)) - { - BFD_ASSERT (bfinfdpic_gotrel_section (info)->size -- == (bfinfdpic_gotrel_section (info)->reloc_count -+ /* PR 17334: It appears that the GOT section can end up -+ being bigger than the number of relocs. Presumably -+ because some relocs have been deleted. A test case has -+ yet to be generated for verify this, but in the meantime -+ the test below has been changed from == to >= so that -+ applications can continue to be built. */ -+ >= (bfinfdpic_gotrel_section (info)->reloc_count - * sizeof (Elf32_External_Rel))); - - if (bfinfdpic_gotfixup_section (info)) --- -1.7.1 diff --git a/package/binutils/2.27/0131-xtensa-fix-memory-corruption-by-broken-sysregs.patch b/package/binutils/2.27/0131-xtensa-fix-memory-corruption-by-broken-sysregs.patch new file mode 100644 index 0000000000..30103ee05e --- /dev/null +++ b/package/binutils/2.27/0131-xtensa-fix-memory-corruption-by-broken-sysregs.patch @@ -0,0 +1,42 @@ +From 3c8788dbb70b40e737d4b8e30cab81406e5c5091 Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Wed, 2 Aug 2017 00:36:05 -0700 +Subject: [PATCH] xtensa: fix memory corruption by broken sysregs + +In some xtensa configurations there may be system/user registers in +xtensa-modules with negative index. ISA initialization for such config +may clobber heap and result in program termination. +Don't update lookup table entries for register with negative indices. +They are not directly accessible via RSR/WSR/XSR or RUR/WUR, so this +change should not affect processing of valid assembly/binary code. + +bfd/ +2017-08-02 Max Filippov + + * xtensa-isa.c (xtensa_isa_init): Don't update lookup table + entries for sysregs with negative indices. + +Signed-off-by: Max Filippov +--- +Backported from: d84ed528d4817b0ff854006b65a9f6ec75f0407a + + bfd/xtensa-isa.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/bfd/xtensa-isa.c b/bfd/xtensa-isa.c +index 8da75bea8109..8c6ee88fdeae 100644 +--- a/bfd/xtensa-isa.c ++++ b/bfd/xtensa-isa.c +@@ -292,7 +292,8 @@ xtensa_isa_init (xtensa_isa_status *errno_p, char **error_msg_p) + xtensa_sysreg_internal *sreg = &isa->sysregs[n]; + is_user = sreg->is_user; + +- isa->sysreg_table[is_user][sreg->number] = n; ++ if (sreg->number >= 0) ++ isa->sysreg_table[is_user][sreg->number] = n; + } + + /* Set up the interface lookup table. */ +-- +2.1.4 + diff --git a/package/binutils/2.27/0907-Automatically-enable-CRC-instructions-on-supported-A.patch b/package/binutils/2.27/0907-Automatically-enable-CRC-instructions-on-supported-A.patch new file mode 100644 index 0000000000..3b7fcfc959 --- /dev/null +++ b/package/binutils/2.27/0907-Automatically-enable-CRC-instructions-on-supported-A.patch @@ -0,0 +1,88 @@ +From 29a4659015ca7044c2d425d32a0b828e0fbb5ac1 Mon Sep 17 00:00:00 2001 +From: Richard Earnshaw +Date: Wed, 7 Sep 2016 17:14:54 +0100 +Subject: [PATCH] Automatically enable CRC instructions on supported ARMv8-A + CPUs. + +2016-09-07 Richard Earnshaw + + * opcode/arm.h (ARM_ARCH_V8A_CRC): New architecture. + +2016-09-07 Richard Earnshaw + + * config/tc-arm.c ((arm_cpus): Use ARM_ARCH_V8A_CRC for all + ARMv8-A CPUs except xgene1. + +Upstream: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=patch;h=27e5a270962fb92c07e7d476966ba380fa3bb68e +Signed-off-by: Peter Seiderer +--- + gas/config/tc-arm.c | 18 +++++++++--------- + include/opcode/arm.h | 2 ++ + 2 files changed, 11 insertions(+), 9 deletions(-) + +diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c +index 73d05316..7c86184d 100644 +--- a/gas/config/tc-arm.c ++++ b/gas/config/tc-arm.c +@@ -25332,17 +25332,17 @@ static const struct arm_cpu_option_table arm_cpus[] = + "Cortex-A15"), + ARM_CPU_OPT ("cortex-a17", ARM_ARCH_V7VE, FPU_ARCH_NEON_VFP_V4, + "Cortex-A17"), +- ARM_CPU_OPT ("cortex-a32", ARM_ARCH_V8A, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, ++ ARM_CPU_OPT ("cortex-a32", ARM_ARCH_V8A_CRC, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, + "Cortex-A32"), +- ARM_CPU_OPT ("cortex-a35", ARM_ARCH_V8A, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, ++ ARM_CPU_OPT ("cortex-a35", ARM_ARCH_V8A_CRC, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, + "Cortex-A35"), +- ARM_CPU_OPT ("cortex-a53", ARM_ARCH_V8A, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, ++ ARM_CPU_OPT ("cortex-a53", ARM_ARCH_V8A_CRC, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, + "Cortex-A53"), +- ARM_CPU_OPT ("cortex-a57", ARM_ARCH_V8A, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, ++ ARM_CPU_OPT ("cortex-a57", ARM_ARCH_V8A_CRC, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, + "Cortex-A57"), +- ARM_CPU_OPT ("cortex-a72", ARM_ARCH_V8A, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, ++ ARM_CPU_OPT ("cortex-a72", ARM_ARCH_V8A_CRC, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, + "Cortex-A72"), +- ARM_CPU_OPT ("cortex-a73", ARM_ARCH_V8A, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, ++ ARM_CPU_OPT ("cortex-a73", ARM_ARCH_V8A_CRC, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, + "Cortex-A73"), + ARM_CPU_OPT ("cortex-r4", ARM_ARCH_V7R, FPU_NONE, "Cortex-R4"), + ARM_CPU_OPT ("cortex-r4f", ARM_ARCH_V7R, FPU_ARCH_VFP_V3D16, +@@ -25361,10 +25361,10 @@ static const struct arm_cpu_option_table arm_cpus[] = + ARM_CPU_OPT ("cortex-m1", ARM_ARCH_V6SM, FPU_NONE, "Cortex-M1"), + ARM_CPU_OPT ("cortex-m0", ARM_ARCH_V6SM, FPU_NONE, "Cortex-M0"), + ARM_CPU_OPT ("cortex-m0plus", ARM_ARCH_V6SM, FPU_NONE, "Cortex-M0+"), +- ARM_CPU_OPT ("exynos-m1", ARM_ARCH_V8A, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, ++ ARM_CPU_OPT ("exynos-m1", ARM_ARCH_V8A_CRC, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, + "Samsung " \ + "Exynos M1"), +- ARM_CPU_OPT ("qdf24xx", ARM_ARCH_V8A, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, ++ ARM_CPU_OPT ("qdf24xx", ARM_ARCH_V8A_CRC, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, + "Qualcomm " + "QDF24XX"), + +@@ -25389,7 +25389,7 @@ static const struct arm_cpu_option_table arm_cpus[] = + /* APM X-Gene family. */ + ARM_CPU_OPT ("xgene1", ARM_ARCH_V8A, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, + "APM X-Gene 1"), +- ARM_CPU_OPT ("xgene2", ARM_ARCH_V8A, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, ++ ARM_CPU_OPT ("xgene2", ARM_ARCH_V8A_CRC, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, + "APM X-Gene 2"), + + { NULL, 0, ARM_ARCH_NONE, ARM_ARCH_NONE, NULL } +diff --git a/include/opcode/arm.h b/include/opcode/arm.h +index 60715cf8..feace5cd 100644 +--- a/include/opcode/arm.h ++++ b/include/opcode/arm.h +@@ -263,6 +263,8 @@ + #define ARM_ARCH_V7M ARM_FEATURE_CORE (ARM_AEXT_V7M, ARM_EXT2_V6T2_V8M) + #define ARM_ARCH_V7EM ARM_FEATURE_CORE (ARM_AEXT_V7EM, ARM_EXT2_V6T2_V8M) + #define ARM_ARCH_V8A ARM_FEATURE_CORE (ARM_AEXT_V8A, ARM_AEXT2_V8A) ++#define ARM_ARCH_V8A_CRC ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8A, \ ++ CRC_EXT_ARMV8) + #define ARM_ARCH_V8_1A ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8_1A, \ + CRC_EXT_ARMV8 | FPU_NEON_EXT_RDMA) + #define ARM_ARCH_V8_2A ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8_2A, \ +-- +2.11.0 + diff --git a/package/binutils/2.26.1/0120-sh-conf.patch b/package/binutils/2.28.1/0120-sh-conf.patch similarity index 93% rename from package/binutils/2.26.1/0120-sh-conf.patch rename to package/binutils/2.28.1/0120-sh-conf.patch index cc14ef4029..f77599835f 100644 --- a/package/binutils/2.26.1/0120-sh-conf.patch +++ b/package/binutils/2.28.1/0120-sh-conf.patch @@ -19,7 +19,7 @@ diff --git a/configure b/configure index 34b66f7..905bc7b 100755 --- a/configure +++ b/configure -@@ -3939,7 +3939,7 @@ case "${target}" in +@@ -3943,7 +3943,7 @@ case "${target}" in or1k*-*-*) noconfigdirs="$noconfigdirs gdb" ;; @@ -32,7 +32,7 @@ diff --git a/configure.ac b/configure.ac index 4977d97..1e69ee2 100644 --- a/configure.ac +++ b/configure.ac -@@ -1276,7 +1276,7 @@ case "${target}" in +@@ -1279,7 +1279,7 @@ case "${target}" in or1k*-*-*) noconfigdirs="$noconfigdirs gdb" ;; diff --git a/package/binutils/2.28.1/0131-xtensa-fix-memory-corruption-by-broken-sysregs.patch b/package/binutils/2.28.1/0131-xtensa-fix-memory-corruption-by-broken-sysregs.patch new file mode 100644 index 0000000000..30103ee05e --- /dev/null +++ b/package/binutils/2.28.1/0131-xtensa-fix-memory-corruption-by-broken-sysregs.patch @@ -0,0 +1,42 @@ +From 3c8788dbb70b40e737d4b8e30cab81406e5c5091 Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Wed, 2 Aug 2017 00:36:05 -0700 +Subject: [PATCH] xtensa: fix memory corruption by broken sysregs + +In some xtensa configurations there may be system/user registers in +xtensa-modules with negative index. ISA initialization for such config +may clobber heap and result in program termination. +Don't update lookup table entries for register with negative indices. +They are not directly accessible via RSR/WSR/XSR or RUR/WUR, so this +change should not affect processing of valid assembly/binary code. + +bfd/ +2017-08-02 Max Filippov + + * xtensa-isa.c (xtensa_isa_init): Don't update lookup table + entries for sysregs with negative indices. + +Signed-off-by: Max Filippov +--- +Backported from: d84ed528d4817b0ff854006b65a9f6ec75f0407a + + bfd/xtensa-isa.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/bfd/xtensa-isa.c b/bfd/xtensa-isa.c +index 8da75bea8109..8c6ee88fdeae 100644 +--- a/bfd/xtensa-isa.c ++++ b/bfd/xtensa-isa.c +@@ -292,7 +292,8 @@ xtensa_isa_init (xtensa_isa_status *errno_p, char **error_msg_p) + xtensa_sysreg_internal *sreg = &isa->sysregs[n]; + is_user = sreg->is_user; + +- isa->sysreg_table[is_user][sreg->number] = n; ++ if (sreg->number >= 0) ++ isa->sysreg_table[is_user][sreg->number] = n; + } + + /* Set up the interface lookup table. */ +-- +2.1.4 + diff --git a/package/binutils/2.28.1/0300-ld-makefile.patch b/package/binutils/2.28.1/0300-ld-makefile.patch new file mode 100644 index 0000000000..6710195798 --- /dev/null +++ b/package/binutils/2.28.1/0300-ld-makefile.patch @@ -0,0 +1,41 @@ +From d76a7549b43974fe8564971a3f40459bc495a8a7 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 25 Dec 2015 11:40:53 +0100 +Subject: [PATCH] ld-makefile + +[Romain: rebase on top of 2.26] +Signed-off-by: Romain Naour +--- + ld/Makefile.am | 2 +- + ld/Makefile.in | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/ld/Makefile.am b/ld/Makefile.am +index 0b3b049..3871c74 100644 +--- a/ld/Makefile.am ++++ b/ld/Makefile.am +@@ -57,7 +57,7 @@ endif + # We put the scripts in the directory $(scriptdir)/ldscripts. + # We can't put the scripts in $(datadir) because the SEARCH_DIR + # directives need to be different for native and cross linkers. +-scriptdir = $(tooldir)/lib ++scriptdir = $(libdir) + + EMUL = @EMUL@ + EMULATION_OFILES = @EMULATION_OFILES@ +diff --git a/ld/Makefile.in b/ld/Makefile.in +index ed98f87..530e4c9 100644 +--- a/ld/Makefile.in ++++ b/ld/Makefile.in +@@ -452,7 +452,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) + # We put the scripts in the directory $(scriptdir)/ldscripts. + # We can't put the scripts in $(datadir) because the SEARCH_DIR + # directives need to be different for native and cross linkers. +-scriptdir = $(tooldir)/lib ++scriptdir = $(libdir) + BASEDIR = $(srcdir)/.. + BFDDIR = $(BASEDIR)/bfd + INCDIR = $(BASEDIR)/include +-- +2.4.3 + diff --git a/package/binutils/2.28.1/0301-check-ldrunpath-length.patch b/package/binutils/2.28.1/0301-check-ldrunpath-length.patch new file mode 100644 index 0000000000..8d673dcfc5 --- /dev/null +++ b/package/binutils/2.28.1/0301-check-ldrunpath-length.patch @@ -0,0 +1,36 @@ +From ebe1cba46df52d7bf86def3d681271fd05fb453b Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 25 Dec 2015 11:41:47 +0100 +Subject: [PATCH] check-ldrunpath-length + +[Romain: rebase on top of 2.26] +Signed-off-by: Romain Naour +--- + ld/emultempl/elf32.em | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em +index 0405d4f..efd3300 100644 +--- a/ld/emultempl/elf32.em ++++ b/ld/emultempl/elf32.em +@@ -1411,6 +1411,8 @@ fragment <link.next) + if (bfd_get_flavour (abfd) == bfd_target_elf_flavour) +-- +2.4.3 + diff --git a/package/binutils/2.28.1/0500-add-sysroot-fix-from-bug-3049.patch b/package/binutils/2.28.1/0500-add-sysroot-fix-from-bug-3049.patch new file mode 100644 index 0000000000..0331088666 --- /dev/null +++ b/package/binutils/2.28.1/0500-add-sysroot-fix-from-bug-3049.patch @@ -0,0 +1,48 @@ +From 30628870e583375f8927c04398c7219c6e9f703c Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 25 Dec 2015 11:42:48 +0100 +Subject: [PATCH] add sysroot fix from bug #3049 + +Always try to prepend the sysroot prefix to absolute filenames first. + +http://bugs.gentoo.org/275666 +http://sourceware.org/bugzilla/show_bug.cgi?id=10340 + +Signed-off-by: Sven Rebhan +[Romain: rebase on top of 2.26] +Signed-off-by: Romain Naour +--- + ld/ldfile.c | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +diff --git a/ld/ldfile.c diff --git b/ld/ldfile.c +--- a/ld/ldfile.c 2017-03-02 03:23:54.000000000 -0500 ++++ b/ld/ldfile.c 2017-03-20 09:52:27.687415942 -0400 +@@ -336,18 +336,24 @@ + directory first. */ + if (!entry->flags.maybe_archive) + { +- if (entry->flags.sysrooted && IS_ABSOLUTE_PATH (entry->filename)) ++ /* For absolute pathnames, try to always open the file in the ++ sysroot first. If this fails, try to open the file at the ++ given location. */ ++ entry->flags.sysrooted = is_sysrooted_pathname (entry->filename); ++ if (!entry->flags.sysrooted && IS_ABSOLUTE_PATH (entry->filename) ++ && ld_sysroot) + { + char *name = concat (ld_sysroot, entry->filename, + (const char *) NULL); + if (ldfile_try_open_bfd (name, entry)) + { + entry->filename = name; ++ entry->flags.sysrooted = TRUE; + return TRUE; + } + free (name); + } +- else if (ldfile_try_open_bfd (entry->filename, entry)) ++ if (ldfile_try_open_bfd (entry->filename, entry)) + return TRUE; + + if (IS_ABSOLUTE_PATH (entry->filename)) + diff --git a/package/binutils/2.28.1/0600-poison-system-directories.patch b/package/binutils/2.28.1/0600-poison-system-directories.patch new file mode 100644 index 0000000000..bb1a7b438c --- /dev/null +++ b/package/binutils/2.28.1/0600-poison-system-directories.patch @@ -0,0 +1,306 @@ +From be366461dd49e760440fb28eaee5164eb281adcc Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 25 Dec 2015 11:45:38 +0100 +Subject: [PATCH] poison-system-directories + +Patch adapted to binutils 2.23.2 and extended to use +BR_COMPILER_PARANOID_UNSAFE_PATH by Thomas Petazzoni. + +[Romain: rebase on top of 2.26] +Signed-off-by: Romain Naour +[Gustavo: adapt to binutils 2.25] +Signed-off-by: Thomas Petazzoni +Signed-off-by: Gustavo Zacarias + +Upstream-Status: Inappropriate [distribution: codesourcery] + +Patch originally created by Mark Hatle, forward-ported to +binutils 2.21 by Scott Garman. + +purpose: warn for uses of system directories when cross linking + +Code Merged from Sourcery G++ binutils 2.19 - 4.4-277 + +2008-07-02 Joseph Myers + + ld/ + * ld.h (args_type): Add error_poison_system_directories. + * ld.texinfo (--error-poison-system-directories): Document. + * ldfile.c (ldfile_add_library_path): Check + command_line.error_poison_system_directories. + * ldmain.c (main): Initialize + command_line.error_poison_system_directories. + * lexsup.c (enum option_values): Add + OPTION_ERROR_POISON_SYSTEM_DIRECTORIES. + (ld_options): Add --error-poison-system-directories. + (parse_args): Handle new option. + +2007-06-13 Joseph Myers + + ld/ + * config.in: Regenerate. + * ld.h (args_type): Add poison_system_directories. + * ld.texinfo (--no-poison-system-directories): Document. + * ldfile.c (ldfile_add_library_path): Check + command_line.poison_system_directories. + * ldmain.c (main): Initialize + command_line.poison_system_directories. + * lexsup.c (enum option_values): Add + OPTION_NO_POISON_SYSTEM_DIRECTORIES. + (ld_options): Add --no-poison-system-directories. + (parse_args): Handle new option. + +2007-04-20 Joseph Myers + + Merge from Sourcery G++ binutils 2.17: + + 2007-03-20 Joseph Myers + Based on patch by Mark Hatle . + ld/ + * configure.ac (--enable-poison-system-directories): New option. + * configure, config.in: Regenerate. + * ldfile.c (ldfile_add_library_path): If + ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of /lib, + /usr/lib, /usr/local/lib or /usr/X11R6/lib. + +Signed-off-by: Mark Hatle +Signed-off-by: Scott Garman +--- + ld/config.in | 3 +++ + ld/configure | 14 ++++++++++++++ + ld/configure.ac | 10 ++++++++++ + ld/ld.h | 8 ++++++++ + ld/ld.texinfo | 12 ++++++++++++ + ld/ldfile.c | 17 +++++++++++++++++ + ld/ldlex.h | 2 ++ + ld/ldmain.c | 2 ++ + ld/lexsup.c | 21 +++++++++++++++++++++ + 9 files changed, 89 insertions(+) + +diff --git a/ld/config.in b/ld/config.in +index 276fb77..35c58eb 100644 +--- a/ld/config.in ++++ b/ld/config.in +@@ -17,6 +17,9 @@ + language is requested. */ + #undef ENABLE_NLS + ++/* Define to warn for use of native system library directories */ ++#undef ENABLE_POISON_SYSTEM_DIRECTORIES ++ + /* Additional extension a shared object might have. */ + #undef EXTRA_SHLIB_EXTENSION + +diff --git a/ld/configure b/ld/configure +index a446283..d1f9504 100755 +--- a/ld/configure ++++ b/ld/configure +@@ -789,6 +789,7 @@ with_lib_path + enable_targets + enable_64_bit_bfd + with_sysroot ++enable_poison_system_directories + enable_gold + enable_got + enable_compressed_debug_sections +@@ -1446,6 +1447,8 @@ Optional Features: + --disable-largefile omit support for large files + --enable-targets alternative target configurations + --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes) ++ --enable-poison-system-directories ++ warn for use of native system library directories + --enable-gold[=ARG] build gold [ARG={default,yes,no}] + --enable-got= GOT handling scheme (target, single, negative, + multigot) +@@ -15499,7 +15502,18 @@ else + fi + + ++# Check whether --enable-poison-system-directories was given. ++if test "${enable_poison_system_directories+set}" = set; then : ++ enableval=$enable_poison_system_directories; ++else ++ enable_poison_system_directories=no ++fi ++ ++if test "x${enable_poison_system_directories}" = "xyes"; then + ++$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h ++ ++fi + + # Check whether --enable-got was given. + if test "${enable_got+set}" = set; then : +diff --git a/ld/configure.ac b/ld/configure.ac +index 188172d..2cd8443 100644 +--- a/ld/configure.ac ++++ b/ld/configure.ac +@@ -95,6 +95,16 @@ AC_SUBST(use_sysroot) + AC_SUBST(TARGET_SYSTEM_ROOT) + AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE) + ++AC_ARG_ENABLE([poison-system-directories], ++ AS_HELP_STRING([--enable-poison-system-directories], ++ [warn for use of native system library directories]),, ++ [enable_poison_system_directories=no]) ++if test "x${enable_poison_system_directories}" = "xyes"; then ++ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES], ++ [1], ++ [Define to warn for use of native system library directories]) ++fi ++ + dnl Use --enable-gold to decide if this linker should be the default. + dnl "install_as_default" is set to false if gold is the default linker. + dnl "installed_linker" is the installed BFD linker name. +diff --git a/ld/ld.h b/ld/ld.h +index d84ec4e..3476b26 100644 +--- a/ld/ld.h ++++ b/ld/ld.h +@@ -172,6 +172,14 @@ typedef struct { + /* If set, display the target memory usage (per memory region). */ + bfd_boolean print_memory_usage; + ++ /* If TRUE (the default) warn for uses of system directories when ++ cross linking. */ ++ bfd_boolean poison_system_directories; ++ ++ /* If TRUE (default FALSE) give an error for uses of system ++ directories when cross linking instead of a warning. */ ++ bfd_boolean error_poison_system_directories; ++ + /* Big or little endian as set on command line. */ + enum endian_enum endian; + +diff --git a/ld/ld.texinfo b/ld/ld.texinfo +index 1dd7492..fb1438e 100644 +--- a/ld/ld.texinfo ++++ b/ld/ld.texinfo +@@ -2403,6 +2403,18 @@ string identifying the original linked file does not change. + + Passing @code{none} for @var{style} disables the setting from any + @code{--build-id} options earlier on the command line. ++ ++@kindex --no-poison-system-directories ++@item --no-poison-system-directories ++Do not warn for @option{-L} options using system directories such as ++@file{/usr/lib} when cross linking. This option is intended for use ++in chroot environments when such directories contain the correct ++libraries for the target system rather than the host. ++ ++@kindex --error-poison-system-directories ++@item --error-poison-system-directories ++Give an error instead of a warning for @option{-L} options using ++system directories when cross linking. + @end table + + @c man end +diff --git a/ld/ldfile.c b/ld/ldfile.c +index 1439309..086b354 100644 +--- a/ld/ldfile.c ++++ b/ld/ldfile.c +@@ -114,6 +114,23 @@ ldfile_add_library_path (const char *name, bfd_boolean cmdline) + new_dirs->name = concat (ld_sysroot, name + 1, (const char *) NULL); + else + new_dirs->name = xstrdup (name); ++ ++#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES ++ if (command_line.poison_system_directories ++ && ((!strncmp (name, "/lib", 4)) ++ || (!strncmp (name, "/usr/lib", 8)) ++ || (!strncmp (name, "/usr/local/lib", 14)) ++ || (!strncmp (name, "/usr/X11R6/lib", 14)))) ++ { ++ if (command_line.error_poison_system_directories) ++ einfo (_("%X%P: error: library search path \"%s\" is unsafe for " ++ "cross-compilation\n"), name); ++ else ++ einfo (_("%P: warning: library search path \"%s\" is unsafe for " ++ "cross-compilation\n"), name); ++ } ++#endif ++ + } + + /* Try to open a BFD for a lang_input_statement. */ +diff --git a/ld/ldlex.h b/ld/ldlex.h +index 6f11e7b..0ca3110 100644 +--- a/ld/ldlex.h ++++ b/ld/ldlex.h +@@ -146,6 +146,8 @@ enum option_values + OPTION_PRINT_MEMORY_USAGE, + OPTION_REQUIRE_DEFINED_SYMBOL, + OPTION_ORPHAN_HANDLING, ++ OPTION_NO_POISON_SYSTEM_DIRECTORIES, ++ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES, + }; + + /* The initial parser states. */ +diff --git a/ld/ldmain.c b/ld/ldmain.c +index bb0b9cc..a23c56c 100644 +--- a/ld/ldmain.c ++++ b/ld/ldmain.c +@@ -270,6 +270,8 @@ main (int argc, char **argv) + command_line.warn_mismatch = TRUE; + command_line.warn_search_mismatch = TRUE; + command_line.check_section_addresses = -1; ++ command_line.poison_system_directories = TRUE; ++ command_line.error_poison_system_directories = FALSE; + + /* We initialize DEMANGLING based on the environment variable + COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the +diff --git a/ld/lexsup.c b/ld/lexsup.c +index 4cad209..be7d584 100644 +--- a/ld/lexsup.c ++++ b/ld/lexsup.c +@@ -535,6 +535,14 @@ static const struct ld_option ld_options[] = + { {"orphan-handling", required_argument, NULL, OPTION_ORPHAN_HANDLING}, + '\0', N_("=MODE"), N_("Control how orphan sections are handled."), + TWO_DASHES }, ++ { {"no-poison-system-directories", no_argument, NULL, ++ OPTION_NO_POISON_SYSTEM_DIRECTORIES}, ++ '\0', NULL, N_("Do not warn for -L options using system directories"), ++ TWO_DASHES }, ++ { {"error-poison-system-directories", no_argument, NULL, ++ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES}, ++ '\0', NULL, N_("Give an error for -L options using system directories"), ++ TWO_DASHES }, + }; + + #define OPTION_COUNT ARRAY_SIZE (ld_options) +@@ -547,6 +555,7 @@ parse_args (unsigned argc, char **argv) + int ingroup = 0; + char *default_dirlist = NULL; + char *shortopts; ++ char *BR_paranoid_env; + struct option *longopts; + struct option *really_longopts; + int last_optind; +@@ -1528,6 +1537,14 @@ parse_args (unsigned argc, char **argv) + } + break; + ++ case OPTION_NO_POISON_SYSTEM_DIRECTORIES: ++ command_line.poison_system_directories = FALSE; ++ break; ++ ++ case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES: ++ command_line.error_poison_system_directories = TRUE; ++ break; ++ + case OPTION_PUSH_STATE: + input_flags.pushed = xmemdup (&input_flags, + sizeof (input_flags), +@@ -1571,6 +1588,10 @@ parse_args (unsigned argc, char **argv) + command_line.soname = NULL; + } + ++ BR_paranoid_env = getenv("BR_COMPILER_PARANOID_UNSAFE_PATH"); ++ if (BR_paranoid_env && strlen(BR_paranoid_env) > 0) ++ command_line.error_poison_system_directories = TRUE; ++ + while (ingroup) + { + lang_leave_group (); +-- +2.4.3 + diff --git a/package/binutils/2.26.1/0905-bfin-rofixup-bug.patch b/package/binutils/2.28.1/0905-bfin-rofixup-bug.patch similarity index 97% rename from package/binutils/2.26.1/0905-bfin-rofixup-bug.patch rename to package/binutils/2.28.1/0905-bfin-rofixup-bug.patch index da9d586551..5733b219d7 100644 --- a/package/binutils/2.26.1/0905-bfin-rofixup-bug.patch +++ b/package/binutils/2.28.1/0905-bfin-rofixup-bug.patch @@ -9,7 +9,7 @@ Signed-off-by: Waldemar Brodkorb diff -Nur binutils-2.26.1.orig/bfd/elf32-bfin.c binutils-2.26.1/bfd/elf32-bfin.c --- binutils-2.26.1.orig/bfd/elf32-bfin.c 2015-11-13 09:27:40.000000000 +0100 +++ binutils-2.26.1/bfd/elf32-bfin.c 2016-07-31 00:50:48.357995132 +0200 -@@ -4879,7 +4879,8 @@ +@@ -4845,7 +4845,8 @@ case R_BFIN_FUNCDESC: picrel->fd++; diff --git a/package/binutils/2.26.1/0906-microblaze-pr21180.patch b/package/binutils/2.28.1/0906-microblaze-pr21180.patch similarity index 79% rename from package/binutils/2.26.1/0906-microblaze-pr21180.patch rename to package/binutils/2.28.1/0906-microblaze-pr21180.patch index 8104db3462..52ac4fdd13 100644 --- a/package/binutils/2.26.1/0906-microblaze-pr21180.patch +++ b/package/binutils/2.28.1/0906-microblaze-pr21180.patch @@ -4,11 +4,11 @@ https://sourceware.org/bugzilla/show_bug.cgi?id=21180 Signed-off-by: Waldemar Brodkorb -diff -Nur binutils-2.26.1.orig/bfd/elf32-microblaze.c binutils-2.26.1/bfd/elf32-microblaze.c ---- binutils-2.26.1.orig/bfd/elf32-microblaze.c 2015-11-13 09:27:40.000000000 +0100 -+++ binutils-2.26.1/bfd/elf32-microblaze.c 2017-02-23 19:43:18.536542964 +0100 -@@ -3300,13 +3300,20 @@ - && h->def_regular) +diff -Nur a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c +--- a/bfd/elf32-microblaze.c 2016-08-03 09:36:50.000000000 +0200 ++++ b/bfd/elf32-microblaze.c 2017-02-23 19:43:12.612313590 +0100 +@@ -3233,13 +3233,20 @@ + || h->dynindx == -1)) { asection *sec = h->root.u.def.section; + bfd_vma value; diff --git a/package/binutils/2.29.1/0001-sh-conf.patch b/package/binutils/2.29.1/0001-sh-conf.patch new file mode 100644 index 0000000000..3c9ef62e2f --- /dev/null +++ b/package/binutils/2.29.1/0001-sh-conf.patch @@ -0,0 +1,48 @@ +From fdb0d1d63d8dc30b319db174f2a90e681d8cd2ed Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 25 Dec 2015 11:38:13 +0100 +Subject: [PATCH] sh-conf + +Likewise, binutils has no idea about any of these new targets either, so we +fix that up too.. now we're able to actually build a real toolchain for +sh2a_nofpu- and other more ineptly named toolchains (and yes, there are more +inept targets than that one, really. Go look, I promise). + +[Romain: rebase on top of 2.26] +Signed-off-by: Romain Naour +[Thomas: rebase on top of 2.29, in which sh64 support was removed.] +Signed-off-by: Thomas Petazzoni +--- + configure | 2 +- + configure.ac | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure b/configure +index be9dd89..3c0f4c6 100755 +--- a/configure ++++ b/configure +@@ -3844,7 +3844,7 @@ case "${target}" in + or1k*-*-*) + noconfigdirs="$noconfigdirs gdb" + ;; +- sh-*-*) ++ sh*-*-*) + case "${target}" in + sh*-*-elf) + ;; +diff --git a/configure.ac b/configure.ac +index 532c5c2..4f40318 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1178,7 +1178,7 @@ case "${target}" in + or1k*-*-*) + noconfigdirs="$noconfigdirs gdb" + ;; +- sh-*-*) ++ sh*-*-*) + case "${target}" in + sh*-*-elf) + ;; +-- +2.9.4 + diff --git a/package/binutils/2.29.1/0002-ld-makefile.patch b/package/binutils/2.29.1/0002-ld-makefile.patch new file mode 100644 index 0000000000..a7cd71e63c --- /dev/null +++ b/package/binutils/2.29.1/0002-ld-makefile.patch @@ -0,0 +1,41 @@ +From d4e18ebc6ad810167a2de84b185a5f0d65b9ec2d Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 25 Dec 2015 11:40:53 +0100 +Subject: [PATCH] ld-makefile + +[Romain: rebase on top of 2.26] +Signed-off-by: Romain Naour +--- + ld/Makefile.am | 2 +- + ld/Makefile.in | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/ld/Makefile.am b/ld/Makefile.am +index 625347f..d5334d2 100644 +--- a/ld/Makefile.am ++++ b/ld/Makefile.am +@@ -57,7 +57,7 @@ endif + # We put the scripts in the directory $(scriptdir)/ldscripts. + # We can't put the scripts in $(datadir) because the SEARCH_DIR + # directives need to be different for native and cross linkers. +-scriptdir = $(tooldir)/lib ++scriptdir = $(libdir) + + EMUL = @EMUL@ + EMULATION_OFILES = @EMULATION_OFILES@ +diff --git a/ld/Makefile.in b/ld/Makefile.in +index ba25177..a2cf228 100644 +--- a/ld/Makefile.in ++++ b/ld/Makefile.in +@@ -446,7 +446,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) + # We put the scripts in the directory $(scriptdir)/ldscripts. + # We can't put the scripts in $(datadir) because the SEARCH_DIR + # directives need to be different for native and cross linkers. +-scriptdir = $(tooldir)/lib ++scriptdir = $(libdir) + BASEDIR = $(srcdir)/.. + BFDDIR = $(BASEDIR)/bfd + INCDIR = $(BASEDIR)/include +-- +2.9.4 + diff --git a/package/binutils/2.29.1/0003-check-ldrunpath-length.patch b/package/binutils/2.29.1/0003-check-ldrunpath-length.patch new file mode 100644 index 0000000000..3fbc5031d1 --- /dev/null +++ b/package/binutils/2.29.1/0003-check-ldrunpath-length.patch @@ -0,0 +1,36 @@ +From 3bd211025c890ef2971958915d500a9bb2913a2a Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 25 Dec 2015 11:41:47 +0100 +Subject: [PATCH] check-ldrunpath-length + +[Romain: rebase on top of 2.26] +Signed-off-by: Romain Naour +--- + ld/emultempl/elf32.em | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em +index d2551b6..70fcb56 100644 +--- a/ld/emultempl/elf32.em ++++ b/ld/emultempl/elf32.em +@@ -1463,6 +1463,8 @@ fragment <link.next) + if (bfd_get_flavour (abfd) == bfd_target_elf_flavour) +-- +2.9.4 + diff --git a/package/binutils/2.29.1/0004-add-sysroot-fix-from-bug-3049.patch b/package/binutils/2.29.1/0004-add-sysroot-fix-from-bug-3049.patch new file mode 100644 index 0000000000..9e11840cee --- /dev/null +++ b/package/binutils/2.29.1/0004-add-sysroot-fix-from-bug-3049.patch @@ -0,0 +1,51 @@ +From 378bda0e19d279535b3f4a0e448a658a534a5d67 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 25 Dec 2015 11:42:48 +0100 +Subject: [PATCH] add sysroot fix from bug #3049 + +Always try to prepend the sysroot prefix to absolute filenames first. + +http://bugs.gentoo.org/275666 +http://sourceware.org/bugzilla/show_bug.cgi?id=10340 + +Signed-off-by: Sven Rebhan +[Romain: rebase on top of 2.26] +Signed-off-by: Romain Naour +--- + ld/ldfile.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/ld/ldfile.c b/ld/ldfile.c +index 3b37a0a..f7e5473 100644 +--- a/ld/ldfile.c ++++ b/ld/ldfile.c +@@ -338,18 +338,24 @@ ldfile_open_file_search (const char *arch, + directory first. */ + if (!entry->flags.maybe_archive) + { +- if (entry->flags.sysrooted && IS_ABSOLUTE_PATH (entry->filename)) ++ /* For absolute pathnames, try to always open the file in the ++ sysroot first. If this fails, try to open the file at the ++ given location. */ ++ entry->flags.sysrooted = is_sysrooted_pathname (entry->filename); ++ if (!entry->flags.sysrooted && IS_ABSOLUTE_PATH (entry->filename) ++ && ld_sysroot) + { + char *name = concat (ld_sysroot, entry->filename, + (const char *) NULL); + if (ldfile_try_open_bfd (name, entry)) + { + entry->filename = name; ++ entry->flags.sysrooted = TRUE; + return TRUE; + } + free (name); + } +- else if (ldfile_try_open_bfd (entry->filename, entry)) ++ if (ldfile_try_open_bfd (entry->filename, entry)) + return TRUE; + + if (IS_ABSOLUTE_PATH (entry->filename)) +-- +2.9.4 + diff --git a/package/binutils/2.29.1/0005-poison-system-directories.patch b/package/binutils/2.29.1/0005-poison-system-directories.patch new file mode 100644 index 0000000000..a7c2761a9d --- /dev/null +++ b/package/binutils/2.29.1/0005-poison-system-directories.patch @@ -0,0 +1,306 @@ +From b100e9d16bfe6725b2624902af457ecfa490b150 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 25 Dec 2015 11:45:38 +0100 +Subject: [PATCH] poison-system-directories + +Patch adapted to binutils 2.23.2 and extended to use +BR_COMPILER_PARANOID_UNSAFE_PATH by Thomas Petazzoni. + +[Romain: rebase on top of 2.26] +Signed-off-by: Romain Naour +[Gustavo: adapt to binutils 2.25] +Signed-off-by: Thomas Petazzoni +Signed-off-by: Gustavo Zacarias + +Upstream-Status: Inappropriate [distribution: codesourcery] + +Patch originally created by Mark Hatle, forward-ported to +binutils 2.21 by Scott Garman. + +purpose: warn for uses of system directories when cross linking + +Code Merged from Sourcery G++ binutils 2.19 - 4.4-277 + +2008-07-02 Joseph Myers + + ld/ + * ld.h (args_type): Add error_poison_system_directories. + * ld.texinfo (--error-poison-system-directories): Document. + * ldfile.c (ldfile_add_library_path): Check + command_line.error_poison_system_directories. + * ldmain.c (main): Initialize + command_line.error_poison_system_directories. + * lexsup.c (enum option_values): Add + OPTION_ERROR_POISON_SYSTEM_DIRECTORIES. + (ld_options): Add --error-poison-system-directories. + (parse_args): Handle new option. + +2007-06-13 Joseph Myers + + ld/ + * config.in: Regenerate. + * ld.h (args_type): Add poison_system_directories. + * ld.texinfo (--no-poison-system-directories): Document. + * ldfile.c (ldfile_add_library_path): Check + command_line.poison_system_directories. + * ldmain.c (main): Initialize + command_line.poison_system_directories. + * lexsup.c (enum option_values): Add + OPTION_NO_POISON_SYSTEM_DIRECTORIES. + (ld_options): Add --no-poison-system-directories. + (parse_args): Handle new option. + +2007-04-20 Joseph Myers + + Merge from Sourcery G++ binutils 2.17: + + 2007-03-20 Joseph Myers + Based on patch by Mark Hatle . + ld/ + * configure.ac (--enable-poison-system-directories): New option. + * configure, config.in: Regenerate. + * ldfile.c (ldfile_add_library_path): If + ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of /lib, + /usr/lib, /usr/local/lib or /usr/X11R6/lib. + +Signed-off-by: Mark Hatle +Signed-off-by: Scott Garman +--- + ld/config.in | 3 +++ + ld/configure | 14 ++++++++++++++ + ld/configure.ac | 10 ++++++++++ + ld/ld.h | 8 ++++++++ + ld/ld.texinfo | 12 ++++++++++++ + ld/ldfile.c | 17 +++++++++++++++++ + ld/ldlex.h | 2 ++ + ld/ldmain.c | 2 ++ + ld/lexsup.c | 21 +++++++++++++++++++++ + 9 files changed, 89 insertions(+) + +diff --git a/ld/config.in b/ld/config.in +index 5d91380..ffe84a7 100644 +--- a/ld/config.in ++++ b/ld/config.in +@@ -21,6 +21,9 @@ + language is requested. */ + #undef ENABLE_NLS + ++/* Define to warn for use of native system library directories */ ++#undef ENABLE_POISON_SYSTEM_DIRECTORIES ++ + /* Additional extension a shared object might have. */ + #undef EXTRA_SHLIB_EXTENSION + +diff --git a/ld/configure b/ld/configure +index da20ab5..63e3da7 100755 +--- a/ld/configure ++++ b/ld/configure +@@ -785,6 +785,7 @@ with_lib_path + enable_targets + enable_64_bit_bfd + with_sysroot ++enable_poison_system_directories + enable_gold + enable_got + enable_compressed_debug_sections +@@ -1443,6 +1444,8 @@ Optional Features: + --disable-largefile omit support for large files + --enable-targets alternative target configurations + --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes) ++ --enable-poison-system-directories ++ warn for use of native system library directories + --enable-gold[=ARG] build gold [ARG={default,yes,no}] + --enable-got= GOT handling scheme (target, single, negative, + multigot) +@@ -15497,7 +15500,18 @@ else + fi + + ++# Check whether --enable-poison-system-directories was given. ++if test "${enable_poison_system_directories+set}" = set; then : ++ enableval=$enable_poison_system_directories; ++else ++ enable_poison_system_directories=no ++fi ++ ++if test "x${enable_poison_system_directories}" = "xyes"; then + ++$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h ++ ++fi + + # Check whether --enable-got was given. + if test "${enable_got+set}" = set; then : +diff --git a/ld/configure.ac b/ld/configure.ac +index 34315e6..5ade9a0 100644 +--- a/ld/configure.ac ++++ b/ld/configure.ac +@@ -95,6 +95,16 @@ AC_SUBST(use_sysroot) + AC_SUBST(TARGET_SYSTEM_ROOT) + AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE) + ++AC_ARG_ENABLE([poison-system-directories], ++ AS_HELP_STRING([--enable-poison-system-directories], ++ [warn for use of native system library directories]),, ++ [enable_poison_system_directories=no]) ++if test "x${enable_poison_system_directories}" = "xyes"; then ++ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES], ++ [1], ++ [Define to warn for use of native system library directories]) ++fi ++ + dnl Use --enable-gold to decide if this linker should be the default. + dnl "install_as_default" is set to false if gold is the default linker. + dnl "installed_linker" is the installed BFD linker name. +diff --git a/ld/ld.h b/ld/ld.h +index 162e156..7d6d7ef 100644 +--- a/ld/ld.h ++++ b/ld/ld.h +@@ -177,6 +177,14 @@ typedef struct + in the linker script. */ + bfd_boolean force_group_allocation; + ++ /* If TRUE (the default) warn for uses of system directories when ++ cross linking. */ ++ bfd_boolean poison_system_directories; ++ ++ /* If TRUE (default FALSE) give an error for uses of system ++ directories when cross linking instead of a warning. */ ++ bfd_boolean error_poison_system_directories; ++ + /* Big or little endian as set on command line. */ + enum endian_enum endian; + +diff --git a/ld/ld.texinfo b/ld/ld.texinfo +index bb5f719..78501e4 100644 +--- a/ld/ld.texinfo ++++ b/ld/ld.texinfo +@@ -2480,6 +2480,18 @@ string identifying the original linked file does not change. + + Passing @code{none} for @var{style} disables the setting from any + @code{--build-id} options earlier on the command line. ++ ++@kindex --no-poison-system-directories ++@item --no-poison-system-directories ++Do not warn for @option{-L} options using system directories such as ++@file{/usr/lib} when cross linking. This option is intended for use ++in chroot environments when such directories contain the correct ++libraries for the target system rather than the host. ++ ++@kindex --error-poison-system-directories ++@item --error-poison-system-directories ++Give an error instead of a warning for @option{-L} options using ++system directories when cross linking. + @end table + + @c man end +diff --git a/ld/ldfile.c b/ld/ldfile.c +index f7e5473..2cd84d3 100644 +--- a/ld/ldfile.c ++++ b/ld/ldfile.c +@@ -116,6 +116,23 @@ ldfile_add_library_path (const char *name, bfd_boolean cmdline) + new_dirs->name = concat (ld_sysroot, name + strlen ("$SYSROOT"), (const char *) NULL); + else + new_dirs->name = xstrdup (name); ++ ++#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES ++ if (command_line.poison_system_directories ++ && ((!strncmp (name, "/lib", 4)) ++ || (!strncmp (name, "/usr/lib", 8)) ++ || (!strncmp (name, "/usr/local/lib", 14)) ++ || (!strncmp (name, "/usr/X11R6/lib", 14)))) ++ { ++ if (command_line.error_poison_system_directories) ++ einfo (_("%X%P: error: library search path \"%s\" is unsafe for " ++ "cross-compilation\n"), name); ++ else ++ einfo (_("%P: warning: library search path \"%s\" is unsafe for " ++ "cross-compilation\n"), name); ++ } ++#endif ++ + } + + /* Try to open a BFD for a lang_input_statement. */ +diff --git a/ld/ldlex.h b/ld/ldlex.h +index 5aa7f6b..cb655e0 100644 +--- a/ld/ldlex.h ++++ b/ld/ldlex.h +@@ -147,6 +147,8 @@ enum option_values + OPTION_REQUIRE_DEFINED_SYMBOL, + OPTION_ORPHAN_HANDLING, + OPTION_FORCE_GROUP_ALLOCATION, ++ OPTION_NO_POISON_SYSTEM_DIRECTORIES, ++ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES, + }; + + /* The initial parser states. */ +diff --git a/ld/ldmain.c b/ld/ldmain.c +index ee5ab11..5f6effd 100644 +--- a/ld/ldmain.c ++++ b/ld/ldmain.c +@@ -270,6 +270,8 @@ main (int argc, char **argv) + command_line.warn_mismatch = TRUE; + command_line.warn_search_mismatch = TRUE; + command_line.check_section_addresses = -1; ++ command_line.poison_system_directories = TRUE; ++ command_line.error_poison_system_directories = FALSE; + + /* We initialize DEMANGLING based on the environment variable + COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the +diff --git a/ld/lexsup.c b/ld/lexsup.c +index 08106bc..d619d50 100644 +--- a/ld/lexsup.c ++++ b/ld/lexsup.c +@@ -538,6 +538,14 @@ static const struct ld_option ld_options[] = + { {"orphan-handling", required_argument, NULL, OPTION_ORPHAN_HANDLING}, + '\0', N_("=MODE"), N_("Control how orphan sections are handled."), + TWO_DASHES }, ++ { {"no-poison-system-directories", no_argument, NULL, ++ OPTION_NO_POISON_SYSTEM_DIRECTORIES}, ++ '\0', NULL, N_("Do not warn for -L options using system directories"), ++ TWO_DASHES }, ++ { {"error-poison-system-directories", no_argument, NULL, ++ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES}, ++ '\0', NULL, N_("Give an error for -L options using system directories"), ++ TWO_DASHES }, + }; + + #define OPTION_COUNT ARRAY_SIZE (ld_options) +@@ -550,6 +558,7 @@ parse_args (unsigned argc, char **argv) + int ingroup = 0; + char *default_dirlist = NULL; + char *shortopts; ++ char *BR_paranoid_env; + struct option *longopts; + struct option *really_longopts; + int last_optind; +@@ -1534,6 +1543,14 @@ parse_args (unsigned argc, char **argv) + } + break; + ++ case OPTION_NO_POISON_SYSTEM_DIRECTORIES: ++ command_line.poison_system_directories = FALSE; ++ break; ++ ++ case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES: ++ command_line.error_poison_system_directories = TRUE; ++ break; ++ + case OPTION_PUSH_STATE: + input_flags.pushed = xmemdup (&input_flags, + sizeof (input_flags), +@@ -1577,6 +1594,10 @@ parse_args (unsigned argc, char **argv) + command_line.soname = NULL; + } + ++ BR_paranoid_env = getenv("BR_COMPILER_PARANOID_UNSAFE_PATH"); ++ if (BR_paranoid_env && strlen(BR_paranoid_env) > 0) ++ command_line.error_poison_system_directories = TRUE; ++ + while (ingroup) + { + lang_leave_group (); +-- +2.9.4 + diff --git a/package/binutils/2.29.1/0006-Fixes-LINKER-BUG-.rofixup-section-size-mismatch.patch b/package/binutils/2.29.1/0006-Fixes-LINKER-BUG-.rofixup-section-size-mismatch.patch new file mode 100644 index 0000000000..e5409efe14 --- /dev/null +++ b/package/binutils/2.29.1/0006-Fixes-LINKER-BUG-.rofixup-section-size-mismatch.patch @@ -0,0 +1,31 @@ +From 122de3b633f4273826a2d01702d7c515f93ec2be Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb +Date: Sat, 29 Jul 2017 14:08:20 +0200 +Subject: [PATCH] Fixes: LINKER BUG: .rofixup section size mismatch + +Workaround from adi-toolchain commit: +af414ec1fb628ddb1562f062f3db49823ca14ca2 +[#6798] binutils-2.21/bfd: temp workaround for rofixup mismatch errors. + +Signed-off-by: Waldemar Brodkorb +--- + bfd/elf32-bfin.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/bfd/elf32-bfin.c b/bfd/elf32-bfin.c +index b3e09bd..660eec5 100644 +--- a/bfd/elf32-bfin.c ++++ b/bfd/elf32-bfin.c +@@ -4845,7 +4845,8 @@ bfinfdpic_check_relocs (bfd *abfd, struct bfd_link_info *info, + + case R_BFIN_FUNCDESC: + picrel->fd++; +- picrel->relocsfd++; ++ if (bfd_get_section_flags (abfd, sec) & SEC_ALLOC) ++ picrel->relocsfd++; + break; + + /* This relocation describes the C++ object vtable hierarchy. +-- +2.9.4 + diff --git a/package/binutils/Config.in b/package/binutils/Config.in index fdfdfe9052..e17a8ec65a 100644 --- a/package/binutils/Config.in +++ b/package/binutils/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_BINUTILS bool "binutils" - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE depends on !BR2_nios2 depends on BR2_USE_WCHAR help diff --git a/package/binutils/Config.in.host b/package/binutils/Config.in.host index 99a4a9650b..95144c84c9 100644 --- a/package/binutils/Config.in.host +++ b/package/binutils/Config.in.host @@ -2,30 +2,30 @@ comment "Binutils Options" choice prompt "Binutils Version" + default BR2_BINUTILS_VERSION_2_28_X depends on !BR2_arc - default BR2_BINUTILS_VERSION_2_26_X help Select the version of binutils you wish to use. - config BR2_BINUTILS_VERSION_2_25_X - bool "binutils 2.25.1" - # supported but broken on Blackfin - depends on !BR2_bfin +config BR2_BINUTILS_VERSION_2_27_X + bool "binutils 2.27" + # binutils 2.27 triggers a bug in elf2flt on ARM/noMMU + depends on !(BR2_arm && !BR2_USE_MMU) - config BR2_BINUTILS_VERSION_2_26_X - bool "binutils 2.26.1" +config BR2_BINUTILS_VERSION_2_28_X + bool "binutils 2.28.1" - config BR2_BINUTILS_VERSION_2_27_X - bool "binutils 2.27" +config BR2_BINUTILS_VERSION_2_29_X + bool "binutils 2.29.1" endchoice config BR2_BINUTILS_VERSION string - default "arc-2016.09-release" if BR2_arc - default "2.25.1" if BR2_BINUTILS_VERSION_2_25_X - default "2.26.1" if BR2_BINUTILS_VERSION_2_26_X + default "arc-2017.09-release" if BR2_arc default "2.27" if BR2_BINUTILS_VERSION_2_27_X + default "2.28.1" if BR2_BINUTILS_VERSION_2_28_X + default "2.29.1" if BR2_BINUTILS_VERSION_2_29_X config BR2_BINUTILS_ENABLE_LTO bool diff --git a/package/binutils/arc-2016.09-release/0300-ld-makefile.patch b/package/binutils/arc-2016.09-release/0300-ld-makefile.patch deleted file mode 100644 index 73cc098024..0000000000 --- a/package/binutils/arc-2016.09-release/0300-ld-makefile.patch +++ /dev/null @@ -1,41 +0,0 @@ -From d76a7549b43974fe8564971a3f40459bc495a8a7 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Fri, 25 Dec 2015 11:40:53 +0100 -Subject: [PATCH] ld-makefile - -[Romain: rebase on top of 2.26] -Signed-off-by: Romain Naour ---- - ld/Makefile.am | 2 +- - ld/Makefile.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/ld/Makefile.am b/ld/Makefile.am -index 0b3b049..3871c74 100644 ---- a/ld/Makefile.am -+++ b/ld/Makefile.am -@@ -57,7 +57,7 @@ endif - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - - EMUL = @EMUL@ - EMULATION_OFILES = @EMULATION_OFILES@ -diff --git a/ld/Makefile.in b/ld/Makefile.in -index ed98f87..530e4c9 100644 ---- a/ld/Makefile.in -+++ b/ld/Makefile.in -@@ -413,7 +413,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - BASEDIR = $(srcdir)/.. - BFDDIR = $(BASEDIR)/bfd - INCDIR = $(BASEDIR)/include --- -2.4.3 - diff --git a/package/binutils/arc-2016.09-release/0301-check-ldrunpath-length.patch b/package/binutils/arc-2016.09-release/0301-check-ldrunpath-length.patch deleted file mode 100644 index 3b4c204c7f..0000000000 --- a/package/binutils/arc-2016.09-release/0301-check-ldrunpath-length.patch +++ /dev/null @@ -1,36 +0,0 @@ -From ebe1cba46df52d7bf86def3d681271fd05fb453b Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Fri, 25 Dec 2015 11:41:47 +0100 -Subject: [PATCH] check-ldrunpath-length - -[Romain: rebase on top of 2.26] -Signed-off-by: Romain Naour ---- - ld/emultempl/elf32.em | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em -index 0405d4f..efd3300 100644 ---- a/ld/emultempl/elf32.em -+++ b/ld/emultempl/elf32.em -@@ -1242,6 +1242,8 @@ fragment <link.next) - if (bfd_get_flavour (abfd) == bfd_target_elf_flavour) --- -2.4.3 - diff --git a/package/binutils/arc-2016.09-release/0500-add-sysroot-fix-from-bug-3049.patch b/package/binutils/arc-2016.09-release/0500-add-sysroot-fix-from-bug-3049.patch deleted file mode 100644 index f67a43efdf..0000000000 --- a/package/binutils/arc-2016.09-release/0500-add-sysroot-fix-from-bug-3049.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 30628870e583375f8927c04398c7219c6e9f703c Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Fri, 25 Dec 2015 11:42:48 +0100 -Subject: [PATCH] add sysroot fix from bug #3049 - -Always try to prepend the sysroot prefix to absolute filenames first. - -http://bugs.gentoo.org/275666 -http://sourceware.org/bugzilla/show_bug.cgi?id=10340 - -Signed-off-by: Sven Rebhan -[Romain: rebase on top of 2.26] -Signed-off-by: Romain Naour ---- - ld/ldfile.c | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -diff --git a/ld/ldfile.c b/ld/ldfile.c -index 96f9ecc..1439309 100644 ---- a/ld/ldfile.c -+++ b/ld/ldfile.c -@@ -335,18 +335,25 @@ ldfile_open_file_search (const char *arch, - directory first. */ - if (! entry->flags.maybe_archive) - { -- if (entry->flags.sysrooted && IS_ABSOLUTE_PATH (entry->filename)) -+ /* For absolute pathnames, try to always open the file in the -+ sysroot first. If this fails, try to open the file at the -+ given location. */ -+ entry->flags.sysrooted = is_sysrooted_pathname (entry->filename); -+ if (!entry->flags.sysrooted && IS_ABSOLUTE_PATH (entry->filename) -+ && ld_sysroot) - { - char *name = concat (ld_sysroot, entry->filename, - (const char *) NULL); - if (ldfile_try_open_bfd (name, entry)) - { - entry->filename = name; -+ entry->flags.sysrooted = TRUE; - return TRUE; - } - free (name); - } -- else if (ldfile_try_open_bfd (entry->filename, entry)) -+ -+ if (ldfile_try_open_bfd (entry->filename, entry)) - return TRUE; - - if (IS_ABSOLUTE_PATH (entry->filename)) --- -2.4.3 - diff --git a/package/binutils/arc-2016.09-release/0600-poison-system-directories.patch b/package/binutils/arc-2016.09-release/0600-poison-system-directories.patch deleted file mode 100644 index d16994ec0c..0000000000 --- a/package/binutils/arc-2016.09-release/0600-poison-system-directories.patch +++ /dev/null @@ -1,306 +0,0 @@ -From be366461dd49e760440fb28eaee5164eb281adcc Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Fri, 25 Dec 2015 11:45:38 +0100 -Subject: [PATCH] poison-system-directories - -Patch adapted to binutils 2.23.2 and extended to use -BR_COMPILER_PARANOID_UNSAFE_PATH by Thomas Petazzoni. - -[Romain: rebase on top of 2.26] -Signed-off-by: Romain Naour -[Gustavo: adapt to binutils 2.25] -Signed-off-by: Thomas Petazzoni -Signed-off-by: Gustavo Zacarias - -Upstream-Status: Inappropriate [distribution: codesourcery] - -Patch originally created by Mark Hatle, forward-ported to -binutils 2.21 by Scott Garman. - -purpose: warn for uses of system directories when cross linking - -Code Merged from Sourcery G++ binutils 2.19 - 4.4-277 - -2008-07-02 Joseph Myers - - ld/ - * ld.h (args_type): Add error_poison_system_directories. - * ld.texinfo (--error-poison-system-directories): Document. - * ldfile.c (ldfile_add_library_path): Check - command_line.error_poison_system_directories. - * ldmain.c (main): Initialize - command_line.error_poison_system_directories. - * lexsup.c (enum option_values): Add - OPTION_ERROR_POISON_SYSTEM_DIRECTORIES. - (ld_options): Add --error-poison-system-directories. - (parse_args): Handle new option. - -2007-06-13 Joseph Myers - - ld/ - * config.in: Regenerate. - * ld.h (args_type): Add poison_system_directories. - * ld.texinfo (--no-poison-system-directories): Document. - * ldfile.c (ldfile_add_library_path): Check - command_line.poison_system_directories. - * ldmain.c (main): Initialize - command_line.poison_system_directories. - * lexsup.c (enum option_values): Add - OPTION_NO_POISON_SYSTEM_DIRECTORIES. - (ld_options): Add --no-poison-system-directories. - (parse_args): Handle new option. - -2007-04-20 Joseph Myers - - Merge from Sourcery G++ binutils 2.17: - - 2007-03-20 Joseph Myers - Based on patch by Mark Hatle . - ld/ - * configure.ac (--enable-poison-system-directories): New option. - * configure, config.in: Regenerate. - * ldfile.c (ldfile_add_library_path): If - ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of /lib, - /usr/lib, /usr/local/lib or /usr/X11R6/lib. - -Signed-off-by: Mark Hatle -Signed-off-by: Scott Garman ---- - ld/config.in | 3 +++ - ld/configure | 14 ++++++++++++++ - ld/configure.ac | 10 ++++++++++ - ld/ld.h | 8 ++++++++ - ld/ld.texinfo | 12 ++++++++++++ - ld/ldfile.c | 17 +++++++++++++++++ - ld/ldlex.h | 2 ++ - ld/ldmain.c | 2 ++ - ld/lexsup.c | 21 +++++++++++++++++++++ - 9 files changed, 89 insertions(+) - -diff --git a/ld/config.in b/ld/config.in -index 276fb77..35c58eb 100644 ---- a/ld/config.in -+++ b/ld/config.in -@@ -14,6 +14,9 @@ - language is requested. */ - #undef ENABLE_NLS - -+/* Define to warn for use of native system library directories */ -+#undef ENABLE_POISON_SYSTEM_DIRECTORIES -+ - /* Additional extension a shared object might have. */ - #undef EXTRA_SHLIB_EXTENSION - -diff --git a/ld/configure b/ld/configure -index a446283..d1f9504 100755 ---- a/ld/configure -+++ b/ld/configure -@@ -786,6 +786,7 @@ with_lib_path - enable_targets - enable_64_bit_bfd - with_sysroot -+enable_poison_system_directories - enable_gold - enable_got - enable_compressed_debug_sections -@@ -1442,6 +1443,8 @@ Optional Features: - --disable-largefile omit support for large files - --enable-targets alternative target configurations - --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes) -+ --enable-poison-system-directories -+ warn for use of native system library directories - --enable-gold[=ARG] build gold [ARG={default,yes,no}] - --enable-got= GOT handling scheme (target, single, negative, - multigot) -@@ -15491,7 +15494,18 @@ else - fi - - -+# Check whether --enable-poison-system-directories was given. -+if test "${enable_poison_system_directories+set}" = set; then : -+ enableval=$enable_poison_system_directories; -+else -+ enable_poison_system_directories=no -+fi -+ -+if test "x${enable_poison_system_directories}" = "xyes"; then - -+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h -+ -+fi - - # Check whether --enable-got was given. - if test "${enable_got+set}" = set; then : -diff --git a/ld/configure.ac b/ld/configure.ac -index 188172d..2cd8443 100644 ---- a/ld/configure.ac -+++ b/ld/configure.ac -@@ -95,6 +95,16 @@ AC_SUBST(use_sysroot) - AC_SUBST(TARGET_SYSTEM_ROOT) - AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE) - -+AC_ARG_ENABLE([poison-system-directories], -+ AS_HELP_STRING([--enable-poison-system-directories], -+ [warn for use of native system library directories]),, -+ [enable_poison_system_directories=no]) -+if test "x${enable_poison_system_directories}" = "xyes"; then -+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES], -+ [1], -+ [Define to warn for use of native system library directories]) -+fi -+ - dnl Use --enable-gold to decide if this linker should be the default. - dnl "install_as_default" is set to false if gold is the default linker. - dnl "installed_linker" is the installed BFD linker name. -diff --git a/ld/ld.h b/ld/ld.h -index d84ec4e..3476b26 100644 ---- a/ld/ld.h -+++ b/ld/ld.h -@@ -164,6 +164,14 @@ typedef struct { - /* If set, display the target memory usage (per memory region). */ - bfd_boolean print_memory_usage; - -+ /* If TRUE (the default) warn for uses of system directories when -+ cross linking. */ -+ bfd_boolean poison_system_directories; -+ -+ /* If TRUE (default FALSE) give an error for uses of system -+ directories when cross linking instead of a warning. */ -+ bfd_boolean error_poison_system_directories; -+ - /* Big or little endian as set on command line. */ - enum endian_enum endian; - -diff --git a/ld/ld.texinfo b/ld/ld.texinfo -index 1dd7492..fb1438e 100644 ---- a/ld/ld.texinfo -+++ b/ld/ld.texinfo -@@ -2332,6 +2332,18 @@ string identifying the original linked file does not change. - - Passing @code{none} for @var{style} disables the setting from any - @code{--build-id} options earlier on the command line. -+ -+@kindex --no-poison-system-directories -+@item --no-poison-system-directories -+Do not warn for @option{-L} options using system directories such as -+@file{/usr/lib} when cross linking. This option is intended for use -+in chroot environments when such directories contain the correct -+libraries for the target system rather than the host. -+ -+@kindex --error-poison-system-directories -+@item --error-poison-system-directories -+Give an error instead of a warning for @option{-L} options using -+system directories when cross linking. - @end table - - @c man end -diff --git a/ld/ldfile.c b/ld/ldfile.c -index 1439309..086b354 100644 ---- a/ld/ldfile.c -+++ b/ld/ldfile.c -@@ -114,6 +114,23 @@ ldfile_add_library_path (const char *name, bfd_boolean cmdline) - new_dirs->name = concat (ld_sysroot, name + 1, (const char *) NULL); - else - new_dirs->name = xstrdup (name); -+ -+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES -+ if (command_line.poison_system_directories -+ && ((!strncmp (name, "/lib", 4)) -+ || (!strncmp (name, "/usr/lib", 8)) -+ || (!strncmp (name, "/usr/local/lib", 14)) -+ || (!strncmp (name, "/usr/X11R6/lib", 14)))) -+ { -+ if (command_line.error_poison_system_directories) -+ einfo (_("%X%P: error: library search path \"%s\" is unsafe for " -+ "cross-compilation\n"), name); -+ else -+ einfo (_("%P: warning: library search path \"%s\" is unsafe for " -+ "cross-compilation\n"), name); -+ } -+#endif -+ - } - - /* Try to open a BFD for a lang_input_statement. */ -diff --git a/ld/ldlex.h b/ld/ldlex.h -index 6f11e7b..0ca3110 100644 ---- a/ld/ldlex.h -+++ b/ld/ldlex.h -@@ -144,6 +144,8 @@ enum option_values - OPTION_PRINT_MEMORY_USAGE, - OPTION_REQUIRE_DEFINED_SYMBOL, - OPTION_ORPHAN_HANDLING, -+ OPTION_NO_POISON_SYSTEM_DIRECTORIES, -+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES, - }; - - /* The initial parser states. */ -diff --git a/ld/ldmain.c b/ld/ldmain.c -index bb0b9cc..a23c56c 100644 ---- a/ld/ldmain.c -+++ b/ld/ldmain.c -@@ -257,6 +257,8 @@ main (int argc, char **argv) - command_line.warn_mismatch = TRUE; - command_line.warn_search_mismatch = TRUE; - command_line.check_section_addresses = -1; -+ command_line.poison_system_directories = TRUE; -+ command_line.error_poison_system_directories = FALSE; - - /* We initialize DEMANGLING based on the environment variable - COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the -diff --git a/ld/lexsup.c b/ld/lexsup.c -index 4cad209..be7d584 100644 ---- a/ld/lexsup.c -+++ b/ld/lexsup.c -@@ -530,6 +530,14 @@ static const struct ld_option ld_options[] = - { {"orphan-handling", required_argument, NULL, OPTION_ORPHAN_HANDLING}, - '\0', N_("=MODE"), N_("Control how orphan sections are handled."), - TWO_DASHES }, -+ { {"no-poison-system-directories", no_argument, NULL, -+ OPTION_NO_POISON_SYSTEM_DIRECTORIES}, -+ '\0', NULL, N_("Do not warn for -L options using system directories"), -+ TWO_DASHES }, -+ { {"error-poison-system-directories", no_argument, NULL, -+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES}, -+ '\0', NULL, N_("Give an error for -L options using system directories"), -+ TWO_DASHES }, - }; - - #define OPTION_COUNT ARRAY_SIZE (ld_options) -@@ -542,6 +550,7 @@ parse_args (unsigned argc, char **argv) - int ingroup = 0; - char *default_dirlist = NULL; - char *shortopts; -+ char *BR_paranoid_env; - struct option *longopts; - struct option *really_longopts; - int last_optind; -@@ -1516,6 +1525,14 @@ parse_args (unsigned argc, char **argv) - } - break; - -+ case OPTION_NO_POISON_SYSTEM_DIRECTORIES: -+ command_line.poison_system_directories = FALSE; -+ break; -+ -+ case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES: -+ command_line.error_poison_system_directories = TRUE; -+ break; -+ - case OPTION_PUSH_STATE: - input_flags.pushed = xmemdup (&input_flags, - sizeof (input_flags), -@@ -1559,6 +1576,10 @@ parse_args (unsigned argc, char **argv) - command_line.soname = NULL; - } - -+ BR_paranoid_env = getenv("BR_COMPILER_PARANOID_UNSAFE_PATH"); -+ if (BR_paranoid_env && strlen(BR_paranoid_env) > 0) -+ command_line.error_poison_system_directories = TRUE; -+ - while (ingroup) - { - lang_leave_group (); --- -2.4.3 - diff --git a/package/binutils/arc-2017.09-release/0002-ld-makefile.patch b/package/binutils/arc-2017.09-release/0002-ld-makefile.patch new file mode 100644 index 0000000000..a7cd71e63c --- /dev/null +++ b/package/binutils/arc-2017.09-release/0002-ld-makefile.patch @@ -0,0 +1,41 @@ +From d4e18ebc6ad810167a2de84b185a5f0d65b9ec2d Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 25 Dec 2015 11:40:53 +0100 +Subject: [PATCH] ld-makefile + +[Romain: rebase on top of 2.26] +Signed-off-by: Romain Naour +--- + ld/Makefile.am | 2 +- + ld/Makefile.in | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/ld/Makefile.am b/ld/Makefile.am +index 625347f..d5334d2 100644 +--- a/ld/Makefile.am ++++ b/ld/Makefile.am +@@ -57,7 +57,7 @@ endif + # We put the scripts in the directory $(scriptdir)/ldscripts. + # We can't put the scripts in $(datadir) because the SEARCH_DIR + # directives need to be different for native and cross linkers. +-scriptdir = $(tooldir)/lib ++scriptdir = $(libdir) + + EMUL = @EMUL@ + EMULATION_OFILES = @EMULATION_OFILES@ +diff --git a/ld/Makefile.in b/ld/Makefile.in +index ba25177..a2cf228 100644 +--- a/ld/Makefile.in ++++ b/ld/Makefile.in +@@ -446,7 +446,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) + # We put the scripts in the directory $(scriptdir)/ldscripts. + # We can't put the scripts in $(datadir) because the SEARCH_DIR + # directives need to be different for native and cross linkers. +-scriptdir = $(tooldir)/lib ++scriptdir = $(libdir) + BASEDIR = $(srcdir)/.. + BFDDIR = $(BASEDIR)/bfd + INCDIR = $(BASEDIR)/include +-- +2.9.4 + diff --git a/package/binutils/arc-2017.09-release/0003-check-ldrunpath-length.patch b/package/binutils/arc-2017.09-release/0003-check-ldrunpath-length.patch new file mode 100644 index 0000000000..3fbc5031d1 --- /dev/null +++ b/package/binutils/arc-2017.09-release/0003-check-ldrunpath-length.patch @@ -0,0 +1,36 @@ +From 3bd211025c890ef2971958915d500a9bb2913a2a Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 25 Dec 2015 11:41:47 +0100 +Subject: [PATCH] check-ldrunpath-length + +[Romain: rebase on top of 2.26] +Signed-off-by: Romain Naour +--- + ld/emultempl/elf32.em | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em +index d2551b6..70fcb56 100644 +--- a/ld/emultempl/elf32.em ++++ b/ld/emultempl/elf32.em +@@ -1463,6 +1463,8 @@ fragment <link.next) + if (bfd_get_flavour (abfd) == bfd_target_elf_flavour) +-- +2.9.4 + diff --git a/package/binutils/arc-2017.09-release/0004-add-sysroot-fix-from-bug-3049.patch b/package/binutils/arc-2017.09-release/0004-add-sysroot-fix-from-bug-3049.patch new file mode 100644 index 0000000000..9e11840cee --- /dev/null +++ b/package/binutils/arc-2017.09-release/0004-add-sysroot-fix-from-bug-3049.patch @@ -0,0 +1,51 @@ +From 378bda0e19d279535b3f4a0e448a658a534a5d67 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 25 Dec 2015 11:42:48 +0100 +Subject: [PATCH] add sysroot fix from bug #3049 + +Always try to prepend the sysroot prefix to absolute filenames first. + +http://bugs.gentoo.org/275666 +http://sourceware.org/bugzilla/show_bug.cgi?id=10340 + +Signed-off-by: Sven Rebhan +[Romain: rebase on top of 2.26] +Signed-off-by: Romain Naour +--- + ld/ldfile.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/ld/ldfile.c b/ld/ldfile.c +index 3b37a0a..f7e5473 100644 +--- a/ld/ldfile.c ++++ b/ld/ldfile.c +@@ -338,18 +338,24 @@ ldfile_open_file_search (const char *arch, + directory first. */ + if (!entry->flags.maybe_archive) + { +- if (entry->flags.sysrooted && IS_ABSOLUTE_PATH (entry->filename)) ++ /* For absolute pathnames, try to always open the file in the ++ sysroot first. If this fails, try to open the file at the ++ given location. */ ++ entry->flags.sysrooted = is_sysrooted_pathname (entry->filename); ++ if (!entry->flags.sysrooted && IS_ABSOLUTE_PATH (entry->filename) ++ && ld_sysroot) + { + char *name = concat (ld_sysroot, entry->filename, + (const char *) NULL); + if (ldfile_try_open_bfd (name, entry)) + { + entry->filename = name; ++ entry->flags.sysrooted = TRUE; + return TRUE; + } + free (name); + } +- else if (ldfile_try_open_bfd (entry->filename, entry)) ++ if (ldfile_try_open_bfd (entry->filename, entry)) + return TRUE; + + if (IS_ABSOLUTE_PATH (entry->filename)) +-- +2.9.4 + diff --git a/package/binutils/arc-2017.09-release/0005-poison-system-directories.patch b/package/binutils/arc-2017.09-release/0005-poison-system-directories.patch new file mode 100644 index 0000000000..a7c2761a9d --- /dev/null +++ b/package/binutils/arc-2017.09-release/0005-poison-system-directories.patch @@ -0,0 +1,306 @@ +From b100e9d16bfe6725b2624902af457ecfa490b150 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 25 Dec 2015 11:45:38 +0100 +Subject: [PATCH] poison-system-directories + +Patch adapted to binutils 2.23.2 and extended to use +BR_COMPILER_PARANOID_UNSAFE_PATH by Thomas Petazzoni. + +[Romain: rebase on top of 2.26] +Signed-off-by: Romain Naour +[Gustavo: adapt to binutils 2.25] +Signed-off-by: Thomas Petazzoni +Signed-off-by: Gustavo Zacarias + +Upstream-Status: Inappropriate [distribution: codesourcery] + +Patch originally created by Mark Hatle, forward-ported to +binutils 2.21 by Scott Garman. + +purpose: warn for uses of system directories when cross linking + +Code Merged from Sourcery G++ binutils 2.19 - 4.4-277 + +2008-07-02 Joseph Myers + + ld/ + * ld.h (args_type): Add error_poison_system_directories. + * ld.texinfo (--error-poison-system-directories): Document. + * ldfile.c (ldfile_add_library_path): Check + command_line.error_poison_system_directories. + * ldmain.c (main): Initialize + command_line.error_poison_system_directories. + * lexsup.c (enum option_values): Add + OPTION_ERROR_POISON_SYSTEM_DIRECTORIES. + (ld_options): Add --error-poison-system-directories. + (parse_args): Handle new option. + +2007-06-13 Joseph Myers + + ld/ + * config.in: Regenerate. + * ld.h (args_type): Add poison_system_directories. + * ld.texinfo (--no-poison-system-directories): Document. + * ldfile.c (ldfile_add_library_path): Check + command_line.poison_system_directories. + * ldmain.c (main): Initialize + command_line.poison_system_directories. + * lexsup.c (enum option_values): Add + OPTION_NO_POISON_SYSTEM_DIRECTORIES. + (ld_options): Add --no-poison-system-directories. + (parse_args): Handle new option. + +2007-04-20 Joseph Myers + + Merge from Sourcery G++ binutils 2.17: + + 2007-03-20 Joseph Myers + Based on patch by Mark Hatle . + ld/ + * configure.ac (--enable-poison-system-directories): New option. + * configure, config.in: Regenerate. + * ldfile.c (ldfile_add_library_path): If + ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of /lib, + /usr/lib, /usr/local/lib or /usr/X11R6/lib. + +Signed-off-by: Mark Hatle +Signed-off-by: Scott Garman +--- + ld/config.in | 3 +++ + ld/configure | 14 ++++++++++++++ + ld/configure.ac | 10 ++++++++++ + ld/ld.h | 8 ++++++++ + ld/ld.texinfo | 12 ++++++++++++ + ld/ldfile.c | 17 +++++++++++++++++ + ld/ldlex.h | 2 ++ + ld/ldmain.c | 2 ++ + ld/lexsup.c | 21 +++++++++++++++++++++ + 9 files changed, 89 insertions(+) + +diff --git a/ld/config.in b/ld/config.in +index 5d91380..ffe84a7 100644 +--- a/ld/config.in ++++ b/ld/config.in +@@ -21,6 +21,9 @@ + language is requested. */ + #undef ENABLE_NLS + ++/* Define to warn for use of native system library directories */ ++#undef ENABLE_POISON_SYSTEM_DIRECTORIES ++ + /* Additional extension a shared object might have. */ + #undef EXTRA_SHLIB_EXTENSION + +diff --git a/ld/configure b/ld/configure +index da20ab5..63e3da7 100755 +--- a/ld/configure ++++ b/ld/configure +@@ -785,6 +785,7 @@ with_lib_path + enable_targets + enable_64_bit_bfd + with_sysroot ++enable_poison_system_directories + enable_gold + enable_got + enable_compressed_debug_sections +@@ -1443,6 +1444,8 @@ Optional Features: + --disable-largefile omit support for large files + --enable-targets alternative target configurations + --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes) ++ --enable-poison-system-directories ++ warn for use of native system library directories + --enable-gold[=ARG] build gold [ARG={default,yes,no}] + --enable-got= GOT handling scheme (target, single, negative, + multigot) +@@ -15497,7 +15500,18 @@ else + fi + + ++# Check whether --enable-poison-system-directories was given. ++if test "${enable_poison_system_directories+set}" = set; then : ++ enableval=$enable_poison_system_directories; ++else ++ enable_poison_system_directories=no ++fi ++ ++if test "x${enable_poison_system_directories}" = "xyes"; then + ++$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h ++ ++fi + + # Check whether --enable-got was given. + if test "${enable_got+set}" = set; then : +diff --git a/ld/configure.ac b/ld/configure.ac +index 34315e6..5ade9a0 100644 +--- a/ld/configure.ac ++++ b/ld/configure.ac +@@ -95,6 +95,16 @@ AC_SUBST(use_sysroot) + AC_SUBST(TARGET_SYSTEM_ROOT) + AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE) + ++AC_ARG_ENABLE([poison-system-directories], ++ AS_HELP_STRING([--enable-poison-system-directories], ++ [warn for use of native system library directories]),, ++ [enable_poison_system_directories=no]) ++if test "x${enable_poison_system_directories}" = "xyes"; then ++ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES], ++ [1], ++ [Define to warn for use of native system library directories]) ++fi ++ + dnl Use --enable-gold to decide if this linker should be the default. + dnl "install_as_default" is set to false if gold is the default linker. + dnl "installed_linker" is the installed BFD linker name. +diff --git a/ld/ld.h b/ld/ld.h +index 162e156..7d6d7ef 100644 +--- a/ld/ld.h ++++ b/ld/ld.h +@@ -177,6 +177,14 @@ typedef struct + in the linker script. */ + bfd_boolean force_group_allocation; + ++ /* If TRUE (the default) warn for uses of system directories when ++ cross linking. */ ++ bfd_boolean poison_system_directories; ++ ++ /* If TRUE (default FALSE) give an error for uses of system ++ directories when cross linking instead of a warning. */ ++ bfd_boolean error_poison_system_directories; ++ + /* Big or little endian as set on command line. */ + enum endian_enum endian; + +diff --git a/ld/ld.texinfo b/ld/ld.texinfo +index bb5f719..78501e4 100644 +--- a/ld/ld.texinfo ++++ b/ld/ld.texinfo +@@ -2480,6 +2480,18 @@ string identifying the original linked file does not change. + + Passing @code{none} for @var{style} disables the setting from any + @code{--build-id} options earlier on the command line. ++ ++@kindex --no-poison-system-directories ++@item --no-poison-system-directories ++Do not warn for @option{-L} options using system directories such as ++@file{/usr/lib} when cross linking. This option is intended for use ++in chroot environments when such directories contain the correct ++libraries for the target system rather than the host. ++ ++@kindex --error-poison-system-directories ++@item --error-poison-system-directories ++Give an error instead of a warning for @option{-L} options using ++system directories when cross linking. + @end table + + @c man end +diff --git a/ld/ldfile.c b/ld/ldfile.c +index f7e5473..2cd84d3 100644 +--- a/ld/ldfile.c ++++ b/ld/ldfile.c +@@ -116,6 +116,23 @@ ldfile_add_library_path (const char *name, bfd_boolean cmdline) + new_dirs->name = concat (ld_sysroot, name + strlen ("$SYSROOT"), (const char *) NULL); + else + new_dirs->name = xstrdup (name); ++ ++#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES ++ if (command_line.poison_system_directories ++ && ((!strncmp (name, "/lib", 4)) ++ || (!strncmp (name, "/usr/lib", 8)) ++ || (!strncmp (name, "/usr/local/lib", 14)) ++ || (!strncmp (name, "/usr/X11R6/lib", 14)))) ++ { ++ if (command_line.error_poison_system_directories) ++ einfo (_("%X%P: error: library search path \"%s\" is unsafe for " ++ "cross-compilation\n"), name); ++ else ++ einfo (_("%P: warning: library search path \"%s\" is unsafe for " ++ "cross-compilation\n"), name); ++ } ++#endif ++ + } + + /* Try to open a BFD for a lang_input_statement. */ +diff --git a/ld/ldlex.h b/ld/ldlex.h +index 5aa7f6b..cb655e0 100644 +--- a/ld/ldlex.h ++++ b/ld/ldlex.h +@@ -147,6 +147,8 @@ enum option_values + OPTION_REQUIRE_DEFINED_SYMBOL, + OPTION_ORPHAN_HANDLING, + OPTION_FORCE_GROUP_ALLOCATION, ++ OPTION_NO_POISON_SYSTEM_DIRECTORIES, ++ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES, + }; + + /* The initial parser states. */ +diff --git a/ld/ldmain.c b/ld/ldmain.c +index ee5ab11..5f6effd 100644 +--- a/ld/ldmain.c ++++ b/ld/ldmain.c +@@ -270,6 +270,8 @@ main (int argc, char **argv) + command_line.warn_mismatch = TRUE; + command_line.warn_search_mismatch = TRUE; + command_line.check_section_addresses = -1; ++ command_line.poison_system_directories = TRUE; ++ command_line.error_poison_system_directories = FALSE; + + /* We initialize DEMANGLING based on the environment variable + COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the +diff --git a/ld/lexsup.c b/ld/lexsup.c +index 08106bc..d619d50 100644 +--- a/ld/lexsup.c ++++ b/ld/lexsup.c +@@ -538,6 +538,14 @@ static const struct ld_option ld_options[] = + { {"orphan-handling", required_argument, NULL, OPTION_ORPHAN_HANDLING}, + '\0', N_("=MODE"), N_("Control how orphan sections are handled."), + TWO_DASHES }, ++ { {"no-poison-system-directories", no_argument, NULL, ++ OPTION_NO_POISON_SYSTEM_DIRECTORIES}, ++ '\0', NULL, N_("Do not warn for -L options using system directories"), ++ TWO_DASHES }, ++ { {"error-poison-system-directories", no_argument, NULL, ++ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES}, ++ '\0', NULL, N_("Give an error for -L options using system directories"), ++ TWO_DASHES }, + }; + + #define OPTION_COUNT ARRAY_SIZE (ld_options) +@@ -550,6 +558,7 @@ parse_args (unsigned argc, char **argv) + int ingroup = 0; + char *default_dirlist = NULL; + char *shortopts; ++ char *BR_paranoid_env; + struct option *longopts; + struct option *really_longopts; + int last_optind; +@@ -1534,6 +1543,14 @@ parse_args (unsigned argc, char **argv) + } + break; + ++ case OPTION_NO_POISON_SYSTEM_DIRECTORIES: ++ command_line.poison_system_directories = FALSE; ++ break; ++ ++ case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES: ++ command_line.error_poison_system_directories = TRUE; ++ break; ++ + case OPTION_PUSH_STATE: + input_flags.pushed = xmemdup (&input_flags, + sizeof (input_flags), +@@ -1577,6 +1594,10 @@ parse_args (unsigned argc, char **argv) + command_line.soname = NULL; + } + ++ BR_paranoid_env = getenv("BR_COMPILER_PARANOID_UNSAFE_PATH"); ++ if (BR_paranoid_env && strlen(BR_paranoid_env) > 0) ++ command_line.error_poison_system_directories = TRUE; ++ + while (ingroup) + { + lang_leave_group (); +-- +2.9.4 + diff --git a/package/binutils/binutils.hash b/package/binutils/binutils.hash index cf56b1ab59..a7d4cdd453 100644 --- a/package/binutils/binutils.hash +++ b/package/binutils/binutils.hash @@ -1,8 +1,7 @@ # From ftp://gcc.gnu.org/pub/binutils/releases/sha512.sum -sha512 5ec95ad47d49b12c4558a8db0ca2109d3ee1955e3776057f3330c4506f8f4d1cf5e505fbf8a16b98403a0fcdeaaf986fe0a22be6456247dbdace63ce1f776b12 binutils-2.24.tar.bz2 -sha512 0b36dda0e6d32cd25613c0e64b56b28312515c54d6a159efd3db9a86717f114ab0a0a1f69d08975084d55713ebaeab64e4085c9b3d1c3fa86712869f80eb954d binutils-2.25.1.tar.bz2 -sha512 9d9165609fd3b0f20d616f9891fc8e2b466eb13e2bfce40125e12427f8f201d20e2b8322bb6cb2b45e8df812f0e8ac059149f8a1f69ba3ed9d86a35c6a540b67 binutils-2.26.1.tar.bz2 sha512 cf276f84935312361a2ca077e04d0b469d23a3aed979d8ba5d92ea590904ffb2c2e7ed12cc842822bfc402836be86f479660cef3791aa62f3753d8a1a6f564cb binutils-2.27.tar.bz2 +sha512 dc5b6872ae01c07c12d38f3bb7ead06effc6da3265ac872e2d9c6104304f89f85f2645b029a43f308a7938a7299b1928d385205d0a2245674a621649032a138d binutils-2.28.1.tar.xz +sha512 d748d22306477d60d921078804d21943248c23fca0707aac9b016a352c01c75ca69e82624ae37fb0bbd03af3b17088a94f60dfe1a86a7ff82e18ece3c24f0fd0 binutils-2.29.1.tar.xz # Locally calculated (fetched from Github) -sha512 b94f43bd084aef1cbe75da947775c7d9ad1873fb27f7b0b99244813c97bb44cd7fd4c11855418d74b731aa889bff615694777f41f4cd68429d8136d9bac2a239 binutils-arc-2016.09-release.tar.gz +sha512 cefff7521dc4ebd8b9773af4f173821ad82dcb3f1fbd0bfdf03e148ba8cec1262b876b221da628ff5db16c30b18c6cbf5ffbec0fddb4677182524684c4c232c1 binutils-arc-2017.09-release.tar.gz diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk index d8ca5d6660..d2bf5b9755 100644 --- a/package/binutils/binutils.mk +++ b/package/binutils/binutils.mk @@ -9,9 +9,9 @@ BINUTILS_VERSION = $(call qstrip,$(BR2_BINUTILS_VERSION)) ifeq ($(BINUTILS_VERSION),) ifeq ($(BR2_arc),y) -BINUTILS_VERSION = arc-2016.09-release +BINUTILS_VERSION = arc-2017.09-release else -BINUTILS_VERSION = 2.25.1 +BINUTILS_VERSION = 2.28.1 endif endif # BINUTILS_VERSION @@ -21,11 +21,18 @@ BINUTILS_SOURCE = binutils-$(BINUTILS_VERSION).tar.gz BINUTILS_FROM_GIT = y endif BINUTILS_SITE ?= $(BR2_GNU_MIRROR)/binutils +ifeq ($(BINUTILS_VERSION),2.28.1) +BINUTILS_SOURCE ?= binutils-$(BINUTILS_VERSION).tar.xz +else ifeq ($(BINUTILS_VERSION),2.29.1) +BINUTILS_SOURCE ?= binutils-$(BINUTILS_VERSION).tar.xz +else BINUTILS_SOURCE ?= binutils-$(BINUTILS_VERSION).tar.bz2 +endif BINUTILS_EXTRA_CONFIG_OPTIONS = $(call qstrip,$(BR2_BINUTILS_EXTRA_CONFIG_OPTIONS)) BINUTILS_INSTALL_STAGING = YES -BINUTILS_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) -BINUTILS_LICENSE = GPLv3+, libiberty LGPLv2.1+ +BINUTILS_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) +BINUTILS_MAKE_OPTS = LIBS=$(TARGET_NLS_LIBS) +BINUTILS_LICENSE = GPL-3.0+, libiberty LGPL-2.1+ BINUTILS_LICENSE_FILES = COPYING3 COPYING.LIB ifeq ($(BINUTILS_FROM_GIT),y) @@ -64,10 +71,10 @@ HOST_BINUTILS_CONF_ENV += MAKEINFO=true HOST_BINUTILS_MAKE_OPTS += MAKEINFO=true HOST_BINUTILS_INSTALL_OPTS += MAKEINFO=true install -# gcc bug with Os/O2/O3, PR77311 +# gcc bug with Os/O1/O2/O3, PR77311 # error: unable to find a register to spill in class 'CCREGS' ifeq ($(BR2_bfin),y) -BINUTILS_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -O1" +BINUTILS_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -O0" endif # Workaround a build issue with -Os for ARM Cortex-M cpus. @@ -121,14 +128,14 @@ define BINUTILS_INSTALL_TARGET_CMDS endef endif -XTENSA_CORE_NAME = $(call qstrip, $(BR2_XTENSA_CORE_NAME)) -ifneq ($(XTENSA_CORE_NAME),) -define BINUTILS_XTENSA_PRE_PATCH - tar xf $(BR2_XTENSA_OVERLAY_DIR)/xtensa_$(XTENSA_CORE_NAME).tar \ - -C $(@D) --strip-components=1 binutils +ifneq ($(ARCH_XTENSA_OVERLAY_FILE),) +define BINUTILS_XTENSA_OVERLAY_EXTRACT + $(call arch-xtensa-overlay-extract,$(@D),binutils) endef -BINUTILS_PRE_PATCH_HOOKS += BINUTILS_XTENSA_PRE_PATCH -HOST_BINUTILS_PRE_PATCH_HOOKS += BINUTILS_XTENSA_PRE_PATCH +BINUTILS_POST_EXTRACT_HOOKS += BINUTILS_XTENSA_OVERLAY_EXTRACT +BINUTILS_EXTRA_DOWNLOADS += $(ARCH_XTENSA_OVERLAY_URL) +HOST_BINUTILS_POST_EXTRACT_HOOKS += BINUTILS_XTENSA_OVERLAY_EXTRACT +HOST_BINUTILS_EXTRA_DOWNLOADS += $(ARCH_XTENSA_OVERLAY_URL) endif ifeq ($(BR2_BINUTILS_ENABLE_LTO),y) diff --git a/package/biosdevname/Config.in b/package/biosdevname/Config.in index f9202ac4b8..704716791a 100644 --- a/package/biosdevname/Config.in +++ b/package/biosdevname/Config.in @@ -5,11 +5,11 @@ config BR2_PACKAGE_BIOSDEVNAME select BR2_PACKAGE_PCIUTILS select BR2_PACKAGE_ZLIB help - Biosdevname is a udev helper that looks at various BIOS tables to - figure out what the actual hardware names are for Ethernet ports - and renames the ports accordingly. This has the advantage of - always referring to the same port regardless of system or - hardware changes that might otherwise alter the typical ethX - naming. + Biosdevname is a udev helper that looks at various BIOS tables + to figure out what the actual hardware names are for Ethernet + ports and renames the ports accordingly. This has the + advantage of always referring to the same port regardless of + system or hardware changes that might otherwise alter the + typical ethX naming. http://linux.dell.com/biosdevname/ diff --git a/package/biosdevname/biosdevname.hash b/package/biosdevname/biosdevname.hash index a00077711e..57946ea085 100644 --- a/package/biosdevname/biosdevname.hash +++ b/package/biosdevname/biosdevname.hash @@ -1,3 +1,2 @@ # Locally computed hashes, not provided by upstream -sha1 a926961d6adb673aed062683ab8b80e6418523ea biosdevname-0.6.0.tar.gz -sha256 c75bf92d3184f7dd1973af002de152498145021efdd5de46d6bf796acef43914 biosdevname-0.6.0.tar.gz +sha256 954575f482ff5de2d49c335b563990859a3eb3506e8fa976f6915eba870d71f6 biosdevname-0.7.2.tar.gz diff --git a/package/biosdevname/biosdevname.mk b/package/biosdevname/biosdevname.mk index 82f3338a95..e0de8ef623 100644 --- a/package/biosdevname/biosdevname.mk +++ b/package/biosdevname/biosdevname.mk @@ -4,7 +4,7 @@ # ################################################################################ -BIOSDEVNAME_VERSION = 0.6.0 +BIOSDEVNAME_VERSION = 0.7.2 BIOSDEVNAME_SITE = http://linux.dell.com/biosdevname/biosdevname-$(BIOSDEVNAME_VERSION) BIOSDEVNAME_LICENSE = GPL BIOSDEVNAME_LICENSE_FILES = COPYING diff --git a/package/bison/bison.hash b/package/bison/bison.hash index 16913f28b0..2c3320852f 100644 --- a/package/bison/bison.hash +++ b/package/bison/bison.hash @@ -1,2 +1,4 @@ # Locally calculated after checking pgp signature sha256 a72428c7917bdf9fa93cb8181c971b6e22834125848cf1d03ce10b1bb0716fe1 bison-3.0.4.tar.xz +# License files, locally calculated +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/bison/bison.mk b/package/bison/bison.mk index 5779673e12..e4fc50410b 100644 --- a/package/bison/bison.mk +++ b/package/bison/bison.mk @@ -7,7 +7,7 @@ BISON_VERSION = 3.0.4 BISON_SOURCE = bison-$(BISON_VERSION).tar.xz BISON_SITE = $(BR2_GNU_MIRROR)/bison -BISON_LICENSE = GPLv3+ +BISON_LICENSE = GPL-3.0+ BISON_LICENSE_FILES = COPYING HOST_BISON_DEPENDENCIES = host-m4 diff --git a/package/bitstream/bitstream.hash b/package/bitstream/bitstream.hash index 7a3b7f8633..a62f733d86 100644 --- a/package/bitstream/bitstream.hash +++ b/package/bitstream/bitstream.hash @@ -1,4 +1,4 @@ -# from https://get.videolan.org/bitstream/1.1/bitstream-1.1.tar.bz2.md5 -md5 88e6e786242196b4d73a5b6075aeb1a2 bitstream-1.1.tar.bz2 -# locally calculated -sha256 90b65f619895d31e652386d5d7d2d2d62cccd44383c1fac9145d659013a2de9e bitstream-1.1.tar.bz2 +# From https://get.videolan.org/bitstream/1.2/bitstream-1.2.tar.bz2 +sha256 ccfbb438711606de1fad881b58c8f134e2d82b4d53a88ea48f2d1bcb49ca5ad2 bitstream-1.2.tar.bz2 +# From https://get.videolan.org/bitstream/1.2/bitstream-1.2.tar.bz2.md5 +md5 c4b2dbd84eb5799f1525eb9a4e01dc56 bitstream-1.2.tar.bz2 diff --git a/package/bitstream/bitstream.mk b/package/bitstream/bitstream.mk index 9c8c6f5ca2..0b28ffe756 100644 --- a/package/bitstream/bitstream.mk +++ b/package/bitstream/bitstream.mk @@ -4,7 +4,7 @@ # ################################################################################ -BITSTREAM_VERSION = 1.1 +BITSTREAM_VERSION = 1.2 BITSTREAM_SOURCE = bitstream-$(BITSTREAM_VERSION).tar.bz2 BITSTREAM_SITE = https://get.videolan.org/bitstream/$(BITSTREAM_VERSION) BITSTREAM_LICENSE = MIT diff --git a/package/blktrace/blktrace.mk b/package/blktrace/blktrace.mk index de583cf844..bc29c250b8 100644 --- a/package/blktrace/blktrace.mk +++ b/package/blktrace/blktrace.mk @@ -7,7 +7,7 @@ BLKTRACE_VERSION = 1.1.0 BLKTRACE_SITE = http://brick.kernel.dk/snaps BLKTRACE_DEPENDENCIES = libaio -BLKTRACE_LICENSE = GPLv2+ +BLKTRACE_LICENSE = GPL-2.0+ BLKTRACE_LICENSE_FILES = COPYING define BLKTRACE_BUILD_CMDS diff --git a/package/bluez-tools/Config.in b/package/bluez-tools/Config.in new file mode 100644 index 0000000000..5a1b7d0412 --- /dev/null +++ b/package/bluez-tools/Config.in @@ -0,0 +1,19 @@ +config BR2_PACKAGE_BLUEZ_TOOLS + bool "bluez-tools" + depends on BR2_PACKAGE_BLUEZ_UTILS || BR2_PACKAGE_BLUEZ5_UTILS + depends on BR2_USE_MMU # dbus, libglib2 + depends on BR2_USE_WCHAR # libglib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2 + select BR2_PACKAGE_DBUS + select BR2_PACKAGE_DBUS_GLIB + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_READLINE if BR2_PACKAGE_BLUEZ5_UTILS + help + A set of tools to manage bluetooth devices for linux + + https://github.com/khvzak/bluez-tools + +comment "bluez-tools needs a toolchain w/ wchar, threads" + depends on BR2_PACKAGE_BLUEZ_UTILS || BR2_PACKAGE_BLUEZ5_UTILS + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/bluez-tools/bluez-tools.hash b/package/bluez-tools/bluez-tools.hash new file mode 100644 index 0000000000..214fa5bdff --- /dev/null +++ b/package/bluez-tools/bluez-tools.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 56204ddd1cc7890d60f6a47507755f786fa3ee28f1da370a32ca7d7e0795a953 bluez-tools-171181b6ef6c94aefc828dc7fd8de136b9f97532.tar.gz +sha256 62ca98af63d2ae142dbc77995c6bd4c259eaba4a5832daa33ae9e3d585b9205f bluez-tools-97efd293491ad7ec96a655665339908f2478b3d1.tar.gz diff --git a/package/bluez-tools/bluez-tools.mk b/package/bluez-tools/bluez-tools.mk new file mode 100644 index 0000000000..49891bd2d1 --- /dev/null +++ b/package/bluez-tools/bluez-tools.mk @@ -0,0 +1,36 @@ +################################################################################ +# +# bluez-tools +# +################################################################################ + +ifeq ($(BR2_PACKAGE_BLUEZ_UTILS),y) +# this is the last version compatible with BlueZ 4 API +BLUEZ_TOOLS_VERSION = 171181b6ef6c94aefc828dc7fd8de136b9f97532 +else +BLUEZ_TOOLS_VERSION = 97efd293491ad7ec96a655665339908f2478b3d1 +endif +BLUEZ_TOOLS_SITE = $(call github,khvzak,bluez-tools,$(BLUEZ_TOOLS_VERSION)) + +# sources fetched from github, no configure script) +BLUEZ_TOOLS_AUTORECONF = YES +BLUEZ_TOOLS_DEPENDENCIES = host-pkgconf dbus dbus-glib +BLUEZ_TOOLS_LICENSE = GPL-2.0+ +BLUEZ_TOOLS_LICENSE_FILES = COPYING + +ifeq ($(BR2_PACKAGE_BLUEZ_UTILS),y) +BLUEZ_TOOLS_DEPENDENCIES += bluez_utils +# readline is an optional dependency when used with bluez_utils +# obex support depends on readline so enable it optionally +ifeq ($(BR2_PACKAGE_READLINE),y) +BLUEZ_TOOLS_CONF_OPTS += --enable-obex +BLUEZ_TOOLS_DEPENDENCIES += readline +else +BLUEZ_TOOLS_CONF_OPTS += --disable-obex +endif +else +# readline is a hard dependency when used with bluez5_utils +BLUEZ_TOOLS_DEPENDENCIES += bluez5_utils readline +endif + +$(eval $(autotools-package)) diff --git a/package/bluez5_utils/Config.in b/package/bluez5_utils/Config.in index a7c0ee4ba4..55831e9b61 100644 --- a/package/bluez5_utils/Config.in +++ b/package/bluez5_utils/Config.in @@ -29,8 +29,8 @@ if BR2_PACKAGE_BLUEZ5_UTILS config BR2_PACKAGE_BLUEZ5_UTILS_OBEX bool "build OBEX support" - select BR2_PACKAGE_LIBICAL depends on BR2_INSTALL_LIBSTDCPP + select BR2_PACKAGE_LIBICAL help Enable the OBEX support in Bluez 5.x. @@ -39,36 +39,51 @@ comment "OBEX support needs a toolchain w/ C++" config BR2_PACKAGE_BLUEZ5_UTILS_CLIENT bool "build CLI client" - # wordexp support not in our uClibc configuration - depends on !BR2_TOOLCHAIN_USES_UCLIBC select BR2_PACKAGE_READLINE help Enable the Bluez 5.x command line client. -comment "bluez5-utils client needs a glibc or musl toolchain" - depends on BR2_TOOLCHAIN_USES_UCLIBC - -config BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL - bool "install GATT tool" +config BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED + bool "install deprecated tool" depends on BR2_PACKAGE_BLUEZ5_UTILS_CLIENT help - Generic Attribute Profile (GATT) support. This provides - profile discovery and description services for Bluetooth Low - Energy. This will install the gatttool utility. - - It is always built with BlueZ 5.x, but upstream choose not - to install it by default. + Build BlueZ 5.x deprecated tools. These currently include: + hciattach, hciconfig, hcitool, hcidump, rfcomm, sdptool, + ciptool, gatttool. config BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL - bool "build experimental plugins" + bool "build experimental obexd plugin" help - Build BlueZ 5.x experimental plugins (SAP, NFC, ...). + Build BlueZ 5.x experimental Nokia OBEX PC Suite plugin + +config BR2_PACKAGE_BLUEZ5_PLUGINS_HEALTH + bool "build health plugin" + help + Build BlueZ 5.x health plugin + +config BR2_PACKAGE_BLUEZ5_PLUGINS_MIDI + bool "build midi profile" + select BR2_PACKAGE_ALSA_LIB + select BR2_PACKAGE_ALSA_LIB_SEQ + help + Build BlueZ 5.x midi plugin + +config BR2_PACKAGE_BLUEZ5_PLUGINS_NFC + bool "build nfc plugin" + help + Build BlueZ 5.x nfc plugin + +config BR2_PACKAGE_BLUEZ5_PLUGINS_SAP + bool "build sap plugin" + help + Build BlueZ 5.x sap plugin config BR2_PACKAGE_BLUEZ5_PLUGINS_SIXAXIS bool "build sixaxis plugin" depends on BR2_PACKAGE_HAS_UDEV help - Build BlueZ 5.x sixaxis plugin (support Sony Dualshock controller) + Build BlueZ 5.x sixaxis plugin (support Sony Dualshock + controller) comment "sixaxis plugin needs udev /dev management" depends on !BR2_PACKAGE_HAS_UDEV diff --git a/package/bluez5_utils/bluez5_utils.hash b/package/bluez5_utils/bluez5_utils.hash index b030f1a08a..36791c9e6f 100644 --- a/package/bluez5_utils/bluez5_utils.hash +++ b/package/bluez5_utils/bluez5_utils.hash @@ -1,2 +1,2 @@ # From https://www.kernel.org/pub/linux/bluetooth/sha256sums.asc: -sha256 16c9c05d2a1da644ce3570d975ada3643d2e60c007a955bac09c0a0efeb58d15 bluez-5.43.tar.xz +sha256 cf75bf7cd5d564f21cc4a2bd01d5c39ce425397335fd47d9bbe43af0a58342c8 bluez-5.47.tar.xz diff --git a/package/bluez5_utils/bluez5_utils.mk b/package/bluez5_utils/bluez5_utils.mk index 66c3eab1e9..57e9c264e1 100644 --- a/package/bluez5_utils/bluez5_utils.mk +++ b/package/bluez5_utils/bluez5_utils.mk @@ -4,17 +4,17 @@ # ################################################################################ -BLUEZ5_UTILS_VERSION = 5.43 +BLUEZ5_UTILS_VERSION = 5.47 BLUEZ5_UTILS_SOURCE = bluez-$(BLUEZ5_UTILS_VERSION).tar.xz BLUEZ5_UTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth BLUEZ5_UTILS_INSTALL_STAGING = YES BLUEZ5_UTILS_DEPENDENCIES = dbus libglib2 -BLUEZ5_UTILS_LICENSE = GPLv2+, LGPLv2.1+ +BLUEZ5_UTILS_LICENSE = GPL-2.0+, LGPL-2.1+ BLUEZ5_UTILS_LICENSE_FILES = COPYING COPYING.LIB -BLUEZ5_UTILS_CONF_OPTS = \ - --enable-tools \ - --enable-library \ +BLUEZ5_UTILS_CONF_OPTS = \ + --enable-tools \ + --enable-library \ --disable-cups ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_OBEX),y) @@ -38,6 +38,35 @@ else BLUEZ5_UTILS_CONF_OPTS += --disable-experimental endif +# enable health plugin +ifeq ($(BR2_PACKAGE_BLUEZ5_PLUGINS_HEALTH),y) +BLUEZ5_UTILS_CONF_OPTS += --enable-health +else +BLUEZ5_UTILS_CONF_OPTS += --disable-health +endif + +# enable midi profile +ifeq ($(BR2_PACKAGE_BLUEZ5_PLUGINS_MIDI),y) +BLUEZ5_UTILS_CONF_OPTS += --enable-midi +BLUEZ5_UTILS_DEPENDENCIES += alsa-lib +else +BLUEZ5_UTILS_CONF_OPTS += --disable-midi +endif + +# enable nfc plugin +ifeq ($(BR2_PACKAGE_BLUEZ5_PLUGINS_NFC),y) +BLUEZ5_UTILS_CONF_OPTS += --enable-nfc +else +BLUEZ5_UTILS_CONF_OPTS += --disable-nfc +endif + +# enable sap plugin +ifeq ($(BR2_PACKAGE_BLUEZ5_PLUGINS_SAP),y) +BLUEZ5_UTILS_CONF_OPTS += --enable-sap +else +BLUEZ5_UTILS_CONF_OPTS += --disable-sap +endif + # enable sixaxis plugin ifeq ($(BR2_PACKAGE_BLUEZ5_PLUGINS_SIXAXIS),y) BLUEZ5_UTILS_CONF_OPTS += --enable-sixaxis @@ -46,11 +75,18 @@ BLUEZ5_UTILS_CONF_OPTS += --disable-sixaxis endif # install gatttool (For some reason upstream choose not to do it by default) -ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL),y) +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED),y) define BLUEZ5_UTILS_INSTALL_GATTTOOL $(INSTALL) -D -m 0755 $(@D)/attrib/gatttool $(TARGET_DIR)/usr/bin/gatttool endef BLUEZ5_UTILS_POST_INSTALL_TARGET_HOOKS += BLUEZ5_UTILS_INSTALL_GATTTOOL +# hciattach_bcm43xx defines default firmware path in `/etc/firmware`, but +# Broadcom firmware blobs are usually located in `/lib/firmware`. +BLUEZ5_UTILS_CONF_ENV += \ + CPPFLAGS='$(TARGET_CPPFLAGS) -DFIRMWARE_DIR=\"/lib/firmware\"' +BLUEZ5_UTILS_CONF_OPTS += --enable-deprecated +else +BLUEZ5_UTILS_CONF_OPTS += --disable-deprecated endif # enable test diff --git a/package/bluez_utils/0004-test-add-missing-header.patch b/package/bluez_utils/0004-test-add-missing-header.patch new file mode 100644 index 0000000000..c74afb8304 --- /dev/null +++ b/package/bluez_utils/0004-test-add-missing-header.patch @@ -0,0 +1,34 @@ +From d3c098c2fde55ddf0c7d56eae56925103d35da73 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Sat, 13 May 2017 18:56:51 +0200 +Subject: [PATCH] test: add missing header + +test/attest.c: In function 'at_command': +test/attest.c:43:2: error: unknown type name 'fd_set' + fd_set rfds; + ^ + +Fixes: +http://autobuild.buildroot.net/results/06c/06c930d9c5299b79500d018ac3fb2861ce834c7c/ + +Signed-off-by: Romain Naour +--- + test/attest.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/test/attest.c b/test/attest.c +index 12ba682..2626cf1 100644 +--- a/test/attest.c ++++ b/test/attest.c +@@ -35,6 +35,8 @@ + #include + #include + ++#include ++ + #include + #include + +-- +2.9.3 + diff --git a/package/bluez_utils/0005-test-avoid-conflict-with-encrypt-function.patch b/package/bluez_utils/0005-test-avoid-conflict-with-encrypt-function.patch new file mode 100644 index 0000000000..438da97cb1 --- /dev/null +++ b/package/bluez_utils/0005-test-avoid-conflict-with-encrypt-function.patch @@ -0,0 +1,107 @@ +From d8056252d0c99bfb2482f0a420dcf9a36019ddf8 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Sat, 13 May 2017 18:58:51 +0200 +Subject: [PATCH] test: avoid conflict with encrypt function +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +With a musl based toolchain: + +test/l2test.c:110:12: error: ‘encrypt’ redeclared as different kind of symbol + static int encrypt = 0; + ^ +In file included from test/l2test.c:34:0: +[...]/sysroot/usr/include/unistd.h:145:6: note: previous declaration of ‘encrypt’ was here + void encrypt(char *, int); + ^ + +Signed-off-by: Romain Naour +--- + test/l2test.c | 8 ++++---- + test/rctest.c | 8 ++++---- + 2 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/test/l2test.c b/test/l2test.c +index f66486d..9ef6faf 100644 +--- a/test/l2test.c ++++ b/test/l2test.c +@@ -107,7 +107,7 @@ static char *filename = NULL; + static int rfcmode = 0; + static int master = 0; + static int auth = 0; +-static int encrypt = 0; ++static int _encrypt = 0; + static int secure = 0; + static int socktype = SOCK_SEQPACKET; + static int linger = 0; +@@ -340,7 +340,7 @@ static int do_connect(char *svr) + opt |= L2CAP_LM_MASTER; + if (auth) + opt |= L2CAP_LM_AUTH; +- if (encrypt) ++ if (_encrypt) + opt |= L2CAP_LM_ENCRYPT; + if (secure) + opt |= L2CAP_LM_SECURE; +@@ -475,7 +475,7 @@ static void do_listen(void (*handler)(int sk)) + opt |= L2CAP_LM_MASTER; + if (auth) + opt |= L2CAP_LM_AUTH; +- if (encrypt) ++ if (_encrypt) + opt |= L2CAP_LM_ENCRYPT; + if (secure) + opt |= L2CAP_LM_SECURE; +@@ -1407,7 +1407,7 @@ int main(int argc, char *argv[]) + break; + + case 'E': +- encrypt = 1; ++ _encrypt = 1; + break; + + case 'S': +diff --git a/test/rctest.c b/test/rctest.c +index 4d7c90a..7ad5a0b 100644 +--- a/test/rctest.c ++++ b/test/rctest.c +@@ -79,7 +79,7 @@ static char *filename = NULL; + + static int master = 0; + static int auth = 0; +-static int encrypt = 0; ++static int _encrypt = 0; + static int secure = 0; + static int socktype = SOCK_STREAM; + static int linger = 0; +@@ -200,7 +200,7 @@ static int do_connect(const char *svr) + opt |= RFCOMM_LM_MASTER; + if (auth) + opt |= RFCOMM_LM_AUTH; +- if (encrypt) ++ if (_encrypt) + opt |= RFCOMM_LM_ENCRYPT; + if (secure) + opt |= RFCOMM_LM_SECURE; +@@ -291,7 +291,7 @@ static void do_listen(void (*handler)(int sk)) + opt |= RFCOMM_LM_MASTER; + if (auth) + opt |= RFCOMM_LM_AUTH; +- if (encrypt) ++ if (_encrypt) + opt |= RFCOMM_LM_ENCRYPT; + if (secure) + opt |= RFCOMM_LM_SECURE; +@@ -701,7 +701,7 @@ int main(int argc, char *argv[]) + break; + + case 'E': +- encrypt = 1; ++ _encrypt = 1; + break; + + case 'S': +-- +2.9.3 + diff --git a/package/bluez_utils/Config.in b/package/bluez_utils/Config.in index 3848162697..327d26bce3 100644 --- a/package/bluez_utils/Config.in +++ b/package/bluez_utils/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_BLUEZ_UTILS depends on BR2_USE_WCHAR # libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, alsa-lib, libglib2 depends on BR2_USE_MMU # dbus, libglib2 + select BR2_PACKAGE_CHECK select BR2_PACKAGE_DBUS select BR2_PACKAGE_LIBGLIB2 help @@ -36,8 +37,9 @@ config BR2_PACKAGE_BLUEZ_UTILS_GATT bool "GATT support" select BR2_PACKAGE_READLINE help - Generic Attribute Profile (GATT) support. This provides profile - discovery and description services for Bluetooth Low Energy. + Generic Attribute Profile (GATT) support. This provides + profile discovery and description services for Bluetooth Low + Energy. This will install the gatttool utility. endif diff --git a/package/bluez_utils/bluez_utils.hash b/package/bluez_utils/bluez_utils.hash index 09b7b21d82..39e750eacc 100644 --- a/package/bluez_utils/bluez_utils.hash +++ b/package/bluez_utils/bluez_utils.hash @@ -1,2 +1,5 @@ # From https://www.kernel.org/pub/linux/bluetooth/sha256sums.asc: sha256 41f9578bef39b8c94a2d6ddeaa556afd22d136936d0f03100e422fe970a45a7d bluez-4.101.tar.xz +# License files, locally calculated +sha256 b499eddebda05a8859e32b820a64577d91f1de2b52efa2a1575a2cb4000bc259 COPYING +sha256 ec60b993835e2c6b79e6d9226345f4e614e686eb57dc13b6420c15a33a8996e5 COPYING.LIB diff --git a/package/bluez_utils/bluez_utils.mk b/package/bluez_utils/bluez_utils.mk index 1c93f2e5f5..256f012df9 100644 --- a/package/bluez_utils/bluez_utils.mk +++ b/package/bluez_utils/bluez_utils.mk @@ -8,32 +8,32 @@ BLUEZ_UTILS_VERSION = 4.101 BLUEZ_UTILS_SOURCE = bluez-$(BLUEZ_UTILS_VERSION).tar.xz BLUEZ_UTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth BLUEZ_UTILS_INSTALL_STAGING = YES -BLUEZ_UTILS_DEPENDENCIES = dbus libglib2 +BLUEZ_UTILS_DEPENDENCIES = host-pkgconf check dbus libglib2 BLUEZ_UTILS_CONF_OPTS = --enable-test --enable-tools BLUEZ_UTILS_AUTORECONF = YES -BLUEZ_UTILS_LICENSE = GPLv2+, LGPLv2.1+ +BLUEZ_UTILS_LICENSE = GPL-2.0+, LGPL-2.1+ BLUEZ_UTILS_LICENSE_FILES = COPYING COPYING.LIB # BlueZ 3.x compatibility ifeq ($(BR2_PACKAGE_BLUEZ_UTILS_COMPAT),y) -BLUEZ_UTILS_CONF_OPTS += \ - --enable-hidd \ - --enable-pand \ - --enable-sdp \ +BLUEZ_UTILS_CONF_OPTS += \ + --enable-hidd \ + --enable-pand \ + --enable-sdp \ --enable-dund endif # audio support ifeq ($(BR2_PACKAGE_BLUEZ_UTILS_AUDIO),y) -BLUEZ_UTILS_DEPENDENCIES += \ - alsa-lib \ +BLUEZ_UTILS_DEPENDENCIES += \ + alsa-lib \ libsndfile -BLUEZ_UTILS_CONF_OPTS += \ - --enable-alsa \ +BLUEZ_UTILS_CONF_OPTS += \ + --enable-alsa \ --enable-audio else -BLUEZ_UTILS_CONF_OPTS += \ - --disable-alsa \ +BLUEZ_UTILS_CONF_OPTS += \ + --disable-alsa \ --disable-audio endif @@ -47,10 +47,10 @@ endif # USB support ifeq ($(BR2_PACKAGE_BLUEZ_UTILS_USB),y) BLUEZ_UTILS_DEPENDENCIES += libusb -BLUEZ_UTILS_CONF_OPTS += \ +BLUEZ_UTILS_CONF_OPTS += \ --enable-usb else -BLUEZ_UTILS_CONF_OPTS += \ +BLUEZ_UTILS_CONF_OPTS += \ --disable-usb endif diff --git a/package/bmon/Config.in b/package/bmon/Config.in index bb796936cc..cb83cc28ac 100644 --- a/package/bmon/Config.in +++ b/package/bmon/Config.in @@ -5,8 +5,8 @@ config BR2_PACKAGE_BMON select BR2_PACKAGE_LIBNL select BR2_PACKAGE_NCURSES help - bmon is a bandwidth monitor capable of retrieving statistics from - various input modules. It provides various output methods + bmon is a bandwidth monitor capable of retrieving statistics + from various input modules. It provides various output methods including a curses based interface. https://github.com/tgraf/bmon/ diff --git a/package/bmon/bmon.mk b/package/bmon/bmon.mk index 32889a69f3..84dab703ed 100644 --- a/package/bmon/bmon.mk +++ b/package/bmon/bmon.mk @@ -8,7 +8,7 @@ BMON_VERSION = 4.0 BMON_SITE = https://github.com/tgraf/bmon/releases/download/v$(BMON_VERSION) BMON_DEPENDENCIES = host-pkgconf libconfuse libnl ncurses BMON_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' -BMON_LICENSE = BSD-2c, MIT +BMON_LICENSE = BSD-2-Clause, MIT BMON_LICENSE_FILES = LICENSE.BSD LICENSE.MIT # link dynamically unless explicitly requested otherwise diff --git a/package/boa/boa.mk b/package/boa/boa.mk index ab23d901cc..d8bcaa122b 100644 --- a/package/boa/boa.mk +++ b/package/boa/boa.mk @@ -6,7 +6,7 @@ BOA_VERSION = 0.94.14rc21 BOA_SITE = http://www.boa.org -BOA_LICENSE = GPLv2+ +BOA_LICENSE = GPL-2.0+ BOA_LICENSE_FILES = COPYING define BOA_INSTALL_TARGET_CMDS diff --git a/package/boinc/Config.in b/package/boinc/Config.in new file mode 100644 index 0000000000..5239019a57 --- /dev/null +++ b/package/boinc/Config.in @@ -0,0 +1,22 @@ +config BR2_PACKAGE_BOINC + bool "boinc" + depends on BR2_USE_MMU # fork() + depends on !BR2_STATIC_LIBS # dlfcn.h + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_INSTALL_LIBSTDCPP + select BR2_PACKAGE_LIBCURL + select BR2_PACKAGE_OPENSSL + help + Open-source software for volunteer computing and grid + computing. + + Use the idle time on your computer to cure diseases, study + global warming, discover pulsars, and do many other types of + scientific research. + + https://boinc.berkeley.edu + +comment "boinc needs a toolchain w/ dynamic library, C++, threads" + depends on BR2_USE_MMU + depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP \ + || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/boinc/S99boinc-client b/package/boinc/S99boinc-client new file mode 100644 index 0000000000..f4b2a2c715 --- /dev/null +++ b/package/boinc/S99boinc-client @@ -0,0 +1,37 @@ +#!/bin/sh + +NAME=boinc_client +PIDFILE=/var/run/$NAME.pid +DAEMON=/usr/bin/$NAME + +start() { + printf "Starting $NAME: " + start-stop-daemon -S -q -m -b -p $PIDFILE --exec $DAEMON + [ $? = 0 ] && echo "OK" || echo "FAIL" +} +stop() { + printf "Stopping $NAME: " + start-stop-daemon -K -q -p $PIDFILE + [ $? = 0 ] && echo "OK" || echo "FAIL" +} +restart() { + stop + start +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart|reload) + restart + ;; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac + +exit $? diff --git a/package/boinc/boinc-client.service b/package/boinc/boinc-client.service new file mode 100644 index 0000000000..9de940e938 --- /dev/null +++ b/package/boinc/boinc-client.service @@ -0,0 +1,10 @@ +[Unit] +Description=BOINC client +After=network.target + +[Service] +ExecStart=/usr/bin/boinc_client +Restart=always + +[Install] +WantedBy=multi-user.target diff --git a/package/boinc/boinc.hash b/package/boinc/boinc.hash new file mode 100644 index 0000000000..292c32750d --- /dev/null +++ b/package/boinc/boinc.hash @@ -0,0 +1,2 @@ +# Locally computed: +sha256 e3d5b190ec6cdc3512005469fab90203af110cd9a7880654c5d0b4d4e55f3c17 boinc-7.8.3.tar.gz diff --git a/package/boinc/boinc.mk b/package/boinc/boinc.mk new file mode 100644 index 0000000000..901f1ee986 --- /dev/null +++ b/package/boinc/boinc.mk @@ -0,0 +1,60 @@ +################################################################################ +# +# boinc +# +################################################################################ + +BOINC_VERSION_MAJOR = 7.8 +BOINC_VERSION = $(BOINC_VERSION_MAJOR).3 +# client_release can be used to build the Client and Manager but not the Server +# part. The Server currently has no versioning (see +# https://github.com/BOINC/boinc/pull/1798). +BOINC_SITE = \ + $(call github,BOINC,boinc,client_release/$(BOINC_VERSION_MAJOR)/$(BOINC_VERSION)) +BOINC_LICENSE = LGPL-3.0+ +BOINC_LICENSE_FILES = COPYING COPYING.LESSER +BOINC_DEPENDENCIES = host-pkgconf libcurl openssl +BOINC_AUTORECONF = YES +BOINC_CONF_OPTS = \ + --disable-apps \ + --disable-boinczip \ + --disable-manager \ + --disable-server \ + --enable-client \ + --enable-dynamic-client-linkage \ + --enable-libraries \ + --with-pkg-config=$(PKG_CONFIG_HOST_BINARY) \ + --with-libcurl=$(STAGING_DIR)/usr + +ifeq ($(BR2_PACKAGE_FREETYPE),y) +BOINC_DEPENDENCIES += freetype +endif + +ifeq ($(BR2_PACKAGE_LIBFCGI),y) +BOINC_DEPENDENCIES += libfcgi +BOINC_CONF_OPTS += --enable-fcgi +else +BOINC_CONF_OPTS += --disable-fcgi +endif + +# Remove boinc-client because it is incompatible with buildroot +define BOINC_REMOVE_UNNEEDED_FILE + $(RM) $(TARGET_DIR)/etc/init.d/boinc-client +endef + +BOINC_POST_INSTALL_TARGET_HOOKS += BOINC_REMOVE_UNNEEDED_FILE + +define BOINC_INSTALL_INIT_SYSV + $(INSTALL) -D -m 0755 package/boinc/S99boinc-client \ + $(TARGET_DIR)/etc/init.d/S99boinc-client +endef + +define BOINC_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/boinc/boinc-client.service \ + $(TARGET_DIR)/usr/lib/systemd/system/boinc-client.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf ../../../../usr/lib/systemd/system/boinc-client.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/boinc-client.service +endef + +$(eval $(autotools-package)) diff --git a/package/bonnie/bonnie.mk b/package/bonnie/bonnie.mk index 787d1804fa..e5c8640d39 100644 --- a/package/bonnie/bonnie.mk +++ b/package/bonnie/bonnie.mk @@ -7,7 +7,7 @@ BONNIE_VERSION = 1.03e BONNIE_SOURCE = bonnie++-$(BONNIE_VERSION).tgz BONNIE_SITE = http://www.coker.com.au/bonnie++ -BONNIE_LICENSE = GPLv2 +BONNIE_LICENSE = GPL-2.0 BONNIE_LICENSE_FILES = copyright.txt define BONNIE_INSTALL_TARGET_CMDS diff --git a/package/boost/0004-fix-getchar-with-uclibc-and-gcc-bug-58952.patch b/package/boost/0004-fix-getchar-with-uclibc-and-gcc-bug-58952.patch deleted file mode 100644 index 960f0ea2f9..0000000000 --- a/package/boost/0004-fix-getchar-with-uclibc-and-gcc-bug-58952.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 4f1c6784b37a11c78fe84bb238fb7cc377ce0d36 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B6rg=20Krause?= -Date: Wed, 30 Mar 2016 23:28:33 +0200 -Subject: [PATCH] Fix for uClibc and gcc <= 4.8.2 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -getchar() is defined as a macro in uClibc. This hits gcc bug 58952 [1] for all -gcc version <= 4.8.2 and building boost/test fails: - -./boost/test/impl/unit_test_main.ipp: In function 'int boost::unit_test::unit_test_main(boost::unit_test::init_unit_test_func, int, char**)': -./boost/test/impl/unit_test_main.ipp:194:18: error: expected unqualified-id before '(' token - -To allow building boost/test with uClibc based toolchains with gcc <= 4.8.2 use -parenthesis for std::getchar. - -[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58952 - -Upstream status: Pending -https://github.com/boostorg/test/pull/97 - -Signed-off-by: Jörg Krause ---- - include/boost/test/impl/unit_test_main.ipp | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/boost/test/impl/unit_test_main.ipp b/boost/test/impl/unit_test_main.ipp -index 1f30c02..db61930 100644 ---- a/boost/test/impl/unit_test_main.ipp -+++ b/boost/test/impl/unit_test_main.ipp -@@ -191,7 +191,9 @@ unit_test_main( init_unit_test_func init_func, int argc, char* argv[] ) - if( runtime_config::get( runtime_config::WAIT_FOR_DEBUGGER ) ) { - results_reporter::get_stream() << "Press any key to continue..." << std::endl; - -- std::getchar(); -+ // getchar is defined as a macro in uClibc. Use parenthesis to fix -+ // gcc bug 58952 for gcc <= 4.8.2. -+ (std::getchar)(); - results_reporter::get_stream() << "Continuing..." << std::endl; - } - --- -2.7.4 - diff --git a/package/boost/0004-workaround-musl-bug.patch b/package/boost/0004-workaround-musl-bug.patch new file mode 100644 index 0000000000..8613f2fec3 --- /dev/null +++ b/package/boost/0004-workaround-musl-bug.patch @@ -0,0 +1,26 @@ +From 0506e46640989e1f919388ad36890bd6063cd43a Mon Sep 17 00:00:00 2001 +From: Zach van Rijn +Date: Sat, 26 Aug 2017 01:32:56 -0400 +Subject: [PATCH] explicitly include for memset() + +[Thomas: taken from +https://github.com/boostorg/fiber/pull/142/commits/0506e46640989e1f919388ad36890bd6063cd43a. It +is not going to be applied upstream because the actual bug is in musl, +but it's a good enough workaround for now.] +Signed-off-by: Thomas Petazzoni +--- + libs/fiber/src/numa/linux/pin_thread.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libs/fiber/src/numa/linux/pin_thread.cpp b/libs/fiber/src/numa/linux/pin_thread.cpp +index ae696be3..e9b3c423 100644 +--- a/libs/fiber/src/numa/linux/pin_thread.cpp ++++ b/libs/fiber/src/numa/linux/pin_thread.cpp +@@ -9,6 +9,7 @@ + extern "C" { + #include + #include ++#include + } + + #include diff --git a/package/boost/Config.in b/package/boost/Config.in index 403bbf3100..8925982ba8 100644 --- a/package/boost/Config.in +++ b/package/boost/Config.in @@ -52,12 +52,18 @@ config BR2_PACKAGE_BOOST_LAYOUT config BR2_PACKAGE_BOOST_ATOMIC bool "boost-atomic" + help + C++11-style atomic<>. config BR2_PACKAGE_BOOST_CHRONO bool "boost-chrono" + help + Useful time utilities. C++11. config BR2_PACKAGE_BOOST_CONTAINER bool "boost-container" + help + Standard library containers and extensions. # see # http://www.boost.org/doc/libs/1_59_0/libs/context/doc/html/context/architectures.html @@ -67,38 +73,87 @@ config BR2_PACKAGE_BOOST_CONTEXT bool "boost-context" depends on ((BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM) || \ BR2_i386 || BR2_mips || BR2_mipsel || BR2_powerpc || BR2_x86_64 + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 + help + C++11 context switching library. config BR2_PACKAGE_BOOST_COROUTINE bool "boost-coroutine" depends on BR2_PACKAGE_BOOST_CONTEXT - -config BR2_PACKAGE_BOOST_COROUTINE2 - bool "boost-coroutine2" - depends on BR2_PACKAGE_BOOST_CONTEXT + help + deprecated coroutine library, the non-depricated coroutine2 + library is a header-only library and does not need to be + selected. config BR2_PACKAGE_BOOST_DATE_TIME bool "boost-date_time" + help + A set of date-time libraries based on generic programming + concepts. config BR2_PACKAGE_BOOST_EXCEPTION bool "boost-exception" + help + The Boost Exception library supports transporting of arbitrary + data in exception objects, and transporting of exceptions + between threads. + +config BR2_PACKAGE_BOOST_FIBER + bool "boost-fiber" + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL + # mips support uses the "pause" instruction, only available + # since mips32r2/mips64r2. + depends on !BR2_MIPS_CPU_MIPS32 && !BR2_MIPS_CPU_MIPS64 + help + C++11 userland threads library. + +comment "boost-fiber needs a toolchain w/ NPTL" + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL config BR2_PACKAGE_BOOST_FILESYSTEM bool "boost-filesystem" + help + The Boost Filesystem Library provides portable facilities to + query and manipulate paths, files, and directories. config BR2_PACKAGE_BOOST_GRAPH bool "boost-graph" + help + The BGL graph interface and graph components are generic, in + the same sense as the the Standard Template Library (STL). config BR2_PACKAGE_BOOST_GRAPH_PARALLEL bool "boost-graph_parallel" + help + The PBGL graph interface and graph components are generic, in + the same sense as the the Standard Template Library (STL). config BR2_PACKAGE_BOOST_IOSTREAMS bool "boost-iostreams" select BR2_PACKAGE_BZIP2 select BR2_PACKAGE_ZLIB + help + Boost.IOStreams provides a framework for defining streams, + stream buffers and i/o filters. config BR2_PACKAGE_BOOST_LOCALE bool "boost-locale" + # When boost-locale is enabled with icu support, Boost no + # longer supports building the libboost_* libraries as static + # libraries, causing build failures when other boost features + # than boost-locale are enabled. To work around this, we + # prevent using boost-locale on static linking configurations + # with icu enabled. See + # https://svn.boost.org/trac/boost/ticket/9685 for more + # details. + depends on !(BR2_STATIC_LIBS && BR2_PACKAGE_ICU) select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE + help + Provide localization and Unicode handling tools for C++. + +comment "boost-locale needs a toolchain w/ dynamic library" + depends on BR2_PACKAGE_ICU + depends on BR2_STATIC_LIBS config BR2_PACKAGE_BOOST_LOG bool "boost-log" @@ -106,6 +161,8 @@ config BR2_PACKAGE_BOOST_LOG # for some reason, uClibc on PowerPC fails to build the boost # log module depends on !(BR2_powerpc && BR2_TOOLCHAIN_USES_UCLIBC) + help + Logging library. comment "boost-log needs a toolchain w/ NPTL" depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL @@ -113,54 +170,126 @@ comment "boost-log needs a toolchain w/ NPTL" config BR2_PACKAGE_BOOST_MATH bool "boost-math" + help + Boost.Math includes several contributions in the domain of + mathematics: + + The Greatest Common Divisor and Least Common + Multiple library provides run-time and compile-time evaluation + of the greatest common divisor (GCD) or least common multiple + (LCM) of two integers. + + The Special Functions library currently provides eight + templated special functions, in namespace boost. + + The Complex Number Inverse Trigonometric Functions are the + inverses of trigonometric functions currently present in the + C++ standard. + + Quaternions are a relative of complex numbers often used to + parameterise rotations in three dimentional space. + + Octonions, like quaternions, are a relative of complex + numbers. config BR2_PACKAGE_BOOST_METAPARSE + bool "boost-metaparse" depends on BR2_USE_MMU # boost-test select BR2_PACKAGE_BOOST_TEST - bool "boost-metaparse" + help + A library for generating compile time parsers parsing embedded + DSL code as part of the C++ compilation process config BR2_PACKAGE_BOOST_MPI bool "boost-mpi" + help + Message Passing Interface library, for use in + distributed-memory parallel application programming. config BR2_PACKAGE_BOOST_PROGRAM_OPTIONS bool "boost-program_options" + help + The program_options library allows program developers to + obtain program options, that is (name, value) pairs from the + user, via conventional methods such as command line and config + file. config BR2_PACKAGE_BOOST_PYTHON - depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 bool "boost-python" + depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 + help + The Boost Python Library is a framework for interfacing Python + and C++. It allows you to quickly and seamlessly expose C++ + classes functions and objects to Python, and vice-versa, + using no special tools -- just your C++ compiler. config BR2_PACKAGE_BOOST_RANDOM bool "boost-random" + help + A complete system for random number generation. config BR2_PACKAGE_BOOST_REGEX bool "boost-regex" + help + A new infrastructure for generic algorithms that builds on top + of the new iterator concepts. config BR2_PACKAGE_BOOST_SERIALIZATION bool "boost-serialization" + help + Serialization for persistence and marshalling. config BR2_PACKAGE_BOOST_SIGNALS bool "boost-signals" + help + Managed signals & slots callback implementation. + +config BR2_PACKAGE_BOOST_STACKTRACE + bool "boost-stacktrace" + depends on !BR2_STATIC_LIBS + help + Gather, store, copy and print backtraces. + +comment "boost-stacktrace needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS config BR2_PACKAGE_BOOST_SYSTEM bool "boost-system" + help + Operating system support, including the diagnostics support + that will be part of the C++0x standard library. config BR2_PACKAGE_BOOST_TEST bool "boost-test" depends on BR2_USE_MMU # fork() + help + Support for simple program testing, full unit testing, and for + program execution monitoring. config BR2_PACKAGE_BOOST_THREAD bool "boost-thread" + help + Portable C++ multi-threading. C++11, C++14. config BR2_PACKAGE_BOOST_TIMER bool "boost-timer" + help + Event timer, progress timer, and progress display classes. config BR2_PACKAGE_BOOST_TYPE_ERASURE bool "boost-type_erasure" + help + Runtime polymorphism based on concepts. config BR2_PACKAGE_BOOST_WAVE bool "boost-wave" # limitation of assembler for coldfire # error: Tried to convert PC relative branch to absolute jump depends on !BR2_m68k_cf + help + The Boost.Wave library is a Standards conformant, and highly + configurable implementation of the mandated C99/C++ + preprocessor functionality packed behind an easy to use + iterator interface. endif diff --git a/package/boost/boost.hash b/package/boost/boost.hash index c4af22e57f..6e40c0d3b4 100644 --- a/package/boost/boost.hash +++ b/package/boost/boost.hash @@ -1,3 +1,5 @@ -# From http://sourceforge.net/projects/boost/files/boost/1.61.0/ -md5 6095876341956f65f9d35939ccea1a9f boost_1_61_0.tar.bz2 -sha1 f84b1a1ce764108ec3c2b7bd7704cf8dfd3c9d01 boost_1_61_0.tar.bz2 +# From http://www.boost.org/users/history/version_1_65_1.html +sha256 9807a5d16566c57fd74fb522764e0b134a8bbe6b6e8967b83afefd30dcd3be81 boost_1_65_1.tar.bz2 + +# Locally computed +sha256 c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566 LICENSE_1_0.txt diff --git a/package/boost/boost.mk b/package/boost/boost.mk index bb8d799c48..864a07f789 100644 --- a/package/boost/boost.mk +++ b/package/boost/boost.mk @@ -4,19 +4,19 @@ # ################################################################################ -BOOST_VERSION = 1.61.0 +BOOST_VERSION = 1.65.1 BOOST_SOURCE = boost_$(subst .,_,$(BOOST_VERSION)).tar.bz2 BOOST_SITE = http://downloads.sourceforge.net/project/boost/boost/$(BOOST_VERSION) BOOST_INSTALL_STAGING = YES -BOOST_LICENSE = Boost Software License 1.0 +BOOST_LICENSE = BSL-1.0 BOOST_LICENSE_FILES = LICENSE_1_0.txt # keep host variant as minimal as possible -HOST_BOOST_FLAGS = --without-icu \ +HOST_BOOST_FLAGS = --without-icu --with-toolset=gcc \ --without-libraries=$(subst $(space),$(comma),atomic chrono context \ - coroutine coroutine2 date_time exception filesystem graph \ - graph_parallel iostreams locale log math mpi program_options python \ - random regex serialization signals system test thread timer type_erasure \ + coroutine date_time exception filesystem graph graph_parallel iostreams \ + locale log math mpi program_options python random regex serialization \ + signals system test thread timer type_erasure \ wave) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_ATOMIC),,atomic) @@ -24,9 +24,9 @@ BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CHRONO),,chrono) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CONTAINER),,container) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CONTEXT),,context) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_COROUTINE),,coroutine) -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_COROUTINE2),,coroutine2) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_DATE_TIME),,date_time) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_EXCEPTION),,exception) +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_FIBER),,fiber) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_FILESYSTEM),,filesystem) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_GRAPH),,graph) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_GRAPH_PARALLEL),,graph_parallel) @@ -42,6 +42,7 @@ BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_RANDOM),,random) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_REGEX),,regex) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_SERIALIZATION),,serialization) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_SIGNALS),,signals) +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_STACKTRACE),,stacktrace) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_SYSTEM),,system) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_TEST),,test) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_THREAD),,thread) @@ -51,6 +52,8 @@ BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_WAVE),,wave) BOOST_TARGET_CXXFLAGS = $(TARGET_CXXFLAGS) +BOOST_FLAGS = --with-toolset=gcc + ifeq ($(BR2_PACKAGE_ICU),y) BOOST_FLAGS += --with-icu=$(STAGING_DIR)/usr BOOST_DEPENDENCIES += icu @@ -65,11 +68,11 @@ endif ifeq ($(BR2_PACKAGE_BOOST_PYTHON),y) BOOST_FLAGS += --with-python-root=$(HOST_DIR) ifeq ($(BR2_PACKAGE_PYTHON3),y) -BOOST_FLAGS += --with-python=$(HOST_DIR)/usr/bin/python$(PYTHON3_VERSION_MAJOR) +BOOST_FLAGS += --with-python=$(HOST_DIR)/bin/python$(PYTHON3_VERSION_MAJOR) BOOST_TARGET_CXXFLAGS += -I$(STAGING_DIR)/usr/include/python$(PYTHON3_VERSION_MAJOR)m BOOST_DEPENDENCIES += python3 else -BOOST_FLAGS += --with-python=$(HOST_DIR)/usr/bin/python$(PYTHON_VERSION_MAJOR) +BOOST_FLAGS += --with-python=$(HOST_DIR)/bin/python$(PYTHON_VERSION_MAJOR) BOOST_TARGET_CXXFLAGS += -I$(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR) BOOST_DEPENDENCIES += python endif @@ -167,14 +170,14 @@ define HOST_BOOST_BUILD_CMDS --user-config=$(@D)/user-config.jam \ $(HOST_BOOST_OPTS) \ --ignore-site-config \ - --prefix=$(HOST_DIR)/usr ) + --prefix=$(HOST_DIR) ) endef define HOST_BOOST_INSTALL_CMDS (cd $(@D) && ./b2 -j$(PARALLEL_JOBS) -q \ --user-config=$(@D)/user-config.jam \ $(HOST_BOOST_OPTS) \ - --prefix=$(HOST_DIR)/usr \ + --prefix=$(HOST_DIR) \ --ignore-site-config \ --layout=$(BOOST_LAYOUT) install ) endef diff --git a/package/bootstrap/bootstrap.hash b/package/bootstrap/bootstrap.hash index acb06b4246..abc09da213 100644 --- a/package/bootstrap/bootstrap.hash +++ b/package/bootstrap/bootstrap.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 95ca4a02aff37570660c81a87065b53ebc281c33fa86b91a6a7a650eee10678f bootstrap-3.3.1-dist.zip +sha256 f498a8ff2dd007e29c2074f5e4b01a9a01775c3ff3aeaf6906ea503bc5791b7b bootstrap-3.3.7-dist.zip diff --git a/package/bootstrap/bootstrap.mk b/package/bootstrap/bootstrap.mk index 17752ce068..33161f53ae 100644 --- a/package/bootstrap/bootstrap.mk +++ b/package/bootstrap/bootstrap.mk @@ -4,23 +4,25 @@ # ################################################################################ -BOOTSTRAP_VERSION = 3.3.1 +BOOTSTRAP_VERSION = 3.3.7 BOOTSTRAP_SITE = https://github.com/twbs/bootstrap/releases/download/v$(BOOTSTRAP_VERSION) BOOTSTRAP_SOURCE = bootstrap-$(BOOTSTRAP_VERSION)-dist.zip BOOTSTRAP_LICENSE = MIT define BOOTSTRAP_EXTRACT_CMDS $(UNZIP) $(DL_DIR)/$(BOOTSTRAP_SOURCE) -d $(@D) + mv $(@D)/bootstrap-$(BOOTSTRAP_VERSION)-dist/* $(@D)/ + rmdir $(@D)/bootstrap-$(BOOTSTRAP_VERSION)-dist endef define BOOTSTRAP_INSTALL_TARGET_CMDS - $(INSTALL) -m 0644 -D $(@D)/dist/css/bootstrap-theme.min.css \ + $(INSTALL) -m 0644 -D $(@D)/css/bootstrap-theme.min.css \ $(TARGET_DIR)/var/www/bootstrap/css/bootstrap-theme.min.css - $(INSTALL) -m 0644 -D $(@D)/dist/css/bootstrap.min.css \ + $(INSTALL) -m 0644 -D $(@D)/css/bootstrap.min.css \ $(TARGET_DIR)/var/www/bootstrap/css/bootstrap.min.css - $(INSTALL) -m 0644 -D $(@D)/dist/js/bootstrap.min.js \ + $(INSTALL) -m 0644 -D $(@D)/js/bootstrap.min.js \ $(TARGET_DIR)/var/www/bootstrap/js/bootstrap.min.js - cp -r $(@D)/dist/fonts $(TARGET_DIR)/var/www/bootstrap/ + cp -r $(@D)/fonts $(TARGET_DIR)/var/www/bootstrap/ endef $(eval $(generic-package)) diff --git a/package/bootutils/Config.in b/package/bootutils/Config.in index af4a170ca3..30d647ab11 100644 --- a/package/bootutils/Config.in +++ b/package/bootutils/Config.in @@ -2,9 +2,9 @@ config BR2_PACKAGE_BOOTUTILS bool "bootutils" depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS help - BootUtils is a collection of utilities to facilitate booting of - Linux 2.6-based systems. The process of finding the root volume - either by label or explicit label= on the kernel command line, - mounting it, and 'switchroot'ing is automated. + BootUtils is a collection of utilities to facilitate booting + of Linux 2.6-based systems. The process of finding the root + volume either by label or explicit label= on the kernel + command line, mounting it, and 'switchroot'ing is automated. http://bootutils.sourceforge.net/ diff --git a/package/bootutils/bootutils.mk b/package/bootutils/bootutils.mk index eb3cb4f4b4..bc4b3e8438 100644 --- a/package/bootutils/bootutils.mk +++ b/package/bootutils/bootutils.mk @@ -7,7 +7,7 @@ BOOTUTILS_VERSION = 1.0.0 BOOTUTILS_SITE = http://downloads.sourceforge.net/project/bootutils/Stable/v$(BOOTUTILS_VERSION) BOOTUTILS_CONF_OPTS = --prefix=/ --exec-prefix=/ -BOOTUTILS_LICENSE = GPLv2+ +BOOTUTILS_LICENSE = GPL-2.0+ BOOTUTILS_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/botan/botan.hash b/package/botan/botan.hash index 3da5f690ce..3d46a13584 100644 --- a/package/botan/botan.hash +++ b/package/botan/botan.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 23ec973d4b4a4fe04f490d409e08ac5638afe3aa09acd7f520daaff38ba19b90 Botan-1.10.13.tgz +sha256 6c5472401d06527e87adcb53dd270f3c9b1fb688703b04dd7a7cfb86289efe52 Botan-1.10.16.tgz diff --git a/package/botan/botan.mk b/package/botan/botan.mk index 94f1edd2c8..e42bb61cbe 100644 --- a/package/botan/botan.mk +++ b/package/botan/botan.mk @@ -4,10 +4,10 @@ # ################################################################################ -BOTAN_VERSION = 1.10.13 +BOTAN_VERSION = 1.10.16 BOTAN_SOURCE = Botan-$(BOTAN_VERSION).tgz BOTAN_SITE = http://botan.randombit.net/releases -BOTAN_LICENSE = BSD-2c +BOTAN_LICENSE = BSD-2-Clause BOTAN_LICENSE_FILES = doc/license.txt BOTAN_INSTALL_STAGING = YES @@ -43,6 +43,12 @@ BOTAN_DEPENDENCIES += zlib BOTAN_CONF_OPTS += --with-zlib endif +ifeq ($(BR2_POWERPC_CPU_HAS_ALTIVEC),y) +BOTAN_CONF_OPTS += --enable-altivec +else +BOTAN_CONF_OPTS += --disable-altivec +endif + define BOTAN_CONFIGURE_CMDS (cd $(@D); $(TARGET_MAKE_ENV) ./configure.py $(BOTAN_CONF_OPTS)) endef diff --git a/package/bridge-utils/Config.in b/package/bridge-utils/Config.in index fb9c7df427..bc614b0758 100644 --- a/package/bridge-utils/Config.in +++ b/package/bridge-utils/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_BRIDGE_UTILS bool "bridge-utils" help - Manage ethernet bridging; a way to connect networks together to - form a larger network. + Manage ethernet bridging; a way to connect networks together + to form a larger network. https://git.kernel.org/cgit/linux/kernel/git/shemminger/bridge-utils.git/ diff --git a/package/bridge-utils/bridge-utils.mk b/package/bridge-utils/bridge-utils.mk index efe57cd979..2519227471 100644 --- a/package/bridge-utils/bridge-utils.mk +++ b/package/bridge-utils/bridge-utils.mk @@ -8,8 +8,11 @@ BRIDGE_UTILS_VERSION = 1.6 BRIDGE_UTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/net/bridge-utils BRIDGE_UTILS_SOURCE = bridge-utils-1.6.tar.xz BRIDGE_UTILS_AUTORECONF = YES -BRIDGE_UTILS_CONF_OPTS = --with-linux-headers=$(LINUX_HEADERS_DIR) -BRIDGE_UTILS_LICENSE = GPLv2+ +BRIDGE_UTILS_LICENSE = GPL-2.0+ BRIDGE_UTILS_LICENSE_FILES = COPYING +# Avoid using the host's headers. Location is not important as +# required headers will anyway be found from within the sysroot. +BRIDGE_UTILS_CONF_OPTS = --with-linux-headers=$(STAGING_DIR)/usr/include + $(eval $(autotools-package)) diff --git a/package/bsdiff/bsdiff.mk b/package/bsdiff/bsdiff.mk index eb903e053f..9030284a0a 100644 --- a/package/bsdiff/bsdiff.mk +++ b/package/bsdiff/bsdiff.mk @@ -7,7 +7,7 @@ BSDIFF_VERSION = 4.3 BSDIFF_SITE = http://www.daemonology.net/bsdiff BSDIFF_DEPENDENCIES = bzip2 -BSDIFF_LICENSE = BSD-2c +BSDIFF_LICENSE = BSD-2-Clause BSDIFF_LICENSE_FILES = bsdiff.c define BSDIFF_BUILD_CMDS diff --git a/package/btrfs-progs/0001-Makefile-install-static-library-and-headers-in-insta.patch b/package/btrfs-progs/0001-Makefile-install-static-library-and-headers-in-insta.patch new file mode 100644 index 0000000000..ba65ac4185 --- /dev/null +++ b/package/btrfs-progs/0001-Makefile-install-static-library-and-headers-in-insta.patch @@ -0,0 +1,49 @@ +From ff93866eb119cedb791894814780c0e44db35715 Mon Sep 17 00:00:00 2001 +From: Vicente Olivert Riera +Date: Fri, 10 Mar 2017 14:56:17 +0000 +Subject: [PATCH] Makefile: install static library and headers in + install-static + +Currently, the install-static target only installs the statically +compiled tools. However, some programs outside of btrfs-progs (for +example docker) link with the btrfs libraries. If such programs want to +link statically against the btrfs-progs library, then this library +should be installed by "install-static". Indeed, "make install" cannot +be used if the support for shared library is not enabled. + +Signed-off-by: Thomas Petazzoni +[Gustavo: Rebase for btrfs-progs 4.7.2] +Signed-off-by: Gustavo Zacarias +[Vincent: Rebase for btrfs-progs 4.10] +Signed-off-by: Vicente Olivert Riera +--- + Makefile | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 67fbc48..d9e34be 100644 +--- a/Makefile ++++ b/Makefile +@@ -308,7 +308,7 @@ test: test-fsck test-mkfs test-convert test-misc test-fuzz test-cli + # NOTE: For static compiles, you need to have all the required libs + # static equivalent available + # +-static: $(progs_static) ++static: $(progs_static) $(libs_static) + + version.h: version.sh version.h.in configure.ac + @echo " [SH] $@" +@@ -537,6 +537,10 @@ install-static: $(progs_static) $(INSTALLDIRS) + $(INSTALL) $(progs_static) $(DESTDIR)$(bindir) + # btrfsck is a link to btrfs in the src tree, make it so for installed file as well + $(LN_S) -f btrfs.static $(DESTDIR)$(bindir)/btrfsck.static ++ $(INSTALL) -m755 -d $(DESTDIR)$(libdir) ++ $(INSTALL) $(libs_static) $(DESTDIR)$(libdir) ++ $(INSTALL) -m755 -d $(DESTDIR)$(incdir) ++ $(INSTALL) -m644 $(headers) $(DESTDIR)$(incdir) + + $(INSTALLDIRS): + @echo "Making install in $(patsubst install-%,%,$@)" +-- +2.10.2 + diff --git a/package/btrfs-progs/0001-Makefile.in-install-static-library-and-headers-in-in.patch b/package/btrfs-progs/0001-Makefile.in-install-static-library-and-headers-in-in.patch deleted file mode 100644 index d861dfc80a..0000000000 --- a/package/btrfs-progs/0001-Makefile.in-install-static-library-and-headers-in-in.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 2c2c2d992c3b298793983317588f73cf41675652 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 27 Jul 2016 22:49:58 +0200 -Subject: [PATCH] Makefile.in: install static library and headers in - install-static - -Currently, the install-static target only installs the statically -compiled tools. However, some programs outside of btrfs-progs (for -example docker) link with the btrfs libraries. If such programs want -to link statically against the btrfs-progs library, then this library -should be installed by "install-static". Indeed, "make install" cannot -be used if the support for shared library is not enabled. - -Signed-off-by: Thomas Petazzoni -[Gustavo: Rebase for btrfs-progs 4.7.2] -Signed-off-by: Gustavo Zacarias ---- - Makefile.in | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/Makefile.in b/Makefile.in -index 19697ff..5870a58 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -219,7 +219,7 @@ test: test-fsck test-mkfs test-convert test-misc test-fuzz - # NOTE: For static compiles, you need to have all the required libs - # static equivalent available - # --static: $(progs_static) -+static: $(progs_static) $(libs_static) - - version.h: version.sh version.h.in configure.ac - @echo " [SH] $@" -@@ -384,6 +384,10 @@ install-static: $(progs_static) $(INSTALLDIRS) - done - # btrfsck is a link to btrfs in the src tree, make it so for installed file as well - $(LN_S) -f btrfs.static $(DESTDIR)$(bindir)/btrfsck.static -+ $(INSTALL) -m755 -d $(DESTDIR)$(libdir) -+ $(INSTALL) $(libs_static) $(DESTDIR)$(libdir) -+ $(INSTALL) -m755 -d $(DESTDIR)$(incdir) -+ $(INSTALL) -m644 $(headers) $(DESTDIR)$(incdir) - - $(INSTALLDIRS): - @echo "Making install in $(patsubst install-%,%,$@)" --- -2.7.3 - diff --git a/package/btrfs-progs/0003-btrfs-progs-convert-add-missing-types-header.patch b/package/btrfs-progs/0003-btrfs-progs-convert-add-missing-types-header.patch new file mode 100644 index 0000000000..7b09f2785c --- /dev/null +++ b/package/btrfs-progs/0003-btrfs-progs-convert-add-missing-types-header.patch @@ -0,0 +1,39 @@ +From dda485a3d788c47bb6849218f695db7b51822872 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 31 Oct 2017 14:51:51 +0200 +Subject: [PATCH] btrfs-progs: convert: add missing types header + +Build with musl libc needs the sys/types.h header for the dev_t type, +since this header is not included indirectly. This fixes the following +build failure: + +In file included from convert/source-fs.c:23:0: +./convert/source-fs.h:112:1: error: unknown type name ‘dev_t’ + dev_t decode_dev(u32 dev); + ^~~~~ +convert/source-fs.c:31:1: error: unknown type name ‘dev_t’ + dev_t decode_dev(u32 dev) + ^~~~~ + +Signed-off-by: Baruch Siach +--- +Upstream status: https://marc.info/?l=linux-btrfs&m=150945479718731&w=2 + + convert/source-fs.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/convert/source-fs.h b/convert/source-fs.h +index 23f33567b42d..4e5babefe6a2 100644 +--- a/convert/source-fs.h ++++ b/convert/source-fs.h +@@ -19,6 +19,7 @@ + + #include "kerncompat.h" + #include ++#include + #include + + #define CONV_IMAGE_SUBVOL_OBJECTID BTRFS_FIRST_FREE_OBJECTID +-- +2.14.2 + diff --git a/package/btrfs-progs/btrfs-progs.hash b/package/btrfs-progs/btrfs-progs.hash index f9809289b0..bdcb8bada1 100644 --- a/package/btrfs-progs/btrfs-progs.hash +++ b/package/btrfs-progs/btrfs-progs.hash @@ -1,2 +1,4 @@ # From https://www.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs/sha256sums.asc -sha256 464a9bfd2b5eda76b0246ee0a4043f4de8d17c10312bc8b84abc5fbf9317fede btrfs-progs-v4.9.1.tar.xz +sha256 805bdb0031c21a0a5d2ba295a8c9bdd8ba831a68c3fa801aab85677ec902d783 btrfs-progs-v4.13.3.tar.xz +# Locally computed +sha256 0d5bf346df9e635a29dcdddf832dc5b002ca6cdc1c5c9c6c567d2a61bb0c5c15 COPYING diff --git a/package/btrfs-progs/btrfs-progs.mk b/package/btrfs-progs/btrfs-progs.mk index f73397ca8e..96c4350d26 100644 --- a/package/btrfs-progs/btrfs-progs.mk +++ b/package/btrfs-progs/btrfs-progs.mk @@ -4,12 +4,12 @@ # ################################################################################ -BTRFS_PROGS_VERSION = 4.9.1 +BTRFS_PROGS_VERSION = 4.13.3 BTRFS_PROGS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/people/kdave/btrfs-progs BTRFS_PROGS_SOURCE = btrfs-progs-v$(BTRFS_PROGS_VERSION).tar.xz BTRFS_PROGS_DEPENDENCIES = host-pkgconf e2fsprogs lzo util-linux zlib BTRFS_PROGS_CONF_OPTS = --disable-backtrace -BTRFS_PROGS_LICENSE = GPLv2 +BTRFS_PROGS_LICENSE = GPL-2.0 BTRFS_PROGS_LICENSE_FILES = COPYING BTRFS_PROGS_INSTALL_STAGING = YES diff --git a/package/bullet/bullet.hash b/package/bullet/bullet.hash index cccc42580e..c6a45c2ac3 100644 --- a/package/bullet/bullet.hash +++ b/package/bullet/bullet.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 6e157c0b50373bc0e860de27f06397827bb28a4205bc568ae79d76a0f919ed62 bullet-2.85.1.tar.gz +sha256 c058b2e4321ba6adaa656976c1a138c07b18fc03b29f5b82880d5d8228fbf059 bullet-2.86.1.tar.gz diff --git a/package/bullet/bullet.mk b/package/bullet/bullet.mk index 99ff423632..3e8fae3a06 100644 --- a/package/bullet/bullet.mk +++ b/package/bullet/bullet.mk @@ -4,10 +4,10 @@ # ################################################################################ -BULLET_VERSION = 2.85.1 +BULLET_VERSION = 2.86.1 BULLET_SITE = $(call github,bulletphysics,bullet3,$(BULLET_VERSION)) BULLET_INSTALL_STAGING = YES -BULLET_LICENSE = zlib license +BULLET_LICENSE = Zlib BULLET_LICENSE_FILES = LICENSE.txt # Disable demos apps and unit tests. diff --git a/package/bustle/Config.in b/package/bustle/Config.in index f213da503e..109ebdeed8 100644 --- a/package/bustle/Config.in +++ b/package/bustle/Config.in @@ -1,11 +1,11 @@ config BR2_PACKAGE_BUSTLE bool "bustle" - select BR2_PACKAGE_LIBPCAP - select BR2_PACKAGE_LIBGLIB2 depends on BR2_USE_WCHAR # libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_USE_MMU # libglib2 depends on BR2_PACKAGE_DBUS # runtime + select BR2_PACKAGE_LIBPCAP + select BR2_PACKAGE_LIBGLIB2 help Bustle is a better dbus-monitor! It records and draws sequence diagrams of D-Bus activity, showing signal diff --git a/package/bustle/bustle.hash b/package/bustle/bustle.hash index 9c6df56718..49890f74ff 100644 --- a/package/bustle/bustle.hash +++ b/package/bustle/bustle.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 6c76cb5182c20b8ce7d6911f8aebc4fae43f919e747a003f1a66698628b27682 bustle-0.4.3.tar.gz +sha256 921c2cbbb957dcb02c3aa8fd1eeff3534cb437fa9eeca1c25206ad1e741a3f14 bustle-0.5.4.tar.gz diff --git a/package/bustle/bustle.mk b/package/bustle/bustle.mk index 0b85536ea9..ffbfbe40f7 100644 --- a/package/bustle/bustle.mk +++ b/package/bustle/bustle.mk @@ -4,9 +4,9 @@ # ################################################################################ -BUSTLE_VERSION = 0.4.3 +BUSTLE_VERSION = 0.5.4 BUSTLE_SITE = http://www.willthompson.co.uk/bustle/releases/$(BUSTLE_VERSION) -BUSTLE_LICENSE = LGPLv2.1+ +BUSTLE_LICENSE = LGPL-2.1+ BUSTLE_LICENSE_FILES = LICENSE BUSTLE_DEPENDENCIES = libglib2 libpcap host-pkgconf diff --git a/package/busybox/0003-Makefile-include-per-arch-Makefile-before-Makefile.f.patch b/package/busybox/0003-Makefile-include-per-arch-Makefile-before-Makefile.f.patch new file mode 100644 index 0000000000..610ca3992d --- /dev/null +++ b/package/busybox/0003-Makefile-include-per-arch-Makefile-before-Makefile.f.patch @@ -0,0 +1,46 @@ +From 2c240f131ae5cc981702b45397be3b311c67a9ee Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Fri, 14 Jul 2017 22:23:46 +0200 +Subject: [PATCH] Makefile: include per-arch Makefile before Makefile.flags + +Makefile.flags contains: + +ARCH_FPIC ?= -fpic +ARCH_FPIE ?= -fpie + +However, arch/$(ARCH)/Makefile gets included *after* Makefile.flags, +and therefore doesn't get the chance to provide its own value. + +Fix this by including arch/$(ARCH)/Makefile *before* Makefile.flags. + +[Submitted upstream: http://lists.busybox.net/pipermail/busybox/2017-July/085632.html] +Signed-off-by: Thomas Petazzoni +--- + Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 971e68e..fe85070 100644 +--- a/Makefile ++++ b/Makefile +@@ -508,6 +508,8 @@ ifeq ($(dot-config),1) + # To avoid any implicit rule to kick in, define an empty command + .config .kconfig.d: ; + ++-include $(srctree)/arch/$(ARCH)/Makefile ++ + # Now we can define CFLAGS etc according to .config + include $(srctree)/Makefile.flags + +@@ -531,8 +533,6 @@ endif + # Defaults busybox but it is usually overridden in the arch makefile + all: busybox doc + +--include $(srctree)/arch/$(ARCH)/Makefile +- + # arch Makefile may override CC so keep this after arch Makefile is included + #bbox# NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include) + CHECKFLAGS += $(NOSTDINC_FLAGS) +-- +2.9.4 + diff --git a/package/busybox/0004-arch-sparc-sparc64-Makefile-define-ARCH_FPIC.patch b/package/busybox/0004-arch-sparc-sparc64-Makefile-define-ARCH_FPIC.patch new file mode 100644 index 0000000000..b487035358 --- /dev/null +++ b/package/busybox/0004-arch-sparc-sparc64-Makefile-define-ARCH_FPIC.patch @@ -0,0 +1,79 @@ +From 43593d65827f4e7f848fc410321b0b2deed986fc Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Fri, 14 Jul 2017 21:54:37 +0200 +Subject: [PATCH] arch/{sparc,sparc64}/Makefile: define ARCH_FPIC + +Building Busybox on SPARC or SPARC64 with CONFIG_BUILD_LIBBUSYBOX=y +currently fails with: + +miscutils/lib.a(i2c_tools.o): In function `i2c_dev_open': +i2c_tools.c:(.text.i2c_dev_open+0x14): relocation truncated to fit: R_SPARC_GOT13 against `.LC0' +i2c_tools.c:(.text.i2c_dev_open+0x38): relocation truncated to fit: R_SPARC_GOT13 against symbol `bb_errno' defined in COMMON section in libbb/lib.a(ptr_to_globals.o) +i2c_tools.c:(.text.i2c_dev_open+0x6c): relocation truncated to fit: R_SPARC_GOT13 against `.LC1' +miscutils/lib.a(i2c_tools.o): In function `check_funcs_test_end': +i2c_tools.c:(.text.check_funcs_test_end+0x24): relocation truncated to fit: R_SPARC_GOT13 against `.LC2' +i2c_tools.c:(.text.check_funcs_test_end+0x2c): relocation truncated to fit: R_SPARC_GOT13 against `.LC3' +miscutils/lib.a(i2c_tools.o): In function `check_read_funcs': +i2c_tools.c:(.text.check_read_funcs+0x30): relocation truncated to fit: R_SPARC_GOT13 against `.LC10' +i2c_tools.c:(.text.check_read_funcs+0x80): relocation truncated to fit: R_SPARC_GOT13 against `.LC4' +i2c_tools.c:(.text.check_read_funcs+0x98): relocation truncated to fit: R_SPARC_GOT13 against `.LC5' +i2c_tools.c:(.text.check_read_funcs+0xc0): relocation truncated to fit: R_SPARC_GOT13 against `.LC6' +i2c_tools.c:(.text.check_read_funcs+0xe0): relocation truncated to fit: R_SPARC_GOT13 against `.LC7' +i2c_tools.c:(.text.check_read_funcs+0xf8): additional relocation overflows omitted from the output + +As stated by the gcc documentation, the SPARC architecture has a +limited GOT size, which prevents moderately large binaries to be built +with -fpic, and -fPIC is necessary. From gcc's documentation: + +'-fpic' + Generate position-independent code (PIC) suitable for use in a + shared library, if supported for the target machine. Such code + accesses all constant addresses through a global offset table + (GOT). The dynamic loader resolves the GOT entries when the + program starts (the dynamic loader is not part of GCC; it is part + of the operating system). If the GOT size for the linked + executable exceeds a machine-specific maximum size, you get an + error message from the linker indicating that '-fpic' does not + work; in that case, recompile with '-fPIC' instead. (These + maximums are 8k on the SPARC, 28k on AArch64 and 32k on the m68k + and RS/6000. The x86 has no such limit.) + +'-fPIC' + If supported for the target machine, emit position-independent + code, suitable for dynamic linking and avoiding any limit on the + size of the global offset table. This option makes a difference on + AArch64, m68k, PowerPC and SPARC. + +With a limit of 8KB on SPARC, we quickly reach this limit, and we hit +it when building Busybox on SPARC/SPARC64 with the +CONFIG_BUILD_LIBBUSYBOX=y option enabled. + +Therefore, this commit redefines ARCH_FPIC as -fPIC on sparc and +sparc64 to solve this issue. + +[Submitted upstream: http://lists.busybox.net/pipermail/busybox/2017-July/085633.html] +Signed-off-by: Thomas Petazzoni +--- + arch/sparc/Makefile | 1 + + arch/sparc64/Makefile | 1 + + 2 files changed, 2 insertions(+) + create mode 100644 arch/sparc/Makefile + create mode 100644 arch/sparc64/Makefile + +diff --git a/arch/sparc/Makefile b/arch/sparc/Makefile +new file mode 100644 +index 0000000..4d6c5fb +--- /dev/null ++++ b/arch/sparc/Makefile +@@ -0,0 +1 @@ ++ARCH_FPIC = -fPIC +diff --git a/arch/sparc64/Makefile b/arch/sparc64/Makefile +new file mode 100644 +index 0000000..4d6c5fb +--- /dev/null ++++ b/arch/sparc64/Makefile +@@ -0,0 +1 @@ ++ARCH_FPIC = -fPIC +-- +2.9.4 + diff --git a/package/busybox/0005-httpd-fix-handling-of-range-requests.patch b/package/busybox/0005-httpd-fix-handling-of-range-requests.patch new file mode 100644 index 0000000000..b3ca32d75c --- /dev/null +++ b/package/busybox/0005-httpd-fix-handling-of-range-requests.patch @@ -0,0 +1,27 @@ +From 2b400d9b2b7309d6e479102fc3ce646e893058a5 Mon Sep 17 00:00:00 2001 +From: Denys Vlasenko +Date: Mon, 18 Sep 2017 13:09:11 +0200 +Subject: [PATCH] httpd: fix handling of range requests + +Signed-off-by: Denys Vlasenko +Signed-off-by: Peter Korsgaard +--- + networking/httpd.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/networking/httpd.c b/networking/httpd.c +index e072f23c7..5e32fc936 100644 +--- a/networking/httpd.c ++++ b/networking/httpd.c +@@ -2337,7 +2337,7 @@ static void handle_incoming_and_exit(const len_and_sockaddr *fromAddr) + if (STRNCASECMP(iobuf, "Range:") == 0) { + /* We know only bytes=NNN-[MMM] */ + char *s = skip_whitespace(iobuf + sizeof("Range:")-1); +- if (is_prefixed_with(s, "bytes=") == 0) { ++ if (is_prefixed_with(s, "bytes=")) { + s += sizeof("bytes=")-1; + range_start = BB_STRTOOFF(s, &s, 10); + if (s[0] != '-' || range_start < 0) { +-- +2.11.0 + diff --git a/package/busybox/Config.in b/package/busybox/Config.in index 504cd8a65a..ca8fe68eea 100644 --- a/package/busybox/Config.in +++ b/package/busybox/Config.in @@ -2,8 +2,8 @@ config BR2_PACKAGE_BUSYBOX bool "BusyBox" default y help - The Swiss Army Knife of embedded Linux. It slices, it dices, it - makes Julian Fries. + The Swiss Army Knife of embedded Linux. It slices, it dices, + it makes Julian Fries. http://busybox.net/ @@ -15,10 +15,12 @@ config BR2_PACKAGE_BUSYBOX_CONFIG string "BusyBox configuration file to use?" default "package/busybox/busybox.config" help - Some people may wish to use their own modified BusyBox configuration - file, and will specify their config file location with this option. + Some people may wish to use their own modified BusyBox + configuration file, and will specify their config file + location with this option. - Most people will just use the default BusyBox configuration file. + Most people will just use the default BusyBox configuration + file. config BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES string "Additional BusyBox configuration fragment files" @@ -35,12 +37,12 @@ config BR2_PACKAGE_BUSYBOX_SHOW_OTHERS by busybox. config BR2_PACKAGE_BUSYBOX_SELINUX - select BR2_PACKAGE_LIBSELINUX + bool "Enable SELinux support" depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_USES_GLIBC depends on !BR2_arc - bool "Enable SELinux support" + select BR2_PACKAGE_LIBSELINUX help Enable SELinux support in BusyBox. Please note that depending on your BusyBox configuration and the SELinux @@ -54,6 +56,22 @@ config BR2_PACKAGE_BUSYBOX_SELINUX crond, then individual binaries have to be enabled for the SELinux type transitions to occur properly. +config BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES + bool "Individual binaries" + depends on !BR2_STATIC_LIBS + depends on !BR2_bfin # libbusybox.so link issue + help + By default (i.e with this option disabled), Busybox is + installed as a single binary in /bin/busybox and all applets + are a symbolic link to /bin/busybox. + + With this option enabled, each applet is a separate binary, + which is needed for proper operation with SELinux. + +comment "Busybox individual binaries need a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS + depends on !BR2_bfin + config BR2_PACKAGE_BUSYBOX_WATCHDOG bool "Install the watchdog daemon startup script" help diff --git a/package/busybox/busybox-minimal.config b/package/busybox/busybox-minimal.config index 2abf458b78..4130e6a8b6 100644 --- a/package/busybox/busybox-minimal.config +++ b/package/busybox/busybox-minimal.config @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Busybox version: 1.26.0 -# Thu Dec 29 21:13:55 2016 +# Busybox version: 1.27.1 +# Sun Jul 30 15:42:11 2017 # CONFIG_HAVE_DOT_CONFIG=y @@ -12,7 +12,6 @@ CONFIG_HAVE_DOT_CONFIG=y # CONFIG_EXTRA_COMPAT is not set CONFIG_INCLUDE_SUSv2=y # CONFIG_USE_PORTABLE_CODE is not set -CONFIG_PLATFORM_LINUX=y # CONFIG_SHOW_USAGE is not set # CONFIG_FEATURE_VERBOSE_USAGE is not set # CONFIG_FEATURE_COMPRESS_USAGE is not set @@ -22,7 +21,7 @@ CONFIG_FEATURE_INSTALLER=y # CONFIG_PAM is not set CONFIG_LONG_OPTS=y CONFIG_FEATURE_DEVPTS=y -CONFIG_FEATURE_CLEAN_UP=y +# CONFIG_FEATURE_CLEAN_UP is not set CONFIG_FEATURE_UTMP=y CONFIG_FEATURE_WTMP=y # CONFIG_FEATURE_PIDFILE is not set @@ -35,13 +34,14 @@ CONFIG_FEATURE_SUID=y CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" CONFIG_FEATURE_SYSLOG=y # CONFIG_FEATURE_HAVE_RPC is not set +CONFIG_PLATFORM_LINUX=y # # Build Options # CONFIG_STATIC=y # CONFIG_PIE is not set -CONFIG_NOMMU=y +# CONFIG_NOMMU is not set # CONFIG_BUILD_LIBBUSYBOX is not set # CONFIG_FEATURE_INDIVIDUAL is not set # CONFIG_FEATURE_SHARED_BUSYBOX is not set @@ -89,7 +89,6 @@ CONFIG_MD5_SMALL=1 CONFIG_SHA3_SMALL=1 # CONFIG_FEATURE_FAST_TOP is not set # CONFIG_FEATURE_ETC_NETWORKS is not set -CONFIG_FEATURE_USE_TERMIOS=y CONFIG_FEATURE_EDITING=y CONFIG_FEATURE_EDITING_MAX_LEN=1024 CONFIG_FEATURE_EDITING_VI=y @@ -150,6 +149,7 @@ CONFIG_LZCAT=y CONFIG_XZCAT=y # CONFIG_XZ is not set # CONFIG_BZIP2 is not set +CONFIG_FEATURE_BZIP2_DECOMPRESS=y # CONFIG_CPIO is not set # CONFIG_FEATURE_CPIO_O is not set # CONFIG_FEATURE_CPIO_P is not set @@ -159,6 +159,7 @@ CONFIG_XZCAT=y # CONFIG_FEATURE_GZIP_LONG_OPTIONS is not set CONFIG_GZIP_FAST=0 # CONFIG_FEATURE_GZIP_LEVELS is not set +CONFIG_FEATURE_GZIP_DECOMPRESS=y # CONFIG_LZOP is not set CONFIG_UNLZOP=y CONFIG_LZOPCAT=y @@ -166,26 +167,29 @@ CONFIG_LZOPCAT=y # CONFIG_RPM2CPIO is not set # CONFIG_RPM is not set # CONFIG_TAR is not set +# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set # CONFIG_FEATURE_TAR_CREATE is not set # CONFIG_FEATURE_TAR_AUTODETECT is not set # CONFIG_FEATURE_TAR_FROM is not set # CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set # CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set # CONFIG_FEATURE_TAR_GNU_EXTENSIONS is not set -# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set # CONFIG_FEATURE_TAR_TO_COMMAND is not set # CONFIG_FEATURE_TAR_UNAME_GNAME is not set # CONFIG_FEATURE_TAR_NOPRESERVE_TIME is not set # CONFIG_FEATURE_TAR_SELINUX is not set # CONFIG_UNZIP is not set +# CONFIG_FEATURE_UNZIP_CDF is not set +# CONFIG_FEATURE_UNZIP_BZIP2 is not set +# CONFIG_FEATURE_UNZIP_LZMA is not set +# CONFIG_FEATURE_UNZIP_XZ is not set # # Coreutils # CONFIG_BASENAME=y -# CONFIG_CAL is not set CONFIG_CAT=y -CONFIG_CATV=y +CONFIG_FEATURE_CATV=y CONFIG_CHGRP=y CONFIG_CHMOD=y CONFIG_CHOWN=y @@ -222,6 +226,7 @@ CONFIG_ENV=y # CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set CONFIG_EXPR=y CONFIG_EXPR_MATH_SUPPORT_64=y +CONFIG_FACTOR=y CONFIG_FALSE=y CONFIG_FOLD=y # CONFIG_FSYNC is not set @@ -232,12 +237,14 @@ CONFIG_ID=y # CONFIG_GROUPS is not set CONFIG_INSTALL=y CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y +CONFIG_LINK=y CONFIG_LN=y CONFIG_LOGNAME=y CONFIG_LS=y CONFIG_FEATURE_LS_FILETYPES=y CONFIG_FEATURE_LS_FOLLOWLINKS=y CONFIG_FEATURE_LS_RECURSIVE=y +CONFIG_FEATURE_LS_WIDTH=y CONFIG_FEATURE_LS_SORTFILES=y CONFIG_FEATURE_LS_TIMESTAMPS=y CONFIG_FEATURE_LS_USERNAME=y @@ -257,11 +264,15 @@ CONFIG_MKDIR=y CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y CONFIG_MKFIFO=y CONFIG_MKNOD=y +# CONFIG_MKTEMP is not set CONFIG_MV=y CONFIG_FEATURE_MV_LONG_OPTIONS=y CONFIG_NICE=y +CONFIG_NL=y CONFIG_NOHUP=y +CONFIG_NPROC=y CONFIG_OD=y +CONFIG_PASTE=y CONFIG_PRINTENV=y CONFIG_PRINTF=y CONFIG_PWD=y @@ -272,6 +283,7 @@ CONFIG_RM=y CONFIG_RMDIR=y # CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set CONFIG_SEQ=y +CONFIG_SHRED=y # CONFIG_SHUF is not set CONFIG_SLEEP=y CONFIG_FEATURE_FANCY_SLEEP=y @@ -296,6 +308,7 @@ CONFIG_TEST=y CONFIG_TEST1=y CONFIG_TEST2=y CONFIG_FEATURE_TEST_64=y +# CONFIG_TIMEOUT is not set CONFIG_TOUCH=y # CONFIG_FEATURE_TOUCH_NODEREF is not set CONFIG_FEATURE_TOUCH_SUSV3=y @@ -317,6 +330,7 @@ CONFIG_WC=y # CONFIG_FEATURE_WC_LARGE is not set CONFIG_WHOAMI=y CONFIG_WHO=y +CONFIG_W=y # CONFIG_USERS is not set CONFIG_YES=y @@ -330,11 +344,6 @@ CONFIG_FEATURE_VERBOSE=y # CONFIG_FEATURE_PRESERVE_HARDLINKS=y -# -# Common options for ls, more and telnet -# -CONFIG_FEATURE_AUTOWIDTH=y - # # Common options for df, du, ls # @@ -369,14 +378,13 @@ CONFIG_DEFAULT_SETFONT_DIR="" # # Debian Utilities # -# CONFIG_MKTEMP is not set # CONFIG_PIPE_PROGRESS is not set CONFIG_RUN_PARTS=y CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y CONFIG_FEATURE_RUN_PARTS_FANCY=y CONFIG_START_STOP_DAEMON=y -CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y +CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y CONFIG_WHICH=y # @@ -467,12 +475,10 @@ CONFIG_FEATURE_KILL_REMOVED=y CONFIG_FEATURE_KILL_DELAY=0 CONFIG_FEATURE_INIT_SCTTY=y CONFIG_FEATURE_INIT_SYSLOG=y -CONFIG_FEATURE_EXTRA_QUIET=y +CONFIG_FEATURE_INIT_QUIET=y # CONFIG_FEATURE_INIT_COREDUMPS is not set CONFIG_INIT_TERMINAL_TYPE="linux" CONFIG_FEATURE_INIT_MODIFY_CMDLINE=y -CONFIG_MESG=y -CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP=y # # Login/Password Management Utilities @@ -511,6 +517,7 @@ CONFIG_FEATURE_PASSWD_WEAK_CHECK=y # CONFIG_SU is not set # CONFIG_FEATURE_SU_SYSLOG is not set # CONFIG_FEATURE_SU_CHECKS_SHELLS is not set +# CONFIG_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY is not set # CONFIG_SULOGIN is not set # CONFIG_VLOCK is not set @@ -525,6 +532,7 @@ CONFIG_FEATURE_PASSWD_WEAK_CHECK=y # # Linux Module Utilities # +# CONFIG_MODPROBE_SMALL is not set # CONFIG_DEPMOD is not set # CONFIG_INSMOD is not set # CONFIG_LSMOD is not set @@ -532,22 +540,21 @@ CONFIG_FEATURE_PASSWD_WEAK_CHECK=y # CONFIG_MODINFO is not set # CONFIG_MODPROBE is not set # CONFIG_FEATURE_MODPROBE_BLACKLIST is not set -# CONFIG_MODPROBE_SMALL is not set -# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set -# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set # CONFIG_RMMOD is not set # # Options common to multiple modutils # +# CONFIG_FEATURE_CMDLINE_MODULE_OPTIONS is not set +# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set # CONFIG_FEATURE_2_4_MODULES is not set -# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set # CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set # CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set # CONFIG_FEATURE_INSMOD_LOADINKMEM is not set # CONFIG_FEATURE_INSMOD_LOAD_MAP is not set # CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set # CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set +# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set # CONFIG_FEATURE_MODUTILS_ALIAS is not set # CONFIG_FEATURE_MODUTILS_SYMBOLS is not set CONFIG_DEFAULT_MODULES_DIR="" @@ -562,8 +569,13 @@ CONFIG_DEFAULT_DEPMOD_FILE="" # CONFIG_BLKID is not set # CONFIG_FEATURE_BLKID_TYPE is not set # CONFIG_BLOCKDEV is not set +# CONFIG_CAL is not set +# CONFIG_CHRT is not set CONFIG_DMESG=y CONFIG_FEATURE_DMESG_PRETTY=y +# CONFIG_EJECT is not set +# CONFIG_FEATURE_EJECT_SCSI is not set +CONFIG_FALLOCATE=y # CONFIG_FATATTR is not set # CONFIG_FBSET is not set # CONFIG_FEATURE_FBSET_FANCY is not set @@ -583,17 +595,22 @@ CONFIG_FEATURE_DMESG_PRETTY=y # CONFIG_FDFLUSH is not set CONFIG_FREERAMDISK=y # CONFIG_FSCK_MINIX is not set +CONFIG_FSFREEZE=y # CONFIG_FSTRIM is not set CONFIG_GETOPT=y CONFIG_FEATURE_GETOPT_LONG=y # CONFIG_HEXDUMP is not set # CONFIG_FEATURE_HEXDUMP_REVERSE is not set # CONFIG_HD is not set +CONFIG_XXD=y # CONFIG_HWCLOCK is not set # CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS is not set # CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS is not set +# CONFIG_IONICE is not set # CONFIG_IPCRM is not set # CONFIG_IPCS is not set +# CONFIG_LAST is not set +# CONFIG_FEATURE_LAST_FANCY is not set # CONFIG_LOSETUP is not set # CONFIG_LSPCI is not set # CONFIG_LSUSB is not set @@ -603,6 +620,8 @@ CONFIG_FEATURE_GETOPT_LONG=y # CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set # CONFIG_FEATURE_MDEV_EXEC is not set # CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set +CONFIG_MESG=y +CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP=y CONFIG_MKE2FS=y # CONFIG_MKFS_EXT2 is not set # CONFIG_MKFS_MINIX is not set @@ -623,12 +642,14 @@ CONFIG_FEATURE_MOUNT_CIFS=y CONFIG_FEATURE_MOUNT_FLAGS=y CONFIG_FEATURE_MOUNT_FSTAB=y CONFIG_FEATURE_MOUNT_OTHERTAB=y +# CONFIG_MOUNTPOINT is not set # CONFIG_NSENTER is not set # CONFIG_FEATURE_NSENTER_LONG_OPTS is not set # CONFIG_PIVOT_ROOT is not set # CONFIG_RDATE is not set # CONFIG_RDEV is not set # CONFIG_READPROFILE is not set +# CONFIG_RENICE is not set # CONFIG_REV is not set # CONFIG_RTCWAKE is not set # CONFIG_SCRIPT is not set @@ -636,15 +657,20 @@ CONFIG_FEATURE_MOUNT_OTHERTAB=y # CONFIG_SETARCH is not set CONFIG_LINUX32=y CONFIG_LINUX64=y +CONFIG_SETPRIV=y +# CONFIG_SETSID is not set CONFIG_SWAPON=y # CONFIG_FEATURE_SWAPON_DISCARD is not set # CONFIG_FEATURE_SWAPON_PRI is not set CONFIG_SWAPOFF=y # CONFIG_SWITCH_ROOT is not set +# CONFIG_TASKSET is not set +# CONFIG_FEATURE_TASKSET_FANCY is not set # CONFIG_UEVENT is not set CONFIG_UMOUNT=y CONFIG_FEATURE_UMOUNT_ALL=y # CONFIG_UNSHARE is not set +# CONFIG_WALL is not set # # Common options for mount/umount @@ -694,7 +720,6 @@ CONFIG_FEATURE_BEEP_LENGTH_MS=0 # CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set # CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set # CONFIG_FEATURE_CHAT_CLR_ABORT is not set -# CONFIG_CHRT is not set # CONFIG_CONSPY is not set # CONFIG_CROND is not set # CONFIG_FEATURE_CROND_D is not set @@ -709,8 +734,6 @@ CONFIG_FEATURE_CROND_DIR="" # CONFIG_DEVFSD_VERBOSE is not set # CONFIG_FEATURE_DEVFS is not set # CONFIG_DEVMEM is not set -# CONFIG_EJECT is not set -# CONFIG_FEATURE_EJECT_SCSI is not set # CONFIG_FBSPLASH is not set # CONFIG_FLASHCP is not set # CONFIG_FLASH_ERASEALL is not set @@ -728,9 +751,6 @@ CONFIG_FEATURE_CROND_DIR="" # CONFIG_I2CDUMP is not set # CONFIG_I2CDETECT is not set # CONFIG_INOTIFYD is not set -# CONFIG_IONICE is not set -# CONFIG_LAST is not set -# CONFIG_FEATURE_LAST_FANCY is not set # CONFIG_LESS is not set CONFIG_FEATURE_LESS_MAXLINES=0 # CONFIG_FEATURE_LESS_BRACKETS is not set @@ -742,27 +762,24 @@ CONFIG_FEATURE_LESS_MAXLINES=0 # CONFIG_FEATURE_LESS_ASK_TERMINAL is not set # CONFIG_FEATURE_LESS_DASHCMD is not set # CONFIG_FEATURE_LESS_LINENUMS is not set +CONFIG_LSSCSI=y # CONFIG_MAKEDEVS is not set # CONFIG_FEATURE_MAKEDEVS_LEAF is not set # CONFIG_FEATURE_MAKEDEVS_TABLE is not set # CONFIG_MAN is not set # CONFIG_MICROCOM is not set -# CONFIG_MOUNTPOINT is not set # CONFIG_MT is not set # CONFIG_NANDWRITE is not set # CONFIG_NANDDUMP is not set +CONFIG_PARTPROBE=y # CONFIG_RAIDAUTORUN is not set # CONFIG_READAHEAD is not set # CONFIG_RFKILL is not set # CONFIG_RUNLEVEL is not set # CONFIG_RX is not set CONFIG_SETSERIAL=y -# CONFIG_SETSID is not set # CONFIG_STRINGS is not set -# CONFIG_TASKSET is not set -# CONFIG_FEATURE_TASKSET_FANCY is not set # CONFIG_TIME is not set -# CONFIG_TIMEOUT is not set # CONFIG_TTYSIZE is not set # CONFIG_UBIRENAME is not set # CONFIG_UBIATTACH is not set @@ -772,7 +789,6 @@ CONFIG_SETSERIAL=y # CONFIG_UBIRSVOL is not set # CONFIG_UBIUPDATEVOL is not set # CONFIG_VOLNAME is not set -# CONFIG_WALL is not set # CONFIG_WATCHDOG is not set # @@ -822,8 +838,6 @@ CONFIG_IFUP=y CONFIG_IFDOWN=y CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate" CONFIG_FEATURE_IFUPDOWN_IP=y -CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y -# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set CONFIG_FEATURE_IFUPDOWN_IPV4=y # CONFIG_FEATURE_IFUPDOWN_IPV6 is not set # CONFIG_FEATURE_IFUPDOWN_MAPPING is not set @@ -836,6 +850,12 @@ CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP=y # CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set # CONFIG_FEATURE_INETD_RPC is not set CONFIG_IP=y +CONFIG_IPADDR=y +CONFIG_IPLINK=y +CONFIG_IPROUTE=y +# CONFIG_IPTUNNEL is not set +# CONFIG_IPRULE is not set +# CONFIG_IPNEIGH is not set CONFIG_FEATURE_IP_ADDRESS=y CONFIG_FEATURE_IP_LINK=y CONFIG_FEATURE_IP_ROUTE=y @@ -843,17 +863,10 @@ CONFIG_FEATURE_IP_ROUTE_DIR="/etc/iproute2" # CONFIG_FEATURE_IP_TUNNEL is not set # CONFIG_FEATURE_IP_RULE is not set # CONFIG_FEATURE_IP_NEIGH is not set -CONFIG_FEATURE_IP_SHORT_FORMS=y # CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set -CONFIG_IPADDR=y -CONFIG_IPLINK=y -CONFIG_IPROUTE=y -# CONFIG_IPTUNNEL is not set -# CONFIG_IPRULE is not set -# CONFIG_IPNEIGH is not set # CONFIG_IPCALC is not set -# CONFIG_FEATURE_IPCALC_FANCY is not set # CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set +# CONFIG_FEATURE_IPCALC_FANCY is not set # CONFIG_FAKEIDENTD is not set # CONFIG_NAMEIF is not set # CONFIG_FEATURE_NAMEIF_EXTENDED is not set @@ -875,11 +888,13 @@ CONFIG_PING=y # CONFIG_PSCAN is not set CONFIG_ROUTE=y # CONFIG_SLATTACH is not set +# CONFIG_SSL_CLIENT is not set # CONFIG_TCPSVD is not set # CONFIG_UDPSVD is not set CONFIG_TELNET=y CONFIG_FEATURE_TELNET_TTYPE=y CONFIG_FEATURE_TELNET_AUTOLOGIN=y +CONFIG_FEATURE_TELNET_WIDTH=y # CONFIG_TELNETD is not set # CONFIG_FEATURE_TELNETD_STANDALONE is not set # CONFIG_FEATURE_TELNETD_INETD_WAIT is not set @@ -890,6 +905,7 @@ CONFIG_FEATURE_TELNET_AUTOLOGIN=y # CONFIG_FEATURE_TFTP_BLOCKSIZE is not set # CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set # CONFIG_TFTP_DEBUG is not set +# CONFIG_TLS is not set # CONFIG_TRACEROUTE is not set # CONFIG_TRACEROUTE6 is not set # CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set @@ -898,29 +914,32 @@ CONFIG_FEATURE_TELNET_AUTOLOGIN=y # CONFIG_FEATURE_TUNCTL_UG is not set # CONFIG_VCONFIG is not set CONFIG_WGET=y +# CONFIG_FEATURE_WGET_LONG_OPTIONS is not set # CONFIG_FEATURE_WGET_STATUSBAR is not set # CONFIG_FEATURE_WGET_AUTHENTICATION is not set -# CONFIG_FEATURE_WGET_LONG_OPTIONS is not set # CONFIG_FEATURE_WGET_TIMEOUT is not set +# CONFIG_FEATURE_WGET_HTTPS is not set # CONFIG_FEATURE_WGET_OPENSSL is not set -# CONFIG_FEATURE_WGET_SSL_HELPER is not set # CONFIG_WHOIS is not set # CONFIG_ZCIP is not set # CONFIG_UDHCPC6 is not set +# CONFIG_FEATURE_UDHCPC6_RFC3646 is not set +# CONFIG_FEATURE_UDHCPC6_RFC4704 is not set +# CONFIG_FEATURE_UDHCPC6_RFC4833 is not set # CONFIG_UDHCPD is not set -# CONFIG_DHCPRELAY is not set -# CONFIG_DUMPLEASES is not set # CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set # CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set CONFIG_DHCPD_LEASES_FILE="" +# CONFIG_DUMPLEASES is not set +# CONFIG_DHCPRELAY is not set CONFIG_UDHCPC=y # CONFIG_FEATURE_UDHCPC_ARPING is not set CONFIG_FEATURE_UDHCPC_SANITIZEOPT=y +CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" # CONFIG_FEATURE_UDHCP_PORT is not set CONFIG_UDHCP_DEBUG=9 # CONFIG_FEATURE_UDHCP_RFC3397 is not set # CONFIG_FEATURE_UDHCP_8021Q is not set -CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n" @@ -961,18 +980,19 @@ CONFIG_KILLALL5=y # CONFIG_FEATURE_PIDOF_OMIT is not set # CONFIG_PMAP is not set # CONFIG_POWERTOP is not set +# CONFIG_FEATURE_POWERTOP_INTERACTIVE is not set CONFIG_PS=y CONFIG_FEATURE_PS_WIDE=y CONFIG_FEATURE_PS_LONG=y # CONFIG_FEATURE_PS_TIME is not set -# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set # CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set +# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set # CONFIG_PSTREE is not set # CONFIG_PWDX is not set -# CONFIG_RENICE is not set # CONFIG_SMEMCAP is not set # CONFIG_BB_SYSCTL is not set # CONFIG_TOP is not set +# CONFIG_FEATURE_TOP_INTERACTIVE is not set # CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE is not set # CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS is not set # CONFIG_FEATURE_TOP_SMP_CPU is not set @@ -1018,27 +1038,32 @@ CONFIG_SVC=y # # Shells # +# CONFIG_SH_IS_ASH is not set +CONFIG_SH_IS_HUSH=y +# CONFIG_SH_IS_NONE is not set +# CONFIG_BASH_IS_ASH is not set +# CONFIG_BASH_IS_HUSH is not set +CONFIG_BASH_IS_NONE=y # CONFIG_ASH is not set # CONFIG_ASH_OPTIMIZE_FOR_SIZE is not set # CONFIG_ASH_INTERNAL_GLOB is not set -# CONFIG_ASH_RANDOM_SUPPORT is not set -# CONFIG_ASH_EXPAND_PRMT is not set # CONFIG_ASH_BASH_COMPAT is not set -# CONFIG_ASH_IDLE_TIMEOUT is not set # CONFIG_ASH_JOB_CONTROL is not set # CONFIG_ASH_ALIAS is not set -# CONFIG_ASH_GETOPTS is not set -# CONFIG_ASH_BUILTIN_ECHO is not set -# CONFIG_ASH_BUILTIN_PRINTF is not set -# CONFIG_ASH_BUILTIN_TEST is not set -# CONFIG_ASH_HELP is not set -# CONFIG_ASH_CMDCMD is not set +# CONFIG_ASH_RANDOM_SUPPORT is not set +# CONFIG_ASH_EXPAND_PRMT is not set +# CONFIG_ASH_IDLE_TIMEOUT is not set # CONFIG_ASH_MAIL is not set +# CONFIG_ASH_ECHO is not set +# CONFIG_ASH_PRINTF is not set +# CONFIG_ASH_TEST is not set +# CONFIG_ASH_HELP is not set +# CONFIG_ASH_GETOPTS is not set +# CONFIG_ASH_CMDCMD is not set # CONFIG_CTTYHACK is not set CONFIG_HUSH=y CONFIG_HUSH_BASH_COMPAT=y CONFIG_HUSH_BRACE_EXPANSION=y -CONFIG_HUSH_HELP=y CONFIG_HUSH_INTERACTIVE=y CONFIG_HUSH_SAVEHISTORY=y CONFIG_HUSH_JOB=y @@ -1049,17 +1074,30 @@ CONFIG_HUSH_CASE=y CONFIG_HUSH_FUNCTIONS=y CONFIG_HUSH_LOCAL=y CONFIG_HUSH_RANDOM_SUPPORT=y -CONFIG_HUSH_EXPORT_N=y CONFIG_HUSH_MODE_X=y +CONFIG_HUSH_ECHO=y +CONFIG_HUSH_PRINTF=y +CONFIG_HUSH_TEST=y +CONFIG_HUSH_HELP=y +CONFIG_HUSH_EXPORT=y +CONFIG_HUSH_EXPORT_N=y +CONFIG_HUSH_KILL=y +CONFIG_HUSH_WAIT=y +CONFIG_HUSH_TRAP=y +CONFIG_HUSH_TYPE=y +CONFIG_HUSH_READ=y +CONFIG_HUSH_SET=y +CONFIG_HUSH_UNSET=y +CONFIG_HUSH_ULIMIT=y +CONFIG_HUSH_UMASK=y +# CONFIG_HUSH_MEMLEAK is not set # CONFIG_MSH is not set -# CONFIG_FEATURE_SH_IS_ASH is not set -CONFIG_FEATURE_SH_IS_HUSH=y -# CONFIG_FEATURE_SH_IS_NONE is not set -# CONFIG_FEATURE_BASH_IS_ASH is not set -# CONFIG_FEATURE_BASH_IS_HUSH is not set -CONFIG_FEATURE_BASH_IS_NONE=y -CONFIG_SH_MATH_SUPPORT=y -# CONFIG_SH_MATH_SUPPORT_64 is not set + +# +# Options common to all shells +# +CONFIG_FEATURE_SH_MATH=y +CONFIG_FEATURE_SH_MATH_64=y CONFIG_FEATURE_SH_EXTRA_QUIET=y # CONFIG_FEATURE_SH_STANDALONE is not set # CONFIG_FEATURE_SH_NOFORK is not set diff --git a/package/busybox/busybox.config b/package/busybox/busybox.config index c45de21808..7753a861fd 100644 --- a/package/busybox/busybox.config +++ b/package/busybox/busybox.config @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Busybox version: 1.26.0 -# Thu Dec 29 21:01:56 2016 +# Busybox version: 1.27.1 +# Sun Jul 30 15:27:03 2017 # CONFIG_HAVE_DOT_CONFIG=y @@ -12,7 +12,6 @@ CONFIG_DESKTOP=y # CONFIG_EXTRA_COMPAT is not set CONFIG_INCLUDE_SUSv2=y # CONFIG_USE_PORTABLE_CODE is not set -CONFIG_PLATFORM_LINUX=y CONFIG_SHOW_USAGE=y CONFIG_FEATURE_VERBOSE_USAGE=y # CONFIG_FEATURE_COMPRESS_USAGE is not set @@ -22,7 +21,7 @@ CONFIG_FEATURE_INSTALLER=y # CONFIG_PAM is not set CONFIG_LONG_OPTS=y CONFIG_FEATURE_DEVPTS=y -CONFIG_FEATURE_CLEAN_UP=y +# CONFIG_FEATURE_CLEAN_UP is not set CONFIG_FEATURE_UTMP=y CONFIG_FEATURE_WTMP=y # CONFIG_FEATURE_PIDFILE is not set @@ -35,6 +34,7 @@ CONFIG_FEATURE_SUID=y CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" CONFIG_FEATURE_SYSLOG=y # CONFIG_FEATURE_HAVE_RPC is not set +CONFIG_PLATFORM_LINUX=y # # Build Options @@ -89,7 +89,6 @@ CONFIG_MD5_SMALL=1 CONFIG_SHA3_SMALL=1 # CONFIG_FEATURE_FAST_TOP is not set # CONFIG_FEATURE_ETC_NETWORKS is not set -CONFIG_FEATURE_USE_TERMIOS=y CONFIG_FEATURE_EDITING=y CONFIG_FEATURE_EDITING_MAX_LEN=1024 CONFIG_FEATURE_EDITING_VI=y @@ -150,6 +149,7 @@ CONFIG_UNXZ=y CONFIG_XZCAT=y CONFIG_XZ=y # CONFIG_BZIP2 is not set +CONFIG_FEATURE_BZIP2_DECOMPRESS=y CONFIG_CPIO=y # CONFIG_FEATURE_CPIO_O is not set # CONFIG_FEATURE_CPIO_P is not set @@ -159,6 +159,7 @@ CONFIG_GZIP=y # CONFIG_FEATURE_GZIP_LONG_OPTIONS is not set CONFIG_GZIP_FAST=0 # CONFIG_FEATURE_GZIP_LEVELS is not set +CONFIG_FEATURE_GZIP_DECOMPRESS=y # CONFIG_LZOP is not set CONFIG_UNLZOP=y CONFIG_LZOPCAT=y @@ -166,26 +167,29 @@ CONFIG_LZOPCAT=y # CONFIG_RPM2CPIO is not set # CONFIG_RPM is not set CONFIG_TAR=y +CONFIG_FEATURE_TAR_LONG_OPTIONS=y CONFIG_FEATURE_TAR_CREATE=y # CONFIG_FEATURE_TAR_AUTODETECT is not set CONFIG_FEATURE_TAR_FROM=y # CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set # CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y -CONFIG_FEATURE_TAR_LONG_OPTIONS=y CONFIG_FEATURE_TAR_TO_COMMAND=y # CONFIG_FEATURE_TAR_UNAME_GNAME is not set # CONFIG_FEATURE_TAR_NOPRESERVE_TIME is not set # CONFIG_FEATURE_TAR_SELINUX is not set CONFIG_UNZIP=y +CONFIG_FEATURE_UNZIP_CDF=y +CONFIG_FEATURE_UNZIP_BZIP2=y +CONFIG_FEATURE_UNZIP_LZMA=y +CONFIG_FEATURE_UNZIP_XZ=y # # Coreutils # CONFIG_BASENAME=y -# CONFIG_CAL is not set CONFIG_CAT=y -CONFIG_CATV=y +CONFIG_FEATURE_CATV=y CONFIG_CHGRP=y CONFIG_CHMOD=y CONFIG_CHOWN=y @@ -222,6 +226,7 @@ CONFIG_ENV=y # CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set CONFIG_EXPR=y CONFIG_EXPR_MATH_SUPPORT_64=y +CONFIG_FACTOR=y CONFIG_FALSE=y CONFIG_FOLD=y # CONFIG_FSYNC is not set @@ -232,12 +237,14 @@ CONFIG_ID=y # CONFIG_GROUPS is not set CONFIG_INSTALL=y CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y +CONFIG_LINK=y CONFIG_LN=y CONFIG_LOGNAME=y CONFIG_LS=y CONFIG_FEATURE_LS_FILETYPES=y CONFIG_FEATURE_LS_FOLLOWLINKS=y CONFIG_FEATURE_LS_RECURSIVE=y +CONFIG_FEATURE_LS_WIDTH=y CONFIG_FEATURE_LS_SORTFILES=y CONFIG_FEATURE_LS_TIMESTAMPS=y CONFIG_FEATURE_LS_USERNAME=y @@ -257,11 +264,15 @@ CONFIG_MKDIR=y CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y CONFIG_MKFIFO=y CONFIG_MKNOD=y +CONFIG_MKTEMP=y CONFIG_MV=y CONFIG_FEATURE_MV_LONG_OPTIONS=y CONFIG_NICE=y +CONFIG_NL=y CONFIG_NOHUP=y +CONFIG_NPROC=y CONFIG_OD=y +CONFIG_PASTE=y CONFIG_PRINTENV=y CONFIG_PRINTF=y CONFIG_PWD=y @@ -272,6 +283,7 @@ CONFIG_RM=y CONFIG_RMDIR=y # CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set CONFIG_SEQ=y +CONFIG_SHRED=y # CONFIG_SHUF is not set CONFIG_SLEEP=y CONFIG_FEATURE_FANCY_SLEEP=y @@ -296,6 +308,7 @@ CONFIG_TEST=y CONFIG_TEST1=y CONFIG_TEST2=y CONFIG_FEATURE_TEST_64=y +# CONFIG_TIMEOUT is not set CONFIG_TOUCH=y # CONFIG_FEATURE_TOUCH_NODEREF is not set CONFIG_FEATURE_TOUCH_SUSV3=y @@ -317,6 +330,7 @@ CONFIG_WC=y # CONFIG_FEATURE_WC_LARGE is not set CONFIG_WHOAMI=y CONFIG_WHO=y +CONFIG_W=y # CONFIG_USERS is not set CONFIG_YES=y @@ -330,11 +344,6 @@ CONFIG_FEATURE_VERBOSE=y # CONFIG_FEATURE_PRESERVE_HARDLINKS=y -# -# Common options for ls, more and telnet -# -CONFIG_FEATURE_AUTOWIDTH=y - # # Common options for df, du, ls # @@ -373,14 +382,13 @@ CONFIG_SETLOGCONS=y # # Debian Utilities # -CONFIG_MKTEMP=y CONFIG_PIPE_PROGRESS=y CONFIG_RUN_PARTS=y CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y # CONFIG_FEATURE_RUN_PARTS_FANCY is not set CONFIG_START_STOP_DAEMON=y -CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y +CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y CONFIG_WHICH=y # @@ -471,12 +479,10 @@ CONFIG_FEATURE_KILL_REMOVED=y CONFIG_FEATURE_KILL_DELAY=0 CONFIG_FEATURE_INIT_SCTTY=y CONFIG_FEATURE_INIT_SYSLOG=y -CONFIG_FEATURE_EXTRA_QUIET=y +CONFIG_FEATURE_INIT_QUIET=y # CONFIG_FEATURE_INIT_COREDUMPS is not set CONFIG_INIT_TERMINAL_TYPE="linux" CONFIG_FEATURE_INIT_MODIFY_CMDLINE=y -CONFIG_MESG=y -CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP=y # # Login/Password Management Utilities @@ -515,6 +521,7 @@ CONFIG_FEATURE_PASSWD_WEAK_CHECK=y CONFIG_SU=y CONFIG_FEATURE_SU_SYSLOG=y CONFIG_FEATURE_SU_CHECKS_SHELLS=y +# CONFIG_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY is not set CONFIG_SULOGIN=y CONFIG_VLOCK=y @@ -529,6 +536,7 @@ CONFIG_LSATTR=y # # Linux Module Utilities # +# CONFIG_MODPROBE_SMALL is not set # CONFIG_DEPMOD is not set CONFIG_INSMOD=y CONFIG_LSMOD=y @@ -536,22 +544,21 @@ CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y # CONFIG_MODINFO is not set CONFIG_MODPROBE=y # CONFIG_FEATURE_MODPROBE_BLACKLIST is not set -# CONFIG_MODPROBE_SMALL is not set -# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set -# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set CONFIG_RMMOD=y # # Options common to multiple modutils # +CONFIG_FEATURE_CMDLINE_MODULE_OPTIONS=y +# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set # CONFIG_FEATURE_2_4_MODULES is not set -# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set # CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set # CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set # CONFIG_FEATURE_INSMOD_LOADINKMEM is not set # CONFIG_FEATURE_INSMOD_LOAD_MAP is not set # CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set CONFIG_FEATURE_CHECK_TAINTED_MODULE=y +# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set CONFIG_FEATURE_MODUTILS_ALIAS=y CONFIG_FEATURE_MODUTILS_SYMBOLS=y CONFIG_DEFAULT_MODULES_DIR="/lib/modules" @@ -566,8 +573,13 @@ CONFIG_DEFAULT_DEPMOD_FILE="modules.dep" CONFIG_BLKID=y # CONFIG_FEATURE_BLKID_TYPE is not set # CONFIG_BLOCKDEV is not set +# CONFIG_CAL is not set +CONFIG_CHRT=y CONFIG_DMESG=y CONFIG_FEATURE_DMESG_PRETTY=y +CONFIG_EJECT=y +# CONFIG_FEATURE_EJECT_SCSI is not set +CONFIG_FALLOCATE=y # CONFIG_FATATTR is not set CONFIG_FBSET=y CONFIG_FEATURE_FBSET_FANCY=y @@ -587,17 +599,22 @@ CONFIG_FLOCK=y CONFIG_FDFLUSH=y CONFIG_FREERAMDISK=y # CONFIG_FSCK_MINIX is not set +CONFIG_FSFREEZE=y CONFIG_FSTRIM=y CONFIG_GETOPT=y CONFIG_FEATURE_GETOPT_LONG=y CONFIG_HEXDUMP=y # CONFIG_FEATURE_HEXDUMP_REVERSE is not set # CONFIG_HD is not set +CONFIG_XXD=y CONFIG_HWCLOCK=y CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y +# CONFIG_IONICE is not set CONFIG_IPCRM=y CONFIG_IPCS=y +CONFIG_LAST=y +# CONFIG_FEATURE_LAST_FANCY is not set CONFIG_LOSETUP=y CONFIG_LSPCI=y CONFIG_LSUSB=y @@ -607,6 +624,8 @@ CONFIG_FEATURE_MDEV_RENAME=y # CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set CONFIG_FEATURE_MDEV_EXEC=y # CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set +CONFIG_MESG=y +CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP=y CONFIG_MKE2FS=y # CONFIG_MKFS_EXT2 is not set # CONFIG_MKFS_MINIX is not set @@ -627,12 +646,14 @@ CONFIG_FEATURE_MOUNT_CIFS=y CONFIG_FEATURE_MOUNT_FLAGS=y CONFIG_FEATURE_MOUNT_FSTAB=y CONFIG_FEATURE_MOUNT_OTHERTAB=y +CONFIG_MOUNTPOINT=y # CONFIG_NSENTER is not set # CONFIG_FEATURE_NSENTER_LONG_OPTS is not set CONFIG_PIVOT_ROOT=y CONFIG_RDATE=y # CONFIG_RDEV is not set CONFIG_READPROFILE=y +CONFIG_RENICE=y # CONFIG_REV is not set # CONFIG_RTCWAKE is not set # CONFIG_SCRIPT is not set @@ -640,15 +661,20 @@ CONFIG_READPROFILE=y CONFIG_SETARCH=y CONFIG_LINUX32=y CONFIG_LINUX64=y +CONFIG_SETPRIV=y +CONFIG_SETSID=y CONFIG_SWAPON=y # CONFIG_FEATURE_SWAPON_DISCARD is not set # CONFIG_FEATURE_SWAPON_PRI is not set CONFIG_SWAPOFF=y CONFIG_SWITCH_ROOT=y +# CONFIG_TASKSET is not set +# CONFIG_FEATURE_TASKSET_FANCY is not set CONFIG_UEVENT=y CONFIG_UMOUNT=y CONFIG_FEATURE_UMOUNT_ALL=y # CONFIG_UNSHARE is not set +# CONFIG_WALL is not set # # Common options for mount/umount @@ -702,7 +728,6 @@ CONFIG_FEATURE_BEEP_LENGTH_MS=0 # CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set # CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set # CONFIG_FEATURE_CHAT_CLR_ABORT is not set -CONFIG_CHRT=y # CONFIG_CONSPY is not set CONFIG_CROND=y # CONFIG_FEATURE_CROND_D is not set @@ -717,8 +742,6 @@ CONFIG_DC=y # CONFIG_DEVFSD_VERBOSE is not set # CONFIG_FEATURE_DEVFS is not set CONFIG_DEVMEM=y -CONFIG_EJECT=y -# CONFIG_FEATURE_EJECT_SCSI is not set # CONFIG_FBSPLASH is not set # CONFIG_FLASHCP is not set # CONFIG_FLASH_ERASEALL is not set @@ -736,9 +759,6 @@ CONFIG_I2CSET=y CONFIG_I2CDUMP=y CONFIG_I2CDETECT=y # CONFIG_INOTIFYD is not set -# CONFIG_IONICE is not set -CONFIG_LAST=y -# CONFIG_FEATURE_LAST_FANCY is not set CONFIG_LESS=y CONFIG_FEATURE_LESS_MAXLINES=9999999 CONFIG_FEATURE_LESS_BRACKETS=y @@ -750,27 +770,24 @@ CONFIG_FEATURE_LESS_REGEXP=y # CONFIG_FEATURE_LESS_ASK_TERMINAL is not set # CONFIG_FEATURE_LESS_DASHCMD is not set # CONFIG_FEATURE_LESS_LINENUMS is not set +CONFIG_LSSCSI=y CONFIG_MAKEDEVS=y # CONFIG_FEATURE_MAKEDEVS_LEAF is not set CONFIG_FEATURE_MAKEDEVS_TABLE=y # CONFIG_MAN is not set CONFIG_MICROCOM=y -CONFIG_MOUNTPOINT=y CONFIG_MT=y # CONFIG_NANDWRITE is not set # CONFIG_NANDDUMP is not set +CONFIG_PARTPROBE=y # CONFIG_RAIDAUTORUN is not set # CONFIG_READAHEAD is not set # CONFIG_RFKILL is not set CONFIG_RUNLEVEL=y # CONFIG_RX is not set CONFIG_SETSERIAL=y -CONFIG_SETSID=y CONFIG_STRINGS=y -# CONFIG_TASKSET is not set -# CONFIG_FEATURE_TASKSET_FANCY is not set CONFIG_TIME=y -# CONFIG_TIMEOUT is not set # CONFIG_TTYSIZE is not set CONFIG_UBIRENAME=y # CONFIG_UBIATTACH is not set @@ -780,7 +797,6 @@ CONFIG_UBIRENAME=y # CONFIG_UBIRSVOL is not set # CONFIG_UBIUPDATEVOL is not set # CONFIG_VOLNAME is not set -# CONFIG_WALL is not set CONFIG_WATCHDOG=y # @@ -830,8 +846,6 @@ CONFIG_IFUP=y CONFIG_IFDOWN=y CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate" CONFIG_FEATURE_IFUPDOWN_IP=y -# CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set -# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set CONFIG_FEATURE_IFUPDOWN_IPV4=y CONFIG_FEATURE_IFUPDOWN_IPV6=y CONFIG_FEATURE_IFUPDOWN_MAPPING=y @@ -844,6 +858,12 @@ CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y # CONFIG_FEATURE_INETD_RPC is not set CONFIG_IP=y +CONFIG_IPADDR=y +CONFIG_IPLINK=y +CONFIG_IPROUTE=y +CONFIG_IPTUNNEL=y +CONFIG_IPRULE=y +CONFIG_IPNEIGH=y CONFIG_FEATURE_IP_ADDRESS=y CONFIG_FEATURE_IP_LINK=y CONFIG_FEATURE_IP_ROUTE=y @@ -851,17 +871,10 @@ CONFIG_FEATURE_IP_ROUTE_DIR="/etc/iproute2" CONFIG_FEATURE_IP_TUNNEL=y CONFIG_FEATURE_IP_RULE=y CONFIG_FEATURE_IP_NEIGH=y -CONFIG_FEATURE_IP_SHORT_FORMS=y # CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set -CONFIG_IPADDR=y -CONFIG_IPLINK=y -CONFIG_IPROUTE=y -CONFIG_IPTUNNEL=y -CONFIG_IPRULE=y -CONFIG_IPNEIGH=y # CONFIG_IPCALC is not set -# CONFIG_FEATURE_IPCALC_FANCY is not set # CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set +# CONFIG_FEATURE_IPCALC_FANCY is not set # CONFIG_FAKEIDENTD is not set CONFIG_NAMEIF=y # CONFIG_FEATURE_NAMEIF_EXTENDED is not set @@ -883,11 +896,13 @@ CONFIG_FEATURE_FANCY_PING=y # CONFIG_PSCAN is not set CONFIG_ROUTE=y # CONFIG_SLATTACH is not set +# CONFIG_SSL_CLIENT is not set # CONFIG_TCPSVD is not set # CONFIG_UDPSVD is not set CONFIG_TELNET=y CONFIG_FEATURE_TELNET_TTYPE=y CONFIG_FEATURE_TELNET_AUTOLOGIN=y +CONFIG_FEATURE_TELNET_WIDTH=y # CONFIG_TELNETD is not set # CONFIG_FEATURE_TELNETD_STANDALONE is not set # CONFIG_FEATURE_TELNETD_INETD_WAIT is not set @@ -902,6 +917,7 @@ CONFIG_FEATURE_TFTP_PUT=y CONFIG_FEATURE_TFTP_BLOCKSIZE=y # CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set # CONFIG_TFTP_DEBUG is not set +# CONFIG_TLS is not set CONFIG_TRACEROUTE=y # CONFIG_TRACEROUTE6 is not set # CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set @@ -910,29 +926,32 @@ CONFIG_TRACEROUTE=y # CONFIG_FEATURE_TUNCTL_UG is not set CONFIG_VCONFIG=y CONFIG_WGET=y +CONFIG_FEATURE_WGET_LONG_OPTIONS=y CONFIG_FEATURE_WGET_STATUSBAR=y CONFIG_FEATURE_WGET_AUTHENTICATION=y -CONFIG_FEATURE_WGET_LONG_OPTIONS=y CONFIG_FEATURE_WGET_TIMEOUT=y +# CONFIG_FEATURE_WGET_HTTPS is not set # CONFIG_FEATURE_WGET_OPENSSL is not set -# CONFIG_FEATURE_WGET_SSL_HELPER is not set # CONFIG_WHOIS is not set # CONFIG_ZCIP is not set # CONFIG_UDHCPC6 is not set +# CONFIG_FEATURE_UDHCPC6_RFC3646 is not set +# CONFIG_FEATURE_UDHCPC6_RFC4704 is not set +# CONFIG_FEATURE_UDHCPC6_RFC4833 is not set # CONFIG_UDHCPD is not set -# CONFIG_DHCPRELAY is not set -# CONFIG_DUMPLEASES is not set # CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set # CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set CONFIG_DHCPD_LEASES_FILE="" +# CONFIG_DUMPLEASES is not set +# CONFIG_DHCPRELAY is not set CONFIG_UDHCPC=y CONFIG_FEATURE_UDHCPC_ARPING=y CONFIG_FEATURE_UDHCPC_SANITIZEOPT=y +CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" # CONFIG_FEATURE_UDHCP_PORT is not set CONFIG_UDHCP_DEBUG=0 # CONFIG_FEATURE_UDHCP_RFC3397 is not set CONFIG_FEATURE_UDHCP_8021Q=y -CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n" @@ -973,18 +992,19 @@ CONFIG_FEATURE_PIDOF_SINGLE=y CONFIG_FEATURE_PIDOF_OMIT=y # CONFIG_PMAP is not set # CONFIG_POWERTOP is not set +# CONFIG_FEATURE_POWERTOP_INTERACTIVE is not set CONFIG_PS=y # CONFIG_FEATURE_PS_WIDE is not set # CONFIG_FEATURE_PS_LONG is not set # CONFIG_FEATURE_PS_TIME is not set -# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set # CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set +# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set # CONFIG_PSTREE is not set # CONFIG_PWDX is not set -CONFIG_RENICE=y # CONFIG_SMEMCAP is not set CONFIG_BB_SYSCTL=y CONFIG_TOP=y +CONFIG_FEATURE_TOP_INTERACTIVE=y CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y # CONFIG_FEATURE_TOP_SMP_CPU is not set @@ -1030,27 +1050,32 @@ CONFIG_SVC=y # # Shells # +CONFIG_SH_IS_ASH=y +# CONFIG_SH_IS_HUSH is not set +# CONFIG_SH_IS_NONE is not set +# CONFIG_BASH_IS_ASH is not set +# CONFIG_BASH_IS_HUSH is not set +CONFIG_BASH_IS_NONE=y CONFIG_ASH=y CONFIG_ASH_OPTIMIZE_FOR_SIZE=y CONFIG_ASH_INTERNAL_GLOB=y -CONFIG_ASH_RANDOM_SUPPORT=y -CONFIG_ASH_EXPAND_PRMT=y CONFIG_ASH_BASH_COMPAT=y -CONFIG_ASH_IDLE_TIMEOUT=y CONFIG_ASH_JOB_CONTROL=y CONFIG_ASH_ALIAS=y -CONFIG_ASH_GETOPTS=y -CONFIG_ASH_BUILTIN_ECHO=y -CONFIG_ASH_BUILTIN_PRINTF=y -CONFIG_ASH_BUILTIN_TEST=y -CONFIG_ASH_HELP=y -CONFIG_ASH_CMDCMD=y +CONFIG_ASH_RANDOM_SUPPORT=y +CONFIG_ASH_EXPAND_PRMT=y +CONFIG_ASH_IDLE_TIMEOUT=y # CONFIG_ASH_MAIL is not set +CONFIG_ASH_ECHO=y +CONFIG_ASH_PRINTF=y +CONFIG_ASH_TEST=y +CONFIG_ASH_HELP=y +CONFIG_ASH_GETOPTS=y +CONFIG_ASH_CMDCMD=y # CONFIG_CTTYHACK is not set # CONFIG_HUSH is not set # CONFIG_HUSH_BASH_COMPAT is not set # CONFIG_HUSH_BRACE_EXPANSION is not set -# CONFIG_HUSH_HELP is not set # CONFIG_HUSH_INTERACTIVE is not set # CONFIG_HUSH_SAVEHISTORY is not set # CONFIG_HUSH_JOB is not set @@ -1061,17 +1086,30 @@ CONFIG_ASH_CMDCMD=y # CONFIG_HUSH_FUNCTIONS is not set # CONFIG_HUSH_LOCAL is not set # CONFIG_HUSH_RANDOM_SUPPORT is not set -# CONFIG_HUSH_EXPORT_N is not set # CONFIG_HUSH_MODE_X is not set +# CONFIG_HUSH_ECHO is not set +# CONFIG_HUSH_PRINTF is not set +# CONFIG_HUSH_TEST is not set +# CONFIG_HUSH_HELP is not set +# CONFIG_HUSH_EXPORT is not set +# CONFIG_HUSH_EXPORT_N is not set +# CONFIG_HUSH_KILL is not set +# CONFIG_HUSH_WAIT is not set +# CONFIG_HUSH_TRAP is not set +# CONFIG_HUSH_TYPE is not set +# CONFIG_HUSH_READ is not set +# CONFIG_HUSH_SET is not set +# CONFIG_HUSH_UNSET is not set +# CONFIG_HUSH_ULIMIT is not set +# CONFIG_HUSH_UMASK is not set +# CONFIG_HUSH_MEMLEAK is not set # CONFIG_MSH is not set -CONFIG_FEATURE_SH_IS_ASH=y -# CONFIG_FEATURE_SH_IS_HUSH is not set -# CONFIG_FEATURE_SH_IS_NONE is not set -# CONFIG_FEATURE_BASH_IS_ASH is not set -# CONFIG_FEATURE_BASH_IS_HUSH is not set -CONFIG_FEATURE_BASH_IS_NONE=y -CONFIG_SH_MATH_SUPPORT=y -# CONFIG_SH_MATH_SUPPORT_64 is not set + +# +# Options common to all shells +# +CONFIG_FEATURE_SH_MATH=y +CONFIG_FEATURE_SH_MATH_64=y CONFIG_FEATURE_SH_EXTRA_QUIET=y # CONFIG_FEATURE_SH_STANDALONE is not set # CONFIG_FEATURE_SH_NOFORK is not set diff --git a/package/busybox/busybox.hash b/package/busybox/busybox.hash index d73f8d546b..3e1956d0a0 100644 --- a/package/busybox/busybox.hash +++ b/package/busybox/busybox.hash @@ -1,3 +1,5 @@ -# From https://busybox.net/downloads/busybox-1.26.2.tar.bz2.sign -md5 bb59d25ee2643db20f212eec539429f1 busybox-1.26.2.tar.bz2 -sha1 0b3e3cd49d6d9e30f66e364bf842663348b23dc9 busybox-1.26.2.tar.bz2 +# From https://busybox.net/downloads/busybox-1.27.2.tar.bz2.sign +md5 476186f4bab81781dab2369bfd42734e busybox-1.27.2.tar.bz2 +sha1 11669e223cc38de646ce26080e91ca29b8d42ad9 busybox-1.27.2.tar.bz2 +# License files, locally calculated +sha256 bbfc9843646d483c334664f651c208b9839626891d8f17604db2146962f43548 LICENSE diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk index 577f2f2470..1aeeeef4bf 100644 --- a/package/busybox/busybox.mk +++ b/package/busybox/busybox.mk @@ -4,10 +4,10 @@ # ################################################################################ -BUSYBOX_VERSION = 1.26.2 +BUSYBOX_VERSION = 1.27.2 BUSYBOX_SITE = http://www.busybox.net/downloads BUSYBOX_SOURCE = busybox-$(BUSYBOX_VERSION).tar.bz2 -BUSYBOX_LICENSE = GPLv2 +BUSYBOX_LICENSE = GPL-2.0 BUSYBOX_LICENSE_FILES = LICENSE define BUSYBOX_HELP_CMDS @@ -52,7 +52,7 @@ BUSYBOX_MAKE_OPTS = \ SKIP_STRIP=y ifndef BUSYBOX_CONFIG_FILE - BUSYBOX_CONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_BUSYBOX_CONFIG)) +BUSYBOX_CONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_BUSYBOX_CONFIG)) endif BUSYBOX_KCONFIG_FILE = $(BUSYBOX_CONFIG_FILE) @@ -60,9 +60,32 @@ BUSYBOX_KCONFIG_FRAGMENT_FILES = $(call qstrip,$(BR2_PACKAGE_BUSYBOX_CONFIG_FRAG BUSYBOX_KCONFIG_EDITORS = menuconfig xconfig gconfig BUSYBOX_KCONFIG_OPTS = $(BUSYBOX_MAKE_OPTS) +ifeq ($(BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES),y) +define BUSYBOX_PERMISSIONS +# Set permissions on all applets with BB_SUID_REQUIRE and BB_SUID_MAYBE. +# 12 Applets are pulled from applets.h using grep command : +# grep -r -e "APPLET.*BB_SUID_REQUIRE\|APPLET.*BB_SUID_MAYBE" \ +# $(@D)/include/applets.h +# These applets are added to the device table and the makedev file +# ignores the files with type 'F' ( optional files). + /usr/bin/wall F 4755 0 0 - - - - - + /bin/ping F 4755 0 0 - - - - - + /bin/ping6 F 4755 0 0 - - - - - + /usr/bin/crontab F 4755 0 0 - - - - - + /sbin/findfs F 4755 0 0 - - - - - + /bin/login F 4755 0 0 - - - - - + /bin/mount F 4755 0 0 - - - - - + /usr/bin/passwd F 4755 0 0 - - - - - + /bin/su F 4755 0 0 - - - - - + /usr/bin/traceroute F 4755 0 0 - - - - - + /usr/bin/traceroute6 F 4755 0 0 - - - - - + /usr/bin/vlock F 4755 0 0 - - - - - +endef +else define BUSYBOX_PERMISSIONS /bin/busybox f 4755 0 0 - - - - - endef +endif # If mdev will be used for device creation enable it and copy S10mdev to /etc/init.d ifeq ($(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV),y) @@ -158,10 +181,22 @@ define BUSYBOX_INSTALL_UDHCPC_SCRIPT endef ifeq ($(BR2_INIT_BUSYBOX),y) + define BUSYBOX_SET_INIT $(call KCONFIG_ENABLE_OPT,CONFIG_INIT,$(BUSYBOX_BUILD_CONFIG)) endef -endif + +ifeq ($(BR2_TARGET_GENERIC_GETTY),y) +define BUSYBOX_SET_GETTY + $(SED) '/# GENERIC_SERIAL$$/s~^.*#~$(SYSTEM_GETTY_PORT)::respawn:/sbin/getty -L $(SYSTEM_GETTY_OPTIONS) $(SYSTEM_GETTY_PORT) $(SYSTEM_GETTY_BAUDRATE) $(SYSTEM_GETTY_TERM) #~' \ + $(TARGET_DIR)/etc/inittab +endef +BUSYBOX_TARGET_FINALIZE_HOOKS += BUSYBOX_SET_GETTY +endif # BR2_TARGET_GENERIC_GETTY + +BUSYBOX_TARGET_FINALIZE_HOOKS += SYSTEM_REMOUNT_ROOT_INITTAB + +endif # BR2_INIT_BUSYBOX ifeq ($(BR2_PACKAGE_BUSYBOX_SELINUX),y) BUSYBOX_DEPENDENCIES += host-pkgconf libselinux libsepol @@ -171,6 +206,17 @@ define BUSYBOX_SET_SELINUX endef endif +ifeq ($(BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES),y) +define BUSYBOX_SET_INDIVIDUAL_BINARIES + $(call KCONFIG_ENABLE_OPT,CONFIG_BUILD_LIBBUSYBOX,$(BUSYBOX_BUILD_CONFIG)) + $(call KCONFIG_ENABLE_OPT,CONFIG_FEATURE_INDIVIDUAL,$(BUSYBOX_BUILD_CONFIG)) +endef + +define BUSYBOX_INSTALL_INDIVIDUAL_BINARIES + rm -f $(TARGET_DIR)/bin/busybox +endef +endif + define BUSYBOX_INSTALL_LOGGING_SCRIPT if grep -q CONFIG_SYSLOGD=y $(@D)/.config; then \ $(INSTALL) -m 0755 -D package/busybox/S01logging \ @@ -228,6 +274,7 @@ define BUSYBOX_KCONFIG_FIXUP_CMDS $(BUSYBOX_SET_INIT) $(BUSYBOX_SET_WATCHDOG) $(BUSYBOX_SET_SELINUX) + $(BUSYBOX_SET_INDIVIDUAL_BINARIES) $(BUSYBOX_MUSL_TWEAKS) endef @@ -251,6 +298,7 @@ define BUSYBOX_INSTALL_INIT_SYSV $(BUSYBOX_INSTALL_LOGGING_SCRIPT) $(BUSYBOX_INSTALL_WATCHDOG_SCRIPT) $(BUSYBOX_INSTALL_TELNET_SCRIPT) + $(BUSYBOX_INSTALL_INDIVIDUAL_BINARIES) endef # Checks to give errors that the user can understand diff --git a/package/busybox/mdev.conf b/package/busybox/mdev.conf index 241c1c27df..eaece1b73e 100644 --- a/package/busybox/mdev.conf +++ b/package/busybox/mdev.conf @@ -23,17 +23,17 @@ ttyS[0-9]* root:root 660 ttyUSB[0-9]* root:root 660 # alsa sound devices -pcm.* root:audio 660 =snd/ -control.* root:audio 660 =snd/ -midi.* root:audio 660 =snd/ -seq root:audio 660 =snd/ -timer root:audio 660 =snd/ +snd/pcm.* root:audio 660 +snd/control.* root:audio 660 +snd/midi.* root:audio 660 +snd/seq root:audio 660 +snd/timer root:audio 660 # input stuff -event[0-9]+ root:root 640 =input/ -mice root:root 640 =input/ -mouse[0-9] root:root 640 =input/ -ts[0-9] root:root 600 =input/ +input/event[0-9]+ root:root 640 +input/mice root:root 640 +input/mouse[0-9] root:root 640 +input/ts[0-9] root:root 600 # load modules $MODALIAS=.* root:root 660 @modprobe "$MODALIAS" diff --git a/package/bwm-ng/bwm-ng.hash b/package/bwm-ng/bwm-ng.hash index 1d3a240a26..4c12b0d81a 100644 --- a/package/bwm-ng/bwm-ng.hash +++ b/package/bwm-ng/bwm-ng.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 027cf3c960cd96fc9ffacdf7713df62d0fc55eeef4a1388289f8a62ae5e50df0 bwm-ng-0.6.1.tar.gz +sha256 4b34a8ac2eae2d204d6dea8258c5e34b37094259086f8c9169391409a9311fb5 bwm-ng-f54b3fad2c80bfe63f920c9b5e7c1d80389c57ef.tar.gz diff --git a/package/bwm-ng/bwm-ng.mk b/package/bwm-ng/bwm-ng.mk index e285422b92..587ffbea5b 100644 --- a/package/bwm-ng/bwm-ng.mk +++ b/package/bwm-ng/bwm-ng.mk @@ -4,11 +4,12 @@ # ################################################################################ -BWM_NG_VERSION = 0.6.1 -BWM_NG_SITE = http://www.gropp.org/bwm-ng +BWM_NG_VERSION = f54b3fad2c80bfe63f920c9b5e7c1d80389c57ef +BWM_NG_SITE = $(call github,vgropp,bwm-ng,$(BWM_NG_VERSION)) BWM_NG_CONF_OPTS = --with-procnetdev --with-diskstats -BWM_NG_LICENSE = GPLv2 +BWM_NG_LICENSE = GPL-2.0 BWM_NG_LICENSE_FILES = COPYING +BWM_NG_AUTORECONF = YES ifeq ($(BR2_PACKAGE_NCURSES),y) BWM_NG_CONF_OPTS += --with-ncurses diff --git a/package/bzip2/bzip2.mk b/package/bzip2/bzip2.mk index 0597ab97d6..e43533072b 100644 --- a/package/bzip2/bzip2.mk +++ b/package/bzip2/bzip2.mk @@ -12,13 +12,13 @@ BZIP2_LICENSE_FILES = LICENSE ifeq ($(BR2_STATIC_LIBS),) define BZIP2_BUILD_SHARED_CMDS - $(TARGET_MAKE_ENV) + $(TARGET_MAKE_ENV) \ $(MAKE) -C $(@D) -f Makefile-libbz2_so $(TARGET_CONFIGURE_OPTS) endef endif define BZIP2_BUILD_CMDS - $(TARGET_MAKE_ENV) + $(TARGET_MAKE_ENV) \ $(MAKE) -C $(@D) libbz2.a bzip2 bzip2recover $(TARGET_CONFIGURE_OPTS) $(BZIP2_BUILD_SHARED_CMDS) endef @@ -60,9 +60,9 @@ endef define HOST_BZIP2_INSTALL_CMDS $(HOST_MAKE_ENV) \ - $(MAKE) PREFIX=$(HOST_DIR)/usr -C $(@D) install + $(MAKE) PREFIX=$(HOST_DIR) -C $(@D) install $(HOST_MAKE_ENV) \ - $(MAKE) -f Makefile-libbz2_so PREFIX=$(HOST_DIR)/usr -C $(@D) install + $(MAKE) -f Makefile-libbz2_so PREFIX=$(HOST_DIR) -C $(@D) install endef $(eval $(generic-package)) diff --git a/package/c-ares/c-ares.hash b/package/c-ares/c-ares.hash index f46ef02aba..79928ae843 100644 --- a/package/c-ares/c-ares.hash +++ b/package/c-ares/c-ares.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 8692f9403cdcdf936130e045c84021665118ee9bfea905d1a76f04d4e6f365fb c-ares-1.12.0.tar.gz +sha256 03f708f1b14a26ab26c38abd51137640cb444d3ec72380b21b20f1a8d2861da7 c-ares-1.13.0.tar.gz diff --git a/package/c-ares/c-ares.mk b/package/c-ares/c-ares.mk index e817d4add5..72019a0425 100644 --- a/package/c-ares/c-ares.mk +++ b/package/c-ares/c-ares.mk @@ -4,7 +4,7 @@ # ################################################################################ -C_ARES_VERSION = 1.12.0 +C_ARES_VERSION = 1.13.0 C_ARES_SITE = http://c-ares.haxx.se/download C_ARES_INSTALL_STAGING = YES C_ARES_CONF_OPTS = --with-random=/dev/urandom diff --git a/package/c-icap-modules/c-icap-modules.hash b/package/c-icap-modules/c-icap-modules.hash index 5df1449871..a9fee87e43 100644 --- a/package/c-icap-modules/c-icap-modules.hash +++ b/package/c-icap-modules/c-icap-modules.hash @@ -1,3 +1,3 @@ # From http://sourceforge.net/projects/c-icap/files/c-icap-modules/0.4.x/ -md5 5acd9487679ed47fbee00270d436718d c_icap_modules-0.4.2.tar.gz -sha1 e5f4203980b732b9de165c1e83c4703734c3e0e2 c_icap_modules-0.4.2.tar.gz +md5 1a7eaa7a34ff35c2440cf303f7b45f22 c_icap_modules-0.4.5.tar.gz +sha1 515145e6d29413aff8543937504dc5c419043fd5 c_icap_modules-0.4.5.tar.gz diff --git a/package/c-icap-modules/c-icap-modules.mk b/package/c-icap-modules/c-icap-modules.mk index cf388aaabc..d75437898c 100644 --- a/package/c-icap-modules/c-icap-modules.mk +++ b/package/c-icap-modules/c-icap-modules.mk @@ -4,10 +4,10 @@ # ################################################################################ -C_ICAP_MODULES_VERSION = 0.4.2 +C_ICAP_MODULES_VERSION = 0.4.5 C_ICAP_MODULES_SOURCE = c_icap_modules-$(C_ICAP_MODULES_VERSION).tar.gz C_ICAP_MODULES_SITE = http://downloads.sourceforge.net/c-icap -C_ICAP_MODULES_LICENSE = GPLv2+ +C_ICAP_MODULES_LICENSE = GPL-2.0+ C_ICAP_MODULES_LICENSE_FILES = COPYING C_ICAP_MODULES_DEPENDENCIES = c-icap diff --git a/package/c-icap/c-icap.mk b/package/c-icap/c-icap.mk index 3078721bce..c722098c59 100644 --- a/package/c-icap/c-icap.mk +++ b/package/c-icap/c-icap.mk @@ -7,13 +7,11 @@ C_ICAP_VERSION = 0.4.2 C_ICAP_SOURCE = c_icap-$(C_ICAP_VERSION).tar.gz C_ICAP_SITE = http://downloads.sourceforge.net/c-icap -C_ICAP_LICENSE = LGPLv2.1+ +C_ICAP_LICENSE = LGPL-2.1+ C_ICAP_LICENSE_FILES = COPYING C_ICAP_INSTALL_STAGING = YES C_ICAP_CONFIG_SCRIPTS = c-icap-config c-icap-libicapapi-config C_ICAP_CONF_OPTS = \ - --with-process-mutexes=posix \ - --without-ldap \ --without-perl \ --enable-large-files \ --enable-ipv6 @@ -29,17 +27,45 @@ C_ICAP_CONF_ENV = ac_cv_10031b_ipc_sem=yes ac_cv_fcntl=yes C_ICAP_AUTORECONF = YES ifeq ($(BR2_PACKAGE_BERKELEYDB),y) -C_ICAP_CONF_OPTS += --with-berkeleydb +C_ICAP_CONF_OPTS += --with-bdb C_ICAP_DEPENDENCIES += berkeleydb else -C_ICAP_CONF_OPTS += --without-berkeleydb +C_ICAP_CONF_OPTS += --without-bdb endif ifeq ($(BR2_PACKAGE_BZIP2),y) -C_ICAP_CONF_OPTS += --with-bzip2 +C_ICAP_CONF_OPTS += --with-bzlib C_ICAP_DEPENDENCIES += bzip2 else -C_ICAP_CONF_OPTS += --without-bzip2 +C_ICAP_CONF_OPTS += --without-bzlib +endif + +ifeq ($(BR2_PACKAGE_LIBMEMCACHED),y) +C_ICAP_CONF_OPTS += --with-memcached +C_ICAP_DEPENDENCIES += libmemcached +else +C_ICAP_CONF_OPTS += --without-memcached +endif + +ifeq ($(BR2_PACKAGE_OPENLDAP),y) +C_ICAP_CONF_OPTS += --with-ldap +C_ICAP_DEPENDENCIES += openldap +else +C_ICAP_CONF_OPTS += --without-ldap +endif + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +C_ICAP_CONF_OPTS += --with-openssl +C_ICAP_DEPENDENCIES += openssl +else +C_ICAP_CONF_OPTS += --without-openssl +endif + +ifeq ($(BR2_PACKAGE_PCRE),y) +C_ICAP_CONF_OPTS += --with-pcre +C_ICAP_DEPENDENCIES += pcre +else +C_ICAP_CONF_OPTS += --without-pcre endif ifeq ($(BR2_PACKAGE_ZLIB),y) diff --git a/package/c-periphery/0001-Add-missing-header-for-musl-compatibility.patch b/package/c-periphery/0001-Add-missing-header-for-musl-compatibility.patch deleted file mode 100644 index 108297c9c2..0000000000 --- a/package/c-periphery/0001-Add-missing-header-for-musl-compatibility.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 1d8cb0ad54099c3d7261aaa19a2c0786f16736d0 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sat, 8 Aug 2015 22:42:39 +0200 -Subject: [PATCH] Add missing header for musl compatibility - - is needed to get the definition of _IOC_SIZEBITS and -solve the following build failure: - -src/spi.c: In function 'spi_transfer': -src/spi.c:100:24: error: '_IOC_SIZEBITS' undeclared (first use in this function) - if (ioctl(spi->fd, SPI_IOC_MESSAGE(1), &spi_xfer) < 1) - -Signed-off-by: Thomas Petazzoni ---- - src/spi.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/spi.c b/src/spi.c -index 52a8d3d..1a6b17c 100644 ---- a/src/spi.c -+++ b/src/spi.c -@@ -16,6 +16,7 @@ - #include - - #include -+#include - #include - - #include "spi.h" --- -2.5.0 - diff --git a/package/c-periphery/0002-Fix-build-on-SPARC.patch b/package/c-periphery/0002-Fix-build-on-SPARC.patch deleted file mode 100644 index e491f6f728..0000000000 --- a/package/c-periphery/0002-Fix-build-on-SPARC.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 295316c3f44c3e779e85d7453424496a3bb4bc48 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sat, 8 Aug 2015 22:56:09 +0200 -Subject: [PATCH] Fix build on SPARC - -On SPARC, the definitions of B2500000, B3000000, B3500000 and B4000000 -are not necessarily available, so use those values only if defined in -the kernel headers. - -It fixes SPARC build failures such as: - -src/serial.c: In function '_serial_baudrate_to_bits': -src/serial.c:73:30: error: 'B2500000' undeclared (first use in this function) - case 2500000: return B2500000; - ^ -src/serial.c:73:30: note: each undeclared identifier is reported only once for each function it appears in -src/serial.c:74:30: error: 'B3000000' undeclared (first use in this function) - case 3000000: return B3000000; - ^ - -Signed-off-by: Thomas Petazzoni ---- - src/serial.c | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - -diff --git a/src/serial.c b/src/serial.c -index e385309..efd425e 100644 ---- a/src/serial.c -+++ b/src/serial.c -@@ -70,10 +70,18 @@ static int _serial_baudrate_to_bits(uint32_t baudrate) { - case 1152000: return B1152000; - case 1500000: return B1500000; - case 2000000: return B2000000; -+#ifdef B2500000 - case 2500000: return B2500000; -+#endif -+#ifdef B3000000 - case 3000000: return B3000000; -+#endif -+#ifdef B3500000 - case 3500000: return B3500000; -+#endif -+#ifdef B4000000 - case 4000000: return B4000000; -+#endif - default: return -1; - } - } -@@ -107,10 +115,18 @@ static int _serial_bits_to_baudrate(uint32_t bits) { - case B1152000: return 1152000; - case B1500000: return 1500000; - case B2000000: return 2000000; -+#ifdef B2500000 - case B2500000: return 2500000; -+#endif -+#ifdef B3000000 - case B3000000: return 3000000; -+#endif -+#ifdef B3500000 - case B3500000: return 3500000; -+#endif -+#ifdef B4000000 - case B4000000: return 4000000; -+#endif - default: return -1; - } - } --- -2.5.0 - diff --git a/package/c-periphery/c-periphery.hash b/package/c-periphery/c-periphery.hash index 516d340d96..524925ff97 100644 --- a/package/c-periphery/c-periphery.hash +++ b/package/c-periphery/c-periphery.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 5ae4c3f9de0e64d8153ee58b85c4a5defb9f755c6ae215f11b46719bbbac1335 c-periphery-v1.0.3.tar.gz +sha256 c6cfaae7496ff6500b747106571de6b4ca7d80a383297e592ffcfa3413b66321 c-periphery-v1.1.1.tar.gz diff --git a/package/c-periphery/c-periphery.mk b/package/c-periphery/c-periphery.mk index 730b3bc30b..359c860e89 100644 --- a/package/c-periphery/c-periphery.mk +++ b/package/c-periphery/c-periphery.mk @@ -4,7 +4,7 @@ # ################################################################################ -C_PERIPHERY_VERSION = v1.0.3 +C_PERIPHERY_VERSION = v1.1.1 C_PERIPHERY_SITE = $(call github,vsergeev,c-periphery,$(C_PERIPHERY_VERSION)) C_PERIPHERY_INSTALL_STAGING = YES # only a static library diff --git a/package/ca-certificates/Config.in b/package/ca-certificates/Config.in index a278a620c7..6bb71820d2 100644 --- a/package/ca-certificates/Config.in +++ b/package/ca-certificates/Config.in @@ -6,6 +6,7 @@ config BR2_PACKAGE_CA_CERTIFICATES connections. It includes, among others, certificate authorities used by the - Debian infrastructure and those shipped with Mozilla's browsers. + Debian infrastructure and those shipped with Mozilla's + browsers. http://anonscm.debian.org/gitweb/?p=collab-maint/ca-certificates.git diff --git a/package/ca-certificates/ca-certificates.mk b/package/ca-certificates/ca-certificates.mk index d077a1963a..f712e7988e 100644 --- a/package/ca-certificates/ca-certificates.mk +++ b/package/ca-certificates/ca-certificates.mk @@ -12,7 +12,7 @@ CA_CERTIFICATES_DEPENDENCIES = host-openssl # but it must be at least python 2.7 CA_CERTIFICATES_DEPENDENCIES += \ $(if $(BR2_PACKAGE_PYTHON3),host-python3,host-python) -CA_CERTIFICATES_LICENSE = GPLv2+ (script), MPLv2.0 (data) +CA_CERTIFICATES_LICENSE = GPL-2.0+ (script), MPL-2.0 (data) CA_CERTIFICATES_LICENSE_FILES = debian/copyright define CA_CERTIFICATES_BUILD_CMDS @@ -37,7 +37,7 @@ define CA_CERTIFICATES_INSTALL_TARGET_CMDS done # Create symlinks to the certificates by their hash values - $(HOST_DIR)/usr/bin/c_rehash $(TARGET_DIR)/etc/ssl/certs + $(HOST_DIR)/bin/c_rehash $(TARGET_DIR)/etc/ssl/certs endef $(eval $(generic-package)) diff --git a/package/cache-calibrator/cache-calibrator.hash b/package/cache-calibrator/cache-calibrator.hash index df61d17e10..a4b4b70cf7 100644 --- a/package/cache-calibrator/cache-calibrator.hash +++ b/package/cache-calibrator/cache-calibrator.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 2018ed8fa733155d44ceb1c0066c5cf8df7771cdf7cfca0a07b8dd9bebd9c221 calibrator.c +sha256 a853663f5b4fb3ad77bf2790ab53146f456b8d9b9ddf83b99fe28c0bdec42514 calibrator.c.license diff --git a/package/cache-calibrator/cache-calibrator.mk b/package/cache-calibrator/cache-calibrator.mk index d0620655c7..6f12d119ef 100644 --- a/package/cache-calibrator/cache-calibrator.mk +++ b/package/cache-calibrator/cache-calibrator.mk @@ -7,12 +7,17 @@ CACHE_CALIBRATOR_SOURCE = calibrator.c CACHE_CALIBRATOR_SITE = http://homepages.cwi.nl/~manegold/Calibrator/src CACHE_CALIBRATOR_LICENSE = Cache calibrator license -CACHE_CALIBRATOR_LICENSE_FILES = calibrator.c +CACHE_CALIBRATOR_LICENSE_FILES = calibrator.c.license define CACHE_CALIBRATOR_EXTRACT_CMDS cp $(DL_DIR)/$(CACHE_CALIBRATOR_SOURCE) $(@D) endef +define CACHE_CALIBRATOR_EXTRACT_LICENSE + head -n 38 $(@D)/calibrator.c >$(@D)/calibrator.c.license +endef +CACHE_CALIBRATOR_PRE_PATCH_HOOKS += CACHE_CALIBRATOR_EXTRACT_LICENSE + define CACHE_CALIBRATOR_BUILD_CMDS $(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS) $(@D)/calibrator.c -o $(@D)/cache_calibrator -lm endef diff --git a/package/cairo/cairo.hash b/package/cairo/cairo.hash index dd5365ba7e..f3aa01f2cd 100644 --- a/package/cairo/cairo.hash +++ b/package/cairo/cairo.hash @@ -1,4 +1,4 @@ -# From http://cairographics.org/releases/cairo-1.14.8.tar.xz.sha1 -sha1 c6f7b99986f93c9df78653c3e6a3b5043f65145e cairo-1.14.8.tar.xz +# From http://cairographics.org/releases/cairo-1.14.10.tar.xz.sha1 +sha1 28c59d85d6b790c21b8b59ece73a6a1dda28d69a cairo-1.14.10.tar.xz # Calculated based on the hash above -sha256 d1f2d98ae9a4111564f6de4e013d639cf77155baf2556582295a0f00a9bc5e20 cairo-1.14.8.tar.xz +sha256 7e87878658f2c9951a14fc64114d4958c0e65ac47530b8ac3078b2ce41b66a09 cairo-1.14.10.tar.xz diff --git a/package/cairo/cairo.mk b/package/cairo/cairo.mk index 761c6f4df2..9749056776 100644 --- a/package/cairo/cairo.mk +++ b/package/cairo/cairo.mk @@ -4,10 +4,10 @@ # ################################################################################ -CAIRO_VERSION = 1.14.8 +CAIRO_VERSION = 1.14.10 CAIRO_SOURCE = cairo-$(CAIRO_VERSION).tar.xz -CAIRO_LICENSE = LGPLv2.1+ -CAIRO_LICENSE_FILES = COPYING +CAIRO_LICENSE = LGPL-2.1 or MPL-1.1 (library) +CAIRO_LICENSE_FILES = COPYING COPYING-LGPL-2.1 COPYING-MPL-1.1 CAIRO_SITE = http://cairographics.org/releases CAIRO_INSTALL_STAGING = YES CAIRO_AUTORECONF = YES diff --git a/package/cairomm/Config.in b/package/cairomm/Config.in index c0d5ccd1df..840549b47c 100644 --- a/package/cairomm/Config.in +++ b/package/cairomm/Config.in @@ -1,13 +1,13 @@ config BR2_PACKAGE_CAIROMM bool "cairomm" - select BR2_PACKAGE_CAIRO - select BR2_PACKAGE_LIBGLIB2 - select BR2_PACKAGE_LIBSIGC depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_USE_WCHAR # libglib2 depends on BR2_USE_MMU # libglib2 depends on BR2_INSTALL_LIBSTDCPP + select BR2_PACKAGE_CAIRO + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBSIGC help The cairomm package is a set of C++ bindings for Cairo. diff --git a/package/cairomm/cairomm.mk b/package/cairomm/cairomm.mk index 7a56a6822a..07aae971d0 100644 --- a/package/cairomm/cairomm.mk +++ b/package/cairomm/cairomm.mk @@ -6,7 +6,7 @@ CAIROMM_VERSION_MAJOR = 1.12 CAIROMM_VERSION = $(CAIROMM_VERSION_MAJOR).0 -CAIROMM_LICENSE = LGPLv2+ +CAIROMM_LICENSE = LGPL-2.0+ CAIROMM_LICENSE_FILES = COPYING CAIROMM_SOURCE = cairomm-$(CAIROMM_VERSION).tar.xz CAIROMM_SITE = http://ftp.gnome.org/pub/gnome/sources/cairomm/$(CAIROMM_VERSION_MAJOR) diff --git a/package/can-utils/can-utils.mk b/package/can-utils/can-utils.mk index 6be41a62b0..45d5e29fec 100644 --- a/package/can-utils/can-utils.mk +++ b/package/can-utils/can-utils.mk @@ -6,6 +6,7 @@ CAN_UTILS_VERSION = c3305fdd515464153d20199db232b6124bc962c0 CAN_UTILS_SITE = $(call github,linux-can,can-utils,$(CAN_UTILS_VERSION)) +CAN_UTILS_LICENSE = BSD-3-Clause or GPL-2.0, GPL-2.0+ CAN_UTILS_AUTORECONF = YES $(eval $(autotools-package)) diff --git a/package/canfestival/Config.in b/package/canfestival/Config.in index ca949565f5..8300e26582 100644 --- a/package/canfestival/Config.in +++ b/package/canfestival/Config.in @@ -16,8 +16,8 @@ config BR2_PACKAGE_CANFESTIVAL depends on !BR2_STATIC_LIBS help CanFestival is an OpenSource CANOpen framework, licensed under - LGPLv2.1 and GPLv2 for some drivers (virtual_kernel, lincan and - copcican_comedi). + LGPLv2.1 and GPLv2 for some drivers (virtual_kernel, lincan + and copcican_comedi). http://www.canfestival.org @@ -78,9 +78,9 @@ config BR2_PACKAGE_CANFESTIVAL_DRIVER config BR2_PACKAGE_CANFESTIVAL_ADDITIONAL_OPTIONS string "additional configure options" help - Additional options can be passed directly to the configure script - (e.g.: --MAX_CAN_BUS_ID=..., --SDO_MAX_LENGTH_TRANSFER=..., - --SDO_BLOCK_SIZE=...). + Additional options can be passed directly to the configure + script (e.g.: --MAX_CAN_BUS_ID=..., + --SDO_MAX_LENGTH_TRANSFER=..., --SDO_BLOCK_SIZE=...). config BR2_PACKAGE_CANFESTIVAL_INSTALL_EXAMPLES bool "install examples" diff --git a/package/canfestival/canfestival.hash b/package/canfestival/canfestival.hash new file mode 100644 index 0000000000..dc32bd9a2e --- /dev/null +++ b/package/canfestival/canfestival.hash @@ -0,0 +1,3 @@ +# License files, locally calculated +sha256 b5c45f160093a6c2fb7bd0078f50c62f4b4089b6206b0e90b0f122b40a2fe110 COPYING +sha256 d4594b82f4d50840df6a7e9d14132a8c0a3cc05d0ac46d15310a264a1f75447e LICENCE diff --git a/package/canfestival/canfestival.mk b/package/canfestival/canfestival.mk index 61578d3162..760f14aecd 100644 --- a/package/canfestival/canfestival.mk +++ b/package/canfestival/canfestival.mk @@ -7,7 +7,7 @@ CANFESTIVAL_VERSION = 7740ac6fdedc23e1ed6908d3d7db54833c88572b CANFESTIVAL_SITE = http://dev.automforge.net/CanFestival-3 CANFESTIVAL_SITE_METHOD = hg -CANFESTIVAL_LICENSE = LGPLv2.1+ +CANFESTIVAL_LICENSE = LGPL-2.1+ CANFESTIVAL_LICENSE_FILES = COPYING LICENCE CANFESTIVAL_INSTALL_STAGING = YES CANFESTIVAL_INSTALLED-y = src drivers @@ -37,13 +37,13 @@ endef define CANFESTIVAL_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE1) -C $(@D) all \ - PYTHON=$(HOST_DIR)/usr/bin/python2 + PYTHON=$(HOST_DIR)/bin/python2 endef define CANFESTIVAL_INSTALL_TARGET_CMDS for d in $(CANFESTIVAL_INSTALLED-y) ; do \ $(TARGET_MAKE_ENV) $(MAKE1) -C $(@D)/$$d install \ - PYTHON=$(HOST_DIR)/usr/bin/python2 \ + PYTHON=$(HOST_DIR)/bin/python2 \ DESTDIR=$(TARGET_DIR) || exit 1 ; \ done endef @@ -51,7 +51,7 @@ endef define CANFESTIVAL_INSTALL_STAGING_CMDS for d in $(CANFESTIVAL_INSTALLED-y) ; do \ $(TARGET_MAKE_ENV) $(MAKE1) -C $(@D)/$$d install \ - PYTHON=$(HOST_DIR)/usr/bin/python2 \ + PYTHON=$(HOST_DIR)/bin/python2 \ DESTDIR=$(STAGING_DIR) || exit 1 ; \ done endef diff --git a/package/cannelloni/cannelloni.mk b/package/cannelloni/cannelloni.mk index fffdb4ba9a..cc99c54aa1 100644 --- a/package/cannelloni/cannelloni.mk +++ b/package/cannelloni/cannelloni.mk @@ -6,7 +6,7 @@ CANNELLONI_VERSION = 20160414 CANNELLONI_SITE = $(call github,mguentner,cannelloni,$(CANNELLONI_VERSION)) -CANNELLONI_LICENSE = GPLv2 +CANNELLONI_LICENSE = GPL-2.0 CANNELLONI_LICENSE_FILES = gpl-2.0.txt ifeq ($(BR2_PACKAGE_LKSCTP_TOOLS),y) diff --git a/package/cantarell/cantarell.mk b/package/cantarell/cantarell.mk index 3cdf600dd2..2769b35c1f 100644 --- a/package/cantarell/cantarell.mk +++ b/package/cantarell/cantarell.mk @@ -9,7 +9,7 @@ CANTARELL_VERSION = $(CANTARELL_VERSION_MAJOR).25 CANTARELL_SITE = http://ftp.gnome.org/pub/gnome/sources/cantarell-fonts/$(CANTARELL_VERSION_MAJOR) CANTARELL_SOURCE = cantarell-fonts-$(CANTARELL_VERSION).tar.xz CANTARELL_DEPENDENCIES = host-pkgconf -CANTARELL_LICENSE = OFLv1.1 +CANTARELL_LICENSE = OFL-1.1 CANTARELL_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/cbootimage/cbootimage.mk b/package/cbootimage/cbootimage.mk index 1b5672dbd4..40a248aed6 100644 --- a/package/cbootimage/cbootimage.mk +++ b/package/cbootimage/cbootimage.mk @@ -6,10 +6,9 @@ CBOOTIMAGE_VERSION = v1.7 CBOOTIMAGE_SITE = $(call github,NVIDIA,cbootimage,$(CBOOTIMAGE_VERSION)) -CBOOTIMAGE_LICENSE = GPLv2 +CBOOTIMAGE_LICENSE = GPL-2.0 CBOOTIMAGE_LICENSE_FILES = COPYING CBOOTIMAGE_AUTORECONF = YES $(eval $(autotools-package)) $(eval $(host-autotools-package)) - diff --git a/package/cc-tool/0003-Makefile.am-do-not-overwrite-LIBS.patch b/package/cc-tool/0003-Makefile.am-do-not-overwrite-LIBS.patch new file mode 100644 index 0000000000..31a64caec9 --- /dev/null +++ b/package/cc-tool/0003-Makefile.am-do-not-overwrite-LIBS.patch @@ -0,0 +1,50 @@ +From af3098e05535ddb93bb065770d87738e46089efc Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 20 Aug 2017 15:06:01 +0200 +Subject: [PATCH] Makefile.am: do not overwrite LIBS + +LIBS is meant to be passed on the command line with additional +libraries, it should not be overwritten by Makefile.am. + +Instead: + + - Use LDADD to link with external libraries + + - Use _LDFLAGS for additional, non-libraries, linker flags + +Signed-off-by: Thomas Petazzoni +Upstream: https://github.com/dashesy/cc-tool/commit/553f9c601646af0c6e3f6150d0fa3bc63ff56416 +--- + Makefile.am | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index e79e47b..ed83d91 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -10,14 +10,12 @@ AM_LDFLAGS = \ + + # $(BOOST_THREADS_LDFLAGS) + +-LDADD = $(LIBUSB_LIBS) +- +-LIBS = -s \ ++LDADD = $(LIBUSB_LIBS) \ + $(BOOST_FILESYSTEM_LIBS) \ + $(BOOST_REGEX_LIBS) \ + $(BOOST_SYSTEM_LIBS) \ + $(BOOST_PROGRAM_OPTIONS_LIBS) +- ++ + # $(BOOST_THREADS_LIBS) + + bin_PROGRAMS=cc-tool +@@ -30,4 +28,4 @@ cc_tool_SOURCES=src/main.cpp src/application/cc_flasher.cpp src/application/cc_b + src/programmer/cc_253x_254x.cpp src/programmer/cc_251x_111x.cpp \ + src/programmer/cc_243x.cpp src/programmer/cc_programmer.cpp \ + src/programmer/cc_unit_driver.cpp src/programmer/cc_unit_info.cpp +- ++cc_tool_LDFLAGS=-s +-- +2.9.4 + diff --git a/package/cc-tool/0004-m4-boost.m4-fix-rpath-option-check-for-static-linkin.patch b/package/cc-tool/0004-m4-boost.m4-fix-rpath-option-check-for-static-linkin.patch new file mode 100644 index 0000000000..acff107438 --- /dev/null +++ b/package/cc-tool/0004-m4-boost.m4-fix-rpath-option-check-for-static-linkin.patch @@ -0,0 +1,44 @@ +From 5e74a15ce1e093b4d8e83cdade60a43b09d698de Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 20 Aug 2017 15:25:06 +0200 +Subject: [PATCH] m4/boost.m4: fix rpath option check for static linking + +When statically linking, the order in which -l options are passed is +important. The contents of the LIBS option passed to the configure +environment should be passed *after* other -l options used internally +by the package. + +For example, libboost_program_options may used symbols from the +libatomic library, and in this case, one need to pass LIBS="-latomic" +to cc-tool's configure script. When using dynamic linking, this works +fine, because the rpath test does "-latomic +-lboost_program_options". However, when statically linking, this +doesn't work because libboost_program_options uses symbols from +libatomic, so -latomic must be passed *after* -lboost_program_options. + +Therefore, this commit inverts the list of variables used to construct +LIBS before doing the _BOOST_AC_LINK_IFELSE() test detecting the rpath +option to be used. Indeed, $boost_save_LIBS contains the previously +saved LIBS variable, and should be passed after $Boost_lib_LIBS. + +Signed-off-by: Thomas Petazzoni +--- + m4/boost.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/m4/boost.m4 b/m4/boost.m4 +index be470a7..f1825ba 100644 +--- a/m4/boost.m4 ++++ b/m4/boost.m4 +@@ -479,7 +479,7 @@ dnl generated only once above (before we start the for loops). + *) + for boost_cv_rpath_link_ldflag in -Wl,-R, -Wl,-rpath,; do + LDFLAGS="$boost_save_LDFLAGS -L$boost_ldpath $boost_cv_rpath_link_ldflag$boost_ldpath" +- LIBS="$boost_save_LIBS $Boost_lib_LIBS" ++ LIBS="$Boost_lib_LIBS $boost_save_LIBS" + _BOOST_AC_LINK_IFELSE([], + [boost_rpath_link_ldflag_found=yes + break], +-- +2.9.4 + diff --git a/package/cc-tool/cc-tool.mk b/package/cc-tool/cc-tool.mk index d8df0415c0..e170e06a21 100644 --- a/package/cc-tool/cc-tool.mk +++ b/package/cc-tool/cc-tool.mk @@ -7,7 +7,7 @@ CC_TOOL_VERSION = 0.26 CC_TOOL_SITE = http://downloads.sourceforge.net/project/cctool CC_TOOL_SOURCE = cc-tool-$(CC_TOOL_VERSION)-src.tgz -CC_TOOL_LICENSE = GPLv2 +CC_TOOL_LICENSE = GPL-2.0 CC_TOOL_LICENSE_FILES = COPYING CC_TOOL_DEPENDENCIES = boost libusb @@ -16,11 +16,16 @@ CC_TOOL_AUTORECONF = YES # Configure script "discovers" boost in /usr/local if not given explicitly CC_TOOL_CONF_OPTS = --with-boost=$(STAGING_DIR)/usr +CC_TOOL_CONF_ENV = LIBS="$(CC_TOOL_LIBS)" # Help boost.m4 find the Boost Regex library, which needs the pthread # library, but isn't detected using a modern (pkg-config) mechanism. ifeq ($(BR2_STATIC_LIBS),y) -CC_TOOL_CONF_ENV += LIBS="-lpthread" +CC_TOOL_LIBS += -lpthread +endif + +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +CC_TOOL_LIBS += -latomic endif $(eval $(autotools-package)) diff --git a/package/ccache/ccache.hash b/package/ccache/ccache.hash index bde53f794d..5354572638 100644 --- a/package/ccache/ccache.hash +++ b/package/ccache/ccache.hash @@ -1,2 +1,2 @@ -# Verified key https://samba.org/ftp/ccache/ccache-3.3.3.tar.xz.asc - sha256 computed locally -sha256 3b02a745da1cfa9eb438af7147e0fd3545e2f6163de9e5b07da86f58859f04ec ccache-3.3.3.tar.xz +# Verified key https://samba.org/ftp/ccache/ccache-3.3.4.tar.xz.asc - sha256 computed locally +sha256 24f15bf389e38c41548c9c259532187774ec0cb9686c3497bbb75504c8dc404f ccache-3.3.4.tar.xz diff --git a/package/ccache/ccache.mk b/package/ccache/ccache.mk index f174a5d01c..afbec44fac 100644 --- a/package/ccache/ccache.mk +++ b/package/ccache/ccache.mk @@ -4,10 +4,10 @@ # ################################################################################ -CCACHE_VERSION = 3.3.3 -CCACHE_SITE = https://samba.org/ftp/ccache +CCACHE_VERSION = 3.3.4 +CCACHE_SITE = https://www.samba.org/ftp/ccache CCACHE_SOURCE = ccache-$(CCACHE_VERSION).tar.xz -CCACHE_LICENSE = GPLv3+, others +CCACHE_LICENSE = GPL-3.0+, others CCACHE_LICENSE_FILES = LICENSE.txt GPL-3.0.txt # Force ccache to use its internal zlib. The problem is that without @@ -28,9 +28,13 @@ HOST_CCACHE_CONF_OPTS += --with-bundled-zlib # BR2_CCACHE_DIR. # - Change hard-coded last-ditch default to match path in .config, to avoid # the need to specify BR_CACHE_DIR when invoking ccache directly. +# CCache replaces "%s" with the home directory of the current user, +# So rewrite BR_CACHE_DIR to take that into consideration for SDK purpose +HOST_CCACHE_DEFAULT_CCACHE_DIR = $(patsubst $(HOME)/%,\%s/%,$(BR_CACHE_DIR)) + define HOST_CCACHE_PATCH_CONFIGURATION sed -i 's,getenv("CCACHE_DIR"),getenv("BR_CACHE_DIR"),' $(@D)/ccache.c - sed -i 's,"%s/.ccache","$(BR_CACHE_DIR)",' $(@D)/conf.c + sed -i 's,"%s/.ccache","$(HOST_CCACHE_DEFAULT_CCACHE_DIR)",' $(@D)/conf.c endef HOST_CCACHE_POST_PATCH_HOOKS += HOST_CCACHE_PATCH_CONFIGURATION diff --git a/package/ccid/Config.in b/package/ccid/Config.in index f5bb5830bb..dfb57e82c1 100644 --- a/package/ccid/Config.in +++ b/package/ccid/Config.in @@ -1,10 +1,10 @@ config BR2_PACKAGE_CCID bool "ccid" - select BR2_PACKAGE_PCSC_LITE - select BR2_PACKAGE_LIBUSB depends on BR2_TOOLCHAIN_HAS_THREADS # libusb depends on BR2_USE_MMU # pcsc-lite depends on !BR2_STATIC_LIBS # pcsc-lite + select BR2_PACKAGE_PCSC_LITE + select BR2_PACKAGE_LIBUSB help PC/SC driver for USB CCID smart card readers diff --git a/package/ccid/ccid.hash b/package/ccid/ccid.hash index a0e91da46d..a7d4875c0d 100644 --- a/package/ccid/ccid.hash +++ b/package/ccid/ccid.hash @@ -1,2 +1,3 @@ -# From http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/c/ccid/ccid_1.4.18-1.dsc -sha256 5fdba97a2d2eb1c652b7dd4aa0bb8cee4814bab0cf61aecb84b32b57272541aa ccid_1.4.18.orig.tar.bz2 +# From http://cdn-fastly.deb.debian.org/debian/pool/main/c/ccid/ccid_1.4.27-1.dsc +sha1 d72ee816422183a86006e0083ccd643236b4e12a ccid_1.4.27.tar.bz2 +sha256 a660e269606986cb94840ad5ba802ffb0cd23dd12b98f69a35035e0deb9dd137 ccid_1.4.27.tar.bz2 diff --git a/package/ccid/ccid.mk b/package/ccid/ccid.mk index 18653d3518..e566afe07e 100644 --- a/package/ccid/ccid.mk +++ b/package/ccid/ccid.mk @@ -4,10 +4,10 @@ # ################################################################################ -CCID_VERSION = 1.4.18 -CCID_SOURCE = ccid_$(CCID_VERSION).orig.tar.bz2 -CCID_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/c/ccid -CCID_LICENSE = LGPLv2.1+ +CCID_VERSION = 1.4.27 +CCID_SOURCE = ccid_$(CCID_VERSION).tar.bz2 +CCID_SITE = https://alioth.debian.org/frs/download.php/file/4218 +CCID_LICENSE = LGPL-2.1+ CCID_LICENSE_FILES = COPYING CCID_INSTALL_STAGING = YES CCID_DEPENDENCIES = pcsc-lite host-pkgconf libusb diff --git a/package/ccrypt/Config.in b/package/ccrypt/Config.in index ef5a7eef65..109271ae70 100644 --- a/package/ccrypt/Config.in +++ b/package/ccrypt/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_CCRYPT bool "ccrypt" help - ccrypt is a utility for encrypting and decrypting files and streams. + ccrypt is a utility for encrypting and decrypting files and + streams. http://ccrypt.sourceforge.net/ diff --git a/package/ccrypt/ccrypt.mk b/package/ccrypt/ccrypt.mk index 3beff4084b..d27e34618a 100644 --- a/package/ccrypt/ccrypt.mk +++ b/package/ccrypt/ccrypt.mk @@ -7,7 +7,7 @@ CCRYPT_VERSION = 1.10 CCRYPT_SITE = http://ccrypt.sourceforge.net/download -CCRYPT_LICENSE = GPLv2+ +CCRYPT_LICENSE = GPL-2.0+ CCRYPT_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/cdrkit/Config.in b/package/cdrkit/Config.in index af18ba9302..7b5b8865f6 100644 --- a/package/cdrkit/Config.in +++ b/package/cdrkit/Config.in @@ -1,10 +1,10 @@ config BR2_PACKAGE_CDRKIT + bool "cdrkit" + depends on BR2_USE_MMU # fork # Needed for libbz select BR2_PACKAGE_BZIP2 select BR2_PACKAGE_LIBCAP select BR2_PACKAGE_ZLIB - depends on BR2_USE_MMU # fork - bool "cdrkit" help cdrkit is a suite of programs for recording CDs and DVDs, blanking CD-RW media, creating ISO-9660 filesystem images, diff --git a/package/cdrkit/cdrkit.mk b/package/cdrkit/cdrkit.mk index 10d118c46a..f49d5150f3 100644 --- a/package/cdrkit/cdrkit.mk +++ b/package/cdrkit/cdrkit.mk @@ -9,7 +9,7 @@ CDRKIT_SOURCE = cdrkit_$(CDRKIT_VERSION).orig.tar.gz CDRKIT_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/c/cdrkit CDRKIT_DEPENDENCIES = libcap bzip2 zlib HOST_CDRKIT_DEPENDENCIES = host-libcap host-bzip2 host-zlib -CDRKIT_LICENSE = GPLv2 +CDRKIT_LICENSE = GPL-2.0 CDRKIT_LICENSE_FILES = COPYING ifeq ($(BR2_ENDIAN),"BIG") diff --git a/package/cegui06/Config.in b/package/cegui06/Config.in index e6a024a399..0139d32422 100644 --- a/package/cegui06/Config.in +++ b/package/cegui06/Config.in @@ -10,11 +10,11 @@ config BR2_PACKAGE_CEGUI06 select BR2_PACKAGE_FREETYPE select BR2_PACKAGE_PCRE help - Crazy Eddie's GUI System is a free library providing windowing and - widgets for graphics APIs / engines where such functionality is not - natively available, or severely lacking. The library is object - orientated, written in C++, and targeted at games developers who - should be spending their time creating great games, not building - GUI sub-systems! + Crazy Eddie's GUI System is a free library providing windowing + and widgets for graphics APIs / engines where such + functionality is not natively available, or severely lacking. + The library is object orientated, written in C++, and targeted + at games developers who should be spending their time creating + great games, not building GUI sub-systems! http://www.cegui.org.uk/ diff --git a/package/cegui06/cegui06.mk b/package/cegui06/cegui06.mk index 43d3b09dd7..d3da3ebc4c 100644 --- a/package/cegui06/cegui06.mk +++ b/package/cegui06/cegui06.mk @@ -13,24 +13,24 @@ CEGUI06_LICENSE = MIT CEGUI06_LICENSE_FILES = COPYING CEGUI06_INSTALL_STAGING = YES -CEGUI06_DEPENDENCIES = \ - expat \ - freetype \ - pcre \ +CEGUI06_DEPENDENCIES = \ + expat \ + freetype \ + pcre -CEGUI06_CONF_OPTS = \ - --enable-expat \ - --disable-external-tinyxml \ - --disable-xerces-c \ - --disable-libxml \ - --disable-tinyxml \ - --disable-opengl-renderer \ - --disable-external-glew \ +CEGUI06_CONF_OPTS = \ + --enable-expat \ + --disable-external-tinyxml \ + --disable-xerces-c \ + --disable-libxml \ + --disable-tinyxml \ + --disable-opengl-renderer \ + --disable-external-glew \ --disable-irrlicht-renderer \ --disable-directfb-renderer \ - --disable-samples \ - --disable-lua-module \ - --disable-toluacegui \ - --disable-external-toluapp \ + --disable-samples \ + --disable-lua-module \ + --disable-toluacegui \ + --disable-external-toluapp $(eval $(autotools-package)) diff --git a/package/celt051/Config.in b/package/celt051/Config.in index 035e262d74..e1513190db 100644 --- a/package/celt051/Config.in +++ b/package/celt051/Config.in @@ -5,10 +5,10 @@ config BR2_PACKAGE_CELT051 The CELT ultra-low delay audio codec The CELT codec is a compression algorithm for audio. Like MP3, - Vorbis, and AAC it is suitable for transmitting music with high - quality. Unlike these formats CELT imposes very little delay on - the signal, even less than is typical for speech centric formats - like Speex, GSM, or G.729. + Vorbis, and AAC it is suitable for transmitting music with + high quality. Unlike these formats CELT imposes very little + delay on the signal, even less than is typical for speech + centric formats like Speex, GSM, or G.729. Note: this is version 0.5.1.3 of celt. diff --git a/package/celt051/celt051.mk b/package/celt051/celt051.mk index 9e25781873..01da5c933e 100644 --- a/package/celt051/celt051.mk +++ b/package/celt051/celt051.mk @@ -9,7 +9,7 @@ CELT051_VERSION = 0.5.1.3 CELT051_SOURCE = celt-$(CELT051_VERSION).tar.gz CELT051_SITE = http://downloads.xiph.org/releases/celt -CELT051_LICENSE = BSD-2c +CELT051_LICENSE = BSD-2-Clause CELT051_LICENSE_FILES = COPYING CELT051_INSTALL_STAGING = YES CELT051_DEPENDENCIES = libogg @@ -18,13 +18,13 @@ CELT051_DEPENDENCIES = libogg # if target is the same kind as host (ie. same arch, same bitness, # same endianness, so that /usr/lib contains libraries linkable by # our cross-compiler) -CELT051_CONF_OPTS = \ - --enable-fixed-point \ - --disable-fixed-point-debug \ +CELT051_CONF_OPTS = \ + --enable-fixed-point \ + --disable-fixed-point-debug \ --disable-experimental-postfilter \ - --disable-static-modes \ - --disable-assertions \ - --disable-oggtest \ - --with-ogg=$(STAGING_DIR)/usr \ + --disable-static-modes \ + --disable-assertions \ + --disable-oggtest \ + --with-ogg=$(STAGING_DIR)/usr $(eval $(autotools-package)) diff --git a/package/cgic/cgic.hash b/package/cgic/cgic.hash index 6c0fee6124..fa1d0bc95c 100644 --- a/package/cgic/cgic.hash +++ b/package/cgic/cgic.hash @@ -1,2 +1,2 @@ -# Localy computed -sha256 9562e0b6af59ebc2090107eab5946ce0788a1de36146ad181970cf53e9be7a33 cgic206.tar.gz +# Locally computed +sha256 1e8834642a4b89528bb7bde2f287e133c6b07e210e68681a34137c436d59d320 cgic207.tar.gz diff --git a/package/cgic/cgic.mk b/package/cgic/cgic.mk index f07c62e97e..cd0841302d 100644 --- a/package/cgic/cgic.mk +++ b/package/cgic/cgic.mk @@ -4,8 +4,8 @@ # ################################################################################ -CGIC_VERSION = 2.06 -CGIC_SOURCE = cgic206.tar.gz +CGIC_VERSION = 2.07 +CGIC_SOURCE = cgic207.tar.gz CGIC_SITE = http://boutell.com/cgic CGIC_LICENSE = Custom CGIC_LICENSE_FILES = license.txt diff --git a/package/cgilua/cgilua.hash b/package/cgilua/cgilua.hash index 786791d302..b932e80cb8 100644 --- a/package/cgilua/cgilua.hash +++ b/package/cgilua/cgilua.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 8e9ef583f8e1c5b600ebc6bb04924a61f72320130410191a9c56d7295fb02be1 cgilua-5.1.4-2.src.rock +sha256 7d4883e6a89b3463a1d35b8084a6e2afbbb584af7aca1169380e92af0f848413 cgilua-5.2.1-1.src.rock diff --git a/package/cgilua/cgilua.mk b/package/cgilua/cgilua.mk index 5934ffda6f..cd78841fdb 100644 --- a/package/cgilua/cgilua.mk +++ b/package/cgilua/cgilua.mk @@ -4,7 +4,8 @@ # ################################################################################ -CGILUA_VERSION = 5.1.4-2 +CGILUA_VERSION = 5.2.1-1 CGILUA_LICENSE = MIT +CGILUA_LICENSE_FILES = $(CGILUA_SUBDIR)/doc/us/license.html $(eval $(luarocks-package)) diff --git a/package/cgroupfs-mount/cgroupfs-mount.hash b/package/cgroupfs-mount/cgroupfs-mount.hash index 34f516764c..926a031d75 100644 --- a/package/cgroupfs-mount/cgroupfs-mount.hash +++ b/package/cgroupfs-mount/cgroupfs-mount.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 fb32a8d9de491358d28f56ab76a56e1a611b90d5b6326910d3a69395fa539027 cgroupfs-mount-7285bf44402029394808339f69f4f293730fc2c6.tar.gz +sha256 d6c8aff7af59c7d0082ee3018c97f73b0421e81a49bb28ad9f66a36da5cd6ec7 cgroupfs-mount-1.4.tar.gz diff --git a/package/cgroupfs-mount/cgroupfs-mount.mk b/package/cgroupfs-mount/cgroupfs-mount.mk index b37560509b..9a76799952 100644 --- a/package/cgroupfs-mount/cgroupfs-mount.mk +++ b/package/cgroupfs-mount/cgroupfs-mount.mk @@ -4,9 +4,9 @@ # ################################################################################ -CGROUPFS_MOUNT_VERSION = 7285bf44402029394808339f69f4f293730fc2c6 +CGROUPFS_MOUNT_VERSION = 1.4 CGROUPFS_MOUNT_SITE = $(call github,tianon,cgroupfs-mount,$(CGROUPFS_MOUNT_VERSION)) -CGROUPFS_MOUNT_LICENSE = GPLv3+ +CGROUPFS_MOUNT_LICENSE = GPL-3.0+ CGROUPFS_MOUNT_LICENSE_FILES = debian/copyright define CGROUPFS_MOUNT_INSTALL_TARGET_CMDS @@ -17,7 +17,6 @@ endef define CGROUPFS_MOUNT_INSTALL_INIT_SYSV $(INSTALL) -m 0755 -D $(CGROUPFS_MOUNT_PKGDIR)/S30cgroupfs \ $(TARGET_DIR)/etc/init.d/S30cgroupfs - endef $(eval $(generic-package)) diff --git a/package/check/Config.in b/package/check/Config.in index 04682e1481..2312fbf81c 100644 --- a/package/check/Config.in +++ b/package/check/Config.in @@ -3,4 +3,4 @@ config BR2_PACKAGE_CHECK help Check is a unit testing framework for C. - http://check.sourceforge.net/ + https://libcheck.github.io/check/ diff --git a/package/check/check.hash b/package/check/check.hash index 0c3a924b57..3c41a96144 100644 --- a/package/check/check.hash +++ b/package/check/check.hash @@ -1,3 +1,4 @@ -# From http://sourceforge.net/projects/check/files/check/0.10.0/ -md5 53c5e5c77d090e103a17f3ed7fd7d8b8 check-0.10.0.tar.gz -sha1 35d3a53446aea7b21a770faedb358d0fc7cba76d check-0.10.0.tar.gz +# Locally computed +sha256 24f7a48aae6b74755bcbe964ce8bc7240f6ced2141f8d9cf480bc3b3de0d5616 check-0.11.0.tar.gz +# License files, locally calculated +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LESSER diff --git a/package/check/check.mk b/package/check/check.mk index 92dd033651..047beba635 100644 --- a/package/check/check.mk +++ b/package/check/check.mk @@ -4,11 +4,11 @@ # ################################################################################ -CHECK_VERSION = 0.10.0 -CHECK_SITE = http://downloads.sourceforge.net/project/check/check/$(CHECK_VERSION) +CHECK_VERSION = 0.11.0 +CHECK_SITE = https://github.com/libcheck/check/releases/download/$(CHECK_VERSION) CHECK_INSTALL_STAGING = YES CHECK_DEPENDENCIES = host-pkgconf -CHECK_LICENSE = LGPLv2.1+ +CHECK_LICENSE = LGPL-2.1+ CHECK_LICENSE_FILES = COPYING.LESSER # Having checkmk in the target makes no sense diff --git a/package/checkpolicy/Config.in b/package/checkpolicy/Config.in new file mode 100644 index 0000000000..97ad0b7704 --- /dev/null +++ b/package/checkpolicy/Config.in @@ -0,0 +1,21 @@ +config BR2_PACKAGE_CHECKPOLICY + bool "checkpolicy" + depends on BR2_TOOLCHAIN_HAS_THREADS # libselinux + depends on !BR2_STATIC_LIBS # libselinux + depends on BR2_TOOLCHAIN_USES_GLIBC # libselinux + depends on !BR2_arc # libselinux + select BR2_PACKAGE_LIBSELINUX + select BR2_PACKAGE_FLEX + help + checkpolicy is the SELinux policy compiler. It uses libsepol + to generate the binary policy. checkpolicy uses the static + libsepol since it deals with low level details of the policy + that have not been encapsulated/abstracted by a proper + shared library interface. + + http://selinuxproject.org/page/Main_Page + +comment "checkpolicy needs a glibc toolchain w/ threads, dynamic library" + depends on !BR2_arc + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ + !BR2_TOOLCHAIN_USES_GLIBC diff --git a/package/checkpolicy/checkpolicy.hash b/package/checkpolicy/checkpolicy.hash index 6208d7749c..7397393a76 100644 --- a/package/checkpolicy/checkpolicy.hash +++ b/package/checkpolicy/checkpolicy.hash @@ -1,2 +1,2 @@ # https://github.com/SELinuxProject/selinux/wiki/Releases -sha256 0bebd18688ca8027b1b3b4ff1532c0626f1fe49883ae6cb74d9d385940e74157 checkpolicy-2.6.tar.gz +sha256 5413479f1dcde866c19896b4dbfec315d822aa431606e1d03c944408984c3201 checkpolicy-2.7.tar.gz diff --git a/package/checkpolicy/checkpolicy.mk b/package/checkpolicy/checkpolicy.mk index 8328b39ad0..c1fb43da4d 100644 --- a/package/checkpolicy/checkpolicy.mk +++ b/package/checkpolicy/checkpolicy.mk @@ -4,24 +4,47 @@ # ################################################################################ -CHECKPOLICY_VERSION = 2.6 -CHECKPOLICY_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20161014 -CHECKPOLICY_LICENSE = GPLv2 +CHECKPOLICY_VERSION = 2.7 +CHECKPOLICY_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20170804 +CHECKPOLICY_LICENSE = GPL-2.0 CHECKPOLICY_LICENSE_FILES = COPYING +CHECKPOLICY_DEPENDENCIES = libselinux flex host-flex host-bison + +TARGET_CHECKPOLICY_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) \ + LEX="$(HOST_DIR)/bin/flex" \ + YACC="$(HOST_DIR)/bin/bison -y" + +# DESTDIR is used at build time to find libselinux +define CHECKPOLICY_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(TARGET_CHECKPOLICY_MAKE_OPTS) DESTDIR=$(STAGING_DIR) +endef + +define CHECKPOLICY_STAGING_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(TARGET_CHECKPOLICY_MAKE_OPTS) DESTDIR=$(STAGING_DIR) install + +endef + +define CHECKPOLICY_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(TARGET_CHECKPOLICY_MAKE_OPTS) DESTDIR=$(TARGET_DIR) install +endef + HOST_CHECKPOLICY_DEPENDENCIES = host-libselinux host-flex host-bison -HOST_CHECKPOLICY_MAKE_OPTS = $(HOST_CONFIGURE_OPTS) \ - LEX="$(HOST_DIR)/usr/bin/flex" \ - YACC="$(HOST_DIR)/usr/bin/bison -y" +# PREFIX is used at build time to find host-libselinux +HOST_CHECKPOLICY_MAKE_OPTS = \ + $(HOST_CONFIGURE_OPTS) \ + PREFIX=$(HOST_DIR) \ + LEX="$(HOST_DIR)/bin/flex" \ + YACC="$(HOST_DIR)/bin/bison -y" -# DESTDIR is used at build time to find host-libselinux define HOST_CHECKPOLICY_BUILD_CMDS - $(HOST_MAKE_ENV) $(MAKE) -C $(@D) $(HOST_CHECKPOLICY_MAKE_OPTS) DESTDIR=$(HOST_DIR) + $(HOST_MAKE_ENV) $(MAKE) -C $(@D) $(HOST_CHECKPOLICY_MAKE_OPTS) endef define HOST_CHECKPOLICY_INSTALL_CMDS - $(HOST_MAKE_ENV) $(MAKE) -C $(@D) $(HOST_CHECKPOLICY_MAKE_OPTS) DESTDIR=$(HOST_DIR) install + $(HOST_MAKE_ENV) $(MAKE) -C $(@D) $(HOST_CHECKPOLICY_MAKE_OPTS) install endef +$(eval $(generic-package)) $(eval $(host-generic-package)) diff --git a/package/chocolate-doom/0001-Fix-gcc_struct-attribute-directive-ignored-warnings.patch b/package/chocolate-doom/0001-Fix-gcc_struct-attribute-directive-ignored-warnings.patch deleted file mode 100644 index bff8e3ec1b..0000000000 --- a/package/chocolate-doom/0001-Fix-gcc_struct-attribute-directive-ignored-warnings.patch +++ /dev/null @@ -1,49 +0,0 @@ -From d9c517d9a4e168c1f7ed28ad0eb9365d69f5ceb2 Mon Sep 17 00:00:00 2001 -From: Rodrigo Rebello -Date: Thu, 22 Oct 2015 11:29:55 -0200 -Subject: [PATCH] Fix "`gcc_struct' attribute directive ignored" warnings -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Compilation for target architectures other than i386, x86_64 or PowerPC -(e.g. ARM) caused multiple warnings like the following to appear: - - doomdata.h:75:1: warning: ‘gcc_struct’ attribute directive ignored - } PACKEDATTR mapsidedef_t; - ^ - -This was due to 'gcc_struct' being undefined for these architectures. -Since that attribute was actually introduced by commit 87db726b9a9ae61ca -to address the fact that -mms-bitfields became the default for GCC on -Windows, limit it to that case. - -Upstream-status: accepted, not yet released. -https://github.com/chocolate-doom/chocolate-doom/pull/629 - -Signed-off-by: Rodrigo Rebello ---- - src/doomtype.h | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/doomtype.h b/src/doomtype.h -index bf0a40e..77c026c 100644 ---- a/src/doomtype.h -+++ b/src/doomtype.h -@@ -52,10 +52,10 @@ - - #ifdef __GNUC__ - --#ifdef __clang__ --#define PACKEDATTR __attribute__((packed)) --#else -+#if defined(_WIN32) && !defined(__clang__) - #define PACKEDATTR __attribute__((packed,gcc_struct)) -+#else -+#define PACKEDATTR __attribute__((packed)) - #endif - - #else --- -2.1.4 - diff --git a/package/chocolate-doom/0002-configure-fix-with-PACKAGE-option-checks.patch b/package/chocolate-doom/0002-configure-fix-with-PACKAGE-option-checks.patch deleted file mode 100644 index f4d09f558f..0000000000 --- a/package/chocolate-doom/0002-configure-fix-with-PACKAGE-option-checks.patch +++ /dev/null @@ -1,67 +0,0 @@ -From fd12fa91aa8e35dbd3ffa5bfe055baf6bde0cd63 Mon Sep 17 00:00:00 2001 -From: Rodrigo Rebello -Date: Thu, 22 Oct 2015 15:28:11 -0200 -Subject: [PATCH] configure: fix --with-PACKAGE option checks - -Options of the form --with-PACKAGE[=yes] (e.g. --with-libpng), when -passed to configure, were being treated as though --without-PACKAGE had -been given. - -Although the intention is to have configure check and use PACKAGE by -default if it's available, thus requiring the user to pass an option -only if PACKAGE must NOT be used, there are times when the opposite -might be desired (i.e. the user wants to indicate PACKAGE MUST be used). -Moreover, allowing --with-PACKAGE and behaving as if --without-PACKAGE -had been specified is in itself quite confusing. - -Fix that by testing the result of 'with_PACKAGE' in configure.ac and -acting accordingly instead of blindly assuming a 'no'. - -Upstream-status: accepted, not yet released. -https://github.com/chocolate-doom/chocolate-doom/pull/630 - -Signed-off-by: Rodrigo Rebello ---- - configure.ac | 18 ++++++++++++++++-- - 1 file changed, 16 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index ee97fe2..7b03485 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -80,7 +80,14 @@ AC_SDL_MAIN_WORKAROUND([ - [Build without libsamplerate @<:@default=check@:>@]), - [], - [ -- AC_CHECK_LIB(samplerate, src_new) -+ [with_libsamplerate=check] -+ ]) -+ AS_IF([test "x$with_libsamplerate" != xno], [ -+ AC_CHECK_LIB(samplerate, src_new, [], [ -+ AS_IF([test "x$with_libsamplerate" != xcheck], [AC_MSG_FAILURE( -+ [--with-libsamplerate was given, but test for libsamplerate failed]) -+ ]) -+ ]) - ]) - # Check for libpng. - AC_ARG_WITH([libpng], -@@ -88,8 +95,15 @@ AC_SDL_MAIN_WORKAROUND([ - [Build without libpng @<:@default=check@:>@]), - [], - [ -+ [with_libpng=check] -+ ]) -+ AS_IF([test "x$with_libpng" != xno], [ - AC_CHECK_LIB(z, zlibVersion) -- AC_CHECK_LIB(png, png_get_io_ptr) -+ AC_CHECK_LIB(png, png_get_io_ptr, [], [ -+ AS_IF([test "x$with_libpng" != xcheck], [AC_MSG_FAILURE( -+ [--with-libpng was given, but test for libpng failed]) -+ ]) -+ ]) - ]) - AC_CHECK_LIB(m, log) - --- -2.1.4 - diff --git a/package/chocolate-doom/0003-opl-limit-use-of-ioperm-inb-outb-to-x86-architecture.patch b/package/chocolate-doom/0003-opl-limit-use-of-ioperm-inb-outb-to-x86-architecture.patch deleted file mode 100644 index 860f563d76..0000000000 --- a/package/chocolate-doom/0003-opl-limit-use-of-ioperm-inb-outb-to-x86-architecture.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 87c7399305b30045a856d737bbfd8f59b8f52392 Mon Sep 17 00:00:00 2001 -From: Rodrigo Rebello -Date: Fri, 6 Nov 2015 12:14:01 -0200 -Subject: [PATCH] opl: limit use of ioperm/inb/outb to x86 architecture - -The use of I/O ports in the Linux driver to directly control OPL chips -is x86 specific and only really makes sense for x86-based PC's with -compatible hardware. - -For some architectures (e.g. ARM), ioperm, inb and outb do exist and are -detected by the configure script (via AC_CHECK_FUNCS(ioperm)), but their -use is inappropriate in these cases and should be avoided. - -In some other scenarios, like when using a GNU toolchain + uClibc for -PowerPC, the build even fails with the following error: - - opl_linux.c:26:20: fatal error: sys/io.h: No such file or directory - -That is so because ioperm() is exported by uClibc and gets detected by -configure, which enables the "Linux" driver via definition of -HAVE_IOPERM, but in practice 'sys/io.h' is missing for ppc (inb/outb is -not implemented, and the call to ioperm() would return EIO anyway). - -So, besides testing for HAVE_IOPERM, also test if either __i386__ or -__x86_64__ are defined before enabling this OPL driver. - -Upstream-status: accepted, not yet released. -https://github.com/chocolate-doom/chocolate-doom/pull/638 - -Signed-off-by: Rodrigo Rebello ---- - opl/opl.c | 4 ++-- - opl/opl_linux.c | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/opl/opl.c b/opl/opl.c -index 60f027d..0d25689 100644 ---- a/opl/opl.c -+++ b/opl/opl.c -@@ -27,7 +27,7 @@ - - //#define OPL_DEBUG_TRACE - --#ifdef HAVE_IOPERM -+#if (defined(__i386__) || defined(__x86_64__)) && defined(HAVE_IOPERM) - extern opl_driver_t opl_linux_driver; - #endif - #if defined(HAVE_LIBI386) || defined(HAVE_LIBAMD64) -@@ -40,7 +40,7 @@ extern opl_driver_t opl_sdl_driver; - - static opl_driver_t *drivers[] = - { --#ifdef HAVE_IOPERM -+#if (defined(__i386__) || defined(__x86_64__)) && defined(HAVE_IOPERM) - &opl_linux_driver, - #endif - #if defined(HAVE_LIBI386) || defined(HAVE_LIBAMD64) -diff --git a/opl/opl_linux.c b/opl/opl_linux.c -index 5df5d46..19e4c3e 100644 ---- a/opl/opl_linux.c -+++ b/opl/opl_linux.c -@@ -17,7 +17,7 @@ - - #include "config.h" - --#ifdef HAVE_IOPERM -+#if (defined(__i386__) || defined(__x86_64__)) && defined(HAVE_IOPERM) - - #include - #include -@@ -99,5 +99,5 @@ opl_driver_t opl_linux_driver = - OPL_Timer_AdjustCallbacks, - }; - --#endif /* #ifdef HAVE_IOPERM */ -+#endif /* #if (defined(__i386__) || defined(__x86_64__)) && defined(HAVE_IOPERM) */ - --- -2.1.4 - diff --git a/package/chocolate-doom/chocolate-doom.hash b/package/chocolate-doom/chocolate-doom.hash index bdf56982e2..6751c7d205 100644 --- a/package/chocolate-doom/chocolate-doom.hash +++ b/package/chocolate-doom/chocolate-doom.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 ad11e2871667c6fa0658abf2dcba0cd9b26fbd651ee8df55adfdc18ad8fd674a chocolate-doom-2.2.1.tar.gz +sha256 3e6d1a82ac5c8b025a9695ce1e47d0dc6ed142ebb1129b1e4a70e2740f79150c chocolate-doom-2.3.0.tar.gz diff --git a/package/chocolate-doom/chocolate-doom.mk b/package/chocolate-doom/chocolate-doom.mk index dad73528e3..54121c43aa 100644 --- a/package/chocolate-doom/chocolate-doom.mk +++ b/package/chocolate-doom/chocolate-doom.mk @@ -4,9 +4,9 @@ # ################################################################################ -CHOCOLATE_DOOM_VERSION = 2.2.1 +CHOCOLATE_DOOM_VERSION = 2.3.0 CHOCOLATE_DOOM_SITE = http://www.chocolate-doom.org/downloads/$(CHOCOLATE_DOOM_VERSION) -CHOCOLATE_DOOM_LICENSE = GPLv2+ +CHOCOLATE_DOOM_LICENSE = GPL-2.0+ CHOCOLATE_DOOM_LICENSE_FILES = COPYING CHOCOLATE_DOOM_DEPENDENCIES = host-pkgconf sdl sdl_mixer sdl_net diff --git a/package/chrony/0001-ntp-fix-build-with-musl-libc.patch b/package/chrony/0001-ntp-fix-build-with-musl-libc.patch new file mode 100644 index 0000000000..c927b343f7 --- /dev/null +++ b/package/chrony/0001-ntp-fix-build-with-musl-libc.patch @@ -0,0 +1,39 @@ +From 1e64bc4c4379ae3e55be3c518e0e3e22c8c4ae77 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 14 Nov 2017 13:23:57 +0200 +Subject: [PATCH] ntp: fix build with musl libc + +The configure script enables HAVE_LINUX_TIMESTAMPING_OPT_PKTINFO based +on the existence of struct scm_ts_pktinfo and +SOF_TIMESTAMPING_OPT_PKTINFO that were introduced in Linux kernel v4.13 +in the linux/net_tstamp.h kernel header. But this feature also requires +SCM_TIMESTAMPING_PKTINFO that is defined in the socket.h header. musl +libc provides its own version of socket.h, and as of musl version 1.1.16 +this macro is missing. Define this macro in the code as a temporary +measure until musl is updated to its latest version. + +Signed-off-by: Baruch Siach +--- +Upstream status: not upstreamable +--- + ntp_io_linux.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/ntp_io_linux.c b/ntp_io_linux.c +index 00caed06f7ba..2214a6f6f6c5 100644 +--- a/ntp_io_linux.c ++++ b/ntp_io_linux.c +@@ -574,6 +574,10 @@ extract_udp_data(unsigned char *msg, NTP_Remote_Address *remote_addr, int len) + + /* ================================================== */ + ++#ifndef SCM_TIMESTAMPING_PKTINFO ++#define SCM_TIMESTAMPING_PKTINFO 58 ++#endif ++ + int + NIO_Linux_ProcessMessage(NTP_Remote_Address *remote_addr, NTP_Local_Address *local_addr, + NTP_Local_Timestamp *local_ts, struct msghdr *hdr, int length) +-- +2.15.0 + diff --git a/package/chrony/chrony.hash b/package/chrony/chrony.hash index 66ec0603f7..38f1534295 100644 --- a/package/chrony/chrony.hash +++ b/package/chrony/chrony.hash @@ -1,3 +1,5 @@ -# From https://listengine.tuxfamily.org/chrony.tuxfamily.org/chrony-announce/2016/11/msg00000.html -md5 d08dd5a7d79a89891d119adcccb4397d chrony-2.4.1.tar.gz -sha1 b412375ca90dbef653ad00534f8b73b825e396d4 chrony-2.4.1.tar.gz +# From https://listengine.tuxfamily.org/chrony.tuxfamily.org/chrony-announce/2017/09/msg00000.html +md5 f4c4eb0dc92f35ee4bb7d3dcd8029ecb chrony-3.2.tar.gz +sha1 64db6c31e013222cc0a2b66322192b4cedf6e048 chrony-3.2.tar.gz +# Locally calculated +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/chrony/chrony.mk b/package/chrony/chrony.mk index 0dca2eef55..8868e8481c 100644 --- a/package/chrony/chrony.mk +++ b/package/chrony/chrony.mk @@ -4,16 +4,15 @@ # ################################################################################ -CHRONY_VERSION = 2.4.1 +CHRONY_VERSION = 3.2 CHRONY_SITE = http://download.tuxfamily.org/chrony -CHRONY_LICENSE = GPLv2 +CHRONY_LICENSE = GPL-2.0 CHRONY_LICENSE_FILES = COPYING CHRONY_CONF_OPTS = \ --host-system=Linux \ --host-machine=$(BR2_ARCH) \ --prefix=/usr \ - --without-seccomp \ --without-tomcrypt ifeq ($(BR2_PACKAGE_LIBCAP),y) @@ -28,6 +27,13 @@ else CHRONY_CONF_OPTS += --without-nss endif +ifeq ($(BR2_PACKAGE_LIBSECCOMP),y) +CHRONY_CONF_OPTS += --enable-scfilter +CHRONY_DEPENDENCIES += libseccomp +else +CHRONY_CONF_OPTS += --without-seccomp +endif + ifeq ($(BR2_PACKAGE_READLINE),y) CHRONY_DEPENDENCIES += readline else diff --git a/package/cifs-utils/0001-mount.cifs-Remove-data_blob.h-include.patch b/package/cifs-utils/0001-mount.cifs-Remove-data_blob.h-include.patch new file mode 100644 index 0000000000..6536076577 --- /dev/null +++ b/package/cifs-utils/0001-mount.cifs-Remove-data_blob.h-include.patch @@ -0,0 +1,32 @@ +From 272d523a57a4e8791d625a479128613be5e401f5 Mon Sep 17 00:00:00 2001 +From: Thomas Witt +Date: Wed, 15 Mar 2017 20:20:44 +0000 +Subject: [PATCH] mount.cifs: Remove data_blob.h include + +data_blob.h includes talloc.h from libtalloc, but that is only marked as +a dependency for cifs.upcall. No symbols from that header are used by +cifs.mount, so remove it to avoid the libtalloc dependency + +Signed-off-by: Thomas Witt +Signed-off-by: Baruch Siach +--- +Patch status: upstream commit 272d523a57a4 + + mount.cifs.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/mount.cifs.c b/mount.cifs.c +index 13b71ef50303..2612feb4d591 100644 +--- a/mount.cifs.c ++++ b/mount.cifs.c +@@ -61,7 +61,6 @@ + #include "mount.h" + #include "util.h" + #include "resolve_host.h" +-#include "data_blob.h" + + #ifndef MS_MOVE + #define MS_MOVE 8192 +-- +2.11.0 + diff --git a/package/cifs-utils/cifs-utils.hash b/package/cifs-utils/cifs-utils.hash index 61ffbd9efb..ebc9c43e72 100644 --- a/package/cifs-utils/cifs-utils.hash +++ b/package/cifs-utils/cifs-utils.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 d07152a807de6840566bbcc69a97ff6fa17fca4e09ceb4641d74882a83e67125 cifs-utils-6.6.tar.bz2 +sha256 b2f21612474ab012e75accd167aab607a0614ff67efb56ea0f36789fa785cfab cifs-utils-6.7.tar.bz2 diff --git a/package/cifs-utils/cifs-utils.mk b/package/cifs-utils/cifs-utils.mk index fdb17790cf..9044fdf83c 100644 --- a/package/cifs-utils/cifs-utils.mk +++ b/package/cifs-utils/cifs-utils.mk @@ -4,11 +4,14 @@ # ################################################################################ -CIFS_UTILS_VERSION = 6.6 +CIFS_UTILS_VERSION = 6.7 CIFS_UTILS_SOURCE = cifs-utils-$(CIFS_UTILS_VERSION).tar.bz2 CIFS_UTILS_SITE = http://ftp.samba.org/pub/linux-cifs/cifs-utils -CIFS_UTILS_LICENSE = GPLv3+ +CIFS_UTILS_LICENSE = GPL-3.0+ CIFS_UTILS_LICENSE_FILES = COPYING +# Missing install-sh in release tarball +CIFS_UTILS_AUTORECONF = YES +CIFS_UTILS_DEPENDENCIES = host-pkgconf ifeq ($(BR2_TOOLCHAIN_SUPPORTS_PIE),) CIFS_UTILS_CONF_OPTS += --disable-pie diff --git a/package/circus/Config.in b/package/circus/Config.in index 5276513076..f1cd93c733 100644 --- a/package/circus/Config.in +++ b/package/circus/Config.in @@ -3,7 +3,6 @@ config BR2_PACKAGE_CIRCUS depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 depends on BR2_INSTALL_LIBSTDCPP # pyzmq -> zeromq depends on BR2_TOOLCHAIN_HAS_THREADS # pyzmq -> zeromq - depends on !BR2_TOOLCHAIN_USES_MUSL # python-psutil select BR2_PACKAGE_PYTHON_IOWAIT # runtime select BR2_PACKAGE_PYTHON_PSUTIL # runtime select BR2_PACKAGE_PYTHON_PYZMQ # runtime @@ -15,7 +14,6 @@ config BR2_PACKAGE_CIRCUS https://circus.readthedocs.org/en/latest/ -comment "circus needs Python and a uClibc or glibc toolchain w/ C++, threads" +comment "circus needs Python and a toolchain w/ C++, threads" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ - BR2_TOOLCHAIN_USES_MUSL || \ !(BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3) diff --git a/package/cjson/Config.in b/package/cjson/Config.in index 04eff4ca88..ee18fced5c 100644 --- a/package/cjson/Config.in +++ b/package/cjson/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_CJSON bool "cJSON" help - An ultra-lightweight, portable, single-file, simple-as-can-be ANSI-C - compliant JSON parser, under MIT license. + An ultra-lightweight, portable, single-file, simple-as-can-be + ANSI-C compliant JSON parser, under MIT license. https://github.com/DaveGamble/cJSON diff --git a/package/cjson/cjson.hash b/package/cjson/cjson.hash index 903880f7c5..e71b257006 100644 --- a/package/cjson/cjson.hash +++ b/package/cjson/cjson.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 1d976ca423d714b7e836cfbc1980b56f49962d0dfe654edb3c2ffa5c713af242 cjson-v1.2.1.tar.gz +sha256 3d6277179282b00af232d9f97c9e0049ff212636d2a84791b03439c81d1f7b1e cjson-v1.6.0.tar.gz diff --git a/package/cjson/cjson.mk b/package/cjson/cjson.mk index 11c34c5d78..f3ef7fd2ac 100644 --- a/package/cjson/cjson.mk +++ b/package/cjson/cjson.mk @@ -4,10 +4,15 @@ # ################################################################################ -CJSON_VERSION = v1.2.1 +CJSON_VERSION = v1.6.0 CJSON_SITE = $(call github,DaveGamble,cjson,$(CJSON_VERSION)) CJSON_INSTALL_STAGING = YES CJSON_LICENSE = MIT CJSON_LICENSE_FILES = LICENSE +# Set ENABLE_CUSTOM_COMPILER_FLAGS to OFF in particular to disable +# -fstack-protector-strong which depends on BR2_TOOLCHAIN_HAS_SSP +CJSON_CONF_OPTS += \ + -DENABLE_CJSON_TEST=OFF \ + -DENABLE_CUSTOM_COMPILER_FLAGS=OFF $(eval $(cmake-package)) diff --git a/package/clamav/0003-backtrace-uClibc.patch b/package/clamav/0002-backtrace-uClibc.patch similarity index 100% rename from package/clamav/0003-backtrace-uClibc.patch rename to package/clamav/0002-backtrace-uClibc.patch diff --git a/package/clamav/Config.in b/package/clamav/Config.in index 7ec402d9de..bc934ea452 100644 --- a/package/clamav/Config.in +++ b/package/clamav/Config.in @@ -1,13 +1,13 @@ config BR2_PACKAGE_CLAMAV bool "clamav" - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE - select BR2_PACKAGE_OPENSSL - select BR2_PACKAGE_ZLIB depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_LIBTOOL + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_ZLIB help - ClamAV is an open source antivirus engine for detecting trojans, - viruses, malware & other malicious threats. + ClamAV is an open source antivirus engine for detecting + trojans, viruses, malware & other malicious threats. http://www.clamav.net diff --git a/package/clamav/clamav.mk b/package/clamav/clamav.mk index 36ab8be0e9..5429abb989 100644 --- a/package/clamav/clamav.mk +++ b/package/clamav/clamav.mk @@ -6,15 +6,16 @@ CLAMAV_VERSION = 0.99.2 CLAMAV_SITE = https://www.clamav.net/downloads/production -CLAMAV_LICENSE = GPLv2 +CLAMAV_LICENSE = GPL-2.0 CLAMAV_LICENSE_FILES = COPYING COPYING.bzip2 COPYING.file COPYING.getopt \ COPYING.LGPL COPYING.llvm COPYING.lzma COPYING.pcre COPYING.regex \ COPYING.unrar COPYING.zlib CLAMAV_DEPENDENCIES = \ host-pkgconf \ + libtool \ openssl \ zlib \ - $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) + $(TARGET_NLS_DEPENDENCIES) # mmap cannot be detected when cross-compiling, needed for mempool support CLAMAV_CONF_ENV = \ @@ -24,6 +25,8 @@ CLAMAV_CONF_ENV = \ # UCLIBC_HAS_FTS is disabled, therefore disable fanotify (missing fts.h) CLAMAV_CONF_OPTS = \ --with-dbdir=/var/lib/clamav \ + --with-ltdl-include=$(STAGING_DIR)/usr/include \ + --with-ltdl-lib=$(STAGING_DIR)/usr/lib \ --with-openssl=$(STAGING_DIR)/usr \ --with-zlib=$(STAGING_DIR)/usr \ --disable-zlib-vcheck \ @@ -45,6 +48,13 @@ else CLAMAV_CONF_OPTS += --disable-bzip2 endif +ifeq ($(BR2_PACKAGE_JSON_C),y) +CLAMAV_CONF_OPTS += --with-libjson=$(STAGING_DIR)/usr +CLAMAV_DEPENDENCIES += json-c +else +CLAMAV_CONF_OPTS += --without-libjson +endif + ifeq ($(BR2_PACKAGE_LIBXML2),y) CLAMAV_CONF_OPTS += --with-xml=$(STAGING_DIR)/usr CLAMAV_DEPENDENCIES += libxml2 diff --git a/package/clapack/Config.in b/package/clapack/Config.in index 7d1f9401ae..e5be0b6441 100644 --- a/package/clapack/Config.in +++ b/package/clapack/Config.in @@ -23,10 +23,11 @@ config BR2_PACKAGE_CLAPACK_ARITH_H string "Custom BLAS arith.h" depends on BR2_PACKAGE_CLAPACK help - To optimize BLAS library for the hardware, an 'arith.h' header should - be provided. + To optimize BLAS library for the hardware, an 'arith.h' header + should be provided. If empty, the library will not be optimized by the compiler. - In any case an 'arithchk' program is built (but not installed), to be run - on the target to generate this arith.h header. + In any case an 'arithchk' program is built + (but not installed), to be run on the target to generate this + arith.h header. diff --git a/package/clapack/clapack.hash b/package/clapack/clapack.hash index 08657fc594..ad586fac72 100644 --- a/package/clapack/clapack.hash +++ b/package/clapack/clapack.hash @@ -1,2 +1,5 @@ # Locally calculated sha256 0b3f782bc24845d85f36bafbff0f2f1384dc72df730fda4e7924ec1a70baca5a clapack-3.2.1-CMAKE.tgz +# License files, locally calculated +sha256 23014869214a231525b38c39fdb5f82364fa24154ac80fdcab2a79671460fd09 COPYING +sha256 44561c447e91203ddc747beeca5cc2794d95ee982c17c578670e4f0408bc3904 F2CLIBS/libf2c/Notice diff --git a/package/clapack/clapack.mk b/package/clapack/clapack.mk index c3841f2d24..9a083f3223 100644 --- a/package/clapack/clapack.mk +++ b/package/clapack/clapack.mk @@ -10,7 +10,7 @@ CLAPACK_SOURCE = clapack-$(CLAPACK_VERSION)-CMAKE.tgz # - libf2c.a (not installed) # - libblas (statically linked with libf2c.a) # - liblapack (statically linked with libf2c.a) -CLAPACK_LICENSE = HPND (libf2c), BSD-3c (libblas and liblapack) +CLAPACK_LICENSE = HPND (libf2c), BSD-3-Clause (libblas and liblapack) CLAPACK_LICENSE_FILES = F2CLIBS/libf2c/Notice COPYING CLAPACK_SITE = http://www.netlib.org/clapack CLAPACK_INSTALL_STAGING = YES diff --git a/package/classpath/0001-fix-gmp-include.patch b/package/classpath/0001-fix-gmp-include.patch deleted file mode 100644 index f7a392093f..0000000000 --- a/package/classpath/0001-fix-gmp-include.patch +++ /dev/null @@ -1,46 +0,0 @@ -The GMP include is hardcoded to /usr/include causing obvious problems. - -From classpath CVS: -http://cvs.savannah.gnu.org/viewvc/classpath/configure.ac?root=classpath&r1=1.245&r2=1.246 - -[Gustavo: ditch -L or libtool complains loudly] - -Signed-off-by: Gustavo Zacarias - ---- a/configure.ac 2010/01/30 01:33:50 1.245 -+++ b/configure.ac 2010/05/04 12:29:23 1.246 -@@ -752,10 +752,32 @@ - dnl __gmpz_mul_si for earlier versions (>= 3.1). - dnl IMPORTANT: if you decide to look for __gmpz_combit, don't forget to - dnl change the name of the corresponding ac_ variable on lines 860... -+ AC_ARG_WITH(gmp, [ --with-gmp=PATH specify prefix directory for the installed GMP package. -+ Equivalent to --with-gmp-include=PATH/include -+ plus --with-gmp-lib=PATH/lib]) -+ AC_ARG_WITH(gmp_include, [ --with-gmp-include=PATH specify directory for installed GMP include files]) -+ AC_ARG_WITH(gmp_lib, [ --with-gmp-lib=PATH specify directory for the installed GMP library]) -+ - if test "x${COMPILE_GMP}" = xyes; then -+ AC_MSG_CHECKING([for GMP directories]) -+ if test "x$with_gmp" != x; then -+ gmplibs="-lgmp" -+ gmpinc="-I$with_gmp/include" -+ if test "x$with_gmp_include" != x; then -+ gmpinc="-I$with_gmp_include $gmpinc" -+ fi -+ if test "x$with_gmp_lib" != x; then -+ gmplibs="$gmplibs" -+ fi -+ else -+ with_gmp="/usr" -+ gmplibs="-lgmp" -+ gmpinc="-I/usr/include" -+ fi -+ AC_MSG_RESULT([prefix=$with_gmp, libs=$gmplibs, inc=$gmpinc]) - AC_CHECK_LIB(gmp, __gmpz_mul_si, -- [GMP_CFLAGS=-I/usr/include -- GMP_LIBS=-lgmp ], -+ [GMP_CFLAGS="$gmpinc" -+ GMP_LIBS="$gmplibs" ], - [GMP_CFLAGS= - GMP_LIBS= ]) - AC_SUBST(GMP_CFLAGS) diff --git a/package/classpath/0002-add-config-rpath.patch b/package/classpath/0002-add-config-rpath.patch deleted file mode 100644 index 3a8a7d0952..0000000000 --- a/package/classpath/0002-add-config-rpath.patch +++ /dev/null @@ -1,680 +0,0 @@ -Add config.rpath from upstream CVS to avoid (re)autoconfiguring errors. - -Signed-off-by: Gustavo Zacarias - -diff -Nura classpath-0.98.orig/config.rpath classpath-0.98/config.rpath ---- classpath-0.98.orig/config.rpath 1969-12-31 21:00:00.000000000 -0300 -+++ classpath-0.98/config.rpath 2013-07-10 09:36:51.894281025 -0300 -@@ -0,0 +1,672 @@ -+#! /bin/sh -+# Output a system dependent set of variables, describing how to set the -+# run time search path of shared libraries in an executable. -+# -+# Copyright 1996-2010 Free Software Foundation, Inc. -+# Taken from GNU libtool, 2001 -+# Originally by Gordon Matzigkeit , 1996 -+# -+# This file is free software; the Free Software Foundation gives -+# unlimited permission to copy and/or distribute it, with or without -+# modifications, as long as this notice is preserved. -+# -+# The first argument passed to this file is the canonical host specification, -+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -+# or -+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -+# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld -+# should be set by the caller. -+# -+# The set of defined variables is at the end of this script. -+ -+# Known limitations: -+# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer -+# than 256 bytes, otherwise the compiler driver will dump core. The only -+# known workaround is to choose shorter directory names for the build -+# directory and/or the installation directory. -+ -+# All known linkers require a `.a' archive for static linking (except MSVC, -+# which needs '.lib'). -+libext=a -+shrext=.so -+ -+host="$1" -+host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -+host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -+host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -+ -+# Code taken from libtool.m4's _LT_CC_BASENAME. -+ -+for cc_temp in $CC""; do -+ case $cc_temp in -+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; -+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; -+ \-*) ;; -+ *) break;; -+ esac -+done -+cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` -+ -+# Code taken from libtool.m4's _LT_COMPILER_PIC. -+ -+wl= -+if test "$GCC" = yes; then -+ wl='-Wl,' -+else -+ case "$host_os" in -+ aix*) -+ wl='-Wl,' -+ ;; -+ darwin*) -+ case $cc_basename in -+ xlc*) -+ wl='-Wl,' -+ ;; -+ esac -+ ;; -+ mingw* | cygwin* | pw32* | os2* | cegcc*) -+ ;; -+ hpux9* | hpux10* | hpux11*) -+ wl='-Wl,' -+ ;; -+ irix5* | irix6* | nonstopux*) -+ wl='-Wl,' -+ ;; -+ newsos6) -+ ;; -+ linux* | k*bsd*-gnu) -+ case $cc_basename in -+ ecc*) -+ wl='-Wl,' -+ ;; -+ icc* | ifort*) -+ wl='-Wl,' -+ ;; -+ lf95*) -+ wl='-Wl,' -+ ;; -+ pgcc | pgf77 | pgf90) -+ wl='-Wl,' -+ ;; -+ ccc*) -+ wl='-Wl,' -+ ;; -+ como) -+ wl='-lopt=' -+ ;; -+ *) -+ case `$CC -V 2>&1 | sed 5q` in -+ *Sun\ C*) -+ wl='-Wl,' -+ ;; -+ esac -+ ;; -+ esac -+ ;; -+ osf3* | osf4* | osf5*) -+ wl='-Wl,' -+ ;; -+ rdos*) -+ ;; -+ solaris*) -+ wl='-Wl,' -+ ;; -+ sunos4*) -+ wl='-Qoption ld ' -+ ;; -+ sysv4 | sysv4.2uw2* | sysv4.3*) -+ wl='-Wl,' -+ ;; -+ sysv4*MP*) -+ ;; -+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) -+ wl='-Wl,' -+ ;; -+ unicos*) -+ wl='-Wl,' -+ ;; -+ uts4*) -+ ;; -+ esac -+fi -+ -+# Code taken from libtool.m4's _LT_LINKER_SHLIBS. -+ -+hardcode_libdir_flag_spec= -+hardcode_libdir_separator= -+hardcode_direct=no -+hardcode_minus_L=no -+ -+case "$host_os" in -+ cygwin* | mingw* | pw32* | cegcc*) -+ # FIXME: the MSVC++ port hasn't been tested in a loooong time -+ # When not using gcc, we currently assume that we are using -+ # Microsoft Visual C++. -+ if test "$GCC" != yes; then -+ with_gnu_ld=no -+ fi -+ ;; -+ interix*) -+ # we just hope/assume this is gcc and not c89 (= MSVC++) -+ with_gnu_ld=yes -+ ;; -+ openbsd*) -+ with_gnu_ld=no -+ ;; -+esac -+ -+ld_shlibs=yes -+if test "$with_gnu_ld" = yes; then -+ # Set some defaults for GNU ld with shared library support. These -+ # are reset later if shared libraries are not supported. Putting them -+ # here allows them to be overridden if necessary. -+ # Unlike libtool, we use -rpath here, not --rpath, since the documented -+ # option of GNU ld is called -rpath, not --rpath. -+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' -+ case "$host_os" in -+ aix[3-9]*) -+ # On AIX/PPC, the GNU linker is very broken -+ if test "$host_cpu" != ia64; then -+ ld_shlibs=no -+ fi -+ ;; -+ amigaos*) -+ hardcode_libdir_flag_spec='-L$libdir' -+ hardcode_minus_L=yes -+ # Samuel A. Falvo II reports -+ # that the semantics of dynamic libraries on AmigaOS, at least up -+ # to version 4, is to share data among multiple programs linked -+ # with the same dynamic library. Since this doesn't match the -+ # behavior of shared libraries on other platforms, we cannot use -+ # them. -+ ld_shlibs=no -+ ;; -+ beos*) -+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then -+ : -+ else -+ ld_shlibs=no -+ fi -+ ;; -+ cygwin* | mingw* | pw32* | cegcc*) -+ # hardcode_libdir_flag_spec is actually meaningless, as there is -+ # no search path for DLLs. -+ hardcode_libdir_flag_spec='-L$libdir' -+ if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then -+ : -+ else -+ ld_shlibs=no -+ fi -+ ;; -+ interix[3-9]*) -+ hardcode_direct=no -+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir' -+ ;; -+ gnu* | linux* | k*bsd*-gnu) -+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then -+ : -+ else -+ ld_shlibs=no -+ fi -+ ;; -+ netbsd*) -+ ;; -+ solaris*) -+ if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then -+ ld_shlibs=no -+ elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then -+ : -+ else -+ ld_shlibs=no -+ fi -+ ;; -+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) -+ case `$LD -v 2>&1` in -+ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) -+ ld_shlibs=no -+ ;; -+ *) -+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then -+ hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' -+ else -+ ld_shlibs=no -+ fi -+ ;; -+ esac -+ ;; -+ sunos4*) -+ hardcode_direct=yes -+ ;; -+ *) -+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then -+ : -+ else -+ ld_shlibs=no -+ fi -+ ;; -+ esac -+ if test "$ld_shlibs" = no; then -+ hardcode_libdir_flag_spec= -+ fi -+else -+ case "$host_os" in -+ aix3*) -+ # Note: this linker hardcodes the directories in LIBPATH if there -+ # are no directories specified by -L. -+ hardcode_minus_L=yes -+ if test "$GCC" = yes; then -+ # Neither direct hardcoding nor static linking is supported with a -+ # broken collect2. -+ hardcode_direct=unsupported -+ fi -+ ;; -+ aix[4-9]*) -+ if test "$host_cpu" = ia64; then -+ # On IA64, the linker does run time linking by default, so we don't -+ # have to do anything special. -+ aix_use_runtimelinking=no -+ else -+ aix_use_runtimelinking=no -+ # Test if we are trying to use run time linking or normal -+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we -+ # need to do runtime linking. -+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) -+ for ld_flag in $LDFLAGS; do -+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then -+ aix_use_runtimelinking=yes -+ break -+ fi -+ done -+ ;; -+ esac -+ fi -+ hardcode_direct=yes -+ hardcode_libdir_separator=':' -+ if test "$GCC" = yes; then -+ case $host_os in aix4.[012]|aix4.[012].*) -+ collect2name=`${CC} -print-prog-name=collect2` -+ if test -f "$collect2name" && \ -+ strings "$collect2name" | grep resolve_lib_name >/dev/null -+ then -+ # We have reworked collect2 -+ : -+ else -+ # We have old collect2 -+ hardcode_direct=unsupported -+ hardcode_minus_L=yes -+ hardcode_libdir_flag_spec='-L$libdir' -+ hardcode_libdir_separator= -+ fi -+ ;; -+ esac -+ fi -+ # Begin _LT_AC_SYS_LIBPATH_AIX. -+ echo 'int main () { return 0; }' > conftest.c -+ ${CC} ${LDFLAGS} conftest.c -o conftest -+ aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -+}'` -+ if test -z "$aix_libpath"; then -+ aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -+}'` -+ fi -+ if test -z "$aix_libpath"; then -+ aix_libpath="/usr/lib:/lib" -+ fi -+ rm -f conftest.c conftest -+ # End _LT_AC_SYS_LIBPATH_AIX. -+ if test "$aix_use_runtimelinking" = yes; then -+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" -+ else -+ if test "$host_cpu" = ia64; then -+ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' -+ else -+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" -+ fi -+ fi -+ ;; -+ amigaos*) -+ hardcode_libdir_flag_spec='-L$libdir' -+ hardcode_minus_L=yes -+ # see comment about different semantics on the GNU ld section -+ ld_shlibs=no -+ ;; -+ bsdi[45]*) -+ ;; -+ cygwin* | mingw* | pw32* | cegcc*) -+ # When not using gcc, we currently assume that we are using -+ # Microsoft Visual C++. -+ # hardcode_libdir_flag_spec is actually meaningless, as there is -+ # no search path for DLLs. -+ hardcode_libdir_flag_spec=' ' -+ libext=lib -+ ;; -+ darwin* | rhapsody*) -+ hardcode_direct=no -+ if test "$GCC" = yes ; then -+ : -+ else -+ case $cc_basename in -+ xlc*) -+ ;; -+ *) -+ ld_shlibs=no -+ ;; -+ esac -+ fi -+ ;; -+ dgux*) -+ hardcode_libdir_flag_spec='-L$libdir' -+ ;; -+ freebsd1*) -+ ld_shlibs=no -+ ;; -+ freebsd2.2*) -+ hardcode_libdir_flag_spec='-R$libdir' -+ hardcode_direct=yes -+ ;; -+ freebsd2*) -+ hardcode_direct=yes -+ hardcode_minus_L=yes -+ ;; -+ freebsd* | dragonfly*) -+ hardcode_libdir_flag_spec='-R$libdir' -+ hardcode_direct=yes -+ ;; -+ hpux9*) -+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' -+ hardcode_libdir_separator=: -+ hardcode_direct=yes -+ # hardcode_minus_L: Not really in the search PATH, -+ # but as the default location of the library. -+ hardcode_minus_L=yes -+ ;; -+ hpux10*) -+ if test "$with_gnu_ld" = no; then -+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' -+ hardcode_libdir_separator=: -+ hardcode_direct=yes -+ # hardcode_minus_L: Not really in the search PATH, -+ # but as the default location of the library. -+ hardcode_minus_L=yes -+ fi -+ ;; -+ hpux11*) -+ if test "$with_gnu_ld" = no; then -+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' -+ hardcode_libdir_separator=: -+ case $host_cpu in -+ hppa*64*|ia64*) -+ hardcode_direct=no -+ ;; -+ *) -+ hardcode_direct=yes -+ # hardcode_minus_L: Not really in the search PATH, -+ # but as the default location of the library. -+ hardcode_minus_L=yes -+ ;; -+ esac -+ fi -+ ;; -+ irix5* | irix6* | nonstopux*) -+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' -+ hardcode_libdir_separator=: -+ ;; -+ netbsd*) -+ hardcode_libdir_flag_spec='-R$libdir' -+ hardcode_direct=yes -+ ;; -+ newsos6) -+ hardcode_direct=yes -+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' -+ hardcode_libdir_separator=: -+ ;; -+ openbsd*) -+ if test -f /usr/libexec/ld.so; then -+ hardcode_direct=yes -+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then -+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir' -+ else -+ case "$host_os" in -+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) -+ hardcode_libdir_flag_spec='-R$libdir' -+ ;; -+ *) -+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir' -+ ;; -+ esac -+ fi -+ else -+ ld_shlibs=no -+ fi -+ ;; -+ os2*) -+ hardcode_libdir_flag_spec='-L$libdir' -+ hardcode_minus_L=yes -+ ;; -+ osf3*) -+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' -+ hardcode_libdir_separator=: -+ ;; -+ osf4* | osf5*) -+ if test "$GCC" = yes; then -+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' -+ else -+ # Both cc and cxx compiler support -rpath directly -+ hardcode_libdir_flag_spec='-rpath $libdir' -+ fi -+ hardcode_libdir_separator=: -+ ;; -+ solaris*) -+ hardcode_libdir_flag_spec='-R$libdir' -+ ;; -+ sunos4*) -+ hardcode_libdir_flag_spec='-L$libdir' -+ hardcode_direct=yes -+ hardcode_minus_L=yes -+ ;; -+ sysv4) -+ case $host_vendor in -+ sni) -+ hardcode_direct=yes # is this really true??? -+ ;; -+ siemens) -+ hardcode_direct=no -+ ;; -+ motorola) -+ hardcode_direct=no #Motorola manual says yes, but my tests say they lie -+ ;; -+ esac -+ ;; -+ sysv4.3*) -+ ;; -+ sysv4*MP*) -+ if test -d /usr/nec; then -+ ld_shlibs=yes -+ fi -+ ;; -+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) -+ ;; -+ sysv5* | sco3.2v5* | sco5v6*) -+ hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' -+ hardcode_libdir_separator=':' -+ ;; -+ uts4*) -+ hardcode_libdir_flag_spec='-L$libdir' -+ ;; -+ *) -+ ld_shlibs=no -+ ;; -+ esac -+fi -+ -+# Check dynamic linker characteristics -+# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER. -+# Unlike libtool.m4, here we don't care about _all_ names of the library, but -+# only about the one the linker finds when passed -lNAME. This is the last -+# element of library_names_spec in libtool.m4, or possibly two of them if the -+# linker has special search rules. -+library_names_spec= # the last element of library_names_spec in libtool.m4 -+libname_spec='lib$name' -+case "$host_os" in -+ aix3*) -+ library_names_spec='$libname.a' -+ ;; -+ aix[4-9]*) -+ library_names_spec='$libname$shrext' -+ ;; -+ amigaos*) -+ library_names_spec='$libname.a' -+ ;; -+ beos*) -+ library_names_spec='$libname$shrext' -+ ;; -+ bsdi[45]*) -+ library_names_spec='$libname$shrext' -+ ;; -+ cygwin* | mingw* | pw32* | cegcc*) -+ shrext=.dll -+ library_names_spec='$libname.dll.a $libname.lib' -+ ;; -+ darwin* | rhapsody*) -+ shrext=.dylib -+ library_names_spec='$libname$shrext' -+ ;; -+ dgux*) -+ library_names_spec='$libname$shrext' -+ ;; -+ freebsd1*) -+ ;; -+ freebsd* | dragonfly*) -+ case "$host_os" in -+ freebsd[123]*) -+ library_names_spec='$libname$shrext$versuffix' ;; -+ *) -+ library_names_spec='$libname$shrext' ;; -+ esac -+ ;; -+ gnu*) -+ library_names_spec='$libname$shrext' -+ ;; -+ hpux9* | hpux10* | hpux11*) -+ case $host_cpu in -+ ia64*) -+ shrext=.so -+ ;; -+ hppa*64*) -+ shrext=.sl -+ ;; -+ *) -+ shrext=.sl -+ ;; -+ esac -+ library_names_spec='$libname$shrext' -+ ;; -+ interix[3-9]*) -+ library_names_spec='$libname$shrext' -+ ;; -+ irix5* | irix6* | nonstopux*) -+ library_names_spec='$libname$shrext' -+ case "$host_os" in -+ irix5* | nonstopux*) -+ libsuff= shlibsuff= -+ ;; -+ *) -+ case $LD in -+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; -+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; -+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; -+ *) libsuff= shlibsuff= ;; -+ esac -+ ;; -+ esac -+ ;; -+ linux*oldld* | linux*aout* | linux*coff*) -+ ;; -+ linux* | k*bsd*-gnu) -+ library_names_spec='$libname$shrext' -+ ;; -+ knetbsd*-gnu) -+ library_names_spec='$libname$shrext' -+ ;; -+ netbsd*) -+ library_names_spec='$libname$shrext' -+ ;; -+ newsos6) -+ library_names_spec='$libname$shrext' -+ ;; -+ nto-qnx*) -+ library_names_spec='$libname$shrext' -+ ;; -+ openbsd*) -+ library_names_spec='$libname$shrext$versuffix' -+ ;; -+ os2*) -+ libname_spec='$name' -+ shrext=.dll -+ library_names_spec='$libname.a' -+ ;; -+ osf3* | osf4* | osf5*) -+ library_names_spec='$libname$shrext' -+ ;; -+ rdos*) -+ ;; -+ solaris*) -+ library_names_spec='$libname$shrext' -+ ;; -+ sunos4*) -+ library_names_spec='$libname$shrext$versuffix' -+ ;; -+ sysv4 | sysv4.3*) -+ library_names_spec='$libname$shrext' -+ ;; -+ sysv4*MP*) -+ library_names_spec='$libname$shrext' -+ ;; -+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) -+ library_names_spec='$libname$shrext' -+ ;; -+ uts4*) -+ library_names_spec='$libname$shrext' -+ ;; -+esac -+ -+sed_quote_subst='s/\(["`$\\]\)/\\\1/g' -+escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` -+shlibext=`echo "$shrext" | sed -e 's,^\.,,'` -+escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` -+escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` -+escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` -+ -+LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <= 4.7" +comment "ctest needs a toolchain w/ C++, wchar, dynamic library, gcc >= 4.7, NPTL" depends on BR2_PACKAGE_CMAKE_ARCH_SUPPORTS + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ - BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 + BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 || \ + !BR2_TOOLCHAIN_HAS_THREADS_NPTL diff --git a/package/cmake/Config.in.host b/package/cmake/Config.in.host new file mode 100644 index 0000000000..b2e210ee2c --- /dev/null +++ b/package/cmake/Config.in.host @@ -0,0 +1,11 @@ +config BR2_PACKAGE_HOST_CMAKE + bool "host cmake" + help + CMake is an open-source, cross-platform family of tools + designed to build, test and package software. CMake is used + to control the software compilation process using simple + platform and compiler independent configuration files, and + generate native makefiles and workspaces that can be used in + the compiler environment of your choice. + + http://www.cmake.org/ diff --git a/package/cmake/cmake.hash b/package/cmake/cmake.hash index f846dc9541..f138ac79a1 100644 --- a/package/cmake/cmake.hash +++ b/package/cmake/cmake.hash @@ -1,2 +1,2 @@ -# From http://www.cmake.org/files/v3.6/cmake-3.6.3-SHA-256.txt -sha256 7d73ee4fae572eb2d7cd3feb48971aea903bb30a20ea5ae8b4da826d8ccad5fe cmake-3.6.3.tar.gz +# From http://www.cmake.org/files/v3.8/cmake-3.8.2-SHA-256.txt +sha256 da3072794eb4c09f2d782fcee043847b99bb4cf8d4573978d9b2024214d6e92d cmake-3.8.2.tar.gz diff --git a/package/cmake/cmake.mk b/package/cmake/cmake.mk index bc555092c2..a00691a128 100644 --- a/package/cmake/cmake.mk +++ b/package/cmake/cmake.mk @@ -4,10 +4,10 @@ # ################################################################################ -CMAKE_VERSION_MAJOR = 3.6 -CMAKE_VERSION = $(CMAKE_VERSION_MAJOR).3 +CMAKE_VERSION_MAJOR = 3.8 +CMAKE_VERSION = $(CMAKE_VERSION_MAJOR).2 CMAKE_SITE = https://cmake.org/files/v$(CMAKE_VERSION_MAJOR) -CMAKE_LICENSE = BSD-3c +CMAKE_LICENSE = BSD-3-Clause CMAKE_LICENSE_FILES = Copyright.txt # CMake is a particular package: @@ -22,7 +22,7 @@ CMAKE_LICENSE_FILES = Copyright.txt # the system-wide libraries instead of rebuilding and statically # linking with the ones bundled into the CMake sources. -CMAKE_DEPENDENCIES = zlib jsoncpp libcurl libarchive expat bzip2 xz +CMAKE_DEPENDENCIES = zlib jsoncpp libcurl libarchive expat bzip2 xz libuv rhash CMAKE_CONF_OPTS = \ -DKWSYS_LFS_WORKS=TRUE \ @@ -32,7 +32,7 @@ CMAKE_CONF_OPTS = \ -DBUILD_CursesDialog=OFF # Get rid of -I* options from $(HOST_CPPFLAGS) to prevent that a -# header available in $(HOST_DIR)/usr/include is used instead of a +# header available in $(HOST_DIR)/include is used instead of a # CMake internal header, e.g. lzma* headers of the xz package HOST_CMAKE_CFLAGS = $(shell echo $(HOST_CFLAGS) | sed -r "s%$(HOST_CPPFLAGS)%%") HOST_CMAKE_CXXFLAGS = $(shell echo $(HOST_CXXFLAGS) | sed -r "s%$(HOST_CPPFLAGS)%%") @@ -41,11 +41,12 @@ define HOST_CMAKE_CONFIGURE_CMDS (cd $(@D); \ $(HOST_CONFIGURE_OPTS) \ CFLAGS="$(HOST_CMAKE_CFLAGS)" \ - ./bootstrap --prefix=$(HOST_DIR)/usr \ + ./bootstrap --prefix=$(HOST_DIR) \ --parallel=$(PARALLEL_JOBS) -- \ -DCMAKE_C_FLAGS="$(HOST_CMAKE_CFLAGS)" \ -DCMAKE_CXX_FLAGS="$(HOST_CMAKE_CXXFLAGS)" \ -DCMAKE_EXE_LINKER_FLAGS="$(HOST_LDFLAGS)" \ + -DCMAKE_USE_OPENSSL:BOOL=OFF \ -DBUILD_CursesDialog=OFF \ ) endef diff --git a/package/collectd/0001-libcollectdclient-increase-error-buffer.patch b/package/collectd/0001-libcollectdclient-increase-error-buffer.patch new file mode 100644 index 0000000000..247d32b592 --- /dev/null +++ b/package/collectd/0001-libcollectdclient-increase-error-buffer.patch @@ -0,0 +1,87 @@ +From e170f3559fcda6d37a012aba187a96b1f42e8f9d Mon Sep 17 00:00:00 2001 +From: Ruben Kerkhof +Date: Sun, 2 Jul 2017 21:52:14 +0200 +Subject: [PATCH] libcollectdclient: increase error buffer +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf8 +Content-Transfer-Encoding: 8bit + +make[1]: Entering directory '/home/ruben/src/collectd' + CC src/libcollectdclient/libcollectdclient_la-client.lo +src/libcollectdclient/client.c: In function ‘lcc_getval’: +src/libcollectdclient/client.c:621:23: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1010 [-Wformat-truncation=] + LCC_SET_ERRSTR(c, "Server error: %s", res.message); + ^ ~ +src/libcollectdclient/client.c:94:48: note: in definition of macro ‘LCC_SET_ERRSTR’ + snprintf((c)->errbuf, sizeof((c)->errbuf), __VA_ARGS__); \ + ^~~~~~~~~~~ +src/libcollectdclient/client.c:94:5: note: ‘snprintf’ output between 15 and 1038 bytes into a destination of size 1024 + snprintf((c)->errbuf, sizeof((c)->errbuf), __VA_ARGS__); \ + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src/libcollectdclient/client.c:621:5: note: in expansion of macro ‘LCC_SET_ERRSTR’ + LCC_SET_ERRSTR(c, "Server error: %s", res.message); + ^~~~~~~~~~~~~~ +src/libcollectdclient/client.c: In function ‘lcc_putval’: +src/libcollectdclient/client.c:754:23: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1010 [-Wformat-truncation=] + LCC_SET_ERRSTR(c, "Server error: %s", res.message); + ^ ~ +src/libcollectdclient/client.c:94:48: note: in definition of macro ‘LCC_SET_ERRSTR’ + snprintf((c)->errbuf, sizeof((c)->errbuf), __VA_ARGS__); \ + ^~~~~~~~~~~ +src/libcollectdclient/client.c:94:5: note: ‘snprintf’ output between 15 and 1038 bytes into a destination of size 1024 + snprintf((c)->errbuf, sizeof((c)->errbuf), __VA_ARGS__); \ + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src/libcollectdclient/client.c:754:5: note: in expansion of macro ‘LCC_SET_ERRSTR’ + LCC_SET_ERRSTR(c, "Server error: %s", res.message); + ^~~~~~~~~~~~~~ +src/libcollectdclient/client.c: In function ‘lcc_flush’: +src/libcollectdclient/client.c:802:23: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1010 [-Wformat-truncation=] + LCC_SET_ERRSTR(c, "Server error: %s", res.message); + ^ ~ +src/libcollectdclient/client.c:94:48: note: in definition of macro ‘LCC_SET_ERRSTR’ + snprintf((c)->errbuf, sizeof((c)->errbuf), __VA_ARGS__); \ + ^~~~~~~~~~~ +src/libcollectdclient/client.c:94:5: note: ‘snprintf’ output between 15 and 1038 bytes into a destination of size 1024 + snprintf((c)->errbuf, sizeof((c)->errbuf), __VA_ARGS__); \ + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src/libcollectdclient/client.c:802:5: note: in expansion of macro ‘LCC_SET_ERRSTR’ + LCC_SET_ERRSTR(c, "Server error: %s", res.message); + ^~~~~~~~~~~~~~ +src/libcollectdclient/client.c: In function ‘lcc_listval’: +src/libcollectdclient/client.c:834:23: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1010 [-Wformat-truncation=] + LCC_SET_ERRSTR(c, "Server error: %s", res.message); + ^ ~ +src/libcollectdclient/client.c:94:48: note: in definition of macro ‘LCC_SET_ERRSTR’ + snprintf((c)->errbuf, sizeof((c)->errbuf), __VA_ARGS__); \ + ^~~~~~~~~~~ +src/libcollectdclient/client.c:94:5: note: ‘snprintf’ output between 15 and 1038 bytes into a destination of size 1024 + snprintf((c)->errbuf, sizeof((c)->errbuf), __VA_ARGS__); \ + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src/libcollectdclient/client.c:834:5: note: in expansion of macro ‘LCC_SET_ERRSTR’ + LCC_SET_ERRSTR(c, "Server error: %s", res.message); + ^~~~~~~~~~~~~~ + +Fixes #2200 + +[Upstream commit: https://git.octo.it/?p=collectd.git;a=commitdiff;h=e170f3559fcda6d37a012aba187a96b1f42e8f9d] +Signed-off-by: Thomas Petazzoni +--- + src/libcollectdclient/client.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/libcollectdclient/client.c b/src/libcollectdclient/client.c +index 51a4ab2..3ae2e71 100644 +--- a/src/libcollectdclient/client.c ++++ b/src/libcollectdclient/client.c +@@ -99,7 +99,7 @@ + */ + struct lcc_connection_s { + FILE *fh; +- char errbuf[1024]; ++ char errbuf[2048]; + }; + + struct lcc_response_s { +-- +1.7.10.4 + diff --git a/package/collectd/Config.in b/package/collectd/Config.in index 47bfe95d98..ccd3fbe13f 100644 --- a/package/collectd/Config.in +++ b/package/collectd/Config.in @@ -89,8 +89,8 @@ config BR2_PACKAGE_COLLECTD_SYSLOG config BR2_PACKAGE_COLLECTD_THRESHOLD bool "threshold" help - Checks values against configured thresholds and creates notifications - if values are out of bounds. + Checks values against configured thresholds and creates + notifications if values are out of bounds. endmenu @@ -140,17 +140,20 @@ config BR2_PACKAGE_COLLECTD_CGROUPS config BR2_PACKAGE_COLLECTD_CONNTRACK bool "conntrack" help - Collects the number of entries in Linux's connection tracking table. + Collects the number of entries in Linux's connection tracking + table. config BR2_PACKAGE_COLLECTD_CONTEXTSWITCH bool "contextswitch" help - Collects the number of context switches done by the operating system. + Collects the number of context switches done by the operating + system. config BR2_PACKAGE_COLLECTD_CPU bool "cpu" help - Collects the amount of time spent by the CPU in various states. + Collects the amount of time spent by the CPU in various + states. config BR2_PACKAGE_COLLECTD_CPUFREQ bool "cpufreq" @@ -229,7 +232,8 @@ config BR2_PACKAGE_COLLECTD_FHCOUNT config BR2_PACKAGE_COLLECTD_FILECOUNT bool "filecount" help - Counts the number of files in a directory and all its subdirectories. + Counts the number of files in a directory and all its + subdirectories. config BR2_PACKAGE_COLLECTD_FSCACHE bool "fscache" @@ -323,7 +327,8 @@ config BR2_PACKAGE_COLLECTD_MYSQL depends on BR2_TOOLCHAIN_HAS_THREADS # mysql select BR2_PACKAGE_MYSQL help - Connects to a MySQL database and issues a "show status" command. + Connects to a MySQL database and issues a "show status" + command. config BR2_PACKAGE_COLLECTD_NETLINK bool "netlink" @@ -334,7 +339,8 @@ config BR2_PACKAGE_COLLECTD_NETLINK config BR2_PACKAGE_COLLECTD_NFS bool "nfs" help - Collects information about the usage of the Network File System. + Collects information about the usage of the Network File + System. config BR2_PACKAGE_COLLECTD_NGINX bool "nginx" @@ -358,7 +364,8 @@ config BR2_PACKAGE_COLLECTD_OPENLDAP depends on BR2_USE_WCHAR select BR2_PACKAGE_OPENLDAP help - Read monitoring information from OpenLDAP's cn=Monitor subtree. + Read monitoring information from OpenLDAP's cn=Monitor + subtree. comment "openldap support needs a toolchain w/ wchar" depends on !BR2_USE_WCHAR @@ -409,8 +416,8 @@ config BR2_PACKAGE_COLLECTD_SMART depends on BR2_PACKAGE_HAS_UDEV # libatasmart select BR2_PACKAGE_LIBATASMART help - Collect SMART statistics, notably load cycle count, temperature - and bad sectors. + Collect SMART statistics, notably load cycle count, + temperature and bad sectors. comment "SMART requires udev to be enabled" depends on !BR2_PACKAGE_HAS_UDEV @@ -445,8 +452,8 @@ config BR2_PACKAGE_COLLECTD_TAIL config BR2_PACKAGE_COLLECTD_TAIL_CSV bool "tail csv" help - Follows (tails) files in CSV format, parses each line and submits - extracted values. + Follows (tails) files in CSV format, parses each line and + submits extracted values. config BR2_PACKAGE_COLLECTD_TCPCONNS bool "tcpconns" @@ -516,7 +523,8 @@ comment "Select at least one for collectd to be useful" config BR2_PACKAGE_COLLECTD_CSV bool "csv" help - Writes values to a plain-text file in Comma Separated Values format. + Writes values to a plain-text file in Comma Separated Values + format. config BR2_PACKAGE_COLLECTD_GRAPHITE bool "graphite" @@ -548,13 +556,15 @@ comment "rrdtool support needs a toolchain w/ wchar" config BR2_PACKAGE_COLLECTD_RIEMANN bool "riemann" - depends on BR2_INSTALL_LIBSTDCPP # protobuf - # protobuf-c -> host-protobuf + # riemann-c-client -> protobuf-c + depends on BR2_INSTALL_LIBSTDCPP depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + depends on BR2_HOST_GCC_AT_LEAST_4_5 select BR2_PACKAGE_RIEMANN_C_CLIENT select BR2_PACKAGE_LIBTOOL help - Sends data to Riemann, a stream processing and monitoring system. + Sends data to Riemann, a stream processing and monitoring + system. config BR2_PACKAGE_COLLECTD_UNIXSOCK bool "unixsock" @@ -566,7 +576,8 @@ config BR2_PACKAGE_COLLECTD_WRITEHTTP bool "write_http" select BR2_PACKAGE_LIBCURL help - Sends values collected to a web-server using HTTP POST and PUTVAL. + Sends values collected to a web-server using HTTP POST and + PUTVAL. config BR2_PACKAGE_COLLECTD_WRITELOG bool "write_log" @@ -577,27 +588,28 @@ config BR2_PACKAGE_COLLECTD_WRITEPROMETHEUS bool "write_prometheus" depends on BR2_INSTALL_LIBSTDCPP # protobuf-c depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" # protobuf-c + depends on BR2_HOST_GCC_AT_LEAST_4_5 # protobuf-c select BR2_PACKAGE_LIBMICROHTTPD select BR2_PACKAGE_PROTOBUF_C help Publishes values using an embedded HTTP server, in a format compatible with Prometheus' collectd_exporter. -comment "write_prometheus needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP +comment "write_prometheus needs a toolchain w/ C++, host gcc >= 4.5" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_HOST_GCC_AT_LEAST_4_5 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" config BR2_PACKAGE_COLLECTD_WRITESENSU bool "write_sensu" help - Sends data to Sensu, a stream processing and monitoring system, - via the Sensu client local TCP socket. + Sends data to Sensu, a stream processing and monitoring + system, via the Sensu client local TCP socket. config BR2_PACKAGE_COLLECTD_WRITETSDB bool "write_tsdb" help - Sends data OpenTSDB, a scalable no master, no shared state time - series database. + Sends data OpenTSDB, a scalable no master, no shared state + time series database. endmenu diff --git a/package/collectd/collectd.mk b/package/collectd/collectd.mk index 38354ac0b4..6c987b2e36 100644 --- a/package/collectd/collectd.mk +++ b/package/collectd/collectd.mk @@ -9,7 +9,7 @@ COLLECTD_SITE = http://collectd.org/files COLLECTD_SOURCE = collectd-$(COLLECTD_VERSION).tar.bz2 COLLECTD_CONF_ENV = ac_cv_lib_yajl_yajl_alloc=yes COLLECTD_INSTALL_STAGING = YES -COLLECTD_LICENSE = GPLv2, LGPLv2.1 +COLLECTD_LICENSE = GPL-2.0, LGPL-2.1 COLLECTD_LICENSE_FILES = COPYING # These require unmet dependencies, are fringe, pointless or deprecated @@ -24,9 +24,23 @@ COLLECTD_PLUGINS_DISABLE = \ COLLECTD_CONF_ENV += LIBS="-lm" +# +# NOTE: There's also a third availible setting "intswap", which might +# be needed on some old ARM hardware (see [2]), but is not being +# accounted for as per discussion [1] +# +# [1] http://lists.busybox.net/pipermail/buildroot/2017-November/206100.html +# [2] http://lists.busybox.net/pipermail/buildroot/2017-November/206251.html +# +ifeq ($(BR2_ENDIAN),"BIG") +COLLECTD_FP_LAYOUT=endianflip +else +COLLECTD_FP_LAYOUT=nothing +endif + COLLECTD_CONF_OPTS += \ --with-nan-emulation \ - --with-fp-layout=nothing \ + --with-fp-layout=$(COLLECTD_FP_LAYOUT) \ --with-perl-bindings=no \ $(foreach p, $(COLLECTD_PLUGINS_DISABLE), --disable-$(p)) \ $(if $(BR2_PACKAGE_COLLECTD_AGGREGATION),--enable-aggregation,--disable-aggregation) \ diff --git a/package/comix-cursors/comix-cursors.mk b/package/comix-cursors/comix-cursors.mk index f8e8284055..6cc73764ad 100644 --- a/package/comix-cursors/comix-cursors.mk +++ b/package/comix-cursors/comix-cursors.mk @@ -7,7 +7,7 @@ COMIX_CURSORS_VERSION = 0.8.2 COMIX_CURSORS_SITE = http://limitland.de/downloads/comixcursors COMIX_CURSORS_SOURCE = ComixCursors-$(COMIX_CURSORS_VERSION).tar.bz2 -COMIX_CURSORS_LICENSE = GPLv3 +COMIX_CURSORS_LICENSE = GPL-3.0 COMIX_CURSORS_STRIP_COMPONENTS = 0 define COMIX_CURSORS_INSTALL_TARGET_CMDS diff --git a/package/connman-gtk/connman-gtk.mk b/package/connman-gtk/connman-gtk.mk index 2c9c131477..9888fcd4a4 100644 --- a/package/connman-gtk/connman-gtk.mk +++ b/package/connman-gtk/connman-gtk.mk @@ -9,7 +9,7 @@ CONNMAN_GTK_SITE = https://github.com/jgke/connman-gtk/releases/download/v$(CONN CONNMAN_GTK_SOURCE = connman-gtk-$(CONNMAN_GTK_VERSION).tar.bz2 CONNMAN_GTK_INSTALL_STAGING = YES CONNMAN_GTK_DEPENDENCIES = host-intltool connman libglib2 libgtk3 -CONNMAN_GTK_LICENSE = GPLv2+ +CONNMAN_GTK_LICENSE = GPL-2.0+ CONNMAN_GTK_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/connman/Config.in b/package/connman/Config.in index 6ed40beab1..253c604e88 100644 --- a/package/connman/Config.in +++ b/package/connman/Config.in @@ -1,14 +1,14 @@ config BR2_PACKAGE_CONNMAN bool "connman" - select BR2_PACKAGE_DBUS - select BR2_PACKAGE_LIBGLIB2 - select BR2_PACKAGE_IPTABLES depends on BR2_USE_WCHAR # libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2 depends on BR2_USE_MMU # dbus, libglib2 depends on !BR2_STATIC_LIBS # needs dlopen() depends on BR2_TOOLCHAIN_HAS_SYNC_4 - depends on !BR2_TOOLCHAIN_USES_MUSL # mixes userspace and kernel headers + depends on !BR2_TOOLCHAIN_USES_MUSL # missing res_ninit() + select BR2_PACKAGE_DBUS + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_IPTABLES help The Connection Manager (ConnMan) project provides a daemon for managing internet connections within embedded devices @@ -33,12 +33,16 @@ config BR2_PACKAGE_CONNMAN_WIFI config BR2_PACKAGE_CONNMAN_WISPR bool "enable WISPr support" + depends on !BR2_STATIC_LIBS # gnutls select BR2_PACKAGE_GNUTLS help Enable support for Wireless Internet Service Provider roaming (WISPr). A RADIUS server is used to authenticate the subscriber's credentials. +comment "connman WISPr needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS + config BR2_PACKAGE_CONNMAN_BLUETOOTH bool "enable Bluetooth support" help @@ -50,8 +54,8 @@ config BR2_PACKAGE_CONNMAN_LOOPBACK config BR2_PACKAGE_CONNMAN_NEARD bool "enable neard support" - select BR2_PACKAGE_NEARD depends on BR2_TOOLCHAIN_HAS_SYNC_4 # neard + select BR2_PACKAGE_NEARD config BR2_PACKAGE_CONNMAN_OFONO bool "enable ofono support" diff --git a/package/connman/connman.hash b/package/connman/connman.hash index f27af3deac..c822bb1fe4 100644 --- a/package/connman/connman.hash +++ b/package/connman/connman.hash @@ -1,2 +1,2 @@ # From https://www.kernel.org/pub/linux/network/connman/sha256sums.asc -sha256 bc8946036fa70124d663136f9f6b6238d897ca482782df907b07a428b09df5a0 connman-1.33.tar.xz +sha256 66d7deb98371545c6e417239a9b3b3e3201c1529d08eedf40afbc859842cf2aa connman-1.35.tar.xz diff --git a/package/connman/connman.mk b/package/connman/connman.mk index f7c9f2318f..52c45451d9 100644 --- a/package/connman/connman.mk +++ b/package/connman/connman.mk @@ -4,21 +4,21 @@ # ################################################################################ -CONNMAN_VERSION = 1.33 +CONNMAN_VERSION = 1.35 CONNMAN_SOURCE = connman-$(CONNMAN_VERSION).tar.xz CONNMAN_SITE = $(BR2_KERNEL_MIRROR)/linux/network/connman CONNMAN_DEPENDENCIES = libglib2 dbus iptables CONNMAN_INSTALL_STAGING = YES -CONNMAN_LICENSE = GPLv2 +CONNMAN_LICENSE = GPL-2.0 CONNMAN_LICENSE_FILES = COPYING CONNMAN_CONF_OPTS += \ --with-dbusconfdir=/etc \ - $(if $(BR2_PACKAGE_CONNMAN_DEBUG),--enable-debug,--disable-debug) \ - $(if $(BR2_PACKAGE_CONNMAN_ETHERNET),--enable-ethernet,--disable-ethernet) \ - $(if $(BR2_PACKAGE_CONNMAN_WIFI),--enable-wifi,--disable-wifi) \ + $(if $(BR2_PACKAGE_CONNMAN_DEBUG),--enable-debug,--disable-debug) \ + $(if $(BR2_PACKAGE_CONNMAN_ETHERNET),--enable-ethernet,--disable-ethernet) \ + $(if $(BR2_PACKAGE_CONNMAN_WIFI),--enable-wifi,--disable-wifi) \ $(if $(BR2_PACKAGE_CONNMAN_WISPR),--enable-wispr,--disable-wispr) \ - $(if $(BR2_PACKAGE_CONNMAN_BLUETOOTH),--enable-bluetooth,--disable-bluetooth) \ - $(if $(BR2_PACKAGE_CONNMAN_LOOPBACK),--enable-loopback,--disable-loopback) \ + $(if $(BR2_PACKAGE_CONNMAN_BLUETOOTH),--enable-bluetooth,--disable-bluetooth) \ + $(if $(BR2_PACKAGE_CONNMAN_LOOPBACK),--enable-loopback,--disable-loopback) \ $(if $(BR2_PACKAGE_CONNMAN_NEARD),--enable-neard,--disable-neard) \ $(if $(BR2_PACKAGE_CONNMAN_OFONO),--enable-ofono,--disable-ofono) \ $(if $(BR2_INIT_SYSTEMD),--with-systemdunitdir=/usr/lib/systemd/system) diff --git a/package/conntrack-tools/conntrack-tools.mk b/package/conntrack-tools/conntrack-tools.mk index b73aa7f4db..2f4ea5f2ae 100644 --- a/package/conntrack-tools/conntrack-tools.mk +++ b/package/conntrack-tools/conntrack-tools.mk @@ -10,7 +10,7 @@ CONNTRACK_TOOLS_SITE = http://www.netfilter.org/projects/conntrack-tools/files CONNTRACK_TOOLS_DEPENDENCIES = host-pkgconf \ libnetfilter_conntrack libnetfilter_cthelper libnetfilter_cttimeout \ libnetfilter_queue host-bison host-flex -CONNTRACK_TOOLS_LICENSE = GPLv2+ +CONNTRACK_TOOLS_LICENSE = GPL-2.0+ CONNTRACK_TOOLS_LICENSE_FILES = COPYING CONNTRACK_TOOLS_CFLAGS = $(TARGET_CFLAGS) diff --git a/package/copas/Config.in b/package/copas/Config.in index 21dd0eb883..d7800b6ddc 100644 --- a/package/copas/Config.in +++ b/package/copas/Config.in @@ -1,10 +1,12 @@ config BR2_PACKAGE_COPAS bool "copas" # Runtime dependency only - select BR2_PACKAGE_COXPCALL + select BR2_PACKAGE_COXPCALL if BR2_PACKAGE_LUA_5_1 || BR2_PACKAGE_LUAJIT select BR2_PACKAGE_LUASOCKET help - Copas is a dispatcher based on coroutines that - can be used by TCP/IP servers. + Copas is a dispatcher based on coroutines that can be used + for asynchronous networking. For example TCP or UDP based + servers. But it also features timers and client support for + http(s), ftp and smtp requests. http://keplerproject.github.com/copas/ diff --git a/package/copas/copas.hash b/package/copas/copas.hash index 27e33166c8..d894b86574 100644 --- a/package/copas/copas.hash +++ b/package/copas/copas.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 c94890bdc8899d05163ca963dadf4b74b2ad7a5795ea3923a792b6e928ec142a copas-2.0.1-1.src.rock +sha256 efeded4f4633bc71551175b239199304640ef918ae8ea9dc9c5047359ae07107 copas-2.0.2-1.src.rock diff --git a/package/copas/copas.mk b/package/copas/copas.mk index 132b5d9678..988692c4a9 100644 --- a/package/copas/copas.mk +++ b/package/copas/copas.mk @@ -4,8 +4,9 @@ # ################################################################################ -COPAS_VERSION = 2.0.1-1 -COPAS_SUBDIR = copas-2_0_1 +COPAS_VERSION = 2.0.2-1 +COPAS_SUBDIR = copas-2_0_2 COPAS_LICENSE = MIT +COPAS_LICENSE_FILES = $(COPAS_SUBDIR)/doc/us/license.html $(eval $(luarocks-package)) diff --git a/package/coreutils/coreutils.hash b/package/coreutils/coreutils.hash index 37d630bba9..472cab55f5 100644 --- a/package/coreutils/coreutils.hash +++ b/package/coreutils/coreutils.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 155e94d748f8e2bc327c66e0cbebdb8d6ab265d2f37c3c928f7bf6c3beba9a8e coreutils-8.26.tar.xz +sha256 8891d349ee87b9ff7870f52b6d9312a9db672d2439d289bc57084771ca21656b coreutils-8.27.tar.xz diff --git a/package/coreutils/coreutils.mk b/package/coreutils/coreutils.mk index 409089c332..6a8a31b061 100644 --- a/package/coreutils/coreutils.mk +++ b/package/coreutils/coreutils.mk @@ -4,10 +4,10 @@ # ################################################################################ -COREUTILS_VERSION = 8.26 +COREUTILS_VERSION = 8.27 COREUTILS_SITE = $(BR2_GNU_MIRROR)/coreutils COREUTILS_SOURCE = coreutils-$(COREUTILS_VERSION).tar.xz -COREUTILS_LICENSE = GPLv3+ +COREUTILS_LICENSE = GPL-3.0+ COREUTILS_LICENSE_FILES = COPYING # coreutils-01-fix-for-dummy-man-usage.patch triggers autoreconf on build @@ -77,10 +77,11 @@ else COREUTILS_CONF_OPTS += --disable-xattr endif +COREUTILS_DEPENDENCIES += $(TARGET_NLS_DEPENDENCIES) + # It otherwise fails to link properly, not mandatory though -ifeq ($(BR2_PACKAGE_GETTEXT),y) +ifeq ($(BR2_PACKAGE_GETTEXT_PROVIDES_LIBINTL),y) COREUTILS_CONF_OPTS += --with-libintl-prefix=$(STAGING_DIR)/usr -COREUTILS_DEPENDENCIES += gettext endif ifeq ($(BR2_PACKAGE_GMP),y) @@ -123,7 +124,4 @@ endef COREUTILS_POST_INSTALL_TARGET_HOOKS += COREUTILS_CLEANUP -# If both coreutils and busybox are selected, the corresponding applets -# may need to be reinstated by the clean targets. - $(eval $(autotools-package)) diff --git a/package/cosmo/Config.in b/package/cosmo/Config.in deleted file mode 100644 index 869a1072ed..0000000000 --- a/package/cosmo/Config.in +++ /dev/null @@ -1,10 +0,0 @@ -config BR2_PACKAGE_COSMO - bool "cosmo" - # run-time dependency - select BR2_PACKAGE_LPEG - # upstream site does not provide a valid archive - depends on BROKEN - help - Cosmo is a "safe templates" engine for Lua. - - http://mascarenhas.github.io/cosmo/ diff --git a/package/cosmo/cosmo.hash b/package/cosmo/cosmo.hash deleted file mode 100644 index ff88576469..0000000000 --- a/package/cosmo/cosmo.hash +++ /dev/null @@ -1,2 +0,0 @@ -# locally computed -sha256 4e81c1bba7ab3b4633c8d6dadfc8332c59c818829436435b4d5a2ec76adfbb87 cosmo-14.03.04-1.src.rock diff --git a/package/cosmo/cosmo.mk b/package/cosmo/cosmo.mk deleted file mode 100644 index 0ab5324569..0000000000 --- a/package/cosmo/cosmo.mk +++ /dev/null @@ -1,10 +0,0 @@ -################################################################################ -# -# cosmo -# -################################################################################ - -COSMO_VERSION = 14.03.04-1 -COSMO_LICENSE = MIT - -$(eval $(luarocks-package)) diff --git a/package/coxpcall/Config.in b/package/coxpcall/Config.in index 1237482ffa..3735017955 100644 --- a/package/coxpcall/Config.in +++ b/package/coxpcall/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_COXPCALL bool "coxpcall" help Coxpcall encapsulates the protected calls with a coroutine - based loop, so errors can be dealed without the usual - pcall/xpcall issues with coroutines. + based loop, so errors can be handled without the usual + pcall/xpcall issues with coroutines for Lua 5.1. - http://coxpcall.luaforge.net/ + http://keplerproject.github.io/coxpcall/ diff --git a/package/coxpcall/coxpcall.hash b/package/coxpcall/coxpcall.hash index d7a02c2010..e037af9e80 100644 --- a/package/coxpcall/coxpcall.hash +++ b/package/coxpcall/coxpcall.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 ff93d30e0a6cd64bb4e66739757e7eda9f226187829a075747b2ca5d3cfd1075 coxpcall-1.15.0-1.src.rock +sha256 c1488ee08e5d25d59a11e19cb0322edae509202b246d0c93cb2de1676dbfdf2b coxpcall-1.16.0-1.src.rock diff --git a/package/coxpcall/coxpcall.mk b/package/coxpcall/coxpcall.mk index 9c21143796..3af81f2ceb 100644 --- a/package/coxpcall/coxpcall.mk +++ b/package/coxpcall/coxpcall.mk @@ -4,8 +4,9 @@ # ################################################################################ -COXPCALL_VERSION = 1.15.0-1 +COXPCALL_VERSION = 1.16.0-1 COXPCALL_SUBDIR = coxpcall COXPCALL_LICENSE = MIT +COXPCALL_LICENSE_FILES = $(COXPCALL_SUBDIR)/doc/license.html $(eval $(luarocks-package)) diff --git a/package/cpio/Config.in b/package/cpio/Config.in index 1210a0bde1..3ef0402c3b 100644 --- a/package/cpio/Config.in +++ b/package/cpio/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_CPIO bool "cpio" + depends on BR2_USE_WCHAR # Need argp.h support select BR2_PACKAGE_ARGP_STANDALONE if BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_MUSL - depends on BR2_USE_WCHAR help cpio archive utility for creation and extraction. diff --git a/package/cpio/cpio.mk b/package/cpio/cpio.mk index b0b8fa6f7b..7e8549dbd8 100644 --- a/package/cpio/cpio.mk +++ b/package/cpio/cpio.mk @@ -8,7 +8,7 @@ CPIO_VERSION = 2.12 CPIO_SITE = $(BR2_GNU_MIRROR)/cpio CPIO_CONF_OPTS = --bindir=/bin CPIO_DEPENDENCIES = $(if $(BR2_PACKAGE_BUSYBOX),busybox) -CPIO_LICENSE = GPLv3+ +CPIO_LICENSE = GPL-3.0+ CPIO_LICENSE_FILES = COPYING # cpio uses argp.h which is not provided by uclibc or musl by default. diff --git a/package/cppcms/Config.in b/package/cppcms/Config.in index 2cf70052f8..d7b7fa8933 100644 --- a/package/cppcms/Config.in +++ b/package/cppcms/Config.in @@ -1,13 +1,13 @@ config BR2_PACKAGE_CPPCMS bool "cppcms" - select BR2_PACKAGE_ZLIB - select BR2_PACKAGE_PCRE - select BR2_PACKAGE_LIBGCRYPT depends on BR2_INSTALL_LIBSTDCPP depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on !BR2_STATIC_LIBS # dlopen() depends on BR2_USE_WCHAR + select BR2_PACKAGE_ZLIB + select BR2_PACKAGE_PCRE + select BR2_PACKAGE_LIBGCRYPT help CppCMS is a Free High Performance Web Development Framework (not a CMS) aimed for Rapid Web Application Development. It @@ -27,11 +27,17 @@ if BR2_PACKAGE_CPPCMS config BR2_PACKAGE_CPPCMS_ICU bool "enable icu support" depends on !BR2_BINFMT_FLAT # icu + depends on BR2_HOST_GCC_AT_LEAST_4_8 # icu + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # icu select BR2_PACKAGE_ICU help Using ICU allows advanced localization features into CppCMS, in another hand ICU is heavier than iconv. +comment "icu support needs a toolchain w/ gcc >= 4.8, host gcc >= 4.8" + depends on !BR2_BINFMT_FLAT + depends on !BR2_HOST_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + endif comment "cppcms needs a toolchain w/ C++, NPTL, wchar, dynamic library" diff --git a/package/cppcms/cppcms.mk b/package/cppcms/cppcms.mk index 611020c588..f3ea2628ea 100644 --- a/package/cppcms/cppcms.mk +++ b/package/cppcms/cppcms.mk @@ -6,16 +6,26 @@ CPPCMS_VERSION = 1.0.5 CPPCMS_SOURCE = cppcms-$(CPPCMS_VERSION).tar.bz2 -CPPCMS_LICENSE = LGPLv3 +CPPCMS_LICENSE = LGPL-3.0 CPPCMS_LICENSE_FILES = COPYING.TXT CPPCMS_SITE = http://downloads.sourceforge.net/project/cppcms/cppcms/$(CPPCMS_VERSION) CPPCMS_INSTALL_STAGING = YES +CPPCMS_CXXFLAGS = $(TARGET_CXXFLAGS) + +# disable rpath to avoid getting /usr/lib added to the link search +# path +CPPCMS_CONF_OPTS = \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_CXX_FLAGS="$(CPPCMS_CXXFLAGS)" CPPCMS_DEPENDENCIES = zlib pcre libgcrypt ifeq ($(BR2_PACKAGE_CPPCMS_ICU),y) -CPPCMS_CONF_OPTS += -DDISABLE_ICONV=ON +CPPCMS_CONF_OPTS += -DDISABLE_ICU_LOCALE=OFF CPPCMS_DEPENDENCIES += icu +CPPCMS_CXXFLAGS += "`$(STAGING_DIR)/usr/bin/icu-config --cxxflags`" +else +CPPCMS_CONF_OPTS += -DDISABLE_ICU_LOCALE=ON endif ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y) @@ -27,7 +37,7 @@ endif # needed for compiling packages using cppcms. And it is not worth # creating a host package just for a python script. define CPPCMS_INSTALL_HOST_TOOLS - cp $(STAGING_DIR)/usr/bin/cppcms_tmpl_cc $(HOST_DIR)/usr/bin/cppcms_tmpl_cc + cp $(STAGING_DIR)/usr/bin/cppcms_tmpl_cc $(HOST_DIR)/bin/cppcms_tmpl_cc endef CPPCMS_POST_INSTALL_STAGING_HOOKS += CPPCMS_INSTALL_HOST_TOOLS diff --git a/package/cppdb/Config.in b/package/cppdb/Config.in index 9037a7a0c6..ceff0ab76f 100644 --- a/package/cppdb/Config.in +++ b/package/cppdb/Config.in @@ -7,9 +7,10 @@ config BR2_PACKAGE_CPPDB # Can be built without them but it's useless depends on BR2_PACKAGE_MYSQL || BR2_PACKAGE_POSTGRESQL || BR2_PACKAGE_SQLITE help - CppDB is an SQL connectivity library that is designed to provide - platform and Database independent connectivity API similarly - to what JDBC, ODBC and other connectivity libraries do. + CppDB is an SQL connectivity library that is designed to + provide platform and Database independent connectivity API + similarly to what JDBC, ODBC and other connectivity libraries + do. http://cppcms.com/sql/cppdb/ diff --git a/package/cppdb/cppdb.mk b/package/cppdb/cppdb.mk index 2c26c90939..e73f04e194 100644 --- a/package/cppdb/cppdb.mk +++ b/package/cppdb/cppdb.mk @@ -9,7 +9,7 @@ CPPDB_SOURCE = cppdb-$(CPPDB_VERSION).tar.bz2 CPPDB_SITE = http://downloads.sourceforge.net/project/cppcms/cppdb/$(CPPDB_VERSION) CPPDB_INSTALL_STAGING = YES CPPDB_DEPENDENCIES = $(if $(BR2_PACKAGE_SQLITE),sqlite) -CPPDB_LICENSE = Boost-v1.0 or MIT +CPPDB_LICENSE = BSL-1.0 or MIT CPPDB_LICENSE_FILES = LICENSE_1_0.txt MIT.txt ifeq ($(BR2_PACKAGE_MYSQL),y) diff --git a/package/cppunit/cppunit.mk b/package/cppunit/cppunit.mk index b8251c297a..db01b70bec 100644 --- a/package/cppunit/cppunit.mk +++ b/package/cppunit/cppunit.mk @@ -7,7 +7,7 @@ CPPUNIT_VERSION = 1.13.2 CPPUNIT_SITE = http://dev-www.libreoffice.org/src CPPUNIT_INSTALL_STAGING = YES -CPPUNIT_LICENSE = LGPLv2.1 +CPPUNIT_LICENSE = LGPL-2.1 CPPUNIT_LICENSE_FILES = COPYING CPPUNIT_CONF_OPTS = --disable-doxygen diff --git a/package/cpuload/Config.in b/package/cpuload/Config.in index 82bc450afa..9a7b4e9f42 100644 --- a/package/cpuload/Config.in +++ b/package/cpuload/Config.in @@ -1,8 +1,9 @@ config BR2_PACKAGE_CPULOAD bool "cpuload" help - cpuload is a simple tool to obtain intuitive vision of CPU load - (including total, user, system, irq and softirq) within a certain - time, which is especially useful for embedded system without GUI. + cpuload is a simple tool to obtain intuitive vision of CPU + load (including total, user, system, irq and softirq) within a + certain time, which is especially useful for embedded system + without GUI. https://github.com/kelvincheung/cpuload diff --git a/package/cpuload/cpuload.mk b/package/cpuload/cpuload.mk index 30c3db6a53..e792952a4e 100644 --- a/package/cpuload/cpuload.mk +++ b/package/cpuload/cpuload.mk @@ -6,7 +6,7 @@ CPULOAD_VERSION = v0.3 CPULOAD_SITE = $(call github,kelvincheung,cpuload,$(CPULOAD_VERSION)) -CPULOAD_LICENSE = GPLv2 +CPULOAD_LICENSE = GPL-2.0 CPULOAD_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/cracklib/0001-Apply-patch-to-fix-CVE-2016-6318.patch b/package/cracklib/0001-Apply-patch-to-fix-CVE-2016-6318.patch new file mode 100644 index 0000000000..6180c4ba55 --- /dev/null +++ b/package/cracklib/0001-Apply-patch-to-fix-CVE-2016-6318.patch @@ -0,0 +1,106 @@ +From 47e5dec521ab6243c9b249dd65b93d232d90d6b1 Mon Sep 17 00:00:00 2001 +From: Jan Dittberner +Date: Thu, 25 Aug 2016 17:13:49 +0200 +Subject: [PATCH] Apply patch to fix CVE-2016-6318 + +This patch fixes an issue with a stack-based buffer overflow whne +parsing large GECOS field. See +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6318 and +https://security-tracker.debian.org/tracker/CVE-2016-6318 for more +information. + +Signed-off-by: Stefan Sørensen +--- + +Status: upstream, not yet released. + + lib/fascist.c | 57 ++++++++++++++++++++++++++++++++----------------------- + 2 files changed, 34 insertions(+), 24 deletions(-) + +diff --git a/lib/fascist.c b/lib/fascist.c +index a996509..d4deb15 100644 +--- a/lib/fascist.c ++++ b/lib/fascist.c +@@ -502,7 +502,7 @@ FascistGecosUser(char *password, const char *user, const char *gecos) + char gbuffer[STRINGSIZE]; + char tbuffer[STRINGSIZE]; + char *uwords[STRINGSIZE]; +- char longbuffer[STRINGSIZE * 2]; ++ char longbuffer[STRINGSIZE]; + + if (gecos == NULL) + gecos = ""; +@@ -583,38 +583,47 @@ FascistGecosUser(char *password, const char *user, const char *gecos) + { + for (i = 0; i < j; i++) + { +- strcpy(longbuffer, uwords[i]); +- strcat(longbuffer, uwords[j]); +- +- if (GTry(longbuffer, password)) ++ if (strlen(uwords[i]) + strlen(uwords[j]) < STRINGSIZE) + { +- return _("it is derived from your password entry"); +- } ++ strcpy(longbuffer, uwords[i]); ++ strcat(longbuffer, uwords[j]); + +- strcpy(longbuffer, uwords[j]); +- strcat(longbuffer, uwords[i]); ++ if (GTry(longbuffer, password)) ++ { ++ return _("it is derived from your password entry"); ++ } + +- if (GTry(longbuffer, password)) +- { +- return _("it's derived from your password entry"); +- } ++ strcpy(longbuffer, uwords[j]); ++ strcat(longbuffer, uwords[i]); + +- longbuffer[0] = uwords[i][0]; +- longbuffer[1] = '\0'; +- strcat(longbuffer, uwords[j]); ++ if (GTry(longbuffer, password)) ++ { ++ return _("it's derived from your password entry"); ++ } ++ } + +- if (GTry(longbuffer, password)) ++ if (strlen(uwords[j]) < STRINGSIZE - 1) + { +- return _("it is derivable from your password entry"); ++ longbuffer[0] = uwords[i][0]; ++ longbuffer[1] = '\0'; ++ strcat(longbuffer, uwords[j]); ++ ++ if (GTry(longbuffer, password)) ++ { ++ return _("it is derivable from your password entry"); ++ } + } + +- longbuffer[0] = uwords[j][0]; +- longbuffer[1] = '\0'; +- strcat(longbuffer, uwords[i]); +- +- if (GTry(longbuffer, password)) ++ if (strlen(uwords[i]) < STRINGSIZE - 1) + { +- return _("it's derivable from your password entry"); ++ longbuffer[0] = uwords[j][0]; ++ longbuffer[1] = '\0'; ++ strcat(longbuffer, uwords[i]); ++ ++ if (GTry(longbuffer, password)) ++ { ++ return _("it's derivable from your password entry"); ++ } + } + } + } +-- +2.9.3 + diff --git a/package/cracklib/0002-Fix-a-buffer-overflow-processing-long-words.patch b/package/cracklib/0002-Fix-a-buffer-overflow-processing-long-words.patch new file mode 100644 index 0000000000..63525cc73d --- /dev/null +++ b/package/cracklib/0002-Fix-a-buffer-overflow-processing-long-words.patch @@ -0,0 +1,40 @@ +From 33d7fa4585247cd2247a1ffa032ad245836c6edb Mon Sep 17 00:00:00 2001 +From: Jan Dittberner +Date: Thu, 25 Aug 2016 17:17:53 +0200 +Subject: [PATCH] Fix a buffer overflow processing long words + +A buffer overflow processing long words has been discovered. This commit +applies the patch from +https://build.opensuse.org/package/view_file/Base:System/cracklib/0004-overflow-processing-long-words.patch +by Howard Guo. + +See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=835386 and +http://www.openwall.com/lists/oss-security/2016/08/23/8 + +Signed-off-by: Stefan Sørensen +--- + +Status: upstream, not yet released. + + lib/rules.c | 5 ++--- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/lib/rules.c b/lib/rules.c +index d193cc0..3a2aa46 100644 +--- a/lib/rules.c ++++ b/lib/rules.c +@@ -434,9 +434,8 @@ Mangle(input, control) /* returns a pointer to a controlled Mangle */ + { + int limit; + register char *ptr; +- static char area[STRINGSIZE]; +- char area2[STRINGSIZE]; +- area[0] = '\0'; ++ static char area[STRINGSIZE * 2] = {0}; ++ char area2[STRINGSIZE * 2] = {0}; + strcpy(area, input); + + for (ptr = control; *ptr; ptr++) +-- +2.9.3 + diff --git a/package/cracklib/0003-Force-grep-to-treat-the-input-as-text-when-formattin.patch b/package/cracklib/0003-Force-grep-to-treat-the-input-as-text-when-formattin.patch new file mode 100644 index 0000000000..b05a69caa2 --- /dev/null +++ b/package/cracklib/0003-Force-grep-to-treat-the-input-as-text-when-formattin.patch @@ -0,0 +1,30 @@ +From d27062fe7a520d5791f7a56d175a5cb6a39bae61 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Stefan=20S=C3=B8rensen?= +Date: Tue, 18 Apr 2017 12:00:39 +0200 +Subject: [PATCH] Force grep to treat the input as text when formatting word + files. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Stefan Sørensen +--- + util/cracklib-format | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/util/cracklib-format b/util/cracklib-format +index 1d7be5b..b1de8e8 100644 +--- a/util/cracklib-format ++++ b/util/cracklib-format +@@ -4,7 +4,7 @@ + # into cracklib-packer + # + gzip -cdf "$@" | +- grep -v '^\(#\|$\)' | ++ grep -a -v '^\(#\|$\)' | + tr '[A-Z]' '[a-z]' | + tr -cd '\012[a-z][0-9]' | + env LC_ALL=C sort -u +-- +2.9.3 + diff --git a/package/cracklib/Config.in b/package/cracklib/Config.in new file mode 100644 index 0000000000..4a0f43f46a --- /dev/null +++ b/package/cracklib/Config.in @@ -0,0 +1,28 @@ +config BR2_PACKAGE_CRACKLIB + bool "cracklib" + help + CrackLib tests passwords to determine whether they match + certain security-oriented characteristics, with the purpose + of stopping users from choosing passwords that are easy to + guess. CrackLib performs several tests on passwords: it + tries to generate words from a username and gecos entry and + checks those words against the password; it checks for + simplistic patterns in passwords; and it checks for the + password in a dictionary. + + https://github.com/cracklib/cracklib + +if BR2_PACKAGE_CRACKLIB + +config BR2_PACKAGE_CRACKLIB_TOOLS + bool "install tools" + help + Install cracklib command line tools for creating dicts. + +config BR2_PACKAGE_CRACKLIB_FULL_DICT + bool "full dict" + help + Install the full cracklib dict (requires about 8Mb extra + target space). + +endif diff --git a/package/cracklib/cracklib.hash b/package/cracklib/cracklib.hash new file mode 100644 index 0000000000..3038a47a36 --- /dev/null +++ b/package/cracklib/cracklib.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 17cf76943de272fd579ed831a1fd85339b393f8d00bf9e0d17c91e972f583343 cracklib-2.9.6.tar.gz +sha256 27973245225eeb9d0090e97f3dea4197dec99b64d9d3a791a60298f3b021824c cracklib-words-2.9.6.gz diff --git a/package/cracklib/cracklib.mk b/package/cracklib/cracklib.mk new file mode 100644 index 0000000000..2fa3d3b4ea --- /dev/null +++ b/package/cracklib/cracklib.mk @@ -0,0 +1,52 @@ +################################################################################ +# +# cracklib +# +################################################################################ + +CRACKLIB_VERSION = 2.9.6 +CRACKLIB_SITE = https://github.com/cracklib/cracklib/releases/download/cracklib-$(CRACKLIB_VERSION) +CRACKLIB_LICENSE = LGPL-2.1 +CRACKLIB_LICENSE_FILES = COPYING.LIB +CRACKLIB_INSTALL_STAGING = YES +CRACKLIB_DEPENDENCIES = host-cracklib + +ifeq ($(BR2_PACKAGE_ZLIB),y) +CRACKLIB_CONF_OPTS += --with-zlib +CRACKLIB_DEPENDENCIES += zlib +else +CRACKLIB_CONF_OPTS += --without-zlib +endif + +ifeq ($(BR2_PACKAGE_PYTHON),y) +CRACKLIB_CONF_OPTS += --with-python +CRACKLIB_DEPENDENCIES += python +else +CRACKLIB_CONF_OPTS += --without-python +endif + +HOST_CRACKLIB_CONF_OPTS += --without-python --without-zlib + +ifeq ($(BR2_PACKAGE_CRACKLIB_FULL_DICT),y) +CRACKLIB_EXTRA_DOWNLOADS = cracklib-words-$(CRACKLIB_VERSION).gz +CRACKLIB_DICT_SOURCE = $(DL_DIR)/cracklib-words-$(CRACKLIB_VERSION).gz +else +CRACKLIB_DICT_SOURCE = $(@D)/dicts/cracklib-small +endif + +ifeq ($(BR2_PACKAGE_CRACKLIB_TOOLS),) +define CRACKLIB_REMOVE_TOOLS + rm -f $(TARGET_DIR)/usr/sbin/*cracklib* +endef +CRACKLIB_POST_INSTALL_TARGET_HOOKS += CRACKLIB_REMOVE_TOOLS +endif + +define CRACKLIB_BUILD_DICT + $(HOST_MAKE_ENV) cracklib-format $(CRACKLIB_DICT_SOURCE) | \ + $(HOST_MAKE_ENV) cracklib-packer $(TARGET_DIR)/usr/share/cracklib/pw_dict + rm $(TARGET_DIR)/usr/share/cracklib/cracklib-small +endef +CRACKLIB_POST_INSTALL_TARGET_HOOKS += CRACKLIB_BUILD_DICT + +$(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/cramfs/cramfs.mk b/package/cramfs/cramfs.mk index 3cbe2744e6..70010e8e2f 100644 --- a/package/cramfs/cramfs.mk +++ b/package/cramfs/cramfs.mk @@ -6,7 +6,7 @@ CRAMFS_VERSION = 1.1 CRAMFS_SITE = http://downloads.sourceforge.net/project/cramfs/cramfs/$(CRAMFS_VERSION) -CRAMFS_LICENSE = GPLv2+ +CRAMFS_LICENSE = GPL-2.0+ CRAMFS_LICENSE_FILES = COPYING CRAMFS_DEPENDENCIES = zlib @@ -26,8 +26,8 @@ define HOST_CRAMFS_BUILD_CMDS endef define HOST_CRAMFS_INSTALL_CMDS - $(INSTALL) -D -m 755 $(@D)/mkcramfs $(HOST_DIR)/usr/bin/mkcramfs - $(INSTALL) -D -m 755 $(@D)/cramfsck $(HOST_DIR)/usr/bin/cramfsck + $(INSTALL) -D -m 755 $(@D)/mkcramfs $(HOST_DIR)/bin/mkcramfs + $(INSTALL) -D -m 755 $(@D)/cramfsck $(HOST_DIR)/bin/cramfsck endef $(eval $(generic-package)) diff --git a/package/crda/Config.in b/package/crda/Config.in index 2cb040372f..b9a2613f04 100644 --- a/package/crda/Config.in +++ b/package/crda/Config.in @@ -12,8 +12,8 @@ config BR2_PACKAGE_CRDA This package provides a Central Regulatory Domain Agent (CRDA) to be used by the Linux kernel cf80211 wireless subsystem to - query and apply the regulatory domain settings wireless devices - may operate within for a given location. + query and apply the regulatory domain settings wireless + devices may operate within for a given location. http://linuxwireless.org/en/developers/Regulatory/CRDA diff --git a/package/crudini/crudini.hash b/package/crudini/crudini.hash index 2796e7a8c6..9279847be9 100644 --- a/package/crudini/crudini.hash +++ b/package/crudini/crudini.hash @@ -1,3 +1,3 @@ -# md5 from https://pypi.python.org/pypi?:action=show_md5&digest=0664fa2f9d36e411e839b5394d8c2951, sha256 locally computed -md5 0664fa2f9d36e411e839b5394d8c2951 crudini-0.8.tar.gz -sha256 effdf8feb7efe252af87143c8756bbc69e2679afb6173083d38be02284385e5f crudini-0.8.tar.gz +# md5 from https://pypi.python.org/pypi?:action=show_md5&digest=9b8500c90467f0a61c714fbe852c2a66, sha256 locally computed +md5 9b8500c90467f0a61c714fbe852c2a66 crudini-0.9.tar.gz +sha256 10512a5a2f7b54b42e48a1d00f0c6398947c2ba6c264b9fdef86677f0e949fd3 crudini-0.9.tar.gz diff --git a/package/crudini/crudini.mk b/package/crudini/crudini.mk index 501c9e01fb..c03f55c374 100644 --- a/package/crudini/crudini.mk +++ b/package/crudini/crudini.mk @@ -4,10 +4,10 @@ # ################################################################################ -CRUDINI_VERSION = 0.8 -CRUDINI_SITE = https://pypi.python.org/packages/23/4a/934b05bbe5af4fd390207c5e935efbae6439809aad65ab0702e236c1b5f5 +CRUDINI_VERSION = 0.9 +CRUDINI_SITE = https://pypi.python.org/packages/b5/65/5588903472f30fa01ca4951be00c03a317b27bac4cd1e945bd16b2c1b6d3 CRUDINI_SETUP_TYPE = setuptools -CRUDINI_LICENSE = GPLv2 +CRUDINI_LICENSE = GPL-2.0 CRUDINI_LICENSE_FILES = COPYING $(eval $(python-package)) diff --git a/package/cryptodev-linux/cryptodev-linux.hash b/package/cryptodev-linux/cryptodev-linux.hash index 6d9efcae91..48d608e127 100644 --- a/package/cryptodev-linux/cryptodev-linux.hash +++ b/package/cryptodev-linux/cryptodev-linux.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 a87e354e1218e6a2e3083f7be6a3e351c42ec55515f1aff1b50bd301cee7d8dd cryptodev-linux-2b29be8ac41414ed19cb4f5d5626d9bd0d7b11a8.tar.gz +sha256 90a4c5e46d7d5fcc0c6155f1add824e73c27de9b1ff0b7fe2017a104cf9398dd cryptodev-linux-0a54e38b264d9a3bed74c642a61b88191660d0f8.tar.gz diff --git a/package/cryptodev-linux/cryptodev-linux.mk b/package/cryptodev-linux/cryptodev-linux.mk index 709c6ed021..dacb29dab8 100644 --- a/package/cryptodev-linux/cryptodev-linux.mk +++ b/package/cryptodev-linux/cryptodev-linux.mk @@ -4,10 +4,10 @@ # ################################################################################ -CRYPTODEV_LINUX_VERSION = 2b29be8ac41414ed19cb4f5d5626d9bd0d7b11a8 +CRYPTODEV_LINUX_VERSION = 0a54e38b264d9a3bed74c642a61b88191660d0f8 CRYPTODEV_LINUX_SITE = $(call github,cryptodev-linux,cryptodev-linux,$(CRYPTODEV_LINUX_VERSION)) CRYPTODEV_LINUX_INSTALL_STAGING = YES -CRYPTODEV_LINUX_LICENSE = GPLv2+ +CRYPTODEV_LINUX_LICENSE = GPL-2.0+ CRYPTODEV_LINUX_LICENSE_FILES = COPYING CRYPTODEV_LINUX_PROVIDES = cryptodev diff --git a/package/cryptodev/Config.in b/package/cryptodev/Config.in index 9f9df02fc3..d1e64498a8 100644 --- a/package/cryptodev/Config.in +++ b/package/cryptodev/Config.in @@ -31,8 +31,8 @@ config BR2_PACKAGE_OCF_LINUX select BR2_PACKAGE_HAS_CRYPTODEV help OCF-Linux is a Linux port of the OpenBSD/FreeBSD Cryptographic - Framework (OCF). This port aims to bring full asynchronous HW/SW - crypto acceleration to the Linux kernel and applications + Framework (OCF). This port aims to bring full asynchronous + HW/SW crypto acceleration to the Linux kernel and applications running under Linux. http://ocf-linux.sourceforge.net/ diff --git a/package/cryptopp/cryptopp.mk b/package/cryptopp/cryptopp.mk index 456876c4ee..4b121aef2d 100644 --- a/package/cryptopp/cryptopp.mk +++ b/package/cryptopp/cryptopp.mk @@ -7,7 +7,7 @@ CRYPTOPP_VERSION = 5.6.5 CRYPTOPP_SOURCE = cryptopp$(subst .,,$(CRYPTOPP_VERSION)).zip CRYPTOPP_SITE = http://cryptopp.com/ -CRYPTOPP_LICENSE = Boost-v1.0 +CRYPTOPP_LICENSE = BSL-1.0 CRYPTOPP_LICENSE_FILES = License.txt CRYPTOPP_INSTALL_STAGING = YES @@ -24,7 +24,7 @@ define HOST_CRYPTOPP_BUILD_CMDS endef define HOST_CRYPTOPP_INSTALL_CMDS - $(HOST_MAKE_ENV) $(MAKE) -C $(@D) PREFIX=$(HOST_DIR)/usr install + $(HOST_MAKE_ENV) $(MAKE) -C $(@D) PREFIX=$(HOST_DIR) install endef $(eval $(host-generic-package)) diff --git a/package/cryptsetup/Config.in b/package/cryptsetup/Config.in index 3ca23ba721..d24f7b0af6 100644 --- a/package/cryptsetup/Config.in +++ b/package/cryptsetup/Config.in @@ -3,19 +3,16 @@ config BR2_PACKAGE_CRYPTSETUP depends on BR2_TOOLCHAIN_HAS_THREADS # lvm2 depends on BR2_USE_MMU # lvm2 depends on !BR2_STATIC_LIBS # lvm2 - depends on !BR2_TOOLCHAIN_USES_MUSL # lvm2 select BR2_PACKAGE_POPT select BR2_PACKAGE_LVM2 select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBUUID - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE help This tool helps manipulate dm-crypt and luks partitions for on-disk encryption. https://gitlab.com/cryptsetup/cryptsetup -comment "cryptsetup needs a glibc or uClibc toolchain w/ threads, dynamic library" +comment "cryptsetup needs a toolchain w/ threads, dynamic library" depends on BR2_USE_MMU - depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS \ - || BR2_TOOLCHAIN_USES_MUSL + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/cryptsetup/Config.in.host b/package/cryptsetup/Config.in.host new file mode 100644 index 0000000000..9e31df553b --- /dev/null +++ b/package/cryptsetup/Config.in.host @@ -0,0 +1,8 @@ +config BR2_PACKAGE_HOST_CRYPTSETUP + bool "host cryptsetup" + select BR2_PACKAGE_HOST_UTIL_LINUX + help + This tool helps manipulate dm-crypt and luks partitions for + on-disk encryption. + + https://gitlab.com/cryptsetup/cryptsetup diff --git a/package/cryptsetup/cryptsetup.hash b/package/cryptsetup/cryptsetup.hash index b8c0d2b4e6..6d0fb58945 100644 --- a/package/cryptsetup/cryptsetup.hash +++ b/package/cryptsetup/cryptsetup.hash @@ -1,2 +1,2 @@ # From https://www.kernel.org/pub/linux/utils/cryptsetup/v1.7/sha256sums.asc -sha256 af2b04e8475cf40b8d9ffd97a1acfa73aa787c890430afd89804fb544d6adc02 cryptsetup-1.7.3.tar.xz +sha256 2b30cd1d0dd606a53ac77b406e1d37798d4b0762fa89de6ea546201906a251bd cryptsetup-1.7.5.tar.xz diff --git a/package/cryptsetup/cryptsetup.mk b/package/cryptsetup/cryptsetup.mk index 50bf5f2aaf..6b0fa318aa 100644 --- a/package/cryptsetup/cryptsetup.mk +++ b/package/cryptsetup/cryptsetup.mk @@ -5,17 +5,15 @@ ################################################################################ CRYPTSETUP_VERSION_MAJOR = 1.7 -CRYPTSETUP_VERSION = $(CRYPTSETUP_VERSION_MAJOR).3 +CRYPTSETUP_VERSION = $(CRYPTSETUP_VERSION_MAJOR).5 CRYPTSETUP_SOURCE = cryptsetup-$(CRYPTSETUP_VERSION).tar.xz CRYPTSETUP_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/cryptsetup/v$(CRYPTSETUP_VERSION_MAJOR) CRYPTSETUP_DEPENDENCIES = lvm2 popt util-linux host-pkgconf \ - $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) -CRYPTSETUP_LICENSE = GPLv2+ (programs), LGPLv2.1+ (library) + $(TARGET_NLS_DEPENDENCIES) +CRYPTSETUP_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (library) CRYPTSETUP_LICENSE_FILES = COPYING COPYING.LGPL - -ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y) -CRYPTSETUP_CONF_ENV += LDFLAGS="$(TARGET_LDFLAGS) -lintl" -endif +CRYPTSETUP_INSTALL_STAGING = YES +CRYPTSETUP_CONF_ENV += LDFLAGS="$(TARGET_LDFLAGS) $(TARGET_NLS_LIBS)" # cryptsetup uses libgcrypt by default, but can be configured to use OpenSSL # or kernel crypto modules instead @@ -30,4 +28,14 @@ else CRYPTSETUP_CONF_OPTS += --with-crypto_backend=kernel endif +HOST_CRYPTSETUP_DEPENDENCIES = \ + host-pkgconf \ + host-lvm2 \ + host-popt \ + host-util-linux \ + host-openssl + +HOST_CRYPTSETUP_CONF_OPTS = --with-crypto-backend=openssl + $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/ctorrent/ctorrent.mk b/package/ctorrent/ctorrent.mk index 55fc95e703..959e543f7b 100644 --- a/package/ctorrent/ctorrent.mk +++ b/package/ctorrent/ctorrent.mk @@ -6,7 +6,7 @@ CTORRENT_VERSION = dnh3.3.2 CTORRENT_SITE = http://www.rahul.net/dholmes/ctorrent -CTORRENT_LICENSE = GPLv2 +CTORRENT_LICENSE = GPL-2.0 CTORRENT_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_OPENSSL),y) diff --git a/package/cups/0003-Sanitize-the-installation-process.patch b/package/cups/0003-Sanitize-the-installation-process.patch index bf81f682df..75a68487c6 100644 --- a/package/cups/0003-Sanitize-the-installation-process.patch +++ b/package/cups/0003-Sanitize-the-installation-process.patch @@ -18,10 +18,10 @@ cross-compiling: prevent overwriting those files/directories, which meant calling "make install" twice was failing. -[Vincent: tweak the patch for 2.2.2 release] +[Olivier: tweak the patch for 2.2.4 release] Signed-off-by: Thomas Petazzoni -Signed-off-by: Vicente Olivert Riera +Signed-off-by: Olivier Schonken --- Makedefs.in | 12 ++++++------ conf/Makefile | 6 +++--- @@ -37,18 +37,18 @@ index 3afef0a..3e4f1bd 100644 # Installation programs... # --INSTALL_BIN = $(LIBTOOL) $(INSTALL) -c -m 555 @INSTALL_STRIP@ +-INSTALL_BIN = @LIBTOOL_INSTALL@ $(INSTALL) -c -m @CUPS_EXE_FILE_PERM@ @INSTALL_STRIP@ -INSTALL_COMPDATA = $(INSTALL) -c -m 444 @INSTALL_GZIP@ -+INSTALL_BIN = $(LIBTOOL) $(INSTALL) -c -m 755 ++INSTALL_BIN = @LIBTOOL_INSTALL@ $(INSTALL) -c -m 755 +INSTALL_COMPDATA = $(INSTALL) -c -m 644 @INSTALL_GZIP@ INSTALL_CONFIG = $(INSTALL) -c -m @CUPS_CONFIG_FILE_PERM@ -INSTALL_DATA = $(INSTALL) -c -m 444 +INSTALL_DATA = $(INSTALL) -c -m 644 INSTALL_DIR = $(INSTALL) -d --INSTALL_LIB = $(LIBTOOL) $(INSTALL) -c -m 555 @INSTALL_STRIP@ +-INSTALL_LIB = @LIBTOOL_INSTALL@ $(INSTALL) -c -m @CUPS_EXE_FILE_PERM@ @INSTALL_STRIP@ -INSTALL_MAN = $(INSTALL) -c -m 444 --INSTALL_SCRIPT = $(INSTALL) -c -m 555 -+INSTALL_LIB = $(LIBTOOL) $(INSTALL) -c -m 755 +-INSTALL_SCRIPT = $(INSTALL) -c -m @CUPS_EXE_FILE_PERM@ ++INSTALL_LIB = @LIBTOOL_INSTALL@ $(INSTALL) -c -m 755 +INSTALL_MAN = $(INSTALL) -c -m 644 +INSTALL_SCRIPT = $(INSTALL) -c -m 755 diff --git a/package/cups/0004-Remove-PIE-flags-from-the-build.patch b/package/cups/0004-Remove-PIE-flags-from-the-build.patch index 492418f70d..ea4f0b4a59 100644 --- a/package/cups/0004-Remove-PIE-flags-from-the-build.patch +++ b/package/cups/0004-Remove-PIE-flags-from-the-build.patch @@ -7,7 +7,10 @@ Generating a statically linked binary built with PIE requires the Scrt1.o file, which isn't part of Buildroot uClibc toolchains. To solve this, we simply disable the PIE flags. +[olivier tweak patch for 2.2.4] + Signed-off-by: Thomas Petazzoni +Signed-off-by: Olivier Schonken --- Makedefs.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) @@ -16,13 +19,13 @@ diff --git a/Makedefs.in b/Makedefs.in index 3afef0a..299b297 100644 --- a/Makedefs.in +++ b/Makedefs.in -@@ -142,7 +142,7 @@ IPPFIND_BIN = @IPPFIND_BIN@ +@@ -148,7 +148,7 @@ IPPFIND_BIN = @IPPFIND_BIN@ IPPFIND_MAN = @IPPFIND_MAN@ LDFLAGS = -L../cgi-bin -L../cups -L../filter -L../ppdc \ -L../scheduler @LDARCHFLAGS@ \ - @LDFLAGS@ @RELROFLAGS@ @PIEFLAGS@ $(OPTIM) + @LDFLAGS@ @RELROFLAGS@ $(OPTIM) - LINKCUPS = @LINKCUPS@ $(LIBGSSAPI) $(DNSSDLIBS) $(LIBZ) + LINKCUPS = @LINKCUPS@ $(LIBGSSAPI) $(DNSSDLIBS) $(SSLLIBS) $(LIBZ) LINKCUPSIMAGE = @LINKCUPSIMAGE@ LIBS = $(LINKCUPS) $(COMMONLIBS) -- diff --git a/package/cups/0005-Fix-static-linking-with-GnuTLS.patch b/package/cups/0005-Fix-static-linking-with-GnuTLS.patch deleted file mode 100644 index 5702caae97..0000000000 --- a/package/cups/0005-Fix-static-linking-with-GnuTLS.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 79a2389f590f4d16885bdd0715f3f04fd9fa6cc5 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B6rg=20Krause?= -Date: Sun, 28 Feb 2016 16:35:56 +0100 -Subject: [PATCH] Fix static linking with GnuTLS -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -cups forgets to link against the libs found by pkg-config if it is build with -GnuTLS support. - -Otherwise, static build fails with: -../cups/libcups.a(tls.o): In function `http_gnutls_create_credential': -cups-2.1.2/cups/tls-gnutls.c:762: undefined reference to `gnutls_x509_crt_init' -[..] - -Status upstream: Pending - -Signed-off-by: Jörg Krause ---- - Makedefs.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makedefs.in b/Makedefs.in -index 299b297..ce9d535 100644 ---- a/Makedefs.in -+++ b/Makedefs.in -@@ -143,7 +143,7 @@ IPPFIND_MAN = @IPPFIND_MAN@ - LDFLAGS = -L../cgi-bin -L../cups -L../filter -L../ppdc \ - -L../scheduler @LDARCHFLAGS@ \ - @LDFLAGS@ @RELROFLAGS@ $(OPTIM) --LINKCUPS = @LINKCUPS@ $(LIBGSSAPI) $(DNSSDLIBS) $(LIBZ) -+LINKCUPS = @LINKCUPS@ $(SSLLIBS) $(LIBGSSAPI) $(DNSSDLIBS) $(LIBZ) - LINKCUPSIMAGE = @LINKCUPSIMAGE@ - LIBS = $(LINKCUPS) $(COMMONLIBS) - ONDEMANDFLAGS = @ONDEMANDFLAGS@ --- -2.7.4 - diff --git a/package/cups/Config.in b/package/cups/Config.in index 3f5460c11b..e23f069a8a 100644 --- a/package/cups/Config.in +++ b/package/cups/Config.in @@ -2,6 +2,8 @@ config BR2_PACKAGE_CUPS bool "cups" # needs libstdcpp for ppdc depends on BR2_INSTALL_LIBSTDCPP + # needs threads for ippserver + depends on BR2_TOOLCHAIN_HAS_THREADS # needs fork() depends on BR2_USE_MMU help @@ -9,5 +11,5 @@ config BR2_PACKAGE_CUPS http://www.cups.org -comment "cups needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP +comment "cups needs a toolchain w/ C++, threads" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/cups/cups.hash b/package/cups/cups.hash index 08c8c3c234..d4f20b60db 100644 --- a/package/cups/cups.hash +++ b/package/cups/cups.hash @@ -1,2 +1,2 @@ # Locally calculated: -sha256 f589bb7d5d1dc3aa0915d7cf2b808571ef2e1530cd1a6ebe76ae8f9f4994e4f6 cups-2.2.2-source.tar.gz +sha256 a8795e2aa54dcfbdc9ff254a770f0d7154e35c981bca5b3369050c5193ab5a21 cups-2.2.5-source.tar.gz diff --git a/package/cups/cups.mk b/package/cups/cups.mk index ae3b9caae0..0726d8a37f 100644 --- a/package/cups/cups.mk +++ b/package/cups/cups.mk @@ -4,10 +4,10 @@ # ################################################################################ -CUPS_VERSION = 2.2.2 +CUPS_VERSION = 2.2.5 CUPS_SOURCE = cups-$(CUPS_VERSION)-source.tar.gz CUPS_SITE = https://github.com/apple/cups/releases/download/v$(CUPS_VERSION) -CUPS_LICENSE = GPLv2, LGPLv2 +CUPS_LICENSE = GPL-2.0, LGPL-2.0 CUPS_LICENSE_FILES = LICENSE.txt CUPS_INSTALL_STAGING = YES CUPS_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) DSTROOT=$(STAGING_DIR) install @@ -15,7 +15,7 @@ CUPS_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) DSTROOT=$(TARGET_DIR) install # Using autoconf, not autoheader, so we cannot use AUTORECONF = YES. define CUPS_RUN_AUTOCONF - cd $(@D); $(HOST_DIR)/usr/bin/autoconf -f + cd $(@D); $(HOST_DIR)/bin/autoconf -f endef CUPS_PRE_CONFIGURE_HOOKS += CUPS_RUN_AUTOCONF diff --git a/package/curlftpfs/Config.in b/package/curlftpfs/Config.in index ad3ac241fa..c8c432f205 100644 --- a/package/curlftpfs/Config.in +++ b/package/curlftpfs/Config.in @@ -1,18 +1,17 @@ config BR2_PACKAGE_CURLFTPFS bool "curlftpfs (FUSE)" - select BR2_PACKAGE_LIBFUSE - select BR2_PACKAGE_LIBGLIB2 - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE - select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE - select BR2_PACKAGE_OPENSSL - select BR2_PACKAGE_LIBCURL depends on BR2_USE_WCHAR # glib2 depends on BR2_TOOLCHAIN_HAS_THREADS # libfuse, glib2 depends on BR2_USE_MMU # libfuse, glib2 depends on !BR2_STATIC_LIBS # libfuse + select BR2_PACKAGE_LIBFUSE + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_LIBCURL help - CurlFtpFS is a filesystem for accessing FTP hosts based on FUSE - and libcurl. + CurlFtpFS is a filesystem for accessing FTP hosts based on + FUSE and libcurl. http://curlftpfs.sourceforge.net/ diff --git a/package/curlftpfs/curlftpfs.mk b/package/curlftpfs/curlftpfs.mk index 8ec3e4c536..584d01a6d4 100644 --- a/package/curlftpfs/curlftpfs.mk +++ b/package/curlftpfs/curlftpfs.mk @@ -7,11 +7,11 @@ CURLFTPFS_VERSION = 0.9.2 CURLFTPFS_SITE = http://downloads.sourceforge.net/project/curlftpfs/curlftpfs/$(CURLFTPFS_VERSION) CURLFTPFS_CONF_ENV = ac_cv_path__libcurl_config=$(STAGING_DIR)/usr/bin/curl-config -CURLFTPFS_LICENSE = GPLv2 +CURLFTPFS_LICENSE = GPL-2.0 CURLFTPFS_LICENSE_FILES = COPYING CURLFTPFS_DEPENDENCIES = \ libglib2 libfuse openssl libcurl \ - $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) \ + $(TARGET_NLS_DEPENDENCIES) \ $(if $(BR2_ENABLE_LOCALE),,libiconv) $(eval $(autotools-package)) diff --git a/package/cvs/Config.in b/package/cvs/Config.in index 0036961601..e8f0606ecc 100644 --- a/package/cvs/Config.in +++ b/package/cvs/Config.in @@ -5,7 +5,8 @@ config BR2_PACKAGE_CVS depends on BR2_USE_MMU select BR2_PACKAGE_NCURSES help - Concurrent Versions System - source code revision control tools. + Concurrent Versions System - source code revision control + tools. http://www.nongnu.org/cvs/ diff --git a/package/cwiid/0001-fix-link-options-for-as-needed-90.patch b/package/cwiid/0001-fix-link-options-for-as-needed-90.patch deleted file mode 100644 index 806ddaa3fc..0000000000 --- a/package/cwiid/0001-fix-link-options-for-as-needed-90.patch +++ /dev/null @@ -1,166 +0,0 @@ -From 6af678616531eb1f3d3d0a052313ef9d8125bac7 Mon Sep 17 00:00:00 2001 -From: "L. Donnie Smith" -Date: Thu, 4 Feb 2010 22:53:41 -0500 -Subject: [PATCH] fix link options for --as-needed (#90) - -also fix a couple of includes ---- - common/include/app.mak | 2 +- - common/include/lib.mak.in | 4 ++-- - common/include/plugin.mak | 2 +- - lswm/Makefile.in | 2 +- - python/Makefile.in | 2 +- - python/Wiimote.c | 2 +- - python/cwiidmodule.c | 2 +- - wmdemo/wmdemo.c | 1 + - wmgui/Makefile.in | 2 +- - wminput/Makefile.in | 2 +- - wminput/main.c | 1 + - 11 files changed, 12 insertions(+), 10 deletions(-) - -diff --git a/common/include/app.mak b/common/include/app.mak -index f00cf12..c26d0ff 100644 ---- a/common/include/app.mak -+++ b/common/include/app.mak -@@ -10,7 +10,7 @@ DEST_INST_DIR = $(ROOTDIR)$(INST_DIR) - all: $(APP_NAME) - - $(APP_NAME): $(OBJECTS) -- $(CC) -o $@ $(OBJECTS) $(LDFLAGS) $(LDLIBS) -+ $(CC) $(LDFLAGS) -o $@ $(OBJECTS) $(LDLIBS) - - install: $(APP_NAME) - install -D $(APP_NAME) $(DEST_INST_DIR)/$(APP_NAME) -diff --git a/common/include/lib.mak.in b/common/include/lib.mak.in -index 5e81ff3..3afbb14 100644 ---- a/common/include/lib.mak.in -+++ b/common/include/lib.mak.in -@@ -25,8 +25,8 @@ $(STATIC_LIB): $(OBJECTS) - ar rcs $(STATIC_LIB) $(OBJECTS) - - $(SHARED_LIB): $(OBJECTS) -- $(CC) -shared -Wl,-soname,$(SO_NAME) $(LDFLAGS) $(LDLIBS) \ -- -o $(SHARED_LIB) $(OBJECTS) -+ $(CC) -shared -Wl,-soname,$(SO_NAME) $(LDFLAGS) -o $(SHARED_LIB) \ -+ $(OBJECTS) $(LDLIBS) - - install: install_header install_static install_shared - -diff --git a/common/include/plugin.mak b/common/include/plugin.mak -index 0f61502..a2d5c85 100644 ---- a/common/include/plugin.mak -+++ b/common/include/plugin.mak -@@ -16,7 +16,7 @@ DEST_INST_DIR = $(INST_DIR) - all: $(LIB_NAME) - - $(LIB_NAME): $(OBJECTS) -- $(CC) -shared $(LDFLAGS) $(LDLIBS) -o $(LIB_NAME) $(OBJECTS) -+ $(CC) -shared $(LDFLAGS) -o $(LIB_NAME) $(OBJECTS) $(LDLIBS) - - install: $(LIB_NAME) - install -D $(LIB_NAME) $(DEST_INST_DIR)/$(LIB_NAME) -diff --git a/lswm/Makefile.in b/lswm/Makefile.in -index 79e8b5b..017104f 100644 ---- a/lswm/Makefile.in -+++ b/lswm/Makefile.in -@@ -8,7 +8,7 @@ SOURCES = lswm.c - - CFLAGS += -I@top_builddir@/libcwiid - LDFLAGS += -L@top_builddir@/libcwiid --LDLIBS += -lcwiid -+LDLIBS += -lcwiid -lbluetooth - INST_DIR = @bindir@ - - include $(COMMON)/include/app.mak -diff --git a/python/Makefile.in b/python/Makefile.in -index 0d7efdf..0ca57ca 100644 ---- a/python/Makefile.in -+++ b/python/Makefile.in -@@ -7,7 +7,7 @@ ifdef ROOTDIR - endif - - all: -- $(PYTHON) setup.py build_ext $(DEBUGFLAGS) -I@top_builddir@/libcwiid -L@top_builddir@/libcwiid -lcwiid -+ $(PYTHON) setup.py build_ext $(DEBUGFLAGS) -I@top_builddir@/libcwiid -L@top_builddir@/libcwiid -lcwiid -lbluetooth - - install: - $(PYTHON) setup.py install --install-lib=${libdir}/python@PYTHON_VERSION@/site-packages $(SET_ROOT_DIR) -diff --git a/python/Wiimote.c b/python/Wiimote.c -index 794e7e2..523185e 100644 ---- a/python/Wiimote.c -+++ b/python/Wiimote.c -@@ -24,7 +24,7 @@ - #include "structmember.h" - #include - #include --#include "cwiid.h" -+#include - - #if (PY_VERSION_HEX < 0x02050000) - #ifndef PY_SSIZE_T_MIN -diff --git a/python/cwiidmodule.c b/python/cwiidmodule.c -index f6a8f33..a01ed82 100644 ---- a/python/cwiidmodule.c -+++ b/python/cwiidmodule.c -@@ -24,7 +24,7 @@ - - #include - --#include "cwiid.h" -+#include - #include "structmember.h" - - /* externally defined types */ -diff --git a/wmdemo/wmdemo.c b/wmdemo/wmdemo.c -index 70a25a1..b7aaa7f 100644 ---- a/wmdemo/wmdemo.c -+++ b/wmdemo/wmdemo.c -@@ -2,6 +2,7 @@ - #include - #include - -+#include - #include - - /* This is a sample program written to demonstrate basic CWiid libwiimote -diff --git a/wmgui/Makefile.in b/wmgui/Makefile.in -index 41b205e..14d1c1e 100644 ---- a/wmgui/Makefile.in -+++ b/wmgui/Makefile.in -@@ -8,7 +8,7 @@ SOURCES = main.c interface.c support.c - - CFLAGS += @GTK_CFLAGS@ -I@top_builddir@/libcwiid - LDFLAGS += -L@top_builddir@/libcwiid --LDLIBS += @GTK_LIBS@ -lm -lcwiid -+LDLIBS += @GTK_LIBS@ -lcwiid -lbluetooth -lm - INST_DIR = @bindir@ - - include $(COMMON)/include/app.mak -diff --git a/wminput/Makefile.in b/wminput/Makefile.in -index 009d4d5..d3c3679 100644 ---- a/wminput/Makefile.in -+++ b/wminput/Makefile.in -@@ -14,7 +14,7 @@ CFLAGS += -I@top_builddir@/libcwiid \ - -DWMINPUT_CONFIG_DIR=\"$(WMINPUT_CONFIG_DIR)\" \ - -DCWIID_PLUGINS_DIR=\"$(CWIID_PLUGINS_DIR)\" - --LDLIBS += -lcwiid -ldl -+LDLIBS += -lcwiid -lbluetooth -ldl -lpthread - LDFLAGS += -L@top_builddir@/libcwiid -rdynamic - INST_DIR = @bindir@ - -diff --git a/wminput/main.c b/wminput/main.c -index c3a7445..bbc98d9 100644 ---- a/wminput/main.c -+++ b/wminput/main.c -@@ -30,6 +30,7 @@ - #include - #include - #include -+#include - - #include - --- -1.8.5.2 - diff --git a/package/cwiid/0003-wmdemo-fix-linking-by-adding-the-missing-lbluetooth-.patch b/package/cwiid/0001-wmdemo-fix-linking-by-adding-the-missing-lbluetooth-.patch similarity index 100% rename from package/cwiid/0003-wmdemo-fix-linking-by-adding-the-missing-lbluetooth-.patch rename to package/cwiid/0001-wmdemo-fix-linking-by-adding-the-missing-lbluetooth-.patch diff --git a/package/cwiid/0002-Update-for-BlueZ-changes.patch b/package/cwiid/0002-Update-for-BlueZ-changes.patch deleted file mode 100644 index c0d78a8ac6..0000000000 --- a/package/cwiid/0002-Update-for-BlueZ-changes.patch +++ /dev/null @@ -1,28 +0,0 @@ -From c5dd7d4a9af5a7d8ead8ad26d9e5e0f8f8292d29 Mon Sep 17 00:00:00 2001 -From: "L. Donnie Smith" -Date: Sun, 30 Nov 2008 22:34:08 +0000 -Subject: [PATCH] Update for BlueZ changes. - -git-svn-id: http://abstrakraft.org/cwiid/svn/trunk@183 918edb2d-ff29-0410-9de2-eb38e7f22bc7 ---- - libcwiid/bluetooth.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/libcwiid/bluetooth.c b/libcwiid/bluetooth.c -index 63284a8..e986f75 100644 ---- a/libcwiid/bluetooth.c -+++ b/libcwiid/bluetooth.c -@@ -122,8 +122,8 @@ int cwiid_get_bdinfo_array(int dev_id, unsigned int timeout, int max_bdinfo, - } - - /* timeout (10000) in milliseconds */ -- if (hci_remote_name(sock, &dev_list[i].bdaddr, BT_NAME_LEN, -- (*bdinfo)[bdinfo_count].name, 10000)) { -+ if (hci_read_remote_name(sock, &dev_list[i].bdaddr, BT_NAME_LEN, -+ (*bdinfo)[bdinfo_count].name, 10000)) { - cwiid_err(NULL, "Bluetooth name read error"); - err = 1; - goto CODA; --- -1.8.5.2 - diff --git a/package/cwiid/0004-configure-make-wmgui-build-optional.patch b/package/cwiid/0002-configure-make-wmgui-build-optional.patch similarity index 100% rename from package/cwiid/0004-configure-make-wmgui-build-optional.patch rename to package/cwiid/0002-configure-make-wmgui-build-optional.patch diff --git a/package/cwiid/Config.in b/package/cwiid/Config.in index 03b7dbbcdb..50c05ebd91 100644 --- a/package/cwiid/Config.in +++ b/package/cwiid/Config.in @@ -6,8 +6,8 @@ config BR2_PACKAGE_CWIID depends on BR2_USE_MMU # bluez_utils -> dbus, libglib2 select BR2_PACKAGE_BLUEZ_UTILS help - A collection of Linux tools written in C for interfacing to the - Nintendo Wiimote. + A collection of Linux tools written in C for interfacing to + the Nintendo Wiimote. http://abstrakraft.org/cwiid/ diff --git a/package/cwiid/cwiid.hash b/package/cwiid/cwiid.hash index 749c9c3cfc..6446b8022d 100644 --- a/package/cwiid/cwiid.hash +++ b/package/cwiid/cwiid.hash @@ -1,2 +1,4 @@ # Locally calculated -sha256 8880378303d872ea65b037184ad6c96bc68f87764b503c152032f56344b5e81d cwiid-0.6.00.tgz +sha256 3adf3bf018721dee3c47e12ba4dd71810a239918dce925aa4079cb2a98bca5fe cwiid-fadf11e89b579bcc0336a0692ac15c93785f3f82.tar.gz +# License files, locally calculated +sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING diff --git a/package/cwiid/cwiid.mk b/package/cwiid/cwiid.mk index 0cfc77479e..c092e401df 100644 --- a/package/cwiid/cwiid.mk +++ b/package/cwiid/cwiid.mk @@ -4,10 +4,9 @@ # ################################################################################ -CWIID_VERSION = 0.6.00 -CWIID_SOURCE = cwiid-$(CWIID_VERSION).tgz -CWIID_SITE = http://abstrakraft.org/cwiid/downloads -CWIID_LICENSE = GPLv2+ +CWIID_VERSION = fadf11e89b579bcc0336a0692ac15c93785f3f82 +CWIID_SITE = $(call github,abstrakraft,cwiid,$(CWIID_VERSION)) +CWIID_LICENSE = GPL-2.0+ CWIID_LICENSE_FILES = COPYING CWIID_AUTORECONF = YES diff --git a/package/cxxtest/cxxtest.hash b/package/cxxtest/cxxtest.hash index f552e803fa..be2cbd3227 100644 --- a/package/cxxtest/cxxtest.hash +++ b/package/cxxtest/cxxtest.hash @@ -1,2 +1,5 @@ # Locally computed: sha256 1c154fef91c65dbf1cd4519af7ade70a61d85a923b6e0c0b007dc7f4895cf7d8 cxxtest-4.4.tar.gz + +# Hash for license file: +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 COPYING diff --git a/package/cxxtest/cxxtest.mk b/package/cxxtest/cxxtest.mk index 93bdd8b8d8..7d494c8f11 100644 --- a/package/cxxtest/cxxtest.mk +++ b/package/cxxtest/cxxtest.mk @@ -1,12 +1,12 @@ -####################################################################################### +################################################################################ # # cxxtest # -####################################################################################### +################################################################################ CXXTEST_VERSION = 4.4 CXXTEST_SITE = https://github.com/CxxTest/cxxtest/releases/download/$(CXXTEST_VERSION) -CXXTEST_LICENSE = LGPLv3 +CXXTEST_LICENSE = LGPL-3.0 CXXTEST_LICENSE_FILES = COPYING CXXTEST_INSTALL_STAGING = YES CXXTEST_INSTALL_TARGET = NO diff --git a/package/czmq/Config.in b/package/czmq/Config.in index cfa5152958..71389fce51 100644 --- a/package/czmq/Config.in +++ b/package/czmq/Config.in @@ -1,9 +1,9 @@ config BR2_PACKAGE_CZMQ bool "czmq" - select BR2_PACKAGE_ZEROMQ depends on BR2_USE_MMU # fork() depends on BR2_INSTALL_LIBSTDCPP # zeromq depends on BR2_TOOLCHAIN_HAS_THREADS # zeromq + select BR2_PACKAGE_ZEROMQ help High-level C Binding for 0MQ diff --git a/package/czmq/czmq.mk b/package/czmq/czmq.mk index 8c4de7186b..5305789d7a 100644 --- a/package/czmq/czmq.mk +++ b/package/czmq/czmq.mk @@ -11,7 +11,7 @@ CZMQ_SITE = $(call github,zeromq,czmq,$(CZMQ_VERSION)) CZMQ_AUTORECONF = YES CZMQ_INSTALL_STAGING = YES CZMQ_DEPENDENCIES = zeromq host-pkgconf -CZMQ_LICENSE = MPLv2.0 +CZMQ_LICENSE = MPL-2.0 CZMQ_LICENSE_FILES = LICENSE # asciidoc is a python script that imports unicodedata, which is not in diff --git a/package/dado/dado.hash b/package/dado/dado.hash index 3f17f083d3..973bdb3ff8 100644 --- a/package/dado/dado.hash +++ b/package/dado/dado.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 b7a68583c36643ad9040937d7e2b99230af7da83c7cbd13c9923881f1eb7490f dado-1.6.0-1.src.rock +sha256 5a10ed7ff7be34ac004d10d6ea62ee8efc2b594c50ffc93e840e7fb7a2e6b4d0 dado-1.8.3-1.src.rock diff --git a/package/dado/dado.mk b/package/dado/dado.mk index a09dd6da51..e4375a3a6b 100644 --- a/package/dado/dado.mk +++ b/package/dado/dado.mk @@ -4,7 +4,8 @@ # ################################################################################ -DADO_VERSION = 1.6.0-1 +DADO_VERSION = 1.8.3-1 DADO_LICENSE = MIT +DADO_LICENSE_FILES = $(DADO_SUBDIR)/doc/license.html $(eval $(luarocks-package)) diff --git a/package/daemon/0001-fix-musl.patch b/package/daemon/0001-fix-musl.patch new file mode 100644 index 0000000000..9454d72ae6 --- /dev/null +++ b/package/daemon/0001-fix-musl.patch @@ -0,0 +1,18 @@ +daemon: fix build with musl + +musl requires the ttydefaults.h to be included explicitly for CEOF. + +Signed-off-by: Baruch Siach +--- + +diff -Nuar daemon-0.6.4-orig/daemon.c daemon-0.6.4/daemon.c +--- daemon-0.6.4-orig/daemon.c 2010-06-12 16:37:00.000000000 +0300 ++++ daemon-0.6.4/daemon.c 2017-05-01 22:02:17.721413468 +0300 +@@ -665,6 +665,7 @@ + #ifdef _RESTORE_POSIX_SOURCE + #define _POSIX_SOURCE + #endif ++#include + #include + #include + #include diff --git a/package/daemon/Config.in b/package/daemon/Config.in new file mode 100644 index 0000000000..b97f8cffe5 --- /dev/null +++ b/package/daemon/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_DAEMON + bool "daemon" + depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_HAS_THREADS + help + Daemon turns other process into daemons. + + http://www.libslack.org/daemon/ + +comment "daemon needs a toolchain w/ threads" + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/daemon/daemon.hash b/package/daemon/daemon.hash new file mode 100644 index 0000000000..32308ea3f7 --- /dev/null +++ b/package/daemon/daemon.hash @@ -0,0 +1,3 @@ +# md5 from http://www.libslack.org/daemon/; sha256 locally calculated +md5 6cd0a28630a29ac279bc501f39baec66 daemon-0.6.4.tar.gz +sha256 c4b9ea4aa74d55ea618c34f1e02c080ddf368549037cb239ee60c83191035ca1 daemon-0.6.4.tar.gz diff --git a/package/daemon/daemon.mk b/package/daemon/daemon.mk new file mode 100644 index 0000000000..79cf3f7aab --- /dev/null +++ b/package/daemon/daemon.mk @@ -0,0 +1,27 @@ +################################################################################ +# +# daemon +# +################################################################################ + +DAEMON_VERSION = 0.6.4 +DAEMON_SITE = http://libslack.org/daemon/download +DAEMON_LICENSE = GPL-2.0+ +DAEMON_LICENSE_FILES = LICENSE + +define DAEMON_CONFIGURE_CMDS + (cd $(@D); ./config) +endef + +define DAEMON_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) ready + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) +endef + +define DAEMON_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) DEB_BUILD_OPTIONS=nostrip \ + $(MAKE) PREFIX=$(TARGET_DIR)/usr -C $(@D) \ + install-daemon-bin +endef + +$(eval $(generic-package)) diff --git a/package/dahdi-linux/Config.in b/package/dahdi-linux/Config.in new file mode 100644 index 0000000000..f2a370917c --- /dev/null +++ b/package/dahdi-linux/Config.in @@ -0,0 +1,19 @@ +config BR2_PACKAGE_DAHDI_LINUX + bool "dhadi-linux" + depends on BR2_LINUX_KERNEL + help + DAHDI (Digium/Asterisk Hardware Device Interface) is the open + source device interface technology used to control Digium and + other legacy telephony interface cards. + + DAHDI Linux is the open source device driver framework used to + interface Asterisk with telephony hardware. + + http://www.asterisk.org/downloads/dahdi + + Note: DAHDI Linux drivers won't build on a kernel v4.0 or more + recent, because they use internals that have been removed in + v4.0. + +comment "dahdi-linux needs a Linux kernel to be built" + depends on !BR2_LINUX_KERNEL diff --git a/package/dahdi-linux/dahdi-linux.hash b/package/dahdi-linux/dahdi-linux.hash new file mode 100644 index 0000000000..c362f8ea3f --- /dev/null +++ b/package/dahdi-linux/dahdi-linux.hash @@ -0,0 +1,27 @@ +# sha1 from: http://downloads.asterisk.org/pub/telephony/dahdi-linux/releases +# sha256 locally computed +sha1 8cbd55b8611c6ed80bcdf84d537566b4934f3def dahdi-linux-2.11.1.tar.gz +sha256 f59f382365118205e77d2874f1c0e1546e936247bcc45f07a43bc21778bee9df dahdi-linux-2.11.1.tar.gz + +# Firmware files have no upstream hash, so sha56 locally computed +sha256 3ff26cf80555fd7470b43a87c51d03c1db2a75abcd4561d79f69b6c48298e4a1 dahdi-fwload-vpmadt032-1.25.0.tar.gz +sha256 d5b6ab6851e431afcfec2ecc39d95fa88fe3939ffdb2e3d4f28a43cabf30e95b dahdi-fw-a4a-a0017.tar.gz +sha256 e039af8bec36407b74e1dd9ebdd49ba077469eda79d4e6093721ed2836d4536f dahdi-fw-a4b-d001e.tar.gz +sha256 5064f9877b8aec99b19fd57988216fe1a9c0b7c07853dd3b32b5a55ab7b418e6 dahdi-fw-a8a-1d0017.tar.gz +sha256 09a8992786309e025aa60b400a2c7d21226ac9bb6f1b66f562a5e7e9dc892b03 dahdi-fw-a8b-1f001e.tar.gz +sha256 449ab3fd03d55d808e999efb7677cd04de202b92c9fcb039539a7e48a39a80f5 dahdi-fw-hx8-2.06.tar.gz +sha256 7a006073202d67e45f1d5ff1e9c6e8663e6056cef9dc4c5abae86a1018db349c dahdi-fw-oct6114-032-1.05.01.tar.gz +sha256 56bac1f2024c76ecf9b6f40992eeea29a1fbee676bb2a37a058179bacfbb1c91 dahdi-fw-oct6114-064-1.05.01.tar.gz +sha256 e1146749d205c41603b9b76852c3f8104dac233d0025d700db24504d10c99775 dahdi-fw-oct6114-128-1.05.01.tar.gz +sha256 5fe5036a2766cf0e8a968b0c58b700507d86e1cde9296ca437170cc626a9c79c dahdi-fw-oct6114-256-1.05.01.tar.gz +sha256 11dd8d009809e41fc9a3a36766f59ff73d29075eede5b8724331d9a6e5259774 dahdi-fw-tc400m-MR6.12.tar.gz +sha256 511c1966295a20df673bb87af30245f0ad165efd6ccb92b4d8ed535ca7f5ac65 dahdi-fw-te133-7a001e.tar.gz +sha256 99f7c410bf47d2a5ae687d717e51448ce5b52aca902830bf39bffe683150fa2d dahdi-fw-te134-780017.tar.gz +sha256 c8f55d57cc0bf332e8d96cdf9ff6dd0e322f33581e1efc24c2b9a0e0c5eb7ee4 dahdi-fw-te435-13001e.tar.gz +sha256 0980f4a8d191c6872aa27d971758046f0e7827ac161549f2cc1b0eeab0ae9333 dahdi-fw-te436-10017.tar.gz +sha256 5b823e25828e2c1c6548886ad408b2e31dbc8cd17170c52592792d9c754a199c dahdi-fw-te820-1.76.tar.gz +sha256 6b199cf836f150f9cb35f763f0f502fb52cfa2724a449b500429c746973904ad dahdi-fw-vpmoct032-1.12.0.tar.gz + +# License files, locally computed +sha256 fa5fc1d1eec39532ea517518eeefd7b6e3c14341a55e5880a0e2a49eee47a5b7 LICENSE +sha256 ec60b993835e2c6b79e6d9226345f4e614e686eb57dc13b6420c15a33a8996e5 LICENSE.LGPL diff --git a/package/dahdi-linux/dahdi-linux.mk b/package/dahdi-linux/dahdi-linux.mk new file mode 100644 index 0000000000..c042a14e53 --- /dev/null +++ b/package/dahdi-linux/dahdi-linux.mk @@ -0,0 +1,88 @@ +################################################################################ +# +# dahdi-linux +# +################################################################################ + +DAHDI_LINUX_VERSION = 2.11.1 +DAHDI_LINUX_SITE = http://downloads.asterisk.org/pub/telephony/dahdi-linux/releases + +# We need to download all thoe firmware blobs ourselves, otherwise +# dahdi-linux will try to download them at install time. +DAHDI_LINUX_FW_SITE = http://downloads.digium.com/pub/telephony/firmware/releases +DAHDI_LINUX_FW_FILES = \ + dahdi-fwload-vpmadt032-1.25.0.tar.gz \ + dahdi-fw-oct6114-032-1.05.01.tar.gz \ + dahdi-fw-oct6114-064-1.05.01.tar.gz \ + dahdi-fw-oct6114-128-1.05.01.tar.gz \ + dahdi-fw-oct6114-256-1.05.01.tar.gz \ + dahdi-fw-tc400m-MR6.12.tar.gz \ + dahdi-fw-hx8-2.06.tar.gz \ + dahdi-fw-vpmoct032-1.12.0.tar.gz \ + dahdi-fw-te820-1.76.tar.gz \ + dahdi-fw-te133-7a001e.tar.gz \ + dahdi-fw-te134-780017.tar.gz \ + dahdi-fw-a8b-1f001e.tar.gz \ + dahdi-fw-a8a-1d0017.tar.gz \ + dahdi-fw-a4b-d001e.tar.gz \ + dahdi-fw-a4a-a0017.tar.gz \ + dahdi-fw-te435-13001e.tar.gz \ + dahdi-fw-te436-10017.tar.gz + +DAHDI_LINUX_EXTRA_DOWNLOADS = \ + $(patsubst %,$(DAHDI_LINUX_FW_SITE)/%,$(DAHDI_LINUX_FW_FILES)) + +# dahdi-linux claims to be GPLv2 with parts LGPLv2.1 (not 'or later'), +# but there are the so-called firmware files (downloaded above) for +# which the license is unclear: the header claims to be GPLv2, the +# 'loader-wrapper' claims to be GPLv2, but there are two so-called +# 'firmware' binary-only .o blobs for which the license is not +# explicited, which look like they end up as part of a kernel module, +# and for which the source is nowhere to be found on the upstream site +# (they are only for x86/x86_64, but we still list them unconditionally). +DAHDI_LINUX_LICENSE = GPL-2.0, LGPL-2.1, unknown (firmware files) +DAHDI_LINUX_LICENSE_FILES = LICENSE LICENSE.LGPL + +DAHDI_LINUX_INSTALL_STAGING = YES + +DAHDI_LINUX_MODULE_SUBDIRS = drivers/dahdi + +DAHDI_LINUX_MODULE_MAKE_OPTS = \ + KSRC=$(LINUX_DIR) \ + KVERS=$(LINUX_VERSION_PROBED) \ + DAHDI_BUILD_ALL=m \ + DAHDI_INCLUDE=$(@D)/include \ + INSTALL_MOD_DIR=dahdi + +define DAHDI_LINUX_EXTRACT_FW + $(foreach f,$(DAHDI_LINUX_FW_FILES),\ + cp $(BR2_DL_DIR)/$(f) $(@D)/drivers/dahdi/firmware/$(f)$(sep)) +endef +DAHDI_LINUX_POST_EXTRACT_HOOKS += DAHDI_LINUX_EXTRACT_FW + +# Need to pass the same options as for building the modules, because +# it wants to scan Linux' .config file to check whether some options +# are set or not (like CONFIG_FW_LOADER). +define DAHDI_LINUX_CONFIGURE_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ + $(DAHDI_LINUX_MODULE_MAKE_OPTS) \ + prereq +endef + +define DAHDI_LINUX_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ + $(DAHDI_LINUX_MODULE_MAKE_OPTS) \ + DESTDIR=$(STAGING_DIR) \ + install-include +endef + +define DAHDI_LINUX_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ + $(DAHDI_LINUX_MODULE_MAKE_OPTS) \ + DESTDIR=$(TARGET_DIR) \ + install-firmware \ + install-xpp-firm +endef + +$(eval $(kernel-module)) +$(eval $(generic-package)) diff --git a/package/dahdi-tools/0001-no-build-docs.patch b/package/dahdi-tools/0001-no-build-docs.patch new file mode 100644 index 0000000000..311a129efe --- /dev/null +++ b/package/dahdi-tools/0001-no-build-docs.patch @@ -0,0 +1,16 @@ +Do not build the documentation. + +Signed-off-by: "Yann E. MORIN" + +diff -durN dahdi-tools-2.11.0.orig/Makefile.am dahdi-tools-2.11.0/Makefile.am +--- dahdi-tools-2.11.0.orig/Makefile.am 2015-12-22 21:19:12.000000000 +0100 ++++ dahdi-tools-2.11.0/Makefile.am 2016-01-04 23:23:34.201304133 +0100 +@@ -17,7 +17,7 @@ + #-Wformat=2 + endif + +-SUBDIRS = xpp doc hotplug ++SUBDIRS = xpp hotplug + + if PPPD + SUBDIRS += ppp diff --git a/package/dahdi-tools/0002-no-perl-manpages.patch b/package/dahdi-tools/0002-no-perl-manpages.patch new file mode 100644 index 0000000000..dae1b6c3c0 --- /dev/null +++ b/package/dahdi-tools/0002-no-perl-manpages.patch @@ -0,0 +1,37 @@ +xpp: do not try to install the manpages for the perl tools + +The man pages are generated neither at build time nor at install time, +so the install step fails. + +Just disable them. + +Signed-off-by: "Yann E. MORIN" + +diff -durN dahdi-tools-2.11.0.orig/xpp/Makefile.am dahdi-tools-2.11.0/xpp/Makefile.am +--- dahdi-tools-2.11.0.orig/xpp/Makefile.am 2015-12-22 21:19:12.000000000 +0100 ++++ dahdi-tools-2.11.0/xpp/Makefile.am 2016-01-04 23:56:31.851820973 +0100 +@@ -3,7 +3,6 @@ + + SUBDIRS = + +-man_MANS = + + + # FIXME: try to improve code, so we can use $(PEDANTIC) +@@ -59,7 +58,6 @@ + udevrules_DATA = xpp.rules + + dist_sbin_SCRIPTS = $(perl_scripts) +-man_MANS += $(perl_mans) + CLEANFILES = $(perl_checks) $(perl_mans) + + if PBX_USB +@@ -147,8 +145,6 @@ + astribank_allow.8 \ + astribank_is_starting.8 + +-man_MANS += $(man_pages) +- + endif + + EXTRA_DIST = \ diff --git a/package/dahdi-tools/Config.in b/package/dahdi-tools/Config.in new file mode 100644 index 0000000000..39042df041 --- /dev/null +++ b/package/dahdi-tools/Config.in @@ -0,0 +1,23 @@ +config BR2_PACKAGE_DAHDI_TOOLS + bool "dahdi-tools" + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_LINUX_KERNEL # dahdi-linux + depends on BR2_USE_MMU # perl + select BR2_PACKAGE_DAHDI_LINUX + select BR2_PACKAGE_PERL + help + DAHDI (Digium/Asterisk Hardware Device Interface) is the open + source device interface technology used to control Digium and + other legacy telephony interface cards. + + DAHDI Tools is a package of utilities for managing and + monitoring DAHDI devices. + + http://www.asterisk.org/downloads/dahdi + +# Two comments, otherwise it may not fit in menuconfig for narrow terminals +comment "dahdi-tools needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_LINUX_KERNEL + +comment "dahdi-tools needs a Linux kernel to be built" + depends on !BR2_LINUX_KERNEL diff --git a/package/dahdi-tools/dahdi-tools.hash b/package/dahdi-tools/dahdi-tools.hash new file mode 100644 index 0000000000..7b668c6049 --- /dev/null +++ b/package/dahdi-tools/dahdi-tools.hash @@ -0,0 +1,8 @@ +# sha1 from http://downloads.asterisk.org/pub/telephony/dahdi-tools/releases +# sha256 locally computed +sha1 5da944e6d59a977f814230253f3ddf2847e7f31b dahdi-tools-2.11.1.tar.gz +sha256 53ffeb333f3e44b0c88e5b17475cdbf87d3f652eb81a6422de76250c061e2909 dahdi-tools-2.11.1.tar.gz + +# License files, locally computed +sha256 fa5fc1d1eec39532ea517518eeefd7b6e3c14341a55e5880a0e2a49eee47a5b7 LICENSE +sha256 ec60b993835e2c6b79e6d9226345f4e614e686eb57dc13b6420c15a33a8996e5 LICENSE.LGPL diff --git a/package/dahdi-tools/dahdi-tools.mk b/package/dahdi-tools/dahdi-tools.mk new file mode 100644 index 0000000000..e97d944c52 --- /dev/null +++ b/package/dahdi-tools/dahdi-tools.mk @@ -0,0 +1,32 @@ +################################################################################ +# +# dahdi-tools +# +################################################################################ + +DAHDI_TOOLS_VERSION = 2.11.1 +DAHDI_TOOLS_SITE = http://downloads.asterisk.org/pub/telephony/dahdi-tools/releases + +DAHDI_TOOLS_LICENSE = GPLv2, LGPLv2.1 +DAHDI_TOOLS_LICENSE_FILES = LICENSE LICENSE.LGPL + +DAHDI_TOOLS_DEPENDENCIES = dahdi-linux perl + +DAHDI_TOOLS_INSTALL_STAGING = YES +DAHDI_TOOLS_AUTORECONF = YES + +# Buildroot globally exports PERL with the value it has on the host, so we need +# to override it with the location where it will be on the target. +DAHDI_TOOLS_CONF_ENV = PERL=/usr/bin/perl + +DAHDI_TOOLS_CONF_OPTS = \ + --without-newt \ + --without-usb \ + --without-pcap \ + --without-libusbx \ + --without-libusb \ + --without-selinux \ + --without-ppp \ + --with-perllib=/usr/lib/perl5/$(PERL_VERSION) + +$(eval $(autotools-package)) diff --git a/package/dante/dante.mk b/package/dante/dante.mk index 1bab648bbf..687567e100 100644 --- a/package/dante/dante.mk +++ b/package/dante/dante.mk @@ -6,7 +6,7 @@ DANTE_VERSION = 1.4.1 DANTE_SITE = http://www.inet.no/dante/files -DANTE_LICENSE = BSD-3c +DANTE_LICENSE = BSD-3-Clause DANTE_LICENSE_FILES = LICENSE # Dante uses a *VERY* old configure.ac diff --git a/package/dash/Config.in b/package/dash/Config.in index af8fba4018..00cacf84a8 100644 --- a/package/dash/Config.in +++ b/package/dash/Config.in @@ -3,7 +3,9 @@ config BR2_PACKAGE_DASH depends on BR2_USE_MMU # fork() depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS help - The Debian/Linux port of the NetBSD version of - ash (the Almquist SHell). + DASH is a POSIX-compliant implementation of /bin/sh that aims to be + as small as possible. It does this without sacrificing speed where + possible. In fact, it is significantly faster than bash (the GNU + Bourne-Again SHell) for most tasks. http://gondor.apana.org.au/~herbert/dash diff --git a/package/dash/dash.hash b/package/dash/dash.hash index 0198cd8345..b5a37b61d7 100644 --- a/package/dash/dash.hash +++ b/package/dash/dash.hash @@ -1,3 +1,2 @@ -# From http://ftp.debian.org/debian/pool/main/d/dash/dash_0.5.8-1.dsc -sha256 c6db3a237747b02d20382a761397563d813b306c020ae28ce25a1c3915fac60f dash_0.5.8.orig.tar.gz -sha256 d751769cc1ef8b825a177e782f1cd3e35bde7c268107fa4febf8d235e12c64d9 dash_0.5.8-1.diff.gz +# From http://gondor.apana.org.au/~herbert/dash/files/dash-0.5.9.1.tar.gz.sha256sum +sha256 5ecd5bea72a93ed10eb15a1be9951dd51b52e5da1d4a7ae020efd9826b49e659 dash-0.5.9.1.tar.gz diff --git a/package/dash/dash.mk b/package/dash/dash.mk index ed8525ce69..c8b41648b6 100644 --- a/package/dash/dash.mk +++ b/package/dash/dash.mk @@ -4,11 +4,9 @@ # ################################################################################ -DASH_VERSION = 0.5.8 -DASH_SOURCE = dash_$(DASH_VERSION).orig.tar.gz -DASH_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/d/dash -DASH_PATCH = dash_$(DASH_VERSION)-1.diff.gz -DASH_LICENSE = BSD-3c, GPLv2+ (mksignames.c) +DASH_VERSION = 0.5.9.1 +DASH_SITE = http://gondor.apana.org.au/~herbert/dash/files +DASH_LICENSE = BSD-3-Clause, GPL-2.0+ (mksignames.c) DASH_LICENSE_FILES = COPYING define DASH_INSTALL_TARGET_CMDS diff --git a/package/dawgdic/dawgdic.mk b/package/dawgdic/dawgdic.mk index 2f0a53b16e..443782c9f3 100644 --- a/package/dawgdic/dawgdic.mk +++ b/package/dawgdic/dawgdic.mk @@ -6,7 +6,7 @@ DAWGDIC_VERSION = 16ac537ba9883ff01b63b6d1fdc3072150c68fee DAWGDIC_SITE = $(call github,stil,dawgdic,$(DAWGDIC_VERSION)) -DAWGDIC_LICENSE = BSD-3c +DAWGDIC_LICENSE = BSD-3-Clause DAWGDIC_LICENSE_FILES = COPYING DAWGDIC_AUTORECONF = YES DAWGDIC_INSTALL_STAGING = YES diff --git a/package/dbus-cpp/0002-cross-compile-tools.patch b/package/dbus-cpp/0002-cross-compile-tools.patch new file mode 100644 index 0000000000..39eff3147a --- /dev/null +++ b/package/dbus-cpp/0002-cross-compile-tools.patch @@ -0,0 +1,34 @@ +tools: just do proper cross-compile + +Those tools are not used during the build; besides, they are installed. + +So they don't need to not be cross-compiled. + +Signed-off-by: "Yann E. MORIN" + +--- +Upstream status: not submitted, upstream is dead. + +diff -durN dbus-cpp-0.9.0.orig/tools/Makefile.am dbus-cpp-0.9.0/tools/Makefile.am +--- dbus-cpp-0.9.0.orig/tools/Makefile.am 2017-03-21 21:48:57.013409423 +0100 ++++ dbus-cpp-0.9.0/tools/Makefile.am 2017-03-21 21:49:35.329979798 +0100 +@@ -1,7 +1,3 @@ +-# hacky, but ... +- +-CXX = $(CXX_FOR_BUILD) +- + AM_CPPFLAGS = \ + $(dbus_CFLAGS) \ + $(xml_CFLAGS) \ +@@ -9,11 +3,7 @@ + -I$(top_builddir)/include \ + -Wall + +-if CROSS_COMPILING +-libdbus_cxx_la = $(BUILD_LIBDBUS_CXX_DIR)/src/libdbus-c++-1.la +-else + libdbus_cxx_la = $(top_builddir)/src/libdbus-c++-1.la +-endif + + bin_PROGRAMS = dbusxx-xml2cpp dbusxx-introspect + diff --git a/package/dbus-cpp/0002-cxxflags-ldflags-for-build.patch b/package/dbus-cpp/0002-cxxflags-ldflags-for-build.patch deleted file mode 100644 index fefb9690d3..0000000000 --- a/package/dbus-cpp/0002-cxxflags-ldflags-for-build.patch +++ /dev/null @@ -1,32 +0,0 @@ -Use CXXFLAGS_FOR_BUILD and LDFLAGS_FOR_BUILD for the tools since expat -may not be living in the default include & library path. - -Signed-off-by: Gustavo Zacarias - -diff -Nura libdbus-c++-0.9.0.orig/configure.ac libdbus-c++-0.9.0/configure.ac ---- libdbus-c++-0.9.0.orig/configure.ac 2014-01-05 15:28:03.653886567 -0300 -+++ libdbus-c++-0.9.0/configure.ac 2014-01-05 15:44:32.571172225 -0300 -@@ -65,7 +65,11 @@ - AC_PROG_CXX - - CXX_FOR_BUILD=${CXX_FOR_BUILD-${CXX}} -+CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD-${CXXFLAGS}} -+LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}} - AC_SUBST(CXX_FOR_BUILD) -+AC_SUBST(CXXFLAGS_FOR_BUILD) -+AC_SUBST(LDFLAGS_FOR_BUILD) - - AM_PROG_LIBTOOL - -diff -Nura libdbus-c++-0.9.0.orig/tools/Makefile.am libdbus-c++-0.9.0/tools/Makefile.am ---- libdbus-c++-0.9.0.orig/tools/Makefile.am 2014-01-05 15:28:03.652886535 -0300 -+++ libdbus-c++-0.9.0/tools/Makefile.am 2014-01-05 15:44:42.071482390 -0300 -@@ -1,6 +1,8 @@ - # hacky, but ... - - CXX = $(CXX_FOR_BUILD) -+CXXFLAGS = $(CXXFLAGS_FOR_BUILD) -+LDFLAGS = $(LDFLAGS_FOR_BUILD) - - AM_CPPFLAGS = \ - $(dbus_CFLAGS) \ diff --git a/package/dbus-cpp/0003-src-pipe.c-fix-build-error-with-gcc-7.x.patch b/package/dbus-cpp/0003-src-pipe.c-fix-build-error-with-gcc-7.x.patch new file mode 100644 index 0000000000..6f3e6242c7 --- /dev/null +++ b/package/dbus-cpp/0003-src-pipe.c-fix-build-error-with-gcc-7.x.patch @@ -0,0 +1,36 @@ +From 167042116f523f90911f3a28c4ec065918d56cc9 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 22 Aug 2017 00:02:52 +0200 +Subject: [PATCH] src/pipe.c: fix build error with gcc 7.x +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The write function takes a char* as argument, not a char. + +Fixes: + +pipe.cpp: In member function ‘void DBus::Pipe::signal()’: +pipe.cpp:86:29: error: invalid conversion from ‘char’ to ‘const void*’ [-fpermissive] + ::write(_fd_write, '\0', 1); + ^ + +Signed-off-by: Thomas Petazzoni +--- + src/pipe.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/pipe.cpp b/src/pipe.cpp +index 01211b3..d0572c7 100644 +--- a/src/pipe.cpp ++++ b/src/pipe.cpp +@@ -83,5 +83,5 @@ ssize_t Pipe::read(void *buffer, unsigned int &nbytes) + void Pipe::signal() + { + // TODO: ignoring return of read/write generates warning; maybe relevant for eventloop work... +- ::write(_fd_write, '\0', 1); ++ ::write(_fd_write, "\0", 1); + } +-- +2.9.4 + diff --git a/package/dbus-cpp/dbus-cpp.mk b/package/dbus-cpp/dbus-cpp.mk index 0b51967061..d8468ab803 100644 --- a/package/dbus-cpp/dbus-cpp.mk +++ b/package/dbus-cpp/dbus-cpp.mk @@ -23,7 +23,7 @@ HOST_DBUS_CPP_CONF_OPTS = \ --disable-ecore \ --disable-glib DBUS_CPP_AUTORECONF = YES -DBUS_CPP_LICENSE = LGPLv2.1+ +DBUS_CPP_LICENSE = LGPL-2.1+ DBUS_CPP_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_EFL),y) diff --git a/package/dbus-glib/dbus-glib.mk b/package/dbus-glib/dbus-glib.mk index 4a1e4b40b7..2257c8e4f9 100644 --- a/package/dbus-glib/dbus-glib.mk +++ b/package/dbus-glib/dbus-glib.mk @@ -7,7 +7,7 @@ DBUS_GLIB_VERSION = 0.108 DBUS_GLIB_SITE = http://dbus.freedesktop.org/releases/dbus-glib DBUS_GLIB_INSTALL_STAGING = YES -DBUS_GLIB_LICENSE = AFLv2.1, GPLv2+ +DBUS_GLIB_LICENSE = AFL-2.1 or GPL-2.0+ DBUS_GLIB_LICENSE_FILES = COPYING DBUS_GLIB_CONF_ENV = \ @@ -39,4 +39,4 @@ $(eval $(autotools-package)) $(eval $(host-autotools-package)) # dbus-glib for the host -DBUS_GLIB_HOST_BINARY = $(HOST_DIR)/usr/bin/dbus-binding-tool +DBUS_GLIB_HOST_BINARY = $(HOST_DIR)/bin/dbus-binding-tool diff --git a/package/dbus-python/dbus-python.mk b/package/dbus-python/dbus-python.mk index 599d019857..da04b7404f 100644 --- a/package/dbus-python/dbus-python.mk +++ b/package/dbus-python/dbus-python.mk @@ -16,14 +16,14 @@ ifeq ($(BR2_PACKAGE_PYTHON),y) DBUS_PYTHON_DEPENDENCIES += python host-python DBUS_PYTHON_CONF_ENV += \ - PYTHON=$(HOST_DIR)/usr/bin/python2 \ + PYTHON=$(HOST_DIR)/bin/python2 \ PYTHON_INCLUDES="`$(STAGING_DIR)/usr/bin/python2-config --includes`" \ PYTHON_LIBS="`$(STAGING_DIR)/usr/bin/python2-config --ldflags`" else DBUS_PYTHON_DEPENDENCIES += python3 host-python3 DBUS_PYTHON_CONF_ENV += \ - PYTHON=$(HOST_DIR)/usr/bin/python3 \ + PYTHON=$(HOST_DIR)/bin/python3 \ PYTHON_INCLUDES="`$(STAGING_DIR)/usr/bin/python3-config --includes`" \ PYTHON_LIBS="`$(STAGING_DIR)/usr/bin/python3-config --ldflags`" endif diff --git a/package/dbus-triggerd/Config.in b/package/dbus-triggerd/Config.in index a39f911fdb..331c414704 100644 --- a/package/dbus-triggerd/Config.in +++ b/package/dbus-triggerd/Config.in @@ -4,8 +4,8 @@ config BR2_PACKAGE_DBUS_TRIGGERD depends on BR2_TOOLCHAIN_HAS_THREADS # dbus depends on BR2_PACKAGE_DBUS help - dbus-triggerd is a tool to trigger shell-commands upon receiving - a given dbus-signal. + dbus-triggerd is a tool to trigger shell-commands upon + receiving a given dbus-signal. http://gareus.org/oss/dbustriggerd/start diff --git a/package/dbus-triggerd/dbus-triggerd.hash b/package/dbus-triggerd/dbus-triggerd.hash new file mode 100644 index 0000000000..aa4ad97914 --- /dev/null +++ b/package/dbus-triggerd/dbus-triggerd.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 3c6d865427bf1b93b16323c796ed6957ce6b2b6fd53f518b1b082d03b939102c dbus-triggerd-ba3dbec805cb707c94c54de21666bf18b79bcc09.tar.gz diff --git a/package/dbus-triggerd/dbus-triggerd.mk b/package/dbus-triggerd/dbus-triggerd.mk index 48d5fb29fe..7d73a6c98f 100644 --- a/package/dbus-triggerd/dbus-triggerd.mk +++ b/package/dbus-triggerd/dbus-triggerd.mk @@ -6,7 +6,8 @@ DBUS_TRIGGERD_VERSION = ba3dbec805cb707c94c54de21666bf18b79bcc09 DBUS_TRIGGERD_SITE = git://rg42.org/dbustriggerd.git -DBUS_TRIGGERD_LICENSE = GPLv2+ +DBUS_TRIGGERD_LICENSE = GPL-2.0+ +DBUS_TRIGGERD_LICENSE_FILES = dbus-triggerd.c DBUS_TRIGGERD_DEPENDENCIES = host-pkgconf dbus define DBUS_TRIGGERD_BUILD_CMDS diff --git a/package/dbus/dbus.hash b/package/dbus/dbus.hash index af8143d315..df1891b6d8 100644 --- a/package/dbus/dbus.hash +++ b/package/dbus/dbus.hash @@ -1,2 +1,5 @@ # Locally calculated after checking pgp signature -sha256 a7b0ba6ea3e8d0e08afec5e3030d0245614268276620c536726f8fa6e5c43388 dbus-1.10.16.tar.gz +# https://dbus.freedesktop.org/releases/dbus/dbus-1.12.0.tar.gz.asc +sha256 39af0d9267391434b549c5c4adc001b735518c96f7630c3fe7162af1d13ef3c0 dbus-1.12.0.tar.gz +# Locally calculated +sha256 0e46f54efb12d04ab5c33713bacd0e140c9a35b57ae29e03c853203266e8f3a1 COPYING diff --git a/package/dbus/dbus.mk b/package/dbus/dbus.mk index 2d1583e550..56a54e309c 100644 --- a/package/dbus/dbus.mk +++ b/package/dbus/dbus.mk @@ -4,9 +4,9 @@ # ################################################################################ -DBUS_VERSION = 1.10.16 -DBUS_SITE = http://dbus.freedesktop.org/releases/dbus -DBUS_LICENSE = AFLv2.1 or GPLv2+ (library, tools), GPLv2+ (tools) +DBUS_VERSION = 1.12.0 +DBUS_SITE = https://dbus.freedesktop.org/releases/dbus +DBUS_LICENSE = AFL-2.1 or GPL-2.0+ (library, tools), GPL-2.0+ (tools) DBUS_LICENSE_FILES = COPYING DBUS_INSTALL_STAGING = YES @@ -20,20 +20,15 @@ endef DBUS_DEPENDENCIES = host-pkgconf expat -DBUS_CONF_ENV = ac_cv_have_abstract_sockets=yes DBUS_CONF_OPTS = \ --with-dbus-user=dbus \ --disable-tests \ --disable-asserts \ - --enable-abstract-sockets \ - --disable-selinux \ --disable-xml-docs \ --disable-doxygen-docs \ - --disable-dnotify \ --with-xml=expat \ --with-system-socket=/var/run/dbus/system_bus_socket \ - --with-system-pid-file=/var/run/messagebus.pid \ - --with-init-scripts=none + --with-system-pid-file=/var/run/messagebus.pid ifeq ($(BR2_STATIC_LIBS),y) DBUS_CONF_OPTS += LIBS='-pthread' @@ -82,7 +77,7 @@ define DBUS_REMOVE_VAR_LIB_DBUS rm -rf $(TARGET_DIR)/var/lib/dbus endef -DBUS_POST_BUILD_HOOKS += DBUS_REMOVE_VAR_LIB_DBUS +DBUS_PRE_INSTALL_TARGET_HOOKS += DBUS_REMOVE_VAR_LIB_DBUS define DBUS_REMOVE_DEVFILES rm -rf $(TARGET_DIR)/usr/lib/dbus-1.0 @@ -109,11 +104,9 @@ HOST_DBUS_CONF_OPTS = \ --with-dbus-user=dbus \ --disable-tests \ --disable-asserts \ - --enable-abstract-sockets \ --disable-selinux \ --disable-xml-docs \ --disable-doxygen-docs \ - --enable-dnotify \ --without-x \ --with-xml=expat @@ -121,7 +114,7 @@ HOST_DBUS_CONF_OPTS = \ DBUS_HOST_INTROSPECT = $(HOST_DBUS_DIR)/introspect.xml HOST_DBUS_GEN_INTROSPECT = \ - $(HOST_DIR)/usr/bin/dbus-daemon --introspect > $(DBUS_HOST_INTROSPECT) + $(HOST_DIR)/bin/dbus-daemon --introspect > $(DBUS_HOST_INTROSPECT) HOST_DBUS_POST_INSTALL_HOOKS += HOST_DBUS_GEN_INTROSPECT diff --git a/package/dc3dd/0001-no_man.patch b/package/dc3dd/0001-no_man.patch new file mode 100644 index 0000000000..9fefc8ca61 --- /dev/null +++ b/package/dc3dd/0001-no_man.patch @@ -0,0 +1,15 @@ +Remove the man directory to the subdirs to prevent building the man pages + +Signed-off-by: Benoît Allard + +--- a/Makefile.am 2017-03-27 09:53:19.988820588 +0200 ++++ b/Makefile.am 2017-03-27 09:54:14.325817466 +0200 +@@ -15,7 +15,7 @@ + # You should have received a copy of the GNU General Public License + # along with this program. If not, see . + +-SUBDIRS = lib src man po ++SUBDIRS = lib src po + EXTRA_DIST = cfg.mk maint.mk \ + .prev-version THANKS-to-translators THANKStt.in \ + .version \ diff --git a/package/dc3dd/0002-fix-autoreconf.patch b/package/dc3dd/0002-fix-autoreconf.patch new file mode 100644 index 0000000000..85e0a365ae --- /dev/null +++ b/package/dc3dd/0002-fix-autoreconf.patch @@ -0,0 +1,32 @@ +Remove use of AM_C_PROTOTYPES to fix autoreconf + +The AM_C_PROTOTYPES macro no longer exists since automake 1.12. It +existed to support de-ANSI-fication of code using ansi2knr. It was +simply removed from coreutils m4/jm-macros.m4 in commit +88873501cff9ed937edf969cedd693517ab0a293, but this change was not +propagated to dc3dd, causing an autoreconf failure: + +configure.ac:45: error: automatic de-ANSI-fication support has been removed +/home/peko/autobuild/instance-0/output/host/usr/share/aclocal-1.15/obsolete.m4:26: AM_C_PROTOTYPES is expanded from... +m4/jm-macros.m4:124: gl_CHECK_ALL_TYPES is expanded from... +m4/jm-macros.m4:22: coreutils_MACROS is expanded from... +configure.ac:45: the top level + +Signed-off-by: Thomas Petazzoni + +Index: b/m4/jm-macros.m4 +=================================================================== +--- a/m4/jm-macros.m4 ++++ b/m4/jm-macros.m4 +@@ -128,11 +128,6 @@ + dnl whether functions and headers are available, whether they work, etc. + AC_REQUIRE([AC_SYS_LARGEFILE]) + +- dnl This test must precede tests of compiler characteristics like +- dnl that for the inline keyword, since it may change the degree to +- dnl which the compiler supports such features. +- AC_REQUIRE([AM_C_PROTOTYPES]) +- + dnl Checks for typedefs, structures, and compiler characteristics. + AC_REQUIRE([AC_C_BIGENDIAN]) + AC_REQUIRE([AC_C_VOLATILE]) diff --git a/package/dc3dd/Config.in b/package/dc3dd/Config.in new file mode 100644 index 0000000000..0383897cd5 --- /dev/null +++ b/package/dc3dd/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_DC3DD + bool "dc3dd" + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_USES_MUSL + help + dc3dd is a patch to the GNU dd program, this version has + several features intended for forensic acquisition of data. + Highlights include hashing on-the-fly, split output files, + pattern writing, a progress meter, and file verification. + + https://sourceforge.net/projects/dc3dd/ + +comment "dc3dd needs a glibc or uClibc toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS || \ + BR2_TOOLCHAIN_USES_MUSL diff --git a/package/dc3dd/dc3dd.hash b/package/dc3dd/dc3dd.hash new file mode 100644 index 0000000000..5490d8d3f7 --- /dev/null +++ b/package/dc3dd/dc3dd.hash @@ -0,0 +1,4 @@ +# From https://sourceforge.net/projects/dc3dd/files/dc3dd/7.2/ +sha1 1bfe81a921a8473a6ecb46f328ecaab761afb55d dc3dd-7.2.641.tar.xz +# Locally computed +sha256 7f50aadc38649845ab11014d11013928411c9d2128c941e9630939d4c28cae6d dc3dd-7.2.641.tar.xz diff --git a/package/dc3dd/dc3dd.mk b/package/dc3dd/dc3dd.mk new file mode 100644 index 0000000000..cc89bb63d0 --- /dev/null +++ b/package/dc3dd/dc3dd.mk @@ -0,0 +1,18 @@ +################################################################################ +# +# dc3dd +# +################################################################################ + +DC3DD_VERSION_MAJOR = 7.2 +DC3DD_VERSION = $(DC3DD_VERSION_MAJOR).641 +DC3DD_SOURCE = dc3dd-$(DC3DD_VERSION).tar.xz +DC3DD_SITE = https://downloads.sourceforge.net/project/dc3dd/dc3dd/$(DC3DD_VERSION_MAJOR) +DC3DD_LICENSE = GPL-3.0+ +DC3DD_LICENSE_FILES = COPYING +# We are patching Makefile.am, so we need to autoreconf. We also need to +# enable gettextize as dc3dd comes with an old gettext infra. +DC3DD_AUTORECONF = YES +DC3DD_GETTEXTIZE = YES + +$(eval $(autotools-package)) diff --git a/package/ddrescue/Config.in b/package/ddrescue/Config.in index 2ec3e7e303..a58561cb9b 100644 --- a/package/ddrescue/Config.in +++ b/package/ddrescue/Config.in @@ -2,9 +2,9 @@ config BR2_PACKAGE_DDRESCUE bool "ddrescue" depends on BR2_INSTALL_LIBSTDCPP help - GNU ddrescue is a data recovery tool. It copies data from one file - or block device (hard disc, cdrom, etc) to another, trying to - rescue the good parts first in case of read errors. + GNU ddrescue is a data recovery tool. It copies data from one + file or block device (hard disc, cdrom, etc) to another, + trying to rescue the good parts first in case of read errors. http://www.gnu.org/software/ddrescue/ddrescue.html diff --git a/package/ddrescue/ddrescue.mk b/package/ddrescue/ddrescue.mk index 4e244e6bda..9432e7a16d 100644 --- a/package/ddrescue/ddrescue.mk +++ b/package/ddrescue/ddrescue.mk @@ -7,7 +7,7 @@ DDRESCUE_VERSION = 1.22 DDRESCUE_SOURCE = ddrescue-$(DDRESCUE_VERSION).tar.lz DDRESCUE_SITE = http://download.savannah.gnu.org/releases/ddrescue -DDRESCUE_LICENSE = GPLv2+ +DDRESCUE_LICENSE = GPL-2.0+ DDRESCUE_LICENSE_FILES = COPYING define DDRESCUE_CONFIGURE_CMDS diff --git a/package/debianutils/debianutils.mk b/package/debianutils/debianutils.mk index 83cf744413..86f201da1c 100644 --- a/package/debianutils/debianutils.mk +++ b/package/debianutils/debianutils.mk @@ -10,7 +10,7 @@ DEBIANUTILS_SITE = http://snapshot.debian.org/archive/debian/20161118T033019Z/po DEBIANUTILS_CONF_OPTS = --exec-prefix=/ # Make sure we override the busybox tools, such as which DEBIANUTILS_DEPENDENCIES = $(if $(BR2_PACKAGE_BUSYBOX),busybox) -DEBIANUTILS_LICENSE = GPLv2+, SMAIL (savelog) +DEBIANUTILS_LICENSE = GPL-2.0+, SMAIL (savelog) DEBIANUTILS_LICENSE_FILES = debian/copyright $(eval $(autotools-package)) diff --git a/package/dejavu/dejavu.hash b/package/dejavu/dejavu.hash index 37868c13d8..db7365a1c3 100644 --- a/package/dejavu/dejavu.hash +++ b/package/dejavu/dejavu.hash @@ -1,2 +1,2 @@ -# From http://dejavu-fonts.org/wiki/Download -sha256 f6d7965586101ff3a8a5c3ec503e082bb6a9604ff53413e10702e5917c194d88 dejavu-fonts-ttf-2.35.tar.bz2 +# From https://dejavu-fonts.github.io/Download.html +sha256 fa9ca4d13871dd122f61258a80d01751d603b4d3ee14095d65453b4e846e17d7 dejavu-fonts-ttf-2.37.tar.bz2 diff --git a/package/dejavu/dejavu.mk b/package/dejavu/dejavu.mk index 3dbcc94e16..9b57f0992e 100644 --- a/package/dejavu/dejavu.mk +++ b/package/dejavu/dejavu.mk @@ -4,8 +4,8 @@ # ################################################################################ -DEJAVU_VERSION = 2.35 -DEJAVU_SITE = http://sourceforge.net/projects/dejavu/files/dejavu/$(DEJAVU_VERSION) +DEJAVU_VERSION = 2.37 +DEJAVU_SITE = https://sourceforge.net/projects/dejavu/files/dejavu/$(DEJAVU_VERSION) DEJAVU_SOURCE = dejavu-fonts-ttf-$(DEJAVU_VERSION).tar.bz2 DEJAVU_LICENSE_FILES = LICENSE diff --git a/package/devmem2/devmem2.hash b/package/devmem2/devmem2.hash index fff5306b7e..aa638d631d 100644 --- a/package/devmem2/devmem2.hash +++ b/package/devmem2/devmem2.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 3b15515693bae1ebd14d914e46d388edfec2175829ea1576a7a0c8606ebbe639 devmem2.c +sha256 560913d09310d446920c16bd0aca1ff21d3b6fedd527195bacfc832ce343e0ae devmem2.c.license diff --git a/package/devmem2/devmem2.mk b/package/devmem2/devmem2.mk index 7f0594e21c..eb92db6098 100644 --- a/package/devmem2/devmem2.mk +++ b/package/devmem2/devmem2.mk @@ -7,13 +7,18 @@ DEVMEM2_SITE = http://free-electrons.com/pub/mirror DEVMEM2_SOURCE = devmem2.c DEVMEM2_VERSION = 1 -DEVMEM2_LICENSE = GPLv2+ -DEVMEM2_LICENSE_FILES = devmem2.c +DEVMEM2_LICENSE = GPL-2.0+ +DEVMEM2_LICENSE_FILES = devmem2.c.license define DEVMEM2_EXTRACT_CMDS cp $(DL_DIR)/$($(PKG)_SOURCE) $(@D)/ endef +define DEVMEM2_EXTRACT_LICENSE + head -n 38 $(@D)/devmem2.c >$(@D)/devmem2.c.license +endef +DEVMEM2_PRE_PATCH_HOOKS += DEVMEM2_EXTRACT_LICENSE + define DEVMEM2_BUILD_CMDS $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) devmem2 endef diff --git a/package/dfu-util/Config.in b/package/dfu-util/Config.in new file mode 100644 index 0000000000..2f45fcd6b7 --- /dev/null +++ b/package/dfu-util/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_DFU_UTIL + bool "dfu-util" + select BR2_PACKAGE_LIBUSB + depends on BR2_TOOLCHAIN_HAS_THREADS + help + Dfu-util is the host side implementation of the DFU 1.0 + specification of the USB forum. DFU is intended to download + and upload firmware to devices connected over USB. + + http://dfu-util.sourceforge.net/ + +comment "dfu-util needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/dfu-util/dfu-util.mk b/package/dfu-util/dfu-util.mk index 079f875930..5e8ba5a8f2 100644 --- a/package/dfu-util/dfu-util.mk +++ b/package/dfu-util/dfu-util.mk @@ -6,9 +6,11 @@ DFU_UTIL_VERSION = 0.9 DFU_UTIL_SITE = http://dfu-util.sourceforge.net/releases -DFU_UTIL_LICENSE = GPLv2+ +DFU_UTIL_LICENSE = GPL-2.0+ DFU_UTIL_LICENSE_FILES = COPYING +DFU_UTIL_DEPENDENCIES = libusb HOST_DFU_UTIL_DEPENDENCIES = host-libusb +$(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/dhcp/Config.in b/package/dhcp/Config.in index 4a3049584d..5340830902 100644 --- a/package/dhcp/Config.in +++ b/package/dhcp/Config.in @@ -12,6 +12,7 @@ if BR2_PACKAGE_DHCP config BR2_PACKAGE_DHCP_SERVER bool "dhcp server" + select BR2_PACKAGE_SYSTEMD_TMPFILES if BR2_PACKAGE_SYSTEMD help DHCP server from the ISC DHCP distribution. @@ -26,7 +27,6 @@ config BR2_PACKAGE_DHCP_RELAY help DHCP relay agent from the ISC DHCP distribution. - config BR2_PACKAGE_DHCP_CLIENT bool "dhcp client" help diff --git a/package/dhcp/dhcp.mk b/package/dhcp/dhcp.mk index 4d2cb06352..45cae087aa 100644 --- a/package/dhcp/dhcp.mk +++ b/package/dhcp/dhcp.mk @@ -102,6 +102,7 @@ define DHCP_INSTALL_INIT_SYSTEMD ln -sf ../../../../usr/lib/systemd/system/dhcpd.service \ $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/dhcpd.service + mkdir -p $(TARGET_DIR)/usr/lib/tmpfiles.d echo "d /var/lib/dhcp 0755 - - - -" > \ $(TARGET_DIR)/usr/lib/tmpfiles.d/dhcpd.conf echo "f /var/lib/dhcp/dhcpd.leases - - - - -" >> \ diff --git a/package/dhcpcd/S41dhcpcd b/package/dhcpcd/S41dhcpcd new file mode 100755 index 0000000000..a2e87ca054 --- /dev/null +++ b/package/dhcpcd/S41dhcpcd @@ -0,0 +1,34 @@ +#!/bin/sh +# +# Start/stop dhcpcd +# + +DAEMON=/sbin/dhcpcd +CONFIG=/etc/dhcpcd.conf +PIDFILE=/var/run/dhcpcd.pid + +[ -x $DAEMON ] || exit 0 +[ -f $CONFIG ] || exit 0 + +case "$1" in + start) + echo "Starting dhcpcd..." + start-stop-daemon -S -x "$DAEMON" -p "$PIDFILE" -- -f "$CONFIG" + ;; + stop) + echo "Stopping dhcpcd..." + start-stop-daemon -K -x "$DAEMON" -p "$PIDFILE" -o + ;; + reload|force-reload) + echo "Reloading dhcpcd configuration..." + "$DAEMON" -s reload + ;; + restart) + "$0" stop + sleep 1 # Prevent race condition: ensure dhcpcd stops before start. + "$0" start + ;; + *) + echo "Usage: $0 {start|stop|restart|reload|force-reload}" + exit 1 +esac diff --git a/package/dhcpcd/dhcpcd.mk b/package/dhcpcd/dhcpcd.mk index 2d446fb7f1..dc5c69b86b 100644 --- a/package/dhcpcd/dhcpcd.mk +++ b/package/dhcpcd/dhcpcd.mk @@ -8,7 +8,7 @@ DHCPCD_VERSION = 6.11.5 DHCPCD_SOURCE = dhcpcd-$(DHCPCD_VERSION).tar.xz DHCPCD_SITE = http://roy.marples.name/downloads/dhcpcd DHCPCD_DEPENDENCIES = host-pkgconf -DHCPCD_LICENSE = BSD-2c +DHCPCD_LICENSE = BSD-2-Clause DHCPCD_LICENSE_FILES = dhcpcd.c ifeq ($(BR2_STATIC_LIBS),y) @@ -36,6 +36,19 @@ define DHCPCD_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install DESTDIR=$(TARGET_DIR) endef +define DHCPCD_INSTALL_INIT_SYSV + $(INSTALL) -m 755 -D package/dhcpcd/S41dhcpcd \ + $(TARGET_DIR)/etc/init.d/S41dhcpcd +endef + +define DHCPCD_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 0644 package/dhcpcd/dhcpcd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/dhcpcd.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf ../../../../usr/lib/systemd/system/dhcpcd.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/dhcpcd.service +endef + # NOTE: Even though this package has a configure script, it is not generated # using the autotools, so we have to use the generic package infrastructure. diff --git a/package/dhcpcd/dhcpcd.service b/package/dhcpcd/dhcpcd.service new file mode 100644 index 0000000000..0552b5c73a --- /dev/null +++ b/package/dhcpcd/dhcpcd.service @@ -0,0 +1,13 @@ +[Unit] +Description=DHCP client +After=network.target + +[Service] +Type=forking +EnvironmentFile=-/etc/default/dhcpcd +PIDFile=/var/run/dhcpcd.pid +ExecStart=/sbin/dhcpcd $DAEMON_ARGS +Restart=always + +[Install] +WantedBy=multi-user.target diff --git a/package/dhcpdump/dhcpdump.mk b/package/dhcpdump/dhcpdump.mk index 3584f4f22d..96f231962d 100644 --- a/package/dhcpdump/dhcpdump.mk +++ b/package/dhcpdump/dhcpdump.mk @@ -7,7 +7,7 @@ DHCPDUMP_VERSION = 1.8 DHCPDUMP_SITE = http://www.mavetju.org/download DHCPDUMP_DEPENDENCIES = libpcap -DHCPDUMP_LICENSE = BSD-2c +DHCPDUMP_LICENSE = BSD-2-Clause DHCPDUMP_LICENSE_FILES = LICENSE DHCPDUMP_LIBS = -lpcap diff --git a/package/dialog/Config.in b/package/dialog/Config.in index 73b71766e7..830427e53d 100644 --- a/package/dialog/Config.in +++ b/package/dialog/Config.in @@ -6,8 +6,9 @@ config BR2_PACKAGE_DIALOG help dialog - display dialog boxes from shell scripts - This application provides a method of displaying several different - types of dialog boxes from shell scripts. This allows a developer - of a script to interact with the user in a much friendlier manner. + This application provides a method of displaying several + different types of dialog boxes from shell scripts. This + allows a developer of a script to interact with the user in a + much friendlier manner. http://invisible-island.net/dialog/dialog.html diff --git a/package/dialog/dialog.hash b/package/dialog/dialog.hash index 75a79189c8..ac42784690 100644 --- a/package/dialog/dialog.hash +++ b/package/dialog/dialog.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 1d98ec7cc81f11f9019fa0b90f1afdaa86579cae1ce8869a6fd61deb9d4b887a dialog-1.2-20150125.tgz +sha256 2ff1ba74c632b9d13a0d0d2c942295dd4e8909694eeeded7908a467d0bcd4756 dialog-1.3-20170509.tgz diff --git a/package/dialog/dialog.mk b/package/dialog/dialog.mk index f207f75704..73fabe07cf 100644 --- a/package/dialog/dialog.mk +++ b/package/dialog/dialog.mk @@ -4,13 +4,13 @@ # ################################################################################ -DIALOG_VERSION = 1.2-20150125 +DIALOG_VERSION = 1.3-20170509 DIALOG_SOURCE = dialog-$(DIALOG_VERSION).tgz -DIALOG_SITE = ftp://invisible-island.net/dialog +DIALOG_SITE = ftp://ftp.invisible-island.net/dialog DIALOG_CONF_OPTS = --with-ncurses --with-curses-dir=$(STAGING_DIR)/usr \ --disable-rpath-hack DIALOG_DEPENDENCIES = host-pkgconf ncurses -DIALOG_LICENSE = LGPLv2.1 +DIALOG_LICENSE = LGPL-2.1 DIALOG_LICENSE_FILES = COPYING ifneq ($(BR2_ENABLE_LOCALE),y) diff --git a/package/dieharder/0001-Do-not-use-includedir-as-include-search-path-for-bui.patch b/package/dieharder/0001-Do-not-use-includedir-as-include-search-path-for-bui.patch new file mode 100644 index 0000000000..b475e5c470 --- /dev/null +++ b/package/dieharder/0001-Do-not-use-includedir-as-include-search-path-for-bui.patch @@ -0,0 +1,62 @@ +From fbc9b7c3b83a99ac996c0a268487d1f800630328 Mon Sep 17 00:00:00 2001 +From: Julien Viard de Galbert +Date: Wed, 8 Feb 2017 21:26:58 +0100 +Subject: [PATCH] Do not use includedir as include search path for build + +--includedir is not used to specify where a program should +look for headers of libraries, but to tell where it should +install its own headers. + +Signed-off-by: Julien Viard de Galbert +--- + configure.ac | 6 +++--- + dieharder/Makefile.am | 2 +- + libdieharder/Makefile.am | 2 +- + 3 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/configure.ac b/configure.ac +index b336115..91f7c64 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -96,9 +96,9 @@ AC_TYPE_SIZE_T + AC_C_VOLATILE + AC_C_INLINE + +-DIEHARDER_CFLAGS="-I$includedir" +-dieharder_CFLAGS="-std=c99 -Wall -pedantic -I$includedir" +-libdieharder_lo_CFLAGS="-Wall -pedantic -I$includedir" ++DIEHARDER_CFLAGS="" ++dieharder_CFLAGS="-std=c99 -Wall -pedantic" ++libdieharder_lo_CFLAGS="-Wall -pedantic" + DIEHARDER_LIBS="-L$libdir -ldieharder" + ACLOCAL_AMFLAGS="-I m4" + +diff --git a/dieharder/Makefile.am b/dieharder/Makefile.am +index e6fbff2..7bdac5c 100644 +--- a/dieharder/Makefile.am ++++ b/dieharder/Makefile.am +@@ -64,7 +64,7 @@ DEFINES = -DVERSION=$(VERSION) + # CC = gcc + + # Compile flags (use fairly standard -O3 as default) +-AM_CPPFLAGS = -I ${top_srcdir}/include $(DEFINES) -I ${includedir} ++AM_CPPFLAGS = -I ${top_srcdir}/include $(DEFINES) + AM_CFLAGS = -O3 + + # Load flags (optional) +diff --git a/libdieharder/Makefile.am b/libdieharder/Makefile.am +index 5fd3396..0873f9c 100644 +--- a/libdieharder/Makefile.am ++++ b/libdieharder/Makefile.am +@@ -114,7 +114,7 @@ DEFINES = -DVERSION=$(VERSION) -DLITTLE_ENDIAN=$(LITTLE_ENDIAN) + # CC = gcc + + # Compile flags (use fairly standard -O3 as default) +-AM_CPPFLAGS = $(DEFINES) -I ${top_srcdir}/include -I ${includedir} ++AM_CPPFLAGS = $(DEFINES) -I ${top_srcdir}/include + AM_CFLAGS = -O3 -Wall -pedantic -Wno-unused-variable + + #======================================================================== +-- +2.1.4 + diff --git a/package/dieharder/0002-Fix-missing-type-intptr_t.patch b/package/dieharder/0002-Fix-missing-type-intptr_t.patch new file mode 100644 index 0000000000..12ea5e7fa0 --- /dev/null +++ b/package/dieharder/0002-Fix-missing-type-intptr_t.patch @@ -0,0 +1,27 @@ +From 6f550841943f19612af064b3d3a1db134078e03c Mon Sep 17 00:00:00 2001 +From: Julien Viard de Galbert +Date: Sat, 14 Jan 2017 14:18:10 +0100 +Subject: [PATCH] Fix missing type intptr_t + +With glibc-2.23 unistd.h need intptr_t when __USE_MISC is defined. + +Signed-off-by: Julien Viard de Galbert +--- + include/dieharder/libdieharder.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/include/dieharder/libdieharder.h b/include/dieharder/libdieharder.h +index 2138ebf..d98b758 100644 +--- a/include/dieharder/libdieharder.h ++++ b/include/dieharder/libdieharder.h +@@ -17,6 +17,7 @@ + + /* This turns on uint macro in c99 */ + #define __USE_MISC 1 ++#include + #include + #include + #include +-- +2.1.4 + diff --git a/package/dieharder/0003-Add-_GNU_SOURCE-for-uint-and-M_PI-with-musl-libc.patch b/package/dieharder/0003-Add-_GNU_SOURCE-for-uint-and-M_PI-with-musl-libc.patch new file mode 100644 index 0000000000..d71cd57445 --- /dev/null +++ b/package/dieharder/0003-Add-_GNU_SOURCE-for-uint-and-M_PI-with-musl-libc.patch @@ -0,0 +1,28 @@ +From 526510a27ef47a16699dd34a2373ad9b6bb5e8f3 Mon Sep 17 00:00:00 2001 +From: Julien Viard de Galbert +Date: Sat, 14 Jan 2017 14:19:47 +0100 +Subject: [PATCH] Add _GNU_SOURCE for uint and M_PI with musl libc + +When building with musl libc _GNU_SOURCE need to be defined +to provide uint type and M_PI macro + +Signed-off-by: Julien Viard de Galbert +--- + include/dieharder/libdieharder.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/include/dieharder/libdieharder.h b/include/dieharder/libdieharder.h +index d98b758..c1a5023 100644 +--- a/include/dieharder/libdieharder.h ++++ b/include/dieharder/libdieharder.h +@@ -17,6 +17,7 @@ + + /* This turns on uint macro in c99 */ + #define __USE_MISC 1 ++#define _GNU_SOURCE 1 + #include + #include + #include +-- +2.1.4 + diff --git a/package/dieharder/0004-Add-static-to-inline-functions.patch b/package/dieharder/0004-Add-static-to-inline-functions.patch new file mode 100644 index 0000000000..64cde1d21d --- /dev/null +++ b/package/dieharder/0004-Add-static-to-inline-functions.patch @@ -0,0 +1,65 @@ +From 9c71a211dcf20f53f747326f5bc3fee9fabe3f52 Mon Sep 17 00:00:00 2001 +From: Julien Viard de Galbert +Date: Tue, 27 Jun 2017 00:16:11 +0200 +Subject: [PATCH] Add static to inline functions + +This is needed to avoid a link error where the inline functions appear +missing at link time. +From c99 standard inline function should either be declared static or +have an extern instance in a c file for linking. +This fix is necessary to build with gcc 7; for some reason it was not +trigerred before. + +Signed-off-by: Julien Viard de Galbert +--- + libdieharder/dab_filltree.c | 4 ++-- + libdieharder/dab_filltree2.c | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/libdieharder/dab_filltree.c b/libdieharder/dab_filltree.c +index 9cc5ce7..a377c3d 100644 +--- a/libdieharder/dab_filltree.c ++++ b/libdieharder/dab_filltree.c +@@ -34,7 +34,7 @@ static double targetData[] = { + 0.0, 0.0, 0.0, 0.0, 0.13333333, 0.20000000, 0.20634921, 0.17857143, 0.13007085, 0.08183633, 0.04338395, 0.01851828, 0.00617270, 0.00151193, 0.00023520, 0.00001680, 0.00000000, 0.00000000, 0.00000000, 0.00000000 + }; + +-inline int insert(double x, double *array, unsigned int startVal); ++static inline int insert(double x, double *array, unsigned int startVal); + + int dab_filltree(Test **test,int irun) { + int size = (ntuple == 0) ? 32 : ntuple; +@@ -105,7 +105,7 @@ int dab_filltree(Test **test,int irun) { + } + + +-inline int insert(double x, double *array, unsigned int startVal) { ++static inline int insert(double x, double *array, unsigned int startVal) { + uint d = (startVal + 1) / 2; + uint i = startVal; + while (d > 0) { +diff --git a/libdieharder/dab_filltree2.c b/libdieharder/dab_filltree2.c +index 1e33af2..59cbd52 100644 +--- a/libdieharder/dab_filltree2.c ++++ b/libdieharder/dab_filltree2.c +@@ -92,7 +92,7 @@ static double targetData[128] = { // size=128, generated from 6e9 samples + 0.00000000000e+00,0.00000000000e+00,0.00000000000e+00,0.00000000000e+00, + }; + +-inline int insertBit(uint x, uchar *array, uint *i, uint *d); ++static inline int insertBit(uint x, uchar *array, uint *i, uint *d); + + int dab_filltree2(Test **test, int irun) { + int size = (ntuple == 0) ? 128 : ntuple; +@@ -181,7 +181,7 @@ int dab_filltree2(Test **test, int irun) { + * The function returns >= 0 if the path went too deep; the + * returned value is the last position of the path. + */ +-inline int insertBit(uint x, uchar *array, uint *i, uint *d) { ++static inline int insertBit(uint x, uchar *array, uint *i, uint *d) { + if (x != 0) { + *i += *d; + } else { +-- +2.13.2 + diff --git a/package/dieharder/Config.in b/package/dieharder/Config.in new file mode 100644 index 0000000000..e7a9f54610 --- /dev/null +++ b/package/dieharder/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_DIEHARDER + bool "dieharder" + select BR2_PACKAGE_GSL + help + dieharder is a fairly involved random number/uniform deviate + generator tester. It is thus suitable for use in testing + both software RNG's and hardware RNG's. + + http://www.phy.duke.edu/~rgb/General/dieharder.php diff --git a/package/dieharder/dieharder.hash b/package/dieharder/dieharder.hash new file mode 100644 index 0000000000..eefe4b71de --- /dev/null +++ b/package/dieharder/dieharder.hash @@ -0,0 +1,2 @@ +# Locally computed: +sha256 6cff0ff8394c553549ac7433359ccfc955fb26794260314620dfa5e4cd4b727f dieharder-3.31.1.tgz diff --git a/package/dieharder/dieharder.mk b/package/dieharder/dieharder.mk new file mode 100644 index 0000000000..c3eee64553 --- /dev/null +++ b/package/dieharder/dieharder.mk @@ -0,0 +1,39 @@ +################################################################################ +# +# dieharder +# +################################################################################ + +DIEHARDER_VERSION = 3.31.1 +DIEHARDER_SITE = http://www.phy.duke.edu/~rgb/General/dieharder +DIEHARDER_SOURCE = dieharder-$(DIEHARDER_VERSION).tgz +DIEHARDER_STRIP_COMPONENTS = 2 +DIEHARDER_LICENSE = GPL-2.0 with beverage clause +DIEHARDER_LICENSE_FILES = COPYING +DIEHARDER_DEPENDENCIES = gsl + +# The original configure does not use variables provided in the +# environment so _CONF_ENV does not work. (_CONF_OPTS does). +# +# Finally, we patch configure.ac and some Makefile.am so we need to +# autoreconf anyway +DIEHARDER_AUTORECONF = YES + +# The m4/*.m4 files are symlinks to /usr/share, which clearly doesn't +# work, and doing an autoreconf does not replace them. +define DIEHARDER_M4_CLEAN + rm -f $(@D)/m4/*.m4 +endef +DIEHARDER_POST_PATCH_HOOKS += DIEHARDER_M4_CLEAN + +# fix endianness detection +ifeq ($(BR2_ENDIAN),"BIG") +DIEHARDER_CONF_ENV = ac_cv_c_endian=big +else +DIEHARDER_CONF_ENV = ac_cv_c_endian=little +endif + +# parallel build fail, disable it +DIEHARDER_MAKE = $(MAKE1) + +$(eval $(autotools-package)) diff --git a/package/diffutils/Config.in b/package/diffutils/Config.in index 97cb38b8f8..3c38f25ffd 100644 --- a/package/diffutils/Config.in +++ b/package/diffutils/Config.in @@ -2,7 +2,6 @@ config BR2_PACKAGE_DIFFUTILS bool "diffutils" depends on BR2_USE_WCHAR depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE help GNU diff. Compare files per line. diff --git a/package/diffutils/diffutils.hash b/package/diffutils/diffutils.hash index 7e99f1fc65..5506ab275a 100644 --- a/package/diffutils/diffutils.hash +++ b/package/diffutils/diffutils.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 dad398ccd5b9faca6b0ab219a036453f62a602a56203ac659b43e889bec35533 diffutils-3.5.tar.xz +sha256 d621e8bdd4b573918c8145f7ae61817d1be9deb4c8d2328a65cea8e11d783bd6 diffutils-3.6.tar.xz diff --git a/package/diffutils/diffutils.mk b/package/diffutils/diffutils.mk index d3e608ce05..79785d6f01 100644 --- a/package/diffutils/diffutils.mk +++ b/package/diffutils/diffutils.mk @@ -4,13 +4,19 @@ # ################################################################################ -DIFFUTILS_VERSION = 3.5 +DIFFUTILS_VERSION = 3.6 DIFFUTILS_SOURCE = diffutils-$(DIFFUTILS_VERSION).tar.xz DIFFUTILS_SITE = $(BR2_GNU_MIRROR)/diffutils -DIFFUTILS_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) -DIFFUTILS_LICENSE = GPLv3+ +DIFFUTILS_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) +DIFFUTILS_LICENSE = GPL-3.0+ DIFFUTILS_LICENSE_FILES = COPYING +# Since glibc >= 2.26, don't try to use getopt_long replacement bundled +# with diffutils. It will conflict with the one from glibc. +ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y) +DIFFUTILS_CONF_ENV += gl_cv_func_getopt_gnu=yes +endif + ifeq ($(BR2_PACKAGE_BUSYBOX),y) DIFFUTILS_DEPENDENCIES += busybox endif diff --git a/package/dillo/dillo.mk b/package/dillo/dillo.mk index 01ab4f5c8f..a6885f5c14 100644 --- a/package/dillo/dillo.mk +++ b/package/dillo/dillo.mk @@ -7,7 +7,7 @@ DILLO_VERSION = 3.0.5 DILLO_SOURCE = dillo-$(DILLO_VERSION).tar.bz2 DILLO_SITE = http://www.dillo.org/download -DILLO_LICENSE = GPLv3+ +DILLO_LICENSE = GPL-3.0+ DILLO_LICENSE_FILES = COPYING # configure.ac gets patched, so autoreconf is necessary DILLO_AUTORECONF = YES diff --git a/package/ding-libs/Config.in b/package/ding-libs/Config.in index 7af75b7b94..6dc2a80f82 100644 --- a/package/ding-libs/Config.in +++ b/package/ding-libs/Config.in @@ -1,8 +1,6 @@ config BR2_PACKAGE_DING_LIBS bool "ding-libs" - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE - depends on BR2_USE_WCHAR || !BR2_NEEDS_GETTEXT help The ding-libs packages contain a set of libraries used by the System Security Services Daemon (SSSD) and other @@ -16,7 +14,3 @@ config BR2_PACKAGE_DING_LIBS structure (libini_config). https://git.fedorahosted.org/git/ding-libs.git - -comment "ding-libs needs a toolchain w/ wchar" - depends on BR2_NEEDS_GETTEXT - depends on !BR2_USE_WCHAR diff --git a/package/ding-libs/ding-libs.mk b/package/ding-libs/ding-libs.mk index 5b842ffa0e..e9508ccf9e 100644 --- a/package/ding-libs/ding-libs.mk +++ b/package/ding-libs/ding-libs.mk @@ -8,10 +8,10 @@ DING_LIBS_VERSION = 0_4_0 DING_LIBS_SOURCE = ding_libs-$(DING_LIBS_VERSION).tar.xz DING_LIBS_SITE = https://git.fedorahosted.org/cgit/ding-libs.git/snapshot DING_LIBS_DEPENDENCIES = host-pkgconf \ - $(if $(BR2_PACKAGE_GETTEXT),gettext) \ + $(TARGET_NLS_DEPENDENCIES) \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) DING_LIBS_INSTALL_STAGING = YES -DING_LIBS_LICENSE = LGPLv3+ (library),GPLv3+ (test programs) +DING_LIBS_LICENSE = LGPL-3.0+ (library),GPL-3.0+ (test programs) DING_LIBS_LICENSE_FILES = COPYING COPYING.LESSER # autoconf/automake generated files not present in tarball diff --git a/package/directfb-examples/Config.in b/package/directfb-examples/Config.in index eef9f5c041..216e036577 100644 --- a/package/directfb-examples/Config.in +++ b/package/directfb-examples/Config.in @@ -2,8 +2,8 @@ config BR2_PACKAGE_DIRECTFB_EXAMPLES bool "directfb examples" depends on BR2_PACKAGE_DIRECTFB help - The DirectFB-examples package contains a set of simple DirectFB - applications that can be used to test and demonstrate various - DirectFB features. + The DirectFB-examples package contains a set of simple + DirectFB applications that can be used to test and demonstrate + various DirectFB features. http://directfb.org/downloads/Extras/README.DirectFB-examples diff --git a/package/directfb/Config.in b/package/directfb/Config.in index 6a3d71868f..20481f56da 100644 --- a/package/directfb/Config.in +++ b/package/directfb/Config.in @@ -9,11 +9,13 @@ config BR2_PACKAGE_DIRECTFB select BR2_PACKAGE_FREETYPE select BR2_PACKAGE_ZLIB help - DirectFB (Direct Frame Buffer) is a set of graphics APIs implemented - on top of the Linux Frame Buffer (fbdev) abstraction layer. It is an - alternative to X11 with a smaller memory footprint that still has an - integrated windowing system. As of 4 October 2015, DirectFB's website - http://www.directfb.org/ is down. See alternative site listed below. + DirectFB (Direct Frame Buffer) is a set of graphics APIs + implemented on top of the Linux Frame Buffer (fbdev) + abstraction layer. It is an alternative to X11 with a smaller + memory footprint that still has an integrated windowing + system. As of 4 October 2015, DirectFB's website + http://www.directfb.org/ is down. See alternative site listed + below. http://elinux.org/DirectFB @@ -21,9 +23,9 @@ if BR2_PACKAGE_DIRECTFB config BR2_PACKAGE_DIRECTFB_MULTI bool "directfb multi application" - select BR2_PACKAGE_LINUX_FUSION depends on BR2_USE_MMU # madvise() depends on BR2_LINUX_KERNEL + select BR2_PACKAGE_LINUX_FUSION help Enable use of multiple concurrent DirectFB applications @@ -113,13 +115,9 @@ config BR2_PACKAGE_DIRECTFB_SERIALMOUSE config BR2_PACKAGE_DIRECTFB_TSLIB bool "enable touchscreen support" - depends on !BR2_STATIC_LIBS # tslib default y select BR2_PACKAGE_TSLIB -comment "touchscreen support needs a toolchain w/ dynamic library" - depends on BR2_STATIC_LIBS - config BR2_PACKAGE_DIRECTFB_GIF bool "enable GIF support" default y @@ -130,8 +128,8 @@ config BR2_PACKAGE_DIRECTFB_TIFF config BR2_PACKAGE_DIRECTFB_IMLIB2 bool "enable IMLIB2 support" - select BR2_PACKAGE_IMLIB2 depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_IMLIB2 comment "imlib2 support needs a toolchain w/ dynamic library" depends on BR2_STATIC_LIBS diff --git a/package/directfb/directfb.mk b/package/directfb/directfb.mk index 595d5906c1..0b32162d8f 100644 --- a/package/directfb/directfb.mk +++ b/package/directfb/directfb.mk @@ -8,7 +8,7 @@ DIRECTFB_VERSION_MAJOR = 1.7 DIRECTFB_VERSION = $(DIRECTFB_VERSION_MAJOR).7 DIRECTFB_SITE = http://www.directfb.org/downloads/Core/DirectFB-$(DIRECTFB_VERSION_MAJOR) DIRECTFB_SOURCE = DirectFB-$(DIRECTFB_VERSION).tar.gz -DIRECTFB_LICENSE = LGPLv2.1+ +DIRECTFB_LICENSE = LGPL-2.1+ DIRECTFB_LICENSE_FILES = COPYING DIRECTFB_INSTALL_STAGING = YES DIRECTFB_AUTORECONF = YES @@ -70,7 +70,7 @@ DIRECTFB_GFX = \ $(if $(BR2_PACKAGE_DIRECTFB_CYBER5K),cyber5k) \ $(if $(BR2_PACKAGE_DIRECTFB_MATROX),matrox) \ $(if $(BR2_PACKAGE_DIRECTFB_PXA3XX),pxa3xx) \ - $(if $(BR2_PACKAGE_DIRECTFB_I830),i830) \ + $(if $(BR2_PACKAGE_DIRECTFB_I830),i830) \ $(if $(BR2_PACKAGE_DIRECTFB_EP9X),ep9x) ifeq ($(strip $(DIRECTFB_GFX)),) @@ -164,10 +164,10 @@ HOST_DIRECTFB_BUILD_CMDS = \ $(HOST_MAKE_ENV) $(MAKE) -C $(@D)/tools directfb-csource HOST_DIRECTFB_INSTALL_CMDS = \ - $(INSTALL) -m 0755 $(@D)/tools/directfb-csource $(HOST_DIR)/usr/bin + $(INSTALL) -m 0755 $(@D)/tools/directfb-csource $(HOST_DIR)/bin $(eval $(autotools-package)) $(eval $(host-autotools-package)) # directfb-csource for the host -DIRECTFB_HOST_BINARY = $(HOST_DIR)/usr/bin/directfb-csource +DIRECTFB_HOST_BINARY = $(HOST_DIR)/bin/directfb-csource diff --git a/package/dmalloc/Config.in b/package/dmalloc/Config.in index 03d9f975f3..e5be109332 100644 --- a/package/dmalloc/Config.in +++ b/package/dmalloc/Config.in @@ -5,9 +5,9 @@ config BR2_PACKAGE_DMALLOC # different segments". depends on !(BR2_microblaze && BR2_ENABLE_DEBUG) help - A debug memory allocation library which is a drop in replacement for - the system's malloc, realloc, calloc, free and other memory management - routines while providing powerful debugging facilities configurable at - runtime. + A debug memory allocation library which is a drop in + replacement for the system's malloc, realloc, calloc, free and + other memory management routines while providing powerful + debugging facilities configurable at runtime. http://dmalloc.com/ diff --git a/package/dmidecode/dmidecode.hash b/package/dmidecode/dmidecode.hash index 307c306ad7..1e8154b37d 100644 --- a/package/dmidecode/dmidecode.hash +++ b/package/dmidecode/dmidecode.hash @@ -1,2 +1,2 @@ -# http://http.debian.net/debian/pool/main/d/dmidecode/dmidecode_3.0-2.dsc -sha256 7ec35bb193729c1d593a1460b59d82d24b89102ab23fd0416e6cf4325d077e45 dmidecode-3.0.tar.xz +# Locally computed +sha256 d766ce9b25548c59b1e7e930505b4cad9a7bb0b904a1a391fbb604d529781ac0 dmidecode-3.1.tar.xz diff --git a/package/dmidecode/dmidecode.mk b/package/dmidecode/dmidecode.mk index cd30aa7df5..b6f96b6df8 100644 --- a/package/dmidecode/dmidecode.mk +++ b/package/dmidecode/dmidecode.mk @@ -4,10 +4,10 @@ # ################################################################################ -DMIDECODE_VERSION = 3.0 +DMIDECODE_VERSION = 3.1 DMIDECODE_SOURCE = dmidecode-$(DMIDECODE_VERSION).tar.xz DMIDECODE_SITE = http://download.savannah.gnu.org/releases/dmidecode -DMIDECODE_LICENSE = GPLv2+ +DMIDECODE_LICENSE = GPL-2.0+ DMIDECODE_LICENSE_FILES = LICENSE define DMIDECODE_BUILD_CMDS diff --git a/package/dmraid/Config.in b/package/dmraid/Config.in index 583f3f272c..aa98c853a1 100644 --- a/package/dmraid/Config.in +++ b/package/dmraid/Config.in @@ -3,16 +3,15 @@ config BR2_PACKAGE_DMRAID depends on BR2_TOOLCHAIN_HAS_THREADS # lvm2 depends on BR2_USE_MMU # lvm2 depends on !BR2_STATIC_LIBS # lvm2 - depends on !BR2_TOOLCHAIN_USES_MUSL # lvm2 select BR2_PACKAGE_LVM2 help - dmraid discovers, activates, deactivates and displays properties - of software RAID sets (eg, ATARAID) and contained DOS partitions. + dmraid discovers, activates, deactivates and displays + properties of software RAID sets (eg, ATARAID) and contained + DOS partitions. dmraid uses the Linux device-mapper to create devices with respective mappings for the ATARAID sets discovered. -comment "dmraid needs a glibc or uClibc toolchain w/ threads, dynamic library" +comment "dmraid needs a toolchain w/ threads, dynamic library" depends on BR2_USE_MMU - depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS \ - || BR2_TOOLCHAIN_USES_MUSL + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/dmraid/dmraid.mk b/package/dmraid/dmraid.mk index fbb23871fc..0382cd4d99 100644 --- a/package/dmraid/dmraid.mk +++ b/package/dmraid/dmraid.mk @@ -11,7 +11,7 @@ DMRAID_SUBDIR = $(DMRAID_VERSION)/dmraid # lib and tools race with parallel make DMRAID_MAKE = $(MAKE1) DMRAID_INSTALL_STAGING = YES -DMRAID_LICENSE = GPLv2 +DMRAID_LICENSE = GPL-2.0 DMRAID_LICENSE_FILES = $(DMRAID_SUBDIR)/LICENSE_GPL $(DMRAID_SUBDIR)/LICENSE DMRAID_DEPENDENCIES = lvm2 diff --git a/package/dnsmasq/Config.in b/package/dnsmasq/Config.in index b4f34b8d2b..8921fc629d 100644 --- a/package/dnsmasq/Config.in +++ b/package/dnsmasq/Config.in @@ -31,10 +31,10 @@ config BR2_PACKAGE_DNSMASQ_IDN bool "IDN support" depends on BR2_USE_WCHAR select BR2_PACKAGE_LIBIDN - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE help Enable IDN support in dnsmasq. - This option is a big space taker since it pulls in many libraries. + This option is a big space taker since it pulls in many + libraries. config BR2_PACKAGE_DNSMASQ_LUA bool "Lua scripting support" diff --git a/package/dnsmasq/dnsmasq.hash b/package/dnsmasq/dnsmasq.hash index a73e911a26..28e2e658e2 100644 --- a/package/dnsmasq/dnsmasq.hash +++ b/package/dnsmasq/dnsmasq.hash @@ -1,2 +1,6 @@ # Locally calculated after checking pgp signature -sha256 4b92698dee19ca0cb2a8f2e48f1d2dffd01a21eb15d1fbed4cf085630c8c9f96 dnsmasq-2.76.tar.xz +# http://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.78.tar.xz.asc +sha256 89949f438c74b0c7543f06689c319484bd126cc4b1f8c745c742ab397681252b dnsmasq-2.78.tar.xz +# Locally calculated +sha256 dcc100d4161cc0b7177545ab6e47216f84857cda3843847c792a25289852dcaa COPYING +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING-v3 diff --git a/package/dnsmasq/dnsmasq.mk b/package/dnsmasq/dnsmasq.mk index e8240b9003..9f96030eb6 100644 --- a/package/dnsmasq/dnsmasq.mk +++ b/package/dnsmasq/dnsmasq.mk @@ -4,14 +4,14 @@ # ################################################################################ -DNSMASQ_VERSION = 2.76 +DNSMASQ_VERSION = 2.78 DNSMASQ_SOURCE = dnsmasq-$(DNSMASQ_VERSION).tar.xz DNSMASQ_SITE = http://thekelleys.org.uk/dnsmasq DNSMASQ_MAKE_ENV = $(TARGET_MAKE_ENV) CC="$(TARGET_CC)" DNSMASQ_MAKE_OPTS = COPTS="$(DNSMASQ_COPTS)" PREFIX=/usr CFLAGS="$(TARGET_CFLAGS)" DNSMASQ_MAKE_OPTS += DESTDIR=$(TARGET_DIR) LDFLAGS="$(TARGET_LDFLAGS)" DNSMASQ_DEPENDENCIES = host-pkgconf -DNSMASQ_LICENSE = GPLv2 or GPLv3 +DNSMASQ_LICENSE = GPL-2.0 or GPL-3.0 DNSMASQ_LICENSE_FILES = COPYING COPYING-v3 ifneq ($(BR2_PACKAGE_DNSMASQ_DHCP),y) @@ -32,40 +32,39 @@ endif # NLS requires IDN so only enable it (i18n) when IDN is true ifeq ($(BR2_PACKAGE_DNSMASQ_IDN),y) -DNSMASQ_DEPENDENCIES += libidn $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) host-gettext -DNSMASQ_MAKE_OPTS += LIBS+="$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),-lintl)" +DNSMASQ_DEPENDENCIES += libidn $(TARGET_NLS_DEPENDENCIES) +DNSMASQ_MAKE_OPTS += LIBS+=$(TARGET_NLS_LIBS) DNSMASQ_COPTS += -DHAVE_IDN -DNSMASQ_I18N = $(if $(BR2_ENABLE_LOCALE),-i18n) +DNSMASQ_I18N = $(if $(BR2_SYSTEM_ENABLE_NLS),-i18n) endif ifeq ($(BR2_PACKAGE_DNSMASQ_CONNTRACK),y) DNSMASQ_DEPENDENCIES += libnetfilter_conntrack -endif - -ifeq ($(BR2_PACKAGE_DNSMASQ_CONNTRACK),y) -define DNSMASQ_ENABLE_CONNTRACK - $(SED) 's^.*#define HAVE_CONNTRACK.*^#define HAVE_CONNTRACK^' \ - $(DNSMASQ_DIR)/src/config.h -endef +DNSMASQ_COPTS += -DHAVE_CONNTRACK endif ifeq ($(BR2_PACKAGE_DNSMASQ_LUA),y) DNSMASQ_DEPENDENCIES += lua +DNSMASQ_COPTS += -DHAVE_LUASCRIPT # liblua uses dlopen when dynamically linked ifneq ($(BR2_STATIC_LIBS),y) DNSMASQ_MAKE_OPTS += LIBS+="-ldl" endif -define DNSMASQ_ENABLE_LUA - $(SED) 's/lua5.1/lua/g' $(DNSMASQ_DIR)/Makefile - $(SED) 's^.*#define HAVE_LUASCRIPT.*^#define HAVE_LUASCRIPT^' \ - $(DNSMASQ_DIR)/src/config.h +define DNSMASQ_TWEAK_LIBLUA + $(SED) 's/lua5.2/lua/g' $(DNSMASQ_DIR)/Makefile endef endif ifeq ($(BR2_PACKAGE_DBUS),y) DNSMASQ_DEPENDENCIES += dbus +DNSMASQ_COPTS += -DHAVE_DBUS + +define DNSMASQ_INSTALL_DBUS + $(INSTALL) -m 0644 -D $(@D)/dbus/dnsmasq.conf \ + $(TARGET_DIR)/etc/dbus-1/system.d/dnsmasq.conf +endef endif define DNSMASQ_FIX_PKGCONFIG @@ -73,33 +72,12 @@ define DNSMASQ_FIX_PKGCONFIG $(DNSMASQ_DIR)/Makefile endef -ifeq ($(BR2_PACKAGE_DBUS),y) -define DNSMASQ_ENABLE_DBUS - $(SED) 's^.*#define HAVE_DBUS.*^#define HAVE_DBUS^' \ - $(DNSMASQ_DIR)/src/config.h -endef -else -define DNSMASQ_ENABLE_DBUS - $(SED) 's^.*#define HAVE_DBUS.*^/* #define HAVE_DBUS */^' \ - $(DNSMASQ_DIR)/src/config.h -endef -endif - define DNSMASQ_BUILD_CMDS $(DNSMASQ_FIX_PKGCONFIG) - $(DNSMASQ_ENABLE_DBUS) - $(DNSMASQ_ENABLE_LUA) - $(DNSMASQ_ENABLE_CONNTRACK) + $(DNSMASQ_TWEAK_LIBLUA) $(DNSMASQ_MAKE_ENV) $(MAKE) -C $(@D) $(DNSMASQ_MAKE_OPTS) all$(DNSMASQ_I18N) endef -ifeq ($(BR2_PACKAGE_DBUS),y) -define DNSMASQ_INSTALL_DBUS - $(INSTALL) -m 0644 -D $(@D)/dbus/dnsmasq.conf \ - $(TARGET_DIR)/etc/dbus-1/system.d/dnsmasq.conf -endef -endif - define DNSMASQ_INSTALL_TARGET_CMDS $(DNSMASQ_MAKE_ENV) $(MAKE) -C $(@D) $(DNSMASQ_MAKE_OPTS) install$(DNSMASQ_I18N) mkdir -p $(TARGET_DIR)/var/lib/misc/ diff --git a/package/doc-asciidoc.mk b/package/doc-asciidoc.mk index cb6e616603..be92496c2e 100644 --- a/package/doc-asciidoc.mk +++ b/package/doc-asciidoc.mk @@ -1,5 +1,6 @@ # we can't use suitable-host-package here because that's not available in # the context of 'make release' +.PHONY: asciidoc-check-dependencies asciidoc-check-dependencies: $(Q)if [ -z "$(shell support/dependencies/check-host-asciidoc.sh)" ]; then \ echo "You need a sufficiently recent asciidoc on your host" \ @@ -58,8 +59,9 @@ $(1): $(1)-$(5) .PHONY: $(1)-$(5) $(1)-$(5): $$(O)/docs/$(1)/$(1).$(6) -# Single line, because splitting a foreach is not easy... asciidoc-check-dependencies-$(5): +.PHONY: $(1)-check-dependencies-$(5) +# Single line, because splitting a foreach is not easy... $(1)-check-dependencies-$(5): asciidoc-check-dependencies-$(5) $$(Q)$$(foreach hook,$$($(2)_CHECK_DEPENDENCIES_$$(call UPPERCASE,$(5))_HOOKS),$$(call $$(hook))$$(sep)) @@ -141,6 +143,7 @@ endef ################################################################################ define ASCIIDOC # Single line, because splitting a foreach is not easy... +.PHONY: $(1)-check-dependencies $(1)-check-dependencies: asciidoc-check-dependencies $$($(2)_DEPENDENCIES) $$(Q)$$(foreach hook,$$($(2)_CHECK_DEPENDENCIES_HOOKS),$$(call $$(hook))$$(sep)) @@ -153,6 +156,7 @@ $$(BUILD_DIR)/docs/$(1)/.stamp_doc_rsynced: $$(Q)rsync -a $(3) $$(@D) $$(Q)$$(foreach hook,$$($(2)_POST_RSYNC_HOOKS),$$(call $$(hook))$$(sep)) +.PHONY: $(1)-prepare-sources $(1)-prepare-sources: $$(BUILD_DIR)/docs/$(1)/.stamp_doc_rsynced $(2)_ASCIIDOC_CONF = $(3)/asciidoc.conf diff --git a/package/docker-containerd/docker-containerd.hash b/package/docker-containerd/docker-containerd.hash index f27e38ed23..992eb5b01a 100644 --- a/package/docker-containerd/docker-containerd.hash +++ b/package/docker-containerd/docker-containerd.hash @@ -1,2 +1,2 @@ # Computed locally -sha256 88e099af66b50abe7f2159f13bdab793fa5199d8d5b9a9ef7a68171abb4359be docker-containerd-v0.2.5.tar.gz +sha256 da89086a7c643702a2ddecec67a45d3d8e4b0d610dd19036be63e6bd54cc1a85 docker-containerd-9048e5e50717ea4497b757314bad98ea3763c145.tar.gz diff --git a/package/docker-containerd/docker-containerd.mk b/package/docker-containerd/docker-containerd.mk index c04552a68e..ffbadb0c3f 100644 --- a/package/docker-containerd/docker-containerd.mk +++ b/package/docker-containerd/docker-containerd.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOCKER_CONTAINERD_VERSION = v0.2.5 +DOCKER_CONTAINERD_VERSION = 9048e5e50717ea4497b757314bad98ea3763c145 DOCKER_CONTAINERD_SITE = $(call github,docker,containerd,$(DOCKER_CONTAINERD_VERSION)) DOCKER_CONTAINERD_LICENSE = Apache-2.0 DOCKER_CONTAINERD_LICENSE_FILES = LICENSE.code @@ -33,7 +33,7 @@ endef define DOCKER_CONTAINERD_BUILD_CMDS $(foreach d,ctr containerd containerd-shim,\ - cd $(@D); $(DOCKER_CONTAINERD_MAKE_ENV) $(HOST_DIR)/usr/bin/go build \ + cd $(@D); $(DOCKER_CONTAINERD_MAKE_ENV) $(HOST_DIR)/bin/go build \ -v -o $(@D)/bin/$(d) -ldflags "$(DOCKER_CONTAINERD_GLDFLAGS)" ./$(d)$(sep)) endef diff --git a/package/docker-engine/0001-Fix-issues-with-tailing-rotated-jsonlog-file.patch b/package/docker-engine/0001-Fix-issues-with-tailing-rotated-jsonlog-file.patch deleted file mode 100644 index 413cfd6f7b..0000000000 --- a/package/docker-engine/0001-Fix-issues-with-tailing-rotated-jsonlog-file.patch +++ /dev/null @@ -1,297 +0,0 @@ -From 8d6f2e3fe8851b581309da25fc4c32f8be675932 Mon Sep 17 00:00:00 2001 -From: Brian Goff -Date: Mon, 11 Jul 2016 16:31:42 -0400 -Subject: [PATCH] Fix issues with tailing rotated jsonlog file - -Fixes a race where the log reader would get events for both an actual -rotation as we from fsnotify (`fsnotify.Rename`). -This issue becomes extremely apparent when rotations are fast, for -example: - -``` -$ docker run -d --name test --log-opt max-size=1 --log-opt max-file=2 -busybox sh -c 'while true; do echo hello; usleep 100000; done' -``` - -With this change the log reader for jsonlogs can handle rotations that -happen as above. - -Instead of listening for both fs events AND rotation events -simultaneously, potentially meaning we see 2 rotations for only a single -rotation due to channel buffering, only listen for fs events (like -`Rename`) and then wait to be notified about rotation by the logger. -This makes sure that we don't see 2 rotations for 1, and that we don't -start trying to read until the logger is actually ready for us to. - -Signed-off-by: Brian Goff - -This commit is pending upstream commit fixing broken log tailing. The -original commit can be found in the PR here: - - - https://github.com/docker/docker/pull/24514 - -Signed-off-by: Christian Stewart ---- - daemon/logger/jsonfilelog/read.go | 180 +++++++++++++++++++++++++------------- - 1 file changed, 119 insertions(+), 61 deletions(-) - -diff --git a/daemon/logger/jsonfilelog/read.go b/daemon/logger/jsonfilelog/read.go -index bea83dd..0cb44af 100644 ---- a/daemon/logger/jsonfilelog/read.go -+++ b/daemon/logger/jsonfilelog/read.go -@@ -3,11 +3,14 @@ package jsonfilelog - import ( - "bytes" - "encoding/json" -+ "errors" - "fmt" - "io" - "os" - "time" - -+ "gopkg.in/fsnotify.v1" -+ - "github.com/Sirupsen/logrus" - "github.com/docker/docker/daemon/logger" - "github.com/docker/docker/pkg/filenotify" -@@ -44,6 +47,10 @@ func (l *JSONFileLogger) ReadLogs(config logger.ReadConfig) *logger.LogWatcher { - func (l *JSONFileLogger) readLogs(logWatcher *logger.LogWatcher, config logger.ReadConfig) { - defer close(logWatcher.Msg) - -+ // lock so the read stream doesn't get corrupted do to rotations or other log data written while we read -+ // This will block writes!!! -+ l.mu.Lock() -+ - pth := l.writer.LogPath() - var files []io.ReadSeeker - for i := l.writer.MaxFiles(); i > 1; i-- { -@@ -61,6 +68,7 @@ func (l *JSONFileLogger) readLogs(logWatcher *logger.LogWatcher, config logger.R - latestFile, err := os.Open(pth) - if err != nil { - logWatcher.Err <- err -+ l.mu.Unlock() - return - } - -@@ -80,6 +88,7 @@ func (l *JSONFileLogger) readLogs(logWatcher *logger.LogWatcher, config logger.R - if err := latestFile.Close(); err != nil { - logrus.Errorf("Error closing file: %v", err) - } -+ l.mu.Unlock() - return - } - -@@ -87,7 +96,6 @@ func (l *JSONFileLogger) readLogs(logWatcher *logger.LogWatcher, config logger.R - latestFile.Seek(0, os.SEEK_END) - } - -- l.mu.Lock() - l.readers[logWatcher] = struct{}{} - l.mu.Unlock() - -@@ -128,92 +136,142 @@ func tailFile(f io.ReadSeeker, logWatcher *logger.LogWatcher, tail int, since ti - } - } - -+func watchFile(name string) (filenotify.FileWatcher, error) { -+ fileWatcher, err := filenotify.New() -+ if err != nil { -+ return nil, err -+ } -+ -+ if err := fileWatcher.Add(name); err != nil { -+ logrus.WithField("logger", "json-file").Warnf("falling back to file poller due to error: %v", err) -+ fileWatcher.Close() -+ fileWatcher = filenotify.NewPollingWatcher() -+ -+ if err := fileWatcher.Add(name); err != nil { -+ fileWatcher.Close() -+ logrus.Debugf("error watching log file for modifications: %v", err) -+ return nil, err -+ } -+ } -+ return fileWatcher, nil -+} -+ - func followLogs(f *os.File, logWatcher *logger.LogWatcher, notifyRotate chan interface{}, since time.Time) { - dec := json.NewDecoder(f) - l := &jsonlog.JSONLog{} - -- fileWatcher, err := filenotify.New() -+ name := f.Name() -+ fileWatcher, err := watchFile(name) - if err != nil { - logWatcher.Err <- err -+ return - } - defer func() { - f.Close() - fileWatcher.Close() - }() -- name := f.Name() - -- if err := fileWatcher.Add(name); err != nil { -- logrus.WithField("logger", "json-file").Warnf("falling back to file poller due to error: %v", err) -- fileWatcher.Close() -- fileWatcher = filenotify.NewPollingWatcher() -+ var retries int -+ handleRotate := func() error { -+ f.Close() -+ fileWatcher.Remove(name) - -+ // retry when the file doesn't exist -+ for retries := 0; retries <= 5; retries++ { -+ f, err = os.Open(name) -+ if err == nil || !os.IsNotExist(err) { -+ break -+ } -+ } -+ if err != nil { -+ return err -+ } - if err := fileWatcher.Add(name); err != nil { -- logrus.Debugf("error watching log file for modifications: %v", err) -- logWatcher.Err <- err -- return -+ return err - } -+ dec = json.NewDecoder(f) -+ return nil - } - -- var retries int -- for { -- msg, err := decodeLogLine(dec, l) -- if err != nil { -- if err != io.EOF { -- // try again because this shouldn't happen -- if _, ok := err.(*json.SyntaxError); ok && retries <= maxJSONDecodeRetry { -- dec = json.NewDecoder(f) -- retries++ -- continue -+ errRetry := errors.New("retry") -+ errDone := errors.New("done") -+ waitRead := func() error { -+ select { -+ case e := <-fileWatcher.Events(): -+ switch e.Op { -+ case fsnotify.Write: -+ dec = json.NewDecoder(f) -+ return nil -+ case fsnotify.Rename, fsnotify.Remove: -+ <-notifyRotate -+ if err := handleRotate(); err != nil { -+ return err - } -- -- // io.ErrUnexpectedEOF is returned from json.Decoder when there is -- // remaining data in the parser's buffer while an io.EOF occurs. -- // If the json logger writes a partial json log entry to the disk -- // while at the same time the decoder tries to decode it, the race condition happens. -- if err == io.ErrUnexpectedEOF && retries <= maxJSONDecodeRetry { -- reader := io.MultiReader(dec.Buffered(), f) -- dec = json.NewDecoder(reader) -- retries++ -- continue -+ return nil -+ } -+ return errRetry -+ case err := <-fileWatcher.Errors(): -+ logrus.Debug("logger got error watching file: %v", err) -+ // Something happened, let's try and stay alive and create a new watcher -+ if retries <= 5 { -+ fileWatcher, err = watchFile(name) -+ if err != nil { -+ return err - } -- -- return -+ retries++ -+ return errRetry - } -+ return err -+ case <-logWatcher.WatchClose(): -+ fileWatcher.Remove(name) -+ return errDone -+ } -+ } - -- select { -- case <-fileWatcher.Events(): -- dec = json.NewDecoder(f) -- continue -- case <-fileWatcher.Errors(): -- logWatcher.Err <- err -- return -- case <-logWatcher.WatchClose(): -- fileWatcher.Remove(name) -- return -- case <-notifyRotate: -- f.Close() -- fileWatcher.Remove(name) -- -- // retry when the file doesn't exist -- for retries := 0; retries <= 5; retries++ { -- f, err = os.Open(name) -- if err == nil || !os.IsNotExist(err) { -- break -- } -+ handleDecodeErr := func(err error) error { -+ if err == io.EOF { -+ for err := waitRead(); err != nil; { -+ if err == errRetry { -+ // retry the waitRead -+ continue - } -+ return err -+ } -+ return nil -+ } -+ // try again because this shouldn't happen -+ if _, ok := err.(*json.SyntaxError); ok && retries <= maxJSONDecodeRetry { -+ dec = json.NewDecoder(f) -+ retries++ -+ return nil -+ } -+ // io.ErrUnexpectedEOF is returned from json.Decoder when there is -+ // remaining data in the parser's buffer while an io.EOF occurs. -+ // If the json logger writes a partial json log entry to the disk -+ // while at the same time the decoder tries to decode it, the race condition happens. -+ if err == io.ErrUnexpectedEOF && retries <= maxJSONDecodeRetry { -+ reader := io.MultiReader(dec.Buffered(), f) -+ dec = json.NewDecoder(reader) -+ retries++ -+ return nil -+ } -+ return err -+ } - -- if err = fileWatcher.Add(name); err != nil { -- logWatcher.Err <- err -- return -- } -- if err != nil { -- logWatcher.Err <- err -+ // main loop -+ for { -+ msg, err := decodeLogLine(dec, l) -+ if err != nil { -+ if err := handleDecodeErr(err); err != nil { -+ if err == errDone { - return - } -- -- dec = json.NewDecoder(f) -- continue -+ // we got an unrecoverable error, so return -+ logWatcher.Err <- err -+ return - } -+ // ready to try again -+ continue - } - - retries = 0 // reset retries since we've succeeded --- -2.7.3 - diff --git a/package/docker-engine/Config.in b/package/docker-engine/Config.in index 1879a56fdd..05670a716e 100644 --- a/package/docker-engine/Config.in +++ b/package/docker-engine/Config.in @@ -13,11 +13,11 @@ if BR2_PACKAGE_DOCKER_ENGINE config BR2_PACKAGE_DOCKER_ENGINE_DAEMON bool "docker daemon" + default y depends on BR2_USE_MMU # docker-containerd select BR2_PACKAGE_DOCKER_CONTAINERD # runtime dependency select BR2_PACKAGE_IPTABLES # runtime dependency select BR2_PACKAGE_SQLITE # runtime dependency - default y help Build the Docker system daemon. If not selected, will build client only. @@ -25,6 +25,12 @@ config BR2_PACKAGE_DOCKER_ENGINE_DAEMON config BR2_PACKAGE_DOCKER_ENGINE_EXPERIMENTAL bool "build experimental features" +config BR2_PACKAGE_DOCKER_ENGINE_STATIC_CLIENT + bool "build static client" + depends on !BR2_STATIC_LIBS + help + Build a static docker client. + if BR2_PACKAGE_DOCKER_ENGINE_DAEMON config BR2_PACKAGE_DOCKER_ENGINE_DRIVER_BTRFS diff --git a/package/docker-engine/docker-engine.hash b/package/docker-engine/docker-engine.hash index 5e09453e49..6c0ed338a5 100644 --- a/package/docker-engine/docker-engine.hash +++ b/package/docker-engine/docker-engine.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 0413f3513c2a6842ed9cf837154c8a722e9b34cb36b33430348489baa183707e docker-engine-v1.12.6.tar.gz +sha256 4716df117d867b82ddab2e82395cd40aa3d0925a689eedcec8919729e4c9f121 docker-engine-v17.05.0-ce.tar.gz diff --git a/package/docker-engine/docker-engine.mk b/package/docker-engine/docker-engine.mk index d575662dde..8928f072e7 100644 --- a/package/docker-engine/docker-engine.mk +++ b/package/docker-engine/docker-engine.mk @@ -4,8 +4,8 @@ # ################################################################################ -DOCKER_ENGINE_VERSION = v1.12.6 -DOCKER_ENGINE_COMMIT = 78d18021ecba00c00730dec9d56de6896f9e708d +DOCKER_ENGINE_VERSION = v17.05.0-ce +DOCKER_ENGINE_COMMIT = 89658bed64c2a8fe05a978e5b87dbec409d57a0f DOCKER_ENGINE_SITE = $(call github,docker,docker,$(DOCKER_ENGINE_VERSION)) DOCKER_ENGINE_LICENSE = Apache-2.0 @@ -13,7 +13,7 @@ DOCKER_ENGINE_LICENSE_FILES = LICENSE DOCKER_ENGINE_DEPENDENCIES = host-go host-pkgconf -DOCKER_ENGINE_GOPATH = "$(@D)/vendor" +DOCKER_ENGINE_GOPATH = "$(@D)/gopath" DOCKER_ENGINE_MAKE_ENV = $(HOST_GO_TARGET_ENV) \ CGO_ENABLED=1 \ CGO_NO_EMULATION=1 \ @@ -28,6 +28,10 @@ DOCKER_ENGINE_GLDFLAGS = \ ifeq ($(BR2_STATIC_LIBS),y) DOCKER_ENGINE_GLDFLAGS += -extldflags '-static' +else +ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_STATIC_CLIENT),y) +DOCKER_ENGINE_GLDFLAGS_DOCKER += -extldflags '-static' +endif endif DOCKER_ENGINE_BUILD_TAGS = cgo exclude_graphdriver_zfs autogen @@ -38,6 +42,11 @@ DOCKER_ENGINE_BUILD_TAGS += seccomp DOCKER_ENGINE_DEPENDENCIES += libseccomp endif +ifeq ($(BR2_INIT_SYSTEMD),y) +DOCKER_ENGINE_BUILD_TAGS += journald +DOCKER_ENGINE_DEPENDENCIES += systemd +endif + ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_DAEMON),y) DOCKER_ENGINE_BUILD_TAGS += daemon DOCKER_ENGINE_BUILD_TARGETS += dockerd @@ -66,6 +75,7 @@ DOCKER_ENGINE_BUILD_TAGS += exclude_graphdriver_vfs endif define DOCKER_ENGINE_CONFIGURE_CMDS + mkdir -p $(DOCKER_ENGINE_GOPATH)/src/github.com/docker ln -fs $(@D) $(DOCKER_ENGINE_GOPATH)/src/github.com/docker/docker cd $(@D) && \ GITCOMMIT="$$(echo $(DOCKER_ENGINE_COMMIT) | head -c7)" \ @@ -95,12 +105,13 @@ endif define DOCKER_ENGINE_BUILD_CMDS $(foreach target,$(DOCKER_ENGINE_BUILD_TARGETS), \ - cd $(@D); $(DOCKER_ENGINE_MAKE_ENV) \ - $(HOST_DIR)/usr/bin/go build -v \ + cd $(@D)/gopath/src/github.com/docker/docker; \ + $(DOCKER_ENGINE_MAKE_ENV) \ + $(HOST_DIR)/bin/go build -v \ -o $(@D)/bin/$(target) \ -tags "$(DOCKER_ENGINE_BUILD_TAGS)" \ - -ldflags "$(DOCKER_ENGINE_GLDFLAGS)" \ - ./cmd/$(target) + -ldflags "$(DOCKER_ENGINE_GLDFLAGS) $(DOCKER_ENGINE_GLDFLAGS_$(call UPPERCASE,$(target)))" \ + github.com/docker/docker/cmd/$(target) ) endef diff --git a/package/docker/docker.mk b/package/docker/docker.mk index 9a9d26bb85..4a8c6fcd8d 100644 --- a/package/docker/docker.mk +++ b/package/docker/docker.mk @@ -8,7 +8,7 @@ DOCKER_VERSION = 1.5 DOCKER_SITE = http://icculus.org/openbox/2/docker DOCKER_DEPENDENCIES = host-pkgconf libglib2 xlib_libX11 -DOCKER_LICENSE = GPLv2+ +DOCKER_LICENSE = GPL-2.0+ # The 'or later' is specified at the end of the README, so include that one too. DOCKER_LICENSE_FILES = COPYING README diff --git a/package/domoticz/Config.in b/package/domoticz/Config.in index c6550d2ad0..c03f84ae44 100644 --- a/package/domoticz/Config.in +++ b/package/domoticz/Config.in @@ -7,8 +7,6 @@ config BR2_PACKAGE_DOMOTICZ depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR depends on BR2_PACKAGE_LUA_5_2 || BR2_PACKAGE_LUA_5_3 - # These result in internal compiler error - depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH select BR2_PACKAGE_BOOST select BR2_PACKAGE_BOOST_DATE_TIME select BR2_PACKAGE_BOOST_SYSTEM @@ -30,7 +28,6 @@ config BR2_PACKAGE_DOMOTICZ comment "domoticz needs lua >= 5.2 and a toolchain w/ C++, threads, wchar, dynamic library" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 - depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ !BR2_USE_WCHAR || BR2_STATIC_LIBS || \ !(BR2_PACKAGE_LUA_5_2 || BR2_PACKAGE_LUA_5_3) diff --git a/package/domoticz/domoticz.hash b/package/domoticz/domoticz.hash index 7feab8fbca..103618d5a3 100644 --- a/package/domoticz/domoticz.hash +++ b/package/domoticz/domoticz.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 fb88edbe428851a7a337a85faa93f6da00713b3ad086ff6957031dc9b3b58bba domoticz-3.5877.tar.gz +sha256 5ea8f37f2ef900e9bd17b1b5375e75bfdec4f09001e3e2e0b647a260989d014c domoticz-3.8153.tar.gz diff --git a/package/domoticz/domoticz.mk b/package/domoticz/domoticz.mk index f43dbda49e..bd25708a14 100644 --- a/package/domoticz/domoticz.mk +++ b/package/domoticz/domoticz.mk @@ -4,9 +4,9 @@ # ################################################################################ -DOMOTICZ_VERSION = 3.5877 +DOMOTICZ_VERSION = 3.8153 DOMOTICZ_SITE = $(call github,domoticz,domoticz,$(DOMOTICZ_VERSION)) -DOMOTICZ_LICENSE = GPLv3 +DOMOTICZ_LICENSE = GPL-3.0 DOMOTICZ_LICENSE_FILES = License.txt DOMOTICZ_DEPENDENCIES = \ boost \ @@ -18,6 +18,21 @@ DOMOTICZ_DEPENDENCIES = \ sqlite \ zlib +# Fixes: +# http://autobuild.buildroot.org/results/454c0ea393615bae2d1b44be9920f25b5c49fc33 +# There is an issue with powerpc64le and boost::uuids::random_generator on the +# following line of code (from include/boost/uuid/seed_rng.hpp): +# sha.process_bytes( (unsigned char const*)&std::rand, sizeof( void(*)() ) ) +# This line "inspects the first couple bytes (here eight) of the std::rand +# function to seed some rng. Due to the implementation of process_bytes and +# inlining happening, it seems that one of the loops therein uses &rand-1 as +# some boundary, compiling with -O0 makes that reloc come out as 'rand + 0' and +# the link will succeed." +# See: https://bugzilla.suse.com/show_bug.cgi?id=955832#c7 +ifeq ($(BR2_powerpc64le),y) +DOMOTICZ_CXXFLAGS += -O0 +endif + # Due to the dependency on mosquitto, domoticz depends on # !BR2_STATIC_LIBS so set USE_STATIC_BOOST to OFF DOMOTICZ_CONF_OPTS += -DUSE_STATIC_BOOST=OFF @@ -27,7 +42,8 @@ DOMOTICZ_CONF_OPTS += -DUSE_STATIC_BOOST=OFF DOMOTICZ_CONF_OPTS += \ -DUSE_BUILTIN_LUA=OFF \ -DUSE_BUILTIN_SQLITE=OFF \ - -DUSE_BUILTIN_MQTT=OFF + -DUSE_BUILTIN_MQTT=OFF \ + -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) $(DOMOTICZ_CXXFLAGS)" ifeq ($(BR2_PACKAGE_LIBUSB),y) DOMOTICZ_DEPENDENCIES += libusb @@ -43,6 +59,13 @@ DOMOTICZ_DEPENDENCIES += openzwave DOMOTICZ_CONF_OPTS += -DUSE_STATIC_OPENZWAVE=OFF endif +ifeq ($(BR2_PACKAGE_PYTHON3),y) +DOMOTICZ_DEPENDENCIES += python3 +DOMOTICZ_CONF_OPTS += -DUSE_PYTHON=ON +else +DOMOTICZ_CONF_OPTS += -DUSE_PYTHON=OFF +endif + # Install domoticz in a dedicated directory (/opt/domoticz) as # domoticz expects by default that all its subdirectories (www, # Config, scripts, ...) are in the binary directory. diff --git a/package/doom-wad/Config.in b/package/doom-wad/Config.in index edd299b5e8..6f51cfb936 100644 --- a/package/doom-wad/Config.in +++ b/package/doom-wad/Config.in @@ -2,6 +2,8 @@ config BR2_PACKAGE_DOOM_WAD bool "shareware Doom WAD file" depends on BR2_PACKAGE_CHOCOLATE_DOOM || BR2_PACKAGE_PRBOOM help - This will install the shareware wad data file for the doom game. + This will install the shareware wad data file for the doom + game. - The wad file will be placed in the /usr/share/games/doom directory. + The wad file will be placed in the /usr/share/games/doom + directory. diff --git a/package/dos2unix/Config.in b/package/dos2unix/Config.in index 0a4f5e2fff..cfb5ba4b79 100644 --- a/package/dos2unix/Config.in +++ b/package/dos2unix/Config.in @@ -1,5 +1,4 @@ config BR2_PACKAGE_DOS2UNIX - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE bool "dos2unix" depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS help diff --git a/package/dos2unix/dos2unix.mk b/package/dos2unix/dos2unix.mk index df2094e4a5..276a18ebcc 100644 --- a/package/dos2unix/dos2unix.mk +++ b/package/dos2unix/dos2unix.mk @@ -6,21 +6,20 @@ DOS2UNIX_VERSION = 7.3.4 DOS2UNIX_SITE = http://waterlan.home.xs4all.nl/dos2unix -DOS2UNIX_LICENSE = BSD-2c +DOS2UNIX_LICENSE = BSD-2-Clause DOS2UNIX_LICENSE_FILES = COPYING.txt -DOS2UNIX_DEPENDENCIES = $(if $(BR2_PACKAGE_BUSYBOX),busybox) +DOS2UNIX_DEPENDENCIES = \ + $(if $(BR2_PACKAGE_BUSYBOX),busybox) \ + $(TARGET_NLS_DEPENDENCIES) -ifeq ($(BR2_ENABLE_LOCALE),y) -DOS2UNIX_DEPENDENCIES += host-gettext +ifeq ($(BR2_SYSTEM_ENABLE_NLS),y) +DOS2UNIX_MAKE_OPTS += ENABLE_NLS=1 +DOS2UNIX_MAKE_OPTS += LIBS_EXTRA=$(TARGET_NLS_LIBS) else +# Should be defined to empty to disable NLS support DOS2UNIX_MAKE_OPTS += ENABLE_NLS= endif -ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y) -DOS2UNIX_DEPENDENCIES += gettext -DOS2UNIX_MAKE_OPTS += LIBS_EXTRA=-lintl -endif - ifeq ($(BR2_USE_WCHAR),) DOS2UNIX_MAKE_OPTS += UCS= endif @@ -39,7 +38,7 @@ define HOST_DOS2UNIX_BUILD_CMDS endef define HOST_DOS2UNIX_INSTALL_CMDS - $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) DESTDIR=$(HOST_DIR) ENABLE_NLS= \ + $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) prefix=$(HOST_DIR) ENABLE_NLS= \ install endef diff --git a/package/dosfstools/0001-mkfs-Default-to-64-32-heads-sectors-for-targets-smalle.patch b/package/dosfstools/0001-mkfs-Default-to-64-32-heads-sectors-for-targets-smalle.patch deleted file mode 100644 index ff3c3ffa44..0000000000 --- a/package/dosfstools/0001-mkfs-Default-to-64-32-heads-sectors-for-targets-smalle.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 1e76e5778a1885452939a79d9145b80634a5b023 Mon Sep 17 00:00:00 2001 -From: Andreas Bombe -Date: Wed, 11 May 2016 03:44:58 +0200 -Subject: [PATCH] mkfs: Default to 64/32 heads/sectors for targets smaller than - 512 MB - -This may put defaults in certain use cases a little bit more in line -with the old defaults in versions up to 3.0.28. It has mostly aesthetic -value in most cases. - -Signed-off-by: Andreas Bombe -Signed-off-by: Gustavo Zacarias ---- -Patch status: upstream - - src/mkfs.fat.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/src/mkfs.fat.c b/src/mkfs.fat.c -index 8a320fd..bad492b 100644 ---- a/src/mkfs.fat.c -+++ b/src/mkfs.fat.c -@@ -519,6 +519,16 @@ static void establish_params(struct device_info *info) - unsigned int cluster_size = 4; /* starting point for FAT12 and FAT16 */ - int def_root_dir_entries = 512; - -+ if (info->size < 512 * 1024 * 1024) { -+ /* -+ * These values are more or less meaningless, but we can at least -+ * use less extreme values for smaller filesystems where the large -+ * dummy values signifying LBA only access are not needed. -+ */ -+ sec_per_track = 32; -+ heads = 64; -+ } -+ - if (info->type != TYPE_FIXED) { - /* enter default parameters for floppy disks if the size matches */ - switch (info->size / 1024) { --- -2.7.3 - diff --git a/package/dosfstools/0002-src-device_info.c-Fix-undefined-PATH_MAX-under-musl.patch b/package/dosfstools/0002-src-device_info.c-Fix-undefined-PATH_MAX-under-musl.patch deleted file mode 100644 index 9740304603..0000000000 --- a/package/dosfstools/0002-src-device_info.c-Fix-undefined-PATH_MAX-under-musl.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 06ce096dabd8a29c72dc0bc5110d2c4867baa490 Mon Sep 17 00:00:00 2001 -From: Alessio Sergi -Date: Fri, 6 May 2016 18:18:18 +0200 -Subject: [PATCH] src/device_info.c: Fix undefined PATH_MAX under musl - -In musl libc, PATH_MAX is defined in . - -Status: pending -https://github.com/dosfstools/dosfstools/pull/27 - -[Romain: add patch status] -Signed-off-by: Romain Naour ---- - src/device_info.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/device_info.c b/src/device_info.c -index f5d11ac..cd57388 100644 ---- a/src/device_info.c -+++ b/src/device_info.c -@@ -17,6 +17,7 @@ - */ - - -+#include - #include - #include - #include --- -2.5.5 - diff --git a/package/dosfstools/dosfstools.hash b/package/dosfstools/dosfstools.hash index 777b8d9e3f..2515ea68c3 100644 --- a/package/dosfstools/dosfstools.hash +++ b/package/dosfstools/dosfstools.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 9037738953559d1efe04fc5408b6846216cc0138f7f9d32de80b6ec3c35e7daf dosfstools-4.0.tar.xz +sha256 e6b2aca70ccc3fe3687365009dd94a2e18e82b688ed4e260e04b7412471cc173 dosfstools-4.1.tar.xz diff --git a/package/dosfstools/dosfstools.mk b/package/dosfstools/dosfstools.mk index 67c6f73103..6eb0851d0e 100644 --- a/package/dosfstools/dosfstools.mk +++ b/package/dosfstools/dosfstools.mk @@ -4,10 +4,10 @@ # ################################################################################ -DOSFSTOOLS_VERSION = 4.0 +DOSFSTOOLS_VERSION = 4.1 DOSFSTOOLS_SOURCE = dosfstools-$(DOSFSTOOLS_VERSION).tar.xz DOSFSTOOLS_SITE = https://github.com/dosfstools/dosfstools/releases/download/v$(DOSFSTOOLS_VERSION) -DOSFSTOOLS_LICENSE = GPLv3+ +DOSFSTOOLS_LICENSE = GPL-3.0+ DOSFSTOOLS_LICENSE_FILES = COPYING DOSFSTOOLS_CONF_OPTS = --enable-compat-symlinks --exec-prefix=/ HOST_DOSFSTOOLS_CONF_OPTS = --enable-compat-symlinks diff --git a/package/dovecot-pigeonhole/Config.in b/package/dovecot-pigeonhole/Config.in index 83f528766a..bd6826b412 100644 --- a/package/dovecot-pigeonhole/Config.in +++ b/package/dovecot-pigeonhole/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_DOVECOT_PIGEONHOLE bool "dovecot-pigeonhole" help - Pigeonhole is the name of the project that adds support for the Sieve - language (RFC 5228) and the ManageSieve protocol (RFC 5804) to the - Dovecot Secure IMAP Server. + Pigeonhole is the name of the project that adds support for + the Sieve language (RFC 5228) and the ManageSieve protocol + (RFC 5804) to the Dovecot Secure IMAP Server. http://pigeonhole.dovecot.org diff --git a/package/dovecot-pigeonhole/dovecot-pigeonhole.hash b/package/dovecot-pigeonhole/dovecot-pigeonhole.hash index 95325a95de..137870f987 100644 --- a/package/dovecot-pigeonhole/dovecot-pigeonhole.hash +++ b/package/dovecot-pigeonhole/dovecot-pigeonhole.hash @@ -1,2 +1,2 @@ # Locally computed after checking signature -sha256 8f0b98f18062d6e241eef74ebe16cc167cd246361cbe6657d94f0ecc5d7d3234 dovecot-2.2-pigeonhole-0.4.16.tar.gz +sha256 629204bfbdcd3480e1ebcdc246da438323c3ea5fea57480ab859e8b201ad8793 dovecot-2.2-pigeonhole-0.4.19.tar.gz diff --git a/package/dovecot-pigeonhole/dovecot-pigeonhole.mk b/package/dovecot-pigeonhole/dovecot-pigeonhole.mk index 846e7f97dd..6b835d3b19 100644 --- a/package/dovecot-pigeonhole/dovecot-pigeonhole.mk +++ b/package/dovecot-pigeonhole/dovecot-pigeonhole.mk @@ -4,10 +4,10 @@ # ################################################################################ -DOVECOT_PIGEONHOLE_VERSION = 0.4.16 +DOVECOT_PIGEONHOLE_VERSION = 0.4.19 DOVECOT_PIGEONHOLE_SOURCE = dovecot-2.2-pigeonhole-$(DOVECOT_PIGEONHOLE_VERSION).tar.gz DOVECOT_PIGEONHOLE_SITE = http://pigeonhole.dovecot.org/releases/2.2 -DOVECOT_PIGEONHOLE_LICENSE = LGPLv2.1 +DOVECOT_PIGEONHOLE_LICENSE = LGPL-2.1 DOVECOT_PIGEONHOLE_LICENSE_FILES = COPYING DOVECOT_PIGEONHOLE_DEPENDENCIES = dovecot diff --git a/package/dovecot/Config.in b/package/dovecot/Config.in index d1ff7bce91..377fd4dbb8 100644 --- a/package/dovecot/Config.in +++ b/package/dovecot/Config.in @@ -5,11 +5,11 @@ config BR2_PACKAGE_DOVECOT select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_ZLIB help - Dovecot is an open source IMAP and POP3 email server for Linux/UNIX- - like systems, written with security primarily in mind. Dovecot is an - excellent choice for both small and large installations. It's fast, - simple to set up, requires no special administration and it uses very - little memory. + Dovecot is an open source IMAP and POP3 email server for + Linux/UNIX- like systems, written with security primarily in + mind. Dovecot is an excellent choice for both small and large + installations. It's fast, simple to set up, requires no + special administration and it uses very little memory. http://www.dovecot.org @@ -17,9 +17,9 @@ if BR2_PACKAGE_DOVECOT config BR2_PACKAGE_DOVECOT_MYSQL bool "mysql support" - select BR2_PACKAGE_MYSQL depends on BR2_INSTALL_LIBSTDCPP # mysql depends on BR2_TOOLCHAIN_HAS_THREADS # mysql + select BR2_PACKAGE_MYSQL help Enable MySQL support. diff --git a/package/dovecot/dovecot.hash b/package/dovecot/dovecot.hash index e7b9c3375e..184745b394 100644 --- a/package/dovecot/dovecot.hash +++ b/package/dovecot/dovecot.hash @@ -1,2 +1,2 @@ # Locally computed after checking signature -sha256 897f92a87cda4b27b243f8149ce0ba7b7e71a2be8fb7994eb0a025e54cde18e9 dovecot-2.2.27.tar.gz +sha256 034be40907748128d65088a4f59789b2f99ae7b33a88974eae0b6a68ece376a1 dovecot-2.2.31.tar.gz diff --git a/package/dovecot/dovecot.mk b/package/dovecot/dovecot.mk index fe0afa5064..fa69acfa20 100644 --- a/package/dovecot/dovecot.mk +++ b/package/dovecot/dovecot.mk @@ -5,10 +5,10 @@ ################################################################################ DOVECOT_VERSION_MAJOR = 2.2 -DOVECOT_VERSION = $(DOVECOT_VERSION_MAJOR).27 +DOVECOT_VERSION = $(DOVECOT_VERSION_MAJOR).31 DOVECOT_SITE = http://www.dovecot.org/releases/$(DOVECOT_VERSION_MAJOR) DOVECOT_INSTALL_STAGING = YES -DOVECOT_LICENSE = LGPLv2.1 +DOVECOT_LICENSE = LGPL-2.1, MIT, Public Domain, BSD-3-Clause, Unicode-DFS-2015 DOVECOT_LICENSE_FILES = COPYING COPYING.LGPL COPYING.MIT DOVECOT_DEPENDENCIES = \ host-pkgconf \ diff --git a/package/doxygen/0001-Bug-776791-1.8.13-Regression-Segfault-building-the-b.patch b/package/doxygen/0001-Bug-776791-1.8.13-Regression-Segfault-building-the-b.patch new file mode 100644 index 0000000000..b64158ca6e --- /dev/null +++ b/package/doxygen/0001-Bug-776791-1.8.13-Regression-Segfault-building-the-b.patch @@ -0,0 +1,30 @@ +From 0f02761a158a5e9ddbd5801682482af8986dbc35 Mon Sep 17 00:00:00 2001 +From: albert-github +Date: Wed, 4 Jan 2017 12:24:55 +0100 +Subject: [PATCH] Bug 776791 - [1.8.13 Regression] Segfault building the + breathe docs + +Protected against NULL pointer of variable al + +[Romain: backport from upstream] +Signed-off-by: Romain Naour +--- + src/xmlgen.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/xmlgen.cpp b/src/xmlgen.cpp +index fe95c7a..70e198a 100644 +--- a/src/xmlgen.cpp ++++ b/src/xmlgen.cpp +@@ -620,7 +620,7 @@ static void generateXMLForMember(MemberDef *md,FTextStream &ti,FTextStream &t,De + if (md->isInline()) t << "yes"; else t << "no"; + t << "\""; + +- if (al->refQualifier!=RefQualifierNone) ++ if (al!=0 && al->refQualifier!=RefQualifierNone) + { + t << " refqual=\""; + if (al->refQualifier==RefQualifierLValue) t << "lvalue"; else t << "rvalue"; +-- +2.9.4 + diff --git a/package/doxygen/0002-build-fix-the-way-lang_cfg.h-is-generated.patch b/package/doxygen/0002-build-fix-the-way-lang_cfg.h-is-generated.patch new file mode 100644 index 0000000000..282b2bdcd8 --- /dev/null +++ b/package/doxygen/0002-build-fix-the-way-lang_cfg.h-is-generated.patch @@ -0,0 +1,58 @@ +From f9a3aa72c2bf15726bcdafd140fd21f790de555d Mon Sep 17 00:00:00 2001 +From: Bartosz Golaszewski +Date: Wed, 21 Jun 2017 14:32:25 +0200 +Subject: [PATCH] build: fix the way lang_cfg.h is generated + +This header is generated by running cmake/lang_cfg.cmake and +redirecting its stderr. If any warning is emitted by this script, it +ends up in the generated header and breaks the build. + +To avoid such problems: pass the path to the header as an argument to +the cmake script and use the cmake 'file' command instead of 'message'. + +We can't even use message(STATUS...) as - although it prints to stdout +as opposed to other types of messages - it prepends all output with +a double hyphen. + +Signed-off-by: Bartosz Golaszewski +--- + cmake/lang_cfg.cmake | 10 +++++----- + src/CMakeLists.txt | 2 +- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/cmake/lang_cfg.cmake b/cmake/lang_cfg.cmake +index c57d3ed..86c2d9a 100644 +--- a/cmake/lang_cfg.cmake ++++ b/cmake/lang_cfg.cmake +@@ -1,10 +1,10 @@ +-if(${CMAKE_ARGC} GREATER 1) +- if ("${CMAKE_ARGV3}" STREQUAL "ENONLY") +- message("#define ENGLISH_ONLY") ++if(${CMAKE_ARGC} GREATER 2) ++ if ("${CMAKE_ARGV4}" STREQUAL "ENONLY") ++ file(APPEND ${CMAKE_ARGV3} " #define ENGLISH_ONLY") + else() + math(EXPR UPTO ${CMAKE_ARGC}-1) +- foreach(i RANGE 3 ${UPTO}) +- message("#define LANG_${CMAKE_ARGV${i}}") ++ foreach(i RANGE 4 ${UPTO}) ++ file(APPEND ${CMAKE_ARGV3} " #define LANG_${CMAKE_ARGV${i}}") + endforeach() + endif() + endif() +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 08c8439..dcf4ef8 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -73,7 +73,7 @@ set_source_files_properties(${GENERATED_SRC}/ce_parse.h PROPERTIES GENERATED 1) + # lang_cfg.h + add_custom_command( + COMMENT "Generating ${GENERATED_SRC}/lang_cfg.h" +- COMMAND ${CMAKE_COMMAND} -P ${CMAKE_SOURCE_DIR}/cmake/lang_cfg.cmake ${LANG_CODES} 2> ${GENERATED_SRC}/lang_cfg.h ++ COMMAND ${CMAKE_COMMAND} -P ${CMAKE_SOURCE_DIR}/cmake/lang_cfg.cmake ${GENERATED_SRC}/lang_cfg.h ${LANG_CODES} + DEPENDS ${LANGUAGE_FILES} + OUTPUT ${GENERATED_SRC}/lang_cfg.h + ) +-- +2.9.3 + diff --git a/package/doxygen/doxygen.hash b/package/doxygen/doxygen.hash index 40cfe16a17..4cf53e7acb 100644 --- a/package/doxygen/doxygen.hash +++ b/package/doxygen/doxygen.hash @@ -1,2 +1,2 @@ # Computed locally -sha256 d4ab6e28d4d45d8956cad17470aade3fbe2356e8f64b92167e738c1887feccec doxygen-1.8.9.1.src.tar.gz +sha256 af667887bd7a87dc0dbf9ac8d86c96b552dfb8ca9c790ed1cbffaa6131573f6b doxygen-1.8.13.src.tar.gz diff --git a/package/doxygen/doxygen.mk b/package/doxygen/doxygen.mk index cf7dfee2a5..10cdcf97e0 100644 --- a/package/doxygen/doxygen.mk +++ b/package/doxygen/doxygen.mk @@ -4,26 +4,11 @@ # ################################################################################ -DOXYGEN_VERSION = 1.8.9.1 +DOXYGEN_VERSION = 1.8.13 DOXYGEN_SOURCE = doxygen-$(DOXYGEN_VERSION).src.tar.gz DOXYGEN_SITE = http://ftp.stack.nl/pub/users/dimitri -DOXYGEN_LICENSE = GPLv2 +DOXYGEN_LICENSE = GPL-2.0 DOXYGEN_LICENSE_FILES = LICENSE HOST_DOXYGEN_DEPENDENCIES = host-flex host-bison -define HOST_DOXYGEN_CONFIGURE_CMDS - (cd $(@D); $(HOST_MAKE_ENV) ./configure --shared --prefix=$(HOST_DIR)/usr) -endef - -define HOST_DOXYGEN_BUILD_CMDS - $(HOST_MAKE_ENV) $(MAKE) -C $(@D) -endef - -define HOST_DOXYGEN_INSTALL_CMDS - $(HOST_MAKE_ENV) $(MAKE) -C $(@D) install -endef - -# Doxygen's configure is a handwritten script, not an autotools-generated one. -# It doesn't accept host-autotools-package default arguments, so we have to -# call host-generic-package here. -$(eval $(host-generic-package)) +$(eval $(host-cmake-package)) diff --git a/package/drbd-utils/drbd-utils.hash b/package/drbd-utils/drbd-utils.hash index ebd13ef09e..0a38fdd396 100644 --- a/package/drbd-utils/drbd-utils.hash +++ b/package/drbd-utils/drbd-utils.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 38929279d1bf549fd1ade4ce6773a6fe209db51bbb0efe7bf6d2b7871ba0afbc drbd-utils-8.9.4.tar.gz +sha256 297b77c9b3f88de2e7dae459234f2753ea4fc2805282b2d276e35cf51e292913 drbd-utils-8.9.6.tar.gz diff --git a/package/drbd-utils/drbd-utils.mk b/package/drbd-utils/drbd-utils.mk index eb6042d2b6..7bac28bc89 100644 --- a/package/drbd-utils/drbd-utils.mk +++ b/package/drbd-utils/drbd-utils.mk @@ -4,9 +4,9 @@ # ################################################################################ -DRBD_UTILS_VERSION = 8.9.4 +DRBD_UTILS_VERSION = 8.9.6 DRBD_UTILS_SITE = http://oss.linbit.com/drbd -DRBD_UTILS_LICENSE = GPLv2+ +DRBD_UTILS_LICENSE = GPL-2.0+ DRBD_UTILS_LICENSE_FILES = COPYING DRBD_UTILS_DEPENDENCIES = host-flex diff --git a/package/dropbear/dropbear.hash b/package/dropbear/dropbear.hash index 88f3e6ed5d..98776e7179 100644 --- a/package/dropbear/dropbear.hash +++ b/package/dropbear/dropbear.hash @@ -1,2 +1,2 @@ # From https://matt.ucc.asn.au/dropbear/releases/SHA256SUM.asc -sha256 2720ea54ed009af812701bcc290a2a601d5c107d12993e5d92c0f5f81f718891 dropbear-2016.74.tar.bz2 +sha256 6cbc1dcb1c9709d226dff669e5604172a18cf5dbf9a201474d5618ae4465098c dropbear-2017.75.tar.bz2 diff --git a/package/dropbear/dropbear.mk b/package/dropbear/dropbear.mk index 743d52479e..bf7f99d975 100644 --- a/package/dropbear/dropbear.mk +++ b/package/dropbear/dropbear.mk @@ -4,10 +4,10 @@ # ################################################################################ -DROPBEAR_VERSION = 2016.74 +DROPBEAR_VERSION = 2017.75 DROPBEAR_SITE = http://matt.ucc.asn.au/dropbear/releases DROPBEAR_SOURCE = dropbear-$(DROPBEAR_VERSION).tar.bz2 -DROPBEAR_LICENSE = MIT, BSD-2c-like, BSD-2c +DROPBEAR_LICENSE = MIT, BSD-2-Clause-like, BSD-2-Clause DROPBEAR_LICENSE_FILES = LICENSE DROPBEAR_TARGET_BINS = dropbearkey dropbearconvert scp DROPBEAR_PROGRAMS = dropbear $(DROPBEAR_TARGET_BINS) diff --git a/package/dropwatch/0001-binutils-2.23.1.patch b/package/dropwatch/0001-binutils-2.23.1.patch new file mode 100644 index 0000000000..f9f090c055 --- /dev/null +++ b/package/dropwatch/0001-binutils-2.23.1.patch @@ -0,0 +1,92 @@ +From c89cc908ba7f9f41aba4f61f58103d0fc64fa19f Mon Sep 17 00:00:00 2001 +From: Gustavo Zacarias +Date: Fri, 16 Jun 2017 08:50:03 +0200 +Subject: [PATCH] Fix for binutils 2.23.1 + +libbfd from binutils 2.23.1+ requires PACKAGE* definitions from autoconf. +Patch from https://fedorahosted.org/dropwatch/ticket/5 +Upstream status: new. + +Signed-off-by: Gustavo Zacarias +--- + src/lookup.c | 2 +- + src/lookup.h | 3 +++ + src/lookup_bfd.c | 2 +- + src/lookup_kas.c | 2 +- + 4 files changed, 6 insertions(+), 3 deletions(-) + +diff --git a/src/lookup.c b/src/lookup.c +index ba54991..809981b 100644 +--- a/src/lookup.c ++++ b/src/lookup.c +@@ -27,13 +27,13 @@ + #include + #include + #include +-#include + #include + #include + #include + #include + + #include "lookup.h" ++#include + + extern struct lookup_methods bfd_methods; + extern struct lookup_methods kallsym_methods; +diff --git a/src/lookup.h b/src/lookup.h +index e6568d8..47a7b56 100644 +--- a/src/lookup.h ++++ b/src/lookup.h +@@ -28,6 +28,9 @@ + #include + #include + ++// satisfy PR 14072 in bfd.h ++#define PACKAGE 1 ++#define PACKAGE_VERSION 1 + + /* + * Initalization routine +diff --git a/src/lookup_bfd.c b/src/lookup_bfd.c +index cc7010b..271d426 100644 +--- a/src/lookup_bfd.c ++++ b/src/lookup_bfd.c +@@ -25,13 +25,13 @@ + #include + #include + #include +-#include + #include + #include + #include + #include + + #include "lookup.h" ++#include + + + static int lookup_bfd_init(void) +diff --git a/src/lookup_kas.c b/src/lookup_kas.c +index 16e639f..556cb62 100644 +--- a/src/lookup_kas.c ++++ b/src/lookup_kas.c +@@ -25,7 +25,6 @@ + #include + #include + #include +-#include + #include + #include + #include +@@ -33,6 +32,7 @@ + #include + + #include "lookup.h" ++#include + + struct symbol_entry { + char *sym_name; +-- +2.1.4 + diff --git a/package/dropwatch/0001-build.patch b/package/dropwatch/0001-build.patch deleted file mode 100644 index eed43e8dd7..0000000000 --- a/package/dropwatch/0001-build.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 03bab84ca3f102274837e83ee6da4c997a9da018 Mon Sep 17 00:00:00 2001 -From: Tzu-Jung Lee -Date: Fri, 12 Jul 2013 20:00:57 +0800 -Subject: [PATCH] build: modify hardcoded gcc to support buildroot - -Signed-off-by: Tzu-Jung Lee - -diff --git a/src/Makefile b/src/Makefile -index 026b6ba..b87ae9f 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -5,10 +5,10 @@ OBJFILES := main.o lookup.o\ - lookup_bfd.o lookup_kas.o - - dropwatch: $(OBJFILES) -- gcc -g -o dropwatch $(OBJFILES) $(LDFLAGS) -+ $(CC) -g -o dropwatch $(OBJFILES) $(LDFLAGS) - - %.o: %.c -- gcc $(CFLAGS) $< -+ $(CC) $(CFLAGS) $< - clean: - rm -f dropwatch *.o - --- -1.8.3.2 - diff --git a/package/dropwatch/0002-binutils-2.23.1.patch b/package/dropwatch/0002-binutils-2.23.1.patch deleted file mode 100644 index 4d43356a6a..0000000000 --- a/package/dropwatch/0002-binutils-2.23.1.patch +++ /dev/null @@ -1,74 +0,0 @@ -libbfd from binutils 2.23.1+ requires PACKAGE* definitions from autoconf. -Patch from https://fedorahosted.org/dropwatch/ticket/5 -Upstream status: new. - -Signed-off-by: Gustavo Zacarias - -diff -aurd src.orig/lookup.c src/lookup.c ---- a/src/lookup.c 2011-10-03 22:51:38.000000000 +0400 -+++ b/src/lookup.c 2013-02-18 09:13:56.683214438 +0400 -@@ -27,13 +27,13 @@ - #include - #include - #include --#include - #include - #include - #include - #include - - #include "lookup.h" -+#include - - extern struct lookup_methods bfd_methods; - extern struct lookup_methods kallsym_methods; -diff -aurd src.orig/lookup.h src/lookup.h ---- a/src/lookup.h 2011-10-03 22:51:38.000000000 +0400 -+++ b/src/lookup.h 2013-02-18 09:11:00.506895026 +0400 -@@ -28,6 +28,9 @@ - #include - #include - -+// satisfy PR 14072 in bfd.h -+#define PACKAGE 1 -+#define PACKAGE_VERSION 1 - - /* - * Initalization routine -diff -aurd src.orig/lookup_bfd.c src/lookup_bfd.c ---- a/src/lookup_bfd.c 2012-01-16 22:34:11.000000000 +0400 -+++ b/src/lookup_bfd.c 2013-02-18 09:14:02.472984310 +0400 -@@ -25,13 +25,13 @@ - #include - #include - #include --#include - #include - #include - #include - #include - - #include "lookup.h" -+#include - - - static int lookup_bfd_init(void) -diff -aurd src.orig/lookup_kas.c src/lookup_kas.c ---- a/src/lookup_kas.c 2012-05-31 02:43:23.000000000 +0400 -+++ b/src/lookup_kas.c 2013-02-18 09:14:07.906101713 +0400 -@@ -25,7 +25,6 @@ - #include - #include - #include --#include - #include - #include - #include -@@ -33,6 +32,7 @@ - #include - - #include "lookup.h" -+#include - - struct symbol_entry { - char *sym_name; diff --git a/package/dropwatch/0002-remove-werror.patch b/package/dropwatch/0002-remove-werror.patch new file mode 100644 index 0000000000..4b6c989364 --- /dev/null +++ b/package/dropwatch/0002-remove-werror.patch @@ -0,0 +1,31 @@ +From 2462baf55939ee53bb28ff5f9474761f2a888add Mon Sep 17 00:00:00 2001 +From: Markos Chandras +Date: Fri, 16 Jun 2017 08:53:31 +0200 +Subject: [PATCH] remove werror + +-Werror shouldn't be used in released code since it can +cause random build failures on moderate warnings. It also +depends on the used toolchain since different toolchains may +or may not print the same warnings. + +Signed-off-by: Markos Chandras +--- + src/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/Makefile b/src/Makefile +index 5bc6aaa..527c1da 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -1,7 +1,7 @@ + all: dropwatch + + CPPFLAGS += -D_GNU_SOURCE +-CFLAGS += -g -Wall -Werror $(shell pkg-config --cflags libnl-3.0) ++CFLAGS += -g -Wall $(shell pkg-config --cflags libnl-3.0) + LDLIBS += -lbfd -lreadline -lnl-3 -lnl-genl-3 + + OBJFILES := main.o lookup.o\ +-- +2.1.4 + diff --git a/package/dropwatch/0003-remove-werror.patch b/package/dropwatch/0003-remove-werror.patch deleted file mode 100644 index 97b26b74c4..0000000000 --- a/package/dropwatch/0003-remove-werror.patch +++ /dev/null @@ -1,18 +0,0 @@ --Werror shouldn't be used in released code since it can -cause random build failures on moderate warnings. It also -depends on the used toolchain since different toolchains may -or may not print the same warnings. - -Signed-off-by: Markos Chandras - -Index: dropwatch-1.4/src/Makefile -=================================================================== ---- dropwatch-1.4.orig/src/Makefile -+++ dropwatch-1.4/src/Makefile -@@ -1,5 +1,5 @@ - all: dropwatch --CFLAGS+=-c -g -D_GNU_SOURCE -Wall -Werror `pkg-config --cflags libnl-3.0` -+CFLAGS+=-c -g -D_GNU_SOURCE -Wall `pkg-config --cflags libnl-3.0` - LDFLAGS=-lbfd -lreadline -lnl-3 -lnl-genl-3 - OBJFILES := main.o lookup.o\ - lookup_bfd.o lookup_kas.o diff --git a/package/dropwatch/Config.in b/package/dropwatch/Config.in index 6f04c85dd6..f470f1b562 100644 --- a/package/dropwatch/Config.in +++ b/package/dropwatch/Config.in @@ -1,16 +1,16 @@ config BR2_PACKAGE_DROPWATCH bool "dropwatch" - select BR2_PACKAGE_BINUTILS depends on !BR2_nios2 # binutils depends on BR2_USE_WCHAR # binutils + depends on BR2_TOOLCHAIN_HAS_THREADS # libnl + select BR2_PACKAGE_BINUTILS select BR2_PACKAGE_READLINE select BR2_PACKAGE_LIBNL - depends on BR2_TOOLCHAIN_HAS_THREADS # libnl help Dropwatch is an interactive utility for monitoring and recording packets that are dropped by the kernel - https://fedorahosted.org/dropwatch/ + http://git.infradead.org/users/nhorman/dropwatch.git comment "dropwatch needs a toolchain w/ threads, wchar" depends on !BR2_nios2 diff --git a/package/dropwatch/dropwatch.hash b/package/dropwatch/dropwatch.hash index 3f15c84ec1..585b035d0f 100644 --- a/package/dropwatch/dropwatch.hash +++ b/package/dropwatch/dropwatch.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 c2348b8d72781ab0f3ca52b8415d78ea98808280e14e7d68e76605f196bb5c4a dropwatch-1.4.tar.xz +sha256 4937007da3d0071c9a37ee0360cfd1657b342fd2a327d83ba992fbf3e0ea51b5 dropwatch-7c33d8a8ed105b07a46b55d71d93b36ed34c16db.tar.gz diff --git a/package/dropwatch/dropwatch.mk b/package/dropwatch/dropwatch.mk index 3565927e29..692a6e8c40 100644 --- a/package/dropwatch/dropwatch.mk +++ b/package/dropwatch/dropwatch.mk @@ -4,26 +4,22 @@ # ################################################################################ -DROPWATCH_VERSION = 1.4 -DROPWATCH_SOURCE = dropwatch-$(DROPWATCH_VERSION).tar.xz -DROPWATCH_SITE = https://git.fedorahosted.org/cgit/dropwatch.git/snapshot -DROPWATCH_DEPENDENCIES = binutils libnl readline host-pkgconf -DROPWATCH_LICENSE = GPLv2 +DROPWATCH_VERSION = 7c33d8a8ed105b07a46b55d71d93b36ed34c16db +DROPWATCH_SITE = git://git.infradead.org/users/nhorman/dropwatch.git +DROPWATCH_DEPENDENCIES = binutils libnl readline host-pkgconf \ + $(TARGET_NLS_DEPENDENCIES) +DROPWATCH_LICENSE = GPL-2.0 DROPWATCH_LICENSE_FILES = COPYING # libbfd may be linked to libintl -# Ugly... but LDFLAGS are hardcoded anyway -DROPWATCH_LDFLAGS = \ - $(TARGET_LDFLAGS) -lbfd -lreadline -lnl-3 -lnl-genl-3 \ - -lpthread -lncurses -lm - -ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y) -DROPWATCH_LDFLAGS += -lintl -endif +# Ugly... but LDLIBS are hardcoded anyway +DROPWATCH_LDLIBS = \ + -lbfd -lreadline -lnl-3 -lnl-genl-3 -lpthread -lncurses -lm \ + $(TARGET_NLS_LIBS) define DROPWATCH_BUILD_CMDS $(TARGET_CONFIGURE_OPTS) $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ - LDFLAGS="$(DROPWATCH_LDFLAGS)" build + LDLIBS="$(DROPWATCH_LDLIBS)" build endef define DROPWATCH_INSTALL_TARGET_CMDS diff --git a/package/dsp-tools/dsp-tools.mk b/package/dsp-tools/dsp-tools.mk index c91ed20629..ec63bcd111 100644 --- a/package/dsp-tools/dsp-tools.mk +++ b/package/dsp-tools/dsp-tools.mk @@ -7,7 +7,7 @@ DSP_TOOLS_VERSION = v2.0 DSP_TOOLS_SITE = $(call github,felipec,dsp-tools,$(DSP_TOOLS_VERSION)) DSP_TOOLS_DEPENDENCIES = tidsp-binaries -DSP_TOOLS_LICENSE = LGPLv2.1 +DSP_TOOLS_LICENSE = LGPL-2.1 DSP_TOOLS_LICENSE_FILES = LICENSE define DSP_TOOLS_BUILD_CMDS diff --git a/package/dstat/Config.in b/package/dstat/Config.in index 6536a5e544..110aee844b 100644 --- a/package/dstat/Config.in +++ b/package/dstat/Config.in @@ -6,19 +6,20 @@ config BR2_PACKAGE_DSTAT depends on !BR2_STATIC_LIBS # python select BR2_PACKAGE_PYTHON help - Dstat, written in Python, is a versatile replacement for vmstat, - iostat, netstat and ifstat. Dstat overcomes some of their limitations - and adds some extra features, more counters and flexibility. Dstat is - handy for monitoring systems during performance tuning tests, - benchmarks or troubleshooting. - Dstat allows you to view all of your system resources in real-time, - you can e.g. compare disk utilization in combination with interrupts - from your IDE controller, or compare the network bandwidth numbers - directly with the disk throughput (in the same interval). + Dstat, written in Python, is a versatile replacement for + vmstat, iostat, netstat and ifstat. Dstat overcomes some of + their limitations and adds some extra features, more counters + and flexibility. Dstat is handy for monitoring systems during + performance tuning tests, benchmarks or troubleshooting. + Dstat allows you to view all of your system resources in + real-time, you can e.g. compare disk utilization in + combination with interrupts from your IDE controller, or + compare the network bandwidth numbers directly with the disk + throughput (in the same interval). - Note that to get proper output, your terminal size should be known by - the termios subsystem. This can be done by running the 'resize' - utility of busybox. + Note that to get proper output, your terminal size should be + known by the termios subsystem. This can be done by running + the 'resize' utility of busybox. http://dag.wieers.com/home-made/dstat/ diff --git a/package/dstat/dstat.hash b/package/dstat/dstat.hash index f701561747..a4dbcc9819 100644 --- a/package/dstat/dstat.hash +++ b/package/dstat/dstat.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 34a986d9d7c028bd9dcb6b2ef1c740f7220de5c9cf976870a2b62aca23b33bae dstat-0.7.2.tar.bz2 +sha256 46e63821857b69fbc60cb2c7d893ccdd6f31cd9ef24b8bb0b68951e1c7374898 dstat-0.7.3.tar.gz diff --git a/package/dstat/dstat.mk b/package/dstat/dstat.mk index 180031f20a..9c4b44576b 100644 --- a/package/dstat/dstat.mk +++ b/package/dstat/dstat.mk @@ -4,10 +4,9 @@ # ################################################################################ -DSTAT_VERSION = 0.7.2 -DSTAT_SOURCE = dstat-$(DSTAT_VERSION).tar.bz2 -DSTAT_SITE = http://dag.wieers.com/home-made/dstat -DSTAT_LICENSE = GPLv2 +DSTAT_VERSION = 0.7.3 +DSTAT_SITE = $(call github,dagwieers,dstat,$(DSTAT_VERSION)) +DSTAT_LICENSE = GPL-2.0 DSTAT_LICENSE_FILES = COPYING define DSTAT_INSTALL_TARGET_CMDS diff --git a/package/dt-utils/0001-common-Rename-strlcpy-to-DT_strlcpy.patch b/package/dt-utils/0001-common-Rename-strlcpy-to-DT_strlcpy.patch new file mode 100644 index 0000000000..79c43d6a5d --- /dev/null +++ b/package/dt-utils/0001-common-Rename-strlcpy-to-DT_strlcpy.patch @@ -0,0 +1,58 @@ +From 3d229cc0f8dc81335c53b1f7471ef82ef2f6e570 Mon Sep 17 00:00:00 2001 +From: Marcin Niestroj +Date: Fri, 23 Jun 2017 11:11:04 +0200 +Subject: [PATCH] common: Rename strlcpy to DT_strlcpy +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +strlcpy function is defined in uClibc library, causing "static +declaration of ‘strlcpy’ follows non-static declaration" build +errors. + +Rename internal strlcpy function to DT_strlcpy to avoid conflicts. + +Signed-off-by: Marcin Niestroj +--- + src/dt/common.h | 4 ++-- + src/libdt.c | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/dt/common.h b/src/dt/common.h +index f6bad44..992e28f 100644 +--- a/src/dt/common.h ++++ b/src/dt/common.h +@@ -168,7 +168,7 @@ static inline char *barebox_asprintf(const char *fmt, ...) + #define basprintf(fmt, arg...) barebox_asprintf(fmt, ##arg) + + /** +- * strlcpy - Copy a %NUL terminated string into a sized buffer ++ * DT_strlcpy - Copy a %NUL terminated string into a sized buffer + * @dest: Where to copy the string to + * @src: Where to copy the string from + * @size: size of destination buffer +@@ -178,7 +178,7 @@ static inline char *barebox_asprintf(const char *fmt, ...) + * of course, the buffer size is zero). It does not pad + * out the result like strncpy() does. + */ +-static inline size_t strlcpy(char *dest, const char *src, size_t size) ++static inline size_t DT_strlcpy(char *dest, const char *src, size_t size) + { + size_t ret = strlen(src); + +diff --git a/src/libdt.c b/src/libdt.c +index 4db5160..3adeed2 100644 +--- a/src/libdt.c ++++ b/src/libdt.c +@@ -1503,7 +1503,7 @@ int of_modalias_node(struct device_node *node, char *modalias, int len) + if (!compatible || strlen(compatible) > cplen) + return -ENODEV; + p = strchr(compatible, ','); +- strlcpy(modalias, p ? p + 1 : compatible, len); ++ DT_strlcpy(modalias, p ? p + 1 : compatible, len); + return 0; + } + +-- +2.13.1 + diff --git a/package/dt-utils/0002-common-Include-sys-types.h-header.patch b/package/dt-utils/0002-common-Include-sys-types.h-header.patch new file mode 100644 index 0000000000..a49d46867b --- /dev/null +++ b/package/dt-utils/0002-common-Include-sys-types.h-header.patch @@ -0,0 +1,38 @@ +From b8bc4e83bf447b6330ece54e94a1684d12ecdd0b Mon Sep 17 00:00:00 2001 +From: Marcin Niestroj +Date: Fri, 23 Jun 2017 12:00:30 +0200 +Subject: [PATCH] common: Include sys/types.h header +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Build with musl library fails with following error: + +In file included from src/crypto/sha1.c:21:0: +./src/digest.h:95:10: error: unknown type name ‘ulong’ + ulong start, ulong size); +... + +Fix that by including sys/types.h header in common.h, so ulong type +is defined with musl library. + +Signed-off-by: Marcin Niestroj +--- + src/dt/common.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/dt/common.h b/src/dt/common.h +index 992e28f..1425c53 100644 +--- a/src/dt/common.h ++++ b/src/dt/common.h +@@ -13,6 +13,7 @@ + + #include + #include ++#include + + #include + +-- +2.13.1 + diff --git a/package/dt-utils/Config.in b/package/dt-utils/Config.in new file mode 100644 index 0000000000..7c9a1deea0 --- /dev/null +++ b/package/dt-utils/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_DT_UTILS + bool "dt-utils" + depends on BR2_PACKAGE_HAS_UDEV + help + Tools for flattened device-tree dumping and barebox state + manipulation. + + https://git.pengutronix.de/cgit/tools/dt-utils/ + +comment "dt-utils needs udev /dev management" + depends on !BR2_PACKAGE_HAS_UDEV diff --git a/package/dt-utils/dt-utils.mk b/package/dt-utils/dt-utils.mk new file mode 100644 index 0000000000..5b1375051e --- /dev/null +++ b/package/dt-utils/dt-utils.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# dt-utils +# +################################################################################ + +DT_UTILS_VERSION = v2017.03.0 +DT_UTILS_SITE = https://git.pengutronix.de/git/tools/dt-utils +DT_UTILS_SITE_METHOD = git +DT_UTILS_LICENSE = GPL-2.0 +DT_UTILS_LICENSE_FILES = COPYING +DT_UTILS_DEPENDENCIES = udev +DT_UTILS_AUTORECONF = YES + +$(eval $(autotools-package)) diff --git a/package/dtach/Config.in b/package/dtach/Config.in index bea112b36d..3e6e4934cf 100644 --- a/package/dtach/Config.in +++ b/package/dtach/Config.in @@ -2,8 +2,9 @@ config BR2_PACKAGE_DTACH bool "dtach" depends on BR2_USE_MMU # fork() help - dtach is a tiny program that emulates the detach feature of screen, - allowing you to run a program in an environment that is protected - from the controlling terminal and attach to it later. + dtach is a tiny program that emulates the detach feature of + screen, allowing you to run a program in an environment that + is protected from the controlling terminal and attach to it + later. http://dtach.sourceforge.net/ diff --git a/package/dtach/dtach.mk b/package/dtach/dtach.mk index 75c443470e..571481cdda 100644 --- a/package/dtach/dtach.mk +++ b/package/dtach/dtach.mk @@ -6,7 +6,7 @@ DTACH_VERSION = v0.9 DTACH_SITE = $(call github,crigler,dtach,$(DTACH_VERSION)) -DTACH_LICENSE = GPLv2+ +DTACH_LICENSE = GPL-2.0+ DTACH_LICENSE_FILES = COPYING # The Makefile does not have an install target. diff --git a/package/dtc/0002-extra-cflags.patch b/package/dtc/0002-extra-cflags.patch deleted file mode 100644 index f070692c0f..0000000000 --- a/package/dtc/0002-extra-cflags.patch +++ /dev/null @@ -1,32 +0,0 @@ -Makefile: append the CFLAGS to existing ones - -Allow the user to pass custom CFLAGS (eg. optimisation flags). - -Do not use EXTRA_CFLAGS, append to existing CFLAGS with += (Arnout) - -Signed-off-by: "Yann E. MORIN" -Cc: Arnout Vandecappelle - ---- -Patch not sent upstream. - -Although not specific to buildroot, I am not sure this is the best -way to handle user-supplied CFLAGS. - -diff --git a/Makefile b/Makefile -index 962f94eba661..bf6b317158cf 100644 ---- a/Makefile -+++ b/Makefile -@@ -16,9 +16,10 @@ LOCAL_VERSION = - CONFIG_LOCALVERSION = - - CPPFLAGS = -I libfdt -I . --WARNINGS = -Werror -Wall -Wpointer-arith -Wcast-qual -Wnested-externs \ -+WARNINGS = -Wall -Wpointer-arith -Wcast-qual -Wnested-externs \ - -Wstrict-prototypes -Wmissing-prototypes -Wredundant-decls -Wshadow --CFLAGS = -g -Os -fPIC -Werror $(WARNINGS) -+CFLAGS ?= -g -Os -+CFLAGS += -fPIC $(WARNINGS) - - BISON = bison - LEX = flex diff --git a/package/dtc/Config.in b/package/dtc/Config.in index 39223f7226..73bd36883b 100644 --- a/package/dtc/Config.in +++ b/package/dtc/Config.in @@ -6,7 +6,8 @@ config BR2_PACKAGE_DTC a given format and outputs a device-tree in another format. Note that only the library is installed. - If you want the programs, say 'y' here, and to "dtc programs", below. + If you want the programs, say 'y' here, and to "dtc programs", + below. https://git.kernel.org/cgit/utils/dtc/dtc.git @@ -19,13 +20,14 @@ config BR2_PACKAGE_DTC_PROGRAMS - convert-dtsv0 convert from version 0 to version 1 - dtc the device tree compiler - dtdiff compare two device trees (needs bash) - - fdtdump print a readable version of a flat device tree + - fdtdump print a readable version of a + flat device tree - fdtget read values from device tree - fdtput write a property value to a device tree - Note: dtdiff requires bash, so if bash is not selected, dtdiff will - be removed from the target file system. Enable bash if you - need dtdiff on the target. + Note: dtdiff requires bash, so if bash is not selected, dtdiff + will be removed from the target file system. Enable bash if + you need dtdiff on the target. comment "dtdiff will not be installed: it requires bash" depends on BR2_PACKAGE_DTC_PROGRAMS diff --git a/package/dtc/Config.in.host b/package/dtc/Config.in.host index cbabf0a240..f80a49bb95 100644 --- a/package/dtc/Config.in.host +++ b/package/dtc/Config.in.host @@ -4,6 +4,7 @@ config BR2_PACKAGE_HOST_DTC The Device Tree Compiler, dtc, takes as input a device-tree in a given format and outputs a device-tree in another format. - Install host tools: dtc, convert-dtsv0, fdtdump, fdtget and fdtput. + Install host tools: dtc, convert-dtsv0, fdtdump, fdtget and + fdtput. https://git.kernel.org/cgit/utils/dtc/dtc.git diff --git a/package/dtc/dtc.hash b/package/dtc/dtc.hash index 8b3af331fd..75c2e40eea 100644 --- a/package/dtc/dtc.hash +++ b/package/dtc/dtc.hash @@ -1,2 +1,2 @@ # from https://www.kernel.org/pub/software/utils/dtc/sha256sums.asc -sha256 77992ad8eac7b68f553d0ba58e5b51604ac803d126196c99e3ae38aaae28bb94 dtc-1.4.1.tar.xz +sha256 470731d5c015b160d26a96645dbb1c7337d6e7b8c98244612002b66bedf6cffb dtc-1.4.4.tar.xz diff --git a/package/dtc/dtc.mk b/package/dtc/dtc.mk index f6800f36b3..1bcee29bb3 100644 --- a/package/dtc/dtc.mk +++ b/package/dtc/dtc.mk @@ -4,10 +4,10 @@ # ################################################################################ -DTC_VERSION = 1.4.1 +DTC_VERSION = 1.4.4 DTC_SOURCE = dtc-$(DTC_VERSION).tar.xz DTC_SITE = https://www.kernel.org/pub/software/utils/dtc -DTC_LICENSE = GPLv2+ or BSD-2c (library) +DTC_LICENSE = GPL-2.0+ or BSD-2-Clause (library) DTC_LICENSE_FILES = README.license GPL DTC_INSTALL_STAGING = YES DTC_DEPENDENCIES = host-bison host-flex @@ -19,7 +19,7 @@ endef ifeq ($(BR2_PACKAGE_DTC_PROGRAMS),y) -DTC_LICENSE := $(DTC_LICENSE), GPLv2+ (programs) +DTC_LICENSE := $(DTC_LICENSE), GPL-2.0+ (programs) DTC_INSTALL_GOAL = install ifeq ($(BR2_PACKAGE_BASH),) DTC_POST_INSTALL_TARGET_HOOKS += DTC_POST_INSTALL_TARGET_RM_DTDIFF @@ -32,7 +32,7 @@ DTC_INSTALL_GOAL = install-lib endif # $(BR2_PACKAGE_DTC_PROGRAMS) != y define DTC_BUILD_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) PREFIX=/usr + $(TARGET_CONFIGURE_OPTS) $(MAKE) CFLAGS="$(TARGET_CFLAGS) -fPIC" -C $(@D) PREFIX=/usr endef # For staging, only the library is needed @@ -47,11 +47,11 @@ endef # host build define HOST_DTC_BUILD_CMDS - $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) PREFIX=$(HOST_DIR)/usr + $(HOST_CONFIGURE_OPTS) $(MAKE) CFLAGS="$(HOST_CFLAGS) -fPIC" -C $(@D) PREFIX=$(HOST_DIR) endef define HOST_DTC_INSTALL_CMDS - $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) PREFIX=$(HOST_DIR)/usr install-bin + $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) PREFIX=$(HOST_DIR) install endef $(eval $(generic-package)) diff --git a/package/dtv-scan-tables/dtv-scan-tables.hash b/package/dtv-scan-tables/dtv-scan-tables.hash new file mode 100644 index 0000000000..02f086dc5b --- /dev/null +++ b/package/dtv-scan-tables/dtv-scan-tables.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 ec64aa81a207372340a04d3e9e950ff2f8b4f404580f21480cdbf06019057a9f dtv-scan-tables-ceb11833b35f05813b1f0397a60e0f3b99430aab.tar.gz diff --git a/package/dtv-scan-tables/dtv-scan-tables.mk b/package/dtv-scan-tables/dtv-scan-tables.mk index 8a782cb404..3c546ed84f 100644 --- a/package/dtv-scan-tables/dtv-scan-tables.mk +++ b/package/dtv-scan-tables/dtv-scan-tables.mk @@ -12,9 +12,9 @@ DTV_SCAN_TABLES_SITE_METHOD = git # as per traditional copyright, but just a collection of 'facts', so there's # probably no license to apply to these data files. # However, the package prominently contains the COPYING and COPYING.LIB -# license files (respectively for the GPLv2 and the LGPLv2.1), so we use +# license files (respectively for the GPL-2.0 and the LGPL-2.1), so we use # that as the licensing information. -DTV_SCAN_TABLES_LICENSE = GPLv2, LGPLv2.1 +DTV_SCAN_TABLES_LICENSE = GPL-2.0, LGPL-2.1 DTV_SCAN_TABLES_LICENSE_FILES = COPYING COPYING.LGPL # In order to avoid issues with file name encodings, we rename the diff --git a/package/duma/duma.mk b/package/duma/duma.mk index cd7f33edca..0e8a623bde 100644 --- a/package/duma/duma.mk +++ b/package/duma/duma.mk @@ -7,7 +7,7 @@ DUMA_VERSION = 2.5.15 DUMA_SOURCE = duma_$(subst .,_,$(DUMA_VERSION)).tar.gz DUMA_SITE = http://downloads.sourceforge.net/project/duma/duma/$(DUMA_VERSION) -DUMA_LICENSE = GPLv2+, LGPLv2.1+ +DUMA_LICENSE = GPL-2.0+, LGPL-2.1+ DUMA_LICENSE_FILES = COPYING-GPL COPYING-LGPL DUMA_INSTALL_STAGING = YES @@ -18,9 +18,9 @@ DUMA_OPTIONS = \ # The dependency of some source files in duma_config.h, which is generated at # build time, is not specified in the Makefile. Force non-parallel build. define DUMA_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE1) $(TARGET_CONFIGURE_OPTS) \ + $(TARGET_MAKE_ENV) $(MAKE1) $(TARGET_CONFIGURE_OPTS) \ OS=linux \ - DUMA_OPTIONS="$(DUMA_OPTIONS)" \ + DUMA_OPTIONS="$(DUMA_OPTIONS)" \ $(DUMA_CPP) -C $(@D) endef diff --git a/package/dump1090/Config.in b/package/dump1090/Config.in new file mode 100644 index 0000000000..c796faef91 --- /dev/null +++ b/package/dump1090/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_DUMP1090 + bool "dump1090" + depends on BR2_TOOLCHAIN_HAS_THREADS # librtlsdr + select BR2_PACKAGE_LIBRTLSDR + help + Dump1090 is a simple Mode S decoder for RTLSDR devices + + https://github.com/MalcolmRobb/dump1090 + +comment "dump1090 needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/dump1090/dump1090.hash b/package/dump1090/dump1090.hash new file mode 100644 index 0000000000..fbbf21a015 --- /dev/null +++ b/package/dump1090/dump1090.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 72c1a94f3e6788af1e72b8cac13bb53e0989fe02cd13e191133f5519d2a2fefb dump1090-bff92c4ad772a0a8d433f788d39dae97e00e4dbe.tar.gz +sha256 29046ef7ee0b7b127bcc64faf135035820906dea2b379b2efcfc119131a39f7a anet.h diff --git a/package/dump1090/dump1090.mk b/package/dump1090/dump1090.mk new file mode 100644 index 0000000000..69fd67948c --- /dev/null +++ b/package/dump1090/dump1090.mk @@ -0,0 +1,25 @@ +################################################################################ +# +# dump1090 +# +################################################################################ + +DUMP1090_VERSION = bff92c4ad772a0a8d433f788d39dae97e00e4dbe +DUMP1090_SITE = $(call github,MalcolmRobb,dump1090,$(DUMP1090_VERSION)) +DUMP1090_LICENSE = BSD-3-Clause +# no real license file +DUMP1090_LICENSE_FILES = anet.h +DUMP1090_DEPENDENCIES = host-pkgconf librtlsdr + +define DUMP1090_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) PREFIX=/usr -C $(@D) +endef + +define DUMP1090_INSTALL_TARGET_CMDS + $(INSTALL) -m 0755 -D $(@D)/dump1090 $(TARGET_DIR)/usr/bin/dump1090 + $(INSTALL) -m 0755 -D $(@D)/view1090 $(TARGET_DIR)/usr/bin/view1090 + $(INSTALL) -d $(TARGET_DIR)/usr/share/dump1090 + cp -r $(@D)/public_html/* $(TARGET_DIR)/usr/share/dump1090 +endef + +$(eval $(generic-package)) diff --git a/package/dvb-apps/0005-utils-fix-build-with-kernel-headers-4.14.patch b/package/dvb-apps/0005-utils-fix-build-with-kernel-headers-4.14.patch new file mode 100644 index 0000000000..279cdecb77 --- /dev/null +++ b/package/dvb-apps/0005-utils-fix-build-with-kernel-headers-4.14.patch @@ -0,0 +1,52 @@ +# HG changeset patch +# User "Yann E. MORIN" +# Date 1511772629 -3600 +# Mon Nov 27 09:50:29 2017 +0100 +# Branch yem/fixes +# Node ID 0848fa96c6eb13cf37249d317eff12cbd2f59ff7 +# Parent 3d43b280298c39a67d1d889e01e173f52c12da35 +utils: fix build with kernel headers >= 4.14 + +In kernel 4.14, CA_SET_PID was removed, in commit 833ff5e7feda (media: +ca.h: get rid of CA_SET_PID). + +Fix dst-util to not fail the build when this is missing. + +Fiuxes build failures such as: + http://autobuild.buildroot.org/results/708/708f11809b2cafc2a3375dc515803c87b376ed4d/build-end.log + http://autobuild.buildroot.org/results/e39/e3939d44376e92e8a35fb179d9890510334d8304/build-end.log + +Signed-off-by: "Yann E. MORIN" + +diff --git a/util/dst-utils/dst_test.c b/util/dst-utils/dst_test.c +--- a/util/dst-utils/dst_test.c ++++ b/util/dst-utils/dst_test.c +@@ -111,6 +111,7 @@ + return 0; + } + ++#if defined CA_SET_PID + static int dst_set_pid(int cafd) + { + if ((ioctl(cafd, CA_SET_PID)) < 0) { +@@ -120,6 +121,7 @@ + + return 0; + } ++#endif + + static int dst_get_descr(int cafd) + { +@@ -230,8 +232,12 @@ + dst_reset(cafd); + break; + case 'p': ++#if defined CA_SET_PID + printf("%s: PID\n", __FUNCTION__); + dst_set_pid(cafd); ++#else ++ printf("%s: PID not supported\n", __FUNCTION__); ++#endif + break; + case 'g': + printf("%s: Get Desc\n", __FUNCTION__); diff --git a/package/dvb-apps/dvb-apps.mk b/package/dvb-apps/dvb-apps.mk index c52252c816..ffab0db682 100644 --- a/package/dvb-apps/dvb-apps.mk +++ b/package/dvb-apps/dvb-apps.mk @@ -7,7 +7,7 @@ DVB_APPS_VERSION = 3d43b280298c39a67d1d889e01e173f52c12da35 DVB_APPS_SITE = http://linuxtv.org/hg/dvb-apps DVB_APPS_SITE_METHOD = hg -DVB_APPS_LICENSE = GPLv2, GPLv2+, LGPLv2.1+ +DVB_APPS_LICENSE = GPL-2.0, GPL-2.0+, LGPL-2.1+ DVB_APPS_LICENSE_FILES = COPYING COPYING.LGPL ifeq ($(BR2_ENABLE_LOCALE),) @@ -15,6 +15,8 @@ DVB_APPS_DEPENDENCIES = libiconv DVB_APPS_LDLIBS += -liconv endif +DVB_APPS_MAKE_OPTS = PERL5LIB=$(@D)/util/scan + ifeq ($(BR2_STATIC_LIBS),y) DVB_APPS_MAKE_OPTS += enable_shared=no else ifeq ($(BR2_SHARED_LIBS),y) @@ -25,7 +27,7 @@ DVB_APPS_INSTALL_STAGING = YES define DVB_APPS_BUILD_CMDS $(TARGET_CONFIGURE_OPTS) LDLIBS="$(DVB_APPS_LDLIBS)" \ - $(MAKE) -C $(@D) CROSS_ROOT=$(STAGING_DIR) \ + $(MAKE1) -C $(@D) CROSS_ROOT=$(STAGING_DIR) \ $(DVB_APPS_MAKE_OPTS) endef diff --git a/package/dvblast/Config.in b/package/dvblast/Config.in index b7f0c065bf..c358531edc 100644 --- a/package/dvblast/Config.in +++ b/package/dvblast/Config.in @@ -1,10 +1,10 @@ config BR2_PACKAGE_DVBLAST bool "dvblast" + depends on !BR2_bfin # libev + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # clock_nanosleep() select BR2_PACKAGE_BITSTREAM select BR2_PACKAGE_LIBEV select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE - depends on !BR2_bfin # libev - depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # clock_nanosleep() help DVBlast is a simple and powerful MPEG-2/TS demux and streaming application. diff --git a/package/dvblast/dvblast.hash b/package/dvblast/dvblast.hash index 198549f4c0..d6ec4cb036 100644 --- a/package/dvblast/dvblast.hash +++ b/package/dvblast/dvblast.hash @@ -1,4 +1,2 @@ -# from https://get.videolan.org/dvblast/3.0/dvblast-3.0.tar.bz2.md5 -md5 89ea9ffb16476d47b8853e52a8a3ee63 dvblast-3.0.tar.bz2 -# locally calculated -sha256 4fc3eb2a3d3545cb76a5c515a16671d1c34fe2f5dad57b71e89bd54c14c3045e dvblast-3.0.tar.bz2 +# From https://get.videolan.org/dvblast/3.1/dvblast-3.1.tar.bz2 +sha256 3159e8666a3b1822aeccd01684bdcad712a0da88d758bef6b7e2c396f27fd3e0 dvblast-3.1.tar.bz2 diff --git a/package/dvblast/dvblast.mk b/package/dvblast/dvblast.mk index ef9a6669e3..3cf24df248 100644 --- a/package/dvblast/dvblast.mk +++ b/package/dvblast/dvblast.mk @@ -4,10 +4,10 @@ # ################################################################################ -DVBLAST_VERSION = 3.0 +DVBLAST_VERSION = 3.1 DVBLAST_SOURCE = dvblast-$(DVBLAST_VERSION).tar.bz2 DVBLAST_SITE = https://get.videolan.org/dvblast/$(DVBLAST_VERSION) -DVBLAST_LICENSE = GPLv2+, WTFPL +DVBLAST_LICENSE = GPL-2.0+, WTFPL DVBLAST_LICENSE_FILES = COPYING COPYING.WTFPL DVBLAST_DEPENDENCIES = bitstream libev diff --git a/package/dvbsnoop/Config.in b/package/dvbsnoop/Config.in index fc34c349f1..fb63fa4e8b 100644 --- a/package/dvbsnoop/Config.in +++ b/package/dvbsnoop/Config.in @@ -1,21 +1,21 @@ config BR2_PACKAGE_DVBSNOOP bool "dvbsnoop" help - Dvbsnoop is just a simple tool to analyze, view or debug a transport - stream (TS), program elementary stream (PES) or even a program stream - (PS). Dvbsnoop is trying to get input mostly direct from a frontend - (satellite or cable tuner inside a set-top box for example) via DVB - APIv3 to view into a TS, or a demux to view PES or PS (also mostly - inside the set-top box or even PCI Card or USB Plug) but also from a - file (recorded TS). - Dvbsnoop is working well on SD transport streams but may have some - limited functionality on HD transport streams (DVB-{C,S,T}2 because - of missing knowledge how to handle it. + Dvbsnoop is just a simple tool to analyze, view or debug a + transport stream (TS), program elementary stream (PES) or even + a program stream (PS). Dvbsnoop is trying to get input mostly + direct from a frontend (satellite or cable tuner inside a + set-top box for example) via DVB APIv3 to view into a TS, or a + demux to view PES or PS (also mostly inside the set-top box or + even PCI Card or USB Plug) but also from a file (recorded TS). + Dvbsnoop is working well on SD transport streams but may have + some limited functionality on HD transport streams + (DVB-{C,S,T}2 because of missing knowledge how to handle it. - Dvbsnoop itself doesn't do the tuning on the frontend, this has to be - done by external helpers or manually driver call. - The dvbsnoop tool was written while developing the software Neutrino - on the set-top box DBox2. + Dvbsnoop itself doesn't do the tuning on the frontend, this + has to be done by external helpers or manually driver call. + The dvbsnoop tool was written while developing the software + Neutrino on the set-top box DBox2. http://dvbsnoop.sourceforge.net http://en.wikipedia.org/wiki/DBox2 diff --git a/package/dvbsnoop/dvbsnoop.mk b/package/dvbsnoop/dvbsnoop.mk index 3bd8f8191d..fdc483d22c 100644 --- a/package/dvbsnoop/dvbsnoop.mk +++ b/package/dvbsnoop/dvbsnoop.mk @@ -6,7 +6,7 @@ DVBSNOOP_VERSION = 1.4.50 DVBSNOOP_SITE = http://downloads.sourceforge.net/project/dvbsnoop/dvbsnoop/dvbsnoop-$(DVBSNOOP_VERSION) -DVBSNOOP_LICENSE = GPLv2 +DVBSNOOP_LICENSE = GPL-2.0 DVBSNOOP_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/dvdauthor/0001-configure.ac-fix-static-build.patch b/package/dvdauthor/0001-configure.ac-fix-static-build.patch deleted file mode 100644 index 0e016b8cb4..0000000000 --- a/package/dvdauthor/0001-configure.ac-fix-static-build.patch +++ /dev/null @@ -1,55 +0,0 @@ -From da77704c575f0583fa871ff02bd52906a7979576 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sun, 15 Feb 2015 11:05:43 +0100 -Subject: [PATCH] configure.ac: fix static build - -Add LT_INIT macro to handle --enable-shared option. - -If enable-shared=no then add --static flag to resolve FREETYPE_LIBS. - -Otherwise, dvdauthor forget to link witk -lbz2 when linking with freetype2. - -Fixes: -http://autobuild.buildroot.net/results/1d8/1d83390a3dd9f6bb595e9fc7b321500b4dc533a8/ - -Signed-off-by: Romain Naour ---- - configure.ac | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index c43df92..d78d56a 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -4,6 +4,7 @@ AM_CONFIG_HEADER(src/config.h) - AC_CONFIG_AUX_DIR(autotools) - - AM_INIT_AUTOMAKE -+LT_INIT - - AC_PROG_INSTALL - -@@ -39,6 +40,11 @@ PKG_CHECK_MODULES(LIBPNG, [libpng]) - AC_SUBST(LIBPNG_CFLAGS) - AC_SUBST(LIBPNG_LIBS) - -+config_static='' -+if test "$enable_shared" = 'no'; then -+ config_static='--static' -+fi -+ - usemagick=0 - - AC_CHECK_PROGS(MAGICKCONFIG, [Magick-config]) -@@ -95,7 +101,7 @@ AC_SUBST(FRIBIDI_LIBS) - AC_CHECK_PROGS(FREETYPECONFIG, [freetype-config]) - if test -n "$FREETYPECONFIG"; then - FREETYPE_CPPFLAGS="`$FREETYPECONFIG --cflags`" -- FREETYPE_LIBS="`$FREETYPECONFIG --libs`" -+ FREETYPE_LIBS="`$FREETYPECONFIG --libs $config_static`" - AC_DEFINE(HAVE_FREETYPE, 1, [Whether FreeType is available]) - - ac_save_CPPFLAGS="$CPPFLAGS" --- -1.9.3 - diff --git a/package/dvdauthor/Config.in b/package/dvdauthor/Config.in index 8b2bcb3d6f..9ba5411d6b 100644 --- a/package/dvdauthor/Config.in +++ b/package/dvdauthor/Config.in @@ -4,11 +4,12 @@ config BR2_PACKAGE_DVDAUTHOR select BR2_PACKAGE_FREETYPE select BR2_PACKAGE_LIBPNG help - DVDAuthor is a set of tools to help you author the file and directory - structure of a DVD-Video disc, including programmatic commands for - implementing interactive behaviour. It is driven by command lines and - XML control files, though there are other programs that provide - GUI-based front ends if you prefer + DVDAuthor is a set of tools to help you author the file and + directory structure of a DVD-Video disc, including + programmatic commands for implementing interactive behaviour. + It is driven by command lines and XML control files, though + there are other programs that provide GUI-based front ends + if you prefer http://dvdauthor.sourceforge.net diff --git a/package/dvdauthor/dvdauthor.hash b/package/dvdauthor/dvdauthor.hash index fe92b29c55..36d5d0e686 100644 --- a/package/dvdauthor/dvdauthor.hash +++ b/package/dvdauthor/dvdauthor.hash @@ -1,2 +1,5 @@ +# From https://sourceforge.net/projects/dvdauthor/files +md5 1173dcb8d40e74fc90c0f3a25dbd642d dvdauthor-0.7.2.tar.gz +sha1 0e605642140576bfb3e963414d77630d1c073a51 dvdauthor-0.7.2.tar.gz # Locally computed -sha256 501fb11b09c6eb9c5a229dcb400bd81e408cc78d34eab6749970685023c51fe9 dvdauthor-0.7.1.tar.gz +sha256 3020a92de9f78eb36f48b6f22d5a001c47107826634a785a62dfcd080f612eb7 dvdauthor-0.7.2.tar.gz diff --git a/package/dvdauthor/dvdauthor.mk b/package/dvdauthor/dvdauthor.mk index e982a40e40..3f9c2186c1 100644 --- a/package/dvdauthor/dvdauthor.mk +++ b/package/dvdauthor/dvdauthor.mk @@ -4,21 +4,16 @@ # ################################################################################ -DVDAUTHOR_VERSION = 0.7.1 -DVDAUTHOR_SITE = http://sourceforge.net/projects/dvdauthor/files/dvdauthor/$(DVDAUTHOR_VERSION) +DVDAUTHOR_VERSION = 0.7.2 +DVDAUTHOR_SITE = https://sourceforge.net/projects/dvdauthor/files DVDAUTHOR_DEPENDENCIES = host-pkgconf libxml2 freetype libpng -DVDAUTHOR_LICENSE = GPLv2+ +DVDAUTHOR_LICENSE = GPL-2.0+ DVDAUTHOR_LICENSE_FILES = COPYING DVDAUTHOR_CONF_ENV = \ ac_cv_prog_FREETYPECONFIG=$(STAGING_DIR)/usr/bin/freetype-config \ ac_cv_path_XML2_CONFIG=$(STAGING_DIR)/usr/bin/xml2-config \ ac_cv_prog_GMAGICKCONFIG= -# configure.ac patched by 0001-configure.ac-fix-static-build.patch -DVDAUTHOR_AUTORECONF = YES -# add host-gettext for AM_ICONV macro -DVDAUTHOR_DEPENDENCIES += host-gettext - ifeq ($(BR2_PACKAGE_IMAGEMAGICK),y) DVDAUTHOR_DEPENDENCIES += imagemagick DVDAUTHOR_CONF_ENV += \ diff --git a/package/dvdrw-tools/dvdrw-tools.mk b/package/dvdrw-tools/dvdrw-tools.mk index 24daac1bd0..5dab546607 100644 --- a/package/dvdrw-tools/dvdrw-tools.mk +++ b/package/dvdrw-tools/dvdrw-tools.mk @@ -7,7 +7,7 @@ DVDRW_TOOLS_VERSION = 7.1 DVDRW_TOOLS_SOURCE = dvd+rw-tools-$(DVDRW_TOOLS_VERSION).tar.gz DVDRW_TOOLS_SITE = http://fy.chalmers.se/~appro/linux/DVD+RW/tools -DVDRW_TOOLS_LICENSE = GPLv2 +DVDRW_TOOLS_LICENSE = GPL-2.0 DVDRW_TOOLS_LICENSE_FILES = LICENSE DVDRW_TOOLS_DEPENDENCIES = host-m4 diff --git a/package/e2fsprogs/0001-sem-init-libs.patch b/package/e2fsprogs/0001-sem-init-libs.patch deleted file mode 100644 index 56f1cc2c15..0000000000 --- a/package/e2fsprogs/0001-sem-init-libs.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- e2fsprogs-1.41.9/MCONFIG.in.orig 2009-10-07 20:25:07.000000000 +0800 -+++ e2fsprogs-1.41.9/MCONFIG.in 2009-10-07 20:21:41.000000000 +0800 -@@ -85,7 +85,7 @@ - # - LIB = $(top_builddir)/lib - LIBSS = $(LIB)/libss@LIB_EXT@ @PRIVATE_LIBS_CMT@ @DLOPEN_LIB@ --LIBCOM_ERR = $(LIB)/libcom_err@LIB_EXT@ @PRIVATE_LIBS_CMT@ @SEM_INIT_LIB@ -+LIBCOM_ERR = $(LIB)/libcom_err@LIB_EXT@ @SEM_INIT_LIB@ - LIBE2P = $(LIB)/libe2p@LIB_EXT@ - LIBEXT2FS = $(LIB)/libext2fs@LIB_EXT@ - LIBUUID = @LIBUUID@ @SOCKET_LIB@ diff --git a/package/e2fsprogs/0002-MCONFIG.in-handle-CLOCK_GETTIME_LIB.patch b/package/e2fsprogs/0002-MCONFIG.in-handle-CLOCK_GETTIME_LIB.patch deleted file mode 100644 index bd86c4e21a..0000000000 --- a/package/e2fsprogs/0002-MCONFIG.in-handle-CLOCK_GETTIME_LIB.patch +++ /dev/null @@ -1,35 +0,0 @@ -From b5baf15b36107925186d89af9097b4b8e2d7cad6 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 21 Sep 2016 08:38:21 +0200 -Subject: [PATCH] MCONFIG.in: handle CLOCK_GETTIME_LIB - -Commit 62bc243f1bfe623312a350e4cd0d2e17a69aac45 ("fuse2fs: might need -librt") added a check for the clock_gettime() to verify whether linking -with the librt library is needed or not to use this function. - -However, this commit forgot the change in MCONFIG.in that allows to -define the make variable CLOCK_GETTIME_LIB from the CLOCK_GETTIME_LIB -variable substituted by the configure script. Due to this, from a make -perspective $(CLOCK_GETTIME_LIB) is always empty, and we get link -failure on platforms where clock_gettime() is available in librt. - -Signed-off-by: Thomas Petazzoni ---- - MCONFIG.in | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/MCONFIG.in b/MCONFIG.in -index e82963d..9ba9ce2 100644 ---- a/MCONFIG.in -+++ b/MCONFIG.in -@@ -125,6 +125,7 @@ LIBSUPPORT = $(LIBINTL) $(LIB)/libsupport@STATIC_LIB_EXT@ - LIBBLKID = @LIBBLKID@ @PRIVATE_LIBS_CMT@ $(LIBUUID) - LIBINTL = @LIBINTL@ - SYSLIBS = @LIBS@ -+CLOCK_GETTIME_LIB = @CLOCK_GETTIME_LIB@ - DEPLIBSS = $(LIB)/libss@LIB_EXT@ - DEPLIBCOM_ERR = $(LIB)/libcom_err@LIB_EXT@ - DEPLIBUUID = @DEPLIBUUID@ --- -2.7.4 - diff --git a/package/e2fsprogs/Config.in b/package/e2fsprogs/Config.in index d1914a9953..b3d12b4a63 100644 --- a/package/e2fsprogs/Config.in +++ b/package/e2fsprogs/Config.in @@ -1,4 +1,4 @@ -config BR2_PACKAGE_E2FSPROGS +menuconfig BR2_PACKAGE_E2FSPROGS bool "e2fsprogs" depends on BR2_USE_MMU # util-linux/libblkid select BR2_PACKAGE_UTIL_LINUX @@ -7,95 +7,63 @@ config BR2_PACKAGE_E2FSPROGS help The EXT2 file system utilities. - http://e2fsprogs.sf.net + The following programs are always built and installed: + badblocks chattr debugfs dumpe2fs e2freefrag e2fsck e2image + e2undo e4crypt e4defrag filefrag fsck fuse2fs logsave lsattr + mke2fs mklost+found resize2fs tune2fs + + The uuid utilities (uuidd, uuidgen) are not built. Use the + ones from util-linux, instead. + + Other programs can be selected individually. + + http://e2fsprogs.sourceforge.net if BR2_PACKAGE_E2FSPROGS -config BR2_PACKAGE_E2FSPROGS_BADBLOCKS - bool "badblocks" - default y - -config BR2_PACKAGE_E2FSPROGS_CHATTR - bool "chattr" - default y - config BR2_PACKAGE_E2FSPROGS_DEBUGFS bool "debugfs" - -config BR2_PACKAGE_E2FSPROGS_DUMPE2FS - bool "dumpe2fs" - default y - -config BR2_PACKAGE_E2FSPROGS_E2FREEFRAG - bool "e2freefrag" - default y - -config BR2_PACKAGE_E2FSPROGS_E2FSCK - bool "e2fsck" - default y + help + ext2/ext3/ext4 file system debugger config BR2_PACKAGE_E2FSPROGS_E2IMAGE bool "e2image" - -config BR2_PACKAGE_E2FSPROGS_E2LABEL - bool "e2label" - default y - -config BR2_PACKAGE_E2FSPROGS_E2UNDO - bool "e2undo" - default y + help + Save critical ext2/ext3/ext4 filesystem metadata to a file config BR2_PACKAGE_E2FSPROGS_E4DEFRAG bool "e4defrag" depends on !BR2_nios2 # fallocate not implemented depends on !BR2_TOOLCHAIN_USES_UCLIBC # sync_file_range not impl + help + Online defragmenter for ext4 filesystem comment "e4defrag needs a glibc or musl toolchain" + depends on !BR2_nios2 depends on BR2_TOOLCHAIN_USES_UCLIBC -config BR2_PACKAGE_E2FSPROGS_FILEFRAG - bool "filefrag" - default y - config BR2_PACKAGE_E2FSPROGS_FSCK bool "fsck" default y + depends on !BR2_PACKAGE_UTIL_LINUX_FSCK + help + Check and repair a Linux file system. This is a wrapper around + the filesystem-specific fsck tools. config BR2_PACKAGE_E2FSPROGS_FUSE2FS bool "fuse2fs" depends on !BR2_STATIC_LIBS # libfuse depends on BR2_TOOLCHAIN_HAS_THREADS # libfuse select BR2_PACKAGE_LIBFUSE + help + FUSE file system client for ext2/ext3/ext4 file systems comment "fuse2fs needs a toolchain w/ threads, dynamic library" depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS -config BR2_PACKAGE_E2FSPROGS_LOGSAVE - bool "logsave" - default y - -config BR2_PACKAGE_E2FSPROGS_LSATTR - bool "lsattr" - default y - -config BR2_PACKAGE_E2FSPROGS_MKE2FS - bool "mke2fs" - default y - -config BR2_PACKAGE_E2FSPROGS_MKLOSTFOUND - bool "mklost+found" - default y - config BR2_PACKAGE_E2FSPROGS_RESIZE2FS bool "resize2fs" - -config BR2_PACKAGE_E2FSPROGS_TUNE2FS - bool "tune2fs" - default y - select BR2_PACKAGE_E2FSPROGS_E2LABEL - -config BR2_PACKAGE_E2FSPROGS_UUIDGEN - bool "uuidgen" - default y + help + ext2/ext3/ext4 file system resizer endif diff --git a/package/e2fsprogs/Config.in.host b/package/e2fsprogs/Config.in.host index de9148e31d..7591bbcb7e 100644 --- a/package/e2fsprogs/Config.in.host +++ b/package/e2fsprogs/Config.in.host @@ -1,5 +1,6 @@ config BR2_PACKAGE_HOST_E2FSPROGS bool "host e2fsprogs" + select BR2_PACKAGE_HOST_UTIL_LINUX help The EXT2/3/4 file system utilities. diff --git a/package/e2fsprogs/e2fsprogs.hash b/package/e2fsprogs/e2fsprogs.hash index 5fd9f3d6b4..cd839fb680 100644 --- a/package/e2fsprogs/e2fsprogs.hash +++ b/package/e2fsprogs/e2fsprogs.hash @@ -1,2 +1,6 @@ -# From https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.43.3/sha256sums.asc -sha256 744ca4e9a8e6c943601b2744d1ae658e5f37d35b5ea5b1dea86985320bd87f37 e2fsprogs-1.43.3.tar.xz +# From https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.43.7/sha256sums.asc +sha256 2a6367289047d68d9ba6a46cf89ab9a1efd0556cde02a51ebaf414ff51edded9 e2fsprogs-1.43.7.tar.xz +# Locally calculated +sha256 680f852df303874fe9c722283a7da571ae9a0477768df8af1e363298e2adc51e NOTICE +sha256 032989b508f1a72ebee5b3417e55d06d473f9ee203e45ab11864a7e49cdec63d lib/ss/mit-sipb-copyright.h +sha256 47182fe6631a32f271a15bbe210751b3825b7199f588879aac7d4804fc8b4b8f lib/et/internal.h diff --git a/package/e2fsprogs/e2fsprogs.mk b/package/e2fsprogs/e2fsprogs.mk index 3829053d71..be03a88ce8 100644 --- a/package/e2fsprogs/e2fsprogs.mk +++ b/package/e2fsprogs/e2fsprogs.mk @@ -4,34 +4,55 @@ # ################################################################################ -E2FSPROGS_VERSION = 1.43.3 +E2FSPROGS_VERSION = 1.43.7 E2FSPROGS_SOURCE = e2fsprogs-$(E2FSPROGS_VERSION).tar.xz E2FSPROGS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/people/tytso/e2fsprogs/v$(E2FSPROGS_VERSION) -E2FSPROGS_LICENSE = GPLv2, BSD-3c (libuuid), MIT-like with advertising clause (libss and libet) -E2FSPROGS_LICENSE_FILES = NOTICE lib/uuid/COPYING lib/ss/mit-sipb-copyright.h lib/et/internal.h +E2FSPROGS_LICENSE = GPL-2.0, MIT-like with advertising clause (libss and libet) +E2FSPROGS_LICENSE_FILES = NOTICE lib/ss/mit-sipb-copyright.h lib/et/internal.h E2FSPROGS_INSTALL_STAGING = YES + +# Use libblkid and libuuid from util-linux for host and target packages. +# This prevents overriding them with e2fsprogs' ones, which may cause +# problems for other packages. E2FSPROGS_DEPENDENCIES = host-pkgconf util-linux -# we don't have a host-util-linux -HOST_E2FSPROGS_DEPENDENCIES = host-pkgconf +HOST_E2FSPROGS_DEPENDENCIES = host-pkgconf host-util-linux + +# If both e2fsprogs and busybox are selected, make certain e2fsprogs +# wins the fight over who gets to have their utils actually installed +ifeq ($(BR2_PACKAGE_BUSYBOX),y) +E2FSPROGS_DEPENDENCIES += busybox +endif # e4defrag doesn't build on older systems like RHEL5.x, and we don't # need it on the host anyway. # Disable fuse2fs as well to avoid carrying over deps, and it's unused -HOST_E2FSPROGS_CONF_OPTS += --disable-defrag --disable-fuse2fs +HOST_E2FSPROGS_CONF_OPTS = \ + --disable-defrag \ + --disable-e2initrd-helper \ + --disable-fuse2fs \ + --disable-libblkid \ + --disable-libuuid \ + --enable-symlink-install \ + --disable-testio-debug +# Set the binary directories to "/bin" and "/sbin" to override programs +# installed by busybox. E2FSPROGS_CONF_OPTS = \ - $(if $(BR2_STATIC_LIBS),,--enable-elf-shlibs) \ - $(if $(BR2_PACKAGE_E2FSPROGS_DEBUGFS),,--disable-debugfs) \ - $(if $(BR2_PACKAGE_E2FSPROGS_E2IMAGE),,--disable-imager) \ - $(if $(BR2_PACKAGE_E2FSPROGS_E4DEFRAG),,--disable-defrag) \ - $(if $(BR2_PACKAGE_E2FSPROGS_RESIZE2FS),,--disable-resizer) \ + --bindir=/bin \ + --sbindir=/sbin \ + $(if $(BR2_STATIC_LIBS),--disable-elf-shlibs,--enable-elf-shlibs) \ + $(if $(BR2_PACKAGE_E2FSPROGS_DEBUGFS),--enable-debugfs,--disable-debugfs) \ + $(if $(BR2_PACKAGE_E2FSPROGS_E2IMAGE),--enable-imager,--disable-imager) \ + $(if $(BR2_PACKAGE_E2FSPROGS_E4DEFRAG),--enable-defrag,--disable-defrag) \ + $(if $(BR2_PACKAGE_E2FSPROGS_FSCK),--enable-fsck,--disable-fsck) \ + $(if $(BR2_PACKAGE_E2FSPROGS_RESIZE2FS),--enable-resizer,--disable-resizer) \ --disable-uuidd \ --disable-libblkid \ --disable-libuuid \ - --enable-fsck \ --disable-e2initrd-helper \ --disable-testio-debug \ - --disable-rpath + --disable-rpath \ + --enable-symlink-install ifeq ($(BR2_PACKAGE_E2FSPROGS_FUSE2FS),y) E2FSPROGS_CONF_OPTS += --enable-fuse2fs @@ -56,17 +77,13 @@ HOST_E2FSPROGS_CONF_ENV += \ ac_cv_header_magic_h=no \ ac_cv_lib_magic_magic_file=no -ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y) -# util-linux libuuid pulls in libintl if needed, so ensure we also -# link against it, otherwise static linking fails -E2FSPROGS_CONF_ENV += LIBS=-lintl -endif - E2FSPROGS_MAKE_OPTS = LDCONFIG=true + E2FSPROGS_INSTALL_STAGING_OPTS = \ DESTDIR=$(STAGING_DIR) \ LDCONFIG=true \ install-libs + E2FSPROGS_INSTALL_TARGET_OPTS = \ DESTDIR=$(TARGET_DIR) \ LDCONFIG=true \ @@ -76,90 +93,5 @@ define HOST_E2FSPROGS_INSTALL_CMDS $(HOST_MAKE_ENV) $(MAKE) -C $(@D) install install-libs endef -# binaries to keep or remove -E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_BADBLOCKS) += usr/sbin/badblocks -E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_CHATTR) += usr/bin/chattr -E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_DUMPE2FS) += usr/sbin/dumpe2fs -E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_E2FREEFRAG) += usr/sbin/e2freefrag -E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_E2FSCK) += usr/sbin/e2fsck -E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_E2LABEL) += usr/sbin/e2label -E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_E2UNDO) += usr/sbin/e2undo -E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_E4DEFRAG) += usr/sbin/e4defrag -E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_FILEFRAG) += usr/sbin/filefrag -E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_FSCK) += usr/sbin/fsck -E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_LOGSAVE) += usr/sbin/logsave -E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_LSATTR) += usr/bin/lsattr -E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_MKE2FS) += usr/sbin/mke2fs -E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_MKLOSTFOUND) += usr/sbin/mklost+found -E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_UUIDGEN) += usr/bin/uuidgen - -# files to remove -E2FSPROGS_TXTTARGETS_ = \ - usr/sbin/mkfs.ext[234] \ - usr/sbin/mkfs.ext4dev \ - usr/sbin/fsck.ext[234] \ - usr/sbin/fsck.ext4dev \ - usr/sbin/tune2fs - -define E2FSPROGS_TARGET_REMOVE_UNNEEDED - rm -f $(addprefix $(TARGET_DIR)/, $(E2FSPROGS_BINTARGETS_)) - rm -f $(addprefix $(TARGET_DIR)/, $(E2FSPROGS_TXTTARGETS_)) -endef - -E2FSPROGS_POST_INSTALL_TARGET_HOOKS += E2FSPROGS_TARGET_REMOVE_UNNEEDED - -define E2FSPROGS_TARGET_MKE2FS_SYMLINKS - ln -sf mke2fs $(TARGET_DIR)/usr/sbin/mkfs.ext2 - ln -sf mke2fs $(TARGET_DIR)/usr/sbin/mkfs.ext3 - ln -sf mke2fs $(TARGET_DIR)/usr/sbin/mkfs.ext4 - ln -sf mke2fs $(TARGET_DIR)/usr/sbin/mkfs.ext4dev -endef - -ifeq ($(BR2_PACKAGE_E2FSPROGS_MKE2FS),y) -E2FSPROGS_POST_INSTALL_TARGET_HOOKS += E2FSPROGS_TARGET_MKE2FS_SYMLINKS -endif - -define E2FSPROGS_TARGET_E2FSCK_SYMLINKS - ln -sf e2fsck $(TARGET_DIR)/usr/sbin/fsck.ext2 - ln -sf e2fsck $(TARGET_DIR)/usr/sbin/fsck.ext3 - ln -sf e2fsck $(TARGET_DIR)/usr/sbin/fsck.ext4 - ln -sf e2fsck $(TARGET_DIR)/usr/sbin/fsck.ext4dev -endef - -ifeq ($(BR2_PACKAGE_E2FSPROGS_E2FSCK),y) -E2FSPROGS_POST_INSTALL_TARGET_HOOKS += E2FSPROGS_TARGET_E2FSCK_SYMLINKS -endif - -# If BusyBox is included, its configuration may supply its own variant -# of ext2-related tools. Since Buildroot desires having full blown -# variants take precedence (in this case, e2fsprogs), we want to remove -# BusyBox's variant of e2fsprogs provided binaries. e2fsprogs targets -# /usr/{bin,sbin} where BusyBox targets /{bin,sbin}. We will attempt to -# remove BusyBox-generated ext2-related tools from /{bin,sbin}. We need -# to do this in the pre-install stage to ensure we do not accidentally -# remove e2fsprogs's binaries in usr-merged environments (ie. if they -# are removed, they would be re-installed in this package's install -# stage). -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -E2FSPROGS_DEPENDENCIES += busybox - -define E2FSPROGS_REMOVE_BUSYBOX_APPLETS - $(RM) -f $(TARGET_DIR)/bin/chattr - $(RM) -f $(TARGET_DIR)/bin/lsattr - $(RM) -f $(TARGET_DIR)/sbin/fsck - $(RM) -f $(TARGET_DIR)/sbin/tune2fs - $(RM) -f $(TARGET_DIR)/sbin/e2label -endef -E2FSPROGS_PRE_INSTALL_TARGET_HOOKS += E2FSPROGS_REMOVE_BUSYBOX_APPLETS -endif - -define E2FSPROGS_TARGET_TUNE2FS_SYMLINK - ln -sf e2label $(TARGET_DIR)/usr/sbin/tune2fs -endef - -ifeq ($(BR2_PACKAGE_E2FSPROGS_TUNE2FS),y) -E2FSPROGS_POST_INSTALL_TARGET_HOOKS += E2FSPROGS_TARGET_TUNE2FS_SYMLINK -endif - $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/e2tools/Config.in b/package/e2tools/Config.in index 75029f74aa..e4a35e27f4 100644 --- a/package/e2tools/Config.in +++ b/package/e2tools/Config.in @@ -1,9 +1,9 @@ config BR2_PACKAGE_E2TOOLS bool "e2tools" - select BR2_PACKAGE_E2FSPROGS depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_WCHAR # uses wchar_t depends on BR2_USE_MMU # e2fsprogs + select BR2_PACKAGE_E2FSPROGS help E2tools is a simple set of GPL'ed utilities to read, write, and manipulate files in an ext2/ext3 filesystem. These diff --git a/package/e2tools/e2tools.mk b/package/e2tools/e2tools.mk index 1f3bb5cfb6..266d90911f 100644 --- a/package/e2tools/e2tools.mk +++ b/package/e2tools/e2tools.mk @@ -9,7 +9,7 @@ E2TOOLS_SITE = $(call github,ndim,e2tools,$(E2TOOLS_VERSION)) # Source coming from GitHub, no configure included. E2TOOLS_AUTORECONF = YES -E2TOOLS_LICENSE = GPLv2 +E2TOOLS_LICENSE = GPL-2.0 E2TOOLS_LICENSE_FILES = COPYING E2TOOLS_DEPENDENCIES = e2fsprogs E2TOOLS_CONF_ENV = LIBS="-lpthread" diff --git a/package/easy-rsa/Config.in b/package/easy-rsa/Config.in new file mode 100644 index 0000000000..883d679e98 --- /dev/null +++ b/package/easy-rsa/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_EASY_RSA + bool "easy-rsa" + select BR2_PACKAGE_OPENSSL # runtime + select BR2_PACKAGE_OPENSSL_BIN + help + Simple shell based CA utility + + This package eases the creation of certificates, for example + for openvpn clients. + + This was formerly part of the openvpn package. + + easy-rsa is a wrapper script around OpenSSL binaries. + + https://github.com/OpenVPN/easy-rsa diff --git a/package/easy-rsa/easy-rsa.hash b/package/easy-rsa/easy-rsa.hash new file mode 100644 index 0000000000..e2d658ac81 --- /dev/null +++ b/package/easy-rsa/easy-rsa.hash @@ -0,0 +1,2 @@ +# Locally computed: (after verifying gpg sig) +sha512 d20f646e33ec803444dfcd446553f1d6001227fedec93280c212b34cccee11b184599f1b2ae6a3ce9cf6c9ac52f2b840ebb645536df6ddf55382fa25c22df81f EasyRSA-3.0.1.tgz diff --git a/package/easy-rsa/easy-rsa.mk b/package/easy-rsa/easy-rsa.mk new file mode 100644 index 0000000000..8ed5741c88 --- /dev/null +++ b/package/easy-rsa/easy-rsa.mk @@ -0,0 +1,23 @@ +################################################################################ +# +# easy-rsa +# +################################################################################ + +EASY_RSA_VERSION = 3.0.1 +EASY_RSA_SOURCE = EasyRSA-$(EASY_RSA_VERSION).tgz +EASY_RSA_SITE = https://github.com/OpenVPN/easy-rsa/releases/download/$(EASY_RSA_VERSION) +EASY_RSA_LICENSE = GPL-2.0 +EASY_RSA_LICENSE_FILES = COPYING gpl-2.0.txt + +# shell script, so no build step + +define EASY_RSA_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/easyrsa $(TARGET_DIR)/usr/bin/easyrsa + $(INSTALL) -d -m 0755 $(TARGET_DIR)/etc/easy-rsa/x509-types + $(INSTALL) -m 0644 -t $(TARGET_DIR)/etc/easy-rsa/x509-types $(@D)/x509-types/* + $(INSTALL) -D -m 0644 $(@D)/openssl-1.0.cnf $(TARGET_DIR)/etc/easy-rsa/openssl-1.0.cnf + $(INSTALL) -D -m 0644 $(@D)/vars.example $(TARGET_DIR)/etc/easy-rsa/vars +endef + +$(eval $(generic-package)) diff --git a/package/easydbus/Config.in b/package/easydbus/Config.in index 51519d61d2..1fe8689ccd 100644 --- a/package/easydbus/Config.in +++ b/package/easydbus/Config.in @@ -1,9 +1,9 @@ config BR2_PACKAGE_EASYDBUS bool "easydbus" - select BR2_PACKAGE_LIBGLIB2 depends on BR2_USE_WCHAR # libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_USE_MMU # libglib2 + select BR2_PACKAGE_LIBGLIB2 help Easy to use DBus library for Lua. diff --git a/package/ebtables/0001-ethernetdb.h-Remove-C-specific-compiler-hint-macro-_.patch b/package/ebtables/0001-ethernetdb.h-Remove-C-specific-compiler-hint-macro-_.patch new file mode 100644 index 0000000000..bd7bead093 --- /dev/null +++ b/package/ebtables/0001-ethernetdb.h-Remove-C-specific-compiler-hint-macro-_.patch @@ -0,0 +1,50 @@ +From f8079671326e9fd079391d24911a9a8a77f1d6fd Mon Sep 17 00:00:00 2001 +From: Felix Janda +Date: Sat, 16 May 2015 12:31:58 +0200 +Subject: [PATCH] ethernetdb.h: Remove C++ specific compiler hint macro _THROW + +Fixes compilation with musl libc + +Signed-off-by: Felix Janda +Signed-off-by: Pablo Neira Ayuso +Signed-off-by: Baruch Siach +--- +Patch status: upstream commit f8079671326e9fd0 + + include/ethernetdb.h | 11 +++++------ + 1 file changed, 5 insertions(+), 6 deletions(-) + +diff --git a/include/ethernetdb.h b/include/ethernetdb.h +index 46d8bfd1b7e5..1683abe01987 100644 +--- a/include/ethernetdb.h ++++ b/include/ethernetdb.h +@@ -38,21 +38,20 @@ struct ethertypeent { + + /* Open ethertype data base files and mark them as staying open even + after a later search if STAY_OPEN is non-zero. */ +-extern void setethertypeent(int __stay_open) __THROW; ++extern void setethertypeent(int __stay_open); + + /* Close ethertype data base files and clear `stay open' flag. */ +-extern void endethertypeent(void) __THROW; ++extern void endethertypeent(void); + + /* Get next entry from ethertype data base file. Open data base if + necessary. */ +-extern struct ethertypeent *getethertypeent(void) __THROW; ++extern struct ethertypeent *getethertypeent(void); + + /* Return entry from ethertype data base for network with NAME. */ +-extern struct ethertypeent *getethertypebyname(__const char *__name) +- __THROW; ++extern struct ethertypeent *getethertypebyname(__const char *__name); + + /* Return entry from ethertype data base which number is PROTO. */ +-extern struct ethertypeent *getethertypebynumber(int __ethertype) __THROW; ++extern struct ethertypeent *getethertypebynumber(int __ethertype); + + + #endif /* ethernetdb.h */ +-- +2.11.0 + diff --git a/package/ebtables/0002-Fix-musl-compatibility.patch b/package/ebtables/0002-Fix-musl-compatibility.patch new file mode 100644 index 0000000000..5e9f534b46 --- /dev/null +++ b/package/ebtables/0002-Fix-musl-compatibility.patch @@ -0,0 +1,30 @@ +From 138e7efdc8cad6453620c6366e6fa5e786593f7f Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Thu, 16 Feb 2017 14:41:48 +0200 +Subject: [PATCH] Fix musl compatibility + +Include netinet/ether.h before kernel headers to suppress the conflicting +definition of struct ethhdr. + +Signed-off-by: Baruch Siach +--- +Upstream status: not upstreamable; depends on Buildroot local musl patch +--- + include/ebtables_u.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/include/ebtables_u.h b/include/ebtables_u.h +index 35a5bcc54c86..268b1fd599d2 100644 +--- a/include/ebtables_u.h ++++ b/include/ebtables_u.h +@@ -24,6 +24,7 @@ + #ifndef EBTABLES_U_H + #define EBTABLES_U_H + #include ++#include + #include + #include + +-- +2.11.0 + diff --git a/package/ebtables/Config.in b/package/ebtables/Config.in index fa123b196e..2fdac06cd1 100644 --- a/package/ebtables/Config.in +++ b/package/ebtables/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_EBTABLES bool "ebtables" - depends on !BR2_TOOLCHAIN_USES_MUSL # mixes userspace and kernel headers depends on BR2_USE_MMU # fork() help Ethernet bridge frame table administration @@ -8,5 +7,4 @@ config BR2_PACKAGE_EBTABLES http://ebtables.netfilter.org/ comment "ebtables needs a glibc or uClibc toolchain" - depends on BR2_TOOLCHAIN_USES_MUSL depends on BR2_USE_MMU diff --git a/package/ebtables/ebtables.mk b/package/ebtables/ebtables.mk index 639593070a..aae0c91a10 100644 --- a/package/ebtables/ebtables.mk +++ b/package/ebtables/ebtables.mk @@ -7,7 +7,7 @@ EBTABLES_VERSION = 2.0.10-4 EBTABLES_SOURCE = ebtables-v$(EBTABLES_VERSION).tar.gz EBTABLES_SITE = http://ftp.netfilter.org/pub/ebtables -EBTABLES_LICENSE = GPLv2+ +EBTABLES_LICENSE = GPL-2.0+ EBTABLES_LICENSE_FILES = COPYING EBTABLES_STATIC = $(if $(BR2_STATIC_LIBS),static) EBTABLES_K64U32 = $(if $(BR2_KERNEL_64_USERLAND_32),-DKERNEL_64_USERSPACE_32) diff --git a/package/ecryptfs-utils/Config.in b/package/ecryptfs-utils/Config.in index cb70e000ae..bb4cc64488 100644 --- a/package/ecryptfs-utils/Config.in +++ b/package/ecryptfs-utils/Config.in @@ -1,12 +1,5 @@ config BR2_PACKAGE_ECRYPTFS_UTILS bool "ecryptfs-utils" - select BR2_PACKAGE_KEYUTILS - select BR2_PACKAGE_LIBNSS - # runtime dependency only, some scripts are using the - # 'gettext' program to get translations - select BR2_PACKAGE_GETTEXT - # runtime dependency only - select BR2_PACKAGE_GETENT depends on BR2_USE_WCHAR # gettext depends on BR2_USE_MMU # keyutils depends on !BR2_microblaze # keyutils @@ -14,22 +7,29 @@ config BR2_PACKAGE_ECRYPTFS_UTILS depends on BR2_PACKAGE_LIBNSPR_ARCH_SUPPORT # libnss -> libnspr depends on !BR2_MIPS_NABI32 # libnss depends on !BR2_STATIC_LIBS # libnss, keyutils + select BR2_PACKAGE_KEYUTILS + select BR2_PACKAGE_LIBNSS + # runtime dependency only, some scripts are using the + # 'gettext' program to get translations + select BR2_PACKAGE_GETTEXT + # runtime dependency only + select BR2_PACKAGE_GETENT help eCryptfs is a POSIX-compliant enterprise cryptographic filesystem for Linux. It is stacked on top of any other - Linux filesystem, it stores cryptographic metadata in the header - of each file written. + Linux filesystem, it stores cryptographic metadata in the + header of each file written. The eCryptfs kernel module is available in all Linux kernels - since version 2.6.19. This package provides userspace utilities - needed to mount eCryptfs. + since version 2.6.19. This package provides userspace + utilities needed to mount eCryptfs. - Files are encrypted using a passphrase. Consider building openssl - for another method. + Files are encrypted using a passphrase. Consider building + openssl for another method. http://ecryptfs.org -comment "ecryptfs-utils needs a toolchain w/ threads, wchar, dynamic library" +comment "ecryptfs-utils needs a toolchain w/ threads, wchar, dynami library" depends on !BR2_microblaze depends on BR2_PACKAGE_LIBNSPR_ARCH_SUPPORT depends on BR2_USE_MMU diff --git a/package/ecryptfs-utils/ecryptfs-utils.hash b/package/ecryptfs-utils/ecryptfs-utils.hash index 40cc17cdd6..1e08661e25 100644 --- a/package/ecryptfs-utils/ecryptfs-utils.hash +++ b/package/ecryptfs-utils/ecryptfs-utils.hash @@ -1,2 +1,4 @@ -# From https://launchpad.net/ecryptfs/trunk/109/+download/ecryptfs-utils_109.orig.tar.gz/+md5 -md5 8e33f096c8cb8288f9c29a9936cd0d28 ecryptfs-utils_109.orig.tar.gz +# From https://launchpad.net/ecryptfs/trunk/111/+download/ecryptfs-utils_111.orig.tar.gz/+md5 +md5 83513228984f671930752c3518cac6fd ecryptfs-utils_111.orig.tar.gz +# Locally computed +sha256 112cb3e37e81a1ecd8e39516725dec0ce55c5f3df6284e0f4cc0f118750a987f ecryptfs-utils_111.orig.tar.gz diff --git a/package/ecryptfs-utils/ecryptfs-utils.mk b/package/ecryptfs-utils/ecryptfs-utils.mk index 81a4b4bd7d..eb3194b6d0 100644 --- a/package/ecryptfs-utils/ecryptfs-utils.mk +++ b/package/ecryptfs-utils/ecryptfs-utils.mk @@ -4,10 +4,10 @@ # ################################################################################ -ECRYPTFS_UTILS_VERSION = 109 +ECRYPTFS_UTILS_VERSION = 111 ECRYPTFS_UTILS_SOURCE = ecryptfs-utils_$(ECRYPTFS_UTILS_VERSION).orig.tar.gz ECRYPTFS_UTILS_SITE = https://launchpad.net/ecryptfs/trunk/$(ECRYPTFS_UTILS_VERSION)/+download -ECRYPTFS_UTILS_LICENSE = GPLv2+ +ECRYPTFS_UTILS_LICENSE = GPL-2.0+ ECRYPTFS_UTILS_LICENSE_FILES = COPYING ECRYPTFS_UTILS_DEPENDENCIES = keyutils libnss host-intltool diff --git a/package/ed/ed.hash b/package/ed/ed.hash index 22c1e671dc..1aa00c0486 100644 --- a/package/ed/ed.hash +++ b/package/ed/ed.hash @@ -1,4 +1,2 @@ -# From http://lists.gnu.org/archive/html/bug-ed/2017-01/msg00002.html -sha1 a91f785f7e16dc68e1c9c86d532ebd9698171ba0 ed-1.14.1.tar.lz -# Locally computed -sha256 ffb97eb8f2a2b5a71a9b97e3872adce953aa1b8958e04c5b7bf11d556f32552a ed-1.14.1.tar.lz +# From http://lists.gnu.org/archive/html/bug-ed/2017-02/msg00005.html +sha256 f57962ba930d70d02fc71d6be5c5f2346b16992a455ab9c43be7061dec9810db ed-1.14.2.tar.lz diff --git a/package/ed/ed.mk b/package/ed/ed.mk index 6b9f65ec52..ada0316a27 100644 --- a/package/ed/ed.mk +++ b/package/ed/ed.mk @@ -4,13 +4,13 @@ # ################################################################################ -ED_VERSION = 1.14.1 +ED_VERSION = 1.14.2 ED_SITE = $(BR2_GNU_MIRROR)/ed ED_SOURCE = ed-$(ED_VERSION).tar.lz ED_CONF_OPTS = \ CC="$(TARGET_CC)" CFLAGS="$(TARGET_CFLAGS)" \ LDFLAGS="$(TARGET_LDFLAGS)" -ED_LICENSE = GPLv3+ +ED_LICENSE = GPL-3.0+ ED_LICENSE_FILES = COPYING define ED_CONFIGURE_CMDS diff --git a/package/edid-decode/edid-decode.hash b/package/edid-decode/edid-decode.hash new file mode 100644 index 0000000000..437dcf4a66 --- /dev/null +++ b/package/edid-decode/edid-decode.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 94f43f93285eb5cf8133061295bcdf72b6897bf5372879c2e4032a08d359af12 edid-decode-f56f329ed23a25d002352dedba1e8f092a47286f.tar.gz diff --git a/package/edid-decode/edid-decode.mk b/package/edid-decode/edid-decode.mk index 243ccfbea6..a4141b899b 100644 --- a/package/edid-decode/edid-decode.mk +++ b/package/edid-decode/edid-decode.mk @@ -4,7 +4,7 @@ # ################################################################################ -EDID_DECODE_VERSION = 681153145d5e05ee15032ea792e967cda06e7622 +EDID_DECODE_VERSION = f56f329ed23a25d002352dedba1e8f092a47286f EDID_DECODE_SITE = git://anongit.freedesktop.org/git/xorg/app/edid-decode.git EDID_DECODE_LICENSE = MIT EDID_DECODE_LICENSE_FILES = edid-decode.c diff --git a/package/eeprog/eeprog.mk b/package/eeprog/eeprog.mk index 93aeb5e372..0b0fcc67e1 100644 --- a/package/eeprog/eeprog.mk +++ b/package/eeprog/eeprog.mk @@ -6,7 +6,7 @@ EEPROG_VERSION = 0.7.6 EEPROG_SITE = http://www.codesink.org/download -EEPROG_LICENSE = GPLv2+ +EEPROG_LICENSE = GPL-2.0+ EEPROG_LICENSE_FILES = eeprog.c define EEPROG_BUILD_CMDS diff --git a/package/efibootmgr/0001-dont-use-fshort-wchar-when-building.patch b/package/efibootmgr/0001-dont-use-fshort-wchar-when-building.patch new file mode 100644 index 0000000000..abafcec524 --- /dev/null +++ b/package/efibootmgr/0001-dont-use-fshort-wchar-when-building.patch @@ -0,0 +1,28 @@ +From 3466fd05c8c6f1052e0426d64eed40f8a88fd78f Mon Sep 17 00:00:00 2001 +From: steve-mcintyre +Date: Fri, 6 Jan 2017 18:18:47 +0000 +Subject: [PATCH] Don't use -fshort-wchar when building (#63) + +It's not needed and is causing build failures with gcc 6. Closes +Debian bug #849651 + +Signed-off-by: Steve McIntyre +[Upstream commit: https://github.com/rhinstaller/efibootmgr/commit/3466fd05c8c6f1052e0426d64eed40f8a88fd78f] +Signed-off-by: Thomas Petazzoni +--- + Make.defaults | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Make.defaults b/Make.defaults +index 50f1f4d..0ac50ef 100644 +--- a/Make.defaults ++++ b/Make.defaults +@@ -26,7 +26,7 @@ clang_cflags = + gcc_cflags = + cflags = $(CFLAGS) $(SUBDIR_CFLAGS) \ + -Werror -Wall -Wextra -Wsign-compare -Wstrict-aliasing \ +- -std=gnu11 -fshort-wchar -fPIC \ ++ -std=gnu11 -fPIC \ + -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DLOCALEDIR=\"$(localedir)\" \ + -DEFIBOOTMGR_VERSION="\"$(VERSION)\"" \ + $(if $(findstring clang,$(CC)),$(clang_cflags),) \ diff --git a/package/efibootmgr/0001-Allow-build-with-uClibc.patch b/package/efibootmgr/0002-Allow-build-with-uClibc.patch similarity index 100% rename from package/efibootmgr/0001-Allow-build-with-uClibc.patch rename to package/efibootmgr/0002-Allow-build-with-uClibc.patch diff --git a/package/efibootmgr/0003-Remove-extra-const-keywords-gcc-7-gripes-about.patch b/package/efibootmgr/0003-Remove-extra-const-keywords-gcc-7-gripes-about.patch new file mode 100644 index 0000000000..8bc6f01ef4 --- /dev/null +++ b/package/efibootmgr/0003-Remove-extra-const-keywords-gcc-7-gripes-about.patch @@ -0,0 +1,51 @@ +From a542b169003c2ef95ce6c00d40050eb10568b612 Mon Sep 17 00:00:00 2001 +From: Peter Jones +Date: Mon, 6 Feb 2017 16:34:54 -0500 +Subject: [PATCH] Remove extra const keywords gcc 7 gripes about. + +Signed-off-by: Peter Jones +[Backported from upstream commit a542b169003c2ef95ce6c00d40050eb10568b612] +Signed-off-by: Thomas Petazzoni +--- + src/efibootdump.c | 2 +- + src/efibootmgr.c | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/efibootdump.c b/src/efibootdump.c +index 6ff8360..30a1943 100644 +--- a/src/efibootdump.c ++++ b/src/efibootdump.c +@@ -39,7 +39,7 @@ print_boot_entry(efi_load_option *loadopt, size_t data_size) + uint8_t *optional_data = NULL; + size_t optional_data_len = 0; + uint16_t pathlen; +- const unsigned char const *desc; ++ const unsigned char *desc; + char *raw; + size_t raw_len; + +diff --git a/src/efibootmgr.c b/src/efibootmgr.c +index 493f2cf..90a0998 100644 +--- a/src/efibootmgr.c ++++ b/src/efibootmgr.c +@@ -221,7 +221,7 @@ warn_duplicate_name(list_t *var_list) + list_t *pos; + var_entry_t *entry; + efi_load_option *load_option; +- const unsigned char const *desc; ++ const unsigned char *desc; + + list_for_each(pos, var_list) { + entry = list_entry(pos, var_entry_t, list); +@@ -873,7 +873,7 @@ show_vars(const char *prefix) + { + list_t *pos; + var_entry_t *boot; +- const unsigned char const *description; ++ const unsigned char *description; + efi_load_option *load_option; + efidp dp = NULL; + unsigned char *optional_data = NULL; +-- +2.9.4 + diff --git a/package/efibootmgr/Config.in b/package/efibootmgr/Config.in index 57874fc426..0d36ffd6e7 100644 --- a/package/efibootmgr/Config.in +++ b/package/efibootmgr/Config.in @@ -6,22 +6,19 @@ config BR2_PACKAGE_EFIBOOTMGR depends on !BR2_TOOLCHAIN_USES_MUSL # efivar depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # efivar depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS - depends on BR2_USE_WCHAR # gettext - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT select BR2_PACKAGE_EFIVAR help A Linux user-space application to modify the Intel Extensible - Firmware Interface (EFI) Boot Manager. This application can create - and destroy boot entries, change the boot order, change the next - running boot option, and more. + Firmware Interface (EFI) Boot Manager. This application can + create and destroy boot entries, change the boot order, change + the next running boot option, and more. https://github.com/rhinstaller/efibootmgr -comment "efibootmgr needs a glibc or uClibc toolchain w/ wchar, dynamic library, headers >= 3.12, gcc >= 4.9" +comment "efibootmgr needs a glibc or uClibc toolchain w/ dynamic library, headers >= 3.12, gcc >= 4.9" depends on BR2_PACKAGE_EFIVAR_ARCH_SUPPORTS depends on BR2_STATIC_LIBS || \ !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 || \ BR2_TOOLCHAIN_USES_MUSL || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ - !BR2_USE_WCHAR + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS diff --git a/package/efibootmgr/efibootmgr.mk b/package/efibootmgr/efibootmgr.mk index 487c8ca666..b32d9cbcfd 100644 --- a/package/efibootmgr/efibootmgr.mk +++ b/package/efibootmgr/efibootmgr.mk @@ -6,10 +6,10 @@ EFIBOOTMGR_VERSION = 14 EFIBOOTMGR_SITE = $(call github,rhinstaller,efibootmgr,$(EFIBOOTMGR_VERSION)) -EFIBOOTMGR_LICENSE = GPLv2+ +EFIBOOTMGR_LICENSE = GPL-2.0+ EFIBOOTMGR_LICENSE_FILES = COPYING -EFIBOOTMGR_DEPENDENCIES = efivar $(if $(BR2_NEEDS_GETTEXT),gettext) -EFIBOOTMGR_LDFLAGS = $(TARGET_LDFLAGS) $(if $(BR2_NEEDS_GETTEXT),-lintl) +EFIBOOTMGR_DEPENDENCIES = efivar $(TARGET_NLS_DEPENDENCIES) +EFIBOOTMGR_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) define EFIBOOTMSR_PATCH_HEADER_PATH $(SED) 's,-I/,-I$(STAGING_DIR)/,' $(@D)/Makefile @@ -18,12 +18,12 @@ endef EFIBOOTMGR_POST_PATCH_HOOKS += EFIBOOTMSR_PATCH_HEADER_PATH define EFIBOOTMGR_BUILD_CMDS - $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) \ + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) \ LDFLAGS="$(EFIBOOTMGR_LDFLAGS)" $(MAKE1) -C $(@D) endef define EFIBOOTMGR_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ DESTDIR=$(TARGET_DIR) install endef diff --git a/package/efivar/0003-Remove-some-extra-const-that-gcc-complains-about.patch b/package/efivar/0003-Remove-some-extra-const-that-gcc-complains-about.patch new file mode 100644 index 0000000000..6b9f77eb8b --- /dev/null +++ b/package/efivar/0003-Remove-some-extra-const-that-gcc-complains-about.patch @@ -0,0 +1,47 @@ +From 1c7c0f71c9d22efda4156881eb187b8c69d1cca7 Mon Sep 17 00:00:00 2001 +From: Peter Jones +Date: Mon, 6 Feb 2017 14:28:19 -0500 +Subject: [PATCH] Remove some extra "const" that gcc complains about. + +One of these days I'll get these right. + +Signed-off-by: Peter Jones +Signed-off-by: Baruch Siach +--- +Upstream commit 1c7c0f71c9d22e. + + src/include/efivar/efiboot-loadopt.h | 4 ++-- + src/loadopt.c | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/include/efivar/efiboot-loadopt.h b/src/include/efivar/efiboot-loadopt.h +index 07db5c4c53e3..efc29c69d47e 100644 +--- a/src/include/efivar/efiboot-loadopt.h ++++ b/src/include/efivar/efiboot-loadopt.h +@@ -32,8 +32,8 @@ extern ssize_t efi_loadopt_create(uint8_t *buf, ssize_t size, + + extern efidp efi_loadopt_path(efi_load_option *opt, ssize_t limit) + __attribute__((__nonnull__ (1))); +-extern const unsigned char const * efi_loadopt_desc(efi_load_option *opt, +- ssize_t limit) ++extern const unsigned char * efi_loadopt_desc(efi_load_option *opt, ++ ssize_t limit) + __attribute__((__visibility__ ("default"))) + __attribute__((__nonnull__ (1))); + extern uint32_t efi_loadopt_attrs(efi_load_option *opt) +diff --git a/src/loadopt.c b/src/loadopt.c +index a63ca792d2dc..ce889867fd29 100644 +--- a/src/loadopt.c ++++ b/src/loadopt.c +@@ -357,7 +357,7 @@ teardown(void) + + __attribute__((__nonnull__ (1))) + __attribute__((__visibility__ ("default"))) +-const unsigned char const * ++const unsigned char * + efi_loadopt_desc(efi_load_option *opt, ssize_t limit) + { + if (last_desc) { +-- +2.13.2 + diff --git a/package/efivar/Config.in b/package/efivar/Config.in index 0ec836007b..0fa9adf387 100644 --- a/package/efivar/Config.in +++ b/package/efivar/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_EFIVAR_ARCH_SUPPORTS bool + default y depends on BR2_arm || BR2_aarch64 || BR2_i386 || BR2_x86_64 \ || BR2_powerpc64le || BR2_mipsel || BR2_mips64el - default y config BR2_PACKAGE_EFIVAR bool "efivar" diff --git a/package/efivar/efivar.mk b/package/efivar/efivar.mk index c31d87b840..d06192ed22 100644 --- a/package/efivar/efivar.mk +++ b/package/efivar/efivar.mk @@ -6,7 +6,7 @@ EFIVAR_VERSION = 30 EFIVAR_SITE = $(call github,rhinstaller,efivar,$(EFIVAR_VERSION)) -EFIVAR_LICENSE = LGPLv2.1 +EFIVAR_LICENSE = LGPL-2.1 EFIVAR_LICENSE_FILES = COPYING EFIVAR_DEPENDENCIES = popt EFIVAR_INSTALL_STAGING = YES diff --git a/package/efl/Config.in b/package/efl/Config.in index 5e89af602c..cfb803c6df 100644 --- a/package/efl/Config.in +++ b/package/efl/Config.in @@ -26,8 +26,8 @@ if BR2_PACKAGE_EFL config BR2_PACKAGE_EFL_BULLET bool "Enable bullet support (recommended)" - select BR2_PACKAGE_BULLET default y + select BR2_PACKAGE_BULLET help If you have chosen to disable physics support, this disables lots of core functionality and is effectively never @@ -38,8 +38,8 @@ config BR2_PACKAGE_EFL_BULLET config BR2_PACKAGE_EFL_EEZE bool "Enable eeze (udev) support (recommended)" - depends on BR2_PACKAGE_HAS_UDEV # libudev default y + depends on BR2_PACKAGE_HAS_UDEV # libudev help Eeze is EFL's hardware abstraction layer on top of udev. Having it off will disable some hardware detection, such as @@ -51,8 +51,8 @@ comment "eeze needs udev /dev management" config BR2_PACKAGE_EFL_FONTCONFIG bool "Enable fontconfig support (recommended)" - select BR2_PACKAGE_FONTCONFIG default y + select BR2_PACKAGE_FONTCONFIG help If fontconfig is disabled, this is going to make general font searching not work, and only some very direct 'load @@ -64,9 +64,9 @@ config BR2_PACKAGE_EFL_FONTCONFIG config BR2_PACKAGE_EFL_GSTREAMER1 bool "Enable gstreamer1 support (recommended)" + default y select BR2_PACKAGE_GSTREAMER1 select BR2_PACKAGE_GST1_PLUGINS_BASE - default y help If Gstreamer 1.x support is disabled, it will heavily limit your media support options and render some functionality as @@ -74,8 +74,8 @@ config BR2_PACKAGE_EFL_GSTREAMER1 config BR2_PACKAGE_EFL_LIBFRIBIDI bool "Enable libfribidi support (recommended)" - select BR2_PACKAGE_LIBFRIBIDI default y + select BR2_PACKAGE_LIBFRIBIDI help Fribidi is used for handling right-to-left text (like Arabic, Hebrew, Farsi, Persian etc.) and is very likely not @@ -87,8 +87,8 @@ config BR2_PACKAGE_EFL_LIBFRIBIDI config BR2_PACKAGE_EFL_LIBSNDFILE bool "Enable libsndfile support (recommended)" - select BR2_PACKAGE_LIBSNDFILE default y + select BR2_PACKAGE_LIBSNDFILE help If you disabled audio support in Ecore, this is not tested and may create bugs for you due to it creating untested code @@ -96,9 +96,8 @@ config BR2_PACKAGE_EFL_LIBSNDFILE config BR2_PACKAGE_EFL_PULSEAUDIO bool "Enable pulseaudio support (recommended)" - depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pulseaudio -> json-c - select BR2_PACKAGE_PULSEAUDIO default y + select BR2_PACKAGE_PULSEAUDIO help The only audio output method supported by Ecore right now is via Pulseaudio. You have disabled that and likely have @@ -110,12 +109,12 @@ config BR2_PACKAGE_EFL_PULSEAUDIO config BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT bool "Enable libmount support (recommended)" + default y depends on BR2_PACKAGE_EFL_EEZE select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT # libblkid is part of required tools, see EFL's README. select BR2_PACKAGE_UTIL_LINUX_LIBBLKID - default y help Libmount is used heavily inside Eeze for support of removable devices etc... and disabling this will hurt support for @@ -135,7 +134,6 @@ config BR2_PACKAGE_EFL_HAS_RECOMMENDED_CONFIG BR2_PACKAGE_EFL_PULSEAUDIO && \ BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT - comment "Warning: one of the recommended option for EFL is not enabled" depends on !BR2_PACKAGE_EFL_HAS_RECOMMENDED_CONFIG @@ -145,8 +143,8 @@ config BR2_PACKAGE_EFL_EOLIAN_CPP depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # Eolian needs C++11 help Eolian is an EO object parser and code generator. - With this option enabled Eolian will handle automatic generation - of EFL bindings for the C++11 language. + With this option enabled Eolian will handle automatic + generation of EFL bindings for the C++11 language. comment "Eolian needs host and target gcc >= 4.8" depends on !BR2_HOST_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 @@ -179,18 +177,21 @@ config BR2_PACKAGE_EFL_WAYLAND depends on BR2_PACKAGE_MESA3D_OPENGL_EGL # Evas DRM Engine depends on BR2_PACKAGE_EFL_EEZE # efl drm depends on BR2_PACKAGE_EFL_OPENGLES # OpenGL ES with EGL support only + depends on BR2_ENABLE_LOCALE # efl-drm <- efl-elput <- linput select BR2_PACKAGE_EFL_DRM + select BR2_PACKAGE_WAYLAND_PROTOCOLS -comment "Wayland support needs udev /dev management (eeze) and OpenGL ES w/ EGL, threads" +comment "Wayland support needs udev /dev management (eeze), OpenGL ES w/ EGL, threads, locales" depends on BR2_PACKAGE_WAYLAND depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_PACKAGE_MESA3D_OPENGL_EGL \ - || !BR2_PACKAGE_EFL_OPENGLES || !BR2_PACKAGE_EFL_EEZE + || !BR2_PACKAGE_EFL_OPENGLES || !BR2_PACKAGE_EFL_EEZE \ + || !BR2_ENABLE_LOCALE choice bool "OpenGL support" help - libevas can be configured to use HW acceleration with OpenGL or - OpenGL ES. + libevas can be configured to use HW acceleration with OpenGL + or OpenGL ES. config BR2_PACKAGE_EFL_OPENGL bool "OpenGL" @@ -216,32 +217,35 @@ endchoice # OpenGL support config BR2_PACKAGE_EFL_ELPUT bool "Elput" + depends on BR2_ENABLE_LOCALE # libinput depends on BR2_PACKAGE_EFL_EEZE select BR2_PACKAGE_LIBINPUT select BR2_PACKAGE_LIBXKBCOMMON help - The elput library is an efl abstraction for the libinput library - which can be used by various other subsystems (ecore_fb, - ecore_drm, etc) to handle interfacing with libinput without - having to duplicate the code in each subsystem. + The elput library is an efl abstraction for the libinput + library which can be used by various other subsystems + (ecore_fb, ecore_drm, etc) to handle interfacing with + libinput without having to duplicate the code in each + subsystem. -comment "Elput support needs udev /dev management (eeze)" - depends on !BR2_PACKAGE_EFL_EEZE +comment "Elput support needs udev /dev management (eeze), locales" + depends on !BR2_PACKAGE_EFL_EEZE || !BR2_ENABLE_LOCALE config BR2_PACKAGE_EFL_DRM bool "Evas DRM Engine" depends on BR2_PACKAGE_EFL_EEZE depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm depends on BR2_PACKAGE_MESA3D_OPENGL_EGL # require libgbm from mesa3d + depends on BR2_ENABLE_LOCALE # efl-elput <- libinput select BR2_PACKAGE_EFL_ELPUT select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_LIBXKBCOMMON help This option enable building support for the Evas DRM Engine. -comment "Evas DRM Engine needs udev /dev management (eeze) and mesa3d w/ EGL support, threads" +comment "Evas DRM Engine needs udev /dev management (eeze), mesa3d w/ EGL support, threads, locales" depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_PACKAGE_MESA3D_OPENGL_EGL \ - || !BR2_PACKAGE_EFL_EEZE + || !BR2_PACKAGE_EFL_EEZE || !BR2_ENABLE_LOCALE comment "libevas loaders" @@ -252,16 +256,6 @@ config BR2_PACKAGE_EFL_PNG This enables the loader code that loads png files using libpng. -# JP2K support require openjpeg 1.x (libopenjpeg1.pc) which is not -# available in Buildroot anymore. -config BR2_PACKAGE_EFL_JP2K - bool "libevas jp2k loader" - select BR2_PACKAGE_OPENJPEG - depends on BROKEN # require openjpeg 1.x - help - This enables the loader code that loads jp2k files using - openjpeg. - config BR2_PACKAGE_EFL_JPEG bool "libevas jpeg loader" help diff --git a/package/efl/efl.hash b/package/efl/efl.hash index 5d7a90d680..edc72c2d1f 100644 --- a/package/efl/efl.hash +++ b/package/efl/efl.hash @@ -1,2 +1,2 @@ -# From https://download.enlightenment.org/rel/libs/efl/efl-1.18.4.tar.xz.sha256 -sha256 39ebc07e37437d6ecdeb0f645783484e28a882b38f7e619ad12c2bf9b5548025 efl-1.18.4.tar.xz +# From https://download.enlightenment.org/rel/libs/efl/efl-1.20.5.tar.xz.sha256 +sha256 da5e69b81c94b79f4e31cfc312413c36acb7429e1cb6fd4397a1251a0e23c21c efl-1.20.5.tar.xz diff --git a/package/efl/efl.mk b/package/efl/efl.mk index 1e54f72810..e0748d2215 100644 --- a/package/efl/efl.mk +++ b/package/efl/efl.mk @@ -4,10 +4,10 @@ # ################################################################################ -EFL_VERSION = 1.18.4 +EFL_VERSION = 1.20.5 EFL_SOURCE = efl-$(EFL_VERSION).tar.xz EFL_SITE = http://download.enlightenment.org/rel/libs/efl -EFL_LICENSE = BSD-2c, LGPLv2.1+, GPLv2+ +EFL_LICENSE = BSD-2-Clause, LGPL-2.1+, GPL-2.0+ EFL_LICENSE_FILES = \ COMPLIANCE \ COPYING \ @@ -24,26 +24,28 @@ EFL_DEPENDENCIES = host-pkgconf host-efl host-luajit dbus freetype \ # Configure options: # --disable-lua-old: build elua for the target. -# --disable-poppler: disable poppler image loader. # --disable-sdl: disable sdl2 support. # --disable-spectre: disable spectre image loader. # --disable-xinput22: disable X11 XInput v2.2+ support. +# --disable-vnc-server: remove libvncserver dependency. # --enable-liblz4: use liblz4 from lz4 package. +# --with-net-control=none: disable connman networkmanager. # --with-doxygen: disable doxygen documentation EFL_CONF_OPTS = \ - --with-edje-cc=$(HOST_DIR)/usr/bin/edje_cc \ - --with-eet-eet=$(HOST_DIR)/usr/bin/eet \ - --with-eldbus_codegen=$(HOST_DIR)/usr/bin/eldbus-codegen \ - --with-elementary-codegen=$(HOST_DIR)/usr/bin/elementary_codegen \ - --with-elm-prefs-cc=$(HOST_DIR)/usr/bin/elm_prefs_cc \ - --with-elua=$(HOST_DIR)/usr/bin/elua \ - --with-eolian-gen=$(HOST_DIR)/usr/bin/eolian_gen \ + --with-edje-cc=$(HOST_DIR)/bin/edje_cc \ + --with-eet-eet=$(HOST_DIR)/bin/eet \ + --with-eldbus_codegen=$(HOST_DIR)/bin/eldbus-codegen \ + --with-elementary-codegen=$(HOST_DIR)/bin/elementary_codegen \ + --with-elm-prefs-cc=$(HOST_DIR)/bin/elm_prefs_cc \ + --with-elua=$(HOST_DIR)/bin/elua \ + --with-eolian-gen=$(HOST_DIR)/bin/eolian_gen \ + --disable-image-loader-jp2k \ + --with-net-control=none \ --disable-lua-old \ - --disable-poppler \ --disable-sdl \ --disable-spectre \ --disable-xinput22 \ - --disable-wayland \ + --disable-vnc-server \ --enable-liblz4 \ --with-doxygen=no @@ -54,7 +56,7 @@ endif ifeq ($(BR2_PACKAGE_EFL_EOLIAN_CPP),y) EFL_CONF_OPTS += --enable-cxx-bindings \ - --with-eolian-cxx=$(HOST_DIR)/usr/bin/eolian_cxx + --with-eolian-cxx=$(HOST_DIR)/bin/eolian_cxx else EFL_CONF_OPTS += --disable-cxx-bindings endif @@ -212,7 +214,7 @@ endif # which depends on wayland-client to build. # So enable gl_drm only when wayland support is selected. ifeq ($(BR2_PACKAGE_EFL_WAYLAND),y) -EFL_DEPENDENCIES += wayland +EFL_DEPENDENCIES += wayland wayland-protocols EFL_CONF_OPTS += --enable-wayland --enable-gl-drm else EFL_CONF_OPTS += --disable-wayland --disable-gl-drm @@ -251,13 +253,6 @@ else EFL_CONF_OPTS += --disable-image-loader-tiff endif -ifeq ($(BR2_PACKAGE_EFL_JP2K),y) -EFL_CONF_OPTS += --enable-image-loader-jp2k=yes -EFL_DEPENDENCIES += openjpeg -else -EFL_CONF_OPTS += --disable-image-loader-jp2k -endif - ifeq ($(BR2_PACKAGE_EFL_WEBP),y) EFL_CONF_OPTS += --enable-image-loader-webp=yes EFL_DEPENDENCIES += webp @@ -265,6 +260,13 @@ else EFL_CONF_OPTS += --disable-image-loader-webp endif +ifeq ($(BR2_PACKAGE_POPPLER),y) +EFL_DEPENDENCIES += poppler +EFL_CONF_OPTS += --enable-poppler +else +EFL_CONF_OPTS += --disable-poppler +endif + ifeq ($(BR2_PACKAGE_EFL_LIBRAW),y) EFL_DEPENDENCIES += libraw EFL_CONF_OPTS += --enable-libraw @@ -291,6 +293,10 @@ endef EFL_POST_INSTALL_TARGET_HOOKS = EFL_HOOK_REMOVE_UPOWER endif +ifeq ($(BR2_PACKAGE_LIBUNWIND),y) +EFL_DEPENDENCIES += libunwind +endif + $(eval $(autotools-package)) ################################################################################ @@ -330,10 +336,13 @@ HOST_EFL_DEPENDENCIES = \ # --disable-physics: remove Bullet dependency. # --disable-poppler: disable poppler image loader. # --disable-spectre: disable spectre image loader. +# --disable-systemd: disable systemd dependency. +# --disable-vnc-server: remove libvncserver dependency. # --enable-image-loader-gif=no: disable Gif dependency. # --enable-image-loader-tiff=no: disable Tiff dependency. # --with-crypto=none: remove dependencies on openssl or gnutls. # --with-doxygen: disable doxygen documentation +# --with-net-control=none: disable connman networkmanager. # --with-x11=none: remove dependency on X.org. # Yes I really know what I am doing. HOST_EFL_CONF_OPTS += \ @@ -350,7 +359,9 @@ HOST_EFL_CONF_OPTS += \ --disable-physics \ --disable-poppler \ --disable-spectre \ + --disable-systemd \ --disable-xcf \ + --disable-vnc-server \ --enable-image-loader-gif=no \ --enable-image-loader-jpeg=yes \ --enable-image-loader-png=yes \ @@ -358,6 +369,7 @@ HOST_EFL_CONF_OPTS += \ --with-crypto=none \ --with-doxygen=no \ --with-glib=yes \ + --with-net-control=none \ --with-opengl=none \ --with-x11=none \ --enable-i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-abb @@ -376,7 +388,7 @@ endif # system bus which is non-existent and does not contain # any upower service in it. define HOST_EFL_HOOK_REMOVE_UPOWER - rm -fr $(HOST_DIR)/usr/lib/ecore/system/upower + rm -fr $(HOST_DIR)/lib/ecore/system/upower endef HOST_EFL_POST_INSTALL_HOOKS = HOST_EFL_HOOK_REMOVE_UPOWER diff --git a/package/eigen/Config.in b/package/eigen/Config.in index 03d65b19d1..48752e0c8d 100644 --- a/package/eigen/Config.in +++ b/package/eigen/Config.in @@ -3,8 +3,8 @@ config BR2_PACKAGE_EIGEN depends on BR2_INSTALL_LIBSTDCPP help Eigen is a C++ template library for linear algebra: vectors, - matrices, and related algorithms. It is versatile, fast, elegant - and works on many platforms (OS/Compilers). + matrices, and related algorithms. It is versatile, fast, + elegant and works on many platforms (OS/Compilers). This package only installs header files to the include path. If you just want to use Eigen, you can use the header files diff --git a/package/eigen/eigen.hash b/package/eigen/eigen.hash new file mode 100644 index 0000000000..4a1bcdf93d --- /dev/null +++ b/package/eigen/eigen.hash @@ -0,0 +1,8 @@ +# Locally computed +sha256 dd254beb0bafc695d0f62ae1a222ff85b52dbaa3a16f76e781dce22d0d20a4a6 3.3.4.tar.bz2 +sha256 4f877e5ae4672568ef82cfd0023e2cef4a7cf55d867ab249efc9569a7eb9e5b1 COPYING.BSD +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING.GPL +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPL +sha256 f5b330efdad110cdd84d585ec61220b0650461fa599e36b13e1726c9346dcfb9 COPYING.MINPACK +sha256 fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85 COPYING.MPL2 +sha256 c83230b770f17ef1386ea1fd3681271dd98aa93646bdbfb5bff3a1b7050fff9d COPYING.README diff --git a/package/eigen/eigen.mk b/package/eigen/eigen.mk index 730bb5ffd2..89f54fb948 100644 --- a/package/eigen/eigen.mk +++ b/package/eigen/eigen.mk @@ -4,10 +4,10 @@ # ################################################################################ -EIGEN_VERSION = 3.2.5 -EIGEN_SITE = https://bitbucket.org/eigen/eigen -EIGEN_SITE_METHOD = hg -EIGEN_LICENSE = MPL2, BSD-3c, LGPLv2.1 +EIGEN_VERSION = 3.3.4 +EIGEN_SOURCE = $(EIGEN_VERSION).tar.bz2 +EIGEN_SITE = https://bitbucket.org/eigen/eigen/get +EIGEN_LICENSE = MPL2, BSD-3-Clause, LGPL-2.1 EIGEN_LICENSE_FILES = COPYING.MPL2 COPYING.BSD COPYING.LGPL COPYING.README EIGEN_INSTALL_STAGING = YES EIGEN_INSTALL_TARGET = NO diff --git a/package/ejabberd/0001-remove-make-targets-for-deps.patch b/package/ejabberd/0001-remove-make-targets-for-deps.patch index 6917f71f31..aee09670a1 100644 --- a/package/ejabberd/0001-remove-make-targets-for-deps.patch +++ b/package/ejabberd/0001-remove-make-targets-for-deps.patch @@ -7,21 +7,18 @@ Without this patch, dependencies would be downloaded and compiled using rebar at build time. Signed-off-by: Frank Hunleth ---- - Makefile.in | 26 +++----------------------- - 1 file changed, 3 insertions(+), 23 deletions(-) diff --git a/Makefile.in b/Makefile.in -index 08cd837..2a6457c 100644 +index a0b4553d..4190a515 100644 --- a/Makefile.in +++ b/Makefile.in @@ -77,26 +77,11 @@ else INIT_USER=$(INSTALLUSER) endif - + -all: deps src +all: src - + -deps: deps/.got - -deps/.got: @@ -35,7 +32,7 @@ index 08cd837..2a6457c 100644 -src: deps/.built +src: $(REBAR) skip_deps=true compile - + -update: - rm -rf deps/.got - rm -rf deps/.built @@ -43,34 +40,3 @@ index 08cd837..2a6457c 100644 - xref: all $(REBAR) skip_deps=true xref - -@@ -152,16 +137,13 @@ $(foreach file,$(DEPS_FILES_FILTERED) $(MAIN_FILES),$(eval $(call COPY_template, - $(sort $(call TO_DEST,$(MAIN_DIRS) $(DEPS_DIRS))): - $(INSTALL) -d $@ - --$(call TO_DEST,deps/p1_pam/priv/bin/epam): $(LIBDIR)/%: deps/p1_pam/priv/bin/epam $(call TO_DEST,deps/p1_pam/priv/bin/) -- $(INSTALL) -m 750 $(O_USER) $< $@ -- - $(call TO_DEST,priv/sql/lite.sql): sql/lite.sql $(call TO_DEST,priv/sql) - $(INSTALL) -m 644 $< $@ - - $(call TO_DEST,priv/bin/captcha.sh): tools/captcha.sh $(call TO_DEST,priv/bin) - $(INSTALL) -m 750 $(O_USER) $< $@ - --copy-files-sub2: $(call TO_DEST,$(DEPS_FILES) $(MAIN_FILES) priv/bin/captcha.sh priv/sql/lite.sql) -+copy-files-sub2: $(call TO_DEST,$(MAIN_FILES) priv/bin/captcha.sh priv/sql/lite.sql) - - endif - -@@ -287,8 +269,6 @@ TAGS: - - Makefile: Makefile.in - --deps := $(wildcard deps/*/ebin) -- - dialyzer/erlang.plt: - @mkdir -p dialyzer - @dialyzer --build_plt --output_plt dialyzer/erlang.plt \ --- -2.5.0 - diff --git a/package/ejabberd/0002-remove-dependencies-from-rebar-config.patch b/package/ejabberd/0002-remove-dependencies-from-rebar-config.patch index 9dcea1c320..bcf1e8a5ee 100644 --- a/package/ejabberd/0002-remove-dependencies-from-rebar-config.patch +++ b/package/ejabberd/0002-remove-dependencies-from-rebar-config.patch @@ -7,79 +7,88 @@ Without this patch, dependencies would be downloaded and compiled by rebar at build time. Signed-off-by: Frank Hunleth ---- - rebar.config | 51 --------------------------------------------------- - 1 file changed, 51 deletions(-) diff --git a/rebar.config b/rebar.config -index 30c0360..d6a5b4d 100644 +index aef3a017..71937023 100644 --- a/rebar.config +++ b/rebar.config -@@ -7,48 +7,6 @@ - %%% Created : 1 May 2013 by Evgeniy Khramtsov - %%%------------------------------------------------------------------- - --{deps, [{if_var_true, lager, {lager, ".*", {git, "https://github.com/basho/lager", {tag, "3.0.2"}}}}, -- {if_var_false, lager, {p1_logger, ".*", {git, "https://github.com/processone/p1_logger", {tag, "1.0.0"}}}}, -- {p1_utils, ".*", {git, "https://github.com/processone/p1_utils", {tag, "1.0.2"}}}, -- {cache_tab, ".*", {git, "https://github.com/processone/cache_tab", {tag, "1.0.1"}}}, -- {p1_tls, ".*", {git, "https://github.com/processone/tls", {tag, "1.0.0"}}}, -- {p1_stringprep, ".*", {git, "https://github.com/processone/stringprep", {tag, "1.0.0"}}}, -- {p1_xml, ".*", {git, "https://github.com/processone/xml", {tag, "1.1.1"}}}, -- {p1_stun, ".*", {git, "https://github.com/processone/stun", "0.9.0"}}, -- {esip, ".*", {git, "https://github.com/processone/p1_sip", "1.0.0"}}, -- {p1_yaml, ".*", {git, "https://github.com/processone/p1_yaml", {tag, "1.0.0"}}}, -- {jiffy, ".*", {git, "https://github.com/davisp/jiffy", {tag, "0.14.5"}}}, -- {oauth2, ".*", {git, "https://github.com/kivra/oauth2", "8d129fbf8866930b4ffa6dd84e65bd2b32b9acb8"}}, -- {xmlrpc, ".*", {git, "https://github.com/rds13/xmlrpc", {tag, "1.15"}}}, -- {if_var_true, mysql, {p1_mysql, ".*", {git, "https://github.com/processone/mysql", {tag, "1.0.0"}}}}, -- {if_var_true, pgsql, {p1_pgsql, ".*", {git, "https://github.com/processone/pgsql", {tag, "1.0.0"}}}}, -- {if_var_true, sqlite, {sqlite3, ".*", {git, "https://github.com/alexeyr/erlang-sqlite3", "cbc3505f7a131254265d3ef56191b2581b8cc172"}}}, -- {if_var_true, pam, {p1_pam, ".*", {git, "https://github.com/processone/epam", {tag, "1.0.0"}}}}, -- {if_var_true, zlib, {p1_zlib, ".*", {git, "https://github.com/processone/zlib", {tag, "1.0.0"}}}}, -- {if_var_true, riak, {hamcrest, ".*", {git, "https://github.com/hyperthunk/hamcrest-erlang", "908a24fda4a46776a5135db60ca071e3d783f9f6"}}}, % for riak_pb-2.1.0.7 -- {if_var_true, riak, {riakc, ".*", {git, "https://github.com/basho/riak-erlang-client", "527722d12d0433b837cdb92a60900c2cb5df8942"}}}, -- {if_var_true, elixir, {elixir, ".*", {git, "https://github.com/elixir-lang/elixir", {tag, "v1.1.0"}}}}, -- {if_var_true, elixir, {rebar_elixir_plugin, ".*", {git, "https://github.com/processone/rebar_elixir_plugin", "0.1.0"}}}, -- {if_var_true, iconv, {p1_iconv, ".*", {git, "https://github.com/processone/eiconv", {tag, "0.9.0"}}}}, -- {if_var_true, tools, {meck, "0.8.2", {git, "https://github.com/eproxus/meck", {tag, "0.8.2"}}}}, -- {if_var_true, redis, {eredis, ".*", {git, "https://github.com/wooga/eredis", {tag, "v1.0.8"}}}}]}. +@@ -18,63 +18,6 @@ + %%% + %%%---------------------------------------------------------------------- + +-{deps, [{lager, ".*", {git, "https://github.com/basho/lager", {tag, "3.2.1"}}}, +- {p1_utils, ".*", {git, "https://github.com/processone/p1_utils", {tag, "1.0.8"}}}, +- {cache_tab, ".*", {git, "https://github.com/processone/cache_tab", {tag, "1.0.7"}}}, +- {fast_tls, ".*", {git, "https://github.com/processone/fast_tls", {tag, "1.0.11"}}}, +- {stringprep, ".*", {git, "https://github.com/processone/stringprep", {tag, "1.0.8"}}}, +- {fast_xml, ".*", {git, "https://github.com/processone/fast_xml", {tag, "1.1.21"}}}, +- {xmpp, ".*", {git, "https://github.com/processone/xmpp", {tag, "1.1.9"}}}, +- {stun, ".*", {git, "https://github.com/processone/stun", {tag, "1.0.10"}}}, +- {esip, ".*", {git, "https://github.com/processone/esip", {tag, "1.0.11"}}}, +- {fast_yaml, ".*", {git, "https://github.com/processone/fast_yaml", {tag, "1.0.9"}}}, +- {jiffy, ".*", {git, "https://github.com/davisp/jiffy", {tag, "0.14.8"}}}, +- {p1_oauth2, ".*", {git, "https://github.com/processone/p1_oauth2", {tag, "0.6.1"}}}, +- {luerl, ".*", {git, "https://github.com/rvirding/luerl", {tag, "v0.2"}}}, +- {if_var_true, mysql, {p1_mysql, ".*", {git, "https://github.com/processone/p1_mysql", +- {tag, "1.0.2"}}}}, +- {if_var_true, pgsql, {p1_pgsql, ".*", {git, "https://github.com/processone/p1_pgsql", +- {tag, "1.1.2"}}}}, +- {if_var_true, sqlite, {sqlite3, ".*", {git, "https://github.com/processone/erlang-sqlite3", +- {tag, "1.1.5"}}}}, +- {if_var_true, pam, {epam, ".*", {git, "https://github.com/processone/epam", +- {tag, "1.0.2"}}}}, +- {if_var_true, zlib, {ezlib, ".*", {git, "https://github.com/processone/ezlib", +- {tag, "1.0.2"}}}}, +- {if_var_true, riak, {riakc, ".*", {git, "https://github.com/basho/riak-erlang-client", +- {tag, "2.4.1"}}}}, +- %% Elixir support, needed to run tests +- {if_var_true, elixir, {elixir, ".*", {git, "https://github.com/elixir-lang/elixir", +- {tag, {if_version_above, "17", "v1.2.6", "v1.1.1"}}}}}, +- %% TODO: When modules are fully migrated to new structure and mix, we will not need anymore rebar_elixir_plugin +- {if_not_rebar3, {if_var_true, elixir, {rebar_elixir_plugin, ".*", +- {git, "https://github.com/processone/rebar_elixir_plugin", "0.1.0"}}}}, +- {if_var_true, iconv, {iconv, ".*", {git, "https://github.com/processone/iconv", +- {tag, "1.0.4"}}}}, +- {if_var_true, tools, {meck, "0.8.*", {git, "https://github.com/eproxus/meck", +- {tag, "0.8.4"}}}}, +- {if_var_true, tools, {moka, ".*", {git, "https://github.com/processone/moka.git", +- {tag, "1.0.5c"}}}}, +- {if_var_true, redis, {eredis, ".*", {git, "https://github.com/wooga/eredis", +- {tag, "v1.0.8"}}}}]}. - -{if_var_true, latest_deps, -- {floating_deps, [p1_logger, -- cache_tab, -- p1_tls, -- p1_stringprep, -- p1_xml, +- {floating_deps, [cache_tab, +- fast_tls, +- stringprep, +- fast_xml, - esip, -- p1_stun, -- p1_yaml, +- luerl, +- stun, +- fast_yaml, +- xmpp, - p1_utils, - p1_mysql, - p1_pgsql, -- p1_pam, -- p1_zlib, -- p1_iconv]}}. +- epam, +- ezlib, +- iconv]}}. - + {erl_first_files, ["src/ejabberd_config.erl", "src/gen_mod.erl", "src/mod_muc_room.erl"]}. + {erl_opts, [nowarn_deprecated_function, - {if_var_true, roster_gateway_workaround, {d, 'ROSTER_GATWAY_WORKAROUND'}}, - {if_var_match, db_type, mssql, {d, 'mssql'}}, -@@ -92,15 +50,6 @@ - - {eunit_compile_opts, [{i, "tools"}]}. - --{post_hook_configure, [{"p1_tls", []}, -- {"p1_stringprep", []}, -- {"p1_yaml", []}, +@@ -142,15 +85,6 @@ + {if_version_above, "17", {cover_enabled, true}}. + {cover_export_enabled, true}. + +-{post_hook_configure, [{"fast_tls", []}, +- {"stringprep", []}, +- {"fast_yaml", []}, - {"esip", []}, -- {"p1_xml", [{if_var_true, full_xml, "--enable-full-xml"}]}, -- {if_var_true, pam, {"p1_pam", []}}, -- {if_var_true, zlib, {"p1_zlib", []}}, -- {if_var_true, iconv, {"p1_iconv", []}}]}. +- {"fast_xml", [{if_var_true, full_xml, "--enable-full-xml"}]}, +- {if_var_true, pam, {"epam", []}}, +- {if_var_true, zlib, {"ezlib", []}}, +- {if_var_true, iconv, {"iconv", []}}]}. - {port_env, [{"CFLAGS", "-g -O2 -Wall"}]}. - - {port_specs, [{"priv/lib/jid.so", ["c_src/jid.c"]}]}. --- -2.5.0 + {port_specs, [{"priv/lib/jid.so", ["c_src/jid.c"]}]}. diff --git a/package/ejabberd/0003-remove-checking-erlang-version.patch b/package/ejabberd/0003-remove-checking-erlang-version.patch index ebcdd54645..da3bf2a89e 100644 --- a/package/ejabberd/0003-remove-checking-erlang-version.patch +++ b/package/ejabberd/0003-remove-checking-erlang-version.patch @@ -6,6 +6,8 @@ Subject: [PATCH] remove checking erlang version Without this patch, the configure will try to run erlang to simply check if the version is supported by ejabberd. Instead, we do this test statically. + +Signed-off-by: Johan Oudinet --- configure.ac | 2 -- 1 file changed, 2 deletions(-) diff --git a/package/ejabberd/0004-correct-include.patch b/package/ejabberd/0004-correct-include.patch index fd1dee2850..4db7395f75 100644 --- a/package/ejabberd/0004-correct-include.patch +++ b/package/ejabberd/0004-correct-include.patch @@ -6,6 +6,8 @@ Subject: [PATCH] correct include This part of the code was moved into it's own project and was packaged separately by me. To make the build process work, this small fix is necessary. + +Signed-off-by: Johan Oudinet --- src/mod_sip.erl | 2 +- src/mod_sip_proxy.erl | 2 +- diff --git a/package/ejabberd/0005-disable-ERLANG_DEPRECATED_CHECK.patch b/package/ejabberd/0005-disable-ERLANG_DEPRECATED_CHECK.patch index 4b68f5ff85..09b356219d 100644 --- a/package/ejabberd/0005-disable-ERLANG_DEPRECATED_CHECK.patch +++ b/package/ejabberd/0005-disable-ERLANG_DEPRECATED_CHECK.patch @@ -5,6 +5,8 @@ Subject: [PATCH] disable ERLANG_DEPRECATED_CHECK Without this patch, the configure will try to execute erlang to check if it uses deprecated types. Assume the answer is false. + +Signed-off-by: Johan Oudinet --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/ejabberd/0006-fix-install-permissions.patch b/package/ejabberd/0006-fix-install-permissions.patch index 4d77044902..9a0073f5c2 100644 --- a/package/ejabberd/0006-fix-install-permissions.patch +++ b/package/ejabberd/0006-fix-install-permissions.patch @@ -8,15 +8,12 @@ files with incompatible permissions for ejabberd, which run as an ejabberd user. Signed-off-by: Frank Hunleth ---- - Makefile.in | 38 +++++--------------------------------- - 1 file changed, 5 insertions(+), 33 deletions(-) diff --git a/Makefile.in b/Makefile.in -index 2a6457c..0be4c50 100644 +index a0b4553d..2cae2db4 100644 --- a/Makefile.in +++ b/Makefile.in -@@ -155,10 +155,8 @@ copy-files-sub: copy-files-sub2 +@@ -169,10 +169,8 @@ copy-files-sub: copy-files-sub2 install: all copy-files # # Configuration files @@ -26,12 +23,12 @@ index 2a6457c..0be4c50 100644 - || $(INSTALL) -b -m 640 $(G_USER) ejabberd.yml.example $(ETCDIR)/ejabberd.yml + $(INSTALL) -d $(ETCDIR) + $(INSTALL) -b -m 644 ejabberd.yml.example $(ETCDIR)/ejabberd.yml - $(SED) -e "s*{{rootdir}}*@prefix@*" \ - -e "s*{{installuser}}*@INSTALLUSER@*" \ - -e "s*{{bindir}}*@bindir@*" \ -@@ -168,14 +166,11 @@ install: all copy-files - -e "s*{{docdir}}*@docdir@*" \ - -e "s*{{erl}}*@ERL@*" ejabberdctl.template \ + $(SED) -e "s*{{rootdir}}*@prefix@*g" \ + -e "s*{{installuser}}*@INSTALLUSER@*g" \ + -e "s*{{bindir}}*@bindir@*g" \ +@@ -183,53 +181,16 @@ install: all copy-files + -e "s*{{erl}}*@ERL@*g" \ + -e "s*{{epmd}}*@EPMD@*g" ejabberdctl.template \ > ejabberdctl.example - [ -f $(ETCDIR)/ejabberdctl.cfg ] \ - && $(INSTALL) -b -m 640 $(G_USER) ejabberdctl.cfg.example $(ETCDIR)/ejabberdctl.cfg-new \ @@ -47,10 +44,19 @@ index 2a6457c..0be4c50 100644 # Elixir binaries [ -d $(BINDIR) ] || $(INSTALL) -d -m 755 $(BINDIR) [ -f deps/elixir/bin/iex ] && $(INSTALL) -m 550 $(G_USER) deps/elixir/bin/iex $(BINDIR)/iex || true -@@ -187,29 +182,6 @@ install: all copy-files - -e "s*@installuser@*$(INIT_USER)*" ejabberd.init.template \ - > ejabberd.init - chmod 755 ejabberd.init + [ -f deps/elixir/bin/elixir ] && $(INSTALL) -m 550 $(G_USER) deps/elixir/bin/elixir $(BINDIR)/elixir || true + [ -f deps/elixir/bin/mix ] && $(INSTALL) -m 550 $(G_USER) deps/elixir/bin/mix $(BINDIR)/mix || true +- # +- # Init script +- $(SED) -e "s*@ctlscriptpath@*$(SBINDIR)*g" \ +- -e "s*@installuser@*$(INIT_USER)*g" ejabberd.init.template \ +- > ejabberd.init +- chmod 755 ejabberd.init +- # +- # Service script +- $(SED) -e "s*@ctlscriptpath@*$(SBINDIR)*g" ejabberd.service.template \ +- > ejabberd.service +- chmod 644 ejabberd.service - # - # Spool directory - $(INSTALL) -d -m 750 $(O_USER) $(SPOOLDIR) @@ -74,9 +80,5 @@ index 2a6457c..0be4c50 100644 - && $(INSTALL) -m 644 doc/guide.html $(DOCDIR) \ - || echo "Documentation not included in sources" - $(INSTALL) -m 644 COPYING $(DOCDIR) - - uninstall: uninstall-binary - --- -2.5.0 + uninstall: uninstall-binary diff --git a/package/ejabberd/0007-fix-ejabberdctl.patch b/package/ejabberd/0007-fix-ejabberdctl.patch index 36aa3a707f..ab70d8900a 100644 --- a/package/ejabberd/0007-fix-ejabberdctl.patch +++ b/package/ejabberd/0007-fix-ejabberdctl.patch @@ -7,28 +7,22 @@ Change default values so ejabberdctl run commands as ejabberd user Also add a way for the user to change default values. Signed-off-by: Johan Oudinet ---- - ejabberdctl.template | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ejabberdctl.template b/ejabberdctl.template -index f65c21f..ff9225f 100755 +index 5b34ebee..51acaca8 100755 --- a/ejabberdctl.template +++ b/ejabberdctl.template @@ -14,9 +14,12 @@ SCRIPT_DIR=`cd ${0%/*} && pwd` ERL={{erl}} IEX={{bindir}}/iex - EPMD={{bindir}}/epmd + EPMD={{epmd}} -INSTALLUSER={{installuser}} +INSTALLUSER=ejabberd ERL_LIBS={{libdir}} - + +# Read default configuration file if present +[ ! -r /etc/default/ejabberd ] || . /etc/default/ejabberd + # check the proper system user is used if defined if [ "$INSTALLUSER" != "" ] ; then EXEC_CMD="false" --- -2.5.0 - diff --git a/package/ejabberd/0008-rebar-uses-host-dependencies.patch b/package/ejabberd/0008-rebar-uses-host-dependencies.patch new file mode 100644 index 0000000000..45f387993e --- /dev/null +++ b/package/ejabberd/0008-rebar-uses-host-dependencies.patch @@ -0,0 +1,33 @@ +Fix location of rebar dependencies. + +Signed-off-by: Christophe Romain + +diff --git a/rebar.config.script b/rebar.config.script +index 19142b9e..9107af26 100644 +--- a/rebar.config.script ++++ b/rebar.config.script +@@ -218,20 +218,10 @@ TestConfig = case file:read_file_info(TestConfigFile) of + "" + end, + +-ResolveDepPath = case IsRebar3 of +- true -> +- fun("deps/" ++ Rest) -> +- Slash = string:str(Rest, "/"), +- Dir = "_build/default/lib/" ++ +- string:sub_string(Rest, 1, Slash - 1), +- Dir ++ string:sub_string(Rest, Slash); +- (Path) -> +- Path +- end; +- _ -> +- fun(P) -> +- P +- end ++ResolveDepPath = fun("deps/fast_xml/include") -> code:lib_dir(p1_xml) ++ "/include"; ++ ("deps/xmpp/include") -> code:lib_dir(p1_xmpp) ++ "/include"; ++ ("deps/p1_utils/include") -> code:lib_dir(p1_utils) ++ "/include"; ++ (Path) -> Path + end, + + CtParams = fun(CompileOpts) -> diff --git a/package/ejabberd/Config.in b/package/ejabberd/Config.in index 5d176c3af6..a7542cd12d 100644 --- a/package/ejabberd/Config.in +++ b/package/ejabberd/Config.in @@ -1,13 +1,19 @@ config BR2_PACKAGE_EJABBERD bool "ejabberd" depends on BR2_PACKAGE_ERLANG - depends on BR2_INSTALL_LIBSTDCPP # stringprep + depends on BR2_INSTALL_LIBSTDCPP # jiffy, stringprep + select BR2_PACKAGE_ERLANG_JIFFY select BR2_PACKAGE_ERLANG_LAGER select BR2_PACKAGE_ERLANG_P1_CACHE_TAB select BR2_PACKAGE_ERLANG_P1_ICONV + select BR2_PACKAGE_ERLANG_P1_OAUTH2 select BR2_PACKAGE_ERLANG_P1_SIP select BR2_PACKAGE_ERLANG_P1_STRINGPREP + select BR2_PACKAGE_ERLANG_P1_STUN + select BR2_PACKAGE_ERLANG_P1_TLS + select BR2_PACKAGE_ERLANG_P1_UTILS select BR2_PACKAGE_ERLANG_P1_XML + select BR2_PACKAGE_ERLANG_P1_XMPP select BR2_PACKAGE_ERLANG_P1_YAML select BR2_PACKAGE_ERLANG_P1_ZLIB select BR2_PACKAGE_GETENT diff --git a/package/ejabberd/ejabberd.hash b/package/ejabberd/ejabberd.hash index 4284eec8fb..24a26d21d9 100644 --- a/package/ejabberd/ejabberd.hash +++ b/package/ejabberd/ejabberd.hash @@ -1,4 +1,2 @@ -# From https://www.process-one.net/downloads/ejabberd/16.01/ejabberd-16.01.tgz.md5 -md5 5e525c25c8f04287217b8a9522d7c942 ejabberd-16.01.tgz # Locally computed -sha256 e2cc479d5870539b2e6756690b227969c88a541d464d1fc6e1cbf7270ad7d681 ejabberd-16.01.tgz +sha256 b8395bc65b09f135a60320b62338258acd6056cc241e9e245fde267fb18dd3c9 ejabberd-17.04.tgz diff --git a/package/ejabberd/ejabberd.mk b/package/ejabberd/ejabberd.mk index 1140eb1741..35a1027efb 100644 --- a/package/ejabberd/ejabberd.mk +++ b/package/ejabberd/ejabberd.mk @@ -4,14 +4,16 @@ # ################################################################################ -EJABBERD_VERSION = 16.01 +EJABBERD_VERSION = 17.04 EJABBERD_SOURCE = ejabberd-$(EJABBERD_VERSION).tgz EJABBERD_SITE = https://www.process-one.net/downloads/ejabberd/$(EJABBERD_VERSION) -EJABBERD_LICENSE = GPLv2+ with OpenSSL exception +EJABBERD_LICENSE = GPL-2.0+ with OpenSSL exception EJABBERD_LICENSE_FILES = COPYING EJABBERD_DEPENDENCIES = getent openssl host-erlang-lager erlang-lager \ erlang-p1-cache-tab erlang-p1-iconv erlang-p1-sip \ - erlang-p1-stringprep erlang-p1-xml erlang-p1-yaml erlang-p1-zlib + erlang-p1-stringprep erlang-p1-stun erlang-p1-tls \ + erlang-p1-utils erlang-p1-xml erlang-p1-xmpp erlang-p1-yaml \ + erlang-p1-zlib host-erlang-p1-utils host-erlang-p1-xmpp # 0001-remove-make-targets-for-deps.patch updates Makefile.in EJABBERD_USE_AUTOCONF = YES @@ -26,7 +28,7 @@ EJABBERD_ERLANG_LIBS = sasl crypto public_key ssl mnesia inets compiler # Guess answers for these tests, configure will bail out otherwise # saying error: cannot run test program while cross compiling. EJABBERD_CONF_ENV = \ - ac_cv_erlang_root_dir="$(HOST_DIR)/usr/lib/erlang" \ + ac_cv_erlang_root_dir="$(HOST_DIR)/lib/erlang" \ $(foreach lib,$(EJABBERD_ERLANG_LIBS), \ ac_cv_erlang_lib_dir_$(lib)="`package/ejabberd/check-erlang-lib $(lib)`") @@ -34,9 +36,9 @@ define EJABBERD_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE) DESTDIR=$(TARGET_DIR) install -C $(@D) endef -# Delete HOST_DIR prefix from ERL path in ejabberctl script. +# Replace HOST_DIR prefix to /usr in ERL path of ejabberctl script. define EJABBERD_FIX_EJABBERDCTL - $(SED) 's,ERL=$(HOST_DIR),ERL=,' '$(TARGET_DIR)/usr/sbin/ejabberdctl' + $(SED) 's,ERL=$(HOST_DIR),ERL=/usr,' '$(TARGET_DIR)/usr/sbin/ejabberdctl' endef EJABBERD_POST_INSTALL_TARGET_HOOKS += EJABBERD_FIX_EJABBERDCTL diff --git a/package/elf2flt/0001-elf2flt-fix-relocation-support-for-R_ARM_TARGET-type.patch b/package/elf2flt/0001-elf2flt-fix-relocation-support-for-R_ARM_TARGET-type.patch deleted file mode 100644 index b9615ab34e..0000000000 --- a/package/elf2flt/0001-elf2flt-fix-relocation-support-for-R_ARM_TARGET-type.patch +++ /dev/null @@ -1,34 +0,0 @@ -From dedce8765d203c1c162a57e6259375e0b457173f Mon Sep 17 00:00:00 2001 -From: Greg Ungerer -Date: Fri, 19 Aug 2016 23:49:51 +1000 -Subject: [PATCH] elf2flt: fix relocation support for R_ARM_TARGET types - -R_ARM_TARGET1 (and I think R_ARM_TARGET2) relocation types should be -treated in the same way as R_ARM_ABS32. Fix them to write out the addend -to the flat binary in network byte order. - -Signed-off-by: Greg Ungerer -Tested-by: Waldemar Brodkorb - ---- - elf2flt.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/elf2flt.c b/elf2flt.c -index 5ae7dd9..3f31569 100644 ---- a/elf2flt.c -+++ b/elf2flt.c -@@ -1505,7 +1505,9 @@ DIS29_RELOCATION: - (((*p)->howto->type != R_ARM_PC24) && - ((*p)->howto->type != R_ARM_PLT32))) - tmp.c[i3] = (hl >> 24) & 0xff; -- if ((*p)->howto->type == R_ARM_ABS32) -+ if (((*p)->howto->type == R_ARM_ABS32) || -+ ((*p)->howto->type == R_ARM_TARGET1) || -+ ((*p)->howto->type == R_ARM_TARGET2)) - *(uint32_t *)r_mem = htonl(hl); - else - *(uint32_t *)r_mem = tmp.l; --- -1.9.1 - diff --git a/package/elf2flt/0001-ld-elf2flt-behave-properly-when-called-with-a-name-d.patch b/package/elf2flt/0001-ld-elf2flt-behave-properly-when-called-with-a-name-d.patch new file mode 100644 index 0000000000..a27c4913fb --- /dev/null +++ b/package/elf2flt/0001-ld-elf2flt-behave-properly-when-called-with-a-name-d.patch @@ -0,0 +1,79 @@ +From b31e9b1bff6832063816b972395179859d1d4619 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 13 Aug 2017 16:03:20 +0200 +Subject: [PATCH] ld-elf2flt: behave properly when called with a name different + from TARGET_ALIAS + +ld-elf2flt currently handles two cases: + + 1 It is called as the wrapper for -ld, generally + installed in the bin/ directory of a toolchain. + + 2 It is called as the wrapper for "ld", generally installed in the + TARGET_ALIAS/bin/ directory of a toolchain. + +Unfortunately, if for some reason it gets called using a FOOBAR-ld +name that is different from -ld, it assumes it is in +case (2), while it really is in case (1). Due to this, the path +mangling logic doesn't work, and it doesn't find ld.real. + +This happens for example when the binary program in bin/ is named +arm-buildroot-uclinux-uclibcgnueabi-ld, but also has a simpler symlink +named arm-linux-ld. In this case, +arm-buildroot-uclinux-uclibcgnueabi-ld is recognized by ld-elf2flt as +containing TARGET_ALIAS, and therefore the proper logic to find +ld.real is applied. However, when arm-linux-ld is used, ld-elf2flt +doesn't find TARGET_ALIAS, and therefore assumes we're being called as +TARGET_ALIAS/bin/ld.. and searches for a program called ld.real in +bin/, which doesn't exist. + +See: + +$ ./output/host/bin/arm-buildroot-uclinux-uclibcgnueabi-ld +/home/thomas/buildroot/buildroot/output/host/bin/../arm-buildroot-uclinux-uclibcgnueabi/bin/ld.real: no input files + +$ ./output/host/bin/arm-linux-ld +arm-linux-ld (ld-elf2flt): error trying to exec '/home/thomas/buildroot/buildroot/output/host/bin/ld.real': execvp: No such file or directory + +$ ./output/host/arm-buildroot-uclinux-uclibcgnueabi/bin/ld +/home/thomas/buildroot/buildroot/output/host/arm-buildroot-uclinux-uclibcgnueabi/bin/ld.real: no input files + +This commit fixes that by inverting the logic: if we're being called +as just "ld", then we assume it's the program in +TARGET_ALIAS/bin/. Otherwise, we're called through some variant of +TARGET-ld. + +Signed-off-by: Thomas Petazzoni +Submitted-upstream: https://github.com/uclinux-dev/elf2flt/pull/8 +--- + ld-elf2flt.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/ld-elf2flt.c b/ld-elf2flt.c +index de39fe0..c187c2e 100644 +--- a/ld-elf2flt.c ++++ b/ld-elf2flt.c +@@ -506,15 +506,15 @@ int main(int argc, char *argv[]) + the host while those in /lib are for the target. + Make bindir point to the bin dir for bin/-foo. + Make tooldir point to the bin dir for /bin/foo. */ +- if (streqn(elf2flt_progname, TARGET_ALIAS)) { +- tmp = concat(argv0_dir, "../" TARGET_ALIAS "/bin", NULL); ++ if (streqn(elf2flt_progname, "ld")) { ++ tmp = concat(argv0_dir, "../../bin", NULL); + if (stat(tmp, &buf) == 0 && S_ISDIR(buf.st_mode)) { +- tooldir = concat(tmp, "/", NULL); ++ bindir = concat(tmp, "/", NULL); + } + } else { +- tmp = concat(argv0_dir, "../../bin", NULL); ++ tmp = concat(argv0_dir, "../" TARGET_ALIAS "/bin", NULL); + if (stat(tmp, &buf) == 0 && S_ISDIR(buf.st_mode)) { +- bindir = concat(tmp, "/", NULL); ++ tooldir = concat(tmp, "/", NULL); + } + } + +-- +2.9.4 + diff --git a/package/elf2flt/elf2flt.hash b/package/elf2flt/elf2flt.hash index 9c18ba5d3e..40df62c8c0 100644 --- a/package/elf2flt/elf2flt.hash +++ b/package/elf2flt/elf2flt.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 6a45a787a08da64f0f3036d3ae1865bc13f8f40d13f07511a2bf1b736acc4808 elf2flt-9dbc458c6122c495bbdec8dc975a15c9d39e5ff2.tar.gz +sha256 7713bd1debd24a94b795b7fc698dc97e306e7cbcc1d0580856c79fe70aac9c45 elf2flt-6d80ab6c93409e796f85da404bde84b841231531.tar.gz diff --git a/package/elf2flt/elf2flt.mk b/package/elf2flt/elf2flt.mk index bd15ea2a15..995dfedebd 100644 --- a/package/elf2flt/elf2flt.mk +++ b/package/elf2flt/elf2flt.mk @@ -4,9 +4,9 @@ # ################################################################################ -ELF2FLT_VERSION = 9dbc458c6122c495bbdec8dc975a15c9d39e5ff2 +ELF2FLT_VERSION = 6d80ab6c93409e796f85da404bde84b841231531 ELF2FLT_SITE = $(call github,uclinux-dev,elf2flt,$(ELF2FLT_VERSION)) -ELF2FLT_LICENSE = GPLv2+ +ELF2FLT_LICENSE = GPL-2.0+ ELF2FLT_LICENSE_FILES = LICENSE.TXT HOST_ELF2FLT_DEPENDENCIES = host-binutils host-zlib diff --git a/package/elftosb/elftosb.mk b/package/elftosb/elftosb.mk index ac9aa32538..44eb98c8ad 100644 --- a/package/elftosb/elftosb.mk +++ b/package/elftosb/elftosb.mk @@ -6,7 +6,7 @@ ELFTOSB_VERSION = 10.12.01 ELFTOSB_SITE = http://repository.timesys.com/buildsources/e/elftosb/elftosb-$(ELFTOSB_VERSION) -ELFTOSB_LICENSE = BSD-3c +ELFTOSB_LICENSE = BSD-3-Clause ELFTOSB_LICENSE_FILES = COPYING define HOST_ELFTOSB_BUILD_CMDS @@ -14,9 +14,9 @@ define HOST_ELFTOSB_BUILD_CMDS endef define HOST_ELFTOSB_INSTALL_CMDS - $(INSTALL) -D -m 0755 $(@D)/bld/linux/elftosb $(HOST_DIR)/usr/bin/elftosb - $(INSTALL) -D -m 0755 $(@D)/bld/linux/keygen $(HOST_DIR)/usr/bin/keygen - $(INSTALL) -D -m 0755 $(@D)/bld/linux/sbtool $(HOST_DIR)/usr/bin/sbtool + $(INSTALL) -D -m 0755 $(@D)/bld/linux/elftosb $(HOST_DIR)/bin/elftosb + $(INSTALL) -D -m 0755 $(@D)/bld/linux/keygen $(HOST_DIR)/bin/keygen + $(INSTALL) -D -m 0755 $(@D)/bld/linux/sbtool $(HOST_DIR)/bin/sbtool endef $(eval $(host-generic-package)) diff --git a/package/elfutils/0002-disable-progs.patch b/package/elfutils/0002-disable-progs.patch index ea6b934dfc..3f80fe60df 100644 --- a/package/elfutils/0002-disable-progs.patch +++ b/package/elfutils/0002-disable-progs.patch @@ -1,4 +1,7 @@ -Add a --{enable,disable}-progs configure option +From dfea82b761b2ea4708fbf9370a5467ae4be525ca Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Mon, 29 May 2017 23:03:48 +0300 +Subject: [PATCH] Add a --{enable,disable}-progs configure option Add a --{enable,disable}-progs configuration option to elfutils. This allows to selectively disable the compilation of the elfutils programs @@ -13,26 +16,15 @@ Based on the former patch by Thomas Petazzoni. Signed-off-by: Thomas Petazzoni Signed-off-by: Vicente Olivert Riera +--- + Makefile.am | 6 +++++- + configure.ac | 6 ++++++ + 2 files changed, 11 insertions(+), 1 deletion(-) -diff -rup a/configure.ac b/configure.ac ---- a/configure.ac 2016-03-31 09:48:08.000000000 +0100 -+++ b/configure.ac 2016-06-17 14:47:03.561704498 +0100 -@@ -253,6 +253,12 @@ AC_SUBST([LIBEBL_SUBDIR]) - AC_DEFINE_UNQUOTED(LIBEBL_SUBDIR, "$LIBEBL_SUBDIR") - AH_TEMPLATE([LIBEBL_SUBDIR], [$libdir subdirectory containing libebl modules.]) - -+AC_ARG_ENABLE([progs], -+ AS_HELP_STRING([--enable-progs], [enable progs]), -+ enable_progs=$enableval, -+ enable_progs=yes) -+AM_CONDITIONAL(ENABLE_PROGS, test "$enable_progs" = yes) -+ - dnl zlib is mandatory. - save_LIBS="$LIBS" - LIBS= -diff -rup a/Makefile.am b/Makefile.am ---- a/Makefile.am 2016-01-12 12:49:19.000000000 +0000 -+++ b/Makefile.am 2016-06-17 14:48:02.585861468 +0100 +diff --git a/Makefile.am b/Makefile.am +index 2ff444e7bf1d..70443abb4fb6 100644 +--- a/Makefile.am ++++ b/Makefile.am @@ -26,9 +26,13 @@ AM_MAKEFLAGS = --no-print-directory pkginclude_HEADERS = version.h @@ -48,3 +40,23 @@ diff -rup a/Makefile.am b/Makefile.am EXTRA_DIST = elfutils.spec GPG-KEY NOTES CONTRIBUTING \ COPYING COPYING-GPLV2 COPYING-LGPLV3 +diff --git a/configure.ac b/configure.ac +index c2c1d90b2133..7b4c38381cca 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -259,6 +259,12 @@ AC_SUBST([LIBEBL_SUBDIR]) + AC_DEFINE_UNQUOTED(LIBEBL_SUBDIR, "$LIBEBL_SUBDIR") + AH_TEMPLATE([LIBEBL_SUBDIR], [$libdir subdirectory containing libebl modules.]) + ++AC_ARG_ENABLE([progs], ++ AS_HELP_STRING([--enable-progs], [enable progs]), ++ enable_progs=$enableval, ++ enable_progs=yes) ++AM_CONDITIONAL(ENABLE_PROGS, test "$enable_progs" = yes) ++ + dnl zlib is mandatory. + save_LIBS="$LIBS" + LIBS= +-- +2.11.0 + diff --git a/package/elfutils/0003-fts.patch b/package/elfutils/0003-fts.patch index 0131b750f8..cf5ba25c82 100644 --- a/package/elfutils/0003-fts.patch +++ b/package/elfutils/0003-fts.patch @@ -1,4 +1,7 @@ -Add an implementation of the fts_*() functions +From 098760f7eac1fb86b3f6871d5bb10f9f44468f2d Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Mon, 29 May 2017 23:08:05 +0300 +Subject: [PATCH] Add an implementation of the fts_*() functions The fts_*() functions are optional in uClibc, and not compiled in our default configuration. The best option would be to migrate this @@ -28,11 +31,21 @@ Based on the former patch by Thomas Petazzoni. Signed-off-by: Thomas Petazzoni Signed-off-by: Vicente Olivert Riera +--- + configure.ac | 4 + + libdwfl/Makefile.am | 3 + + libdwfl/fts.c | 1095 ++++++++++++++++++++++++++++++++++++++++ + libdwfl/fts_.h | 131 +++++ + libdwfl/linux-kernel-modules.c | 4 + + 5 files changed, 1237 insertions(+) + create mode 100644 libdwfl/fts.c + create mode 100644 libdwfl/fts_.h -diff -Nrup a/configure.ac b/configure.ac ---- a/configure.ac 2016-06-17 14:47:03.561704498 +0100 -+++ b/configure.ac 2016-06-17 14:52:35.038200412 +0100 -@@ -259,6 +259,10 @@ AC_ARG_ENABLE([progs], +diff --git a/configure.ac b/configure.ac +index 7b4c38381cca..bcebb05fa532 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -265,6 +265,10 @@ AC_ARG_ENABLE([progs], enable_progs=yes) AM_CONDITIONAL(ENABLE_PROGS, test "$enable_progs" = yes) @@ -43,9 +56,25 @@ diff -Nrup a/configure.ac b/configure.ac dnl zlib is mandatory. save_LIBS="$LIBS" LIBS= -diff -Nrup a/libdwfl/fts.c b/libdwfl/fts.c ---- a/libdwfl/fts.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/libdwfl/fts.c 2016-06-17 14:57:26.649912084 +0100 +diff --git a/libdwfl/Makefile.am b/libdwfl/Makefile.am +index 89ca92ed8110..a5a5615c5f94 100644 +--- a/libdwfl/Makefile.am ++++ b/libdwfl/Makefile.am +@@ -77,6 +77,9 @@ endif + if LZMA + libdwfl_a_SOURCES += lzma.c + endif ++if !HAVE_FTS ++libdwfl_a_SOURCES += fts.c ++endif + + libdwfl = $(libdw) + libdw = ../libdw/libdw.so +diff --git a/libdwfl/fts.c b/libdwfl/fts.c +new file mode 100644 +index 000000000000..f34cc03bd963 +--- /dev/null ++++ b/libdwfl/fts.c @@ -0,0 +1,1095 @@ +/*- + * Copyright (c) 1990, 1993, 1994 @@ -1142,9 +1171,11 @@ diff -Nrup a/libdwfl/fts.c b/libdwfl/fts.c + errno = oerrno; + return (ret); +} -diff -Nrup a/libdwfl/fts_.h b/libdwfl/fts_.h ---- a/libdwfl/fts_.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/libdwfl/fts_.h 2016-06-17 14:58:42.003387566 +0100 +diff --git a/libdwfl/fts_.h b/libdwfl/fts_.h +new file mode 100644 +index 000000000000..0a070ba8dce5 +--- /dev/null ++++ b/libdwfl/fts_.h @@ -0,0 +1,131 @@ +/* + * Copyright (c) 1989, 1993 @@ -1277,31 +1308,25 @@ diff -Nrup a/libdwfl/fts_.h b/libdwfl/fts_.h +__END_DECLS + +#endif /* fts.h */ -diff -Nrup a/libdwfl/linux-kernel-modules.c b/libdwfl/linux-kernel-modules.c ---- a/libdwfl/linux-kernel-modules.c 2016-03-02 16:25:38.000000000 +0000 -+++ b/libdwfl/linux-kernel-modules.c 2016-06-17 14:59:50.267724089 +0100 -@@ -29,7 +29,11 @@ - /* We include this before config.h because it can't handle _FILE_OFFSET_BITS. - Everything we need here is fine if its declarations just come first. */ - +diff --git a/libdwfl/linux-kernel-modules.c b/libdwfl/linux-kernel-modules.c +index 9d0fef2cf260..47f0e3892294 100644 +--- a/libdwfl/linux-kernel-modules.c ++++ b/libdwfl/linux-kernel-modules.c +@@ -31,10 +31,14 @@ + Everything we need here is fine if its declarations just come first. + Also, include sys/types.h before fts. On some systems fts.h is not self + contained. */ +#ifdef HAVE_FTS_H - #include + #ifdef BAD_FTS + #include + #include + #endif +#else +#include +#endif #include - -diff -Nrup a/libdwfl/Makefile.am b/libdwfl/Makefile.am ---- a/libdwfl/Makefile.am 2016-01-12 12:49:19.000000000 +0000 -+++ b/libdwfl/Makefile.am 2016-06-17 15:01:03.492157569 +0100 -@@ -77,6 +77,9 @@ endif - if LZMA - libdwfl_a_SOURCES += lzma.c - endif -+if !HAVE_FTS -+libdwfl_a_SOURCES += fts.c -+endif - - libdwfl = $(libdw) - libdw = ../libdw/libdw.so + #include +-- +2.11.0 + diff --git a/package/elfutils/0005-really-make-werror-conditional-to-build-werror.patch b/package/elfutils/0005-really-make-werror-conditional-to-build-werror.patch index aa4d12d6a2..a7017d6e88 100644 --- a/package/elfutils/0005-really-make-werror-conditional-to-build-werror.patch +++ b/package/elfutils/0005-really-make-werror-conditional-to-build-werror.patch @@ -1,4 +1,7 @@ -Really make -Werror conditional to BUILD_WERROR +From 1d8f27d73df6369b19ddd6732960df0d4fdec338 Mon Sep 17 00:00:00 2001 +From: Vicente Olivert Riera +Date: Mon, 29 May 2017 23:24:42 +0300 +Subject: [PATCH] Really make -Werror conditional to BUILD_WERROR Otherwise it will fail with an error message like this one: @@ -12,15 +15,22 @@ cc1: all warnings being treated as errors Signed-off-by: "Yann E. MORIN" Signed-off-by: Vicente Olivert Riera +--- + config/eu.am | 1 - + 1 file changed, 1 deletion(-) -diff -rup a/config/eu.am b/config/eu.am ---- a/config/eu.am 2016-03-02 16:25:38.000000000 +0000 -+++ b/config/eu.am 2016-06-17 15:05:08.270974835 +0100 -@@ -65,7 +65,6 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -W +diff --git a/config/eu.am b/config/eu.am +index 8fe1e259f9e2..c5a6209a4e04 100644 +--- a/config/eu.am ++++ b/config/eu.am +@@ -71,7 +71,6 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \ -Wold-style-definition -Wstrict-prototypes \ $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \ - $(NULL_DEREFERENCE_WARNING) \ + $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \ - $(if $($(*F)_no_Werror),,-Werror) \ $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ $($(*F)_CFLAGS) +-- +2.11.0 + diff --git a/package/elfutils/Config.in b/package/elfutils/Config.in index 0419e27902..ad86c313d6 100644 --- a/package/elfutils/Config.in +++ b/package/elfutils/Config.in @@ -5,9 +5,6 @@ comment "elfutils needs a uClibc or glibc toolchain w/ wchar, dynamic library" config BR2_PACKAGE_ELFUTILS bool "elfutils" - select BR2_PACKAGE_ZLIB - select BR2_PACKAGE_ARGP_STANDALONE if BR2_TOOLCHAIN_USES_UCLIBC - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT depends on BR2_USE_WCHAR depends on !BR2_STATIC_LIBS # Only glibc and uClibc implement the myriad of required GNUisms @@ -15,6 +12,8 @@ config BR2_PACKAGE_ELFUTILS # build issue caused by the _ prefix used on blackfin for # assembly symbols depends on !BR2_bfin + select BR2_PACKAGE_ZLIB + select BR2_PACKAGE_ARGP_STANDALONE if BR2_TOOLCHAIN_USES_UCLIBC help Libraries/utilities to handle ELF objects (drop in replacement for libelf). @@ -22,7 +21,7 @@ config BR2_PACKAGE_ELFUTILS Note that this option only installs the libraries, and not the programs. - https://fedorahosted.org/elfutils + https://sourceware.org/elfutils/ if BR2_PACKAGE_ELFUTILS diff --git a/package/elfutils/elfutils.hash b/package/elfutils/elfutils.hash index 9fa9403f3f..76b6dc6458 100644 --- a/package/elfutils/elfutils.hash +++ b/package/elfutils/elfutils.hash @@ -1,2 +1,2 @@ -# Locally calculated -sha256 3c056914c8a438b210be0d790463b960fc79d234c3f05ce707cbff80e94cba30 elfutils-0.166.tar.bz2 +# From https://sourceware.org/elfutils/ftp/0.169/sha512.sum +sha512 0a81a20bb2aff533d035d6b76f1403437b2e11bce390db57e34b8c26e4b9b3150346d83dddcbfbbdc58063f046ca3223508dba35c6ce88e375d201e7a777a8b9 elfutils-0.169.tar.bz2 diff --git a/package/elfutils/elfutils.mk b/package/elfutils/elfutils.mk index 566e0bf840..5570a3b37f 100644 --- a/package/elfutils/elfutils.mk +++ b/package/elfutils/elfutils.mk @@ -4,13 +4,13 @@ # ################################################################################ -ELFUTILS_VERSION = 0.166 +ELFUTILS_VERSION = 0.169 ELFUTILS_SOURCE = elfutils-$(ELFUTILS_VERSION).tar.bz2 -ELFUTILS_SITE = https://fedorahosted.org/releases/e/l/elfutils/$(ELFUTILS_VERSION) +ELFUTILS_SITE = https://sourceware.org/elfutils/ftp/$(ELFUTILS_VERSION) ELFUTILS_INSTALL_STAGING = YES -ELFUTILS_LICENSE = GPLv2+ or LGPLv3+ (library) +ELFUTILS_LICENSE = GPL-2.0+ or LGPL-3.0+ (library) ELFUTILS_LICENSE_FILES = COPYING-GPLV2 COPYING-LGPLV3 -ELFUTILS_DEPENDENCIES = zlib +ELFUTILS_DEPENDENCIES = zlib $(TARGET_NLS_DEPENDENCIES) HOST_ELFUTILS_DEPENDENCIES = host-zlib host-bzip2 host-xz # We patch configure.ac @@ -20,11 +20,9 @@ HOST_ELFUTILS_AUTORECONF = YES # Pass a custom program prefix to avoid a naming conflict between # elfutils binaries and binutils binaries. ELFUTILS_CONF_OPTS += \ - --disable-werror \ --program-prefix="eu-" HOST_ELFUTILS_CONF_OPTS = \ - --disable-werror \ --with-bzlib \ --with-lzma \ --disable-progs @@ -42,13 +40,8 @@ ELFUTILS_CONF_ENV += \ CFLAGS="$(ELFUTILS_CFLAGS)" \ CPPFLAGS="$(ELFUTILS_CPPFLAGS)" -ELFUTILS_LDFLAGS = $(TARGET_LDFLAGS) - -# Unconditionnally requires gettext. -ifeq ($(BR2_NEEDS_GETTEXT),y) -ELFUTILS_DEPENDENCIES += gettext -ELFUTILS_LDFLAGS += -lintl -endif +ELFUTILS_LDFLAGS = $(TARGET_LDFLAGS) \ + $(TARGET_NLS_LIBS) ELFUTILS_CONF_ENV += \ LDFLAGS="$(ELFUTILS_LDFLAGS)" @@ -74,7 +67,7 @@ endif ifeq ($(BR2_PACKAGE_ELFUTILS_PROGS),y) ELFUTILS_CONF_OPTS += --enable-progs -ELFUTILS_LICENSE := $(ELFUTILS_LICENSE), GPLv3+ (programs) +ELFUTILS_LICENSE := $(ELFUTILS_LICENSE), GPL-3.0+ (programs) ELFUTILS_LICENSE_FILES += COPYING else ELFUTILS_CONF_OPTS += --disable-progs diff --git a/package/emlog/emlog.hash b/package/emlog/emlog.hash index e94691758a..9d81d47ec2 100644 --- a/package/emlog/emlog.hash +++ b/package/emlog/emlog.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 0d82f06301b8486c54e5e36f304d5a83c2347c23b93c1344eacb0b5b3044485a emlog-576a6c0fcf76dfeff48124b2f5fc0b4207d88ca1.tar.gz +sha256 9f791a00c86215306597b761ef5c5ad267efee5f01efbe23cfcc04e583aa402d emlog-emlog-0.60.tar.gz diff --git a/package/emlog/emlog.mk b/package/emlog/emlog.mk index bf0bcf77cc..e0926e6cbd 100644 --- a/package/emlog/emlog.mk +++ b/package/emlog/emlog.mk @@ -4,9 +4,9 @@ # ################################################################################ -EMLOG_VERSION = 576a6c0fcf76dfeff48124b2f5fc0b4207d88ca1 +EMLOG_VERSION = emlog-0.60 EMLOG_SITE = $(call github,nicupavel,emlog,$(EMLOG_VERSION)) -EMLOG_LICENSE = GPLv2 +EMLOG_LICENSE = GPL-2.0 EMLOG_LICENSE_FILES = COPYING define EMLOG_BUILD_CMDS diff --git a/package/empty/0002-fix-non-thread-build.patch b/package/empty/0002-fix-non-thread-build.patch deleted file mode 100644 index a7e8d90a21..0000000000 --- a/package/empty/0002-fix-non-thread-build.patch +++ /dev/null @@ -1,49 +0,0 @@ -empty uses SysV semaphores, so the ifdef is wrong here. - -Signed-off-by: Waldemar Brodkorb - ---- empty-0.6.19b.orig/empty.c 2012-09-19 13:24:05.000000000 +0200 -+++ empty-0.6.19b/empty.c 2015-07-09 02:00:09.000000000 +0200 -@@ -179,25 +179,23 @@ int main (int argc, char *argv[]) { - 2 - unknown */ - - /* semaphores */ --#ifdef _POSIX_SEMAPHORES -- #if defined(__linux__) && defined(__GNU_LIBRARY__) && !defined(_SEM_SEMUN_UNDEFINED) -- /* union semun is defined by including */ -- #else -- union semun { -- int val; -- struct semid_ds *buf; -- #ifdef __SVR4 -- ushort_t *array; -- #endif -- #ifdef __hpux__ -- ushort *array; -- #endif -- #ifdef __linux__ -- unsigned short *array; -- struct seminfo *__buf; /* buffer for IPC_INFO */ -- #endif -- }; -- #endif -+#if defined(__linux__) && defined(__GNU_LIBRARY__) && !defined(_SEM_SEMUN_UNDEFINED) -+ /* union semun is defined by including */ -+#else -+ union semun { -+ int val; -+ struct semid_ds *buf; -+ #ifdef __SVR4 -+ ushort_t *array; -+ #endif -+ #ifdef __hpux__ -+ ushort *array; -+ #endif -+ #ifdef __linux__ -+ unsigned short *array; -+ struct seminfo *__buf; /* buffer for IPC_INFO */ -+ #endif -+ }; - #endif - union semun semu; - diff --git a/package/empty/Config.in b/package/empty/Config.in index 7fd0877cbb..f73bce8987 100644 --- a/package/empty/Config.in +++ b/package/empty/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_EMPTY bool "empty" depends on BR2_USE_MMU # uses fork() help - Run processes and applications under pseudo-terminal (PTY) sessions. + Run processes and applications under pseudo-terminal (PTY) + sessions. http://empty.sourceforge.net/ diff --git a/package/empty/empty.hash b/package/empty/empty.hash index 91402889fa..e62939687d 100644 --- a/package/empty/empty.hash +++ b/package/empty/empty.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 05b7cb361ef815774abda325c09c573f8c9039ccbb71eedc743439e4637c314a empty-0.6.19b.tgz +sha256 7e6636e400856984c4405ce7bd0843aaa3329fa3efd20c58df8400a9eaa35f09 empty-0.6.20b.tgz diff --git a/package/empty/empty.mk b/package/empty/empty.mk index 3339ff6b9a..5e3ed42bef 100644 --- a/package/empty/empty.mk +++ b/package/empty/empty.mk @@ -4,10 +4,10 @@ # ################################################################################ -EMPTY_VERSION = 0.6.19b +EMPTY_VERSION = 0.6.20b EMPTY_SOURCE = empty-$(EMPTY_VERSION).tgz EMPTY_SITE = http://downloads.sourceforge.net/project/empty/empty/empty-$(EMPTY_VERSION) -EMPTY_LICENSE = BSD-3c +EMPTY_LICENSE = BSD-3-Clause EMPTY_LICENSE_FILES = COPYRIGHT define EMPTY_BUILD_CMDS diff --git a/package/enchant/enchant.mk b/package/enchant/enchant.mk index 4a23293873..69402c1af7 100644 --- a/package/enchant/enchant.mk +++ b/package/enchant/enchant.mk @@ -8,7 +8,7 @@ ENCHANT_VERSION = 1.6.0 ENCHANT_SITE = http://www.abisource.com/downloads/enchant/$(ENCHANT_VERSION) ENCHANT_INSTALL_STAGING = YES ENCHANT_DEPENDENCIES = libglib2 host-pkgconf -ENCHANT_LICENSE = LGPLv2.1+ +ENCHANT_LICENSE = LGPL-2.1+ ENCHANT_LICENSE_FILES = COPYING.LIB $(eval $(autotools-package)) diff --git a/package/enlightenment/enlightenment.hash b/package/enlightenment/enlightenment.hash index 1548f200b2..6fb29a2c75 100644 --- a/package/enlightenment/enlightenment.hash +++ b/package/enlightenment/enlightenment.hash @@ -1,2 +1,3 @@ -# From https://www.enlightenment.org/news/e-0.21.5-release -sha256 f0745a660f70851c4ada9866b2a525185bfc5cd1685aa86e4cdb68f2c1c154bb enlightenment-0.21.5.tar.xz +# From https://www.enlightenment.org/news/e0.21.10_release +sha256 9bb915caa5b390b2e212ff5f6f75b57a3d082f80d2f7b5b278bd902e2fad7f14 enlightenment-0.21.10.tar.xz +sha256 34dbd501ec9d1c8dcc569c01db9cf9a4b7ee5981614cc9f8f613a97463d27350 COPYING diff --git a/package/enlightenment/enlightenment.mk b/package/enlightenment/enlightenment.mk index 7037afe11c..1c88c8b261 100644 --- a/package/enlightenment/enlightenment.mk +++ b/package/enlightenment/enlightenment.mk @@ -4,10 +4,10 @@ # ################################################################################ -ENLIGHTENMENT_VERSION = 0.21.5 +ENLIGHTENMENT_VERSION = 0.21.10 ENLIGHTENMENT_SOURCE = enlightenment-$(ENLIGHTENMENT_VERSION).tar.xz ENLIGHTENMENT_SITE = http://download.enlightenment.org/rel/apps/enlightenment -ENLIGHTENMENT_LICENSE = BSD-2c +ENLIGHTENMENT_LICENSE = BSD-2-Clause ENLIGHTENMENT_LICENSE_FILES = COPYING ENLIGHTENMENT_DEPENDENCIES = \ @@ -17,9 +17,9 @@ ENLIGHTENMENT_DEPENDENCIES = \ xcb-util-keysyms ENLIGHTENMENT_CONF_OPTS = \ - --with-edje-cc=$(HOST_DIR)/usr/bin/edje_cc \ - --with-eet-eet=$(HOST_DIR)/usr/bin/eet \ - --with-eldbus_codegen=$(HOST_DIR)/usr/bin/eldbus-codegen \ + --with-edje-cc=$(HOST_DIR)/bin/edje_cc \ + --with-eet-eet=$(HOST_DIR)/bin/eet \ + --with-eldbus_codegen=$(HOST_DIR)/bin/eldbus-codegen \ --disable-pam \ --disable-rpath diff --git a/package/enscript/Config.in b/package/enscript/Config.in index 26c45e1e2f..b95bd92af0 100644 --- a/package/enscript/Config.in +++ b/package/enscript/Config.in @@ -1,11 +1,13 @@ config BR2_PACKAGE_ENSCRIPT bool "enscript" help - GNU Enscript is a free replacement for Adobe's enscript program. + GNU Enscript is a free replacement for Adobe's enscript + program. - GNU Enscript converts ASCII files to PostScript, HTML, or RTF and - stores generated output to a file or sends it directly to the - printer. It includes features for `pretty-printing' (language- - sensitive code highlighting) in several programming languages. + GNU Enscript converts ASCII files to PostScript, HTML, or RTF + and stores generated output to a file or sends it directly to + the printer. It includes features for `pretty-printing' + (language-sensitive code highlighting) in several programming + languages. http://www.gnu.org/software/enscript diff --git a/package/enscript/enscript.mk b/package/enscript/enscript.mk index fc2cd41534..fbc9e69dae 100644 --- a/package/enscript/enscript.mk +++ b/package/enscript/enscript.mk @@ -6,7 +6,7 @@ ENSCRIPT_VERSION = 1.6.6 ENSCRIPT_SITE = $(BR2_GNU_MIRROR)/enscript -ENSCRIPT_LICENSE = GPLv3+ +ENSCRIPT_LICENSE = GPL-3.0+ ENSCRIPT_LICENSE_FILES = COPYING # Enable pthread threads if toolchain supports threads diff --git a/package/erlang-goldrush/erlang-goldrush.hash b/package/erlang-goldrush/erlang-goldrush.hash index 00ccb43ca6..d575aa49b2 100644 --- a/package/erlang-goldrush/erlang-goldrush.hash +++ b/package/erlang-goldrush/erlang-goldrush.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 739d8ce15049c54f7e00528edbf536f63a24fdb9dfa053d176e6f97a9832b834 erlang-goldrush-0.1.8.tar.gz +sha256 6fb8ac6345d940396ecf89d4ce6b9b809039f336d85d7a54239e85106a807612 erlang-goldrush-0.1.9.tar.gz diff --git a/package/erlang-goldrush/erlang-goldrush.mk b/package/erlang-goldrush/erlang-goldrush.mk index 2fa88107e1..e95b09cd86 100644 --- a/package/erlang-goldrush/erlang-goldrush.mk +++ b/package/erlang-goldrush/erlang-goldrush.mk @@ -4,7 +4,7 @@ # ################################################################################ -ERLANG_GOLDRUSH_VERSION = 0.1.8 +ERLANG_GOLDRUSH_VERSION = 0.1.9 ERLANG_GOLDRUSH_SITE = $(call github,DeadZen,goldrush,$(ERLANG_GOLDRUSH_VERSION)) ERLANG_GOLDRUSH_LICENSE = ISC ERLANG_GOLDRUSH_LICENSE_FILES = LICENSE diff --git a/package/erlang-jiffy/Config.in b/package/erlang-jiffy/Config.in new file mode 100644 index 0000000000..d65f42c9fd --- /dev/null +++ b/package/erlang-jiffy/Config.in @@ -0,0 +1,10 @@ +comment "erlang-jiffy needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP + +config BR2_PACKAGE_ERLANG_JIFFY + bool "erlang-jiffy" + depends on BR2_INSTALL_LIBSTDCPP + help + JSON NIFs for Erlang. + + https://github.com/davisp/jiffy diff --git a/package/erlang-jiffy/erlang-jiffy.hash b/package/erlang-jiffy/erlang-jiffy.hash new file mode 100644 index 0000000000..4a201fe5d6 --- /dev/null +++ b/package/erlang-jiffy/erlang-jiffy.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 c555726f592b79894c253ca1dc3c3aec6a5697271d29364d57f8175f387b86f3 erlang-jiffy-0.14.11.tar.gz diff --git a/package/erlang-jiffy/erlang-jiffy.mk b/package/erlang-jiffy/erlang-jiffy.mk new file mode 100644 index 0000000000..9a688f7c9b --- /dev/null +++ b/package/erlang-jiffy/erlang-jiffy.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# erlang-jiffy +# +################################################################################ + +ERLANG_JIFFY_VERSION = 0.14.11 +ERLANG_JIFFY_SITE = $(call github,davisp,jiffy,$(ERLANG_JIFFY_VERSION)) +ERLANG_JIFFY_LICENSE = MIT (core), \ + BSD-3-Clause (Google double conversion library), \ + BSD-3-Clause (tests) +ERLANG_JIFFY_LICENSE_FILES = LICENSE + +$(eval $(rebar-package)) diff --git a/package/erlang-lager/erlang-lager.hash b/package/erlang-lager/erlang-lager.hash index e436fdc7d5..97bf4c64ba 100644 --- a/package/erlang-lager/erlang-lager.hash +++ b/package/erlang-lager/erlang-lager.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 168a8e48646b04bcee1ab0c97c1ff63563bd7fd25638f1504b8d8f674d2ddd1b erlang-lager-2.2.0.tar.gz +sha256 5ef0f65e0c18a7df5c5f2cd8e96780396f13369127d87857e7931670c79a9327 erlang-lager-3.2.1.tar.gz diff --git a/package/erlang-lager/erlang-lager.mk b/package/erlang-lager/erlang-lager.mk index b55b6f7b78..208ccf1611 100644 --- a/package/erlang-lager/erlang-lager.mk +++ b/package/erlang-lager/erlang-lager.mk @@ -4,7 +4,7 @@ # ################################################################################ -ERLANG_LAGER_VERSION = 2.2.0 +ERLANG_LAGER_VERSION = 3.2.1 ERLANG_LAGER_SITE = $(call github,basho,lager,$(ERLANG_LAGER_VERSION)) ERLANG_LAGER_LICENSE = Apache-2.0 ERLANG_LAGER_LICENSE_FILES = LICENSE diff --git a/package/erlang-p1-cache-tab/erlang-p1-cache-tab.hash b/package/erlang-p1-cache-tab/erlang-p1-cache-tab.hash index d8b09f95a0..b6f7fb3b54 100644 --- a/package/erlang-p1-cache-tab/erlang-p1-cache-tab.hash +++ b/package/erlang-p1-cache-tab/erlang-p1-cache-tab.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 752b649f695e9f2777efd6b2d8dfdcc1f435104b4e363f5f0454b99fd009015c erlang-p1-cache-tab-1.0.1.tar.gz +sha256 9376c14eaeb78c3847c3cf38853bb6e6860fb63959e182deeff5c819b23c95a4 erlang-p1-cache-tab-1.0.7.tar.gz diff --git a/package/erlang-p1-cache-tab/erlang-p1-cache-tab.mk b/package/erlang-p1-cache-tab/erlang-p1-cache-tab.mk index 8f131237c6..6f1a13930e 100644 --- a/package/erlang-p1-cache-tab/erlang-p1-cache-tab.mk +++ b/package/erlang-p1-cache-tab/erlang-p1-cache-tab.mk @@ -4,7 +4,7 @@ # ################################################################################ -ERLANG_P1_CACHE_TAB_VERSION = 1.0.1 +ERLANG_P1_CACHE_TAB_VERSION = 1.0.7 ERLANG_P1_CACHE_TAB_SITE = $(call github,processone,cache_tab,$(ERLANG_P1_CACHE_TAB_VERSION)) ERLANG_P1_CACHE_TAB_LICENSE = Apache-2.0 ERLANG_P1_CACHE_TAB_LICENSE_FILES = LICENSE.txt diff --git a/package/erlang-p1-iconv/Config.in b/package/erlang-p1-iconv/Config.in index 98efb217d4..cec17d0605 100644 --- a/package/erlang-p1-iconv/Config.in +++ b/package/erlang-p1-iconv/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_ERLANG_P1_ICONV bool "erlang-p1-iconv" + select BR2_PACKAGE_ERLANG_P1_UTILS select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE help Erlang interface to libiconv diff --git a/package/erlang-p1-iconv/erlang-p1-iconv.hash b/package/erlang-p1-iconv/erlang-p1-iconv.hash index a284189a32..883fd52095 100644 --- a/package/erlang-p1-iconv/erlang-p1-iconv.hash +++ b/package/erlang-p1-iconv/erlang-p1-iconv.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 3ef1fb814fdf23e8ad8a210efb66681fa67cd42753be536521bf9686158880d3 erlang-p1-iconv-0.9.0.tar.gz +sha256 ca20d58166a4fb38883977600aca61e02bfd1257b8bded8c8ddd82d2a96084e6 erlang-p1-iconv-1.0.4.tar.gz diff --git a/package/erlang-p1-iconv/erlang-p1-iconv.mk b/package/erlang-p1-iconv/erlang-p1-iconv.mk index d2d2626d20..044361e415 100644 --- a/package/erlang-p1-iconv/erlang-p1-iconv.mk +++ b/package/erlang-p1-iconv/erlang-p1-iconv.mk @@ -4,10 +4,11 @@ # ################################################################################ -ERLANG_P1_ICONV_VERSION = 0.9.0 -ERLANG_P1_ICONV_SITE = $(call github,processone,eiconv,$(ERLANG_P1_ICONV_VERSION)) -ERLANG_P1_ICONV_LICENSE = GPLv2+ -ERLANG_P1_ICONV_LICENSE_FILES = COPYING +ERLANG_P1_ICONV_VERSION = 1.0.4 +ERLANG_P1_ICONV_SITE = $(call github,processone,iconv,$(ERLANG_P1_ICONV_VERSION)) +ERLANG_P1_ICONV_LICENSE = Apache-2.0 +ERLANG_P1_ICONV_LICENSE_FILES = LICENSE.txt +ERLANG_P1_ICONV_DEPENDENCIES = erlang-p1-utils ifeq ($(BR2_PACKAGE_LIBICONV),y) ERLANG_P1_ICONV_DEPENDENCIES += libiconv diff --git a/package/erlang-p1-oauth2/Config.in b/package/erlang-p1-oauth2/Config.in new file mode 100644 index 0000000000..32e79ec99a --- /dev/null +++ b/package/erlang-p1-oauth2/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_ERLANG_P1_OAUTH2 + bool "erlang-p1-oauth2" + help + OAuth2 library for Erlang + + https://github.com/processone/p1_oauth2 diff --git a/package/erlang-p1-oauth2/erlang-p1-oauth2.hash b/package/erlang-p1-oauth2/erlang-p1-oauth2.hash new file mode 100644 index 0000000000..3666519f5f --- /dev/null +++ b/package/erlang-p1-oauth2/erlang-p1-oauth2.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 86e4d93f0206135bc6017b6001d061305513917f79c53294e534d6e66fd54727 erlang-p1-oauth2-0.6.1.tar.gz diff --git a/package/erlang-p1-oauth2/erlang-p1-oauth2.mk b/package/erlang-p1-oauth2/erlang-p1-oauth2.mk new file mode 100644 index 0000000000..c85706c8db --- /dev/null +++ b/package/erlang-p1-oauth2/erlang-p1-oauth2.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# erlang-p1-oauth2 +# +################################################################################ + +ERLANG_P1_OAUTH2_VERSION = 0.6.1 +ERLANG_P1_OAUTH2_SITE = $(call github,processone,p1_oauth2,$(ERLANG_P1_OAUTH2_VERSION)) +ERLANG_P1_OAUTH2_LICENSE = MIT +ERLANG_P1_OAUTH2_LICENSE_FILES = LICENSE +ERLANG_P1_OAUTH2_INSTALL_STAGING = YES + +$(eval $(rebar-package)) diff --git a/package/erlang-p1-sip/0002-remove-dependencies-from-rebar-config.patch b/package/erlang-p1-sip/0002-remove-dependencies-from-rebar-config.patch new file mode 100644 index 0000000000..5fe86d900f --- /dev/null +++ b/package/erlang-p1-sip/0002-remove-dependencies-from-rebar-config.patch @@ -0,0 +1,20 @@ +Without this patch, dependencies would be downloaded and compiled +by rebar at build time. + +Signed-off-by: Christophe Romain + +diff --git a/rebar.config b/rebar.config +index fbc69a1..6250420 100644 +--- a/rebar.config ++++ b/rebar.config +@@ -29,10 +29,6 @@ + + {port_specs, [{"priv/lib/esip_drv.so", ["c_src/esip_codec.c"]}]}. + +-{deps, [{stun, ".*", {git, "https://github.com/processone/stun", {tag, "1.0.10"}}}, +- {fast_tls, ".*", {git, "https://github.com/processone/fast_tls", {tag, "1.0.11"}}}, +- {p1_utils, ".*", {git, "https://github.com/processone/p1_utils", {tag, "1.0.7"}}}]}. +- + {clean_files, ["c_src/esip_codec.gcda", "c_src/esip_codec.gcno"]}. + + {cover_enabled, true}. diff --git a/package/erlang-p1-sip/erlang-p1-sip.hash b/package/erlang-p1-sip/erlang-p1-sip.hash index 74382cca9a..2ea7bc8ec4 100644 --- a/package/erlang-p1-sip/erlang-p1-sip.hash +++ b/package/erlang-p1-sip/erlang-p1-sip.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 2d6dfad997931668eb83a0cb127ccca8c51f8a383d76f9dea393c0b3a4eabae7 erlang-p1-sip-1.0.0.tar.gz +sha256 2c6ed00220ead631a4755000ad9f118d79c8c4d41aa7c98bd27365a8345f9a5d erlang-p1-sip-1.0.11.tar.gz diff --git a/package/erlang-p1-sip/erlang-p1-sip.mk b/package/erlang-p1-sip/erlang-p1-sip.mk index 24075a7ae1..0f4b33e2d1 100644 --- a/package/erlang-p1-sip/erlang-p1-sip.mk +++ b/package/erlang-p1-sip/erlang-p1-sip.mk @@ -4,10 +4,10 @@ # ################################################################################ -ERLANG_P1_SIP_VERSION = 1.0.0 -ERLANG_P1_SIP_SITE = $(call github,processone,p1_sip,$(ERLANG_P1_SIP_VERSION)) -ERLANG_P1_SIP_LICENSE = GPLv2 with OpenSSL exception -ERLANG_P1_SIP_LICENSE_FILES = COPYING +ERLANG_P1_SIP_VERSION = 1.0.11 +ERLANG_P1_SIP_SITE = $(call github,processone,esip,$(ERLANG_P1_SIP_VERSION)) +ERLANG_P1_SIP_LICENSE = Apache-2.0 +ERLANG_P1_SIP_LICENSE_FILES = LICENSE.txt ERLANG_P1_SIP_DEPENDENCIES = erlang-p1-stun erlang-p1-tls erlang-p1-utils ERLANG_P1_SIP_INSTALL_STAGING = YES diff --git a/package/erlang-p1-stringprep/0001-Stdint-is-required-on-windows.patch b/package/erlang-p1-stringprep/0001-Stdint-is-required-on-windows.patch deleted file mode 100644 index 7385503b71..0000000000 --- a/package/erlang-p1-stringprep/0001-Stdint-is-required-on-windows.patch +++ /dev/null @@ -1,28 +0,0 @@ -From f5a2b8b78afb253630ee8833f16f131b3b52701e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Pawe=C5=82=20Chmielowski?= -Date: Mon, 29 Feb 2016 10:56:32 +0100 -Subject: [PATCH] Stdint is required on windows - -[Backport from upstream commit -4fc5cae81122540fff983e40dda1fa905c329fd0, which happens to not only -fix the build on Windows, but also with the musl C library.] -Signed-off-by: Thomas Petazzoni ---- - c_src/stringprep.cpp | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/c_src/stringprep.cpp b/c_src/stringprep.cpp -index 461cf09..26215cf 100644 ---- a/c_src/stringprep.cpp -+++ b/c_src/stringprep.cpp -@@ -19,6 +19,7 @@ - */ - - #include -+#include - #include - - #include "uni_data.c" --- -2.7.4 - diff --git a/package/erlang-p1-stringprep/erlang-p1-stringprep.hash b/package/erlang-p1-stringprep/erlang-p1-stringprep.hash index 23bc6fbdce..ee7bdd9660 100644 --- a/package/erlang-p1-stringprep/erlang-p1-stringprep.hash +++ b/package/erlang-p1-stringprep/erlang-p1-stringprep.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 5a74277e7bfb18b8f35838fa78fcde83f0acdb5b2a5b90c4b6d2470a33f7911e erlang-p1-stringprep-1.0.0.tar.gz +sha256 9d7485312d023eeb83f308206ff8088c03b49195fb7bf4b3b699d386e33e908a erlang-p1-stringprep-1.0.8.tar.gz diff --git a/package/erlang-p1-stringprep/erlang-p1-stringprep.mk b/package/erlang-p1-stringprep/erlang-p1-stringprep.mk index 3bc8c7290b..2355918975 100644 --- a/package/erlang-p1-stringprep/erlang-p1-stringprep.mk +++ b/package/erlang-p1-stringprep/erlang-p1-stringprep.mk @@ -4,7 +4,7 @@ # ################################################################################ -ERLANG_P1_STRINGPREP_VERSION = 1.0.0 +ERLANG_P1_STRINGPREP_VERSION = 1.0.8 ERLANG_P1_STRINGPREP_SITE = $(call github,processone,stringprep,$(ERLANG_P1_STRINGPREP_VERSION)) ERLANG_P1_STRINGPREP_LICENSE = TCL (tools/*.tcl), Apache-2.0 (rest) ERLANG_P1_STRINGPREP_LICENSE_FILES = LICENSE.ALL LICENSE.TCL LICENSE.txt diff --git a/package/erlang-p1-stun/0001-remove-dependencies-from-rebar-config.patch b/package/erlang-p1-stun/0001-remove-dependencies-from-rebar-config.patch new file mode 100644 index 0000000000..30101359f4 --- /dev/null +++ b/package/erlang-p1-stun/0001-remove-dependencies-from-rebar-config.patch @@ -0,0 +1,16 @@ +Without this patch, dependencies would be downloaded and compiled +by rebar at build time. + +diff --git a/rebar.config b/rebar.config +index 94ee830..d0af863 100644 +--- a/rebar.config ++++ b/rebar.config +@@ -22,9 +22,6 @@ + + {erl_opts, [debug_info, {i, "include"}]}. + +-{deps, [{fast_tls, ".*", {git, "https://github.com/processone/fast_tls", {tag, "1.0.11"}}}, +- {p1_utils, ".*", {git, "https://github.com/processone/p1_utils", {tag, "1.0.7"}}}]}. +- + {cover_enabled, true}. + {cover_export_enabled, true}. diff --git a/package/erlang-p1-stun/erlang-p1-stun.hash b/package/erlang-p1-stun/erlang-p1-stun.hash index be56608097..893bc30e0b 100644 --- a/package/erlang-p1-stun/erlang-p1-stun.hash +++ b/package/erlang-p1-stun/erlang-p1-stun.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 ca33833f4b6ef70a7628e6f3697d15cb4e26d32ef4e5a31bbddee86cabe19c50 erlang-p1-stun-0.9.0.tar.gz +sha256 75aac56fa770b3b4ea2d32e63706d2b8d56f8e0db54243acffa7448f4256864e erlang-p1-stun-1.0.10.tar.gz diff --git a/package/erlang-p1-stun/erlang-p1-stun.mk b/package/erlang-p1-stun/erlang-p1-stun.mk index 4d26f917ee..5116c15284 100644 --- a/package/erlang-p1-stun/erlang-p1-stun.mk +++ b/package/erlang-p1-stun/erlang-p1-stun.mk @@ -4,10 +4,10 @@ # ################################################################################ -ERLANG_P1_STUN_VERSION = 0.9.0 +ERLANG_P1_STUN_VERSION = 1.0.10 ERLANG_P1_STUN_SITE = $(call github,processone,stun,$(ERLANG_P1_STUN_VERSION)) -ERLANG_P1_STUN_LICENSE = GPLv2+ -ERLANG_P1_STUN_LICENSE_FILES = COPYING +ERLANG_P1_STUN_LICENSE = Apache-2.0 +ERLANG_P1_STUN_LICENSE_FILES = LICENSE.txt ERLANG_P1_STUN_DEPENDENCIES = erlang-p1-tls erlang-p1-utils ERLANG_P1_STUN_INSTALL_STAGING = YES diff --git a/package/erlang-p1-tls/Config.in b/package/erlang-p1-tls/Config.in index 0df334820d..a684fbb6a6 100644 --- a/package/erlang-p1-tls/Config.in +++ b/package/erlang-p1-tls/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_ERLANG_P1_TLS bool "erlang-p1-tls" + select BR2_PACKAGE_ERLANG_P1_UTILS select BR2_PACKAGE_OPENSSL help Erlang interface to OpenSSL diff --git a/package/erlang-p1-tls/erlang-p1-tls.hash b/package/erlang-p1-tls/erlang-p1-tls.hash index fd8d801f90..eb707f1d49 100644 --- a/package/erlang-p1-tls/erlang-p1-tls.hash +++ b/package/erlang-p1-tls/erlang-p1-tls.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 8e8b848a112ff6bf146df34b4f6bc50160a8858a18499a7a6124193b37237a40 erlang-p1-tls-1.0.0.tar.gz +sha256 c42237e5dd231c558b48633788a0e9ca55b4f3b5bc4692107fee031a8f91cda3 erlang-p1-tls-1.0.11.tar.gz diff --git a/package/erlang-p1-tls/erlang-p1-tls.mk b/package/erlang-p1-tls/erlang-p1-tls.mk index 77f06e6b4d..63d0112cc2 100644 --- a/package/erlang-p1-tls/erlang-p1-tls.mk +++ b/package/erlang-p1-tls/erlang-p1-tls.mk @@ -4,11 +4,11 @@ # ################################################################################ -ERLANG_P1_TLS_VERSION = 1.0.0 -ERLANG_P1_TLS_SITE = $(call github,processone,tls,$(ERLANG_P1_TLS_VERSION)) -ERLANG_P1_TLS_LICENSE = GPLv2+ with OpenSSL exception -ERLANG_P1_TLS_LICENSE_FILES = COPYING +ERLANG_P1_TLS_VERSION = 1.0.11 +ERLANG_P1_TLS_SITE = $(call github,processone,fast_tls,$(ERLANG_P1_TLS_VERSION)) +ERLANG_P1_TLS_LICENSE = Apache-2.0 +ERLANG_P1_TLS_LICENSE_FILES = LICENSE.txt ERLANG_P1_TLS_INSTALL_STAGING = YES -ERLANG_P1_TLS_DEPENDENCIES = openssl +ERLANG_P1_TLS_DEPENDENCIES = openssl erlang-p1-utils $(eval $(rebar-package)) diff --git a/package/erlang-p1-utils/erlang-p1-utils.hash b/package/erlang-p1-utils/erlang-p1-utils.hash index c41e5ef525..200d102450 100644 --- a/package/erlang-p1-utils/erlang-p1-utils.hash +++ b/package/erlang-p1-utils/erlang-p1-utils.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 9c7e9fa2990edd419953a6ae609ffed0b90e671b57c468d97c0d85d866d80210 erlang-p1-utils-1.0.3.tar.gz +sha256 9b43e025b923221cfe6a6efc76790d97b1c233e3e2db37fc804294d847bcfaa3 erlang-p1-utils-1.0.8.tar.gz diff --git a/package/erlang-p1-utils/erlang-p1-utils.mk b/package/erlang-p1-utils/erlang-p1-utils.mk index 733cf87f36..32564cf89f 100644 --- a/package/erlang-p1-utils/erlang-p1-utils.mk +++ b/package/erlang-p1-utils/erlang-p1-utils.mk @@ -4,10 +4,11 @@ # ################################################################################ -ERLANG_P1_UTILS_VERSION = 1.0.3 +ERLANG_P1_UTILS_VERSION = 1.0.8 ERLANG_P1_UTILS_SITE = $(call github,processone,p1_utils,$(ERLANG_P1_UTILS_VERSION)) -ERLANG_P1_UTILS_LICENSE = GPLv2+ +ERLANG_P1_UTILS_LICENSE = Apache-2.0 ERLANG_P1_UTILS_LICENSE_FILES = LICENSE.txt ERLANG_P1_UTILS_INSTALL_STAGING = YES $(eval $(rebar-package)) +$(eval $(host-rebar-package)) diff --git a/package/erlang-p1-xml/0001-remove-dependencies-from-rebar-config.patch b/package/erlang-p1-xml/0001-remove-dependencies-from-rebar-config.patch new file mode 100644 index 0000000000..9b0a53502c --- /dev/null +++ b/package/erlang-p1-xml/0001-remove-dependencies-from-rebar-config.patch @@ -0,0 +1,18 @@ +Without this patch, dependencies would be downloaded and compiled +by rebar at build time. + +Signed-off-by: Christophe Romain + +diff --git a/rebar.config b/rebar.config +index 3e20029..a47f1ff 100644 +--- a/rebar.config ++++ b/rebar.config +@@ -31,8 +31,6 @@ + {port_specs, [{"priv/lib/fxml.so", ["c_src/fxml.c"]}, + {"priv/lib/fxml_stream.so", ["c_src/fxml_stream.c"]}]}. + +-{deps, [{p1_utils, ".*", {git, "https://github.com/processone/p1_utils", {tag, "1.0.7"}}}]}. +- + {clean_files, ["c_src/fxml.gcda", "c_src/fxml.gcno", "c_src/fxml_stream.gcda", "c_src/fxml_stream.gcno"]}. + + {cover_enabled, true}. diff --git a/package/erlang-p1-xml/erlang-p1-xml.hash b/package/erlang-p1-xml/erlang-p1-xml.hash index 8e4a79fee1..00b90b52ec 100644 --- a/package/erlang-p1-xml/erlang-p1-xml.hash +++ b/package/erlang-p1-xml/erlang-p1-xml.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 4c163c5b9572baa93eb97e03544db57dc751c7995a5279081a0d56f5fdaa2521 erlang-p1-xml-1.1.1.tar.gz +sha256 0163e7bd11b6705732fd7281209925e39534c9ea123887574218422c34762d7c erlang-p1-xml-1.1.22.tar.gz diff --git a/package/erlang-p1-xml/erlang-p1-xml.mk b/package/erlang-p1-xml/erlang-p1-xml.mk index 31bab2311d..58ba3cbdeb 100644 --- a/package/erlang-p1-xml/erlang-p1-xml.mk +++ b/package/erlang-p1-xml/erlang-p1-xml.mk @@ -4,13 +4,15 @@ # ################################################################################ -ERLANG_P1_XML_VERSION = 1.1.1 -ERLANG_P1_XML_SITE = $(call github,processone,xml,$(ERLANG_P1_XML_VERSION)) +ERLANG_P1_XML_VERSION = 1.1.22 +ERLANG_P1_XML_SITE = $(call github,processone,fast_xml,$(ERLANG_P1_XML_VERSION)) ERLANG_P1_XML_LICENSE = Apache-2.0 ERLANG_P1_XML_LICENSE_FILES = LICENSE.txt ERLANG_P1_XML_DEPENDENCIES = expat erlang-p1-utils +HOST_ERLANG_P1_XML_DEPENDENCIES = host-expat host-erlang-p1-utils ERLANG_P1_XML_INSTALL_STAGING = YES ERLANG_P1_XML_USE_AUTOCONF = YES $(eval $(rebar-package)) +$(eval $(host-rebar-package)) diff --git a/package/erlang-p1-xmpp/0001-fix-includes.patch b/package/erlang-p1-xmpp/0001-fix-includes.patch new file mode 100644 index 0000000000..d0a267b721 --- /dev/null +++ b/package/erlang-p1-xmpp/0001-fix-includes.patch @@ -0,0 +1,16 @@ +Without this patch, rebar fails to find include file fxml.hrl. + +Signed-off-by: Christophe Romain + +diff --git a/include/xmpp.hrl b/include/xmpp.hrl +index afa5f61..678858e 100644 +--- a/include/xmpp.hrl ++++ b/include/xmpp.hrl +@@ -26,7 +26,7 @@ + -include("ns.hrl"). + -include("jid.hrl"). + -include("xmpp_codec.hrl"). +--include("fxml.hrl"). ++-include_lib("p1_xml/include/fxml.hrl"). + + -type stanza() :: iq() | presence() | message(). diff --git a/package/erlang-p1-xmpp/0002-remove-dependencies-from-rebar-config.patch b/package/erlang-p1-xmpp/0002-remove-dependencies-from-rebar-config.patch new file mode 100644 index 0000000000..fa5c269c22 --- /dev/null +++ b/package/erlang-p1-xmpp/0002-remove-dependencies-from-rebar-config.patch @@ -0,0 +1,18 @@ +Without this patch, dependencies would be downloaded and compiled +by rebar at build time. + +Signed-off-by: Christophe Romain + +diff --git a/rebar.config b/rebar.config +index 79494b7..8d769f1 100644 +--- a/rebar.config ++++ b/rebar.config +@@ -24,9 +24,6 @@ + {i, "../fast_xml/include"}, + {i, "deps/fast_xml/include"}]}. + +-{deps, [{fast_xml, ".*", {git, "https://github.com/processone/fast_xml", {tag, "1.1.22"}}}, +- {stringprep, ".*", {git, "https://github.com/processone/stringprep", {tag, "1.0.8"}}}]}. +- + {cover_enabled, true}. + {cover_export_enabled, true}. diff --git a/package/erlang-p1-xmpp/Config.in b/package/erlang-p1-xmpp/Config.in new file mode 100644 index 0000000000..c7a68bc800 --- /dev/null +++ b/package/erlang-p1-xmpp/Config.in @@ -0,0 +1,12 @@ +comment "erlang-p1-xmpp needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP + +config BR2_PACKAGE_ERLANG_P1_XMPP + bool "erlang-p1-xmpp" + depends on BR2_INSTALL_LIBSTDCPP # erlang-p1-stringprep + select BR2_PACKAGE_ERLANG_P1_XML + select BR2_PACKAGE_ERLANG_P1_STRINGPREP + help + XMPP library for Erlang. + + https://github.com/processone/xmpp diff --git a/package/erlang-p1-xmpp/erlang-p1-xmpp.hash b/package/erlang-p1-xmpp/erlang-p1-xmpp.hash new file mode 100644 index 0000000000..f245c843e8 --- /dev/null +++ b/package/erlang-p1-xmpp/erlang-p1-xmpp.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 e7b5db5ab6204f5bc6ebf91a183ebeae2b43ca6372dd2506599a8e8168a99c50 erlang-p1-xmpp-1.1.9.tar.gz diff --git a/package/erlang-p1-xmpp/erlang-p1-xmpp.mk b/package/erlang-p1-xmpp/erlang-p1-xmpp.mk new file mode 100644 index 0000000000..149d8bc5c7 --- /dev/null +++ b/package/erlang-p1-xmpp/erlang-p1-xmpp.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# erlang-p1-xmpp +# +################################################################################ + +ERLANG_P1_XMPP_VERSION = 1.1.9 +ERLANG_P1_XMPP_SITE = $(call github,processone,xmpp,$(ERLANG_P1_XMPP_VERSION)) +ERLANG_P1_XMPP_LICENSE = Apache-2.0 +ERLANG_P1_XMPP_LICENSE_FILES = LICENSE.txt +ERLANG_P1_XMPP_INSTALL_STAGING = YES +ERLANG_P1_XMPP_DEPENDENCIES = erlang-p1-xml erlang-p1-stringprep \ + host-erlang-p1-xml + +$(eval $(rebar-package)) +$(eval $(host-rebar-package)) diff --git a/package/erlang-p1-yaml/0001-remove-dependencies-from-rebar-config.patch b/package/erlang-p1-yaml/0001-remove-dependencies-from-rebar-config.patch new file mode 100644 index 0000000000..facfc2c200 --- /dev/null +++ b/package/erlang-p1-yaml/0001-remove-dependencies-from-rebar-config.patch @@ -0,0 +1,18 @@ +Without this patch, dependencies would be downloaded and compiled +by rebar at build time. + +Signed-off-by: Christophe Romain + +diff --git a/rebar.config b/rebar.config +index 68ffdeb..651a829 100644 +--- a/rebar.config ++++ b/rebar.config +@@ -24,8 +24,6 @@ + {port_env, [{"CFLAGS", "$CFLAGS"}, {"LDFLAGS", "$LDFLAGS -lyaml"}]}. + {port_specs, [{"priv/lib/fast_yaml.so", ["c_src/fast_yaml.c"]}]}. + +-{deps, [{p1_utils, ".*", {git, "git://github.com/processone/p1_utils", {tag, "1.0.7"}}}]}. +- + {clean_files, ["c_src/fast_yaml.gcda", "c_src/fast_yaml.gcno"]}. + + {cover_enabled, true}. diff --git a/package/erlang-p1-yaml/erlang-p1-yaml.hash b/package/erlang-p1-yaml/erlang-p1-yaml.hash index 0e11e45003..5b8956d7b5 100644 --- a/package/erlang-p1-yaml/erlang-p1-yaml.hash +++ b/package/erlang-p1-yaml/erlang-p1-yaml.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 8eaaddda056f1ebb515a5456ba2be855e5b71b9b6eb35788527f39c6600ac6b4 erlang-p1-yaml-1.0.0.tar.gz +sha256 bf225023168873affd2c67a2ce5c6c81c3db0c7df4f0caa113f23770c7b04e05 erlang-p1-yaml-1.0.9.tar.gz diff --git a/package/erlang-p1-yaml/erlang-p1-yaml.mk b/package/erlang-p1-yaml/erlang-p1-yaml.mk index 22fcda43f8..d8865e0d42 100644 --- a/package/erlang-p1-yaml/erlang-p1-yaml.mk +++ b/package/erlang-p1-yaml/erlang-p1-yaml.mk @@ -4,10 +4,10 @@ # ################################################################################ -ERLANG_P1_YAML_VERSION = 1.0.0 -ERLANG_P1_YAML_SITE = $(call github,processone,p1_yaml,$(ERLANG_P1_YAML_VERSION)) +ERLANG_P1_YAML_VERSION = 1.0.9 +ERLANG_P1_YAML_SITE = $(call github,processone,fast_yaml,$(ERLANG_P1_YAML_VERSION)) ERLANG_P1_YAML_LICENSE = Apache-2.0 -ERLANG_P1_YAML_LICENSE_FILES = COPYING +ERLANG_P1_YAML_LICENSE_FILES = LICENSE.txt ERLANG_P1_YAML_DEPENDENCIES = libyaml erlang-p1-utils $(eval $(rebar-package)) diff --git a/package/erlang-p1-zlib/erlang-p1-zlib.hash b/package/erlang-p1-zlib/erlang-p1-zlib.hash index 488e75294c..eded821013 100644 --- a/package/erlang-p1-zlib/erlang-p1-zlib.hash +++ b/package/erlang-p1-zlib/erlang-p1-zlib.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 cb534ee8d8746e38027ada0ccd7e910daa025c74461286ded60ffaa933e3cf7b erlang-p1-zlib-1.0.0.tar.gz +sha256 2200330f7d4fc595caf8806fec1318b853009ab3d643cf063d19bff59bf2b45e erlang-p1-zlib-1.0.2.tar.gz diff --git a/package/erlang-p1-zlib/erlang-p1-zlib.mk b/package/erlang-p1-zlib/erlang-p1-zlib.mk index 1f8ae0063d..a57b19fd13 100644 --- a/package/erlang-p1-zlib/erlang-p1-zlib.mk +++ b/package/erlang-p1-zlib/erlang-p1-zlib.mk @@ -4,10 +4,10 @@ # ################################################################################ -ERLANG_P1_ZLIB_VERSION = 1.0.0 -ERLANG_P1_ZLIB_SITE = $(call github,processone,zlib,$(ERLANG_P1_ZLIB_VERSION)) -ERLANG_P1_ZLIB_LICENSE = GPLv2+ -ERLANG_P1_ZLIB_LICENSE_FILES = COPYING +ERLANG_P1_ZLIB_VERSION = 1.0.2 +ERLANG_P1_ZLIB_SITE = $(call github,processone,ezlib,$(ERLANG_P1_ZLIB_VERSION)) +ERLANG_P1_ZLIB_LICENSE = Apache-2.0 +ERLANG_P1_ZLIB_LICENSE_FILES = LICENSE.txt ERLANG_P1_ZLIB_DEPENDENCIES = zlib $(eval $(rebar-package)) diff --git a/package/erlang-rebar/erlang-rebar.mk b/package/erlang-rebar/erlang-rebar.mk index 031ff47460..ce082dc639 100644 --- a/package/erlang-rebar/erlang-rebar.mk +++ b/package/erlang-rebar/erlang-rebar.mk @@ -25,7 +25,7 @@ define HOST_ERLANG_REBAR_BUILD_CMDS endef define HOST_ERLANG_REBAR_INSTALL_CMDS - $(INSTALL) -m 0755 -D $(@D)/rebar $(HOST_DIR)/usr/bin/rebar + $(INSTALL) -m 0755 -D $(@D)/rebar $(HOST_DIR)/bin/rebar endef $(eval $(host-generic-package)) diff --git a/package/erlang/Config.in b/package/erlang/Config.in index 11407db129..1cd93ca955 100644 --- a/package/erlang/Config.in +++ b/package/erlang/Config.in @@ -16,11 +16,12 @@ config BR2_PACKAGE_ERLANG depends on !BR2_STATIC_LIBS depends on BR2_PACKAGE_ERLANG_ARCH_SUPPORTS help - Erlang is a programming language used to build massively scalable - soft real-time systems with requirements on high availability. - Some of its uses are in telecoms, banking, e-commerce, computer - telephony and instant messaging. Erlang's runtime system has - built-in support for concurrency, distribution and fault tolerance. + Erlang is a programming language used to build massively + scalable soft real-time systems with requirements on high + availability. Some of its uses are in telecoms, banking, + e-commerce, computer telephony and instant messaging. + Erlang's runtime system has built-in support for + concurrency, distribution and fault tolerance. http://www.erlang.org @@ -29,18 +30,19 @@ if BR2_PACKAGE_ERLANG config BR2_PACKAGE_ERLANG_SMP bool "enable SMP support" help - Erlang provides both a UP and an SMP emulator. The UP emulator - is always built, and this option enables compilation of the SMP - emulator. The choice of which emulator to use is made at runtime. - If you do not need SMP support, turning this option off reduces - compile time and the size of the Erlang installation. + Erlang provides both a UP and an SMP emulator. The UP + emulator is always built, and this option enables + compilation of the SMP emulator. The choice of which + emulator to use is made at runtime. If you do not need SMP + support, turning this option off reduces compile time and + the size of the Erlang installation. config BR2_PACKAGE_ERLANG_MEGACO bool "install megaco application" help - The Megaco application is a framework for building applications - on top of the Megaco/H.248 protocol. It is approximately 14MB in - size so if you do not need it then it is recommended not to - enable it. + The Megaco application is a framework for building + applications on top of the Megaco/H.248 protocol. It is + approximately 14MB in size so if you do not need it then + it is recommended not to enable it. endif # BR2_PACKAGE_ERLANG diff --git a/package/erlang/erlang.hash b/package/erlang/erlang.hash index c39c26e30a..dc12ccd062 100644 --- a/package/erlang/erlang.hash +++ b/package/erlang/erlang.hash @@ -1,3 +1,3 @@ # md5 from http://www.erlang.org/download/MD5, sha256 locally computed -md5 7e4ff32f97c36fb3dab736f8d481830b otp_src_18.3.tar.gz -sha256 fdab8129a1cb935db09f1832e3a7d511a4aeb2b9bb3602ca6a7ccb9730d5c9c3 otp_src_18.3.tar.gz +md5 a8c259ec47bf84e77510673e1b76b6db otp_src_19.3.tar.gz +sha256 fe4a00651db39b8542b04530a48d24b2f2e7e0b77cbe93d728c9f05325bdfe83 otp_src_19.3.tar.gz diff --git a/package/erlang/erlang.mk b/package/erlang/erlang.mk index 364085c4dd..f3684d0c91 100644 --- a/package/erlang/erlang.mk +++ b/package/erlang/erlang.mk @@ -5,7 +5,7 @@ ################################################################################ # See note below when updating Erlang -ERLANG_VERSION = 18.3 +ERLANG_VERSION = 19.3 ERLANG_SITE = http://www.erlang.org/download ERLANG_SOURCE = otp_src_$(ERLANG_VERSION).tar.gz ERLANG_DEPENDENCIES = host-erlang @@ -19,7 +19,7 @@ ERLANG_AUTORECONF = YES # Whenever updating Erlang, this value should be updated as well, to the # value of EI_VSN in the file lib/erl_interface/vsn.mk -ERLANG_EI_VSN = 3.8.2 +ERLANG_EI_VSN = 3.9.3 # The configure checks for these functions fail incorrectly ERLANG_CONF_ENV = ac_cv_func_isnan=yes ac_cv_func_isinf=yes @@ -39,7 +39,7 @@ HOST_ERLANG_CONF_ENV += ERL_TOP=$(@D) # erlang uses openssl for all things crypto. Since the host tools (such as # rebar) uses crypto, we need to build host-erlang with support for openssl. HOST_ERLANG_DEPENDENCIES = host-openssl -HOST_ERLANG_CONF_OPTS = --without-javac --with-ssl=$(HOST_DIR)/usr +HOST_ERLANG_CONF_OPTS = --without-javac --with-ssl=$(HOST_DIR) HOST_ERLANG_CONF_OPTS += --without-termcap diff --git a/package/espeak/Config.in b/package/espeak/Config.in index aed627af92..5e46b17e32 100644 --- a/package/espeak/Config.in +++ b/package/espeak/Config.in @@ -27,12 +27,14 @@ config BR2_PACKAGE_ESPEAK_AUDIO_BACKEND_NONE config BR2_PACKAGE_ESPEAK_AUDIO_BACKEND_ALSA bool "alsa via portaudio" + # Selecting portaudio generates spurious "unmet dependencies" + # warnings. Unless you are changing the dependencies of espeak + # or portaudio, just ignore those spurious warnings. select BR2_PACKAGE_PORTAUDIO select BR2_PACKAGE_PORTAUDIO_CXX config BR2_PACKAGE_ESPEAK_AUDIO_BACKEND_PULSEAUDIO bool "pulseaudio" - depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pulseaudio -> json-c select BR2_PACKAGE_PULSEAUDIO endchoice diff --git a/package/espeak/espeak.mk b/package/espeak/espeak.mk index 734ec30e54..226f17fc05 100644 --- a/package/espeak/espeak.mk +++ b/package/espeak/espeak.mk @@ -8,7 +8,7 @@ ESPEAK_VERSION_MAJOR = 1.48 ESPEAK_VERSION = $(ESPEAK_VERSION_MAJOR).04 ESPEAK_SOURCE = espeak-$(ESPEAK_VERSION)-source.zip ESPEAK_SITE = http://downloads.sourceforge.net/project/espeak/espeak/espeak-$(ESPEAK_VERSION_MAJOR) -ESPEAK_LICENSE = GPLv3+ +ESPEAK_LICENSE = GPL-3.0+ ESPEAK_LICENSE_FILES = License.txt ifeq ($(BR2_PACKAGE_ESPEAK_AUDIO_BACKEND_ALSA),y) diff --git a/package/ethtool/Config.in b/package/ethtool/Config.in index 48c6062a61..48173bfe2e 100644 --- a/package/ethtool/Config.in +++ b/package/ethtool/Config.in @@ -4,4 +4,12 @@ config BR2_PACKAGE_ETHTOOL ethtool is a small utility for examining and tuning your ethernet-based network interface. - http://sourceforge.net/projects/gkernel/ + https://www.kernel.org/pub/software/network/ethtool/ + +config BR2_PACKAGE_ETHTOOL_PRETTY_PRINT + bool "enable pretty printing" + default y + depends on BR2_PACKAGE_ETHTOOL + help + Enables ethtool's pretty printing for drivers + and SFP modules. diff --git a/package/ethtool/ethtool.hash b/package/ethtool/ethtool.hash index 7deb92adae..39e10ff34e 100644 --- a/package/ethtool/ethtool.hash +++ b/package/ethtool/ethtool.hash @@ -1,2 +1,4 @@ # From https://www.kernel.org/pub/software/network/ethtool/sha256sums.asc -sha256 403dfe288e2d8031eab0be3f5d0ca9128e120d61c52c3dc434474fa026eb4a43 ethtool-4.8.tar.xz +sha256 b7c1a380007d30eaf261a63b3cfc000f9d93f9eb7626dcd48b5d2a733af99cba ethtool-4.13.tar.xz +# Locally calculated +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/ethtool/ethtool.mk b/package/ethtool/ethtool.mk index bb3ed926a7..d8ebba5fae 100644 --- a/package/ethtool/ethtool.mk +++ b/package/ethtool/ethtool.mk @@ -4,10 +4,12 @@ # ################################################################################ -ETHTOOL_VERSION = 4.8 +ETHTOOL_VERSION = 4.13 ETHTOOL_SOURCE = ethtool-$(ETHTOOL_VERSION).tar.xz ETHTOOL_SITE = $(BR2_KERNEL_MIRROR)/software/network/ethtool -ETHTOOL_LICENSE = GPLv2 +ETHTOOL_LICENSE = GPL-2.0 ETHTOOL_LICENSE_FILES = COPYING +ETHTOOL_CONF_OPTS = \ + $(if $(BR2_PACKAGE_ETHTOOL_PRETTY_PRINT),--enable-pretty-dump,--disable-pretty-dump) $(eval $(autotools-package)) diff --git a/package/eudev/0002-missing-defines-for-old-kernels.patch b/package/eudev/0002-missing-defines-for-old-kernels.patch deleted file mode 100644 index 6966b07fe4..0000000000 --- a/package/eudev/0002-missing-defines-for-old-kernels.patch +++ /dev/null @@ -1,44 +0,0 @@ -From c0f63850ad29ec978d070a08b816dc2bfca337e3 Mon Sep 17 00:00:00 2001 -From: Gustavo Sverzut Barbieri -Date: Fri, 30 Dec 2016 11:28:41 -0200 -Subject: [PATCH] udev-builtin-input_id.c: add missing kernel header defines. - -Add missing defines so eudev builds for older kernels such as 2.6 - -Signed-off-by: Gustavo Sverzut Barbieri ---- - src/shared/missing.h | 8 ++++++++ - src/udev/udev-builtin-input_id.c | 1 + - 2 files changed, 9 insertions(+) - -diff --git a/src/shared/missing.h b/src/shared/missing.h -index 5ad599795..bebbb42be 100644 ---- a/src/shared/missing.h -+++ b/src/shared/missing.h -@@ -171,3 +171,11 @@ static inline int name_to_handle_at(int fd, const char *name, struct file_handle - (char *)memcpy(__new, __old, __len); \ - }) - #endif -+ -+#ifndef BTN_TRIGGER_HAPPY -+#define BTN_TRIGGER_HAPPY 0x2c0 -+#endif -+ -+#ifndef INPUT_PROP_MAX -+#define INPUT_PROP_MAX 0x1f -+#endif -diff --git a/src/udev/udev-builtin-input_id.c b/src/udev/udev-builtin-input_id.c -index b14190e42..ca545be5d 100644 ---- a/src/udev/udev-builtin-input_id.c -+++ b/src/udev/udev-builtin-input_id.c -@@ -32,6 +32,7 @@ - - #include "udev.h" - #include "util.h" -+#include "missing.h" - - /* we must use this kernel-compatible implementation */ - #define BITS_PER_LONG (sizeof(unsigned long) * 8) --- -2.11.0 - diff --git a/package/eudev/Config.in b/package/eudev/Config.in index 02fcc7e14b..2220265a55 100644 --- a/package/eudev/Config.in +++ b/package/eudev/Config.in @@ -9,10 +9,10 @@ config BR2_PACKAGE_EUDEV select BR2_PACKAGE_UTIL_LINUX_LIBBLKID select BR2_PACKAGE_KMOD help - eudev is a fork of systemd-udev with the goal of obtaining better - compatibility with existing software such as OpenRC and Upstart, - older kernels, various toolchains and anything else required by - users and various distributions. + eudev is a fork of systemd-udev with the goal of obtaining + better compatibility with existing software such as OpenRC and + Upstart, older kernels, various toolchains and anything else + required by users and various distributions. https://wiki.gentoo.org/wiki/Project:Eudev diff --git a/package/eudev/eudev.hash b/package/eudev/eudev.hash index 108b0c6e50..75f2cc1c48 100644 --- a/package/eudev/eudev.hash +++ b/package/eudev/eudev.hash @@ -1,4 +1,4 @@ # From http://dev.gentoo.org/~blueness/eudev/ -md5 49f71f6c271ffa95b3c20d757d45c2e5 eudev-3.2.1.tar.gz +md5 66acef4c6094aab4aced7ae83b74b0d2 eudev-3.2.4.tar.gz # Locally calculated -sha256 57e3d9e51cfefbdad431848ea0ad8ae1cde04928da42474f44bd200b12f5fe19 eudev-3.2.1.tar.gz +sha256 dddcf4c89b21f5f3210f7e4d3888c92cbfc657ff734ac21b6bdd3f5bcb146fed eudev-3.2.4.tar.gz diff --git a/package/eudev/eudev.mk b/package/eudev/eudev.mk index 2f5bd6cf19..b712475861 100644 --- a/package/eudev/eudev.mk +++ b/package/eudev/eudev.mk @@ -4,9 +4,9 @@ # ################################################################################ -EUDEV_VERSION = 3.2.1 +EUDEV_VERSION = 3.2.4 EUDEV_SITE = http://dev.gentoo.org/~blueness/eudev -EUDEV_LICENSE = GPLv2+ (programs), LGPLv2.1+ (libraries) +EUDEV_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (libraries) EUDEV_LICENSE_FILES = COPYING EUDEV_INSTALL_STAGING = YES diff --git a/package/ev3dev-linux-drivers/ev3dev-linux-drivers.mk b/package/ev3dev-linux-drivers/ev3dev-linux-drivers.mk index 55e26f0411..92e8927817 100644 --- a/package/ev3dev-linux-drivers/ev3dev-linux-drivers.mk +++ b/package/ev3dev-linux-drivers/ev3dev-linux-drivers.mk @@ -6,6 +6,6 @@ EV3DEV_LINUX_DRIVERS_VERSION = 0e551eb25ae8600c1f178814781bfb42dc835496 EV3DEV_LINUX_DRIVERS_SITE = $(call github,ev3dev,lego-linux-drivers,$(EV3DEV_LINUX_DRIVERS_VERSION)) -EV3DEV_LINUX_DRIVERS_LICENSE = GPLv2 +EV3DEV_LINUX_DRIVERS_LICENSE = GPL-2.0 $(eval $(generic-package)) diff --git a/package/evemu/0001-Include-limits.h-for-PATH_MAX.patch b/package/evemu/0001-Include-limits.h-for-PATH_MAX.patch new file mode 100644 index 0000000000..04a0cc6b9a --- /dev/null +++ b/package/evemu/0001-Include-limits.h-for-PATH_MAX.patch @@ -0,0 +1,35 @@ +From e80a13776e6d6df29fd704cd63e0744200c3df1b Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Sun, 1 Oct 2017 19:54:53 +0200 +Subject: [PATCH] Include limits.h for PATH_MAX. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes the following compile failure when building with musl: + + find_event_devices.c: In function ‘find_event_devices’: + find_event_devices.c:60:14: error: ‘PATH_MAX’ undeclared (first use in this function) + char fname[PATH_MAX]; + ^~~~~~~~ + +Signed-off-by: Peter Seiderer +--- + tools/find_event_devices.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/tools/find_event_devices.c b/tools/find_event_devices.c +index 2a43d54..3a74096 100644 +--- a/tools/find_event_devices.c ++++ b/tools/find_event_devices.c +@@ -24,6 +24,7 @@ + + #define _GNU_SOURCE + #include ++#include + #include + #include + #include +-- +2.14.2 + diff --git a/package/evemu/evemu.hash b/package/evemu/evemu.hash index 5e653f7d59..7d45eb3e5b 100644 --- a/package/evemu/evemu.hash +++ b/package/evemu/evemu.hash @@ -1,2 +1,2 @@ -# Hash from https://lists.freedesktop.org/archives/input-tools/2016-September/001330.html -sha256 541cc138f0215b7d0cd4ad5e6bb1402518ffc5e31294c36bb67b4ff1791bb27f evemu-2.5.0.tar.xz +# From https://lists.freedesktop.org/archives/input-tools/2017-September/001416.html +sha256 78c9400d55eeeb5ab75161360543f9376438c4da4934cb34cdda5b46021ae379 evemu-2.7.0.tar.xz diff --git a/package/evemu/evemu.mk b/package/evemu/evemu.mk index 4f59789a08..02e5abdb8f 100644 --- a/package/evemu/evemu.mk +++ b/package/evemu/evemu.mk @@ -4,10 +4,10 @@ # ################################################################################ -EVEMU_VERSION = 2.5.0 +EVEMU_VERSION = 2.7.0 EVEMU_SITE = http://www.freedesktop.org/software/evemu EVEMU_SOURCE = evemu-$(EVEMU_VERSION).tar.xz -EVEMU_LICENSE = LGPLv3 (library), GPLv3 (tools) +EVEMU_LICENSE = LGPL-3.0 (library), GPL-3.0 (tools) EVEMU_LICENSE_FILES = COPYING # asciidoc used to generate manpages, which we don't need, and if it's diff --git a/package/eventlog/eventlog.mk b/package/eventlog/eventlog.mk index 76da002e1a..7253657165 100644 --- a/package/eventlog/eventlog.mk +++ b/package/eventlog/eventlog.mk @@ -8,7 +8,7 @@ EVENTLOG_VERSION_MAJOR = 0.2 EVENTLOG_VERSION = $(EVENTLOG_VERSION_MAJOR).12 EVENTLOG_SOURCE = eventlog_$(EVENTLOG_VERSION).tar.gz EVENTLOG_SITE = https://my.balabit.com/downloads/eventlog/$(EVENTLOG_VERSION_MAJOR) -EVENTLOG_LICENSE = BSD-3c +EVENTLOG_LICENSE = BSD-3-Clause EVENTLOG_LICENSE_FILES = COPYING EVENTLOG_INSTALL_STAGING = YES diff --git a/package/evtest/evtest.mk b/package/evtest/evtest.mk index 5ff2bf3dd2..d00d4cb624 100644 --- a/package/evtest/evtest.mk +++ b/package/evtest/evtest.mk @@ -6,7 +6,7 @@ EVTEST_VERSION = 1.33 EVTEST_SITE = http://cgit.freedesktop.org/evtest/snapshot -EVTEST_LICENSE = GPLv2+ +EVTEST_LICENSE = GPL-2.0+ EVTEST_LICENSE_FILES = COPYING EVTEST_DEPENDENCIES = host-pkgconf # needed because source package contains no generated files diff --git a/package/execline/Config.in b/package/execline/Config.in new file mode 100644 index 0000000000..7a2278fa5a --- /dev/null +++ b/package/execline/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_EXECLINE + bool "execline" + depends on BR2_USE_MMU # skalibs + select BR2_PACKAGE_SKALIBS + help + execline is a (non-interactive) scripting language, like sh; + but its syntax is quite different from a traditional shell + syntax. The execlineb program is meant to be used as an + interpreter for a text file; the other commands are + essentially useful inside an execlineb script. + + http://skarnet.org/software/execline/ diff --git a/package/execline/execline.hash b/package/execline/execline.hash new file mode 100644 index 0000000000..1251d8d79e --- /dev/null +++ b/package/execline/execline.hash @@ -0,0 +1,2 @@ +# Locally generated +sha256 1a698425740a410a38be770f98b8faf94c633e29a74ba1d25adddbb294e979f5 execline-2.3.0.3.tar.gz diff --git a/package/execline/execline.mk b/package/execline/execline.mk new file mode 100644 index 0000000000..a4f4229f6c --- /dev/null +++ b/package/execline/execline.mk @@ -0,0 +1,72 @@ +################################################################################ +# +# execline +# +################################################################################ + +EXECLINE_VERSION = 2.3.0.3 +EXECLINE_SITE = http://skarnet.org/software/execline +EXECLINE_LICENSE = ISC +EXECLINE_LICENSE_FILES = COPYING +EXECLINE_INSTALL_STAGING = YES +EXECLINE_DEPENDENCIES = skalibs + +EXECLINE_CONF_OPTS = \ + --prefix=/usr \ + --with-sysdeps=$(STAGING_DIR)/usr/lib/skalibs/sysdeps \ + --with-include=$(STAGING_DIR)/usr/include \ + --with-dynlib=$(STAGING_DIR)/usr/lib \ + --with-lib=$(STAGING_DIR)/usr/lib/skalibs \ + $(if $(BR2_STATIC_LIBS),,--disable-allstatic) \ + $(SHARED_STATIC_LIBS_OPTS) + +define EXECLINE_CONFIGURE_CMDS + (cd $(@D); $(TARGET_CONFIGURE_OPTS) ./configure $(EXECLINE_CONF_OPTS)) +endef + +define EXECLINE_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define EXECLINE_REMOVE_STATIC_LIB_DIR + rm -rf $(TARGET_DIR)/usr/lib/execline +endef + +EXECLINE_POST_INSTALL_TARGET_HOOKS += EXECLINE_REMOVE_STATIC_LIB_DIR + +define EXECLINE_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install +endef + +define EXECLINE_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) install +endef + +HOST_EXECLINE_DEPENDENCIES = host-skalibs + +# Set --shebangdir to /usr/bin, as this value is used by the host variant of +# s6-rc when generating execline scripts for the target. +HOST_EXECLINE_CONF_OPTS = \ + --prefix=$(HOST_DIR) \ + --shebangdir=/usr/bin \ + --with-sysdeps=$(HOST_DIR)/lib/skalibs/sysdeps \ + --with-include=$(HOST_DIR)/include \ + --with-dynlib=$(HOST_DIR)/lib \ + --disable-static \ + --enable-shared \ + --disable-allstatic + +define HOST_EXECLINE_CONFIGURE_CMDS + (cd $(@D); $(HOST_CONFIGURE_OPTS) ./configure $(HOST_EXECLINE_CONF_OPTS)) +endef + +define HOST_EXECLINE_BUILD_CMDS + $(HOST_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define HOST_EXECLINE_INSTALL_CMDS + $(HOST_MAKE_ENV) $(MAKE) -C $(@D) install +endef + +$(eval $(generic-package)) +$(eval $(host-generic-package)) diff --git a/package/exfat-utils/exfat-utils.hash b/package/exfat-utils/exfat-utils.hash index b40e632a5a..f0d6b64259 100644 --- a/package/exfat-utils/exfat-utils.hash +++ b/package/exfat-utils/exfat-utils.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 6aa51926416b9d0977b456902f4c4cd10bcce4b2d160859a7a2fc9ca6bcbbb11 exfat-utils-1.2.4.tar.gz +sha256 b96b6692cf92a629c9eca0fe8c782646e20479524c7d2a99b7e9b43c3cf8ac43 exfat-utils-1.2.6.tar.gz diff --git a/package/exfat-utils/exfat-utils.mk b/package/exfat-utils/exfat-utils.mk index 259c2dabf7..c1b5a93540 100644 --- a/package/exfat-utils/exfat-utils.mk +++ b/package/exfat-utils/exfat-utils.mk @@ -4,9 +4,9 @@ # ################################################################################ -EXFAT_UTILS_VERSION = 1.2.4 +EXFAT_UTILS_VERSION = 1.2.6 EXFAT_UTILS_SITE = https://github.com/relan/exfat/releases/download/v$(EXFAT_UTILS_VERSION) -EXFAT_UTILS_LICENSE = GPLv3+ +EXFAT_UTILS_LICENSE = GPL-3.0+ EXFAT_UTILS_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/exfat/exfat.hash b/package/exfat/exfat.hash index cf3aab19f7..15b67f0094 100644 --- a/package/exfat/exfat.hash +++ b/package/exfat/exfat.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 9312d23a5d82543ad2e9ab7f0a0b471aea53eeb8eae664451c881b46d849756e fuse-exfat-1.2.4.tar.gz +sha256 e1105256d75860c0678f98bbae0b8fe465d4c96ed187b7035556097f152478e7 fuse-exfat-1.2.6.tar.gz diff --git a/package/exfat/exfat.mk b/package/exfat/exfat.mk index 84b6001db4..f5ed13e207 100644 --- a/package/exfat/exfat.mk +++ b/package/exfat/exfat.mk @@ -4,11 +4,11 @@ # ################################################################################ -EXFAT_VERSION = 1.2.4 +EXFAT_VERSION = 1.2.6 EXFAT_SITE = https://github.com/relan/exfat/releases/download/v$(EXFAT_VERSION) EXFAT_SOURCE = fuse-exfat-$(EXFAT_VERSION).tar.gz EXFAT_DEPENDENCIES = libfuse host-pkgconf -EXFAT_LICENSE = GPLv3+ +EXFAT_LICENSE = GPL-3.0+ EXFAT_LICENSE_FILES = COPYING EXFAT_CFLAGS = $(TARGET_CFLAGS) -std=c99 diff --git a/package/exim/0003-Skip-version-check-and-symlink-installation.patch b/package/exim/0003-Skip-version-check-and-symlink-installation.patch index 94d21ae114..a342d6ed34 100644 --- a/package/exim/0003-Skip-version-check-and-symlink-installation.patch +++ b/package/exim/0003-Skip-version-check-and-symlink-installation.patch @@ -9,6 +9,8 @@ Inspired by: http://patch-tracker.debian.org/patch/series/view/exim4/4.76-2/35_install.dpatch Signed-off-by: Luca Ceresoli +(rebased against exim 4.89) +Signed-off-by: Bernd Kuhls --- scripts/exim_install | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-) @@ -17,7 +19,7 @@ diff --git a/scripts/exim_install b/scripts/exim_install index e68e7d5..487a4e1 100755 --- a/scripts/exim_install +++ b/scripts/exim_install -@@ -59,6 +59,8 @@ while [ $# -gt 0 ] ; do +@@ -58,6 +58,8 @@ shift done @@ -26,15 +28,14 @@ index e68e7d5..487a4e1 100755 # Get the values of BIN_DIRECTORY, CONFIGURE_FILE, INFO_DIRECTORY, NO_SYMLINK, # SYSTEM_ALIASES_FILE, and EXE from the global Makefile (in the build # directory). EXE is empty except in the Cygwin environment. In each case, keep -@@ -218,8 +220,9 @@ while [ $# -gt 0 ]; do +@@ -217,9 +219,7 @@ # The exim binary is handled specially if [ $name = exim${EXE} ]; then -- version=exim-`./exim -bV -C /dev/null | \ +- exim="./exim -bV -C /dev/null" +- version=exim-`$exim 2>/dev/null | \ - awk '/Exim version/ { OFS=""; print $3,"-",substr($4,2,length($4)-1) }'`${EXE} + version=exim -+# version=exim-`./exim -bV -C /dev/null | \ -+# awk '/Exim version/ { OFS=""; print $3,"-",substr($4,2,length($4)-1) }'`${EXE} if [ "${version}" = "exim-${EXE}" ]; then echo $com "" diff --git a/package/exim/0004-glibc.patch b/package/exim/0004-glibc.patch new file mode 100644 index 0000000000..7ae2ef8c70 --- /dev/null +++ b/package/exim/0004-glibc.patch @@ -0,0 +1,27 @@ +uClibc does not contain gnu/libc-version.h + +Patch sent upstream: https://bugs.exim.org/show_bug.cgi?id=2070 + +Signed-off-by: Bernd Kuhls + +diff -uNr exim-4.88.org/src/exim.c exim-4.88/src/exim.c +--- exim-4.88.org/src/exim.c 2016-12-18 15:02:28.000000000 +0100 ++++ exim-4.88/src/exim.c 2016-12-26 12:12:57.000000000 +0100 +@@ -12,7 +12,7 @@ + + #include "exim.h" + +-#ifdef __GLIBC__ ++#if defined(__GLIBC__) && !defined(__UCLIBC__) + # include + #endif + +@@ -1044,7 +1044,7 @@ + fprintf(f, "Compiler: \n"); + #endif + +-#ifdef __GLIBC__ ++#if defined(__GLIBC__) && !defined(__UCLIBC__) + fprintf(f, "Library version: Glibc: Compile: %d.%d\n", + __GLIBC__, __GLIBC_MINOR__); + if (__GLIBC_PREREQ(2, 1)) diff --git a/package/exim/Config.in b/package/exim/Config.in index 230ac86f96..aa50a86736 100644 --- a/package/exim/Config.in +++ b/package/exim/Config.in @@ -8,8 +8,9 @@ config BR2_PACKAGE_EXIM select BR2_PACKAGE_PCRE select BR2_PACKAGE_BERKELEYDB help - Exim is a message transfer agent (MTA) developed at the University of - Cambridge for use on Unix systems connected to the Internet. + Exim is a message transfer agent (MTA) developed at the + University of Cambridge for use on Unix systems connected to + the Internet. http://www.exim.org/ diff --git a/package/exim/exim.hash b/package/exim/exim.hash index ef2d03ba21..d961083ebd 100644 --- a/package/exim/exim.hash +++ b/package/exim/exim.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 d4b7994c89240d2f9a9fcd7a2dffa4b72f14379001a24266f4dbb0fbe5131514 exim-4.87.1.tar.bz2 +sha256 1c853bc960dff0a0e51e3e28bc4a4a8165b58b41bb64ea3abb90f254d9947a8c exim-4.89.1.tar.bz2 diff --git a/package/exim/exim.mk b/package/exim/exim.mk index a9f4685eb9..612eaf47fa 100644 --- a/package/exim/exim.mk +++ b/package/exim/exim.mk @@ -4,10 +4,10 @@ # ################################################################################ -EXIM_VERSION = 4.87.1 +EXIM_VERSION = 4.89.1 EXIM_SOURCE = exim-$(EXIM_VERSION).tar.bz2 -EXIM_SITE = ftp://ftp.exim.org/pub/exim/exim4/old -EXIM_LICENSE = GPLv2+ +EXIM_SITE = ftp://ftp.exim.org/pub/exim/exim4 +EXIM_LICENSE = GPL-2.0+ EXIM_LICENSE_FILES = LICENCE EXIM_DEPENDENCIES = pcre berkeleydb host-pkgconf diff --git a/package/exiv2/Config.in b/package/exiv2/Config.in index 8ca95ebcaf..acce81c593 100644 --- a/package/exiv2/Config.in +++ b/package/exiv2/Config.in @@ -1,11 +1,14 @@ -comment "exiv2 needs a toolchain w/ C++, wchar, dynamic library" +comment "exiv2 needs a uClibc or glibc toolchain w/ C++, wchar, dynamic library, threads" depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP \ - || !BR2_USE_WCHAR + || !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS \ + || BR2_TOOLCHAIN_USES_MUSL config BR2_PACKAGE_EXIV2 bool "exiv2" depends on !BR2_STATIC_LIBS depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_USES_MUSL # PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP depends on BR2_USE_WCHAR help Exiv2 is a C++ library and a command line utility to manage @@ -40,13 +43,9 @@ config BR2_PACKAGE_EXIV2_PNG config BR2_PACKAGE_EXIV2_XMP bool "XMP support" select BR2_PACKAGE_EXPAT - depends on BR2_TOOLCHAIN_HAS_THREADS help Build with XMP support -comment "xmp support needs a toolchain w/ threads" - depends on !BR2_TOOLCHAIN_HAS_THREADS - config BR2_PACKAGE_EXIV2_LENSDATA bool "Nikon lens name database" depends on !BR2_PACKAGE_EXIV2_COMMERCIAL diff --git a/package/exiv2/exiv2.hash b/package/exiv2/exiv2.hash index b1e78d2c94..e30cbfaa51 100644 --- a/package/exiv2/exiv2.hash +++ b/package/exiv2/exiv2.hash @@ -1,4 +1,2 @@ -# From http://www.exiv2.org/download.html -md5 258d4831b30f75a01e0234065c6c2806 exiv2-0.25.tar.gz # Locally calculated -sha256 c80bfc778a15fdb06f71265db2c3d49d8493c382e516cb99b8c9f9cbde36efa4 exiv2-0.25.tar.gz +sha256 290cb6208f143b9bd5074d790fc8924409f28e5813356c143d739a3311d8ad76 exiv2-910f3507795e1930ae216c9febee0bf9a88e99c0.tar.gz diff --git a/package/exiv2/exiv2.mk b/package/exiv2/exiv2.mk index 45f9289199..32029bab97 100644 --- a/package/exiv2/exiv2.mk +++ b/package/exiv2/exiv2.mk @@ -4,12 +4,16 @@ # ################################################################################ -EXIV2_VERSION = 0.25 -EXIV2_SITE = http://www.exiv2.org +EXIV2_VERSION = 910f3507795e1930ae216c9febee0bf9a88e99c0 +EXIV2_SITE = $(call github,Exiv2,exiv2,$(EXIV2_VERSION)) EXIV2_INSTALL_STAGING = YES EXIV2_CONF_OPTS += -DEXIV2_ENABLE_BUILD_SAMPLES=OFF +# The following CMake variable disables a TRY_RUN call in the -pthread +# test which is not allowed when cross-compiling. +EXIV2_CONF_OPTS += -DTHREADS_PTHREAD_ARG=OFF + ifeq ($(BR2_PACKAGE_EXIV2_LENSDATA),) EXIV2_CONF_OPTS += -DEXIV2_ENABLE_LENSDATA=OFF endif @@ -20,7 +24,7 @@ EXIV2_LICENSE = commercial # of the translated texts. EXIV2_CONF_OPTS += -DEXIV2_ENABLE_COMMERCIAL=ON -DEXIV2_ENABLE_NLS=OFF else -EXIV2_LICENSE = GPLv2+ +EXIV2_LICENSE = GPL-2.0+ EXIV2_LICENSE_FILES = COPYING endif @@ -38,7 +42,9 @@ else EXIV2_CONF_OPTS += -DEXIV2_ENABLE_XMP=OFF -DEXIV2_ENABLE_LIBXMP=OFF endif -ifeq ($(BR2_ENABLE_LOCALE),y) +EXIV2_DEPENDENCIES += $(TARGET_NLS_DEPENDENCIES) + +ifeq ($(BR2_SYSTEM_ENABLE_NLS),y) EXIV2_CONF_OPTS += -DEXIV2_ENABLE_NLS=ON else EXIV2_CONF_OPTS += -DEXIV2_ENABLE_NLS=OFF diff --git a/package/expat/expat.hash b/package/expat/expat.hash index 371abdec91..ef01ec9948 100644 --- a/package/expat/expat.hash +++ b/package/expat/expat.hash @@ -1,5 +1,7 @@ -# From https://sourceforge.net/projects/expat/files/expat/2.2.0/ -md5 2f47841c829facb346eb6e3fab5212e2 expat-2.2.0.tar.bz2 -sha1 8453bc52324be4c796fd38742ec48470eef358b3 expat-2.2.0.tar.bz2 +# From https://sourceforge.net/projects/expat/files/expat/2.2.4/ +md5 6e3980aba29a224a9f478d88ac7ec207 expat-2.2.4.tar.bz2 +sha1 3394d6390c041a8f5dec1d5fe7c4af0a23ae4504 expat-2.2.4.tar.bz2 # Calculated based on the hashes above -sha256 d9e50ff2d19b3538bd2127902a89987474e1a4db8e43a66a4d1a712ab9a504ff expat-2.2.0.tar.bz2 +sha256 03ad85db965f8ab2d27328abcf0bc5571af6ec0a414874b2066ee3fdd372019e expat-2.2.4.tar.bz2 +# Locally calculated +sha256 46336ab2fec900803e2f1a4253e325ac01d998efb09bc6906651f7259e636f76 COPYING diff --git a/package/expat/expat.mk b/package/expat/expat.mk index e7bb74a966..ef196ec40c 100644 --- a/package/expat/expat.mk +++ b/package/expat/expat.mk @@ -4,12 +4,10 @@ # ################################################################################ -EXPAT_VERSION = 2.2.0 +EXPAT_VERSION = 2.2.4 EXPAT_SITE = http://downloads.sourceforge.net/project/expat/expat/$(EXPAT_VERSION) EXPAT_SOURCE = expat-$(EXPAT_VERSION).tar.bz2 EXPAT_INSTALL_STAGING = YES -EXPAT_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) installlib -EXPAT_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) installlib EXPAT_DEPENDENCIES = host-pkgconf HOST_EXPAT_DEPENDENCIES = host-pkgconf EXPAT_LICENSE = MIT diff --git a/package/expedite/Config.in b/package/expedite/Config.in index 0bcf34349b..fdfc671907 100644 --- a/package/expedite/Config.in +++ b/package/expedite/Config.in @@ -3,10 +3,10 @@ config BR2_PACKAGE_EXPEDITE depends on BR2_PACKAGE_EFL depends on BR2_INSTALL_LIBSTDCPP help - Expedite is the official Evas benchmark tool. It can test different - engines, such as X11, XRender, OpenGL (also ES variant), SDL, - DirectFB and so on. Its tests are quite extensive, trying to - reproduce real world usage cases. + Expedite is the official Evas benchmark tool. It can test + different engines, such as X11, XRender, OpenGL (also ES + variant), SDL, DirectFB and so on. Its tests are quite + extensive, trying to reproduce real world usage cases. comment "expedite needs a toolchain w/ C++" depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/expedite/expedite.hash b/package/expedite/expedite.hash index 85c4444eb6..828ee0553b 100644 --- a/package/expedite/expedite.hash +++ b/package/expedite/expedite.hash @@ -1,2 +1,2 @@ # locally computed -sha256 a8690a714c16d6b67e7fd6d70973e9805c3569a9131900b1feaf183220496831 expedite-ffa005ea3de26b4219f32c285cb1665bb1366163.tar.gz +sha256 56e1dbd9826d932f0ef72a10dfdf32b6e0f680ab6830f8a8cfc60644ac69dbf1 expedite-e7b11dd328d9db82b49cde795944a721beaf0112.tar.gz diff --git a/package/expedite/expedite.mk b/package/expedite/expedite.mk index 0b2901d80d..6bd4b007ba 100644 --- a/package/expedite/expedite.mk +++ b/package/expedite/expedite.mk @@ -4,10 +4,10 @@ # ################################################################################ -EXPEDITE_VERSION = ffa005ea3de26b4219f32c285cb1665bb1366163 +EXPEDITE_VERSION = e7b11dd328d9db82b49cde795944a721beaf0112 EXPEDITE_SITE = http://git.enlightenment.org/tools/expedite.git EXPEDITE_SITE_METHOD = git -EXPEDITE_LICENSE = BSD-2c +EXPEDITE_LICENSE = BSD-2-Clause EXPEDITE_LICENSE_FILES = COPYING EXPEDITE_DEPENDENCIES = host-efl host-pkgconf efl diff --git a/package/ezxml/Config.in b/package/ezxml/Config.in index 285c7a5d42..8a1643b118 100644 --- a/package/ezxml/Config.in +++ b/package/ezxml/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_EZXML bool "ezxml" help - ezXML is a XML parser C library that is simple and easy to use. + ezXML is a XML parser C library that is simple and easy to + use. http://ezxml.sf.net diff --git a/package/f2fs-tools/Config.in b/package/f2fs-tools/Config.in index ab81734de2..f0630e99c6 100644 --- a/package/f2fs-tools/Config.in +++ b/package/f2fs-tools/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_F2FS_TOOLS bool "f2fs-tools" + depends on BR2_USE_WCHAR # uses wchar_t select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBUUID - depends on BR2_USE_WCHAR # uses wchar_t help Tools for Flash-Friendly File System (F2FS) diff --git a/package/f2fs-tools/f2fs-tools.hash b/package/f2fs-tools/f2fs-tools.hash new file mode 100644 index 0000000000..36c3b115c6 --- /dev/null +++ b/package/f2fs-tools/f2fs-tools.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 aefd2a67e8ddf9db92145dde41b4a697d1c498ff2e113fbfd26ce1efa6cc3f2d f2fs-tools-v1.8.0.tar.gz diff --git a/package/f2fs-tools/f2fs-tools.mk b/package/f2fs-tools/f2fs-tools.mk index d3956c448d..9b827df086 100644 --- a/package/f2fs-tools/f2fs-tools.mk +++ b/package/f2fs-tools/f2fs-tools.mk @@ -4,7 +4,7 @@ # ################################################################################ -F2FS_TOOLS_VERSION = v1.6.1 +F2FS_TOOLS_VERSION = v1.8.0 F2FS_TOOLS_SITE = http://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git F2FS_TOOLS_SITE_METHOD = git F2FS_TOOLS_CONF_ENV = ac_cv_file__git=no @@ -12,7 +12,7 @@ F2FS_TOOLS_DEPENDENCIES = host-pkgconf util-linux # GIT version, shipped without configure F2FS_TOOLS_AUTORECONF = YES F2FS_TOOLS_INSTALL_STAGING = YES -F2FS_TOOLS_LICENSE = GPLv2 +F2FS_TOOLS_LICENSE = GPL-2.0 F2FS_TOOLS_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/faad2/0001-getopt-fix-strncmp-declaration.patch b/package/faad2/0001-getopt-fix-strncmp-declaration.patch new file mode 100644 index 0000000000..0e5f27e52a --- /dev/null +++ b/package/faad2/0001-getopt-fix-strncmp-declaration.patch @@ -0,0 +1,40 @@ +From 6787914efad562e4097a153988109c5c7158abf7 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Wed, 16 Aug 2017 13:35:57 +0300 +Subject: [PATCH] getopt: fix strncmp() declaration + +The strncmp() declaration does not conform with the standard as to the +type of the 'n' parameter. Fix this to avoid the following build failure +with musl libc: + +n file included from main.c:61:0: +getopt.c:175:13: error: conflicting types for 'strncmp' + extern int strncmp(const char *s1, const char *s2, unsigned int n); + ^~~~~~~ +In file included from main.c:49:0: +.../host/x86_64-buildroot-linux-musl/sysroot/usr/include/string.h:38:5: note: previous declaration of 'strncmp' was here + int strncmp (const char *, const char *, size_t); + ^~~~~~~ +Signed-off-by: Baruch Siach +--- +Upstream status: https://sourceforge.net/p/faac/bugs/217/ + + frontend/getopt.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/frontend/getopt.c b/frontend/getopt.c +index 185d49b804dd..40c7a2242551 100644 +--- a/frontend/getopt.c ++++ b/frontend/getopt.c +@@ -172,7 +172,7 @@ static enum + #if __STDC__ || defined(PROTO) + extern char *getenv(const char *name); + extern int strcmp (const char *s1, const char *s2); +-extern int strncmp(const char *s1, const char *s2, unsigned int n); ++extern int strncmp(const char *s1, const char *s2, size_t n); + + static int my_strlen(const char *s); + static char *my_index (const char *str, int chr); +-- +2.14.1 + diff --git a/package/faad2/faad2.hash b/package/faad2/faad2.hash index 691645b7c0..d298e909a9 100644 --- a/package/faad2/faad2.hash +++ b/package/faad2/faad2.hash @@ -1,4 +1,4 @@ -# From http://sourceforge.net/projects/faac/files/faad2-src/faad2-2.7/ (used by upstream): -sha1 80eaaa5cc576c35dd28863767b795c50cbcc0511 faad2-2.7.tar.gz +# From http://sourceforge.net/projects/faac/files/faad2-src/faad2-2.8.0/ (used by upstream): +sha1 a5caa71cd915acd502d96cba56f38296277f2350 faad2-2.8.1.tar.bz2 # Locally computed -sha256 ee26ed1e177c0cd8fa8458a481b14a0b24ca0b51468c8b4c8b676fd3ceccd330 faad2-2.7.tar.gz +sha256 f4042496f6b0a60f5ded6acd11093230044ef8a2fd965360c1bbd5b58780933d faad2-2.8.1.tar.bz2 diff --git a/package/faad2/faad2.mk b/package/faad2/faad2.mk index 8c4fc1aae2..fa965fe590 100644 --- a/package/faad2/faad2.mk +++ b/package/faad2/faad2.mk @@ -4,10 +4,14 @@ # ################################################################################ -FAAD2_VERSION = 2.7 -FAAD2_SITE = http://downloads.sourceforge.net/project/faac/faad2-src/faad2-$(FAAD2_VERSION) -FAAD2_LICENSE = GPLv2 +FAAD2_VERSION_MAJOR = 2.8 +FAAD2_VERSION = $(FAAD2_VERSION_MAJOR).1 +FAAD2_SITE = http://downloads.sourceforge.net/project/faac/faad2-src/faad2-$(FAAD2_VERSION_MAJOR).0 +FAAD2_SOURCE = faad2-$(FAAD2_VERSION).tar.bz2 +FAAD2_LICENSE = GPL-2.0 FAAD2_LICENSE_FILES = COPYING +# No configure script in upstream tarball +FAAD2_AUTORECONF = YES # frontend/faad calls frexp() FAAD2_CONF_ENV = LIBS=-lm FAAD2_INSTALL_STAGING = YES diff --git a/package/faifa/Config.in b/package/faifa/Config.in index de2cc7979e..753abc67ec 100644 --- a/package/faifa/Config.in +++ b/package/faifa/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_FAIFA bool "faifa" - select BR2_PACKAGE_LIBPCAP depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_LIBPCAP help Faifa can configure any Intellon-based Power Line Communication device using Intellon INT5000 and INT6000 diff --git a/package/faifa/faifa.mk b/package/faifa/faifa.mk index a56a8c0332..af7a1741ff 100644 --- a/package/faifa/faifa.mk +++ b/package/faifa/faifa.mk @@ -8,7 +8,7 @@ FAIFA_VERSION = v0.1 FAIFA_SITE = $(call github,ffainelli,faifa,$(FAIFA_VERSION)) FAIFA_INSTALL_STAGING = YES FAIFA_DEPENDENCIES = libpcap host-autoconf -FAIFA_LICENSE = BSD-3c +FAIFA_LICENSE = BSD-3-Clause FAIFA_LICENSE_FILES = COPYING FAIFA_MAKE_OPTS += GIT_REV=$(FAIFA_VERSION) diff --git a/package/fakedate/fakedate b/package/fakedate/fakedate index 4a9b9b5e64..a64d9b9cdf 100755 --- a/package/fakedate/fakedate +++ b/package/fakedate/fakedate @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # vim: set sw=4 expandtab: # # This program is free software; you can redistribute it and/or modify @@ -18,18 +18,12 @@ # Copyright (C) 2016 Jérôme Pouiller # -# Sanity check -if ! readlink -f "$0" | grep -q fakedate; then - echo "fakedate: Please name this script \`fakedate'" - exit 1 -fi - DATE_BIN=false # Do not call `date' directly since it will produce an infinite recursion. # Instead, find path of true `date' binary. for P in `echo $PATH | tr ':' ' '`; do if [ -x "$P/date" ]; then - if readlink -f "$P/date" | grep -qv fakedate; then + if ! [ "$P/date" -ef "$0" ]; then DATE_BIN="$P/date" break; fi @@ -50,8 +44,8 @@ if [ -n "$SOURCE_DATE_EPOCH" ]; then done if [ $FORCE_EPOCH -eq 1 ]; then echo "date: Warning: using \$SOURCE_DATE_EPOCH instead of true time" >&2 - exec $DATE_BIN -d "@$SOURCE_DATE_EPOCH" "$@" + ARGS="-d @$SOURCE_DATE_EPOCH" fi fi -exec $DATE_BIN "$@" +exec $DATE_BIN $ARGS "$@" diff --git a/package/fakedate/fakedate.mk b/package/fakedate/fakedate.mk index 61d4bd702e..99ea748e07 100644 --- a/package/fakedate/fakedate.mk +++ b/package/fakedate/fakedate.mk @@ -5,11 +5,10 @@ ################################################################################ # source included in buildroot -HOST_FAKEDATE_LICENSE = GPLv2+ +HOST_FAKEDATE_LICENSE = GPL-2.0+ define HOST_FAKEDATE_INSTALL_CMDS - $(INSTALL) -D -m 755 package/fakedate/fakedate $(HOST_DIR)/usr/bin/fakedate - ln -sfn fakedate $(HOST_DIR)/usr/bin/date + $(INSTALL) -D -m 755 package/fakedate/fakedate $(HOST_DIR)/bin/date endef $(eval $(host-generic-package)) diff --git a/package/fakeroot/0002-communicate-check-return-status-of-msgrcv.patch b/package/fakeroot/0002-communicate-check-return-status-of-msgrcv.patch new file mode 100644 index 0000000000..3bb4f9701f --- /dev/null +++ b/package/fakeroot/0002-communicate-check-return-status-of-msgrcv.patch @@ -0,0 +1,46 @@ +From a853f21633693f9eefc4949660253a5328d2d2f3 Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" +Date: Sun, 13 Aug 2017 23:21:54 +0200 +Subject: [PATCH 1/1] communicate: check return status of msgrcv() + +msgrcv can return with -1 to indicate an error condition. +One such error is to have been interrupted by a signal. + +Being interrupted by a signal is very rare in this code, except in a +very special condition: a highly-parallel (1000 jobs!) mksquashfs on +a filesystem with extended attributes, where we see errors like (those +are mksquashfs errors): + llistxattr for titi/603/883 failed in read_attrs, because Unknown + error 1716527536 + +See: https://bugs.busybox.net/show_bug.cgi?id=10141 + +In this case, we just have to retry the call to msgrcv(). + +Signed-off-by: "Yann E. MORIN" +--- + communicate.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/communicate.c b/communicate.c +index 293f404..787bb63 100644 +--- a/communicate.c ++++ b/communicate.c +@@ -553,10 +553,13 @@ void send_get_fakem(struct fake_msg *buf) + l=msgrcv(msg_get, + (struct my_msgbuf*)buf, + sizeof(*buf)-sizeof(buf->mtype),0,0); +- while((buf->serial!=serial)||buf->pid!=pid); ++ while(((l==-1)&&(errno==EINTR))||(buf->serial!=serial)||buf->pid!=pid); + + semaphore_down(); + ++ if(l==-1) ++ buf->xattr.flags_rc=errno; ++ + /* + (nah, may be wrong, due to allignment) + +-- +2.11.0 + diff --git a/package/fakeroot/fakeroot.hash b/package/fakeroot/fakeroot.hash index f0d436e5c3..d1d959df6f 100644 --- a/package/fakeroot/fakeroot.hash +++ b/package/fakeroot/fakeroot.hash @@ -2,3 +2,5 @@ sha1 367040df07043edb630942b21939e493f3fad888 fakeroot_1.20.2.orig.tar.bz2 # Calculated based on the hash above sha256 7c0a164d19db3efa9e802e0fc7cdfeff70ec6d26cdbdc4338c9c2823c5ea230c fakeroot_1.20.2.orig.tar.bz2 +# License files, locally calculated +sha256 fc82ca8b6fdb18d4e3e85cfd8ab58d1bcd3f1b29abe782895abd91d64763f8e7 COPYING diff --git a/package/fakeroot/fakeroot.mk b/package/fakeroot/fakeroot.mk index 168cd13a48..4aa27a1b0c 100644 --- a/package/fakeroot/fakeroot.mk +++ b/package/fakeroot/fakeroot.mk @@ -7,6 +7,8 @@ FAKEROOT_VERSION = 1.20.2 FAKEROOT_SOURCE = fakeroot_$(FAKEROOT_VERSION).orig.tar.bz2 FAKEROOT_SITE = http://snapshot.debian.org/archive/debian/20141005T221953Z/pool/main/f/fakeroot + +HOST_FAKEROOT_DEPENDENCIES = host-acl # Force capabilities detection off # For now these are process capabilities (faked) rather than file # so they're of no real use @@ -14,7 +16,7 @@ HOST_FAKEROOT_CONF_ENV = \ ac_cv_header_sys_capability_h=no \ ac_cv_func_capset=no -FAKEROOT_LICENSE = GPLv3+ +FAKEROOT_LICENSE = GPL-3.0+ FAKEROOT_LICENSE_FILES = COPYING $(eval $(host-autotools-package)) diff --git a/package/faketime/0001-Disable-the-non-null-compare-warning-error.patch b/package/faketime/0001-Disable-the-non-null-compare-warning-error.patch new file mode 100644 index 0000000000..f8c7484452 --- /dev/null +++ b/package/faketime/0001-Disable-the-non-null-compare-warning-error.patch @@ -0,0 +1,32 @@ +From e85a157b51b1276c91c736d8624d9f3e876e9189 Mon Sep 17 00:00:00 2001 +From: Andreas Rammhold +Date: Tue, 20 Dec 2016 19:25:32 +0100 +Subject: [PATCH] Disable the non-null compare warning/error. + +We rely on the provided local library definitions for the hooked +functions which in some cases (GCC >6) carry a non-null-attribute flag +which causes compile errors on `!= NULL` checks. + +[Romain: rebase on 0.9.6] +(cherry picked from commit 47e958b753fc15098a2b7d0e9ef26b83ee255874) +Signed-off-by: Romain Naour +--- + src/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/Makefile b/src/Makefile +index 51634b0..bbbd476 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -67,7 +67,7 @@ INSTALL ?= install + PREFIX ?= /usr/local + LIBDIRNAME ?= /lib/faketime + +-CFLAGS += -std=gnu99 -Wall -Wextra -Werror -DFAKE_STAT -DFAKE_SLEEP -DFAKE_TIMERS -DFAKE_INTERNAL_CALLS -fPIC -DPREFIX='"'$(PREFIX)'"' -DLIBDIRNAME='"'$(LIBDIRNAME)'"' ++CFLAGS += -std=gnu99 -Wall -Wextra -Werror -Wno-nonnull-compare -DFAKE_STAT -DFAKE_SLEEP -DFAKE_TIMERS -DFAKE_INTERNAL_CALLS -fPIC -DPREFIX='"'$(PREFIX)'"' -DLIBDIRNAME='"'$(LIBDIRNAME)'"' + LIB_LDFLAGS += -shared + LDFLAGS += -Wl,--version-script=libfaketime.map -lpthread + LDADD += -ldl -lm -lrt +-- +2.9.3 + diff --git a/package/faketime/faketime.mk b/package/faketime/faketime.mk index 292fe175cb..6c88a71aa3 100644 --- a/package/faketime/faketime.mk +++ b/package/faketime/faketime.mk @@ -6,15 +6,15 @@ FAKETIME_VERSION = v0.9.6 FAKETIME_SITE = $(call github,wolfcw,libfaketime,$(FAKETIME_VERSION)) -FAKETIME_LICENSE = GPLv2 +FAKETIME_LICENSE = GPL-2.0 FAKETIME_LICENSE_FILES = COPYING define HOST_FAKETIME_BUILD_CMDS - $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) PREFIX=$(HOST_DIR)/usr + $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) PREFIX=$(HOST_DIR) endef define HOST_FAKETIME_INSTALL_CMDS - $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) PREFIX=$(HOST_DIR)/usr install + $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) PREFIX=$(HOST_DIR) install endef $(eval $(host-generic-package)) diff --git a/package/fan-ctrl/fan-ctrl.mk b/package/fan-ctrl/fan-ctrl.mk index 4232286120..53533a8a17 100644 --- a/package/fan-ctrl/fan-ctrl.mk +++ b/package/fan-ctrl/fan-ctrl.mk @@ -8,7 +8,7 @@ FAN_CTRL_VERSION = 1.3 FAN_CTRL_SOURCE = fan-ctrl.c?revision=$(FAN_CTRL_VERSION) FAN_CTRL_SITE = http://fan-ctrl.cvs.sourceforge.net/viewvc/fan-ctrl/fan-ctrl -FAN_CTRL_LICENSE = GPLv2+ +FAN_CTRL_LICENSE = GPL-2.0+ FAN_CTRL_LICENSE_FILES = fan-ctrl.c define FAN_CTRL_EXTRACT_CMDS diff --git a/package/fastd/0002-CMakeList-do-not-overwrite-module-path.patch b/package/fastd/0002-CMakeList-do-not-overwrite-module-path.patch new file mode 100644 index 0000000000..88c1953d82 --- /dev/null +++ b/package/fastd/0002-CMakeList-do-not-overwrite-module-path.patch @@ -0,0 +1,56 @@ +From a925a4cab1b722a2a24b0c1d2a1925f3b766de61 Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" +Date: Thu, 2 Mar 2017 21:43:39 +0100 +Subject: [PATCH] CMakeList: do not overwrite module path + +Currently, the CMakeList.txt completely overwrites the CMAKE_MODULE_PATH +variable. + +This is problematic when an upper-layer buildsystem wants to set its own +module path to use custom modules. + +For example, Buldroot [0] provides a custom platform description [1] to fix +cross-compilation issue. Overwriting the module path means that this +custom platform description is not found [2]. + +Providing such a custom platform description is what the upstream cmake +devs suggest [3], quoting: + + If a toolchain file specifies CMAKE_SYSTEM_NAME such that a custom + `Platform/MySystem.cmake` file is loaded then the latter can set + them [*] as needed for the target platform. + +[*] offending settings causing RPATH issues during cross-compilation. + +So we need to append our source tree to the module path, not replace it +blindly. + +[0] https://buildroot.org/ +[1] https://git.buildroot.org/buildroot/tree/support/misc/Buildroot.cmake +[2] http://autobuild.buildroot.net/results/69f/69fb2e3b549a069e2898506db918423e6742c589/build-end.log +[3] http://public.kitware.com/pipermail/cmake/2017-February/065063.html + +Signed-off-by: "Yann E. MORIN" +--- +Patch applied upstream: +https://git.universe-factory.net/fastd/commit/?id=a925a4cab1b722a2a24b0c1d2a1925f3b766de61 + +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 61689b1..2c9c61a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,6 +1,6 @@ + cmake_minimum_required(VERSION 2.8.8) + +-set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) ++list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) + cmake_policy(SET CMP0017 OLD) # Prefer modules in our module directory + + project(FASTD C ASM) +-- +2.7.4 + diff --git a/package/fastd/Config.in b/package/fastd/Config.in index 546d449471..47c76b5ad6 100644 --- a/package/fastd/Config.in +++ b/package/fastd/Config.in @@ -16,8 +16,8 @@ if BR2_PACKAGE_FASTD config BR2_PACKAGE_FASTD_STATUS_SOCKET bool "status socket support" default y - select BR2_PACKAGE_JSON_C depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c + select BR2_PACKAGE_JSON_C help Enable support for a socket to get fastd's status. diff --git a/package/fastd/fastd.mk b/package/fastd/fastd.mk index 0e510db879..e67acdbf18 100644 --- a/package/fastd/fastd.mk +++ b/package/fastd/fastd.mk @@ -7,7 +7,7 @@ FASTD_VERSION = 18 FASTD_SITE = https://projects.universe-factory.net/attachments/download/86 FASTD_SOURCE = fastd-$(FASTD_VERSION).tar.xz -FASTD_LICENSE = BSD-2c +FASTD_LICENSE = BSD-2-Clause FASTD_LICENSE_FILES = COPYRIGHT FASTD_CONF_OPTS = -DENABLE_LIBSODIUM=ON FASTD_DEPENDENCIES = host-bison host-pkgconf libuecc libsodium libcap diff --git a/package/fb-test-app/fb-test-app.mk b/package/fb-test-app/fb-test-app.mk index 9cd0aece44..1ab7b2f219 100644 --- a/package/fb-test-app/fb-test-app.mk +++ b/package/fb-test-app/fb-test-app.mk @@ -6,7 +6,7 @@ FB_TEST_APP_VERSION = rosetta-1.1.0 FB_TEST_APP_SITE = $(call github,prpplague,fb-test-app,$(FB_TEST_APP_VERSION)) -FB_TEST_APP_LICENSE = GPLv2 +FB_TEST_APP_LICENSE = GPL-2.0 FB_TEST_APP_LICENSE_FILES = COPYING define FB_TEST_APP_BUILD_CMDS diff --git a/package/fbdump/Config.in b/package/fbdump/Config.in index 982448dd59..c102fe27e4 100644 --- a/package/fbdump/Config.in +++ b/package/fbdump/Config.in @@ -1,9 +1,9 @@ config BR2_PACKAGE_FBDUMP bool "fbdump (Framebuffer Capture Tool)" help - fbdump is a simple tool to capture snapshots from the Linux kernel - framebuffer device and write them out as a PPM file. Currently, - most packed-pixel framebuffer formats and the vga16 framebuffer - are supported. + fbdump is a simple tool to capture snapshots from the Linux + kernel framebuffer device and write them out as a PPM file. + Currently, most packed-pixel framebuffer formats and the vga16 + framebuffer are supported. http://www.rcdrummond.net/fbdump diff --git a/package/fbdump/fbdump.mk b/package/fbdump/fbdump.mk index 9295acd0f5..301dd4fa9f 100644 --- a/package/fbdump/fbdump.mk +++ b/package/fbdump/fbdump.mk @@ -6,7 +6,7 @@ FBDUMP_VERSION = 0.4.2 FBDUMP_SITE = http://www.rcdrummond.net/fbdump -FBDUMP_LICENSE = GPLv2 +FBDUMP_LICENSE = GPL-2.0 FBDUMP_LICENSE_FILES = COPYING # The VGA16 specific feature of fbdump doesn't make much sense outside diff --git a/package/fbgrab/Config.in b/package/fbgrab/Config.in index f3b29d9f99..d1e9e69b3f 100644 --- a/package/fbgrab/Config.in +++ b/package/fbgrab/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_FBGRAB bool "fbgrab" select BR2_PACKAGE_LIBPNG help - FBGrab is a framebuffer screenshot program, capturing the linux - frambuffer and converting it to a png-picture. + FBGrab is a framebuffer screenshot program, capturing the + linux frambuffer and converting it to a png-picture. http://fbgrab.monells.se/ diff --git a/package/fbgrab/fbgrab.mk b/package/fbgrab/fbgrab.mk index 4455423126..d81a5ee2a0 100644 --- a/package/fbgrab/fbgrab.mk +++ b/package/fbgrab/fbgrab.mk @@ -7,11 +7,11 @@ FBGRAB_VERSION = 1.3 FBGRAB_SITE = http://fbgrab.monells.se FBGRAB_DEPENDENCIES = libpng -FBGRAB_LICENSE = GPLv2 +FBGRAB_LICENSE = GPL-2.0 FBGRAB_LICENSE_FILES = COPYING define FBGRAB_BUILD_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) fbgrab endef define FBGRAB_INSTALL_TARGET_CMDS diff --git a/package/fbset/Config.in b/package/fbset/Config.in index c3f8d0ba7f..b4ef41f0a4 100644 --- a/package/fbset/Config.in +++ b/package/fbset/Config.in @@ -2,8 +2,9 @@ config BR2_PACKAGE_FBSET bool "fbset" depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS help - Fbset is a system utility to show or change the settings of the frame - buffer device. The frame buffer device provides a simple and unique - interface to access different kinds of graphic displays. + Fbset is a system utility to show or change the settings of + the frame buffer device. The frame buffer device provides a + simple and unique interface to access different kinds of + graphic displays. http://users.telenet.be/geertu/Linux/fbdev/ diff --git a/package/fbset/fbset.mk b/package/fbset/fbset.mk index 16581c4183..d6ee104a22 100644 --- a/package/fbset/fbset.mk +++ b/package/fbset/fbset.mk @@ -7,7 +7,7 @@ FBSET_VERSION = 2.1 FBSET_SITE = http://users.telenet.be/geertu/Linux/fbdev FBSET_DEPENDENCIES = host-bison host-flex -FBSET_LICENSE = GPLv2 +FBSET_LICENSE = GPL-2.0 # Make sure full fbset wins over busybox fbset ifeq ($(BR2_PACKAGE_BUSYBOX),y) diff --git a/package/fbterm/fbterm.mk b/package/fbterm/fbterm.mk index be3cbe24fd..712d4f97fa 100644 --- a/package/fbterm/fbterm.mk +++ b/package/fbterm/fbterm.mk @@ -6,7 +6,7 @@ FBTERM_VERSION = 1.7.0 FBTERM_SITE = https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/fbterm -FBTERM_LICENSE = GPLv2+ +FBTERM_LICENSE = GPL-2.0+ FBTERM_LICENSE_FILES = COPYING FBTERM_DEPENDENCIES = fontconfig liberation diff --git a/package/fbtft/fbtft.mk b/package/fbtft/fbtft.mk index 913627dfc9..b935e741d5 100644 --- a/package/fbtft/fbtft.mk +++ b/package/fbtft/fbtft.mk @@ -6,6 +6,6 @@ FBTFT_VERSION = 274035404701245e7491c0c6471c5b72ade4d491 FBTFT_SITE = $(call github,notro,fbtft,$(FBTFT_VERSION)) -FBTFT_LICENSE = GPLv2 +FBTFT_LICENSE = GPL-2.0 $(eval $(generic-package)) diff --git a/package/fbv/Config.in b/package/fbv/Config.in index 3160a85552..2206276334 100644 --- a/package/fbv/Config.in +++ b/package/fbv/Config.in @@ -1,9 +1,9 @@ config BR2_PACKAGE_FBV bool "fbv" help - fbv is a very simple graphic file viewer for the framebuffer console, - capable of displaying GIF, JPEG, PNG and BMP files using libungif, - libjpeg and libpng. + fbv is a very simple graphic file viewer for the framebuffer + console, capable of displaying GIF, JPEG, PNG and BMP files + using libungif, libjpeg and libpng. http://freshmeat.net/projects/fbv/ diff --git a/package/fbv/fbv.mk b/package/fbv/fbv.mk index d12b9f455f..a69e4ad518 100644 --- a/package/fbv/fbv.mk +++ b/package/fbv/fbv.mk @@ -7,7 +7,7 @@ FBV_VERSION = 1.0b FBV_SITE = http://s-tech.elsat.net.pl/fbv -FBV_LICENSE = GPLv2 +FBV_LICENSE = GPL-2.0 FBV_LICENSE_FILES = COPYING ### image format dependencies and configure options diff --git a/package/fcgiwrap/fcgiwrap.mk b/package/fcgiwrap/fcgiwrap.mk index dd74c1ef72..62c4c1369d 100644 --- a/package/fcgiwrap/fcgiwrap.mk +++ b/package/fcgiwrap/fcgiwrap.mk @@ -10,6 +10,7 @@ FCGIWRAP_DEPENDENCIES = host-pkgconf libfcgi FCGIWRAP_LICENSE = MIT FCGIWRAP_LICENSE_FILES = COPYING FCGIWRAP_AUTORECONF = YES +FCGIWRAP_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -Wno-error" ifeq ($(BR2_PACKAGE_SYSTEMD),y) FCGIWRAP_DEPENDENCIES += systemd diff --git a/package/fconfig/fconfig.mk b/package/fconfig/fconfig.mk index 509fc2c77d..1e6fbb40b4 100644 --- a/package/fconfig/fconfig.mk +++ b/package/fconfig/fconfig.mk @@ -8,7 +8,7 @@ FCONFIG_VERSION = 20080329 # Real upstream location has been disabled # FCONFIG_SITE = http://andrzejekiert.ovh.org/software/fconfig FCONFIG_SITE = http://sources.buildroot.net -FCONFIG_LICENSE = GPLv2+ +FCONFIG_LICENSE = GPL-2.0+ FCONFIG_LICENSE_FILES = fconfig.c define FCONFIG_BUILD_CMDS diff --git a/package/fdk-aac/Config.in b/package/fdk-aac/Config.in index f51c5ab19c..111de41ca4 100644 --- a/package/fdk-aac/Config.in +++ b/package/fdk-aac/Config.in @@ -10,9 +10,9 @@ config BR2_PACKAGE_FDK_AAC depends on BR2_PACKAGE_FDK_AAC_ARCH_SUPPORTS depends on BR2_INSTALL_LIBSTDCPP help - The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") - is software that implements the MPEG Advanced Audio Coding ("AAC") - encoding and decoding scheme for digital audio + The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC + Codec") is software that implements the MPEG Advanced Audio + Coding ("AAC") encoding and decoding scheme for digital audio http://sourceforge.net/projects/opencore-amr/files/fdk-aac/ diff --git a/package/fdk-aac/fdk-aac.hash b/package/fdk-aac/fdk-aac.hash index 28a1eeeb93..cd2e868488 100644 --- a/package/fdk-aac/fdk-aac.hash +++ b/package/fdk-aac/fdk-aac.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 5910fe788677ca13532e3f47b7afaa01d72334d46a2d5e1d1f080f1173ff15ab fdk-aac-0.1.4.tar.gz +sha256 2164592a67b467e5b20fdcdaf5bd4c50685199067391c6fcad4fa5521c9b4dd7 fdk-aac-0.1.5.tar.gz diff --git a/package/fdk-aac/fdk-aac.mk b/package/fdk-aac/fdk-aac.mk index 45a3cf5e57..0c9662ef32 100644 --- a/package/fdk-aac/fdk-aac.mk +++ b/package/fdk-aac/fdk-aac.mk @@ -4,14 +4,11 @@ # ################################################################################ -FDK_AAC_VERSION = 0.1.4 +FDK_AAC_VERSION = 0.1.5 FDK_AAC_SITE = http://downloads.sourceforge.net/project/opencore-amr/fdk-aac FDK_AAC_LICENSE = fdk-aac license FDK_AAC_LICENSE_FILES = NOTICE FDK_AAC_INSTALL_STAGING = YES -# Not compatible with GCC 6 which defaults to GNU++14 -FDK_AAC_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -std=gnu++98" - $(eval $(autotools-package)) diff --git a/package/feh/feh.hash b/package/feh/feh.hash index faca43dbed..f3f7ceddd9 100644 --- a/package/feh/feh.hash +++ b/package/feh/feh.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 a9e818a4ad6ab427597e1799527a7576856c233525e67afb1eb2cb3ae709d853 feh-2.17.1.tar.bz2 +sha256 520481c9908d999f8f7546103b78ff9b11f41d25b0938f0a22f10aaa48beef2b feh-2.21.tar.bz2 diff --git a/package/feh/feh.mk b/package/feh/feh.mk index 03651cdb76..7211dc7bdd 100644 --- a/package/feh/feh.mk +++ b/package/feh/feh.mk @@ -4,7 +4,7 @@ # ################################################################################ -FEH_VERSION = 2.17.1 +FEH_VERSION = 2.21 FEH_SOURCE = feh-$(FEH_VERSION).tar.bz2 FEH_SITE = http://feh.finalrewind.org FEH_DEPENDENCIES = libcurl imlib2 libpng xlib_libXinerama xlib_libXt @@ -12,8 +12,8 @@ FEH_LICENSE = MIT FEH_LICENSE_FILES = COPYING define FEH_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE1) CC="$(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS)" \ - -C $(@D) all + $(TARGET_MAKE_ENV) CFLAGS="$(TARGET_CFLAGS) -std=gnu99" $(MAKE1) \ + CC="$(TARGET_CC) $(TARGET_LDFLAGS)" -C $(@D) all endef define FEH_INSTALL_TARGET_CMDS diff --git a/package/fetchmail/Config.in b/package/fetchmail/Config.in index 1eb0359003..a4bf5a7c20 100644 --- a/package/fetchmail/Config.in +++ b/package/fetchmail/Config.in @@ -1,12 +1,11 @@ config BR2_PACKAGE_FETCHMAIL bool "fetchmail" + depends on BR2_USE_MMU # fork() select BR2_PACKAGE_CA_CERTIFICATES select BR2_PACKAGE_OPENSSL - select BR2_PACKAGE_ZLIB - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE - depends on BR2_USE_MMU # fork() help Fetchmail - the mail-retrieval daemon - Client daemon to move mail from POP and IMAP to your local computer + Client daemon to move mail from POP and IMAP to your local + computer http://www.fetchmail.info/ diff --git a/package/fetchmail/fetchmail.mk b/package/fetchmail/fetchmail.mk index 6aa0a2c918..37bbeabf62 100644 --- a/package/fetchmail/fetchmail.mk +++ b/package/fetchmail/fetchmail.mk @@ -8,12 +8,16 @@ FETCHMAIL_VERSION_MAJOR = 6.3 FETCHMAIL_VERSION = $(FETCHMAIL_VERSION_MAJOR).26 FETCHMAIL_SOURCE = fetchmail-$(FETCHMAIL_VERSION).tar.xz FETCHMAIL_SITE = http://downloads.sourceforge.net/project/fetchmail/branch_$(FETCHMAIL_VERSION_MAJOR) -FETCHMAIL_LICENSE = GPLv2; some exceptions are mentioned in COPYING +FETCHMAIL_LICENSE = GPL-2.0; some exceptions are mentioned in COPYING FETCHMAIL_LICENSE_FILES = COPYING FETCHMAIL_AUTORECONF = YES FETCHMAIL_GETTEXTIZE = YES +# needed to help fetchmail detecting the availability of openssl, +# because it doesn't use pkg-config +ifeq ($(BR2_STATIC_LIBS),y) FETCHMAIL_CONF_ENV += LIBS="-lz" +endif FETCHMAIL_CONF_OPTS = \ --with-ssl=$(STAGING_DIR)/usr @@ -21,7 +25,7 @@ FETCHMAIL_CONF_OPTS = \ FETCHMAIL_DEPENDENCIES = \ ca-certificates \ openssl \ - $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) + $(TARGET_NLS_DEPENDENCIES) # fetchmailconf.py script is not (yet) python3-compliant. # Prevent the pyc-compilation with python-3 from failing by removing this diff --git a/package/ffmpeg/Config.in b/package/ffmpeg/Config.in index ed87ddd492..2d94c5712a 100644 --- a/package/ffmpeg/Config.in +++ b/package/ffmpeg/Config.in @@ -1,15 +1,21 @@ config BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS bool + default y + # fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW + depends on !(BR2_archs38 && BR2_TOOLCHAIN_USES_GLIBC) # fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW on nios2 + depends on !BR2_nios2 # No support for ARMv7-M in the ARM assembly logic + depends on !BR2_ARM_CPU_ARMV7M # Microblaze build affected by gcc PR71124 (infinite loop) + depends on !BR2_microblaze # m68k coldfire causes a build failure, because the check for # atomics (atomic_store) succeeds, which causes ffmpeg to # think atomic intrinsics are available, while they are # not. See https://patchwork.ozlabs.org/patch/756664/ and # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68467 for more # details. - default y if !BR2_nios2 && !BR2_ARM_CPU_ARMV7M && !BR2_microblaze && !BR2_m68k_cf + depends on !BR2_m68k_cf menuconfig BR2_PACKAGE_FFMPEG bool "ffmpeg" diff --git a/package/ffmpeg/disable-rpi-omx-input-zerocopy.patch b/package/ffmpeg/disable-rpi-omx-input-zerocopy.patch new file mode 100644 index 0000000000..6733d8bafc --- /dev/null +++ b/package/ffmpeg/disable-rpi-omx-input-zerocopy.patch @@ -0,0 +1,15 @@ +diff --git a/libavcodec/omx.c b/libavcodec/omx.c +index 19b4f33836..4641dc79e2 100644 +--- a/libavcodec/omx.c ++++ b/libavcodec/omx.c +@@ -644,10 +644,6 @@ static av_cold int omx_encode_init(AVCodecContext *avctx) + OMX_BUFFERHEADERTYPE *buffer; + OMX_ERRORTYPE err; + +-#if CONFIG_OMX_RPI +- s->input_zerocopy = 1; +-#endif +- + s->omx_context = omx_init(avctx, s->libname, s->libprefix); + if (!s->omx_context) + return AVERROR_ENCODER_NOT_FOUND; diff --git a/package/ffmpeg/ffmpeg.hash b/package/ffmpeg/ffmpeg.hash index 42cfeed68e..e986de98ca 100644 --- a/package/ffmpeg/ffmpeg.hash +++ b/package/ffmpeg/ffmpeg.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 98b97e1b908dfeb6aeb6d407e5a5eacdfc253a40c2d195f5867ed2d1d46ea957 ffmpeg-3.3.4.tar.xz +sha256 a893490c3a8a7caaa9c47373b789c0335d0ac3572f2ba61059de842b9e45d802 ffmpeg-3.3.5.tar.xz diff --git a/package/ffmpeg/ffmpeg.mk b/package/ffmpeg/ffmpeg.mk index 801615c077..3ac204f95e 100644 --- a/package/ffmpeg/ffmpeg.mk +++ b/package/ffmpeg/ffmpeg.mk @@ -4,7 +4,7 @@ # ################################################################################ -FFMPEG_VERSION = 3.3.4 +FFMPEG_VERSION = 3.3.5 FFMPEG_SOURCE = ffmpeg-$(FFMPEG_VERSION).tar.xz FFMPEG_SITE = http://ffmpeg.org/releases FFMPEG_INSTALL_STAGING = YES @@ -208,13 +208,13 @@ FFMPEG_CONF_OPTS += --enable-gnutls --disable-openssl FFMPEG_DEPENDENCIES += gnutls else FFMPEG_CONF_OPTS += --disable-gnutls -ifeq ($(BR2_PACKAGE_OPENSSL),y) +ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) # openssl isn't license compatible with GPL ifeq ($(BR2_PACKAGE_FFMPEG_GPL)x$(BR2_PACKAGE_FFMPEG_NONFREE),yx) FFMPEG_CONF_OPTS += --disable-openssl else FFMPEG_CONF_OPTS += --enable-openssl -FFMPEG_DEPENDENCIES += openssl +FFMPEG_DEPENDENCIES += libopenssl endif else FFMPEG_CONF_OPTS += --disable-openssl diff --git a/package/fftw/Config.in b/package/fftw/Config.in index ef1138493f..d51f8f3c51 100644 --- a/package/fftw/Config.in +++ b/package/fftw/Config.in @@ -33,15 +33,15 @@ config BR2_PACKAGE_FFTW_PRECISION_SINGLE select BR2_PACKAGE_FFTW_USE_SSE2 if BR2_X86_CPU_HAS_SSE2 select BR2_PACKAGE_FFTW_USE_NEON if BR2_ARM_CPU_HAS_NEON && !BR2_ARM_SOFT_FLOAT help - Compile fftw in single precision, i.e. use 'float' for floating - point type. + Compile fftw in single precision, i.e. use 'float' for + floating point type. config BR2_PACKAGE_FFTW_PRECISION_DOUBLE bool "double" select BR2_PACKAGE_FFTW_USE_SSE2 if BR2_X86_CPU_HAS_SSE2 help - Compile fftw in double precision (the default), i.e. use 'double' - for floating point type. + Compile fftw in double precision (the default), i.e. use + 'double' for floating point type. config BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE bool "long double" diff --git a/package/fftw/fftw.hash b/package/fftw/fftw.hash index 62b8f0f0d4..b00f447e06 100644 --- a/package/fftw/fftw.hash +++ b/package/fftw/fftw.hash @@ -1,2 +1,4 @@ -# From http://www.fftw.org/fftw-3.3.4.tar.gz.md5sum -md5 2edab8c06b24feeb3b82bbb3ebf3e7b3 fftw-3.3.4.tar.gz +# From http://www.fftw.org/fftw-3.3.6-pl2.tar.gz.md5sum +md5 927e481edbb32575397eb3d62535a856 fftw-3.3.6-pl2.tar.gz +# Locally computed +sha256 a5de35c5c824a78a058ca54278c706cdf3d4abba1c56b63531c2cb05f5d57da2 fftw-3.3.6-pl2.tar.gz diff --git a/package/fftw/fftw.mk b/package/fftw/fftw.mk index 5bd39a8ff2..0f32f7958b 100644 --- a/package/fftw/fftw.mk +++ b/package/fftw/fftw.mk @@ -4,10 +4,10 @@ # ################################################################################ -FFTW_VERSION = 3.3.4 +FFTW_VERSION = 3.3.6-pl2 FFTW_SITE = http://www.fftw.org FFTW_INSTALL_STAGING = YES -FFTW_LICENSE = GPLv2+ +FFTW_LICENSE = GPL-2.0+ FFTW_LICENSE_FILES = COPYING # fortran support only enables generation and installation of fortran sources diff --git a/package/ficl/Config.in b/package/ficl/Config.in index 3445a6428f..4d9ab4a5bf 100644 --- a/package/ficl/Config.in +++ b/package/ficl/Config.in @@ -1,9 +1,9 @@ config BR2_PACKAGE_FICL bool "ficl" help - Ficl is a programming language interpreter designed to be embedded - into other systems as a command, macro, and development - prototyping language. + Ficl is a programming language interpreter designed to be + embedded into other systems as a command, macro, and + development prototyping language. Ficl is an acronym for "Forth Inspired Command Language". http://ficl.sourceforge.net diff --git a/package/ficl/ficl.mk b/package/ficl/ficl.mk index 65df146785..af900fa2cf 100644 --- a/package/ficl/ficl.mk +++ b/package/ficl/ficl.mk @@ -7,7 +7,7 @@ FICL_VERSION_MAJOR = 4.1 FICL_VERSION = $(FICL_VERSION_MAJOR).0 FICL_SITE = http://downloads.sourceforge.net/project/ficl/ficl-all/ficl$(FICL_VERSION_MAJOR) -FICL_LICENSE = BSD-2c +FICL_LICENSE = BSD-2-Clause FICL_LICENSE_FILES = ReadMe.txt FICL_INSTALL_STAGING = YES @@ -39,7 +39,7 @@ endif define FICL_BUILD_CMDS $(MAKE) -C $(@D) -f Makefile.linux $(TARGET_CONFIGURE_OPTS) \ - CFLAGS="$(TARGET_CFLAGS) -fPIC -I. -Dlinux" CPPFLAGS="" $(FICL_BUILD_TARGETS) + CFLAGS="$(TARGET_CFLAGS) -fgnu89-inline -fPIC -I. -Dlinux" CPPFLAGS="" $(FICL_BUILD_TARGETS) endef define FICL_INSTALL_STAGING_CMDS diff --git a/package/file/file.hash b/package/file/file.hash index 9a4c9f1197..fee516c8e2 100644 --- a/package/file/file.hash +++ b/package/file/file.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 ea661277cd39bf8f063d3a83ee875432cc3680494169f952787e002bdd3884c0 file-5.29.tar.gz +sha256 8639dc4d1b21e232285cd483604afc4a6ee810710e00e579dbe9591681722b50 file-5.32.tar.gz diff --git a/package/file/file.mk b/package/file/file.mk index 39d1781ff0..df0e0f0eb9 100644 --- a/package/file/file.mk +++ b/package/file/file.mk @@ -4,13 +4,13 @@ # ################################################################################ -FILE_VERSION = 5.29 +FILE_VERSION = 5.32 FILE_SITE = ftp://ftp.astron.com/pub/file FILE_DEPENDENCIES = host-file zlib HOST_FILE_DEPENDENCIES = host-zlib FILE_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' FILE_INSTALL_STAGING = YES -FILE_LICENSE = BSD-2c, BSD-4c (one file), BSD-3c (one file) +FILE_LICENSE = BSD-2-Clause, BSD-4-Clause (one file), BSD-3-Clause (one file) FILE_LICENSE_FILES = COPYING src/mygetopt.h src/vasprintf.c $(eval $(autotools-package)) diff --git a/package/filemq/Config.in b/package/filemq/Config.in index e06a267469..b4720c1d4c 100644 --- a/package/filemq/Config.in +++ b/package/filemq/Config.in @@ -1,11 +1,11 @@ config BR2_PACKAGE_FILEMQ bool "filemq" - select BR2_PACKAGE_OPENSSL - select BR2_PACKAGE_CZMQ - select BR2_PACKAGE_ZEROMQ depends on BR2_INSTALL_LIBSTDCPP # zeromq depends on BR2_TOOLCHAIN_HAS_THREADS # zeromq depends on BR2_USE_MMU # czmq + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_CZMQ + select BR2_PACKAGE_ZEROMQ help FileMQ is a publish-subscribe file service based on 0MQ. diff --git a/package/filemq/filemq.hash b/package/filemq/filemq.hash index 1a7997ede2..d1df1ff2a9 100644 --- a/package/filemq/filemq.hash +++ b/package/filemq/filemq.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 c373eddd5154cfe63f6cc6b3255ec20dca1f70c1f1881b611930931df47babad filemq-e59951489045825d6fc5bdc6a5a5ecf1abf51943.tar.gz +sha256 f3764e1adacfbf7fd09fb9c553e796a80d8159f1ace689fb68307afbc1746d4c filemq-8940f34e0f1c8f25c1c693ed8db069f58fbc5ad0.tar.gz diff --git a/package/filemq/filemq.mk b/package/filemq/filemq.mk index d57208ec72..75d8bd992c 100644 --- a/package/filemq/filemq.mk +++ b/package/filemq/filemq.mk @@ -4,15 +4,15 @@ # ################################################################################ -FILEMQ_VERSION = e59951489045825d6fc5bdc6a5a5ecf1abf51943 +FILEMQ_VERSION = 8940f34e0f1c8f25c1c693ed8db069f58fbc5ad0 FILEMQ_SITE = $(call github,zeromq,filemq,$(FILEMQ_VERSION)) FILEMQ_AUTORECONF = YES FILEMQ_CONF_ENV = filemq_have_asciidoc=no FILEMQ_INSTALL_STAGING = YES FILEMQ_DEPENDENCIES = czmq openssl zeromq -FILEMQ_LICENSE = LGPLv3+ with exceptions -FILEMQ_LICENSE_FILES = COPYING COPYING.LESSER +FILEMQ_LICENSE = MPL-2.0 +FILEMQ_LICENSE_FILES = LICENSE define FILEMQ_CREATE_CONFIG_DIR mkdir -p $(@D)/config diff --git a/package/findutils/findutils.mk b/package/findutils/findutils.mk index 8f6b099065..6ca0062987 100644 --- a/package/findutils/findutils.mk +++ b/package/findutils/findutils.mk @@ -6,7 +6,7 @@ FINDUTILS_VERSION = 4.6.0 FINDUTILS_SITE = $(BR2_GNU_MIRROR)/findutils -FINDUTILS_LICENSE = GPLv3+ +FINDUTILS_LICENSE = GPL-3.0+ FINDUTILS_LICENSE_FILES = COPYING FINDUTILS_CONF_ENV = \ gl_cv_func_stdin=yes \ diff --git a/package/fio/Config.in b/package/fio/Config.in index 89f54f99a2..8da227db7c 100644 --- a/package/fio/Config.in +++ b/package/fio/Config.in @@ -4,12 +4,6 @@ config BR2_PACKAGE_FIO depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_TOOLCHAIN_HAS_THREADS - # fio uses posix_madvise(), which is not part of any official - # release of uClibc, but is part of uClibc Git, and backported - # in Buildroot patch set of uClibc 0.9.33. Therefore, we - # disable the build of fio for external uClibc toolchains - # (which use an unknown uClibc version) - depends on !BR2_TOOLCHAIN_EXTERNAL_UCLIBC # fio uses fallocate() which becomes fallocate64() while compiling with # largefile support, but fallocate64() is not available on nios2 depends on !BR2_nios2 diff --git a/package/fio/fio.hash b/package/fio/fio.hash new file mode 100644 index 0000000000..7eb08140c5 --- /dev/null +++ b/package/fio/fio.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 1952db4d534221e6e8454f851dfcc38328b0ed4a3f499ea25a51ca2b5ccc8136 fio-fio-2.20.tar.gz diff --git a/package/fio/fio.mk b/package/fio/fio.mk index 5c02bc92ee..c109f0795c 100644 --- a/package/fio/fio.mk +++ b/package/fio/fio.mk @@ -4,9 +4,9 @@ # ################################################################################ -FIO_VERSION = fio-2.13 +FIO_VERSION = fio-2.20 FIO_SITE = git://git.kernel.dk/fio.git -FIO_LICENSE = GPLv2 + special obligations +FIO_LICENSE = GPL-2.0 + special obligations FIO_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_LIBAIO),y) diff --git a/package/fis/fis.mk b/package/fis/fis.mk index 876b127268..6d3a227183 100644 --- a/package/fis/fis.mk +++ b/package/fis/fis.mk @@ -7,7 +7,7 @@ FIS_SITE = http://svn.chezphil.org/utils/trunk FIS_SITE_METHOD = svn FIS_VERSION = 2892 -FIS_LICENSE = GPLv2+ +FIS_LICENSE = GPL-2.0+ FIS_LICENSE_FILES = fis.c define FIS_BUILD_CMDS diff --git a/package/flac/flac.mk b/package/flac/flac.mk index 43e0410df5..34482133d9 100644 --- a/package/flac/flac.mk +++ b/package/flac/flac.mk @@ -9,7 +9,7 @@ FLAC_SITE = http://downloads.xiph.org/releases/flac FLAC_SOURCE = flac-$(FLAC_VERSION).tar.xz FLAC_INSTALL_STAGING = YES FLAC_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBICONV),libiconv) -FLAC_LICENSE = Xiph BSD-like (libFLAC), GPLv2+ (tools), LGPLv2.1+ (other libraries) +FLAC_LICENSE = Xiph BSD-like (libFLAC), GPL-2.0+ (tools), LGPL-2.1+ (other libraries) FLAC_LICENSE_FILES = COPYING.Xiph COPYING.GPL COPYING.LGPL # 0001-configure.ac-relax-linux-OS-detection.patch patches configure.ac FLAC_AUTORECONF = YES diff --git a/package/flann/flann.hash b/package/flann/flann.hash index 08242eb2de..c2c41beb02 100644 --- a/package/flann/flann.hash +++ b/package/flann/flann.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 3fec86866987c792c3fce7ecc8ba9d09a003f5d2d1a1ad94864550aad73a5c0b flann-3645f0c30a47267e56e5acdecfc7bac2b76bc3d5.tar.gz +sha256 b23b5f4e71139faa3bcb39e6bbcc76967fbaf308c4ee9d4f5bfbeceaa76cc5d3 flann-1.9.1.tar.gz diff --git a/package/flann/flann.mk b/package/flann/flann.mk index af86a02f04..e777fd8b2e 100644 --- a/package/flann/flann.mk +++ b/package/flann/flann.mk @@ -4,10 +4,10 @@ # ################################################################################ -FLANN_VERSION = 3645f0c30a47267e56e5acdecfc7bac2b76bc3d5 +FLANN_VERSION = 1.9.1 FLANN_SITE = $(call github,mariusmuja,flann,$(FLANN_VERSION)) FLANN_INSTALL_STAGING = YES -FLANN_LICENSE = BSD-3c +FLANN_LICENSE = BSD-3-Clause FLANN_LICENSE_FILES = COPYING FLANN_CONF_OPTS = \ -DBUILD_C_BINDINGS=ON \ diff --git a/package/flannel/flannel.mk b/package/flannel/flannel.mk index 18c0af1605..bbb2c72a72 100644 --- a/package/flannel/flannel.mk +++ b/package/flannel/flannel.mk @@ -20,7 +20,7 @@ FLANNEL_MAKE_ENV = \ CGO_ENABLED=1 FLANNEL_GLDFLAGS = \ - -X github.com/coreos/flannel/version.Version=$(FLANNEL_VERSION) \ + -X github.com/coreos/flannel/version.Version=$(FLANNEL_VERSION) ifeq ($(BR2_STATIC_LIBS),y) FLANNEL_GLDFLAGS += -extldflags '-static' @@ -33,7 +33,7 @@ define FLANNEL_CONFIGURE_CMDS endef define FLANNEL_BUILD_CMDS - cd $(@D) && $(FLANNEL_MAKE_ENV) $(HOST_DIR)/usr/bin/go \ + cd $(@D) && $(FLANNEL_MAKE_ENV) $(HOST_DIR)/bin/go \ build -v -o $(@D)/bin/flanneld -ldflags "$(FLANNEL_GLDFLAGS)" . endef diff --git a/package/flashbench/flashbench.hash b/package/flashbench/flashbench.hash new file mode 100644 index 0000000000..a5eb388c8d --- /dev/null +++ b/package/flashbench/flashbench.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 12e2dcb6f041ef1a303fc5bc84642ed637c24d77ed6c667a2187f21d54555731 flashbench-2e30b1968a66147412f21002ea844122a0d5e2f0.tar.gz diff --git a/package/flashbench/flashbench.mk b/package/flashbench/flashbench.mk index 6759338a2e..cbcf9ea2d1 100644 --- a/package/flashbench/flashbench.mk +++ b/package/flashbench/flashbench.mk @@ -6,7 +6,7 @@ FLASHBENCH_VERSION = 2e30b1968a66147412f21002ea844122a0d5e2f0 FLASHBENCH_SITE = git://git.linaro.org/people/arnd/flashbench.git -FLASHBENCH_LICENSE = GPLv2 +FLASHBENCH_LICENSE = GPL-2.0 FLASHBENCH_LICENSE_FILES = COPYING FLASHBENCH_CFLAGS = $(TARGET_CFLAGS) diff --git a/package/flashrom/0002-sys-io.h.patch b/package/flashrom/0002-sys-io.h.patch deleted file mode 100644 index 8d990c6f91..0000000000 --- a/package/flashrom/0002-sys-io.h.patch +++ /dev/null @@ -1,27 +0,0 @@ -hwaccess: sys/io.h is not specific to glibc - -Under Linux, sys/io.h provides inb and outb, so we really need it. -However, its inclusion is conditional to the _GLIBC_ define. This is -usually OK under Linux, since both glibc and uClibc define it (uclibc -fakes being glibc). - -But the musl C library does not impersonate glibc, so we're missing -including sys/io.h in this case. - -Change the include from checking _GLIBC_ to checking whether this is -Linux, looking for the __linux__ define. - -Signed-off-by: "Yann E. MORIN" - -diff -durN flashrom-0.9.8.orig/hwaccess.h flashrom-0.9.8/hwaccess.h ---- flashrom-0.9.8.orig/hwaccess.h 2015-02-10 09:03:10.000000000 +0100 -+++ flashrom-0.9.8/hwaccess.h 2015-10-28 20:01:54.259202484 +0100 -@@ -27,7 +27,7 @@ - #include "platform.h" - - #if IS_X86 --#if defined(__GLIBC__) -+#if defined(__linux__) - #include - #endif - #endif diff --git a/package/flashrom/Config.in b/package/flashrom/Config.in index adc068cbfa..e7844a0a62 100644 --- a/package/flashrom/Config.in +++ b/package/flashrom/Config.in @@ -1,13 +1,13 @@ config BR2_PACKAGE_FLASHROM bool "flashrom" + depends on BR2_i386 || BR2_x86_64 + depends on BR2_TOOLCHAIN_HAS_THREADS # libusb select BR2_PACKAGE_PCIUTILS select BR2_PACKAGE_LIBUSB select BR2_PACKAGE_LIBUSB_COMPAT select BR2_PACKAGE_LIBFTDI # dmidecode is only a runtime dependency select BR2_PACKAGE_DMIDECODE - depends on BR2_i386 || BR2_x86_64 - depends on BR2_TOOLCHAIN_HAS_THREADS # libusb help flashrom is a utility for identifying, reading, writing, verifying and erasing flash chips. It is designed to flash diff --git a/package/flashrom/flashrom.hash b/package/flashrom/flashrom.hash index a2168699f3..64b67b99cf 100644 --- a/package/flashrom/flashrom.hash +++ b/package/flashrom/flashrom.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 13dc7c895e583111ecca370363a3527d237d178a134a94b20db7df177c05f934 flashrom-0.9.8.tar.bz2 +sha256 cb3156b0f63eb192024b76c0814135930297aac41f80761a5d293de769783c45 flashrom-0.9.9.tar.bz2 diff --git a/package/flashrom/flashrom.mk b/package/flashrom/flashrom.mk index 7e0fcf27b3..f9ab6294a5 100644 --- a/package/flashrom/flashrom.mk +++ b/package/flashrom/flashrom.mk @@ -4,15 +4,16 @@ # ################################################################################ -FLASHROM_VERSION = 0.9.8 +FLASHROM_VERSION = 0.9.9 FLASHROM_SOURCE = flashrom-$(FLASHROM_VERSION).tar.bz2 FLASHROM_SITE = http://download.flashrom.org/releases FLASHROM_DEPENDENCIES = pciutils libusb libusb-compat libftdi host-pkgconf -FLASHROM_LICENSE = GPLv2+ +FLASHROM_LICENSE = GPL-2.0+ FLASHROM_LICENSE_FILES = COPYING define FLASHROM_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \ + CFLAGS="$(TARGET_CFLAGS) -DHAVE_STRNLEN" -C $(@D) endef define FLASHROM_INSTALL_TARGET_CMDS diff --git a/package/flex/0001-build-AC_USE_SYSTEM_EXTENSIONS-in-configure.ac.patch b/package/flex/0001-build-AC_USE_SYSTEM_EXTENSIONS-in-configure.ac.patch new file mode 100644 index 0000000000..06747a36e1 --- /dev/null +++ b/package/flex/0001-build-AC_USE_SYSTEM_EXTENSIONS-in-configure.ac.patch @@ -0,0 +1,35 @@ +From ffa886a580929f26fd5e5a40c9c5334955c48553 Mon Sep 17 00:00:00 2001 +From: Explorer09 +Date: Mon, 4 Sep 2017 10:47:33 +0800 +Subject: [PATCH] build: AC_USE_SYSTEM_EXTENSIONS in configure.ac. + +This would, e.g. define _GNU_SOURCE in config.h, enabling the +reallocarray() prototype in glibc 2.26+ on Linux systems with that +version of glibc. + +Fixes #241. + +Backported from: 24fd0551333e7eded87b64dd36062da3df2f6380 +Signed-off-by: Adrian Perez de Castro +--- + configure.ac | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 55e774b..c879fe1 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -25,8 +25,10 @@ + # autoconf requirements and initialization + + AC_INIT([the fast lexical analyser generator],[2.6.4],[flex-help@lists.sourceforge.net],[flex]) ++AC_PREREQ([2.60]) + AC_CONFIG_SRCDIR([src/scan.l]) + AC_CONFIG_AUX_DIR([build-aux]) ++AC_USE_SYSTEM_EXTENSIONS + LT_INIT + AM_INIT_AUTOMAKE([1.11.3 -Wno-portability foreign check-news std-options dist-lzip parallel-tests subdir-objects]) + AC_CONFIG_HEADER([src/config.h]) +-- +2.14.1 + diff --git a/package/flex/0001-prog-ar.patch b/package/flex/0001-prog-ar.patch deleted file mode 100644 index e0626ff95f..0000000000 --- a/package/flex/0001-prog-ar.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -rup flex-2.5.33.orig/Makefile.in flex-2.5.33/Makefile.in ---- flex-2.5.33.orig/Makefile.in 2007-01-18 17:29:25.000000000 +0100 -+++ flex-2.5.33/Makefile.in 2007-01-18 18:28:22.000000000 +0100 -@@ -105,7 +105,6 @@ am__installdirs = "$(DESTDIR)$(libdir)" - "$(DESTDIR)$(includedir)" - libLIBRARIES_INSTALL = $(INSTALL_DATA) - LIBRARIES = $(lib_LIBRARIES) --AR = ar - ARFLAGS = cru - libfl_a_AR = $(AR) $(ARFLAGS) - libfl_a_LIBADD = diff --git a/package/flex/0002-build-make-it-possible-to-disable-the-build-of-the-f.patch b/package/flex/0002-build-make-it-possible-to-disable-the-build-of-the-f.patch new file mode 100644 index 0000000000..19f5a772c5 --- /dev/null +++ b/package/flex/0002-build-make-it-possible-to-disable-the-build-of-the-f.patch @@ -0,0 +1,76 @@ +From da21733178b34eea303964db5a05e8a3ee4095b4 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 26 Aug 2017 15:17:06 +0200 +Subject: [PATCH] build: make it possible to disable the build of the flex + program + +The flex program uses fork(), which isn't available on noMMU +systems. However, the libfl library does not use fork(), and be used +by other programs/libraries. + +Therefore, it makes sense to provide an option to disable the build of +the flex program. + +Signed-off-by: Thomas Petazzoni +Signed-off-by: "Yann E. MORIN" + +--- +Submitted-upstream: https://github.com/westes/flex/pull/256 +Refused. We'll have to adapt when they do a new release... +--- + Makefile.am | 2 ++ + configure.ac | 6 ++++++ + doc/Makefile.am | 4 ++++ + src/Makefile.am | 3 +++ + 4 files changed, 15 insertions(+) + +diff --git a/Makefile.am b/Makefile.am +index e790e9d..8b57bc9 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -62,8 +62,10 @@ ChangeLog: $(srcdir)/tools/git2cl + indent: + cd src && $(MAKE) $(AM_MAKEFLAGS) indent + ++if ENABLE_PROGRAM + install-exec-hook: + cd $(DESTDIR)$(bindir) && \ + $(LN_S) -f flex$(EXEEXT) flex++$(EXEEXT) ++endif + + .PHONY: ChangeLog indent +diff --git a/configure.ac b/configure.ac +index 8882016..f49872b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -75,6 +75,12 @@ AC_ARG_ENABLE([libfl], + [], [enable_libfl=yes]) + AM_CONDITIONAL([ENABLE_LIBFL], [test "x$enable_libfl" = xyes]) + ++AC_ARG_ENABLE([program], ++ [AS_HELP_STRING([--disable-program], ++ [do not build the flex program, only the libfl library])], ++ [], [enable_program=yes]) ++AM_CONDITIONAL([ENABLE_PROGRAM], [test "x$enable_program" = xyes]) ++ + # --disable-bootstrap is intended only to workaround problems with bootstrap + # (e.g. when cross-compiling flex or when bootstrapping has bugs). + # Ideally we should be able to bootstrap even when cross-compiling. +diff --git a/src/Makefile.am b/src/Makefile.am +index 0d13a5a..c73bc17 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -4,7 +4,10 @@ LIBS = @LIBS@ + + m4 = @M4@ + ++if ENABLE_PROGRAM + bin_PROGRAMS = flex ++endif ++ + if ENABLE_BOOTSTRAP + noinst_PROGRAMS = stage1flex + endif +-- +2.9.4 + diff --git a/package/flex/0002-fix-CVE-2016-6354.patch b/package/flex/0002-fix-CVE-2016-6354.patch deleted file mode 100644 index b0c780b993..0000000000 --- a/package/flex/0002-fix-CVE-2016-6354.patch +++ /dev/null @@ -1,25 +0,0 @@ -From a5cbe929ac3255d371e698f62dc256afe7006466 Mon Sep 17 00:00:00 2001 -From: Will Estes -Date: Sat, 27 Feb 2016 11:56:05 -0500 -Subject: [PATCH] Fixed incorrect integer type - -Signed-off-by: Gustavo Zacarias ---- -Status: upstream - - flex.skl | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/flex.skl b/src/flex.skl -index 36a526a..64f853d 100644 ---- a/flex.skl -+++ b/flex.skl -@@ -1703,7 +1703,7 @@ int yyFlexLexer::yy_get_next_buffer() - - else - { -- yy_size_t num_to_read = -+ int num_to_read = - YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; - - while ( num_to_read <= 0 ) diff --git a/package/flex/0003-build-make-it-possible-to-disable-the-build-of-the-d.patch b/package/flex/0003-build-make-it-possible-to-disable-the-build-of-the-d.patch new file mode 100644 index 0000000000..ffe30d367f --- /dev/null +++ b/package/flex/0003-build-make-it-possible-to-disable-the-build-of-the-d.patch @@ -0,0 +1,58 @@ +From b89b8475a5b2f9444c32f7d254b35968da3c8a23 Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" +Date: Fri, 29 Sep 2017 18:03:51 +0200 +Subject: [PATCH] build: make it possible to disable the build of the + documentation + +When targetting embedded evices, the documentation is not needed. + +Building the documentation default to whether the program is built. + +Signed-off-by: "Yann E. MORIN" +Cc: Thomas Petazzoni +--- + Makefile.am | 8 +++++++- + configure.ac | 6 ++++++ + 2 files changed, 13 insertions(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index fce30b2..ee75b64 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -41,9 +41,15 @@ EXTRA_DIST = \ + .indent.pro \ + autogen.sh + ++MAYBE_SUBDIRS = ++ ++if ENABLE_DOC ++MAYBE_SUBDIRS += doc ++endif ++ + SUBDIRS = \ + src \ +- doc \ ++ $(MAYBE_SUBDIRS) \ + examples \ + po \ + tests \ +diff --git a/configure.ac b/configure.ac +index c54e98f..b3ae450 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -80,6 +80,12 @@ AC_ARG_ENABLE([program], + [], [enable_program=yes]) + AM_CONDITIONAL([ENABLE_PROGRAM], [test "x$enable_program" = xyes]) + ++AC_ARG_ENABLE([doc], ++ [AS_HELP_STRING([--disable-doc], ++ [do not build the documentation])], ++ [], [enable_doc=${enable_program}]) ++AM_CONDITIONAL([ENABLE_DOC], [test "x$enable_doc" = xyes -a "x$enable_program" = xyes]) ++ + # --disable-bootstrap is intended only to workaround problems with bootstrap + # (e.g. when cross-compiling flex or when bootstrapping has bugs). + # Ideally we should be able to bootstrap even when cross-compiling. +-- +2.11.0 + diff --git a/package/flex/Config.in b/package/flex/Config.in index 0a70a1c69e..0690777afd 100644 --- a/package/flex/Config.in +++ b/package/flex/Config.in @@ -1,8 +1,9 @@ config BR2_PACKAGE_FLEX bool "flex" - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE help A fast lexical analyser generator. A tool for generating programs that perform pattern-matching on text. - http://flex.sourceforge.net/ + Only the library is available. + + https://github.com/westes/flex/ diff --git a/package/flex/flex.hash b/package/flex/flex.hash index b91ab57d98..ee90573902 100644 --- a/package/flex/flex.hash +++ b/package/flex/flex.hash @@ -1,2 +1,4 @@ # Locally computed: -sha256 bf693433a3effe6b1f42e44abd787491e4e213984b1859545b92267a86088dd3 flex-2.5.37.tar.gz +sha256 e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995 flex-2.6.4.tar.gz +# License files, locally calculated +sha256 97fd685958d93be7f8dab939bb8161dbd6afb0718c63bfc337c24321aea44273 COPYING diff --git a/package/flex/flex.mk b/package/flex/flex.mk index 9a3f840b11..6ce768c318 100644 --- a/package/flex/flex.mk +++ b/package/flex/flex.mk @@ -4,27 +4,28 @@ # ################################################################################ -FLEX_VERSION = 2.5.37 -FLEX_SITE = http://download.sourceforge.net/project/flex +FLEX_VERSION = 2.6.4 +FLEX_SITE = https://github.com/westes/flex/files/981163 FLEX_INSTALL_STAGING = YES FLEX_LICENSE = FLEX FLEX_LICENSE_FILES = COPYING -FLEX_DEPENDENCIES = \ - $(if $(BR2_PACKAGE_GETTEXT_IF_LOCALE),gettext) host-m4 -FLEX_CONF_ENV = ac_cv_path_M4=/usr/bin/m4 -# we don't have a host-gettext/libintl +FLEX_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) host-m4 HOST_FLEX_DEPENDENCIES = host-m4 -define FLEX_DISABLE_PROGRAM - $(SED) 's/^bin_PROGRAMS.*//' $(@D)/Makefile.in -endef -FLEX_POST_PATCH_HOOKS += FLEX_DISABLE_PROGRAM +# 0001-build-AC_USE_SYSTEM_EXTENSIONS-in-configure.ac.patch +# 0002-build-make-it-possible-to-disable-the-build-of-the-f.patch +# 0003-build-make-it-possible-to-disable-the-build-of-the-d.patch +FLEX_AUTORECONF = YES +FLEX_GETTEXTIZE = YES +FLEX_CONF_ENV = ac_cv_path_M4=/usr/bin/m4 \ + ac_cv_func_reallocarray=no -# flex++ symlink is broken when flex binary is not installed -define FLEX_REMOVE_BROKEN_SYMLINK - rm -f $(TARGET_DIR)/usr/bin/flex++ -endef -FLEX_POST_INSTALL_TARGET_HOOKS += FLEX_REMOVE_BROKEN_SYMLINK +# Don't enable programs, they are not needed on the target, and +# require MMU support. +# Don't enable the doc, it's not needed on the target and requires +# special tools (help2man) to build. +FLEX_CONF_OPTS += --disable-program --disable-doc +HOST_FLEX_CONF_OPTS = --disable-doc $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/flickcurl/flickcurl.mk b/package/flickcurl/flickcurl.mk index ce836f765c..610b81f4d4 100644 --- a/package/flickcurl/flickcurl.mk +++ b/package/flickcurl/flickcurl.mk @@ -6,7 +6,7 @@ FLICKCURL_VERSION = 1.26 FLICKCURL_SITE = http://download.dajobe.org/flickcurl -FLICKCURL_LICENSE = LGPLv2.1+ or GPLv2+ or Apache 2.0+ +FLICKCURL_LICENSE = LGPL-2.1+ or GPL-2.0+ or Apache-2.0+ FLICKCURL_LICENSE_FILES = COPYING COPYING.LIB LICENSE-2.0.txt LICENSE.html FLICKCURL_INSTALL_STAGING = YES FLICKCURL_CONFIG_SCRIPTS = flickcurl-config diff --git a/package/flite/flite.hash b/package/flite/flite.hash index e4dd0c633b..67d6941ea2 100644 --- a/package/flite/flite.hash +++ b/package/flite/flite.hash @@ -1,2 +1,4 @@ # locally computed hash sha256 45c662160aeca6560589f78daf42ab62c6111dd4d244afc28118c4e6f553cd0c flite-1.4-release.tar.bz2 +# License files, locally calculated +sha256 4cbeaee8c9a8f23f251f0ce56e9212d244d9ea6b0dbe48601623d920054249a1 flite-1.4-release/COPYING diff --git a/package/flite/flite.mk b/package/flite/flite.mk index 611e33452a..72376e56c2 100644 --- a/package/flite/flite.mk +++ b/package/flite/flite.mk @@ -24,7 +24,7 @@ FLITE_SITE = http://www.speech.cs.cmu.edu/flite/packed/flite-$(FLITE_VERSION) # build in flite-1.4-release/ FLITE_STRIP_COMPONENTS = 0 FLITE_SUBDIR = flite-$(FLITE_VERSION)-release -FLITE_LICENSE = BSD-4c +FLITE_LICENSE = BSD-4-Clause FLITE_LICENSE_FILES = $(FLITE_SUBDIR)/COPYING FLITE_INSTALL_STAGING = YES diff --git a/package/flot/Config.in b/package/flot/Config.in index 4c0d3ec334..404487202c 100644 --- a/package/flot/Config.in +++ b/package/flot/Config.in @@ -44,7 +44,8 @@ config BR2_PACKAGE_FLOT_ERRORBARS config BR2_PACKAGE_FLOT_FILLBETWEEN bool "fillbetween" help - Flot plugin for computing bottoms for filled line and bar charts + Flot plugin for computing bottoms for filled line and bar + charts config BR2_PACKAGE_FLOT_IMAGE bool "image" @@ -54,7 +55,8 @@ config BR2_PACKAGE_FLOT_IMAGE config BR2_PACKAGE_FLOT_NAVIGATE bool "navigate" help - Flot plugin for adding panning and zooming capabilities to a plot + Flot plugin for adding panning and zooming capabilities to a + plot config BR2_PACKAGE_FLOT_PIE bool "pie" diff --git a/package/fltk/0002-jpeg-9.patch b/package/fltk/0002-jpeg-9.patch deleted file mode 100644 index 11ae85ee28..0000000000 --- a/package/fltk/0002-jpeg-9.patch +++ /dev/null @@ -1,26 +0,0 @@ -From http://www.fltk.org/str.php?L2920 -However it's not yet applied apparently until bundled jpeg is upgraded. - -Signed-off-by: Gustavo Zacarias - -diff -Nura fltk-1.3.2.orig/src/Fl_JPEG_Image.cxx fltk-1.3.2/src/Fl_JPEG_Image.cxx ---- fltk-1.3.2.orig/src/Fl_JPEG_Image.cxx 2014-07-03 12:56:27.731197463 -0300 -+++ fltk-1.3.2/src/Fl_JPEG_Image.cxx 2014-07-03 12:56:57.907218257 -0300 -@@ -155,7 +155,7 @@ - - jpeg_create_decompress(&dinfo); - jpeg_stdio_src(&dinfo, fp); -- jpeg_read_header(&dinfo, 1); -+ jpeg_read_header(&dinfo, TRUE); - - dinfo.quantize_colors = (boolean)FALSE; - dinfo.out_color_space = JCS_RGB; -@@ -333,7 +333,7 @@ - - jpeg_create_decompress(&dinfo); - jpeg_mem_src(&dinfo, data); -- jpeg_read_header(&dinfo, 1); -+ jpeg_read_header(&dinfo, TRUE); - - dinfo.quantize_colors = (boolean)FALSE; - dinfo.out_color_space = JCS_RGB; diff --git a/package/fltk/fltk.hash b/package/fltk/fltk.hash index 7b9b67dcfb..af968aac75 100644 --- a/package/fltk/fltk.hash +++ b/package/fltk/fltk.hash @@ -1,4 +1,4 @@ -# From http://www.fltk.org/software.php?VERSION=1.3.3 -md5 9ccdb0d19dc104b87179bd9fd10822e3 fltk-1.3.3-source.tar.gz +# From http://www.fltk.org/software.php?VERSION=1.3.4 +md5 d7fcd27ab928648e1a1366dd2e273970 fltk-1.3.4-1-source.tar.gz # Locally generated -sha256 f8398d98d7221d40e77bc7b19e761adaf2f1ef8bb0c30eceb7beb4f2273d0d97 fltk-1.3.3-source.tar.gz +sha256 7fb2c8882433ce694e6900c94fda505e8f4ed3fa9c7e597007098a33b85c53f4 fltk-1.3.4-1-source.tar.gz diff --git a/package/fltk/fltk.mk b/package/fltk/fltk.mk index 9b67bd32ae..611d79da50 100644 --- a/package/fltk/fltk.mk +++ b/package/fltk/fltk.mk @@ -4,8 +4,8 @@ # ################################################################################ -FLTK_VERSION = 1.3.3 -FLTK_SOURCE = fltk-$(FLTK_VERSION)-source.tar.gz +FLTK_VERSION = 1.3.4 +FLTK_SOURCE = fltk-$(FLTK_VERSION)-1-source.tar.gz FLTK_SITE = http://fltk.org/pub/fltk/$(FLTK_VERSION) FLTK_INSTALL_STAGING = YES # We force --libdir=/usr/lib, because by default, it is set to @@ -19,7 +19,7 @@ FLTK_CONF_OPTS = --enable-threads --with-x --disable-gl \ --libdir=/usr/lib FLTK_DEPENDENCIES = jpeg libpng xlib_libX11 xlib_libXext xlib_libXt FLTK_CONFIG_SCRIPTS = fltk-config -FLTK_LICENSE = LGPLv2 with exceptions +FLTK_LICENSE = LGPL-2.0 with exceptions FLTK_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_CAIRO),y) diff --git a/package/fmc/Config.in b/package/fmc/Config.in index b7398e2bf6..4399aa2cab 100644 --- a/package/fmc/Config.in +++ b/package/fmc/Config.in @@ -15,11 +15,11 @@ config BR2_PACKAGE_FMC select BR2_PACKAGE_LIBXML2 select BR2_PACKAGE_FMLIB help - The Frame Manager Configuration tool is Freescale PowerPC platform - software package whose primary purpose is converting + The Frame Manager Configuration tool is Freescale PowerPC + platform software package whose primary purpose is converting Parse-Classify-Police-Distribute (PCD) descriptions of network packets flow into hardware configuration. The tool provides an - abstraction layer between the end customer's vision of the PCD task - definition and real hardware implementation. + abstraction layer between the end customer's vision of the PCD + task definition and real hardware implementation. http://cache.freescale.com/files/32bit/doc/app_note/AN4760.pdf diff --git a/package/fmc/fmc.hash b/package/fmc/fmc.hash index 2402831855..13d9d77ee5 100644 --- a/package/fmc/fmc.hash +++ b/package/fmc/fmc.hash @@ -1,2 +1,2 @@ -# Locally Computed -sha256sum a91e0c9b7c7f238634c64a755c05671f33f2acdb6ae2d09cad4d683b364ee8e4 fmc-fsl-sdk-v2.0.tar.gz +# Locally calculated +sha256 a91e0c9b7c7f238634c64a755c05671f33f2acdb6ae2d09cad4d683b364ee8e4 fmc-fsl-sdk-v2.0.tar.gz diff --git a/package/fmlib/Config.in b/package/fmlib/Config.in index d399cabe2a..df4ae440ea 100644 --- a/package/fmlib/Config.in +++ b/package/fmlib/Config.in @@ -7,10 +7,11 @@ config BR2_PACKAGE_FMLIB depends on BR2_powerpc_e500mc || BR2_powerpc_e6500 depends on BR2_LINUX_KERNEL help - The Frame Manager library provides Freescale PowerPC platforms an - API on top of the Frame Manager driver ioctl calls, that provides - a user space application with a simple way to configure driver - parameters and PCD (parse - classify - distribute) rules. + The Frame Manager library provides Freescale PowerPC platforms + an API on top of the Frame Manager driver ioctl calls, that + provides a user space application with a simple way to + configure driver parameters and PCD (parse - classify - + distribute) rules. http://git.freescale.com/git/cgit.cgi/ppc/sdk/fmlib.git/tree/README diff --git a/package/fmlib/fmlib.mk b/package/fmlib/fmlib.mk index 16e817699e..e67ab1e5de 100644 --- a/package/fmlib/fmlib.mk +++ b/package/fmlib/fmlib.mk @@ -6,7 +6,7 @@ FMLIB_VERSION = fsl-sdk-v2.0 FMLIB_SITE = git://git.freescale.com/ppc/sdk/fmlib.git -FMLIB_LICENSE = BSD-3c, GPLv2+ +FMLIB_LICENSE = BSD-3-Clause, GPL-2.0+ FMLIB_LICENSE_FILES = COPYING FMLIB_DEPENDENCIES = linux FMLIB_INSTALL_STAGING = YES diff --git a/package/fmt/Config.in b/package/fmt/Config.in new file mode 100644 index 0000000000..69a6fb80a6 --- /dev/null +++ b/package/fmt/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_FMT + bool "fmt" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_USE_WCHAR + help + fmt is an open-source formatting library for C++. It can be + used as a safe alternative to printf or as a fast alternative + to IOStreams. + +comment "fmt needs a toolchain w/ C++, wchar" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR diff --git a/package/fmt/fmt.hash b/package/fmt/fmt.hash new file mode 100644 index 0000000000..47087a4175 --- /dev/null +++ b/package/fmt/fmt.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 35300a0d356529447a79ed5ccf419239d8b34f916e5d4625f046fd37afa3650a fmt-4.0.0.tar.gz diff --git a/package/fmt/fmt.mk b/package/fmt/fmt.mk new file mode 100644 index 0000000000..c47b03e834 --- /dev/null +++ b/package/fmt/fmt.mk @@ -0,0 +1,18 @@ +################################################################################ +# +# fmt +# +################################################################################ + +FMT_VERSION = 4.0.0 +FMT_SITE = $(call github,fmtlib,fmt,$(FMT_VERSION)) +FMT_LICENSE = BSD-2-Clause +FMT_LICENSE_FILES = LICENSE.rst +FMT_INSTALL_STAGING = YES + +FMT_CONF_OPTS = \ + -DHAVE_OPEN=ON \ + -DFMT_INSTALL=ON \ + -DFMT_TEST=OFF + +$(eval $(cmake-package)) diff --git a/package/fmtools/fmtools.mk b/package/fmtools/fmtools.mk index 4b1b64fc92..890fae1dce 100644 --- a/package/fmtools/fmtools.mk +++ b/package/fmtools/fmtools.mk @@ -6,7 +6,7 @@ FMTOOLS_VERSION = 2.0.7 FMTOOLS_SITE = http://benpfaff.org/fmtools -FMTOOLS_LICENSE = GPLv2+ +FMTOOLS_LICENSE = GPL-2.0+ FMTOOLS_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/font-awesome/font-awesome.hash b/package/font-awesome/font-awesome.hash index 9f3715e5b6..e266168acc 100644 --- a/package/font-awesome/font-awesome.hash +++ b/package/font-awesome/font-awesome.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 7813f416057da622b16229b10fef550e1dc64c5bb59871cd38fa86e76dfdbae8 font-awesome-v4.5.0.tar.gz +sha256 de512ba0e1dead382bbfce372cde74b3f18971d876fffb635ee9333f0db05d43 font-awesome-v4.7.0.tar.gz diff --git a/package/font-awesome/font-awesome.mk b/package/font-awesome/font-awesome.mk index 3d2cccaefc..f39401041a 100644 --- a/package/font-awesome/font-awesome.mk +++ b/package/font-awesome/font-awesome.mk @@ -4,9 +4,9 @@ # ################################################################################ -FONT_AWESOME_VERSION = v4.5.0 +FONT_AWESOME_VERSION = v4.7.0 FONT_AWESOME_SITE = $(call github,FortAwesome,Font-Awesome,$(FONT_AWESOME_VERSION)) -FONT_AWESOME_LICENSE = OFLv1.1 (font), MIT (CSS, LESS and Sass files) +FONT_AWESOME_LICENSE = OFL-1.1 (font), MIT (CSS, LESS and Sass files) FONT_AWESOME_DIRECTORIES_LIST = css fonts less scss define FONT_AWESOME_INSTALL_TARGET_CMDS diff --git a/package/fontconfig/Config.in b/package/fontconfig/Config.in index 1c54a43361..218fdb2e7a 100644 --- a/package/fontconfig/Config.in +++ b/package/fontconfig/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_FONTCONFIG select BR2_PACKAGE_FREETYPE select BR2_PACKAGE_EXPAT help - Fontconfig is a library for configuring and customizing font access. + Fontconfig is a library for configuring and customizing font + access. http://www.fontconfig.org/ diff --git a/package/fontconfig/fontconfig.hash b/package/fontconfig/fontconfig.hash index ad3582557b..e9963f6f3f 100644 --- a/package/fontconfig/fontconfig.hash +++ b/package/fontconfig/fontconfig.hash @@ -1,2 +1,2 @@ -# From https://lists.freedesktop.org/archives/fontconfig/2016-August/005794.html -sha256 b449a3e10c47e1d1c7a6ec6e2016cca73d3bd68fbbd4f0ae5cc6b573f7d6c7f3 fontconfig-2.12.1.tar.bz2 +# From https://lists.freedesktop.org/archives/fontconfig/2017-July/005961.html +sha256 668293fcc4b3c59765cdee5cee05941091c0879edcc24dfec5455ef83912e45c fontconfig-2.12.4.tar.bz2 diff --git a/package/fontconfig/fontconfig.mk b/package/fontconfig/fontconfig.mk index 93f2a15938..71a0b4579c 100644 --- a/package/fontconfig/fontconfig.mk +++ b/package/fontconfig/fontconfig.mk @@ -4,12 +4,12 @@ # ################################################################################ -FONTCONFIG_VERSION = 2.12.1 +FONTCONFIG_VERSION = 2.12.4 FONTCONFIG_SITE = http://fontconfig.org/release FONTCONFIG_SOURCE = fontconfig-$(FONTCONFIG_VERSION).tar.bz2 FONTCONFIG_INSTALL_STAGING = YES -FONTCONFIG_DEPENDENCIES = freetype expat host-pkgconf -HOST_FONTCONFIG_DEPENDENCIES = host-freetype host-expat host-pkgconf +FONTCONFIG_DEPENDENCIES = freetype expat host-pkgconf host-gperf +HOST_FONTCONFIG_DEPENDENCIES = host-freetype host-expat host-pkgconf host-gperf FONTCONFIG_LICENSE = fontconfig license FONTCONFIG_LICENSE_FILES = COPYING diff --git a/package/fping/fping.hash b/package/fping/fping.hash index 99c01cfad0..e97709ca1b 100644 --- a/package/fping/fping.hash +++ b/package/fping/fping.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 d86f2281bda4653c7049e6ba8fce24ba67edbf9193b7bb1cf6219b0c8ddce4e6 fping-3.12.tar.gz +sha256 67eb4152b98ad34f99d2eec4e1098a0bb52caf13c0c89cd147349d08190fe8ce fping-4.0.tar.gz diff --git a/package/fping/fping.mk b/package/fping/fping.mk index c576dd1abd..5af46c67f0 100644 --- a/package/fping/fping.mk +++ b/package/fping/fping.mk @@ -4,7 +4,7 @@ # ################################################################################ -FPING_VERSION = 3.12 +FPING_VERSION = 4.0 FPING_SITE = http://fping.org/dist FPING_LICENSE = BSD-like FPING_LICENSE_FILES = COPYING diff --git a/package/freeradius-client/freeradius-client.mk b/package/freeradius-client/freeradius-client.mk index 0ed7fbeb8c..981ed163e0 100644 --- a/package/freeradius-client/freeradius-client.mk +++ b/package/freeradius-client/freeradius-client.mk @@ -6,7 +6,7 @@ FREERADIUS_CLIENT_VERSION = 1.1.7 FREERADIUS_CLIENT_SITE = ftp://ftp.freeradius.org/pub/freeradius -FREERADIUS_CLIENT_LICENSE = BSD-2c +FREERADIUS_CLIENT_LICENSE = BSD-2-Clause FREERADIUS_CLIENT_LICENSE_FILES = COPYRIGHT FREERADIUS_CLIENT_INSTALL_STAGING = YES diff --git a/package/freerdp/0001-Fix-gstreamer-1.0-detection.patch b/package/freerdp/0001-Fix-gstreamer-1.0-detection.patch new file mode 100644 index 0000000000..fadfe117a4 --- /dev/null +++ b/package/freerdp/0001-Fix-gstreamer-1.0-detection.patch @@ -0,0 +1,28 @@ +From 368989526c32cdf9d680a397fede3cb773fa2609 Mon Sep 17 00:00:00 2001 +From: Mike Gilbert +Date: Fri, 28 Jul 2017 16:31:41 -0400 +Subject: [PATCH 1/1] Fix gstreamer-1.0 detection + +[yann.morin.1998@free.fr: backport from upstream] +Signed-off-by: "Yann E. MORIN" + +--- + cmake/FindGStreamer_1_0.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cmake/FindGStreamer_1_0.cmake b/cmake/FindGStreamer_1_0.cmake +index 3aa8fc6dc..6fbc0ecc5 100644 +--- a/cmake/FindGStreamer_1_0.cmake ++++ b/cmake/FindGStreamer_1_0.cmake +@@ -59,7 +59,7 @@ macro(FIND_GSTREAMER_COMPONENT _component_prefix _pkgconfig_name _library) + + string(REGEX MATCH "(.*)>=(.*)" _dummy "${_pkgconfig_name}") + if ("${CMAKE_MATCH_2}" STREQUAL "") +- pkg_check_modules(PC_${_component_prefix} "${_pkgconfig_name} >= ${GStreamer_FIND_VERSION}") ++ pkg_check_modules(PC_${_component_prefix} "${_pkgconfig_name} >= ${GSTREAMER_1_0_MINIMUM_VERSION}") + else () + pkg_check_modules(PC_${_component_prefix} ${_pkgconfig_name}) + endif () +-- +2.11.0 + diff --git a/package/freerdp/0001-fix-building-shared-libs.patch b/package/freerdp/0001-fix-building-shared-libs.patch deleted file mode 100644 index 8922cb15b6..0000000000 --- a/package/freerdp/0001-fix-building-shared-libs.patch +++ /dev/null @@ -1,26 +0,0 @@ -winpr/tools: fix building shared libs - -libwinpr-makecert-tool.a is used to build libxfreerdp-server.so, so even -if we are building a static libwinpr-makecert-tool.a library, we need to -build it with -fPIC. - -Patch and commit log suggested by Samuel MARTIN. - -Signed-off-by: "Yann E. MORIN" -Cc: Samuel Martin - -diff -durN freerdp-440916eae2e07463912d5fe507677e67096eb083.orig/winpr/tools/makecert/CMakeLists.txt freerdp-440916eae2e07463912d5fe507677e67096eb083/winpr/tools/makecert/CMakeLists.txt ---- freerdp-440916eae2e07463912d5fe507677e67096eb083.orig/winpr/tools/makecert/CMakeLists.txt 2014-08-25 06:52:43.000000000 -0700 -+++ freerdp-440916eae2e07463912d5fe507677e67096eb083/winpr/tools/makecert/CMakeLists.txt 2014-10-24 15:39:39.600319523 -0700 -@@ -37,4 +37,11 @@ - add_subdirectory(cli) - - set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR/Tools") -+ -+if(BUILD_SHARED_LIBS) -+ # build libwinpr-makecert-tool.a with PIC because it is used to build -+ # the shared library libxfreerdp-server.so. -+ set_property(TARGET ${MODULE_NAME} PROPERTY POSITION_INDEPENDENT_CODE TRUE) -+endif() -+ - export_complex_library(LIBNAME ${MODULE_NAME}) diff --git a/package/freerdp/0002-add-support-for-tz-package.patch b/package/freerdp/0002-add-support-for-tz-package.patch deleted file mode 100644 index 93e4afde17..0000000000 --- a/package/freerdp/0002-add-support-for-tz-package.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 605d0a85183d2f9d5b0da5629cbadf01173bbb2f Mon Sep 17 00:00:00 2001 -From: Scott Fan -Date: Mon, 13 Jul 2015 15:01:17 +0800 -Subject: [PATCH] Add support for tz package - -Fixes error message while freerdp connected the remote desktop: -Unable to detect time zone - -Signed-off-by: Scott Fan ---- - libfreerdp/locale/timezone.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/libfreerdp/locale/timezone.c b/libfreerdp/locale/timezone.c -index 3070f1f..4a06786 100644 ---- a/libfreerdp/locale/timezone.c -+++ b/libfreerdp/locale/timezone.c -@@ -1539,7 +1539,8 @@ char* freerdp_get_unix_timezone_identifier() - * America/Montreal for example. - */ - -- if ((len = readlink("/etc/localtime", buf, sizeof(buf) - 1)) != -1) -+ if ((len = readlink("/etc/localtime", buf, sizeof(buf) - 1)) != -1 || -+ (len = readlink("/etc/TZ", buf, sizeof(buf) - 1)) != -1) - { - int num = 0; - int pos = len; --- -2.4.5 - diff --git a/package/freerdp/0003-add-missing-define.patch b/package/freerdp/0003-add-missing-define.patch deleted file mode 100644 index a8f669e102..0000000000 --- a/package/freerdp/0003-add-missing-define.patch +++ /dev/null @@ -1,44 +0,0 @@ -libwinpr/comm_seria: fix missing define - -FreeRDP uses CMSPAR, which is defined by glibc in bits/termios.h . - -glibc has two flavours of bits/termios.h: a genmeric one and an -architecture-specific one. When installing, glibc will install the -architecture-specific file if it exists, otherwise it installs the -generic file. Only Alpha, MIPS, PPC and Sparc have their own -bits/termios.h. - -The generic bits/termios.h, as well as the Alpha, PPC and Sparc flavours -do define CMSPAR. However, the MIPS flavour does not define it. - -Define CMSPAR to the value from the generic value, which is also the -value known to the Linux kernel for MIPS. - -Fixes: - http://autobuild.buildroot.org/results/0b4/0b4793f0bf9f4c57933897f3480054a4e06528ad/ - http://autobuild.buildroot.org/results/7a2/7a2284d0a2987158fa2e78f789b07c8c6fcdb974/ - http://autobuild.buildroot.org/results/387/3874088c3ccd4bbf76ea0c911ca1ef64c7dc9d1c/ - ... - -Signed-off-by: "Yann E. MORIN" -Cc: Peter Korsgaard -Cc: Thomas Petazzoni - -diff -durN freerdp-17834af7bb378f85a3b3cc4dcadaa5125a337e16.orig/winpr/libwinpr/comm/comm_serial_sys.c freerdp-17834af7bb378f85a3b3cc4dcadaa5125a337e16/winpr/libwinpr/comm/comm_serial_sys.c ---- freerdp-17834af7bb378f85a3b3cc4dcadaa5125a337e16.orig/winpr/libwinpr/comm/comm_serial_sys.c 2015-09-04 16:20:17.000000000 +0100 -+++ freerdp-17834af7bb378f85a3b3cc4dcadaa5125a337e16/winpr/libwinpr/comm/comm_serial_sys.c 2015-10-04 11:07:41.868513726 +0100 -@@ -27,6 +27,14 @@ - #include - #include - #include -+ -+/* glibc for MIPS has its own bits/termios.h which does not define -+ * CMSPAR, so we vampirise the value from the generic bits/termios.h -+ */ -+#ifndef CMSPAR -+#define CMSPAR 010000000000 -+#endif -+ - #include - - #include "comm_serial_sys.h" diff --git a/package/freerdp/0004-ffmpeg30.patch b/package/freerdp/0004-ffmpeg30.patch deleted file mode 100644 index a7998b7894..0000000000 --- a/package/freerdp/0004-ffmpeg30.patch +++ /dev/null @@ -1,74 +0,0 @@ -From b7b66968f93f6ce75dd06d12638e14029bf3717b Mon Sep 17 00:00:00 2001 -From: Alexis Ballier -Date: Thu, 17 Sep 2015 10:36:44 +0200 -Subject: [PATCH] channels/tsmf/client/ffmpeg: Fix build with ffmpeg git - master. - -Replace old, deprecated and now removed, APIs with their new equivalent while retaining backward compatibility with old ffmpeg versions. - -Signed-off-by: Bernd Kuhls -[Downloaded from upstream commit: - https://github.com/FreeRDP/FreeRDP/commit/f8ceb3f6061583c650bd4f6cddc10bc0471f2076] ---- - channels/tsmf/client/ffmpeg/tsmf_ffmpeg.c | 17 ++++++++++++++++- - 1 file changed, 16 insertions(+), 1 deletion(-) - -diff --git a/channels/tsmf/client/ffmpeg/tsmf_ffmpeg.c b/channels/tsmf/client/ffmpeg/tsmf_ffmpeg.c -index d0880e7..e1b9f83 100644 ---- a/channels/tsmf/client/ffmpeg/tsmf_ffmpeg.c -+++ b/channels/tsmf/client/ffmpeg/tsmf_ffmpeg.c -@@ -61,6 +61,9 @@ - #define AV_CODEC_ID_AC3 CODEC_ID_AC3 - #endif - -+#if LIBAVUTIL_VERSION_MAJOR < 52 -+#define AV_PIX_FMT_YUV420P PIX_FMT_YUV420P -+#endif - - typedef struct _TSMFFFmpegDecoder - { -@@ -102,7 +105,11 @@ static BOOL tsmf_ffmpeg_init_video_stream(ITSMFDecoder* decoder, const TS_AM_MED - mdecoder->codec_context->bit_rate = media_type->BitRate; - mdecoder->codec_context->time_base.den = media_type->SamplesPerSecond.Numerator; - mdecoder->codec_context->time_base.num = media_type->SamplesPerSecond.Denominator; -+#if LIBAVCODEC_VERSION_MAJOR < 55 - mdecoder->frame = avcodec_alloc_frame(); -+#else -+ mdecoder->frame = av_frame_alloc(); -+#endif - return TRUE; - } - -@@ -328,7 +335,11 @@ static BOOL tsmf_ffmpeg_decode_video(ITSMFDecoder* decoder, const BYTE *data, UI - if (!mdecoder->decoded_data) - return FALSE; - -+#if LIBAVCODEC_VERSION_MAJOR < 55 - frame = avcodec_alloc_frame(); -+#else -+ frame = av_frame_alloc(); -+#endif - avpicture_fill((AVPicture*) frame, mdecoder->decoded_data, - mdecoder->codec_context->pix_fmt, - mdecoder->codec_context->width, mdecoder->codec_context->height); -@@ -400,7 +411,11 @@ static BOOL tsmf_ffmpeg_decode_audio(ITSMFDecoder* decoder, const BYTE *data, UI - (int16_t *) dst, &frame_size, src, src_size); - #else - { -+#if LIBAVCODEC_VERSION_MAJOR < 55 - AVFrame *decoded_frame = avcodec_alloc_frame(); -+#else -+ AVFrame *decoded_frame = av_frame_alloc(); -+#endif - int got_frame = 0; - AVPacket pkt; - av_init_packet(&pkt); -@@ -480,7 +495,7 @@ static UINT32 tsmf_ffmpeg_get_decoded_format(ITSMFDecoder* decoder) - - switch (mdecoder->codec_context->pix_fmt) - { -- case PIX_FMT_YUV420P: -+ case AV_PIX_FMT_YUV420P: - return RDP_PIXFMT_I420; - default: - WLog_ERR(TAG, "unsupported pixel format %u", diff --git a/package/freerdp/Config.in b/package/freerdp/Config.in index 9dd2505a44..59bc18b672 100644 --- a/package/freerdp/Config.in +++ b/package/freerdp/Config.in @@ -81,6 +81,7 @@ config BR2_PACKAGE_FREERDP_CLIENT_WL bool "wayland client" default y depends on BR2_PACKAGE_WAYLAND + select BR2_PACKAGE_LIBXKBCOMMON endif diff --git a/package/freerdp/freerdp.hash b/package/freerdp/freerdp.hash index 2ced373b38..f54a03e942 100644 --- a/package/freerdp/freerdp.hash +++ b/package/freerdp/freerdp.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 1db496cca391f76382ef284db2d0306d5c15bf515ee2c964319c22272d969a32 freerdp-17834af7bb378f85a3b3cc4dcadaa5125a337e16.tar.gz +sha256 68e0e3db638a9cc00b978815d9eabedffc23f4410dcaa7a7548bb751766d5b3e freerdp-2.0.0-rc0.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/freerdp/freerdp.mk b/package/freerdp/freerdp.mk index c3a3e55d05..0ceef576a8 100644 --- a/package/freerdp/freerdp.mk +++ b/package/freerdp/freerdp.mk @@ -4,8 +4,7 @@ # ################################################################################ -# Changeset on the master branch -FREERDP_VERSION = 17834af7bb378f85a3b3cc4dcadaa5125a337e16 +FREERDP_VERSION = 2.0.0-rc0 FREERDP_SITE = $(call github,FreeRDP,FreeRDP,$(FREERDP_VERSION)) FREERDP_DEPENDENCIES = libglib2 openssl zlib FREERDP_LICENSE = Apache-2.0 @@ -17,7 +16,7 @@ FREERDP_CONF_OPTS = -DWITH_MANPAGES=OFF -Wno-dev ifeq ($(BR2_PACKAGE_FREERDP_GSTREAMER),y) FREERDP_CONF_OPTS += -DWITH_GSTREAMER_0_10=ON -FREERDP_DEPENDENCIES += gstreamer gst-plugins-base libxml2 host-pkgconf +FREERDP_DEPENDENCIES += gstreamer gst-plugins-base libxml2 else FREERDP_CONF_OPTS += -DWITH_GSTREAMER_0_10=OFF endif @@ -57,6 +56,14 @@ else FREERDP_CONF_OPTS += -DWITH_PULSEAUDIO=OFF endif +# For the systemd journal +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +FREERDP_CONF_OPTS += -DWITH_LIBSYSTEMD=ON +FREERDP_DEPENDENCIES += systemd +else +FREERDP_CONF_OPTS += -DWITH_LIBSYSTEMD=OFF +endif + ifeq ($(BR2_ARM_CPU_HAS_NEON),y) FREERDP_CONF_OPTS += -DWITH_NEON=ON else @@ -191,9 +198,11 @@ else FREERDP_CONF_OPTS += -DWITH_XV=OFF endif -ifeq ($(BR2_PACKAGE_WAYLAND),y) -FREERDP_DEPENDENCIES += wayland -FREERDP_CONF_OPTS += -DWITH_WAYLAND=ON +ifeq ($(BR2_PACKAGE_FREERDP_CLIENT_WL),y) +FREERDP_DEPENDENCIES += wayland libxkbcommon +FREERDP_CONF_OPTS += \ + -DWITH_WAYLAND=ON \ + -DWAYLAND_SCANNER=$(HOST_DIR)/bin/wayland-scanner else FREERDP_CONF_OPTS += -DWITH_WAYLAND=OFF endif diff --git a/package/freescale-imx/Config.in b/package/freescale-imx/Config.in index 056728ff09..fa3f9a0d38 100644 --- a/package/freescale-imx/Config.in +++ b/package/freescale-imx/Config.in @@ -2,8 +2,9 @@ menuconfig BR2_PACKAGE_FREESCALE_IMX bool "Freescale i.MX libraries" depends on BR2_arm help - Those packages provide hardware acceleration for GPU or VPU, hardware - optimization or some hardware tools for Freescale i.MX platforms. + Those packages provide hardware acceleration for GPU or VPU, + hardware optimization or some hardware tools for Freescale + i.MX platforms. if BR2_PACKAGE_FREESCALE_IMX choice @@ -30,6 +31,9 @@ config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53 config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q bool "imx6q" +config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6UL + bool "imx6ul" + endchoice config BR2_PACKAGE_FREESCALE_IMX_PLATFORM @@ -41,6 +45,7 @@ config BR2_PACKAGE_FREESCALE_IMX_PLATFORM default "IMX51" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX51 default "IMX53" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53 default "IMX6Q" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q + default "IMX6UL" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6UL config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU bool diff --git a/package/freescale-imx/gpu-amd-bin-mx51/Config.in b/package/freescale-imx/gpu-amd-bin-mx51/Config.in index 337713c720..cd66c737ba 100644 --- a/package/freescale-imx/gpu-amd-bin-mx51/Config.in +++ b/package/freescale-imx/gpu-amd-bin-mx51/Config.in @@ -5,12 +5,12 @@ comment "gpu-amd-bin-mx51 needs a glibc EABI toolchain w/ C++" config BR2_PACKAGE_GPU_AMD_BIN_MX51 bool "gpu-amd-bin-mx51 (also imx53)" - select BR2_PACKAGE_HAS_LIBEGL - select BR2_PACKAGE_HAS_LIBGLES - select BR2_PACKAGE_HAS_LIBOPENVG depends on BR2_ARM_EABI depends on BR2_TOOLCHAIN_USES_GLIBC depends on BR2_INSTALL_LIBSTDCPP + select BR2_PACKAGE_HAS_LIBEGL + select BR2_PACKAGE_HAS_LIBGLES + select BR2_PACKAGE_HAS_LIBOPENVG help Freescale libraries, headers and executables for the AMD GPU on i.MX5x, containing OpenGL/ES, OpenVG @@ -26,6 +26,7 @@ choice Choose here which version to install. config BR2_PACKAGE_GPU_AMD_BIN_MX51_OUTPUT_X11 + bool "X11" depends on BR2_PACKAGE_XORG7 select BR2_PACKAGE_LIBXCB select BR2_PACKAGE_XLIB_LIBX11 @@ -33,7 +34,6 @@ config BR2_PACKAGE_GPU_AMD_BIN_MX51_OUTPUT_X11 select BR2_PACKAGE_XLIB_LIBXRENDER select BR2_PACKAGE_XLIB_LIBXDMCP select BR2_PACKAGE_XLIB_LIBXAU - bool "X11" comment "X11 backend needs X.org enabled" depends on !BR2_PACKAGE_XORG7 diff --git a/package/freescale-imx/imx-codec/imx-codec.mk b/package/freescale-imx/imx-codec/imx-codec.mk index 911ad8b1b0..44be941fe2 100644 --- a/package/freescale-imx/imx-codec/imx-codec.mk +++ b/package/freescale-imx/imx-codec/imx-codec.mk @@ -9,7 +9,7 @@ IMX_CODEC_SITE = $(FREESCALE_IMX_SITE) IMX_CODEC_SOURCE = imx-codec-$(IMX_CODEC_VERSION).bin IMX_CODEC_INSTALL_STAGING = YES -IMX_CODEC_LICENSE = NXP Semiconductor Software License Agreement, BSD-3c (flac, ogg headers) +IMX_CODEC_LICENSE = NXP Semiconductor Software License Agreement, BSD-3-Clause (flac, ogg headers) IMX_CODEC_LICENSE_FILES = EULA COPYING IMX_CODEC_REDISTRIBUTE = NO diff --git a/package/freescale-imx/imx-gpu-viv/Config.in b/package/freescale-imx/imx-gpu-viv/Config.in index effb24b3b2..dba378c2d2 100644 --- a/package/freescale-imx/imx-gpu-viv/Config.in +++ b/package/freescale-imx/imx-gpu-viv/Config.in @@ -4,13 +4,13 @@ comment "imx-gpu-viv needs a glibc toolchain with armhf enabled" config BR2_PACKAGE_IMX_GPU_VIV bool "imx-gpu-viv" - select BR2_PACKAGE_HAS_LIBEGL - select BR2_PACKAGE_HAS_LIBGLES - select BR2_PACKAGE_HAS_LIBOPENVG # Pre-built binaries only available for ARM EABIhf depends on BR2_ARM_EABIHF # Library binaries are linked against libc.so.6 depends on BR2_TOOLCHAIN_USES_GLIBC + select BR2_PACKAGE_HAS_LIBEGL + select BR2_PACKAGE_HAS_LIBGLES + select BR2_PACKAGE_HAS_LIBOPENVG help Userspace libraries for Vivante GPU on i.MX6 platforms diff --git a/package/freescale-imx/imx-kobs/Config.in b/package/freescale-imx/imx-kobs/Config.in index fc2344ed0d..61be9f26d4 100644 --- a/package/freescale-imx/imx-kobs/Config.in +++ b/package/freescale-imx/imx-kobs/Config.in @@ -7,4 +7,3 @@ config BR2_PACKAGE_IMX_KOBS This library is provided by Freescale as-is and doesn't have an upstream. - diff --git a/package/freescale-imx/imx-kobs/imx-kobs.mk b/package/freescale-imx/imx-kobs/imx-kobs.mk index 8f490c2499..897820df3f 100644 --- a/package/freescale-imx/imx-kobs/imx-kobs.mk +++ b/package/freescale-imx/imx-kobs/imx-kobs.mk @@ -6,7 +6,7 @@ IMX_KOBS_VERSION = b402243a04e5a6760a860445e5ff6a931d86f794 IMX_KOBS_SITE = $(call github,NXPmicro,imx-kobs,$(IMX_KOBS_VERSION)) -IMX_KOBS_LICENSE = GPLv2+ +IMX_KOBS_LICENSE = GPL-2.0+ IMX_KOBS_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/freescale-imx/imx-lib/Config.in b/package/freescale-imx/imx-lib/Config.in index 3b0f7a921d..3687705041 100644 --- a/package/freescale-imx/imx-lib/Config.in +++ b/package/freescale-imx/imx-lib/Config.in @@ -13,4 +13,3 @@ config BR2_PACKAGE_IMX_LIB This library is provided by Freescale as-is and doesn't have an upstream. - diff --git a/package/freescale-imx/imx-lib/imx-lib.mk b/package/freescale-imx/imx-lib/imx-lib.mk index d3603ca919..3e0f7d8dee 100644 --- a/package/freescale-imx/imx-lib/imx-lib.mk +++ b/package/freescale-imx/imx-lib/imx-lib.mk @@ -6,7 +6,7 @@ IMX_LIB_VERSION = 5.4 IMX_LIB_SITE = $(FREESCALE_IMX_SITE) -IMX_LIB_LICENSE = LGPLv2.1+ +IMX_LIB_LICENSE = LGPL-2.1+ IMX_LIB_LICENSE_FILES = COPYING-LGPL-2.1 IMX_LIB_INSTALL_STAGING = YES diff --git a/package/freescale-imx/imx-uuc/S80imx-uuc b/package/freescale-imx/imx-uuc/S80imx-uuc index 8a02f88e50..9a92c98383 100644 --- a/package/freescale-imx/imx-uuc/S80imx-uuc +++ b/package/freescale-imx/imx-uuc/S80imx-uuc @@ -6,7 +6,7 @@ DAEMON=/usr/bin/$NAME case "$1" in start) printf "Starting $NAME: " - start-stop-daemon -S -q -b -p /var/run/${NAME}.pid -x $DAEMON + start-stop-daemon -S -q -b -m -p /var/run/${NAME}.pid -x $DAEMON [ $? = 0 ] && echo "OK" || echo "FAIL" ;; stop) diff --git a/package/freescale-imx/imx-uuc/imx-uuc.mk b/package/freescale-imx/imx-uuc/imx-uuc.mk index 12d9312155..f24216da26 100644 --- a/package/freescale-imx/imx-uuc/imx-uuc.mk +++ b/package/freescale-imx/imx-uuc/imx-uuc.mk @@ -6,7 +6,7 @@ IMX_UUC_VERSION = 3440b1108373e79669cc17ba1d2be91a123a2053 IMX_UUC_SITE = $(call github,NXPmicro,imx-uuc,$(IMX_UUC_VERSION)) -IMX_UUC_LICENSE = GPLv2+ +IMX_UUC_LICENSE = GPL-2.0+ IMX_UUC_LICENSE_FILES = COPYING # mkfs.vfat is needed to create a FAT partition used by g_mass_storage @@ -21,7 +21,7 @@ define IMX_UUC_INSTALL_TARGET_CMDS $(INSTALL) -D -m 755 $(@D)/uuc $(TARGET_DIR)/usr/bin/uuc $(INSTALL) -D -m 755 $(@D)/sdimage $(TARGET_DIR)/usr/bin/sdimage dd if=/dev/zero of=$(TARGET_DIR)/fat bs=1M count=1 - $(HOST_DIR)/usr/sbin/mkfs.vfat $(TARGET_DIR)/fat + $(HOST_DIR)/sbin/mkfs.vfat $(TARGET_DIR)/fat endef define IMX_UUC_INSTALL_INIT_SYSV diff --git a/package/freescale-imx/kernel-module-imx-gpu-viv/Config.in b/package/freescale-imx/kernel-module-imx-gpu-viv/Config.in index bcc55175bc..9872678623 100644 --- a/package/freescale-imx/kernel-module-imx-gpu-viv/Config.in +++ b/package/freescale-imx/kernel-module-imx-gpu-viv/Config.in @@ -9,6 +9,8 @@ config BR2_PACKAGE_KERNEL_MODULE_IMX_GPU_VIV This package uses an exact copy of the GPU kernel driver source code of the same version as base and include fixes and improvements - developed by FSL Community + developed by FSL Community. + + This module is only meant for NXP-based kernel up to 4.1.x. https://github.com/Freescale/kernel-module-imx-gpu-viv diff --git a/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.hash b/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.hash index 9c43ea39e7..f2e787ca25 100644 --- a/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.hash +++ b/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.hash @@ -1,2 +1,2 @@ # locally computed -sha256 51dd137bd67ae991fa58fff4151c6bd7dd46bafd613f43e83d8403ec37217a90 kernel-module-imx-gpu-viv-bfa78b095a892705a09afe9514fc5d236b3124d2.tar.gz +sha256 f18b826fd25328adf6b4405f48fdf0eaaddc77bb79c0dee76cd8c28aa8ffc078 kernel-module-imx-gpu-viv-a05d9b23b9902f6ce87d23772de2fdb2ecfb37a7.tar.gz diff --git a/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.mk b/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.mk index bcbd8d2532..6dbf9a0271 100644 --- a/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.mk +++ b/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.mk @@ -4,10 +4,10 @@ # ################################################################################ -KERNEL_MODULE_IMX_GPU_VIV_VERSION = bfa78b095a892705a09afe9514fc5d236b3124d2 +KERNEL_MODULE_IMX_GPU_VIV_VERSION = a05d9b23b9902f6ce87d23772de2fdb2ecfb37a7 KERNEL_MODULE_IMX_GPU_VIV_SITE = \ $(call github,Freescale,kernel-module-imx-gpu-viv,$(KERNEL_MODULE_IMX_GPU_VIV_VERSION)) -KERNEL_MODULE_IMX_GPU_VIV_LICENSE = GPLv2 +KERNEL_MODULE_IMX_GPU_VIV_LICENSE = GPL-2.0 KERNEL_MODULE_IMX_GPU_VIV_LICENSE_FILES = COPYING KERNEL_MODULE_IMX_GPU_VIV_MODULE_MAKE_OPTS = \ diff --git a/package/freeswitch-mod-bcg729/Config.in b/package/freeswitch-mod-bcg729/Config.in new file mode 100644 index 0000000000..e75e2acbc0 --- /dev/null +++ b/package/freeswitch-mod-bcg729/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_FREESWITCH_MOD_BCG729 + bool "freeswitch-mod-bcg729" + depends on BR2_PACKAGE_FREESWITCH + depends on !BR2_STATIC_LIBS # freeswitch + select BR2_PACKAGE_BCG729 + help + FreeSWITCH G.729A module using the opensource bcg729 + implementation by Belledonne Communications. + + https://github.com/xadhoom/mod_bcg729 diff --git a/package/freeswitch-mod-bcg729/freeswitch-mod-bcg729.hash b/package/freeswitch-mod-bcg729/freeswitch-mod-bcg729.hash new file mode 100644 index 0000000000..67804883bc --- /dev/null +++ b/package/freeswitch-mod-bcg729/freeswitch-mod-bcg729.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 135f545ad0eef49d1228f8d66a4e66f1ff5f1f8fdf115e88c1df3df8df49fdcb freeswitch-mod-bcg729-c504eea91f225014380ae17c00b35e7173e316ad.tar.gz +sha256 bb4680b13c3190429464a8308a07d7d891e6454349fb7be856e02405b25b1195 LICENSE diff --git a/package/freeswitch-mod-bcg729/freeswitch-mod-bcg729.mk b/package/freeswitch-mod-bcg729/freeswitch-mod-bcg729.mk new file mode 100644 index 0000000000..15f9375f2b --- /dev/null +++ b/package/freeswitch-mod-bcg729/freeswitch-mod-bcg729.mk @@ -0,0 +1,30 @@ +################################################################################ +# +# freeswitch-mod-bcg729 +# +################################################################################ + +FREESWITCH_MOD_BCG729_VERSION = c504eea91f225014380ae17c00b35e7173e316ad +FREESWITCH_MOD_BCG729_SITE = $(call github,xadhoom,mod_bcg729,$(FREESWITCH_MOD_BCG729_VERSION)) +FREESWITCH_MOD_BCG729_LICENSE = MPL-1.1 +FREESWITCH_MOD_BCG729_LICENSE_FILES = LICENSE +FREESWITCH_MOD_BCG729_DEPENDENCIES = freeswitch bcg729 + +# instead of patching the not cross-compile friendly Makefile from +# upstream we issue the necessary build commands ourselves +define FREESWITCH_MOD_BCG729_BUILD_CMDS + $(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS) \ + -I$(STAGING_DIR)/usr/include/freeswitch \ + -fPIC -fomit-frame-pointer -fno-exceptions \ + -c $(@D)/mod_bcg729.c -o $(@D)/mod_bcg729.o + $(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS) \ + -fPIC -fomit-frame-pointer -fno-exceptions \ + -shared -Xlinker -x -lm -lbcg729 -Wl,-Bdynamic \ + -o $(@D)/mod_bcg729.so $(@D)/mod_bcg729.o +endef + +define FREESWITCH_MOD_BCG729_INSTALL_TARGET_CMDS + $(INSTALL) -m 0755 $(@D)/mod_bcg729.so $(TARGET_DIR)/usr/lib/freeswitch/mod/mod_bcg729.so +endef + +$(eval $(generic-package)) diff --git a/package/freeswitch/freeswitch.hash b/package/freeswitch/freeswitch.hash index 6412511d5f..ccda477a79 100644 --- a/package/freeswitch/freeswitch.hash +++ b/package/freeswitch/freeswitch.hash @@ -1,2 +1,6 @@ -# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.6.14.tar.xz.sha256 -sha256 759cb79800c02b9476fcec4c88822942ed6183d9c2686015e4c293e22790cf35 freeswitch-1.6.14.tar.xz +# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.6.19.tar.xz.md5 +md5 24b8ee769031ca152b76e6c17edd882b freeswitch-1.6.19.tar.xz +# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.6.19.tar.xz.sha1 +sha1 2a48f1f5ca0b24854f93e49a4728f79517a95a24 freeswitch-1.6.19.tar.xz +# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.6.19.tar.xz.sha256 +sha256 e8d271a0d876ba4cca551682af0a4f5047bfd79438fcebdcc17d00711c04a8ff freeswitch-1.6.19.tar.xz diff --git a/package/freeswitch/freeswitch.mk b/package/freeswitch/freeswitch.mk index 8c107e9900..defa00f47a 100644 --- a/package/freeswitch/freeswitch.mk +++ b/package/freeswitch/freeswitch.mk @@ -4,15 +4,17 @@ # ################################################################################ -FREESWITCH_VERSION = 1.6.14 +FREESWITCH_VERSION = 1.6.19 FREESWITCH_SOURCE = freeswitch-$(FREESWITCH_VERSION).tar.xz FREESWITCH_SITE = http://files.freeswitch.org/freeswitch-releases -FREESWITCH_LICENSE = MPLv1.1, \ - GPLv3+ with font exception (fonts), \ +# External modules need headers/libs from staging +FREESWITCH_INSTALL_STAGING = YES +FREESWITCH_LICENSE = MPL-1.1, \ + GPL-3.0+ with font exception (fonts), \ Apache-2.0 (apr, apr-util), \ - LGPLv2+ (sofia-sip), \ - LGPLv2.1, GPLv2 (spandsp), \ - BSD-3c (libsrtp), \ + LGPL-2.0+ (sofia-sip), \ + LGPL-2.1, GPL-2.0 (spandsp), \ + BSD-3-Clause (libsrtp), \ tiff license FREESWITCH_LICENSE_FILES = \ @@ -37,6 +39,10 @@ FREESWITCH_DEPENDENCIES = \ util-linux \ zlib +# disable display of ClueCon banner in fs_cli +FREESWITCH_CONF_ENV += \ + disable_cc=yes + # we neither need host-perl nor host-php FREESWITCH_CONF_ENV += \ ac_cv_prog_PERL=false \ @@ -110,7 +116,6 @@ FREESWITCH_ENABLED_MODULES += \ applications/mod_valet_parking \ applications/mod_voicemail \ codecs/mod_g723_1 \ - codecs/mod_g729 \ dialplans/mod_dialplan_asterisk \ dialplans/mod_dialplan_xml \ endpoints/mod_loopback \ @@ -159,7 +164,7 @@ FREESWITCH_PRE_CONFIGURE_HOOKS += FREESWITCH_ENABLE_MODULES # mod_isac supports a limited set of archs # src/mod/codecs/mod_isac/typedefs.h ifeq ($(BR2_i386)$(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el)$(BR2_x86_64),y) -FREESWITCH_LICENSE := $(FREESWITCH_LICENSE), BSD-3c (mod_isac) +FREESWITCH_LICENSE := $(FREESWITCH_LICENSE), BSD-3-Clause (mod_isac) FREESWITCH_LICENSE_FILES += src/mod/codecs/mod_isac/LICENSE FREESWITCH_ENABLED_MODULES += codecs/mod_isac endif @@ -169,6 +174,12 @@ FREESWITCH_DEPENDENCIES += alsa-lib FREESWITCH_ENABLED_MODULES += endpoints/mod_alsa endif +# Use the pass-through g729 module provided by freeswitch instead of +# the external mod_bcg729 provided by freeswitch-mod-bcg729. +ifeq ($(BR2_PACKAGE_FREESWITCH_MOD_BCG729),) +FREESWITCH_ENABLED_MODULES += codecs/mod_g729 +endif + ifeq ($(BR2_PACKAGE_FREETYPE),y) FREESWITCH_DEPENDENCIES += freetype endif @@ -278,7 +289,7 @@ FREESWITCH_DEPENDENCIES += xz endif ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_4_8)$(BR2_PACKAGE_FFMPEG),yy) -FREESWITCH_LICENSE := $(FREESWITCH_LICENSE), BSD-3c (libvpx, libyuv) +FREESWITCH_LICENSE := $(FREESWITCH_LICENSE), BSD-3-Clause (libvpx, libyuv) FREESWITCH_LICENSE_FILES += libs/libvpx/LICENSE libs/libyuv/LICENSE FREESWITCH_CONF_OPTS += --enable-libvpx --enable-libyuv FREESWITCH_DEPENDENCIES += host-yasm ffmpeg diff --git a/package/freetype/freetype.hash b/package/freetype/freetype.hash index b2cec04d3b..beff85846f 100644 --- a/package/freetype/freetype.hash +++ b/package/freetype/freetype.hash @@ -1,2 +1,5 @@ +# From https://sourceforge.net/projects/freetype/files/freetype2/2.8/ +md5 2413ac3eaf508ada019c63959ea81a92 freetype-2.8.tar.bz2 +sha1 42c6b1f733fe13a3eba135f5025b22cb68450f91 freetype-2.8.tar.bz2 # Locally calculated after checking pgp signature -sha256 3a3bb2c4e15ffb433f2032f50a5b5a92558206822e22bfe8cbe339af4aa82f88 freetype-2.7.1.tar.bz2 +sha256 a3c603ed84c3c2495f9c9331fe6bba3bb0ee65e06ec331e0a0fb52158291b40b freetype-2.8.tar.bz2 diff --git a/package/freetype/freetype.mk b/package/freetype/freetype.mk index 9484758700..9a98b4068b 100644 --- a/package/freetype/freetype.mk +++ b/package/freetype/freetype.mk @@ -4,13 +4,13 @@ # ################################################################################ -FREETYPE_VERSION = 2.7.1 +FREETYPE_VERSION = 2.8 FREETYPE_SOURCE = freetype-$(FREETYPE_VERSION).tar.bz2 FREETYPE_SITE = http://download.savannah.gnu.org/releases/freetype FREETYPE_INSTALL_STAGING = YES FREETYPE_MAKE_OPTS = CCexe="$(HOSTCC)" -FREETYPE_LICENSE = Dual FTL/GPLv2+ -FREETYPE_LICENSE_FILES = docs/FTL.TXT docs/GPLv2.TXT +FREETYPE_LICENSE = Dual FTL/GPL-2.0+ +FREETYPE_LICENSE_FILES = docs/LICENSE.TXT docs/FTL.TXT docs/GPLv2.TXT FREETYPE_DEPENDENCIES = host-pkgconf FREETYPE_CONFIG_SCRIPTS = freetype-config diff --git a/package/fscryptctl/Config.in b/package/fscryptctl/Config.in new file mode 100644 index 0000000000..91b9ba8ebe --- /dev/null +++ b/package/fscryptctl/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_FSCRYPTCTL + bool "fscryptctl" + help + fscryptctl is a low-level tool written in C that handles raw + keys and manages policies for Linux filesystem encryption. + + Notice: Fscrypt support on EXT4 requires a kernel with + CONFIG_EXT4_ENCRYPTION=y and a file system with the + encryption option and block size equal to CPU page size + (BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS="-O encrypt -b 4096") + + https://github.com/google/fscryptctl diff --git a/package/fscryptctl/fscryptctl.hash b/package/fscryptctl/fscryptctl.hash new file mode 100644 index 0000000000..b06b96c10f --- /dev/null +++ b/package/fscryptctl/fscryptctl.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 970a8febbcbf315313711d8a7ee3d954dea593d8087744d3cba65f6cb4bebcc1 fscryptctl-f037dcf4354ce8f25d0f371b58dfe7a7ac27576f.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/fscryptctl/fscryptctl.mk b/package/fscryptctl/fscryptctl.mk new file mode 100644 index 0000000000..4275bf2b83 --- /dev/null +++ b/package/fscryptctl/fscryptctl.mk @@ -0,0 +1,20 @@ +################################################################################ +# +# fscryptctl +# +################################################################################ + +FSCRYPTCTL_VERSION = f037dcf4354ce8f25d0f371b58dfe7a7ac27576f +FSCRYPTCTL_SITE = $(call github,google,fscryptctl,$(FSCRYPTCTL_VERSION)) +FSCRYPTCTL_LICENSE = Apache-2.0 +FSCRYPTCTL_LICENSE_FILES = LICENSE + +define FSCRYPTCTL_BUILD_CMDS + $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) fscryptctl +endef + +define FSCRYPTCTL_INSTALL_TARGET_CMDS + $(INSTALL) -m 0755 -D $(@D)/fscryptctl $(TARGET_DIR)/usr/bin/fscryptctl +endef + +$(eval $(generic-package)) diff --git a/package/fswebcam/fswebcam.mk b/package/fswebcam/fswebcam.mk index 8cb40d6930..4b47b3eb59 100644 --- a/package/fswebcam/fswebcam.mk +++ b/package/fswebcam/fswebcam.mk @@ -6,7 +6,7 @@ FSWEBCAM_VERSION = 20140113 FSWEBCAM_SITE = http://www.firestorm.cx/fswebcam/files -FSWEBCAM_LICENSE = GPLv2 +FSWEBCAM_LICENSE = GPL-2.0 FSWEBCAM_LICENSE_FILES = LICENSE FSWEBCAM_DEPENDENCIES += freetype jpeg libpng gd diff --git a/package/ftop/Config.in b/package/ftop/Config.in index 1f5ebbbbfa..bee70bfd00 100644 --- a/package/ftop/Config.in +++ b/package/ftop/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_FTOP select BR2_PACKAGE_NCURSES help Ftop is to files what top is to processes. - The progress of all open files and file systems can be monitored. + The progress of all open files and file systems can be + monitored. - https://code.google.com/p/ftop/ + https://sourceforge.net/projects/ftop/ diff --git a/package/ftop/ftop.hash b/package/ftop/ftop.hash index 06f2fb1f40..ca8dc827ef 100644 --- a/package/ftop/ftop.hash +++ b/package/ftop/ftop.hash @@ -1,2 +1,5 @@ -# From https://code.google.com/p/ftop/downloads/detail?name=ftop-1.0.tar.gz&can=2&q= -sha1 a0523862dd63ed3bec14846b6e05afcfdebb15c2 ftop-1.0.tar.gz +# From https://sourceforge.net/projects/ftop/files/ftop/1.0/ +md5 57c68b6e7431f4219d9eddaebcb395da ftop-1.0.tar.bz2 +sha1 d3ef1b74825f50c7c442d299b29d23c2478f199b ftop-1.0.tar.bz2 +# Locally computed +sha256 3a705f4f291384344cd32c3dd5f5f6a7cd7cea7624c83cb7e923966dbcd47f82 ftop-1.0.tar.bz2 diff --git a/package/ftop/ftop.mk b/package/ftop/ftop.mk index c8d0f93b92..5498fb524a 100644 --- a/package/ftop/ftop.mk +++ b/package/ftop/ftop.mk @@ -5,9 +5,10 @@ ################################################################################ FTOP_VERSION = 1.0 -FTOP_SITE = http://ftop.googlecode.com/files +FTOP_SOURCE = ftop-$(FTOP_VERSION).tar.bz2 +FTOP_SITE = https://sourceforge.net/projects/ftop/files/ftop/$(FTOP_VERSION) FTOP_DEPENDENCIES = ncurses -FTOP_LICENSE = GPLv3+ +FTOP_LICENSE = GPL-3.0+ FTOP_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/fwts/fwts.mk b/package/fwts/fwts.mk index 984e368fd9..8b0c5b0e5a 100644 --- a/package/fwts/fwts.mk +++ b/package/fwts/fwts.mk @@ -7,7 +7,7 @@ FWTS_VERSION = V16.11.00 FWTS_SITE = http://fwts.ubuntu.com/release FWTS_STRIP_COMPONENTS = 0 -FWTS_LICENSE = GPLv2, LGPLv2.1, Custom +FWTS_LICENSE = GPL-2.0, LGPL-2.1, Custom FWTS_LICENSE_FILES = debian/copyright FWTS_AUTORECONF = YES FWTS_DEPENDENCIES = host-bison host-flex host-pkgconf json-c libglib2 \ diff --git a/package/fwup/fwup.hash b/package/fwup/fwup.hash index e21eff0a6d..32398bf4d0 100644 --- a/package/fwup/fwup.hash +++ b/package/fwup/fwup.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 64c3a0ac38dc11c0c05b2588a89638cbc37f5552ac0f1c290f7ee5365f2bba49 fwup-v0.8.2.tar.gz +sha256 852e255bd65f9db473a06184abb3e94e3b6b86be7bf66169e8df8146d5966ae1 fwup-v0.15.4.tar.gz diff --git a/package/fwup/fwup.mk b/package/fwup/fwup.mk index d87bdca96d..c6a18c291c 100644 --- a/package/fwup/fwup.mk +++ b/package/fwup/fwup.mk @@ -1,10 +1,10 @@ -############################################################# +################################################################################ # # fwup # -############################################################# +################################################################################ -FWUP_VERSION = v0.8.2 +FWUP_VERSION = v0.15.4 FWUP_SITE = $(call github,fhunleth,fwup,$(FWUP_VERSION)) FWUP_LICENSE = Apache-2.0 FWUP_LICENSE_FILES = LICENSE diff --git a/package/fxload/Config.in b/package/fxload/Config.in index ac190f043e..88cc6d1e5f 100644 --- a/package/fxload/Config.in +++ b/package/fxload/Config.in @@ -1,9 +1,14 @@ config BR2_PACKAGE_FXLOAD bool "fxload" + # Hits gcc PR63261 on Microblaze with debugging symbols + # enabled. Since this package is unlikely to be useful on + # Microblaze, just disable it on this architecture. + depends on !BR2_microblaze help - This program is conveniently able to download firmware into FX, FX2, - and FX2LP EZ-USB devices, as well as the original AnchorChips EZ-USB. - It is intended to be invoked by hotplug scripts when the unprogrammed - device appears on the bus. + This program is conveniently able to download firmware into + FX, FX2, and FX2LP EZ-USB devices, as well as the original + AnchorChips EZ-USB. + It is intended to be invoked by hotplug scripts when the + unprogrammed device appears on the bus. http://sourceforge.net/projects/linux-hotplug/ diff --git a/package/fxload/fxload.mk b/package/fxload/fxload.mk index b34dccd7f1..94b11d0f1e 100644 --- a/package/fxload/fxload.mk +++ b/package/fxload/fxload.mk @@ -6,7 +6,7 @@ FXLOAD_VERSION = 2008_10_13 FXLOAD_SITE = http://downloads.sourceforge.net/project/linux-hotplug/fxload/$(FXLOAD_VERSION) -FXLOAD_LICENSE = GPLv2+ +FXLOAD_LICENSE = GPL-2.0+ FXLOAD_LICENSE_FILES = COPYING define FXLOAD_BUILD_CMDS diff --git a/package/gamin/gamin.mk b/package/gamin/gamin.mk index d908b90dcd..4621b1646f 100644 --- a/package/gamin/gamin.mk +++ b/package/gamin/gamin.mk @@ -8,7 +8,7 @@ GAMIN_VERSION = 0.1.10 GAMIN_SITE = http://www.gnome.org/~veillard/gamin/sources GAMIN_AUTORECONF = YES GAMIN_INSTALL_STAGING = YES -GAMIN_LICENSE = LGPLv2+ +GAMIN_LICENSE = LGPL-2.0+ GAMIN_LICENSE_FILES = COPYING # python support broken diff --git a/package/gauche/0003-Fix-missing-libc-version.h-build-error-uClibc-x86-_6.patch b/package/gauche/0003-Fix-missing-libc-version.h-build-error-uClibc-x86-_6.patch new file mode 100644 index 0000000000..61a3f1aadb --- /dev/null +++ b/package/gauche/0003-Fix-missing-libc-version.h-build-error-uClibc-x86-_6.patch @@ -0,0 +1,46 @@ +From 4b9692c93d658015087f19016b2bd0c9dfbccee6 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sun, 28 May 2017 20:21:09 +0200 +Subject: [PATCH] Fix 'missing libc-version.h' build error (uClibc/x86[_64]) + (fix commit 3d34255) + +uClibc defines __GLIBC__ but does not contain libc-version.h file. + +* include/private/gcconfig.h [(I386 || X86_64) && LINUX && __GLIBC__] +(GLIBC_2_19_TSX_BUG): Do not define (and do not include +gnu/libc-version.h) if __UCLIBC__. + +[baruch: cherry pick from upstream bdwgc commit 047230b71d42140] +Signed-off-by: Baruch Siach +--- +Upstream status: patch applied to bdwgc; will propagate to gauche on the next +synch of its bundled bdwgc + + gc/include/private/gcconfig.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/gc/include/private/gcconfig.h b/gc/include/private/gcconfig.h +index 80920e5af570..f063664c3f52 100644 +--- a/gc/include/private/gcconfig.h ++++ b/gc/include/private/gcconfig.h +@@ -1420,7 +1420,7 @@ + # define GC_PREFETCH_FOR_WRITE(x) \ + __asm__ __volatile__ ("prefetchw %0" : : "m"(*(char *)(x))) + # endif +-# if defined(__GLIBC__) ++# if defined(__GLIBC__) && !defined(__UCLIBC__) + /* Workaround lock elision implementation for some glibc. */ + # define GLIBC_2_19_TSX_BUG + # include /* for gnu_get_libc_version() */ +@@ -2431,7 +2431,7 @@ + /* FIXME: This seems to be fixed in GLibc v2.14. */ + # define GETCONTEXT_FPU_EXCMASK_BUG + # endif +-# if defined(__GLIBC__) ++# if defined(__GLIBC__) && !defined(__UCLIBC__) + /* Workaround lock elision implementation for some glibc. */ + # define GLIBC_2_19_TSX_BUG + # include /* for gnu_get_libc_version() */ +-- +2.11.0 + diff --git a/package/gauche/gauche.hash b/package/gauche/gauche.hash index 975e958a08..8f45ef997b 100644 --- a/package/gauche/gauche.hash +++ b/package/gauche/gauche.hash @@ -1,3 +1,5 @@ +# From https://sourceforge.net/projects/gauche/files/Gauche/ +sha1 c3e1ea21f3acc66fd26eced117caab3f86531db4 Gauche-0.9.5.tgz +md5 8bac7cbd99a91f6f2c037ac6988db14d Gauche-0.9.5.tgz # Locally calculated -sha256 7b18bcd70beaced1e004594be46c8cff95795318f6f5830dd2a8a700410fc149 Gauche-0.9.4.tgz -sha256 0ff5986540d8ad89eee595de766810f09e489a6a3363b47a65ce7ad18701ee01 13a196557848f22a1607a300643131345e9f32b3.patch +sha256 4c8a53213de112708bbda5fa9648c21497d43ebf809ed5b32b15f21266b4e73c Gauche-0.9.5.tgz diff --git a/package/gauche/gauche.mk b/package/gauche/gauche.mk index 85fcc71848..1e1ee390af 100644 --- a/package/gauche/gauche.mk +++ b/package/gauche/gauche.mk @@ -4,13 +4,12 @@ # ################################################################################ -GAUCHE_VERSION = 0.9.4 +GAUCHE_VERSION = 0.9.5 GAUCHE_SOURCE = Gauche-$(GAUCHE_VERSION).tgz GAUCHE_SITE = http://downloads.sourceforge.net/project/gauche/Gauche -GAUCHE_LICENSE = BSD-3c, Boehm-gc, SRFI (srfi-11.scm), reload (reload.scm) +GAUCHE_LICENSE = BSD-3-Clause, Boehm-gc, SRFI (srfi-11.scm), reload (reload.scm) GAUCHE_LICENSE_FILES = COPYING GAUCHE_DEPENDENCIES = host-gauche -GAUCHE_PATCH = https://github.com/shirok/Gauche/commit/13a196557848f22a1607a300643131345e9f32b3.patch HOST_GAUCHE_CONF_OPTS = --without-zlib GAUCHE_CONF_OPTS = --without-libatomic-ops diff --git a/package/gawk/Config.in b/package/gawk/Config.in index 36e70eb7ad..a065243b7d 100644 --- a/package/gawk/Config.in +++ b/package/gawk/Config.in @@ -6,8 +6,8 @@ config BR2_PACKAGE_GAWK depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS help A special-purpose programming language which is data driven - rather than procedural. Allows for simple data-reformatting jobs - with just a few lines of code. + rather than procedural. Allows for simple data-reformatting + jobs with just a few lines of code. http://www.gnu.org/software/gawk/ diff --git a/package/gawk/gawk.mk b/package/gawk/gawk.mk index 7c6689b30c..a3a2927373 100644 --- a/package/gawk/gawk.mk +++ b/package/gawk/gawk.mk @@ -8,7 +8,7 @@ GAWK_VERSION = 4.1.4 GAWK_SOURCE = gawk-$(GAWK_VERSION).tar.xz GAWK_SITE = $(BR2_GNU_MIRROR)/gawk GAWK_DEPENDENCIES = host-gawk -GAWK_LICENSE = GPLv3+ +GAWK_LICENSE = GPL-3.0+ GAWK_LICENSE_FILES = COPYING # Prefer full-blown gawk over busybox awk diff --git a/package/gcc/4.8.5/0001-ARM-PR-target-68059-libgcc-should-not-use-__write-fo.patch b/package/gcc/4.8.5/0001-ARM-PR-target-68059-libgcc-should-not-use-__write-fo.patch deleted file mode 100644 index d8c6723ed3..0000000000 --- a/package/gcc/4.8.5/0001-ARM-PR-target-68059-libgcc-should-not-use-__write-fo.patch +++ /dev/null @@ -1,43 +0,0 @@ -From edb9057c195c41dd7bcd8603e5fd420359edd520 Mon Sep 17 00:00:00 2001 -From: nsz -Date: Mon, 23 Nov 2015 15:17:55 +0000 -Subject: [PATCH] [ARM] PR target/68059 libgcc should not use __write for - printing fatal error - -libgcc/ - PR target/68059 - * config/arm/linux-atomic-64bit.c (__write): Rename to... - (write): ...this and fix the return type. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230762 138bc75d-0d04-0410-961f-82ee72b054a4 - -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- - libgcc/config/arm/linux-atomic-64bit.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/libgcc/config/arm/linux-atomic-64bit.c b/libgcc/config/arm/linux-atomic-64bit.c -index 7aa8dfc..570b4ce 100644 ---- a/libgcc/config/arm/linux-atomic-64bit.c -+++ b/libgcc/config/arm/linux-atomic-64bit.c -@@ -33,7 +33,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - kernels; we check for that in an init section and bail out rather - unceremoneously. */ - --extern unsigned int __write (int fd, const void *buf, unsigned int count); -+extern int write (int fd, const void *buf, unsigned int count); - extern void abort (void); - - /* Kernel helper for compare-and-exchange. */ -@@ -56,7 +56,7 @@ static void __check_for_sync8_kernelhelper (void) - for the user - I'm not sure I can rely on much else being - available at this point, so do the same as generic-morestack.c - write () and abort (). */ -- __write (2 /* stderr. */, err, sizeof (err)); -+ write (2 /* stderr. */, err, sizeof (err)); - abort (); - } - }; --- -2.10.2 - diff --git a/package/gcc/4.8.5/100-uclibc-conf.patch b/package/gcc/4.8.5/100-uclibc-conf.patch deleted file mode 100644 index d56bf0a194..0000000000 --- a/package/gcc/4.8.5/100-uclibc-conf.patch +++ /dev/null @@ -1,15 +0,0 @@ -Index: gcc-4.8.0/contrib/regression/objs-gcc.sh -=================================================================== ---- gcc-4.8.0.orig/contrib/regression/objs-gcc.sh 2009-04-09 17:00:19.000000000 +0200 -+++ gcc-4.8.0/contrib/regression/objs-gcc.sh 2013-03-23 17:39:04.000000000 +0100 -@@ -106,6 +106,10 @@ - then - make all-gdb all-dejagnu all-ld || exit 1 - make install-gdb install-dejagnu install-ld || exit 1 -+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ] -+ then -+ make all-gdb all-dejagnu all-ld || exit 1 -+ make install-gdb install-dejagnu install-ld || exit 1 - elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then - make bootstrap || exit 1 - make install || exit 1 diff --git a/package/gcc/4.8.5/1000-powerpc-link-with-math-lib.patch.conditional b/package/gcc/4.8.5/1000-powerpc-link-with-math-lib.patch.conditional deleted file mode 100644 index b7094fe652..0000000000 --- a/package/gcc/4.8.5/1000-powerpc-link-with-math-lib.patch.conditional +++ /dev/null @@ -1,122 +0,0 @@ -http://gcc.gnu.org/ml/gcc-patches/2008-10/msg00269.html - -On glibc the libc.so carries a copy of the math function copysignl() but -on uClibc math functions like copysignl() live in libm. Since libgcc_s -contains unresolved symbols, any attempt to link against libgcc_s -without explicitely specifying -lm fails, resulting in a broken -bootstrap of the compiler. - -Forward port to gcc 4.5.1 by Gustavo Zacarias - ---- - libgcc/Makefile.in | 4 +++- - libgcc/configure | 32 ++++++++++++++++++++++++++++++++ - libgcc/configure.ac | 21 +++++++++++++++++++++ - 3 files changed, 56 insertions(+), 1 deletion(-) - -Index: gcc-4.8.0/libgcc/Makefile.in -=================================================================== ---- gcc-4.8.0.orig/libgcc/Makefile.in 2013-02-04 20:06:20.000000000 +0100 -+++ gcc-4.8.0/libgcc/Makefile.in 2013-03-24 09:12:43.000000000 +0100 -@@ -41,6 +41,7 @@ - decimal_float = @decimal_float@ - enable_decimal_float = @enable_decimal_float@ - fixed_point = @fixed_point@ -+LIBGCC_LIBM = @LIBGCC_LIBM@ - - host_noncanonical = @host_noncanonical@ - target_noncanonical = @target_noncanonical@ -@@ -927,9 +928,10 @@ - @multilib_dir@,$(MULTIDIR),$(subst \ - @shlib_objs@,$(objects) libgcc.a,$(subst \ - @shlib_base_name@,libgcc_s,$(subst \ -+ @libgcc_libm@,$(LIBGCC_LIBM),$(subst \ - @shlib_map_file@,$(mapfile),$(subst \ - @shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(subst \ -- @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK)))))))) -+ @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK))))))))) - - libunwind$(SHLIB_EXT): $(libunwind-s-objects) $(extra-parts) - # @multilib_flags@ is still needed because this may use -Index: gcc-4.8.0/libgcc/configure -=================================================================== ---- gcc-4.8.0.orig/libgcc/configure 2012-11-05 00:08:42.000000000 +0100 -+++ gcc-4.8.0/libgcc/configure 2013-03-24 09:12:43.000000000 +0100 -@@ -564,6 +564,7 @@ - tmake_file - sfp_machine_header - set_use_emutls -+LIBGCC_LIBM - set_have_cc_tls - vis_hide - fixed_point -@@ -4481,6 +4482,37 @@ - fi - fi - -+# On powerpc libgcc_s references copysignl which is a libm function but -+# glibc apparently also provides it via libc as opposed to uClibc where -+# it lives in libm. -+echo "$as_me:$LINENO: checking for library containing copysignl" >&5 -+echo $ECHO_N "checking for library containing copysignl... $ECHO_C" >&6 -+if test "${libgcc_cv_copysignl_lib+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ -+ echo '#include ' > conftest.c -+ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c -+ libgcc_cv_copysignl_lib="-lc" -+ if { ac_try='${CC-cc} -S conftest.c -o conftest.s 1>&5' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } -+ then -+ libgcc_cv_copysignl_lib="-lm" -+ fi -+ rm -f conftest.* -+ -+fi -+echo "$as_me:$LINENO: result: $libgcc_cv_copysignl_lib" >&5 -+echo "${ECHO_T}$libgcc_cv_copysignl_lib" >&6 -+ -+case /${libgcc_cv_copysignl_lib}/ in -+ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;; -+ *) LIBGCC_LIBM= ;; -+esac - - # Conditionalize the makefile for this target machine. - tmake_file_= -Index: gcc-4.8.0/libgcc/configure.ac -=================================================================== ---- gcc-4.8.0.orig/libgcc/configure.ac 2012-10-15 15:10:30.000000000 +0200 -+++ gcc-4.8.0/libgcc/configure.ac 2013-03-24 09:12:43.000000000 +0100 -@@ -326,6 +326,27 @@ - fi - AC_SUBST(set_have_cc_tls) - -+# On powerpc libgcc_s references copysignl which is a libm function but -+# glibc apparently also provides it via libc as opposed to uClibc where -+# it lives in libm. -+AC_CACHE_CHECK -+ libgcc_cv_copysignl_lib, -+ echo '#include ' > conftest.c -+ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c -+ libgcc_cv_copysignl_lib="-lc" -+ if AC_TRY_COMMAND(${CC-cc} -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD) -+ then -+ libgcc_cv_copysignl_lib="-lm" -+ fi -+ rm -f conftest.* -+ ]) -+ -+case /${libgcc_cv_copysignl_lib}/ in -+ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;; -+ *) LIBGCC_LIBM= ;; -+esac -+AC_SUBST(LIBGCC_LIBM) -+ - # See if we have emulated thread-local storage. - GCC_CHECK_EMUTLS - set_use_emutls= diff --git a/package/gcc/4.8.5/111-pr65730.patch b/package/gcc/4.8.5/111-pr65730.patch deleted file mode 100644 index f195e308da..0000000000 --- a/package/gcc/4.8.5/111-pr65730.patch +++ /dev/null @@ -1,37 +0,0 @@ -From b9a7775674d91c7af8043a83211ffeaa576327d7 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Fri, 10 Apr 2015 17:46:30 +0300 -Subject: [PATCH] Fix PR target/65730 - -2015-05-20 Max Filippov -gcc/ - * config/xtensa/xtensa.c (init_alignment_context): Replace MULT - by BITS_PER_UNIT with ASHIFT by exact_log2 (BITS_PER_UNIT). - -Signed-off-by: Max Filippov ---- -Backported from: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223452 -Changes to ChangeLog are dropped. - - gcc/config/xtensa/xtensa.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c -index eb039ba..7296e36 100644 ---- a/gcc/config/xtensa/xtensa.c -+++ b/gcc/config/xtensa/xtensa.c -@@ -1461,8 +1461,9 @@ init_alignment_context (struct alignment_context *ac, rtx mem) - if (ac->shift != NULL_RTX) - { - /* Shift is the byte count, but we need the bitcount. */ -- ac->shift = expand_simple_binop (SImode, MULT, ac->shift, -- GEN_INT (BITS_PER_UNIT), -+ gcc_assert (exact_log2 (BITS_PER_UNIT) >= 0); -+ ac->shift = expand_simple_binop (SImode, ASHIFT, ac->shift, -+ GEN_INT (exact_log2 (BITS_PER_UNIT)), - NULL_RTX, 1, OPTAB_DIRECT); - ac->modemask = expand_simple_binop (SImode, ASHIFT, - GEN_INT (GET_MODE_MASK (mode)), --- -1.8.1.4 - diff --git a/package/gcc/4.8.5/130-fix_build_with_gcc-6.patch b/package/gcc/4.8.5/130-fix_build_with_gcc-6.patch deleted file mode 100644 index 62ac3cbd65..0000000000 --- a/package/gcc/4.8.5/130-fix_build_with_gcc-6.patch +++ /dev/null @@ -1,153 +0,0 @@ -From 1e5f1089dec3af328fd03125d6778f666d0bd4e4 Mon Sep 17 00:00:00 2001 -From: edlinger -Date: Thu, 25 Feb 2016 15:33:50 +0000 -Subject: [PATCH 1/1] 2016-02-25 Bernd Edlinger - - Backported from mainline - 2016-02-19 Jakub Jelinek - Bernd Edlinger - - * Make-lang.in: Invoke gperf with -L C++. - * cfns.gperf: Remove prototypes for hash and libc_name_p - inlines. - * cfns.h: Regenerated. - * except.c (nothrow_libfn_p): Adjust. - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-5-branch@233720 138bc75d-0d04-0410-961f-82ee72b054a4 - -Signed-off-by: Samuel Martin ---- - gcc/cp/Make-lang.in | 2 +- - gcc/cp/cfns.gperf | 10 ++-------- - gcc/cp/cfns.h | 41 ++++++++++++++--------------------------- - gcc/cp/except.c | 3 ++- - 5 files changed, 31 insertions(+), 37 deletions(-) - -diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in -index e98beb1..b09fb02 100644 ---- a/gcc/cp/Make-lang.in -+++ b/gcc/cp/Make-lang.in -@@ -111,7 +111,7 @@ else - # deleting the $(srcdir)/cp/cfns.h file. - $(srcdir)/cp/cfns.h: - endif -- gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' -L ANSI-C \ -+ gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' -L C++ \ - $(srcdir)/cp/cfns.gperf --output-file $(srcdir)/cp/cfns.h - - # -diff --git a/gcc/cp/cfns.gperf b/gcc/cp/cfns.gperf -index 68acd3d..214ecf6 100644 ---- a/gcc/cp/cfns.gperf -+++ b/gcc/cp/cfns.gperf -@@ -1,3 +1,5 @@ -+%language=C++ -+%define class-name libc_name - %{ - /* Copyright (C) 2000-2015 Free Software Foundation, Inc. - -@@ -16,14 +18,6 @@ for more details. - You should have received a copy of the GNU General Public License - along with GCC; see the file COPYING3. If not see - . */ --#ifdef __GNUC__ --__inline --#endif --static unsigned int hash (const char *, unsigned int); --#ifdef __GNUC__ --__inline --#endif --const char * libc_name_p (const char *, unsigned int); - %} - %% - # The standard C library functions, for feeding to gperf; the result is used -diff --git a/gcc/cp/cfns.h b/gcc/cp/cfns.h -index 1c6665d..596f413 100644 ---- a/gcc/cp/cfns.h -+++ b/gcc/cp/cfns.h -@@ -1,5 +1,5 @@ --/* ANSI-C code produced by gperf version 3.0.3 */ --/* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L ANSI-C cfns.gperf */ -+/* C++ code produced by gperf version 3.0.4 */ -+/* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L C++ --output-file cfns.h cfns.gperf */ - - #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ - && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ -@@ -28,7 +28,7 @@ - #error "gperf generated tables don't work with this execution character set. Please report a bug to ." - #endif - --#line 1 "cfns.gperf" -+#line 3 "cfns.gperf" - - /* Copyright (C) 2000-2015 Free Software Foundation, Inc. - -@@ -47,25 +47,18 @@ for more details. - You should have received a copy of the GNU General Public License - along with GCC; see the file COPYING3. If not see - . */ --#ifdef __GNUC__ --__inline --#endif --static unsigned int hash (const char *, unsigned int); --#ifdef __GNUC__ --__inline --#endif --const char * libc_name_p (const char *, unsigned int); - /* maximum key range = 391, duplicates = 0 */ - --#ifdef __GNUC__ --__inline --#else --#ifdef __cplusplus --inline --#endif --#endif --static unsigned int --hash (register const char *str, register unsigned int len) -+class libc_name -+{ -+private: -+ static inline unsigned int hash (const char *str, unsigned int len); -+public: -+ static const char *libc_name_p (const char *str, unsigned int len); -+}; -+ -+inline unsigned int -+libc_name::hash (register const char *str, register unsigned int len) - { - static const unsigned short asso_values[] = - { -@@ -122,14 +115,8 @@ hash (register const char *str, register unsigned int len) - return hval + asso_values[(unsigned char)str[len - 1]]; - } - --#ifdef __GNUC__ --__inline --#ifdef __GNUC_STDC_INLINE__ --__attribute__ ((__gnu_inline__)) --#endif --#endif - const char * --libc_name_p (register const char *str, register unsigned int len) -+libc_name::libc_name_p (register const char *str, register unsigned int len) - { - enum - { -diff --git a/gcc/cp/except.c b/gcc/cp/except.c -index 3ff1ce6..2f2e396 100644 ---- a/gcc/cp/except.c -+++ b/gcc/cp/except.c -@@ -1040,7 +1040,8 @@ nothrow_libfn_p (const_tree fn) - unless the system headers are playing rename tricks, and if - they are, we don't want to be confused by them. */ - id = DECL_NAME (fn); -- return !!libc_name_p (IDENTIFIER_POINTER (id), IDENTIFIER_LENGTH (id)); -+ return !!libc_name::libc_name_p (IDENTIFIER_POINTER (id), -+ IDENTIFIER_LENGTH (id)); - } - - /* Returns nonzero if an exception of type FROM will be caught by a --- -1.7.1 diff --git a/package/gcc/4.8.5/130-pr43538.patch b/package/gcc/4.8.5/130-pr43538.patch deleted file mode 100644 index 19e57bb059..0000000000 --- a/package/gcc/4.8.5/130-pr43538.patch +++ /dev/null @@ -1,25 +0,0 @@ -From c037df1be41f8daf4d581d7ffa4ec8cfa640bccf Mon Sep 17 00:00:00 2001 -From: glisse -Date: Fri, 25 Apr 2014 08:03:08 +0000 -Subject: [PATCH] 2014-04-25 Marc Glisse - - PR target/43538 - * mt-gnu: Don't reset CXXFLAGS_FOR_TARGET. - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209784 138bc75d-0d04-0410-961f-82ee72b054a4 -Signed-off-by: Max Filippov ---- - config/mt-gnu | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/config/mt-gnu b/config/mt-gnu -index 15bf417..5c696f5 100644 ---- a/config/mt-gnu -+++ b/config/mt-gnu -@@ -1 +1 @@ --CXXFLAGS_FOR_TARGET = $(CXXFLAGS) -D_GNU_SOURCE -+CXXFLAGS_FOR_TARGET += -D_GNU_SOURCE --- -2.1.4 - diff --git a/package/gcc/4.8.5/301-missing-execinfo_h.patch b/package/gcc/4.8.5/301-missing-execinfo_h.patch deleted file mode 100644 index 00efda24aa..0000000000 --- a/package/gcc/4.8.5/301-missing-execinfo_h.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: gcc-4.8.0/boehm-gc/include/gc.h -=================================================================== ---- gcc-4.8.0.orig/boehm-gc/include/gc.h 2007-04-23 23:10:09.000000000 +0200 -+++ gcc-4.8.0/boehm-gc/include/gc.h 2013-03-23 17:39:20.000000000 +0100 -@@ -503,7 +503,7 @@ - #if defined(__linux__) || defined(__GLIBC__) - # include - # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \ -- && !defined(__ia64__) -+ && !defined(__ia64__) && !defined(__UCLIBC__) - # ifndef GC_HAVE_BUILTIN_BACKTRACE - # define GC_HAVE_BUILTIN_BACKTRACE - # endif diff --git a/package/gcc/4.8.5/305-libmudflap-susv3-legacy.patch b/package/gcc/4.8.5/305-libmudflap-susv3-legacy.patch deleted file mode 100644 index 35d5f50207..0000000000 --- a/package/gcc/4.8.5/305-libmudflap-susv3-legacy.patch +++ /dev/null @@ -1,49 +0,0 @@ -Index: gcc-4.8.0/libmudflap/mf-hooks2.c -=================================================================== ---- gcc-4.8.0.orig/libmudflap/mf-hooks2.c 2013-02-03 18:48:05.000000000 +0100 -+++ gcc-4.8.0/libmudflap/mf-hooks2.c 2013-03-23 17:39:43.000000000 +0100 -@@ -424,7 +424,7 @@ - { - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region"); -- bzero (s, n); -+ memset (s, 0, n); - } - - -@@ -434,7 +434,7 @@ - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src"); - MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest"); -- bcopy (src, dest, n); -+ memmove (dest, src, n); - } - - -@@ -444,7 +444,7 @@ - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg"); - MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg"); -- return bcmp (s1, s2, n); -+ return n == 0 ? 0 : memcmp (s1, s2, n); - } - - -@@ -453,7 +453,7 @@ - size_t n = strlen (s); - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region"); -- return index (s, c); -+ return strchr (s, c); - } - - -@@ -462,7 +462,7 @@ - size_t n = strlen (s); - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region"); -- return rindex (s, c); -+ return strrchr (s, c); - } - - /* XXX: stpcpy, memccpy */ diff --git a/package/gcc/4.8.5/810-arm-softfloat-libgcc.patch b/package/gcc/4.8.5/810-arm-softfloat-libgcc.patch deleted file mode 100644 index c8cb377d55..0000000000 --- a/package/gcc/4.8.5/810-arm-softfloat-libgcc.patch +++ /dev/null @@ -1,30 +0,0 @@ -Index: gcc-4.8.0/gcc/config/arm/linux-elf.h -=================================================================== ---- gcc-4.8.0.orig/gcc/config/arm/linux-elf.h 2013-01-10 21:38:27.000000000 +0100 -+++ gcc-4.8.0/gcc/config/arm/linux-elf.h 2013-03-23 17:40:00.000000000 +0100 -@@ -55,7 +55,7 @@ - %{shared:-lc} \ - %{!shared:%{profile:-lc_p}%{!profile:-lc}}" - --#define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc" -+#define LIBGCC_SPEC "-lgcc" - - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" - -Index: gcc-4.8.0/libgcc/config/arm/t-linux -=================================================================== ---- gcc-4.8.0.orig/libgcc/config/arm/t-linux 2012-03-22 16:14:46.000000000 +0100 -+++ gcc-4.8.0/libgcc/config/arm/t-linux 2013-03-23 17:40:54.000000000 +0100 -@@ -1,6 +1,11 @@ - LIB1ASMSRC = arm/lib1funcs.S - LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \ -- _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 -+ _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 \ -+ _arm_addsubdf3 _arm_addsubsf3 \ -+ _arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \ -+ _arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \ -+ _arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \ -+ _arm_fixsfsi _arm_fixunssfsi - - # Just for these, we omit the frame pointer since it makes such a big - # difference. diff --git a/package/gcc/4.8.5/830-arm_unbreak_armv4t.patch b/package/gcc/4.8.5/830-arm_unbreak_armv4t.patch deleted file mode 100644 index 37f8f2a54d..0000000000 --- a/package/gcc/4.8.5/830-arm_unbreak_armv4t.patch +++ /dev/null @@ -1,13 +0,0 @@ -http://sourceware.org/ml/crossgcc/2008-05/msg00009.html - ---- a/gcc/config/arm/linux-eabi.h -+++ b/gcc/config/arm/linux-eabi.h -@@ -45,7 +45,7 @@ - The ARM10TDMI core is the default for armv5t, so set - SUBTARGET_CPU_DEFAULT to achieve this. */ - #undef SUBTARGET_CPU_DEFAULT --#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi -+#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi - - /* TARGET_BIG_ENDIAN_DEFAULT is set in - config.gcc for big endian configurations. */ diff --git a/package/gcc/4.8.5/841-PR57717-E500v2.patch b/package/gcc/4.8.5/841-PR57717-E500v2.patch deleted file mode 100644 index a011e24112..0000000000 --- a/package/gcc/4.8.5/841-PR57717-E500v2.patch +++ /dev/null @@ -1,23 +0,0 @@ -This backports fix from http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57717 - -Upstream-Status: Backport -Signed-off-by: Julian Brown -[Gustavo: Update for gcc 4.8.3] - -fix for PR57717 (PowerPC E500v2) -http://gcc.gnu.org/ml/gcc-patches/2013-08/msg00668.html - -diff -Nura gcc-4.8.3/gcc/config/rs6000/rs6000.c gcc-4.8.3-pr57717/gcc/config/rs6000/rs6000.c ---- gcc-4.8.3/gcc/config/rs6000/rs6000.c 2014-05-04 23:18:35.000000000 -0300 -+++ gcc-4.8.3-pr57717/gcc/config/rs6000/rs6000.c 2014-05-22 15:20:12.554270919 -0300 -@@ -7343,9 +7343,7 @@ - && GET_CODE (XEXP (x, 1)) == CONST_INT - && reg_offset_p - && !SPE_VECTOR_MODE (mode) -- && !(TARGET_E500_DOUBLE && (mode == DFmode || mode == TFmode -- || mode == DDmode || mode == TDmode -- || mode == DImode)) -+ && !(TARGET_E500_DOUBLE && GET_MODE_SIZE (mode) > UNITS_PER_WORD) - && (!VECTOR_MODE_P (mode) || VECTOR_MEM_NONE_P (mode))) - { - HOST_WIDE_INT val = INTVAL (XEXP (x, 1)); diff --git a/package/gcc/4.8.5/842-PR60155.patch b/package/gcc/4.8.5/842-PR60155.patch deleted file mode 100644 index 7bc2122fd4..0000000000 --- a/package/gcc/4.8.5/842-PR60155.patch +++ /dev/null @@ -1,111 +0,0 @@ -From gcc bugzilla https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60155 -Upstream status: in trunk. - -Signed-off-by: Gustavo Zacarias - ---- trunk/gcc/gcse.c 2014/02/12 14:50:06 207726 -+++ trunk/gcc/gcse.c 2014/04/04 22:25:51 209134 -@@ -2502,6 +2502,65 @@ - } - } - -+struct set_data -+{ -+ rtx insn; -+ const_rtx set; -+ int nsets; -+}; -+ -+/* Increment number of sets and record set in DATA. */ -+ -+static void -+record_set_data (rtx dest, const_rtx set, void *data) -+{ -+ struct set_data *s = (struct set_data *)data; -+ -+ if (GET_CODE (set) == SET) -+ { -+ /* We allow insns having multiple sets, where all but one are -+ dead as single set insns. In the common case only a single -+ set is present, so we want to avoid checking for REG_UNUSED -+ notes unless necessary. */ -+ if (s->nsets == 1 -+ && find_reg_note (s->insn, REG_UNUSED, SET_DEST (s->set)) -+ && !side_effects_p (s->set)) -+ s->nsets = 0; -+ -+ if (!s->nsets) -+ { -+ /* Record this set. */ -+ s->nsets += 1; -+ s->set = set; -+ } -+ else if (!find_reg_note (s->insn, REG_UNUSED, dest) -+ || side_effects_p (set)) -+ s->nsets += 1; -+ } -+} -+ -+static const_rtx -+single_set_gcse (rtx insn) -+{ -+ struct set_data s; -+ rtx pattern; -+ -+ gcc_assert (INSN_P (insn)); -+ -+ /* Optimize common case. */ -+ pattern = PATTERN (insn); -+ if (GET_CODE (pattern) == SET) -+ return pattern; -+ -+ s.insn = insn; -+ s.nsets = 0; -+ note_stores (pattern, record_set_data, &s); -+ -+ /* Considered invariant insns have exactly one set. */ -+ gcc_assert (s.nsets == 1); -+ return s.set; -+} -+ - /* Emit move from SRC to DEST noting the equivalence with expression computed - in INSN. */ - -@@ -2509,7 +2568,8 @@ - gcse_emit_move_after (rtx dest, rtx src, rtx insn) - { - rtx new_rtx; -- rtx set = single_set (insn), set2; -+ const_rtx set = single_set_gcse (insn); -+ rtx set2; - rtx note; - rtx eqv = NULL_RTX; - -@@ -3369,13 +3429,12 @@ - FOR_EACH_VEC_ELT (occrs_to_hoist, j, occr) - { - rtx insn; -- rtx set; -+ const_rtx set; - - gcc_assert (!occr->deleted_p); - - insn = occr->insn; -- set = single_set (insn); -- gcc_assert (set); -+ set = single_set_gcse (insn); - - /* Create a pseudo-reg to store the result of reaching - expressions into. Get the mode for the new pseudo -@@ -3456,10 +3515,8 @@ - { - rtx reg; - enum reg_class pressure_class; -- rtx set = single_set (insn); -+ const_rtx set = single_set_gcse (insn); - -- /* Considered invariant insns have only one set. */ -- gcc_assert (set != NULL_RTX); - reg = SET_DEST (set); - if (GET_CODE (reg) == SUBREG) - reg = SUBREG_REG (reg); diff --git a/package/gcc/4.8.5/843-aarch64-vmlaq_lane_s32-typo.patch b/package/gcc/4.8.5/843-aarch64-vmlaq_lane_s32-typo.patch deleted file mode 100644 index afa650c8b9..0000000000 --- a/package/gcc/4.8.5/843-aarch64-vmlaq_lane_s32-typo.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 845478644ba54a6947e9b224f2e5cd342e8257a9 Mon Sep 17 00:00:00 2001 -From: Andrew Hsieh -Date: Wed, 25 Jun 2014 22:13:48 -0700 -Subject: [PATCH] Fix a typo in vmlaq_lane_s32 - -BUG=15526898 - -Change-Id: I4e35a764d369d378808dab29beefe34d1f93249b -Signed-off-by: Peter Korsgaard ---- - -diff --git a/gcc/config/aarch64/arm_neon.h b/gcc/config/aarch64/arm_neon.h -index 73c7e7d..92b0119 100644 ---- a/gcc/config/aarch64/arm_neon.h -+++ b/gcc/config/aarch64/arm_neon.h -@@ -9984,7 +9984,7 @@ - #define vmlaq_lane_s32(a, b, c, d) \ - __extension__ \ - ({ \ -- int32x4_t c_ = (c); \ -+ int32x2_t c_ = (c); \ - int32x4_t b_ = (b); \ - int32x4_t a_ = (a); \ - int32x4_t result; \ diff --git a/package/gcc/4.8.5/850-libstdcxx-uclibc-c99.patch b/package/gcc/4.8.5/850-libstdcxx-uclibc-c99.patch deleted file mode 100644 index 792976fd51..0000000000 --- a/package/gcc/4.8.5/850-libstdcxx-uclibc-c99.patch +++ /dev/null @@ -1,273 +0,0 @@ -Allow C99-depending features of libstdc++ with uClibc - -The libstdc++ code is fairly restrictive on how it checks for C99 -compatibility: it requires *complete* C99 support to enable certain -features. For example, uClibc provides a good number of C99 features, -but not C99 complex number support. For this reason, libstdc++ -completely disables many the standard C++ methods that can in fact -work because uClibc provides the necessary functions. - -This patch is similar and highly inspired from -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58393, but implemented in -a way that doesn't involve changing the configure.ac script, as -autoreconfiguring gcc is complicated. It simply relies on the fact -that uClibc defines the __UCLIBC__ definition. - -Signed-off-by: Thomas Petazzoni - -Index: b/libstdc++-v3/config/locale/generic/c_locale.h -=================================================================== ---- a/libstdc++-v3/config/locale/generic/c_locale.h -+++ b/libstdc++-v3/config/locale/generic/c_locale.h -@@ -70,7 +70,7 @@ - __builtin_va_list __args; - __builtin_va_start(__args, __fmt); - --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args); - #else - const int __ret = __builtin_vsprintf(__out, __fmt, __args); -Index: b/libstdc++-v3/config/locale/gnu/c_locale.h -=================================================================== ---- a/libstdc++-v3/config/locale/gnu/c_locale.h -+++ b/libstdc++-v3/config/locale/gnu/c_locale.h -@@ -88,7 +88,7 @@ - __builtin_va_list __args; - __builtin_va_start(__args, __fmt); - --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args); - #else - const int __ret = __builtin_vsprintf(__out, __fmt, __args); -Index: b/libstdc++-v3/include/bits/basic_string.h -=================================================================== ---- a/libstdc++-v3/include/bits/basic_string.h -+++ b/libstdc++-v3/include/bits/basic_string.h -@@ -2809,7 +2809,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if ((__cplusplus >= 201103L) && defined(_GLIBCXX_USE_C99) \ -+#if ((__cplusplus >= 201103L) && (defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)) \ - && !defined(_GLIBCXX_HAVE_BROKEN_VSWPRINTF)) - - #include -Index: b/libstdc++-v3/include/bits/locale_facets.tcc -=================================================================== ---- a/libstdc++-v3/include/bits/locale_facets.tcc -+++ b/libstdc++-v3/include/bits/locale_facets.tcc -@@ -987,7 +987,7 @@ - char __fbuf[16]; - __num_base::_S_format_float(__io, __fbuf, __mod); - --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - // First try a buffer perhaps big enough (most probably sufficient - // for non-ios_base::fixed outputs) - int __cs_size = __max_digits * 3; -Index: b/libstdc++-v3/include/bits/locale_facets_nonio.tcc -=================================================================== ---- a/libstdc++-v3/include/bits/locale_facets_nonio.tcc -+++ b/libstdc++-v3/include/bits/locale_facets_nonio.tcc -@@ -572,7 +572,7 @@ - { - const locale __loc = __io.getloc(); - const ctype<_CharT>& __ctype = use_facet >(__loc); --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - // First try a buffer perhaps big enough. - int __cs_size = 64; - char* __cs = static_cast(__builtin_alloca(__cs_size)); -Index: b/libstdc++-v3/include/c_compatibility/math.h -=================================================================== ---- a/libstdc++-v3/include/c_compatibility/math.h -+++ b/libstdc++-v3/include/c_compatibility/math.h -@@ -56,7 +56,7 @@ - using std::floor; - using std::fmod; - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - using std::fpclassify; - using std::isfinite; - using std::isinf; -Index: b/libstdc++-v3/include/c_compatibility/wchar.h -=================================================================== ---- a/libstdc++-v3/include/c_compatibility/wchar.h -+++ b/libstdc++-v3/include/c_compatibility/wchar.h -@@ -103,7 +103,7 @@ - using std::wmemset; - using std::wcsftime; - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - using std::wcstold; - using std::wcstoll; - using std::wcstoull; -Index: b/libstdc++-v3/include/c_global/cstdlib -=================================================================== ---- a/libstdc++-v3/include/c_global/cstdlib -+++ b/libstdc++-v3/include/c_global/cstdlib -@@ -182,7 +182,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef _Exit - #undef llabs -Index: b/libstdc++-v3/include/c_global/cwchar -=================================================================== ---- a/libstdc++-v3/include/c_global/cwchar -+++ b/libstdc++-v3/include/c_global/cwchar -@@ -232,7 +232,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef wcstold - #undef wcstoll -@@ -289,7 +289,7 @@ - using std::vwscanf; - #endif - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - using std::wcstold; - using std::wcstoll; - using std::wcstoull; -Index: b/libstdc++-v3/include/c_std/cstdio -=================================================================== ---- a/libstdc++-v3/include/c_std/cstdio -+++ b/libstdc++-v3/include/c_std/cstdio -@@ -139,7 +139,7 @@ - using ::vsprintf; - } // namespace std - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef snprintf - #undef vfscanf -Index: b/libstdc++-v3/include/c_std/cstdlib -=================================================================== ---- a/libstdc++-v3/include/c_std/cstdlib -+++ b/libstdc++-v3/include/c_std/cstdlib -@@ -180,7 +180,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef _Exit - #undef llabs -Index: b/libstdc++-v3/include/c_std/cwchar -=================================================================== ---- a/libstdc++-v3/include/c_std/cwchar -+++ b/libstdc++-v3/include/c_std/cwchar -@@ -228,7 +228,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef wcstold - #undef wcstoll -Index: b/libstdc++-v3/include/ext/vstring.h -=================================================================== ---- a/libstdc++-v3/include/ext/vstring.h -+++ b/libstdc++-v3/include/ext/vstring.h -@@ -2571,7 +2571,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if ((__cplusplus >= 201103L) && defined(_GLIBCXX_USE_C99)) -+#if ((__cplusplus >= 201103L) && (defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__))) - - #include - -Index: b/libstdc++-v3/include/tr1/cstdio -=================================================================== ---- a/libstdc++-v3/include/tr1/cstdio -+++ b/libstdc++-v3/include/tr1/cstdio -@@ -33,7 +33,7 @@ - - #include - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - namespace std _GLIBCXX_VISIBILITY(default) - { -Index: b/libstdc++-v3/include/tr1/cstdlib -=================================================================== ---- a/libstdc++-v3/include/tr1/cstdlib -+++ b/libstdc++-v3/include/tr1/cstdlib -@@ -35,7 +35,7 @@ - - #if _GLIBCXX_HOSTED - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - namespace std _GLIBCXX_VISIBILITY(default) - { -Index: b/libstdc++-v3/include/tr1/cwchar -=================================================================== ---- a/libstdc++-v3/include/tr1/cwchar -+++ b/libstdc++-v3/include/tr1/cwchar -@@ -52,7 +52,7 @@ - using std::vwscanf; - #endif - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - using std::wcstold; - using std::wcstoll; - using std::wcstoull; -Index: b/libstdc++-v3/include/tr1/stdlib.h -=================================================================== ---- a/libstdc++-v3/include/tr1/stdlib.h -+++ b/libstdc++-v3/include/tr1/stdlib.h -@@ -33,7 +33,7 @@ - - #if _GLIBCXX_HOSTED - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - using std::tr1::atoll; - using std::tr1::strtoll; -Index: b/libstdc++-v3/src/c++11/debug.cc -=================================================================== ---- a/libstdc++-v3/src/c++11/debug.cc -+++ b/libstdc++-v3/src/c++11/debug.cc -@@ -787,7 +787,7 @@ - int __n __attribute__ ((__unused__)), - const char* __fmt, _Tp __s) const throw () - { --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - std::snprintf(__buf, __n, __fmt, __s); - #else - std::sprintf(__buf, __fmt, __s); -Index: b/libstdc++-v3/include/c_global/cstdio -=================================================================== ---- a/libstdc++-v3/include/c_global/cstdio -+++ b/libstdc++-v3/include/c_global/cstdio -@@ -139,7 +139,7 @@ - using ::vsprintf; - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef snprintf - #undef vfscanf diff --git a/package/gcc/4.8.5/851-PR-other-56780.patch b/package/gcc/4.8.5/851-PR-other-56780.patch deleted file mode 100644 index feb433920d..0000000000 --- a/package/gcc/4.8.5/851-PR-other-56780.patch +++ /dev/null @@ -1,244 +0,0 @@ -From afe990251bd9b3a063f03da31a3b8d139d033bc3 Mon Sep 17 00:00:00 2001 -From: ian -Date: Sat, 1 Jun 2013 00:20:49 +0000 -Subject: [PATCH] PR other/56780 - -* libiberty/configure.ac: Move test for --enable-install-libiberty -outside of the 'with_target_subdir' test so that it actually gets -run. Add output messages to show the test result. -* libiberty/configure: Regenerate. -* libiberty/Makefile.in (install_to_libdir): Place the -installation of the libiberty library in the same guard as that -used for the headers to prevent it being installed unless -requested via --enable-install-libiberty. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199570 138bc75d-0d04-0410-961f-82ee72b054a4 - -libiberty: fix --enable-install-libiberty flag [PR 56780] - -Commit 199570 fixed the --disable-install-libiberty behavior, but it also -added a bug where the enable path never works because the initial clear -of target_header_dir wasn't deleted. So we end up initializing properly -at the top only to reset it at the end all the time. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206367 138bc75d-0d04-0410-961f-82ee72b054a4 - -[Romain - squash the two upstream commits - Remove the ChangeLog] -Signed-off-by: Romain Naour ---- - libiberty/Makefile.in | 24 ++++++++++----------- - libiberty/configure | 57 +++++++++++++++++++++++++++----------------------- - libiberty/configure.ac | 47 ++++++++++++++++++++++------------------- - 3 files changed, 68 insertions(+), 60 deletions(-) - -diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in -index f6a3ebd..75ff82d 100644 ---- a/libiberty/Makefile.in -+++ b/libiberty/Makefile.in -@@ -355,19 +355,19 @@ install-strip: install - # since it will be passed the multilib flags. - MULTIOSDIR = `$(CC) $(CFLAGS) -print-multi-os-directory` - install_to_libdir: all -- ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR) -- $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n -- ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n ) -- mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB) - if test -n "${target_header_dir}"; then \ -- case "${target_header_dir}" in \ -- /*) thd=${target_header_dir};; \ -- *) thd=${includedir}/${target_header_dir};; \ -- esac; \ -- ${mkinstalldirs} $(DESTDIR)$${thd}; \ -- for h in ${INSTALLED_HEADERS}; do \ -- ${INSTALL_DATA} $$h $(DESTDIR)$${thd}; \ -- done; \ -+ ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR); \ -+ $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n; \ -+ ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n ); \ -+ mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB); \ -+ case "${target_header_dir}" in \ -+ /*) thd=${target_header_dir};; \ -+ *) thd=${includedir}/${target_header_dir};; \ -+ esac; \ -+ ${mkinstalldirs} $(DESTDIR)$${thd}; \ -+ for h in ${INSTALLED_HEADERS}; do \ -+ ${INSTALL_DATA} $$h $(DESTDIR)$${thd}; \ -+ done; \ - fi - @$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install - -diff --git a/libiberty/configure b/libiberty/configure -index 5367027..4feb95a 100755 ---- a/libiberty/configure -+++ b/libiberty/configure -@@ -675,8 +675,8 @@ with_cross_host - with_newlib - enable_maintainer_mode - enable_multilib --enable_largefile - enable_install_libiberty -+enable_largefile - ' - ac_precious_vars='build_alias - host_alias -@@ -1303,8 +1303,8 @@ Optional Features: - enable make rules and dependencies not useful - (and sometimes confusing) to the casual installer - --enable-multilib build many library versions (default) -+ --enable-install-libiberty Install headers and library for end users - --disable-largefile omit support for large files -- --enable-install-libiberty Install headers for end users - - Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] -@@ -2784,6 +2784,35 @@ if test $cross_compiling = no && test $multilib = yes \ - cross_compiling=maybe - fi - -+# We may wish to install the target headers somewhere. -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to install libiberty headers and static library" >&5 -+$as_echo_n "checking whether to install libiberty headers and static library... " >&6; } -+ -+# Check whether --enable-install-libiberty was given. -+if test "${enable_install_libiberty+set}" = set; then : -+ enableval=$enable_install_libiberty; enable_install_libiberty=$enableval -+else -+ enable_install_libiberty=no -+fi -+ -+# Option parsed, now set things appropriately. -+case x"$enable_install_libiberty" in -+ xyes|x) -+ target_header_dir=libiberty -+ ;; -+ xno) -+ target_header_dir= -+ ;; -+ *) -+ # This could be sanity-checked in various ways... -+ target_header_dir="${enable_install_libiberty}" -+ ;; -+esac -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_install_libiberty" >&5 -+$as_echo "$enable_install_libiberty" >&6; } -+{ $as_echo "$as_me:${as_lineno-$LINENO}: target_header_dir = $target_header_dir" >&5 -+$as_echo "$as_me: target_header_dir = $target_header_dir" >&6;} -+ - - ac_ext=c - ac_cpp='$CPP $CPPFLAGS' -@@ -5476,7 +5505,6 @@ fi - - setobjs= - CHECK= --target_header_dir= - if test -n "${with_target_subdir}"; then - - # We are being configured as a target library. AC_REPLACE_FUNCS -@@ -5759,29 +5787,6 @@ _ACEOF - - esac - -- # We may wish to install the target headers somewhere. -- # Check whether --enable-install-libiberty was given. --if test "${enable_install_libiberty+set}" = set; then : -- enableval=$enable_install_libiberty; enable_install_libiberty=$enableval --else -- enable_install_libiberty=no --fi -- -- # Option parsed, now set things appropriately. -- case x"$enable_install_libiberty" in -- xyes|x) -- target_header_dir=libiberty -- ;; -- xno) -- target_header_dir= -- ;; -- *) -- # This could be sanity-checked in various ways... -- target_header_dir="${enable_install_libiberty}" -- ;; -- esac -- -- - else - - # Not a target library, so we set things up to run the test suite. -diff --git a/libiberty/configure.ac b/libiberty/configure.ac -index c763894..f17e6b6 100644 ---- a/libiberty/configure.ac -+++ b/libiberty/configure.ac -@@ -128,6 +128,31 @@ if test $cross_compiling = no && test $multilib = yes \ - cross_compiling=maybe - fi - -+# We may wish to install the target headers somewhere. -+AC_MSG_CHECKING([whether to install libiberty headers and static library]) -+dnl install-libiberty is disabled by default -+ -+AC_ARG_ENABLE(install-libiberty, -+[ --enable-install-libiberty Install headers and library for end users], -+enable_install_libiberty=$enableval, -+enable_install_libiberty=no)dnl -+ -+# Option parsed, now set things appropriately. -+case x"$enable_install_libiberty" in -+ xyes|x) -+ target_header_dir=libiberty -+ ;; -+ xno) -+ target_header_dir= -+ ;; -+ *) -+ # This could be sanity-checked in various ways... -+ target_header_dir="${enable_install_libiberty}" -+ ;; -+esac -+AC_MSG_RESULT($enable_install_libiberty) -+AC_MSG_NOTICE([target_header_dir = $target_header_dir]) -+ - GCC_NO_EXECUTABLES - AC_PROG_CC - AC_SYS_LARGEFILE -@@ -380,7 +405,6 @@ fi - - setobjs= - CHECK= --target_header_dir= - if test -n "${with_target_subdir}"; then - - # We are being configured as a target library. AC_REPLACE_FUNCS -@@ -492,27 +516,6 @@ if test -n "${with_target_subdir}"; then - - esac - -- # We may wish to install the target headers somewhere. -- AC_ARG_ENABLE(install-libiberty, -- [ --enable-install-libiberty Install headers for end users], -- enable_install_libiberty=$enableval, -- enable_install_libiberty=no)dnl -- -- # Option parsed, now set things appropriately. -- case x"$enable_install_libiberty" in -- xyes|x) -- target_header_dir=libiberty -- ;; -- xno) -- target_header_dir= -- ;; -- *) -- # This could be sanity-checked in various ways... -- target_header_dir="${enable_install_libiberty}" -- ;; -- esac -- -- - else - - # Not a target library, so we set things up to run the test suite. --- -1.9.3 - diff --git a/package/gcc/4.8.5/871-xtensa-reimplement-register-spilling.patch b/package/gcc/4.8.5/871-xtensa-reimplement-register-spilling.patch deleted file mode 100644 index abc7a08e8d..0000000000 --- a/package/gcc/4.8.5/871-xtensa-reimplement-register-spilling.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 05154174b369505238b759cf80d595d8cfc8c731 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Mon, 10 Aug 2015 21:35:20 +0300 -Subject: [PATCH 1/3] xtensa: reimplement register spilling - -Spilling windowed registers in userspace is much easier, more portable, -less error-prone and equally effective as in kernel. Now that register -spilling syscall is considered obsolete in the xtensa linux kernel -replace it with CALL12 followed by series of ENTRY in libgcc. - -2015-08-18 Max Filippov -libgcc/ - * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill): Use - CALL12 followed by series of ENTRY to spill windowed registers. - (__xtensa_nonlocal_goto): Call __xtensa_libgcc_window_spill - instead of making linux spill syscall. - -Signed-off-by: Max Filippov ---- -Backported from: r226962 - - libgcc/config/xtensa/lib2funcs.S | 30 +++++++++++++++++++++++------- - 1 file changed, 23 insertions(+), 7 deletions(-) - -diff --git a/libgcc/config/xtensa/lib2funcs.S b/libgcc/config/xtensa/lib2funcs.S -index 3ac8c1d..2e678af 100644 ---- a/libgcc/config/xtensa/lib2funcs.S -+++ b/libgcc/config/xtensa/lib2funcs.S -@@ -33,10 +33,29 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - .global __xtensa_libgcc_window_spill - .type __xtensa_libgcc_window_spill,@function - __xtensa_libgcc_window_spill: -- entry sp, 32 -- movi a2, 0 -- syscall -+ entry sp, 48 -+#if XCHAL_NUM_AREGS > 16 -+ call12 1f -+ retw -+ .align 4 -+1: -+ .rept (XCHAL_NUM_AREGS - 24) / 12 -+ _entry sp, 48 -+ mov a12, a0 -+ .endr -+ _entry sp, 16 -+#if XCHAL_NUM_AREGS % 12 == 0 -+ mov a4, a4 -+#elif XCHAL_NUM_AREGS % 12 == 4 -+ mov a8, a8 -+#elif XCHAL_NUM_AREGS % 12 == 8 -+ mov a12, a12 -+#endif -+ retw -+#else -+ mov a8, a8 - retw -+#endif - .size __xtensa_libgcc_window_spill, .-__xtensa_libgcc_window_spill - - -@@ -58,10 +77,7 @@ __xtensa_nonlocal_goto: - entry sp, 32 - - /* Flush registers. */ -- mov a5, a2 -- movi a2, 0 -- syscall -- mov a2, a5 -+ call8 __xtensa_libgcc_window_spill - - /* Because the save area for a0-a3 is stored one frame below - the one identified by a2, the only way to restore those --- -1.8.1.4 - diff --git a/package/gcc/4.8.5/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch b/package/gcc/4.8.5/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch deleted file mode 100644 index f23a5c0737..0000000000 --- a/package/gcc/4.8.5/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch +++ /dev/null @@ -1,33 +0,0 @@ -From f66206679a0ad604f13673559f230160cd3d1189 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Fri, 14 Aug 2015 02:45:02 +0300 -Subject: [PATCH 2/3] xtensa: use unwind-dw2-fde-dip instead of unwind-dw2-fde - -This allows having exception cleanup code in binaries that don't -register their unwind tables. - -2015-08-18 Max Filippov -libgcc/ - * config/xtensa/t-xtensa (LIB2ADDEH): Replace unwind-dw2-fde - with unwind-dw2-fde-dip. - -Signed-off-by: Max Filippov ---- -Backported from: r226963 - - libgcc/config/xtensa/t-xtensa | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libgcc/config/xtensa/t-xtensa b/libgcc/config/xtensa/t-xtensa -index 27399e6..66d0eb3 100644 ---- a/libgcc/config/xtensa/t-xtensa -+++ b/libgcc/config/xtensa/t-xtensa -@@ -13,4 +13,4 @@ LIB1ASMFUNCS = _mulsi3 _divsi3 _modsi3 _udivsi3 _umodsi3 \ - LIB2ADD = $(srcdir)/config/xtensa/lib2funcs.S - - LIB2ADDEH = $(srcdir)/config/xtensa/unwind-dw2-xtensa.c \ -- $(srcdir)/unwind-dw2-fde.c $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c -+ $(srcdir)/unwind-dw2-fde-dip.c $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c --- -1.8.1.4 - diff --git a/package/gcc/4.8.5/873-xtensa-fix-_Unwind_GetCFA.patch b/package/gcc/4.8.5/873-xtensa-fix-_Unwind_GetCFA.patch deleted file mode 100644 index dc405132cc..0000000000 --- a/package/gcc/4.8.5/873-xtensa-fix-_Unwind_GetCFA.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 15c7c4d39b317f0d902ef28fd43eca5c3369f891 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Sat, 15 Aug 2015 05:12:11 +0300 -Subject: [PATCH 3/3] xtensa: fix _Unwind_GetCFA - -Returning context->cfa in _Unwind_GetCFA makes CFA point one stack frame -higher than what was actually used by code at context->ra. This results -in invalid CFA value in signal frames and premature unwinding completion -in forced unwinding used by uClibc NPTL thread cancellation. -Returning context->sp from _Unwind_GetCFA makes all CFA values valid and -matching code that used them. - -2015-08-18 Max Filippov -libgcc/ - * config/xtensa/unwind-dw2-xtensa.c (_Unwind_GetCFA): Return - context->sp instead of context->cfa. - -Signed-off-by: Max Filippov ---- -Backported from: r226964 - - libgcc/config/xtensa/unwind-dw2-xtensa.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libgcc/config/xtensa/unwind-dw2-xtensa.c b/libgcc/config/xtensa/unwind-dw2-xtensa.c -index 35f7797..ef6b900 100644 ---- a/libgcc/config/xtensa/unwind-dw2-xtensa.c -+++ b/libgcc/config/xtensa/unwind-dw2-xtensa.c -@@ -130,7 +130,7 @@ _Unwind_GetGR (struct _Unwind_Context *context, int index) - _Unwind_Word - _Unwind_GetCFA (struct _Unwind_Context *context) - { -- return (_Unwind_Ptr) context->cfa; -+ return (_Unwind_Ptr) context->sp; - } - - /* Overwrite the saved value for register INDEX in CONTEXT with VAL. */ --- -1.8.1.4 - diff --git a/package/gcc/4.8.5/890-fix-m68k-compile.patch b/package/gcc/4.8.5/890-fix-m68k-compile.patch deleted file mode 100644 index 124e8427f8..0000000000 --- a/package/gcc/4.8.5/890-fix-m68k-compile.patch +++ /dev/null @@ -1,15 +0,0 @@ -remove unused header, which breaks the toolchain building - -Signed-off-by: Waldemar Brodkorb - -diff -Nur gcc-4.8.5.orig/libgcc/config/m68k/linux-atomic.c gcc-4.8.5/libgcc/config/m68k/linux-atomic.c ---- gcc-4.8.5.orig/libgcc/config/m68k/linux-atomic.c 2013-02-04 20:06:20.000000000 +0100 -+++ gcc-4.8.5/libgcc/config/m68k/linux-atomic.c 2016-03-19 00:18:12.000000000 +0100 -@@ -33,7 +33,6 @@ - using the kernel helper defined below. There is no support for - 64-bit operations yet. */ - --#include - #include - - #ifndef __NR_atomic_cmpxchg_32 diff --git a/package/gcc/4.8.5/891-fix-m68k-uclinux.patch b/package/gcc/4.8.5/891-fix-m68k-uclinux.patch deleted file mode 100644 index 37c7ac406b..0000000000 --- a/package/gcc/4.8.5/891-fix-m68k-uclinux.patch +++ /dev/null @@ -1,18 +0,0 @@ -avoids internal compiler error while compiling linux-atomic.c -See here: -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53833 - -Signed-off-by: Waldemar Brodkorb - -diff -Nur gcc-4.8.5.orig/libgcc/config.host gcc-4.8.5/libgcc/config.host ---- gcc-4.8.5.orig/libgcc/config.host 2014-03-20 17:12:30.000000000 +0100 -+++ gcc-4.8.5/libgcc/config.host 2016-04-27 15:04:01.521171537 +0200 -@@ -689,7 +689,7 @@ - m68k*-*-openbsd*) - ;; - m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc -- tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux" -+ tmake_file="$tmake_file m68k/t-floatlib" - md_unwind_header=m68k/linux-unwind.h - ;; - m68k-*-linux*) # Motorola m68k's running GNU/Linux diff --git a/package/gcc/4.8.5/900-musl-support.patch b/package/gcc/4.8.5/900-musl-support.patch deleted file mode 100644 index 6840fccea4..0000000000 --- a/package/gcc/4.8.5/900-musl-support.patch +++ /dev/null @@ -1,648 +0,0 @@ -Add musl support to gcc - -This patch comes from the musl-cross project at -https://bitbucket.org/GregorR/musl-cross/src. Compared to the upstream version: - - * the config.sub modifications have been removed, because Buildroot - already overwrites all config.sub with a more recent config.sub - that has musl support. - - * change to ensure that a dummy dynamic linker path - MUSL_DYNAMIC_LINKER is defined for all architectures, - otherwise building gcc for architectures not supported by musl was - causing build failure. Bug reported upstream at - https://bitbucket.org/GregorR/musl-gcc-patches/issue/4/musl-gcc-patches-break-the-build-on. - - * change the USE_PT_GNU_EH_FRAME logic to keep the existing gcc logic - and only add the musl one as an addition, not as a replacement. Not - doing this breaks C++ exception handling with glibc, because - USE_PT_GNU_EH_FRAME doesn't get defined due to the configure script - not testing dl_iterate_phdr() on any system except Solaris. - -Signed-off-by: Thomas Petazzoni -[Gustavo: Update for gcc 4.8.3] - -Index: b/fixincludes/mkfixinc.sh -=================================================================== ---- a/fixincludes/mkfixinc.sh -+++ b/fixincludes/mkfixinc.sh -@@ -19,7 +19,8 @@ - powerpc-*-eabi* | \ - powerpc-*-rtems* | \ - powerpcle-*-eabisim* | \ -- powerpcle-*-eabi* ) -+ powerpcle-*-eabi* | \ -+ *-musl* ) - # IF there is no include fixing, - # THEN create a no-op fixer and exit - (echo "#! /bin/sh" ; echo "exit 0" ) > ${target} -Index: b/gcc/config/aarch64/aarch64-linux.h -=================================================================== ---- a/gcc/config/aarch64/aarch64-linux.h -+++ b/gcc/config/aarch64/aarch64-linux.h -@@ -21,7 +21,12 @@ - #ifndef GCC_AARCH64_LINUX_H - #define GCC_AARCH64_LINUX_H - -+/* The AArch64 port currently supports two dynamic linkers: -+ - ld-linux-aarch64.so.1 - GLIBC dynamic linker -+ - ld-musl-aarch64.so.1 - musl libc dynamic linker */ - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64.so.1" -+#undef MUSL_DYNAMIC_LINKER -+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64.so.1" - - #define CPP_SPEC "%{pthread:-D_REENTRANT}" - -Index: b/gcc/config/arm/linux-eabi.h -=================================================================== ---- a/gcc/config/arm/linux-eabi.h -+++ b/gcc/config/arm/linux-eabi.h -@@ -77,6 +77,23 @@ - %{mfloat-abi=soft*:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "} \ - %{!mfloat-abi=*:" GLIBC_DYNAMIC_LINKER_DEFAULT "}" - -+/* For ARM musl currently supports four dynamic linkers: -+ - ld-musl-arm.so.1 - for the EABI-derived soft-float ABI -+ - ld-musl-armhf.so.1 - for the EABI-derived hard-float ABI -+ - ld-musl-armeb.so.1 - for the EABI-derived soft-float ABI, EB -+ - ld-musl-armebhf.so.1 - for the EABI-derived hard-float ABI, EB -+ musl does not support the legacy OABI mode. -+ All the dynamic linkers live in /lib. -+ We default to soft-float, EL. */ -+#undef MUSL_DYNAMIC_LINKER -+#if TARGET_BIG_ENDIAN_DEFAULT -+#define MUSL_DYNAMIC_LINKER_E "%{mlittle-endian:;:eb}" -+#else -+#define MUSL_DYNAMIC_LINKER_E "%{mbig-endian:eb}" -+#endif -+#define MUSL_DYNAMIC_LINKER \ -+ "/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}.so.1" -+ - /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to - use the GNU/Linux version, not the generic BPABI version. */ - #undef LINK_SPEC -Index: b/gcc/config/i386/linux64.h -=================================================================== ---- a/gcc/config/i386/linux64.h -+++ b/gcc/config/i386/linux64.h -@@ -30,3 +30,10 @@ - #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" - #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2" - #define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2" -+ -+#undef MUSL_DYNAMIC_LINKER32 -+#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1" -+#undef MUSL_DYNAMIC_LINKER64 -+#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-x86_64.so.1" -+#undef MUSL_DYNAMIC_LINKERX32 -+#define MUSL_DYNAMIC_LINKERX32 "/lib/ld-musl-x32.so.1" -Index: b/gcc/config/i386/linux.h -=================================================================== ---- a/gcc/config/i386/linux.h -+++ b/gcc/config/i386/linux.h -@@ -21,3 +21,5 @@ - - #define GNU_USER_LINK_EMULATION "elf_i386" - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" -+#undef MUSL_DYNAMIC_LINKER -+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1" -Index: b/gcc/config/linux.h -=================================================================== ---- a/gcc/config/linux.h -+++ b/gcc/config/linux.h -@@ -32,10 +32,12 @@ - #define OPTION_GLIBC (DEFAULT_LIBC == LIBC_GLIBC) - #define OPTION_UCLIBC (DEFAULT_LIBC == LIBC_UCLIBC) - #define OPTION_BIONIC (DEFAULT_LIBC == LIBC_BIONIC) -+#define OPTION_MUSL (DEFAULT_LIBC == LIBC_MUSL) - #else - #define OPTION_GLIBC (linux_libc == LIBC_GLIBC) - #define OPTION_UCLIBC (linux_libc == LIBC_UCLIBC) - #define OPTION_BIONIC (linux_libc == LIBC_BIONIC) -+#define OPTION_MUSL (linux_libc == LIBC_MUSL) - #endif - - #define GNU_USER_TARGET_OS_CPP_BUILTINS() \ -@@ -53,18 +55,21 @@ - uClibc or Bionic is the default C library and whether - -muclibc or -mglibc or -mbionic has been passed to change the default. */ - --#define CHOOSE_DYNAMIC_LINKER1(LIBC1, LIBC2, LIBC3, LD1, LD2, LD3) \ -- "%{" LIBC2 ":" LD2 ";:%{" LIBC3 ":" LD3 ";:" LD1 "}}" -+#define CHOOSE_DYNAMIC_LINKER1(LIBC1, LIBC2, LIBC3, LIBC4, LD1, LD2, LD3, LD4) \ -+ "%{" LIBC2 ":" LD2 ";:%{" LIBC3 ":" LD3 ";:%{" LIBC4 ":" LD4 ";:" LD1 "}}}" - - #if DEFAULT_LIBC == LIBC_GLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U, B) \ -- CHOOSE_DYNAMIC_LINKER1 ("mglibc", "muclibc", "mbionic", G, U, B) -+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ -+ CHOOSE_DYNAMIC_LINKER1 ("mglibc", "muclibc", "mbionic", "mmusl", G, U, B, M) - #elif DEFAULT_LIBC == LIBC_UCLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U, B) \ -- CHOOSE_DYNAMIC_LINKER1 ("muclibc", "mglibc", "mbionic", U, G, B) -+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ -+ CHOOSE_DYNAMIC_LINKER1 ("muclibc", "mglibc", "mbionic", "mmusl", U, G, B, M) - #elif DEFAULT_LIBC == LIBC_BIONIC --#define CHOOSE_DYNAMIC_LINKER(G, U, B) \ -- CHOOSE_DYNAMIC_LINKER1 ("mbionic", "mglibc", "muclibc", B, G, U) -+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ -+ CHOOSE_DYNAMIC_LINKER1 ("mbionic", "mglibc", "muclibc", "mmusl", B, G, U, M) -+#elif DEFAULT_LIBC == LIBC_MUSL -+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ -+ CHOOSE_DYNAMIC_LINKER1 ("mmusl", "mglibc", "muclibc", "mbionic", M, G, U, B) - #else - #error "Unsupported DEFAULT_LIBC" - #endif /* DEFAULT_LIBC */ -@@ -82,23 +87,32 @@ - #define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64" - #define BIONIC_DYNAMIC_LINKERX32 "/system/bin/linkerx32" - -+/* Musl dynamic linker paths must be defined on a per-architecture -+ basis, for each architecture supported by Musl. However, in order -+ to let other architectures continue to build with other C -+ libraries, we provide a dummy definition of the following defines. */ -+#define MUSL_DYNAMIC_LINKER "invalid" -+#define MUSL_DYNAMIC_LINKER32 "invalid" -+#define MUSL_DYNAMIC_LINKER64 "invalid" -+#define MUSL_DYNAMIC_LINKERX32 "invalid" -+ - #define GNU_USER_DYNAMIC_LINKER \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, \ -- BIONIC_DYNAMIC_LINKER) -+ BIONIC_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER) - #define GNU_USER_DYNAMIC_LINKER32 \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32, \ -- BIONIC_DYNAMIC_LINKER32) -+ BIONIC_DYNAMIC_LINKER32, MUSL_DYNAMIC_LINKER32) - #define GNU_USER_DYNAMIC_LINKER64 \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64, \ -- BIONIC_DYNAMIC_LINKER64) -+ BIONIC_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKER64) - #define GNU_USER_DYNAMIC_LINKERX32 \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERX32, UCLIBC_DYNAMIC_LINKERX32, \ -- BIONIC_DYNAMIC_LINKERX32) -+ BIONIC_DYNAMIC_LINKERX32, MUSL_DYNAMIC_LINKERX32) - - /* Determine whether the entire c99 runtime - is present in the runtime library. */ - #undef TARGET_C99_FUNCTIONS --#define TARGET_C99_FUNCTIONS (OPTION_GLIBC) -+#define TARGET_C99_FUNCTIONS (OPTION_GLIBC || OPTION_MUSL) - - /* Whether we have sincos that follows the GNU extension. */ - #undef TARGET_HAS_SINCOS -@@ -107,3 +121,74 @@ - /* Whether we have Bionic libc runtime */ - #undef TARGET_HAS_BIONIC - #define TARGET_HAS_BIONIC (OPTION_BIONIC) -+ -+/* musl avoids problematic includes by rearranging the include directories. -+ * Unfortunately, this is mostly duplicated from cppdefault.c */ -+#if DEFAULT_LIBC == LIBC_MUSL -+#define INCLUDE_DEFAULTS_MUSL_GPP \ -+ { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, \ -+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, \ -+ { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, \ -+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 }, \ -+ { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, \ -+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, -+ -+#ifdef LOCAL_INCLUDE_DIR -+#define INCLUDE_DEFAULTS_MUSL_LOCAL \ -+ { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 }, \ -+ { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 }, -+#else -+#define INCLUDE_DEFAULTS_MUSL_LOCAL -+#endif -+ -+#ifdef PREFIX_INCLUDE_DIR -+#define INCLUDE_DEFAULTS_MUSL_PREFIX \ -+ { PREFIX_INCLUDE_DIR, 0, 0, 1, 0, 0}, -+#else -+#define INCLUDE_DEFAULTS_MUSL_PREFIX -+#endif -+ -+#ifdef CROSS_INCLUDE_DIR -+#define INCLUDE_DEFAULTS_MUSL_CROSS \ -+ { CROSS_INCLUDE_DIR, "GCC", 0, 0, 0, 0}, -+#else -+#define INCLUDE_DEFAULTS_MUSL_CROSS -+#endif -+ -+#ifdef TOOL_INCLUDE_DIR -+#define INCLUDE_DEFAULTS_MUSL_TOOL \ -+ { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0}, -+#else -+#define INCLUDE_DEFAULTS_MUSL_TOOL -+#endif -+ -+#ifdef NATIVE_SYSTEM_HEADER_DIR -+#define INCLUDE_DEFAULTS_MUSL_NATIVE \ -+ { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \ -+ { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 0 }, -+#else -+#define INCLUDE_DEFAULTS_MUSL_NATIVE -+#endif -+ -+#if defined (CROSS_DIRECTORY_STRUCTURE) && !defined (TARGET_SYSTEM_ROOT) -+# undef INCLUDE_DEFAULTS_MUSL_LOCAL -+# define INCLUDE_DEFAULTS_MUSL_LOCAL -+# undef INCLUDE_DEFAULTS_MUSL_NATIVE -+# define INCLUDE_DEFAULTS_MUSL_NATIVE -+#else -+# undef INCLUDE_DEFAULTS_MUSL_CROSS -+# define INCLUDE_DEFAULTS_MUSL_CROSS -+#endif -+ -+#undef INCLUDE_DEFAULTS -+#define INCLUDE_DEFAULTS \ -+ { \ -+ INCLUDE_DEFAULTS_MUSL_GPP \ -+ INCLUDE_DEFAULTS_MUSL_PREFIX \ -+ INCLUDE_DEFAULTS_MUSL_CROSS \ -+ INCLUDE_DEFAULTS_MUSL_TOOL \ -+ INCLUDE_DEFAULTS_MUSL_NATIVE \ -+ { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \ -+ { 0, 0, 0, 0, 0, 0 } \ -+ } -+#endif -Index: b/gcc/config/linux.opt -=================================================================== ---- a/gcc/config/linux.opt -+++ b/gcc/config/linux.opt -@@ -30,3 +30,7 @@ - muclibc - Target Report RejectNegative Var(linux_libc,LIBC_UCLIBC) Negative(mbionic) - Use uClibc C library -+ -+mmusl -+Target Report RejectNegative Var(linux_libc,LIBC_MUSL) Negative(mglibc) -+Use musl C library -Index: b/gcc/config/microblaze/linux.h -=================================================================== ---- a/gcc/config/microblaze/linux.h -+++ b/gcc/config/microblaze/linux.h -@@ -25,7 +25,23 @@ - #undef TLS_NEEDS_GOT - #define TLS_NEEDS_GOT 1 - --#define DYNAMIC_LINKER "/lib/ld.so.1" -+#if TARGET_BIG_ENDIAN_DEFAULT == 0 /* LE */ -+#define MUSL_DYNAMIC_LINKER_E "%{EB:;:el}" -+#else -+#define MUSL_DYNAMIC_LINKER_E "%{EL:el}" -+#endif -+ -+#undef MUSL_DYNAMIC_LINKER -+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-microblaze" MUSL_DYNAMIC_LINKER_E ".so.1" -+#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" -+ -+#if DEFAULT_LIBC == LIBC_MUSL -+#define DYNAMIC_LINKER MUSL_DYNAMIC_LINKER -+#else -+#define DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER -+#endif -+ -+ - #undef SUBTARGET_EXTRA_SPECS - #define SUBTARGET_EXTRA_SPECS \ - { "dynamic_linker", DYNAMIC_LINKER } -Index: b/gcc/config/mips/linux64.h -=================================================================== ---- a/gcc/config/mips/linux64.h -+++ b/gcc/config/mips/linux64.h -@@ -29,4 +29,4 @@ - #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32" - #define GNU_USER_DYNAMIC_LINKERN32 \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32, \ -- BIONIC_DYNAMIC_LINKERN32) -+ BIONIC_DYNAMIC_LINKERN32, MUSL_DYNAMIC_LINKER) -Index: b/gcc/config/mips/linux.h -=================================================================== ---- a/gcc/config/mips/linux.h -+++ b/gcc/config/mips/linux.h -@@ -18,3 +18,11 @@ - . */ - - #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" -+ -+#if TARGET_ENDIAN_DEFAULT == 0 /* LE */ -+#define MUSL_DYNAMIC_LINKER_E "%{EB:;:el}" -+#else -+#define MUSL_DYNAMIC_LINKER_E "%{EL:el}" -+#endif -+#undef MUSL_DYNAMIC_LINKER -+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-mips" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1" -Index: b/gcc/config/rs6000/linux64.h -=================================================================== ---- a/gcc/config/rs6000/linux64.h -+++ b/gcc/config/rs6000/linux64.h -@@ -374,17 +374,23 @@ - #endif - #define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0" - #define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0" -+#undef MUSL_DYNAMIC_LINKER32 -+#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-powerpc.so.1" -+#undef MUSL_DYNAMIC_LINKER64 -+#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-powerpc64.so.1" - #if DEFAULT_LIBC == LIBC_UCLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{mmusl:" M ";:" U "}}" - #elif DEFAULT_LIBC == LIBC_GLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:" U ";:" G "}" -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{muclibc:" U ";:%{mmusl:" M ";:" G "}}" -+#elif DEFAULT_LIBC == LIBC_MUSL -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{muclibc:" U ";:" M "}}" - #else - #error "Unsupported DEFAULT_LIBC" - #endif - #define GNU_USER_DYNAMIC_LINKER32 \ -- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32) -+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32, MUSL_DYNAMIC_LINKER32) - #define GNU_USER_DYNAMIC_LINKER64 \ -- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64) -+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKER64) - - #undef DEFAULT_ASM_ENDIAN - #if (TARGET_DEFAULT & MASK_LITTLE_ENDIAN) -Index: b/gcc/config/rs6000/secureplt.h -=================================================================== ---- a/gcc/config/rs6000/secureplt.h -+++ b/gcc/config/rs6000/secureplt.h -@@ -18,3 +18,4 @@ - . */ - - #define CC1_SECURE_PLT_DEFAULT_SPEC "-msecure-plt" -+#define LINK_SECURE_PLT_DEFAULT_SPEC "--secure-plt" -Index: b/gcc/config/rs6000/sysv4.h -=================================================================== ---- a/gcc/config/rs6000/sysv4.h -+++ b/gcc/config/rs6000/sysv4.h -@@ -537,6 +537,9 @@ - #ifndef CC1_SECURE_PLT_DEFAULT_SPEC - #define CC1_SECURE_PLT_DEFAULT_SPEC "" - #endif -+#ifndef LINK_SECURE_PLT_DEFAULT_SPEC -+#define LINK_SECURE_PLT_DEFAULT_SPEC "" -+#endif - - /* Pass -G xxx to the compiler. */ - #define CC1_SPEC "%{G*} %(cc1_cpu)" \ -@@ -585,7 +588,8 @@ - - /* Override the default target of the linker. */ - #define LINK_TARGET_SPEC \ -- ENDIAN_SELECT("", " --oformat elf32-powerpcle", "") -+ ENDIAN_SELECT("", " --oformat elf32-powerpcle", "") \ -+ "%{!mbss-plt: %{!msecure-plt: %(link_secure_plt_default)}}" - - /* Any specific OS flags. */ - #define LINK_OS_SPEC "\ -@@ -763,15 +767,18 @@ - - #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" - #define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0" -+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-powerpc.so.1" - #if DEFAULT_LIBC == LIBC_UCLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{mmusl:" M ";:" U "}}" -+#elif DEFAULT_LIBC == LIBC_MUSL -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{muclibc:" U ";:" M "}}" - #elif !defined (DEFAULT_LIBC) || DEFAULT_LIBC == LIBC_GLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:" U ";:" G "}" -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{muclibc:" U ";:%{mmusl:" M ";:" G "}}" - #else - #error "Unsupported DEFAULT_LIBC" - #endif - #define GNU_USER_DYNAMIC_LINKER \ -- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER) -+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER) - - #define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \ - %{rdynamic:-export-dynamic} \ -@@ -894,6 +901,7 @@ - { "link_os_openbsd", LINK_OS_OPENBSD_SPEC }, \ - { "link_os_default", LINK_OS_DEFAULT_SPEC }, \ - { "cc1_secure_plt_default", CC1_SECURE_PLT_DEFAULT_SPEC }, \ -+ { "link_secure_plt_default", LINK_SECURE_PLT_DEFAULT_SPEC }, \ - { "cpp_os_ads", CPP_OS_ADS_SPEC }, \ - { "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \ - { "cpp_os_mvme", CPP_OS_MVME_SPEC }, \ -Index: b/gcc/config/sh/linux.h -=================================================================== ---- a/gcc/config/sh/linux.h -+++ b/gcc/config/sh/linux.h -@@ -43,7 +43,15 @@ - - #define TARGET_ASM_FILE_END file_end_indicate_exec_stack - -+#if TARGET_BIG_ENDIAN_DEFAULT /* BE */ -+#define MUSL_DYNAMIC_LINKER_E "eb" -+#else -+#define MUSL_DYNAMIC_LINKER_E -+#endif -+ - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" -+#undef MUSL_DYNAMIC_LINKER -+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-sh" MUSL_DYNAMIC_LINKER_E ".so.1" - - #undef SUBTARGET_LINK_EMUL_SUFFIX - #define SUBTARGET_LINK_EMUL_SUFFIX "_linux" -Index: b/gcc/config.gcc -=================================================================== ---- a/gcc/config.gcc -+++ b/gcc/config.gcc -@@ -550,7 +550,7 @@ - esac - - # Common C libraries. --tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3" -+tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 LIBC_MUSL=4" - - # Common parts for widely ported systems. - case ${target} in -@@ -653,6 +653,9 @@ - *-*-*uclibc*) - tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC" - ;; -+ *-*-*musl*) -+ tm_defines="$tm_defines DEFAULT_LIBC=LIBC_MUSL" -+ ;; - *) - tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC" - ;; -@@ -2135,6 +2138,10 @@ - powerpc*-*-linux*paired*) - tm_file="${tm_file} rs6000/750cl.h" ;; - esac -+ case ${target} in -+ *-linux*-musl*) -+ enable_secureplt=yes ;; -+ esac - if test x${enable_secureplt} = xyes; then - tm_file="rs6000/secureplt.h ${tm_file}" - fi -Index: b/gcc/configure -=================================================================== ---- a/gcc/configure -+++ b/gcc/configure -@@ -26936,6 +26940,9 @@ - gcc_cv_target_dl_iterate_phdr=no - fi - ;; -+ *-linux-musl*) -+ gcc_cv_target_dl_iterate_phdr=yes -+ ;; - esac - - if test x$gcc_cv_target_dl_iterate_phdr = xyes; then -Index: b/gcc/configure.ac -=================================================================== ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -4848,6 +4852,9 @@ - gcc_cv_target_dl_iterate_phdr=no - fi - ;; -+ *-linux-musl*) -+ gcc_cv_target_dl_iterate_phdr=yes -+ ;; - esac - GCC_TARGET_TEMPLATE([TARGET_DL_ITERATE_PHDR]) - if test x$gcc_cv_target_dl_iterate_phdr = xyes; then -Index: b/gcc/ginclude/stddef.h -=================================================================== ---- a/gcc/ginclude/stddef.h -+++ b/gcc/ginclude/stddef.h -@@ -181,6 +181,7 @@ - #ifndef _GCC_SIZE_T - #ifndef _SIZET_ - #ifndef __size_t -+#ifndef __DEFINED_size_t /* musl */ - #define __size_t__ /* BeOS */ - #define __SIZE_T__ /* Cray Unicos/Mk */ - #define _SIZE_T -@@ -197,6 +198,7 @@ - #define ___int_size_t_h - #define _GCC_SIZE_T - #define _SIZET_ -+#define __DEFINED_size_t /* musl */ - #if (defined (__FreeBSD__) && (__FreeBSD__ >= 5)) \ - || defined(__FreeBSD_kernel__) - /* __size_t is a typedef on FreeBSD 5, must not trash it. */ -@@ -214,6 +216,7 @@ - typedef long ssize_t; - #endif /* __BEOS__ */ - #endif /* !(defined (__GNUG__) && defined (size_t)) */ -+#endif /* __DEFINED_size_t */ - #endif /* __size_t */ - #endif /* _SIZET_ */ - #endif /* _GCC_SIZE_T */ -Index: b/libgcc/unwind-dw2-fde-dip.c -=================================================================== ---- a/libgcc/unwind-dw2-fde-dip.c -+++ b/libgcc/unwind-dw2-fde-dip.c -@@ -75,6 +75,13 @@ - # define USE_PT_GNU_EH_FRAME - #endif - -+/* For musl libc, TARGET_DL_ITERATE_PHDR gets defined by the configure -+ script. */ -+#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \ -+ && defined(TARGET_DL_ITERATE_PHDR) -+# define USE_PT_GNU_EH_FRAME -+#endif -+ - #if defined(USE_PT_GNU_EH_FRAME) - - #include -Index: b/libgomp/config/posix/time.c -=================================================================== ---- a/libgomp/config/posix/time.c -+++ b/libgomp/config/posix/time.c -@@ -28,6 +28,8 @@ - The following implementation uses the most simple POSIX routines. - If present, POSIX 4 clocks should be used instead. */ - -+#define _POSIX_C_SOURCE 199309L /* for clocks */ -+ - #include "libgomp.h" - #include - #if TIME_WITH_SYS_TIME -Index: b/libitm/config/arm/hwcap.cc -=================================================================== ---- a/libitm/config/arm/hwcap.cc -+++ b/libitm/config/arm/hwcap.cc -@@ -40,7 +40,11 @@ - - #ifdef __linux__ - #include -+#ifdef __GLIBC__ - #include -+#else -+#include -+#endif - #include - - static void __attribute__((constructor)) -Index: b/libitm/config/linux/x86/tls.h -=================================================================== ---- a/libitm/config/linux/x86/tls.h -+++ b/libitm/config/linux/x86/tls.h -@@ -25,16 +25,19 @@ - #ifndef LIBITM_X86_TLS_H - #define LIBITM_X86_TLS_H 1 - --#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 10) -+#if defined(__GLIBC_PREREQ) -+#if __GLIBC_PREREQ(2, 10) - /* Use slots in the TCB head rather than __thread lookups. - GLIBC has reserved words 10 through 13 for TM. */ - #define HAVE_ARCH_GTM_THREAD 1 - #define HAVE_ARCH_GTM_THREAD_DISP 1 - #endif -+#endif - - #include "config/generic/tls.h" - --#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 10) -+#if defined(__GLIBC_PREREQ) -+#if __GLIBC_PREREQ(2, 10) - namespace GTM HIDDEN { - - #ifdef __x86_64__ -@@ -101,5 +104,6 @@ - - } // namespace GTM - #endif /* >= GLIBC 2.10 */ -+#endif - - #endif // LIBITM_X86_TLS_H -Index: b/libstdc++-v3/configure.host -=================================================================== ---- a/libstdc++-v3/configure.host -+++ b/libstdc++-v3/configure.host -@@ -264,6 +264,13 @@ - os_include_dir="os/bsd/freebsd" - ;; - gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu) -+ # check for musl by target -+ case "${host_os}" in -+ *-musl*) -+ os_include_dir="os/generic" -+ ;; -+ *) -+ - if [ "$uclibc" = "yes" ]; then - os_include_dir="os/uclibc" - elif [ "$bionic" = "yes" ]; then -@@ -272,6 +279,9 @@ - os_include_dir="os/gnu-linux" - fi - ;; -+ -+ esac -+ ;; - hpux*) - os_include_dir="os/hpux" - ;; diff --git a/package/gcc/4.8.5/930-libgcc-disable-split-stack-nothreads.patch b/package/gcc/4.8.5/930-libgcc-disable-split-stack-nothreads.patch deleted file mode 100644 index 7799c1286e..0000000000 --- a/package/gcc/4.8.5/930-libgcc-disable-split-stack-nothreads.patch +++ /dev/null @@ -1,14 +0,0 @@ -disable split-stack for non-thread builds - -Signed-off-by: Waldemar Brodkorb - -diff -Nur gcc-4.8.5.orig/libgcc/config/t-stack gcc-4.8.5/libgcc/config/t-stack ---- gcc-4.8.5.orig/libgcc/config/t-stack 2010-10-01 21:31:49.000000000 +0200 -+++ gcc-4.8.5/libgcc/config/t-stack 2016-03-07 05:28:12.000000000 +0100 -@@ -1,4 +1,6 @@ - # Makefile fragment to provide generic support for -fsplit-stack. - # This should be used in config.host for any host which supports - # -fsplit-stack. -+ifeq ($(enable_threads),yes) - LIB2ADD_ST += $(srcdir)/generic-morestack.c $(srcdir)/generic-morestack-thread.c -+endif diff --git a/package/gcc/4.8.5/940-uclinux-enable-threads.patch b/package/gcc/4.8.5/940-uclinux-enable-threads.patch deleted file mode 100644 index e58e824938..0000000000 --- a/package/gcc/4.8.5/940-uclinux-enable-threads.patch +++ /dev/null @@ -1,19 +0,0 @@ -Enable POSIX threads for uClinux targets -Reported upstream: -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71721 - -Signed-off-by: Waldemar Brodkorb - -diff -Nur gcc-4.8.5.orig/gcc/config.gcc gcc-4.8.5/gcc/config.gcc ---- gcc-4.8.5.orig/gcc/config.gcc 2015-05-21 22:57:29.000000000 +0200 -+++ gcc-4.8.5/gcc/config.gcc 2016-07-02 20:35:24.107644834 +0200 -@@ -741,6 +741,9 @@ - *-*-uclinux*) - extra_options="$extra_options gnu-user.opt" - use_gcc_stdint=wrap -+ case ${enable_threads} in -+ "" | yes | posix) thread_file='posix' ;; -+ esac - tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC SINGLE_LIBC" - ;; - *-*-rdos*) diff --git a/package/gcc/4.9.4/875-xtensa-fix-PR-target-82181.patch b/package/gcc/4.9.4/875-xtensa-fix-PR-target-82181.patch new file mode 100644 index 0000000000..266e659c17 --- /dev/null +++ b/package/gcc/4.9.4/875-xtensa-fix-PR-target-82181.patch @@ -0,0 +1,31 @@ +From 8dd3af97bb6ccb3dfd6cbe20c5a28ce80fcd0de7 Mon Sep 17 00:00:00 2001 +From: jcmvbkbc +Date: Mon, 11 Sep 2017 21:53:38 +0000 +Subject: [PATCH] xtensa: fix PR target/82181 + +2017-09-11 Max Filippov +gcc/ + Backport from mainline + * config/xtensa/xtensa.c (xtensa_mem_offset): Check that both + words of DImode object are reachable by xtensa_uimm8x4 access. + +Signed-off-by: Max Filippov +--- + gcc/config/xtensa/xtensa.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c +index 3c0096113775..3eb4db85b971 100644 +--- a/gcc/config/xtensa/xtensa.c ++++ b/gcc/config/xtensa/xtensa.c +@@ -612,6 +612,7 @@ xtensa_mem_offset (unsigned v, enum machine_mode mode) + case HImode: + return xtensa_uimm8x2 (v); + ++ case DImode: + case DFmode: + return (xtensa_uimm8x4 (v) && xtensa_uimm8x4 (v + 4)); + +-- +2.1.4 + diff --git a/package/gcc/4.9.4/942-asan-fix-missing-include-signal-h.patch b/package/gcc/4.9.4/942-asan-fix-missing-include-signal-h.patch new file mode 100644 index 0000000000..5f00c04d2b --- /dev/null +++ b/package/gcc/4.9.4/942-asan-fix-missing-include-signal-h.patch @@ -0,0 +1,36 @@ +From 205aa8e97bab553e5e6fe45896325e97962de704 Mon Sep 17 00:00:00 2001 +From: Rolf Eike Beer +Date: Wed, 8 Feb 2017 11:42:52 +0100 +Subject: [PATCH] asan: fix missing include of signal.h + +This breaks when building gcc 4.9.4 / 5.4.0 with +target_platform=powerpc-unknown-linux-gnu with glibc 2.25: + +../../../../gcc-host/libsanitizer/asan/asan_linux.cc: In function 'bool __asan::AsanInterceptsSignal(int)': +../../../../gcc-host/libsanitizer/asan/asan_linux.cc:222:20: error: 'SIGSEGV' was not declared in this scope + return signum == SIGSEGV && common_flags()->handle_segv; + +This has been verified to apply to at least 4.9.4 and up to 5.4, +the code has been reworked for gcc 6. + +Resolves (Buildroot) Bug: https://bugs.busybox.net/show_bug.cgi?id=10061 + +Upstream: https://patchwork.ozlabs.org/patch/725596/ + +Signed-off-by: Matthew Weber +--- + libsanitizer/asan/asan_linux.cc | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libsanitizer/asan/asan_linux.cc b/libsanitizer/asan/asan_linux.cc +index c504168..59087b9 100644 +--- a/libsanitizer/asan/asan_linux.cc ++++ b/libsanitizer/asan/asan_linux.cc +@@ -29,6 +29,7 @@ + #include + #include + #include ++#include + #include + #include + #include diff --git a/package/gcc/4.9.4/943-Use-ucontext_t-not-struct-ucontext-in-linux-unwind.h.patch b/package/gcc/4.9.4/943-Use-ucontext_t-not-struct-ucontext-in-linux-unwind.h.patch new file mode 100644 index 0000000000..526346c6f8 --- /dev/null +++ b/package/gcc/4.9.4/943-Use-ucontext_t-not-struct-ucontext-in-linux-unwind.h.patch @@ -0,0 +1,190 @@ +From b7e85069238c40eae54d0ca03ab6d5470d1815f9 Mon Sep 17 00:00:00 2001 +From: jsm28 +Date: Tue, 4 Jul 2017 10:25:10 +0000 +Subject: [PATCH] Use ucontext_t not struct ucontext in linux-unwind.h files. + +Current glibc no longer gives the ucontext_t type the tag struct +ucontext, to conform with POSIX namespace rules. This requires +various linux-unwind.h files in libgcc, that were previously using +struct ucontext, to be fixed to use ucontext_t instead. This is +similar to the removal of the struct siginfo tag from siginfo_t some +years ago. + +This patch changes those files to use ucontext_t instead. As the +standard name that should be unconditionally safe, so this is not +restricted to architectures supported by glibc, or conditioned on the +glibc version. + +Tested compilation together with current glibc with glibc's +build-many-glibcs.py. + + * config/aarch64/linux-unwind.h (aarch64_fallback_frame_state), + config/alpha/linux-unwind.h (alpha_fallback_frame_state), + config/bfin/linux-unwind.h (bfin_fallback_frame_state), + config/i386/linux-unwind.h (x86_64_fallback_frame_state, + x86_fallback_frame_state), config/m68k/linux-unwind.h (struct + uw_ucontext), config/nios2/linux-unwind.h (struct nios2_ucontext), + config/pa/linux-unwind.h (pa32_fallback_frame_state), + config/sh/linux-unwind.h (sh_fallback_frame_state), + config/tilepro/linux-unwind.h (tile_fallback_frame_state), + config/xtensa/linux-unwind.h (xtensa_fallback_frame_state): Use + ucontext_t instead of struct ucontext. + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-5-branch@249958 138bc75d-0d04-0410-961f-82ee72b054a4 +[Romain backport from gcc-5-branch] +Signed-off-by: Romain Naour +--- + libgcc/config/aarch64/linux-unwind.h | 2 +- + libgcc/config/alpha/linux-unwind.h | 2 +- + libgcc/config/bfin/linux-unwind.h | 2 +- + libgcc/config/i386/linux-unwind.h | 4 ++-- + libgcc/config/m68k/linux-unwind.h | 2 +- + libgcc/config/nios2/linux-unwind.h | 2 +- + libgcc/config/pa/linux-unwind.h | 2 +- + libgcc/config/sh/linux-unwind.h | 2 +- + libgcc/config/tilepro/linux-unwind.h | 2 +- + libgcc/config/xtensa/linux-unwind.h | 2 +- + 10 files changed, 11 insertions(+), 11 deletions(-) + +diff --git a/libgcc/config/aarch64/linux-unwind.h b/libgcc/config/aarch64/linux-unwind.h +index 6b5b3cd..d13dc34 100644 +--- a/libgcc/config/aarch64/linux-unwind.h ++++ b/libgcc/config/aarch64/linux-unwind.h +@@ -52,7 +52,7 @@ aarch64_fallback_frame_state (struct _Unwind_Context *context, + struct rt_sigframe + { + siginfo_t info; +- struct ucontext uc; ++ ucontext_t uc; + }; + + struct rt_sigframe *rt_; +diff --git a/libgcc/config/alpha/linux-unwind.h b/libgcc/config/alpha/linux-unwind.h +index b5bfd1c..166d3d2 100644 +--- a/libgcc/config/alpha/linux-unwind.h ++++ b/libgcc/config/alpha/linux-unwind.h +@@ -51,7 +51,7 @@ alpha_fallback_frame_state (struct _Unwind_Context *context, + { + struct rt_sigframe { + siginfo_t info; +- struct ucontext uc; ++ ucontext_t uc; + } *rt_ = context->cfa; + sc = &rt_->uc.uc_mcontext; + } +diff --git a/libgcc/config/bfin/linux-unwind.h b/libgcc/config/bfin/linux-unwind.h +index dc58f0a..8b94568 100644 +--- a/libgcc/config/bfin/linux-unwind.h ++++ b/libgcc/config/bfin/linux-unwind.h +@@ -52,7 +52,7 @@ bfin_fallback_frame_state (struct _Unwind_Context *context, + void *puc; + char retcode[8]; + siginfo_t info; +- struct ucontext uc; ++ ucontext_t uc; + } *rt_ = context->cfa; + + /* The void * cast is necessary to avoid an aliasing warning. +diff --git a/libgcc/config/i386/linux-unwind.h b/libgcc/config/i386/linux-unwind.h +index 7986928..a9d621c 100644 +--- a/libgcc/config/i386/linux-unwind.h ++++ b/libgcc/config/i386/linux-unwind.h +@@ -58,7 +58,7 @@ x86_64_fallback_frame_state (struct _Unwind_Context *context, + if (*(unsigned char *)(pc+0) == 0x48 + && *(unsigned long long *)(pc+1) == RT_SIGRETURN_SYSCALL) + { +- struct ucontext *uc_ = context->cfa; ++ ucontext_t *uc_ = context->cfa; + /* The void * cast is necessary to avoid an aliasing warning. + The aliasing warning is correct, but should not be a problem + because it does not alias anything. */ +@@ -138,7 +138,7 @@ x86_fallback_frame_state (struct _Unwind_Context *context, + siginfo_t *pinfo; + void *puc; + siginfo_t info; +- struct ucontext uc; ++ ucontext_t uc; + } *rt_ = context->cfa; + /* The void * cast is necessary to avoid an aliasing warning. + The aliasing warning is correct, but should not be a problem +diff --git a/libgcc/config/m68k/linux-unwind.h b/libgcc/config/m68k/linux-unwind.h +index 1ba2a0c4..d67767e 100644 +--- a/libgcc/config/m68k/linux-unwind.h ++++ b/libgcc/config/m68k/linux-unwind.h +@@ -33,7 +33,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + /* is unfortunately broken right now. */ + struct uw_ucontext { + unsigned long uc_flags; +- struct ucontext *uc_link; ++ ucontext_t *uc_link; + stack_t uc_stack; + mcontext_t uc_mcontext; + unsigned long uc_filler[80]; +diff --git a/libgcc/config/nios2/linux-unwind.h b/libgcc/config/nios2/linux-unwind.h +index ba4bd80..8978868 100644 +--- a/libgcc/config/nios2/linux-unwind.h ++++ b/libgcc/config/nios2/linux-unwind.h +@@ -38,7 +38,7 @@ struct nios2_mcontext { + + struct nios2_ucontext { + unsigned long uc_flags; +- struct ucontext *uc_link; ++ ucontext_t *uc_link; + stack_t uc_stack; + struct nios2_mcontext uc_mcontext; + sigset_t uc_sigmask; /* mask last for extensibility */ +diff --git a/libgcc/config/pa/linux-unwind.h b/libgcc/config/pa/linux-unwind.h +index 4a3cfff..d2ac437 100644 +--- a/libgcc/config/pa/linux-unwind.h ++++ b/libgcc/config/pa/linux-unwind.h +@@ -80,7 +80,7 @@ pa32_fallback_frame_state (struct _Unwind_Context *context, + struct sigcontext *sc; + struct rt_sigframe { + siginfo_t info; +- struct ucontext uc; ++ ucontext_t uc; + } *frame; + + /* rt_sigreturn trampoline: +diff --git a/libgcc/config/sh/linux-unwind.h b/libgcc/config/sh/linux-unwind.h +index 4875706..671bde7 100644 +--- a/libgcc/config/sh/linux-unwind.h ++++ b/libgcc/config/sh/linux-unwind.h +@@ -180,7 +180,7 @@ sh_fallback_frame_state (struct _Unwind_Context *context, + { + struct rt_sigframe { + siginfo_t info; +- struct ucontext uc; ++ ucontext_t uc; + } *rt_ = context->cfa; + /* The void * cast is necessary to avoid an aliasing warning. + The aliasing warning is correct, but should not be a problem +diff --git a/libgcc/config/tilepro/linux-unwind.h b/libgcc/config/tilepro/linux-unwind.h +index 27481cf..c24d58c 100644 +--- a/libgcc/config/tilepro/linux-unwind.h ++++ b/libgcc/config/tilepro/linux-unwind.h +@@ -61,7 +61,7 @@ tile_fallback_frame_state (struct _Unwind_Context *context, + struct rt_sigframe { + unsigned char save_area[C_ABI_SAVE_AREA_SIZE]; + siginfo_t info; +- struct ucontext uc; ++ ucontext_t uc; + } *rt_; + + /* Return if this is not a signal handler. */ +diff --git a/libgcc/config/xtensa/linux-unwind.h b/libgcc/config/xtensa/linux-unwind.h +index 6832d0b..cb15b4c 100644 +--- a/libgcc/config/xtensa/linux-unwind.h ++++ b/libgcc/config/xtensa/linux-unwind.h +@@ -63,7 +63,7 @@ xtensa_fallback_frame_state (struct _Unwind_Context *context, + + struct rt_sigframe { + siginfo_t info; +- struct ucontext uc; ++ ucontext_t uc; + } *rt_; + + /* movi a2, __NR_rt_sigreturn; syscall */ +-- +2.9.5 + diff --git a/package/gcc/4.9.4/944-sanitizer-linux.patch b/package/gcc/4.9.4/944-sanitizer-linux.patch new file mode 100644 index 0000000000..caadf2de7b --- /dev/null +++ b/package/gcc/4.9.4/944-sanitizer-linux.patch @@ -0,0 +1,88 @@ +From f9a35ba5c150da2e381c4cab01f8f12bcd6af5d2 Mon Sep 17 00:00:00 2001 +From: jakub +Date: Mon, 17 Jul 2017 19:41:08 +0000 +Subject: [PATCH] Backported from mainline 2017-07-14 Jakub + Jelinek + + PR sanitizer/81066 + * sanitizer_common/sanitizer_linux.h: Cherry-pick upstream r307969. + * sanitizer_common/sanitizer_linux.cc: Likewise. + * sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc: Likewise. + * tsan/tsan_platform_linux.cc: Likewise. + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@250287 138bc75d-0d04-0410-961f-82ee72b054a4 +(cherry picked from commit 72edc2c02f8b4768ad660f46a1c7e2400c0a8e06) +[Romain backport to 4.9.4] +Signed-off-by: Romain Naour +--- + libsanitizer/sanitizer_common/sanitizer_linux.cc | 3 +-- + libsanitizer/sanitizer_common/sanitizer_linux.h | 4 +--- + libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc | 2 +- + libsanitizer/tsan/tsan_platform_linux.cc | 2 +- + 4 files changed, 4 insertions(+), 7 deletions(-) + +diff --git a/libsanitizer/sanitizer_common/sanitizer_linux.cc b/libsanitizer/sanitizer_common/sanitizer_linux.cc +index 69c9c10..8e53673 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_linux.cc ++++ b/libsanitizer/sanitizer_common/sanitizer_linux.cc +@@ -599,8 +599,7 @@ uptr internal_prctl(int option, uptr arg2, uptr arg3, uptr arg4, uptr arg5) { + return internal_syscall(__NR_prctl, option, arg2, arg3, arg4, arg5); + } + +-uptr internal_sigaltstack(const struct sigaltstack *ss, +- struct sigaltstack *oss) { ++uptr internal_sigaltstack(const void *ss, void *oss) { + return internal_syscall(__NR_sigaltstack, (uptr)ss, (uptr)oss); + } + +diff --git a/libsanitizer/sanitizer_common/sanitizer_linux.h b/libsanitizer/sanitizer_common/sanitizer_linux.h +index 6422df1..8e111d1 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_linux.h ++++ b/libsanitizer/sanitizer_common/sanitizer_linux.h +@@ -18,7 +18,6 @@ + #include "sanitizer_platform_limits_posix.h" + + struct link_map; // Opaque type returned by dlopen(). +-struct sigaltstack; + + namespace __sanitizer { + // Dirent structure for getdents(). Note that this structure is different from +@@ -28,8 +27,7 @@ struct linux_dirent; + // Syscall wrappers. + uptr internal_getdents(fd_t fd, struct linux_dirent *dirp, unsigned int count); + uptr internal_prctl(int option, uptr arg2, uptr arg3, uptr arg4, uptr arg5); +-uptr internal_sigaltstack(const struct sigaltstack* ss, +- struct sigaltstack* oss); ++uptr internal_sigaltstack(const void* ss, void* oss); + uptr internal_sigaction(int signum, const __sanitizer_kernel_sigaction_t *act, + __sanitizer_kernel_sigaction_t *oldact); + uptr internal_sigprocmask(int how, __sanitizer_kernel_sigset_t *set, +diff --git a/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc b/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc +index 6ee63ec..50c21a3 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc ++++ b/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc +@@ -238,7 +238,7 @@ static int TracerThread(void* argument) { + + // Alternate stack for signal handling. + InternalScopedBuffer handler_stack_memory(kHandlerStackSize); +- struct sigaltstack handler_stack; ++ stack_t handler_stack; + internal_memset(&handler_stack, 0, sizeof(handler_stack)); + handler_stack.ss_sp = handler_stack_memory.data(); + handler_stack.ss_size = kHandlerStackSize; +diff --git a/libsanitizer/tsan/tsan_platform_linux.cc b/libsanitizer/tsan/tsan_platform_linux.cc +index fe69430..49f5270 100644 +--- a/libsanitizer/tsan/tsan_platform_linux.cc ++++ b/libsanitizer/tsan/tsan_platform_linux.cc +@@ -351,7 +351,7 @@ bool IsGlobalVar(uptr addr) { + // closes within glibc. The code is a pure hack. + int ExtractResolvFDs(void *state, int *fds, int nfd) { + int cnt = 0; +- __res_state *statp = (__res_state*)state; ++ struct __res_state *statp = (struct __res_state*)state; + for (int i = 0; i < MAXNS && cnt < nfd; i++) { + if (statp->_u._ext.nsaddrs[i] && statp->_u._ext.nssocks[i] != -1) + fds[cnt++] = statp->_u._ext.nssocks[i]; +-- +2.9.5 + diff --git a/package/gcc/5.4.0/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch b/package/gcc/5.4.0/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch deleted file mode 100644 index c11ad35aac..0000000000 --- a/package/gcc/5.4.0/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 9bf6066d588632dab9f78932df15b5b4140f31f3 Mon Sep 17 00:00:00 2001 -From: "Arnout Vandecappelle (Essensium/Mind)" -Date: Fri, 6 Nov 2015 14:27:23 +0100 -Subject: [PATCH] gcc/config.gcc: fix typo for powerpc e6500 cpu_is_64bit - -Otherwise it is not recognized as a 64-bit powerpc and gcc will not generate -64-bit binaries by default. - -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- - gcc/config.gcc | 2 +- - 2 files changed, 4 insertions(+), 1 deletion(-) - -diff --git a/gcc/config.gcc b/gcc/config.gcc -index 4a7cbd2..9cc765e 100644 ---- a/gcc/config.gcc -+++ b/gcc/config.gcc -@@ -439,7 +439,7 @@ powerpc*-*-*) - cpu_type=rs6000 - extra_headers="ppc-asm.h altivec.h spe.h ppu_intrinsics.h paired.h spu2vmx.h vec_types.h si2vmx.h htmintrin.h htmxlintrin.h" - case x$with_cpu in -- xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[345678]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|Xe6500) -+ xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[345678]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|xe6500) - cpu_is_64bit=yes - ;; - esac --- -2.6.2 - diff --git a/package/gcc/5.4.0/870-xtensa-add-mauto-litpools-option.patch b/package/gcc/5.4.0/870-xtensa-add-mauto-litpools-option.patch deleted file mode 100644 index aa1376c44c..0000000000 --- a/package/gcc/5.4.0/870-xtensa-add-mauto-litpools-option.patch +++ /dev/null @@ -1,290 +0,0 @@ -From 6d852ffb43b111a39162135c95249e749c4e285b Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Thu, 6 Aug 2015 01:16:02 +0300 -Subject: [PATCH] xtensa: add -mauto-litpools option - -With support from assembler this option allows compiling huge functions, -where single literal pool at the beginning of a function may not be -reachable by L32R instructions at its end. - -Currently assembler --auto-litpools option cannot deal with literals -used from multiple locations separated by more than 256 KBytes of code. -Don't turn constants into literals, instead use MOVI instruction to load -them into registers and let the assembler turn them into literals as -necessary. - -2015-08-12 Max Filippov -gcc/ - * config/xtensa/constraints.md (define_constraint "Y"): New - constraint. - * config/xtensa/elf.h (ASM_SPEC): Add m(no-)auto-litpools. - * config/xtensa/linux.h (ASM_SPEC): Likewise. - * config/xtensa/predicates.md (move_operand): Match constants - and symbols in the presence of TARGET_AUTO_LITPOOLS. - * config/xtensa/xtensa.c (xtensa_valid_move): Don't allow - immediate references to TLS data. - (xtensa_emit_move_sequence): Don't force constants to memory in - the presence of TARGET_AUTO_LITPOOLS. - (print_operand): Add 'y' format, same as default, but capable of - printing SF mode constants as well. - * config/xtensa/xtensa.md (movsi_internal, movhi_internal) - (movsf_internal): Add movi pattern that loads literal. - (movsf, movdf): Don't force constants to memory in the presence - of TARGET_AUTO_LITPOOLS. - (movdf_internal): Add 'Y' constraint. - * config/xtensa/xtensa.opt (mauto-litpools): New option. - -Signed-off-by: Max Filippov ---- -Backported from: r226828 -Changes to ChangeLogs and documentation are dropped. - - gcc/config/xtensa/constraints.md | 5 +++++ - gcc/config/xtensa/elf.h | 4 +++- - gcc/config/xtensa/linux.h | 4 +++- - gcc/config/xtensa/predicates.md | 3 ++- - gcc/config/xtensa/xtensa.c | 19 ++++++++++++++++++- - gcc/config/xtensa/xtensa.md | 35 +++++++++++++++++++---------------- - gcc/config/xtensa/xtensa.opt | 4 ++++ - 7 files changed, 54 insertions(+), 20 deletions(-) - -diff --git a/gcc/config/xtensa/constraints.md b/gcc/config/xtensa/constraints.md -index 30f4c1f..773d4f9 100644 ---- a/gcc/config/xtensa/constraints.md -+++ b/gcc/config/xtensa/constraints.md -@@ -111,6 +111,11 @@ - (and (match_code "const_int") - (match_test "xtensa_mask_immediate (ival)"))) - -+(define_constraint "Y" -+ "A constant that can be used in relaxed MOVI instructions." -+ (and (match_code "const_int,const_double,const,symbol_ref,label_ref") -+ (match_test "TARGET_AUTO_LITPOOLS"))) -+ - ;; Memory constraints. Do not use define_memory_constraint here. Doing so - ;; causes reload to force some constants into the constant pool, but since - ;; the Xtensa constant pool can only be accessed with L32R instructions, it -diff --git a/gcc/config/xtensa/elf.h b/gcc/config/xtensa/elf.h -index e59bede..12056f7 100644 ---- a/gcc/config/xtensa/elf.h -+++ b/gcc/config/xtensa/elf.h -@@ -48,7 +48,9 @@ along with GCC; see the file COPYING3. If not see - %{mtarget-align:--target-align} \ - %{mno-target-align:--no-target-align} \ - %{mlongcalls:--longcalls} \ -- %{mno-longcalls:--no-longcalls}" -+ %{mno-longcalls:--no-longcalls} \ -+ %{mauto-litpools:--auto-litpools} \ -+ %{mno-auto-litpools:--no-auto-litpools}" - - #undef LIB_SPEC - #define LIB_SPEC "-lc -lsim -lc -lhandlers-sim -lhal" -diff --git a/gcc/config/xtensa/linux.h b/gcc/config/xtensa/linux.h -index 675aacf..5b0243a 100644 ---- a/gcc/config/xtensa/linux.h -+++ b/gcc/config/xtensa/linux.h -@@ -42,7 +42,9 @@ along with GCC; see the file COPYING3. If not see - %{mtarget-align:--target-align} \ - %{mno-target-align:--no-target-align} \ - %{mlongcalls:--longcalls} \ -- %{mno-longcalls:--no-longcalls}" -+ %{mno-longcalls:--no-longcalls} \ -+ %{mauto-litpools:--auto-litpools} \ -+ %{mno-auto-litpools:--no-auto-litpools}" - - #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" - -diff --git a/gcc/config/xtensa/predicates.md b/gcc/config/xtensa/predicates.md -index e02209e..d7dfa11 100644 ---- a/gcc/config/xtensa/predicates.md -+++ b/gcc/config/xtensa/predicates.md -@@ -142,7 +142,8 @@ - (match_test "GET_MODE_CLASS (mode) == MODE_INT - && xtensa_simm12b (INTVAL (op))")) - (and (match_code "const_int,const_double,const,symbol_ref,label_ref") -- (match_test "TARGET_CONST16 && CONSTANT_P (op) -+ (match_test "(TARGET_CONST16 || TARGET_AUTO_LITPOOLS) -+ && CONSTANT_P (op) - && GET_MODE_SIZE (mode) % UNITS_PER_WORD == 0"))))) - - ;; Accept the floating point constant 1 in the appropriate mode. -diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c -index eb039ba..206ff80 100644 ---- a/gcc/config/xtensa/xtensa.c -+++ b/gcc/config/xtensa/xtensa.c -@@ -501,6 +501,9 @@ xtensa_valid_move (machine_mode mode, rtx *operands) - { - int dst_regnum = xt_true_regnum (operands[0]); - -+ if (xtensa_tls_referenced_p (operands[1])) -+ return FALSE; -+ - /* The stack pointer can only be assigned with a MOVSP opcode. */ - if (dst_regnum == STACK_POINTER_REGNUM) - return !TARGET_WINDOWED_ABI -@@ -1069,7 +1072,7 @@ xtensa_emit_move_sequence (rtx *operands, machine_mode mode) - return 1; - } - -- if (! TARGET_CONST16) -+ if (! TARGET_AUTO_LITPOOLS && ! TARGET_CONST16) - { - src = force_const_mem (SImode, src); - operands[1] = src; -@@ -2449,6 +2452,20 @@ print_operand (FILE *file, rtx x, int letter) - } - break; - -+ case 'y': -+ if (GET_CODE (x) == CONST_DOUBLE && -+ GET_MODE (x) == SFmode) -+ { -+ REAL_VALUE_TYPE r; -+ long l; -+ REAL_VALUE_FROM_CONST_DOUBLE (r, x); -+ REAL_VALUE_TO_TARGET_SINGLE (r, l); -+ fprintf (file, "0x%08lx", l); -+ break; -+ } -+ -+ /* fall through */ -+ - default: - if (GET_CODE (x) == REG || GET_CODE (x) == SUBREG) - fprintf (file, "%s", reg_names[xt_true_regnum (x)]); -diff --git a/gcc/config/xtensa/xtensa.md b/gcc/config/xtensa/xtensa.md -index 6d84384..0e673a3 100644 ---- a/gcc/config/xtensa/xtensa.md -+++ b/gcc/config/xtensa/xtensa.md -@@ -761,8 +761,8 @@ - }) - - (define_insn "movsi_internal" -- [(set (match_operand:SI 0 "nonimmed_operand" "=D,D,D,D,R,R,a,q,a,W,a,a,U,*a,*A") -- (match_operand:SI 1 "move_operand" "M,D,d,R,D,d,r,r,I,i,T,U,r,*A,*r"))] -+ [(set (match_operand:SI 0 "nonimmed_operand" "=D,D,D,D,R,R,a,q,a,a,W,a,a,U,*a,*A") -+ (match_operand:SI 1 "move_operand" "M,D,d,R,D,d,r,r,I,Y,i,T,U,r,*A,*r"))] - "xtensa_valid_move (SImode, operands)" - "@ - movi.n\t%0, %x1 -@@ -774,15 +774,16 @@ - mov\t%0, %1 - movsp\t%0, %1 - movi\t%0, %x1 -+ movi\t%0, %1 - const16\t%0, %t1\;const16\t%0, %b1 - %v1l32r\t%0, %1 - %v1l32i\t%0, %1 - %v0s32i\t%1, %0 - rsr\t%0, ACCLO - wsr\t%1, ACCLO" -- [(set_attr "type" "move,move,move,load,store,store,move,move,move,move,load,load,store,rsr,wsr") -+ [(set_attr "type" "move,move,move,load,store,store,move,move,move,move,move,load,load,store,rsr,wsr") - (set_attr "mode" "SI") -- (set_attr "length" "2,2,2,2,2,2,3,3,3,6,3,3,3,3,3")]) -+ (set_attr "length" "2,2,2,2,2,2,3,3,3,3,6,3,3,3,3,3")]) - - ;; 16-bit Integer moves - -@@ -796,21 +797,22 @@ - }) - - (define_insn "movhi_internal" -- [(set (match_operand:HI 0 "nonimmed_operand" "=D,D,a,a,a,U,*a,*A") -- (match_operand:HI 1 "move_operand" "M,d,r,I,U,r,*A,*r"))] -+ [(set (match_operand:HI 0 "nonimmed_operand" "=D,D,a,a,a,a,U,*a,*A") -+ (match_operand:HI 1 "move_operand" "M,d,r,I,Y,U,r,*A,*r"))] - "xtensa_valid_move (HImode, operands)" - "@ - movi.n\t%0, %x1 - mov.n\t%0, %1 - mov\t%0, %1 - movi\t%0, %x1 -+ movi\t%0, %1 - %v1l16ui\t%0, %1 - %v0s16i\t%1, %0 - rsr\t%0, ACCLO - wsr\t%1, ACCLO" -- [(set_attr "type" "move,move,move,move,load,store,rsr,wsr") -+ [(set_attr "type" "move,move,move,move,move,load,store,rsr,wsr") - (set_attr "mode" "HI") -- (set_attr "length" "2,2,3,3,3,3,3,3")]) -+ (set_attr "length" "2,2,3,3,3,3,3,3,3")]) - - ;; 8-bit Integer moves - -@@ -881,7 +883,7 @@ - (match_operand:SF 1 "general_operand" ""))] - "" - { -- if (!TARGET_CONST16 && CONSTANT_P (operands[1])) -+ if (!TARGET_CONST16 && !TARGET_AUTO_LITPOOLS && CONSTANT_P (operands[1])) - operands[1] = force_const_mem (SFmode, operands[1]); - - if ((!register_operand (operands[0], SFmode) -@@ -896,8 +898,8 @@ - }) - - (define_insn "movsf_internal" -- [(set (match_operand:SF 0 "nonimmed_operand" "=f,f,U,D,D,R,a,f,a,W,a,a,U") -- (match_operand:SF 1 "move_operand" "f,U,f,d,R,d,r,r,f,iF,T,U,r"))] -+ [(set (match_operand:SF 0 "nonimmed_operand" "=f,f,U,D,D,R,a,f,a,a,W,a,a,U") -+ (match_operand:SF 1 "move_operand" "f,U,f,d,R,d,r,r,f,Y,iF,T,U,r"))] - "((register_operand (operands[0], SFmode) - || register_operand (operands[1], SFmode)) - && !(FP_REG_P (xt_true_regnum (operands[0])) -@@ -912,13 +914,14 @@ - mov\t%0, %1 - wfr\t%0, %1 - rfr\t%0, %1 -+ movi\t%0, %y1 - const16\t%0, %t1\;const16\t%0, %b1 - %v1l32r\t%0, %1 - %v1l32i\t%0, %1 - %v0s32i\t%1, %0" -- [(set_attr "type" "farith,fload,fstore,move,load,store,move,farith,farith,move,load,load,store") -+ [(set_attr "type" "farith,fload,fstore,move,load,store,move,farith,farith,move,move,load,load,store") - (set_attr "mode" "SF") -- (set_attr "length" "3,3,3,2,2,2,3,3,3,6,3,3,3")]) -+ (set_attr "length" "3,3,3,2,2,2,3,3,3,3,6,3,3,3")]) - - (define_insn "*lsiu" - [(set (match_operand:SF 0 "register_operand" "=f") -@@ -991,7 +994,7 @@ - (match_operand:DF 1 "general_operand" ""))] - "" - { -- if (CONSTANT_P (operands[1]) && !TARGET_CONST16) -+ if (CONSTANT_P (operands[1]) && !TARGET_CONST16 && !TARGET_AUTO_LITPOOLS) - operands[1] = force_const_mem (DFmode, operands[1]); - - if (!register_operand (operands[0], DFmode) -@@ -1002,8 +1005,8 @@ - }) - - (define_insn_and_split "movdf_internal" -- [(set (match_operand:DF 0 "nonimmed_operand" "=a,W,a,a,U") -- (match_operand:DF 1 "move_operand" "r,iF,T,U,r"))] -+ [(set (match_operand:DF 0 "nonimmed_operand" "=a,a,W,a,a,U") -+ (match_operand:DF 1 "move_operand" "r,Y,iF,T,U,r"))] - "register_operand (operands[0], DFmode) - || register_operand (operands[1], DFmode)" - "#" -diff --git a/gcc/config/xtensa/xtensa.opt b/gcc/config/xtensa/xtensa.opt -index 2fd6cee..21c6e96 100644 ---- a/gcc/config/xtensa/xtensa.opt -+++ b/gcc/config/xtensa/xtensa.opt -@@ -38,6 +38,10 @@ mtext-section-literals - Target - Intersperse literal pools with code in the text section - -+mauto-litpools -+Target Report Mask(AUTO_LITPOOLS) -+Relax literals in assembler and place them automatically in the text section -+ - mserialize-volatile - Target Report Mask(SERIALIZE_VOLATILE) - -mno-serialize-volatile Do not serialize volatile memory references with MEMW instructions --- -1.8.1.4 - diff --git a/package/gcc/5.4.0/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch b/package/gcc/5.4.0/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch deleted file mode 100644 index 9707f6881c..0000000000 --- a/package/gcc/5.4.0/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 7d7a85f75ba218df4a4226e95865fc8fa561cb86 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Fri, 14 Aug 2015 02:45:02 +0300 -Subject: [PATCH 2/3] xtensa: use unwind-dw2-fde-dip instead of unwind-dw2-fde - -This allows having exception cleanup code in binaries that don't -register their unwind tables. - -2015-08-18 Max Filippov -libgcc/ - * config/xtensa/t-windowed (LIB2ADDEH): Replace unwind-dw2-fde - with unwind-dw2-fde-dip. - -Signed-off-by: Max Filippov ---- -Backported from: r226963 - - libgcc/config/xtensa/t-windowed | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libgcc/config/xtensa/t-windowed b/libgcc/config/xtensa/t-windowed -index 7d9e9db..a99156c 100644 ---- a/libgcc/config/xtensa/t-windowed -+++ b/libgcc/config/xtensa/t-windowed -@@ -1,2 +1,2 @@ - LIB2ADDEH = $(srcdir)/config/xtensa/unwind-dw2-xtensa.c \ -- $(srcdir)/unwind-dw2-fde.c $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c -+ $(srcdir)/unwind-dw2-fde-dip.c $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c --- -1.8.1.4 - diff --git a/package/gcc/5.4.0/873-xtensa-fix-_Unwind_GetCFA.patch b/package/gcc/5.4.0/873-xtensa-fix-_Unwind_GetCFA.patch deleted file mode 100644 index 2d8eb7c778..0000000000 --- a/package/gcc/5.4.0/873-xtensa-fix-_Unwind_GetCFA.patch +++ /dev/null @@ -1,40 +0,0 @@ -From b33905dc310f475ddbde4c9fb7230724b2068a2b Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Sat, 15 Aug 2015 05:12:11 +0300 -Subject: [PATCH 3/3] xtensa: fix _Unwind_GetCFA - -Returning context->cfa in _Unwind_GetCFA makes CFA point one stack frame -higher than what was actually used by code at context->ra. This results -in invalid CFA value in signal frames and premature unwinding completion -in forced unwinding used by uClibc NPTL thread cancellation. -Returning context->sp from _Unwind_GetCFA makes all CFA values valid and -matching code that used them. - -2015-08-18 Max Filippov -libgcc/ - * config/xtensa/unwind-dw2-xtensa.c (_Unwind_GetCFA): Return - context->sp instead of context->cfa. - -Signed-off-by: Max Filippov ---- -Backported from: r226964 - - libgcc/config/xtensa/unwind-dw2-xtensa.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libgcc/config/xtensa/unwind-dw2-xtensa.c b/libgcc/config/xtensa/unwind-dw2-xtensa.c -index 82b0e63..8e579c7 100644 ---- a/libgcc/config/xtensa/unwind-dw2-xtensa.c -+++ b/libgcc/config/xtensa/unwind-dw2-xtensa.c -@@ -130,7 +130,7 @@ _Unwind_GetGR (struct _Unwind_Context *context, int index) - _Unwind_Word - _Unwind_GetCFA (struct _Unwind_Context *context) - { -- return (_Unwind_Ptr) context->cfa; -+ return (_Unwind_Ptr) context->sp; - } - - /* Overwrite the saved value for register INDEX in CONTEXT with VAL. */ --- -1.8.1.4 - diff --git a/package/gcc/5.4.0/874-xtensa-add-uclinux-support.patch b/package/gcc/5.4.0/874-xtensa-add-uclinux-support.patch deleted file mode 100644 index 23db3d863c..0000000000 --- a/package/gcc/5.4.0/874-xtensa-add-uclinux-support.patch +++ /dev/null @@ -1,174 +0,0 @@ -From 70c2cb98fb129b4766b5da0f945dc41fd568c77a Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Sat, 22 Aug 2015 08:44:26 +0300 -Subject: [PATCH] xtensa: add uclinux support - -2015-10-03 Max Filippov -gcc/ - * config.gcc (xtensa*-*-uclinux*): New configuration. - * config/xtensa/uclinux.h: New file. - * config/xtensa/uclinux.opt: New file. - -libgcc/ - * config.host (xtensa*-*-uclinux*): New configuration. - -Signed-off-by: Max Filippov ---- -Backported from: r228450 - - gcc/config.gcc | 5 ++++ - gcc/config/xtensa/uclinux.h | 69 +++++++++++++++++++++++++++++++++++++++++++ - gcc/config/xtensa/uclinux.opt | 32 ++++++++++++++++++++ - libgcc/config.host | 5 ++++ - 4 files changed, 111 insertions(+) - create mode 100644 gcc/config/xtensa/uclinux.h - create mode 100644 gcc/config/xtensa/uclinux.opt - -diff --git a/gcc/config.gcc b/gcc/config.gcc -index c52f5a8..56797bd 100644 ---- a/gcc/config.gcc -+++ b/gcc/config.gcc -@@ -2995,6 +2995,11 @@ xtensa*-*-linux*) - tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/linux.h" - tmake_file="${tmake_file} xtensa/t-xtensa" - ;; -+xtensa*-*-uclinux*) -+ tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/uclinux.h" -+ tmake_file="${tmake_file} xtensa/t-xtensa" -+ extra_options="${extra_options} xtensa/uclinux.opt" -+ ;; - am33_2.0-*-linux*) - tm_file="mn10300/mn10300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h mn10300/linux.h" - gas=yes gnu_ld=yes -diff --git a/gcc/config/xtensa/uclinux.h b/gcc/config/xtensa/uclinux.h -new file mode 100644 -index 0000000..4606020 ---- /dev/null -+++ b/gcc/config/xtensa/uclinux.h -@@ -0,0 +1,69 @@ -+/* Xtensa uClinux configuration. -+ Derived from the configuration for GCC for Intel i386 running Linux. -+ Copyright (C) 2001-2015 Free Software Foundation, Inc. -+ -+This file is part of GCC. -+ -+GCC 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 3, or (at your option) any later -+version. -+ -+GCC 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 GCC; see the file COPYING3. If not see -+. */ -+ -+#undef TARGET_OS_CPP_BUILTINS -+#define TARGET_OS_CPP_BUILTINS() \ -+ do \ -+ { \ -+ GNU_USER_TARGET_OS_CPP_BUILTINS (); \ -+ builtin_define ("__uClinux__"); \ -+ } \ -+ while (0) -+ -+#undef SUBTARGET_CPP_SPEC -+#define SUBTARGET_CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}" -+ -+#undef SIZE_TYPE -+#define SIZE_TYPE "unsigned int" -+ -+#undef PTRDIFF_TYPE -+#define PTRDIFF_TYPE "int" -+ -+#undef WCHAR_TYPE -+#define WCHAR_TYPE "long int" -+ -+#undef WCHAR_TYPE_SIZE -+#define WCHAR_TYPE_SIZE 32 -+ -+#undef ASM_SPEC -+#define ASM_SPEC \ -+ "%{mtext-section-literals:--text-section-literals} \ -+ %{mno-text-section-literals:--no-text-section-literals} \ -+ %{mtarget-align:--target-align} \ -+ %{mno-target-align:--no-target-align} \ -+ %{mlongcalls:--longcalls} \ -+ %{mno-longcalls:--no-longcalls} \ -+ %{mauto-litpools:--auto-litpools} \ -+ %{mno-auto-litpools:--no-auto-litpools}" -+ -+#undef LINK_SPEC -+#define LINK_SPEC "%{!no-elf2flt:%{!elf2flt*:-elf2flt}}" -+ -+#undef LOCAL_LABEL_PREFIX -+#define LOCAL_LABEL_PREFIX "." -+ -+/* Always enable "-fpic" for Xtensa Linux. */ -+#define XTENSA_ALWAYS_PIC 1 -+ -+#undef TARGET_LIBC_HAS_FUNCTION -+#define TARGET_LIBC_HAS_FUNCTION no_c99_libc_has_function -+ -+#undef DBX_REGISTER_NUMBER -+ -diff --git a/gcc/config/xtensa/uclinux.opt b/gcc/config/xtensa/uclinux.opt -new file mode 100644 -index 0000000..95ef777 ---- /dev/null -+++ b/gcc/config/xtensa/uclinux.opt -@@ -0,0 +1,32 @@ -+; Xtensa uClinux options. -+ -+; Copyright (C) 2015 Free Software Foundation, Inc. -+; -+; This file is part of GCC. -+; -+; GCC 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 3, or (at your option) any later -+; version. -+; -+; GCC 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 GCC; see the file COPYING3. If not see -+; . -+ -+; See the GCC internals manual (options.texi) for a description of -+; this file's format. -+ -+; Please try to keep this file in ASCII collating order. -+ -+elf2flt -+Driver -+ -+elf2flt= -+Driver JoinedOrMissing -+ -+; This comment is to ensure we retain the blank line above. -diff --git a/libgcc/config.host b/libgcc/config.host -index 2c64756..2ee92c1 100644 ---- a/libgcc/config.host -+++ b/libgcc/config.host -@@ -1295,6 +1295,11 @@ xtensa*-*-linux*) - tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux t-slibgcc-libgcc" - md_unwind_header=xtensa/linux-unwind.h - ;; -+xtensa*-*-uclinux*) -+ tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux t-slibgcc-libgcc" -+ md_unwind_header=xtensa/linux-unwind.h -+ extra_parts="$extra_parts crtbeginS.o crtbeginT.o crtendS.o" -+ ;; - am33_2.0-*-linux*) - # Don't need crtbeginT.o from *-*-linux* default. - extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o" --- -1.8.1.4 - diff --git a/package/gcc/5.4.0/876-xtensa-Fix-PR-target-78603.patch b/package/gcc/5.4.0/876-xtensa-Fix-PR-target-78603.patch deleted file mode 100644 index 628268ada4..0000000000 --- a/package/gcc/5.4.0/876-xtensa-Fix-PR-target-78603.patch +++ /dev/null @@ -1,37 +0,0 @@ -From e178289a12a829ec47dc5038d91401f65381e71d Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Tue, 29 Nov 2016 13:09:17 -0800 -Subject: [PATCH 8/8] xtensa: Fix PR target/78603 - -2016-11-29 Max Filippov -gcc/ - * config/xtensa/xtensa.c (hwloop_optimize): Don't emit zero - overhead loop start between a call and its CALL_ARG_LOCATION - note. - -Signed-off-by: Max Filippov ---- -Backported from: r242979 - - gcc/config/xtensa/xtensa.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c -index 206ff80..36ab1e3 100644 ---- a/gcc/config/xtensa/xtensa.c -+++ b/gcc/config/xtensa/xtensa.c -@@ -4182,7 +4182,10 @@ hwloop_optimize (hwloop_info loop) - entry_after = BB_END (entry_bb); - while (DEBUG_INSN_P (entry_after) - || (NOTE_P (entry_after) -- && NOTE_KIND (entry_after) != NOTE_INSN_BASIC_BLOCK)) -+ && NOTE_KIND (entry_after) != NOTE_INSN_BASIC_BLOCK -+ /* Make sure we don't split a call and its corresponding -+ CALL_ARG_LOCATION note. */ -+ && NOTE_KIND (entry_after) != NOTE_INSN_CALL_ARG_LOCATION)) - entry_after = PREV_INSN (entry_after); - - emit_insn_after (seq, entry_after); --- -2.1.4 - diff --git a/package/gcc/5.4.0/100-uclibc-conf.patch b/package/gcc/5.5.0/100-uclibc-conf.patch similarity index 100% rename from package/gcc/5.4.0/100-uclibc-conf.patch rename to package/gcc/5.5.0/100-uclibc-conf.patch diff --git a/package/gcc/4.8.5/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch b/package/gcc/5.5.0/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch similarity index 100% rename from package/gcc/4.8.5/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch rename to package/gcc/5.5.0/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch diff --git a/package/gcc/5.4.0/301-missing-execinfo_h.patch b/package/gcc/5.5.0/301-missing-execinfo_h.patch similarity index 100% rename from package/gcc/5.4.0/301-missing-execinfo_h.patch rename to package/gcc/5.5.0/301-missing-execinfo_h.patch diff --git a/package/gcc/5.4.0/810-arm-softfloat-libgcc.patch b/package/gcc/5.5.0/810-arm-softfloat-libgcc.patch similarity index 100% rename from package/gcc/5.4.0/810-arm-softfloat-libgcc.patch rename to package/gcc/5.5.0/810-arm-softfloat-libgcc.patch diff --git a/package/gcc/5.4.0/830-arm_unbreak_armv4t.patch b/package/gcc/5.5.0/830-arm_unbreak_armv4t.patch similarity index 100% rename from package/gcc/5.4.0/830-arm_unbreak_armv4t.patch rename to package/gcc/5.5.0/830-arm_unbreak_armv4t.patch diff --git a/package/gcc/5.4.0/831-ARM-PR-target-70473-Reduce-size-of-Cortex-A8-automat.patch b/package/gcc/5.5.0/831-ARM-PR-target-70473-Reduce-size-of-Cortex-A8-automat.patch similarity index 100% rename from package/gcc/5.4.0/831-ARM-PR-target-70473-Reduce-size-of-Cortex-A8-automat.patch rename to package/gcc/5.5.0/831-ARM-PR-target-70473-Reduce-size-of-Cortex-A8-automat.patch diff --git a/package/gcc/5.4.0/840-microblaze-enable-dwarf-eh-support.patch b/package/gcc/5.5.0/840-microblaze-enable-dwarf-eh-support.patch similarity index 100% rename from package/gcc/5.4.0/840-microblaze-enable-dwarf-eh-support.patch rename to package/gcc/5.5.0/840-microblaze-enable-dwarf-eh-support.patch diff --git a/package/gcc/5.4.0/850-libstdcxx-uclibc-c99.patch b/package/gcc/5.5.0/850-libstdcxx-uclibc-c99.patch similarity index 100% rename from package/gcc/5.4.0/850-libstdcxx-uclibc-c99.patch rename to package/gcc/5.5.0/850-libstdcxx-uclibc-c99.patch diff --git a/package/gcc/5.4.0/860-cilk-wchar.patch b/package/gcc/5.5.0/860-cilk-wchar.patch similarity index 100% rename from package/gcc/5.4.0/860-cilk-wchar.patch rename to package/gcc/5.5.0/860-cilk-wchar.patch diff --git a/package/gcc/4.8.5/870-xtensa-add-mauto-litpools-option.patch b/package/gcc/5.5.0/870-xtensa-add-mauto-litpools-option.patch similarity index 100% rename from package/gcc/4.8.5/870-xtensa-add-mauto-litpools-option.patch rename to package/gcc/5.5.0/870-xtensa-add-mauto-litpools-option.patch diff --git a/package/gcc/5.4.0/871-xtensa-reimplement-register-spilling.patch b/package/gcc/5.5.0/871-xtensa-reimplement-register-spilling.patch similarity index 100% rename from package/gcc/5.4.0/871-xtensa-reimplement-register-spilling.patch rename to package/gcc/5.5.0/871-xtensa-reimplement-register-spilling.patch diff --git a/package/gcc/4.8.5/874-xtensa-add-uclinux-support.patch b/package/gcc/5.5.0/874-xtensa-add-uclinux-support.patch similarity index 100% rename from package/gcc/4.8.5/874-xtensa-add-uclinux-support.patch rename to package/gcc/5.5.0/874-xtensa-add-uclinux-support.patch diff --git a/package/gcc/5.4.0/875-xtensa-implement-trap-pattern.patch b/package/gcc/5.5.0/875-xtensa-implement-trap-pattern.patch similarity index 100% rename from package/gcc/5.4.0/875-xtensa-implement-trap-pattern.patch rename to package/gcc/5.5.0/875-xtensa-implement-trap-pattern.patch diff --git a/package/gcc/5.4.0/880-gcc-nios2-Add-IJMP_REGS-enum.patch b/package/gcc/5.5.0/880-gcc-nios2-Add-IJMP_REGS-enum.patch similarity index 100% rename from package/gcc/5.4.0/880-gcc-nios2-Add-IJMP_REGS-enum.patch rename to package/gcc/5.5.0/880-gcc-nios2-Add-IJMP_REGS-enum.patch diff --git a/package/gcc/5.4.0/890-fix-m68k-compile.patch b/package/gcc/5.5.0/890-fix-m68k-compile.patch similarity index 100% rename from package/gcc/5.4.0/890-fix-m68k-compile.patch rename to package/gcc/5.5.0/890-fix-m68k-compile.patch diff --git a/package/gcc/5.4.0/891-fix-m68k-uclinux.patch b/package/gcc/5.5.0/891-fix-m68k-uclinux.patch similarity index 100% rename from package/gcc/5.4.0/891-fix-m68k-uclinux.patch rename to package/gcc/5.5.0/891-fix-m68k-uclinux.patch diff --git a/package/gcc/5.4.0/900-libitm-fixes-for-musl-support.patch b/package/gcc/5.5.0/900-libitm-fixes-for-musl-support.patch similarity index 100% rename from package/gcc/5.4.0/900-libitm-fixes-for-musl-support.patch rename to package/gcc/5.5.0/900-libitm-fixes-for-musl-support.patch diff --git a/package/gcc/5.4.0/901-fixincludes-update-for-musl-support.patch b/package/gcc/5.5.0/901-fixincludes-update-for-musl-support.patch similarity index 100% rename from package/gcc/5.4.0/901-fixincludes-update-for-musl-support.patch rename to package/gcc/5.5.0/901-fixincludes-update-for-musl-support.patch diff --git a/package/gcc/5.4.0/902-unwind-fix-for-musl.patch b/package/gcc/5.5.0/902-unwind-fix-for-musl.patch similarity index 100% rename from package/gcc/5.4.0/902-unwind-fix-for-musl.patch rename to package/gcc/5.5.0/902-unwind-fix-for-musl.patch diff --git a/package/gcc/5.4.0/903-libstdc++-libgfortran-gthr-workaround-for-musl.patch b/package/gcc/5.5.0/903-libstdc++-libgfortran-gthr-workaround-for-musl.patch similarity index 100% rename from package/gcc/5.4.0/903-libstdc++-libgfortran-gthr-workaround-for-musl.patch rename to package/gcc/5.5.0/903-libstdc++-libgfortran-gthr-workaround-for-musl.patch diff --git a/package/gcc/5.4.0/904-musl-libc-config.patch b/package/gcc/5.5.0/904-musl-libc-config.patch similarity index 100% rename from package/gcc/5.4.0/904-musl-libc-config.patch rename to package/gcc/5.5.0/904-musl-libc-config.patch diff --git a/package/gcc/5.4.0/905-add-musl-support-to-gcc.patch b/package/gcc/5.5.0/905-add-musl-support-to-gcc.patch similarity index 100% rename from package/gcc/5.4.0/905-add-musl-support-to-gcc.patch rename to package/gcc/5.5.0/905-add-musl-support-to-gcc.patch diff --git a/package/gcc/5.4.0/906-mips-musl-support.patch b/package/gcc/5.5.0/906-mips-musl-support.patch similarity index 100% rename from package/gcc/5.4.0/906-mips-musl-support.patch rename to package/gcc/5.5.0/906-mips-musl-support.patch diff --git a/package/gcc/5.4.0/907-x86-musl-support.patch b/package/gcc/5.5.0/907-x86-musl-support.patch similarity index 100% rename from package/gcc/5.4.0/907-x86-musl-support.patch rename to package/gcc/5.5.0/907-x86-musl-support.patch diff --git a/package/gcc/5.4.0/908-arm-musl-support.patch b/package/gcc/5.5.0/908-arm-musl-support.patch similarity index 100% rename from package/gcc/5.4.0/908-arm-musl-support.patch rename to package/gcc/5.5.0/908-arm-musl-support.patch diff --git a/package/gcc/5.4.0/909-aarch64-musl-support.patch b/package/gcc/5.5.0/909-aarch64-musl-support.patch similarity index 100% rename from package/gcc/5.4.0/909-aarch64-musl-support.patch rename to package/gcc/5.5.0/909-aarch64-musl-support.patch diff --git a/package/gcc/5.4.0/910-microblaze-musl-and-uclibc.patch b/package/gcc/5.5.0/910-microblaze-musl-and-uclibc.patch similarity index 100% rename from package/gcc/5.4.0/910-microblaze-musl-and-uclibc.patch rename to package/gcc/5.5.0/910-microblaze-musl-and-uclibc.patch diff --git a/package/gcc/5.4.0/911-ppc-musl-support.patch b/package/gcc/5.5.0/911-ppc-musl-support.patch similarity index 100% rename from package/gcc/5.4.0/911-ppc-musl-support.patch rename to package/gcc/5.5.0/911-ppc-musl-support.patch diff --git a/package/gcc/5.5.0/912-sh-musl-support.patch b/package/gcc/5.5.0/912-sh-musl-support.patch new file mode 100644 index 0000000000..6fdfacc6ed --- /dev/null +++ b/package/gcc/5.5.0/912-sh-musl-support.patch @@ -0,0 +1,50 @@ +From 6e9cad5fc3bdd0a1fa24ae172d4d4c1e3179a51c Mon Sep 17 00:00:00 2001 +From: nsz +Date: Tue, 20 Oct 2015 18:13:15 +0000 +Subject: [PATCH] musl support for sh + + * config/sh/linux.h (MUSL_DYNAMIC_LINKER): Define. + (MUSL_DYNAMIC_LINKER_E, MUSL_DYNAMIC_LINKER_FP): Define. + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229095 138bc75d-0d04-0410-961f-82ee72b054a4 +[Thomas: backport from gcc 6.x] +Signed-off-by: Thomas Petazzoni +--- + gcc/config/sh/linux.h | 21 +++++++++++++++++++++ + 1 file changed, 21 insertions(+) + +diff --git a/gcc/config/sh/linux.h b/gcc/config/sh/linux.h +index 0f5d614..61cf777 100644 +--- a/gcc/config/sh/linux.h ++++ b/gcc/config/sh/linux.h +@@ -43,6 +43,27 @@ along with GCC; see the file COPYING3. If not see + + #define TARGET_ASM_FILE_END file_end_indicate_exec_stack + ++#if TARGET_ENDIAN_DEFAULT == MASK_LITTLE_ENDIAN ++#define MUSL_DYNAMIC_LINKER_E "%{mb:eb}" ++#else ++#define MUSL_DYNAMIC_LINKER_E "%{!ml:eb}" ++#endif ++ ++#if TARGET_CPU_DEFAULT & (MASK_HARD_SH2A_DOUBLE | MASK_SH4) ++/* "-nofpu" if any nofpu option is specified. */ ++#define MUSL_DYNAMIC_LINKER_FP \ ++ "%{m1|m2|m2a-nofpu|m3|m4-nofpu|m4-100-nofpu|m4-200-nofpu|m4-300-nofpu|" \ ++ "m4-340|m4-400|m4-500|m4al:-nofpu}" ++#else ++/* "-nofpu" if none of the hard fpu options are specified. */ ++#define MUSL_DYNAMIC_LINKER_FP "%{m2a|m4|m4-100|m4-200|m4-300|m4a:;:-nofpu}" ++#endif ++ ++#undef MUSL_DYNAMIC_LINKER ++#define MUSL_DYNAMIC_LINKER \ ++ "/lib/ld-musl-sh" MUSL_DYNAMIC_LINKER_E MUSL_DYNAMIC_LINKER_FP \ ++ "%{mfdpic:-fdpic}.so.1" ++ + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" + + #undef SUBTARGET_LINK_EMUL_SUFFIX +-- +2.7.4 + diff --git a/package/gcc/5.4.0/930-libgcc-disable-split-stack-nothreads.patch b/package/gcc/5.5.0/930-libgcc-disable-split-stack-nothreads.patch similarity index 100% rename from package/gcc/5.4.0/930-libgcc-disable-split-stack-nothreads.patch rename to package/gcc/5.5.0/930-libgcc-disable-split-stack-nothreads.patch diff --git a/package/gcc/5.4.0/940-uclinux-enable-threads.patch b/package/gcc/5.5.0/940-uclinux-enable-threads.patch similarity index 100% rename from package/gcc/5.4.0/940-uclinux-enable-threads.patch rename to package/gcc/5.5.0/940-uclinux-enable-threads.patch diff --git a/package/gcc/5.4.0/941-mips-Add-support-for-mips-r6-musl.patch b/package/gcc/5.5.0/941-mips-Add-support-for-mips-r6-musl.patch similarity index 100% rename from package/gcc/5.4.0/941-mips-Add-support-for-mips-r6-musl.patch rename to package/gcc/5.5.0/941-mips-Add-support-for-mips-r6-musl.patch diff --git a/package/gcc/6.3.0/870-xtensa-Fix-PR-target-78118.patch b/package/gcc/6.3.0/870-xtensa-Fix-PR-target-78118.patch deleted file mode 100644 index 0598c76c2f..0000000000 --- a/package/gcc/6.3.0/870-xtensa-Fix-PR-target-78118.patch +++ /dev/null @@ -1,320 +0,0 @@ -From 0d2556fa652cc85b3d042e862a38dd07d454175a Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Wed, 26 Oct 2016 08:02:51 +0000 -Subject: [PATCH 1/2] xtensa: Fix PR target/78118 - -It started failing after the following commit: 32e90dc6a0cda45 ("PR -rtl-optimization/61047"). - -The change that made xtensa backend go ICE looks completely unrelated, -and indeed, the issue is caused by the side effect of -compute_frame_size() function call hidden in the -INITIAL_ELIMINATION_OFFSET macro. This call updates the value of the -xtensa_current_frame_size static variable, used in "return" instruction -predicate. Prior to the change the value of xtensa_current_frame_size was -set to 0 after the end of epilogue generation, which enabled the "return" -instruction for the CALL0 ABI, but after the change the additional -INITIAL_ELIMINATION_OFFSET calls make xtensa_current_frame_size non-zero -and "return" pattern unavailable. - -Get rid of the global xtensa_current_frame_size and -xtensa_callee_save_size variables by moving them into the -machine_function structure. Implement predicate for the "return" pattern -as a function. Don't communicate completion of epilogue generation -through zeroing of xtensa_current_frame_size, add explicit epilogue_done -variable to the machine_function structure. Don't update stack frame -layout after the completion of reload. - -2016-10-26 Max Filippov -gcc/ - * config/xtensa/xtensa-protos.h - (xtensa_use_return_instruction_p): New prototype. - * config/xtensa/xtensa.c (xtensa_current_frame_size, - xtensa_callee_save_size): Remove. - (struct machine_function): Add new fields: current_frame_size, - callee_save_size, frame_laid_out and epilogue_done. - (compute_frame_size, xtensa_expand_prologue, - xtensa_expand_epilogue): Replace xtensa_callee_save_size with - cfun->machine->callee_save_size and xtensa_current_frame_size - with cfun->machine->current_frame_size. - (compute_frame_size): Update cfun->machine->frame_laid_out and - don't update frame layout after reload completion. - (xtensa_expand_epilogue): Set cfun->machine->epilogue_done - instead of zeroing xtensa_current_frame_size. - (xtensa_use_return_instruction_p): New function. - * config/xtensa/xtensa.h (xtensa_current_frame_size): Remove - declaration. - (INITIAL_ELIMINATION_OFFSET): Use return value of - compute_frame_size instead of xtensa_current_frame_size value. - * config/xtensa/xtensa.md ("return" pattern): Use new predicate - function xtensa_use_return_instruction_p instead of inline code. - -Signed-off-by: Max Filippov ---- -Backported from: r241748 - - gcc/config/xtensa/xtensa-protos.h | 1 + - gcc/config/xtensa/xtensa.c | 82 ++++++++++++++++++++++++--------------- - gcc/config/xtensa/xtensa.h | 6 +-- - gcc/config/xtensa/xtensa.md | 2 +- - 4 files changed, 55 insertions(+), 36 deletions(-) - -diff --git a/gcc/config/xtensa/xtensa-protos.h b/gcc/config/xtensa/xtensa-protos.h -index f2ca526..873557f 100644 ---- a/gcc/config/xtensa/xtensa-protos.h -+++ b/gcc/config/xtensa/xtensa-protos.h -@@ -68,6 +68,7 @@ extern rtx xtensa_return_addr (int, rtx); - extern void xtensa_setup_frame_addresses (void); - extern int xtensa_dbx_register_number (int); - extern long compute_frame_size (int); -+extern bool xtensa_use_return_instruction_p (void); - extern void xtensa_expand_prologue (void); - extern void xtensa_expand_epilogue (void); - extern void order_regs_for_local_alloc (void); -diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c -index 64d089b..e49f784 100644 ---- a/gcc/config/xtensa/xtensa.c -+++ b/gcc/config/xtensa/xtensa.c -@@ -78,11 +78,6 @@ enum internal_test - can support a given mode. */ - char xtensa_hard_regno_mode_ok[(int) MAX_MACHINE_MODE][FIRST_PSEUDO_REGISTER]; - --/* Current frame size calculated by compute_frame_size. */ --unsigned xtensa_current_frame_size; --/* Callee-save area size in the current frame calculated by compute_frame_size. */ --int xtensa_callee_save_size; -- - /* Largest block move to handle in-line. */ - #define LARGEST_MOVE_RATIO 15 - -@@ -94,6 +89,13 @@ struct GTY(()) machine_function - bool vararg_a7; - rtx vararg_a7_copy; - rtx_insn *set_frame_ptr_insn; -+ /* Current frame size calculated by compute_frame_size. */ -+ unsigned current_frame_size; -+ /* Callee-save area size in the current frame calculated by -+ compute_frame_size. */ -+ int callee_save_size; -+ bool frame_laid_out; -+ bool epilogue_done; - }; - - /* Vector, indexed by hard register number, which contains 1 for a -@@ -2628,24 +2630,29 @@ compute_frame_size (int size) - { - int regno; - -+ if (reload_completed && cfun->machine->frame_laid_out) -+ return cfun->machine->current_frame_size; -+ - /* Add space for the incoming static chain value. */ - if (cfun->static_chain_decl != NULL) - size += (1 * UNITS_PER_WORD); - -- xtensa_callee_save_size = 0; -+ cfun->machine->callee_save_size = 0; - for (regno = 0; regno < FIRST_PSEUDO_REGISTER; ++regno) - { - if (xtensa_call_save_reg(regno)) -- xtensa_callee_save_size += UNITS_PER_WORD; -+ cfun->machine->callee_save_size += UNITS_PER_WORD; - } - -- xtensa_current_frame_size = -+ cfun->machine->current_frame_size = - XTENSA_STACK_ALIGN (size -- + xtensa_callee_save_size -+ + cfun->machine->callee_save_size - + crtl->outgoing_args_size - + (WINDOW_SIZE * UNITS_PER_WORD)); -- xtensa_callee_save_size = XTENSA_STACK_ALIGN (xtensa_callee_save_size); -- return xtensa_current_frame_size; -+ cfun->machine->callee_save_size = -+ XTENSA_STACK_ALIGN (cfun->machine->callee_save_size); -+ cfun->machine->frame_laid_out = true; -+ return cfun->machine->current_frame_size; - } - - -@@ -2696,6 +2703,7 @@ xtensa_expand_prologue (void) - { - int regno; - HOST_WIDE_INT offset = 0; -+ int callee_save_size = cfun->machine->callee_save_size; - - /* -128 is a limit of single addi instruction. */ - if (total_size > 0 && total_size <= 128) -@@ -2709,7 +2717,7 @@ xtensa_expand_prologue (void) - add_reg_note (insn, REG_FRAME_RELATED_EXPR, note_rtx); - offset = total_size - UNITS_PER_WORD; - } -- else if (xtensa_callee_save_size) -+ else if (callee_save_size) - { - /* 1020 is maximal s32i offset, if the frame is bigger than that - * we move sp to the end of callee-saved save area, save and then -@@ -2717,13 +2725,13 @@ xtensa_expand_prologue (void) - if (total_size > 1024) - { - insn = emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, -- GEN_INT (-xtensa_callee_save_size))); -+ GEN_INT (-callee_save_size))); - RTX_FRAME_RELATED_P (insn) = 1; - note_rtx = gen_rtx_SET (stack_pointer_rtx, - plus_constant (Pmode, stack_pointer_rtx, -- -xtensa_callee_save_size)); -+ -callee_save_size)); - add_reg_note (insn, REG_FRAME_RELATED_EXPR, note_rtx); -- offset = xtensa_callee_save_size - UNITS_PER_WORD; -+ offset = callee_save_size - UNITS_PER_WORD; - } - else - { -@@ -2759,13 +2767,13 @@ xtensa_expand_prologue (void) - { - rtx tmp_reg = gen_rtx_REG (Pmode, A9_REG); - emit_move_insn (tmp_reg, GEN_INT (total_size - -- xtensa_callee_save_size)); -+ callee_save_size)); - insn = emit_insn (gen_subsi3 (stack_pointer_rtx, - stack_pointer_rtx, tmp_reg)); - RTX_FRAME_RELATED_P (insn) = 1; - note_rtx = gen_rtx_SET (stack_pointer_rtx, - plus_constant (Pmode, stack_pointer_rtx, -- xtensa_callee_save_size - -+ callee_save_size - - total_size)); - add_reg_note (insn, REG_FRAME_RELATED_EXPR, note_rtx); - } -@@ -2833,21 +2841,21 @@ xtensa_expand_epilogue (void) - int regno; - HOST_WIDE_INT offset; - -- if (xtensa_current_frame_size > (frame_pointer_needed ? 127 : 1024)) -+ if (cfun->machine->current_frame_size > (frame_pointer_needed ? 127 : 1024)) - { - rtx tmp_reg = gen_rtx_REG (Pmode, A9_REG); -- emit_move_insn (tmp_reg, GEN_INT (xtensa_current_frame_size - -- xtensa_callee_save_size)); -+ emit_move_insn (tmp_reg, GEN_INT (cfun->machine->current_frame_size - -+ cfun->machine->callee_save_size)); - emit_insn (gen_addsi3 (stack_pointer_rtx, frame_pointer_needed ? - hard_frame_pointer_rtx : stack_pointer_rtx, - tmp_reg)); -- offset = xtensa_callee_save_size - UNITS_PER_WORD; -+ offset = cfun->machine->callee_save_size - UNITS_PER_WORD; - } - else - { - if (frame_pointer_needed) - emit_move_insn (stack_pointer_rtx, hard_frame_pointer_rtx); -- offset = xtensa_current_frame_size - UNITS_PER_WORD; -+ offset = cfun->machine->current_frame_size - UNITS_PER_WORD; - } - - /* Prevent reordering of saved a0 update and loading it back from -@@ -2867,16 +2875,16 @@ xtensa_expand_epilogue (void) - } - } - -- if (xtensa_current_frame_size > 0) -+ if (cfun->machine->current_frame_size > 0) - { - if (frame_pointer_needed || /* always reachable with addi */ -- xtensa_current_frame_size > 1024 || -- xtensa_current_frame_size <= 127) -+ cfun->machine->current_frame_size > 1024 || -+ cfun->machine->current_frame_size <= 127) - { -- if (xtensa_current_frame_size <= 127) -- offset = xtensa_current_frame_size; -+ if (cfun->machine->current_frame_size <= 127) -+ offset = cfun->machine->current_frame_size; - else -- offset = xtensa_callee_save_size; -+ offset = cfun->machine->callee_save_size; - - emit_insn (gen_addsi3 (stack_pointer_rtx, - stack_pointer_rtx, -@@ -2885,7 +2893,8 @@ xtensa_expand_epilogue (void) - else - { - rtx tmp_reg = gen_rtx_REG (Pmode, A9_REG); -- emit_move_insn (tmp_reg, GEN_INT (xtensa_current_frame_size)); -+ emit_move_insn (tmp_reg, -+ GEN_INT (cfun->machine->current_frame_size)); - emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, - tmp_reg)); - } -@@ -2896,11 +2905,22 @@ xtensa_expand_epilogue (void) - stack_pointer_rtx, - EH_RETURN_STACKADJ_RTX)); - } -- xtensa_current_frame_size = 0; -- xtensa_callee_save_size = 0; -+ cfun->machine->epilogue_done = true; - emit_jump_insn (gen_return ()); - } - -+bool -+xtensa_use_return_instruction_p (void) -+{ -+ if (!reload_completed) -+ return false; -+ if (TARGET_WINDOWED_ABI) -+ return true; -+ if (compute_frame_size (get_frame_size ()) == 0) -+ return true; -+ return cfun->machine->epilogue_done; -+} -+ - void - xtensa_set_return_address (rtx address, rtx scratch) - { -diff --git a/gcc/config/xtensa/xtensa.h b/gcc/config/xtensa/xtensa.h -index 82e9900..58eb1b2 100644 ---- a/gcc/config/xtensa/xtensa.h -+++ b/gcc/config/xtensa/xtensa.h -@@ -23,8 +23,6 @@ along with GCC; see the file COPYING3. If not see - - /* External variables defined in xtensa.c. */ - --extern unsigned xtensa_current_frame_size; -- - /* Macros used in the machine description to select various Xtensa - configuration options. */ - #ifndef XCHAL_HAVE_MUL32_HIGH -@@ -477,14 +475,14 @@ enum reg_class - /* Specify the initial difference between the specified pair of registers. */ - #define INITIAL_ELIMINATION_OFFSET(FROM, TO, OFFSET) \ - do { \ -- compute_frame_size (get_frame_size ()); \ -+ long frame_size = compute_frame_size (get_frame_size ()); \ - switch (FROM) \ - { \ - case FRAME_POINTER_REGNUM: \ - (OFFSET) = 0; \ - break; \ - case ARG_POINTER_REGNUM: \ -- (OFFSET) = xtensa_current_frame_size; \ -+ (OFFSET) = frame_size; \ - break; \ - default: \ - gcc_unreachable (); \ -diff --git a/gcc/config/xtensa/xtensa.md b/gcc/config/xtensa/xtensa.md -index db54a12..fcdb6c8 100644 ---- a/gcc/config/xtensa/xtensa.md -+++ b/gcc/config/xtensa/xtensa.md -@@ -1663,7 +1663,7 @@ - (define_insn "return" - [(return) - (use (reg:SI A0_REG))] -- "(TARGET_WINDOWED_ABI || !xtensa_current_frame_size) && reload_completed" -+ "xtensa_use_return_instruction_p ()" - { - return TARGET_WINDOWED_ABI ? - (TARGET_DENSITY ? "retw.n" : "retw") : --- -2.1.4 - diff --git a/package/gcc/6.3.0/871-xtensa-Fix-PR-target-78603.patch b/package/gcc/6.3.0/871-xtensa-Fix-PR-target-78603.patch deleted file mode 100644 index 0331814398..0000000000 --- a/package/gcc/6.3.0/871-xtensa-Fix-PR-target-78603.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 59cce7b304a8cbbb508ba21ab2f9052d3ee9a9e3 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Tue, 29 Nov 2016 13:09:17 -0800 -Subject: [PATCH 2/2] xtensa: Fix PR target/78603 - -2016-11-29 Max Filippov -gcc/ - * config/xtensa/xtensa.c (hwloop_optimize): Don't emit zero - overhead loop start between a call and its CALL_ARG_LOCATION - note. - -Signed-off-by: Max Filippov ---- -Backported from: r242979 - - gcc/config/xtensa/xtensa.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c -index e49f784..70f698a 100644 ---- a/gcc/config/xtensa/xtensa.c -+++ b/gcc/config/xtensa/xtensa.c -@@ -4158,7 +4158,10 @@ hwloop_optimize (hwloop_info loop) - entry_after = BB_END (entry_bb); - while (DEBUG_INSN_P (entry_after) - || (NOTE_P (entry_after) -- && NOTE_KIND (entry_after) != NOTE_INSN_BASIC_BLOCK)) -+ && NOTE_KIND (entry_after) != NOTE_INSN_BASIC_BLOCK -+ /* Make sure we don't split a call and its corresponding -+ CALL_ARG_LOCATION note. */ -+ && NOTE_KIND (entry_after) != NOTE_INSN_CALL_ARG_LOCATION)) - entry_after = PREV_INSN (entry_after); - - emit_insn_after (seq, entry_after); --- -2.1.4 - diff --git a/package/gcc/6.3.0/100-uclibc-conf.patch b/package/gcc/6.4.0/100-uclibc-conf.patch similarity index 100% rename from package/gcc/6.3.0/100-uclibc-conf.patch rename to package/gcc/6.4.0/100-uclibc-conf.patch diff --git a/package/gcc/6.3.0/301-missing-execinfo_h.patch b/package/gcc/6.4.0/301-missing-execinfo_h.patch similarity index 100% rename from package/gcc/6.3.0/301-missing-execinfo_h.patch rename to package/gcc/6.4.0/301-missing-execinfo_h.patch diff --git a/package/gcc/6.3.0/810-arm-softfloat-libgcc.patch b/package/gcc/6.4.0/810-arm-softfloat-libgcc.patch similarity index 100% rename from package/gcc/6.3.0/810-arm-softfloat-libgcc.patch rename to package/gcc/6.4.0/810-arm-softfloat-libgcc.patch diff --git a/package/gcc/6.3.0/830-arm_unbreak_armv4t.patch b/package/gcc/6.4.0/830-arm_unbreak_armv4t.patch similarity index 100% rename from package/gcc/6.3.0/830-arm_unbreak_armv4t.patch rename to package/gcc/6.4.0/830-arm_unbreak_armv4t.patch diff --git a/package/gcc/6.3.0/831-ARM-PR-target-70473-Reduce-size-of-Cortex-A8-automat.patch b/package/gcc/6.4.0/831-ARM-PR-target-70473-Reduce-size-of-Cortex-A8-automat.patch similarity index 100% rename from package/gcc/6.3.0/831-ARM-PR-target-70473-Reduce-size-of-Cortex-A8-automat.patch rename to package/gcc/6.4.0/831-ARM-PR-target-70473-Reduce-size-of-Cortex-A8-automat.patch diff --git a/package/gcc/6.3.0/860-cilk-wchar.patch b/package/gcc/6.4.0/860-cilk-wchar.patch similarity index 100% rename from package/gcc/6.3.0/860-cilk-wchar.patch rename to package/gcc/6.4.0/860-cilk-wchar.patch diff --git a/package/gcc/6.4.0/870-xtensa-fix-PR-target-82181.patch b/package/gcc/6.4.0/870-xtensa-fix-PR-target-82181.patch new file mode 100644 index 0000000000..5fe384148b --- /dev/null +++ b/package/gcc/6.4.0/870-xtensa-fix-PR-target-82181.patch @@ -0,0 +1,31 @@ +From 3bc2ee6886f1619bc6a2257a0775142526b1a57a Mon Sep 17 00:00:00 2001 +From: jcmvbkbc +Date: Mon, 11 Sep 2017 21:53:38 +0000 +Subject: [PATCH] xtensa: fix PR target/82181 + +2017-09-11 Max Filippov +gcc/ + Backport from mainline + * config/xtensa/xtensa.c (xtensa_mem_offset): Check that both + words of DImode object are reachable by xtensa_uimm8x4 access. + +Signed-off-by: Max Filippov +--- + gcc/config/xtensa/xtensa.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c +index 2bdf5ccef979..92fdeb08046d 100644 +--- a/gcc/config/xtensa/xtensa.c ++++ b/gcc/config/xtensa/xtensa.c +@@ -601,6 +601,7 @@ xtensa_mem_offset (unsigned v, machine_mode mode) + case HImode: + return xtensa_uimm8x2 (v); + ++ case DImode: + case DFmode: + return (xtensa_uimm8x4 (v) && xtensa_uimm8x4 (v + 4)); + +-- +2.1.4 + diff --git a/package/gcc/6.3.0/890-fix-m68k-compile.patch b/package/gcc/6.4.0/890-fix-m68k-compile.patch similarity index 100% rename from package/gcc/6.3.0/890-fix-m68k-compile.patch rename to package/gcc/6.4.0/890-fix-m68k-compile.patch diff --git a/package/gcc/6.3.0/891-fix-m68k-uclinux.patch b/package/gcc/6.4.0/891-fix-m68k-uclinux.patch similarity index 100% rename from package/gcc/6.3.0/891-fix-m68k-uclinux.patch rename to package/gcc/6.4.0/891-fix-m68k-uclinux.patch diff --git a/package/gcc/6.3.0/892-libgcc-mkmap-symver-support-skip_underscore.patch b/package/gcc/6.4.0/892-libgcc-mkmap-symver-support-skip_underscore.patch similarity index 100% rename from package/gcc/6.3.0/892-libgcc-mkmap-symver-support-skip_underscore.patch rename to package/gcc/6.4.0/892-libgcc-mkmap-symver-support-skip_underscore.patch diff --git a/package/gcc/6.3.0/893-libgcc-config-bfin-use-the-generic-linker-version-in.patch b/package/gcc/6.4.0/893-libgcc-config-bfin-use-the-generic-linker-version-in.patch similarity index 100% rename from package/gcc/6.3.0/893-libgcc-config-bfin-use-the-generic-linker-version-in.patch rename to package/gcc/6.4.0/893-libgcc-config-bfin-use-the-generic-linker-version-in.patch diff --git a/package/gcc/6.3.0/894-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch b/package/gcc/6.4.0/894-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch similarity index 100% rename from package/gcc/6.3.0/894-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch rename to package/gcc/6.4.0/894-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch diff --git a/package/gcc/6.3.0/895-bfin-define-REENTRANT.patch b/package/gcc/6.4.0/895-bfin-define-REENTRANT.patch similarity index 100% rename from package/gcc/6.3.0/895-bfin-define-REENTRANT.patch rename to package/gcc/6.4.0/895-bfin-define-REENTRANT.patch diff --git a/package/gcc/6.4.0/896-microblaze-Revert.patch b/package/gcc/6.4.0/896-microblaze-Revert.patch new file mode 100644 index 0000000000..7026d0efe1 --- /dev/null +++ b/package/gcc/6.4.0/896-microblaze-Revert.patch @@ -0,0 +1,40 @@ +From 707a69dfb56a2976e2b5c010f0e5cb2ac9905a07 Mon Sep 17 00:00:00 2001 +From: eager +Date: Sat, 27 May 2017 18:29:40 +0000 +Subject: [PATCH] Revert: 2016-01-21 Ajit Agarwal + + + See https://gcc.gnu.org/ml/gcc/2017-05/msg00221.html. + + * config/microblaze/microblaze.h + (FIXED_REGISTERS): Update in macro. + (CALL_USED_REGISTERS): Update in macro. + + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248540 138bc75d-0d04-0410-961f-82ee72b054a4 +Signed-off-by: Waldemar Brodkorb +diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h +index 66e4ef5..2c9ece1 100644 +--- a/gcc/config/microblaze/microblaze.h ++++ b/gcc/config/microblaze/microblaze.h +@@ -269,14 +269,14 @@ extern enum pipeline_type microblaze_pipe; + #define FIXED_REGISTERS \ + { \ + 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, \ +- 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 1, 1, 1, 1 \ + } + + #define CALL_USED_REGISTERS \ + { \ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ +- 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 1, 1, 1, 1 \ + } + #define GP_REG_FIRST 0 +-- +2.1.4 + diff --git a/package/gcc/6.4.0/897-Make-MicroBlaze-support-DWARF-EH-old-Xilinx-patch-ne.patch b/package/gcc/6.4.0/897-Make-MicroBlaze-support-DWARF-EH-old-Xilinx-patch-ne.patch new file mode 100644 index 0000000000..1f2dcabede --- /dev/null +++ b/package/gcc/6.4.0/897-Make-MicroBlaze-support-DWARF-EH-old-Xilinx-patch-ne.patch @@ -0,0 +1,178 @@ +From 81aab124bc697a87ad492d4cd3380599c0e0747e Mon Sep 17 00:00:00 2001 +From: jsm28 +Date: Fri, 6 Jan 2017 20:54:34 +0000 +Subject: [PATCH] Make MicroBlaze support DWARF EH (old Xilinx patch, needed + for glibc build). + +This patch, taken from + +and with a few formatting cleanups and an update for the removal of +gen_rtx_raw_REG, enables DWARF EH support for MicroBlaze. + +This is needed for building glibc with a compiler that includes shared +libgcc; right now all glibc builds for MicroBlaze are failing with my +bot for lack of this support. (It's dubious if we should have glibc +ports at all where required support is missing in FSF GCC.) + +Tested building glibc with build-many-glibcs.py. I have *not* done +any other testing or any execution testing for MicroBlaze. + +2017-01-06 Edgar E. Iglesias + David Holsgrove + + * common/config/microblaze/microblaze-common.c + (TARGET_EXCEPT_UNWIND_INFO): Remove. + * config/microblaze/microblaze-protos.h (microblaze_eh_return): + New prototype. + * config/microblaze/microblaze.c (microblaze_must_save_register) + (microblaze_expand_epilogue, microblaze_return_addr): Handle + calls_eh_return. + (microblaze_eh_return): New function. + * config/microblaze/microblaze.h (RETURN_ADDR_OFFSET) + (EH_RETURN_DATA_REGNO, MB_EH_STACKADJ_REGNUM) + (EH_RETURN_STACKADJ_RTX, ASM_PREFERRED_EH_DATA_FORMAT): New macros. + * config/microblaze/microblaze.md (eh_return): New pattern. + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244183 138bc75d-0d04-0410-961f-82ee72b054a4 +Signed-off-by: Waldemar Brodkorb +--- + gcc/common/config/microblaze/microblaze-common.c | 3 --- + gcc/config/microblaze/microblaze-protos.h | 1 + + gcc/config/microblaze/microblaze.c | 27 ++++++++++++++++++++---- + gcc/config/microblaze/microblaze.h | 16 ++++++++++++++ + gcc/config/microblaze/microblaze.md | 10 +++++++++ + 6 files changed, 66 insertions(+), 7 deletions(-) + +diff --git a/gcc/common/config/microblaze/microblaze-common.c b/gcc/common/config/microblaze/microblaze-common.c +index 57a3099..4975663 100644 +--- a/gcc/common/config/microblaze/microblaze-common.c ++++ b/gcc/common/config/microblaze/microblaze-common.c +@@ -37,7 +37,4 @@ static const struct default_options microblaze_option_optimization_table[] = + #undef TARGET_OPTION_OPTIMIZATION_TABLE + #define TARGET_OPTION_OPTIMIZATION_TABLE microblaze_option_optimization_table + +-#undef TARGET_EXCEPT_UNWIND_INFO +-#define TARGET_EXCEPT_UNWIND_INFO sjlj_except_unwind_info +- + struct gcc_targetm_common targetm_common = TARGETM_COMMON_INITIALIZER; +diff --git a/gcc/config/microblaze/microblaze-protos.h b/gcc/config/microblaze/microblaze-protos.h +index 6fb3066..9ba8f2d 100644 +--- a/gcc/config/microblaze/microblaze-protos.h ++++ b/gcc/config/microblaze/microblaze-protos.h +@@ -57,6 +57,7 @@ extern bool microblaze_tls_referenced_p (rtx); + extern int symbol_mentioned_p (rtx); + extern int label_mentioned_p (rtx); + extern bool microblaze_cannot_force_const_mem (machine_mode, rtx); ++extern void microblaze_eh_return (rtx op0); + #endif /* RTX_CODE */ + + /* Declare functions in microblaze-c.c. */ +diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c +index 03b70e1..746bef1 100644 +--- a/gcc/config/microblaze/microblaze.c ++++ b/gcc/config/microblaze/microblaze.c +@@ -1926,6 +1926,10 @@ microblaze_must_save_register (int regno) + if (frame_pointer_needed && (regno == HARD_FRAME_POINTER_REGNUM)) + return 1; + ++ if (crtl->calls_eh_return ++ && regno == MB_ABI_SUB_RETURN_ADDR_REGNUM) ++ return 1; ++ + if (!crtl->is_leaf) + { + if (regno == MB_ABI_SUB_RETURN_ADDR_REGNUM) +@@ -1953,6 +1957,11 @@ microblaze_must_save_register (int regno) + return 1; + } + ++ if (crtl->calls_eh_return ++ && (regno == EH_RETURN_DATA_REGNO (0) ++ || regno == EH_RETURN_DATA_REGNO (1))) ++ return 1; ++ + return 0; + } + +@@ -3029,6 +3038,12 @@ microblaze_expand_epilogue (void) + emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, fsiz_rtx)); + } + ++ if (crtl->calls_eh_return) ++ emit_insn (gen_addsi3 (stack_pointer_rtx, ++ stack_pointer_rtx, ++ gen_raw_REG (SImode, ++ MB_EH_STACKADJ_REGNUM))); ++ + emit_jump_insn (gen_return_internal (gen_rtx_REG (Pmode, GP_REG_FIRST + + MB_ABI_SUB_RETURN_ADDR_REGNUM))); + } +@@ -3326,10 +3341,14 @@ microblaze_return_addr (int count, rtx frame ATTRIBUTE_UNUSED) + if (count != 0) + return NULL_RTX; + +- return gen_rtx_PLUS (Pmode, +- get_hard_reg_initial_val (Pmode, +- MB_ABI_SUB_RETURN_ADDR_REGNUM), +- GEN_INT (8)); ++ return get_hard_reg_initial_val (Pmode, ++ MB_ABI_SUB_RETURN_ADDR_REGNUM); ++} ++ ++void ++microblaze_eh_return (rtx op0) ++{ ++ emit_insn (gen_movsi (gen_rtx_MEM (Pmode, stack_pointer_rtx), op0)); + } + + /* Queue an .ident string in the queue of top-level asm statements. +diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h +index 527f4d3..8fdadbf 100644 +--- a/gcc/config/microblaze/microblaze.h ++++ b/gcc/config/microblaze/microblaze.h +@@ -184,6 +184,22 @@ extern enum pipeline_type microblaze_pipe; + #define INCOMING_RETURN_ADDR_RTX \ + gen_rtx_REG (Pmode, GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM) + ++/* Specifies the offset from INCOMING_RETURN_ADDR_RTX and the actual return PC. */ ++#define RETURN_ADDR_OFFSET (8) ++ ++/* Describe how we implement __builtin_eh_return. */ ++#define EH_RETURN_DATA_REGNO(N) \ ++ (((N) < 2) ? MB_ABI_FIRST_ARG_REGNUM + (N) : INVALID_REGNUM) ++ ++#define MB_EH_STACKADJ_REGNUM MB_ABI_INT_RETURN_VAL2_REGNUM ++#define EH_RETURN_STACKADJ_RTX gen_rtx_REG (Pmode, MB_EH_STACKADJ_REGNUM) ++ ++/* Select a format to encode pointers in exception handling data. CODE ++ is 0 for data, 1 for code labels, 2 for function pointers. GLOBAL is ++ true if the symbol may be affected by dynamic relocations. */ ++#define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) \ ++ ((flag_pic || GLOBAL) ? DW_EH_PE_aligned : DW_EH_PE_absptr) ++ + /* Use DWARF 2 debugging information by default. */ + #define DWARF2_DEBUGGING_INFO + #define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG +diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md +index 8f83daa..66ebc1e 100644 +--- a/gcc/config/microblaze/microblaze.md ++++ b/gcc/config/microblaze/microblaze.md +@@ -2324,4 +2324,14 @@ + (set_attr "mode" "SI") + (set_attr "length" "4")]) + ++; This is used in compiling the unwind routines. ++(define_expand "eh_return" ++ [(use (match_operand 0 "general_operand" ""))] ++ "" ++ " ++{ ++ microblaze_eh_return (operands[0]); ++ DONE; ++}") ++ + (include "sync.md") +-- +2.1.4 + diff --git a/package/gcc/6.3.0/940-uclinux-enable-threads.patch b/package/gcc/6.4.0/940-uclinux-enable-threads.patch similarity index 100% rename from package/gcc/6.3.0/940-uclinux-enable-threads.patch rename to package/gcc/6.4.0/940-uclinux-enable-threads.patch diff --git a/package/gcc/6.3.0/941-mips-Add-support-for-mips-r6-musl.patch b/package/gcc/6.4.0/941-mips-Add-support-for-mips-r6-musl.patch similarity index 100% rename from package/gcc/6.3.0/941-mips-Add-support-for-mips-r6-musl.patch rename to package/gcc/6.4.0/941-mips-Add-support-for-mips-r6-musl.patch diff --git a/package/gcc/6.4.0/942-Use-ucontext_t-not-struct-ucontext-in-linux-unwind.h.patch b/package/gcc/6.4.0/942-Use-ucontext_t-not-struct-ucontext-in-linux-unwind.h.patch new file mode 100644 index 0000000000..a2a2ea0f2f --- /dev/null +++ b/package/gcc/6.4.0/942-Use-ucontext_t-not-struct-ucontext-in-linux-unwind.h.patch @@ -0,0 +1,192 @@ +From 35d8ca22047f101a700abb29cffbf03b81278a2b Mon Sep 17 00:00:00 2001 +From: jsm28 +Date: Tue, 4 Jul 2017 10:23:57 +0000 +Subject: [PATCH] Use ucontext_t not struct ucontext in linux-unwind.h files. + +Current glibc no longer gives the ucontext_t type the tag struct +ucontext, to conform with POSIX namespace rules. This requires +various linux-unwind.h files in libgcc, that were previously using +struct ucontext, to be fixed to use ucontext_t instead. This is +similar to the removal of the struct siginfo tag from siginfo_t some +years ago. + +This patch changes those files to use ucontext_t instead. As the +standard name that should be unconditionally safe, so this is not +restricted to architectures supported by glibc, or conditioned on the +glibc version. + +Tested compilation together with current glibc with glibc's +build-many-glibcs.py. + + * config/aarch64/linux-unwind.h (aarch64_fallback_frame_state), + config/alpha/linux-unwind.h (alpha_fallback_frame_state), + config/bfin/linux-unwind.h (bfin_fallback_frame_state), + config/i386/linux-unwind.h (x86_64_fallback_frame_state, + x86_fallback_frame_state), config/m68k/linux-unwind.h (struct + uw_ucontext), config/nios2/linux-unwind.h (struct nios2_ucontext), + config/pa/linux-unwind.h (pa32_fallback_frame_state), + config/sh/linux-unwind.h (sh_fallback_frame_state), + config/tilepro/linux-unwind.h (tile_fallback_frame_state), + config/xtensa/linux-unwind.h (xtensa_fallback_frame_state): Use + ucontext_t instead of struct ucontext. + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@249957 138bc75d-0d04-0410-961f-82ee72b054a4 + +(cherry picked from commit b685411208e0aaa79190d54faf945763514706b8) +[Romain rebase on gcc 6.4] +Signed-off-by: Romain Naour +--- + libgcc/config/aarch64/linux-unwind.h | 2 +- + libgcc/config/alpha/linux-unwind.h | 2 +- + libgcc/config/bfin/linux-unwind.h | 2 +- + libgcc/config/i386/linux-unwind.h | 4 ++-- + libgcc/config/m68k/linux-unwind.h | 2 +- + libgcc/config/nios2/linux-unwind.h | 2 +- + libgcc/config/pa/linux-unwind.h | 2 +- + libgcc/config/sh/linux-unwind.h | 2 +- + libgcc/config/tilepro/linux-unwind.h | 2 +- + libgcc/config/xtensa/linux-unwind.h | 2 +- + 10 files changed, 11 insertions(+), 11 deletions(-) + +diff --git a/libgcc/config/aarch64/linux-unwind.h b/libgcc/config/aarch64/linux-unwind.h +index 4512efb..06de45a 100644 +--- a/libgcc/config/aarch64/linux-unwind.h ++++ b/libgcc/config/aarch64/linux-unwind.h +@@ -52,7 +52,7 @@ aarch64_fallback_frame_state (struct _Unwind_Context *context, + struct rt_sigframe + { + siginfo_t info; +- struct ucontext uc; ++ ucontext_t uc; + }; + + struct rt_sigframe *rt_; +diff --git a/libgcc/config/alpha/linux-unwind.h b/libgcc/config/alpha/linux-unwind.h +index bdbba4a..e84812e 100644 +--- a/libgcc/config/alpha/linux-unwind.h ++++ b/libgcc/config/alpha/linux-unwind.h +@@ -51,7 +51,7 @@ alpha_fallback_frame_state (struct _Unwind_Context *context, + { + struct rt_sigframe { + siginfo_t info; +- struct ucontext uc; ++ ucontext_t uc; + } *rt_ = context->cfa; + sc = &rt_->uc.uc_mcontext; + } +diff --git a/libgcc/config/bfin/linux-unwind.h b/libgcc/config/bfin/linux-unwind.h +index 77b7c23..8bf5e82 100644 +--- a/libgcc/config/bfin/linux-unwind.h ++++ b/libgcc/config/bfin/linux-unwind.h +@@ -52,7 +52,7 @@ bfin_fallback_frame_state (struct _Unwind_Context *context, + void *puc; + char retcode[8]; + siginfo_t info; +- struct ucontext uc; ++ ucontext_t uc; + } *rt_ = context->cfa; + + /* The void * cast is necessary to avoid an aliasing warning. +diff --git a/libgcc/config/i386/linux-unwind.h b/libgcc/config/i386/linux-unwind.h +index 540a0a2..29efbe3 100644 +--- a/libgcc/config/i386/linux-unwind.h ++++ b/libgcc/config/i386/linux-unwind.h +@@ -58,7 +58,7 @@ x86_64_fallback_frame_state (struct _Unwind_Context *context, + if (*(unsigned char *)(pc+0) == 0x48 + && *(unsigned long long *)(pc+1) == RT_SIGRETURN_SYSCALL) + { +- struct ucontext *uc_ = context->cfa; ++ ucontext_t *uc_ = context->cfa; + /* The void * cast is necessary to avoid an aliasing warning. + The aliasing warning is correct, but should not be a problem + because it does not alias anything. */ +@@ -138,7 +138,7 @@ x86_fallback_frame_state (struct _Unwind_Context *context, + siginfo_t *pinfo; + void *puc; + siginfo_t info; +- struct ucontext uc; ++ ucontext_t uc; + } *rt_ = context->cfa; + /* The void * cast is necessary to avoid an aliasing warning. + The aliasing warning is correct, but should not be a problem +diff --git a/libgcc/config/m68k/linux-unwind.h b/libgcc/config/m68k/linux-unwind.h +index 75b7cf7..f964e24 100644 +--- a/libgcc/config/m68k/linux-unwind.h ++++ b/libgcc/config/m68k/linux-unwind.h +@@ -33,7 +33,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + /* is unfortunately broken right now. */ + struct uw_ucontext { + unsigned long uc_flags; +- struct ucontext *uc_link; ++ ucontext_t *uc_link; + stack_t uc_stack; + mcontext_t uc_mcontext; + unsigned long uc_filler[80]; +diff --git a/libgcc/config/nios2/linux-unwind.h b/libgcc/config/nios2/linux-unwind.h +index 2304142..30f25ea 100644 +--- a/libgcc/config/nios2/linux-unwind.h ++++ b/libgcc/config/nios2/linux-unwind.h +@@ -38,7 +38,7 @@ struct nios2_mcontext { + + struct nios2_ucontext { + unsigned long uc_flags; +- struct ucontext *uc_link; ++ ucontext_t *uc_link; + stack_t uc_stack; + struct nios2_mcontext uc_mcontext; + sigset_t uc_sigmask; /* mask last for extensibility */ +diff --git a/libgcc/config/pa/linux-unwind.h b/libgcc/config/pa/linux-unwind.h +index 9a2657f..e47493d 100644 +--- a/libgcc/config/pa/linux-unwind.h ++++ b/libgcc/config/pa/linux-unwind.h +@@ -80,7 +80,7 @@ pa32_fallback_frame_state (struct _Unwind_Context *context, + struct sigcontext *sc; + struct rt_sigframe { + siginfo_t info; +- struct ucontext uc; ++ ucontext_t uc; + } *frame; + + /* rt_sigreturn trampoline: +diff --git a/libgcc/config/sh/linux-unwind.h b/libgcc/config/sh/linux-unwind.h +index e389cac..0bf43ba 100644 +--- a/libgcc/config/sh/linux-unwind.h ++++ b/libgcc/config/sh/linux-unwind.h +@@ -180,7 +180,7 @@ sh_fallback_frame_state (struct _Unwind_Context *context, + { + struct rt_sigframe { + siginfo_t info; +- struct ucontext uc; ++ ucontext_t uc; + } *rt_ = context->cfa; + /* The void * cast is necessary to avoid an aliasing warning. + The aliasing warning is correct, but should not be a problem +diff --git a/libgcc/config/tilepro/linux-unwind.h b/libgcc/config/tilepro/linux-unwind.h +index 796e976..75f8890 100644 +--- a/libgcc/config/tilepro/linux-unwind.h ++++ b/libgcc/config/tilepro/linux-unwind.h +@@ -61,7 +61,7 @@ tile_fallback_frame_state (struct _Unwind_Context *context, + struct rt_sigframe { + unsigned char save_area[C_ABI_SAVE_AREA_SIZE]; + siginfo_t info; +- struct ucontext uc; ++ ucontext_t uc; + } *rt_; + + /* Return if this is not a signal handler. */ +diff --git a/libgcc/config/xtensa/linux-unwind.h b/libgcc/config/xtensa/linux-unwind.h +index 9872492..586a9d4 100644 +--- a/libgcc/config/xtensa/linux-unwind.h ++++ b/libgcc/config/xtensa/linux-unwind.h +@@ -67,7 +67,7 @@ xtensa_fallback_frame_state (struct _Unwind_Context *context, + + struct rt_sigframe { + siginfo_t info; +- struct ucontext uc; ++ ucontext_t uc; + } *rt_; + + /* movi a2, __NR_rt_sigreturn; syscall */ +-- +2.9.5 + diff --git a/package/gcc/6.4.0/943-sanitizer-linux.patch b/package/gcc/6.4.0/943-sanitizer-linux.patch new file mode 100644 index 0000000000..640d68c853 --- /dev/null +++ b/package/gcc/6.4.0/943-sanitizer-linux.patch @@ -0,0 +1,91 @@ +From a3e3d1b5f73380a99126c4937a95225ba3bd214b Mon Sep 17 00:00:00 2001 +From: doko +Date: Thu, 7 Sep 2017 07:15:24 +0000 +Subject: [PATCH] 2017-09-07 Matthias Klose + + Backported from mainline + 2017-07-14 Jakub Jelinek + + PR sanitizer/81066 + * sanitizer_common/sanitizer_linux.h: Cherry-pick upstream r307969. + * sanitizer_common/sanitizer_linux.cc: Likewise. + * sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc: Likewise. + * tsan/tsan_platform_linux.cc: Likewise. + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@251828 138bc75d-0d04-0410-961f-82ee72b054a4 + +(cherry picked from commit 8937b94d1a643fd9760714642296d034a45254a8) +[Romain rebase on gcc 6.4] +Signed-off-by: Romain Naour +--- + libsanitizer/sanitizer_common/sanitizer_linux.cc | 3 +-- + libsanitizer/sanitizer_common/sanitizer_linux.h | 4 +--- + libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc | 2 +- + libsanitizer/tsan/tsan_platform_linux.cc | 2 +- + 4 files changed, 4 insertions(+), 7 deletions(-) + +diff --git a/libsanitizer/sanitizer_common/sanitizer_linux.cc b/libsanitizer/sanitizer_common/sanitizer_linux.cc +index 2cefa20..223d9c6 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_linux.cc ++++ b/libsanitizer/sanitizer_common/sanitizer_linux.cc +@@ -546,8 +546,7 @@ uptr internal_prctl(int option, uptr arg2, uptr arg3, uptr arg4, uptr arg5) { + } + #endif + +-uptr internal_sigaltstack(const struct sigaltstack *ss, +- struct sigaltstack *oss) { ++uptr internal_sigaltstack(const void *ss, void *oss) { + return internal_syscall(SYSCALL(sigaltstack), (uptr)ss, (uptr)oss); + } + +diff --git a/libsanitizer/sanitizer_common/sanitizer_linux.h b/libsanitizer/sanitizer_common/sanitizer_linux.h +index 4497702..1594058 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_linux.h ++++ b/libsanitizer/sanitizer_common/sanitizer_linux.h +@@ -19,7 +19,6 @@ + #include "sanitizer_platform_limits_posix.h" + + struct link_map; // Opaque type returned by dlopen(). +-struct sigaltstack; + + namespace __sanitizer { + // Dirent structure for getdents(). Note that this structure is different from +@@ -28,8 +27,7 @@ struct linux_dirent; + + // Syscall wrappers. + uptr internal_getdents(fd_t fd, struct linux_dirent *dirp, unsigned int count); +-uptr internal_sigaltstack(const struct sigaltstack* ss, +- struct sigaltstack* oss); ++uptr internal_sigaltstack(const void* ss, void* oss); + uptr internal_sigprocmask(int how, __sanitizer_sigset_t *set, + __sanitizer_sigset_t *oldset); + void internal_sigfillset(__sanitizer_sigset_t *set); +diff --git a/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc b/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc +index c919e4f..014162af 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc ++++ b/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc +@@ -267,7 +267,7 @@ static int TracerThread(void* argument) { + + // Alternate stack for signal handling. + InternalScopedBuffer handler_stack_memory(kHandlerStackSize); +- struct sigaltstack handler_stack; ++ stack_t handler_stack; + internal_memset(&handler_stack, 0, sizeof(handler_stack)); + handler_stack.ss_sp = handler_stack_memory.data(); + handler_stack.ss_size = kHandlerStackSize; +diff --git a/libsanitizer/tsan/tsan_platform_linux.cc b/libsanitizer/tsan/tsan_platform_linux.cc +index 09cec5f..908f4fe 100644 +--- a/libsanitizer/tsan/tsan_platform_linux.cc ++++ b/libsanitizer/tsan/tsan_platform_linux.cc +@@ -291,7 +291,7 @@ bool IsGlobalVar(uptr addr) { + int ExtractResolvFDs(void *state, int *fds, int nfd) { + #if SANITIZER_LINUX + int cnt = 0; +- __res_state *statp = (__res_state*)state; ++ struct __res_state *statp = (struct __res_state*)state; + for (int i = 0; i < MAXNS && cnt < nfd; i++) { + if (statp->_u._ext.nsaddrs[i] && statp->_u._ext.nssocks[i] != -1) + fds[cnt++] = statp->_u._ext.nssocks[i]; +-- +2.9.5 + diff --git a/package/gcc/7.2.0/0100-uclibc-conf.patch b/package/gcc/7.2.0/0100-uclibc-conf.patch new file mode 100644 index 0000000000..d354baf81f --- /dev/null +++ b/package/gcc/7.2.0/0100-uclibc-conf.patch @@ -0,0 +1,29 @@ +From 326b880b20e5f8187dbda736b4c4c662cbfb00ca Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Tue, 2 May 2017 22:36:15 +0200 +Subject: [PATCH] uclibc-conf + +[Romain: convert to git patch] +Signed-off-by: Romain Naour +--- + contrib/regression/objs-gcc.sh | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/contrib/regression/objs-gcc.sh b/contrib/regression/objs-gcc.sh +index 60b0497..6dc7ead 100755 +--- a/contrib/regression/objs-gcc.sh ++++ b/contrib/regression/objs-gcc.sh +@@ -106,6 +106,10 @@ if [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-gnu ] + then + make all-gdb all-dejagnu all-ld || exit 1 + make install-gdb install-dejagnu install-ld || exit 1 ++elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ] ++ then ++ make all-gdb all-dejagnu all-ld || exit 1 ++ make install-gdb install-dejagnu install-ld || exit 1 + elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then + make bootstrap || exit 1 + make install || exit 1 +-- +2.9.3 + diff --git a/package/gcc/7.2.0/0810-arm-softfloat-libgcc.patch b/package/gcc/7.2.0/0810-arm-softfloat-libgcc.patch new file mode 100644 index 0000000000..63880dd091 --- /dev/null +++ b/package/gcc/7.2.0/0810-arm-softfloat-libgcc.patch @@ -0,0 +1,45 @@ +From 420a304ac0daa29d66da6ed5b0b49fc4c482d522 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Tue, 2 May 2017 22:46:18 +0200 +Subject: [PATCH] arm softfloat libgcc + +[Romain: convert to git patch] +Signed-off-by: Romain Naour +--- + gcc/config/arm/linux-elf.h | 2 +- + libgcc/config/arm/t-linux | 7 ++++++- + 2 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h +index 3d62367..dad0b97 100644 +--- a/gcc/config/arm/linux-elf.h ++++ b/gcc/config/arm/linux-elf.h +@@ -58,7 +58,7 @@ + %{shared:-lc} \ + %{!shared:%{profile:-lc_p}%{!profile:-lc}}" + +-#define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc" ++#define LIBGCC_SPEC "-lgcc" + + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" + +diff --git a/libgcc/config/arm/t-linux b/libgcc/config/arm/t-linux +index 3d520de..e7bc042 100644 +--- a/libgcc/config/arm/t-linux ++++ b/libgcc/config/arm/t-linux +@@ -1,6 +1,11 @@ + LIB1ASMSRC = arm/lib1funcs.S + LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \ +- _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 ++ _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 \ ++ _arm_addsubdf3 _arm_addsubsf3 \ ++ _arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \ ++ _arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \ ++ _arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \ ++ _arm_fixsfsi _arm_fixunssfsi + + # Just for these, we omit the frame pointer since it makes such a big + # difference. +-- +2.9.3 + diff --git a/package/gcc/7.2.0/0860-cilk-fix-build-without-wchar.patch b/package/gcc/7.2.0/0860-cilk-fix-build-without-wchar.patch new file mode 100644 index 0000000000..61ab01c713 --- /dev/null +++ b/package/gcc/7.2.0/0860-cilk-fix-build-without-wchar.patch @@ -0,0 +1,64 @@ +From 714739e69ead1d9823233af40645277f6d4633ea Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Tue, 2 May 2017 23:21:46 +0200 +Subject: [PATCH] cilk: fix build without wchar + +When building against uClibc with wchar support disabled, WCHAR_MIN and +WCHAR_MAX are not defined leading to compilation errors. + +Fix it by only including the wchar code if available. + +Signed-off-by: Peter Korsgaard +[Romain: convert to git patch] +Signed-off-by: Romain Naour +--- + libcilkrts/include/cilk/reducer_min_max.h | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/libcilkrts/include/cilk/reducer_min_max.h b/libcilkrts/include/cilk/reducer_min_max.h +index 641aa82..4f8e010 100644 +--- a/libcilkrts/include/cilk/reducer_min_max.h ++++ b/libcilkrts/include/cilk/reducer_min_max.h +@@ -3289,7 +3289,9 @@ __CILKRTS_BEGIN_EXTERN_C + CILK_C_REDUCER_MAX_INSTANCE(char, char, CHAR_MIN) + CILK_C_REDUCER_MAX_INSTANCE(unsigned char, uchar, 0) + CILK_C_REDUCER_MAX_INSTANCE(signed char, schar, SCHAR_MIN) ++#ifdef WCHAR_MIN + CILK_C_REDUCER_MAX_INSTANCE(wchar_t, wchar_t, WCHAR_MIN) ++#endif + CILK_C_REDUCER_MAX_INSTANCE(short, short, SHRT_MIN) + CILK_C_REDUCER_MAX_INSTANCE(unsigned short, ushort, 0) + CILK_C_REDUCER_MAX_INSTANCE(int, int, INT_MIN) +@@ -3441,7 +3443,9 @@ __CILKRTS_BEGIN_EXTERN_C + CILK_C_REDUCER_MAX_INDEX_INSTANCE(char, char, CHAR_MIN) + CILK_C_REDUCER_MAX_INDEX_INSTANCE(unsigned char, uchar, 0) + CILK_C_REDUCER_MAX_INDEX_INSTANCE(signed char, schar, SCHAR_MIN) ++#ifdef WCHAR_MIN + CILK_C_REDUCER_MAX_INDEX_INSTANCE(wchar_t, wchar_t, WCHAR_MIN) ++#endif + CILK_C_REDUCER_MAX_INDEX_INSTANCE(short, short, SHRT_MIN) + CILK_C_REDUCER_MAX_INDEX_INSTANCE(unsigned short, ushort, 0) + CILK_C_REDUCER_MAX_INDEX_INSTANCE(int, int, INT_MIN) +@@ -3567,7 +3571,9 @@ __CILKRTS_BEGIN_EXTERN_C + CILK_C_REDUCER_MIN_INSTANCE(char, char, CHAR_MAX) + CILK_C_REDUCER_MIN_INSTANCE(unsigned char, uchar, CHAR_MAX) + CILK_C_REDUCER_MIN_INSTANCE(signed char, schar, SCHAR_MAX) ++#ifdef WCHAR_MAX + CILK_C_REDUCER_MIN_INSTANCE(wchar_t, wchar_t, WCHAR_MAX) ++#endif + CILK_C_REDUCER_MIN_INSTANCE(short, short, SHRT_MAX) + CILK_C_REDUCER_MIN_INSTANCE(unsigned short, ushort, USHRT_MAX) + CILK_C_REDUCER_MIN_INSTANCE(int, int, INT_MAX) +@@ -3719,7 +3725,9 @@ __CILKRTS_BEGIN_EXTERN_C + CILK_C_REDUCER_MIN_INDEX_INSTANCE(char, char, CHAR_MAX) + CILK_C_REDUCER_MIN_INDEX_INSTANCE(unsigned char, uchar, CHAR_MAX) + CILK_C_REDUCER_MIN_INDEX_INSTANCE(signed char, schar, SCHAR_MAX) ++#ifdef WCHAR_MAX + CILK_C_REDUCER_MIN_INDEX_INSTANCE(wchar_t, wchar_t, WCHAR_MAX) ++#endif + CILK_C_REDUCER_MIN_INDEX_INSTANCE(short, short, SHRT_MAX) + CILK_C_REDUCER_MIN_INDEX_INSTANCE(unsigned short, ushort, USHRT_MAX) + CILK_C_REDUCER_MIN_INDEX_INSTANCE(int, int, INT_MAX) +-- +2.9.3 + diff --git a/package/gcc/7.2.0/0870-xtensa-fix-PR-target-82181.patch b/package/gcc/7.2.0/0870-xtensa-fix-PR-target-82181.patch new file mode 100644 index 0000000000..7ac7cd95e3 --- /dev/null +++ b/package/gcc/7.2.0/0870-xtensa-fix-PR-target-82181.patch @@ -0,0 +1,31 @@ +From 3ed0c49a8d52e88648c7bb9f21a204b23595a6a9 Mon Sep 17 00:00:00 2001 +From: jcmvbkbc +Date: Mon, 11 Sep 2017 21:53:38 +0000 +Subject: [PATCH] xtensa: fix PR target/82181 + +2017-09-11 Max Filippov +gcc/ + Backport from mainline + * config/xtensa/xtensa.c (xtensa_mem_offset): Check that both + words of DImode object are reachable by xtensa_uimm8x4 access. + +Signed-off-by: Max Filippov +--- + gcc/config/xtensa/xtensa.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c +index 25e4a2894c3b..8c404187107b 100644 +--- a/gcc/config/xtensa/xtensa.c ++++ b/gcc/config/xtensa/xtensa.c +@@ -605,6 +605,7 @@ xtensa_mem_offset (unsigned v, machine_mode mode) + case HImode: + return xtensa_uimm8x2 (v); + ++ case DImode: + case DFmode: + return (xtensa_uimm8x4 (v) && xtensa_uimm8x4 (v + 4)); + +-- +2.1.4 + diff --git a/package/gcc/7.2.0/0891-fix-m68k-uclinux.patch b/package/gcc/7.2.0/0891-fix-m68k-uclinux.patch new file mode 100644 index 0000000000..e84fd92453 --- /dev/null +++ b/package/gcc/7.2.0/0891-fix-m68k-uclinux.patch @@ -0,0 +1,30 @@ +From c2773170a1b0e2728f71f2275a99fd177ba2cef4 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Tue, 2 May 2017 23:25:17 +0200 +Subject: [PATCH] fix m68k uclinux avoids internal compiler error while + compiling linux-atomic.c See here: + https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53833 + +Signed-off-by: Waldemar Brodkorb +[Romain: convert to git patch] +Signed-off-by: Romain Naour +--- + libgcc/config.host | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libgcc/config.host b/libgcc/config.host +index b279a64..04fe183 100644 +--- a/libgcc/config.host ++++ b/libgcc/config.host +@@ -820,7 +820,7 @@ m68k*-*-netbsdelf*) + m68k*-*-openbsd*) + ;; + m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc +- tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux" ++ tmake_file="$tmake_file m68k/t-floatlib" + md_unwind_header=m68k/linux-unwind.h + ;; + m68k-*-linux*) # Motorola m68k's running GNU/Linux +-- +2.9.3 + diff --git a/package/gcc/7.2.0/0892-microblaze-Revert.patch b/package/gcc/7.2.0/0892-microblaze-Revert.patch new file mode 100644 index 0000000000..7026d0efe1 --- /dev/null +++ b/package/gcc/7.2.0/0892-microblaze-Revert.patch @@ -0,0 +1,40 @@ +From 707a69dfb56a2976e2b5c010f0e5cb2ac9905a07 Mon Sep 17 00:00:00 2001 +From: eager +Date: Sat, 27 May 2017 18:29:40 +0000 +Subject: [PATCH] Revert: 2016-01-21 Ajit Agarwal + + + See https://gcc.gnu.org/ml/gcc/2017-05/msg00221.html. + + * config/microblaze/microblaze.h + (FIXED_REGISTERS): Update in macro. + (CALL_USED_REGISTERS): Update in macro. + + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248540 138bc75d-0d04-0410-961f-82ee72b054a4 +Signed-off-by: Waldemar Brodkorb +diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h +index 66e4ef5..2c9ece1 100644 +--- a/gcc/config/microblaze/microblaze.h ++++ b/gcc/config/microblaze/microblaze.h +@@ -269,14 +269,14 @@ extern enum pipeline_type microblaze_pipe; + #define FIXED_REGISTERS \ + { \ + 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, \ +- 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 1, 1, 1, 1 \ + } + + #define CALL_USED_REGISTERS \ + { \ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ +- 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 1, 1, 1, 1 \ + } + #define GP_REG_FIRST 0 +-- +2.1.4 + diff --git a/package/gcc/7.2.0/0900-remove-selftests.patch b/package/gcc/7.2.0/0900-remove-selftests.patch new file mode 100644 index 0000000000..a3bc7a5730 --- /dev/null +++ b/package/gcc/7.2.0/0900-remove-selftests.patch @@ -0,0 +1,111 @@ +From 63f0917d90eb83d267dc517fdfb6523a74b1917c Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Wed, 3 May 2017 00:37:06 +0200 +Subject: [PATCH] remove selftests + +When the gcc archive is extracted by the gcc.mk, the gcc/testsuite +is excluded: + +HOST_GCC_EXCLUDES = \ + libjava/* libgo/* \ + gcc/testsuite/* libstdc++-v3/testsuite/* + +The new Makefile target from the "Selftest framework" [1] added a dependency +on the gcc/testsuite/Makefile. +Revert partially the commit [1] to allow building gcc without selftest. + +[1] https://github.com/gcc-mirror/gcc/commit/99b4f3a2d5bf2c137de9731e27b483eb6b462fd9 + +Signed-off-by: Romain Naour +--- + gcc/Makefile.in | 46 +++++----------------------------------------- + 1 file changed, 5 insertions(+), 41 deletions(-) + +diff --git a/gcc/Makefile.in b/gcc/Makefile.in +index 74d1912..652a554 100644 +--- a/gcc/Makefile.in ++++ b/gcc/Makefile.in +@@ -1581,14 +1581,13 @@ OBJS = \ + OBJS-libcommon = diagnostic.o diagnostic-color.o diagnostic-show-locus.o \ + edit-context.o \ + pretty-print.o intl.o \ +- vec.o input.o version.o hash-table.o ggc-none.o memory-block.o \ +- selftest.o ++ vec.o input.o version.o hash-table.o ggc-none.o memory-block.o + + # Objects in libcommon-target.a, used by drivers and by the core + # compiler and containing target-dependent code. + OBJS-libcommon-target = $(common_out_object_file) prefix.o params.o \ + opts.o opts-common.o options.o vec.o hooks.o common/common-targhooks.o \ +- hash-table.o file-find.o spellcheck.o selftest.o ++ hash-table.o file-find.o spellcheck.o + + # This lists all host objects for the front ends. + ALL_HOST_FRONTEND_OBJS = $(foreach v,$(CONFIG_LANGUAGES),$($(v)_OBJS)) +@@ -1865,10 +1864,10 @@ config.status: $(srcdir)/configure $(srcdir)/config.gcc + quickstrap: all + cd $(toplevel_builddir) && $(MAKE) all-target-libgcc + +-all.internal: start.encap rest.encap doc selftest ++all.internal: start.encap rest.encap doc + # This is what to compile if making a cross-compiler. + all.cross: native gcc-cross$(exeext) cpp$(exeext) specs \ +- libgcc-support lang.all.cross doc selftest @GENINSRC@ srcextra ++ libgcc-support lang.all.cross doc @GENINSRC@ srcextra + # This is what must be made before installing GCC and converting libraries. + start.encap: native xgcc$(exeext) cpp$(exeext) specs \ + libgcc-support lang.start.encap @GENINSRC@ srcextra +@@ -1888,41 +1887,6 @@ endif + # This does the things that can't be done on the host machine. + rest.cross: specs + +-# GCC's selftests. +-# Specify a dummy input file to placate the driver. +-# Specify -nostdinc to work around missing WIND_BASE environment variable +-# required for *-wrs-vxworks-* targets. +-# Specify -o /dev/null so the output of -S is discarded. More importantly +-# It does not try to create a file with the name "null.s" on POSIX and +-# "nul.s" on Windows. Because on Windows "nul" is a reserved file name. +-# Specify the path to gcc/testsuite/selftests within the srcdir +-# as an argument to -fself-test. +-SELFTEST_FLAGS = -nostdinc -x c /dev/null -S -o /dev/null \ +- -fself-test=$(srcdir)/testsuite/selftests +- +-# Run the selftests during the build once we have a driver and a cc1, +-# so that self-test failures are caught as early as possible. +-# Use "s-selftest" to ensure that we only run the selftests if the +-# driver, cc1, or selftest data change. +-.PHONY: selftest +-selftest: s-selftest +-s-selftest: $(GCC_PASSES) cc1$(exeext) stmp-int-hdrs \ +- $(srcdir)/testsuite/selftests +- $(GCC_FOR_TARGET) $(SELFTEST_FLAGS) +- $(STAMP) $@ +- +-# Convenience method for running selftests under gdb: +-.PHONY: selftest-gdb +-selftest-gdb: $(GCC_PASSES) cc1$(exeext) stmp-int-hdrs +- $(GCC_FOR_TARGET) $(SELFTEST_FLAGS) \ +- -wrapper gdb,--args +- +-# Convenience method for running selftests under valgrind: +-.PHONY: selftest-valgrind +-selftest-valgrind: $(GCC_PASSES) cc1$(exeext) stmp-int-hdrs +- $(GCC_FOR_TARGET) $(SELFTEST_FLAGS) \ +- -wrapper valgrind,--leak-check=full +- + # Recompile all the language-independent object files. + # This is used only if the user explicitly asks for it. + compilations: $(BACKEND) +@@ -2076,7 +2040,7 @@ gcc-nm.c: gcc-ar.c + cp $^ $@ + + COLLECT2_OBJS = collect2.o collect2-aix.o tlink.o vec.o ggc-none.o \ +- collect-utils.o file-find.o hash-table.o selftest.o ++ collect-utils.o file-find.o hash-table.o + COLLECT2_LIBS = @COLLECT2_LIBS@ + collect2$(exeext): $(COLLECT2_OBJS) $(LIBDEPS) + # Don't try modifying collect2 (aka ld) in place--it might be linking this. +-- +2.9.3 + diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host index eb41aa465a..1fb6b6045c 100644 --- a/package/gcc/Config.in.host +++ b/package/gcc/Config.in.host @@ -4,88 +4,74 @@ choice prompt "GCC compiler Version" default BR2_GCC_VERSION_ARC if BR2_arc default BR2_GCC_VERSION_OR1K if BR2_or1k - default BR2_GCC_VERSION_5_X + default BR2_GCC_VERSION_6_X help Select the version of gcc you wish to use. - config BR2_GCC_VERSION_4_8_X - bool "gcc 4.8.x" - # Broken or unsupported architectures - depends on !BR2_microblaze && !BR2_arc && !BR2_or1k \ - && !BR2_powerpc64le && !BR2_nios2 && !BR2_bfin - # Broken or unsupported ARM cores - depends on !BR2_cortex_a12 && !BR2_cortex_a17 && !BR2_ARM_CPU_ARMV8 - # Broken or unsupported PPC cores - depends on !BR2_powerpc_power8 - # Unsupported MIPS cores - depends on !BR2_mips_interaptiv - # gcc-4.8.x + binutils-2.25 is broken for MIPS - depends on !((BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el) && BR2_BINUTILS_VERSION_2_25_X) - # Unsupported for MIPS R5 - depends on !BR2_MIPS_CPU_MIPS32R5 && !BR2_MIPS_CPU_MIPS64R5 - # Unsupported for MIPS R6 - depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6 - # musl ppc64 unsupported - depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64le)) - # musl mips64 unsupported - depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_mips64 || BR2_mips64el)) - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 +config BR2_GCC_VERSION_ARC + bool "gcc arc (7.x)" + # Only supported architecture + depends on BR2_arc + select BR2_TOOLCHAIN_GCC_AT_LEAST_7 - config BR2_GCC_VERSION_ARC - bool "gcc arc (6.x)" - # Only supported architecture - depends on BR2_arc - select BR2_TOOLCHAIN_GCC_AT_LEAST_6 +config BR2_GCC_VERSION_OR1K + bool "gcc or1k (5.x)" + # Only supported architecture + depends on BR2_or1k + select BR2_TOOLCHAIN_GCC_AT_LEAST_5 - config BR2_GCC_VERSION_OR1K - bool "gcc or1k (5.x)" - # Only supported architecture - depends on BR2_or1k - select BR2_TOOLCHAIN_GCC_AT_LEAST_5 +config BR2_GCC_VERSION_4_9_X + bool "gcc 4.9.x" + # Broken or unsupported architectures + depends on !BR2_arc && !BR2_bfin && !BR2_or1k + # Broken or unsupported ARM cores + depends on !BR2_cortex_a17 && !BR2_cortex_a17_a7 + depends on !BR2_cortex_a72 && !BR2_cortex_a72_a53 + # Unsupported MIPS cores + depends on !BR2_mips_interaptiv + # Unsupported for MIPS R5 + depends on !BR2_MIPS_CPU_MIPS32R5 && !BR2_MIPS_CPU_MIPS64R5 + # Unsupported for MIPS R6 + depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6 + # musl microblaze unsupported + depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_microblazeel || BR2_microblazebe)) + # musl ppc64 unsupported + depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64le)) + # musl mips64 unsupported + depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_mips64 || BR2_mips64el)) + # glibc >= 2.26 needs gcc >= 6.2 + depends on !(BR2_TOOLCHAIN_USES_GLIBC && BR2_powerpc64le) + select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 - config BR2_GCC_VERSION_4_9_X - bool "gcc 4.9.x" - # Broken or unsupported architectures - depends on !BR2_arc && !BR2_bfin && !BR2_or1k - # Broken or unsupported ARM cores - depends on !BR2_cortex_a17 && !BR2_cortex_a72 - # Unsupported MIPS cores - depends on !BR2_mips_interaptiv - # Unsupported for MIPS R5 - depends on !BR2_MIPS_CPU_MIPS32R5 && !BR2_MIPS_CPU_MIPS64R5 - # Unsupported for MIPS R6 - depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6 - # musl microblaze unsupported - depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_microblazeel || BR2_microblazebe)) - # musl ppc64 unsupported - depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64le)) - # musl mips64 unsupported - depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_mips64 || BR2_mips64el)) - # PR60102 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60102 - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 +config BR2_GCC_VERSION_5_X + bool "gcc 5.x" + # Broken or unsupported architectures + depends on !BR2_arc && !BR2_bfin && !BR2_or1k + # Broken or unsupported ARM cores + depends on !BR2_cortex_a57_a53 && !BR2_cortex_a72_a53 + # musl ppc64 unsupported + depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64le)) + # Unsupported MIPS cores + depends on !BR2_mips_interaptiv && !BR2_mips_m5150 && !BR2_mips_i6400 + # musl mips64 unsupported + depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_mips64 || BR2_mips64el)) + # glibc >= 2.26 needs gcc >= 6.2 + depends on !(BR2_TOOLCHAIN_USES_GLIBC && BR2_powerpc64le) + select BR2_TOOLCHAIN_GCC_AT_LEAST_5 - config BR2_GCC_VERSION_5_X - bool "gcc 5.x" - # Broken or unsupported architectures - depends on !BR2_arc && !BR2_bfin && !BR2_or1k - # musl ppc64 unsupported - depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64le)) - # Unsupported MIPS cores - depends on !BR2_mips_interaptiv && !BR2_mips_m5150 && \ - !BR2_mips_m6250 && !BR2_mips_i6400 && !BR2_mips_p6600 - # musl mips64 unsupported - depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_mips64 || BR2_mips64el)) - select BR2_TOOLCHAIN_GCC_AT_LEAST_5 +config BR2_GCC_VERSION_6_X + bool "gcc 6.x" + # Broken or unsupported architectures + depends on !BR2_arc + depends on !BR2_or1k + select BR2_TOOLCHAIN_GCC_AT_LEAST_6 - config BR2_GCC_VERSION_6_X - bool "gcc 6.x" - # Broken or unsupported architectures - depends on !BR2_arc - depends on !BR2_microblaze - depends on !BR2_or1k - # Unsupported MIPS cores - depends on !BR2_mips_m6250 && !BR2_mips_p6600 - select BR2_TOOLCHAIN_GCC_AT_LEAST_6 +config BR2_GCC_VERSION_7_X + bool "gcc 7.x" + # Broken or unsupported architectures + depends on !BR2_arc + depends on !BR2_or1k + select BR2_TOOLCHAIN_GCC_AT_LEAST_7 endchoice @@ -102,11 +88,11 @@ config BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE config BR2_GCC_VERSION string - default "4.8.5" if BR2_GCC_VERSION_4_8_X default "4.9.4" if BR2_GCC_VERSION_4_9_X - default "5.4.0" if BR2_GCC_VERSION_5_X - default "6.3.0" if BR2_GCC_VERSION_6_X - default "arc-2016.09-release" if BR2_GCC_VERSION_ARC + default "5.5.0" if BR2_GCC_VERSION_5_X + default "6.4.0" if BR2_GCC_VERSION_6_X + default "7.2.0" if BR2_GCC_VERSION_7_X + default "arc-2017.09-release" if BR2_GCC_VERSION_ARC default "musl-5.4.0" if BR2_GCC_VERSION_OR1K config BR2_EXTRA_GCC_CONFIG_OPTIONS @@ -171,6 +157,10 @@ config BR2_GCC_ENABLE_LIBMUDFLAP config BR2_GCC_ENABLE_GRAPHITE bool "Enable graphite support" + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 help This option enables the graphite optimizations in the compiler. + +comment "graphite support needs gcc >= 5.x" + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5 diff --git a/package/gcc/arc-2016.09-release/301-missing-execinfo_h.patch b/package/gcc/arc-2016.09-release/301-missing-execinfo_h.patch deleted file mode 100644 index 2d0e7baa44..0000000000 --- a/package/gcc/arc-2016.09-release/301-missing-execinfo_h.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: b/boehm-gc/include/gc.h -=================================================================== ---- a/boehm-gc/include/gc.h -+++ b/boehm-gc/include/gc.h -@@ -503,7 +503,7 @@ - #if defined(__linux__) || defined(__GLIBC__) - # include - # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \ -- && !defined(__ia64__) -+ && !defined(__ia64__) && !defined(__UCLIBC__) - # ifndef GC_HAVE_BUILTIN_BACKTRACE - # define GC_HAVE_BUILTIN_BACKTRACE - # endif diff --git a/package/gcc/arc-2016.09-release/860-cilk-wchar.patch b/package/gcc/arc-2016.09-release/860-cilk-wchar.patch deleted file mode 100644 index 1d9916f554..0000000000 --- a/package/gcc/arc-2016.09-release/860-cilk-wchar.patch +++ /dev/null @@ -1,56 +0,0 @@ -[PATCH] cilk: fix build without wchar - -When building against uClibc with wchar support disabled, WCHAR_MIN and -WCHAR_MAX are not defined leading to compilation errors. - -Fix it by only including the wchar code if available. - -Signed-off-by: Peter Korsgaard ---- - libcilkrts/include/cilk/reducer_min_max.h | 8 ++++++++ - 1 file changed, 8 insertions(+) - -Index: b/libcilkrts/include/cilk/reducer_min_max.h -=================================================================== ---- a/libcilkrts/include/cilk/reducer_min_max.h -+++ b/libcilkrts/include/cilk/reducer_min_max.h -@@ -3154,7 +3154,9 @@ - CILK_C_REDUCER_MAX_INSTANCE(char, char, CHAR_MIN) - CILK_C_REDUCER_MAX_INSTANCE(unsigned char, uchar, 0) - CILK_C_REDUCER_MAX_INSTANCE(signed char, schar, SCHAR_MIN) -+#ifdef WCHAR_MIN - CILK_C_REDUCER_MAX_INSTANCE(wchar_t, wchar_t, WCHAR_MIN) -+#endif - CILK_C_REDUCER_MAX_INSTANCE(short, short, SHRT_MIN) - CILK_C_REDUCER_MAX_INSTANCE(unsigned short, ushort, 0) - CILK_C_REDUCER_MAX_INSTANCE(int, int, INT_MIN) -@@ -3306,7 +3308,9 @@ - CILK_C_REDUCER_MAX_INDEX_INSTANCE(char, char, CHAR_MIN) - CILK_C_REDUCER_MAX_INDEX_INSTANCE(unsigned char, uchar, 0) - CILK_C_REDUCER_MAX_INDEX_INSTANCE(signed char, schar, SCHAR_MIN) -+#ifdef WCHAR_MIN - CILK_C_REDUCER_MAX_INDEX_INSTANCE(wchar_t, wchar_t, WCHAR_MIN) -+#endif - CILK_C_REDUCER_MAX_INDEX_INSTANCE(short, short, SHRT_MIN) - CILK_C_REDUCER_MAX_INDEX_INSTANCE(unsigned short, ushort, 0) - CILK_C_REDUCER_MAX_INDEX_INSTANCE(int, int, INT_MIN) -@@ -3432,7 +3436,9 @@ - CILK_C_REDUCER_MIN_INSTANCE(char, char, CHAR_MAX) - CILK_C_REDUCER_MIN_INSTANCE(unsigned char, uchar, CHAR_MAX) - CILK_C_REDUCER_MIN_INSTANCE(signed char, schar, SCHAR_MAX) -+#ifdef WCHAR_MAX - CILK_C_REDUCER_MIN_INSTANCE(wchar_t, wchar_t, WCHAR_MAX) -+#endif - CILK_C_REDUCER_MIN_INSTANCE(short, short, SHRT_MAX) - CILK_C_REDUCER_MIN_INSTANCE(unsigned short, ushort, USHRT_MAX) - CILK_C_REDUCER_MIN_INSTANCE(int, int, INT_MAX) -@@ -3584,7 +3590,9 @@ - CILK_C_REDUCER_MIN_INDEX_INSTANCE(char, char, CHAR_MAX) - CILK_C_REDUCER_MIN_INDEX_INSTANCE(unsigned char, uchar, CHAR_MAX) - CILK_C_REDUCER_MIN_INDEX_INSTANCE(signed char, schar, SCHAR_MAX) -+#ifdef WCHAR_MAX - CILK_C_REDUCER_MIN_INDEX_INSTANCE(wchar_t, wchar_t, WCHAR_MAX) -+#endif - CILK_C_REDUCER_MIN_INDEX_INSTANCE(short, short, SHRT_MAX) - CILK_C_REDUCER_MIN_INDEX_INSTANCE(unsigned short, ushort, USHRT_MAX) - CILK_C_REDUCER_MIN_INDEX_INSTANCE(int, int, INT_MAX) diff --git a/package/gcc/arc-2016.09-release/940-uclinux-enable-threads.patch b/package/gcc/arc-2016.09-release/940-uclinux-enable-threads.patch deleted file mode 100644 index 5532656725..0000000000 --- a/package/gcc/arc-2016.09-release/940-uclinux-enable-threads.patch +++ /dev/null @@ -1,19 +0,0 @@ -Enable POSIX threads for uClinux targets -Reported upstream: -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71721 - -Signed-off-by: Waldemar Brodkorb - -diff -Nur gcc-6.1.0.orig/gcc/config.gcc gcc-6.1.0/gcc/config.gcc ---- gcc-6.1.0.orig/gcc/config.gcc 2016-04-11 12:14:59.000000000 +0200 -+++ gcc-6.1.0/gcc/config.gcc 2016-07-02 20:04:25.732169982 +0200 -@@ -833,6 +833,9 @@ - *-*-uclinux*) - extra_options="$extra_options gnu-user.opt" - use_gcc_stdint=wrap -+ case ${enable_threads} in -+ "" | yes | posix) thread_file='posix' ;; -+ esac - tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC SINGLE_LIBC" - ;; - *-*-rdos*) diff --git a/package/gcc/arc-2017.09-release/0001-fix-checking-for-jumps.patch b/package/gcc/arc-2017.09-release/0001-fix-checking-for-jumps.patch new file mode 100644 index 0000000000..ce78fac2e6 --- /dev/null +++ b/package/gcc/arc-2017.09-release/0001-fix-checking-for-jumps.patch @@ -0,0 +1,49 @@ +From c2694d3739d90ea3350b42252638b604a2c122b7 Mon Sep 17 00:00:00 2001 +From: Claudiu Zissulescu +Date: Tue, 7 Nov 2017 20:16:41 +0200 +Subject: [PATCH] [FIX][ZOL] fix checking for jumps + +Signed-off-by: Evgeniy Didin +--- + gcc/config/arc/arc.c | 3 ++- + gcc/testsuite/gcc.target/arc/loop-4.c | 14 ++++++++++++++ + 2 files changed, 16 insertions(+), 1 deletion(-) + create mode 100644 gcc/testsuite/gcc.target/arc/loop-4.c + +diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c +index 22eeb34a371..5d367499d03 100644 +--- a/gcc/config/arc/arc.c ++++ b/gcc/config/arc/arc.c +@@ -7505,7 +7505,8 @@ hwloop_optimize (hwloop_info loop) + && INSN_P (last_insn) + && (JUMP_P (last_insn) || CALL_P (last_insn) + || GET_CODE (PATTERN (last_insn)) == SEQUENCE +- || JUMP_P (prev_active_insn (last_insn)) ++ || (prev_active_insn (last_insn) ++ && JUMP_P (prev_active_insn (last_insn))) + /* At this stage we can have (insn (clobber (mem:BLK + (reg)))) instructions, ignpre them. */ + || (GET_CODE (PATTERN (last_insn)) != CLOBBER +diff --git a/gcc/testsuite/gcc.target/arc/loop-4.c b/gcc/testsuite/gcc.target/arc/loop-4.c +new file mode 100644 +index 00000000000..99a93a74d1e +--- /dev/null ++++ b/gcc/testsuite/gcc.target/arc/loop-4.c +@@ -0,0 +1,14 @@ ++/* { dg-do assemble } */ ++/* { dg-do compile } */ ++/* { dg-options "-Os" } */ ++ ++ ++void fn1(void *p1, int p2, int p3) ++{ ++ char *d = p1; ++ do ++ *d++ = p2; ++ while (--p3); ++} ++ ++/* { dg-final { scan-assembler "lp_count" } } */ +-- +2.11.0 + diff --git a/package/gcc/arc-2017.09-release/0100-uclibc-conf.patch b/package/gcc/arc-2017.09-release/0100-uclibc-conf.patch new file mode 100644 index 0000000000..d354baf81f --- /dev/null +++ b/package/gcc/arc-2017.09-release/0100-uclibc-conf.patch @@ -0,0 +1,29 @@ +From 326b880b20e5f8187dbda736b4c4c662cbfb00ca Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Tue, 2 May 2017 22:36:15 +0200 +Subject: [PATCH] uclibc-conf + +[Romain: convert to git patch] +Signed-off-by: Romain Naour +--- + contrib/regression/objs-gcc.sh | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/contrib/regression/objs-gcc.sh b/contrib/regression/objs-gcc.sh +index 60b0497..6dc7ead 100755 +--- a/contrib/regression/objs-gcc.sh ++++ b/contrib/regression/objs-gcc.sh +@@ -106,6 +106,10 @@ if [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-gnu ] + then + make all-gdb all-dejagnu all-ld || exit 1 + make install-gdb install-dejagnu install-ld || exit 1 ++elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ] ++ then ++ make all-gdb all-dejagnu all-ld || exit 1 ++ make install-gdb install-dejagnu install-ld || exit 1 + elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then + make bootstrap || exit 1 + make install || exit 1 +-- +2.9.3 + diff --git a/package/gcc/arc-2017.09-release/0860-cilk-fix-build-without-wchar.patch b/package/gcc/arc-2017.09-release/0860-cilk-fix-build-without-wchar.patch new file mode 100644 index 0000000000..61ab01c713 --- /dev/null +++ b/package/gcc/arc-2017.09-release/0860-cilk-fix-build-without-wchar.patch @@ -0,0 +1,64 @@ +From 714739e69ead1d9823233af40645277f6d4633ea Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Tue, 2 May 2017 23:21:46 +0200 +Subject: [PATCH] cilk: fix build without wchar + +When building against uClibc with wchar support disabled, WCHAR_MIN and +WCHAR_MAX are not defined leading to compilation errors. + +Fix it by only including the wchar code if available. + +Signed-off-by: Peter Korsgaard +[Romain: convert to git patch] +Signed-off-by: Romain Naour +--- + libcilkrts/include/cilk/reducer_min_max.h | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/libcilkrts/include/cilk/reducer_min_max.h b/libcilkrts/include/cilk/reducer_min_max.h +index 641aa82..4f8e010 100644 +--- a/libcilkrts/include/cilk/reducer_min_max.h ++++ b/libcilkrts/include/cilk/reducer_min_max.h +@@ -3289,7 +3289,9 @@ __CILKRTS_BEGIN_EXTERN_C + CILK_C_REDUCER_MAX_INSTANCE(char, char, CHAR_MIN) + CILK_C_REDUCER_MAX_INSTANCE(unsigned char, uchar, 0) + CILK_C_REDUCER_MAX_INSTANCE(signed char, schar, SCHAR_MIN) ++#ifdef WCHAR_MIN + CILK_C_REDUCER_MAX_INSTANCE(wchar_t, wchar_t, WCHAR_MIN) ++#endif + CILK_C_REDUCER_MAX_INSTANCE(short, short, SHRT_MIN) + CILK_C_REDUCER_MAX_INSTANCE(unsigned short, ushort, 0) + CILK_C_REDUCER_MAX_INSTANCE(int, int, INT_MIN) +@@ -3441,7 +3443,9 @@ __CILKRTS_BEGIN_EXTERN_C + CILK_C_REDUCER_MAX_INDEX_INSTANCE(char, char, CHAR_MIN) + CILK_C_REDUCER_MAX_INDEX_INSTANCE(unsigned char, uchar, 0) + CILK_C_REDUCER_MAX_INDEX_INSTANCE(signed char, schar, SCHAR_MIN) ++#ifdef WCHAR_MIN + CILK_C_REDUCER_MAX_INDEX_INSTANCE(wchar_t, wchar_t, WCHAR_MIN) ++#endif + CILK_C_REDUCER_MAX_INDEX_INSTANCE(short, short, SHRT_MIN) + CILK_C_REDUCER_MAX_INDEX_INSTANCE(unsigned short, ushort, 0) + CILK_C_REDUCER_MAX_INDEX_INSTANCE(int, int, INT_MIN) +@@ -3567,7 +3571,9 @@ __CILKRTS_BEGIN_EXTERN_C + CILK_C_REDUCER_MIN_INSTANCE(char, char, CHAR_MAX) + CILK_C_REDUCER_MIN_INSTANCE(unsigned char, uchar, CHAR_MAX) + CILK_C_REDUCER_MIN_INSTANCE(signed char, schar, SCHAR_MAX) ++#ifdef WCHAR_MAX + CILK_C_REDUCER_MIN_INSTANCE(wchar_t, wchar_t, WCHAR_MAX) ++#endif + CILK_C_REDUCER_MIN_INSTANCE(short, short, SHRT_MAX) + CILK_C_REDUCER_MIN_INSTANCE(unsigned short, ushort, USHRT_MAX) + CILK_C_REDUCER_MIN_INSTANCE(int, int, INT_MAX) +@@ -3719,7 +3725,9 @@ __CILKRTS_BEGIN_EXTERN_C + CILK_C_REDUCER_MIN_INDEX_INSTANCE(char, char, CHAR_MAX) + CILK_C_REDUCER_MIN_INDEX_INSTANCE(unsigned char, uchar, CHAR_MAX) + CILK_C_REDUCER_MIN_INDEX_INSTANCE(signed char, schar, SCHAR_MAX) ++#ifdef WCHAR_MAX + CILK_C_REDUCER_MIN_INDEX_INSTANCE(wchar_t, wchar_t, WCHAR_MAX) ++#endif + CILK_C_REDUCER_MIN_INDEX_INSTANCE(short, short, SHRT_MAX) + CILK_C_REDUCER_MIN_INDEX_INSTANCE(unsigned short, ushort, USHRT_MAX) + CILK_C_REDUCER_MIN_INDEX_INSTANCE(int, int, INT_MAX) +-- +2.9.3 + diff --git a/package/gcc/arc-2017.09-release/0900-remove-selftests.patch b/package/gcc/arc-2017.09-release/0900-remove-selftests.patch new file mode 100644 index 0000000000..a3bc7a5730 --- /dev/null +++ b/package/gcc/arc-2017.09-release/0900-remove-selftests.patch @@ -0,0 +1,111 @@ +From 63f0917d90eb83d267dc517fdfb6523a74b1917c Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Wed, 3 May 2017 00:37:06 +0200 +Subject: [PATCH] remove selftests + +When the gcc archive is extracted by the gcc.mk, the gcc/testsuite +is excluded: + +HOST_GCC_EXCLUDES = \ + libjava/* libgo/* \ + gcc/testsuite/* libstdc++-v3/testsuite/* + +The new Makefile target from the "Selftest framework" [1] added a dependency +on the gcc/testsuite/Makefile. +Revert partially the commit [1] to allow building gcc without selftest. + +[1] https://github.com/gcc-mirror/gcc/commit/99b4f3a2d5bf2c137de9731e27b483eb6b462fd9 + +Signed-off-by: Romain Naour +--- + gcc/Makefile.in | 46 +++++----------------------------------------- + 1 file changed, 5 insertions(+), 41 deletions(-) + +diff --git a/gcc/Makefile.in b/gcc/Makefile.in +index 74d1912..652a554 100644 +--- a/gcc/Makefile.in ++++ b/gcc/Makefile.in +@@ -1581,14 +1581,13 @@ OBJS = \ + OBJS-libcommon = diagnostic.o diagnostic-color.o diagnostic-show-locus.o \ + edit-context.o \ + pretty-print.o intl.o \ +- vec.o input.o version.o hash-table.o ggc-none.o memory-block.o \ +- selftest.o ++ vec.o input.o version.o hash-table.o ggc-none.o memory-block.o + + # Objects in libcommon-target.a, used by drivers and by the core + # compiler and containing target-dependent code. + OBJS-libcommon-target = $(common_out_object_file) prefix.o params.o \ + opts.o opts-common.o options.o vec.o hooks.o common/common-targhooks.o \ +- hash-table.o file-find.o spellcheck.o selftest.o ++ hash-table.o file-find.o spellcheck.o + + # This lists all host objects for the front ends. + ALL_HOST_FRONTEND_OBJS = $(foreach v,$(CONFIG_LANGUAGES),$($(v)_OBJS)) +@@ -1865,10 +1864,10 @@ config.status: $(srcdir)/configure $(srcdir)/config.gcc + quickstrap: all + cd $(toplevel_builddir) && $(MAKE) all-target-libgcc + +-all.internal: start.encap rest.encap doc selftest ++all.internal: start.encap rest.encap doc + # This is what to compile if making a cross-compiler. + all.cross: native gcc-cross$(exeext) cpp$(exeext) specs \ +- libgcc-support lang.all.cross doc selftest @GENINSRC@ srcextra ++ libgcc-support lang.all.cross doc @GENINSRC@ srcextra + # This is what must be made before installing GCC and converting libraries. + start.encap: native xgcc$(exeext) cpp$(exeext) specs \ + libgcc-support lang.start.encap @GENINSRC@ srcextra +@@ -1888,41 +1887,6 @@ endif + # This does the things that can't be done on the host machine. + rest.cross: specs + +-# GCC's selftests. +-# Specify a dummy input file to placate the driver. +-# Specify -nostdinc to work around missing WIND_BASE environment variable +-# required for *-wrs-vxworks-* targets. +-# Specify -o /dev/null so the output of -S is discarded. More importantly +-# It does not try to create a file with the name "null.s" on POSIX and +-# "nul.s" on Windows. Because on Windows "nul" is a reserved file name. +-# Specify the path to gcc/testsuite/selftests within the srcdir +-# as an argument to -fself-test. +-SELFTEST_FLAGS = -nostdinc -x c /dev/null -S -o /dev/null \ +- -fself-test=$(srcdir)/testsuite/selftests +- +-# Run the selftests during the build once we have a driver and a cc1, +-# so that self-test failures are caught as early as possible. +-# Use "s-selftest" to ensure that we only run the selftests if the +-# driver, cc1, or selftest data change. +-.PHONY: selftest +-selftest: s-selftest +-s-selftest: $(GCC_PASSES) cc1$(exeext) stmp-int-hdrs \ +- $(srcdir)/testsuite/selftests +- $(GCC_FOR_TARGET) $(SELFTEST_FLAGS) +- $(STAMP) $@ +- +-# Convenience method for running selftests under gdb: +-.PHONY: selftest-gdb +-selftest-gdb: $(GCC_PASSES) cc1$(exeext) stmp-int-hdrs +- $(GCC_FOR_TARGET) $(SELFTEST_FLAGS) \ +- -wrapper gdb,--args +- +-# Convenience method for running selftests under valgrind: +-.PHONY: selftest-valgrind +-selftest-valgrind: $(GCC_PASSES) cc1$(exeext) stmp-int-hdrs +- $(GCC_FOR_TARGET) $(SELFTEST_FLAGS) \ +- -wrapper valgrind,--leak-check=full +- + # Recompile all the language-independent object files. + # This is used only if the user explicitly asks for it. + compilations: $(BACKEND) +@@ -2076,7 +2040,7 @@ gcc-nm.c: gcc-ar.c + cp $^ $@ + + COLLECT2_OBJS = collect2.o collect2-aix.o tlink.o vec.o ggc-none.o \ +- collect-utils.o file-find.o hash-table.o selftest.o ++ collect-utils.o file-find.o hash-table.o + COLLECT2_LIBS = @COLLECT2_LIBS@ + collect2$(exeext): $(COLLECT2_OBJS) $(LIBDEPS) + # Don't try modifying collect2 (aka ld) in place--it might be linking this. +-- +2.9.3 + diff --git a/package/gcc/gcc-final/gcc-final.mk b/package/gcc/gcc-final/gcc-final.mk index c9ee476fb7..213f3d7b66 100644 --- a/package/gcc/gcc-final/gcc-final.mk +++ b/package/gcc/gcc-final/gcc-final.mk @@ -15,8 +15,9 @@ HOST_GCC_FINAL_DEPENDENCIES = \ HOST_GCC_FINAL_EXCLUDES = $(HOST_GCC_EXCLUDES) HOST_GCC_FINAL_POST_EXTRACT_HOOKS += HOST_GCC_FAKE_TESTSUITE -ifneq ($(call qstrip, $(BR2_XTENSA_CORE_NAME)),) +ifneq ($(ARCH_XTENSA_OVERLAY_FILE),) HOST_GCC_FINAL_POST_EXTRACT_HOOKS += HOST_GCC_XTENSA_OVERLAY_EXTRACT +HOST_GCC_FINAL_EXTRA_DOWNLOADS += $(ARCH_XTENSA_OVERLAY_URL) endif HOST_GCC_FINAL_POST_PATCH_HOOKS += HOST_GCC_APPLY_PATCHES @@ -43,14 +44,13 @@ define HOST_GCC_FINAL_CONFIGURE_CMDS LDFLAGS="$(HOST_LDFLAGS)" \ $(HOST_GCC_FINAL_CONF_ENV) \ ./configure \ - --prefix="$(HOST_DIR)/usr" \ + --prefix="$(HOST_DIR)" \ --sysconfdir="$(HOST_DIR)/etc" \ --enable-static \ $(QUIET) $(HOST_GCC_FINAL_CONF_OPTS) \ ) endef - # Languages supported by the cross-compiler GCC_FINAL_CROSS_LANGUAGES-y = c GCC_FINAL_CROSS_LANGUAGES-$(BR2_INSTALL_LIBSTDCPP) += c++ @@ -60,24 +60,29 @@ GCC_FINAL_CROSS_LANGUAGES = $(subst $(space),$(comma),$(GCC_FINAL_CROSS_LANGUAGE HOST_GCC_FINAL_CONF_OPTS = \ $(HOST_GCC_COMMON_CONF_OPTS) \ --enable-languages=$(GCC_FINAL_CROSS_LANGUAGES) \ - --with-build-time-tools=$(HOST_DIR)/usr/$(GNU_TARGET_NAME)/bin + --with-build-time-tools=$(HOST_DIR)/$(GNU_TARGET_NAME)/bin -HOST_GCC_FINAL_GCC_LIB_DIR = $(HOST_DIR)/usr/$(GNU_TARGET_NAME)/lib* +HOST_GCC_FINAL_GCC_LIB_DIR = $(HOST_DIR)/$(GNU_TARGET_NAME)/lib* # The kernel wants to use the -m4-nofpu option to make sure that it # doesn't use floating point operations. ifeq ($(BR2_sh4)$(BR2_sh4eb),y) HOST_GCC_FINAL_CONF_OPTS += "--with-multilib-list=m4,m4-nofpu" -HOST_GCC_FINAL_GCC_LIB_DIR = $(HOST_DIR)/usr/$(GNU_TARGET_NAME)/lib/!m4* +HOST_GCC_FINAL_GCC_LIB_DIR = $(HOST_DIR)/$(GNU_TARGET_NAME)/lib/!m4* endif ifeq ($(BR2_sh4a)$(BR2_sh4aeb),y) HOST_GCC_FINAL_CONF_OPTS += "--with-multilib-list=m4a,m4a-nofpu" -HOST_GCC_FINAL_GCC_LIB_DIR = $(HOST_DIR)/usr/$(GNU_TARGET_NAME)/lib/!m4* +HOST_GCC_FINAL_GCC_LIB_DIR = $(HOST_DIR)/$(GNU_TARGET_NAME)/lib/!m4* endif ifeq ($(BR2_bfin),y) HOST_GCC_FINAL_CONF_OPTS += --disable-symvers endif +# libcilkrts does not support v8 +ifeq ($(BR2_sparc),y) +HOST_GCC_FINAL_CONF_OPTS += --disable-libcilkrts +endif + # Disable shared libs like libstdc++ if we do static since it confuses linking # In that case also disable libcilkrts as there is no static version ifeq ($(BR2_STATIC_LIBS),y) @@ -104,9 +109,9 @@ HOST_GCC_FINAL_MAKE_OPTS += $(HOST_GCC_COMMON_MAKE_OPTS) # Make sure we have 'cc' define HOST_GCC_FINAL_CREATE_CC_SYMLINKS - if [ ! -e $(HOST_DIR)/usr/bin/$(GNU_TARGET_NAME)-cc ]; then \ - ln -f $(HOST_DIR)/usr/bin/$(GNU_TARGET_NAME)-gcc \ - $(HOST_DIR)/usr/bin/$(GNU_TARGET_NAME)-cc; \ + if [ ! -e $(HOST_DIR)/bin/$(GNU_TARGET_NAME)-cc ]; then \ + ln -f $(HOST_DIR)/bin/$(GNU_TARGET_NAME)-gcc \ + $(HOST_DIR)/bin/$(GNU_TARGET_NAME)-cc; \ fi endef diff --git a/package/gcc/gcc-initial/gcc-initial.mk b/package/gcc/gcc-initial/gcc-initial.mk index a51e29cfc7..c476b2faeb 100644 --- a/package/gcc/gcc-initial/gcc-initial.mk +++ b/package/gcc/gcc-initial/gcc-initial.mk @@ -13,8 +13,9 @@ HOST_GCC_INITIAL_DEPENDENCIES = $(HOST_GCC_COMMON_DEPENDENCIES) HOST_GCC_INITIAL_EXCLUDES = $(HOST_GCC_EXCLUDES) HOST_GCC_INITIAL_POST_EXTRACT_HOOKS += HOST_GCC_FAKE_TESTSUITE -ifneq ($(call qstrip, $(BR2_XTENSA_CORE_NAME)),) +ifneq ($(ARCH_XTENSA_OVERLAY_FILE),) HOST_GCC_INITIAL_POST_EXTRACT_HOOKS += HOST_GCC_XTENSA_OVERLAY_EXTRACT +HOST_GCC_INITIAL_EXTRA_DOWNLOADS += $(ARCH_XTENSA_OVERLAY_URL) endif HOST_GCC_INITIAL_POST_PATCH_HOOKS += HOST_GCC_APPLY_PATCHES diff --git a/package/gcc/gcc.hash b/package/gcc/gcc.hash index 4376db4131..76be4552c9 100644 --- a/package/gcc/gcc.hash +++ b/package/gcc/gcc.hash @@ -1,17 +1,13 @@ -# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.5.4/sha512.sum -sha512 78696b287d46aacd6f150920da376ea32f58ad9f0dafd2d3b7fa6dbdd8dd7afe659108d1dfaa5807617fc5248719f50b39c37ade0173ea5b9fec2091f4656115 gcc-4.5.4.tar.bz2 -# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.7.4/sha512.sum -sha512 dfcb737073191e628231031a3571ec77ee760a59377630f4a6e4fdfa66f9ddad39fde47e3f0f227eb43cdf90e0d34cde5abdc9ac892c1e111a911062a66c9189 gcc-4.7.4.tar.bz2 -# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.8.5/sha512.sum -sha512 47fdfeca0c0a624cdec9c4ae47137d056c918d5c386d4b96985bb3c8172aba377cb66cbcc30e80832fd244a7d98f562c20198056915c70cfef0977545073a8ea gcc-4.8.5.tar.bz2 # From ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.9.4/sha512.sum sha512 93abb78e16277454f41a8e9810f41f66c0fdffdc539a762ff6b67d3037f78db971378683fd2ebf707d1d51c059fad2161fe42d110c330027f40214b7db0f3efe gcc-4.9.4.tar.bz2 -# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-5.4.0/sha512.sum -sha512 2941cc950c8f2409a314df497631f9b0266211aa74746c1839c46e04f1c7c299afe2528d1ef16ea39def408a644ba48f97519ec7a7dd37d260c3e9423514265b gcc-5.4.0.tar.bz2 -# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-6.3.0/sha512.sum -sha512 234dd9b1bdc9a9c6e352216a7ef4ccadc6c07f156006a59759c5e0e6a69f0abcdc14630eff11e3826dd6ba5933a8faa43043f3d1d62df6bd5ab1e82862f9bf78 gcc-6.3.0.tar.bz2 +# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-5.5.0/sha512.sum +sha512 670ff52c2ae12c7852c12987e91798c5aa8bd6daf21f0d6e0cd57a4aa59cc4f06a837fe76426eaa1424cfddca937bed377680700eadc04d76b9180d462364fa1 gcc-5.5.0.tar.xz +# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-6.4.0/sha512.sum +sha512 02c60e54527c7adf584798d5251f8a0b80c93d5deafce82501b2c28e6692e0bd783927bbfc4bc527a863c0cccc025150a34740a9e29badb02d4b48e56a8aba90 gcc-6.4.0.tar.xz +# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-7.2.0/sha512.sum +sha512 f853cd6530b4055d8d8289da74687cb4c6d5f363598d386332d31852b581bac76c3adb7d61889edec3b779f63d8646f0122840f12965ce4a4389ba535dbbb6e1 gcc-7.2.0.tar.xz # Locally calculated (fetched from Github) -sha512 faae6dc3f7843412068a52de5919797cd23e6ed1b8d140c230d0381f13fd38af67baaa4a09e581c03602127da3dd2fab6f9f5d7ac5d4270585bd079c673dda9a gcc-arc-2016.09-release.tar.gz +sha512 c30addd3c4dc66b90749a0f99b257c8a8e7966d27f286057b6b66f4a70ca22a1ee50d92882c4db13307d769a6fb28e1e2a2bab749a692cf3f89ef0c38f145efa gcc-arc-2017.09-release.tar.gz # Locally calculated (fetched from Github) sha512 841101f7de45f327bf2e92f3efc73ca88a021e4b9b541458ce80a16e55882bd8606a8492d75c57c589ee2c10d42ae2865b67690155d7289a541df1d68096402f gcc-musl-5.4.0.tar.gz diff --git a/package/gcc/gcc.mk b/package/gcc/gcc.mk index 241f3575c0..6bdd6c88e3 100644 --- a/package/gcc/gcc.mk +++ b/package/gcc/gcc.mk @@ -18,17 +18,20 @@ GCC_SITE = $(call github,openrisc,or1k-gcc,$(GCC_VERSION)) GCC_SOURCE = gcc-$(GCC_VERSION).tar.gz else GCC_SITE = $(BR2_GNU_MIRROR:/=)/gcc/gcc-$(GCC_VERSION) +# From version 5.5.0, 6.4.0 and 7.2.0 a bz2 release tarball is not +# provided anymore. Use the xz tarball instead. +ifeq ($(BR2_GCC_VERSION_5_X)$(BR2_GCC_VERSION_6_X)$(BR2_GCC_VERSION_7_X),y) +GCC_SOURCE = gcc-$(GCC_VERSION).tar.xz +else GCC_SOURCE = gcc-$(GCC_VERSION).tar.bz2 +endif # BR2_GCC_VERSION_6_X endif # # Xtensa special hook # - -HOST_GCC_XTENSA_OVERLAY_TAR = $(BR2_XTENSA_OVERLAY_DIR)/xtensa_$(call qstrip,$(BR2_XTENSA_CORE_NAME)).tar - define HOST_GCC_XTENSA_OVERLAY_EXTRACT - tar xf $(HOST_GCC_XTENSA_OVERLAY_TAR) -C $(@D) --strip-components=1 gcc + $(call arch-xtensa-overlay-extract,$(@D),gcc) endef # @@ -95,9 +98,9 @@ HOST_GCC_COMMON_CONF_OPTS = \ --with-gnu-ld \ --disable-libssp \ --disable-multilib \ - --with-gmp=$(HOST_DIR)/usr \ - --with-mpc=$(HOST_DIR)/usr \ - --with-mpfr=$(HOST_DIR)/usr \ + --with-gmp=$(HOST_DIR) \ + --with-mpc=$(HOST_DIR) \ + --with-mpfr=$(HOST_DIR) \ --with-pkgversion="Buildroot $(BR2_VERSION_FULL)" \ --with-bugurl="http://bugs.buildroot.net/" @@ -170,15 +173,12 @@ else HOST_GCC_COMMON_CONF_OPTS += --enable-threads endif +# gcc 5 doesn't need cloog any more, see +# https://gcc.gnu.org/gcc-5/changes.html and we don't support graphite +# on GCC 4.9.x, so only isl is needed. ifeq ($(BR2_GCC_ENABLE_GRAPHITE),y) HOST_GCC_COMMON_DEPENDENCIES += host-isl -HOST_GCC_COMMON_CONF_OPTS += --with-isl=$(HOST_DIR)/usr -# gcc 5 doesn't need cloog any more, see -# https://gcc.gnu.org/gcc-5/changes.html -ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_5),) -HOST_GCC_COMMON_DEPENDENCIES += host-cloog -HOST_GCC_COMMON_CONF_OPTS += --with-cloog=$(HOST_DIR)/usr -endif +HOST_GCC_COMMON_CONF_OPTS += --with-isl=$(HOST_DIR) else HOST_GCC_COMMON_CONF_OPTS += --without-isl --without-cloog endif @@ -207,6 +207,12 @@ endif ifneq ($(call qstrip,$(BR2_GCC_TARGET_ABI)),) HOST_GCC_COMMON_CONF_OPTS += --with-abi=$(BR2_GCC_TARGET_ABI) endif +ifneq ($(call qstrip,$(BR2_GCC_TARGET_NAN)),) +HOST_GCC_COMMON_CONF_OPTS += --with-nan=$(BR2_GCC_TARGET_NAN) +endif +ifneq ($(call qstrip,$(BR2_GCC_TARGET_FP32_MODE)),) +HOST_GCC_COMMON_CONF_OPTS += --with-fp-32=$(BR2_GCC_TARGET_FP32_MODE) +endif ifneq ($(call qstrip,$(BR2_GCC_TARGET_CPU)),) ifneq ($(call qstrip,$(BR2_GCC_TARGET_CPU_REVISION)),) HOST_GCC_COMMON_CONF_OPTS += --with-cpu=$(call qstrip,$(BR2_GCC_TARGET_CPU)-$(BR2_GCC_TARGET_CPU_REVISION)) @@ -248,6 +254,14 @@ HOST_GCC_COMMON_CONF_OPTS += \ --without-long-double-128 endif +# Since glibc >= 2.26, poerpc64le requires double/long double which +# requires at least gcc 6.2. +# See sysdeps/powerpc/powerpc64le/configure.ac +ifeq ($(BR2_TOOLCHAIN_USES_GLIBC)$(BR2_TOOLCHAIN_GCC_AT_LEAST_6)$(BR2_powerpc64le),yyy) +HOST_GCC_COMMON_CONF_OPTS += \ + --with-long-double-128 +endif + HOST_GCC_COMMON_TOOLCHAIN_WRAPPER_ARGS += -DBR_CROSS_PATH_SUFFIX='".br_real"' ifeq ($(BR2_GCC_ARCH_HAS_CONFIGURABLE_DEFAULTS),) ifeq ($(call qstrip,$(BR2_GCC_TARGET_CPU_REVISION)),) @@ -257,6 +271,8 @@ HOST_GCC_COMMON_WRAPPER_TARGET_CPU := $(call qstrip,$(BR2_GCC_TARGET_CPU)-$(BR2_ endif HOST_GCC_COMMON_WRAPPER_TARGET_ARCH := $(call qstrip,$(BR2_GCC_TARGET_ARCH)) HOST_GCC_COMMON_WRAPPER_TARGET_ABI := $(call qstrip,$(BR2_GCC_TARGET_ABI)) +HOST_GCC_COMMON_WRAPPER_TARGET_NAN := $(call qstrip,$(BR2_GCC_TARGET_NAN)) +HOST_GCC_COMMON_WRAPPER_TARGET_FP32_MODE := $(call qstrip,$(BR2_GCC_TARGET_FP32_MODE)) HOST_GCC_COMMON_WRAPPER_TARGET_FPU := $(call qstrip,$(BR2_GCC_TARGET_FPU)) HOST_GCC_COMMON_WRAPPER_TARGET_FLOAT_ABI := $(call qstrip,$(BR2_GCC_TARGET_FLOAT_ABI)) HOST_GCC_COMMON_WRAPPER_TARGET_MODE := $(call qstrip,$(BR2_GCC_TARGET_MODE)) @@ -270,6 +286,12 @@ endif ifneq ($(HOST_GCC_COMMON_WRAPPER_TARGET_ABI),) HOST_GCC_COMMON_TOOLCHAIN_WRAPPER_ARGS += -DBR_ABI='"$(HOST_GCC_COMMON_WRAPPER_TARGET_ABI)"' endif +ifneq ($(HOST_GCC_COMMON_WRAPPER_TARGET_NAN),) +HOST_GCC_COMMON_TOOLCHAIN_WRAPPER_ARGS += -DBR_NAN='"$(HOST_GCC_COMMON_WRAPPER_TARGET_NAN)"' +endif +ifneq ($(HOST_GCC_COMMON_WRAPPER_TARGET_FP32_MODE),) +HOST_GCC_COMMON_TOOLCHAIN_WRAPPER_ARGS += -DBR_FP32_MODE='"$(HOST_GCC_COMMON_WRAPPER_TARGET_FP32_MODE)"' +endif ifneq ($(HOST_GCC_COMMON_WRAPPER_TARGET_FPU),) HOST_GCC_COMMON_TOOLCHAIN_WRAPPER_ARGS += -DBR_FPU='"$(HOST_GCC_COMMON_WRAPPER_TARGET_FPU)"' endif @@ -307,7 +329,7 @@ HOST_GCC_COMMON_CCACHE_HASH_FILES += \ $(addsuffix /gcc/$(GCC_VERSION)/*.patch,$(call qstrip,$(BR2_GLOBAL_PATCH_DIR))) \ $(addsuffix /gcc/*.patch,$(call qstrip,$(BR2_GLOBAL_PATCH_DIR))))) ifeq ($(BR2_xtensa),y) -HOST_GCC_COMMON_CCACHE_HASH_FILES += $(HOST_GCC_XTENSA_OVERLAY_TAR) +HOST_GCC_COMMON_CCACHE_HASH_FILES += $(ARCH_XTENSA_OVERLAY_TAR) endif ifeq ($(ARCH),powerpc) ifneq ($(BR2_SOFT_FLOAT),) @@ -336,7 +358,7 @@ endif # BR2_CCACHE # Avoid that a .br_real is symlinked a second time. # Also create -linux- symlinks. define HOST_GCC_INSTALL_WRAPPER_AND_SIMPLE_SYMLINKS - $(Q)cd $(HOST_DIR)/usr/bin; \ + $(Q)cd $(HOST_DIR)/bin; \ for i in $(GNU_TARGET_NAME)-*; do \ case "$$i" in \ *.br_real) \ diff --git a/package/gcr/gcr.mk b/package/gcr/gcr.mk index d8cb667d15..7cb35af836 100644 --- a/package/gcr/gcr.mk +++ b/package/gcr/gcr.mk @@ -15,7 +15,7 @@ GCR_CONF_OPTS = \ --disable-gtk-doc \ --with-libgcrypt-prefix=$(STAGING_DIR)/usr # Even though COPYING is v2 the code states v2.1+ -GCR_LICENSE = LGPLv2.1+ +GCR_LICENSE = LGPL-2.1+ GCR_LICENSE_FILES = COPYING # Only the X11 backend is supported for the simple GUI diff --git a/package/gd/0001-gdlib-config.patch b/package/gd/0001-gdlib-config.patch deleted file mode 100644 index 7756bf1240..0000000000 --- a/package/gd/0001-gdlib-config.patch +++ /dev/null @@ -1,32 +0,0 @@ -Fix gdlib-config - -Since the @LIBICONV@ macro doesn't get replaced at compile time, we -end up installing an invalid gdlib-config: the gdlib-config --libs -says that one should link against @LIBICONV@ which obviously doesn't -work. - -Use the OpenWRT patch from -https://dev.openwrt.org/browser/packages/libs/gd/patches/101-gdlib-config.patch - -Signed-off-by: Thomas Petazzoni - ---- a/config/gdlib-config.in -+++ b/config/gdlib-config.in -@@ -71,7 +71,7 @@ while test $# -gt 0; do - echo @LDFLAGS@ - ;; - --libs) -- echo -lgd @LIBS@ @LIBICONV@ -+ echo -lgd @LIBS@ - ;; - --cflags|--includes) - echo -I@includedir@ -@@ -84,7 +84,7 @@ while test $# -gt 0; do - echo "includedir: $includedir" - echo "cflags: -I@includedir@" - echo "ldflags: @LDFLAGS@" -- echo "libs: @LIBS@ @LIBICONV@" -+ echo "libs: @LIBS@" - echo "libdir: $libdir" - echo "features: @FEATURES@" - ;; diff --git a/package/gd/0002-gd_bmp-fix-build-with-uClibc.patch b/package/gd/0002-gd_bmp-fix-build-with-uClibc.patch deleted file mode 100644 index 89bc39186e..0000000000 --- a/package/gd/0002-gd_bmp-fix-build-with-uClibc.patch +++ /dev/null @@ -1,50 +0,0 @@ -From ea2a03e983acf34a1320b460dcad43b7e0b0b14f Mon Sep 17 00:00:00 2001 -Message-Id: -From: Baruch Siach -Date: Thu, 10 Apr 2014 15:49:13 +0300 -Subject: [PATCH] gd_bmp: fix build with uClibc - -Some architectures (like ARM) don't have the long double variants of math -functions under uClibc. Add a local ceill definition in this case. - -Patch status: reported upstream, -https://bitbucket.org/libgd/gd-libgd/issue/123/build-failure-agains-uclibc-arm - -Signed-off-by: Baruch Siach ---- - src/gd_bmp.c | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -diff --git a/src/gd_bmp.c b/src/gd_bmp.c -index 0fc021909f1b..11b3ec1baa01 100644 ---- a/src/gd_bmp.c -+++ b/src/gd_bmp.c -@@ -25,6 +25,11 @@ - #include "gdhelpers.h" - #include "bmp.h" - -+#include -+#if defined (__UCLIBC__) && !defined(__UCLIBC_HAS_LONG_DOUBLE_MATH__) -+#define NO_LONG_DOUBLE -+#endif -+ - static int compress_row(unsigned char *uncompressed_row, int length); - static int build_rle_packet(unsigned char *row, int packet_type, int length, unsigned char *data); - -@@ -42,6 +47,13 @@ static int bmp_read_rle(gdImagePtr im, gdIOCtxPtr infile, bmp_info_t *info); - - #define BMP_DEBUG(s) - -+#ifdef NO_LONG_DOUBLE -+long double ceill(long double x) -+{ -+ return (long double) ceil((double) x); -+} -+#endif -+ - static int gdBMPPutWord(gdIOCtx *out, int w) - { - /* Byte order is little-endian */ --- -1.9.1 - diff --git a/package/gd/gd.hash b/package/gd/gd.hash index a1991b1820..1cd9e56b18 100644 --- a/package/gd/gd.hash +++ b/package/gd/gd.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 137f13a7eb93ce72e32ccd7cebdab6874f8cf7ddf31d3a455a68e016ecd9e4e6 libgd-2.2.4.tar.xz +sha256 8c302ccbf467faec732f0741a859eef4ecae22fea2d2ab87467be940842bde51 libgd-2.2.5.tar.xz +sha256 d02dae2141d49b8a6b09b2b73e68a8f17d7bbeaaf02b3b841ee11fea2d9e328d COPYING diff --git a/package/gd/gd.mk b/package/gd/gd.mk index 63d16eb3ca..e2a46dca3c 100644 --- a/package/gd/gd.mk +++ b/package/gd/gd.mk @@ -4,7 +4,7 @@ # ################################################################################ -GD_VERSION = 2.2.4 +GD_VERSION = 2.2.5 GD_SOURCE = libgd-$(GD_VERSION).tar.xz GD_SITE = https://github.com/libgd/libgd/releases/download/gd-$(GD_VERSION) GD_INSTALL_STAGING = YES diff --git a/package/gdb/7.10.1/0007-Sync-proc_service-definition-with-GLIBC.patch b/package/gdb/7.10.1/0007-Sync-proc_service-definition-with-GLIBC.patch new file mode 100644 index 0000000000..2a53778770 --- /dev/null +++ b/package/gdb/7.10.1/0007-Sync-proc_service-definition-with-GLIBC.patch @@ -0,0 +1,287 @@ +From ccc18e0b2dc77a6619df31fd4fadfb3a37401616 Mon Sep 17 00:00:00 2001 +From: "Arnout Vandecappelle (Essensium/Mind)" +Date: Sun, 26 Mar 2017 23:06:45 +0200 +Subject: [PATCH] Sync proc_service definition with GLIBC + +GLIBC BZ#20311 [1] proc_service.h install patch also remove 'const' +attributes from ps_get_thread_area and comment #15 discuss why to remove +the const attribute (basically since it a callback with the struct +ps_prochandle owned by the client it should be able to modify it if +it the case). + +On default build this is not the issue and current g++ does not trigger +any issue with this mismatch declaration. However, on some bootstrap +build configuration where gdbserver is build with gcc instead this +triggers: + +error: conflicting types for 'ps_get_thread_area' + +This patch fixes it by syncing the declaration with GLIBC. + +[1] https://sourceware.org/bugzilla/show_bug.cgi?id=20311 + +gdb/ChangeLog: + +2016-08-25 Adhemerval Zanella + + * aarch64-linux-nat.c (ps_get_thread_area): Remove const from + struct ps_prochandle. + * amd64-linux-nat.c (ps_get_thread_area): Likewise. + * arm-linux-nat.c (ps_get_thread_area): Likewise. + * gdb_proc_service.h (ps_get_thread_area): Likewise. + * i386-linux-nat.c (ps_get_thread_area): Likewise. + * m68klinux-nat.c (ps_get_thread_area): Likewise. + * mips-linux-nat.c (ps_get_thread_area): Likewise. + * nat/aarch64-linux.c (aarch64_ps_get_thread_area): Likewise. + * nat/aarch64-linux.h (aarch64_ps_get_thread_area): Likewise. + * xtensa-linux-nat.c (ps_get_thread_area): Likewise. + +gdb/gdbserver/ChangeLog: + +2016-08-25 Adhemerval Zanella + + PR server/20491 + * gdb_proc_service.h (ps_get_thread_area): Remove const from struct + ps_prochandle. + * linux-aarch64-low.c (ps_get_thread_area): Likewise. + * linux-arm-low.c (ps_get_thread_area): Likewise. + * linux-crisv32-low.c (ps_get_thread_area): Likewise. + * linux-m68k-low.c (ps_get_thread_area): Likewise. + * linux-mips-low.c (ps_get_thread_area): Likewise. + * linux-nios2-low.c (ps_get_thread_area): Likewise. + * linux-tic6x-low.c (ps_get_thread_area): Likewise. + * linux-x86-low.c (ps_get_thread_area): Likewise. + * linux-xtensa-low.c (ps_get_thread_area): Likewise. + +(cherry picked from commit 140bf80050b34f0947b34dba93b830ea2bfc5040) +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) +--- + gdb/aarch64-linux-nat.c | 2 +- + gdb/amd64-linux-nat.c | 2 +- + gdb/arm-linux-nat.c | 2 +- + gdb/gdb_proc_service.h | 2 +- + gdb/gdbserver/gdb_proc_service.h | 2 +- + gdb/gdbserver/linux-aarch64-low.c | 2 +- + gdb/gdbserver/linux-arm-low.c | 2 +- + gdb/gdbserver/linux-crisv32-low.c | 2 +- + gdb/gdbserver/linux-m68k-low.c | 2 +- + gdb/gdbserver/linux-mips-low.c | 2 +- + gdb/gdbserver/linux-nios2-low.c | 2 +- + gdb/gdbserver/linux-tic6x-low.c | 2 +- + gdb/gdbserver/linux-x86-low.c | 2 +- + gdb/i386-linux-nat.c | 2 +- + gdb/m68klinux-nat.c | 2 +- + gdb/mips-linux-nat.c | 2 +- + 16 files changed, 16 insertions(+), 16 deletions(-) + +diff --git a/gdb/aarch64-linux-nat.c b/gdb/aarch64-linux-nat.c +index 9959b81a2d..aa0f8d76bd 100644 +--- a/gdb/aarch64-linux-nat.c ++++ b/gdb/aarch64-linux-nat.c +@@ -734,7 +734,7 @@ aarch64_linux_new_fork (struct lwp_info *parent, pid_t child_pid) + storage (or its descriptor). */ + + ps_err_e +-ps_get_thread_area (const struct ps_prochandle *ph, ++ps_get_thread_area (struct ps_prochandle *ph, + lwpid_t lwpid, int idx, void **base) + { + struct iovec iovec; +diff --git a/gdb/amd64-linux-nat.c b/gdb/amd64-linux-nat.c +index 2e1b081b0f..7f076a9148 100644 +--- a/gdb/amd64-linux-nat.c ++++ b/gdb/amd64-linux-nat.c +@@ -244,7 +244,7 @@ amd64_linux_store_inferior_registers (struct target_ops *ops, + a request for a thread's local storage address. */ + + ps_err_e +-ps_get_thread_area (const struct ps_prochandle *ph, ++ps_get_thread_area (struct ps_prochandle *ph, + lwpid_t lwpid, int idx, void **base) + { + if (gdbarch_bfd_arch_info (target_gdbarch ())->bits_per_word == 32) +diff --git a/gdb/arm-linux-nat.c b/gdb/arm-linux-nat.c +index c167bce18b..8462655139 100644 +--- a/gdb/arm-linux-nat.c ++++ b/gdb/arm-linux-nat.c +@@ -778,7 +778,7 @@ supply_fpregset (struct regcache *regcache, const gdb_fpregset_t *fpregsetp) + /* Fetch the thread-local storage pointer for libthread_db. */ + + ps_err_e +-ps_get_thread_area (const struct ps_prochandle *ph, ++ps_get_thread_area (struct ps_prochandle *ph, + lwpid_t lwpid, int idx, void **base) + { + if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0) +diff --git a/gdb/gdb_proc_service.h b/gdb/gdb_proc_service.h +index e7369911a1..91fbc29a76 100644 +--- a/gdb/gdb_proc_service.h ++++ b/gdb/gdb_proc_service.h +@@ -124,7 +124,7 @@ extern pid_t ps_getpid (struct ps_prochandle *); + /* Fetch the special per-thread address associated with the given LWP. + This call is only used on a few platforms (most use a normal register). + The meaning of the `int' parameter is machine-dependent. */ +-extern ps_err_e ps_get_thread_area (const struct ps_prochandle *, ++extern ps_err_e ps_get_thread_area (struct ps_prochandle *, + lwpid_t, int, psaddr_t *); + + +diff --git a/gdb/gdbserver/gdb_proc_service.h b/gdb/gdbserver/gdb_proc_service.h +index cbafbf3206..7f9b1e4de0 100644 +--- a/gdb/gdbserver/gdb_proc_service.h ++++ b/gdb/gdbserver/gdb_proc_service.h +@@ -107,7 +107,7 @@ extern pid_t ps_getpid (struct ps_prochandle *); + /* Fetch the special per-thread address associated with the given LWP. + This call is only used on a few platforms (most use a normal register). + The meaning of the `int' parameter is machine-dependent. */ +-extern ps_err_e ps_get_thread_area (const struct ps_prochandle *, ++extern ps_err_e ps_get_thread_area (struct ps_prochandle *, + lwpid_t, int, psaddr_t *); + + +diff --git a/gdb/gdbserver/linux-aarch64-low.c b/gdb/gdbserver/linux-aarch64-low.c +index 8a30b00029..a0ac35620d 100644 +--- a/gdb/gdbserver/linux-aarch64-low.c ++++ b/gdb/gdbserver/linux-aarch64-low.c +@@ -1089,7 +1089,7 @@ aarch64_stopped_by_watchpoint (void) + /* Fetch the thread-local storage pointer for libthread_db. */ + + ps_err_e +-ps_get_thread_area (const struct ps_prochandle *ph, ++ps_get_thread_area (struct ps_prochandle *ph, + lwpid_t lwpid, int idx, void **base) + { + struct iovec iovec; +diff --git a/gdb/gdbserver/linux-arm-low.c b/gdb/gdbserver/linux-arm-low.c +index dd77b48ecd..560e7d8496 100644 +--- a/gdb/gdbserver/linux-arm-low.c ++++ b/gdb/gdbserver/linux-arm-low.c +@@ -334,7 +334,7 @@ arm_reinsert_addr (void) + /* Fetch the thread-local storage pointer for libthread_db. */ + + ps_err_e +-ps_get_thread_area (const struct ps_prochandle *ph, ++ps_get_thread_area (struct ps_prochandle *ph, + lwpid_t lwpid, int idx, void **base) + { + if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0) +diff --git a/gdb/gdbserver/linux-crisv32-low.c b/gdb/gdbserver/linux-crisv32-low.c +index 65e6c09df2..fd5e627123 100644 +--- a/gdb/gdbserver/linux-crisv32-low.c ++++ b/gdb/gdbserver/linux-crisv32-low.c +@@ -336,7 +336,7 @@ cris_stopped_data_address (void) + } + + ps_err_e +-ps_get_thread_area (const struct ps_prochandle *ph, ++ps_get_thread_area (struct ps_prochandle *ph, + lwpid_t lwpid, int idx, void **base) + { + if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0) +diff --git a/gdb/gdbserver/linux-m68k-low.c b/gdb/gdbserver/linux-m68k-low.c +index 4501904e39..7415930360 100644 +--- a/gdb/gdbserver/linux-m68k-low.c ++++ b/gdb/gdbserver/linux-m68k-low.c +@@ -160,7 +160,7 @@ m68k_breakpoint_at (CORE_ADDR pc) + /* Fetch the thread-local storage pointer for libthread_db. */ + + ps_err_e +-ps_get_thread_area (const struct ps_prochandle *ph, ++ps_get_thread_area (struct ps_prochandle *ph, + lwpid_t lwpid, int idx, void **base) + { + if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0) +diff --git a/gdb/gdbserver/linux-mips-low.c b/gdb/gdbserver/linux-mips-low.c +index 1695c4cf0d..acc2468bce 100644 +--- a/gdb/gdbserver/linux-mips-low.c ++++ b/gdb/gdbserver/linux-mips-low.c +@@ -640,7 +640,7 @@ mips_stopped_data_address (void) + /* Fetch the thread-local storage pointer for libthread_db. */ + + ps_err_e +-ps_get_thread_area (const struct ps_prochandle *ph, ++ps_get_thread_area (struct ps_prochandle *ph, + lwpid_t lwpid, int idx, void **base) + { + if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0) +diff --git a/gdb/gdbserver/linux-nios2-low.c b/gdb/gdbserver/linux-nios2-low.c +index 7bd3c9795d..719883edef 100644 +--- a/gdb/gdbserver/linux-nios2-low.c ++++ b/gdb/gdbserver/linux-nios2-low.c +@@ -150,7 +150,7 @@ nios2_breakpoint_at (CORE_ADDR where) + /* Fetch the thread-local storage pointer for libthread_db. */ + + ps_err_e +-ps_get_thread_area (const struct ps_prochandle *ph, ++ps_get_thread_area (struct ps_prochandle *ph, + lwpid_t lwpid, int idx, void **base) + { + if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0) +diff --git a/gdb/gdbserver/linux-tic6x-low.c b/gdb/gdbserver/linux-tic6x-low.c +index 0a0d220c34..26c4dee999 100644 +--- a/gdb/gdbserver/linux-tic6x-low.c ++++ b/gdb/gdbserver/linux-tic6x-low.c +@@ -266,7 +266,7 @@ tic6x_breakpoint_at (CORE_ADDR where) + /* Fetch the thread-local storage pointer for libthread_db. */ + + ps_err_e +-ps_get_thread_area (const struct ps_prochandle *ph, ++ps_get_thread_area (struct ps_prochandle *ph, + lwpid_t lwpid, int idx, void **base) + { + if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0) +diff --git a/gdb/gdbserver/linux-x86-low.c b/gdb/gdbserver/linux-x86-low.c +index 484eadba05..15f25d71d5 100644 +--- a/gdb/gdbserver/linux-x86-low.c ++++ b/gdb/gdbserver/linux-x86-low.c +@@ -231,7 +231,7 @@ is_64bit_tdesc (void) + /* Called by libthread_db. */ + + ps_err_e +-ps_get_thread_area (const struct ps_prochandle *ph, ++ps_get_thread_area (struct ps_prochandle *ph, + lwpid_t lwpid, int idx, void **base) + { + #ifdef __x86_64__ +diff --git a/gdb/i386-linux-nat.c b/gdb/i386-linux-nat.c +index 349ce68f5c..80d6a516ea 100644 +--- a/gdb/i386-linux-nat.c ++++ b/gdb/i386-linux-nat.c +@@ -603,7 +603,7 @@ i386_linux_store_inferior_registers (struct target_ops *ops, + storage (or its descriptor). */ + + ps_err_e +-ps_get_thread_area (const struct ps_prochandle *ph, ++ps_get_thread_area (struct ps_prochandle *ph, + lwpid_t lwpid, int idx, void **base) + { + unsigned int base_addr; +diff --git a/gdb/m68klinux-nat.c b/gdb/m68klinux-nat.c +index 8f89d7b87a..6e528b4e91 100644 +--- a/gdb/m68klinux-nat.c ++++ b/gdb/m68klinux-nat.c +@@ -508,7 +508,7 @@ m68k_linux_store_inferior_registers (struct target_ops *ops, + /* Fetch the thread-local storage pointer for libthread_db. */ + + ps_err_e +-ps_get_thread_area (const struct ps_prochandle *ph, ++ps_get_thread_area (struct ps_prochandle *ph, + lwpid_t lwpid, int idx, void **base) + { + if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) < 0) +diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c +index a36bb6356f..9f6d6975a0 100644 +--- a/gdb/mips-linux-nat.c ++++ b/gdb/mips-linux-nat.c +@@ -152,7 +152,7 @@ mips64_linux_register_addr (struct gdbarch *gdbarch, int regno, int store) + /* Fetch the thread-local storage pointer for libthread_db. */ + + ps_err_e +-ps_get_thread_area (const struct ps_prochandle *ph, ++ps_get_thread_area (struct ps_prochandle *ph, + lwpid_t lwpid, int idx, void **base) + { + if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0) +-- +2.11.0 + diff --git a/package/gdb/7.10.1/0008-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch b/package/gdb/7.10.1/0008-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch new file mode 100644 index 0000000000..c280831abc --- /dev/null +++ b/package/gdb/7.10.1/0008-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch @@ -0,0 +1,53 @@ +From 3964e15443c5cdfca6723987c8ef1ef6cf984d41 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 6 Aug 2016 17:32:50 -0700 +Subject: [PATCH] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC systems + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +Signed-off-by: Thomas Petazzoni +--- + gdb/gdbserver/linux-ppc-low.c | 6 ++++++ + gdb/nat/ppc-linux.h | 6 ++++++ + 2 files changed, 12 insertions(+) + +diff --git a/gdb/gdbserver/linux-ppc-low.c b/gdb/gdbserver/linux-ppc-low.c +index 188fac0..f71d5ab 100644 +--- a/gdb/gdbserver/linux-ppc-low.c ++++ b/gdb/gdbserver/linux-ppc-low.c +@@ -21,7 +21,13 @@ + #include "linux-low.h" + + #include ++#if !defined(__GLIBC__) ++# define pt_regs uapi_pt_regs ++#endif + #include ++#if !defined(__GLIBC__) ++# undef pt_regs ++#endif + + #include "nat/ppc-linux.h" + +diff --git a/gdb/nat/ppc-linux.h b/gdb/nat/ppc-linux.h +index 0ff2223..c978daa 100644 +--- a/gdb/nat/ppc-linux.h ++++ b/gdb/nat/ppc-linux.h +@@ -18,7 +18,13 @@ + #ifndef PPC_LINUX_H + #define PPC_LINUX_H 1 + ++#if !defined(__GLIBC__) ++# define pt_regs uapi_pt_regs ++#endif + #include ++#if !defined(__GLIBC__) ++# undef pt_regs ++#endif + #include + + /* This sometimes isn't defined. */ +-- +2.7.4 + diff --git a/package/gdb/7.10.1/0009-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch b/package/gdb/7.10.1/0009-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch new file mode 100644 index 0000000000..50f9512bbc --- /dev/null +++ b/package/gdb/7.10.1/0009-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch @@ -0,0 +1,41 @@ +From 1662a42e980c3f605000b23fda86ab24ceb69d32 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 3 Jun 2017 21:23:52 +0200 +Subject: [PATCH] sh/ptrace: Define pt_{dsp,}regs uapi_pt_{dsp,}regs on !GLIBC + systems + +Fixes a pt_{dsp,}regs redefinition when building with the musl C library +on SuperH. + +Inspired by +http://git.yoctoproject.org/clean/cgit.cgi/poky/plain/meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch, +adapted for SuperH. + +Signed-off-by: Thomas Petazzoni +--- + gdb/gdbserver/linux-sh-low.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/gdb/gdbserver/linux-sh-low.c b/gdb/gdbserver/linux-sh-low.c +index 218d4d3..c4ada84 100644 +--- a/gdb/gdbserver/linux-sh-low.c ++++ b/gdb/gdbserver/linux-sh-low.c +@@ -27,7 +27,15 @@ extern const struct target_desc *tdesc_sh; + #include + #endif + ++#if !defined(__GLIBC__) ++# define pt_regs uapi_pt_regs ++# define pt_dspregs uapi_pt_dspregs ++#endif + #include ++#if !defined(__GLIBC__) ++# undef pt_regs ++# undef pt_dspregs ++#endif + + #define sh_num_regs 41 + +-- +2.7.4 + diff --git a/package/gdb/7.10.1/0010-Fix-gdbserver-build-on-uClibc-noMMU.patch b/package/gdb/7.10.1/0010-Fix-gdbserver-build-on-uClibc-noMMU.patch new file mode 100644 index 0000000000..3f877b335f --- /dev/null +++ b/package/gdb/7.10.1/0010-Fix-gdbserver-build-on-uClibc-noMMU.patch @@ -0,0 +1,32 @@ +From 6de192acd4807d7fd57caf451567f09308bd8350 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Fri, 9 Jun 2017 10:19:32 +0200 +Subject: [PATCH] Fix gdbserver build on uClibc/noMMU + +The noMMU specific code requires including . + +Originally from +https://cgit.openadk.org/cgi/cgit/openadk.git/plain/package/gdbserver/patches/nommu.patch. + +Signed-off-by: Thomas Petazzoni +--- + gdb/nat/linux-ptrace.h | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/gdb/nat/linux-ptrace.h b/gdb/nat/linux-ptrace.h +index be6c395..c9f85aa 100644 +--- a/gdb/nat/linux-ptrace.h ++++ b/gdb/nat/linux-ptrace.h +@@ -23,7 +23,8 @@ struct buffer; + #include + + #ifdef __UCLIBC__ +-#if !(defined(__UCLIBC_HAS_MMU__) || defined(__ARCH_HAS_MMU__)) ++#include ++#if !(defined(__UCLIBC_HAS_MMU__) || defined(__ARCH_USE_MMU__)) + /* PTRACE_TEXT_ADDR and friends. */ + #include + #define HAS_NOMMU +-- +2.7.4 + diff --git a/package/gdb/7.10.1/0011-use-asm-sgidefs.h.patch b/package/gdb/7.10.1/0011-use-asm-sgidefs.h.patch new file mode 100644 index 0000000000..fdc56793fb --- /dev/null +++ b/package/gdb/7.10.1/0011-use-asm-sgidefs.h.patch @@ -0,0 +1,41 @@ +From 12a0b8d81e1fda6ba98abdce8d6f09f9555ebcf5 Mon Sep 17 00:00:00 2001 +From: Andre McCurdy +Date: Sat, 30 Apr 2016 15:29:06 -0700 +Subject: [PATCH] use + +Build fix for MIPS with musl libc + +The MIPS specific header is provided by glibc and uclibc +but not by musl. Regardless of the libc, the kernel headers provide + which provides the same definitions, so use that +instead. + +Upstream-Status: Pending + +[Vincent: +Taken from https://sourceware.org/bugzilla/show_bug.cgi?id=21070 +Patch has been adapted to apply on 7.10.1.] + +Signed-off-by: Andre McCurdy +Signed-off-by: Khem Raj +Signed-off-by: Vicente Olivert Riera +--- + gdb/mips-linux-nat.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c +index 9f6d697..8f57bb2 100644 +--- a/gdb/mips-linux-nat.c ++++ b/gdb/mips-linux-nat.c +@@ -31,7 +31,7 @@ + #include "gdb_proc_service.h" + #include "gregset.h" + +-#include ++#include + #include + #include + +-- +2.13.1 + diff --git a/package/gdb/7.11.1/0002-Sync-proc_service-definition-with-GLIBC.patch b/package/gdb/7.11.1/0002-Sync-proc_service-definition-with-GLIBC.patch new file mode 100644 index 0000000000..b3f723a8ef --- /dev/null +++ b/package/gdb/7.11.1/0002-Sync-proc_service-definition-with-GLIBC.patch @@ -0,0 +1,389 @@ +From 140bf80050b34f0947b34dba93b830ea2bfc5040 Mon Sep 17 00:00:00 2001 +From: Adhemerval Zanella +Date: Thu, 25 Aug 2016 08:42:03 +0100 +Subject: [PATCH] Sync proc_service definition with GLIBC + +GLIBC BZ#20311 [1] proc_service.h install patch also remove 'const' +attributes from ps_get_thread_area and comment #15 discuss why to remove +the const attribute (basically since it a callback with the struct +ps_prochandle owned by the client it should be able to modify it if +it the case). + +On default build this is not the issue and current g++ does not trigger +any issue with this mismatch declaration. However, on some bootstrap +build configuration where gdbserver is build with gcc instead this +triggers: + +error: conflicting types for 'ps_get_thread_area' + +This patch fixes it by syncing the declaration with GLIBC. + +[1] https://sourceware.org/bugzilla/show_bug.cgi?id=20311 + +gdb/ChangeLog: + +2016-08-25 Adhemerval Zanella + + * aarch64-linux-nat.c (ps_get_thread_area): Remove const from + struct ps_prochandle. + * amd64-linux-nat.c (ps_get_thread_area): Likewise. + * arm-linux-nat.c (ps_get_thread_area): Likewise. + * gdb_proc_service.h (ps_get_thread_area): Likewise. + * i386-linux-nat.c (ps_get_thread_area): Likewise. + * m68klinux-nat.c (ps_get_thread_area): Likewise. + * mips-linux-nat.c (ps_get_thread_area): Likewise. + * nat/aarch64-linux.c (aarch64_ps_get_thread_area): Likewise. + * nat/aarch64-linux.h (aarch64_ps_get_thread_area): Likewise. + * xtensa-linux-nat.c (ps_get_thread_area): Likewise. + +gdb/gdbserver/ChangeLog: + +2016-08-25 Adhemerval Zanella + + PR server/20491 + * gdb_proc_service.h (ps_get_thread_area): Remove const from struct + ps_prochandle. + * linux-aarch64-low.c (ps_get_thread_area): Likewise. + * linux-arm-low.c (ps_get_thread_area): Likewise. + * linux-crisv32-low.c (ps_get_thread_area): Likewise. + * linux-m68k-low.c (ps_get_thread_area): Likewise. + * linux-mips-low.c (ps_get_thread_area): Likewise. + * linux-nios2-low.c (ps_get_thread_area): Likewise. + * linux-tic6x-low.c (ps_get_thread_area): Likewise. + * linux-x86-low.c (ps_get_thread_area): Likewise. + * linux-xtensa-low.c (ps_get_thread_area): Likewise. + +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) +--- + gdb/ChangeLog | 14 ++++++++++++++ + gdb/aarch64-linux-nat.c | 2 +- + gdb/amd64-linux-nat.c | 2 +- + gdb/arm-linux-nat.c | 2 +- + gdb/gdb_proc_service.h | 2 +- + gdb/gdbserver/ChangeLog | 15 +++++++++++++++ + gdb/gdbserver/gdb_proc_service.h | 2 +- + gdb/gdbserver/linux-aarch64-low.c | 2 +- + gdb/gdbserver/linux-arm-low.c | 2 +- + gdb/gdbserver/linux-crisv32-low.c | 2 +- + gdb/gdbserver/linux-m68k-low.c | 2 +- + gdb/gdbserver/linux-mips-low.c | 2 +- + gdb/gdbserver/linux-nios2-low.c | 2 +- + gdb/gdbserver/linux-tic6x-low.c | 2 +- + gdb/gdbserver/linux-x86-low.c | 2 +- + gdb/gdbserver/linux-xtensa-low.c | 2 +- + gdb/i386-linux-nat.c | 2 +- + gdb/m68klinux-nat.c | 2 +- + gdb/mips-linux-nat.c | 2 +- + gdb/nat/aarch64-linux.c | 2 +- + gdb/nat/aarch64-linux.h | 2 +- + gdb/xtensa-linux-nat.c | 2 +- + 22 files changed, 49 insertions(+), 20 deletions(-) + +diff --git a/gdb/ChangeLog b/gdb/ChangeLog +index 9b6562502e..a03afdb82f 100644 +--- a/gdb/ChangeLog ++++ b/gdb/ChangeLog +@@ -1,3 +1,17 @@ ++2016-08-25 Adhemerval Zanella ++ ++ * aarch64-linux-nat.c (ps_get_thread_area): Remove const from ++ struct ps_prochandle. ++ * amd64-linux-nat.c (ps_get_thread_area): Likewise. ++ * arm-linux-nat.c (ps_get_thread_area): Likewise. ++ * gdb_proc_service.h (ps_get_thread_area): Likewise. ++ * i386-linux-nat.c (ps_get_thread_area): Likewise. ++ * m68klinux-nat.c (ps_get_thread_area): Likewise. ++ * mips-linux-nat.c (ps_get_thread_area): Likewise. ++ * nat/aarch64-linux.c (aarch64_ps_get_thread_area): Likewise. ++ * nat/aarch64-linux.h (aarch64_ps_get_thread_area): Likewise. ++ * xtensa-linux-nat.c (ps_get_thread_area): Likewise. ++ + 2016-06-01 Joel Brobecker + + * version.in: Set GDB version number to 7.11.1.DATE-git. +diff --git a/gdb/aarch64-linux-nat.c b/gdb/aarch64-linux-nat.c +index fe1631dbbb..5166eebd33 100644 +--- a/gdb/aarch64-linux-nat.c ++++ b/gdb/aarch64-linux-nat.c +@@ -457,7 +457,7 @@ aarch64_linux_new_fork (struct lwp_info *parent, pid_t child_pid) + storage (or its descriptor). */ + + ps_err_e +-ps_get_thread_area (const struct ps_prochandle *ph, ++ps_get_thread_area (struct ps_prochandle *ph, + lwpid_t lwpid, int idx, void **base) + { + int is_64bit_p +diff --git a/gdb/amd64-linux-nat.c b/gdb/amd64-linux-nat.c +index 391a646992..9da36fd1ba 100644 +--- a/gdb/amd64-linux-nat.c ++++ b/gdb/amd64-linux-nat.c +@@ -245,7 +245,7 @@ amd64_linux_store_inferior_registers (struct target_ops *ops, + a request for a thread's local storage address. */ + + ps_err_e +-ps_get_thread_area (const struct ps_prochandle *ph, ++ps_get_thread_area (struct ps_prochandle *ph, + lwpid_t lwpid, int idx, void **base) + { + if (gdbarch_bfd_arch_info (target_gdbarch ())->bits_per_word == 32) +diff --git a/gdb/arm-linux-nat.c b/gdb/arm-linux-nat.c +index d77ca93498..d11bdc6e22 100644 +--- a/gdb/arm-linux-nat.c ++++ b/gdb/arm-linux-nat.c +@@ -477,7 +477,7 @@ supply_fpregset (struct regcache *regcache, const gdb_fpregset_t *fpregsetp) + /* Fetch the thread-local storage pointer for libthread_db. */ + + ps_err_e +-ps_get_thread_area (const struct ps_prochandle *ph, ++ps_get_thread_area (struct ps_prochandle *ph, + lwpid_t lwpid, int idx, void **base) + { + if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0) +diff --git a/gdb/gdb_proc_service.h b/gdb/gdb_proc_service.h +index 04d3c03884..a1a8eb5b2f 100644 +--- a/gdb/gdb_proc_service.h ++++ b/gdb/gdb_proc_service.h +@@ -124,7 +124,7 @@ extern pid_t ps_getpid (struct ps_prochandle *); + /* Fetch the special per-thread address associated with the given LWP. + This call is only used on a few platforms (most use a normal register). + The meaning of the `int' parameter is machine-dependent. */ +-extern ps_err_e ps_get_thread_area (const struct ps_prochandle *, ++extern ps_err_e ps_get_thread_area (struct ps_prochandle *, + lwpid_t, int, psaddr_t *); + + +diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog +index 08fef5b06e..ea278b1250 100644 +--- a/gdb/gdbserver/ChangeLog ++++ b/gdb/gdbserver/ChangeLog +@@ -1,3 +1,18 @@ ++2016-08-25 Adhemerval Zanella ++ ++ PR server/20491 ++ * gdb_proc_service.h (ps_get_thread_area): Remove const from struct ++ ps_prochandle. ++ * linux-aarch64-low.c (ps_get_thread_area): Likewise. ++ * linux-arm-low.c (ps_get_thread_area): Likewise. ++ * linux-crisv32-low.c (ps_get_thread_area): Likewise. ++ * linux-m68k-low.c (ps_get_thread_area): Likewise. ++ * linux-mips-low.c (ps_get_thread_area): Likewise. ++ * linux-nios2-low.c (ps_get_thread_area): Likewise. ++ * linux-tic6x-low.c (ps_get_thread_area): Likewise. ++ * linux-x86-low.c (ps_get_thread_area): Likewise. ++ * linux-xtensa-low.c (ps_get_thread_area): Likewise. ++ + 2016-04-15 Pedro Alves + + * linux-low.c (check_stopped_by_breakpoint): Rename to ... +diff --git a/gdb/gdbserver/gdb_proc_service.h b/gdb/gdbserver/gdb_proc_service.h +index 99bf226b01..cec9231ee5 100644 +--- a/gdb/gdbserver/gdb_proc_service.h ++++ b/gdb/gdbserver/gdb_proc_service.h +@@ -107,7 +107,7 @@ extern pid_t ps_getpid (struct ps_prochandle *); + /* Fetch the special per-thread address associated with the given LWP. + This call is only used on a few platforms (most use a normal register). + The meaning of the `int' parameter is machine-dependent. */ +-extern ps_err_e ps_get_thread_area (const struct ps_prochandle *, ++extern ps_err_e ps_get_thread_area (struct ps_prochandle *, + lwpid_t, int, psaddr_t *); + + +diff --git a/gdb/gdbserver/linux-aarch64-low.c b/gdb/gdbserver/linux-aarch64-low.c +index 806a76260f..b86f210390 100644 +--- a/gdb/gdbserver/linux-aarch64-low.c ++++ b/gdb/gdbserver/linux-aarch64-low.c +@@ -421,7 +421,7 @@ aarch64_stopped_by_watchpoint (void) + /* Fetch the thread-local storage pointer for libthread_db. */ + + ps_err_e +-ps_get_thread_area (const struct ps_prochandle *ph, ++ps_get_thread_area (struct ps_prochandle *ph, + lwpid_t lwpid, int idx, void **base) + { + return aarch64_ps_get_thread_area (ph, lwpid, idx, base, +diff --git a/gdb/gdbserver/linux-arm-low.c b/gdb/gdbserver/linux-arm-low.c +index 0f627069e0..9f043878c7 100644 +--- a/gdb/gdbserver/linux-arm-low.c ++++ b/gdb/gdbserver/linux-arm-low.c +@@ -269,7 +269,7 @@ get_next_pcs_read_memory_unsigned_integer (CORE_ADDR memaddr, + /* Fetch the thread-local storage pointer for libthread_db. */ + + ps_err_e +-ps_get_thread_area (const struct ps_prochandle *ph, ++ps_get_thread_area (struct ps_prochandle *ph, + lwpid_t lwpid, int idx, void **base) + { + if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0) +diff --git a/gdb/gdbserver/linux-crisv32-low.c b/gdb/gdbserver/linux-crisv32-low.c +index 16c1f72015..fea6d5bf9b 100644 +--- a/gdb/gdbserver/linux-crisv32-low.c ++++ b/gdb/gdbserver/linux-crisv32-low.c +@@ -309,7 +309,7 @@ cris_stopped_data_address (void) + } + + ps_err_e +-ps_get_thread_area (const struct ps_prochandle *ph, ++ps_get_thread_area (struct ps_prochandle *ph, + lwpid_t lwpid, int idx, void **base) + { + if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0) +diff --git a/gdb/gdbserver/linux-m68k-low.c b/gdb/gdbserver/linux-m68k-low.c +index df3d7c6d9c..78a340fa8f 100644 +--- a/gdb/gdbserver/linux-m68k-low.c ++++ b/gdb/gdbserver/linux-m68k-low.c +@@ -152,7 +152,7 @@ m68k_breakpoint_at (CORE_ADDR pc) + /* Fetch the thread-local storage pointer for libthread_db. */ + + ps_err_e +-ps_get_thread_area (const struct ps_prochandle *ph, ++ps_get_thread_area (struct ps_prochandle *ph, + lwpid_t lwpid, int idx, void **base) + { + if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0) +diff --git a/gdb/gdbserver/linux-mips-low.c b/gdb/gdbserver/linux-mips-low.c +index 30a03d5f43..9356bb3d99 100644 +--- a/gdb/gdbserver/linux-mips-low.c ++++ b/gdb/gdbserver/linux-mips-low.c +@@ -637,7 +637,7 @@ mips_stopped_data_address (void) + /* Fetch the thread-local storage pointer for libthread_db. */ + + ps_err_e +-ps_get_thread_area (const struct ps_prochandle *ph, ++ps_get_thread_area (struct ps_prochandle *ph, + lwpid_t lwpid, int idx, void **base) + { + if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0) +diff --git a/gdb/gdbserver/linux-nios2-low.c b/gdb/gdbserver/linux-nios2-low.c +index ea0ded1f1e..98a85ed8e3 100644 +--- a/gdb/gdbserver/linux-nios2-low.c ++++ b/gdb/gdbserver/linux-nios2-low.c +@@ -145,7 +145,7 @@ nios2_breakpoint_at (CORE_ADDR where) + /* Fetch the thread-local storage pointer for libthread_db. */ + + ps_err_e +-ps_get_thread_area (const struct ps_prochandle *ph, ++ps_get_thread_area (struct ps_prochandle *ph, + lwpid_t lwpid, int idx, void **base) + { + if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0) +diff --git a/gdb/gdbserver/linux-tic6x-low.c b/gdb/gdbserver/linux-tic6x-low.c +index e40a3aff51..6b90560dc4 100644 +--- a/gdb/gdbserver/linux-tic6x-low.c ++++ b/gdb/gdbserver/linux-tic6x-low.c +@@ -274,7 +274,7 @@ tic6x_breakpoint_at (CORE_ADDR where) + /* Fetch the thread-local storage pointer for libthread_db. */ + + ps_err_e +-ps_get_thread_area (const struct ps_prochandle *ph, ++ps_get_thread_area (struct ps_prochandle *ph, + lwpid_t lwpid, int idx, void **base) + { + if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0) +diff --git a/gdb/gdbserver/linux-x86-low.c b/gdb/gdbserver/linux-x86-low.c +index 0c4954a58d..8bac10a54b 100644 +--- a/gdb/gdbserver/linux-x86-low.c ++++ b/gdb/gdbserver/linux-x86-low.c +@@ -236,7 +236,7 @@ is_64bit_tdesc (void) + /* Called by libthread_db. */ + + ps_err_e +-ps_get_thread_area (const struct ps_prochandle *ph, ++ps_get_thread_area (struct ps_prochandle *ph, + lwpid_t lwpid, int idx, void **base) + { + #ifdef __x86_64__ +diff --git a/gdb/gdbserver/linux-xtensa-low.c b/gdb/gdbserver/linux-xtensa-low.c +index 6e945eac17..431082c01f 100644 +--- a/gdb/gdbserver/linux-xtensa-low.c ++++ b/gdb/gdbserver/linux-xtensa-low.c +@@ -177,7 +177,7 @@ xtensa_breakpoint_at (CORE_ADDR where) + /* Called by libthread_db. */ + + ps_err_e +-ps_get_thread_area (const struct ps_prochandle *ph, ++ps_get_thread_area (struct ps_prochandle *ph, + lwpid_t lwpid, int idx, void **base) + { + xtensa_elf_gregset_t regs; +diff --git a/gdb/i386-linux-nat.c b/gdb/i386-linux-nat.c +index a41ee21081..70d954fdc0 100644 +--- a/gdb/i386-linux-nat.c ++++ b/gdb/i386-linux-nat.c +@@ -603,7 +603,7 @@ i386_linux_store_inferior_registers (struct target_ops *ops, + storage (or its descriptor). */ + + ps_err_e +-ps_get_thread_area (const struct ps_prochandle *ph, ++ps_get_thread_area (struct ps_prochandle *ph, + lwpid_t lwpid, int idx, void **base) + { + unsigned int base_addr; +diff --git a/gdb/m68klinux-nat.c b/gdb/m68klinux-nat.c +index 24b6242ba3..5b8684b719 100644 +--- a/gdb/m68klinux-nat.c ++++ b/gdb/m68klinux-nat.c +@@ -508,7 +508,7 @@ m68k_linux_store_inferior_registers (struct target_ops *ops, + /* Fetch the thread-local storage pointer for libthread_db. */ + + ps_err_e +-ps_get_thread_area (const struct ps_prochandle *ph, ++ps_get_thread_area (struct ps_prochandle *ph, + lwpid_t lwpid, int idx, void **base) + { + if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) < 0) +diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c +index bfe9fcbe68..0f20f16814 100644 +--- a/gdb/mips-linux-nat.c ++++ b/gdb/mips-linux-nat.c +@@ -152,7 +152,7 @@ mips64_linux_register_addr (struct gdbarch *gdbarch, int regno, int store) + /* Fetch the thread-local storage pointer for libthread_db. */ + + ps_err_e +-ps_get_thread_area (const struct ps_prochandle *ph, ++ps_get_thread_area (struct ps_prochandle *ph, + lwpid_t lwpid, int idx, void **base) + { + if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0) +diff --git a/gdb/nat/aarch64-linux.c b/gdb/nat/aarch64-linux.c +index 5ae5aa8602..1828977e28 100644 +--- a/gdb/nat/aarch64-linux.c ++++ b/gdb/nat/aarch64-linux.c +@@ -205,7 +205,7 @@ aarch64_siginfo_from_compat_siginfo (siginfo_t *to, compat_siginfo_t *from) + storage (or its descriptor). */ + + ps_err_e +-aarch64_ps_get_thread_area (const struct ps_prochandle *ph, ++aarch64_ps_get_thread_area (struct ps_prochandle *ph, + lwpid_t lwpid, int idx, void **base, + int is_64bit_p) + { +diff --git a/gdb/nat/aarch64-linux.h b/gdb/nat/aarch64-linux.h +index 7221982b78..aac7c68c06 100644 +--- a/gdb/nat/aarch64-linux.h ++++ b/gdb/nat/aarch64-linux.h +@@ -122,7 +122,7 @@ void aarch64_linux_prepare_to_resume (struct lwp_info *lwp); + + void aarch64_linux_new_thread (struct lwp_info *lwp); + +-ps_err_e aarch64_ps_get_thread_area (const struct ps_prochandle *ph, ++ps_err_e aarch64_ps_get_thread_area (struct ps_prochandle *ph, + lwpid_t lwpid, int idx, void **base, + int is_64bit_p); + +diff --git a/gdb/xtensa-linux-nat.c b/gdb/xtensa-linux-nat.c +index 54da83791a..836d3f80ee 100644 +--- a/gdb/xtensa-linux-nat.c ++++ b/gdb/xtensa-linux-nat.c +@@ -286,7 +286,7 @@ xtensa_linux_store_inferior_registers (struct target_ops *ops, + /* Called by libthread_db. */ + + ps_err_e +-ps_get_thread_area (const struct ps_prochandle *ph, ++ps_get_thread_area (struct ps_prochandle *ph, + lwpid_t lwpid, int idx, void **base) + { + xtensa_elf_gregset_t regs; +-- +2.11.0 + diff --git a/package/gdb/7.11.1/0003-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch b/package/gdb/7.11.1/0003-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch new file mode 100644 index 0000000000..1e7f6b6c9b --- /dev/null +++ b/package/gdb/7.11.1/0003-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch @@ -0,0 +1,53 @@ +From 7438f3e5a41adf54cf82cd82d3d52244e77d7d05 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 6 Aug 2016 17:32:50 -0700 +Subject: [PATCH] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC systems + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +Signed-off-by: Thomas Petazzoni +--- + gdb/gdbserver/linux-ppc-low.c | 6 ++++++ + gdb/nat/ppc-linux.h | 6 ++++++ + 2 files changed, 12 insertions(+) + +diff --git a/gdb/gdbserver/linux-ppc-low.c b/gdb/gdbserver/linux-ppc-low.c +index 2145c50..777905d 100644 +--- a/gdb/gdbserver/linux-ppc-low.c ++++ b/gdb/gdbserver/linux-ppc-low.c +@@ -21,7 +21,13 @@ + #include "linux-low.h" + + #include ++#if !defined(__GLIBC__) ++# define pt_regs uapi_pt_regs ++#endif + #include ++#if !defined(__GLIBC__) ++# undef pt_regs ++#endif + + #include "nat/ppc-linux.h" + +diff --git a/gdb/nat/ppc-linux.h b/gdb/nat/ppc-linux.h +index 85fbcd8..cbec9c5 100644 +--- a/gdb/nat/ppc-linux.h ++++ b/gdb/nat/ppc-linux.h +@@ -18,7 +18,13 @@ + #ifndef PPC_LINUX_H + #define PPC_LINUX_H 1 + ++#if !defined(__GLIBC__) ++# define pt_regs uapi_pt_regs ++#endif + #include ++#if !defined(__GLIBC__) ++# undef pt_regs ++#endif + #include + + /* This sometimes isn't defined. */ +-- +2.7.4 + diff --git a/package/gdb/7.11.1/0004-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch b/package/gdb/7.11.1/0004-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch new file mode 100644 index 0000000000..f8c9e59be6 --- /dev/null +++ b/package/gdb/7.11.1/0004-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch @@ -0,0 +1,41 @@ +From b7cbde12595599768bf2831e311a8ab265322313 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 3 Jun 2017 21:23:52 +0200 +Subject: [PATCH] sh/ptrace: Define pt_{dsp,}regs uapi_pt_{dsp,}regs on !GLIBC + systems + +Fixes a pt_{dsp,}regs redefinition when building with the musl C library +on SuperH. + +Inspired by +http://git.yoctoproject.org/clean/cgit.cgi/poky/plain/meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch, +adapted for SuperH. + +Signed-off-by: Thomas Petazzoni +--- + gdb/gdbserver/linux-sh-low.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/gdb/gdbserver/linux-sh-low.c b/gdb/gdbserver/linux-sh-low.c +index 38612e2..3195d0d 100644 +--- a/gdb/gdbserver/linux-sh-low.c ++++ b/gdb/gdbserver/linux-sh-low.c +@@ -27,7 +27,15 @@ extern const struct target_desc *tdesc_sh; + #include + #endif + ++#if !defined(__GLIBC__) ++# define pt_regs uapi_pt_regs ++# define pt_dspregs uapi_pt_dspregs ++#endif + #include ++#if !defined(__GLIBC__) ++# undef pt_regs ++# undef pt_dspregs ++#endif + + #define sh_num_regs 41 + +-- +2.7.4 + diff --git a/package/gdb/7.11.1/0005-Fix-gdbserver-build-on-uClibc-noMMU.patch b/package/gdb/7.11.1/0005-Fix-gdbserver-build-on-uClibc-noMMU.patch new file mode 100644 index 0000000000..fc8b3ac607 --- /dev/null +++ b/package/gdb/7.11.1/0005-Fix-gdbserver-build-on-uClibc-noMMU.patch @@ -0,0 +1,32 @@ +From d6bf0c57a6bf361ac53887653aa1878e60d56335 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Fri, 9 Jun 2017 10:19:32 +0200 +Subject: [PATCH] Fix gdbserver build on uClibc/noMMU + +The noMMU specific code requires including . + +Originally from +https://cgit.openadk.org/cgi/cgit/openadk.git/plain/package/gdbserver/patches/nommu.patch. + +Signed-off-by: Thomas Petazzoni +--- + gdb/nat/linux-ptrace.h | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/gdb/nat/linux-ptrace.h b/gdb/nat/linux-ptrace.h +index 0a23bcb..35b7cbb 100644 +--- a/gdb/nat/linux-ptrace.h ++++ b/gdb/nat/linux-ptrace.h +@@ -23,7 +23,8 @@ struct buffer; + #include "nat/gdb_ptrace.h" + + #ifdef __UCLIBC__ +-#if !(defined(__UCLIBC_HAS_MMU__) || defined(__ARCH_HAS_MMU__)) ++#include ++#if !(defined(__UCLIBC_HAS_MMU__) || defined(__ARCH_USE_MMU__)) + /* PTRACE_TEXT_ADDR and friends. */ + #include + #define HAS_NOMMU +-- +2.7.4 + diff --git a/package/gdb/7.11.1/0006-use-asm-sgidefs.h.patch b/package/gdb/7.11.1/0006-use-asm-sgidefs.h.patch new file mode 100644 index 0000000000..d30336904f --- /dev/null +++ b/package/gdb/7.11.1/0006-use-asm-sgidefs.h.patch @@ -0,0 +1,40 @@ +From 12a0b8d81e1fda6ba98abdce8d6f09f9555ebcf5 Mon Sep 17 00:00:00 2001 +From: Andre McCurdy +Date: Sat, 30 Apr 2016 15:29:06 -0700 +Subject: [PATCH] use + +Build fix for MIPS with musl libc + +The MIPS specific header is provided by glibc and uclibc +but not by musl. Regardless of the libc, the kernel headers provide + which provides the same definitions, so use that +instead. + +Upstream-Status: Pending + +[Vincent: +Taken from: https://sourceware.org/bugzilla/show_bug.cgi?id=21070] + +Signed-off-by: Andre McCurdy +Signed-off-by: Khem Raj +Signed-off-by: Vicente Olivert Riera +--- + gdb/mips-linux-nat.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c +index f2df1b9907..d24664cb56 100644 +--- a/gdb/mips-linux-nat.c ++++ b/gdb/mips-linux-nat.c +@@ -31,7 +31,7 @@ + #include "gdb_proc_service.h" + #include "gregset.h" + +-#include ++#include + #include "nat/gdb_ptrace.h" + #include + #include "inf-ptrace.h" +-- +2.13.1 + diff --git a/package/gdb/7.12.1/0001-Remove-const-in-xtensa-linux-nat.c-fetch_gregs.patch b/package/gdb/7.12.1/0001-Remove-const-in-xtensa-linux-nat.c-fetch_gregs.patch new file mode 100644 index 0000000000..bb3d99d636 --- /dev/null +++ b/package/gdb/7.12.1/0001-Remove-const-in-xtensa-linux-nat.c-fetch_gregs.patch @@ -0,0 +1,39 @@ +From d274ecf4ddf76768af57e27f654b9ce6784b391c Mon Sep 17 00:00:00 2001 +From: Simon Marchi +Date: Mon, 6 Mar 2017 16:06:42 -0500 +Subject: [PATCH] Remove const in xtensa-linux-nat.c:fetch_gregs + +Fixes: + +/home/emaisin/src/binutils-gdb/gdb/xtensa-linux-nat.c: In function 'void fetch_gregs(regcache*, ptid_t, int)': +/home/emaisin/src/binutils-gdb/gdb/xtensa-linux-nat.c:178:23: error: uninitialized const 'regs' [-fpermissive] + const gdb_gregset_t regs; + ^ + +gdb/ChangeLog: + + * xtensa-linux-nat.c (fetch_gregs): Remove const. + +Signed-off-by: Max Filippov +--- +Backported from: d274ecf4ddf76768af57e27f654b9ce6784b391c + + gdb/xtensa-linux-nat.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gdb/xtensa-linux-nat.c b/gdb/xtensa-linux-nat.c +index afe15f6..c29f0c7 100644 +--- a/gdb/xtensa-linux-nat.c ++++ b/gdb/xtensa-linux-nat.c +@@ -175,7 +175,7 @@ static void + fetch_gregs (struct regcache *regcache, int regnum) + { + int tid = ptid_get_lwp (inferior_ptid); +- const gdb_gregset_t regs; ++ gdb_gregset_t regs; + int areg; + + if (ptrace (PTRACE_GETREGS, tid, 0, (long) ®s) < 0) +-- +2.1.4 + diff --git a/package/gdb/7.12.1/0002-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch b/package/gdb/7.12.1/0002-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch new file mode 100644 index 0000000000..f6ec1d7877 --- /dev/null +++ b/package/gdb/7.12.1/0002-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch @@ -0,0 +1,53 @@ +From c45f07aec83ccb732ece970cb387f2db8b6896e4 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 6 Aug 2016 17:32:50 -0700 +Subject: [PATCH] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC systems + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +Signed-off-by: Thomas Petazzoni +--- + gdb/gdbserver/linux-ppc-low.c | 6 ++++++ + gdb/nat/ppc-linux.h | 6 ++++++ + 2 files changed, 12 insertions(+) + +diff --git a/gdb/gdbserver/linux-ppc-low.c b/gdb/gdbserver/linux-ppc-low.c +index 33a9feb..1a9141f 100644 +--- a/gdb/gdbserver/linux-ppc-low.c ++++ b/gdb/gdbserver/linux-ppc-low.c +@@ -21,7 +21,13 @@ + #include "linux-low.h" + + #include ++#if !defined(__GLIBC__) ++# define pt_regs uapi_pt_regs ++#endif + #include ++#if !defined(__GLIBC__) ++# undef pt_regs ++#endif + + #include "nat/ppc-linux.h" + #include "linux-ppc-tdesc.h" +diff --git a/gdb/nat/ppc-linux.h b/gdb/nat/ppc-linux.h +index 5837ea1..7233929 100644 +--- a/gdb/nat/ppc-linux.h ++++ b/gdb/nat/ppc-linux.h +@@ -18,7 +18,13 @@ + #ifndef PPC_LINUX_H + #define PPC_LINUX_H 1 + ++#if !defined(__GLIBC__) ++# define pt_regs uapi_pt_regs ++#endif + #include ++#if !defined(__GLIBC__) ++# undef pt_regs ++#endif + #include + + /* This sometimes isn't defined. */ +-- +2.7.4 + diff --git a/package/gdb/7.12.1/0003-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch b/package/gdb/7.12.1/0003-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch new file mode 100644 index 0000000000..4f142ecf02 --- /dev/null +++ b/package/gdb/7.12.1/0003-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch @@ -0,0 +1,41 @@ +From 00a0ba059f01784e8da5cec3439ea2d6c4a2ef40 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 3 Jun 2017 21:23:52 +0200 +Subject: [PATCH] sh/ptrace: Define pt_{dsp,}regs uapi_pt_{dsp,}regs on !GLIBC + systems + +Fixes a pt_{dsp,}regs redefinition when building with the musl C library +on SuperH. + +Inspired by +http://git.yoctoproject.org/clean/cgit.cgi/poky/plain/meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch, +adapted for SuperH. + +Signed-off-by: Thomas Petazzoni +--- + gdb/gdbserver/linux-sh-low.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/gdb/gdbserver/linux-sh-low.c b/gdb/gdbserver/linux-sh-low.c +index ac084c9..08e104a 100644 +--- a/gdb/gdbserver/linux-sh-low.c ++++ b/gdb/gdbserver/linux-sh-low.c +@@ -27,7 +27,15 @@ extern const struct target_desc *tdesc_sh; + #include + #endif + ++#if !defined(__GLIBC__) ++# define pt_regs uapi_pt_regs ++# define pt_dspregs uapi_pt_dspregs ++#endif + #include ++#if !defined(__GLIBC__) ++# undef pt_regs ++# undef pt_dspregs ++#endif + + #define sh_num_regs 41 + +-- +2.7.4 + diff --git a/package/gdb/7.12.1/0004-Fix-gdbserver-build-on-uClibc-noMMU.patch b/package/gdb/7.12.1/0004-Fix-gdbserver-build-on-uClibc-noMMU.patch new file mode 100644 index 0000000000..cbdfc4de6c --- /dev/null +++ b/package/gdb/7.12.1/0004-Fix-gdbserver-build-on-uClibc-noMMU.patch @@ -0,0 +1,32 @@ +From 430ab62f356d9e45e2231b0483ee33eaf3af5df3 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Fri, 9 Jun 2017 10:19:32 +0200 +Subject: [PATCH] Fix gdbserver build on uClibc/noMMU + +The noMMU specific code requires including . + +Originally from +https://cgit.openadk.org/cgi/cgit/openadk.git/plain/package/gdbserver/patches/nommu.patch. + +Signed-off-by: Thomas Petazzoni +--- + gdb/nat/linux-ptrace.h | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/gdb/nat/linux-ptrace.h b/gdb/nat/linux-ptrace.h +index 5954945..80bb674 100644 +--- a/gdb/nat/linux-ptrace.h ++++ b/gdb/nat/linux-ptrace.h +@@ -23,7 +23,8 @@ struct buffer; + #include "nat/gdb_ptrace.h" + + #ifdef __UCLIBC__ +-#if !(defined(__UCLIBC_HAS_MMU__) || defined(__ARCH_HAS_MMU__)) ++#include ++#if !(defined(__UCLIBC_HAS_MMU__) || defined(__ARCH_USE_MMU__)) + /* PTRACE_TEXT_ADDR and friends. */ + #include + #define HAS_NOMMU +-- +2.7.4 + diff --git a/package/gdb/7.12.1/0005-use-asm-sgidefs.h.patch b/package/gdb/7.12.1/0005-use-asm-sgidefs.h.patch new file mode 100644 index 0000000000..d30336904f --- /dev/null +++ b/package/gdb/7.12.1/0005-use-asm-sgidefs.h.patch @@ -0,0 +1,40 @@ +From 12a0b8d81e1fda6ba98abdce8d6f09f9555ebcf5 Mon Sep 17 00:00:00 2001 +From: Andre McCurdy +Date: Sat, 30 Apr 2016 15:29:06 -0700 +Subject: [PATCH] use + +Build fix for MIPS with musl libc + +The MIPS specific header is provided by glibc and uclibc +but not by musl. Regardless of the libc, the kernel headers provide + which provides the same definitions, so use that +instead. + +Upstream-Status: Pending + +[Vincent: +Taken from: https://sourceware.org/bugzilla/show_bug.cgi?id=21070] + +Signed-off-by: Andre McCurdy +Signed-off-by: Khem Raj +Signed-off-by: Vicente Olivert Riera +--- + gdb/mips-linux-nat.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c +index f2df1b9907..d24664cb56 100644 +--- a/gdb/mips-linux-nat.c ++++ b/gdb/mips-linux-nat.c +@@ -31,7 +31,7 @@ + #include "gdb_proc_service.h" + #include "gregset.h" + +-#include ++#include + #include "nat/gdb_ptrace.h" + #include + #include "inf-ptrace.h" +-- +2.13.1 + diff --git a/package/gdb/7.12.1/0006-nat-linux-ptrace.c-add-missing-gdb_byte-cast.patch b/package/gdb/7.12.1/0006-nat-linux-ptrace.c-add-missing-gdb_byte-cast.patch new file mode 100644 index 0000000000..4eb72e4084 --- /dev/null +++ b/package/gdb/7.12.1/0006-nat-linux-ptrace.c-add-missing-gdb_byte-cast.patch @@ -0,0 +1,41 @@ +From 09a2c3e0164545324a1ddee70f5c9fdee71e2079 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 18 Jun 2017 23:09:43 +0200 +Subject: [PATCH] nat/linux-ptrace.c: add missing gdb_byte* cast + +On noMMU platforms, the following code gets compiled: + + child_stack = xmalloc (STACK_SIZE * 4); + +Where child_stack is a gdb_byte*, and xmalloc() returns a void*. While +the lack of cast is valid in C, it is not in C++, causing the +following build failure: + +../nat/linux-ptrace.c: In function 'int linux_fork_to_function(gdb_byte*, int (*)(void*))': +../nat/linux-ptrace.c:273:29: error: invalid conversion from 'void*' to 'gdb_byte* {aka unsigned char*}' [-fpermissive] + child_stack = xmalloc (STACK_SIZE * 4); + +Therefore, this commit adds the appropriate cast. + +Signed-off-by: Thomas Petazzoni +[Upstream commit: ffce45d2243e5f52f411e314fc4e1a69f431a81f] +--- + gdb/nat/linux-ptrace.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gdb/nat/linux-ptrace.c b/gdb/nat/linux-ptrace.c +index 3447e07..33833e2 100644 +--- a/gdb/nat/linux-ptrace.c ++++ b/gdb/nat/linux-ptrace.c +@@ -270,7 +270,7 @@ linux_fork_to_function (gdb_byte *child_stack, int (*function) (void *)) + #define STACK_SIZE 4096 + + if (child_stack == NULL) +- child_stack = xmalloc (STACK_SIZE * 4); ++ child_stack = (gdb_byte*) xmalloc (STACK_SIZE * 4); + + /* Use CLONE_VM instead of fork, to support uClinux (no MMU). */ + #ifdef __ia64__ +-- +2.9.4 + diff --git a/package/gdb/8.0.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch b/package/gdb/8.0.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch new file mode 100644 index 0000000000..9e011c728d --- /dev/null +++ b/package/gdb/8.0.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch @@ -0,0 +1,55 @@ +From 2acd9d3eb703b9a64ac92b3880ed546bec92af95 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 6 Aug 2016 17:32:50 -0700 +Subject: [PATCH] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC systems + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +Signed-off-by: Thomas Petazzoni +[Rebase on gdb 8.0] +Signed-off-by: Romain Naour +--- + gdb/gdbserver/linux-ppc-low.c | 6 ++++++ + gdb/nat/ppc-linux.h | 6 ++++++ + 2 files changed, 12 insertions(+) + +diff --git a/gdb/gdbserver/linux-ppc-low.c b/gdb/gdbserver/linux-ppc-low.c +index 33a9feb..1a9141f 100644 +--- a/gdb/gdbserver/linux-ppc-low.c ++++ b/gdb/gdbserver/linux-ppc-low.c +@@ -21,7 +21,13 @@ + #include "linux-low.h" + + #include ++#if !defined(__GLIBC__) ++# define pt_regs uapi_pt_regs ++#endif + #include ++#if !defined(__GLIBC__) ++# undef pt_regs ++#endif + + #include "nat/ppc-linux.h" + #include "linux-ppc-tdesc.h" +diff --git a/gdb/nat/ppc-linux.h b/gdb/nat/ppc-linux.h +index 5837ea1..7233929 100644 +--- a/gdb/nat/ppc-linux.h ++++ b/gdb/nat/ppc-linux.h +@@ -18,7 +18,13 @@ + #ifndef PPC_LINUX_H + #define PPC_LINUX_H 1 + ++#if !defined(__GLIBC__) ++# define pt_regs uapi_pt_regs ++#endif + #include ++#if !defined(__GLIBC__) ++# undef pt_regs ++#endif + #include + + /* This sometimes isn't defined. */ +-- +2.9.4 + diff --git a/package/gdb/8.0.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch b/package/gdb/8.0.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch new file mode 100644 index 0000000000..d31e5dd11a --- /dev/null +++ b/package/gdb/8.0.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch @@ -0,0 +1,43 @@ +From dfe4a40bc9d2fc1fd1b1a11ed733a0c0a1f59f3c Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 3 Jun 2017 21:23:52 +0200 +Subject: [PATCH] sh/ptrace: Define pt_{dsp,}regs uapi_pt_{dsp,}regs on + !GLIBC systems + +Fixes a pt_{dsp,}regs redefinition when building with the musl C library +on SuperH. + +Inspired by +http://git.yoctoproject.org/clean/cgit.cgi/poky/plain/meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch, +adapted for SuperH. + +Signed-off-by: Thomas Petazzoni +[Rebase on gdb 8.0] +Signed-off-by: Romain Naour +--- + gdb/gdbserver/linux-sh-low.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/gdb/gdbserver/linux-sh-low.c b/gdb/gdbserver/linux-sh-low.c +index ac084c9..08e104a 100644 +--- a/gdb/gdbserver/linux-sh-low.c ++++ b/gdb/gdbserver/linux-sh-low.c +@@ -27,7 +27,15 @@ extern const struct target_desc *tdesc_sh; + #include + #endif + ++#if !defined(__GLIBC__) ++# define pt_regs uapi_pt_regs ++# define pt_dspregs uapi_pt_dspregs ++#endif + #include ++#if !defined(__GLIBC__) ++# undef pt_regs ++# undef pt_dspregs ++#endif + + #define sh_num_regs 41 + +-- +2.9.4 + diff --git a/package/gdb/8.0.1/0003-use-asm-sgidefs.h.patch b/package/gdb/8.0.1/0003-use-asm-sgidefs.h.patch new file mode 100644 index 0000000000..d30336904f --- /dev/null +++ b/package/gdb/8.0.1/0003-use-asm-sgidefs.h.patch @@ -0,0 +1,40 @@ +From 12a0b8d81e1fda6ba98abdce8d6f09f9555ebcf5 Mon Sep 17 00:00:00 2001 +From: Andre McCurdy +Date: Sat, 30 Apr 2016 15:29:06 -0700 +Subject: [PATCH] use + +Build fix for MIPS with musl libc + +The MIPS specific header is provided by glibc and uclibc +but not by musl. Regardless of the libc, the kernel headers provide + which provides the same definitions, so use that +instead. + +Upstream-Status: Pending + +[Vincent: +Taken from: https://sourceware.org/bugzilla/show_bug.cgi?id=21070] + +Signed-off-by: Andre McCurdy +Signed-off-by: Khem Raj +Signed-off-by: Vicente Olivert Riera +--- + gdb/mips-linux-nat.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c +index f2df1b9907..d24664cb56 100644 +--- a/gdb/mips-linux-nat.c ++++ b/gdb/mips-linux-nat.c +@@ -31,7 +31,7 @@ + #include "gdb_proc_service.h" + #include "gregset.h" + +-#include ++#include + #include "nat/gdb_ptrace.h" + #include + #include "inf-ptrace.h" +-- +2.13.1 + diff --git a/package/gdb/8.0.1/0004-nat-linux-ptrace.c-add-missing-gdb_byte-cast.patch b/package/gdb/8.0.1/0004-nat-linux-ptrace.c-add-missing-gdb_byte-cast.patch new file mode 100644 index 0000000000..4eb72e4084 --- /dev/null +++ b/package/gdb/8.0.1/0004-nat-linux-ptrace.c-add-missing-gdb_byte-cast.patch @@ -0,0 +1,41 @@ +From 09a2c3e0164545324a1ddee70f5c9fdee71e2079 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 18 Jun 2017 23:09:43 +0200 +Subject: [PATCH] nat/linux-ptrace.c: add missing gdb_byte* cast + +On noMMU platforms, the following code gets compiled: + + child_stack = xmalloc (STACK_SIZE * 4); + +Where child_stack is a gdb_byte*, and xmalloc() returns a void*. While +the lack of cast is valid in C, it is not in C++, causing the +following build failure: + +../nat/linux-ptrace.c: In function 'int linux_fork_to_function(gdb_byte*, int (*)(void*))': +../nat/linux-ptrace.c:273:29: error: invalid conversion from 'void*' to 'gdb_byte* {aka unsigned char*}' [-fpermissive] + child_stack = xmalloc (STACK_SIZE * 4); + +Therefore, this commit adds the appropriate cast. + +Signed-off-by: Thomas Petazzoni +[Upstream commit: ffce45d2243e5f52f411e314fc4e1a69f431a81f] +--- + gdb/nat/linux-ptrace.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gdb/nat/linux-ptrace.c b/gdb/nat/linux-ptrace.c +index 3447e07..33833e2 100644 +--- a/gdb/nat/linux-ptrace.c ++++ b/gdb/nat/linux-ptrace.c +@@ -270,7 +270,7 @@ linux_fork_to_function (gdb_byte *child_stack, int (*function) (void *)) + #define STACK_SIZE 4096 + + if (child_stack == NULL) +- child_stack = xmalloc (STACK_SIZE * 4); ++ child_stack = (gdb_byte*) xmalloc (STACK_SIZE * 4); + + /* Use CLONE_VM instead of fork, to support uClinux (no MMU). */ + #ifdef __ia64__ +-- +2.9.4 + diff --git a/package/gdb/Config.in b/package/gdb/Config.in index 809e02d076..af020f40c5 100644 --- a/package/gdb/Config.in +++ b/package/gdb/Config.in @@ -1,16 +1,25 @@ +config BR2_PACKAGE_GDB_ARCH_SUPPORTS + bool + default y + depends on !((BR2_arm || BR2_armeb) && BR2_BINFMT_FLAT) + depends on !BR2_bfin + depends on !BR2_microblaze + depends on !BR2_nios2 + depends on !BR2_or1k + comment "gdb/gdbserver needs a toolchain w/ threads, threads debug" - depends on !BR2_nios2 && !BR2_bfin + depends on BR2_PACKAGE_GDB_ARCH_SUPPORTS depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_HAS_THREADS_DEBUG config BR2_PACKAGE_GDB bool "gdb" + depends on BR2_TOOLCHAIN_HAS_THREADS && BR2_TOOLCHAIN_HAS_THREADS_DEBUG + depends on BR2_PACKAGE_GDB_ARCH_SUPPORTS # When the external toolchain gdbserver is copied to the # target, we don't allow building a separate gdbserver. The # one from the external toolchain should be used. select BR2_PACKAGE_GDB_SERVER if \ (!BR2_PACKAGE_GDB_DEBUGGER && !BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY) - depends on BR2_TOOLCHAIN_HAS_THREADS && BR2_TOOLCHAIN_HAS_THREADS_DEBUG - depends on !BR2_nios2 && !BR2_bfin help GDB, the GNU Project debugger, allows you to see what is going on `inside' another program while it executes -- or @@ -38,12 +47,12 @@ config BR2_PACKAGE_GDB_SERVER config BR2_PACKAGE_GDB_DEBUGGER bool "full debugger" - select BR2_PACKAGE_NCURSES depends on BR2_USE_WCHAR - depends on !BR2_sh && !BR2_microblaze + depends on !BR2_sh + select BR2_PACKAGE_NCURSES comment "full gdb on target needs a toolchain w/ wchar" - depends on !BR2_sh && !BR2_microblaze + depends on !BR2_sh depends on !BR2_USE_WCHAR if BR2_PACKAGE_GDB_DEBUGGER diff --git a/package/gdb/Config.in.host b/package/gdb/Config.in.host index 24e2274cc0..99e1cae5ba 100644 --- a/package/gdb/Config.in.host +++ b/package/gdb/Config.in.host @@ -1,4 +1,17 @@ +config BR2_PACKAGE_HOST_GDB_ARCH_SUPPORTS + bool + default y + # The ARC version needs C++11, thus gcc >= 4.8, like gdb-8.0.x + depends on BR2_HOST_GCC_AT_LEAST_4_8 || !BR2_arc + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_arc + depends on !((BR2_arm || BR2_armeb) && BR2_BINFMT_FLAT) + depends on !BR2_microblaze + depends on !BR2_nios2 + depends on !BR2_or1k + comment "Host GDB Options" + depends on !BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY + depends on BR2_PACKAGE_HOST_GDB_ARCH_SUPPORTS config BR2_PACKAGE_HOST_GDB bool "Build cross gdb for the host" @@ -6,7 +19,7 @@ config BR2_PACKAGE_HOST_GDB # allow to build a cross-gdb, as the one of the external # toolchain should be used. depends on !BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY - depends on !BR2_nios2 + depends on BR2_PACKAGE_HOST_GDB_ARCH_SUPPORTS help Build a cross gdb that runs on the host machine and debugs programs running on the target. It requires 'gdbserver' @@ -27,26 +40,32 @@ config BR2_PACKAGE_HOST_GDB_PYTHON config BR2_PACKAGE_HOST_GDB_SIM bool "Simulator support" - depends on !BR2_arc && !BR2_microblaze + depends on !BR2_arc help This option enables the simulator support in the cross gdb. choice prompt "GDB debugger Version" - depends on !BR2_arc - depends on !BR2_microblaze default BR2_GDB_VERSION_7_11 + depends on !BR2_arc help Select the version of gdb you wish to use. - config BR2_GDB_VERSION_7_10 - bool "gdb 7.10.x" +config BR2_GDB_VERSION_7_10 + bool "gdb 7.10.x" - config BR2_GDB_VERSION_7_11 - bool "gdb 7.11.x" +config BR2_GDB_VERSION_7_11 + bool "gdb 7.11.x" - config BR2_GDB_VERSION_7_12 - bool "gdb 7.12.x" +config BR2_GDB_VERSION_7_12 + bool "gdb 7.12.x" + +config BR2_GDB_VERSION_8_0 + bool "gdb 8.0.x" + # Needs a C++11 compiler + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_HOST_GCC_AT_LEAST_4_8 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 endchoice @@ -55,9 +74,9 @@ endif # If cross-gdb is not enabled, the latest working version is chosen. config BR2_GDB_VERSION string - depends on BR2_PACKAGE_GDB || BR2_PACKAGE_HOST_GDB - default "arc-2016.09-release-gdb" if BR2_arc - default "6be65fb56ea6694a9260733a536a023a1e2d4d57" if BR2_microblaze + default "arc-2017.09-release-gdb" if BR2_arc default "7.10.1" if BR2_GDB_VERSION_7_10 default "7.11.1" if BR2_GDB_VERSION_7_11 || !BR2_PACKAGE_HOST_GDB default "7.12.1" if BR2_GDB_VERSION_7_12 + default "8.0.1" if BR2_GDB_VERSION_8_0 + depends on BR2_PACKAGE_GDB || BR2_PACKAGE_HOST_GDB diff --git a/package/gdb/gdb.hash b/package/gdb/gdb.hash index 1e205dbe9e..62edd93792 100644 --- a/package/gdb/gdb.hash +++ b/package/gdb/gdb.hash @@ -2,7 +2,7 @@ sha512 17a5138277a31685a5c2a841cb47ed9bc4626ea617b8ca77750513b300299f4fbbffe504958b5372de610dcb952c679cf8fa9c1bdadd380294fbf59b6e366010 gdb-7.10.1.tar.xz sha512 f80ec6c8a0f0b54c8b945666e875809174402b7e121efb378ebac931a91f9a1cc0048568f8e2f42ae8ae2392ff8d144c2e51d41c7398935017450aaf29838360 gdb-7.11.1.tar.xz sha512 0ac8d0a495103611ef41167a08313a010dce6ca4c6d827cbe8558a0c1a1a8a6bfa53f1b7704251289cababbfaaf9e075550cdf741a54d6cd9ca3433d910efcd8 gdb-7.12.1.tar.xz +sha512 5eb328910033f0918058be2f92caebf1e8dfc6caa3c730d99d621627e53de3c1b43761c2f683d53555893253c2f06768cbf56cdea051a3d291ffb6cfae87b5e1 gdb-8.0.1.tar.xz # Locally calculated (fetched from Github) -sha512 0a467091d4b01fbecabb4b8da1cb743025c70e7f4874a0b5c8fa2ec623569a39bde6762b91806de0be6e63711aeb6909715cfbe43860de73d8aec6159a9f10a7 gdb-6be65fb56ea6694a9260733a536a023a1e2d4d57.tar.gz -sha512 3b204108821ba687974e61bb47f0ab91621ac233503cec6c82913bcb665a8c0cea0c8b992177b2fb6befade774c2491d94c72a1bf859f9b79d44755be05dcd64 gdb-arc-2016.09-release-gdb.tar.gz +sha512 e57582766e7d510b26bea63606429e6289414c31c60e28fef24d3d82fa20fb5a1f92b3831fde53e4f7c178c9e099609d3292628cf921a99109e297af4e5f83d9 gdb-arc-2017.09-release-gdb.tar.gz diff --git a/package/gdb/gdb.mk b/package/gdb/gdb.mk index 606f1f9600..7e86ba0c7e 100644 --- a/package/gdb/gdb.mk +++ b/package/gdb/gdb.mk @@ -14,13 +14,7 @@ GDB_SOURCE = gdb-$(GDB_VERSION).tar.gz GDB_FROM_GIT = y endif -ifeq ($(BR2_microblaze),y) -GDB_SITE = $(call github,Xilinx,gdb,$(GDB_VERSION)) -GDB_SOURCE = gdb-$(GDB_VERSION).tar.gz -GDB_FROM_GIT = y -endif - -GDB_LICENSE = GPLv2+, LGPLv2+, GPLv3+, LGPLv3+ +GDB_LICENSE = GPL-2.0+, LGPL-2.0+, GPL-3.0+, LGPL-3.0+ GDB_LICENSE_FILES = COPYING COPYING.LIB COPYING3 COPYING3.LIB # We only want gdbserver and not the entire debugger. @@ -44,14 +38,14 @@ HOST_GDB_MAKE_OPTS += MAKEINFO=true HOST_GDB_INSTALL_OPTS += MAKEINFO=true install # Apply the Xtensa specific patches -XTENSA_CORE_NAME = $(call qstrip, $(BR2_XTENSA_CORE_NAME)) -ifneq ($(XTENSA_CORE_NAME),) -define GDB_XTENSA_PRE_PATCH - tar xf $(BR2_XTENSA_OVERLAY_DIR)/xtensa_$(XTENSA_CORE_NAME).tar \ - -C $(@D) --strip-components=1 gdb +ifneq ($(ARCH_XTENSA_OVERLAY_FILE),) +define GDB_XTENSA_OVERLAY_EXTRACT + $(call arch-xtensa-overlay-extract,$(@D),gdb) endef -GDB_PRE_PATCH_HOOKS += GDB_XTENSA_PRE_PATCH -HOST_GDB_PRE_PATCH_HOOKS += GDB_XTENSA_PRE_PATCH +GDB_POST_EXTRACT_HOOKS += GDB_XTENSA_OVERLAY_EXTRACT +GDB_EXTRA_DOWNLOADS += $(ARCH_XTENSA_OVERLAY_URL) +HOST_GDB_POST_EXTRACT_HOOKS += GDB_XTENSA_OVERLAY_EXTRACT +HOST_GDB_EXTRA_DOWNLOADS += $(ARCH_XTENSA_OVERLAY_URL) endif ifeq ($(GDB_FROM_GIT),y) @@ -67,13 +61,6 @@ GDB_DISABLE_BINUTILS_CONF_OPTS = \ --disable-ld \ --disable-gas -# Starting with gdb 7.11, the bundled gnulib tries to use -# rpl_gettimeofday (gettimeofday replacement) due to the code being -# unable to determine if the replacement function should be used or -# not when cross-compiling with uClibc or musl as C libraries. So use -# gl_cv_func_gettimeofday_clobber=no to not use rpl_gettimeofday, -# assuming musl and uClibc have a properly working gettimeofday -# implementation. GDB_CONF_ENV = \ ac_cv_type_uintptr_t=yes \ gt_cv_func_gettext_libintl=yes \ @@ -83,8 +70,34 @@ GDB_CONF_ENV = \ bash_cv_must_reinstall_sighandlers=no \ bash_cv_func_sigsetjmp=present \ bash_cv_have_mbstate_t=yes \ - gdb_cv_func_sigsetjmp=yes \ - gl_cv_func_gettimeofday_clobber=no + gdb_cv_func_sigsetjmp=yes + +# Starting with gdb 7.11, the bundled gnulib tries to use +# rpl_gettimeofday (gettimeofday replacement) due to the code being +# unable to determine if the replacement function should be used or +# not when cross-compiling with uClibc or musl as C libraries. So use +# gl_cv_func_gettimeofday_clobber=no to not use rpl_gettimeofday, +# assuming musl and uClibc have a properly working gettimeofday +# implementation. It needs to be passed to GDB_CONF_ENV to build +# gdbserver only but also to GDB_MAKE_ENV, because otherwise it does +# not get passed to the configure script of nested packages while +# building gdbserver with full debugger. +GDB_CONF_ENV += gl_cv_func_gettimeofday_clobber=no +GDB_MAKE_ENV += gl_cv_func_gettimeofday_clobber=no + +# Starting with glibc 2.25, the proc_service.h header has been copied +# from gdb to glibc so other tools can use it. However, that makes it +# necessary to make sure that declaration of prfpregset_t declaration +# is consistent between gdb and glibc. In gdb, however, there is a +# workaround for a broken prfpregset_t declaration in glibc 2.3 which +# uses AC_TRY_RUN to detect if it's needed, which doesn't work in +# cross-compilation. So pass the cache option to configure. +# It needs to be passed to GDB_CONF_ENV to build gdbserver only but +# also to GDB_MAKE_ENV, because otherwise it does not get passed to the +# configure script of nested packages while building gdbserver with full +# debugger. +GDB_CONF_ENV += gdb_cv_prfpregset_t_broken=no +GDB_MAKE_ENV += gdb_cv_prfpregset_t_broken=no # The shared only build is not supported by gdb, so enable static build for # build-in libraries with --enable-static. @@ -164,7 +177,7 @@ GDB_POST_INSTALL_TARGET_HOOKS += GDB_REMOVE_UNNEEDED_FILES # does. define GDB_SDK_INSTALL_GDBSERVER $(INSTALL) -D -m 0755 $(TARGET_DIR)/usr/bin/gdbserver \ - $(HOST_DIR)/usr/$(GNU_TARGET_NAME)/debug-root/usr/bin/gdbserver + $(HOST_DIR)/$(GNU_TARGET_NAME)/debug-root/usr/bin/gdbserver endef ifeq ($(BR2_PACKAGE_GDB_SERVER),y) @@ -184,6 +197,7 @@ HOST_GDB_CONF_OPTS = \ --enable-threads \ --disable-werror \ --without-included-gettext \ + --with-curses \ $(GDB_DISABLE_BINUTILS_CONF_OPTS) ifeq ($(BR2_PACKAGE_HOST_GDB_TUI),y) @@ -193,7 +207,7 @@ HOST_GDB_CONF_OPTS += --disable-tui endif ifeq ($(BR2_PACKAGE_HOST_GDB_PYTHON),y) -HOST_GDB_CONF_OPTS += --with-python=$(HOST_DIR)/usr/bin/python2 +HOST_GDB_CONF_OPTS += --with-python=$(HOST_DIR)/bin/python2 HOST_GDB_DEPENDENCIES += host-python else HOST_GDB_CONF_OPTS += --without-python @@ -215,7 +229,7 @@ endif # legacy $arch-linux-gdb symlink define HOST_GDB_ADD_SYMLINK - cd $(HOST_DIR)/usr/bin && \ + cd $(HOST_DIR)/bin && \ ln -snf $(GNU_TARGET_NAME)-gdb $(ARCH)-linux-gdb endef diff --git a/package/gdbm/Config.in b/package/gdbm/Config.in index 8ad0fc6ce0..3646bd0588 100644 --- a/package/gdbm/Config.in +++ b/package/gdbm/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_GDBM bool "gdbm" help - GNU dbm is a set of database routines that use extensible hashing. - It works similar to the standard UNIX dbm routines. + GNU dbm is a set of database routines that use extensible + hashing. It works similar to the standard UNIX dbm routines. http://www.gnu.org/software/gdbm/gdbm.html diff --git a/package/gdbm/gdbm.hash b/package/gdbm/gdbm.hash index 9759d87072..cab712e17e 100644 --- a/package/gdbm/gdbm.hash +++ b/package/gdbm/gdbm.hash @@ -1,3 +1,5 @@ -# From http://lists.gnu.org/archive/html/info-gnu/2016-05/msg00009.html -md5 9ce96ff4c99e74295ea19040931c8fb9 gdbm-1.12.tar.gz -sha1 86513e8871bb376bc014e9e5a2d18a8e0a8ea2f5 gdbm-1.12.tar.gz +# From http://www.gnu.org.ua/software/gdbm/download.html +md5 8929dcda2a8de3fd2367bdbf66769376 gdbm-1.13.tar.gz +sha1 7f2a8301497bbcac91808b011ca533380914fd21 gdbm-1.13.tar.gz +# Locally computed +sha256 9d252cbd7d793f7b12bcceaddda98d257c14f4d1890d851c386c37207000a253 gdbm-1.13.tar.gz diff --git a/package/gdbm/gdbm.mk b/package/gdbm/gdbm.mk index 55ece8802a..acd8cd2ac2 100644 --- a/package/gdbm/gdbm.mk +++ b/package/gdbm/gdbm.mk @@ -4,14 +4,18 @@ # ################################################################################ -GDBM_VERSION = 1.12 +GDBM_VERSION = 1.13 GDBM_SITE = $(BR2_GNU_MIRROR)/gdbm -GDBM_LICENSE = GPLv3+ +GDBM_LICENSE = GPL-3.0+ GDBM_LICENSE_FILES = COPYING GDBM_INSTALL_STAGING = YES +GDBM_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) -ifeq ($(BR2_PACKAGE_GETTEXT),y) -GDBM_DEPENDENCIES += gettext +ifeq ($(BR2_PACKAGE_READLINE),y) +GDBM_CONF_OPTS += --with-readline +GDBM_DEPENDENCIES += readline +else +GDBM_CONF_OPTS += --without-readline endif $(eval $(autotools-package)) diff --git a/package/gdk-pixbuf/gdk-pixbuf.hash b/package/gdk-pixbuf/gdk-pixbuf.hash index 827b386380..9cb947f195 100644 --- a/package/gdk-pixbuf/gdk-pixbuf.hash +++ b/package/gdk-pixbuf/gdk-pixbuf.hash @@ -1,2 +1,4 @@ -# From http://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/2.36/gdk-pixbuf-2.36.4.sha256sum -sha256 0b19901c3eb0596141d2d48ddb9dac79ad1524bdf59366af58ab38fcb9ee7463 gdk-pixbuf-2.36.4.tar.xz +# From http://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/2.36/gdk-pixbuf-2.36.10.sha256sum +sha256 f8f6fa896b89475c73b6e9e8d2a2b062fc359c4b4ccb8e96470d6ab5da949ace gdk-pixbuf-2.36.10.tar.xz +# Locally calculated +sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING diff --git a/package/gdk-pixbuf/gdk-pixbuf.mk b/package/gdk-pixbuf/gdk-pixbuf.mk index 4fe6bd7b7f..e36761cb8d 100644 --- a/package/gdk-pixbuf/gdk-pixbuf.mk +++ b/package/gdk-pixbuf/gdk-pixbuf.mk @@ -5,10 +5,10 @@ ################################################################################ GDK_PIXBUF_VERSION_MAJOR = 2.36 -GDK_PIXBUF_VERSION = $(GDK_PIXBUF_VERSION_MAJOR).4 +GDK_PIXBUF_VERSION = $(GDK_PIXBUF_VERSION_MAJOR).10 GDK_PIXBUF_SOURCE = gdk-pixbuf-$(GDK_PIXBUF_VERSION).tar.xz GDK_PIXBUF_SITE = http://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/$(GDK_PIXBUF_VERSION_MAJOR) -GDK_PIXBUF_LICENSE = LGPLv2+ +GDK_PIXBUF_LICENSE = LGPL-2.0+ GDK_PIXBUF_LICENSE_FILES = COPYING GDK_PIXBUF_INSTALL_STAGING = YES GDK_PIXBUF_DEPENDENCIES = \ @@ -20,6 +20,9 @@ GDK_PIXBUF_CONF_ENV = \ ac_cv_path_GLIB_GENMARSHAL=$(LIBGLIB2_HOST_BINARY) \ gio_can_sniff=no +HOST_GDK_PIXBUF_CONF_ENV = \ + gio_can_sniff=no + GDK_PIXBUF_CONF_OPTS = --disable-glibtest ifneq ($(BR2_PACKAGE_LIBPNG),y) @@ -58,8 +61,8 @@ endif # need to sanitize (strip) them. ifeq ($(BR2_STATIC_LIBS),) define GDK_PIXBUF_UPDATE_CACHE - GDK_PIXBUF_MODULEDIR=$(HOST_DIR)/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders \ - $(HOST_DIR)/usr/bin/gdk-pixbuf-query-loaders \ + GDK_PIXBUF_MODULEDIR=$(HOST_DIR)/lib/gdk-pixbuf-2.0/2.10.0/loaders \ + $(HOST_DIR)/bin/gdk-pixbuf-query-loaders \ > $(TARGET_DIR)/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache $(SED) "s,$(HOST_DIR),,g" \ $(TARGET_DIR)/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache @@ -73,5 +76,14 @@ define GDK_PIXBUF_DISABLE_TESTS endef GDK_PIXBUF_POST_PATCH_HOOKS += GDK_PIXBUF_DISABLE_TESTS +# Target gdk-pixbuf needs loaders.cache populated to build for the +# thumbnailer. Use the host-built since it matches the target options +# regarding mime types (which is the used information). +define GDK_PIXBUF_COPY_LOADERS_CACHE + cp -f $(HOST_DIR)/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache \ + $(@D)/gdk-pixbuf +endef +GDK_PIXBUF_PRE_BUILD_HOOKS += GDK_PIXBUF_COPY_LOADERS_CACHE + $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/genext2fs/genext2fs.mk b/package/genext2fs/genext2fs.mk index 528912e9d7..dd907c8b12 100644 --- a/package/genext2fs/genext2fs.mk +++ b/package/genext2fs/genext2fs.mk @@ -6,7 +6,7 @@ GENEXT2FS_VERSION = 1.4.1 GENEXT2FS_SITE = http://downloads.sourceforge.net/project/genext2fs/genext2fs/$(GENEXT2FS_VERSION) -GENEXT2FS_LICENSE = GPLv2 +GENEXT2FS_LICENSE = GPL-2.0 GENEXT2FS_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/gengetopt/gengetopt.mk b/package/gengetopt/gengetopt.mk index b7cbc7f68a..e7c49ba527 100644 --- a/package/gengetopt/gengetopt.mk +++ b/package/gengetopt/gengetopt.mk @@ -6,7 +6,7 @@ GENGETOPT_VERSION = 2.22.6 GENGETOPT_SITE = $(BR2_GNU_MIRROR)/gengetopt -GENGETOPT_LICENSE = GPLv3+ +GENGETOPT_LICENSE = GPL-3.0+ GENGETOPT_LICENSE_FILES = COPYING LICENSE # Parallel build broken diff --git a/package/genimage/genimage.mk b/package/genimage/genimage.mk index 4343d14d48..2e7aad20c6 100644 --- a/package/genimage/genimage.mk +++ b/package/genimage/genimage.mk @@ -8,7 +8,7 @@ GENIMAGE_VERSION = 9 GENIMAGE_SOURCE = genimage-$(GENIMAGE_VERSION).tar.xz GENIMAGE_SITE = http://www.pengutronix.de/software/genimage/download HOST_GENIMAGE_DEPENDENCIES = host-pkgconf host-libconfuse -GENIMAGE_LICENSE = GPLv2 +GENIMAGE_LICENSE = GPL-2.0 GENIMAGE_LICENSE_FILES = COPYING $(eval $(host-autotools-package)) diff --git a/package/genpart/Config.in b/package/genpart/Config.in index 8d9ec795c9..64288452ea 100644 --- a/package/genpart/Config.in +++ b/package/genpart/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_GENPART bool "genpart" help - Generate a 16 byte partition table entry defined by command line - arguments and dump it to stdout. No CHS magic is done, only lba - entries are filled out. + Generate a 16 byte partition table entry defined by command + line arguments and dump it to stdout. No CHS magic is done, + only lba entries are filled out. http://www.pengutronix.de/software/genpart/index_en.html diff --git a/package/genpart/Config.in.host b/package/genpart/Config.in.host index 6cc2a59a70..d8b9eb61b0 100644 --- a/package/genpart/Config.in.host +++ b/package/genpart/Config.in.host @@ -1,8 +1,8 @@ config BR2_PACKAGE_HOST_GENPART bool "host genpart" help - Generate a 16 byte partition table entry defined by command line - arguments and dump it to stdout. No CHS magic is done, only lba - entries are filled out. + Generate a 16 byte partition table entry defined by command + line arguments and dump it to stdout. No CHS magic is done, + only lba entries are filled out. http://www.pengutronix.de/software/genpart/index_en.html diff --git a/package/genromfs/genromfs.mk b/package/genromfs/genromfs.mk index 8db0899812..fd696b45b2 100644 --- a/package/genromfs/genromfs.mk +++ b/package/genromfs/genromfs.mk @@ -6,7 +6,7 @@ GENROMFS_VERSION = 0.5.2 GENROMFS_SITE = http://downloads.sourceforge.net/project/romfs/genromfs/$(GENROMFS_VERSION) -GENROMFS_LICENSE = GPLv2+ +GENROMFS_LICENSE = GPL-2.0+ GENROMFS_LICENSE_FILES = COPYING define GENROMFS_BUILD_CMDS @@ -16,6 +16,8 @@ define GENROMFS_BUILD_CMDS LDFLAGS="$(TARGET_LDFLAGS)" endef +# "PREFIX" is the equivalent of DESTDIR in autotools, "prefix" is the +# traditional prefix. "prefix" defaults to /usr so no need to set it. define GENROMFS_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) PREFIX=$(TARGET_DIR) install endef @@ -25,7 +27,7 @@ define HOST_GENROMFS_BUILD_CMDS endef define HOST_GENROMFS_INSTALL_CMDS - $(HOST_MAKE_ENV) $(MAKE) -C $(@D) PREFIX=$(HOST_DIR) install + $(HOST_MAKE_ENV) $(MAKE) -C $(@D) prefix=$(HOST_DIR) install endef $(eval $(generic-package)) diff --git a/package/geoip/geoip.hash b/package/geoip/geoip.hash index 505c38f941..2b1f7433c9 100644 --- a/package/geoip/geoip.hash +++ b/package/geoip/geoip.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 4b446491843de67c1af9b887da17a3e5939e0aeed4826923a5f4bf09d845096f GeoIP-1.6.9.tar.gz +sha256 b0e5a92200b5ab540d118983f7b7191caf4faf1ae879c44afa3ff2a2abcdb0f5 GeoIP-1.6.11.tar.gz diff --git a/package/geoip/geoip.mk b/package/geoip/geoip.mk index cf3bc1a042..030c7b3683 100644 --- a/package/geoip/geoip.mk +++ b/package/geoip/geoip.mk @@ -4,11 +4,11 @@ # ################################################################################ -GEOIP_VERSION = 1.6.9 +GEOIP_VERSION = 1.6.11 GEOIP_SOURCE = GeoIP-$(GEOIP_VERSION).tar.gz GEOIP_SITE = https://github.com/maxmind/geoip-api-c/releases/download/v$(GEOIP_VERSION) GEOIP_INSTALL_STAGING = YES -GEOIP_LICENSE = LGPLv2.1+ +GEOIP_LICENSE = LGPL-2.1+ GEOIP_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/gesftpserver/Config.in b/package/gesftpserver/Config.in index 81cbce9f33..bce47700c0 100644 --- a/package/gesftpserver/Config.in +++ b/package/gesftpserver/Config.in @@ -1,9 +1,9 @@ config BR2_PACKAGE_GESFTPSERVER bool "gesftpserver" - select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE help Green End SFTP Server diff --git a/package/gesftpserver/gesftpserver.hash b/package/gesftpserver/gesftpserver.hash index b4c9fdf52c..1a8a5f3492 100644 --- a/package/gesftpserver/gesftpserver.hash +++ b/package/gesftpserver/gesftpserver.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 5f744c38df9bb82f5ab500858a0fb4767ac3ee2254301da03cbcf8e6c587cbf5 sftpserver-0.2.1.tar.gz +sha256 8ac1938d0f62a05799b2aeab489d6ce098c3fe53280a9b66c0957b1fdcbcbab9 sftpserver-0.2.2.tar.gz diff --git a/package/gesftpserver/gesftpserver.mk b/package/gesftpserver/gesftpserver.mk index 25c947a78b..58c6270a09 100644 --- a/package/gesftpserver/gesftpserver.mk +++ b/package/gesftpserver/gesftpserver.mk @@ -4,10 +4,10 @@ # ################################################################################ -GESFTPSERVER_VERSION = 0.2.1 +GESFTPSERVER_VERSION = 0.2.2 GESFTPSERVER_SOURCE = sftpserver-$(GESFTPSERVER_VERSION).tar.gz GESFTPSERVER_SITE = http://www.greenend.org.uk/rjk/sftpserver -GESFTPSERVER_LICENSE = GPLv2+ +GESFTPSERVER_LICENSE = GPL-2.0+ GESFTPSERVER_LICENSE_FILES = COPYING # forgets to link against pthread when cross compiling GESFTPSERVER_CONF_ENV = LIBS=-lpthread diff --git a/package/getent/getent.mk b/package/getent/getent.mk index ed249e8d45..4e3eaea069 100644 --- a/package/getent/getent.mk +++ b/package/getent/getent.mk @@ -4,7 +4,7 @@ # ################################################################################ -GETENT_LICENSE = LGPLv2.1+ +GETENT_LICENSE = LGPL-2.1+ # For glibc toolchains, we use the getent program built/installed by # the C library. For other toolchains, we use the wrapper script diff --git a/package/gettext/0002-Update-after-gnulib-changed.patch b/package/gettext/0002-Update-after-gnulib-changed.patch new file mode 100644 index 0000000000..5f5e5f6c25 --- /dev/null +++ b/package/gettext/0002-Update-after-gnulib-changed.patch @@ -0,0 +1,86 @@ +From a6f9caf8cc7614665d1be694485dd7bc30399e0f Mon Sep 17 00:00:00 2001 +From: Bruno Haible +Date: Tue, 16 May 2017 00:27:57 +0200 +Subject: [PATCH] Update after gnulib changed. + +For buildroot we only need to update wint_t.m4 to fix autoreconf with +certain packages which already contain the updated version of this file. +Otherwise autoreconf will break: + +http://git.net/ml/bug-gnulib-gnu/2017-01/msg00067.html +https://git.busybox.net/buildroot/commit/package/wget?id=c36f0d65ad63589f1b21833ef53d429c018b6f8a + +Patch backported from upstream commit: +http://git.savannah.gnu.org/cgit/gettext.git/commit/?id=a6f9caf8cc7614665d1be694485dd7bc30399e0f + +Needed for coreutils bump to 8.27 + +Signed-off-by: Bernd Kuhls + +diff --git a/gettext-runtime/m4/wint_t.m4 b/gettext-runtime/m4/wint_t.m4 +index 8ff2a5b5a..d30b8bcf8 100644 +--- a/gettext-runtime/m4/wint_t.m4 ++++ b/gettext-runtime/m4/wint_t.m4 +@@ -1,11 +1,12 @@ +-# wint_t.m4 serial 5 (gettext-0.18.2) +-dnl Copyright (C) 2003, 2007-2016 Free Software Foundation, Inc. ++# wint_t.m4 serial 7 ++dnl Copyright (C) 2003, 2007-2017 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, + dnl with or without modifications, as long as this notice is preserved. + + dnl From Bruno Haible. +-dnl Test whether has the 'wint_t' type. ++dnl Test whether has the 'wint_t' type and whether gnulib's ++dnl or would, if present, override 'wint_t'. + dnl Prerequisite: AC_PROG_CC + + AC_DEFUN([gt_TYPE_WINT_T], +@@ -28,5 +29,46 @@ AC_DEFUN([gt_TYPE_WINT_T], + [gt_cv_c_wint_t=no])]) + if test $gt_cv_c_wint_t = yes; then + AC_DEFINE([HAVE_WINT_T], [1], [Define if you have the 'wint_t' type.]) ++ ++ dnl Determine whether gnulib's or would, if present, ++ dnl override 'wint_t'. ++ AC_CACHE_CHECK([whether wint_t is too small], ++ [gl_cv_type_wint_t_too_small], ++ [AC_COMPILE_IFELSE( ++ [AC_LANG_PROGRAM([[ ++/* Tru64 with Desktop Toolkit C has a bug: must be included before ++ . ++ BSD/OS 4.0.1 has a bug: , and must be ++ included before . */ ++#if !(defined __GLIBC__ && !defined __UCLIBC__) ++# include ++# include ++# include ++#endif ++#include ++ int verify[sizeof (wint_t) < sizeof (int) ? -1 : 1]; ++ ]])], ++ [gl_cv_type_wint_t_too_small=no], ++ [gl_cv_type_wint_t_too_small=yes])]) ++ if test $gl_cv_type_wint_t_too_small = yes; then ++ GNULIB_OVERRIDES_WINT_T=1 ++ else ++ GNULIB_OVERRIDES_WINT_T=0 ++ fi ++ else ++ GNULIB_OVERRIDES_WINT_T=0 ++ fi ++ AC_SUBST([GNULIB_OVERRIDES_WINT_T]) ++]) ++ ++dnl Prerequisites of the 'wint_t' override. ++AC_DEFUN([gl_TYPE_WINT_T_PREREQ], ++[ ++ AC_CHECK_HEADERS_ONCE([crtdefs.h]) ++ if test $ac_cv_header_crtdefs_h = yes; then ++ HAVE_CRTDEFS_H=1 ++ else ++ HAVE_CRTDEFS_H=0 + fi ++ AC_SUBST([HAVE_CRTDEFS_H]) + ]) diff --git a/package/gettext/Config.in b/package/gettext/Config.in index 7871a480a8..60f8d4fdc8 100644 --- a/package/gettext/Config.in +++ b/package/gettext/Config.in @@ -12,6 +12,14 @@ config BR2_PACKAGE_GETTEXT http://www.gnu.org/software/gettext/ +if BR2_PACKAGE_GETTEXT + +config BR2_PACKAGE_GETTEXT_PROVIDES_LIBINTL + bool + depends on !BR2_TOOLCHAIN_HAS_FULL_GETTEXT + default y if BR2_SYSTEM_ENABLE_NLS + +endif + comment "gettext needs a toolchain w/ wchar" - depends on BR2_NEEDS_GETTEXT depends on !BR2_USE_WCHAR diff --git a/package/gettext/gettext.hash b/package/gettext/gettext.hash index cff6eb1090..a2ab298760 100644 --- a/package/gettext/gettext.hash +++ b/package/gettext/gettext.hash @@ -1,3 +1,5 @@ # From http://lists.gnu.org/archive/html/bug-gettext/2016-06/msg00008.html md5 df3f5690eaa30fd228537b00cb7b7590 gettext-0.19.8.1.tar.xz sha1 e0fe90ede22f7f16bbde7bdea791a835f2773fc9 gettext-0.19.8.1.tar.xz +# License files, locally calculated +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/gettext/gettext.mk b/package/gettext/gettext.mk index 1435388ead..ec9588f8ad 100644 --- a/package/gettext/gettext.mk +++ b/package/gettext/gettext.mk @@ -8,9 +8,10 @@ GETTEXT_VERSION = 0.19.8.1 GETTEXT_SITE = $(BR2_GNU_MIRROR)/gettext GETTEXT_SOURCE = gettext-$(GETTEXT_VERSION).tar.xz GETTEXT_INSTALL_STAGING = YES -GETTEXT_LICENSE = LGPLv2.1+ (libintl), GPLv3+ (the rest) +GETTEXT_LICENSE = LGPL-2.1+ (libintl), GPL-3.0+ (the rest) GETTEXT_LICENSE_FILES = COPYING gettext-runtime/intl/COPYING.LIB - +# 0002-Update-after-gnulib-changed.patch +GETTEXT_AUTORECONF = YES GETTEXT_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBICONV),libiconv) # Avoid using the bundled subset of libxml2 @@ -38,6 +39,14 @@ HOST_GETTEXT_CONF_OPTS = \ --disable-relocatable \ --without-emacs +# Force the build of libintl, even if the C library provides a stub +# gettext implementation +ifeq ($(BR2_PACKAGE_GETTEXT_PROVIDES_LIBINTL),y) +GETTEXT_CONF_OPTS += --with-included-gettext +else +GETTEXT_CONF_OPTS += --without-included-gettext +endif + # For the target version, we only need the runtime, and for the host # version, we only need the tools. GETTEXT_SUBDIR = gettext-runtime @@ -71,7 +80,7 @@ endif # Disable interactive confirmation in host gettextize for package fixups define HOST_GETTEXT_GETTEXTIZE_CONFIRMATION - $(SED) '/read dummy/d' $(HOST_DIR)/usr/bin/gettextize + $(SED) '/read dummy/d' $(HOST_DIR)/bin/gettextize endef HOST_GETTEXT_POST_INSTALL_HOOKS += HOST_GETTEXT_GETTEXTIZE_CONFIRMATION @@ -80,12 +89,12 @@ HOST_GETTEXT_POST_INSTALL_HOOKS += HOST_GETTEXT_GETTEXTIZE_CONFIRMATION # host, so do it manually define HOST_GETTEXT_ADD_ABOUT_NLS $(INSTALL) -m 0644 $(@D)/$(HOST_GETTEXT_SUBDIR)/ABOUT-NLS \ - $(HOST_DIR)/usr/share/gettext/ABOUT-NLS + $(HOST_DIR)/share/gettext/ABOUT-NLS endef HOST_GETTEXT_POST_INSTALL_HOOKS += HOST_GETTEXT_ADD_ABOUT_NLS -GETTEXTIZE = $(HOST_CONFIGURE_OPTS) AUTOM4TE=$(HOST_DIR)/usr/bin/autom4te $(HOST_DIR)/usr/bin/gettextize -f +GETTEXTIZE = $(HOST_CONFIGURE_OPTS) AUTOM4TE=$(HOST_DIR)/bin/autom4te $(HOST_DIR)/bin/gettextize -f $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/gflags/gflags.hash b/package/gflags/gflags.hash index 5b224113d9..3cae2b03bb 100644 --- a/package/gflags/gflags.hash +++ b/package/gflags/gflags.hash @@ -1,2 +1,5 @@ # Locally computed -sha256 d8331bd0f7367c8afd5fcb5f5e85e96868a00fd24b7276fa5fcee1e5575c2662 gflags-v2.1.2.tar.gz +sha256 466c36c6508a451734e4f4d76825cf9cd9b8716d2b70ef36479ae40f08271f88 gflags-v2.2.0.tar.gz + +# Hash for license file: +sha256 90d1f3701813c3cd65eee2dc736746fe46b465918f3f7d6d31463a2018b33fa5 COPYING.txt diff --git a/package/gflags/gflags.mk b/package/gflags/gflags.mk index 89111ed987..45186a33c6 100644 --- a/package/gflags/gflags.mk +++ b/package/gflags/gflags.mk @@ -4,10 +4,10 @@ # ################################################################################ -GFLAGS_VERSION = v2.1.2 +GFLAGS_VERSION = v2.2.0 GFLAGS_SITE = $(call github,gflags,gflags,$(GFLAGS_VERSION)) GFLAGS_INSTALL_STAGING = YES -GFLAGS_LICENSE = BSD-3c +GFLAGS_LICENSE = BSD-3-Clause GFLAGS_LICENSE_FILES = COPYING.txt ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),) diff --git a/package/ghostscript-fonts/Config.in b/package/ghostscript-fonts/Config.in index 80bfbd03ef..9b9b8d0cd2 100644 --- a/package/ghostscript-fonts/Config.in +++ b/package/ghostscript-fonts/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_GHOSTSCRIPT_FONTS bool "ghostscript-fonts" help - Fonts and font metrics customarily distributed with Ghostscript. - Currently includes the 35 standard PostScript fonts and a - grab-bag of others. + Fonts and font metrics customarily distributed with + Ghostscript. Currently includes the 35 standard PostScript + fonts and a grab-bag of others. http://sourceforge.net/projects/gs-fonts diff --git a/package/ghostscript-fonts/ghostscript-fonts.mk b/package/ghostscript-fonts/ghostscript-fonts.mk index fa5c4b7e97..156eb4c31f 100644 --- a/package/ghostscript-fonts/ghostscript-fonts.mk +++ b/package/ghostscript-fonts/ghostscript-fonts.mk @@ -7,7 +7,7 @@ GHOSTSCRIPT_FONTS_VERSION = 8.11 GHOSTSCRIPT_FONTS_SITE = http://downloads.sourceforge.net/project/gs-fonts/gs-fonts/8.11%20%28base%2035%2C%20GPL%29 GHOSTSCRIPT_FONTS_SOURCE = ghostscript-fonts-std-$(GHOSTSCRIPT_FONTS_VERSION).tar.gz -GHOSTSCRIPT_FONTS_LICENSE = GPLv2 +GHOSTSCRIPT_FONTS_LICENSE = GPL-2.0 GHOSTSCRIPT_FONTS_LICENSE_FILES = COPYING GHOSTSCRIPT_FONTS_TARGET_DIR = $(TARGET_DIR)/usr/share/fonts/gs diff --git a/package/ghostscript/0001-Fix-cross-compilation-issue.patch b/package/ghostscript/0001-Fix-cross-compilation-issue.patch new file mode 100644 index 0000000000..57e1be61ca --- /dev/null +++ b/package/ghostscript/0001-Fix-cross-compilation-issue.patch @@ -0,0 +1,32 @@ +From 5fed765abb8ff07c381cc3ebb9367e9560f7a658 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Mon, 20 Mar 2017 23:43:03 +0100 +Subject: [PATCH] Fix cross compilation issue + +Without this patch unsafe paths are used: +x86_64-linux-gcc: ERROR: unsafe header/library path used in cross-compilation: '/libtiff' + +Downloaded from +http://bugs.ghostscript.com/show_bug.cgi?id=696508#c3 + +Signed-off-by: Bernd Kuhls +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index d0f62d7..0d49344 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1173,7 +1173,7 @@ XPSWRITEDEVICE='' + + + LIBTIFFDIR='src' +-LIBTIFFCONFDIR='' ++LIBTIFFCONFDIR='src' + + TIFFDEVS_ALL='tiffs tiff12nc tiff24nc tiff48nc tiff32nc tiff64nc tiffcrle tifflzw tiffpack tiffgray tiffsep tiffsep1 tiffscaled tiffscaled4 tiffscaled8 tiffscaled24 tiffscaled32' + FAX_DEVS_ALL='cfax dfaxlow dfaxhigh fax faxg3 faxg32d faxg4 tiffg3 tiffg32d tiffg4 tfax' +-- +2.7.4 + diff --git a/package/ghostscript/Config.in b/package/ghostscript/Config.in new file mode 100644 index 0000000000..023ef5f2ba --- /dev/null +++ b/package/ghostscript/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_GHOSTSCRIPT + bool "ghostscript" + depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_FONTCONFIG + select BR2_PACKAGE_GHOSTSCRIPT_FONTS + select BR2_PACKAGE_JPEG + select BR2_PACKAGE_LCMS2 + select BR2_PACKAGE_LIBPNG + select BR2_PACKAGE_TIFF + help + Ghostscript is an interpreter for PostScript and Portable + Document Format (PDF) files. + + http://ghostscript.com diff --git a/package/ghostscript/ghostscript.hash b/package/ghostscript/ghostscript.hash new file mode 100644 index 0000000000..2b36e34831 --- /dev/null +++ b/package/ghostscript/ghostscript.hash @@ -0,0 +1,4 @@ +# From https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs922/SHA256SUMS +sha256 c1f862e6f40f997dbe3feba89355e8cb05d55818994e10f4932b0dd9b627d1bb ghostscript-9.22.tar.xz +# From https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs922/SHA512SUMS +sha512 67739ace64090ab1951cba4cb011a5a6829ee60b32ba4157d0f17e744e345ea268335304db6722677ae33565ea5b696c2ff7b889d42a463acf2933c8230523d4 ghostscript-9.22.tar.xz diff --git a/package/ghostscript/ghostscript.mk b/package/ghostscript/ghostscript.mk new file mode 100644 index 0000000000..aa3f63b26e --- /dev/null +++ b/package/ghostscript/ghostscript.mk @@ -0,0 +1,63 @@ +################################################################################ +# +# ghostscript +# +################################################################################ + +GHOSTSCRIPT_VERSION = 9.22 +GHOSTSCRIPT_SITE = https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs922 +GHOSTSCRIPT_SOURCE = ghostscript-$(GHOSTSCRIPT_VERSION).tar.xz +GHOSTSCRIPT_LICENSE = AGPL-3.0 +GHOSTSCRIPT_LICENSE_FILES = LICENSE +# 0001-Fix-cross-compilation-issue.patch +GHOSTSCRIPT_AUTORECONF = YES +GHOSTSCRIPT_DEPENDENCIES = \ + host-lcms2 \ + host-libjpeg \ + host-pkgconf \ + host-zlib \ + fontconfig \ + ghostscript-fonts \ + jpeg \ + lcms2 \ + libpng \ + tiff + +# Ghostscript includes (old) copies of several libraries, delete them. +# Inspired by linuxfromscratch: +# http://www.linuxfromscratch.org/blfs/view/svn/pst/gs.html +define GHOSTSCRIPT_REMOVE_LIBS + rm -rf $(@D)/freetype $(@D)/ijs $(@D)/jpeg $(@D)/lcms2 $(@D)/libpng $(@D)/tiff $(@D)/zlib +endef +GHOSTSCRIPT_POST_PATCH_HOOKS += GHOSTSCRIPT_REMOVE_LIBS + +GHOSTSCRIPT_CONF_ENV = \ + CCAUX="$(HOSTCC)" \ + CFLAGSAUX="$(HOST_CFLAGS) $(HOST_LDFLAGS)" + +GHOSTSCRIPT_CONF_OPTS = \ + --disable-compile-inits \ + --disable-cups \ + --enable-fontconfig \ + --with-fontpath=$(GHOSTSCRIPT_FONTS_TARGET_DIR) \ + --enable-freetype \ + --disable-gtk \ + --without-jbig2dec \ + --without-libpaper \ + --with-system-libtiff + +ifeq ($(BR2_PACKAGE_LIBIDN),y) +GHOSTSCRIPT_DEPENDENCIES += libidn +GHOSTSCRIPT_CONF_OPTS += --with-libidn +else +GHOSTSCRIPT_CONF_OPTS += --without-libidn +endif + +ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y) +GHOSTSCRIPT_DEPENDENCIES += xlib_libX11 +GHOSTSCRIPT_CONF_OPTS += --with-x +else +GHOSTSCRIPT_CONF_OPTS += --without-x +endif + +$(eval $(autotools-package)) diff --git a/package/giflib/giflib.mk b/package/giflib/giflib.mk index 799ae73226..c1471de408 100644 --- a/package/giflib/giflib.mk +++ b/package/giflib/giflib.mk @@ -13,8 +13,8 @@ GIFLIB_LICENSE_FILES = COPYING GIFLIB_BINS = \ gif2epsn gif2ps gif2rgb gif2x11 gifasm gifbg gifbuild gifburst gifclip \ - gifclrmp gifcolor gifcomb gifcompose gifecho giffiltr giffix gifflip \ - gifhisto gifinfo gifinter gifinto gifovly gifpos gifrotat \ + gifclrmp gifcolor gifcomb gifcompose gifecho giffiltr giffix gifflip \ + gifhisto gifinfo gifinter gifinto gifovly gifpos gifrotat \ gifrsize gifspnge giftext giftool gifwedge icon2gif raw2gif rgb2gif \ text2gif diff --git a/package/git-crypt/git-crypt.mk b/package/git-crypt/git-crypt.mk index 7785ddcfd9..6cae456fd3 100644 --- a/package/git-crypt/git-crypt.mk +++ b/package/git-crypt/git-crypt.mk @@ -7,7 +7,7 @@ GIT_CRYPT_VERSION = 0.5.0 GIT_CRYPT_SITE = https://www.agwa.name/projects/git-crypt/downloads GIT_CRYPT_DEPENDENCIES = host-pkgconf openssl -GIT_CRYPT_LICENSE = GPLv3+, MIT +GIT_CRYPT_LICENSE = GPL-3.0+, MIT GIT_CRYPT_LICENSE_FILES = COPYING parse_options.hpp GIT_CRYPT_LIBS = `$(PKG_CONFIG_HOST_BINARY) --libs openssl` diff --git a/package/git/Config.in b/package/git/Config.in index 9babbecf06..d53921d7d5 100644 --- a/package/git/Config.in +++ b/package/git/Config.in @@ -4,7 +4,8 @@ config BR2_PACKAGE_GIT select BR2_PACKAGE_ZLIB select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE help - Git is a free and open source distributed version control system - designed to handle everything from small to very large projects. + Git is a free and open source distributed version control + system designed to handle everything from small to very large + projects. http://git-scm.com diff --git a/package/git/git.hash b/package/git/git.hash index 07ed47bd03..79a386eb72 100644 --- a/package/git/git.hash +++ b/package/git/git.hash @@ -1,2 +1,4 @@ # From: https://www.kernel.org/pub/software/scm/git/sha256sums.asc -sha256 c0a779cae325d48a1d5ba08b6ee1febcc31d0657a6da01fd1dec1c6e10976415 git-2.11.1.tar.xz +sha256 107116489f10b758b51af1c5dbdb9a274917b0fb67dc8eaefcdabc7bc3eb3e6a git-2.15.0.tar.xz +sha256 5b2198d1645f767585e8a88ac0499b04472164c0d2da22e75ecf97ef443ab32e COPYING +sha256 1922f45d2c49e390032c9c0ba6d7cac904087f7cec51af30c2b2ad022ce0e76a LGPL-2.1 diff --git a/package/git/git.mk b/package/git/git.mk index 1c15740076..181e7421e2 100644 --- a/package/git/git.mk +++ b/package/git/git.mk @@ -4,12 +4,12 @@ # ################################################################################ -GIT_VERSION = 2.11.1 +GIT_VERSION = 2.15.0 GIT_SOURCE = git-$(GIT_VERSION).tar.xz -GIT_SITE = https://www.kernel.org/pub/software/scm/git -GIT_LICENSE = GPLv2, LGPLv2.1+ +GIT_SITE = $(BR2_KERNEL_MIRROR)/software/scm/git +GIT_LICENSE = GPL-2.0, LGPL-2.1+ GIT_LICENSE_FILES = COPYING LGPL-2.1 -GIT_DEPENDENCIES = zlib host-gettext +GIT_DEPENDENCIES = zlib $(TARGET_NLS_DEPENDENCIES) ifeq ($(BR2_PACKAGE_OPENSSL),y) GIT_DEPENDENCIES += openssl @@ -19,9 +19,10 @@ else GIT_CONF_OPTS += --without-openssl endif -ifeq ($(BR2_PACKAGE_PERL),y) -GIT_DEPENDENCIES += perl +ifeq ($(BR2_PACKAGE_PCRE),y) +GIT_DEPENDENCIES += pcre GIT_CONF_OPTS += --with-libpcre +GIT_MAKE_OPTS += NO_LIBPCRE1_JIT=1 else GIT_CONF_OPTS += --without-libpcre endif @@ -29,7 +30,7 @@ endif ifeq ($(BR2_PACKAGE_LIBCURL),y) GIT_DEPENDENCIES += libcurl GIT_CONF_OPTS += --with-curl -GIT_CONF_ENV += \ +GIT_CONF_ENV += \ ac_cv_prog_curl_config=$(STAGING_DIR)/usr/bin/$(LIBCURL_CONFIG_SCRIPTS) else GIT_CONF_OPTS += --without-curl @@ -57,6 +58,12 @@ else GIT_CONF_OPTS += --without-tcltk endif +ifeq ($(BR2_SYSTEM_ENABLE_NLS),) +GIT_MAKE_OPTS += NO_GETTEXT=1 +endif + +GIT_INSTALL_TARGET_OPTS = $(GIT_MAKE_OPTS) DESTDIR=$(TARGET_DIR) install + # assume yes for these tests, configure will bail out otherwise # saying error: cannot run test program while cross compiling GIT_CONF_ENV += \ diff --git a/package/glib-networking/Config.in b/package/glib-networking/Config.in index 01d8552f80..ec2962392c 100644 --- a/package/glib-networking/Config.in +++ b/package/glib-networking/Config.in @@ -4,7 +4,6 @@ config BR2_PACKAGE_GLIB_NETWORKING depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 depends on BR2_USE_MMU # glib2 select BR2_PACKAGE_LIBGLIB2 - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT help Network-related GIO modules for glib. diff --git a/package/glib-networking/glib-networking.mk b/package/glib-networking/glib-networking.mk index d3077e9a9b..10a3b706b3 100644 --- a/package/glib-networking/glib-networking.mk +++ b/package/glib-networking/glib-networking.mk @@ -10,13 +10,13 @@ GLIB_NETWORKING_SITE = http://ftp.gnome.org/pub/gnome/sources/glib-networking/$( GLIB_NETWORKING_SOURCE = glib-networking-$(GLIB_NETWORKING_VERSION).tar.xz GLIB_NETWORKING_INSTALL_STAGING = YES GLIB_NETWORKING_DEPENDENCIES = \ - $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) \ + $(TARGET_NLS_DEPENDENCIES) \ host-pkgconf \ host-intltool \ libglib2 GLIB_NETWORKING_CONF_OPTS = \ --with-ca-certificates=/etc/ssl/certs/ca-certificates.crt -GLIB_NETWORKING_LICENSE = LGPLv2+ +GLIB_NETWORKING_LICENSE = LGPL-2.0+ GLIB_NETWORKING_LICENSE_FILES = COPYING GLIB_NETWORKING_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) \ GIO_MODULE_DIR=/usr/lib/gio/modules install diff --git a/package/glibc/2.22/0001-fix-CVE-2015-7547.patch b/package/glibc/2.22/0001-fix-CVE-2015-7547.patch deleted file mode 100644 index 19b8b6ebd8..0000000000 --- a/package/glibc/2.22/0001-fix-CVE-2015-7547.patch +++ /dev/null @@ -1,236 +0,0 @@ -Fetched from gentoo glibc patchball -Original patch filename: 10_all_glibc-CVE-2015-7547.patch -Based on: https://sourceware.org/ml/libc-alpha/2016-02/msg00416.html - -Fixes: -CVE-2015-7547 - glibc getaddrinfo stack-based buffer overflow. - -Signed-off-by: Gustavo Zacarias - ---- a/resolv/nss_dns/dns-host.c -+++ b/resolv/nss_dns/dns-host.c -@@ -1031,7 +1031,10 @@ gaih_getanswer_slice (const querybuf *answer, int anslen, const char *qname, - int h_namelen = 0; - - if (ancount == 0) -- return NSS_STATUS_NOTFOUND; -+ { -+ *h_errnop = HOST_NOT_FOUND; -+ return NSS_STATUS_NOTFOUND; -+ } - - while (ancount-- > 0 && cp < end_of_message && had_error == 0) - { -@@ -1208,7 +1211,14 @@ gaih_getanswer_slice (const querybuf *answer, int anslen, const char *qname, - /* Special case here: if the resolver sent a result but it only - contains a CNAME while we are looking for a T_A or T_AAAA record, - we fail with NOTFOUND instead of TRYAGAIN. */ -- return canon == NULL ? NSS_STATUS_TRYAGAIN : NSS_STATUS_NOTFOUND; -+ if (canon != NULL) -+ { -+ *h_errnop = HOST_NOT_FOUND; -+ return NSS_STATUS_NOTFOUND; -+ } -+ -+ *h_errnop = NETDB_INTERNAL; -+ return NSS_STATUS_TRYAGAIN; - } - - -@@ -1242,8 +1252,15 @@ gaih_getanswer (const querybuf *answer1, int anslen1, const querybuf *answer2, - &pat, &buffer, &buflen, - errnop, h_errnop, ttlp, - &first); -+ /* Use the second response status in some cases. */ - if (status != NSS_STATUS_SUCCESS && status2 != NSS_STATUS_NOTFOUND) - status = status2; -+ /* Do not return a truncated second response (unless it was -+ unavoidable e.g. unrecoverable TRYAGAIN). */ -+ if (status == NSS_STATUS_SUCCESS -+ && (status2 == NSS_STATUS_TRYAGAIN -+ && *errnop == ERANGE && *h_errnop != NO_RECOVERY)) -+ status = NSS_STATUS_TRYAGAIN; - } - - return status; ---- a/resolv/res_query.c -+++ b/resolv/res_query.c -@@ -396,6 +396,7 @@ __libc_res_nsearch(res_state statp, - { - free (*answerp2); - *answerp2 = NULL; -+ *nanswerp2 = 0; - *answerp2_malloced = 0; - } - } -@@ -447,6 +448,7 @@ __libc_res_nsearch(res_state statp, - { - free (*answerp2); - *answerp2 = NULL; -+ *nanswerp2 = 0; - *answerp2_malloced = 0; - } - -@@ -521,6 +523,7 @@ __libc_res_nsearch(res_state statp, - { - free (*answerp2); - *answerp2 = NULL; -+ *nanswerp2 = 0; - *answerp2_malloced = 0; - } - if (saved_herrno != -1) ---- a/resolv/res_send.c -+++ b/resolv/res_send.c -@@ -639,11 +639,7 @@ send_vc(res_state statp, - { - const HEADER *hp = (HEADER *) buf; - const HEADER *hp2 = (HEADER *) buf2; -- u_char *ans = *ansp; -- int orig_anssizp = *anssizp; -- // XXX REMOVE -- // int anssiz = *anssizp; -- HEADER *anhp = (HEADER *) ans; -+ HEADER *anhp = (HEADER *) *ansp; - struct sockaddr *nsap = get_nsaddr (statp, ns); - int truncating, connreset, n; - /* On some architectures compiler might emit a warning indicating -@@ -767,35 +763,6 @@ send_vc(res_state statp, - assert (anscp != NULL || ansp2 == NULL); - thisresplenp = &resplen; - } else { -- if (*anssizp != MAXPACKET) { -- /* No buffer allocated for the first -- reply. We can try to use the rest -- of the user-provided buffer. */ --#if __GNUC_PREREQ (4, 7) -- DIAG_PUSH_NEEDS_COMMENT; -- DIAG_IGNORE_NEEDS_COMMENT (5, "-Wmaybe-uninitialized"); --#endif --#if _STRING_ARCH_unaligned -- *anssizp2 = orig_anssizp - resplen; -- *ansp2 = *ansp + resplen; --#else -- int aligned_resplen -- = ((resplen + __alignof__ (HEADER) - 1) -- & ~(__alignof__ (HEADER) - 1)); -- *anssizp2 = orig_anssizp - aligned_resplen; -- *ansp2 = *ansp + aligned_resplen; --#endif --#if __GNUC_PREREQ (4, 7) -- DIAG_POP_NEEDS_COMMENT; --#endif -- } else { -- /* The first reply did not fit into the -- user-provided buffer. Maybe the second -- answer will. */ -- *anssizp2 = orig_anssizp; -- *ansp2 = *ansp; -- } -- - thisanssizp = anssizp2; - thisansp = ansp2; - thisresplenp = resplen2; -@@ -804,10 +771,14 @@ send_vc(res_state statp, - anhp = (HEADER *) *thisansp; - - *thisresplenp = rlen; -- if (rlen > *thisanssizp) { -- /* Yes, we test ANSCP here. If we have two buffers -- both will be allocatable. */ -- if (__glibc_likely (anscp != NULL)) { -+ /* Is the answer buffer too small? */ -+ if (*thisanssizp < rlen) { -+ /* If the current buffer is not the the static -+ user-supplied buffer then we can reallocate -+ it. */ -+ if (thisansp != NULL && thisansp != ansp) { -+ /* Always allocate MAXPACKET, callers expect -+ this specific size. */ - u_char *newp = malloc (MAXPACKET); - if (newp == NULL) { - *terrno = ENOMEM; -@@ -957,8 +928,6 @@ send_dg(res_state statp, - { - const HEADER *hp = (HEADER *) buf; - const HEADER *hp2 = (HEADER *) buf2; -- u_char *ans = *ansp; -- int orig_anssizp = *anssizp; - struct timespec now, timeout, finish; - struct pollfd pfd[1]; - int ptimeout; -@@ -1154,50 +1123,48 @@ send_dg(res_state statp, - assert (anscp != NULL || ansp2 == NULL); - thisresplenp = &resplen; - } else { -- if (*anssizp != MAXPACKET) { -- /* No buffer allocated for the first -- reply. We can try to use the rest -- of the user-provided buffer. */ --#if _STRING_ARCH_unaligned -- *anssizp2 = orig_anssizp - resplen; -- *ansp2 = *ansp + resplen; --#else -- int aligned_resplen -- = ((resplen + __alignof__ (HEADER) - 1) -- & ~(__alignof__ (HEADER) - 1)); -- *anssizp2 = orig_anssizp - aligned_resplen; -- *ansp2 = *ansp + aligned_resplen; --#endif -- } else { -- /* The first reply did not fit into the -- user-provided buffer. Maybe the second -- answer will. */ -- *anssizp2 = orig_anssizp; -- *ansp2 = *ansp; -- } -- - thisanssizp = anssizp2; - thisansp = ansp2; - thisresplenp = resplen2; - } - - if (*thisanssizp < MAXPACKET -- /* Yes, we test ANSCP here. If we have two buffers -- both will be allocatable. */ -- && anscp -+ /* If the current buffer is not the the static -+ user-supplied buffer then we can reallocate -+ it. */ -+ && (thisansp != NULL && thisansp != ansp) - #ifdef FIONREAD -+ /* Is the size too small? */ - && (ioctl (pfd[0].fd, FIONREAD, thisresplenp) < 0 - || *thisanssizp < *thisresplenp) - #endif - ) { -+ /* Always allocate MAXPACKET, callers expect -+ this specific size. */ - u_char *newp = malloc (MAXPACKET); - if (newp != NULL) { -- *anssizp = MAXPACKET; -- *thisansp = ans = newp; -+ *thisanssizp = MAXPACKET; -+ *thisansp = newp; - if (thisansp == ansp2) - *ansp2_malloced = 1; - } - } -+ /* We could end up with truncation if anscp was NULL -+ (not allowed to change caller's buffer) and the -+ response buffer size is too small. This isn't a -+ reliable way to detect truncation because the ioctl -+ may be an inaccurate report of the UDP message size. -+ Therefore we use this only to issue debug output. -+ To do truncation accurately with UDP we need -+ MSG_TRUNC which is only available on Linux. We -+ can abstract out the Linux-specific feature in the -+ future to detect truncation. */ -+ if (__glibc_unlikely (*thisanssizp < *thisresplenp)) { -+ Dprint(statp->options & RES_DEBUG, -+ (stdout, ";; response may be truncated (UDP)\n") -+ ); -+ } -+ - HEADER *anhp = (HEADER *) *thisansp; - socklen_t fromlen = sizeof(struct sockaddr_in6); - assert (sizeof(from) <= fromlen); diff --git a/package/glibc/2.22/0002-microblaze-include-unix-sysdep.h.patch b/package/glibc/2.22/0002-microblaze-include-unix-sysdep.h.patch deleted file mode 100644 index 28f4b6e0f1..0000000000 --- a/package/glibc/2.22/0002-microblaze-include-unix-sysdep.h.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 8415fb8d4f05c023b9d79e44dff197cc285fd1e5 Mon Sep 17 00:00:00 2001 -From: Mike Frysinger -Date: Thu, 6 Aug 2015 02:10:46 -0400 -Subject: [PATCH] microblaze: include unix/sysdep.h - -The semi-recent SYSCALL_CANCEL inclusion broke microblaze due to the -sysdep.h header not including the unix/sysdep.h header. Include it -here like all other ports. - -(cherry picked from commit 5d5de49c3ccd69f65b801f1ca490a0112d1cbd7d) - -Signed-off-by: Thomas Petazzoni -[edited to remove ChangeLog modifications, which cause conflicts.] ---- - sysdeps/unix/sysv/linux/microblaze/sysdep.h | 7 ++++++- - 2 files changed, 12 insertions(+), 1 deletion(-) - -diff --git a/sysdeps/unix/sysv/linux/microblaze/sysdep.h b/sysdeps/unix/sysv/linux/microblaze/sysdep.h -index 83c0340..9d5c542 100644 ---- a/sysdeps/unix/sysv/linux/microblaze/sysdep.h -+++ b/sysdeps/unix/sysv/linux/microblaze/sysdep.h -@@ -16,8 +16,11 @@ - License along with the GNU C Library; if not, see - . */ - -+#ifndef _LINUX_MICROBLAZE_SYSDEP_H -+#define _LINUX_MICROBLAZE_SYSDEP_H 1 -+ -+#include - #include --#include - - /* Defines RTLD_PRIVATE_ERRNO. */ - #include -@@ -305,3 +308,5 @@ SYSCALL_ERROR_LABEL_DCL: \ - # define PTR_DEMANGLE(var) (void) (var) - - #endif /* not __ASSEMBLER__ */ -+ -+#endif /* _LINUX_MICROBLAZE_SYSDEP_H */ --- -2.6.4 - diff --git a/package/glibc/2.22/0003-fix-CVE-2016-3075.patch b/package/glibc/2.22/0003-fix-CVE-2016-3075.patch deleted file mode 100644 index 1ceb1f62f0..0000000000 --- a/package/glibc/2.22/0003-fix-CVE-2016-3075.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 883dceebc8f11921a9890211a4e202e5be17562f Mon Sep 17 00:00:00 2001 -From: Florian Weimer -Date: Tue, 29 Mar 2016 12:57:56 +0200 -Subject: [PATCH 1/1] CVE-2016-3075: Stack overflow in _nss_dns_getnetbyname_r [BZ #19879] - -The defensive copy is not needed because the name may not alias the -output buffer. - -(cherry picked from commit 317b199b4aff8cfa27f2302ab404d2bb5032b9a4) - -Signed-off-by: Bernd Kuhls -(downloaded from upstream git repo and removed changes to Changelog: - https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=883dceebc8f11921a9890211a4e202e5be17562f;hp=5a1a5f0dd2744044801c91bf2588444c29cda533) ---- - ChangeLog | 7 +++++++ - resolv/nss_dns/dns-network.c | 5 +---- - 2 files changed, 8 insertions(+), 4 deletions(-) - -diff --git a/resolv/nss_dns/dns-network.c b/resolv/nss_dns/dns-network.c -index 00f4490..89f8783 100644 ---- a/resolv/nss_dns/dns-network.c -+++ b/resolv/nss_dns/dns-network.c -@@ -118,17 +118,14 @@ _nss_dns_getnetbyname_r (const char *name, struct netent *result, - } net_buffer; - querybuf *orig_net_buffer; - int anslen; -- char *qbuf; - enum nss_status status; - - if (__res_maybe_init (&_res, 0) == -1) - return NSS_STATUS_UNAVAIL; - -- qbuf = strdupa (name); -- - net_buffer.buf = orig_net_buffer = (querybuf *) alloca (1024); - -- anslen = __libc_res_nsearch (&_res, qbuf, C_IN, T_PTR, net_buffer.buf->buf, -+ anslen = __libc_res_nsearch (&_res, name, C_IN, T_PTR, net_buffer.buf->buf, - 1024, &net_buffer.ptr, NULL, NULL, NULL, NULL); - if (anslen < 0) - { --- -1.7.1 - diff --git a/package/glibc/2.22/0004-MIPS-SPARC-fix-wrong-vfork-aliases-in-libpthread.so.patch b/package/glibc/2.22/0004-MIPS-SPARC-fix-wrong-vfork-aliases-in-libpthread.so.patch deleted file mode 100644 index 740b3221c9..0000000000 --- a/package/glibc/2.22/0004-MIPS-SPARC-fix-wrong-vfork-aliases-in-libpthread.so.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 43c2948756bb6e144c7b871e827bba37d61ad3a3 Mon Sep 17 00:00:00 2001 -From: Aurelien Jarno -Date: Sat, 18 Jun 2016 19:11:23 +0200 -Subject: [PATCH] MIPS, SPARC: fix wrong vfork aliases in libpthread.so - -With recent binutils versions the GNU libc fails to build on at least -MISP and SPARC, with this kind of error: - - /home/aurel32/glibc/glibc-build/nptl/libpthread.so:(*IND*+0x0): multiple definition of `vfork@GLIBC_2.0' - /home/aurel32/glibc/glibc-build/nptl/libpthread.so::(.text+0xee50): first defined here - -It appears that on these architectures pt-vfork.S includes vfork.S -(through the alpha version of pt-vfork.S) and that the __vfork aliases -are not conditionalized on IS_IN (libc) like on other architectures. -Therefore the aliases are also wrongly included in libpthread.so. - -Fix this by properly conditionalizing the aliases like on other -architectures. - -Changelog: - * sysdeps/unix/sysv/linux/mips/vfork.S (__vfork): Conditionalize - hidden_def, weak_alias and strong_alias on [IS_IN (libc)]. - * sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S: Likewise. - -[Vincent: do not patch ChangeLog] - -Signed-off-by: Vicente Olivert Riera ---- - sysdeps/unix/sysv/linux/mips/vfork.S | 2 ++ - sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S | 2 ++ - sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S | 2 ++ - 3 files changed, 6 insertions(+) - -diff --git a/sysdeps/unix/sysv/linux/mips/vfork.S b/sysdeps/unix/sysv/linux/mips/vfork.S -index 8c66151..c0c0ce6 100644 ---- a/sysdeps/unix/sysv/linux/mips/vfork.S -+++ b/sysdeps/unix/sysv/linux/mips/vfork.S -@@ -106,6 +106,8 @@ L(error): - #endif - END(__vfork) - -+#if IS_IN (libc) - libc_hidden_def(__vfork) - weak_alias (__vfork, vfork) - strong_alias (__vfork, __libc_vfork) -+#endif -diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S b/sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S -index dc32e0a..94f2c8d 100644 ---- a/sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S -+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S -@@ -44,6 +44,8 @@ ENTRY(__vfork) - nop - END(__vfork) - -+#if IS_IN (libc) - libc_hidden_def (__vfork) - weak_alias (__vfork, vfork) - strong_alias (__vfork, __libc_vfork) -+#endif -diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S b/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S -index 05be3c2..a7479e9 100644 ---- a/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S -+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S -@@ -44,6 +44,8 @@ ENTRY(__vfork) - nop - END(__vfork) - -+#if IS_IN (libc) - libc_hidden_def (__vfork) - weak_alias (__vfork, vfork) - strong_alias (__vfork, __libc_vfork) -+#endif --- -2.7.3 - diff --git a/package/glibc/2.22/0005-MIPS-SPARC-more-fixes-to-the-vfork-aliases-in-libpth.patch b/package/glibc/2.22/0005-MIPS-SPARC-more-fixes-to-the-vfork-aliases-in-libpth.patch deleted file mode 100644 index 3c53f6d050..0000000000 --- a/package/glibc/2.22/0005-MIPS-SPARC-more-fixes-to-the-vfork-aliases-in-libpth.patch +++ /dev/null @@ -1,122 +0,0 @@ -From b87c1ec3fa398646f042a68f0ce0f7d09c1348c7 Mon Sep 17 00:00:00 2001 -From: Aurelien Jarno -Date: Tue, 21 Jun 2016 23:59:37 +0200 -Subject: [PATCH] MIPS, SPARC: more fixes to the vfork aliases in libpthread.so - -Commit 43c29487 tried to fix the vfork aliases in libpthread.so on MIPS -and SPARC, but failed to do it correctly, introducing an ABI change. - -This patch does the remaining changes needed to align the MIPS and SPARC -vfork implementations with the other architectures. That way the the -alpha version of pt-vfork.S works correctly for MIPS and SPARC. The -changes for alpha were done in 82aab97c. - -Changelog: - * sysdeps/unix/sysv/linux/mips/vfork.S (__vfork): Rename into - __libc_vfork. - (__vfork) [IS_IN (libc)]: Remove alias. - (__libc_vfork) [IS_IN (libc)]: Define as an alias. - * sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S: Likewise. - -[Vincent: do not patch ChangeLog] - -Signed-off-by: Vicente Olivert Riera ---- - sysdeps/unix/sysv/linux/mips/vfork.S | 12 ++++++------ - sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S | 8 ++++---- - sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S | 8 ++++---- - 3 files changed, 14 insertions(+), 14 deletions(-) - -diff --git a/sysdeps/unix/sysv/linux/mips/vfork.S b/sysdeps/unix/sysv/linux/mips/vfork.S -index c0c0ce6..1867c86 100644 ---- a/sysdeps/unix/sysv/linux/mips/vfork.S -+++ b/sysdeps/unix/sysv/linux/mips/vfork.S -@@ -31,13 +31,13 @@ - LOCALSZ= 1 - FRAMESZ= (((NARGSAVE+LOCALSZ)*SZREG)+ALSZ)&ALMASK - GPOFF= FRAMESZ-(1*SZREG) --NESTED(__vfork,FRAMESZ,sp) -+NESTED(__libc_vfork,FRAMESZ,sp) - #ifdef __PIC__ - SETUP_GP - #endif - PTR_SUBU sp, FRAMESZ - cfi_adjust_cfa_offset (FRAMESZ) -- SETUP_GP64_REG (a5, __vfork) -+ SETUP_GP64_REG (a5, __libc_vfork) - #ifdef __PIC__ - SAVE_GP (GPOFF) - #endif -@@ -104,10 +104,10 @@ L(error): - RESTORE_GP64_REG - j __syscall_error - #endif -- END(__vfork) -+ END(__libc_vfork) - - #if IS_IN (libc) --libc_hidden_def(__vfork) --weak_alias (__vfork, vfork) --strong_alias (__vfork, __libc_vfork) -+weak_alias (__libc_vfork, vfork) -+strong_alias (__libc_vfork, __vfork) -+libc_hidden_def (__vfork) - #endif -diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S b/sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S -index 94f2c8d..0d0a3b5 100644 ---- a/sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S -+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S -@@ -21,7 +21,7 @@ - - .text - .globl __syscall_error --ENTRY(__vfork) -+ENTRY(__libc_vfork) - ld [%g7 + PID], %o5 - cmp %o5, 0 - bne 1f -@@ -42,10 +42,10 @@ ENTRY(__vfork) - st %o5, [%g7 + PID] - 1: retl - nop --END(__vfork) -+END(__libc_vfork) - - #if IS_IN (libc) -+weak_alias (__libc_vfork, vfork) -+strong_alias (__libc_vfork, __vfork) - libc_hidden_def (__vfork) --weak_alias (__vfork, vfork) --strong_alias (__vfork, __libc_vfork) - #endif -diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S b/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S -index a7479e9..0818eba 100644 ---- a/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S -+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S -@@ -21,7 +21,7 @@ - - .text - .globl __syscall_error --ENTRY(__vfork) -+ENTRY(__libc_vfork) - ld [%g7 + PID], %o5 - sethi %hi(0x80000000), %o3 - cmp %o5, 0 -@@ -42,10 +42,10 @@ ENTRY(__vfork) - st %o5, [%g7 + PID] - 1: retl - nop --END(__vfork) -+END(__libc_vfork) - - #if IS_IN (libc) -+weak_alias (__libc_vfork, vfork) -+strong_alias (__libc_vfork, __vfork) - libc_hidden_def (__vfork) --weak_alias (__vfork, vfork) --strong_alias (__vfork, __libc_vfork) - #endif --- -2.7.3 - diff --git a/package/glibc/2.23/0001-fix-CVE-2016-3075.patch b/package/glibc/2.23/0001-fix-CVE-2016-3075.patch deleted file mode 100644 index 6b07116cb2..0000000000 --- a/package/glibc/2.23/0001-fix-CVE-2016-3075.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 146b58d11fddbef15b888906e3be4f33900c416f Mon Sep 17 00:00:00 2001 -From: Florian Weimer -Date: Tue, 29 Mar 2016 12:57:56 +0200 -Subject: [PATCH 1/1] CVE-2016-3075: Stack overflow in _nss_dns_getnetbyname_r [BZ #19879] - -The defensive copy is not needed because the name may not alias the -output buffer. - -(cherry picked from commit 317b199b4aff8cfa27f2302ab404d2bb5032b9a4) -(cherry picked from commit 883dceebc8f11921a9890211a4e202e5be17562f) - -Signed-off-by: Bernd Kuhls -(downloaded from upstream git repo and removed changes to files - Changelog and NEWS: - https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=146b58d11fddbef15b888906e3be4f33900c416f;hp=0eb234232eaf925fe4dca3bd60a3e1b4a7ab2882) ---- - ChangeLog | 7 +++++++ - NEWS | 10 ++++++++-- - resolv/nss_dns/dns-network.c | 5 +---- - 3 files changed, 16 insertions(+), 6 deletions(-) - -diff --git a/resolv/nss_dns/dns-network.c b/resolv/nss_dns/dns-network.c -index 2eb2f67..8f301a7 100644 ---- a/resolv/nss_dns/dns-network.c -+++ b/resolv/nss_dns/dns-network.c -@@ -118,17 +118,14 @@ _nss_dns_getnetbyname_r (const char *name, struct netent *result, - } net_buffer; - querybuf *orig_net_buffer; - int anslen; -- char *qbuf; - enum nss_status status; - - if (__res_maybe_init (&_res, 0) == -1) - return NSS_STATUS_UNAVAIL; - -- qbuf = strdupa (name); -- - net_buffer.buf = orig_net_buffer = (querybuf *) alloca (1024); - -- anslen = __libc_res_nsearch (&_res, qbuf, C_IN, T_PTR, net_buffer.buf->buf, -+ anslen = __libc_res_nsearch (&_res, name, C_IN, T_PTR, net_buffer.buf->buf, - 1024, &net_buffer.ptr, NULL, NULL, NULL, NULL); - if (anslen < 0) - { --- -1.7.1 - diff --git a/package/glibc/2.23/0002-gcc6.patch b/package/glibc/2.23/0002-gcc6.patch deleted file mode 100644 index f831cae2ca..0000000000 --- a/package/glibc/2.23/0002-gcc6.patch +++ /dev/null @@ -1,88 +0,0 @@ -From 5769d5d17cdb4770f1e08167b76c1684ad4e1f73 Mon Sep 17 00:00:00 2001 -From: Yvan Roux -Date: Fri, 15 Apr 2016 13:29:26 +0200 -Subject: [PATCH 1/1] Suppress GCC 6 warning about ambiguous 'else' with -Wparentheses - -(cherry picked from commit df1cf48777fe4cd81ad7fb09ecbe5b31432b7c1c) - -Signed-off-by: Bernd Kuhls -(downloaded from upstream git repo and removed changes to Changelog: - https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=5769d5d17cdb4770f1e08167b76c1684ad4e1f73;hp=f1e182acaaa84e844eb96462a92ba532e1c1fff4) ---- - ChangeLog | 5 +++++ - nis/nis_call.c | 20 +++++++++++--------- - stdlib/setenv.c | 26 ++++++++++++++------------ - 3 files changed, 30 insertions(+), 21 deletions(-) - -diff --git a/nis/nis_call.c b/nis/nis_call.c -index 3fa37e4..cb7839a 100644 ---- a/nis/nis_call.c -+++ b/nis/nis_call.c -@@ -680,16 +680,18 @@ nis_server_cache_add (const_nis_name name, int search_parent, - /* Choose which entry should be evicted from the cache. */ - loc = &nis_server_cache[0]; - if (*loc != NULL) -- for (i = 1; i < 16; ++i) -- if (nis_server_cache[i] == NULL) -- { -+ { -+ for (i = 1; i < 16; ++i) -+ if (nis_server_cache[i] == NULL) -+ { -+ loc = &nis_server_cache[i]; -+ break; -+ } -+ else if ((*loc)->uses > nis_server_cache[i]->uses -+ || ((*loc)->uses == nis_server_cache[i]->uses -+ && (*loc)->expires > nis_server_cache[i]->expires)) - loc = &nis_server_cache[i]; -- break; -- } -- else if ((*loc)->uses > nis_server_cache[i]->uses -- || ((*loc)->uses == nis_server_cache[i]->uses -- && (*loc)->expires > nis_server_cache[i]->expires)) -- loc = &nis_server_cache[i]; -+ } - old = *loc; - *loc = new; - -diff --git a/stdlib/setenv.c b/stdlib/setenv.c -index da61ee0..e66045f 100644 ---- a/stdlib/setenv.c -+++ b/stdlib/setenv.c -@@ -278,18 +278,20 @@ unsetenv (const char *name) - ep = __environ; - if (ep != NULL) - while (*ep != NULL) -- if (!strncmp (*ep, name, len) && (*ep)[len] == '=') -- { -- /* Found it. Remove this pointer by moving later ones back. */ -- char **dp = ep; -- -- do -- dp[0] = dp[1]; -- while (*dp++); -- /* Continue the loop in case NAME appears again. */ -- } -- else -- ++ep; -+ { -+ if (!strncmp (*ep, name, len) && (*ep)[len] == '=') -+ { -+ /* Found it. Remove this pointer by moving later ones back. */ -+ char **dp = ep; -+ -+ do -+ dp[0] = dp[1]; -+ while (*dp++); -+ /* Continue the loop in case NAME appears again. */ -+ } -+ else -+ ++ep; -+ } - - UNLOCK; - --- -1.7.1 - diff --git a/package/glibc/2.23/0003-MIPS-SPARC-fix-wrong-vfork-aliases-in-libpthread.so.patch b/package/glibc/2.23/0003-MIPS-SPARC-fix-wrong-vfork-aliases-in-libpthread.so.patch deleted file mode 100644 index 740b3221c9..0000000000 --- a/package/glibc/2.23/0003-MIPS-SPARC-fix-wrong-vfork-aliases-in-libpthread.so.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 43c2948756bb6e144c7b871e827bba37d61ad3a3 Mon Sep 17 00:00:00 2001 -From: Aurelien Jarno -Date: Sat, 18 Jun 2016 19:11:23 +0200 -Subject: [PATCH] MIPS, SPARC: fix wrong vfork aliases in libpthread.so - -With recent binutils versions the GNU libc fails to build on at least -MISP and SPARC, with this kind of error: - - /home/aurel32/glibc/glibc-build/nptl/libpthread.so:(*IND*+0x0): multiple definition of `vfork@GLIBC_2.0' - /home/aurel32/glibc/glibc-build/nptl/libpthread.so::(.text+0xee50): first defined here - -It appears that on these architectures pt-vfork.S includes vfork.S -(through the alpha version of pt-vfork.S) and that the __vfork aliases -are not conditionalized on IS_IN (libc) like on other architectures. -Therefore the aliases are also wrongly included in libpthread.so. - -Fix this by properly conditionalizing the aliases like on other -architectures. - -Changelog: - * sysdeps/unix/sysv/linux/mips/vfork.S (__vfork): Conditionalize - hidden_def, weak_alias and strong_alias on [IS_IN (libc)]. - * sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S: Likewise. - -[Vincent: do not patch ChangeLog] - -Signed-off-by: Vicente Olivert Riera ---- - sysdeps/unix/sysv/linux/mips/vfork.S | 2 ++ - sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S | 2 ++ - sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S | 2 ++ - 3 files changed, 6 insertions(+) - -diff --git a/sysdeps/unix/sysv/linux/mips/vfork.S b/sysdeps/unix/sysv/linux/mips/vfork.S -index 8c66151..c0c0ce6 100644 ---- a/sysdeps/unix/sysv/linux/mips/vfork.S -+++ b/sysdeps/unix/sysv/linux/mips/vfork.S -@@ -106,6 +106,8 @@ L(error): - #endif - END(__vfork) - -+#if IS_IN (libc) - libc_hidden_def(__vfork) - weak_alias (__vfork, vfork) - strong_alias (__vfork, __libc_vfork) -+#endif -diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S b/sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S -index dc32e0a..94f2c8d 100644 ---- a/sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S -+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S -@@ -44,6 +44,8 @@ ENTRY(__vfork) - nop - END(__vfork) - -+#if IS_IN (libc) - libc_hidden_def (__vfork) - weak_alias (__vfork, vfork) - strong_alias (__vfork, __libc_vfork) -+#endif -diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S b/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S -index 05be3c2..a7479e9 100644 ---- a/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S -+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S -@@ -44,6 +44,8 @@ ENTRY(__vfork) - nop - END(__vfork) - -+#if IS_IN (libc) - libc_hidden_def (__vfork) - weak_alias (__vfork, vfork) - strong_alias (__vfork, __libc_vfork) -+#endif --- -2.7.3 - diff --git a/package/glibc/2.23/0004-MIPS-SPARC-more-fixes-to-the-vfork-aliases-in-libpth.patch b/package/glibc/2.23/0004-MIPS-SPARC-more-fixes-to-the-vfork-aliases-in-libpth.patch deleted file mode 100644 index 3c53f6d050..0000000000 --- a/package/glibc/2.23/0004-MIPS-SPARC-more-fixes-to-the-vfork-aliases-in-libpth.patch +++ /dev/null @@ -1,122 +0,0 @@ -From b87c1ec3fa398646f042a68f0ce0f7d09c1348c7 Mon Sep 17 00:00:00 2001 -From: Aurelien Jarno -Date: Tue, 21 Jun 2016 23:59:37 +0200 -Subject: [PATCH] MIPS, SPARC: more fixes to the vfork aliases in libpthread.so - -Commit 43c29487 tried to fix the vfork aliases in libpthread.so on MIPS -and SPARC, but failed to do it correctly, introducing an ABI change. - -This patch does the remaining changes needed to align the MIPS and SPARC -vfork implementations with the other architectures. That way the the -alpha version of pt-vfork.S works correctly for MIPS and SPARC. The -changes for alpha were done in 82aab97c. - -Changelog: - * sysdeps/unix/sysv/linux/mips/vfork.S (__vfork): Rename into - __libc_vfork. - (__vfork) [IS_IN (libc)]: Remove alias. - (__libc_vfork) [IS_IN (libc)]: Define as an alias. - * sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S: Likewise. - -[Vincent: do not patch ChangeLog] - -Signed-off-by: Vicente Olivert Riera ---- - sysdeps/unix/sysv/linux/mips/vfork.S | 12 ++++++------ - sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S | 8 ++++---- - sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S | 8 ++++---- - 3 files changed, 14 insertions(+), 14 deletions(-) - -diff --git a/sysdeps/unix/sysv/linux/mips/vfork.S b/sysdeps/unix/sysv/linux/mips/vfork.S -index c0c0ce6..1867c86 100644 ---- a/sysdeps/unix/sysv/linux/mips/vfork.S -+++ b/sysdeps/unix/sysv/linux/mips/vfork.S -@@ -31,13 +31,13 @@ - LOCALSZ= 1 - FRAMESZ= (((NARGSAVE+LOCALSZ)*SZREG)+ALSZ)&ALMASK - GPOFF= FRAMESZ-(1*SZREG) --NESTED(__vfork,FRAMESZ,sp) -+NESTED(__libc_vfork,FRAMESZ,sp) - #ifdef __PIC__ - SETUP_GP - #endif - PTR_SUBU sp, FRAMESZ - cfi_adjust_cfa_offset (FRAMESZ) -- SETUP_GP64_REG (a5, __vfork) -+ SETUP_GP64_REG (a5, __libc_vfork) - #ifdef __PIC__ - SAVE_GP (GPOFF) - #endif -@@ -104,10 +104,10 @@ L(error): - RESTORE_GP64_REG - j __syscall_error - #endif -- END(__vfork) -+ END(__libc_vfork) - - #if IS_IN (libc) --libc_hidden_def(__vfork) --weak_alias (__vfork, vfork) --strong_alias (__vfork, __libc_vfork) -+weak_alias (__libc_vfork, vfork) -+strong_alias (__libc_vfork, __vfork) -+libc_hidden_def (__vfork) - #endif -diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S b/sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S -index 94f2c8d..0d0a3b5 100644 ---- a/sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S -+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S -@@ -21,7 +21,7 @@ - - .text - .globl __syscall_error --ENTRY(__vfork) -+ENTRY(__libc_vfork) - ld [%g7 + PID], %o5 - cmp %o5, 0 - bne 1f -@@ -42,10 +42,10 @@ ENTRY(__vfork) - st %o5, [%g7 + PID] - 1: retl - nop --END(__vfork) -+END(__libc_vfork) - - #if IS_IN (libc) -+weak_alias (__libc_vfork, vfork) -+strong_alias (__libc_vfork, __vfork) - libc_hidden_def (__vfork) --weak_alias (__vfork, vfork) --strong_alias (__vfork, __libc_vfork) - #endif -diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S b/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S -index a7479e9..0818eba 100644 ---- a/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S -+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S -@@ -21,7 +21,7 @@ - - .text - .globl __syscall_error --ENTRY(__vfork) -+ENTRY(__libc_vfork) - ld [%g7 + PID], %o5 - sethi %hi(0x80000000), %o3 - cmp %o5, 0 -@@ -42,10 +42,10 @@ ENTRY(__vfork) - st %o5, [%g7 + PID] - 1: retl - nop --END(__vfork) -+END(__libc_vfork) - - #if IS_IN (libc) -+weak_alias (__libc_vfork, vfork) -+strong_alias (__libc_vfork, __vfork) - libc_hidden_def (__vfork) --weak_alias (__vfork, vfork) --strong_alias (__vfork, __libc_vfork) - #endif --- -2.7.3 - diff --git a/package/glibc/Config.in b/package/glibc/Config.in index 85aace6e29..57a2e833d2 100644 --- a/package/glibc/Config.in +++ b/package/glibc/Config.in @@ -6,33 +6,4 @@ config BR2_PACKAGE_GLIBC select BR2_PACKAGE_LINUX_HEADERS select BR2_TOOLCHAIN_HAS_SSP -choice - prompt "glibc version" - default BR2_GLIBC_VERSION_2_23 - -config BR2_GLIBC_VERSION_2_22 - bool "2.22" - # Too old to build with gcc >= 6.x - depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_6 - -config BR2_GLIBC_VERSION_2_23 - bool "2.23" - -config BR2_GLIBC_VERSION_2_24 - bool "2.24" - # Linux 3.2 or later kernel headers are required on all arches. - # See: https://sourceware.org/ml/libc-alpha/2016-08/msg00212.html - depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 - -comment "glibc-2.24 needs kernel headers >= 3.2" - depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 - -endchoice - endif - -config BR2_GLIBC_VERSION_STRING - string - default "2.22" if BR2_GLIBC_VERSION_2_22 - default "2.23" if BR2_GLIBC_VERSION_2_23 - default "2.24" if BR2_GLIBC_VERSION_2_24 diff --git a/package/glibc/glibc.hash b/package/glibc/glibc.hash index befe80c3c5..4e5bc7f7bc 100644 --- a/package/glibc/glibc.hash +++ b/package/glibc/glibc.hash @@ -1,4 +1,4 @@ -# Locally calculated after checking pgp signature (glibc) -sha256 eb731406903befef1d8f878a46be75ef862b9056ab0cde1626d08a7a05328948 glibc-2.22.tar.xz -sha256 94efeb00e4603c8546209cefb3e1a50a5315c86fa9b078b6fad758e187ce13e9 glibc-2.23.tar.xz -sha256 99d4a3e8efd144d71488e478f62587578c0f4e1fa0b4eed47ee3d4975ebeb5d3 glibc-2.24.tar.xz +# Locally calculated (fetched from Github) +sha256 d66b3702961c846ead2bacf17a9b5239cc1e8a43ca6e322f3637e99f276efec1 glibc-glibc-2.26-73-g4b692dffb95ac4812b161eb6a16113d7e824982e.tar.gz +# Locally calculated (fetched from Github) +sha256 5aa9adeac09727db0b8a52794186563771e74d70410e9fd86431e339953fd4bb glibc-arc-2017.09-release.tar.gz diff --git a/package/glibc/glibc.mk b/package/glibc/glibc.mk index ee5253968d..d99b524ef9 100644 --- a/package/glibc/glibc.mk +++ b/package/glibc/glibc.mk @@ -4,12 +4,26 @@ # ################################################################################ -GLIBC_VERSION = $(call qstrip,$(BR2_GLIBC_VERSION_STRING)) -GLIBC_SITE = $(BR2_GNU_MIRROR)/libc -GLIBC_SOURCE = glibc-$(GLIBC_VERSION).tar.xz +ifeq ($(BR2_arc),y) +GLIBC_VERSION = arc-2017.09-release +GLIBC_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,glibc,$(GLIBC_VERSION)) +GLIBC_SOURCE = glibc-$(GLIBC_VERSION).tar.gz +else +# Generate version string using: +# git describe --match 'glibc-*' --abbrev=40 origin/release/MAJOR.MINOR/master +GLIBC_VERSION = glibc-2.26-73-g4b692dffb95ac4812b161eb6a16113d7e824982e +# Upstream doesn't officially provide an https download link. +# There is one (https://sourceware.org/git/glibc.git) but it's not reliable, +# sometimes the connection times out. So use an unofficial github mirror. +# When updating the version, check it on the official repository; +# *NEVER* decide on a version string by looking at the mirror. +# Then check that the mirror has been synced already (happens once a day.) +GLIBC_SITE = $(call github,bminor,glibc,$(GLIBC_VERSION)) +endif + GLIBC_SRC_SUBDIR = . -GLIBC_LICENSE = GPLv2+ (programs), LGPLv2.1+, BSD-3c, MIT (library) +GLIBC_LICENSE = GPL-2.0+ (programs), LGPL-2.1+, BSD-3-Clause, MIT (library) GLIBC_LICENSE_FILES = $(addprefix $(GLIBC_SRC_SUBDIR)/,COPYING COPYING.LIB LICENSES) # glibc is part of the toolchain so disable the toolchain dependency @@ -94,7 +108,6 @@ define GLIBC_CONFIGURE_CMDS $(GLIBC_ADD_MISSING_STUB_H) endef - # # We also override the install to target commands since we only want # to install the libraries, and nothing more. @@ -110,39 +123,9 @@ GLIBC_LIBS_LIB += libthread_db.so.* endif define GLIBC_INSTALL_TARGET_CMDS - for libs in $(GLIBC_LIBS_LIB); do \ - $(call copy_toolchain_lib_root,$$libs) ; \ + for libpattern in $(GLIBC_LIBS_LIB); do \ + $(call copy_toolchain_lib_root,$$libpattern) ; \ done endef -# MIPS R6 requires to have NaN2008 support which is currently not -# supported by the Linux kernel. In order to prevent building the -# glibc against kernels not having NaN2008 support on platforms that -# requires it, glibc currently checks for an (inexisting) 10.0.0 -# kernel headers version. -# -# Since in practice the kernel support for NaN2008 is not really -# required for things to work properly, we adjust the glibc check to -# make it believe that NaN2008 support was added in the kernel -# starting from version 4.0.0. -# -# In general the compatibility issues introduced by mis-matched NaN -# encodings will not cause a problem as signalling NaNs are rarely used -# in average code. For MIPS R6 there isn't actually any compatibility -# issue as the hardware is always NaN2008 and software is always -# NaN2008. The problem only comes from when older MIPS code is linked in -# via a DSO and multiple NaN encodings are introduced. Since Buildroot -# is intended to have all code built from source then this scenario is -# highly unlikely. The failure mode, if it ever occurs, would be either -# that a signalling NaN fails to raise an invalid operation exception or -# (more likely) an ordinary NaN raises an invalid operation exception. -ifeq ($(BR2_MIPS_CPU_MIPS32R6)$(BR2_MIPS_CPU_MIPS64R6),y) -define GLIBC_FIX_MIPS_R6 - $(SED) 's#10.0.0#4.0.0#' \ - $(@D)/sysdeps/unix/sysv/linux/mips/configure \ - $(@D)/sysdeps/unix/sysv/linux/mips/configure.ac -endef -GLIBC_POST_EXTRACT_HOOKS += GLIBC_FIX_MIPS_R6 -endif - $(eval $(autotools-package)) diff --git a/package/glibmm/Config.in b/package/glibmm/Config.in index fdbb43812c..c7b4082e0e 100644 --- a/package/glibmm/Config.in +++ b/package/glibmm/Config.in @@ -1,18 +1,18 @@ config BR2_PACKAGE_GLIBMM bool "glibmm" - select BR2_PACKAGE_LIBGLIB2 - select BR2_PACKAGE_LIBSIGC - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # regex_replace depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR # libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_USE_MMU # libglib2 + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBSIGC help The GLibmm package is a set of C++ bindings for GLib. http://www.gtkmm.org/ -comment "glibmm needs a toolchain w/ C++, wchar, threads, gcc >= 4.8" +comment "glibmm needs a toolchain w/ C++, wchar, threads, gcc >= 4.9" depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_USE_WCHAR \ + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_USE_WCHAR \ || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/glibmm/glibmm.hash b/package/glibmm/glibmm.hash index fbcf855649..570192e2f8 100644 --- a/package/glibmm/glibmm.hash +++ b/package/glibmm/glibmm.hash @@ -1,2 +1,2 @@ -# From http://ftp.gnome.org/pub/gnome/sources/glibmm/2.50/glibmm-2.50.0.sha256sum -sha256 df726e3c6ef42b7621474b03b644a2e40ec4eef94a1c5a932c1e740a78f95e94 glibmm-2.50.0.tar.xz +# From http://ftp.gnome.org/pub/GNOME/sources/glibmm/2.54/glibmm-2.54.1.sha256sum +sha256 7cc28c732b04d70ed34f0c923543129083cfb90580ea4a2b4be5b38802bf6a4a glibmm-2.54.1.tar.xz diff --git a/package/glibmm/glibmm.mk b/package/glibmm/glibmm.mk index 0daca5853f..7fa13f21a2 100644 --- a/package/glibmm/glibmm.mk +++ b/package/glibmm/glibmm.mk @@ -4,9 +4,9 @@ # ################################################################################ -GLIBMM_VERSION_MAJOR = 2.50 -GLIBMM_VERSION = $(GLIBMM_VERSION_MAJOR).0 -GLIBMM_LICENSE = LGPLv2.1+ (library), GPLv2+ (tools) +GLIBMM_VERSION_MAJOR = 2.54 +GLIBMM_VERSION = $(GLIBMM_VERSION_MAJOR).1 +GLIBMM_LICENSE = LGPL-2.1+ (library), GPL-2.0+ (tools) GLIBMM_LICENSE_FILES = COPYING COPYING.tools GLIBMM_SOURCE = glibmm-$(GLIBMM_VERSION).tar.xz GLIBMM_SITE = http://ftp.gnome.org/pub/gnome/sources/glibmm/$(GLIBMM_VERSION_MAJOR) diff --git a/package/glm/glm.hash b/package/glm/glm.hash index 30bb923783..c87d4ca2f6 100644 --- a/package/glm/glm.hash +++ b/package/glm/glm.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 39c7ee0db54289f78350c7629ea2531664d71c6a494bbb86db48a86536de9ff2 glm-0.9.5.4.tar.gz +sha256 a220e60f8711265595be3221e530d632d5823641ecd46a3a54bc174933bff14c glm-0.9.8.4.tar.gz diff --git a/package/glm/glm.mk b/package/glm/glm.mk index ff9423da17..1f23146dda 100644 --- a/package/glm/glm.mk +++ b/package/glm/glm.mk @@ -4,7 +4,7 @@ # ################################################################################ -GLM_VERSION = 0.9.5.4 +GLM_VERSION = 0.9.8.4 GLM_SITE = $(call github,g-truc,glm,$(GLM_VERSION)) GLM_LICENSE = MIT GLM_LICENSE_FILES = copying.txt diff --git a/package/glmark2/glmark2.hash b/package/glmark2/glmark2.hash index 92c53e5410..aeb8a78568 100644 --- a/package/glmark2/glmark2.hash +++ b/package/glmark2/glmark2.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 ea59bd267a88e2c773423eec43f7cb90b0ca1c369762e836dec575ebdcdcc012 glmark2-7215c0f337dae0b232535549c37fca441747a891.tar.gz +sha256 8800f3cab0575df217adc166b181930e1f881efb6f764f35872993ee78dea5f0 glmark2-9b1070fe9c5cf908f323909d3c8cbed08022abe8.tar.gz diff --git a/package/glmark2/glmark2.mk b/package/glmark2/glmark2.mk index c7cefeb16c..4eeaec79c3 100644 --- a/package/glmark2/glmark2.mk +++ b/package/glmark2/glmark2.mk @@ -4,9 +4,9 @@ # ################################################################################ -GLMARK2_VERSION = 7215c0f337dae0b232535549c37fca441747a891 +GLMARK2_VERSION = 9b1070fe9c5cf908f323909d3c8cbed08022abe8 GLMARK2_SITE = $(call github,glmark2,glmark2,$(GLMARK2_VERSION)) -GLMARK2_LICENSE = GPLv3+, SGIv1 +GLMARK2_LICENSE = GPL-3.0+, SGIv1 GLMARK2_LICENSE_FILES = COPYING COPYING.SGI GLMARK2_DEPENDENCIES = host-pkgconf jpeg libpng \ $(if $(BR2_PACKAGE_HAS_LIBEGL),libegl) \ diff --git a/package/glog/glog.hash b/package/glog/glog.hash index 4548ebac2c..909e072b66 100644 --- a/package/glog/glog.hash +++ b/package/glog/glog.hash @@ -1,2 +1,5 @@ # Locally computed -sha256 ce99d58dce74458f7656a68935d7a0c048fa7b4626566a71b7f4e545920ceb10 glog-v0.3.4.tar.gz +sha256 7580e408a2c0b5a89ca214739978ce6ff480b5e7d8d7698a2aa92fadc484d1e0 glog-v0.3.5.tar.gz + +# Hash for License file: +sha256 0fc497129c5c69ff6f22da6933c7e4aaef082fde8437fd57680c2780100772a4 COPYING diff --git a/package/glog/glog.mk b/package/glog/glog.mk index aa7cacbdd3..3f17529f58 100644 --- a/package/glog/glog.mk +++ b/package/glog/glog.mk @@ -4,10 +4,10 @@ # ################################################################################ -GLOG_VERSION = v0.3.4 +GLOG_VERSION = v0.3.5 GLOG_SITE = $(call github,google,glog,$(GLOG_VERSION)) GLOG_INSTALL_STAGING = YES -GLOG_LICENSE = BSD-3c +GLOG_LICENSE = BSD-3-Clause GLOG_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_GFLAGS),y) diff --git a/package/gmock/0001-force-use-python2.patch b/package/gmock/0001-force-use-python2.patch deleted file mode 100644 index 5dcb231168..0000000000 --- a/package/gmock/0001-force-use-python2.patch +++ /dev/null @@ -1,20 +0,0 @@ -Force use of Python 2 even when Python 3 is the default Python interpreter. - -Signed-off-by: Carlos Santos - ---- ./gtest/scripts/fuse_gtest_files.py.orig 2013-09-18 14:48:30.000000000 -0300 -+++ ./gtest/scripts/fuse_gtest_files.py 2015-07-22 15:42:53.291591205 -0300 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python2 - # - # Copyright 2009, Google Inc. - # All rights reserved. ---- ./scripts/generator/gmock_gen.py.orig 2013-09-18 14:50:15.000000000 -0300 -+++ ./scripts/generator/gmock_gen.py 2015-07-22 17:06:51.071815634 -0300 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python2 - # - # Copyright 2008 Google Inc. All Rights Reserved. - # diff --git a/package/gmock/Config.in b/package/gmock/Config.in deleted file mode 100644 index ec3eb921d1..0000000000 --- a/package/gmock/Config.in +++ /dev/null @@ -1,32 +0,0 @@ -config BR2_PACKAGE_GMOCK - bool "gmock" - select BR2_PACKAGE_GTEST - depends on BR2_USE_WCHAR - depends on BR2_TOOLCHAIN_HAS_THREADS - depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_USE_MMU # fork() - help - Inspired by jMock, EasyMock, and Hamcrest, and designed with C++'s - specifics in mind, Google C++ Mocking Framework (or Google Mock for - short) is a library for writing and using C++ mock classes. - - Google Mock: - - * lets you create mock classes trivially using simple macros, - * supports a rich set of matchers and actions, - * handles unordered, partially ordered, or completely ordered - expectations, - * is extensible by users, and - * works on Linux, Mac OS X, Windows, Windows Mobile, minGW, and - Symbian. - - http://code.google.com/p/googlemock/ - - There are both host and target packages. The target one has include - files required to compile the tests and the static libraries required - to link/run them. The host package installs gmock_gen, a Python script - used to generate code mocks. - -comment "gmock needs a toolchain w/ C++, wchar, threads" - depends on BR2_USE_MMU - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP diff --git a/package/gmock/gmock.hash b/package/gmock/gmock.hash deleted file mode 100644 index 2b7173988f..0000000000 --- a/package/gmock/gmock.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally computed -sha256 26fcbb5925b74ad5fc8c26b0495dfc96353f4d553492eb97e85a8a6d2f43095b gmock-1.7.0.zip diff --git a/package/gmock/gmock.mk b/package/gmock/gmock.mk deleted file mode 100644 index 4f04422a5d..0000000000 --- a/package/gmock/gmock.mk +++ /dev/null @@ -1,64 +0,0 @@ -################################################################################ -# -# gmock -# -################################################################################ - -# Make sure this remains the same version as the gtest one -GMOCK_VERSION = 1.7.0 -GMOCK_SOURCE = gmock-$(GMOCK_VERSION).zip -GMOCK_SITE = http://googlemock.googlecode.com/files -GMOCK_INSTALL_STAGING = YES -GMOCK_INSTALL_TARGET = NO -GMOCK_LICENSE = BSD-3c -GMOCK_LICENSE_FILES = LICENSE -GMOCK_DEPENDENCIES = gtest host-gmock - -# GMock 1.7.0 relies on Python 2.7 syntax which is NOT compatible with Python3. -HOST_GMOCK_DEPENDENCIES = host-python -HOST_GMOCK_PYTHONPATH=$(HOST_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages - -# Static linking is required in order to keep the GMock package completely -# separated from GTest. According to GMock's README file: -# -# "Google Mock can be used as a DLL, but the same DLL must contain Google -# Test as well. See Google Test's README file for instructions on how to -# set up necessary compiler settings". -GMOCK_CONF_OPTS = --enable-static --disable-shared - -define GMOCK_EXTRACT_CMDS - $(UNZIP) $(DL_DIR)/$(GMOCK_SOURCE) -d $(BUILD_DIR) -endef - -# We can't use the default rule for autotools-package staging because it fails -# because it tries to rebuild/install gtest stuff and fails after this error: -# "'make install' is dangerous and not supported. Instead, see README for -# how to integrate Google Test into your build system." -define GMOCK_INSTALL_STAGING_CMDS - $(INSTALL) -D -m 0755 $(@D)/lib/.libs/libgmock.a $(STAGING_DIR)/usr/lib/libgmock.a - $(INSTALL) -D -m 0755 $(@D)/lib/.libs/libgmock_main.a $(STAGING_DIR)/usr/lib/libgmock_main.a - $(INSTALL) -d -m 0755 $(STAGING_DIR)/usr/include/gmock/ - cp -rp $(@D)/include/gmock/* $(STAGING_DIR)/usr/include/gmock/ - $(INSTALL) -D -m 0755 package/gmock/gmock.pc \ - $(STAGING_DIR)/usr/lib/pkgconfig/gmock.pc -endef - -# Unzipping inside $(@D) and moving everything from the created subdirectory is -# required because unzipping directly in $(BUILD_DIR) would cause host-gmock to -# overwrite the gmock subdir instead of unzipping in a host-gmock subdir. -define HOST_GMOCK_EXTRACT_CMDS - $(UNZIP) $(DL_DIR)/$(GMOCK_SOURCE) -d $(@D) - mv $(@D)/gmock-$(GMOCK_VERSION)/* $(@D) - rmdir $(@D)/gmock-$(GMOCK_VERSION) -endef - -define HOST_GMOCK_INSTALL_CMDS - $(INSTALL) -D -m 0755 $(@D)/scripts/generator/gmock_gen.py $(HOST_DIR)/usr/bin/gmock_gen.py - ln -sf gmock_gen.py $(HOST_DIR)/usr/bin/gmock_gen - cp -rp $(@D)/scripts/generator/cpp $(HOST_GMOCK_PYTHONPATH) -endef - -$(eval $(autotools-package)) -# The host package does not build anything, just installs gmock_gen stuff, so -# it does not need to be a host-autotools-package. -$(eval $(host-generic-package)) diff --git a/package/gmp/gmp.mk b/package/gmp/gmp.mk index 33b5d542b4..7236e37bb4 100644 --- a/package/gmp/gmp.mk +++ b/package/gmp/gmp.mk @@ -8,14 +8,14 @@ GMP_VERSION = 6.1.2 GMP_SITE = $(BR2_GNU_MIRROR)/gmp GMP_SOURCE = gmp-$(GMP_VERSION).tar.xz GMP_INSTALL_STAGING = YES -GMP_LICENSE = LGPLv3+ or GPLv2+ +GMP_LICENSE = LGPL-3.0+ or GPL-2.0+ GMP_LICENSE_FILES = COPYING.LESSERv3 COPYINGv2 GMP_DEPENDENCIES = host-m4 HOST_GMP_DEPENDENCIES = host-m4 # GMP doesn't support assembly for coldfire or mips r6 ISA yet # Disable for ARM v7m since it has different asm constraints -ifeq ($(BR2_m68k_cf)$(BR2_MIPS_CPU_MIPS32R6)$(BR2_MIPS_CPU_MIPS64R6)$(BR2_ARM_CPU_ARMV7M)$(BR2_arc),y) +ifeq ($(BR2_m68k_cf)$(BR2_MIPS_CPU_MIPS32R6)$(BR2_MIPS_CPU_MIPS64R6)$(BR2_ARM_CPU_ARMV7M),y) GMP_CONF_OPTS += --disable-assembly endif diff --git a/package/gmpc/Config.in b/package/gmpc/Config.in index 43bc642d74..1aa74251f0 100644 --- a/package/gmpc/Config.in +++ b/package/gmpc/Config.in @@ -6,7 +6,6 @@ config BR2_PACKAGE_GMPC depends on BR2_USE_MMU # glib2 depends on BR2_PACKAGE_XORG7 select BR2_PACKAGE_LIBGLIB2 - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE select BR2_PACKAGE_LIBMPD select BR2_PACKAGE_LIBSOUP diff --git a/package/gmpc/gmpc.mk b/package/gmpc/gmpc.mk index 03d95d456c..40b77eb189 100644 --- a/package/gmpc/gmpc.mk +++ b/package/gmpc/gmpc.mk @@ -8,11 +8,11 @@ GMPC_VERSION = 11.8.16 GMPC_SITE = http://download.sarine.nl/Programs/gmpc/$(GMPC_VERSION) GMPC_CONF_ENV = ac_cv_path_GOB2=$(GOB2_HOST_BINARY) GMPC_CONF_OPTS = --disable-mmkeys --disable-unique -GMPC_LICENSE = GPLv2+ +GMPC_LICENSE = GPL-2.0+ GMPC_LICENSE_FILES = COPYING GMPC_DEPENDENCIES = host-gob2 host-intltool host-pkgconf host-vala \ libglib2 libgtk2 libmpd libsoup sqlite \ xlib_libICE xlib_libSM xlib_libX11 \ - $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) + $(TARGET_NLS_DEPENDENCIES) $(eval $(autotools-package)) diff --git a/package/gmrender-resurrect/Config.in b/package/gmrender-resurrect/Config.in index 631c407f5d..db655ad7f4 100644 --- a/package/gmrender-resurrect/Config.in +++ b/package/gmrender-resurrect/Config.in @@ -3,8 +3,6 @@ config BR2_PACKAGE_GMRENDER_RESURRECT depends on BR2_USE_WCHAR # gstreamer1 -> libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # gstreamer1 -> libglib2, libupnp depends on BR2_USE_MMU # gstreamer1 - # uses - depends on !BR2_TOOLCHAIN_USES_MUSL select BR2_PACKAGE_GSTREAMER1 select BR2_PACKAGE_GST1_PLUGINS_BASE # run-time only select BR2_PACKAGE_LIBUPNP @@ -13,7 +11,6 @@ config BR2_PACKAGE_GMRENDER_RESURRECT https://github.com/hzeller/gmrender-resurrect -comment "gmrender-resurrect needs a glibc or uClibc toolchain w/ wchar, threads" +comment "gmrender-resurrect needs a toolchain w/ wchar, threads" depends on BR2_USE_MMU - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ - BR2_TOOLCHAIN_USES_MUSL + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/gmrender-resurrect/gmrender-resurrect.hash b/package/gmrender-resurrect/gmrender-resurrect.hash index ba4561ea21..522bd2ae87 100644 --- a/package/gmrender-resurrect/gmrender-resurrect.hash +++ b/package/gmrender-resurrect/gmrender-resurrect.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 8cd9eae3e6be75684c9b7c4d29702fcbbeead0ded1d4f7cf8fb65fe1dc718596 gmrender-resurrect-48caaa4f6c386fd1586126c801cd326f96d5fa5c.tar.gz +sha256 dcbde3601c3389e8dd21fe1842a92abf4cc06f6e3a375f1df63fdbf784a6650b gmrender-resurrect-33600ab663f181c4f4f5c48aba25bf961760a300.tar.gz diff --git a/package/gmrender-resurrect/gmrender-resurrect.mk b/package/gmrender-resurrect/gmrender-resurrect.mk index 24608a1c08..2b6a56f0e5 100644 --- a/package/gmrender-resurrect/gmrender-resurrect.mk +++ b/package/gmrender-resurrect/gmrender-resurrect.mk @@ -4,12 +4,12 @@ # ################################################################################ -GMRENDER_RESURRECT_VERSION = 48caaa4f6c386fd1586126c801cd326f96d5fa5c +GMRENDER_RESURRECT_VERSION = 33600ab663f181c4f4f5c48aba25bf961760a300 GMRENDER_RESURRECT_SITE = $(call github,hzeller,gmrender-resurrect,$(GMRENDER_RESURRECT_VERSION)) # Original distribution does not have default configure, # so we need to autoreconf: GMRENDER_RESURRECT_AUTORECONF = YES -GMRENDER_RESURRECT_LICENSE = GPLv2+ +GMRENDER_RESURRECT_LICENSE = GPL-2.0+ GMRENDER_RESURRECT_LICENSE_FILES = COPYING GMRENDER_RESURRECT_DEPENDENCIES = gstreamer1 libupnp diff --git a/package/gnu-efi/0001-Allow-CFLAGS-CPPFLAGS-to-be-completed-from-the-envir.patch b/package/gnu-efi/0001-Allow-CFLAGS-CPPFLAGS-to-be-completed-from-the-envir.patch index eee0a9a221..11507388ea 100644 --- a/package/gnu-efi/0001-Allow-CFLAGS-CPPFLAGS-to-be-completed-from-the-envir.patch +++ b/package/gnu-efi/0001-Allow-CFLAGS-CPPFLAGS-to-be-completed-from-the-envir.patch @@ -11,18 +11,24 @@ flags passed by Buildroot. [Romain: - rebase on top of 3.0.1 release] +[Bernd: + - rebase on top of 3.0.5 release] +[Benoît: + - rebase on top of 3.0.6 release] Signed-off-by: Thomas Petazzoni Signed-off-by: Romain Naour +Signed-off-by: Bernd Kuhls +Signed-off-by: Benoît Allard --- - Make.defaults | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) + Make.defaults | 22 +++++++++++----------- + 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/Make.defaults b/Make.defaults -index 169273d..b0ddea0 100644 +index 51bd7d8..7d7e8e7 100755 --- a/Make.defaults +++ b/Make.defaults -@@ -80,14 +80,14 @@ endif +@@ -85,14 +85,14 @@ OBJDIR := $(TOPDIR)/$(ARCH) # # Arch-specific compilation flags @@ -40,20 +46,31 @@ index 169273d..b0ddea0 100644 ifeq ($(HOSTARCH),x86_64) ARCH3264 = -m32 endif -@@ -103,10 +103,10 @@ ifeq ($(ARCH),x86_64) +@@ -109,19 +109,19 @@ ifeq ($(ARCH),x86_64) && [ $(GCCMINOR) -ge "7" ] ) ) \ && echo 1) ifeq ($(GCCNEWENOUGH),1) - CPPFLAGS += -DGNU_EFI_USE_MS_ABI -maccumulate-outgoing-args --std=c11 + override CPPFLAGS += -DGNU_EFI_USE_MS_ABI -maccumulate-outgoing-args --std=c11 + else ifeq ($(USING_CLANG),clang) +- CPPFLAGS += -DGNU_EFI_USE_MS_ABI --std=c11 ++ override CPPFLAGS += -DGNU_EFI_USE_MS_ABI --std=c11 endif -- CFLAGS += -mno-red-zone -mno-mmx -mno-sse -+ override CFLAGS += -mno-red-zone -mno-mmx -mno-sse +- CFLAGS += -mno-red-zone ++ override CFLAGS += -mno-red-zone ifeq ($(HOSTARCH),ia32) ARCH3264 = -m64 endif -@@ -127,7 +127,7 @@ export LIBGCC=$(shell $(CC) $(ARCH3264) -print-libgcc-file-name) + endif + + ifeq ($(ARCH),mips64el) +- CFLAGS += -march=mips64r2 ++ override CFLAGS += -march=mips64r2 + ARCH3264 = -mabi=64 + endif + +@@ -142,7 +142,7 @@ export LIBGCC=$(shell $(CC) $(ARCH3264) endif ifeq ($(ARCH),arm) @@ -62,19 +79,25 @@ index 169273d..b0ddea0 100644 endif # Generic compilation flags -@@ -135,10 +135,10 @@ INCDIR += -I$(SRCDIR) -I$(TOPDIR)/inc -I$(TOPDIR)/inc/$(ARCH) \ - -I$(TOPDIR)/inc/protocol +@@ -152,15 +152,15 @@ INCDIR += -I$(SRCDIR) -I$(TOPDIR)/inc - + # Only enable -fpic for non MinGW compilers (unneeded on MinGW) + GCCMACHINE := $(shell $(CC) -dumpmachine) + ifneq (mingw32,$(findstring mingw32, $(GCCMACHINE))) +- CFLAGS += -fpic ++ override CFLAGS += -fpic + endif ifeq (FreeBSD, $(findstring FreeBSD, $(OS))) --CFLAGS += $(ARCH3264) -O2 -fpic -Wall -fshort-wchar -fno-strict-aliasing \ -+override CFLAGS += $(ARCH3264) -O2 -fpic -Wall -fshort-wchar -fno-strict-aliasing \ +-CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra -Werror \ ++override CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra -Werror \ + -fshort-wchar -fno-strict-aliasing \ -ffreestanding -fno-stack-protector else --CFLAGS += $(ARCH3264) -O2 -fpic -Wall -fshort-wchar -fno-strict-aliasing \ -+override CFLAGS += $(ARCH3264) -O2 -fpic -Wall -fshort-wchar -fno-strict-aliasing \ - -fno-merge-constants -ffreestanding -fno-stack-protector \ +-CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra -Werror \ ++override CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra -Werror \ + -fshort-wchar -fno-strict-aliasing \ + -fno-merge-all-constants -ffreestanding -fno-stack-protector \ -fno-stack-check - endif -- -1.9.3 +2.11.0 diff --git a/package/gnu-efi/0002-Fix-parallel-make-failure-for-archives.patch b/package/gnu-efi/0002-Fix-parallel-make-failure-for-archives.patch deleted file mode 100644 index 6e12388d10..0000000000 --- a/package/gnu-efi/0002-Fix-parallel-make-failure-for-archives.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 7e9a26b0fc0bd8ed64a5eced5ea78bcea8ae3bbc Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sat, 17 Jan 2015 18:44:04 +0100 -Subject: [PATCH 2/2] Fix parallel make failure for archives - -Upstream-Status: Pending - -The lib and gnuefi makefiles were using the lib.a() form which compiles -and ar's as a pair instead of compiling all and then ar'ing which can -parallelize better. This was resulting in build failures on larger values -of -j. - -See http://www.chemie.fu-berlin.de/chemnet/use/info/make/make_toc.html#TOC105 -for details. - -[Romain: - - rebase on top of 3.0.1 release] - -Signed-off-by: Saul Wold -Signed-off-by: Darren Hart -Signed-off-by: Romain Naour ---- - gnuefi/Makefile | 3 ++- - lib/Makefile | 3 ++- - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/gnuefi/Makefile b/gnuefi/Makefile -index d234ac0..d29575d 100644 ---- a/gnuefi/Makefile -+++ b/gnuefi/Makefile -@@ -54,7 +54,8 @@ TARGETS = crt0-efi-$(ARCH).o libgnuefi.a - - all: $(TARGETS) - --libgnuefi.a: $(patsubst %,libgnuefi.a(%),$(OBJS)) -+libgnuefi.a: $(OBJS) -+ $(AR) rv $@ $(OBJS) - - clean: - rm -f $(TARGETS) *~ *.o $(OBJS) -diff --git a/lib/Makefile b/lib/Makefile -index 019ad57..c6abcae 100644 ---- a/lib/Makefile -+++ b/lib/Makefile -@@ -73,7 +73,8 @@ all: libsubdirs libefi.a - libsubdirs: - for sdir in $(SUBDIRS); do mkdir -p $$sdir; done - --libefi.a: $(patsubst %,libefi.a(%),$(OBJS)) -+libefi.a: $(OBJS) -+ $(AR) rv $@ $(OBJS) - - clean: - rm -f libefi.a *~ $(OBJS) */*.o --- -1.9.3 - diff --git a/package/gnu-efi/Config.in b/package/gnu-efi/Config.in index 982102faa5..d8d92c2c17 100644 --- a/package/gnu-efi/Config.in +++ b/package/gnu-efi/Config.in @@ -1,9 +1,10 @@ config BR2_PACKAGE_GNU_EFI bool "gnu-efi" - depends on BR2_i386 || BR2_x86_64 + depends on BR2_ARM_CPU_HAS_ARM || BR2_aarch64 || \ + BR2_aarch64_be || BR2_i386 || BR2_x86_64 help - Develop EFI applications for IA-64 (IPF), IA-32 (x86), and - x86_64 platforms using the GNU toolchain and the EFI - development environment. + Develop EFI applications for ARM-64, ARM-32, x86_64, IA-64 + (IPF), IA-32 (x86), and MIPS platforms using the GNU toolchain + and the EFI development environment. http://gnu-efi.sourceforge.net/ diff --git a/package/gnu-efi/gnu-efi.hash b/package/gnu-efi/gnu-efi.hash index 21033bddc2..1bd0f8c5dc 100644 --- a/package/gnu-efi/gnu-efi.hash +++ b/package/gnu-efi/gnu-efi.hash @@ -1,3 +1,5 @@ # From http://sourceforge.net/projects/gnu-efi/files -md5 c4099c443b6b0c2b04dedc33e7814ec0 gnu-efi-3.0.1.tar.bz2 -sha1 07eea4d72f7ecb7229aaa77ddd411de5673c67b6 gnu-efi-3.0.1.tar.bz2 +md5 46f633758a8a37db9fd6909fe270c26b gnu-efi-3.0.6.tar.bz2 +sha1 9f0f75b64c84423f3386da6f3200f5ed7471d9cb gnu-efi-3.0.6.tar.bz2 +# Locally computed +sha256 21515902d80fbea23328a61d70d3d51a47204abd1507ebfa27550a7b9bf22c91 gnu-efi-3.0.6.tar.bz2 diff --git a/package/gnu-efi/gnu-efi.mk b/package/gnu-efi/gnu-efi.mk index a11ff819ca..d55e0274df 100644 --- a/package/gnu-efi/gnu-efi.mk +++ b/package/gnu-efi/gnu-efi.mk @@ -4,11 +4,11 @@ # ################################################################################ -GNU_EFI_VERSION = 3.0.1 +GNU_EFI_VERSION = 3.0.6 GNU_EFI_SOURCE = gnu-efi-$(GNU_EFI_VERSION).tar.bz2 GNU_EFI_SITE = http://downloads.sourceforge.net/project/gnu-efi GNU_EFI_INSTALL_STAGING = YES -GNU_EFI_LICENSE = BSD-3c and/or GPLv2+ (gnuefi), BSD-3c (efilib) +GNU_EFI_LICENSE = BSD-3-Clause and/or GPL-2.0+ (gnuefi), BSD-3-Clause (efilib) GNU_EFI_LICENSE_FILES = README.efilib # gnu-efi is a set of library and header files used to build @@ -20,6 +20,10 @@ ifeq ($(BR2_i386),y) GNU_EFI_PLATFORM = ia32 else ifeq ($(BR2_x86_64),y) GNU_EFI_PLATFORM = x86_64 +else ifeq ($(BR2_arm)$(BR2_armeb),y) +GNU_EFI_PLATFORM = arm +else ifeq ($(BR2_aarch64)$(BR2_aarch64_be),y) +GNU_EFI_PLATFORM = aarch64 endif define GNU_EFI_BUILD_CMDS diff --git a/package/gnuchess/0001-fix-static-build-with-uClibc.patch b/package/gnuchess/0001-fix-static-build-with-uClibc.patch deleted file mode 100644 index 20a0835e6d..0000000000 --- a/package/gnuchess/0001-fix-static-build-with-uClibc.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 5bb2bc6384024c2344ef5cc6785131b382c38170 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sun, 10 May 2015 22:19:03 +0200 -Subject: [PATCH] fix static build with uClibc - -uClibc doesn't provide lintl which should be provided -by gettext. If gnuchess is linked statically, -lintl should -be placed after libfrontend.a libadapter.a libengine.a. - -Fixes: -http://autobuild.buildroot.net/results/dcb/dcb1c0eb7212bd8d1e0d8b51fd517b73b7569cea/ - -Signed-off-by: Romain Naour ---- - src/Makefile.am | 2 +- - src/Makefile.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/Makefile.am b/src/Makefile.am -index ba90bce..fc02543 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -34,7 +34,7 @@ DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@ - DISTCLEANFILES = *~ - - SUBDIRS = frontend adapter engine --gnuchess_LDADD = $(LIBINTL) frontend/libfrontend.a adapter/libadapter.a engine/libengine.a -+gnuchess_LDADD = frontend/libfrontend.a adapter/libadapter.a engine/libengine.a $(LIBINTL) - - configmake.h: Makefile - rm -f $@-t $@ -diff --git a/src/Makefile.in b/src/Makefile.in -index 9460bfd..424da52 100644 ---- a/src/Makefile.in -+++ b/src/Makefile.in -@@ -395,7 +395,7 @@ AM_LDFLAGS = $(PTHREAD_LDFLAGS) $(PTHREAD_LIBS) - AM_CPPFLAGS = -I$(top_srcdir)/lib -I$(top_builddir)/lib - DISTCLEANFILES = *~ - SUBDIRS = frontend adapter engine --gnuchess_LDADD = $(LIBINTL) frontend/libfrontend.a adapter/libadapter.a engine/libengine.a -+gnuchess_LDADD = frontend/libfrontend.a adapter/libadapter.a engine/libengine.a $(LIBINTL) - BUILT_SOURCES = configmake.h - CLEANFILES = configmake.h configmake.h-t - all: $(BUILT_SOURCES) config.h --- -1.9.3 - diff --git a/package/gnuchess/Config.in b/package/gnuchess/Config.in index 4993b1adf0..0ddd2882d6 100644 --- a/package/gnuchess/Config.in +++ b/package/gnuchess/Config.in @@ -3,9 +3,9 @@ config BR2_PACKAGE_GNUCHESS depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_FLEX - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE help - GNU Chess lets most modern computers play a full game of chess. + GNU Chess lets most modern computers play a full game of + chess. http://ftp.gnu.org/pub/gnu/chess diff --git a/package/gnuchess/gnuchess.mk b/package/gnuchess/gnuchess.mk index e066b01fe5..1465ab0a00 100644 --- a/package/gnuchess/gnuchess.mk +++ b/package/gnuchess/gnuchess.mk @@ -6,11 +6,11 @@ GNUCHESS_VERSION = 6.2.4 GNUCHESS_SITE = $(BR2_GNU_MIRROR)/chess -GNUCHESS_LICENSE = GPLv2+ +GNUCHESS_LICENSE = GPL-2.0+ GNUCHESS_LICENSE_FILES = COPYING GNUCHESS_DEPENDENCIES = host-flex flex GNUCHESS_DEPENDENCIES += $(if $(BR2_PACKAGE_READLINE),readline) \ - $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) + $(TARGET_NLS_DEPENDENCIES) $(eval $(autotools-package)) diff --git a/package/gnupg/Config.in b/package/gnupg/Config.in index 30f215fed8..7c31612298 100644 --- a/package/gnupg/Config.in +++ b/package/gnupg/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_GNUPG bool "gnupg" + depends on !BR2_PACKAGE_GNUPG2 select BR2_PACKAGE_ZLIB select BR2_PACKAGE_NCURSES - depends on !BR2_PACKAGE_GNUPG2 help GnuPG is the GNU project's complete and free implementation of the OpenPGP standard as defined by RFC4880. GnuPG allows diff --git a/package/gnupg/gnupg.hash b/package/gnupg/gnupg.hash index 8968b00d2b..abd76cde9c 100644 --- a/package/gnupg/gnupg.hash +++ b/package/gnupg/gnupg.hash @@ -1,4 +1,3 @@ -# From https://lists.gnu.org/archive/html/info-gnu/2016-08/msg00008.html -sha1 e3bdb585026f752ae91360f45c28e76e4a15d338 gnupg-1.4.21.tar.bz2 -# Locally computed -sha256 6b47a3100c857dcab3c60e6152e56a997f2c7862c1b8b2b25adf3884a1ae2276 gnupg-1.4.21.tar.bz2 +# Locally computed based on signature +# https://gnupg.org/ftp/gcrypt/gnupg/gnupg-1.4.22.tar.bz2.sig +sha256 9594a24bec63a21568424242e3f198b9d9828dea5ff0c335e47b06f835f930b4 gnupg-1.4.22.tar.bz2 diff --git a/package/gnupg/gnupg.mk b/package/gnupg/gnupg.mk index 182abd6709..0ed3e1e063 100644 --- a/package/gnupg/gnupg.mk +++ b/package/gnupg/gnupg.mk @@ -4,14 +4,19 @@ # ################################################################################ -GNUPG_VERSION = 1.4.21 +GNUPG_VERSION = 1.4.22 GNUPG_SOURCE = gnupg-$(GNUPG_VERSION).tar.bz2 -GNUPG_SITE = ftp://ftp.gnupg.org/gcrypt/gnupg -GNUPG_LICENSE = GPLv3+ +GNUPG_SITE = https://gnupg.org/ftp/gcrypt/gnupg +GNUPG_LICENSE = GPL-3.0+ GNUPG_LICENSE_FILES = COPYING GNUPG_DEPENDENCIES = zlib ncurses $(if $(BR2_PACKAGE_LIBICONV),libiconv) GNUPG_CONF_ENV = ac_cv_sys_symbol_underscore=no -GNUPG_CONF_OPTS = --disable-rpath --enable-minimal --disable-regex +GNUPG_CONF_OPTS = \ + --disable-rpath \ + --enable-minimal \ + --disable-regex \ + --enable-sha256 \ + --enable-sha512 # gnupg doesn't support assembly for coldfire ifeq ($(BR2_m68k_cf),y) diff --git a/package/gnupg2/0001-fix-pth-config-usage.patch b/package/gnupg2/0001-fix-pth-config-usage.patch deleted file mode 100644 index 756d351397..0000000000 --- a/package/gnupg2/0001-fix-pth-config-usage.patch +++ /dev/null @@ -1,24 +0,0 @@ -Fix usage of PTH_CONFIG to work with pthsem - -The pthsem re-implement of pth provides a compatibility layer for pth, -but its pth-config script behaves slightly differently than the -original one when reporting the version number. This patch to gnupg2's -configure script adjusts the version checking to support this -difference, since Buildroot uses pth-config from pthsem. - -Signed-off-by: Thomas Petazzoni -[yann.morin.1998@free.fr: adapt to patch m4 macro for autoreconfiguring] -Signed-off-by: "Yann E. MORIN" - -diff -durN gnupg2-2.0.29.orig/m4/gnupg-pth.m4 gnupg2-2.0.29/m4/gnupg-pth.m4 ---- gnupg2-2.0.29.orig/m4/gnupg-pth.m4 2015-09-08 14:39:24.000000000 +0200 -+++ gnupg2-2.0.29/m4/gnupg-pth.m4 2015-12-16 18:30:54.336513493 +0100 -@@ -17,7 +17,7 @@ - # Taken and modified from the m4 macros which come with Pth. - AC_DEFUN([GNUPG_PTH_VERSION_CHECK], - [ -- _pth_version=`$PTH_CONFIG --version | awk 'NR==1 {print [$]3}'` -+ _pth_version=`$PTH_CONFIG --version | awk 'NR==1 {print [$]2}'` - _req_version="ifelse([$1],,1.2.0,$1)" - - AC_MSG_CHECKING(for PTH - version >= $_req_version) diff --git a/package/gnupg2/0002-missing-include.patch b/package/gnupg2/0002-missing-include.patch deleted file mode 100644 index f20994cedb..0000000000 --- a/package/gnupg2/0002-missing-include.patch +++ /dev/null @@ -1,15 +0,0 @@ -tools/watchgnupg: select() is from sys/select.h - -Signed-off-by: "Yann E. MORIN" - -diff -durN gnupg2-2.0.29.orig/tools/watchgnupg.c gnupg2-2.0.29/tools/watchgnupg.c ---- gnupg2-2.0.29.orig/tools/watchgnupg.c 2015-09-08 14:39:24.000000000 +0200 -+++ gnupg2-2.0.29/tools/watchgnupg.c 2015-12-16 18:17:17.758057787 +0100 -@@ -32,6 +32,7 @@ - #include - #include - #include -+#include - - #define PGM "watchgnupg" - diff --git a/package/gnupg2/0003-dont-run-tests.patch b/package/gnupg2/0003-dont-run-tests.patch deleted file mode 100644 index 1858a0de09..0000000000 --- a/package/gnupg2/0003-dont-run-tests.patch +++ /dev/null @@ -1,39 +0,0 @@ -tests: really don't run tests in cross-compilation - -Signed-off-by: "Yann E. MORIN" - -diff -durN gnupg2-2.0.29.orig/tests/Makefile.am gnupg2-2.0.29/tests/Makefile.am ---- gnupg2-2.0.29.orig/tests/Makefile.am 2015-09-08 14:39:24.000000000 +0200 -+++ gnupg2-2.0.29/tests/Makefile.am 2015-12-16 18:27:55.778227183 +0100 -@@ -64,6 +64,7 @@ - asschk_SOURCES = asschk.c - - -+if RUN_GPG_TESTS - all-local: inittests.stamp - - clean-local: -@@ -72,4 +73,5 @@ - inittests.stamp: inittests - srcdir=$(srcdir) $(TESTS_ENVIRONMENT) $(srcdir)/inittests - echo timestamp >./inittests.stamp -+endif # RUN_GPG_TESTS - -diff -durN gnupg2-2.0.29.orig/tests/pkits/Makefile.am gnupg2-2.0.29/tests/pkits/Makefile.am ---- gnupg2-2.0.29.orig/tests/pkits/Makefile.am 2015-09-01 08:52:21.000000000 +0200 -+++ gnupg2-2.0.29/tests/pkits/Makefile.am 2015-12-16 18:44:06.422655594 +0100 -@@ -52,6 +52,7 @@ - - DISTCLEANFILES = pubring.kbx~ random_seed - -+if RUN_GPG_TESTS - all-local: inittests.stamp - - clean-local: -@@ -71,5 +72,5 @@ - elif test $$? -eq 77; then echo "- SKIP $$tst"; \ - fi; \ - done -- -+endif # RUN_GPG_TESTS - diff --git a/package/gnupg2/0004-silence-git-when-not-in-git-tree.patch b/package/gnupg2/0004-silence-git-when-not-in-git-tree.patch deleted file mode 100644 index 5eaefe4bda..0000000000 --- a/package/gnupg2/0004-silence-git-when-not-in-git-tree.patch +++ /dev/null @@ -1,26 +0,0 @@ -configure: silence autoreconf when not in a git tree - -When autoreconfiguring ourside of a git tree, the output is verbose -with git errors. - -Silence that by consigning stderr to oblivion. - -Signed-off-by: "Yann E. MORIN" - -diff -durN gnupg2-2.0.29.orig/configure.ac gnupg2-2.0.29/configure.ac ---- gnupg2-2.0.29.orig/configure.ac 2015-09-08 14:39:24.000000000 +0200 -+++ gnupg2-2.0.29/configure.ac 2015-12-16 18:34:47.099493863 +0100 -@@ -33,11 +33,11 @@ - # flag indicating a development version (mym4_isgit). Note that the - # m4 processing is done by autoconf and not during the configure run. - m4_define([mym4_revision], -- m4_esyscmd([git rev-parse --short HEAD | tr -d '\n\r'])) -+ m4_esyscmd([git rev-parse --short HEAD 2>/dev/null | tr -d '\n\r'])) - m4_define([mym4_revision_dec], - m4_esyscmd_s([echo $((0x$(echo ]mym4_revision[|head -c 4)))])) - m4_define([mym4_betastring], -- m4_esyscmd_s([git describe --match 'gnupg-2.[0-9].*[0-9]' --long|\ -+ m4_esyscmd_s([git describe --match 'gnupg-2.[0-9].*[0-9]' --long 2>/dev/null |\ - awk -F- '$3!=0{print"-beta"$3}'])) - m4_define([mym4_isgit],m4_if(mym4_betastring,[],[no],[yes])) - m4_define([mym4_full_version],[mym4_version[]mym4_betastring]) diff --git a/package/gnupg2/Config.in b/package/gnupg2/Config.in index ba2a6bcff5..c287089657 100644 --- a/package/gnupg2/Config.in +++ b/package/gnupg2/Config.in @@ -1,20 +1,20 @@ -comment "gnupg2 needs a toolchain w/ dynamic library" +comment "gnupg2 needs a toolchain w/ threads and dynamic library support" depends on BR2_USE_MMU - depends on BR2_STATIC_LIBS + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS config BR2_PACKAGE_GNUPG2 bool "gnupg2" + depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgpg-error + depends on BR2_TOOLCHAIN_HAS_THREADS # libnpth + depends on BR2_USE_MMU # libassuan, libnpth + depends on !BR2_STATIC_LIBS select BR2_PACKAGE_ZLIB select BR2_PACKAGE_LIBGPG_ERROR select BR2_PACKAGE_LIBGCRYPT select BR2_PACKAGE_LIBASSUAN select BR2_PACKAGE_LIBKSBA - select BR2_PACKAGE_LIBPTHSEM - select BR2_PACKAGE_LIBPTHSEM_COMPAT + select BR2_PACKAGE_LIBNPTH select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE - depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgpg-error - depends on BR2_USE_MMU # libassuan - depends on !BR2_STATIC_LIBS help GnuPG is the GNU project's complete and free implementation of the OpenPGP standard as defined by RFC4880. GnuPG allows diff --git a/package/gnupg2/gnupg2.hash b/package/gnupg2/gnupg2.hash index 67f7d9da36..84152ee4f2 100644 --- a/package/gnupg2/gnupg2.hash +++ b/package/gnupg2/gnupg2.hash @@ -1,4 +1,5 @@ -# From https://lists.gnupg.org/pipermail/gnupg-announce/2016q1/000385.html -sha1 a9f024588c356a55e2fd413574bfb55b2e18794a gnupg-2.0.30.tar.bz2 -# Calculated based on the hash above -sha256 e329785a4f366ba5d72c2c678a7e388b0892ac8440c2f4e6810042123c235d71 gnupg-2.0.30.tar.bz2 +# From https://lists.gnupg.org/pipermail/gnupg-announce/2017q3/000413.html +sha1 36ee693d0b2ec529ecf53dd6d397cc38ba71c0a7 gnupg-2.2.0.tar.bz2 +# Calculated based on the hash above and signature +# https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.2.0.tar.bz2.sig +sha256 d4514a0be0f7a1ff263193330019eb4b53c82f0f5e230af3c14df371271a45e6 gnupg-2.2.0.tar.bz2 diff --git a/package/gnupg2/gnupg2.mk b/package/gnupg2/gnupg2.mk index 763e9454a9..0466ed633f 100644 --- a/package/gnupg2/gnupg2.mk +++ b/package/gnupg2/gnupg2.mk @@ -4,25 +4,23 @@ # ################################################################################ -GNUPG2_VERSION = 2.0.30 +GNUPG2_VERSION = 2.2.0 GNUPG2_SOURCE = gnupg-$(GNUPG2_VERSION).tar.bz2 -GNUPG2_SITE = ftp://ftp.gnupg.org/gcrypt/gnupg -GNUPG2_LICENSE = GPLv3+ +GNUPG2_SITE = https://gnupg.org/ftp/gcrypt/gnupg +GNUPG2_LICENSE = GPL-3.0+ GNUPG2_LICENSE_FILES = COPYING -GNUPG2_DEPENDENCIES = zlib libgpg-error libgcrypt libassuan libksba libpthsem \ - $(if $(BR2_PACKAGE_LIBICONV),libiconv) - -# Patching configure.ac and m4 macros, as well as Makefile.am -GNUPG2_AUTORECONF = YES +GNUPG2_DEPENDENCIES = zlib libgpg-error libgcrypt libassuan libksba libnpth \ + $(if $(BR2_PACKAGE_LIBICONV),libiconv) host-pkgconf +# Keep the gpg2 binary name to avoid conflict with gnupg GNUPG2_CONF_OPTS = \ + --enable-gpg-is-gpg2 \ --disable-rpath --disable-regex --disable-doc \ --with-libgpg-error-prefix=$(STAGING_DIR)/usr \ --with-libgcrypt-prefix=$(STAGING_DIR)/usr \ --with-libassuan-prefix=$(STAGING_DIR)/usr \ --with-ksba-prefix=$(STAGING_DIR)/usr \ - --with-pth-prefix=$(STAGING_DIR)/usr -GNUPG2_CONF_ENV = gl_cv_header_working_stdint_h=yes + --with-npth-prefix=$(STAGING_DIR)/usr ifneq ($(BR2_PACKAGE_GNUPG2_GPGV2),y) define GNUPG2_REMOVE_GPGV2 @@ -38,9 +36,17 @@ else GNUPG2_CONF_OPTS += --disable-bzip2 endif -ifeq ($(BR2_PACKAGE_LIBUSB_COMPAT),y) +ifeq ($(BR2_PACKAGE_GNUTLS),y) +GNUPG2_CONF_OPTS += --enable-gnutls +GNUPG2_DEPENDENCIES += gnutls +else +GNUPG2_CONF_OPTS += --disable-gnutls +endif + +ifeq ($(BR2_PACKAGE_LIBUSB),y) +GNUPG2_CONF_ENV += CPPFLAGS="$(TARGET_CPPFLAGS) -I$(STAGING_DIR)/usr/include/libusb-1.0" GNUPG2_CONF_OPTS += --enable-ccid-driver -GNUPG2_DEPENDENCIES += libusb-compat +GNUPG2_DEPENDENCIES += libusb else GNUPG2_CONF_OPTS += --disable-ccid-driver endif @@ -52,4 +58,11 @@ else GNUPG2_CONF_OPTS += --without-readline endif +ifeq ($(BR2_PACKAGE_SQLITE),y) +GNUPG2_CONF_OPTS += --enable-sqlite +GNUPG2_DEPENDENCIES += sqlite +else +GNUPG2_CONF_OPTS += --disable-sqlite +endif + $(eval $(autotools-package)) diff --git a/package/gnuplot/gnuplot.hash b/package/gnuplot/gnuplot.hash index a71d006594..1ea8c2852f 100644 --- a/package/gnuplot/gnuplot.hash +++ b/package/gnuplot/gnuplot.hash @@ -1,3 +1,5 @@ -# From https://sourceforge.net/projects/gnuplot/files/gnuplot/5.0.5/ -md5 c5e96fca73afbee4f57cbc1bfce6b3b8 gnuplot-5.0.5.tar.gz -sha1 c35f55657fdc33217dd70bbf3148578563ecaad1 gnuplot-5.0.5.tar.gz +# From https://sourceforge.net/projects/gnuplot/files/gnuplot/5.0.6/ +md5 8ec46520a86a61163a701b00404faf1a gnuplot-5.0.6.tar.gz +sha1 f7b8948166b22e5bd658d5cf7579716f4821dba0 gnuplot-5.0.6.tar.gz +# Locally computed +sha256 5bbe4713e555c2e103b7d4ffd45fca69551fff09cf5c3f9cb17428aaacc9b460 gnuplot-5.0.6.tar.gz diff --git a/package/gnuplot/gnuplot.mk b/package/gnuplot/gnuplot.mk index 3e00eefef8..d59605c570 100644 --- a/package/gnuplot/gnuplot.mk +++ b/package/gnuplot/gnuplot.mk @@ -4,7 +4,7 @@ # ################################################################################ -GNUPLOT_VERSION = 5.0.5 +GNUPLOT_VERSION = 5.0.6 GNUPLOT_SITE = http://downloads.sourceforge.net/project/gnuplot/gnuplot/$(GNUPLOT_VERSION) GNUPLOT_LICENSE = gnuplot license (open source) GNUPLOT_LICENSE_FILES = Copyright diff --git a/package/gnuradio/0002-fix_cmake_3_5_0_build_failure.patch b/package/gnuradio/0002-fix_cmake_3_5_0_build_failure.patch deleted file mode 100644 index 15d7dea7da..0000000000 --- a/package/gnuradio/0002-fix_cmake_3_5_0_build_failure.patch +++ /dev/null @@ -1,175 +0,0 @@ -Changing CMAKE_{SOURCE,BINARY}_DIR like volk does in its top-level -CMakeLists.txt no longer works with CMake 3.5.0. - -Use PROJECT_{BINARY,SOURCE}_DIR instead. - -Obtained from: http://pkgs.fedoraproject.org/cgit/rpms/gnuradio.git/commit/?id=b50c7e66f6e3a1e6a84e25505d3fd873756c2027 -Upstream patch and discussion: https://github.com/gnuradio/volk/pull/65 - -Signed-off-by: Gwenhael Goavec-Merou ---- - apps/CMakeLists.txt | 12 ++++++------ - lib/CMakeLists.txt | 48 ++++++++++++++++++++++++------------------------ - 2 files changed, 30 insertions(+), 30 deletions(-) - -diff --git a/volk/apps/CMakeLists.txt b/volk/apps/CMakeLists.txt -index 74ed18d..f9ef6e0 100644 ---- a/volk/apps/CMakeLists.txt -+++ b/volk/apps/CMakeLists.txt -@@ -19,23 +19,23 @@ - # Setup profiler - ######################################################################## - if(MSVC) -- include_directories(${CMAKE_SOURCE_DIR}/cmake/msvc) -+ include_directories(${PROJECT_SOURCE_DIR}/cmake/msvc) - endif(MSVC) - - include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_BINARY_DIR} -- ${CMAKE_SOURCE_DIR}/include -- ${CMAKE_BINARY_DIR}/include -- ${CMAKE_SOURCE_DIR}/lib -- ${CMAKE_BINARY_DIR}/lib -+ ${PROJECT_SOURCE_DIR}/include -+ ${PROJECT_BINARY_DIR}/include -+ ${PROJECT_SOURCE_DIR}/lib -+ ${PROJECT_BINARY_DIR}/lib - ${Boost_INCLUDE_DIRS} - ) - - # MAKE volk_profile - add_executable(volk_profile - ${CMAKE_CURRENT_SOURCE_DIR}/volk_profile.cc -- ${CMAKE_SOURCE_DIR}/lib/qa_utils.cc -+ ${PROJECT_SOURCE_DIR}/lib/qa_utils.cc - ) - - -diff --git a/volk/lib/CMakeLists.txt b/volk/lib/CMakeLists.txt -index 35b67dc..f00200a 100644 ---- a/volk/lib/CMakeLists.txt -+++ b/volk/lib/CMakeLists.txt -@@ -90,7 +90,7 @@ endif() - ######################################################################## - execute_process( - COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B} -- ${CMAKE_SOURCE_DIR}/gen/volk_compile_utils.py -+ ${PROJECT_SOURCE_DIR}/gen/volk_compile_utils.py - --mode "arch_flags" --compiler "${COMPILER_NAME}" - OUTPUT_VARIABLE arch_flag_lines OUTPUT_STRIP_TRAILING_WHITESPACE - ) -@@ -278,7 +278,7 @@ message(STATUS "Available architectures: ${available_archs}") - ######################################################################## - execute_process( - COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B} -- ${CMAKE_SOURCE_DIR}/gen/volk_compile_utils.py -+ ${PROJECT_SOURCE_DIR}/gen/volk_compile_utils.py - --mode "machines" --archs "${available_archs}" - OUTPUT_VARIABLE available_machines OUTPUT_STRIP_TRAILING_WHITESPACE - ) -@@ -310,9 +310,9 @@ message(STATUS "Available machines: ${available_machines}") - ######################################################################## - - #dependencies are all python, xml, and header implementation files --file(GLOB xml_files ${CMAKE_SOURCE_DIR}/gen/*.xml) --file(GLOB py_files ${CMAKE_SOURCE_DIR}/gen/*.py) --file(GLOB h_files ${CMAKE_SOURCE_DIR}/kernels/volk/*.h) -+file(GLOB xml_files ${PROJECT_SOURCE_DIR}/gen/*.xml) -+file(GLOB py_files ${PROJECT_SOURCE_DIR}/gen/*.py) -+file(GLOB h_files ${PROJECT_SOURCE_DIR}/kernels/volk/*.h) - - macro(gen_template tmpl output) - list(APPEND volk_gen_sources ${output}) -@@ -320,21 +320,21 @@ macro(gen_template tmpl output) - OUTPUT ${output} - DEPENDS ${xml_files} ${py_files} ${h_files} ${tmpl} - COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B} -- ${CMAKE_SOURCE_DIR}/gen/volk_tmpl_utils.py -+ ${PROJECT_SOURCE_DIR}/gen/volk_tmpl_utils.py - --input ${tmpl} --output ${output} ${ARGN} - ) - endmacro(gen_template) - --make_directory(${CMAKE_BINARY_DIR}/include/volk) -+make_directory(${PROJECT_BINARY_DIR}/include/volk) - --gen_template(${CMAKE_SOURCE_DIR}/tmpl/volk.tmpl.h ${CMAKE_BINARY_DIR}/include/volk/volk.h) --gen_template(${CMAKE_SOURCE_DIR}/tmpl/volk.tmpl.c ${CMAKE_BINARY_DIR}/lib/volk.c) --gen_template(${CMAKE_SOURCE_DIR}/tmpl/volk_typedefs.tmpl.h ${CMAKE_BINARY_DIR}/include/volk/volk_typedefs.h) --gen_template(${CMAKE_SOURCE_DIR}/tmpl/volk_cpu.tmpl.h ${CMAKE_BINARY_DIR}/include/volk/volk_cpu.h) --gen_template(${CMAKE_SOURCE_DIR}/tmpl/volk_cpu.tmpl.c ${CMAKE_BINARY_DIR}/lib/volk_cpu.c) --gen_template(${CMAKE_SOURCE_DIR}/tmpl/volk_config_fixed.tmpl.h ${CMAKE_BINARY_DIR}/include/volk/volk_config_fixed.h) --gen_template(${CMAKE_SOURCE_DIR}/tmpl/volk_machines.tmpl.h ${CMAKE_BINARY_DIR}/lib/volk_machines.h) --gen_template(${CMAKE_SOURCE_DIR}/tmpl/volk_machines.tmpl.c ${CMAKE_BINARY_DIR}/lib/volk_machines.c) -+gen_template(${PROJECT_SOURCE_DIR}/tmpl/volk.tmpl.h ${PROJECT_BINARY_DIR}/include/volk/volk.h) -+gen_template(${PROJECT_SOURCE_DIR}/tmpl/volk.tmpl.c ${PROJECT_BINARY_DIR}/lib/volk.c) -+gen_template(${PROJECT_SOURCE_DIR}/tmpl/volk_typedefs.tmpl.h ${PROJECT_BINARY_DIR}/include/volk/volk_typedefs.h) -+gen_template(${PROJECT_SOURCE_DIR}/tmpl/volk_cpu.tmpl.h ${PROJECT_BINARY_DIR}/include/volk/volk_cpu.h) -+gen_template(${PROJECT_SOURCE_DIR}/tmpl/volk_cpu.tmpl.c ${PROJECT_BINARY_DIR}/lib/volk_cpu.c) -+gen_template(${PROJECT_SOURCE_DIR}/tmpl/volk_config_fixed.tmpl.h ${PROJECT_BINARY_DIR}/include/volk/volk_config_fixed.h) -+gen_template(${PROJECT_SOURCE_DIR}/tmpl/volk_machines.tmpl.h ${PROJECT_BINARY_DIR}/lib/volk_machines.h) -+gen_template(${PROJECT_SOURCE_DIR}/tmpl/volk_machines.tmpl.c ${PROJECT_BINARY_DIR}/lib/volk_machines.c) - - set(BASE_CFLAGS NONE) - string(TOUPPER ${CMAKE_BUILD_TYPE} CBTU) -@@ -362,12 +362,12 @@ set(COMPILER_INFO "${CMAKE_C_COMPILER}:::${CMAKE_C_FLAGS_${GRCBTU}} ${CMAKE_C_FL - foreach(machine_name ${available_machines}) - #generate machine source - set(machine_source ${CMAKE_CURRENT_BINARY_DIR}/volk_machine_${machine_name}.c) -- gen_template(${CMAKE_SOURCE_DIR}/tmpl/volk_machine_xxx.tmpl.c ${machine_source} ${machine_name}) -+ gen_template(${PROJECT_SOURCE_DIR}/tmpl/volk_machine_xxx.tmpl.c ${machine_source} ${machine_name}) - - #determine machine flags - execute_process( - COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B} -- ${CMAKE_SOURCE_DIR}/gen/volk_compile_utils.py -+ ${PROJECT_SOURCE_DIR}/gen/volk_compile_utils.py - --mode "machine_flags" --machine "${machine_name}" --compiler "${COMPILER_NAME}" - OUTPUT_VARIABLE ${machine_name}_flags OUTPUT_STRIP_TRAILING_WHITESPACE - ) -@@ -393,9 +393,9 @@ string(REPLACE "\n" " \\n" COMPILER_INFO ${COMPILER_INFO}) - # Set local include directories first - ######################################################################## - include_directories( -- ${CMAKE_BINARY_DIR}/include -- ${CMAKE_SOURCE_DIR}/include -- ${CMAKE_SOURCE_DIR}/kernels -+ ${PROJECT_BINARY_DIR}/include -+ ${PROJECT_SOURCE_DIR}/include -+ ${PROJECT_SOURCE_DIR}/kernels - ${CMAKE_CURRENT_BINARY_DIR} - ${CMAKE_CURRENT_SOURCE_DIR} - ) -@@ -420,8 +420,8 @@ if(${CMAKE_VERSION} VERSION_GREATER "2.8.9") - # setup architecture specific assembler flags - set(ARCH_ASM_FLAGS "-mfpu=neon -g") - # then add the files -- include_directories(${CMAKE_SOURCE_DIR}/kernels/volk/asm/neon) -- file(GLOB asm_files ${CMAKE_SOURCE_DIR}/kernels/volk/asm/neon/*.s) -+ include_directories(${PROJECT_SOURCE_DIR}/kernels/volk/asm/neon) -+ file(GLOB asm_files ${PROJECT_SOURCE_DIR}/kernels/volk/asm/neon/*.s) - foreach(asm_file ${asm_files}) - list(APPEND volk_sources ${asm_file}) - message(STATUS "Adding source file: ${asm_file}") -@@ -453,7 +453,7 @@ if(ORC_FOUND) - list(APPEND volk_libraries ${ORC_LIBRARIES}) - - #setup orc functions -- file(GLOB orc_files ${CMAKE_SOURCE_DIR}/kernels/volk/asm/orc/*.orc) -+ file(GLOB orc_files ${PROJECT_SOURCE_DIR}/kernels/volk/asm/orc/*.orc) - foreach(orc_file ${orc_files}) - - #extract the name for the generated c source from the orc file -@@ -511,7 +511,7 @@ PROPERTIES COMPILE_DEFINITIONS "${machine_defs}") - - if(MSVC) - #add compatibility includes for stdint types -- include_directories(${CMAKE_SOURCE_DIR}/cmake/msvc) -+ include_directories(${PROJECT_SOURCE_DIR}/cmake/msvc) - add_definitions(-DHAVE_CONFIG_H) - #compile the sources as C++ due to the lack of complex.h under MSVC - set_source_files_properties(${volk_sources} PROPERTIES LANGUAGE CXX) --- -2.7.3 - diff --git a/package/gnuradio/0003-fix_compilation_in_gcc-6.patch b/package/gnuradio/0003-fix_compilation_in_gcc-6.patch deleted file mode 100644 index f50af85681..0000000000 --- a/package/gnuradio/0003-fix_compilation_in_gcc-6.patch +++ /dev/null @@ -1,36 +0,0 @@ -commit a1cf11937665392bcfa223a5095ff903eb44c69b -Author: Jaroslav #karvada -Date: Fri Feb 12 18:29:13 2016 +0100 - -Backport patch from -http://gnuradio.org/redmine/projects/gnuradio/repository/revisions/a1cf11937665392bcfa223a5095ff903eb44c69b - -Fix compilation in gcc-6 - -Signed-off-by: Jaroslav #karvada -Signed-off-by: Gwenhael Goavec-Merou ---- -diff --git a/gr-fec/include/gnuradio/fec/polar_decoder_common.h b/gr-fec/include/gnuradio/fec/polar_decoder_common.h -index b0ecb85..a39ee4f 100644 ---- a/gr-fec/include/gnuradio/fec/polar_decoder_common.h -+++ b/gr-fec/include/gnuradio/fec/polar_decoder_common.h -@@ -28,6 +28,10 @@ - #include - #include - -+#ifndef BOOST_CONSTEXPR_OR_CONST -+#define BOOST_CONSTEXPR_OR_CONST const -+#endif -+ - namespace gr { - namespace fec { - namespace code { -@@ -64,7 +68,7 @@ namespace gr { - bool set_frame_size(unsigned int frame_size){return false;}; - - private: -- static const float D_LLR_FACTOR = -2.19722458f; -+ static BOOST_CONSTEXPR_OR_CONST float D_LLR_FACTOR = -2.19722458f; - unsigned int d_frozen_bit_counter; - - protected: diff --git a/package/gnuradio/Config.in b/package/gnuradio/Config.in index 8301afe8f2..178bdc8861 100644 --- a/package/gnuradio/Config.in +++ b/package/gnuradio/Config.in @@ -14,6 +14,7 @@ config BR2_PACKAGE_GNURADIO select BR2_PACKAGE_BOOST_DATE_TIME select BR2_PACKAGE_BOOST_FILESYSTEM select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS + select BR2_PACKAGE_BOOST_REGEX select BR2_PACKAGE_BOOST_SYSTEM select BR2_PACKAGE_BOOST_THREAD help @@ -32,7 +33,7 @@ if BR2_PACKAGE_GNURADIO config BR2_PACKAGE_GNURADIO_AUDIO bool "gr-audio" - depends on BR2_PACKAGE_ALSA_LIB || BR2_PACKAGE_PORTAUDIO + select BR2_PACKAGE_ALSA_LIB if !BR2_PACKAGE_PORTAUDIO help Add audio source/sink to GNU Radio diff --git a/package/gnuradio/gnuradio.hash b/package/gnuradio/gnuradio.hash index bb934e2b92..86944f48c4 100644 --- a/package/gnuradio/gnuradio.hash +++ b/package/gnuradio/gnuradio.hash @@ -1,2 +1,2 @@ # From http://gnuradio.org/releases/gnuradio/sha256sums -sha256 9c06f0f1ec14113203e0486fd526dd46ecef216dfe42f12d78d9b781b1ef967e gnuradio-3.7.9.1.tar.gz +sha256 87d9ba3183858efdbb237add3f9de40f7d65f25e16904a9bc8d764a7287252d4 gnuradio-3.7.11.tar.gz diff --git a/package/gnuradio/gnuradio.mk b/package/gnuradio/gnuradio.mk index f1817f61c2..a55c116118 100644 --- a/package/gnuradio/gnuradio.mk +++ b/package/gnuradio/gnuradio.mk @@ -4,9 +4,9 @@ # ################################################################################ -GNURADIO_VERSION = 3.7.9.1 +GNURADIO_VERSION = 3.7.11 GNURADIO_SITE = http://gnuradio.org/releases/gnuradio -GNURADIO_LICENSE = GPLv3+ +GNURADIO_LICENSE = GPL-3.0+ GNURADIO_LICENSE_FILES = COPYING GNURADIO_SUPPORTS_IN_SOURCE_BUILD = NO @@ -30,6 +30,10 @@ GNURADIO_CONF_OPTS = \ # compile time. GNURADIO_INSTALL_STAGING = YES +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +GNURADIO_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic +endif + # Yes, this is silly, because -march is already known by the compiler # with the internal toolchain, and passed by the external wrapper for # external toolchains. Nonetheless, gnuradio does some matching on the diff --git a/package/gnutls/Config.in b/package/gnutls/Config.in index cfb7cb3f3b..176951a385 100644 --- a/package/gnutls/Config.in +++ b/package/gnutls/Config.in @@ -1,10 +1,12 @@ config BR2_PACKAGE_GNUTLS bool "gnutls" + # https://gitlab.com/gnutls/gnutls/issues/203 + depends on !BR2_STATIC_LIBS + depends on BR2_USE_WCHAR select BR2_PACKAGE_LIBTASN1 select BR2_PACKAGE_LIBUNISTRING select BR2_PACKAGE_NETTLE select BR2_PACKAGE_PCRE - depends on BR2_USE_WCHAR help GnuTLS is a secure communications library implementing the SSL and TLS protocols and technologies around them. @@ -18,9 +20,10 @@ config BR2_PACKAGE_GNUTLS_TOOLS select BR2_PACKAGE_ARGP_STANDALONE \ if BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_MUSL help - Install GnuTLS command line tools for various cryptographic tasks. + Install GnuTLS command line tools for various cryptographic + tasks. endif -comment "gnutls needs a toolchain w/ wchar" - depends on !BR2_USE_WCHAR +comment "gnutls needs a toolchain w/ wchar, dynamic library" + depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS diff --git a/package/gnutls/gnutls.hash b/package/gnutls/gnutls.hash index 121f75a702..608ccf89c5 100644 --- a/package/gnutls/gnutls.hash +++ b/package/gnutls/gnutls.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 0e97f243ae72b70307d684b84c7fe679385aa7a7a0e37e5be810193dcc17d4ff gnutls-3.5.8.tar.xz +sha256 4aa12dec92f42a0434df794aca3d02f6f2a35b47b48c01252de65f355c051bda gnutls-3.5.14.tar.xz diff --git a/package/gnutls/gnutls.mk b/package/gnutls/gnutls.mk index 4fab812819..b00bd139cd 100644 --- a/package/gnutls/gnutls.mk +++ b/package/gnutls/gnutls.mk @@ -5,10 +5,10 @@ ################################################################################ GNUTLS_VERSION_MAJOR = 3.5 -GNUTLS_VERSION = $(GNUTLS_VERSION_MAJOR).8 +GNUTLS_VERSION = $(GNUTLS_VERSION_MAJOR).14 GNUTLS_SOURCE = gnutls-$(GNUTLS_VERSION).tar.xz -GNUTLS_SITE = ftp://ftp.gnutls.org/gcrypt/gnutls/v$(GNUTLS_VERSION_MAJOR) -GNUTLS_LICENSE = LGPLv2.1+ (core library), GPLv3+ (gnutls-openssl library) +GNUTLS_SITE = https://www.gnupg.org/ftp/gcrypt/gnutls/v$(GNUTLS_VERSION_MAJOR) +GNUTLS_LICENSE = LGPL-2.1+ (core library), GPL-3.0+ (gnutls-openssl library) GNUTLS_LICENSE_FILES = doc/COPYING doc/COPYING.LESSER GNUTLS_DEPENDENCIES = host-pkgconf libunistring libtasn1 nettle pcre GNUTLS_CONF_OPTS = \ diff --git a/package/go-bootstrap/Config.in.host b/package/go-bootstrap/Config.in.host new file mode 100644 index 0000000000..fab80d24b4 --- /dev/null +++ b/package/go-bootstrap/Config.in.host @@ -0,0 +1,7 @@ +config BR2_PACKAGE_HOST_GO_BOOTSTRAP_ARCH_SUPPORTS + bool + # See src/cmd/dist/unix.c for the list of support + # architectures + default y if BR2_HOSTARCH = "x86" + default y if BR2_HOSTARCH = "x86_64" + default y if BR2_HOSTARCH = "arm" diff --git a/package/go-bootstrap/go-bootstrap.mk b/package/go-bootstrap/go-bootstrap.mk index f403f78475..6710e31561 100644 --- a/package/go-bootstrap/go-bootstrap.mk +++ b/package/go-bootstrap/go-bootstrap.mk @@ -8,7 +8,7 @@ GO_BOOTSTRAP_VERSION = 1.4.3 GO_BOOTSTRAP_SITE = https://storage.googleapis.com/golang GO_BOOTSTRAP_SOURCE = go$(GO_BOOTSTRAP_VERSION).src.tar.gz -GO_BOOTSTRAP_LICENSE = BSD-3c +GO_BOOTSTRAP_LICENSE = BSD-3-Clause GO_BOOTSTRAP_LICENSE_FILES = LICENSE # To build programs that need cgo support the toolchain needs to be @@ -17,7 +17,7 @@ GO_BOOTSTRAP_LICENSE_FILES = LICENSE # host-go-bootstrap. HOST_GO_BOOTSTRAP_DEPENDENCIES = toolchain -HOST_GO_BOOTSTRAP_ROOT = $(HOST_DIR)/usr/lib/go-$(GO_BOOTSTRAP_VERSION) +HOST_GO_BOOTSTRAP_ROOT = $(HOST_DIR)/lib/go-$(GO_BOOTSTRAP_VERSION) # The go build system is not compatable with ccache, so use HOSTCC_NOCCACHE # here. See https://github.com/golang/go/issues/11685. diff --git a/package/go/Config.in.host b/package/go/Config.in.host index a210033efd..c871ac4196 100644 --- a/package/go/Config.in.host +++ b/package/go/Config.in.host @@ -1,6 +1,7 @@ config BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS bool default y + depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_ARCH_SUPPORTS depends on (BR2_arm && BR2_TOOLCHAIN_SUPPORTS_PIE) || BR2_aarch64 \ || BR2_i386 || BR2_x86_64 || BR2_powerpc64le \ || BR2_mips64 || BR2_mips64el diff --git a/package/go/go.hash b/package/go/go.hash index e50f0041f1..445a0b7c20 100644 --- a/package/go/go.hash +++ b/package/go/go.hash @@ -1,2 +1,2 @@ -# Locally computed: -sha256 4c189111e9ba651a2bb3ee868aa881fab36b2f2da3409e80885ca758a6b614cc go1.7.4.src.tar.gz +# From https://golang.org/dl/ +sha256 a4ab229028ed167ba1986825751463605264e44868362ca8e7accc8be057e993 go1.9.src.tar.gz diff --git a/package/go/go.mk b/package/go/go.mk index bd308902b2..23facbdd81 100644 --- a/package/go/go.mk +++ b/package/go/go.mk @@ -4,11 +4,11 @@ # ################################################################################ -GO_VERSION = 1.7.4 +GO_VERSION = 1.9 GO_SITE = https://storage.googleapis.com/golang GO_SOURCE = go$(GO_VERSION).src.tar.gz -GO_LICENSE = BSD-3c +GO_LICENSE = BSD-3-Clause GO_LICENSE_FILES = LICENSE ifeq ($(BR2_arm),y) @@ -37,7 +37,7 @@ GO_GOARCH = mips64le endif HOST_GO_DEPENDENCIES = host-go-bootstrap -HOST_GO_ROOT = $(HOST_DIR)/usr/lib/go +HOST_GO_ROOT = $(HOST_DIR)/lib/go # For the convienience of target packages. HOST_GO_TOOLDIR = $(HOST_GO_ROOT)/pkg/tool/linux_$(GO_GOARCH) @@ -52,7 +52,7 @@ HOST_GO_TARGET_ENV = \ # set, build in cgo support for any go programs that may need it. Note that # any target package needing cgo support must include # 'depends on BR2_TOOLCHAIN_HAS_THREADS' in its config file. -ifeq (BR2_TOOLCHAIN_HAS_THREADS,y) +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) HOST_GO_CGO_ENABLED = 1 else HOST_GO_CGO_ENABLED = 0 @@ -74,8 +74,8 @@ HOST_GO_MAKE_ENV = \ GOARCH=$(GO_GOARCH) \ $(if $(GO_GOARM),GOARM=$(GO_GOARM)) \ GOOS=linux \ - CGO_ENABLED=$(HOST_GO_CGO_ENABLED) \ - CC=$(HOSTCC_NOCCACHE) + CC=$(HOSTCC_NOCCACHE) \ + CXX=$(HOSTCXX_NOCCACHE) HOST_GO_TARGET_CC = \ CC_FOR_TARGET="$(TARGET_CC)" \ @@ -83,24 +83,26 @@ HOST_GO_TARGET_CC = \ HOST_GO_HOST_CC = \ CC_FOR_TARGET=$(HOSTCC_NOCCACHE) \ - CXX_FOR_TARGET=$(HOSTCC_NOCCACHE) + CXX_FOR_TARGET=$(HOSTCXX_NOCCACHE) HOST_GO_TMP = $(@D)/host-go-tmp define HOST_GO_BUILD_CMDS - cd $(@D)/src && $(HOST_GO_MAKE_ENV) $(HOST_GO_HOST_CC) ./make.bash + cd $(@D)/src && \ + $(HOST_GO_MAKE_ENV) $(HOST_GO_HOST_CC) CGO_ENABLED=0 ./make.bash mkdir -p $(HOST_GO_TMP) mv $(@D)/pkg/tool $(HOST_GO_TMP)/ mv $(@D)/bin/ $(HOST_GO_TMP)/ - cd $(@D)/src && $(HOST_GO_MAKE_ENV) $(HOST_GO_TARGET_CC) ./make.bash + cd $(@D)/src && \ + $(HOST_GO_MAKE_ENV) $(HOST_GO_TARGET_CC) CGO_ENABLED=$(HOST_GO_CGO_ENABLED) ./make.bash endef define HOST_GO_INSTALL_CMDS $(INSTALL) -D -m 0755 $(HOST_GO_TMP)/bin/go $(HOST_GO_ROOT)/bin/go $(INSTALL) -D -m 0755 $(HOST_GO_TMP)/bin/gofmt $(HOST_GO_ROOT)/bin/gofmt - ln -sf ../lib/go/bin/go $(HOST_DIR)/usr/bin/ - ln -sf ../lib/go/bin/gofmt $(HOST_DIR)/usr/bin/ + ln -sf ../lib/go/bin/go $(HOST_DIR)/bin/ + ln -sf ../lib/go/bin/gofmt $(HOST_DIR)/bin/ cp -a $(@D)/lib $(HOST_GO_ROOT)/ diff --git a/package/gob2/gob2.mk b/package/gob2/gob2.mk index 04d02e115c..fe60673821 100644 --- a/package/gob2/gob2.mk +++ b/package/gob2/gob2.mk @@ -12,4 +12,4 @@ HOST_GOB2_DEPENDENCIES = host-bison host-flex host-libglib2 $(eval $(host-autotools-package)) # gob2 for the host -GOB2_HOST_BINARY = $(HOST_DIR)/usr/bin/gob2 +GOB2_HOST_BINARY = $(HOST_DIR)/bin/gob2 diff --git a/package/google-breakpad/0002-Replace-remaining-references-to-struct-ucontext-with.patch b/package/google-breakpad/0002-Replace-remaining-references-to-struct-ucontext-with.patch new file mode 100644 index 0000000000..e02ae268b9 --- /dev/null +++ b/package/google-breakpad/0002-Replace-remaining-references-to-struct-ucontext-with.patch @@ -0,0 +1,257 @@ +From 7975a962e1d6dbad5a46792a54e647abd7caf5f1 Mon Sep 17 00:00:00 2001 +From: Mark Mentovai +Date: Tue, 19 Sep 2017 22:48:30 -0400 +Subject: [PATCH] Replace remaining references to 'struct ucontext' with + 'ucontext_t' + +This relands +https://chromium.googlesource.com/breakpad/breakpad/src/+/e3035bc406cee8a4d765e59ad46eb828705f17f4, +which was accidentally committed to breakpad/breakpad/src, the read-only +mirror of src in breakpad/breakpad. (Well, it should have been +read-only.) See https://crbug.com/766164. + +This fixes issues with glibc-2.26. + +See https://bugs.gentoo.org/show_bug.cgi?id=628782 , +https://sourceware.org/git/?p=glibc.git;h=251287734e89a52da3db682a8241eb6bccc050c9 , and +https://sourceware.org/ml/libc-alpha/2017-08/msg00010.html for context. +Change-Id: Id66f474d636dd2afa450bab925c5514a800fdd6f +Reviewed-on: https://chromium-review.googlesource.com/674304 +Reviewed-by: Mark Mentovai + +(cherry picked from commit bddcc58860f522a0d4cbaa7e9d04058caee0db9d) +[Romain: backport from upstream] +Signed-off-by: Romain Naour +--- + .../linux/dump_writer_common/ucontext_reader.cc | 32 +++++++++++----------- + .../linux/dump_writer_common/ucontext_reader.h | 14 +++++----- + src/client/linux/handler/exception_handler.cc | 10 +++---- + src/client/linux/handler/exception_handler.h | 6 ++-- + .../linux/microdump_writer/microdump_writer.cc | 2 +- + .../linux/minidump_writer/minidump_writer.cc | 2 +- + 6 files changed, 33 insertions(+), 33 deletions(-) + +diff --git a/src/client/linux/dump_writer_common/ucontext_reader.cc b/src/client/linux/dump_writer_common/ucontext_reader.cc +index c80724d..052ce37 100644 +--- a/src/client/linux/dump_writer_common/ucontext_reader.cc ++++ b/src/client/linux/dump_writer_common/ucontext_reader.cc +@@ -36,19 +36,19 @@ namespace google_breakpad { + + // Minidump defines register structures which are different from the raw + // structures which we get from the kernel. These are platform specific +-// functions to juggle the ucontext and user structures into minidump format. ++// functions to juggle the ucontext_t and user structures into minidump format. + + #if defined(__i386__) + +-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { ++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { + return uc->uc_mcontext.gregs[REG_ESP]; + } + +-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { ++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { + return uc->uc_mcontext.gregs[REG_EIP]; + } + +-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, ++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, + const struct _libc_fpstate* fp) { + const greg_t* regs = uc->uc_mcontext.gregs; + +@@ -88,15 +88,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, + + #elif defined(__x86_64) + +-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { ++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { + return uc->uc_mcontext.gregs[REG_RSP]; + } + +-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { ++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { + return uc->uc_mcontext.gregs[REG_RIP]; + } + +-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, ++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, + const struct _libc_fpstate* fpregs) { + const greg_t* regs = uc->uc_mcontext.gregs; + +@@ -145,15 +145,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, + + #elif defined(__ARM_EABI__) + +-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { ++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { + return uc->uc_mcontext.arm_sp; + } + +-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { ++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { + return uc->uc_mcontext.arm_pc; + } + +-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) { ++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) { + out->context_flags = MD_CONTEXT_ARM_FULL; + + out->iregs[0] = uc->uc_mcontext.arm_r0; +@@ -184,15 +184,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) { + + #elif defined(__aarch64__) + +-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { ++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { + return uc->uc_mcontext.sp; + } + +-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { ++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { + return uc->uc_mcontext.pc; + } + +-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, ++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, + const struct fpsimd_context* fpregs) { + out->context_flags = MD_CONTEXT_ARM64_FULL; + +@@ -210,15 +210,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, + + #elif defined(__mips__) + +-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { ++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { + return uc->uc_mcontext.gregs[MD_CONTEXT_MIPS_REG_SP]; + } + +-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { ++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { + return uc->uc_mcontext.pc; + } + +-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) { ++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) { + #if _MIPS_SIM == _ABI64 + out->context_flags = MD_CONTEXT_MIPS64_FULL; + #elif _MIPS_SIM == _ABIO32 +diff --git a/src/client/linux/dump_writer_common/ucontext_reader.h b/src/client/linux/dump_writer_common/ucontext_reader.h +index b6e77b4..2de80b7 100644 +--- a/src/client/linux/dump_writer_common/ucontext_reader.h ++++ b/src/client/linux/dump_writer_common/ucontext_reader.h +@@ -39,23 +39,23 @@ + + namespace google_breakpad { + +-// Wraps platform-dependent implementations of accessors to ucontext structs. ++// Wraps platform-dependent implementations of accessors to ucontext_t structs. + struct UContextReader { +- static uintptr_t GetStackPointer(const struct ucontext* uc); ++ static uintptr_t GetStackPointer(const ucontext_t* uc); + +- static uintptr_t GetInstructionPointer(const struct ucontext* uc); ++ static uintptr_t GetInstructionPointer(const ucontext_t* uc); + +- // Juggle a arch-specific ucontext into a minidump format ++ // Juggle a arch-specific ucontext_t into a minidump format + // out: the minidump structure + // info: the collection of register structures. + #if defined(__i386__) || defined(__x86_64) +- static void FillCPUContext(RawContextCPU *out, const ucontext *uc, ++ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc, + const struct _libc_fpstate* fp); + #elif defined(__aarch64__) +- static void FillCPUContext(RawContextCPU *out, const ucontext *uc, ++ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc, + const struct fpsimd_context* fpregs); + #else +- static void FillCPUContext(RawContextCPU *out, const ucontext *uc); ++ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc); + #endif + }; + +diff --git a/src/client/linux/handler/exception_handler.cc b/src/client/linux/handler/exception_handler.cc +index b63f973..3d809b8 100644 +--- a/src/client/linux/handler/exception_handler.cc ++++ b/src/client/linux/handler/exception_handler.cc +@@ -439,9 +439,9 @@ bool ExceptionHandler::HandleSignal(int sig, siginfo_t* info, void* uc) { + // Fill in all the holes in the struct to make Valgrind happy. + memset(&g_crash_context_, 0, sizeof(g_crash_context_)); + memcpy(&g_crash_context_.siginfo, info, sizeof(siginfo_t)); +- memcpy(&g_crash_context_.context, uc, sizeof(struct ucontext)); ++ memcpy(&g_crash_context_.context, uc, sizeof(ucontext_t)); + #if defined(__aarch64__) +- struct ucontext* uc_ptr = (struct ucontext*)uc; ++ ucontext_t* uc_ptr = (ucontext_t*)uc; + struct fpsimd_context* fp_ptr = + (struct fpsimd_context*)&uc_ptr->uc_mcontext.__reserved; + if (fp_ptr->head.magic == FPSIMD_MAGIC) { +@@ -450,9 +450,9 @@ bool ExceptionHandler::HandleSignal(int sig, siginfo_t* info, void* uc) { + } + #elif !defined(__ARM_EABI__) && !defined(__mips__) + // FP state is not part of user ABI on ARM Linux. +- // In case of MIPS Linux FP state is already part of struct ucontext ++ // In case of MIPS Linux FP state is already part of ucontext_t + // and 'float_state' is not a member of CrashContext. +- struct ucontext* uc_ptr = (struct ucontext*)uc; ++ ucontext_t* uc_ptr = (ucontext_t*)uc; + if (uc_ptr->uc_mcontext.fpregs) { + memcpy(&g_crash_context_.float_state, uc_ptr->uc_mcontext.fpregs, + sizeof(g_crash_context_.float_state)); +@@ -476,7 +476,7 @@ bool ExceptionHandler::SimulateSignalDelivery(int sig) { + // ExceptionHandler::HandleSignal(). + siginfo.si_code = SI_USER; + siginfo.si_pid = getpid(); +- struct ucontext context; ++ ucontext_t context; + getcontext(&context); + return HandleSignal(sig, &siginfo, &context); + } +diff --git a/src/client/linux/handler/exception_handler.h b/src/client/linux/handler/exception_handler.h +index 591c310..42f4055 100644 +--- a/src/client/linux/handler/exception_handler.h ++++ b/src/client/linux/handler/exception_handler.h +@@ -191,11 +191,11 @@ class ExceptionHandler { + struct CrashContext { + siginfo_t siginfo; + pid_t tid; // the crashing thread. +- struct ucontext context; ++ ucontext_t context; + #if !defined(__ARM_EABI__) && !defined(__mips__) + // #ifdef this out because FP state is not part of user ABI for Linux ARM. +- // In case of MIPS Linux FP state is already part of struct +- // ucontext so 'float_state' is not required. ++ // In case of MIPS Linux FP state is already part of ucontext_t so ++ // 'float_state' is not required. + fpstate_t float_state; + #endif + }; +diff --git a/src/client/linux/microdump_writer/microdump_writer.cc b/src/client/linux/microdump_writer/microdump_writer.cc +index 6f5b435..a508667 100644 +--- a/src/client/linux/microdump_writer/microdump_writer.cc ++++ b/src/client/linux/microdump_writer/microdump_writer.cc +@@ -571,7 +571,7 @@ class MicrodumpWriter { + + void* Alloc(unsigned bytes) { return dumper_->allocator()->Alloc(bytes); } + +- const struct ucontext* const ucontext_; ++ const ucontext_t* const ucontext_; + #if !defined(__ARM_EABI__) && !defined(__mips__) + const google_breakpad::fpstate_t* const float_state_; + #endif +diff --git a/src/client/linux/minidump_writer/minidump_writer.cc b/src/client/linux/minidump_writer/minidump_writer.cc +index 86009b9..f2aec73 100644 +--- a/src/client/linux/minidump_writer/minidump_writer.cc ++++ b/src/client/linux/minidump_writer/minidump_writer.cc +@@ -1248,7 +1248,7 @@ class MinidumpWriter { + const int fd_; // File descriptor where the minidum should be written. + const char* path_; // Path to the file where the minidum should be written. + +- const struct ucontext* const ucontext_; // also from the signal handler ++ const ucontext_t* const ucontext_; // also from the signal handler + #if !defined(__ARM_EABI__) && !defined(__mips__) + const google_breakpad::fpstate_t* const float_state_; // ditto + #endif +-- +2.9.5 + diff --git a/package/google-breakpad/Config.in b/package/google-breakpad/Config.in index e0e91068be..91ec9ce309 100644 --- a/package/google-breakpad/Config.in +++ b/package/google-breakpad/Config.in @@ -12,6 +12,7 @@ config BR2_PACKAGE_GOOGLE_BREAKPAD depends on BR2_TOOLCHAIN_HAS_THREADS depends on (BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC) depends on BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS select BR2_PACKAGE_LINUX_SYSCALL_SUPPORT help Google-Breakpad is a library and tool suite that allows you @@ -36,6 +37,7 @@ config BR2_PACKAGE_GOOGLE_BREAKPAD comment "google-breakpad requires a glibc or uClibc toolchain w/ wchar, thread, C++, gcc >= 4.8" depends on BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ !BR2_TOOLCHAIN_HAS_THREADS || \ !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC) || \ diff --git a/package/google-breakpad/Config.in.host b/package/google-breakpad/Config.in.host new file mode 100644 index 0000000000..28d304766a --- /dev/null +++ b/package/google-breakpad/Config.in.host @@ -0,0 +1,8 @@ +config BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS + bool + default y if BR2_HOSTARCH = "x86_64" + default y if BR2_HOSTARCH = "x86" + default y if BR2_HOSTARCH = "arm" + default y if BR2_HOSTARCH = "aarch64" + default y if BR2_HOSTARCH = "mips" + default y if BR2_HOSTARCH = "mipsel" diff --git a/package/google-breakpad/google-breakpad.mk b/package/google-breakpad/google-breakpad.mk index 7a11c72cf5..8ae5f99bc7 100644 --- a/package/google-breakpad/google-breakpad.mk +++ b/package/google-breakpad/google-breakpad.mk @@ -11,26 +11,26 @@ GOOGLE_BREAKPAD_CONF_OPTS = --disable-processor --disable-tools # Only a static library is installed GOOGLE_BREAKPAD_INSTALL_TARGET = NO GOOGLE_BREAKPAD_INSTALL_STAGING = YES -GOOGLE_BREAKPAD_LICENSE = BSD-3c +GOOGLE_BREAKPAD_LICENSE = BSD-3-Clause GOOGLE_BREAKPAD_LICENSE_FILES = LICENSE GOOGLE_BREAKPAD_DEPENDENCIES = host-google-breakpad linux-syscall-support -HOST_GOOGLE_BREAKPAD_DEPENDENCIES = host-linux-syscall-support +HOST_GOOGLE_BREAKPAD_DEPENDENCIES = host-linux-syscall-support # Avoid using depot-tools to download this file. define HOST_GOOGLE_BREAKPAD_LSS $(INSTALL) -D -m 0644 \ - $(HOST_DIR)/usr/include/linux_syscall_support.h \ + $(HOST_DIR)/include/linux_syscall_support.h \ $(@D)/src/third_party/lss/linux_syscall_support.h endef -HOST_GOOGLE_BREAKPAD_POST_EXTRACT_HOOKS += HOST_GOOGLE_BREAKPAD_LSS +HOST_GOOGLE_BREAKPAD_PRE_CONFIGURE_HOOKS += HOST_GOOGLE_BREAKPAD_LSS define GOOGLE_BREAKPAD_LSS $(INSTALL) -D -m 0644 \ $(STAGING_DIR)/usr/include/linux_syscall_support.h \ $(@D)/src/third_party/lss/linux_syscall_support.h endef -GOOGLE_BREAKPAD_POST_EXTRACT_HOOKS += GOOGLE_BREAKPAD_LSS +GOOGLE_BREAKPAD_PRE_CONFIGURE_HOOKS += GOOGLE_BREAKPAD_LSS define GOOGLE_BREAKPAD_EXTRACT_SYMBOLS $(EXTRA_ENV) package/google-breakpad/gen-syms.sh $(STAGING_DIR) \ diff --git a/package/google-material-design-icons/Config.in b/package/google-material-design-icons/Config.in index a20042988e..775f258f27 100644 --- a/package/google-material-design-icons/Config.in +++ b/package/google-material-design-icons/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_GOOGLE_MATERIAL_DESIGN_ICONS bool "google-material-design-icons" help - Material design icons are the official icon set from Google that - are designed under the material design guidelines. + Material design icons are the official icon set from Google + that are designed under the material design guidelines. https://github.com/google/material-design-icons diff --git a/package/googlefontdirectory/googlefontdirectory.mk b/package/googlefontdirectory/googlefontdirectory.mk index 0e60892bb2..c34de3b0fe 100644 --- a/package/googlefontdirectory/googlefontdirectory.mk +++ b/package/googlefontdirectory/googlefontdirectory.mk @@ -7,7 +7,7 @@ GOOGLEFONTDIRECTORY_SITE = \ https://s3.amazonaws.com/joemaller_google_webfonts GOOGLEFONTDIRECTORY_SOURCE = googlewebfonts.tgz -GOOGLEFONTDIRECTORY_LICENSE = OFLv1.1 +GOOGLEFONTDIRECTORY_LICENSE = OFL-1.1 GOOGLEFONTDIRECTORY_FONTS = \ $(call qstrip,$(BR2_PACKAGE_GOOGLEFONTDIRECTORY_FONTS)) diff --git a/package/gperf/gperf.mk b/package/gperf/gperf.mk index 8ce3c95ffb..2a6192a48b 100644 --- a/package/gperf/gperf.mk +++ b/package/gperf/gperf.mk @@ -6,7 +6,7 @@ GPERF_VERSION = 3.0.4 GPERF_SITE = $(BR2_GNU_MIRROR)/gperf -GPERF_LICENSE = GPLv3+ +GPERF_LICENSE = GPL-3.0+ GPERF_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/gpm/0004-Use-sigemptyset-API-instead-of-__sigemptyset.patch b/package/gpm/0004-Use-sigemptyset-API-instead-of-__sigemptyset.patch new file mode 100644 index 0000000000..01c7424a9d --- /dev/null +++ b/package/gpm/0004-Use-sigemptyset-API-instead-of-__sigemptyset.patch @@ -0,0 +1,33 @@ +From fdc42770596e25749f7e2ce0ea97882177397167 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 25 Jun 2017 07:25:33 -0700 +Subject: [PATCH] Use sigemptyset API instead of __sigemptyset + +__sigemptyset has been removed from glibc public +API headers in upcoming (2.26) release onwards + +Signed-off-by: Khem Raj +Signed-off-by: Petr Vorel +--- + src/prog/gpm-root.y | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/src/prog/gpm-root.y b/src/prog/gpm-root.y +index 5126c65..76c896c 100644 +--- a/src/prog/gpm-root.y ++++ b/src/prog/gpm-root.y +@@ -1196,11 +1196,7 @@ int main(int argc, char **argv) + LOG_DAEMON : LOG_USER); + /* reap your zombies */ + childaction.sa_handler=reap_children; +-#if defined(__GLIBC__) +- __sigemptyset(&childaction.sa_mask); +-#else /* __GLIBC__ */ + sigemptyset(&childaction.sa_mask); +-#endif /* __GLIBC__ */ + childaction.sa_flags=0; + sigaction(SIGCHLD,&childaction,NULL); + +-- +2.14.2 + diff --git a/package/gpm/Config.in b/package/gpm/Config.in index 2d0d366d7e..115847992a 100644 --- a/package/gpm/Config.in +++ b/package/gpm/Config.in @@ -3,11 +3,11 @@ config BR2_PACKAGE_GPM depends on !BR2_STATIC_LIBS depends on BR2_USE_MMU # fork() help - "gpm" means general purpose mouse (server) and provides mouse support - for Linux virtual consoles. - gpm-root (to draw menus in current virtual console; config file in - /etc/gpm-root.conf) and disable-paste (to disable paste buffer for - security reasons), will also be installed. + "gpm" means general purpose mouse (server) and provides mouse + support for Linux virtual consoles. + gpm-root (to draw menus in current virtual console; config + file in /etc/gpm-root.conf) and disable-paste (to disable + paste buffer for security reasons), will also be installed. http://www.nico.schottelius.org/software/gpm/ diff --git a/package/gpm/gpm.mk b/package/gpm/gpm.mk index ed4c1fd305..f59d059a41 100644 --- a/package/gpm/gpm.mk +++ b/package/gpm/gpm.mk @@ -7,7 +7,7 @@ GPM_VERSION = 1.20.7 GPM_SOURCE = gpm-$(GPM_VERSION).tar.lzma GPM_SITE = http://www.nico.schottelius.org/software/gpm/archives -GPM_LICENSE = GPLv2+ +GPM_LICENSE = GPL-2.0+ GPM_LICENSE_FILES = COPYING GPM_INSTALL_STAGING = YES GPM_DEPENDENCIES = host-bison diff --git a/package/gpsd/0001-do-not-interact-with-systemctl-when-cross-compiling.patch b/package/gpsd/0001-do-not-interact-with-systemctl-when-cross-compiling.patch new file mode 100644 index 0000000000..9e91a02ef3 --- /dev/null +++ b/package/gpsd/0001-do-not-interact-with-systemctl-when-cross-compiling.patch @@ -0,0 +1,41 @@ +From 777cb3737ae85b13642fff48eabb601c4d40f527 Mon Sep 17 00:00:00 2001 +From: James Knight +Date: Tue, 16 Feb 2016 23:51:08 -0500 +Subject: [PATCH] do not interact with systemctl when cross-compiling + +The installation process for GPSd on a systemd environment will attempt +to reload systemd's manager configuration (systemctl daemon-reload). +This is to allow the system to take advantage of the newly installed +GPSd services. When cross-compiling, the installation process should not +attempt to interact with the build environment's systemd instance (if +any). The following change checks if the build is not cross compiling +(via 'not env["sysroot"]') before attempting to do a systemd reload. + +Signed-off-by: James Knight +[yann.morin.1998@free.fr: tweak to apply on 3.16] +Signed-off-by: "Yann E. MORIN" +--- + SConstruct | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/SConstruct b/SConstruct +index c3bfd0d1..97c1b3a9 100644 +--- a/SConstruct ++++ b/SConstruct +@@ -1909,10 +1909,12 @@ udev_install = Utility('udev-install', 'install', [ + ] + hotplug_wrapper_install) + + if env['systemd']: ++ env.Requires(udev_install, systemd_install) ++ ++if env['systemd'] and not env["sysroot"]: + systemctl_daemon_reload = Utility('systemctl-daemon-reload', '', [ 'systemctl daemon-reload || true']) + env.AlwaysBuild(systemctl_daemon_reload) + env.Precious(systemctl_daemon_reload) +- env.Requires(udev_install, systemd_install) + env.Requires(systemctl_daemon_reload, systemd_install) + env.Requires(udev_install, systemctl_daemon_reload) + +-- +2.11.0 + diff --git a/package/gpsd/0002-SConstruct-do-not-force-O2-by-default.patch b/package/gpsd/0002-SConstruct-do-not-force-O2-by-default.patch new file mode 100644 index 0000000000..641afa30af --- /dev/null +++ b/package/gpsd/0002-SConstruct-do-not-force-O2-by-default.patch @@ -0,0 +1,29 @@ +From eb7cce5dbb53a64cf55ac0d9a7fa4dcbebd4b173 Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb +Date: Mon, 14 Aug 2017 23:24:38 +0200 +Subject: [PATCH] SConstruct: do not force -O2 by default + +-O2 can cause problems on some architectures, so do not force it by + default. + +Signed-off-by: Waldemar Brodkorb +--- + SConstruct | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/SConstruct b/SConstruct +index fe444a2..93d91a4 100644 +--- a/SConstruct ++++ b/SConstruct +@@ -330,8 +330,6 @@ if not 'CCFLAGS' in os.environ: + # Should we build with optimisation? + if env['debug'] or env['coveraging']: + env.Append(CCFLAGS=['-O0']) +- else: +- env.Append(CCFLAGS=['-O2']) + + # Get a slight speedup by not doing automatic RCS and SCCS fetches. + env.SourceCode('.', None) +-- +2.9.4 + diff --git a/package/gpsd/Config.in b/package/gpsd/Config.in index 876ab9b03a..68d3e2e7e8 100644 --- a/package/gpsd/Config.in +++ b/package/gpsd/Config.in @@ -10,10 +10,11 @@ menuconfig BR2_PACKAGE_GPSD # Always tries to build a shared library depends on !BR2_STATIC_LIBS help - gpsd is a service daemon that monitors one or more GPSes or AIS - receivers attached to a host computer through serial or USB ports, - making all data on the location/course/velocity of the sensors - available to be queried on TCP port 2947 of the host computer. + gpsd is a service daemon that monitors one or more GPSes or + AIS receivers attached to a host computer through serial or + USB ports, making all data on the location/course/velocity of + the sensors available to be queried on TCP port 2947 of the + host computer. The D-Bus interface is included if dbus-glib is enabled. diff --git a/package/gpsd/gpsd.mk b/package/gpsd/gpsd.mk index 73067d3b15..2b9c38a42b 100644 --- a/package/gpsd/gpsd.mk +++ b/package/gpsd/gpsd.mk @@ -6,7 +6,7 @@ GPSD_VERSION = 3.16 GPSD_SITE = http://download-mirror.savannah.gnu.org/releases/gpsd -GPSD_LICENSE = BSD-3c +GPSD_LICENSE = BSD-3-Clause GPSD_LICENSE_FILES = COPYING GPSD_INSTALL_STAGING = YES @@ -44,7 +44,7 @@ endif # A bug was reported to the gcc bug tracker: # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68485 ifeq ($(BR2_microblaze),y) -GPSD_CFLAGS += -fno-expensive-optimizations -fno-schedule-insns +GPSD_CFLAGS += -O0 endif # Enable or disable Qt binding diff --git a/package/gptfdisk/Config.in b/package/gptfdisk/Config.in index 22dc4014ac..ede72f3b1d 100644 --- a/package/gptfdisk/Config.in +++ b/package/gptfdisk/Config.in @@ -10,9 +10,10 @@ config BR2_PACKAGE_GPTFDISK !(BR2_PACKAGE_GPTFDISK_SGDISK || BR2_PACKAGE_GPTFDISK_CGDISK) help GPT fdisk (consisting of the gdisk and sgdisk programs) is a - text-mode partitioning tool that works on Globally Unique Identifier - (GUID) Partition Table (GPT) disks, rather than on the more common - (through 2010) Master Boot Record (MBR) partition tables. + text-mode partitioning tool that works on Globally Unique + Identifier (GUID) Partition Table (GPT) disks, rather than on + the more common (through 2010) Master Boot Record (MBR) + partition tables. http://www.rodsbooks.com/gdisk/ @@ -22,23 +23,24 @@ config BR2_PACKAGE_GPTFDISK_GDISK bool "interactive gdisk" help Install the interactive GUID partition table (GPT) manipulator - /usr/sbin/gdisk which is modelled after and quite similar in use - to the traditional MBR based fdisk tool. + /usr/sbin/gdisk which is modelled after and quite similar in + use to the traditional MBR based fdisk tool. config BR2_PACKAGE_GPTFDISK_SGDISK bool "command line sgdisk" select BR2_PACKAGE_POPT help - Install the command-line GUID partition table (GPT) manipulator - /usr/sbin/sgdisk which is named after the traditional MBR based - sfdisk tool albeit with an entirely different option syntax. + Install the command-line GUID partition table (GPT) + manipulator /usr/sbin/sgdisk which is named after the + traditional MBR based sfdisk tool albeit with an entirely + different option syntax. config BR2_PACKAGE_GPTFDISK_CGDISK bool "ncurses cgdisk" - select BR2_PACKAGE_NCURSES - select BR2_PACKAGE_NCURSES_WCHAR # needed because of UTF-16 depends on BR2_USE_WCHAR # ncurses wchar depends on !(BR2_bfin && BR2_BINFMT_FLAT) # ncurses wchar support + select BR2_PACKAGE_NCURSES + select BR2_PACKAGE_NCURSES_WCHAR # needed because of UTF-16 help Install the ncurses-based GUID partition table (GPT) manipulator /usr/sbin/cgdisk. diff --git a/package/gptfdisk/gptfdisk.hash b/package/gptfdisk/gptfdisk.hash index 0a72e0d922..c3a38af5f6 100644 --- a/package/gptfdisk/gptfdisk.hash +++ b/package/gptfdisk/gptfdisk.hash @@ -1,3 +1,5 @@ -# From http://sourceforge.net/projects/gptfdisk/files/gptfdisk/1.0.0/ -md5 2061f917af084215898d4fea04d8388f gptfdisk-1.0.0.tar.gz -sha1 97f25db2def1c1939ed3954520bfd9948806d95a gptfdisk-1.0.0.tar.gz +# From http://sourceforge.net/projects/gptfdisk/files/gptfdisk/1.0.1/ +md5 d7f3d306b083123bcc6f5941efade586 gptfdisk-1.0.1.tar.gz +sha1 ad28c511c642235815b83fffddf728c117057cba gptfdisk-1.0.1.tar.gz +# Locally computed +sha256 864c8aee2efdda50346804d7e6230407d5f42a8ae754df70404dd8b2fdfaeac7 gptfdisk-1.0.1.tar.gz diff --git a/package/gptfdisk/gptfdisk.mk b/package/gptfdisk/gptfdisk.mk index 274591c7d4..a7bc41c89f 100644 --- a/package/gptfdisk/gptfdisk.mk +++ b/package/gptfdisk/gptfdisk.mk @@ -4,9 +4,9 @@ # ################################################################################ -GPTFDISK_VERSION = 1.0.0 +GPTFDISK_VERSION = 1.0.1 GPTFDISK_SITE = http://downloads.sourceforge.net/sourceforge/gptfdisk -GPTFDISK_LICENSE = GPLv2+ +GPTFDISK_LICENSE = GPL-2.0+ GPTFDISK_LICENSE_FILES = COPYING GPTFDISK_TARGETS_$(BR2_PACKAGE_GPTFDISK_GDISK) += gdisk @@ -22,13 +22,8 @@ GPTFDISK_DEPENDENCIES += ncurses endif ifeq ($(BR2_STATIC_LIBS),y) -# gptfdisk dependencies may link against libintl/libiconv, so we need -# to do so as well when linking statically -ifeq ($(BR2_PACKAGE_GETTEXT),y) -GPTFDISK_DEPENDENCIES += gettext -GPTFDISK_LDLIBS += -lintl -endif - +# gptfdisk dependencies may link against libiconv, so we need to do so +# as well when linking statically ifeq ($(BR2_PACKAGE_LIBICONV),y) GPTFDISK_DEPENDENCIES += libiconv GPTFDISK_LDLIBS += -liconv @@ -53,7 +48,7 @@ define HOST_GPTFDISK_BUILD_CMDS endef define HOST_GPTFDISK_INSTALL_CMDS - $(INSTALL) -D -m 0755 $(@D)/sgdisk $(HOST_DIR)/usr/sbin/sgdisk + $(INSTALL) -D -m 0755 $(@D)/sgdisk $(HOST_DIR)/sbin/sgdisk endef $(eval $(generic-package)) diff --git a/package/gqrx/0001-fix_compilation_in_gcc-6.patch b/package/gqrx/0001-fix_compilation_in_gcc-6.patch new file mode 100644 index 0000000000..22ec1effe9 --- /dev/null +++ b/package/gqrx/0001-fix_compilation_in_gcc-6.patch @@ -0,0 +1,34 @@ +From e6baaee4968345a53e977f593362267a91041cff Mon Sep 17 00:00:00 2001 +From: Valentin Ochs +Date: Fri, 21 Oct 2016 20:12:50 +0200 +Subject: [PATCH] Cosmetic & readability changes + +Backport patch from +https://github.com/csete/gqrx/commit/e6baaee4968345a53e977f593362267a91041cff + +Fix compilation in gcc-6 + +Signed-off-by: Valentin Ochs +Signed-off-by: Gwenhael Goavec-Merou +--- +diff --git a/src/qtgui/plotter.cpp b/src/qtgui/plotter.cpp +index e491632..b877546 100644 +--- a/src/qtgui/plotter.cpp ++++ b/src/qtgui/plotter.cpp +@@ -1336,8 +1336,11 @@ void CPlotter::drawOverlay() + #endif + + int level = 0; +- for (; level < nLevels && tagEnd[level] > x; level++); +- level %= nLevels; ++ while(level < nLevels && tagEnd[level] > x) ++ level++; ++ ++ if(level == nLevels) ++ level = 0; + + tagEnd[level] = x + nameWidth + slant - 1; + m_BookmarkTags.append(qMakePair(QRect(x, level * levelHeight, nameWidth + slant, fontHeight), bookmarks[i].frequency)); +-- +2.10.2 + diff --git a/package/gqrx/Config.in b/package/gqrx/Config.in new file mode 100644 index 0000000000..1dc40c6d24 --- /dev/null +++ b/package/gqrx/Config.in @@ -0,0 +1,42 @@ +comment "gqrx needs a toolchain w/ C++, threads, wchar" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_USE_WCHAR + +comment "gqrx needs qt5, gnuradio, fftw's single precision" + depends on !BR2_PACKAGE_GNURADIO || !BR2_PACKAGE_FFTW_PRECISION_SINGLE || \ + !BR2_PACKAGE_QT5 + +config BR2_PACKAGE_GQRX + bool "gqrx" + depends on BR2_PACKAGE_FFTW_PRECISION_SINGLE # gnuradio + depends on BR2_PACKAGE_GNURADIO + depends on BR2_PACKAGE_QT5 + depends on BR2_INSTALL_LIBSTDCPP # boost + depends on BR2_TOOLCHAIN_HAS_THREADS # boost + depends on BR2_USE_WCHAR # boost + select BR2_PACKAGE_BOOST + select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS + select BR2_PACKAGE_BOOST_SYSTEM + select BR2_PACKAGE_GNURADIO_ANALOG + select BR2_PACKAGE_GNURADIO_AUDIO + select BR2_PACKAGE_GNURADIO_BLOCKS + select BR2_PACKAGE_GNURADIO_DIGITAL + select BR2_PACKAGE_GNURADIO_FFT + select BR2_PACKAGE_GNURADIO_FILTER + select BR2_PACKAGE_GR_OSMOSDR + select BR2_PACKAGE_QT5BASE_GUI + select BR2_PACKAGE_QT5BASE_WIDGETS + select BR2_PACKAGE_QT5SVG + help + Gqrx is an open source software defined radio (SDR) receiver + implemented using GNU Radio and the Qt GUI + toolkit. Currently it works on Linux and Mac with hardware + supported by gr-osmosdr, including Funcube Dongle, RTL-SDR, + Airspy, HackRF, BladeRF, RFSpace, USRP and SoapySDR. + + Gqrx can operate as an AM/FM/SSB receiver with audio output + or as an FFT-only instrument. There are also various hooks + for interacting with external application using network + sockets. + + http://gqrx.dk/ diff --git a/package/gqrx/gqrx.hash b/package/gqrx/gqrx.hash new file mode 100644 index 0000000000..bb52a616d7 --- /dev/null +++ b/package/gqrx/gqrx.hash @@ -0,0 +1,2 @@ +# Locally calculated: +sha256 2736a963dac4051ca8ae91a440ee6643ef7d26c9de5b9c83a369d5fc9328d453 gqrx-v2.6.1.tar.gz diff --git a/package/gqrx/gqrx.mk b/package/gqrx/gqrx.mk new file mode 100644 index 0000000000..2a7651c252 --- /dev/null +++ b/package/gqrx/gqrx.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# gqrx +# +################################################################################ + +GQRX_VERSION = v2.6.1 +GQRX_SITE = $(call github,csete,gqrx,$(GQRX_VERSION)) +GQRX_LICENSE = GPL-3.0+, Apache-2.0 +GQRX_LICENSE_FILES = COPYING LICENSE-CTK +GQRX_DEPENDENCIES = boost gnuradio gr-osmosdr qt5base qt5svg + +GQRX_CONF_OPTS = -DLINUX_AUDIO_BACKEND=Gr-audio + +$(eval $(cmake-package)) diff --git a/package/gqview/gqview.mk b/package/gqview/gqview.mk index 89620258bd..0837630843 100644 --- a/package/gqview/gqview.mk +++ b/package/gqview/gqview.mk @@ -8,7 +8,7 @@ GQVIEW_VERSION = 2.1.5 GQVIEW_SITE = http://prdownloads.sourceforge.net/gqview GQVIEW_DEPENDENCIES = host-pkgconf libgtk2 GQVIEW_CONF_ENV = LIBS="-lm" -GQVIEW_LICENSE = GPLv2 +GQVIEW_LICENSE = GPL-2.0 GQVIEW_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/gr-osmosdr/gr-osmosdr.mk b/package/gr-osmosdr/gr-osmosdr.mk index d7c3d624c4..55e043ef32 100644 --- a/package/gr-osmosdr/gr-osmosdr.mk +++ b/package/gr-osmosdr/gr-osmosdr.mk @@ -6,7 +6,7 @@ GR_OSMOSDR_VERSION = 164a09fc11cec2d8b15b38e8b512fa542d6cecc7 GR_OSMOSDR_SITE = $(call github,osmocom,gr-osmosdr,$(GR_OSMOSDR_VERSION)) -GR_OSMOSDR_LICENSE = GPLv3+ +GR_OSMOSDR_LICENSE = GPL-3.0+ GR_OSMOSDR_LICENSE_FILES = COPYING # gr-osmosdr prevents doing an in-source-tree build diff --git a/package/granite/granite.hash b/package/granite/granite.hash index 3c89685155..b9ed2874ce 100644 --- a/package/granite/granite.hash +++ b/package/granite/granite.hash @@ -1,4 +1,4 @@ -# From https://launchpad.net/granite/0.4/0.4.0.1/+download/granite-0.4.0.1.tar.xz/+md5 -md5 db41150ca6e77162392362686e848086 granite-0.3.1.tar.xz +# From https://launchpad.net/granite/0.4/0.4.1/+download/granite-0.4.1.tar.xz/+md5 +md5 b1002c0488bb9ade0ef89730c4f84393 granite-0.4.1.tar.xz # Calculated based on the hash above -sha256 95a142a8befeedc35a089d638e759b657905508dc3007036d6c1fa3efe94c4dd granite-0.4.0.1.tar.xz +sha256 8bb411523e6cd5685c928dbfe08893892189cedf9fad5f537aa76182032cf09c granite-0.4.1.tar.xz diff --git a/package/granite/granite.mk b/package/granite/granite.mk index 3faedf9cd0..f824ba7fda 100644 --- a/package/granite/granite.mk +++ b/package/granite/granite.mk @@ -5,12 +5,12 @@ ################################################################################ GRANITE_VERSION_MAJOR = 0.4 -GRANITE_VERSION = $(GRANITE_VERSION_MAJOR).0.1 +GRANITE_VERSION = $(GRANITE_VERSION_MAJOR).1 GRANITE_SITE = https://launchpad.net/granite/$(GRANITE_VERSION_MAJOR)/$(GRANITE_VERSION)/+download GRANITE_SOURCE = granite-$(GRANITE_VERSION).tar.xz GRANITE_DEPENDENCIES = host-pkgconf host-vala libgee libglib2 libgtk3 GRANITE_INSTALL_STAGING = YES -GRANITE_LICENSE = LGPLv3+ +GRANITE_LICENSE = LGPL-3.0+ GRANITE_LICENSE_FILES = COPYING $(eval $(cmake-package)) diff --git a/package/grantlee/grantlee.mk b/package/grantlee/grantlee.mk index f921d7b941..575b63fef5 100644 --- a/package/grantlee/grantlee.mk +++ b/package/grantlee/grantlee.mk @@ -3,10 +3,11 @@ # grantlee # ################################################################################ + GRANTLEE_VERSION = 5.1.0 GRANTLEE_SITE = http://downloads.grantlee.org GRANTLEE_INSTALL_STAGING = YES -GRANTLEE_LICENSE = LGPLv2.1+ +GRANTLEE_LICENSE = LGPL-2.1+ GRANTLEE_LICENSE_FILES = COPYING.LIB GRANTLEE_DEPENDENCIES = qt5base qt5script diff --git a/package/graphite2/0001-disable-double-promotion.patch b/package/graphite2/0001-disable-double-promotion.patch index 3bda3d7c63..888d862341 100644 --- a/package/graphite2/0001-disable-double-promotion.patch +++ b/package/graphite2/0001-disable-double-promotion.patch @@ -5,14 +5,16 @@ so just disable it. Signed-off-by: Gustavo Zacarias [Gustavo: update for 1.3.5] +Signed-off-by: Bernd Kuhls +[Bernd: update for 1.3.10] diff -Nura graphite2-1.3.5.orig/src/CMakeLists.txt graphite2-1.3.5/src/CMakeLists.txt --- graphite2-1.3.5.orig/src/CMakeLists.txt 2016-02-15 11:46:45.941906112 -0300 +++ graphite2-1.3.5/src/CMakeLists.txt 2016-02-15 11:46:54.237194222 -0300 @@ -111,9 +111,6 @@ - COMPILE_FLAGS "-Wall -Wextra -Wno-unknown-pragmas -Wendif-labels -Wshadow -Wctor-dtor-privacy -Wnon-virtual-dtor -fno-rtti -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden -fno-stack-protector" - LINK_FLAGS "-nodefaultlibs ${GRAPHITE_LINK_FLAGS}" - LINKER_LANGUAGE C) + if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86|i.86") + add_definitions(-mfpmath=sse -msse2) + endif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86|i.86") - if (CMAKE_COMPILER_IS_GNUCXX) - add_definitions(-Wdouble-promotion) - endif (CMAKE_COMPILER_IS_GNUCXX) diff --git a/package/graphite2/graphite2.hash b/package/graphite2/graphite2.hash index 86be69e178..ecf082b08d 100644 --- a/package/graphite2/graphite2.hash +++ b/package/graphite2/graphite2.hash @@ -1,3 +1,5 @@ # From http://sourceforge.net/projects/silgraphite/files/graphite2 -md5 17e6a3b1a88c100c9e3fc0763c85d269 graphite2-1.3.9.tgz -sha1 0693e9eef87edf1792db247dd38794211666a1b9 graphite2-1.3.9.tgz +md5 b39d5ed21195f8b709bcee548c87e2b5 graphite2-1.3.10.tgz +sha1 668f3bce96fc02d90ea875b401ed36b2e8957d2f graphite2-1.3.10.tgz +# Locally computed +sha256 90fde3b2f9ea95d68ffb19278d07d9b8a7efa5ba0e413bebcea802ce05cda1ae graphite2-1.3.10.tgz diff --git a/package/graphite2/graphite2.mk b/package/graphite2/graphite2.mk index 5f6848fa87..2bb4f463b0 100644 --- a/package/graphite2/graphite2.mk +++ b/package/graphite2/graphite2.mk @@ -4,11 +4,11 @@ # ################################################################################ -GRAPHITE2_VERSION = 1.3.9 +GRAPHITE2_VERSION = 1.3.10 GRAPHITE2_SOURCE = graphite2-$(GRAPHITE2_VERSION).tgz GRAPHITE2_SITE = http://downloads.sourceforge.net/project/silgraphite/graphite2 GRAPHITE2_INSTALL_STAGING = YES -GRAPHITE2_LICENSE = LGPLv2.1+ +GRAPHITE2_LICENSE = LGPL-2.1+ GRAPHITE2_LICENSE_FILES = LICENSE # Avoid building docs and tests to save time diff --git a/package/grep/Config.in b/package/grep/Config.in index 64276506f0..5b0471b4c0 100644 --- a/package/grep/Config.in +++ b/package/grep/Config.in @@ -2,7 +2,6 @@ config BR2_PACKAGE_GREP bool "grep" depends on BR2_USE_WCHAR depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE help The GNU regular expression matcher. diff --git a/package/grep/grep.hash b/package/grep/grep.hash index 326737a2fd..10a5e320e4 100644 --- a/package/grep/grep.hash +++ b/package/grep/grep.hash @@ -1,2 +1,4 @@ # Locally calculated after checking signature -sha256 ad4cc44d23074a1c3a8baae8fbafff2a8c60f38a9a6108f985eef6fbee6dcaeb grep-2.27.tar.xz +# http://ftp.gnu.org/gnu/grep/grep-3.1.tar.xz.sig +sha256 db625c7ab3bb3ee757b3926a5cfa8d9e1c3991ad24707a83dde8a5ef2bf7a07e grep-3.1.tar.xz +sha256 ca372a7d92560b1fa9f6d832b440e8bcd62d9adfa8870c98287deab66d98310e COPYING diff --git a/package/grep/grep.mk b/package/grep/grep.mk index 7615f30bac..6e44a189f0 100644 --- a/package/grep/grep.mk +++ b/package/grep/grep.mk @@ -4,14 +4,12 @@ # ################################################################################ -GREP_VERSION = 2.27 +GREP_VERSION = 3.1 GREP_SITE = $(BR2_GNU_MIRROR)/grep GREP_SOURCE = grep-$(GREP_VERSION).tar.xz -GREP_LICENSE = GPLv3+ +GREP_LICENSE = GPL-3.0+ GREP_LICENSE_FILES = COPYING -GREP_CONF_OPTS = --disable-perl-regexp \ - $(if $(BR2_TOOLCHAIN_USES_MUSL),--with-included-regex) -GREP_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) +GREP_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) # link with iconv if enabled ifeq ($(BR2_PACKAGE_LIBICONV),y) @@ -23,6 +21,8 @@ endif ifeq ($(BR2_PACKAGE_PCRE),y) GREP_CONF_OPTS += --enable-perl-regexp GREP_DEPENDENCIES += pcre +else +GREP_CONF_OPTS += --disable-perl-regexp endif # Full grep preferred over busybox grep diff --git a/package/gsettings-desktop-schemas/gsettings-desktop-schemas.mk b/package/gsettings-desktop-schemas/gsettings-desktop-schemas.mk index 7fa61817c1..420ceda819 100644 --- a/package/gsettings-desktop-schemas/gsettings-desktop-schemas.mk +++ b/package/gsettings-desktop-schemas/gsettings-desktop-schemas.mk @@ -10,7 +10,7 @@ GSETTINGS_DESKTOP_SCHEMAS_SOURCE = gsettings-desktop-schemas-$(GSETTINGS_DESKTOP GSETTINGS_DESKTOP_SCHEMAS_SITE = http://ftp.gnome.org/pub/gnome/sources/gsettings-desktop-schemas/$(GSETTINGS_DESKTOP_SCHEMAS_VERSION_MAJOR) GSETTINGS_DESKTOP_SCHEMAS_INSTALL_STAGING = YES GSETTINGS_DESKTOP_SCHEMAS_DEPENDENCIES = host-intltool host-pkgconf libglib2 -GSETTINGS_DESKTOP_SCHEMAS_LICENSE = LGPLv2.1+ +GSETTINGS_DESKTOP_SCHEMAS_LICENSE = LGPL-2.1+ GSETTINGS_DESKTOP_SCHEMAS_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/gsl/gsl.hash b/package/gsl/gsl.hash index bc33e4e2d1..f7b1d53385 100644 --- a/package/gsl/gsl.hash +++ b/package/gsl/gsl.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 73bc2f51b90d2a780e6d266d43e487b3dbd78945dd0b04b14ca5980fe28d2f53 gsl-1.16.tar.gz +sha256 562500b789cd599b3a4f88547a7a3280538ab2ff4939504c8b4ac4ca25feadfb gsl-2.3.tar.gz diff --git a/package/gsl/gsl.mk b/package/gsl/gsl.mk index 0ad5377ece..41379f4337 100644 --- a/package/gsl/gsl.mk +++ b/package/gsl/gsl.mk @@ -4,10 +4,10 @@ # ################################################################################ -GSL_VERSION = 1.16 +GSL_VERSION = 2.3 GSL_SITE = $(BR2_GNU_MIRROR)/gsl GSL_INSTALL_STAGING = YES -GSL_LICENSE = GPLv3 +GSL_LICENSE = GPL-3.0 GSL_LICENSE_FILES = COPYING GSL_CONFIG_SCRIPTS = gsl-config diff --git a/package/gssdp/Config.in b/package/gssdp/Config.in index 83149718da..80c5edfffc 100644 --- a/package/gssdp/Config.in +++ b/package/gssdp/Config.in @@ -6,7 +6,8 @@ config BR2_PACKAGE_GSSDP select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_LIBSOUP help - GSSDP implements resource discovery and announcement over SSDP. + GSSDP implements resource discovery and announcement over + SSDP. http://www.gupnp.org diff --git a/package/gssdp/gssdp.hash b/package/gssdp/gssdp.hash index b646d185ba..acf6b3ab20 100644 --- a/package/gssdp/gssdp.hash +++ b/package/gssdp/gssdp.hash @@ -1,2 +1,5 @@ -# Hash from: http://ftp.gnome.org/pub/gnome/sources/gssdp/1.0/gssdp-1.0.1.sha256sum: -sha256 601d67f40bc28c067742b7c46f3018da96b364fd3e83f30ddac6e190e323d2e1 gssdp-1.0.1.tar.xz +# Hash from: http://ftp.gnome.org/pub/gnome/sources/gssdp/1.0/gssdp-1.0.2.sha256sum: +sha256 a1e17c09c7e1a185b0bd84fd6ff3794045a3cd729b707c23e422ff66471535dc gssdp-1.0.2.tar.xz + +# Hash for license file: +sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING diff --git a/package/gssdp/gssdp.mk b/package/gssdp/gssdp.mk index fa44a2ca9c..2ce1f9b0bf 100644 --- a/package/gssdp/gssdp.mk +++ b/package/gssdp/gssdp.mk @@ -5,10 +5,10 @@ ################################################################################ GSSDP_VERSION_MAJOR = 1.0 -GSSDP_VERSION = $(GSSDP_VERSION_MAJOR).1 +GSSDP_VERSION = $(GSSDP_VERSION_MAJOR).2 GSSDP_SOURCE = gssdp-$(GSSDP_VERSION).tar.xz GSSDP_SITE = http://ftp.gnome.org/pub/gnome/sources/gssdp/$(GSSDP_VERSION_MAJOR) -GSSDP_LICENSE = LGPLv2+ +GSSDP_LICENSE = LGPL-2.0+ GSSDP_LICENSE_FILES = COPYING GSSDP_INSTALL_STAGING = YES GSSDP_DEPENDENCIES = host-pkgconf libglib2 libsoup diff --git a/package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk b/package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk index b1d8f8bd85..6f41efb0a5 100644 --- a/package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk +++ b/package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk @@ -12,11 +12,11 @@ GST_FFMPEG_DEPENDENCIES = host-pkgconf gstreamer gst-plugins-base ifeq ($(BR2_PACKAGE_GST_FFMPEG_GPL),y) GST_FFMPEG_CONF_OPTS += --disable-lgpl -GST_FFMPEG_LICENSE = GPLv2+ (gst-ffmpeg), GPLv2+/GPLv3+ (libav) +GST_FFMPEG_LICENSE = GPL-2.0+ (gst-ffmpeg), GPL-2.0+/GPL-3.0+ (libav) GST_FFMPEG_LICENSE_FILES = COPYING gst-libs/ext/libav/COPYING.GPLv2 gst-libs/ext/libav/COPYING.GPLv3 else GST_FFMPEG_CONF_OPTS += --enable-lgpl -GST_FFMPEG_LICENSE = LGPLv2+ (gst-ffmpeg), LGPLv2.1+/LGPLv3+ (libav) +GST_FFMPEG_LICENSE = LGPL-2.0+ (gst-ffmpeg), LGPL-2.1+/LGPL-3.0+ (libav) GST_FFMPEG_LICENSE_FILES = COPYING.LIB gst-libs/ext/libav/COPYING.LGPLv2.1 gst-libs/ext/libav/COPYING.LGPLv3 endif @@ -80,6 +80,12 @@ else GST_FFMPEG_CONF_EXTRA_OPTS += --disable-altivec endif +# libav configure script misdetects the VIS optimizations as being +# available, so forcefully disable them. +ifeq ($(BR2_sparc_v8)$(BR2_sparc_leon3),y) +GST_FFMPEG_CONF_EXTRA_OPTS += --disable-vis +endif + ifeq ($(BR2_STATIC_LIBS),) GST_FFMPEG_CONF_EXTRA_OPTS += --enable-pic endif diff --git a/package/gstreamer/gst-fsl-plugins/Config.in b/package/gstreamer/gst-fsl-plugins/Config.in index 8921aa33ba..85476b1c3e 100644 --- a/package/gstreamer/gst-fsl-plugins/Config.in +++ b/package/gstreamer/gst-fsl-plugins/Config.in @@ -45,12 +45,12 @@ config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX233 bool "imx233" config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX25 - select BR2_PACKAGE_IMX_LIB_PLATFORM_IMX25_3STACK bool "imx25" + select BR2_PACKAGE_IMX_LIB_PLATFORM_IMX25_3STACK config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX27 - select BR2_PACKAGE_IMX_LIB_PLATFORM_IMX27ADS bool "imx27" + select BR2_PACKAGE_IMX_LIB_PLATFORM_IMX27ADS config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX28 bool "imx28" @@ -62,28 +62,28 @@ config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX35 bool "imx35" config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX37 - select BR2_PACKAGE_IMX_LIB_PLATFORM_IMX37_3STACK bool "imx37" + select BR2_PACKAGE_IMX_LIB_PLATFORM_IMX37_3STACK config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX50 - select BR2_PACKAGE_IMX_LIB_PLATFORM_IMX50 bool "imx50" + select BR2_PACKAGE_IMX_LIB_PLATFORM_IMX50 config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX51 - select BR2_PACKAGE_IMX_LIB_PLATFORM_IMX51 bool "imx51" + select BR2_PACKAGE_IMX_LIB_PLATFORM_IMX51 config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX53 - select BR2_PACKAGE_IMX_LIB_PLATFORM_IMX53 bool "imx53" + select BR2_PACKAGE_IMX_LIB_PLATFORM_IMX53 config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX5X - select BR2_PACKAGE_IMX_LIB_PLATFORM_IMX5X bool "imx5X" + select BR2_PACKAGE_IMX_LIB_PLATFORM_IMX5X config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX6 - select BR2_PACKAGE_IMX_LIB_PLATFORM_IMX6Q bool "imx6" + select BR2_PACKAGE_IMX_LIB_PLATFORM_IMX6Q endchoice diff --git a/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins.mk b/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins.mk index 65993a278a..547d253e88 100644 --- a/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins.mk +++ b/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins.mk @@ -7,9 +7,9 @@ GST_FSL_PLUGINS_VERSION = 4.0.3 GST_FSL_PLUGINS_SITE = $(FREESCALE_IMX_SITE) -# Most is LGPLv2+, but some sources are copied from upstream and are -# LGPLv2.1+, which essentially makes it LGPLv2.1+ -GST_FSL_PLUGINS_LICENSE = LGPLv2+, LGPLv2.1+, PROPRIETARY (asf.h) +# Most is LGPL-2.0+, but some sources are copied from upstream and are +# LGPL-2.1+, which essentially makes it LGPL-2.1+ +GST_FSL_PLUGINS_LICENSE = LGPL-2.0+, LGPL-2.1+, PROPRIETARY (asf.h) GST_FSL_PLUGINS_LICENSE_FILES = COPYING-LGPL-2.1 COPYING-LGPL-2 GST_FSL_PLUGINS_INSTALL_STAGING = YES diff --git a/package/gstreamer/gst-plugins-bad/Config.in b/package/gstreamer/gst-plugins-bad/Config.in index d54415a170..939fc7a7fa 100644 --- a/package/gstreamer/gst-plugins-bad/Config.in +++ b/package/gstreamer/gst-plugins-bad/Config.in @@ -57,8 +57,8 @@ config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_DEBUGUTILS bool "debugutils" config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_DECKLINK - depends on BR2_INSTALL_LIBSTDCPP bool "decklink" + depends on BR2_INSTALL_LIBSTDCPP comment "decklink needs a toolchain w/ C++" depends on !BR2_INSTALL_LIBSTDCPP @@ -261,8 +261,8 @@ config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_CURL config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_DIRECTFB bool "directfb" - depends on BR2_PACKAGE_DIRECTFB default y + depends on BR2_PACKAGE_DIRECTFB config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_DVB bool "dvb" diff --git a/package/gstreamer/gst-plugins-bad/gst-plugins-bad.mk b/package/gstreamer/gst-plugins-bad/gst-plugins-bad.mk index 98e5c1cfb8..b9416db34f 100644 --- a/package/gstreamer/gst-plugins-bad/gst-plugins-bad.mk +++ b/package/gstreamer/gst-plugins-bad/gst-plugins-bad.mk @@ -8,7 +8,7 @@ GST_PLUGINS_BAD_VERSION = 0.10.23 GST_PLUGINS_BAD_SOURCE = gst-plugins-bad-$(GST_PLUGINS_BAD_VERSION).tar.xz GST_PLUGINS_BAD_SITE = http://gstreamer.freedesktop.org/src/gst-plugins-bad # COPYING.LIB is in fact v2, but most of the code is v2.1+ -GST_PLUGINS_BAD_LICENSE = LGPLv2.1+, GPLv2+ +GST_PLUGINS_BAD_LICENSE = LGPL-2.1+, GPL-2.0+ GST_PLUGINS_BAD_LICENSE_FILES = COPYING.LIB COPYING GST_PLUGINS_BAD_CONF_OPTS = \ diff --git a/package/gstreamer/gst-plugins-base/gst-plugins-base.mk b/package/gstreamer/gst-plugins-base/gst-plugins-base.mk index 51c22a90bb..735314365d 100644 --- a/package/gstreamer/gst-plugins-base/gst-plugins-base.mk +++ b/package/gstreamer/gst-plugins-base/gst-plugins-base.mk @@ -8,15 +8,15 @@ GST_PLUGINS_BASE_VERSION = 0.10.36 GST_PLUGINS_BASE_SOURCE = gst-plugins-base-$(GST_PLUGINS_BASE_VERSION).tar.xz GST_PLUGINS_BASE_SITE = http://gstreamer.freedesktop.org/src/gst-plugins-base GST_PLUGINS_BASE_INSTALL_STAGING = YES -GST_PLUGINS_BASE_LICENSE = GPLv2+, LGPLv2+ +GST_PLUGINS_BASE_LICENSE = GPL-2.0+, LGPL-2.0+ GST_PLUGINS_BASE_LICENSE_FILES = COPYING COPYING.LIB # freetype is only used by examples, but if it is not found # and the host has a freetype-config script, then the host # include dirs are added to the search path causing trouble -GST_PLUGINS_BASE_CONF_ENV = - FT2_CONFIG=/bin/false \ - ac_cv_header_stdint_t="stdint.h" +GST_PLUGINS_BASE_CONF_ENV = \ + FT2_CONFIG=/bin/false \ + ac_cv_header_stdint_t="stdint.h" GST_PLUGINS_BASE_CONF_OPTS = \ --disable-examples \ diff --git a/package/gstreamer/gst-plugins-good/Config.in b/package/gstreamer/gst-plugins-good/Config.in index 65f74e819d..9a84ad1538 100644 --- a/package/gstreamer/gst-plugins-good/Config.in +++ b/package/gstreamer/gst-plugins-good/Config.in @@ -201,16 +201,14 @@ config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_OSS4 bool "oss4 (Open Sound System 4)" config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_PULSE + bool "pulseaudio" depends on BR2_TOOLCHAIN_HAS_THREADS # pulseaudio depends on BR2_USE_MMU # pulseaudio depends on !BR2_STATIC_LIBS # pulseaudio - depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pulseaudio -> json-c select BR2_PACKAGE_PULSEAUDIO - bool "pulseaudio" comment "pulseaudio support needs a toolchain w/ threads, dynamic library" depends on BR2_USE_MMU - depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_SOUPHTTPSRC diff --git a/package/gstreamer/gst-plugins-good/gst-plugins-good.mk b/package/gstreamer/gst-plugins-good/gst-plugins-good.mk index a686caf604..791b41351b 100644 --- a/package/gstreamer/gst-plugins-good/gst-plugins-good.mk +++ b/package/gstreamer/gst-plugins-good/gst-plugins-good.mk @@ -7,7 +7,7 @@ GST_PLUGINS_GOOD_VERSION = 0.10.31 GST_PLUGINS_GOOD_SOURCE = gst-plugins-good-$(GST_PLUGINS_GOOD_VERSION).tar.xz GST_PLUGINS_GOOD_SITE = http://gstreamer.freedesktop.org/src/gst-plugins-good -GST_PLUGINS_GOOD_LICENSE = LGPLv2.1+ +GST_PLUGINS_GOOD_LICENSE = LGPL-2.1+ GST_PLUGINS_GOOD_LICENSE_FILES = COPYING GST_PLUGINS_GOOD_CONF_OPTS = \ diff --git a/package/gstreamer/gst-plugins-ugly/gst-plugins-ugly.mk b/package/gstreamer/gst-plugins-ugly/gst-plugins-ugly.mk index 0f56164d46..1a1e2a11ba 100644 --- a/package/gstreamer/gst-plugins-ugly/gst-plugins-ugly.mk +++ b/package/gstreamer/gst-plugins-ugly/gst-plugins-ugly.mk @@ -8,9 +8,9 @@ GST_PLUGINS_UGLY_VERSION = 0.10.19 GST_PLUGINS_UGLY_SOURCE = gst-plugins-ugly-$(GST_PLUGINS_UGLY_VERSION).tar.xz GST_PLUGINS_UGLY_SITE = http://gstreamer.freedesktop.org/src/gst-plugins-ugly GST_PLUGINS_UGLY_PATCH = http://git.alpinelinux.org/cgit/aports/plain/main/gst-plugins-ugly0.10/cdio-cd-text-api.patch -# COPYING is in fact LGPLv2.1, but all of the code is v2+ +# COPYING is in fact LGPL-2.1, but all of the code is LGPL-2.0+ # (except for one test, xingmux) -GST_PLUGINS_UGLY_LICENSE = LGPLv2+, GPLv2+ (synaesthesia) +GST_PLUGINS_UGLY_LICENSE = LGPL-2.0+, GPL-2.0+ (synaesthesia) GST_PLUGINS_UGLY_LICENSE_FILES = COPYING GST_PLUGINS_UGLY_CONF_OPTS = \ diff --git a/package/gstreamer/gstreamer.mk b/package/gstreamer/gstreamer.mk index bc886c78a2..22240bceea 100644 --- a/package/gstreamer/gstreamer.mk +++ b/package/gstreamer/gstreamer.mk @@ -1 +1 @@ -include package/gstreamer/*/*.mk +include $(sort $(wildcard package/gstreamer/*/*.mk)) diff --git a/package/gstreamer/gstreamer/Config.in b/package/gstreamer/gstreamer/Config.in index eb1249ac5f..99c90f1a14 100644 --- a/package/gstreamer/gstreamer/Config.in +++ b/package/gstreamer/gstreamer/Config.in @@ -1,12 +1,14 @@ -comment "gstreamer 0.10 needs a toolchain w/ wchar, threads" +comment "gstreamer 0.10 needs a toolchain w/ wchar, threads, dynamic library" depends on BR2_USE_MMU - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ + BR2_STATIC_LIBS config BR2_PACKAGE_GSTREAMER bool "gstreamer 0.10" depends on BR2_USE_WCHAR # glib2 depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 depends on BR2_USE_MMU # glib2 + depends on !BR2_STATIC_LIBS select BR2_PACKAGE_LIBGLIB2 help GStreamer is an open source multimedia framework. diff --git a/package/gstreamer/gstreamer/gstreamer.mk b/package/gstreamer/gstreamer/gstreamer.mk index cde7f8f62c..91230aac28 100644 --- a/package/gstreamer/gstreamer/gstreamer.mk +++ b/package/gstreamer/gstreamer/gstreamer.mk @@ -9,7 +9,7 @@ GSTREAMER_SOURCE = gstreamer-$(GSTREAMER_VERSION).tar.xz GSTREAMER_SITE = http://gstreamer.freedesktop.org/src/gstreamer GSTREAMER_INSTALL_STAGING = YES # COPYING is in fact v2, but most of the code is v2.1+ -GSTREAMER_LICENSE = LGPLv2.1+ +GSTREAMER_LICENSE = LGPL-2.1+ GSTREAMER_LICENSE_FILES = COPYING # Checking if unaligned memory access works correctly cannot be done when cross diff --git a/package/gstreamer1/Config.in b/package/gstreamer1/Config.in index 23862bd8cb..aef75b55bf 100644 --- a/package/gstreamer1/Config.in +++ b/package/gstreamer1/Config.in @@ -10,5 +10,6 @@ source "package/gstreamer1/gst1-imx/Config.in" source "package/gstreamer1/gst1-libav/Config.in" source "package/gstreamer1/gst1-rtsp-server/Config.in" source "package/gstreamer1/gst1-validate/Config.in" +source "package/gstreamer1/gst1-vaapi/Config.in" source "package/gstreamer1/gst-omx/Config.in" endif diff --git a/package/gstreamer1/gst-omx/gst-omx.hash b/package/gstreamer1/gst-omx/gst-omx.hash index dff9840455..ec3f31d31e 100644 --- a/package/gstreamer1/gst-omx/gst-omx.hash +++ b/package/gstreamer1/gst-omx/gst-omx.hash @@ -1,2 +1,2 @@ -# From https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-1.10.4.tar.xz.sha256sum -sha256 45072925cf262f0fd528fab78f0de52734e46a5a88aa802fae51c67c09c81aa2 gst-omx-1.10.4.tar.xz +From https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-1.12.3.tar.xz.sha256sum +sha256 eef5de8bab1bb495bfbc9d16af9837d7f55b47cb6b97819b3152c5899c85843c gst-omx-1.12.3.tar.xz diff --git a/package/gstreamer1/gst-omx/gst-omx.mk b/package/gstreamer1/gst-omx/gst-omx.mk index 6ce7baad2f..98431496a5 100644 --- a/package/gstreamer1/gst-omx/gst-omx.mk +++ b/package/gstreamer1/gst-omx/gst-omx.mk @@ -4,11 +4,11 @@ # ################################################################################ -GST_OMX_VERSION = 1.10.4 +GST_OMX_VERSION = 1.12.3 GST_OMX_SOURCE = gst-omx-$(GST_OMX_VERSION).tar.xz GST_OMX_SITE = https://gstreamer.freedesktop.org/src/gst-omx -GST_OMX_LICENSE = LGPLv2.1 +GST_OMX_LICENSE = LGPL-2.1 GST_OMX_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_RPI_USERLAND),y) diff --git a/package/gstreamer1/gst1-imx/gst1-imx.mk b/package/gstreamer1/gst1-imx/gst1-imx.mk index 88429aea2e..a21e2829be 100644 --- a/package/gstreamer1/gst1-imx/gst1-imx.mk +++ b/package/gstreamer1/gst1-imx/gst1-imx.mk @@ -7,7 +7,7 @@ GST1_IMX_VERSION = 0.12.3 GST1_IMX_SITE = $(call github,Freescale,gstreamer-imx,$(GST1_IMX_VERSION)) -GST1_IMX_LICENSE = LGPLv2+ +GST1_IMX_LICENSE = LGPL-2.0+ GST1_IMX_LICENSE_FILES = LICENSE GST1_IMX_INSTALL_STAGING = YES diff --git a/package/gstreamer1/gst1-libav/gst1-libav.hash b/package/gstreamer1/gst1-libav/gst1-libav.hash index cc83429f6a..a5a9590795 100644 --- a/package/gstreamer1/gst1-libav/gst1-libav.hash +++ b/package/gstreamer1/gst1-libav/gst1-libav.hash @@ -1,2 +1,2 @@ -# From http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.10.4.tar.xz.sha256sum -sha256 6ca0feca75e3d48315e07f20ec37cf6260ed1e9dde58df355febd5016246268b gst-libav-1.10.4.tar.xz +From https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.12.3.tar.xz.sha256sum +sha256 015ef8cab6f7fb87c8fb42642486423eff3b6e6a6bccdcd6a189f436a3619650 gst-libav-1.12.3.tar.xz diff --git a/package/gstreamer1/gst1-libav/gst1-libav.mk b/package/gstreamer1/gst1-libav/gst1-libav.mk index 5726bb5d61..41b35abb1e 100644 --- a/package/gstreamer1/gst1-libav/gst1-libav.mk +++ b/package/gstreamer1/gst1-libav/gst1-libav.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_LIBAV_VERSION = 1.10.4 +GST1_LIBAV_VERSION = 1.12.3 GST1_LIBAV_SOURCE = gst-libav-$(GST1_LIBAV_VERSION).tar.xz GST1_LIBAV_SITE = https://gstreamer.freedesktop.org/src/gst-libav GST1_LIBAV_CONF_OPTS = --with-system-libav @@ -12,7 +12,7 @@ GST1_LIBAV_DEPENDENCIES = \ host-pkgconf ffmpeg gstreamer1 gst1-plugins-base \ $(if $(BR2_PACKAGE_BZIP2),bzip2) \ $(if $(BR2_PACKAGE_XZ),xz) -GST1_LIBAV_LICENSE = GPLv2+ +GST1_LIBAV_LICENSE = GPL-2.0+ GST1_LIBAV_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/gstreamer1/gst1-plugins-bad/0001-openjpeg-Support-building-with-openjpeg-2.3-simpler.patch b/package/gstreamer1/gst1-plugins-bad/0001-openjpeg-Support-building-with-openjpeg-2.3-simpler.patch new file mode 100644 index 0000000000..23569424a8 --- /dev/null +++ b/package/gstreamer1/gst1-plugins-bad/0001-openjpeg-Support-building-with-openjpeg-2.3-simpler.patch @@ -0,0 +1,89 @@ +From b08b3ad2c4ca27519b34229b7430af5cb73cc7ef Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Thu, 19 Oct 2017 16:36:17 +0200 +Subject: [PATCH] openjpeg: Support building with openjpeg 2.3, simpler + +OpenJPEG 2.3 installs its headers to /usr/include/openjpeg-2.3. However, +since libopenjp2.pc seems to provide the right includedir CFLAGS at +least since version 2.1, instead of adding yet another version check, +just remove the subdir and the check for 2.2. + +https://bugzilla.gnome.org/show_bug.cgi?id=788703 + +Upstream: https://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=bff2d834a4a38f64e555cee3d0144fde6c515acd +Signed-off-by: Peter Seiderer +--- + configure.ac | 5 ----- + ext/openjpeg/gstopenjpeg.h | 6 ++---- + ext/openjpeg/meson.build | 20 +++++++------------- + 3 files changed, 9 insertions(+), 22 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 7a8d752..f9727ac 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2815,11 +2815,6 @@ AG_GST_CHECK_FEATURE(OPENJPEG, [openjpeg library], openjpeg, [ + AG_GST_PKG_CHECK_MODULES(OPENJPEG_2_1, libopenjp2 >= 2.1) + if test x"$HAVE_OPENJPEG_2_1" = x"yes"; then + AC_DEFINE([HAVE_OPENJPEG_2_1], 1, [Define if OpenJPEG 2.1 is used]) +- dnl include paths changed for v2.2 +- AG_GST_PKG_CHECK_MODULES(OPENJPEG_2_2, libopenjp2 >= 2.2) +- if test x"$HAVE_OPENJPEG_2_2" = x"yes"; then +- AC_DEFINE([HAVE_OPENJPEG_2_2], 1, [Define if OpenJPEG 2.2 is used]) +- fi + fi + else + # Fallback to v1.5 +diff --git a/ext/openjpeg/gstopenjpeg.h b/ext/openjpeg/gstopenjpeg.h +index 52410a4..f9ca74a 100644 +--- a/ext/openjpeg/gstopenjpeg.h ++++ b/ext/openjpeg/gstopenjpeg.h +@@ -38,10 +38,8 @@ + #define OPJ_CPRL CPRL + #else + #include +-# if defined(HAVE_OPENJPEG_2_2) +-# include +-# elif defined(HAVE_OPENJPEG_2_1) +-# include ++# if defined(HAVE_OPENJPEG_2_1) ++# include + # else + # include + # endif +diff --git a/ext/openjpeg/meson.build b/ext/openjpeg/meson.build +index 0d97ebb..14b8583 100644 +--- a/ext/openjpeg/meson.build ++++ b/ext/openjpeg/meson.build +@@ -6,21 +6,15 @@ openjpeg_sources = [ + + openjpeg_cargs = [] + +-# Check for 2.2, 2.1, then 2.0 +-openjpeg_dep = dependency('libopenjp2', version : '>=2.2', required : false) ++# Check for 2.1, then 2.0, then 1.5 ++openjpeg_dep = dependency('libopenjp2', version : '>=2.1', required : false) + if openjpeg_dep.found() +- openjpeg_cargs += ['-DHAVE_OPENJPEG_2_2', '-DHAVE_OPENJPEG_2_1'] ++ openjpeg_cargs += ['-DHAVE_OPENJPEG_2_1'] + else +- openjpeg_dep = dependency('libopenjp2', version : '>=2.1', required : false) +- if openjpeg_dep.found() +- openjpeg_cargs += ['-DHAVE_OPENJPEG_2_1'] +- else +- openjpeg_dep = dependency('libopenjp2', required : false) +- # Fallback to 1.5 +- if not openjpeg_dep.found() +- openjpeg_dep = dependency('libopenjpeg1', required : false) +- openjpeg_cargs += ['-DHAVE_OPENJPEG_1'] +- endif ++ openjpeg_dep = dependency('libopenjp2', required : false) ++ if not openjpeg_dep.found() ++ openjpeg_dep = dependency('libopenjpeg1', required : false) ++ openjpeg_cargs += ['-DHAVE_OPENJPEG_1'] + endif + endif + +-- +2.14.2 + diff --git a/package/gstreamer1/gst1-plugins-bad/Config.in b/package/gstreamer1/gst1-plugins-bad/Config.in index 6bec362db0..0c9789997a 100644 --- a/package/gstreamer1/gst1-plugins-bad/Config.in +++ b/package/gstreamer1/gst1-plugins-bad/Config.in @@ -112,6 +112,7 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND default y depends on BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL depends on BR2_PACKAGE_WAYLAND + select BR2_PACKAGE_WAYLAND_PROTOCOLS select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_WINDOW comment "wayland needs the egl platform and the wayland package" @@ -163,6 +164,11 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ASFMUX help ASF Muxer Plugin +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOBUFFERSPLIT + bool "audiobuffersplit" + help + Audio buffersplit plugin + config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOFXBAD bool "audiofxbad" help @@ -173,6 +179,11 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOMIXER help Audio mixer plugin +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOMIXMATRIX + bool "audiomixmatrix" + help + Audio N:M mixer plugin + config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_COMPOSITOR bool "compositor" help @@ -198,33 +209,16 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CAMERABIN2 help Take image snapshots and record movies from camera -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CDXAPARSE - bool "cdxaparse" - config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_COLOREFFECTS bool "coloreffects" help Color Look-up Table filters -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DATAURISRC - bool "dataurisrc" - help - data: URI source - -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DCCP - bool "dccp" - config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DEBUGUTILS bool "debugutils" help Collection of elements that may or may not be useful for debugging -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DTLS - bool "dtls" - select BR2_PACKAGE_OPENSSL - help - DTLS plugin - config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DVBSUBOVERLAY bool "dvdsuboverlay" help @@ -273,9 +267,6 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GDP help Payload/depayload GDP packets -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_HDVPARSE - bool "hdvparse" - config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ID3TAG bool "id3tag" help @@ -337,9 +328,6 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGPSMUX help MPEG-PS muxer -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MVE - bool "mve" - config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MXF bool "mxf" help @@ -348,15 +336,9 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MXF config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_NETSIM bool "netsim" -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_NUVDEMUX - bool "nuvdemux" - config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ONVIF bool "onvif" -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PATCHDETECT - bool "patchdetect" - config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PCAPPARSE bool "pcapparse" help @@ -383,9 +365,6 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RTMP help RTMP plugin -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDI - bool "sdi" - config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDP bool "sdp" help @@ -422,9 +401,6 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_STEREO config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TIMECODE bool "timecode" -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TTA - bool "tta" - config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOFILTERS bool "videofilters" help @@ -435,8 +411,10 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOFRAME_AUDIOLEVEL help videoframe_audiolevel -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOMEASURE - bool "videomeasure" +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_IQA + bool "iqa" + help + Image Quality Assessment config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOPARSERS bool "videoparsers" @@ -461,10 +439,6 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_YADIF comment "plugins with external dependencies" -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_APEXSINK - bool "apexsink" - select BR2_PACKAGE_OPENSSL - config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ASSRENDER bool "assrender" select BR2_PACKAGE_LIBASS @@ -488,8 +462,8 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DASH DASH demuxer plugin config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DECKLINK - depends on BR2_INSTALL_LIBSTDCPP bool "decklink" + depends on BR2_INSTALL_LIBSTDCPP help Blackmagic Decklink plugin @@ -498,14 +472,14 @@ comment "decklink needs a toolchain w/ C++" config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DIRECTFB bool "directfb" - depends on BR2_PACKAGE_DIRECTFB default y + depends on BR2_PACKAGE_DIRECTFB config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DVB bool "dvb" - select BR2_PACKAGE_DTV_SCAN_TABLES # FEC_2_5 / QAM_4_NR definitions depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7 + select BR2_PACKAGE_DTV_SCAN_TABLES help DVB elements @@ -525,9 +499,9 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FBDEV config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FDK_AAC bool "fdk-aac" - select BR2_PACKAGE_FDK_AAC depends on BR2_PACKAGE_FDK_AAC_ARCH_SUPPORTS depends on BR2_INSTALL_LIBSTDCPP + select BR2_PACKAGE_FDK_AAC help MPEG AAC encoder/decoder @@ -567,6 +541,29 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_LIBMMS comment "libmms needs a toolchain w/ wchar, threads" depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DTLS + bool "dtls" + select BR2_PACKAGE_OPENSSL + help + DTLS plugin + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TTML + bool "ttml" + depends on BR2_USE_WCHAR # pango -> glib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # pango -> glib2 + depends on BR2_INSTALL_LIBSTDCPP # pango -> freetype + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz + select BR2_PACKAGE_CAIRO + select BR2_PACKAGE_LIBXML2 + select BR2_PACKAGE_PANGO + help + Timed Text Markup Language (TTML) subtitle plugin + +comment "ttml needs a toolchain w/ wchar, threads, C++" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_INSTALL_LIBSTDCPP + config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEG2ENC bool "mpeg2enc" select BR2_PACKAGE_LIBMPEG2 @@ -659,10 +656,6 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SBC bool "sbc" select BR2_PACKAGE_SBC -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDL - bool "sdl" - select BR2_PACKAGE_SDL - config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SHM bool "shm" help @@ -685,8 +678,9 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VOAACENC config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WAYLAND bool "wayland" - depends on BR2_PACKAGE_WAYLAND default y + depends on BR2_PACKAGE_WAYLAND + select BR2_PACKAGE_WAYLAND_PROTOCOLS help Wayland Video Sink @@ -696,8 +690,8 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WEBP help Webp image format plugin -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WEBRTC - bool "webrtc" +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WEBRTCDSP + bool "webrtcdsp" # All depends from webrtc-audio-processing depends on BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING_ARCH_SUPPORTS depends on BR2_INSTALL_LIBSTDCPP @@ -708,7 +702,7 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WEBRTC help WebRTC echo-cancellation, gain control and noise suppression -comment "webrtc needs a toolchain w/ C++, NPTL, gcc >= 4.8" +comment "webrtcdsp needs a toolchain w/ C++, NPTL, gcc >= 4.8" depends on BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING_ARCH_SUPPORTS depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS_NPTL \ || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 diff --git a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash index 441afa2c52..e4b83ff11c 100644 --- a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash +++ b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash @@ -1,2 +1,2 @@ -# From http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.10.4.tar.xz.sha256sum -sha256 23ddae506b3a223b94869a0d3eea3e9a12e847f94d2d0e0b97102ce13ecd6966 gst-plugins-bad-1.10.4.tar.xz +From https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.12.3.tar.xz.sha256sum +sha256 36d059761852bed0f1a7fcd3ef64a8aeecab95d2bca53cd6aa0f08054b1cbfec gst-plugins-bad-1.12.3.tar.xz diff --git a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk index 00add02af9..9f94148cfa 100644 --- a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk +++ b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk @@ -4,14 +4,18 @@ # ################################################################################ -GST1_PLUGINS_BAD_VERSION = 1.10.4 +GST1_PLUGINS_BAD_VERSION = 1.12.3 GST1_PLUGINS_BAD_SOURCE = gst-plugins-bad-$(GST1_PLUGINS_BAD_VERSION).tar.xz GST1_PLUGINS_BAD_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-bad GST1_PLUGINS_BAD_INSTALL_STAGING = YES GST1_PLUGINS_BAD_LICENSE_FILES = COPYING COPYING.LIB # Unknown and GPL licensed plugins will append to GST1_PLUGINS_BAD_LICENSE if # enabled. -GST1_PLUGINS_BAD_LICENSE = LGPLv2+, LGPLv2.1+ +GST1_PLUGINS_BAD_LICENSE = LGPL-2.0+, LGPL-2.1+ + +# patch 0001-openjpeg-Fix-build-against-openjpeg-2.2.patch touches configure.ac +GST1_PLUGINS_BAD_AUTORECONF = YES +GST1_PLUGINS_BAD_GETTEXTIZE = YES GST1_PLUGINS_BAD_CONF_OPTS = \ --disable-examples \ @@ -21,8 +25,6 @@ GST1_PLUGINS_BAD_CONF_OPTS = \ --disable-winks \ --disable-android_media \ --disable-apple_media \ - --disable-sdltest \ - --disable-wininet \ --disable-acm # Options which require currently unpackaged libraries @@ -30,6 +32,7 @@ GST1_PLUGINS_BAD_CONF_OPTS += \ --disable-avc \ --disable-opensles \ --disable-uvch264 \ + --disable-msdk \ --disable-voamrwbenc \ --disable-bs2b \ --disable-chromaprint \ @@ -44,29 +47,21 @@ GST1_PLUGINS_BAD_CONF_OPTS += \ --disable-ladspa \ --disable-lv2 \ --disable-libde265 \ - --disable-linsys \ --disable-modplug \ - --disable-mimic \ --disable-mplex \ - --disable-nas \ --disable-ofa \ --disable-openexr \ --disable-openni2 \ - --disable-pvr \ - --disable-libvisual \ - --disable-timidity \ --disable-teletextdec \ --disable-wildmidi \ --disable-smoothstreaming \ --disable-soundtouch \ --disable-spc \ --disable-gme \ - --disable-xvid \ --disable-vdpau \ --disable-schro \ --disable-zbar \ --disable-spandsp \ - --disable-sndio \ --disable-gtk3 \ --disable-qt @@ -121,7 +116,7 @@ endif ifneq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND)$(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WAYLAND),) GST1_PLUGINS_BAD_CONF_OPTS += --enable-wayland -GST1_PLUGINS_BAD_DEPENDENCIES += wayland +GST1_PLUGINS_BAD_DEPENDENCIES += wayland wayland-protocols else GST1_PLUGINS_BAD_CONF_OPTS += --disable-wayland endif @@ -175,6 +170,12 @@ else GST1_PLUGINS_BAD_CONF_OPTS += --disable-asfmux endif +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOBUFFERSPLIT),y) +GST1_PLUGINS_BAD_CONF_OPTS += --enable-audiobuffersplit +else +GST1_PLUGINS_BAD_CONF_OPTS += --disable-audiobuffersplit +endif + ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOFXBAD),y) GST1_PLUGINS_BAD_CONF_OPTS += --enable-audiofxbad else @@ -187,6 +188,12 @@ else GST1_PLUGINS_BAD_CONF_OPTS += --disable-audiomixer endif +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOMIXMATRIX),y) +GST1_PLUGINS_BAD_CONF_OPTS += --enable-audiomixmatrix +else +GST1_PLUGINS_BAD_CONF_OPTS += --disable-audiomixmatrix +endif + ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_COMPOSITOR),y) GST1_PLUGINS_BAD_CONF_OPTS += --enable-compositor else @@ -218,43 +225,18 @@ else GST1_PLUGINS_BAD_CONF_OPTS += --disable-camerabin2 endif -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CDXAPARSE),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-cdxaparse -else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-cdxaparse -endif - ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_COLOREFFECTS),y) GST1_PLUGINS_BAD_CONF_OPTS += --enable-coloreffects else GST1_PLUGINS_BAD_CONF_OPTS += --disable-coloreffects endif -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DATAURISRC),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-dataurisrc -else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-dataurisrc -endif - -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DCCP),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-dccp -else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-dccp -endif - ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DEBUGUTILS),y) GST1_PLUGINS_BAD_CONF_OPTS += --enable-debugutils else GST1_PLUGINS_BAD_CONF_OPTS += --disable-debugutils endif -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DTLS),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-dtls -GST1_PLUGINS_BAD_DEPENDENCIES += openssl -else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-dtls -endif - ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DVBSUBOVERLAY),y) GST1_PLUGINS_BAD_CONF_OPTS += --enable-dvbsuboverlay else @@ -315,12 +297,6 @@ else GST1_PLUGINS_BAD_CONF_OPTS += --disable-gdp endif -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_HDVPARSE),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-hdvparse -else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-hdvparse -endif - ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ID3TAG),y) GST1_PLUGINS_BAD_CONF_OPTS += --enable-id3tag else @@ -401,12 +377,6 @@ else GST1_PLUGINS_BAD_CONF_OPTS += --disable-mpegpsmux endif -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MVE),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-mve -else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-mve -endif - ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MXF),y) GST1_PLUGINS_BAD_CONF_OPTS += --enable-mxf else @@ -419,24 +389,12 @@ else GST1_PLUGINS_BAD_CONF_OPTS += --disable-netsim endif -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_NUVDEMUX),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-nuvdemux -else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-nuvdemux -endif - ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ONVIF),y) GST1_PLUGINS_BAD_CONF_OPTS += --enable-onvif else GST1_PLUGINS_BAD_CONF_OPTS += --disable-onvif endif -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PATCHDETECT),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-patchdetect -else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-patchdetect -endif - ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PCAPPARSE),y) GST1_PLUGINS_BAD_CONF_OPTS += --enable-pcapparse else @@ -468,12 +426,6 @@ else GST1_PLUGINS_BAD_CONF_OPTS += --disable-rtmp endif -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDI),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-sdi -else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-sdi -endif - ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDP),y) GST1_PLUGINS_BAD_CONF_OPTS += --enable-sdp else @@ -522,12 +474,6 @@ else GST1_PLUGINS_BAD_CONF_OPTS += --disable-timecode endif -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TTA),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-tta -else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-tta -endif - ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOFILTERS),y) GST1_PLUGINS_BAD_CONF_OPTS += --enable-videofilters else @@ -540,10 +486,10 @@ else GST1_PLUGINS_BAD_CONF_OPTS += --disable-videoframe_audiolevel endif -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOMEASURE),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-videomeasure +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_IQA),y) +GST1_PLUGINS_BAD_CONF_OPTS += --enable-iqa else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-videomeasure +GST1_PLUGINS_BAD_CONF_OPTS += --disable-iqa endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOPARSERS),y) @@ -578,13 +524,6 @@ endif # Plugins with dependencies -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_APEXSINK),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-apexsink -GST1_PLUGINS_BAD_DEPENDENCIES += openssl -else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-apexsink -endif - ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ASSRENDER),y) GST1_PLUGINS_BAD_CONF_OPTS += --enable-assrender GST1_PLUGINS_BAD_DEPENDENCIES += libass @@ -694,6 +633,20 @@ else GST1_PLUGINS_BAD_CONF_OPTS += --disable-libmms endif +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DTLS),y) +GST1_PLUGINS_BAD_CONF_OPTS += --enable-dtls +GST1_PLUGINS_BAD_DEPENDENCIES += openssl +else +GST1_PLUGINS_BAD_CONF_OPTS += --disable-dtls +endif + +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TTML),y) +GST1_PLUGINS_BAD_CONF_OPTS += --enable-ttml +GST1_PLUGINS_BAD_DEPENDENCIES += cairo libxml2 pango +else +GST1_PLUGINS_BAD_CONF_OPTS += --disable-ttml +endif + ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEG2ENC),y) GST1_PLUGINS_BAD_CONF_OPTS += --enable-mpeg2enc GST1_PLUGINS_BAD_DEPENDENCIES += libmpeg2 @@ -765,14 +718,6 @@ else GST1_PLUGINS_BAD_CONF_OPTS += --disable-sbc endif -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDL),y) -GST1_PLUGINS_BAD_CONF_ENV += ac_cv_path_SDL_CONFIG=$(STAGING_DIR)/usr/bin/sdl-config -GST1_PLUGINS_BAD_CONF_OPTS += --enable-sdl -GST1_PLUGINS_BAD_DEPENDENCIES += sdl -else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-sdl -endif - ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SHM),y) GST1_PLUGINS_BAD_CONF_OPTS += --enable-shm else @@ -813,11 +758,11 @@ else GST1_PLUGINS_BAD_CONF_OPTS += --disable-webp endif -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WEBRTC),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-webrtc +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WEBRTCDSP),y) +GST1_PLUGINS_BAD_CONF_OPTS += --enable-webrtcdsp GST1_PLUGINS_BAD_DEPENDENCIES += webrtc-audio-processing else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-webrtc +GST1_PLUGINS_BAD_CONF_OPTS += --disable-webrtcdsp endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_X265),y) diff --git a/package/gstreamer1/gst1-plugins-base/Config.in b/package/gstreamer1/gst1-plugins-base/Config.in index 897c1d13ca..6b08b68cf2 100644 --- a/package/gstreamer1/gst1-plugins-base/Config.in +++ b/package/gstreamer1/gst1-plugins-base/Config.in @@ -54,9 +54,9 @@ config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_GIO GIO elements config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_PLAYBACK - select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_TYPEFIND bool "playback" default y + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_TYPEFIND help various playback elements @@ -66,6 +66,11 @@ config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORESAMPLE help Resamples audio +config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_RAWPARSE + bool "rawparse" + help + Parses byte streams into raw frames + config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_SUBPARSE bool "subparse" help diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash index b526b1454b..7b02be000d 100644 --- a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash +++ b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash @@ -1,2 +1,2 @@ -# From http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.10.4.tar.xz.sha256sum -sha256 f6d245b6b3d4cb733f81ebb021074c525ece83db0c10e932794b339b8d935eb7 gst-plugins-base-1.10.4.tar.xz +From https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.12.3.tar.xz.sha256sum +sha256 d3d37b8489d37fa0018973d850bd2067b98af335fef2fa543ee7d40359e3cea5 gst-plugins-base-1.12.3.tar.xz diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk index 6ab63a3512..19172ab63e 100644 --- a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk +++ b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk @@ -4,27 +4,16 @@ # ################################################################################ -GST1_PLUGINS_BASE_VERSION = 1.10.4 +GST1_PLUGINS_BASE_VERSION = 1.12.3 GST1_PLUGINS_BASE_SOURCE = gst-plugins-base-$(GST1_PLUGINS_BASE_VERSION).tar.xz GST1_PLUGINS_BASE_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-base GST1_PLUGINS_BASE_INSTALL_STAGING = YES GST1_PLUGINS_BASE_LICENSE_FILES = COPYING.LIB -GST1_PLUGINS_BASE_LICENSE = LGPLv2+, LGPLv2.1+ - -# freetype is only used by examples, but if it is not found -# and the host has a freetype-config script, then the host -# include dirs are added to the search path causing trouble -GST1_PLUGINS_BASE_CONF_ENV = - FT2_CONFIG=/bin/false \ - ac_cv_header_stdint_t="stdint.h" +GST1_PLUGINS_BASE_LICENSE = LGPL-2.0+, LGPL-2.1+ # gio_unix_2_0 is only used for tests GST1_PLUGINS_BASE_CONF_OPTS = \ --disable-examples \ - --disable-oggtest \ - --disable-vorbistest \ - --disable-gio_unix_2_0 \ - --disable-freetypetest \ --disable-valgrind # Options which require currently unpackaged libraries @@ -102,6 +91,12 @@ else GST1_PLUGINS_BASE_CONF_OPTS += --disable-audioresample endif +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_RAWPARSE),y) +GST1_PLUGINS_BASE_CONF_OPTS += --enable-rawparse +else +GST1_PLUGINS_BASE_CONF_OPTS += --disable-rawparse +endif + ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_SUBPARSE),y) GST1_PLUGINS_BASE_CONF_OPTS += --enable-subparse else diff --git a/package/gstreamer1/gst1-plugins-good/Config.in b/package/gstreamer1/gst1-plugins-good/Config.in index 27f24f5e73..cb7beb944b 100644 --- a/package/gstreamer1/gst1-plugins-good/Config.in +++ b/package/gstreamer1/gst1-plugins-good/Config.in @@ -306,9 +306,9 @@ comment "flac needs a toolchain w/ wchar" config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_GDKPIXBUF bool "gdkpixbuf" - select BR2_PACKAGE_GDK_PIXBUF depends on BR2_USE_WCHAR # gdk-pixbuf -> libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # gdk-pixbuf -> libglib2 + select BR2_PACKAGE_GDK_PIXBUF help GdkPixbuf-based image decoder, overlay and sink @@ -316,18 +316,16 @@ comment "gdkpixbuf needs a toolchain w/ wchar, threads" depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_PULSE + bool "pulseaudio" depends on BR2_TOOLCHAIN_HAS_THREADS # pulseaudio depends on BR2_USE_MMU # pulseaudio depends on !BR2_STATIC_LIBS # pulseaudio - depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pulseaudio -> json-c select BR2_PACKAGE_PULSEAUDIO - bool "pulseaudio" help PulseAudio plugin library comment "pulseaudio support needs a toolchain w/ threads, dynamic library" depends on BR2_USE_MMU - depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SOUPHTTPSRC @@ -360,9 +358,9 @@ comment "taglib needs a toolchain w/ C++, wchar" config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VPX bool "vpx (webm)" - select BR2_PACKAGE_LIBVPX depends on !BR2_bfin # libvpx depends on BR2_TOOLCHAIN_HAS_THREADS # libvpx + select BR2_PACKAGE_LIBVPX help VP8 plugin diff --git a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash index 21ee18d15f..0d4b70b7bc 100644 --- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash +++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash @@ -1,2 +1,2 @@ -# From http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.10.4.tar.xz.sha256sum -sha256 8a86c61434a8c44665365bd0b3557a040937d1f44bf69caee4e9ea816ce74d7e gst-plugins-good-1.10.4.tar.xz +From https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.12.3.tar.xz.sha256sum +sha256 13e7f479296891fef5a686438f20ba7d534680becf2269ecc5ee24aa83b45f03 gst-plugins-good-1.12.3.tar.xz diff --git a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk index e25149a846..379fef6531 100644 --- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk +++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk @@ -4,11 +4,11 @@ # ################################################################################ -GST1_PLUGINS_GOOD_VERSION = 1.10.4 +GST1_PLUGINS_GOOD_VERSION = 1.12.3 GST1_PLUGINS_GOOD_SOURCE = gst-plugins-good-$(GST1_PLUGINS_GOOD_VERSION).tar.xz GST1_PLUGINS_GOOD_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-good GST1_PLUGINS_GOOD_LICENSE_FILES = COPYING -GST1_PLUGINS_GOOD_LICENSE = LGPLv2.1+ +GST1_PLUGINS_GOOD_LICENSE = LGPL-2.1+ GST1_PLUGINS_GOOD_CONF_OPTS = \ --disable-valgrind \ @@ -20,10 +20,7 @@ GST1_PLUGINS_GOOD_CONF_OPTS = \ --disable-osx_video \ --disable-aalib \ --disable-aalibtest \ - --disable-libcaca \ - --disable-esd \ - --disable-esdtest - + --disable-libcaca # Options which require currently unpackaged libraries GST1_PLUGINS_GOOD_CONF_OPTS += \ diff --git a/package/gstreamer1/gst1-plugins-ugly/Config.in b/package/gstreamer1/gst1-plugins-ugly/Config.in index f30163aa0a..c997411021 100644 --- a/package/gstreamer1/gst1-plugins-ugly/Config.in +++ b/package/gstreamer1/gst1-plugins-ugly/Config.in @@ -50,13 +50,6 @@ config BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_LAME help Encode MP3s with LAME -config BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MAD - bool "mad (*.mp3 audio)" - select BR2_PACKAGE_LIBID3TAG - select BR2_PACKAGE_LIBMAD - help - mp3 decoding based on the mad library - config BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MPG123 bool "mpg123 (*.mp3 audio)" select BR2_PACKAGE_MPG123 diff --git a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash index 9567d9ca0c..999166b7ef 100644 --- a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash +++ b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash @@ -1,2 +1,2 @@ -# From http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.10.4.tar.xz.sha256sum -sha256 6386c77ca8459cba431ed0b63da780c7062c7cc48055d222024d8eaf198ffa59 gst-plugins-ugly-1.10.4.tar.xz +From https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.12.3.tar.xz.sha256sum +sha256 e88ca584c94ea78eeecbf3af00ef7f134b66bdee7408aa4aa6c547235e060052 gst-plugins-ugly-1.12.3.tar.xz diff --git a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk index d503555cf4..4b7ef96092 100644 --- a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk +++ b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk @@ -4,12 +4,12 @@ # ################################################################################ -GST1_PLUGINS_UGLY_VERSION = 1.10.4 +GST1_PLUGINS_UGLY_VERSION = 1.12.3 GST1_PLUGINS_UGLY_SOURCE = gst-plugins-ugly-$(GST1_PLUGINS_UGLY_VERSION).tar.xz GST1_PLUGINS_UGLY_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-ugly GST1_PLUGINS_UGLY_LICENSE_FILES = COPYING # GPL licensed plugins will append to GST1_PLUGINS_UGLY_LICENSE if enabled. -GST1_PLUGINS_UGLY_LICENSE = LGPLv2.1+ +GST1_PLUGINS_UGLY_LICENSE = LGPL-2.1+ GST1_PLUGINS_UGLY_CONF_OPTS = --disable-examples --disable-valgrind @@ -77,14 +77,6 @@ else GST1_PLUGINS_UGLY_CONF_OPTS += --disable-lame endif -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MAD),y) -GST1_PLUGINS_UGLY_CONF_OPTS += --enable-mad -GST1_PLUGINS_UGLY_DEPENDENCIES += libid3tag libmad -GST1_PLUGINS_UGLY_HAS_GPL_LICENSE = y -else -GST1_PLUGINS_UGLY_CONF_OPTS += --disable-mad -endif - ifeq ($(BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MPG123),y) GST1_PLUGINS_UGLY_CONF_OPTS += --enable-mpg123 GST1_PLUGINS_UGLY_DEPENDENCIES += mpg123 @@ -110,7 +102,7 @@ endif # Add GPL license if GPL plugins enabled. ifeq ($(GST1_PLUGINS_UGLY_HAS_GPL_LICENSE),y) -GST1_PLUGINS_UGLY_LICENSE += GPLv2 +GST1_PLUGINS_UGLY_LICENSE += GPL-2.0 endif # Use the following command to extract license info for plugins. diff --git a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash index d4c540d690..6457861c56 100644 --- a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash +++ b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash @@ -1,2 +1,2 @@ -# From https://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-1.10.4.tar.xz.sha256sum -sha256 2f6e12fd4e3568ee190dc24e57e4c3a878971c3a3fb6904a9674404fac256de6 gst-rtsp-server-1.10.4.tar.xz +From https://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-1.12.3.tar.xz.sha256sum +sha256 67255971bb16029a01de66b9f9687f20d8dbf3d3bd75feb48605d0723a7c74ec gst-rtsp-server-1.12.3.tar.xz diff --git a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk index bfdd4c433a..71c9ef5bda 100644 --- a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk +++ b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk @@ -4,10 +4,10 @@ # ################################################################################ -GST1_RTSP_SERVER_VERSION = 1.10.4 +GST1_RTSP_SERVER_VERSION = 1.12.3 GST1_RTSP_SERVER_SOURCE = gst-rtsp-server-$(GST1_RTSP_SERVER_VERSION).tar.xz GST1_RTSP_SERVER_SITE = http://gstreamer.freedesktop.org/src/gst-rtsp-server -GST1_RTSP_SERVER_LICENSE = LGPLv2+ +GST1_RTSP_SERVER_LICENSE = LGPL-2.0+ GST1_RTSP_SERVER_LICENSE_FILES = COPYING COPYING.LIB GST1_RTSP_SERVER_INSTALL_STAGING = YES GST1_RTSP_SERVER_DEPENDENCIES = \ diff --git a/package/gstreamer1/gst1-vaapi/Config.in b/package/gstreamer1/gst1-vaapi/Config.in new file mode 100644 index 0000000000..91bd4f85dd --- /dev/null +++ b/package/gstreamer1/gst1-vaapi/Config.in @@ -0,0 +1,50 @@ +config BR2_PACKAGE_GST1_VAAPI + bool "gst1-vaapi" + depends on !BR2_STATIC_LIBS # dlopen(), libva + depends on BR2_TOOLCHAIN_HAS_THREADS # libva, libdrm + depends on BR2_PACKAGE_HAS_UDEV + select BR2_PACKAGE_LIBVA + select BR2_PACKAGE_LIBDRM + select BR2_PACKAGE_GST1_PLUGINS_BASE + select BR2_PACKAGE_GST1_PLUGINS_BAD # gstreamer-codecparsers + help + gstreamer-vaapi consists in a collection of VA-API based + plugins for GStreamer and helper libraries. + + vaapidec is used to decode JPEG, MPEG-2, MPEG-4:2, + H.264 AVC, H.264 MVC, VP8, VC-1, WMV3, HEVC videos to VA + surfaces, depending on the actual value of and the + underlying hardware capabilities. This plugin is also able + to implicitly download the decoded surface to raw YUV + buffers. + + vaapienc is used to encode into MPEG-2, H.264 AVC, + H.264 MVC, JPEG, VP8, HEVC videos, depending on the actual + value of (mpeg2, h264, etc.) and the hardware + capabilities. By default, raw format bitstreams are + generated, so the result may be piped to a muxer, e.g. qtmux + for MP4 containers. + + vaapipostproc is used to filter VA surfaces, for + e.g. scaling, deinterlacing (bob, motion-adaptive, + motion-compensated), noise reduction or sharpening. This + plugin is also used to upload raw YUV pixels into VA + surfaces. + + vaapisink is used to render VA surfaces to an X11 or Wayland + display. This plugin also features a "headless" mode (DRM) + more suited to remote transcode scenarios, with faster + throughput. + + https://cgit.freedesktop.org/gstreamer/gstreamer-vaapi + +if BR2_PACKAGE_GST1_VAAPI + +config BR2_PACKAGE_GST1_VAAPI_ENCODERS + bool "enable encoders" + +endif + +comment "gst1-vaapi needs udev /dev management and a toolchain w/ threads, dynamic library" + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ + !BR2_PACKAGE_HAS_UDEV diff --git a/package/gstreamer1/gst1-vaapi/gst1-vaapi.hash b/package/gstreamer1/gst1-vaapi/gst1-vaapi.hash new file mode 100644 index 0000000000..1ffa5a937b --- /dev/null +++ b/package/gstreamer1/gst1-vaapi/gst1-vaapi.hash @@ -0,0 +1,2 @@ +From https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-1.12.3.tar.xz.sha256sum +sha256 f4cdafd8fd9606a490917c8b67336e835df1219580d55421c70480fd0913744d gstreamer-vaapi-1.12.3.tar.xz diff --git a/package/gstreamer1/gst1-vaapi/gst1-vaapi.mk b/package/gstreamer1/gst1-vaapi/gst1-vaapi.mk new file mode 100644 index 0000000000..9783c591aa --- /dev/null +++ b/package/gstreamer1/gst1-vaapi/gst1-vaapi.mk @@ -0,0 +1,33 @@ +################################################################################ +# +# gst1-vaapi +# +################################################################################ + +GST1_VAAPI_VERSION = 1.12.3 +GST1_VAAPI_SITE = https://gstreamer.freedesktop.org/src/gstreamer-vaapi +GST1_VAAPI_SOURCE = gstreamer-vaapi-$(GST1_VAAPI_VERSION).tar.xz +GST1_VAAPI_LICENSE = LGPL-2.1+ +GST1_VAAPI_LICENSE_FILES = COPYING.LIB + +GST1_VAAPI_DEPENDENCIES += \ + gstreamer1 \ + gst1-plugins-base \ + gst1-plugins-bad \ + libva \ + libdrm + +GST1_VAAPI_CONF_OPTS += \ + --disable-x11 \ + --disable-glx \ + --disable-wayland \ + --disable-egl \ + --disable-gtk-doc-html + +ifeq ($(BR2_PACKAGE_GST1_VAAPI_ENCODERS),y) +GST1_VAAPI_CONF_OPTS += --enable-encoders +else +GST1_VAAPI_CONF_OPTS += --disable-encoders +endif + +$(eval $(autotools-package)) diff --git a/package/gstreamer1/gst1-validate/gst1-validate.hash b/package/gstreamer1/gst1-validate/gst1-validate.hash index 10c6667357..75e43b15b3 100644 --- a/package/gstreamer1/gst1-validate/gst1-validate.hash +++ b/package/gstreamer1/gst1-validate/gst1-validate.hash @@ -1,2 +1,2 @@ -# From http://gstreamer.freedesktop.org/src/gst-validate/gst-validate-1.10.4.tar.xz.sha256sum -sha256 e59c00bf64cca9c477cdb44eb8dd0b3aac5499b17d77bf28ee054fd211e8d73c gst-validate-1.10.4.tar.xz +From https://gstreamer.freedesktop.org/src/gst-validate/gst-validate-1.12.3.tar.xz.sha256sum +sha256 5139949d20274fdd702492438eeab2c9e55aa82f60aca17db27ebd3faf08489e gst-validate-1.12.3.tar.xz diff --git a/package/gstreamer1/gst1-validate/gst1-validate.mk b/package/gstreamer1/gst1-validate/gst1-validate.mk index cf7a8aff5c..33fec08d12 100644 --- a/package/gstreamer1/gst1-validate/gst1-validate.mk +++ b/package/gstreamer1/gst1-validate/gst1-validate.mk @@ -4,14 +4,12 @@ # ################################################################################ -GST1_VALIDATE_VERSION = 1.10.4 +GST1_VALIDATE_VERSION = 1.12.3 GST1_VALIDATE_SOURCE = gst-validate-$(GST1_VALIDATE_VERSION).tar.xz GST1_VALIDATE_SITE = https://gstreamer.freedesktop.org/src/gst-validate -GST1_VALIDATE_LICENSE = LGPLv2.1+ +GST1_VALIDATE_LICENSE = LGPL-2.1+ GST1_VALIDATE_LICENSE_FILES = COPYING -GST1_VALIDATE_CONF_OPTS = --disable-sphinx-doc - GST1_VALIDATE_DEPENDENCIES = \ gstreamer1 \ gst1-plugins-base \ @@ -20,4 +18,6 @@ GST1_VALIDATE_DEPENDENCIES = \ python \ $(if $(BR2_PACKAGE_CAIRO),cairo) +GST1_VALIDATE_CONF_OPTS += --disable-sphinx-doc + $(eval $(autotools-package)) diff --git a/package/gstreamer1/gstreamer1.mk b/package/gstreamer1/gstreamer1.mk index 5b748e33fb..8530ff027a 100644 --- a/package/gstreamer1/gstreamer1.mk +++ b/package/gstreamer1/gstreamer1.mk @@ -1 +1 @@ -include package/gstreamer1/*/*.mk +include $(sort $(wildcard package/gstreamer1/*/*.mk)) diff --git a/package/gstreamer1/gstreamer1/0001-gstconfig.h.in-Fix-unaligned-access-support-for-the-.patch b/package/gstreamer1/gstreamer1/0001-gstconfig.h.in-Fix-unaligned-access-support-for-the-.patch deleted file mode 100644 index 88f337328c..0000000000 --- a/package/gstreamer1/gstreamer1/0001-gstconfig.h.in-Fix-unaligned-access-support-for-the-.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 437b3e38d9127ae021ca8510709c2e6be3e6b819 Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Sat, 18 Feb 2017 10:03:24 +0100 -Subject: [PATCH] gstconfig.h.in: Fix unaligned access support for the openrisc - architecture - -Teach gstconfig.h.in about the openrisc (or1k) architecture. Fixes -buildroot autobuild failure: - -http://autobuild.buildroot.net/results/717/717d78ce0935749f477bdf3133b6f20057a28c01/build-end.log - -Submitted-upstream: https://bugzilla.gnome.org/show_bug.cgi?id=778866 -Signed-off-by: Peter Korsgaard ---- - gst/gstconfig.h.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gst/gstconfig.h.in b/gst/gstconfig.h.in -index cf95f61ab..1b2ca64ac 100644 ---- a/gst/gstconfig.h.in -+++ b/gst/gstconfig.h.in -@@ -104,7 +104,7 @@ - * http://docs.oracle.com/cd/E19205-01/820-4155/c++_faq.html#Vers6 - * https://software.intel.com/en-us/node/583402 - */ --#if defined(__alpha__) || defined(__arc__) || defined(__arm__) || defined(__aarch64__) || defined(__bfin) || defined(__hppa__) || defined(__nios2__) || defined(__MICROBLAZE__) || defined(__mips__) || defined(__sh__) || defined(__SH4__) || defined(__sparc__) || defined(__sparc) || defined(__ia64__) || defined(_M_ALPHA) || defined(_M_ARM) || defined(_M_IA64) || defined(__xtensa__) -+#if defined(__alpha__) || defined(__arc__) || defined(__arm__) || defined(__aarch64__) || defined(__bfin) || defined(__hppa__) || defined(__nios2__) || defined(__MICROBLAZE__) || defined(__mips__) || defined(__or1k__) || defined(__sh__) || defined(__SH4__) || defined(__sparc__) || defined(__sparc) || defined(__ia64__) || defined(_M_ALPHA) || defined(_M_ARM) || defined(_M_IA64) || defined(__xtensa__) - # define GST_HAVE_UNALIGNED_ACCESS 0 - #elif defined(__i386__) || defined(__i386) || defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__ppc__) || defined(__ppc64__) || defined(__powerpc__) || defined(__powerpc64__) || defined(__m68k__) || defined(_M_IX86) || defined(_M_AMD64) || defined(_M_X64) || defined(__s390__) || defined(__s390x__) || defined(__zarch__) - # define GST_HAVE_UNALIGNED_ACCESS 1 --- -2.11.0 - diff --git a/package/gstreamer1/gstreamer1/gstreamer1.hash b/package/gstreamer1/gstreamer1/gstreamer1.hash index 455e7fb48c..2a1edbf88a 100644 --- a/package/gstreamer1/gstreamer1/gstreamer1.hash +++ b/package/gstreamer1/gstreamer1/gstreamer1.hash @@ -1,2 +1,2 @@ -# From http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.10.4.tar.xz.sha256sum -sha256 50c2f5af50a6cc6c0a3f3ed43bdd8b5e2bff00bacfb766d4be139ec06d8b5218 gstreamer-1.10.4.tar.xz +From https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.12.3.tar.xz.sha256sum +sha256 d388f492440897f02b01eebb033ca2d41078a3d85c0eddc030cdea5a337a216e gstreamer-1.12.3.tar.xz diff --git a/package/gstreamer1/gstreamer1/gstreamer1.mk b/package/gstreamer1/gstreamer1/gstreamer1.mk index 5a0a369c7e..723e59b208 100644 --- a/package/gstreamer1/gstreamer1/gstreamer1.mk +++ b/package/gstreamer1/gstreamer1/gstreamer1.mk @@ -4,12 +4,12 @@ # ################################################################################ -GSTREAMER1_VERSION = 1.10.4 +GSTREAMER1_VERSION = 1.12.3 GSTREAMER1_SOURCE = gstreamer-$(GSTREAMER1_VERSION).tar.xz GSTREAMER1_SITE = https://gstreamer.freedesktop.org/src/gstreamer GSTREAMER1_INSTALL_STAGING = YES GSTREAMER1_LICENSE_FILES = COPYING -GSTREAMER1_LICENSE = LGPLv2+, LGPLv2.1+ +GSTREAMER1_LICENSE = LGPL-2.0+, LGPL-2.1+ GSTREAMER1_CONF_OPTS = \ --disable-examples \ diff --git a/package/gtest/Config.in b/package/gtest/Config.in index 355b736c60..3f1f38556f 100644 --- a/package/gtest/Config.in +++ b/package/gtest/Config.in @@ -21,6 +21,34 @@ config BR2_PACKAGE_GTEST https://github.com/google/googletest +if BR2_PACKAGE_GTEST + +config BR2_PACKAGE_GTEST_GMOCK + bool "gmock" + help + Inspired by jMock, EasyMock, and Hamcrest, and designed with + C++'s specifics in mind, Google C++ Mocking Framework (or + Google Mock for short) is a library for writing and using C++ + mock classes. + + Google Mock: + + * lets you create mock classes trivially using simple + macros, supports a rich set of matchers and actions, + * handles unordered, partially ordered, or completely + ordered expectations, + * is extensible by users, and + * works on Linux, Mac OS X, Windows, Windows Mobile, minGW, + and Symbian. + + There are both host and target packages. The target one has + include files required to compile the tests and the static + libraries required to link/run them. The host package installs + gmock_gen, a Python script used to generate code mocks. + +endif # BR2_PACKAGE_GTEST + comment "gtest needs a toolchain w/ C++, wchar, threads" depends on BR2_USE_MMU - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_INSTALL_LIBSTDCPP diff --git a/package/gmock/gmock.pc b/package/gtest/gmock.pc similarity index 93% rename from package/gmock/gmock.pc rename to package/gtest/gmock.pc index 2f900682ef..4c723542af 100644 --- a/package/gmock/gmock.pc +++ b/package/gtest/gmock.pc @@ -5,7 +5,7 @@ includedir=${prefix}/include Name: gmock Description: Google C++ Mocking Framework -Version: 1.7.0 +Version: 1.8.0 Libs: -L${libdir} -lgmock Libs.private: -lpthread Cflags: -I${includedir} diff --git a/package/gtest/gtest.hash b/package/gtest/gtest.hash index 79e31e466d..474008d2cd 100644 --- a/package/gtest/gtest.hash +++ b/package/gtest/gtest.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 f73a6546fdf9fce9ff93a5015e0333a8af3062a152a9ad6bcb772c96687016cc gtest-release-1.7.0.tar.gz +sha256 58a6f4277ca2bc8565222b3bbd58a177609e9c488e8a72649359ba51450db7d8 gtest-release-1.8.0.tar.gz diff --git a/package/gtest/gtest.mk b/package/gtest/gtest.mk index eb30905c2a..b62ceb3270 100644 --- a/package/gtest/gtest.mk +++ b/package/gtest/gtest.mk @@ -4,13 +4,29 @@ # ################################################################################ -# Make sure this remains the same version as the gmock one -GTEST_VERSION = release-1.7.0 +GTEST_VERSION = release-1.8.0 GTEST_SITE = $(call github,google,googletest,$(GTEST_VERSION)) GTEST_INSTALL_STAGING = YES GTEST_INSTALL_TARGET = NO -GTEST_LICENSE = BSD-3c -GTEST_LICENSE_FILES = LICENSE +GTEST_LICENSE = BSD-3-Clause +GTEST_LICENSE_FILES = googletest/LICENSE + +ifeq ($(BR2_PACKAGE_GTEST_GMOCK),y) +GTEST_DEPENDENCIES += host-gtest +endif + +HOST_GTEST_LICENSE = Apache-2.0 +HOST_GTEST_LICENSE_FILES = googlemock/scripts/generator/LICENSE +ifeq ($(BR2_PACKAGE_PYTHON3),y) +HOST_GTEST_PYTHON_VERSION = $(PYTHON3_VERSION_MAJOR) +HOST_GTEST_DEPENDENCIES += host-python3 +else +HOST_GTEST_PYTHON_VERSION = $(PYTHON_VERSION_MAJOR) +HOST_GTEST_DEPENDENCIES += host-python +endif + +HOST_GTEST_GMOCK_PYTHONPATH = \ + $(HOST_DIR)/lib/python$(HOST_GTEST_PYTHON_VERSION)/site-packages # While it is possible to build gtest as shared library, using this gtest shared # library requires to set some special configure option in the project using @@ -21,11 +37,22 @@ GTEST_LICENSE_FILES = LICENSE # the gtest sources. GTEST_CONF_OPTS = -DBUILD_SHARED_LIBS=OFF -define GTEST_INSTALL_STAGING_CMDS - $(INSTALL) -D -m 0755 $(@D)/libgtest.a $(STAGING_DIR)/usr/lib/libgtest.a - $(INSTALL) -D -m 0755 $(@D)/libgtest_main.a $(STAGING_DIR)/usr/lib/libgtest_main.a - $(INSTALL) -d -m 0755 $(STAGING_DIR)/usr/include/gtest/ - cp -rp $(@D)/include/gtest/* $(STAGING_DIR)/usr/include/gtest/ +# Ensure that GTest is compiled with -fPIC to allow linking the static +# libraries with dynamically linked programs. This is not a requirement +# for most architectures but is mandatory for ARM. +ifeq ($(BR2_STATIC_LIBS),) +GTEST_CONF_OPTS += -DCMAKE_POSITION_INDEPENDENT_CODE=ON +endif + +GTEST_CONF_OPTS += -DBUILD_GTEST=ON + +ifeq ($(BR2_PACKAGE_GTEST_GMOCK),y) +GTEST_CONF_OPTS += -DBUILD_GMOCK=ON +else +GTEST_CONF_OPTS += -DBUILD_GMOCK=OFF +endif + +define GTEST_INSTALL_MISSING_FILES $(INSTALL) -D -m 0644 package/gtest/gtest.pc \ $(STAGING_DIR)/usr/lib/pkgconfig/gtest.pc # Generate the gtest-config script manually, since the CMake @@ -39,9 +66,30 @@ define GTEST_INSTALL_STAGING_CMDS s%@bindir@%$(STAGING_DIR)/usr/bin%;\ s%@PTHREAD_CFLAGS@%%;\ s%@PTHREAD_LIBS@%-lpthread%;' \ - $(@D)/scripts/gtest-config.in \ + $(@D)/googletest/scripts/gtest-config.in \ > $(STAGING_DIR)/usr/bin/gtest-config chmod +x $(STAGING_DIR)/usr/bin/gtest-config endef +GTEST_POST_INSTALL_STAGING_HOOKS = GTEST_INSTALL_MISSING_FILES + +ifeq ($(BR2_PACKAGE_GTEST_GMOCK),y) +define GTEST_GMOCK_INSTALL_MISSING_FILE + $(INSTALL) -D -m 0644 package/gtest/gmock.pc \ + $(STAGING_DIR)/usr/lib/pkgconfig/gmock.pc +endef + +GTEST_POST_INSTALL_STAGING_HOOKS += GTEST_GMOCK_INSTALL_MISSING_FILE +endif + +define HOST_GTEST_INSTALL_CMDS + $(INSTALL) -D -m 0755 $(@D)/googlemock/scripts/generator/gmock_gen.py \ + $(HOST_DIR)/bin/gmock_gen + cp -rp $(@D)/googlemock/scripts/generator/cpp \ + $(HOST_GTEST_GMOCK_PYTHONPATH) +endef + $(eval $(cmake-package)) +# The host package does not build anything, just installs gmock_gen stuff, so +# it does not need to be a host-cmake-package. +$(eval $(host-generic-package)) diff --git a/package/gtest/gtest.pc b/package/gtest/gtest.pc index b7a8aa4000..594e79d7c5 100644 --- a/package/gtest/gtest.pc +++ b/package/gtest/gtest.pc @@ -5,7 +5,7 @@ includedir=${prefix}/include Name: gtest Description: Google C++ Testing Framework -Version: 1.7.0 +Version: 1.8.0 Libs: -L${libdir} -lgtest Libs.private: -lpthread Cflags: -I${includedir} diff --git a/package/gtk2-engines/gtk2-engines.mk b/package/gtk2-engines/gtk2-engines.mk index 9b285f6f31..5f145940b2 100644 --- a/package/gtk2-engines/gtk2-engines.mk +++ b/package/gtk2-engines/gtk2-engines.mk @@ -9,7 +9,7 @@ GTK2_ENGINES_VERSION = $(GTK2_ENGINES_VERSION_MAJOR).2 GTK2_ENGINES_SOURCE = gtk-engines-$(GTK2_ENGINES_VERSION).tar.bz2 GTK2_ENGINES_SITE = http://ftp.gnome.org/pub/GNOME/sources/gtk-engines/$(GTK2_ENGINES_VERSION_MAJOR) GTK2_ENGINES_DEPENDENCIES = libgtk2 host-intltool -GTK2_ENGINES_LICENSE = LGPLv2.1+ +GTK2_ENGINES_LICENSE = LGPL-2.1+ GTK2_ENGINES_LICENSE_FILES = COPYING GTK2_ENGINES_CONF_ENV = \ diff --git a/package/gtkmm3/Config.in b/package/gtkmm3/Config.in index ef62a1f9eb..8762c7208d 100644 --- a/package/gtkmm3/Config.in +++ b/package/gtkmm3/Config.in @@ -1,7 +1,7 @@ -comment "gtkmm3 needs libgtk3 and a toolchain w/ C++, wchar, threads, gcc >= 4.8" +comment "gtkmm3 needs libgtk3 and a toolchain w/ C++, wchar, threads, gcc >= 4.9" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 - depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_USE_WCHAR \ + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_USE_WCHAR \ || !BR2_INSTALL_LIBSTDCPP || !BR2_PACKAGE_LIBGTK3 \ || !BR2_TOOLCHAIN_HAS_THREADS @@ -14,7 +14,7 @@ config BR2_PACKAGE_GTKMM3 depends on !BR2_nios2 depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pangomm, libgtk3 -> pango -> harfbuzz depends on BR2_INSTALL_LIBSTDCPP # glibmm, libpangomm -> glibmm/pango - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11 depends on BR2_TOOLCHAIN_HAS_THREADS # *mm/libgtk3 -> libglib2 depends on BR2_USE_MMU # *mm/libgtk3 -> libglib2 depends on BR2_USE_WCHAR # *mm/libgtk3 -> libglib2 diff --git a/package/gtkmm3/gtkmm3.mk b/package/gtkmm3/gtkmm3.mk index 57b9b1fd57..009889142e 100644 --- a/package/gtkmm3/gtkmm3.mk +++ b/package/gtkmm3/gtkmm3.mk @@ -8,7 +8,7 @@ GTKMM3_VERSION_MAJOR = 3.22 GTKMM3_VERSION = $(GTKMM3_VERSION_MAJOR).0 GTKMM3_SOURCE = gtkmm-$(GTKMM3_VERSION).tar.xz GTKMM3_SITE = http://ftp.gnome.org/pub/gnome/sources/gtkmm/$(GTKMM3_VERSION_MAJOR) -GTKMM3_LICENSE = LGPLv2.1+ (library), GPLv2+ (tools) +GTKMM3_LICENSE = LGPL-2.1+ (library), GPL-2.0+ (tools) GTKMM3_LICENSE_FILES = COPYING COPYING.tools GTKMM3_INSTALL_STAGING = YES GTKMM3_DEPENDENCIES = atkmm cairomm glibmm libgtk3 libsigc pangomm host-pkgconf diff --git a/package/gtkperf/Config.in b/package/gtkperf/Config.in index 1089dbf477..78c35e72e7 100644 --- a/package/gtkperf/Config.in +++ b/package/gtkperf/Config.in @@ -5,5 +5,5 @@ config BR2_PACKAGE_GTKPERF GtkPerf is an application designed to test GTK+ performance. The point is to create common testing platform to run predefined GTK+ widgets - e.g. (opening comboboxes, toggling buttons, scrolling text yms.) - and this way define the speed of device/platform. + e.g. (opening comboboxes, toggling buttons, scrolling text + yms.) and this way define the speed of device/platform. diff --git a/package/gtkperf/gtkperf.mk b/package/gtkperf/gtkperf.mk index 0542a26fa7..1d1230f1ed 100644 --- a/package/gtkperf/gtkperf.mk +++ b/package/gtkperf/gtkperf.mk @@ -8,7 +8,7 @@ GTKPERF_VERSION = 0.40 GTKPERF_SOURCE = gtkperf_$(GTKPERF_VERSION).tar.gz GTKPERF_SITE = http://downloads.sourceforge.net/project/gtkperf/gtkperf/$(GTKPERF_VERSION) GTKPERF_DEPENDENCIES = libgtk2 -GTKPERF_LICENSE = GPLv2 +GTKPERF_LICENSE = GPL-2.0 GTKPERF_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/gtksourceview/gtksourceview.mk b/package/gtksourceview/gtksourceview.mk index 5e4ca0d22f..290effb996 100644 --- a/package/gtksourceview/gtksourceview.mk +++ b/package/gtksourceview/gtksourceview.mk @@ -9,7 +9,7 @@ GTKSOURCEVIEW_VERSION = $(GTKSOURCEVIEW_VERSION_MAJOR).2 GTKSOURCEVIEW_SOURCE = gtksourceview-$(GTKSOURCEVIEW_VERSION).tar.xz GTKSOURCEVIEW_SITE = \ http://ftp.gnome.org/pub/gnome/sources/gtksourceview/$(GTKSOURCEVIEW_VERSION_MAJOR) -GTKSOURCEVIEW_LICENSE = LGPLv2.1+ +GTKSOURCEVIEW_LICENSE = LGPL-2.1+ GTKSOURCEVIEW_LICENSE_FILES = COPYING GTKSOURCEVIEW_INSTALL_STAGING = YES GTKSOURCEVIEW_DEPENDENCIES = host-pkgconf libglib2 libxml2 libgtk3 diff --git a/package/guile/Config.in b/package/guile/Config.in index e0f6571274..c26c296e47 100644 --- a/package/guile/Config.in +++ b/package/guile/Config.in @@ -19,4 +19,3 @@ config BR2_PACKAGE_GUILE comment "guile needs a uClibc or glibc toolchain w/ threads, wchar, dynamic library" depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \ BR2_STATIC_LIBS || BR2_TOOLCHAIN_USES_MUSL - diff --git a/package/guile/guile.hash b/package/guile/guile.hash index 43f0dd7768..63651cf740 100644 --- a/package/guile/guile.hash +++ b/package/guile/guile.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 3744f2addc282a0de627aaef048f062982b44564d54ac31ff5217972529ed88b guile-2.0.13.tar.xz +sha256 e8442566256e1be14e51fc18839cd799b966bc5b16c6a1d7a7c35155a8619d82 guile-2.0.14.tar.xz diff --git a/package/guile/guile.mk b/package/guile/guile.mk index 88c74143bf..f53ebdd5cb 100644 --- a/package/guile/guile.mk +++ b/package/guile/guile.mk @@ -4,13 +4,13 @@ # ################################################################################ -GUILE_VERSION = 2.0.13 +GUILE_VERSION = 2.0.14 GUILE_SOURCE = guile-$(GUILE_VERSION).tar.xz GUILE_SITE = $(BR2_GNU_MIRROR)/guile GUILE_INSTALL_STAGING = YES # For 0002-calculate-csqrt_manually.patch GUILE_AUTORECONF = YES -GUILE_LICENSE = LGPLv3+ +GUILE_LICENSE = LGPL-3.0+ GUILE_LICENSE_FILES = LICENSE COPYING COPYING.LESSER # libtool dependency is needed because guile uses libltdl @@ -47,7 +47,7 @@ else GUILE_CONF_OPTS += --without-libreadline-prefix endif -GUILE_CONF_ENV += GUILE_FOR_BUILD=$(HOST_DIR)/usr/bin/guile \ +GUILE_CONF_ENV += GUILE_FOR_BUILD=$(HOST_DIR)/bin/guile \ CFLAGS="$(TARGET_CFLAGS) $(GUILE_CFLAGS)" GUILE_CONF_OPTS += \ diff --git a/package/gupnp-av/Config.in b/package/gupnp-av/Config.in index 5320b82b5a..7b618f5bad 100644 --- a/package/gupnp-av/Config.in +++ b/package/gupnp-av/Config.in @@ -7,8 +7,8 @@ config BR2_PACKAGE_GUPNP_AV select BR2_PACKAGE_GUPNP select BR2_PACKAGE_LIBXML2 help - GUPnP-AV is a collection of helpers for building AV (audio/video) - applications using GUPnP. + GUPnP-AV is a collection of helpers for building AV + (audio/video) applications using GUPnP. http://www.gupnp.org/ diff --git a/package/gupnp-av/gupnp-av.hash b/package/gupnp-av/gupnp-av.hash index 8fe7782249..e106b18aa1 100644 --- a/package/gupnp-av/gupnp-av.hash +++ b/package/gupnp-av/gupnp-av.hash @@ -1,2 +1,5 @@ # Hash from: http://ftp.gnome.org/pub/gnome/sources/gupnp-av/0.12/gupnp-av-0.12.10.sha256sum: sha256 8038ef84dddbe7ad91c205bf91dddf684f072df8623f39b6555a6bb72837b85a gupnp-av-0.12.10.tar.xz + +# Hash for license file: +sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING diff --git a/package/gupnp-av/gupnp-av.mk b/package/gupnp-av/gupnp-av.mk index 40e6c8c836..0940db7611 100644 --- a/package/gupnp-av/gupnp-av.mk +++ b/package/gupnp-av/gupnp-av.mk @@ -8,7 +8,7 @@ GUPNP_AV_VERSION_MAJOR = 0.12 GUPNP_AV_VERSION = $(GUPNP_AV_VERSION_MAJOR).10 GUPNP_AV_SOURCE = gupnp-av-$(GUPNP_AV_VERSION).tar.xz GUPNP_AV_SITE = http://ftp.gnome.org/pub/gnome/sources/gupnp-av/$(GUPNP_AV_VERSION_MAJOR) -GUPNP_AV_LICENSE = LGPLv2+ +GUPNP_AV_LICENSE = LGPL-2.0+ GUPNP_AV_LICENSE_FILES = COPYING GUPNP_AV_INSTALL_STAGING = YES GUPNP_AV_DEPENDENCIES = host-pkgconf libglib2 libxml2 gupnp diff --git a/package/gupnp-dlna/gupnp-dlna.mk b/package/gupnp-dlna/gupnp-dlna.mk index 58b5735409..304f86a55c 100644 --- a/package/gupnp-dlna/gupnp-dlna.mk +++ b/package/gupnp-dlna/gupnp-dlna.mk @@ -9,8 +9,8 @@ GUPNP_DLNA_VERSION = $(GUPNP_DLNA_VERSION_MAJOR).5 GUPNP_DLNA_SOURCE = gupnp-dlna-$(GUPNP_DLNA_VERSION).tar.xz GUPNP_DLNA_SITE = \ http://ftp.gnome.org/pub/gnome/sources/gupnp-dlna/$(GUPNP_DLNA_VERSION_MAJOR) -# COPYING contains LGPLv2.1 but all source files contain LPGLv2+ -GUPNP_DLNA_LICENSE = LGPLv2+ +# COPYING contains LGPL-2.1 but all source files contain LPGL-2.0+ +GUPNP_DLNA_LICENSE = LGPL-2.0+ GUPNP_DLNA_LICENSE_FILES = COPYING GUPNP_DLNA_INSTALL_STAGING = YES GUPNP_DLNA_DEPENDENCIES = host-pkgconf libglib2 libxml2 diff --git a/package/gupnp-tools/Config.in b/package/gupnp-tools/Config.in index f9e645a093..af662417c2 100644 --- a/package/gupnp-tools/Config.in +++ b/package/gupnp-tools/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_GUPNP_TOOLS bool "gupnp-tools" + depends on BR2_PACKAGE_LIBGTK3 # gssdp, gupnp, libsoup all select on libglib2, so they have # the same dependencies as libgtk3, which we depend on. So for # the same of simplicity, we don't replicate all those @@ -8,7 +9,6 @@ config BR2_PACKAGE_GUPNP_TOOLS select BR2_PACKAGE_GUPNP select BR2_PACKAGE_LIBSOUP select BR2_PACKAGE_LIBXML2 - depends on BR2_PACKAGE_LIBGTK3 help GUPnP Tools are free replacements of Intel UPnP tools that use GUPnP. They provides client and server side tools which diff --git a/package/gupnp-tools/gupnp-tools.mk b/package/gupnp-tools/gupnp-tools.mk index 07b5d3c1c5..b64a138ace 100644 --- a/package/gupnp-tools/gupnp-tools.mk +++ b/package/gupnp-tools/gupnp-tools.mk @@ -9,7 +9,7 @@ GUPNP_TOOLS_VERSION = $(GUPNP_TOOLS_VERSION_MAJOR).13 GUPNP_TOOLS_SOURCE = gupnp-tools-$(GUPNP_TOOLS_VERSION).tar.xz GUPNP_TOOLS_SITE = \ http://ftp.gnome.org/pub/gnome/sources/gupnp-tools/$(GUPNP_TOOLS_VERSION_MAJOR) -GUPNP_TOOLS_LICENSE = GPLv2+ +GUPNP_TOOLS_LICENSE = GPL-2.0+ GUPNP_TOOLS_LICENSE_FILES = COPYING GUPNP_TOOLS_INSTALL_STAGING = YES GUPNP_TOOLS_DEPENDENCIES = \ diff --git a/package/gupnp/gupnp.hash b/package/gupnp/gupnp.hash index 48aeb499f8..7fb44ffe1b 100644 --- a/package/gupnp/gupnp.hash +++ b/package/gupnp/gupnp.hash @@ -1,2 +1,5 @@ # Hash from: http://ftp.gnome.org/pub/gnome/sources/gupnp/1.0/gupnp-1.0.1.sha256sum: sha256 934584cc1b361bf251a5ac271ffb1995a3c6426ce44cb64f9c6d779f2af9a6d9 gupnp-1.0.1.tar.xz + +# Hash for license file: +sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING diff --git a/package/gupnp/gupnp.mk b/package/gupnp/gupnp.mk index 764f527d28..0636632d50 100644 --- a/package/gupnp/gupnp.mk +++ b/package/gupnp/gupnp.mk @@ -8,7 +8,7 @@ GUPNP_VERSION_MAJOR = 1.0 GUPNP_VERSION = $(GUPNP_VERSION_MAJOR).1 GUPNP_SOURCE = gupnp-$(GUPNP_VERSION).tar.xz GUPNP_SITE = http://ftp.gnome.org/pub/gnome/sources/gupnp/$(GUPNP_VERSION_MAJOR) -GUPNP_LICENSE = LGPLv2+ +GUPNP_LICENSE = LGPL-2.0+ GUPNP_LICENSE_FILES = COPYING GUPNP_INSTALL_STAGING = YES GUPNP_DEPENDENCIES = host-pkgconf libglib2 libxml2 gssdp util-linux diff --git a/package/gutenprint/gutenprint.mk b/package/gutenprint/gutenprint.mk index 8ee2406abb..65b8d31091 100644 --- a/package/gutenprint/gutenprint.mk +++ b/package/gutenprint/gutenprint.mk @@ -8,7 +8,7 @@ GUTENPRINT_VERSION_MAJOR = 5.2 GUTENPRINT_VERSION = $(GUTENPRINT_VERSION_MAJOR).11 GUTENPRINT_SITE = http://downloads.sourceforge.net/project/gimp-print/gutenprint-$(GUTENPRINT_VERSION_MAJOR)/$(GUTENPRINT_VERSION) GUTENPRINT_SOURCE = gutenprint-$(GUTENPRINT_VERSION).tar.bz2 -GUTENPRINT_LICENSE = GPLv2+ +GUTENPRINT_LICENSE = GPL-2.0+ GUTENPRINT_LICENSE_FILES = COPYING # Needed, as we touch Makefile.am and configure.ac @@ -43,7 +43,7 @@ GUTENPRINT_CONF_OPTS = \ --disable-cups-ppds # USE_PREGEN_XMLI18N_TMP_H is added by our patch -GUTENPRINT_MAKE_ENV = BR2_USE_PREGEN_XMLI18N_TMP_H=$(HOST_DIR)/usr/include/xmli18n-tmp.h +GUTENPRINT_MAKE_ENV = BR2_USE_PREGEN_XMLI18N_TMP_H=$(HOST_DIR)/include/xmli18n-tmp.h HOST_GUTENPRINT_DEPENDENCIES = host-pkgconf # The host-gutenprint shall create the required header @@ -78,13 +78,13 @@ GUTENPRINT_POST_PATCH_HOOKS += GUTENPRINT_CREATE_M4_DIR HOST_GUTENPRINT_POST_PATCH_HOOKS += GUTENPRINT_CREATE_M4_DIR define HOST_GUTENPRINT_POST_BUILD_INSTAL_TMP_HEADER - cp $(@D)/src/xml/xmli18n-tmp.h $(HOST_DIR)/usr/include + cp $(@D)/src/xml/xmli18n-tmp.h $(HOST_DIR)/include endef HOST_GUTENPRINT_POST_BUILD_HOOKS += HOST_GUTENPRINT_POST_BUILD_INSTAL_TMP_HEADER define GUTENPRINT_POST_INSTALL_TARGET_FIXUP mkdir -p $(TARGET_DIR)/usr/share/gutenprint/5.2 - cp -rf $(HOST_DIR)/usr/share/gutenprint/5.2/xml $(TARGET_DIR)/usr/share/gutenprint/5.2 + cp -rf $(HOST_DIR)/share/gutenprint/5.2/xml $(TARGET_DIR)/usr/share/gutenprint/5.2 endef GUTENPRINT_POST_INSTALL_TARGET_HOOKS += GUTENPRINT_POST_INSTALL_TARGET_FIXUP diff --git a/package/gvfs/gvfs.mk b/package/gvfs/gvfs.mk index f3b5fc4218..7110e39083 100644 --- a/package/gvfs/gvfs.mk +++ b/package/gvfs/gvfs.mk @@ -10,7 +10,7 @@ GVFS_SOURCE = gvfs-$(GVFS_VERSION).tar.xz GVFS_SITE = http://ftp.gnome.org/pub/GNOME/sources/gvfs/$(GVFS_VERSION_MAJOR) GVFS_INSTALL_STAGING = YES GVFS_DEPENDENCIES = host-pkgconf host-libglib2 libglib2 dbus shared-mime-info -GVFS_LICENSE = LGPLv2+ +GVFS_LICENSE = LGPL-2.0+ GVFS_LICENSE_FILES = COPYING # Export ac_cv_path_LIBGCRYPT_CONFIG unconditionally to prevent @@ -128,12 +128,12 @@ define GVFS_REMOVE_TARGET_SCHEMAS endef define GVFS_COMPILE_SCHEMAS - $(HOST_DIR)/usr/bin/glib-compile-schemas --targetdir=$(TARGET_DIR)/usr/share/glib-2.0/schemas $(STAGING_DIR)/usr/share/glib-2.0/schemas + $(HOST_DIR)/bin/glib-compile-schemas --targetdir=$(TARGET_DIR)/usr/share/glib-2.0/schemas $(STAGING_DIR)/usr/share/glib-2.0/schemas endef GVFS_POST_INSTALL_TARGET_HOOKS += \ - GVFS_REMOVE_USELESS_BINARY \ - GVFS_REMOVE_TARGET_SCHEMAS \ + GVFS_REMOVE_USELESS_BINARY \ + GVFS_REMOVE_TARGET_SCHEMAS \ GVFS_COMPILE_SCHEMAS $(eval $(autotools-package)) diff --git a/package/gzip/gzip.mk b/package/gzip/gzip.mk index c4e91b07cc..26fc8ec347 100644 --- a/package/gzip/gzip.mk +++ b/package/gzip/gzip.mk @@ -11,7 +11,7 @@ GZIP_SITE = $(BR2_GNU_MIRROR)/gzip GZIP_CONF_OPTS = --exec-prefix=/ # Prefer full gzip over potentially lightweight/slower from busybox GZIP_DEPENDENCIES = $(if $(BR2_PACKAGE_BUSYBOX),busybox) -GZIP_LICENSE = GPLv3+ +GZIP_LICENSE = GPL-3.0+ GZIP_LICENSE_FILES = COPYING GZIP_CONF_ENV += gl_cv_func_fflush_stdin=yes # configure substitutes $(SHELL) for the shell shebang in scripts like diff --git a/package/hans/Config.in b/package/hans/Config.in index 7b60090f62..54bdfd96df 100644 --- a/package/hans/Config.in +++ b/package/hans/Config.in @@ -5,9 +5,10 @@ config BR2_PACKAGE_HANS bool "hans" depends on BR2_INSTALL_LIBSTDCPP help - Hans makes it possible to tunnel IPv4 through ICMP echo packets, - so you could call it a ping tunnel. + Hans makes it possible to tunnel IPv4 through ICMP echo + packets, so you could call it a ping tunnel. This can be useful when you find yourself in the situation - that your Internet access is firewalled, but pings are allowed. + that your Internet access is firewalled, but pings are + allowed. http://code.gerade.org/hans/ diff --git a/package/hans/hans.hash b/package/hans/hans.hash index c1a28df129..bde6a7ab81 100644 --- a/package/hans/hans.hash +++ b/package/hans/hans.hash @@ -1,3 +1,5 @@ # From http://sourceforge.net/projects/hanstunnel/files/source/ -md5 97a93a886bc766212257198fd99d1061 hans-0.4.4.tar.gz -sha1 8a21a9acc6d52cf7d2a5049523469e2609716ab3 hans-0.4.4.tar.gz +md5 8628393ec1b61a6c3a47a0a3dcb455b3 hans-1.0.tar.gz +sha1 0bc857df109af222732cb95c861a0f0a6dd53dee hans-1.0.tar.gz +# Locally computed +sha256 f8f70cf22ba14d9223695c9e9a2d75289d8360f61f533b83ee538836f29a458e hans-1.0.tar.gz diff --git a/package/hans/hans.mk b/package/hans/hans.mk index 5111d46be5..e26c2f37f8 100644 --- a/package/hans/hans.mk +++ b/package/hans/hans.mk @@ -4,13 +4,13 @@ # ################################################################################ -HANS_VERSION = 0.4.4 +HANS_VERSION = 1.0 HANS_SITE = http://downloads.sourceforge.net/project/hanstunnel/source -HANS_LICENSE = GPLv3+ +HANS_LICENSE = GPL-3.0+ HANS_LICENSE_FILES = LICENSE define HANS_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) GCC="$(TARGET_CC)" GPP="$(TARGET_CXX)" -C $(@D) + $(TARGET_MAKE_ENV) $(MAKE1) GCC="$(TARGET_CC)" GPP="$(TARGET_CXX)" -C $(@D) endef define HANS_INSTALL_TARGET_CMDS diff --git a/package/harfbuzz/harfbuzz.hash b/package/harfbuzz/harfbuzz.hash index 6bf5bee1ec..d44bd561ba 100644 --- a/package/harfbuzz/harfbuzz.hash +++ b/package/harfbuzz/harfbuzz.hash @@ -1,2 +1,2 @@ -# From http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-1.4.2.tar.bz2.sha256 -sha256 8f234dcfab000fdec24d43674fffa2fdbdbd654eb176afbde30e8826339cb7b3 harfbuzz-1.4.2.tar.bz2 +# From https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-1.5.0.tar.bz2.sha256 +sha256 c088ec363be8d03f7708feb76dd22d5f102678e67d6ce63b02496ca0beb64ac1 harfbuzz-1.5.0.tar.bz2 diff --git a/package/harfbuzz/harfbuzz.mk b/package/harfbuzz/harfbuzz.mk index 458b072abf..0ee6a6b0f7 100644 --- a/package/harfbuzz/harfbuzz.mk +++ b/package/harfbuzz/harfbuzz.mk @@ -4,8 +4,8 @@ # ################################################################################ -HARFBUZZ_VERSION = 1.4.2 -HARFBUZZ_SITE = http://www.freedesktop.org/software/harfbuzz/release +HARFBUZZ_VERSION = 1.5.0 +HARFBUZZ_SITE = https://www.freedesktop.org/software/harfbuzz/release HARFBUZZ_SOURCE = harfbuzz-$(HARFBUZZ_VERSION).tar.bz2 HARFBUZZ_LICENSE = MIT, ISC (ucdn library) HARFBUZZ_LICENSE_FILES = COPYING src/hb-ucdn/COPYING diff --git a/package/haserl/haserl.mk b/package/haserl/haserl.mk index 93d64c8732..4c24b9bcea 100644 --- a/package/haserl/haserl.mk +++ b/package/haserl/haserl.mk @@ -6,7 +6,7 @@ HASERL_VERSION = 0.9.35 HASERL_SITE = http://downloads.sourceforge.net/project/haserl/haserl-devel -HASERL_LICENSE = GPLv2 +HASERL_LICENSE = GPL-2.0 HASERL_LICENSE_FILES = COPYING HASERL_DEPENDENCIES = host-pkgconf diff --git a/package/haveged/haveged.mk b/package/haveged/haveged.mk index 66d69a6d7a..a645557bc4 100644 --- a/package/haveged/haveged.mk +++ b/package/haveged/haveged.mk @@ -6,7 +6,7 @@ HAVEGED_VERSION = 1.9.1 HAVEGED_SITE = http://www.issihosts.com/haveged -HAVEGED_LICENSE = GPLv3+ +HAVEGED_LICENSE = GPL-3.0+ HAVEGED_LICENSE_FILES = COPYING ifeq ($(BR2_sparc_v8)$(BR2_sparc_leon3),y) diff --git a/package/hdparm/hdparm.hash b/package/hdparm/hdparm.hash index 14021691c8..f7462e2538 100644 --- a/package/hdparm/hdparm.hash +++ b/package/hdparm/hdparm.hash @@ -1,3 +1,5 @@ # From http://sourceforge.net/projects/hdparm/files/hdparm/ -md5 8fe0a71db02f7ffc602d14a69f766cff hdparm-9.51.tar.gz -sha1 cc9dc4cbaa00f7534988c37111be8e2c6e81cf73 hdparm-9.51.tar.gz +md5 410539d0bf3cc247181594581edbfb53 hdparm-9.52.tar.gz +sha1 c641429c5b5d0513acfc86dc31c6b3b35c070a70 hdparm-9.52.tar.gz +# Locally computed +sha256 c3429cd423e271fa565bf584598fd751dd2e773bb7199a592b06b5a61cec4fb6 hdparm-9.52.tar.gz diff --git a/package/hdparm/hdparm.mk b/package/hdparm/hdparm.mk index 4a53e9396f..727220222c 100644 --- a/package/hdparm/hdparm.mk +++ b/package/hdparm/hdparm.mk @@ -4,7 +4,7 @@ # ################################################################################ -HDPARM_VERSION = 9.51 +HDPARM_VERSION = 9.52 HDPARM_SITE = http://downloads.sourceforge.net/project/hdparm/hdparm HDPARM_LICENSE = BSD-Style HDPARM_LICENSE_FILES = LICENSE.TXT diff --git a/package/heimdal/heimdal.hash b/package/heimdal/heimdal.hash index 12770e17ff..a0e0f3f1ba 100644 --- a/package/heimdal/heimdal.hash +++ b/package/heimdal/heimdal.hash @@ -1,2 +1,2 @@ -# Locally calculated after checking pgp signature -sha256 cee58ab3a4ce79f243a3e73f465dac19fe2b93ef1c5ff244d6f1d689fedbde2d heimdal-7.1.0.tar.gz +# Locally calculated +sha256 3de14ecd36ad21c1694a13da347512b047f4010d176fe412820664cb5d1429ad heimdal-7.4.0.tar.gz diff --git a/package/heimdal/heimdal.mk b/package/heimdal/heimdal.mk index 5376a6c40e..57325564c0 100644 --- a/package/heimdal/heimdal.mk +++ b/package/heimdal/heimdal.mk @@ -4,8 +4,8 @@ # ################################################################################ -HEIMDAL_VERSION = 7.1.0 -HEIMDAL_SITE = http://www.h5l.org/dist/src +HEIMDAL_VERSION = 7.4.0 +HEIMDAL_SITE = https://github.com/heimdal/heimdal/releases/download/heimdal-$(HEIMDAL_VERSION) HOST_HEIMDAL_DEPENDENCIES = host-e2fsprogs host-ncurses host-pkgconf HEIMDAL_INSTALL_STAGING = YES HEIMDAL_MAKE = $(MAKE1) @@ -15,6 +15,7 @@ HOST_HEIMDAL_CONF_OPTS = \ --enable-static \ --without-openldap \ --without-capng \ + --with-db-type-preference= \ --without-sqlite3 \ --without-libintl \ --without-openssl \ @@ -25,15 +26,15 @@ HOST_HEIMDAL_CONF_OPTS = \ --without-x \ --disable-heimdal-documentation HOST_HEIMDAL_CONF_ENV = MAKEINFO=true -HEIMDAL_LICENSE = BSD-3c +HEIMDAL_LICENSE = BSD-3-Clause HEIMDAL_LICENSE_FILES = LICENSE # We need asn1_compile in the PATH for samba4 define HOST_HEIMDAL_MAKE_SYMLINK - ln -sf $(HOST_DIR)/usr/libexec/heimdal/asn1_compile \ - $(HOST_DIR)/usr/bin/asn1_compile - ln -sf $(HOST_DIR)/usr/bin/compile_et \ - $(HOST_DIR)/usr/libexec/heimdal/compile_et + ln -sf $(HOST_DIR)/libexec/heimdal/asn1_compile \ + $(HOST_DIR)/bin/asn1_compile + ln -sf $(HOST_DIR)/bin/compile_et \ + $(HOST_DIR)/libexec/heimdal/compile_et endef HOST_HEIMDAL_POST_INSTALL_HOOKS += HOST_HEIMDAL_MAKE_SYMLINK diff --git a/package/heirloom-mailx/0002-fix-libressl-support.patch b/package/heirloom-mailx/0002-fix-libressl-support.patch new file mode 100644 index 0000000000..0fafa4ae0b --- /dev/null +++ b/package/heirloom-mailx/0002-fix-libressl-support.patch @@ -0,0 +1,54 @@ +From aad28d30af6c3a74c522dd61943788e908860c84 Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Fri, 4 Aug 2017 07:22:47 -0400 +Subject: [PATCH] fix libressl support + +heirloom-mailx has two small issues when compiling against LibreSSL: + - RAND_egd is used (LibreSSL does not support RAND_egd) + Solution: "Guard" the code calling RAND_egd + + - SSLv3_client_method function is used (LibreSSL does not support SSLv3) + Solution: "Guard" the code with #ifndef OPENSSL_NO_SSL3 + +Signed-off-by: Adam Duskett +--- + openssl.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/openssl.c b/openssl.c +index 44fe4e5..c4a1bb7 100644 +--- a/openssl.c ++++ b/openssl.c +@@ -137,11 +137,13 @@ ssl_rand_init(void) + + if ((cp = value("ssl-rand-egd")) != NULL) { + cp = expand(cp); ++#ifndef OPENSSL_NO_EGD + if (RAND_egd(cp) == -1) { + fprintf(stderr, catgets(catd, CATSET, 245, + "entropy daemon at \"%s\" not available\n"), + cp); + } else ++#endif + state = 1; + } else if ((cp = value("ssl-rand-file")) != NULL) { + cp = expand(cp); +@@ -216,10 +218,15 @@ ssl_select_method(const char *uhp) + + cp = ssl_method_string(uhp); + if (cp != NULL) { ++ #ifndef OPENSSL_NO_SSL3 + if (equal(cp, "ssl3")) + method = SSLv3_client_method(); + else if (equal(cp, "tls1")) + method = TLSv1_client_method(); ++ #else ++ if (equal(cp, "tls1")) ++ method = TLSv1_client_method(); ++ #endif + else { + fprintf(stderr, catgets(catd, CATSET, 244, + "Invalid SSL method \"%s\"\n"), cp); +-- +2.13.3 + diff --git a/package/heirloom-mailx/heirloom-mailx.mk b/package/heirloom-mailx/heirloom-mailx.mk index 044cd8cf3a..2f7e635e0f 100644 --- a/package/heirloom-mailx/heirloom-mailx.mk +++ b/package/heirloom-mailx/heirloom-mailx.mk @@ -7,7 +7,7 @@ HEIRLOOM_MAILX_VERSION = 12.5 HEIRLOOM_MAILX_SOURCE = heirloom-mailx_$(HEIRLOOM_MAILX_VERSION).orig.tar.gz HEIRLOOM_MAILX_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/h/heirloom-mailx -HEIRLOOM_MAILX_LICENSE = BSD-4c, Bellcore (base64), OpenVision (imap_gssapi), RSA Data Security (md5), Network Working Group (hmac), MPLv1.1 (nss) +HEIRLOOM_MAILX_LICENSE = BSD-4-Clause, Bellcore (base64), OpenVision (imap_gssapi), RSA Data Security (md5), Network Working Group (hmac), MPL-1.1 (nss) HEIRLOOM_MAILX_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_OPENSSL),y) diff --git a/package/hiawatha/0001-cmake-allow-build-without-c.patch b/package/hiawatha/0001-cmake-allow-build-without-c.patch new file mode 100644 index 0000000000..d264d621c8 --- /dev/null +++ b/package/hiawatha/0001-cmake-allow-build-without-c.patch @@ -0,0 +1,34 @@ +From 784e46afd7530f3010726ba73cc1a81059eae8bf Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Mon, 5 Jun 2017 13:26:18 +0200 +Subject: [PATCH] cmake: allow build without c++ + +By default cmake also searches for a c++ compiler: +https://cmake.org/cmake/help/v3.7/command/project.html +"By default C and CXX are enabled if no language options are given." + +This patch restricts the compiler to C to fix a build error detected +by the buildroot autobuilders: +http://autobuild.buildroot.net/results/c04/c04ff29b83c020573add597c355c57a6d9c9761d/build-end.log + +Patch sent upstream: https://github.com/hsleisink/hiawatha/pull/30 + +Signed-off-by: Bernd Kuhls +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4f28d76..e8051fc 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,5 +1,5 @@ + cmake_minimum_required(VERSION 3.0) +-project(Hiawatha VERSION 10.6) ++project(Hiawatha VERSION 10.6 LANGUAGES C) + + # Compiler + set(CMAKE_C_FLAGS "-O2 -Wall -Wextra ${CMAKE_C_FLAGS}") +-- +2.11.0 + diff --git a/package/hiawatha/hiawatha.hash b/package/hiawatha/hiawatha.hash index 636dfd5de0..3ec11cc21a 100644 --- a/package/hiawatha/hiawatha.hash +++ b/package/hiawatha/hiawatha.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 d76155430dc9100de412088bd68978a2a9052832609c7ac961dccaf2550c618a hiawatha-10.5.tar.gz +sha256 0cf014ae214be1bf6244c46c25e66805987c948837a4e37f9dede570de49bdeb hiawatha-10.6.tar.gz diff --git a/package/hiawatha/hiawatha.mk b/package/hiawatha/hiawatha.mk index abe57b7f7b..4dde25459d 100644 --- a/package/hiawatha/hiawatha.mk +++ b/package/hiawatha/hiawatha.mk @@ -4,10 +4,10 @@ # ################################################################################ -HIAWATHA_VERSION = 10.5 -HIAWATHA_SITE = http://www.hiawatha-webserver.org/files +HIAWATHA_VERSION = 10.6 +HIAWATHA_SITE = https://www.hiawatha-webserver.org/files HIAWATHA_DEPENDENCIES = zlib -HIAWATHA_LICENSE = GPLv2 +HIAWATHA_LICENSE = GPL-2.0 HIAWATHA_LICENSE_FILES = LICENSE ifeq ($(BR2_PACKAGE_HIAWATHA_SSL),y) diff --git a/package/hicolor-icon-theme/Config.in b/package/hicolor-icon-theme/Config.in index 6cda097c12..10edbf8865 100644 --- a/package/hicolor-icon-theme/Config.in +++ b/package/hicolor-icon-theme/Config.in @@ -5,4 +5,5 @@ config BR2_PACKAGE_HICOLOR_ICON_THEME This is the fallback icon theme, which only creates the standard directory structure for storing icons of third-party - applications (i.e. the ones not available in usual icon themes). + applications (i.e. the ones not available in usual icon + themes). diff --git a/package/hicolor-icon-theme/hicolor-icon-theme.mk b/package/hicolor-icon-theme/hicolor-icon-theme.mk index 5e000749f7..dec75c15c4 100644 --- a/package/hicolor-icon-theme/hicolor-icon-theme.mk +++ b/package/hicolor-icon-theme/hicolor-icon-theme.mk @@ -7,7 +7,7 @@ HICOLOR_ICON_THEME_VERSION = 0.15 HICOLOR_ICON_THEME_SITE = http://icon-theme.freedesktop.org/releases HICOLOR_ICON_THEME_SOURCE = hicolor-icon-theme-$(HICOLOR_ICON_THEME_VERSION).tar.xz -HICOLOR_ICON_THEME_LICENSE = GPLv2 +HICOLOR_ICON_THEME_LICENSE = GPL-2.0 HICOLOR_ICON_THEME_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/hidapi/hidapi.mk b/package/hidapi/hidapi.mk index 9922efc029..7eed800326 100644 --- a/package/hidapi/hidapi.mk +++ b/package/hidapi/hidapi.mk @@ -11,7 +11,7 @@ HIDAPI_SITE = $(call github,signal11,hidapi,$(HIDAPI_VERSION)) HIDAPI_INSTALL_STAGING = YES # No configure provided, so we need to autoreconf. HIDAPI_AUTORECONF = YES -HIDAPI_LICENSE = GPLv3 or BSD-3c or HIDAPI license +HIDAPI_LICENSE = GPL-3.0 or BSD-3-Clause or HIDAPI license HIDAPI_LICENSE_FILES = LICENSE.txt LICENSE-gpl3.txt LICENSE-bsd.txt LICENSE-orig.txt HIDAPI_DEPENDENCIES = libusb libgudev diff --git a/package/hiredis/hiredis.mk b/package/hiredis/hiredis.mk index cd406f1439..dd75742229 100644 --- a/package/hiredis/hiredis.mk +++ b/package/hiredis/hiredis.mk @@ -4,9 +4,10 @@ # ################################################################################ -HIREDIS_VERSION = v0.13.3 +HIREDIS_VERSION_MAJOR = 0.13 +HIREDIS_VERSION = v$(HIREDIS_VERSION_MAJOR).3 HIREDIS_SITE = $(call github,redis,hiredis,$(HIREDIS_VERSION)) -HIREDIS_LICENSE = BSD-3c +HIREDIS_LICENSE = BSD-3-Clause HIREDIS_LICENSE_FILES = COPYING HIREDIS_INSTALL_STAGING = YES @@ -30,6 +31,26 @@ endef HIREDIS_INCLUDE_DIR = $(STAGING_DIR)/usr/include/hiredis +ifeq ($(BR2_SHARED_LIBS),) +define HIREDIS_INSTALL_STAGING_STATIC_LIB + $(INSTALL) -D -m 0755 $(@D)/libhiredis.a \ + $(STAGING_DIR)/usr/lib/libhiredis.a +endef +endif + +ifeq ($(BR2_STATIC_LIBS),) +define HIREDIS_INSTALL_STAGING_SHARED_LIB + $(INSTALL) -D -m 0755 $(@D)/libhiredis.so \ + $(STAGING_DIR)/usr/lib/libhiredis.so.$(HIREDIS_VERSION_MAJOR) + ln -sf libhiredis.so.$(HIREDIS_VERSION_MAJOR) $(STAGING_DIR)/usr/lib/libhiredis.so +endef +define HIREDIS_INSTALL_TARGET_SHARED_LIB + $(INSTALL) -D -m 0755 $(@D)/libhiredis.so \ + $(TARGET_DIR)/usr/lib/libhiredis.so.$(HIREDIS_VERSION_MAJOR) + ln -sf libhiredis.so.$(HIREDIS_VERSION_MAJOR) $(TARGET_DIR)/usr/lib/libhiredis.so +endef +endif + # Do not call make install as this target will build shared and static libraries define HIREDIS_INSTALL_STAGING_CMDS mkdir -p $(HIREDIS_INCLUDE_DIR) @@ -37,12 +58,12 @@ define HIREDIS_INSTALL_STAGING_CMDS $(@D)/adapters $(HIREDIS_INCLUDE_DIR) $(INSTALL) -D -m 0644 $(@D)/hiredis.pc \ $(STAGING_DIR)/usr/lib/pkgconfig/hiredis.pc - $(INSTALL) -m 0644 -t $(STAGING_DIR)/usr/lib $(@D)/libhiredis* + $(HIREDIS_INSTALL_STAGING_STATIC_LIB) + $(HIREDIS_INSTALL_STAGING_SHARED_LIB) endef define HIREDIS_INSTALL_TARGET_CMDS - mkdir -p $(TARGET_DIR)/usr/lib - $(INSTALL) -m 0644 -t $(TARGET_DIR)/usr/lib $(@D)/libhiredis* + $(HIREDIS_INSTALL_TARGET_SHARED_LIB) endef $(eval $(generic-package)) diff --git a/package/hostapd/Config.in b/package/hostapd/Config.in index 62fbb66d63..1609d0df5d 100644 --- a/package/hostapd/Config.in +++ b/package/hostapd/Config.in @@ -10,7 +10,7 @@ config BR2_PACKAGE_HOSTAPD IEEE 802.1X/WPA/WPA2/EAP authenticators, RADIUS client, EAP server and RADIUS authentication server. - http://hostap.epitest.fi/ + http://w1.fi/hostapd/ if BR2_PACKAGE_HOSTAPD diff --git a/package/hostapd/hostapd.hash b/package/hostapd/hostapd.hash index fb891476b3..b20c89b184 100644 --- a/package/hostapd/hostapd.hash +++ b/package/hostapd/hostapd.hash @@ -1,2 +1,4 @@ # Locally calculated sha256 01526b90c1d23bec4b0f052039cc4456c2fd19347b4d830d1d58a0a6aea7117d hostapd-2.6.tar.gz +sha256 529113cc81256c6178f3c1cf25dd8d3f33e6d770e4a180bd31c6ab7e4917f40b rebased-v2.6-0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch +sha256 147c8abe07606905d16404fb2d2c8849796ca7c85ed8673c09bb50038bcdeb9e rebased-v2.6-0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch diff --git a/package/hostapd/hostapd.mk b/package/hostapd/hostapd.mk index a499011385..3f94c8c4b7 100644 --- a/package/hostapd/hostapd.mk +++ b/package/hostapd/hostapd.mk @@ -5,12 +5,15 @@ ################################################################################ HOSTAPD_VERSION = 2.6 -HOSTAPD_SITE = http://hostap.epitest.fi/releases +HOSTAPD_SITE = http://w1.fi/releases +HOSTAPD_PATCH = \ + http://w1.fi/security/2017-1/rebased-v2.6-0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch \ + http://w1.fi/security/2017-1/rebased-v2.6-0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch HOSTAPD_SUBDIR = hostapd HOSTAPD_CONFIG = $(HOSTAPD_DIR)/$(HOSTAPD_SUBDIR)/.config HOSTAPD_DEPENDENCIES = host-pkgconf libnl HOSTAPD_CFLAGS = $(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/libnl3/ -HOSTAPD_LICENSE = BSD-3c +HOSTAPD_LICENSE = BSD-3-Clause HOSTAPD_LICENSE_FILES = README HOSTAPD_CONFIG_SET = @@ -35,8 +38,8 @@ HOSTAPD_LIBS += -lnl-3 -lm -lpthread endif # Try to use openssl if it's already available -ifeq ($(BR2_PACKAGE_OPENSSL),y) -HOSTAPD_DEPENDENCIES += openssl +ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) +HOSTAPD_DEPENDENCIES += libopenssl HOSTAPD_LIBS += $(if $(BR2_STATIC_LIBS),-lcrypto -lz) HOSTAPD_CONFIG_EDITS += 's/\#\(CONFIG_TLS=openssl\)/\1/' else @@ -51,7 +54,7 @@ endif ifeq ($(BR2_PACKAGE_HOSTAPD_EAP),y) HOSTAPD_CONFIG_ENABLE += \ CONFIG_EAP \ - CONFIG_RADIUS_SERVER \ + CONFIG_RADIUS_SERVER # Enable both TLS v1.1 (CONFIG_TLSV11) and v1.2 (CONFIG_TLSV12) HOSTAPD_CONFIG_ENABLE += CONFIG_TLSV1 diff --git a/package/hplip/0002-configure.in-fix-AM_INIT_AUTOMAKE-call.patch b/package/hplip/0002-configure.in-fix-AM_INIT_AUTOMAKE-call.patch index 8147490174..db2f0a4332 100644 --- a/package/hplip/0002-configure.in-fix-AM_INIT_AUTOMAKE-call.patch +++ b/package/hplip/0002-configure.in-fix-AM_INIT_AUTOMAKE-call.patch @@ -23,7 +23,7 @@ index 8b06428..680cad5 100755 @@ -27,8 +27,7 @@ #AC_PREREQ(2.59) - AC_INIT([HP Linux Imaging and Printing], [3.16.11], [3.16.11], [hplip]) + AC_INIT([HP Linux Imaging and Printing], [3.17.10], [3.17.10], [hplip]) -#AM_INIT_AUTOMAKE([1.9 foreign]) -AM_INIT_AUTOMAKE +AM_INIT_AUTOMAKE([1.9 foreign subdir-objects]) diff --git a/package/hplip/Config.in b/package/hplip/Config.in index 176dc6a6a7..f4e0fe7530 100644 --- a/package/hplip/Config.in +++ b/package/hplip/Config.in @@ -8,11 +8,12 @@ config BR2_PACKAGE_HPLIP select BR2_PACKAGE_JPEG help HP Linux Imaging and Printing (HPLIP) - HPLIP is an HP-developed solution for printing, scanning, and faxing - with HP inkjet and laser based printers in Linux. The HPLIP project - provides printing support for 2,211 printer models, including - Deskjet, Officejet, Photosmart, PSC (Print Scan Copy), Business - Inkjet, LaserJet, Edgeline MFP, and LaserJet MFP. + HPLIP is an HP-developed solution for printing, scanning, and + faxing with HP inkjet and laser based printers in Linux. The + HPLIP project provides printing support for 2,211 printer + models, including Deskjet, Officejet, Photosmart, PSC + (Print Scan Copy), Business Inkjet, LaserJet, Edgeline MFP, + and LaserJet MFP. http://hplipopensource.com/ diff --git a/package/hplip/hplip.hash b/package/hplip/hplip.hash index 9dfb7a2ad0..2260850e33 100644 --- a/package/hplip/hplip.hash +++ b/package/hplip/hplip.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 f6e20cacb4891e4e60fc5de2213a10f8d0c68840f9b511aa38cfca0cb29f9b24 hplip-3.16.11.tar.gz +sha256 0f7344174672f63a98a22f3c109005b6eb89fe738b7d466316bf2c53d083476c hplip-3.17.10.tar.gz diff --git a/package/hplip/hplip.mk b/package/hplip/hplip.mk index cd1be042a5..9eac83d567 100644 --- a/package/hplip/hplip.mk +++ b/package/hplip/hplip.mk @@ -4,11 +4,11 @@ # ################################################################################ -HPLIP_VERSION = 3.16.11 +HPLIP_VERSION = 3.17.10 HPLIP_SITE = http://downloads.sourceforge.net/hplip/hplip HPLIP_AUTORECONF = YES HPLIP_DEPENDENCIES = cups libusb jpeg host-pkgconf -HPLIP_LICENSE = GPLv2, BSD-3c, MIT +HPLIP_LICENSE = GPL-2.0, BSD-3-Clause, MIT HPLIP_LICENSE_FILES = COPYING HPLIP_CONF_OPTS = \ diff --git a/package/htop/htop.mk b/package/htop/htop.mk index 9451d159fa..d06e4a56d0 100644 --- a/package/htop/htop.mk +++ b/package/htop/htop.mk @@ -8,8 +8,8 @@ HTOP_VERSION = 2.0.2 HTOP_SITE = http://hisham.hm/htop/releases/$(HTOP_VERSION) HTOP_DEPENDENCIES = ncurses # Prevent htop build system from searching the host paths -HTOP_CONF_ENV = HTOP_NCURSES_CONFIG_SCRIPT=$(STAGING_DIR)/usr/bin/ncurses5-config -HTOP_LICENSE = GPLv2 +HTOP_CONF_ENV = HTOP_NCURSES_CONFIG_SCRIPT=$(STAGING_DIR)/usr/bin/$(NCURSES_CONFIG_SCRIPTS) +HTOP_LICENSE = GPL-2.0 HTOP_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_NCURSES_WCHAR),y) diff --git a/package/httping/0002-Makefile-allow-build-without-gettext.patch b/package/httping/0002-Makefile-allow-build-without-gettext.patch new file mode 100644 index 0000000000..aec1de47d1 --- /dev/null +++ b/package/httping/0002-Makefile-allow-build-without-gettext.patch @@ -0,0 +1,48 @@ +From fe7d6c5a0e5dfe129f228498037393d23d6ae890 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 18 Jul 2017 19:09:03 +0300 +Subject: [PATCH] Makefile: allow build without gettext + +The msgfmt command is part of the gettext package, and is used to generate +binary translation files. When gettext is not installed, build fails. +Translation files are not always needed on size constrained embedded targets. +Add an option to disable translation files generation using the NO_GETTEXT +variable. + +Signed-off-by: Baruch Siach +--- +Upstream status: https://github.com/flok99/httping/pull/36 + + Makefile | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/Makefile b/Makefile +index 46127f4cdde1..160cc1794ec8 100644 +--- a/Makefile ++++ b/Makefile +@@ -55,7 +55,9 @@ MKDIR=/bin/mkdir + ARCHIVE=/bin/tar cf - + COMPRESS=/bin/gzip -9 + ++ifneq ($(NO_GETTEXT),yes) + TRANSLATIONS=nl.mo ru.mo ++endif + + OBJS=gen.o http.o io.o error.o utils.o main.o tcp.o res.o socks5.o kalman.o cookies.o help.o colors.o + +@@ -118,10 +120,12 @@ install: $(TARGET) $(TRANSLATIONS) + ifneq ($(DEBUG),yes) + $(STRIP) $(DESTDIR)/$(BINDIR)/$(TARGET) + endif ++ifneq ($(NO_GETTEXT),yes) + mkdir -p $(DESTDIR)/$(PREFIX)/share/locale/nl/LC_MESSAGES + cp nl.mo $(DESTDIR)/$(PREFIX)/share/locale/nl/LC_MESSAGES/httping.mo + mkdir -p $(DESTDIR)/$(PREFIX)/share/locale/ru/LC_MESSAGES + cp ru.mo $(DESTDIR)/$(PREFIX)/share/locale/ru/LC_MESSAGES/httping.mo ++endif + + + makefile.inc: +-- +2.13.2 + diff --git a/package/httping/Config.in b/package/httping/Config.in index 6564415997..c0e5071ce8 100644 --- a/package/httping/Config.in +++ b/package/httping/Config.in @@ -4,13 +4,13 @@ comment "httping needs a toolchain w/ wchar" config BR2_PACKAGE_HTTPING bool "httping" depends on BR2_USE_WCHAR - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT help Httping is like 'ping' but for http-requests. - Give it an url, and it'll show you how long it takes to connect, - send a request and retrieve the reply (only the headers). - Be aware that the transmission across the network also takes time! - So it measures the latency of the webserver + network. + Give it an url, and it'll show you how long it takes to + connect, send a request and retrieve the reply (only the + headers). + Be aware that the transmission across the network also takes + time! So it measures the latency of the webserver + network. http://www.vanheusden.com/httping/ diff --git a/package/httping/httping.mk b/package/httping/httping.mk index 3418ffa110..955ee3131b 100644 --- a/package/httping/httping.mk +++ b/package/httping/httping.mk @@ -7,13 +7,13 @@ HTTPING_VERSION = 2.5 HTTPING_SOURCE = httping-$(HTTPING_VERSION).tgz HTTPING_SITE = http://www.vanheusden.com/httping -HTTPING_LICENSE = GPLv2 +HTTPING_LICENSE = GPL-2.0 HTTPING_LICENSE_FILES = license.txt HTTPING_LDFLAGS = $(TARGET_LDFLAGS) \ - $(if $(BR2_NEEDS_GETTEXT),-lintl) \ + $(TARGET_NLS_LIBS) \ $(if $(BR2_PACKAGE_LIBICONV),-liconv) -HTTPING_DEPENDENCIES = host-gettext \ - $(if $(BR2_NEEDS_GETTEXT),gettext) \ +HTTPING_DEPENDENCIES = \ + $(TARGET_NLS_DEPENDENCIES) \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) \ $(if $(BR2_PACKAGE_NCURSES_WCHAR),ncurses) \ $(if $(BR2_PACKAGE_OPENSSL),openssl) \ @@ -22,7 +22,8 @@ HTTPING_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) \ FW=$(if $(BR2_PACKAGE_FFTW),yes,no) \ NC=$(if $(BR2_PACKAGE_NCURSES_WCHAR),yes,no) \ SSL=$(if $(BR2_PACKAGE_OPENSSL),yes,no) \ - TFO=$(if $(BR2_PACKAGE_HTTPING_TFO),yes,no) + TFO=$(if $(BR2_PACKAGE_HTTPING_TFO),yes,no) \ + NO_GETTEXT=$(if $(BR2_SYSTEM_ENABLE_NLS),no,yes) define HTTPING_BUILD_CMDS $(HTTPING_MAKE_OPTS) LDFLAGS="$(HTTPING_LDFLAGS)" \ diff --git a/package/hwdata/Config.in b/package/hwdata/Config.in index 33e0738af8..8424238e1b 100644 --- a/package/hwdata/Config.in +++ b/package/hwdata/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_HWDATA bool "hwdata" help - Various hardware identification and configuration data, such as - the pci.ids database, or the XFree86/xorg Cards database. + Various hardware identification and configuration data, + such as the pci.ids database, or the XFree86/xorg Cards + database. diff --git a/package/hwdata/hwdata.mk b/package/hwdata/hwdata.mk index f8cffcdb80..4ad8d42939 100644 --- a/package/hwdata/hwdata.mk +++ b/package/hwdata/hwdata.mk @@ -8,7 +8,7 @@ HWDATA_VERSION = 0.267 HWDATA_SOURCE = hwdata_$(HWDATA_VERSION).orig.tar.gz HWDATA_PATCH = hwdata_$(HWDATA_VERSION)-1.diff.gz HWDATA_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/h/hwdata -HWDATA_LICENSE = GPLv2+ or XFree86 1.0 license +HWDATA_LICENSE = GPL-2.0+ or XFree86 1.0 license HWDATA_LICENSE_FILES = COPYING LICENSE define HWDATA_INSTALL_TARGET_CMDS diff --git a/package/hwloc/0001-utils-hwloc-Makefile.am-fix-install-man-race-conditi.patch b/package/hwloc/0001-utils-hwloc-Makefile.am-fix-install-man-race-conditi.patch deleted file mode 100644 index c27bdd4dc3..0000000000 --- a/package/hwloc/0001-utils-hwloc-Makefile.am-fix-install-man-race-conditi.patch +++ /dev/null @@ -1,35 +0,0 @@ -From d5e802c9c2ed8dbe5c937e84bc3ab440218aa8de Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Tue, 12 May 2015 16:03:14 +0200 -Subject: [PATCH] utils/hwloc/Makefile.am: fix install-man race condition - -Make install contains a race condition in utils/hwloc, as both -install-exec-hook (through intall-exec) and install-data trigger -install-man: - -http://autobuild.buildroot.net/results/414/41403f8ce4751a27dd1bb9c43f5a97895dea3980/build-end.log - -The install-exec-hook target doesn't do anything with the manual pages, so -fix the race condition by dropping the dependency. - -Signed-off-by: Peter Korsgaard ---- - utils/hwloc/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/utils/hwloc/Makefile.am b/utils/hwloc/Makefile.am -index 7ca8027..8bbee86 100644 ---- a/utils/hwloc/Makefile.am -+++ b/utils/hwloc/Makefile.am -@@ -108,7 +108,7 @@ endif HWLOC_HAVE_LINUX - -e 's/#HWLOC_DATE#/@HWLOC_RELEASE_DATE@/g' \ - > $@ < $< - --install-exec-hook: install-man -+install-exec-hook: - $(SED) -e 's/HWLOC_top_builddir\/utils\/hwloc/bindir/' -e 's/HWLOC_top_builddir\/utils\/lstopo/bindir/' -e '/HWLOC_top_builddir/d' $(DESTDIR)$(bindir)/hwloc-assembler-remote > $(DESTDIR)$(bindir)/hwloc-assembler-remote.tmp && mv -f $(DESTDIR)$(bindir)/hwloc-assembler-remote.tmp $(DESTDIR)$(bindir)/hwloc-assembler-remote - $(SED) -e 's/HWLOC_top_builddir\/utils\/hwloc/bindir/' -e 's/HWLOC_top_builddir\/utils\/lstopo/bindir/' -e '/HWLOC_top_builddir/d' $(DESTDIR)$(bindir)/hwloc-compress-dir > $(DESTDIR)$(bindir)/hwloc-compress-dir.tmp && mv -f $(DESTDIR)$(bindir)/hwloc-compress-dir.tmp $(DESTDIR)$(bindir)/hwloc-compress-dir - chmod +x $(DESTDIR)$(bindir)/hwloc-assembler-remote $(DESTDIR)$(bindir)/hwloc-compress-dir --- -2.1.4 - diff --git a/package/hwloc/hwloc.hash b/package/hwloc/hwloc.hash index 53563dd8a4..c523bc5376 100644 --- a/package/hwloc/hwloc.hash +++ b/package/hwloc/hwloc.hash @@ -1,2 +1,5 @@ -# From http://www.open-mpi.org/software/hwloc/v1.10/ -sha1 76291124e4638b2fbd4deb4cc3cd680e153077b5 hwloc-1.10.1.tar.bz2 +# From https://www.open-mpi.org/software/hwloc/v1.11/ +md5 13d2e4dbce392cda41f1451d386d9a45 hwloc-1.11.7.tar.bz2 +sha1 7b78850b8504a93972a3f114a0e75f9b115607d9 hwloc-1.11.7.tar.bz2 +# Locally computed +sha256 ab6910e248eed8c85d08b529917a6aae706b32b346e886ba830895e36a809729 hwloc-1.11.7.tar.bz2 diff --git a/package/hwloc/hwloc.mk b/package/hwloc/hwloc.mk index 9b5eae8e1a..598a9c6e70 100644 --- a/package/hwloc/hwloc.mk +++ b/package/hwloc/hwloc.mk @@ -4,15 +4,14 @@ # ################################################################################ -HWLOC_VERSION_MAJOR = 1.10 -HWLOC_VERSION = $(HWLOC_VERSION_MAJOR).1 +HWLOC_VERSION_MAJOR = 1.11 +HWLOC_VERSION = $(HWLOC_VERSION_MAJOR).7 HWLOC_SOURCE = hwloc-$(HWLOC_VERSION).tar.bz2 HWLOC_SITE = http://www.open-mpi.org/software/hwloc/v$(HWLOC_VERSION_MAJOR)/downloads -HWLOC_LICENSE = BSD-3c +HWLOC_LICENSE = BSD-3-Clause HWLOC_LICENSE_FILES = COPYING HWLOC_DEPENDENCIES = host-pkgconf -# 0001-utils-hwloc-Makefile.am-fix-install-man-race-conditi.patch touches Makefile.am -HWLOC_AUTORECONF = YES +HWLOC_INSTALL_STAGING = YES HWLOC_CONF_OPTS = \ --disable-opencl \ diff --git a/package/i2c-tools/Config.in b/package/i2c-tools/Config.in index b82c7dcdb0..d9b8dd9a38 100644 --- a/package/i2c-tools/Config.in +++ b/package/i2c-tools/Config.in @@ -4,8 +4,8 @@ config BR2_PACKAGE_I2C_TOOLS help Heterogeneous set of I2C tools for Linux - This package contains a heterogeneous set of I2C tools for Linux: - a bus probing tool, a chip dumper, register-level access helpers, - EEPROM decoding scripts, and more. + This package contains a heterogeneous set of I2C tools for + Linux: a bus probing tool, a chip dumper, register-level + access helpers, EEPROM decoding scripts, and more. - http://www.lm-sensors.org/wiki/I2CTools + https://i2c.wiki.kernel.org/index.php/I2C_Tools diff --git a/package/i2c-tools/i2c-tools.hash b/package/i2c-tools/i2c-tools.hash new file mode 100644 index 0000000000..464219dea8 --- /dev/null +++ b/package/i2c-tools/i2c-tools.hash @@ -0,0 +1,5 @@ +# Locally computed +sha256 6d6079153cd49a62d4addacef4c092db1a46ba60b2807070a3fbe050262aef87 i2c-tools-3.1.2.tar.xz + +# License file +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/i2c-tools/i2c-tools.mk b/package/i2c-tools/i2c-tools.mk index e16b940cae..3bbaf38ff3 100644 --- a/package/i2c-tools/i2c-tools.mk +++ b/package/i2c-tools/i2c-tools.mk @@ -4,9 +4,10 @@ # ################################################################################ -I2C_TOOLS_VERSION = v3.1.2 -I2C_TOOLS_SITE = git://git.kernel.org/pub/scm/utils/i2c-tools/i2c-tools.git -I2C_TOOLS_LICENSE = GPLv2+, GPLv2 (py-smbus) +I2C_TOOLS_VERSION = 3.1.2 +I2C_TOOLS_SOURCE = i2c-tools-$(I2C_TOOLS_VERSION).tar.xz +I2C_TOOLS_SITE = https://www.kernel.org/pub/software/utils/i2c-tools +I2C_TOOLS_LICENSE = GPL-2.0+, GPL-2.0 (py-smbus) I2C_TOOLS_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_PYTHON),y) @@ -30,16 +31,16 @@ I2C_TOOLS_PYTHON_BASE_ENV = \ CFLAGS="$(TARGET_CFLAGS) -I../include" define I2C_TOOLS_BUILD_PYSMBUS - (cd $(@D)/py-smbus; \ + (cd $(@D)/py-smbus; \ $(I2C_TOOLS_PYTHON_BASE_ENV) \ - $(HOST_DIR)/usr/bin/python setup.py build \ + $(HOST_DIR)/bin/python setup.py build \ $(PKG_PYTHON_DISTUTILS_BUILD_OPTS)) endef define I2C_TOOLS_INSTALL_PYSMBUS (cd $(@D)/py-smbus; \ $(I2C_TOOLS_PYTHON_BASE_ENV) \ - $(HOST_DIR)/usr/bin/python setup.py install \ + $(HOST_DIR)/bin/python setup.py install \ $(PKG_PYTHON_DISTUTILS_INSTALL_TARGET_OPTS)) endef diff --git a/package/i7z/i7z.mk b/package/i7z/i7z.mk index e21fd9fba1..9c2c67399b 100644 --- a/package/i7z/i7z.mk +++ b/package/i7z/i7z.mk @@ -6,7 +6,7 @@ I7Z_VERSION = 5023138d7c35c4667c938b853e5ea89737334e92 I7Z_SITE = $(call github,ajaiantilal,i7z,$(I7Z_VERSION)) -I7Z_LICENSE = GPLv2 +I7Z_LICENSE = GPL-2.0 I7Z_LICENSE_FILES = COPYING I7Z_DEPENDENCIES = ncurses diff --git a/package/icu/0006-i18n-Drop-include-xlocale.h.patch b/package/icu/0006-i18n-Drop-include-xlocale.h.patch new file mode 100644 index 0000000000..a5eb9cb072 --- /dev/null +++ b/package/icu/0006-i18n-Drop-include-xlocale.h.patch @@ -0,0 +1,39 @@ +From 5f38e4f8c4be351db96a3be23ce25c97597cc508 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 2 Oct 2017 22:41:02 +0200 +Subject: [PATCH] i18n: Drop include + +glibc 2.26 drops this header + +Signed-off-by: Khem Raj + +Reported Upstream: http://bugs.icu-project.org/trac/ticket/13385 +From: https://git.yoctoproject.org/cgit.cgi/poky/commit/meta/recipes-support/icu/icu/0001-i18n-Drop-include-xlocale.h.patch?id=931430f94c018bc3f58d70e11ca4a4ae7cb2e19c + +Signed-off-by: Romain Naour +--- +Upstream-Status: Pending +--- + source/i18n/digitlst.cpp | 6 +----- + 1 file changed, 1 insertion(+), 5 deletions(-) + +diff --git a/source/i18n/digitlst.cpp b/source/i18n/digitlst.cpp +index 4d7c3f4..f111cf3 100644 +--- a/source/i18n/digitlst.cpp ++++ b/source/i18n/digitlst.cpp +@@ -61,11 +61,7 @@ + #endif + + #if U_USE_STRTOD_L +-# if U_PLATFORM_USES_ONLY_WIN32_API || U_PLATFORM == U_PF_CYGWIN +-# include +-# else +-# include +-# endif ++# include + #endif + + // *************************************************************************** +-- +2.9.5 + diff --git a/package/icu/Config.in b/package/icu/Config.in index d31c1fa3dc..fde486b600 100644 --- a/package/icu/Config.in +++ b/package/icu/Config.in @@ -1,7 +1,9 @@ config BR2_PACKAGE_ICU bool "icu" + depends on BR2_HOST_GCC_AT_LEAST_4_8 depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 depends on BR2_TOOLCHAIN_HAS_THREADS # icu does some funky things by generating by itself an ELF # file, and it cannot easily be changed to generate FLAT @@ -25,7 +27,9 @@ config BR2_PACKAGE_ICU_CUSTOM_DATA_PATH endif -comment "icu needs a toolchain w/ C++, wchar, threads" +comment "icu needs a toolchain w/ C++, wchar, threads, gcc >= 4.8, host gcc >= 4.8" depends on !BR2_BINFMT_FLAT depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ - !BR2_TOOLCHAIN_HAS_THREADS + !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \ + !BR2_HOST_GCC_AT_LEAST_4_8 diff --git a/package/icu/icu.hash b/package/icu/icu.hash index d578bfbf54..d10a061322 100644 --- a/package/icu/icu.hash +++ b/package/icu/icu.hash @@ -1,4 +1,4 @@ -# From https://ssl.icu-project.org/files/icu4c/57.1/icu4c-src-58_2.md5 -md5 fac212b32b7ec7ab007a12dff1f3aea1 icu4c-58_2-src.tgz +# From http://download.icu-project.org/files/icu4c/59.1/icu4c-src-59_1.md5 +md5 54923fa9fab5b2b83f235fb72523de37 icu4c-59_1-src.tgz # Calculated based on the hash above -sha256 2b0a4410153a9b20de0e20c7d8b66049a72aef244b53683d0d7521371683da0c icu4c-58_2-src.tgz +sha256 7132fdaf9379429d004005217f10e00b7d2319d0fea22bdfddef8991c45b75fe icu4c-59_1-src.tgz diff --git a/package/icu/icu.mk b/package/icu/icu.mk index b9e42de94b..166890e080 100644 --- a/package/icu/icu.mk +++ b/package/icu/icu.mk @@ -4,11 +4,11 @@ # ################################################################################ -ICU_VERSION = 58.2 +ICU_VERSION = 59.1 ICU_SOURCE = icu4c-$(subst .,_,$(ICU_VERSION))-src.tgz ICU_SITE = http://download.icu-project.org/files/icu4c/$(ICU_VERSION) ICU_LICENSE = ICU License -ICU_LICENSE_FILES = license.html +ICU_LICENSE_FILES = LICENSE ICU_DEPENDENCIES = host-icu ICU_INSTALL_STAGING = YES diff --git a/package/ifenslave/ifenslave.mk b/package/ifenslave/ifenslave.mk index 1b823123ab..4030d22e82 100644 --- a/package/ifenslave/ifenslave.mk +++ b/package/ifenslave/ifenslave.mk @@ -7,7 +7,7 @@ IFENSLAVE_VERSION = 2.9 IFENSLAVE_SOURCE = ifenslave_$(IFENSLAVE_VERSION).tar.xz IFENSLAVE_SITE = http://snapshot.debian.org/archive/debian/20170102T091407Z/pool/main/i/ifenslave -IFENSLAVE_LICENSE = GPLv3+ +IFENSLAVE_LICENSE = GPL-3.0+ IFENSLAVE_LICENSE_FILES = debian/copyright IFENSLAVE_DEPENDENCIES = $(if $(BR2_PACKAGE_BUSYBOX),busybox) diff --git a/package/ifplugd/ifplugd.mk b/package/ifplugd/ifplugd.mk index 9f0feba3f5..b569320963 100644 --- a/package/ifplugd/ifplugd.mk +++ b/package/ifplugd/ifplugd.mk @@ -6,7 +6,7 @@ IFPLUGD_VERSION = 0.28 IFPLUGD_SITE = http://0pointer.de/lennart/projects/ifplugd -IFPLUGD_LICENSE = GPLv2 +IFPLUGD_LICENSE = GPL-2.0 IFPLUGD_LICENSE_FILES = LICENSE IFPLUGD_AUTORECONF = YES diff --git a/package/iftop/Config.in b/package/iftop/Config.in index 8c6ae0caaf..514101ca98 100644 --- a/package/iftop/Config.in +++ b/package/iftop/Config.in @@ -1,13 +1,14 @@ config BR2_PACKAGE_IFTOP bool "iftop" + depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_NCURSES select BR2_PACKAGE_LIBPCAP - depends on BR2_TOOLCHAIN_HAS_THREADS help iftop does for network usage what top(1) does for CPU usage. - It listens to network traffic on a named interface and displays - a table of current bandwidth usage by pairs of hosts. Handy for - answering the question "why is our ADSL link so slow?". + It listens to network traffic on a named interface and + displays a table of current bandwidth usage by pairs of hosts. + Handy for answering the question "why is our ADSL link so + slow?". http://www.ex-parrot.com/pdw/iftop/ diff --git a/package/iftop/iftop.mk b/package/iftop/iftop.mk index 042f2b28eb..664c725f39 100644 --- a/package/iftop/iftop.mk +++ b/package/iftop/iftop.mk @@ -7,7 +7,7 @@ IFTOP_VERSION = 1.0pre4 IFTOP_SITE = http://www.ex-parrot.com/pdw/iftop/download IFTOP_DEPENDENCIES = ncurses libpcap -IFTOP_LICENSE = GPLv2+ +IFTOP_LICENSE = GPL-2.0+ IFTOP_LICENSE_FILES = COPYING IFTOP_LIBS = -lpcap diff --git a/package/ifupdown-scripts/Config.in b/package/ifupdown-scripts/Config.in new file mode 100644 index 0000000000..9cd03950f6 --- /dev/null +++ b/package/ifupdown-scripts/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_IFUPDOWN_SCRIPTS + bool "ifupdown scripts" + depends on !BR2_PACKAGE_SYSTEMD_NETWORKD + default y if BR2_ROOTFS_SKELETON_DEFAULT + help + Set of scripts used by ifupdown (either the standalone one, + or the busybox one) to bring network up, or tear it down. diff --git a/package/initscripts/init.d/S40network b/package/ifupdown-scripts/S40network similarity index 100% rename from package/initscripts/init.d/S40network rename to package/ifupdown-scripts/S40network diff --git a/package/ifupdown-scripts/ifupdown-scripts.mk b/package/ifupdown-scripts/ifupdown-scripts.mk new file mode 100644 index 0000000000..ebc89b3872 --- /dev/null +++ b/package/ifupdown-scripts/ifupdown-scripts.mk @@ -0,0 +1,55 @@ +################################################################################ +# +# ifupdown-scripts +# +################################################################################ + +define IFUPDOWN_SCRIPTS_LOCALHOST + ( \ + echo "# interface file auto-generated by buildroot"; \ + echo ; \ + echo "auto lo"; \ + echo "iface lo inet loopback"; \ + ) > $(TARGET_DIR)/etc/network/interfaces +endef + +IFUPDOWN_SCRIPTS_DHCP_IFACE = $(call qstrip,$(BR2_SYSTEM_DHCP)) + +ifneq ($(IFUPDOWN_SCRIPTS_DHCP_IFACE),) +define IFUPDOWN_SCRIPTS_DHCP + ( \ + echo ; \ + echo "auto $(IFUPDOWN_SCRIPTS_DHCP_IFACE)"; \ + echo "iface $(IFUPDOWN_SCRIPTS_DHCP_IFACE) inet dhcp"; \ + echo " pre-up /etc/network/nfs_check"; \ + echo " wait-delay 15"; \ + ) >> $(TARGET_DIR)/etc/network/interfaces + $(INSTALL) -m 0755 -D $(IFUPDOWN_SCRIPTS_PKGDIR)/nfs_check \ + $(TARGET_DIR)/etc/network/nfs_check +endef +endif + +define IFUPDOWN_SCRIPTS_INSTALL_TARGET_CMDS + mkdir -p $(TARGET_DIR)/etc/network + $(call SYSTEM_RSYNC,$(IFUPDOWN_SCRIPTS_PKGDIR)/network,$(TARGET_DIR)/etc/network) + $(IFUPDOWN_SCRIPTS_LOCALHOST) + $(IFUPDOWN_SCRIPTS_DHCP) +endef + +define IFUPDOWN_SCRIPTS_INSTALL_INIT_SYSV + $(INSTALL) -D -m 0755 $(IFUPDOWN_SCRIPTS_PKGDIR)/S40network \ + $(TARGET_DIR)/etc/init.d/S40network +endef + +# ifupdown-scripts can not be selected when systemd-networkd is +# enabled, so if we are enabled with systemd, we must install our +# own service file. +define IFUPDOWN_SCRIPTS_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 $(IFUPDOWN_SCRIPTS_PKGDIR)/network.service \ + $(TARGET_DIR)/etc/systemd/system/network.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -fs ../network.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/network.service +endef + +$(eval $(generic-package)) diff --git a/package/systemd/network.service b/package/ifupdown-scripts/network.service similarity index 100% rename from package/systemd/network.service rename to package/ifupdown-scripts/network.service diff --git a/system/skeleton/dev/pts/.empty b/package/ifupdown-scripts/network/if-down.d/.empty similarity index 100% rename from system/skeleton/dev/pts/.empty rename to package/ifupdown-scripts/network/if-down.d/.empty diff --git a/system/skeleton/dev/shm/.empty b/package/ifupdown-scripts/network/if-post-down.d/.empty similarity index 100% rename from system/skeleton/dev/shm/.empty rename to package/ifupdown-scripts/network/if-post-down.d/.empty diff --git a/system/skeleton/etc/network/if-pre-up.d/wait_iface b/package/ifupdown-scripts/network/if-pre-up.d/wait_iface similarity index 100% rename from system/skeleton/etc/network/if-pre-up.d/wait_iface rename to package/ifupdown-scripts/network/if-pre-up.d/wait_iface diff --git a/system/skeleton/etc/network/if-down.d/.empty b/package/ifupdown-scripts/network/if-up.d/.empty similarity index 100% rename from system/skeleton/etc/network/if-down.d/.empty rename to package/ifupdown-scripts/network/if-up.d/.empty diff --git a/package/skeleton/nfs_check b/package/ifupdown-scripts/nfs_check similarity index 100% rename from package/skeleton/nfs_check rename to package/ifupdown-scripts/nfs_check diff --git a/package/ifupdown/Config.in b/package/ifupdown/Config.in index e683201736..97d02b4c37 100644 --- a/package/ifupdown/Config.in +++ b/package/ifupdown/Config.in @@ -1,9 +1,7 @@ config BR2_PACKAGE_IFUPDOWN bool "ifupdown" depends on BR2_USE_MMU # fork() - depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # iproute2 - # Default/our uclibc lacks wordexp() - depends on !BR2_TOOLCHAIN_USES_UCLIBC + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 # iproute2 depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # runtime for ip binary select BR2_PACKAGE_IPROUTE2 if !BR2_PACKAGE_BUSYBOX @@ -14,8 +12,7 @@ config BR2_PACKAGE_IFUPDOWN https://tracker.debian.org/pkg/ifupdown -comment "ifupdown needs a glibc or musl toolchain w/ headers >= 3.0" +comment "ifupdown needs a toolchain w/ headers >= 3.4" depends on BR2_USE_MMU - depends on BR2_TOOLCHAIN_USES_UCLIBC || \ - !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS diff --git a/package/ifupdown/ifupdown.mk b/package/ifupdown/ifupdown.mk index ad0e513f93..dfc3f3cc11 100644 --- a/package/ifupdown/ifupdown.mk +++ b/package/ifupdown/ifupdown.mk @@ -8,7 +8,7 @@ IFUPDOWN_VERSION = 0.8.16 IFUPDOWN_SOURCE = ifupdown_$(IFUPDOWN_VERSION).tar.xz IFUPDOWN_SITE = http://snapshot.debian.org/archive/debian/20160922T165503Z/pool/main/i/ifupdown IFUPDOWN_DEPENDENCIES = $(if $(BR2_PACKAGE_BUSYBOX),busybox) -IFUPDOWN_LICENSE = GPLv2+ +IFUPDOWN_LICENSE = GPL-2.0+ IFUPDOWN_LICENSE_FILES = COPYING define IFUPDOWN_BUILD_CMDS diff --git a/package/igd2-for-linux/igd2-for-linux.mk b/package/igd2-for-linux/igd2-for-linux.mk index 8944c0521e..68b64f1d47 100644 --- a/package/igd2-for-linux/igd2-for-linux.mk +++ b/package/igd2-for-linux/igd2-for-linux.mk @@ -7,7 +7,7 @@ IGD2_FOR_LINUX_VERSION = v1.2 IGD2_FOR_LINUX_SITE = $(call github,ffontaine,igd2-for-linux,$(IGD2_FOR_LINUX_VERSION)) -IGD2_FOR_LINUX_LICENSE = GPLv2 +IGD2_FOR_LINUX_LICENSE = GPL-2.0 IGD2_FOR_LINUX_LICENSE_FILES = linuxigd2/doc/LICENSE IGD2_FOR_LINUX_DEPENDENCIES = libupnp diff --git a/package/igh-ethercat/igh-ethercat.mk b/package/igh-ethercat/igh-ethercat.mk index 32c49a3cf8..b9771e8f8c 100644 --- a/package/igh-ethercat/igh-ethercat.mk +++ b/package/igh-ethercat/igh-ethercat.mk @@ -7,7 +7,7 @@ IGH_ETHERCAT_VERSION = 1.5.2 IGH_ETHERCAT_SITE = http://etherlab.org/download/ethercat IGH_ETHERCAT_SOURCE = ethercat-$(IGH_ETHERCAT_VERSION).tar.bz2 -IGH_ETHERCAT_LICENSE = GPLv2 (IgH EtherCAT master), LGPLv2.1 (libraries) +IGH_ETHERCAT_LICENSE = GPL-2.0 (IgH EtherCAT master), LGPL-2.1 (libraries) IGH_ETHERCAT_LICENSE_FILES = COPYING COPYING.LESSER IGH_ETHERCAT_INSTALL_STAGING = YES diff --git a/package/igmpproxy/igmpproxy.hash b/package/igmpproxy/igmpproxy.hash index 98dc242fb2..2e3a374618 100644 --- a/package/igmpproxy/igmpproxy.hash +++ b/package/igmpproxy/igmpproxy.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 2be2171cf273678810283937f7752dc9b8402456d0a03ee55f06ca52fadf075f igmpproxy-a731683d1a65956fa05024b0597b105fe6a3a122.tar.gz +sha256 e60331031f85d1fb834c5272a134f32d32e7834718da19ba3f787dff68389a31 igmpproxy-f47644d8fa7266a784f3ec7b251e7d318bc2f0a9.tar.gz diff --git a/package/igmpproxy/igmpproxy.mk b/package/igmpproxy/igmpproxy.mk index 98168721f8..8989c74de0 100644 --- a/package/igmpproxy/igmpproxy.mk +++ b/package/igmpproxy/igmpproxy.mk @@ -4,10 +4,10 @@ # ################################################################################ -IGMPPROXY_VERSION = a731683d1a65956fa05024b0597b105fe6a3a122 +IGMPPROXY_VERSION = f47644d8fa7266a784f3ec7b251e7d318bc2f0a9 IGMPPROXY_SITE = $(call github,pali,igmpproxy,$(IGMPPROXY_VERSION)) IGMPPROXY_AUTORECONF = YES -IGMPPROXY_LICENSE = GPLv2+ +IGMPPROXY_LICENSE = GPL-2.0+ IGMPPROXY_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/imagemagick/0001-png.c-unbreak-build-without-JPEG-support.patch b/package/imagemagick/0001-png.c-unbreak-build-without-JPEG-support.patch deleted file mode 100644 index 00a1045bb7..0000000000 --- a/package/imagemagick/0001-png.c-unbreak-build-without-JPEG-support.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 5d0e9c53f49022df5154eb3c04900f48b1c6448e Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Mon, 6 Feb 2017 17:39:31 +0100 -Subject: [PATCH] png.c: unbreak build without JPEG support - -Since commit a9e228f8ac26 (Implemented a private PNG caNv (canvas) chunk), -PNGsLong gets called unconditionally, but it is only defined if JPEG -support is enabled (which defines JNG_SUPPORTED), breaking the build: - -MagickCore/.libs/libMagickCore-7.Q16HDRI.a(MagickCore_libMagickCore_7_Q16HDRI_la-png.o): In function `WriteOnePNGImage': -png.c:(.text+0x748d): undefined reference to `PNGsLong' -png.c:(.text+0x74b7): undefined reference to `PNGsLong' - -For build log, see: -http://autobuild.buildroot.net/results/d20/d20eecec8e7b947759185f77a6c8e610dd7393f3/build-end.log - -Fix it by unconditionally defining the helper function. - -Submitted-upstream: https://github.com/ImageMagick/ImageMagick/pull/373 -Signed-off-by: Peter Korsgaard ---- - coders/png.c | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/coders/png.c b/coders/png.c -index aebe59281..1328b1aab 100644 ---- a/coders/png.c -+++ b/coders/png.c -@@ -1229,7 +1229,6 @@ static void PNGLong(png_bytep p,png_uint_32 value) - *p++=(png_byte) (value & 0xff); - } - --#if defined(JNG_SUPPORTED) - static void PNGsLong(png_bytep p,png_int_32 value) - { - *p++=(png_byte) ((value >> 24) & 0xff); -@@ -1237,7 +1236,6 @@ static void PNGsLong(png_bytep p,png_int_32 value) - *p++=(png_byte) ((value >> 8) & 0xff); - *p++=(png_byte) (value & 0xff); - } --#endif - - static void PNGShort(png_bytep p,png_uint_16 value) - { --- -2.11.0 - diff --git a/package/imagemagick/Config.in b/package/imagemagick/Config.in index 0bd4df2ab7..4bd81dbd79 100644 --- a/package/imagemagick/Config.in +++ b/package/imagemagick/Config.in @@ -3,12 +3,13 @@ config BR2_PACKAGE_IMAGEMAGICK depends on BR2_USE_MMU # fork() depends on BR2_TOOLCHAIN_HAS_THREADS help - ImageMagick(R) is a software suite to create, edit, and compose - bitmap images. It can read, convert and write images in a variety of - formats (about 100) including DPX, EXR, GIF, JPEG, JPEG-2000, PDF, - PhotoCD, PNG, Postscript, SVG, and TIFF. Use ImageMagick to - translate, flip, mirror, rotate, scale, shear and transform images, - adjust image colors, apply various special effects, or draw text, + ImageMagick(R) is a software suite to create, edit, and + compose bitmap images. It can read, convert and write images + in a variety of formats (about 100) including DPX, EXR, GIF, + JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG, and TIFF. + Use ImageMagick to translate, flip, mirror, rotate, scale, + shear and transform images, adjust image colors, apply various + special effects, or draw text, lines, polygons, ellipses and Bézier curves. http://www.imagemagick.org/ diff --git a/package/imagemagick/imagemagick.hash b/package/imagemagick/imagemagick.hash index 90e1db5389..2468bdbc23 100644 --- a/package/imagemagick/imagemagick.hash +++ b/package/imagemagick/imagemagick.hash @@ -1,2 +1,2 @@ -# From http://www.imagemagick.org/download/releases/digest.rdf -sha256 1ee004740b7ab47fff3c92ae4a89dcbd0181c4d5f31fcb7e3697412ea384a0da ImageMagick-7.0.4-6.tar.xz +# Locally computed +sha256 924d1161ed2399bcb72f98419072b3130a466e07d9a6fce43d27458ffa907ffa 7.0.7-10.tar.gz diff --git a/package/imagemagick/imagemagick.mk b/package/imagemagick/imagemagick.mk index a91729736b..c2171a7564 100644 --- a/package/imagemagick/imagemagick.mk +++ b/package/imagemagick/imagemagick.mk @@ -4,9 +4,9 @@ # ################################################################################ -IMAGEMAGICK_VERSION = 7.0.4-6 -IMAGEMAGICK_SOURCE = ImageMagick-$(IMAGEMAGICK_VERSION).tar.xz -IMAGEMAGICK_SITE = http://www.imagemagick.org/download/releases +IMAGEMAGICK_VERSION = 7.0.7-10 +IMAGEMAGICK_SOURCE = $(IMAGEMAGICK_VERSION).tar.gz +IMAGEMAGICK_SITE = https://github.com/ImageMagick/ImageMagick/archive IMAGEMAGICK_LICENSE = Apache-2.0 IMAGEMAGICK_LICENSE_FILES = LICENSE diff --git a/package/imlib2/Config.in b/package/imlib2/Config.in index 7aac07439c..c47178f174 100644 --- a/package/imlib2/Config.in +++ b/package/imlib2/Config.in @@ -3,8 +3,8 @@ comment "imlib2 needs a toolchain w/ dynamic library" config BR2_PACKAGE_IMLIB2 bool "imlib2" - select BR2_PACKAGE_FREETYPE depends on !BR2_STATIC_LIBS # dlopen() + select BR2_PACKAGE_FREETYPE help Imlib 2 is the successor to Imlib. This library provides routines to load, save and render images in various formats. diff --git a/package/imlib2/imlib2.hash b/package/imlib2/imlib2.hash index 6e1faafc9b..0c234c8c23 100644 --- a/package/imlib2/imlib2.hash +++ b/package/imlib2/imlib2.hash @@ -1,3 +1,3 @@ -# From https://sourceforge.net/projects/enlightenment/files/imlib2-src/1.4.9/ -md5 23ef8b49f2793bc63b16839a2062298b imlib2-1.4.9.tar.bz2 -sha1 f389d67c337b604a365e620b0083b2d342dd724e imlib2-1.4.9.tar.bz2 +# From https://sourceforge.net/projects/enlightenment/files/imlib2-src/1.4.10/ +md5 a0de8524592bbd9f24fcc6cb8352137c imlib2-1.4.10.tar.bz2 +sha1 664df65c6265a2825d685d2f3a4f0d072eb626ac imlib2-1.4.10.tar.bz2 diff --git a/package/imlib2/imlib2.mk b/package/imlib2/imlib2.mk index 7da032f9ad..b5012a69a8 100644 --- a/package/imlib2/imlib2.mk +++ b/package/imlib2/imlib2.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMLIB2_VERSION = 1.4.9 +IMLIB2_VERSION = 1.4.10 IMLIB2_SOURCE = imlib2-$(IMLIB2_VERSION).tar.bz2 IMLIB2_SITE = http://downloads.sourceforge.net/project/enlightenment/imlib2-src/$(IMLIB2_VERSION) IMLIB2_LICENSE = imlib2 license diff --git a/package/imx-usb-loader/imx-usb-loader.hash b/package/imx-usb-loader/imx-usb-loader.hash index 3e02038997..6cb581147f 100644 --- a/package/imx-usb-loader/imx-usb-loader.hash +++ b/package/imx-usb-loader/imx-usb-loader.hash @@ -1,2 +1,2 @@ # locally computed -sha256 40e1e36791e91366b13f57b16b32e75cf05e7177b2813f1bf2446419d0ed44eb imx-usb-loader-9b0e81cf9511c3a27cf635407714caa2793b570c.tar.gz +sha256 5232292cb1ad853905357de59ed251b57060562dc8d7f1cce0bb6c0c8d280dae imx-usb-loader-f04f225ebc1c38e81eb24745333c8622deda6b49.tar.gz diff --git a/package/imx-usb-loader/imx-usb-loader.mk b/package/imx-usb-loader/imx-usb-loader.mk index 0cd9637c50..7593e3ce7a 100644 --- a/package/imx-usb-loader/imx-usb-loader.mk +++ b/package/imx-usb-loader/imx-usb-loader.mk @@ -4,9 +4,9 @@ # ################################################################################ -IMX_USB_LOADER_VERSION = 9b0e81cf9511c3a27cf635407714caa2793b570c +IMX_USB_LOADER_VERSION = f04f225ebc1c38e81eb24745333c8622deda6b49 IMX_USB_LOADER_SITE = $(call github,boundarydevices,imx_usb_loader,$(IMX_USB_LOADER_VERSION)) -IMX_USB_LOADER_LICENSE = LGPLv2.1+ +IMX_USB_LOADER_LICENSE = LGPL-2.1+ IMX_USB_LOADER_LICENSE_FILES = COPYING HOST_IMX_USB_LOADER_DEPENDENCIES = host-libusb host-pkgconf @@ -15,8 +15,7 @@ define HOST_IMX_USB_LOADER_BUILD_CMDS endef define HOST_IMX_USB_LOADER_INSTALL_CMDS - $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ - DESTDIR=$(HOST_DIR) sysconfdir=/etc install + $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) prefix=$(HOST_DIR) install endef $(eval $(host-generic-package)) diff --git a/package/inadyn/inadyn.hash b/package/inadyn/inadyn.hash index a4e60c96c7..c6c062ce15 100644 --- a/package/inadyn/inadyn.hash +++ b/package/inadyn/inadyn.hash @@ -1,2 +1,5 @@ +# From https://github.com/troglobit/inadyn/releases/download/v2.2.1/inadyn-2.2.1.tar.xz.md5 +md5 8f7796ee45b2a2e282a54a2d31d03953 inadyn-2.2.1.tar.xz # Locally computed -sha256 763c53eb3856decfe8b921cab8a54b428b079a62264fbcf6c89690713d63529a inadyn-v2.0.tar.gz +sha256 e7a74fcf8b7c069990940c0dc4d4d18071005be225667fdfcfa4156c44384579 inadyn-2.2.1.tar.xz +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/inadyn/inadyn.mk b/package/inadyn/inadyn.mk index f23955bbaf..5eac3b5c3a 100644 --- a/package/inadyn/inadyn.mk +++ b/package/inadyn/inadyn.mk @@ -4,19 +4,13 @@ # ################################################################################ -INADYN_VERSION = v2.0 -INADYN_SITE = $(call github,troglobit,inadyn,$(INADYN_VERSION)) -INADYN_LICENSE = GPLv2+ +INADYN_VERSION = 2.2.1 +INADYN_SITE = https://github.com/troglobit/inadyn/releases/download/v$(INADYN_VERSION) +INADYN_SOURCE = inadyn-$(INADYN_VERSION).tar.xz +INADYN_LICENSE = GPL-2.0+ INADYN_LICENSE_FILES = COPYING -INADYN_AUTORECONF = YES INADYN_DEPENDENCIES = host-pkgconf libconfuse libite -# Needed for autoreconf to work properly, see ./autogen.sh -define INADYN_FIXUP_M4_DIR - mkdir $(@D)/m4 -endef -INADYN_POST_EXTRACT_HOOKS += INADYN_FIXUP_M4_DIR - ifeq ($(BR2_PACKAGE_OPENSSL),y) INADYN_CONF_OPTS += --enable-openssl INADYN_DEPENDENCIES += openssl diff --git a/package/inconsolata/inconsolata.mk b/package/inconsolata/inconsolata.mk index 2f53b98a22..3fe3895cc7 100644 --- a/package/inconsolata/inconsolata.mk +++ b/package/inconsolata/inconsolata.mk @@ -8,7 +8,7 @@ INCONSOLATA_VERSION = 001.010 INCONSOLATA_SITE = http://snapshot.debian.org/archive/debian/20090524T155154Z/pool/main/t/ttf-inconsolata INCONSOLATA_SOURCE = ttf-inconsolata_$(INCONSOLATA_VERSION).orig.tar.gz INCONSOLATA_TARGET_DIR = $(TARGET_DIR)/usr/share/fonts/inconsolata -INCONSOLATA_LICENSE = OFLv1.0 +INCONSOLATA_LICENSE = OFL-1.0 INCONSOLATA_LICENSE_FILES = OFL.txt define INCONSOLATA_INSTALL_TARGET_CMDS diff --git a/package/inotify-tools/Config.in b/package/inotify-tools/Config.in index df440d5926..1ca01b6e1e 100644 --- a/package/inotify-tools/Config.in +++ b/package/inotify-tools/Config.in @@ -5,7 +5,7 @@ config BR2_PACKAGE_INOTIFY_TOOLS inotify-tools is a C library and a set of command-line programs for Linux providing a simple interface to inotify. These programs can be used to monitor and act upon - filesystem events. Provides the 'inotifywait' and 'inotifywatch' - binaries. + filesystem events. Provides the 'inotifywait' and + 'inotifywatch' binaries. https://github.com/rvoicilas/inotify-tools diff --git a/package/input-tools/0001-rint.patch b/package/input-tools/0001-rint.patch deleted file mode 100644 index b2aa13f760..0000000000 --- a/package/input-tools/0001-rint.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff -urN joystick-20051019.orig/utils/jscal.c joystick-20051019/utils/jscal.c ---- joystick-20051019.orig/utils/jscal.c 2004-10-19 09:51:52.000000000 +0200 -+++ joystick-20051019/utils/jscal.c 2009-01-18 10:48:50.000000000 +0100 -@@ -141,10 +141,10 @@ - c = 32767.0 / (inputs.cmin[1] - inputs.cmax[0]); - d = 32767.0 / (inputs.cmin[2] - inputs.cmax[1]); - -- results[0] = rint(a); -- results[1] = rint(b); -- results[2] = rint(c*16384.0); -- results[3] = rint(d*16384.0); -+ results[0] = (int) (a + 0.5); -+ results[1] = (int) (b + 0.5); -+ results[2] = (int) (c*16384.0 + 0.5); -+ results[3] = (int) (d*16384.0 + 0.5); - - return 1; - } diff --git a/package/input-tools/Config.in b/package/input-tools/Config.in deleted file mode 100644 index 85b4fd006e..0000000000 --- a/package/input-tools/Config.in +++ /dev/null @@ -1,27 +0,0 @@ -config BR2_PACKAGE_INPUT_TOOLS - bool "input-tools" - help - Tools for the Linux kernel input layer. - http://linuxconsole.sourceforge.net/ - -if BR2_PACKAGE_INPUT_TOOLS - -config BR2_PACKAGE_INPUT_TOOLS_INPUTATTACH - bool "inputattach" - default y - help - Inputattach is used for attaching a serial line to the input layer. - -config BR2_PACKAGE_INPUT_TOOLS_JSCAL - bool "jscal" - default y - help - Joystick calibration program. - -config BR2_PACKAGE_INPUT_TOOLS_JSTEST - bool "jstest" - default y - help - Joystick test program. - -endif diff --git a/package/input-tools/input-tools.hash b/package/input-tools/input-tools.hash deleted file mode 100644 index 53b0f92ea2..0000000000 --- a/package/input-tools/input-tools.hash +++ /dev/null @@ -1,4 +0,0 @@ -# From http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/j/joystick/joystick_20051019-12.dsc -sha256 cb60cb62093f1889a91fcef1cc36546aba406f451941e8d057f095639e6afb89 joystick_20051019.orig.tar.gz -# From http://snapshot.debian.org/archive/debian/20090630T220234Z/pool/main/j/joystick/joystick_20051019-5.dsc -sha256 01e9d14a656d594a3e261751233200f740a09c2a538ac71447c104ffe89ec10c joystick_20051019-5.diff.gz diff --git a/package/input-tools/input-tools.mk b/package/input-tools/input-tools.mk deleted file mode 100644 index 81e913d8f2..0000000000 --- a/package/input-tools/input-tools.mk +++ /dev/null @@ -1,44 +0,0 @@ -################################################################################ -# -# input-tools -# -################################################################################ - -INPUT_TOOLS_VERSION = 20051019 -INPUT_TOOLS_SOURCE = joystick_$(INPUT_TOOLS_VERSION).orig.tar.gz -INPUT_TOOLS_PATCH = joystick_$(INPUT_TOOLS_VERSION)-5.diff.gz -INPUT_TOOLS_SITE = http://snapshot.debian.org/archive/debian/20101023T043132Z/pool/main/j/joystick -INPUT_TOOLS_LICENSE = GPLv2+ -INPUT_TOOLS_LICENSE_FILES = utils/Makefile - -INPUT_TOOLS_TARGETS_$(BR2_PACKAGE_INPUT_TOOLS_INPUTATTACH) += inputattach -INPUT_TOOLS_TARGETS_$(BR2_PACKAGE_INPUT_TOOLS_JSCAL) += jscal -INPUT_TOOLS_TARGETS_$(BR2_PACKAGE_INPUT_TOOLS_JSTEST) += jstest - -define INPUT_TOOLS_DEBIAN_PATCHES - if [ -d $(@D)/debian/patches ]; then \ - $(APPLY_PATCHES) $(@D) $(@D)/debian/patches \*.patch; \ - fi -endef - -INPUT_TOOLS_POST_PATCH_HOOKS = INPUT_TOOLS_DEBIAN_PATCHES - -# jscal needs -lm -define INPUT_TOOLS_BUILD_CMDS - for i in $(filter-out jscal,$(INPUT_TOOLS_TARGETS_y)); do \ - $(TARGET_CC) $(TARGET_CFLAGS) -o $(@D)/$$i $(@D)/utils/$$i.c \ - $(TARGET_LDFLAGS); \ - done - for i in $(filter jscal,$(INPUT_TOOLS_TARGETS_y)); do \ - $(TARGET_CC) $(TARGET_CFLAGS) -o $(@D)/$$i $(@D)/utils/$$i.c \ - $(TARGET_LDFLAGS) -lm; \ - done -endef - -define INPUT_TOOLS_INSTALL_TARGET_CMDS - for i in $(INPUT_TOOLS_TARGETS_y); do \ - $(INSTALL) -m 755 -D $(@D)/$$i $(TARGET_DIR)/usr/bin/$$i; \ - done -endef - -$(eval $(generic-package)) diff --git a/package/intel-microcode/intel-microcode.hash b/package/intel-microcode/intel-microcode.hash index 7925209b22..5ccfd51466 100644 --- a/package/intel-microcode/intel-microcode.hash +++ b/package/intel-microcode/intel-microcode.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 096e39489eef67666be652e81fa372a06b74f39ea3d565dc0287242c668717e7 microcode-20151106.tgz +sha256 4fd44769bf52a7ac11e90651a307aa6e56ca6e1a814e50d750ba8207973bee93 microcode-20170707.tgz diff --git a/package/intel-microcode/intel-microcode.mk b/package/intel-microcode/intel-microcode.mk index aefa99a1c9..7ad3bba3d2 100644 --- a/package/intel-microcode/intel-microcode.mk +++ b/package/intel-microcode/intel-microcode.mk @@ -4,9 +4,9 @@ # ################################################################################ -INTEL_MICROCODE_VERSION = 20151106 +INTEL_MICROCODE_VERSION = 20170707 INTEL_MICROCODE_SOURCE = microcode-$(INTEL_MICROCODE_VERSION).tgz -INTEL_MICROCODE_SITE = http://downloadmirror.intel.com/25512/eng +INTEL_MICROCODE_SITE = http://downloadmirror.intel.com/26925/eng INTEL_MICROCODE_STRIP_COMPONENTS = 0 INTEL_MICROCODE_LICENSE = PROPRIETARY INTEL_MICROCODE_LICENSE_FILES = license.txt diff --git a/package/intltool/0001-perl-5.26-compatibility.patch b/package/intltool/0001-perl-5.26-compatibility.patch new file mode 100644 index 0000000000..a2a7aef1d6 --- /dev/null +++ b/package/intltool/0001-perl-5.26-compatibility.patch @@ -0,0 +1,55 @@ +Fix regex errors thrown by Perl 5.26: + +Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/^(.*)\${ <-- HERE ?([A-Z_]+)}?(.*)$/ at $BUILDROOT/host/usr/bin/intltool-update line 1065. + +Fetched from: +https://github.com/Alexpux/MSYS2-packages/blob/master/intltool/perl-5.22-compatibility.patch + +Reported upstream: +https://bugs.launchpad.net/intltool/+bug/1696658 + +Signed-off-by: Jörg Krause + +--- intltool-0.51.0.orig/intltool-update.in 2015-03-09 02:39:54.000000000 +0100 ++++ intltool-0.51.0.orig/intltool-update.in 2015-06-19 01:52:07.171228154 +0200 +@@ -1062,7 +1062,7 @@ + } + } + +- if ($str =~ /^(.*)\${?([A-Z_]+)}?(.*)$/) ++ if ($str =~ /^(.*)\$\{?([A-Z_]+)}?(.*)$/) + { + my $rest = $3; + my $untouched = $1; +@@ -1190,10 +1190,10 @@ + $name =~ s/\(+$//g; + $version =~ s/\(+$//g; + +- $varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\${?AC_PACKAGE_NAME}?/); +- $varhash{"PACKAGE"} = $name if (not $name =~ /\${?PACKAGE}?/); +- $varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\${?AC_PACKAGE_VERSION}?/); +- $varhash{"VERSION"} = $version if (not $name =~ /\${?VERSION}?/); ++ $varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\$\{?AC_PACKAGE_NAME}?/); ++ $varhash{"PACKAGE"} = $name if (not $name =~ /\$\{?PACKAGE}?/); ++ $varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\$\{?AC_PACKAGE_VERSION}?/); ++ $varhash{"VERSION"} = $version if (not $name =~ /\$\{?VERSION}?/); + } + + if ($conf_source =~ /^AC_INIT\(([^,\)]+),([^,\)]+)[,]?([^,\)]+)?/m) +@@ -1219,11 +1219,11 @@ + $version =~ s/\(+$//g; + $bugurl =~ s/\(+$//g if (defined $bugurl); + +- $varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\${?AC_PACKAGE_NAME}?/); +- $varhash{"PACKAGE"} = $name if (not $name =~ /\${?PACKAGE}?/); +- $varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\${?AC_PACKAGE_VERSION}?/); +- $varhash{"VERSION"} = $version if (not $name =~ /\${?VERSION}?/); +- $varhash{"PACKAGE_BUGREPORT"} = $bugurl if (defined $bugurl and not $bugurl =~ /\${?\w+}?/); ++ $varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\$\{?AC_PACKAGE_NAME}?/); ++ $varhash{"PACKAGE"} = $name if (not $name =~ /\$\{?PACKAGE}?/); ++ $varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\$\{?AC_PACKAGE_VERSION}?/); ++ $varhash{"VERSION"} = $version if (not $name =~ /\$\{?VERSION}?/); ++ $varhash{"PACKAGE_BUGREPORT"} = $bugurl if (defined $bugurl and not $bugurl =~ /\$\{?\w+}?/); + } + + # \s makes this not work, why? diff --git a/package/intltool/intltool.mk b/package/intltool/intltool.mk index dbef80f985..8595544460 100644 --- a/package/intltool/intltool.mk +++ b/package/intltool/intltool.mk @@ -6,7 +6,7 @@ INTLTOOL_VERSION = 0.51.0 INTLTOOL_SITE = https://launchpad.net/intltool/trunk/$(INTLTOOL_VERSION)/+download -INTLTOOL_LICENSE = GPLv2+ +INTLTOOL_LICENSE = GPL-2.0+ INTLTOOL_LICENSE_FILES = COPYING HOST_INTLTOOL_DEPENDENCIES = host-gettext host-libxml-parser-perl diff --git a/package/iostat/iostat.mk b/package/iostat/iostat.mk index d591c67dcb..4953c73ec4 100644 --- a/package/iostat/iostat.mk +++ b/package/iostat/iostat.mk @@ -5,7 +5,7 @@ ################################################################################ IOSTAT_VERSION = 2.2 -IOSTAT_SITE = http://www.linuxinsight.com/files +IOSTAT_SITE = http://linuxinsight.com/sites/default/files IOSTAT_LICENSE = GPL IOSTAT_LICENSE_FILES = LICENSE diff --git a/package/iotop/iotop.mk b/package/iotop/iotop.mk index 31787c51a8..8b5564974e 100644 --- a/package/iotop/iotop.mk +++ b/package/iotop/iotop.mk @@ -6,7 +6,7 @@ IOTOP_VERSION = 0.6 IOTOP_SITE = http://guichaz.free.fr/iotop/files -IOTOP_LICENSE = GPLv2+ +IOTOP_LICENSE = GPL-2.0+ IOTOP_LICENSE_FILES = COPYING IOTOP_SETUP_TYPE = distutils diff --git a/package/iozone/Config.in b/package/iozone/Config.in index 33c938ee7f..c66def2647 100644 --- a/package/iozone/Config.in +++ b/package/iozone/Config.in @@ -4,7 +4,8 @@ config BR2_PACKAGE_IOZONE depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL help IOzone is a filesystem benchmark tool. - The benchmark generates and measures a variety of file operations + The benchmark generates and measures a variety of file + operations http://www.iozone.org/ diff --git a/package/iperf/iperf.hash b/package/iperf/iperf.hash index 3dd491a2c0..0752bfc356 100644 --- a/package/iperf/iperf.hash +++ b/package/iperf/iperf.hash @@ -1,4 +1,5 @@ # From https://sourceforge.net/projects/iperf2/files/ -sha1 9e215f6af8edd97f947f2b0207ff5487845d83d4 iperf-2.0.9.tar.gz +sha1 8b44a23385044bb454e7891966c37339d3bb3711 iperf-2.0.10.tar.gz # Locally computed: -sha256 a5350777b191e910334d3a107b5e5219b72ffa393da4186da1e0a4552aeeded6 iperf-2.0.9.tar.gz +sha256 7fe4348dcca313b74e0aa9c34a8ccd713b84a5615b8578f4aa94cedce9891ef2 iperf-2.0.10.tar.gz +sha256 5f9f5c4feca3347c3b3c0ada8b16b4e6b698aac4e6f016a24adf61a5915336d1 COPYING diff --git a/package/iperf/iperf.mk b/package/iperf/iperf.mk index d2071bd274..644980754f 100644 --- a/package/iperf/iperf.mk +++ b/package/iperf/iperf.mk @@ -4,16 +4,13 @@ # ################################################################################ -IPERF_VERSION = 2.0.9 +IPERF_VERSION = 2.0.10 IPERF_SITE = http://downloads.sourceforge.net/project/iperf2 IPERF_LICENSE = MIT-like IPERF_LICENSE_FILES = COPYING # patching configure.ac IPERF_AUTORECONF = YES -IPERF_CONF_ENV = \ - ac_cv_func_malloc_0_nonnull=yes - IPERF_CONF_OPTS = \ --disable-web100 diff --git a/package/iperf3/Config.in b/package/iperf3/Config.in index 074c1d36c0..5b2204c5e0 100644 --- a/package/iperf3/Config.in +++ b/package/iperf3/Config.in @@ -5,10 +5,10 @@ config BR2_PACKAGE_IPERF3 iperf is a tool for active measurements of the maximum achievable bandwidth on IP networks. It supports tuning of various parameters related to timing, - protocols, and buffers. For each test it reports the bandwidth, - loss, and other parameters. - It's a redesign of the NLANR/DAST iperf(2) and is not - backward compatible. + protocols, and buffers. For each test it reports the + bandwidth, loss, and other parameters. + It's a redesign of the NLANR/DAST iperf(2) and is not backward + compatible. http://software.es.net/iperf/index.html diff --git a/package/iperf3/iperf3.hash b/package/iperf3/iperf3.hash index e43210b71a..3e34f98eb6 100644 --- a/package/iperf3/iperf3.hash +++ b/package/iperf3/iperf3.hash @@ -1,2 +1,2 @@ # From http://software.es.net/iperf/news.html -sha256 6e1a6200cd38baeab58ef0d7b8769e7aa6410c3a3168e65ea8277a4de79e5500 iperf-3.1.5.tar.gz +sha256 a4ef73406fe92250602b8da2ae89ec53211f805df97a1d1d629db5a14043734f iperf-3.1.7.tar.gz diff --git a/package/iperf3/iperf3.mk b/package/iperf3/iperf3.mk index 909c104d19..cc4e72427b 100644 --- a/package/iperf3/iperf3.mk +++ b/package/iperf3/iperf3.mk @@ -4,10 +4,10 @@ # ################################################################################ -IPERF3_VERSION = 3.1.5 +IPERF3_VERSION = 3.1.7 IPERF3_SITE = http://downloads.es.net/pub/iperf IPERF3_SOURCE = iperf-$(IPERF3_VERSION).tar.gz -IPERF3_LICENSE = BSD-3c, BSD-2c, MIT +IPERF3_LICENSE = BSD-3-Clause, BSD-2-Clause, MIT IPERF3_LICENSE_FILES = LICENSE IPERF3_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE" diff --git a/package/ipmitool/Config.in b/package/ipmitool/Config.in index 1da0ace16f..826bc094be 100644 --- a/package/ipmitool/Config.in +++ b/package/ipmitool/Config.in @@ -2,7 +2,8 @@ config BR2_PACKAGE_IPMITOOL bool "ipmitool" depends on BR2_USE_MMU # fork() help - IPMItool provides a simple command-line interface to IPMI-enabled devices. + IPMItool provides a simple command-line interface to + IPMI-enabled devices. http://sourceforge.net/projects/ipmitool/ @@ -12,11 +13,17 @@ config BR2_PACKAGE_IPMITOOL_LANPLUS bool "enable lanplus interface" select BR2_PACKAGE_OPENSSL help - Enables the IPMI v2.0 RMCP+ LAN interface typically used to send IPMI - commands to the BMC of a remote server. - Not needed if you only want to communicate with the local BMC of your - device using the OpenIPMI ipmi_si kernel module, or if using the - legacy IPMI v1.5 RMCP LAN interface. + Enables the IPMI v2.0 RMCP+ LAN interface typically used to + send IPMI commands to the BMC of a remote server. + Not needed if you only want to communicate with the local BMC + of your device using the OpenIPMI ipmi_si kernel module, or if + using the legacy IPMI v1.5 RMCP LAN interface. + +config BR2_PACKAGE_IPMITOOL_USB + bool "enable usb interface" + help + Enables the IPMI USB interface typically used to send inband + IPMI commands to the BMC of a server. config BR2_PACKAGE_IPMITOOL_IPMIEVD bool "ipmievd" diff --git a/package/ipmitool/ipmitool.mk b/package/ipmitool/ipmitool.mk index f4dca736cb..5254668877 100644 --- a/package/ipmitool/ipmitool.mk +++ b/package/ipmitool/ipmitool.mk @@ -7,7 +7,7 @@ IPMITOOL_VERSION = 1.8.18 IPMITOOL_SOURCE = ipmitool-$(IPMITOOL_VERSION).tar.bz2 IPMITOOL_SITE = http://downloads.sourceforge.net/project/ipmitool/ipmitool/$(IPMITOOL_VERSION) -IPMITOOL_LICENSE = BSD-3c +IPMITOOL_LICENSE = BSD-3-Clause IPMITOOL_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_IPMITOOL_LANPLUS),y) @@ -17,6 +17,12 @@ else IPMITOOL_CONF_OPTS += --disable-intf-lanplus endif +ifeq ($(BR2_PACKAGE_IPMITOOL_USB),y) +IPMITOOL_CONF_OPTS += --enable-intf-usb +else +IPMITOOL_CONF_OPTS += --disable-intf-usb +endif + ifeq ($(BR2_PACKAGE_IPMITOOL_IPMISHELL),y) IPMITOOL_DEPENDENCIES += ncurses readline IPMITOOL_CONF_OPTS += --enable-ipmishell diff --git a/package/ipmiutil/ipmiutil.mk b/package/ipmiutil/ipmiutil.mk index 392856cc9c..a5a6b49314 100644 --- a/package/ipmiutil/ipmiutil.mk +++ b/package/ipmiutil/ipmiutil.mk @@ -6,7 +6,7 @@ IPMIUTIL_VERSION = 2.9.9 IPMIUTIL_SITE = http://sourceforge.net/projects/ipmiutil/files -IPMIUTIL_LICENSE = BSD-3c +IPMIUTIL_LICENSE = BSD-3-Clause IPMIUTIL_LICENSE_FILES = COPYING # We're patching configure.ac IPMIUTIL_AUTORECONF = YES diff --git a/package/iproute2/0002-Add-missing-sys-types.h-include.patch b/package/iproute2/0002-Add-missing-sys-types.h-include.patch deleted file mode 100644 index ef918140da..0000000000 --- a/package/iproute2/0002-Add-missing-sys-types.h-include.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 560dee4b4be54699c0c9679771c9e0d61e4db80a Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Thu, 19 Nov 2015 17:48:55 +0100 -Subject: [PATCH] Add missing include -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The u_intXX_t types are defined in , so it should be -included before using those types. Otherwise, with certain C -libraries, the build fails with: - -In file included from ../include/iptables.h:4:0, - from m_ipt.c:18: -../include/iptables_common.h:47:16: error: unknown type name ‘u_int32_t’ - #define __le32 u_int32_t - -Signed-off-by: Thomas Petazzoni ---- - include/iptables_common.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/include/iptables_common.h b/include/iptables_common.h -index 9099667..2c27a4b 100644 ---- a/include/iptables_common.h -+++ b/include/iptables_common.h -@@ -43,6 +43,8 @@ extern char *lib_dir; - extern void init_extensions(void); - #endif - -+#include -+ - #define __be32 u_int32_t - #define __le32 u_int32_t - #define __be16 u_int16_t --- -2.6.3 - diff --git a/package/iproute2/0002-Fix-build-with-uClibc-ng.patch b/package/iproute2/0002-Fix-build-with-uClibc-ng.patch new file mode 100644 index 0000000000..48cae70143 --- /dev/null +++ b/package/iproute2/0002-Fix-build-with-uClibc-ng.patch @@ -0,0 +1,38 @@ +From 2ac2f416072d9968a9ea2dd9f48168223a1147b0 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 18 Jul 2017 14:09:06 +0300 +Subject: [PATCH] Fix build with uClibc-ng + +Add a local definition for IPPROTO_MH to fix build with uClibc-ng. As of +version 1.0.25, the uClibc-ng netinet/in.h header does not provide this +definition. The kernel provided definition is masked by libc-compat.h. Add +this local fix until uClibc-ng syncs netinet/in.h with glibc. + +This partially reverts upstream commit a9ae195a2169 (xfrm: get #define's from +linux includes) + +Signed-off-by: Baruch Siach +--- +Upstream status: non upstreamable; local uClibc-ng compatibility fix +--- + ip/xfrm.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/ip/xfrm.h b/ip/xfrm.h +index 54d80ce5e949..50b85550fb45 100644 +--- a/ip/xfrm.h ++++ b/ip/xfrm.h +@@ -30,6 +30,10 @@ + #include + #include + ++#ifndef IPPROTO_MH ++# define IPPROTO_MH 135 ++#endif ++ + #define XFRMS_RTA(x) ((struct rtattr*)(((char*)(x)) + NLMSG_ALIGN(sizeof(struct xfrm_usersa_info)))) + #define XFRMS_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct xfrm_usersa_info)) + +-- +2.13.2 + diff --git a/package/iproute2/0003-lib-fix-multiple-strlcpy-definition.patch b/package/iproute2/0003-lib-fix-multiple-strlcpy-definition.patch new file mode 100644 index 0000000000..05e9c38084 --- /dev/null +++ b/package/iproute2/0003-lib-fix-multiple-strlcpy-definition.patch @@ -0,0 +1,103 @@ +From 5b55bbe48a29cf6a72cef9f424835f6244e66351 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 26 Sep 2017 13:45:21 +0300 +Subject: [PATCH] lib: fix multiple strlcpy definition + +Some C libraries, like uClibc and musl, provide BSD compatible +strlcpy(). Add check_strlcpy() to configure, and avoid defining strlcpy +and strlcat when the C library provides them. + +This fixes the following static link error: + +.../sysroot/usr/lib/libc.a(strlcpy.os): In function `strlcpy': +strlcpy.c:(.text+0x0): multiple definition of `strlcpy' +../lib/libutil.a(utils.o):utils.c:(.text+0x1ddc): first defined here +collect2: error: ld returned 1 exit status + +[baruch: backported from upstream submission to 4.13] +Signed-off-by: Baruch Siach +--- +Upstream status: https://patchwork.ozlabs.org/patch/819705/ +--- + configure | 24 ++++++++++++++++++++++++ + lib/Makefile | 4 ++++ + lib/utils.c | 2 ++ + 3 files changed, 30 insertions(+) + +diff --git a/configure b/configure +index 88cbdb825689..4964b998059e 100755 +--- a/configure ++++ b/configure +@@ -325,6 +325,27 @@ EOF + rm -f $TMPDIR/dbtest.c $TMPDIR/dbtest + } + ++check_strlcpy() ++{ ++ cat >$TMPDIR/strtest.c < ++int main(int argc, char **argv) { ++ char dst[10]; ++ strlcpy(dst, "test", sizeof(dst)); ++ return 0; ++} ++EOF ++ $CC -I$INCLUDE -o $TMPDIR/strtest $TMPDIR/strtest.c >/dev/null 2>&1 ++ if [ $? -eq 0 ] ++ then ++ echo "no" ++ else ++ echo "NEED_STRLCPY:=y" >>Config ++ echo "yes" ++ fi ++ rm -f $TMPDIR/strtest.c $TMPDIR/strtest ++} ++ + quiet_config() + { + cat < -Date: Thu, 22 Dec 2016 20:45:11 +0200 -Subject: [PATCH] tc: add missing limits.h header - -This fixes under musl build issues like: - -f_matchall.c: In function ‘matchall_parse_opt’: -f_matchall.c:48:12: error: ‘LONG_MIN’ undeclared (first use in this function) - if (h == LONG_MIN || h == LONG_MAX) { - ^ -f_matchall.c:48:12: note: each undeclared identifier is reported only once for each function it appears in -f_matchall.c:48:29: error: ‘LONG_MAX’ undeclared (first use in this function) - if (h == LONG_MIN || h == LONG_MAX) { - ^ - -Signed-off-by: Baruch Siach ---- -Upstream status: posted http://marc.info/?l=linux-netdev&m=148243283002957&w=2 ---- - tc/tc_util.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/tc/tc_util.h b/tc/tc_util.h -index f198a4ad5554..4db26c6d5e25 100644 ---- a/tc/tc_util.h -+++ b/tc/tc_util.h -@@ -2,6 +2,7 @@ - #define _TC_UTIL_H_ 1 - - #define MAX_MSG 16384 -+#include - #include - #include - #include --- -2.11.0 - diff --git a/package/iproute2/Config.in b/package/iproute2/Config.in index fd373a8123..ab9e515eca 100644 --- a/package/iproute2/Config.in +++ b/package/iproute2/Config.in @@ -1,13 +1,13 @@ config BR2_PACKAGE_IPROUTE2 bool "iproute2" depends on BR2_USE_MMU # fork() - depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # bpf, namespaces + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 # __kernel_{u,}long_t help Kernel routing and traffic control utilities. Provides things like ip and tc. http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2 -comment "iproute2 needs a toolchain w/ headers >= 3.0" +comment "iproute2 needs a toolchain w/ headers >= 3.4" depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 diff --git a/package/iproute2/iproute2.hash b/package/iproute2/iproute2.hash index 5cacc7f99c..7954039916 100644 --- a/package/iproute2/iproute2.hash +++ b/package/iproute2/iproute2.hash @@ -1,2 +1,3 @@ # From https://kernel.org/pub/linux/utils/net/iproute2/sha256sums.asc -sha256 c0f30f043f7767cc1b2cd2197b08d4e9b2392c95823fabe30bbce308c30116c4 iproute2-4.9.0.tar.xz +sha256 9cfb81edf8c8509e03daa77cf62aead01c4a827132f6c506578f94cc19415c50 iproute2-4.13.0.tar.xz +sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 COPYING diff --git a/package/iproute2/iproute2.mk b/package/iproute2/iproute2.mk index 5ea5299bd3..d002d4df7a 100644 --- a/package/iproute2/iproute2.mk +++ b/package/iproute2/iproute2.mk @@ -4,12 +4,12 @@ # ################################################################################ -IPROUTE2_VERSION = 4.9.0 +IPROUTE2_VERSION = 4.13.0 IPROUTE2_SOURCE = iproute2-$(IPROUTE2_VERSION).tar.xz IPROUTE2_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/net/iproute2 IPROUTE2_DEPENDENCIES = host-bison host-flex host-pkgconf \ $(if $(BR2_PACKAGE_LIBMNL),libmnl) -IPROUTE2_LICENSE = GPLv2 +IPROUTE2_LICENSE = GPL-2.0+ IPROUTE2_LICENSE_FILES = COPYING # If both iproute2 and busybox are selected, make certain we win diff --git a/package/iprutils/0001-iprutils-Don-t-use-gettext.patch b/package/iprutils/0001-iprutils-Don-t-use-gettext.patch deleted file mode 100644 index 680bb07f5d..0000000000 --- a/package/iprutils/0001-iprutils-Don-t-use-gettext.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 4ce3545b704588c5889b8dd7b100fcdb88ae2e1a Mon Sep 17 00:00:00 2001 -From: Vicente Olivert Riera -Date: Wed, 17 Sep 2014 17:48:54 +0100 -Subject: [PATCH] iprutils: Don't use gettext - -... since we don't have any translation. - -Based on the former patch by Jeremy Kerr. - -Signed-off-by: Vicente Olivert Riera -[Thomas: adapt to the new autotools build system.] -Signed-off-by: Thomas Petazzoni ---- - configure.ac | 2 +- - iprconfig.h | 4 +--- - 2 files changed, 2 insertions(+), 4 deletions(-) - -diff --git a/configure.ac b/configure.ac -index ee69bee..c1a4f70 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -137,7 +137,7 @@ AC_SUBST([IPRCONFIG_LIBS]) - LIBS="$save_LIBS" - - # Checks for header files. --AC_CHECK_HEADERS([fcntl.h libintl.h locale.h netinet/in.h nl_types.h \ -+AC_CHECK_HEADERS([fcntl.h locale.h netinet/in.h nl_types.h \ - paths.h stddef.h stdint.h stdlib.h string.h sys/file.h \ - sys/ioctl.h sys/mount.h sys/socket.h syslog.h \ - unistd.h ncurses.h form.h menu.h], [], -diff --git a/iprconfig.h b/iprconfig.h -index 9bce950..751a737 100644 ---- a/iprconfig.h -+++ b/iprconfig.h -@@ -11,9 +11,7 @@ - * - **/ - --#include -- --#define _(string) gettext(string) -+#define _(string) (string) - #define __(string) (string) - #define EXIT_FLAG 0x8000 /* stops at given screen on exit call */ - #define CANCEL_FLAG 0x4000 /* stops at given screen on quit call */ --- -2.6.4 - diff --git a/package/iprutils/0002-configure.ac-use-pow-instead-of-matherr-for-libm-che.patch b/package/iprutils/0002-configure.ac-use-pow-instead-of-matherr-for-libm-che.patch deleted file mode 100644 index ea7a683570..0000000000 --- a/package/iprutils/0002-configure.ac-use-pow-instead-of-matherr-for-libm-che.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 62a41abffa028a3a4c4ae0803d48c559a14e97f1 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Sun, 7 Feb 2016 13:54:10 +0100 -Subject: [PATCH] configure.ac: use pow() instead of matherr() for libm check - -In certain configurations of uClibc, the matherr() function may not be -provided by the C library, which makes the current configure.ac check -for libm fail. However, iprutils does not use matherr(), so using this -function for the test makes little sense. - -This patch adjusts configure.ac to test for pow() instead, which is -actually used by iprutils, and more commonly available, including in -uClibc. - -Signed-off-by: Bernd Kuhls -Signed-off-by: Thomas Petazzoni ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index c1a4f70..e430554 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -129,7 +129,7 @@ save_LIBS="$LIBS" - AC_CHECK_LIB([ncurses], [curses_version], [], - [AC_ERROR("libncurses not found.")]) - AC_CHECK_LIB([form], [free_form], [], [AC_ERROR("libform not found.")]) --AC_CHECK_LIB([m], [matherr], [], [AC_ERROR("libm not found.")]) -+AC_CHECK_LIB([m], [pow], [], [AC_ERROR("libm not found.")]) - AC_CHECK_LIB([menu], [new_menu], [], [AC_ERROR("libmenu not found.")]) - AC_CHECK_LIB([panel], [show_panel], [], [AC_ERROR("libpanel not found.")]) - IPRCONFIG_LIBS="$LIBS" --- -2.6.4 - diff --git a/package/iprutils/0003-iprlib-fixes-for-compatibility-with-musl.patch b/package/iprutils/0003-iprlib-fixes-for-compatibility-with-musl.patch deleted file mode 100644 index 0fe882fb8e..0000000000 --- a/package/iprutils/0003-iprlib-fixes-for-compatibility-with-musl.patch +++ /dev/null @@ -1,34 +0,0 @@ -From df3b2b74ed7b49d74f5a5ec5687bcc3188d3b319 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sun, 7 Feb 2016 14:10:44 +0100 -Subject: [PATCH] iprlib: fixes for compatibility with musl - - is an internal C library header, which is not -guaranteed to be available in all C libraries, so it shouldn't be -included, otherwise iprutils cannot be built with musl. - - is needed to get the definition of PATH_MAX. - -Signed-off-by: Thomas Petazzoni ---- - iprlib.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/iprlib.h b/iprlib.h -index 16fe1e1..73aa1ce 100644 ---- a/iprlib.h -+++ b/iprlib.h -@@ -46,9 +46,9 @@ - #include - #include - #include --#include - #include - #include -+#include - - typedef uint8_t u8; - typedef uint16_t u16; --- -2.6.4 - diff --git a/package/iprutils/Config.in b/package/iprutils/Config.in index b429e71c8b..0143b53ae6 100644 --- a/package/iprutils/Config.in +++ b/package/iprutils/Config.in @@ -1,10 +1,11 @@ config BR2_PACKAGE_IPRUTILS bool "iprutils" + depends on BR2_USE_MMU # fork() + depends on !BR2_bfin # pciutils select BR2_PACKAGE_NCURSES select BR2_PACKAGE_LIBSYSFS select BR2_PACKAGE_PCIUTILS - depends on BR2_USE_MMU # fork() - depends on !BR2_bfin # pciutils + select BR2_PACKAGE_ZLIB help System utilities for IBM Power RAID devices diff --git a/package/iprutils/iprutils.hash b/package/iprutils/iprutils.hash index 4b43a6177e..e5c1754696 100644 --- a/package/iprutils/iprutils.hash +++ b/package/iprutils/iprutils.hash @@ -1,2 +1,5 @@ +# From https://sourceforge.net/projects/iprdd/files/iprutils%20for%202.6%20kernels/2.4.15/ +md5 e4011051bba7470df3936cbba7dced98 iprutils-2.4.15.1.tar.gz +sha1 ed6c362ee3c6bd9023ee60d0d1a1ce5543c27c41 iprutils-2.4.15.1.tar.gz # Locally computed: -sha256 99f28418fec505c4dfd532270569d4902a3792dcb2f08710b896f4e7bc0211e0 iprutils-2.4.10.1.tar.gz +sha256 a733e65f8fb19565f2ef5191eaa2a14d816fabed0fc254ab4bbf1a4c7800ebe5 iprutils-2.4.15.1.tar.gz diff --git a/package/iprutils/iprutils.mk b/package/iprutils/iprutils.mk index 2d3d62ed6a..1165b3db0f 100644 --- a/package/iprutils/iprutils.mk +++ b/package/iprutils/iprutils.mk @@ -4,13 +4,11 @@ # ################################################################################ -IPRUTILS_VERSION_MAJOR = 2.4.10 +IPRUTILS_VERSION_MAJOR = 2.4.15 IPRUTILS_VERSION = $(IPRUTILS_VERSION_MAJOR).1 -IPRUTILS_SITE = http://downloads.sourceforge.net/project/iprdd/iprutils%20for%202.6%20kernels/$(IPRUTILS_VERSION_MAJOR) -IPRUTILS_DEPENDENCIES = ncurses libsysfs pciutils +IPRUTILS_SITE = https://downloads.sourceforge.net/project/iprdd/iprutils%20for%202.6%20kernels/$(IPRUTILS_VERSION_MAJOR) +IPRUTILS_DEPENDENCIES = ncurses libsysfs pciutils zlib IPRUTILS_LICENSE = Common Public License Version 1.0 IPRUTILS_LICENSE_FILES = LICENSE -# Patches touching configure.ac -IPRUTILS_AUTORECONF = YES $(eval $(autotools-package)) diff --git a/package/ipsec-tools/0002-configure-automake.patch b/package/ipsec-tools/0002-configure-automake.patch new file mode 100644 index 0000000000..a006516f20 --- /dev/null +++ b/package/ipsec-tools/0002-configure-automake.patch @@ -0,0 +1,21 @@ +Needed to fix broken autoreconf + +Downloaded from +https://sources.debian.net/src/ipsec-tools/1:0.8.2%2B20140711-8/debian/patches/automake-options/ + +Signed-off-by: Bernd Kuhls + +Index: pkg-ipsec-tools/configure.ac +=================================================================== +--- pkg-ipsec-tools.orig/configure.ac 2014-06-28 17:25:22.000000000 +0200 ++++ pkg-ipsec-tools/configure.ac 2014-06-28 17:28:13.818373322 +0200 +@@ -6,7 +6,8 @@ AC_INIT(ipsec-tools, 0.8.2) + AC_CONFIG_SRCDIR([configure.ac]) + AC_CONFIG_HEADERS(config.h) + +-AM_INIT_AUTOMAKE(dist-bzip2) ++AC_CONFIG_MACRO_DIR([.]) ++AM_INIT_AUTOMAKE([dist-bzip2 foreign serial-tests]) + + AC_ENABLE_SHARED(no) + diff --git a/package/ipsec-tools/0003-Don-t-link-against-libfl.patch b/package/ipsec-tools/0003-Don-t-link-against-libfl.patch new file mode 100644 index 0000000000..4fa0a02d52 --- /dev/null +++ b/package/ipsec-tools/0003-Don-t-link-against-libfl.patch @@ -0,0 +1,92 @@ +From e48b9097dce7bc2bfbb9e9c542124d3b5cebab39 Mon Sep 17 00:00:00 2001 +From: Paul Barker +Date: Wed, 5 Mar 2014 13:39:14 +0000 +Subject: [PATCH] Don't link against libfl + +We can remove all references to yywrap by adding "%option noyywrap" statements +to each flex source file that doesn't override yywrap. After this, we no longer +need to link against libfl and so no longer get errors about undefined +references to yylex. + +Signed-off-by: Paul Barker +Upstream-status: Submitted 2014-03-11 + see http://sourceforge.net/p/ipsec-tools/mailman/ipsec-tools-devel/thread/CANyK_8ewmxGA3vBVJW6s1APXPmxPR%2BDFWZ61EL8pCt288aKQ6w%40mail.gmail.com/#msg32088797 + +Downloaded from +http://cgit.openembedded.org/meta-openembedded/tree/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0002-Don-t-link-against-libfl.patch + +Signed-off-by: Bernd Kuhls +--- + src/libipsec/Makefile.am | 1 - + src/racoon/Makefile.am | 2 +- + src/racoon/cftoken.l | 2 ++ + src/setkey/Makefile.am | 1 - + src/setkey/token.l | 2 ++ + 5 files changed, 5 insertions(+), 3 deletions(-) + +diff --git a/src/libipsec/Makefile.am b/src/libipsec/Makefile.am +index 6a4e3b3..df1e106 100644 +--- a/src/libipsec/Makefile.am ++++ b/src/libipsec/Makefile.am +@@ -26,7 +26,6 @@ libipsec_la_SOURCES = \ + # version is current:revision:age. + # See: http://www.gnu.org/manual/libtool-1.4.2/html_chapter/libtool_6.html#SEC32 + libipsec_la_LDFLAGS = -version-info 0:1:0 +-libipsec_la_LIBADD = $(LEXLIB) + + noinst_HEADERS = ipsec_strerror.h + +diff --git a/src/racoon/Makefile.am b/src/racoon/Makefile.am +index dbaded9..0662957 100644 +--- a/src/racoon/Makefile.am ++++ b/src/racoon/Makefile.am +@@ -38,7 +38,7 @@ racoon_SOURCES = \ + cftoken.l cfparse.y prsa_tok.l prsa_par.y + EXTRA_racoon_SOURCES = isakmp_xauth.c isakmp_cfg.c isakmp_unity.c throttle.c \ + isakmp_frag.c nattraversal.c security.c $(MISSING_ALGOS) +-racoon_LDADD = $(CRYPTOBJS) $(HYBRID_OBJS) $(NATT_OBJS) $(FRAG_OBJS) $(LEXLIB) \ ++racoon_LDADD = $(CRYPTOBJS) $(HYBRID_OBJS) $(NATT_OBJS) $(FRAG_OBJS) \ + $(SECCTX_OBJS) vmbuf.o sockmisc.o misc.o ../libipsec/libipsec.la + racoon_DEPENDENCIES = \ + $(CRYPTOBJS) $(HYBRID_OBJS) $(NATT_OBJS) $(FRAG_OBJS) $(SECCTX_OBJS) \ +diff --git a/src/racoon/cftoken.l b/src/racoon/cftoken.l +index 490242c..1701922 100644 +--- a/src/racoon/cftoken.l ++++ b/src/racoon/cftoken.l +@@ -106,6 +106,8 @@ static int incstackp = 0; + static int yy_first_time = 1; + %} + ++%option noyywrap ++ + /* common seciton */ + nl \n + ws [ \t]+ +diff --git a/src/setkey/Makefile.am b/src/setkey/Makefile.am +index 746c1f1..389e6cf 100644 +--- a/src/setkey/Makefile.am ++++ b/src/setkey/Makefile.am +@@ -13,7 +13,6 @@ setkey_SOURCES = \ + + setkey_LDFLAGS = ../libipsec/libipsec.la + setkey_DEPENDENCIES = ../libipsec/libipsec.la +-setkey_LDADD = $(LEXLIB) + + noinst_HEADERS = vchar.h extern.h + man8_MANS = setkey.8 +diff --git a/src/setkey/token.l b/src/setkey/token.l +index ad3d843..eb23b76 100644 +--- a/src/setkey/token.l ++++ b/src/setkey/token.l +@@ -88,6 +88,8 @@ + #endif + %} + ++%option noyywrap ++ + /* common section */ + nl \n + ws [ \t]+ +-- +1.9.0 + diff --git a/package/ipsec-tools/0004-CVE-2015-4047.patch b/package/ipsec-tools/0004-CVE-2015-4047.patch new file mode 100644 index 0000000000..f53fe5cc11 --- /dev/null +++ b/package/ipsec-tools/0004-CVE-2015-4047.patch @@ -0,0 +1,26 @@ +ipsec-tools: CVE-2015-4047: null pointer dereference crash in racoon + +See: https://bugs.gentoo.org/show_bug.cgi?id=550118 + +Downloaded from +https://gitweb.gentoo.org/repo/gentoo.git/tree/net-vpn/ipsec-tools/files/ipsec-tools-CVE-2015-4047.patch + +See also +https://sources.debian.net/src/ipsec-tools/1:0.8.2%2B20140711-8/debian/patches/bug785778-null-pointer-deref.patch/ + +Signed-off-by: Bernd Kuhls + +--- ./src/racoon/gssapi.c 9 Sep 2006 16:22:09 -0000 1.4 ++++ ./src/racoon/gssapi.c 19 May 2015 15:16:00 -0000 1.6 +@@ -192,6 +192,11 @@ + gss_name_t princ, canon_princ; + OM_uint32 maj_stat, min_stat; + ++ if (iph1->rmconf == NULL) { ++ plog(LLV_ERROR, LOCATION, NULL, "no remote config\n"); ++ return -1; ++ } ++ + gps = racoon_calloc(1, sizeof (struct gssapi_ph1_state)); + if (gps == NULL) { + plog(LLV_ERROR, LOCATION, NULL, "racoon_calloc failed\n"); diff --git a/package/ipsec-tools/Config.in b/package/ipsec-tools/Config.in index 36c5a65a9f..1635675a36 100644 --- a/package/ipsec-tools/Config.in +++ b/package/ipsec-tools/Config.in @@ -12,8 +12,8 @@ config BR2_PACKAGE_IPSEC_TOOLS if BR2_PACKAGE_IPSEC_TOOLS config BR2_PACKAGE_IPSEC_TOOLS_ADMINPORT - default y bool "Enable racoonctl(8)" + default y help Lets racoon to listen to racoon admin port, which is to be contacted by racoonctl(8). @@ -42,12 +42,12 @@ config BR2_PACKAGE_IPSEC_TOOLS_DPD Enable dead peer detection support config BR2_PACKAGE_IPSEC_TOOLS_STATS - default y bool "Enable statistics logging function" + default y config BR2_PACKAGE_IPSEC_TOOLS_READLINE - select BR2_PACKAGE_READLINE bool "Enable readline input support" + select BR2_PACKAGE_READLINE config BR2_PACKAGE_IPSEC_TOOLS_HYBRID bool "Enable hybrid, both mode-cfg and xauth support" diff --git a/package/ipsec-tools/ipsec-tools.mk b/package/ipsec-tools/ipsec-tools.mk index eb910bc498..c0b180de55 100644 --- a/package/ipsec-tools/ipsec-tools.mk +++ b/package/ipsec-tools/ipsec-tools.mk @@ -10,6 +10,8 @@ IPSEC_TOOLS_SITE = http://sourceforge.net/projects/ipsec-tools/files/ipsec-tools IPSEC_TOOLS_INSTALL_STAGING = YES IPSEC_TOOLS_MAKE = $(MAKE1) IPSEC_TOOLS_DEPENDENCIES = openssl flex host-flex +# we patch configure.ac +IPSEC_TOOLS_AUTORECONF = YES # configure hardcodes -Werror, so override CFLAGS on make invocation IPSEC_TOOLS_MAKE_OPTS = CFLAGS='$(TARGET_CFLAGS)' diff --git a/package/ipset/0001-Do-not-pass-Werror-when-enable-debug-is-used.patch b/package/ipset/0001-Do-not-pass-Werror-when-enable-debug-is-used.patch deleted file mode 100644 index c115f6337d..0000000000 --- a/package/ipset/0001-Do-not-pass-Werror-when-enable-debug-is-used.patch +++ /dev/null @@ -1,39 +0,0 @@ -From f31bb2561776ad2ce4b77339da6fbfc9e3b2ffbb Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sun, 26 Oct 2014 14:18:29 +0100 -Subject: [PATCH] Do not pass -Werror when --enable-debug is used - -Signed-off-by: Thomas Petazzoni ---- - Make_global.am | 2 +- - configure.ac | 1 - - 2 files changed, 1 insertion(+), 2 deletions(-) - -diff --git a/Make_global.am b/Make_global.am -index 7953451..25c4d64 100644 ---- a/Make_global.am -+++ b/Make_global.am -@@ -77,7 +77,7 @@ AM_CPPFLAGS = $(kinclude_CFLAGS) $(all_includes) -I$(top_srcdir)/include \ - AM_CFLAGS = -std=gnu99 - - if ENABLE_DEBUG --AM_CFLAGS += -g -g3 -ggdb -gdwarf-2 -DIPSET_DEBUG -Wall -Werror -+AM_CFLAGS += -g -g3 -ggdb -gdwarf-2 -DIPSET_DEBUG -Wall - else - AM_CFLAGS += -O2 -DNDEBUG - endif -diff --git a/configure.ac b/configure.ac -index 8fdac15..ee3b147 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -345,7 +345,6 @@ AX_CFLAGS_GCC_OPTION(-Waggregate-return) - AX_CFLAGS_GCC_OPTION(-Wbad-function-cast) - AX_CFLAGS_GCC_OPTION(-Wcast-align) - AX_CFLAGS_GCC_OPTION(-Wcast-qual) --AX_CFLAGS_GCC_OPTION(-Werror) - AX_CFLAGS_GCC_OPTION(-Wextra) - AX_CFLAGS_GCC_OPTION(-Wfloat-equal) - AX_CFLAGS_GCC_OPTION(-Wformat=2) --- -2.0.0 - diff --git a/package/ipset/0001-Replace-the-last-reference-to-u_int8_t-with-uint8_t.patch b/package/ipset/0001-Replace-the-last-reference-to-u_int8_t-with-uint8_t.patch new file mode 100644 index 0000000000..84863e6e13 --- /dev/null +++ b/package/ipset/0001-Replace-the-last-reference-to-u_int8_t-with-uint8_t.patch @@ -0,0 +1,28 @@ +From a4212bf911026740afc7fce98d9100e2ef5dcea0 Mon Sep 17 00:00:00 2001 +From: Jozsef Kadlecsik +Date: Tue, 26 Sep 2017 07:00:13 +0200 +Subject: [PATCH] Replace the last reference to u_int8_t with uint8_t. + +Signed-off-by: Baruch Siach +--- +Upstream status: commit a4212bf911026740 + + src/ipset.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/ipset.c b/src/ipset.c +index 79f56b869ea7..df0778a92d8b 100644 +--- a/src/ipset.c ++++ b/src/ipset.c +@@ -282,7 +282,7 @@ call_parser(int *argc, char *argv[], const struct ipset_type *type, + const struct ipset_arg *arg; + const char *optstr; + const struct ipset_type *t = type; +- u_int8_t revision = type->revision; ++ uint8_t revision = type->revision; + int ret = 0, i = 1; + + /* Currently CREATE and ADT may have got additional arguments */ +-- +2.14.2 + diff --git a/package/ipset/ipset.hash b/package/ipset/ipset.hash index da860e8d05..dcd709e8c1 100644 --- a/package/ipset/ipset.hash +++ b/package/ipset/ipset.hash @@ -1,4 +1,6 @@ -# From ftp://ftp.netfilter.org/pub/ipset/ipset-6.30.tar.bz2.md5sum.txt -md5 41c32e3b884ec714f0aac95e7675f9d1 ipset-6.30.tar.bz2 +# From http://ftp.netfilter.org/pub/ipset/ipset-6.34.tar.bz2.md5sum.txt +md5 51bd03f976a1501fd45e1d71a1e2e6bf ipset-6.34.tar.bz2 # Calculated based on the hash above -sha256 65bfa43fec3d51a6b4012f3d7e4b93a748df9b71b6cd6c53adbec8083e804a31 ipset-6.30.tar.bz2 +sha256 d70e831b670b7aa25dde81fd994d3a7ce0c0e801559a557105576df66cd8d680 ipset-6.34.tar.bz2 +# Locally calculated +sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING diff --git a/package/ipset/ipset.mk b/package/ipset/ipset.mk index db4952b1d5..d7299568e5 100644 --- a/package/ipset/ipset.mk +++ b/package/ipset/ipset.mk @@ -4,14 +4,13 @@ # ################################################################################ -IPSET_VERSION = 6.30 +IPSET_VERSION = 6.34 IPSET_SOURCE = ipset-$(IPSET_VERSION).tar.bz2 IPSET_SITE = http://ipset.netfilter.org IPSET_DEPENDENCIES = libmnl host-pkgconf IPSET_CONF_OPTS = --with-kmod=no -# For 0001-Do-not-pass-Werror-when-enable-debug-is-used.patch -IPSET_AUTORECONF = YES -IPSET_LICENSE = GPLv2 +IPSET_LICENSE = GPL-2.0 IPSET_LICENSE_FILES = COPYING +IPSET_INSTALL_STAGING = YES $(eval $(autotools-package)) diff --git a/package/iptables/0001-utils-nfsynproxy-fix-build-with-musl-libc.patch b/package/iptables/0001-utils-nfsynproxy-fix-build-with-musl-libc.patch new file mode 100644 index 0000000000..1f86ad1354 --- /dev/null +++ b/package/iptables/0001-utils-nfsynproxy-fix-build-with-musl-libc.patch @@ -0,0 +1,44 @@ +From 06e0312d0bfd1f0b9e7c23ab654f18524d49e86b Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Thu, 2 Mar 2017 09:20:48 +0200 +Subject: [PATCH] utils: nfsynproxy: fix build with musl libc + +The musl libc exposes some struct tcphdr field only when _GNU_SOURCE is +defined. Fix the following build failure: + +nfsynproxy.c: In function ‘parse_packet’: +nfsynproxy.c:34:9: error: ‘const struct tcphdr’ has no member named ‘syn’ + if (!th->syn || !th->ack) + ^ +nfsynproxy.c:34:21: error: ‘const struct tcphdr’ has no member named ‘ack’ + if (!th->syn || !th->ack) + ^ +nfsynproxy.c:42:8: error: ‘const struct tcphdr’ has no member named ‘res2’ + if (th->res2 == 0x1) + ^ +nfsynproxy.c:45:13: error: ‘const struct tcphdr’ has no member named ‘doff’ + length = th->doff * 4 - sizeof(*th); + ^ + +Signed-off-by: Baruch Siach +--- +Upstream status: pending (http://patchwork.ozlabs.org/patch/734503/) + + utils/nfsynproxy.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/utils/nfsynproxy.c b/utils/nfsynproxy.c +index baedc92c5d9f..bf5c416340f1 100644 +--- a/utils/nfsynproxy.c ++++ b/utils/nfsynproxy.c +@@ -6,6 +6,7 @@ + * published by the Free Software Foundation. + */ + ++#define _GNU_SOURCE + #include + #include + #include +-- +2.11.0 + diff --git a/package/iptables/Config.in b/package/iptables/Config.in index cdcd1c2893..e6b12603e0 100644 --- a/package/iptables/Config.in +++ b/package/iptables/Config.in @@ -9,10 +9,6 @@ if BR2_PACKAGE_IPTABLES config BR2_PACKAGE_IPTABLES_BPF_NFSYNPROXY bool "bpfc and nfsynproxy" - # this dependency can be removed when using a musl version - # containing this commit: - # http://git.musl-libc.org/cgit/musl/commit/?id=53f41fb568ae43034c9876cc9bd3961fd6d13671 - depends on !BR2_TOOLCHAIN_USES_MUSL select BR2_PACKAGE_LIBPCAP help Build bpf compiler and nfsynproxy configuration tool. diff --git a/package/iptables/iptables.mk b/package/iptables/iptables.mk index 90fab345be..44cfde2b9a 100644 --- a/package/iptables/iptables.mk +++ b/package/iptables/iptables.mk @@ -10,7 +10,7 @@ IPTABLES_SITE = http://ftp.netfilter.org/pub/iptables IPTABLES_INSTALL_STAGING = YES IPTABLES_DEPENDENCIES = host-pkgconf \ $(if $(BR2_PACKAGE_LIBNETFILTER_CONNTRACK),libnetfilter_conntrack) -IPTABLES_LICENSE = GPLv2 +IPTABLES_LICENSE = GPL-2.0 IPTABLES_LICENSE_FILES = COPYING # Building static causes ugly warnings on some plugins IPTABLES_CONF_OPTS = --libexecdir=/usr/lib --with-kernel=$(STAGING_DIR)/usr \ diff --git a/package/iptraf-ng/Config.in b/package/iptraf-ng/Config.in index 5afb81dacf..5c3b4848b9 100644 --- a/package/iptraf-ng/Config.in +++ b/package/iptraf-ng/Config.in @@ -3,10 +3,11 @@ config BR2_PACKAGE_IPTRAF_NG depends on BR2_USE_MMU # fork() select BR2_PACKAGE_NCURSES help - IPTraf-ng is a ncurses-based network monitoring utility. It gathers - data like TCP connection packet and byte counts, interface statistics - and activity indicators. + IPTraf-ng is a ncurses-based network monitoring utility. It + gathers data like TCP connection packet and byte counts, + interface statistics and activity indicators. https://fedorahosted.org/iptraf-ng/ - IPTraf-ng is a fork of original IPTraf v3.0.0 (http://iptraf.seul.org). + IPTraf-ng is a fork of original IPTraf v3.0.0 + (http://iptraf.seul.org). diff --git a/package/iptraf-ng/iptraf-ng.mk b/package/iptraf-ng/iptraf-ng.mk index a36c7089fb..ac572b9eef 100644 --- a/package/iptraf-ng/iptraf-ng.mk +++ b/package/iptraf-ng/iptraf-ng.mk @@ -6,7 +6,7 @@ IPTRAF_NG_VERSION = 1.1.4 IPTRAF_NG_SITE = https://fedorahosted.org/releases/i/p/iptraf-ng -IPTRAF_NG_LICENSE = GPLv2+ +IPTRAF_NG_LICENSE = GPL-2.0+ IPTRAF_NG_LICENSE_FILES = LICENSE IPTRAF_NG_DEPENDENCIES = ncurses diff --git a/package/iputils/Config.in b/package/iputils/Config.in index c83e414cce..b5d9141a7d 100644 --- a/package/iputils/Config.in +++ b/package/iputils/Config.in @@ -2,7 +2,8 @@ config BR2_PACKAGE_IPUTILS bool "iputils" depends on BR2_USE_MMU # fork() help - This package is set of small useful utilities for Linux networking. - It includes complete versions of ping, traceroute, etc. + This package is set of small useful utilities for Linux + networking. It includes complete versions of ping, traceroute, + etc. https://github.com/iputils/iputils diff --git a/package/iputils/iputils.hash b/package/iputils/iputils.hash index d7d3f5cbd1..a19348aa1f 100644 --- a/package/iputils/iputils.hash +++ b/package/iputils/iputils.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 79e22e940b6f52c37810657c8f12e7ba85692b517d6cd6e90cbceac2d94fc5e8 iputils-55828d1fef3fed7f07abcbf7be9282a9662e78c7.tar.gz +sha256 f813092f03d17294fd23544b129b95cdb87fe19f7970a51908a6b88509acad8a iputils-s20161105.tar.gz diff --git a/package/iputils/iputils.mk b/package/iputils/iputils.mk index 21f5dcbe06..b20cd12b7a 100644 --- a/package/iputils/iputils.mk +++ b/package/iputils/iputils.mk @@ -7,13 +7,13 @@ # The original upstream was forked to the github repository in 2014 to # pull fixes from other distribution and centralize the changes after # the upstream seemed to have gone dormant. The fork contains the -# latest changes including msul support, removing a libsysfs dependency +# latest changes including musl support, removing a libsysfs dependency # and IPv6 updates. # http://www.spinics.net/lists/netdev/msg279881.html -IPUTILS_VERSION = 55828d1fef3fed7f07abcbf7be9282a9662e78c7 +IPUTILS_VERSION = s20161105 IPUTILS_SITE = $(call github,iputils,iputils,$(IPUTILS_VERSION)) -IPUTILS_LICENSE = GPLv2+, BSD-3c, BSD-4c +IPUTILS_LICENSE = GPL-2.0+, BSD-3-Clause, BSD-4-Clause # Only includes a license file for BSD IPUTILS_LICENSE_FILES = ninfod/COPYING @@ -36,13 +36,6 @@ endif ifeq ($(BR2_PACKAGE_LIBGCRYPT),y) IPUTILS_MAKE_OPTS += USE_GCRYPT=yes IPUTILS_DEPENDENCIES += libgcrypt -# When gettext is enabled (BR2_PACKAGE_GETTEXT=y), and provides libintl -# (BR2_NEEDS_GETTEXT=y), libgpg-error will link with libintl, and libgpg-error -# is pulled in by libgcrypt. Since iputils doesn't use libtool, we have to link -# with libintl explicitly for static linking. -ifeq ($(BR2_STATIC_LIBS)$(BR2_NEEDS_GETTEXT)$(BR2_PACKAGE_GETTEXT),yyy) -IPUTILS_MAKE_OPTS += ADDLIB='-lintl' -endif else IPUTILS_MAKE_OPTS += USE_GCRYPT=no endif diff --git a/package/iqvlinux/iqvlinux.mk b/package/iqvlinux/iqvlinux.mk index b3981fa770..165c7c4687 100644 --- a/package/iqvlinux/iqvlinux.mk +++ b/package/iqvlinux/iqvlinux.mk @@ -8,7 +8,7 @@ IQVLINUX_VERSION = 1.1.5.3 IQVLINUX_SITE = http://sourceforge.net/projects/e1000/files/iqvlinux/$(IQVLINUX_VERSION) IQVLINUX_SOURCE = iqvlinux.tar.gz -IQVLINUX_LICENSE = GPLv2, BSD-3c +IQVLINUX_LICENSE = GPL-2.0, BSD-3-Clause IQVLINUX_LICENSE_FILES = \ COPYING src/linux/driver/files.txt \ inc/linux/files.txt inc/files.txt diff --git a/package/irda-utils/irda-utils.mk b/package/irda-utils/irda-utils.mk index 4b1700798f..18a3e58604 100644 --- a/package/irda-utils/irda-utils.mk +++ b/package/irda-utils/irda-utils.mk @@ -6,7 +6,7 @@ IRDA_UTILS_VERSION = 0.9.18 IRDA_UTILS_SITE = http://downloads.sourceforge.net/project/irda/irda-utils/$(IRDA_UTILS_VERSION) -IRDA_UTILS_LICENSE = GPLv2+ +IRDA_UTILS_LICENSE = GPL-2.0+ IRDA_UTILS_LICENSE_FILES = man/COPYING IRDA_UTILS_CFLAGS = $(TARGET_CFLAGS) -I. diff --git a/package/irqbalance/irqbalance.mk b/package/irqbalance/irqbalance.mk index 1872c889c8..e4e6078bf3 100644 --- a/package/irqbalance/irqbalance.mk +++ b/package/irqbalance/irqbalance.mk @@ -6,7 +6,7 @@ IRQBALANCE_VERSION = v1.0.9 IRQBALANCE_SITE = $(call github,irqbalance,irqbalance,$(IRQBALANCE_VERSION)) -IRQBALANCE_LICENSE = GPLv2 +IRQBALANCE_LICENSE = GPL-2.0 IRQBALANCE_LICENSE_FILES = COPYING IRQBALANCE_DEPENDENCIES = host-pkgconf # Autoreconf needed because package is distributed without a configure script diff --git a/package/irrlicht/0001-override-CPPFLAGS-CXXFLAGS-and-CFLAGS-in-Makefile.patch b/package/irrlicht/0001-override-CPPFLAGS-CXXFLAGS-and-CFLAGS-in-Makefile.patch new file mode 100644 index 0000000000..d6e4b63fd7 --- /dev/null +++ b/package/irrlicht/0001-override-CPPFLAGS-CXXFLAGS-and-CFLAGS-in-Makefile.patch @@ -0,0 +1,44 @@ +From 5c5e6d0f469c8b4384bbe5d6c8f78069c182daf0 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Sun, 9 Apr 2017 19:56:55 +0200 +Subject: [PATCH] override CPPFLAGS, CXXFLAGS and CFLAGS in Makefile + +When CPPFLAGS is passed on the command line, include paths for the +bundled libraries are lost. Since the hand written Makefile want +to use them unconditionally, we need to use the key word "override" +before CPPFLAGS. + +Do the same for CXXFLAGS and CFLAGS otherwise -fPIC is lost. + +Signed-off-by: Romain Naour +--- + source/Irrlicht/Makefile | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/source/Irrlicht/Makefile b/source/Irrlicht/Makefile +index 0712b07..b334e9c 100644 +--- a/source/Irrlicht/Makefile ++++ b/source/Irrlicht/Makefile +@@ -62,7 +62,7 @@ LINKOBJ = $(IRRMESHOBJ) $(IRROBJ) $(IRRPARTICLEOBJ) $(IRRANIMOBJ) \ + ############### + #Compiler flags + CXXINCS = -I../../include -Izlib -Ijpeglib -Ilibpng +-CPPFLAGS += $(CXXINCS) -DIRRLICHT_EXPORTS=1 ++override CPPFLAGS += $(CXXINCS) -DIRRLICHT_EXPORTS=1 + CXXFLAGS += -Wall -pipe -fno-exceptions -fno-rtti -fstrict-aliasing + ifndef NDEBUG + CXXFLAGS += -g -D_DEBUG +@@ -74,8 +74,8 @@ CXXFLAGS += -pg + endif + CFLAGS := -O3 -fexpensive-optimizations -DPNG_THREAD_UNSAFE_OK -DPNG_NO_MMX_CODE -DPNG_NO_MNG_FEATURES + +-sharedlib sharedlib_osx: CXXFLAGS += -fPIC +-sharedlib sharedlib_osx: CFLAGS += -fPIC ++sharedlib sharedlib_osx: override CXXFLAGS += -fPIC ++sharedlib sharedlib_osx: override CFLAGS += -fPIC + + #multilib handling + ifeq ($(HOSTTYPE), x86_64) +-- +2.9.3 + diff --git a/package/irrlicht/0002-remove-sys-sysctl.h.patch b/package/irrlicht/0002-remove-sys-sysctl.h.patch new file mode 100644 index 0000000000..d9142a9a22 --- /dev/null +++ b/package/irrlicht/0002-remove-sys-sysctl.h.patch @@ -0,0 +1,38 @@ +From 5382142d37730f6758753b758c91e257ffd5892c Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Sun, 9 Apr 2017 22:20:19 +0200 +Subject: [PATCH] remove sys/sysctl.h + +With musl irrlicht doesn't build due to missing sys/sysctl.h + +fatal error: sys/sysctl.h: No such file or directory + +From [1] +"sysctl does not work, and NEVER worked. using it is bogus. +it was a bogus experimental syscall that was deprecated before +it was ever used (basically, a broken binary version of +/proc/sys, without any stability between kernel versions for +what the binary constants meant)." + +[1] https://devsonacid.wordpress.com/tag/musl/ + +Signed-off-by: Romain Naour +--- + source/Irrlicht/COSOperator.cpp | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/source/Irrlicht/COSOperator.cpp b/source/Irrlicht/COSOperator.cpp +index 0899d1d..ccf5ef5 100644 +--- a/source/Irrlicht/COSOperator.cpp ++++ b/source/Irrlicht/COSOperator.cpp +@@ -13,7 +13,6 @@ + #include + #ifndef _IRR_SOLARIS_PLATFORM_ + #include +-#include + #endif + #endif + +-- +2.9.3 + diff --git a/package/irrlicht/Config.in b/package/irrlicht/Config.in new file mode 100644 index 0000000000..edd182bec2 --- /dev/null +++ b/package/irrlicht/Config.in @@ -0,0 +1,17 @@ +config BR2_PACKAGE_IRRLICHT + bool "irrlicht" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_PACKAGE_XORG7 + depends on BR2_PACKAGE_HAS_LIBGL # use GLX + select BR2_PACKAGE_XLIB_LIBXXF86VM # libXxf86vm + help + An open source high performance realtime 3D graphics engine. + + http://irrlicht.sourceforge.net/ + +comment "irrlicht needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP + +comment "irrlicht needs X11 and an OpenGL provider" + depends on !BR2_PACKAGE_HAS_LIBGL || !BR2_PACKAGE_XORG7 + depends on BR2_INSTALL_LIBSTDCPP diff --git a/package/irrlicht/irrlicht.hash b/package/irrlicht/irrlicht.hash new file mode 100644 index 0000000000..489790e29b --- /dev/null +++ b/package/irrlicht/irrlicht.hash @@ -0,0 +1,5 @@ +# From https://sourceforge.net/projects/irrlicht/files/Irrlicht%20SDK/1.8/1.8.4 +md5 9401cfff801395010b0912211f3cbb4f irrlicht-1.8.4.zip +sha1 38bf0223fe868d243d6a39d0dc191c8df6e03b3b irrlicht-1.8.4.zip +# locally calculated +sha256 f42b280bc608e545b820206fe2a999c55f290de5c7509a02bdbeeccc1bf9e433 irrlicht-1.8.4.zip diff --git a/package/irrlicht/irrlicht.mk b/package/irrlicht/irrlicht.mk new file mode 100644 index 0000000000..ccd1045ca0 --- /dev/null +++ b/package/irrlicht/irrlicht.mk @@ -0,0 +1,58 @@ +################################################################################ +# +# irrlicht +# +################################################################################ + +IRRLICHT_VERSION_MAJOR = 1.8 +IRRLICHT_VERSION = $(IRRLICHT_VERSION_MAJOR).4 +IRRLICHT_SOURCE = irrlicht-$(IRRLICHT_VERSION).zip +IRRLICHT_SITE = https://downloads.sourceforge.net/project/irrlicht/Irrlicht%20SDK/$(IRRLICHT_VERSION_MAJOR)/$(IRRLICHT_VERSION) +IRRLICHT_INSTALL_STAGING = YES + +# Bundled libraries: bzip2, libaesGladman, libpng, lzma, zlib, +# The handcrafted Makefile can only use bundled libraries. +IRRLICHT_LICENSE = Zlib (irrlicht), BSD-3-Clause (libaesGladman), bzip2-1.0.5 (bzip2), IJG (libjpeg), Libpng (libpng) +IRRLICHT_LICENSE_FILES = \ + doc/aesGladman.txt \ + doc/bzip2-license.txt \ + doc/irrlicht-license.txt \ + doc/jpglib-license.txt \ + doc/libpng-license.txt + +IRRLICHT_SUBDIR = source/Irrlicht + +IRRLICHT_DEPENDENCIES = libgl xlib_libXxf86vm + +define IRRLICHT_EXTRACT_CMDS + $(UNZIP) -d $(@D) $(DL_DIR)/$(IRRLICHT_SOURCE) + mv $(@D)/irrlicht-$(IRRLICHT_VERSION)/* $(@D) + $(RM) -r $(@D)/irrlicht-$(IRRLICHT_VERSION) +endef + +IRRLICHT_CONF_OPTS = $(TARGET_CONFIGURE_OPTS) + +# Build a static library OR a shared library, otherwise we need to compile with -fPIC +# "relocation R_X86_64_32S can not be used when making a shared object; recompile with -fPIC" +ifeq ($(BR2_STATIC_LIBS),) +IRRLICHT_CONF_OPTS += sharedlib +endif + +define IRRLICHT_BUILD_CMDS + $(TARGET_MAKE_ENV) + $(MAKE) -C $(@D)/$(IRRLICHT_SUBDIR) $(IRRLICHT_CONF_OPTS) +endef + +define IRRLICHT_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(MAKE) \ + INSTALL_DIR=$(STAGING_DIR)/usr/lib \ + -C $(@D)/$(IRRLICHT_SUBDIR) install +endef + +define IRRLICHT_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) \ + INSTALL_DIR=$(TARGET_DIR)/usr/lib \ + -C $(@D)/$(IRRLICHT_SUBDIR) install +endef + +$(eval $(generic-package)) diff --git a/package/irssi/Config.in b/package/irssi/Config.in index 7d29201789..6361cff31c 100644 --- a/package/irssi/Config.in +++ b/package/irssi/Config.in @@ -1,10 +1,11 @@ config BR2_PACKAGE_IRSSI bool "irssi" - select BR2_PACKAGE_LIBGLIB2 - select BR2_PACKAGE_NCURSES depends on BR2_USE_WCHAR # libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_NCURSES + select BR2_PACKAGE_OPENSSL help Irssi is a terminal based IRC client for UNIX systems. diff --git a/package/irssi/irssi.hash b/package/irssi/irssi.hash index b1048bf8f5..0a6c3f614a 100644 --- a/package/irssi/irssi.hash +++ b/package/irssi/irssi.hash @@ -1,2 +1,4 @@ # Locally calculated after checking pgp signature -sha256 e433063b8714dcf17438126902c9a9d5c97944b3185ecd0fc5ae25c4959bf35a irssi-0.8.21.tar.xz +sha256 c2556427e12eb06cabfed40839ac6f57eb8b1aa6365fab6dfcd331b7a04bb914 irssi-1.0.5.tar.xz +# Locally calculated +sha256 a1a27cb2ecee8d5378fbb3562f577104a445d6d66fee89286e16758305e63e2b COPYING diff --git a/package/irssi/irssi.mk b/package/irssi/irssi.mk index e467f89890..f9450783bc 100644 --- a/package/irssi/irssi.mk +++ b/package/irssi/irssi.mk @@ -4,27 +4,19 @@ # ################################################################################ -IRSSI_VERSION = 0.8.21 +IRSSI_VERSION = 1.0.5 IRSSI_SOURCE = irssi-$(IRSSI_VERSION).tar.xz # Do not use the github helper here. The generated tarball is *NOT* the # same as the one uploaded by upstream for the release. IRSSI_SITE = https://github.com/irssi/irssi/releases/download/$(IRSSI_VERSION) -IRSSI_LICENSE = GPLv2+ +IRSSI_LICENSE = GPL-2.0+ IRSSI_LICENSE_FILES = COPYING -IRSSI_DEPENDENCIES = host-pkgconf libglib2 ncurses +IRSSI_DEPENDENCIES = host-pkgconf libglib2 ncurses openssl IRSSI_CONF_OPTS = \ --disable-glibtest \ - --with-ncurses=$(STAGING_DIR)/usr \ --without-perl -ifeq ($(BR2_PACKAGE_OPENSSL),y) -IRSSI_CONF_OPTS += --enable-ssl -IRSSI_DEPENDENCIES += openssl -else -IRSSI_CONF_OPTS += --disable-ssl -endif - ifeq ($(BR2_PACKAGE_IRSSI_PROXY),y) IRSSI_CONF_OPTS += --with-proxy # If shared libs are disabled, 'proxy' has to go in the list of built-in diff --git a/package/isl/isl.hash b/package/isl/isl.hash index e2c14ad149..43e5a463af 100644 --- a/package/isl/isl.hash +++ b/package/isl/isl.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 8882c9e36549fc757efa267706a9af733bb8d7fe3905cbfde43e17a89eea4675 isl-0.14.1.tar.xz +sha256 0f35051cc030b87c673ac1f187de40e386a1482a0cfdf2c552dd6031b307ddc4 isl-0.18.tar.xz diff --git a/package/isl/isl.mk b/package/isl/isl.mk index 74de125b60..b5f01c4c8d 100644 --- a/package/isl/isl.mk +++ b/package/isl/isl.mk @@ -4,18 +4,11 @@ # ################################################################################ -# The latest 0.15 version is not yet compatible with cloog 0.18.3, so -# bumping isl is not possible until a new version of cloog is -# published. -ISL_VERSION = 0.14.1 +ISL_VERSION = 0.18 ISL_SOURCE = isl-$(ISL_VERSION).tar.xz ISL_SITE = http://isl.gforge.inria.fr ISL_LICENSE = MIT ISL_LICENSE_FILES = LICENSE HOST_ISL_DEPENDENCIES = host-gmp -# Our libtool patch doesn't apply, and since this package is only -# built for the host, we don't really care about it. -ISL_LIBTOOL_PATCH = NO - $(eval $(host-autotools-package)) diff --git a/package/iucode-tool/iucode-tool.hash b/package/iucode-tool/iucode-tool.hash index c1f3bef045..1dab8de978 100644 --- a/package/iucode-tool/iucode-tool.hash +++ b/package/iucode-tool/iucode-tool.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 33271652032f20f866a212bc98ea01a8db65c4ac839fa820aa23da974fd6ff62 iucode-tool_1.5.tar.xz +sha256 9810daf925b8a9ca244adc4e1916bcab65601c9ebe87e91c2281f78055982971 iucode-tool_2.2.tar.xz +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/iucode-tool/iucode-tool.mk b/package/iucode-tool/iucode-tool.mk index cee0572649..fb746c3cb8 100644 --- a/package/iucode-tool/iucode-tool.mk +++ b/package/iucode-tool/iucode-tool.mk @@ -4,14 +4,13 @@ # ################################################################################ -IUCODE_TOOL_VERSION = 1.5 +IUCODE_TOOL_VERSION = 2.2 IUCODE_TOOL_SOURCE = iucode-tool_$(IUCODE_TOOL_VERSION).tar.xz -IUCODE_TOOL_SITE = https://gitlab.com/iucode-tool/releases/raw/latest +IUCODE_TOOL_SITE = https://gitlab.com/iucode-tool/releases/raw/master ifeq ($(BR2_PACKAGE_ARGP_STANDALONE),y) -IUCODE_TOOL_CONF_ENV = LIBS="-largp" IUCODE_TOOL_DEPENDENCIES = argp-standalone endif -IUCODE_TOOL_LICENSE = GPLv2+ +IUCODE_TOOL_LICENSE = GPL-2.0+ IUCODE_TOOL_LICENSE_FILES = COPYING define IUCODE_TOOL_INSTALL_INIT_SYSV diff --git a/package/iw/iw.mk b/package/iw/iw.mk index faff5fc717..aa85cbb5b9 100644 --- a/package/iw/iw.mk +++ b/package/iw/iw.mk @@ -13,7 +13,7 @@ IW_DEPENDENCIES = host-pkgconf libnl IW_MAKE_OPTS = CC="$(TARGET_CC)" LD="$(TARGET_LD)" LDFLAGS="$(TARGET_LDFLAGS)" IW_MAKE_ENV = \ $(TARGET_MAKE_ENV) \ - PKG_CONFIG="$(HOST_DIR)/usr/bin/pkg-config" \ + PKG_CONFIG="$(HOST_DIR)/bin/pkg-config" \ GIT_DIR=$(IW_DIR) define IW_BUILD_CMDS diff --git a/package/jack2/0001-Fix-initialization-in-test-iodelay.patch b/package/jack2/0001-Fix-initialization-in-test-iodelay.patch new file mode 100644 index 0000000000..ee2493886b --- /dev/null +++ b/package/jack2/0001-Fix-initialization-in-test-iodelay.patch @@ -0,0 +1,65 @@ +From ff1ed2c4524095055140370c1008a2d9cccc5645 Mon Sep 17 00:00:00 2001 +From: Adrian Knoth +Date: Sat, 11 Jun 2016 05:35:07 +0200 +Subject: [PATCH] Fix initialization in test/iodelay.cpp + +jack_latency_range_t is + +struct _jack_latency_range { + jack_nframes_t min; + jack_nframes_t max; +}; + +and jack_nframes_t is + +typedef uint32_t jack_nframes_t; + +so it's unsigned. Initialising it with -1 is invalid (at least in C++14). We cannot use {0, 0}, because latency_cb has + + jack_latency_range_t range; + range.min = range.max = 0; + if ((range.min != capture_latency.min) || (range.max != + capture_latency.max)) { + capture_latency = range; + } + +so we must not have {0, 0}, otherwise the condition would never be true. + +Using UINT32_MAX should be equivalent to the previous -1. + +[Upstream commit https://github.com/jackaudio/jack2/commit/ff1ed2c4524095055140370c1008a2d9cccc5645] +Signed-off-by: Thomas Petazzoni +--- + tests/iodelay.cpp | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/tests/iodelay.cpp b/tests/iodelay.cpp +index e1ba63fa..1ef470fd 100644 +--- a/tests/iodelay.cpp ++++ b/tests/iodelay.cpp +@@ -20,6 +20,7 @@ + + #include + #include ++#include + #include + #include + #include +@@ -167,8 +168,8 @@ static jack_client_t *jack_handle; + static jack_port_t *jack_capt; + static jack_port_t *jack_play; + +-jack_latency_range_t capture_latency = {-1, -1}; +-jack_latency_range_t playback_latency = {-1, -1}; ++jack_latency_range_t capture_latency = {UINT32_MAX, UINT32_MAX}; ++jack_latency_range_t playback_latency = {UINT32_MAX, UINT32_MAX}; + + void + latency_cb (jack_latency_callback_mode_t mode, void *arg) +@@ -266,4 +267,4 @@ int main (int ac, char *av []) + return 0; + } + +-// -------------------------------------------------------------------------------- +\ No newline at end of file ++// -------------------------------------------------------------------------------- diff --git a/package/jack2/0001-Improve-check-for-ucontext.patch b/package/jack2/0002-Improve-check-for-ucontext.patch similarity index 100% rename from package/jack2/0001-Improve-check-for-ucontext.patch rename to package/jack2/0002-Improve-check-for-ucontext.patch diff --git a/package/jack2/0002-Make-backtrace-support-depends-on-execinfo.h-existen.patch b/package/jack2/0003-Make-backtrace-support-depends-on-execinfo.h-existen.patch similarity index 100% rename from package/jack2/0002-Make-backtrace-support-depends-on-execinfo.h-existen.patch rename to package/jack2/0003-Make-backtrace-support-depends-on-execinfo.h-existen.patch diff --git a/package/jack2/0003-tests-define-__STDC_LIMIT_MACROS.patch b/package/jack2/0004-tests-define-__STDC_LIMIT_MACROS.patch similarity index 100% rename from package/jack2/0003-tests-define-__STDC_LIMIT_MACROS.patch rename to package/jack2/0004-tests-define-__STDC_LIMIT_MACROS.patch diff --git a/package/jack2/0005-gcc7.patch b/package/jack2/0005-gcc7.patch new file mode 100644 index 0000000000..dadaf44ed9 --- /dev/null +++ b/package/jack2/0005-gcc7.patch @@ -0,0 +1,31 @@ +From f7bccdca651592cc4082b28fd4a01ed6ef8ab655 Mon Sep 17 00:00:00 2001 +From: Kjetil Matheussen +Date: Sat, 15 Jul 2017 13:21:59 +0200 +Subject: [PATCH] Tests: Fix compilation with gcc7 + +Fixes +../tests/test.cpp: In function ‘int process4(jack_nframes_t, void*)’: +../tests/test.cpp:483:73: error: call of overloaded ‘abs(jack_nframes_t)’ is ambiguous + if (delta_time > 0 && (jack_nframes_t)abs(delta_time - cur_buffer_size) > tolerance) { + +Downloaded from upstream commit +https://github.com/jackaudio/jack2/commit/f7bccdca651592cc4082b28fd4a01ed6ef8ab655 + +Signed-off-by: Bernd Kuhls +--- + tests/test.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/test.cpp b/tests/test.cpp +index 8a8a8117..d2ef9a05 100644 +--- a/tests/test.cpp ++++ b/tests/test.cpp +@@ -479,7 +479,7 @@ int process4(jack_nframes_t nframes, void *arg) + jack_nframes_t delta_time = cur_time - last_time; + + Log("calling process4 callback : jack_frame_time = %ld delta_time = %ld\n", cur_time, delta_time); +- if (delta_time > 0 && (jack_nframes_t)abs(delta_time - cur_buffer_size) > tolerance) { ++ if (delta_time > 0 && abs((int64_t)delta_time - (int64_t)cur_buffer_size) > (int64_t)tolerance) { + printf("!!! ERROR !!! jack_frame_time seems to return incorrect values cur_buffer_size = %d, delta_time = %d tolerance %d\n", cur_buffer_size, delta_time, tolerance); + } + diff --git a/package/jack2/0006-fix-ftbfs-with-clang.patch b/package/jack2/0006-fix-ftbfs-with-clang.patch new file mode 100644 index 0000000000..a73fe69e15 --- /dev/null +++ b/package/jack2/0006-fix-ftbfs-with-clang.patch @@ -0,0 +1,28 @@ +From d3c8e2d8d78899fba40a3e677ed4dbe388d82269 Mon Sep 17 00:00:00 2001 +From: Adrian Knoth +Date: Thu, 18 Sep 2014 18:29:23 +0200 +Subject: [PATCH] Fix FTBFS with clang++ + +Forwarded from http://bugs.debian.org/757820 + +Downloaded from upstream commit +https://github.com/jackaudio/jack2/commit/d3c8e2d8d78899fba40a3e677ed4dbe388d82269 + +Signed-off-by: Bernd Kuhls +--- + common/memops.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/common/memops.c b/common/memops.c +index 27f6194a..2d416b64 100644 +--- a/common/memops.c ++++ b/common/memops.c +@@ -198,7 +198,7 @@ static inline __m128i float_24_sse(__m128 s) + */ + static unsigned int seed = 22222; + +-inline unsigned int fast_rand() { ++static inline unsigned int fast_rand() { + seed = (seed * 96314165) + 907633515; + return seed; + } diff --git a/package/jack2/jack2.hash b/package/jack2/jack2.hash index 1b981a4b83..ab031b9d94 100644 --- a/package/jack2/jack2.hash +++ b/package/jack2/jack2.hash @@ -1,3 +1,2 @@ # Locally calculated sha256 88f1b6601b7c8950e6a2d5940b423a33ee628ae5583da40bdce3d9317d8c600d jack2-v1.9.10.tar.gz -sha256 f372c4300e3fb2c1ce053e47829df44f3f8b933feb820759392187723ae8e640 ff1ed2c4524095055140370c1008a2d9cccc5645.patch diff --git a/package/jack2/jack2.mk b/package/jack2/jack2.mk index 23c9723421..b61c5d75f7 100644 --- a/package/jack2/jack2.mk +++ b/package/jack2/jack2.mk @@ -6,10 +6,9 @@ JACK2_VERSION = v1.9.10 JACK2_SITE = $(call github,jackaudio,jack2,$(JACK2_VERSION)) -JACK2_LICENSE = GPLv2+ (jack server), LGPLv2.1+ (jack library) +JACK2_LICENSE = GPL-2.0+ (jack server), LGPL-2.1+ (jack library) JACK2_DEPENDENCIES = libsamplerate libsndfile alsa-lib host-python JACK2_INSTALL_STAGING = YES -JACK2_PATCH = https://github.com/jackaudio/jack2/commit/ff1ed2c4524095055140370c1008a2d9cccc5645.patch JACK2_CONF_OPTS = --alsa diff --git a/package/jamvm/jamvm.mk b/package/jamvm/jamvm.mk index ee80c80b2f..3fcf460bcd 100644 --- a/package/jamvm/jamvm.mk +++ b/package/jamvm/jamvm.mk @@ -6,7 +6,7 @@ JAMVM_VERSION = 2.0.0 JAMVM_SITE = http://downloads.sourceforge.net/project/jamvm/jamvm/JamVM%20$(JAMVM_VERSION) -JAMVM_LICENSE = GPLv2+ +JAMVM_LICENSE = GPL-2.0+ JAMVM_LICENSE_FILES = COPYING JAMVM_DEPENDENCIES = zlib classpath # For 0001-Use-fenv.h-when-available-instead-of-fpu_control.h.patch diff --git a/package/jansson/Config.in b/package/jansson/Config.in index 960a7c4c38..18c8ce5df2 100644 --- a/package/jansson/Config.in +++ b/package/jansson/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_JANSSON bool "jansson" help - Jansson is a C library for encoding, decoding and manipulating JSON - data. + Jansson is a C library for encoding, decoding and manipulating + JSON data. http://www.digip.org/jansson/ diff --git a/package/jansson/jansson.hash b/package/jansson/jansson.hash index adb345d2f0..7a04586c70 100644 --- a/package/jansson/jansson.hash +++ b/package/jansson/jansson.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 0ad0d074ca049a36637e7abef755d40849ad73e926b93914ce294927b97bd2a5 jansson-2.9.tar.gz +sha256 78215ad1e277b42681404c1d66870097a50eb084be9d771b1d15576575cf6447 jansson-2.10.tar.gz diff --git a/package/jansson/jansson.mk b/package/jansson/jansson.mk index 5e131188fa..9771434c89 100644 --- a/package/jansson/jansson.mk +++ b/package/jansson/jansson.mk @@ -4,7 +4,7 @@ # ################################################################################ -JANSSON_VERSION = 2.9 +JANSSON_VERSION = 2.10 JANSSON_SITE = http://www.digip.org/jansson/releases JANSSON_LICENSE = MIT JANSSON_LICENSE_FILES = LICENSE diff --git a/package/janus-gateway/Config.in b/package/janus-gateway/Config.in index 5c7b63374b..5bd4e9586b 100644 --- a/package/janus-gateway/Config.in +++ b/package/janus-gateway/Config.in @@ -1,14 +1,14 @@ menuconfig BR2_PACKAGE_JANUS_GATEWAY bool "janus-gateway" + depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 + depends on BR2_USE_WCHAR # libnice -> libglib2 + depends on BR2_USE_MMU # libnice + depends on !BR2_STATIC_LIBS # dlopen select BR2_PACKAGE_JANSSON select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_LIBNICE select BR2_PACKAGE_LIBSRTP select BR2_PACKAGE_OPENSSL - depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 - depends on BR2_USE_WCHAR # libnice -> libglib2 - depends on BR2_USE_MMU # libnice - depends on !BR2_STATIC_LIBS # dlopen help Janus is an open source, general purpose, WebRTC gateway designed and developed by Meetecho. @@ -54,6 +54,42 @@ config BR2_PACKAGE_JANUS_VOICE_MAIL bool "voice mail" select BR2_PACKAGE_LIBOGG +comment "transports" + +config BR2_PACKAGE_JANUS_MQTT + bool "MQTT" + depends on !BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_PAHO_MQTT_C + +comment "MQTT transport needs a toolchain w/ threads and dynamic library support" + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS + +config BR2_PACKAGE_JANUS_RABBITMQ + bool "RabbitMQ" + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_RABBITMQ_C + +comment "RabbitMQ transport needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS + +config BR2_PACKAGE_JANUS_REST + bool "REST (HTTP/HTTPS)" + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_LIBMICROHTTPD + +comment "REST transport needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS + +config BR2_PACKAGE_JANUS_UNIX_SOCKETS + bool "Unix Sockets" + default y + +config BR2_PACKAGE_JANUS_WEBSOCKETS + bool "WebSockets" + depends on BR2_USE_MMU + select BR2_PACKAGE_LIBWEBSOCKETS + endif comment "janus-gateway needs a toolchain w/ dynamic library, threads, wchar" diff --git a/package/janus-gateway/janus-gateway.hash b/package/janus-gateway/janus-gateway.hash index 68b9c3117b..1cb325c41d 100644 --- a/package/janus-gateway/janus-gateway.hash +++ b/package/janus-gateway/janus-gateway.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 5d071592faca2a1574b996b4ca07b6c9e02cd42a719b0dbb4bfb5dfde8d55ff3 janus-gateway-v0.2.1.tar.gz +sha256 09610dc02ff0a1f23af0397baaa26a3cd88b3742d35b2e49849f099885cdcf08 janus-gateway-v0.2.5.tar.gz +sha256 0a884af515b4593503f6f0c9b424db3945bd77eaa2644d25f45eb93a412b3c19 COPYING diff --git a/package/janus-gateway/janus-gateway.mk b/package/janus-gateway/janus-gateway.mk index 212fa4739e..bf3e590ac5 100644 --- a/package/janus-gateway/janus-gateway.mk +++ b/package/janus-gateway/janus-gateway.mk @@ -4,14 +4,14 @@ # ################################################################################ -JANUS_GATEWAY_VERSION = v0.2.1 +JANUS_GATEWAY_VERSION = v0.2.5 JANUS_GATEWAY_SITE = $(call github,meetecho,janus-gateway,$(JANUS_GATEWAY_VERSION)) -JANUS_GATEWAY_LICENSE = GPLv3 +JANUS_GATEWAY_LICENSE = GPL-3.0 JANUS_GATEWAY_LICENSE_FILES = COPYING # ding-libs provides the ini_config library JANUS_GATEWAY_DEPENDENCIES = host-pkgconf jansson libnice \ - libsrtp host-gengetopt libglib2 openssl + libsrtp host-gengetopt libglib2 openssl # Straight out of the repository, no ./configure, and we also patch # configure.ac. @@ -24,7 +24,7 @@ JANUS_GATEWAY_POST_PATCH_HOOKS += JANUS_GATEWAY_M4 JANUS_GATEWAY_CONF_OPTS = \ --disable-data-channels \ - --disable-rabbitmq + --disable-sample-event-handler ifeq ($(BR2_PACKAGE_JANUS_AUDIO_BRIDGE),y) JANUS_GATEWAY_DEPENDENCIES += opus @@ -83,7 +83,34 @@ else JANUS_GATEWAY_CONF_OPTS += --disable-plugin-voicemail endif -ifeq ($(BR2_PACKAGE_LIBWEBSOCKETS),y) +ifeq ($(BR2_PACKAGE_JANUS_MQTT),y) +JANUS_GATEWAY_DEPENDENCIES += paho-mqtt-c +JANUS_GATEWAY_CONF_OPTS += --enable-mqtt +else +JANUS_GATEWAY_CONF_OPTS += --disable-mqtt +endif + +ifeq ($(BR2_PACKAGE_JANUS_RABBITMQ),y) +JANUS_GATEWAY_DEPENDENCIES += rabbitmq-c +JANUS_GATEWAY_CONF_OPTS += --enable-rabbitmq +else +JANUS_GATEWAY_CONF_OPTS += --disable-rabbitmq +endif + +ifeq ($(BR2_PACKAGE_JANUS_REST),y) +JANUS_GATEWAY_DEPENDENCIES += libmicrohttpd +JANUS_GATEWAY_CONF_OPTS += --enable-rest +else +JANUS_GATEWAY_CONF_OPTS += --disable-rest +endif + +ifeq ($(BR2_PACKAGE_JANUS_UNIX_SOCKETS),y) +JANUS_GATEWAY_CONF_OPTS += --enable-unix-sockets +else +JANUS_GATEWAY_CONF_OPTS += --disable-unix-sockets +endif + +ifeq ($(BR2_PACKAGE_JANUS_WEBSOCKETS),y) JANUS_GATEWAY_DEPENDENCIES += libwebsockets JANUS_GATEWAY_CONF_OPTS += --enable-websockets else diff --git a/package/jasper/0001-Disable-C-compiler-check.patch b/package/jasper/0001-Disable-C-compiler-check.patch deleted file mode 100644 index c1f727109c..0000000000 --- a/package/jasper/0001-Disable-C-compiler-check.patch +++ /dev/null @@ -1,28 +0,0 @@ -From e4ed3e2c3fd5a859567f510deeb49a915d96700f Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Sat, 14 Jan 2017 21:06:25 +0200 -Subject: [PATCH] Disable C++ compiler check - -jasper does not use C++ code. Allow use of toolchains without C++ support. - -Signed-off-by: Baruch Siach ---- -Upstream status: https://github.com/mdadams/jasper/pull/110 - CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6c99b3e7df31..3ac166b060ad 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,6 +1,6 @@ - cmake_minimum_required (VERSION 2.8.11) - --project(JasPer) -+project(JasPer C) - - set(CMAKE_MODULE_PATH - ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/build/cmake/modules/") --- -2.11.0 - diff --git a/package/jasper/jasper.hash b/package/jasper/jasper.hash index 6c3ab473cf..b2b82178eb 100644 --- a/package/jasper/jasper.hash +++ b/package/jasper/jasper.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 54d85428e35263642358a11c312d61cbc054170546fae780e11271df5d1502e8 jasper-2.0.10.tar.gz +sha256 b50413b41bfc82ae419298b41eadcde1aa31f362fb9dc2ac089e5cbc19f60c24 jasper-version-2.0.13.tar.gz diff --git a/package/jasper/jasper.mk b/package/jasper/jasper.mk index a243b9a1a7..2aa3f9d554 100644 --- a/package/jasper/jasper.mk +++ b/package/jasper/jasper.mk @@ -4,8 +4,8 @@ # ################################################################################ -JASPER_VERSION = 2.0.10 -JASPER_SITE = http://www.ece.uvic.ca/~frodo/jasper/software +JASPER_VERSION = version-2.0.13 +JASPER_SITE = $(call github,mdadams,jasper,$(JASPER_VERSION)) JASPER_INSTALL_STAGING = YES JASPER_LICENSE = JasPer License Version 2.0 JASPER_LICENSE_FILES = LICENSE diff --git a/package/jemalloc/0001-Disable-documentation.patch b/package/jemalloc/0001-Disable-documentation.patch new file mode 100644 index 0000000000..a5f252cd70 --- /dev/null +++ b/package/jemalloc/0001-Disable-documentation.patch @@ -0,0 +1,29 @@ +From b9113f8dc939dab775dbc64bae03b927f0679467 Mon Sep 17 00:00:00 2001 +From: Eric Le Bihan +Date: Sun, 2 Apr 2017 19:26:04 +0200 +Subject: [PATCH] Disable documentation + +As there is no option to disable documentation, update Makefile.in to +skip it. + +Signed-off-by: Eric Le Bihan +--- + Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.in b/Makefile.in +index e49a871..74a7541 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -383,7 +383,7 @@ done + + install_doc: install_doc_html install_doc_man + +-install: install_bin install_include install_lib install_doc ++install: install_bin install_include install_lib + + tests_unit: $(TESTS_UNIT:$(srcroot)%.c=$(objroot)%$(EXE)) + tests_integration: $(TESTS_INTEGRATION:$(srcroot)%.c=$(objroot)%$(EXE)) +-- +2.9.3 + diff --git a/package/jemalloc/0001-Fix-LG_QUANTUM-definition-for-sparc64.patch b/package/jemalloc/0001-Fix-LG_QUANTUM-definition-for-sparc64.patch deleted file mode 100644 index ef5b857d41..0000000000 --- a/package/jemalloc/0001-Fix-LG_QUANTUM-definition-for-sparc64.patch +++ /dev/null @@ -1,30 +0,0 @@ -From b3211bd6363ee6884c8db64008dc325a9c711bfb Mon Sep 17 00:00:00 2001 -From: Eric Le Bihan -Date: Thu, 14 Jul 2016 22:44:01 +0200 -Subject: [PATCH] Fix LG_QUANTUM definition for sparc64 - -GCC 4.9.3 cross-compiled for sparc64 defines __sparc_v9__, not -__sparc64__ nor __sparcv9. This prevents LG_QUANTUM from being defined -properly. Adding this new value to the check solves the issue. - -Signed-off-by: Eric Le Bihan ---- - include/jemalloc/internal/jemalloc_internal.h.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/jemalloc/internal/jemalloc_internal.h.in b/include/jemalloc/internal/jemalloc_internal.h.in -index 51bf897..ece15b2 100644 ---- a/include/jemalloc/internal/jemalloc_internal.h.in -+++ b/include/jemalloc/internal/jemalloc_internal.h.in -@@ -234,7 +234,7 @@ typedef unsigned szind_t; - # ifdef __alpha__ - # define LG_QUANTUM 4 - # endif --# if (defined(__sparc64__) || defined(__sparcv9)) -+# if (defined(__sparc64__) || defined(__sparcv9) || defined(__sparc_v9__)) - # define LG_QUANTUM 4 - # endif - # if (defined(__amd64__) || defined(__x86_64__) || defined(_M_X64)) --- -2.4.11 - diff --git a/package/jemalloc/Config.in b/package/jemalloc/Config.in index b1b92bb7c5..c3fd8e34b8 100644 --- a/package/jemalloc/Config.in +++ b/package/jemalloc/Config.in @@ -14,10 +14,11 @@ config BR2_PACKAGE_JEMALLOC depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HAS_THREADS help - This library providing a malloc(3) implementation that emphasizes - fragmentation avoidance and scalable concurrency support. + This library providing a malloc(3) implementation that + emphasizes fragmentation avoidance and scalable concurrency + support. - http://www.canonware.com/jemalloc/ + http://jemalloc.net/ comment "jemalloc needs a toolchain w/ dynamic library, threads" depends on BR2_PACKAGE_JEMALLOC_ARCH_SUPPORTS diff --git a/package/jemalloc/jemalloc.hash b/package/jemalloc/jemalloc.hash index b6c860baa6..50ac682839 100644 --- a/package/jemalloc/jemalloc.hash +++ b/package/jemalloc/jemalloc.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 5630650d5c1caab95d2f0898de4fe5ab8519dc680b04963b38bb425ef6a42d57 jemalloc-4.2.1.tar.bz2 +sha256 4814781d395b0ef093b21a08e8e6e0bd3dab8762f9935bbfb71679b0dea7c3e9 jemalloc-5.0.1.tar.bz2 diff --git a/package/jemalloc/jemalloc.mk b/package/jemalloc/jemalloc.mk index f1c9ffe622..2424eb54c7 100644 --- a/package/jemalloc/jemalloc.mk +++ b/package/jemalloc/jemalloc.mk @@ -4,10 +4,10 @@ # ################################################################################ -JEMALLOC_VERSION = 4.2.1 +JEMALLOC_VERSION = 5.0.1 JEMALLOC_SOURCE = jemalloc-$(JEMALLOC_VERSION).tar.bz2 -JEMALLOC_SITE = http://www.canonware.com/download/jemalloc -JEMALLOC_LICENSE = BSD-2c +JEMALLOC_SITE = https://github.com/jemalloc/jemalloc/releases/download/$(JEMALLOC_VERSION) +JEMALLOC_LICENSE = BSD-2-Clause JEMALLOC_LICENSE_FILES = COPYING JEMALLOC_INSTALL_STAGING = YES diff --git a/package/jimtcl/jimtcl.mk b/package/jimtcl/jimtcl.mk index 1c1a6b82a3..68c8a914db 100644 --- a/package/jimtcl/jimtcl.mk +++ b/package/jimtcl/jimtcl.mk @@ -8,7 +8,7 @@ JIMTCL_VERSION = 0.75 JIMTCL_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/j/jimtcl JIMTCL_SOURCE = jimtcl_$(JIMTCL_VERSION).orig.tar.xz JIMTCL_INSTALL_STAGING = YES -JIMTCL_LICENSE = BSD-2c +JIMTCL_LICENSE = BSD-2-Clause JIMTCL_LICENSE_FILES = LICENSE JIMTCL_HEADERS_TO_INSTALL = \ @@ -17,7 +17,7 @@ JIMTCL_HEADERS_TO_INSTALL = \ jim-signal.h \ jim-subcmd.h \ jim-win32compat.h \ - jim-config.h \ + jim-config.h ifeq ($(BR2_PACKAGE_TCL),) define JIMTCL_LINK_TCLSH @@ -38,10 +38,18 @@ define JIMTCL_INSTALL_LIB endef endif +# build system doesn't use autotools, but does use an old version of +# gnuconfig which doesn't know all the architectures supported by +# Buildroot, so update config.guess / config.sub like we do in +# pkg-autotools.mk +JIMTCL_POST_PATCH_HOOKS += UPDATE_CONFIG_HOOK + define JIMTCL_CONFIGURE_CMDS (cd $(@D); \ $(TARGET_CONFIGURE_OPTS) CCACHE=none \ ./configure --prefix=/usr \ + --host=$(GNU_TARGET_NAME) \ + --build=$(GNU_HOST_NAME) \ $(JIMTCL_SHARED) \ ) endef diff --git a/package/jo/Config.in b/package/jo/Config.in new file mode 100644 index 0000000000..c5532c2108 --- /dev/null +++ b/package/jo/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_JO + bool "jo" + help + Command-line processor to output JSON from a shell + + https://github.com/jpmens/jo diff --git a/package/jo/jo.hash b/package/jo/jo.hash new file mode 100644 index 0000000000..736b0fb8fb --- /dev/null +++ b/package/jo/jo.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 63ed4766c2e0fcb5391a14033930329369f437d7060a11d82874e57e278bda5f jo-1.1.tar.gz diff --git a/package/jo/jo.mk b/package/jo/jo.mk new file mode 100644 index 0000000000..ad085b29f2 --- /dev/null +++ b/package/jo/jo.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# jo +# +################################################################################ + +JO_VERSION = 1.1 +JO_SITE = https://github.com/jpmens/jo/releases/download/v$(JO_VERSION) +JO_LICENSE = MIT (json.[ch]), GPL-2.0+ (rest) +JO_LICENSE_FILES = COPYING +# don't build man pages +JO_CONF_ENV = ac_cv_path_PANDOC='' + +$(eval $(autotools-package)) diff --git a/package/joe/0001-disable-bessel-functions-on-uclibc.patch b/package/joe/0001-disable-bessel-functions-on-uclibc.patch deleted file mode 100644 index 9f7b72c170..0000000000 --- a/package/joe/0001-disable-bessel-functions-on-uclibc.patch +++ /dev/null @@ -1,50 +0,0 @@ -[PATCH] uClibc can be (and by default is) configured without bessel functions - -Signed-off-by: Peter Korsgaard ---- - umath.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -Index: joe-3.7/umath.c -=================================================================== ---- joe-3.7.orig/umath.c -+++ joe-3.7/umath.c -@@ -7,6 +7,12 @@ - */ - #include "types.h" - -+/* uClibc can be configured without bessel functions */ -+#include -+#if defined (__UCLIBC__) && !defined(__DO_XSI_MATH__) -+#define NO_BESSEL -+#endif -+ - unsigned char *merr; - - int mode_hex; -@@ -396,10 +402,12 @@ - double m_fabs(double n) { return fabs(n); } - double m_erf(double n) { return erf(n); } - double m_erfc(double n) { return erfc(n); } -+#ifndef NO_BESSEL - double m_j0(double n) { return j0(n); } - double m_j1(double n) { return j1(n); } - double m_y0(double n) { return y0(n); } - double m_y1(double n) { return y1(n); } -+#endif - - double calc(BW *bw, unsigned char *s) - { -@@ -434,10 +442,12 @@ - v = get(USTR "abs"); v->func = m_fabs; - v = get(USTR "erf"); v->func = m_erf; - v = get(USTR "erfc"); v->func = m_erfc; -+#ifndef NO_BESSEL - v = get(USTR "j0"); v->func = m_j0; - v = get(USTR "j1"); v->func = m_j1; - v = get(USTR "y0"); v->func = m_y0; - v = get(USTR "y1"); v->func = m_y1; -+#endif - } - - v = get(USTR "top"); diff --git a/package/joe/Config.in b/package/joe/Config.in index eabfae78dc..c9dd967b2f 100644 --- a/package/joe/Config.in +++ b/package/joe/Config.in @@ -4,18 +4,18 @@ config BR2_PACKAGE_JOE help Joe's Own Editor - JOE is an easy-to-use, full featured terminal-based screen editor. - Its behavior is a blending of WordStar and GNU-EMACS (but it does - not use code from either program). It is a great editor for new - users or as an alternative to vi. + JOE is an easy-to-use, full featured terminal-based screen + editor. Its behavior is a blending of WordStar and GNU-EMACS + (but it does not use code from either program). + It is a great editor for new users or as an alternative to vi. http://joe-editor.sf.net config BR2_PACKAGE_JOE_FULL bool "full install of rc and syntax highlighting files" - depends on BR2_PACKAGE_JOE default y + depends on BR2_PACKAGE_JOE help - Install all rc and syntax highlighting files. Without this option - only the joe binary is installed, which contains a default - configuration. + Install all rc and syntax highlighting files. Without this + option only the joe binary is installed, which contains a + default configuration. diff --git a/package/joe/joe.hash b/package/joe/joe.hash index 664410d19f..0a9c1fb8df 100644 --- a/package/joe/joe.hash +++ b/package/joe/joe.hash @@ -1,2 +1,5 @@ +# From https://sourceforge.net/projects/joe-editor/files/JOE%20sources/joe-4.4/ +sha1 aedf1ac9e6b91053aa26c70e7bba5bbd8136f033 joe-4.4.tar.gz +md5 59e63debe60b456a6ee5c0c27a756a47 joe-4.4.tar.gz # Locally computed: -sha256 cae456e1ad5a8c1d3c94920a3416c2347277739b260e3494d3bc0f2b9b73106f joe-3.7.tar.gz +sha256 a5704828bbca29acb9e200414fef522c66cdf9ce28150f402d6767da43460979 joe-4.4.tar.gz diff --git a/package/joe/joe.mk b/package/joe/joe.mk index e86007e0f7..3d0e9f7769 100644 --- a/package/joe/joe.mk +++ b/package/joe/joe.mk @@ -4,9 +4,9 @@ # ################################################################################ -JOE_VERSION = 3.7 +JOE_VERSION = 4.4 JOE_SITE = http://downloads.sourceforge.net/project/joe-editor/JOE%20sources/joe-$(JOE_VERSION) -JOE_LICENSE = GPLv1+ +JOE_LICENSE = GPL-1.0+ JOE_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_NCURSES),y) @@ -18,7 +18,7 @@ endif ifneq ($(BR2_PACKAGE_JOE_FULL),y) define JOE_INSTALL_TARGET_CMDS - $(INSTALL) -m 0755 -D $(@D)/joe $(TARGET_DIR)/usr/bin/joe + $(INSTALL) -m 0755 -D $(@D)/joe/joe $(TARGET_DIR)/usr/bin/joe endef endif diff --git a/package/jose/0001-lib-hsh.c-rename-hsh-local-variable.patch b/package/jose/0001-lib-hsh.c-rename-hsh-local-variable.patch new file mode 100644 index 0000000000..0bd259ad8b --- /dev/null +++ b/package/jose/0001-lib-hsh.c-rename-hsh-local-variable.patch @@ -0,0 +1,71 @@ +From 591fc6da944ffc29936e0019b2bc225ddc81dbba Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Mon, 20 Nov 2017 22:48:33 +0100 +Subject: [PATCH] lib/hsh.c: rename hsh local variable + +The hsh local variable name conflicts with the function prototype of +hsh() in hsh.h, causing the following build issues with old compilers +(gcc 4.7): + +hsh.c: In function 'hsh': +hsh.c:28:21: error: declaration of 'hsh' shadows a global declaration [-Werror=shadow] +hsh.c:26:1: error: shadowed declaration is here [-Werror=shadow] +hsh.c: In function 'hsh_buf': +hsh.c:60:21: error: declaration of 'hsh' shadows a global declaration [-Werror=shadow] +hsh.c:26:1: error: shadowed declaration is here [-Werror=shadow] + +Therefore, we rename this local variable to _hsh. + +Submitted-upstream: https://github.com/latchset/jose/pull/51 +Signed-off-by: Thomas Petazzoni +--- + lib/hsh.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/lib/hsh.c b/lib/hsh.c +index c59a95f..a2a891b 100644 +--- a/lib/hsh.c ++++ b/lib/hsh.c +@@ -25,7 +25,7 @@ + json_t * + hsh(jose_cfg_t *cfg, const char *alg, const void *data, size_t dlen) + { +- jose_io_auto_t *hsh = NULL; ++ jose_io_auto_t *_hsh = NULL; + jose_io_auto_t *enc = NULL; + jose_io_auto_t *buf = NULL; + char b[1024] = {}; +@@ -33,8 +33,8 @@ hsh(jose_cfg_t *cfg, const char *alg, const void *data, size_t dlen) + + buf = jose_io_buffer(cfg, b, &l); + enc = jose_b64_enc_io(buf); +- hsh = hsh_io(cfg, alg, enc); +- if (!buf || !enc || !hsh || !hsh->feed(hsh, data, dlen) || !hsh->done(hsh)) ++ _hsh = hsh_io(cfg, alg, enc); ++ if (!buf || !enc || !_hsh || !_hsh->feed(_hsh, data, dlen) || !_hsh->done(_hsh)) + return NULL; + + return json_stringn(b, l); +@@ -57,7 +57,7 @@ hsh_buf(jose_cfg_t *cfg, const char *alg, + const void *data, size_t dlen, void *hash, size_t hlen) + { + const jose_hook_alg_t *a = NULL; +- jose_io_auto_t *hsh = NULL; ++ jose_io_auto_t *_hsh = NULL; + jose_io_auto_t *buf = NULL; + + a = jose_hook_alg_find(JOSE_HOOK_ALG_KIND_HASH, alg); +@@ -71,8 +71,8 @@ hsh_buf(jose_cfg_t *cfg, const char *alg, + return SIZE_MAX; + + buf = jose_io_buffer(cfg, hash, &hlen); +- hsh = a->hash.hsh(a, cfg, buf); +- if (!buf || !hsh || !hsh->feed(hsh, data, dlen) || !hsh->done(hsh)) ++ _hsh = a->hash.hsh(a, cfg, buf); ++ if (!buf || !_hsh || !_hsh->feed(_hsh, data, dlen) || !_hsh->done(_hsh)) + return SIZE_MAX; + + return hlen; +-- +2.13.6 + diff --git a/package/jose/0002-configure-fix-build-with-old-compilers.patch b/package/jose/0002-configure-fix-build-with-old-compilers.patch new file mode 100644 index 0000000000..0484f38f0d --- /dev/null +++ b/package/jose/0002-configure-fix-build-with-old-compilers.patch @@ -0,0 +1,165 @@ +From 98e9faa4d39cd5b6aaab882877e19ae394ba3810 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Mon, 20 Nov 2017 23:10:38 +0100 +Subject: [PATCH] configure: fix build with old compilers + +Old gcc versions (gcc 4.7) do not support all warnings flags currently +hard-coded by configure.ac. In order to fix this, we import the +AX_CHECK_COMPILE_FLAG() macro from the autoconf-archive, and use it in +the configure.ac to only use warning flags when the compiler supports +them. + +Submitted-upstream: https://github.com/latchset/jose/pull/51 +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 46 +++++++++++++++------------- + m4/ax_check_compile_flag.m4 | 74 +++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 105 insertions(+), 22 deletions(-) + create mode 100644 m4/ax_check_compile_flag.m4 + +diff --git a/configure.ac b/configure.ac +index cf8c9a6..6fe4ded 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1,5 +1,6 @@ + AC_PREREQ(2.62) + AC_INIT(jose, 10) ++AC_CONFIG_MACRO_DIRS([m4]) + AC_CANONICAL_SYSTEM + AC_PROG_CC_C99 + +@@ -18,27 +19,30 @@ PKG_CHECK_MODULES([libcrypto], [libcrypto >= 1.0.2]) + AC_OPENMP + AC_SUBST([OPENMP_CFLAGS]) + +-JOSE_CFLAGS="\ +--Wall \ +--Wextra \ +--Werror \ +--Wstrict-aliasing \ +--Wchar-subscripts \ +--Wformat-security \ +--Wmissing-declarations \ +--Wmissing-prototypes \ +--Wnested-externs \ +--Wpointer-arith \ +--Wshadow \ +--Wsign-compare \ +--Wstrict-prototypes \ +--Wtype-limits \ +--Wunused-function \ +--Wno-missing-field-initializers \ +--Wno-unused-command-line-argument \ +--Wno-unused-parameter \ +--Wno-unknown-pragmas \ +-" ++for flag in \ ++ -Wall \ ++ -Wextra \ ++ -Werror \ ++ -Wstrict-aliasing \ ++ -Wchar-subscripts \ ++ -Wformat-security \ ++ -Wmissing-declarations \ ++ -Wmissing-prototypes \ ++ -Wnested-externs \ ++ -Wpointer-arith \ ++ -Wshadow \ ++ -Wsign-compare \ ++ -Wstrict-prototypes \ ++ -Wtype-limits \ ++ -Wunused-function \ ++ -Wno-missing-field-initializers \ ++ -Wno-unused-command-line-argument \ ++ -Wno-unused-parameter \ ++ -Wno-unknown-pragmas ; do ++ AX_CHECK_COMPILE_FLAG([${flag}], ++ [JOSE_CFLAGS="${JOSE_CFLAGS} ${flag}"]) ++done ++ + AC_SUBST([JOSE_CFLAGS]) + + AC_MSG_CHECKING([for linker script support]) +diff --git a/m4/ax_check_compile_flag.m4 b/m4/ax_check_compile_flag.m4 +new file mode 100644 +index 0000000..dcabb92 +--- /dev/null ++++ b/m4/ax_check_compile_flag.m4 +@@ -0,0 +1,74 @@ ++# =========================================================================== ++# https://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html ++# =========================================================================== ++# ++# SYNOPSIS ++# ++# AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT]) ++# ++# DESCRIPTION ++# ++# Check whether the given FLAG works with the current language's compiler ++# or gives an error. (Warnings, however, are ignored) ++# ++# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on ++# success/failure. ++# ++# If EXTRA-FLAGS is defined, it is added to the current language's default ++# flags (e.g. CFLAGS) when the check is done. The check is thus made with ++# the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to ++# force the compiler to issue an error when a bad flag is given. ++# ++# INPUT gives an alternative input source to AC_COMPILE_IFELSE. ++# ++# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this ++# macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG. ++# ++# LICENSE ++# ++# Copyright (c) 2008 Guido U. Draheim ++# Copyright (c) 2011 Maarten Bosmans ++# ++# 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 3 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, see . ++# ++# As a special exception, the respective Autoconf Macro's copyright owner ++# gives unlimited permission to copy, distribute and modify the configure ++# scripts that are the output of Autoconf when processing the Macro. You ++# need not follow the terms of the GNU General Public License when using ++# or distributing such scripts, even though portions of the text of the ++# Macro appear in them. The GNU General Public License (GPL) does govern ++# all other use of the material that constitutes the Autoconf Macro. ++# ++# This special exception to the GPL applies to versions of the Autoconf ++# Macro released by the Autoconf Archive. When you make and distribute a ++# modified version of the Autoconf Macro, you may extend this special ++# exception to the GPL to apply to your modified version as well. ++ ++#serial 5 ++ ++AC_DEFUN([AX_CHECK_COMPILE_FLAG], ++[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF ++AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl ++AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [ ++ ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS ++ _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1" ++ AC_COMPILE_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])], ++ [AS_VAR_SET(CACHEVAR,[yes])], ++ [AS_VAR_SET(CACHEVAR,[no])]) ++ _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags]) ++AS_VAR_IF(CACHEVAR,yes, ++ [m4_default([$2], :)], ++ [m4_default([$3], :)]) ++AS_VAR_POPDEF([CACHEVAR])dnl ++])dnl AX_CHECK_COMPILE_FLAGS +-- +2.13.6 + diff --git a/package/jose/Config.in b/package/jose/Config.in new file mode 100644 index 0000000000..4a9ed8da65 --- /dev/null +++ b/package/jose/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_JOSE + bool "jose" + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_ZLIB + select BR2_PACKAGE_JANSSON + select BR2_PACKAGE_OPENSSL + help + C-language implementation of Javascript Object Signing and + Encryption. + + https://github.com/latchset/jose + +comment "jose needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/jose/jose.hash b/package/jose/jose.hash new file mode 100644 index 0000000000..376bc0b585 --- /dev/null +++ b/package/jose/jose.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 5c9cdcfb535c4d9f781393d7530521c72b1dd81caa9934cab6dd752cc7efcd72 jose-10.tar.bz2 +sha256 09e8a9bcec8067104652c168685ab0931e7868f9c8284b66f5ae6edae5f1130b COPYING diff --git a/package/jose/jose.mk b/package/jose/jose.mk new file mode 100644 index 0000000000..2758d408da --- /dev/null +++ b/package/jose/jose.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# jose +# +################################################################################ + +JOSE_VERSION = 10 +JOSE_SOURCE = jose-$(JOSE_VERSION).tar.bz2 +JOSE_SITE = https://github.com/latchset/jose/releases/download/v$(JOSE_VERSION) +JOSE_LICENSE = Apache-2.0 +JOSE_LICENSE_FILES = COPYING +# 0002-configure-fix-build-with-old-compilers.patch +JOSE_AUTORECONF = YES +JOSE_INSTALL_STAGING = YES +JOSE_DEPENDENCIES = host-pkgconf zlib jansson openssl + +$(eval $(autotools-package)) diff --git a/package/jpeg-turbo/jpeg-turbo.hash b/package/jpeg-turbo/jpeg-turbo.hash index 93b245ebdb..320bbb2a94 100644 --- a/package/jpeg-turbo/jpeg-turbo.hash +++ b/package/jpeg-turbo/jpeg-turbo.hash @@ -1,5 +1,5 @@ -# From http://sourceforge.net/projects/libjpeg-turbo/files/1.5.1/ -sha1 ebb3f9e94044c77831a3e8c809c7ea7506944622 libjpeg-turbo-1.5.1.tar.gz -md5 55deb139b0cac3c8200b75d485fc13f3 libjpeg-turbo-1.5.1.tar.gz +# From https://sourceforge.net/projects/libjpeg-turbo/files/1.5.2/ +sha1 e788f6defa58b4393a5e1685c018f3b962971457 libjpeg-turbo-1.5.2.tar.gz +md5 6b4923e297a7eaa255f08511017a8818 libjpeg-turbo-1.5.2.tar.gz # Locally computed -sha256 41429d3d253017433f66e3d472b8c7d998491d2f41caa7306b8d9a6f2a2c666c libjpeg-turbo-1.5.1.tar.gz +sha256 9098943b270388727ae61de82adec73cf9f0dbb240b3bc8b172595ebf405b528 libjpeg-turbo-1.5.2.tar.gz diff --git a/package/jpeg-turbo/jpeg-turbo.mk b/package/jpeg-turbo/jpeg-turbo.mk index e2b7e63b9a..bb1278f8b2 100644 --- a/package/jpeg-turbo/jpeg-turbo.mk +++ b/package/jpeg-turbo/jpeg-turbo.mk @@ -4,10 +4,10 @@ # ################################################################################ -JPEG_TURBO_VERSION = 1.5.1 +JPEG_TURBO_VERSION = 1.5.2 JPEG_TURBO_SOURCE = libjpeg-turbo-$(JPEG_TURBO_VERSION).tar.gz -JPEG_TURBO_SITE = http://downloads.sourceforge.net/project/libjpeg-turbo/$(JPEG_TURBO_VERSION) -JPEG_TURBO_LICENSE = jpeg-license (BSD-3c-like) +JPEG_TURBO_SITE = https://downloads.sourceforge.net/project/libjpeg-turbo/$(JPEG_TURBO_VERSION) +JPEG_TURBO_LICENSE = jpeg-license (BSD-3-Clause-like) JPEG_TURBO_LICENSE_FILES = LICENSE.md JPEG_TURBO_INSTALL_STAGING = YES JPEG_TURBO_PROVIDES = jpeg diff --git a/package/jq/Config.in b/package/jq/Config.in index 9329b2fb35..321cbe8b51 100644 --- a/package/jq/Config.in +++ b/package/jq/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_JQ bool "jq" help - jq is like sed for JSON data - you can use it to slice and filter - and map and transform structured data with the same ease that sed, - awk, grep and friends let you play with text. + jq is like sed for JSON data - you can use it to slice and + filter and map and transform structured data with the same + ease that sed, awk, grep and friends let you play with text. http://stedolan.github.io/jq/ diff --git a/package/jq/Config.in.host b/package/jq/Config.in.host index a0aabc0b30..9fc0e99058 100644 --- a/package/jq/Config.in.host +++ b/package/jq/Config.in.host @@ -1,11 +1,11 @@ config BR2_PACKAGE_HOST_JQ bool "host jq" help - jq is like sed for JSON data - you can use it to slice and filter - and map and transform structured data with the same ease that sed, - awk, grep and friends let you play with text. + jq is like sed for JSON data - you can use it to slice and + filter and map and transform structured data with the same + ease that sed, awk, grep and friends let you play with text. - As a host tool, jq can be useful to create/edit/merge/check JSON - files from a post-build script. + As a host tool, jq can be useful to create/edit/merge/check + JSON files from a post-build script. http://stedolan.github.io/jq/ diff --git a/package/jq/jq.mk b/package/jq/jq.mk index 9a094ba9a0..aecdba2280 100644 --- a/package/jq/jq.mk +++ b/package/jq/jq.mk @@ -8,6 +8,7 @@ JQ_VERSION = 1.5 JQ_SITE = https://github.com/stedolan/jq/releases/download/jq-$(JQ_VERSION) JQ_LICENSE = MIT (code), CC-BY-3.0 (documentation) JQ_LICENSE_FILES = COPYING +JQ_INSTALL_STAGING = YES # uses c99 specific features JQ_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -std=c99" diff --git a/package/jquery-sparkline/jquery-sparkline.mk b/package/jquery-sparkline/jquery-sparkline.mk index 4a7b94ea35..165c2fa99c 100644 --- a/package/jquery-sparkline/jquery-sparkline.mk +++ b/package/jquery-sparkline/jquery-sparkline.mk @@ -7,7 +7,7 @@ JQUERY_SPARKLINE_VERSION = 2.1.2 JQUERY_SPARKLINE_SITE = http://www.omnipotent.net/jquery.sparkline/$(JQUERY_SPARKLINE_VERSION) JQUERY_SPARKLINE_SOURCE = jquery.sparkline.min.js -JQUERY_SPARKLINE_LICENSE = BSD-3c +JQUERY_SPARKLINE_LICENSE = BSD-3-Clause define JQUERY_SPARKLINE_EXTRACT_CMDS cp $(DL_DIR)/$(JQUERY_SPARKLINE_SOURCE) $(@D) diff --git a/package/jquery-ui-themes/Config.in b/package/jquery-ui-themes/Config.in index a7ae11eca6..fde3014602 100644 --- a/package/jquery-ui-themes/Config.in +++ b/package/jquery-ui-themes/Config.in @@ -13,77 +13,77 @@ choice help Specify the jQuery UI theme to install. - config BR2_PACKAGE_JQUERY_UI_THEME_BLACK_TIE - bool "black-tie" +config BR2_PACKAGE_JQUERY_UI_THEME_BLACK_TIE + bool "black-tie" - config BR2_PACKAGE_JQUERY_UI_THEME_BLITZER - bool "blitzer" +config BR2_PACKAGE_JQUERY_UI_THEME_BLITZER + bool "blitzer" - config BR2_PACKAGE_JQUERY_UI_THEME_CUPERTINO - bool "cupertino" +config BR2_PACKAGE_JQUERY_UI_THEME_CUPERTINO + bool "cupertino" - config BR2_PACKAGE_JQUERY_UI_THEME_DARK_HIVE - bool "dark-hive" +config BR2_PACKAGE_JQUERY_UI_THEME_DARK_HIVE + bool "dark-hive" - config BR2_PACKAGE_JQUERY_UI_THEME_DOT_LUV - bool "dot-luv" +config BR2_PACKAGE_JQUERY_UI_THEME_DOT_LUV + bool "dot-luv" - config BR2_PACKAGE_JQUERY_UI_THEME_EGGPLANT - bool "eggplant" +config BR2_PACKAGE_JQUERY_UI_THEME_EGGPLANT + bool "eggplant" - config BR2_PACKAGE_JQUERY_UI_THEME_EXCITE_BIKE - bool "excite-bike" +config BR2_PACKAGE_JQUERY_UI_THEME_EXCITE_BIKE + bool "excite-bike" - config BR2_PACKAGE_JQUERY_UI_THEME_FLICK - bool "flick" +config BR2_PACKAGE_JQUERY_UI_THEME_FLICK + bool "flick" - config BR2_PACKAGE_JQUERY_UI_THEME_HOT_SNEAKS - bool "hot-sneaks" +config BR2_PACKAGE_JQUERY_UI_THEME_HOT_SNEAKS + bool "hot-sneaks" - config BR2_PACKAGE_JQUERY_UI_THEME_HUMANITY - bool "humanity" +config BR2_PACKAGE_JQUERY_UI_THEME_HUMANITY + bool "humanity" - config BR2_PACKAGE_JQUERY_UI_THEME_LE_FROG - bool "le-frog" +config BR2_PACKAGE_JQUERY_UI_THEME_LE_FROG + bool "le-frog" - config BR2_PACKAGE_JQUERY_UI_THEME_MINT_CHOC - bool "mint-choc" +config BR2_PACKAGE_JQUERY_UI_THEME_MINT_CHOC + bool "mint-choc" - config BR2_PACKAGE_JQUERY_UI_THEME_OVERCAST - bool "overcast" +config BR2_PACKAGE_JQUERY_UI_THEME_OVERCAST + bool "overcast" - config BR2_PACKAGE_JQUERY_UI_THEME_PEPPER_GRINDER - bool "pepper-grinder" +config BR2_PACKAGE_JQUERY_UI_THEME_PEPPER_GRINDER + bool "pepper-grinder" - config BR2_PACKAGE_JQUERY_UI_THEME_REDMOND - bool "redmond" +config BR2_PACKAGE_JQUERY_UI_THEME_REDMOND + bool "redmond" - config BR2_PACKAGE_JQUERY_UI_THEME_SMOOTHNESS - bool "smoothness" +config BR2_PACKAGE_JQUERY_UI_THEME_SMOOTHNESS + bool "smoothness" - config BR2_PACKAGE_JQUERY_UI_THEME_SOUTH_STREET - bool "south-street" +config BR2_PACKAGE_JQUERY_UI_THEME_SOUTH_STREET + bool "south-street" - config BR2_PACKAGE_JQUERY_UI_THEME_START - bool "start" +config BR2_PACKAGE_JQUERY_UI_THEME_START + bool "start" - config BR2_PACKAGE_JQUERY_UI_THEME_SUNNY - bool "sunny" +config BR2_PACKAGE_JQUERY_UI_THEME_SUNNY + bool "sunny" - config BR2_PACKAGE_JQUERY_UI_THEME_SWANKY_PURSE - bool "swanky-purse" +config BR2_PACKAGE_JQUERY_UI_THEME_SWANKY_PURSE + bool "swanky-purse" - config BR2_PACKAGE_JQUERY_UI_THEME_TRONTASTIC - bool "trontastic" +config BR2_PACKAGE_JQUERY_UI_THEME_TRONTASTIC + bool "trontastic" - config BR2_PACKAGE_JQUERY_UI_THEME_UI_DARKNESS - bool "ui-darkness" +config BR2_PACKAGE_JQUERY_UI_THEME_UI_DARKNESS + bool "ui-darkness" - config BR2_PACKAGE_JQUERY_UI_THEME_UI_LIGHTNESS - bool "ui-lightness" +config BR2_PACKAGE_JQUERY_UI_THEME_UI_LIGHTNESS + bool "ui-lightness" - config BR2_PACKAGE_JQUERY_UI_THEME_VADER - bool "vader" +config BR2_PACKAGE_JQUERY_UI_THEME_VADER + bool "vader" endchoice diff --git a/package/jquery-ui/Config.in b/package/jquery-ui/Config.in index a7c0a6df5a..fd38997ef6 100644 --- a/package/jquery-ui/Config.in +++ b/package/jquery-ui/Config.in @@ -3,7 +3,7 @@ config BR2_PACKAGE_JQUERY_UI help jQuery UI provides abstractions for low-level interaction and animation, advanced effects and high-level, themeable widgets, - built on top of the jQuery JavaScript Library, that you can use - to build highly interactive web applications. + built on top of the jQuery JavaScript Library, that you can + use to build highly interactive web applications. http://jqueryui.com/ diff --git a/package/jsmin/jsmin.mk b/package/jsmin/jsmin.mk index a66ba71582..84c39a7b42 100644 --- a/package/jsmin/jsmin.mk +++ b/package/jsmin/jsmin.mk @@ -22,7 +22,7 @@ define HOST_JSMIN_BUILD_CMDS endef define HOST_JSMIN_INSTALL_CMDS - $(INSTALL) -m 0755 -D $(@D)/jsmin $(HOST_DIR)/usr/bin/jsmin + $(INSTALL) -m 0755 -D $(@D)/jsmin $(HOST_DIR)/bin/jsmin endef $(eval $(generic-package)) diff --git a/package/json-c/json-c.hash b/package/json-c/json-c.hash index 6550895560..1868d75042 100644 --- a/package/json-c/json-c.hash +++ b/package/json-c/json-c.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 99304a4a633f1ee281d6a521155a182824dd995139d5ed6ee5c93093c281092b json-c-json-c-0.12-20140410.tar.gz +sha256 989e09b99ded277a0a651cd18b81fcb76885fea08769d7a21b6da39fb8a34816 json-c-json-c-0.12.1-20160607.tar.gz diff --git a/package/json-c/json-c.mk b/package/json-c/json-c.mk index 35243f13a1..7adbcafa72 100644 --- a/package/json-c/json-c.mk +++ b/package/json-c/json-c.mk @@ -4,7 +4,7 @@ # ################################################################################ -JSON_C_VERSION = json-c-0.12-20140410 +JSON_C_VERSION = json-c-0.12.1-20160607 JSON_C_SITE = $(call github,json-c,json-c,$(JSON_C_VERSION)) JSON_C_INSTALL_STAGING = YES JSON_C_MAKE = $(MAKE1) diff --git a/package/json-glib/Config.in b/package/json-glib/Config.in index ea15295b38..9df03d924a 100644 --- a/package/json-glib/Config.in +++ b/package/json-glib/Config.in @@ -4,7 +4,6 @@ config BR2_PACKAGE_JSON_GLIB depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 depends on BR2_USE_MMU # glib2 select BR2_PACKAGE_LIBGLIB2 - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT help JSON-GLib is a library providing serialization and deserialization support for the JavaScript Object Notation diff --git a/package/json-glib/json-glib.hash b/package/json-glib/json-glib.hash index 2a5693934b..2f190ab934 100644 --- a/package/json-glib/json-glib.hash +++ b/package/json-glib/json-glib.hash @@ -1,2 +1,2 @@ -# From http://ftp.gnome.org/pub/GNOME/sources/json-glib/1.2/json-glib-1.2.2.sha256sum -sha256 ea128ab52a824fcd06e5448fbb2bd8d9a13740d51c66d445828edba71321a621 json-glib-1.2.2.tar.xz +# From http://ftp.gnome.org/pub/GNOME/sources/json-glib/1.2/json-glib-1.2.8.sha256sum +sha256 fd55a9037d39e7a10f0db64309f5f0265fa32ec962bf85066087b83a2807f40a json-glib-1.2.8.tar.xz diff --git a/package/json-glib/json-glib.mk b/package/json-glib/json-glib.mk index 305c9acc79..5ee43d9a12 100644 --- a/package/json-glib/json-glib.mk +++ b/package/json-glib/json-glib.mk @@ -5,15 +5,15 @@ ################################################################################ JSON_GLIB_VERSION_MAJOR = 1.2 -JSON_GLIB_VERSION = $(JSON_GLIB_VERSION_MAJOR).2 +JSON_GLIB_VERSION = $(JSON_GLIB_VERSION_MAJOR).8 JSON_GLIB_SITE = http://ftp.gnome.org/pub/GNOME/sources/json-glib/$(JSON_GLIB_VERSION_MAJOR) JSON_GLIB_SOURCE = json-glib-$(JSON_GLIB_VERSION).tar.xz -JSON_GLIB_LICENSE = LGPLv2.1+ +JSON_GLIB_LICENSE = LGPL-2.1+ JSON_GLIB_LICENSE_FILES = COPYING JSON_GLIB_INSTALL_STAGING = YES JSON_GLIB_DEPENDENCIES = \ - $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) \ + $(TARGET_NLS_DEPENDENCIES) \ host-pkgconf \ libglib2 diff --git a/package/jsoncpp/Config.in b/package/jsoncpp/Config.in index 83118c400c..a6c6b91938 100644 --- a/package/jsoncpp/Config.in +++ b/package/jsoncpp/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_JSONCPP + bool "jsoncpp" depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11 depends on BR2_INSTALL_LIBSTDCPP - bool "jsoncpp" help JsonCpp is a C++ library that allows manipulating JSON values, including serialization and deserialization to and diff --git a/package/jsoncpp/jsoncpp.hash b/package/jsoncpp/jsoncpp.hash index 504357f163..09ceb58553 100644 --- a/package/jsoncpp/jsoncpp.hash +++ b/package/jsoncpp/jsoncpp.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 087640ebcf7fbcfe8e2717a0b9528fff89c52fcf69fa2a18cc2b538008098f97 jsoncpp-1.7.7.tar.gz +sha256 3671ba6051e0f30849942cc66d1798fdf0362d089343a83f704c09ee7156604f jsoncpp-1.8.3.tar.gz diff --git a/package/jsoncpp/jsoncpp.mk b/package/jsoncpp/jsoncpp.mk index a9694411c9..6dfaecefdd 100644 --- a/package/jsoncpp/jsoncpp.mk +++ b/package/jsoncpp/jsoncpp.mk @@ -4,7 +4,7 @@ # ################################################################################ -JSONCPP_VERSION = 1.7.7 +JSONCPP_VERSION = 1.8.3 JSONCPP_SITE = $(call github,open-source-parsers,jsoncpp,$(JSONCPP_VERSION)) JSONCPP_LICENSE = Public Domain or MIT JSONCPP_LICENSE_FILES = LICENSE diff --git a/package/kbd/0001-add-configure-flag-to-disable-tests.patch b/package/kbd/0001-add-configure-flag-to-disable-tests.patch deleted file mode 100644 index 28983e97a0..0000000000 --- a/package/kbd/0001-add-configure-flag-to-disable-tests.patch +++ /dev/null @@ -1,64 +0,0 @@ -From baeb5aa827d956bd06492775dc5bd9f89d394149 Mon Sep 17 00:00:00 2001 -From: Mike Frysinger -Date: Mon, 13 Jul 2015 23:38:41 -0400 -Subject: [PATCH] add configure flag to disable tests - -The tests require the check package to be installed. There is a configure -test for this package (which is good), but it's unconditional (which is -bad) as it means you can't even build & install kbd w/out the check -package being installed. - -URL: https://bugs.gentoo.org/485116 -Reported-by: Arfrever Frehtes Taifersar Arahesis ---- - Makefile.am | 5 ++++- - configure.ac | 17 +++++++++++++++-- - 2 files changed, 19 insertions(+), 3 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index 89c7e83..f855110 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -8,7 +8,10 @@ EXTRA_DIST = \ - CREDITS \ - contrib docs rc - --SUBDIRS = src data po tests docs -+SUBDIRS = src data po docs -+if BUILD_TESTS -+SUBDIRS += tests -+endif - - kbd-$(VERSION).tar.xz: - make distcheck -diff --git a/configure.ac b/configure.ac -index d0b462b..f659758 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -10,8 +10,21 @@ AC_CONFIG_MACRO_DIR([m4]) - AM_INIT_AUTOMAKE([1.9 -Wall color-tests dist-xz]) - AC_CONFIG_SRCDIR([src/loadkeys.c]) - AC_CONFIG_HEADERS(config.h) -- --PKG_CHECK_MODULES([CHECK], [check >= 0.9.4]) -+PKG_PROG_PKG_CONFIG -+ -+AC_ARG_ENABLE(tests, -+ [AS_HELP_STRING([--disable-tests], [do not build tests])], -+ [build_tests=$enableval], [build_tests=auto]) -+if test "$build_tests" != "no"; then -+ PKG_CHECK_MODULES([CHECK], [check >= 0.9.4], -+ [build_tests="yes"], [ -+ if test "$build_tests" = "yes"; then -+ AC_MSG_ERROR([tests requested, but check package is missing]) -+ fi -+ build_tests="no" -+ ]) -+fi -+AM_CONDITIONAL(BUILD_TESTS, test "$build_tests" != "no") - - m4_ifndef([AM_SILENT_RULES], [m4_define([AM_SILENT_RULES],[])]) - AM_SILENT_RULES([yes]) --- -2.6.4 - diff --git a/package/kbd/0002-Link-against-libintl-when-needed.patch b/package/kbd/0002-Link-against-libintl-when-needed.patch deleted file mode 100644 index d28f0c809c..0000000000 --- a/package/kbd/0002-Link-against-libintl-when-needed.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 008e7dc0ae46281360be62b7d69cd13e0a7f7e14 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sun, 7 Feb 2016 18:24:35 +0100 -Subject: [PATCH] Link against libintl when needed - -Since the kbd code uses gettext functionality, it should link with the -libintl library using the @INTLLIBS@ symbol provided by the gettext m4 -macro. This is necessary on C libraries that don't provide a built-in -gettext functionality, and rely on the libintl library provided by -gettext, as is the case with the uClibc C library. - -@INTLLIBS@ is empty when linking a separate library is not needed, as -is the case with the glibc C library. - -Signed-off-by: Thomas Petazzoni ---- - src/Makefile.am | 2 +- - tests/Makefile.am | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/Makefile.am b/src/Makefile.am -index 40e8083..d4e0583 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -80,7 +80,7 @@ mapscrn_CFLAGS = -DMAIN - loadunimap_CFLAGS = -DMAIN - - noinst_LIBRARIES = libcommon.a libfont.a --LDADD = libcommon.a libfont.a libkeymap/libkeymap.la -+LDADD = libcommon.a libfont.a libkeymap/libkeymap.la @INTLLIBS@ - - install-exec-hook: - for i in psfaddtable psfgettable psfstriptable; do \ -diff --git a/tests/Makefile.am b/tests/Makefile.am -index 1976333..848fd31 100644 ---- a/tests/Makefile.am -+++ b/tests/Makefile.am -@@ -4,7 +4,7 @@ AM_CPPFLAGS = \ - -DDATADIR=\"$(srcdir)\" -DBUILDDIR=\"$(builddir)\" - - AM_CFLAGS = $(CHECK_CFLAGS) --LDADD = $(top_builddir)/src/libkeymap/libkeymap.la $(CHECK_LIBS) -+LDADD = $(top_builddir)/src/libkeymap/libkeymap.la $(CHECK_LIBS) @INTLLIBS@ - - EXTRA_DIST = \ - alt-is-meta.in \ --- -2.6.4 - diff --git a/package/kbd/Config.in b/package/kbd/Config.in index 44c3163388..6cf2fc0dc6 100644 --- a/package/kbd/Config.in +++ b/package/kbd/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_KBD bool "kbd" - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE # Uses fork() depends on BR2_USE_MMU help diff --git a/package/kbd/kbd.hash b/package/kbd/kbd.hash index 39a4cddb6e..3fed6ace0e 100644 --- a/package/kbd/kbd.hash +++ b/package/kbd/kbd.hash @@ -1,2 +1,2 @@ # From https://www.kernel.org/pub/linux/utils/kbd/sha256sums.asc -sha256 7a899de1c0eb75f3aea737095a736f2375e1cbfbe693fc14a3fe0bfb4649fb5e kbd-2.0.3.tar.xz +sha256 5fd90af6beb225a9bb9b9fb414c090fba53c9a55793e172f508cd43652e59a88 kbd-2.0.4.tar.xz diff --git a/package/kbd/kbd.mk b/package/kbd/kbd.mk index 0243c53265..c32d82a3e9 100644 --- a/package/kbd/kbd.mk +++ b/package/kbd/kbd.mk @@ -4,18 +4,17 @@ # ################################################################################ -KBD_VERSION = 2.0.3 +KBD_VERSION = 2.0.4 KBD_SOURCE = kbd-$(KBD_VERSION).tar.xz KBD_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kbd KBD_CONF_OPTS = \ --disable-vlock \ --disable-tests KBD_DEPENDENCIES = \ - $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) \ + $(TARGET_NLS_DEPENDENCIES) \ host-pkgconf -KBD_LICENSE = GPLv2+ +KBD_LICENSE = GPL-2.0+ KBD_LICENSE_FILES = COPYING -KBD_AUTORECONF = YES KBD_INSTALL_TARGET_OPTS = MKINSTALLDIRS=$(@D)/config/mkinstalldirs DESTDIR=$(TARGET_DIR) install diff --git a/package/keepalived/Config.in b/package/keepalived/Config.in new file mode 100644 index 0000000000..0140e62ae2 --- /dev/null +++ b/package/keepalived/Config.in @@ -0,0 +1,21 @@ +config BR2_PACKAGE_KEEPALIVED + bool "keepalived" + depends on BR2_USE_MMU + depends on !BR2_STATIC_LIBS # uses libdl + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_POPT + help + The main goal of the keepalived project is to add a strong & + robust keepalive facility to the Linux Virtual Server + project. It implements a multilayer TCP/IP stack + checks. Keepalived implements a framework based on three + family checks: Layer3, Layer4 & Layer5. This framework gives + the daemon the ability of checking a LVS server pool + states. Keepalived can be sumarize as a LVS driving daemon. + + http://www.keepalived.org/ + +comment "keepalived needs a toolchain w/ dynamic library, headers >= 3.4" + depends on BR2_USE_MMU + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 diff --git a/package/keepalived/keepalived.hash b/package/keepalived/keepalived.hash new file mode 100644 index 0000000000..5d33c5be00 --- /dev/null +++ b/package/keepalived/keepalived.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 c0114d86ea4c896557beb0d9367819a423ffba772bc5d7c548dc455e6b3bd048 keepalived-1.3.5.tar.gz diff --git a/package/keepalived/keepalived.mk b/package/keepalived/keepalived.mk new file mode 100644 index 0000000000..59d3cb5cfb --- /dev/null +++ b/package/keepalived/keepalived.mk @@ -0,0 +1,35 @@ +################################################################################ +# +# keepalived +# +################################################################################ + +KEEPALIVED_VERSION = 1.3.5 +KEEPALIVED_SITE = http://www.keepalived.org/software +KEEPALIVED_DEPENDENCIES = host-pkgconf openssl popt +KEEPALIVED_LICENSE = GPL-2.0+ +KEEPALIVED_LICENSE_FILES = COPYING +KEEPALIVED_CONF_OPTS += --disable-dbus + +ifeq ($(BR2_PACKAGE_LIBNL)$(BR2_PACKAGE_LIBNFNETLINK),yy) +KEEPALIVED_DEPENDENCIES += libnl libnfnetlink +KEEPALIVED_CONF_OPTS += --enable-libnl +else +KEEPALIVED_CONF_OPTS += --disable-libnl +endif + +ifeq ($(BR2_PACKAGE_IPSET),y) +KEEPALIVED_DEPENDENCIES += ipset +KEEPALIVED_CONF_OPTS += --enable-libipset +else +KEEPALIVED_CONF_OPTS += --disable-libipset +endif + +ifeq ($(BR2_PACKAGE_IPTABLES),y) +KEEPALIVED_DEPENDENCIES += iptables +KEEPALIVED_CONF_OPTS += --enable-libiptc +else +KEEPALIVED_CONF_OPTS += --disable-libiptc +endif + +$(eval $(autotools-package)) diff --git a/package/kexec-lite/Config.in b/package/kexec-lite/Config.in index 97748dcce5..cd0e30f2dd 100644 --- a/package/kexec-lite/Config.in +++ b/package/kexec-lite/Config.in @@ -9,7 +9,8 @@ config BR2_PACKAGE_KEXEC_LITE select BR2_PACKAGE_DTC_PROGRAMS help Kexec is a user space utiltity for loading another kernel - and asking the currently running kernel to do something with it. + and asking the currently running kernel to do something with + it. This package is a tiny implementation of the kexec userspace components, for devicetree-based platforms. diff --git a/package/kexec-lite/kexec-lite.mk b/package/kexec-lite/kexec-lite.mk index b1b66fd84c..76b6819dfa 100644 --- a/package/kexec-lite/kexec-lite.mk +++ b/package/kexec-lite/kexec-lite.mk @@ -6,7 +6,7 @@ KEXEC_LITE_VERSION = 86e45a47e8cc1f598ccfa9b873a23067f4ecc36f KEXEC_LITE_SITE = $(call github,antonblanchard,kexec-lite,$(KEXEC_LITE_VERSION)) -KEXEC_LITE_LICENSE = GPLv2+ +KEXEC_LITE_LICENSE = GPL-2.0+ KEXEC_LITE_LICENSE_FILES = COPYING KEXEC_LITE_DEPENDENCIES = elfutils dtc diff --git a/package/kexec/0001-vmcore-dmesg-Define-_GNU_SOURCE.patch b/package/kexec/0001-vmcore-dmesg-Define-_GNU_SOURCE.patch deleted file mode 100644 index adaac2f6ec..0000000000 --- a/package/kexec/0001-vmcore-dmesg-Define-_GNU_SOURCE.patch +++ /dev/null @@ -1,38 +0,0 @@ -Fix musl build - -Downloaded from http://patchwork.openembedded.org/patch/112685/ - -Signed-off-by: Bernd Kuhls - - -From d811875a41b4628040abaada3da29b7b9592e757 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 9 Jan 2016 17:16:16 -0800 -Subject: [PATCH] vmcore-dmesg: Define _GNU_SOURCE - -loff_t is guarded with _GNU_SOURCE on some C library implementations -e.g. musl since this type is not defined by POSIX. Define _GNU_SOURCE to -include this define, it should help compiling on musl while nothing -changes for glibc based systems since there _GNU_SOURCE is already -defined - -Signed-off-by: Khem Raj ---- -Upstream-Status: Submitted - - vmcore-dmesg/vmcore-dmesg.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/vmcore-dmesg/vmcore-dmesg.c b/vmcore-dmesg/vmcore-dmesg.c -index 0364636..a8f56df 100644 ---- a/vmcore-dmesg/vmcore-dmesg.c -+++ b/vmcore-dmesg/vmcore-dmesg.c -@@ -1,4 +1,5 @@ - #define _XOPEN_SOURCE 600 -+#define _GNU_SOURCE - #define _LARGEFILE_SOURCE 1 - #define _FILE_OFFSET_BITS 64 - #include --- -2.7.0 - diff --git a/package/kexec/Config.in b/package/kexec/Config.in index d92e6b9573..c24dff38ec 100644 --- a/package/kexec/Config.in +++ b/package/kexec/Config.in @@ -5,7 +5,8 @@ config BR2_PACKAGE_KEXEC BR2_powerpc || BR2_sh4 || BR2_sh4a help Kexec is a user space utility for loading another kernel - and asking the currently running kernel to do something with it. + and asking the currently running kernel to do something with + it. https://www.kernel.org/pub/linux/utils/kernel/kexec/ diff --git a/package/kexec/kexec.hash b/package/kexec/kexec.hash index 9039dad489..0e39e7cff7 100644 --- a/package/kexec/kexec.hash +++ b/package/kexec/kexec.hash @@ -1,2 +1,2 @@ # From https://www.kernel.org/pub/linux/utils/kernel/kexec/sha256sums.asc -sha256 ffb2e7e99d9d08754c6bc1922aed3c000094f318665d82a72ecc76c4ff1c0dc6 kexec-tools-2.0.14.tar.xz +sha256 899b7b861431eb51886d0c12866e91b036228244d35a5fb04762dd1a3c0194e7 kexec-tools-2.0.15.tar.xz diff --git a/package/kexec/kexec.mk b/package/kexec/kexec.mk index 0a8e9f03a1..79c4b73623 100644 --- a/package/kexec/kexec.mk +++ b/package/kexec/kexec.mk @@ -4,13 +4,13 @@ # ################################################################################ -KEXEC_VERSION = 2.0.14 +KEXEC_VERSION = 2.0.15 KEXEC_SOURCE = kexec-tools-$(KEXEC_VERSION).tar.xz KEXEC_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/kexec -KEXEC_LICENSE = GPLv2 +KEXEC_LICENSE = GPL-2.0 KEXEC_LICENSE_FILES = COPYING -# Makefile expects $STRIP -o to work, so needed for BR2_STRIP_none +# Makefile expects $STRIP -o to work, so needed for !BR2_STRIP_strip KEXEC_MAKE_OPTS = STRIP="$(TARGET_CROSS)strip" ifeq ($(BR2_PACKAGE_KEXEC_ZLIB),y) diff --git a/package/keyutils/0001-allow-building-of-the-shared-library-to-be-suppressed.patch b/package/keyutils/0001-allow-building-of-the-shared-library-to-be-suppressed.patch deleted file mode 100644 index 88d32b0cf0..0000000000 --- a/package/keyutils/0001-allow-building-of-the-shared-library-to-be-suppressed.patch +++ /dev/null @@ -1,104 +0,0 @@ -keyutils: Allow building of the shared library to be suppressed - -Upstream patch: - https://kernel.googlesource.com/pub/scm/linux/kernel/git/dhowells/keyutils/+/a4deb71ddc05e951c8be8d46615beed9d408a5c8 - -Signed-off-by: Vicente Olivert Riera - -LIB: Allow building of the shared library to be suppressed - -Allow building of the shared library to be suppressed by passing NO_SOLIB=1 to -the Makefile. - -Reported-and-tested-by: Vicente Olivert Riera -Signed-off-by: David Howells -diff --git a/Makefile b/Makefile -index c904eaf..5dd2113 100644 ---- a/Makefile -+++ b/Makefile -@@ -5,6 +5,7 @@ - SPECFILE := keyutils.spec - NO_GLIBC_KEYERR := 0 - NO_ARLIB := 0 -+NO_SOLIB := 0 - ETCDIR := /etc - BINDIR := /bin - SBINDIR := /sbin -@@ -95,7 +96,7 @@ - # Normal build rule - # - ############################################################################### --all: $(DEVELLIB) keyctl request-key key.dns_resolver -+all: keyctl request-key key.dns_resolver - - ############################################################################### - # -@@ -104,20 +105,23 @@ - ############################################################################### - #RPATH = -Wl,-rpath,$(LIBDIR) - --ifeq ($(NO_ARLIB),0) --all: $(ARLIB) --$(ARLIB): keyutils.o -- $(AR) rcs $@ $< --endif -- - VCPPFLAGS := -DPKGBUILD="\"$(shell date -u +%F)\"" - VCPPFLAGS += -DPKGVERSION="\"keyutils-$(VERSION)\"" - VCPPFLAGS += -DAPIVERSION="\"libkeyutils-$(APIVERSION)\"" - -+ifeq ($(NO_ARLIB),0) -+all: $(ARLIB) -+$(ARLIB): keyutils.o -+ $(AR) rcs $@ $< -+ - keyutils.o: keyutils.c keyutils.h Makefile - $(CC) $(CPPFLAGS) $(VCPPFLAGS) $(CFLAGS) -UNO_GLIBC_KEYERR -o $@ -c $< -+LIB_DEPENDENCY := libkeyutils.a -+endif - - -+ifeq ($(NO_SOLIB),0) -+all: $(DEVELLIB) - $(DEVELLIB): $(SONAME) - ln -sf $< $@ - -@@ -131,6 +135,8 @@ - - keyutils.os: keyutils.c keyutils.h Makefile - $(CC) $(CPPFLAGS) $(VCPPFLAGS) $(CFLAGS) -fPIC -o $@ -c $< -+LIB_DEPENDENCY := $(DEVELLIB) -+endif - - ############################################################################### - # -@@ -140,13 +146,13 @@ - %.o: %.c keyutils.h Makefile - $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ -c $< - --keyctl: keyctl.o $(DEVELLIB) -+keyctl: keyctl.o $(LIB_DEPENDENCY) - $(CC) -L. $(CFLAGS) $(LDFLAGS) $(RPATH) -o $@ $< -lkeyutils - --request-key: request-key.o $(DEVELLIB) -+request-key: request-key.o $(LIB_DEPENDENCY) - $(CC) -L. $(CFLAGS) $(LDFLAGS) $(RPATH) -o $@ $< -lkeyutils - --key.dns_resolver: key.dns_resolver.o $(DEVELLIB) -+key.dns_resolver: key.dns_resolver.o $(LIB_DEPENDENCY) - $(CC) -L. $(CFLAGS) $(LDFLAGS) $(RPATH) -o $@ $< -lkeyutils -lresolv - - ############################################################################### -@@ -158,10 +164,12 @@ - ifeq ($(NO_ARLIB),0) - $(INSTALL) -D -m 0644 $(ARLIB) $(DESTDIR)$(USRLIBDIR)/$(ARLIB) - endif -+ifeq ($(NO_SOLIB),0) - $(INSTALL) -D $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBNAME) - $(LNS) $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(SONAME) - mkdir -p $(DESTDIR)$(USRLIBDIR) - $(LNS) $(LIBDIR)/$(SONAME) $(DESTDIR)$(USRLIBDIR)/$(DEVELLIB) -+endif - $(INSTALL) -D keyctl $(DESTDIR)$(BINDIR)/keyctl - $(INSTALL) -D request-key $(DESTDIR)$(SBINDIR)/request-key - $(INSTALL) -D request-key-debug.sh $(DESTDIR)$(SHAREDIR)/request-key-debug.sh diff --git a/package/keyutils/0002-fix-install-rule.patch b/package/keyutils/0001-fix-install-rule.patch similarity index 100% rename from package/keyutils/0002-fix-install-rule.patch rename to package/keyutils/0001-fix-install-rule.patch diff --git a/package/keyutils/0003-cifs.patch b/package/keyutils/0002-cifs.patch similarity index 100% rename from package/keyutils/0003-cifs.patch rename to package/keyutils/0002-cifs.patch diff --git a/package/keyutils/0005-Add-missing-limits.h-include.patch b/package/keyutils/0003-Add-missing-limits.h-include.patch similarity index 100% rename from package/keyutils/0005-Add-missing-limits.h-include.patch rename to package/keyutils/0003-Add-missing-limits.h-include.patch diff --git a/package/keyutils/0004-Makefile-for-buildroot.patch b/package/keyutils/0004-Makefile-for-buildroot.patch deleted file mode 100644 index 1e19f77dcb..0000000000 --- a/package/keyutils/0004-Makefile-for-buildroot.patch +++ /dev/null @@ -1,19 +0,0 @@ -Makefile: Don't call "ln" directly - -Signed-off-by: Vicente Olivert Riera - ---- keyutils-1.5.9/Makefile.orig 2014-09-22 16:05:14.117007430 +0100 -+++ keyutils-1.5.9/Makefile 2014-09-22 16:06:26.053219336 +0100 -@@ -123,10 +123,10 @@ endif - ifeq ($(NO_SOLIB),0) - all: $(DEVELLIB) - $(DEVELLIB): $(SONAME) -- ln -sf $< $@ -+ $(LNS) $< $@ - - $(SONAME): $(LIBNAME) -- ln -sf $< $@ -+ $(LNS) $< $@ - - LIBVERS := -shared -Wl,-soname,$(SONAME) -Wl,--version-script,version.lds - diff --git a/package/keyutils/keyutils.hash b/package/keyutils/keyutils.hash index 21ecae5159..b14b7bec13 100644 --- a/package/keyutils/keyutils.hash +++ b/package/keyutils/keyutils.hash @@ -1,3 +1,2 @@ -# From http://people.redhat.com/~dhowells/keyutils/ -md5 7f8ac985c45086b5fbcd12cecd23cf07 keyutils-1.5.9.tar.bz2 -sha1 cf040adebe25eb466760f34752f4100fd5acb5e7 keyutils-1.5.9.tar.bz2 +# Locally computed +sha256 115c3deae7f181778fd0e0ffaa2dad1bf1fe2f5677cf2e0e348cdb7a1c93afb6 keyutils-1.5.10.tar.bz2 diff --git a/package/keyutils/keyutils.mk b/package/keyutils/keyutils.mk index 4a8dbace04..048b6894d3 100644 --- a/package/keyutils/keyutils.mk +++ b/package/keyutils/keyutils.mk @@ -4,18 +4,18 @@ # ################################################################################ -KEYUTILS_VERSION = 1.5.9 +KEYUTILS_VERSION = 1.5.10 KEYUTILS_SOURCE = keyutils-$(KEYUTILS_VERSION).tar.bz2 KEYUTILS_SITE = http://people.redhat.com/~dhowells/keyutils -KEYUTILS_LICENSE = GPLv2+, LGPLv2.1+ +KEYUTILS_LICENSE = GPL-2.0+, LGPL-2.1+ KEYUTILS_LICENSE_FILES = LICENCE.GPL LICENCE.LGPL KEYUTILS_INSTALL_STAGING = YES -KEYUTILS_MAKE_PARAMS = \ - INSTALL=$(INSTALL) \ - LIBDIR=/usr/lib \ - USRLIBDIR=/usr/lib \ - CFLAGS="$(TARGET_CFLAGS)" \ +KEYUTILS_MAKE_PARAMS = \ + INSTALL=$(INSTALL) \ + LIBDIR=/usr/lib \ + USRLIBDIR=/usr/lib \ + CFLAGS="$(TARGET_CFLAGS)" \ CPPFLAGS="$(TARGET_CPPFLAGS) -I." \ LNS="$(HOSTLN) -sf" diff --git a/package/kismet/0003-fix-curses-libs-ordering.patch b/package/kismet/0003-fix-curses-libs-ordering.patch index b579c96d46..8d2b911404 100644 --- a/package/kismet/0003-fix-curses-libs-ordering.patch +++ b/package/kismet/0003-fix-curses-libs-ordering.patch @@ -14,10 +14,12 @@ at the *front* of the list, not at the end. Reported-by: Vicente Olivert Riera Signed-off-by: "Yann E. MORIN" Cc: Vicente Olivert Riera +[bernd.kuhls@t-online.de: update for 2016-07-R1] +Signed-off-by: Bernd Kuhls diff -durN kismet-Kismet-2014-02-R1.orig/configure.in kismet-Kismet-2014-02-R1/configure.in ---- kismet-Kismet-2014-02-R1.orig/configure.in 2014-02-19 05:37:43.000000000 +0100 -+++ kismet-Kismet-2014-02-R1/configure.in 2014-12-26 16:46:55.770692349 +0100 +--- kismet-Kismet-2014-02-R1.orig/configure.ac 2014-02-19 05:37:43.000000000 +0100 ++++ kismet-Kismet-2014-02-R1/configure.ac 2014-12-26 16:46:55.770692349 +0100 @@ -437,10 +434,10 @@ AC_MSG_ERROR(Failed to find curses.h or ncurses.h. You probably need to install the curses-devel package from your distribution) fi @@ -25,7 +27,7 @@ diff -durN kismet-Kismet-2014-02-R1.orig/configure.in kismet-Kismet-2014-02-R1/c - LIBS="$LIBS $curseaux" + LIBS="$curseaux $LIBS" AC_CHECK_LIB([panel], [new_panel], - AC_DEFINE(HAVE_LIBPANEL, 1, Panel terminal lib) + AC_DEFINE(HAVE_LIBPANEL, 1, Panel terminal lib) - curseaux="$curseaux -lpanel", + curseaux="-lpanel $curseaux", AC_MSG_ERROR(Failed to find libpanel extension to curses/ncurses. Install it, or disable building the Kismet client with --disable-client. Disabling the client is probably not something you want to do normally.)) diff --git a/package/kismet/0004-no-include-host-paths.patch b/package/kismet/0004-no-include-host-paths.patch index 1dcf1200f9..6819bf425e 100644 --- a/package/kismet/0004-no-include-host-paths.patch +++ b/package/kismet/0004-no-include-host-paths.patch @@ -7,10 +7,12 @@ Remove that directory from the include search dirs. Signed-off-by: "Yann E. MORIN" Cc: Vicente Olivert Riera +[bernd.kuhls@t-online.de: update for 2016-07-R1] +Signed-off-by: Bernd Kuhls diff -durN kismet-Kismet-2014-02-R1.orig/configure.in kismet-Kismet-2014-02-R1/configure.in ---- kismet-Kismet-2014-02-R1.orig/configure.in 2014-02-19 05:37:43.000000000 +0100 -+++ kismet-Kismet-2014-02-R1/configure.in 2014-12-26 16:46:55.770692349 +0100 +--- kismet-Kismet-2014-02-R1.orig/configure.ac 2014-02-19 05:37:43.000000000 +0100 ++++ kismet-Kismet-2014-02-R1/configure.ac 2014-12-26 16:46:55.770692349 +0100 @@ -406,9 +406,6 @@ ) AC_SUBST(wantclient) diff --git a/package/kismet/kismet.hash b/package/kismet/kismet.hash index e4dc5a4815..913dffc9dd 100644 --- a/package/kismet/kismet.hash +++ b/package/kismet/kismet.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 23b693baa29549b051e95e9d597b115bd94f7267c4677307ebd87f2a00e5a52b kismet-Kismet-2014-02-R1.tar.gz +sha256 bdb21f153311f1ff3b16621bf0d6740f66369bf0982b0a289c9a12af8847e237 kismet-2016-07-R1.tar.xz diff --git a/package/kismet/kismet.mk b/package/kismet/kismet.mk index f4a28b86dc..cee814b52b 100644 --- a/package/kismet/kismet.mk +++ b/package/kismet/kismet.mk @@ -4,12 +4,12 @@ # ################################################################################ -KISMET_VERSION = Kismet-2014-02-R1 -KISMET_SITE = http://www.kismetwireless.net/kismet.git -KISMET_SITE_METHOD = git +KISMET_VERSION = 2016-07-R1 +KISMET_SOURCE = kismet-$(KISMET_VERSION).tar.xz +KISMET_SITE = http://www.kismetwireless.net/code KISMET_DEPENDENCIES = host-pkgconf libpcap ncurses libnl KISMET_CONF_OPTS += --with-netlink-version=3 -KISMET_LICENSE = GPLv2+ +KISMET_LICENSE = GPL-2.0+ KISMET_LICENSE_FILES = debian/copyright # We touch configure.in: diff --git a/package/kmod/0002-shared-util.c-assert_cc-can-only-be-used-inside-func.patch b/package/kmod/0002-shared-util.c-assert_cc-can-only-be-used-inside-func.patch new file mode 100644 index 0000000000..09fe252420 --- /dev/null +++ b/package/kmod/0002-shared-util.c-assert_cc-can-only-be-used-inside-func.patch @@ -0,0 +1,56 @@ +From 7cd698eb31059012305d8bb7516577c8cd383e32 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 3 Jun 2017 16:52:37 +0200 +Subject: [PATCH] shared/util.c: assert_cc() can only be used inside functions + +shared/macro.h has two versions of assert_cc, one that uses gcc +_Static_assert(), which requires recent enough gcc versions, and one +that uses a fake array to trigger a build error. The latter can only +work inside functions, so assert_cc() should only be used inside +functions. + +Fixes the following build failure when building kmod with old gcc +versions such as gcc 4.3.x: + +shared/util.c:52: error: expected identifier or '(' before 'do' +shared/util.c:52: error: expected identifier or '(' before 'while' + +Signed-off-by: Thomas Petazzoni +--- + shared/util.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/shared/util.c b/shared/util.c +index 9de080a..fd2028d 100644 +--- a/shared/util.c ++++ b/shared/util.c +@@ -49,8 +49,6 @@ static const struct kmod_ext { + { } + }; + +-assert_cc(EAGAIN == EWOULDBLOCK); +- + /* string handling functions and memory allocations */ + /* ************************************************************************ */ + +@@ -201,6 +199,8 @@ ssize_t read_str_safe(int fd, char *buf, size_t buflen) + size_t todo = buflen - 1; + size_t done = 0; + ++ assert_cc(EAGAIN == EWOULDBLOCK); ++ + do { + ssize_t r = read(fd, buf + done, todo); + +@@ -226,6 +226,8 @@ ssize_t write_str_safe(int fd, const char *buf, size_t buflen) + size_t todo = buflen; + size_t done = 0; + ++ assert_cc(EAGAIN == EWOULDBLOCK); ++ + do { + ssize_t r = write(fd, buf + done, todo); + +-- +2.7.4 + diff --git a/package/kmod/kmod.hash b/package/kmod/kmod.hash index 8220fd493b..be350c423a 100644 --- a/package/kmod/kmod.hash +++ b/package/kmod/kmod.hash @@ -1,2 +1,2 @@ # From https://www.kernel.org/pub/linux/utils/kernel/kmod/sha256sums.asc -sha256 d303d5519faec9d69e1132f6b37db2579db17a7fb5c1517da0115d03ba168155 kmod-23.tar.xz +sha256 610b8d1df172acc39a4fdf1eaa47a57b04873c82f32152e7a62e29b6ff9cb397 kmod-24.tar.xz diff --git a/package/kmod/kmod.mk b/package/kmod/kmod.mk index 407d90d817..bd676108aa 100644 --- a/package/kmod/kmod.mk +++ b/package/kmod/kmod.mk @@ -4,7 +4,7 @@ # ################################################################################ -KMOD_VERSION = 23 +KMOD_VERSION = 24 KMOD_SOURCE = kmod-$(KMOD_VERSION).tar.xz KMOD_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/kmod KMOD_INSTALL_STAGING = YES @@ -12,7 +12,7 @@ KMOD_DEPENDENCIES = host-pkgconf HOST_KMOD_DEPENDENCIES = host-pkgconf # license info for libkmod only, conditionally add more below -KMOD_LICENSE = LGPLv2.1+ (library) +KMOD_LICENSE = LGPL-2.1+ (library) KMOD_LICENSE_FILES = libkmod/COPYING # --gc-sections triggers binutils ld segfault @@ -46,7 +46,7 @@ endif ifeq ($(BR2_PACKAGE_KMOD_TOOLS),y) # add license info for kmod tools -KMOD_LICENSE := $(KMOD_LICENSE), GPLv2+ (tools) +KMOD_LICENSE := $(KMOD_LICENSE), GPL-2.0+ (tools) KMOD_LICENSE_FILES += COPYING # take precedence over busybox implementation diff --git a/package/kmscube/Config.in b/package/kmscube/Config.in new file mode 100644 index 0000000000..b9fe627c87 --- /dev/null +++ b/package/kmscube/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_KMSCUBE + bool "kmscube" + # requires libgbm from mesa3d + depends on BR2_PACKAGE_MESA3D_OPENGL_EGL + depends on BR2_PACKAGE_MESA3D_OPENGL_ES + help + kmscube is an application to test kms/drm drivers. + + https://cgit.freedesktop.org/mesa/kmscube/ diff --git a/package/kmscube/kmscube.hash b/package/kmscube/kmscube.hash new file mode 100644 index 0000000000..e306d0055e --- /dev/null +++ b/package/kmscube/kmscube.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 254d34209740731a557469030c960bbfd2299485a2ad0cbed2f7040b56a292a7 kmscube-6cbd03ab94066dddbba7bedfde87c7c4319c18d5.tar.gz diff --git a/package/kmscube/kmscube.mk b/package/kmscube/kmscube.mk new file mode 100644 index 0000000000..37983b1a78 --- /dev/null +++ b/package/kmscube/kmscube.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# kmscube +# +################################################################################ + +KMSCUBE_VERSION = 6cbd03ab94066dddbba7bedfde87c7c4319c18d5 +KMSCUBE_SITE = https://cgit.freedesktop.org/mesa/kmscube/snapshot +KMSCUBE_LICENSE = MIT +KMSCUBE_DEPENDENCIES = host-pkgconf mesa3d libdrm +KMSCUBE_AUTORECONF = YES + +$(eval $(autotools-package)) diff --git a/package/kmsxx/0001-Fix-LTO-support-for-cross-compilation.patch b/package/kmsxx/0001-Fix-LTO-support-for-cross-compilation.patch deleted file mode 100644 index 280583af14..0000000000 --- a/package/kmsxx/0001-Fix-LTO-support-for-cross-compilation.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 5da1f631bc753655ac94b08a6233eecd0d451327 Mon Sep 17 00:00:00 2001 -From: "Arnout Vandecappelle (Essensium/Mind)" -Date: Fri, 26 Aug 2016 21:55:06 +0200 -Subject: [PATCH] Fix LTO support for cross-compilation. - -When cross-compiling, the ar and ranlib to be used for LTO are prefixed -by the cross-tuple. gcc-ar and gcc-ranlib may not exist. Cfr. -http://autobuild.buildroot.net/results/f3c/f3c48da3a9706cd366c0e0a96c3cd0ff959f2a78/ - -Therefore, search for an appropriate lto-ar and lto-ranlib before -enabling LTO. - -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- -Submitted upstream: https://github.com/tomba/kmsxx/pull/14 ---- - CMakeLists.txt | 12 +++++++++--- - 1 file changed, 9 insertions(+), 3 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index e5b5ea5..c61c81d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -39,9 +39,15 @@ if (NOT ${U_CMAKE_BUILD_TYPE} MATCHES DEBUG) - CHECK_CXX_COMPILER_FLAG("-flto" HAS_LTO_FLAG) - - if (HAS_LTO_FLAG) -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -flto") -- set(CMAKE_AR gcc-ar) -- set(CMAKE_RANLIB gcc-ranlib) -+ find_program(LTO_AR NAMES "${CMAKE_C_COMPILER}-ar" gcc-ar) -+ find_program(LTO_RANLIB NAMES "${CMAKE_C_COMPILER}-ranlib" gcc-ranlib) -+ if (LTO_AR AND LTO_RANLIB) -+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -flto") -+ set(CMAKE_AR "${LTO_AR}") -+ set(CMAKE_RANLIB "${LTO_RANLIB}") -+ else() -+ message(STATUS "gcc-ar or gcc-ranlib not found, disabling LTO") -+ endif() - endif() - endif() - --- -2.9.3 - diff --git a/package/kmsxx/kmsxx.hash b/package/kmsxx/kmsxx.hash index 9e75bb9e01..94a9ea1eaa 100644 --- a/package/kmsxx/kmsxx.hash +++ b/package/kmsxx/kmsxx.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 ff8bdb84a738477a8740c835e23c5bb59aac750e9e72a4afcad4ec8820ec7da2 kmsxx-bd5f6471e619a6ba2987bc7f66ef78a531f94d6c.tar.gz +sha256 28892e50c1d1c83fddff9ec683e3bdbd465f5032d0014ceeab43563b813807e1 kmsxx-cb0786049f960f2bd383617151b01318e02e9ff9.tar.gz diff --git a/package/kmsxx/kmsxx.mk b/package/kmsxx/kmsxx.mk index c06d20be61..5c4a0c1c99 100644 --- a/package/kmsxx/kmsxx.mk +++ b/package/kmsxx/kmsxx.mk @@ -4,9 +4,9 @@ # ################################################################################ -KMSXX_VERSION = bd5f6471e619a6ba2987bc7f66ef78a531f94d6c +KMSXX_VERSION = cb0786049f960f2bd383617151b01318e02e9ff9 KMSXX_SITE = $(call github,tomba,kmsxx,$(KMSXX_VERSION)) -KMSXX_LICENSE = MPLv2.0 +KMSXX_LICENSE = MPL-2.0 KMSXX_LICENSE_FILES = LICENSE KMSXX_INSTALL_STAGING = YES KMSXX_DEPENDENCIES = libdrm host-pkgconf @@ -20,8 +20,8 @@ endif ifeq ($(BR2_PACKAGE_KMSXX_INSTALL_TESTS),y) KMSXX_TESTS = \ - fbtestpat kmsblank kmscapture \ - kmsprint kmsview testpat wbcap \ + fbtest kmsblank kmscapture \ + kmsprint kmstest kmsview wbcap \ wbm2m define KMSXX_INSTALL_TARGET_TESTS diff --git a/package/knock/Config.in b/package/knock/Config.in index 8778a7e3fd..0060ad07ce 100644 --- a/package/knock/Config.in +++ b/package/knock/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_KNOCK bool "knock" - select BR2_PACKAGE_LIBPCAP depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_LIBPCAP help A port knocking implementation. Provides a daemon and a user application. Port knocking can be diff --git a/package/knock/knock.mk b/package/knock/knock.mk index 2ab8d1b680..55f5bfdf36 100644 --- a/package/knock/knock.mk +++ b/package/knock/knock.mk @@ -7,7 +7,7 @@ KNOCK_VERSION = 258a27e5a47809f97c2b9f2751a88c2f94aae891 KNOCK_SITE = $(call github,jvinet,knock,$(KNOCK_VERSION)) KNOCK_AUTORECONF = YES -KNOCK_LICENSE = GPLv2+ +KNOCK_LICENSE = GPL-2.0+ KNOCK_LICENSE_FILES = COPYING KNOCK_DEPENDENCIES = libpcap diff --git a/package/kodi-adsp-basic/kodi-adsp-basic.hash b/package/kodi-adsp-basic/kodi-adsp-basic.hash index e668ff2aa4..10dd773c1e 100644 --- a/package/kodi-adsp-basic/kodi-adsp-basic.hash +++ b/package/kodi-adsp-basic/kodi-adsp-basic.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 0ae320af73085c322671d4b361248ff4341a6a04bd81c8b699847d5b04da828f kodi-adsp-basic-cb56e0eb6530fd50a286d47ef0be529001e9d556.tar.gz +sha256 d6ef031157ceb825a6e6ba114fb20c622ef7f396ddd17ae8bf1954aab25bc2af kodi-adsp-basic-2ae604e591346741324663260696cfa231931870.tar.gz diff --git a/package/kodi-adsp-basic/kodi-adsp-basic.mk b/package/kodi-adsp-basic/kodi-adsp-basic.mk index 0b1ba95948..bb114a41ea 100644 --- a/package/kodi-adsp-basic/kodi-adsp-basic.mk +++ b/package/kodi-adsp-basic/kodi-adsp-basic.mk @@ -4,9 +4,11 @@ # ################################################################################ -KODI_ADSP_BASIC_VERSION = cb56e0eb6530fd50a286d47ef0be529001e9d556 +# This cset is on the branch 'Krypton' +# When Kodi is updated, then this should be updated to the corresponding branch +KODI_ADSP_BASIC_VERSION = 2ae604e591346741324663260696cfa231931870 KODI_ADSP_BASIC_SITE = $(call github,kodi-adsp,adsp.basic,$(KODI_ADSP_BASIC_VERSION)) -KODI_ADSP_BASIC_LICENSE = GPLv3+ +KODI_ADSP_BASIC_LICENSE = GPL-3.0+ KODI_ADSP_BASIC_LICENSE_FILES = LICENSE.md KODI_ADSP_BASIC_DEPENDENCIES = libplatform kodi-platform diff --git a/package/kodi-adsp-freesurround/kodi-adsp-freesurround.hash b/package/kodi-adsp-freesurround/kodi-adsp-freesurround.hash index f23717f79b..2649bbdcbf 100644 --- a/package/kodi-adsp-freesurround/kodi-adsp-freesurround.hash +++ b/package/kodi-adsp-freesurround/kodi-adsp-freesurround.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 652c32d0c4b61343cbed13b6edd1ab4ad35280240a0ddb386f04adaa46986e7f kodi-adsp-freesurround-08b691d3d9a0382d2f6f789a31614fb02512036c.tar.gz +sha256 cf6985be6839530027861b54e2146693d05e802363281ef6f8c1f352dbf94b5c kodi-adsp-freesurround-34f50406bcba22e364711562e5b9205e57ae844b.tar.gz diff --git a/package/kodi-adsp-freesurround/kodi-adsp-freesurround.mk b/package/kodi-adsp-freesurround/kodi-adsp-freesurround.mk index 49cf673276..927af74da7 100644 --- a/package/kodi-adsp-freesurround/kodi-adsp-freesurround.mk +++ b/package/kodi-adsp-freesurround/kodi-adsp-freesurround.mk @@ -4,9 +4,11 @@ # ################################################################################ -KODI_ADSP_FREESURROUND_VERSION = 08b691d3d9a0382d2f6f789a31614fb02512036c +# This cset is on the branch 'Krypton' +# When Kodi is updated, then this should be updated to the corresponding branch +KODI_ADSP_FREESURROUND_VERSION = 34f50406bcba22e364711562e5b9205e57ae844b KODI_ADSP_FREESURROUND_SITE = $(call github,kodi-adsp,adsp.freesurround,$(KODI_ADSP_FREESURROUND_VERSION)) -KODI_ADSP_FREESURROUND_LICENSE = GPLv3+ +KODI_ADSP_FREESURROUND_LICENSE = GPL-3.0+ KODI_ADSP_FREESURROUND_LICENSE_FILES = LICENSE.md KODI_ADSP_FREESURROUND_DEPENDENCIES = libplatform kodi-platform diff --git a/package/kodi-audiodecoder-modplug/kodi-audiodecoder-modplug.hash b/package/kodi-audiodecoder-modplug/kodi-audiodecoder-modplug.hash index 2760b11b53..9b1c2114aa 100644 --- a/package/kodi-audiodecoder-modplug/kodi-audiodecoder-modplug.hash +++ b/package/kodi-audiodecoder-modplug/kodi-audiodecoder-modplug.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 dd4610ba5fdf3f46dcd0deff785d373d3996c6585cbeb39cb4449baafe5ea3df kodi-audiodecoder-modplug-03b772da7ea44ff3c34b322989254cd1e4732443.tar.gz +sha256 8be4f8c6324bf790069e42c963e14733c53fcdc27548f21f4822b178f47b8177 kodi-audiodecoder-modplug-v1.1.0.tar.gz diff --git a/package/kodi-audiodecoder-modplug/kodi-audiodecoder-modplug.mk b/package/kodi-audiodecoder-modplug/kodi-audiodecoder-modplug.mk index 581223c0b9..c5a6f32676 100644 --- a/package/kodi-audiodecoder-modplug/kodi-audiodecoder-modplug.mk +++ b/package/kodi-audiodecoder-modplug/kodi-audiodecoder-modplug.mk @@ -4,9 +4,9 @@ # ################################################################################ -KODI_AUDIODECODER_MODPLUG_VERSION = 03b772da7ea44ff3c34b322989254cd1e4732443 +KODI_AUDIODECODER_MODPLUG_VERSION = v1.1.0 KODI_AUDIODECODER_MODPLUG_SITE = $(call github,notspiff,audiodecoder.modplug,$(KODI_AUDIODECODER_MODPLUG_VERSION)) -KODI_AUDIODECODER_MODPLUG_LICENSE = GPLv2+ +KODI_AUDIODECODER_MODPLUG_LICENSE = GPL-2.0+ KODI_AUDIODECODER_MODPLUG_LICENSE_FILES = src/ModplugCodec.cpp KODI_AUDIODECODER_MODPLUG_DEPENDENCIES = kodi-platform libmodplug diff --git a/package/kodi-audiodecoder-nosefart/kodi-audiodecoder-nosefart.hash b/package/kodi-audiodecoder-nosefart/kodi-audiodecoder-nosefart.hash index b4cd28fea5..df93b25c8e 100644 --- a/package/kodi-audiodecoder-nosefart/kodi-audiodecoder-nosefart.hash +++ b/package/kodi-audiodecoder-nosefart/kodi-audiodecoder-nosefart.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 da65b21ed6218d65b7d382d7fdd9c848a87f6dc766864925979ea8244320db94 kodi-audiodecoder-nosefart-bfab543bae0d9855538cf03e78ea9cd5e3b9750e.tar.gz +sha256 444cc85f4618daa5147a63633db3f300123d5e33b1b5894e7036fa9243e8a535 kodi-audiodecoder-nosefart-v1.1.0.tar.gz diff --git a/package/kodi-audiodecoder-nosefart/kodi-audiodecoder-nosefart.mk b/package/kodi-audiodecoder-nosefart/kodi-audiodecoder-nosefart.mk index 49688a4d9e..f56dc19158 100644 --- a/package/kodi-audiodecoder-nosefart/kodi-audiodecoder-nosefart.mk +++ b/package/kodi-audiodecoder-nosefart/kodi-audiodecoder-nosefart.mk @@ -4,9 +4,9 @@ # ################################################################################ -KODI_AUDIODECODER_NOSEFART_VERSION = bfab543bae0d9855538cf03e78ea9cd5e3b9750e +KODI_AUDIODECODER_NOSEFART_VERSION = v1.1.0 KODI_AUDIODECODER_NOSEFART_SITE = $(call github,notspiff,audiodecoder.nosefart,$(KODI_AUDIODECODER_NOSEFART_VERSION)) -KODI_AUDIODECODER_NOSEFART_LICENSE = GPLv2+ +KODI_AUDIODECODER_NOSEFART_LICENSE = GPL-2.0+ KODI_AUDIODECODER_NOSEFART_LICENSE_FILES = src/NSFCodec.cpp KODI_AUDIODECODER_NOSEFART_DEPENDENCIES = kodi-platform diff --git a/package/kodi-audiodecoder-opus/kodi-audiodecoder-opus.hash b/package/kodi-audiodecoder-opus/kodi-audiodecoder-opus.hash index fa60ce5769..117e9f8337 100644 --- a/package/kodi-audiodecoder-opus/kodi-audiodecoder-opus.hash +++ b/package/kodi-audiodecoder-opus/kodi-audiodecoder-opus.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 74b5736aa21d9cfb8fa835c1dc9cca47817cdb3867f99f5c6aee655f0df476ad kodi-audiodecoder-opus-0bd11e35e6ed8b6480e4100ac8927113cb085eda.tar.gz +sha256 bb7037f903f0396da739005843264acd7227cf96eeeac78b0e36d82872c9acc4 kodi-audiodecoder-opus-d6eb25f0c08033f9a2b4d7402e8baf866ebc731c.tar.gz diff --git a/package/kodi-audiodecoder-opus/kodi-audiodecoder-opus.mk b/package/kodi-audiodecoder-opus/kodi-audiodecoder-opus.mk index efe17f38a9..d93c33ac51 100644 --- a/package/kodi-audiodecoder-opus/kodi-audiodecoder-opus.mk +++ b/package/kodi-audiodecoder-opus/kodi-audiodecoder-opus.mk @@ -4,9 +4,9 @@ # ################################################################################ -KODI_AUDIODECODER_OPUS_VERSION = 0bd11e35e6ed8b6480e4100ac8927113cb085eda +KODI_AUDIODECODER_OPUS_VERSION = d6eb25f0c08033f9a2b4d7402e8baf866ebc731c KODI_AUDIODECODER_OPUS_SITE = $(call github,notspiff,audiodecoder.opus,$(KODI_AUDIODECODER_OPUS_VERSION)) -KODI_AUDIODECODER_OPUS_LICENSE = GPLv2+ +KODI_AUDIODECODER_OPUS_LICENSE = GPL-2.0+ KODI_AUDIODECODER_OPUS_LICENSE_FILES = src/OpusCodec.cpp KODI_AUDIODECODER_OPUS_DEPENDENCIES = kodi-platform libogg opus opusfile diff --git a/package/kodi-audiodecoder-sidplay/kodi-audiodecoder-sidplay.hash b/package/kodi-audiodecoder-sidplay/kodi-audiodecoder-sidplay.hash index f339654f74..b806956a75 100644 --- a/package/kodi-audiodecoder-sidplay/kodi-audiodecoder-sidplay.hash +++ b/package/kodi-audiodecoder-sidplay/kodi-audiodecoder-sidplay.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 11855e7b0311516602eda34c5fa4917d51220a27c3053ea831da149ae4c93757 kodi-audiodecoder-sidplay-d832f050211b4e5f085a8b09bc7d26ce32098169.tar.gz +sha256 527b188679add8043e8cd691af9735b6fe8bd6935ad8ac8312b459d6f160cdac kodi-audiodecoder-sidplay-v1.1.0.tar.gz diff --git a/package/kodi-audiodecoder-sidplay/kodi-audiodecoder-sidplay.mk b/package/kodi-audiodecoder-sidplay/kodi-audiodecoder-sidplay.mk index d8cf438b17..8eb425f443 100644 --- a/package/kodi-audiodecoder-sidplay/kodi-audiodecoder-sidplay.mk +++ b/package/kodi-audiodecoder-sidplay/kodi-audiodecoder-sidplay.mk @@ -4,9 +4,9 @@ # ################################################################################ -KODI_AUDIODECODER_SIDPLAY_VERSION = d832f050211b4e5f085a8b09bc7d26ce32098169 +KODI_AUDIODECODER_SIDPLAY_VERSION = v1.1.0 KODI_AUDIODECODER_SIDPLAY_SITE = $(call github,notspiff,audiodecoder.sidplay,$(KODI_AUDIODECODER_SIDPLAY_VERSION)) -KODI_AUDIODECODER_SIDPLAY_LICENSE = GPLv2+ +KODI_AUDIODECODER_SIDPLAY_LICENSE = GPL-2.0+ KODI_AUDIODECODER_SIDPLAY_LICENSE_FILES = src/SIDCodec.cpp KODI_AUDIODECODER_SIDPLAY_DEPENDENCIES = host-pkgconf kodi-platform libsidplay2 diff --git a/package/kodi-audiodecoder-snesapu/kodi-audiodecoder-snesapu.hash b/package/kodi-audiodecoder-snesapu/kodi-audiodecoder-snesapu.hash index e3da57221a..159d67ecdf 100644 --- a/package/kodi-audiodecoder-snesapu/kodi-audiodecoder-snesapu.hash +++ b/package/kodi-audiodecoder-snesapu/kodi-audiodecoder-snesapu.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 6fd6e5dda0fbcdac280952e0efc0bb255ef99628c892164c26e60ee3f2ab8e4e kodi-audiodecoder-snesapu-db62e88e568994a0496d7026a10e044d70b3aa2b.tar.gz +sha256 20d85822d0c01223903b5e5472a1d029fa4931c2a9ac4d399345c4363fa8f905 kodi-audiodecoder-snesapu-v1.1.0.tar.gz diff --git a/package/kodi-audiodecoder-snesapu/kodi-audiodecoder-snesapu.mk b/package/kodi-audiodecoder-snesapu/kodi-audiodecoder-snesapu.mk index f9f398ca76..6104de717f 100644 --- a/package/kodi-audiodecoder-snesapu/kodi-audiodecoder-snesapu.mk +++ b/package/kodi-audiodecoder-snesapu/kodi-audiodecoder-snesapu.mk @@ -4,9 +4,9 @@ # ################################################################################ -KODI_AUDIODECODER_SNESAPU_VERSION = db62e88e568994a0496d7026a10e044d70b3aa2b +KODI_AUDIODECODER_SNESAPU_VERSION = v1.1.0 KODI_AUDIODECODER_SNESAPU_SITE = $(call github,notspiff,audiodecoder.snesapu,$(KODI_AUDIODECODER_SNESAPU_VERSION)) -KODI_AUDIODECODER_SNESAPU_LICENSE = GPLv2+ +KODI_AUDIODECODER_SNESAPU_LICENSE = GPL-2.0+ KODI_AUDIODECODER_SNESAPU_LICENSE_FILES = src/SPCCodec.cpp KODI_AUDIODECODER_SNESAPU_DEPENDENCIES = kodi-platform diff --git a/package/kodi-audiodecoder-stsound/kodi-audiodecoder-stsound.hash b/package/kodi-audiodecoder-stsound/kodi-audiodecoder-stsound.hash index 164e967634..133e645fa9 100644 --- a/package/kodi-audiodecoder-stsound/kodi-audiodecoder-stsound.hash +++ b/package/kodi-audiodecoder-stsound/kodi-audiodecoder-stsound.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 2bd89d66c493ba354df5c154f313a4bd801ff019ad5c102aa54741b99dd9c608 kodi-audiodecoder-stsound-759ae7eadb94adfde8533a2a42d949c321718625.tar.gz +sha256 c9b6e98d544712f7cec3cf18f866ccaed2fbcd20410179259ae0455ffa967ca4 kodi-audiodecoder-stsound-v1.1.0.tar.gz diff --git a/package/kodi-audiodecoder-stsound/kodi-audiodecoder-stsound.mk b/package/kodi-audiodecoder-stsound/kodi-audiodecoder-stsound.mk index 76010899b0..dd5b9da3f8 100644 --- a/package/kodi-audiodecoder-stsound/kodi-audiodecoder-stsound.mk +++ b/package/kodi-audiodecoder-stsound/kodi-audiodecoder-stsound.mk @@ -4,9 +4,9 @@ # ################################################################################ -KODI_AUDIODECODER_STSOUND_VERSION = 759ae7eadb94adfde8533a2a42d949c321718625 +KODI_AUDIODECODER_STSOUND_VERSION = v1.1.0 KODI_AUDIODECODER_STSOUND_SITE = $(call github,notspiff,audiodecoder.stsound,$(KODI_AUDIODECODER_STSOUND_VERSION)) -KODI_AUDIODECODER_STSOUND_LICENSE = GPLv2+ +KODI_AUDIODECODER_STSOUND_LICENSE = GPL-2.0+ KODI_AUDIODECODER_STSOUND_LICENSE_FILES = src/YMCodec.cpp KODI_AUDIODECODER_STSOUND_DEPENDENCIES = kodi-platform diff --git a/package/kodi-audiodecoder-timidity/Config.in b/package/kodi-audiodecoder-timidity/Config.in index 8f604adf00..3372dc5c05 100644 --- a/package/kodi-audiodecoder-timidity/Config.in +++ b/package/kodi-audiodecoder-timidity/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_KODI_AUDIODECODER_TIMIDITY bool "kodi-audiodecoder-timidity" - select BR2_PACKAGE_KODI_PLATFORM help Timidity decoder addon for Kodi diff --git a/package/kodi-audiodecoder-timidity/kodi-audiodecoder-timidity.hash b/package/kodi-audiodecoder-timidity/kodi-audiodecoder-timidity.hash index d4af0197b3..5711b87a6c 100644 --- a/package/kodi-audiodecoder-timidity/kodi-audiodecoder-timidity.hash +++ b/package/kodi-audiodecoder-timidity/kodi-audiodecoder-timidity.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 2e220b7d279fce73ff289536cd9e94b159ae648514fb8b423977dddb99c50e85 kodi-audiodecoder-timidity-a84559da92aa67744069fc9e9dc885732588c8ce.tar.gz +sha256 83a740010dc7fa01101da370c74e79287ebd67bd28d27125e4372abe2fb3bb47 kodi-audiodecoder-timidity-v1.1.1.tar.gz diff --git a/package/kodi-audiodecoder-timidity/kodi-audiodecoder-timidity.mk b/package/kodi-audiodecoder-timidity/kodi-audiodecoder-timidity.mk index fb680d142f..e4a97fa7f6 100644 --- a/package/kodi-audiodecoder-timidity/kodi-audiodecoder-timidity.mk +++ b/package/kodi-audiodecoder-timidity/kodi-audiodecoder-timidity.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_AUDIODECODER_TIMIDITY_VERSION = a84559da92aa67744069fc9e9dc885732588c8ce +KODI_AUDIODECODER_TIMIDITY_VERSION = v1.1.1 KODI_AUDIODECODER_TIMIDITY_SITE = $(call github,notspiff,audiodecoder.timidity,$(KODI_AUDIODECODER_TIMIDITY_VERSION)) -KODI_AUDIODECODER_TIMIDITY_LICENSE = GPLv2+ +KODI_AUDIODECODER_TIMIDITY_LICENSE = GPL-2.0+ KODI_AUDIODECODER_TIMIDITY_LICENSE_FILES = src/TimidityCodec.cpp -KODI_AUDIODECODER_TIMIDITY_DEPENDENCIES = kodi-platform +KODI_AUDIODECODER_TIMIDITY_DEPENDENCIES = kodi $(eval $(cmake-package)) diff --git a/package/kodi-audiodecoder-vgmstream/kodi-audiodecoder-vgmstream.hash b/package/kodi-audiodecoder-vgmstream/kodi-audiodecoder-vgmstream.hash index 5e6dfab3a3..28f4272e20 100644 --- a/package/kodi-audiodecoder-vgmstream/kodi-audiodecoder-vgmstream.hash +++ b/package/kodi-audiodecoder-vgmstream/kodi-audiodecoder-vgmstream.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 7a376447e8390f01c18f22b57ea553441493625545537a023d5d896272e56369 kodi-audiodecoder-vgmstream-cb2892ac0465b0563ee45f532323198a6f722b62.tar.gz +sha256 40cd4f7f143c9313a4437854e31c460046af47bd709364439f0e370ec464af0d kodi-audiodecoder-vgmstream-v1.1.0.tar.gz diff --git a/package/kodi-audiodecoder-vgmstream/kodi-audiodecoder-vgmstream.mk b/package/kodi-audiodecoder-vgmstream/kodi-audiodecoder-vgmstream.mk index 447d837c47..8dc09fa7e4 100644 --- a/package/kodi-audiodecoder-vgmstream/kodi-audiodecoder-vgmstream.mk +++ b/package/kodi-audiodecoder-vgmstream/kodi-audiodecoder-vgmstream.mk @@ -4,9 +4,9 @@ # ################################################################################ -KODI_AUDIODECODER_VGMSTREAM_VERSION = cb2892ac0465b0563ee45f532323198a6f722b62 +KODI_AUDIODECODER_VGMSTREAM_VERSION = v1.1.0 KODI_AUDIODECODER_VGMSTREAM_SITE = $(call github,notspiff,audiodecoder.vgmstream,$(KODI_AUDIODECODER_VGMSTREAM_VERSION)) -KODI_AUDIODECODER_VGMSTREAM_LICENSE = GPLv2+ +KODI_AUDIODECODER_VGMSTREAM_LICENSE = GPL-2.0+ KODI_AUDIODECODER_VGMSTREAM_LICENSE_FILES = src/VGMCodec.cpp KODI_AUDIODECODER_VGMSTREAM_DEPENDENCIES = kodi-platform diff --git a/package/kodi-audioencoder-flac/kodi-audioencoder-flac.hash b/package/kodi-audioencoder-flac/kodi-audioencoder-flac.hash index f563f56b21..41ddeb4eea 100644 --- a/package/kodi-audioencoder-flac/kodi-audioencoder-flac.hash +++ b/package/kodi-audioencoder-flac/kodi-audioencoder-flac.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 4317a01414577885ef4a0ac4f8d95714b021ad15fc668cbf36eae2fdf400bb33 kodi-audioencoder-flac-v1.0.0.tar.gz +sha256 811dac5766dc9ef1a3447c55637edde55c5ddca1d583124e9312328152015ae5 kodi-audioencoder-flac-v1.1.0.tar.gz diff --git a/package/kodi-audioencoder-flac/kodi-audioencoder-flac.mk b/package/kodi-audioencoder-flac/kodi-audioencoder-flac.mk index ca4882629b..d1c41ca36b 100644 --- a/package/kodi-audioencoder-flac/kodi-audioencoder-flac.mk +++ b/package/kodi-audioencoder-flac/kodi-audioencoder-flac.mk @@ -4,9 +4,9 @@ # ################################################################################ -KODI_AUDIOENCODER_FLAC_VERSION = v1.0.0 +KODI_AUDIOENCODER_FLAC_VERSION = v1.1.0 KODI_AUDIOENCODER_FLAC_SITE = $(call github,xbmc,audioencoder.flac,$(KODI_AUDIOENCODER_FLAC_VERSION)) -KODI_AUDIOENCODER_FLAC_LICENSE = GPLv2+ +KODI_AUDIOENCODER_FLAC_LICENSE = GPL-2.0+ KODI_AUDIOENCODER_FLAC_LICENSE_FILES = src/EncoderFlac.cpp KODI_AUDIOENCODER_FLAC_DEPENDENCIES = flac kodi libogg host-pkgconf diff --git a/package/kodi-audioencoder-lame/kodi-audioencoder-lame.hash b/package/kodi-audioencoder-lame/kodi-audioencoder-lame.hash index ffd38ba803..b93ae02e21 100644 --- a/package/kodi-audioencoder-lame/kodi-audioencoder-lame.hash +++ b/package/kodi-audioencoder-lame/kodi-audioencoder-lame.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 7fbdc6c9111431f49498157204d19dfa94bbf9e5f807b631e84129c6c491225e kodi-audioencoder-lame-v1.0.0.tar.gz +sha256 5118a2925bb0f7eca36b2d0f4d6822b45a8967c9fb91054bfaa8f83d21209c95 kodi-audioencoder-lame-v1.2.0.tar.gz diff --git a/package/kodi-audioencoder-lame/kodi-audioencoder-lame.mk b/package/kodi-audioencoder-lame/kodi-audioencoder-lame.mk index 3e1836fc63..941604ae46 100644 --- a/package/kodi-audioencoder-lame/kodi-audioencoder-lame.mk +++ b/package/kodi-audioencoder-lame/kodi-audioencoder-lame.mk @@ -4,9 +4,9 @@ # ################################################################################ -KODI_AUDIOENCODER_LAME_VERSION = v1.0.0 +KODI_AUDIOENCODER_LAME_VERSION = v1.2.0 KODI_AUDIOENCODER_LAME_SITE = $(call github,xbmc,audioencoder.lame,$(KODI_AUDIOENCODER_LAME_VERSION)) -KODI_AUDIOENCODER_LAME_LICENSE = GPLv2+ +KODI_AUDIOENCODER_LAME_LICENSE = GPL-2.0+ KODI_AUDIOENCODER_LAME_LICENSE_FILES = src/EncoderLame.cpp KODI_AUDIOENCODER_LAME_DEPENDENCIES = kodi lame KODI_AUDIOENCODER_LAME_CONF_OPTS += \ diff --git a/package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.hash b/package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.hash index 47f428c783..094b2fabc6 100644 --- a/package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.hash +++ b/package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 65169e785d82f9081088df2693721f4a7e4b2d24f7e8b1e86b5f443206935303 kodi-audioencoder-vorbis-v1.0.0.tar.gz +sha256 f00c74f010b465d43e8206bcbe155785e1f34660ca010acff3b890595ea2352c kodi-audioencoder-vorbis-v1.1.0.tar.gz diff --git a/package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.mk b/package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.mk index 749ea8e179..198d3b1c64 100644 --- a/package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.mk +++ b/package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.mk @@ -4,9 +4,9 @@ # ################################################################################ -KODI_AUDIOENCODER_VORBIS_VERSION = v1.0.0 +KODI_AUDIOENCODER_VORBIS_VERSION = v1.1.0 KODI_AUDIOENCODER_VORBIS_SITE = $(call github,xbmc,audioencoder.vorbis,$(KODI_AUDIOENCODER_VORBIS_VERSION)) -KODI_AUDIOENCODER_VORBIS_LICENSE = GPLv2+ +KODI_AUDIOENCODER_VORBIS_LICENSE = GPL-2.0+ KODI_AUDIOENCODER_VORBIS_LICENSE_FILES = src/EncoderVorbis.cpp KODI_AUDIOENCODER_VORBIS_DEPENDENCIES = kodi libogg libvorbis host-pkgconf diff --git a/package/kodi-audioencoder-wav/kodi-audioencoder-wav.hash b/package/kodi-audioencoder-wav/kodi-audioencoder-wav.hash index 86eb13cc55..c6bbe79e17 100644 --- a/package/kodi-audioencoder-wav/kodi-audioencoder-wav.hash +++ b/package/kodi-audioencoder-wav/kodi-audioencoder-wav.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 d4e6de5786b9e2bd3fa5e09314c9a60a8daac32cf96e8aa84ab42cacf60f7094 kodi-audioencoder-wav-v1.0.0.tar.gz +sha256 f9b0f79c8364fb7ef584137031fceb8d2ab1af28e110cfe2a31932631cb8d36e kodi-audioencoder-wav-v1.1.0.tar.gz diff --git a/package/kodi-audioencoder-wav/kodi-audioencoder-wav.mk b/package/kodi-audioencoder-wav/kodi-audioencoder-wav.mk index 661ab44bd8..1a9a6b7bbc 100644 --- a/package/kodi-audioencoder-wav/kodi-audioencoder-wav.mk +++ b/package/kodi-audioencoder-wav/kodi-audioencoder-wav.mk @@ -4,9 +4,9 @@ # ################################################################################ -KODI_AUDIOENCODER_WAV_VERSION = v1.0.0 +KODI_AUDIOENCODER_WAV_VERSION = v1.1.0 KODI_AUDIOENCODER_WAV_SITE = $(call github,xbmc,audioencoder.wav,$(KODI_AUDIOENCODER_WAV_VERSION)) -KODI_AUDIOENCODER_WAV_LICENSE = GPLv2+ +KODI_AUDIOENCODER_WAV_LICENSE = GPL-2.0+ KODI_AUDIOENCODER_WAV_LICENSE_FILES = src/EncoderWav.cpp KODI_AUDIOENCODER_WAV_DEPENDENCIES = kodi diff --git a/package/kodi-inputstream-adaptive/Config.in b/package/kodi-inputstream-adaptive/Config.in new file mode 100644 index 0000000000..d5fe5e61cc --- /dev/null +++ b/package/kodi-inputstream-adaptive/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_KODI_INPUTSTREAM_ADAPTIVE + bool "kodi-inputstream-adaptive" + select BR2_PACKAGE_LIBPLATFORM + select BR2_PACKAGE_KODI_PLATFORM + help + Kodi inputstream addon for several manifest types + + https://github.com/peak3d/inputstream.adaptive diff --git a/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.hash b/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.hash new file mode 100644 index 0000000000..0d8f39f6cc --- /dev/null +++ b/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 a214b6f47d4fcd0ceb78819447eb9ff3c5b4519233a46a245c9b558ecda0725f kodi-inputstream-adaptive-f2904b547e940c724dce7412a26744c2698cab66.tar.gz diff --git a/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.mk b/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.mk new file mode 100644 index 0000000000..cc0950346e --- /dev/null +++ b/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# kodi-inputstream-adaptive +# +################################################################################ + +# This cset is on the branch 'Krypton' +# When Kodi is updated, then this should be updated to the corresponding branch +KODI_INPUTSTREAM_ADAPTIVE_VERSION = f2904b547e940c724dce7412a26744c2698cab66 +KODI_INPUTSTREAM_ADAPTIVE_SITE = $(call github,peak3d,inputstream.adaptive,$(KODI_INPUTSTREAM_ADAPTIVE_VERSION)) +KODI_INPUTSTREAM_ADAPTIVE_LICENSE = GPL-2.0+ +KODI_INPUTSTREAM_ADAPTIVE_LICENSE_FILES = src/main.cpp +KODI_INPUTSTREAM_ADAPTIVE_DEPENDENCIES = libplatform kodi-platform + +$(eval $(cmake-package)) diff --git a/package/kodi-inputstream-rtmp/Config.in b/package/kodi-inputstream-rtmp/Config.in new file mode 100644 index 0000000000..c40bff2d7e --- /dev/null +++ b/package/kodi-inputstream-rtmp/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_KODI_INPUTSTREAM_RTMP + bool "kodi-inputstream-rtmp" + select BR2_PACKAGE_RTMPDUMP + help + RTMP input stream add-on for Kodi + + https://github.com/notspiff/inputstream.rtmp diff --git a/package/kodi-inputstream-rtmp/kodi-inputstream-rtmp.hash b/package/kodi-inputstream-rtmp/kodi-inputstream-rtmp.hash new file mode 100644 index 0000000000..f5a82d2aae --- /dev/null +++ b/package/kodi-inputstream-rtmp/kodi-inputstream-rtmp.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 75a3cc87243a7c92a0a2e3f16710a1e60d05cd8dbc8b7fd1852244fbc5da2ae8 kodi-inputstream-rtmp-v1.0.4.tar.gz diff --git a/package/kodi-inputstream-rtmp/kodi-inputstream-rtmp.mk b/package/kodi-inputstream-rtmp/kodi-inputstream-rtmp.mk new file mode 100644 index 0000000000..80c4bccd67 --- /dev/null +++ b/package/kodi-inputstream-rtmp/kodi-inputstream-rtmp.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# kodi-inputstream-rtmp +# +################################################################################ + +KODI_INPUTSTREAM_RTMP_VERSION = v1.0.4 +KODI_INPUTSTREAM_RTMP_SITE = $(call github,notspiff,inputstream.rtmp,$(KODI_INPUTSTREAM_RTMP_VERSION)) +KODI_INPUTSTREAM_RTMP_LICENSE = GPL-2.0+ +KODI_INPUTSTREAM_RTMP_LICENSE_FILES = src/RTMPStream.cpp +KODI_INPUTSTREAM_RTMP_DEPENDENCIES = kodi rtmpdump + +$(eval $(cmake-package)) diff --git a/package/kodi-jsonschemabuilder/kodi-jsonschemabuilder.hash b/package/kodi-jsonschemabuilder/kodi-jsonschemabuilder.hash new file mode 120000 index 0000000000..a575750997 --- /dev/null +++ b/package/kodi-jsonschemabuilder/kodi-jsonschemabuilder.hash @@ -0,0 +1 @@ +../kodi/kodi.hash \ No newline at end of file diff --git a/package/kodi-jsonschemabuilder/kodi-jsonschemabuilder.mk b/package/kodi-jsonschemabuilder/kodi-jsonschemabuilder.mk new file mode 100644 index 0000000000..3bb67d88a1 --- /dev/null +++ b/package/kodi-jsonschemabuilder/kodi-jsonschemabuilder.mk @@ -0,0 +1,25 @@ +################################################################################ +# +# kodi-jsonschemabuilder +# +################################################################################ + +# Not possible to directly refer to kodi variables, because of +# first/second expansion trickery... +KODI_JSONSCHEMABUILDER_VERSION = 17.5-Krypton +KODI_JSONSCHEMABUILDER_SITE = $(call github,xbmc,xbmc,$(KODI_JSONSCHEMABUILDER_VERSION)) +KODI_JSONSCHEMABUILDER_SOURCE = kodi-$(KODI_JSONSCHEMABUILDER_VERSION).tar.gz +KODI_JSONSCHEMABUILDER_LICENSE = GPL-2.0 +KODI_JSONSCHEMABUILDER_LICENSE_FILES = LICENSE.GPL +HOST_KODI_JSONSCHEMABUILDER_SUBDIR = tools/depends/native/JsonSchemaBuilder + +HOST_KODI_JSONSCHEMABUILDER_CONF_OPTS = \ + -DCMAKE_MODULE_PATH=$(@D)/project/cmake/modules + +define HOST_KODI_JSONSCHEMABUILDER_INSTALL_CMDS + $(INSTALL) -m 755 -D \ + $(@D)/tools/depends/native/JsonSchemaBuilder/JsonSchemaBuilder \ + $(HOST_DIR)/bin/JsonSchemaBuilder +endef + +$(eval $(host-cmake-package)) diff --git a/package/kodi-peripheral-joystick/Config.in b/package/kodi-peripheral-joystick/Config.in new file mode 100644 index 0000000000..f257710a88 --- /dev/null +++ b/package/kodi-peripheral-joystick/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_KODI_PERIPHERAL_JOYSTICK + bool "kodi-peripheral-joystick" + depends on BR2_PACKAGE_HAS_UDEV + select BR2_PACKAGE_KODI_PLATFORM + help + Kodi joystick support (drivers and button maps) + + https://github.com/xbmc/peripheral.joystick + +comment "kodi-peripheral-joystick needs udev /dev management" + depends on !BR2_PACKAGE_HAS_UDEV diff --git a/package/kodi-peripheral-joystick/kodi-peripheral-joystick.hash b/package/kodi-peripheral-joystick/kodi-peripheral-joystick.hash new file mode 100644 index 0000000000..ca2bdc378c --- /dev/null +++ b/package/kodi-peripheral-joystick/kodi-peripheral-joystick.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 c2025c4ec280b44b5d8bb1c34185a94cc105f66f0b762087804bb7d2d633d999 kodi-peripheral-joystick-v1.3.2.tar.gz diff --git a/package/kodi-peripheral-joystick/kodi-peripheral-joystick.mk b/package/kodi-peripheral-joystick/kodi-peripheral-joystick.mk new file mode 100644 index 0000000000..f0cad13a27 --- /dev/null +++ b/package/kodi-peripheral-joystick/kodi-peripheral-joystick.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# kodi-peripheral-joystick +# +################################################################################ + +# This cset is on the branch 'Krypton' +# When Kodi is updated, then this should be updated to the corresponding branch +KODI_PERIPHERAL_JOYSTICK_VERSION = v1.3.2 +KODI_PERIPHERAL_JOYSTICK_SITE = $(call github,xbmc,peripheral.joystick,$(KODI_PERIPHERAL_JOYSTICK_VERSION)) +KODI_PERIPHERAL_JOYSTICK_LICENSE = GPL-2.0+ +KODI_PERIPHERAL_JOYSTICK_LICENSE_FILES = src/addon.cpp +KODI_PERIPHERAL_JOYSTICK_DEPENDENCIES = kodi-platform udev + +$(eval $(cmake-package)) diff --git a/package/kodi-peripheral-steamcontroller/Config.in b/package/kodi-peripheral-steamcontroller/Config.in new file mode 100644 index 0000000000..a994f4c9fb --- /dev/null +++ b/package/kodi-peripheral-steamcontroller/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_KODI_PERIPHERAL_STEAMCONTROLLER + bool "kodi-peripheral-steamcontroller" + select BR2_PACKAGE_KODI_PLATFORM + select BR2_PACKAGE_LIBUSB + help + Steam controller driver for Kodi + + https://github.com/kodi-game/peripheral.steamcontroller diff --git a/package/kodi-peripheral-steamcontroller/kodi-peripheral-steamcontroller.hash b/package/kodi-peripheral-steamcontroller/kodi-peripheral-steamcontroller.hash new file mode 100644 index 0000000000..c0b3bf6e22 --- /dev/null +++ b/package/kodi-peripheral-steamcontroller/kodi-peripheral-steamcontroller.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 d5547b78ba84c9743c884a9377c398b540bfcf23e467e1edf8be2625d400c205 kodi-peripheral-steamcontroller-ef527cd81cfcd6c8342691f5c764e5c51df1fca2.tar.gz diff --git a/package/kodi-peripheral-steamcontroller/kodi-peripheral-steamcontroller.mk b/package/kodi-peripheral-steamcontroller/kodi-peripheral-steamcontroller.mk new file mode 100644 index 0000000000..98cccc8520 --- /dev/null +++ b/package/kodi-peripheral-steamcontroller/kodi-peripheral-steamcontroller.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# kodi-peripheral-steamcontroller +# +################################################################################ + +KODI_PERIPHERAL_STEAMCONTROLLER_VERSION = ef527cd81cfcd6c8342691f5c764e5c51df1fca2 +KODI_PERIPHERAL_STEAMCONTROLLER_SITE = $(call github,kodi-game,peripheral.steamcontroller,$(KODI_PERIPHERAL_STEAMCONTROLLER_VERSION)) +KODI_PERIPHERAL_STEAMCONTROLLER_LICENSE = GPL-2.0+ +KODI_PERIPHERAL_STEAMCONTROLLER_LICENSE_FILES = src/addon.cpp +KODI_PERIPHERAL_STEAMCONTROLLER_DEPENDENCIES = kodi-platform libusb + +$(eval $(cmake-package)) diff --git a/package/kodi-peripheral-xarcade/Config.in b/package/kodi-peripheral-xarcade/Config.in new file mode 100644 index 0000000000..8d3c678523 --- /dev/null +++ b/package/kodi-peripheral-xarcade/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_KODI_PERIPHERAL_XARCADE + bool "kodi-peripheral-xarcade" + help + X-Arcade Tankstick support for Kodi + + https://github.com/kodi-game/peripheral.xarcade diff --git a/package/kodi-peripheral-xarcade/kodi-peripheral-xarcade.hash b/package/kodi-peripheral-xarcade/kodi-peripheral-xarcade.hash new file mode 100644 index 0000000000..48dc5a0415 --- /dev/null +++ b/package/kodi-peripheral-xarcade/kodi-peripheral-xarcade.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 cd503e7f1413214693c28b59f19f3fffe0a54cff5c29d43b2eca9bb31c10edeb kodi-peripheral-xarcade-f1875ba4b7aa6ce85ec40fedf48ed5501c79e5fd.tar.gz diff --git a/package/kodi-peripheral-xarcade/kodi-peripheral-xarcade.mk b/package/kodi-peripheral-xarcade/kodi-peripheral-xarcade.mk new file mode 100644 index 0000000000..c4ddba3eb5 --- /dev/null +++ b/package/kodi-peripheral-xarcade/kodi-peripheral-xarcade.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# kodi-peripheral-xarcade +# +################################################################################ + +KODI_PERIPHERAL_XARCADE_VERSION = f1875ba4b7aa6ce85ec40fedf48ed5501c79e5fd +KODI_PERIPHERAL_XARCADE_SITE = $(call github,kodi-game,peripheral.xarcade,$(KODI_PERIPHERAL_XARCADE_VERSION)) +KODI_PERIPHERAL_XARCADE_LICENSE = GPL-2.0+ +KODI_PERIPHERAL_XARCADE_LICENSE_FILES = src/addon.cpp +KODI_PERIPHERAL_XARCADE_DEPENDENCIES = kodi + +$(eval $(cmake-package)) diff --git a/package/kodi-platform/kodi-platform.hash b/package/kodi-platform/kodi-platform.hash index a2484484e3..d99c6225cb 100644 --- a/package/kodi-platform/kodi-platform.hash +++ b/package/kodi-platform/kodi-platform.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 88741358d5d54a0031553ac28aa63bc56c44d994a76f8651bac94a1e244a6595 kodi-platform-45d6ad1984fdb1dc855076ff18484dbec33939d1.tar.gz +sha256 c53f37888d752e233f5adabc6ecfb8a1ea02728e010007200bbf671f6b9462de kodi-platform-36fb49371dbce49bf470a5bb1fc51b74b4a3612d.tar.gz diff --git a/package/kodi-platform/kodi-platform.mk b/package/kodi-platform/kodi-platform.mk index 4b642f9cfe..53f8ce956b 100644 --- a/package/kodi-platform/kodi-platform.mk +++ b/package/kodi-platform/kodi-platform.mk @@ -4,9 +4,9 @@ # ################################################################################ -KODI_PLATFORM_VERSION = 45d6ad1984fdb1dc855076ff18484dbec33939d1 +KODI_PLATFORM_VERSION = 36fb49371dbce49bf470a5bb1fc51b74b4a3612d KODI_PLATFORM_SITE = $(call github,xbmc,kodi-platform,$(KODI_PLATFORM_VERSION)) -KODI_PLATFORM_LICENSE = GPLv2+ +KODI_PLATFORM_LICENSE = GPL-2.0+ KODI_PLATFORM_LICENSE_FILES = src/util/XMLUtils.h KODI_PLATFORM_INSTALL_STAGING = YES KODI_PLATFORM_DEPENDENCIES = libplatform kodi diff --git a/package/kodi-pvr-argustv/kodi-pvr-argustv.hash b/package/kodi-pvr-argustv/kodi-pvr-argustv.hash index ef6438797e..138efa1d05 100644 --- a/package/kodi-pvr-argustv/kodi-pvr-argustv.hash +++ b/package/kodi-pvr-argustv/kodi-pvr-argustv.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 68fab94cabbeb0fbf6fac0fcb66e8362505ee736ae3b72c4e29867cfc44b595b kodi-pvr-argustv-2aca01c6db28fe3145b57eb5bf5841895c618507.tar.gz +sha256 ba9e4d76b9e6d2d879e95eeda0d919ca5eabc0d6f59037f173cd9294b2ce8e4a kodi-pvr-argustv-2.5.6-Krypton.tar.gz diff --git a/package/kodi-pvr-argustv/kodi-pvr-argustv.mk b/package/kodi-pvr-argustv/kodi-pvr-argustv.mk index 3c0f40a29e..2cf4d75293 100644 --- a/package/kodi-pvr-argustv/kodi-pvr-argustv.mk +++ b/package/kodi-pvr-argustv/kodi-pvr-argustv.mk @@ -4,11 +4,11 @@ # ################################################################################ -# This cset is on the branch 'Jarvis' +# This cset is on the branch 'Krypton' # When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_ARGUSTV_VERSION = 2aca01c6db28fe3145b57eb5bf5841895c618507 +KODI_PVR_ARGUSTV_VERSION = 2.5.6-Krypton KODI_PVR_ARGUSTV_SITE = $(call github,kodi-pvr,pvr.argustv,$(KODI_PVR_ARGUSTV_VERSION)) -KODI_PVR_ARGUSTV_LICENSE = GPLv2+ +KODI_PVR_ARGUSTV_LICENSE = GPL-2.0+ KODI_PVR_ARGUSTV_LICENSE_FILES = src/client.h KODI_PVR_ARGUSTV_DEPENDENCIES = jsoncpp kodi-platform diff --git a/package/kodi-pvr-dvblink/kodi-pvr-dvblink.hash b/package/kodi-pvr-dvblink/kodi-pvr-dvblink.hash index 713aae0ec6..e9b867318d 100644 --- a/package/kodi-pvr-dvblink/kodi-pvr-dvblink.hash +++ b/package/kodi-pvr-dvblink/kodi-pvr-dvblink.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 1c359c1a59c50f98910ec1d4bc332cd9360447e05d63f0d90b07a7ba22bc7ab6 kodi-pvr-dvblink-06c4e5603e4db0bda3f35e80344a308f486ae0f9.tar.gz +sha256 a45fff0c1fe6d91fd957e2a4e62e9c72a5c36d796c41caa6b1e5a4814f82a503 kodi-pvr-dvblink-3.4.5v2-Krypton.tar.gz diff --git a/package/kodi-pvr-dvblink/kodi-pvr-dvblink.mk b/package/kodi-pvr-dvblink/kodi-pvr-dvblink.mk index 75ce6217b4..9860b63b2a 100644 --- a/package/kodi-pvr-dvblink/kodi-pvr-dvblink.mk +++ b/package/kodi-pvr-dvblink/kodi-pvr-dvblink.mk @@ -4,11 +4,11 @@ # ################################################################################ -# This cset is on the branch 'Jarvis' +# This cset is on the branch 'Krypton' # When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_DVBLINK_VERSION = 06c4e5603e4db0bda3f35e80344a308f486ae0f9 +KODI_PVR_DVBLINK_VERSION = 3.4.5v2-Krypton KODI_PVR_DVBLINK_SITE = $(call github,kodi-pvr,pvr.dvblink,$(KODI_PVR_DVBLINK_VERSION)) -KODI_PVR_DVBLINK_LICENSE = GPLv2+ +KODI_PVR_DVBLINK_LICENSE = GPL-2.0+ KODI_PVR_DVBLINK_LICENSE_FILES = src/client.h KODI_PVR_DVBLINK_DEPENDENCIES = kodi-platform tinyxml2 diff --git a/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.hash b/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.hash index 785fd6c2a7..ccb45219cc 100644 --- a/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.hash +++ b/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 a6a6d63e4b88df0d8b5166efdc09f6410cae736e610b328aaea49c8688bfce82 kodi-pvr-dvbviewer-26286604635a170eeea68df9b7eb52fea0056cfe.tar.gz +sha256 4332fa50172409271909c90a8f923eb336ff93b0a7d61b183ce84d6975fa622e kodi-pvr-dvbviewer-2.4.11-Krypton.tar.gz diff --git a/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.mk b/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.mk index b2fae52212..0c62c5a5b9 100644 --- a/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.mk +++ b/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.mk @@ -4,11 +4,11 @@ # ################################################################################ -# This cset is on the branch 'Jarvis' +# This cset is on the branch 'Krypton' # When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_DVBVIEWER_VERSION = 26286604635a170eeea68df9b7eb52fea0056cfe +KODI_PVR_DVBVIEWER_VERSION = 2.4.11-Krypton KODI_PVR_DVBVIEWER_SITE = $(call github,kodi-pvr,pvr.dvbviewer,$(KODI_PVR_DVBVIEWER_VERSION)) -KODI_PVR_DVBVIEWER_LICENSE = GPLv2+ +KODI_PVR_DVBVIEWER_LICENSE = GPL-2.0+ KODI_PVR_DVBVIEWER_LICENSE_FILES = src/client.h KODI_PVR_DVBVIEWER_DEPENDENCIES = kodi-platform diff --git a/package/kodi-pvr-filmon/kodi-pvr-filmon.hash b/package/kodi-pvr-filmon/kodi-pvr-filmon.hash index b60df98235..7417b26723 100644 --- a/package/kodi-pvr-filmon/kodi-pvr-filmon.hash +++ b/package/kodi-pvr-filmon/kodi-pvr-filmon.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 4a51ba62239c96c16c569ca47bc7aac4a2e9e9ef4ae09dfc23d10be15afdee34 kodi-pvr-filmon-4b34b41999b86e675f794ec8e5a63c85b78c001e.tar.gz +sha256 0384db9cbcd8ab2e7b8b0eb8c22e8913e734e436234c43d357718c5273058605 kodi-pvr-filmon-1.4.8-Krypton.tar.gz diff --git a/package/kodi-pvr-filmon/kodi-pvr-filmon.mk b/package/kodi-pvr-filmon/kodi-pvr-filmon.mk index 0174aa4547..daa3e39dfc 100644 --- a/package/kodi-pvr-filmon/kodi-pvr-filmon.mk +++ b/package/kodi-pvr-filmon/kodi-pvr-filmon.mk @@ -4,11 +4,11 @@ # ################################################################################ -# This cset is on the branch 'Jarvis' +# This cset is on the branch 'Krypton' # When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_FILMON_VERSION = 4b34b41999b86e675f794ec8e5a63c85b78c001e +KODI_PVR_FILMON_VERSION = 1.4.8-Krypton KODI_PVR_FILMON_SITE = $(call github,kodi-pvr,pvr.filmon,$(KODI_PVR_FILMON_VERSION)) -KODI_PVR_FILMON_LICENSE = GPLv2+ +KODI_PVR_FILMON_LICENSE = GPL-2.0+ KODI_PVR_FILMON_LICENSE_FILES = src/client.h KODI_PVR_FILMON_DEPENDENCIES = jsoncpp kodi-platform diff --git a/package/kodi-pvr-hdhomerun/kodi-pvr-hdhomerun.hash b/package/kodi-pvr-hdhomerun/kodi-pvr-hdhomerun.hash index fcf0468885..8262f4e111 100644 --- a/package/kodi-pvr-hdhomerun/kodi-pvr-hdhomerun.hash +++ b/package/kodi-pvr-hdhomerun/kodi-pvr-hdhomerun.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 84c7dd60db6e0d0c40cc83a70ad860127d0e5c8e77c6091014055372cad5fe1f kodi-pvr-hdhomerun-aa4324eaa5f738394f21d3f54667e346eb65038e.tar.gz +sha256 3c000b3ebab2b12f5635451f6a71ad01c4f4d7043623cfeebfe6b7c662e026d9 kodi-pvr-hdhomerun-2.4.7-Krypton.tar.gz diff --git a/package/kodi-pvr-hdhomerun/kodi-pvr-hdhomerun.mk b/package/kodi-pvr-hdhomerun/kodi-pvr-hdhomerun.mk index 67980fba93..75fa48764a 100644 --- a/package/kodi-pvr-hdhomerun/kodi-pvr-hdhomerun.mk +++ b/package/kodi-pvr-hdhomerun/kodi-pvr-hdhomerun.mk @@ -4,11 +4,11 @@ # ################################################################################ -# This cset is on the branch 'Jarvis' +# This cset is on the branch 'Krypton' # When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_HDHOMERUN_VERSION = aa4324eaa5f738394f21d3f54667e346eb65038e +KODI_PVR_HDHOMERUN_VERSION = 2.4.7-Krypton KODI_PVR_HDHOMERUN_SITE = $(call github,kodi-pvr,pvr.hdhomerun,$(KODI_PVR_HDHOMERUN_VERSION)) -KODI_PVR_HDHOMERUN_LICENSE = GPLv2+ +KODI_PVR_HDHOMERUN_LICENSE = GPL-2.0+ KODI_PVR_HDHOMERUN_LICENSE_FILES = src/client.h KODI_PVR_HDHOMERUN_DEPENDENCIES = jsoncpp kodi-platform libhdhomerun diff --git a/package/kodi-pvr-hts/kodi-pvr-hts.hash b/package/kodi-pvr-hts/kodi-pvr-hts.hash index 369e6c0232..87eafac855 100644 --- a/package/kodi-pvr-hts/kodi-pvr-hts.hash +++ b/package/kodi-pvr-hts/kodi-pvr-hts.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 004dee4455d5d539b5e42d663659d4886d9a8650847ad614fa2179bbaace3783 kodi-pvr-hts-3c673b5b29fc26c203c79f7df58680af50a1afa7.tar.gz +sha256 96e949526ebf4af542da572e704c0c052ec807408dc0ea65603a15614b889dd1 kodi-pvr-hts-3211941dade740ad92581f488402146794798e74.tar.gz diff --git a/package/kodi-pvr-hts/kodi-pvr-hts.mk b/package/kodi-pvr-hts/kodi-pvr-hts.mk index 4ca5a318fd..7f43b04853 100644 --- a/package/kodi-pvr-hts/kodi-pvr-hts.mk +++ b/package/kodi-pvr-hts/kodi-pvr-hts.mk @@ -4,11 +4,11 @@ # ################################################################################ -# This cset is on the branch 'Jarvis' +# This cset is on the branch 'Krypton' # When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_HTS_VERSION = 3c673b5b29fc26c203c79f7df58680af50a1afa7 +KODI_PVR_HTS_VERSION = 3211941dade740ad92581f488402146794798e74 KODI_PVR_HTS_SITE = $(call github,kodi-pvr,pvr.hts,$(KODI_PVR_HTS_VERSION)) -KODI_PVR_HTS_LICENSE = GPLv2+ +KODI_PVR_HTS_LICENSE = GPL-2.0+ KODI_PVR_HTS_LICENSE_FILES = src/client.h KODI_PVR_HTS_DEPENDENCIES = kodi-platform diff --git a/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.hash b/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.hash index cdf94fdb9f..0b0406feb8 100644 --- a/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.hash +++ b/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 5b5c67f70f47c52ccda673c3a98b5a81827835fb74289754bebf840133a84d56 kodi-pvr-iptvsimple-ae9bc1d94e97c5381b2fa59adac70a57146016cd.tar.gz +sha256 329bd71e5c786d7b037bf5fd103ee4abff892afc6e5186a5d0a797194a8c4c7c kodi-pvr-iptvsimple-2.4.14-Krypton.tar.gz diff --git a/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.mk b/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.mk index 85039dd969..0df509ea6a 100644 --- a/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.mk +++ b/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.mk @@ -4,11 +4,11 @@ # ################################################################################ -# This cset is on the branch 'Jarvis' +# This cset is on the branch 'Krypton' # When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_IPTVSIMPLE_VERSION = ae9bc1d94e97c5381b2fa59adac70a57146016cd +KODI_PVR_IPTVSIMPLE_VERSION = 2.4.14-Krypton KODI_PVR_IPTVSIMPLE_SITE = $(call github,kodi-pvr,pvr.iptvsimple,$(KODI_PVR_IPTVSIMPLE_VERSION)) -KODI_PVR_IPTVSIMPLE_LICENSE = GPLv2+ +KODI_PVR_IPTVSIMPLE_LICENSE = GPL-2.0+ KODI_PVR_IPTVSIMPLE_LICENSE_FILES = src/client.h KODI_PVR_IPTVSIMPLE_DEPENDENCIES = kodi-platform diff --git a/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.hash b/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.hash index 74770fd3d9..6eb0abfbaf 100644 --- a/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.hash +++ b/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 45590c1b8dc57f2b5921641c864e68671c32db33f55db82ca62411557e9278b9 kodi-pvr-mediaportal-tvserver-a3dd464379a56131bae61b94275c14a3abcf2869.tar.gz +sha256 3f5c022f83636b3739f26c1a07166b498eac82e8081ed7551980f4bb27c6b56e kodi-pvr-mediaportal-tvserver-2.4.19v2-Krypton.tar.gz diff --git a/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.mk b/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.mk index e3a4df4390..99a318911e 100644 --- a/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.mk +++ b/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.mk @@ -4,11 +4,11 @@ # ################################################################################ -# This cset is on the branch 'Jarvis' +# This cset is on the branch 'Krypton' # When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_MEDIAPORTAL_TVSERVER_VERSION = a3dd464379a56131bae61b94275c14a3abcf2869 +KODI_PVR_MEDIAPORTAL_TVSERVER_VERSION = 2.4.19v2-Krypton KODI_PVR_MEDIAPORTAL_TVSERVER_SITE = $(call github,kodi-pvr,pvr.mediaportal.tvserver,$(KODI_PVR_MEDIAPORTAL_TVSERVER_VERSION)) -KODI_PVR_MEDIAPORTAL_TVSERVER_LICENSE = GPLv2+ +KODI_PVR_MEDIAPORTAL_TVSERVER_LICENSE = GPL-2.0+ KODI_PVR_MEDIAPORTAL_TVSERVER_LICENSE_FILES = src/client.h KODI_PVR_MEDIAPORTAL_TVSERVER_DEPENDENCIES = kodi-platform diff --git a/package/kodi-pvr-mythtv/kodi-pvr-mythtv.hash b/package/kodi-pvr-mythtv/kodi-pvr-mythtv.hash index 0e9eba87e2..82923a89aa 100644 --- a/package/kodi-pvr-mythtv/kodi-pvr-mythtv.hash +++ b/package/kodi-pvr-mythtv/kodi-pvr-mythtv.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 f6d61b134a96a25820b616e60e43ac1ed33bd3f8b9f7612a6f6324356b78582d kodi-pvr-mythtv-84b0b6b122ca779588de5c895ef77b6bc454e859.tar.gz +sha256 fd60aba0dac25ab5885371495a5dfca53308c1fa23215299b0f62997c7391e1e kodi-pvr-mythtv-4.15.3.tar.gz diff --git a/package/kodi-pvr-mythtv/kodi-pvr-mythtv.mk b/package/kodi-pvr-mythtv/kodi-pvr-mythtv.mk index a8a1a6daee..8099ffae3e 100644 --- a/package/kodi-pvr-mythtv/kodi-pvr-mythtv.mk +++ b/package/kodi-pvr-mythtv/kodi-pvr-mythtv.mk @@ -4,11 +4,11 @@ # ################################################################################ -# This cset is on the branch 'Jarvis' +# This cset is on the branch 'Krypton' # When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_MYTHTV_VERSION = 84b0b6b122ca779588de5c895ef77b6bc454e859 -KODI_PVR_MYTHTV_SITE = $(call github,kodi-pvr,pvr.mythtv,$(KODI_PVR_MYTHTV_VERSION)) -KODI_PVR_MYTHTV_LICENSE = GPLv2+ +KODI_PVR_MYTHTV_VERSION = 4.15.3 +KODI_PVR_MYTHTV_SITE = $(call github,janbar,pvr.mythtv,$(KODI_PVR_MYTHTV_VERSION)) +KODI_PVR_MYTHTV_LICENSE = GPL-2.0+ KODI_PVR_MYTHTV_LICENSE_FILES = src/client.h KODI_PVR_MYTHTV_DEPENDENCIES = kodi-platform diff --git a/package/kodi-pvr-nextpvr/0001-Sync-enum-representation-of-char_class_e-in-struct-t.patch b/package/kodi-pvr-nextpvr/0001-Sync-enum-representation-of-char_class_e-in-struct-t.patch deleted file mode 100644 index 18e59951c6..0000000000 --- a/package/kodi-pvr-nextpvr/0001-Sync-enum-representation-of-char_class_e-in-struct-t.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 2698ac4eeca3a82967ff83386460c070ce387ead Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Sun, 28 Feb 2016 01:07:52 +0100 -Subject: [PATCH] Sync enum representation of char_class_e in struct traits - with definition - -Copied from -https://github.com/kodi-pvr/pvr.mediaportal.tvserver/pull/28 -https://github.com/kodi-pvr/pvr.mediaportal.tvserver/pull/35 - -Signed-off-by: Bernd Kuhls -[Patch sent upstream: https://github.com/kodi-pvr/pvr.nextpvr/pull/42] ---- - src/uri.h | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/uri.h b/src/uri.h -index 2757cf0..3dbca88 100644 ---- a/src/uri.h -+++ b/src/uri.h -@@ -21,13 +21,13 @@ - namespace uri - { - /// Char class. -- enum char_class_e -+ typedef enum char_class_e : signed char - { - CINV = -2, ///< invalid - CEND = -1, ///< end delimitor - CVAL = 0, ///< valid any position - CVA2 = 1, ///< valid anywhere but 1st position -- }; -+ } char_class_e_type; - - /// Traits used for parsing and encoding components. - struct traits -@@ -35,7 +35,7 @@ namespace uri - const char* begin_cstring; ///< begin cstring (or 0 if none) - const char begin_char; ///< begin char (or 0 if none) - const char end_char; ///< end char (or 0 if none) -- char char_class[256]; ///< map of char to class -+ const char_class_e_type char_class[256]; ///< map of char to class - }; - - /** --- -2.7.0 - diff --git a/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.hash b/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.hash index 64c09cfe65..3d10b5bbec 100644 --- a/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.hash +++ b/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 8c4a36c21dc65cc358b34e5c2db849997f0add2501c3f787f99df3ae0ea850c5 kodi-pvr-nextpvr-2055105c93e18e04e73c87578bece3edf7525e14.tar.gz +sha256 b126943a6d48ea4d2df38951505f385c2a499e399201eccd798a34076d3c5842 kodi-pvr-nextpvr-2.4.13-Krypton.tar.gz diff --git a/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.mk b/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.mk index a8b823543e..d0a04991d9 100644 --- a/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.mk +++ b/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.mk @@ -4,11 +4,11 @@ # ################################################################################ -# This cset is on the branch 'Jarvis' +# This cset is on the branch 'Krypton' # When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_NEXTPVR_VERSION = 2055105c93e18e04e73c87578bece3edf7525e14 +KODI_PVR_NEXTPVR_VERSION = 2.4.13-Krypton KODI_PVR_NEXTPVR_SITE = $(call github,kodi-pvr,pvr.nextpvr,$(KODI_PVR_NEXTPVR_VERSION)) -KODI_PVR_NEXTPVR_LICENSE = GPLv2+ +KODI_PVR_NEXTPVR_LICENSE = GPL-2.0+ KODI_PVR_NEXTPVR_LICENSE_FILES = src/client.h KODI_PVR_NEXTPVR_DEPENDENCIES = kodi-platform diff --git a/package/kodi-pvr-njoy/kodi-pvr-njoy.hash b/package/kodi-pvr-njoy/kodi-pvr-njoy.hash index c6006d2a33..261558ee3f 100644 --- a/package/kodi-pvr-njoy/kodi-pvr-njoy.hash +++ b/package/kodi-pvr-njoy/kodi-pvr-njoy.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 aa5e8b471993326be3622056a26ebf7387ac4758348e8f64632c1fc6979d993e kodi-pvr-njoy-480c1591d486c6166746fb8b5efc68a7aca3d0f0.tar.gz +sha256 e4e0a6bb1bf0c6f8ae011eba58c5f0ae19a6574bb35fc6a7fbdbb99d20242a2c kodi-pvr-njoy-2.4.3-Krypton.tar.gz diff --git a/package/kodi-pvr-njoy/kodi-pvr-njoy.mk b/package/kodi-pvr-njoy/kodi-pvr-njoy.mk index 0f2eecd3a6..e946e6783d 100644 --- a/package/kodi-pvr-njoy/kodi-pvr-njoy.mk +++ b/package/kodi-pvr-njoy/kodi-pvr-njoy.mk @@ -4,11 +4,11 @@ # ################################################################################ -# This cset is on the branch 'Jarvis' +# This cset is on the branch 'Krypton' # When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_NJOY_VERSION = 480c1591d486c6166746fb8b5efc68a7aca3d0f0 +KODI_PVR_NJOY_VERSION = 2.4.3-Krypton KODI_PVR_NJOY_SITE = $(call github,kodi-pvr,pvr.njoy,$(KODI_PVR_NJOY_VERSION)) -KODI_PVR_NJOY_LICENSE = GPLv2+ +KODI_PVR_NJOY_LICENSE = GPL-2.0+ KODI_PVR_NJOY_LICENSE_FILES = src/client.h KODI_PVR_NJOY_DEPENDENCIES = kodi-platform diff --git a/package/kodi-pvr-pctv/kodi-pvr-pctv.hash b/package/kodi-pvr-pctv/kodi-pvr-pctv.hash index 0ff481a3e5..5044806761 100644 --- a/package/kodi-pvr-pctv/kodi-pvr-pctv.hash +++ b/package/kodi-pvr-pctv/kodi-pvr-pctv.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 4c045722c326dfe152ffadb8d966e8db4caa6128a7c53b2a852fce85f803bcbc kodi-pvr-pctv-0096770e96f84c46f444e159b9b737ac8b4238dc.tar.gz +sha256 95f95f39739baf6013bb6c9188743f842f6ba3e1fa541907067f795e1a3c66a1 kodi-pvr-pctv-1.4.7-Krypton.tar.gz diff --git a/package/kodi-pvr-pctv/kodi-pvr-pctv.mk b/package/kodi-pvr-pctv/kodi-pvr-pctv.mk index a9824d5c0d..6c7a03049d 100644 --- a/package/kodi-pvr-pctv/kodi-pvr-pctv.mk +++ b/package/kodi-pvr-pctv/kodi-pvr-pctv.mk @@ -4,11 +4,11 @@ # ################################################################################ -# This cset is on the branch 'Jarvis' +# This cset is on the branch 'Krypton' # When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_PCTV_VERSION = 0096770e96f84c46f444e159b9b737ac8b4238dc +KODI_PVR_PCTV_VERSION = 1.4.7-Krypton KODI_PVR_PCTV_SITE = $(call github,kodi-pvr,pvr.pctv,$(KODI_PVR_PCTV_VERSION)) -KODI_PVR_PCTV_LICENSE = GPLv2+ +KODI_PVR_PCTV_LICENSE = GPL-2.0+ KODI_PVR_PCTV_LICENSE_FILES = src/client.h KODI_PVR_PCTV_DEPENDENCIES = jsoncpp kodi-platform diff --git a/package/kodi-pvr-stalker/0001-src-CWatchdog.h-Fix-gcc7-build.patch b/package/kodi-pvr-stalker/0001-src-CWatchdog.h-Fix-gcc7-build.patch new file mode 100644 index 0000000000..2d85f6bc6f --- /dev/null +++ b/package/kodi-pvr-stalker/0001-src-CWatchdog.h-Fix-gcc7-build.patch @@ -0,0 +1,29 @@ +From bb16ccd14deb3a01049daec37b6d2e7711ef4738 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sat, 13 May 2017 20:22:08 +0200 +Subject: [PATCH] src/CWatchdog.h: Fix gcc7 build + +Building with gcc7 is broken: + +src/CWatchdog.h:31:58: error: 'std::function' has not been declared + CWatchdog(unsigned int interval, SAPI *api, std::function errorCallback); + ^~~~~~~~ + +Submitted-upstream: https://github.com/kodi-pvr/pvr.stalker/pull/93 +Signed-off-by: Bernd Kuhls +--- + src/CWatchdog.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/CWatchdog.h b/src/CWatchdog.h +index c465e91..239d95d 100644 +--- a/src/CWatchdog.h ++++ b/src/CWatchdog.h +@@ -22,6 +22,7 @@ + */ + + #include ++#include + + #include "SAPI.h" + diff --git a/package/kodi-pvr-stalker/kodi-pvr-stalker.hash b/package/kodi-pvr-stalker/kodi-pvr-stalker.hash index 7af1bcb28a..07c768f252 100644 --- a/package/kodi-pvr-stalker/kodi-pvr-stalker.hash +++ b/package/kodi-pvr-stalker/kodi-pvr-stalker.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 e16cb12bd7a78b8849f370bedb8093d3cb1deb3a766a66efe4b838fc569ab50c kodi-pvr-stalker-5e588330c453141ae0a2f4fd9c02d909ac9d199e.tar.gz +sha256 466cb3869927cdd245a746a32d92250e198befe577f7a847884eab1fd8eeb139 kodi-pvr-stalker-2.8.6-Krypton.tar.gz diff --git a/package/kodi-pvr-stalker/kodi-pvr-stalker.mk b/package/kodi-pvr-stalker/kodi-pvr-stalker.mk index d1fa8a0f06..ee61171d78 100644 --- a/package/kodi-pvr-stalker/kodi-pvr-stalker.mk +++ b/package/kodi-pvr-stalker/kodi-pvr-stalker.mk @@ -4,11 +4,11 @@ # ################################################################################ -# This cset is on the branch 'Jarvis' +# This cset is on the branch 'Krypton' # When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_STALKER_VERSION = 5e588330c453141ae0a2f4fd9c02d909ac9d199e +KODI_PVR_STALKER_VERSION = 2.8.6-Krypton KODI_PVR_STALKER_SITE = $(call github,kodi-pvr,pvr.stalker,$(KODI_PVR_STALKER_VERSION)) -KODI_PVR_STALKER_LICENSE = GPLv2+ +KODI_PVR_STALKER_LICENSE = GPL-2.0+ KODI_PVR_STALKER_LICENSE_FILES = src/client.h KODI_PVR_STALKER_DEPENDENCIES = jsoncpp kodi-platform diff --git a/package/kodi-pvr-vbox/Config.in b/package/kodi-pvr-vbox/Config.in index 3a5f8c4649..c1c22c10d1 100644 --- a/package/kodi-pvr-vbox/Config.in +++ b/package/kodi-pvr-vbox/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_KODI_PVR_VBOX bool "kodi-pvr-vbox" select BR2_PACKAGE_KODI_PLATFORM help - Kodi PVR addon for interfacing with VBox Communications XTi TV Gateway + Kodi PVR addon for interfacing with VBox Communications XTi TV + Gateway https://github.com/kodi-pvr/pvr.vbox diff --git a/package/kodi-pvr-vbox/kodi-pvr-vbox.hash b/package/kodi-pvr-vbox/kodi-pvr-vbox.hash index 705c0cb3e1..5f2c78f0fa 100644 --- a/package/kodi-pvr-vbox/kodi-pvr-vbox.hash +++ b/package/kodi-pvr-vbox/kodi-pvr-vbox.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 8eb43fb6e2a3132324bf24787bc0545c610832648aa17c12e93676502f7fc565 kodi-pvr-vbox-15e864d160da5a051e18aef06f3a53e49808be02.tar.gz +sha256 78065a46b95b3988b1e49fe05da249a1896f54a2c30116a9446f7c4f55db743b kodi-pvr-vbox-3.6.10-Krypton.tar.gz diff --git a/package/kodi-pvr-vbox/kodi-pvr-vbox.mk b/package/kodi-pvr-vbox/kodi-pvr-vbox.mk index 593c1e7cc5..2c54e14937 100644 --- a/package/kodi-pvr-vbox/kodi-pvr-vbox.mk +++ b/package/kodi-pvr-vbox/kodi-pvr-vbox.mk @@ -4,11 +4,11 @@ # ################################################################################ -# This cset is on the branch 'Jarvis' +# This cset is on the branch 'Krypton' # When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_VBOX_VERSION = 15e864d160da5a051e18aef06f3a53e49808be02 +KODI_PVR_VBOX_VERSION = 3.6.10-Krypton KODI_PVR_VBOX_SITE = $(call github,kodi-pvr,pvr.vbox,$(KODI_PVR_VBOX_VERSION)) -KODI_PVR_VBOX_LICENSE = GPLv2+ +KODI_PVR_VBOX_LICENSE = GPL-2.0+ KODI_PVR_VBOX_LICENSE_FILES = src/client.h KODI_PVR_VBOX_DEPENDENCIES = kodi-platform diff --git a/package/kodi-pvr-vdr-vnsi/kodi-pvr-vdr-vnsi.hash b/package/kodi-pvr-vdr-vnsi/kodi-pvr-vdr-vnsi.hash index ecce639d71..6d42583a9b 100644 --- a/package/kodi-pvr-vdr-vnsi/kodi-pvr-vdr-vnsi.hash +++ b/package/kodi-pvr-vdr-vnsi/kodi-pvr-vdr-vnsi.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 1d9e70030b73f44786d54e42e46c6bfa7810af3e4c71ba0dca95c2aa1751ef9b kodi-pvr-vdr-vnsi-7e11b853637ec436e30e4ac826de6ee87c303482.tar.gz +sha256 b65acb7ade6eaac395ea357158a4aae5ccd141612acfd834b72fbdf8db4e8b0e kodi-pvr-vdr-vnsi-4ed7d602924dbfcdd2770c0e13423092e829460d.tar.gz diff --git a/package/kodi-pvr-vdr-vnsi/kodi-pvr-vdr-vnsi.mk b/package/kodi-pvr-vdr-vnsi/kodi-pvr-vdr-vnsi.mk index f8e1e92730..e068641c0d 100644 --- a/package/kodi-pvr-vdr-vnsi/kodi-pvr-vdr-vnsi.mk +++ b/package/kodi-pvr-vdr-vnsi/kodi-pvr-vdr-vnsi.mk @@ -4,11 +4,11 @@ # ################################################################################ -# This cset is on the branch 'Jarvis' +# This cset is on the branch 'Krypton' # When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_VDR_VNSI_VERSION = 7e11b853637ec436e30e4ac826de6ee87c303482 +KODI_PVR_VDR_VNSI_VERSION = 4ed7d602924dbfcdd2770c0e13423092e829460d KODI_PVR_VDR_VNSI_SITE = $(call github,kodi-pvr,pvr.vdr.vnsi,$(KODI_PVR_VDR_VNSI_VERSION)) -KODI_PVR_VDR_VNSI_LICENSE = GPLv2+ +KODI_PVR_VDR_VNSI_LICENSE = GPL-2.0+ KODI_PVR_VDR_VNSI_LICENSE_FILES = src/client.h KODI_PVR_VDR_VNSI_DEPENDENCIES = kodi-platform diff --git a/package/kodi-pvr-vuplus/kodi-pvr-vuplus.hash b/package/kodi-pvr-vuplus/kodi-pvr-vuplus.hash index efdb12539d..7c91e36066 100644 --- a/package/kodi-pvr-vuplus/kodi-pvr-vuplus.hash +++ b/package/kodi-pvr-vuplus/kodi-pvr-vuplus.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 9684775c296dfd9b925d73ed1c21bee45afba4785d1bfb226f98b09ed235a8ee kodi-pvr-vuplus-815ea2f303dbe7dd19f87c53965dfdf2358fcdc8.tar.gz +sha256 79cd3ea79957ae2bca67c9a1cefe3546f27a6d4e88adb4973bb08228425be2fe kodi-pvr-vuplus-2.4.10-Krypton.tar.gz diff --git a/package/kodi-pvr-vuplus/kodi-pvr-vuplus.mk b/package/kodi-pvr-vuplus/kodi-pvr-vuplus.mk index e839bcce8a..e99f2260fa 100644 --- a/package/kodi-pvr-vuplus/kodi-pvr-vuplus.mk +++ b/package/kodi-pvr-vuplus/kodi-pvr-vuplus.mk @@ -4,11 +4,11 @@ # ################################################################################ -# This cset is on the branch 'Jarvis' +# This cset is on the branch 'Krypton' # When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_VUPLUS_VERSION = 815ea2f303dbe7dd19f87c53965dfdf2358fcdc8 +KODI_PVR_VUPLUS_VERSION = 2.4.10-Krypton KODI_PVR_VUPLUS_SITE = $(call github,kodi-pvr,pvr.vuplus,$(KODI_PVR_VUPLUS_VERSION)) -KODI_PVR_VUPLUS_LICENSE = GPLv2+ +KODI_PVR_VUPLUS_LICENSE = GPL-2.0+ KODI_PVR_VUPLUS_LICENSE_FILES = src/client.h KODI_PVR_VUPLUS_DEPENDENCIES = kodi-platform diff --git a/package/kodi-pvr-wmc/kodi-pvr-wmc.hash b/package/kodi-pvr-wmc/kodi-pvr-wmc.hash index 6cbdede3fa..4c050fb654 100644 --- a/package/kodi-pvr-wmc/kodi-pvr-wmc.hash +++ b/package/kodi-pvr-wmc/kodi-pvr-wmc.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 25963d8acbce397b6ec940d5ee1d7a69481d295ae31876daf57d3d3537b14543 kodi-pvr-wmc-949fcd162206b569af15942180e6c133ad61e336.tar.gz +sha256 7f5dfb88f54d511d575b7aabd94e1a862afb7e8a0b89fa957db6a135c31846eb kodi-pvr-wmc-1.4.9v2-Krypton.tar.gz diff --git a/package/kodi-pvr-wmc/kodi-pvr-wmc.mk b/package/kodi-pvr-wmc/kodi-pvr-wmc.mk index 194bd1f2be..b6e3d43256 100644 --- a/package/kodi-pvr-wmc/kodi-pvr-wmc.mk +++ b/package/kodi-pvr-wmc/kodi-pvr-wmc.mk @@ -4,11 +4,11 @@ # ################################################################################ -# This cset is on the branch 'Jarvis' +# This cset is on the branch 'Krypton' # When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_WMC_VERSION = 949fcd162206b569af15942180e6c133ad61e336 +KODI_PVR_WMC_VERSION = 1.4.9v2-Krypton KODI_PVR_WMC_SITE = $(call github,kodi-pvr,pvr.wmc,$(KODI_PVR_WMC_VERSION)) -KODI_PVR_WMC_LICENSE = GPLv2+ +KODI_PVR_WMC_LICENSE = GPL-2.0+ KODI_PVR_WMC_LICENSE_FILES = src/client.h KODI_PVR_WMC_DEPENDENCIES = kodi-platform diff --git a/package/kodi-screensaver-asteroids/kodi-screensaver-asteroids.hash b/package/kodi-screensaver-asteroids/kodi-screensaver-asteroids.hash index a70f1b0a5d..7d105beebe 100644 --- a/package/kodi-screensaver-asteroids/kodi-screensaver-asteroids.hash +++ b/package/kodi-screensaver-asteroids/kodi-screensaver-asteroids.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 b76b9ba122cebddc7c201b088d93e86fde8fc76e7e9f167ff3e43c3390088f3f kodi-screensaver-asteroids-c7ae05f1881b9abda6a1ac6beaca8d64a164c4fa.tar.gz +sha256 2e072e6aad12f707dec1e70b7df26c590bb41fed8880dcfdbe6c99949b7e287a kodi-screensaver-asteroids-v1.1.2.tar.gz diff --git a/package/kodi-screensaver-asteroids/kodi-screensaver-asteroids.mk b/package/kodi-screensaver-asteroids/kodi-screensaver-asteroids.mk index 1af1f2ed6b..46df2e76a0 100644 --- a/package/kodi-screensaver-asteroids/kodi-screensaver-asteroids.mk +++ b/package/kodi-screensaver-asteroids/kodi-screensaver-asteroids.mk @@ -4,9 +4,9 @@ # ################################################################################ -KODI_SCREENSAVER_ASTEROIDS_VERSION = c7ae05f1881b9abda6a1ac6beaca8d64a164c4fa +KODI_SCREENSAVER_ASTEROIDS_VERSION = v1.1.2 KODI_SCREENSAVER_ASTEROIDS_SITE = $(call github,notspiff,screensaver.asteroids,$(KODI_SCREENSAVER_ASTEROIDS_VERSION)) -KODI_SCREENSAVER_ASTEROIDS_LICENSE = GPLv2+ +KODI_SCREENSAVER_ASTEROIDS_LICENSE = GPL-2.0+ KODI_SCREENSAVER_ASTEROIDS_LICENSE_FILES = src/main.cpp KODI_SCREENSAVER_ASTEROIDS_DEPENDENCIES = kodi diff --git a/package/kodi-screensaver-asterwave/kodi-screensaver-asterwave.hash b/package/kodi-screensaver-asterwave/kodi-screensaver-asterwave.hash index 5f04031af0..f8f6d7b2fb 100644 --- a/package/kodi-screensaver-asterwave/kodi-screensaver-asterwave.hash +++ b/package/kodi-screensaver-asterwave/kodi-screensaver-asterwave.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 6bf9367889c4ddece7e0c3720762d41bb0b22fc9ab28d1c8759edb1f77487ecd kodi-screensaver-asterwave-0dc2c48dadb100954eef823e7e3a5f502ce65b1e.tar.gz +sha256 48cd459b60b2407b8bae9107760a013d04ee29e00fddbce9550291896d42ef64 kodi-screensaver-asterwave-v1.1.0.tar.gz diff --git a/package/kodi-screensaver-asterwave/kodi-screensaver-asterwave.mk b/package/kodi-screensaver-asterwave/kodi-screensaver-asterwave.mk index 7c718ccd84..b8c3a2adfa 100644 --- a/package/kodi-screensaver-asterwave/kodi-screensaver-asterwave.mk +++ b/package/kodi-screensaver-asterwave/kodi-screensaver-asterwave.mk @@ -4,7 +4,7 @@ # ################################################################################ -KODI_SCREENSAVER_ASTERWAVE_VERSION = 0dc2c48dadb100954eef823e7e3a5f502ce65b1e +KODI_SCREENSAVER_ASTERWAVE_VERSION = v1.1.0 KODI_SCREENSAVER_ASTERWAVE_SITE = $(call github,notspiff,screensaver.asterwave,$(KODI_SCREENSAVER_ASTERWAVE_VERSION)) KODI_SCREENSAVER_ASTERWAVE_DEPENDENCIES = kodi libglu libsoil diff --git a/package/kodi-screensaver-biogenesis/kodi-screensaver-biogenesis.hash b/package/kodi-screensaver-biogenesis/kodi-screensaver-biogenesis.hash index 6fc273d184..63b9d3c93a 100644 --- a/package/kodi-screensaver-biogenesis/kodi-screensaver-biogenesis.hash +++ b/package/kodi-screensaver-biogenesis/kodi-screensaver-biogenesis.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 25e497c6843a7d933d1e4736e8dcb671bc9881328d5e27349dd0b25cb9be07eb kodi-screensaver-biogenesis-39928eef56ed639085d401dd97bf18f44b1f3e8b.tar.gz +sha256 b97dc804261b19df725e0a9f1af3be6903226ae616fcac170f7b9c1a67bf811a kodi-screensaver-biogenesis-v1.1.0.tar.gz diff --git a/package/kodi-screensaver-biogenesis/kodi-screensaver-biogenesis.mk b/package/kodi-screensaver-biogenesis/kodi-screensaver-biogenesis.mk index dce6968d28..c5ebd85596 100644 --- a/package/kodi-screensaver-biogenesis/kodi-screensaver-biogenesis.mk +++ b/package/kodi-screensaver-biogenesis/kodi-screensaver-biogenesis.mk @@ -4,9 +4,9 @@ # ################################################################################ -KODI_SCREENSAVER_BIOGENESIS_VERSION = 39928eef56ed639085d401dd97bf18f44b1f3e8b +KODI_SCREENSAVER_BIOGENESIS_VERSION = v1.1.0 KODI_SCREENSAVER_BIOGENESIS_SITE = $(call github,notspiff,screensaver.biogenesis,$(KODI_SCREENSAVER_BIOGENESIS_VERSION)) -KODI_SCREENSAVER_BIOGENESIS_LICENSE = GPLv2+ +KODI_SCREENSAVER_BIOGENESIS_LICENSE = GPL-2.0+ KODI_SCREENSAVER_BIOGENESIS_LICENSE_FILES = src/Life.cpp KODI_SCREENSAVER_BIOGENESIS_DEPENDENCIES = kodi diff --git a/package/kodi-screensaver-cpblobs/kodi-screensaver-cpblobs.hash b/package/kodi-screensaver-cpblobs/kodi-screensaver-cpblobs.hash index ebf19d9dee..21443d82bf 100644 --- a/package/kodi-screensaver-cpblobs/kodi-screensaver-cpblobs.hash +++ b/package/kodi-screensaver-cpblobs/kodi-screensaver-cpblobs.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 c2d19c33aff73b99cbf51f943b62e58b2b6233dcf1d789ae8f73e92fa96f07bc kodi-screensaver-cpblobs-87a3abfbe6e4fd1089548eab77a84902d0e1af60.tar.gz +sha256 1ca5e4de61251de7e420dc6ded3156960f9bb52ed7ff0243f305768147d470e3 kodi-screensaver-cpblobs-v1.1.0.tar.gz diff --git a/package/kodi-screensaver-cpblobs/kodi-screensaver-cpblobs.mk b/package/kodi-screensaver-cpblobs/kodi-screensaver-cpblobs.mk index bf67ea089a..63a8dfa8cf 100644 --- a/package/kodi-screensaver-cpblobs/kodi-screensaver-cpblobs.mk +++ b/package/kodi-screensaver-cpblobs/kodi-screensaver-cpblobs.mk @@ -4,9 +4,9 @@ # ################################################################################ -KODI_SCREENSAVER_CPBLOBS_VERSION = 87a3abfbe6e4fd1089548eab77a84902d0e1af60 +KODI_SCREENSAVER_CPBLOBS_VERSION = v1.1.0 KODI_SCREENSAVER_CPBLOBS_SITE = $(call github,notspiff,screensaver.cpblobs,$(KODI_SCREENSAVER_CPBLOBS_VERSION)) -KODI_SCREENSAVER_CPBLOBS_LICENSE = GPLv2 +KODI_SCREENSAVER_CPBLOBS_LICENSE = GPL-2.0 KODI_SCREENSAVER_CPBLOBS_LICENSE_FILES = LICENSE KODI_SCREENSAVER_CPBLOBS_DEPENDENCIES = kodi libsoil diff --git a/package/kodi-screensaver-crystalmorph/kodi-screensaver-crystalmorph.hash b/package/kodi-screensaver-crystalmorph/kodi-screensaver-crystalmorph.hash index 01183d74f0..ff9d6d0244 100644 --- a/package/kodi-screensaver-crystalmorph/kodi-screensaver-crystalmorph.hash +++ b/package/kodi-screensaver-crystalmorph/kodi-screensaver-crystalmorph.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 680e9354adcb7048b5c2b55b3c49cf37cea0e12e6564018cd694feeb253c90dd kodi-screensaver-crystalmorph-2e7c10e3543f5aaab6fd2f5aa9d05b976a43ba68.tar.gz +sha256 a8400c8d8be0fe0ba616ad1d0ef5fd798980a9dd4e38ef88bee9bf74a06975d5 kodi-screensaver-crystalmorph-1dc9bf3f57cc2c5345efec64d9499c3bf8f7bd6e.tar.gz diff --git a/package/kodi-screensaver-crystalmorph/kodi-screensaver-crystalmorph.mk b/package/kodi-screensaver-crystalmorph/kodi-screensaver-crystalmorph.mk index 49ddb43c3a..83629e41ca 100644 --- a/package/kodi-screensaver-crystalmorph/kodi-screensaver-crystalmorph.mk +++ b/package/kodi-screensaver-crystalmorph/kodi-screensaver-crystalmorph.mk @@ -4,9 +4,9 @@ # ################################################################################ -KODI_SCREENSAVER_CRYSTALMORPH_VERSION = 2e7c10e3543f5aaab6fd2f5aa9d05b976a43ba68 +KODI_SCREENSAVER_CRYSTALMORPH_VERSION = 1dc9bf3f57cc2c5345efec64d9499c3bf8f7bd6e KODI_SCREENSAVER_CRYSTALMORPH_SITE = $(call github,notspiff,screensaver.crystalmorph,$(KODI_SCREENSAVER_CRYSTALMORPH_VERSION)) -KODI_SCREENSAVER_CRYSTALMORPH_LICENSE = GPLv2+ +KODI_SCREENSAVER_CRYSTALMORPH_LICENSE = GPL-2.0+ KODI_SCREENSAVER_CRYSTALMORPH_LICENSE_FILES = src/Fractal.cpp KODI_SCREENSAVER_CRYSTALMORPH_DEPENDENCIES = kodi diff --git a/package/kodi-screensaver-greynetic/kodi-screensaver-greynetic.hash b/package/kodi-screensaver-greynetic/kodi-screensaver-greynetic.hash index 93394532e6..212aee663c 100644 --- a/package/kodi-screensaver-greynetic/kodi-screensaver-greynetic.hash +++ b/package/kodi-screensaver-greynetic/kodi-screensaver-greynetic.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 fc114434db18a885fda30ac6b82fe82ec1d5ed97e2ff6414b4927487da684871 kodi-screensaver-greynetic-80e850eb3cbc7ee2c937fcab666dc45d2b2ee0bb.tar.gz +sha256 55a77487f02d282e8431e64de3cb263489037c2374a4b9cdd7aa189093e7621f kodi-screensaver-greynetic-v1.1.0.tar.gz diff --git a/package/kodi-screensaver-greynetic/kodi-screensaver-greynetic.mk b/package/kodi-screensaver-greynetic/kodi-screensaver-greynetic.mk index 9773bac1c3..66435eb270 100644 --- a/package/kodi-screensaver-greynetic/kodi-screensaver-greynetic.mk +++ b/package/kodi-screensaver-greynetic/kodi-screensaver-greynetic.mk @@ -4,9 +4,9 @@ # ################################################################################ -KODI_SCREENSAVER_GREYNETIC_VERSION = 80e850eb3cbc7ee2c937fcab666dc45d2b2ee0bb +KODI_SCREENSAVER_GREYNETIC_VERSION = v1.1.0 KODI_SCREENSAVER_GREYNETIC_SITE = $(call github,notspiff,screensaver.greynetic,$(KODI_SCREENSAVER_GREYNETIC_VERSION)) -KODI_SCREENSAVER_GREYNETIC_LICENSE = GPLv2+ +KODI_SCREENSAVER_GREYNETIC_LICENSE = GPL-2.0+ KODI_SCREENSAVER_GREYNETIC_LICENSE_FILES = src/GreyNetic.cpp KODI_SCREENSAVER_GREYNETIC_DEPENDENCIES = kodi diff --git a/package/kodi-screensaver-matrixtrails/kodi-screensaver-matrixtrails.hash b/package/kodi-screensaver-matrixtrails/kodi-screensaver-matrixtrails.hash index 5ae2459cff..55deabea1e 100644 --- a/package/kodi-screensaver-matrixtrails/kodi-screensaver-matrixtrails.hash +++ b/package/kodi-screensaver-matrixtrails/kodi-screensaver-matrixtrails.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 91990a29072cf85f4b9253a16a362d83fdfcc7595de796d982a189aa8618555c kodi-screensaver-matrixtrails-16057e7195f930109f0a4aea999296ca315700e5.tar.gz +sha256 2b531f51b86536df2a5268547e3d1b7fabc8a1dc930808b46685afcc455bb8fa kodi-screensaver-matrixtrails-v1.1.0.tar.gz diff --git a/package/kodi-screensaver-matrixtrails/kodi-screensaver-matrixtrails.mk b/package/kodi-screensaver-matrixtrails/kodi-screensaver-matrixtrails.mk index 5ecacdf56f..142e48dc76 100644 --- a/package/kodi-screensaver-matrixtrails/kodi-screensaver-matrixtrails.mk +++ b/package/kodi-screensaver-matrixtrails/kodi-screensaver-matrixtrails.mk @@ -4,9 +4,9 @@ # ################################################################################ -KODI_SCREENSAVER_MATRIXTRAILS_VERSION = 16057e7195f930109f0a4aea999296ca315700e5 +KODI_SCREENSAVER_MATRIXTRAILS_VERSION = v1.1.0 KODI_SCREENSAVER_MATRIXTRAILS_SITE = $(call github,notspiff,screensaver.matrixtrails,$(KODI_SCREENSAVER_MATRIXTRAILS_VERSION)) -KODI_SCREENSAVER_MATRIXTRAILS_LICENSE = GPLv2+ +KODI_SCREENSAVER_MATRIXTRAILS_LICENSE = GPL-2.0+ KODI_SCREENSAVER_MATRIXTRAILS_LICENSE_FILES = src/matrixtrails.cpp KODI_SCREENSAVER_MATRIXTRAILS_DEPENDENCIES = kodi libsoil diff --git a/package/kodi-screensaver-pingpong/kodi-screensaver-pingpong.hash b/package/kodi-screensaver-pingpong/kodi-screensaver-pingpong.hash index 79d4dd40a7..aad8314bdd 100644 --- a/package/kodi-screensaver-pingpong/kodi-screensaver-pingpong.hash +++ b/package/kodi-screensaver-pingpong/kodi-screensaver-pingpong.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 59a5cdfa6387760205efabcd91bc64fdc92f103c8f213b650018160f6c1a691c kodi-screensaver-pingpong-5c7cf6fd9f9ff1468f620bb891e66bebd3a5fe17.tar.gz +sha256 99e9cbc3815d4e3dad964b2d233dbf6acc4416121398f7fca75f3811cb04d88f kodi-screensaver-pingpong-v1.1.0.tar.gz diff --git a/package/kodi-screensaver-pingpong/kodi-screensaver-pingpong.mk b/package/kodi-screensaver-pingpong/kodi-screensaver-pingpong.mk index 2adf9601f4..8b6426dae4 100644 --- a/package/kodi-screensaver-pingpong/kodi-screensaver-pingpong.mk +++ b/package/kodi-screensaver-pingpong/kodi-screensaver-pingpong.mk @@ -4,9 +4,9 @@ # ################################################################################ -KODI_SCREENSAVER_PINGPONG_VERSION = 5c7cf6fd9f9ff1468f620bb891e66bebd3a5fe17 +KODI_SCREENSAVER_PINGPONG_VERSION = v1.1.0 KODI_SCREENSAVER_PINGPONG_SITE = $(call github,notspiff,screensaver.pingpong,$(KODI_SCREENSAVER_PINGPONG_VERSION)) -KODI_SCREENSAVER_PINGPONG_LICENSE = GPLv2+ +KODI_SCREENSAVER_PINGPONG_LICENSE = GPL-2.0+ KODI_SCREENSAVER_PINGPONG_LICENSE_FILES = src/readme.txt KODI_SCREENSAVER_PINGPONG_DEPENDENCIES = kodi diff --git a/package/kodi-screensaver-planestate/kodi-screensaver-planestate.hash b/package/kodi-screensaver-planestate/kodi-screensaver-planestate.hash index 9aea929257..de5f6cf5d3 100644 --- a/package/kodi-screensaver-planestate/kodi-screensaver-planestate.hash +++ b/package/kodi-screensaver-planestate/kodi-screensaver-planestate.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 13ce2881f8eaf9936691cf66b9f3471a718ae87249d62ade55174201873fb496 kodi-screensaver-planestate-95b6d1ec72f37bcd16cf8e5d49806193dba883f0.tar.gz +sha256 6059630e56bd022a27f73fe7c94fcf6a66792e7bb10f54a7893f536c23b95b99 kodi-screensaver-planestate-5341406dd05439a1a0245ab3f6d1a8964461d0e5.tar.gz diff --git a/package/kodi-screensaver-planestate/kodi-screensaver-planestate.mk b/package/kodi-screensaver-planestate/kodi-screensaver-planestate.mk index 38885c5cbc..0e90ffc5d1 100644 --- a/package/kodi-screensaver-planestate/kodi-screensaver-planestate.mk +++ b/package/kodi-screensaver-planestate/kodi-screensaver-planestate.mk @@ -4,7 +4,7 @@ # ################################################################################ -KODI_SCREENSAVER_PLANESTATE_VERSION = 95b6d1ec72f37bcd16cf8e5d49806193dba883f0 +KODI_SCREENSAVER_PLANESTATE_VERSION = 5341406dd05439a1a0245ab3f6d1a8964461d0e5 KODI_SCREENSAVER_PLANESTATE_SITE = $(call github,notspiff,screensaver.planestate,$(KODI_SCREENSAVER_PLANESTATE_VERSION)) KODI_SCREENSAVER_PLANESTATE_DEPENDENCIES = kodi libsoil diff --git a/package/kodi-screensaver-pyro/kodi-screensaver-pyro.hash b/package/kodi-screensaver-pyro/kodi-screensaver-pyro.hash index c79e3f5f1f..a16ee8e092 100644 --- a/package/kodi-screensaver-pyro/kodi-screensaver-pyro.hash +++ b/package/kodi-screensaver-pyro/kodi-screensaver-pyro.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 951bc3259407b7f21183c34556b1efc4c40bfafec61008cd543f382f67466184 kodi-screensaver-pyro-2476b77d9954980a27e07eb8eb0727e2af226351.tar.gz +sha256 0dcaed581ffe5595878338a8c9c55bd7acc87e03d30a4d3ca4a03c3f8db66ddc kodi-screensaver-pyro-v1.1.0.tar.gz diff --git a/package/kodi-screensaver-pyro/kodi-screensaver-pyro.mk b/package/kodi-screensaver-pyro/kodi-screensaver-pyro.mk index f90405275e..bc50118302 100644 --- a/package/kodi-screensaver-pyro/kodi-screensaver-pyro.mk +++ b/package/kodi-screensaver-pyro/kodi-screensaver-pyro.mk @@ -4,9 +4,9 @@ # ################################################################################ -KODI_SCREENSAVER_PYRO_VERSION = 2476b77d9954980a27e07eb8eb0727e2af226351 +KODI_SCREENSAVER_PYRO_VERSION = v1.1.0 KODI_SCREENSAVER_PYRO_SITE = $(call github,notspiff,screensaver.pyro,$(KODI_SCREENSAVER_PYRO_VERSION)) -KODI_SCREENSAVER_PYRO_LICENSE = GPLv2+ +KODI_SCREENSAVER_PYRO_LICENSE = GPL-2.0+ KODI_SCREENSAVER_PYRO_LICENSE_FILES = src/Pyro.cpp KODI_SCREENSAVER_PYRO_DEPENDENCIES = kodi diff --git a/package/kodi-screensaver-rsxs/0001-cross-compile.patch b/package/kodi-screensaver-rsxs/0001-cross-compile.patch index 56c2f4e4ba..a7b2053d76 100644 --- a/package/kodi-screensaver-rsxs/0001-cross-compile.patch +++ b/package/kodi-screensaver-rsxs/0001-cross-compile.patch @@ -27,7 +27,7 @@ diff -uNr screensavers.rsxs-195e0ec3fbbcb2ee2012cd560e42d05167f0f259.org/CMakeLi endif() externalproject_add(rsxs SOURCE_DIR ${PROJECT_SOURCE_DIR}/${rsxs_dir} - CONFIGURE_COMMAND ${configure_start} -+ CONFIGURE_COMMAND gl_cv_func_gettimeofday_clobber=no ++ CONFIGURE_COMMAND gl_cv_func_gettimeofday_clobber=no ac_cv_type__Bool=yes + ac_cv_func_malloc_0_nonnull=yes + ${configure_start} --prefix= diff --git a/package/kodi-screensaver-rsxs/0002-fix-default-include-dir.patch b/package/kodi-screensaver-rsxs/0002-fix-default-include-dir.patch new file mode 100644 index 0000000000..a7e7c74b0f --- /dev/null +++ b/package/kodi-screensaver-rsxs/0002-fix-default-include-dir.patch @@ -0,0 +1,28 @@ +Fix X include path to prevent error during configure + +Downloaded from +https://github.com/LibreELEC/LibreELEC.tv/blob/master/packages/mediacenter/kodi-binary-addons/screensavers.rsxs/patches/screensavers.rsxs-0002-fix-default-include-dir.patch + +Signed-off-by: Bernd Kuhls + +diff -Naur screensavers.rsxs-3241d29.orig/CMakeLists.txt screensavers.rsxs-3241d29/CMakeLists.txt +--- screensavers.rsxs-3241d29.orig/CMakeLists.txt 2015-10-22 23:59:38.187280475 -0700 ++++ screensavers.rsxs-3241d29/CMakeLists.txt 2015-10-23 00:00:27.228113829 -0700 +@@ -17,7 +17,7 @@ + include_directories(${OpenGL_INCLUDE_DIR} + ${PNG_INCLUDE_DIR} + ${KODI_INCLUDE_DIR} +- ${X_INCLUDE_DIRS} ++ ${X_INCLUDE_DIR} + ${CMAKE_BINARY_DIR}/rsxs-prefix/src/rsxs-build + ${PROJECT_SOURCE_DIR}/${rsxs_dir}/src + ${PROJECT_SOURCE_DIR}/${rsxs_dir}/lib +@@ -67,7 +67,7 @@ + --disable-skyrocket + --disable-solarwinds + --disable-sound +- --x-includes=${X_INCLUDE_DIRS} ++ --x-includes=${X_INCLUDE_DIR} + --x-libraries=${X_LIBRARIES} + ${PNG_PATH} + ${EXTRA_FLAGS} diff --git a/package/kodi-screensaver-rsxs/Config.in b/package/kodi-screensaver-rsxs/Config.in index 11546ad1f8..c523ce5a1c 100644 --- a/package/kodi-screensaver-rsxs/Config.in +++ b/package/kodi-screensaver-rsxs/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_KODI_SCREENSAVER_RSXS bool "kodi-screensaver-rsxs" depends on BR2_PACKAGE_HAS_LIBGL # libglu depends on BR2_PACKAGE_XORG7 # xlib_libXmu + select BR2_PACKAGE_LIBPNG select BR2_PACKAGE_XLIB_LIBXMU help RSXS screensaver add-ons for Kodi diff --git a/package/kodi-screensaver-rsxs/kodi-screensaver-rsxs.hash b/package/kodi-screensaver-rsxs/kodi-screensaver-rsxs.hash index 568b44b37c..66d79a06f3 100644 --- a/package/kodi-screensaver-rsxs/kodi-screensaver-rsxs.hash +++ b/package/kodi-screensaver-rsxs/kodi-screensaver-rsxs.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 0797ffb720056ea2e04ac8b7ee4fc2dca1e42611ef138b347e928d8d7f3c696f kodi-screensaver-rsxs-195e0ec3fbbcb2ee2012cd560e42d05167f0f259.tar.gz +sha256 8436c29d2f42bc65ff6f1abc2f1d05a613cc2ebb16d793e02b1f2bee296952a6 kodi-screensaver-rsxs-v1.3.0.tar.gz diff --git a/package/kodi-screensaver-rsxs/kodi-screensaver-rsxs.mk b/package/kodi-screensaver-rsxs/kodi-screensaver-rsxs.mk index 7df6c22cef..8445bf88d8 100644 --- a/package/kodi-screensaver-rsxs/kodi-screensaver-rsxs.mk +++ b/package/kodi-screensaver-rsxs/kodi-screensaver-rsxs.mk @@ -4,11 +4,10 @@ # ################################################################################ -KODI_SCREENSAVER_RSXS_VERSION = 195e0ec3fbbcb2ee2012cd560e42d05167f0f259 +KODI_SCREENSAVER_RSXS_VERSION = v1.3.0 KODI_SCREENSAVER_RSXS_SITE = $(call github,notspiff,screensavers.rsxs,$(KODI_SCREENSAVER_RSXS_VERSION)) -KODI_SCREENSAVER_RSXS_LICENSE = GPLv3 +KODI_SCREENSAVER_RSXS_LICENSE = GPL-3.0 KODI_SCREENSAVER_RSXS_LICENSE_FILES = lib/rsxs-1.0/COPYING - -KODI_SCREENSAVER_RSXS_DEPENDENCIES = kodi xlib_libXmu +KODI_SCREENSAVER_RSXS_DEPENDENCIES = kodi libpng xlib_libXmu $(eval $(cmake-package)) diff --git a/package/kodi-screensaver-stars/kodi-screensaver-stars.hash b/package/kodi-screensaver-stars/kodi-screensaver-stars.hash index 107ada4701..7f8c9aefd0 100644 --- a/package/kodi-screensaver-stars/kodi-screensaver-stars.hash +++ b/package/kodi-screensaver-stars/kodi-screensaver-stars.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 79633afcdccf5df31c98d2144bd23086d691e7749255b4295b183b535d9b7abf kodi-screensaver-stars-28bf79d4dce040e9fbdc25f51007e13950cab937.tar.gz +sha256 525caac94fd2bd858daf9fa7719eea4181c168e5c692bb896689625bf4437d32 kodi-screensaver-stars-v1.1.0.tar.gz diff --git a/package/kodi-screensaver-stars/kodi-screensaver-stars.mk b/package/kodi-screensaver-stars/kodi-screensaver-stars.mk index b5b5206d1f..e94670c6ff 100644 --- a/package/kodi-screensaver-stars/kodi-screensaver-stars.mk +++ b/package/kodi-screensaver-stars/kodi-screensaver-stars.mk @@ -4,9 +4,9 @@ # ################################################################################ -KODI_SCREENSAVER_STARS_VERSION = 28bf79d4dce040e9fbdc25f51007e13950cab937 +KODI_SCREENSAVER_STARS_VERSION = v1.1.0 KODI_SCREENSAVER_STARS_SITE = $(call github,notspiff,screensaver.stars,$(KODI_SCREENSAVER_STARS_VERSION)) -KODI_SCREENSAVER_STARS_LICENSE = GPLv2+ +KODI_SCREENSAVER_STARS_LICENSE = GPL-2.0+ KODI_SCREENSAVER_STARS_LICENSE_FILES = src/StarField.cpp KODI_SCREENSAVER_STARS_DEPENDENCIES = kodi diff --git a/package/kodi-skin-confluence/Config.in b/package/kodi-skin-confluence/Config.in new file mode 100644 index 0000000000..08b6568083 --- /dev/null +++ b/package/kodi-skin-confluence/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_KODI_SKIN_CONFLUENCE + bool "kodi-skin-confluence" + help + Kodi confluence skin + + https://github.com/xbmc/skin.confluence diff --git a/package/kodi-skin-confluence/kodi-skin-confluence.hash b/package/kodi-skin-confluence/kodi-skin-confluence.hash new file mode 100644 index 0000000000..276b000fd7 --- /dev/null +++ b/package/kodi-skin-confluence/kodi-skin-confluence.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 49ae60f397e3cac08dc0e9c027bc39a3936ccd27b956d7a43bf2424a07f162ec kodi-skin-confluence-96bed03570a90d4fdfb96ab71de9a51ceedd03fb.tar.gz diff --git a/package/kodi-skin-confluence/kodi-skin-confluence.mk b/package/kodi-skin-confluence/kodi-skin-confluence.mk new file mode 100644 index 0000000000..a5ebcf553f --- /dev/null +++ b/package/kodi-skin-confluence/kodi-skin-confluence.mk @@ -0,0 +1,26 @@ +################################################################################ +# +# kodi-skin-confluence +# +################################################################################ + +# This cset is on the branch 'krypton' +# When Kodi is updated, then this should be updated to the corresponding branch +KODI_SKIN_CONFLUENCE_VERSION = 96bed03570a90d4fdfb96ab71de9a51ceedd03fb +KODI_SKIN_CONFLUENCE_SITE = $(call github,xbmc,skin.confluence,$(KODI_SKIN_CONFLUENCE_VERSION)) +KODI_SKIN_CONFLUENCE_LICENSE = GPL-2.0 +KODI_SKIN_CONFLUENCE_LICENSE_FILES = LICENSE.txt +KODI_SKIN_CONFLUENCE_DEPENDENCIES = kodi + +define KODI_SKIN_CONFLUENCE_BUILD_CMDS + $(HOST_DIR)/bin/TexturePacker -input $(@D)/media/ -output $(@D)/media/Textures.xbt -dupecheck -use_none +endef + +define KODI_SKIN_CONFLUENCE_INSTALL_TARGET_CMDS + mkdir -p $(TARGET_DIR)/usr/share/kodi/addons/skin.confluence + cp -dpfr $(@D)/* $(TARGET_DIR)/usr/share/kodi/addons/skin.confluence + find $(TARGET_DIR)/usr/share/kodi/addons/skin.confluence/media -name *.jpg -delete + find $(TARGET_DIR)/usr/share/kodi/addons/skin.confluence/media -name *.png -delete +endef + +$(eval $(generic-package)) diff --git a/package/kodi/0002-texturepacker.patch b/package/kodi-texturepacker/0001-texturepacker.patch similarity index 100% rename from package/kodi/0002-texturepacker.patch rename to package/kodi-texturepacker/0001-texturepacker.patch diff --git a/package/kodi-texturepacker/kodi-texturepacker.hash b/package/kodi-texturepacker/kodi-texturepacker.hash new file mode 120000 index 0000000000..a575750997 --- /dev/null +++ b/package/kodi-texturepacker/kodi-texturepacker.hash @@ -0,0 +1 @@ +../kodi/kodi.hash \ No newline at end of file diff --git a/package/kodi-texturepacker/kodi-texturepacker.mk b/package/kodi-texturepacker/kodi-texturepacker.mk new file mode 100644 index 0000000000..77a9e3be4e --- /dev/null +++ b/package/kodi-texturepacker/kodi-texturepacker.mk @@ -0,0 +1,41 @@ +################################################################################ +# +# kodi-texturepacker +# +################################################################################ + +# Not possible to directly refer to kodi variables, because of +# first/second expansion trickery... +KODI_TEXTUREPACKER_VERSION = 17.5-Krypton +KODI_TEXTUREPACKER_SITE = $(call github,xbmc,xbmc,$(KODI_TEXTUREPACKER_VERSION)) +KODI_TEXTUREPACKER_SOURCE = kodi-$(KODI_TEXTUREPACKER_VERSION).tar.gz +KODI_TEXTUREPACKER_LICENSE = GPL-2.0 +KODI_TEXTUREPACKER_LICENSE_FILES = LICENSE.GPL +HOST_KODI_TEXTUREPACKER_SUBDIR = tools/depends/native/TexturePacker +HOST_KODI_TEXTUREPACKER_DEPENDENCIES = \ + host-giflib \ + host-libjpeg \ + host-libpng \ + host-lzo + +HOST_KODI_TEXTUREPACKER_CXXFLAGS = \ + $(HOST_CXXFLAGS) \ + -std=c++0x \ + -DTARGET_POSIX \ + -DTARGET_LINUX \ + -D_LINUX \ + -I$(@D)/xbmc/linux + +HOST_KODI_TEXTUREPACKER_CONF_OPTS += \ + -DCMAKE_CXX_FLAGS="$(HOST_KODI_TEXTUREPACKER_CXXFLAGS)" \ + -DCMAKE_MODULE_PATH=$(@D)/project/cmake/modules \ + -DCORE_SOURCE_DIR=$(@D) \ + -Wno-dev + +define HOST_KODI_TEXTUREPACKER_INSTALL_CMDS + $(INSTALL) -m 755 -D \ + $(@D)/tools/depends/native/TexturePacker/TexturePacker \ + $(HOST_DIR)/bin/TexturePacker +endef + +$(eval $(host-cmake-package)) diff --git a/package/kodi-visualisation-fishbmc/kodi-visualisation-fishbmc.hash b/package/kodi-visualisation-fishbmc/kodi-visualisation-fishbmc.hash index 6a65a58fea..c89ca9a618 100644 --- a/package/kodi-visualisation-fishbmc/kodi-visualisation-fishbmc.hash +++ b/package/kodi-visualisation-fishbmc/kodi-visualisation-fishbmc.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 7047d501942bcd5095e0f1424f003caec8eb792b59d16d16ad25f14829844e50 kodi-visualisation-fishbmc-50c38c296a62e096a2216e43b86d864ee265c506.tar.gz +sha256 cf42a21978578cb5ecb10c20fe09791183d8ef2998ff9d956a84142a7dda8f72 kodi-visualisation-fishbmc-v4.1.0.tar.gz diff --git a/package/kodi-visualisation-fishbmc/kodi-visualisation-fishbmc.mk b/package/kodi-visualisation-fishbmc/kodi-visualisation-fishbmc.mk index 1e07774f14..d08c215ee7 100644 --- a/package/kodi-visualisation-fishbmc/kodi-visualisation-fishbmc.mk +++ b/package/kodi-visualisation-fishbmc/kodi-visualisation-fishbmc.mk @@ -4,9 +4,9 @@ # ################################################################################ -KODI_VISUALISATION_FISHBMC_VERSION = 50c38c296a62e096a2216e43b86d864ee265c506 +KODI_VISUALISATION_FISHBMC_VERSION = v4.1.0 KODI_VISUALISATION_FISHBMC_SITE = $(call github,notspiff,visualization.fishbmc,$(KODI_VISUALISATION_FISHBMC_VERSION)) -KODI_VISUALISATION_FISHBMC_LICENSE = GPLv2+ +KODI_VISUALISATION_FISHBMC_LICENSE = GPL-2.0+ KODI_VISUALISATION_FISHBMC_LICENSE_FILES = visualization.fishbmc/LICENSE KODI_VISUALISATION_FISHBMC_DEPENDENCIES = kodi diff --git a/package/kodi-visualisation-fountain/Config.in b/package/kodi-visualisation-fountain/Config.in deleted file mode 100644 index 570d169338..0000000000 --- a/package/kodi-visualisation-fountain/Config.in +++ /dev/null @@ -1,11 +0,0 @@ -config BR2_PACKAGE_KODI_VISUALISATION_FOUNTAIN - bool "kodi-visualisation-fountain" - depends on BR2_PACKAGE_HAS_LIBGL # libsoil - select BR2_PACKAGE_LIBSOIL - help - Fountain visualization for Kodi - - https://github.com/notspiff/visualization.fountain - -comment "kodi-visualisation-fountain needs OpenGL" - depends on !BR2_PACKAGE_HAS_LIBGL diff --git a/package/kodi-visualisation-fountain/kodi-visualisation-fountain.hash b/package/kodi-visualisation-fountain/kodi-visualisation-fountain.hash deleted file mode 100644 index 8dc933effa..0000000000 --- a/package/kodi-visualisation-fountain/kodi-visualisation-fountain.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally computed -sha256 7b2867f415f22e4bc4ba834034f00117fcf76774aea0afc7bf30b5f2d1991dd7 kodi-visualisation-fountain-f22deacd2396a204694d346f85369ea9ea70e16f.tar.gz diff --git a/package/kodi-visualisation-fountain/kodi-visualisation-fountain.mk b/package/kodi-visualisation-fountain/kodi-visualisation-fountain.mk deleted file mode 100644 index 5684402a2a..0000000000 --- a/package/kodi-visualisation-fountain/kodi-visualisation-fountain.mk +++ /dev/null @@ -1,11 +0,0 @@ -################################################################################ -# -# kodi-visualisation-fountain -# -################################################################################ - -KODI_VISUALISATION_FOUNTAIN_VERSION = f22deacd2396a204694d346f85369ea9ea70e16f -KODI_VISUALISATION_FOUNTAIN_SITE = $(call github,notspiff,visualization.fountain,$(KODI_VISUALISATION_FOUNTAIN_VERSION)) -KODI_VISUALISATION_FOUNTAIN_DEPENDENCIES = kodi libsoil - -$(eval $(cmake-package)) diff --git a/package/kodi-visualisation-goom/kodi-visualisation-goom.hash b/package/kodi-visualisation-goom/kodi-visualisation-goom.hash index 8507c652a5..fa5fbf6c37 100644 --- a/package/kodi-visualisation-goom/kodi-visualisation-goom.hash +++ b/package/kodi-visualisation-goom/kodi-visualisation-goom.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 66a71a5c5a1c0016d7020fcc9941634ee465dab14644cdc96023ce0a28408338 kodi-visualisation-goom-16747b7dba9cbdcfdc8df44e849eaf09450fc86f.tar.gz +sha256 501b8b1d5bd174ec71d57894293ae5eb0c1f41c3b725ab5e7b5a1c5eeea77a7f kodi-visualisation-goom-54da35870930acd1a3a36195dd2c1498ac336b90.tar.gz diff --git a/package/kodi-visualisation-goom/kodi-visualisation-goom.mk b/package/kodi-visualisation-goom/kodi-visualisation-goom.mk index 89f2bab1d6..a7503a97d8 100644 --- a/package/kodi-visualisation-goom/kodi-visualisation-goom.mk +++ b/package/kodi-visualisation-goom/kodi-visualisation-goom.mk @@ -4,9 +4,9 @@ # ################################################################################ -KODI_VISUALISATION_GOOM_VERSION = 16747b7dba9cbdcfdc8df44e849eaf09450fc86f +KODI_VISUALISATION_GOOM_VERSION = 54da35870930acd1a3a36195dd2c1498ac336b90 KODI_VISUALISATION_GOOM_SITE = $(call github,notspiff,visualization.goom,$(KODI_VISUALISATION_GOOM_VERSION)) -KODI_VISUALISATION_GOOM_LICENSE = GPLv2+ +KODI_VISUALISATION_GOOM_LICENSE = GPL-2.0+ KODI_VISUALISATION_GOOM_LICENSE_FILES = src/Main.cpp KODI_VISUALISATION_GOOM_DEPENDENCIES = kodi diff --git a/package/kodi-visualisation-shadertoy/0001-FindOpenGLES2-also-search-for-egl-with-pkg-config.patch b/package/kodi-visualisation-shadertoy/0001-FindOpenGLES2-also-search-for-egl-with-pkg-config.patch index 6737296fe7..8de96a6de3 100644 --- a/package/kodi-visualisation-shadertoy/0001-FindOpenGLES2-also-search-for-egl-with-pkg-config.patch +++ b/package/kodi-visualisation-shadertoy/0001-FindOpenGLES2-also-search-for-egl-with-pkg-config.patch @@ -23,9 +23,9 @@ index 8b084cf..81bbe27 100644 - include_directories(${OpenGL_INCLUDE_DIR} + include_directories(${OpenGL_INCLUDE_DIR} ${OpenGLES2_INCLUDE_DIRS} - ${GLEW_INCLUDE_DIR} ${KODI_INCLUDE_DIR} - ${platform_INCLUDE_DIRS} + ${p8-platform_INCLUDE_DIRS} + ${PROJECT_SOURCE_DIR}/lib/kissfft diff --git a/FindOpenGLES2.cmake b/FindOpenGLES2.cmake index e1b7d21..2a9ce0d 100644 --- a/FindOpenGLES2.cmake diff --git a/package/kodi-visualisation-shadertoy/Config.in b/package/kodi-visualisation-shadertoy/Config.in index ac17702709..3b981d0bf4 100644 --- a/package/kodi-visualisation-shadertoy/Config.in +++ b/package/kodi-visualisation-shadertoy/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_KODI_VISUALISATION_SHADERTOY bool "kodi-visualisation-shadertoy" - select BR2_PACKAGE_LIBGLEW if BR2_PACKAGE_HAS_LIBGL select BR2_PACKAGE_LIBPLATFORM help Shadertoy visualiser for Kodi diff --git a/package/kodi-visualisation-shadertoy/kodi-visualisation-shadertoy.hash b/package/kodi-visualisation-shadertoy/kodi-visualisation-shadertoy.hash index fdd81fd590..a0df397e8e 100644 --- a/package/kodi-visualisation-shadertoy/kodi-visualisation-shadertoy.hash +++ b/package/kodi-visualisation-shadertoy/kodi-visualisation-shadertoy.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 88732c399bb7e1237e8fc375583bb3789c96a28695a3805fb374361a7e5636c5 kodi-visualisation-shadertoy-f9988007681bf37e6c03d6992bae30133b020608.tar.gz +sha256 4456e88bc94bcb3e2481286b27926a1f6d85d6f857de31a46d50f44fead01abd kodi-visualisation-shadertoy-v1.1.5.tar.gz diff --git a/package/kodi-visualisation-shadertoy/kodi-visualisation-shadertoy.mk b/package/kodi-visualisation-shadertoy/kodi-visualisation-shadertoy.mk index e5f2d911db..923891595b 100644 --- a/package/kodi-visualisation-shadertoy/kodi-visualisation-shadertoy.mk +++ b/package/kodi-visualisation-shadertoy/kodi-visualisation-shadertoy.mk @@ -4,14 +4,10 @@ # ################################################################################ -KODI_VISUALISATION_SHADERTOY_VERSION = f9988007681bf37e6c03d6992bae30133b020608 +KODI_VISUALISATION_SHADERTOY_VERSION = v1.1.5 KODI_VISUALISATION_SHADERTOY_SITE = $(call github,notspiff,visualization.shadertoy,$(KODI_VISUALISATION_SHADERTOY_VERSION)) -KODI_VISUALISATION_SHADERTOY_LICENSE = GPLv2+ +KODI_VISUALISATION_SHADERTOY_LICENSE = GPL-2.0+ KODI_VISUALISATION_SHADERTOY_LICENSE_FILES = src/main.cpp KODI_VISUALISATION_SHADERTOY_DEPENDENCIES = kodi libplatform -ifeq ($(BR2_PACKAGE_LIBGLEW),y) -KODI_VISUALISATION_SHADERTOY_DEPENDENCIES += libglew -endif - $(eval $(cmake-package)) diff --git a/package/kodi-visualisation-spectrum/kodi-visualisation-spectrum.hash b/package/kodi-visualisation-spectrum/kodi-visualisation-spectrum.hash index 18e38f577f..6c892ed0ba 100644 --- a/package/kodi-visualisation-spectrum/kodi-visualisation-spectrum.hash +++ b/package/kodi-visualisation-spectrum/kodi-visualisation-spectrum.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 aa417d6ad3d3770029e7d8d9f7f0ca8d56a8a4f47821267b5a8604fc26993334 kodi-visualisation-spectrum-9dbe53a0db73f00ee22e9ca235c98f8137b7bb9e.tar.gz +sha256 7ee78ff5c24e3f81b6e2a9208237f34667cb9faa5453d7bdb900ab65245973f1 kodi-visualisation-spectrum-v1.1.1.tar.gz diff --git a/package/kodi-visualisation-spectrum/kodi-visualisation-spectrum.mk b/package/kodi-visualisation-spectrum/kodi-visualisation-spectrum.mk index de197eb7ff..3ab2c9975d 100644 --- a/package/kodi-visualisation-spectrum/kodi-visualisation-spectrum.mk +++ b/package/kodi-visualisation-spectrum/kodi-visualisation-spectrum.mk @@ -4,9 +4,9 @@ # ################################################################################ -KODI_VISUALISATION_SPECTRUM_VERSION = 9dbe53a0db73f00ee22e9ca235c98f8137b7bb9e +KODI_VISUALISATION_SPECTRUM_VERSION = v1.1.1 KODI_VISUALISATION_SPECTRUM_SITE = $(call github,notspiff,visualization.spectrum,$(KODI_VISUALISATION_SPECTRUM_VERSION)) -KODI_VISUALISATION_SPECTRUM_LICENSE = GPLv2+ +KODI_VISUALISATION_SPECTRUM_LICENSE = GPL-2.0+ KODI_VISUALISATION_SPECTRUM_LICENSE_FILES = COPYING KODI_VISUALISATION_SPECTRUM_DEPENDENCIES = kodi diff --git a/package/kodi-visualisation-waveforhue/kodi-visualisation-waveforhue.hash b/package/kodi-visualisation-waveforhue/kodi-visualisation-waveforhue.hash index 5f49daae94..e7e97f1d86 100644 --- a/package/kodi-visualisation-waveforhue/kodi-visualisation-waveforhue.hash +++ b/package/kodi-visualisation-waveforhue/kodi-visualisation-waveforhue.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 2590ce4ee1816ffdf59fe33580a36fba49fbd1f60f4c9022b3315e04debc9c73 kodi-visualisation-waveforhue-e87d5c7d7e7504036b80af8bc89f4cf6489085fe.tar.gz +sha256 80c466c55aee97d01442892135d4785070333e39f45942da17b65239758e5ae9 kodi-visualisation-waveforhue-b1805dbdba07e5e5b62115490c703aca43e9065c.tar.gz diff --git a/package/kodi-visualisation-waveforhue/kodi-visualisation-waveforhue.mk b/package/kodi-visualisation-waveforhue/kodi-visualisation-waveforhue.mk index 28eeb4d881..3ff32e658e 100644 --- a/package/kodi-visualisation-waveforhue/kodi-visualisation-waveforhue.mk +++ b/package/kodi-visualisation-waveforhue/kodi-visualisation-waveforhue.mk @@ -4,9 +4,9 @@ # ################################################################################ -KODI_VISUALISATION_WAVEFORHUE_VERSION = e87d5c7d7e7504036b80af8bc89f4cf6489085fe -KODI_VISUALISATION_WAVEFORHUE_SITE = $(call github,notspiff,visualization.waveforhue,$(KODI_VISUALISATION_WAVEFORHUE_VERSION)) -KODI_VISUALISATION_WAVEFORHUE_LICENSE = GPLv2+ +KODI_VISUALISATION_WAVEFORHUE_VERSION = b1805dbdba07e5e5b62115490c703aca43e9065c +KODI_VISUALISATION_WAVEFORHUE_SITE = $(call github,hardyt,visualization.waveforhue,$(KODI_VISUALISATION_WAVEFORHUE_VERSION)) +KODI_VISUALISATION_WAVEFORHUE_LICENSE = GPL-2.0+ KODI_VISUALISATION_WAVEFORHUE_LICENSE_FILES = COPYING KODI_VISUALISATION_WAVEFORHUE_DEPENDENCIES = kodi diff --git a/package/kodi-visualisation-waveform/kodi-visualisation-waveform.hash b/package/kodi-visualisation-waveform/kodi-visualisation-waveform.hash index 728b857ecc..1fdecbede5 100644 --- a/package/kodi-visualisation-waveform/kodi-visualisation-waveform.hash +++ b/package/kodi-visualisation-waveform/kodi-visualisation-waveform.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 439bd50fcb1c0912532d0d113f7eeadf28f72bd2cb0c234581ee1acc2a70e45b kodi-visualisation-waveform-89aec48e2975f820004df5a1a53801339a5b3064.tar.gz +sha256 cf10d8d78cb2bde4a0a21bb7e467445617b46593c093ef05f336f95a048f2d54 kodi-visualisation-waveform-v1.1.0.tar.gz diff --git a/package/kodi-visualisation-waveform/kodi-visualisation-waveform.mk b/package/kodi-visualisation-waveform/kodi-visualisation-waveform.mk index 81e880b080..d906c653c2 100644 --- a/package/kodi-visualisation-waveform/kodi-visualisation-waveform.mk +++ b/package/kodi-visualisation-waveform/kodi-visualisation-waveform.mk @@ -4,9 +4,9 @@ # ################################################################################ -KODI_VISUALISATION_WAVEFORM_VERSION = 89aec48e2975f820004df5a1a53801339a5b3064 +KODI_VISUALISATION_WAVEFORM_VERSION = v1.1.0 KODI_VISUALISATION_WAVEFORM_SITE = $(call github,notspiff,visualization.waveform,$(KODI_VISUALISATION_WAVEFORM_VERSION)) -KODI_VISUALISATION_WAVEFORM_LICENSE = GPLv2+ +KODI_VISUALISATION_WAVEFORM_LICENSE = GPL-2.0+ KODI_VISUALISATION_WAVEFORM_LICENSE_FILES = COPYING KODI_VISUALISATION_WAVEFORM_DEPENDENCIES = kodi diff --git a/package/kodi/0001-Fixup-include-path.patch b/package/kodi/0001-Fixup-include-path.patch deleted file mode 100644 index 9298981c4f..0000000000 --- a/package/kodi/0001-Fixup-include-path.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 63c255f1f5d68363f49193aceed343e602dc8bdf Mon Sep 17 00:00:00 2001 -From: Maxime Hadjinlian -Date: Thu, 26 Dec 2013 21:17:10 +0100 -Subject: [PATCH] Fixup include path - -Patch originally taken from : -http://repository.timesys.com/buildsources/x/xbmc/xbmc-11.0/xbmc-11.0-fixups.patch - -Signed-off-by: Maxime Hadjinlian ---- - lib/enca/configure | 3 --- - lib/enca/configure.ac | 3 --- - lib/libdvd/libdvdread/misc/dvdread-config.sh | 6 +++--- - lib/timidity/configure.in | 6 +++--- - 4 files changed, 6 insertions(+), 12 deletions(-) - -diff --git a/lib/libdvd/libdvdread/misc/dvdread-config.sh b/lib/libdvd/libdvdread/misc/dvdread-config.sh -index e170c7e..25ee893 100644 ---- a/lib/libdvd/libdvdread/misc/dvdread-config.sh -+++ b/lib/libdvd/libdvdread/misc/dvdread-config.sh -@@ -48,9 +48,9 @@ if test "$echo_prefix" = "yes"; then - fi - - if test "$echo_cflags" = "yes"; then -- echo -I$prefix/include $extracflags -+ echo $extracflags - fi - - if test "$echo_libs" = "yes"; then -- echo -L$libdir $dvdreadlib --fi -+ echo $dvdreadlib -+fi diff --git a/package/kodi/0001-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch b/package/kodi/0001-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch new file mode 100644 index 0000000000..0b88ce9d27 --- /dev/null +++ b/package/kodi/0001-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch @@ -0,0 +1,42 @@ +From 6604cce38fed748e98d3bd2bf9d0f368d67eeb3c Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 29 Jul 2015 23:13:33 +0200 +Subject: [PATCH] kodi-config.cmake: use CMAKE_FIND_ROOT_PATH to fix + cross-compilation + +When cross-compiling, the location at build time of the libraries is +not the same as the one at run-time. The CMAKE_FIND_ROOT_PATH variable +is here to handle this difference, so use it in kodi-config.cmake. + +Signed-off-by: Thomas Petazzoni +(rebased and simplified for Kodi 17.0-Krypton) +Signed-off-by: Bernd Kuhls +--- + project/cmake/KodiConfig.cmake.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/project/cmake/KodiConfig.cmake.in b/project/cmake/KodiConfig.cmake.in +index 76626ec..ffb8e1d 100644 +--- a/project/cmake/KodiConfig.cmake.in ++++ b/project/cmake/KodiConfig.cmake.in +@@ -7,7 +7,7 @@ if(NOT @APP_NAME_UC@_PREFIX) + set(@APP_NAME_UC@_PREFIX @APP_PREFIX@) + endif() + if(NOT @APP_NAME_UC@_INCLUDE_DIR) +- set(@APP_NAME_UC@_INCLUDE_DIR @APP_INCLUDE_DIR@) ++ set(@APP_NAME_UC@_INCLUDE_DIR ${CMAKE_FIND_ROOT_PATH}/@APP_INCLUDE_DIR@) + endif() + if(NOT @APP_NAME_UC@_LIB_DIR) + set(@APP_NAME_UC@_LIB_DIR @APP_LIB_DIR@) +@@ -18,7 +18,7 @@ endif() + if(NOT WIN32) + set(CMAKE_CXX_FLAGS "$ENV{CXXFLAGS} @CXX11_SWITCH@") + endif() +-list(APPEND CMAKE_MODULE_PATH @APP_LIB_DIR@ @APP_DATA_DIR@/cmake) ++list(APPEND CMAKE_MODULE_PATH ${CMAKE_FIND_ROOT_PATH}/@APP_LIB_DIR@ ${CMAKE_FIND_ROOT_PATH}/@APP_DATA_DIR@/cmake) + + string(REPLACE ";" " " ARCH_DEFINES "@ARCH_DEFINES@") + add_definitions(${ARCH_DEFINES} -DBUILD_KODI_ADDON) +-- +2.5.0 + diff --git a/package/kodi/0002-CMake-Remove-dependency-on-gmp-and-libintl-from-Find.patch b/package/kodi/0002-CMake-Remove-dependency-on-gmp-and-libintl-from-Find.patch new file mode 100644 index 0000000000..80bf954d5e --- /dev/null +++ b/package/kodi/0002-CMake-Remove-dependency-on-gmp-and-libintl-from-Find.patch @@ -0,0 +1,39 @@ +CMake: Remove dependency on gmp and libintl from FindPython.cmake + +Downloaded from Openelec: +https://github.com/OpenELEC/OpenELEC.tv/blob/master/packages/mediacenter/kodi/patches/kodi-998.02-cmake-python.patch + +The dependency for libintl and gmp was introduced by this commit +https://github.com/xbmc/xbmc/commit/8558d672e98b62f3ea0126ba491376add8ed71cb +without further explanation and, apparently, without necessity. + +A question asking whether this is really needed was sent upstream: +https://github.com/xbmc/xbmc/pull/10973#pullrequestreview-34179550 + +Signed-off-by: Bernd Kuhls + +diff -Naur kodi-17.1-Krypton/project/cmake/modules/FindPython.cmake kodi-17.1-Krypton.patch/project/cmake/modules/FindPython.cmake +--- kodi-17.1-Krypton/project/cmake/modules/FindPython.cmake 2017-03-20 17:17:49.000000000 +0100 ++++ kodi-17.1-Krypton.patch/project/cmake/modules/FindPython.cmake 2017-03-30 11:10:01.065718667 +0200 +@@ -16,14 +16,12 @@ + if(KODI_DEPENDSBUILD) + find_library(FFI_LIBRARY ffi REQUIRED) + find_library(EXPAT_LIBRARY expat REQUIRED) +- find_library(INTL_LIBRARY intl REQUIRED) +- find_library(GMP_LIBRARY gmp REQUIRED) + + if(NOT CORE_SYSTEM_NAME STREQUAL android) + set(PYTHON_DEP_LIBRARIES pthread dl util) + endif() + +- set(PYTHON_LIBRARIES ${PYTHON_LIBRARY} ${FFI_LIBRARY} ${EXPAT_LIBRARY} ${INTL_LIBRARY} ${GMP_LIBRARY} ${PYTHON_DEP_LIBRARIES}) ++ set(PYTHON_LIBRARIES ${PYTHON_LIBRARY} ${FFI_LIBRARY} ${EXPAT_LIBRARY} ${PYTHON_DEP_LIBRARIES}) + else() + find_package(PythonLibs 2.7 REQUIRED) + list(APPEND PYTHON_LIBRARIES ${PC_PYTHON_STATIC_LIBRARIES}) +@@ -36,4 +34,4 @@ + set(PYTHON_INCLUDE_DIRS ${PYTHON_INCLUDE_DIR}) + endif() + +-mark_as_advanced(PYTHON_EXECUTABLE PYTHON_INCLUDE_DIRS PYTHON_INCLUDE_DIR PYTHON_LIBRARY PYTHON_LIBRARIES PYTHON_LDFLAGS FFI_LIBRARY EXPAT_LIBRARY INTL_LIBRARY GMP_LIBRARY) ++mark_as_advanced(PYTHON_EXECUTABLE PYTHON_INCLUDE_DIRS PYTHON_INCLUDE_DIR PYTHON_LIBRARY PYTHON_LIBRARIES PYTHON_LDFLAGS FFI_LIBRARY EXPAT_LIBRARY) diff --git a/package/kodi/0003-ALSA-fix-device-change-event-support.patch b/package/kodi/0003-ALSA-fix-device-change-event-support.patch deleted file mode 100644 index b5f37b94da..0000000000 --- a/package/kodi/0003-ALSA-fix-device-change-event-support.patch +++ /dev/null @@ -1,67 +0,0 @@ -Patch sent upstream: - -https://github.com/xbmc/xbmc/pull/7551 - - -From a6d6a1a36ff2dff2586fbad2a068e7df14b55fdc Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Sun, 19 Jul 2015 14:12:03 +0200 -Subject: [PATCH 1/1] ALSA: fix device change event support - -Current uClibc version 0.9.33.2 does not support eventfd_read/write. - -Signed-off-by: Bernd Kuhls ---- - configure.ac | 5 ++++- - xbmc/linux/FDEventMonitor.cpp | 12 ++++++++++++ - 2 files changed, 16 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index d321f7d..4c6c750 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -911,7 +911,7 @@ AC_FUNC_STRFTIME - AC_FUNC_STRTOD - AC_FUNC_UTIME_NULL - AC_FUNC_VPRINTF --AC_CHECK_FUNCS([atexit dup2 fdatasync floor fs_stat_dev ftime ftruncate getcwd gethostbyaddr gethostbyname gethostname getpagesize getpass gettimeofday inet_ntoa lchown localeconv memchr memmove memset mkdir modf munmap pow rmdir select setenv setlocale socket sqrt strcasecmp strchr strcspn strdup strerror strncasecmp strpbrk strrchr strspn strstr strtol strtoul sysinfo tzset utime posix_fadvise localtime_r]) -+AC_CHECK_FUNCS([atexit dup2 fdatasync floor fs_stat_dev ftime ftruncate getcwd gethostbyaddr gethostbyname gethostname getpagesize getpass gettimeofday inet_ntoa lchown localeconv memchr memmove memset mkdir modf munmap pow rmdir select setenv setlocale socket sqrt strcasecmp strchr strcspn strdup strerror strncasecmp strpbrk strrchr strspn strstr strtol strtoul sysinfo tzset utime posix_fadvise localtime_r eventfd_read eventfd_write]) - - # Check for various sizes - AC_CHECK_SIZEOF([int]) -@@ -2064,6 +2064,9 @@ fi - if test "$use_alsa" = "yes"; then - USE_ALSA=1 - AC_DEFINE([USE_ALSA],[1],["Define to 1 if alsa is installed"]) -+ if test "$ac_cv_func_eventfd_read" = "yes" -a "$ac_cv_func_eventfd_write" = "yes"; then -+ AC_DEFINE([HAVE_EVENTFD],[1],["Define to 1 if eventfd is installed"]) -+ fi - final_message="$final_message\n ALSA:\t\tYes" - else - USE_ALSA=0 -diff --git a/xbmc/linux/FDEventMonitor.cpp b/xbmc/linux/FDEventMonitor.cpp -index 4a41477..84efeb9 100644 ---- a/xbmc/linux/FDEventMonitor.cpp -+++ b/xbmc/linux/FDEventMonitor.cpp -@@ -28,6 +28,18 @@ - - #include "FDEventMonitor.h" - -+#ifndef HAVE_EVENTFD -+static int eventfd_read(int __fd, eventfd_t *__value) -+{ -+ return read(__fd, __value, sizeof(eventfd_t)) == sizeof(eventfd_t) ? 0 : -1; -+} -+ -+static int eventfd_write(int __fd, eventfd_t __value) -+{ -+ return write(__fd, &__value, sizeof(eventfd_t)) == sizeof(eventfd_t) ? 0 : -1; -+} -+#endif -+ - CFDEventMonitor::CFDEventMonitor() : - CThread("FDEventMonitor"), - m_nextID(0), --- -1.7.10.4 - diff --git a/package/kodi/0004-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch b/package/kodi/0004-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch deleted file mode 100644 index 2678a7839e..0000000000 --- a/package/kodi/0004-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 6604cce38fed748e98d3bd2bf9d0f368d67eeb3c Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 29 Jul 2015 23:13:33 +0200 -Subject: [PATCH] kodi-config.cmake: use CMAKE_FIND_ROOT_PATH to fix - cross-compilation - -When cross-compiling, the location at build time of the libraries is -not the same as the one at run-time. The CMAKE_FIND_ROOT_PATH variable -is here to handle this difference, so use it in kodi-config.cmake. - -Signed-off-by: Thomas Petazzoni ---- - project/cmake/kodi-config.cmake.in | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/project/cmake/kodi-config.cmake.in b/project/cmake/kodi-config.cmake.in -index 76626ec..ffb8e1d 100644 ---- a/project/cmake/kodi-config.cmake.in -+++ b/project/cmake/kodi-config.cmake.in -@@ -7,15 +7,15 @@ - SET(@APP_NAME_UC@_PREFIX @APP_PREFIX@) - ENDIF() - IF(NOT @APP_NAME_UC@_INCLUDE_DIR) -- SET(@APP_NAME_UC@_INCLUDE_DIR @APP_INCLUDE_DIR@) -+ SET(@APP_NAME_UC@_INCLUDE_DIR ${CMAKE_FIND_ROOT_PATH}/@APP_INCLUDE_DIR@) - ENDIF() - IF(NOT @APP_NAME_UC@_LIB_DIR) -- SET(@APP_NAME_UC@_LIB_DIR @APP_LIB_DIR@) -+ SET(@APP_NAME_UC@_LIB_DIR ${CMAKE_FIND_ROOT_PATH}/@APP_LIB_DIR@) - ENDIF() - IF(NOT WIN32) - SET(CMAKE_CXX_FLAGS "$ENV{CXXFLAGS} @CXX11_SWITCH@") - ENDIF() --LIST(APPEND CMAKE_MODULE_PATH @APP_LIB_DIR@) -+LIST(APPEND CMAKE_MODULE_PATH ${CMAKE_FIND_ROOT_PATH}/@APP_LIB_DIR@) - ADD_DEFINITIONS(@ARCH_DEFINES@ -DBUILD_KODI_ADDON) - - if(NOT CORE_SYSTEM_NAME) --- -2.5.0 - diff --git a/package/kodi/0005-native-TexturePacker-fix-compilation-with-gcc-4.6.patch b/package/kodi/0005-native-TexturePacker-fix-compilation-with-gcc-4.6.patch deleted file mode 100644 index 3d9370ff0e..0000000000 --- a/package/kodi/0005-native-TexturePacker-fix-compilation-with-gcc-4.6.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 2b395fb3f07551ae1ce2e484c14ac59f36e192b0 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Thu, 17 Mar 2016 21:47:53 +0100 -Subject: [PATCH] native/TexturePacker: fix compilation with gcc 4.6 - -Kodi itself depends on gcc >= 4.7 due to its use of the C++11 standard. -When cross-compiling the host gcc currently also needs to be >= 4.7 due -to the texturepacker tool being needed as native binary to compile -Textures.xbt for the target system. - -Cross-compiling on a system where host gcc is at version 4.6 fails atm -with this error: - -cc1plus: error: unrecognized command line option '-std=c++11' -make[4]: *** [md5.o] Error 1 -make[4]: *** Waiting for unfinished jobs.... -cc1plus: error: unrecognized command line option '-std=c++11' -cc1plus: error: unrecognized command line option '-std=c++11' - -make[4]: *** [DecoderManager.o] Error 1 -make[4]: *** [XBTFWriter.o] Error 1 -cc1plus: error: unrecognized command line option '-std=c++11' -make[4]: *** [TexturePacker.o] Error 1 -cc1plus: error: unrecognized command line option '-std=c++11' -make[4]: *** [decoder/PNGDecoder.o] Error 1 -make[3]: *** [all] Error 2 -make[2]: *** [native/TexturePacker] Error 2 - -Using this patch the problem is fixed and a working TexturePacker host -binary is created. - -Signed-off-by: Bernd Kuhls -Patch sent upstream: https://github.com/xbmc/xbmc/pull/9378 ---- - tools/depends/native/TexturePacker/src/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tools/depends/native/TexturePacker/src/Makefile.am b/tools/depends/native/TexturePacker/src/Makefile.am -index c1fc8be..d075290 100644 ---- a/tools/depends/native/TexturePacker/src/Makefile.am -+++ b/tools/depends/native/TexturePacker/src/Makefile.am -@@ -2,7 +2,7 @@ AUTOMAKE_OPTIONS = subdir-objects - - AM_CFLAGS = -DTARGET_POSIX -DUSE_LZO_PACKING - AM_CFLAGS += @EXTRA_DEFINES@ --AM_CXXFLAGS = $(AM_CFLAGS) -std=c++11 -+AM_CXXFLAGS = $(AM_CFLAGS) -std=c++0x - - AM_CPPFLAGS = \ - -I. \ --- -2.7.0 - diff --git a/package/kodi/0006-ffmpeg30.patch b/package/kodi/0006-ffmpeg30.patch deleted file mode 100644 index 9164d48ad7..0000000000 --- a/package/kodi/0006-ffmpeg30.patch +++ /dev/null @@ -1,646 +0,0 @@ -Add support for ffmpeg 3.0 - -Changes from original commit are only in file paths & quilt refresh. - -commit c31b7d374062f87c7512d9872cbceac920465913 -Author: Philip Langdale -Date: Mon Sep 21 19:49:36 2015 -0700 - - ffmpeg: Update AVPixelFormat and AV_PIX_FMT_* to compile with master - - The deprecated PixelFormat and PIX_FMT_* names have been removed in - ffmpeg master. - -Signed-off-by: Bernd Kuhls -[Downloaded from -https://gitweb.gentoo.org/repo/gentoo.git/tree/media-tv/kodi/files/kodi-16-ffmpeg3.patch] - -Index: xbmc-16.0-Jarvis/xbmc/cores/FFmpeg.h -=================================================================== ---- xbmc-16.0-Jarvis.orig/xbmc/cores/FFmpeg.h -+++ xbmc-16.0-Jarvis/xbmc/cores/FFmpeg.h -@@ -24,7 +24,6 @@ - #include "utils/CPUInfo.h" - - extern "C" { --#include "libswscale/swscale.h" - #include "libavcodec/avcodec.h" - #include "libavformat/avformat.h" - #include "libavutil/avutil.h" -@@ -33,23 +32,6 @@ extern "C" { - #include "libpostproc/postprocess.h" - } - --inline int SwScaleCPUFlags() --{ -- unsigned int cpuFeatures = g_cpuInfo.GetCPUFeatures(); -- int flags = 0; -- -- if (cpuFeatures & CPU_FEATURE_MMX) -- flags |= SWS_CPU_CAPS_MMX; -- if (cpuFeatures & CPU_FEATURE_MMX2) -- flags |= SWS_CPU_CAPS_MMX2; -- if (cpuFeatures & CPU_FEATURE_3DNOW) -- flags |= SWS_CPU_CAPS_3DNOW; -- if (cpuFeatures & CPU_FEATURE_ALTIVEC) -- flags |= SWS_CPU_CAPS_ALTIVEC; -- -- return flags; --} -- - inline int PPCPUFlags() - { - unsigned int cpuFeatures = g_cpuInfo.GetCPUFeatures(); -Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/DVDCodecUtils.cpp -=================================================================== ---- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/DVDCodecUtils.cpp -+++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/DVDCodecUtils.cpp -@@ -39,7 +39,7 @@ extern "C" { - #include "libswscale/swscale.h" - } - --// allocate a new picture (PIX_FMT_YUV420P) -+// allocate a new picture (AV_PIX_FMT_YUV420P) - DVDVideoPicture* CDVDCodecUtils::AllocatePicture(int iWidth, int iHeight) - { - DVDVideoPicture* pPicture = new DVDVideoPicture; -@@ -264,13 +264,13 @@ DVDVideoPicture* CDVDCodecUtils::Convert - - int dstformat; - if (format == RENDER_FMT_UYVY422) -- dstformat = PIX_FMT_UYVY422; -+ dstformat = AV_PIX_FMT_UYVY422; - else -- dstformat = PIX_FMT_YUYV422; -+ dstformat = AV_PIX_FMT_YUYV422; - -- struct SwsContext *ctx = sws_getContext(pSrc->iWidth, pSrc->iHeight, PIX_FMT_YUV420P, -+ struct SwsContext *ctx = sws_getContext(pSrc->iWidth, pSrc->iHeight, AV_PIX_FMT_YUV420P, - pPicture->iWidth, pPicture->iHeight, (AVPixelFormat)dstformat, -- SWS_BILINEAR | SwScaleCPUFlags(), NULL, NULL, NULL); -+ SWS_BILINEAR, NULL, NULL, NULL); - sws_scale(ctx, src, srcStride, 0, pSrc->iHeight, dst, dstStride); - sws_freeContext(ctx); - } -@@ -403,25 +403,25 @@ double CDVDCodecUtils::NormalizeFramedur - } - - struct EFormatMap { -- PixelFormat pix_fmt; -+ AVPixelFormat pix_fmt; - ERenderFormat format; - }; - - static const EFormatMap g_format_map[] = { -- { PIX_FMT_YUV420P, RENDER_FMT_YUV420P } --, { PIX_FMT_YUVJ420P, RENDER_FMT_YUV420P } --, { PIX_FMT_YUV420P10, RENDER_FMT_YUV420P10 } --, { PIX_FMT_YUV420P16, RENDER_FMT_YUV420P16 } --, { PIX_FMT_UYVY422, RENDER_FMT_UYVY422 } --, { PIX_FMT_YUYV422, RENDER_FMT_YUYV422 } --, { PIX_FMT_VAAPI_VLD, RENDER_FMT_VAAPI } --, { PIX_FMT_DXVA2_VLD, RENDER_FMT_DXVA } --, { PIX_FMT_NONE , RENDER_FMT_NONE } -+ { AV_PIX_FMT_YUV420P, RENDER_FMT_YUV420P } -+, { AV_PIX_FMT_YUVJ420P, RENDER_FMT_YUV420P } -+, { AV_PIX_FMT_YUV420P10, RENDER_FMT_YUV420P10 } -+, { AV_PIX_FMT_YUV420P16, RENDER_FMT_YUV420P16 } -+, { AV_PIX_FMT_UYVY422, RENDER_FMT_UYVY422 } -+, { AV_PIX_FMT_YUYV422, RENDER_FMT_YUYV422 } -+, { AV_PIX_FMT_VAAPI_VLD, RENDER_FMT_VAAPI } -+, { AV_PIX_FMT_DXVA2_VLD, RENDER_FMT_DXVA } -+, { AV_PIX_FMT_NONE , RENDER_FMT_NONE } - }; - - ERenderFormat CDVDCodecUtils::EFormatFromPixfmt(int fmt) - { -- for(const EFormatMap *p = g_format_map; p->pix_fmt != PIX_FMT_NONE; ++p) -+ for(const EFormatMap *p = g_format_map; p->pix_fmt != AV_PIX_FMT_NONE; ++p) - { - if(p->pix_fmt == fmt) - return p->format; -@@ -431,10 +431,10 @@ ERenderFormat CDVDCodecUtils::EFormatFro - - int CDVDCodecUtils::PixfmtFromEFormat(ERenderFormat fmt) - { -- for(const EFormatMap *p = g_format_map; p->pix_fmt != PIX_FMT_NONE; ++p) -+ for(const EFormatMap *p = g_format_map; p->pix_fmt != AV_PIX_FMT_NONE; ++p) - { - if(p->format == fmt) - return p->pix_fmt; - } -- return PIX_FMT_NONE; -+ return AV_PIX_FMT_NONE; - } -Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp -=================================================================== ---- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp -+++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp -@@ -77,8 +77,8 @@ enum DecoderState - STATE_SW_MULTI - }; - --enum PixelFormat CDVDVideoCodecFFmpeg::GetFormat( struct AVCodecContext * avctx -- , const PixelFormat * fmt ) -+enum AVPixelFormat CDVDVideoCodecFFmpeg::GetFormat( struct AVCodecContext * avctx -+ , const AVPixelFormat * fmt ) - { - CDVDVideoCodecFFmpeg* ctx = (CDVDVideoCodecFFmpeg*)avctx->opaque; - -@@ -104,8 +104,8 @@ enum PixelFormat CDVDVideoCodecFFmpeg::G - avctx->hwaccel_context = 0; - } - -- const PixelFormat * cur = fmt; -- while(*cur != PIX_FMT_NONE) -+ const AVPixelFormat * cur = fmt; -+ while(*cur != AV_PIX_FMT_NONE) - { - #ifdef HAVE_LIBVDPAU - if(VDPAU::CDecoder::IsVDPAUFormat(*cur) && CSettings::GetInstance().GetBool(CSettings::SETTING_VIDEOPLAYER_USEVDPAU)) -@@ -137,7 +137,7 @@ enum PixelFormat CDVDVideoCodecFFmpeg::G - #endif - #ifdef HAVE_LIBVA - // mpeg4 vaapi decoding is disabled -- if(*cur == PIX_FMT_VAAPI_VLD && CSettings::GetInstance().GetBool(CSettings::SETTING_VIDEOPLAYER_USEVAAPI)) -+ if(*cur == AV_PIX_FMT_VAAPI_VLD && CSettings::GetInstance().GetBool(CSettings::SETTING_VIDEOPLAYER_USEVAAPI)) - { - VAAPI::CDecoder* dec = new VAAPI::CDecoder(); - if(dec->Open(avctx, ctx->m_pCodecContext, *cur, ctx->m_uSurfacesCount) == true) -@@ -214,11 +214,11 @@ bool CDVDVideoCodecFFmpeg::Open(CDVDStre - - for(std::vector::iterator it = options.m_formats.begin(); it != options.m_formats.end(); ++it) - { -- m_formats.push_back((PixelFormat)CDVDCodecUtils::PixfmtFromEFormat(*it)); -+ m_formats.push_back((AVPixelFormat)CDVDCodecUtils::PixfmtFromEFormat(*it)); - if(*it == RENDER_FMT_YUV420P) -- m_formats.push_back(PIX_FMT_YUVJ420P); -+ m_formats.push_back(AV_PIX_FMT_YUVJ420P); - } -- m_formats.push_back(PIX_FMT_NONE); /* always add none to get a terminated list in ffmpeg world */ -+ m_formats.push_back(AV_PIX_FMT_NONE); /* always add none to get a terminated list in ffmpeg world */ - - pCodec = avcodec_find_decoder(hints.codec); - -@@ -655,7 +655,7 @@ bool CDVDVideoCodecFFmpeg::GetPictureCom - pDvdVideoPicture->color_transfer = m_pCodecContext->color_trc; - pDvdVideoPicture->color_matrix = m_pCodecContext->colorspace; - if(m_pCodecContext->color_range == AVCOL_RANGE_JPEG -- || m_pCodecContext->pix_fmt == PIX_FMT_YUVJ420P) -+ || m_pCodecContext->pix_fmt == AV_PIX_FMT_YUVJ420P) - pDvdVideoPicture->color_range = 1; - else - pDvdVideoPicture->color_range = 0; -@@ -738,8 +738,8 @@ bool CDVDVideoCodecFFmpeg::GetPicture(DV - pDvdVideoPicture->iFlags |= pDvdVideoPicture->data[0] ? 0 : DVP_FLAG_DROPPED; - pDvdVideoPicture->extended_format = 0; - -- PixelFormat pix_fmt; -- pix_fmt = (PixelFormat)m_pFrame->format; -+ AVPixelFormat pix_fmt; -+ pix_fmt = (AVPixelFormat)m_pFrame->format; - - pDvdVideoPicture->format = CDVDCodecUtils::EFormatFromPixfmt(pix_fmt); - return true; -Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.h -=================================================================== ---- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.h -+++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.h -@@ -46,7 +46,7 @@ public: - public: - IHardwareDecoder() {} - virtual ~IHardwareDecoder() {}; -- virtual bool Open (AVCodecContext* avctx, AVCodecContext* mainctx, const enum PixelFormat, unsigned int surfaces) = 0; -+ virtual bool Open (AVCodecContext* avctx, AVCodecContext* mainctx, const enum AVPixelFormat, unsigned int surfaces) = 0; - virtual int Decode (AVCodecContext* avctx, AVFrame* frame) = 0; - virtual bool GetPicture(AVCodecContext* avctx, AVFrame* frame, DVDVideoPicture* picture) = 0; - virtual int Check (AVCodecContext* avctx) = 0; -@@ -77,7 +77,7 @@ public: - void SetHardware(IHardwareDecoder* hardware); - - protected: -- static enum PixelFormat GetFormat(struct AVCodecContext * avctx, const PixelFormat * fmt); -+ static enum AVPixelFormat GetFormat(struct AVCodecContext * avctx, const AVPixelFormat * fmt); - - int FilterOpen(const std::string& filters, bool scale); - void FilterClose(); -@@ -119,7 +119,7 @@ protected: - int m_iLastKeyframe; - double m_dts; - bool m_started; -- std::vector m_formats; -+ std::vector m_formats; - double m_decoderPts; - int m_skippedDeint; - bool m_requestSkipDeint; -Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVDA.cpp -=================================================================== ---- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVDA.cpp -+++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVDA.cpp -@@ -554,11 +554,11 @@ void CDVDVideoCodecVDA::DisplayQueuePop( - - void CDVDVideoCodecVDA::UYVY422_to_YUV420P(uint8_t *yuv422_ptr, int yuv422_stride, DVDVideoPicture *picture) - { -- // convert PIX_FMT_UYVY422 to PIX_FMT_YUV420P. -+ // convert AV_PIX_FMT_UYVY422 to AV_PIX_FMT_YUV420P. - struct SwsContext *swcontext = sws_getContext( -- m_videobuffer.iWidth, m_videobuffer.iHeight, PIX_FMT_UYVY422, -- m_videobuffer.iWidth, m_videobuffer.iHeight, PIX_FMT_YUV420P, -- SWS_FAST_BILINEAR | SwScaleCPUFlags(), NULL, NULL, NULL); -+ m_videobuffer.iWidth, m_videobuffer.iHeight, AV_PIX_FMT_UYVY422, -+ m_videobuffer.iWidth, m_videobuffer.iHeight, AV_PIX_FMT_YUV420P, -+ SWS_FAST_BILINEAR, NULL, NULL, NULL); - if (swcontext) - { - uint8_t *src[] = { yuv422_ptr, 0, 0, 0 }; -@@ -574,11 +574,11 @@ void CDVDVideoCodecVDA::UYVY422_to_YUV42 - - void CDVDVideoCodecVDA::BGRA_to_YUV420P(uint8_t *bgra_ptr, int bgra_stride, DVDVideoPicture *picture) - { -- // convert PIX_FMT_BGRA to PIX_FMT_YUV420P. -+ // convert AV_PIX_FMT_BGRA to AV_PIX_FMT_YUV420P. - struct SwsContext *swcontext = sws_getContext( -- m_videobuffer.iWidth, m_videobuffer.iHeight, PIX_FMT_BGRA, -- m_videobuffer.iWidth, m_videobuffer.iHeight, PIX_FMT_YUV420P, -- SWS_FAST_BILINEAR | SwScaleCPUFlags(), NULL, NULL, NULL); -+ m_videobuffer.iWidth, m_videobuffer.iHeight, AV_PIX_FMT_BGRA, -+ m_videobuffer.iWidth, m_videobuffer.iHeight, AV_PIX_FMT_YUV420P, -+ SWS_FAST_BILINEAR, NULL, NULL, NULL); - if (swcontext) - { - uint8_t *src[] = { bgra_ptr, 0, 0, 0 }; -Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.cpp -=================================================================== ---- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.cpp -+++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.cpp -@@ -886,7 +886,7 @@ static bool CheckCompatibility(AVCodecCo - return true; - } - --bool CDecoder::Open(AVCodecContext *avctx, AVCodecContext* mainctx, enum PixelFormat fmt, unsigned int surfaces) -+bool CDecoder::Open(AVCodecContext *avctx, AVCodecContext* mainctx, enum AVPixelFormat fmt, unsigned int surfaces) - { - if (!CheckCompatibility(avctx)) - return false; -@@ -1135,9 +1135,9 @@ bool CDecoder::OpenDecoder() - return true; - } - --bool CDecoder::Supports(enum PixelFormat fmt) -+bool CDecoder::Supports(enum AVPixelFormat fmt) - { -- if(fmt == PIX_FMT_DXVA2_VLD) -+ if(fmt == AV_PIX_FMT_DXVA2_VLD) - return true; - return false; - } -Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.h -=================================================================== ---- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.h -+++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.h -@@ -141,7 +141,7 @@ class CDecoder - public: - CDecoder(); - ~CDecoder(); -- virtual bool Open (AVCodecContext* avctx, AVCodecContext* mainctx, const enum PixelFormat, unsigned int surfaces); -+ virtual bool Open (AVCodecContext* avctx, AVCodecContext* mainctx, const enum AVPixelFormat, unsigned int surfaces); - virtual int Decode (AVCodecContext* avctx, AVFrame* frame); - virtual bool GetPicture(AVCodecContext* avctx, AVFrame* frame, DVDVideoPicture* picture); - virtual int Check (AVCodecContext* avctx); -@@ -154,7 +154,7 @@ public: - int GetBuffer(AVCodecContext *avctx, AVFrame *pic, int flags); - void RelBuffer(uint8_t *data); - -- static bool Supports(enum PixelFormat fmt); -+ static bool Supports(enum AVPixelFormat fmt); - - void CloseDXVADecoder(); - -Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp -=================================================================== ---- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp -+++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp -@@ -479,7 +479,7 @@ CDecoder::~CDecoder() - Close(); - } - --bool CDecoder::Open(AVCodecContext* avctx, AVCodecContext* mainctx, const enum PixelFormat fmt, unsigned int surfaces) -+bool CDecoder::Open(AVCodecContext* avctx, AVCodecContext* mainctx, const enum AVPixelFormat fmt, unsigned int surfaces) - { - // don't support broken wrappers by default - // nvidia cards with a vaapi to vdpau wrapper -Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.h -=================================================================== ---- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.h -+++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.h -@@ -406,7 +406,7 @@ public: - CDecoder(); - virtual ~CDecoder(); - -- virtual bool Open (AVCodecContext* avctx, AVCodecContext* mainctx, const enum PixelFormat, unsigned int surfaces = 0); -+ virtual bool Open (AVCodecContext* avctx, AVCodecContext* mainctx, const enum AVPixelFormat, unsigned int surfaces = 0); - virtual int Decode (AVCodecContext* avctx, AVFrame* frame); - virtual bool GetPicture(AVCodecContext* avctx, AVFrame* frame, DVDVideoPicture* picture); - virtual void Reset(); -Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VDA.cpp -=================================================================== ---- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VDA.cpp -+++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VDA.cpp -@@ -186,7 +186,7 @@ void CDecoder::Close() - m_bitstream = NULL; - } - --bool CDecoder::Open(AVCodecContext *avctx, AVCodecContext* mainctx, enum PixelFormat fmt, unsigned int surfaces) -+bool CDecoder::Open(AVCodecContext *avctx, AVCodecContext* mainctx, enum AVPixelFormat fmt, unsigned int surfaces) - { - Close(); - -Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VDA.h -=================================================================== ---- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VDA.h -+++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VDA.h -@@ -35,7 +35,7 @@ class CDecoder - public: - CDecoder(); - ~CDecoder(); -- virtual bool Open(AVCodecContext* avctx, AVCodecContext* mainctx, const enum PixelFormat, unsigned int surfaces = 0); -+ virtual bool Open(AVCodecContext* avctx, AVCodecContext* mainctx, const enum AVPixelFormat, unsigned int surfaces = 0); - virtual int Decode(AVCodecContext* avctx, AVFrame* frame); - virtual bool GetPicture(AVCodecContext* avctx, AVFrame* frame, DVDVideoPicture* picture); - virtual int Check(AVCodecContext* avctx); -Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp -=================================================================== ---- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp -+++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp -@@ -486,7 +486,7 @@ CDecoder::CDecoder() : m_vdpauOutput(&m_ - m_vdpauConfig.context = 0; - } - --bool CDecoder::Open(AVCodecContext* avctx, AVCodecContext* mainctx, const enum PixelFormat fmt, unsigned int surfaces) -+bool CDecoder::Open(AVCodecContext* avctx, AVCodecContext* mainctx, const enum AVPixelFormat fmt, unsigned int surfaces) - { - // check if user wants to decode this format with VDPAU - std::string gpuvendor = g_Windowing.GetRenderVendor(); -@@ -760,7 +760,7 @@ int CDecoder::Check(AVCodecContext* avct - return 0; - } - --bool CDecoder::IsVDPAUFormat(PixelFormat format) -+bool CDecoder::IsVDPAUFormat(AVPixelFormat format) - { - if (format == AV_PIX_FMT_VDPAU) - return true; -Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.h -=================================================================== ---- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.h -+++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.h -@@ -556,7 +556,7 @@ public: - CDecoder(); - virtual ~CDecoder(); - -- virtual bool Open (AVCodecContext* avctx, AVCodecContext* mainctx, const enum PixelFormat, unsigned int surfaces = 0); -+ virtual bool Open (AVCodecContext* avctx, AVCodecContext* mainctx, const enum AVPixelFormat, unsigned int surfaces = 0); - virtual int Decode (AVCodecContext* avctx, AVFrame* frame); - virtual bool GetPicture(AVCodecContext* avctx, AVFrame* frame, DVDVideoPicture* picture); - virtual void Reset(); -@@ -571,7 +571,7 @@ public: - bool Supports(VdpVideoMixerFeature feature); - bool Supports(EINTERLACEMETHOD method); - EINTERLACEMETHOD AutoInterlaceMethod(); -- static bool IsVDPAUFormat(PixelFormat fmt); -+ static bool IsVDPAUFormat(AVPixelFormat fmt); - - static void FFReleaseBuffer(void *opaque, uint8_t *data); - static int FFGetBuffer(AVCodecContext *avctx, AVFrame *pic, int flags); -Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp -=================================================================== ---- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp -+++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp -@@ -1638,7 +1638,7 @@ void CDVDDemuxFFmpeg::ParsePacket(AVPack - - // for video we need a decoder to get desired information into codec context - if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO && st->codec->extradata && -- (!st->codec->width || st->codec->pix_fmt == PIX_FMT_NONE)) -+ (!st->codec->width || st->codec->pix_fmt == AV_PIX_FMT_NONE)) - { - // open a decoder, it will be cleared down by ffmpeg on closing the stream - if (!st->codec->codec) -@@ -1695,7 +1695,7 @@ bool CDVDDemuxFFmpeg::IsVideoReady() - st = m_pFormatContext->streams[idx]; - if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO) - { -- if (st->codec->width && st->codec->pix_fmt != PIX_FMT_NONE) -+ if (st->codec->width && st->codec->pix_fmt != AV_PIX_FMT_NONE) - return true; - hasVideo = true; - } -@@ -1708,7 +1708,7 @@ bool CDVDDemuxFFmpeg::IsVideoReady() - st = m_pFormatContext->streams[i]; - if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO) - { -- if (st->codec->width && st->codec->pix_fmt != PIX_FMT_NONE) -+ if (st->codec->width && st->codec->pix_fmt != AV_PIX_FMT_NONE) - return true; - hasVideo = true; - } -Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDFileInfo.cpp -=================================================================== ---- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDFileInfo.cpp -+++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDFileInfo.cpp -@@ -275,7 +275,7 @@ bool CDVDFileInfo::ExtractThumb(const st - - uint8_t *pOutBuf = new uint8_t[nWidth * nHeight * 4]; - struct SwsContext *context = sws_getContext(picture.iWidth, picture.iHeight, -- PIX_FMT_YUV420P, nWidth, nHeight, PIX_FMT_BGRA, SWS_FAST_BILINEAR | SwScaleCPUFlags(), NULL, NULL, NULL); -+ AV_PIX_FMT_YUV420P, nWidth, nHeight, AV_PIX_FMT_BGRA, SWS_FAST_BILINEAR, NULL, NULL, NULL); - - if (context) - { -Index: xbmc-16.0-Jarvis/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp -=================================================================== ---- xbmc-16.0-Jarvis.orig/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp -+++ xbmc-16.0-Jarvis/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp -@@ -2932,7 +2932,7 @@ void CLinuxRendererGL::ToRGBFrame(YV12Im - } - else if (m_format == RENDER_FMT_NV12) - { -- srcFormat = PIX_FMT_NV12; -+ srcFormat = AV_PIX_FMT_NV12; - for (int i = 0; i < 2; i++) - { - src[i] = im->plane[i]; -@@ -2941,13 +2941,13 @@ void CLinuxRendererGL::ToRGBFrame(YV12Im - } - else if (m_format == RENDER_FMT_YUYV422) - { -- srcFormat = PIX_FMT_YUYV422; -+ srcFormat = AV_PIX_FMT_YUYV422; - src[0] = im->plane[0]; - srcStride[0] = im->stride[0]; - } - else if (m_format == RENDER_FMT_UYVY422) - { -- srcFormat = PIX_FMT_UYVY422; -+ srcFormat = AV_PIX_FMT_UYVY422; - src[0] = im->plane[0]; - srcStride[0] = im->stride[0]; - } -@@ -2965,8 +2965,8 @@ void CLinuxRendererGL::ToRGBFrame(YV12Im - - m_context = sws_getCachedContext(m_context, - im->width, im->height, (AVPixelFormat)srcFormat, -- im->width, im->height, (AVPixelFormat)PIX_FMT_BGRA, -- SWS_FAST_BILINEAR | SwScaleCPUFlags(), NULL, NULL, NULL); -+ im->width, im->height, (AVPixelFormat)AV_PIX_FMT_BGRA, -+ SWS_FAST_BILINEAR, NULL, NULL, NULL); - - uint8_t *dst[] = { m_rgbBuffer, 0, 0, 0 }; - int dstStride[] = { (int)m_sourceWidth * 4, 0, 0, 0 }; -@@ -2995,7 +2995,7 @@ void CLinuxRendererGL::ToRGBFields(YV12I - - if (m_format == RENDER_FMT_YUV420P) - { -- srcFormat = PIX_FMT_YUV420P; -+ srcFormat = AV_PIX_FMT_YUV420P; - for (int i = 0; i < 3; i++) - { - srcTop[i] = im->plane[i]; -@@ -3006,7 +3006,7 @@ void CLinuxRendererGL::ToRGBFields(YV12I - } - else if (m_format == RENDER_FMT_NV12) - { -- srcFormat = PIX_FMT_NV12; -+ srcFormat = AV_PIX_FMT_NV12; - for (int i = 0; i < 2; i++) - { - srcTop[i] = im->plane[i]; -@@ -3017,7 +3017,7 @@ void CLinuxRendererGL::ToRGBFields(YV12I - } - else if (m_format == RENDER_FMT_YUYV422) - { -- srcFormat = PIX_FMT_YUYV422; -+ srcFormat = AV_PIX_FMT_YUYV422; - srcTop[0] = im->plane[0]; - srcStrideTop[0] = im->stride[0] * 2; - srcBot[0] = im->plane[0] + im->stride[0]; -@@ -3025,7 +3025,7 @@ void CLinuxRendererGL::ToRGBFields(YV12I - } - else if (m_format == RENDER_FMT_UYVY422) - { -- srcFormat = PIX_FMT_UYVY422; -+ srcFormat = AV_PIX_FMT_UYVY422; - srcTop[0] = im->plane[0]; - srcStrideTop[0] = im->stride[0] * 2; - srcBot[0] = im->plane[0] + im->stride[0]; -@@ -3045,8 +3045,8 @@ void CLinuxRendererGL::ToRGBFields(YV12I - - m_context = sws_getCachedContext(m_context, - im->width, im->height >> 1, (AVPixelFormat)srcFormat, -- im->width, im->height >> 1, (AVPixelFormat)PIX_FMT_BGRA, -- SWS_FAST_BILINEAR | SwScaleCPUFlags(), NULL, NULL, NULL); -+ im->width, im->height >> 1, (AVPixelFormat)AV_PIX_FMT_BGRA, -+ SWS_FAST_BILINEAR, NULL, NULL, NULL); - uint8_t *dstTop[] = { m_rgbBuffer, 0, 0, 0 }; - uint8_t *dstBot[] = { m_rgbBuffer + m_sourceWidth * m_sourceHeight * 2, 0, 0, 0 }; - int dstStride[] = { (int)m_sourceWidth * 4, 0, 0, 0 }; -Index: xbmc-16.0-Jarvis/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp -=================================================================== ---- xbmc-16.0-Jarvis.orig/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp -+++ xbmc-16.0-Jarvis/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp -@@ -2006,8 +2006,8 @@ void CLinuxRendererGLES::UploadYV12Textu - #endif - { - m_sw_context = sws_getCachedContext(m_sw_context, -- im->width, im->height, PIX_FMT_YUV420P, -- im->width, im->height, PIX_FMT_RGBA, -+ im->width, im->height, AV_PIX_FMT_YUV420P, -+ im->width, im->height, AV_PIX_FMT_RGBA, - SWS_FAST_BILINEAR, NULL, NULL, NULL); - - uint8_t *src[] = { im->plane[0], im->plane[1], im->plane[2], 0 }; -Index: xbmc-16.0-Jarvis/xbmc/cores/VideoRenderers/WinRenderer.cpp -=================================================================== ---- xbmc-16.0-Jarvis.orig/xbmc/cores/VideoRenderers/WinRenderer.cpp -+++ xbmc-16.0-Jarvis/xbmc/cores/VideoRenderers/WinRenderer.cpp -@@ -94,16 +94,16 @@ CWinRenderer::~CWinRenderer() - UnInit(); - } - --static enum PixelFormat PixelFormatFromFormat(ERenderFormat format) -+static enum AVPixelFormat PixelFormatFromFormat(ERenderFormat format) - { -- if (format == RENDER_FMT_DXVA) return PIX_FMT_NV12; -- if (format == RENDER_FMT_YUV420P) return PIX_FMT_YUV420P; -- if (format == RENDER_FMT_YUV420P10) return PIX_FMT_YUV420P10; -- if (format == RENDER_FMT_YUV420P16) return PIX_FMT_YUV420P16; -- if (format == RENDER_FMT_NV12) return PIX_FMT_NV12; -- if (format == RENDER_FMT_UYVY422) return PIX_FMT_UYVY422; -- if (format == RENDER_FMT_YUYV422) return PIX_FMT_YUYV422; -- return PIX_FMT_NONE; -+ if (format == RENDER_FMT_DXVA) return AV_PIX_FMT_NV12; -+ if (format == RENDER_FMT_YUV420P) return AV_PIX_FMT_YUV420P; -+ if (format == RENDER_FMT_YUV420P10) return AV_PIX_FMT_YUV420P10; -+ if (format == RENDER_FMT_YUV420P16) return AV_PIX_FMT_YUV420P16; -+ if (format == RENDER_FMT_NV12) return AV_PIX_FMT_NV12; -+ if (format == RENDER_FMT_UYVY422) return AV_PIX_FMT_UYVY422; -+ if (format == RENDER_FMT_YUYV422) return AV_PIX_FMT_YUYV422; -+ return AV_PIX_FMT_NONE; - } - - void CWinRenderer::ManageTextures() -@@ -719,13 +719,13 @@ void CWinRenderer::Render(DWORD flags) - - void CWinRenderer::RenderSW() - { -- enum PixelFormat format = PixelFormatFromFormat(m_format); -+ enum AVPixelFormat format = PixelFormatFromFormat(m_format); - - // 1. convert yuv to rgb - m_sw_scale_ctx = sws_getCachedContext(m_sw_scale_ctx, - m_sourceWidth, m_sourceHeight, format, -- m_sourceWidth, m_sourceHeight, PIX_FMT_BGRA, -- SWS_FAST_BILINEAR | SwScaleCPUFlags(), NULL, NULL, NULL); -+ m_sourceWidth, m_sourceHeight, AV_PIX_FMT_BGRA, -+ SWS_FAST_BILINEAR, NULL, NULL, NULL); - - YUVBuffer* buf = (YUVBuffer*)m_VideoBuffers[m_iYV12RenderBuffer]; - -Index: xbmc-16.0-Jarvis/xbmc/pictures/Picture.cpp -=================================================================== ---- xbmc-16.0-Jarvis.orig/xbmc/pictures/Picture.cpp -+++ xbmc-16.0-Jarvis/xbmc/pictures/Picture.cpp -@@ -342,9 +342,9 @@ bool CPicture::ScaleImage(uint8_t *in_pi - uint8_t *out_pixels, unsigned int out_width, unsigned int out_height, unsigned int out_pitch, - CPictureScalingAlgorithm::Algorithm scalingAlgorithm /* = CPictureScalingAlgorithm::NoAlgorithm */) - { -- struct SwsContext *context = sws_getContext(in_width, in_height, PIX_FMT_BGRA, -- out_width, out_height, PIX_FMT_BGRA, -- CPictureScalingAlgorithm::ToSwscale(scalingAlgorithm) | SwScaleCPUFlags(), NULL, NULL, NULL); -+ struct SwsContext *context = sws_getContext(in_width, in_height, AV_PIX_FMT_BGRA, -+ out_width, out_height, AV_PIX_FMT_BGRA, -+ CPictureScalingAlgorithm::ToSwscale(scalingAlgorithm), NULL, NULL, NULL); - - uint8_t *src[] = { in_pixels, 0, 0, 0 }; - int srcStride[] = { (int)in_pitch, 0, 0, 0 }; -Index: xbmc-16.0-Jarvis/xbmc/video/FFmpegVideoDecoder.cpp -=================================================================== ---- xbmc-16.0-Jarvis.orig/xbmc/video/FFmpegVideoDecoder.cpp -+++ xbmc-16.0-Jarvis/xbmc/video/FFmpegVideoDecoder.cpp -@@ -252,7 +252,7 @@ bool FFmpegVideoDecoder::nextFrame( CBas - return false; - - // Due to a bug in swsscale we need to allocate one extra line of data -- if ( avpicture_alloc( m_pFrameRGB, PIX_FMT_RGB32, m_frameRGBwidth, m_frameRGBheight + 1 ) < 0 ) -+ if ( avpicture_alloc( m_pFrameRGB, AV_PIX_FMT_RGB32, m_frameRGBwidth, m_frameRGBheight + 1 ) < 0 ) - return false; - } - -@@ -287,7 +287,7 @@ bool FFmpegVideoDecoder::nextFrame( CBas - - // We got the video frame, render it into the picture buffer - struct SwsContext * context = sws_getContext( m_pCodecCtx->width, m_pCodecCtx->height, m_pCodecCtx->pix_fmt, -- m_frameRGBwidth, m_frameRGBheight, PIX_FMT_RGB32, SWS_FAST_BILINEAR, NULL, NULL, NULL ); -+ m_frameRGBwidth, m_frameRGBheight, AV_PIX_FMT_RGB32, SWS_FAST_BILINEAR, NULL, NULL, NULL ); - - sws_scale( context, m_pFrame->data, m_pFrame->linesize, 0, m_pCodecCtx->height, - m_pFrameRGB->data, m_pFrameRGB->linesize ); diff --git a/package/kodi/0007-exif-Fix-for-out-of-memory-errors-with-large-numbers.patch b/package/kodi/0007-exif-Fix-for-out-of-memory-errors-with-large-numbers.patch deleted file mode 100644 index 9b0e47d074..0000000000 --- a/package/kodi/0007-exif-Fix-for-out-of-memory-errors-with-large-numbers.patch +++ /dev/null @@ -1,45 +0,0 @@ -From f63563615e357b7d794a38e1d37276c325d1466f Mon Sep 17 00:00:00 2001 -From: popcornmix -Date: Sat, 7 May 2016 13:47:42 +0100 -Subject: [PATCH] [exif] Fix for out-of-memory errors with large numbers - of jpegs - -This reverts part of https://github.com/xbmc/xbmc/pull/7472 - -Basically the commit made the 4 comments in the exif block increase -from 2K to 64K each, so you now need 256K per photo. - -When opening a folder exif information for all photos is extracted. -So, for a folder of 5000 jpegs, 1.2GB of RAM is needed just for -the comments. - -As a 64K comment string is of no use to kodi, just truncate them to 2K -like we used to. - -See: -http://trac.kodi.tv/ticket/16193 -http://forum.kodi.tv/showthread.php?tid=251908 - -Signed-off-by: Bernd Kuhls -(backported from upstream commit in master branch: - https://github.com/xbmc/xbmc/commit/f63563615e357b7d794a38e1d37276c325d1466f) ---- - lib/libexif/libexif.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/libexif/libexif.h b/lib/libexif/libexif.h -index aa8da07..519ac30 100644 ---- a/lib/libexif/libexif.h -+++ b/lib/libexif/libexif.h -@@ -81,7 +81,7 @@ typedef struct { - #define EXIF_COMMENT_CHARSET_UNICODE 3 // Exif: Unicode (UTF-16) - #define EXIF_COMMENT_CHARSET_JIS 4 // Exif: JIS X208-1990 - --#define MAX_COMMENT 65533 // 2 bytes - 2 for the length param -+#define MAX_COMMENT 2000 - #define MAX_DATE_COPIES 10 - - typedef struct { --- -2.8.1 - diff --git a/package/kodi/0008-Fix-nullpadding-issue-when-reading-certain-id3v1-tag.patch b/package/kodi/0008-Fix-nullpadding-issue-when-reading-certain-id3v1-tag.patch deleted file mode 100644 index dc428d6ced..0000000000 --- a/package/kodi/0008-Fix-nullpadding-issue-when-reading-certain-id3v1-tag.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 78571ed421e3fd3d5244cd76670e4e1bab69132f Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Fri, 27 May 2016 17:30:28 +0200 -Subject: [PATCH 1/1] Fix nullpadding issue when reading certain id3v1 tags - -backported from upstream commit to master branch: - -https://github.com/xbmc/xbmc/commit/cdabf9dd9e82f4b2d639fb769db08227a7c52046 - -to fix problems with taglib-1.11: - -http://trac.kodi.tv/ticket/16454 -https://github.com/taglib/taglib/issues/741#issuecomment-218059031 - -Signed-off-by: Bernd Kuhls ---- - xbmc/music/tags/TagLoaderTagLib.cpp | 21 --------------------- - xbmc/music/tags/TagLoaderTagLib.h | 3 +++ - 2 files changed, 3 insertions(+), 21 deletions(-) - -diff --git a/xbmc/music/tags/TagLoaderTagLib.cpp b/xbmc/music/tags/TagLoaderTagLib.cpp -index b78a591..0fc346a 100644 ---- a/xbmc/music/tags/TagLoaderTagLib.cpp -+++ b/xbmc/music/tags/TagLoaderTagLib.cpp -@@ -46,31 +46,12 @@ - #include "utils/URIUtils.h" - #include "utils/log.h" - #include "utils/StringUtils.h" --#include "utils/CharsetConverter.h" - #include "utils/Base64.h" - #include "settings/AdvancedSettings.h" - - using namespace TagLib; - using namespace MUSIC_INFO; - --template --class TagStringHandler : public T --{ --public: -- TagStringHandler() {} -- virtual ~TagStringHandler() {} -- virtual String parse(const ByteVector &data) const -- { -- std::string strSource(data.data(), data.size()); -- std::string strUTF8; -- g_charsetConverter.unknownToUTF8(strSource, strUTF8); -- return String(strUTF8, String::UTF8); -- } --}; -- --static const TagStringHandler ID3v1StringHandler; --static const TagStringHandler ID3v2StringHandler; -- - CTagLoaderTagLib::CTagLoaderTagLib() - { - } -@@ -824,8 +805,6 @@ bool CTagLoaderTagLib::Load(const std::string& strFileName, CMusicInfoTag& tag, - return false; - } - -- ID3v1::Tag::setStringHandler(&ID3v1StringHandler); -- ID3v2::Tag::setLatin1StringHandler(&ID3v2StringHandler); - TagLib::File* file = NULL; - TagLib::APE::File* apeFile = NULL; - TagLib::ASF::File* asfFile = NULL; -diff --git a/xbmc/music/tags/TagLoaderTagLib.h b/xbmc/music/tags/TagLoaderTagLib.h -index f83ea4f..0edb84f 100644 ---- a/xbmc/music/tags/TagLoaderTagLib.h -+++ b/xbmc/music/tags/TagLoaderTagLib.h -@@ -44,6 +44,9 @@ - #include - #include "ImusicInfoTagLoader.h" - -+#include -+#include -+ - namespace MUSIC_INFO - { - class CMusicInfoTag; --- -2.8.1 - diff --git a/package/kodi/0009-lib-cximage-6.0-fix-compilation-with-gcc6.patch b/package/kodi/0009-lib-cximage-6.0-fix-compilation-with-gcc6.patch deleted file mode 100644 index a8de36c78b..0000000000 --- a/package/kodi/0009-lib-cximage-6.0-fix-compilation-with-gcc6.patch +++ /dev/null @@ -1,1438 +0,0 @@ -From 8f82e51563f0e1bc9b7a8adf669ad2b66e7ce3e5 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Thu, 28 Apr 2016 17:17:40 +0200 -Subject: [PATCH] lib/cximage-6.0: fix compilation with gcc6 - -For a quick fix I renamed min() to cxmin() and max() to cxmax() to -prevent the conflict with the gcc definition. - -Forum thread for reference: -http://forum.kodi.tv/showthread.php?tid=263884 - -Signed-off-by: Bernd Kuhls -(Patch sent upstream: https://github.com/xbmc/xbmc/pull/9703) ---- - lib/cximage-6.0/CxImage/ximabmp.cpp | 6 +- - lib/cximage-6.0/CxImage/ximadef.h | 8 +- - lib/cximage-6.0/CxImage/ximadsp.cpp | 182 +++++++++++++++++------------------ - lib/cximage-6.0/CxImage/ximage.cpp | 4 +- - lib/cximage-6.0/CxImage/ximagif.cpp | 6 +- - lib/cximage-6.0/CxImage/ximahist.cpp | 12 +-- - lib/cximage-6.0/CxImage/ximaint.cpp | 8 +- - lib/cximage-6.0/CxImage/ximaiter.h | 4 +- - lib/cximage-6.0/CxImage/ximajbg.cpp | 2 +- - lib/cximage-6.0/CxImage/ximapal.cpp | 14 +-- - lib/cximage-6.0/CxImage/ximapng.cpp | 12 +-- - lib/cximage-6.0/CxImage/ximaraw.cpp | 4 +- - lib/cximage-6.0/CxImage/ximasel.cpp | 50 +++++----- - lib/cximage-6.0/CxImage/ximath.cpp | 8 +- - lib/cximage-6.0/CxImage/ximatif.cpp | 6 +- - lib/cximage-6.0/CxImage/ximatran.cpp | 138 +++++++++++++------------- - lib/cximage-6.0/CxImage/ximawnd.cpp | 16 +-- - 17 files changed, 236 insertions(+), 244 deletions(-) - -diff --git a/lib/cximage-6.0/CxImage/ximabmp.cpp b/lib/cximage-6.0/CxImage/ximabmp.cpp -index 726ff91..55842b1 100644 ---- a/lib/cximage-6.0/CxImage/ximabmp.cpp -+++ b/lib/cximage-6.0/CxImage/ximabmp.cpp -@@ -46,7 +46,7 @@ bool CxImageBMP::Encode(CxFile * hFile) - bihtoh(&infohdr); - - // Write the file header -- hFile->Write(&hdr,min(14,sizeof(BITMAPFILEHEADER)),1); -+ hFile->Write(&hdr,cxmin(14,sizeof(BITMAPFILEHEADER)),1); - hFile->Write(&infohdr,sizeof(BITMAPINFOHEADER),1); - //and DIB+ALPHA interlaced - BYTE *srcalpha = AlphaGetPointer(); -@@ -64,7 +64,7 @@ bool CxImageBMP::Encode(CxFile * hFile) - #endif //CXIMAGE_SUPPORT_ALPHA - { - // Write the file header -- hFile->Write(&hdr,min(14,sizeof(BITMAPFILEHEADER)),1); -+ hFile->Write(&hdr,cxmin(14,sizeof(BITMAPFILEHEADER)),1); - //copy attributes - memcpy(pDib,&head,sizeof(BITMAPINFOHEADER)); - bihtoh((BITMAPINFOHEADER*)pDib); -@@ -86,7 +86,7 @@ bool CxImageBMP::Decode(CxFile * hFile) - BITMAPFILEHEADER bf; - DWORD off = hFile->Tell(); // - cx_try { -- if (hFile->Read(&bf,min(14,sizeof(bf)),1)==0) cx_throw("Not a BMP"); -+ if (hFile->Read(&bf,cxmin(14,sizeof(bf)),1)==0) cx_throw("Not a BMP"); - - bf.bfSize = my_ntohl(bf.bfSize); - bf.bfOffBits = my_ntohl(bf.bfOffBits); -diff --git a/lib/cximage-6.0/CxImage/ximadef.h b/lib/cximage-6.0/CxImage/ximadef.h -index fe383bf..53ea452 100644 ---- a/lib/cximage-6.0/CxImage/ximadef.h -+++ b/lib/cximage-6.0/CxImage/ximadef.h -@@ -53,12 +53,8 @@ - #define CXIMAGE_SUPPORT_WINDOWS 0 - #endif - --#ifndef min --#define min(a,b) (((a)<(b))?(a):(b)) --#endif --#ifndef max --#define max(a,b) (((a)>(b))?(a):(b)) --#endif -+#define cxmin(a,b) (((a)<(b))?(a):(b)) -+#define cxmax(a,b) (((a)>(b))?(a):(b)) - - #ifndef PI - #define PI 3.141592653589793f -diff --git a/lib/cximage-6.0/CxImage/ximadsp.cpp b/lib/cximage-6.0/CxImage/ximadsp.cpp -index 8425bb2..813253b 100644 ---- a/lib/cximage-6.0/CxImage/ximadsp.cpp -+++ b/lib/cximage-6.0/CxImage/ximadsp.cpp -@@ -389,8 +389,8 @@ RGBQUAD CxImage::RGBtoHSL(RGBQUAD lRGBColor) - G = lRGBColor.rgbGreen; - B = lRGBColor.rgbBlue; - -- cMax = max( max(R,G), B); /* calculate lightness */ -- cMin = min( min(R,G), B); -+ cMax = cxmax( cxmax(R,G), B); /* calculate lightness */ -+ cMin = cxmin( cxmin(R,G), B); - L = (BYTE)((((cMax+cMin)*HSLMAX)+RGBMAX)/(2*RGBMAX)); - - if (cMax==cMin){ /* r=g=b --> achromatic case */ -@@ -489,9 +489,9 @@ RGBQUAD CxImage::YUVtoRGB(RGBQUAD lYUVColor) - G = (int)( Y - 0.344f * U - 0.714f * V); - B = (int)( Y + 1.770f * U); - -- R= min(255,max(0,R)); -- G= min(255,max(0,G)); -- B= min(255,max(0,B)); -+ R= cxmin(255,cxmax(0,R)); -+ G= cxmin(255,cxmax(0,G)); -+ B= cxmin(255,cxmax(0,B)); - RGBQUAD rgb={(BYTE)B,(BYTE)G,(BYTE)R,0}; - return rgb; - } -@@ -510,9 +510,9 @@ RGBQUAD CxImage::RGBtoYUV(RGBQUAD lRGBColor) - U = (int)((B-Y) * 0.565f + 128); - V = (int)((R-Y) * 0.713f + 128); - -- Y= min(255,max(0,Y)); -- U= min(255,max(0,U)); -- V= min(255,max(0,V)); -+ Y= cxmin(255,cxmax(0,Y)); -+ U= cxmin(255,cxmax(0,U)); -+ V= cxmin(255,cxmax(0,V)); - RGBQUAD yuv={(BYTE)V,(BYTE)U,(BYTE)Y,0}; - return yuv; - } -@@ -528,9 +528,9 @@ RGBQUAD CxImage::YIQtoRGB(RGBQUAD lYIQColor) - G = (int)( Y - 0.273f * I - 0.647f * Q); - B = (int)( Y - 1.104f * I + 1.701f * Q); - -- R= min(255,max(0,R)); -- G= min(255,max(0,G)); -- B= min(255,max(0,B)); -+ R= cxmin(255,cxmax(0,R)); -+ G= cxmin(255,cxmax(0,G)); -+ B= cxmin(255,cxmax(0,B)); - RGBQUAD rgb={(BYTE)B,(BYTE)G,(BYTE)R,0}; - return rgb; - } -@@ -546,9 +546,9 @@ RGBQUAD CxImage::RGBtoYIQ(RGBQUAD lRGBColor) - I = (int)( 0.5960f * R - 0.2742f * G - 0.3219f * B + 128); - Q = (int)( 0.2109f * R - 0.5229f * G + 0.3120f * B + 128); - -- Y= min(255,max(0,Y)); -- I= min(255,max(0,I)); -- Q= min(255,max(0,Q)); -+ Y= cxmin(255,cxmax(0,Y)); -+ I= cxmin(255,cxmax(0,I)); -+ Q= cxmin(255,cxmax(0,Q)); - RGBQUAD yiq={(BYTE)Q,(BYTE)I,(BYTE)Y,0}; - return yiq; - } -@@ -565,9 +565,9 @@ RGBQUAD CxImage::XYZtoRGB(RGBQUAD lXYZColor) - G = (int)( -0.969256f * X + 1.875992f * Y + 0.041556f * Z * k); - B = (int)( 0.055648f * X - 0.204043f * Y + 1.057311f * Z * k); - -- R= min(255,max(0,R)); -- G= min(255,max(0,G)); -- B= min(255,max(0,B)); -+ R= cxmin(255,cxmax(0,R)); -+ G= cxmin(255,cxmax(0,G)); -+ B= cxmin(255,cxmax(0,B)); - RGBQUAD rgb={(BYTE)B,(BYTE)G,(BYTE)R,0}; - return rgb; - } -@@ -583,9 +583,9 @@ RGBQUAD CxImage::RGBtoXYZ(RGBQUAD lRGBColor) - Y = (int)( 0.212671f * R + 0.715160f * G + 0.072169f * B); - Z = (int)((0.019334f * R + 0.119193f * G + 0.950227f * B)*0.918483657f); - -- //X= min(255,max(0,X)); -- //Y= min(255,max(0,Y)); -- //Z= min(255,max(0,Z)); -+ //X= cxmin(255,cxmax(0,X)); -+ //Y= cxmin(255,cxmax(0,Y)); -+ //Z= cxmin(255,cxmax(0,Z)); - RGBQUAD xyz={(BYTE)Z,(BYTE)Y,(BYTE)X,0}; - return xyz; - } -@@ -707,7 +707,7 @@ bool CxImage::Light(long brightness, long contrast) - - BYTE cTable[256]; // - for (int i=0;i<256;i++) { -- cTable[i] = (BYTE)max(0,min(255,(int)((i-128)*c + brightness + 0.5f))); -+ cTable[i] = (BYTE)cxmax(0,cxmin(255,(int)((i-128)*c + brightness + 0.5f))); - } - - return Lut(cTable); -@@ -830,11 +830,11 @@ bool CxImage::Filter(long* kernel, long Ksize, long Kfactor, long Koffset) - } - } - if (Kfactor==0 || ksumcur==0){ -- cPtr2[iY1] = (BYTE)min(255, max(0,(int)(b + Koffset))); -+ cPtr2[iY1] = (BYTE)cxmin(255, cxmax(0,(int)(b + Koffset))); - } else if (ksumtot == ksumcur) { -- cPtr2[iY1] = (BYTE)min(255, max(0,(int)(b/Kfactor + Koffset))); -+ cPtr2[iY1] = (BYTE)cxmin(255, cxmax(0,(int)(b/Kfactor + Koffset))); - } else { -- cPtr2[iY1] = (BYTE)min(255, max(0,(int)((b*ksumtot)/(ksumcur*Kfactor) + Koffset))); -+ cPtr2[iY1] = (BYTE)cxmin(255, cxmax(0,(int)((b*ksumtot)/(ksumcur*Kfactor) + Koffset))); - } - } - } -@@ -863,17 +863,17 @@ bool CxImage::Filter(long* kernel, long Ksize, long Kfactor, long Koffset) - } - } - if (Kfactor==0 || ksumcur==0){ -- c.rgbRed = (BYTE)min(255, max(0,(int)(r + Koffset))); -- c.rgbGreen = (BYTE)min(255, max(0,(int)(g + Koffset))); -- c.rgbBlue = (BYTE)min(255, max(0,(int)(b + Koffset))); -+ c.rgbRed = (BYTE)cxmin(255, cxmax(0,(int)(r + Koffset))); -+ c.rgbGreen = (BYTE)cxmin(255, cxmax(0,(int)(g + Koffset))); -+ c.rgbBlue = (BYTE)cxmin(255, cxmax(0,(int)(b + Koffset))); - } else if (ksumtot == ksumcur) { -- c.rgbRed = (BYTE)min(255, max(0,(int)(r/Kfactor + Koffset))); -- c.rgbGreen = (BYTE)min(255, max(0,(int)(g/Kfactor + Koffset))); -- c.rgbBlue = (BYTE)min(255, max(0,(int)(b/Kfactor + Koffset))); -+ c.rgbRed = (BYTE)cxmin(255, cxmax(0,(int)(r/Kfactor + Koffset))); -+ c.rgbGreen = (BYTE)cxmin(255, cxmax(0,(int)(g/Kfactor + Koffset))); -+ c.rgbBlue = (BYTE)cxmin(255, cxmax(0,(int)(b/Kfactor + Koffset))); - } else { -- c.rgbRed = (BYTE)min(255, max(0,(int)((r*ksumtot)/(ksumcur*Kfactor) + Koffset))); -- c.rgbGreen = (BYTE)min(255, max(0,(int)((g*ksumtot)/(ksumcur*Kfactor) + Koffset))); -- c.rgbBlue = (BYTE)min(255, max(0,(int)((b*ksumtot)/(ksumcur*Kfactor) + Koffset))); -+ c.rgbRed = (BYTE)cxmin(255, cxmax(0,(int)((r*ksumtot)/(ksumcur*Kfactor) + Koffset))); -+ c.rgbGreen = (BYTE)cxmin(255, cxmax(0,(int)((g*ksumtot)/(ksumcur*Kfactor) + Koffset))); -+ c.rgbBlue = (BYTE)cxmin(255, cxmax(0,(int)((b*ksumtot)/(ksumcur*Kfactor) + Koffset))); - } - tmp.BlindSetPixelColor(x,y,c); - } -@@ -1078,8 +1078,8 @@ bool CxImage::Edge(long Ksize) - // - void CxImage::Mix(CxImage & imgsrc2, ImageOpType op, long lXOffset, long lYOffset, bool bMixAlpha) - { -- long lWide = min(GetWidth(),imgsrc2.GetWidth()-lXOffset); -- long lHeight = min(GetHeight(),imgsrc2.GetHeight()-lYOffset); -+ long lWide = cxmin(GetWidth(),imgsrc2.GetWidth()-lXOffset); -+ long lHeight = cxmin(GetHeight(),imgsrc2.GetHeight()-lYOffset); - - bool bEditAlpha = imgsrc2.AlphaIsValid() & bMixAlpha; - -@@ -1112,16 +1112,16 @@ void CxImage::Mix(CxImage & imgsrc2, ImageOpType op, long lXOffset, long lYOffse - if (bEditAlpha) rgbDest.rgbReserved = (BYTE)((rgb1.rgbReserved+rgb2.rgbReserved)/2); - break; - case OpAdd: -- rgbDest.rgbBlue = (BYTE)max(0,min(255,rgb1.rgbBlue+rgb2.rgbBlue)); -- rgbDest.rgbGreen = (BYTE)max(0,min(255,rgb1.rgbGreen+rgb2.rgbGreen)); -- rgbDest.rgbRed = (BYTE)max(0,min(255,rgb1.rgbRed+rgb2.rgbRed)); -- if (bEditAlpha) rgbDest.rgbReserved = (BYTE)max(0,min(255,rgb1.rgbReserved+rgb2.rgbReserved)); -+ rgbDest.rgbBlue = (BYTE)cxmax(0,cxmin(255,rgb1.rgbBlue+rgb2.rgbBlue)); -+ rgbDest.rgbGreen = (BYTE)cxmax(0,cxmin(255,rgb1.rgbGreen+rgb2.rgbGreen)); -+ rgbDest.rgbRed = (BYTE)cxmax(0,cxmin(255,rgb1.rgbRed+rgb2.rgbRed)); -+ if (bEditAlpha) rgbDest.rgbReserved = (BYTE)cxmax(0,cxmin(255,rgb1.rgbReserved+rgb2.rgbReserved)); - break; - case OpSub: -- rgbDest.rgbBlue = (BYTE)max(0,min(255,rgb1.rgbBlue-rgb2.rgbBlue)); -- rgbDest.rgbGreen = (BYTE)max(0,min(255,rgb1.rgbGreen-rgb2.rgbGreen)); -- rgbDest.rgbRed = (BYTE)max(0,min(255,rgb1.rgbRed-rgb2.rgbRed)); -- if (bEditAlpha) rgbDest.rgbReserved = (BYTE)max(0,min(255,rgb1.rgbReserved-rgb2.rgbReserved)); -+ rgbDest.rgbBlue = (BYTE)cxmax(0,cxmin(255,rgb1.rgbBlue-rgb2.rgbBlue)); -+ rgbDest.rgbGreen = (BYTE)cxmax(0,cxmin(255,rgb1.rgbGreen-rgb2.rgbGreen)); -+ rgbDest.rgbRed = (BYTE)cxmax(0,cxmin(255,rgb1.rgbRed-rgb2.rgbRed)); -+ if (bEditAlpha) rgbDest.rgbReserved = (BYTE)cxmax(0,cxmin(255,rgb1.rgbReserved-rgb2.rgbReserved)); - break; - case OpAnd: - rgbDest.rgbBlue = (BYTE)(rgb1.rgbBlue&rgb2.rgbBlue); -@@ -1202,11 +1202,11 @@ void CxImage::Mix(CxImage & imgsrc2, ImageOpType op, long lXOffset, long lYOffse - double dSmallAmt = dSmall*((double)rgb2.rgbBlue); - - if( lAverage < lThresh+1){ -- rgbDest.rgbBlue = (BYTE)max(0,min(255,(int)(dLarge*((double)rgb1.rgbBlue) + -+ rgbDest.rgbBlue = (BYTE)cxmax(0,cxmin(255,(int)(dLarge*((double)rgb1.rgbBlue) + - dSmallAmt))); -- rgbDest.rgbGreen = (BYTE)max(0,min(255,(int)(dLarge*((double)rgb1.rgbGreen) + -+ rgbDest.rgbGreen = (BYTE)cxmax(0,cxmin(255,(int)(dLarge*((double)rgb1.rgbGreen) + - dSmallAmt))); -- rgbDest.rgbRed = (BYTE)max(0,min(255,(int)(dLarge*((double)rgb1.rgbRed) + -+ rgbDest.rgbRed = (BYTE)cxmax(0,cxmin(255,(int)(dLarge*((double)rgb1.rgbRed) + - dSmallAmt))); - } - else -@@ -1274,9 +1274,9 @@ bool CxImage::ShiftRGB(long r, long g, long b) - #endif //CXIMAGE_SUPPORT_SELECTION - { - color = BlindGetPixelColor(x,y); -- color.rgbRed = (BYTE)max(0,min(255,(int)(color.rgbRed + r))); -- color.rgbGreen = (BYTE)max(0,min(255,(int)(color.rgbGreen + g))); -- color.rgbBlue = (BYTE)max(0,min(255,(int)(color.rgbBlue + b))); -+ color.rgbRed = (BYTE)cxmax(0,cxmin(255,(int)(color.rgbRed + r))); -+ color.rgbGreen = (BYTE)cxmax(0,cxmin(255,(int)(color.rgbGreen + g))); -+ color.rgbBlue = (BYTE)cxmax(0,cxmin(255,(int)(color.rgbBlue + b))); - BlindSetPixelColor(x,y,color); - } - } -@@ -1284,9 +1284,9 @@ bool CxImage::ShiftRGB(long r, long g, long b) - } else { - for(DWORD j=0; j - for (int i=0;i<256;i++) { -- cTable[i] = (BYTE)max(0,min(255,(int)( pow((double)i, dinvgamma) / dMax))); -+ cTable[i] = (BYTE)cxmax(0,cxmin(255,(int)( pow((double)i, dinvgamma) / dMax))); - } - - return Lut(cTable); -@@ -1337,21 +1337,21 @@ bool CxImage::GammaRGB(float gammaR, float gammaG, float gammaB) - dMax = pow(255.0, dinvgamma) / 255.0; - BYTE cTableR[256]; - for (i=0;i<256;i++) { -- cTableR[i] = (BYTE)max(0,min(255,(int)( pow((double)i, dinvgamma) / dMax))); -+ cTableR[i] = (BYTE)cxmax(0,cxmin(255,(int)( pow((double)i, dinvgamma) / dMax))); - } - - dinvgamma = 1/gammaG; - dMax = pow(255.0, dinvgamma) / 255.0; - BYTE cTableG[256]; - for (i=0;i<256;i++) { -- cTableG[i] = (BYTE)max(0,min(255,(int)( pow((double)i, dinvgamma) / dMax))); -+ cTableG[i] = (BYTE)cxmax(0,cxmin(255,(int)( pow((double)i, dinvgamma) / dMax))); - } - - dinvgamma = 1/gammaB; - dMax = pow(255.0, dinvgamma) / 255.0; - BYTE cTableB[256]; - for (i=0;i<256;i++) { -- cTableB[i] = (BYTE)max(0,min(255,(int)( pow((double)i, dinvgamma) / dMax))); -+ cTableB[i] = (BYTE)cxmax(0,cxmin(255,(int)( pow((double)i, dinvgamma) / dMax))); - } - - return Lut(cTableR, cTableG, cTableB); -@@ -1442,11 +1442,11 @@ bool CxImage::Noise(long level) - { - color = BlindGetPixelColor(x,y); - n=(long)((rand()/(float)RAND_MAX - 0.5)*level); -- color.rgbRed = (BYTE)max(0,min(255,(int)(color.rgbRed + n))); -+ color.rgbRed = (BYTE)cxmax(0,cxmin(255,(int)(color.rgbRed + n))); - n=(long)((rand()/(float)RAND_MAX - 0.5)*level); -- color.rgbGreen = (BYTE)max(0,min(255,(int)(color.rgbGreen + n))); -+ color.rgbGreen = (BYTE)cxmax(0,cxmin(255,(int)(color.rgbGreen + n))); - n=(long)((rand()/(float)RAND_MAX - 0.5)*level); -- color.rgbBlue = (BYTE)max(0,min(255,(int)(color.rgbBlue + n))); -+ color.rgbBlue = (BYTE)cxmax(0,cxmin(255,(int)(color.rgbBlue + n))); - BlindSetPixelColor(x,y,color); - } - } -@@ -1561,8 +1561,8 @@ bool CxImage::FFT2(CxImage* srcReal, CxImage* srcImag, CxImage* dstReal, CxImage - - //DFT buffers - double *real2,*imag2; -- real2 = (double*)malloc(max(w,h) * sizeof(double)); -- imag2 = (double*)malloc(max(w,h) * sizeof(double)); -+ real2 = (double*)malloc(cxmax(w,h) * sizeof(double)); -+ imag2 = (double*)malloc(cxmax(w,h) * sizeof(double)); - - /* Transform the rows */ - real = (double *)malloc(w * sizeof(double)); -@@ -1617,7 +1617,7 @@ bool CxImage::FFT2(CxImage* srcReal, CxImage* srcImag, CxImage* dstReal, CxImage - - /* converting from double to byte, there is a HUGE loss in the dynamics - "nn" tries to keep an acceptable SNR, but 8bit=48dB: don't ask more */ -- double nn=pow((double)2,(double)log((double)max(w,h))/(double)log((double)2)-4); -+ double nn=pow((double)2,(double)log((double)cxmax(w,h))/(double)log((double)2)-4); - //reversed gain for reversed transform - if (direction==-1) nn=1/nn; - //bMagnitude : just to see it on the screen -@@ -1626,15 +1626,15 @@ bool CxImage::FFT2(CxImage* srcReal, CxImage* srcImag, CxImage* dstReal, CxImage - for (j=0;jSetPixelIndex(k,j,(BYTE)max(0,min(255,(nn*(3+log(_cabs(grid[k][j]))))))); -+ tmpReal->SetPixelIndex(k,j,(BYTE)cxmax(0,cxmin(255,(nn*(3+log(_cabs(grid[k][j]))))))); - if (grid[k][j].x==0){ -- tmpImag->SetPixelIndex(k,j,(BYTE)max(0,min(255,(128+(atan(grid[k][j].y/0.0000000001)*nn))))); -+ tmpImag->SetPixelIndex(k,j,(BYTE)cxmax(0,cxmin(255,(128+(atan(grid[k][j].y/0.0000000001)*nn))))); - } else { -- tmpImag->SetPixelIndex(k,j,(BYTE)max(0,min(255,(128+(atan(grid[k][j].y/grid[k][j].x)*nn))))); -+ tmpImag->SetPixelIndex(k,j,(BYTE)cxmax(0,cxmin(255,(128+(atan(grid[k][j].y/grid[k][j].x)*nn))))); - } - } else { -- tmpReal->SetPixelIndex(k,j,(BYTE)max(0,min(255,(128 + grid[k][j].x*nn)))); -- tmpImag->SetPixelIndex(k,j,(BYTE)max(0,min(255,(128 + grid[k][j].y*nn)))); -+ tmpReal->SetPixelIndex(k,j,(BYTE)cxmax(0,cxmin(255,(128 + grid[k][j].x*nn)))); -+ tmpImag->SetPixelIndex(k,j,(BYTE)cxmax(0,cxmin(255,(128 + grid[k][j].y*nn)))); - } - } - } -@@ -1922,7 +1922,7 @@ bool CxImage::RepairChannel(CxImage *ch, float radius) - - correction = ((1.0+iy*iy)*ixx - ix*iy*ixy + (1.0+ix*ix)*iyy)/(1.0+ix*ix+iy*iy); - -- tmp.BlindSetPixelIndex(x,y,(BYTE)min(255,max(0,(xy0 + radius * correction + 0.5)))); -+ tmp.BlindSetPixelIndex(x,y,(BYTE)cxmin(255,cxmax(0,(xy0 + radius * correction + 0.5)))); - } - } - -@@ -1943,7 +1943,7 @@ bool CxImage::RepairChannel(CxImage *ch, float radius) - - correction = ((1.0+iy*iy)*ixx - ix*iy*ixy + (1.0+ix*ix)*iyy)/(1.0+ix*ix+iy*iy); - -- tmp.BlindSetPixelIndex(x,y,(BYTE)min(255,max(0,(xy0 + radius * correction + 0.5)))); -+ tmp.BlindSetPixelIndex(x,y,(BYTE)cxmin(255,cxmax(0,(xy0 + radius * correction + 0.5)))); - } - } - for (x=0;x<=w;x+=w){ -@@ -1963,7 +1963,7 @@ bool CxImage::RepairChannel(CxImage *ch, float radius) - - correction = ((1.0+iy*iy)*ixx - ix*iy*ixy + (1.0+ix*ix)*iyy)/(1.0+ix*ix+iy*iy); - -- tmp.BlindSetPixelIndex(x,y,(BYTE)min(255,max(0,(xy0 + radius * correction + 0.5)))); -+ tmp.BlindSetPixelIndex(x,y,(BYTE)cxmin(255,cxmax(0,(xy0 + radius * correction + 0.5)))); - } - } - -@@ -2621,8 +2621,8 @@ bool CxImage::SelectiveBlur(float radius, BYTE threshold, CxImage* iDst) - } - - //build the difference mask -- BYTE thresh_dw = (BYTE)max( 0 ,(int)(128 - threshold)); -- BYTE thresh_up = (BYTE)min(255,(int)(128 + threshold)); -+ BYTE thresh_dw = (BYTE)cxmax( 0 ,(int)(128 - threshold)); -+ BYTE thresh_up = (BYTE)cxmin(255,(int)(128 + threshold)); - long kernel[]={-100,-100,-100,-100,801,-100,-100,-100,-100}; - if (!Tmp.Filter(kernel,3,800,128)){ - delete [] pPalette; -@@ -2755,7 +2755,7 @@ bool CxImage::UnsharpMask(float radius /*= 5.0*/, float amount /*= 0.5*/, int th - if (abs(diff) < threshold){ - dest_row[z] = cur_row[z]; - } else { -- dest_row[z] = (BYTE)min(255, max(0,(int)(cur_row[z] + amount * diff))); -+ dest_row[z] = (BYTE)cxmin(255, cxmax(0,(int)(cur_row[z] + amount * diff))); - } - } - } -@@ -2952,7 +2952,7 @@ bool CxImage::RedEyeRemove(float strength) - float a = 1.0f-5.0f*((float)((x-0.5f*(xmax+xmin))*(x-0.5f*(xmax+xmin))+(y-0.5f*(ymax+ymin))*(y-0.5f*(ymax+ymin))))/((float)((xmax-xmin)*(ymax-ymin))); - if (a<0) a=0; - color = BlindGetPixelColor(x,y); -- color.rgbRed = (BYTE)(a*min(color.rgbGreen,color.rgbBlue)+(1.0f-a)*color.rgbRed); -+ color.rgbRed = (BYTE)(a*cxmin(color.rgbGreen,color.rgbBlue)+(1.0f-a)*color.rgbRed); - BlindSetPixelColor(x,y,color); - } - } -@@ -2990,7 +2990,7 @@ bool CxImage::Saturate(const long saturation, const long colorspace) - case 1: - { - for (int i=0;i<256;i++) { -- cTable[i] = (BYTE)max(0,min(255,(int)(i + saturation))); -+ cTable[i] = (BYTE)cxmax(0,cxmin(255,(int)(i + saturation))); - } - for(long y=ymin; yleft,0); -- xmax = min(pBox->right,head.biWidth); -- ymin = max(pBox->bottom,0); -- ymax = min(pBox->top,head.biHeight); -+ xmin = cxmax(pBox->left,0); -+ xmax = cxmin(pBox->right,head.biWidth); -+ ymin = cxmax(pBox->bottom,0); -+ ymax = cxmin(pBox->top,head.biHeight); - } else { - xmin = ymin = 0; - xmax = head.biWidth; ymax=head.biHeight; -@@ -3463,7 +3463,7 @@ bool CxImage::AdaptiveThreshold(long method, long nBoxSize, CxImage* pContrastMa - r.top = r.bottom + nBoxSize; - int threshold = OptimalThreshold(method, &r, pContrastMask); - if (threshold <0) return false; -- mask.SetPixelIndex(x,y,(BYTE)max(0,min(255,nBias+((1.0f-fGlobalLocalBalance)*threshold + fGlobalLocalBalance*globalthreshold)))); -+ mask.SetPixelIndex(x,y,(BYTE)cxmax(0,cxmin(255,nBias+((1.0f-fGlobalLocalBalance)*threshold + fGlobalLocalBalance*globalthreshold)))); - } - } - -@@ -3490,10 +3490,6 @@ bool CxImage::AdaptiveThreshold(long method, long nBoxSize, CxImage* pContrastMa - * Note: nOpacity=0 && bSelectFilledArea=true act as a "magic wand" - * \return true if everything is ok - */ --#if defined(XBMC) && !defined(_WIN32) --int max(int a, int b) { return a > b ? a : b; } --int min(int a, int b) { return a < b ? a : b; } --#endif - - bool CxImage::FloodFill(const long xStart, const long yStart, const RGBQUAD cFillColor, const BYTE nTolerance, - BYTE nOpacity, const bool bSelectFilledArea, const BYTE nSelectionLevel) -@@ -3538,8 +3534,8 @@ bool CxImage::FloodFill(const long xStart, const long yStart, const RGBQUAD cFil - if (IsIndexed()){ //--- Generic indexed image, no tolerance OR Grayscale image with tolerance - BYTE idxRef = GetPixelIndex(xStart,yStart); - BYTE idxFill = GetNearestIndex(cFillColor); -- BYTE idxMin = (BYTE)min(255, max(0,(int)(idxRef - nTolerance))); -- BYTE idxMax = (BYTE)min(255, max(0,(int)(idxRef + nTolerance))); -+ BYTE idxMin = (BYTE)cxmin(255, cxmax(0,(int)(idxRef - nTolerance))); -+ BYTE idxMax = (BYTE)cxmin(255, cxmax(0,(int)(idxRef + nTolerance))); - - while(!q.empty()) - { -@@ -3575,12 +3571,12 @@ bool CxImage::FloodFill(const long xStart, const long yStart, const RGBQUAD cFil - } else { //--- RGB image - RGBQUAD cRef = GetPixelColor(xStart,yStart); - RGBQUAD cRefMin, cRefMax; -- cRefMin.rgbRed = (BYTE)min(255, max(0,(int)(cRef.rgbRed - nTolerance))); -- cRefMin.rgbGreen = (BYTE)min(255, max(0,(int)(cRef.rgbGreen - nTolerance))); -- cRefMin.rgbBlue = (BYTE)min(255, max(0,(int)(cRef.rgbBlue - nTolerance))); -- cRefMax.rgbRed = (BYTE)min(255, max(0,(int)(cRef.rgbRed + nTolerance))); -- cRefMax.rgbGreen = (BYTE)min(255, max(0,(int)(cRef.rgbGreen + nTolerance))); -- cRefMax.rgbBlue = (BYTE)min(255, max(0,(int)(cRef.rgbBlue + nTolerance))); -+ cRefMin.rgbRed = (BYTE)cxmin(255, cxmax(0,(int)(cRef.rgbRed - nTolerance))); -+ cRefMin.rgbGreen = (BYTE)cxmin(255, cxmax(0,(int)(cRef.rgbGreen - nTolerance))); -+ cRefMin.rgbBlue = (BYTE)cxmin(255, cxmax(0,(int)(cRef.rgbBlue - nTolerance))); -+ cRefMax.rgbRed = (BYTE)cxmin(255, cxmax(0,(int)(cRef.rgbRed + nTolerance))); -+ cRefMax.rgbGreen = (BYTE)cxmin(255, cxmax(0,(int)(cRef.rgbGreen + nTolerance))); -+ cRefMax.rgbBlue = (BYTE)cxmin(255, cxmax(0,(int)(cRef.rgbBlue + nTolerance))); - - while(!q.empty()) - { -diff --git a/lib/cximage-6.0/CxImage/ximage.cpp b/lib/cximage-6.0/CxImage/ximage.cpp -index e81d3c6..26c6993 100644 ---- a/lib/cximage-6.0/CxImage/ximage.cpp -+++ b/lib/cximage-6.0/CxImage/ximage.cpp -@@ -460,7 +460,7 @@ bool CxImage::CreateFromArray(BYTE* pArray,DWORD dwWidth,DWORD dwHeight,DWORD dw - src+=4; - } - } else { -- memcpy(dst,src,min(info.dwEffWidth,dwBytesperline)); -+ memcpy(dst,src,cxmin(info.dwEffWidth,dwBytesperline)); - } - } - return true; -@@ -500,7 +500,7 @@ bool CxImage::CreateFromMatrix(BYTE** ppMatrix,DWORD dwWidth,DWORD dwHeight,DWOR - src+=4; - } - } else { -- memcpy(dst,src,min(info.dwEffWidth,dwBytesperline)); -+ memcpy(dst,src,cxmin(info.dwEffWidth,dwBytesperline)); - } - } - } -diff --git a/lib/cximage-6.0/CxImage/ximagif.cpp b/lib/cximage-6.0/CxImage/ximagif.cpp -index b89e061..64b1ccc 100644 ---- a/lib/cximage-6.0/CxImage/ximagif.cpp -+++ b/lib/cximage-6.0/CxImage/ximagif.cpp -@@ -478,7 +478,7 @@ bool CxImageGIF::Encode(CxFile * fp, CxImage ** pImages, int pagecount, bool bLo - ghost.EncodeHeader(fp); - - if (m_loops!=1){ -- ghost.SetLoops(max(0,m_loops-1)); -+ ghost.SetLoops(cxmax(0,m_loops-1)); - ghost.EncodeLoopExtension(fp); - } - -@@ -1340,10 +1340,10 @@ void CxImageGIF::GetComment(char* sz_comment_out) - //////////////////////////////////////////////////////////////////////////////// - void CxImageGIF::GifMix(CxImage & imgsrc2, struct_image & imgdesc) - { -- long ymin = max(0,(long)(GetHeight()-imgdesc.t - imgdesc.h)); -+ long ymin = cxmax(0,(long)(GetHeight()-imgdesc.t - imgdesc.h)); - long ymax = GetHeight()-imgdesc.t; - long xmin = imgdesc.l; -- long xmax = min(GetWidth(), (DWORD)(imgdesc.l + imgdesc.w)); -+ long xmax = cxmin(GetWidth(), (DWORD)(imgdesc.l + imgdesc.w)); - - long ibg2= imgsrc2.GetTransIndex(); - BYTE i2; -diff --git a/lib/cximage-6.0/CxImage/ximahist.cpp b/lib/cximage-6.0/CxImage/ximahist.cpp -index a2aed03..5391107 100644 ---- a/lib/cximage-6.0/CxImage/ximahist.cpp -+++ b/lib/cximage-6.0/CxImage/ximahist.cpp -@@ -110,7 +110,7 @@ bool CxImage::HistogramStretch(long method, double threshold) - // calculate LUT - BYTE lut[256]; - for (x = 0; x <256; x++){ -- lut[x] = (BYTE)max(0,min(255,(255 * (x - minc) / (maxc - minc)))); -+ lut[x] = (BYTE)cxmax(0,cxmin(255,(255 * (x - minc) / (maxc - minc)))); - } - - for (y=0; yGetEffWidth(); -- else n = min(n,(int)ima->GetEffWidth()); -+ else n = cxmin(n,(int)ima->GetEffWidth()); - - if ((IterImage!=NULL)&&(buf!=NULL)&&(n>0)) memcpy(IterImage,buf,n); - } -@@ -148,7 +148,7 @@ inline void CImageIterator::SetRow(BYTE *buf, int n) - inline void CImageIterator::GetRow(BYTE *buf, int n) - { - if ((IterImage!=NULL)&&(buf!=NULL)&&(n>0)) -- memcpy(buf,IterImage,min(n,(int)ima->GetEffWidth())); -+ memcpy(buf,IterImage,cxmin(n,(int)ima->GetEffWidth())); - } - ///////////////////////////////////////////////////////////////////// - inline BYTE* CImageIterator::GetRow() -diff --git a/lib/cximage-6.0/CxImage/ximajbg.cpp b/lib/cximage-6.0/CxImage/ximajbg.cpp -index 06fb9bf..8a01e28 100644 ---- a/lib/cximage-6.0/CxImage/ximajbg.cpp -+++ b/lib/cximage-6.0/CxImage/ximajbg.cpp -@@ -145,7 +145,7 @@ bool CxImageJBG::Encode(CxFile * hFile) - jbg_enc_init(&jbig_state, w, h, planes, &buffer, jbig_data_out, hFile); - - //jbg_enc_layers(&jbig_state, 2); -- //jbg_enc_lrlmax(&jbig_state, 800, 600); -+ //jbg_enc_lrlcxmax(&jbig_state, 800, 600); - - // Specify a few other options (each is ignored if negative) - int dl = -1, dh = -1, d = -1, l0 = -1, mx = -1; -diff --git a/lib/cximage-6.0/CxImage/ximapal.cpp b/lib/cximage-6.0/CxImage/ximapal.cpp -index b3bd3da..3788c98 100644 ---- a/lib/cximage-6.0/CxImage/ximapal.cpp -+++ b/lib/cximage-6.0/CxImage/ximapal.cpp -@@ -398,8 +398,8 @@ void CxImage::RGBtoBGR(BYTE *buffer, int length) - { - if (buffer && (head.biClrUsed==0)){ - BYTE temp; -- length = min(length,(int)info.dwEffWidth); -- length = min(length,(int)(3*head.biWidth)); -+ length = cxmin(length,(int)info.dwEffWidth); -+ length = cxmin(length,(int)(3*head.biWidth)); - for (int i=0;i needed for grayscale PNGs - - #ifdef USE_NEW_LIBPNG_API -- int nshift = max(0,(_bit_depth>>3)-1)<<3; -+ int nshift = cxmax(0,(_bit_depth>>3)-1)<<3; - #else -- int nshift = max(0,(info_ptr->bit_depth>>3)-1)<<3; -+ int nshift = cxmax(0,(info_ptr->bit_depth>>3)-1)<<3; - #endif - - #ifdef USE_NEW_LIBPNG_API -@@ -255,10 +255,10 @@ bool CxImagePNG::Decode(CxFile *hFile) - if (pal){ - DWORD ip; - #ifdef USE_NEW_LIBPNG_API -- for (ip=0;ipnum_trans);ip++) -+ for (ip=0;ipnum_trans);ip++) - #if PNG_LIBPNG_VER > 10399 - pal[ip].rgbReserved=info_ptr->trans_alpha[ip]; - #else -@@ -737,9 +737,9 @@ bool CxImagePNG::Encode(CxFile *hFile) - #endif // CXIMAGE_SUPPORT_ALPHA // - - #ifdef USE_NEW_LIBPNG_API -- int row_size = max(info.dwEffWidth, (_width * _channels * _bit_depth / 8)); -+ int row_size = cxmax(info.dwEffWidth, (_width * _channels * _bit_depth / 8)); - #else -- int row_size = max(info.dwEffWidth, info_ptr->width*info_ptr->channels*(info_ptr->bit_depth/8)); -+ int row_size = cxmax(info.dwEffWidth, info_ptr->width*info_ptr->channels*(info_ptr->bit_depth/8)); - info_ptr->rowbytes = row_size; - #endif - BYTE *row_pointers = new BYTE[row_size]; -diff --git a/lib/cximage-6.0/CxImage/ximaraw.cpp b/lib/cximage-6.0/CxImage/ximaraw.cpp -index fd86f96..52d964d 100644 ---- a/lib/cximage-6.0/CxImage/ximaraw.cpp -+++ b/lib/cximage-6.0/CxImage/ximaraw.cpp -@@ -216,7 +216,7 @@ bool CxImageRAW::Decode(CxFile *hFile) - - DWORD size = dcr.width * (dcr.colors*dcr.opt.output_bps/8); - RGBtoBGR(ppm,size); -- memcpy(GetBits(dcr.height - 1 - row), ppm, min(size,GetEffWidth())); -+ memcpy(GetBits(dcr.height - 1 - row), ppm, cxmin(size,GetEffWidth())); - } - free (ppm); - -@@ -298,7 +298,7 @@ bool CxImageRAW::GetExifThumbnail(const char *filename, const char *outname, int - // Resizing. - if (image.GetWidth() > 256 || image.GetHeight() > 256) - { -- float amount = 256.0f / max(image.GetWidth(), image.GetHeight()); -+ float amount = 256.0f / cxmax(image.GetWidth(), image.GetHeight()); - image.Resample((long)(image.GetWidth() * amount), (long)(image.GetHeight() * amount), 0); - } - -diff --git a/lib/cximage-6.0/CxImage/ximasel.cpp b/lib/cximage-6.0/CxImage/ximasel.cpp -index 3a7c9a1..37cd10f 100644 ---- a/lib/cximage-6.0/CxImage/ximasel.cpp -+++ b/lib/cximage-6.0/CxImage/ximasel.cpp -@@ -113,15 +113,15 @@ bool CxImage::SelectionAddRect(RECT r, BYTE level) - if (r.left r2.left) info.rSelectionBox.left = max(0L,min(head.biWidth,r2.left)); -- if (info.rSelectionBox.right <= r2.right) info.rSelectionBox.right = max(0L,min(head.biWidth,r2.right+1)); -- if (info.rSelectionBox.bottom > r2.bottom) info.rSelectionBox.bottom = max(0L,min(head.biHeight,r2.bottom)); -+ if (info.rSelectionBox.top <= r2.top) info.rSelectionBox.top = cxmax(0L,cxmin(head.biHeight,r2.top+1)); -+ if (info.rSelectionBox.left > r2.left) info.rSelectionBox.left = cxmax(0L,cxmin(head.biWidth,r2.left)); -+ if (info.rSelectionBox.right <= r2.right) info.rSelectionBox.right = cxmax(0L,cxmin(head.biWidth,r2.right+1)); -+ if (info.rSelectionBox.bottom > r2.bottom) info.rSelectionBox.bottom = cxmax(0L,cxmin(head.biHeight,r2.bottom)); - -- long ymin = max(0L,min(head.biHeight,r2.bottom)); -- long ymax = max(0L,min(head.biHeight,r2.top+1)); -- long xmin = max(0L,min(head.biWidth,r2.left)); -- long xmax = max(0L,min(head.biWidth,r2.right+1)); -+ long ymin = cxmax(0L,cxmin(head.biHeight,r2.bottom)); -+ long ymax = cxmax(0L,cxmin(head.biHeight,r2.top+1)); -+ long xmin = cxmax(0L,cxmin(head.biWidth,r2.left)); -+ long xmax = cxmax(0L,cxmin(head.biWidth,r2.right+1)); - - for (long y=ymin; y (xcenter - xradius)) info.rSelectionBox.left = max(0L,min(head.biWidth,(xcenter - xradius))); -- if (info.rSelectionBox.right <= (xcenter + xradius)) info.rSelectionBox.right = max(0L,min(head.biWidth,(xcenter + xradius + 1))); -- if (info.rSelectionBox.bottom > (ycenter - yradius)) info.rSelectionBox.bottom = max(0L,min(head.biHeight,(ycenter - yradius))); -- if (info.rSelectionBox.top <= (ycenter + yradius)) info.rSelectionBox.top = max(0L,min(head.biHeight,(ycenter + yradius + 1))); -+ if (info.rSelectionBox.left > (xcenter - xradius)) info.rSelectionBox.left = cxmax(0L,cxmin(head.biWidth,(xcenter - xradius))); -+ if (info.rSelectionBox.right <= (xcenter + xradius)) info.rSelectionBox.right = cxmax(0L,cxmin(head.biWidth,(xcenter + xradius + 1))); -+ if (info.rSelectionBox.bottom > (ycenter - yradius)) info.rSelectionBox.bottom = cxmax(0L,cxmin(head.biHeight,(ycenter - yradius))); -+ if (info.rSelectionBox.top <= (ycenter + yradius)) info.rSelectionBox.top = cxmax(0L,cxmin(head.biHeight,(ycenter + yradius + 1))); - -- long xmin = max(0L,min(head.biWidth,xcenter - xradius)); -- long xmax = max(0L,min(head.biWidth,xcenter + xradius + 1)); -- long ymin = max(0L,min(head.biHeight,ycenter - yradius)); -- long ymax = max(0L,min(head.biHeight,ycenter + yradius + 1)); -+ long xmin = cxmax(0L,cxmin(head.biWidth,xcenter - xradius)); -+ long xmax = cxmax(0L,cxmin(head.biWidth,xcenter + xradius + 1)); -+ long ymin = cxmax(0L,cxmin(head.biHeight,ycenter - yradius)); -+ long ymax = cxmax(0L,cxmin(head.biHeight,ycenter + yradius + 1)); - - long y,yo; -- for (y=ymin; yx < next->x) {r2.left=current->x; r2.right=next->x; } else {r2.left=next->x ; r2.right=current->x; } - if (current->y < next->y) {r2.bottom=current->y; r2.top=next->y; } else {r2.bottom=next->y ; r2.top=current->y; } -- if (localbox.top < r2.top) localbox.top = max(0L,min(head.biHeight-1,r2.top+1)); -- if (localbox.left > r2.left) localbox.left = max(0L,min(head.biWidth-1,r2.left-1)); -- if (localbox.right < r2.right) localbox.right = max(0L,min(head.biWidth-1,r2.right+1)); -- if (localbox.bottom > r2.bottom) localbox.bottom = max(0L,min(head.biHeight-1,r2.bottom-1)); -+ if (localbox.top < r2.top) localbox.top = cxmax(0L,cxmin(head.biHeight-1,r2.top+1)); -+ if (localbox.left > r2.left) localbox.left = cxmax(0L,cxmin(head.biWidth-1,r2.left-1)); -+ if (localbox.right < r2.right) localbox.right = cxmax(0L,cxmin(head.biWidth-1,r2.right+1)); -+ if (localbox.bottom > r2.bottom) localbox.bottom = cxmax(0L,cxmin(head.biHeight-1,r2.bottom-1)); - - i++; - } -@@ -385,10 +385,10 @@ bool CxImage::SelectionAddPolygon(POINT *points, long npoints, BYTE level) - for (x=localbox.left; x<=localbox.right; x++) - if (plocal[x + yoffset]!=1) pSelection[x + yoffset]=level; - } -- if (info.rSelectionBox.top <= localbox.top) info.rSelectionBox.top = min(head.biHeight,localbox.top + 1); -- if (info.rSelectionBox.left > localbox.left) info.rSelectionBox.left = min(head.biWidth,localbox.left); -- if (info.rSelectionBox.right <= localbox.right) info.rSelectionBox.right = min(head.biWidth,localbox.right + 1); -- if (info.rSelectionBox.bottom > localbox.bottom) info.rSelectionBox.bottom = min(head.biHeight,localbox.bottom); -+ if (info.rSelectionBox.top <= localbox.top) info.rSelectionBox.top = cxmin(head.biHeight,localbox.top + 1); -+ if (info.rSelectionBox.left > localbox.left) info.rSelectionBox.left = cxmin(head.biWidth,localbox.left); -+ if (info.rSelectionBox.right <= localbox.right) info.rSelectionBox.right = cxmin(head.biWidth,localbox.right + 1); -+ if (info.rSelectionBox.bottom > localbox.bottom) info.rSelectionBox.bottom = cxmin(head.biHeight,localbox.bottom); - - free(plocal); - free(pix); -diff --git a/lib/cximage-6.0/CxImage/ximath.cpp b/lib/cximage-6.0/CxImage/ximath.cpp -index 37533e2..f84eb72 100644 ---- a/lib/cximage-6.0/CxImage/ximath.cpp -+++ b/lib/cximage-6.0/CxImage/ximath.cpp -@@ -64,10 +64,10 @@ CxRect2 CxRect2::CrossSection(CxRect2 const &r2) const - */ - { - CxRect2 cs; -- cs.botLeft.x=max(botLeft.x, r2.botLeft.x); -- cs.botLeft.y=max(botLeft.y, r2.botLeft.y); -- cs.topRight.x=min(topRight.x, r2.topRight.x); -- cs.topRight.y=min(topRight.y, r2.topRight.y); -+ cs.botLeft.x=cxmax(botLeft.x, r2.botLeft.x); -+ cs.botLeft.y=cxmax(botLeft.y, r2.botLeft.y); -+ cs.topRight.x=cxmin(topRight.x, r2.topRight.x); -+ cs.topRight.y=cxmin(topRight.y, r2.topRight.y); - if (cs.botLeft.x<=cs.topRight.x && cs.botLeft.y<=cs.topRight.y) { - return cs; - } else { -diff --git a/lib/cximage-6.0/CxImage/ximatif.cpp b/lib/cximage-6.0/CxImage/ximatif.cpp -index 658392a..002766c 100644 ---- a/lib/cximage-6.0/CxImage/ximatif.cpp -+++ b/lib/cximage-6.0/CxImage/ximatif.cpp -@@ -470,9 +470,9 @@ bool CxImageTIF::Decode(CxFile * hFile) - if ( cb > 0.00304 ) cb = 1.055 * pow(cb,0.41667) - 0.055; - else cb = 12.92 * cb; - -- c.rgbRed =(BYTE)max(0,min(255,(int)(cr*255))); -- c.rgbGreen=(BYTE)max(0,min(255,(int)(cg*255))); -- c.rgbBlue =(BYTE)max(0,min(255,(int)(cb*255))); -+ c.rgbRed =(BYTE)cxmax(0,cxmin(255,(int)(cr*255))); -+ c.rgbGreen=(BYTE)cxmax(0,cxmin(255,(int)(cg*255))); -+ c.rgbBlue =(BYTE)cxmax(0,cxmin(255,(int)(cb*255))); - - SetPixelColor(xi,yi,c); - #if CXIMAGE_SUPPORT_ALPHA -diff --git a/lib/cximage-6.0/CxImage/ximatran.cpp b/lib/cximage-6.0/CxImage/ximatran.cpp -index 64a71e7..84d5e03 100644 ---- a/lib/cximage-6.0/CxImage/ximatran.cpp -+++ b/lib/cximage-6.0/CxImage/ximatran.cpp -@@ -302,12 +302,12 @@ bool CxImage::RotateLeft(CxImage* iDst) - for (ys = 0; ys < newHeight; ys+=RBLOCK) { - if (head.biBitCount==24) { - //RGB24 optimized pixel access: -- for (x = xs; x < min(newWidth, xs+RBLOCK); x++){ //do rotation -+ for (x = xs; x < cxmin(newWidth, xs+RBLOCK); x++){ //do rotation - info.nProgress = (long)(100*x/newWidth); - x2=newWidth-x-1; - dstPtr = (BYTE*) imgDest.BlindGetPixelPointer(x,ys); - srcPtr = (BYTE*) BlindGetPixelPointer(ys, x2); -- for (y = ys; y < min(newHeight, ys+RBLOCK); y++){ -+ for (y = ys; y < cxmin(newHeight, ys+RBLOCK); y++){ - //imgDest.SetPixelColor(x, y, GetPixelColor(y, x2)); - *(dstPtr) = *(srcPtr); - *(dstPtr+1) = *(srcPtr+1); -@@ -318,19 +318,19 @@ bool CxImage::RotateLeft(CxImage* iDst) - }//for x - } else { - //anything else than 24bpp (and 1bpp): palette -- for (x = xs; x < min(newWidth, xs+RBLOCK); x++){ -+ for (x = xs; x < cxmin(newWidth, xs+RBLOCK); x++){ - info.nProgress = (long)(100*x/newWidth); // - x2=newWidth-x-1; -- for (y = ys; y < min(newHeight, ys+RBLOCK); y++){ -+ for (y = ys; y < cxmin(newHeight, ys+RBLOCK); y++){ - imgDest.SetPixelIndex(x, y, BlindGetPixelIndex(y, x2)); - }//for y - }//for x - }//if (version selection) - #if CXIMAGE_SUPPORT_ALPHA - if (AlphaIsValid()) { -- for (x = xs; x < min(newWidth, xs+RBLOCK); x++){ -+ for (x = xs; x < cxmin(newWidth, xs+RBLOCK); x++){ - x2=newWidth-x-1; -- for (y = ys; y < min(newHeight, ys+RBLOCK); y++){ -+ for (y = ys; y < cxmin(newHeight, ys+RBLOCK); y++){ - imgDest.AlphaSet(x,y,BlindAlphaGet(y, x2)); - }//for y - }//for x -@@ -343,9 +343,9 @@ bool CxImage::RotateLeft(CxImage* iDst) - imgDest.info.rSelectionBox.right = newWidth-info.rSelectionBox.bottom; - imgDest.info.rSelectionBox.bottom = info.rSelectionBox.left; - imgDest.info.rSelectionBox.top = info.rSelectionBox.right; -- for (x = xs; x < min(newWidth, xs+RBLOCK); x++){ -+ for (x = xs; x < cxmin(newWidth, xs+RBLOCK); x++){ - x2=newWidth-x-1; -- for (y = ys; y < min(newHeight, ys+RBLOCK); y++){ -+ for (y = ys; y < cxmin(newHeight, ys+RBLOCK); y++){ - imgDest.SelectionSet(x,y,BlindSelectionGet(y, x2)); - }//for y - }//for x -@@ -447,12 +447,12 @@ bool CxImage::RotateRight(CxImage* iDst) - for (ys = 0; ys < newHeight; ys+=RBLOCK) { - if (head.biBitCount==24) { - //RGB24 optimized pixel access: -- for (y = ys; y < min(newHeight, ys+RBLOCK); y++){ -+ for (y = ys; y < cxmin(newHeight, ys+RBLOCK); y++){ - info.nProgress = (long)(100*y/newHeight); // - y2=newHeight-y-1; - dstPtr = (BYTE*) imgDest.BlindGetPixelPointer(xs,y); - srcPtr = (BYTE*) BlindGetPixelPointer(y2, xs); -- for (x = xs; x < min(newWidth, xs+RBLOCK); x++){ -+ for (x = xs; x < cxmin(newWidth, xs+RBLOCK); x++){ - //imgDest.SetPixelColor(x, y, GetPixelColor(y2, x)); - *(dstPtr) = *(srcPtr); - *(dstPtr+1) = *(srcPtr+1); -@@ -463,19 +463,19 @@ bool CxImage::RotateRight(CxImage* iDst) - }//for y - } else { - //anything else than BW & RGB24: palette -- for (y = ys; y < min(newHeight, ys+RBLOCK); y++){ -+ for (y = ys; y < cxmin(newHeight, ys+RBLOCK); y++){ - info.nProgress = (long)(100*y/newHeight); // - y2=newHeight-y-1; -- for (x = xs; x < min(newWidth, xs+RBLOCK); x++){ -+ for (x = xs; x < cxmin(newWidth, xs+RBLOCK); x++){ - imgDest.SetPixelIndex(x, y, BlindGetPixelIndex(y2, x)); - }//for x - }//for y - }//if - #if CXIMAGE_SUPPORT_ALPHA - if (AlphaIsValid()){ -- for (y = ys; y < min(newHeight, ys+RBLOCK); y++){ -+ for (y = ys; y < cxmin(newHeight, ys+RBLOCK); y++){ - y2=newHeight-y-1; -- for (x = xs; x < min(newWidth, xs+RBLOCK); x++){ -+ for (x = xs; x < cxmin(newWidth, xs+RBLOCK); x++){ - imgDest.AlphaSet(x,y,BlindAlphaGet(y2, x)); - }//for x - }//for y -@@ -488,9 +488,9 @@ bool CxImage::RotateRight(CxImage* iDst) - imgDest.info.rSelectionBox.right = info.rSelectionBox.top; - imgDest.info.rSelectionBox.bottom = newHeight-info.rSelectionBox.right; - imgDest.info.rSelectionBox.top = newHeight-info.rSelectionBox.left; -- for (y = ys; y < min(newHeight, ys+RBLOCK); y++){ -+ for (y = ys; y < cxmin(newHeight, ys+RBLOCK); y++){ - y2=newHeight-y-1; -- for (x = xs; x < min(newWidth, xs+RBLOCK); x++){ -+ for (x = xs; x < cxmin(newWidth, xs+RBLOCK); x++){ - imgDest.SelectionSet(x,y,BlindSelectionGet(y2, x)); - }//for x - }//for y -@@ -608,10 +608,10 @@ bool CxImage::Rotate(float angle, CxImage* iDst) - newP4.x = (float)(p4.x*cos_angle - p4.y*sin_angle); - newP4.y = (float)(p4.x*sin_angle + p4.y*cos_angle); - -- leftTop.x = min(min(newP1.x,newP2.x),min(newP3.x,newP4.x)); -- leftTop.y = min(min(newP1.y,newP2.y),min(newP3.y,newP4.y)); -- rightBottom.x = max(max(newP1.x,newP2.x),max(newP3.x,newP4.x)); -- rightBottom.y = max(max(newP1.y,newP2.y),max(newP3.y,newP4.y)); -+ leftTop.x = cxmin(cxmin(newP1.x,newP2.x),cxmin(newP3.x,newP4.x)); -+ leftTop.y = cxmin(cxmin(newP1.y,newP2.y),cxmin(newP3.y,newP4.y)); -+ rightBottom.x = cxmax(cxmax(newP1.x,newP2.x),cxmax(newP3.x,newP4.x)); -+ rightBottom.y = cxmax(cxmax(newP1.y,newP2.y),cxmax(newP3.y,newP4.y)); - leftBottom.x = leftTop.x; - leftBottom.y = rightBottom.y; - rightTop.x = rightBottom.x; -@@ -740,10 +740,10 @@ bool CxImage::Rotate2(float angle, - }//if - - //(read new dimensions from location of corners) -- float minx = (float) min(min(newp[0].x,newp[1].x),min(newp[2].x,newp[3].x)); -- float miny = (float) min(min(newp[0].y,newp[1].y),min(newp[2].y,newp[3].y)); -- float maxx = (float) max(max(newp[0].x,newp[1].x),max(newp[2].x,newp[3].x)); -- float maxy = (float) max(max(newp[0].y,newp[1].y),max(newp[2].y,newp[3].y)); -+ float minx = (float) cxmin(cxmin(newp[0].x,newp[1].x),cxmin(newp[2].x,newp[3].x)); -+ float miny = (float) cxmin(cxmin(newp[0].y,newp[1].y),cxmin(newp[2].y,newp[3].y)); -+ float maxx = (float) cxmax(cxmax(newp[0].x,newp[1].x),cxmax(newp[2].x,newp[3].x)); -+ float maxy = (float) cxmax(cxmax(newp[0].y,newp[1].y),cxmax(newp[2].y,newp[3].y)); - int newWidth = (int) floor(maxx-minx+0.5f); - int newHeight= (int) floor(maxy-miny+0.5f); - float ssx=((maxx+minx)- ((float) newWidth-1))/2.0f; //start for x -@@ -1003,12 +1003,12 @@ bool CxImage::Resample(long newx, long newy, int mode, CxImage* iDst) - if (info.nEscape) break; - fY = y * yScale; - ifY = (int)fY; -- ifY1 = min(ymax, ifY+1); -+ ifY1 = cxmin(ymax, ifY+1); - dy = fY - ifY; - for(long x=0; x 1 && fy > 1) { -@@ -813,7 +813,7 @@ long CxImage::Draw(HDC hdc, long x, long y, long cx, long cy, RECT* pClipRect, b - - for(yy=0;yy>8); --- -2.8.0.rc3 - diff --git a/package/kodi/0010-curl-support-version-7.5.0-and-upwards.patch b/package/kodi/0010-curl-support-version-7.5.0-and-upwards.patch deleted file mode 100644 index b6743ae532..0000000000 --- a/package/kodi/0010-curl-support-version-7.5.0-and-upwards.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 7d3c70b163bc67aeb1fdef8fd2347b39f311c584 Mon Sep 17 00:00:00 2001 -From: fritsch -Date: Sun, 24 Jul 2016 20:24:07 +0200 -Subject: [PATCH] Curl: Adjust multi_cleanup method which returns CURLMcode - -Signed-off-by: Bernd Kuhls -(backported from upstream commit: - https://github.com/xbmc/xbmc/commit/2a8d3e7f6cffea52740b8392a3be8ec251d5ff70) ---- - xbmc/filesystem/DllLibCurl.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/xbmc/filesystem/DllLibCurl.h b/xbmc/filesystem/DllLibCurl.h -index db97f92..9e78a91 100644 ---- a/xbmc/filesystem/DllLibCurl.h -+++ b/xbmc/filesystem/DllLibCurl.h -@@ -52,7 +52,7 @@ namespace XCURL - virtual CURLMcode multi_fdset(CURLM *multi_handle, fd_set *read_fd_set, fd_set *write_fd_set, fd_set *exc_fd_set, int *max_fd)=0; - virtual CURLMcode multi_timeout(CURLM *multi_handle, long *timeout)=0; - virtual CURLMsg* multi_info_read(CURLM *multi_handle, int *msgs_in_queue)=0; -- virtual void multi_cleanup(CURL_HANDLE * handle )=0; -+ virtual CURLMcode multi_cleanup(CURLM * handle )=0; - virtual struct curl_slist* slist_append(struct curl_slist *, const char *)=0; - virtual void slist_free_all(struct curl_slist *)=0; - }; -@@ -77,7 +77,7 @@ namespace XCURL - DEFINE_METHOD5(CURLMcode, multi_fdset, (CURLM *p1, fd_set *p2, fd_set *p3, fd_set *p4, int *p5)) - DEFINE_METHOD2(CURLMcode, multi_timeout, (CURLM *p1, long *p2)) - DEFINE_METHOD2(CURLMsg*, multi_info_read, (CURLM *p1, int *p2)) -- DEFINE_METHOD1(void, multi_cleanup, (CURLM *p1)) -+ DEFINE_METHOD1(CURLMcode, multi_cleanup, (CURLM *p1)) - DEFINE_METHOD2(struct curl_slist*, slist_append, (struct curl_slist * p1, const char * p2)) - DEFINE_METHOD1(void, slist_free_all, (struct curl_slist * p1)) - DEFINE_METHOD1(const char *, easy_strerror, (CURLcode p1)) diff --git a/package/kodi/0011-xbmc_pvr_types.h-Fix-compilation-with-gcc6.patch b/package/kodi/0011-xbmc_pvr_types.h-Fix-compilation-with-gcc6.patch deleted file mode 100644 index a3a9d50ed1..0000000000 --- a/package/kodi/0011-xbmc_pvr_types.h-Fix-compilation-with-gcc6.patch +++ /dev/null @@ -1,30 +0,0 @@ -From a17e8d39cf01e26955574acd236b4ef5b54b8c3b Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Mon, 5 Sep 2016 12:34:20 +0200 -Subject: [PATCH 2/2] xbmc_pvr_types.h: Fix compilation with gcc6 - -Backport of upstream commit from master branch: -https://github.com/xbmc/xbmc/commit/c8a346109926fa03bf6882c0b6e3885af0e0f8ed - -This patch can be removed when Kodi is bumped to 17.0-Krypton. - -Signed-off-by: Bernd Kuhls ---- - xbmc/addons/include/xbmc_pvr_types.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/xbmc/addons/include/xbmc_pvr_types.h b/xbmc/addons/include/xbmc_pvr_types.h -index c5ab20b..e518de1 100644 ---- a/xbmc/addons/include/xbmc_pvr_types.h -+++ b/xbmc/addons/include/xbmc_pvr_types.h -@@ -34,6 +34,7 @@ - #endif - #include - #include -+#include - - #include "xbmc_addon_types.h" - #include "xbmc_epg_types.h" --- -2.9.3 - diff --git a/package/kodi/0012-Fix_includes_in_amcodec.patch b/package/kodi/0012-Fix_includes_in_amcodec.patch deleted file mode 100644 index 4a6d44f686..0000000000 --- a/package/kodi/0012-Fix_includes_in_amcodec.patch +++ /dev/null @@ -1,38 +0,0 @@ -commit 4bbb21aa5cee6b2f40759aa8b1bd65246a237f79 -Author: Alex Deryskyba -Date: Wed May 4 01:38:27 2016 +0200 - - [aml] Fix includes in amcodec/codec.h to make them relative - -[Taken from upstream commit -https://github.com/xbmc/xbmc/commit/4bbb21aa5cee6b2f40759aa8b1bd65246a237f79.] -Signed-off-by: Dagg Stompler - -diff --git a/tools/depends/target/libamplayer/libamplayer/include/amcodec/codec.h b/tools/depends/target/libamplayer/libamplayer/include/amcodec/codec.h -index 187d4d5..632c24e 100644 ---- a/tools/depends/target/libamplayer/libamplayer/include/amcodec/codec.h -+++ b/tools/depends/target/libamplayer/libamplayer/include/amcodec/codec.h -@@ -12,8 +12,8 @@ - #ifndef CODEC_CTRL_H_ - #define CODEC_CTRL_H_ - --#include --#include -+#include "codec_type.h" -+#include "codec_error.h" - - - int codec_init(codec_para_t *); -diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/Makefile.in b/xbmc/cores/dvdplayer/DVDCodecs/Video/Makefile.in -index a1a3447..1bf5a89 100644 ---- a/xbmc/cores/dvdplayer/DVDCodecs/Video/Makefile.in -+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/Makefile.in -@@ -24,8 +24,6 @@ endif - ifeq (@USE_LIBAMCODEC@,1) - SRCS += AMLCodec.cpp - SRCS += DVDVideoCodecAmlogic.cpp --INCLUDES += -I$(prefix)/include/amcodec --INCLUDES += -I$(prefix)/include/amplayer - endif - - ifeq (@USE_ANDROID@,1) diff --git a/package/kodi/Config.in b/package/kodi/Config.in index f2a3e2e032..eed4c15182 100644 --- a/package/kodi/Config.in +++ b/package/kodi/Config.in @@ -1,16 +1,17 @@ config BR2_PACKAGE_KODI_ARCH_SUPPORTS bool + default y if BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS + # i386: needs sse (see upstream PR 10351) + depends on !(BR2_i386 && !BR2_X86_CPU_HAS_SSE) depends on BR2_USE_MMU # libcdio, and others - default y if (BR2_arm || (BR2_mipsel && BR2_TOOLCHAIN_USES_GLIBC) || BR2_i386 || BR2_x86_64) \ - && BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS \ - && BR2_TOOLCHAIN_HAS_SYNC_8 -comment "kodi needs python w/ .py modules, a uClibc or glibc toolchain w/ C++, threads, wchar, dynamic library, gcc >= 4.7, host gcc >= 4.6" +comment "kodi needs python w/ .py modules, a uClibc or glibc toolchain w/ C++, locale, threads, wchar, dynamic library, gcc >= 4.8, host gcc >= 4.6" depends on BR2_PACKAGE_KODI_ARCH_SUPPORTS depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \ || !BR2_USE_WCHAR || BR2_STATIC_LIBS \ + || !BR2_ENABLE_LOCALE \ || !BR2_HOST_GCC_AT_LEAST_4_6 \ - || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \ || BR2_TOOLCHAIN_USES_MUSL \ || !BR2_PACKAGE_PYTHON \ || BR2_PACKAGE_PYTHON_PYC_ONLY @@ -20,38 +21,32 @@ config BR2_PACKAGE_KODI_EGL_GLES default y depends on BR2_PACKAGE_HAS_LIBEGL depends on BR2_PACKAGE_HAS_LIBGLES - depends on !BR2_PACKAGE_KODI_GL # prefer GL if available + depends on !BR2_PACKAGE_KODI_GL_EGL # prefer GL if available -config BR2_PACKAGE_KODI_GL +config BR2_PACKAGE_KODI_GL_EGL bool default y + depends on BR2_PACKAGE_HAS_LIBEGL depends on BR2_PACKAGE_HAS_LIBGL - depends on !BR2_arm # kodi needs egl/gles on arm -comment "kodi needs an OpenGL or an openGL ES and EGL backend" - depends on BR2_i386 || BR2_x86_64 - depends on !BR2_PACKAGE_KODI_GL && !BR2_PACKAGE_KODI_EGL_GLES - -comment "kodi requires an OpenGL ES and EGL backend" - depends on BR2_arm - depends on !BR2_PACKAGE_KODI_EGL_GLES +comment "kodi needs an OpenGL EGL with either an openGL or an OpenGL ES backend" + depends on !BR2_PACKAGE_KODI_GL_EGL && !BR2_PACKAGE_KODI_EGL_GLES menuconfig BR2_PACKAGE_KODI bool "kodi" + depends on BR2_ENABLE_LOCALE depends on BR2_INSTALL_LIBSTDCPP depends on BR2_HOST_GCC_AT_LEAST_4_6 - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_TOOLCHAIN_USES_MUSL - depends on BR2_PACKAGE_KODI_EGL_GLES || BR2_PACKAGE_KODI_GL + depends on BR2_PACKAGE_KODI_EGL_GLES || BR2_PACKAGE_KODI_GL_EGL depends on BR2_USE_WCHAR - depends on !BR2_STATIC_LIBS # libsquish, and others + depends on !BR2_STATIC_LIBS # python and others depends on BR2_PACKAGE_KODI_ARCH_SUPPORTS depends on BR2_PACKAGE_PYTHON depends on !BR2_PACKAGE_PYTHON_PYC_ONLY select BR2_NEEDS_HOST_JAVA - select BR2_PACKAGE_BOOST - select BR2_PACKAGE_BOOST_THREAD select BR2_PACKAGE_BZIP2 select BR2_PACKAGE_EXPAT select BR2_PACKAGE_FFMPEG @@ -60,27 +55,14 @@ menuconfig BR2_PACKAGE_KODI select BR2_PACKAGE_FFMPEG_SWSCALE select BR2_PACKAGE_FONTCONFIG select BR2_PACKAGE_FREETYPE - select BR2_PACKAGE_GIFLIB - select BR2_PACKAGE_JASPER - select BR2_PACKAGE_JPEG select BR2_PACKAGE_LIBASS select BR2_PACKAGE_LIBCDIO select BR2_PACKAGE_LIBCROSSGUID select BR2_PACKAGE_LIBCURL - select BR2_PACKAGE_LIBDCADEC select BR2_PACKAGE_LIBFRIBIDI - select BR2_PACKAGE_LIBGLEW if BR2_PACKAGE_KODI_GL - select BR2_PACKAGE_LIBGLU if BR2_PACKAGE_KODI_GL - select BR2_PACKAGE_LIBGCRYPT - select BR2_PACKAGE_LIBMPEG2 - select BR2_PACKAGE_LIBOGG + select BR2_PACKAGE_LIBGLU if BR2_PACKAGE_KODI_GL_EGL select BR2_PACKAGE_LIBPLIST - select BR2_PACKAGE_LIBPNG select BR2_PACKAGE_LIBSAMPLERATE - select BR2_PACKAGE_LIBSQUISH - select BR2_PACKAGE_LIBVORBIS - select BR2_PACKAGE_LIBXML2 - select BR2_PACKAGE_LIBXSLT select BR2_PACKAGE_LZO select BR2_PACKAGE_NCURSES select BR2_PACKAGE_OPENSSL @@ -98,10 +80,9 @@ menuconfig BR2_PACKAGE_KODI select BR2_PACKAGE_READLINE select BR2_PACKAGE_SQLITE select BR2_PACKAGE_TAGLIB - select BR2_PACKAGE_TIFF select BR2_PACKAGE_TINYXML - select BR2_PACKAGE_LIBDRM if BR2_PACKAGE_KODI_GL - select BR2_PACKAGE_XLIB_LIBXRANDR if BR2_PACKAGE_KODI_GL + select BR2_PACKAGE_LIBDRM if BR2_PACKAGE_KODI_GL_EGL + select BR2_PACKAGE_XLIB_LIBXRANDR if BR2_PACKAGE_KODI_GL_EGL select BR2_PACKAGE_YAJL select BR2_PACKAGE_ZLIB select BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY if BR2_TOOLCHAIN_USES_GLIBC # runtime UTF conversion support @@ -129,12 +110,28 @@ config BR2_PACKAGE_KODI_AVAHI Enable Avahi support. Select this if you want Kodi to support Bonjour protocol. +config BR2_PACKAGE_KODI_BLUEZ + bool "bluetooth" + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 # bluez5_utils + depends on !BR2_PACKAGE_BLUEZ_UTILS # bluez5_utils + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # bluez5_utils + select BR2_PACKAGE_BLUEZ5_UTILS + help + Enable bluetooth support + config BR2_PACKAGE_KODI_DBUS bool "dbus" select BR2_PACKAGE_DBUS help Enable D-Bus support +config BR2_PACKAGE_KODI_EVENTCLIENTS + bool "eventclients" + help + Enable event clients support + + https://github.com/xbmc/xbmc/blob/master/tools/EventClients/README.txt + config BR2_PACKAGE_KODI_LIBBLURAY bool "blu-ray" select BR2_PACKAGE_LIBBLURAY @@ -153,6 +150,12 @@ config BR2_PACKAGE_KODI_LIBCEC comment "hdmi cec support needs udev /dev management" depends on !BR2_PACKAGE_HAS_UDEV +config BR2_PACKAGE_KODI_LCMS2 + bool "lcms2" + select BR2_PACKAGE_LCMS2 + help + Enable color management support. + config BR2_PACKAGE_KODI_LIRC bool "lirc" help @@ -188,19 +191,23 @@ config BR2_PACKAGE_KODI_NONFREE Enable components with non-free licenses. This option currently only controls support for RAR archives. -config BR2_PACKAGE_KODI_RTMPDUMP - bool "rtmp" - select BR2_PACKAGE_RTMPDUMP +config BR2_PACKAGE_KODI_PULSEAUDIO + bool "pulseaudio" + # Pulseaudio support in kodi needs glib support in Pulseaudio, + # see FindPulseAudio.cmake. Kodi meets all dependencies of + # libglib2, so there is no need to propagate them here. + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_PULSEAUDIO help - Enable RTMP input support. - Select this if you want to play back rtmp stream. + Enable Pulseaudio support. config BR2_PACKAGE_KODI_LIBSHAIRPLAY bool "shairport" select BR2_PACKAGE_LIBSHAIRPLAY help Enable Shairport support. - Select this if you want to stream content from an Apple device. + Select this if you want to stream content from an Apple + device. config BR2_PACKAGE_KODI_LIBSMBCLIENT bool "samba" @@ -233,19 +240,25 @@ config BR2_PACKAGE_KODI_LIBUSB config BR2_PACKAGE_KODI_LIBVA bool "va" + depends on BR2_PACKAGE_KODI_GL_EGL + depends on BR2_PACKAGE_XORG7 select BR2_PACKAGE_LIBVA help Enable libva support. +comment "libva support needs X.org with an openGL backend" + depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_KODI_GL_EGL + config BR2_PACKAGE_KODI_LIBVDPAU bool "vdpau" + depends on BR2_PACKAGE_KODI_GL_EGL depends on BR2_PACKAGE_XORG7 select BR2_PACKAGE_LIBVDPAU help Enable libvdpau support. -comment "libvdpau support needs X.org" - depends on !BR2_PACKAGE_XORG7 +comment "libvdpau support needs X.org with an openGL backend" + depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_KODI_GL_EGL config BR2_PACKAGE_KODI_UPNP bool "upnp" @@ -253,7 +266,9 @@ config BR2_PACKAGE_KODI_UPNP Enable UPnP support config BR2_PACKAGE_KODI_OPTICALDRIVE - bool + bool "optical drives" + help + Add support for optical drives, to read e.g. DVDs... menu "Audio decoder addons" source "package/kodi-audiodecoder-modplug/Config.in" @@ -278,6 +293,17 @@ menu "Audio encoder addons" source "package/kodi-audioencoder-wav/Config.in" endmenu +menu "Peripheral addons" + source "package/kodi-peripheral-joystick/Config.in" + source "package/kodi-peripheral-steamcontroller/Config.in" + source "package/kodi-peripheral-xarcade/Config.in" +endmenu + +menu "Inputstream addons" + source "package/kodi-inputstream-adaptive/Config.in" + source "package/kodi-inputstream-rtmp/Config.in" +endmenu + menu "PVR addons" source "package/kodi-pvr-argustv/Config.in" source "package/kodi-pvr-dvblink/Config.in" @@ -313,9 +339,12 @@ menu "Screensavers" source "package/kodi-screensaver-stars/Config.in" endmenu +menu "Skins" + source "package/kodi-skin-confluence/Config.in" +endmenu + menu "Visualisations" source "package/kodi-visualisation-fishbmc/Config.in" - source "package/kodi-visualisation-fountain/Config.in" source "package/kodi-visualisation-goom/Config.in" source "package/kodi-visualisation-shadertoy/Config.in" source "package/kodi-visualisation-spectrum/Config.in" diff --git a/package/kodi/S50kodi b/package/kodi/S50kodi index f00c59c5d9..0afe7a6706 100755 --- a/package/kodi/S50kodi +++ b/package/kodi/S50kodi @@ -4,7 +4,7 @@ # BIN=/usr/bin/br-kodi -KODI=/usr/lib/xbmc/kodi.bin +KODI=/usr/lib/kodi/kodi.bin KODI_ARGS="--standalone -fs -n" PIDFILE=/var/run/kodi.pid diff --git a/package/kodi/kodi.hash b/package/kodi/kodi.hash index 5aa580ec7a..ed3aea0255 100644 --- a/package/kodi/kodi.hash +++ b/package/kodi/kodi.hash @@ -1,2 +1,8 @@ # Locally computed -sha256 7d82c8aff2715c83deecdf10c566e26105bec0473af530a1356d4c747ebdfd10 kodi-16.1-Jarvis.tar.gz +sha256 84c64acc270b9e845a67fbbe481ae5ddeb9b4568d76e42f2d5f9160fe0ce2de2 kodi-17.5-Krypton.tar.gz +# Locally computed - libdvdcss +sha256 b6eb2d929ff56cb051152c32010afc5e7cf5fe8c5ae32dca412a2b46b6b57e34 2f12236.tar.gz +# Locally computed - libdvdnav +sha256 312b3d15bc448d24e92f4b2e7248409525eccc4e75776026d805478e51c5ef3d 981488f.tar.gz +# Locally computed - libdvdread +sha256 e7179b2054163652596a56301c9f025515cb08c6d6310b42b897c3ad11c0199b 17d99db.tar.gz diff --git a/package/kodi/kodi.mk b/package/kodi/kodi.mk index de4d308f6b..7da2595ee3 100644 --- a/package/kodi/kodi.mk +++ b/package/kodi/kodi.mk @@ -4,48 +4,35 @@ # ################################################################################ -KODI_VERSION = 16.1-Jarvis +# When updating the version, please also update kodi-jsonschemabuilder +# and kodi-texturepacker +KODI_VERSION = 17.5-Krypton KODI_SITE = $(call github,xbmc,xbmc,$(KODI_VERSION)) -KODI_LICENSE = GPLv2 +KODI_LICENSE = GPL-2.0 KODI_LICENSE_FILES = LICENSE.GPL # needed for binary addons KODI_INSTALL_STAGING = YES KODI_DEPENDENCIES = \ - boost \ bzip2 \ expat \ ffmpeg \ fontconfig \ freetype \ - giflib \ host-gawk \ - host-gettext \ - host-giflib \ host-gperf \ - host-libjpeg \ - host-libpng \ - host-lzo \ + host-kodi-jsonschemabuilder \ + host-kodi-texturepacker \ host-nasm \ host-swig \ + host-xmlstarlet \ host-zip \ - jasper \ - jpeg \ libass \ libcdio \ libcrossguid \ libcurl \ - libdcadec \ libfribidi \ - libgcrypt \ - libmpeg2 \ - libogg \ libplist \ - libpng \ libsamplerate \ - libsquish \ - libvorbis \ - libxml2 \ - libxslt \ lzo \ ncurses \ openssl \ @@ -54,191 +41,297 @@ KODI_DEPENDENCIES = \ readline \ sqlite \ taglib \ - tiff \ tinyxml \ yajl \ zlib -KODI_CONF_ENV = \ - PYTHON_VERSION="$(PYTHON_VERSION_MAJOR)" \ - PYTHON_LDFLAGS="-lpython$(PYTHON_VERSION_MAJOR) -lpthread -ldl -lutil -lm" \ - PYTHON_CPPFLAGS="-I$(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR)" \ - PYTHON_SITE_PKG="$(STAGING_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages" \ - PYTHON_NOVERSIONCHECK="no-check" \ - use_texturepacker_native=yes \ - USE_TEXTUREPACKER_NATIVE_ROOT="$(HOST_DIR)/usr" \ - TEXTUREPACKER_NATIVE_ROOT="$(HOST_DIR)/usr" +KODI_SUBDIR = project/cmake -KODI_CONF_OPTS += \ - --with-ffmpeg=shared \ - --disable-joystick \ - --disable-openmax \ - --disable-pulse \ - --disable-vtbdecoder \ - --enable-optimizations +KODI_LIBDVDCSS_VERSION = 2f12236 +KODI_LIBDVDNAV_VERSION = 981488f +KODI_LIBDVDREAD_VERSION = 17d99db + +KODI_EXTRA_DOWNLOADS = \ + https://github.com/xbmc/libdvdcss/archive/$(KODI_LIBDVDCSS_VERSION).tar.gz \ + https://github.com/xbmc/libdvdnav/archive/$(KODI_LIBDVDNAV_VERSION).tar.gz \ + https://github.com/xbmc/libdvdread/archive/$(KODI_LIBDVDREAD_VERSION).tar.gz + +KODI_CONF_OPTS += \ + -DCMAKE_C_FLAGS="$(TARGET_CFLAGS) $(KODI_C_FLAGS)" \ + -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) $(KODI_CXX_FLAGS)" \ + -DENABLE_CCACHE=OFF \ + -DENABLE_DVDCSS=ON \ + -DENABLE_INTERNAL_CROSSGUID=OFF \ + -DENABLE_INTERNAL_FFMPEG=OFF \ + -DKODI_DEPENDSBUILD=OFF \ + -DENABLE_OPENSSL=ON \ + -DNATIVEPREFIX=$(HOST_DIR) \ + -DDEPENDS_PATH=$(@D) \ + -DWITH_FFMPEG=$(STAGING_DIR)/usr \ + -DWITH_TEXTUREPACKER=$(HOST_DIR)/bin/TexturePacker \ + -DLIBDVDCSS_URL=$(DL_DIR)/$(KODI_LIBDVDCSS_VERSION).tar.gz \ + -DLIBDVDNAV_URL=$(DL_DIR)/$(KODI_LIBDVDNAV_VERSION).tar.gz \ + -DLIBDVDREAD_URL=$(DL_DIR)/$(KODI_LIBDVDREAD_VERSION).tar.gz + +ifeq ($(BR2_PACKAGE_RPI_USERLAND),y) +KODI_CONF_OPTS += -DCORE_SYSTEM_NAME=rbpi +KODI_DEPENDENCIES += rpi-userland +# These CPU-specific options are only used on rbpi: +# https://github.com/xbmc/xbmc/blob/Krypton/project/cmake/scripts/rbpi/ArchSetup.cmake#L13 +ifeq ($(BR2_arm1176jzf_s)$(BR2_cortex_a7)$(BR2_cortex_a53),y) +KODI_CONF_OPTS += -DWITH_CPU=$(BR2_GCC_TARGET_CPU) +endif +else +ifeq ($(BR2_arceb)$(BR2_arcle),y) +KODI_CONF_OPTS += -DWITH_ARCH=arc -DWITH_CPU=arc +else ifeq ($(BR2_armeb),y) +KODI_CONF_OPTS += -DWITH_ARCH=arm -DWITH_CPU=arm +else ifeq ($(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el),y) +KODI_CONF_OPTS += \ + -DWITH_ARCH=mips$(if $(BR2_ARCH_IS_64),64) \ + -DWITH_CPU=mips$(if $(BR2_ARCH_IS_64),64) +else ifeq ($(BR2_powerpc)$(BR2_powerpc64le),y) +KODI_CONF_OPTS += \ + -DWITH_ARCH=powerpc$(if $(BR2_ARCH_IS_64),64) \ + -DWITH_CPU=powerpc$(if $(BR2_ARCH_IS_64),64) +else ifeq ($(BR2_powerpc64)$(BR2_sparc64)$(BR2_sh4)$(BR2_xtensa),y) +KODI_CONF_OPTS += -DWITH_ARCH=$(BR2_ARCH) -DWITH_CPU=$(BR2_ARCH) +else +# Kodi auto-detects ARCH, tested: arm, aarch64, i386, x86_64 +# see project/cmake/scripts/linux/ArchSetup.cmake +KODI_CONF_OPTS += -DWITH_CPU=$(BR2_ARCH) +endif +endif + +ifeq ($(BR2_X86_CPU_HAS_SSE),y) +KODI_CONF_OPTS += -D_SSE_OK=ON -D_SSE_TRUE=ON +else +KODI_CONF_OPTS += -D_SSE_OK=OFF -D_SSE_TRUE=OFF +endif + +ifeq ($(BR2_X86_CPU_HAS_SSE2),y) +KODI_CONF_OPTS += -D_SSE2_OK=ON -D_SSE2_TRUE=ON +else +KODI_CONF_OPTS += -D_SSE2_OK=OFF -D_SSE2_TRUE=OFF +endif + +ifeq ($(BR2_X86_CPU_HAS_SSE3),y) +KODI_CONF_OPTS += -D_SSE3_OK=ON -D_SSE3_TRUE=ON +else +KODI_CONF_OPTS += -D_SSE3_OK=OFF -D_SSE3_TRUE=OFF +endif + +ifeq ($(BR2_X86_CPU_HAS_SSSE3),y) +KODI_CONF_OPTS += -D_SSSE3_OK=ON -D_SSSE3_TRUE=ON +else +KODI_CONF_OPTS += -D_SSSE3_OK=OFF -D_SSSE3_TRUE=OFF +endif + +ifeq ($(BR2_X86_CPU_HAS_SSE4),y) +KODI_CONF_OPTS += -D_SSE41_OK=ON -D_SSE41_TRUE=ON +else +KODI_CONF_OPTS += -D_SSE41_OK=OFF -D_SSE41_TRUE=OFF +endif + +ifeq ($(BR2_X86_CPU_HAS_SSE42),y) +KODI_CONF_OPTS += -D_SSE42_OK=ON -D_SSE42_TRUE=ON +else +KODI_CONF_OPTS += -D_SSE42_OK=OFF -D_SSE42_TRUE=OFF +endif + +ifeq ($(BR2_X86_CPU_HAS_AVX),y) +KODI_CONF_OPTS += -D_AVX_OK=ON -D_AVX_TRUE=ON +else +KODI_CONF_OPTS += -D_AVX_OK=OFF -D_AVX_TRUE=OFF +endif + +ifeq ($(BR2_X86_CPU_HAS_AVX2),y) +KODI_CONF_OPTS += -D_AVX2_OK=ON -D_AVX2_TRUE=ON +else +KODI_CONF_OPTS += -D_AVX2_OK=OFF -D_AVX2_TRUE=OFF +endif + +# mips: uses __atomic_load_8 +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +KODI_CXX_FLAGS += -latomic +endif ifeq ($(BR2_PACKAGE_KODI_MYSQL),y) -KODI_CONF_OPTS += --enable-mysql -KODI_CONF_ENV += ac_cv_path_MYSQL_CONFIG="$(STAGING_DIR)/usr/bin/mysql_config" +KODI_CONF_OPTS += -DENABLE_MYSQLCLIENT=ON KODI_DEPENDENCIES += mysql else -KODI_CONF_OPTS += --disable-mysql +KODI_CONF_OPTS += -DENABLE_MYSQLCLIENT=OFF endif ifeq ($(BR2_PACKAGE_KODI_NONFREE),y) -KODI_CONF_OPTS += --enable-non-free +KODI_CONF_OPTS += -DENABLE_NONFREE=ON KODI_LICENSE := $(KODI_LICENSE), unrar KODI_LICENSE_FILES += lib/UnrarXLib/license.txt else -KODI_CONF_OPTS += --disable-non-free +KODI_CONF_OPTS += -DENABLE_NONFREE=OFF endif ifeq ($(BR2_PACKAGE_RPI_USERLAND),y) +KODI_CONF_OPTS += -DCORE_SYSTEM_NAME=rbpi KODI_DEPENDENCIES += rpi-userland -KODI_CONF_OPTS += --with-platform=raspberry-pi --enable-player=omxplayer -KODI_INCLUDES += \ - -I$(STAGING_DIR)/usr/include/interface/vcos/pthreads \ - -I$(STAGING_DIR)/usr/include/interface/vmcs_host/linux -KODI_LIBS = -lvcos -lvchostif +else +# Kodi considers "rpbi" and "linux" as two separate platforms. The +# below options, defined in +# project/cmake/scripts/linux/ArchSetup.cmake are only valid for the +# "linux" platforms. The "rpbi" platform has a different set of +# options, defined in project/cmake/scripts/rbpi/ +KODI_CONF_OPTS += -DENABLE_LDGOLD=OFF +ifeq ($(BR2_PACKAGE_LIBAMCODEC),y) +KODI_CONF_OPTS += -DENABLE_AML=ON +KODI_DEPENDENCIES += libamcodec +else +KODI_CONF_OPTS += -DENABLE_AML=OFF +endif +ifeq ($(BR2_PACKAGE_IMX_VPUWRAP),y) +KODI_CONF_OPTS += -DENABLE_IMX=ON +KODI_DEPENDENCIES += imx-vpuwrap +else +KODI_CONF_OPTS += -DENABLE_IMX=OFF +endif endif ifeq ($(BR2_PACKAGE_HAS_UDEV),y) +KODI_CONF_OPTS += -DENABLE_UDEV=ON KODI_DEPENDENCIES += udev -KODI_CONF_OPTS += --enable-udev else -KODI_CONF_OPTS += --disable-udev +KODI_CONF_OPTS += -DENABLE_UDEV=OFF +ifeq ($(BR2_PACKAGE_KODI_LIBUSB),y) +KODI_CONF_OPTS += -DENABLE_LIBUSB=ON +KODI_DEPENDENCIES += libusb-compat endif - -ifeq ($(BR2_PACKAGE_IMX_VPUWRAP),y) -KODI_DEPENDENCIES += imx-vpuwrap -KODI_CONF_OPTS += --enable-codec=imxvpu endif -ifeq ($(BR2_PACKAGE_LIBAMCODEC),y) -KODI_DEPENDENCIES += libamcodec -KODI_CONF_OPTS += --enable-codec=amcodec -KODI_INCLUDES += -I$(STAGING_DIR)/usr/include/amcodec -endif - -KODI_CONF_ENV += \ - INCLUDES="$(KODI_INCLUDES)" \ - LIBS="$(KODI_LIBS)" - ifeq ($(BR2_PACKAGE_LIBCAP),y) -KODI_CONF_OPTS += --enable-libcap +KODI_CONF_OPTS += -DENABLE_CAP=ON KODI_DEPENDENCIES += libcap else -KODI_CONF_OPTS += --disable-libcap +KODI_CONF_OPTS += -DENABLE_CAP=OFF +endif + +ifeq ($(BR2_PACKAGE_LIBXML2)$(BR2_PACKAGE_LIBXSLT),yy) +KODI_CONF_OPTS += -DENABLE_XSLT=ON +KODI_DEPENDENCIES += libxml2 libxslt +else +KODI_CONF_OPTS += -DENABLE_XSLT=OFF +endif + +ifeq ($(BR2_PACKAGE_KODI_BLUEZ),y) +KODI_CONF_OPTS += -DENABLE_BLUETOOTH=ON +KODI_DEPENDENCIES += bluez5_utils +else +KODI_CONF_OPTS += -DENABLE_BLUETOOTH=OFF endif ifeq ($(BR2_PACKAGE_KODI_DBUS),y) KODI_DEPENDENCIES += dbus -KODI_CONF_OPTS += --enable-dbus +KODI_CONF_OPTS += -DENABLE_DBUS=ON else -KODI_CONF_OPTS += --disable-dbus +KODI_CONF_OPTS += -DENABLE_DBUS=OFF +endif + +ifeq ($(BR2_PACKAGE_KODI_EVENTCLIENTS),y) +KODI_CONF_OPTS += -DENABLE_EVENTCLIENTS=ON +else +KODI_CONF_OPTS += -DENABLE_EVENTCLIENTS=OFF endif ifeq ($(BR2_PACKAGE_KODI_ALSA_LIB),y) +KODI_CONF_OPTS += -DENABLE_ALSA=ON KODI_DEPENDENCIES += alsa-lib -KODI_CONF_OPTS += --enable-alsa else -KODI_CONF_OPTS += --disable-alsa +KODI_CONF_OPTS += -DENABLE_ALSA=OFF endif -# quote from kodi/configure.in: "GLES overwrites GL if both set to yes." -# we choose the opposite because opengl offers more features, like libva support -# GL means X11, and under X11, Kodi needs libdrm; libdrm is forcefully selected -# by a modular Xorg server, which Kodi already depends on. -ifeq ($(BR2_PACKAGE_KODI_GL),y) -KODI_DEPENDENCIES += libglew libglu libgl xlib_libX11 xlib_libXext \ - xlib_libXmu xlib_libXrandr xlib_libXt libdrm -KODI_CONF_OPTS += --enable-gl --enable-x11 --disable-gles +ifeq ($(BR2_PACKAGE_KODI_GL_EGL),y) +KODI_DEPENDENCIES += libegl libglu libgl xlib_libX11 xlib_libXext \ + xlib_libXrandr libdrm +KODI_CONF_OPTS += -DENABLE_OPENGL=ON -DENABLE_X11=ON -DENABLE_OPENGLES=OFF else -KODI_CONF_OPTS += --disable-gl --disable-x11 +KODI_CONF_OPTS += -DENABLE_OPENGL=OFF -DENABLE_X11=OFF +endif + ifeq ($(BR2_PACKAGE_KODI_EGL_GLES),y) KODI_DEPENDENCIES += libegl libgles -KODI_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) `$(PKG_CONFIG_HOST_BINARY) --cflags --libs egl`" -KODI_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) `$(PKG_CONFIG_HOST_BINARY) --cflags --libs egl`" -KODI_CONF_OPTS += --enable-gles +KODI_CONF_OPTS += \ + -DENABLE_OPENGLES=ON +KODI_C_FLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags --libs egl` +KODI_CXX_FLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags --libs egl` else -KODI_CONF_OPTS += --disable-gles -endif -endif - -ifeq ($(BR2_PACKAGE_KODI_LIBUSB),y) -KODI_DEPENDENCIES += libusb-compat -KODI_CONF_OPTS += --enable-libusb -else -KODI_CONF_OPTS += --disable-libusb +KODI_CONF_OPTS += -DENABLE_OPENGLES=OFF endif ifeq ($(BR2_PACKAGE_KODI_LIBMICROHTTPD),y) +KODI_CONF_OPTS += -DENABLE_MICROHTTPD=ON KODI_DEPENDENCIES += libmicrohttpd -KODI_CONF_OPTS += --enable-webserver else -KODI_CONF_OPTS += --disable-webserver +KODI_CONF_OPTS += -DENABLE_MICROHTTPD=OFF endif ifeq ($(BR2_PACKAGE_KODI_LIBSMBCLIENT),y) KODI_DEPENDENCIES += samba4 -KODI_CONF_OPTS += --enable-samba +KODI_CONF_OPTS += -DENABLE_SMBCLIENT=ON else -KODI_CONF_OPTS += --disable-samba +KODI_CONF_OPTS += -DENABLE_SMBCLIENT=OFF endif ifeq ($(BR2_PACKAGE_KODI_LIBNFS),y) KODI_DEPENDENCIES += libnfs -KODI_CONF_OPTS += --enable-nfs +KODI_CONF_OPTS += -DENABLE_NFS=ON else -KODI_CONF_OPTS += --disable-nfs -endif - -ifeq ($(BR2_PACKAGE_KODI_RTMPDUMP),y) -KODI_DEPENDENCIES += rtmpdump -KODI_CONF_OPTS += --enable-rtmp -else -KODI_CONF_OPTS += --disable-rtmp +KODI_CONF_OPTS += -DENABLE_NFS=OFF endif ifeq ($(BR2_PACKAGE_KODI_LIBBLURAY),y) KODI_DEPENDENCIES += libbluray -KODI_CONF_OPTS += --enable-libbluray +KODI_CONF_OPTS += -DENABLE_BLURAY=ON else -KODI_CONF_OPTS += --disable-libbluray +KODI_CONF_OPTS += -DENABLE_BLURAY=OFF endif ifeq ($(BR2_PACKAGE_KODI_LIBSHAIRPLAY),y) KODI_DEPENDENCIES += libshairplay -KODI_CONF_OPTS += --enable-airplay +KODI_CONF_OPTS += -DENABLE_AIRTUNES=ON else -KODI_CONF_OPTS += --disable-airplay +KODI_CONF_OPTS += -DENABLE_AIRTUNES=OFF endif ifeq ($(BR2_PACKAGE_KODI_LIBSSH),y) KODI_DEPENDENCIES += libssh -KODI_CONF_OPTS += --enable-ssh +KODI_CONF_OPTS += -DENABLE_SSH=ON else -KODI_CONF_OPTS += --disable-ssh +KODI_CONF_OPTS += -DENABLE_SSH=OFF endif ifeq ($(BR2_PACKAGE_KODI_AVAHI),y) KODI_DEPENDENCIES += avahi -KODI_CONF_OPTS += --enable-avahi +KODI_CONF_OPTS += -DENABLE_AVAHI=ON else -KODI_CONF_OPTS += --disable-avahi +KODI_CONF_OPTS += -DENABLE_AVAHI=OFF endif ifeq ($(BR2_PACKAGE_KODI_LIBCEC),y) KODI_DEPENDENCIES += libcec -KODI_CONF_OPTS += --enable-libcec +KODI_CONF_OPTS += -DENABLE_CEC=ON else -KODI_CONF_OPTS += --disable-libcec +KODI_CONF_OPTS += -DENABLE_CEC=OFF +endif + +ifeq ($(BR2_PACKAGE_KODI_LCMS2),y) +KODI_DEPENDENCIES += lcms2 +KODI_CONF_OPTS += -DENABLE_LCMS2=ON +else +KODI_CONF_OPTS += -DENABLE_LCMS2=OFF endif ifeq ($(BR2_PACKAGE_KODI_LIRC),y) -KODI_CONF_OPTS += --enable-lirc +KODI_CONF_OPTS += -DENABLE_LIRC=ON else -KODI_CONF_OPTS += --disable-lirc +KODI_CONF_OPTS += -DENABLE_LIRC=OFF endif ifeq ($(BR2_PACKAGE_KODI_LIBTHEORA),y) @@ -248,51 +341,48 @@ endif # kodi needs libva & libva-glx ifeq ($(BR2_PACKAGE_KODI_LIBVA)$(BR2_PACKAGE_MESA3D_DRI_DRIVER),yy) KODI_DEPENDENCIES += mesa3d libva -KODI_CONF_OPTS += --enable-vaapi +KODI_CONF_OPTS += -DENABLE_VAAPI=ON else -KODI_CONF_OPTS += --disable-vaapi +KODI_CONF_OPTS += -DENABLE_VAAPI=OFF endif ifeq ($(BR2_PACKAGE_KODI_LIBVDPAU),y) KODI_DEPENDENCIES += libvdpau -KODI_CONF_OPTS += --enable-vdpau +KODI_CONF_OPTS += -DENABLE_VDPAU=ON else -KODI_CONF_OPTS += --disable-vdpau +KODI_CONF_OPTS += -DENABLE_VDPAU=OFF endif ifeq ($(BR2_PACKAGE_KODI_UPNP),y) -KODI_CONF_OPTS += --enable-upnp +KODI_CONF_OPTS += -DENABLE_UPNP=ON else -KODI_CONF_OPTS += --disable-upnp +KODI_CONF_OPTS += -DENABLE_UPNP=OFF endif ifeq ($(BR2_PACKAGE_KODI_OPTICALDRIVE),y) -KODI_CONF_OPTS += --enable-optical-drive --enable-dvdcss +KODI_CONF_OPTS += -DENABLE_OPTICAL=ON else -KODI_CONF_OPTS += --disable-optical-drive --disable-dvdcss +KODI_CONF_OPTS += -DENABLE_OPTICAL=OFF endif -# Add HOST_DIR to PATH for codegenerator.mk to find swig -define KODI_BOOTSTRAP - $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D)/tools/depends/native/JsonSchemaBuilder - $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D)/tools/depends/native/TexturePacker - cd $(@D) && PATH=$(BR_PATH) ./bootstrap -endef -KODI_PRE_CONFIGURE_HOOKS += KODI_BOOTSTRAP +ifeq ($(BR2_PACKAGE_KODI_PULSEAUDIO),y) +KODI_CONF_OPTS += -DENABLE_PULSEAUDIO=ON +KODI_DEPENDENCIES += pulseaudio +else +KODI_CONF_OPTS += -DENABLE_PULSEAUDIO=OFF +endif +# Remove versioncheck addon, updating Kodi is done by building a new +# buildroot image. +KODI_ADDON_MANIFEST = $(TARGET_DIR)/usr/share/kodi/system/addon-manifest.xml define KODI_CLEAN_UNUSED_ADDONS - rm -Rf $(TARGET_DIR)/usr/share/kodi/addons/visualization.milkdrop - rm -Rf $(TARGET_DIR)/usr/share/kodi/addons/visualization.projectm - rm -Rf $(TARGET_DIR)/usr/share/kodi/addons/visualization.itunes + rm -Rf $(TARGET_DIR)/usr/share/kodi/addons/service.xbmc.versioncheck + $(HOST_DIR)/bin/xml ed -L \ + -d "/addons/addon[text()='service.xbmc.versioncheck']" \ + $(KODI_ADDON_MANIFEST) endef KODI_POST_INSTALL_TARGET_HOOKS += KODI_CLEAN_UNUSED_ADDONS -define KODI_CLEAN_CONFLUENCE_SKIN - find $(TARGET_DIR)/usr/share/kodi/addons/skin.confluence/media -name *.png -delete - find $(TARGET_DIR)/usr/share/kodi/addons/skin.confluence/media -name *.jpg -delete -endef -KODI_POST_INSTALL_TARGET_HOOKS += KODI_CLEAN_CONFLUENCE_SKIN - define KODI_INSTALL_BR_WRAPPER $(INSTALL) -D -m 0755 package/kodi/br-kodi \ $(TARGET_DIR)/usr/bin/br-kodi @@ -327,4 +417,4 @@ define KODI_INSTALL_INIT_SYSTEMD $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/kodi.service endef -$(eval $(autotools-package)) +$(eval $(cmake-package)) diff --git a/package/kompexsqlite/kompexsqlite.mk b/package/kompexsqlite/kompexsqlite.mk index 7f57680af5..51b80aa86b 100644 --- a/package/kompexsqlite/kompexsqlite.mk +++ b/package/kompexsqlite/kompexsqlite.mk @@ -8,7 +8,7 @@ KOMPEXSQLITE_VERSION = v1.10.12-1 KOMPEXSQLITE_SOURCE = $(KOMPEXSQLITE_VERSION).tar.gz KOMPEXSQLITE_SITE = https://github.com/Aethelflaed/kompex-sqlite-wrapper/archive KOMPEXSQLITE_INSTALL_STAGING = YES -KOMPEXSQLITE_LICENSE = LGPLv3+ (wrapper), Public Domain (bundled sqlite) +KOMPEXSQLITE_LICENSE = LGPL-3.0+ (wrapper), Public Domain (bundled sqlite) KOMPEXSQLITE_LICENSE_FILES = LICENSE.txt $(eval $(autotools-package)) diff --git a/package/ktap/Config.in b/package/ktap/Config.in index c85522846a..38293f6dde 100644 --- a/package/ktap/Config.in +++ b/package/ktap/Config.in @@ -5,21 +5,22 @@ config BR2_PACKAGE_KTAP help ktap is a script-based dynamic tracing tool for Linux - It uses a scripting language and lets users trace the Linux kernel - dynamically. ktap is designed to give operational insights with - interoperability that allows users to tune, troubleshoot and extend - kernel and application. It's similar to Linux Systemtap and - Solaris Dtrace. + It uses a scripting language and lets users trace the Linux + kernel dynamically. ktap is designed to give operational + insights with interoperability that allows users to tune, + troubleshoot and extend kernel and application. + It's similar to Linux Systemtap and Solaris Dtrace. ktap doesn't support kernels older than 3.1. - To be able to resolve symbols in DSO and for sdt, you need to enable - elfutils. + To be able to resolve symbols in DSO and for sdt, you need to + enable elfutils. Your kernel must have CONFIG_EVENT_TRACING, CONFIG_PERF_EVENTS, and CONFIG_DEBUG_FS enabled to compile. - Buildroot automatically enables these in the kernel configuration. + Buildroot automatically enables these in the kernel + configuration. http://www.ktap.org diff --git a/package/ktap/ktap.mk b/package/ktap/ktap.mk index 966b51c9a1..b9b3dbcc53 100644 --- a/package/ktap/ktap.mk +++ b/package/ktap/ktap.mk @@ -6,7 +6,7 @@ KTAP_VERSION = eb66d40310c93dc82bc8eac889744c1ed1f01f7b KTAP_SITE = $(call github,ktap,ktap,$(KTAP_VERSION)) -KTAP_LICENSE = GPLv2 +KTAP_LICENSE = GPL-2.0 KTAP_LICENSE_FILES = LICENSE-GPL ifeq ($(BR2_PACKAGE_ELFUTILS),y) diff --git a/package/kvazaar/0001-Modify-and-use-FILL_ARRAY-macro-to-prevent-warning-o.patch b/package/kvazaar/0001-Modify-and-use-FILL_ARRAY-macro-to-prevent-warning-o.patch new file mode 100644 index 0000000000..633da8b36d --- /dev/null +++ b/package/kvazaar/0001-Modify-and-use-FILL_ARRAY-macro-to-prevent-warning-o.patch @@ -0,0 +1,56 @@ +From 47a9f0de049e77e866ea5bdd4bc7c795ea6dd641 Mon Sep 17 00:00:00 2001 +From: Ari Lemmetti +Date: Tue, 11 Apr 2017 12:57:22 +0300 +Subject: [PATCH] Modify and use FILL_ARRAY macro to prevent warning on GCC 7 + +Following warning was given and is false positive + +error: 'memset' used with length equal to number of elements without multiplication by element size [-Werror=memset-elt-size] + +Signed-off-by: Baruch Siach +--- +Upstream commit 47a9f0de049e7. + + src/global.h | 6 +++++- + src/rdo.c | 8 ++++---- + 2 files changed, 9 insertions(+), 5 deletions(-) + +diff --git a/src/global.h b/src/global.h +index bedcd49c2e02..518167443f35 100644 +--- a/src/global.h ++++ b/src/global.h +@@ -219,7 +219,11 @@ typedef int16_t coeff_t; + // Fill a structure or a static array with val bytes. + #define FILL(var, val) memset(&(var), (val), sizeof(var)) + // Fill a number of elements in an array with val bytes. +-#define FILL_ARRAY(ar, val, size) memset((ar), (val), (size) * sizeof(*(ar))) ++#define FILL_ARRAY(ar, val, size) \ ++{\ ++ void *temp_ptr = (void*)(ar);\ ++ memset((temp_ptr), (val), (size) * sizeof(*(ar)));\ ++} + + #define FREE_POINTER(pointer) { free((void*)pointer); pointer = NULL; } + #define MOVE_POINTER(dst_pointer,src_pointer) { dst_pointer = src_pointer; src_pointer = NULL; } +diff --git a/src/rdo.c b/src/rdo.c +index 52305fd72fab..2579f2808441 100644 +--- a/src/rdo.c ++++ b/src/rdo.c +@@ -558,10 +558,10 @@ void kvz_rdoq(encoder_state_t * const state, coeff_t *coef, coeff_t *dest_coeff, + // Explicitly tell the only possible numbers of elements to be zeroed. + // Hope the compiler is able to utilize this information. + switch (cg_num) { +- case 1: memset(sig_coeffgroup_flag, 0, 1 * sizeof(sig_coeffgroup_flag[0])); break; +- case 4: memset(sig_coeffgroup_flag, 0, 4 * sizeof(sig_coeffgroup_flag[0])); break; +- case 16: memset(sig_coeffgroup_flag, 0, 16 * sizeof(sig_coeffgroup_flag[0])); break; +- case 64: memset(sig_coeffgroup_flag, 0, 64 * sizeof(sig_coeffgroup_flag[0])); break; ++ case 1: FILL_ARRAY(sig_coeffgroup_flag, 0, 1); break; ++ case 4: FILL_ARRAY(sig_coeffgroup_flag, 0, 4); break; ++ case 16: FILL_ARRAY(sig_coeffgroup_flag, 0, 16); break; ++ case 64: FILL_ARRAY(sig_coeffgroup_flag, 0, 64); break; + default: assert(0 && "There should be 1, 4, 16 or 64 coefficient groups"); + } + +-- +2.13.2 + diff --git a/package/kvazaar/Config.in b/package/kvazaar/Config.in new file mode 100644 index 0000000000..558d161e12 --- /dev/null +++ b/package/kvazaar/Config.in @@ -0,0 +1,16 @@ +config BR2_PACKAGE_KVAZAAR + bool "kvazaar" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + # use deprecated altivec vec_lvsl() + depends on !BR2_powerpc && !BR2_powerpc64 && !BR2_powerpc64le + help + An open-source HEVC encoder licensed under LGPLv2.1 + + https://github.com/ultravideo/kvazaar + +comment "kvazaar needs a toolchain w/ C++, threads" + depends on !BR2_powerpc && !BR2_powerpc64 && !BR2_powerpc64le + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/kvazaar/kvazaar.hash b/package/kvazaar/kvazaar.hash new file mode 100644 index 0000000000..80f480b5d5 --- /dev/null +++ b/package/kvazaar/kvazaar.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 8e382738a51004bfcfca4c832e8b41fe6a17f889f3c39151dc1c1a37261a3a6d kvazaar-v1.1.0.tar.gz diff --git a/package/kvazaar/kvazaar.mk b/package/kvazaar/kvazaar.mk new file mode 100644 index 0000000000..f9149a781f --- /dev/null +++ b/package/kvazaar/kvazaar.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# kvazaar +# +################################################################################ + +KVAZAAR_VERSION = v1.1.0 +KVAZAAR_SITE = $(call github,ultravideo,kvazaar,$(KVAZAAR_VERSION)) +KVAZAAR_LICENSE = LGPL-2.1+ +KVAZAAR_LICENSE_FILES = COPYING +KVAZAAR_AUTORECONF = YES +KVAZAAR_INSTALL_STAGING = YES +KVAZAAR_DEPENDENCIES = host-pkgconf +KVAZAAR_CONF_OPTS = --without-cryptopp + +$(eval $(autotools-package)) diff --git a/package/kvm-unit-tests/0001-Makefile-remove-Werror-to-avoid-build-failures.patch b/package/kvm-unit-tests/0001-Makefile-remove-Werror-to-avoid-build-failures.patch new file mode 100644 index 0000000000..b1ea09272e --- /dev/null +++ b/package/kvm-unit-tests/0001-Makefile-remove-Werror-to-avoid-build-failures.patch @@ -0,0 +1,26 @@ +From 08e14a662b9e75daec29722e49150869952ba1b6 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Mon, 20 Nov 2017 22:09:39 +0100 +Subject: [PATCH] Makefile: remove -Werror to avoid build failures + +Signed-off-by: Thomas Petazzoni +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 16ce297..909498e 100644 +--- a/Makefile ++++ b/Makefile +@@ -45,7 +45,7 @@ cc-option = $(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null \ + > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ;) + + CFLAGS += -g +-CFLAGS += $(autodepend-flags) -Wall -Werror ++CFLAGS += $(autodepend-flags) -Wall + frame-pointer-flag=-f$(if $(KEEP_FRAME_POINTER),no-,)omit-frame-pointer + fomit_frame_pointer := $(call cc-option, $(frame-pointer-flag), "") + fnostack_protector := $(call cc-option, -fno-stack-protector, "") +-- +2.13.6 + diff --git a/package/kvm-unit-tests/0001-remove-werror.patch b/package/kvm-unit-tests/0001-remove-werror.patch deleted file mode 100644 index 058a640d76..0000000000 --- a/package/kvm-unit-tests/0001-remove-werror.patch +++ /dev/null @@ -1,17 +0,0 @@ -Remove -Werror to avoid build failures - -Signed-off-by: Thomas Petazzoni - -Index: b/Makefile -=================================================================== ---- a/Makefile -+++ b/Makefile -@@ -45,7 +45,7 @@ - > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ;) - - CFLAGS += -g --CFLAGS += $(autodepend-flags) -Wall -Werror -Wno-frame-address -+CFLAGS += $(autodepend-flags) -Wall -Wno-frame-address - frame-pointer-flag=-f$(if $(KEEP_FRAME_POINTER),no-,)omit-frame-pointer - fomit_frame_pointer := $(call cc-option, $(frame-pointer-flag), "") - fnostack_protector := $(call cc-option, -fno-stack-protector, "") diff --git a/package/kvm-unit-tests/0001-x86-hyperv_clock-be-explicit-about-mul-instruction-d.patch b/package/kvm-unit-tests/0001-x86-hyperv_clock-be-explicit-about-mul-instruction-d.patch new file mode 100644 index 0000000000..c8ee6b1ac4 --- /dev/null +++ b/package/kvm-unit-tests/0001-x86-hyperv_clock-be-explicit-about-mul-instruction-d.patch @@ -0,0 +1,35 @@ +From 022ae220d6e7b5bd064bc8698c271dca4dac7d8c Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Mon, 8 May 2017 22:27:25 +0200 +Subject: [PATCH] x86/hyperv_clock: be explicit about mul instruction data size + +With gcc 4.7.2, the build fails with: + +x86/hyperv_clock.c: Assembler messages: +x86/hyperv_clock.c:21: Error: no instruction mnemonic suffix given and no register operands; can't size instruction + +In order to avoid this, make the mul instruction data size explicit by +adding the appropriate suffix. It operates on 64-bit data, so use +"mulq". + +Signed-off-by: Thomas Petazzoni +--- + x86/hyperv_clock.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/x86/hyperv_clock.c b/x86/hyperv_clock.c +index 8b1deba..6c4dd56 100644 +--- a/x86/hyperv_clock.c ++++ b/x86/hyperv_clock.c +@@ -19,7 +19,7 @@ static inline u64 scale_delta(u64 delta, u64 mul_frac) + u64 product, unused; + + __asm__ ( +- "mul %3" ++ "mulq %3" + : "=d" (product), "=a" (unused) : "1" (delta), "rm" ((u64)mul_frac) ); + + return product; +-- +2.7.4 + diff --git a/package/kvm-unit-tests/Config.in b/package/kvm-unit-tests/Config.in index 72656462e1..8b7908eee9 100644 --- a/package/kvm-unit-tests/Config.in +++ b/package/kvm-unit-tests/Config.in @@ -1,16 +1,22 @@ +config BR2_PACKAGE_KVM_UNIT_TESTS_ARCH_SUPPORTS + bool + # On ARM, it uses virtualization extensions + default y if BR2_cortex_a7 || BR2_cortex_a12 || \ + BR2_cortex_a15 || BR2_cortex_a15_a7 || \ + BR2_cortex_a17 || BR2_cortex_a17_a7 + default y if BR2_i386 || BR2_x86_64 + default y if BR2_powerpc64 || BR2_powerpc64le + config BR2_PACKAGE_KVM_UNIT_TESTS bool "kvm-unit-tests" - select BR2_HOSTARCH_NEEDS_IA32_COMPILER if BR2_x86_64=y + depends on BR2_PACKAGE_KVM_UNIT_TESTS_ARCH_SUPPORTS # on i386 and x86-64, __builtin_reachable is used, so we need # gcc 4.5 at least. on i386, we use the target gcc, while on # x86-64 we use the host gcc (see .mk file for details) - # On ARM, it uses virtualization extensions - depends on BR2_cortex_a7 || BR2_cortex_a12 || \ - BR2_cortex_a15 || BR2_cortex_a17 || \ - (BR2_i386 && BR2_TOOLCHAIN_GCC_AT_LEAST_4_5) || \ - BR2_powerpc64 || \ - BR2_powerpc64le || \ - (BR2_x86_64 && BR2_HOST_GCC_AT_LEAST_4_5) + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 || !BR2_i386 + depends on BR2_HOST_GCC_AT_LEAST_4_5 || !BR2_x86_64 + depends on BR2_HOSTARCH = "x86_64" || !BR2_x86_64 + select BR2_HOSTARCH_NEEDS_IA32_COMPILER if BR2_x86_64=y help kvm-unit-tests is a project as old as KVM. As its name suggests, it's purpose is to provide unit tests for KVM. The @@ -28,3 +34,11 @@ config BR2_PACKAGE_KVM_UNIT_TESTS features are submitted with accompanying unit tests. http://www.linux-kvm.org/page/KVM-unit-tests + +comment "kvm-unit-tests needs a toolchain w/ gcc >= 4.5" + depends on BR2_i386 + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 + +comment "kvm-unit-tests needs a host gcc >= 4.5" + depends on BR2_x86_64 + depends on !BR2_HOST_GCC_AT_LEAST_4_5 diff --git a/package/kvm-unit-tests/kvm-unit-tests.hash b/package/kvm-unit-tests/kvm-unit-tests.hash new file mode 100644 index 0000000000..2a4cfe021a --- /dev/null +++ b/package/kvm-unit-tests/kvm-unit-tests.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 ccb9ff17a2c7d6c7d50b4b71b87381181b45484187100ae5b1ac54d9d61e8666 kvm-unit-tests-95062c20790d82713bfa7475b61a4adef3f3645a.tar.gz diff --git a/package/kvm-unit-tests/kvm-unit-tests.mk b/package/kvm-unit-tests/kvm-unit-tests.mk index 0ddb017802..c630ec6270 100644 --- a/package/kvm-unit-tests/kvm-unit-tests.mk +++ b/package/kvm-unit-tests/kvm-unit-tests.mk @@ -4,10 +4,10 @@ # ################################################################################ -KVM_UNIT_TESTS_VERSION = 5731572b2ac23eb410732110b93425b5bb7f27dd +KVM_UNIT_TESTS_VERSION = 95062c20790d82713bfa7475b61a4adef3f3645a KVM_UNIT_TESTS_SITE = $(BR2_KERNEL_MIRROR)/scm/virt/kvm/kvm-unit-tests.git KVM_UNIT_TESTS_SITE_METHOD = git -KVM_UNIT_TESTS_LICENSE = LGPLv2 +KVM_UNIT_TESTS_LICENSE = LGPL-2.0 KVM_UNIT_TESTS_LICENSE_FILES = COPYRIGHT ifeq ($(BR2_arm),y) diff --git a/package/kvmtool/0001-avoid-redefining-PAGE_SIZE.patch b/package/kvmtool/0001-avoid-redefining-PAGE_SIZE.patch new file mode 100644 index 0000000000..ed3370cfc8 --- /dev/null +++ b/package/kvmtool/0001-avoid-redefining-PAGE_SIZE.patch @@ -0,0 +1,42 @@ +From bec1b0ced72dc0d49825d6b69d09296d13fd0af3 Mon Sep 17 00:00:00 2001 +From: Andre Przywara +Date: Tue, 21 Jul 2015 10:58:46 +0100 +Subject: [PATCH] avoid redefining PAGE_SIZE + +PAGE_SIZE may have been defined by the C libary (musl-libc does that). +So avoid redefining it here unconditionally, instead only use our +definition if none has been provided by the libc. + +Signed-off-by: Andre Przywara +Signed-off-by: Will Deacon +[backport from upstream commit 4095fac878f618ae5e7384a1dc65ee34b6e05217.] +Signed-off-by: Thomas Petazzoni +--- + include/kvm/kvm.h | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/include/kvm/kvm.h b/include/kvm/kvm.h +index 754e029..37155db 100644 +--- a/include/kvm/kvm.h ++++ b/include/kvm/kvm.h +@@ -11,6 +11,7 @@ + #include + #include + #include ++#include + + #define SIGKVMEXIT (SIGRTMIN + 0) + #define SIGKVMPAUSE (SIGRTMIN + 1) +@@ -19,7 +20,9 @@ + #define HOME_DIR getenv("HOME") + #define KVM_BINARY_NAME "lkvm" + ++#ifndef PAGE_SIZE + #define PAGE_SIZE (sysconf(_SC_PAGE_SIZE)) ++#endif + + #define DEFINE_KVM_EXT(ext) \ + .name = #ext, \ +-- +2.9.4 + diff --git a/package/kvmtool/0002-x86-kvm-cpu.c-don-t-include-asm-msr-index.h.patch b/package/kvmtool/0002-x86-kvm-cpu.c-don-t-include-asm-msr-index.h.patch new file mode 100644 index 0000000000..842c131dc5 --- /dev/null +++ b/package/kvmtool/0002-x86-kvm-cpu.c-don-t-include-asm-msr-index.h.patch @@ -0,0 +1,58 @@ +From ce9abb649165aca728e4645ce09e7bb77e684b06 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 19 Aug 2017 16:35:59 +0200 +Subject: [PATCH] x86/kvm-cpu.c: don't include + +Since kernel commit 25dc1d6cc3082aab293e5dad47623b550f7ddd2a ("x86: +stop exporting msr-index.h to userland"), is no +longer exported to userspace. Therefore, any toolchain built with +kernel headers >= 4.12 will no longer have this header file, causing a +build failure in kvmtool. + +As a replacement, this patch includes inside x86/kvm-cpu.c the +necessary MSR_* definitions. + +Signed-off-by: Thomas Petazzoni +Submitted-upstream: https://patchwork.kernel.org/patch/9910687/ +--- + x86/kvm-cpu.c | 17 ++++++++++++++++- + 1 file changed, 16 insertions(+), 1 deletion(-) + +diff --git a/x86/kvm-cpu.c b/x86/kvm-cpu.c +index 5cc4e1e..b02ff65 100644 +--- a/x86/kvm-cpu.c ++++ b/x86/kvm-cpu.c +@@ -4,7 +4,6 @@ + #include "kvm/util.h" + #include "kvm/kvm.h" + +-#include + #include + #include + #include +@@ -136,6 +135,22 @@ static struct kvm_msrs *kvm_msrs__new(size_t nmsrs) + return vcpu; + } + ++#define MSR_IA32_SYSENTER_CS 0x00000174 ++#define MSR_IA32_SYSENTER_ESP 0x00000175 ++#define MSR_IA32_SYSENTER_EIP 0x00000176 ++ ++#define MSR_STAR 0xc0000081 /* legacy mode SYSCALL target */ ++#define MSR_LSTAR 0xc0000082 /* long mode SYSCALL target */ ++#define MSR_CSTAR 0xc0000083 /* compat mode SYSCALL target */ ++#define MSR_SYSCALL_MASK 0xc0000084 /* EFLAGS mask for syscall */ ++#define MSR_KERNEL_GS_BASE 0xc0000102 /* SwapGS GS shadow */ ++ ++#define MSR_IA32_TSC 0x00000010 ++#define MSR_IA32_MISC_ENABLE 0x000001a0 ++ ++#define MSR_IA32_MISC_ENABLE_FAST_STRING_BIT 0 ++#define MSR_IA32_MISC_ENABLE_FAST_STRING (1ULL << MSR_IA32_MISC_ENABLE_FAST_STRING_BIT) ++ + #define KVM_MSR_ENTRY(_index, _data) \ + (struct kvm_msr_entry) { .index = _index, .data = _data } + +-- +2.9.4 + diff --git a/package/kvmtool/0003-use-poll.h-instead-of-sys-poll.h.patch b/package/kvmtool/0003-use-poll.h-instead-of-sys-poll.h.patch new file mode 100644 index 0000000000..a358569b67 --- /dev/null +++ b/package/kvmtool/0003-use-poll.h-instead-of-sys-poll.h.patch @@ -0,0 +1,33 @@ +From 19490e24895df95253e43a7aacf3ef408b830bd5 Mon Sep 17 00:00:00 2001 +From: Andre Przywara +Date: Fri, 17 Jul 2015 17:02:15 +0100 +Subject: [PATCH] use instead of + +The manpage of poll(2) states that the prototype of poll is defined +in . Use that header file instead of to allow +compilation against musl-libc. + +Signed-off-by: Andre Przywara +Signed-off-by: Will Deacon +[backport from upstream commit 52c22e6e64a94cc701d86587d32cd3822ac5c293.] +Signed-off-by: Thomas Petazzoni +--- + disk/core.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/disk/core.c b/disk/core.c +index 309e16c..dd2f258 100644 +--- a/disk/core.c ++++ b/disk/core.c +@@ -5,7 +5,7 @@ + + #include + #include +-#include ++#include + + #define AIO_MAX 256 + +-- +2.9.4 + diff --git a/package/kvmtool/0004-check-for-and-use-C-library-provided-strlcpy-and-str.patch b/package/kvmtool/0004-check-for-and-use-C-library-provided-strlcpy-and-str.patch new file mode 100644 index 0000000000..d0591b9e4d --- /dev/null +++ b/package/kvmtool/0004-check-for-and-use-C-library-provided-strlcpy-and-str.patch @@ -0,0 +1,90 @@ +From 7a9c16dcf58ff4c8154f3a9dfa1f02ec3daa1662 Mon Sep 17 00:00:00 2001 +From: Andre Przywara +Date: Fri, 17 Jul 2015 17:02:16 +0100 +Subject: [PATCH] check for and use C library provided strlcpy and strlcat + +The musl-libc library provides implementations of strlcpy and strlcat, +so introduce a feature check for it and only use the kvmtool +implementation if there is no library support for it. +This avoids clashes with the public definition. + +Signed-off-by: Andre Przywara +Signed-off-by: Will Deacon +[backport from upstream commit 8f22adc4230f07980a318ad1662fba5af0c131c1.] +Signed-off-by: Thomas Petazzoni +--- + Makefile | 5 +++++ + config/feature-tests.mak | 10 ++++++++++ + include/kvm/strbuf.h | 2 ++ + util/strbuf.c | 2 ++ + 4 files changed, 19 insertions(+) + +diff --git a/Makefile b/Makefile +index 151fa9d..bf71db4 100644 +--- a/Makefile ++++ b/Makefile +@@ -199,6 +199,11 @@ endif + # On a given system, some libs may link statically, some may not; so, check + # both and only build those that link! + ++ifeq ($(call try-build,$(SOURCE_STRLCPY),$(CFLAGS),),y) ++ CFLAGS_DYNOPT += -DHAVE_STRLCPY ++ CFLAGS_STATOPT += -DHAVE_STRLCPY ++endif ++ + ifeq ($(call try-build,$(SOURCE_BFD),$(CFLAGS),-lbfd -static),y) + CFLAGS_STATOPT += -DCONFIG_HAS_BFD + OBJS_STATOPT += symbol.o +diff --git a/config/feature-tests.mak b/config/feature-tests.mak +index 6bee6c2..03cdb42 100644 +--- a/config/feature-tests.mak ++++ b/config/feature-tests.mak +@@ -196,3 +196,13 @@ int main(void) + return 0; + } + endef ++ ++define SOURCE_STRLCPY ++#include ++ ++int main(void) ++{ ++ strlcpy(NULL, NULL, 0); ++ return 0; ++} ++endef +diff --git a/include/kvm/strbuf.h b/include/kvm/strbuf.h +index 2beefbc..7657339 100644 +--- a/include/kvm/strbuf.h ++++ b/include/kvm/strbuf.h +@@ -6,8 +6,10 @@ + + int prefixcmp(const char *str, const char *prefix); + ++#ifndef HAVE_STRLCPY + extern size_t strlcat(char *dest, const char *src, size_t count); + extern size_t strlcpy(char *dest, const char *src, size_t size); ++#endif + + /* some inline functions */ + +diff --git a/util/strbuf.c b/util/strbuf.c +index 99d6b0c..2c6e8ad 100644 +--- a/util/strbuf.c ++++ b/util/strbuf.c +@@ -13,6 +13,7 @@ int prefixcmp(const char *str, const char *prefix) + } + } + ++#ifndef HAVE_STRLCPY + /** + * strlcat - Append a length-limited, %NUL-terminated string to another + * @dest: The string to be appended to +@@ -60,3 +61,4 @@ size_t strlcpy(char *dest, const char *src, size_t size) + } + return ret; + } ++#endif +-- +2.9.4 + diff --git a/package/kvmtool/0005-Fix-call-to-connect.patch b/package/kvmtool/0005-Fix-call-to-connect.patch new file mode 100644 index 0000000000..434ca34b2f --- /dev/null +++ b/package/kvmtool/0005-Fix-call-to-connect.patch @@ -0,0 +1,34 @@ +From d375235f49184371026791ae8f6f9dc307de8a61 Mon Sep 17 00:00:00 2001 +From: Andre Przywara +Date: Fri, 17 Jul 2015 17:02:14 +0100 +Subject: [PATCH] Fix call to connect() + +According to the manpage and the prototype the second argument to +connect(2) is a "const struct sockaddr*", so cast our protocol +specific type back to the super type. +This fixes compilation on musl-libc. + +Signed-off-by: Andre Przywara +Signed-off-by: Will Deacon +[backport from upstream commit d77bd4f466f341d4b35fe8b91176ef8a37160e19.] +Signed-off-by: Thomas Petazzoni +--- + kvm-ipc.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/kvm-ipc.c b/kvm-ipc.c +index b1c43dd..5a0b6e0 100644 +--- a/kvm-ipc.c ++++ b/kvm-ipc.c +@@ -99,7 +99,7 @@ int kvm__get_sock_by_instance(const char *name) + strlcpy(local.sun_path, sock_file, sizeof(local.sun_path)); + len = strlen(local.sun_path) + sizeof(local.sun_family); + +- r = connect(s, &local, len); ++ r = connect(s, (struct sockaddr *)&local, len); + if (r < 0 && errno == ECONNREFUSED) { + /* Tell the user clean ghost socket file */ + pr_err("\"%s\" could be a ghost socket file, please remove it", +-- +2.9.4 + diff --git a/package/kvmtool/Config.in b/package/kvmtool/Config.in index d2290c5d8c..bf19a25376 100644 --- a/package/kvmtool/Config.in +++ b/package/kvmtool/Config.in @@ -14,8 +14,8 @@ config BR2_PACKAGE_KVMTOOL help kvmtool is a lightweight tool for hosting KVM guests. As a pure virtualization tool it only supports guests using - the same architecture, though it supports running 32-bit guests - on those 64-bit architectures that allow this. + the same architecture, though it supports running 32-bit + guests on those 64-bit architectures that allow this. https://git.kernel.org/cgit/linux/kernel/git/will/kvmtool.git/tree/README diff --git a/package/kvmtool/kvmtool.hash b/package/kvmtool/kvmtool.hash new file mode 100644 index 0000000000..657fdb315e --- /dev/null +++ b/package/kvmtool/kvmtool.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 5633d8dd1542996108bf9b75c9f2cf6bf13fb27bfd453ec250b3e5405e85f6ac kvmtool-bed2bd9e1fbef5819090feeada7b86eed97ca5e2.tar.gz diff --git a/package/kvmtool/kvmtool.mk b/package/kvmtool/kvmtool.mk index 12454e1bfd..2789a6e308 100644 --- a/package/kvmtool/kvmtool.mk +++ b/package/kvmtool/kvmtool.mk @@ -15,7 +15,7 @@ KVMTOOL_DEPENDENCIES = \ $(if $(BR2_PACKAGE_LIBVNCSERVER),libvncserver) \ $(if $(BR2_PACKAGE_SDL),sdl) \ $(if $(BR2_PACKAGE_ZLIB),zlib) -KVMTOOL_LICENSE = GPLv2 +KVMTOOL_LICENSE = GPL-2.0 KVMTOOL_LICENSE_FILES = COPYING # This is required to convert a static binary (init helper) back into diff --git a/package/kyua/Config.in b/package/kyua/Config.in index 4f887b0e0a..4fc5e098ad 100644 --- a/package/kyua/Config.in +++ b/package/kyua/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_KYUA depends on BR2_INSTALL_LIBSTDCPP depends on BR2_PACKAGE_HAS_LUAINTERPRETER # lutok depends on !BR2_PACKAGE_LUAJIT # lutok + depends on !BR2_STATIC_LIBS # lutok depends on BR2_USE_MMU # atf select BR2_PACKAGE_ATF select BR2_PACKAGE_LUTOK @@ -16,7 +17,7 @@ config BR2_PACKAGE_KYUA https://github.com/jmmv/kyua -comment "kyua needs a toolchain w/ C++ and full Lua" - depends on !BR2_INSTALL_LIBSTDCPP || BR2_PACKAGE_LUAJIT +comment "kyua needs a toolchain w/ C++, dynamic library and full Lua" + depends on !BR2_INSTALL_LIBSTDCPP || BR2_PACKAGE_LUAJIT || BR2_STATIC_LIBS depends on BR2_PACKAGE_HAS_LUAINTERPRETER depends on BR2_USE_MMU diff --git a/package/kyua/kyua.mk b/package/kyua/kyua.mk index c75a09fbc8..9e1c810ac4 100644 --- a/package/kyua/kyua.mk +++ b/package/kyua/kyua.mk @@ -8,7 +8,7 @@ KYUA_VERSION = 0.11 KYUA_SITE = https://github.com/jmmv/kyua/releases/download/kyua-$(KYUA_VERSION) KYUA_DEPENDENCIES = host-pkgconf atf lutok sqlite KYUA_CONF_OPTS = --without-doxygen --without-atf -KYUA_LICENSE = BSD-3c +KYUA_LICENSE = BSD-3-Clause KYUA_LICENSE_FILES = COPYING KYUA_CONF_ENV = \ kyua_cv_attribute_noreturn=yes \ diff --git a/package/lame/0001-configure.patch b/package/lame/0001-configure.patch deleted file mode 100644 index 7e407f28c0..0000000000 --- a/package/lame/0001-configure.patch +++ /dev/null @@ -1,69 +0,0 @@ -Various patches to fix autoreconf errors. - -All patches besides -- AM_ICONV in configure.in -are already applied upstream: -http://lame.cvs.sourceforge.net/viewvc/lame/lame/configure.in?r1=1.145&r2=1.146 -http://lame.cvs.sourceforge.net/viewvc/lame/lame/doc/html/Makefile.am?r1=1.8&r2=1.9 -http://lame.cvs.sourceforge.net/viewvc/lame/lame/doc/man/Makefile.am?r1=1.1&r2=1.2 - -libmp3lame/i386/Makefile.am patch ported from Debian -http://anonscm.debian.org/cgit/pkg-multimedia/lame.git/tree/debian/patches/ansi2knr2devnull.patch - -Signed-off-by: Bernd Kuhls - -diff -uNr lame-3.99.5.org/configure.in lame-3.99.5/configure.in ---- lame-3.99.5.org/configure.in 2012-02-28 19:50:27.000000000 +0100 -+++ lame-3.99.5/configure.in 2015-04-11 11:36:15.464835008 +0200 -@@ -77,9 +77,6 @@ - AC_MSG_RESULT(${GCC_version}) - fi - --dnl more automake stuff --AM_C_PROTOTYPES -- - AC_CHECK_HEADER(dmalloc.h) - if test "${ac_cv_header_dmalloc_h}" = "yes"; then - AM_WITH_DMALLOC -@@ -376,8 +373,6 @@ - AC_CHECK_LIB(curses, initscr, HAVE_TERMCAP="curses") - AC_CHECK_LIB(ncurses, initscr, HAVE_TERMCAP="ncurses") - --AM_ICONV -- - dnl math lib - AC_CHECK_LIB(m, cos, USE_LIBM="-lm") - dnl free fast math library -diff -uNr lame-3.99.5.org/doc/html/Makefile.am lame-3.99.5/doc/html/Makefile.am ---- lame-3.99.5.org/doc/html/Makefile.am 2010-09-30 22:58:40.000000000 +0200 -+++ lame-3.99.5/doc/html/Makefile.am 2015-04-11 11:37:02.880239754 +0200 -@@ -1,6 +1,6 @@ - ## $Id: Makefile.am,v 1.7 2010/09/30 20:58:40 jaz001 Exp $ - --AUTOMAKE_OPTIONS = foreign ansi2knr -+AUTOMAKE_OPTIONS = foreign - - docdir = $(datadir)/doc - pkgdocdir = $(docdir)/$(PACKAGE) -diff -uNr lame-3.99.5.org/doc/man/Makefile.am lame-3.99.5/doc/man/Makefile.am ---- lame-3.99.5.org/doc/man/Makefile.am 2000-10-22 13:39:44.000000000 +0200 -+++ lame-3.99.5/doc/man/Makefile.am 2015-04-11 11:37:08.704167318 +0200 -@@ -1,6 +1,6 @@ - ## $Id: Makefile.am,v 1.1 2000/10/22 11:39:44 aleidinger Exp $ - --AUTOMAKE_OPTIONS = foreign ansi2knr -+AUTOMAKE_OPTIONS = foreign - - man_MANS = lame.1 - EXTRA_DIST = ${man_MANS} -diff -uNr lame-3.99.5.org/libmp3lame/i386/Makefile.am lame-3.99.5/libmp3lame/i386/Makefile.am ---- lame-3.99.5.org/libmp3lame/i386/Makefile.am 2011-04-04 11:42:34.000000000 +0200 -+++ lame-3.99.5/libmp3lame/i386/Makefile.am 2015-04-11 11:37:35.191833351 +0200 -@@ -1,6 +1,6 @@ - ## $Id: Makefile.am,v 1.26 2011/04/04 09:42:34 aleidinger Exp $ - --AUTOMAKE_OPTIONS = foreign $(top_srcdir)/ansi2knr -+AUTOMAKE_OPTIONS = foreign - - DEFS = @DEFS@ @CONFIG_DEFS@ - diff --git a/package/lame/0002-gtk1-ac-directives.patch b/package/lame/0002-gtk1-ac-directives.patch deleted file mode 100644 index 858ee0baf8..0000000000 --- a/package/lame/0002-gtk1-ac-directives.patch +++ /dev/null @@ -1,210 +0,0 @@ -Include GTK-1 autoconf directives in build system. -Applied-Upstream: http://lame.cvs.sf.net/viewvc/lame/lame/acinclude.m4?r1=1.5&r2=1.6 - -Downloaded from -http://lame.cvs.sf.net/viewvc/lame/lame/acinclude.m4?r1=1.5&r2=1.6&view=patch - -to fix autoreconf. - -Signed-off-by: Bernd Kuhls - ---- a/acinclude.m4 2006/12/21 09:03:03 1.5 -+++ b/acinclude.m4 2012/06/18 20:51:05 1.6 -@@ -85,4 +85,197 @@ - [AC_MSG_WARN(can't check for IEEE854 compliant 80 bit floats)] - )])]) # alex_IEEE854_FLOAT80 - -+# Configure paths for GTK+ -+# Owen Taylor 97-11-3 - -+dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]]) -+dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS -+dnl -+AC_DEFUN([AM_PATH_GTK], -+[dnl -+dnl Get the cflags and libraries from the gtk-config script -+dnl -+AC_ARG_WITH(gtk-prefix,[ --with-gtk-prefix=PFX Prefix where GTK is installed (optional)], -+ gtk_config_prefix="$withval", gtk_config_prefix="") -+AC_ARG_WITH(gtk-exec-prefix,[ --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional)], -+ gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="") -+AC_ARG_ENABLE(gtktest, [ --disable-gtktest Do not try to compile and run a test GTK program], -+ , enable_gtktest=yes) -+ -+ for module in . $4 -+ do -+ case "$module" in -+ gthread) -+ gtk_config_args="$gtk_config_args gthread" -+ ;; -+ esac -+ done -+ -+ if test x$gtk_config_exec_prefix != x ; then -+ gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix" -+ if test x${GTK_CONFIG+set} != xset ; then -+ GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config -+ fi -+ fi -+ if test x$gtk_config_prefix != x ; then -+ gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix" -+ if test x${GTK_CONFIG+set} != xset ; then -+ GTK_CONFIG=$gtk_config_prefix/bin/gtk-config -+ fi -+ fi -+ -+ AC_PATH_PROG(GTK_CONFIG, gtk-config, no) -+ min_gtk_version=ifelse([$1], ,0.99.7,$1) -+ AC_MSG_CHECKING(for GTK - version >= $min_gtk_version) -+ no_gtk="" -+ if test "$GTK_CONFIG" = "no" ; then -+ no_gtk=yes -+ else -+ GTK_CFLAGS=`$GTK_CONFIG $gtk_config_args --cflags` -+ GTK_LIBS=`$GTK_CONFIG $gtk_config_args --libs` -+ gtk_config_major_version=`$GTK_CONFIG $gtk_config_args --version | \ -+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` -+ gtk_config_minor_version=`$GTK_CONFIG $gtk_config_args --version | \ -+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` -+ gtk_config_micro_version=`$GTK_CONFIG $gtk_config_args --version | \ -+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` -+ if test "x$enable_gtktest" = "xyes" ; then -+ ac_save_CFLAGS="$CFLAGS" -+ ac_save_LIBS="$LIBS" -+ CFLAGS="$CFLAGS $GTK_CFLAGS" -+ LIBS="$GTK_LIBS $LIBS" -+dnl -+dnl Now check if the installed GTK is sufficiently new. (Also sanity -+dnl checks the results of gtk-config to some extent -+dnl -+ rm -f conf.gtktest -+ AC_TRY_RUN([ -+#include -+#include -+#include -+ -+int -+main () -+{ -+ int major, minor, micro; -+ char *tmp_version; -+ -+ system ("touch conf.gtktest"); -+ -+ /* HP/UX 9 (%@#!) writes to sscanf strings */ -+ tmp_version = g_strdup("$min_gtk_version"); -+ if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { -+ printf("%s, bad version string\n", "$min_gtk_version"); -+ exit(1); -+ } -+ -+ if ((gtk_major_version != $gtk_config_major_version) || -+ (gtk_minor_version != $gtk_config_minor_version) || -+ (gtk_micro_version != $gtk_config_micro_version)) -+ { -+ printf("\n*** 'gtk-config --version' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n", -+ $gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version, -+ gtk_major_version, gtk_minor_version, gtk_micro_version); -+ printf ("*** was found! If gtk-config was correct, then it is best\n"); -+ printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n"); -+ printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n"); -+ printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n"); -+ printf("*** required on your system.\n"); -+ printf("*** If gtk-config was wrong, set the environment variable GTK_CONFIG\n"); -+ printf("*** to point to the correct copy of gtk-config, and remove the file config.cache\n"); -+ printf("*** before re-running configure\n"); -+ } -+#if defined (GTK_MAJOR_VERSION) && defined (GTK_MINOR_VERSION) && defined (GTK_MICRO_VERSION) -+ else if ((gtk_major_version != GTK_MAJOR_VERSION) || -+ (gtk_minor_version != GTK_MINOR_VERSION) || -+ (gtk_micro_version != GTK_MICRO_VERSION)) -+ { -+ printf("*** GTK+ header files (version %d.%d.%d) do not match\n", -+ GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION); -+ printf("*** library (version %d.%d.%d)\n", -+ gtk_major_version, gtk_minor_version, gtk_micro_version); -+ } -+#endif /* defined (GTK_MAJOR_VERSION) ... */ -+ else -+ { -+ if ((gtk_major_version > major) || -+ ((gtk_major_version == major) && (gtk_minor_version > minor)) || -+ ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro))) -+ { -+ return 0; -+ } -+ else -+ { -+ printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n", -+ gtk_major_version, gtk_minor_version, gtk_micro_version); -+ printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n", -+ major, minor, micro); -+ printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n"); -+ printf("***\n"); -+ printf("*** If you have already installed a sufficiently new version, this error\n"); -+ printf("*** probably means that the wrong copy of the gtk-config shell script is\n"); -+ printf("*** being found. The easiest way to fix this is to remove the old version\n"); -+ printf("*** of GTK+, but you can also set the GTK_CONFIG environment to point to the\n"); -+ printf("*** correct copy of gtk-config. (In this case, you will have to\n"); -+ printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); -+ printf("*** so that the correct libraries are found at run-time))\n"); -+ } -+ } -+ return 1; -+} -+],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) -+ CFLAGS="$ac_save_CFLAGS" -+ LIBS="$ac_save_LIBS" -+ fi -+ fi -+ if test "x$no_gtk" = x ; then -+ AC_MSG_RESULT(yes) -+ ifelse([$2], , :, [$2]) -+ else -+ AC_MSG_RESULT(no) -+ if test "$GTK_CONFIG" = "no" ; then -+ echo "*** The gtk-config script installed by GTK could not be found" -+ echo "*** If GTK was installed in PREFIX, make sure PREFIX/bin is in" -+ echo "*** your path, or set the GTK_CONFIG environment variable to the" -+ echo "*** full path to gtk-config." -+ else -+ if test -f conf.gtktest ; then -+ : -+ else -+ echo "*** Could not run GTK test program, checking why..." -+ CFLAGS="$CFLAGS $GTK_CFLAGS" -+ LIBS="$LIBS $GTK_LIBS" -+ AC_TRY_LINK([ -+#include -+#include -+], [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ], -+ [ echo "*** The test program compiled, but did not run. This usually means" -+ echo "*** that the run-time linker is not finding GTK or finding the wrong" -+ echo "*** version of GTK. If it is not finding GTK, you'll need to set your" -+ echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" -+ echo "*** to the installed location Also, make sure you have run ldconfig if that" -+ echo "*** is required on your system" -+ echo "***" -+ echo "*** If you have an old version installed, it is best to remove it, although" -+ echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" -+ echo "***" -+ echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that" -+ echo "*** came with the system with the command" -+ echo "***" -+ echo "*** rpm --erase --nodeps gtk gtk-devel" ], -+ [ echo "*** The test program failed to compile or link. See the file config.log for the" -+ echo "*** exact error that occured. This usually means GTK was incorrectly installed" -+ echo "*** or that you have moved GTK since it was installed. In the latter case, you" -+ echo "*** may want to edit the gtk-config script: $GTK_CONFIG" ]) -+ CFLAGS="$ac_save_CFLAGS" -+ LIBS="$ac_save_LIBS" -+ fi -+ fi -+ GTK_CFLAGS="" -+ GTK_LIBS="" -+ ifelse([$3], , :, [$3]) -+ fi -+ AC_SUBST(GTK_CFLAGS) -+ AC_SUBST(GTK_LIBS) -+ rm -f conf.gtktest -+]) diff --git a/package/lame/0003-msse.patch b/package/lame/0003-msse.patch deleted file mode 100644 index ca4f65f40b..0000000000 --- a/package/lame/0003-msse.patch +++ /dev/null @@ -1,24 +0,0 @@ -Fix compile on 32bit Intel - -Downloaded from -http://anonscm.debian.org/cgit/pkg-multimedia/lame.git/tree/debian/patches/msse.patch - -Signed-off-by: Bernd Kuhls - -Description: Build xmm_quantize_sub.c with -msse -Author: Sebastian Ramacher -Bug: http://sourceforge.net/p/lame/bugs/443/ -Bug-Debian: https://bugs.debian.org/760047 -Forwarded: http://sourceforge.net/p/lame/bugs/443/ -Last-Update: 2014-08-31 - ---- lame-3.99.5+repack1.orig/libmp3lame/vector/Makefile.am -+++ lame-3.99.5+repack1/libmp3lame/vector/Makefile.am -@@ -20,6 +20,7 @@ xmm_sources = xmm_quantize_sub.c - - if WITH_XMM - liblamevectorroutines_la_SOURCES = $(xmm_sources) -+liblamevectorroutines_la_CFLAGS = -msse - endif - - noinst_HEADERS = lame_intrin.h diff --git a/package/lame/lame.hash b/package/lame/lame.hash index 875b49c2fc..58dc6f78ef 100644 --- a/package/lame/lame.hash +++ b/package/lame/lame.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 24346b4158e4af3bd9f2e194bb23eb473c75fb7377011523353196b19b9a23ff lame-3.99.5.tar.gz +sha256 ddfe36cab873794038ae2c1210557ad34857a4b6bdc515785d1da9e175b1da1e lame-3.100.tar.gz +sha256 bfe4a52dc4645385f356a8e83cc54216a293e3b6f1cb4f79f5fc0277abf937fd COPYING diff --git a/package/lame/lame.mk b/package/lame/lame.mk index 934579953b..3d76ab93ac 100644 --- a/package/lame/lame.mk +++ b/package/lame/lame.mk @@ -4,15 +4,13 @@ # ################################################################################ -LAME_VERSION_MAJOR = 3.99 -LAME_VERSION = $(LAME_VERSION_MAJOR).5 -LAME_SITE = http://downloads.sourceforge.net/project/lame/lame/$(LAME_VERSION_MAJOR) +LAME_VERSION = 3.100 +LAME_SITE = http://downloads.sourceforge.net/project/lame/lame/$(LAME_VERSION) LAME_DEPENDENCIES = host-pkgconf -LAME_AUTORECONF = YES LAME_INSTALL_STAGING = YES LAME_CONF_ENV = GTK_CONFIG=/bin/false LAME_CONF_OPTS = --enable-dynamic-frontends -LAME_LICENSE = LGPLv2+ +LAME_LICENSE = LGPL-2.0+ LAME_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_LIBSNDFILE),y) diff --git a/package/lapack/Config.in b/package/lapack/Config.in index b5eca492e8..9687ace82d 100644 --- a/package/lapack/Config.in +++ b/package/lapack/Config.in @@ -15,7 +15,7 @@ config BR2_PACKAGE_LAPACK config BR2_PACKAGE_LAPACK_COMPLEX bool "Complex/Complex16 support" - depends on BR2_PACKAGE_LAPACK default y + depends on BR2_PACKAGE_LAPACK help Builds support for COMPLEX and COMPLEX16 data types. diff --git a/package/lapack/lapack.hash b/package/lapack/lapack.hash index e57cebcba0..fd3feef554 100644 --- a/package/lapack/lapack.hash +++ b/package/lapack/lapack.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 888a50d787a9d828074db581c80b2d22bdb91435a673b1bf6cd6eb51aa50d1de lapack-3.6.1.tgz +sha256 f6c53fd9f56932f3ddb3d5e24c1c07e4cd9b3b08e7f89de9c867125eecc9a1c8 lapack-3.7.1.tgz diff --git a/package/lapack/lapack.mk b/package/lapack/lapack.mk index 56008e1410..4e74bbd659 100644 --- a/package/lapack/lapack.mk +++ b/package/lapack/lapack.mk @@ -4,12 +4,13 @@ # ################################################################################ -LAPACK_VERSION = 3.6.1 +LAPACK_VERSION = 3.7.1 LAPACK_SOURCE = lapack-$(LAPACK_VERSION).tgz -LAPACK_LICENSE = BSD-3c +LAPACK_LICENSE = BSD-3-Clause LAPACK_LICENSE_FILES = LICENSE LAPACK_SITE = http://www.netlib.org/lapack LAPACK_INSTALL_STAGING = YES +LAPACK_SUPPORTS_IN_SOURCE_BUILD = NO LAPACK_CONF_OPTS = -DLAPACKE=ON -DCBLAS=ON ifeq ($(BR2_PACKAGE_LAPACK_COMPLEX),y) diff --git a/package/latencytop/latencytop.mk b/package/latencytop/latencytop.mk index 644a84f162..56afe86062 100644 --- a/package/latencytop/latencytop.mk +++ b/package/latencytop/latencytop.mk @@ -7,7 +7,7 @@ LATENCYTOP_VERSION = 0.5 LATENCYTOP_SITE = http://www.latencytop.org/download LATENCYTOP_DEPENDENCIES = libglib2 ncurses -LATENCYTOP_LICENSE = GPLv2 +LATENCYTOP_LICENSE = GPL-2.0 LATENCYTOP_LICENSE_FILES = latencytop.c # NOTE: GTK is heavy weight, we intentionally build the text (ncurses) diff --git a/package/lbase64/0001-retro-compatible-with-Lua-5.1.patch b/package/lbase64/0001-retro-compatible-with-Lua-5.1.patch new file mode 100644 index 0000000000..12acf44830 --- /dev/null +++ b/package/lbase64/0001-retro-compatible-with-Lua-5.1.patch @@ -0,0 +1,20 @@ +retro compatible with Lua 5.1 C/API + +Signed-off-by: Francois Perrad + +Index: b/lbase64.c +=================================================================== +--- a/lbase64.c ++++ b/lbase64.c +@@ -111,7 +111,11 @@ + + LUALIB_API int luaopen_base64(lua_State *L) + { ++#if LUA_VERSION_NUM >= 502 + luaL_newlib(L,R); ++#else ++ luaL_register(L,MYNAME,R); ++#endif + lua_pushliteral(L,"version"); /** version */ + lua_pushliteral(L,MYVERSION); + lua_settable(L,-3); diff --git a/package/lbase64/Config.in b/package/lbase64/Config.in index 5ef91bf301..34ef943aac 100644 --- a/package/lbase64/Config.in +++ b/package/lbase64/Config.in @@ -1,12 +1,7 @@ config BR2_PACKAGE_LBASE64 bool "lbase64" depends on BR2_PACKAGE_HAS_LUAINTERPRETER - depends on BR2_PACKAGE_LUA_5_1 || BR2_PACKAGE_LUAJIT help A base64 library for Lua - http://luaforge.net/projects/lbase64/ - -comment "lbase64 needs a Lua 5.1 interpreter" - depends on !BR2_PACKAGE_LUA_5_1 - depends on !BR2_PACKAGE_LUAJIT + http://webserver2.tecgraf.puc-rio.br/~lhf/ftp/lua/#lbase64 diff --git a/package/lbase64/lbase64.hash b/package/lbase64/lbase64.hash index 080609037e..d835d40b25 100644 --- a/package/lbase64/lbase64.hash +++ b/package/lbase64/lbase64.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 7326658d48a70382b496eb88220b0c398c19ed712e39863939330fec0533362a lbase64-20120820-1.src.rock +sha256 b83dbc87330a322e5222cd891a6e258b533f5b6c46e8f3c18fc0265e4c991aaa lbase64.tar.gz diff --git a/package/lbase64/lbase64.mk b/package/lbase64/lbase64.mk index 80e880079e..0225fc67c7 100644 --- a/package/lbase64/lbase64.mk +++ b/package/lbase64/lbase64.mk @@ -4,9 +4,21 @@ # ################################################################################ -LBASE64_VERSION = 20120820-1 -LBASE64_SUBDIR = base64 +LBASE64_VERSION = 20120820 +LBASE64_SITE = http://webserver2.tecgraf.puc-rio.br/~lhf/ftp/lua/5.3 +LBASE64_SOURCE = lbase64.tar.gz LBASE64_LICENSE = Public domain -LBASE64_LICENSE_FILES = $(LBASE64_SUBDIR)/README +LBASE64_LICENSE_FILES = README +LBASE64_DEPENDENCIES = luainterpreter -$(eval $(luarocks-package)) +define LBASE64_BUILD_CMDS + $(MAKE1) $(TARGET_CONFIGURE_OPTS) \ + CFLAGS="$(TARGET_CFLAGS) -fPIC" -C $(@D) so +endef + +define LBASE64_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/base64.so \ + $(TARGET_DIR)/usr/lib/lua/$(LUAINTERPRETER_ABIVER)/base64.so +endef + +$(eval $(generic-package)) diff --git a/package/lbreakout2/Config.in b/package/lbreakout2/Config.in index 221c9e2c5b..eeb8a06966 100644 --- a/package/lbreakout2/Config.in +++ b/package/lbreakout2/Config.in @@ -2,13 +2,12 @@ config BR2_PACKAGE_LBREAKOUT2 bool "LBreakout2" select BR2_PACKAGE_SDL select BR2_PACKAGE_LIBPNG - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE help - LBreakout2 is the successor to LBreakout, a breakout-style arcade - game in the manner of Arkanoid. Requires SDL, libpng, and - optionnally SDL_mixer/SDL_net. - A display with minimum 640x480 resolution, a keyboard and a mouse - are recommanded. + LBreakout2 is the successor to LBreakout, a breakout-style + arcade game in the manner of Arkanoid. Requires SDL, libpng, + and optionnally SDL_mixer/SDL_net. + A display with minimum 640x480 resolution, a keyboard and a + mouse are recommanded. http://lgames.sourceforge.net/index.php?project=LBreakout2 diff --git a/package/lbreakout2/lbreakout2.hash b/package/lbreakout2/lbreakout2.hash index d9638b47b3..0d305dcd73 100644 --- a/package/lbreakout2/lbreakout2.hash +++ b/package/lbreakout2/lbreakout2.hash @@ -1,2 +1,5 @@ +# From https://sourceforge.net/projects/lgames/files/lbreakout2/2.6/ +md5 1a9238b83f9f13f09b7a4d53e00b4e84 lbreakout2-2.6.5.tar.gz +sha1 d92326499165fd368be04378d633e13d42b4d2d7 lbreakout2-2.6.5.tar.gz # Locally computed: -sha256 0b90716d52e67c27ff41ab7aa5c09dad4f5f19a78076cc57dd4b4d7ed2c1dbd9 lbreakout2-2.6.4.tar.gz +sha256 9104d6175553da3442dc6a5fc407a669e2f5aff3eedc5d30409eb003b7a78d6f lbreakout2-2.6.5.tar.gz diff --git a/package/lbreakout2/lbreakout2.mk b/package/lbreakout2/lbreakout2.mk index 5dc4c71753..49db8d5466 100644 --- a/package/lbreakout2/lbreakout2.mk +++ b/package/lbreakout2/lbreakout2.mk @@ -5,20 +5,16 @@ ################################################################################ LBREAKOUT2_VERSION_MAJOR = 2.6 -LBREAKOUT2_VERSION = $(LBREAKOUT2_VERSION_MAJOR).4 -LBREAKOUT2_SITE = http://downloads.sourceforge.net/lgames/lbreakout2/$(LBREAKOUT2_VERSION_MAJOR) -LBREAKOUT2_LICENSE = GPLv2+ +LBREAKOUT2_VERSION = $(LBREAKOUT2_VERSION_MAJOR).5 +LBREAKOUT2_SITE = https://downloads.sourceforge.net/lgames/lbreakout2/$(LBREAKOUT2_VERSION_MAJOR) +LBREAKOUT2_LICENSE = GPL-2.0+ LBREAKOUT2_LICENSE_FILES = COPYING -LBREAKOUT2_DEPENDENCIES = sdl libpng +LBREAKOUT2_DEPENDENCIES = sdl libpng $(TARGET_NLS_DEPENDENCIES) LBREAKOUT2_CONF_ENV = \ - SDL_CONFIG="$(STAGING_DIR)/usr/bin/sdl-config" - -ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y) -LBREAKOUT2_DEPENDENCIES += gettext -LBREAKOUT2_CONF_ENV += LIBS=-lintl -endif + SDL_CONFIG="$(STAGING_DIR)/usr/bin/sdl-config" \ + LIBS=$(TARGET_NLS_LIBS) ifeq ($(BR2_PACKAGE_LBREAKOUT2_AUDIO),y) LBREAKOUT2_DEPENDENCIES += sdl_mixer diff --git a/package/lcdapi/Config.in b/package/lcdapi/Config.in index 34ce0fa1a1..154689b284 100644 --- a/package/lcdapi/Config.in +++ b/package/lcdapi/Config.in @@ -3,7 +3,8 @@ config BR2_PACKAGE_LCDAPI depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS help - C++ client API for lcdproc, containing a set of widget classes. + C++ client API for lcdproc, containing a set of widget + classes. https://github.com/spdawson/lcdapi diff --git a/package/lcdapi/lcdapi.hash b/package/lcdapi/lcdapi.hash index 98c42f8f54..c04ea021f7 100644 --- a/package/lcdapi/lcdapi.hash +++ b/package/lcdapi/lcdapi.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 fa26b53fd543ebab825d55cafb4c88af6a71ac3dcf86d4e8bcd3592be4212b55 lcdapi-v0.10.tar.gz +sha256 6afdd4238af1fa7ea5f10378601381fc3f535a10504dc7d4ea8eab56e0dda091 lcdapi-v0.11.tar.gz diff --git a/package/lcdapi/lcdapi.mk b/package/lcdapi/lcdapi.mk index 75390421d6..f7c71dfd32 100644 --- a/package/lcdapi/lcdapi.mk +++ b/package/lcdapi/lcdapi.mk @@ -4,9 +4,9 @@ # ################################################################################ -LCDAPI_VERSION = v0.10 +LCDAPI_VERSION = v0.11 LCDAPI_SITE = $(call github,spdawson,lcdapi,$(LCDAPI_VERSION)) -LCDAPI_LICENSE = LGPLv2.1+ +LCDAPI_LICENSE = LGPL-2.1+ LCDAPI_LICENSE_FILES = COPYING LCDAPI_AUTORECONF = YES LCDAPI_INSTALL_STAGING = YES diff --git a/package/lcdproc/0001-Add-missing-ioctl-header.patch b/package/lcdproc/0001-Add-missing-ioctl-header.patch new file mode 100644 index 0000000000..8c2123594f --- /dev/null +++ b/package/lcdproc/0001-Add-missing-ioctl-header.patch @@ -0,0 +1,50 @@ +From 6267665454501512ac054202b38e4e6a72fa284b Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Fri, 8 Sep 2017 14:19:11 +0300 +Subject: [PATCH] Add missing ioctl header + +The spidev.h header uses macros from linux/ioctl.h. Add this header +explicitly since some libc, like musl, do not include it implicitly. +This fixes the following build failure: + +In file included from .../sysroot/usr/include/sys/ioctl.h:7:0, + from hd44780-spi.c:31: +hd44780-spi.c: In function ‘spi_transfer’: +hd44780-spi.c:89:24: error: ‘_IOC_SIZEBITS’ undeclared (first use in this function) + status = ioctl(p->fd, SPI_IOC_MESSAGE(1), &xfer); + ^ +Signed-off-by: Baruch Siach +--- +Upstream status: https://github.com/lcdproc/lcdproc/pull/90 + + server/drivers/hd44780-pifacecad.c | 1 + + server/drivers/hd44780-spi.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/server/drivers/hd44780-pifacecad.c b/server/drivers/hd44780-pifacecad.c +index a73b9f9b1f82..55139124d852 100644 +--- a/server/drivers/hd44780-pifacecad.c ++++ b/server/drivers/hd44780-pifacecad.c +@@ -54,6 +54,7 @@ + #include + #include + #include ++#include + #include + #include + +diff --git a/server/drivers/hd44780-spi.c b/server/drivers/hd44780-spi.c +index 791156f87a26..74c85fb014aa 100644 +--- a/server/drivers/hd44780-spi.c ++++ b/server/drivers/hd44780-spi.c +@@ -29,6 +29,7 @@ + #include + #include + #include ++#include + #include + #include + +-- +2.14.1 + diff --git a/package/lcdproc/0002-musl.patch b/package/lcdproc/0002-musl.patch deleted file mode 100644 index d0425fd5b2..0000000000 --- a/package/lcdproc/0002-musl.patch +++ /dev/null @@ -1,102 +0,0 @@ -Fix musl build - -Partly downloaded from -http://lists.omnipotent.net/pipermail/lcdproc/2015-November/014291.html -http://lists.omnipotent.net/pipermail/lcdproc/2015-November/014281.html - -Signed-off-by: Bernd Kuhls - -diff -uNr lcdproc-0.5.7.org/clients/lcdproc/machine.h lcdproc-0.5.7/clients/lcdproc/machine.h ---- lcdproc-0.5.7.org/clients/lcdproc/machine.h 2012-08-19 16:29:07.000000000 +0200 -+++ lcdproc-0.5.7/clients/lcdproc/machine.h 2016-01-30 14:07:33.641802847 +0100 -@@ -12,6 +12,7 @@ - #ifndef _lcdproc_machine_h_ - #define _lcdproc_machine_h_ - -+#include - #include "shared/LL.h" - - #ifndef LOADAVG_NSTATS -diff -uNr lcdproc-0.5.7.org/server/drivers/hd44780-pifacecad.c lcdproc-0.5.7/server/drivers/hd44780-pifacecad.c ---- lcdproc-0.5.7.org/server/drivers/hd44780-pifacecad.c 2014-03-23 11:22:09.000000000 +0100 -+++ lcdproc-0.5.7/server/drivers/hd44780-pifacecad.c 2016-01-30 14:12:03.521279729 +0100 -@@ -54,6 +54,7 @@ - #include - #include - #include -+#include - #include - #include - -diff -uNr lcdproc-0.5.7.org/server/drivers/hd44780-rpi.c lcdproc-0.5.7/server/drivers/hd44780-rpi.c ---- lcdproc-0.5.7.org/server/drivers/hd44780-rpi.c 2014-03-23 11:22:09.000000000 +0100 -+++ lcdproc-0.5.7/server/drivers/hd44780-rpi.c 2016-01-30 14:04:10.288112853 +0100 -@@ -285,7 +285,7 @@ - - /* Unmap and free memory */ - if (gpio_map != NULL) -- munmap((caddr_t) gpio_map, GPIO_BLOCK_SIZE); -+ munmap((void *) gpio_map, GPIO_BLOCK_SIZE); - if (p->rpi_gpio != NULL) - free(p->rpi_gpio); - p->rpi_gpio = NULL; -diff -uNr lcdproc-0.5.7.org/server/drivers/hd44780-spi.c lcdproc-0.5.7/server/drivers/hd44780-spi.c ---- lcdproc-0.5.7.org/server/drivers/hd44780-spi.c 2014-03-23 11:22:09.000000000 +0100 -+++ lcdproc-0.5.7/server/drivers/hd44780-spi.c 2016-01-30 14:11:11.604763500 +0100 -@@ -29,6 +29,7 @@ - #include - #include - #include -+#include - #include - #include - -diff -uNr lcdproc-0.5.7.org/server/drivers/mtc_s16209x.c lcdproc-0.5.7/server/drivers/mtc_s16209x.c ---- lcdproc-0.5.7.org/server/drivers/mtc_s16209x.c 2011-08-14 14:29:16.000000000 +0200 -+++ lcdproc-0.5.7/server/drivers/mtc_s16209x.c 2016-01-30 14:13:10.691122839 +0100 -@@ -49,6 +49,7 @@ - #include - #include - #include -+#include - - #ifdef HAVE_CONFIG_H - # include "config.h" -diff -uNr lcdproc-0.5.7.org/server/drivers/rawserial.c lcdproc-0.5.7/server/drivers/rawserial.c ---- lcdproc-0.5.7.org/server/drivers/rawserial.c 2014-03-23 11:22:10.000000000 +0100 -+++ lcdproc-0.5.7/server/drivers/rawserial.c 2016-01-30 14:03:43.465779507 +0100 -@@ -60,13 +60,13 @@ - /** \name Event loop timing. refresh_time and refresh_delta form the - * event loop timing mechanism for configurable update rates. - *@{*/ -- uint refresh_time; /**< time at the last screen update */ -- uint refresh_delta; /**< time step to next screen update */ -+ unsigned int refresh_time; /**< time at the last screen update */ -+ unsigned int refresh_delta; /**< time step to next screen update */ - /**@}*/ - } PrivateData; - - /* Local prototypes */ --static uint get_millisecond_time(void); -+static unsigned int get_millisecond_time(void); - - - /* Vars for the server core */ -@@ -303,7 +303,7 @@ - PrivateData *p = drvthis->private_data; - char out[LCD_MAX_WIDTH * LCD_MAX_HEIGHT]; - -- uint currentTime = get_millisecond_time(); -+ unsigned int currentTime = get_millisecond_time(); - int t_delta = currentTime - p->refresh_time; - - /* -@@ -415,7 +415,7 @@ - * - * \return int with current millisecond time. - */ --static uint -+static unsigned int - get_millisecond_time(void) - { - struct timeval ts; diff --git a/package/lcdproc/lcdproc.hash b/package/lcdproc/lcdproc.hash index ea39a9b492..00f685448d 100644 --- a/package/lcdproc/lcdproc.hash +++ b/package/lcdproc/lcdproc.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 843007d377adc856529ed0c7c42c9a7563043f06b1b73add0372bba3a3029804 lcdproc-0.5.7.tar.gz +sha256 d48a915496c96ff775b377d2222de3150ae5172bfb84a6ec9f9ceab962f97b83 lcdproc-0.5.9.tar.gz diff --git a/package/lcdproc/lcdproc.mk b/package/lcdproc/lcdproc.mk index 4fbeca14ca..e5b6172b15 100644 --- a/package/lcdproc/lcdproc.mk +++ b/package/lcdproc/lcdproc.mk @@ -4,15 +4,13 @@ # ################################################################################ -LCDPROC_VERSION = 0.5.7 -LCDPROC_SITE = http://downloads.sourceforge.net/project/lcdproc/lcdproc/$(LCDPROC_VERSION) -LCDPROC_LICENSE = GPLv2+ +LCDPROC_VERSION = 0.5.9 +LCDPROC_SITE = https://github.com/lcdproc/lcdproc/releases/download/v$(LCDPROC_VERSION) +LCDPROC_LICENSE = GPL-2.0+ LCDPROC_LICENSE_FILES = COPYING LCDPROC_MAKE = $(MAKE1) -LCDPROC_CONF_OPTS = --enable-drivers=$(BR2_PACKAGE_LCDPROC_DRIVERS) \ - --with-ft-prefix="$(STAGING_DIR)/usr" \ - --with-ft-exec-prefix="$(STAGING_DIR)/usr" +LCDPROC_CONF_OPTS = --enable-drivers=$(BR2_PACKAGE_LCDPROC_DRIVERS) ifeq ($(BR2_PACKAGE_LCDPROC_MENUS),y) LCDPROC_CONF_OPTS += --enable-lcdproc-menus @@ -20,4 +18,14 @@ endif LCDPROC_DEPENDENCIES = freetype ncurses zlib +LCDPROC_CONF_ENV += ac_cv_path_FT2_CONFIG=$(STAGING_DIR)/usr/bin/freetype-config + +ifeq ($(BR2_PACKAGE_LIBPNG),y) +LCDPROC_DEPENDENCIES += libpng +LCDPROC_CONF_ENV += ac_cv_path__png_config=$(STAGING_DIR)/usr/bin/libpng-config +LCDPROC_CONF_OPTS += --enable-libpng +else +LCDPROC_CONF_OPTS += --disable-libpng +endif + $(eval $(autotools-package)) diff --git a/package/lcms2/Config.in b/package/lcms2/Config.in index d94c075e1e..19e1b9c1f0 100644 --- a/package/lcms2/Config.in +++ b/package/lcms2/Config.in @@ -4,7 +4,8 @@ config BR2_PACKAGE_LCMS2 Little Color Management Software (CMS) intends to be an OPEN SOURCE small-footprint color management engine, with special focus on accuracy and performance. - It uses the International Color Consortium standard (ICC), which is - the modern standard when regarding to color management. + It uses the International Color Consortium standard (ICC), + which is the modern standard when regarding to color + management. http://www.littlecms.com/ diff --git a/package/lcms2/lcms2.mk b/package/lcms2/lcms2.mk index 9a4cf5ed24..29f8ac8dee 100644 --- a/package/lcms2/lcms2.mk +++ b/package/lcms2/lcms2.mk @@ -31,4 +31,5 @@ else LCMS2_CONF_OPTS += --without-zlib endif +$(eval $(host-autotools-package)) $(eval $(autotools-package)) diff --git a/package/leafnode2/Config.in b/package/leafnode2/Config.in index 348e6daacf..93d3090a00 100644 --- a/package/leafnode2/Config.in +++ b/package/leafnode2/Config.in @@ -7,7 +7,8 @@ config BR2_PACKAGE_LEAFNODE2 server designed for small sites with just a few active newsgroups. - Leafnode-2 needs inetd, check chapter 14 of the documentation at + Leafnode-2 needs inetd, check chapter 14 of the documentation + at: http://www.dt.e-technik.uni-dortmund.de/~ma/leafnode/beta/leafnode-readme.txt For example, you can add this line to inetd.conf: diff --git a/package/leafnode2/leafnode2.mk b/package/leafnode2/leafnode2.mk index 0c20fd03cf..a02aad4302 100644 --- a/package/leafnode2/leafnode2.mk +++ b/package/leafnode2/leafnode2.mk @@ -7,7 +7,7 @@ LEAFNODE2_VERSION = 2.0.0.alpha20140727b LEAFNODE2_SOURCE = leafnode-$(LEAFNODE2_VERSION).tar.bz2 LEAFNODE2_SITE = http://krusty.dt.e-technik.tu-dortmund.de/~ma/leafnode/beta -LEAFNODE2_LICENSE = LGPLv2.1 +LEAFNODE2_LICENSE = LGPL-2.1 LEAFNODE2_LICENSE_FILES = COPYING COPYING.LGPL LEAFNODE2_DEPENDENCIES = host-pcre pcre @@ -16,7 +16,7 @@ LEAFNODE2_CONF_ENV = \ # --enable-runas-user use 'news' as default but the configure stop # if news doesn't exist on the build host. -# Use 'root' while cross-compiling +# Use 'root' while cross-compiling LEAFNODE2_CONF_OPTS = \ --sysconfdir=/etc/leafnode2 \ --enable-spooldir=/var/spool/news \ @@ -30,8 +30,8 @@ define LEAFNODE2_BUILD_SORTNL_TOOL cd $(@D); \ $(HOSTCC) $(HOST_CFLAGS) -o b_sortnl_host \ arc4random.c mergesort.c b_sortnl.c critmem_malloc.c \ - critmem_realloc.c -DHAVE_CONFIG_H -I$(HOST_DIR)/usr/include \ - -L $(HOST_DIR)/usr/lib -Wl,-rpath,$(HOST_DIR)/usr/lib -lpcre + critmem_realloc.c -DHAVE_CONFIG_H -I$(HOST_DIR)/include \ + -L $(HOST_DIR)/lib -Wl,-rpath,$(HOST_DIR)/lib -lpcre endef LEAFNODE2_PRE_BUILD_HOOKS += LEAFNODE2_BUILD_SORTNL_TOOL diff --git a/package/leafpad/leafpad.mk b/package/leafpad/leafpad.mk index 9551a75835..c6c28d12e8 100644 --- a/package/leafpad/leafpad.mk +++ b/package/leafpad/leafpad.mk @@ -7,7 +7,7 @@ LEAFPAD_VERSION = 0.8.18.1 LEAFPAD_SITE = http://savannah.nongnu.org/download/leafpad LEAFPAD_DEPENDENCIES = libgtk2 host-intltool -LEAFPAD_LICENSE = GPLv2+ +LEAFPAD_LICENSE = GPL-2.0+ LEAFPAD_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/lensfun/Config.in b/package/lensfun/Config.in new file mode 100644 index 0000000000..7ec49020ee --- /dev/null +++ b/package/lensfun/Config.in @@ -0,0 +1,29 @@ +config BR2_PACKAGE_LENSFUN + bool "lensfun" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_USE_WCHAR # libglib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 + depends on BR2_USE_MMU # libglib2 + select BR2_PACKAGE_LIBGLIB2 + help + Lensfun itself is only a library for correcting several + artefacts and a database for storing lens profiles. To + actually use Lensfun to process your images you need an + image editing application with Lensfun support. + + http://lensfun.sourceforge.net + +if BR2_PACKAGE_LENSFUN + +config BR2_PACKAGE_LENSFUN_TOOLS + bool "lensfun tools" + select BR2_PACKAGE_LIBPNG + help + Build 'lenstool'. + +endif + +comment "lensfun needs a toolchain w/ C++, threads, wchar" + depends on BR2_USE_MMU + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \ + || !BR2_USE_WCHAR diff --git a/package/lensfun/lensfun.hash b/package/lensfun/lensfun.hash new file mode 100644 index 0000000000..a60f8f4613 --- /dev/null +++ b/package/lensfun/lensfun.hash @@ -0,0 +1,5 @@ +# From https://sourceforge.net/projects/lensfun/files/0.3.2 +sha1 1d978b15aa7304d66a4931fa37ca9f8f89396c16 lensfun-0.3.2.tar.gz +md5 247e59a0812ec451f6cd0d20b3379cb5 lensfun-0.3.2.tar.gz +# Locally calculated +sha256 ae8bcad46614ca47f5bda65b00af4a257a9564a61725df9c74cb260da544d331 lensfun-0.3.2.tar.gz diff --git a/package/lensfun/lensfun.mk b/package/lensfun/lensfun.mk new file mode 100644 index 0000000000..9258409f57 --- /dev/null +++ b/package/lensfun/lensfun.mk @@ -0,0 +1,47 @@ +################################################################################ +# +# lensfun +# +################################################################################ + +LENSFUN_VERSION = 0.3.2 +LENSFUN_SITE = https://sourceforge.net/projects/lensfun/files/$(LENSFUN_VERSION) +LENSFUN_LICENSE = LGPL-3.0+ (libraries), GPL-3.0+ (programs) +LENSFUN_LICENSE_FILES = docs/gpl-3.0.txt docs/lgpl-3.0.txt +LENSFUN_INSTALL_STAGING = YES +LENSFUN_DEPENDENCIES = libglib2 + +# lensfun doesn't support in source build, it fail to build lensfun tools. +LENSFUN_SUPPORTS_IN_SOURCE_BUILD = NO + +ifeq ($(BR2_X86_CPU_HAS_SSE),y) +LENSFUN_CONF_OPTS += -DBUILD_FOR_SSE=ON +else +LENSFUN_CONF_OPTS += -DBUILD_FOR_SSE=OFF +endif + +ifeq ($(BR2_X86_CPU_HAS_SSE2),y) +LENSFUN_CONF_OPTS += -DBUILD_FOR_SSE2=ON +else +LENSFUN_CONF_OPTS += -DBUILD_FOR_SSE2=OFF +endif + +ifeq ($(BR2_PACKAGE_LENSFUN_TOOLS),y) +LENSFUN_DEPENDENCIES += libpng +LENSFUN_CONF_OPTS += -DBUILD_LENSTOOL=ON +# broken +else +LENSFUN_CONF_OPTS += -DBUILD_LENSTOOL=OFF +endif + +ifeq ($(BR2_STATIC_LIBS),y) +LENSFUN_CONF_OPTS += -DBUILD_STATIC=ON +else +LENSFUN_CONF_OPTS += -DBUILD_STATIC=OFF +endif + +# Don't install helper scripts (which require python3 and gksudo). +# Don't run setup.py on the host. +LENSFUN_CONF_OPTS += -DINSTALL_HELPER_SCRIPTS=OFF -DPYTHON=OFF + +$(eval $(cmake-package)) diff --git a/package/leptonica/Config.in b/package/leptonica/Config.in new file mode 100644 index 0000000000..ec4920c2ca --- /dev/null +++ b/package/leptonica/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_LEPTONICA + bool "leptonica" + help + Leptonica is an image processing and image analysis library. + + http://www.leptonica.org/ diff --git a/package/leptonica/leptonica.hash b/package/leptonica/leptonica.hash new file mode 100644 index 0000000000..f67f2b88fd --- /dev/null +++ b/package/leptonica/leptonica.hash @@ -0,0 +1,2 @@ +# locally computed hash +sha256 29c35426a416bf454413c6fec24c24a0b633e26144a17e98351b6dffaa4a833b leptonica-1.74.4.tar.gz diff --git a/package/leptonica/leptonica.mk b/package/leptonica/leptonica.mk new file mode 100644 index 0000000000..6a958a3564 --- /dev/null +++ b/package/leptonica/leptonica.mk @@ -0,0 +1,65 @@ +################################################################################ +# +# leptonica +# +################################################################################ + +LEPTONICA_VERSION = 1.74.4 +LEPTONICA_SITE = http://www.leptonica.org/source +LEPTONICA_LICENSE = BSD-2-Clause +LEPTONICA_LICENSE_FILES = leptonica-license.txt +LEPTONICA_INSTALL_STAGING = YES +LEPTONICA_DEPENDENCIES = host-pkgconf + +LEPTONICA_CONF_OPTS += --disable-programs + +ifeq ($(BR2_PACKAGE_GIFLIB),y) +LEPTONICA_DEPENDENCIES += giflib +LEPTONICA_CONF_OPTS += --with-giflib +else +LEPTONICA_CONF_OPTS += --without-giflib +endif + +ifeq ($(BR2_PACKAGE_JPEG),y) +LEPTONICA_DEPENDENCIES += jpeg +LEPTONICA_CONF_OPTS += --with-jpeg +else +LEPTONICA_CONF_OPTS += --without-jpeg +endif + +ifeq ($(BR2_PACKAGE_LIBPNG),y) +LEPTONICA_DEPENDENCIES += libpng +LEPTONICA_CONF_OPTS += --with-libpng +else +LEPTONICA_CONF_OPTS += --without-libpng +endif + +ifeq ($(BR2_PACKAGE_OPENJPEG),y) +LEPTONICA_DEPENDENCIES += openjpeg +LEPTONICA_CONF_OPTS += --with-libopenjpeg +else +LEPTONICA_CONF_OPTS += --without-libopenjpeg +endif + +ifeq ($(BR2_PACKAGE_TIFF),y) +LEPTONICA_DEPENDENCIES += tiff +LEPTONICA_CONF_OPTS += --with-libtiff +else +LEPTONICA_CONF_OPTS += --without-libtiff +endif + +ifeq ($(BR2_PACKAGE_WEBP),y) +LEPTONICA_DEPENDENCIES += webp +LEPTONICA_CONF_OPTS += --with-libwebp +else +LEPTONICA_CONF_OPTS += --without-libwebp +endif + +ifeq ($(BR2_PACKAGE_ZLIB),y) +LEPTONICA_DEPENDENCIES += zlib +LEPTONICA_CONF_OPTS += --with-zlib +else +LEPTONICA_CONF_OPTS += --without-zlib +endif + +$(eval $(autotools-package)) diff --git a/package/less/less.hash b/package/less/less.hash index eea201da1e..3a6c799aae 100644 --- a/package/less/less.hash +++ b/package/less/less.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 3fa38f2cf5e9e040bb44fffaa6c76a84506e379e47f5a04686ab78102090dda5 less-481.tar.gz +sha256 f3dc8455cb0b2b66e0c6b816c00197a71bf6d1787078adeee0bcf2aea4b12706 less-487.tar.gz diff --git a/package/less/less.mk b/package/less/less.mk index c2175438fb..bccc08b89f 100644 --- a/package/less/less.mk +++ b/package/less/less.mk @@ -4,9 +4,9 @@ # ################################################################################ -LESS_VERSION = 481 +LESS_VERSION = 487 LESS_SITE = $(BR2_GNU_MIRROR)/less -LESS_LICENSE = GPLv3+ +LESS_LICENSE = GPL-3.0+ LESS_LICENSE_FILES = COPYING # Build after busybox, full-blown is better LESS_DEPENDENCIES = ncurses $(if $(BR2_PACKAGE_BUSYBOX),busybox) diff --git a/package/lesstif/Config.in b/package/lesstif/Config.in index a6a88ec466..654ee6f1a0 100644 --- a/package/lesstif/Config.in +++ b/package/lesstif/Config.in @@ -1,10 +1,10 @@ config BR2_PACKAGE_LESSTIF bool "lesstif" + depends on BR2_USE_MMU # fork() depends on BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBXT select BR2_PACKAGE_XLIB_LIBXEXT select BR2_PACKAGE_FREETYPE - depends on BR2_USE_MMU # fork() help lesstif is the Hungry Programmers' version of OSF/Motif diff --git a/package/lesstif/lesstif.mk b/package/lesstif/lesstif.mk index 6ce2339b38..378c594e3b 100644 --- a/package/lesstif/lesstif.mk +++ b/package/lesstif/lesstif.mk @@ -3,6 +3,7 @@ # lesstif # ################################################################################ + LESSTIF_VERSION = 0.95.2 LESSTIF_SOURCE = lesstif-$(LESSTIF_VERSION).tar.bz2 LESSTIF_SITE = http://downloads.sourceforge.net/project/lesstif/lesstif/$(LESSTIF_VERSION) @@ -11,26 +12,26 @@ LESSTIF_DEPENDENCIES = \ xlib_libXt \ xlib_libXext \ freetype -LESSTIF_LICENSE = LGPLv2+ +LESSTIF_LICENSE = LGPL-2.0+ LESSTIF_LICENSE_FILES = COPYING.LIB LESSTIF_CONF_OPTS = \ --with-gnu-ld \ --with-freetype-config=$(STAGING_DIR)/usr/bin/freetype-config \ - --enable-production=yes \ + --enable-production=yes \ --enable-build-tests=no \ --no-recursion # Reduces the buggy makefile to the smallest possible (and working) thing define LESSTIF_NOMAN2HTML - echo "all:" > $(@D)/doc/Makefile - echo "" >> $(@D)/doc/Makefile + echo "all:" > $(@D)/doc/Makefile + echo "" >> $(@D)/doc/Makefile echo "install:" >> $(@D)/doc/Makefile - echo "" >> $(@D)/doc/Makefile - echo "clean:" >> $(@D)/doc/Makefile + echo "" >> $(@D)/doc/Makefile + echo "clean:" >> $(@D)/doc/Makefile endef # Prevents to copy ac_find_motif.m4 on target, it would else -# be created at $(TARGET_DIR)/$(TOPDIR)/output/host/usr/share/aclocal/ac_find_motif.m4 +# be created at $(TARGET_DIR)/$(HOST_DIR)/share/aclocal/ac_find_motif.m4 define LESSTIF_FIXACLOCAL sed -i -e "/install-data-am: install-aclocalDATA/d" $(@D)/scripts/autoconf/Makefile endef diff --git a/package/let-me-create/0001-fix-build-with-musl-C-library.patch b/package/let-me-create/0001-fix-build-with-musl-C-library.patch new file mode 100644 index 0000000000..90a7246405 --- /dev/null +++ b/package/let-me-create/0001-fix-build-with-musl-C-library.patch @@ -0,0 +1,38 @@ +From 93fbc53a727a49dd5061e44e3156ff2044e6e0b5 Mon Sep 17 00:00:00 2001 +From: Rahul Bedarkar +Date: Tue, 1 Aug 2017 22:44:22 +0530 +Subject: [PATCH] fix build with musl C library + +With musl C library, we get following build error: + +/home/buildroot/autobuild/run/instance-3/output/build/let-me-create-v1.5.2/src/core/spi.c: In function 'spi_transfer': +/home/buildroot/autobuild/run/instance-3/output/build/let-me-create-v1.5.2/src/core/spi.c:170:19: error: '_IOC_SIZEBITS' undeclared (first use in this function) +if (ioctl(fd, SPI_IOC_MESSAGE(1), &tr) < 0) { +^ +/home/buildroot/autobuild/run/instance-3/output/build/let-me-create-v1.5.2/src/core/spi.c:170:19: note: each undeclared identifier is reported only once for each function it appears in + +Include for musl C library compatibility. + +This build issue is detected by Buildroot autobuilder: +http://autobuild.buildroot.net/results/af9/af946fa6fe05ee265e4ac97742b15afeb0cea1ab/ + +Signed-off-by: Rahul Bedarkar rahulbedarkar89@gmail.com +--- +Upstream status: https://github.com/CreatorDev/LetMeCreate/pull/29 + + src/core/spi.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/core/spi.c b/src/core/spi.c +index 4d55cee..9ec7ea9 100644 +--- a/src/core/spi.c ++++ b/src/core/spi.c +@@ -1,4 +1,5 @@ + #include ++#include + #include + #include + #include +-- +2.7.4 + diff --git a/package/let-me-create/Config.in b/package/let-me-create/Config.in new file mode 100644 index 0000000000..b0fdc73d49 --- /dev/null +++ b/package/let-me-create/Config.in @@ -0,0 +1,27 @@ +comment "let-me-create needs a toolchain w/ C++, threads, dynamic library" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \ + || BR2_STATIC_LIBS + +config BR2_PACKAGE_LET_ME_CREATE + bool "let-me-create" + # build issues in static libs configuration + # see https://github.com/CreatorDev/LetMeCreate/issues/28 + depends on !BR2_STATIC_LIBS + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS + help + This library is collection of small wrappers for some + interfaces on the Creator Ci40 board. It aims at making + easier to develop on this platform. It also provides + wrappers for a few clicks. + + https://github.com/CreatorDev/LetMeCreate + +if BR2_PACKAGE_LET_ME_CREATE + +config BR2_PACKAGE_LET_ME_CREATE_EXAMPLES + bool "Build and install examples" + help + Build and install examples + +endif diff --git a/package/let-me-create/let-me-create.hash b/package/let-me-create/let-me-create.hash new file mode 100644 index 0000000000..45b5e55bcf --- /dev/null +++ b/package/let-me-create/let-me-create.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 5f42858a2062f34d2578e9cb1aed3ccb8d2409d908aa4c41a924418666d5f2bd let-me-create-v1.5.2.tar.gz diff --git a/package/let-me-create/let-me-create.mk b/package/let-me-create/let-me-create.mk new file mode 100644 index 0000000000..2dd07ef48a --- /dev/null +++ b/package/let-me-create/let-me-create.mk @@ -0,0 +1,26 @@ +################################################################################ +# +# LetMeCreate +# +################################################################################ + +LET_ME_CREATE_VERSION = v1.5.2 +LET_ME_CREATE_SITE = $(call github,CreatorDev,LetMeCreate,$(LET_ME_CREATE_VERSION)) +LET_ME_CREATE_INSTALL_STAGING = YES +LET_ME_CREATE_LICENSE = BSD-3-Clause +LET_ME_CREATE_LICENSE_FILES = LICENSE + +# pure static build not supported +ifeq ($(BR2_SHARED_LIBS),y) +LET_ME_CREATE_CONF_OPTS += -DBUILD_STATIC=OFF -DBUILD_SHARED=ON +else ifeq ($(BR2_SHARED_STATIC_LIBS),y) +LET_ME_CREATE_CONF_OPTS += -DBUILD_STATIC=ON -DBUILD_SHARED=ON +endif + +ifeq ($(BR2_PACKAGE_LET_ME_CREATE_EXAMPLES),y) +LET_ME_CREATE_CONF_OPTS += -DBUILD_EXAMPLES=ON +else +LET_ME_CREATE_CONF_OPTS += -DBUILD_EXAMPLES=OFF +endif + +$(eval $(cmake-package)) diff --git a/package/leveldb/0002-Add-install-recipe.patch b/package/leveldb/0002-Add-install-recipe.patch index f65916f1eb..29bf4a4831 100644 --- a/package/leveldb/0002-Add-install-recipe.patch +++ b/package/leveldb/0002-Add-install-recipe.patch @@ -9,6 +9,8 @@ Signed-off-by: Steve James Signed-off-by: Thomas Petazzoni [baruch: update for v1.19] Signed-off-by: Baruch Siach +[Bernd: update for v1.20] +Signed-off-by: Bernd Kuhls --- Makefile | 14 ++++++++++++++ 1 file changed, 14 insertions(+) @@ -19,8 +21,8 @@ index 07a5a1ead6fd..c87023db527a 100644 +++ b/Makefile @@ -412,3 +412,17 @@ $(SHARED_OUTDIR)/%.o: %.cc - $(SHARED_OUTDIR)/%.o: %.c - $(CC) $(CFLAGS) $(PLATFORM_SHARED_CFLAGS) -c $< -o $@ + $(SHARED_OUTDIR)/port/port_posix_sse.o: port/port_posix_sse.cc + $(CXX) $(CXXFLAGS) $(PLATFORM_SHARED_CFLAGS) $(PLATFORM_SSEFLAGS) -c $< -o $@ + +INSTALL_ROOT = / +INSTALL_PREFIX= usr/local diff --git a/package/leveldb/Config.in b/package/leveldb/Config.in index b583c3b9fe..c44ef13ca7 100644 --- a/package/leveldb/Config.in +++ b/package/leveldb/Config.in @@ -6,8 +6,9 @@ config BR2_PACKAGE_LEVELDB depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_SNAPPY help - LevelDB is a fast key-value storage library written at Google that - provides an ordered mapping from string keys to string values. + LevelDB is a fast key-value storage library written at Google + that provides an ordered mapping from string keys to string + values. https://github.com/google/leveldb diff --git a/package/leveldb/leveldb.hash b/package/leveldb/leveldb.hash index 4af30fbe6f..a5300d7cd3 100644 --- a/package/leveldb/leveldb.hash +++ b/package/leveldb/leveldb.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 7d7a14ae825e66aabeb156c1c3fae9f9a76d640ef6b40ede74cc73da937e5202 leveldb-v1.19.tar.gz +sha256 f5abe8b5b209c2f36560b75f32ce61412f39a2922f7045ae764a2c23335b6664 leveldb-v1.20.tar.gz diff --git a/package/leveldb/leveldb.mk b/package/leveldb/leveldb.mk index ca2ed703a0..54942a0f27 100644 --- a/package/leveldb/leveldb.mk +++ b/package/leveldb/leveldb.mk @@ -4,9 +4,9 @@ # ################################################################################ -LEVELDB_VERSION = v1.19 +LEVELDB_VERSION = v1.20 LEVELDB_SITE = $(call github,google,leveldb,$(LEVELDB_VERSION)) -LEVELDB_LICENSE = BSD-3c +LEVELDB_LICENSE = BSD-3-Clause LEVELDB_LICENSE_FILES = LICENSE LEVELDB_INSTALL_STAGING = YES LEVELDB_DEPENDENCIES = snappy diff --git a/package/lft/lft.hash b/package/lft/lft.hash index b045e7c96a..1b0454cf5d 100644 --- a/package/lft/lft.hash +++ b/package/lft/lft.hash @@ -1,2 +1,4 @@ -# Locally calculated, matches download from fossies.org and pwhois.org -sha256 d182d6774e64dcdeb19ed1a598fa588e57ddb6cbb6847d9277c405d3a4597d89 lft-3.77.tar.gz +# From http://pwhois.org/lft/ +md5 746dc08f2e20d0e0240f28873b3bb244 lft-3.79.tar.gz +# Locally calculated +sha256 08e5c7973551b529c850bffbc7152c4e5f0bcb1f07ebbb39151a7dc9a3bf9de0 lft-3.79.tar.gz diff --git a/package/lft/lft.mk b/package/lft/lft.mk index 72f43fa209..0555ab9a1a 100644 --- a/package/lft/lft.mk +++ b/package/lft/lft.mk @@ -4,7 +4,7 @@ # ################################################################################ -LFT_VERSION = 3.77 +LFT_VERSION = 3.79 LFT_SITE = http://pwhois.org/get LFT_DEPENDENCIES = libpcap LFT_LICENSE = VOSTROM Public License for Open Source diff --git a/package/lftp/Config.in b/package/lftp/Config.in index fb4ac13611..ebe8882e94 100644 --- a/package/lftp/Config.in +++ b/package/lftp/Config.in @@ -7,10 +7,11 @@ config BR2_PACKAGE_LFTP select BR2_PACKAGE_ZLIB select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_GNUTLS help - LFTP is a sophisticated ftp/http client, and a file transfer program - supporting a number of network protocols. Like BASH, it has job - control and uses the readline library for input. It has bookmarks, - a built-in mirror command, and can transfer several files in parallel. + LFTP is a sophisticated ftp/http client, and a file transfer + program supporting a number of network protocols. Like BASH, + it has job control and uses the readline library for input. It + has bookmarks, a built-in mirror command, and can transfer + several files in parallel. It was designed with reliability in mind. http://lftp.yar.ru/ diff --git a/package/lftp/lftp.hash b/package/lftp/lftp.hash index 0e0f927a56..99dd994fdd 100644 --- a/package/lftp/lftp.hash +++ b/package/lftp/lftp.hash @@ -1,2 +1,4 @@ +# From http://lftp.yar.ru/ftp/lftp-4.8.0.md5sum +md5 468558412ad3575ef8e98547c41339f4 lftp-4.8.0.tar.xz # Locally calculated after checking gpg signature -sha256 bf67c4d128b6f769a4082947376a9679c5ee3463a24ab761a0757f75d70bd92c lftp-4.7.4.tar.xz +sha256 7a2880968088b4aeec43b6b6680fef0e065e1dddcce9b409390157e9766b690f lftp-4.8.0.tar.xz diff --git a/package/lftp/lftp.mk b/package/lftp/lftp.mk index a7e1f92619..b174057f03 100644 --- a/package/lftp/lftp.mk +++ b/package/lftp/lftp.mk @@ -4,10 +4,10 @@ # ################################################################################ -LFTP_VERSION = 4.7.4 +LFTP_VERSION = 4.8.0 LFTP_SOURCE = lftp-$(LFTP_VERSION).tar.xz LFTP_SITE = http://lftp.yar.ru/ftp -LFTP_LICENSE = GPLv3+ +LFTP_LICENSE = GPL-3.0+ LFTP_LICENSE_FILES = COPYING # Needed so that our libtool patch applies properly, and for patch # 0001-fix-static-link-with-readline.patch. @@ -41,6 +41,13 @@ else LFTP_CONF_OPTS += --without-openssl endif +ifeq ($(BR2_PACKAGE_LIBIDN),y) +LFTP_DEPENDENCIES += libidn +LFTP_CONF_OPTS += --with-libidn=$(STAGING_DIR)/usr +else +LFTP_CONF_OPTS += --without-libidn +endif + # Remove /usr/share/lftp define LFTP_REMOVE_DATA $(RM) -fr $(TARGET_DIR)/usr/share/lftp diff --git a/package/libaacs/libaacs.hash b/package/libaacs/libaacs.hash index 7160c6a907..84947e0c3b 100644 --- a/package/libaacs/libaacs.hash +++ b/package/libaacs/libaacs.hash @@ -1,2 +1,2 @@ -# From http://download.videolan.org/pub/videolan/libaacs/0.8.1/libaacs-0.8.1.tar.bz2.sha512 -sha512 dd677627f073460b719b9f836b026acc3e23b166c7b16bd205cf2ca97c376095980532fb15087c0d77b30c712cd5a5dd90b2cc2ae3128da717621ebd825afcc4 libaacs-0.8.1.tar.bz2 +# From http://download.videolan.org/pub/videolan/libaacs/0.9.0/libaacs-0.9.0.tar.bz2.sha512 +sha512 b9c658db22a0966486070d3b762509a7c0120469ab29d1e57c1b624cad309701de8b92455ec649db4d731be4a5c29c38fb4f99bb7617dbb4254270284a1903f6 libaacs-0.9.0.tar.bz2 diff --git a/package/libaacs/libaacs.mk b/package/libaacs/libaacs.mk index df611543ec..143b0ff3d7 100644 --- a/package/libaacs/libaacs.mk +++ b/package/libaacs/libaacs.mk @@ -4,10 +4,10 @@ # ################################################################################ -LIBAACS_VERSION = 0.8.1 +LIBAACS_VERSION = 0.9.0 LIBAACS_SITE = http://download.videolan.org/pub/videolan/libaacs/$(LIBAACS_VERSION) LIBAACS_SOURCE = libaacs-$(LIBAACS_VERSION).tar.bz2 -LIBAACS_LICENSE = LGPLv2.1+ +LIBAACS_LICENSE = LGPL-2.1+ LIBAACS_LICENSE_FILES = COPYING LIBAACS_INSTALL_STAGING = YES LIBAACS_DEPENDENCIES = host-bison host-flex libgcrypt diff --git a/package/libaio/Config.in b/package/libaio/Config.in index 3031c894b7..ea21a36f55 100644 --- a/package/libaio/Config.in +++ b/package/libaio/Config.in @@ -2,7 +2,8 @@ config BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS bool default y if BR2_aarch64 || BR2_arm || BR2_armeb || BR2_i386 || \ BR2_m68k || BR2_mips || BR2_mipsel || BR2_powerpc || \ - BR2_sparc || BR2_x86_64 + BR2_powerpc64 || BR2_powerpc64le || BR2_sparc || \ + BR2_x86_64 config BR2_PACKAGE_LIBAIO bool "libaio" diff --git a/package/libaio/libaio.mk b/package/libaio/libaio.mk index 5ebe1b7eea..03029d84d8 100644 --- a/package/libaio/libaio.mk +++ b/package/libaio/libaio.mk @@ -8,7 +8,7 @@ LIBAIO_VERSION = 0.3.110 LIBAIO_SOURCE = libaio_$(LIBAIO_VERSION).orig.tar.gz LIBAIO_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/liba/libaio LIBAIO_INSTALL_STAGING = YES -LIBAIO_LICENSE = LGPLv2.1+ +LIBAIO_LICENSE = LGPL-2.1+ LIBAIO_LICENSE_FILES = COPYING LIBAIO_CONFIGURE_OPTS = $(TARGET_CONFIGURE_OPTS) diff --git a/package/libao/Config.in b/package/libao/Config.in index 3c99ab968d..1fab6d9b7f 100644 --- a/package/libao/Config.in +++ b/package/libao/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_LIBAO bool "libao" help Libao is a cross-platform audio library that allows programs - to output audio using a simple API on a wide variety of platforms. + to output audio using a simple API on a wide variety of + platforms. http://www.xiph.org/ao/ diff --git a/package/libao/libao.mk b/package/libao/libao.mk index a314c08d17..501ea0c9f2 100644 --- a/package/libao/libao.mk +++ b/package/libao/libao.mk @@ -8,7 +8,7 @@ LIBAO_VERSION = 1.2.0 LIBAO_SITE = http://downloads.xiph.org/releases/ao LIBAO_DEPENDENCIES = host-pkgconf LIBAO_INSTALL_STAGING = YES -LIBAO_LICENSE = GPLv2+ +LIBAO_LICENSE = GPL-2.0+ LIBAO_LICENSE_FILES = COPYING LIBAO_CONF_OPTS = \ --disable-esd \ diff --git a/package/libarchive/0001-Do-something-sensible-for-empty-strings-to-make-fuzz.patch b/package/libarchive/0001-Do-something-sensible-for-empty-strings-to-make-fuzz.patch new file mode 100644 index 0000000000..1d1d80d708 --- /dev/null +++ b/package/libarchive/0001-Do-something-sensible-for-empty-strings-to-make-fuzz.patch @@ -0,0 +1,42 @@ +From fa7438a0ff4033e4741c807394a9af6207940d71 Mon Sep 17 00:00:00 2001 +From: Joerg Sonnenberger +Date: Tue, 5 Sep 2017 18:12:19 +0200 +Subject: [PATCH] Do something sensible for empty strings to make fuzzers + happy. + +Signed-off-by: Baruch Siach +--- +Upstream status: commit fa7438a0ff + + libarchive/archive_read_support_format_xar.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/libarchive/archive_read_support_format_xar.c b/libarchive/archive_read_support_format_xar.c +index 7a22beb9d8e4..93eeacc5e6eb 100644 +--- a/libarchive/archive_read_support_format_xar.c ++++ b/libarchive/archive_read_support_format_xar.c +@@ -1040,6 +1040,9 @@ atol10(const char *p, size_t char_cnt) + uint64_t l; + int digit; + ++ if (char_cnt == 0) ++ return (0); ++ + l = 0; + digit = *p - '0'; + while (digit >= 0 && digit < 10 && char_cnt-- > 0) { +@@ -1054,7 +1057,10 @@ atol8(const char *p, size_t char_cnt) + { + int64_t l; + int digit; +- ++ ++ if (char_cnt == 0) ++ return (0); ++ + l = 0; + while (char_cnt-- > 0) { + if (*p >= '0' && *p <= '7') +-- +2.14.1 + diff --git a/package/libarchive/libarchive.hash b/package/libarchive/libarchive.hash index 2c39bd3e07..98a34ad36c 100644 --- a/package/libarchive/libarchive.hash +++ b/package/libarchive/libarchive.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 72ee1a4e3fd534525f13a0ba1aa7b05b203d186e0c6072a8a4738649d0b3cfd2 libarchive-3.2.1.tar.gz +sha256 ed2dbd6954792b2c054ccf8ec4b330a54b85904a80cef477a1c74643ddafa0ce libarchive-3.3.2.tar.gz diff --git a/package/libarchive/libarchive.mk b/package/libarchive/libarchive.mk index bcf92f907a..1c8391bda9 100644 --- a/package/libarchive/libarchive.mk +++ b/package/libarchive/libarchive.mk @@ -4,10 +4,10 @@ # ################################################################################ -LIBARCHIVE_VERSION = 3.2.1 +LIBARCHIVE_VERSION = 3.3.2 LIBARCHIVE_SITE = http://www.libarchive.org/downloads LIBARCHIVE_INSTALL_STAGING = YES -LIBARCHIVE_LICENSE = BSD-2c, BSD-3c +LIBARCHIVE_LICENSE = BSD-2-Clause, BSD-3-Clause LIBARCHIVE_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_LIBARCHIVE_BSDTAR),y) diff --git a/package/libargtable2/libargtable2.mk b/package/libargtable2/libargtable2.mk index 6b42cc0899..8215f552cd 100644 --- a/package/libargtable2/libargtable2.mk +++ b/package/libargtable2/libargtable2.mk @@ -13,7 +13,7 @@ LIBARGTABLE2_CONF_OPTS = \ --disable-kernel-module \ --enable-lib \ --enable-util -LIBARGTABLE2_LICENSE = LGPLv2+ +LIBARGTABLE2_LICENSE = LGPL-2.0+ LIBARGTABLE2_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/libart/libart.mk b/package/libart/libart.mk index 85ee37c156..b3c6176a57 100644 --- a/package/libart/libart.mk +++ b/package/libart/libart.mk @@ -11,7 +11,7 @@ LIBART_SITE = http://ftp.gnome.org/pub/gnome/sources/libart_lgpl/$(LIBART_VERSIO LIBART_AUTORECONF = YES LIBART_INSTALL_STAGING = YES LIBART_CONFIG_SCRIPTS = libart2-config -LIBART_LICENSE = LGPLv2+ +LIBART_LICENSE = LGPL-2.0+ LIBART_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/libasplib/libasplib.mk b/package/libasplib/libasplib.mk index 558d173496..e13945c6f2 100644 --- a/package/libasplib/libasplib.mk +++ b/package/libasplib/libasplib.mk @@ -6,7 +6,7 @@ LIBASPLIB_VERSION = be7fac89218a84b75f7598e3d76625ece99296f2 LIBASPLIB_SITE = $(call github,AchimTuran,asplib,$(LIBASPLIB_VERSION)) -LIBASPLIB_LICENSE = GPLv3+ +LIBASPLIB_LICENSE = GPL-3.0+ LIBASPLIB_LICENSE_FILES = LICENSE LIBASPLIB_INSTALL_STAGING = YES diff --git a/package/libass/libass.hash b/package/libass/libass.hash index d1e9022c82..d98b163f38 100644 --- a/package/libass/libass.hash +++ b/package/libass/libass.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 d84a2fc89011b99d87fc47af91906622707c165d1860e9f774825ebbbc9c9fb6 libass-0.13.4.tar.xz +sha256 7065e5f5fb76e46f2042a62e7c68d81e5482dbeeda24644db1bd066e44da7e9d libass-0.13.7.tar.xz diff --git a/package/libass/libass.mk b/package/libass/libass.mk index 9fe967fdc0..41f027d4c7 100644 --- a/package/libass/libass.mk +++ b/package/libass/libass.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBASS_VERSION = 0.13.4 +LIBASS_VERSION = 0.13.7 LIBASS_SOURCE = libass-$(LIBASS_VERSION).tar.xz # Do not use the github helper here, the generated tarball is *NOT* # the same as the one uploaded by upstream for the release. diff --git a/package/libassuan/libassuan.mk b/package/libassuan/libassuan.mk index c4d2e4f4f3..0e3aca36e2 100644 --- a/package/libassuan/libassuan.mk +++ b/package/libassuan/libassuan.mk @@ -7,7 +7,7 @@ LIBASSUAN_VERSION = 2.4.3 LIBASSUAN_SITE = ftp://ftp.gnupg.org/gcrypt/libassuan LIBASSUAN_SOURCE = libassuan-$(LIBASSUAN_VERSION).tar.bz2 -LIBASSUAN_LICENSE = LGPLv2.1+ (library), GPLv3 (tests, doc) +LIBASSUAN_LICENSE = LGPL-2.1+ (library), GPL-3.0 (tests, doc) LIBASSUAN_LICENSE_FILES = COPYING.LIB COPYING LIBASSUAN_INSTALL_STAGING = YES LIBASSUAN_DEPENDENCIES = libgpg-error diff --git a/package/libatasmart/libatasmart.mk b/package/libatasmart/libatasmart.mk index 9e5de97d00..1d4eeaaeb8 100644 --- a/package/libatasmart/libatasmart.mk +++ b/package/libatasmart/libatasmart.mk @@ -7,7 +7,7 @@ LIBATASMART_VERSION = 0.19 LIBATASMART_SOURCE = libatasmart-$(LIBATASMART_VERSION).tar.xz LIBATASMART_SITE = http://0pointer.de/public -LIBATASMART_LICENSE = LGPLv2.1 +LIBATASMART_LICENSE = LGPL-2.1 LIBATASMART_LICENSE_FILES = LGPL LIBATASMART_INSTALL_STAGING = YES diff --git a/package/libatomic_ops/libatomic_ops.hash b/package/libatomic_ops/libatomic_ops.hash index 47a281ddf2..9e67624d91 100644 --- a/package/libatomic_ops/libatomic_ops.hash +++ b/package/libatomic_ops/libatomic_ops.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 ef8335676f18a111f885d48810ab090fb6bfad94e5a5dd76cdccd2a536828662 libatomic_ops-libatomic_ops-7_4_4.tar.gz +sha256 cf7e61f7f929651b65d6186a03446819805c867f4f75c7148c8f26321eb66260 libatomic_ops-v7.4.6.tar.gz diff --git a/package/libatomic_ops/libatomic_ops.mk b/package/libatomic_ops/libatomic_ops.mk index b5e217237c..483f118128 100644 --- a/package/libatomic_ops/libatomic_ops.mk +++ b/package/libatomic_ops/libatomic_ops.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBATOMIC_OPS_VERSION = libatomic_ops-7_4_4 +LIBATOMIC_OPS_VERSION = v7.4.6 LIBATOMIC_OPS_SITE = $(call github,ivmai,libatomic_ops,$(LIBATOMIC_OPS_VERSION)) LIBATOMIC_OPS_AUTORECONF = YES @@ -14,7 +14,7 @@ LIBATOMIC_OPS_AUTORECONF = YES # covered by an MIT-style license. A few library routines are covered # by the GNU General Public License. These are put into a separate # library, libatomic_ops_gpl.a." -LIBATOMIC_OPS_LICENSE = MIT (main library) / GPLv2+ (gpl extension) +LIBATOMIC_OPS_LICENSE = MIT (main library) / GPL-2.0+ (gpl extension) LIBATOMIC_OPS_LICENSE_FILES = doc/LICENSING.txt COPYING LIBATOMIC_OPS_INSTALL_STAGING = YES diff --git a/package/libb64/Config.in b/package/libb64/Config.in new file mode 100644 index 0000000000..405d0b8c4b --- /dev/null +++ b/package/libb64/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_LIBB64 + bool "libb64" + help + libb64 is a library of ANSI C routines for fast encoding + and decoding of data into and from a base64-encoded format. + C++ wrappers are included, as well as the source code for + standalone encoding and decoding executables. + + Base64 uses a subset of displayable ASCII characters, and is + therefore a useful encoding for storing binary data in a text + file, such as XML, or sending binary data over text-only + email. + + http://libb64.sourceforge.net diff --git a/package/libb64/libb64.hash b/package/libb64/libb64.hash new file mode 100644 index 0000000000..012a7b0b00 --- /dev/null +++ b/package/libb64/libb64.hash @@ -0,0 +1,3 @@ +# sha1 from sourceforge, sha256 locally computed +sha1 04b3e21b8c951d27f02fe91249ca3474554af0b9 libb64-1.2.1.zip +sha256 20106f0ba95cfd9c35a13c71206643e3fb3e46512df3e2efb2fdbf87116314b2 libb64-1.2.1.zip diff --git a/package/libb64/libb64.mk b/package/libb64/libb64.mk new file mode 100644 index 0000000000..4dea9593a0 --- /dev/null +++ b/package/libb64/libb64.mk @@ -0,0 +1,30 @@ +################################################################################ +# +# libb64 +# +################################################################################ + +LIBB64_VERSION = 1.2.1 +LIBB64_SOURCE = libb64-$(LIBB64_VERSION).zip +LIBB64_SITE = https://downloads.sourceforge.net/project/libb64/libb64/libb64 +LIBB64_LICENSE = Public Domain +LIBB64_LICENSE_FILES = LICENSE +LIBB64_INSTALL_STAGING = YES +# Only static lib and headers +LIBB64_INSTALL_TARGET = NO + +define LIBB64_EXTRACT_CMDS + unzip $(DL_DIR)/$(LIBB64_SOURCE) -d $(BUILD_DIR) +endef + +define LIBB64_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" CCFLAGS="$(TARGET_CFLAGS)" -C $(@D) all_src +endef + +define LIBB64_INSTALL_STAGING_CMDS + $(INSTALL) -d -m 0755 $(STAGING_DIR)/usr/include/b64 + $(INSTALL) -m 0644 $(@D)/include/b64/* $(STAGING_DIR)/usr/include/b64 + $(INSTALL) -D -m 0755 $(@D)/src/libb64.a $(STAGING_DIR)/usr/lib +endef + +$(eval $(generic-package)) diff --git a/package/libbdplus/libbdplus.mk b/package/libbdplus/libbdplus.mk index 45913edda6..b0e8b1488d 100644 --- a/package/libbdplus/libbdplus.mk +++ b/package/libbdplus/libbdplus.mk @@ -7,7 +7,7 @@ LIBBDPLUS_VERSION = 0.1.2 LIBBDPLUS_SITE = http://download.videolan.org/pub/videolan/libbdplus/$(LIBBDPLUS_VERSION) LIBBDPLUS_SOURCE = libbdplus-$(LIBBDPLUS_VERSION).tar.bz2 -LIBBDPLUS_LICENSE = LGPLv2.1+ +LIBBDPLUS_LICENSE = LGPL-2.1+ LIBBDPLUS_LICENSE_FILES = COPYING LIBBDPLUS_INSTALL_STAGING = YES LIBBDPLUS_DEPENDENCIES = libgcrypt diff --git a/package/libbluray/libbluray.hash b/package/libbluray/libbluray.hash index ea0df505dd..1cb9d8d3c8 100644 --- a/package/libbluray/libbluray.hash +++ b/package/libbluray/libbluray.hash @@ -1,2 +1,2 @@ -# From http://get.videolan.org/libbluray/0.9.3/libbluray-0.9.3.tar.bz2.sha512 -sha512 1e308b85c51d43b23b186fdd2631f963d4c25de8aff29f335e131b32a175434ee21460a7aa470c508ad13662cf9052649bb4eb974dbd709eb9e6797fb84e0823 libbluray-0.9.3.tar.bz2 +# From http://get.videolan.org/libbluray/1.0.1/libbluray-1.0.1.tar.bz2.sha512 +sha512 798d38cc95af87599af5838e5c288f2536a73b33191db8ff3774cf7eb5b835006bea83693f016d47dff551001b98527d8b1f14051f673fb3b28073b820e325d7 libbluray-1.0.1.tar.bz2 diff --git a/package/libbluray/libbluray.mk b/package/libbluray/libbluray.mk index dfe58f4e1c..4928f8acb8 100644 --- a/package/libbluray/libbluray.mk +++ b/package/libbluray/libbluray.mk @@ -4,15 +4,15 @@ # ################################################################################ -LIBBLURAY_VERSION = 0.9.3 +LIBBLURAY_VERSION = 1.0.1 LIBBLURAY_SITE = http://get.videolan.org/libbluray/$(LIBBLURAY_VERSION) LIBBLURAY_SOURCE = libbluray-$(LIBBLURAY_VERSION).tar.bz2 LIBBLURAY_INSTALL_STAGING = YES -LIBBLURAY_LICENSE = LGPLv2.1+ +LIBBLURAY_LICENSE = LGPL-2.1+ LIBBLURAY_LICENSE_FILES = COPYING LIBBLURAY_DEPENDENCIES = host-pkgconf -LIBBLURAY_CONF_OPTS = --enable-udf --disable-bdjava +LIBBLURAY_CONF_OPTS = --disable-bdjava-jar ifeq ($(BR2_PACKAGE_LIBICONV),y) LIBBLURAY_DEPENDENCIES += libiconv diff --git a/package/libbroadvoice/libbroadvoice.hash b/package/libbroadvoice/libbroadvoice.hash new file mode 100644 index 0000000000..e339aa4436 --- /dev/null +++ b/package/libbroadvoice/libbroadvoice.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 b68c91d5af6e493c3d4fc3be04825e109a7593fe4de8c18ec75546004eeb4749 libbroadvoice-f65b0f50c8c767229fbf1758370880abc0d78564.tar.gz diff --git a/package/libbroadvoice/libbroadvoice.mk b/package/libbroadvoice/libbroadvoice.mk index c18d3d292b..9c6b4e292d 100644 --- a/package/libbroadvoice/libbroadvoice.mk +++ b/package/libbroadvoice/libbroadvoice.mk @@ -11,7 +11,7 @@ LIBBROADVOICE_VERSION = f65b0f50c8c767229fbf1758370880abc0d78564 # usable interface, on a range of platforms." LIBBROADVOICE_SITE = https://freeswitch.org/stash/scm/sd/libbroadvoice.git LIBBROADVOICE_SITE_METHOD = git -LIBBROADVOICE_LICENSE = LGPLv2.1 +LIBBROADVOICE_LICENSE = LGPL-2.1 LIBBROADVOICE_LICENSE_FILES = COPYING LIBBROADVOICE_AUTORECONF = YES LIBBROADVOICE_INSTALL_STAGING = YES diff --git a/package/libbsd/Config.in b/package/libbsd/Config.in index 9b5b89812f..11e4c4d974 100644 --- a/package/libbsd/Config.in +++ b/package/libbsd/Config.in @@ -1,7 +1,9 @@ config BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS bool - # libbsd does not support the MicroBlaze ELF machine type (see local-elf.h) - default y if !BR2_microblaze + default y + # libbsd does not support those architectures (see src/local-elf.h) + depends on !BR2_microblaze + depends on !BR2_arc config BR2_PACKAGE_LIBBSD bool "libbsd" diff --git a/package/libbsd/libbsd.mk b/package/libbsd/libbsd.mk index a932f2b483..eba25d7d03 100644 --- a/package/libbsd/libbsd.mk +++ b/package/libbsd/libbsd.mk @@ -7,7 +7,7 @@ LIBBSD_VERSION = 0.8.3 LIBBSD_SOURCE = libbsd-$(LIBBSD_VERSION).tar.xz LIBBSD_SITE = http://libbsd.freedesktop.org/releases -LIBBSD_LICENSE = BSD-3c, MIT +LIBBSD_LICENSE = BSD-3-Clause, MIT LIBBSD_LICENSE_FILES = COPYING LIBBSD_INSTALL_STAGING = YES diff --git a/package/libbson/Config.in b/package/libbson/Config.in new file mode 100644 index 0000000000..4305ca9037 --- /dev/null +++ b/package/libbson/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_LIBBSON + bool "libbson" + depends on BR2_TOOLCHAIN_HAS_THREADS + help + libbson is a library providing useful routines related to + building, parsing, and iterating BSON documents. + +comment "libbson needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libbson/libbson.hash b/package/libbson/libbson.hash new file mode 100644 index 0000000000..27abe90bfd --- /dev/null +++ b/package/libbson/libbson.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 aad410123e4bd8a9804c3c3d79e03344e2df104872594dc2cf19605d492944ba libbson-1.6.2.tar.gz diff --git a/package/libbson/libbson.mk b/package/libbson/libbson.mk new file mode 100644 index 0000000000..8a71fc394c --- /dev/null +++ b/package/libbson/libbson.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# libbson +# +################################################################################ + +LIBBSON_VERSION = 1.6.2 +LIBBSON_SITE = https://github.com/mongodb/libbson/releases/download/$(LIBBSON_VERSION) +LIBBSON_LICENSE = Apache-2.0, MIT (jsonl), ISC (b64), Zlib (md5) +LIBBSON_LICENSE_FILES = COPYING THIRD_PARTY_NOTICES +LIBBSON_CONF_OPTS = \ + --disable-tests \ + --disable-examples \ + --disable-man-pages \ + --disable-html-docs + +LIBBSON_INSTALL_STAGING = YES + +# Also has CMake support, but that forces shared+static libs and static +# lib has a different name. +$(eval $(autotools-package)) diff --git a/package/libcap-ng/Config.in b/package/libcap-ng/Config.in index d1663cdefc..46f0b69ca4 100644 --- a/package/libcap-ng/Config.in +++ b/package/libcap-ng/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_LIBCAP_NG The libcap-ng library is intended to make programming with posix capabilities much easier than the traditional libcap library. It includes utilities that can analyse all currently - running applications and print out any capabilities and whether - or not it has an open ended bounding set. + running applications and print out any capabilities and + whether or not it has an open ended bounding set. http://people.redhat.com/sgrubb/libcap-ng/ diff --git a/package/libcap-ng/libcap-ng.mk b/package/libcap-ng/libcap-ng.mk index 19cc27d56f..568f167b48 100644 --- a/package/libcap-ng/libcap-ng.mk +++ b/package/libcap-ng/libcap-ng.mk @@ -6,7 +6,7 @@ LIBCAP_NG_VERSION = 0.7.8 LIBCAP_NG_SITE = http://people.redhat.com/sgrubb/libcap-ng -LIBCAP_NG_LICENSE = GPLv2+ (programs), LGPLv2.1+ (library) +LIBCAP_NG_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (library) LIBCAP_NG_LICENSE_FILES = COPYING COPYING.LIB LIBCAP_NG_INSTALL_STAGING = YES diff --git a/package/libcap/libcap.mk b/package/libcap/libcap.mk index bcb5d8cedb..48c2cb3456 100644 --- a/package/libcap/libcap.mk +++ b/package/libcap/libcap.mk @@ -7,7 +7,7 @@ LIBCAP_VERSION = 2.25 LIBCAP_SITE = https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2 LIBCAP_SOURCE = libcap-$(LIBCAP_VERSION).tar.xz -LIBCAP_LICENSE = GPLv2 or BSD-3c +LIBCAP_LICENSE = GPL-2.0 or BSD-3-Clause LIBCAP_LICENSE_FILES = License LIBCAP_DEPENDENCIES = host-libcap host-gperf @@ -63,8 +63,8 @@ define HOST_LIBCAP_BUILD_CMDS endef define HOST_LIBCAP_INSTALL_CMDS - $(HOST_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(HOST_DIR) \ - RAISE_SETFCAP=no prefix=/usr lib=lib install + $(HOST_MAKE_ENV) $(MAKE) -C $(@D) prefix=$(HOST_DIR) \ + RAISE_SETFCAP=no lib=lib install endef $(eval $(generic-package)) diff --git a/package/libcdaudio/libcdaudio.mk b/package/libcdaudio/libcdaudio.mk index bee1fe3d23..5d421eba7a 100644 --- a/package/libcdaudio/libcdaudio.mk +++ b/package/libcdaudio/libcdaudio.mk @@ -8,7 +8,7 @@ LIBCDAUDIO_VERSION = 0.99.12p2 LIBCDAUDIO_SITE = http://downloads.sourceforge.net/project/libcdaudio/libcdaudio/$(LIBCDAUDIO_VERSION) LIBCDAUDIO_INSTALL_STAGING = YES LIBCDAUDIO_CONFIG_SCRIPTS = libcdaudio-config -LIBCDAUDIO_LICENSE = GPLv2+ +LIBCDAUDIO_LICENSE = GPL-2.0+ LIBCDAUDIO_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/libcddb/libcddb.mk b/package/libcddb/libcddb.mk index 96b265a4dd..952a8799ae 100644 --- a/package/libcddb/libcddb.mk +++ b/package/libcddb/libcddb.mk @@ -7,7 +7,7 @@ LIBCDDB_VERSION = 1.3.2 LIBCDDB_SOURCE = libcddb-$(LIBCDDB_VERSION).tar.bz2 LIBCDDB_SITE = http://downloads.sourceforge.net/libcddb -LIBCDDB_LICENSE = LGPLv2+ +LIBCDDB_LICENSE = LGPL-2.0+ LIBCDDB_LICENSE_FILES = COPYING LIBCDDB_INSTALL_STAGING = YES diff --git a/package/libcdio/libcdio.mk b/package/libcdio/libcdio.mk index 4a7c6745cc..f0fc33527a 100644 --- a/package/libcdio/libcdio.mk +++ b/package/libcdio/libcdio.mk @@ -7,7 +7,7 @@ LIBCDIO_VERSION = 0.94 LIBCDIO_SITE = $(BR2_GNU_MIRROR)/libcdio LIBCDIO_INSTALL_STAGING = YES -LIBCDIO_LICENSE = GPLv3+ +LIBCDIO_LICENSE = GPL-3.0+ LIBCDIO_LICENSE_FILES = COPYING LIBCDIO_CONF_OPTS = --disable-example-progs --disable-cddb diff --git a/package/libcec/libcec.mk b/package/libcec/libcec.mk index f00e10f5d2..6d14447958 100644 --- a/package/libcec/libcec.mk +++ b/package/libcec/libcec.mk @@ -6,7 +6,7 @@ LIBCEC_VERSION = 4.0.2 LIBCEC_SITE = $(call github,Pulse-Eight,libcec,libcec-$(LIBCEC_VERSION)) -LIBCEC_LICENSE = GPLv2+ +LIBCEC_LICENSE = GPL-2.0+ LIBCEC_LICENSE_FILES = COPYING LIBCEC_INSTALL_STAGING = YES diff --git a/package/libcgi/0001-CMakeLists.txt-libcgi-is-in-C.patch b/package/libcgi/0001-CMakeLists.txt-libcgi-is-in-C.patch new file mode 100644 index 0000000000..682bfe5d52 --- /dev/null +++ b/package/libcgi/0001-CMakeLists.txt-libcgi-is-in-C.patch @@ -0,0 +1,32 @@ +From 043f7a470e32c036f0fe933ec5cd2003087d6b2e Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 2 Sep 2017 23:50:42 +0200 +Subject: [PATCH] CMakeLists.txt: libcgi is in C + +By default, CMake checks that both C and C++ compilers are +available. However, since libcgi is only C, there's no need for a C++ +compiler check. Therefore, this commit adjusts the project() variable +definition to only require C language support. + +Signed-off-by: Thomas Petazzoni +Submitted-upstream: https://github.com/rafaelsteil/libcgi/pull/38 +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f98a99d..c599ca9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -3,7 +3,7 @@ + # + cmake_minimum_required(VERSION 2.8.8) + +-project(cgi) ++project(cgi C) + string(TOUPPER ${PROJECT_NAME} PROJECT_NAME_UC) + string(TOLOWER ${PROJECT_NAME} PROJECT_NAME_LC) + set(LIBPREFIX ${PROJECT_NAME}) +-- +2.13.5 + diff --git a/package/libcgi/0001-misc-fixes.patch b/package/libcgi/0001-misc-fixes.patch deleted file mode 100644 index b576178546..0000000000 --- a/package/libcgi/0001-misc-fixes.patch +++ /dev/null @@ -1,122 +0,0 @@ -Index: b/src/cgi.c -=================================================================== ---- a/src/cgi.c -+++ b/src/cgi.c -@@ -336,7 +336,7 @@ - hextable['b'] = 11; - hextable['c'] = 12; - hextable['d'] = 13; -- hextable['e'] = 13; -+ hextable['e'] = 14; - hextable['f'] = 15; - hextable['A'] = 10; - hextable['B'] = 11; -Index: b/src/string.c -=================================================================== ---- a/src/string.c -+++ b/src/string.c -@@ -584,7 +584,7 @@ - - va_start(ptr, s); - -- va_copy(bkp, str); -+ va_copy(bkp, ptr); - len = strlen(s); - - while (*str) { -Index: b/Makefile.in -=================================================================== ---- a/Makefile.in -+++ b/Makefile.in -@@ -5,22 +5,32 @@ - prefix = @prefix@ - exec_prefix = @exec_prefix@ - --SHAREDOPT = -shared -+SHAREDOPT = -shared -fPIC -Wl,-soname,libcgi.so.0 - LIBDIR = $(prefix)/lib --INCDIR = $(prefix)/include -+INCDIR = $(prefix)/include/libcgi/ - MANDIR = $(prefix)/man/man3 - SHELL = /bin/sh - EXTRA_LIBS = - - INCS = -Isrc --FLAGS = -Wall -fpic -+FLAGS = -Wall -D_REENTRANT - - OBJS = src/error.o src/cgi.o src/session.o src/base64.o src/md5.o \ - src/string.o src/general.o src/list.o src/cookie.o -+SHOBJS=$(OBJS:.o=.sh.o) - --.c.o: $(CC) $(FLAGS) -c $< -+ALL_TARGETS = src/libcgi.a -+ifeq ($(STATIC),) -+ALL_TARGETS += src/libcgi.so -+endif - --all: $(OBJS) src/libcgi.so -+%.o: %.c -+ $(CC) $(FLAGS) -c $*.c -o $@ -+ -+%.sh.o: %.c -+ $(CC) $(FLAGS) -fPIC -c $*.c -o $@ -+ -+all: $(ALL_TARGETS) - - @echo "" - @echo "" -@@ -48,14 +58,17 @@ - src/libcgi.a: $(OBJS) - $(AR) rc src/libcgi.a $(OBJS) - --src/libcgi.so: src/libcgi.a -- $(CC) $(SHAREDOPT) -o src/libcgi.so $(OBJS) $(EXTRA_LIBS) -+src/libcgi.so: $(SHOBJS) -+ $(CC) $(SHAREDOPT) -o src/libcgi.so $(SHOBJS) $(EXTRA_LIBS) - - install: -- cp src/libcgi.a $(LIBDIR) -- cp src/libcgi.so $(LIBDIR) -- cp src/cgi.h $(INCDIR) -- cp src/session.h $(INCDIR) -+ cp src/libcgi.a $(DESTDIR)/$(LIBDIR) -+ifeq ($(STATIC),) -+ cp src/libcgi.so $(DESTDIR)/$(LIBDIR) -+endif -+ [ -d $(DESTDIR)/$(INCDIR) ] || mkdir -p $(DESTDIR)/$(INCDIR) -+ cp src/cgi.h $(DESTDIR)/$(INCDIR) -+ cp src/session.h $(DESTDIR)/$(INCDIR) - - - src/error.o: src/error.c src/error.h -@@ -69,8 +82,9 @@ - src/list.o: src/list.c - - clean: -- find src/ -name *.*o -exec rm -f {} \; -+ find src/ -name *.o -exec rm -f {} \; - find src/ -name *.a -exec rm -f {} \; -+ find src/ -name *.so -exec rm -f {} \; - - uninstall: clean - rm -f $(LIBDIR)/libcgi.* -@@ -78,11 +92,11 @@ - rm -f $(INCDIR)/session.h - rm -f $(MANDIR)/libcgi* - --install_man: -- cp doc/man/man3/libcgi_base64.3 $(MANDIR) -- cp doc/man/man3/libcgi_cgi.3 $(MANDIR) -- cp doc/man/man3/libcgi_general.3 $(MANDIR) -- cp doc/man/man3/libcgi_string.3 $(MANDIR) -- cp doc/man/man3/libcgi_session.3 $(MANDIR) -- cp doc/man/man3/libcgi_cookie.3 $(MANDIR) -+#install_man: -+# cp doc/man/man3/libcgi_base64.3 $(MANDIR) -+# cp doc/man/man3/libcgi_cgi.3 $(MANDIR) -+# cp doc/man/man3/libcgi_general.3 $(MANDIR) -+# cp doc/man/man3/libcgi_string.3 $(MANDIR) -+# cp doc/man/man3/libcgi_session.3 $(MANDIR) -+# cp doc/man/man3/libcgi_cookie.3 $(MANDIR) - diff --git a/package/libcgi/0002-CMakeLists.txt-don-t-force-the-build-of-a-shared-lib.patch b/package/libcgi/0002-CMakeLists.txt-don-t-force-the-build-of-a-shared-lib.patch new file mode 100644 index 0000000000..ebf91b0a62 --- /dev/null +++ b/package/libcgi/0002-CMakeLists.txt-don-t-force-the-build-of-a-shared-lib.patch @@ -0,0 +1,44 @@ +From 9bb9d67da0e4faf4bb3a47786dee127e66a49ed0 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 3 Sep 2017 15:22:30 +0200 +Subject: [PATCH] CMakeLists.txt: don't force the build of a shared library + +Building a shared library doesn't work on all platforms, so instead, +let CMake rely on the standard BUILD_SHARED_LIBS variable to decide +whether a static or shared library should be built. + +Signed-off-by: Thomas Petazzoni +Submitted-upstream: https://github.com/rafaelsteil/libcgi/pull/39 +--- + src/CMakeLists.txt | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index f32d22e..3bde408 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -23,17 +23,18 @@ set(CGI_SRC + ) + + # create binary +-add_library(${PROJECT_NAME}-shared SHARED ${CGI_SRC}) +-set_target_properties(${PROJECT_NAME}-shared PROPERTIES ++add_library(${PROJECT_NAME} ${CGI_SRC}) ++set_target_properties(${PROJECT_NAME} PROPERTIES + OUTPUT_NAME ${PROJECT_NAME} + SOVERSION ${PROJECT_VERSION_MAJOR} + VERSION ${PROJECT_VERSION} + ) + + # install binary +-install(TARGETS ${PROJECT_NAME}-shared ++install(TARGETS ${PROJECT_NAME} + EXPORT ${PROJECT_NAME}-targets + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + ) + + # install cmake targets +-- +2.13.5 + diff --git a/package/libcgi/Config.in b/package/libcgi/Config.in index 430039e559..33369079b3 100644 --- a/package/libcgi/Config.in +++ b/package/libcgi/Config.in @@ -8,4 +8,4 @@ config BR2_PACKAGE_LIBCGI session and cookie support, GET and POST methods manipulation etc..., to help you to quickly write powerful CGI programs. - http://libcgi.sourceforge.net/ + https://github.com/rafaelsteil/libcgi/ diff --git a/package/libcgi/libcgi.hash b/package/libcgi/libcgi.hash index 6bd7c0c3d6..3d9f791ed2 100644 --- a/package/libcgi/libcgi.hash +++ b/package/libcgi/libcgi.hash @@ -1,2 +1,2 @@ -# Locally computed: -sha256 861df39cc0195d43419c4c3de8dff4f42478db66c9ba0b0c1e994c99400e130c libcgi-1.0.tar.gz +# From https://github.com/rafaelsteil/libcgi/releases/download/v1.1/libcgi-1.1.tar.gz.sha256sum +sha256 128445f2f828e84905d51bd53d11e2e08c489df3a07225ff9f198c1318092fe6 libcgi-1.1.tar.gz diff --git a/package/libcgi/libcgi.mk b/package/libcgi/libcgi.mk index 7cb3417382..0d51de7542 100644 --- a/package/libcgi/libcgi.mk +++ b/package/libcgi/libcgi.mk @@ -4,12 +4,10 @@ # ################################################################################ -LIBCGI_VERSION = 1.0 -LIBCGI_SITE = http://downloads.sourceforge.net/project/libcgi/libcgi/$(LIBCGI_VERSION) -LIBCGI_INSTALL_STAGING = YES -# use cross CC/AR rather than host -LIBCGI_MAKE_ENV = CC="$(TARGET_CC) $(TARGET_CFLAGS)" AR="$(TARGET_AR)" \ - $(if $(BR2_STATIC_LIBS),STATIC=1) -LIBCGI_LICENSE = LGPLv2.1+ +LIBCGI_VERSION = 1.1 +LIBCGI_SITE = https://github.com/rafaelsteil/libcgi/releases/download/v$(LIBCGI_VERSION) -$(eval $(autotools-package)) +LIBCGI_INSTALL_STAGING = YES +LIBCGI_LICENSE = LGPL-2.1+ + +$(eval $(cmake-package)) diff --git a/package/libcgicc/libcgicc.mk b/package/libcgicc/libcgicc.mk index 1c36d42aa7..09df3a1bcb 100644 --- a/package/libcgicc/libcgicc.mk +++ b/package/libcgicc/libcgicc.mk @@ -7,7 +7,7 @@ LIBCGICC_VERSION = 3.2.16 LIBCGICC_SITE = $(BR2_GNU_MIRROR)/cgicc LIBCGICC_SOURCE = cgicc-$(LIBCGICC_VERSION).tar.bz2 -LIBCGICC_LICENSE = LGPLv3+ (library), GFDL1.2+ (docs) +LIBCGICC_LICENSE = LGPL-3.0+ (library), GFDL-1.2+ (docs) LIBCGICC_LICENSE_FILES = COPYING.LIB COPYING.DOC LIBCGICC_INSTALL_STAGING = YES LIBCGICC_AUTORECONF = YES diff --git a/package/libcgroup/libcgroup.mk b/package/libcgroup/libcgroup.mk index a4c3084c6c..3845627d48 100644 --- a/package/libcgroup/libcgroup.mk +++ b/package/libcgroup/libcgroup.mk @@ -7,7 +7,7 @@ LIBCGROUP_VERSION = 0.41 LIBCGROUP_SOURCE = libcgroup-$(LIBCGROUP_VERSION).tar.bz2 LIBCGROUP_SITE = http://downloads.sourceforge.net/project/libcg/libcgroup/v$(LIBCGROUP_VERSION) -LIBCGROUP_LICENSE = LGPLv2.1 +LIBCGROUP_LICENSE = LGPL-2.1 LIBCGROUP_LICENSE_FILES = COPYING LIBCGROUP_DEPENDENCIES = host-bison host-flex LIBCGROUP_INSTALL_STAGING = YES diff --git a/package/libcli/Config.in b/package/libcli/Config.in index e20afb0e02..3b625c3648 100644 --- a/package/libcli/Config.in +++ b/package/libcli/Config.in @@ -8,4 +8,3 @@ config BR2_PACKAGE_LIBCLI tree. http://sites.dparrish.com/libcli - diff --git a/package/libcli/libcli.mk b/package/libcli/libcli.mk index 17eed79884..0fef008a4f 100644 --- a/package/libcli/libcli.mk +++ b/package/libcli/libcli.mk @@ -6,7 +6,7 @@ LIBCLI_VERSION = c63c9d35144939c8b4fa3c5394aed2e29ff517b0 LIBCLI_SITE = $(call github,dparrish,libcli,$(LIBCLI_VERSION)) -LIBCLI_LICENSE = LGPLv2.1 +LIBCLI_LICENSE = LGPL-2.1 LIBCLI_LICENSE_FILES = COPYING LIBCLI_INSTALL_STAGING = YES diff --git a/package/libcoap/0001-configure-only-add-Wunused-result-if-supported-by-th.patch b/package/libcoap/0001-configure-only-add-Wunused-result-if-supported-by-th.patch deleted file mode 100644 index bc93890450..0000000000 --- a/package/libcoap/0001-configure-only-add-Wunused-result-if-supported-by-th.patch +++ /dev/null @@ -1,38 +0,0 @@ -From d5914ecbb0285aea1eb2b9432d6e91155877fd95 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Thu, 9 Jun 2016 21:53:59 +0200 -Subject: [PATCH] configure: only add -Wunused-result if supported by the - compiler - -Old gcc versions such as 4.3.x do not support -Wunused-result, so -instead of unconditionally using this warning, only use it if supported -by the compiler. - -Signed-off-by: Thomas Petazzoni ---- -Submitted upstream: https://github.com/obgm/libcoap/pull/32 - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index f4452ac..6354fcf 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -110,12 +110,12 @@ WARNING_CFLAGS="\ - -Wswitch-default \ - -Wswitch-enum \ - -Wunused \ ---Wunused-result \ - " - - # check whether or not the compiler supports -Wlogical-op (clang does not...) - AX_CHECK_COMPILE_FLAG([-Wlogical-op], [WARNING_CFLAGS="$WARNING_CFLAGS -Wlogical-op"],,[-Werror]) - AX_CHECK_COMPILE_FLAG([-fdiagnostics-color], [CFLAGS="$CFLAGS -fdiagnostics-color"],,[-Werror]) -+AX_CHECK_COMPILE_FLAG([-Wunused-result], [WARNING_CFLAGS="$WARNING_CFLAGS -Wunused-result"]) - - AC_SUBST([WARNING_CFLAGS]) - --- -2.7.4 - diff --git a/package/libcoap/Config.in b/package/libcoap/Config.in index c089b550ab..6e0c1905bc 100644 --- a/package/libcoap/Config.in +++ b/package/libcoap/Config.in @@ -1,10 +1,11 @@ config BR2_PACKAGE_LIBCOAP bool "libcoap" help - libcoap is a C implementation of a lightweight application-protocol - for devices that are constrained their resources such as computing - power, RF range, memory, bandwith, or network packet sizes. This - protocol, CoAP, is standardized by the IETF as RFC 7252. For further - information related to CoAP, see . + libcoap is a C implementation of a lightweight + application-protocol for devices that are constrained their + resources such as computing power, RF range, memory, bandwith, + or network packet sizes. This protocol, CoAP, is standardized + by the IETF as RFC 7252. For further information related to + CoAP, see . https://github.com/obgm/libcoap diff --git a/package/libcoap/libcoap.hash b/package/libcoap/libcoap.hash index dce491b5bc..708ca1b6e7 100644 --- a/package/libcoap/libcoap.hash +++ b/package/libcoap/libcoap.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 f66e91742c2b027fcd7c575d8e7b53d79d3624aad1b3baba481dd88f6e2bc44d libcoap-c909bf802034b7762a2182848304b2530e58444f.tar.gz +sha256 f7e26dc232c177336474a14487771037a8fb32e311f5ccd076a00dc04b6d7b7a libcoap-v4.1.2.tar.gz diff --git a/package/libcoap/libcoap.mk b/package/libcoap/libcoap.mk index ef9b731b86..31a6822dd3 100644 --- a/package/libcoap/libcoap.mk +++ b/package/libcoap/libcoap.mk @@ -4,10 +4,10 @@ # ################################################################################ -LIBCOAP_VERSION = c909bf802034b7762a2182848304b2530e58444f +LIBCOAP_VERSION = v4.1.2 LIBCOAP_SITE = $(call github,obgm,libcoap,$(LIBCOAP_VERSION)) LIBCOAP_INSTALL_STAGING = YES -LIBCOAP_LICENSE = GPLv2+ or BSD-2c +LIBCOAP_LICENSE = GPL-2.0+ or BSD-2-Clause LIBCOAP_LICENSE_FILES = COPYING LICENSE.GPL LICENSE.BSD LIBCOAP_CONF_OPTS = --disable-examples LIBCOAP_AUTORECONF = YES diff --git a/package/libcodec2/0001-Use-the-native-compiler-to-build-generate_cookbook.patch b/package/libcodec2/0001-Use-the-native-compiler-to-build-generate_cookbook.patch deleted file mode 100644 index ede31dbc2a..0000000000 --- a/package/libcodec2/0001-Use-the-native-compiler-to-build-generate_cookbook.patch +++ /dev/null @@ -1,153 +0,0 @@ -From c7c769990bca3049bc389dcbd9985adaec134946 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sat, 29 Aug 2015 11:59:18 +0200 -Subject: [PATCH] Use the native compiler to build generate_cookbook - -The generate_cookbook binary needs to be executed at build time. When -cross-compiling, this means that it should be built with the native -compiler rather than the cross-compiler. - -To achieve this, this commit imports the AX_CC_FOR_BUILD autoconf -macro from the GNU Autoconf Archive project, and adjusts -src/Makefile.am to use CC_FOR_BUILD to build generate_cookbook. - -Based on initial work by Bernd Kuhls. - -Signed-off-by: Thomas Petazzoni ---- - Makefile.am | 1 + - configure.ac | 2 ++ - m4/ax_cc_for_build.m4 | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++ - src/Makefile.am | 3 ++ - 4 files changed, 83 insertions(+) - create mode 100644 m4/ax_cc_for_build.m4 - -diff --git a/Makefile.am b/Makefile.am -index 4468bca..bd3ce01 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -2,6 +2,7 @@ AM_CFLAGS = -Isrc -fPIC -Wall -O3 -lm - AUTOMAKE_OPTIONS = gnu - NAME = codec2 - AM_CPPFLAGS = $(AM_CFLAGS) -+ACLOCAL_AMFLAGS = -I m4 - - pkgconfigdir = $(libdir)/pkgconfig - pkgconfig_DATA = codec2.pc -diff --git a/configure.ac b/configure.ac -index 493c517..7520af6 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -4,10 +4,12 @@ - AC_PREREQ([2.59]) - AC_INIT(codec2, 0.2, david@rowetel.com) - AM_INIT_AUTOMAKE -+AC_CONFIG_MACRO_DIR([m4]) - - # Checks for programs. - AC_PROG_CC - AC_PROG_LIBTOOL -+AX_CC_FOR_BUILD - - # Checks for libraries. - # FIXME: Replace `main' with a function in `-lm': -diff --git a/m4/ax_cc_for_build.m4 b/m4/ax_cc_for_build.m4 -new file mode 100644 -index 0000000..c880fd0 ---- /dev/null -+++ b/m4/ax_cc_for_build.m4 -@@ -0,0 +1,77 @@ -+# =========================================================================== -+# http://www.gnu.org/software/autoconf-archive/ax_cc_for_build.html -+# =========================================================================== -+# -+# SYNOPSIS -+# -+# AX_CC_FOR_BUILD -+# -+# DESCRIPTION -+# -+# Find a build-time compiler. Sets CC_FOR_BUILD and EXEEXT_FOR_BUILD. -+# -+# LICENSE -+# -+# Copyright (c) 2010 Reuben Thomas -+# Copyright (c) 1999 Richard Henderson -+# -+# 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 3 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, see . -+# -+# As a special exception, the respective Autoconf Macro's copyright owner -+# gives unlimited permission to copy, distribute and modify the configure -+# scripts that are the output of Autoconf when processing the Macro. You -+# need not follow the terms of the GNU General Public License when using -+# or distributing such scripts, even though portions of the text of the -+# Macro appear in them. The GNU General Public License (GPL) does govern -+# all other use of the material that constitutes the Autoconf Macro. -+# -+# This special exception to the GPL applies to versions of the Autoconf -+# Macro released by the Autoconf Archive. When you make and distribute a -+# modified version of the Autoconf Macro, you may extend this special -+# exception to the GPL to apply to your modified version as well. -+ -+#serial 2 -+ -+dnl Get a default for CC_FOR_BUILD to put into Makefile. -+AC_DEFUN([AX_CC_FOR_BUILD], -+[# Put a plausible default for CC_FOR_BUILD in Makefile. -+if test -z "$CC_FOR_BUILD"; then -+ if test "x$cross_compiling" = "xno"; then -+ CC_FOR_BUILD='$(CC)' -+ else -+ CC_FOR_BUILD=gcc -+ fi -+fi -+AC_SUBST(CC_FOR_BUILD) -+# Also set EXEEXT_FOR_BUILD. -+if test "x$cross_compiling" = "xno"; then -+ EXEEXT_FOR_BUILD='$(EXEEXT)' -+else -+ AC_CACHE_CHECK([for build system executable suffix], bfd_cv_build_exeext, -+ [rm -f conftest* -+ echo 'int main () { return 0; }' > conftest.c -+ bfd_cv_build_exeext= -+ ${CC_FOR_BUILD} -o conftest conftest.c 1>&5 2>&5 -+ for file in conftest.*; do -+ case $file in -+ *.c | *.o | *.obj | *.ilk | *.pdb) ;; -+ *) bfd_cv_build_exeext=`echo $file | sed -e s/conftest//` ;; -+ esac -+ done -+ rm -f conftest* -+ test x"${bfd_cv_build_exeext}" = x && bfd_cv_build_exeext=no]) -+ EXEEXT_FOR_BUILD="" -+ test x"${bfd_cv_build_exeext}" != xno && EXEEXT_FOR_BUILD=${bfd_cv_build_exeext} -+fi -+AC_SUBST(EXEEXT_FOR_BUILD)])dnl -diff --git a/src/Makefile.am b/src/Makefile.am -index 1153b3c..719088d 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -77,6 +77,9 @@ CODEBOOKSGE= \ - - noinst_PROGRAMS = generate_codebook genlspdtcb - -+generate_codebook$(EXEEXT_FOR_BUILD): generate_codebook.c -+ $(CC_FOR_BUILD) -o $@ generate_codebook.c -lm -+ - codebook.$(OBJEXT): codebook.c - codebookd.$(OBJEXT): codebookd.c - codebookdt.$(OBJEXT): codebookdt.c --- -2.5.0 - diff --git a/package/libcodec2/0001-fix-codec2-pc-in.patch b/package/libcodec2/0001-fix-codec2-pc-in.patch new file mode 100644 index 0000000000..5950219de2 --- /dev/null +++ b/package/libcodec2/0001-fix-codec2-pc-in.patch @@ -0,0 +1,20 @@ +Fix includedir in codec2.pc.in + +The template file codec2.pc.in contains the wrong path to the header +files: they are installed in /usr/include/codec2 and not /usr/include/ +directly. + +Signed-off-by: Thomas Petazzoni + +Index: b/codec2.pc.in +=================================================================== +--- a/codec2.pc.in ++++ b/codec2.pc.in +@@ -1,6 +1,6 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + libdir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ +-includedir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@/ ++includedir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@/codec2 + + Name: codec2 + Description: A speech codec for 2400 bit/s and below diff --git a/package/libcodec2/0002-Add-option-to-disable-unit-tests.patch b/package/libcodec2/0002-Add-option-to-disable-unit-tests.patch deleted file mode 100644 index 7822702092..0000000000 --- a/package/libcodec2/0002-Add-option-to-disable-unit-tests.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 19db6244200b870317382294f14b7d561d55a64e Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sat, 29 Aug 2015 12:05:53 +0200 -Subject: [PATCH] Add option to disable unit tests - -The unittests require C++, while the rest of the library does not, so -this commit implements a --{enable,disable}-unittests option to -selectively enable the build of the unit tests. When not provided, the -option defaults to yes so that the existing behavior is preserved. - -Based on initial work by Bernd Kuhls. - -Signed-off-by: Thomas Petazzoni ---- - Makefile.am | 6 +++++- - configure.ac | 5 +++++ - 2 files changed, 10 insertions(+), 1 deletion(-) - -diff --git a/Makefile.am b/Makefile.am -index bd3ce01..1da250b 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -95,4 +95,8 @@ src/codebook/lsp8.txt \ - src/codebook/lsp9.txt \ - src/codebook/lsp10.txt - --SUBDIRS = src unittest -+SUBDIRS = src -+ -+if UNITTESTS -+SUBDIRS += unittest -+endif -diff --git a/configure.ac b/configure.ac -index 7520af6..55b7215 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -24,5 +24,10 @@ AC_CHECK_HEADERS([stdlib.h string.h]) - AC_FUNC_MALLOC - AC_CHECK_FUNCS([floor pow sqrt]) - -+AC_ARG_ENABLE([unittests], -+ AS_HELP_STRING([--disable-unittests], [Disable unittests]), -+ [], [enable_unittests=yes]) -+AM_CONDITIONAL([UNITTESTS], [test "${enable_unittests}" = "yes"]) -+ - AC_CONFIG_FILES([Makefile src/Makefile unittest/Makefile codec2.pc]) - AC_OUTPUT --- -2.5.0 - diff --git a/package/libcodec2/Config.in b/package/libcodec2/Config.in index b27aab1c70..9a9eb86533 100644 --- a/package/libcodec2/Config.in +++ b/package/libcodec2/Config.in @@ -2,6 +2,15 @@ config BR2_PACKAGE_LIBCODEC2 bool "libcodec2" help Codec2 is an open source low bit rate speech codec designed - for communications quality speech between 1200 and 3200 bit/s. + for communications quality speech between 700 and 3200 bit/s. http://rowetel.com/codec2.html + +if BR2_PACKAGE_LIBCODEC2 + +config BR2_PACKAGE_LIBCODEC2_EXAMPLES + bool "libcodec2_examples" + help + Install Codec2 examples. + +endif diff --git a/package/libcodec2/libcodec2.hash b/package/libcodec2/libcodec2.hash new file mode 100644 index 0000000000..47483604cc --- /dev/null +++ b/package/libcodec2/libcodec2.hash @@ -0,0 +1,4 @@ +# sha1 from http://files.freedv.org/codec2/SHA1SUMS +sha1 8988aa33121b857d58a16f75b5061281b254a146 codec-0.7.tar.xz +# Locally computed +sha256 0695bb93cd985dd39f02f0db35ebc28a98b9b88747318f90774aba5f374eadb2 codec2-0.7.tar.xz diff --git a/package/libcodec2/libcodec2.mk b/package/libcodec2/libcodec2.mk index 73f98ca2fe..7d1c6c3839 100644 --- a/package/libcodec2/libcodec2.mk +++ b/package/libcodec2/libcodec2.mk @@ -4,13 +4,17 @@ # ################################################################################ -LIBCODEC2_VERSION = 392a55b4f3f8ad30d845ac6ae35e8b27343bb944 -LIBCODEC2_SITE = https://freeswitch.org/stash/scm/sd/libcodec2.git -LIBCODEC2_SITE_METHOD = git -LIBCODEC2_LICENSE = LGPLv2.1 +LIBCODEC2_VERSION = 0.7 +LIBCODEC2_SITE = http://files.freedv.org/codec2 +LIBCODEC2_SOURCE = codec2-$(LIBCODEC2_VERSION).tar.xz +LIBCODEC2_LICENSE = LGPL-2.1 LIBCODEC2_LICENSE_FILES = COPYING -LIBCODEC2_AUTORECONF = YES LIBCODEC2_INSTALL_STAGING = YES -LIBCODEC2_CONF_OPTS = --disable-unittests +LIBCODEC2_SUPPORTS_IN_SOURCE_BUILD = NO +LIBCODEC2_CONF_OPTS = -DUNITTEST=OFF -$(eval $(autotools-package)) +ifeq ($(BR2_PACKAGE_LIBCODEC2_EXAMPLES),y) +LIBCODEC2_CONF_OPTS += -DINSTALL_EXAMPLES=ON +endif + +$(eval $(cmake-package)) diff --git a/package/libcofi/Config.in b/package/libcofi/Config.in index df9ab71b93..b9d22d43ce 100644 --- a/package/libcofi/Config.in +++ b/package/libcofi/Config.in @@ -5,7 +5,8 @@ config BR2_PACKAGE_LIBCOFI depends on !BR2_STATIC_LIBS help A replacement for memcpy and memset functionality for the - Raspberry Pi with the intention of gaining greater performance. + Raspberry Pi with the intention of gaining greater + performance. https://github.com/simonjhall/copies-and-fills diff --git a/package/libcofi/libcofi.mk b/package/libcofi/libcofi.mk index 90daff2ae8..e611db6b4a 100644 --- a/package/libcofi/libcofi.mk +++ b/package/libcofi/libcofi.mk @@ -6,7 +6,7 @@ LIBCOFI_VERSION = 7313fbe12b0593034d0a1b606bf33c7cf4ababce LIBCOFI_SITE = $(call github,simonjhall,copies-and-fills,$(LIBCOFI_VERSION)) -LIBCOFI_LICENSE = LGPLv2.1 +LIBCOFI_LICENSE = LGPL-2.1 LIBCOFI_LICENSE_FILES = README.md define LIBCOFI_BUILD_CMDS diff --git a/package/libconfig/libconfig.mk b/package/libconfig/libconfig.mk index f11937c4e2..ed7e40f162 100644 --- a/package/libconfig/libconfig.mk +++ b/package/libconfig/libconfig.mk @@ -6,7 +6,7 @@ LIBCONFIG_VERSION = 1.5 LIBCONFIG_SITE = http://www.hyperrealm.com/libconfig -LIBCONFIG_LICENSE = LGPLv2.1+ +LIBCONFIG_LICENSE = LGPL-2.1+ LIBCONFIG_LICENSE_FILES = COPYING.LIB LIBCONFIG_INSTALL_STAGING = YES LIBCONFIG_CONF_OPTS = --disable-examples diff --git a/package/libconfuse/Config.in b/package/libconfuse/Config.in index be18cbb073..b96b8f2811 100644 --- a/package/libconfuse/Config.in +++ b/package/libconfuse/Config.in @@ -8,4 +8,4 @@ config BR2_PACKAGE_LIBCONFUSE environment variable expansion, functions and nested include statements. - http://savannah.nongnu.org/download/confuse/ + https://github.com/martinh/libconfuse/ diff --git a/package/libconfuse/libconfuse.hash b/package/libconfuse/libconfuse.hash index ec485a1908..826a9263f5 100644 --- a/package/libconfuse/libconfuse.hash +++ b/package/libconfuse/libconfuse.hash @@ -1,3 +1,4 @@ -# From https://github.com/martinh/libconfuse/releases/download/v3.0/confuse-3.0.tar.xz.md5, sha256 locally computed. -md5 c534b51a2118ed57031dc548032304a3 confuse-3.0.tar.xz -sha256 bb75174e02aa8b44fa1a872a47beeea1f5fe715ab669694c97803eb6127cc861 confuse-3.0.tar.xz +# From https://github.com/martinh/libconfuse/releases/download/v3.2/confuse-3.2.tar.xz.md5 +md5 84259ac3bd495645ab2fe61654917232 confuse-3.2.tar.xz +# Locally computed +sha256 a46abb8696026d314197b6a70ae1a1c296342a9a68aa69b1935709c1477a4e48 confuse-3.1.tar.xz diff --git a/package/libconfuse/libconfuse.mk b/package/libconfuse/libconfuse.mk index 2908af3292..431fefd4c7 100644 --- a/package/libconfuse/libconfuse.mk +++ b/package/libconfuse/libconfuse.mk @@ -4,19 +4,14 @@ # ################################################################################ -LIBCONFUSE_VERSION = 3.0 +LIBCONFUSE_VERSION = 3.2 LIBCONFUSE_SOURCE = confuse-$(LIBCONFUSE_VERSION).tar.xz LIBCONFUSE_SITE = https://github.com/martinh/libconfuse/releases/download/v$(LIBCONFUSE_VERSION) LIBCONFUSE_INSTALL_STAGING = YES LIBCONFUSE_CONF_OPTS = --disable-rpath -LIBCONFUSE_DEPENDENCIES = host-flex -HOST_LIBCONFUSE_DEPENDENCIES = host-flex LIBCONFUSE_LICENSE = ISC LIBCONFUSE_LICENSE_FILES = LICENSE - -ifeq ($(BR2_PACKAGE_GETTEXT),y) -LIBCONFUSE_DEPENDENCIES += gettext -endif +LIBCONFUSE_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/libcroco/0001-input-check-end-of-input-before-reading-a-byte.patch b/package/libcroco/0001-input-check-end-of-input-before-reading-a-byte.patch new file mode 100644 index 0000000000..831b1a7454 --- /dev/null +++ b/package/libcroco/0001-input-check-end-of-input-before-reading-a-byte.patch @@ -0,0 +1,62 @@ +From 898e3a8c8c0314d2e6b106809a8e3e93cf9d4394 Mon Sep 17 00:00:00 2001 +From: Ignacio Casal Quinteiro +Date: Sun, 16 Apr 2017 13:13:43 +0200 +Subject: [PATCH] input: check end of input before reading a byte + +Fixes CVE-2017-7960 + +When reading bytes we weren't check that the index wasn't +out of bound and this could produce an invalid read which +could deal to a security bug. + +Signed-off-by: Peter Korsgaard +--- + src/cr-input.c | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +diff --git a/src/cr-input.c b/src/cr-input.c +index 49000b1..3b63a88 100644 +--- a/src/cr-input.c ++++ b/src/cr-input.c +@@ -256,7 +256,7 @@ cr_input_new_from_uri (const gchar * a_file_uri, enum CREncoding a_enc) + *we should free buf here because it's own by CRInput. + *(see the last parameter of cr_input_new_from_buf(). + */ +- buf = NULL ; ++ buf = NULL; + } + + cleanup: +@@ -404,6 +404,8 @@ cr_input_get_nb_bytes_left (CRInput const * a_this) + enum CRStatus + cr_input_read_byte (CRInput * a_this, guchar * a_byte) + { ++ gulong nb_bytes_left = 0; ++ + g_return_val_if_fail (a_this && PRIVATE (a_this) + && a_byte, CR_BAD_PARAM_ERROR); + +@@ -413,6 +415,12 @@ cr_input_read_byte (CRInput * a_this, guchar * a_byte) + if (PRIVATE (a_this)->end_of_input == TRUE) + return CR_END_OF_INPUT_ERROR; + ++ nb_bytes_left = cr_input_get_nb_bytes_left (a_this); ++ ++ if (nb_bytes_left < 1) { ++ return CR_END_OF_INPUT_ERROR; ++ } ++ + *a_byte = PRIVATE (a_this)->in_buf[PRIVATE (a_this)->next_byte_index]; + + if (PRIVATE (a_this)->nb_bytes - +@@ -477,7 +485,6 @@ cr_input_read_char (CRInput * a_this, guint32 * a_char) + if (*a_char == '\n') { + PRIVATE (a_this)->end_of_line = TRUE; + } +- + } + + return status; +-- +2.11.0 + diff --git a/package/libcroco/0002-tknzr-support-only-max-long-rgb-values.patch b/package/libcroco/0002-tknzr-support-only-max-long-rgb-values.patch new file mode 100644 index 0000000000..1a9bcd947a --- /dev/null +++ b/package/libcroco/0002-tknzr-support-only-max-long-rgb-values.patch @@ -0,0 +1,46 @@ +From 9ad72875e9f08e4c519ef63d44cdbd94aa9504f7 Mon Sep 17 00:00:00 2001 +From: Ignacio Casal Quinteiro +Date: Sun, 16 Apr 2017 13:56:09 +0200 +Subject: [PATCH] tknzr: support only max long rgb values + +Fixes CVE-2017-7961 + +This fixes a possible out of bound when reading rgbs which +are longer than the support MAXLONG + +Signed-off-by: Peter Korsgaard +--- + src/cr-tknzr.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/src/cr-tknzr.c b/src/cr-tknzr.c +index 1a7cfeb..1548c35 100644 +--- a/src/cr-tknzr.c ++++ b/src/cr-tknzr.c +@@ -1279,6 +1279,11 @@ cr_tknzr_parse_rgb (CRTknzr * a_this, CRRgb ** a_rgb) + status = cr_tknzr_parse_num (a_this, &num); + ENSURE_PARSING_COND ((status == CR_OK) && (num != NULL)); + ++ if (num->val > G_MAXLONG) { ++ status = CR_PARSING_ERROR; ++ goto error; ++ } ++ + red = num->val; + cr_num_destroy (num); + num = NULL; +@@ -1298,6 +1303,11 @@ cr_tknzr_parse_rgb (CRTknzr * a_this, CRRgb ** a_rgb) + status = cr_tknzr_parse_num (a_this, &num); + ENSURE_PARSING_COND ((status == CR_OK) && (num != NULL)); + ++ if (num->val > G_MAXLONG) { ++ status = CR_PARSING_ERROR; ++ goto error; ++ } ++ + PEEK_BYTE (a_this, 1, &next_bytes[0]); + if (next_bytes[0] == '%') { + SKIP_CHARS (a_this, 1); +-- +2.11.0 + diff --git a/package/libcroco/Config.in b/package/libcroco/Config.in index 5baf83dfb9..ad78a147e4 100644 --- a/package/libcroco/Config.in +++ b/package/libcroco/Config.in @@ -1,10 +1,10 @@ config BR2_PACKAGE_LIBCROCO bool "libcroco" - select BR2_PACKAGE_LIBXML2 - select BR2_PACKAGE_LIBGLIB2 depends on BR2_USE_WCHAR # glib2 depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 depends on BR2_USE_MMU # glib2 + select BR2_PACKAGE_LIBXML2 + select BR2_PACKAGE_LIBGLIB2 help Libcroco is a standalone css2 parsing and manipulation library. The parser provides a low level event driven SAC diff --git a/package/libcroco/libcroco.hash b/package/libcroco/libcroco.hash index edf0b1f388..83d2ffe515 100644 --- a/package/libcroco/libcroco.hash +++ b/package/libcroco/libcroco.hash @@ -1,2 +1,2 @@ -# From http://ftp.acc.umu.se/pub/gnome/sources/libcroco/0.6/libcroco-0.6.11.sha256sum -sha256 132b528a948586b0dfa05d7e9e059901bca5a3be675b6071a90a90b81ae5a056 libcroco-0.6.11.tar.xz +# From http://ftp.acc.umu.se/pub/gnome/sources/libcroco/0.6/libcroco-0.6.12.sha256sum +sha256 ddc4b5546c9fb4280a5017e2707fbd4839034ed1aba5b7d4372212f34f84f860 libcroco-0.6.12.tar.xz diff --git a/package/libcroco/libcroco.mk b/package/libcroco/libcroco.mk index 39dd52795e..612fd1f471 100644 --- a/package/libcroco/libcroco.mk +++ b/package/libcroco/libcroco.mk @@ -5,7 +5,7 @@ ################################################################################ LIBCROCO_VERSION_MAJOR = 0.6 -LIBCROCO_VERSION = $(LIBCROCO_VERSION_MAJOR).11 +LIBCROCO_VERSION = $(LIBCROCO_VERSION_MAJOR).12 LIBCROCO_SITE = http://ftp.gnome.org/pub/gnome/sources/libcroco/$(LIBCROCO_VERSION_MAJOR) LIBCROCO_SOURCE = libcroco-$(LIBCROCO_VERSION).tar.xz LIBCROCO_INSTALL_STAGING = YES @@ -14,7 +14,7 @@ HOST_LIBCROCO_DEPENDENCIES = host-pkgconf host-libglib2 host-libxml2 LIBCROCO_CONFIG_SCRIPTS = croco-$(LIBCROCO_VERSION_MAJOR)-config # NEWS states that it's only LGPL # Source code says v2.1+ even though COPYING.LIB is v2 -LIBCROCO_LICENSE = LGPLv2.1+ +LIBCROCO_LICENSE = LGPL-2.1+ LIBCROCO_LICENSE_FILES = COPYING.LIB $(eval $(autotools-package)) diff --git a/package/libcsv/Config.in b/package/libcsv/Config.in new file mode 100644 index 0000000000..797c735bf5 --- /dev/null +++ b/package/libcsv/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_LIBCSV + bool "libcsv" + help + libcsv is a small, simple and fast CSV library written in + pure ANSI C89 that can read and write CSV data. It provides + a straight-forward interface using callback functions to + handle parsed fields and rows and can parse improperly + formatted CSV files. + + https://sourceforge.net/projects/libcsv/ diff --git a/package/libcsv/libcsv.hash b/package/libcsv/libcsv.hash new file mode 100644 index 0000000000..e35c44f9b3 --- /dev/null +++ b/package/libcsv/libcsv.hash @@ -0,0 +1,2 @@ +#locally computed +sha256 d9c0431cb803ceb9896ce74f683e6e5a0954e96ae1d9e4028d6e0f967bebd7e4 libcsv-3.0.3.tar.gz diff --git a/package/libcsv/libcsv.mk b/package/libcsv/libcsv.mk new file mode 100644 index 0000000000..d0ce643368 --- /dev/null +++ b/package/libcsv/libcsv.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# libcsv +# +################################################################################ + +LIBCSV_VERSION = 3.0.3 +LIBCSV_SITE = http://sourceforge.net/projects/libcsv/files +LIBCSV_LICENSE = LGPL-2.1+ +LIBCSV_LICENSE_FILES = COPYING.LESSER +LIBCSV_INSTALL_STAGING = YES + +$(eval $(autotools-package)) diff --git a/package/libcue/libcue.mk b/package/libcue/libcue.mk index 70124538f2..3aa3b4815f 100644 --- a/package/libcue/libcue.mk +++ b/package/libcue/libcue.mk @@ -6,7 +6,7 @@ LIBCUE_VERSION = v1.4.0 LIBCUE_SITE = $(call github,lipnitsk,libcue,$(LIBCUE_VERSION)) -LIBCUE_LICENSE = GPLv2, BSD-2c (rem.c) +LIBCUE_LICENSE = GPL-2.0, BSD-2-Clause (rem.c) LIBCUE_LICENSE_FILES = COPYING LIBCUE_DEPENDENCIES = host-bison host-flex flex LIBCUE_INSTALL_STAGING = YES diff --git a/package/libcuefile/libcuefile.mk b/package/libcuefile/libcuefile.mk index d1f2448832..66b589b193 100644 --- a/package/libcuefile/libcuefile.mk +++ b/package/libcuefile/libcuefile.mk @@ -8,7 +8,7 @@ LIBCUEFILE_VERSION = r475 LIBCUEFILE_SITE = http://files.musepack.net/source LIBCUEFILE_SOURCE = libcuefile_$(LIBCUEFILE_VERSION).tar.gz LIBCUEFILE_INSTALL_STAGING = YES -LIBCUEFILE_LICENSE = GPLv2+ +LIBCUEFILE_LICENSE = GPL-2.0+ LIBCUEFILE_LICENSE_FILES = COPYING define LIBCUEFILE_INSTALL_STAGING_INCLUDES diff --git a/package/libcurl/Config.in b/package/libcurl/Config.in index fc1527f0d9..21c2ee2b7f 100644 --- a/package/libcurl/Config.in +++ b/package/libcurl/Config.in @@ -1,8 +1,9 @@ config BR2_PACKAGE_LIBCURL bool "libcurl" help - cURL is a tool for getting files from FTP, HTTP, Gopher, Telnet, - and Dict servers, using any of the supported protocols. + cURL is a tool for getting files from FTP, HTTP, Gopher, + Telnet, and Dict servers, using any of the supported + protocols. http://curl.haxx.se/ diff --git a/package/libcurl/libcurl.hash b/package/libcurl/libcurl.hash index 72cae81c0e..275a5a373f 100644 --- a/package/libcurl/libcurl.hash +++ b/package/libcurl/libcurl.hash @@ -1,2 +1,4 @@ # Locally calculated after checking pgp signature -sha256 b2345a8bef87b4c229dedf637cb203b5e21db05e20277c8e1094f0d4da180801 curl-7.53.0.tar.bz2 +# https://curl.haxx.se/download/curl-7.57.0.tar.xz.asc +sha256 f5f6fd3c72b7b8389969f4fb671ed8532fa9b5bb7a5cae7ca89bc1cea45c7878 curl-7.57.0.tar.xz +sha256 cbcf511f5702f7baf5424193a792bc9c18fab22bcbec2e6a587598389dc632c2 COPYING diff --git a/package/libcurl/libcurl.mk b/package/libcurl/libcurl.mk index b5dcb377b5..0aab58a7de 100644 --- a/package/libcurl/libcurl.mk +++ b/package/libcurl/libcurl.mk @@ -4,14 +4,14 @@ # ################################################################################ -LIBCURL_VERSION = 7.53.0 -LIBCURL_SOURCE = curl-$(LIBCURL_VERSION).tar.bz2 +LIBCURL_VERSION = 7.57.0 +LIBCURL_SOURCE = curl-$(LIBCURL_VERSION).tar.xz LIBCURL_SITE = https://curl.haxx.se/download LIBCURL_DEPENDENCIES = host-pkgconf \ $(if $(BR2_PACKAGE_ZLIB),zlib) \ $(if $(BR2_PACKAGE_LIBIDN),libidn) \ $(if $(BR2_PACKAGE_RTMPDUMP),rtmpdump) -LIBCURL_LICENSE = ISC +LIBCURL_LICENSE = curl LIBCURL_LICENSE_FILES = COPYING LIBCURL_INSTALL_STAGING = YES @@ -22,6 +22,12 @@ LIBCURL_INSTALL_STAGING = YES LIBCURL_CONF_OPTS = --disable-manual --disable-ntlm-wb \ --enable-hidden-symbols --with-random=/dev/urandom --disable-curldebug +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) +LIBCURL_CONF_OPTS += --enable-threaded-resolver +else +LIBCURL_CONF_OPTS += --disable-threaded-resolver +endif + ifeq ($(BR2_PACKAGE_LIBCURL_VERBOSE),y) LIBCURL_CONF_OPTS += --enable-verbose else diff --git a/package/libdaemon/libdaemon.mk b/package/libdaemon/libdaemon.mk index 69dc0b76ba..a8f75108bc 100644 --- a/package/libdaemon/libdaemon.mk +++ b/package/libdaemon/libdaemon.mk @@ -6,7 +6,7 @@ LIBDAEMON_VERSION = 0.14 LIBDAEMON_SITE = http://0pointer.de/lennart/projects/libdaemon -LIBDAEMON_LICENSE = LGPLv2.1+ +LIBDAEMON_LICENSE = LGPL-2.1+ LIBDAEMON_LICENSE_FILES = LICENSE LIBDAEMON_INSTALL_STAGING = YES LIBDAEMON_CONF_ENV = ac_cv_func_setpgrp_void=no diff --git a/package/libdcadec/libdcadec.mk b/package/libdcadec/libdcadec.mk index 48e4a12f65..a5a98bedc4 100644 --- a/package/libdcadec/libdcadec.mk +++ b/package/libdcadec/libdcadec.mk @@ -6,7 +6,7 @@ LIBDCADEC_VERSION = v0.2.0 LIBDCADEC_SITE = $(call github,foo86,dcadec,$(LIBDCADEC_VERSION)) -LIBDCADEC_LICENSE = LGPLv2.1+ +LIBDCADEC_LICENSE = LGPL-2.1+ LIBDCADEC_LICENSE_FILES = COPYING.LGPLv2.1 LIBDCADEC_INSTALL_STAGING = YES diff --git a/package/libdmtx/Config.in b/package/libdmtx/Config.in index db4187fdae..b81b99c423 100644 --- a/package/libdmtx/Config.in +++ b/package/libdmtx/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_LIBDMTX bool "libdmtx" help - libdmtx is a software library that enables programs to read and write - Data Matrix barcodes of the modern ECC200 variety. + libdmtx is a software library that enables programs to read + and write Data Matrix barcodes of the modern ECC200 variety. http://www.libdmtx.org/ diff --git a/package/libdmtx/libdmtx.mk b/package/libdmtx/libdmtx.mk index 146534e856..f718b137b5 100644 --- a/package/libdmtx/libdmtx.mk +++ b/package/libdmtx/libdmtx.mk @@ -6,7 +6,7 @@ LIBDMTX_VERSION = 0.7.4 LIBDMTX_SITE = http://downloads.sourceforge.net/project/libdmtx/libdmtx/$(LIBDMTX_VERSION) -LIBDMTX_LICENSE = BSD-2c or Special Permission +LIBDMTX_LICENSE = BSD-2-Clause or Special Permission LIBDMTX_LICENSE_FILES = LICENSE LIBDMTX_INSTALL_STAGING = YES diff --git a/package/libdnet/Config.in b/package/libdnet/Config.in index e78bdedaba..e7ba3a21af 100644 --- a/package/libdnet/Config.in +++ b/package/libdnet/Config.in @@ -1,7 +1,8 @@ config BR2_PACKAGE_LIBDNET bool "libdnet" help - libdnet - simplified interface to low-level networking routines. + libdnet - simplified interface to low-level networking + routines. http://libdnet.sourceforge.net/ diff --git a/package/libdnet/libdnet.mk b/package/libdnet/libdnet.mk index f4e7a74ce0..00d9c4fd40 100644 --- a/package/libdnet/libdnet.mk +++ b/package/libdnet/libdnet.mk @@ -6,7 +6,7 @@ LIBDNET_VERSION = 1.11 LIBDNET_SITE = http://downloads.sourceforge.net/project/libdnet/libdnet/libdnet-$(LIBDNET_VERSION) -LIBDNET_LICENSE = BSD-3c +LIBDNET_LICENSE = BSD-3-Clause LIBDNET_LICENSE_FILES = LICENSE LIBDNET_INSTALL_STAGING = YES LIBDNET_AUTORECONF = YES diff --git a/package/libdri2/Config.in b/package/libdri2/Config.in index fff979e3ab..a10df7404a 100644 --- a/package/libdri2/Config.in +++ b/package/libdri2/Config.in @@ -1,11 +1,11 @@ config BR2_PACKAGE_LIBDRI2 bool "libdri2" + depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm + depends on BR2_PACKAGE_XORG7 select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_XLIB_LIBXDAMAGE select BR2_PACKAGE_XLIB_LIBXEXT select BR2_PACKAGE_XPROTO_DRI2PROTO - depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm - depends on BR2_PACKAGE_XORG7 help Library for the DRI2 extension to the X Window System. diff --git a/package/libdrm/Config.in b/package/libdrm/Config.in index 81fc5ccf9f..581f921968 100644 --- a/package/libdrm/Config.in +++ b/package/libdrm/Config.in @@ -1,7 +1,7 @@ menuconfig BR2_PACKAGE_LIBDRM bool "libdrm" - select BR2_PACKAGE_LIBPTHREAD_STUBS depends on BR2_TOOLCHAIN_HAS_THREADS # libpthread-stubs + select BR2_PACKAGE_LIBPTHREAD_STUBS help Direct Rendering Manager @@ -20,10 +20,10 @@ config BR2_PACKAGE_LIBDRM_ENABLE_ATOMIC config BR2_PACKAGE_LIBDRM_INTEL bool "intel" - select BR2_PACKAGE_LIBPCIACCESS depends on BR2_i386 || BR2_x86_64 depends on BR2_PACKAGE_LIBDRM_HAS_ATOMIC select BR2_PACKAGE_LIBDRM_ENABLE_ATOMIC + select BR2_PACKAGE_LIBPCIACCESS help Install intel graphics driver. @@ -64,7 +64,6 @@ config BR2_PACKAGE_LIBDRM_OMAP config BR2_PACKAGE_LIBDRM_ETNAVIV bool "etnaviv (experimental)" - depends on BR2_arm depends on BR2_PACKAGE_LIBDRM_HAS_ATOMIC select BR2_PACKAGE_LIBDRM_ENABLE_ATOMIC help @@ -94,7 +93,7 @@ config BR2_PACKAGE_LIBDRM_TEGRA config BR2_PACKAGE_LIBDRM_VC4 bool "vc4" - depends on BR2_arm + depends on BR2_aarch64 || BR2_arm help Install vc4 (Raspberry Pi) driver. diff --git a/package/libdrm/libdrm.hash b/package/libdrm/libdrm.hash index dc10b295f2..87fdc893cb 100644 --- a/package/libdrm/libdrm.hash +++ b/package/libdrm/libdrm.hash @@ -1,2 +1,5 @@ -# From https://lists.freedesktop.org/archives/dri-devel/2017-January/131209.html -sha256 2d5a500eef412cc287d12268eed79d571e262d4957a2ec9258073f305985054f libdrm-2.4.75.tar.bz2 +# From https://lists.freedesktop.org/archives/dri-devel/2017-November/156682.html +md5 fe4d5c77f1468ee73d0bbb30d76945d7 libdrm-2.4.88.tar.bz2 +sha1 9cac721d33eb1e65a89a764cb71a7a63ceb6d7c1 libdrm-2.4.88.tar.bz2 +sha256 b5e55dbac2124e742e639f5b8553e8b7395863bf73dab4f77e99fe2fc25572b5 libdrm-2.4.88.tar.bz2 +sha512 0d9d4bcc0d9be1fb6b1ca075339b22b0f927288a4c02bbcbf95406b5c095051890f3d2e0d32e529ef9b6952ce1250afd1e0765ad3188c2bac924dda8c33afabb libdrm-2.4.88.tar.bz2 diff --git a/package/libdrm/libdrm.mk b/package/libdrm/libdrm.mk index ae7b75bad9..3d7b67122b 100644 --- a/package/libdrm/libdrm.mk +++ b/package/libdrm/libdrm.mk @@ -4,13 +4,11 @@ # ################################################################################ -LIBDRM_VERSION = 2.4.75 +LIBDRM_VERSION = 2.4.88 LIBDRM_SOURCE = libdrm-$(LIBDRM_VERSION).tar.bz2 -LIBDRM_SITE = http://dri.freedesktop.org/libdrm +LIBDRM_SITE = https://dri.freedesktop.org/libdrm LIBDRM_LICENSE = MIT - LIBDRM_INSTALL_STAGING = YES - LIBDRM_DEPENDENCIES = \ libpthread-stubs \ host-pkgconf diff --git a/package/libdvbcsa/Config.in b/package/libdvbcsa/Config.in index dd7dc15120..1253ffbbef 100644 --- a/package/libdvbcsa/Config.in +++ b/package/libdvbcsa/Config.in @@ -1,9 +1,11 @@ config BR2_PACKAGE_LIBDVBCSA bool "libdvbcsa" help - libdvbcsa is a free implementation of the DVB Common Scrambling - Algorithm - DVB/CSA - with encryption and decryption capabilities + libdvbcsa is a free implementation of the DVB Common + Scrambling Algorithm - DVB/CSA - with encryption and + decryption capabilities - As libdvbcsa implements a standard, it is completely legal to use it. + As libdvbcsa implements a standard, it is completely legal to + use it. http://www.videolan.org/developers/libdvbcsa.html diff --git a/package/libdvbcsa/libdvbcsa.mk b/package/libdvbcsa/libdvbcsa.mk index dfbb4c2257..8b733e7423 100644 --- a/package/libdvbcsa/libdvbcsa.mk +++ b/package/libdvbcsa/libdvbcsa.mk @@ -6,7 +6,7 @@ LIBDVBCSA_VERSION = 1.1.0 LIBDVBCSA_SITE = http://get.videolan.org/libdvbcsa/$(LIBDVBCSA_VERSION) -LIBDVBCSA_LICENSE = GPLv2+ +LIBDVBCSA_LICENSE = GPL-2.0+ LIBDVBCSA_LICENSE_FILES = COPYING LIBDVBCSA_INSTALL_STAGING = YES diff --git a/package/libdvbpsi/Config.in b/package/libdvbpsi/Config.in index 4d543bc91c..e52079bb01 100644 --- a/package/libdvbpsi/Config.in +++ b/package/libdvbpsi/Config.in @@ -3,8 +3,8 @@ config BR2_PACKAGE_LIBDVBPSI depends on BR2_TOOLCHAIN_HAS_THREADS help libdvbpsi is a simple library designed for decoding and - generation of MPEG TS and DVB PSI tables according to standards - ISO/IEC 13818 and ITU-T H.222.0. + generation of MPEG TS and DVB PSI tables according to + standards ISO/IEC 13818 and ITU-T H.222.0. http://www.videolan.org/developers/libdvbpsi.html diff --git a/package/libdvbpsi/libdvbpsi.mk b/package/libdvbpsi/libdvbpsi.mk index 218c19e1f0..9a0a4accdf 100644 --- a/package/libdvbpsi/libdvbpsi.mk +++ b/package/libdvbpsi/libdvbpsi.mk @@ -7,7 +7,7 @@ LIBDVBPSI_VERSION = 1.3.0 LIBDVBPSI_SITE = http://download.videolan.org/pub/libdvbpsi/$(LIBDVBPSI_VERSION) LIBDVBPSI_SOURCE = libdvbpsi-$(LIBDVBPSI_VERSION).tar.bz2 -LIBDVBPSI_LICENSE = LGPLv2.1+ +LIBDVBPSI_LICENSE = LGPL-2.1+ LIBDVBPSI_LICENSE_FILES = COPYING LIBDVBPSI_INSTALL_STAGING = YES diff --git a/package/libdvbsi/Config.in b/package/libdvbsi/Config.in index f67342d650..fa0dcea4e1 100644 --- a/package/libdvbsi/Config.in +++ b/package/libdvbsi/Config.in @@ -4,9 +4,10 @@ config BR2_PACKAGE_LIBDVBSI depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS help - C++ parsing library for Service Information (SI) in DVB systems. - With libdvbsi++ you can convert raw DVB service information to - a set of C++ objects, removing the need to parse data manually. + C++ parsing library for Service Information (SI) in DVB + systems. With libdvbsi++ you can convert raw DVB service + information to a set of C++ objects, removing the need to + parse data manually. http://www.saftware.de/ diff --git a/package/libdvbsi/libdvbsi.mk b/package/libdvbsi/libdvbsi.mk index f6469f9b92..bfddd647e1 100644 --- a/package/libdvbsi/libdvbsi.mk +++ b/package/libdvbsi/libdvbsi.mk @@ -8,7 +8,7 @@ LIBDVBSI_VERSION = 0.3.7 LIBDVBSI_SOURCE = libdvbsi++-$(LIBDVBSI_VERSION).tar.bz2 LIBDVBSI_SITE = http://www.saftware.de/libdvbsi++ LIBDVBSI_INSTALL_STAGING = YES -LIBDVBSI_LICENSE = LGPLv2.1 +LIBDVBSI_LICENSE = LGPL-2.1 LIBDVBSI_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/libdvdcss/libdvdcss.mk b/package/libdvdcss/libdvdcss.mk index 8e1c92995d..e5ba3af20b 100644 --- a/package/libdvdcss/libdvdcss.mk +++ b/package/libdvdcss/libdvdcss.mk @@ -8,7 +8,7 @@ LIBDVDCSS_VERSION = 1.4.0 LIBDVDCSS_SOURCE = libdvdcss-$(LIBDVDCSS_VERSION).tar.bz2 LIBDVDCSS_SITE = http://www.videolan.org/pub/videolan/libdvdcss/$(LIBDVDCSS_VERSION) LIBDVDCSS_INSTALL_STAGING = YES -LIBDVDCSS_LICENSE = GPLv2+ +LIBDVDCSS_LICENSE = GPL-2.0+ LIBDVDCSS_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/libdvdnav/libdvdnav.mk b/package/libdvdnav/libdvdnav.mk index b53f0c821b..5cb47ab0ba 100644 --- a/package/libdvdnav/libdvdnav.mk +++ b/package/libdvdnav/libdvdnav.mk @@ -9,7 +9,7 @@ LIBDVDNAV_SOURCE = libdvdnav-$(LIBDVDNAV_VERSION).tar.bz2 LIBDVDNAV_SITE = http://www.videolan.org/pub/videolan/libdvdnav/$(LIBDVDNAV_VERSION) LIBDVDNAV_INSTALL_STAGING = YES LIBDVDNAV_DEPENDENCIES = libdvdread host-pkgconf -LIBDVDNAV_LICENSE = GPLv2+ +LIBDVDNAV_LICENSE = GPL-2.0+ LIBDVDNAV_LICENSE_FILES = COPYING # 0001-do-not-match-nios2-as-os2.patch LIBDVDNAV_AUTORECONF = YES diff --git a/package/libdvdread/libdvdread.mk b/package/libdvdread/libdvdread.mk index adf79d852e..0e335e5c67 100644 --- a/package/libdvdread/libdvdread.mk +++ b/package/libdvdread/libdvdread.mk @@ -8,7 +8,7 @@ LIBDVDREAD_VERSION = 5.0.3 LIBDVDREAD_SOURCE = libdvdread-$(LIBDVDREAD_VERSION).tar.bz2 LIBDVDREAD_SITE = http://www.videolan.org/pub/videolan/libdvdread/$(LIBDVDREAD_VERSION) LIBDVDREAD_INSTALL_STAGING = YES -LIBDVDREAD_LICENSE = GPLv2+ +LIBDVDREAD_LICENSE = GPL-2.0+ LIBDVDREAD_LICENSE_FILES = COPYING LIBDVDREAD_CONF_OPTS = --with-libdvdcss LIBDVDREAD_DEPENDENCIES = libdvdcss host-pkgconf diff --git a/package/libeXosip2/libeXosip2.mk b/package/libeXosip2/libeXosip2.mk index d101f95478..04f8672c40 100644 --- a/package/libeXosip2/libeXosip2.mk +++ b/package/libeXosip2/libeXosip2.mk @@ -7,7 +7,7 @@ LIBEXOSIP2_VERSION = 3.6.0 LIBEXOSIP2_SITE = http://download.savannah.gnu.org/releases/exosip LIBEXOSIP2_INSTALL_STAGING = YES -LIBEXOSIP2_LICENSE = GPLv2+ +LIBEXOSIP2_LICENSE = GPL-2.0+ LIBEXOSIP2_LICENSE_FILES = COPYING LIBEXOSIP2_DEPENDENCIES = host-pkgconf libosip2 diff --git a/package/libebml/libebml.mk b/package/libebml/libebml.mk index 36c8a5c7c2..8c5dee3f4b 100644 --- a/package/libebml/libebml.mk +++ b/package/libebml/libebml.mk @@ -8,7 +8,7 @@ LIBEBML_VERSION = 1.3.3 LIBEBML_SOURCE = libebml-$(LIBEBML_VERSION).tar.bz2 LIBEBML_SITE = http://dl.matroska.org/downloads/libebml LIBEBML_INSTALL_STAGING = YES -LIBEBML_LICENSE = LGPLv2.1+ +LIBEBML_LICENSE = LGPL-2.1+ LIBEBML_LICENSE_FILES = LICENSE.LGPL $(eval $(autotools-package)) diff --git a/package/libebur128/Config.in b/package/libebur128/Config.in index 1a6a74363f..0d68b39d53 100644 --- a/package/libebur128/Config.in +++ b/package/libebur128/Config.in @@ -3,7 +3,6 @@ config BR2_PACKAGE_LIBEBUR128 # build system has no support to disable shared linking # leading to a build error with a static-only toolchain depends on !BR2_STATIC_LIBS - select BR2_PACKAGE_SPEEX help libebur128 is a library that implements the EBU R 128 standard for loudness normalization. diff --git a/package/libebur128/libebur128.hash b/package/libebur128/libebur128.hash new file mode 100644 index 0000000000..2b0d3e34c2 --- /dev/null +++ b/package/libebur128/libebur128.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 1d0d7e855da04010a2432e11fbc596502caf11b61c3b571ccbcb10095fe44b43 libebur128-v1.2.2.tar.gz +sha256 d6b4754bb67bdd08b97d5d11b2d7434997a371585a78fe77007149df3af8d09c COPYING diff --git a/package/libebur128/libebur128.mk b/package/libebur128/libebur128.mk index f5ada311f7..24c2f2429a 100644 --- a/package/libebur128/libebur128.mk +++ b/package/libebur128/libebur128.mk @@ -4,11 +4,10 @@ # ################################################################################ -LIBEBUR128_VERSION = v1.1.0 +LIBEBUR128_VERSION = v1.2.2 LIBEBUR128_SITE = $(call github,jiixyj,libebur128,$(LIBEBUR128_VERSION)) LIBEBUR128_LICENSE = MIT LIBEBUR128_LICENSE_FILES = COPYING LIBEBUR128_INSTALL_STAGING = YES -LIBEBUR128_DEPENDENCIES = speex $(eval $(cmake-package)) diff --git a/package/libedit/Config.in b/package/libedit/Config.in index 7c850145e7..8ccf3edc8d 100644 --- a/package/libedit/Config.in +++ b/package/libedit/Config.in @@ -11,8 +11,8 @@ config BR2_PACKAGE_LIBEDIT http://ftp.netbsd.org/pub/NetBSD/NetBSD-release-5-0/src/lib/libedit/ Jess Thrysoee maintains an autotoolified package, which we use - in Buildroot as it makes it much simpler than using the upstream - sources which require pmake. + in Buildroot as it makes it much simpler than using the + upstream sources which require pmake. http://www.thrysoee.dk/editline diff --git a/package/libedit/libedit.mk b/package/libedit/libedit.mk index e7ddd1fcb5..51ca87d4db 100644 --- a/package/libedit/libedit.mk +++ b/package/libedit/libedit.mk @@ -8,7 +8,7 @@ LIBEDIT_VERSION = 20150325-3.1 LIBEDIT_SITE = http://www.thrysoee.dk/editline LIBEDIT_INSTALL_STAGING = YES LIBEDIT_DEPENDENCIES = ncurses -LIBEDIT_LICENSE = BSD-3c +LIBEDIT_LICENSE = BSD-3-Clause LIBEDIT_LICENSE_FILES = COPYING # We're patching configure.ac diff --git a/package/libee/libee.mk b/package/libee/libee.mk index 23441bc11c..9879eff382 100644 --- a/package/libee/libee.mk +++ b/package/libee/libee.mk @@ -6,7 +6,7 @@ LIBEE_VERSION = 0.4.1 LIBEE_SITE = http://www.libee.org/download/files/download -LIBEE_LICENSE = LGPLv2.1+ +LIBEE_LICENSE = LGPL-2.1+ LIBEE_LICENSE_FILES = COPYING LIBEE_DEPENDENCIES = libestr host-pkgconf LIBEE_INSTALL_STAGING = YES diff --git a/package/libenca/libenca.mk b/package/libenca/libenca.mk index b87427a35c..63b6895087 100644 --- a/package/libenca/libenca.mk +++ b/package/libenca/libenca.mk @@ -8,7 +8,7 @@ LIBENCA_VERSION = 1.19 LIBENCA_SITE = http://dl.cihar.com/enca LIBENCA_SOURCE = enca-$(LIBENCA_VERSION).tar.xz LIBENCA_INSTALL_STAGING = YES -LIBENCA_LICENSE = GPLv2 +LIBENCA_LICENSE = GPL-2.0 LIBENCA_LICENSE_FILES = COPYING LIBENCA_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBICONV),libiconv) diff --git a/package/libepoxy/0001-Forward-EGL-cflags-into-epoxy.pc.patch b/package/libepoxy/0001-Forward-EGL-cflags-into-epoxy.pc.patch new file mode 100644 index 0000000000..286f875bc9 --- /dev/null +++ b/package/libepoxy/0001-Forward-EGL-cflags-into-epoxy.pc.patch @@ -0,0 +1,32 @@ +From 99b8373dbe8fb3bac835ebad90f91cfd213e4acb Mon Sep 17 00:00:00 2001 +From: Gustavo Zacarias +Date: Wed, 15 Mar 2017 10:02:54 -0300 +Subject: [PATCH] Forward EGL cflags into epoxy.pc + +When building mesa egl without x11 and gles2 the headers need a +MESA_EGL_NO_X11_HEADERS define to avoid including X11 headers. +Forward EGL CFLAGS into epoxy.pc to avoid build failures when linking +against libepoxy on this scenario. + +Signed-off-by: Gustavo Zacarias +--- +Status: pull request https://github.com/anholt/libepoxy/pull/113 + + epoxy.pc.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/epoxy.pc.in b/epoxy.pc.in +index 7828a77..8278b7d 100644 +--- a/epoxy.pc.in ++++ b/epoxy.pc.in +@@ -10,6 +10,6 @@ epoxy_has_wgl=@epoxy_has_wgl@ + Name: epoxy + Description: epoxy GL dispatch Library + Version: @PACKAGE_VERSION@ +-Cflags: -I${includedir} ++Cflags: -I${includedir} @EGL_CFLAGS@ + Libs: -L${libdir} -lepoxy + Libs.private: @DLOPEN_LIBS@ +-- +2.10.2 + diff --git a/package/libepoxy/0001-select-platforms-based-on-configuration-results.patch b/package/libepoxy/0001-select-platforms-based-on-configuration-results.patch deleted file mode 100644 index e3a7b4995c..0000000000 --- a/package/libepoxy/0001-select-platforms-based-on-configuration-results.patch +++ /dev/null @@ -1,125 +0,0 @@ -From 7eff2bf8e27599c1c94217b2bb1b73d4b7d18e59 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= -Date: Wed, 6 May 2015 10:45:22 +0200 -Subject: [PATCH 1/4] select platforms based on configuration results -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Andreas Müller -Fetched from pull #81 on github for libepoxy: -https://github.com/anholt/libepoxy/pull/81/commits -Signed-off-by: Gustavo Zacarias ---- - configure.ac | 13 +++++-------- - src/dispatch_common.c | 9 ++++++--- - src/dispatch_common.h | 9 +++++---- - 3 files changed, 16 insertions(+), 15 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 2d67726..225ab73 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -58,6 +58,10 @@ AC_CHECK_HEADER([KHR/khrplatform.h], - # uintptr_t to a void *") by default. Kill that. - XORG_TESTSET_CFLAG(CWARNFLAGS, [-Wno-int-conversion]) - -+PKG_CHECK_MODULES(X11, [x11], [x11=yes], [x11=no]) -+ -+AM_CONDITIONAL(HAVE_X11, test x$x11 = xyes) -+ - has_znow=yes - - case $host_os in -@@ -86,7 +90,7 @@ case $host_os in - ;; - *) - build_egl=yes -- build_glx=yes -+ build_glx=$x11 - build_wgl=no - # On platforms with dlopen, we load everything dynamically and - # don't link against a specific window system or GL implementation. -@@ -144,13 +148,6 @@ esac - - AC_SUBST([VISIBILITY_CFLAGS]) - --PKG_CHECK_MODULES(X11, [x11], [x11=yes], [x11=no]) --if test x$x11 = xno -a x$build_glx = xyes; then -- AC_MSG_ERROR([libX11 headers (libx11-dev) required to build with GLX support]) --fi -- --AM_CONDITIONAL(HAVE_X11, test x$x11 = xyes) -- - PKG_CHECK_MODULES(GL, [gl], [gl=yes], [gl=no]) - - AC_CONFIG_FILES([ -diff --git a/src/dispatch_common.c b/src/dispatch_common.c -index 013027f..163d348 100644 ---- a/src/dispatch_common.c -+++ b/src/dispatch_common.c -@@ -656,10 +656,13 @@ epoxy_get_proc_address(const char *name) - #elif defined(__APPLE__) - return epoxy_gl_dlsym(name); - #else -+#if PLATFORM_HAS_GLX - if (epoxy_current_context_is_glx()) { - return glXGetProcAddressARB((const GLubyte *)name); -- } else { -+ } else -+#endif /* PLATFORM_HAS_GLX */ - #if PLATFORM_HAS_EGL -+ { - GLenum egl_api = epoxy_egl_get_current_gl_context_api(); - - switch (egl_api) { -@@ -669,10 +672,10 @@ epoxy_get_proc_address(const char *name) - case EGL_NONE: - break; - } --#endif - } -+#endif /* PLATFORM_HAS_EGL */ - errx(1, "Couldn't find current GLX or EGL context.\n"); --#endif -+#endif /* _WIN32 | __APPLE__*/ - } - - WRAPPER_VISIBILITY (void) -diff --git a/src/dispatch_common.h b/src/dispatch_common.h -index 676a4d5..2728b45 100644 ---- a/src/dispatch_common.h -+++ b/src/dispatch_common.h -@@ -21,12 +21,13 @@ - * IN THE SOFTWARE. - */ - -+#include - #include - - #ifdef _WIN32 - #define PLATFORM_HAS_EGL 0 - #define PLATFORM_HAS_GLX 0 --#define PLATFORM_HAS_WGL 1 -+#define PLATFORM_HAS_WGL BUILD_WGL - #define EPOXY_IMPORTEXPORT __declspec(dllexport) - #elif defined(__APPLE__) - #define PLATFORM_HAS_EGL 0 -@@ -34,13 +35,13 @@ - #define PLATFORM_HAS_WGL 0 - #define EPOXY_IMPORTEXPORT - #elif defined(ANDROID) --#define PLATFORM_HAS_EGL 1 -+#define PLATFORM_HAS_EGL BUILD_EGL - #define PLATFORM_HAS_GLX 0 - #define PLATFORM_HAS_WGL 0 - #define EPOXY_IMPORTEXPORT - #else --#define PLATFORM_HAS_EGL 1 --#define PLATFORM_HAS_GLX 1 -+#define PLATFORM_HAS_EGL BUILD_EGL -+#define PLATFORM_HAS_GLX BUILD_GLX - #define PLATFORM_HAS_WGL 0 - #define EPOXY_IMPORTEXPORT - #endif - diff --git a/package/libepoxy/0002-add-an-option-to-disable-glx-support.patch b/package/libepoxy/0002-add-an-option-to-disable-glx-support.patch deleted file mode 100644 index a81547de1c..0000000000 --- a/package/libepoxy/0002-add-an-option-to-disable-glx-support.patch +++ /dev/null @@ -1,39 +0,0 @@ -From a9efde0fb2678cd26bdf26d256732d97ded0c595 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= -Date: Wed, 6 May 2015 11:05:48 +0200 -Subject: [PATCH 2/4] add an option to disable glx support -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -this option would help us in yocto to get deterministic build results - -Signed-off-by: Andreas Müller -Fetched from pull #81 on github for libepoxy: -https://github.com/anholt/libepoxy/pull/81/commits -Signed-off-by: Gustavo Zacarias ---- - configure.ac | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 225ab73..d3d947c 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -58,7 +58,14 @@ AC_CHECK_HEADER([KHR/khrplatform.h], - # uintptr_t to a void *") by default. Kill that. - XORG_TESTSET_CFLAG(CWARNFLAGS, [-Wno-int-conversion]) - --PKG_CHECK_MODULES(X11, [x11], [x11=yes], [x11=no]) -+AC_ARG_ENABLE([glx], -+ [AS_HELP_STRING([--disable-glx], -+ [disable if you don't want x11/glx support])], -+ [], -+ [enable_glx=yes] -+ ) -+ -+PKG_CHECK_MODULES(X11, [x11], [x11=$enable_glx], [x11=no]) - - AM_CONDITIONAL(HAVE_X11, test x$x11 = xyes) - - diff --git a/package/libepoxy/0003-make-enable-glx-actually-work-on-osx-and-windows.patch b/package/libepoxy/0003-make-enable-glx-actually-work-on-osx-and-windows.patch deleted file mode 100644 index 5b0d4fece2..0000000000 --- a/package/libepoxy/0003-make-enable-glx-actually-work-on-osx-and-windows.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 902ea1eb073187603ec2eda4d2a146bef96592d4 Mon Sep 17 00:00:00 2001 -From: Jeremy Huddleston Sequoia -Date: Mon, 18 Jan 2016 10:08:44 -0800 -Subject: [PATCH 3/4] Make --enable-glx actually work on OSX and Windows - -Followup for anholt/libepoxy#52 - -Signed-off-by: Jeremy Huddleston Sequoia -Fetched from pull #81 on github for libepoxy: -https://github.com/anholt/libepoxy/pull/81/commits -Signed-off-by: Gustavo Zacarias ---- - configure.ac | 6 +++--- - src/dispatch_common.h | 4 ++-- - 2 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/configure.ac b/configure.ac -index d3d947c..b4c7ede 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -61,7 +61,7 @@ XORG_TESTSET_CFLAG(CWARNFLAGS, [-Wno-int-conversion]) - AC_ARG_ENABLE([glx], - [AS_HELP_STRING([--disable-glx], - [disable if you don't want x11/glx support])], -- [], -+ [enable_glx=$enableval], - [enable_glx=yes] - ) - -@@ -74,7 +74,7 @@ has_znow=yes - case $host_os in - mingw*) - build_egl=no -- build_glx=no -+ build_glx=$x11 - build_wgl=yes - # On windows, the DLL has to have all of its functions - # resolved at link time, so we have to link directly aginst -@@ -89,7 +89,7 @@ case $host_os in - ;; - darwin*) - build_egl=no -- build_glx=no -+ build_glx=$x11 - build_wgl=no - build_apple=yes - has_znow=no -diff --git a/src/dispatch_common.h b/src/dispatch_common.h -index 2728b45..c30ce44 100644 ---- a/src/dispatch_common.h -+++ b/src/dispatch_common.h -@@ -26,12 +26,12 @@ - - #ifdef _WIN32 - #define PLATFORM_HAS_EGL 0 --#define PLATFORM_HAS_GLX 0 -+#define PLATFORM_HAS_GLX BUILD_GLX - #define PLATFORM_HAS_WGL BUILD_WGL - #define EPOXY_IMPORTEXPORT __declspec(dllexport) - #elif defined(__APPLE__) - #define PLATFORM_HAS_EGL 0 --#define PLATFORM_HAS_GLX 0 -+#define PLATFORM_HAS_GLX BUILD_GLX - #define PLATFORM_HAS_WGL 0 - #define EPOXY_IMPORTEXPORT - #elif defined(ANDROID) - diff --git a/package/libepoxy/0004-darwin-use-glx-instead-of-opengl-framework.patch b/package/libepoxy/0004-darwin-use-glx-instead-of-opengl-framework.patch deleted file mode 100644 index be9b009f5c..0000000000 --- a/package/libepoxy/0004-darwin-use-glx-instead-of-opengl-framework.patch +++ /dev/null @@ -1,95 +0,0 @@ -From d010922282580a32dfebcda12ee1c307b3ef6005 Mon Sep 17 00:00:00 2001 -From: Jeremy Huddleston Sequoia -Date: Mon, 18 Jan 2016 09:49:55 -0800 -Subject: [PATCH 4/4] darwin: Use GLX instead of OpenGL.framework if it is the - current context - -Also makes a stab at similar support for Win32 - -anholt/libepoxy#63 - -Signed-off-by: Jeremy Huddleston Sequoia -Fetched from pull #81 on github for libepoxy: -https://github.com/anholt/libepoxy/pull/81/commits -Signed-off-by: Gustavo Zacarias ---- - src/dispatch_common.c | 29 ++++++++++++++++------------- - 1 file changed, 16 insertions(+), 13 deletions(-) - -diff --git a/src/dispatch_common.c b/src/dispatch_common.c -index 163d348..cb9f76a 100644 ---- a/src/dispatch_common.c -+++ b/src/dispatch_common.c -@@ -482,16 +482,20 @@ epoxy_glx_dlsym(const char *name) - void * - epoxy_gl_dlsym(const char *name) - { --#ifdef _WIN32 -+#if defined(_WIN32) || defined(__APPLE__) -+if (!epoxy_current_context_is_glx()) { -+# if defined(_WIN32) - return do_dlsym(&api.gl_handle, "OPENGL32", name, true); --#elif defined(__APPLE__) -+# elif defined(__APPLE__) - return do_dlsym(&api.gl_handle, - "/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL", - name, true); --#else -+# endif -+} -+#endif -+ - /* There's no library for desktop GL support independent of GLX. */ - return epoxy_glx_dlsym(name); --#endif - } - - void * -@@ -615,7 +619,7 @@ epoxy_get_bootstrap_proc_address(const char *name) - */ - #if PLATFORM_HAS_GLX - if (api.glx_handle && glXGetCurrentContext()) -- return epoxy_gl_dlsym(name); -+ return epoxy_glx_dlsym(name); - #endif - - /* If epoxy hasn't loaded any API-specific library yet, try to -@@ -644,22 +648,17 @@ epoxy_get_bootstrap_proc_address(const char *name) - } - #endif /* PLATFORM_HAS_EGL */ - -- /* Fall back to GLX */ -+ /* Fall back to the platform default */ - return epoxy_gl_dlsym(name); - } - - void * - epoxy_get_proc_address(const char *name) - { --#ifdef _WIN32 -- return wglGetProcAddress(name); --#elif defined(__APPLE__) -- return epoxy_gl_dlsym(name); --#else - #if PLATFORM_HAS_GLX - if (epoxy_current_context_is_glx()) { - return glXGetProcAddressARB((const GLubyte *)name); -- } else -+ } - #endif /* PLATFORM_HAS_GLX */ - #if PLATFORM_HAS_EGL - { -@@ -674,8 +673,12 @@ epoxy_get_proc_address(const char *name) - } - } - #endif /* PLATFORM_HAS_EGL */ -+#if defined(_WIN32) -+ return wglGetProcAddress(name); -+#elif defined(__APPLE__) -+ return epoxy_gl_dlsym(name); -+#endif - errx(1, "Couldn't find current GLX or EGL context.\n"); --#endif /* _WIN32 | __APPLE__*/ - } - - WRAPPER_VISIBILITY (void) diff --git a/package/libepoxy/0005-Forward-egl-cflags-into-epoxy.pc.patch b/package/libepoxy/0005-Forward-egl-cflags-into-epoxy.pc.patch deleted file mode 100644 index d13f01def5..0000000000 --- a/package/libepoxy/0005-Forward-egl-cflags-into-epoxy.pc.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 68e5f1574758240aedfe8653d7aaae62cdb08bf5 Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Sun, 20 Dec 2015 10:07:06 -0300 -Subject: [PATCH] Forward egl cflags into epoxy.pc - -When building mesa egl without x11 and gles2 the headers need a -MESA_EGL_NO_X11_HEADERS define, so put them in epoxy.pc as well since -otherwise builds will fail. - -Signed-off-by: Gustavo Zacarias ---- -Status: pull request https://github.com/anholt/libepoxy/pull/80 - - configure.ac | 2 ++ - epoxy.pc.in | 2 +- - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index c7cffb2..7b599de 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -102,6 +102,8 @@ if test x$build_egl = xyes; then - AC_DEFINE([BUILD_EGL], [1], [build EGL tests]) - fi - -+AC_SUBST(EGL_CFLAGS) -+ - PKG_CHECK_MODULES(GL, [gl], [gl=yes], [gl=no]) - if test x$gl = xno; then - build_glx=no -diff --git a/epoxy.pc.in b/epoxy.pc.in -index 8c85a33..f377da5 100644 ---- a/epoxy.pc.in -+++ b/epoxy.pc.in -@@ -6,6 +6,6 @@ includedir=@includedir@ - Name: epoxy - Description: epoxy GL dispatch Library - Version: @PACKAGE_VERSION@ --Cflags: -I${includedir} -+Cflags: -I${includedir} @EGL_CFLAGS@ - Libs: -L${libdir} -lepoxy - Libs.private: @DLOPEN_LIBS@ --- -2.4.10 - diff --git a/package/libepoxy/0006-Make-egl-conditional.patch b/package/libepoxy/0006-Make-egl-conditional.patch deleted file mode 100644 index 752e8e4fb9..0000000000 --- a/package/libepoxy/0006-Make-egl-conditional.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 5492e81f317e48141b0687ad77252c52c2dfcd6d Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Fri, 5 Feb 2016 19:03:39 -0300 -Subject: [PATCH] Make egl conditional - -Mesa can be built with GLX and without EGL support, so make this -possible in epoxy as well. - -Signed-off-by: Gustavo Zacarias ---- - configure.ac | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 6e56599..21e3a25 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -58,6 +58,13 @@ AC_CHECK_HEADER([KHR/khrplatform.h], - # uintptr_t to a void *") by default. Kill that. - XORG_TESTSET_CFLAG(CWARNFLAGS, [-Wno-int-conversion]) - -+AC_ARG_ENABLE([egl], -+ [AS_HELP_STRING([--disable-egl], -+ [disable if you don't want egl support])], -+ [enable_egl=$enableval], -+ [enable_egl=yes] -+ ) -+ - AC_ARG_ENABLE([glx], - [AS_HELP_STRING([--disable-glx], - [disable if you don't want x11/glx support])], -@@ -65,6 +72,7 @@ AC_ARG_ENABLE([glx], - [enable_glx=yes] - ) - -+PKG_CHECK_MODULES(EGL, [egl], [egl=$enable_egl], [egl=no]) - PKG_CHECK_MODULES(X11, [x11], [x11=$enable_glx], [x11=no]) - - AM_CONDITIONAL(HAVE_X11, test x$x11 = xyes) -@@ -96,7 +104,7 @@ case $host_os in - EPOXY_LINK_LIBS="" - ;; - *) -- build_egl=yes -+ build_egl=$egl - build_glx=$x11 - build_wgl=no - # On platforms with dlopen, we load everything dynamically and -@@ -109,7 +117,6 @@ AC_SUBST(EPOXY_LINK_LIBS) - - AM_CONDITIONAL(BUILD_EGL, test x$build_egl = xyes) - if test x$build_egl = xyes; then -- PKG_CHECK_MODULES(EGL, [egl]) - AC_DEFINE([BUILD_EGL], [1], [build EGL tests]) - fi - --- -2.4.10 - diff --git a/package/libepoxy/Config.in b/package/libepoxy/Config.in index c87366afd0..9da190b895 100644 --- a/package/libepoxy/Config.in +++ b/package/libepoxy/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_LIBEPOXY bool "libepoxy" - select BR2_PACKAGE_XUTIL_UTIL_MACROS depends on BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_HAS_LIBGL + select BR2_PACKAGE_XUTIL_UTIL_MACROS help Epoxy is a library for handling OpenGL function pointer management for you. diff --git a/package/libepoxy/libepoxy.hash b/package/libepoxy/libepoxy.hash index cb35cd4020..d7ebec5b5f 100644 --- a/package/libepoxy/libepoxy.hash +++ b/package/libepoxy/libepoxy.hash @@ -1,2 +1,2 @@ -# Locally calculated -sha256 6700ddedffb827b42c72cce1e0be6fba67b678b19bf256e1b5efd3ea38cc2bb4 libepoxy-v1.3.1.tar.gz +# From ftp://ftp.gnome.org/pub/GNOME/sources/libepoxy/1.4/libepoxy-1.4.3.sha256sum +sha256 0b808a06c9685a62fca34b680abb8bc7fb2fda074478e329b063c1f872b826f6 libepoxy-1.4.3.tar.xz diff --git a/package/libepoxy/libepoxy.mk b/package/libepoxy/libepoxy.mk index 1dd583e3ed..366cc11367 100644 --- a/package/libepoxy/libepoxy.mk +++ b/package/libepoxy/libepoxy.mk @@ -4,11 +4,11 @@ # ################################################################################ -LIBEPOXY_VERSION = v1.3.1 -LIBEPOXY_SITE = $(call github,anholt,libepoxy,$(LIBEPOXY_VERSION)) +LIBEPOXY_VERSION_MAJOR = 1.4 +LIBEPOXY_VERSION = $(LIBEPOXY_VERSION_MAJOR).3 +LIBEPOXY_SITE = http://ftp.gnome.org/pub/gnome/sources/libepoxy/$(LIBEPOXY_VERSION_MAJOR) +LIBEPOXY_SOURCE = libepoxy-$(LIBEPOXY_VERSION).tar.xz LIBEPOXY_INSTALL_STAGING = YES -# For patches 0001-0006: -LIBEPOXY_AUTORECONF = YES LIBEPOXY_DEPENDENCIES = host-pkgconf xutil_util-macros LIBEPOXY_LICENSE = MIT LIBEPOXY_LICENSE_FILES = COPYING diff --git a/package/liberation/liberation.mk b/package/liberation/liberation.mk index dfed086f6a..cabee17202 100644 --- a/package/liberation/liberation.mk +++ b/package/liberation/liberation.mk @@ -5,10 +5,10 @@ ################################################################################ LIBERATION_VERSION = 2.00.1 -LIBERATION_SITE = http://www.fedorahosted.org/releases/l/i/liberation-fonts +LIBERATION_SITE = https://releases.pagure.org/liberation-fonts LIBERATION_SOURCE = liberation-fonts-ttf-$(LIBERATION_VERSION).tar.gz LIBERATION_TARGET_DIR = $(TARGET_DIR)/usr/share/fonts/liberation -LIBERATION_LICENSE = OFLv1.1 +LIBERATION_LICENSE = OFL-1.1 LIBERATION_LICENSE_FILES = LICENSE ifeq ($(BR2_PACKAGE_LIBERATION_MONO),y) diff --git a/package/libesmtp/libesmtp.mk b/package/libesmtp/libesmtp.mk index cad2e27da6..b0f88c7a3b 100644 --- a/package/libesmtp/libesmtp.mk +++ b/package/libesmtp/libesmtp.mk @@ -10,7 +10,7 @@ LIBESMTP_SITE = http://www.stafford.uklinux.net/libesmtp LIBESMTP_INSTALL_STAGING = YES LIBESMTP_CONFIG_SCRIPTS = libesmtp-config LIBESMTP_DEPENDENCIES = $(if $(BR2_PACKAGE_OPENSSL),openssl) -LIBESMTP_LICENSE = GPLv2+ (examples), LGPLv2.1+ (library) +LIBESMTP_LICENSE = GPL-2.0+ (examples), LGPL-2.1+ (library) LIBESMTP_LICENSE_FILES = COPYING COPYING.LIB $(eval $(autotools-package)) diff --git a/package/libestr/libestr.mk b/package/libestr/libestr.mk index e9783d335f..dcd209474c 100644 --- a/package/libestr/libestr.mk +++ b/package/libestr/libestr.mk @@ -6,7 +6,7 @@ LIBESTR_VERSION = 0.1.10 LIBESTR_SITE = http://libestr.adiscon.com/files/download -LIBESTR_LICENSE = LGPLv2.1+ +LIBESTR_LICENSE = LGPL-2.1+ LIBESTR_LICENSE_FILES = COPYING LIBESTR_INSTALL_STAGING = YES diff --git a/package/libev/libev.hash b/package/libev/libev.hash index 7f029df7fa..d3b7bb5ca3 100644 --- a/package/libev/libev.hash +++ b/package/libev/libev.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 736079e8ac543c74d59af73f9c52737b3bfec9601f020bf25a87a4f4d0f01bd6 libev-4.22.tar.gz +sha256 973593d3479abdf657674a55afe5f78624b0e440614e2b8cb3a07f16d4d7f821 libev-4.24.tar.gz diff --git a/package/libev/libev.mk b/package/libev/libev.mk index 02bc72cba2..5d9020cd52 100644 --- a/package/libev/libev.mk +++ b/package/libev/libev.mk @@ -4,10 +4,10 @@ # ################################################################################ -LIBEV_VERSION = 4.22 -LIBEV_SITE = http://dist.schmorp.de/libev +LIBEV_VERSION = 4.24 +LIBEV_SITE = http://dist.schmorp.de/libev/Attic LIBEV_INSTALL_STAGING = YES -LIBEV_LICENSE = BSD-2c or GPLv2+ +LIBEV_LICENSE = BSD-2-Clause or GPL-2.0+ LIBEV_LICENSE_FILES = LICENSE # The 'compatibility' event.h header conflicts with libevent diff --git a/package/libevdev/libevdev.hash b/package/libevdev/libevdev.hash index 613866cfb6..1d3d18434f 100644 --- a/package/libevdev/libevdev.hash +++ b/package/libevdev/libevdev.hash @@ -1,2 +1,5 @@ -# Hash from https://lists.freedesktop.org/archives/input-tools/2017-January/001380.html -sha256 ecec7e9d66b1d3692f10b3b20aa97fb25e874a784c5552a7b1698091fef5a688 libevdev-1.5.6.tar.xz +# From https://lists.freedesktop.org/archives/input-tools/2017-May/001387.html +md5 4f1cfaee8d75ea3fbbfeb99a98730952 libevdev-1.5.7.tar.xz +sha1 ba1d8b66af9bd4e1d503ce6b2ed011e9e309048c libevdev-1.5.7.tar.xz +sha256 a1e59e37a2f0d397ffd7e83b73af0e638db83b8dd08902ef0f651a21cc1dd422 libevdev-1.5.7.tar.xz +sha512 53adf6c92ec61f0635b643a88d8762a18f7cd3088d23ac95831be32cc7150ebd19f20265b90f6a1f9a63420c2f8968c2d17d8dc4892c0e90f9dfcce82c622df1 libevdev-1.5.7.tar.xz diff --git a/package/libevdev/libevdev.mk b/package/libevdev/libevdev.mk index 01ee7fbaae..e5d9c60d26 100644 --- a/package/libevdev/libevdev.mk +++ b/package/libevdev/libevdev.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBEVDEV_VERSION = 1.5.6 +LIBEVDEV_VERSION = 1.5.7 LIBEVDEV_SITE = http://www.freedesktop.org/software/libevdev LIBEVDEV_SOURCE = libevdev-$(LIBEVDEV_VERSION).tar.xz LIBEVDEV_LICENSE = X11 diff --git a/package/libevent/libevent.mk b/package/libevent/libevent.mk index 5458ce316a..65bf1c2b7b 100644 --- a/package/libevent/libevent.mk +++ b/package/libevent/libevent.mk @@ -7,11 +7,12 @@ LIBEVENT_VERSION = 2.1.8-stable LIBEVENT_SITE = https://github.com/libevent/libevent/releases/download/release-$(LIBEVENT_VERSION) LIBEVENT_INSTALL_STAGING = YES -LIBEVENT_LICENSE = BSD-3c, OpenBSD +LIBEVENT_LICENSE = BSD-3-Clause, OpenBSD LIBEVENT_LICENSE_FILES = LICENSE # For 0001-Disable-building-test-programs.patch LIBEVENT_AUTORECONF = YES LIBEVENT_CONF_OPTS = --disable-samples +HOST_LIBEVENT_CONF_OPTS = --disable-samples --disable-openssl define LIBEVENT_REMOVE_PYSCRIPT rm $(TARGET_DIR)/usr/bin/event_rpcgen.py @@ -23,8 +24,8 @@ ifneq ($(BR2_PACKAGE_PYTHON),y) LIBEVENT_POST_INSTALL_TARGET_HOOKS += LIBEVENT_REMOVE_PYSCRIPT endif -ifeq ($(BR2_PACKAGE_OPENSSL),y) -LIBEVENT_DEPENDENCIES += host-pkgconf openssl +ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) +LIBEVENT_DEPENDENCIES += host-pkgconf libopenssl LIBEVENT_CONF_OPTS += --enable-openssl else LIBEVENT_CONF_OPTS += --disable-openssl diff --git a/package/libexif/libexif.mk b/package/libexif/libexif.mk index a71c117334..a4ec5ed3cb 100644 --- a/package/libexif/libexif.mk +++ b/package/libexif/libexif.mk @@ -9,7 +9,7 @@ LIBEXIF_SOURCE = libexif-$(LIBEXIF_VERSION).tar.bz2 LIBEXIF_SITE = http://downloads.sourceforge.net/project/libexif/libexif/$(LIBEXIF_VERSION) LIBEXIF_INSTALL_STAGING = YES LIBEXIF_DEPENDENCIES = host-pkgconf -LIBEXIF_LICENSE = LGPLv2.1+ +LIBEXIF_LICENSE = LGPL-2.1+ LIBEXIF_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/libfastjson/Config.in b/package/libfastjson/Config.in index fbc9b1d68a..a3a7c809af 100644 --- a/package/libfastjson/Config.in +++ b/package/libfastjson/Config.in @@ -10,7 +10,8 @@ config BR2_PACKAGE_LIBFASTJSON Its aim is to provide: - a small library with essential json handling functions - - sufficiently good json support (not 100% standards compliant) + - sufficiently good json support (not 100% standards + compliant) - be very fast in processing https://github.com/rsyslog/libfastjson/ diff --git a/package/libfastjson/libfastjson.mk b/package/libfastjson/libfastjson.mk index b1cdd6a158..06da0d8edd 100644 --- a/package/libfastjson/libfastjson.mk +++ b/package/libfastjson/libfastjson.mk @@ -7,6 +7,7 @@ LIBFASTJSON_VERSION = v0.99.4 LIBFASTJSON_SITE = $(call github,rsyslog,libfastjson,$(LIBFASTJSON_VERSION)) LIBFASTJSON_INSTALL_STAGING = YES +LIBFASTJSON_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' # From git LIBFASTJSON_AUTORECONF = YES LIBFASTJSON_LICENSE = MIT diff --git a/package/libffi/0005-mips-use-__linux__-and-not-linux.patch b/package/libffi/0005-mips-use-__linux__-and-not-linux.patch new file mode 100644 index 0000000000..a48f3d3b6d --- /dev/null +++ b/package/libffi/0005-mips-use-__linux__-and-not-linux.patch @@ -0,0 +1,37 @@ +From 1f43e5edfd91bee80e518432b80db01f1bf226e3 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 22 Oct 2017 15:02:11 +0200 +Subject: [PATCH] mips: use __linux__ and not linux + +The "linux" symbol is not POSIX compliant [1], and therefore not +defined when building with -std=c99. Due to this, the linux +conditional block doesn't get used on Linux when building Python 3.x +(which is built with -std=c99). To fix this, we use the POSIX +compliant __linux__ symbol, which is defined when -std=c99 is used. + +This fixes the build of Python 3.x on MIPS/musl configuration, as it +makes sures that gets included and not . + +[1] https://sourceforge.net/p/predef/wiki/OperatingSystems/ + +Signed-off-by: Thomas Petazzoni +--- + src/mips/ffitarget.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/mips/ffitarget.h b/src/mips/ffitarget.h +index 717d659..6faa358 100644 +--- a/src/mips/ffitarget.h ++++ b/src/mips/ffitarget.h +@@ -32,7 +32,7 @@ + #error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." + #endif + +-#ifdef linux ++#ifdef __linux__ + # include + #elif defined(__rtems__) + /* +-- +2.13.6 + diff --git a/package/libffi/libffi.hash b/package/libffi/libffi.hash index 63a9203f9b..0153f7e37e 100644 --- a/package/libffi/libffi.hash +++ b/package/libffi/libffi.hash @@ -1,2 +1,4 @@ # From ftp://sourceware.org/pub/libffi/sha512.sum sha512 980ca30a8d76f963fca722432b1fe5af77d7a4e4d2eac5144fbc5374d4c596609a293440573f4294207e1bdd9fda80ad1e1cafb2ffb543df5a275bc3bd546483 libffi-3.2.1.tar.gz +# License files, locally calculated +sha256 0f4d7a0bfb83c37465d42dc305f124189196cc0cc2cc8d6f8461103682aebbc5 LICENSE diff --git a/package/libffi/libffi.mk b/package/libffi/libffi.mk index 38ef2d60d0..32e01e9cd1 100644 --- a/package/libffi/libffi.mk +++ b/package/libffi/libffi.mk @@ -14,13 +14,13 @@ LIBFFI_AUTORECONF = YES # Move the headers to the usual location, and adjust the .pc file # accordingly. define LIBFFI_MOVE_HEADERS - mv $(1)/usr/lib/libffi-$(LIBFFI_VERSION)/include/*.h $(1)/usr/include/ + mv $(1)/lib/libffi-$(LIBFFI_VERSION)/include/*.h $(1)/include/ $(SED) '/^includedir.*/d' -e '/^Cflags:.*/d' \ - $(1)/usr/lib/pkgconfig/libffi.pc - rm -rf $(1)/usr/lib/libffi-* + $(1)/lib/pkgconfig/libffi.pc + rm -rf $(1)/lib/libffi-* endef -LIBFFI_MOVE_STAGING_HEADERS = $(call LIBFFI_MOVE_HEADERS,$(STAGING_DIR)) +LIBFFI_MOVE_STAGING_HEADERS = $(call LIBFFI_MOVE_HEADERS,$(STAGING_DIR)/usr) LIBFFI_POST_INSTALL_STAGING_HOOKS += LIBFFI_MOVE_STAGING_HEADERS HOST_LIBFFI_MOVE_HOST_HEADERS = $(call LIBFFI_MOVE_HEADERS,$(HOST_DIR)) diff --git a/package/libfm-extra/Config.in b/package/libfm-extra/Config.in index 79465f9750..eefc022c4e 100644 --- a/package/libfm-extra/Config.in +++ b/package/libfm-extra/Config.in @@ -1,9 +1,9 @@ config BR2_PACKAGE_LIBFM_EXTRA bool "libfm-extra" - select BR2_PACKAGE_LIBGLIB2 depends on BR2_USE_WCHAR # libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_USE_MMU # libglib2 + select BR2_PACKAGE_LIBGLIB2 help The libfm-extra package contains a library and other files required by menu-cache-gen libexec of menu-cache diff --git a/package/libfm-extra/libfm-extra.mk b/package/libfm-extra/libfm-extra.mk index 0e7a7dc0a6..67d6dc1294 100644 --- a/package/libfm-extra/libfm-extra.mk +++ b/package/libfm-extra/libfm-extra.mk @@ -8,7 +8,7 @@ LIBFM_EXTRA_VERSION = 1.2.4 LIBFM_EXTRA_SOURCE = libfm-$(LIBFM_EXTRA_VERSION).tar.xz LIBFM_EXTRA_SITE = http://sourceforge.net/projects/pcmanfm/files LIBFM_EXTRA_DEPENDENCIES = libglib2 host-intltool -LIBFM_EXTRA_LICENSE = GPLv2+, LGPLv2.1+ +LIBFM_EXTRA_LICENSE = GPL-2.0+, LGPL-2.1+ LIBFM_EXTRA_LICENSE_FILES = COPYING src/extra/fm-xml-file.c LIBFM_EXTRA_INSTALL_STAGING = YES LIBFM_EXTRA_CONF_OPTS = --with-extra-only --with-gtk=no diff --git a/package/libfm/Config.in b/package/libfm/Config.in index 0463d1c5d7..81f2e10043 100644 --- a/package/libfm/Config.in +++ b/package/libfm/Config.in @@ -1,15 +1,15 @@ config BR2_PACKAGE_LIBFM bool "libfm" - select BR2_PACKAGE_MENU_CACHE - select BR2_PACKAGE_LIBGLIB2 - select BR2_PACKAGE_LIBGTK2 if !BR2_PACKAGE_LIBGTK3_X11 - select BR2_PACKAGE_CAIRO depends on BR2_PACKAGE_XORG7 depends on BR2_USE_WCHAR # libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_USE_MMU # libglib2 depends on BR2_INSTALL_LIBSTDCPP # libgtk2 depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libgtk2 -> pango -> harfbuzz + select BR2_PACKAGE_CAIRO + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBGTK2 if !BR2_PACKAGE_LIBGTK3_X11 + select BR2_PACKAGE_MENU_CACHE help A glib/gio-based library providing some file management utilities and related-widgets missing in gtk+/glib. This is diff --git a/package/libfm/libfm.hash b/package/libfm/libfm.hash index 8a78adebb4..69c4c31f6d 100644 --- a/package/libfm/libfm.hash +++ b/package/libfm/libfm.hash @@ -1,3 +1,3 @@ # From https://sourceforge.net/projects/pcmanfm/files/PCManFM%20%2B%20Libfm%20%28tarball%20release%29/LibFM/ -md5 74997d75e7e87dc73398746fd373bf52 libfm-1.2.4.tar.xz -sha1 2f8183389c8e74edb15c6c8ab260df5dd39f3b2d libfm-1.2.4.tar.xz +md5 a1ba9ae5e920f38b647dd511edd6c807 libfm-1.2.5.tar.xz +sha1 5887aa4e85ee0964e7da67368136849957afd5d6 libfm-1.2.5.tar.xz diff --git a/package/libfm/libfm.mk b/package/libfm/libfm.mk index 633a844d8d..c49cd3e633 100644 --- a/package/libfm/libfm.mk +++ b/package/libfm/libfm.mk @@ -4,11 +4,11 @@ # ################################################################################ -LIBFM_VERSION = 1.2.4 +LIBFM_VERSION = 1.2.5 LIBFM_SOURCE = libfm-$(LIBFM_VERSION).tar.xz LIBFM_SITE = http://sourceforge.net/projects/pcmanfm/files LIBFM_DEPENDENCIES = menu-cache libglib2 cairo -LIBFM_LICENSE = GPLv2+, LGPLv2.1+ +LIBFM_LICENSE = GPL-2.0+, LGPL-2.1+ LIBFM_LICENSE_FILES = COPYING src/extra/fm-xml-file.c LIBFM_INSTALL_STAGING = YES diff --git a/package/libfreefare/libfreefare.mk b/package/libfreefare/libfreefare.mk index e2d7bf1245..13e6f2ad5e 100644 --- a/package/libfreefare/libfreefare.mk +++ b/package/libfreefare/libfreefare.mk @@ -10,7 +10,7 @@ LIBFREEFARE_SOURCE = libfreefare-$(LIBFREEFARE_VERSION).tar.bz2 # the same as the one uploaded by upstream for the release. LIBFREEFARE_SITE = https://github.com/nfc-tools/libfreefare/releases/download/libfreefare-$(LIBFREEFARE_VERSION) LIBFREEFARE_DEPENDENCIES = libnfc openssl -LIBFREEFARE_LICENSE = LGPLv3+ with exception +LIBFREEFARE_LICENSE = LGPL-3.0+ with exception LIBFREEFARE_LICENSE_FILES = COPYING ifeq ($(BR2_STATIC_LIBS),y) diff --git a/package/libfreeglut/Config.in b/package/libfreeglut/Config.in index e09e7efe89..ccb2d5cddc 100644 --- a/package/libfreeglut/Config.in +++ b/package/libfreeglut/Config.in @@ -1,17 +1,17 @@ config BR2_PACKAGE_LIBFREEGLUT bool "libfreeglut" + depends on BR2_PACKAGE_HAS_LIBGL + depends on BR2_PACKAGE_XORG7 select BR2_PACKAGE_LIBGLU select BR2_PACKAGE_XLIB_LIBXI select BR2_PACKAGE_XLIB_LIBXRANDR select BR2_PACKAGE_XLIB_LIBXXF86VM - depends on BR2_PACKAGE_HAS_LIBGL - depends on BR2_PACKAGE_XORG7 help FreeGLUT is a free-software/open-source alternative to the OpenGL Utility Toolkit (GLUT) library. GLUT (and hence - FreeGLUT) takes care of all the system-specific chores required - for creating windows, initializing OpenGL contexts, and - handling input events, to allow for trully portable OpenGL + FreeGLUT) takes care of all the system-specific chores + required for creating windows, initializing OpenGL contexts, + and handling input events, to allow for trully portable OpenGL programs. http://freeglut.sourceforge.net diff --git a/package/libfreeimage/libfreeimage.mk b/package/libfreeimage/libfreeimage.mk index fe79689fdd..0ca23933a6 100644 --- a/package/libfreeimage/libfreeimage.mk +++ b/package/libfreeimage/libfreeimage.mk @@ -7,7 +7,7 @@ LIBFREEIMAGE_VERSION = 3.17.0 LIBFREEIMAGE_SITE = http://downloads.sourceforge.net/freeimage LIBFREEIMAGE_SOURCE = FreeImage$(subst .,,$(LIBFREEIMAGE_VERSION)).zip -LIBFREEIMAGE_LICENSE = GPLv2 or GPLv3 or FreeImage Public License +LIBFREEIMAGE_LICENSE = GPL-2.0 or GPL-3.0 or FreeImage Public License LIBFREEIMAGE_LICENSE_FILES = license-gplv2.txt license-gplv3.txt license-fi.txt LIBFREEIMAGE_INSTALL_STAGING = YES @@ -30,4 +30,3 @@ define LIBFREEIMAGE_INSTALL_TARGET_CMDS endef $(eval $(generic-package)) - diff --git a/package/libfribidi/libfribidi.mk b/package/libfribidi/libfribidi.mk index 751a1b6066..a7a8519181 100644 --- a/package/libfribidi/libfribidi.mk +++ b/package/libfribidi/libfribidi.mk @@ -7,7 +7,7 @@ LIBFRIBIDI_VERSION = 0.19.7 LIBFRIBIDI_SOURCE = fribidi-$(LIBFRIBIDI_VERSION).tar.bz2 LIBFRIBIDI_SITE = http://www.fribidi.org/download -LIBFRIBIDI_LICENSE = LGPLv2.1+ +LIBFRIBIDI_LICENSE = LGPL-2.1+ LIBFRIBIDI_LICENSE_FILES = COPYING LIBFRIBIDI_INSTALL_STAGING = YES # Ships a beta libtool version hence our patch doesn't apply. diff --git a/package/libftdi1/Config.in b/package/libftdi1/Config.in index aca797b62a..d47321345b 100644 --- a/package/libftdi1/Config.in +++ b/package/libftdi1/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_LIBFTDI1 bool "libftdi1" - select BR2_PACKAGE_LIBUSB depends on BR2_TOOLCHAIN_HAS_THREADS # libusb + select BR2_PACKAGE_LIBUSB help Userspace access to FTDI USB interface chips (version 1.x) @@ -11,10 +11,10 @@ if BR2_PACKAGE_LIBFTDI1 config BR2_PACKAGE_LIBFTDI1_LIBFTDIPP1 bool "libftdipp1" - select BR2_PACKAGE_BOOST depends on BR2_INSTALL_LIBSTDCPP # boost depends on BR2_TOOLCHAIN_HAS_THREADS # boost depends on BR2_USE_WCHAR # boost + select BR2_PACKAGE_BOOST help C++ bindings for libftdi @@ -28,8 +28,8 @@ config BR2_PACKAGE_LIBFTDI1_PYTHON_BINDINGS Python bindings for libftdi config BR2_PACKAGE_LIBFTDI1_FDTI_EEPROM - select BR2_PACKAGE_LIBCONFUSE bool "ftdi_eeprom tool" + select BR2_PACKAGE_LIBCONFUSE endif # BR2_PACKAGE_LIBFTDI1 diff --git a/package/libftdi1/libftdi1.hash b/package/libftdi1/libftdi1.hash index 0a89182449..40512a7fc3 100644 --- a/package/libftdi1/libftdi1.hash +++ b/package/libftdi1/libftdi1.hash @@ -1,2 +1,3 @@ -# Locally computed (after checking the signature from http://www.intra2net.com/en/developer/libftdi/download.php) -sha256 9a8c95c94bfbcf36584a0a58a6e2003d9b133213d9202b76aec76302ffaa81f4 libftdi1-1.3.tar.bz2 +# Locally computed after checking the signature +# https://www.intra2net.com/en/developer/libftdi/download/libftdi1-1.4.tar.bz2.sig +sha256 ec36fb49080f834690c24008328a5ef42d3cf584ef4060f3a35aa4681cb31b74 libftdi1-1.4.tar.bz2 diff --git a/package/libftdi1/libftdi1.mk b/package/libftdi1/libftdi1.mk index 26aa293b33..c45c83a711 100644 --- a/package/libftdi1/libftdi1.mk +++ b/package/libftdi1/libftdi1.mk @@ -4,12 +4,12 @@ # ################################################################################ -LIBFTDI1_VERSION = 1.3 +LIBFTDI1_VERSION = 1.4 LIBFTDI1_SOURCE = libftdi1-$(LIBFTDI1_VERSION).tar.bz2 LIBFTDI1_SITE = http://www.intra2net.com/en/developer/libftdi/download LIBFTDI1_INSTALL_STAGING = YES LIBFTDI1_DEPENDENCIES = libusb -LIBFTDI1_LICENSE = LGPLv2 (libftdi1), GPLv2 with exception (ftdipp1) +LIBFTDI1_LICENSE = LGPL-2.0 (libftdi1), GPL-2.0 with exception (ftdipp1) LIBFTDI1_LICENSE_FILES = LICENSE COPYING.GPL COPYING.LIB LIBFTDI1_CONF_OPTS = -DDOCUMENTATION=OFF -DEXAMPLES=OFF @@ -28,9 +28,8 @@ LIBFTDI1_CONF_OPTS += -DPYTHON_BINDINGS=OFF endif ifeq ($(BR2_PACKAGE_LIBFTDI1_FDTI_EEPROM),y) -# ftdi_eeprom optionally depends on libintl, so make sure gettext is built -# _before_ libfitdi1 when gettext is enbaled. -LIBFTDI1_DEPENDENCIES += libconfuse $(if $(BR2_PACKAGE_GETTEXT),gettext) +# ftdi_eeprom optionally depends on libintl +LIBFTDI1_DEPENDENCIES += libconfuse $(TARGET_NLS_DEPENDENCIES) LIBFTDI1_CONF_OPTS += -DFTDI_EEPROM=ON else LIBFTDI1_CONF_OPTS += -DFTDI_EEPROM=OFF diff --git a/package/libfuse/libfuse.mk b/package/libfuse/libfuse.mk index 57aabcd97a..dc177d03c1 100644 --- a/package/libfuse/libfuse.mk +++ b/package/libfuse/libfuse.mk @@ -7,7 +7,7 @@ LIBFUSE_VERSION = 2.9.7 LIBFUSE_SOURCE = fuse-$(LIBFUSE_VERSION).tar.gz LIBFUSE_SITE = https://github.com/libfuse/libfuse/releases/download/fuse-$(LIBFUSE_VERSION) -LIBFUSE_LICENSE = GPLv2, LGPLv2.1 +LIBFUSE_LICENSE = GPL-2.0, LGPL-2.1 LIBFUSE_LICENSE_FILES = COPYING COPYING.LIB LIBFUSE_INSTALL_STAGING = YES LIBFUSE_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBICONV),libiconv) diff --git a/package/libg7221/libg7221.hash b/package/libg7221/libg7221.hash new file mode 100644 index 0000000000..d1472a6c69 --- /dev/null +++ b/package/libg7221/libg7221.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 330dafa58d37a585a866167bc33f8fbe06dbcfc9a69cad43fab0b6702ebf2393 libg7221-dbfc29d4806ecdace50379a2f4d68a992a6fec34.tar.gz diff --git a/package/libgcrypt/libgcrypt.hash b/package/libgcrypt/libgcrypt.hash index 48bbd6af54..8999db8970 100644 --- a/package/libgcrypt/libgcrypt.hash +++ b/package/libgcrypt/libgcrypt.hash @@ -1,2 +1,5 @@ -# Locally calculated -sha256 626aafee84af9d2ce253d2c143dc1c0902dda045780cc241f39970fc60be05bc libgcrypt-1.7.6.tar.bz2 +# From https://www.gnupg.org/download/integrity_check.html +sha1 dd35f00da45602afe81e01f4d60c40bbdd826fe6 libgcrypt-1.8.1.tar.bz2 +# Locally calculated after checking signature +# https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.8.1.tar.bz2.sig +sha256 7a2875f8b1ae0301732e878c0cca2c9664ff09ef71408f085c50e332656a78b3 libgcrypt-1.8.1.tar.bz2 diff --git a/package/libgcrypt/libgcrypt.mk b/package/libgcrypt/libgcrypt.mk index a034358b3d..fbbb83162e 100644 --- a/package/libgcrypt/libgcrypt.mk +++ b/package/libgcrypt/libgcrypt.mk @@ -4,11 +4,11 @@ # ################################################################################ -LIBGCRYPT_VERSION = 1.7.6 +LIBGCRYPT_VERSION = 1.8.1 LIBGCRYPT_SOURCE = libgcrypt-$(LIBGCRYPT_VERSION).tar.bz2 -LIBGCRYPT_LICENSE = LGPLv2.1+ +LIBGCRYPT_LICENSE = LGPL-2.1+ LIBGCRYPT_LICENSE_FILES = COPYING.LIB -LIBGCRYPT_SITE = ftp://ftp.gnupg.org/gcrypt/libgcrypt +LIBGCRYPT_SITE = https://gnupg.org/ftp/gcrypt/libgcrypt LIBGCRYPT_INSTALL_STAGING = YES LIBGCRYPT_DEPENDENCIES = libgpg-error LIBGCRYPT_CONFIG_SCRIPTS = libgcrypt-config diff --git a/package/libgdiplus/Config.in b/package/libgdiplus/Config.in index 68625031e2..6ddf44fd0c 100644 --- a/package/libgdiplus/Config.in +++ b/package/libgdiplus/Config.in @@ -1,13 +1,13 @@ config BR2_PACKAGE_LIBGDIPLUS bool "libgdiplus" - select BR2_PACKAGE_XLIB_LIBXFT - select BR2_PACKAGE_LIBGLIB2 - select BR2_PACKAGE_CAIRO - select BR2_PACKAGE_LIBPNG depends on BR2_PACKAGE_XORG7 depends on BR2_USE_WCHAR # libglib2 -> gettext depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_USE_MMU # libglib2 + select BR2_PACKAGE_XLIB_LIBXFT + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_CAIRO + select BR2_PACKAGE_LIBPNG help An Open Source implementation of the GDI+ API. diff --git a/package/libgdiplus/libgdiplus.mk b/package/libgdiplus/libgdiplus.mk index aac859f865..7d564b6cd9 100644 --- a/package/libgdiplus/libgdiplus.mk +++ b/package/libgdiplus/libgdiplus.mk @@ -7,7 +7,7 @@ LIBGDIPLUS_VERSION = 4.2 LIBGDIPLUS_SITE = $(call github,mono,libgdiplus,$(LIBGDIPLUS_VERSION)) -# Although there is a LICENSE file thas specifies LGPL or MPLv1.1, +# Although there is a LICENSE file thas specifies LGPL or MPL-1.1, # looks like it is incorrect. The actual source files specify that # they're licensed under MIT, and so does the COPYING file (and they # all predate the addition of the LICENSE file). diff --git a/package/libgee/libgee.mk b/package/libgee/libgee.mk index 1df54d2b34..9d87169e44 100644 --- a/package/libgee/libgee.mk +++ b/package/libgee/libgee.mk @@ -10,7 +10,7 @@ LIBGEE_SITE = http://ftp.gnome.org/pub/gnome/sources/libgee/$(LIBGEE_VERSION_MAJ LIBGEE_SOURCE = libgee-$(LIBGEE_VERSION).tar.xz LIBGEE_DEPENDENCIES = host-pkgconf host-vala libglib2 LIBGEE_INSTALL_STAGING = YES -LIBGEE_LICENSE = LGPLv2.1+ +LIBGEE_LICENSE = LGPL-2.1+ LIBGEE_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/libglade/libglade.mk b/package/libglade/libglade.mk index a6eea09c34..32fa595f5a 100644 --- a/package/libglade/libglade.mk +++ b/package/libglade/libglade.mk @@ -10,7 +10,7 @@ LIBGLADE_SOURCE = libglade-$(LIBGLADE_VERSION).tar.bz2 LIBGLADE_SITE = http://ftp.gnome.org/pub/GNOME/sources/libglade/$(LIBGLADE_VERSION_MAJOR) LIBGLADE_INSTALL_STAGING = YES LIBGLADE_DEPENDENCIES = host-pkgconf libglib2 libgtk2 atk libxml2 -LIBGLADE_LICENSE = LGPLv2+ +LIBGLADE_LICENSE = LGPL-2.0+ LIBGLADE_LICENSE_FILES = COPYING define LIBGLADE_INSTALL_FIX diff --git a/package/libglew/Config.in b/package/libglew/Config.in index 67c49d4162..099c9461a4 100644 --- a/package/libglew/Config.in +++ b/package/libglew/Config.in @@ -7,11 +7,12 @@ config BR2_PACKAGE_LIBGLEW select BR2_PACKAGE_XLIB_LIBXI select BR2_PACKAGE_XLIB_LIBXMU help - The OpenGL Extension Wrangler Library (GLEW) is a cross-platform C/C++ - extension loading library. GLEW provides efficient run-time mechanisms - for determining which OpenGL extensions are supported on the target - platform. OpenGL core and extension functionality is exposed in a - single header file. + The OpenGL Extension Wrangler Library (GLEW) is a + cross-platform C/C++ extension loading library. GLEW provides + efficient run-time mechanisms for determining which OpenGL + extensions are supported on the target platform. OpenGL core + and extension functionality is exposed in a single header + file. http://glew.sourceforge.net diff --git a/package/libglew/libglew.mk b/package/libglew/libglew.mk index 7af3affb91..277a171b14 100644 --- a/package/libglew/libglew.mk +++ b/package/libglew/libglew.mk @@ -7,7 +7,7 @@ LIBGLEW_VERSION = 2.0.0 LIBGLEW_SOURCE = glew-$(LIBGLEW_VERSION).tgz LIBGLEW_SITE = http://sourceforge.net/projects/glew/files/glew/$(LIBGLEW_VERSION) -LIBGLEW_LICENSE = BSD-3c, MIT +LIBGLEW_LICENSE = BSD-3-Clause, MIT LIBGLEW_LICENSE_FILES = LICENSE.txt LIBGLEW_INSTALL_STAGING = YES LIBGLEW_DEPENDENCIES = libgl xlib_libX11 xlib_libXext xlib_libXi xlib_libXmu diff --git a/package/libglfw/libglfw.hash b/package/libglfw/libglfw.hash index 3226aad22d..c0ad2af1c0 100644 --- a/package/libglfw/libglfw.hash +++ b/package/libglfw/libglfw.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 6ac642087682aaf7f8397761a41a99042b2c656498217a1c63ba9706d1eef122 libglfw-3.1.2.tar.gz +sha256 e10f0de1384d75e6fc210c53e91843f6110d6c4f3afbfb588130713c2f9d8fe8 libglfw-3.2.1.tar.gz diff --git a/package/libglfw/libglfw.mk b/package/libglfw/libglfw.mk index 0b1730d523..b6dde2e9d6 100644 --- a/package/libglfw/libglfw.mk +++ b/package/libglfw/libglfw.mk @@ -4,12 +4,12 @@ # ################################################################################ -LIBGLFW_VERSION = 3.1.2 +LIBGLFW_VERSION = 3.2.1 LIBGLFW_SITE = $(call github,glfw,glfw,$(LIBGLFW_VERSION)) LIBGLFW_INSTALL_STAGING = YES LIBGLFW_DEPENDENCIES = libgl xlib_libXcursor xlib_libXext \ xlib_libXinerama xlib_libXrandr -LIBGLFW_LICENSE = zlib +LIBGLFW_LICENSE = Zlib LIBGLFW_LICENSE_FILES = COPYING.txt LIBGLFW_CONF_OPTS += \ diff --git a/package/libglib2/0001-fix-compile-time-atomic-detection.patch b/package/libglib2/0001-fix-compile-time-atomic-detection.patch index f6d0c5d6a5..708188b2c1 100644 --- a/package/libglib2/0001-fix-compile-time-atomic-detection.patch +++ b/package/libglib2/0001-fix-compile-time-atomic-detection.patch @@ -1,4 +1,7 @@ -[PATCH] Fix compilation issues on architectures with limited atomic support +From d5c628a6179b99705fa05ab87437321b132c81bc Mon Sep 17 00:00:00 2001 +From: Brendan Heading +Date: Wed, 21 Jun 2017 16:36:15 -0400 +Subject: [PATCH] Fix compile time atomic detection Improved compile-time detection of atomic support in the compiler. @@ -6,15 +9,16 @@ Upstream-Status: submitted See : https://bugzilla.gnome.org/show_bug.cgi?id=752731 Signed-off-by: Brendan Heading +Signed-off-by: Adam Duskett --- glib/gthread-posix.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glib/gthread-posix.c b/glib/gthread-posix.c -index ae5d805..8db8557 100644 +index 71a6b7b..d09d029 100644 --- a/glib/gthread-posix.c +++ b/glib/gthread-posix.c -@@ -67,7 +67,7 @@ +@@ -65,7 +65,7 @@ #endif /* clang defines __ATOMIC_SEQ_CST but doesn't support the GCC extension */ @@ -24,5 +28,5 @@ index ae5d805..8db8557 100644 #endif -- -2.4.3 +2.9.4 diff --git a/package/libglib2/0002-disable-tests.patch b/package/libglib2/0002-disable-tests.patch index 1b0c535571..523ebb35ac 100644 --- a/package/libglib2/0002-disable-tests.patch +++ b/package/libglib2/0002-disable-tests.patch @@ -1,12 +1,37 @@ +From ee2d6609bce808ac72afdbf86db1a6e27c78171e Mon Sep 17 00:00:00 2001 +From: Gustavo Zacarias +Date: Wed, 21 Jun 2017 16:37:54 -0400 +Subject: [PATCH] disable tests + Disable tests, some of them need python and sometimes host-python gets mixed with distro python leading to build failures. Signed-off-by: Gustavo Zacarias +Signed-off-by: Adam Duskett +--- + Makefile.am | 2 +- + gio/Makefile.am | 2 +- + glib/Makefile.am | 4 ++-- + 3 files changed, 4 insertions(+), 4 deletions(-) -diff -Nura glib-2.46.1.orig/gio/Makefile.am glib-2.46.1/gio/Makefile.am ---- glib-2.46.1.orig/gio/Makefile.am 2015-10-20 16:59:03.042212468 -0300 -+++ glib-2.46.1/gio/Makefile.am 2015-10-20 17:32:26.763146133 -0300 -@@ -233,7 +233,7 @@ +diff --git a/Makefile.am b/Makefile.am +index 008ad58..007332d 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -6,7 +6,7 @@ include $(top_srcdir)/glib.mk + + ACLOCAL_AMFLAGS = -I m4macros ${ACLOCAL_FLAGS} + +-SUBDIRS = . m4macros glib gmodule gthread gobject gio po docs tests ++SUBDIRS = . m4macros glib gmodule gthread gobject gio po docs + DIST_SUBDIRS = $(SUBDIRS) build win32 + + bin_SCRIPTS = glib-gettextize +diff --git a/gio/Makefile.am b/gio/Makefile.am +index 67db1b7..78309b5 100644 +--- a/gio/Makefile.am ++++ b/gio/Makefile.am +@@ -244,7 +244,7 @@ platform_libadd += win32/libgiowin32.la platform_deps += win32/libgiowin32.la endif @@ -15,10 +40,11 @@ diff -Nura glib-2.46.1.orig/gio/Makefile.am glib-2.46.1/gio/Makefile.am if HAVE_FAM SUBDIRS += fam -diff -Nura glib-2.46.1.orig/glib/Makefile.am glib-2.46.1/glib/Makefile.am ---- glib-2.46.1.orig/glib/Makefile.am 2015-10-20 16:59:03.066213318 -0300 -+++ glib-2.46.1/glib/Makefile.am 2015-10-20 17:33:23.537155988 -0300 -@@ -33,8 +33,8 @@ +diff --git a/glib/Makefile.am b/glib/Makefile.am +index d755853..61166e5 100644 +--- a/glib/Makefile.am ++++ b/glib/Makefile.am +@@ -33,8 +33,8 @@ else MAYBE_PCRE = pcre endif @@ -29,15 +55,6 @@ diff -Nura glib-2.46.1.orig/glib/Makefile.am glib-2.46.1/glib/Makefile.am AM_CPPFLAGS = \ $(glib_INCLUDES) \ -diff -Nura glib-2.46.1.orig/Makefile.am glib-2.46.1/Makefile.am ---- glib-2.46.1.orig/Makefile.am 2015-10-20 16:59:03.003211087 -0300 -+++ glib-2.46.1/Makefile.am 2015-10-20 17:32:20.923939420 -0300 -@@ -6,7 +6,7 @@ - - ACLOCAL_AMFLAGS = -I m4macros ${ACLOCAL_FLAGS} - --SUBDIRS = . m4macros glib gmodule gthread gobject gio po docs tests -+SUBDIRS = . m4macros glib gmodule gthread gobject gio po docs - DIST_SUBDIRS = $(SUBDIRS) build - - bin_SCRIPTS = glib-gettextize +-- +2.9.4 + diff --git a/package/libglib2/0003-gio-2.0.pc-include-libmount-in-Libs.private.patch b/package/libglib2/0003-gio-2.0.pc-include-libmount-in-Libs.private.patch deleted file mode 100644 index 364e179345..0000000000 --- a/package/libglib2/0003-gio-2.0.pc-include-libmount-in-Libs.private.patch +++ /dev/null @@ -1,32 +0,0 @@ -From ee32416dec8462ee27c3c254100cf980b0889ce0 Mon Sep 17 00:00:00 2001 -From: Rahul Bedarkar -Date: Tue, 18 Oct 2016 23:04:50 +0530 -Subject: [PATCH] gio-2.0.pc: include libmount in Libs.private - -This helps with static linking. When application statically links with -libgio, it needs to link against libmount explicitly. When it is -mentioned in Libs.private, build system can figure out with which extra -libs to link against with help of pkg-config. - -This build failure is detected by Buildroot autobuilder: -http://autobuild.buildroot.net/results/fdf/fdf26abbed0014606a7788ce5d60828a0e871186 - -Signed-off-by: Rahul Bedarkar ---- - gio-2.0.pc.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gio-2.0.pc.in b/gio-2.0.pc.in -index 899af0c..7574eb7 100644 ---- a/gio-2.0.pc.in -+++ b/gio-2.0.pc.in -@@ -14,5 +14,5 @@ Version: @VERSION@ - Requires: glib-2.0 gobject-2.0 - Requires.private: gmodule-no-export-2.0 - Libs: -L${libdir} -lgio-2.0 --Libs.private: @ZLIB_LIBS@ @NETWORK_LIBS@ @SELINUX_LIBS@ @COCOA_LIBS@ @CARBON_LIBS@ -+Libs.private: @ZLIB_LIBS@ @NETWORK_LIBS@ @SELINUX_LIBS@ @COCOA_LIBS@ @CARBON_LIBS@ @LIBMOUNT_LIBS@ - Cflags: --- -2.6.2 - diff --git a/package/libglib2/Config.in b/package/libglib2/Config.in index 80c7d6749b..ea946ba05e 100644 --- a/package/libglib2/Config.in +++ b/package/libglib2/Config.in @@ -1,6 +1,8 @@ config BR2_PACKAGE_LIBGLIB2 bool "libglib2" - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT + depends on BR2_USE_WCHAR # gettext + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_USE_MMU # fork() select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE select BR2_PACKAGE_LIBFFI select BR2_PACKAGE_PCRE @@ -8,9 +10,6 @@ config BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT select BR2_PACKAGE_ZLIB - depends on BR2_USE_WCHAR # gettext - depends on BR2_TOOLCHAIN_HAS_THREADS - depends on BR2_USE_MMU # fork() help Low-level core library that forms the basis of GTK+ and GNOME. diff --git a/package/libglib2/libglib2.hash b/package/libglib2/libglib2.hash index 94bf8700b3..cf1c9557f8 100644 --- a/package/libglib2/libglib2.hash +++ b/package/libglib2/libglib2.hash @@ -1,2 +1,4 @@ -# https://download.gnome.org/sources/glib/2.50/glib-2.50.2.sha256sum -sha256 be68737c1f268c05493e503b3b654d2b7f43d7d0b8c5556f7e4651b870acfbf5 glib-2.50.2.tar.xz +# https://download.gnome.org/sources/glib/2.54/glib-2.54.2.sha256sum +sha256 bb89e5c5aad33169a8c7f28b45671c7899c12f74caf707737f784d7102758e6c glib-2.54.2.tar.xz +# License files, locally calculated +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/libglib2/libglib2.mk b/package/libglib2/libglib2.mk index ddd1f39652..b13da333d8 100644 --- a/package/libglib2/libglib2.mk +++ b/package/libglib2/libglib2.mk @@ -4,12 +4,14 @@ # ################################################################################ -LIBGLIB2_VERSION_MAJOR = 2.50 +LIBGLIB2_VERSION_MAJOR = 2.54 LIBGLIB2_VERSION = $(LIBGLIB2_VERSION_MAJOR).2 LIBGLIB2_SOURCE = glib-$(LIBGLIB2_VERSION).tar.xz LIBGLIB2_SITE = http://ftp.gnome.org/pub/gnome/sources/glib/$(LIBGLIB2_VERSION_MAJOR) -LIBGLIB2_LICENSE = LGPLv2+ +LIBGLIB2_LICENSE = LGPL-2.0+ LIBGLIB2_LICENSE_FILES = COPYING +# 0002-disable-tests.patch +LIBGLIB2_AUTORECONF = YES LIBGLIB2_INSTALL_STAGING = YES LIBGLIB2_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) LDFLAGS=-L$(STAGING_DIR)/usr/lib install @@ -65,7 +67,7 @@ LIBGLIB2_CONF_ENV = \ jm_cv_func_working_re_compile_pattern=yes \ ac_use_included_regex=no \ gl_cv_c_restrict=no \ - ac_cv_path_GLIB_GENMARSHAL=$(HOST_DIR)/usr/bin/glib-genmarshal \ + ac_cv_path_GLIB_GENMARSHAL=$(HOST_DIR)/bin/glib-genmarshal \ ac_cv_prog_F77=no \ ac_cv_func_posix_getgrgid_r=no \ glib_cv_long_long_format=ll \ @@ -101,8 +103,8 @@ HOST_LIBGLIB2_CONF_OPTS = \ --with-pcre=system LIBGLIB2_DEPENDENCIES = \ - host-pkgconf host-libglib2 host-gettext \ - libffi pcre util-linux zlib $(if $(BR2_NEEDS_GETTEXT),gettext) + host-pkgconf host-libglib2 \ + libffi pcre util-linux zlib $(TARGET_NLS_DEPENDENCIES) HOST_LIBGLIB2_DEPENDENCIES = \ host-gettext \ @@ -113,7 +115,8 @@ HOST_LIBGLIB2_DEPENDENCIES = \ host-zlib LIBGLIB2_CONF_OPTS = \ - --with-pcre=system + --with-pcre=system \ + --disable-compile-warnings ifneq ($(BR2_ENABLE_LOCALE),y) LIBGLIB2_DEPENDENCIES += libiconv @@ -160,7 +163,7 @@ endef # them as well, and better do it in a central place. # It's used at run time so it doesn't matter defering it. define LIBGLIB2_COMPILE_SCHEMAS - $(HOST_DIR)/usr/bin/glib-compile-schemas \ + $(HOST_DIR)/bin/glib-compile-schemas \ $(STAGING_DIR)/usr/share/glib-2.0/schemas \ --targetdir=$(TARGET_DIR)/usr/share/glib-2.0/schemas endef @@ -171,4 +174,4 @@ LIBGLIB2_TARGET_FINALIZE_HOOKS += LIBGLIB2_COMPILE_SCHEMAS $(eval $(autotools-package)) $(eval $(host-autotools-package)) -LIBGLIB2_HOST_BINARY = $(HOST_DIR)/usr/bin/glib-genmarshal +LIBGLIB2_HOST_BINARY = $(HOST_DIR)/bin/glib-genmarshal diff --git a/package/libglob/libglob.mk b/package/libglob/libglob.mk index cd6922e0e7..90356b3973 100644 --- a/package/libglob/libglob.mk +++ b/package/libglob/libglob.mk @@ -6,7 +6,7 @@ LIBGLOB_VERSION = 1.0 LIBGLOB_SITE = $(call github,voidlinux,libglob,$(LIBGLOB_VERSION)) -LIBGLOB_LICENSE = BSD-3c +LIBGLOB_LICENSE = BSD-3-Clause LIBGLOB_LICENSE_FILES = LICENSE LIBGLOB_INSTALL_STAGING = YES diff --git a/package/libglu/libglu.mk b/package/libglu/libglu.mk index 038d281c59..0e5242f85e 100644 --- a/package/libglu/libglu.mk +++ b/package/libglu/libglu.mk @@ -12,6 +12,6 @@ LIBGLU_LICENSE_FILES = include/GL/glu.h LIBGLU_INSTALL_STAGING = YES # upstream does not distribute a autoconf´ed configure script LIBGLU_AUTORECONF = YES -LIBGLU_DEPENDENCIES = libgl +LIBGLU_DEPENDENCIES = libgl host-pkgconf $(eval $(autotools-package)) diff --git a/package/libgpg-error/libgpg-error.hash b/package/libgpg-error/libgpg-error.hash index dac36db09f..0541d2311a 100644 --- a/package/libgpg-error/libgpg-error.hash +++ b/package/libgpg-error/libgpg-error.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 3df7432dc17ef66c764c3fc4a1d309a9b4a0485c914ecfdb61b71e9bf45fd930 libgpg-error-1.26.tar.gz +sha256 04bdc7fd12001c797cc689b007fe24909f55aa0ee1d6d6aef967d9eebf5b2461 libgpg-error-1.27.tar.gz diff --git a/package/libgpg-error/libgpg-error.mk b/package/libgpg-error/libgpg-error.mk index 5126c0a81a..2140258c6e 100644 --- a/package/libgpg-error/libgpg-error.mk +++ b/package/libgpg-error/libgpg-error.mk @@ -4,16 +4,13 @@ # ################################################################################ -LIBGPG_ERROR_VERSION = 1.26 +LIBGPG_ERROR_VERSION = 1.27 LIBGPG_ERROR_SITE = ftp://ftp.gnupg.org/gcrypt/libgpg-error -LIBGPG_ERROR_LICENSE = GPLv2+, LGPLv2.1+ +LIBGPG_ERROR_LICENSE = GPL-2.0+, LGPL-2.1+ LIBGPG_ERROR_LICENSE_FILES = COPYING COPYING.LIB LIBGPG_ERROR_INSTALL_STAGING = YES LIBGPG_ERROR_CONFIG_SCRIPTS = gpg-error-config - -ifeq ($(BR2_PACKAGE_GETTEXT),y) -LIBGPG_ERROR_DEPENDENCIES += gettext -endif +LIBGPG_ERROR_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) define LIBGPG_ERROR_FIX_CROSS_COMPILATION cd $(@D)/src/syscfg && \ diff --git a/package/libgpgme/libgpgme.hash b/package/libgpgme/libgpgme.hash index 5ef7b0e5ce..cf7c5050fe 100644 --- a/package/libgpgme/libgpgme.hash +++ b/package/libgpgme/libgpgme.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 d0abe1449395315eac37e4e45076bbb82732cedf94210937b37776e10cdc2bb6 gpgme-1.7.1.tar.bz2 +sha256 1b29fedb8bfad775e70eafac5b0590621683b2d9869db994568e6401f4034ceb gpgme-1.9.0.tar.bz2 diff --git a/package/libgpgme/libgpgme.mk b/package/libgpgme/libgpgme.mk index 84f4d22977..5af2b5ed91 100644 --- a/package/libgpgme/libgpgme.mk +++ b/package/libgpgme/libgpgme.mk @@ -4,17 +4,16 @@ # ################################################################################ -LIBGPGME_VERSION = 1.7.1 +LIBGPGME_VERSION = 1.9.0 LIBGPGME_SITE = ftp://ftp.gnupg.org/gcrypt/gpgme LIBGPGME_SOURCE = gpgme-$(LIBGPGME_VERSION).tar.bz2 -LIBGPGME_LICENSE = LGPLv2.1+ +LIBGPGME_LICENSE = LGPL-2.1+ LIBGPGME_LICENSE_FILES = COPYING.LESSER LIBGPGME_INSTALL_STAGING = YES LIBGPGME_DEPENDENCIES = libassuan libgpg-error LIBGPGME_LANGUAGE_BINDINGS = cl -# libgpgme, needs to know the gpg binary path on the target. -LIBGPGME_CONF_OPTS = --with-gpg=/usr/bin/gpg \ +LIBGPGME_CONF_OPTS = \ --with-gpg-error-prefix=$(STAGING_DIR)/usr \ --with-libassuan-prefix=$(STAGING_DIR)/usr \ --disable-gpgsm-test \ diff --git a/package/libgphoto2/Config.in b/package/libgphoto2/Config.in new file mode 100644 index 0000000000..fc60dd68a8 --- /dev/null +++ b/package/libgphoto2/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_LIBGPHOTO2 + bool "libgphoto2" + depends on BR2_TOOLCHAIN_HAS_THREADS # libusb + select BR2_PACKAGE_LIBTOOL + select BR2_PACKAGE_LIBUSB + select BR2_PACKAGE_LIBXML2 + help + libgphoto2 is the core library designed to allow access to + digital camera by external programs. + + http://gphoto.org/proj/libgphoto2/ + +comment "libgphoto needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libgphoto2/libgphoto2.hash b/package/libgphoto2/libgphoto2.hash new file mode 100644 index 0000000000..1afe275ce3 --- /dev/null +++ b/package/libgphoto2/libgphoto2.hash @@ -0,0 +1,6 @@ +# https://sourceforge.net/projects/gphoto/files/libgphoto/2.5.13/ +md5 73bf5b3d94c8c6f5fad9ea6b5e561843 libgphoto2-2.5.13.tar.bz2 +sha1 cef2d2f1930f8ada16a63aca15683188231a626a libgphoto2-2.5.13.tar.bz2 + +# Locally calculated hash +sha256 ceaacbdf187d1cd1aed5336991f46b0100f6960b6c8383f9aeab98f1f64780ef libgphoto2-2.5.13.tar.bz2 diff --git a/package/libgphoto2/libgphoto2.mk b/package/libgphoto2/libgphoto2.mk new file mode 100644 index 0000000000..f6dadf1f45 --- /dev/null +++ b/package/libgphoto2/libgphoto2.mk @@ -0,0 +1,55 @@ +################################################################################ +# +# libgphoto2 +# +################################################################################ + +LIBGPHOTO2_VERSION = 2.5.13 +LIBGPHOTO2_SOURCE = libgphoto2-$(LIBGPHOTO2_VERSION).tar.bz2 +# Project is maintained on github but github tarball doesn't have +# configure, so use tarballs from SourceForge +LIBGPHOTO2_SITE = https://downloads.sourceforge.net/project/gphoto/libgphoto/$(LIBGPHOTO2_VERSION) +LIBGPHOTO2_LICENSE = LGPL-2.1+, GPL-2.0 (adc65), GPL-2.0+ (some camlibs), \ + LGPL-2.0 (sipix), LGPL-3.0+ (pentax), BSD-3-Clause (ax203/tinyjpeg) +# There is a single license file for the LGPL-2.1, no license files +# for other licenses +LIBGPHOTO2_LICENSE_FILES = COPYING +LIBGPHOTO2_INSTALL_STAGING = YES + +LIBGPHOTO2_DEPENDENCIES = libxml2 libusb libtool host-pkgconf + +LIBGPHOTO2_CONF_ENV = udevscriptdir=/lib/udev +LIBGPHOTO2_CONF_OPTS += --without-rpmbuild --disable-gp2ddb --disable-internal-docs + +ifeq ($(BR2_PACKAGE_LIBUSB_COMPAT),y) +# libusb-compat is not actually used, but it is detected, so add it +# here to guarantee reproducible builds +LIBGPHOTO2_DEPENDENCIES += libusb-compat +endif + +ifeq ($(BR2_PACKAGE_LIBEXIF),y) +LIBGPHOTO2_DEPENDENCIES += libexif +LIBGPHOTO2_CONF_OPTS += --with-libexif=auto +else +LIBGPHOTO2_CONF_OPTS += --with-libexif=no +endif + +ifeq ($(BR2_PACKAGE_JPEG),y) +LIBGPHOTO2_DEPENDENCIES += jpeg +LIBGPHOTO2_CONF_OPTS += --with-jpeg +else +LIBGPHOTO2_CONF_OPTS += --without-jpeg +endif + +ifeq ($(BR2_PACKAGE_GD),y) +LIBGPHOTO2_DEPENDENCIES += gd +LIBGPHOTO2_CONF_OPTS += --with-gdlib=auto +else +LIBGPHOTO2_CONF_OPTS += --with-gdlib=no +endif + +ifeq ($(BR2_PACKAGE_LOCKDEV),y) +LIBGPHOTO2_DEPENDENCIES += lockdev +endif + +$(eval $(autotools-package)) diff --git a/package/libgpiod/libgpiod.hash b/package/libgpiod/libgpiod.hash index eee2a66280..73150dc9b9 100644 --- a/package/libgpiod/libgpiod.hash +++ b/package/libgpiod/libgpiod.hash @@ -1,2 +1,2 @@ -# Locally computed -sha256 670a13518fabf2a99f9e349c33d5421c2146eec15b73c5edef3f1981a7adaeda libgpiod-v0.1.3.tar.gz +# From https://www.kernel.org/pub/software/libs/libgpiod/sha256sums.asc +sha256 50c7862428ca90b58672e2475aea66d33a6fc86c6bab1928c0660f3aedf44a37 libgpiod-0.3.2.tar.xz diff --git a/package/libgpiod/libgpiod.mk b/package/libgpiod/libgpiod.mk index bc9c6eca39..bc2e51d280 100644 --- a/package/libgpiod/libgpiod.mk +++ b/package/libgpiod/libgpiod.mk @@ -4,12 +4,14 @@ # ################################################################################ -LIBGPIOD_VERSION = v0.1.3 -LIBGPIOD_SITE = $(call github,brgl,libgpiod,$(LIBGPIOD_VERSION)) -LIBGPIOD_LICENSE = GPLv3+ +LIBGPIOD_VERSION = 0.3.2 +LIBGPIOD_SOURCE = libgpiod-$(LIBGPIOD_VERSION).tar.xz +LIBGPIOD_SITE = https://www.kernel.org/pub/software/libs/libgpiod +LIBGPIOD_LICENSE = LGPL-2.1+ LIBGPIOD_LICENSE_FILES = COPYING -# fetched from github, no configure script provided -LIBGPIOD_AUTORECONF = YES +LIBGPIOD_INSTALL_STAGING = YES + +LIBGPIOD_DEPENDENCIES = host-pkgconf ifeq ($(BR2_PACKAGE_LIBGPIOD_TOOLS),y) LIBGPIOD_CONF_OPTS += --enable-tools diff --git a/package/libgsasl/libgsasl.mk b/package/libgsasl/libgsasl.mk index 00ce8e0375..9a625433ee 100644 --- a/package/libgsasl/libgsasl.mk +++ b/package/libgsasl/libgsasl.mk @@ -6,7 +6,7 @@ LIBGSASL_VERSION = 1.8.0 LIBGSASL_SITE = $(BR2_GNU_MIRROR)/gsasl -LIBGSASL_LICENSE = LGPLv2.1+ (library), GPLv3+ (programs) +LIBGSASL_LICENSE = LGPL-2.1+ (library), GPL-3.0+ (programs) LIBGSASL_LICENSE_FILES = README COPYING.LIB COPYING LIBGSASL_INSTALL_STAGING = YES # It doesn't seem to build with our libgcrypt so better be safe diff --git a/package/libgsm/0001-misc-fixes-from-archlinux.patch b/package/libgsm/0001-misc-fixes-from-archlinux.patch new file mode 100644 index 0000000000..86f4d42b66 --- /dev/null +++ b/package/libgsm/0001-misc-fixes-from-archlinux.patch @@ -0,0 +1,218 @@ +From e8f43832d401ad1e071e6860b2bf4a1e796d4356 Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Fri, 28 Jul 2017 08:18:22 -0400 +Subject: [PATCH] Misc fixes from Archlinux + +Patch from: + https://git.archlinux.org/svntogit/packages.git/plain/gsm/trunk/gsm.patch + +Signed-off-by: "Yann E. MORIN" +Signed-off-by: Adam Duskett +Refresh for 1.0.17 +--- + Makefile | 84 ++++++++++++++++++++++++++++++++-------------------------------- + 1 file changed, 42 insertions(+), 42 deletions(-) + +diff --git a/Makefile b/Makefile +index d5c0c90..ef61bd5 100644 +--- a/Makefile ++++ b/Makefile +@@ -44,7 +44,7 @@ WAV49 = -DWAV49 + # CCFLAGS = -c -O + + CC = gcc -ansi -pedantic +-CCFLAGS = -c -O2 -DNeedFunctionPrototypes=1 -Wall -Wno-comment ++CCFLAGS = -c -O2 -fPIC -DNeedFunctionPrototypes=1 -Wall -Wno-comment + + LD = $(CC) + +@@ -96,11 +96,11 @@ TOAST_INSTALL_MAN = $(TOAST_INSTALL_ROOT)/man/man1 + # Other tools + + SHELL = /bin/sh +-LN = ln ++LN = ln -s -f + BASENAME = basename + AR = ar + ARFLAGS = cr +-RMFLAGS = ++RMFLAGS = -f + FIND = find + COMPRESS = compress + COMPRESSFLAGS = +@@ -139,7 +139,7 @@ LFLAGS = $(LDFLAGS) $(LDINC) + + # Targets + +-LIBGSM = $(LIB)/libgsm.a ++LIBGSMSO = $(LIB)/libgsm.so + + TOAST = $(BIN)/toast + UNTOAST = $(BIN)/untoast +@@ -257,7 +257,7 @@ STUFF = ChangeLog \ + # Install targets + + GSM_INSTALL_TARGETS = \ +- $(GSM_INSTALL_LIB)/libgsm.a \ ++ $(GSM_INSTALL_LIB)/libgsm.so \ + $(GSM_INSTALL_INC)/gsm.h \ + $(GSM_INSTALL_MAN)/gsm.3 \ + $(GSM_INSTALL_MAN)/gsm_explode.3 \ +@@ -279,7 +279,7 @@ TOAST_INSTALL_TARGETS = \ + + # Target rules + +-all: $(LIBGSM) $(TOAST) $(TCAT) $(UNTOAST) ++all: $(LIBGSMSO) $(TOAST) $(TCAT) $(UNTOAST) + @-echo $(ROOT): Done. + + tst: $(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/test-result +@@ -299,24 +299,23 @@ install: toastinstall gsminstall + + # The basic API: libgsm + +-$(LIBGSM): $(LIB) $(GSM_OBJECTS) +- -rm $(RMFLAGS) $(LIBGSM) +- $(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS) +- $(RANLIB) $(LIBGSM) +- ++$(LIBGSMSO): $(LIB) $(GSM_OBJECTS) ++ $(LD) -shared -Wl,-soname,libgsm.so.1 -o $@.1.0.13 $(GSM_OBJECTS) ++ $(LN) libgsm.so.1.0.13 $(LIBGSMSO).1 ++ $(LN) libgsm.so.1.0.13 $(LIBGSMSO) + + # Toast, Untoast and Tcat -- the compress-like frontends to gsm. + +-$(TOAST): $(BIN) $(TOAST_OBJECTS) $(LIBGSM) +- $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSM) $(LDLIB) ++$(TOAST): $(BIN) $(TOAST_OBJECTS) $(LIBGSMSO) ++ $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSMSO) $(LDLIB) + + $(UNTOAST): $(BIN) $(TOAST) + -rm $(RMFLAGS) $(UNTOAST) +- $(LN) $(TOAST) $(UNTOAST) ++ $(LN) toast $(UNTOAST) + + $(TCAT): $(BIN) $(TOAST) + -rm $(RMFLAGS) $(TCAT) +- $(LN) $(TOAST) $(TCAT) ++ $(LN) toast $(TCAT) + + + # The local bin and lib directories +@@ -351,53 +350,54 @@ toastuninstall: + fi + + $(TOAST_INSTALL_BIN)/toast: $(TOAST) +- -rm $@ ++ -rm $(RMFLAGS) $@ + cp $(TOAST) $@ + chmod 755 $@ + + $(TOAST_INSTALL_BIN)/untoast: $(TOAST_INSTALL_BIN)/toast +- -rm $@ +- ln $? $@ ++ -rm $(RMFLAGS) $@ ++ $(LN) toast $@ + + $(TOAST_INSTALL_BIN)/tcat: $(TOAST_INSTALL_BIN)/toast +- -rm $@ +- ln $? $@ ++ -rm $(RMFLAGS) $@ ++ $(LN) toast $@ + + $(TOAST_INSTALL_MAN)/toast.1: $(MAN)/toast.1 +- -rm $@ ++ -rm $(RMFLAGS) $@ + cp $? $@ + chmod 444 $@ + + $(GSM_INSTALL_MAN)/gsm.3: $(MAN)/gsm.3 +- -rm $@ ++ -rm $(RMFLAGS) $@ + cp $? $@ + chmod 444 $@ + + $(GSM_INSTALL_MAN)/gsm_option.3: $(MAN)/gsm_option.3 +- -rm $@ ++ -rm $(RMFLAGS) $@ + cp $? $@ + chmod 444 $@ + + $(GSM_INSTALL_MAN)/gsm_explode.3: $(MAN)/gsm_explode.3 +- -rm $@ ++ -rm $(RMFLAGS) $@ + cp $? $@ + chmod 444 $@ + + $(GSM_INSTALL_MAN)/gsm_print.3: $(MAN)/gsm_print.3 +- -rm $@ ++ -rm $(RMFLAGS) $@ + cp $? $@ + chmod 444 $@ + + $(GSM_INSTALL_INC)/gsm.h: $(INC)/gsm.h +- -rm $@ +- cp $? $@ +- chmod 444 $@ +- +-$(GSM_INSTALL_LIB)/libgsm.a: $(LIBGSM) +- -rm $@ ++ -rm $(RMFLAGS) $@ + cp $? $@ + chmod 444 $@ + ++$(GSM_INSTALL_LIB)/libgsm.so: $(LIBGSMSO) ++ -rm $(RMFLAGS) $@ $@.1 $@.1.0.13 ++ cp $?.1.0.13 $@.1.0.13 ++ chmod 755 $@.1.0.13 ++ $(LN) libgsm.so.1.0.13 $@ ++ $(LN) libgsm.so.1.0.13 $@.1 + + # Distribution + +@@ -425,7 +425,7 @@ semi-clean: + -print | xargs rm $(RMFLAGS) + + clean: semi-clean +- -rm $(RMFLAGS) $(LIBGSM) $(ADDTST)/add \ ++ -rm $(RMFLAGS) $(LIBGSMSO)* $(ADDTST)/add \ + $(TOAST) $(TCAT) $(UNTOAST) \ + $(ROOT)/gsm-1.0.tar.Z + +@@ -473,22 +473,22 @@ $(ADDTST)/add: $(ADDTST)/add_test.o + $(TST)/test-result: $(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/run + ( cd $(TST); ./run ) + +-$(TST)/lin2txt: $(TST)/lin2txt.o $(LIBGSM) ++$(TST)/lin2txt: $(TST)/lin2txt.o $(LIBGSMSO) + $(LD) $(LFLAGS) -o $(TST)/lin2txt \ +- $(TST)/lin2txt.o $(LIBGSM) $(LDLIB) ++ $(TST)/lin2txt.o $(LIBGSMSO) $(LDLIB) + +-$(TST)/lin2cod: $(TST)/lin2cod.o $(LIBGSM) ++$(TST)/lin2cod: $(TST)/lin2cod.o $(LIBGSMSO) + $(LD) $(LFLAGS) -o $(TST)/lin2cod \ +- $(TST)/lin2cod.o $(LIBGSM) $(LDLIB) ++ $(TST)/lin2cod.o $(LIBGSMSO) $(LDLIB) + +-$(TST)/gsm2cod: $(TST)/gsm2cod.o $(LIBGSM) ++$(TST)/gsm2cod: $(TST)/gsm2cod.o $(LIBGSMSO) + $(LD) $(LFLAGS) -o $(TST)/gsm2cod \ +- $(TST)/gsm2cod.o $(LIBGSM) $(LDLIB) ++ $(TST)/gsm2cod.o $(LIBGSMSO) $(LDLIB) + +-$(TST)/cod2txt: $(TST)/cod2txt.o $(LIBGSM) ++$(TST)/cod2txt: $(TST)/cod2txt.o $(LIBGSMSO) + $(LD) $(LFLAGS) -o $(TST)/cod2txt \ +- $(TST)/cod2txt.o $(LIBGSM) $(LDLIB) ++ $(TST)/cod2txt.o $(LIBGSMSO) $(LDLIB) + +-$(TST)/cod2lin: $(TST)/cod2lin.o $(LIBGSM) ++$(TST)/cod2lin: $(TST)/cod2lin.o $(LIBGSMSO) + $(LD) $(LFLAGS) -o $(TST)/cod2lin \ +- $(TST)/cod2lin.o $(LIBGSM) $(LDLIB) ++ $(TST)/cod2lin.o $(LIBGSMSO) $(LDLIB) +-- +2.13.3 + diff --git a/package/libgsm/0001-misc.patch b/package/libgsm/0001-misc.patch deleted file mode 100644 index 735d74449e..0000000000 --- a/package/libgsm/0001-misc.patch +++ /dev/null @@ -1,205 +0,0 @@ -Misc fixes from Archlinux - -Patch from: - https://git.archlinux.org/svntogit/packages.git/plain/gsm/trunk/gsm.patch - -Signed-off-by: "Yann E. MORIN" - ---- a/Makefile 2006-04-26 15:14:26.000000000 -0400 -+++ b/Makefile 2010-06-19 16:53:25.000000000 -0400 -@@ -44,7 +44,7 @@ - # CCFLAGS = -c -O - - CC = gcc -ansi -pedantic --CCFLAGS = -c -O2 -DNeedFunctionPrototypes=1 -+CCFLAGS = -c -O2 -fPIC -DNeedFunctionPrototypes=1 - - LD = $(CC) - -@@ -96,11 +96,11 @@ - # Other tools - - SHELL = /bin/sh --LN = ln -+LN = ln -s -f - BASENAME = basename - AR = ar - ARFLAGS = cr --RMFLAGS = -+RMFLAGS = -f - FIND = find - COMPRESS = compress - COMPRESSFLAGS = -@@ -139,7 +139,7 @@ - - # Targets - --LIBGSM = $(LIB)/libgsm.a -+LIBGSMSO = $(LIB)/libgsm.so - - TOAST = $(BIN)/toast - UNTOAST = $(BIN)/untoast -@@ -257,7 +257,7 @@ - # Install targets - - GSM_INSTALL_TARGETS = \ -- $(GSM_INSTALL_LIB)/libgsm.a \ -+ $(GSM_INSTALL_LIB)/libgsm.so \ - $(GSM_INSTALL_INC)/gsm.h \ - $(GSM_INSTALL_MAN)/gsm.3 \ - $(GSM_INSTALL_MAN)/gsm_explode.3 \ -@@ -279,7 +279,7 @@ - - # Target rules - --all: $(LIBGSM) $(TOAST) $(TCAT) $(UNTOAST) -+all: $(LIBGSMSO) $(TOAST) $(TCAT) $(UNTOAST) - @-echo $(ROOT): Done. - - tst: $(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/test-result -@@ -299,24 +299,23 @@ - - # The basic API: libgsm - --$(LIBGSM): $(LIB) $(GSM_OBJECTS) -- -rm $(RMFLAGS) $(LIBGSM) -- $(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS) -- $(RANLIB) $(LIBGSM) -- -+$(LIBGSMSO): $(LIB) $(GSM_OBJECTS) -+ $(LD) -shared -Wl,-soname,libgsm.so.1 -o $@.1.0.13 $(GSM_OBJECTS) -+ $(LN) libgsm.so.1.0.13 $(LIBGSMSO).1 -+ $(LN) libgsm.so.1.0.13 $(LIBGSMSO) - - # Toast, Untoast and Tcat -- the compress-like frontends to gsm. - --$(TOAST): $(BIN) $(TOAST_OBJECTS) $(LIBGSM) -- $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSM) $(LDLIB) -+$(TOAST): $(BIN) $(TOAST_OBJECTS) $(LIBGSMSO) -+ $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSMSO) $(LDLIB) - - $(UNTOAST): $(BIN) $(TOAST) - -rm $(RMFLAGS) $(UNTOAST) -- $(LN) $(TOAST) $(UNTOAST) -+ $(LN) toast $(UNTOAST) - - $(TCAT): $(BIN) $(TOAST) - -rm $(RMFLAGS) $(TCAT) -- $(LN) $(TOAST) $(TCAT) -+ $(LN) toast $(TCAT) - - - # The local bin and lib directories -@@ -351,53 +350,54 @@ - fi - - $(TOAST_INSTALL_BIN)/toast: $(TOAST) -- -rm $@ -+ -rm $(RMFLAGS) $@ - cp $(TOAST) $@ - chmod 755 $@ - - $(TOAST_INSTALL_BIN)/untoast: $(TOAST_INSTALL_BIN)/toast -- -rm $@ -- ln $? $@ -+ -rm $(RMFLAGS) $@ -+ $(LN) toast $@ - - $(TOAST_INSTALL_BIN)/tcat: $(TOAST_INSTALL_BIN)/toast -- -rm $@ -- ln $? $@ -+ -rm $(RMFLAGS) $@ -+ $(LN) toast $@ - - $(TOAST_INSTALL_MAN)/toast.1: $(MAN)/toast.1 -- -rm $@ -+ -rm $(RMFLAGS) $@ - cp $? $@ - chmod 444 $@ - - $(GSM_INSTALL_MAN)/gsm.3: $(MAN)/gsm.3 -- -rm $@ -+ -rm $(RMFLAGS) $@ - cp $? $@ - chmod 444 $@ - - $(GSM_INSTALL_MAN)/gsm_option.3: $(MAN)/gsm_option.3 -- -rm $@ -+ -rm $(RMFLAGS) $@ - cp $? $@ - chmod 444 $@ - - $(GSM_INSTALL_MAN)/gsm_explode.3: $(MAN)/gsm_explode.3 -- -rm $@ -+ -rm $(RMFLAGS) $@ - cp $? $@ - chmod 444 $@ - - $(GSM_INSTALL_MAN)/gsm_print.3: $(MAN)/gsm_print.3 -- -rm $@ -+ -rm $(RMFLAGS) $@ - cp $? $@ - chmod 444 $@ - - $(GSM_INSTALL_INC)/gsm.h: $(INC)/gsm.h -- -rm $@ -- cp $? $@ -- chmod 444 $@ -- --$(GSM_INSTALL_LIB)/libgsm.a: $(LIBGSM) -- -rm $@ -+ -rm $(RMFLAGS) $@ - cp $? $@ - chmod 444 $@ - -+$(GSM_INSTALL_LIB)/libgsm.so: $(LIBGSMSO) -+ -rm $(RMFLAGS) $@ $@.1 $@.1.0.13 -+ cp $?.1.0.13 $@.1.0.13 -+ chmod 755 $@.1.0.13 -+ $(LN) libgsm.so.1.0.13 $@ -+ $(LN) libgsm.so.1.0.13 $@.1 - - # Distribution - -@@ -425,7 +425,7 @@ - -print | xargs rm $(RMFLAGS) - - clean: semi-clean -- -rm $(RMFLAGS) $(LIBGSM) $(ADDTST)/add \ -+ -rm $(RMFLAGS) $(LIBGSMSO)* $(ADDTST)/add \ - $(TOAST) $(TCAT) $(UNTOAST) \ - $(ROOT)/gsm-1.0.tar.Z - -@@ -473,22 +473,22 @@ - $(TST)/test-result: $(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/run - ( cd $(TST); ./run ) - --$(TST)/lin2txt: $(TST)/lin2txt.o $(LIBGSM) -+$(TST)/lin2txt: $(TST)/lin2txt.o $(LIBGSMSO) - $(LD) $(LFLAGS) -o $(TST)/lin2txt \ -- $(TST)/lin2txt.o $(LIBGSM) $(LDLIB) -+ $(TST)/lin2txt.o $(LIBGSMSO) $(LDLIB) - --$(TST)/lin2cod: $(TST)/lin2cod.o $(LIBGSM) -+$(TST)/lin2cod: $(TST)/lin2cod.o $(LIBGSMSO) - $(LD) $(LFLAGS) -o $(TST)/lin2cod \ -- $(TST)/lin2cod.o $(LIBGSM) $(LDLIB) -+ $(TST)/lin2cod.o $(LIBGSMSO) $(LDLIB) - --$(TST)/gsm2cod: $(TST)/gsm2cod.o $(LIBGSM) -+$(TST)/gsm2cod: $(TST)/gsm2cod.o $(LIBGSMSO) - $(LD) $(LFLAGS) -o $(TST)/gsm2cod \ -- $(TST)/gsm2cod.o $(LIBGSM) $(LDLIB) -+ $(TST)/gsm2cod.o $(LIBGSMSO) $(LDLIB) - --$(TST)/cod2txt: $(TST)/cod2txt.o $(LIBGSM) -+$(TST)/cod2txt: $(TST)/cod2txt.o $(LIBGSMSO) - $(LD) $(LFLAGS) -o $(TST)/cod2txt \ -- $(TST)/cod2txt.o $(LIBGSM) $(LDLIB) -+ $(TST)/cod2txt.o $(LIBGSMSO) $(LDLIB) - --$(TST)/cod2lin: $(TST)/cod2lin.o $(LIBGSM) -+$(TST)/cod2lin: $(TST)/cod2lin.o $(LIBGSMSO) - $(LD) $(LFLAGS) -o $(TST)/cod2lin \ -- $(TST)/cod2lin.o $(LIBGSM) $(LDLIB) -+ $(TST)/cod2lin.o $(LIBGSMSO) $(LDLIB) diff --git a/package/libgsm/libgsm.hash b/package/libgsm/libgsm.hash index bcfb6505ce..a73359d653 100644 --- a/package/libgsm/libgsm.hash +++ b/package/libgsm/libgsm.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 725a3768a1e23ab8648b4df9d470aed38eb1635af3cbc8d0b64fef077236f4ce gsm-1.0.16.tar.gz +sha256 855a57d1694941ddf3c73cb79b8d0b3891e9c9e7870b4981613b734e1ad07601 gsm-1.0.17.tar.gz diff --git a/package/libgsm/libgsm.mk b/package/libgsm/libgsm.mk index 8e8335a03c..0add45c5e7 100644 --- a/package/libgsm/libgsm.mk +++ b/package/libgsm/libgsm.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGSM_VERSION = 1.0.16 +LIBGSM_VERSION = 1.0.17 LIBGSM_SOURCE = gsm-$(LIBGSM_VERSION).tar.gz LIBGSM_SITE = http://www.quut.com/gsm LIBGSM_LICENSE = gsm diff --git a/package/libgtk2/Config.in b/package/libgtk2/Config.in index b6cf37e191..aa297d71ef 100644 --- a/package/libgtk2/Config.in +++ b/package/libgtk2/Config.in @@ -1,5 +1,11 @@ config BR2_PACKAGE_LIBGTK2 bool "libgtk2" + depends on BR2_PACKAGE_XORG7 + depends on BR2_USE_WCHAR # glib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 + depends on BR2_USE_MMU # glib2 + depends on BR2_INSTALL_LIBSTDCPP # pango + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz select BR2_PACKAGE_ATK select BR2_PACKAGE_CAIRO select BR2_PACKAGE_CAIRO_PS @@ -12,12 +18,6 @@ config BR2_PACKAGE_LIBGTK2 select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXEXT select BR2_PACKAGE_XLIB_LIBXRENDER - depends on BR2_PACKAGE_XORG7 - depends on BR2_USE_WCHAR # glib2 - depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 - depends on BR2_USE_MMU # glib2 - depends on BR2_INSTALL_LIBSTDCPP # pango - depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz help The GTK+ version 2 graphical user interface library diff --git a/package/libgtk2/libgtk2.mk b/package/libgtk2/libgtk2.mk index cf8b2f4eee..0b26d7205b 100644 --- a/package/libgtk2/libgtk2.mk +++ b/package/libgtk2/libgtk2.mk @@ -9,14 +9,14 @@ LIBGTK2_VERSION = $(LIBGTK2_VERSION_MAJOR).31 LIBGTK2_SOURCE = gtk+-$(LIBGTK2_VERSION).tar.xz LIBGTK2_SITE = http://ftp.gnome.org/pub/gnome/sources/gtk+/$(LIBGTK2_VERSION_MAJOR) LIBGTK2_INSTALL_STAGING = YES -LIBGTK2_LICENSE = LGPLv2+ +LIBGTK2_LICENSE = LGPL-2.0+ LIBGTK2_LICENSE_FILES = COPYING # For 0001-reduce-dependencies.patch LIBGTK2_AUTORECONF = YES LIBGTK2_CONF_ENV = \ - ac_cv_path_GTK_UPDATE_ICON_CACHE=$(HOST_DIR)/usr/bin/gtk-update-icon-cache \ - ac_cv_path_GDK_PIXBUF_CSOURCE=$(HOST_DIR)/usr/bin/gdk-pixbuf-csource \ + ac_cv_path_GTK_UPDATE_ICON_CACHE=$(HOST_DIR)/bin/gtk-update-icon-cache \ + ac_cv_path_GDK_PIXBUF_CSOURCE=$(HOST_DIR)/bin/gdk-pixbuf-csource \ DB2HTML=false LIBGTK2_CONF_OPTS = --disable-glibtest --enable-explicit-deps=no @@ -120,7 +120,7 @@ define HOST_LIBGTK2_BUILD_CMDS endef define HOST_LIBGTK2_INSTALL_CMDS - cp $(@D)/gtk/gtk-update-icon-cache $(HOST_DIR)/usr/bin + cp $(@D)/gtk/gtk-update-icon-cache $(HOST_DIR)/bin endef $(eval $(autotools-package)) diff --git a/package/libgtk3/Config.in b/package/libgtk3/Config.in index 738f865099..12e64707bd 100644 --- a/package/libgtk3/Config.in +++ b/package/libgtk3/Config.in @@ -12,6 +12,13 @@ comment "libgtk3 needs an OpenGL or an OpenGL-EGL/wayland backend" config BR2_PACKAGE_LIBGTK3 bool "libgtk3" + depends on BR2_USE_WCHAR # glib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 + depends on BR2_USE_MMU # glib2 + depends on BR2_INSTALL_LIBSTDCPP # pango + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz + depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND || \ + BR2_PACKAGE_HAS_LIBGL select BR2_PACKAGE_ATK select BR2_PACKAGE_CAIRO select BR2_PACKAGE_CAIRO_PS @@ -24,13 +31,6 @@ config BR2_PACKAGE_LIBGTK3 # At least one backend is required select BR2_PACKAGE_LIBGTK3_BROADWAY if \ !(BR2_PACKAGE_LIBGTK3_X11 || BR2_PACKAGE_LIBGTK3_WAYLAND) - depends on BR2_USE_WCHAR # glib2 - depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 - depends on BR2_USE_MMU # glib2 - depends on BR2_INSTALL_LIBSTDCPP # pango - depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz - depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND || \ - BR2_PACKAGE_HAS_LIBGL help The GTK+ version 3 graphical user interface library @@ -42,13 +42,13 @@ config BR2_PACKAGE_LIBGTK3_BROADWAY bool "Broadway GDK backend" default y help - This enables the Broadway backend for GDK, which provides support - for displaying GTK+ applications in a web browser, using HTML5 and - web sockets. + This enables the Broadway backend for GDK, which provides + support for displaying GTK+ applications in a web browser, + using HTML5 and web sockets. For example, to run gtk3-demo on a target which IP address is - 192.168.0.1 and use it from a web browser, execute the following - commands: + 192.168.0.1 and use it from a web browser, execute the + following commands: $ broadwayd -a 192.168.0.1 -p 8080 :2 & $ export GDK_BACKEND=broadway diff --git a/package/libgtk3/libgtk3.hash b/package/libgtk3/libgtk3.hash index 12a25c9cfc..0f259e9a1c 100644 --- a/package/libgtk3/libgtk3.hash +++ b/package/libgtk3/libgtk3.hash @@ -1,2 +1,2 @@ -# From http://ftp.gnome.org/pub/gnome/sources/gtk+/3.22/gtk+-3.22.7.sha256sum -sha256 a3a27564bfb1679ebbc75c37cd2bcd6e727c8bdfbcd3984d29305bf9ee60d432 gtk+-3.22.7.tar.xz +# From http://ftp.gnome.org/pub/gnome/sources/gtk+/3.22/gtk+-3.22.15.sha256sum +sha256 c8a012c2a99132629ab043f764a2b7cb6388483a015cd15c7a4288bec3590fdb gtk+-3.22.15.tar.xz diff --git a/package/libgtk3/libgtk3.mk b/package/libgtk3/libgtk3.mk index a1b8fc60a2..b4a8b8c517 100644 --- a/package/libgtk3/libgtk3.mk +++ b/package/libgtk3/libgtk3.mk @@ -5,24 +5,22 @@ ################################################################################ LIBGTK3_VERSION_MAJOR = 3.22 -LIBGTK3_VERSION = $(LIBGTK3_VERSION_MAJOR).7 +LIBGTK3_VERSION = $(LIBGTK3_VERSION_MAJOR).15 LIBGTK3_SOURCE = gtk+-$(LIBGTK3_VERSION).tar.xz LIBGTK3_SITE = http://ftp.gnome.org/pub/gnome/sources/gtk+/$(LIBGTK3_VERSION_MAJOR) -LIBGTK3_LICENSE = LGPLv2+ +LIBGTK3_LICENSE = LGPL-2.0+ LIBGTK3_LICENSE_FILES = COPYING LIBGTK3_INSTALL_STAGING = YES LIBGTK3_AUTORECONF = YES LIBGTK3_CONF_ENV = \ - ac_cv_path_GTK_UPDATE_ICON_CACHE=$(HOST_DIR)/usr/bin/gtk-update-icon-cache \ - ac_cv_path_GDK_PIXBUF_CSOURCE=$(HOST_DIR)/usr/bin/gdk-pixbuf-csource \ - PKG_CONFIG_FOR_BUILD=$(HOST_DIR)/usr/bin/pkgconf + ac_cv_path_GTK_UPDATE_ICON_CACHE=$(HOST_DIR)/bin/gtk-update-icon-cache \ + ac_cv_path_GDK_PIXBUF_CSOURCE=$(HOST_DIR)/bin/gdk-pixbuf-csource \ + PKG_CONFIG_FOR_BUILD=$(HOST_DIR)/bin/pkgconf LIBGTK3_CONF_OPTS = \ --disable-glibtest \ - --enable-explicit-deps=no \ - --enable-gtk2-dependency \ - --disable-introspection + --enable-explicit-deps=no # Override pkg-config pkgdatadir variable, it needs the prefix LIBGTK3_MAKE_OPTS = \ @@ -125,7 +123,7 @@ LIBGTK3_CONF_OPTS += --disable-installed-tests endif define LIBGTK3_COMPILE_GLIB_SCHEMAS - $(HOST_DIR)/usr/bin/glib-compile-schemas \ + $(HOST_DIR)/bin/glib-compile-schemas \ $(TARGET_DIR)/usr/share/glib-2.0/schemas endef @@ -153,8 +151,8 @@ HOST_LIBGTK3_DEPENDENCIES = \ host-librsvg HOST_LIBGTK3_CFLAGS = \ - `$(HOST_DIR)/usr/bin/pkgconf --cflags --libs gdk-pixbuf-2.0` \ - `$(HOST_DIR)/usr/bin/pkgconf --cflags --libs gio-2.0` + `$(HOST_DIR)/bin/pkgconf --cflags --libs gdk-pixbuf-2.0` \ + `$(HOST_DIR)/bin/pkgconf --cflags --libs gio-2.0` define HOST_LIBGTK3_CONFIGURE_CMDS echo "#define GETTEXT_PACKAGE \"gtk30\"" >> $(@D)/gtk/config.h @@ -175,16 +173,16 @@ endef define HOST_LIBGTK3_INSTALL_CMDS $(INSTALL) -D -m 0755 $(@D)/gtk/gtk-update-icon-cache \ - $(HOST_DIR)/usr/bin/gtk-update-icon-cache + $(HOST_DIR)/bin/gtk-update-icon-cache $(INSTALL) -D -m 0755 $(@D)/gtk/gtk-encode-symbolic-svg \ - $(HOST_DIR)/usr/bin/gtk-encode-symbolic-svg + $(HOST_DIR)/bin/gtk-encode-symbolic-svg endef # Create icon-theme.cache for each of the icon directories/themes # It's not strictly necessary but speeds up lookups define LIBGTK3_UPDATE_ICON_CACHE find $(TARGET_DIR)/usr/share/icons -maxdepth 1 -mindepth 1 -type d \ - -exec $(HOST_DIR)/usr/bin/gtk-update-icon-cache {} \; + -exec $(HOST_DIR)/bin/gtk-update-icon-cache {} \; endef LIBGTK3_TARGET_FINALIZE_HOOKS += LIBGTK3_UPDATE_ICON_CACHE diff --git a/package/libgudev/libgudev.mk b/package/libgudev/libgudev.mk index dce9cd8e71..fce710a1c2 100644 --- a/package/libgudev/libgudev.mk +++ b/package/libgudev/libgudev.mk @@ -9,7 +9,7 @@ LIBGUDEV_SOURCE = libgudev-$(LIBGUDEV_VERSION).tar.xz LIBGUDEV_SITE = http://ftp.gnome.org/pub/GNOME/sources/libgudev/$(LIBGUDEV_VERSION) LIBGUDEV_INSTALL_STAGING = YES LIBGUDEV_DEPENDENCIES = host-pkgconf udev libglib2 -LIBGUDEV_LICENSE = LGPLv2.1+ +LIBGUDEV_LICENSE = LGPL-2.1+ LIBGUDEV_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/libhdhomerun/libhdhomerun.hash b/package/libhdhomerun/libhdhomerun.hash index 7897764164..0938889d88 100644 --- a/package/libhdhomerun/libhdhomerun.hash +++ b/package/libhdhomerun/libhdhomerun.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 907dfbd1eb82aebd8b09e7c00c21a02433e6baaacf4a4f99aa2511b1d5244baf libhdhomerun_20150826.tgz +sha256 0cb392231961fab6c226c69012503e2ebe46ac0f13512689bd37d6cf9ee838a1 libhdhomerun_20170930.tgz diff --git a/package/libhdhomerun/libhdhomerun.mk b/package/libhdhomerun/libhdhomerun.mk index 16e34c2383..10aff88e6a 100644 --- a/package/libhdhomerun/libhdhomerun.mk +++ b/package/libhdhomerun/libhdhomerun.mk @@ -4,11 +4,11 @@ # ################################################################################ -LIBHDHOMERUN_VERSION = 20150826 +LIBHDHOMERUN_VERSION = 20170930 LIBHDHOMERUN_SOURCE = libhdhomerun_$(LIBHDHOMERUN_VERSION).tgz LIBHDHOMERUN_SITE = http://download.silicondust.com/hdhomerun -LIBHDHOMERUN_LICENSE = LGPLv2.1+ -LIBHDHOMERUN_LICENSE_FILES = lgpl.txt +LIBHDHOMERUN_LICENSE = LGPL-2.1+ +LIBHDHOMERUN_LICENSE_FILES = LICENSE LIBHDHOMERUN_INSTALL_STAGING = YES define LIBHDHOMERUN_BUILD_CMDS diff --git a/package/libhid/libhid.mk b/package/libhid/libhid.mk index 8b3cb2aff8..b2e890c358 100644 --- a/package/libhid/libhid.mk +++ b/package/libhid/libhid.mk @@ -9,7 +9,7 @@ LIBHID_SITE = http://sources.buildroot.net LIBHID_DEPENDENCIES = libusb-compat libusb LIBHID_INSTALL_STAGING = YES LIBHID_AUTORECONF = YES -LIBHID_LICENSE = GPLv2 +LIBHID_LICENSE = GPL-2.0 LIBHID_LICENSE_FILES = COPYING # configure runs libusb-config for cflags/ldflags. Ensure it picks up # the target version diff --git a/package/libhttpparser/libhttpparser.hash b/package/libhttpparser/libhttpparser.hash index e11006e8a5..a1b772e54c 100644 --- a/package/libhttpparser/libhttpparser.hash +++ b/package/libhttpparser/libhttpparser.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 a11c5ccb9808496f3de66d54ea1f89271919923307e31c75de2a3a77a6754c97 libhttpparser-v2.6.0.tar.gz +sha256 70409ad324e5de2da6a0f39e859e566d497c1ff0a249c0c38a5012df91b386b3 libhttpparser-v2.7.1.tar.gz diff --git a/package/libhttpparser/libhttpparser.mk b/package/libhttpparser/libhttpparser.mk index 015efc0a1d..8ff0413322 100644 --- a/package/libhttpparser/libhttpparser.mk +++ b/package/libhttpparser/libhttpparser.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBHTTPPARSER_VERSION = v2.6.0 +LIBHTTPPARSER_VERSION = v2.7.1 LIBHTTPPARSER_SITE = $(call github,nodejs,http-parser,$(LIBHTTPPARSER_VERSION)) LIBHTTPPARSER_INSTALL_STAGING = YES LIBHTTPPARSER_LICENSE = MIT diff --git a/package/libical/Config.in b/package/libical/Config.in index 3220d5bee1..7c1d4a14dc 100644 --- a/package/libical/Config.in +++ b/package/libical/Config.in @@ -5,8 +5,8 @@ config BR2_PACKAGE_LIBICAL depends on BR2_USE_WCHAR select BR2_TARGET_TZ_INFO help - libical is an Open Source (MPL/LGPL) implementation of the IETF's - iCalendar Calendaring and Scheduling protocols. + libical is an Open Source (MPL/LGPL) implementation of the + IETF's iCalendar Calendaring and Scheduling protocols. http://libical.github.io/libical diff --git a/package/libical/libical.mk b/package/libical/libical.mk index a511039569..7125aa8b19 100644 --- a/package/libical/libical.mk +++ b/package/libical/libical.mk @@ -7,7 +7,7 @@ LIBICAL_VERSION = 1.0.1 LIBICAL_SITE = https://github.com/libical/libical/releases/download/v$(LIBICAL_VERSION) LIBICAL_INSTALL_STAGING = YES -LIBICAL_LICENSE = MPLv1.0 or LGPLv2.1 +LIBICAL_LICENSE = MPL-1.0 or LGPL-2.1 LIBICAL_LICENSE_FILES = LICENSE # building without this option is broken, it is used by diff --git a/package/libiconv/libiconv.hash b/package/libiconv/libiconv.hash index 83de76f4d7..440daee51e 100644 --- a/package/libiconv/libiconv.hash +++ b/package/libiconv/libiconv.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 72b24ded17d687193c3366d0ebe7cde1e6b18f0df8c55438ac95be39e8a30613 libiconv-1.14.tar.gz +sha256 ccf536620a45458d26ba83887a983b96827001e92a13847b45e4925cc8913178 libiconv-1.15.tar.gz diff --git a/package/libiconv/libiconv.mk b/package/libiconv/libiconv.mk index f014da0f13..9a8133612b 100644 --- a/package/libiconv/libiconv.mk +++ b/package/libiconv/libiconv.mk @@ -4,10 +4,10 @@ # ################################################################################ -LIBICONV_VERSION = 1.14 +LIBICONV_VERSION = 1.15 LIBICONV_SITE = $(BR2_GNU_MIRROR)/libiconv LIBICONV_INSTALL_STAGING = YES -LIBICONV_LICENSE = GPLv3+ (iconv program), LGPLv2+ (library) +LIBICONV_LICENSE = GPL-3.0+ (iconv program), LGPL-2.0+ (library) LIBICONV_LICENSE_FILES = COPYING COPYING.LIB # Don't build the preloadable library, as we don't need it (it's only diff --git a/package/libid3tag/libid3tag.mk b/package/libid3tag/libid3tag.mk index 2cd7820d1f..951ae09c77 100644 --- a/package/libid3tag/libid3tag.mk +++ b/package/libid3tag/libid3tag.mk @@ -6,7 +6,7 @@ LIBID3TAG_VERSION = 0.15.1b LIBID3TAG_SITE = http://downloads.sourceforge.net/project/mad/libid3tag/$(LIBID3TAG_VERSION) -LIBID3TAG_LICENSE = GPLv2+ +LIBID3TAG_LICENSE = GPL-2.0+ LIBID3TAG_LICENSE_FILES = COPYING COPYRIGHT LIBID3TAG_INSTALL_STAGING = YES LIBID3TAG_DEPENDENCIES = zlib diff --git a/package/libidn/0001-lib-punycode.c-decode_digit-Fix-integer-overflow.patch b/package/libidn/0001-lib-punycode.c-decode_digit-Fix-integer-overflow.patch new file mode 100644 index 0000000000..8a8ca47a66 --- /dev/null +++ b/package/libidn/0001-lib-punycode.c-decode_digit-Fix-integer-overflow.patch @@ -0,0 +1,36 @@ +From e9e81b8063b095b02cf104bb992fa9bf9515b9d8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Tim=20R=C3=BChsen?= +Date: Fri, 1 Sep 2017 10:04:48 +0200 +Subject: [PATCH] lib/punycode.c (decode_digit): Fix integer overflow + +This fix is a backport from libidn2 and addresses +CVE-2017-14062. + +Signed-off-by: Baruch Siach +--- +Upstream status: commit e9e81b8063b095 + + lib/punycode.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/lib/punycode.c b/lib/punycode.c +index 86819a7deb85..49250a13e2cc 100644 +--- a/lib/punycode.c ++++ b/lib/punycode.c +@@ -88,10 +88,10 @@ enum + /* point (for use in representing integers) in the range 0 to */ + /* base-1, or base if cp does not represent a value. */ + +-static punycode_uint +-decode_digit (punycode_uint cp) ++static unsigned ++decode_digit (int cp) + { +- return cp - 48 < 10 ? cp - 22 : cp - 65 < 26 ? cp - 65 : ++ return (unsigned) cp - 48 < 10 ? cp - 22 : cp - 65 < 26 ? cp - 65 : + cp - 97 < 26 ? cp - 97 : base; + } + +-- +2.14.1 + diff --git a/package/libidn/0002-Update-intprops.h-for-gcc-7-compatibility.patch b/package/libidn/0002-Update-intprops.h-for-gcc-7-compatibility.patch new file mode 100644 index 0000000000..89720442e5 --- /dev/null +++ b/package/libidn/0002-Update-intprops.h-for-gcc-7-compatibility.patch @@ -0,0 +1,333 @@ +From bd705da12e244dda18474a54a2942591e5ef5148 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Tim=20R=C3=BChsen?= +Date: Wed, 1 Feb 2017 10:44:36 +0100 +Subject: [PATCH] Update intprops.h for gcc-7 compatibility + +[Backport from upstream commit 230930b3bc3e431b819eb45420cb42475d83ca93.] +Signed-off-by: Thomas Petazzoni +--- + gl/intprops.h | 65 ++++++++++++++++++++++++++++++-------------------- + lib/gltests/intprops.h | 65 ++++++++++++++++++++++++++++++-------------------- + 2 files changed, 78 insertions(+), 52 deletions(-) + +diff --git a/gl/intprops.h b/gl/intprops.h +index e1fce5c9..eb06b691 100644 +--- a/gl/intprops.h ++++ b/gl/intprops.h +@@ -1,18 +1,18 @@ + /* intprops.h -- properties of integer types + +- Copyright (C) 2001-2016 Free Software Foundation, Inc. ++ Copyright (C) 2001-2017 Free Software Foundation, Inc. + + 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 3 of the License, or ++ under the terms of the GNU Lesser General Public License as published ++ by the Free Software Foundation; either version 2.1 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + + /* Written by Paul Eggert. */ +@@ -47,12 +47,16 @@ + + /* Minimum and maximum values for integer types and expressions. */ + ++/* The width in bits of the integer type or expression T. ++ Padding bits are not supported; this is checked at compile-time below. */ ++#define TYPE_WIDTH(t) (sizeof (t) * CHAR_BIT) ++ + /* The maximum and minimum values for the integer type T. */ + #define TYPE_MINIMUM(t) ((t) ~ TYPE_MAXIMUM (t)) + #define TYPE_MAXIMUM(t) \ + ((t) (! TYPE_SIGNED (t) \ + ? (t) -1 \ +- : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1))) ++ : ((((t) 1 << (TYPE_WIDTH (t) - 2)) - 1) * 2 + 1))) + + /* The maximum and minimum values for the type of the expression E, + after integer promotion. E should not have side effects. */ +@@ -65,7 +69,13 @@ + ? _GL_SIGNED_INT_MAXIMUM (e) \ + : _GL_INT_NEGATE_CONVERT (e, 1)) + #define _GL_SIGNED_INT_MAXIMUM(e) \ +- (((_GL_INT_CONVERT (e, 1) << (sizeof ((e) + 0) * CHAR_BIT - 2)) - 1) * 2 + 1) ++ (((_GL_INT_CONVERT (e, 1) << (TYPE_WIDTH ((e) + 0) - 2)) - 1) * 2 + 1) ++ ++/* Work around OpenVMS incompatibility with C99. */ ++#if !defined LLONG_MAX && defined __INT64_MAX ++# define LLONG_MAX __INT64_MAX ++# define LLONG_MIN __INT64_MIN ++#endif + + /* This include file assumes that signed types are two's complement without + padding bits; the above macros have undefined behavior otherwise. +@@ -84,10 +94,15 @@ verify (TYPE_MAXIMUM (long int) == LONG_MAX); + verify (TYPE_MINIMUM (long long int) == LLONG_MIN); + verify (TYPE_MAXIMUM (long long int) == LLONG_MAX); + #endif ++/* Similarly, sanity-check one ISO/IEC TS 18661-1:2014 macro if defined. */ ++#ifdef UINT_WIDTH ++verify (TYPE_WIDTH (unsigned int) == UINT_WIDTH); ++#endif + + /* Does the __typeof__ keyword work? This could be done by + 'configure', but for now it's easier to do it by hand. */ +-#if (2 <= __GNUC__ || defined __IBM__TYPEOF__ \ ++#if (2 <= __GNUC__ \ ++ || (1210 <= __IBMC__ && defined __IBM__TYPEOF__) \ + || (0x5110 <= __SUNPRO_C && !__STDC__)) + # define _GL_HAVE___TYPEOF__ 1 + #else +@@ -116,8 +131,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX); + signed, this macro may overestimate the true bound by one byte when + applied to unsigned types of size 2, 4, 16, ... bytes. */ + #define INT_STRLEN_BOUND(t) \ +- (INT_BITS_STRLEN_BOUND (sizeof (t) * CHAR_BIT \ +- - _GL_SIGNED_TYPE_OR_EXPR (t)) \ ++ (INT_BITS_STRLEN_BOUND (TYPE_WIDTH (t) - _GL_SIGNED_TYPE_OR_EXPR (t)) \ + + _GL_SIGNED_TYPE_OR_EXPR (t)) + + /* Bound on buffer size needed to represent an integer type or expression T, +@@ -222,20 +236,23 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX); + ? (a) < (min) >> (b) \ + : (max) >> (b) < (a)) + +-/* True if __builtin_add_overflow (A, B, P) works when P is null. */ +-#define _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL (7 <= __GNUC__) ++/* True if __builtin_add_overflow (A, B, P) works when P is non-null. */ ++#define _GL_HAS_BUILTIN_OVERFLOW (5 <= __GNUC__) ++ ++/* True if __builtin_add_overflow_p (A, B, C) works. */ ++#define _GL_HAS_BUILTIN_OVERFLOW_P (7 <= __GNUC__) + + /* The _GL*_OVERFLOW macros have the same restrictions as the + *_RANGE_OVERFLOW macros, except that they do not assume that operands + (e.g., A and B) have the same type as MIN and MAX. Instead, they assume + that the result (e.g., A + B) has that type. */ +-#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL +-# define _GL_ADD_OVERFLOW(a, b, min, max) +- __builtin_add_overflow (a, b, (__typeof__ ((a) + (b)) *) 0) +-# define _GL_SUBTRACT_OVERFLOW(a, b, min, max) +- __builtin_sub_overflow (a, b, (__typeof__ ((a) - (b)) *) 0) +-# define _GL_MULTIPLY_OVERFLOW(a, b, min, max) +- __builtin_mul_overflow (a, b, (__typeof__ ((a) * (b)) *) 0) ++#if _GL_HAS_BUILTIN_OVERFLOW_P ++# define _GL_ADD_OVERFLOW(a, b, min, max) \ ++ __builtin_add_overflow_p (a, b, (__typeof__ ((a) + (b))) 0) ++# define _GL_SUBTRACT_OVERFLOW(a, b, min, max) \ ++ __builtin_sub_overflow_p (a, b, (__typeof__ ((a) - (b))) 0) ++# define _GL_MULTIPLY_OVERFLOW(a, b, min, max) \ ++ __builtin_mul_overflow_p (a, b, (__typeof__ ((a) * (b))) 0) + #else + # define _GL_ADD_OVERFLOW(a, b, min, max) \ + ((min) < 0 ? INT_ADD_RANGE_OVERFLOW (a, b, min, max) \ +@@ -315,7 +332,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX); + _GL_BINARY_OP_OVERFLOW (a, b, _GL_ADD_OVERFLOW) + #define INT_SUBTRACT_OVERFLOW(a, b) \ + _GL_BINARY_OP_OVERFLOW (a, b, _GL_SUBTRACT_OVERFLOW) +-#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL ++#if _GL_HAS_BUILTIN_OVERFLOW_P + # define INT_NEGATE_OVERFLOW(a) INT_SUBTRACT_OVERFLOW (0, a) + #else + # define INT_NEGATE_OVERFLOW(a) \ +@@ -349,10 +366,6 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX); + #define INT_MULTIPLY_WRAPV(a, b, r) \ + _GL_INT_OP_WRAPV (a, b, r, *, __builtin_mul_overflow, INT_MULTIPLY_OVERFLOW) + +-#ifndef __has_builtin +-# define __has_builtin(x) 0 +-#endif +- + /* Nonzero if this compiler has GCC bug 68193 or Clang bug 25390. See: + https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68193 + https://llvm.org/bugs/show_bug.cgi?id=25390 +@@ -369,7 +382,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX); + the operation. BUILTIN is the builtin operation, and OVERFLOW the + overflow predicate. Return 1 if the result overflows. See above + for restrictions. */ +-#if 5 <= __GNUC__ || __has_builtin (__builtin_add_overflow) ++#if _GL_HAS_BUILTIN_OVERFLOW + # define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) builtin (a, b, r) + #elif 201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS + # define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) \ +@@ -412,7 +425,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX); + # else + # define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \ + _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ +- long int, LONG_MIN, LONG_MAX)) ++ long int, LONG_MIN, LONG_MAX) + # endif + #endif + +diff --git a/lib/gltests/intprops.h b/lib/gltests/intprops.h +index e1fce5c9..eb06b691 100644 +--- a/lib/gltests/intprops.h ++++ b/lib/gltests/intprops.h +@@ -1,18 +1,18 @@ + /* intprops.h -- properties of integer types + +- Copyright (C) 2001-2016 Free Software Foundation, Inc. ++ Copyright (C) 2001-2017 Free Software Foundation, Inc. + + 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 3 of the License, or ++ under the terms of the GNU Lesser General Public License as published ++ by the Free Software Foundation; either version 2.1 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + + /* Written by Paul Eggert. */ +@@ -47,12 +47,16 @@ + + /* Minimum and maximum values for integer types and expressions. */ + ++/* The width in bits of the integer type or expression T. ++ Padding bits are not supported; this is checked at compile-time below. */ ++#define TYPE_WIDTH(t) (sizeof (t) * CHAR_BIT) ++ + /* The maximum and minimum values for the integer type T. */ + #define TYPE_MINIMUM(t) ((t) ~ TYPE_MAXIMUM (t)) + #define TYPE_MAXIMUM(t) \ + ((t) (! TYPE_SIGNED (t) \ + ? (t) -1 \ +- : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1))) ++ : ((((t) 1 << (TYPE_WIDTH (t) - 2)) - 1) * 2 + 1))) + + /* The maximum and minimum values for the type of the expression E, + after integer promotion. E should not have side effects. */ +@@ -65,7 +69,13 @@ + ? _GL_SIGNED_INT_MAXIMUM (e) \ + : _GL_INT_NEGATE_CONVERT (e, 1)) + #define _GL_SIGNED_INT_MAXIMUM(e) \ +- (((_GL_INT_CONVERT (e, 1) << (sizeof ((e) + 0) * CHAR_BIT - 2)) - 1) * 2 + 1) ++ (((_GL_INT_CONVERT (e, 1) << (TYPE_WIDTH ((e) + 0) - 2)) - 1) * 2 + 1) ++ ++/* Work around OpenVMS incompatibility with C99. */ ++#if !defined LLONG_MAX && defined __INT64_MAX ++# define LLONG_MAX __INT64_MAX ++# define LLONG_MIN __INT64_MIN ++#endif + + /* This include file assumes that signed types are two's complement without + padding bits; the above macros have undefined behavior otherwise. +@@ -84,10 +94,15 @@ verify (TYPE_MAXIMUM (long int) == LONG_MAX); + verify (TYPE_MINIMUM (long long int) == LLONG_MIN); + verify (TYPE_MAXIMUM (long long int) == LLONG_MAX); + #endif ++/* Similarly, sanity-check one ISO/IEC TS 18661-1:2014 macro if defined. */ ++#ifdef UINT_WIDTH ++verify (TYPE_WIDTH (unsigned int) == UINT_WIDTH); ++#endif + + /* Does the __typeof__ keyword work? This could be done by + 'configure', but for now it's easier to do it by hand. */ +-#if (2 <= __GNUC__ || defined __IBM__TYPEOF__ \ ++#if (2 <= __GNUC__ \ ++ || (1210 <= __IBMC__ && defined __IBM__TYPEOF__) \ + || (0x5110 <= __SUNPRO_C && !__STDC__)) + # define _GL_HAVE___TYPEOF__ 1 + #else +@@ -116,8 +131,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX); + signed, this macro may overestimate the true bound by one byte when + applied to unsigned types of size 2, 4, 16, ... bytes. */ + #define INT_STRLEN_BOUND(t) \ +- (INT_BITS_STRLEN_BOUND (sizeof (t) * CHAR_BIT \ +- - _GL_SIGNED_TYPE_OR_EXPR (t)) \ ++ (INT_BITS_STRLEN_BOUND (TYPE_WIDTH (t) - _GL_SIGNED_TYPE_OR_EXPR (t)) \ + + _GL_SIGNED_TYPE_OR_EXPR (t)) + + /* Bound on buffer size needed to represent an integer type or expression T, +@@ -222,20 +236,23 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX); + ? (a) < (min) >> (b) \ + : (max) >> (b) < (a)) + +-/* True if __builtin_add_overflow (A, B, P) works when P is null. */ +-#define _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL (7 <= __GNUC__) ++/* True if __builtin_add_overflow (A, B, P) works when P is non-null. */ ++#define _GL_HAS_BUILTIN_OVERFLOW (5 <= __GNUC__) ++ ++/* True if __builtin_add_overflow_p (A, B, C) works. */ ++#define _GL_HAS_BUILTIN_OVERFLOW_P (7 <= __GNUC__) + + /* The _GL*_OVERFLOW macros have the same restrictions as the + *_RANGE_OVERFLOW macros, except that they do not assume that operands + (e.g., A and B) have the same type as MIN and MAX. Instead, they assume + that the result (e.g., A + B) has that type. */ +-#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL +-# define _GL_ADD_OVERFLOW(a, b, min, max) +- __builtin_add_overflow (a, b, (__typeof__ ((a) + (b)) *) 0) +-# define _GL_SUBTRACT_OVERFLOW(a, b, min, max) +- __builtin_sub_overflow (a, b, (__typeof__ ((a) - (b)) *) 0) +-# define _GL_MULTIPLY_OVERFLOW(a, b, min, max) +- __builtin_mul_overflow (a, b, (__typeof__ ((a) * (b)) *) 0) ++#if _GL_HAS_BUILTIN_OVERFLOW_P ++# define _GL_ADD_OVERFLOW(a, b, min, max) \ ++ __builtin_add_overflow_p (a, b, (__typeof__ ((a) + (b))) 0) ++# define _GL_SUBTRACT_OVERFLOW(a, b, min, max) \ ++ __builtin_sub_overflow_p (a, b, (__typeof__ ((a) - (b))) 0) ++# define _GL_MULTIPLY_OVERFLOW(a, b, min, max) \ ++ __builtin_mul_overflow_p (a, b, (__typeof__ ((a) * (b))) 0) + #else + # define _GL_ADD_OVERFLOW(a, b, min, max) \ + ((min) < 0 ? INT_ADD_RANGE_OVERFLOW (a, b, min, max) \ +@@ -315,7 +332,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX); + _GL_BINARY_OP_OVERFLOW (a, b, _GL_ADD_OVERFLOW) + #define INT_SUBTRACT_OVERFLOW(a, b) \ + _GL_BINARY_OP_OVERFLOW (a, b, _GL_SUBTRACT_OVERFLOW) +-#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL ++#if _GL_HAS_BUILTIN_OVERFLOW_P + # define INT_NEGATE_OVERFLOW(a) INT_SUBTRACT_OVERFLOW (0, a) + #else + # define INT_NEGATE_OVERFLOW(a) \ +@@ -349,10 +366,6 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX); + #define INT_MULTIPLY_WRAPV(a, b, r) \ + _GL_INT_OP_WRAPV (a, b, r, *, __builtin_mul_overflow, INT_MULTIPLY_OVERFLOW) + +-#ifndef __has_builtin +-# define __has_builtin(x) 0 +-#endif +- + /* Nonzero if this compiler has GCC bug 68193 or Clang bug 25390. See: + https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68193 + https://llvm.org/bugs/show_bug.cgi?id=25390 +@@ -369,7 +382,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX); + the operation. BUILTIN is the builtin operation, and OVERFLOW the + overflow predicate. Return 1 if the result overflows. See above + for restrictions. */ +-#if 5 <= __GNUC__ || __has_builtin (__builtin_add_overflow) ++#if _GL_HAS_BUILTIN_OVERFLOW + # define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) builtin (a, b, r) + #elif 201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS + # define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) \ +@@ -412,7 +425,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX); + # else + # define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \ + _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ +- long int, LONG_MIN, LONG_MAX)) ++ long int, LONG_MIN, LONG_MAX) + # endif + #endif + +-- +2.13.6 + diff --git a/package/libidn/Config.in b/package/libidn/Config.in index 7b558c7175..20e0e2b5f5 100644 --- a/package/libidn/Config.in +++ b/package/libidn/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_LIBIDN bool "libidn" - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE help Libidn's purpose is to encode and decode internationalized domain names. diff --git a/package/libidn/libidn.mk b/package/libidn/libidn.mk index 99c9e2cb80..b50a8b622f 100644 --- a/package/libidn/libidn.mk +++ b/package/libidn/libidn.mk @@ -7,11 +7,13 @@ LIBIDN_VERSION = 1.33 LIBIDN_SITE = $(BR2_GNU_MIRROR)/libidn LIBIDN_INSTALL_STAGING = YES -LIBIDN_CONF_ENV = EMACS="no" +LIBIDN_CONF_ENV = EMACS="no" MAKEINFO=true LIBIDN_CONF_OPTS = --disable-java --enable-csharp=no -LIBIDN_DEPENDENCIES = host-pkgconf $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) $(if $(BR2_PACKAGE_LIBICONV),libiconv) -LIBIDN_LICENSE = GPLv2+, GPLv3+, LGPLv3+ +LIBIDN_DEPENDENCIES = host-pkgconf $(TARGET_NLS_DEPENDENCIES) $(if $(BR2_PACKAGE_LIBICONV),libiconv) +LIBIDN_LICENSE = GPL-2.0+, GPL-3.0+, LGPL-3.0+ LIBIDN_LICENSE_FILES = COPYINGv2 COPYINGv3 COPYING.LESSERv3 +# lib/punycode.c patch triggers reconf in doc/ +LIBIDN_AUTORECONF = YES define LIBIDN_REMOVE_BINARY rm -f $(TARGET_DIR)/usr/bin/idn diff --git a/package/libiio/0001-utilities.c-Add-a-check-for-newlocale-function.patch b/package/libiio/0001-utilities.c-Add-a-check-for-newlocale-function.patch deleted file mode 100644 index cea22cbcac..0000000000 --- a/package/libiio/0001-utilities.c-Add-a-check-for-newlocale-function.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 913c2cc740d60450e91e066cf38f5654936a6015 Mon Sep 17 00:00:00 2001 -From: Paul Cercueil -Date: Mon, 6 Feb 2017 14:04:47 +0100 -Subject: [PATCH] utilities.c: Add a check for newlocale() function - -uClibc might define __UCLIBC_HAS_LOCALE__, without actually providing -the locale_t type or the setlocale() function. - -Signed-off-by: Paul Cercueil ---- - CMakeLists.txt | 1 + - iio-config.h.cmakein | 1 + - utilities.c | 2 +- - 3 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index cb3a48f..b24eff3 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -66,6 +66,7 @@ endif() - include(CheckSymbolExists) - check_symbol_exists(strdup "string.h" HAS_STRDUP) - check_symbol_exists(strerror_r "string.h" HAS_STRERROR_R) -+check_symbol_exists(newlocale "locale.h" HAS_NEWLOCALE) - - IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux") - option(WITH_IIOD "Build the IIO Daemon" ON) -diff --git a/iio-config.h.cmakein b/iio-config.h.cmakein -index 1b8608e..6700326 100644 ---- a/iio-config.h.cmakein -+++ b/iio-config.h.cmakein -@@ -21,6 +21,7 @@ - #cmakedefine HAS_PIPE2 - #cmakedefine HAS_STRDUP - #cmakedefine HAS_STRERROR_R -+#cmakedefine HAS_NEWLOCALE - #cmakedefine HAS_PTHREAD_SETNAME_NP - #cmakedefine HAVE_IPV6 - #cmakedefine HAVE_AVAHI -diff --git a/utilities.c b/utilities.c -index 88b8257..21dbd10 100644 ---- a/utilities.c -+++ b/utilities.c -@@ -34,7 +34,7 @@ - #endif - - #ifdef LOCALE_SUPPORT --#if defined(__MINGW32__) -+#if defined(__MINGW32__) || (!defined(_WIN32) && !defined(HAS_NEWLOCALE)) - static int read_double_locale(const char *str, double *val) - { - char *end, *old_locale; --- -2.11.0 - diff --git a/package/libiio/Config.in b/package/libiio/Config.in index 6f6af16852..b58ac7fdb3 100644 --- a/package/libiio/Config.in +++ b/package/libiio/Config.in @@ -17,24 +17,24 @@ config BR2_PACKAGE_LIBIIO_LOCAL_BACKEND config BR2_PACKAGE_LIBIIO_XML_BACKEND bool "XML backend" - select BR2_PACKAGE_LIBXML2 default y + select BR2_PACKAGE_LIBXML2 help Enable the XML backend of the library. config BR2_PACKAGE_LIBIIO_NETWORK_BACKEND bool "Network backend" - select BR2_PACKAGE_LIBIIO_XML_BACKEND default y + select BR2_PACKAGE_LIBIIO_XML_BACKEND help Enable the network backend of the library. config BR2_PACKAGE_LIBIIO_USB_BACKEND bool "USB backend" + default y depends on BR2_TOOLCHAIN_HAS_THREADS # from libusb select BR2_PACKAGE_LIBIIO_XML_BACKEND select BR2_PACKAGE_LIBUSB - default y help Enable the USB backend of the library. @@ -43,18 +43,17 @@ comment "The USB backend needs a toolchain w/ threads" config BR2_PACKAGE_LIBIIO_SERIAL_BACKEND bool "Serial backend" + default y select BR2_PACKAGE_LIBIIO_XML_BACKEND select BR2_PACKAGE_LIBSERIALPORT - default y help Enable the serial backend of the library. config BR2_PACKAGE_LIBIIO_IIOD bool "IIO Daemon" - select BR2_PACKAGE_LIBIIO_LOCAL_BACKEND - depends on BR2_TOOLCHAIN_HAS_THREADS - depends on !BR2_bfin default y + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_LIBIIO_LOCAL_BACKEND help Install the IIO Daemon. @@ -74,16 +73,9 @@ comment "USB support in the IIO Daemon requires libaio, headers >= 3.18" comment "IIO Daemon needs a toolchain w/ threads" depends on !BR2_TOOLCHAIN_HAS_THREADS - depends on !BR2_bfin - -comment "IIO Daemon is not yet available on Blackfin" - depends on BR2_bfin config BR2_PACKAGE_LIBIIO_TESTS bool "Install test programs" - select BR2_PACKAGE_LIBIIO_LOCAL_BACKEND - select BR2_PACKAGE_LIBIIO_XML_BACKEND - select BR2_PACKAGE_LIBIIO_NETWORK_BACKEND depends on BR2_TOOLCHAIN_HAS_THREADS help Install the test programs (iio_info, iio_genxml, iio_readdev). @@ -99,7 +91,7 @@ config BR2_PACKAGE_LIBIIO_BINDINGS_CSHARP config BR2_PACKAGE_LIBIIO_BINDINGS_PYTHON bool "Install Python bindings" - depends on BR2_PACKAGE_PYTHON + depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 help Install the Python bindings. diff --git a/package/libiio/libiio.hash b/package/libiio/libiio.hash index e5387861aa..027e2a072b 100644 --- a/package/libiio/libiio.hash +++ b/package/libiio/libiio.hash @@ -1,2 +1,2 @@ -# From https://github.com/analogdevicesinc/libiio/archive/v0.9/ -sha256 b6184876d192fbfd51e3a0a29736fa1be2dbaf07370cf861797076f40a85f823 libiio-0.9.tar.gz +# Locally calculated +sha256 002d57f35715821efae66479859bc5357b4d8d33bfff1446b4e17b02ae2c10d2 libiio-0.10.tar.gz diff --git a/package/libiio/libiio.mk b/package/libiio/libiio.mk index 8977610999..0b13064085 100644 --- a/package/libiio/libiio.mk +++ b/package/libiio/libiio.mk @@ -4,16 +4,17 @@ # ################################################################################ -LIBIIO_VERSION = 0.9 +LIBIIO_VERSION = 0.10 LIBIIO_SITE = $(call github,analogdevicesinc,libiio,v$(LIBIIO_VERSION)) LIBIIO_INSTALL_STAGING = YES -LIBIIO_LICENSE = LGPLv2.1+ +LIBIIO_LICENSE = LGPL-2.1+ LIBIIO_LICENSE_FILES = COPYING.txt LIBIIO_CONF_OPTS = -DENABLE_IPV6=ON \ -DWITH_LOCAL_BACKEND=$(if $(BR2_PACKAGE_LIBIIO_LOCAL_BACKEND),ON,OFF) \ -DWITH_NETWORK_BACKEND=$(if $(BR2_PACKAGE_LIBIIO_NETWORK_BACKEND),ON,OFF) \ -DWITH_MATLAB_BINDINGS_API=OFF \ + -DMATLAB_BINDINGS=OFF \ -DINSTALL_UDEV_RULE=$(if $(BR2_PACKAGE_HAS_UDEV),ON,OFF) \ -DWITH_TESTS=$(if $(BR2_PACKAGE_LIBIIO_TESTS),ON,OFF) \ -DWITH_DOC=OFF @@ -59,7 +60,11 @@ LIBIIO_DEPENDENCIES += avahi endif ifeq ($(BR2_PACKAGE_LIBIIO_BINDINGS_PYTHON),y) +ifeq ($(BR2_PACKAGE_PYTHON),y) LIBIIO_DEPENDENCIES += python +else ifeq ($(BR2_PACKAGE_PYTHON3),y) +LIBIIO_DEPENDENCIES += python3 +endif LIBIIO_CONF_OPTS += -DPYTHON_BINDINGS=ON else LIBIIO_CONF_OPTS += -DPYTHON_BINDINGS=OFF @@ -68,11 +73,11 @@ endif ifeq ($(BR2_PACKAGE_LIBIIO_BINDINGS_CSHARP),y) define LIBIIO_INSTALL_CSHARP_BINDINGS_TO_TARGET rm $(TARGET_DIR)/usr/lib/cli/libiio-sharp-$(LIBIIO_VERSION)/libiio-sharp.dll.mdb - $(HOST_DIR)/usr/bin/gacutil -root $(TARGET_DIR)/usr/lib -i \ + $(HOST_DIR)/bin/gacutil -root $(TARGET_DIR)/usr/lib -i \ $(TARGET_DIR)/usr/lib/cli/libiio-sharp-$(LIBIIO_VERSION)/libiio-sharp.dll endef define LIBIIO_INSTALL_CSHARP_BINDINGS_TO_STAGING - $(HOST_DIR)/usr/bin/gacutil -root $(STAGING_DIR)/usr/lib -i \ + $(HOST_DIR)/bin/gacutil -root $(STAGING_DIR)/usr/lib -i \ $(STAGING_DIR)/usr/lib/cli/libiio-sharp-$(LIBIIO_VERSION)/libiio-sharp.dll endef LIBIIO_POST_INSTALL_TARGET_HOOKS += LIBIIO_INSTALL_CSHARP_BINDINGS_TO_TARGET diff --git a/package/libilbc/libilbc.hash b/package/libilbc/libilbc.hash new file mode 100644 index 0000000000..e6789c5e84 --- /dev/null +++ b/package/libilbc/libilbc.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 70cd6a4f6bbe6dcebfc4293eea7b6200f883d1bf0affa1efba819d44d274e35f libilbc-829b08c7902ceb87a261279fabb36b6d523c6e07.tar.gz diff --git a/package/libimxvpuapi/libimxvpuapi.mk b/package/libimxvpuapi/libimxvpuapi.mk index d368d3d064..bcabbf3877 100644 --- a/package/libimxvpuapi/libimxvpuapi.mk +++ b/package/libimxvpuapi/libimxvpuapi.mk @@ -6,7 +6,7 @@ LIBIMXVPUAPI_VERSION = 0.10.3 LIBIMXVPUAPI_SITE = $(call github,Freescale,libimxvpuapi,$(LIBIMXVPUAPI_VERSION)) -LIBIMXVPUAPI_LICENSE = LGPLv2.1+ +LIBIMXVPUAPI_LICENSE = LGPL-2.1+ LIBIMXVPUAPI_LICENSE_FILES = LICENSE LIBIMXVPUAPI_DEPENDENCIES = host-pkgconf host-python imx-vpu LIBIMXVPUAPI_INSTALL_STAGING = YES diff --git a/package/libinput/libinput.hash b/package/libinput/libinput.hash index dd3573f2e1..4e64568ca3 100644 --- a/package/libinput/libinput.hash +++ b/package/libinput/libinput.hash @@ -1,2 +1,5 @@ -# From https://lists.freedesktop.org/archives/wayland-devel/2017-January/032746.html -sha256 b7534f518d735c643aedca2fb4694683dfddc8d0600cfb628c87a18e65255832 libinput-1.6.0.tar.xz +# From https://lists.freedesktop.org/archives/wayland-devel/2017-September/034949.html +md5 e94e9aa765da9533c23b80b440638de9 libinput-1.8.2.tar.xz +sha1 1c55462eb598b91c9c360f31170a408fb8d38d22 libinput-1.8.2.tar.xz +sha256 013518ee0adb2287e6e1f08412efba2137320738cadb5399b783738f04cbab38 libinput-1.8.2.tar.xz +sha512 555a7680cc8aaf62c5370a865f3aff0a933d42d94a3d8861c072666b02c9e1be45ea39de9a749a9575cdfb613b6150e412e18559d94d4919f21ca4680a3c76a7 libinput-1.8.2.tar.xz diff --git a/package/libinput/libinput.mk b/package/libinput/libinput.mk index 52aca9acfd..f904b796b7 100644 --- a/package/libinput/libinput.mk +++ b/package/libinput/libinput.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBINPUT_VERSION = 1.6.0 +LIBINPUT_VERSION = 1.8.2 LIBINPUT_SOURCE = libinput-$(LIBINPUT_VERSION).tar.xz LIBINPUT_SITE = http://www.freedesktop.org/software/libinput LIBINPUT_DEPENDENCIES = host-pkgconf libevdev mtdev udev @@ -15,10 +15,10 @@ LIBINPUT_LICENSE_FILES = COPYING LIBINPUT_CONF_OPTS = --disable-tests --disable-libwacom ifeq ($(BR2_PACKAGE_LIBGTK3),y) -LIBINPUT_CONF_OPTS += --enable-event-gui +LIBINPUT_CONF_OPTS += --enable-debug-gui LIBINPUT_DEPENDENCIES += libgtk3 else -LIBINPUT_CONF_OPTS += --disable-event-gui +LIBINPUT_CONF_OPTS += --disable-debug-gui endif $(eval $(autotools-package)) diff --git a/package/libiqrf/libiqrf.mk b/package/libiqrf/libiqrf.mk index 05316029dd..f403a5e364 100644 --- a/package/libiqrf/libiqrf.mk +++ b/package/libiqrf/libiqrf.mk @@ -8,6 +8,6 @@ LIBIQRF_VERSION = v0.1.2 LIBIQRF_SITE = $(call github,nandra,libiqrf,$(LIBIQRF_VERSION)) LIBIQRF_INSTALL_STAGING = YES LIBIQRF_DEPENDENCIES = libusb -LIBIQRF_LICENSE = LGPLv2.1+ +LIBIQRF_LICENSE = LGPL-2.1+ $(eval $(cmake-package)) diff --git a/package/libiscsi/Config.in b/package/libiscsi/Config.in index 88933f3942..760fecea66 100644 --- a/package/libiscsi/Config.in +++ b/package/libiscsi/Config.in @@ -1,11 +1,12 @@ config BR2_PACKAGE_LIBISCSI bool "libiscsi" help - Libiscsi is a client-side library to implement the iSCSI protocol - that can be used to access resource of an iSCSI Target. + Libiscsi is a client-side library to implement the iSCSI + protocol that can be used to access resource of an iSCSI + Target. - The library is fully async with regards to iscsi commands and scsi - tasks, but a sync layer is also provided for ease of use for simpler - applications. + The library is fully async with regards to iscsi commands and + scsi tasks, but a sync layer is also provided for ease of use + for simpler applications. https://github.com/sahlberg/libiscsi (no proper homepage) diff --git a/package/libiscsi/libiscsi.mk b/package/libiscsi/libiscsi.mk index 4c8a229265..6c8600829c 100644 --- a/package/libiscsi/libiscsi.mk +++ b/package/libiscsi/libiscsi.mk @@ -6,7 +6,7 @@ LIBISCSI_VERSION = 1.18.0 LIBISCSI_SITE = $(call github,sahlberg,libiscsi,$(LIBISCSI_VERSION)) -LIBISCSI_LICENSE = GPLv2+, LGPLv2.1+ +LIBISCSI_LICENSE = GPL-2.0+, LGPL-2.1+ LIBISCSI_LICENSE_FILES = COPYING LICENCE-GPL-2.txt LICENCE-LGPL-2.1.txt LIBISCSI_INSTALL_STAGING = YES LIBISCSI_AUTORECONF = YES diff --git a/package/libite/libite.hash b/package/libite/libite.hash index 67ad009bf5..ec894c5e00 100644 --- a/package/libite/libite.hash +++ b/package/libite/libite.hash @@ -1,2 +1,5 @@ # Locally calculated -sha256 b27e4af69e9e5b4d00924538d3a41b53752082cc439b9246edec5501aff2f22f libite-v1.8.2.tar.gz +sha256 18c087123f02cc3cfb612bf53b12dc8a94d4d3ebf015ed5937b1f9203eef72f8 libite-v1.9.2.tar.gz +sha256 0e97ab27b60e20a7ddb8e9638189ad159124e51d2c12e12735b05423df224da5 LICENSE +sha256 9e0fb98d251dddf5ba81a355f6b4d89835ec53bc5d7f5fcd2c866b54ec5ccec8 chomp.c +sha256 a7d29c148e057fae11a87febc3a51970a26433c35a08fc710be689394442d32d pidfile.c diff --git a/package/libite/libite.mk b/package/libite/libite.mk index b56c430b06..e88060d1dc 100644 --- a/package/libite/libite.mk +++ b/package/libite/libite.mk @@ -4,9 +4,9 @@ # ################################################################################ -LIBITE_VERSION = v1.8.2 +LIBITE_VERSION = v1.9.2 LIBITE_SITE = $(call github,troglobit,libite,$(LIBITE_VERSION)) -LIBITE_LICENSE = MIT, X11, ISC, BSD-2c +LIBITE_LICENSE = MIT, X11, ISC, BSD-2-Clause LIBITE_LICENSE_FILES = LICENSE chomp.c pidfile.c LIBITE_INSTALL_STAGING = YES LIBITE_AUTORECONF = YES diff --git a/package/libjpeg/libjpeg.mk b/package/libjpeg/libjpeg.mk index b8f4bac56e..e5bd454479 100644 --- a/package/libjpeg/libjpeg.mk +++ b/package/libjpeg/libjpeg.mk @@ -7,7 +7,7 @@ LIBJPEG_VERSION = 9b LIBJPEG_SITE = http://www.ijg.org/files LIBJPEG_SOURCE = jpegsrc.v$(LIBJPEG_VERSION).tar.gz -LIBJPEG_LICENSE = jpeg-license (BSD-3c-like) +LIBJPEG_LICENSE = jpeg-license (BSD-3-Clause-like) LIBJPEG_LICENSE_FILES = README LIBJPEG_INSTALL_STAGING = YES LIBJPEG_PROVIDES = jpeg diff --git a/package/libjson/libjson.mk b/package/libjson/libjson.mk index c73a69f10e..74224ba657 100644 --- a/package/libjson/libjson.mk +++ b/package/libjson/libjson.mk @@ -8,7 +8,7 @@ LIBJSON_VERSION = 7.6.1 LIBJSON_SITE = http://downloads.sourceforge.net/project/libjson LIBJSON_SOURCE = libjson_$(LIBJSON_VERSION).zip LIBJSON_INSTALL_STAGING = YES -LIBJSON_LICENSE = BSD-2c +LIBJSON_LICENSE = BSD-2-Clause LIBJSON_LICENSE_FILES = License.txt LIBJSON_CXXFLAGS = $(TARGET_CFLAGS) -DNDEBUG diff --git a/package/libkcapi/0001-Have-sufficient-memory-size-for-message.patch b/package/libkcapi/0001-Have-sufficient-memory-size-for-message.patch new file mode 100644 index 0000000000..39e683f58a --- /dev/null +++ b/package/libkcapi/0001-Have-sufficient-memory-size-for-message.patch @@ -0,0 +1,31 @@ +From b56deda7c13c257050fdbdd71c1a5a47b78aa63e Mon Sep 17 00:00:00 2001 +From: Stephan Mueller +Date: Thu, 3 Aug 2017 17:50:51 +0200 +Subject: [PATCH] Have sufficient memory size for message + +With GCC 7, the size of the buffer in snprintf is checked. The +occurrence here is found to be too small. + +Signed-off-by: Stephan Mueller +[Upstream commit: https://github.com/smuellerDD/libkcapi/commit/b56deda7c13c257050fdbdd71c1a5a47b78aa63e] +Signed-off-by: Marcin Nowakowski +--- + speed-test/cryptoperf-base.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/speed-test/cryptoperf-base.c b/speed-test/cryptoperf-base.c +index 8766ca7..07384ae 100644 +--- a/speed-test/cryptoperf-base.c ++++ b/speed-test/cryptoperf-base.c +@@ -172,7 +172,7 @@ char *cp_print_status(struct cp_test *test, int raw) + (unsigned long)(processed_bytes/totaltime), + (unsigned long)ops); + } else { +- #define VALLEN 10 ++ #define VALLEN 23 + char byteseconds[VALLEN + 1]; + + memset(byteseconds, 0, sizeof(byteseconds)); +-- +2.7.4 + diff --git a/package/libkcapi/0002-Do-not-compile-unused-functions.patch b/package/libkcapi/0002-Do-not-compile-unused-functions.patch new file mode 100644 index 0000000000..97ab7fc50b --- /dev/null +++ b/package/libkcapi/0002-Do-not-compile-unused-functions.patch @@ -0,0 +1,35 @@ +From 217b154a5f65d46064ceb69ce69664105e703a74 Mon Sep 17 00:00:00 2001 +From: Stephan Mueller +Date: Thu, 3 Aug 2017 17:52:48 +0200 +Subject: [PATCH] Do not compile unused functions + +GCC 7 now rightfully complains about unused functions. + +Signed-off-by: Stephan Mueller + +[Upstream commit: https://github.com/smuellerDD/libkcapi/commit/217b154a5f65d46064ceb69ce69664105e703a74] +Signed-off-by: Marcin Nowakowski +--- + apps/kcapi-rng.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/apps/kcapi-rng.c b/apps/kcapi-rng.c +index df7decf..e15edf9 100644 +--- a/apps/kcapi-rng.c ++++ b/apps/kcapi-rng.c +@@ -45,6 +45,7 @@ struct kcapi_handle *rng = NULL; + unsigned int Verbosity = 0; + char *rng_name = NULL; + ++#ifndef HAVE_GETRANDOM + static int read_complete(int fd, uint8_t *buf, uint32_t buflen) + { + ssize_t ret; +@@ -76,6 +77,7 @@ static int read_random(uint8_t *buf, uint32_t buflen) + close(fd); + return ret; + } ++#endif + + static int get_random(uint8_t *buf, uint32_t buflen) + { diff --git a/package/libkcapi/0003-Unify-code-to-read-from-seed-sources.patch b/package/libkcapi/0003-Unify-code-to-read-from-seed-sources.patch new file mode 100644 index 0000000000..b636ffe908 --- /dev/null +++ b/package/libkcapi/0003-Unify-code-to-read-from-seed-sources.patch @@ -0,0 +1,132 @@ +From 450dfb09ee72ffedea8f2a25fdce17295f01f62f Mon Sep 17 00:00:00 2001 +From: Stephan Mueller +Date: Tue, 8 Aug 2017 10:04:06 +0200 +Subject: [PATCH] Unify code to read from seed sources + +Remove the code duplication for FD reads and syscall reads. + +This patch also fixes the use of __NR_getrandom resolution. + +[Upstream commit: https://github.com/smuellerDD/libkcapi/commit/450dfb09ee72ffedea8f2a25fdce17295f01f62f] +Signed-off-by: Marcin Nowakowski + +--- + apps/kcapi-rng.c | 71 +++++++++++++++++++++++++------------------------------- + 1 file changed, 32 insertions(+), 39 deletions(-) + +diff --git a/apps/kcapi-rng.c b/apps/kcapi-rng.c +index e15edf9..96da111 100644 +--- a/apps/kcapi-rng.c ++++ b/apps/kcapi-rng.c +@@ -17,7 +17,9 @@ + * DAMAGE. + */ + ++#define _GNU_SOURCE + #include ++#include + #include + #include + #include +@@ -41,56 +43,48 @@ + /* Minimum seed is 256 bits. */ + #define KCAPI_RNG_MINSEEDSIZE 32 + +-struct kcapi_handle *rng = NULL; +-unsigned int Verbosity = 0; +-char *rng_name = NULL; ++static struct kcapi_handle *rng = NULL; ++static unsigned int Verbosity = 0; ++static char *rng_name = NULL; + +-#ifndef HAVE_GETRANDOM +-static int read_complete(int fd, uint8_t *buf, uint32_t buflen) ++#if !defined(HAVE_GETRANDOM) && !defined(__NR_getrandom) ++static int random_fd = -1; ++static int open_random(void) + { +- ssize_t ret; ++ random_fd = open("/dev/urandom", O_RDONLY|O_CLOEXEC); ++ if (0 > random_fd) ++ return random_fd; + +- do { +- ret = read(fd, buf, buflen); +- if (0 < ret) { +- buflen -= ret; +- buf += ret; +- } +- } while ((0 < ret || EINTR == errno || ERESTART == errno) +- && buflen > 0); +- +- if (buflen == 0) +- return 0; +- return 1; ++ return 0; + } + +-static int read_random(uint8_t *buf, uint32_t buflen) ++static void close_random(void) + { +- int fd; +- int ret = 0; +- +- fd = open("/dev/urandom", O_RDONLY|O_CLOEXEC); +- if (0 > fd) +- return fd; +- +- ret = read_complete(fd, buf, buflen); +- close(fd); +- return ret; ++ close(random_fd); + } + #endif + + static int get_random(uint8_t *buf, uint32_t buflen) + { ++ ssize_t ret; ++ + if (buflen > INT_MAX) + return 1; + ++#if (!defined(HAVE_GETRANDOM) && !defined(__NR_getrandom)) ++ ret = open_random(); ++ if (ret) ++ return ret; ++#endif ++ ++ do { + #ifdef HAVE_GETRANDOM +- return getrandom(buf, buflen, 0); ++ ret = getrandom(buf, buflen, 0); ++#elif defined __NR_getrandom ++ ret = syscall(__NR_getrandom, buf, buflen, 0); + #else +-# ifdef __NR_getrandom +- do { +- int ret = syscall(__NR_getrandom, buf, buflen, 0); +- ++ ret = read(random_fd, buf, buflen); ++#endif + if (0 < ret) { + buflen -= ret; + buf += ret; +@@ -98,14 +92,13 @@ static int get_random(uint8_t *buf, uint32_t buflen) + } while ((0 < ret || EINTR == errno || ERESTART == errno) + && buflen > 0); + ++#if (!defined(HAVE_GETRANDOM) && !defined(__NR_getrandom)) ++ close_random(); ++#endif ++ + if (buflen == 0) + return 0; +- + return 1; +-# else +- return read_random(buf, buflen); +-# endif +-#endif + } + + static void usage(void) diff --git a/package/libkcapi/0004-internal.h-make-inline-functions-static.patch b/package/libkcapi/0004-internal.h-make-inline-functions-static.patch new file mode 100644 index 0000000000..a050173964 --- /dev/null +++ b/package/libkcapi/0004-internal.h-make-inline-functions-static.patch @@ -0,0 +1,103 @@ +From 2b9e01ee31c1b7596b19f0c89954e93e217b0479 Mon Sep 17 00:00:00 2001 +From: Marcin Nowakowski +Date: Thu, 21 Sep 2017 10:16:33 +0200 +Subject: [PATCH] internal.h: make inline functions static + +With some GCC configurations/build options it is possible for gcc to +ignore the inline hint. As the methods are not declared static, gcc +expects a definition to be provided elsewhere, which is not the case +here resulting in the following linker error: + +libtool: link: /home/marcin/br-test-pkg/br-arm-cortex-a9-glibc/host/bin/arm-linux-gcc +-fstack-protector-strong -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE +-D_FILE_OFFSET_BITS=64 -Os -Wl,-z -Wl,relro -Wl,-z -Wl,now -o bin/kcapi +test/bin_kcapi-kcapi-main.o ./.libs/libkcapi.so -Wl,-rpath +-Wl,/home/marcin/br-test-pkg/br-arm-cortex-a9-glibc/build/libkcapi-0.14.0/.libs +./.libs/libkcapi.so: undefined reference to `_kcapi_common_vmsplice_iov' +./.libs/libkcapi.so: undefined reference to `_kcapi_common_read_data' +./.libs/libkcapi.so: undefined reference to `_kcapi_aio_read_iov' +./.libs/libkcapi.so: undefined reference to `_kcapi_common_recv_data' +./.libs/libkcapi.so: undefined reference to `_kcapi_common_send_data' +./.libs/libkcapi.so: undefined reference to `_kcapi_common_vmsplice_chunk' +./.libs/libkcapi.so: undefined reference to `_kcapi_common_send_meta' +collect2: error: ld returned 1 exit status + +$ arm-linux-gcc --version +arm-linux-gcc.br_real (Buildroot 2017.08-git-01078-g95b1dae) 7.1.0 + +Signed-off-by: Marcin Nowakowski +Signed-off-by: Stephan Mueller + +[Upstream commit: https://github.com/smuellerDD/libkcapi/commit/2b9e01ee31c1b7596b19f0c89954e93e217b0479] +Signed-off-by: Marcin Nowakowski +--- + lib/internal.h | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/lib/internal.h b/lib/internal.h +index 0d98f24..addf450 100644 +--- a/lib/internal.h ++++ b/lib/internal.h +@@ -233,7 +233,7 @@ void kcapi_dolog(int severity, const char *fmt, ...); + int32_t _kcapi_common_send_meta_fd(struct kcapi_handle *handle, int *fdptr, + struct iovec *iov, uint32_t iovlen, + uint32_t enc, uint32_t flags); +-inline int32_t _kcapi_common_send_meta(struct kcapi_handle *handle, ++static inline int32_t _kcapi_common_send_meta(struct kcapi_handle *handle, + struct iovec *iov, uint32_t iovlen, + uint32_t enc, uint32_t flags) + { +@@ -244,7 +244,7 @@ inline int32_t _kcapi_common_send_meta(struct kcapi_handle *handle, + int32_t _kcapi_common_vmsplice_iov_fd(struct kcapi_handle *handle, int *fdptr, + struct iovec *iov, unsigned long iovlen, + uint32_t flags); +-inline int32_t _kcapi_common_vmsplice_iov(struct kcapi_handle *handle, ++static inline int32_t _kcapi_common_vmsplice_iov(struct kcapi_handle *handle, + struct iovec *iov, unsigned long iovlen, + uint32_t flags) + { +@@ -255,7 +255,7 @@ inline int32_t _kcapi_common_vmsplice_iov(struct kcapi_handle *handle, + int32_t _kcapi_common_send_data_fd(struct kcapi_handle *handle, int *fdprt, + struct iovec *iov, uint32_t iovlen, + uint32_t flags); +-inline int32_t _kcapi_common_send_data(struct kcapi_handle *handle, ++static inline int32_t _kcapi_common_send_data(struct kcapi_handle *handle, + struct iovec *iov, uint32_t iovlen, + uint32_t flags) + { +@@ -265,7 +265,7 @@ inline int32_t _kcapi_common_send_data(struct kcapi_handle *handle, + + int32_t _kcapi_common_recv_data_fd(struct kcapi_handle *handle, int *fdptr, + struct iovec *iov, uint32_t iovlen); +-inline int32_t _kcapi_common_recv_data(struct kcapi_handle *handle, ++static inline int32_t _kcapi_common_recv_data(struct kcapi_handle *handle, + struct iovec *iov, uint32_t iovlen) + { + return _kcapi_common_recv_data_fd(handle, &handle->opfd, iov, iovlen); +@@ -273,7 +273,7 @@ inline int32_t _kcapi_common_recv_data(struct kcapi_handle *handle, + + int32_t _kcapi_common_read_data_fd(struct kcapi_handle *handle, int *fdptr, + uint8_t *out, uint32_t outlen); +-inline int32_t _kcapi_common_read_data(struct kcapi_handle *handle, ++static inline int32_t _kcapi_common_read_data(struct kcapi_handle *handle, + uint8_t *out, uint32_t outlen) + { + return _kcapi_common_read_data_fd(handle, &handle->opfd, out, outlen); +@@ -285,7 +285,7 @@ int _kcapi_common_close(struct kcapi_handle *handle, int fdptr); + int32_t _kcapi_common_vmsplice_chunk_fd(struct kcapi_handle *handle, int *fdptr, + const uint8_t *in, uint32_t inlen, + uint32_t flags); +-inline int32_t _kcapi_common_vmsplice_chunk(struct kcapi_handle *handle, ++static inline int32_t _kcapi_common_vmsplice_chunk(struct kcapi_handle *handle, + const uint8_t *in, uint32_t inlen, + uint32_t flags) + { +@@ -315,7 +315,7 @@ int _kcapi_aio_send_iov(struct kcapi_handle *handle, struct iovec *iov, + + int32_t _kcapi_aio_read_iov_fd(struct kcapi_handle *handle, int *fdptr, + struct iovec *iov, uint32_t iovlen); +-inline int32_t _kcapi_aio_read_iov(struct kcapi_handle *handle, ++static inline int32_t _kcapi_aio_read_iov(struct kcapi_handle *handle, + struct iovec *iov, uint32_t iovlen) + { + return _kcapi_aio_read_iov_fd(handle, &handle->opfd, iov, iovlen); diff --git a/package/libkcapi/Config.in b/package/libkcapi/Config.in new file mode 100644 index 0000000000..2b981777e6 --- /dev/null +++ b/package/libkcapi/Config.in @@ -0,0 +1,17 @@ +config BR2_PACKAGE_LIBKCAPI + bool "libkcapi" + help + Linux Kernel Crypto API userspace interface library + + http://www.chronox.de/libkcapi.html + +if BR2_PACKAGE_LIBKCAPI + +config BR2_PACKAGE_LIBKCAPI_APPS + bool "build test applications" + depends on BR2_USE_MMU # fork() + help + Build additional test applications that can provide + performance or algorithm tests. + +endif diff --git a/package/libkcapi/libkcapi.hash b/package/libkcapi/libkcapi.hash new file mode 100644 index 0000000000..9873e6623e --- /dev/null +++ b/package/libkcapi/libkcapi.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 411fc32b3e36ac0268837a8d4538eb8aef487b3a3e9b21a2b88b8ed2f926edf3 libkcapi-0.14.0.tar.xz diff --git a/package/libkcapi/libkcapi.mk b/package/libkcapi/libkcapi.mk new file mode 100644 index 0000000000..d21c81b168 --- /dev/null +++ b/package/libkcapi/libkcapi.mk @@ -0,0 +1,29 @@ +################################################################################ +# +# libkcapi +# +################################################################################ + +LIBKCAPI_VERSION = 0.14.0 +LIBKCAPI_SOURCE = libkcapi-$(LIBKCAPI_VERSION).tar.xz +LIBKCAPI_SITE = http://www.chronox.de/libkcapi +LIBKCAPI_AUTORECONF = YES +LIBKCAPI_INSTALL_STAGING = YES +LIBKCAPI_LICENSE = BSD-3-Clause (library), BSD-3-Clause or GPL-2.0 (programs) +LIBKCAPI_LICENSE_FILES = COPYING COPYING.gplv2 COPYING.bsd + +ifeq ($(BR2_PACKAGE_LIBKCAPI_APPS),y) +LIBKCAPI_CONF_OPTS += \ + --enable-kcapi-speed \ + --enable-kcapi-test \ + --enable-kcapi-hasher \ + --enable-kcapi-rngapp +else +LIBKCAPI_CONF_OPTS += \ + --disable-kcapi-speed \ + --disable-kcapi-test \ + --disable-kcapi-hasher \ + --disable-kcapi-rngapp +endif + +$(eval $(autotools-package)) diff --git a/package/libksba/libksba.mk b/package/libksba/libksba.mk index e29b6ae1dd..25b17a47da 100644 --- a/package/libksba/libksba.mk +++ b/package/libksba/libksba.mk @@ -7,7 +7,7 @@ LIBKSBA_VERSION = 1.3.5 LIBKSBA_SOURCE = libksba-$(LIBKSBA_VERSION).tar.bz2 LIBKSBA_SITE = ftp://ftp.gnupg.org/gcrypt/libksba -LIBKSBA_LICENSE = LGPLv3+ or GPLv2+ (library, headers), GPLv3+ (manual, tests, build system) +LIBKSBA_LICENSE = LGPL-3.0+ or GPL-2.0+ (library, headers), GPL-3.0+ (manual, tests, build system) LIBKSBA_LICENSE_FILES = AUTHORS COPYING COPYING.GPLv2 COPYING.GPLv3 COPYING.LGPLv3 LIBKSBA_INSTALL_STAGING = YES LIBKSBA_DEPENDENCIES = libgpg-error diff --git a/package/libldns/0001-bugfix-548-Double-free-for-answers-4096.patch b/package/libldns/0001-bugfix-548-Double-free-for-answers-4096.patch deleted file mode 100644 index 4097cfedd9..0000000000 --- a/package/libldns/0001-bugfix-548-Double-free-for-answers-4096.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 128aeb54593d4dd8ff2403eb2dd7d6cd596717d2 Mon Sep 17 00:00:00 2001 -From: Willem Toorop -Date: Tue, 28 Jan 2014 11:06:38 +0100 -Subject: [PATCH] bugfix #548: Double free for answers > 4096 - -in ldns_resolver_send_pkt. Thank you sunthought@gmail.com - -[Backport from upstream commit 2853eb352b4461e98f2926ace4ea3810cedf4167] -Signed-off-by: Bernd Kuhls ---- - resolver.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/resolver.c b/resolver.c -index 16efc90..1474dc8 100644 ---- a/resolver.c -+++ b/resolver.c -@@ -1117,6 +1117,7 @@ ldns_resolver_send_pkt(ldns_pkt **answer, ldns_resolver *r, - ldns_pkt_set_edns_udp_size(query_pkt - , 4096); - ldns_pkt_free(answer_pkt); -+ answer_pkt = NULL; - /* Nameservers should not become - * unreachable because fragments are - * dropped (network error). We might --- -2.6.4 - diff --git a/package/libldns/0002-whitespace-bug-in-ldns-read-zone.patch b/package/libldns/0002-whitespace-bug-in-ldns-read-zone.patch deleted file mode 100644 index ec87b18e09..0000000000 --- a/package/libldns/0002-whitespace-bug-in-ldns-read-zone.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 055ea6aef77058f651b5571d98d2d9458821a977 Mon Sep 17 00:00:00 2001 -From: Matthijs Mekking -Date: Wed, 18 Jun 2014 09:55:17 +0200 -Subject: [PATCH] whitespace bug in ldns-read-zone - -[Backport from upstream commit d6037a22fbedb8ef3a22de4107e4eaa36840865b] -Signed-off-by: Bernd Kuhls ---- - rr.c | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -diff --git a/rr.c b/rr.c -index cfee170..e530702 100644 ---- a/rr.c -+++ b/rr.c -@@ -670,6 +670,18 @@ ldns_rr_new_question_frm_str(ldns_rr **newrr, const char *str, - true); - } - -+static int -+ldns_rr_is_whitespace_line(char* line, int line_len) -+{ -+ int i; -+ for (i = 0; i < line_len; i++) { -+ if (!isspace((int)line[i])) { -+ return 0; -+ } -+ } -+ return 1; -+} -+ - ldns_status - ldns_rr_new_frm_fp(ldns_rr **newrr, FILE *fp, uint32_t *ttl, ldns_rdf **origin, ldns_rdf **prev) - { -@@ -745,6 +757,9 @@ ldns_rr_new_frm_fp_l(ldns_rr **newrr, FILE *fp, uint32_t *default_ttl, ldns_rdf - s = LDNS_STATUS_SYNTAX_TTL; - } else if (strncmp(line, "$INCLUDE", 8) == 0) { - s = LDNS_STATUS_SYNTAX_INCLUDE; -+ } else if (ldns_rr_is_whitespace_line(line, size)) { -+ LDNS_FREE(line); -+ return LDNS_STATUS_SYNTAX_EMPTY; - } else { - if (origin && *origin) { - s = ldns_rr_new_frm_str(&rr, (const char*) line, ttl, *origin, prev); --- -2.6.4 - diff --git a/package/libldns/0003-let-doxyparse-output-manpage-generation-issues.patch b/package/libldns/0003-let-doxyparse-output-manpage-generation-issues.patch deleted file mode 100644 index 223ebe98b3..0000000000 --- a/package/libldns/0003-let-doxyparse-output-manpage-generation-issues.patch +++ /dev/null @@ -1,116 +0,0 @@ -From d8a3da12be085fbc92e3d4d4d084c328fc37485a Mon Sep 17 00:00:00 2001 -From: Willem Toorop -Date: Thu, 27 Nov 2014 16:21:54 +0100 -Subject: [PATCH] let doxyparse output manpage generation issues - -[Backport from upstream commit -168ee09a4bf184947798c3ee3ac99b6651470d64, fixes the build with Perl -5.22.] -Signed-off-by: Bernd Kuhls ---- - doc/doxyparse.pl | 45 ++++++++++++++++++++++++++++++++++++++------- - 1 file changed, 38 insertions(+), 7 deletions(-) - -diff --git a/doc/doxyparse.pl b/doc/doxyparse.pl -index 96a1732..a09b2e8 100755 ---- a/doc/doxyparse.pl -+++ b/doc/doxyparse.pl -@@ -57,10 +57,15 @@ This manpage was automaticly generated from the ldns source code by - use of Doxygen and some perl. - "; - --getopts("m:",\%options); -+getopts("em:",\%options); - # if -m manpage file is given process that file - # parse the file which tells us what manpages go together - my $functions, $see_also; -+my $i = -1; -+my $report_errors = defined $options{'e'}; -+my $errors = 0; -+my %unique; -+ - if (defined $options{'m'}) { - # process - open(MAN, "<$options{'m'}") or die "Cannot open $options{'m'}"; -@@ -68,18 +73,35 @@ if (defined $options{'m'}) { - # func1, func2, .. | see_also1, see_also2, ... - while() { - chomp; -+ $i += 1; - if (/^#/) { next; } - if (/^$/) { next; } -- ($functions, $see_also) = split /[\t ]*\|[\t ]*/, $_; -- #print "{$functions}\n"; -- #print "{$see_also}\n"; -+ my @parts = split /[\t ]*\|[\t ]*/, $_; -+ $functions = shift @parts; -+ $see_also = join ', ', @parts; -+ print "{$functions}\n"; -+ print "{$see_also}\n"; - my @funcs = split /[\t ]*,[\t ]*/, $functions; - my @also = split /[\t ]*,[\t ]*/, $see_also; - $manpages{$funcs[0]} = \@funcs; - $see_also{$funcs[0]} = \@also; -+ foreach (@funcs) { -+ if ($unique{$_}) { -+ push $unique{$_}, ($i,); -+ } else { -+ $unique{$_} = [$i]; -+ } -+ } - #print "[", $funcs[0], "]\n"; - } - close(MAN); -+ while (($func, $lines) = each %unique ) { -+ if (scalar @$lines > 1) { -+ print STDERR "$func in function_manpages on lines: " -+ . join(", ",@$lines) . "\n" if $report_errors; -+ $errors += 1; -+ } -+ } - } else { - print "Need -m file to process the .h files\n"; - exit 1; -@@ -95,7 +117,7 @@ mkdir "doc/man"; - mkdir "doc/man/man$MAN_SECTION"; - - $state = 0; --my $i; -+$i = 0; - my @lines = ; - my $max = @lines; - -@@ -273,7 +295,7 @@ foreach (keys %manpages) { - - print MAN $MAN_MIDDLE; - -- if (defined(@$also)) { -+ if (@$also) { - print MAN "\n.SH SEE ALSO\n\\fI"; - print MAN join "\\fR, \\fI", @$also; - print MAN "\\fR.\nAnd "; -@@ -290,7 +312,7 @@ foreach (keys %manpages) { - # create symlinks - chdir("$BASE/man$MAN_SECTION"); - foreach (@$name) { -- print STDERR $_,"\n"; -+ print STDOUT $_,"\n"; - my $new_file = $_ . "." . $MAN_SECTION; - if ($new_file eq $symlink_file) { - next; -@@ -301,3 +323,12 @@ foreach (keys %manpages) { - chdir("../../.."); # and back, tricky and fragile... - close(MAN); - } -+foreach (keys %api) { -+ next if (/ / || /^$/); -+ if (not $unique{$_}) { -+ print STDERR "no man page for $_\n" if $report_errors; -+ $errors += 1; -+ } -+} -+ -+exit ($report_errors and $errors != 0); --- -2.6.4 - diff --git a/package/libldns/0004-Comment-out-debugging-remnants.patch b/package/libldns/0004-Comment-out-debugging-remnants.patch deleted file mode 100644 index 659253876b..0000000000 --- a/package/libldns/0004-Comment-out-debugging-remnants.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 9720f6f7fdae210aa6d87d97324abd32e103dd16 Mon Sep 17 00:00:00 2001 -From: Willem Toorop -Date: Thu, 27 Nov 2014 16:50:33 +0100 -Subject: [PATCH] Comment out debugging remnants - -[Backport from upstream commit -a0a943d504debb05ce4d62ea81c2d218a6cc8727, needed for a following patch -fixing the build with Perl 5.10.] -Signed-off-by: Bernd Kuhls ---- - doc/doxyparse.pl | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/doc/doxyparse.pl b/doc/doxyparse.pl -index a09b2e8..3f7897f 100755 ---- a/doc/doxyparse.pl -+++ b/doc/doxyparse.pl -@@ -79,8 +79,8 @@ if (defined $options{'m'}) { - my @parts = split /[\t ]*\|[\t ]*/, $_; - $functions = shift @parts; - $see_also = join ', ', @parts; -- print "{$functions}\n"; -- print "{$see_also}\n"; -+ #print "{$functions}\n"; -+ #print "{$see_also}\n"; - my @funcs = split /[\t ]*,[\t ]*/, $functions; - my @also = split /[\t ]*,[\t ]*/, $see_also; - $manpages{$funcs[0]} = \@funcs; --- -2.6.4 - diff --git a/package/libldns/0005-Remove-manpage-content-nondeterminicity-warnings.patch b/package/libldns/0005-Remove-manpage-content-nondeterminicity-warnings.patch deleted file mode 100644 index c282634082..0000000000 --- a/package/libldns/0005-Remove-manpage-content-nondeterminicity-warnings.patch +++ /dev/null @@ -1,429 +0,0 @@ -From adcef14bb9257ab38238eacabaa48cb7e8ef471f Mon Sep 17 00:00:00 2001 -From: Willem Toorop -Date: Wed, 14 Jan 2015 10:14:32 +0100 -Subject: [PATCH] Remove manpage content nondeterminicity & warnings - -TODO: Missing manpages - -[Backport upstream commit a56e48856d519d12f1ef600848f335615467f147, -which fixes the build with Perl 5.10.] -Signed-off-by: Bernd Kuhls ---- - doc/doxyparse.pl | 20 +++-- - doc/function_manpages | 244 ++++++++++++++++++++++++-------------------------- - 2 files changed, 133 insertions(+), 131 deletions(-) - -diff --git a/doc/doxyparse.pl b/doc/doxyparse.pl -index 3f7897f..b9f015d 100755 ---- a/doc/doxyparse.pl -+++ b/doc/doxyparse.pl -@@ -35,7 +35,7 @@ my %see_also; - - my $BASE="doc/man"; - my $MAN_SECTION = "3"; --my $MAN_HEADER = ".TH ldns $MAN_SECTION \"30 May 2006\"\n"; -+my $MAN_HEADER = ".ad l\n.TH ldns $MAN_SECTION \"30 May 2006\"\n"; - my $MAN_MIDDLE = ".SH AUTHOR - The ldns team at NLnet Labs. Which consists out of - Jelte Jansen and Miek Gieben. -@@ -60,8 +60,8 @@ use of Doxygen and some perl. - getopts("em:",\%options); - # if -m manpage file is given process that file - # parse the file which tells us what manpages go together --my $functions, $see_also; --my $i = -1; -+my $functions, $see_also, $shorts; -+my $i = 0; - my $report_errors = defined $options{'e'}; - my $errors = 0; - my %unique; -@@ -78,16 +78,22 @@ if (defined $options{'m'}) { - if (/^$/) { next; } - my @parts = split /[\t ]*\|[\t ]*/, $_; - $functions = shift @parts; -- $see_also = join ', ', @parts; -+ @parts = split /[\t ]*-[\t ]*/, join ', ', @parts; -+ $see_also = shift @parts; -+ if (! $see_also) { -+ @parts = split /[\t ]*-[\t ]*/, $_; -+ $functions = shift @parts; -+ } - #print "{$functions}\n"; - #print "{$see_also}\n"; - my @funcs = split /[\t ]*,[\t ]*/, $functions; - my @also = split /[\t ]*,[\t ]*/, $see_also; - $manpages{$funcs[0]} = \@funcs; - $see_also{$funcs[0]} = \@also; -+ $shorts{$funcs[0]} = join '', @parts; - foreach (@funcs) { - if ($unique{$_}) { -- push $unique{$_}, ($i,); -+ push @{$unique{$_}}, ($i,); - } else { - $unique{$_} = [$i]; - } -@@ -249,6 +255,7 @@ while($i < $max) { - foreach (keys %manpages) { - $name = $manpages{$_}; - $also = $see_also{$_}; -+ my $shrt = $shorts{$_}; - - $filename = @$name[0]; - $filename = "$BASE/man$MAN_SECTION/$filename.$MAN_SECTION"; -@@ -261,6 +268,9 @@ foreach (keys %manpages) { - print MAN $MAN_HEADER; - print MAN ".SH NAME\n"; - print MAN join ", ", @$name; -+ if ($shrt) { -+ print MAN " \\- $shrt"; -+ } - print MAN "\n\n"; - print MAN ".SH SYNOPSIS\n"; - -diff --git a/doc/function_manpages b/doc/function_manpages -index ce05899..db53ee5 100644 ---- a/doc/function_manpages -+++ b/doc/function_manpages -@@ -8,221 +8,213 @@ - - ### host2wire.h - # conversion functions --ldns_rr2wire, ldns_pkt2wire, ldns_rdf2wire | ldns_wire2rr, ldns_wire2pkt, ldns_wire2rdf -+ldns_rr2wire, ldns_pkt2wire, ldns_rdf2wire | ldns_wire2rr, ldns_wire2pkt, ldns_wire2rdf - conversion functions - # lower level conversions, some are from host2str.h --ldns_pkt2buffer_str, ldns_pktheader2buffer_str, ldns_rr2buffer_str, ldns_rr_list2buffer_str, ldns_rdf2buffer_str, ldns_key2buffer_str, ldns_pkt2buffer_wire, ldns_rr2buffer_wire, ldns_rdf2buffer_wire, ldns_rrsig2buffer_wire, ldns_rr_rdata2buffer_wire | ldns_pkt2str, ldns_rr2str, ldns_rdf2str, ldns_rr_list2str, ldns_key2str -+ldns_pkt2buffer_str, ldns_pktheader2buffer_str, ldns_rr2buffer_str, ldns_rr_list2buffer_str, ldns_rdf2buffer_str, ldns_key2buffer_str, ldns_pkt2buffer_wire, ldns_rr2buffer_wire, ldns_rdf2buffer_wire, ldns_rrsig2buffer_wire, ldns_rr_rdata2buffer_wire | ldns_pkt2str, ldns_rr2str, ldns_rdf2str, ldns_rr_list2str, ldns_key2str - lower level conversions - ### /host2wire.h - - ### host2str.h --ldns_rr2str, ldns_pkt2str, ldns_rdf2str, ldns_rr_list2str, ldns_key2str | ldns_rr_print, ldns_rdf_print, ldns_pkt_print, ldns_rr_list_print, ldns_resolver_print, ldns_zone_print --ldns_rr_print, ldns_rdf_print, ldns_pkt_print, ldns_rr_list_print, ldns_resolver_print, ldns_zone_print | ldns_rr2str, ldns_rdf2str, ldns_pkt2str, ldns_rr_list2str, ldns_key2str -+ldns_rr2str, ldns_pkt2str, ldns_rdf2str, ldns_rr_list2str, ldns_key2str | ldns_rr_print, ldns_rdf_print, ldns_pkt_print, ldns_rr_list_print, ldns_resolver_print, ldns_zone_print - functions for conversions to string - ### /host2str.h - - ### host2str.h - # and even lower --ldns_rdf2buffer_str_a, ldns_rdf2buffer_str_aaaa, ldns_rdf2buffer_str_str, ldns_rdf2buffer_str_b64, ldns_rdf2buffer_str_hex, ldns_rdf2buffer_str_type, ldns_rdf2buffer_str_class, ldns_rdf2buffer_str_alg, ldns_rdf2buffer_str_loc, ldns_rdf2buffer_str_unknown, ldns_rdf2buffer_str_nsap, ldns_rdf2buffer_str_wks, ldns_rdf2buffer_str_nsec, ldns_rdf2buffer_str_period, ldns_rdf2buffer_str_tsigtime, ldns_rdf2buffer_str_apl, ldns_rdf2buffer_str_int16_data, ldns_rdf2buffer_str_int16, ldns_rdf2buffer_str_ipseckey -+ldns_rdf2buffer_str_a, ldns_rdf2buffer_str_aaaa, ldns_rdf2buffer_str_str, ldns_rdf2buffer_str_b64, ldns_rdf2buffer_str_hex, ldns_rdf2buffer_str_type, ldns_rdf2buffer_str_class, ldns_rdf2buffer_str_alg, ldns_rdf2buffer_str_loc, ldns_rdf2buffer_str_unknown, ldns_rdf2buffer_str_nsap, ldns_rdf2buffer_str_wks, ldns_rdf2buffer_str_nsec, ldns_rdf2buffer_str_period, ldns_rdf2buffer_str_tsigtime, ldns_rdf2buffer_str_apl, ldns_rdf2buffer_str_int16_data, ldns_rdf2buffer_str_int16, ldns_rdf2buffer_str_ipseckey - lower level to string conversion functions - ### /host2str.h - - ### wire2host.h - # wirefunctions --ldns_wire2rr, ldns_wire2pkt, ldns_wire2rdf, ldns_wire2dname | ldns_rr2wire, ldns_pkt2wire, ldns_rdf2wire, ldns_dname2wire --ldns_buffer2pkt_wire -+ldns_wire2rr, ldns_wire2pkt, ldns_wire2rdf, ldns_wire2dname | ldns_rr2wire, ldns_pkt2wire, ldns_rdf2wire, ldns_dname2wire - convert from wire format to host type -+ldns_buffer2pkt_wire - convert buffer/wire format to ldns_pkt - ### /wire2host.h - - ### dname.h --ldns_dname_left_chop, ldns_dname_label_count | ldns_dname --ldns_dname2canonical | ldns_dname --ldns_dname_cat_clone, ldns_dname_cat | ldns_dname --ldns_dname_new, ldns_dname_new_frm_str, ldns_dname_new_frm_data | ldns_dname, ldns_pkt_query_new_frm_str, ldns_rdf_new_frm_str, ldns_rr_new_frm_str --ldns_dname_is_subdomain, ldns_dname_str_absolute, ldns_dname_label | ldns_dname --ldns_dname_compare, ldns_dname_interval | ldns_dname_is_subdomain | ldns_dname --ldns_dname | ldns_dname_left_chop, ldns_dname_label_count, ldns_dname2canonical, ldns_dname_cat, ldns_dname_cat_clone, ldns_dname_new, ldns_dname_new_frm_str, ldns_dname_new_frm_data, ldns_dname_is_subdomain, ldns_dname_str_absolute, ldns_dname_label, ldns_dname_compare, ldns_dname_interval -+ldns_dname_left_chop, ldns_dname_label_count - dname label functions -+ldns_dname2canonical - canonicalize dname -+ldns_dname_cat_clone, ldns_dname_cat - concatenate two dnames -+ldns_dname_new, ldns_dname_new_frm_str, ldns_dname_new_frm_data | ldns_pkt_query_new_frm_str, ldns_rdf_new_frm_str, ldns_rr_new_frm_str - create a dname -+ldns_dname_is_subdomain, ldns_dname_str_absolute, ldns_dname_label - check properties of dnames -+ldns_dname_compare, ldns_dname_interval | ldns_dname_is_subdomain - compare two dnames - ### /dname.h - - ### dane.h --ldns_dane_create_tlsa_owner, ldns_dane_cert2rdf, ldns_dane_select_certificate, ldns_dane_create_tlsa_rr | ldns_dane_verify, ldns_dane_verify_rr --ldns_dane_verify, ldns_dane_verify_rr | ldns_dane_create_tlsa_owner, ldns_dane_cert2rdf, ldns_dane_select_certificate, ldns_dane_create_tlsa_rr -+ldns_dane_create_tlsa_rr, ldns_dane_create_tlsa_owner, ldns_dane_cert2rdf, ldns_dane_select_certificate | ldns_dane_verify, ldns_dane_verify_rr - TLSA RR creation functions -+ldns_dane_verify, ldns_dane_verify_rr | ldns_dane_create_tlsa_owner, ldns_dane_cert2rdf, ldns_dane_select_certificate, ldns_dane_create_tlsa_rr - TLSA RR verification functions - ### /dane.h - - ### rdata.h --ldns_rdf, ldns_rdf_type | ldns_rdf_set_size, ldns_rdf_set_type, ldns_rdf_set_data, ldns_rdf_size, ldns_rdf_get_type, ldns_rdf_data, ldns_rdf_compare, ldns_rdf_new, ldns_rdf_clone, ldns_rdf_new_frm_data, ldns_rdf_new_frm_str, ldns_rdf_new_frm_fp, ldns_rdf_free, ldns_rdf_deep_free, ldns_rdf_print, ldns_native2rdf_int8, ldns_native2rdf_int16, ldns_native2rdf_int32, ldns_native2rdf_int16_data, ldns_rdf2native_int8, ldns_rdf2native_int16, ldns_rdf2native_int32, ldns_rdf2native_sockaddr_storage, ldns_rdf2native_time_t, ldns_native2rdf_int8, ldns_native2rdf_int16, ldns_native2rdf_int32, ldns_native2rdf_int16_data, ldns_rdf2native_int8, ldns_rdf2native_int16, ldns_rdf2native_int32, ldns_rdf2native_sockaddr_storage, ldns_rdf2native_time_t, ldns_native2rdf_int8, ldns_native2rdf_int16, ldns_native2rdf_int32, ldns_native2rdf_int16_data, ldns_rdf2native_int8, ldns_rdf2native_int16, ldns_rdf2native_int32, ldns_rdf2native_sockaddr_storage, ldns_rdf2native_time_t --ldns_rdf_set_size, ldns_rdf_set_type, ldns_rdf_set_data | ldns_rdf --ldns_rdf_size, ldns_rdf_get_type, ldns_rdf_data, ldns_rdf_compare | ldns_rdf --ldns_rdf_new, ldns_rdf_clone, ldns_rdf_new_frm_data, ldns_rdf_new_frm_str, ldns_rdf_new_frm_fp, ldns_rdf_free, ldns_rdf_deep_free, ldns_rdf_print | ldns_rdf --ldns_native2rdf_int8, ldns_native2rdf_int16, ldns_native2rdf_int32, ldns_native2rdf_int16_data, ldns_rdf2native_int8, ldns_rdf2native_int16, ldns_rdf2native_int32, ldns_rdf2native_sockaddr_storage, ldns_rdf2native_time_t | ldns_rdf --ldns_rdf_address_reverse | ldns_rdf --ldns_octet | ldns_rdf -+ldns_rdf, ldns_rdf_type | ldns_rdf_set_size, ldns_rdf_set_type, ldns_rdf_set_data, ldns_rdf_size, ldns_rdf_get_type, ldns_rdf_data, ldns_rdf_compare, ldns_rdf_new, ldns_rdf_clone, ldns_rdf_new_frm_data, ldns_rdf_new_frm_str, ldns_rdf_new_frm_fp, ldns_rdf_free, ldns_rdf_deep_free, ldns_rdf_print, ldns_native2rdf_int8, ldns_native2rdf_int16, ldns_native2rdf_int32, ldns_native2rdf_int16_data, ldns_rdf2native_int8, ldns_rdf2native_int16, ldns_rdf2native_int32, ldns_rdf2native_sockaddr_storage, ldns_rdf2native_time_t, ldns_native2rdf_int8, ldns_native2rdf_int16, ldns_native2rdf_int32, ldns_native2rdf_int16_data, ldns_rdf2native_int8, ldns_rdf2native_int16, ldns_rdf2native_int32, ldns_rdf2native_sockaddr_storage, ldns_rdf2native_time_t, ldns_native2rdf_int8, ldns_native2rdf_int16, ldns_native2rdf_int32, ldns_native2rdf_int16_data, ldns_rdf2native_int8, ldns_rdf2native_int16, ldns_rdf2native_int32, ldns_rdf2native_sockaddr_storage, ldns_rdf2native_time_t - rdata field type -+ldns_rdf_set_size, ldns_rdf_set_type, ldns_rdf_set_data | ldns_rdf - set rdf attributes -+ldns_rdf_size, ldns_rdf_get_type, ldns_rdf_data, ldns_rdf_compare | ldns_rdf - get rdf attributes -+ldns_rdf_new, ldns_rdf_clone, ldns_rdf_new_frm_data, ldns_rdf_new_frm_str, ldns_rdf_new_frm_fp, ldns_rdf_free, ldns_rdf_deep_free, ldns_rdf_print | ldns_rdf - ldns_rdf creation, destruction and printing -+ldns_native2rdf_int8, ldns_native2rdf_int16, ldns_native2rdf_int32, ldns_native2rdf_int16_data, ldns_rdf2native_int8, ldns_rdf2native_int16, ldns_rdf2native_int32, ldns_rdf2native_sockaddr_storage, ldns_rdf2native_time_t | ldns_rdf - rdf numeric converion functions -+ldns_rdf_address_reverse | ldns_rdf - reverse an address rdf -+ldns_octet | ldns_rdf - removes escaped from the input - # why is this in rdata.h? --ldns_str2period -+ldns_str2period - converts a ttl value (like 5d2h) to a long - ### /rdata.h - - ### higher.h --ldns_get_rr_list_addr_by_name, ldns_get_rr_list_name_by_addr | ldns_rr_list, ldns_rr --ldns_get_rr_list_hosts_frm_fp, ldns_get_rr_list_hosts_frm_file | ldns_rr_list, ldns_rr, ldns_get_rr_list_hosts_frm_fp_l --ldns_get_rr_list_hosts_frm_fp_l | ldns_rr_list --ldns_getaddrinfo -+ldns_get_rr_list_addr_by_name, ldns_get_rr_list_name_by_addr | ldns_rr_list, ldns_rr - get addresses by name or names by address -+ldns_get_rr_list_hosts_frm_file, ldns_get_rr_list_hosts_frm_fp, ldns_get_rr_list_hosts_frm_fp_l | ldns_rr_list, ldns_rr - parse /etc/hosts file -+ldns_getaddrinfo - mimic libc getaddrinfo - ### /higher.h - - # - ### dnssec.h - # --ldns_calc_keytag, ldns_verify, ldns_verify_rrsig, ldns_verify_rrsig_dsa, ldns_verify_rrsig_rsasha1, ldns_verify_rrsig_rsamd5, ldns_key_rr2ds, ldns_key_buf2dsa, ldns_key_buf2rsa | ldns_key, ldns_sign_public, ldns_zone_sign, ldns_verify, ldns_verify_rrsig -- - # algs --ldns_verify_rrsig_dsa, ldns_verify_rrsig_rsasha1, ldns_verify_rrsig_rsamd5 | ldns_key, ldns_sign_public, ldns_zone_sign, ldns_verify, ldns_verify_rrsig -+ldns_verify_rrsig_dsa, ldns_verify_rrsig_rsasha1, ldns_verify_rrsig_rsamd5 | ldns_key, ldns_sign_public, ldns_zone_sign, ldns_verify, ldns_verify_rrsig - verify signature data buffers - - # tsig --ldns_pkt_tsig_verify, ldns_pkt_tsig_sign | ldns_key -+ldns_pkt_tsig_verify, ldns_pkt_tsig_sign | ldns_key - tsig signing and verification - - # verify --ldns_verify, ldns_verify_rrsig, ldns_verify_rrsig_keylist, ldns_verify_rrsig_keylist_notime, ldns_verify_notime | ldns_verify_rrsig_evp | ldns_verify_rrsig_dsa, ldns_verify_rrsig_rsasha1, ldns_verify_rrsig_rsamd5, ldns_sign_public, ldns_zone_sign, ldns_key -+ldns_verify, ldns_verify_rrsig, ldns_verify_rrsig_keylist, ldns_verify_rrsig_keylist_notime, ldns_verify_notime | ldns_verify_rrsig_evp | ldns_verify_rrsig_dsa, ldns_verify_rrsig_rsasha1, ldns_verify_rrsig_rsamd5, ldns_sign_public, ldns_zone_sign, ldns_key - verify rrsigs - - # convert --ldns_key_buf2dsa, ldns_key_buf2rsa | ldns_key_rr2ds --ldns_key_rr2ds | ldns_key --ldns_create_nsec | ldns_sign_public -+ldns_key_buf2dsa, ldns_key_buf2rsa | ldns_key_rr2ds - convert buffer to openssl key -+ldns_key_rr2ds | ldns_key - create DS rr from DNSKEY rr -+ldns_create_nsec | ldns_sign_public - Create a NSEC record - - # signing --ldns_sign_public | ldns_sign_public_dsa, ldns_sign_public_rsamd5, ldns_sign_public_rsasha1, ldns_verify, ldns_verify_rrsig, ldns_key --ldns_sign_public_dsa, ldns_sign_public_rsamd5, ldns_sign_public_rsasha1 | ldns_sign_public --ldns_dnssec_zone_sign, ldns_dnssec_zone_sign_nsec3 | ldns_zone_sign, ldns_zone_sign_nsec3 | ldns_sign_public, ldns_key, ldns_init_random --ldns_init_random | ldns_sign_public, ldns_key --ldns_pkt_verify | ldns_verify, ldns_sign_public, ldns_zone_sign -+ldns_sign_public | ldns_sign_public_dsa, ldns_sign_public_rsamd5, ldns_sign_public_rsasha1, ldns_verify, ldns_verify_rrsig, ldns_key - sign an rrset -+ldns_sign_public_dsa, ldns_sign_public_rsamd5, ldns_sign_public_rsasha1 | ldns_sign_public - sign buffer -+ldns_init_random | ldns_sign_public, ldns_key - seed the random function -+ldns_pkt_verify | ldns_verify, ldns_sign_public, ldns_zone_sign - verify a packet -+ldns_zone_sign, ldns_zone_sign_nsec3 - dnssec sign a zone - - # new family of dnssec functions --ldns_dnssec_zone, ldns_dnssec_name, ldns_dnssec_rrs, ldns_dnssec_rrsets | ldns_dnssec_zone_new, ldns_dnssec_name_new, ldns_dnssec_rrs_new, ldns_dnssec_rrsets_new --ldns_dnssec_zone_find_rrset, ldns_dnssec_zone_new, ldns_dnssec_zone_free, ldns_dnssec_zone_add_rr, ldns_dnssec_zone_names_print, ldns_dnssec_zone_print, ldns_dnssec_zone_add_empty_nonterminals | ldns_dnssec_zone --ldns_dnssec_name_new, ldns_dnssec_name_new_frm_rr, ldns_dnssec_name_free, ldns_dnssec_name_name, ldns_dnssec_name_set_name, ldns_dnssec_name_set_nsec, ldns_dnssec_name_cmp, ldns_dnssec_name_add_rr, ldns_dnssec_name_find_rrset, ldns_dnssec_name_print | ldns_dnssec_zone --ldns_dnssec_rrsets_new, ldns_dnssec_rrsets_free, ldns_dnssec_rrsets_type, ldns_dnssec_rrsets_set_type, ldns_dnssec_rrsets_add_rr, ldns_dnssec_rrsets_print | ldns_dnssec_zone --ldns_dnssec_rrs_new, ldns_dnssec_rrs_free, ldns_dnssec_rrs_add_rr, ldns_dnssec_rrs_print | ldns_dnssec_zone -+ldns_dnssec_zone, ldns_dnssec_name, ldns_dnssec_rrs, ldns_dnssec_rrsets | ldns_dnssec_zone_new, ldns_dnssec_name_new, ldns_dnssec_rrs_new, ldns_dnssec_rrsets_new - data structures -+ldns_dnssec_zone_find_rrset, ldns_dnssec_zone_new, ldns_dnssec_zone_free, ldns_dnssec_zone_add_rr, ldns_dnssec_zone_names_print, ldns_dnssec_zone_print, ldns_dnssec_zone_add_empty_nonterminals | ldns_dnssec_zone - functions for ldns_dnssec_zone -+ldns_dnssec_name_new, ldns_dnssec_name_new_frm_rr, ldns_dnssec_name_free, ldns_dnssec_name_name, ldns_dnssec_name_set_name, ldns_dnssec_name_set_nsec, ldns_dnssec_name_cmp, ldns_dnssec_name_add_rr, ldns_dnssec_name_find_rrset, ldns_dnssec_name_print | ldns_dnssec_zone - functions for ldns_dnssec_name -+ldns_dnssec_rrsets_new, ldns_dnssec_rrsets_free, ldns_dnssec_rrsets_type, ldns_dnssec_rrsets_set_type, ldns_dnssec_rrsets_add_rr, ldns_dnssec_rrsets_print | ldns_dnssec_zone - functions for ldns_dnssec_rrsets -+ldns_dnssec_rrs_new, ldns_dnssec_rrs_free, ldns_dnssec_rrs_add_rr, ldns_dnssec_rrs_print | ldns_dnssec_zone - functions for ldns_dnssec-rrs - - # verification --ldns_dnssec_data_chain, ldns_dnssec_data_chain_struct, ldns_dnssec_trust_tree | ldns_dnssec_data_chain_new, ldns_dnssec_trust_tree_new, ldns_dnssec_verify_denial --ldns_dnssec_data_chain_new, ldns_dnssec_data_chain_free, ldns_dnssec_data_chain_deep_free, ldns_dnssec_build_data_chain, ldns_dnssec_data_chain_print | ldns_dnssec_data_chain --ldns_dnssec_trust_tree_new, ldns_dnssec_trust_tree_free, ldns_dnssec_trust_tree_depth, ldns_dnssec_derive_trust_tree, ldns_dnssec_trust_tree_contains_keys, ldns_dnssec_trust_tree_print, ldns_dnssec_trust_tree_print_sm, ldns_dnssec_trust_tree_add_parent, ldns_dnssec_derive_trust_tree_normal_rrset, ldns_dnssec_derive_trust_tree_dnskey_rrset, ldns_dnssec_derive_trust_tree_ds_rrset, ldns_dnssec_derive_trust_tree_no_sig | ldns_dnssec_data_chain, ldns_dnssec_trust_tree --ldns_dnssec_verify_denial, ldns_dnssec_verify_denial_nsec3 | ldns_dnssec_trust_tree, ldns_dnssec_data_chain -+ldns_dnssec_data_chain, ldns_dnssec_data_chain_struct, ldns_dnssec_trust_tree | ldns_dnssec_data_chain_new, ldns_dnssec_trust_tree_new, ldns_dnssec_verify_denial - data structures for validation chains -+ldns_dnssec_data_chain_new, ldns_dnssec_data_chain_free, ldns_dnssec_data_chain_deep_free, ldns_dnssec_build_data_chain, ldns_dnssec_data_chain_print | ldns_dnssec_data_chain - ldns_chain creation, destruction and printing -+ldns_dnssec_trust_tree_new, ldns_dnssec_trust_tree_free, ldns_dnssec_trust_tree_depth, ldns_dnssec_derive_trust_tree, ldns_dnssec_trust_tree_contains_keys, ldns_dnssec_trust_tree_print, ldns_dnssec_trust_tree_print_sm, ldns_dnssec_trust_tree_add_parent, ldns_dnssec_derive_trust_tree_normal_rrset, ldns_dnssec_derive_trust_tree_dnskey_rrset, ldns_dnssec_derive_trust_tree_ds_rrset, ldns_dnssec_derive_trust_tree_no_sig | ldns_dnssec_data_chain, ldns_dnssec_trust_tree - functions for ldns_dnssec_trust_tree -+ldns_dnssec_verify_denial, ldns_dnssec_verify_denial_nsec3 | ldns_dnssec_trust_tree, ldns_dnssec_data_chain - verify denial of existence - - # new signing functions --ldns_dnssec_zone_sign, ldns_dnssec_zone_sign_nsec3, ldns_dnssec_zone_mark_glue, ldns_dnssec_name_node_next_nonglue, ldns_dnssec_zone_create_nsecs, ldns_dnssec_remove_signatures, ldns_dnssec_zone_create_rrsigs | ldns_dnssec_zone -+ldns_dnssec_zone_sign, ldns_dnssec_zone_sign_nsec3, ldns_dnssec_zone_mark_glue, ldns_dnssec_name_node_next_nonglue, ldns_dnssec_zone_create_nsecs, ldns_dnssec_remove_signatures, ldns_dnssec_zone_create_rrsigs | ldns_dnssec_zone - sign ldns_dnssec_zone - - ### /dnssec.h - - ### dnskey.h --ldns_key_new | ldns_key, ldns_key_list_new --ldns_key_new_frm_algorithm, ldns_key_new_frm_fp, ldns_key_new_frm_fp_l | ldns_key --ldns_key_new_frm_fp_rsa, ldns_key_new_frm_fp_rsa_l | ldns_key_new_frm_fp, ldns_key --ldns_key_new_frm_fp_dsa, ldns_key_new_frm_fp_dsa_l | ldns_key_new_frm_fp, ldns_key --ldns_key_list_new | ldns_key_new, ldns_key -+ldns_key_new, ldns_key_new_frm_algorithm, ldns_key_new_frm_fp, ldns_key_new_frm_fp_l, ldns_key_new_frm_fp_rsa, ldns_key_new_frm_fp_rsa_l, ldns_key_new_frm_fp_dsa, ldns_key_new_frm_fp_dsa_l | ldns_key - create a ldns_key -+ldns_key_list_new - create a ldns_key_list - # access, write --ldns_key_set_algorithm, ldns_key_set_rsa_key, ldns_key_set_dsa_key, ldns_key_set_hmac_key, ldns_key_set_origttl, ldns_key_set_inception, ldns_key_set_expiration, ldns_key_set_pubkey_owner, ldns_key_set_keytag, ldns_key_set_flags, ldns_key_list_set_key_count, ldns_key_algo_supported | ldns_key_push_key, ldns_key --ldns_key_list_push_key | ldns_key_list_pop_key, ldns_key --ldns_key_list_pop_key | ldns_key_list_push_key, ldns_key -+ldns_key_set_algorithm, ldns_key_set_rsa_key, ldns_key_set_dsa_key, ldns_key_set_hmac_key, ldns_key_set_origttl, ldns_key_set_inception, ldns_key_set_expiration, ldns_key_set_pubkey_owner, ldns_key_set_keytag, ldns_key_set_flags, ldns_key_list_set_key_count, ldns_key_algo_supported | ldns_key_push_key, ldns_key - set ldns_key attributes -+ldns_key_list_push_key, ldns_key_list_pop_key | ldns_key - manipulate ldns_key_list - # access, read --ldns_key_list_key_count, ldns_key_list_key, ldns_key_rsa_key, ldns_key_dsa_key, ldns_key_algorithm, ldns_key_hmac_key, ldns_key_origttl, ldns_key_inception, ldns_key_expiration, ldns_key_keytag, ldns_key_pubkey_owner, ldns_key_flags | ldns_key -+ldns_key_list_key_count, ldns_key_list_key, ldns_key_rsa_key, ldns_key_dsa_key, ldns_key_algorithm, ldns_key_hmac_key, ldns_key_origttl, ldns_key_inception, ldns_key_expiration, ldns_key_keytag, ldns_key_pubkey_owner, ldns_key_flags | ldns_key - read ldns_keys - # convert --ldns_key2rr | ldns_key --ldns_key_free, ldns_key_deep_free, ldns_key_list_free | ldns_key -+ldns_key2rr | ldns_key - convert ldns_key to rr -+ldns_key_free, ldns_key_deep_free, ldns_key_list_free | ldns_key - free a ldns_key - # --ldns_key_print | ldns_key_new, ldns_key --ldns_key | ldns_key_new, ldns_key_new_frm_algorithm,ldns_key_new_frm_fp,ldns_key_new_frm_fp_l, ldns_key_new_frm_fp_rsa, ldns_key_new_frm_fp_rsa_l, ldns_key_new_frm_fp_dsa, ldns_key_new_frm_fp_dsa_l, ldns_key_list_new, ldns_key_set_algorithm, ldns_key_set_rsa_key, ldns_key_set_dsa_key, ldns_key_set_hmac_key, ldns_key_set_origttl, ldns_key_set_inception, ldns_key_set_expiration, ldns_key_set_pubkey_owner, ldns_key_set_keytag, ldns_key_set_flags, ldns_key_list_set_key_count, ldns_key_list_push_key, ldns_key_list_pop_key, ldns_key_list_key_count, ldns_key_list_key, ldns_key_rsa_key, ldns_key_dsa_key, ldns_key_algorithm, ldns_key_hmac_key, ldns_key_origttl, ldns_key_inception, ldns_key_expiration, ldns_key_keytag, ldns_key_pubkey_owner, ldns_key_flags, ldns_key2rr, ldns_key_free, ldns_key_deep_free, ldns_key_list_free, ldns_key_print -+ldns_key_print | ldns_key_new, ldns_key - print a ldns_key -+ldns_calc_keytag, ldns_calc_keytag_raw | ldns_key - calculate ldns keytag -+ldns_key | ldns_key_new, ldns_key_new_frm_algorithm,ldns_key_new_frm_fp,ldns_key_new_frm_fp_l, ldns_key_new_frm_fp_rsa, ldns_key_new_frm_fp_rsa_l, ldns_key_new_frm_fp_dsa, ldns_key_new_frm_fp_dsa_l, ldns_key_list_new, ldns_key_set_algorithm, ldns_key_set_rsa_key, ldns_key_set_dsa_key, ldns_key_set_hmac_key, ldns_key_set_origttl, ldns_key_set_inception, ldns_key_set_expiration, ldns_key_set_pubkey_owner, ldns_key_set_keytag, ldns_key_set_flags, ldns_key_list_set_key_count, ldns_key_list_push_key, ldns_key_list_pop_key, ldns_key_list_key_count, ldns_key_list_key, ldns_key_rsa_key, ldns_key_dsa_key, ldns_key_algorithm, ldns_key_hmac_key, ldns_key_origttl, ldns_key_inception, ldns_key_expiration, ldns_key_keytag, ldns_key_pubkey_owner, ldns_key_flags, ldns_key2rr, ldns_key_free, ldns_key_deep_free, ldns_key_list_free, ldns_key_print - ldns_key data structure - ### /dnskey.h - - ### MIEK TOT HIER TOT HIER - --# lists --ldns_key_list_new, ldns_key_list_push_key, ldns_key_list_pop_key, ldns_key_list_key_count, ldns_key_list_key | ldns_key_list, ldns_key --ldns_key_rsa_key, ldns_key_dsa_key, ldns_key_algorithm, ldns_key_hmac_key | ldns_key_list, ldns_key -- --# gets/sets --ldns_key_origttl, ldns_key_inception, ldns_key_expiration, ldns_key_keytag, ldns_key_pubkey_owner, ldns_key_flags | ldns_key --ldns_key_set_algorithm, ldns_key_set_rsa_key, ldns_key_set_dsa_key, ldns_key_set_hmac_key, ldns_key_set_origttl, ldns_key_set_inception, ldns_key_set_expiration, ldns_key_set_pubkey_owner, ldns_key_set_keytag, ldns_key_set_flags, ldns_key_list_set_key_count | ldns_key -- - # errr.h --ldns_get_errorstr_by_id | ldns_status --ldns_status | ldns_get_errorstr_by_id -+ldns_get_errorstr_by_id, ldns_status - errors - - ### net.h --ldns_send | ldns_pkt, ldns_resolver --ldns_tcp_send_query, ldns_tcp_read_wire, ldns_tcp_connect | ldns_send, ldns_pkt, ldns_resolver -+ldns_send | ldns_pkt, ldns_resolver - send a packet -+ldns_tcp_send_query, ldns_tcp_read_wire, ldns_tcp_connect | ldns_send, ldns_pkt, ldns_resolver - tcp queries - ### /net.h - - ### buffer.h - # general --ldns_buffer | ldns_buffer_new, ldns_buffer_new_frm_data, ldns_buffer_clear, ldns_buffer_printf, ldns_buffer_free, ldns_buffer_export, ldns_buffer_flip, ldns_buffer_rewind, ldns_buffer_position, ldns_buffer_set_position, ldns_buffer_skip, ldns_buffer_limit, ldns_buffer_set_limit, ldns_buffer_capacity, ldns_buffer_set_capacity, ldns_buffer_reserve, ldns_buffer_at, ldns_buffer_begin, ldns_buffer_end, ldns_buffer_current, ldns_buffer_remaining_at, ldns_buffer_remaining, ldns_buffer_available_at, ldns_buffer_available, ldns_buffer_status, ldns_buffer_status_ok, ldns_buffer_write_at, ldns_buffer_write_at, ldns_buffer_write, ldns_buffer_write_string_at, ldns_buffer_write_string, ldns_buffer_write_u8_at, ldns_buffer_write_u8, ldns_buffer_write_u16_at, ldns_buffer_write_u16, ldns_buffer_read_at, ldns_buffer_read, ldns_buffer_read_u8_at, ldns_buffer_read_u8, ldns_buffer_read_u16_at, ldns_buffer_read_u16, ldns_buffer_read_u32_at, ldns_buffer_read_u32 --ldns_buffer_new, ldns_buffer_new_frm_data, ldns_buffer_clear, ldns_buffer_printf, ldns_buffer_free, ldns_buffer_export | ldns_buffer -+ldns_buffer, ldns_buffer_new, ldns_buffer_new_frm_data, ldns_buffer_clear, ldns_buffer_printf, ldns_buffer_free, ldns_buffer_copy, ldns_buffer_export, ldns_buffer_export2str, ldns_buffer2str | ldns_buffer_flip, ldns_buffer_rewind, ldns_buffer_position, ldns_buffer_set_position, ldns_buffer_skip, ldns_buffer_limit, ldns_buffer_set_limit, ldns_buffer_capacity, ldns_buffer_set_capacity, ldns_buffer_reserve, ldns_buffer_at, ldns_buffer_begin, ldns_buffer_end, ldns_buffer_current, ldns_buffer_remaining_at, ldns_buffer_remaining, ldns_buffer_available_at, ldns_buffer_available, ldns_buffer_status, ldns_buffer_status_ok, ldns_buffer_write_at, ldns_buffer_write, ldns_buffer_write_string_at, ldns_buffer_write_string, ldns_buffer_write_u8_at, ldns_buffer_write_u8, ldns_buffer_write_u16_at, ldns_buffer_write_u16, ldns_buffer_read_at, ldns_buffer_read, ldns_buffer_read_u8_at, ldns_buffer_read_u8, ldns_buffer_read_u16_at, ldns_buffer_read_u16, ldns_buffer_read_u32_at, ldns_buffer_read_u32, ldns_buffer_write_u32, ldns_buffer_write_u32_at - buffers - # position --ldns_buffer_flip, ldns_buffer_rewind, ldns_buffer_position, ldns_buffer_set_position, ldns_buffer_skip | ldns_buffer -+ldns_buffer_flip, ldns_buffer_rewind, ldns_buffer_position, ldns_buffer_set_position, ldns_buffer_skip | ldns_buffer - buffer positioning - # values and pointers --ldns_buffer_limit, ldns_buffer_set_limit, ldns_buffer_capacity, ldns_buffer_set_capacity, ldns_buffer_reserve, ldns_buffer_at, ldns_buffer_begin, ldns_buffer_end, ldns_buffer_current | ldns_buffer -+ldns_buffer_limit, ldns_buffer_set_limit, ldns_buffer_capacity, ldns_buffer_set_capacity, ldns_buffer_reserve, ldns_buffer_at, ldns_buffer_begin, ldns_buffer_end, ldns_buffer_current | ldns_buffer - buffer limits and pointers - # info --ldns_buffer_remaining_at, ldns_buffer_remaining, ldns_buffer_available_at, ldns_buffer_available, ldns_buffer_status, ldns_buffer_status_ok | ldns_buffer -+ldns_buffer_remaining_at, ldns_buffer_remaining, ldns_buffer_available_at, ldns_buffer_available, ldns_buffer_status, ldns_buffer_status_ok | ldns_buffer - check buffer status - # read and write --ldns_buffer_write_at, ldns_buffer_write_at, ldns_buffer_write, ldns_buffer_write_string_at, ldns_buffer_write_string, ldns_buffer_write_u8_at, ldns_buffer_write_u8, ldns_buffer_write_u16_at, ldns_buffer_write_u16, ldns_buffer_read_at, ldns_buffer_read, ldns_buffer_read_u8_at, ldns_buffer_read_u8, ldns_buffer_read_u16_at, ldns_buffer_read_u16, ldns_buffer_read_u32_at, ldns_buffer_read_u32 | ldns_buffer -+ldns_buffer_write_at, ldns_buffer_write, ldns_buffer_write_string_at, ldns_buffer_write_string, ldns_buffer_write_u8_at, ldns_buffer_write_u8, ldns_buffer_write_u16_at, ldns_buffer_write_u16, ldns_buffer_read_at, ldns_buffer_read, ldns_buffer_read_u8_at, ldns_buffer_read_u8, ldns_buffer_read_u16_at, ldns_buffer_read_u16, ldns_buffer_read_u32_at, ldns_buffer_read_u32, ldns_buffer_write_u32, ldns_buffer_write_u32_at | ldns_buffer - reading and writing buffers - ### /buffer.h - - # parse.h --ldns_bget_token, ldns_bgetc, ldns_bskipcs | ldns_buffer --ldns_fget_token, ldns_fskipcs | ldns_buffer --ldns_str_remove_comment -- -+ldns_bget_token, ldns_bgetc, ldns_bskipcs | ldns_buffer - get tokens from buffers -+ldns_fget_token, ldns_fskipcs | ldns_buffer - get tokens from files - - # rr.h and other general rr funcs --ldns_rr, ldns_rr_class, ldns_rr_type, ldns_rr_compress, ldns_rr_list | ldns_rr_new, ldns_rr_new_frm_type, ldns_rr_new_frm_str, ldns_rr_new_frm_fp, ldns_rr_free, ldns_rr_print, ldns_rr_set_owner, ldns_rr_set_ttl, ldns_rr_set_type, ldns_rr_set_rd_count, ldns_rr_set_class, ldns_rr_set_rdf, ldns_rr_push_rdf, ldns_rr_pop_rdf, ldns_rr_rdf, ldns_rr_owner, ldns_rr_rd_count, ldns_rr_ttl, ldns_rr_get_class, ldns_rr_list_rr_count, ldns_rr_list_set_rr_count, ldns_rr_list_new, ldns_rr_list_free, ldns_rr_list_cat, ldns_rr_list_push_rr, ldns_rr_list_pop_rr, ldns_is_rrset, ldns_rr_set_push_rr, ldns_rr_set_pop_rr, ldns_get_rr_class_by_name, ldns_get_rr_type_by_name, ldns_rr_list_clone, ldns_rr_list_sort, ldns_rr_compare, ldns_rr_compare_ds, ldns_rr_uncompressed_size, ldns_rr2canonical, ldns_rr_label_count, ldns_is_rrset, ldns_rr_descriptor, ldns_rr_descript --ldns_rr_new, ldns_rr_new_frm_type, ldns_rr_new_frm_str, ldns_rr_new_frm_fp, ldns_rr_free, ldns_rr_print | ldns_rr, ldns_rr_list --ldns_rr_set_owner, ldns_rr_set_ttl, ldns_rr_set_type, ldns_rr_set_rd_count, ldns_rr_set_class, ldns_rr_set_rdf | ldns_rr, ldns_rr_list --ldns_rr_push_rdf, ldns_rr_pop_rdf | ldns_rr, ldns_rr_list --ldns_rr_rdf, ldns_rr_owner, ldns_rr_rd_count, ldns_rr_ttl, ldns_rr_get_class | ldns_rr, ldns_rr_list --ldns_rr_list_rr_count, ldns_rr_list_set_rr_count | ldns_rr, ldns_rr_list --ldns_rr_list_new, ldns_rr_list_free | ldns_rr, ldns_rr_list --ldns_rr_list_cat, ldns_rr_list_push_rr, ldns_rr_list_pop_rr | ldns_rr, ldns_rr_list --ldns_is_rrset | ldns_rr, ldns_rr_list --ldns_rr_set_push_rr, ldns_rr_set_pop_rr | ldns_rr, ldns_rr_list --ldns_get_rr_class_by_name, ldns_get_rr_type_by_name | ldns_rr, ldns_rr_list --ldns_rr_list_clone | ldns_rr, ldns_rr_list --ldns_rr_list_sort | ldns_rr, ldns_rr_list --ldns_rr_compare, ldns_rr_compare_ds | ldns_rr, ldns_rr_list --ldns_rr_uncompressed_size | ldns_rr, ldns_rr_list --ldns_rr2canonical | ldns_rr, ldns_rr_list --ldns_rr_label_count | ldns_rr, ldns_rr_list --ldns_is_rrset | ldns_rr -+ldns_rr, ldns_rr_class, ldns_rr_type, ldns_rr_compress, ldns_rr_list | ldns_rr_new, ldns_rr_new_frm_type, ldns_rr_new_frm_str, ldns_rr_new_frm_fp, ldns_rr_free, ldns_rr_print, ldns_rr_set_owner, ldns_rr_set_ttl, ldns_rr_set_type, ldns_rr_set_rd_count, ldns_rr_set_class, ldns_rr_set_rdf, ldns_rr_push_rdf, ldns_rr_pop_rdf, ldns_rr_rdf, ldns_rr_owner, ldns_rr_rd_count, ldns_rr_ttl, ldns_rr_get_class, ldns_rr_list_rr_count, ldns_rr_list_set_rr_count, ldns_rr_list_new, ldns_rr_list_free, ldns_rr_list_cat, ldns_rr_list_push_rr, ldns_rr_list_pop_rr, ldns_is_rrset, ldns_rr_set_push_rr, ldns_rr_set_pop_rr, ldns_get_rr_class_by_name, ldns_get_rr_type_by_name, ldns_rr_list_clone, ldns_rr_list_sort, ldns_rr_compare, ldns_rr_compare_ds, ldns_rr_uncompressed_size, ldns_rr2canonical, ldns_rr_label_count, ldns_is_rrset, ldns_rr_descriptor, ldns_rr_descript - types representing dns resource records -+ldns_rr_new, ldns_rr_new_frm_type, ldns_rr_new_frm_str, ldns_rr_new_frm_fp, ldns_rr_free, ldns_rr_print | ldns_rr, ldns_rr_list - ldns_rr creation, destruction and printing -+ldns_rr_set_owner, ldns_rr_set_ttl, ldns_rr_set_type, ldns_rr_set_rd_count, ldns_rr_set_class, ldns_rr_set_rdf | ldns_rr, ldns_rr_list - set ldns_rr attributes -+ldns_rr_push_rdf, ldns_rr_pop_rdf | ldns_rr, ldns_rr_list - push and pop rdata fields -+ldns_rr_rdf, ldns_rr_owner, ldns_rr_rd_count, ldns_rr_ttl, ldns_rr_get_class | ldns_rr, ldns_rr_list - access rdata fields on ldns_rr -+ldns_rr_list_rr_count, ldns_rr_list_set_rr_count | ldns_rr, ldns_rr_list - get and set ldns_rr_list length -+ldns_rr_list_new, ldns_rr_list_free | ldns_rr, ldns_rr_list - ldns_rr_list creation and destruction -+ldns_rr_list_cat, ldns_rr_list_push_rr, ldns_rr_list_pop_rr | ldns_rr, ldns_rr_list - ldns_rr_list manipulation -+ldns_is_rrset | ldns_rr, ldns_rr_list - is rr_list a rrset -+ldns_rr_set_push_rr, ldns_rr_set_pop_rr | ldns_rr, ldns_rr_list - push and pop rr on a rrset -+ldns_get_rr_class_by_name, ldns_get_rr_type_by_name | ldns_rr, ldns_rr_list - lookup class or type by name -+ldns_rr_list_clone | ldns_rr, ldns_rr_list - clone a ldns_rr_list -+ldns_rr_list_sort | ldns_rr, ldns_rr_list - sort a ldns_rr_list -+ldns_rr_compare, ldns_rr_compare_ds | ldns_rr, ldns_rr_list - compare a ldns_rr -+ldns_rr_uncompressed_size | ldns_rr, ldns_rr_list - calculates the uncompressed size of an RR -+ldns_rr2canonical | ldns_rr, ldns_rr_list - canonicalize a RR -+ldns_rr_label_count | ldns_rr, ldns_rr_list - return ownername label count - - # rr descriptors --ldns_rr_descriptor, ldns_rr_descript, ldns_rr_descriptor_minimum, ldns_rr_descriptor_maximum, ldns_rr_descriptor_field_type | ldns_rr, ldns_rdf -+ldns_rr_descriptor, ldns_rr_descript, ldns_rr_descriptor_minimum, ldns_rr_descriptor_maximum, ldns_rr_descriptor_field_type | ldns_rr, ldns_rdf - rdata field descriptors - - # packet.h --ldns_pkt, ldns_pkt_section, ldns_pkt_type | ldns_pkt_new, ldns_pkt_free, ldns_pkt_print, ldns_pkt_query_new, ldns_pkt_query_new_frm_str, ldns_pkt_reply_type, ldns_pkt_id, ldns_pkt_qr, ldns_pkt_aa, ldns_pkt_tc, ldns_pkt_rd, ldns_pkt_cd, ldns_pkt_ra, ldns_pkt_ad, ldns_pkt_get_opcode, ldns_pkt_get_rcode, ldns_pkt_qdcount, ldns_pkt_ancount, ldns_pkt_nscount, ldns_pkt_arcount, ldns_pkt_answerfrom, ldns_pkt_querytime, ldns_pkt_size, ldns_pkt_tsig, ldns_pkt_question, ldns_pkt_answer, ldns_pkt_authority, ldns_pkt_additional, ldns_pkt_get_section_clone, ldns_pkt_rr_list_by_name, ldns_pkt_rr_list_by_type, ldns_pkt_rr_list_by_name_and_type, ldns_pkt_set_flags, ldns_pkt_set_id, ldns_pkt_set_qr, ldns_pkt_set_aa, ldns_pkt_set_tc, ldns_pkt_set_rd, ldns_pkt_set_cd, ldns_pkt_set_ra, ldns_pkt_set_ad, ldns_pkt_set_opcode, ldns_pkt_set_rcode, ldns_pkt_set_qdcount, ldns_pkt_set_ancount, ldns_pkt_set_nscount, ldns_pkt_set_arcount, ldns_pkt_set_answerfrom, ldns_pkt_set_querytime, ldns_pkt_set_size, ldns_pkt_set_section_count, ldns_pkt_set_tsig, ldns_pkt_edns, ldns_pkt_edns_udp_size, ldns_pkt_edns_extended_rcode, ldns_pkt_edns_version, ldns_pkt_edns_z, ldns_pkt_edns_data, ldns_pkt_set_edns_udp_size, ldns_pkt_set_edns_extended_rcode, ldns_pkt_set_edns_version, ldns_pkt_set_edns_z, ldns_pkt_set_edns_data -+ldns_pkt, ldns_pkt_section, ldns_pkt_type | ldns_pkt_new, ldns_pkt_free, ldns_pkt_print, ldns_pkt_query_new, ldns_pkt_query_new_frm_str, ldns_pkt_reply_type, ldns_pkt_id, ldns_pkt_qr, ldns_pkt_aa, ldns_pkt_tc, ldns_pkt_rd, ldns_pkt_cd, ldns_pkt_ra, ldns_pkt_ad, ldns_pkt_get_opcode, ldns_pkt_get_rcode, ldns_pkt_qdcount, ldns_pkt_ancount, ldns_pkt_nscount, ldns_pkt_arcount, ldns_pkt_answerfrom, ldns_pkt_querytime, ldns_pkt_size, ldns_pkt_tsig, ldns_pkt_question, ldns_pkt_answer, ldns_pkt_authority, ldns_pkt_additional, ldns_pkt_get_section_clone, ldns_pkt_rr_list_by_name, ldns_pkt_rr_list_by_type, ldns_pkt_rr_list_by_name_and_type, ldns_pkt_set_flags, ldns_pkt_set_id, ldns_pkt_set_qr, ldns_pkt_set_aa, ldns_pkt_set_tc, ldns_pkt_set_rd, ldns_pkt_set_cd, ldns_pkt_set_ra, ldns_pkt_set_ad, ldns_pkt_set_opcode, ldns_pkt_set_rcode, ldns_pkt_set_qdcount, ldns_pkt_set_ancount, ldns_pkt_set_nscount, ldns_pkt_set_arcount, ldns_pkt_set_answerfrom, ldns_pkt_set_querytime, ldns_pkt_set_size, ldns_pkt_set_section_count, ldns_pkt_set_tsig, ldns_pkt_edns, ldns_pkt_edns_udp_size, ldns_pkt_edns_extended_rcode, ldns_pkt_edns_version, ldns_pkt_edns_z, ldns_pkt_edns_data, ldns_pkt_set_edns_udp_size, ldns_pkt_set_edns_extended_rcode, ldns_pkt_set_edns_version, ldns_pkt_set_edns_z, ldns_pkt_set_edns_data - request or anser packets types - --ldns_pkt_new, ldns_pkt_free, ldns_pkt_print, ldns_pkt_query_new, ldns_pkt_query_new_frm_str, ldns_pkt_reply_type | ldns_pkt -+ldns_pkt_new, ldns_pkt_free, ldns_pkt_print, ldns_pkt_query_new, ldns_pkt_query_new_frm_str, ldns_pkt_reply_type | ldns_pkt - ldns_pkt creation, destruction and printing - # gets --ldns_pkt_id, ldns_pkt_qr, ldns_pkt_aa, ldns_pkt_tc, ldns_pkt_rd, ldns_pkt_cd, ldns_pkt_ra, ldns_pkt_ad, ldns_pkt_get_opcode, ldns_pkt_get_rcode, ldns_pkt_qdcount, ldns_pkt_ancount, ldns_pkt_nscount, ldns_pkt_arcount, ldns_pkt_answerfrom, ldns_pkt_querytime, ldns_pkt_size, ldns_pkt_tsig, ldns_pkt_question, ldns_pkt_answer, ldns_pkt_authority, ldns_pkt_additional, ldns_pkt_get_section_clone, ldns_pkt_rr_list_by_name, ldns_pkt_rr_list_by_type, ldns_pkt_rr_list_by_name_and_type | ldns_pkt -+ldns_pkt_id, ldns_pkt_qr, ldns_pkt_aa, ldns_pkt_tc, ldns_pkt_rd, ldns_pkt_cd, ldns_pkt_ra, ldns_pkt_ad, ldns_pkt_get_opcode, ldns_pkt_get_rcode, ldns_pkt_qdcount, ldns_pkt_ancount, ldns_pkt_nscount, ldns_pkt_arcount, ldns_pkt_answerfrom, ldns_pkt_querytime, ldns_pkt_size, ldns_pkt_tsig, ldns_pkt_question, ldns_pkt_answer, ldns_pkt_authority, ldns_pkt_additional, ldns_pkt_get_section_clone, ldns_pkt_rr_list_by_name, ldns_pkt_rr_list_by_type, ldns_pkt_rr_list_by_name_and_type | ldns_pkt - get ldns_pkt attributes - # sets --ldns_pkt_set_flags, ldns_pkt_set_id, ldns_pkt_set_qr, ldns_pkt_set_aa, ldns_pkt_set_tc, ldns_pkt_set_rd, ldns_pkt_set_cd, ldns_pkt_set_ra, ldns_pkt_set_ad, ldns_pkt_set_opcode, ldns_pkt_set_rcode, ldns_pkt_set_qdcount, ldns_pkt_set_ancount, ldns_pkt_set_nscount, ldns_pkt_set_arcount, ldns_pkt_set_answerfrom, ldns_pkt_set_querytime, ldns_pkt_set_size, ldns_pkt_set_section_count, ldns_pkt_set_tsig | ldns_pkt -+ldns_pkt_set_flags, ldns_pkt_set_id, ldns_pkt_set_qr, ldns_pkt_set_aa, ldns_pkt_set_tc, ldns_pkt_set_rd, ldns_pkt_set_cd, ldns_pkt_set_ra, ldns_pkt_set_ad, ldns_pkt_set_opcode, ldns_pkt_set_rcode, ldns_pkt_set_qdcount, ldns_pkt_set_ancount, ldns_pkt_set_nscount, ldns_pkt_set_arcount, ldns_pkt_set_answerfrom, ldns_pkt_set_querytime, ldns_pkt_set_size, ldns_pkt_set_section_count, ldns_pkt_set_tsig | ldns_pkt - set ldns_pkt attributes - # EDNS0 --ldns_pkt_edns, ldns_pkt_edns_udp_size, ldns_pkt_edns_extended_rcode, ldns_pkt_edns_version, ldns_pkt_edns_z, ldns_pkt_edns_data, ldns_pkt_set_edns_udp_size, ldns_pkt_set_edns_extended_rcode, ldns_pkt_set_edns_version, ldns_pkt_set_edns_z, ldns_pkt_set_edns_data | ldns_pkt -+ldns_pkt_edns, ldns_pkt_edns_udp_size, ldns_pkt_edns_extended_rcode, ldns_pkt_edns_version, ldns_pkt_edns_z, ldns_pkt_edns_data, ldns_pkt_set_edns_udp_size, ldns_pkt_set_edns_extended_rcode, ldns_pkt_set_edns_version, ldns_pkt_set_edns_z, ldns_pkt_set_edns_data | ldns_pkt - ldns_pkt ends0 related functions - - # rr_functions.h --ldns_rr_ns_nsdname -+ldns_rr_ns_nsdname - get dname rdata field from NS RR - # --ldns_rr_mx_preference, ldns_rr_mx_exchange -+ldns_rr_mx_preference, ldns_rr_mx_exchange - get MX RR rdata fields - # --ldns_rr_rrsig_typecovered, ldns_rr_rrsig_set_typecovered, ldns_rr_rrsig_algorithm, ldns_rr_rrsig_set_algorithm, ldns_rr_rrsig_labels, ldns_rr_rrsig_set_labels, ldns_rr_rrsig_origttl, ldns_rr_rrsig_set_origttl, ldns_rr_rrsig_expiration, ldns_rr_rrsig_set_expiration, ldns_rr_rrsig_inception, ldns_rr_rrsig_set_inception, ldns_rr_rrsig_keytag, ldns_rr_rrsig_set_keytag, ldns_rr_rrsig_signame, ldns_rr_rrsig_set_signame, ldns_rr_rrsig_sig, ldns_rr_rrsig_set_sig -+ldns_rr_rrsig_typecovered, ldns_rr_rrsig_set_typecovered, ldns_rr_rrsig_algorithm, ldns_rr_rrsig_set_algorithm, ldns_rr_rrsig_labels, ldns_rr_rrsig_set_labels, ldns_rr_rrsig_origttl, ldns_rr_rrsig_set_origttl, ldns_rr_rrsig_expiration, ldns_rr_rrsig_set_expiration, ldns_rr_rrsig_inception, ldns_rr_rrsig_set_inception, ldns_rr_rrsig_keytag, ldns_rr_rrsig_set_keytag, ldns_rr_rrsig_signame, ldns_rr_rrsig_set_signame, ldns_rr_rrsig_sig, ldns_rr_rrsig_set_sig - get and set RRSIG RR rdata fields - # --ldns_rr_dnskey_flags, ldns_rr_dnskey_set_flags, ldns_rr_dnskey_protocol, ldns_rr_dnskey_set_protocol, ldns_rr_dnskey_algorithm, ldns_rr_dnskey_set_algorithm, ldns_rr_dnskey_key, ldns_rr_dnskey_set_key | ldns_rr -+ldns_rr_dnskey_flags, ldns_rr_dnskey_set_flags, ldns_rr_dnskey_protocol, ldns_rr_dnskey_set_protocol, ldns_rr_dnskey_algorithm, ldns_rr_dnskey_set_algorithm, ldns_rr_dnskey_key, ldns_rr_dnskey_set_key | ldns_rr - get and set DNSKEY RR rdata fields - - ### zone.h --ldns_zone | ldns_zone_new, ldns_zone_deep_free, ldns_zone_new_frm_fp, ldns_zone_new_frm_fp_l, ldns_zone_sort, ldns_zone_glue_rr_list, ldns_zone_push_rr, ldns_zone_push_rr_list, ldns_zone_set_rrs, ldns_zone_set_soa, ldns_zone_rrs, ldns_zone_soa, ldns_zone_rr_count, -+ldns_zone, ldns_zone_new, ldns_zone_free, ldns_zone_deep_free, ldns_zone_new_frm_fp, ldns_zone_new_frm_fp_l, ldns_zone_print, ldns_zone_print_fmt - ldns_zone creation, destruction and printing -+ldns_zone_sort, ldns_zone_glue_rr_list | ldns_zone - sort a zone and get the glue records -+ldns_zone_push_rr, ldns_zone_push_rr_list | ldns_zone - add rr's to a ldns_zone -+ldns_zone_set_rrs, ldns_zone_set_soa | ldns_zone, ldns_zone_rrs, ldns_zone_soa - ldns_zone set content -+ldns_zone_rrs, ldns_zone_soa | ldns_zone ldns_zone_set_rrs - ldns_zone get content -+ldns_zone_rr_count | ldns_zone - get ldns_zone size - -+### update.h -+ldns_update_pkt_new | ldns_update_pkt_tsig_add, ldns_update_pkt_tsig_add, ldns_update_zocount, ldns_update_prcount, ldns_update_upcount, ldns_update_adcount, ldns_update_set_zocount, ldns_update_set_prcount, ldns_update_set_upcount, ldns_update_set_adcount - create an update packet - --ldns_zone_new, ldns_zone_deep_free, ldns_zone_new_frm_fp, ldns_zone_new_frm_fp_l | ldns_zone --ldns_zone_sort, ldns_zone_glue_rr_list | ldns_zone --ldns_zone_push_rr, ldns_zone_push_rr_list | ldns_zone --ldns_zone_set_rrs, ldns_zone_set_soa | ldns_zone, ldns_zone_rrs, ldns_zone_soa --ldns_zone_rrs, ldns_zone_soa | ldns_zone ldns_zone_set_rrs --ldns_zone_rr_count | ldns_zone -+ldns_update_pkt_tsig_add | ldns_update_pkt_new - add resolver's tsig credentials to an ldns_pkt -+ldns_update_zocount, ldns_update_prcount, ldns_update_upcount, ldns_update_adcount | ldns_update_pkt_new - return update packet counters -+ldns_update_set_zocount, ldns_update_set_prcount, ldns_update_set_upcount, ldns_update_set_adcount | ldns_update_pkt_new - set the update packet counters -+ -+### keys.h -+ldns_algorithm - numbers assigned to algorithms used in dns -+ -+ -+ldns_axfr_start, ldns_axfr_next, ldns_axfr_abort, ldns_axfr_complete, ldns_axfr_last_pkt - functions for full zone transfer -+ -+ldns_b32_ntop_calculate_size, ldns_b32_pton_calculate_size, ldns_b64_ntop_calculate_size, ldns_b64_pton_calculate_size - return size needed for b32 or b64 encoded or decoded data -+ -+ldns_duration_type, ldns_duration_create, ldns_duration_create_from_string, ldns_duration_cleanup, ldns_duration_compare, ldns_duration2string, ldns_duration2time - duration type and related functions -+ -+ldns_bubblebabble - encode data as BubbleBabble -+ -+ldns_version - return library version - --### update.h --ldns_update_pkt_new | ldns_update_pkt_tsig_add, ldns_update_pkt_tsig_add, ldns_update_zocount, ldns_update_prcount, ldns_update_upcount, ldns_update_adcount, ldns_update_set_zocount, ldns_update_set_prcount, ldns_update_set_upcount, ldns_update_set_adcount, - --ldns_update_pkt_tsig_add | ldns_update_pkt_new --ldns_update_zocount, ldns_update_prcount, ldns_update_upcount, ldns_update_adcount | ldns_update_pkt_new --ldns_update_set_zocount, ldns_update_set_prcount, ldns_update_set_upcount, ldns_update_set_adcount | ldns_update_pkt_new --- -2.6.4 - diff --git a/package/libldns/Config.in b/package/libldns/Config.in index 12065ae2f1..696fec97b5 100644 --- a/package/libldns/Config.in +++ b/package/libldns/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_LIBLDNS bool "libldns" + select BR2_PACKAGE_OPENSSL help The goal of ldns is to simplify DNS programming, it supports recent RFCs like the DNSSEC documents, and allows developers diff --git a/package/libldns/libldns.hash b/package/libldns/libldns.hash index 3565c5830a..dc6b1a341a 100644 --- a/package/libldns/libldns.hash +++ b/package/libldns/libldns.hash @@ -1,4 +1,4 @@ -# From http://www.nlnetlabs.nl/downloads/ldns/ldns-1.6.17.tar.gz.sha1 -sha1 4218897b3c002aadfc7280b3f40cda829e05c9a4 ldns-1.6.17.tar.gz -# Locally calculated -sha256 8b88e059452118e8949a2752a55ce59bc71fa5bc414103e17f5b6b06f9bcc8cd ldns-1.6.17.tar.gz +# From http://www.nlnetlabs.nl/downloads/ldns/ldns-1.7.0.tar.gz.sha1 +sha1 ceeeccf8a27e61a854762737f6ee02f44662c1b8 ldns-1.7.0.tar.gz +# From http://www.nlnetlabs.nl/downloads/ldns/ldns-1.7.0.tar.gz.sha256 +sha256 c19f5b1b4fb374cfe34f4845ea11b1e0551ddc67803bd6ddd5d2a20f0997a6cc ldns-1.7.0.tar.gz diff --git a/package/libldns/libldns.mk b/package/libldns/libldns.mk index 3d4d35688c..d3c89bb6b3 100644 --- a/package/libldns/libldns.mk +++ b/package/libldns/libldns.mk @@ -4,42 +4,32 @@ # ################################################################################ -LIBLDNS_VERSION = 1.6.17 +LIBLDNS_VERSION = 1.7.0 LIBLDNS_SOURCE = ldns-$(LIBLDNS_VERSION).tar.gz LIBLDNS_SITE = http://www.nlnetlabs.nl/downloads/ldns -LIBLDNS_LICENSE = BSD-3c +LIBLDNS_LICENSE = BSD-3-Clause LIBLDNS_LICENSE_FILES = LICENSE LIBLDNS_INSTALL_STAGING = YES +LIBLDNS_DEPENDENCIES = openssl +# --disable-dane-verify can be removed after openssl bump to 1.1.x LIBLDNS_CONF_OPTS = \ + --with-ssl=$(STAGING_DIR)/usr \ + --enable-dane \ + --disable-dane-verify \ + --enable-ecdsa \ + --enable-gost \ + --enable-sha2 \ --without-examples \ --without-p5-dns-ldns \ --without-pyldns \ --without-pyldnsx -ifeq ($(BR2_PACKAGE_OPENSSL),y) -LIBLDNS_DEPENDENCIES += openssl -LIBLDNS_CONF_OPTS += \ - --with-ssl=$(STAGING_DIR)/usr \ - --enable-dane \ - --enable-ecdsa \ - --enable-gost \ - --enable-sha2 - ifeq ($(BR2_STATIC_LIBS),y) LIBLDNS_DEPENDENCIES += host-pkgconf # missing -lz breaks configure, add it using pkgconf LIBLDNS_CONF_ENV += LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs openssl`" endif -else -LIBLDNS_CONF_OPTS += \ - --without-ssl \ - --disable-dane \ - --disable-ecdsa \ - --disable-gost \ - --disable-sha2 -endif - # the linktest make target fails with static linking, and we are only # interested in the lib target anyway LIBLDNS_MAKE_OPTS = lib diff --git a/package/liblinear/Config.in b/package/liblinear/Config.in index f25c1196fc..cabcba05ad 100644 --- a/package/liblinear/Config.in +++ b/package/liblinear/Config.in @@ -2,8 +2,8 @@ config BR2_PACKAGE_LIBLINEAR bool "liblinear" depends on BR2_INSTALL_LIBSTDCPP help - liblinear is a linear classifier for data with millions of instances - and features. + liblinear is a linear classifier for data with millions of + instances and features. http://www.csie.ntu.edu.tw/~cjlin/liblinear/ diff --git a/package/liblinear/liblinear.mk b/package/liblinear/liblinear.mk index a9524e35df..84527ab8f5 100644 --- a/package/liblinear/liblinear.mk +++ b/package/liblinear/liblinear.mk @@ -6,7 +6,7 @@ LIBLINEAR_VERSION = 2.1 LIBLINEAR_SITE = http://www.csie.ntu.edu.tw/~cjlin/liblinear -LIBLINEAR_LICENSE = BSD-3c +LIBLINEAR_LICENSE = BSD-3-Clause LIBLINEAR_LICENSE_FILES = COPYRIGHT LIBLINEAR_INSTALL_STAGING = YES LIBLINEAR_CFLAGS = $(TARGET_CFLAGS) diff --git a/package/libllcp/Config.in b/package/libllcp/Config.in index e5b21082e5..1660e92a87 100644 --- a/package/libllcp/Config.in +++ b/package/libllcp/Config.in @@ -6,4 +6,4 @@ config BR2_PACKAGE_LIBLLCP Library extending libnfc with support for Logical Link Control Protocol. - https://code.google.com/p/libllcp/ + https://github.com/nfc-tools/libllcp diff --git a/package/libllcp/libllcp.mk b/package/libllcp/libllcp.mk index 2c2014a168..ad4fca6b5e 100644 --- a/package/libllcp/libllcp.mk +++ b/package/libllcp/libllcp.mk @@ -10,7 +10,7 @@ LIBLLCP_DEPENDENCIES = host-pkgconf libnfc # There's no ./configure in the repository, so we need to autoreconf LIBLLCP_AUTORECONF = YES LIBLLCP_INSTALL_STAGING = YES -LIBLLCP_LICENSE = GPLv3+ +LIBLLCP_LICENSE = GPL-3.0+ LIBLLCP_LICENSE_FILES = COPYING # ensure graphviz isn't used LIBLLCP_CONF_ENV = ac_cv_path_DOT= diff --git a/package/liblo/liblo.mk b/package/liblo/liblo.mk index a6b907509c..3c852be7e3 100644 --- a/package/liblo/liblo.mk +++ b/package/liblo/liblo.mk @@ -7,7 +7,7 @@ LIBLO_VERSION = 0.26 LIBLO_SITE = http://downloads.sourceforge.net/project/liblo/liblo/$(LIBLO_VERSION) -LIBLO_LICENSE = LGPLv2.1+ +LIBLO_LICENSE = LGPL-2.1+ LIBLO_LICENSE_FILES = COPYING LIBLO_INSTALL_STAGING = YES diff --git a/package/liblockfile/liblockfile.mk b/package/liblockfile/liblockfile.mk index 59fced6851..0710868232 100644 --- a/package/liblockfile/liblockfile.mk +++ b/package/liblockfile/liblockfile.mk @@ -9,7 +9,7 @@ LIBLOCKFILE_SOURCE = liblockfile_$(LIBLOCKFILE_VERSION).orig.tar.gz LIBLOCKFILE_SITE = http://snapshot.debian.org/archive/debian/20151026T153523Z/pool/main/libl/liblockfile LIBLOCKFILE_PATCH = liblockfile_$(LIBLOCKFILE_VERSION)-6.debian.tar.bz2 -LIBLOCKFILE_LICENSE = LGPLv2+, GPLv2+ (dotlockfile) +LIBLOCKFILE_LICENSE = LGPL-2.0+, GPL-2.0+ (dotlockfile) LIBLOCKFILE_LICENSE_FILES = COPYRIGHT LIBLOCKFILE_INSTALL_STAGING = YES diff --git a/package/liblog4c-localtime/Config.in b/package/liblog4c-localtime/Config.in index a2b7a843f1..fd6cab8309 100644 --- a/package/liblog4c-localtime/Config.in +++ b/package/liblog4c-localtime/Config.in @@ -4,8 +4,8 @@ config BR2_PACKAGE_LIBLOG4C_LOCALTIME help Log4c is a library of C for flexible logging to files, syslog and other destinations. - This version is with localtime patch, to make lib show times in - local timezone. + This version is with localtime patch, to make lib show times + in local timezone. https://github.com/rcmadruga/log4c-localtime http://log4c.sourceforge.net/ diff --git a/package/liblog4c-localtime/liblog4c-localtime.mk b/package/liblog4c-localtime/liblog4c-localtime.mk index bc6d1ab506..fba0d4faae 100644 --- a/package/liblog4c-localtime/liblog4c-localtime.mk +++ b/package/liblog4c-localtime/liblog4c-localtime.mk @@ -10,7 +10,7 @@ LIBLOG4C_LOCALTIME_INSTALL_STAGING = YES LIBLOG4C_LOCALTIME_CONF_OPTS = --disable-expattest LIBLOG4C_LOCALTIME_DEPENDENCIES = expat LIBLOG4C_LOCALTIME_CONFIG_SCRIPTS = log4c-config -LIBLOG4C_LOCALTIME_LICENSE = LGPLv2.1 +LIBLOG4C_LOCALTIME_LICENSE = LGPL-2.1 LIBLOG4C_LOCALTIME_LICENSE_FILES = COPYING LIBLOG4C_LOCALTIME_AUTORECONF = YES diff --git a/package/liblogging/liblogging.mk b/package/liblogging/liblogging.mk index 9ef2e28b7e..ec57a0ac35 100644 --- a/package/liblogging/liblogging.mk +++ b/package/liblogging/liblogging.mk @@ -6,7 +6,7 @@ LIBLOGGING_VERSION = 1.0.5 LIBLOGGING_SITE = http://download.rsyslog.com/liblogging -LIBLOGGING_LICENSE = BSD-2c +LIBLOGGING_LICENSE = BSD-2-Clause LIBLOGGING_LICENSE_FILES = COPYING LIBLOGGING_INSTALL_STAGING = YES LIBLOGGING_CONF_OPTS = --enable-cached-man-pages diff --git a/package/libloki/0001-allow-to-install-to-a-specific-location-using-DESTDI.patch b/package/libloki/0001-allow-to-install-to-a-specific-location-using-DESTDI.patch new file mode 100644 index 0000000000..d19306fd07 --- /dev/null +++ b/package/libloki/0001-allow-to-install-to-a-specific-location-using-DESTDI.patch @@ -0,0 +1,65 @@ +From 0b80e8beff68a0570fdc2d9281992060414475c1 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Sat, 29 Apr 2017 22:13:54 +0200 +Subject: [PATCH] allow to install to a specific location using DESTDIR + +DESTDIR is the autotools standard variable where to copy +headers, libraries and binaries. It's not the same as "prefix". + +So while installing to Buildroot STAGING directory, use prefix=/usr +and DESTOR=$(STAGING_DIR). + +Signed-off-by: Romain Naour +Sigend-off-by: Corentin GUILLEVIC +--- + include/Makefile | 12 ++++++------ + src/Makefile | 10 +++++----- + 2 files changed, 11 insertions(+), 11 deletions(-) + +diff --git a/include/Makefile b/include/Makefile +index 26a8139..a8cf369 100644 +--- a/include/Makefile ++++ b/include/Makefile +@@ -2,10 +2,10 @@ include ../Makefile.common + + .PHONY: install + install: +- mkdir -p $(prefix)/include/loki +- mkdir -p $(prefix)/include/loki/flex +- mkdir -p $(prefix)/include/loki/yasli ++ mkdir -p $(DESTDIR)$(prefix)/include/loki ++ mkdir -p $(DESTDIR)$(prefix)/include/loki/flex ++ mkdir -p $(DESTDIR)$(prefix)/include/loki/yasli + +- install -m 644 loki/*.h $(prefix)/include/loki +- install -m 644 loki/flex/*.h $(prefix)/include/loki/flex +- install -m 644 loki/yasli/*.h $(prefix)/include/loki/yasli ++ install -m 644 loki/*.h $(DESTDIR)$(prefix)/include/loki ++ install -m 644 loki/flex/*.h $(DESTDIR)$(prefix)/include/loki/flex ++ install -m 644 loki/yasli/*.h $(DESTDIR)$(prefix)/include/loki/yasli +diff --git a/src/Makefile b/src/Makefile +index b272929..054285e 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -74,13 +74,13 @@ INSTALL_DATA := $(INSTALL) -m 644 + install: install-static install-shared + + install-static: $(RESULT_DIR)$(STATIC_LIB) +- mkdir -p $(prefix)/lib +- $(INSTALL_DATA) $(RESULT_DIR)$(STATIC_LIB) $(prefix)/lib ++ mkdir -p $(DESTDIR)$(prefix)/lib ++ $(INSTALL_DATA) $(RESULT_DIR)$(STATIC_LIB) $(DESTDIR)$(prefix)/lib + + install-shared: $(RESULT_DIR)$(SHARED_LIB_VERSIONED) +- mkdir -p $(prefix)/lib +- $(INSTALL_DATA) $(RESULT_DIR)$(SHARED_LIB_VERSIONED) $(prefix)/lib +- cd $(prefix)/lib; ln -s $(SHARED_LIB_VERSIONED) $(SHARED_LIB_BASE) ++ mkdir -p $(DESTDIR)$(prefix)/lib ++ $(INSTALL_DATA) $(RESULT_DIR)$(SHARED_LIB_VERSIONED) $(DESTDIR)$(prefix)/lib ++ cd $(DESTDIR)$(prefix)/lib; ln -s $(SHARED_LIB_VERSIONED) $(SHARED_LIB_BASE) + + %.lo : %.cpp + $(CXX) -c $(CXXFLAGS) -fPIC $(CPPFLAGS) -o $@ $< +-- +2.9.3 + diff --git a/package/libloki/0002-use-ln-snf.patch b/package/libloki/0002-use-ln-snf.patch new file mode 100644 index 0000000000..5b73d7f9dd --- /dev/null +++ b/package/libloki/0002-use-ln-snf.patch @@ -0,0 +1,31 @@ +From 7fcaa080ef3fddb3f7dcfaf2984bc397d7c9e96c Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Sat, 29 Apr 2017 22:27:26 +0200 +Subject: [PATCH] use ln -snf + +Otherwise the install step fail due to existing symlink. + +'libloki.so': File exists + +Signed-off-by: Romain Naour +Sigend-off-by: Corentin GUILLEVIC +--- + src/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/Makefile b/src/Makefile +index 054285e..2c169ab 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -80,7 +80,7 @@ install-static: $(RESULT_DIR)$(STATIC_LIB) + install-shared: $(RESULT_DIR)$(SHARED_LIB_VERSIONED) + mkdir -p $(DESTDIR)$(prefix)/lib + $(INSTALL_DATA) $(RESULT_DIR)$(SHARED_LIB_VERSIONED) $(DESTDIR)$(prefix)/lib +- cd $(DESTDIR)$(prefix)/lib; ln -s $(SHARED_LIB_VERSIONED) $(SHARED_LIB_BASE) ++ cd $(DESTDIR)$(prefix)/lib; ln -snf $(SHARED_LIB_VERSIONED) $(SHARED_LIB_BASE) + + %.lo : %.cpp + $(CXX) -c $(CXXFLAGS) -fPIC $(CPPFLAGS) -o $@ $< +-- +2.9.3 + diff --git a/package/libloki/Config.in b/package/libloki/Config.in new file mode 100644 index 0000000000..4ce4429a7d --- /dev/null +++ b/package/libloki/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_LIBLOKI + bool "libloki" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS + help + A C++ library of designs, containing flexible + implementations of common design patterns and idioms. + + http://sourceforge.net/projects/loki-lib + +comment "libloki needs a toolchain w/ C++, threads" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libloki/libloki.hash b/package/libloki/libloki.hash new file mode 100644 index 0000000000..52d67c8801 --- /dev/null +++ b/package/libloki/libloki.hash @@ -0,0 +1,5 @@ +# From https://sourceforge.net/projects/loki-lib/files/Loki/Loki%200.1.7 +md5 33a24bcbb99fa2ec8fcbbab65649f3f6 loki-0.1.7.tar.bz2 +sha1 006c630217b1e1fd33015dc0597d2d743d8ee4e3 loki-0.1.7.tar.bz2 +# locally computed +sha256 07553754f6be2738559947db69b0718512665bf4a34015fa3a875b6eb1111198 loki-0.1.7.tar.bz2 diff --git a/package/libloki/libloki.mk b/package/libloki/libloki.mk new file mode 100644 index 0000000000..7564239f6a --- /dev/null +++ b/package/libloki/libloki.mk @@ -0,0 +1,38 @@ +################################################################################ +# +# libloki +# +################################################################################ + +LIBLOKI_VERSION = 0.1.7 +LIBLOKI_SOURCE = loki-$(LIBLOKI_VERSION).tar.bz2 +LIBLOKI_SITE = https://sourceforge.net/projects/loki-lib/files/Loki/Loki%20$(LIBLOKI_VERSION) +LIBLOKI_LICENSE = MIT +LIBLOKI_INSTALL_STAGING = YES + +ifeq ($(BR2_STATIC_LIBS),y) +LIBLOKI_BUILD_TARGETS += build-static +LIBLOKI_INSTALL_TARGETS += install-static +else ifeq ($(BR2_SHARED_LIBS),y) +LIBLOKI_BUILD_TARGETS += build-shared +LIBLOKI_INSTALL_TARGETS += install-shared +else ifeq ($(BR2_SHARED_STATIC_LIBS),y) +LIBLOKI_BUILD_TARGETS += build-static build-shared +LIBLOKI_INSTALL_TARGETS += install-static install-shared +endif + +define LIBLOKI_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \ + -C $(@D) $(LIBLOKI_BUILD_TARGETS) +endef + +define LIBLOKI_INSTALL_STAGING_CMDS + $(MAKE) -C $(@D)/src DESTDIR=$(STAGING_DIR) $(LIBLOKI_INSTALL_TARGETS) + $(MAKE) -C $(@D)/include DESTDIR=$(STAGING_DIR) install +endef + +define LIBLOKI_INSTALL_TARGET_CMDS + $(MAKE) -C $(@D)/src DESTDIR=$(TARGET_DIR) $(LIBLOKI_INSTALL_TARGETS) +endef + +$(eval $(generic-package)) diff --git a/package/libmad/Config.in b/package/libmad/Config.in index f93f54ab12..1d6bdd86e9 100644 --- a/package/libmad/Config.in +++ b/package/libmad/Config.in @@ -1,9 +1,9 @@ config BR2_PACKAGE_LIBMAD bool "libmad" help - High-quality MPEG audio decoder. All computations are performed - with fixed-point integer arithmetic, making it ideal for systems - without a floating-point unit. + High-quality MPEG audio decoder. All computations are + performed with fixed-point integer arithmetic, making it ideal + for systems without a floating-point unit. http://www.underbit.com/products/mad/ @@ -37,9 +37,9 @@ config BR2_PACKAGE_LIBMAD_SSO config BR2_PACKAGE_LIBMAD_ASO bool "Architecture-specific optimizations" + default y # arm optimization needs classic arm instructions support depends on !(BR2_arm && !BR2_ARM_CPU_HAS_ARM) - default y help Use certain architecture-specific optimizations. diff --git a/package/libmad/libmad.hash b/package/libmad/libmad.hash index 1e555568fe..173399f7ff 100644 --- a/package/libmad/libmad.hash +++ b/package/libmad/libmad.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690 libmad-0.15.1b.tar.gz +sha256 0e21f2c6b19337d0b237dacc04f7b90a56be7f359f4c9a2ee0b202d9af0cfa69 frame_length.diff diff --git a/package/libmad/libmad.mk b/package/libmad/libmad.mk index 9c152f9721..7175eaa30e 100644 --- a/package/libmad/libmad.mk +++ b/package/libmad/libmad.mk @@ -8,8 +8,10 @@ LIBMAD_VERSION = 0.15.1b LIBMAD_SITE = http://downloads.sourceforge.net/project/mad/libmad/$(LIBMAD_VERSION) LIBMAD_INSTALL_STAGING = YES LIBMAD_LIBTOOL_PATCH = NO -LIBMAD_LICENSE = GPLv2+ +LIBMAD_LICENSE = GPL-2.0+ LIBMAD_LICENSE_FILES = COPYING +LIBMAD_PATCH = \ + https://sources.debian.net/data/main/libm/libmad/0.15.1b-8/debian/patches/frame_length.diff define LIBMAD_PREVENT_AUTOMAKE # Prevent automake from running. @@ -21,14 +23,8 @@ define LIBMAD_INSTALL_STAGING_PC $(STAGING_DIR)/usr/lib/pkgconfig/mad.pc endef -define LIBMAD_INSTALL_TARGET_PC - $(INSTALL) -D package/libmad/mad.pc \ - $(TARGET_DIR)/usr/lib/pkgconfig/mad.pc -endef - LIBMAD_POST_PATCH_HOOKS += LIBMAD_PREVENT_AUTOMAKE LIBMAD_POST_INSTALL_STAGING_HOOKS += LIBMAD_INSTALL_STAGING_PC -LIBMAD_POST_INSTALL_TARGET_HOOKS += LIBMAD_INSTALL_TARGET_PC LIBMAD_CONF_OPTS = \ --disable-debugging \ diff --git a/package/libmatroska/Config.in b/package/libmatroska/Config.in index 5815a46c59..ec0e8415d7 100644 --- a/package/libmatroska/Config.in +++ b/package/libmatroska/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_LIBMATROSKA bool "libmatroska" - select BR2_PACKAGE_LIBEBML depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR + select BR2_PACKAGE_LIBEBML help Extensible open standard audio/video container format access library. diff --git a/package/libmatroska/libmatroska.mk b/package/libmatroska/libmatroska.mk index 083cced9ef..18ea505af0 100644 --- a/package/libmatroska/libmatroska.mk +++ b/package/libmatroska/libmatroska.mk @@ -8,7 +8,7 @@ LIBMATROSKA_VERSION = 1.4.4 LIBMATROSKA_SOURCE = libmatroska-$(LIBMATROSKA_VERSION).tar.bz2 LIBMATROSKA_SITE = http://dl.matroska.org/downloads/libmatroska LIBMATROSKA_INSTALL_STAGING = YES -LIBMATROSKA_LICENSE = LGPLv2.1+ +LIBMATROSKA_LICENSE = LGPL-2.1+ LIBMATROSKA_LICENSE_FILES = LICENSE.LGPL LIBMATROSKA_DEPENDENCIES = libebml host-pkgconf diff --git a/package/libmaxminddb/Config.in b/package/libmaxminddb/Config.in new file mode 100644 index 0000000000..1b8061b7b7 --- /dev/null +++ b/package/libmaxminddb/Config.in @@ -0,0 +1,18 @@ +config BR2_PACKAGE_LIBMAXMINDDB + bool "libmaxminddb" + help + C library for the MaxMind DB file format + + The libmaxminddb library provides a C library for reading + MaxMind DB files, including the GeoIP2 databases from + MaxMind. This is a custom binary format designed to + facilitate fast lookups of IP addresses while allowing for + great flexibility in the type of data associated with an + address. + + The MaxMind DB format is an open format. The spec is + available at http://maxmind.github.io/MaxMind-DB/. This spec + is licensed under the Creative Commons + Attribution-ShareAlike 3.0 Unported License. + + http://maxmind.github.io/libmaxminddb diff --git a/package/libmaxminddb/libmaxminddb.hash b/package/libmaxminddb/libmaxminddb.hash new file mode 100644 index 0000000000..952a655d0f --- /dev/null +++ b/package/libmaxminddb/libmaxminddb.hash @@ -0,0 +1,2 @@ +# Locally computed: +sha256 06a0ec3d1496e1a7e30d74ea15373e0010bbe392ea1819c149aaf724dc57dd9a libmaxminddb-1.2.1.tar.gz diff --git a/package/libmaxminddb/libmaxminddb.mk b/package/libmaxminddb/libmaxminddb.mk new file mode 100644 index 0000000000..f0678a05ee --- /dev/null +++ b/package/libmaxminddb/libmaxminddb.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# libmaxminddb +# +################################################################################ + +LIBMAXMINDDB_VERSION = 1.2.1 +LIBMAXMINDDB_SITE = $(call github,maxmind,libmaxminddb,$(LIBMAXMINDDB_VERSION)) +LIBMAXMINDDB_INSTALL_STAGING = YES +LIBMAXMINDDB_LICENSE = Apache-2.0 +LIBMAXMINDDB_LICENSE_FILES = LICENSE +# Fetched from Github, with no configure script +LIBMAXMINDDB_AUTORECONF = YES +LIBMAXMINDDB_CONF_OPTS = --disable-tests + +$(eval $(autotools-package)) diff --git a/package/libmbim/0001-mbim-device-prefer-realpath-to-canonicalize_file_nam.patch b/package/libmbim/0001-mbim-device-prefer-realpath-to-canonicalize_file_nam.patch new file mode 100644 index 0000000000..1a72b618af --- /dev/null +++ b/package/libmbim/0001-mbim-device-prefer-realpath-to-canonicalize_file_nam.patch @@ -0,0 +1,37 @@ +From 6b043b9b676e88a80e3d4013863c5e970fdde1df Mon Sep 17 00:00:00 2001 +From: Aleksander Morgado +Date: Mon, 11 Sep 2017 09:31:03 +0200 +Subject: [PATCH] mbim-device: prefer realpath() to canonicalize_file_name() + +Usually the canonicalize_file_name() GNU extension is preferred to the +POSIX realpath(), as it covers some of the limitations the latter has. +But this extension isn't available in lots of platforms or in other +c library implementations (e.g. musl), so just default to the POSIX +method to improve portability. + +Note that the check for canonicalize_file_name() availability during +configure isn't as trivial as adding a new AC_CHECK_FUNCS(), and +importing a gnulib module seems overkill just for this one liner. + +(cherry picked from commit 417b0b80023dc30d61c111ec0a54da2884d3a541) +Signed-off-by: Aleksander Morgado +--- + src/libmbim-glib/mbim-device.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/libmbim-glib/mbim-device.c b/src/libmbim-glib/mbim-device.c +index e1f32a6..20e64af 100644 +--- a/src/libmbim-glib/mbim-device.c ++++ b/src/libmbim-glib/mbim-device.c +@@ -867,7 +867,7 @@ get_descriptors_filepath (MbimDevice *self) + * /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:2.0 + */ + tmp = g_strdup_printf ("/sys/class/%s/%s/device", subsystems[i], device_basename); +- path = canonicalize_file_name (tmp); ++ path = realpath (tmp, NULL); + g_free (tmp); + + if (g_file_test (path, G_FILE_TEST_EXISTS)) { +-- +2.13.1 + diff --git a/package/libmbim/Config.in b/package/libmbim/Config.in index 0ef28db125..fd7dbb313c 100644 --- a/package/libmbim/Config.in +++ b/package/libmbim/Config.in @@ -2,16 +2,15 @@ config BR2_PACKAGE_LIBMBIM bool "libmbim" depends on BR2_USE_WCHAR # libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 - depends on BR2_PACKAGE_HAS_UDEV - select BR2_PACKAGE_LIBGUDEV + depends on BR2_USE_MMU # libglib2 select BR2_PACKAGE_LIBGLIB2 help libmbim is a glib-based library for talking to WWAN modems and - devices which speak the Mobile Interface Broadband Model (MBIM) - protocol. + devices which speak the Mobile Interface Broadband Model + (MBIM) protocol. http://www.freedesktop.org/wiki/Software/libmbim/ -comment "libmbim needs udev /dev management and a toolchain w/ wchar, threads" - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_PACKAGE_HAS_UDEV +comment "libmbim needs a toolchain w/ wchar, threads" + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libmbim/libmbim.hash b/package/libmbim/libmbim.hash index 21921c9df4..664513e5c0 100644 --- a/package/libmbim/libmbim.hash +++ b/package/libmbim/libmbim.hash @@ -1,2 +1,4 @@ # Locally computed: -sha256 ca8d52a95a18cbabae8f15f83f1572316e888b6504f946e6645d24405127ab5b libmbim-1.14.0.tar.xz +sha256 22cafe6b8432433aa58bedcf7db71111522ce6531bfe24e8e9b6058412cd31cf libmbim-1.14.2.tar.xz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/package/libmbim/libmbim.mk b/package/libmbim/libmbim.mk index 0f757c0284..b67905a7fa 100644 --- a/package/libmbim/libmbim.mk +++ b/package/libmbim/libmbim.mk @@ -4,16 +4,24 @@ # ################################################################################ -LIBMBIM_VERSION = 1.14.0 +LIBMBIM_VERSION = 1.14.2 LIBMBIM_SITE = http://www.freedesktop.org/software/libmbim LIBMBIM_SOURCE = libmbim-$(LIBMBIM_VERSION).tar.xz -LIBMBIM_LICENSE = LGPLv2+ (library), GPLv2+ (programs) -LIBMBIM_LICENSE_FILES = COPYING +LIBMBIM_LICENSE = LGPL-2.0+ (library), GPL-2.0+ (programs) +LIBMBIM_LICENSE_FILES = COPYING COPYING.LIB LIBMBIM_INSTALL_STAGING = YES -LIBMBIM_DEPENDENCIES = libglib2 udev libgudev +LIBMBIM_DEPENDENCIES = libglib2 # we don't want -Werror LIBMBIM_CONF_OPTS = --enable-more-warnings=no +# if libgudev available, request udev support +ifeq ($(BR2_PACKAGE_LIBGUDEV),y) +LIBMBIM_DEPENDENCIES += libgudev +LIBMBIM_CONF_OPTS += --with-udev +else +LIBMBIM_CONF_OPTS += --without-udev +endif + $(eval $(autotools-package)) diff --git a/package/libmbus/Config.in b/package/libmbus/Config.in index 861406901f..ae3e85cd0e 100644 --- a/package/libmbus/Config.in +++ b/package/libmbus/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_LIBMBUS bool "libmbus" help - libmbus is a library for communicating with energy metering devices. - It supports TCP and RS232 M-bus gateways. + libmbus is a library for communicating with energy metering + devices. It supports TCP and RS232 M-bus gateways. (M-bus standard: http://www.m-bus.com/) http://www.rscada.se/libmbus/ diff --git a/package/libmbus/libmbus.mk b/package/libmbus/libmbus.mk index 75aaa8dcfb..61f797b5b9 100644 --- a/package/libmbus/libmbus.mk +++ b/package/libmbus/libmbus.mk @@ -7,7 +7,7 @@ LIBMBUS_VERSION = 0.8.0 LIBMBUS_SITE = http://www.rscada.se/public-dist LIBMBUS_INSTALL_STAGING = YES -LIBMBUS_LICENSE = BSD-3c +LIBMBUS_LICENSE = BSD-3-Clause LIBMBUS_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/libmcrypt/Config.in b/package/libmcrypt/Config.in index e5dc5e23a9..784d2c2af6 100644 --- a/package/libmcrypt/Config.in +++ b/package/libmcrypt/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_LIBMCRYPT bool "libmcrypt" help - libmcrypt is a library that provides uniform interface to access - several encryption algorithms. + libmcrypt is a library that provides uniform interface to + access several encryption algorithms. http://mcrypt.sourceforge.net/ diff --git a/package/libmcrypt/libmcrypt.mk b/package/libmcrypt/libmcrypt.mk index 1a2645bc14..e93f0136b3 100644 --- a/package/libmcrypt/libmcrypt.mk +++ b/package/libmcrypt/libmcrypt.mk @@ -8,7 +8,7 @@ LIBMCRYPT_VERSION = 2.5.8 LIBMCRYPT_SITE = http://downloads.sourceforge.net/project/mcrypt/Libmcrypt/$(LIBMCRYPT_VERSION) LIBMCRYPT_AUTORECONF = YES LIBMCRYPT_INSTALL_STAGING = YES -LIBMCRYPT_LICENSE = LGPLv2.1 +LIBMCRYPT_LICENSE = LGPL-2.1 LIBMCRYPT_LICENSE_FILES = COPYING.LIB LIBMCRYPT_CONFIG_SCRIPTS = libmcrypt-config diff --git a/package/libmediaart/Config.in b/package/libmediaart/Config.in new file mode 100644 index 0000000000..e5e770d4fc --- /dev/null +++ b/package/libmediaart/Config.in @@ -0,0 +1,44 @@ +comment "libmediaart needs a toolchain w/ wchar, threads" + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS + +config BR2_PACKAGE_LIBMEDIAART + bool "libmediaart" + depends on BR2_USE_MMU # glib2 + depends on BR2_USE_WCHAR # glib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 + select BR2_PACKAGE_LIBGLIB2 + help + Library tasked with managing, extracting and handling media + art caches + + https://github.com/GNOME/libmediaart + +if BR2_PACKAGE_LIBMEDIAART + +choice + prompt "media art backend" + default BR2_PACKAGE_LIBMEDIAART_BACKEND_NONE + +config BR2_PACKAGE_MEDIAART_BACKEND_NONE + bool "none" + help + With no backend, libmediaart will not be able to process MP3 + album art. + +config BR2_PACKAGE_MEDIAART_BACKEND_GDK_PIXBUF + bool "gdk-pixbuf" + select BR2_PACKAGE_GDK_PIXBUF + +config BR2_PACKAGE_MEDIAART_BACKEND_QT + bool "Qt" + depends on BR2_PACKAGE_QT || BR2_PACKAGE_QT5 + select BR2_PACKAGE_QT_GUI_MODULE if BR2_PACKAGE_QT + select BR2_PACKAGE_QT5BASE_GUI if BR2_PACKAGE_QT5 + +comment "Qt backend depends on Qt or Qt5" + depends on !BR2_PACKAGE_QT && !BR2_PACKAGE_QT5 + +endchoice + +endif # BR2_PACKAGE_MEDIAART diff --git a/package/libmediaart/libmediaart.hash b/package/libmediaart/libmediaart.hash new file mode 100644 index 0000000000..65cf3cf9a4 --- /dev/null +++ b/package/libmediaart/libmediaart.hash @@ -0,0 +1,2 @@ +# Hash from: http://ftp.gnome.org/pub/gnome/sources/libmediaart/1.9/libmediaart-1.9.4.sha256sum: +sha256 a57be017257e4815389afe4f58fdacb6a50e74fd185452b23a652ee56b04813d libmediaart-1.9.4.tar.xz diff --git a/package/libmediaart/libmediaart.mk b/package/libmediaart/libmediaart.mk new file mode 100644 index 0000000000..db4f1fa2a1 --- /dev/null +++ b/package/libmediaart/libmediaart.mk @@ -0,0 +1,40 @@ +################################################################################ +# +# libmediaart +# +################################################################################ + +LIBMEDIAART_VERSION_MAJOR = 1.9 +LIBMEDIAART_VERSION = $(LIBMEDIAART_VERSION_MAJOR).4 +LIBMEDIAART_SOURCE = libmediaart-$(LIBMEDIAART_VERSION).tar.xz +LIBMEDIAART_SITE = \ + http://ftp.gnome.org/pub/gnome/sources/libmediaart/$(LIBMEDIAART_VERSION_MAJOR) +LIBMEDIAART_LICENSE = LGPL-2.1+ +LIBMEDIAART_LICENSE_FILES = COPYING.LESSER +LIBMEDIAART_INSTALL_STAGING = YES +LIBMEDIAART_DEPENDENCIES = libglib2 +LIBMEDIAART_CONF_OPTS = --disable-unit-tests + +ifeq ($(BR2_PACKAGE_MEDIAART_BACKEND_GDK_PIXBUF),y) +LIBMEDIAART_DEPENDENCIES += gdk-pixbuf +LIBMEDIAART_CONF_OPTS += \ + --enable-gdkpixbuf \ + --disable-qt +else ifeq ($(BR2_PACKAGE_MEDIAART_BACKEND_QT),y) +# qt5 needs c++11 (since qt-5.7) +ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) +LIBMEDIAART_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" +endif +LIBMEDIAART_DEPENDENCIES += \ + $(if $(BR2_PACKAGE_QT),qt) \ + $(if $(BR2_PACKAGE_QT5),qt5base) +LIBMEDIAART_CONF_OPTS += \ + --disable-gdkpixbuf \ + --enable-qt +else ifeq ($(BR2_PACKAGE_MEDIAART_BACKEND_NONE),y) +LIBMEDIAART_CONF_OPTS += \ + --disable-gdkpixbuf \ + --disable-qt +endif + +$(eval $(autotools-package)) diff --git a/package/libmemcached/0005-fix-pointer-comparaison.patch b/package/libmemcached/0005-fix-pointer-comparaison.patch new file mode 100644 index 0000000000..c9f8dd19cf --- /dev/null +++ b/package/libmemcached/0005-fix-pointer-comparaison.patch @@ -0,0 +1,30 @@ +Fix pointer comparaison + +opt_servers is a pointer, not a boolean, so testing against false to +know if the pointer is NULL no longer works with the more strict gcc +7.x checks. + +[Taken from http://pkgs.fedoraproject.org/cgit/rpms/libmemcached.git/plain/libmemcached-build.patch.] +Signed-off-by: Thomas Petazzoni + +diff -up ./clients/memflush.cc.old ./clients/memflush.cc +--- ./clients/memflush.cc.old 2017-02-12 10:12:59.615209225 +0100 ++++ ./clients/memflush.cc 2017-02-12 10:13:39.998382783 +0100 +@@ -39,7 +39,7 @@ int main(int argc, char *argv[]) + { + options_parse(argc, argv); + +- if (opt_servers == false) ++ if (!opt_servers) + { + char *temp; + +@@ -48,7 +48,7 @@ int main(int argc, char *argv[]) + opt_servers= strdup(temp); + } + +- if (opt_servers == false) ++ if (!opt_servers) + { + std::cerr << "No Servers provided" << std::endl; + exit(EXIT_FAILURE); diff --git a/package/libmemcached/libmemcached.mk b/package/libmemcached/libmemcached.mk index 36d0913962..24955266d3 100644 --- a/package/libmemcached/libmemcached.mk +++ b/package/libmemcached/libmemcached.mk @@ -15,7 +15,7 @@ LIBMEMCACHED_INSTALL_STAGING = YES LIBMEMCACHED_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBEVENT),libevent) # For 0001-disable-tests.patch and 0002-disable-sanitizer.patch LIBMEMCACHED_AUTORECONF = YES -LIBMEMCACHED_LICENSE = BSD-3c +LIBMEMCACHED_LICENSE = BSD-3-Clause LIBMEMCACHED_LICENSE_FILES = COPYING ifeq ($(BR2_TOOLCHAIN_SUPPORTS_PIE),) diff --git a/package/libmhash/Config.in b/package/libmhash/Config.in index a9bd51a2c9..774ff1b1bc 100644 --- a/package/libmhash/Config.in +++ b/package/libmhash/Config.in @@ -3,7 +3,7 @@ config BR2_PACKAGE_LIBMHASH help Mhash is a free (under GNU Lesser GPL) library which provides a uniform interface to a large number of hash algorithms. - These algorithms can be used to compute checksums, message digests, - and other signatures. + These algorithms can be used to compute checksums, message + digests, and other signatures. http://mhash.sourceforge.net/ diff --git a/package/libmhash/libmhash.mk b/package/libmhash/libmhash.mk index f7b8e72997..f2da10e662 100644 --- a/package/libmhash/libmhash.mk +++ b/package/libmhash/libmhash.mk @@ -8,7 +8,7 @@ LIBMHASH_VERSION = 0.9.9.9 LIBMHASH_SITE = http://downloads.sourceforge.net/project/mhash/mhash/$(LIBMHASH_VERSION) LIBMHASH_SOURCE = mhash-$(LIBMHASH_VERSION).tar.bz2 LIBMHASH_INSTALL_STAGING = YES -LIBMHASH_LICENSE = LGPLv2 +LIBMHASH_LICENSE = LGPL-2.0 LIBMHASH_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/libmicrohttpd/Config.in b/package/libmicrohttpd/Config.in index 302dbb7ac8..2a685ca408 100644 --- a/package/libmicrohttpd/Config.in +++ b/package/libmicrohttpd/Config.in @@ -12,14 +12,15 @@ if BR2_PACKAGE_LIBMICROHTTPD config BR2_PACKAGE_LIBMICROHTTPD_SSL bool "https support" depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt + depends on !BR2_STATIC_LIBS # gnutls depends on BR2_USE_WCHAR select BR2_PACKAGE_GNUTLS select BR2_PACKAGE_LIBGCRYPT help Enable HTTPS (SSL) support. -comment "libmicrohttpd https support needs a toolchain w/ wchar" - depends on !BR2_USE_WCHAR +comment "libmicrohttpd https support needs a toolchain w/ wchar, dynamic library" + depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS endif diff --git a/package/libmicrohttpd/libmicrohttpd.hash b/package/libmicrohttpd/libmicrohttpd.hash index 5c15b9dfde..a1460fd724 100644 --- a/package/libmicrohttpd/libmicrohttpd.hash +++ b/package/libmicrohttpd/libmicrohttpd.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 54797f6e763d417627f89f60e4ae0a431dab0523f92f83def23ea02d0defafea libmicrohttpd-0.9.52.tar.gz +sha256 0c1cab8dc9f2588bd3076a28f77a7f8de9560cbf2d80e53f9a8696ada80ed0f8 libmicrohttpd-0.9.55.tar.gz diff --git a/package/libmicrohttpd/libmicrohttpd.mk b/package/libmicrohttpd/libmicrohttpd.mk index 83791b34f7..a87c93b3ae 100644 --- a/package/libmicrohttpd/libmicrohttpd.mk +++ b/package/libmicrohttpd/libmicrohttpd.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBMICROHTTPD_VERSION = 0.9.52 +LIBMICROHTTPD_VERSION = 0.9.55 LIBMICROHTTPD_SITE = $(BR2_GNU_MIRROR)/libmicrohttpd LIBMICROHTTPD_LICENSE_FILES = COPYING LIBMICROHTTPD_INSTALL_STAGING = YES @@ -22,13 +22,13 @@ endif LIBMICROHTTPD_CONF_ENV += CFLAGS="$(LIBMICROHTTPD_CFLAGS)" ifeq ($(BR2_PACKAGE_LIBMICROHTTPD_SSL),y) -LIBMICROHTTPD_LICENSE = LGPLv2.1+ +LIBMICROHTTPD_LICENSE = LGPL-2.1+ LIBMICROHTTPD_DEPENDENCIES += host-pkgconf gnutls libgcrypt LIBMICROHTTPD_CONF_ENV += LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs gnutls`" LIBMICROHTTPD_CONF_OPTS += --enable-https --with-gnutls=$(STAGING_DIR)/usr \ --with-libgcrypt-prefix=$(STAGING_DIR)/usr else -LIBMICROHTTPD_LICENSE = LGPLv2.1+ or eCos +LIBMICROHTTPD_LICENSE = LGPL-2.1+ or eCos LIBMICROHTTPD_CONF_OPTS += --disable-https endif diff --git a/package/libminiupnpc/0001-miniupnpc-Fix-CVE-2017-8798.patch b/package/libminiupnpc/0001-miniupnpc-Fix-CVE-2017-8798.patch new file mode 100644 index 0000000000..25591fc4a4 --- /dev/null +++ b/package/libminiupnpc/0001-miniupnpc-Fix-CVE-2017-8798.patch @@ -0,0 +1,59 @@ +From f0f1f4b22d6a98536377a1bb07e7c20e4703d229 Mon Sep 17 00:00:00 2001 +From: Thomas Bernard +Date: Tue, 9 May 2017 12:00:47 +0200 +Subject: [PATCH] miniupnpc: Fix CVE-2017-8798 + +Thanks to tin/Team OSTStrom + +[Peter: drop Changelog.txt modification, convert to -p1 format] +Signed-off-by: Peter Korsgaard +--- + miniupnpc/miniwget.c | 12 +++++++----- + 1 file changed, 9 insertions(+), 5 deletions(-) + +diff --git a/miniwget.c b/miniwget.c +index 37cb47b7..1eda57c5 100644 +--- a/miniwget.c ++++ b/miniwget.c +@@ -284,11 +284,12 @@ getHTTPResponse(int s, int * size, int * status_code) + goto end_of_stream; + } + } +- bytestocopy = ((int)chunksize < (n - i))?chunksize:(unsigned int)(n - i); ++ /* it is guaranteed that (n >= i) */ ++ bytestocopy = (chunksize < (unsigned int)(n - i))?chunksize:(unsigned int)(n - i); + if((content_buf_used + bytestocopy) > content_buf_len) + { + char * tmp; +- if(content_length >= (int)(content_buf_used + bytestocopy)) { ++ if((content_length >= 0) && ((unsigned int)content_length >= (content_buf_used + bytestocopy))) { + content_buf_len = content_length; + } else { + content_buf_len = content_buf_used + bytestocopy; +@@ -313,14 +314,15 @@ getHTTPResponse(int s, int * size, int * status_code) + { + /* not chunked */ + if(content_length > 0 +- && (int)(content_buf_used + n) > content_length) { ++ && (content_buf_used + n) > (unsigned int)content_length) { + /* skipping additional bytes */ + n = content_length - content_buf_used; + } + if(content_buf_used + n > content_buf_len) + { + char * tmp; +- if(content_length >= (int)(content_buf_used + n)) { ++ if(content_length >= 0 ++ && (unsigned int)content_length >= (content_buf_used + n)) { + content_buf_len = content_length; + } else { + content_buf_len = content_buf_used + n; +@@ -340,7 +342,7 @@ getHTTPResponse(int s, int * size, int * status_code) + } + } + /* use the Content-Length header value if available */ +- if(content_length > 0 && (int)content_buf_used >= content_length) ++ if(content_length > 0 && content_buf_used >= (unsigned int)content_length) + { + #ifdef DEBUG + printf("End of HTTP content\n"); diff --git a/package/libminiupnpc/Config.in b/package/libminiupnpc/Config.in index c241707392..a3410a0225 100644 --- a/package/libminiupnpc/Config.in +++ b/package/libminiupnpc/Config.in @@ -4,8 +4,8 @@ config BR2_PACKAGE_LIBMINIUPNPC depends on !BR2_STATIC_LIBS help The UPnP protocol is supported by most home adsl/cable routers - and Microsoft Windows 2K/XP. The aim of the MiniUPnP project is - to bring a free software solution to support the "Internet + and Microsoft Windows 2K/XP. The aim of the MiniUPnP project + is to bring a free software solution to support the "Internet Gateway Device" part of the protocol. Miniupnpc aims at the simplest library possible, with the diff --git a/package/libminiupnpc/libminiupnpc.mk b/package/libminiupnpc/libminiupnpc.mk index 0eb7cf6397..66b08b4e8a 100644 --- a/package/libminiupnpc/libminiupnpc.mk +++ b/package/libminiupnpc/libminiupnpc.mk @@ -8,7 +8,7 @@ LIBMINIUPNPC_VERSION = 2.0 LIBMINIUPNPC_SOURCE = miniupnpc-$(LIBMINIUPNPC_VERSION).tar.gz LIBMINIUPNPC_SITE = http://miniupnp.free.fr/files LIBMINIUPNPC_INSTALL_STAGING = YES -LIBMINIUPNPC_LICENSE = BSD-3c +LIBMINIUPNPC_LICENSE = BSD-3-Clause LIBMINIUPNPC_LICENSE_FILES = LICENSE $(eval $(cmake-package)) diff --git a/package/libmms/libmms.mk b/package/libmms/libmms.mk index 01c8d67224..dd0b1df538 100644 --- a/package/libmms/libmms.mk +++ b/package/libmms/libmms.mk @@ -8,7 +8,7 @@ LIBMMS_VERSION = 0.6.2 LIBMMS_SITE = http://downloads.sourceforge.net/project/libmms/libmms/$(LIBMMS_VERSION) LIBMMS_INSTALL_STAGING = YES LIBMMS_DEPENDENCIES = host-pkgconf libglib2 -LIBMMS_LICENSE = LGPLv2.1+ +LIBMMS_LICENSE = LGPL-2.1+ LIBMMS_LICENSE_FILES = COPYING.LIB $(eval $(autotools-package)) diff --git a/package/libmnl/libmnl.mk b/package/libmnl/libmnl.mk index 407c4f19ba..7fcce4c21f 100644 --- a/package/libmnl/libmnl.mk +++ b/package/libmnl/libmnl.mk @@ -8,7 +8,7 @@ LIBMNL_VERSION = 1.0.4 LIBMNL_SOURCE = libmnl-$(LIBMNL_VERSION).tar.bz2 LIBMNL_SITE = http://netfilter.org/projects/libmnl/files LIBMNL_INSTALL_STAGING = YES -LIBMNL_LICENSE = LGPLv2.1+ +LIBMNL_LICENSE = LGPL-2.1+ LIBMNL_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/libmodbus/Config.in b/package/libmodbus/Config.in index ccf11906fc..642b57cd8c 100644 --- a/package/libmodbus/Config.in +++ b/package/libmodbus/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_LIBMODBUS bool "libmodbus" help - libmodbus is a free software library to send/receive data according - to the Modbus protocol. This library is written in C and supports - RTU (serial) and TCP (Ethernet) communications. + libmodbus is a free software library to send/receive data + according to the Modbus protocol. This library is written in C + and supports RTU (serial) and TCP (Ethernet) communications. http://libmodbus.org diff --git a/package/libmodbus/libmodbus.hash b/package/libmodbus/libmodbus.hash index 095164d613..b5c4450d6b 100644 --- a/package/libmodbus/libmodbus.hash +++ b/package/libmodbus/libmodbus.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 046d63f10f755e2160dc56ef681e5f5ad3862a57c1955fd82e0ce036b69471b6 libmodbus-3.0.6.tar.gz +sha256 c8c862b0e9a7ba699a49bc98f62bdffdfafd53a5716c0e162696b4bf108d3637 libmodbus-3.1.4.tar.gz diff --git a/package/libmodbus/libmodbus.mk b/package/libmodbus/libmodbus.mk index 1f8c730362..e5a6c6385a 100644 --- a/package/libmodbus/libmodbus.mk +++ b/package/libmodbus/libmodbus.mk @@ -4,10 +4,11 @@ # ################################################################################ -LIBMODBUS_VERSION = 3.0.6 +LIBMODBUS_VERSION = 3.1.4 LIBMODBUS_SITE = http://libmodbus.org/releases -LIBMODBUS_LICENSE = LGPLv2.1+ +LIBMODBUS_LICENSE = LGPL-2.1+ LIBMODBUS_LICENSE_FILES = COPYING.LESSER LIBMODBUS_INSTALL_STAGING = YES +LIBMODBUS_CONF_OPTS = --without-documentation --disable-tests $(eval $(autotools-package)) diff --git a/package/libmpd/libmpd.mk b/package/libmpd/libmpd.mk index 882210cc27..2aa7ff7e05 100644 --- a/package/libmpd/libmpd.mk +++ b/package/libmpd/libmpd.mk @@ -9,7 +9,7 @@ LIBMPD_VERSION = $(LIBMPD_VERSION_MAJOR).17 LIBMPD_SITE = http://download.sarine.nl/Programs/gmpc/$(LIBMPD_VERSION_MAJOR) LIBMPD_INSTALL_STAGING = YES LIBMPD_DEPENDENCIES = libglib2 -LIBMPD_LICENSE = GPLv2+ +LIBMPD_LICENSE = GPL-2.0+ LIBMPD_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/libmpdclient/Config.in b/package/libmpdclient/Config.in index a58c6c3457..ba0df56e0b 100644 --- a/package/libmpdclient/Config.in +++ b/package/libmpdclient/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_LIBMPDCLIENT bool "libmpdclient" help - A stable, documented, asynchronous API library for interfacing MPD - in the C, C++ & Objective C languages. + A stable, documented, asynchronous API library for interfacing + MPD in the C, C++ & Objective C languages. http://www.musicpd.org/libs/libmpdclient/ diff --git a/package/libmpdclient/libmpdclient.mk b/package/libmpdclient/libmpdclient.mk index db3ae0596e..691aba9f71 100644 --- a/package/libmpdclient/libmpdclient.mk +++ b/package/libmpdclient/libmpdclient.mk @@ -10,7 +10,7 @@ LIBMPDCLIENT_SOURCE = libmpdclient-$(LIBMPDCLIENT_VERSION).tar.xz LIBMPDCLIENT_SITE = http://www.musicpd.org/download/libmpdclient/$(LIBMPDCLIENT_VERSION_MAJOR) LIBMPDCLIENT_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' LIBMPDCLIENT_INSTALL_STAGING = YES -LIBMPDCLIENT_LICENSE = BSD-3c +LIBMPDCLIENT_LICENSE = BSD-3-Clause LIBMPDCLIENT_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/libmpeg2/0004-fix-sparc.patch b/package/libmpeg2/0004-fix-sparc.patch new file mode 100644 index 0000000000..d876b668c8 --- /dev/null +++ b/package/libmpeg2/0004-fix-sparc.patch @@ -0,0 +1,16 @@ +Do not use sparcv9 optimization flags for sparcv8 builds + +Signed-off-by: Waldemar Brodkorb + +diff -Nur libmpeg2-0.5.1.orig/configure.ac libmpeg2-0.5.1/configure.ac +--- libmpeg2-0.5.1.orig/configure.ac 2008-07-18 16:30:17.000000000 +0200 ++++ libmpeg2-0.5.1/configure.ac 2017-04-26 21:09:15.780838339 +0200 +@@ -95,7 +95,7 @@ + break + fi + done;; +- sparc-* | sparc64-*) ++ sparc64-*) + AC_DEFINE([ARCH_SPARC],,[sparc architecture]) + TRY_CFLAGS="$OPT_CFLAGS -mcpu=ultrasparc -mvis" + AC_TRY_CFLAGS([$TRY_CFLAGS $CFLAGS],[OPT_CFLAGS="$TRY_CFLAGS"]);; diff --git a/package/libmpeg2/libmpeg2.mk b/package/libmpeg2/libmpeg2.mk index 124c7499db..db9b2f8bbb 100644 --- a/package/libmpeg2/libmpeg2.mk +++ b/package/libmpeg2/libmpeg2.mk @@ -6,7 +6,7 @@ LIBMPEG2_VERSION = 0.5.1 LIBMPEG2_SITE = http://libmpeg2.sourceforge.net/files -LIBMPEG2_LICENSE = GPLv2+ +LIBMPEG2_LICENSE = GPL-2.0+ LIBMPEG2_LICENSE_FILES = COPYING LIBMPEG2_INSTALL_STAGING = YES LIBMPEG2_AUTORECONF = YES diff --git a/package/libnatpmp/libnatpmp.mk b/package/libnatpmp/libnatpmp.mk index cdd65e96cd..3623027713 100644 --- a/package/libnatpmp/libnatpmp.mk +++ b/package/libnatpmp/libnatpmp.mk @@ -7,7 +7,7 @@ LIBNATPMP_VERSION = 20150609 LIBNATPMP_SITE = http://miniupnp.free.fr/files LIBNATPMP_INSTALL_STAGING = YES -LIBNATPMP_LICENSE = BSD-3c +LIBNATPMP_LICENSE = BSD-3-Clause LIBNATPMP_LICENSE_FILES = LICENSE define LIBNATPMP_BUILD_CMDS diff --git a/package/libndp/libndp.mk b/package/libndp/libndp.mk index c880b7e664..4fa1d3331d 100644 --- a/package/libndp/libndp.mk +++ b/package/libndp/libndp.mk @@ -6,7 +6,7 @@ LIBNDP_VERSION = v1.5 LIBNDP_SITE = $(call github,jpirko,libndp,$(LIBNDP_VERSION)) -LIBNDP_LICENSE = LGPLv2.1+ +LIBNDP_LICENSE = LGPL-2.1+ LIBNDP_LICENSE_FILES = COPYING LIBNDP_AUTORECONF = YES LIBNDP_INSTALL_STAGING = YES diff --git a/package/libnet/libnet.mk b/package/libnet/libnet.mk index d13c4533b2..966106837a 100644 --- a/package/libnet/libnet.mk +++ b/package/libnet/libnet.mk @@ -9,7 +9,7 @@ LIBNET_SITE = http://sourceforge.net/projects/libnet-dev/files LIBNET_INSTALL_STAGING = YES # PF_PACKET is always available on Linux LIBNET_CONF_OPTS = libnet_cv_have_packet_socket=yes -LIBNET_LICENSE = BSD-2c, BSD-3c +LIBNET_LICENSE = BSD-2-Clause, BSD-3-Clause LIBNET_LICENSE_FILES = doc/COPYING $(eval $(autotools-package)) diff --git a/package/libnetfilter_acct/libnetfilter_acct.mk b/package/libnetfilter_acct/libnetfilter_acct.mk index c2fa234778..e791f6f13f 100644 --- a/package/libnetfilter_acct/libnetfilter_acct.mk +++ b/package/libnetfilter_acct/libnetfilter_acct.mk @@ -9,7 +9,7 @@ LIBNETFILTER_ACCT_SOURCE = libnetfilter_acct-$(LIBNETFILTER_ACCT_VERSION).tar.bz LIBNETFILTER_ACCT_SITE = http://www.netfilter.org/projects/libnetfilter_acct/files LIBNETFILTER_ACCT_INSTALL_STAGING = YES LIBNETFILTER_ACCT_DEPENDENCIES = host-pkgconf libmnl -LIBNETFILTER_ACCT_LICENSE = LGPLv2.1+ +LIBNETFILTER_ACCT_LICENSE = LGPL-2.1+ LIBNETFILTER_ACCT_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/libnetfilter_conntrack/libnetfilter_conntrack.mk b/package/libnetfilter_conntrack/libnetfilter_conntrack.mk index ec05f6dc32..2e9f6b7a64 100644 --- a/package/libnetfilter_conntrack/libnetfilter_conntrack.mk +++ b/package/libnetfilter_conntrack/libnetfilter_conntrack.mk @@ -9,7 +9,7 @@ LIBNETFILTER_CONNTRACK_SOURCE = libnetfilter_conntrack-$(LIBNETFILTER_CONNTRACK_ LIBNETFILTER_CONNTRACK_SITE = http://www.netfilter.org/projects/libnetfilter_conntrack/files LIBNETFILTER_CONNTRACK_INSTALL_STAGING = YES LIBNETFILTER_CONNTRACK_DEPENDENCIES = host-pkgconf libnfnetlink libmnl -LIBNETFILTER_CONNTRACK_LICENSE = GPLv2+ +LIBNETFILTER_CONNTRACK_LICENSE = GPL-2.0+ LIBNETFILTER_CONNTRACK_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/libnetfilter_cthelper/Config.in b/package/libnetfilter_cthelper/Config.in index 571883df6a..8d9b1dd40e 100644 --- a/package/libnetfilter_cthelper/Config.in +++ b/package/libnetfilter_cthelper/Config.in @@ -3,7 +3,7 @@ config BR2_PACKAGE_LIBNETFILTER_CTHELPER select BR2_PACKAGE_LIBMNL help libnetfilter_cthelper is the userspace library that provides - the programming interface to the user-space helper infrastructure - available since Linux kernel 3.6. + the programming interface to the user-space helper + infrastructure available since Linux kernel 3.6. http://www.netfilter.org/projects/libnetfilter_cthelper/ diff --git a/package/libnetfilter_cthelper/libnetfilter_cthelper.mk b/package/libnetfilter_cthelper/libnetfilter_cthelper.mk index 00388a5c99..61d6acd07c 100644 --- a/package/libnetfilter_cthelper/libnetfilter_cthelper.mk +++ b/package/libnetfilter_cthelper/libnetfilter_cthelper.mk @@ -10,7 +10,7 @@ LIBNETFILTER_CTHELPER_SITE = http://www.netfilter.org/projects/libnetfilter_cthe LIBNETFILTER_CTHELPER_INSTALL_STAGING = YES LIBNETFILTER_CTHELPER_DEPENDENCIES = host-pkgconf libmnl LIBNETFILTER_CTHELPER_AUTORECONF = YES -LIBNETFILTER_CTHELPER_LICENSE = GPLv2+ +LIBNETFILTER_CTHELPER_LICENSE = GPL-2.0+ LIBNETFILTER_CTHELPER_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/libnetfilter_cttimeout/libnetfilter_cttimeout.mk b/package/libnetfilter_cttimeout/libnetfilter_cttimeout.mk index d85a8d2bd7..9c4c951687 100644 --- a/package/libnetfilter_cttimeout/libnetfilter_cttimeout.mk +++ b/package/libnetfilter_cttimeout/libnetfilter_cttimeout.mk @@ -10,7 +10,7 @@ LIBNETFILTER_CTTIMEOUT_SITE = http://www.netfilter.org/projects/libnetfilter_ctt LIBNETFILTER_CTTIMEOUT_INSTALL_STAGING = YES LIBNETFILTER_CTTIMEOUT_DEPENDENCIES = host-pkgconf libmnl LIBNETFILTER_CTTIMEOUT_AUTORECONF = YES -LIBNETFILTER_CTTIMEOUT_LICENSE = GPLv2+ +LIBNETFILTER_CTTIMEOUT_LICENSE = GPL-2.0+ LIBNETFILTER_CTTIMEOUT_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/libnetfilter_log/libnetfilter_log.mk b/package/libnetfilter_log/libnetfilter_log.mk index a448c547c4..bcf755e0d0 100644 --- a/package/libnetfilter_log/libnetfilter_log.mk +++ b/package/libnetfilter_log/libnetfilter_log.mk @@ -10,7 +10,7 @@ LIBNETFILTER_LOG_SITE = http://www.netfilter.org/projects/libnetfilter_log/files LIBNETFILTER_LOG_INSTALL_STAGING = YES LIBNETFILTER_LOG_DEPENDENCIES = host-pkgconf libnfnetlink LIBNETFILTER_LOG_AUTORECONF = YES -LIBNETFILTER_LOG_LICENSE = GPLv2+ +LIBNETFILTER_LOG_LICENSE = GPL-2.0+ LIBNETFILTER_LOG_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/libnetfilter_queue/libnetfilter_queue.mk b/package/libnetfilter_queue/libnetfilter_queue.mk index d788fd1575..75910c5905 100644 --- a/package/libnetfilter_queue/libnetfilter_queue.mk +++ b/package/libnetfilter_queue/libnetfilter_queue.mk @@ -10,7 +10,7 @@ LIBNETFILTER_QUEUE_SITE = http://www.netfilter.org/projects/libnetfilter_queue/f LIBNETFILTER_QUEUE_INSTALL_STAGING = YES LIBNETFILTER_QUEUE_DEPENDENCIES = host-pkgconf libnfnetlink libmnl LIBNETFILTER_QUEUE_AUTORECONF = YES -LIBNETFILTER_QUEUE_LICENSE = GPLv2+ +LIBNETFILTER_QUEUE_LICENSE = GPL-2.0+ LIBNETFILTER_QUEUE_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/libnfc/Config.in b/package/libnfc/Config.in index 1707f21c32..c8fe251459 100644 --- a/package/libnfc/Config.in +++ b/package/libnfc/Config.in @@ -4,7 +4,8 @@ config BR2_PACKAGE_LIBNFC select BR2_PACKAGE_LIBUSB select BR2_PACKAGE_LIBUSB_COMPAT help - Public platform independent Near Field Communication (NFC) library. + Public platform independent Near Field Communication (NFC) + library. http://www.libnfc.org/ diff --git a/package/libnfc/libnfc.mk b/package/libnfc/libnfc.mk index aceedb09ae..b13fd69d82 100644 --- a/package/libnfc/libnfc.mk +++ b/package/libnfc/libnfc.mk @@ -7,7 +7,7 @@ LIBNFC_VERSION = 1.7.1 LIBNFC_SOURCE = libnfc-$(LIBNFC_VERSION).tar.bz2 LIBNFC_SITE = https://github.com/nfc-tools/libnfc/releases/download/libnfc-$(LIBNFC_VERSION) -LIBNFC_LICENSE = LGPLv3+ +LIBNFC_LICENSE = LGPL-3.0+ LIBNFC_LICENSE_FILES = COPYING LIBNFC_AUTORECONF = YES LIBNFC_INSTALL_STAGING = YES diff --git a/package/libnfnetlink/libnfnetlink.mk b/package/libnfnetlink/libnfnetlink.mk index 6f69a81a98..13f5d72c87 100644 --- a/package/libnfnetlink/libnfnetlink.mk +++ b/package/libnfnetlink/libnfnetlink.mk @@ -9,7 +9,7 @@ LIBNFNETLINK_SOURCE = libnfnetlink-$(LIBNFNETLINK_VERSION).tar.bz2 LIBNFNETLINK_SITE = http://www.netfilter.org/projects/libnfnetlink/files LIBNFNETLINK_AUTORECONF = YES LIBNFNETLINK_INSTALL_STAGING = YES -LIBNFNETLINK_LICENSE = GPLv2 +LIBNFNETLINK_LICENSE = GPL-2.0 LIBNFNETLINK_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/libnfs/libnfs.hash b/package/libnfs/libnfs.hash index 27a9e5d349..cfe6678842 100644 --- a/package/libnfs/libnfs.hash +++ b/package/libnfs/libnfs.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 7f6c62a05c7e0f0749f2b13f178a4ed7aaf17bd09e65a10bb147bfe9807da272 libnfs-libnfs-1.10.0.tar.gz +sha256 7ea6cd8fa6c461d01091e584d424d28e137d23ff4b65b95d01a3fd0ef95d120e libnfs-libnfs-2.0.0.tar.gz +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENCE-LGPL-2.1.txt diff --git a/package/libnfs/libnfs.mk b/package/libnfs/libnfs.mk index e49656b7bf..d961fd1d4e 100644 --- a/package/libnfs/libnfs.mk +++ b/package/libnfs/libnfs.mk @@ -4,12 +4,11 @@ # ################################################################################ -LIBNFS_VERSION = libnfs-1.10.0 +LIBNFS_VERSION = libnfs-2.0.0 LIBNFS_SITE = $(call github,sahlberg,libnfs,$(LIBNFS_VERSION)) LIBNFS_INSTALL_STAGING = YES LIBNFS_AUTORECONF = YES -LIBNFS_MAKE = $(MAKE1) -LIBNFS_LICENSE = LGPLv2.1+ +LIBNFS_LICENSE = LGPL-2.1+ LIBNFS_LICENSE_FILES = LICENCE-LGPL-2.1.txt LIBNFS_DEPENDENCIES = host-pkgconf diff --git a/package/libnftnl/libnftnl.mk b/package/libnftnl/libnftnl.mk index 0e1ddf8bc6..bde3ee4211 100644 --- a/package/libnftnl/libnftnl.mk +++ b/package/libnftnl/libnftnl.mk @@ -7,7 +7,7 @@ LIBNFTNL_VERSION = 1.0.7 LIBNFTNL_SITE = http://netfilter.org/projects/libnftnl/files LIBNFTNL_SOURCE = libnftnl-$(LIBNFTNL_VERSION).tar.bz2 -LIBNFTNL_LICENSE = GPLv2+ +LIBNFTNL_LICENSE = GPL-2.0+ LIBNFTNL_LICENSE_FILES = COPYING LIBNFTNL_INSTALL_STAGING = YES LIBNFTNL_DEPENDENCIES = host-pkgconf libmnl diff --git a/package/libnice/Config.in b/package/libnice/Config.in index 1d7c3410e0..c803a31720 100644 --- a/package/libnice/Config.in +++ b/package/libnice/Config.in @@ -1,9 +1,9 @@ config BR2_PACKAGE_LIBNICE bool "libnice" - select BR2_PACKAGE_LIBGLIB2 depends on BR2_USE_WCHAR # libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_LIBGLIB2 help Libnice is an implementation of the IETF's Interactive Connectivity Establishment (ICE) standard (RFC 5245) and the diff --git a/package/libnice/libnice.mk b/package/libnice/libnice.mk index 3df596a867..6afcb7635a 100644 --- a/package/libnice/libnice.mk +++ b/package/libnice/libnice.mk @@ -6,7 +6,7 @@ LIBNICE_VERSION = 0.1.13 LIBNICE_SITE = http://nice.freedesktop.org/releases -LIBNICE_LICENSE = MPLv1.1 or LGPLv2.1 +LIBNICE_LICENSE = MPL-1.1 or LGPL-2.1 LIBNICE_LICENSE_FILES = COPYING COPYING.MPL COPYING.LGPL LIBNICE_DEPENDENCIES = libglib2 host-pkgconf LIBNICE_INSTALL_STAGING = YES @@ -14,6 +14,6 @@ LIBNICE_INSTALL_STAGING = YES LIBNICE_AUTORECONF = YES LIBNICE_CONF_OPTS = \ --without-gstreamer \ - --without-gstreamer-0.10 \ + --without-gstreamer-0.10 $(eval $(autotools-package)) diff --git a/package/libnl/0002-build-add-Libs.private-field-in-libnl-pkg-config-fil.patch b/package/libnl/0001-build-add-Libs.private-field-in-libnl-pkg-config-fil.patch similarity index 100% rename from package/libnl/0002-build-add-Libs.private-field-in-libnl-pkg-config-fil.patch rename to package/libnl/0001-build-add-Libs.private-field-in-libnl-pkg-config-fil.patch diff --git a/package/libnl/0002-Add-musl-workaround-to-the-libc-compat.h-copy.patch b/package/libnl/0002-Add-musl-workaround-to-the-libc-compat.h-copy.patch new file mode 100644 index 0000000000..57d1c8747d --- /dev/null +++ b/package/libnl/0002-Add-musl-workaround-to-the-libc-compat.h-copy.patch @@ -0,0 +1,37 @@ +From be07fdbc9658de19304defa7538f219cd3f21ec0 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Sun, 12 Mar 2017 08:52:20 +0200 +Subject: [PATCH] Add musl workaround to the libc-compat.h copy + +The libc-compat.h kernel header uses glibc specific macros to solve conflicts +with libc provided headers. This patch makes libc-compat.h work also for musl +libc. + +Future rebase note: when upstream updates libc-compat.h some additional macro +definitions will be needed. See the Buildroot iproute2 patch +package/iproute2/0001-Add-the-musl-workaround-to-the-libc-compat.h-copy.patch. + +Signed-off-by: Baruch Siach +--- +Upstream status: libc-compat.h is a local copy of a kernel headers. A proper +musl fix must go to the kernel first. +--- + include/linux-private/linux/libc-compat.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/linux-private/linux/libc-compat.h b/include/linux-private/linux/libc-compat.h +index 9bed5b6ae4d9..e2562a819464 100644 +--- a/include/linux-private/linux/libc-compat.h ++++ b/include/linux-private/linux/libc-compat.h +@@ -49,7 +49,7 @@ + #define _LIBC_COMPAT_H + + /* We have included glibc headers... */ +-#if defined(__GLIBC__) ++#if 1 + + /* Coordinate with glibc netinet/in.h header. */ + #if defined(_NETINET_IN_H) +-- +2.11.0 + diff --git a/package/libnl/0003-Revert-build-enable-building-cli-during-tests.patch b/package/libnl/0003-Revert-build-enable-building-cli-during-tests.patch new file mode 100644 index 0000000000..f715bb83f9 --- /dev/null +++ b/package/libnl/0003-Revert-build-enable-building-cli-during-tests.patch @@ -0,0 +1,115 @@ +From 68f8393bd356a3d0598cf77e1044b7e8b98aa4d8 Mon Sep 17 00:00:00 2001 +Message-Id: <68f8393bd356a3d0598cf77e1044b7e8b98aa4d8.1493920165.git.baruch@tkos.co.il> +From: Baruch Siach +Date: Thu, 4 May 2017 15:56:14 +0300 +Subject: [PATCH] Revert "build: enable building cli during tests" + +This reverts commit 3cb28534d34392ceec4adead0cfa97039796ccb7. + +Contrary to what 3cb28534d commit log claims, the cli programs depend on +dynamic libraries support of the toolchain. Enabling cli programs +unconditionally breaks static build as follows: + +In file included from lib/cli/cls/basic.c:12:0: +./include/netlink/cli/utils.h:25:19: fatal error: dlfcn.h: No such file or directory +compilation terminated. +Makefile:3666: recipe for target 'lib/cli/cls/lib_cli_cls_basic_la-basic.lo' failed +make[1]: *** [lib/cli/cls/lib_cli_cls_basic_la-basic.lo] Error 1 + +Revert that commit to restore the ability of static only build of libnl, and +its dependencies. + +Signed-off-by: Baruch Siach +--- +Upstream status: https://github.com/thom311/libnl/pull/141 + + Makefile.am | 21 ++++++--------------- + 1 file changed, 6 insertions(+), 15 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 1b95a559304f..279548394650 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -3,8 +3,6 @@ + ACLOCAL_AMFLAGS = -I m4 + + lib_LTLIBRARIES = +-noinst_LTLIBRARIES = +-check_LTLIBRARIES = + + check_PROGRAMS = + check_programs = +@@ -500,6 +498,8 @@ EXTRA_lib_libnl_xfrm_3_la_DEPENDENCIES = \ + lib_libnl_xfrm_3_la_LIBADD = \ + lib/libnl-3.la + ++if ENABLE_CLI ++ + lib_cli_ltlibraries_cls = \ + lib/cli/cls/basic.la \ + lib/cli/cls/cgroup.la +@@ -513,15 +513,11 @@ lib_cli_ltlibraries_qdisc = \ + lib/cli/qdisc/pfifo.la \ + lib/cli/qdisc/plug.la + +-if ENABLE_CLI + pkglib_clsdir = $(pkglibdir)/cli/cls + pkglib_qdiscdir = $(pkglibdir)/cli/qdisc + pkglib_cls_LTLIBRARIES = $(lib_cli_ltlibraries_cls) + pkglib_qdisc_LTLIBRARIES = $(lib_cli_ltlibraries_qdisc) +-else +-noinst_LTLIBRARIES += \ +- $(lib_cli_ltlibraries_cls) \ +- $(lib_cli_ltlibraries_qdisc) ++ + endif + + lib_cli_ldflags = \ +@@ -550,13 +546,8 @@ lib_cli_qdisc_plug_la_LDFLAGS = $(lib_cli_ldflags) + + ############################################################################### + +-src_lib_ldflags = +- + if ENABLE_CLI + lib_LTLIBRARIES += src/lib/libnl-cli-3.la +-src_lib_ldflags += -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) +-else +-check_LTLIBRARIES += src/lib/libnl-cli-3.la + endif + + src_lib_libnl_cli_3_la_SOURCES = \ +@@ -583,7 +574,7 @@ src_lib_libnl_cli_3_la_CPPFLAGS = \ + -I$(srcdir)/include \ + -I$(builddir)/include + src_lib_libnl_cli_3_la_LDFLAGS = \ +- $(src_lib_ldflags) \ ++ -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ + -Wl,--version-script=$(srcdir)/libnl-cli-3.sym + src_lib_libnl_cli_3_la_LIBADD = \ + lib/libnl-3.la \ +@@ -668,8 +659,6 @@ else + noinst_PROGRAMS += $(cli_programs) + endif + endif +-else +-check_PROGRAMS += $(cli_programs) + endif + + src_genl_ctrl_list_CPPFLAGS = $(src_cppflags) +@@ -847,10 +836,12 @@ tests_test_complex_HTB_with_hash_filters_LDADD = $(tests_ldadd) + tests_test_u32_filter_with_actions_CPPFLAGS = $(tests_cppflags) + tests_test_u32_filter_with_actions_LDADD = $(tests_ldadd) + ++if ENABLE_CLI + check_PROGRAMS += \ + tests/test-cache-mngr \ + tests/test-genl \ + tests/test-nf-cache-mngr ++endif + + tests_cli_ldadd = \ + $(tests_ldadd) \ +-- +2.11.0 + diff --git a/package/libnl/Config.in b/package/libnl/Config.in index 46877c37a2..1e29f57400 100644 --- a/package/libnl/Config.in +++ b/package/libnl/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_LIBNL help A library for applications dealing with netlink socket. - http://people.suug.ch/~tgr/libnl/ + https://github.com/thom311/libnl if BR2_PACKAGE_LIBNL diff --git a/package/libnl/libnl.hash b/package/libnl/libnl.hash index 2f1a3cb1b3..ae502c2cf8 100644 --- a/package/libnl/libnl.hash +++ b/package/libnl/libnl.hash @@ -1,2 +1,2 @@ -# From https://github.com/thom311/libnl/releases/download/libnl3_2_27/libnl-3.2.27.tar.gz.sha256sum -sha256 4bbbf92b3c78a90f423cf96260bf419a28b75db8cced47051217a56795f58ec6 libnl-3.2.27.tar.gz +# From https://github.com/thom311/libnl/releases/download/libnl3_3_0/libnl-3.3.0.tar.gz.sha256sum +sha256 705468b5ae4cd1eb099d2d1c476d6a3abe519bc2810becf12fb1e32de1e074e4 libnl-3.3.0.tar.gz diff --git a/package/libnl/libnl.mk b/package/libnl/libnl.mk index 85c0db86f6..e1a37aabfe 100644 --- a/package/libnl/libnl.mk +++ b/package/libnl/libnl.mk @@ -4,12 +4,14 @@ # ################################################################################ -LIBNL_VERSION = 3.2.27 +LIBNL_VERSION = 3.3.0 LIBNL_SITE = https://github.com/thom311/libnl/releases/download/libnl$(subst .,_,$(LIBNL_VERSION)) -LIBNL_LICENSE = LGPLv2.1+ +LIBNL_LICENSE = LGPL-2.1+ LIBNL_LICENSE_FILES = COPYING LIBNL_INSTALL_STAGING = YES -LIBNL_DEPENDENCIES = host-bison host-flex +LIBNL_DEPENDENCIES = host-bison host-flex host-pkgconf +# Patching Makefile.am +LIBNL_AUTORECONF = YES ifeq ($(BR2_PACKAGE_LIBNL_TOOLS),y) LIBNL_CONF_OPTS += --enable-cli @@ -17,4 +19,11 @@ else LIBNL_CONF_OPTS += --disable-cli endif +ifeq ($(BR2_PACKAGE_CHECK),y) +LIBNL_DEPENDENCIES += check +LIBNL_CONF_OPTS += --enable-unit-tests +else +LIBNL_CONF_OPTS += --disable-unit-tests +endif + $(eval $(autotools-package)) diff --git a/package/libnpth/Config.in b/package/libnpth/Config.in new file mode 100644 index 0000000000..71f9fcb352 --- /dev/null +++ b/package/libnpth/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_LIBNPTH + bool "libnpth" + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_USE_MMU # fork() + help + nPth is a library to provide the GNU Pth API and thus a + non-preemptive threads implementation. + + https://www.gnupg.org/related_software/npth/index.html + +comment "libnpth needs a toolchain w/ threads support" + depends on !BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_USE_MMU diff --git a/package/libnpth/libnpth.hash b/package/libnpth/libnpth.hash new file mode 100644 index 0000000000..f8cfefa448 --- /dev/null +++ b/package/libnpth/libnpth.hash @@ -0,0 +1,2 @@ +# Locally calculated after checking signature +sha256 294a690c1f537b92ed829d867bee537e46be93fbd60b16c04630fbbfcd9db3c2 npth-1.5.tar.bz2 diff --git a/package/libnpth/libnpth.mk b/package/libnpth/libnpth.mk new file mode 100644 index 0000000000..7b2eb2ae25 --- /dev/null +++ b/package/libnpth/libnpth.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# libnpth +# +################################################################################ + +LIBNPTH_VERSION = 1.5 +LIBNPTH_SOURCE = npth-$(LIBNPTH_VERSION).tar.bz2 +LIBNPTH_SITE = https://www.gnupg.org/ftp/gcrypt/npth +LIBNPTH_LICENSE = LGPL-2.0+ +LIBNPTH_LICENSE_FILES = COPYING.LIB +LIBNPTH_INSTALL_STAGING = YES + +$(eval $(autotools-package)) diff --git a/package/libnspr/0001-nios2.patch b/package/libnspr/0001-nios2.patch index 22cacd72a1..e10e7e9a66 100644 --- a/package/libnspr/0001-nios2.patch +++ b/package/libnspr/0001-nios2.patch @@ -3,14 +3,15 @@ Add Nios-II support [Gustavo: update for nspr 4.10.9] Signed-off-by: Ezequiel Garcia -diff -Nura nspr-4.10.9.orig/nspr/pr/include/md/_linux.cfg nspr-4.10.9/nspr/pr/include/md/_linux.cfg ---- nspr-4.10.9.orig/nspr/pr/include/md/_linux.cfg 2015-10-03 08:11:43.229387215 -0300 -+++ nspr-4.10.9/nspr/pr/include/md/_linux.cfg 2015-10-03 08:11:55.277798841 -0300 +Index: b/nspr/pr/include/md/_linux.cfg +=================================================================== +--- a/nspr/pr/include/md/_linux.cfg ++++ b/nspr/pr/include/md/_linux.cfg @@ -1017,6 +1017,51 @@ #define PR_BYTES_PER_WORD_LOG2 2 #define PR_BYTES_PER_DWORD_LOG2 3 -+#elif defined(nios2) ++#elif defined(__nios2__) + +#define IS_LITTLE_ENDIAN 1 +#undef IS_BIG_ENDIAN @@ -58,14 +59,15 @@ diff -Nura nspr-4.10.9.orig/nspr/pr/include/md/_linux.cfg nspr-4.10.9/nspr/pr/in #else #error "Unknown CPU architecture" -diff -Nura nspr-4.10.9.orig/nspr/pr/include/md/_linux.h nspr-4.10.9/nspr/pr/include/md/_linux.h ---- nspr-4.10.9.orig/nspr/pr/include/md/_linux.h 2015-10-03 08:11:43.229387215 -0300 -+++ nspr-4.10.9/nspr/pr/include/md/_linux.h 2015-10-03 08:12:22.474728003 -0300 +Index: b/nspr/pr/include/md/_linux.h +=================================================================== +--- a/nspr/pr/include/md/_linux.h ++++ b/nspr/pr/include/md/_linux.h @@ -57,6 +57,8 @@ #define _PR_SI_ARCHITECTURE "m32r" #elif defined(__or1k__) #define _PR_SI_ARCHITECTURE "or1k" -+#elif defined(nios2) ++#elif defined(__nios2__) +#define _PR_SI_ARCHITECTURE "nios2" #else #error "Unknown CPU architecture" diff --git a/package/libnspr/0002-microblaze.patch b/package/libnspr/0002-microblaze.patch index f1416e7e97..7cf1f0dfac 100644 --- a/package/libnspr/0002-microblaze.patch +++ b/package/libnspr/0002-microblaze.patch @@ -3,9 +3,10 @@ Add Microblaze support [Gustavo: update for nspr 4.10.9] Signed-off-by: Spenser Gilliland -diff -Nura nspr-4.10.9.orig/nspr/pr/include/md/_linux.cfg nspr-4.10.9/nspr/pr/include/md/_linux.cfg ---- nspr-4.10.9.orig/nspr/pr/include/md/_linux.cfg 2015-10-03 08:13:11.845414714 -0300 -+++ nspr-4.10.9/nspr/pr/include/md/_linux.cfg 2015-10-03 08:13:20.435708195 -0300 +Index: b/nspr/pr/include/md/_linux.cfg +=================================================================== +--- a/nspr/pr/include/md/_linux.cfg ++++ b/nspr/pr/include/md/_linux.cfg @@ -1062,6 +1062,56 @@ #define PR_BYTES_PER_WORD_LOG2 2 #define PR_BYTES_PER_DWORD_LOG2 3 @@ -63,18 +64,16 @@ diff -Nura nspr-4.10.9.orig/nspr/pr/include/md/_linux.cfg nspr-4.10.9/nspr/pr/in #else #error "Unknown CPU architecture" -diff -Nura nspr-4.10.9.orig/nspr/pr/include/md/_linux.h nspr-4.10.9/nspr/pr/include/md/_linux.h ---- nspr-4.10.9.orig/nspr/pr/include/md/_linux.h 2015-10-03 08:13:11.845414714 -0300 -+++ nspr-4.10.9/nspr/pr/include/md/_linux.h 2015-10-03 08:14:53.351882603 -0300 -@@ -57,8 +57,11 @@ +Index: b/nspr/pr/include/md/_linux.h +=================================================================== +--- a/nspr/pr/include/md/_linux.h ++++ b/nspr/pr/include/md/_linux.h +@@ -57,6 +57,8 @@ #define _PR_SI_ARCHITECTURE "m32r" #elif defined(__or1k__) #define _PR_SI_ARCHITECTURE "or1k" +#elif defined(__microblaze__) +#define _PR_SI_ARCHITECTURE "microblaze" - #elif defined(nios2) + #elif defined(__nios2__) #define _PR_SI_ARCHITECTURE "nios2" -+#elif defined(nios2) #else - #error "Unknown CPU architecture" - #endif diff --git a/package/libnspr/libnspr.hash b/package/libnspr/libnspr.hash index a4b19b7f9c..46c091e0da 100644 --- a/package/libnspr/libnspr.hash +++ b/package/libnspr/libnspr.hash @@ -1,2 +1,4 @@ -# From https://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v4.13.1/src/SHA256SUMS -sha256 5e4c1751339a76e7c772c0c04747488d7f8c98980b434dc846977e43117833ab nspr-4.13.1.tar.gz +# From https://ftp.mozilla.org/pub/nspr/releases/v4.17/src/SHA256SUMS +sha256 590a0aea29412ae22d7728038c21ef2ab42646e48172a47d2e4bb782846d1095 nspr-4.17.tar.gz +# Locally calculated +sha256 fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85 nspr/LICENSE diff --git a/package/libnspr/libnspr.mk b/package/libnspr/libnspr.mk index d95f970988..0c782ae309 100644 --- a/package/libnspr/libnspr.mk +++ b/package/libnspr/libnspr.mk @@ -4,13 +4,13 @@ # ################################################################################ -LIBNSPR_VERSION = 4.13.1 +LIBNSPR_VERSION = 4.17 LIBNSPR_SOURCE = nspr-$(LIBNSPR_VERSION).tar.gz LIBNSPR_SITE = https://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v$(LIBNSPR_VERSION)/src LIBNSPR_SUBDIR = nspr LIBNSPR_INSTALL_STAGING = YES LIBNSPR_CONFIG_SCRIPTS = nspr-config -LIBNSPR_LICENSE = MPLv2.0 +LIBNSPR_LICENSE = MPL-2.0 LIBNSPR_LICENSE_FILES = nspr/LICENSE # Set the host CFLAGS and LDFLAGS so NSPR does not guess wrongly diff --git a/package/libnss/0001-cross-compile.patch b/package/libnss/0001-cross-compile.patch deleted file mode 100644 index 31de71bc5a..0000000000 --- a/package/libnss/0001-cross-compile.patch +++ /dev/null @@ -1,48 +0,0 @@ -This patch allows us to set a value for the cross compiler via TARGETCC without -setting CC on the command line. CC is used for host tools as well as cross -compiled code so we cannot define it on the command line without breaking -the host tools build. - -[Gustavo: update for nss 3.16.1] -[baruch: add OPTIMIZER handling] -Signed-off-by: Will Newton - -diff -Nuar nss-3.16.1-orig/nss/coreconf/Linux.mk nss-3.16.1/nss/coreconf/Linux.mk ---- nss-3.16.1-orig/nss/coreconf/Linux.mk 2014-05-02 06:27:18.000000000 +0300 -+++ nss-3.16.1/nss/coreconf/Linux.mk 2014-07-01 02:38:18.701480512 +0300 -@@ -16,9 +16,13 @@ - IMPL_STRATEGY = _PTH - endif - --CC = gcc --CCC = g++ --RANLIB = ranlib -+TARGETCC = gcc -+TARGETCCC = g++ -+TARGETRANLIB = ranlib -+ -+CC = $(TARGETCC) -+CCC = $(TARGETCCC) -+RANLIB = $(TARGETRANLIB) - - DEFAULT_COMPILER = gcc - -@@ -125,6 +129,7 @@ - endif - endif - -+OPTIMIZER = $(TARGET_OPTIMIZER) - - ifeq ($(USE_PTHREADS),1) - OS_PTHREAD = -lpthread -diff -Nuar nss-3.16.1-orig/nss/coreconf/nsinstall/Makefile nss-3.16.1/nss/coreconf/nsinstall/Makefile ---- nss-3.16.1-orig/nss/coreconf/nsinstall/Makefile 2014-05-02 06:27:18.000000000 +0300 -+++ nss-3.16.1/nss/coreconf/nsinstall/Makefile 2014-07-01 02:38:48.102185011 +0300 -@@ -31,6 +31,7 @@ - - ifdef NATIVE_FLAGS - OS_CFLAGS=$(NATIVE_FLAGS) -+OPTIMIZER= - endif - - include $(DEPTH)/coreconf/rules.mk diff --git a/package/libnss/0002-uclibc.patch b/package/libnss/0001-uclibc.patch similarity index 100% rename from package/libnss/0002-uclibc.patch rename to package/libnss/0001-uclibc.patch diff --git a/package/libnss/0003-it-uninitialized-fix.patch b/package/libnss/0003-it-uninitialized-fix.patch deleted file mode 100644 index 7736c6a939..0000000000 --- a/package/libnss/0003-it-uninitialized-fix.patch +++ /dev/null @@ -1,24 +0,0 @@ -# HG changeset patch -# User catdesk -# Date 1477710600 -7200 -# Sat Oct 29 05:10:00 2016 +0200 -# Node ID b9ef971b94ab110302d49255339077bc1b4aed7f -# Parent eb8c96563cd70aa69d48b01516085f7d2fb46178 -Bug 1313846 - Declare 'it = NULL' earlier. r=franziskus - -[Thomas: patch taken from upstream mercurial repository, revision -12791.] -Signed-off-by: Thomas Petazzoni - -diff -r eb8c96563cd7 -r b9ef971b94ab lib/jar/jarfile.c ---- a/nss/lib/jar/jarfile.c Mon Oct 31 17:31:20 2016 +0100 -+++ b/nss/lib/jar/jarfile.c Sat Oct 29 05:10:00 2016 +0200 -@@ -657,7 +657,7 @@ - jar_listzip(JAR *jar, JAR_FILE fp) - { - ZZLink *ent; -- JAR_Item *it; -+ JAR_Item *it = NULL; - JAR_Physical *phy = NULL; - struct ZipLocal *Local = PORT_ZNew(struct ZipLocal); - struct ZipCentral *Central = PORT_ZNew(struct ZipCentral); diff --git a/package/libnss/Config.in b/package/libnss/Config.in index f07bb043a6..599c9a6536 100644 --- a/package/libnss/Config.in +++ b/package/libnss/Config.in @@ -1,11 +1,11 @@ config BR2_PACKAGE_LIBNSS bool "libnss" - select BR2_PACKAGE_LIBNSPR - select BR2_PACKAGE_SQLITE - select BR2_PACKAGE_ZLIB depends on BR2_TOOLCHAIN_HAS_THREADS # libnspr depends on BR2_PACKAGE_LIBNSPR_ARCH_SUPPORT # libnspr depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_LIBNSPR + select BR2_PACKAGE_SQLITE + select BR2_PACKAGE_ZLIB help Network Security Services (NSS) is a set of libraries designed to support development of security-enabled client and server diff --git a/package/libnss/libnss.hash b/package/libnss/libnss.hash index 975e52d238..6c8ce83784 100644 --- a/package/libnss/libnss.hash +++ b/package/libnss/libnss.hash @@ -1,2 +1,4 @@ -# From https://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_27_2_RTM/src/SHA256SUMS -sha256 dc8ac8524469d0230274fd13a53fdcd74efe4aa67205dde1a4a92be87dc28524 nss-3.27.2.tar.gz +# From https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_33_RTM/src/SHA256SUMS +sha256 98f0dabd36408e83dd3a11727336cc3cdfee4cbdd9aede2b2831eb2389c284e4 nss-3.33.tar.gz +# Locally calculated +sha256 a20c1a32d1f8102432360b42e932869f7c11c7cdbacf9cac554c422132af47f4 nss/COPYING diff --git a/package/libnss/libnss.mk b/package/libnss/libnss.mk index 76532e8117..27d305cc34 100644 --- a/package/libnss/libnss.mk +++ b/package/libnss/libnss.mk @@ -4,13 +4,13 @@ # ################################################################################ -LIBNSS_VERSION = 3.27.2 +LIBNSS_VERSION = 3.33 LIBNSS_SOURCE = nss-$(LIBNSS_VERSION).tar.gz LIBNSS_SITE = https://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_$(subst .,_,$(LIBNSS_VERSION))_RTM/src LIBNSS_DISTDIR = dist LIBNSS_INSTALL_STAGING = YES LIBNSS_DEPENDENCIES = libnspr sqlite zlib -LIBNSS_LICENSE = MPLv2.0 +LIBNSS_LICENSE = MPL-2.0 LIBNSS_LICENSE_FILES = nss/COPYING # --gc-sections triggers binutils ld segfault @@ -33,9 +33,6 @@ LIBNSS_BUILD_VARS = \ NSS_USE_SYSTEM_SQLITE=1 \ NSS_ENABLE_ECC=1 \ NATIVE_CC="$(HOSTCC)" \ - TARGETCC="$(TARGET_CC)" \ - TARGETCCC="$(TARGET_CXX)" \ - TARGETRANLIB="$(TARGET_RANLIB)" \ OS_ARCH="Linux" \ OS_RELEASE="2.6" \ OS_TEST="$(ARCH)" @@ -55,17 +52,16 @@ endif endif define LIBNSS_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE1) -C $(@D)/nss coreconf \ + $(TARGET_CONFIGURE_OPTS) $(MAKE1) -C $(@D)/nss coreconf \ SOURCE_MD_DIR=$(@D)/$(LIBNSS_DISTDIR) \ DIST=$(@D)/$(LIBNSS_DISTDIR) \ CHECKLOC= \ $(LIBNSS_BUILD_VARS) - $(TARGET_MAKE_ENV) $(MAKE1) -C $(@D)/nss lib/dbm all \ + $(TARGET_CONFIGURE_OPTS) $(MAKE1) -C $(@D)/nss lib/dbm all \ SOURCE_MD_DIR=$(@D)/$(LIBNSS_DISTDIR) \ DIST=$(@D)/$(LIBNSS_DISTDIR) \ CHECKLOC= \ - $(LIBNSS_BUILD_VARS) TARGET_OPTIMIZER="$(TARGET_CFLAGS)" \ - NATIVE_FLAGS="$(HOST_CFLAGS)" + $(LIBNSS_BUILD_VARS) NATIVE_FLAGS="$(HOST_CFLAGS)" endef define LIBNSS_INSTALL_STAGING_CMDS diff --git a/package/liboauth/Config.in b/package/liboauth/Config.in index 77a78f115a..4ed0efa6b1 100644 --- a/package/liboauth/Config.in +++ b/package/liboauth/Config.in @@ -3,8 +3,9 @@ config BR2_PACKAGE_LIBOAUTH select BR2_PACKAGE_OPENSSL help liboauth is a collection of c functions implementing the oAuth - Core 1.0 Rev A standard API. liboauth provides basic functions to - escape and encode parameters according to oAuth specs and offers - high-level functions to sign requests or verify signatures. + Core 1.0 Rev A standard API. liboauth provides basic functions + to escape and encode parameters according to oAuth specs and + offers high-level functions to sign requests or verify + signatures. http://liboauth.sourceforge.net/ diff --git a/package/libogg/libogg.mk b/package/libogg/libogg.mk index 8fff52970b..28b55a888f 100644 --- a/package/libogg/libogg.mk +++ b/package/libogg/libogg.mk @@ -7,7 +7,7 @@ LIBOGG_VERSION = 1.3.2 LIBOGG_SOURCE = libogg-$(LIBOGG_VERSION).tar.xz LIBOGG_SITE = http://downloads.xiph.org/releases/ogg -LIBOGG_LICENSE = BSD-3c +LIBOGG_LICENSE = BSD-3-Clause LIBOGG_LICENSE_FILES = COPYING LIBOGG_INSTALL_STAGING = YES diff --git a/package/libopenh264/libopenh264.mk b/package/libopenh264/libopenh264.mk index 40bbf80e25..feead5b849 100644 --- a/package/libopenh264/libopenh264.mk +++ b/package/libopenh264/libopenh264.mk @@ -6,7 +6,7 @@ LIBOPENH264_VERSION = v1.6.0 LIBOPENH264_SITE = $(call github,cisco,openh264,$(LIBOPENH264_VERSION)) -LIBOPENH264_LICENSE = BSD-2c +LIBOPENH264_LICENSE = BSD-2-Clause LIBOPENH264_LICENSE_FILES = LICENSE LIBOPENH264_INSTALL_STAGING = YES diff --git a/package/openssl/0001-Dont-waste-time-building-manpages-if-we-re-not-going.patch b/package/libopenssl/0001-Dont-waste-time-building-manpages-if-we-re-not-going.patch similarity index 100% rename from package/openssl/0001-Dont-waste-time-building-manpages-if-we-re-not-going.patch rename to package/libopenssl/0001-Dont-waste-time-building-manpages-if-we-re-not-going.patch diff --git a/package/openssl/0002-cryptodev-Fix-issue-with-signature-generation.patch b/package/libopenssl/0002-cryptodev-Fix-issue-with-signature-generation.patch similarity index 100% rename from package/openssl/0002-cryptodev-Fix-issue-with-signature-generation.patch rename to package/libopenssl/0002-cryptodev-Fix-issue-with-signature-generation.patch diff --git a/package/libopenssl/libopenssl.hash b/package/libopenssl/libopenssl.hash new file mode 100644 index 0000000000..c6226c302f --- /dev/null +++ b/package/libopenssl/libopenssl.hash @@ -0,0 +1,7 @@ +# From https://www.openssl.org/source/openssl-1.0.2m.tar.gz.sha256 +sha256 8c6ff15ec6b319b50788f42c7abc2890c08ba5a1cdcd3810eb9092deada37b0f openssl-1.0.2m.tar.gz +# Locally computed +sha256 eddd8a5123748052c598214487ac178e4bfa4e31ba2ec520c70d59c8c5bfa2e9 openssl-1.0.2a-parallel-install-dirs.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d +sha256 147c3eeaad614c044749ea527cb433eae5e2d5cad34a78c6ba61cd967bfbe01f openssl-1.0.2a-parallel-obj-headers.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d +sha256 30cb49489de5041841a74da9155cd4fabfbce33237262ba7cd23974314ae2956 openssl-1.0.2a-parallel-symlinking.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d +sha256 deaf6f3af41874ecc6d63841ea14b8e6c71cea81d4a511a754bc90c9a993147f openssl-1.0.2d-parallel-build.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d diff --git a/package/libopenssl/libopenssl.mk b/package/libopenssl/libopenssl.mk new file mode 100644 index 0000000000..8cccb9c606 --- /dev/null +++ b/package/libopenssl/libopenssl.mk @@ -0,0 +1,171 @@ +################################################################################ +# +# libopenssl +# +################################################################################ + +LIBOPENSSL_VERSION = 1.0.2m +LIBOPENSSL_SITE = http://www.openssl.org/source +LIBOPENSSL_SOURCE = openssl-$(LIBOPENSSL_VERSION).tar.gz +LIBOPENSSL_LICENSE = OpenSSL or SSLeay +LIBOPENSSL_LICENSE_FILES = LICENSE +LIBOPENSSL_INSTALL_STAGING = YES +LIBOPENSSL_DEPENDENCIES = zlib +HOST_LIBOPENSSL_DEPENDENCIES = host-zlib +LIBOPENSSL_TARGET_ARCH = generic32 +LIBOPENSSL_CFLAGS = $(TARGET_CFLAGS) +LIBOPENSSL_PROVIDES = openssl +LIBOPENSSL_PATCH = \ + https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-libs/openssl/files/openssl-1.0.2d-parallel-build.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d \ + https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-libs/openssl/files/openssl-1.0.2a-parallel-obj-headers.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d \ + https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-libs/openssl/files/openssl-1.0.2a-parallel-install-dirs.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d \ + https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-libs/openssl/files/openssl-1.0.2a-parallel-symlinking.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d + +# relocation truncated to fit: R_68K_GOT16O +ifeq ($(BR2_m68k_cf),y) +LIBOPENSSL_CFLAGS += -mxgot +endif + +ifeq ($(BR2_USE_MMU),) +LIBOPENSSL_CFLAGS += -DHAVE_FORK=0 +endif + +ifeq ($(BR2_PACKAGE_HAS_CRYPTODEV),y) +LIBOPENSSL_CFLAGS += -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS +LIBOPENSSL_DEPENDENCIES += cryptodev +endif + +# Some architectures are optimized in OpenSSL +# Doesn't work for thumb-only (Cortex-M?) +ifeq ($(BR2_ARM_CPU_HAS_ARM),y) +LIBOPENSSL_TARGET_ARCH = armv4 +endif +ifeq ($(ARCH),aarch64) +LIBOPENSSL_TARGET_ARCH = aarch64 +endif +ifeq ($(ARCH),powerpc) +# 4xx cores seem to have trouble with openssl's ASM optimizations +ifeq ($(BR2_powerpc_401)$(BR2_powerpc_403)$(BR2_powerpc_405)$(BR2_powerpc_405fp)$(BR2_powerpc_440)$(BR2_powerpc_440fp),) +LIBOPENSSL_TARGET_ARCH = ppc +endif +endif +ifeq ($(ARCH),powerpc64) +LIBOPENSSL_TARGET_ARCH = ppc64 +endif +ifeq ($(ARCH),powerpc64le) +LIBOPENSSL_TARGET_ARCH = ppc64le +endif +ifeq ($(ARCH),x86_64) +LIBOPENSSL_TARGET_ARCH = x86_64 +endif + +define HOST_LIBOPENSSL_CONFIGURE_CMDS + (cd $(@D); \ + $(HOST_CONFIGURE_OPTS) \ + ./config \ + --prefix=$(HOST_DIR) \ + --openssldir=$(HOST_DIR)/etc/ssl \ + --libdir=/lib \ + shared \ + zlib-dynamic \ + ) + $(SED) "s#-O[0-9]#$(HOST_CFLAGS)#" $(@D)/Makefile +endef + +define LIBOPENSSL_CONFIGURE_CMDS + (cd $(@D); \ + $(TARGET_CONFIGURE_ARGS) \ + $(TARGET_CONFIGURE_OPTS) \ + ./Configure \ + linux-$(LIBOPENSSL_TARGET_ARCH) \ + --prefix=/usr \ + --openssldir=/etc/ssl \ + --libdir=/lib \ + $(if $(BR2_TOOLCHAIN_HAS_THREADS),threads,no-threads) \ + $(if $(BR2_STATIC_LIBS),no-shared,shared) \ + no-rc5 \ + enable-camellia \ + enable-mdc2 \ + enable-tlsext \ + $(if $(BR2_STATIC_LIBS),zlib,zlib-dynamic) \ + $(if $(BR2_STATIC_LIBS),no-dso) \ + ) + $(SED) "s#-march=[-a-z0-9] ##" -e "s#-mcpu=[-a-z0-9] ##g" $(@D)/Makefile + $(SED) "s#-O[0-9]#$(LIBOPENSSL_CFLAGS)#" $(@D)/Makefile + $(SED) "s# build_tests##" $(@D)/Makefile +endef + +# libdl is not available in a static build, and this is not implied by no-dso +ifeq ($(BR2_STATIC_LIBS),y) +define LIBOPENSSL_FIXUP_STATIC_MAKEFILE + $(SED) 's#-ldl##g' $(@D)/Makefile +endef +LIBOPENSSL_POST_CONFIGURE_HOOKS += LIBOPENSSL_FIXUP_STATIC_MAKEFILE +endif + +define HOST_LIBOPENSSL_BUILD_CMDS + $(HOST_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define LIBOPENSSL_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define LIBOPENSSL_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) INSTALL_PREFIX=$(STAGING_DIR) install +endef + +define HOST_LIBOPENSSL_INSTALL_CMDS + $(HOST_MAKE_ENV) $(MAKE) -C $(@D) install +endef + +define LIBOPENSSL_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) INSTALL_PREFIX=$(TARGET_DIR) install + rm -rf $(TARGET_DIR)/usr/lib/ssl + rm -f $(TARGET_DIR)/usr/bin/c_rehash +endef + +# libdl has no business in a static build +ifeq ($(BR2_STATIC_LIBS),y) +define LIBOPENSSL_FIXUP_STATIC_PKGCONFIG + $(SED) 's#-ldl##' $(STAGING_DIR)/usr/lib/pkgconfig/libcrypto.pc + $(SED) 's#-ldl##' $(STAGING_DIR)/usr/lib/pkgconfig/libssl.pc + $(SED) 's#-ldl##' $(STAGING_DIR)/usr/lib/pkgconfig/openssl.pc +endef +LIBOPENSSL_POST_INSTALL_STAGING_HOOKS += LIBOPENSSL_FIXUP_STATIC_PKGCONFIG +endif + +ifneq ($(BR2_STATIC_LIBS),y) +# libraries gets installed read only, so strip fails +define LIBOPENSSL_INSTALL_FIXUPS_SHARED + chmod +w $(TARGET_DIR)/usr/lib/engines/lib*.so + for i in $(addprefix $(TARGET_DIR)/usr/lib/,libcrypto.so.* libssl.so.*); \ + do chmod +w $$i; done +endef +LIBOPENSSL_POST_INSTALL_TARGET_HOOKS += LIBOPENSSL_INSTALL_FIXUPS_SHARED +endif + +ifeq ($(BR2_PACKAGE_PERL),) +define LIBOPENSSL_REMOVE_PERL_SCRIPTS + $(RM) -f $(TARGET_DIR)/etc/ssl/misc/{CA.pl,tsget} +endef +LIBOPENSSL_POST_INSTALL_TARGET_HOOKS += LIBOPENSSL_REMOVE_PERL_SCRIPTS +endif + +ifeq ($(BR2_PACKAGE_LIBOPENSSL_BIN),) +define LIBOPENSSL_REMOVE_BIN + $(RM) -f $(TARGET_DIR)/usr/bin/openssl + $(RM) -f $(TARGET_DIR)/etc/ssl/misc/{CA.*,c_*} +endef +LIBOPENSSL_POST_INSTALL_TARGET_HOOKS += LIBOPENSSL_REMOVE_BIN +endif + +ifneq ($(BR2_PACKAGE_LIBOPENSSL_ENGINES),y) +define LIBOPENSSL_REMOVE_LIBOPENSSL_ENGINES + rm -rf $(TARGET_DIR)/usr/lib/engines +endef +LIBOPENSSL_POST_INSTALL_TARGET_HOOKS += LIBOPENSSL_REMOVE_LIBOPENSSL_ENGINES +endif + +$(eval $(generic-package)) +$(eval $(host-generic-package)) diff --git a/package/liboping/0001-configure-also-check-for-clockgettime.patch b/package/liboping/0001-configure-also-check-for-clockgettime.patch deleted file mode 100644 index b2c585559a..0000000000 --- a/package/liboping/0001-configure-also-check-for-clockgettime.patch +++ /dev/null @@ -1,39 +0,0 @@ -From a45f3610beba1f7e6e1a038e3a1fe4150057c262 Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Tue, 5 Jul 2016 15:31:28 +0200 -Subject: [PATCH] configure: also check for clockgettime() - -clock_gettime() is also in -lrt so we also need to check for it. - -Signed-off-by: "Yann E. MORIN" ---- - configure.ac | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -diff --git a/configure.ac b/configure.ac -index f83f5ab..3b6ae09 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -199,12 +199,16 @@ fi - - AC_SUBST(LIBOPING_PC_LIBS_PRIVATE) - --nanosleep_needs_rt="no" -+needs_rt="no" - AC_CHECK_FUNCS(nanosleep, [], - AC_CHECK_LIB(rt, nanosleep, -- [nanosleep_needs_rt="yes"], -+ [needs_rt="yes"], - AC_MSG_ERROR(cannot find nanosleep))) --AM_CONDITIONAL(BUILD_WITH_LIBRT, test "x$nanosleep_needs_rt" = "xyes") -+AC_CHECK_FUNCS(clock_gettime, [], -+ AC_CHECK_LIB(rt, clock_gettime, -+ [needs_rt="yes"], -+ AC_MSG_ERROR(cannot find clock_gettime))) -+AM_CONDITIONAL(BUILD_WITH_LIBRT, test "x$needs_rt" = "xyes") - - with_ncurses="no" - AC_CHECK_HEADERS(ncursesw/ncurses.h ncurses.h, [with_ncurses="yes"], []) --- -2.7.4 - diff --git a/package/liboping/liboping.mk b/package/liboping/liboping.mk index dd70387199..114e0c27e5 100644 --- a/package/liboping/liboping.mk +++ b/package/liboping/liboping.mk @@ -10,9 +10,7 @@ LIBOPING_SOURCE = liboping-$(LIBOPING_VERSION).tar.bz2 LIBOPING_INSTALL_STAGING = YES LIBOPING_DEPENDENCIES = $(if $(BR2_PACKAGE_NCURSES),ncurses) LIBOPING_CONF_OPTS = --without-perl-bindings -LIBOPING_LICENSE = LGPLv2.1+, GPLv2 +LIBOPING_LICENSE = LGPL-2.1+, GPL-2.0 LIBOPING_LICENSE_FILES = COPYING -LIBOPING_AUTORECONF = YES - $(eval $(autotools-package)) diff --git a/package/libosip2/0001-fix-bug-report-sr-109133-Heap-buffer-overflow-in-uti.patch b/package/libosip2/0001-fix-bug-report-sr-109133-Heap-buffer-overflow-in-uti.patch new file mode 100644 index 0000000000..7f2c2d46d2 --- /dev/null +++ b/package/libosip2/0001-fix-bug-report-sr-109133-Heap-buffer-overflow-in-uti.patch @@ -0,0 +1,30 @@ +From 7e0793e15e21f68337e130c67b031ca38edf055f Mon Sep 17 00:00:00 2001 +From: Aymeric Moizard +Date: Mon, 5 Sep 2016 15:01:53 +0200 +Subject: [PATCH] * fix bug report: sr #109133: Heap buffer overflow in + utility function *osip_clrncpy* https://savannah.gnu.org/support/?109133 + +Signed-off-by: Peter Korsgaard +--- + src/osipparser2/osip_port.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/osipparser2/osip_port.c b/src/osipparser2/osip_port.c +index 0e64147..d8941b0 100644 +--- a/src/osipparser2/osip_port.c ++++ b/src/osipparser2/osip_port.c +@@ -1291,8 +1291,10 @@ osip_clrncpy (char *dst, const char *src, size_t len) + char *p; + size_t spaceless_length; + +- if (src == NULL) ++ if (src == NULL || len == 0) { ++ *dst = '\0'; + return NULL; ++ } + + /* find the start of relevant text */ + pbeg = src; +-- +2.11.0 + diff --git a/package/libosip2/libosip2.mk b/package/libosip2/libosip2.mk index f22dcc3117..9302b9912e 100644 --- a/package/libosip2/libosip2.mk +++ b/package/libosip2/libosip2.mk @@ -7,7 +7,7 @@ LIBOSIP2_VERSION = 3.6.0 LIBOSIP2_SITE = $(BR2_GNU_MIRROR)/osip LIBOSIP2_INSTALL_STAGING = YES -LIBOSIP2_LICENSE = LGPLv2.1+ +LIBOSIP2_LICENSE = LGPL-2.1+ LIBOSIP2_LICENSE_FILES = COPYING ifeq ($(BR2_arc),y) diff --git a/package/libpam-radius-auth/libpam-radius-auth.mk b/package/libpam-radius-auth/libpam-radius-auth.mk index 5ed5953c5b..184e48d3b7 100644 --- a/package/libpam-radius-auth/libpam-radius-auth.mk +++ b/package/libpam-radius-auth/libpam-radius-auth.mk @@ -9,7 +9,7 @@ LIBPAM_RADIUS_AUTH_SITE = ftp://ftp.freeradius.org/pub/radius LIBPAM_RADIUS_AUTH_SOURCE = pam_radius-$(LIBPAM_RADIUS_AUTH_VERSION).tar.gz LIBPAM_RADIUS_AUTH_DEPENDENCIES = linux-pam LIBPAM_RADIUS_AUTH_INSTALL_STAGING = YES -LIBPAM_RADIUS_AUTH_LICENSE = GPLv2+ +LIBPAM_RADIUS_AUTH_LICENSE = GPL-2.0+ LIBPAM_RADIUS_AUTH_LICENSE_FILES = LICENSE # While autoconf is used for configuration, the Makefile is # hand-written, so we need to pass CC, LD, CFLAGS at build time. diff --git a/package/libpam-tacplus/libpam-tacplus.mk b/package/libpam-tacplus/libpam-tacplus.mk index 6696d89887..f43e2b9a49 100644 --- a/package/libpam-tacplus/libpam-tacplus.mk +++ b/package/libpam-tacplus/libpam-tacplus.mk @@ -6,7 +6,7 @@ LIBPAM_TACPLUS_VERSION = 1.3.9 LIBPAM_TACPLUS_SITE = $(call github,jeroennijhof,pam_tacplus,$(LIBPAM_TACPLUS_VERSION)) -LIBPAM_TACPLUS_LICENSE = GPLv2+ +LIBPAM_TACPLUS_LICENSE = GPL-2.0+ LIBPAM_TACPLUS_LICENSE_FILES = COPYING LIBPAM_TACPLUS_DEPENDENCIES = linux-pam # Fetching from github, we need to generate the configure script diff --git a/package/libpcap/Config.in b/package/libpcap/Config.in index 7f9517a7bc..643acbef6e 100644 --- a/package/libpcap/Config.in +++ b/package/libpcap/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_LIBPCAP bool "libpcap" select BR2_PACKAGE_ZLIB help - A system-independent library for user-level network packet capture. + A system-independent library for user-level network packet + capture. http://www.tcpdump.org/ diff --git a/package/libpcap/libpcap.mk b/package/libpcap/libpcap.mk index 505e2abe3d..c4c5f31465 100644 --- a/package/libpcap/libpcap.mk +++ b/package/libpcap/libpcap.mk @@ -6,7 +6,7 @@ LIBPCAP_VERSION = 1.8.1 LIBPCAP_SITE = http://www.tcpdump.org/release -LIBPCAP_LICENSE = BSD-3c +LIBPCAP_LICENSE = BSD-3-Clause LIBPCAP_LICENSE_FILES = LICENSE LIBPCAP_INSTALL_STAGING = YES LIBPCAP_DEPENDENCIES = zlib host-flex host-bison diff --git a/package/libpciaccess/0001-limits_h.patch b/package/libpciaccess/0001-limits_h.patch deleted file mode 100644 index c5c8444a59..0000000000 --- a/package/libpciaccess/0001-limits_h.patch +++ /dev/null @@ -1,22 +0,0 @@ -Fix compilation error with musl-based toolchain - -linux_sysfs.c:751:15: error: 'PATH_MAX' undeclared (first use in this function) - char name[PATH_MAX]; - -Patch applied upstream: -http://cgit.freedesktop.org/xorg/lib/libpciaccess/commit/?id=8ea3af620a2d4ad5648917b4a0ef2b23ff566774 - -Signed-off-by: Felix Janda -Signed-off-by: Bernd Kuhls - -diff -uNr libpciaccess-0.13.3.org/src/linux_sysfs.c libpciaccess-0.13.3/src/linux_sysfs.c ---- libpciaccess-0.13.3.org/src/linux_sysfs.c 2015-02-04 00:59:14.000000000 +0100 -+++ libpciaccess-0.13.3/src/linux_sysfs.c 2015-04-10 21:57:35.000000000 +0200 -@@ -44,6 +44,7 @@ - #include - #include - #include -+#include - - #if defined(__i386__) || defined(__x86_64__) || defined(__arm__) - #include diff --git a/package/libpciaccess/0002-musl-arm.patch b/package/libpciaccess/0001-musl-arm.patch similarity index 100% rename from package/libpciaccess/0002-musl-arm.patch rename to package/libpciaccess/0001-musl-arm.patch diff --git a/package/libpciaccess/libpciaccess.hash b/package/libpciaccess/libpciaccess.hash index 0483c4c814..b73c27c290 100644 --- a/package/libpciaccess/libpciaccess.hash +++ b/package/libpciaccess/libpciaccess.hash @@ -1,2 +1,5 @@ -# From http://lists.x.org/archives/xorg-announce/2015-April/002590.html -sha256 07f864654561e4ac8629a0ef9c8f07fbc1f8592d1b6c418431593e9ba2cf2fcf libpciaccess-0.13.4.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2017-October/002817.html +md5 8f436e151d5106a9cfaa71857a066d33 libpciaccess-0.14.tar.bz2 +sha1 f70a958bf4e744cb4ee93be64e9bc52ac05cdaeb libpciaccess-0.14.tar.bz2 +sha256 3df543e12afd41fea8eac817e48cbfde5aed8817b81670a4e9e493bb2f5bf2a4 libpciaccess-0.14.tar.bz2 +sha512 bf40214dfd22f2a223f7c948566e6eaa4bfed60116e71b3eb19f6fe7ab2c4546649eb0416c06d5983e476ea5e27de036936646eb5f800ea97763b6d1f1976f4b libpciaccess-0.14.tar.bz2 diff --git a/package/libpciaccess/libpciaccess.mk b/package/libpciaccess/libpciaccess.mk index ced0786a18..93b5fc7ac2 100644 --- a/package/libpciaccess/libpciaccess.mk +++ b/package/libpciaccess/libpciaccess.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBPCIACCESS_VERSION = 0.13.4 +LIBPCIACCESS_VERSION = 0.14 LIBPCIACCESS_SOURCE = libpciaccess-$(LIBPCIACCESS_VERSION).tar.bz2 LIBPCIACCESS_SITE = http://xorg.freedesktop.org/releases/individual/lib LIBPCIACCESS_LICENSE = MIT diff --git a/package/libphidget/Config.in b/package/libphidget/Config.in index 7466fb5056..61e915481d 100644 --- a/package/libphidget/Config.in +++ b/package/libphidget/Config.in @@ -4,20 +4,22 @@ config BR2_PACKAGE_LIBPHIDGET depends on !BR2_STATIC_LIBS select BR2_PACKAGE_LIBUSB help - The libphidget library provides an API for controlling Phidgets - USB devices. The library translates API function calls to libusb - function calls to control attached Phidgets devices that provide - GPIO's, DAC's, accelerometers, servo motors, and other capabilities - either singly or on combo devices. + The libphidget library provides an API for controlling + Phidgets USB devices. The library translates API function + calls to libusb function calls to control attached Phidgets + devices that provide GPIO's, DAC's, accelerometers, servo + motors, and other capabilities either singly or on combo + devices. To use libphidget for controlling locally attached devices you need to set up the userspace USB device tree /dev/bus/usb. See file udev/99-phidgets.rules. - The libphidget library also contains an API for sending commands - to a local or remote phidgetwebservice using HTTP. The - phidgetwebservice then translates HTTP requests to libphidget API - function calls to control locally attached Phidgets devices. + The libphidget library also contains an API for sending + commands to a local or remote phidgetwebservice using HTTP. + The phidgetwebservice then translates HTTP requests to + libphidget API function calls to control locally attached + Phidgets devices. http://phidgets.com/ diff --git a/package/libphidget/libphidget.mk b/package/libphidget/libphidget.mk index 1b2557d726..803d5012a4 100644 --- a/package/libphidget/libphidget.mk +++ b/package/libphidget/libphidget.mk @@ -6,11 +6,11 @@ LIBPHIDGET_VERSION = 2.1.8.20140319 LIBPHIDGET_SOURCE = libphidget_$(LIBPHIDGET_VERSION).tar.gz -LIBPHIDGET_SITE = http://www.phidgets.com/downloads/libraries +LIBPHIDGET_SITE = https://www.phidgets.com/downloads/phidget21/libraries/linux/libphidget LIBPHIDGET_DEPENDENCIES = libusb LIBPHIDGET_CONF_OPTS = --disable-ldconfig LIBPHIDGET_INSTALL_STAGING = YES -LIBPHIDGET_LICENSE = LGPLv3 +LIBPHIDGET_LICENSE = LGPL-3.0 LIBPHIDGET_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/libpjsip/0001-Fixed-possible-function-name-clash.patch b/package/libpjsip/0001-Fixed-possible-function-name-clash.patch new file mode 100644 index 0000000000..435b0eab54 --- /dev/null +++ b/package/libpjsip/0001-Fixed-possible-function-name-clash.patch @@ -0,0 +1,26 @@ +Re #2059 (misc): Fixed possible function name clash with md5 due to non-static function. + +Backported from: https://trac.pjsip.org/repos/changeset/5688 +Signed-off-by: Luca Ceresoli + +Index: pjlib-util/src/pjlib-util/md5.c +=================================================================== +diff --git a/pjproject/pjlib-util/src/pjlib-util/md5.c b/pjproject/pjlib-util/src/pjlib-util/md5.c +--- a/pjlib-util/src/pjlib-util/md5.c (revision 5687) ++++ b/pjlib-util/src/pjlib-util/md5.c (revision 5688) +@@ -29,13 +29,13 @@ + #ifndef HIGHFIRST + #define byteReverse(buf, len) /* Nothing */ + #else +-void byteReverse(unsigned char *buf, unsigned longs); ++static void byteReverse(unsigned char *buf, unsigned longs); + + #ifndef ASM_MD5 + /* + * Note: this code is harmless on little-endian machines. + */ +-void byteReverse(unsigned char *buf, unsigned longs) ++static void byteReverse(unsigned char *buf, unsigned longs) + { + pj_uint32_t t; + do { diff --git a/package/libpjsip/libpjsip.hash b/package/libpjsip/libpjsip.hash index ec636a8562..edac3d578f 100644 --- a/package/libpjsip/libpjsip.hash +++ b/package/libpjsip/libpjsip.hash @@ -1,5 +1,6 @@ -# From http://www.pjsip.org/release/2.6/MD5SUM.TXT -md5 c347a672679e7875ce572e18517884b2 pjproject-2.6.tar.bz2 +# From http://www.pjsip.org/release/2.7.1/MD5SUM.TXT +md5 99a64110fa5c2debff40e0e8d4676380 pjproject-2.7.1.tar.bz2 # Locally computed -sha256 2f5a1da1c174d845871c758bd80fbb580fca7799d3cfaa0d3c4e082b5161c7b4 pjproject-2.6.tar.bz2 +sha256 59fabc62a02b2b80857297cfb10e2c68c473f4a0acc6e848cfefe8421f2c3126 pjproject-2.7.1.tar.bz2 +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/libpjsip/libpjsip.mk b/package/libpjsip/libpjsip.mk index b0d06099bb..eca6d8f1ee 100644 --- a/package/libpjsip/libpjsip.mk +++ b/package/libpjsip/libpjsip.mk @@ -4,11 +4,11 @@ # ################################################################################ -LIBPJSIP_VERSION = 2.6 +LIBPJSIP_VERSION = 2.7.1 LIBPJSIP_SOURCE = pjproject-$(LIBPJSIP_VERSION).tar.bz2 LIBPJSIP_SITE = http://www.pjsip.org/release/$(LIBPJSIP_VERSION) LIBPJSIP_DEPENDENCIES = libsrtp -LIBPJSIP_LICENSE = GPLv2+ +LIBPJSIP_LICENSE = GPL-2.0+ LIBPJSIP_LICENSE_FILES = COPYING LIBPJSIP_INSTALL_STAGING = YES LIBPJSIP_MAKE = $(MAKE1) @@ -50,7 +50,6 @@ LIBPJSIP_CONF_OPTS = \ --disable-openh264 \ --disable-libyuv \ --disable-ipp \ - --disable-ssl \ --disable-silk \ --with-external-srtp @@ -59,8 +58,8 @@ LIBPJSIP_CONF_OPTS = \ # so we want to use it. LIBPJSIP_CONF_OPTS += --enable-epoll -ifeq ($(BR2_PACKAGE_OPENSSL),y) -LIBPJSIP_DEPENDENCIES += openssl +ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) +LIBPJSIP_DEPENDENCIES += libopenssl LIBPJSIP_CONF_OPTS += --with-ssl=$(STAGING_DIR)/usr else LIBPJSIP_CONF_OPTS += --disable-ssl diff --git a/package/libplatform/Config.in b/package/libplatform/Config.in index 7d275b1fc9..ade6baf2c2 100644 --- a/package/libplatform/Config.in +++ b/package/libplatform/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_LIBPLATFORM bool help - Platform support library used by libCEC and binary add-ons for Kodi + Platform support library used by libCEC and binary add-ons for + Kodi https://github.com/Pulse-Eight/platform diff --git a/package/libplatform/libplatform.hash b/package/libplatform/libplatform.hash index e3d5ed5a91..5162b43fad 100644 --- a/package/libplatform/libplatform.hash +++ b/package/libplatform/libplatform.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 88711f1b949285867538a0b2e4189532778e1515325dfa1851eae9d18b6affd9 libplatform-2.1.0.tar.gz +sha256 dd07bea9cb5676220586e772f09eab51f1093e5ef0faadee80f7c0e99f5f6c1c libplatform-2d90f98620e25f47702c9e848380c0d93f29462b.tar.gz diff --git a/package/libplatform/libplatform.mk b/package/libplatform/libplatform.mk index d9cd582f71..c805af2e16 100644 --- a/package/libplatform/libplatform.mk +++ b/package/libplatform/libplatform.mk @@ -4,9 +4,9 @@ # ################################################################################ -LIBPLATFORM_VERSION = 2.1.0 -LIBPLATFORM_SITE = $(call github,Pulse-Eight,platform,p8-platform-$(LIBPLATFORM_VERSION)) -LIBPLATFORM_LICENSE = GPLv2+ +LIBPLATFORM_VERSION = 2d90f98620e25f47702c9e848380c0d93f29462b +LIBPLATFORM_SITE = $(call github,Pulse-Eight,platform,$(LIBPLATFORM_VERSION)) +LIBPLATFORM_LICENSE = GPL-2.0+ LIBPLATFORM_LICENSE_FILES = src/os.h LIBPLATFORM_INSTALL_STAGING = YES diff --git a/package/libplayer/Config.in b/package/libplayer/Config.in index 37fbb26c5b..82083a0eea 100644 --- a/package/libplayer/Config.in +++ b/package/libplayer/Config.in @@ -1,10 +1,10 @@ config BR2_PACKAGE_LIBPLAYER - depends on BR2_TOOLCHAIN_HAS_THREADS bool "libplayer" + depends on BR2_TOOLCHAIN_HAS_THREADS help - libplayer provides a generic A/V API that relies on various multimedia - player for Linux systems. It currently supports MPlayer, xine VLC and - GStreamer only + libplayer provides a generic A/V API that relies on various + multimedia player for Linux systems. It currently supports + MPlayer, xine VLC and GStreamer only http://libplayer.geexbox.org/ @@ -20,16 +20,13 @@ config BR2_PACKAGE_LIBPLAYER_GSTREAMER depends on BR2_USE_WCHAR # glib2 depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 depends on BR2_USE_MMU # glib2 + depends on !BR2_STATIC_LIBS # gstreamer select BR2_PACKAGE_GSTREAMER -comment "gstreamer backend needs a toolchain w/ wchar, threads" +comment "gstreamer backend needs a toolchain w/ wchar, threads, dynamic library" depends on BR2_USE_MMU - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS - -config BR2_PACKAGE_LIBPLAYER_PYTHON - depends on BR2_PACKAGE_PYTHON - depends on BROKEN # player_init params, builds for host - bool "Libplayer python bindings" + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ + BR2_STATIC_LIBS endif comment "libplayer needs a toolchain w/ threads" diff --git a/package/libplayer/libplayer.mk b/package/libplayer/libplayer.mk index ee5362dc46..f4eccedb06 100644 --- a/package/libplayer/libplayer.mk +++ b/package/libplayer/libplayer.mk @@ -7,7 +7,7 @@ LIBPLAYER_VERSION = 2.0.1 LIBPLAYER_SITE = http://libplayer.geexbox.org/releases LIBPLAYER_SOURCE = libplayer-$(LIBPLAYER_VERSION).tar.bz2 -LIBPLAYER_LICENSE = LGPLv2.1+ +LIBPLAYER_LICENSE = LGPL-2.1+ LIBPLAYER_LICENSE_FILES = COPYING # When passing the standard buildroot configure arguments, the configure script @@ -39,9 +39,4 @@ else LIBPLAYER_CONF_OPTS += --disable-gstreamer endif -ifeq ($(BR2_PACKAGE_LIBPLAYER_PYTHON),y) -LIBPLAYER_DEPENDENCIES += python -LIBPLAYER_CONF_OPTS += --enable-binding-python -endif - $(eval $(autotools-package)) diff --git a/package/libplist/Config.in b/package/libplist/Config.in index 5f96746ea9..5a246b4ecd 100644 --- a/package/libplist/Config.in +++ b/package/libplist/Config.in @@ -1,12 +1,12 @@ config BR2_PACKAGE_LIBPLIST bool "libplist" depends on BR2_INSTALL_LIBSTDCPP - select BR2_PACKAGE_LIBXML2 + depends on BR2_TOOLCHAIN_HAS_THREADS help libplist is a client for manipulating Apple Property List (.plist) files http://www.libimobiledevice.org/ -comment "libplist needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP +comment "libplist needs a toolchain w/ C++, threads" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libplist/libplist.hash b/package/libplist/libplist.hash index 06d1b16426..63c2515062 100644 --- a/package/libplist/libplist.hash +++ b/package/libplist/libplist.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 0effdedcb3de128c4930d8c03a3854c74c426c16728b8ab5f0a5b6bdc0b644be libplist-1.12.tar.bz2 +sha256 3a7e9694c2d9a85174ba1fa92417cfabaea7f6d19631e544948dc7e17e82f602 libplist-2.0.0.tar.bz2 diff --git a/package/libplist/libplist.mk b/package/libplist/libplist.mk index 7f60b5ee03..09fc8168e4 100644 --- a/package/libplist/libplist.mk +++ b/package/libplist/libplist.mk @@ -4,17 +4,13 @@ # ################################################################################ -LIBPLIST_VERSION = 1.12 +LIBPLIST_VERSION = 2.0.0 LIBPLIST_SOURCE = libplist-$(LIBPLIST_VERSION).tar.bz2 LIBPLIST_SITE = http://www.libimobiledevice.org/downloads -LIBPLIST_DEPENDENCIES = libxml2 host-pkgconf LIBPLIST_INSTALL_STAGING = YES -LIBPLIST_LICENSE = LGPLv2.1+ +LIBPLIST_LICENSE = LGPL-2.1+ LIBPLIST_LICENSE_FILES = COPYING -# Straight out of the git tree: -LIBPLIST_AUTORECONF = YES - # Disable building Python bindings, because it requires host-cython, which # is not packaged in Buildroot at all. LIBPLIST_CONF_OPTS = --without-cython diff --git a/package/libpng/0002-Don-t-append-prefix-to-symbol-names-in-version-script.patch b/package/libpng/0002-Don-t-append-prefix-to-symbol-names-in-version-script.patch index 2a9bfd1e1d..de772225ba 100644 --- a/package/libpng/0002-Don-t-append-prefix-to-symbol-names-in-version-script.patch +++ b/package/libpng/0002-Don-t-append-prefix-to-symbol-names-in-version-script.patch @@ -15,6 +15,9 @@ Signed-off-by: Gustavo Zacarias [Julien: update for 1.6.25] Signed-off-by: Julien Boibessot +[Bernd: update for 1.6.29] +Signed-off-by: Bernd Kuhls + Signed-off-by: Gustavo Zacarias --- Makefile.am | 2 +- @@ -44,7 +47,7 @@ index 4e67782..5f468d9 100644 -DPNGLIB_VERSION='@PNGLIB_VERSION@' \ - -DSYMBOL_PREFIX='$(SYMBOL_PREFIX)' -DPNG_NO_USE_READ_MACROS \ + -DSYMBOL_PREFIX='' -DPNG_NO_USE_READ_MACROS \ - -DPNG_BUILDING_SYMBOL_TABLE $(am__append_7) + -DPNG_BUILDING_SYMBOL_TABLE $(am__append_9) # EXT_LIST is a list of the possibly library directory extensions, this exists -- diff --git a/package/libpng/libpng.hash b/package/libpng/libpng.hash index e5bd6ba03f..074cf5fb83 100644 --- a/package/libpng/libpng.hash +++ b/package/libpng/libpng.hash @@ -1,4 +1,5 @@ -# From http://sourceforge.net/projects/libpng/files/libpng16/1.6.28/ -sha1 ff4dceadb15e2c929ad26283118d56f66f4a6cff libpng-1.6.28.tar.xz +# From http://sourceforge.net/projects/libpng/files/libpng16/1.6.32/ +md5 e01be057a9369183c959b793a685ad15 libpng-1.6.32.tar.xz +sha1 161d91d15cfd739773e0a73b41032b9f27322914 libpng-1.6.32.tar.xz # Locally computed: -sha256 d8d3ec9de6b5db740fefac702c37ffcf96ae46cb17c18c1544635a3852f78f7a libpng-1.6.28.tar.xz +sha256 c918c3113de74a692f0a1526ce881dc26067763eb3915c57ef3a0f7b6886f59b libpng-1.6.32.tar.xz diff --git a/package/libpng/libpng.mk b/package/libpng/libpng.mk index c562965ab2..2aa0217121 100644 --- a/package/libpng/libpng.mk +++ b/package/libpng/libpng.mk @@ -4,17 +4,28 @@ # ################################################################################ -LIBPNG_VERSION = 1.6.28 +LIBPNG_VERSION = 1.6.32 LIBPNG_SERIES = 16 LIBPNG_SOURCE = libpng-$(LIBPNG_VERSION).tar.xz LIBPNG_SITE = http://downloads.sourceforge.net/project/libpng/libpng${LIBPNG_SERIES}/$(LIBPNG_VERSION) -LIBPNG_LICENSE = libpng license +LIBPNG_LICENSE = Libpng LIBPNG_LICENSE_FILES = LICENSE LIBPNG_INSTALL_STAGING = YES LIBPNG_DEPENDENCIES = host-pkgconf zlib HOST_LIBPNG_DEPENDENCIES = host-pkgconf host-zlib LIBPNG_CONFIG_SCRIPTS = libpng$(LIBPNG_SERIES)-config libpng-config -LIBPNG_CONF_OPTS = $(if $(BR2_ARM_CPU_HAS_NEON),--enable-arm-neon=yes,--enable-arm-neon=no) + +ifeq ($(BR2_ARM_CPU_HAS_NEON),y) +LIBPNG_CONF_OPTS += --enable-arm-neon +else +LIBPNG_CONF_OPTS += --disable-arm-neon +endif + +ifeq ($(BR2_X86_CPU_HAS_SSE2),y) +LIBPNG_CONF_OPTS += --enable-intel-sse +else +LIBPNG_CONF_OPTS += --disable-intel-sse +endif $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/libpqxx/libpqxx.mk b/package/libpqxx/libpqxx.mk index 058719038e..ec6a3bce68 100644 --- a/package/libpqxx/libpqxx.mk +++ b/package/libpqxx/libpqxx.mk @@ -8,7 +8,7 @@ LIBPQXX_VERSION = 4.0.1 LIBPQXX_SITE = http://pqxx.org/download/software/libpqxx LIBPQXX_INSTALL_STAGING = YES LIBPQXX_DEPENDENCIES = postgresql -LIBPQXX_LICENSE = BSD-3c +LIBPQXX_LICENSE = BSD-3-Clause LIBPQXX_LICENSE_FILES = COPYING LIBPQXX_CONF_ENV += ac_cv_path_PG_CONFIG=$(STAGING_DIR)/usr/bin/pg_config diff --git a/package/libpri/Config.in b/package/libpri/Config.in new file mode 100644 index 0000000000..de2d96fcc4 --- /dev/null +++ b/package/libpri/Config.in @@ -0,0 +1,21 @@ +config BR2_PACKAGE_LIBPRI + bool "libpri" + depends on BR2_USE_MMU # fork() + depends on BR2_LINUX_KERNEL + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_DAHDI_LINUX + select BR2_PACKAGE_DAHDI_TOOLS + help + libpri is an open source library that encapsulates the + protocols used to communicate over ISDN Primary Rate + Interfaces (T1, E1, J1). + + http://www.asterisk.org/downloads/libpri + +comment "libpri needs a kernel to be built" + depends on BR2_USE_MMU + depends on !BR2_LINUX_KERNEL + +comment "libpri needs a toolchain w/ threads" + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libpri/libpri.hash b/package/libpri/libpri.hash new file mode 100644 index 0000000000..47c4a00307 --- /dev/null +++ b/package/libpri/libpri.hash @@ -0,0 +1,7 @@ +# sha1 and sha256 from http://downloads.asterisk.org/pub/telephony/libpri/releases/ +sha1 63536f3300fb007dfd5fe8064406992ca938bd9a libpri-1.5.0.tar.gz +sha256 ee224bc4aa65c54546bd09675c3f0b71817ce9e277332bce86989d8dcd556a24 libpri-1.5.0.tar.gz + +# License files, locally calculated +sha256 fa5fc1d1eec39532ea517518eeefd7b6e3c14341a55e5880a0e2a49eee47a5b7 LICENSE +sha256 53b8b3aea4faec23fd9dbd4936044aca80c9b00343e6e58ee3303cec19512b33 README diff --git a/package/libpri/libpri.mk b/package/libpri/libpri.mk new file mode 100644 index 0000000000..2e2d0e8a6c --- /dev/null +++ b/package/libpri/libpri.mk @@ -0,0 +1,52 @@ +################################################################################ +# +# libpri +# +################################################################################ + +LIBPRI_VERSION = 1.5.0 +LIBPRI_SITE = http://downloads.asterisk.org/pub/telephony/libpri/releases + +LIBPRI_LICENSE = GPL-2.0 with OpenH323 exception +LIBPRI_LICENSE_FILES = LICENSE README + +LIBPRI_DEPENDENCIES = dahdi-linux dahdi-tools +LIBPRI_INSTALL_STAGING = YES + +# The Makefile default rule will always try to generate both libraries. +# So we need to explicitly build only what we can. +ifneq ($(BR2_SHARED_LIBS),y) +LIBPRI_LIBS = libpri.a +define LIBPRI_INSTALL_A + $(INSTALL) -D -m 0644 $(@D)/libpri.a $(1)/usr/lib/libpri.a +endef +endif + +ifneq ($(BR2_STATIC_LIBS),y) +LIBPRI_LIBS += libpri.so.1.4 +define LIBPRI_INSTALL_SO + $(INSTALL) -D -m 0644 $(@D)/libpri.so.1.4 $(1)/usr/lib/libpri.so.1.4 + ln -sf libpri.so.1.4 $(1)/usr/lib/libpri.so +endef +endif + +LIBPRI_UTILS = pridump pritest rosetest testprilib + +define LIBPRI_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) \ + $(LIBPRI_LIBS) $(LIBPRI_UTILS) +endef + +define LIBPRI_INSTALL_STAGING_CMDS + $(call LIBPRI_INSTALL_A,$(STAGING_DIR)) + $(call LIBPRI_INSTALL_SO,$(STAGING_DIR)) + $(INSTALL) -D -m 0644 $(@D)/libpri.h $(STAGING_DIR)/usr/include/libpri.h +endef + +define LIBPRI_INSTALL_TARGET_CMDS + $(foreach u,$(LIBPRI_UTILS),\ + $(INSTALL) -D -m 0755 $(@D)/$(u) $(TARGET_DIR)/usr/sbin/$(u)$(sep)) + $(call LIBPRI_INSTALL_SO,$(TARGET_DIR)) +endef + +$(eval $(generic-package)) diff --git a/package/libpthread-stubs/libpthread-stubs.hash b/package/libpthread-stubs/libpthread-stubs.hash index 8211455d25..b6e38e8e7a 100644 --- a/package/libpthread-stubs/libpthread-stubs.hash +++ b/package/libpthread-stubs/libpthread-stubs.hash @@ -1,2 +1,2 @@ -# From http://www.x.org/archive/current/src/everything/CHECKSUMS -sha256 35b6d54e3cc6f3ba28061da81af64b9a92b7b757319098172488a660e3d87299 libpthread-stubs-0.3.tar.bz2 +# Locally computed +sha256 e4d05911a3165d3b18321cc067fdd2f023f06436e391c6a28dff618a78d2e733 libpthread-stubs-0.4.tar.bz2 diff --git a/package/libpthread-stubs/libpthread-stubs.mk b/package/libpthread-stubs/libpthread-stubs.mk index 856793c4e0..9cf697075e 100644 --- a/package/libpthread-stubs/libpthread-stubs.mk +++ b/package/libpthread-stubs/libpthread-stubs.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBPTHREAD_STUBS_VERSION = 0.3 +LIBPTHREAD_STUBS_VERSION = 0.4 LIBPTHREAD_STUBS_SOURCE = libpthread-stubs-$(LIBPTHREAD_STUBS_VERSION).tar.bz2 LIBPTHREAD_STUBS_SITE = http://xcb.freedesktop.org/dist LIBPTHREAD_STUBS_LICENSE = MIT diff --git a/package/libpthsem/Config.in b/package/libpthsem/Config.in index 3219de137d..c2856c52fd 100644 --- a/package/libpthsem/Config.in +++ b/package/libpthsem/Config.in @@ -2,8 +2,8 @@ config BR2_PACKAGE_LIBPTHSEM bool "libpthsem" depends on BR2_USE_MMU # fork() help - GNU pth is a user mode multi threading library. pthsem is an extend - version, with support for semaphores added. + GNU pth is a user mode multi threading library. pthsem is an + extend version, with support for semaphores added. http://www.auto.tuwien.ac.at/~mkoegler/pth/ diff --git a/package/libpthsem/libpthsem.mk b/package/libpthsem/libpthsem.mk index b8a3d7d561..dfe25af319 100644 --- a/package/libpthsem/libpthsem.mk +++ b/package/libpthsem/libpthsem.mk @@ -7,7 +7,7 @@ LIBPTHSEM_VERSION = 2.0.8 LIBPTHSEM_SOURCE = pthsem_$(LIBPTHSEM_VERSION).tar.gz LIBPTHSEM_SITE = http://www.auto.tuwien.ac.at/~mkoegler/pth -LIBPTHSEM_LICENSE = LGPLv2.1+ +LIBPTHSEM_LICENSE = LGPL-2.1+ LIBPTHSEM_LICENSE_FILES = COPYING LIBPTHSEM_AUTORECONF = YES LIBPTHSEM_INSTALL_STAGING = YES diff --git a/package/libpwquality/0001-Fix-build-with-disable-nls-on-platforms-without-libi.patch b/package/libpwquality/0001-Fix-build-with-disable-nls-on-platforms-without-libi.patch new file mode 100644 index 0000000000..3bae15c221 --- /dev/null +++ b/package/libpwquality/0001-Fix-build-with-disable-nls-on-platforms-without-libi.patch @@ -0,0 +1,47 @@ +From fd1694c9d85666a39fe39e76518581b1ccd5a6c5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Stefan=20S=C3=B8rensen?= +Date: Thu, 2 Feb 2017 11:16:49 +0100 +Subject: [PATCH] Fix build with --disable-nls on platforms without libintl + included in libc. + +Signed-off-by: Stefan Sørensen + +--- + +Status: accepted upstream, not yet released. + +diff --git a/src/pwmake.c b/src/pwmake.c +index 5b8cfb8..81f7cd3 100644 +--- a/src/pwmake.c ++++ b/src/pwmake.c +@@ -33,9 +33,11 @@ main(int argc, char *argv[]) + int bits; + void *auxerror; + ++#ifdef ENABLE_NLS + setlocale(LC_ALL, ""); + bindtextdomain("libpwquality", "/usr/share/locale"); + textdomain("libpwquality"); ++#endif + + if (argc != 2) { + usage(basename(argv[0])); +diff --git a/src/pwscore.c b/src/pwscore.c +index 219a175..24c13f2 100644 +--- a/src/pwscore.c ++++ b/src/pwscore.c +@@ -34,9 +34,11 @@ main(int argc, char *argv[]) + size_t len; + char *user = NULL; + ++#ifdef ENABLE_NLS + setlocale(LC_ALL, ""); + bindtextdomain("libpwquality", "/usr/share/locale"); + textdomain("libpwquality"); ++#endif + + if (argc > 2) { + usage(basename(argv[0])); +-- +2.9.3 + diff --git a/package/libpwquality/0002-Fix-memory-leak-in-settings-when-using-bad-word-list.patch b/package/libpwquality/0002-Fix-memory-leak-in-settings-when-using-bad-word-list.patch new file mode 100644 index 0000000000..1b4f24264c --- /dev/null +++ b/package/libpwquality/0002-Fix-memory-leak-in-settings-when-using-bad-word-list.patch @@ -0,0 +1,26 @@ +From b1f2f1f71894fa0af92041fb4d5b6146101d63e5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Stefan=20S=C3=B8rensen?= +Date: Thu, 2 Feb 2017 11:17:26 +0100 +Subject: [PATCH] Fix memory leak in settings when using bad word list. + +Signed-off-by: Stefan Sørensen + +--- + +Status: accepted upstream, not yet released. + +diff --git a/src/settings.c b/src/settings.c +index 5c38b30..4b026b1 100644 +--- a/src/settings.c ++++ b/src/settings.c +@@ -46,6 +46,7 @@ pwquality_free_settings(pwquality_settings_t *pwq) + { + if (pwq) { + free(pwq->dict_path); ++ free(pwq->bad_words); + free(pwq); + } + } +-- +2.9.3 + diff --git a/package/libpwquality/Config.in b/package/libpwquality/Config.in new file mode 100644 index 0000000000..23e15157d1 --- /dev/null +++ b/package/libpwquality/Config.in @@ -0,0 +1,20 @@ +config BR2_PACKAGE_LIBPWQUALITY + bool "libpwquality" + select BR2_PACKAGE_CRACKLIB + help + This is a library for password quality checks and generation + of random passwords that pass the checks. This library uses + the cracklib and cracklib dictionaries to perform some of + the checks. + + https://github.com/libpwquality/libpwquality + +if BR2_PACKAGE_LIBPWQUALITY + +config BR2_PACKAGE_LIBPWQUALITY_TOOLS + bool "install tools" + help + Install libpwquality command line tools generating/checking + passwords. + +endif diff --git a/package/libpwquality/libpwquality.hash b/package/libpwquality/libpwquality.hash new file mode 100644 index 0000000000..0e3f9e30fd --- /dev/null +++ b/package/libpwquality/libpwquality.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 74d2ea90e103323c1f2d6a6cc9617cdae6877573eddb31aaf31a40f354cc2d2a libpwquality-1.3.0.tar.bz2 diff --git a/package/libpwquality/libpwquality.mk b/package/libpwquality/libpwquality.mk new file mode 100644 index 0000000000..697af0b0b2 --- /dev/null +++ b/package/libpwquality/libpwquality.mk @@ -0,0 +1,44 @@ +################################################################################ +# +# libpwquality +# +################################################################################ + +LIBPWQUALITY_VERSION = 1.3.0 +LIBPWQUALITY_SOURCE = libpwquality-$(LIBPWQUALITY_VERSION).tar.bz2 +LIBPWQUALITY_SITE = https://github.com/libpwquality/libpwquality/releases/download/libpwquality-$(LIBPWQUALITY_VERSION) +LIBPWQUALITY_LICENSE = BSD-3-Clause or GPL-2.0+ +LIBPWQUALITY_INSTALL_STAGING = YES +LIBPWQUALITY_DEPENDENCIES = cracklib +LIBPWQUALITY_LICENSE_FILES = COPYING + +ifeq ($(BR2_PACKAGE_PYTHON),y) +LIBPWQUALITY_CONF_OPTS += --enable-python-bindings +LIBPWQUALITY_DEPENDENCIES += python +LIBPWQUALITY_MAKE_ENV += $(PKG_PYTHON_DISTUTILS_ENV) +else +LIBPWQUALITY_CONF_OPTS += --disable-python-bindings +endif + +ifeq ($(BR2_PACKAGE_LINUX_PAM),y) +LIBPWQUALITY_CONF_OPTS += --enable-pam +LIBPWQUALITY_DEPENDENCIES += linux-pam +else +LIBPWQUALITY_CONF_OPTS += --disable-pam +endif + +# Static link with cracklib requires -lz if zlib is enabled +ifeq ($(BR2_STATIC_LIBS)$(BR2_PACKAGE_ZLIB),yy) +LIBPWQUALITY_CONF_ENV += LIBS="-lz" +endif + +ifeq ($(BR2_PACKAGE_LIBPWQUALITY_TOOLS),) +define LIBPWQUALITY_REMOVE_TOOLS + rm -f $(TARGET_DIR)/usr/bin/pwmake + rm -f $(TARGET_DIR)/usr/bin/pwscore +endef + +LIBPWQUALITY_POST_INSTALL_TARGET_HOOKS += LIBPWQUALITY_REMOVE_TOOLS +endif + +$(eval $(autotools-package)) diff --git a/package/libqmi/0001-musl-compat-canonicalize_file_name.patch b/package/libqmi/0001-musl-compat-canonicalize_file_name.patch new file mode 100644 index 0000000000..3ae1c2eb47 --- /dev/null +++ b/package/libqmi/0001-musl-compat-canonicalize_file_name.patch @@ -0,0 +1,61 @@ +From 8f6181b6f8dd82aa1ab1288cc7f2fd05d4a2519f Mon Sep 17 00:00:00 2001 +From: Matt Weber +Date: Mon, 1 May 2017 19:55:07 -0500 +Subject: [PATCH] musl compat canonicalize_file_name() + +Adds an equivalent of canonicalize_file_name +using realpath(). + +Bug report (origin of this patch): +https://bugs.freedesktop.org/show_bug.cgi?id=99944 + +Bug report has been updated with suggestion to not use inline. + +Signed-off-by: Matthew Weber +--- + configure.ac | 2 ++ + src/libqmi-glib/qmi-utils.c | 15 +++++++++++++++ + 2 files changed, 17 insertions(+) + +diff --git a/configure.ac b/configure.ac +index c56fa3e..d835db4 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -80,6 +80,8 @@ AC_SUBST(GLIB_LIBS) + GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0` + AC_SUBST(GLIB_MKENUMS) + ++AC_CHECK_FUNCS([canonicalize_file_name]) ++ + dnl qmi-firmware-update is optional, enabled by default + AC_ARG_ENABLE([firmware-update], + AS_HELP_STRING([--enable-firmware-update], +diff --git a/src/libqmi-glib/qmi-utils.c b/src/libqmi-glib/qmi-utils.c +index 29e5f22..26aff9e 100644 +--- a/src/libqmi-glib/qmi-utils.c ++++ b/src/libqmi-glib/qmi-utils.c +@@ -34,6 +34,21 @@ + #include "qmi-utils.h" + #include "qmi-error-types.h" + ++#ifndef HAVE_CANONICALIZE_FILE_NAME ++#include ++static char * canonicalize_file_name(const char *path) ++{ ++ char buf[PATH_MAX] = { }; ++ ++ snprintf(buf, sizeof(buf) - 1, "%s", path); ++ ++ if (!realpath(path, buf)) ++ return NULL; ++ ++ return strdup(buf); ++} ++#endif ++ + /** + * SECTION:qmi-utils + * @title: Common utilities +-- +1.9.1 + diff --git a/package/libqmi/Config.in b/package/libqmi/Config.in index a0e896cce8..f1d111b7c9 100644 --- a/package/libqmi/Config.in +++ b/package/libqmi/Config.in @@ -1,12 +1,12 @@ config BR2_PACKAGE_LIBQMI bool "libqmi" - select BR2_PACKAGE_LIBGLIB2 depends on BR2_USE_WCHAR # libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_USE_MMU # libglib2 + select BR2_PACKAGE_LIBGLIB2 help - libqmi is a glib-based library for talking to WWAN modems and devices - which speak the Qualcomm MSM Interface (QMI) protocol. + libqmi is a glib-based library for talking to WWAN modems and + devices which speak the Qualcomm MSM Interface (QMI) protocol. http://www.freedesktop.org/wiki/Software/libqmi/ diff --git a/package/libqmi/libqmi.hash b/package/libqmi/libqmi.hash index 08da1ae219..1c54231a99 100644 --- a/package/libqmi/libqmi.hash +++ b/package/libqmi/libqmi.hash @@ -1,2 +1,4 @@ # Locally computed: -sha256 7ab6bb47fd23bf4d3fa17424e40ea5552d08b19e5ee4f125f21f316c8086ba2a libqmi-1.16.0.tar.xz +sha256 a0a42c55935e75a630208e2f70840bd4407f56fe1c5258f5b0f6c0aaedf88cec libqmi-1.18.0.tar.xz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/package/libqmi/libqmi.mk b/package/libqmi/libqmi.mk index 825493eea6..08875649a6 100644 --- a/package/libqmi/libqmi.mk +++ b/package/libqmi/libqmi.mk @@ -4,16 +4,44 @@ # ################################################################################ -LIBQMI_VERSION = 1.16.0 +LIBQMI_VERSION = 1.18.0 LIBQMI_SITE = http://www.freedesktop.org/software/libqmi LIBQMI_SOURCE = libqmi-$(LIBQMI_VERSION).tar.xz -LIBQMI_LICENSE = LGPLv2+ (library), GPLv2+ (programs) -LIBQMI_LICENSE_FILES = COPYING +LIBQMI_LICENSE = LGPL-2.0+ (library), GPL-2.0+ (programs) +LIBQMI_LICENSE_FILES = COPYING COPYING.LIB LIBQMI_INSTALL_STAGING = YES +# 0001-musl-compat-canonicalize_file_name.patch +LIBQMI_AUTORECONF = YES LIBQMI_DEPENDENCIES = libglib2 # we don't want -Werror LIBQMI_CONF_OPTS = --enable-more-warnings=no +# if libgudev available, request udev support for a better +# qmi-firmware-update experience +ifeq ($(BR2_PACKAGE_LIBGUDEV),y) +LIBQMI_DEPENDENCIES += libgudev +LIBQMI_CONF_OPTS += --with-udev +else +LIBQMI_CONF_OPTS += --without-udev +endif + +# if libmbim available, request QMI-over-MBIM support +ifeq ($(BR2_PACKAGE_LIBMBIM),y) +LIBQMI_DEPENDENCIES += libmbim +LIBQMI_CONF_OPTS += --enable-mbim-qmux +else +LIBQMI_CONF_OPTS += --disable-mbim-qmux +endif + +# if ModemManager available, enable MM runtime check in +# qmi-firmware-update (note that we don't need to build-depend on +# anything else) +ifeq ($(BR2_PACKAGE_MODEM_MANAGER),y) +LIBQMI_CONF_OPTS += --enable-mm-runtime-check +else +LIBQMI_CONF_OPTS += --disable-mm-runtime-check +endif + $(eval $(autotools-package)) diff --git a/package/libqrencode/libqrencode.mk b/package/libqrencode/libqrencode.mk index 5f30e77ba6..8f17b895e0 100644 --- a/package/libqrencode/libqrencode.mk +++ b/package/libqrencode/libqrencode.mk @@ -9,7 +9,7 @@ LIBQRENCODE_SOURCE = qrencode-$(LIBQRENCODE_VERSION).tar.gz LIBQRENCODE_SITE = http://fukuchi.org/works/qrencode LIBQRENCODE_DEPENDENCIES = host-pkgconf LIBQRENCODE_INSTALL_STAGING = YES -LIBQRENCODE_LICENSE = LGPLv2.1+ +LIBQRENCODE_LICENSE = LGPL-2.1+ LIBQRENCODE_LICENSE_FILES = COPYING ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) diff --git a/package/libraw/libraw.mk b/package/libraw/libraw.mk index f78ce1e0cb..589ff891be 100644 --- a/package/libraw/libraw.mk +++ b/package/libraw/libraw.mk @@ -18,7 +18,7 @@ LIBRAW_CONF_OPTS += \ --disable-openmp \ --disable-demosaic-pack-gpl2 \ --disable-demosaic-pack-gpl3 -LIBRAW_LICENSE = LGPLv2.1 or CDDL 1.0 or LibRaw Software License 27032010 +LIBRAW_LICENSE = LGPL-2.1 or CDDL-1.0 or LibRaw Software License 27032010 LIBRAW_LICENSE_FILES = LICENSE.LGPL LICENSE.CDDL LICENSE.LibRaw.pdf README LIBRAW_DEPENDENCIES = host-pkgconf LIBRAW_CXXFLAGS = $(TARGET_CXXFLAGS) diff --git a/package/libraw1394/libraw1394.mk b/package/libraw1394/libraw1394.mk index 7123ac74c8..73517ed2f5 100644 --- a/package/libraw1394/libraw1394.mk +++ b/package/libraw1394/libraw1394.mk @@ -9,7 +9,7 @@ LIBRAW1394_SOURCE = libraw1394-$(LIBRAW1394_VERSION).tar.xz LIBRAW1394_SITE = $(BR2_KERNEL_MIRROR)/linux/libs/ieee1394 LIBRAW1394_PATCH = http://git.alpinelinux.org/cgit/aports/plain/main/libraw1394/fix-types.patch LIBRAW1394_INSTALL_STAGING = YES -LIBRAW1394_LICENSE = LGPLv2.1+ +LIBRAW1394_LICENSE = LGPL-2.1+ LIBRAW1394_LICENSE_FILES = COPYING.LIB $(eval $(autotools-package)) diff --git a/package/libreplaygain/libreplaygain.mk b/package/libreplaygain/libreplaygain.mk index 4775999819..ff0950c43d 100644 --- a/package/libreplaygain/libreplaygain.mk +++ b/package/libreplaygain/libreplaygain.mk @@ -10,7 +10,7 @@ LIBREPLAYGAIN_SOURCE = libreplaygain_$(LIBREPLAYGAIN_VERSION).tar.gz # upstream doesn't ship configure LIBREPLAYGAIN_AUTORECONF = YES LIBREPLAYGAIN_INSTALL_STAGING = YES -LIBREPLAYGAIN_LICENSE = LGPLv2.1+ +LIBREPLAYGAIN_LICENSE = LGPL-2.1+ LIBREPLAYGAIN_LICENSE_FILES = src/gain_analysis.c $(eval $(autotools-package)) diff --git a/package/libressl/0001-remove-test-z-DESTDIR-from-ltmain.patch b/package/libressl/0001-remove-test-z-DESTDIR-from-ltmain.patch new file mode 100644 index 0000000000..901a48ca93 --- /dev/null +++ b/package/libressl/0001-remove-test-z-DESTDIR-from-ltmain.patch @@ -0,0 +1,28 @@ +From 4317d43d74996ad7ec3270b1e786e91a19312309 Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Sat, 24 Jun 2017 13:08:57 -0400 +Subject: [PATCH] remove test -z "$DESTDIR" from ltmain.sh. + +Without this patch, buildroot-libtool-v2.4.patch will fail to apply. + +Signed-off-by: Adam Duskett +--- + ltmain.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ltmain.sh b/ltmain.sh +index 5d29bd6..6c90601 100644 +--- a/ltmain.sh ++++ b/ltmain.sh +@@ -6658,7 +6658,7 @@ func_mode_link () + *) + if test "$installed" = no; then + func_append notinst_deplibs " $lib" +- test -z "$DESTDIR" && need_relink=yes ++ need_relink=yes + fi + ;; + esac +-- +2.9.4 + diff --git a/package/libressl/0002-Fix-build-with-musl-and-older-Linux-kernel.patch b/package/libressl/0002-Fix-build-with-musl-and-older-Linux-kernel.patch new file mode 100644 index 0000000000..ddb953402d --- /dev/null +++ b/package/libressl/0002-Fix-build-with-musl-and-older-Linux-kernel.patch @@ -0,0 +1,38 @@ +From: Baruch Siach +Date: Fri, 29 Sep 2017 10:06:52 +0300 +Subject: [PATCH] Fix build with musl and older Linux kernel + +The musl libc carries its own copy of Linux system calls. When building +with Linux headers older than v3.17, musl provides SYS_getrandom +definition, but not GRND_NONBLOCK. This causes build failure for +libressl and openntpd: + +getentropy_linux.c: In function 'getentropy_getrandom': +getentropy_linux.c:205:42: error: 'GRND_NONBLOCK' undeclared (first use in this function) + ret = syscall(SYS_getrandom, buf, len, GRND_NONBLOCK); + ^~~~~~~~~~~~~ + +Define GRND_NONBLOCK locally when its definition is missing to fix the +build. There should be no run-time effect. Older kernels return ENOSYS +for unsupported syscall(). + +[ from upstream pull request with file location changed ] +Signed-off-by: Baruch Siach +--- +Upstream status: https://github.com/libressl-portable/openbsd/pull/82 + +diff -Nuar libressl-2.5.5-orig/crypto/compat/getentropy_linux.c libressl-2.5.5/crypto/compat/getentropy_linux.c +--- libressl-2.5.5-orig/crypto/compat/getentropy_linux.c 2017-07-09 13:59:48.000000000 +0300 ++++ libressl-2.5.5/crypto/compat/getentropy_linux.c 2017-09-29 10:03:32.447958829 +0300 +@@ -194,6 +194,11 @@ + } + + #ifdef SYS_getrandom ++ ++#ifndef GRND_NONBLOCK ++#define GRND_NONBLOCK 0x0001 ++#endif ++ + static int + getentropy_getrandom(void *buf, size_t len) + { diff --git a/package/libressl/libressl.hash b/package/libressl/libressl.hash new file mode 100644 index 0000000000..580701d6a7 --- /dev/null +++ b/package/libressl/libressl.hash @@ -0,0 +1,2 @@ +# From https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/SHA256 +sha256 e57f5e3d5842a81fe9351b6e817fcaf0a749ca4ef35a91465edba9e071dce7c4 libressl-2.5.5.tar.gz diff --git a/package/libressl/libressl.mk b/package/libressl/libressl.mk new file mode 100644 index 0000000000..ccd236d293 --- /dev/null +++ b/package/libressl/libressl.mk @@ -0,0 +1,20 @@ +################################################################################ +# +# libressl +# +################################################################################ + +LIBRESSL_VERSION = 2.5.5 +LIBRESSL_SITE = https://ftp.openbsd.org/pub/OpenBSD/LibreSSL +LIBRESSL_LICENSE = ISC (new additions), OpenSSL or SSLeay (original OpenSSL code) +LIBRESSL_LICENSE_FILES = COPYING +LIBRESSL_INSTALL_STAGING = YES + +ifeq ($(BR2_PACKAGE_LIBRESSL_BIN),) +define LIBRESSL_REMOVE_BIN + $(RM) -f $(TARGET_DIR)/usr/bin/openssl +endef +LIBRESSL_POST_INSTALL_TARGET_HOOKS += LIBRESSL_REMOVE_BIN +endif + +$(eval $(autotools-package)) diff --git a/package/libroxml/libroxml.mk b/package/libroxml/libroxml.mk index 43d1d916af..5582b387d4 100644 --- a/package/libroxml/libroxml.mk +++ b/package/libroxml/libroxml.mk @@ -7,7 +7,7 @@ LIBROXML_VERSION = 2.3.0 LIBROXML_SITE = http://download.libroxml.net/pool/v2.x LIBROXML_INSTALL_STAGING = YES -LIBROXML_LICENSE = LGPLv2.1+ with static link exception +LIBROXML_LICENSE = LGPL-2.1+ with static link exception LIBROXML_LICENSE_FILES = License.txt LIBROXML_CONF_OPTS = --disable-silent-rules diff --git a/package/librsvg/Config.in b/package/librsvg/Config.in index 7ce9d063a8..ffb0287dbd 100644 --- a/package/librsvg/Config.in +++ b/package/librsvg/Config.in @@ -1,5 +1,10 @@ config BR2_PACKAGE_LIBRSVG bool "librsvg" + depends on BR2_USE_WCHAR # glib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 + depends on BR2_USE_MMU # glib2 + depends on BR2_INSTALL_LIBSTDCPP # pango + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz select BR2_PACKAGE_CAIRO select BR2_PACKAGE_CAIRO_PNG select BR2_PACKAGE_GDK_PIXBUF @@ -7,16 +12,11 @@ config BR2_PACKAGE_LIBRSVG select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_LIBXML2 select BR2_PACKAGE_PANGO - depends on BR2_USE_WCHAR # glib2 - depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 - depends on BR2_USE_MMU # glib2 - depends on BR2_INSTALL_LIBSTDCPP # pango - depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz help The rsvg library is an efficient renderer for Scalable Vector Graphics (SVG) pictures. - http://librsvg.sourceforge.net/ + https://wiki.gnome.org/Projects/LibRsvg comment "librsvg needs a toolchain w/ wchar, threads, C++" depends on BR2_USE_MMU diff --git a/package/librsvg/librsvg.hash b/package/librsvg/librsvg.hash index f9844b2362..9ab798120f 100644 --- a/package/librsvg/librsvg.hash +++ b/package/librsvg/librsvg.hash @@ -1,2 +1,2 @@ -# From http://ftp.acc.umu.se/pub/gnome/sources/librsvg/2.40/librsvg-2.40.16.sha256sum -sha256 d48bcf6b03fa98f07df10332fb49d8c010786ddca6ab34cbba217684f533ff2e librsvg-2.40.16.tar.xz +# From http://ftp.gnome.org/pub/gnome/sources/librsvg/2.40/librsvg-2.40.18.sha256sum +sha256 bfc8c488c89c1e7212c478beb95c41b44701636125a3e6dab41187f1485b564c librsvg-2.40.18.tar.xz diff --git a/package/librsvg/librsvg.mk b/package/librsvg/librsvg.mk index b711de47cd..c8afdfd69f 100644 --- a/package/librsvg/librsvg.mk +++ b/package/librsvg/librsvg.mk @@ -5,16 +5,16 @@ ################################################################################ LIBRSVG_VERSION_MAJOR = 2.40 -LIBRSVG_VERSION = $(LIBRSVG_VERSION_MAJOR).16 +LIBRSVG_VERSION = $(LIBRSVG_VERSION_MAJOR).18 LIBRSVG_SITE = http://ftp.gnome.org/pub/gnome/sources/librsvg/$(LIBRSVG_VERSION_MAJOR) LIBRSVG_SOURCE = librsvg-$(LIBRSVG_VERSION).tar.xz LIBRSVG_INSTALL_STAGING = YES -LIBRSVG_CONF_OPTS = --disable-tools --enable-introspection=no +LIBRSVG_CONF_OPTS = --disable-pixbuf-loader --disable-tools --enable-introspection=no HOST_LIBRSVG_CONF_OPTS = --enable-introspection=no LIBRSVG_DEPENDENCIES = cairo host-gdk-pixbuf gdk-pixbuf libcroco libglib2 libxml2 pango \ $(if $(BR2_PACKAGE_LIBGTK3),libgtk3) HOST_LIBRSVG_DEPENDENCIES = host-cairo host-gdk-pixbuf host-libcroco host-libglib2 host-libxml2 host-pango -LIBRSVG_LICENSE = LGPLv2+ +LIBRSVG_LICENSE = LGPL-2.0+ LIBRSVG_LICENSE_FILES = COPYING.LIB $(eval $(autotools-package)) diff --git a/package/librsync/0001-CMakeLists.txt-Don-t-require-a-C-compiler.patch b/package/librsync/0001-CMakeLists.txt-Don-t-require-a-C-compiler.patch new file mode 100644 index 0000000000..af5d28c5dc --- /dev/null +++ b/package/librsync/0001-CMakeLists.txt-Don-t-require-a-C-compiler.patch @@ -0,0 +1,33 @@ +From c1af3e1b926fa04dbddc2d30586ff26026083134 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Tue, 26 Sep 2017 19:06:43 +0200 +Subject: [PATCH] CMakeLists.txt: Don't require a C++ compiler + +By default, CMake assumes that the project is using both C and C++. By +explicitly passing 'C' as argument of the project() macro, we tell CMake +that only C is used, which prevents CMake from erroring out if a C++ +compiler doesn't exist. + +Patch sent upstream: https://github.com/librsync/librsync/pull/116 + +Signed-off-by: Bernd Kuhls +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 85536e3..7fe1eda 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -16,7 +16,7 @@ + # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + +-project(librsync) ++project(librsync C) + cmake_minimum_required(VERSION 2.6) + + INCLUDE(CMakeDependentOption) +-- +2.11.0 + diff --git a/package/librsync/Config.in b/package/librsync/Config.in index 5dcdfc8f2e..6957ddcc0e 100644 --- a/package/librsync/Config.in +++ b/package/librsync/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_LIBRSYNC bool "librsync" + depends on !BR2_STATIC_LIBS select BR2_PACKAGE_ZLIB select BR2_PACKAGE_BZIP2 select BR2_PACKAGE_POPT @@ -8,4 +9,7 @@ config BR2_PACKAGE_LIBRSYNC remote file synchronization that was popularized by the rsync utility and is used in rproxy. - http://sourceforge.net/projects/librsync/ + https://github.com/librsync/librsync + +comment "librsync needs a toolchain w/ dynamic library support" + depends on BR2_STATIC_LIBS diff --git a/package/librsync/librsync.hash b/package/librsync/librsync.hash index 55ace76394..2d5e2e0028 100644 --- a/package/librsync/librsync.hash +++ b/package/librsync/librsync.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 6633e4605662763a03bb6388529cbdfd3b11a9ec55b8845351c1bd9a92bc41d6 librsync-0.9.7.tar.gz +sha256 b5c4dd114289832039397789e42d4ff0d1108ada89ce74f1999398593fae2169 librsync-v2.0.0.tar.gz diff --git a/package/librsync/librsync.mk b/package/librsync/librsync.mk index d475c7333d..07b684a264 100644 --- a/package/librsync/librsync.mk +++ b/package/librsync/librsync.mk @@ -4,11 +4,11 @@ # ################################################################################ -LIBRSYNC_VERSION = 0.9.7 -LIBRSYNC_SITE = http://downloads.sourceforge.net/project/librsync/librsync/$(LIBRSYNC_VERSION) -LIBRSYNC_LICENSE = LGPLv2.1+ +LIBRSYNC_VERSION = v2.0.0 +LIBRSYNC_SITE = $(call github,librsync,librsync,$(LIBRSYNC_VERSION)) +LIBRSYNC_LICENSE = LGPL-2.1+ LIBRSYNC_LICENSE_FILES = COPYING LIBRSYNC_INSTALL_STAGING = YES LIBRSYNC_DEPENDENCIES = zlib bzip2 popt -$(eval $(autotools-package)) +$(eval $(cmake-package)) diff --git a/package/librtas/Config.in b/package/librtas/Config.in index fb0ac766bf..11660eb281 100644 --- a/package/librtas/Config.in +++ b/package/librtas/Config.in @@ -3,9 +3,10 @@ config BR2_PACKAGE_LIBRTAS depends on BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le depends on BR2_TOOLCHAIN_USES_GLIBC help - The librtas package provides an interface for Run-Time Abstraction - Services (RTAS) calls on PAPR platforms. The libraries allow users to - examine and manipulate hardware, and parse RTAS events. + The librtas package provides an interface for Run-Time + Abstraction Services (RTAS) calls on PAPR platforms. + The libraries allow users to examine and manipulate hardware, + and parse RTAS events. http://librtas.sourceforge.net/ diff --git a/package/librtlsdr/0002-fix-builds-with-newer-compilers-C-standards.patch b/package/librtlsdr/0002-fix-builds-with-newer-compilers-C-standards.patch new file mode 100644 index 0000000000..b663d08b9f --- /dev/null +++ b/package/librtlsdr/0002-fix-builds-with-newer-compilers-C-standards.patch @@ -0,0 +1,68 @@ +From ea6a86d8e792430faa3a8161ee99f2bc392875d1 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger +Date: Fri, 3 Feb 2017 15:44:18 -1000 +Subject: [PATCH] fix builds with newer compilers & C standards + +The meaning of "inline" has changed when "static" is not used. +Since none of these functions are used outside of their respective +files, mark them as static to avoid build errors where funcs are +not inlined (based on compiler flags too). + +Upstream status: pull request #38 + +Signed-off-by: Gwenhael Goavec-Merou +--- + src/rtl_adsb.c | 8 ++++---- + src/rtl_power.c | 2 +- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/rtl_adsb.c b/src/rtl_adsb.c +index e611e78..a3bfa7f 100644 +--- a/src/rtl_adsb.c ++++ b/src/rtl_adsb.c +@@ -182,7 +182,7 @@ int magnitute(uint8_t *buf, int len) + return len/2; + } + +-inline uint16_t single_manchester(uint16_t a, uint16_t b, uint16_t c, uint16_t d) ++static inline uint16_t single_manchester(uint16_t a, uint16_t b, uint16_t c, uint16_t d) + /* takes 4 consecutive real samples, return 0 or 1, BADSAMPLE on error */ + { + int bit, bit_p; +@@ -223,17 +223,17 @@ inline uint16_t single_manchester(uint16_t a, uint16_t b, uint16_t c, uint16_t d + return BADSAMPLE; + } + +-inline uint16_t min16(uint16_t a, uint16_t b) ++static inline uint16_t min16(uint16_t a, uint16_t b) + { + return ab ? a : b; + } + +-inline int preamble(uint16_t *buf, int i) ++static inline int preamble(uint16_t *buf, int i) + /* returns 0/1 for preamble at index i */ + { + int i2; +diff --git a/src/rtl_power.c b/src/rtl_power.c +index aa7a138..a7a43bb 100644 +--- a/src/rtl_power.c ++++ b/src/rtl_power.c +@@ -249,7 +249,7 @@ void sine_table(int size) + } + } + +-inline int16_t FIX_MPY(int16_t a, int16_t b) ++static inline int16_t FIX_MPY(int16_t a, int16_t b) + /* fixed point multiply and scale */ + { + int c = ((int)a * (int)b) >> 14; +-- +2.13.0 + diff --git a/package/librtlsdr/Config.in b/package/librtlsdr/Config.in index 1e217bcf10..c2bf1a9fb1 100644 --- a/package/librtlsdr/Config.in +++ b/package/librtlsdr/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_LIBRTLSDR bool "librtlsdr" - select BR2_PACKAGE_LIBUSB depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_LIBUSB help Library and command line programs for accessing RTL2832U SDR dongles. diff --git a/package/librtlsdr/librtlsdr.mk b/package/librtlsdr/librtlsdr.mk index 51ecabe14a..ca0a43829d 100644 --- a/package/librtlsdr/librtlsdr.mk +++ b/package/librtlsdr/librtlsdr.mk @@ -6,7 +6,7 @@ LIBRTLSDR_VERSION = v0.5.3 LIBRTLSDR_SITE = $(call github,steve-m,librtlsdr,$(LIBRTLSDR_VERSION)) -LIBRTLSDR_LICENSE = GPLv2+ +LIBRTLSDR_LICENSE = GPL-2.0+ LIBRTLSDR_LICENSE_FILES = COPYING LIBRTLSDR_INSTALL_STAGING = YES LIBRTLSDR_DEPENDENCIES = libusb diff --git a/package/libsamplerate/libsamplerate.hash b/package/libsamplerate/libsamplerate.hash index a495108d3a..a303f0bcf8 100644 --- a/package/libsamplerate/libsamplerate.hash +++ b/package/libsamplerate/libsamplerate.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 93b54bdf46d5e6d2354b7034395fe329c222a966790de34520702bb9642f1c06 libsamplerate-0.1.8.tar.gz +sha256 0a7eb168e2f21353fb6d84da152e4512126f7dc48ccb0be80578c565413444c1 libsamplerate-0.1.9.tar.gz diff --git a/package/libsamplerate/libsamplerate.mk b/package/libsamplerate/libsamplerate.mk index 28fd644fa3..76e93f913e 100644 --- a/package/libsamplerate/libsamplerate.mk +++ b/package/libsamplerate/libsamplerate.mk @@ -4,12 +4,12 @@ # ################################################################################ -LIBSAMPLERATE_VERSION = 0.1.8 +LIBSAMPLERATE_VERSION = 0.1.9 LIBSAMPLERATE_SITE = http://www.mega-nerd.com/SRC LIBSAMPLERATE_INSTALL_STAGING = YES LIBSAMPLERATE_DEPENDENCIES = host-pkgconf LIBSAMPLERATE_CONF_OPTS = --disable-fftw --program-transform-name='' -LIBSAMPLERATE_LICENSE = Dual GPLv2+ / libsamplerate commercial use license +LIBSAMPLERATE_LICENSE = BSD-2-Clause LIBSAMPLERATE_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_LIBSNDFILE),y) diff --git a/package/libscrypt/0001-Allow-adding-options-to-CFLAGS-and-LDFLAGS-variables.patch b/package/libscrypt/0001-Allow-adding-options-to-CFLAGS-and-LDFLAGS-variables.patch new file mode 100644 index 0000000000..a023a6fe1c --- /dev/null +++ b/package/libscrypt/0001-Allow-adding-options-to-CFLAGS-and-LDFLAGS-variables.patch @@ -0,0 +1,34 @@ +From 097c5d9248f4afd34c73de5aba01a143ef784257 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Stefan=20S=C3=B8rensen?= +Date: Tue, 14 Mar 2017 09:23:51 +0100 +Subject: [PATCH] Allow adding options to CFLAGS and LDFLAGS variables +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This also removes a number of hard-coded CFLAGS, leaving it up to the +user to pass appropriate optimization/hardening flags. + +Signed-off-by: Stefan Sørensen +--- + Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 7022a4a..3098a9a 100644 +--- a/Makefile ++++ b/Makefile +@@ -5,8 +5,8 @@ MAKE_DIR ?= install -d + INSTALL_DATA ?= install + + CC?=gcc +-CFLAGS?=-O2 -Wall -g -D_FORTIFY_SOURCE=2 -fstack-protector -fPIC +-LDFLAGS?=-Wl,-z,now -Wl,-z,relro -Wl,-soname,libscrypt.so.0 -Wl,--version-script=libscrypt.version ++override CFLAGS+=-fPIC ++override LDFLAGS+=-Wl,-z,now -Wl,-z,relro -Wl,-soname,libscrypt.so.0 -Wl,--version-script=libscrypt.version + CFLAGS_EXTRA?=-Wl,-rpath=. + + all: reference +-- +2.7.4 + diff --git a/package/libscrypt/Config.in b/package/libscrypt/Config.in new file mode 100644 index 0000000000..b467fd6e3d --- /dev/null +++ b/package/libscrypt/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_LIBSCRYPT + bool "libscrypt" + # Unconditionally builds a shared library + depends on !BR2_STATIC_LIBS + help + This is a library that implements the secure password + hashing function "scrypt". + + http://www.lolware.net/libscrypt.html + +comment "libscrypt needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/package/libscrypt/libscrypt.hash b/package/libscrypt/libscrypt.hash new file mode 100644 index 0000000000..bf3f441192 --- /dev/null +++ b/package/libscrypt/libscrypt.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 68e377e79745c10d489b759b970e52d819dbb80dd8ca61f8c975185df3f457d3 libscrypt-v1.21.tar.gz diff --git a/package/libscrypt/libscrypt.mk b/package/libscrypt/libscrypt.mk new file mode 100644 index 0000000000..6086ea95c9 --- /dev/null +++ b/package/libscrypt/libscrypt.mk @@ -0,0 +1,27 @@ +################################################################################ +# +# libscrypt +# +################################################################################ + +LIBSCRYPT_VERSION = v1.21 +LIBSCRYPT_SITE = $(call github,technion,libscrypt,$(LIBSCRYPT_VERSION)) +LIBSCRYPT_LICENSE = BSD-2-Clause +LIBSCRYPT_LICENSE_FILES = LICENSE +LIBSCRYPT_INSTALL_STAGING = YES + +define LIBSCRYPT_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) +endef + +define LIBSCRYPT_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) PREFIX=/usr \ + DESTDIR=$(STAGING_DIR) install +endef + +define LIBSCRYPT_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) PREFIX=/usr \ + DESTDIR=$(TARGET_DIR) install +endef + +$(eval $(generic-package)) diff --git a/package/libseccomp/Config.in b/package/libseccomp/Config.in index ddfe9f07c0..d3b4bb8192 100644 --- a/package/libseccomp/Config.in +++ b/package/libseccomp/Config.in @@ -1,22 +1,28 @@ +config BR2_PACKAGE_LIBSECCOMP_ARCH_SUPPORTS + bool + default y if BR2_aarch64 + default y if BR2_arm || BR2_armeb + default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el + default y if BR2_i386 || BR2_x86_64 + default y if BR2_powerpc64 || BR2_powerpc + config BR2_PACKAGE_LIBSECCOMP bool "libseccomp" - depends on BR2_aarch64 || BR2_mips || BR2_mipsel || BR2_mips64 || \ - BR2_mips64el || BR2_i386 || BR2_x86_64 || BR2_powerpc64 || \ - BR2_powerpc + depends on BR2_PACKAGE_LIBSECCOMP_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 help High level interface to the Linux Kernel's seccomp filter - The libseccomp library provides an easy to use, platform independent, - interface to the Linux Kernel's syscall filtering mechanism: seccomp. - The libseccomp API is designed to abstract away the underlying BPF - based syscall filter language and present a more conventional - function-call based filtering interface that should be familiar to, - and easily adopted by application developers. + The libseccomp library provides an easy to use, platform + independent, interface to the Linux Kernel's syscall filtering + mechanism: seccomp. The libseccomp API is designed to abstract + away the underlying BPF based syscall filter language and + present a more conventional function-call based filtering + interface that should be familiar to, and easily adopted by + application developers. https://github.com/seccomp/libseccomp comment "libseccomp needs a toolchain w/ headers >= 3.12" - depends on BR2_aarch64 || BR2_mips || BR2_mipsel || BR2_mips64 || \ - BR2_mips64el || BR2_i386 || BR2_x86_64 + depends on BR2_PACKAGE_LIBSECCOMP_ARCH_SUPPORTS depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 diff --git a/package/libseccomp/libseccomp.mk b/package/libseccomp/libseccomp.mk index 03fc6cf800..9a241a5513 100644 --- a/package/libseccomp/libseccomp.mk +++ b/package/libseccomp/libseccomp.mk @@ -6,7 +6,7 @@ LIBSECCOMP_VERSION = v2.3.1 LIBSECCOMP_SITE = $(call github,seccomp,libseccomp,$(LIBSECCOMP_VERSION)) -LIBSECCOMP_LICENSE = LGPLv2.1 +LIBSECCOMP_LICENSE = LGPL-2.1 LIBSECCOMP_LICENSE_FILES = LICENSE LIBSECCOMP_INSTALL_STAGING = YES LIBSECCOMP_AUTORECONF = YES diff --git a/package/libsecret/Config.in b/package/libsecret/Config.in index 70f1fe7eb9..0539e5da2c 100644 --- a/package/libsecret/Config.in +++ b/package/libsecret/Config.in @@ -1,14 +1,14 @@ config BR2_PACKAGE_LIBSECRET bool "libsecret" - select BR2_PACKAGE_LIBGLIB2 depends on BR2_USE_WCHAR # gettext dep in libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_USE_MMU # libglib2 + select BR2_PACKAGE_LIBGLIB2 help - libsecret is a library for storing and retrieving passwords and other - secrets. It communicates with the "Secret Service" using DBus. - gnome-keyring and ksecretservice are both implementations of a Secret - Service. + libsecret is a library for storing and retrieving passwords + and other secrets. It communicates with the "Secret Service" + using DBus. gnome-keyring and ksecretservice are both + implementations of a Secret Service. https://wiki.gnome.org/Libsecret diff --git a/package/libsecret/libsecret.mk b/package/libsecret/libsecret.mk index 20a217f197..111b553f2c 100644 --- a/package/libsecret/libsecret.mk +++ b/package/libsecret/libsecret.mk @@ -16,7 +16,7 @@ LIBSECRET_CONF_OPTS = \ --disable-coverage \ --enable-introspection=no \ --enable-vala=no -LIBSECRET_LICENSE = LGPLv2.1+ +LIBSECRET_LICENSE = LGPL-2.1+ LIBSECRET_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_LIBGCRYPT),y) diff --git a/package/libselinux/0001-libselinux-src-regex.c-support-old-compilers-for-the.patch b/package/libselinux/0001-libselinux-src-regex.c-support-old-compilers-for-the.patch deleted file mode 100644 index 3bda607512..0000000000 --- a/package/libselinux/0001-libselinux-src-regex.c-support-old-compilers-for-the.patch +++ /dev/null @@ -1,47 +0,0 @@ -From e0803c0bdbb1abf06b6b5bb1b52fdb733505b8f7 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 25 Jan 2017 22:41:02 +1300 -Subject: [PATCH] src/regex.c: support old compilers for the endian - check - -libselinux 2.6 has added some code in regex.c that uses __BYTE_ORDER__ -to determine the system endianness. Unfortunately, this definition -provided directly by the compiler doesn't exist in older gcc versions -such as gcc 4.4. - -In order to address this, this commit extends the logic to use - definitions if __BYTE_ORDER__ is not provided by the -compiler. This allows libselinux to build properly with gcc 4.4. - -Signed-off-by: Thomas Petazzoni ---- - src/regex.c | 13 ++++++++++++- - 1 file changed, 12 insertions(+), 1 deletion(-) - -diff --git a/src/regex.c b/src/regex.c -index a3b427b..0c5ad27 100644 ---- a/src/regex.c -+++ b/src/regex.c -@@ -13,7 +13,18 @@ - #endif - - #ifndef __BYTE_ORDER__ --#error __BYTE_ORDER__ not defined. Unable to determine endianness. -+ -+/* If the compiler doesn't define __BYTE_ORDER__, try to use the C -+ * library header definitions. */ -+#include -+#ifndef __BYTE_ORDER -+#error Neither __BYTE_ORDER__ nor __BYTE_ORDER defined. Unable to determine endianness. -+#endif -+ -+#define __ORDER_LITTLE_ENDIAN __LITTLE_ENDIAN -+#define __ORDER_BIG_ENDIAN __BIG_ENDIAN -+#define __BYTE_ORDER__ __BYTE_ORDER -+ - #endif - - #ifdef USE_PCRE2 --- -2.7.4 - diff --git a/package/libselinux/Config.in b/package/libselinux/Config.in index c88669b439..6be816db77 100644 --- a/package/libselinux/Config.in +++ b/package/libselinux/Config.in @@ -1,13 +1,13 @@ config BR2_PACKAGE_LIBSELINUX bool "libselinux" - select BR2_PACKAGE_LIBSEPOL - select BR2_PACKAGE_PCRE depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS # Uses , not available in musl or uClibc depends on BR2_TOOLCHAIN_USES_GLIBC # Toolchain issue: "fixup not contained within frag" depends on !BR2_arc + select BR2_PACKAGE_LIBSEPOL + select BR2_PACKAGE_PCRE help libselinux is the runtime SELinux library that provides interfaces (e.g. library functions for the SELinux kernel diff --git a/package/libselinux/libselinux.hash b/package/libselinux/libselinux.hash index 76130b2dc0..3c60d5111d 100644 --- a/package/libselinux/libselinux.hash +++ b/package/libselinux/libselinux.hash @@ -1,2 +1,2 @@ -# Locally computed -sha256 4ea2dde50665c202253ba5caac7738370ea0337c47b251ba981c60d24e1a118a libselinux-2.6.tar.gz +# From: https://github.com/SELinuxProject/selinux/wiki/Releases +sha256 d0fec0769b3ad60aa7baf9b9a4b7a056827769dc2dadda0dc0eb59b3d1c18c57 libselinux-2.7.tar.gz diff --git a/package/libselinux/libselinux.mk b/package/libselinux/libselinux.mk index 44120c4d3b..8ac8000de5 100644 --- a/package/libselinux/libselinux.mk +++ b/package/libselinux/libselinux.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBSELINUX_VERSION = 2.6 -LIBSELINUX_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20161014 +LIBSELINUX_VERSION = 2.7 +LIBSELINUX_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20170804 LIBSELINUX_LICENSE = Public Domain LIBSELINUX_LICENSE_FILES = LICENSE @@ -20,16 +20,47 @@ LIBSELINUX_MAKE_OPTS = \ LDFLAGS="$(TARGET_LDFLAGS) -lpcre -lpthread" \ ARCH=$(KERNEL_ARCH) +LIBSELINUX_MAKE_INSTALL_TARGETS = install + +ifeq ($(BR2_PACKAGE_PYTHON)$(BR2_PACKAGE_PYTHON3),y) +ifeq ($(BR2_PACKAGE_PYTHON3),y) +LIBSELINUX_DEPENDENCIES += python3 host-swig +LIBSELINUX_PYINC = -I$(STAGING_DIR)/usr/include/python$(PYTHON3_VERSION_MAJOR)m +LIBSELINUX_PYLIBVER = python$(PYTHON3_VERSION_MAJOR) +else ifeq ($(BR2_PACKAGE_PYTHON),y) +LIBSELINUX_DEPENDENCIES += python host-swig +LIBSELINUX_PYINC = -I$(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR) +LIBSELINUX_PYLIBVER = python$(PYTHON_VERSION_MAJOR) +endif + +LIBSELINUX_MAKE_OPTS += \ + PYINC="$(LIBSELINUX_PYINC)" \ + PYSITEDIR=$(TARGET_DIR)/usr/lib/$(LIBSELINUX_PYLIBVER)/site-packages \ + SWIG_LIB="$(HOST_DIR)/share/swig/$(SWIG_VERSION)/" + +LIBSELINUX_MAKE_INSTALL_TARGETS += install-pywrap + +# dependencies are broken and result in file truncation errors at link +# time if the Python bindings are built through the same make +# invocation as the rest of the library. +define LIBSELINUX_BUILD_PYTHON_BINDINGS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ + $(LIBSELINUX_MAKE_OPTS) DESTDIR=$(STAGING_DIR) swigify pywrap +endef +endif # python || python3 + define LIBSELINUX_BUILD_CMDS # DESTDIR is needed during the compile to compute library and # header paths. $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ $(LIBSELINUX_MAKE_OPTS) DESTDIR=$(STAGING_DIR) all + $(LIBSELINUX_BUILD_PYTHON_BINDINGS) endef define LIBSELINUX_INSTALL_STAGING_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ - $(LIBSELINUX_MAKE_OPTS) DESTDIR=$(STAGING_DIR) install + $(LIBSELINUX_MAKE_OPTS) DESTDIR=$(STAGING_DIR) \ + $(LIBSELINUX_MAKE_INSTALL_TARGETS) endef define LIBSELINUX_INSTALL_TARGET_CMDS @@ -46,43 +77,39 @@ HOST_LIBSELINUX_DEPENDENCIES = \ ifeq ($(BR2_PACKAGE_PYTHON3),y) HOST_LIBSELINUX_DEPENDENCIES += host-python3 -HOST_LIBSELINUX_PYTHONLIBDIR = -L$(HOST_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/ -HOST_LIBSELINUX_PYINC = -I$(HOST_DIR)/usr/include/python$(PYTHON3_VERSION_MAJOR)m/ +HOST_LIBSELINUX_PYINC = -I$(HOST_DIR)/include/python$(PYTHON3_VERSION_MAJOR)m/ HOST_LIBSELINUX_PYLIBVER = python$(PYTHON3_VERSION_MAJOR) else HOST_LIBSELINUX_DEPENDENCIES += host-python -HOST_LIBSELINUX_PYTHONLIBDIR = -L$(HOST_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/ -HOST_LIBSELINUX_PYINC = -I$(HOST_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR)/ +HOST_LIBSELINUX_PYINC = -I$(HOST_DIR)/include/python$(PYTHON_VERSION_MAJOR)/ HOST_LIBSELINUX_PYLIBVER = python$(PYTHON_VERSION_MAJOR) endif +# DESTDIR is needed during the compile to compute library and header paths. HOST_LIBSELINUX_MAKE_OPTS = \ $(HOST_CONFIGURE_OPTS) \ + DESTDIR=$(HOST_DIR) \ + PREFIX=$(HOST_DIR) \ LDFLAGS="$(HOST_LDFLAGS) -lpcre -lpthread" \ PYINC="$(HOST_LIBSELINUX_PYINC)" \ - PYTHONLIBDIR="$(HOST_LIBSELINUX_PYTHONLIBDIR)" \ - PYLIBVER="$(HOST_LIBSELINUX_PYLIBVER)" \ - SWIG_LIB="$(HOST_DIR)/usr/share/swig/$(SWIG_VERSION)/" + PYSITEDIR="$(HOST_DIR)/lib/$(HOST_LIBSELINUX_PYLIBVER)/site-packages" \ + SWIG_LIB="$(HOST_DIR)/share/swig/$(SWIG_VERSION)/" define HOST_LIBSELINUX_BUILD_CMDS - # DESTDIR is needed during the compile to compute library and - # header paths. $(HOST_MAKE_ENV) $(MAKE1) -C $(@D) \ - $(HOST_LIBSELINUX_MAKE_OPTS) DESTDIR=$(HOST_DIR) \ - SHLIBDIR=$(HOST_DIR)/usr/lib all + $(HOST_LIBSELINUX_MAKE_OPTS) all # Generate python interface wrapper $(HOST_MAKE_ENV) $(MAKE1) -C $(@D) \ - $(HOST_LIBSELINUX_MAKE_OPTS) DESTDIR=$(HOST_DIR) swigify pywrap + $(HOST_LIBSELINUX_MAKE_OPTS) swigify pywrap endef define HOST_LIBSELINUX_INSTALL_CMDS $(HOST_MAKE_ENV) $(MAKE) -C $(@D) \ - $(HOST_LIBSELINUX_MAKE_OPTS) DESTDIR=$(HOST_DIR) \ - SHLIBDIR=$(HOST_DIR)/usr/lib SBINDIR=$(HOST_DIR)/usr/sbin install - (cd $(HOST_DIR)/usr/lib; $(HOSTLN) -sf libselinux.so.1 libselinux.so) + $(HOST_LIBSELINUX_MAKE_OPTS) install + ln -sf libselinux.so.1 $(HOST_DIR)/lib/libselinux.so # Install python interface wrapper $(HOST_MAKE_ENV) $(MAKE) -C $(@D) \ - $(HOST_LIBSELINUX_MAKE_OPTS) DESTDIR=$(HOST_DIR) install-pywrap + $(HOST_LIBSELINUX_MAKE_OPTS) install-pywrap endef $(eval $(generic-package)) diff --git a/package/libsemanage/Config.in b/package/libsemanage/Config.in index 4318dbfc5f..7ee9c38606 100644 --- a/package/libsemanage/Config.in +++ b/package/libsemanage/Config.in @@ -1,9 +1,5 @@ config BR2_PACKAGE_LIBSEMANAGE bool "libsemanage" - select BR2_PACKAGE_AUDIT - select BR2_PACKAGE_LIBSELINUX - select BR2_PACKAGE_USTR - select BR2_PACKAGE_BZIP2 depends on BR2_PACKAGE_AUDIT_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS @@ -12,6 +8,10 @@ config BR2_PACKAGE_LIBSEMANAGE # - audit is not available on musl depends on BR2_TOOLCHAIN_USES_GLIBC depends on !BR2_arc + select BR2_PACKAGE_AUDIT + select BR2_PACKAGE_LIBSELINUX + select BR2_PACKAGE_USTR + select BR2_PACKAGE_BZIP2 help libsemanage is the policy management library. It uses libsepol for binary policy manipulation and libselinux for diff --git a/package/libsemanage/libsemanage.hash b/package/libsemanage/libsemanage.hash index 62f4d833a5..c386571591 100644 --- a/package/libsemanage/libsemanage.hash +++ b/package/libsemanage/libsemanage.hash @@ -1,2 +1,2 @@ -# Locally computed -sha256 4f81541047290b751f2ffb926fcd381c186f22db18d9fe671b0b4a6a54e8cfce libsemanage-2.6.tar.gz +# From: https://github.com/SELinuxProject/selinux/wiki/Releases +sha256 07e9477714ce6a4557a1fe924ea4cb06501b62d0fa0e3c0dc32a2cf47cb8d476 libsemanage-2.7.tar.gz diff --git a/package/libsemanage/libsemanage.mk b/package/libsemanage/libsemanage.mk index 754559445d..829409f527 100644 --- a/package/libsemanage/libsemanage.mk +++ b/package/libsemanage/libsemanage.mk @@ -4,9 +4,9 @@ # ################################################################################ -LIBSEMANAGE_VERSION = 2.6 -LIBSEMANAGE_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20161014 -LIBSEMANAGE_LICENSE = LGPLv2.1+ +LIBSEMANAGE_VERSION = 2.7 +LIBSEMANAGE_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20170804 +LIBSEMANAGE_LICENSE = LGPL-2.1+ LIBSEMANAGE_LICENSE_FILES = COPYING LIBSEMANAGE_DEPENDENCIES = host-bison host-flex audit libselinux ustr bzip2 LIBSEMANAGE_INSTALL_STAGING = YES @@ -29,33 +29,36 @@ endef HOST_LIBSEMANAGE_DEPENDENCIES = host-bison host-audit host-libsepol host-libselinux \ host-ustr host-bzip2 host-swig -HOST_LIBSEMANAGE_MAKE_OPTS += $(HOST_CONFIGURE_OPTS) \ - SWIG_LIB="$(HOST_DIR)/usr/share/swig/$(SWIG_VERSION)/" + +# DESTDIR is needed during the compile to compute library and header paths. +HOST_LIBSEMANAGE_MAKE_OPTS += \ + $(HOST_CONFIGURE_OPTS) \ + DESTDIR=$(HOST_DIR) \ + PREFIX=$(HOST_DIR) \ + SWIG_LIB="$(HOST_DIR)/share/swig/$(SWIG_VERSION)/" ifeq ($(BR2_PACKAGE_PYTHON3),y) HOST_LIBSEMANAGE_DEPENDENCIES += host-python3 HOST_LIBSEMANAGE_MAKE_OPTS += \ - PYINC="-I$(HOST_DIR)/usr/include/python$(PYTHON3_VERSION_MAJOR)m/" \ - PYTHONLIBDIR="-L$(HOST_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/" \ + PYINC="-I$(HOST_DIR)/include/python$(PYTHON3_VERSION_MAJOR)m/" \ + PYTHONLIBDIR="-L$(HOST_DIR)/lib/python$(PYTHON3_VERSION_MAJOR)/" \ PYLIBVER="python$(PYTHON3_VERSION_MAJOR)" else HOST_LIBSEMANAGE_DEPENDENCIES += host-python HOST_LIBSEMANAGE_MAKE_OPTS += \ - PYINC="-I$(HOST_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR)/" \ - PYTHONLIBDIR="-L$(HOST_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/" \ + PYINC="-I$(HOST_DIR)/include/python$(PYTHON_VERSION_MAJOR)/" \ + PYTHONLIBDIR="-L$(HOST_DIR)/lib/python$(PYTHON_VERSION_MAJOR)/" \ PYLIBVER="python$(PYTHON_VERSION_MAJOR)" endif define HOST_LIBSEMANAGE_BUILD_CMDS - # DESTDIR is needed during the compile to compute library and - # header paths. - $(HOST_MAKE_ENV) $(MAKE) -C $(@D) $(HOST_CONFIGURE_OPTS) DESTDIR=$(HOST_DIR) all - $(HOST_MAKE_ENV) $(MAKE) -C $(@D) $(HOST_LIBSEMANAGE_MAKE_OPTS) DESTDIR=$(HOST_DIR) swigify pywrap + $(HOST_MAKE_ENV) $(MAKE) -C $(@D) $(HOST_LIBSEMANAGE_MAKE_OPTS) all + $(HOST_MAKE_ENV) $(MAKE) -C $(@D) $(HOST_LIBSEMANAGE_MAKE_OPTS) swigify pywrap endef define HOST_LIBSEMANAGE_INSTALL_CMDS - $(HOST_MAKE_ENV) $(MAKE) -C $(@D) $(HOST_CONFIGURE_OPTS) DESTDIR=$(HOST_DIR) install - $(HOST_MAKE_ENV) $(MAKE) -C $(@D) $(HOST_LIBSEMANAGE_MAKE_OPTS) DESTDIR=$(HOST_DIR) install-pywrap + $(HOST_MAKE_ENV) $(MAKE) -C $(@D) $(HOST_LIBSEMANAGE_MAKE_OPTS) install + $(HOST_MAKE_ENV) $(MAKE) -C $(@D) $(HOST_LIBSEMANAGE_MAKE_OPTS) install-pywrap endef $(eval $(generic-package)) diff --git a/package/libsepol/0001-support-static-only.patch b/package/libsepol/0001-support-static-only.patch index 3e6d555e96..185a5641de 100644 --- a/package/libsepol/0001-support-static-only.patch +++ b/package/libsepol/0001-support-static-only.patch @@ -1,4 +1,7 @@ -Add support for static-only build +From 2140db697c7f1da2a0a3f7bbcb14c1a0dade84e5 Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Mon, 9 Oct 2017 16:28:12 -0400 +Subject: [PATCH] Add support for static-only build Instead of unconditionally building shared libraries, this patch improves the libsepol build system with a "STATIC" variable, which @@ -7,30 +10,30 @@ libraries. It allows to support cases where the target architecture does not have support for shared libraries. Signed-off-by: Thomas Petazzoni -Signed-off-by: Adam Duskett - -Index: b/src/Makefile -=================================================================== +Signed-off-by: Adam Duskett +--- + src/Makefile | 13 ++++++++++--- + 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/Makefile b/src/Makefile -index db6c2ba..0006285 100644 +index 819d261..040921d 100644 --- a/src/Makefile +++ b/src/Makefile -@@ -30,8 +30,12 @@ LOBJS += $(sort $(patsubst %.c,%.lo,$(wildcard $(CILDIR)/src/*.c) $(CIL_GENERATE - override CFLAGS += -I$(CILDIR)/include +@@ -40,7 +40,12 @@ LDFLAGS += -undefined dynamic_lookup + LN=gln endif +-all: $(LIBA) $(LIBSO) $(LIBPC) +ALL_TARGETS = $(LIBA) $(LIBPC) +ifeq ($(STATIC),) +ALL_TARGETS += $(LIBSO) +endif - --all: $(LIBA) $(LIBSO) $(LIBPC) ++ +all: $(ALL_TARGETS) - + $(LIBA): $(OBJS) -@@ -66,11 +70,13 @@ +@@ -82,11 +87,13 @@ endif install: all test -d $(LIBDIR) || install -m 755 -d $(LIBDIR) install -m 644 $(LIBA) $(LIBDIR) @@ -41,8 +44,11 @@ index db6c2ba..0006285 100644 +ifeq ($(STATIC),) + test -d $(SHLIBDIR) || install -m 755 -d $(SHLIBDIR) + install -m 755 $(LIBSO) $(SHLIBDIR) - ln -sf --relative $(SHLIBDIR)/$(LIBSO) $(LIBDIR)/$(TARGET) + $(LN) -sf --relative $(SHLIBDIR)/$(LIBSO) $(LIBDIR)/$(TARGET) +endif relabel: /sbin/restorecon $(SHLIBDIR)/$(LIBSO) +-- +2.13.6 + diff --git a/package/libsepol/0003-revert-ln-relative.patch b/package/libsepol/0003-revert-ln-relative.patch index 0902d8d40e..488a9abea0 100644 --- a/package/libsepol/0003-revert-ln-relative.patch +++ b/package/libsepol/0003-revert-ln-relative.patch @@ -1,4 +1,7 @@ -Makefile: revert libsepol: use ln --relative to create .so symlinks +From 16b2b0e21e10727065042a1baabd1a887757c65c Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Mon, 9 Oct 2017 16:29:36 -0400 +Subject: [PATCH] Makefile: revert libsepol: use ln --relative to create .so symlinks This reverts 71393a181d63c9baae5fe8dcaeb9411d1f253998 @@ -9,16 +12,23 @@ they are maintained (up to 10 years in some cases?). For the sake of Buildroot, revert the upstream patch. Signed-off-by: "Yann E. MORIN" +--- + src/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) -diff -durN a/src/Makefile b/src/Makefile +diff --git a/src/Makefile b/src/Makefile +index 040921d..e811c9e 100644 --- a/src/Makefile +++ b/src/Makefile -@@ -77,7 +77,7 @@ +@@ -92,7 +92,7 @@ install: all ifeq ($(STATIC),) test -d $(SHLIBDIR) || install -m 755 -d $(SHLIBDIR) install -m 755 $(LIBSO) $(SHLIBDIR) -- ln -sf --relative $(SHLIBDIR)/$(LIBSO) $(LIBDIR)/$(TARGET) +- $(LN) -sf --relative $(SHLIBDIR)/$(LIBSO) $(LIBDIR)/$(TARGET) + cd $(LIBDIR) && ln -sf ../../`basename $(SHLIBDIR)`/$(LIBSO) $(TARGET) endif relabel: +-- +2.13.6 + diff --git a/package/libsepol/Config.in b/package/libsepol/Config.in index f92af52072..cfa923e452 100644 --- a/package/libsepol/Config.in +++ b/package/libsepol/Config.in @@ -1,7 +1,11 @@ config BR2_PACKAGE_LIBSEPOL bool "libsepol" + depends on BR2_TOOLCHAIN_HAS_THREADS # pthread help Libsepol is the binary policy manipulation library. It doesn't depend upon or use any of the other SELinux components. http://selinuxproject.org/page/Main_Page + +comment "libsepol needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libsepol/libsepol.hash b/package/libsepol/libsepol.hash index 6c705067a2..08e2bf97a4 100644 --- a/package/libsepol/libsepol.hash +++ b/package/libsepol/libsepol.hash @@ -1,2 +1,2 @@ -# From https://github.com/SELinuxProject/selinux/wiki/Releases -sha256 d856d6506054f52abeaa3543ea2f2344595a3dc05d0d873ed7f724f7a16b1874 libsepol-2.6.tar.gz +# From: https://github.com/SELinuxProject/selinux/wiki/Releases +sha256 d69d3bd8ec901a3bd5adf2be2fb47fb1a685ed73066ab482e7e505371a48f9e7 libsepol-2.7.tar.gz diff --git a/package/libsepol/libsepol.mk b/package/libsepol/libsepol.mk index 61d1e611de..c54c3bfc42 100644 --- a/package/libsepol/libsepol.mk +++ b/package/libsepol/libsepol.mk @@ -4,9 +4,9 @@ # ################################################################################ -LIBSEPOL_VERSION = 2.6 -LIBSEPOL_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20161014 -LIBSEPOL_LICENSE = LGPLv2.1+ +LIBSEPOL_VERSION = 2.7 +LIBSEPOL_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20170804 +LIBSEPOL_LICENSE = LGPL-2.1+ LIBSEPOL_LICENSE_FILES = COPYING LIBSEPOL_INSTALL_STAGING = YES @@ -33,15 +33,18 @@ define LIBSEPOL_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install $(LIBSEPOL_MAKE_FLAGS) DESTDIR=$(TARGET_DIR) endef +HOST_LIBSEPOL_MAKE_ENV = \ + $(HOST_MAKE_ENV) \ + DESTDIR=$(HOST_DIR) \ + PREFIX=$(HOST_DIR) + define HOST_LIBSEPOL_BUILD_CMDS - $(HOST_MAKE_ENV) $(MAKE) -C $(@D) $(HOST_CONFIGURE_OPTS) DESTDIR=$(HOST_DIR) + $(HOST_LIBSEPOL_MAKE_ENV) $(MAKE) -C $(@D) $(HOST_CONFIGURE_OPTS) endef define HOST_LIBSEPOL_INSTALL_CMDS - $(HOST_MAKE_ENV) $(MAKE) -C $(@D) install $(HOST_CONFIGURE_OPTS) DESTDIR=$(HOST_DIR) - mv $(HOST_DIR)/lib/libsepol.so.1 $(HOST_DIR)/usr/lib - (cd $(HOST_DIR)/usr/lib; rm -f libsepol.so; ln -s libsepol.so.1 libsepol.so) - -rmdir $(HOST_DIR)/lib + $(HOST_LIBSEPOL_MAKE_ENV) $(MAKE) -C $(@D) install $(HOST_CONFIGURE_OPTS) + ln -sf libsepol.so.1 $(HOST_DIR)/lib/libsepol.so endef $(eval $(generic-package)) diff --git a/package/libserial/Config.in b/package/libserial/Config.in index bd936b93b8..d492f6b71b 100644 --- a/package/libserial/Config.in +++ b/package/libserial/Config.in @@ -5,8 +5,8 @@ config BR2_PACKAGE_LIBSERIAL depends on BR2_USE_WCHAR # boost select BR2_PACKAGE_BOOST help - Simplified serial port programming in C++ under POSIX operating - systems. + Simplified serial port programming in C++ under POSIX + operating systems. http://libserial.sourceforge.net/ diff --git a/package/libserial/libserial.mk b/package/libserial/libserial.mk index 11f187484e..b73d4c76cd 100644 --- a/package/libserial/libserial.mk +++ b/package/libserial/libserial.mk @@ -7,7 +7,7 @@ LIBSERIAL_VERSION = 0.6.0rc2 LIBSERIAL_SITE = http://downloads.sourceforge.net/libserial LIBSERIAL_INSTALL_STAGING = YES -LIBSERIAL_LICENSE = GPLv2+ +LIBSERIAL_LICENSE = GPL-2.0+ LIBSERIAL_LICENSE_FILES = COPYING LIBSERIAL_DEPENDENCIES = boost diff --git a/package/libserialport/libserialport.mk b/package/libserialport/libserialport.mk index 86ae17f549..84d7a5315b 100644 --- a/package/libserialport/libserialport.mk +++ b/package/libserialport/libserialport.mk @@ -6,7 +6,7 @@ LIBSERIALPORT_VERSION = 0.1.1 LIBSERIALPORT_SITE = http://sigrok.org/download/source/libserialport -LIBSERIALPORT_LICENSE = LGPLv3+ +LIBSERIALPORT_LICENSE = LGPL-3.0+ LIBSERIALPORT_LICENSE_FILES = COPYING LIBSERIALPORT_INSTALL_STAGING = YES LIBSERIALPORT_DEPENDENCIES = host-pkgconf diff --git a/package/libsexy/libsexy.mk b/package/libsexy/libsexy.mk index c291d7dc9f..b079264122 100644 --- a/package/libsexy/libsexy.mk +++ b/package/libsexy/libsexy.mk @@ -8,7 +8,7 @@ LIBSEXY_VERSION = 0.1.11 LIBSEXY_SITE = http://releases.chipx86.com/libsexy/libsexy LIBSEXY_DEPENDENCIES = libgtk2 libxml2 LIBSEXY_INSTALL_STAGING = YES -LIBSEXY_LICENSE = LGPLv2.1+ +LIBSEXY_LICENSE = LGPL-2.1+ LIBSEXY_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/libsha1/libsha1.mk b/package/libsha1/libsha1.mk index 647f986d4f..4d80f3aa3a 100644 --- a/package/libsha1/libsha1.mk +++ b/package/libsha1/libsha1.mk @@ -6,7 +6,7 @@ LIBSHA1_VERSION = 0.3 LIBSHA1_SITE = $(call github,dottedmag,libsha1,$(LIBSHA1_VERSION)) -LIBSHA1_LICENSE = BSD-3c or GPL +LIBSHA1_LICENSE = BSD-3-Clause or GPL LIBSHA1_LICENSE_FILES = COPYING LIBSHA1_INSTALL_STAGING = YES diff --git a/package/libshairplay/libshairplay.mk b/package/libshairplay/libshairplay.mk index 4bdd1a04e0..4b2883cd06 100644 --- a/package/libshairplay/libshairplay.mk +++ b/package/libshairplay/libshairplay.mk @@ -8,7 +8,7 @@ LIBSHAIRPLAY_VERSION = ce80e005908f41d0e6fde1c4a21e9cb8ee54007b LIBSHAIRPLAY_SITE = $(call github,juhovh,shairplay,$(LIBSHAIRPLAY_VERSION)) LIBSHAIRPLAY_INSTALL_STAGING = YES LIBSHAIRPLAY_AUTORECONF = YES -LIBSHAIRPLAY_LICENSE = MIT, BSD-3c, LGPLv2.1+ +LIBSHAIRPLAY_LICENSE = MIT, BSD-3-Clause, LGPL-2.1+ LIBSHAIRPLAY_LICENSE_FILES = LICENSE LIBSHAIRPLAY_DEPENDENCIES = host-pkgconf $(if $(BR2_PACKAGE_LIBAO),libao) diff --git a/package/libshout/Config.in b/package/libshout/Config.in index 02248c7f8e..f8749b9183 100644 --- a/package/libshout/Config.in +++ b/package/libshout/Config.in @@ -3,8 +3,9 @@ config BR2_PACKAGE_LIBSHOUT select BR2_PACKAGE_LIBOGG select BR2_PACKAGE_LIBVORBIS help - Libshout is a library for communicating with and sending data to an - icecast server. It handles the socket connection, the timing of the - data, and prevents bad data from getting to the icecast server. + Libshout is a library for communicating with and sending data + to an icecast server. It handles the socket connection, the + timing of the data, and prevents bad data from getting to the + icecast server. http://icecast.org/download/ diff --git a/package/libshout/libshout.mk b/package/libshout/libshout.mk index bf85595204..4f209081a4 100644 --- a/package/libshout/libshout.mk +++ b/package/libshout/libshout.mk @@ -6,7 +6,7 @@ LIBSHOUT_VERSION = 2.4.1 LIBSHOUT_SITE = http://downloads.xiph.org/releases/libshout -LIBSHOUT_LICENSE = LGPLv2+ +LIBSHOUT_LICENSE = LGPL-2.0+ LIBSHOUT_LICENSE_FILES = COPYING LIBSHOUT_INSTALL_STAGING = YES LIBSHOUT_DEPENDENCIES = host-pkgconf libogg libvorbis @@ -31,6 +31,9 @@ endif ifeq ($(BR2_PACKAGE_OPENSSL),y) LIBSHOUT_CONF_OPTS += --with-openssl LIBSHOUT_DEPENDENCIES += openssl +else ifeq ($(BR2_PACKAGE_LIBRESSL),y) +LIBSHOUT_CONF_OPTS += --with-openssl=$(STAGING_DIR)/lib +LIBSHOUT_DEPENDENCIES += libressl else LIBSHOUT_CONF_OPTS += --without-openssl endif diff --git a/package/libsidplay2/0001-sidplay2-libs-2.1.1.patch b/package/libsidplay2/0001-sidplay2-libs-2.1.1.patch index 3f7664407a..7c6813bb66 100644 --- a/package/libsidplay2/0001-sidplay2-libs-2.1.1.patch +++ b/package/libsidplay2/0001-sidplay2-libs-2.1.1.patch @@ -1,93 +1,30 @@ -Various fixes to compile libsidplay2 with newer gcc compilers +From 38493fceb39ac33e12c9c69d78f5584413b479f4 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Wed, 1 Mar 2017 10:03:40 +0100 +Subject: [PATCH] Various fixes to compile libsidplay2 with newer gcc compilers Downloaded from http://tsubasa.googlecode.com/svn/trunk/tsubasa/sidplay2-libs/sidplay2-libs-2.1.1.diff Signed-off-by: Bernd Kuhls +[Thomas: adjusted to avoid the need to autoreconf, which doesn't work +properly on this package.] +Signed-off-by: Thomas Petazzoni +--- + builders/hardsid-builder/src/hardsid-builder.cpp | 1 + + builders/resid-builder/src/resid-builder.cpp | 1 + + builders/resid-builder/src/resid.cpp | 1 + + configure | 2 +- + libsidplay/configure | 5 +++-- + libsidplay/include/sidplay/SmartPtr.h | 28 ++++++++++++------------ + libsidplay/include/sidplay/sidendian.h | 18 +++++++++------ + libsidutils/include/sidplay/utils/SidUsage.h | 2 +- + 8 files changed, 33 insertions(+), 25 deletions(-) ---- sidplay-libs-2.1.1.orig/Makefile.in -+++ sidplay-libs-2.1.1/Makefile.in -@@ -1,4 +1,4 @@ --# Makefile.in generated by automake 1.8.4 from Makefile.am. -+# Makefile.in generated by automake 1.8.5 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -@@ -253,7 +253,7 @@ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ -- test -f $$subdir/TAGS && \ -+ test ! -f $$subdir/TAGS || \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ -@@ -264,7 +264,7 @@ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ -- test -z "$$unique" && unique=$$empty_fix; \ -+ test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi ---- sidplay-libs-2.1.1.orig/aclocal.m4 -+++ sidplay-libs-2.1.1/aclocal.m4 -@@ -1,4 +1,4 @@ --# generated automatically by aclocal 1.8.4 -*- Autoconf -*- -+# generated automatically by aclocal 1.8.5 -*- Autoconf -*- - - # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 - # Free Software Foundation, Inc. -@@ -40,7 +40,7 @@ - # Call AM_AUTOMAKE_VERSION so it can be traced. - # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. - AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -- [AM_AUTOMAKE_VERSION([1.8.4])]) -+ [AM_AUTOMAKE_VERSION([1.8.5])]) - - # AM_AUX_DIR_EXPAND - ---- sidplay-libs-2.1.1.orig/builders/Makefile.in -+++ sidplay-libs-2.1.1/builders/Makefile.in -@@ -1,4 +1,4 @@ --# Makefile.in generated by automake 1.8.4 from Makefile.am. -+# Makefile.in generated by automake 1.8.5 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -@@ -130,9 +130,9 @@ - exit 1;; \ - esac; \ - done; \ -- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu builders/Makefile'; \ -+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign builders/Makefile'; \ - cd $(top_srcdir) && \ -- $(AUTOMAKE) --gnu builders/Makefile -+ $(AUTOMAKE) --foreign builders/Makefile - .PRECIOUS: Makefile - Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ -@@ -234,7 +234,7 @@ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ -- test -f $$subdir/TAGS && \ -+ test ! -f $$subdir/TAGS || \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ -@@ -245,7 +245,7 @@ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ -- test -z "$$unique" && unique=$$empty_fix; \ -+ test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi ---- sidplay-libs-2.1.1.orig/builders/hardsid-builder/src/hardsid-builder.cpp -+++ sidplay-libs-2.1.1/builders/hardsid-builder/src/hardsid-builder.cpp +diff --git a/builders/hardsid-builder/src/hardsid-builder.cpp b/builders/hardsid-builder/src/hardsid-builder.cpp +index f54d0a9..9375e40 100644 +--- a/builders/hardsid-builder/src/hardsid-builder.cpp ++++ b/builders/hardsid-builder/src/hardsid-builder.cpp @@ -47,6 +47,7 @@ ***************************************************************************/ @@ -96,8 +33,10 @@ Signed-off-by: Bernd Kuhls #include "config.h" #ifdef HAVE_EXCEPTIONS ---- sidplay-libs-2.1.1.orig/builders/resid-builder/src/resid-builder.cpp -+++ sidplay-libs-2.1.1/builders/resid-builder/src/resid-builder.cpp +diff --git a/builders/resid-builder/src/resid-builder.cpp b/builders/resid-builder/src/resid-builder.cpp +index e6e4eaa..4c7650f 100644 +--- a/builders/resid-builder/src/resid-builder.cpp ++++ b/builders/resid-builder/src/resid-builder.cpp @@ -37,6 +37,7 @@ ***************************************************************************/ @@ -106,8 +45,10 @@ Signed-off-by: Bernd Kuhls #include "config.h" #ifdef HAVE_EXCEPTIONS ---- sidplay-libs-2.1.1.orig/builders/resid-builder/src/resid.cpp -+++ sidplay-libs-2.1.1/builders/resid-builder/src/resid.cpp +diff --git a/builders/resid-builder/src/resid.cpp b/builders/resid-builder/src/resid.cpp +index 8c27850..d3123c5 100644 +--- a/builders/resid-builder/src/resid.cpp ++++ b/builders/resid-builder/src/resid.cpp @@ -16,6 +16,7 @@ * * ***************************************************************************/ @@ -116,9 +57,11 @@ Signed-off-by: Bernd Kuhls #include "config.h" #ifdef HAVE_EXCEPTIONS ---- sidplay-libs-2.1.1.orig/configure.ac -+++ sidplay-libs-2.1.1/configure.ac -@@ -2,7 +2,7 @@ +diff --git a/configure b/configure +index 1200eaf..77948b4 100755 +--- a/configure ++++ b/configure +@@ -1227,7 +1227,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu #Variables pwd=`pwd` @@ -126,19 +69,28 @@ Signed-off-by: Bernd Kuhls +builders='${libdir}'/ ac_configure_args="$ac_configure_args --disable-library-checks" - AC_CONFIG_AUX_DIR(unix) -@@ -11,7 +11,7 @@ - - hardsid=false - case "$host" in -- *linux*) hardsid=true -+ *linux*|*-k*bsd*-gnu) hardsid=true - ;; - esac - AM_CONDITIONAL(HARDSID, test x$hardsid = xtrue) ---- sidplay-libs-2.1.1.orig/libsidplay/include/sidplay/SmartPtr.h -+++ sidplay-libs-2.1.1/libsidplay/include/sidplay/SmartPtr.h -@@ -17,16 +17,16 @@ + ac_aux_dir= +diff --git a/libsidplay/configure b/libsidplay/configure +index 05a8ea6..3d93956 100755 +--- a/libsidplay/configure ++++ b/libsidplay/configure +@@ -23466,8 +23466,9 @@ _ACEOF + cat confdefs.h >>conftest.$ac_ext + cat >>conftest.$ac_ext <<_ACEOF + /* end confdefs.h. */ +-#include +- #include ++#include ++ #include ++ using namespace std; + int + main () + { +diff --git a/libsidplay/include/sidplay/SmartPtr.h b/libsidplay/include/sidplay/SmartPtr.h +index c0cbb1a..15efd10 100644 +--- a/libsidplay/include/sidplay/SmartPtr.h ++++ b/libsidplay/include/sidplay/SmartPtr.h +@@ -17,16 +17,16 @@ class SmartPtrBase_sidtt doFree = bufOwner; if ( bufferLen >= 1 ) { @@ -162,7 +114,7 @@ Signed-off-by: Bernd Kuhls } } -@@ -211,16 +211,16 @@ +@@ -211,16 +211,16 @@ class SmartPtr_sidtt : public SmartPtrBase_sidtt { if ( bufferLen >= 1 ) { @@ -186,8 +138,10 @@ Signed-off-by: Bernd Kuhls } } }; ---- sidplay-libs-2.1.1.orig/libsidplay/include/sidplay/sidendian.h -+++ sidplay-libs-2.1.1/libsidplay/include/sidplay/sidendian.h +diff --git a/libsidplay/include/sidplay/sidendian.h b/libsidplay/include/sidplay/sidendian.h +index 9fa8582..6115282 100644 +--- a/libsidplay/include/sidplay/sidendian.h ++++ b/libsidplay/include/sidplay/sidendian.h @@ -16,6 +16,10 @@ ***************************************************************************/ /*************************************************************************** @@ -199,7 +153,7 @@ Signed-off-by: Bernd Kuhls * Revision 1.5 2001/07/03 22:44:13 s_a_white * Added endian_16 to convert a 16 bit value to an array of 8s. * -@@ -141,7 +145,7 @@ +@@ -141,7 +145,7 @@ inline void endian_16swap8 (uint_least16_t &word) // Convert high-byte and low-byte to 16-bit word. inline uint_least16_t endian_16 (uint8_t hi, uint8_t lo) { @@ -208,7 +162,7 @@ Signed-off-by: Bernd Kuhls endian_16lo8 (word, lo); endian_16hi8 (word, hi); return word; -@@ -165,7 +169,7 @@ +@@ -165,7 +169,7 @@ inline void endian_16 (uint8_t ptr[2], uint_least16_t word) inline void endian_16 (char ptr[2], uint_least16_t word) { @@ -217,7 +171,7 @@ Signed-off-by: Bernd Kuhls } // Convert high-byte and low-byte to 16-bit little endian word. -@@ -334,7 +338,7 @@ +@@ -334,7 +338,7 @@ inline void endian_32swap16 (uint_least32_t &dword) // Swap word endian. inline void endian_32swap8 (uint_least32_t &dword) { @@ -226,7 +180,7 @@ Signed-off-by: Bernd Kuhls lo = endian_32lo16 (dword); hi = endian_32hi16 (dword); endian_16swap8 (lo); -@@ -346,8 +350,8 @@ +@@ -346,8 +350,8 @@ inline void endian_32swap8 (uint_least32_t &dword) // Convert high-byte and low-byte to 32-bit word. inline uint_least32_t endian_32 (uint8_t hihi, uint8_t hilo, uint8_t hi, uint8_t lo) { @@ -237,7 +191,7 @@ Signed-off-by: Bernd Kuhls endian_32lo8 (dword, lo); endian_32hi8 (dword, hi); endian_16lo8 (word, hilo); -@@ -374,7 +378,7 @@ +@@ -374,7 +378,7 @@ inline void endian_little32 (uint8_t ptr[4], uint_least32_t dword) defined(SID_WORDS_LITTLEENDIAN) *((uint_least32_t *) ptr) = dword; #else @@ -246,7 +200,7 @@ Signed-off-by: Bernd Kuhls ptr[0] = endian_32lo8 (dword); ptr[1] = endian_32hi8 (dword); word = endian_32hi16 (dword); -@@ -401,7 +405,7 @@ +@@ -401,7 +405,7 @@ inline void endian_big32 (uint8_t ptr[4], uint_least32_t dword) defined(SID_WORDS_BIGENDIAN) *((uint_least32_t *) ptr) = dword; #else @@ -255,72 +209,11 @@ Signed-off-by: Bernd Kuhls word = endian_32hi16 (dword); ptr[1] = endian_16lo8 (word); ptr[0] = endian_16hi8 (word); ---- sidplay-libs-2.1.1.orig/libsidplay/unix/config.h.in -+++ sidplay-libs-2.1.1/libsidplay/unix/config.h.in -@@ -72,22 +72,22 @@ - /* Define to the version of this package. */ - #undef PACKAGE_VERSION - --/* The size of a `char', as computed by sizeof. */ -+/* The size of `char', as computed by sizeof. */ - #undef SIZEOF_CHAR - --/* The size of a `int', as computed by sizeof. */ -+/* The size of `int', as computed by sizeof. */ - #undef SIZEOF_INT - - /* The number of bytes in type long */ - #undef SIZEOF_LONG - --/* The size of a `long int', as computed by sizeof. */ -+/* The size of `long int', as computed by sizeof. */ - #undef SIZEOF_LONG_INT - - /* The number of bytes in type short */ - #undef SIZEOF_SHORT - --/* The size of a `short int', as computed by sizeof. */ -+/* The size of `short int', as computed by sizeof. */ - #undef SIZEOF_SHORT_INT - - /* The number of bytes in type void* */ ---- sidplay-libs-2.1.1.orig/libsidplay/unix/my_macros.m4 -+++ sidplay-libs-2.1.1/libsidplay/unix/my_macros.m4 -@@ -105,8 +105,9 @@ - AC_CACHE_VAL(test_cv_have_ios_openmode, - [ - AC_TRY_COMPILE( -- [#include -- #include ], -+ [#include -+ #include -+ using namespace std;], - [ios::openmode myTest = ios::in;], - [test_cv_have_ios_openmode=yes], - [test_cv_have_ios_openmode=no] ---- sidplay-libs-2.1.1.orig/libsidplay/unix/sidint.h -+++ sidplay-libs-2.1.1/libsidplay/unix/sidint.h -@@ -0,0 +1,17 @@ -+#ifndef _UNIX_SIDINT_H -+#define _UNIX_SIDINT_H 1 -+#ifndef _GENERATED_STDINT_H -+#define _GENERATED_STDINT_H "libsidplay 2.1.1" -+/* generated using a gnu compiler version gcc (Debian 4.3-20080219-1) 4.3.0 20080219 (prerelease) [gcc-4_3-branch revision 132456] Copyright (C) 2007 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. */ -+ -+#include -+ -+ -+/* system headers have good uint64_t */ -+#ifndef _HAVE_UINT64_T -+#define _HAVE_UINT64_T -+#endif -+ -+ /* once */ -+#endif -+#endif ---- sidplay-libs-2.1.1.orig/libsidutils/include/sidplay/utils/SidUsage.h -+++ sidplay-libs-2.1.1/libsidutils/include/sidplay/utils/SidUsage.h -@@ -33,7 +33,7 @@ +diff --git a/libsidutils/include/sidplay/utils/SidUsage.h b/libsidutils/include/sidplay/utils/SidUsage.h +index 2afb0f3..0496eea 100755 +--- a/libsidutils/include/sidplay/utils/SidUsage.h ++++ b/libsidutils/include/sidplay/utils/SidUsage.h +@@ -33,7 +33,7 @@ struct sid2_usage_t: public sid_usage_t uint_least16_t length; // usage scan length // Copy common parts of basic usage to extended usage. @@ -329,3 +222,6 @@ Signed-off-by: Bernd Kuhls { *((sid_usage_t *) this) = usage; return *this; +-- +2.7.4 + diff --git a/package/libsidplay2/Config.in b/package/libsidplay2/Config.in index 5698367058..1bbe49bad2 100644 --- a/package/libsidplay2/Config.in +++ b/package/libsidplay2/Config.in @@ -2,10 +2,11 @@ config BR2_PACKAGE_LIBSIDPLAY2 bool "libsidplay2" depends on BR2_INSTALL_LIBSTDCPP help - Sidplay 2 is the second in the Sidplay series originally developed by - Michael Schwendt. This version is written by Simon White and is cycle - accurate for improved sound reproduction. Sidplay 2 is capable of - playing all C64 mono and stereo file formats. + Sidplay 2 is the second in the Sidplay series originally + developed by Michael Schwendt. This version is written by + Simon White and is cycle accurate for improved sound + reproduction. Sidplay 2 is capable of playing all C64 mono and + stereo file formats. http://sourceforge.net/projects/sidplay2 diff --git a/package/libsidplay2/libsidplay2.mk b/package/libsidplay2/libsidplay2.mk index b294964397..20af77265d 100644 --- a/package/libsidplay2/libsidplay2.mk +++ b/package/libsidplay2/libsidplay2.mk @@ -7,9 +7,8 @@ LIBSIDPLAY2_VERSION = 2.1.1 LIBSIDPLAY2_SOURCE = sidplay-libs-$(LIBSIDPLAY2_VERSION).tar.gz LIBSIDPLAY2_SITE = http://downloads.sourceforge.net/project/sidplay2/sidplay2/sidplay-libs-$(LIBSIDPLAY2_VERSION) -LIBSIDPLAY2_LICENSE = GPLv2+ +LIBSIDPLAY2_LICENSE = GPL-2.0+ LIBSIDPLAY2_LICENSE_FILES = libsidplay/COPYING -LIBSIDPLAY2_AUTORECONF = YES LIBSIDPLAY2_INSTALL_STAGING = YES $(eval $(autotools-package)) diff --git a/package/libsigc/Config.in b/package/libsigc/Config.in index f38749b4d9..4bd762efce 100644 --- a/package/libsigc/Config.in +++ b/package/libsigc/Config.in @@ -3,10 +3,10 @@ config BR2_PACKAGE_LIBSIGC depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 depends on BR2_INSTALL_LIBSTDCPP help - libsigc++ implements a typesafe callback system for standard C++. - It allows you to define signals and to connect those signals to - any callback function, either global or a member function, - regardless of whether it is static or virtual. + libsigc++ implements a typesafe callback system for standard + C++. It allows you to define signals and to connect those + signals to any callback function, either global or a member + function, regardless of whether it is static or virtual. http://libsigc.sourceforge.net/ diff --git a/package/libsigc/libsigc.mk b/package/libsigc/libsigc.mk index 590cbaa583..d7cbd36da8 100644 --- a/package/libsigc/libsigc.mk +++ b/package/libsigc/libsigc.mk @@ -10,7 +10,7 @@ LIBSIGC_SOURCE = libsigc++-$(LIBSIGC_VERSION).tar.xz LIBSIGC_SITE = http://ftp.gnome.org/pub/GNOME/sources/libsigc++/$(LIBSIGC_VERSION_MAJOR) LIBSIGC_DEPENDENCIES = host-m4 LIBSIGC_INSTALL_STAGING = YES -LIBSIGC_LICENSE = LGPLv2.1+ +LIBSIGC_LICENSE = LGPL-2.1+ LIBSIGC_LICENSE_FILES = COPYING define LIBSIGC_INSTALL_TARGET_FIXUP diff --git a/package/libsigrok/0001-beaglelogic.h-fix-build-with-musl-libc.patch b/package/libsigrok/0001-beaglelogic.h-fix-build-with-musl-libc.patch deleted file mode 100644 index 2b20680511..0000000000 --- a/package/libsigrok/0001-beaglelogic.h-fix-build-with-musl-libc.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 83bf4762e42a4d4a5c077f48d8f5715c9147d9b8 Mon Sep 17 00:00:00 2001 -From: Aurelien Jacobs -Date: Mon, 1 Feb 2016 22:37:36 +0100 -Subject: [PATCH] beaglelogic: use standard # operator instead of ugly __STRING - macro - -Also note that the __ namespace is reserved by POSIX for its private -usage, so user land software should never rely on any kind of API -with a __ prefix. - -Signed-off-by: Aurelien Jacobs -Signed-off-by: Bernd Kuhls ---- -Patch downloaded from upstream git: -http://sigrok.org/gitweb/?p=libsigrok.git;a=commit;h=83bf4762e42a4d4a5c077f48d8f5715c9147d9b8 - - src/hardware/beaglelogic/beaglelogic.h | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/src/hardware/beaglelogic/beaglelogic.h b/src/hardware/beaglelogic/beaglelogic.h -index 9015c61..96713ba 100644 ---- a/src/hardware/beaglelogic/beaglelogic.h -+++ b/src/hardware/beaglelogic/beaglelogic.h -@@ -30,8 +30,7 @@ - - /* BeagleLogic device node name */ - #define BEAGLELOGIC_DEV_NODE "/dev/beaglelogic" --#define BEAGLELOGIC_SYSFS_ATTR(a) "/sys/devices/virtual/misc/beaglelogic/"\ -- __STRING(a) -+#define BEAGLELOGIC_SYSFS_ATTR(a) "/sys/devices/virtual/misc/beaglelogic/" #a - - /* Reproduced verbatim from beaglelogic.h in the kernel tree until the kernel - * module hits the mainline. Contains the ABI, so DO NOT TOUCH this section */ --- -2.6.2 - diff --git a/package/libsigrok/Config.in b/package/libsigrok/Config.in index ff2d249827..fb74beaab5 100644 --- a/package/libsigrok/Config.in +++ b/package/libsigrok/Config.in @@ -1,13 +1,14 @@ config BR2_PACKAGE_LIBSIGROK bool "libsigrok" - select BR2_PACKAGE_LIBZIP - select BR2_PACKAGE_LIBGLIB2 # libglib2 depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU + depends on !BR2_STATIC_LIBS # libzip # std=c11 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 + select BR2_PACKAGE_LIBZIP + select BR2_PACKAGE_LIBGLIB2 help Libsigrok is a shared library written in C, which provides the basic hardware access drivers for logic analyzers and @@ -22,18 +23,19 @@ if BR2_PACKAGE_LIBSIGROK config BR2_PACKAGE_LIBSIGROKCXX bool "build C++ bindings" - select BR2_PACKAGE_GLIBMM depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # glibmm + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # glibmm + select BR2_PACKAGE_GLIBMM help Build libsigrok C++ bindings as well. -comment "C++ bindings need a toolchain w/ C++, gcc >= 4.8" +comment "C++ bindings need a toolchain w/ C++, gcc >= 4.9" depends on !BR2_INSTALL_LIBSTDCPP || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 endif -comment "libsigrok needs a toolchain w/ wchar, threads, gcc >= 4.7" +comment "libsigrok needs a toolchain w/ wchar, threads, dynamic library, gcc >= 4.7" depends on BR2_USE_MMU - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 || BR2_STATIC_LIBS diff --git a/package/libsigrok/libsigrok.hash b/package/libsigrok/libsigrok.hash index 999cef54ed..47ad6129f6 100644 --- a/package/libsigrok/libsigrok.hash +++ b/package/libsigrok/libsigrok.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 5f291f3fee36e6dab1336f1c78596e50588831bc5ebd7cddc2a95fe8c71d669e libsigrok-0.4.0.tar.gz +sha256 4c8c86779b880a5c419f6c77a08b1147021e5a19fa83b0f3b19da27463c9f3a4 libsigrok-0.5.0.tar.gz diff --git a/package/libsigrok/libsigrok.mk b/package/libsigrok/libsigrok.mk index e4e079d3c8..ef7fab82bd 100644 --- a/package/libsigrok/libsigrok.mk +++ b/package/libsigrok/libsigrok.mk @@ -4,9 +4,9 @@ # ################################################################################ -LIBSIGROK_VERSION = 0.4.0 +LIBSIGROK_VERSION = 0.5.0 LIBSIGROK_SITE = http://sigrok.org/download/source/libsigrok -LIBSIGROK_LICENSE = GPLv3+ +LIBSIGROK_LICENSE = GPL-3.0+ LIBSIGROK_LICENSE_FILES = COPYING LIBSIGROK_INSTALL_STAGING = YES LIBSIGROK_DEPENDENCIES = libglib2 libzip host-pkgconf @@ -39,7 +39,7 @@ endif ifeq ($(BR2_PACKAGE_LIBSIGROKCXX),y) LIBSIGROK_CONF_OPTS += --enable-cxx -LIBSIGROK_AUTORECONF_OPTS += -I $(HOST_DIR)/usr/share/autoconf-archive +LIBSIGROK_AUTORECONF_OPTS += -I $(HOST_DIR)/share/autoconf-archive LIBSIGROK_DEPENDENCIES += \ host-autoconf-archive \ glibmm \ diff --git a/package/libsigrokdecode/Config.in b/package/libsigrokdecode/Config.in index 70f86ceb76..28cbb5ca5e 100644 --- a/package/libsigrokdecode/Config.in +++ b/package/libsigrokdecode/Config.in @@ -1,12 +1,12 @@ config BR2_PACKAGE_LIBSIGROKDECODE bool "libsigrokdecode" - select BR2_PACKAGE_LIBGLIB2 - select BR2_PACKAGE_PYTHON3 depends on !BR2_PACKAGE_PYTHON # python3 depends on BR2_USE_WCHAR # libglib2/python3 depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2/python3 depends on BR2_USE_MMU # libglib2/python3 depends on !BR2_STATIC_LIBS # python3 + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_PYTHON3 help Libsigrokdecode is a shared library written in C, which provides (streaming) protocol decoding functionality. Say diff --git a/package/libsigrokdecode/libsigrokdecode.hash b/package/libsigrokdecode/libsigrokdecode.hash index ccb2016837..a4914b2592 100644 --- a/package/libsigrokdecode/libsigrokdecode.hash +++ b/package/libsigrokdecode/libsigrokdecode.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 065f70c10971173d86e03a8cf5534e600c7a622775113997d8061572135d4a95 libsigrokdecode-0.4.1.tar.gz +sha256 4aa8579ecea9b421b8ac048a9b18c27e63206839f269374398d89c14a47bd1c1 libsigrokdecode-0.5.0.tar.gz diff --git a/package/libsigrokdecode/libsigrokdecode.mk b/package/libsigrokdecode/libsigrokdecode.mk index 7006b0c6e8..95e6e69af3 100644 --- a/package/libsigrokdecode/libsigrokdecode.mk +++ b/package/libsigrokdecode/libsigrokdecode.mk @@ -4,9 +4,9 @@ # ################################################################################ -LIBSIGROKDECODE_VERSION = 0.4.1 +LIBSIGROKDECODE_VERSION = 0.5.0 LIBSIGROKDECODE_SITE = http://sigrok.org/download/source/libsigrokdecode -LIBSIGROKDECODE_LICENSE = GPLv3+ +LIBSIGROKDECODE_LICENSE = GPL-3.0+ LIBSIGROKDECODE_LICENSE_FILES = COPYING LIBSIGROKDECODE_INSTALL_STAGING = YES LIBSIGROKDECODE_DEPENDENCIES = host-pkgconf libglib2 python3 diff --git a/package/libsigsegv/0001-Add-stack-direction-for-the-AArch64-architecture.patch b/package/libsigsegv/0001-Add-stack-direction-for-the-AArch64-architecture.patch deleted file mode 100644 index a3b03a0024..0000000000 --- a/package/libsigsegv/0001-Add-stack-direction-for-the-AArch64-architecture.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 790e8f620f06834f3fd03c310cbecd1416536987 Mon Sep 17 00:00:00 2001 -From: Will Newton -Date: Tue, 28 May 2013 18:31:46 +0100 -Subject: [PATCH 2/5] Add stack direction for the AArch64 architecture - -On this architecture, the stack grows downward. - -Signed-off-by: Will Newton -Signed-off-by: Thomas Petazzoni ---- - m4/stack-direction.m4 | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/m4/stack-direction.m4 b/m4/stack-direction.m4 -index 39c1a28..3f70530 100644 ---- a/m4/stack-direction.m4 -+++ b/m4/stack-direction.m4 -@@ -13,6 +13,7 @@ AC_DEFUN([SV_STACK_DIRECTION], - case "$host_cpu" in - dnl See the #define STACK_GROWS_DOWNWARD in gcc-3.1/gcc/config/*/*.h. - a29k | \ -+ aarch64* | \ - alpha* | \ - arc | \ - arm* | strongarm* | xscale* | \ --- -2.1.0 - diff --git a/package/libsigsegv/0002-Add-stack-direction-for-the-Microblaze-architecture.patch b/package/libsigsegv/0002-Add-stack-direction-for-the-Microblaze-architecture.patch deleted file mode 100644 index d3795d3fe7..0000000000 --- a/package/libsigsegv/0002-Add-stack-direction-for-the-Microblaze-architecture.patch +++ /dev/null @@ -1,26 +0,0 @@ -From f4395ff932758884416753f88f5d98f33ec67479 Mon Sep 17 00:00:00 2001 -From: Spenser Gilliland -Date: Mon, 29 Dec 2014 13:54:54 +0100 -Subject: [PATCH 3/5] Add stack direction for the Microblaze architecture - -Signed-off-by: Spenser Gilliland -Signed-off-by: Thomas Petazzoni ---- - m4/stack-direction.m4 | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/m4/stack-direction.m4 b/m4/stack-direction.m4 -index 3f70530..53f4216 100644 ---- a/m4/stack-direction.m4 -+++ b/m4/stack-direction.m4 -@@ -32,6 +32,7 @@ AC_DEFUN([SV_STACK_DIRECTION], - m68* | \ - m88k | \ - mcore | \ -+ microblaze | \ - mips* | \ - mmix | \ - mn10200 | \ --- -2.1.0 - diff --git a/package/libsigsegv/0003-Add-stack-direction-for-the-Blackfin-architecture.patch b/package/libsigsegv/0003-Add-stack-direction-for-the-Blackfin-architecture.patch deleted file mode 100644 index 5d8232a1b6..0000000000 --- a/package/libsigsegv/0003-Add-stack-direction-for-the-Blackfin-architecture.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 55a707283dbb3b2fdcaaa4e177d050e122cfc2a0 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Mon, 29 Dec 2014 13:55:16 +0100 -Subject: [PATCH 4/5] Add stack direction for the Blackfin architecture - -The stack grows downward on Blackfin, see -https://sourceware.org/binutils/docs/as/Blackfin-Syntax.html: "The -stack grows by decrementing the stack pointer.". - -Signed-off-by: Thomas Petazzoni ---- - m4/stack-direction.m4 | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/m4/stack-direction.m4 b/m4/stack-direction.m4 -index 53f4216..1a97d5a 100644 ---- a/m4/stack-direction.m4 -+++ b/m4/stack-direction.m4 -@@ -18,6 +18,7 @@ AC_DEFUN([SV_STACK_DIRECTION], - arc | \ - arm* | strongarm* | xscale* | \ - avr | \ -+ bfin | \ - c1 | c2 | c32 | c34 | c38 | \ - clipper | \ - cris | \ --- -2.1.0 - diff --git a/package/libsigsegv/0004-Add-stack-direction-for-the-Nios-II-architecture.patch b/package/libsigsegv/0004-Add-stack-direction-for-the-Nios-II-architecture.patch deleted file mode 100644 index ee4778ea0c..0000000000 --- a/package/libsigsegv/0004-Add-stack-direction-for-the-Nios-II-architecture.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 24bac122bf4ffe437bb4f6ca633ad08f31a23d73 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Mon, 29 Dec 2014 13:56:54 +0100 -Subject: [PATCH 5/5] Add stack direction for the Nios II architecture - -According to Altera Application Binary Interface document for the Nios -II architecture -(http://www.altera.com/literature/hb/nios2/n2cpu_nii51016.pdf): - - "The stack grows downward (i.e. towards lower addresses). ". - -Signed-off-by: Thomas Petazzoni ---- - m4/stack-direction.m4 | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/m4/stack-direction.m4 b/m4/stack-direction.m4 -index 1a97d5a..d9c5157 100644 ---- a/m4/stack-direction.m4 -+++ b/m4/stack-direction.m4 -@@ -38,6 +38,7 @@ AC_DEFUN([SV_STACK_DIRECTION], - mmix | \ - mn10200 | \ - mn10300 | \ -+ nios2 | \ - ns32k | \ - pdp11 | \ - pj* | \ --- -2.1.0 - diff --git a/package/libsigsegv/0005-fix-sparc64-stackpointer.patch b/package/libsigsegv/0005-fix-sparc64-stackpointer.patch deleted file mode 100644 index 62de35f6e0..0000000000 --- a/package/libsigsegv/0005-fix-sparc64-stackpointer.patch +++ /dev/null @@ -1,16 +0,0 @@ -Fix sparc64 build. - -Signed-off-by: Waldemar Brodkorb - -diff -Nur libsigsegv-2.10.orig/src/fault-linux-sparc.h libsigsegv-2.10/src/fault-linux-sparc.h ---- libsigsegv-2.10.orig/src/fault-linux-sparc.h 2009-08-01 17:06:49.000000000 +0200 -+++ libsigsegv-2.10/src/fault-linux-sparc.h 2015-11-29 11:55:29.000000000 +0100 -@@ -27,4 +27,8 @@ - (see also ) - are quite different types. */ - -+#if __WORDSIZE == 64 -+#define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_mcontext.mc_gregs[REG_O6] -+#else - #define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_mcontext.gregs[REG_O6] -+#endif diff --git a/package/libsigsegv/libsigsegv.hash b/package/libsigsegv/libsigsegv.hash index 0151105f84..e937259ece 100644 --- a/package/libsigsegv/libsigsegv.hash +++ b/package/libsigsegv/libsigsegv.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 8460a4a3dd4954c3d96d7a4f5dd5bc4d9b76f5754196aa245287553b26d2199a libsigsegv-2.10.tar.gz +sha256 dd7c2eb2ef6c47189406d562c1dc0f96f2fc808036834d596075d58377e37a18 libsigsegv-2.11.tar.gz diff --git a/package/libsigsegv/libsigsegv.mk b/package/libsigsegv/libsigsegv.mk index a5bb31c9cf..d2524977a4 100644 --- a/package/libsigsegv/libsigsegv.mk +++ b/package/libsigsegv/libsigsegv.mk @@ -4,13 +4,11 @@ # ################################################################################ -LIBSIGSEGV_VERSION = 2.10 +LIBSIGSEGV_VERSION = 2.11 LIBSIGSEGV_SITE = $(BR2_GNU_MIRROR)/libsigsegv LIBSIGSEGV_INSTALL_STAGING = YES LIBSIGSEGV_CONF_ENV = sv_cv_fault_posix=yes -LIBSIGSEGV_LICENSE = GPLv2+ +LIBSIGSEGV_LICENSE = GPL-2.0+ LIBSIGSEGV_LICENSE_FILES = COPYING -LIBSIGSEGV_AUTORECONF = YES - $(eval $(autotools-package)) diff --git a/package/libsilk/libsilk.hash b/package/libsilk/libsilk.hash new file mode 100644 index 0000000000..2eab1c0db0 --- /dev/null +++ b/package/libsilk/libsilk.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 01de52aa123f7bd20e500a076046f6b30d55f8e98c4029ab424bc51c46d7083d libsilk-4268a02240c35c6055b0f237c46b09b2dcf79e45.tar.gz diff --git a/package/libsilk/libsilk.mk b/package/libsilk/libsilk.mk index eefdf8fd07..eba7085261 100644 --- a/package/libsilk/libsilk.mk +++ b/package/libsilk/libsilk.mk @@ -8,7 +8,7 @@ LIBSILK_VERSION = 4268a02240c35c6055b0f237c46b09b2dcf79e45 # we use the FreeSwitch fork because it contains pkgconf support LIBSILK_SITE = https://freeswitch.org/stash/scm/sd/libsilk.git LIBSILK_SITE_METHOD = git -LIBSILK_LICENSE = BSD-3c +LIBSILK_LICENSE = BSD-3-Clause LIBSILK_LICENSE_FILES = COPYING LIBSILK_AUTORECONF = YES LIBSILK_INSTALL_STAGING = YES diff --git a/package/libsndfile/0001-srconly.patch b/package/libsndfile/0001-srconly.patch deleted file mode 100644 index 417e34072a..0000000000 --- a/package/libsndfile/0001-srconly.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- - Makefile.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: libsndfile-1.0.18/Makefile.in -=================================================================== ---- libsndfile-1.0.18.orig/Makefile.in -+++ libsndfile-1.0.18/Makefile.in -@@ -260,7 +260,7 @@ - top_srcdir = @top_srcdir@ - DISTCHECK_CONFIGURE_FLAGS = --enable-gcc-werror - @BUILD_OCTAVE_MOD_TRUE@octave_dir = Octave --SUBDIRS = M4 man doc Win32 src $(octave_dir) examples regtest tests programs -+SUBDIRS = src - DIST_SUBDIRS = M4 man doc Win32 src Octave examples regtest tests programs - EXTRA_DIST = libsndfile.spec.in sndfile.pc.in Mingw-make-dist.sh - pkgconfigdir = $(libdir)/pkgconfig diff --git a/package/libsndfile/Config.in b/package/libsndfile/Config.in index 9afe4966c0..4ccf937691 100644 --- a/package/libsndfile/Config.in +++ b/package/libsndfile/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_LIBSNDFILE bool "libsndfile" help - Libsndfile is a C library for reading and writing files containing - sampled sound (such as MS Windows WAV and the Apple/SGI AIFF format) - through one standard library interface. + Libsndfile is a C library for reading and writing files + containing sampled sound (such as MS Windows WAV and the + Apple/SGI AIFF format) through one standard library interface. http://www.mega-nerd.com/libsndfile/ diff --git a/package/libsndfile/libsndfile.hash b/package/libsndfile/libsndfile.hash index a87b7c3085..31500cd970 100644 --- a/package/libsndfile/libsndfile.hash +++ b/package/libsndfile/libsndfile.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 a391952f27f4a92ceb2b4c06493ac107896ed6c76be9a613a4731f076d30fac0 libsndfile-1.0.27.tar.gz +sha256 1ff33929f042fa333aed1e8923aa628c3ee9e1eb85512686c55092d1e5a9dfa9 libsndfile-1.0.28.tar.gz diff --git a/package/libsndfile/libsndfile.mk b/package/libsndfile/libsndfile.mk index c5cd1de10f..22909ffb62 100644 --- a/package/libsndfile/libsndfile.mk +++ b/package/libsndfile/libsndfile.mk @@ -4,15 +4,16 @@ # ################################################################################ -LIBSNDFILE_VERSION = 1.0.27 +LIBSNDFILE_VERSION = 1.0.28 LIBSNDFILE_SITE = http://www.mega-nerd.com/libsndfile/files LIBSNDFILE_INSTALL_STAGING = YES -LIBSNDFILE_LICENSE = LGPLv2.1+ +LIBSNDFILE_LICENSE = LGPL-2.1+ LIBSNDFILE_LICENSE_FILES = COPYING LIBSNDFILE_CONF_OPTS = \ --disable-sqlite \ --disable-alsa \ - --disable-external-libs + --disable-external-libs \ + --disable-full-suite $(eval $(autotools-package)) diff --git a/package/libsoc/libsoc.mk b/package/libsoc/libsoc.mk index 03bef043d9..bbc33143cc 100644 --- a/package/libsoc/libsoc.mk +++ b/package/libsoc/libsoc.mk @@ -6,10 +6,11 @@ LIBSOC_VERSION = 0.8.2 LIBSOC_SITE = $(call github,jackmitch,libsoc,$(LIBSOC_VERSION)) -LIBSOC_LICENSE = LGPLv2.1 +LIBSOC_LICENSE = LGPL-2.1 LIBSOC_LICENSE_FILES = LICENCE LIBSOC_AUTORECONF = YES LIBSOC_INSTALL_STAGING = YES +LIBSOC_DEPENDENCIES = host-pkgconf # Install Python 2 bindings ifeq ($(BR2_PACKAGE_PYTHON),y) diff --git a/package/libsocketcan/libsocketcan.mk b/package/libsocketcan/libsocketcan.mk index 65f3cb55ed..31ed0d39ab 100644 --- a/package/libsocketcan/libsocketcan.mk +++ b/package/libsocketcan/libsocketcan.mk @@ -8,6 +8,6 @@ LIBSOCKETCAN_VERSION = 0.0.10 LIBSOCKETCAN_SITE = http://www.pengutronix.de/software/libsocketcan/download LIBSOCKETCAN_SOURCE = libsocketcan-$(LIBSOCKETCAN_VERSION).tar.bz2 LIBSOCKETCAN_INSTALL_STAGING = YES -LIBSOCKETCAN_LICENSE = LGPLv2.1+ +LIBSOCKETCAN_LICENSE = LGPL-2.1+ $(eval $(autotools-package)) diff --git a/package/libsodium/libsodium.hash b/package/libsodium/libsodium.hash index 3b129a0ca7..725281eb2f 100644 --- a/package/libsodium/libsodium.hash +++ b/package/libsodium/libsodium.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 a14549db3c49f6ae2170cbbf4664bd48ace50681045e8dbea7c8d9fb96f9c765 libsodium-1.0.11.tar.gz +sha256 9c13accb1a9e59ab3affde0e60ef9a2149ed4d6e8f99c93c7a5b97499ee323fd libsodium-1.0.13.tar.gz diff --git a/package/libsodium/libsodium.mk b/package/libsodium/libsodium.mk index 1d21bb3d86..b1d8a2613b 100644 --- a/package/libsodium/libsodium.mk +++ b/package/libsodium/libsodium.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBSODIUM_VERSION = 1.0.11 +LIBSODIUM_VERSION = 1.0.13 LIBSODIUM_SITE = https://download.libsodium.org/libsodium/releases LIBSODIUM_LICENSE = ISC LIBSODIUM_LICENSE_FILES = LICENSE diff --git a/package/libsoundtouch/libsoundtouch.hash b/package/libsoundtouch/libsoundtouch.hash new file mode 100644 index 0000000000..af0c36283a --- /dev/null +++ b/package/libsoundtouch/libsoundtouch.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 c805e7a72b7758a8986b71e73d2f94a8c79c66c1246fa2af1743c4282702e096 libsoundtouch-010a91a59071c7fefd316fca62c0d980ec85b4b1.tar.gz diff --git a/package/libsoundtouch/libsoundtouch.mk b/package/libsoundtouch/libsoundtouch.mk index cdfec20d2b..c4ac930be1 100644 --- a/package/libsoundtouch/libsoundtouch.mk +++ b/package/libsoundtouch/libsoundtouch.mk @@ -7,7 +7,7 @@ LIBSOUNDTOUCH_VERSION = 010a91a59071c7fefd316fca62c0d980ec85b4b1 LIBSOUNDTOUCH_SITE = https://freeswitch.org/stash/scm/sd/libsoundtouch.git LIBSOUNDTOUCH_SITE_METHOD = git -LIBSOUNDTOUCH_LICENSE = LGPLv2.1+ +LIBSOUNDTOUCH_LICENSE = LGPL-2.1+ LIBSOUNDTOUCH_LICENSE_FILES = COPYING.TXT LIBSOUNDTOUCH_AUTORECONF = YES LIBSOUNDTOUCH_INSTALL_STAGING = YES diff --git a/package/libsoup/Config.in b/package/libsoup/Config.in index bc0ba950aa..236d3c428a 100644 --- a/package/libsoup/Config.in +++ b/package/libsoup/Config.in @@ -22,11 +22,15 @@ config BR2_PACKAGE_LIBSOUP_GNOME config BR2_PACKAGE_LIBSOUP_SSL bool "https support" + depends on !BR2_STATIC_LIBS # gnutls select BR2_PACKAGE_GLIB_NETWORKING select BR2_PACKAGE_GNUTLS help Enable HTTPS (SSL) support. +comment "libsoup https support needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS + endif comment "libsoup needs a toolchain w/ wchar, threads" diff --git a/package/libsoup/libsoup.hash b/package/libsoup/libsoup.hash index b42cf2f711..6e1ff428af 100644 --- a/package/libsoup/libsoup.hash +++ b/package/libsoup/libsoup.hash @@ -1,2 +1,4 @@ -# From http://ftp.gnome.org/pub/gnome/sources/libsoup/2.56/libsoup-2.56.0.sha256sum -sha256 d8216b71de8247bc6f274ec054c08547b2e04369c1f8add713e9350c8ef81fe5 libsoup-2.56.0.tar.xz +# From http://ftp.gnome.org/pub/gnome/sources/libsoup/2.56/libsoup-2.56.1.sha256sum +sha256 c32a46d77b4da433b51d8fd09a57a44b198e03bdc93e5219afcc687c7948eac3 libsoup-2.56.1.tar.xz +# Locally calculated +sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c COPYING diff --git a/package/libsoup/libsoup.mk b/package/libsoup/libsoup.mk index f6e92f8a3b..a3ce686aa7 100644 --- a/package/libsoup/libsoup.mk +++ b/package/libsoup/libsoup.mk @@ -5,10 +5,10 @@ ################################################################################ LIBSOUP_VERSION_MAJOR = 2.56 -LIBSOUP_VERSION = $(LIBSOUP_VERSION_MAJOR).0 +LIBSOUP_VERSION = $(LIBSOUP_VERSION_MAJOR).1 LIBSOUP_SOURCE = libsoup-$(LIBSOUP_VERSION).tar.xz LIBSOUP_SITE = http://ftp.gnome.org/pub/gnome/sources/libsoup/$(LIBSOUP_VERSION_MAJOR) -LIBSOUP_LICENSE = LGPLv2+ +LIBSOUP_LICENSE = LGPL-2.0+ LIBSOUP_LICENSE_FILES = COPYING LIBSOUP_INSTALL_STAGING = YES LIBSOUP_CONF_ENV = ac_cv_path_GLIB_GENMARSHAL=$(LIBGLIB2_HOST_BINARY) diff --git a/package/libsoxr/libsoxr.mk b/package/libsoxr/libsoxr.mk index 0fdc57078f..c1dc4b0844 100644 --- a/package/libsoxr/libsoxr.mk +++ b/package/libsoxr/libsoxr.mk @@ -7,7 +7,7 @@ LIBSOXR_VERSION = 0.1.2 LIBSOXR_SOURCE = soxr-$(LIBSOXR_VERSION)-Source.tar.xz LIBSOXR_SITE = http://downloads.sourceforge.net/project/soxr -LIBSOXR_LICENSE = LGPLv2.1+ +LIBSOXR_LICENSE = LGPL-2.1+ LIBSOXR_LICENSE_FILES = LICENCE COPYING.LGPL LIBSOXR_INSTALL_STAGING = YES LIBSOXR_CONF_OPTS = -DWITH_OPENMP=OFF diff --git a/package/libspatialindex/0001-configure.ac-do-not-force-O2.patch b/package/libspatialindex/0001-configure.ac-do-not-force-O2.patch new file mode 100644 index 0000000000..c078e713ec --- /dev/null +++ b/package/libspatialindex/0001-configure.ac-do-not-force-O2.patch @@ -0,0 +1,30 @@ +From 7472764fe19cb3eea77f21cc2859859b8ac62085 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Mon, 14 Aug 2017 23:36:36 +0200 +Subject: [PATCH] configure.ac: do not force -O2 + +The user may want to provide its own set of optimization flags, and +therefore forcing -O2 should not be done. + +Signed-off-by: Thomas Petazzoni +Submitted-upstream: https://github.com/libspatialindex/libspatialindex/pull/101 +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index dc5e49f..2e2aa68 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -53,7 +53,7 @@ if test "x$enable_debug" = "xyes"; then + CXXFLAGS="$CXXFLAGS -g -DDEBUG" + AC_MSG_RESULT(checking wether debug information is enabled... yes) + else +- CXXFLAGS="$CXXFLAGS -O2 -DNDEBUG" ++ CXXFLAGS="$CXXFLAGS -DNDEBUG" + AC_MSG_RESULT(checking wether debug information is enabled... no) + fi + +-- +2.9.4 + diff --git a/package/libspatialindex/Config.in b/package/libspatialindex/Config.in new file mode 100644 index 0000000000..0d066f6417 --- /dev/null +++ b/package/libspatialindex/Config.in @@ -0,0 +1,30 @@ +config BR2_PACKAGE_LIBSPATIALINDEX + bool "libspatialindex" + depends on BR2_INSTALL_LIBSTDCPP + help + The purpose of libspatialindex is to provide: + + * An extensible framework that will support robust spatial + indexing methods. + + * Support for sophisticated spatial queries. Range, point + location, nearest neighbor and k-nearest neighbor as well + as parametric queries (defined by spatial constraints) + should be easy to deploy and run. + + * Easy to use interfaces for inserting, deleting and updating + information. + + * Wide variety of customization capabilities. Basic index and + storage characteristics like the page size, node capacity, + minimum fan-out, splitting algorithm, etc. should be easy + to customize. + + * Index persistence. Internal memory and external memory + structures should be supported. Clustered and non-clustered + indices should be easy to be persisted. + + https://libspatialindex.github.io + +comment "libspatialindex needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/libspatialindex/libspatialindex.hash b/package/libspatialindex/libspatialindex.hash new file mode 100644 index 0000000000..3aa636d353 --- /dev/null +++ b/package/libspatialindex/libspatialindex.hash @@ -0,0 +1,4 @@ +# From http://download.osgeo.org/libspatialindex/spatialindex-src-1.8.5.tar.bz2.md5 +md5 3303c47fd85aa17e64ef52ebec212762 spatialindex-src-1.8.5.tar.bz2 +# Locally computed +sha256 31ec0a9305c3bd6b4ad60a5261cba5402366dd7d1969a8846099717778e9a50a spatialindex-src-1.8.5.tar.bz2 diff --git a/package/libspatialindex/libspatialindex.mk b/package/libspatialindex/libspatialindex.mk new file mode 100644 index 0000000000..3a558dfc7e --- /dev/null +++ b/package/libspatialindex/libspatialindex.mk @@ -0,0 +1,26 @@ +################################################################################ +# +# libspatialindex +# +################################################################################ + +LIBSPATIALINDEX_VERSION = 1.8.5 +LIBSPATIALINDEX_SITE = http://download.osgeo.org/libspatialindex +LIBSPATIALINDEX_SOURCE = spatialindex-src-$(LIBSPATIALINDEX_VERSION).tar.bz2 +LIBSPATIALINDEX_INSTALL_STAGING = YES +LIBSPATIALINDEX_LICENSE = MIT +LIBSPATIALINDEX_LICENSE_FILES = COPYING + +# 0001-configure.ac-do-not-force-O2.patch +LIBSPATIALINDEX_AUTORECONF = YES + +LIBSPATIALINDEX_CXXFLAGS = $(TARGET_CXXFLAGS) +LIBSPATIALINDEX_CONF_ENV = CXXFLAGS="$(LIBSPATIALINDEX_CXXFLAGS)" + +# Workaround gcc ICE +# (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68485) +ifeq ($(BR2_microblaze),y) +LIBSPATIALINDEX_CXXFLAGS += -O0 +endif + +$(eval $(autotools-package)) diff --git a/package/libsquish/0001-kodi.patch b/package/libsquish/0001-kodi.patch deleted file mode 100644 index a9bca66904..0000000000 --- a/package/libsquish/0001-kodi.patch +++ /dev/null @@ -1,327 +0,0 @@ -Add Kodi-specific patch - -Kodi 15.0 contains an updated version of libsquish: -https://github.com/xbmc/xbmc/tree/master/tools/depends/native/libsquish-native - -The OpenElec project provides a separate tarball including the Kodi- -specific patches: -http://sources.openelec.tv/devel/libsquish-1.10-openelec.tar.gz - -This patch contains the relevant diff between upstream libsquish 1.13 -and the OpenElec tarball. - -Signed-off-by: Bernd Kuhls - -diff -uwNr 1.13/squish.cpp libsquish-1.10-openelec/squish.cpp ---- 1.13/squish.cpp 2015-04-30 12:48:49.000000000 +0200 -+++ libsquish-1.10-openelec/squish.cpp 2015-01-09 10:58:43.000000000 +0100 -@@ -23,6 +23,7 @@ - - -------------------------------------------------------------------------- */ - -+#include - #include - #include "colourset.h" - #include "maths.h" -@@ -39,7 +40,7 @@ - // grab the flag bits - int method = flags & ( kDxt1 | kDxt3 | kDxt5 ); - int fit = flags & ( kColourIterativeClusterFit | kColourClusterFit | kColourRangeFit ); -- int extra = flags & kWeightColourByAlpha; -+ int extra = flags & ( kWeightColourByAlpha | kSourceBGRA ); - - // set defaults - if( method != kDxt3 && method != kDxt5 ) -@@ -124,8 +125,30 @@ - return blockcount*blocksize; - } - -+void CopyRGBA( u8 const* source, u8* dest, int flags ) -+{ -+ if (flags & kSourceBGRA) -+ { -+ // convert from bgra to rgba -+ dest[0] = source[2]; -+ dest[1] = source[1]; -+ dest[2] = source[0]; -+ dest[3] = source[3]; -+ } -+ else -+ { -+ for( int i = 0; i < 4; ++i ) -+ *dest++ = *source++; -+ } -+} -+ - void CompressImage( u8 const* rgba, int width, int height, void* blocks, int flags, float* metric ) - { -+ CompressImage(rgba, width, height, width*4, blocks, flags, metric); -+} -+ -+void CompressImage( u8 const* rgba, int width, int height, int pitch, void* blocks, int flags, float* metric ) -+{ - // fix any bad flags - flags = FixFlags( flags ); - -@@ -154,20 +177,14 @@ - if( sx < width && sy < height ) - { - // copy the rgba value -- u8 const* sourcePixel = rgba + 4*( width*sy + sx ); -- for( int i = 0; i < 4; ++i ) -- *targetPixel++ = *sourcePixel++; -- -+ u8 const* sourcePixel = rgba + pitch*sy + 4*sx; -+ CopyRGBA(sourcePixel, targetPixel, flags); - // enable this pixel - mask |= ( 1 << ( 4*py + px ) ); - } -- else -- { -- // skip this pixel as its outside the image - targetPixel += 4; - } - } -- } - - // compress it into the output - CompressMasked( sourceRgba, mask, targetBlock, flags, metric ); -@@ -180,6 +197,11 @@ - - void DecompressImage( u8* rgba, int width, int height, void const* blocks, int flags ) - { -+ DecompressImage( rgba, width, height, width*4, blocks, flags ); -+} -+ -+void DecompressImage( u8* rgba, int width, int height, int pitch, void const* blocks, int flags ) -+{ - // fix any bad flags - flags = FixFlags( flags ); - -@@ -207,24 +229,132 @@ - int sy = y + py; - if( sx < width && sy < height ) - { -- u8* targetPixel = rgba + 4*( width*sy + sx ); -+ u8* targetPixel = rgba + pitch*sy + 4*sx; - - // copy the rgba value -+ CopyRGBA(sourcePixel, targetPixel, flags); -+ } -+ sourcePixel += 4; -+ } -+ } -+ -+ // advance -+ sourceBlock += bytesPerBlock; -+ } -+ } -+} -+ -+static double ErrorSq(double x, double y) -+{ -+ return (x - y) * (x - y); -+} -+ -+static void ComputeBlockWMSE(u8 const *original, u8 const *compressed, unsigned int w, unsigned int h, double &cmse, double &amse) -+{ -+ // Computes the MSE for the block and weights it by the variance of the original block. -+ // If the variance of the original block is less than 4 (i.e. a standard deviation of 1 per channel) -+ // then the block is close to being a single colour. Quantisation errors in single colour blocks -+ // are easier to see than similar errors in blocks that contain more colours, particularly when there -+ // are many such blocks in a large area (eg a blue sky background) as they cause banding. Given that -+ // banding is easier to see than small errors in "complex" blocks, we weight the errors by a factor -+ // of 5. This implies that images with large, single colour areas will have a higher potential WMSE -+ // than images with lots of detail. -+ -+ cmse = amse = 0; -+ unsigned int sum_p[4]; // per channel sum of pixels -+ unsigned int sum_p2[4]; // per channel sum of pixels squared -+ memset(sum_p, 0, sizeof(sum_p)); -+ memset(sum_p2, 0, sizeof(sum_p2)); -+ for( unsigned int py = 0; py < 4; ++py ) -+ { -+ for( unsigned int px = 0; px < 4; ++px ) -+ { -+ if( px < w && py < h ) -+ { -+ double pixelCMSE = 0; -+ for( int i = 0; i < 3; ++i ) -+ { -+ pixelCMSE += ErrorSq(original[i], compressed[i]); -+ sum_p[i] += original[i]; -+ sum_p2[i] += (unsigned int)original[i]*original[i]; -+ } -+ if( original[3] == 0 && compressed[3] == 0 ) -+ pixelCMSE = 0; // transparent in both, so colour is inconsequential -+ amse += ErrorSq(original[3], compressed[3]); -+ cmse += pixelCMSE; -+ sum_p[3] += original[3]; -+ sum_p2[3] += (unsigned int)original[3]*original[3]; -+ } -+ original += 4; -+ compressed += 4; -+ } -+ } -+ unsigned int variance = 0; - for( int i = 0; i < 4; ++i ) -- *targetPixel++ = *sourcePixel++; -+ variance += w*h*sum_p2[i] - sum_p[i]*sum_p[i]; -+ if( variance < 4 * w * w * h * h ) -+ { -+ amse *= 5; -+ cmse *= 5; - } -- else -+} -+ -+void ComputeMSE( u8 const *rgba, int width, int height, u8 const *dxt, int flags, double &colourMSE, double &alphaMSE ) - { -- // skip this pixel as its outside the image -- sourcePixel += 4; -+ ComputeMSE(rgba, width, height, width*4, dxt, flags, colourMSE, alphaMSE); -+} -+ -+void ComputeMSE( u8 const *rgba, int width, int height, int pitch, u8 const *dxt, int flags, double &colourMSE, double &alphaMSE ) -+{ -+ // fix any bad flags -+ flags = FixFlags( flags ); -+ colourMSE = alphaMSE = 0; -+ -+ // initialise the block input -+ squish::u8 const* sourceBlock = dxt; -+ int bytesPerBlock = ( ( flags & squish::kDxt1 ) != 0 ) ? 8 : 16; -+ -+ // loop over blocks -+ for( int y = 0; y < height; y += 4 ) -+ { -+ for( int x = 0; x < width; x += 4 ) -+ { -+ // decompress the block -+ u8 targetRgba[4*16]; -+ Decompress( targetRgba, sourceBlock, flags ); -+ u8 const* sourcePixel = targetRgba; -+ -+ // copy across to a similar pixel block -+ u8 originalRgba[4*16]; -+ u8* originalPixel = originalRgba; -+ -+ for( int py = 0; py < 4; ++py ) -+ { -+ for( int px = 0; px < 4; ++px ) -+ { -+ int sx = x + px; -+ int sy = y + py; -+ if( sx < width && sy < height ) -+ { -+ u8 const* targetPixel = rgba + pitch*sy + 4*sx; -+ CopyRGBA(targetPixel, originalPixel, flags); - } -+ sourcePixel += 4; -+ originalPixel += 4; - } - } - -+ // compute the weighted MSE of the block -+ double blockCMSE, blockAMSE; -+ ComputeBlockWMSE(originalRgba, targetRgba, std::min(4, width - x), std::min(4, height - y), blockCMSE, blockAMSE); -+ colourMSE += blockCMSE; -+ alphaMSE += blockAMSE; - // advance - sourceBlock += bytesPerBlock; - } - } -+ colourMSE /= (width * height * 3); -+ alphaMSE /= (width * height); - } - - } // namespace squish -diff -uwNr 1.13/squish.h libsquish-1.10-openelec/squish.h ---- 1.13/squish.h 2015-04-30 12:55:27.000000000 +0200 -+++ libsquish-1.10-openelec/squish.h 2015-01-09 10:58:43.000000000 +0100 -@@ -57,7 +57,10 @@ - kColourRangeFit = ( 1 << 4 ), - - //! Weight the colour by alpha during cluster fit (disabled by default). -- kWeightColourByAlpha = ( 1 << 7 ) -+ kWeightColourByAlpha = ( 1 << 7 ), -+ -+ //! Source is BGRA rather than RGBA -+ kSourceBGRA = ( 1 << 9 ), - }; - - // ----------------------------------------------------------------------------- -@@ -194,6 +197,7 @@ - @param rgba The pixels of the source. - @param width The width of the source image. - @param height The height of the source image. -+ @param pitch The pitch of the source image. - @param blocks Storage for the compressed output. - @param flags Compression flags. - @param metric An optional perceptual metric. -@@ -231,6 +235,7 @@ - to allocate for the compressed output. - */ - void CompressImage( u8 const* rgba, int width, int height, void* blocks, int flags, float* metric = 0 ); -+void CompressImage( u8 const* rgba, int width, int height, int pitch, void* blocks, int flags, float* metric = 0 ); - - // ----------------------------------------------------------------------------- - -@@ -239,6 +244,7 @@ - @param rgba Storage for the decompressed pixels. - @param width The width of the source image. - @param height The height of the source image. -+ @param pitch The pitch of the decompressed pixels. - @param blocks The compressed DXT blocks. - @param flags Compression flags. - -@@ -254,6 +260,32 @@ - Internally this function calls squish::Decompress for each block. - */ - void DecompressImage( u8* rgba, int width, int height, void const* blocks, int flags ); -+void DecompressImage( u8* rgba, int width, int height, int pitch, void const* blocks, int flags ); -+ -+// ----------------------------------------------------------------------------- -+ -+/*! @brief Computes MSE of an compressed image in memory. -+ -+ @param rgba The original image pixels. -+ @param width The width of the source image. -+ @param height The height of the source image. -+ @param pitch The pitch of the source image. -+ @param dxt The compressed dxt blocks -+ @param flags Compression flags. -+ @param colourMSE The MSE of the colour values. -+ @param alphaMSE The MSE of the alpha values. -+ -+ The colour MSE and alpha MSE are computed across all pixels. The colour MSE is -+ averaged across all rgb values (i.e. colourMSE = sum sum_k ||dxt.k - rgba.k||/3) -+ -+ The flags parameter should specify either kDxt1, kDxt3 or kDxt5 compression, -+ however, DXT1 will be used by default if none is specified. All other flags -+ are ignored. -+ -+ Internally this function calls squish::Decompress for each block. -+*/ -+void ComputeMSE(u8 const *rgba, int width, int height, u8 const *dxt, int flags, double &colourMSE, double &alphaMSE); -+void ComputeMSE(u8 const *rgba, int width, int height, int pitch, u8 const *dxt, int flags, double &colourMSE, double &alphaMSE); - - // ----------------------------------------------------------------------------- - -diff -uwNr 1.13/squish.pc.in libsquish-1.10-openelec/squish.pc.in ---- 1.13/squish.pc 1970-01-01 01:00:00.000000000 +0100 -+++ libsquish-1.10-openelec/squish.pc 2015-01-09 10:58:43.000000000 +0100 -@@ -0,0 +1,13 @@ -+prefix=/usr -+exec_prefix=${prefix} -+libdir=${prefix}/lib -+sharedlibdir=${libdir} -+includedir=${prefix}/include -+ -+Name: squish -+Description: squish DXT lib -+Version: 1.1.3-kodi -+ -+Requires: -+Libs: -L${libdir} -L${sharedlibdir} -lsquish -+Cflags: -I${includedir} diff --git a/package/libsquish/libsquish.hash b/package/libsquish/libsquish.hash index caa7198642..e68d28d66f 100644 --- a/package/libsquish/libsquish.hash +++ b/package/libsquish/libsquish.hash @@ -1,2 +1,3 @@ # From http://sourceforge.net/projects/libsquish/files -sha1 7bcdd7d0f0460a29e25dcdab8dc41a30e58bb366 libsquish-1.13.tgz +sha1 51844b9a8bc815a27e2cc0ffbede5fee3ef75110 libsquish-1.15.tgz +md5 c02645800131e55b519ff8dbe7284f93 libsquish-1.15.tgz diff --git a/package/libsquish/libsquish.mk b/package/libsquish/libsquish.mk index 73f8de9cc1..67892dd9eb 100644 --- a/package/libsquish/libsquish.mk +++ b/package/libsquish/libsquish.mk @@ -4,13 +4,13 @@ # ################################################################################ -LIBSQUISH_VERSION = 1.13 +LIBSQUISH_VERSION = 1.15 LIBSQUISH_SOURCE = libsquish-$(LIBSQUISH_VERSION).tgz LIBSQUISH_SITE = http://downloads.sourceforge.net/project/libsquish LIBSQUISH_INSTALL_STAGING = YES LIBSQUISH_STRIP_COMPONENTS = 0 LIBSQUISH_LICENSE = MIT -LIBSQUISH_LICENSE_FILES = README +LIBSQUISH_LICENSE_FILES = LICENSE.txt define LIBSQUISH_BUILD_CMDS $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) @@ -21,7 +21,7 @@ define LIBSQUISH_INSTALL_STAGING_CMDS mkdir -p $(STAGING_DIR)/usr/lib $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ install PREFIX=/usr INSTALL_DIR=$(STAGING_DIR)/usr - $(INSTALL) -D -m 644 $(@D)/squish.pc $(STAGING_DIR)/usr/lib/pkgconfig/squish.pc + $(INSTALL) -D -m 644 $(@D)/libsquish.pc $(STAGING_DIR)/usr/lib/pkgconfig/libsquish.pc ln -sf libsquish.so.0.0 $(STAGING_DIR)/usr/lib/libsquish.so ln -sf libsquish.so.0.0 $(STAGING_DIR)/usr/lib/libsquish.so.0 endef diff --git a/package/libsrtp/libsrtp.mk b/package/libsrtp/libsrtp.mk index 40b85e69f3..9e72856c43 100644 --- a/package/libsrtp/libsrtp.mk +++ b/package/libsrtp/libsrtp.mk @@ -7,7 +7,7 @@ LIBSRTP_VERSION = v1.5.4 LIBSRTP_SITE = $(call github,cisco,libsrtp,$(LIBSRTP_VERSION)) LIBSRTP_INSTALL_STAGING = YES -LIBSRTP_LICENSE = BSD-3c +LIBSRTP_LICENSE = BSD-3-Clause LIBSRTP_LICENSE_FILES = LICENSE ifeq ($(BR2_STATIC_LIBS),y) diff --git a/package/libss7/Config.in b/package/libss7/Config.in new file mode 100644 index 0000000000..b99c578182 --- /dev/null +++ b/package/libss7/Config.in @@ -0,0 +1,18 @@ +config BR2_PACKAGE_LIBSS7 + bool "libss7" + depends on BR2_LINUX_KERNEL + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_DAHDI_LINUX + select BR2_PACKAGE_DAHDI_TOOLS + help + libss7 is an open source library that encapsulates the + protocols used to communicate using Signaling System 7 + over ISDN (T1, E1). + + http://www.asterisk.org/downloads/libss7 + +comment "libss7 needs a kernel to be built" + depends on !BR2_LINUX_KERNEL + +comment "libss7 needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libss7/libss7.hash b/package/libss7/libss7.hash new file mode 100644 index 0000000000..8e1d6635db --- /dev/null +++ b/package/libss7/libss7.hash @@ -0,0 +1,6 @@ +# Hashes from http://downloads.asterisk.org/pub/telephony/libss7/releases/ +sha1 7112a0717293fc273d5d488e1387ad28abe4e9b3 libss7-2.0.0.tar.gz +sha256 5af00853cfb2bc6bcf050947804db132ae6872db0cd2ab24b5378828f78eda52 libss7-2.0.0.tar.gz + +# License file, locally calculated +sha256 fa5fc1d1eec39532ea517518eeefd7b6e3c14341a55e5880a0e2a49eee47a5b7 LICENSE diff --git a/package/libss7/libss7.mk b/package/libss7/libss7.mk new file mode 100644 index 0000000000..541505b264 --- /dev/null +++ b/package/libss7/libss7.mk @@ -0,0 +1,55 @@ +################################################################################ +# +# libss7 +# +################################################################################ + +LIBSS7_VERSION = 2.0.0 +LIBSS7_SITE = http://downloads.asterisk.org/pub/telephony/libss7/releases + +LIBSS7_LICENSE = GPL-2.0 +LIBSS7_LICENSE_FILES = LICENSE + +LIBSS7_DEPENDENCIES = dahdi-linux dahdi-tools +LIBSS7_INSTALL_STAGING = YES + +# The Makefile default rule will always try to generate both libraries. +# So we need to explicitly build only what we can. +ifneq ($(BR2_SHARED_LIBS),y) +LIBSS7_LIBS = libss7.a +define LIBSS7_INSTALL_A + $(INSTALL) -D -m 0644 $(@D)/libss7.a $(1)/usr/lib/libss7.a +endef +endif + +ifneq ($(BR2_STATIC_LIBS),y) +LIBSS7_LIBS += libss7.so.2.0 +define LIBSS7_INSTALL_SO + $(INSTALL) -D -m 0644 $(@D)/libss7.so.2.0 $(1)/usr/lib/libss7.so.2.0 + ln -sf libss7.so.2.0 $(1)/usr/lib/libss7.so +endef +endif + +# The Makefile erroneously looks for host headers to decide what utilities +# to build, and thus misses the test utilities. So we explicitly build them +# as they can be useful to validate that the hardware does work. +LIBSS7_UTILS = parser_debug ss7test ss7linktest + +define LIBSS7_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) \ + $(LIBSS7_LIBS) $(LIBSS7_UTILS) +endef + +define LIBSS7_INSTALL_STAGING_CMDS + $(call LIBSS7_INSTALL_A,$(STAGING_DIR)) + $(call LIBSS7_INSTALL_SO,$(STAGING_DIR)) + $(INSTALL) -D -m 0644 $(@D)/libss7.h $(STAGING_DIR)/usr/include/libss7.h +endef + +define LIBSS7_INSTALL_TARGET_CMDS + $(foreach u,$(LIBSS7_UTILS),\ + $(INSTALL) -D -m 0755 $(@D)/$(u) $(TARGET_DIR)/usr/sbin/$(u)$(sep)) + $(call LIBSS7_INSTALL_SO,$(TARGET_DIR)) +endef + +$(eval $(generic-package)) diff --git a/package/libssh/libssh.hash b/package/libssh/libssh.hash index 1eef804e5c..009a335e3b 100644 --- a/package/libssh/libssh.hash +++ b/package/libssh/libssh.hash @@ -1,4 +1,5 @@ # from https://red.libssh.org/projects/libssh/files/ -md5 05465da8004f3258db946346213209de libssh-0.7.3.tar.xz -# Locally calculated after checking signature on uncompressed libssh-0.7.3.tar -sha256 26ef46be555da21112c01e4b9f5e3abba9194485c8822ab55ba3d6496222af98 libssh-0.7.3.tar.xz +md5 d3fc864208bf607ad87cdee836894feb libssh-0.7.5.tar.xz +# Locally calculated after checking signature on uncompressed libssh-0.7.5.tar +# https://red.libssh.org/attachments/download/217/libssh-0.7.5.tar.asc +sha256 54e86dd5dc20e5367e58f3caab337ce37675f863f80df85b6b1614966a337095 libssh-0.7.5.tar.xz diff --git a/package/libssh/libssh.mk b/package/libssh/libssh.mk index 429e3c17c8..34716c502a 100644 --- a/package/libssh/libssh.mk +++ b/package/libssh/libssh.mk @@ -4,10 +4,10 @@ # ################################################################################ -LIBSSH_VERSION = 0.7.3 +LIBSSH_VERSION = 0.7.5 LIBSSH_SOURCE = libssh-$(LIBSSH_VERSION).tar.xz -LIBSSH_SITE = https://red.libssh.org/attachments/download/195 -LIBSSH_LICENSE = LGPLv2.1 +LIBSSH_SITE = https://red.libssh.org/attachments/download/218 +LIBSSH_LICENSE = LGPL-2.1 LIBSSH_LICENSE_FILES = COPYING LIBSSH_INSTALL_STAGING = YES LIBSSH_SUPPORTS_IN_SOURCE_BUILD = NO diff --git a/package/libssh2/0001-drop-custom-buildconf-script.patch b/package/libssh2/0001-drop-custom-buildconf-script.patch new file mode 100644 index 0000000000..a9a98e083c --- /dev/null +++ b/package/libssh2/0001-drop-custom-buildconf-script.patch @@ -0,0 +1,121 @@ +From 39a2a444a32896bd2dab37c9b247ccfd11ff4693 Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" +Date: Mon, 30 Oct 2017 19:29:12 +0100 +Subject: [PATCH] buildsystem: drop custom buildconf script, rely on autoreconf + +The buildconf script is currently required, because we need to copy a +header around, because it is used both from the library and the examples +sources. + +However, having a custom 'buildconf'-like script is not needed if we can +ensure that the header / exists by the time it is needed. For That, we +can just append the src/ directory to the headers search path for the +examples. + +And then it means we no longer need to generate the same header twice, +so we remove the second one from configure.ac. + +Now, we can just call "autoreconf -fi" to generate the autotools files, +instead of relying on the canned sequence in "buildconf", since +autoreconf has now long known what to do at the correct moment (future +versions of autotools, automake, autopoint, autoheader etc... may +require an other ordering, or other intermediate steps, etc...). + +Eventually, get rid of buildconf now it is no longer needed. In fact, we +really keep it for legacy, but have it just call autoreconf (and print a +nice user-friendly warning). + +Update gitignore accordingly, too. + +Signed-off-by: "Yann E. MORIN" +Cc: Sam Voss +--- + .gitignore | 2 ++ + buildconf | 24 +++++------------------- + configure.ac | 2 +- + example/.gitignore | 2 -- + example/Makefile.am | 2 +- + 5 files changed, 9 insertions(+), 23 deletions(-) + +diff --git a/.gitignore b/.gitignore +index 997e51e1..b6d6b5cb 100644 +--- a/.gitignore ++++ b/.gitignore +@@ -13,6 +13,8 @@ Makefile + Makefile.in + aclocal.m4 + autom4te.cache ++compile ++test-driver + config.guess + config.log + config.status +diff --git a/buildconf b/buildconf +index 558dcb66..728b3397 100755 +--- a/buildconf ++++ b/buildconf +@@ -1,22 +1,8 @@ + #!/bin/sh + +-LIBTOOLIZE="libtoolize" ++echo "***" >&2 ++echo "*** Do not use buildconf. Instead, just use: autoreconf -fi" >&2 ++echo "*** Doing it for you now, but buildconf may disapear in the future." >&2 ++echo "***" >&2 + +-if [ "x`which $LIBTOOLIZE`" = "x" ]; then +- LIBTOOLIZE="glibtoolize" +-fi +- +-if [ "x`which $LIBTOOLIZE`" = "x" ]; then +- echo "Neither libtoolize nor glibtoolize could be found!" +- exit 1 +-fi +- +-${LIBTOOLIZE} --copy --automake --force +-${ACLOCAL:-aclocal} -I m4 $ACLOCAL_FLAGS +-${AUTOHEADER:-autoheader} +-# copy the private libssh2_config.h.in to the examples dir so that +-# it can be included without pointing the include path to the private +-# source dir +-cp src/libssh2_config.h.in example/libssh2_config.h.in +-${AUTOCONF:-autoconf} +-${AUTOMAKE:-automake} --add-missing --copy ++${AUTORECONF:-autoreconf} -fi "${@}" +diff --git a/configure.ac b/configure.ac +index c6ff7535..6939d0d6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2,7 +2,7 @@ + AC_INIT(libssh2, [-], libssh2-devel@cool.haxx.se) + AC_CONFIG_MACRO_DIR([m4]) + AC_CONFIG_SRCDIR([src]) +-AC_CONFIG_HEADERS([src/libssh2_config.h example/libssh2_config.h]) ++AC_CONFIG_HEADERS([src/libssh2_config.h]) + AM_MAINTAINER_MODE + m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + +diff --git a/example/.gitignore b/example/.gitignore +index 13448191..cac152b8 100644 +--- a/example/.gitignore ++++ b/example/.gitignore +@@ -20,8 +20,6 @@ sftp_write_nonblock + config.h.in + ssh2_exec + ssh2_agent +-libssh2_config.h +-libssh2_config.h.in + stamp-h2 + sftp_append + sftp_write_sliding +diff --git a/example/Makefile.am b/example/Makefile.am +index 5cf5f071..41f65b12 100644 +--- a/example/Makefile.am ++++ b/example/Makefile.am +@@ -13,5 +13,5 @@ if HAVE_SYS_UN_H + noinst_PROGRAMS += x11 + endif + +-AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/example ++AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/example -I../src + LDADD = $(top_builddir)/src/libssh2.la diff --git a/package/libssh2/Config.in b/package/libssh2/Config.in index 2944624e0a..90c38813b3 100644 --- a/package/libssh2/Config.in +++ b/package/libssh2/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_LIBSSH2 bool "libssh2" - select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_LIBGCRYPT + select BR2_PACKAGE_OPENSSL if !(BR2_PACKAGE_MBEDTLS || BR2_PACKAGE_LIBGCRYPT) help libssh2 is a client-side C library implementing the SSH2 protocol as defined by Internet Drafts: SECSH-TRANS(22), @@ -8,3 +8,25 @@ config BR2_PACKAGE_LIBSSH2 SECSH-FILEXFER(06)*, SECSH-DHGEX(04), and SECSH-NUMBERS(10) http://www.libssh2.org/ + +if BR2_PACKAGE_LIBSSH2 + +choice + prompt "Crypto Backend" + help + Select crypto library to be used in libssh2. + +config BR2_PACKAGE_LIBSSH2_MBEDTLS + bool "mbedtls" + depends on BR2_PACKAGE_MBEDTLS + +config BR2_PACKAGE_LIBSSH2_LIBGCRYPT + bool "gcrypt" + depends on BR2_PACKAGE_LIBGCRYPT + +config BR2_PACKAGE_LIBSSH2_OPENSSL + bool "openssl" + depends on BR2_PACKAGE_OPENSSL + +endchoice +endif diff --git a/package/libssh2/libssh2.hash b/package/libssh2/libssh2.hash index 8f6268f3d3..d36262ad9a 100644 --- a/package/libssh2/libssh2.hash +++ b/package/libssh2/libssh2.hash @@ -1,2 +1,2 @@ -# Locally calculated after checking pgp signature -sha256 e4561fd43a50539a8c2ceb37841691baf03ecb7daf043766da1b112e4280d584 libssh2-1.7.0.tar.gz +# Locally calculated +sha256 e73d55cd512863aa6423c6e137039e3e1bcbf5ba87f130e7441132c2c78a5425 libssh2-616fd4d1b3e4a55de67c48819fefca83132126b5.tar.gz diff --git a/package/libssh2/libssh2.mk b/package/libssh2/libssh2.mk index 847c2f1b8e..18e772c722 100644 --- a/package/libssh2/libssh2.mk +++ b/package/libssh2/libssh2.mk @@ -4,28 +4,31 @@ # ################################################################################ -LIBSSH2_VERSION = 1.7.0 -LIBSSH2_SITE = http://www.libssh2.org/download +LIBSSH2_VERSION = 616fd4d1b3e4a55de67c48819fefca83132126b5 +LIBSSH2_SITE = $(call github,libssh2,libssh2,$(LIBSSH2_VERSION)) LIBSSH2_LICENSE = BSD LIBSSH2_LICENSE_FILES = COPYING LIBSSH2_INSTALL_STAGING = YES LIBSSH2_CONF_OPTS = --disable-examples-build -# Dependency is either on libgcrypt or openssl, guaranteed in Config.in. -# Favour libgcrypt. -ifeq ($(BR2_PACKAGE_LIBGCRYPT),y) +# building from a git clone +LIBSSH2_AUTORECONF = YES + +ifeq ($(BR2_PACKAGE_LIBSSH2_MBEDTLS),y) +LIBSSH2_DEPENDENCIES += mbedtls +LIBSSH2_CONF_OPTS += --with-libmbedcrypto-prefix=$(STAGING_DIR)/usr \ + --with-crypto=mbedtls +else ifeq ($(BR2_PACKAGE_LIBSSH2_LIBGCRYPT),y) LIBSSH2_DEPENDENCIES += libgcrypt -LIBSSH2_CONF_OPTS += --with-libgcrypt \ - --with-libgcrypt-prefix=$(STAGING_DIR)/usr \ - --without-openssl +LIBSSH2_CONF_OPTS += --with-libgcrypt-prefix=$(STAGING_DIR)/usr \ + --with-crypto=libgcrypt # configure.ac forgets to link to dependent libraries of gcrypt breaking static # linking LIBSSH2_CONF_ENV += LIBS="`$(STAGING_DIR)/usr/bin/libgcrypt-config --libs`" -else +else ifeq ($(BR2_PACKAGE_LIBSSH2_OPENSSL),y) LIBSSH2_DEPENDENCIES += openssl -LIBSSH2_CONF_OPTS += --with-openssl \ - --with-libssl-prefix=$(STAGING_DIR)/usr \ - --without-libgcrypt +LIBSSH2_CONF_OPTS += --with-libssl-prefix=$(STAGING_DIR)/usr \ + --with-crypto=openssl endif # Add zlib support if enabled diff --git a/package/libstrophe/0001-Namespace-SHA-functions.patch b/package/libstrophe/0001-Namespace-SHA-functions.patch new file mode 100644 index 0000000000..8c3451bbac --- /dev/null +++ b/package/libstrophe/0001-Namespace-SHA-functions.patch @@ -0,0 +1,189 @@ +From b08766c8e46956daba010044b00c97f78b598780 Mon Sep 17 00:00:00 2001 +From: Michael Santos +Date: Sun, 24 May 2015 10:55:02 -0400 +Subject: [PATCH] Namespace SHA functions + +Fix statically linking against libstrophe by renaming the internal SHA +functions: + +https://github.com/strophe/libstrophe/issues/40 + +Although the same function names are used by libstrophe and OpenSSL, +the signatures and contexts of the SHA functions differ, resulting in +a segfault if the OpenSSL versions are substituted. + +[Upstream commit: https://github.com/msantos/libstrophe/commit/b08766c8e46956daba010044b00c97f78b598780] +Signed-off-by: Thomas Petazzoni +--- + src/auth.c | 8 ++++---- + src/scram.c | 22 +++++++++++----------- + src/sha1.c | 30 +++++++++++++++--------------- + src/sha1.h | 6 +++--- + 4 files changed, 33 insertions(+), 33 deletions(-) + +diff --git a/src/auth.c b/src/auth.c +index b06f18c..3506977 100644 +--- a/src/auth.c ++++ b/src/auth.c +@@ -1187,10 +1187,10 @@ int _handle_component_auth(xmpp_conn_t * const conn) + /* Feed the session id and passphrase to the algorithm. + * We need to compute SHA1(session_id + passphrase) + */ +- SHA1_Init(&mdctx); +- SHA1_Update(&mdctx, (uint8_t*)conn->stream_id, strlen(conn->stream_id)); +- SHA1_Update(&mdctx, (uint8_t*)conn->pass, strlen(conn->pass)); +- SHA1_Final(&mdctx, md_value); ++ xmpp_SHA1_Init(&mdctx); ++ xmpp_SHA1_Update(&mdctx, (uint8_t*)conn->stream_id, strlen(conn->stream_id)); ++ xmpp_SHA1_Update(&mdctx, (uint8_t*)conn->pass, strlen(conn->pass)); ++ xmpp_SHA1_Final(&mdctx, md_value); + + digest = xmpp_alloc(conn->ctx, 2*sizeof(md_value)+1); + if (digest) { +diff --git a/src/scram.c b/src/scram.c +index 5cce168..6e420e1 100644 +--- a/src/scram.c ++++ b/src/scram.c +@@ -37,9 +37,9 @@ static void SHA1(const uint8_t* data, size_t len, + uint8_t digest[SHA1_DIGEST_SIZE]) + { + SHA1_CTX ctx; +- SHA1_Init(&ctx); +- SHA1_Update(&ctx, data, len); +- SHA1_Final(&ctx, digest); ++ xmpp_SHA1_Init(&ctx); ++ xmpp_SHA1_Update(&ctx, data, len); ++ xmpp_SHA1_Final(&ctx, digest); + } + + static void HMAC_SHA1(const uint8_t *key, size_t key_len, +@@ -66,15 +66,15 @@ static void HMAC_SHA1(const uint8_t *key, size_t key_len, + key_opad[i] = key_pad[i] ^ opad; + } + +- SHA1_Init(&ctx); +- SHA1_Update(&ctx, key_ipad, BLOCK_SIZE); +- SHA1_Update(&ctx, text, len); +- SHA1_Final(&ctx, sha_digest); ++ xmpp_SHA1_Init(&ctx); ++ xmpp_SHA1_Update(&ctx, key_ipad, BLOCK_SIZE); ++ xmpp_SHA1_Update(&ctx, text, len); ++ xmpp_SHA1_Final(&ctx, sha_digest); + +- SHA1_Init(&ctx); +- SHA1_Update(&ctx, key_opad, BLOCK_SIZE); +- SHA1_Update(&ctx, sha_digest, SHA1_DIGEST_SIZE); +- SHA1_Final(&ctx, digest); ++ xmpp_SHA1_Init(&ctx); ++ xmpp_SHA1_Update(&ctx, key_opad, BLOCK_SIZE); ++ xmpp_SHA1_Update(&ctx, sha_digest, SHA1_DIGEST_SIZE); ++ xmpp_SHA1_Final(&ctx, digest); + } + + static void SCRAM_SHA1_Hi(const uint8_t *text, size_t len, +diff --git a/src/sha1.c b/src/sha1.c +index 9af4f04..b60b325 100644 +--- a/src/sha1.c ++++ b/src/sha1.c +@@ -202,7 +202,7 @@ static void SHA1_Transform(uint32_t state[5], const uint8_t buffer[64]) + + + /* SHA1Init - Initialize new context */ +-void SHA1_Init(SHA1_CTX* context) ++void xmpp_SHA1_Init(SHA1_CTX* context) + { + /* SHA1 initialization constants */ + context->state[0] = 0x67452301; +@@ -215,7 +215,7 @@ void SHA1_Init(SHA1_CTX* context) + + + /* Run your data through this. */ +-void SHA1_Update(SHA1_CTX* context, const uint8_t* data, const size_t len) ++void xmpp_SHA1_Update(SHA1_CTX* context, const uint8_t* data, const size_t len) + { + size_t i, j; + +@@ -244,7 +244,7 @@ void SHA1_Update(SHA1_CTX* context, const uint8_t* data, const size_t len) + + + /* Add padding and return the message digest. */ +-void SHA1_Final(SHA1_CTX* context, uint8_t digest[SHA1_DIGEST_SIZE]) ++void xmpp_SHA1_Final(SHA1_CTX* context, uint8_t digest[SHA1_DIGEST_SIZE]) + { + uint32_t i; + uint8_t finalcount[8]; +@@ -253,11 +253,11 @@ void SHA1_Final(SHA1_CTX* context, uint8_t digest[SHA1_DIGEST_SIZE]) + finalcount[i] = (unsigned char)((context->count[(i >= 4 ? 0 : 1)] + >> ((3-(i & 3)) * 8) ) & 255); /* Endian independent */ + } +- SHA1_Update(context, (uint8_t *)"\200", 1); ++ xmpp_SHA1_Update(context, (uint8_t *)"\200", 1); + while ((context->count[0] & 504) != 448) { +- SHA1_Update(context, (uint8_t *)"\0", 1); ++ xmpp_SHA1_Update(context, (uint8_t *)"\0", 1); + } +- SHA1_Update(context, finalcount, 8); /* Should cause a SHA1_Transform() */ ++ xmpp_SHA1_Update(context, finalcount, 8); /* Should cause a SHA1_Transform() */ + for (i = 0; i < SHA1_DIGEST_SIZE; i++) { + digest[i] = (uint8_t) + ((context->state[i>>2] >> ((3-(i & 3)) * 8) ) & 255); +@@ -300,12 +300,12 @@ FILE* file; + return(-1); + } + } +- SHA1_Init(&context); ++ xmpp_SHA1_Init(&context); + while (!feof(file)) { /* note: what if ferror(file) */ + i = fread(buffer, 1, 16384, file); +- SHA1_Update(&context, buffer, i); ++ xmpp_SHA1_Update(&context, buffer, i); + } +- SHA1_Final(&context, digest); ++ xmpp_SHA1_Final(&context, digest); + fclose(file); + for (i = 0; i < SHA1_DIGEST_SIZE/4; i++) { + for (j = 0; j < 4; j++) { +@@ -358,9 +358,9 @@ int main(int argc, char** argv) + fprintf(stdout, "verifying SHA-1 implementation... "); + + for (k = 0; k < 2; k++){ +- SHA1_Init(&context); +- SHA1_Update(&context, (uint8_t*)test_data[k], strlen(test_data[k])); +- SHA1_Final(&context, digest); ++ xmpp_SHA1_Init(&context); ++ xmpp_SHA1_Update(&context, (uint8_t*)test_data[k], strlen(test_data[k])); ++ xmpp_SHA1_Final(&context, digest); + digest_to_hex(digest, output); + + if (strcmp(output, test_results[k])) { +@@ -372,10 +372,10 @@ int main(int argc, char** argv) + } + } + /* million 'a' vector we feed separately */ +- SHA1_Init(&context); ++ xmpp_SHA1_Init(&context); + for (k = 0; k < 1000000; k++) +- SHA1_Update(&context, (uint8_t*)"a", 1); +- SHA1_Final(&context, digest); ++ xmpp_SHA1_Update(&context, (uint8_t*)"a", 1); ++ xmpp_SHA1_Final(&context, digest); + digest_to_hex(digest, output); + if (strcmp(output, test_results[2])) { + fprintf(stdout, "FAIL\n"); +diff --git a/src/sha1.h b/src/sha1.h +index 10266cb..7ff48d7 100644 +--- a/src/sha1.h ++++ b/src/sha1.h +@@ -23,9 +23,9 @@ typedef struct { + + #define SHA1_DIGEST_SIZE 20 + +-void SHA1_Init(SHA1_CTX* context); +-void SHA1_Update(SHA1_CTX* context, const uint8_t* data, const size_t len); +-void SHA1_Final(SHA1_CTX* context, uint8_t digest[SHA1_DIGEST_SIZE]); ++void xmpp_SHA1_Init(SHA1_CTX* context); ++void xmpp_SHA1_Update(SHA1_CTX* context, const uint8_t* data, const size_t len); ++void xmpp_SHA1_Final(SHA1_CTX* context, uint8_t digest[SHA1_DIGEST_SIZE]); + + #ifdef __cplusplus + } diff --git a/package/libstrophe/0001-make-autoreconfable.patch b/package/libstrophe/0002-make-autoreconfable.patch similarity index 100% rename from package/libstrophe/0001-make-autoreconfable.patch rename to package/libstrophe/0002-make-autoreconfable.patch diff --git a/package/libstrophe/Config.in b/package/libstrophe/Config.in index 55dc162b02..5fdb918d7a 100644 --- a/package/libstrophe/Config.in +++ b/package/libstrophe/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_LIBSTROPHE bool "libstrophe" + depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_LIBXML2 if !BR2_PACKAGE_EXPAT - depends on BR2_TOOLCHAIN_HAS_THREADS help libstrophe is a lightweight XMPP client library written in C. It has minimal dependencies and is configurable for various diff --git a/package/libstrophe/libstrophe.hash b/package/libstrophe/libstrophe.hash index d840303940..6a2d99706b 100644 --- a/package/libstrophe/libstrophe.hash +++ b/package/libstrophe/libstrophe.hash @@ -1,3 +1,2 @@ # Locally calculated sha256 08f4a85ef419a8bdf08b6afa8f7b2a0e5e180fdc9c16cede81af672ec10e21e7 libstrophe-0.8.8.tar.gz -sha256 00936397cbb75ef168992868ae559b141b505d3a06f08163012b240390efa553 b08766c8e46956daba010044b00c97f78b598780.patch diff --git a/package/libstrophe/libstrophe.mk b/package/libstrophe/libstrophe.mk index 60e29d38c3..4b5a10a558 100644 --- a/package/libstrophe/libstrophe.mk +++ b/package/libstrophe/libstrophe.mk @@ -9,10 +9,9 @@ LIBSTROPHE_SITE = $(call github,strophe,libstrophe,$(LIBSTROPHE_VERSION)) LIBSTROPHE_DEPENDENCIES = openssl host-pkgconf # Doesn't ship configure LIBSTROPHE_AUTORECONF = YES -LIBSTROPHE_LICENSE = MIT or GPLv3 +LIBSTROPHE_LICENSE = MIT or GPL-3.0 LIBSTROPHE_LICENSE_FILES = MIT-LICENSE.txt GPL-LICENSE.txt LIBSTROPHE_INSTALL_STAGING = YES -LIBSTROPHE_PATCH = https://github.com/msantos/libstrophe/commit/b08766c8e46956daba010044b00c97f78b598780.patch ifeq ($(BR2_PACKAGE_EXPAT),y) # Passing --without-libxml2 doesn't work, due to how AC_ARG_WITH is diff --git a/package/libsvg-cairo/libsvg-cairo.mk b/package/libsvg-cairo/libsvg-cairo.mk index 28c914165f..f7a105e03e 100644 --- a/package/libsvg-cairo/libsvg-cairo.mk +++ b/package/libsvg-cairo/libsvg-cairo.mk @@ -8,7 +8,7 @@ LIBSVG_CAIRO_VERSION = 0.1.6 LIBSVG_CAIRO_SITE = http://cairographics.org/snapshots LIBSVG_CAIRO_DEPENDENCIES = cairo libsvg LIBSVG_CAIRO_INSTALL_STAGING = YES -LIBSVG_CAIRO_LICENSE = LGPLv2.1+ +LIBSVG_CAIRO_LICENSE = LGPL-2.1+ LIBSVG_CAIRO_LICENSE_FILES = COPYING LIBSVG_CAIRO_CONF_OPTS = --without-x diff --git a/package/libsvg/libsvg.mk b/package/libsvg/libsvg.mk index 8b85d5a3d6..45d730db1f 100644 --- a/package/libsvg/libsvg.mk +++ b/package/libsvg/libsvg.mk @@ -8,7 +8,7 @@ LIBSVG_VERSION = 0.1.4 LIBSVG_SITE = http://cairographics.org/snapshots LIBSVG_DEPENDENCIES = host-pkgconf libpng jpeg LIBSVG_INSTALL_STAGING = YES -LIBSVG_LICENSE = LGPLv2+ +LIBSVG_LICENSE = LGPL-2.0+ LIBSVG_LICENSE_FILES = COPYING # libsvg needs at last a XML parser diff --git a/package/libsvgtiny/libsvgtiny.hash b/package/libsvgtiny/libsvgtiny.hash new file mode 100644 index 0000000000..fce3795352 --- /dev/null +++ b/package/libsvgtiny/libsvgtiny.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 082a2e8849f05e2364a942eec51a798d637c6eca44db8c73350a038ebd1fd268 libsvgtiny-ea9d99fc8b231c22d06168135e181d61f4eb2f06.tar.gz diff --git a/package/libsvgtiny/libsvgtiny.mk b/package/libsvgtiny/libsvgtiny.mk index acd08d72d5..febd3fcec8 100644 --- a/package/libsvgtiny/libsvgtiny.mk +++ b/package/libsvgtiny/libsvgtiny.mk @@ -23,7 +23,7 @@ LIBSVGTINY_COMPONENT_TYPE = lib-static endif define LIBSVGTINY_CONFIGURE_CMDS - ln -sf $(HOST_DIR)/usr/share/netsurf-buildsystem $(@D)/build + ln -sf $(HOST_DIR)/share/netsurf-buildsystem $(@D)/build endef define LIBSVGTINY_BUILD_CMDS diff --git a/package/libsysfs/Config.in b/package/libsysfs/Config.in index e4e6f28ea1..2cbebaa530 100644 --- a/package/libsysfs/Config.in +++ b/package/libsysfs/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_LIBSYSFS bool "libsysfs" help - These are a set of utilities built upon sysfs, a filesystem in - Linux 2.6 kernels that exposes a system's device tree. + These are a set of utilities built upon sysfs, a filesystem in + Linux 2.6 kernels that exposes a system's device tree. - http://linux-diag.sourceforge.net/Sysfsutils.html + http://linux-diag.sourceforge.net/Sysfsutils.html diff --git a/package/libsysfs/libsysfs.mk b/package/libsysfs/libsysfs.mk index fb0310fcb5..13edc9a4ea 100644 --- a/package/libsysfs/libsysfs.mk +++ b/package/libsysfs/libsysfs.mk @@ -8,7 +8,7 @@ LIBSYSFS_VERSION = 2.1.0 LIBSYSFS_SITE = http://downloads.sourceforge.net/project/linux-diag/sysfsutils/$(LIBSYSFS_VERSION) LIBSYSFS_SOURCE = sysfsutils-$(LIBSYSFS_VERSION).tar.gz LIBSYSFS_INSTALL_STAGING = YES -LIBSYSFS_LICENSE = GPLv2 (utilities), LGPLv2.1+ (library) +LIBSYSFS_LICENSE = GPL-2.0 (utilities), LGPL-2.1+ (library) LIBSYSFS_LICENSE_FILES = cmd/GPL lib/LGPL $(eval $(autotools-package)) diff --git a/package/libtasn1/0001-configure-don-t-add-Werror-to-build-flags.patch b/package/libtasn1/0001-configure-don-t-add-Werror-to-build-flags.patch deleted file mode 100644 index 387ba7aa3b..0000000000 --- a/package/libtasn1/0001-configure-don-t-add-Werror-to-build-flags.patch +++ /dev/null @@ -1,28 +0,0 @@ -From dd091c8af163213e12aa92f61bc4916e0f102633 Mon Sep 17 00:00:00 2001 -From: Nikos Mavrogiannopoulos -Date: Tue, 26 Jul 2016 08:45:33 +0200 -Subject: [PATCH] configure: don't add -Werror to build flags - -Signed-off-by: Gustavo Zacarias ---- -Patch status: upstream - - configure.ac | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 7a14e04..066f5fe 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -70,8 +70,6 @@ AC_ARG_ENABLE([gcc-warnings], - ) - - if test "$gl_gcc_warnings" = yes; then -- gl_WARN_ADD([-Werror], [WERROR_CFLAGS]) -- - nw="$nw -Wsystem-headers" # Don't let system headers trigger warnings - nw="$nw -Wc++-compat" # We don't care strongly about C++ compilers - nw="$nw -Wtraditional" # Warns on #elif which we use often --- -2.7.3 - diff --git a/package/libtasn1/libtasn1.hash b/package/libtasn1/libtasn1.hash index 5b2100e87d..699c14050a 100644 --- a/package/libtasn1/libtasn1.hash +++ b/package/libtasn1/libtasn1.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 4f6f7a8fd691ac2b8307c8ca365bad711db607d4ad5966f6938a9d2ecd65c920 libtasn1-4.9.tar.gz +sha256 6753da2e621257f33f5b051cc114d417e5206a0818fe0b1ecfd6153f70934753 libtasn1-4.12.tar.gz diff --git a/package/libtasn1/libtasn1.mk b/package/libtasn1/libtasn1.mk index ac99868a21..b34a3b63f0 100644 --- a/package/libtasn1/libtasn1.mk +++ b/package/libtasn1/libtasn1.mk @@ -4,15 +4,13 @@ # ################################################################################ -LIBTASN1_VERSION = 4.9 +LIBTASN1_VERSION = 4.12 LIBTASN1_SITE = $(BR2_GNU_MIRROR)/libtasn1 LIBTASN1_DEPENDENCIES = host-bison -LIBTASN1_LICENSE = GPLv3+ (tests, tools), LGPLv2.1+ (library) +LIBTASN1_LICENSE = GPL-3.0+ (tests, tools), LGPL-2.1+ (library) LIBTASN1_LICENSE_FILES = COPYING COPYING.LIB LIBTASN1_INSTALL_STAGING = YES # 'missing' fallback logic botched so disable it completely LIBTASN1_CONF_ENV = MAKEINFO="true" -# For 0001-configure-don-t-add-Werror-to-build-flags.patch -LIBTASN1_AUTORECONF = YES $(eval $(autotools-package)) diff --git a/package/libtheora/Config.in b/package/libtheora/Config.in index bf20a50372..eee9e9b1db 100644 --- a/package/libtheora/Config.in +++ b/package/libtheora/Config.in @@ -3,7 +3,7 @@ config BR2_PACKAGE_LIBTHEORA select BR2_PACKAGE_LIBOGG select BR2_PACKAGE_LIBVORBIS help - A library for the free and open video compression format "Theora" - from the Xiph.org Foundation. + A library for the free and open video compression format + "Theora" from the Xiph.org Foundation. http://www.theora.org/ diff --git a/package/libtheora/libtheora.mk b/package/libtheora/libtheora.mk index 11f9852eaf..f408e6cce6 100644 --- a/package/libtheora/libtheora.mk +++ b/package/libtheora/libtheora.mk @@ -10,7 +10,7 @@ LIBTHEORA_SITE = http://downloads.xiph.org/releases/theora LIBTHEORA_INSTALL_STAGING = YES # We're patching Makefile.am LIBTHEORA_AUTORECONF = YES -LIBTHEORA_LICENSE = BSD-3c +LIBTHEORA_LICENSE = BSD-3-Clause LIBTHEORA_LICENSE_FILES = COPYING LICENSE LIBTHEORA_CONF_OPTS = \ diff --git a/package/libtirpc/0001-Disable-parts-of-TIRPC-requiring-NIS-support.patch b/package/libtirpc/0001-Disable-parts-of-TIRPC-requiring-NIS-support.patch index e51c5a44b2..eb1bef3dc1 100644 --- a/package/libtirpc/0001-Disable-parts-of-TIRPC-requiring-NIS-support.patch +++ b/package/libtirpc/0001-Disable-parts-of-TIRPC-requiring-NIS-support.patch @@ -13,6 +13,8 @@ Signed-off-by: "Yann E. MORIN" Signed-off-by: Jörg Krause [peda@axentia.se: update for 1.0.1] Signed-off-by: Peter Rosin +[bernd.kuhls@t-online.de: update for 1.0.2] +Signed-off-by: Bernd Kuhls --- src/Makefile.am | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) @@ -25,8 +27,8 @@ index 6cc567a..9834f9a 100644 rpcb_st_xdr.c svc.c svc_auth.c svc_dg.c svc_auth_unix.c svc_auth_none.c \ svc_auth_des.c \ svc_generic.c svc_raw.c svc_run.c svc_simple.c svc_vc.c getpeereid.c \ -- auth_time.c auth_des.c authdes_prot.c debug.c -+ auth_des.c authdes_prot.c debug.c +- auth_time.c auth_des.c authdes_prot.c debug.c des_crypt.c des_impl.c ++ auth_des.c authdes_prot.c debug.c des_crypt.c des_impl.c ## XDR libtirpc_la_SOURCES += xdr.c xdr_rec.c xdr_array.c xdr_float.c xdr_mem.c xdr_reference.c xdr_stdio.c xdr_sizeof.c diff --git a/package/libtirpc/0002-uClibc-without-RPC-support-and-musl-does-not-install-rpcent.h.patch b/package/libtirpc/0002-uClibc-without-RPC-support-and-musl-does-not-install-rpcent.h.patch index 643a57ed5a..51229a024d 100644 --- a/package/libtirpc/0002-uClibc-without-RPC-support-and-musl-does-not-install-rpcent.h.patch +++ b/package/libtirpc/0002-uClibc-without-RPC-support-and-musl-does-not-install-rpcent.h.patch @@ -8,6 +8,8 @@ Signed-off-by: Thomas Petazzoni Signed-off-by: "Yann E. MORIN" [joerg.krause@embedded.rocks: musl fix] Signed-off-by: Jörg Krause +[bernd.kuhls@t-online.de: update for 1.0.2] +Signed-off-by: Bernd Kuhls --- tirpc/rpc/rpcent.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) @@ -21,7 +23,7 @@ index 147f909..4a58180 100644 #endif -/* These are defined in /usr/include/rpc/netdb.h */ --#if !defined(__GLIBC__) +-#if !defined(__GLIBC__) || defined(__UCLIBC__) +/* These are defined in /usr/include/rpc/netdb.h, unless we are using + the C library without RPC support. */ +#if defined(__UCLIBC__) && !defined(__UCLIBC_HAS_RPC__) || !defined(__GLIBC__) diff --git a/package/libtirpc/0006-Disable-DES-authentification-support.patch b/package/libtirpc/0006-Disable-DES-authentification-support.patch index 59a77ffc1d..0c65472400 100644 --- a/package/libtirpc/0006-Disable-DES-authentification-support.patch +++ b/package/libtirpc/0006-Disable-DES-authentification-support.patch @@ -11,6 +11,8 @@ uClibc and musl does not provide DES authentication. Signed-off-by: Jörg Krause [peda@axentia.se: update for 1.0.1] Signed-off-by: Peter Rosin +[bernd.kuhls@t-online.de: update for 1.0.2] +Signed-off-by: Bernd Kuhls --- src/Makefile.am | 2 +- src/rpc_soc.c | 32 -------------------------------- @@ -26,7 +28,7 @@ index 960a522..3a88e31 100644 rpcb_st_xdr.c svc.c svc_auth.c svc_dg.c svc_auth_unix.c svc_auth_none.c \ - svc_auth_des.c \ svc_generic.c svc_raw.c svc_run.c svc_simple.c svc_vc.c getpeereid.c \ -- auth_des.c authdes_prot.c debug.c +- auth_des.c authdes_prot.c debug.c des_crypt.c des_impl.c + debug.c ## XDR @@ -48,14 +50,6 @@ diff --git a/src/rpc_soc.c b/src/rpc_soc.c index e146ed4..161a1ec 100644 --- a/src/rpc_soc.c +++ b/src/rpc_soc.c -@@ -61,7 +61,6 @@ #ifdef PORTMAP - #include - #include - #include --#include - - #include "rpc_com.h" - @@ -522,86 +521,6 @@ clnt_broadcast(prog, vers, proc, xargs, argsp, xresults, resultsp, eachresult) } diff --git a/package/libtirpc/0007-Add-missing-rwlock_unlocks-in-xprt_register.patch b/package/libtirpc/0007-Add-missing-rwlock_unlocks-in-xprt_register.patch deleted file mode 100644 index 56b5bf8392..0000000000 --- a/package/libtirpc/0007-Add-missing-rwlock_unlocks-in-xprt_register.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 4f1503e84b2f7bd229a097335e52fb8203f5bb0b Mon Sep 17 00:00:00 2001 -From: Michael Forney -Date: Wed, 4 Nov 2015 13:58:06 -0500 -Subject: [PATCH] Add missing rwlock_unlocks in xprt_register - -It looks like in b2c9430f46c4ac848957fb8adaac176a3f6ac03f when svc_run -switched to poll, an early return was added, but the rwlock was not -unlocked. - -I observed that rpcbind built against libtirpc-1.0.1 would handle only -one request before hanging, and tracked it down to a missing -rwlock_unlock here. - -Fixes: b2c9430f46c4 ('Use poll() instead of select() in svc_run()') -Signed-off-by: Michael Forney -Signed-off-by: Steve Dickson -[peda@axentia.se: backport from upstream] -Signed-off-by: Peter Rosin ---- - src/svc.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/src/svc.c b/src/svc.c -index 9c41445..b59467b 100644 ---- a/src/svc.c -+++ b/src/svc.c -@@ -99,7 +99,7 @@ xprt_register (xprt) - { - __svc_xports = (SVCXPRT **) calloc (_rpc_dtablesize(), sizeof (SVCXPRT *)); - if (__svc_xports == NULL) -- return; -+ goto unlock; - } - if (sock < _rpc_dtablesize()) - { -@@ -120,14 +120,14 @@ xprt_register (xprt) - svc_pollfd[i].fd = sock; - svc_pollfd[i].events = (POLLIN | POLLPRI | - POLLRDNORM | POLLRDBAND); -- return; -+ goto unlock; - } - - new_svc_pollfd = (struct pollfd *) realloc (svc_pollfd, - sizeof (struct pollfd) - * (svc_max_pollfd + 1)); - if (new_svc_pollfd == NULL) /* Out of memory */ -- return; -+ goto unlock; - svc_pollfd = new_svc_pollfd; - ++svc_max_pollfd; - -@@ -135,6 +135,7 @@ xprt_register (xprt) - svc_pollfd[svc_max_pollfd - 1].events = (POLLIN | POLLPRI | - POLLRDNORM | POLLRDBAND); - } -+unlock: - rwlock_unlock (&svc_fd_lock); - } - --- -2.5.3 - diff --git a/package/libtirpc/0007-include-stdint.h-for-uintptr_t.patch b/package/libtirpc/0007-include-stdint.h-for-uintptr_t.patch new file mode 100644 index 0000000000..62031613d6 --- /dev/null +++ b/package/libtirpc/0007-include-stdint.h-for-uintptr_t.patch @@ -0,0 +1,31 @@ +From 18f8a605e176f0362da22fd1203eb7cedb136aaf Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 20 Jun 2017 22:06:35 +0200 +Subject: [PATCH] include stdint.h for uintptr_t + +Fixes +| ../../libtirpc-1.0.1/src/xdr_sizeof.c:93:13: error: 'uintptr_t' undeclared (first use in this function); did you mean '__intptr_t'? +| if (len < (uintptr_t)xdrs->x_base) { +| ^~~~~~~~~ + +Signed-off-by: Khem Raj +Signed-off-by: Dmitrii Kolesnichenko +--- + src/xdr_sizeof.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/xdr_sizeof.c b/src/xdr_sizeof.c +index d23fbd1..79d6707 100644 +--- a/src/xdr_sizeof.c ++++ b/src/xdr_sizeof.c +@@ -39,6 +39,7 @@ + #include + #include + #include ++#include + #include "un-namespace.h" + + /* ARGSUSED */ +-- +2.9.4 + diff --git a/package/libtirpc/libtirpc.hash b/package/libtirpc/libtirpc.hash index cd65164cb2..35ac6a2278 100644 --- a/package/libtirpc/libtirpc.hash +++ b/package/libtirpc/libtirpc.hash @@ -1,4 +1,4 @@ # From sourceforge's info on download page: -sha1 8da1636f98b5909c0d587e7534bc1e91f5c1a970 libtirpc-1.0.1.tar.bz2 +sha1 2a8dc0e6eecc45be6597c8287b1d8e15cbee46e3 libtirpc-1.0.2.tar.bz2 # Locally computed -sha256 5156974f31be7ccbc8ab1de37c4739af6d9d42c87b1d5caf4835dda75fcbb89e libtirpc-1.0.1.tar.bz2 +sha256 723c5ce92706cbb601a8db09110df1b4b69391643158f20ff587e20e7c5f90f5 libtirpc-1.0.2.tar.bz2 diff --git a/package/libtirpc/libtirpc.mk b/package/libtirpc/libtirpc.mk index 70a31ac59f..d9bf22b83e 100644 --- a/package/libtirpc/libtirpc.mk +++ b/package/libtirpc/libtirpc.mk @@ -4,10 +4,10 @@ # ################################################################################ -LIBTIRPC_VERSION = 1.0.1 +LIBTIRPC_VERSION = 1.0.2 LIBTIRPC_SOURCE = libtirpc-$(LIBTIRPC_VERSION).tar.bz2 LIBTIRPC_SITE = http://downloads.sourceforge.net/project/libtirpc/libtirpc/$(LIBTIRPC_VERSION) -LIBTIRPC_LICENSE = BSD-3c +LIBTIRPC_LICENSE = BSD-3-Clause LIBTIRPC_LICENSE_FILES = COPYING LIBTIRPC_INSTALL_STAGING = YES diff --git a/package/libtomcrypt/Config.in b/package/libtomcrypt/Config.in index 6678b303df..a7c5f50015 100644 --- a/package/libtomcrypt/Config.in +++ b/package/libtomcrypt/Config.in @@ -3,9 +3,9 @@ config BR2_PACKAGE_LIBTOMCRYPT select BR2_PACKAGE_LIBTOMMATH help LibTomCrypt is a fairly comprehensive, modular and portable - cryptographic toolkit that provides developers with a vast array - of well known published block ciphers, one-way hash functions, - chaining modes, pseudo-random number generators, public key - cryptography and a plethora of other routines. + cryptographic toolkit that provides developers with a vast + array of well known published block ciphers, one-way hash + functions, chaining modes, pseudo-random number generators, + public key cryptography and a plethora of other routines. http://www.libtom.net diff --git a/package/libtomcrypt/libtomcrypt.hash b/package/libtomcrypt/libtomcrypt.hash index 562016d52f..6f7720e8a3 100644 --- a/package/libtomcrypt/libtomcrypt.hash +++ b/package/libtomcrypt/libtomcrypt.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 e33b47d77a495091c8703175a25c8228aff043140b2554c08a3c3cd71f79d116 crypt-1.17.tar.bz2 +sha256 da9df56a314afaab71963aa71bb6a075ea6bdee3d4db4af045f6bfe23e88b87a crypt-1.18.0.tar.xz diff --git a/package/libtomcrypt/libtomcrypt.mk b/package/libtomcrypt/libtomcrypt.mk index 8cc02b28d3..020ce796fe 100644 --- a/package/libtomcrypt/libtomcrypt.mk +++ b/package/libtomcrypt/libtomcrypt.mk @@ -4,17 +4,16 @@ # ################################################################################ -LIBTOMCRYPT_VERSION = 1.17 -LIBTOMCRYPT_SITE = https://github.com/libtom/libtomcrypt/releases/download/$(LIBTOMCRYPT_VERSION) -LIBTOMCRYPT_SOURCE = crypt-$(LIBTOMCRYPT_VERSION).tar.bz2 +LIBTOMCRYPT_VERSION = 1.18.0 +LIBTOMCRYPT_SITE = https://github.com/libtom/libtomcrypt/releases/download/v$(LIBTOMCRYPT_VERSION) +LIBTOMCRYPT_SOURCE = crypt-$(LIBTOMCRYPT_VERSION).tar.xz LIBTOMCRYPT_LICENSE = WTFPL LIBTOMCRYPT_LICENSE_FILES = LICENSE LIBTOMCRYPT_INSTALL_STAGING = YES LIBTOMCRYPT_INSTALL_TARGET = NO # only static library LIBTOMCRYPT_DEPENDENCIES = libtommath -LIBTOMCRYPT_CFLAGS = -I./src/headers $(TARGET_CFLAGS) -DLTC_SOURCE -DLTM_DESC \ - $(if $(BR2_USE_WCHAR),,-DLTC_NO_WCHAR) +LIBTOMCRYPT_CFLAGS = -I./src/headers $(TARGET_CFLAGS) -DLTC_SOURCE -DLTM_DESC define LIBTOMCRYPT_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) CFLAGS="$(LIBTOMCRYPT_CFLAGS)" diff --git a/package/libtommath/libtommath.hash b/package/libtommath/libtommath.hash index fcf2ddc9e4..359dfeda3c 100644 --- a/package/libtommath/libtommath.hash +++ b/package/libtommath/libtommath.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 993a7df9ee091fca430cdde3263df57d88ef62af8103903214da49fc51bbb56c ltm-1.0.tar.xz +sha256 47032fb39d698ce4cf9c9c462c198e6b08790ce8203ad1224086b9b978636c69 ltm-1.0.1.tar.xz diff --git a/package/libtommath/libtommath.mk b/package/libtommath/libtommath.mk index 2fc8c39c6e..ceb2e6846c 100644 --- a/package/libtommath/libtommath.mk +++ b/package/libtommath/libtommath.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBTOMMATH_VERSION = 1.0 +LIBTOMMATH_VERSION = 1.0.1 LIBTOMMATH_SITE = https://github.com/libtom/libtommath/releases/download/v$(LIBTOMMATH_VERSION) LIBTOMMATH_SOURCE = ltm-$(LIBTOMMATH_VERSION).tar.xz LIBTOMMATH_LICENSE = WTFPL @@ -17,7 +17,7 @@ define LIBTOMMATH_BUILD_CMDS endef define LIBTOMMATH_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR="$(STAGING_DIR)" install + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR="$(STAGING_DIR)" PREFIX=/usr install endef $(eval $(generic-package)) diff --git a/package/libtool/Config.in b/package/libtool/Config.in index d3cf2d7843..8192c77080 100644 --- a/package/libtool/Config.in +++ b/package/libtool/Config.in @@ -1,7 +1,8 @@ config BR2_PACKAGE_LIBTOOL bool "libtool" help - Library that hides the complexity of using shared/static libraries - on different platforms behind a consistent, portable interface. + Library that hides the complexity of using shared/static + libraries on different platforms behind a consistent, portable + interface. http://www.gnu.org/software/libtool/ diff --git a/package/libtool/libtool.hash b/package/libtool/libtool.hash index baaac61232..dd34c0d74f 100644 --- a/package/libtool/libtool.hash +++ b/package/libtool/libtool.hash @@ -1,2 +1,4 @@ # Locally calculated after checking pgp signature sha256 7c87a8c2c8c0fc9cd5019e402bed4292462d00a718a7cd5f11218153bf28b26f libtool-2.4.6.tar.xz +# License files, locally calculated +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/libtool/libtool.mk b/package/libtool/libtool.mk index 1d066bd1ec..bf97ee12b5 100644 --- a/package/libtool/libtool.mk +++ b/package/libtool/libtool.mk @@ -11,7 +11,7 @@ LIBTOOL_INSTALL_STAGING = YES LIBTOOL_CONF_ENV = HELP2MAN=true LIBTOOL_DEPENDENCIES = host-m4 HOST_LIBTOOL_DEPENDENCIES = host-m4 -LIBTOOL_LICENSE = GPLv2+ +LIBTOOL_LICENSE = GPL-2.0+ LIBTOOL_LICENSE_FILES = COPYING HOST_LIBTOOL_CONF_ENV = MAKEINFO=true @@ -41,5 +41,5 @@ $(eval $(autotools-package)) $(eval $(host-autotools-package)) # variables used by other packages -LIBTOOL = $(HOST_DIR)/usr/bin/libtool -LIBTOOLIZE = $(HOST_DIR)/usr/bin/libtoolize +LIBTOOL = $(HOST_DIR)/bin/libtool +LIBTOOLIZE = $(HOST_DIR)/bin/libtoolize diff --git a/package/libtorrent/libtorrent.mk b/package/libtorrent/libtorrent.mk index ef1c75f039..fbd332e379 100644 --- a/package/libtorrent/libtorrent.mk +++ b/package/libtorrent/libtorrent.mk @@ -14,7 +14,7 @@ LIBTORRENT_CONF_OPTS = --enable-aligned \ $(if $(BR2_PACKAGE_OPENSSL),--enable-openssl,--disable-openssl) LIBTORRENT_INSTALL_STAGING = YES LIBTORRENT_AUTORECONF = YES -LIBTORRENT_LICENSE = GPLv2 +LIBTORRENT_LICENSE = GPL-2.0 LIBTORRENT_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/libubox/libubox.mk b/package/libubox/libubox.mk index 00392c3112..d3e3b709dc 100644 --- a/package/libubox/libubox.mk +++ b/package/libubox/libubox.mk @@ -4,16 +4,16 @@ # ################################################################################ -LIBUBOX_VERSION = 290c64ef5b5c3e75be851594f269d6a9568e64e5 +LIBUBOX_VERSION = 723730214732862de7e892bae2f7a7889e66bf1b LIBUBOX_SITE = git://git.openwrt.org/project/libubox.git -LIBUBOX_LICENSE = ISC, BSD-3c +LIBUBOX_LICENSE = ISC, BSD-3-Clause LIBUBOX_INSTALL_STAGING = YES LIBUBOX_DEPENDENCIES = $(if $(BR2_PACKAGE_JSON_C),json-c) ifeq ($(BR2_USE_MMU)$(BR2_PACKAGE_LUA_5_1),yy) LIBUBOX_DEPENDENCIES += lua LIBUBOX_CONF_OPTS += -DBUILD_LUA=ON \ - -DLUAPATH=$(STAGING_DIR)/usr/lib/lua/5.1 \ + -DLUAPATH=/usr/lib/lua/5.1 \ -DLUA_CFLAGS=-I$(STAGING_DIR)/usr/include else LIBUBOX_CONF_OPTS += -DBUILD_LUA=OFF diff --git a/package/libuci/libuci.hash b/package/libuci/libuci.hash new file mode 100644 index 0000000000..d4c839eb80 --- /dev/null +++ b/package/libuci/libuci.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 bb9827863c6b7b6cf986a3de42b5716edb8a280e44b3ce39541de18062c3c00e libuci-49ec6efbdac4819033d34f08927d795f83a3932d.tar.gz diff --git a/package/libuci/libuci.mk b/package/libuci/libuci.mk index 664704571c..642238c2e8 100644 --- a/package/libuci/libuci.mk +++ b/package/libuci/libuci.mk @@ -4,9 +4,9 @@ # ################################################################################ -LIBUCI_VERSION = e339407372ffc70b1451e4eda218c01aa95a6a7f -LIBUCI_SITE = git://nbd.name/uci.git -LIBUCI_LICENSE = LGPLv2.1, GPLv2 (tools) +LIBUCI_VERSION = 49ec6efbdac4819033d34f08927d795f83a3932d +LIBUCI_SITE = git://git.openwrt.org/project/uci.git +LIBUCI_LICENSE = LGPL-2.1, GPL-2.0 (tools) LIBUCI_INSTALL_STAGING = YES LIBUCI_DEPENDENCIES = libubox @@ -15,7 +15,7 @@ LIBUCI_DEPENDENCIES += lua LIBUCI_CONF_OPTS += -DBUILD_LUA=ON \ -DLUAPATH=/usr/lib/lua/5.1 \ -DLUA_CFLAGS=-I$(STAGING_DIR)/usr/include -LIBUCI_LICENSE := $(LIBUCI_LICENSE), GPLv2 (lua bindings) +LIBUCI_LICENSE := $(LIBUCI_LICENSE), GPL-2.0 (lua bindings) else LIBUCI_CONF_OPTS += -DBUILD_LUA=OFF endif diff --git a/package/libucl/libucl.mk b/package/libucl/libucl.mk index 3530bbe5ea..39a7ed3cc7 100644 --- a/package/libucl/libucl.mk +++ b/package/libucl/libucl.mk @@ -8,7 +8,7 @@ LIBUCL_VERSION = 0.7.3 LIBUCL_SITE = $(call github,vstakhov,libucl,$(LIBUCL_VERSION)) LIBUCL_INSTALL_STAGING = YES LIBUCL_AUTORECONF = YES -LIBUCL_LICENSE = BSD-2c +LIBUCL_LICENSE = BSD-2-Clause LIBUCL_LICENSE_FILES = COPYING LIBUCL_DEPENDENCIES = host-pkgconf diff --git a/package/libuecc/libuecc.mk b/package/libuecc/libuecc.mk index 87ca2e42d9..aad26e5aff 100644 --- a/package/libuecc/libuecc.mk +++ b/package/libuecc/libuecc.mk @@ -7,7 +7,7 @@ LIBUECC_VERSION = 7 LIBUECC_SITE = https://projects.universe-factory.net/attachments/download/85 LIBUECC_SOURCE = libuecc-$(LIBUECC_VERSION).tar.xz -LIBUECC_LICENSE = BSD-2c +LIBUECC_LICENSE = BSD-2-Clause LIBUECC_LICENSE_FILES = COPYRIGHT LIBUECC_INSTALL_STAGING = YES diff --git a/package/libuio/Config.in b/package/libuio/Config.in index a96df54b12..97be1e3d57 100644 --- a/package/libuio/Config.in +++ b/package/libuio/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_LIBUIO bool "libuio" select BR2_PACKAGE_ARGP_STANDALONE if BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_MUSL - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE help libuio is a light-weight C programming library to handle UIO (Userspace I/O) device discovery and binding task. diff --git a/package/libuio/libuio.mk b/package/libuio/libuio.mk index 6d07f1fa86..8f72253add 100644 --- a/package/libuio/libuio.mk +++ b/package/libuio/libuio.mk @@ -7,9 +7,11 @@ # v0.2.7 LIBUIO_VERSION = 940861de278cb794bf9d775b76a4d1d4f9108607 LIBUIO_SITE = $(call github,Linutronix,libuio,$(LIBUIO_VERSION)) -LIBUIO_LICENSE = LGPLv2.1 (library), GPLv2 (programs) +LIBUIO_LICENSE = LGPL-2.1 (library), GPL-2.0 (programs) LIBUIO_LICENSE_FILES = COPYING LIBUIO_CONF_OPTS = --with-glib=no --without-werror +LIBUIO_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) +LIBUIO_LIBS = $(TARGET_NLS_LIBS) LIBUIO_INSTALL_STAGING = YES # Fetched from github, no pre-generated configure script provided @@ -24,13 +26,6 @@ LIBUIO_DEPENDENCIES += argp-standalone LIBUIO_LIBS += -largp endif -# libuio pulls in libintl if needed, so ensure we also -# link against it, otherwise static linking fails -ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y) -LIBUIO_DEPENDENCIES += gettext -LIBUIO_LIBS += -lintl -endif - LIBUIO_CONF_ENV += LIBS="$(LIBUIO_LIBS)" $(eval $(autotools-package)) diff --git a/package/libunistring/libunistring.mk b/package/libunistring/libunistring.mk index ce58b471f6..9340e79937 100644 --- a/package/libunistring/libunistring.mk +++ b/package/libunistring/libunistring.mk @@ -8,7 +8,7 @@ LIBUNISTRING_VERSION = 0.9.7 LIBUNISTRING_SITE = $(BR2_GNU_MIRROR)/libunistring LIBUNISTRING_SOURCE = libunistring-$(LIBUNISTRING_VERSION).tar.xz LIBUNISTRING_INSTALL_STAGING = YES -LIBUNISTRING_LICENSE = LGPLv3+ or GPLv2 +LIBUNISTRING_LICENSE = LGPL-3.0+ or GPL-2.0 LIBUNISTRING_LICENSE_FILES = COPYING.LIB ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) diff --git a/package/libunwind/0001-add-disable-tests-option.patch b/package/libunwind/0001-add-disable-tests-option.patch new file mode 100644 index 0000000000..72a168615f --- /dev/null +++ b/package/libunwind/0001-add-disable-tests-option.patch @@ -0,0 +1,68 @@ +From 208a430bcbab7d63a4c04242f13c4740e0246a56 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=9A=D0=BE=D1=80=D0=BE=D0=BB=D0=B5=D0=B2=20=D0=A1=D0=B5?= + =?UTF-8?q?=D1=80=D0=B3=D0=B5=D0=B9?= +Date: Wed, 11 May 2016 22:48:55 +0300 +Subject: [PATCH] add --disable-tests option + +Allows to skip tests build. + +Backported from upstream master branch: +https://github.com/libunwind/libunwind/commit/208a430bcbab7d63a4c04242f13c4740e0246a56 + +Signed-off-by: Bernd Kuhls +--- + Makefile.am | 6 +++++- + configure.ac | 13 +++++++++++-- + 2 files changed, 16 insertions(+), 3 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 6a3ed9e..0c29b3e 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -42,7 +42,11 @@ endif + + nodist_include_HEADERS = include/libunwind-common.h + +-SUBDIRS = src tests ++SUBDIRS = src ++ ++if CONFIG_TESTS ++SUBDIRS += tests ++endif + + if CONFIG_DOCS + SUBDIRS += doc +diff --git a/configure.ac b/configure.ac +index 863fb8f..6c46cf3 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -129,6 +129,10 @@ AC_ARG_ENABLE(documentation, + AS_HELP_STRING([--disable-documentation],[Disable generating the man pages]),, + [enable_documentation=yes]) + ++AC_ARG_ENABLE(tests, ++ AS_HELP_STRING([--disable-tests],[Disable tests build]),, ++ [enable_tests=yes]) ++ + AC_MSG_CHECKING([if we should build libunwind-setjmp]) + AC_MSG_RESULT([$enable_setjmp]) + +@@ -396,8 +400,13 @@ if test "x$enable_documentation" = "xyes"; then + AC_CONFIG_FILES(doc/Makefile doc/common.tex) + fi + +-AC_CONFIG_FILES(Makefile src/Makefile tests/Makefile tests/check-namespace.sh +- include/libunwind-common.h ++AM_CONDITIONAL([CONFIG_TESTS], [test x$enable_tests = xyes]) ++if test "x$enable_tests" = "xyes"; then ++ AC_CONFIG_FILES(tests/Makefile tests/check-namespace.sh) ++fi ++ ++AC_CONFIG_FILES(Makefile src/Makefile ++ include/libunwind-common.h + include/libunwind.h include/tdep/libunwind_i.h) + AC_CONFIG_FILES(src/unwind/libunwind.pc src/coredump/libunwind-coredump.pc + src/ptrace/libunwind-ptrace.pc src/setjmp/libunwind-setjmp.pc +-- +2.11.0 + diff --git a/package/libunwind/0001-disable-tests.patch b/package/libunwind/0001-disable-tests.patch deleted file mode 100644 index 05475a5d6c..0000000000 --- a/package/libunwind/0001-disable-tests.patch +++ /dev/null @@ -1,32 +0,0 @@ -Disable building of tests - -libunwind tests do not build with uClibc, so we disable them. - -Signed-off-by: Thomas Petazzoni - -Index: b/Makefile.am -=================================================================== ---- a/Makefile.am -+++ b/Makefile.am -@@ -36,7 +36,7 @@ - - nodist_include_HEADERS = include/libunwind-common.h - --SUBDIRS = src tests doc -+SUBDIRS = src doc - - noinst_HEADERS = include/dwarf.h include/dwarf_i.h include/dwarf-eh.h \ - include/compiler.h include/libunwind_i.h include/mempool.h \ -Index: b/Makefile.in -=================================================================== ---- a/Makefile.in -+++ b/Makefile.in -@@ -313,7 +313,7 @@ - $(am__append_7) $(am__append_8) $(am__append_9) \ - $(am__append_10) - nodist_include_HEADERS = include/libunwind-common.h --SUBDIRS = src tests doc -+SUBDIRS = src doc - noinst_HEADERS = include/dwarf.h include/dwarf_i.h include/dwarf-eh.h \ - include/compiler.h include/libunwind_i.h include/mempool.h \ - include/remote.h \ diff --git a/package/libunwind/0003-Fix-compilation-of-tests-on-alpine-linux-musl-libc.patch b/package/libunwind/0003-Fix-compilation-of-tests-on-alpine-linux-musl-libc.patch new file mode 100644 index 0000000000..411b40d10a --- /dev/null +++ b/package/libunwind/0003-Fix-compilation-of-tests-on-alpine-linux-musl-libc.patch @@ -0,0 +1,88 @@ +From 5dcb7cd3cb63bf8a3a5f7531d10f937053930a25 Mon Sep 17 00:00:00 2001 +From: Tony Kelman +Date: Sun, 31 Jan 2016 08:31:04 +0000 +Subject: [PATCH] Fix compilation of tests on alpine linux (musl libc) + +If we don't link to libexecinfo, as detected by the +AC_SEARCH_LIBS(backtrace, execinfo) configure probe, we get + +``` +test-coredump-unwind.o: In function `handle_sigsegv': +/home/libunwind/tests/test-coredump-unwind.c:246: undefined reference to +`backtrace_symbols_fd' +collect2: error: ld returned 1 exit status +Makefile:1187: recipe for target 'test-coredump-unwind' failed +``` + +and + +``` +Gtest-init.o: In function `do_backtrace()': +Gtest-init.cxx:(.text+0x2f): undefined reference to `_Ux86_64_getcontext' +Gtest-init.cxx:(.text+0x48): undefined reference to `_Ux86_64_init_local' +Gtest-init.cxx:(.text+0x63): undefined reference to `_Ux86_64_get_reg' +Gtest-init.cxx:(.text+0x96): undefined reference to `_Ux86_64_get_proc_name' +Gtest-init.cxx:(.text+0x171): undefined reference to `_Ux86_64_step' +collect2: error: ld returned 1 exit status +Makefile:1063: recipe for target 'Gtest-init' failed +``` + +There are 2 XFAIL and 6 FAIL tests, but it's a start + +Backported from upstream master branch: +https://github.com/libunwind/libunwind/commit/5dcb7cd3cb63bf8a3a5f7531d10f937053930a25 + +Signed-off-by: Bernd Kuhls +--- + configure.ac | 5 +++++ + tests/Makefile.am | 4 ++-- + 2 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 6c46cf3..21bae90 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -373,6 +373,10 @@ old_LIBS="$LIBS" + LIBS="" + AC_SEARCH_LIBS(backtrace, execinfo) + LIBS="$old_LIBS" ++case "$ac_cv_search_backtrace" in ++ -l*) BACKTRACELIB=$ac_cv_search_backtrace;; ++ *) BACKTRACELIB="";; ++esac + + AC_SUBST(build_arch) + AC_SUBST(target_os) +@@ -388,6 +392,7 @@ AC_SUBST(PKG_MAINTAINER) + AC_SUBST(enable_cxx_exceptions) + AC_SUBST(enable_debug_frame) + AC_SUBST(DLLIB) ++AC_SUBST(BACKTRACELIB) + + AC_PATH_PROG([LATEX2MAN],[latex2man]) + if test "x$LATEX2MAN" = "x"; then +diff --git a/tests/Makefile.am b/tests/Makefile.am +index 0a74881..cd3e589 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -179,7 +179,7 @@ Gtest_bt_LDADD = $(LIBUNWIND) $(LIBUNWIND_local) + Gtest_concurrent_LDADD = $(LIBUNWIND) $(LIBUNWIND_local) -lpthread + Gtest_dyn1_LDADD = $(LIBUNWIND) $(LIBUNWIND_local) + Gtest_exc_LDADD = $(LIBUNWIND) $(LIBUNWIND_local) +-Gtest_init_LDADD = $(LIBUNWIND) $(LIBUNWIND_local) ++Gtest_init_LDADD = $(LIBUNWIND) $(LIBUNWIND_local) @BACKTRACELIB@ + Gtest_resume_sig_LDADD = $(LIBUNWIND) $(LIBUNWIND_local) + Gtest_resume_sig_rt_LDADD = $(LIBUNWIND) $(LIBUNWIND_local) + Gperf_simple_LDADD = $(LIBUNWIND) $(LIBUNWIND_local) +@@ -203,7 +203,7 @@ test_setjmp_LDADD = $(LIBUNWIND_setjmp) + ia64_test_setjmp_LDADD = $(LIBUNWIND_setjmp) + + if BUILD_COREDUMP +-test_coredump_unwind_LDADD = $(LIBUNWIND_coredump) $(LIBUNWIND) ++test_coredump_unwind_LDADD = $(LIBUNWIND_coredump) $(LIBUNWIND) @BACKTRACELIB@ + endif + + Gia64_test_nat_LDADD = $(LIBUNWIND) $(LIBUNWIND_local) +-- +2.11.0 + diff --git a/package/libunwind/0003-Link-libunwind-to-libgcc_s-rather-than-libgcc.patch b/package/libunwind/0003-Link-libunwind-to-libgcc_s-rather-than-libgcc.patch deleted file mode 100644 index 7ea25129f1..0000000000 --- a/package/libunwind/0003-Link-libunwind-to-libgcc_s-rather-than-libgcc.patch +++ /dev/null @@ -1,41 +0,0 @@ -From f1684379dfaf8018d5d4c1945e292a56d0fab245 Mon Sep 17 00:00:00 2001 -From: Thierry Reding -Date: Fri, 27 Jun 2014 08:40:33 +0200 -Subject: [PATCH] Link libunwind to libgcc_s rather than libgcc - -For some architectures, -lgcc and -lgcc_s are not equivalent. On ARM for -example, libgcc_s.so.1 contains some symbols needed by libunwind which -are not present in libgcc. - -This causes the following link error when building the X.Org X server -with libunwind support: - - CCLD Xorg - /usr/lib/libunwind.so: undefined reference to `__aeabi_unwind_cpp_pr0' - /usr/lib/libunwind.so: undefined reference to `__aeabi_unwind_cpp_pr1' - -Linking against libgcc_s explicitly solves this problem. - -Signed-off-by: Thierry Reding -[yann.morin.1998@free.fr: backport to libunwind 1.1] -Signed-off-by: "Yann E. MORIN" ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 4e2fd23..a77cf01 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -258,7 +258,7 @@ else - - if test x$GCC = xyes -a x$intel_compiler != xyes; then - CFLAGS="${CFLAGS} -fexceptions -Wall -Wsign-compare" -- LIBCRTS="-lgcc" -+ LIBCRTS="-lgcc_s" - fi - AC_MSG_RESULT([$intel_compiler]) - --- -1.9.1 - diff --git a/package/libunwind/0004-libunwind-arm-fix-build-failure-due-to-asm.patch b/package/libunwind/0004-libunwind-arm-fix-build-failure-due-to-asm.patch new file mode 100644 index 0000000000..cfd0c5501b --- /dev/null +++ b/package/libunwind/0004-libunwind-arm-fix-build-failure-due-to-asm.patch @@ -0,0 +1,43 @@ +From c7ab998ec52b09d61ec3c0ea62aa07cd26077ea3 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Mon, 3 Jul 2017 14:43:02 +0200 +Subject: [PATCH] libunwind-arm: fix build failure due to asm() + +The gcc documentation [1] suggest to use __asm__ instead of asm. + +Fixes: +http://autobuild.buildroot.net/results/3ef/3efe156b6494e4392b6c31de447ee2c72acc1a53 + +[1] https://gcc.gnu.org/onlinedocs/gcc/Alternate-Keywords.html#Alternate-Keywords + +Signed-off-by: Romain Naour +Cc: Bernd Kuhls +--- + include/libunwind-arm.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/include/libunwind-arm.h b/include/libunwind-arm.h +index f208487..1c856fa 100644 +--- a/include/libunwind-arm.h ++++ b/include/libunwind-arm.h +@@ -265,7 +265,7 @@ unw_tdep_context_t; + #ifndef __thumb__ + #define unw_tdep_getcontext(uc) (({ \ + unw_tdep_context_t *unw_ctx = (uc); \ +- register unsigned long *unw_base asm ("r0") = unw_ctx->regs; \ ++ register unsigned long *unw_base __asm__ ("r0") = unw_ctx->regs; \ + __asm__ __volatile__ ( \ + "stmia %[base], {r0-r15}" \ + : : [base] "r" (unw_base) : "memory"); \ +@@ -273,7 +273,7 @@ unw_tdep_context_t; + #else /* __thumb__ */ + #define unw_tdep_getcontext(uc) (({ \ + unw_tdep_context_t *unw_ctx = (uc); \ +- register unsigned long *unw_base asm ("r0") = unw_ctx->regs; \ ++ register unsigned long *unw_base __asm__ ("r0") = unw_ctx->regs; \ + __asm__ __volatile__ ( \ + ".align 2\nbx pc\nnop\n.code 32\n" \ + "stmia %[base], {r0-r15}\n" \ +-- +2.9.4 + diff --git a/package/libunwind/Config.in b/package/libunwind/Config.in index 5527a2bc21..be576d13c4 100644 --- a/package/libunwind/Config.in +++ b/package/libunwind/Config.in @@ -10,26 +10,26 @@ config BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS bool default y if BR2_TOOLCHAIN_USES_GLIBC && \ - (((BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM) || \ - BR2_mips || BR2_mipsel || BR2_mips64 || \ + (BR2_ARM_CPU_HAS_ARM || BR2_mips || BR2_mipsel || BR2_mips64 || \ BR2_mips64el || BR2_powerpc || BR2_sh || BR2_i386 || BR2_x86_64) default y if BR2_TOOLCHAIN_USES_UCLIBC && \ - (((BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM) || \ - BR2_i386 || BR2_mips || BR2_mipsel || \ + (BR2_ARM_CPU_HAS_ARM || BR2_mips || BR2_mipsel || \ BR2_mips64 || BR2_mips64el || BR2_x86_64) default y if BR2_TOOLCHAIN_USES_MUSL && \ - (((BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM) || \ - BR2_i386 || BR2_x86_64) + (BR2_ARM_CPU_HAS_ARM || BR2_x86_64) config BR2_PACKAGE_LIBUNWIND bool "libunwind" depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS + # forcefully links against libgcc_s, only available in dynamic + # linking configurations + depends on !BR2_STATIC_LIBS help C API to determine the call-chain of a program. http://www.nongnu.org/libunwind/index.html -comment "libunwind needs a toolchain w/ threads" +comment "libunwind needs a toolchain w/ threads, dynamic library" depends on BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS - depends on !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/libunwind/libunwind.hash b/package/libunwind/libunwind.hash index 7ec47fab5a..2f6c8ec79b 100644 --- a/package/libunwind/libunwind.hash +++ b/package/libunwind/libunwind.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 9dfe0fcae2a866de9d3942c66995e4b460230446887dbdab302d41a8aee8d09a libunwind-1.1.tar.gz +sha256 3f3ecb90e28cbe53fba7a4a27ccce7aad188d3210bb1964a923a731a27a75acb libunwind-1.2.1.tar.gz diff --git a/package/libunwind/libunwind.mk b/package/libunwind/libunwind.mk index a75a88848b..7adf318962 100644 --- a/package/libunwind/libunwind.mk +++ b/package/libunwind/libunwind.mk @@ -4,13 +4,15 @@ # ################################################################################ -LIBUNWIND_VERSION = 1.1 +LIBUNWIND_VERSION = 1.2.1 LIBUNWIND_SITE = http://download.savannah.gnu.org/releases/libunwind LIBUNWIND_INSTALL_STAGING = YES LIBUNWIND_LICENSE_FILES = COPYING LIBUNWIND_LICENSE = MIT LIBUNWIND_AUTORECONF = YES +LIBUNWIND_CONF_OPTS = --disable-tests + ifeq ($(BR2_PACKAGE_LIBATOMIC_OPS),y) LIBUNWIND_DEPENDENCIES = libatomic_ops endif diff --git a/package/libupnp/Config.in b/package/libupnp/Config.in index 6a07b42d8a..7c6c376076 100644 --- a/package/libupnp/Config.in +++ b/package/libupnp/Config.in @@ -2,10 +2,11 @@ config BR2_PACKAGE_LIBUPNP bool "libupnp" depends on BR2_TOOLCHAIN_HAS_THREADS help - The portable SDK for UPnP(tm) Devices (libupnp) provides developers - with an API and open source code for building control points, - devices, and bridges that are compliant with Version 1.0 of the - Universal Plug and Play Device Architecture Specification + The portable SDK for UPnP(tm) Devices (libupnp) provides + developers with an API and open source code for building + control points, devices, and bridges that are compliant with + Version 1.0 of the Universal Plug and Play Device Architecture + Specification http://pupnp.sourceforge.net/ diff --git a/package/libupnp/libupnp.hash b/package/libupnp/libupnp.hash index df39f327b6..314c68e826 100644 --- a/package/libupnp/libupnp.hash +++ b/package/libupnp/libupnp.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 af3f3c0846a1d75baeadae4aa5a2bda427567e2a1fb4559bf73ccff0a4f9a39b libupnp-1.6.21.tar.bz2 +sha256 0bdfacb7fa8d99b78343b550800ff193264f92c66ef67852f87f042fd1a1ebbc libupnp-1.6.22.tar.bz2 +sha256 0375955c8a79d6e8fa0792d45d00fc4e7710d7ac95bcbd27f9225a83f5c946fd LICENSE diff --git a/package/libupnp/libupnp.mk b/package/libupnp/libupnp.mk index 8236cee1fe..bf01b4d946 100644 --- a/package/libupnp/libupnp.mk +++ b/package/libupnp/libupnp.mk @@ -4,12 +4,12 @@ # ################################################################################ -LIBUPNP_VERSION = 1.6.21 +LIBUPNP_VERSION = 1.6.22 LIBUPNP_SOURCE = libupnp-$(LIBUPNP_VERSION).tar.bz2 LIBUPNP_SITE = http://downloads.sourceforge.net/project/pupnp/pupnp/libUPnP%20$(LIBUPNP_VERSION) LIBUPNP_CONF_ENV = ac_cv_lib_compat_ftime=no LIBUPNP_INSTALL_STAGING = YES -LIBUPNP_LICENSE = BSD-3c +LIBUPNP_LICENSE = BSD-3-Clause LIBUPNP_LICENSE_FILES = LICENSE $(eval $(autotools-package)) diff --git a/package/libupnpp/Config.in b/package/libupnpp/Config.in index 2d99586788..32877ff56c 100644 --- a/package/libupnpp/Config.in +++ b/package/libupnpp/Config.in @@ -1,16 +1,16 @@ config BR2_PACKAGE_LIBUPNPP bool "libupnpp" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS # libupnp + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 select BR2_PACKAGE_EXPAT select BR2_PACKAGE_LIBCURL select BR2_PACKAGE_LIBUPNP - depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_HAS_THREADS # libupnp - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_6 help - The libupnpp C++ library wraps libupnp for easier use by upmpdcli and - upplay. + The libupnpp C++ library wraps libupnp for easier use by + upmpdcli and upplay. http://www.lesbonscomptes.com/upmpdcli/ -comment "libupnpp needs a toolchain w/ C++, threads, gcc >= 4.6" - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_6 +comment "libupnpp needs a toolchain w/ C++, threads, gcc >= 4.9" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/libupnpp/libupnpp.hash b/package/libupnpp/libupnpp.hash index dde4c4f67c..f19e0b5441 100644 --- a/package/libupnpp/libupnpp.hash +++ b/package/libupnpp/libupnpp.hash @@ -1,2 +1,2 @@ -# Hashes from: http://www.lesbonscomptes.com/upmpdcli/downloads/libupnpp-0.15.1.tar.gz.sha256 -sha256 c558e6285d61485e656bc973511396665b68b1d5cfa34db5fa4e64e0f2026c3a libupnpp-0.15.1.tar.gz +# Hashes from: http://www.lesbonscomptes.com/upmpdcli/downloads/libupnpp-0.16.0.tar.gz.sha256 +sha256 b34b179e69c46993cf360da9e85db646b03c15ab2927b19eb70e27bf3c359017 libupnpp-0.16.0.tar.gz diff --git a/package/libupnpp/libupnpp.mk b/package/libupnpp/libupnpp.mk index 0cb3eae2ca..4755b706d6 100644 --- a/package/libupnpp/libupnpp.mk +++ b/package/libupnpp/libupnpp.mk @@ -4,9 +4,9 @@ # ################################################################################ -LIBUPNPP_VERSION = 0.15.1 +LIBUPNPP_VERSION = 0.16.0 LIBUPNPP_SITE = http://www.lesbonscomptes.com/upmpdcli/downloads -LIBUPNPP_LICENSE = GPLv2+ +LIBUPNPP_LICENSE = GPL-2.0+ LIBUPNPP_LICENSE_FILES = COPYING LIBUPNPP_INSTALL_STAGING = YES LIBUPNPP_DEPENDENCIES = expat libcurl libupnp diff --git a/package/liburcu/Config.in b/package/liburcu/Config.in index b5b6326878..2598181ad1 100644 --- a/package/liburcu/Config.in +++ b/package/liburcu/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS bool + default y depends on BR2_arm || BR2_armeb || BR2_aarch64 || BR2_i386 || BR2_powerpc || BR2_x86_64 depends on BR2_USE_MMU # fork() in test - default y config BR2_PACKAGE_LIBURCU bool "liburcu" @@ -16,8 +16,8 @@ config BR2_PACKAGE_LIBURCU On ARM, because of bug: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58854 - liburcu cannot be built using gcc 4.8.0, 4.8.1 or 4.8.2 without the - following bug fix: + liburcu cannot be built using gcc 4.8.0, 4.8.1 or 4.8.2 + without the following bug fix: http://gcc.gnu.org/viewcvs/gcc?view=revision&revision=204665 http://lttng.org/urcu diff --git a/package/liburcu/liburcu.mk b/package/liburcu/liburcu.mk index c21c210a07..d8579f6c28 100644 --- a/package/liburcu/liburcu.mk +++ b/package/liburcu/liburcu.mk @@ -7,7 +7,7 @@ LIBURCU_VERSION = 0.9.2 LIBURCU_SITE = http://lttng.org/files/urcu LIBURCU_SOURCE = userspace-rcu-$(LIBURCU_VERSION).tar.bz2 -LIBURCU_LICENSE = LGPLv2.1+ (library), MIT-like (few source files listed in LICENSE), GPLv2+ (test), GPLv3 (few *.m4 files) +LIBURCU_LICENSE = LGPL-2.1+ (library), MIT-like (few source files listed in LICENSE), GPL-2.0+ (test), GPL-3.0 (few *.m4 files) LIBURCU_LICENSE_FILES = lgpl-2.1.txt lgpl-relicensing.txt gpl-2.0.txt LICENSE LIBURCU_INSTALL_STAGING = YES diff --git a/package/liburiparser/Config.in b/package/liburiparser/Config.in index 95a6fe83ae..e85a2626d2 100644 --- a/package/liburiparser/Config.in +++ b/package/liburiparser/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_LIBURIPARSER bool "liburiparser" help - uriparser is a strictly RFC 3986 compliant URI parsing and handling - library written in C. + uriparser is a strictly RFC 3986 compliant URI parsing and + handling library written in C. http://uriparser.sourceforge.net diff --git a/package/liburiparser/liburiparser.mk b/package/liburiparser/liburiparser.mk index 661fa960f4..7466a777a3 100644 --- a/package/liburiparser/liburiparser.mk +++ b/package/liburiparser/liburiparser.mk @@ -7,7 +7,7 @@ LIBURIPARSER_VERSION = 0.8.1 LIBURIPARSER_SOURCE = uriparser-$(LIBURIPARSER_VERSION).tar.bz2 LIBURIPARSER_SITE = http://sourceforge.net/projects/uriparser/files/Sources/$(LIBURIPARSER_VERSION) -LIBURIPARSER_LICENSE = BSD-3c +LIBURIPARSER_LICENSE = BSD-3-Clause LIBURIPARSER_LICENSE_FILES = COPYING LIBURIPARSER_INSTALL_STAGING = YES LIBURIPARSER_CONF_OPTS = --disable-test diff --git a/package/libusb-compat/0001-Use-C99-standard-fixed-width-integer-types-in-usb.h.patch b/package/libusb-compat/0001-Use-C99-standard-fixed-width-integer-types-in-usb.h.patch index ad71199c4c..35872a9710 100644 --- a/package/libusb-compat/0001-Use-C99-standard-fixed-width-integer-types-in-usb.h.patch +++ b/package/libusb-compat/0001-Use-C99-standard-fixed-width-integer-types-in-usb.h.patch @@ -1,7 +1,7 @@ -From 2e9b6bbebb7cf1ef0095516ec6d5203deb3822e8 Mon Sep 17 00:00:00 2001 +From 87adda6abc3467ede45a6d2a87df2b9efdf5bb33 Mon Sep 17 00:00:00 2001 From: Nathan Hjelm Date: Fri, 9 Oct 2015 15:03:10 -0600 -Subject: [PATCH 1/1] Use C99 standard fixed width integer types in usb.h +Subject: [PATCH] Use C99 standard fixed width integer types in usb.h This patch modifies the integer types in usb.h of the form u_int* to the C99 standard uint* types. @@ -13,6 +13,7 @@ https://github.com/libusb/libusb-compat-0.1/commit/2e9b6bbebb7cf1ef0095516ec6d52 Signed-off-by: Gwenhael Goavec-Merou Signed-off-by: Nathan Hjelm +Signed-off-by: Bartosz Golaszewski --- libusb/usb.h | 130 ++++++++++++++++++++++++++++++++--------------------------- 1 file changed, 70 insertions(+), 60 deletions(-) @@ -232,5 +233,5 @@ index 84e730f..d2c30aa 100644 struct usb_device *root_dev; }; -- -2.4.9 +2.9.3 diff --git a/package/libusb-compat/0002-fix-a-build-issue-on-linux.patch b/package/libusb-compat/0002-fix-a-build-issue-on-linux.patch new file mode 100644 index 0000000000..d2e26b321c --- /dev/null +++ b/package/libusb-compat/0002-fix-a-build-issue-on-linux.patch @@ -0,0 +1,32 @@ +From af07587e8775c25450cda8ba9e9a8b1a58072634 Mon Sep 17 00:00:00 2001 +From: Bartosz Golaszewski +Date: Mon, 3 Jul 2017 15:55:00 +0200 +Subject: [PATCH] fix a build issue on linux + +On linux PATH_MAX is defined in linux/limits.h. If we include usb.h +without previously having indirectly included it, the build fails. + +Signed-off-by: Bartosz Golaszewski +--- + libusb/usb.h | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/libusb/usb.h b/libusb/usb.h +index d2c30aa..7ad9a66 100644 +--- a/libusb/usb.h ++++ b/libusb/usb.h +@@ -41,6 +41,11 @@ typedef unsigned __int32 uint32_t; + #include + #endif + ++/* On linux PATH_MAX is defined in linux/limits.h. */ ++#if defined(__linux__) ++#include ++#endif ++ + /* + * USB spec information + * +-- +2.9.3 + diff --git a/package/libusb-compat/libusb-compat.mk b/package/libusb-compat/libusb-compat.mk index 26107be861..61d4c203e7 100644 --- a/package/libusb-compat/libusb-compat.mk +++ b/package/libusb-compat/libusb-compat.mk @@ -12,7 +12,7 @@ LIBUSB_COMPAT_DEPENDENCIES = host-pkgconf libusb HOST_LIBUSB_COMPAT_DEPENDENCIES = host-pkgconf host-libusb LIBUSB_COMPAT_INSTALL_STAGING = YES LIBUSB_COMPAT_CONFIG_SCRIPTS = libusb-config -LIBUSB_COMPAT_LICENSE = LGPLv2.1+ +LIBUSB_COMPAT_LICENSE = LGPL-2.1+ LIBUSB_COMPAT_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/libusb/0001-parallel-make.patch b/package/libusb/0001-parallel-make.patch deleted file mode 100644 index a326e99516..0000000000 --- a/package/libusb/0001-parallel-make.patch +++ /dev/null @@ -1,162 +0,0 @@ -Fix parallel build - -This patch is a partial backport of -https://github.com/libusb/libusb/commit/3dc781ce3ecd0315cfc0b4fdcef9e062990f289b - -Signed-off-by: Jeroen Roovers - ---- a/configure.ac -+++ b/configure.ac -@@ -36,6 +36,7 @@ m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RU - - AC_PREREQ([2.50]) - AC_PROG_CC -+AC_PROG_CXX - LT_INIT - LT_LANG([Windows Resource]) - AC_C_INLINE -@@ -91,7 +92,6 @@ case $host in - ;; - *-haiku*) - AC_MSG_RESULT([Haiku]) -- AC_CONFIG_SUBDIRS([libusb/os/haiku]) - backend="haiku" - threads="posix" - ;; -@@ -193,6 +193,7 @@ AM_CONDITIONAL(OS_HAIKU, test "x$backend - AM_CONDITIONAL(THREADS_POSIX, test "x$threads" = xposix) - AM_CONDITIONAL(CREATE_IMPORT_LIB, test "x$create_import_lib" = "xyes") - AM_CONDITIONAL(USE_UDEV, test "x$enable_udev" = xyes) -+AM_CONDITIONAL(USE_USBDK, test "x$enable_usbdk" = xyes) - if test "$threads" = posix; then - AC_DEFINE(THREADS_POSIX, 1, [Use POSIX Threads]) - fi ---- a/libusb/Makefile.am -+++ b/libusb/Makefile.am -@@ -4,58 +4,66 @@ AUTOMAKE_OPTIONS = subdir-objects - - lib_LTLIBRARIES = libusb-1.0.la - --POSIX_POLL_SRC = os/poll_posix.c --LINUX_USBFS_SRC = os/linux_usbfs.c --DARWIN_USB_SRC = os/darwin_usb.c -+POSIX_POLL_SRC = os/poll_posix.h os/poll_posix.c -+POSIX_THREADS_SRC = os/threads_posix.h os/threads_posix.c -+WINDOWS_POLL_SRC = os/poll_windows.h os/poll_windows.c -+WINDOWS_THREADS_SRC = os/threads_windows.h os/threads_windows.c -+LINUX_USBFS_SRC = os/linux_usbfs.h os/linux_usbfs.c -+DARWIN_USB_SRC = os/darwin_usb.h os/darwin_usb.c - OPENBSD_USB_SRC = os/openbsd_usb.c - NETBSD_USB_SRC = os/netbsd_usb.c --WINDOWS_USB_SRC = os/poll_windows.c os/windows_usb.c libusb-1.0.rc libusb-1.0.def --WINCE_USB_SRC = os/wince_usb.c os/wince_usb.h -- --DIST_SUBDIRS = -- --EXTRA_DIST = $(LINUX_USBFS_SRC) $(DARWIN_USB_SRC) $(OPENBSD_USB_SRC) \ -- $(NETBSD_USB_SRC) $(WINDOWS_USB_SRC) $(WINCE_USB_SRC) \ -- $(POSIX_POLL_SRC) \ -- os/threads_posix.c os/threads_windows.c \ -+WINDOWS_COMMON_SRC = os/windows_nt_common.h os/windows_nt_common.c \ -+ os/windows_common.h libusb-1.0.rc libusb-1.0.def -+WINDOWS_USB_SRC = os/windows_winusb.h os/windows_winusb.c -+WINDOWS_USBDK_SRC = os/windows_usbdk.h os/windows_usbdk.c -+WINCE_USB_SRC = os/wince_usb.h os/wince_usb.c -+HAIKU_USB_SRC = os/haiku_usb.h os/haiku_usb_backend.cpp \ -+ os/haiku_usb_raw.h os/haiku_usb_raw.cpp os/haiku_pollfs.cpp -+ -+EXTRA_DIST = $(POSIX_POLL_SRC) $(POSIX_THREADS_SRC) \ -+ $(WINDOWS_POLL_SRC) $(WINDOWS_THREADS_SRC) \ -+ $(LINUX_USBFS_SRC) $(DARWIN_USB_SRC) \ -+ $(OPENBSD_USB_SRC) $(NETBSD_USB_SRC) \ -+ $(WINDOWS_COMMON_SRC) $(WINDOWS_USB_SRC) $(WINDOWS_USBDK_SRC) \ -+ $(WINCE_USB_SRC) $(HAIKU_USB_SRC) \ - os/linux_udev.c os/linux_netlink.c - --dist-hook: -- cp -r os/haiku $(distdir)/os/haiku -- rm -rf $(distdir)/os/haiku/autom4te.cache -- - if OS_LINUX - - if USE_UDEV --OS_SRC = $(LINUX_USBFS_SRC) $(POSIX_POLL_SRC) \ -- os/linux_udev.c -+OS_SRC = $(LINUX_USBFS_SRC) os/linux_udev.c - else --OS_SRC = $(LINUX_USBFS_SRC) $(POSIX_POLL_SRC) \ -- os/linux_netlink.c -+OS_SRC = $(LINUX_USBFS_SRC) os/linux_netlink.c - endif - - endif - - if OS_DARWIN --OS_SRC = $(DARWIN_USB_SRC) $(POSIX_POLL_SRC) -+OS_SRC = $(DARWIN_USB_SRC) - AM_CFLAGS_EXT = -no-cpp-precomp - endif - - if OS_OPENBSD --OS_SRC = $(OPENBSD_USB_SRC) $(POSIX_POLL_SRC) -+OS_SRC = $(OPENBSD_USB_SRC) - endif - - if OS_NETBSD --OS_SRC = $(NETBSD_USB_SRC) $(POSIX_POLL_SRC) -+OS_SRC = $(NETBSD_USB_SRC) - endif - - if OS_HAIKU --OS_SRC = $(POSIX_POLL_SRC) --SUBDIRS = os/haiku -+noinst_LTLIBRARIES = libusb_haiku.la -+libusb_haiku_la_SOURCES = $(HAIKU_USB_SRC) -+libusb_1_0_la_LIBADD = libusb_haiku.la - endif - - if OS_WINDOWS --OS_SRC = $(WINDOWS_USB_SRC) -+ -+if USE_USBDK -+OS_SRC = $(WINDOWS_USBDK_SRC) $(WINDOWS_COMMON_SRC) -+else -+OS_SRC = $(WINDOWS_USB_SRC) $(WINDOWS_COMMON_SRC) -+endif - - .rc.lo: - $(AM_V_GEN)$(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --tag=RC --mode=compile $(RC) $(RCFLAGS) -i $< -o $@ -@@ -69,22 +77,23 @@ if CREATE_IMPORT_LIB - $(AM_V_GEN)$(DLLTOOL) $(DLLTOOLFLAGS) --kill-at --input-def $(srcdir)/libusb-1.0.def --dllname $@ --output-lib .libs/$@.a - endif - -+if OS_WINDOWS -+POLL_SRC = $(WINDOWS_POLL_SRC) -+else -+POLL_SRC = $(POSIX_POLL_SRC) -+endif -+ - if THREADS_POSIX --THREADS_SRC = os/threads_posix.h os/threads_posix.c -+THREADS_SRC = $(POSIX_THREADS_SRC) - else --THREADS_SRC = os/threads_windows.h os/threads_windows.c -+THREADS_SRC = $(WINDOWS_THREADS_SRC) - endif - - libusb_1_0_la_CFLAGS = $(AM_CFLAGS) - libusb_1_0_la_LDFLAGS = $(LTLDFLAGS) --libusb_1_0_la_SOURCES = libusbi.h core.c descriptor.c io.c strerror.c sync.c \ -- os/linux_usbfs.h os/darwin_usb.h os/windows_usb.h os/windows_common.h \ -- hotplug.h hotplug.c $(THREADS_SRC) $(OS_SRC) \ -- os/poll_posix.h os/poll_windows.h -- --if OS_HAIKU --libusb_1_0_la_LIBADD = os/haiku/libhaikuusb.la --endif -+libusb_1_0_la_SOURCES = libusbi.h libusb.h version.h version_nano.h \ -+ core.c descriptor.c hotplug.h hotplug.c io.c strerror.c sync.c \ -+ $(POLL_SRC) $(THREADS_SRC) $(OS_SRC) - - hdrdir = $(includedir)/libusb-1.0 - hdr_HEADERS = libusb.h diff --git a/package/libusb/libusb.hash b/package/libusb/libusb.hash index c809896f7a..0415aab509 100644 --- a/package/libusb/libusb.hash +++ b/package/libusb/libusb.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 cb057190ba0a961768224e4dc6883104c6f945b2bf2ef90d7da39e7c1834f7ff libusb-1.0.20.tar.bz2 +sha256 7dce9cce9a81194b7065ee912bcd55eeffebab694ea403ffb91b67db66b1824b libusb-1.0.21.tar.bz2 diff --git a/package/libusb/libusb.mk b/package/libusb/libusb.mk index 4d05feb801..f0bb9e3335 100644 --- a/package/libusb/libusb.mk +++ b/package/libusb/libusb.mk @@ -5,15 +5,13 @@ ################################################################################ LIBUSB_VERSION_MAJOR = 1.0 -LIBUSB_VERSION = $(LIBUSB_VERSION_MAJOR).20 +LIBUSB_VERSION = $(LIBUSB_VERSION_MAJOR).21 LIBUSB_SOURCE = libusb-$(LIBUSB_VERSION).tar.bz2 LIBUSB_SITE = https://github.com/libusb/libusb/releases/download/v$(LIBUSB_VERSION) -LIBUSB_LICENSE = LGPLv2.1+ +LIBUSB_LICENSE = LGPL-2.1+ LIBUSB_LICENSE_FILES = COPYING LIBUSB_DEPENDENCIES = host-pkgconf LIBUSB_INSTALL_STAGING = YES -# 0001-parallel-make.patch -LIBUSB_AUTORECONF = YES # Avoid the discovery of udev for the host variant HOST_LIBUSB_CONF_OPTS = --disable-udev diff --git a/package/libusbgx/libusbgx.mk b/package/libusbgx/libusbgx.mk index 1340d2d17a..1964b47d02 100644 --- a/package/libusbgx/libusbgx.mk +++ b/package/libusbgx/libusbgx.mk @@ -6,7 +6,7 @@ LIBUSBGX_VERSION = 2e3d43ee098ed928d1baa61ce791ce9ff4788c5a LIBUSBGX_SITE = $(call github,libusbgx,libusbgx,$(LIBUSBGX_VERSION)) -LIBUSBGX_LICENSE = GPLv2+ (examples), LGPLv2.1+ (library) +LIBUSBGX_LICENSE = GPL-2.0+ (examples), LGPL-2.1+ (library) LIBUSBGX_LICENSE_FILES = COPYING COPYING.LGPL LIBUSBGX_DEPENDENCIES = host-pkgconf libconfig LIBUSBGX_AUTORECONF = YES diff --git a/package/libuv/libuv.hash b/package/libuv/libuv.hash index 9ad1c8a771..748e1d2f0f 100644 --- a/package/libuv/libuv.hash +++ b/package/libuv/libuv.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 6ec7eec6ecc24b1a8ffedebedb2fe9313fffb5410de89aaf784dd01080411c7a libuv-v1.11.0.tar.gz +sha256 fe53b53eee3b15db8ae1b25cbfb8740944273e02f5ccd731b176800e2807d832 libuv-v1.16.0.tar.gz diff --git a/package/libuv/libuv.mk b/package/libuv/libuv.mk index 6f6a1cc9fa..bbb42823b4 100644 --- a/package/libuv/libuv.mk +++ b/package/libuv/libuv.mk @@ -4,12 +4,12 @@ # ################################################################################ -LIBUV_VERSION = v1.11.0 +LIBUV_VERSION = v1.16.0 LIBUV_SITE = $(call github,libuv,libuv,$(LIBUV_VERSION)) LIBUV_DEPENDENCIES = host-pkgconf LIBUV_INSTALL_STAGING = YES LIBUV_AUTORECONF = YES -LIBUV_LICENSE = BSD-2c, BSD-3c, ISC, MIT +LIBUV_LICENSE = BSD-2-Clause, BSD-3-Clause, ISC, MIT LIBUV_LICENSE_FILES = LICENSE # Upstream needs tests to be run sequentially. This is the default in diff --git a/package/libv4l/0004-configure.ac-clarify-configure-summary.patch b/package/libv4l/0004-configure.ac-clarify-configure-summary.patch new file mode 100644 index 0000000000..dc6760082b --- /dev/null +++ b/package/libv4l/0004-configure.ac-clarify-configure-summary.patch @@ -0,0 +1,73 @@ +From 069efd194cf4cb225075440ae58137ea6375fb8b Mon Sep 17 00:00:00 2001 +From: Hans Verkuil +Date: Mon, 15 May 2017 15:13:00 +0200 +Subject: [PATCH] configure.ac: clarify configure summary + +Some of the texts are rather obscure and misleading. Fix those. + +Signed-off-by: Hans Verkuil +Signed-off-by: Hugues Fruchet +--- + configure.ac | 48 ++++++++++++++++++++++++------------------------ + 1 file changed, 24 insertions(+), 24 deletions(-) + +diff --git a/configure.ac b/configure.ac +index e468b3a..3c70969 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -475,28 +475,28 @@ cat < +Date: Wed, 17 May 2017 10:03:09 +0200 +Subject: [PATCH] configure.ac: revisit v4l2-ctl/compliance using libv4l + variable naming + +USE_V4L2_CTL and USE_V4L2_COMPLIANCE are used to trig the fact that +v4l2-ctl and v4l2-compliance are using libv4l2, change namings to not +confuse with overall v4l2-ctl/compliance utilities building. + +Signed-off-by: Hugues Fruchet +Signed-off-by: Hans Verkuil +--- + configure.ac | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 3c70969..5f20fc8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -461,8 +461,8 @@ AM_COND_IF([WITH_QV4L2], [USE_QV4L2="yes"], [USE_QV4L2="no"]) + AM_COND_IF([WITH_V4L_PLUGINS], [USE_V4L_PLUGINS="yes"], [USE_V4L_PLUGINS="no"]) + AM_COND_IF([WITH_V4L_WRAPPERS], [USE_V4L_WRAPPERS="yes"], [USE_V4L_WRAPPERS="no"]) + AM_COND_IF([WITH_GCONV], [USE_GCONV="yes"], [USE_GCONV="no"]) +-AM_COND_IF([WITH_V4L2_CTL_LIBV4L], [USE_V4L2_CTL="yes"], [USE_V4L2_CTL="no"]) +-AM_COND_IF([WITH_V4L2_COMPLIANCE_LIBV4L], [USE_V4L2_COMPLIANCE="yes"], [USE_V4L2_COMPLIANCE="no"]) ++AM_COND_IF([WITH_V4L2_CTL_LIBV4L], [USE_V4L2_CTL_LIBV4L="yes"], [USE_V4L2_CTL_LIBV4L="no"]) ++AM_COND_IF([WITH_V4L2_COMPLIANCE_LIBV4L], [USE_V4L2_COMPLIANCE_LIBV4L="yes"], [USE_V4L2_COMPLIANCE_LIBV4L="no"]) + AS_IF([test "x$alsa_pkgconfig" = "xtrue"], [USE_ALSA="yes"], [USE_ALSA="no"]) + + AC_OUTPUT +@@ -497,6 +497,6 @@ compile time options summary + dvbv5-daemon : $USE_DVBV5_REMOTE + v4lutils : $USE_V4LUTILS + qv4l2 : $USE_QV4L2 +- v4l2-ctl uses libv4l : $USE_V4L2_CTL +- v4l2-compliance uses libv4l: $USE_V4L2_COMPLIANCE ++ v4l2-ctl uses libv4l : $USE_V4L2_CTL_LIBV4L ++ v4l2-compliance uses libv4l: $USE_V4L2_COMPLIANCE_LIBV4L + EOF +-- +1.9.1 + diff --git a/package/libv4l/0006-configure.ac-revisit-disable-libv4l-to-disable-dyn-l.patch b/package/libv4l/0006-configure.ac-revisit-disable-libv4l-to-disable-dyn-l.patch new file mode 100644 index 0000000000..12f5d0d64a --- /dev/null +++ b/package/libv4l/0006-configure.ac-revisit-disable-libv4l-to-disable-dyn-l.patch @@ -0,0 +1,114 @@ +From 73efcd77d17fe92750bf5f76896786ca8e147a9f Mon Sep 17 00:00:00 2001 +From: Hugues Fruchet +Date: Wed, 17 May 2017 10:03:10 +0200 +Subject: [PATCH] configure.ac: revisit --disable-libv4l to + --disable-dyn-libv4l + +--disable-libv4l is not disabling libv4l compilation, but only +dynamic library support of libv4l libraries. + +Signed-off-by: Hugues Fruchet +Signed-off-by: Hans Verkuil +--- + configure.ac | 16 ++++++++-------- + lib/libv4l1/Makefile.am | 2 +- + lib/libv4l2/Makefile.am | 2 +- + lib/libv4l2rds/Makefile.am | 2 +- + lib/libv4lconvert/Makefile.am | 2 +- + 5 files changed, 12 insertions(+), 12 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 5f20fc8..8e536cc 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -371,11 +371,11 @@ AC_ARG_ENABLE(libdvbv5, + esac] + ) + +-AC_ARG_ENABLE(libv4l, +- AS_HELP_STRING([--disable-libv4l], [disable dynamic libv4l compilation]), ++AC_ARG_ENABLE(dyn-libv4l, ++ AS_HELP_STRING([--disable-dyn-libv4l], [disable dynamic libv4l support]), + [case "${enableval}" in + yes | no ) ;; +- *) AC_MSG_ERROR(bad value ${enableval} for --disable-libv4l) ;; ++ *) AC_MSG_ERROR(bad value ${enableval} for --disable-dyn-libv4l) ;; + esac] + ) + +@@ -427,11 +427,11 @@ AC_SEARCH_LIBS([backtrace], [execinfo], [ + AM_CONDITIONAL([WITH_LIBDVBV5], [test x$enable_libdvbv5 != xno -a x$have_libudev = xyes]) + AM_CONDITIONAL([WITH_DVBV5_REMOTE], [test x$enable_libdvbv5 != xno -a x$have_libudev = xyes -a x$have_pthread = xyes]) + +-AM_CONDITIONAL([WITH_LIBV4L], [test x$enable_libv4l != xno]) ++AM_CONDITIONAL([WITH_DYN_LIBV4L], [test x$enable_dyn_libv4l != xno]) + AM_CONDITIONAL([WITH_V4LUTILS], [test x$enable_v4l_utils != xno -a x$linux_os = xyes]) + AM_CONDITIONAL([WITH_QV4L2], [test x${qt_pkgconfig} = xtrue -a x$enable_qv4l2 != xno]) +-AM_CONDITIONAL([WITH_V4L_PLUGINS], [test x$enable_libv4l != xno -a x$enable_shared != xno]) +-AM_CONDITIONAL([WITH_V4L_WRAPPERS], [test x$enable_libv4l != xno -a x$enable_shared != xno]) ++AM_CONDITIONAL([WITH_V4L_PLUGINS], [test x$enable_dyn_libv4l != xno -a x$enable_shared != xno]) ++AM_CONDITIONAL([WITH_V4L_WRAPPERS], [test x$enable_dyn_libv4l != xno -a x$enable_shared != xno]) + AM_CONDITIONAL([WITH_QTGL], [test x${qt_pkgconfig_gl} = xtrue]) + AM_CONDITIONAL([WITH_GCONV], [test x${enable_gconv} = xyes]) + AM_CONDITIONAL([WITH_V4L2_CTL_LIBV4L], [test x${enable_v4l2_ctl_libv4l} != xno]) +@@ -455,7 +455,7 @@ AM_COND_IF([WITH_LIBDVBV5], [USE_LIBDVBV5="yes"], [USE_LIBDVBV5="no"]) + AM_COND_IF([WITH_DVBV5_REMOTE], [USE_DVBV5_REMOTE="yes" + AC_DEFINE([HAVE_DVBV5_REMOTE], [1], [Usage of DVBv5 remote enabled])], + [USE_DVBV5_REMOTE="no"]) +-AM_COND_IF([WITH_LIBV4L], [USE_LIBV4L="yes"], [USE_LIBV4L="no"]) ++AM_COND_IF([WITH_DYN_LIBV4L], [USE_DYN_LIBV4L="yes"], [USE_DYN_LIBV4L="no"]) + AM_COND_IF([WITH_V4LUTILS], [USE_V4LUTILS="yes"], [USE_V4LUTILS="no"]) + AM_COND_IF([WITH_QV4L2], [USE_QV4L2="yes"], [USE_QV4L2="no"]) + AM_COND_IF([WITH_V4L_PLUGINS], [USE_V4L_PLUGINS="yes"], [USE_V4L_PLUGINS="no"]) +@@ -490,7 +490,7 @@ compile time options summary + + gconv : $USE_GCONV + +- dynamic libv4l : $USE_LIBV4L ++ dynamic libv4l : $USE_DYN_LIBV4L + v4l_plugins : $USE_V4L_PLUGINS + v4l_wrappers : $USE_V4L_WRAPPERS + libdvbv5 : $USE_LIBDVBV5 +diff --git a/lib/libv4l1/Makefile.am b/lib/libv4l1/Makefile.am +index f768eaa..42cb3db 100644 +--- a/lib/libv4l1/Makefile.am ++++ b/lib/libv4l1/Makefile.am +@@ -1,4 +1,4 @@ +-if WITH_LIBV4L ++if WITH_DYN_LIBV4L + lib_LTLIBRARIES = libv4l1.la + include_HEADERS = ../include/libv4l1.h ../include/libv4l1-videodev.h + pkgconfig_DATA = libv4l1.pc +diff --git a/lib/libv4l2/Makefile.am b/lib/libv4l2/Makefile.am +index 1314a99..811c45c 100644 +--- a/lib/libv4l2/Makefile.am ++++ b/lib/libv4l2/Makefile.am +@@ -1,4 +1,4 @@ +-if WITH_LIBV4L ++if WITH_DYN_LIBV4L + lib_LTLIBRARIES = libv4l2.la + include_HEADERS = ../include/libv4l2.h ../include/libv4l-plugin.h + pkgconfig_DATA = libv4l2.pc +diff --git a/lib/libv4l2rds/Makefile.am b/lib/libv4l2rds/Makefile.am +index 4f23a3f..73fdd3e 100644 +--- a/lib/libv4l2rds/Makefile.am ++++ b/lib/libv4l2rds/Makefile.am +@@ -1,4 +1,4 @@ +-if WITH_LIBV4L ++if WITH_DYN_LIBV4L + lib_LTLIBRARIES = libv4l2rds.la + include_HEADERS = ../include/libv4l2rds.h + pkgconfig_DATA = libv4l2rds.pc +diff --git a/lib/libv4lconvert/Makefile.am b/lib/libv4lconvert/Makefile.am +index 5c8a1cf..4f332fa 100644 +--- a/lib/libv4lconvert/Makefile.am ++++ b/lib/libv4lconvert/Makefile.am +@@ -1,4 +1,4 @@ +-if WITH_LIBV4L ++if WITH_DYN_LIBV4L + lib_LTLIBRARIES = libv4lconvert.la + libv4lconvertpriv_PROGRAMS = ov511-decomp ov518-decomp + include_HEADERS = ../include/libv4lconvert.h +-- +1.9.1 + diff --git a/package/libv4l/0007-configure.ac-add-disable-libv4l-option.patch b/package/libv4l/0007-configure.ac-add-disable-libv4l-option.patch new file mode 100644 index 0000000000..fed2837f01 --- /dev/null +++ b/package/libv4l/0007-configure.ac-add-disable-libv4l-option.patch @@ -0,0 +1,155 @@ +From 702722a43ee6472993fabdd810272d3599064866 Mon Sep 17 00:00:00 2001 +From: Hugues Fruchet +Date: Wed, 17 May 2017 10:03:11 +0200 +Subject: [PATCH] configure.ac: add --disable-libv4l option + +Add an option to disable libv4l libraries and plugins compilation. +If system is not supporting dynamic shared libraries, this option +is automatically set. +dlopen() is no more a mandatory dependency (warning is kept). +lib/ and contrib/ folders are no more built with this option set +because of libv4l dependency. +utils/ folder is still built with this options set but without +rds-ctl because of its libv4l dependency. +v4l2-compliance and v4l2-ctl are also built but without any links +on libv4l and libv4lconvert libraries. + +Signed-off-by: Hugues Fruchet +Signed-off-by: Hans Verkuil +--- + Makefile.am | 11 +++++++++-- + configure.ac | 12 +++++++++++- + utils/Makefile.am | 6 +++++- + utils/v4l2-compliance/Makefile.am | 4 ++++ + utils/v4l2-ctl/Makefile.am | 4 ++++ + 5 files changed, 33 insertions(+), 4 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index e603472..07c3ef8 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,10 +1,17 @@ + AUTOMAKE_OPTIONS = foreign + ACLOCAL_AMFLAGS = -I m4 + +-SUBDIRS = v4l-utils-po libdvbv5-po lib ++SUBDIRS = v4l-utils-po libdvbv5-po ++ ++if WITH_LIBV4L ++SUBDIRS += lib ++endif + + if WITH_V4LUTILS +-SUBDIRS += utils contrib ++SUBDIRS += utils ++if WITH_LIBV4L ++SUBDIRS += contrib ++endif + endif + + EXTRA_DIST = android-config.h bootstrap.sh doxygen_libdvbv5.cfg include COPYING.libv4l \ +diff --git a/configure.ac b/configure.ac +index 8e536cc..b9fc59a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -285,7 +285,7 @@ dl_saved_libs=$LIBS + AC_SEARCH_LIBS([dlopen], + [dl], + [test "$ac_cv_search_dlopen" = "none required" || DLOPEN_LIBS=$ac_cv_search_dlopen], +- [AC_MSG_ERROR([unable to find the dlopen() function])]) ++ [AC_MSG_WARN([unable to find the dlopen() function])]) + AC_SUBST([DLOPEN_LIBS]) + LIBS=$dl_saved_libs + +@@ -371,6 +371,14 @@ AC_ARG_ENABLE(libdvbv5, + esac] + ) + ++AC_ARG_ENABLE(libv4l, ++ AS_HELP_STRING([--disable-libv4l], [disable libv4l compilation]), ++ [case "${enableval}" in ++ yes | no ) ;; ++ *) AC_MSG_ERROR(bad value ${enableval} for --disable-libv4l) ;; ++ esac] ++) ++ + AC_ARG_ENABLE(dyn-libv4l, + AS_HELP_STRING([--disable-dyn-libv4l], [disable dynamic libv4l support]), + [case "${enableval}" in +@@ -428,6 +436,7 @@ AM_CONDITIONAL([WITH_LIBDVBV5], [test x$enable_libdvbv5 != xno -a x$have_li + AM_CONDITIONAL([WITH_DVBV5_REMOTE], [test x$enable_libdvbv5 != xno -a x$have_libudev = xyes -a x$have_pthread = xyes]) + + AM_CONDITIONAL([WITH_DYN_LIBV4L], [test x$enable_dyn_libv4l != xno]) ++AM_CONDITIONAL([WITH_LIBV4L], [test x$enable_libv4l != xno -a x$enable_shared != xno]) + AM_CONDITIONAL([WITH_V4LUTILS], [test x$enable_v4l_utils != xno -a x$linux_os = xyes]) + AM_CONDITIONAL([WITH_QV4L2], [test x${qt_pkgconfig} = xtrue -a x$enable_qv4l2 != xno]) + AM_CONDITIONAL([WITH_V4L_PLUGINS], [test x$enable_dyn_libv4l != xno -a x$enable_shared != xno]) +@@ -455,6 +464,7 @@ AM_COND_IF([WITH_LIBDVBV5], [USE_LIBDVBV5="yes"], [USE_LIBDVBV5="no"]) + AM_COND_IF([WITH_DVBV5_REMOTE], [USE_DVBV5_REMOTE="yes" + AC_DEFINE([HAVE_DVBV5_REMOTE], [1], [Usage of DVBv5 remote enabled])], + [USE_DVBV5_REMOTE="no"]) ++AM_COND_IF([WITH_LIBV4L], [USE_LIBV4L="yes"], [USE_LIBV4L="no"]) + AM_COND_IF([WITH_DYN_LIBV4L], [USE_DYN_LIBV4L="yes"], [USE_DYN_LIBV4L="no"]) + AM_COND_IF([WITH_V4LUTILS], [USE_V4LUTILS="yes"], [USE_V4LUTILS="no"]) + AM_COND_IF([WITH_QV4L2], [USE_QV4L2="yes"], [USE_QV4L2="no"]) +diff --git a/utils/Makefile.am b/utils/Makefile.am +index d7708cc..ce710c2 100644 +--- a/utils/Makefile.am ++++ b/utils/Makefile.am +@@ -13,8 +13,12 @@ SUBDIRS = \ + v4l2-sysfs-path \ + cec-ctl \ + cec-compliance \ +- cec-follower \ ++ cec-follower ++ ++if WITH_LIBV4L ++SUBDIRS += \ + rds-ctl ++endif + + if WITH_LIBDVBV5 + SUBDIRS += \ +diff --git a/utils/v4l2-compliance/Makefile.am b/utils/v4l2-compliance/Makefile.am +index c2b5919..0240a50 100644 +--- a/utils/v4l2-compliance/Makefile.am ++++ b/utils/v4l2-compliance/Makefile.am +@@ -7,12 +7,16 @@ v4l2_compliance_SOURCES = v4l2-compliance.cpp v4l2-test-debug.cpp v4l2-test-inpu + v4l2-test-codecs.cpp v4l2-test-colors.cpp v4l2-compliance.h + v4l2_compliance_CPPFLAGS = -I../common + ++if WITH_LIBV4L + if WITH_V4L2_COMPLIANCE_LIBV4L + v4l2_compliance_LDADD = ../../lib/libv4l2/libv4l2.la ../../lib/libv4lconvert/libv4lconvert.la -lrt -lpthread + else + v4l2_compliance_LDADD = -lrt -lpthread + DEFS += -DNO_LIBV4L2 + endif ++else ++DEFS += -DNO_LIBV4L2 ++endif + + EXTRA_DIST = Android.mk fixme.txt v4l2-compliance.1 + +diff --git a/utils/v4l2-ctl/Makefile.am b/utils/v4l2-ctl/Makefile.am +index 955647d..4475aed 100644 +--- a/utils/v4l2-ctl/Makefile.am ++++ b/utils/v4l2-ctl/Makefile.am +@@ -9,10 +9,14 @@ v4l2_ctl_SOURCES = v4l2-ctl.cpp v4l2-ctl.h v4l2-ctl-common.cpp v4l2-ctl-tuner.cp + v4l2-tpg-colors.c v4l2-tpg-core.c v4l-stream.c + v4l2_ctl_CPPFLAGS = -I../common + ++if WITH_LIBV4L + if WITH_V4L2_CTL_LIBV4L + v4l2_ctl_LDADD = ../../lib/libv4l2/libv4l2.la ../../lib/libv4lconvert/libv4lconvert.la -lrt -lpthread + else + DEFS += -DNO_LIBV4L2 + endif ++else ++DEFS += -DNO_LIBV4L2 ++endif + + EXTRA_DIST = Android.mk v4l2-ctl.1 +-- +1.9.1 + diff --git a/package/libv4l/0008-configure.ac-fix-build-of-v4l-utils-on-uclinux.patch b/package/libv4l/0008-configure.ac-fix-build-of-v4l-utils-on-uclinux.patch new file mode 100644 index 0000000000..8f57ec9d19 --- /dev/null +++ b/package/libv4l/0008-configure.ac-fix-build-of-v4l-utils-on-uclinux.patch @@ -0,0 +1,30 @@ +From f66141af12fe45af4ef3bba26e8f300fb203203a Mon Sep 17 00:00:00 2001 +From: Hugues Fruchet +Date: Wed, 17 May 2017 10:03:12 +0200 +Subject: [PATCH] configure.ac: fix build of v4l-utils on uclinux + +Build of v4-utils is conditional to "linux_os=yes" which was +not set in case of uclinux, fix this. + +Signed-off-by: Hugues Fruchet +Signed-off-by: Hans Verkuil +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index b9fc59a..8dc676e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -149,7 +149,7 @@ AC_CHECK_FUNCS([__secure_getenv secure_getenv]) + + # Check host os + case "$host_os" in +- linux*) ++ *linux*) + linux_os="yes" + ;; + *freebsd*) +-- +1.9.1 + diff --git a/package/libv4l/0009-configure.ac-add-USE_LIBV4L-to-summary.patch b/package/libv4l/0009-configure.ac-add-USE_LIBV4L-to-summary.patch new file mode 100644 index 0000000000..d9c38e0ab5 --- /dev/null +++ b/package/libv4l/0009-configure.ac-add-USE_LIBV4L-to-summary.patch @@ -0,0 +1,28 @@ +From d92eb36658af05286c5aac7e1cc8a5013f766cb4 Mon Sep 17 00:00:00 2001 +From: Hans Verkuil +Date: Mon, 29 May 2017 07:55:18 +0200 +Subject: [PATCH] configure.ac: add USE_LIBV4L to summary + +This was missing, so add it. + +Signed-off-by: Hans Verkuil +Signed-off-by: Hugues Fruchet +--- + configure.ac | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/configure.ac b/configure.ac +index 8dc676e..9031b42 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -500,6 +500,7 @@ compile time options summary + + gconv : $USE_GCONV + ++ libv4l : $USE_LIBV4L + dynamic libv4l : $USE_DYN_LIBV4L + v4l_plugins : $USE_V4L_PLUGINS + v4l_wrappers : $USE_V4L_WRAPPERS +-- +1.9.1 + diff --git a/package/libv4l/0010-Build-libv4lconvert-helper-support-only-when-fork-is.patch b/package/libv4l/0010-Build-libv4lconvert-helper-support-only-when-fork-is.patch new file mode 100644 index 0000000000..30a8bdef68 --- /dev/null +++ b/package/libv4l/0010-Build-libv4lconvert-helper-support-only-when-fork-is.patch @@ -0,0 +1,102 @@ +From 91e7e4f4765780786e1479d28a70982adea256fc Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 25 Jul 2017 21:04:35 +0200 +Subject: [PATCH] Build libv4lconvert helper support only when fork() is + available + +Upstream: https://git.linuxtv.org/v4l-utils.git/commit/?id=ed6eeee5f7dbc5b1b5b9263ae9281665d3fbe105 + +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 3 +++ + lib/libv4lconvert/Makefile.am | 7 ++++++- + lib/libv4lconvert/libv4lconvert.c | 6 ++++++ + 3 files changed, 15 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index ae8f2e2..72c9421 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -299,6 +299,9 @@ argp_saved_libs=$LIBS + AC_SUBST([ARGP_LIBS]) + LIBS=$argp_saved_libs + ++AC_CHECK_FUNCS([fork], AC_DEFINE([HAVE_LIBV4LCONVERT_HELPERS],[1],[whether to use libv4lconvert helpers])) ++AM_CONDITIONAL([HAVE_LIBV4LCONVERT_HELPERS], [test x$ac_cv_func_fork = xyes]) ++ + AC_CHECK_HEADER([linux/i2c-dev.h], [linux_i2c_dev=yes], [linux_i2c_dev=no]) + AM_CONDITIONAL([HAVE_LINUX_I2C_DEV], [test x$linux_i2c_dev = xyes]) + +diff --git a/lib/libv4lconvert/Makefile.am b/lib/libv4lconvert/Makefile.am +index 4f332fa..f266f3e 100644 +--- a/lib/libv4lconvert/Makefile.am ++++ b/lib/libv4lconvert/Makefile.am +@@ -1,6 +1,8 @@ + if WITH_DYN_LIBV4L + lib_LTLIBRARIES = libv4lconvert.la ++if HAVE_LIBV4LCONVERT_HELPERS + libv4lconvertpriv_PROGRAMS = ov511-decomp ov518-decomp ++endif + include_HEADERS = ../include/libv4lconvert.h + pkgconfig_DATA = libv4lconvert.pc + LIBV4LCONVERT_VERSION = -version-info 0 +@@ -16,11 +18,14 @@ libv4lconvert_la_SOURCES = \ + control/libv4lcontrol.c control/libv4lcontrol.h control/libv4lcontrol-priv.h \ + processing/libv4lprocessing.c processing/whitebalance.c processing/autogain.c \ + processing/gamma.c processing/libv4lprocessing.h processing/libv4lprocessing-priv.h \ +- helper.c helper-funcs.h libv4lconvert-priv.h libv4lsyscall-priv.h \ ++ helper-funcs.h libv4lconvert-priv.h libv4lsyscall-priv.h \ + tinyjpeg.h tinyjpeg-internal.h + if HAVE_JPEG + libv4lconvert_la_SOURCES += jpeg_memsrcdest.c jpeg_memsrcdest.h + endif ++if HAVE_LIBV4LCONVERT_HELPERS ++libv4lconvert_la_SOURCES += helper.c ++endif + libv4lconvert_la_CPPFLAGS = $(CFLAG_VISIBILITY) $(ENFORCE_LIBV4L_STATIC) + libv4lconvert_la_LDFLAGS = $(LIBV4LCONVERT_VERSION) -lrt -lm $(JPEG_LIBS) $(ENFORCE_LIBV4L_STATIC) + +diff --git a/lib/libv4lconvert/libv4lconvert.c b/lib/libv4lconvert/libv4lconvert.c +index d60774e..1a5ccec 100644 +--- a/lib/libv4lconvert/libv4lconvert.c ++++ b/lib/libv4lconvert/libv4lconvert.c +@@ -122,8 +122,10 @@ static const struct v4lconvert_pixfmt supported_src_pixfmts[] = { + { V4L2_PIX_FMT_JPEG, 0, 7, 7, 0 }, + { V4L2_PIX_FMT_PJPG, 0, 7, 7, 1 }, + { V4L2_PIX_FMT_JPGL, 0, 7, 7, 1 }, ++#ifdef HAVE_LIBV4LCONVERT_HELPERS + { V4L2_PIX_FMT_OV511, 0, 7, 7, 1 }, + { V4L2_PIX_FMT_OV518, 0, 7, 7, 1 }, ++#endif + /* uncompressed bayer */ + { V4L2_PIX_FMT_SBGGR8, 8, 8, 8, 0 }, + { V4L2_PIX_FMT_SGBRG8, 8, 8, 8, 0 }, +@@ -278,7 +280,9 @@ void v4lconvert_destroy(struct v4lconvert_data *data) + if (data->cinfo_initialized) + jpeg_destroy_decompress(&data->cinfo); + #endif // HAVE_JPEG ++#ifdef HAVE_LIBV4LCONVERT_HELPERS + v4lconvert_helper_cleanup(data); ++#endif + free(data->convert1_buf); + free(data->convert2_buf); + free(data->rotate90_buf); +@@ -833,6 +837,7 @@ static int v4lconvert_convert_pixfmt(struct v4lconvert_data *data, + return -1; + } + break; ++#ifdef HAVE_LIBV4LCONVERT_HELPERS + case V4L2_PIX_FMT_OV511: + if (v4lconvert_helper_decompress(data, LIBV4LCONVERT_PRIV_DIR "/ov511-decomp", + src, src_size, d, d_size, width, height, yvu)) { +@@ -849,6 +854,7 @@ static int v4lconvert_convert_pixfmt(struct v4lconvert_data *data, + return -1; + } + break; ++#endif + } + + switch (dest_pix_fmt) { +-- +1.9.1 + diff --git a/package/libv4l/0011-configure.ac-drop-disable-libv4l-disable-plugin-supp.patch b/package/libv4l/0011-configure.ac-drop-disable-libv4l-disable-plugin-supp.patch new file mode 100644 index 0000000000..22249197a1 --- /dev/null +++ b/package/libv4l/0011-configure.ac-drop-disable-libv4l-disable-plugin-supp.patch @@ -0,0 +1,217 @@ +From 305ae25455b1f19ad2eda92523bd553fd8bc72fd Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 20 Aug 2017 23:58:44 +0200 +Subject: [PATCH] configure.ac: drop --disable-libv4l, disable plugin support + instead + +In commit 2e604dfbcd09b93f0808cedb2a0b324c5569a599 ("configure.ac: add +--disable-libv4l option"), an option --disable-libv4l was added. As +part of this, libv4l is no longer built at all in static linking +configurations, just because libv4l uses dlopen() for plugin support. + +However, plugin support is only a side feature of libv4l, and one may +need to use libv4l in static configurations, just without plugin +support. + +Therefore, this commit: + + - Essentially reverts 2e604dfbcd09b93f0808cedb2a0b324c5569a599, so + that libv4l can be built in static linking configurations again. + + - Adjusts the compilation of libv4l2 so that the plugin support is + not compiled in when dlopen() in static linking configuration + (dlopen is not available). + +Signed-off-by: Thomas Petazzoni +Submitted-upstream: https://www.mail-archive.com/linux-media@vger.kernel.org/msg117449.html +--- + Makefile.am | 11 ++--------- + configure.ac | 15 +++------------ + lib/libv4l2/Makefile.am | 6 +++++- + lib/libv4l2/libv4l2-priv.h | 14 ++++++++++++++ + utils/Makefile.am | 6 +----- + utils/v4l2-compliance/Makefile.am | 4 ---- + utils/v4l2-ctl/Makefile.am | 4 ---- + 7 files changed, 25 insertions(+), 35 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 07c3ef8..e603472 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,17 +1,10 @@ + AUTOMAKE_OPTIONS = foreign + ACLOCAL_AMFLAGS = -I m4 + +-SUBDIRS = v4l-utils-po libdvbv5-po +- +-if WITH_LIBV4L +-SUBDIRS += lib +-endif ++SUBDIRS = v4l-utils-po libdvbv5-po lib + + if WITH_V4LUTILS +-SUBDIRS += utils +-if WITH_LIBV4L +-SUBDIRS += contrib +-endif ++SUBDIRS += utils contrib + endif + + EXTRA_DIST = android-config.h bootstrap.sh doxygen_libdvbv5.cfg include COPYING.libv4l \ +diff --git a/configure.ac b/configure.ac +index 58fb688..2ecb4a1 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -374,14 +374,6 @@ AC_ARG_ENABLE(libdvbv5, + esac] + ) + +-AC_ARG_ENABLE(libv4l, +- AS_HELP_STRING([--disable-libv4l], [disable libv4l compilation]), +- [case "${enableval}" in +- yes | no ) ;; +- *) AC_MSG_ERROR(bad value ${enableval} for --disable-libv4l) ;; +- esac] +-) +- + AC_ARG_ENABLE(dyn-libv4l, + AS_HELP_STRING([--disable-dyn-libv4l], [disable dynamic libv4l support]), + [case "${enableval}" in +@@ -439,7 +431,6 @@ AM_CONDITIONAL([WITH_LIBDVBV5], [test x$enable_libdvbv5 != xno -a x$have_li + AM_CONDITIONAL([WITH_DVBV5_REMOTE], [test x$enable_libdvbv5 != xno -a x$have_libudev = xyes -a x$have_pthread = xyes]) + + AM_CONDITIONAL([WITH_DYN_LIBV4L], [test x$enable_dyn_libv4l != xno]) +-AM_CONDITIONAL([WITH_LIBV4L], [test x$enable_libv4l != xno -a x$enable_shared != xno]) + AM_CONDITIONAL([WITH_V4LUTILS], [test x$enable_v4l_utils != xno -a x$linux_os = xyes]) + AM_CONDITIONAL([WITH_QV4L2], [test x${qt_pkgconfig} = xtrue -a x$enable_qv4l2 != xno]) + AM_CONDITIONAL([WITH_V4L_PLUGINS], [test x$enable_dyn_libv4l != xno -a x$enable_shared != xno]) +@@ -467,11 +458,12 @@ AM_COND_IF([WITH_LIBDVBV5], [USE_LIBDVBV5="yes"], [USE_LIBDVBV5="no"]) + AM_COND_IF([WITH_DVBV5_REMOTE], [USE_DVBV5_REMOTE="yes" + AC_DEFINE([HAVE_DVBV5_REMOTE], [1], [Usage of DVBv5 remote enabled])], + [USE_DVBV5_REMOTE="no"]) +-AM_COND_IF([WITH_LIBV4L], [USE_LIBV4L="yes"], [USE_LIBV4L="no"]) + AM_COND_IF([WITH_DYN_LIBV4L], [USE_DYN_LIBV4L="yes"], [USE_DYN_LIBV4L="no"]) + AM_COND_IF([WITH_V4LUTILS], [USE_V4LUTILS="yes"], [USE_V4LUTILS="no"]) + AM_COND_IF([WITH_QV4L2], [USE_QV4L2="yes"], [USE_QV4L2="no"]) +-AM_COND_IF([WITH_V4L_PLUGINS], [USE_V4L_PLUGINS="yes"], [USE_V4L_PLUGINS="no"]) ++AM_COND_IF([WITH_V4L_PLUGINS], [USE_V4L_PLUGINS="yes" ++ AC_DEFINE([HAVE_V4L_PLUGINS], [1], [V4L plugin support enabled])], ++ [USE_V4L_PLUGINS="no"]) + AM_COND_IF([WITH_V4L_WRAPPERS], [USE_V4L_WRAPPERS="yes"], [USE_V4L_WRAPPERS="no"]) + AM_COND_IF([WITH_GCONV], [USE_GCONV="yes"], [USE_GCONV="no"]) + AM_COND_IF([WITH_V4L2_CTL_LIBV4L], [USE_V4L2_CTL_LIBV4L="yes"], [USE_V4L2_CTL_LIBV4L="no"]) +@@ -503,7 +495,6 @@ compile time options summary + + gconv : $USE_GCONV + +- libv4l : $USE_LIBV4L + dynamic libv4l : $USE_DYN_LIBV4L + v4l_plugins : $USE_V4L_PLUGINS + v4l_wrappers : $USE_V4L_WRAPPERS +diff --git a/lib/libv4l2/Makefile.am b/lib/libv4l2/Makefile.am +index 811c45c..3a1bb90 100644 +--- a/lib/libv4l2/Makefile.am ++++ b/lib/libv4l2/Makefile.am +@@ -15,7 +15,11 @@ else + noinst_LTLIBRARIES = libv4l2.la + endif + +-libv4l2_la_SOURCES = libv4l2.c v4l2-plugin.c log.c libv4l2-priv.h ++libv4l2_la_SOURCES = libv4l2.c log.c libv4l2-priv.h ++if WITH_V4L_PLUGINS ++libv4l2_la_SOURCES += v4l2-plugin.c ++endif ++ + libv4l2_la_CPPFLAGS = $(CFLAG_VISIBILITY) $(ENFORCE_LIBV4L_STATIC) + libv4l2_la_LDFLAGS = $(LIBV4L2_VERSION) -lpthread $(DLOPEN_LIBS) $(ENFORCE_LIBV4L_STATIC) + libv4l2_la_LIBADD = ../libv4lconvert/libv4lconvert.la +diff --git a/lib/libv4l2/libv4l2-priv.h b/lib/libv4l2/libv4l2-priv.h +index 343db5e..1924c91 100644 +--- a/lib/libv4l2/libv4l2-priv.h ++++ b/lib/libv4l2/libv4l2-priv.h +@@ -107,10 +107,24 @@ struct v4l2_dev_info { + }; + + /* From v4l2-plugin.c */ ++#if defined(HAVE_V4L_PLUGINS) + void v4l2_plugin_init(int fd, void **plugin_lib_ret, void **plugin_priv_ret, + const struct libv4l_dev_ops **dev_ops_ret); + void v4l2_plugin_cleanup(void *plugin_lib, void *plugin_priv, + const struct libv4l_dev_ops *dev_ops); ++#else ++static inline void v4l2_plugin_init(int fd, void **plugin_lib_ret, void **plugin_priv_ret, ++ const struct libv4l_dev_ops **dev_ops_ret) ++{ ++ *dev_ops_ret = v4lconvert_get_default_dev_ops(); ++ *plugin_lib_ret = NULL; ++ *plugin_priv_ret = NULL; ++} ++static inline void v4l2_plugin_cleanup(void *plugin_lib, void *plugin_priv, ++ const struct libv4l_dev_ops *dev_ops) ++{ ++} ++#endif /* WITH_V4L_PLUGINS */ + + /* From log.c */ + extern const char *v4l2_ioctls[]; +diff --git a/utils/Makefile.am b/utils/Makefile.am +index ce710c2..d7708cc 100644 +--- a/utils/Makefile.am ++++ b/utils/Makefile.am +@@ -13,12 +13,8 @@ SUBDIRS = \ + v4l2-sysfs-path \ + cec-ctl \ + cec-compliance \ +- cec-follower +- +-if WITH_LIBV4L +-SUBDIRS += \ ++ cec-follower \ + rds-ctl +-endif + + if WITH_LIBDVBV5 + SUBDIRS += \ +diff --git a/utils/v4l2-compliance/Makefile.am b/utils/v4l2-compliance/Makefile.am +index 0240a50..c2b5919 100644 +--- a/utils/v4l2-compliance/Makefile.am ++++ b/utils/v4l2-compliance/Makefile.am +@@ -7,16 +7,12 @@ v4l2_compliance_SOURCES = v4l2-compliance.cpp v4l2-test-debug.cpp v4l2-test-inpu + v4l2-test-codecs.cpp v4l2-test-colors.cpp v4l2-compliance.h + v4l2_compliance_CPPFLAGS = -I../common + +-if WITH_LIBV4L + if WITH_V4L2_COMPLIANCE_LIBV4L + v4l2_compliance_LDADD = ../../lib/libv4l2/libv4l2.la ../../lib/libv4lconvert/libv4lconvert.la -lrt -lpthread + else + v4l2_compliance_LDADD = -lrt -lpthread + DEFS += -DNO_LIBV4L2 + endif +-else +-DEFS += -DNO_LIBV4L2 +-endif + + EXTRA_DIST = Android.mk fixme.txt v4l2-compliance.1 + +diff --git a/utils/v4l2-ctl/Makefile.am b/utils/v4l2-ctl/Makefile.am +index 4475aed..955647d 100644 +--- a/utils/v4l2-ctl/Makefile.am ++++ b/utils/v4l2-ctl/Makefile.am +@@ -9,14 +9,10 @@ v4l2_ctl_SOURCES = v4l2-ctl.cpp v4l2-ctl.h v4l2-ctl-common.cpp v4l2-ctl-tuner.cp + v4l2-tpg-colors.c v4l2-tpg-core.c v4l-stream.c + v4l2_ctl_CPPFLAGS = -I../common + +-if WITH_LIBV4L + if WITH_V4L2_CTL_LIBV4L + v4l2_ctl_LDADD = ../../lib/libv4l2/libv4l2.la ../../lib/libv4lconvert/libv4lconvert.la -lrt -lpthread + else + DEFS += -DNO_LIBV4L2 + endif +-else +-DEFS += -DNO_LIBV4L2 +-endif + + EXTRA_DIST = Android.mk v4l2-ctl.1 +-- +2.9.4 + diff --git a/package/libv4l/Config.in b/package/libv4l/Config.in index 4da00342a2..57ddde1dfb 100644 --- a/package/libv4l/Config.in +++ b/package/libv4l/Config.in @@ -1,16 +1,15 @@ config BR2_PACKAGE_LIBV4L bool "libv4l" depends on BR2_TOOLCHAIN_HAS_THREADS - depends on BR2_USE_MMU # fork() - depends on !BR2_STATIC_LIBS # dlopen() depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # media headers select BR2_PACKAGE_ARGP_STANDALONE if BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_MUSL select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE help - libv4l is a collection of libraries which adds a thin abstraction - layer on top of video4linux2 devices. libv4l consists of 3 different - libraries: libv4lconvert, libv4l1 and libv4l2. + libv4l is a collection of libraries which adds a thin + abstraction layer on top of video4linux2 devices. libv4l + consists of 3 different libraries: libv4lconvert, libv4l1 and + libv4l2. http://linuxtv.org/wiki/index.php/V4l-utils @@ -21,10 +20,9 @@ comment "libv4l JPEG support not enabled" config BR2_PACKAGE_LIBV4L_UTILS bool "v4l-utils tools" - depends on BR2_ENABLE_LOCALE - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE help - v4l-utils is a collection of various video4linux and DVB utilities. + v4l-utils is a collection of various video4linux and DVB + utilities. Enable this if you want to build the following tools: - cx18-ctl - dvb-fe-tool, dvbv5-zap, dvbv5-scan, dvb-format-convert @@ -37,12 +35,8 @@ config BR2_PACKAGE_LIBV4L_UTILS - rds-ctl - qv4l2 (if Qt is enabled) -comment "libv4l-utils tools need a toolchain w/ locale" - depends on !BR2_ENABLE_LOCALE - endif -comment "libv4l needs a toolchain w/ threads, dynamic library, C++ and headers >= 3.0" - depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS \ +comment "libv4l needs a toolchain w/ threads, C++ and headers >= 3.0" + depends on !BR2_TOOLCHAIN_HAS_THREADS \ || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 diff --git a/package/libv4l/libv4l.hash b/package/libv4l/libv4l.hash index c02fa0aedc..fc7bd1b9af 100644 --- a/package/libv4l/libv4l.hash +++ b/package/libv4l/libv4l.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 ac9f8c88bfffa3a7e85c0edd04f7d3d54e6a30c214e79f2c6ecc6fbf57cb229d v4l-utils-1.12.2.tar.bz2 +sha256 0618162ddb0b57fe7c45407d4d66ed79e3a134cdbc9e72598d34e61d3359e20d v4l-utils-1.12.5.tar.bz2 diff --git a/package/libv4l/libv4l.mk b/package/libv4l/libv4l.mk index 4fec14f384..9b2b417043 100644 --- a/package/libv4l/libv4l.mk +++ b/package/libv4l/libv4l.mk @@ -4,18 +4,31 @@ # ################################################################################ -LIBV4L_VERSION = 1.12.2 +LIBV4L_VERSION = 1.12.5 LIBV4L_SOURCE = v4l-utils-$(LIBV4L_VERSION).tar.bz2 LIBV4L_SITE = http://linuxtv.org/downloads/v4l-utils LIBV4L_INSTALL_STAGING = YES LIBV4L_DEPENDENCIES = host-pkgconf LIBV4L_CONF_OPTS = --disable-doxygen-doc +# below patches requires autoreconf: +# 0004-configure.ac-clarify-configure-summary.patch +# 0005-configure.ac-revisit-v4l2-ctl-compliance-using-libv4.patch +# 0006-configure.ac-revisit-disable-libv4l-to-disable-dyn-l.patch +# 0007-configure.ac-add-disable-libv4l-option.patch +# 0008-configure.ac-fix-build-of-v4l-utils-on-uclinux.patch +# 0009-configure.ac-add-USE_LIBV4L-to-summary.patch +# 0010-Build-libv4lconvert-helper-support-only-when-fork-is.patch +# 0011-configure.ac-drop-disable-libv4l-disable-plugin-supp.patch +LIBV4L_AUTORECONF = YES +# host-gettext needed for autoreconf to work +LIBV4L_DEPENDENCIES += host-gettext + # fix uclibc-ng configure/compile LIBV4L_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' # v4l-utils components have different licences, see v4l-utils.spec for details -LIBV4L_LICENSE = GPLv2+ (utilities), LGPLv2.1+ (libraries) +LIBV4L_LICENSE = GPL-2.0+ (utilities), LGPL-2.1+ (libraries) LIBV4L_LICENSE_FILES = COPYING COPYING.libv4l lib/libv4l1/libv4l1-kernelcode-license.txt ifeq ($(BR2_PACKAGE_ALSA_LIB),y) @@ -41,10 +54,7 @@ LIBV4L_DEPENDENCIES += libgl endif ifeq ($(BR2_PACKAGE_HAS_UDEV),y) -LIBV4L_CONF_OPTS += --with-libudev LIBV4L_DEPENDENCIES += udev -else -LIBV4L_CONF_OPTS += --without-libudev endif ifeq ($(BR2_PACKAGE_LIBGLU),y) @@ -53,19 +63,15 @@ endif ifeq ($(BR2_PACKAGE_LIBV4L_UTILS),y) LIBV4L_CONF_OPTS += --enable-v4l-utils -# clock_gettime is used, which is provided by librt for glibc < 2.17 -LIBV4L_LIBS += -lrt -ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y) -LIBV4L_DEPENDENCIES += gettext -endif +LIBV4L_DEPENDENCIES += $(TARGET_NLS_DEPENDENCIES) ifeq ($(BR2_PACKAGE_QT5BASE)$(BR2_PACKAGE_QT5BASE_GUI)$(BR2_PACKAGE_QT5BASE_WIDGETS),yyy) LIBV4L_CONF_OPTS += --enable-qv4l2 LIBV4L_DEPENDENCIES += qt5base # protect against host version detection of moc-qt5/rcc-qt5/uic-qt5 LIBV4L_CONF_ENV += \ - ac_cv_prog_MOC=$(HOST_DIR)/usr/bin/moc \ - ac_cv_prog_RCC=$(HOST_DIR)/usr/bin/rcc \ - ac_cv_prog_UIC=$(HOST_DIR)/usr/bin/uic + ac_cv_prog_MOC=$(HOST_DIR)/bin/moc \ + ac_cv_prog_RCC=$(HOST_DIR)/bin/rcc \ + ac_cv_prog_UIC=$(HOST_DIR)/bin/uic # qt5 needs c++11 (since qt-5.7) ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) LIBV4L_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" diff --git a/package/libva-intel-driver/Config.in b/package/libva-intel-driver/Config.in index 0f5b656b12..120f152c96 100644 --- a/package/libva-intel-driver/Config.in +++ b/package/libva-intel-driver/Config.in @@ -1,18 +1,18 @@ config BR2_PACKAGE_LIBVA_INTEL_DRIVER bool "libva-intel-driver" + depends on BR2_i386 || BR2_x86_64 + depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm/libpthread-stubs + depends on !BR2_STATIC_LIBS # libva select BR2_PACKAGE_LIBVA select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_LIBDRM_INTEL select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBXFIXES if BR2_PACKAGE_XORG7 - depends on BR2_i386 || BR2_x86_64 - depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm/libpthread-stubs - depends on !BR2_STATIC_LIBS # libva help VA-API back-end driver for Intel graphics chips - https://01.org/linuxgraphics/community/vaapi + https://01.org/linuxmedia/vaapi comment "libva intel driver needs a toolchain w/ threads, dynamic library" depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/libva-intel-driver/libva-intel-driver.hash b/package/libva-intel-driver/libva-intel-driver.hash index 10664d051b..75c1e95712 100644 --- a/package/libva-intel-driver/libva-intel-driver.hash +++ b/package/libva-intel-driver/libva-intel-driver.hash @@ -1,2 +1,4 @@ -# From https://lists.freedesktop.org/archives/libva/2016-November/004731.html -sha1 5100f187afc4e39fce5664b96fe11a38faa9afaa libva-intel-driver-1.7.3.tar.bz2 +# From https://github.com/01org/intel-vaapi-driver/releases +sha1 b0cfc0807993aafe78e209dd28cdceb4dfa57e78 intel-vaapi-driver-1.8.3.tar.bz2 +# Locally computed +sha256 54411d9e579300ed63f8b9b06152a1a9ec95b7699507d7ffa014cd7b2aeaff6f intel-vaapi-driver-1.8.3.tar.bz2 diff --git a/package/libva-intel-driver/libva-intel-driver.mk b/package/libva-intel-driver/libva-intel-driver.mk index 86f6eaa60e..7a064659de 100644 --- a/package/libva-intel-driver/libva-intel-driver.mk +++ b/package/libva-intel-driver/libva-intel-driver.mk @@ -4,13 +4,12 @@ # ################################################################################ -LIBVA_INTEL_DRIVER_VERSION = 1.7.3 -LIBVA_INTEL_DRIVER_SOURCE = libva-intel-driver-$(LIBVA_INTEL_DRIVER_VERSION).tar.bz2 -LIBVA_INTEL_DRIVER_SITE = http://www.freedesktop.org/software/vaapi/releases/libva-intel-driver +LIBVA_INTEL_DRIVER_VERSION = 1.8.3 +LIBVA_INTEL_DRIVER_SOURCE = intel-vaapi-driver-$(LIBVA_INTEL_DRIVER_VERSION).tar.bz2 +LIBVA_INTEL_DRIVER_SITE = \ + https://github.com/01org/intel-vaapi-driver/releases/download/$(LIBVA_INTEL_DRIVER_VERSION) LIBVA_INTEL_DRIVER_LICENSE = MIT LIBVA_INTEL_DRIVER_LICENSE_FILES = COPYING -# needed to work around https://bugs.freedesktop.org/show_bug.cgi?id=79478 -LIBVA_INTEL_DRIVER_AUTORECONF = YES LIBVA_INTEL_DRIVER_DEPENDENCIES = host-pkgconf libdrm libva ifeq ($(BR2_PACKAGE_XORG7),y) diff --git a/package/libva-utils/Config.in b/package/libva-utils/Config.in new file mode 100644 index 0000000000..ad299234c3 --- /dev/null +++ b/package/libva-utils/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_LIBVA_UTILS + bool "libva-utils" + depends on BR2_INSTALL_LIBSTDCPP + depends on !BR2_STATIC_LIBS # libva + depends on BR2_TOOLCHAIN_HAS_THREADS # libva + select BR2_PACKAGE_LIBVA + help + Libva-utils is a collection of tests for VA-API (Video + Acceleration API) + + https://01.org/linuxmedia/vaapi + +comment "libva-utils needs a toolchain w/ C++, threads, dynamic library" + depends on !BR2_INSTALL_LIBSTDCPP || \ + BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libva-utils/libva-utils.hash b/package/libva-utils/libva-utils.hash new file mode 100644 index 0000000000..737b246a01 --- /dev/null +++ b/package/libva-utils/libva-utils.hash @@ -0,0 +1,4 @@ +# From https://github.com/01org/libva-utils/releases +sha1 8684aa2b28fc08bf62b1fa5acf95d23fab5faf9a libva-utils-1.8.3.tar.bz2 +# Locally computed +sha256 c59de4fb6f1021c435b3f49e2410760692324ee5bb464c716d674fcb626a7e03 libva-utils-1.8.3.tar.bz2 diff --git a/package/libva-utils/libva-utils.mk b/package/libva-utils/libva-utils.mk new file mode 100644 index 0000000000..80ab529fb5 --- /dev/null +++ b/package/libva-utils/libva-utils.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# libva-utils +# +################################################################################ + +LIBVA_UTILS_VERSION = 1.8.3 +LIBVA_UTILS_SOURCE = libva-utils-$(LIBVA_UTILS_VERSION).tar.bz2 +LIBVA_UTILS_SITE = https://github.com/01org/libva-utils/releases/download/$(LIBVA_UTILS_VERSION) +LIBVA_UTILS_LICENSE = MIT +LIBVA_UTILS_LICENSE_FILES = COPYING +LIBVA_UTILS_DEPENDENCIES = host-pkgconf libva + +$(eval $(autotools-package)) diff --git a/package/libva/0001-no_test_decode.patch b/package/libva/0001-no_test_decode.patch deleted file mode 100644 index 0f0d786679..0000000000 --- a/package/libva/0001-no_test_decode.patch +++ /dev/null @@ -1,17 +0,0 @@ -mpeg2vldemo is the only file requiring cxx support. It is not needed for -buildroot, so disable its compilation to avoid depending on cxx. - -Signed-off-by: Bernd Kuhls - -diff -uNr libva-1.3.0.org/test/Makefile.am libva-1.3.0/test/Makefile.am ---- libva-1.3.0.org/test/Makefile.am 2014-03-24 05:49:46.000000000 +0100 -+++ libva-1.3.0/test/Makefile.am 2014-04-26 18:12:25.644390292 +0200 -@@ -20,7 +20,7 @@ - # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - --SUBDIRS = common decode encode vainfo -+SUBDIRS = common encode vainfo - - if USE_X11 - SUBDIRS += basic putsurface diff --git a/package/libva/Config.in b/package/libva/Config.in index 467b9d2fa4..08eb16b487 100644 --- a/package/libva/Config.in +++ b/package/libva/Config.in @@ -1,18 +1,19 @@ config BR2_PACKAGE_LIBVA bool "libva" + depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm/libpthread-stubs + depends on !BR2_STATIC_LIBS select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBXFIXES if BR2_PACKAGE_XORG7 - depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm/libpthread-stubs - depends on !BR2_STATIC_LIBS help - The main motivation for VA-API (Video Acceleration API) is to enable - hardware accelerated video decode/encode at various entry-points (VLD, - IDCT, Motion Compensation etc.) for the prevailing coding standards - today (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3). + The main motivation for VA-API (Video Acceleration API) is to + enable hardware accelerated video decode/encode at various + entry-points (VLD, IDCT, Motion Compensation etc.) for the + prevailing coding standards today (MPEG-2, MPEG-4 ASP/H.263, + MPEG-4 AVC/H.264, and VC-1/VMW3). - http://www.freedesktop.org/wiki/Software/vaapi/ + https://01.org/linuxmedia/vaapi comment "libva needs a toolchain w/ threads, dynamic library" depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/libva/libva.hash b/package/libva/libva.hash index e63f4dbd83..232adeeeeb 100644 --- a/package/libva/libva.hash +++ b/package/libva/libva.hash @@ -1,2 +1,4 @@ -# From https://lists.freedesktop.org/archives/libva/2016-November/004730.html -sha1 18e46f3d5a0e971eb0ec9fe14bc021e69eb13fb8 libva-1.7.3.tar.bz2 +# From https://github.com/01org/libva/releases +sha1 8eee9e28b0ae3bfbe8cd44a91396207714967204 libva-1.8.3.tar.bz2 +# Locally computed +sha256 56ee129deba99b06eb4a8d4f746b117c5d1dc2ec5b7a0bfc06971fca1598ab9b libva-1.8.3.tar.bz2 diff --git a/package/libva/libva.mk b/package/libva/libva.mk index cf42b70e84..61e31801be 100644 --- a/package/libva/libva.mk +++ b/package/libva/libva.mk @@ -4,19 +4,17 @@ # ################################################################################ -LIBVA_VERSION = 1.7.3 +LIBVA_VERSION = 1.8.3 LIBVA_SOURCE = libva-$(LIBVA_VERSION).tar.bz2 -LIBVA_SITE = http://www.freedesktop.org/software/vaapi/releases/libva +LIBVA_SITE = https://github.com/01org/libva/releases/download/$(LIBVA_VERSION) LIBVA_LICENSE = MIT LIBVA_LICENSE_FILES = COPYING -LIBVA_AUTORECONF = YES LIBVA_INSTALL_STAGING = YES LIBVA_DEPENDENCIES = host-pkgconf libdrm # libdrm is a hard-dependency LIBVA_CONF_OPTS = \ --enable-drm \ - --disable-dummy-driver \ --with-drivers-path="/usr/lib/va" ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),y) @@ -47,10 +45,4 @@ else LIBVA_CONF_OPTS += --disable-egl endif -# Autoreconf requires an m4 directory to exist -define LIBVA_PATCH_M4 - mkdir -p $(@D)/m4 -endef -LIBVA_POST_PATCH_HOOKS += LIBVA_PATCH_M4 - $(eval $(autotools-package)) diff --git a/package/libvdpau/0001-missing-configh-include.patch b/package/libvdpau/0001-missing-configh-include.patch old mode 100755 new mode 100644 diff --git a/package/libvdpau/0002-link-with-libx11.patch b/package/libvdpau/0002-link-with-libx11.patch old mode 100755 new mode 100644 diff --git a/package/libvdpau/0003-vdpau-module-searchpath.patch b/package/libvdpau/0003-vdpau-module-searchpath.patch old mode 100755 new mode 100644 diff --git a/package/libvdpau/Config.in b/package/libvdpau/Config.in old mode 100755 new mode 100644 diff --git a/package/libvdpau/libvdpau.hash b/package/libvdpau/libvdpau.hash old mode 100755 new mode 100644 diff --git a/package/libvdpau/libvdpau.mk b/package/libvdpau/libvdpau.mk old mode 100755 new mode 100644 diff --git a/package/libvips/Config.in b/package/libvips/Config.in index 87ada513d6..e16e5277c0 100644 --- a/package/libvips/Config.in +++ b/package/libvips/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_LIBVIPS bool "libvips" - depends on BR2_USE_WCHAR # gettext, libglib2 + depends on BR2_USE_WCHAR # libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_USE_MMU # fork() # C++ support is required to build libvips @@ -8,7 +8,6 @@ config BR2_PACKAGE_LIBVIPS depends on BR2_INSTALL_LIBSTDCPP select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_LIBXML2 - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE help libvips is a 2D image processing library. Compared to similar libraries, libvips runs quickly and uses little diff --git a/package/libvips/libvips.mk b/package/libvips/libvips.mk index 5f80b2d64c..8078e046d1 100644 --- a/package/libvips/libvips.mk +++ b/package/libvips/libvips.mk @@ -8,7 +8,7 @@ LIBVIPS_VERSION_MAJOR = 7.42 LIBVIPS_VERSION = $(LIBVIPS_VERSION_MAJOR).2 LIBVIPS_SOURCE = vips-$(LIBVIPS_VERSION).tar.gz LIBVIPS_SITE = http://www.vips.ecs.soton.ac.uk/supported/$(LIBVIPS_VERSION_MAJOR) -LIBVIPS_LICENSE = LGPLv2.1+ +LIBVIPS_LICENSE = LGPL-2.1+ LIBVIPS_LICENSE_FILES = COPYING # We're patching gtk-doc.make, so need to autoreconf LIBVIPS_AUTORECONF = YES @@ -41,7 +41,7 @@ LIBVIPS_CONF_OPTS = \ LIBVIPS_INSTALL_STAGING = YES LIBVIPS_DEPENDENCIES = \ host-pkgconf libglib2 \ - libxml2 $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) + libxml2 $(TARGET_NLS_DEPENDENCIES) # --disable-cxx is broken upstream # https://github.com/jcupitt/libvips/issues/231 diff --git a/package/libvncserver/libvncserver.mk b/package/libvncserver/libvncserver.mk index d3f0657a5d..8063570d98 100644 --- a/package/libvncserver/libvncserver.mk +++ b/package/libvncserver/libvncserver.mk @@ -7,7 +7,7 @@ LIBVNCSERVER_VERSION = 0.9.11 LIBVNCSERVER_SOURCE = LibVNCServer-$(LIBVNCSERVER_VERSION).tar.gz LIBVNCSERVER_SITE = https://github.com/LibVNC/libvncserver/archive -LIBVNCSERVER_LICENSE = GPLv2+ +LIBVNCSERVER_LICENSE = GPL-2.0+ LIBVNCSERVER_LICENSE_FILES = COPYING LIBVNCSERVER_INSTALL_STAGING = YES LIBVNCSERVER_CONFIG_SCRIPTS = libvncserver-config diff --git a/package/libvorbis/Config.in b/package/libvorbis/Config.in index e322dd256d..3d5b5d6d61 100644 --- a/package/libvorbis/Config.in +++ b/package/libvorbis/Config.in @@ -3,12 +3,13 @@ config BR2_PACKAGE_LIBVORBIS select BR2_PACKAGE_LIBOGG help Library for the Vorbis open source audio decoder - Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, - general-purpose compressed audio format for mid to high quality - (8kHz-48.0kHz, 16+ bit, polyphonic) audio and music at fixed and - variable bitrates from 16 to 128 kbps/channel. + Ogg Vorbis is a fully open, non-proprietary, + patent-and-royalty-free, general-purpose compressed audio + format for mid to high quality (8kHz-48.0kHz, 16+ bit, + polyphonic) audio and music at fixed and variable bitrates + from 16 to 128 kbps/channel. This places Vorbis in the same competitive class as audio - representations such as MPEG-4 (AAC), and similar to, but higher - performance than MPEG-1/2 audio layer 3, MPEG-4 audio (TwinVQ), - WMA and PAC. + representations such as MPEG-4 (AAC), and similar to, but + higher performance than MPEG-1/2 audio layer 3, MPEG-4 audio + (TwinVQ), WMA and PAC. diff --git a/package/libvorbis/libvorbis.mk b/package/libvorbis/libvorbis.mk index f1b710c8c8..98ec97bfd6 100644 --- a/package/libvorbis/libvorbis.mk +++ b/package/libvorbis/libvorbis.mk @@ -10,7 +10,7 @@ LIBVORBIS_SITE = http://downloads.xiph.org/releases/vorbis LIBVORBIS_INSTALL_STAGING = YES LIBVORBIS_CONF_OPTS = --disable-oggtest LIBVORBIS_DEPENDENCIES = host-pkgconf libogg -LIBVORBIS_LICENSE = BSD-3c +LIBVORBIS_LICENSE = BSD-3-Clause LIBVORBIS_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/libvpx/0001-vpx_mem-vpx_mem.h-Fix-compilation-with-uClibc.patch b/package/libvpx/0001-vpx_mem-vpx_mem.h-Fix-compilation-with-uClibc.patch index 20f08c905a..e17ff71717 100644 --- a/package/libvpx/0001-vpx_mem-vpx_mem.h-Fix-compilation-with-uClibc.patch +++ b/package/libvpx/0001-vpx_mem-vpx_mem.h-Fix-compilation-with-uClibc.patch @@ -20,7 +20,7 @@ index c14f288..82df745 100644 #include "vpx_config.h" -#if defined(__uClinux__) --# include +-#include -#endif #include diff --git a/package/libvpx/libvpx.hash b/package/libvpx/libvpx.hash index f0240d69ec..95ff3a8082 100644 --- a/package/libvpx/libvpx.hash +++ b/package/libvpx/libvpx.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 d0afbb5eb1ecae68f8d578abace160a97e2e8a230e3028cf4db115d59a695aad libvpx-1.6.0.tar.bz2 +sha256 1c2c0c2a97fba9474943be34ee39337dee756780fc12870ba1dc68372586a819 libvpx-1.6.1.tar.bz2 diff --git a/package/libvpx/libvpx.mk b/package/libvpx/libvpx.mk index 4ad5522498..24c39032e4 100644 --- a/package/libvpx/libvpx.mk +++ b/package/libvpx/libvpx.mk @@ -4,10 +4,10 @@ # ################################################################################ -LIBVPX_VERSION = 1.6.0 +LIBVPX_VERSION = 1.6.1 LIBVPX_SOURCE = libvpx-$(LIBVPX_VERSION).tar.bz2 LIBVPX_SITE = http://storage.googleapis.com/downloads.webmproject.org/releases/webm -LIBVPX_LICENSE = BSD-3c +LIBVPX_LICENSE = BSD-3-Clause LIBVPX_LICENSE_FILES = LICENSE PATENTS LIBVPX_INSTALL_STAGING = YES diff --git a/package/libwebsock/Config.in b/package/libwebsock/Config.in index 9ef21362a1..14651cf4b4 100644 --- a/package/libwebsock/Config.in +++ b/package/libwebsock/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_LIBWEBSOCK bool "libwebsock" - select BR2_PACKAGE_LIBEVENT depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_LIBEVENT help C library for easy WebSockets servers. diff --git a/package/libwebsock/libwebsock.mk b/package/libwebsock/libwebsock.mk index b52293b21e..df3af3b059 100644 --- a/package/libwebsock/libwebsock.mk +++ b/package/libwebsock/libwebsock.mk @@ -9,7 +9,7 @@ LIBWEBSOCK_SITE = $(call github,payden,libwebsock,$(LIBWEBSOCK_VERSION)) LIBWEBSOCK_DEPENDENCIES = libevent host-pkgconf LIBWEBSOCK_AUTORECONF = YES LIBWEBSOCK_INSTALL_STAGING = YES -LIBWEBSOCK_LICENSE = LGPLv3 +LIBWEBSOCK_LICENSE = LGPL-3.0 LIBWEBSOCK_LICENSE_FILES = COPYING.lesser ifeq ($(BR2_PACKAGE_OPENSSL),y) diff --git a/package/libwebsockets/libwebsockets.hash b/package/libwebsockets/libwebsockets.hash index cbd1101d75..490139746f 100644 --- a/package/libwebsockets/libwebsockets.hash +++ b/package/libwebsockets/libwebsockets.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 bcc96aaa609daae4d3f7ab1ee480126709ef4f6a8bf9c85de40aae48e38cce66 libwebsockets-v2.1.0.tar.gz +sha256 e7f9eaef258e003c9ada0803a9a5636757a5bc0a58927858834fb38a87d18ad2 libwebsockets-v2.2.1.tar.gz diff --git a/package/libwebsockets/libwebsockets.mk b/package/libwebsockets/libwebsockets.mk index bf46291ad4..b29a2f14c7 100644 --- a/package/libwebsockets/libwebsockets.mk +++ b/package/libwebsockets/libwebsockets.mk @@ -4,9 +4,9 @@ # ################################################################################ -LIBWEBSOCKETS_VERSION = v2.1.0 +LIBWEBSOCKETS_VERSION = v2.2.1 LIBWEBSOCKETS_SITE = $(call github,warmcat,libwebsockets,$(LIBWEBSOCKETS_VERSION)) -LIBWEBSOCKETS_LICENSE = LGPLv2.1 with exceptions +LIBWEBSOCKETS_LICENSE = LGPL-2.1 with exceptions LIBWEBSOCKETS_LICENSE_FILES = LICENSE LIBWEBSOCKETS_DEPENDENCIES = zlib LIBWEBSOCKETS_INSTALL_STAGING = YES diff --git a/package/libxkbcommon/libxkbcommon.mk b/package/libxkbcommon/libxkbcommon.mk index c39a7c0c55..601181446d 100644 --- a/package/libxkbcommon/libxkbcommon.mk +++ b/package/libxkbcommon/libxkbcommon.mk @@ -11,6 +11,7 @@ LIBXKBCOMMON_LICENSE = MIT/X11 LIBXKBCOMMON_LICENSE_FILES = LICENSE LIBXKBCOMMON_INSTALL_STAGING = YES LIBXKBCOMMON_DEPENDENCIES = host-bison host-flex +LIBXKBCOMMON_CONF_OPTS = --disable-wayland # uses C99 features LIBXKBCOMMON_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -std=gnu99" diff --git a/package/libxml-parser-perl/libxml-parser-perl.mk b/package/libxml-parser-perl/libxml-parser-perl.mk index e512815e3f..514c457d5a 100644 --- a/package/libxml-parser-perl/libxml-parser-perl.mk +++ b/package/libxml-parser-perl/libxml-parser-perl.mk @@ -8,18 +8,19 @@ LIBXML_PARSER_PERL_VERSION = 2.44 LIBXML_PARSER_PERL_SOURCE = XML-Parser-$(LIBXML_PARSER_PERL_VERSION).tar.gz LIBXML_PARSER_PERL_SITE = $(BR2_CPAN_MIRROR)/authors/id/T/TO/TODDR HOST_LIBXML_PARSER_PERL_DEPENDENCIES = host-expat -LIBXML_PARSER_PERL_LICENSE = Artistic or GPLv1+ +LIBXML_PARSER_PERL_LICENSE = Artistic or GPL-1.0+ +LIBXML_PARSER_PERL_LICENSE_FILES = README LIBXML_PARSER_PERL_RUN_PERL = `which perl` define HOST_LIBXML_PARSER_PERL_CONFIGURE_CMDS (cd $(@D) ; \ $(HOST_CONFIGURE_OPTS) $(LIBXML_PARSER_PERL_RUN_PERL) Makefile.PL \ - PREFIX=$(HOST_DIR)/usr \ - EXPATLIBPATH=$(HOST_DIR)/usr/lib \ - EXPATINCPATH=$(HOST_DIR)/usr/include \ + PREFIX=$(HOST_DIR) \ + EXPATLIBPATH=$(HOST_DIR)/lib \ + EXPATINCPATH=$(HOST_DIR)/include \ INSTALLDIRS=site \ - INSTALLSITELIB=$(HOST_DIR)/usr/lib/perl \ - INSTALLSITEARCH=$(HOST_DIR)/usr/lib/perl \ + INSTALLSITELIB=$(HOST_DIR)/lib/perl \ + INSTALLSITEARCH=$(HOST_DIR)/lib/perl \ ) endef diff --git a/package/libxml2/0001-Fix-XPointer-paths-beginning-with-range-to.patch b/package/libxml2/0001-Fix-XPointer-paths-beginning-with-range-to.patch deleted file mode 100644 index 42570c6350..0000000000 --- a/package/libxml2/0001-Fix-XPointer-paths-beginning-with-range-to.patch +++ /dev/null @@ -1,178 +0,0 @@ -From 9ab01a277d71f54d3143c2cf333c5c2e9aaedd9e Mon Sep 17 00:00:00 2001 -From: Nick Wellnhofer -Date: Tue, 28 Jun 2016 14:22:23 +0200 -Subject: [PATCH] Fix XPointer paths beginning with range-to - -The old code would invoke the broken xmlXPtrRangeToFunction. range-to -isn't really a function but a special kind of location step. Remove -this function and always handle range-to in the XPath code. - -The old xmlXPtrRangeToFunction could also be abused to trigger a -use-after-free error with the potential for remote code execution. - -Found with afl-fuzz. - -Fixes CVE-2016-5131. - -Signed-off-by: Baruch Siach ---- -Patch status: upstream commit 9ab01a277d7 - - result/XPath/xptr/vidbase | 13 ++++++++ - test/XPath/xptr/vidbase | 1 + - xpath.c | 7 ++++- - xpointer.c | 76 ++++------------------------------------------- - 4 files changed, 26 insertions(+), 71 deletions(-) - -diff --git a/result/XPath/xptr/vidbase b/result/XPath/xptr/vidbase -index 8b9e92d66d97..f19193e70edb 100644 ---- a/result/XPath/xptr/vidbase -+++ b/result/XPath/xptr/vidbase -@@ -17,3 +17,16 @@ Object is a Location Set: - To node - ELEMENT p - -+ -+======================== -+Expression: xpointer(range-to(id('chapter2'))) -+Object is a Location Set: -+1 : Object is a range : -+ From node -+ / -+ To node -+ ELEMENT chapter -+ ATTRIBUTE id -+ TEXT -+ content=chapter2 -+ -diff --git a/test/XPath/xptr/vidbase b/test/XPath/xptr/vidbase -index b1463830570a..884b1065d7fd 100644 ---- a/test/XPath/xptr/vidbase -+++ b/test/XPath/xptr/vidbase -@@ -1,2 +1,3 @@ - xpointer(id('chapter1')/p) - xpointer(id('chapter1')/p[1]/range-to(following-sibling::p[2])) -+xpointer(range-to(id('chapter2'))) -diff --git a/xpath.c b/xpath.c -index d992841ef0c2..5a01b1b399a2 100644 ---- a/xpath.c -+++ b/xpath.c -@@ -10691,13 +10691,18 @@ xmlXPathCompPathExpr(xmlXPathParserContextPtr ctxt) { - lc = 1; - break; - } else if ((NXT(len) == '(')) { -- /* Note Type or Function */ -+ /* Node Type or Function */ - if (xmlXPathIsNodeType(name)) { - #ifdef DEBUG_STEP - xmlGenericError(xmlGenericErrorContext, - "PathExpr: Type search\n"); - #endif - lc = 1; -+#ifdef LIBXML_XPTR_ENABLED -+ } else if (ctxt->xptr && -+ xmlStrEqual(name, BAD_CAST "range-to")) { -+ lc = 1; -+#endif - } else { - #ifdef DEBUG_STEP - xmlGenericError(xmlGenericErrorContext, -diff --git a/xpointer.c b/xpointer.c -index 676c5105837a..d74174a318f1 100644 ---- a/xpointer.c -+++ b/xpointer.c -@@ -1332,8 +1332,6 @@ xmlXPtrNewContext(xmlDocPtr doc, xmlNodePtr here, xmlNodePtr origin) { - ret->here = here; - ret->origin = origin; - -- xmlXPathRegisterFunc(ret, (xmlChar *)"range-to", -- xmlXPtrRangeToFunction); - xmlXPathRegisterFunc(ret, (xmlChar *)"range", - xmlXPtrRangeFunction); - xmlXPathRegisterFunc(ret, (xmlChar *)"range-inside", -@@ -2243,76 +2241,14 @@ xmlXPtrRangeInsideFunction(xmlXPathParserContextPtr ctxt, int nargs) { - * @nargs: the number of args - * - * Implement the range-to() XPointer function -+ * -+ * Obsolete. range-to is not a real function but a special type of location -+ * step which is handled in xpath.c. - */ - void --xmlXPtrRangeToFunction(xmlXPathParserContextPtr ctxt, int nargs) { -- xmlXPathObjectPtr range; -- const xmlChar *cur; -- xmlXPathObjectPtr res, obj; -- xmlXPathObjectPtr tmp; -- xmlLocationSetPtr newset = NULL; -- xmlNodeSetPtr oldset; -- int i; -- -- if (ctxt == NULL) return; -- CHECK_ARITY(1); -- /* -- * Save the expression pointer since we will have to evaluate -- * it multiple times. Initialize the new set. -- */ -- CHECK_TYPE(XPATH_NODESET); -- obj = valuePop(ctxt); -- oldset = obj->nodesetval; -- ctxt->context->node = NULL; -- -- cur = ctxt->cur; -- newset = xmlXPtrLocationSetCreate(NULL); -- -- for (i = 0; i < oldset->nodeNr; i++) { -- ctxt->cur = cur; -- -- /* -- * Run the evaluation with a node list made of a single item -- * in the nodeset. -- */ -- ctxt->context->node = oldset->nodeTab[i]; -- tmp = xmlXPathNewNodeSet(ctxt->context->node); -- valuePush(ctxt, tmp); -- -- xmlXPathEvalExpr(ctxt); -- CHECK_ERROR; -- -- /* -- * The result of the evaluation need to be tested to -- * decided whether the filter succeeded or not -- */ -- res = valuePop(ctxt); -- range = xmlXPtrNewRangeNodeObject(oldset->nodeTab[i], res); -- if (range != NULL) { -- xmlXPtrLocationSetAdd(newset, range); -- } -- -- /* -- * Cleanup -- */ -- if (res != NULL) -- xmlXPathFreeObject(res); -- if (ctxt->value == tmp) { -- res = valuePop(ctxt); -- xmlXPathFreeObject(res); -- } -- -- ctxt->context->node = NULL; -- } -- -- /* -- * The result is used as the new evaluation set. -- */ -- xmlXPathFreeObject(obj); -- ctxt->context->node = NULL; -- ctxt->context->contextSize = -1; -- ctxt->context->proximityPosition = -1; -- valuePush(ctxt, xmlXPtrWrapLocationSet(newset)); -+xmlXPtrRangeToFunction(xmlXPathParserContextPtr ctxt, -+ int nargs ATTRIBUTE_UNUSED) { -+ XP_ERROR(XPATH_EXPR_ERROR); - } - - /** --- -2.10.2 - diff --git a/package/libxml2/0002-Disallow-namespace-nodes-in-XPointer-ranges.patch b/package/libxml2/0002-Disallow-namespace-nodes-in-XPointer-ranges.patch deleted file mode 100644 index 45c1a07ca4..0000000000 --- a/package/libxml2/0002-Disallow-namespace-nodes-in-XPointer-ranges.patch +++ /dev/null @@ -1,253 +0,0 @@ -From c1d1f7121194036608bf555f08d3062a36fd344b Mon Sep 17 00:00:00 2001 -From: Nick Wellnhofer -Date: Tue, 28 Jun 2016 18:34:52 +0200 -Subject: [PATCH] Disallow namespace nodes in XPointer ranges - -Namespace nodes must be copied to avoid use-after-free errors. -But they don't necessarily have a physical representation in a -document, so simply disallow them in XPointer ranges. - -Found with afl-fuzz. - -Fixes CVE-2016-4658. - -Signed-off-by: Baruch Siach ---- -Patch status: upstream commit c1d1f712119403 - - xpointer.c | 149 +++++++++++++++++++++++-------------------------------------- - 1 file changed, 56 insertions(+), 93 deletions(-) - -diff --git a/xpointer.c b/xpointer.c -index a7b03fbdae16..694d120e2e0b 100644 ---- a/xpointer.c -+++ b/xpointer.c -@@ -320,6 +320,45 @@ xmlXPtrRangesEqual(xmlXPathObjectPtr range1, xmlXPathObjectPtr range2) { - } - - /** -+ * xmlXPtrNewRangeInternal: -+ * @start: the starting node -+ * @startindex: the start index -+ * @end: the ending point -+ * @endindex: the ending index -+ * -+ * Internal function to create a new xmlXPathObjectPtr of type range -+ * -+ * Returns the newly created object. -+ */ -+static xmlXPathObjectPtr -+xmlXPtrNewRangeInternal(xmlNodePtr start, int startindex, -+ xmlNodePtr end, int endindex) { -+ xmlXPathObjectPtr ret; -+ -+ /* -+ * Namespace nodes must be copied (see xmlXPathNodeSetDupNs). -+ * Disallow them for now. -+ */ -+ if ((start != NULL) && (start->type == XML_NAMESPACE_DECL)) -+ return(NULL); -+ if ((end != NULL) && (end->type == XML_NAMESPACE_DECL)) -+ return(NULL); -+ -+ ret = (xmlXPathObjectPtr) xmlMalloc(sizeof(xmlXPathObject)); -+ if (ret == NULL) { -+ xmlXPtrErrMemory("allocating range"); -+ return(NULL); -+ } -+ memset(ret, 0, sizeof(xmlXPathObject)); -+ ret->type = XPATH_RANGE; -+ ret->user = start; -+ ret->index = startindex; -+ ret->user2 = end; -+ ret->index2 = endindex; -+ return(ret); -+} -+ -+/** - * xmlXPtrNewRange: - * @start: the starting node - * @startindex: the start index -@@ -344,17 +383,7 @@ xmlXPtrNewRange(xmlNodePtr start, int startindex, - if (endindex < 0) - return(NULL); - -- ret = (xmlXPathObjectPtr) xmlMalloc(sizeof(xmlXPathObject)); -- if (ret == NULL) { -- xmlXPtrErrMemory("allocating range"); -- return(NULL); -- } -- memset(ret, 0 , (size_t) sizeof(xmlXPathObject)); -- ret->type = XPATH_RANGE; -- ret->user = start; -- ret->index = startindex; -- ret->user2 = end; -- ret->index2 = endindex; -+ ret = xmlXPtrNewRangeInternal(start, startindex, end, endindex); - xmlXPtrRangeCheckOrder(ret); - return(ret); - } -@@ -381,17 +410,8 @@ xmlXPtrNewRangePoints(xmlXPathObjectPtr start, xmlXPathObjectPtr end) { - if (end->type != XPATH_POINT) - return(NULL); - -- ret = (xmlXPathObjectPtr) xmlMalloc(sizeof(xmlXPathObject)); -- if (ret == NULL) { -- xmlXPtrErrMemory("allocating range"); -- return(NULL); -- } -- memset(ret, 0 , (size_t) sizeof(xmlXPathObject)); -- ret->type = XPATH_RANGE; -- ret->user = start->user; -- ret->index = start->index; -- ret->user2 = end->user; -- ret->index2 = end->index; -+ ret = xmlXPtrNewRangeInternal(start->user, start->index, end->user, -+ end->index); - xmlXPtrRangeCheckOrder(ret); - return(ret); - } -@@ -416,17 +436,7 @@ xmlXPtrNewRangePointNode(xmlXPathObjectPtr start, xmlNodePtr end) { - if (start->type != XPATH_POINT) - return(NULL); - -- ret = (xmlXPathObjectPtr) xmlMalloc(sizeof(xmlXPathObject)); -- if (ret == NULL) { -- xmlXPtrErrMemory("allocating range"); -- return(NULL); -- } -- memset(ret, 0 , (size_t) sizeof(xmlXPathObject)); -- ret->type = XPATH_RANGE; -- ret->user = start->user; -- ret->index = start->index; -- ret->user2 = end; -- ret->index2 = -1; -+ ret = xmlXPtrNewRangeInternal(start->user, start->index, end, -1); - xmlXPtrRangeCheckOrder(ret); - return(ret); - } -@@ -453,17 +463,7 @@ xmlXPtrNewRangeNodePoint(xmlNodePtr start, xmlXPathObjectPtr end) { - if (end->type != XPATH_POINT) - return(NULL); - -- ret = (xmlXPathObjectPtr) xmlMalloc(sizeof(xmlXPathObject)); -- if (ret == NULL) { -- xmlXPtrErrMemory("allocating range"); -- return(NULL); -- } -- memset(ret, 0 , (size_t) sizeof(xmlXPathObject)); -- ret->type = XPATH_RANGE; -- ret->user = start; -- ret->index = -1; -- ret->user2 = end->user; -- ret->index2 = end->index; -+ ret = xmlXPtrNewRangeInternal(start, -1, end->user, end->index); - xmlXPtrRangeCheckOrder(ret); - return(ret); - } -@@ -486,17 +486,7 @@ xmlXPtrNewRangeNodes(xmlNodePtr start, xmlNodePtr end) { - if (end == NULL) - return(NULL); - -- ret = (xmlXPathObjectPtr) xmlMalloc(sizeof(xmlXPathObject)); -- if (ret == NULL) { -- xmlXPtrErrMemory("allocating range"); -- return(NULL); -- } -- memset(ret, 0 , (size_t) sizeof(xmlXPathObject)); -- ret->type = XPATH_RANGE; -- ret->user = start; -- ret->index = -1; -- ret->user2 = end; -- ret->index2 = -1; -+ ret = xmlXPtrNewRangeInternal(start, -1, end, -1); - xmlXPtrRangeCheckOrder(ret); - return(ret); - } -@@ -516,17 +506,7 @@ xmlXPtrNewCollapsedRange(xmlNodePtr start) { - if (start == NULL) - return(NULL); - -- ret = (xmlXPathObjectPtr) xmlMalloc(sizeof(xmlXPathObject)); -- if (ret == NULL) { -- xmlXPtrErrMemory("allocating range"); -- return(NULL); -- } -- memset(ret, 0 , (size_t) sizeof(xmlXPathObject)); -- ret->type = XPATH_RANGE; -- ret->user = start; -- ret->index = -1; -- ret->user2 = NULL; -- ret->index2 = -1; -+ ret = xmlXPtrNewRangeInternal(start, -1, NULL, -1); - return(ret); - } - -@@ -541,6 +521,8 @@ xmlXPtrNewCollapsedRange(xmlNodePtr start) { - */ - xmlXPathObjectPtr - xmlXPtrNewRangeNodeObject(xmlNodePtr start, xmlXPathObjectPtr end) { -+ xmlNodePtr endNode; -+ int endIndex; - xmlXPathObjectPtr ret; - - if (start == NULL) -@@ -549,7 +531,12 @@ xmlXPtrNewRangeNodeObject(xmlNodePtr start, xmlXPathObjectPtr end) { - return(NULL); - switch (end->type) { - case XPATH_POINT: -+ endNode = end->user; -+ endIndex = end->index; -+ break; - case XPATH_RANGE: -+ endNode = end->user2; -+ endIndex = end->index2; - break; - case XPATH_NODESET: - /* -@@ -557,39 +544,15 @@ xmlXPtrNewRangeNodeObject(xmlNodePtr start, xmlXPathObjectPtr end) { - */ - if (end->nodesetval->nodeNr <= 0) - return(NULL); -+ endNode = end->nodesetval->nodeTab[end->nodesetval->nodeNr - 1]; -+ endIndex = -1; - break; - default: - /* TODO */ - return(NULL); - } - -- ret = (xmlXPathObjectPtr) xmlMalloc(sizeof(xmlXPathObject)); -- if (ret == NULL) { -- xmlXPtrErrMemory("allocating range"); -- return(NULL); -- } -- memset(ret, 0 , (size_t) sizeof(xmlXPathObject)); -- ret->type = XPATH_RANGE; -- ret->user = start; -- ret->index = -1; -- switch (end->type) { -- case XPATH_POINT: -- ret->user2 = end->user; -- ret->index2 = end->index; -- break; -- case XPATH_RANGE: -- ret->user2 = end->user2; -- ret->index2 = end->index2; -- break; -- case XPATH_NODESET: { -- ret->user2 = end->nodesetval->nodeTab[end->nodesetval->nodeNr - 1]; -- ret->index2 = -1; -- break; -- } -- default: -- STRANGE -- return(NULL); -- } -+ ret = xmlXPtrNewRangeInternal(start, -1, endNode, endIndex); - xmlXPtrRangeCheckOrder(ret); - return(ret); - } --- -2.10.2 - diff --git a/package/libxml2/libxml2.hash b/package/libxml2/libxml2.hash index 098121e117..217a51fc96 100644 --- a/package/libxml2/libxml2.hash +++ b/package/libxml2/libxml2.hash @@ -1,2 +1,4 @@ # Locally calculated after checking pgp signature -sha256 ffb911191e509b966deb55de705387f14156e1a56b21824357cdf0053233633c libxml2-2.9.4.tar.gz +sha256 4031c1ecee9ce7ba4f313e91ef6284164885cdb69937a123f6a83bb6a72dcd38 libxml2-2.9.5.tar.gz +# License files, locally calculated +sha256 c5c63674f8a83c4d2e385d96d1c670a03cb871ba2927755467017317878574bd COPYING diff --git a/package/libxml2/libxml2.mk b/package/libxml2/libxml2.mk index 2a7153ad17..1b870c4cbd 100644 --- a/package/libxml2/libxml2.mk +++ b/package/libxml2/libxml2.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBXML2_VERSION = 2.9.4 +LIBXML2_VERSION = 2.9.5 LIBXML2_SITE = ftp://xmlsoft.org/libxml2 LIBXML2_INSTALL_STAGING = YES LIBXML2_LICENSE = MIT @@ -49,4 +49,4 @@ $(eval $(autotools-package)) $(eval $(host-autotools-package)) # libxml2 for the host -LIBXML2_HOST_BINARY = $(HOST_DIR)/usr/bin/xmllint +LIBXML2_HOST_BINARY = $(HOST_DIR)/bin/xmllint diff --git a/package/libxmlpp/Config.in b/package/libxmlpp/Config.in index 0f2da98f24..7244586841 100644 --- a/package/libxmlpp/Config.in +++ b/package/libxmlpp/Config.in @@ -1,18 +1,18 @@ config BR2_PACKAGE_LIBXMLPP bool "libxml++" - select BR2_PACKAGE_LIBXML2 - select BR2_PACKAGE_GLIBMM - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11 depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR # glibmm -> libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # glibmm -> libglib2 depends on BR2_USE_MMU # glibmm -> libglib2 + select BR2_PACKAGE_LIBXML2 + select BR2_PACKAGE_GLIBMM help libxml++ is a C++ wrapper for the libxml XML parser library. http://libxmlplusplus.sourceforge.net/ -comment "libxml++ needs a toolchain w/ C++, wchar, threads, gcc >= 4.8" - depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_USE_WCHAR \ +comment "libxml++ needs a toolchain w/ C++, wchar, threads, gcc >= 4.9" + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_USE_WCHAR \ ||!BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP depends on BR2_USE_MMU diff --git a/package/libxmlpp/libxmlpp.mk b/package/libxmlpp/libxmlpp.mk index d42819928a..d0f6329e79 100644 --- a/package/libxmlpp/libxmlpp.mk +++ b/package/libxmlpp/libxmlpp.mk @@ -6,7 +6,7 @@ LIBXMLPP_VERSION_MAJOR = 2.40 LIBXMLPP_VERSION = $(LIBXMLPP_VERSION_MAJOR).1 -LIBXMLPP_LICENSE = LGPLv2.1 (library), LGPLv2+ (examples) +LIBXMLPP_LICENSE = LGPL-2.1 (library), LGPL-2.0+ (examples) LIBXMLPP_LICENSE_FILES = COPYING LIBXMLPP_SOURCE = libxml++-$(LIBXMLPP_VERSION).tar.xz LIBXMLPP_SITE = http://ftp.gnome.org/pub/GNOME/sources/libxml++/$(LIBXMLPP_VERSION_MAJOR) diff --git a/package/libxmlrpc/libxmlrpc.mk b/package/libxmlrpc/libxmlrpc.mk index 738ae9a811..80acfb8eaa 100644 --- a/package/libxmlrpc/libxmlrpc.mk +++ b/package/libxmlrpc/libxmlrpc.mk @@ -7,7 +7,7 @@ LIBXMLRPC_VERSION = 1.39.12 LIBXMLRPC_SOURCE = xmlrpc-c-$(LIBXMLRPC_VERSION).tgz LIBXMLRPC_SITE = http://downloads.sourceforge.net/project/xmlrpc-c/Xmlrpc-c%20Super%20Stable/$(LIBXMLRPC_VERSION) -LIBXMLRPC_LICENSE = BSD-3c (xml-rpc main code and abyss web server), BSD like (lib/expat), Python 1.5.2 license (parts of xmlrpc_base64.c) +LIBXMLRPC_LICENSE = BSD-3-Clause (xml-rpc main code and abyss web server), BSD like (lib/expat), Python 1.5.2 license (parts of xmlrpc_base64.c) LIBXMLRPC_LICENSE_FILES = doc/COPYING LIBXMLRPC_INSTALL_STAGING = YES LIBXMLRPC_DEPENDENCIES = libcurl host-autoconf @@ -16,7 +16,7 @@ LIBXMLRPC_MAKE = $(MAKE1) # Using autoconf, not automake, so we cannot use AUTORECONF = YES. define LIBXMLRPC_RUN_AUTOCONF - cd $(@D); $(HOST_DIR)/usr/bin/autoconf + cd $(@D); $(HOST_DIR)/bin/autoconf endef LIBXMLRPC_PRE_CONFIGURE_HOOKS += LIBXMLRPC_RUN_AUTOCONF diff --git a/package/libyaml/0001-fix-CVE-2014-9130.patch b/package/libyaml/0001-fix-CVE-2014-9130.patch deleted file mode 100644 index a267e4084c..0000000000 --- a/package/libyaml/0001-fix-CVE-2014-9130.patch +++ /dev/null @@ -1,33 +0,0 @@ -From e6aa721cc0e5a48f408c52355559fd36780ba32a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ingy=20d=C3=B6t=20Net?= -Date: Fri, 28 Nov 2014 09:21:49 -0800 -Subject: [PATCH] Fix for https://bitbucket.org/xi/libyaml/issue/10/ - -https://bitbucket.org/xi/libyaml/issue/10/wrapped-strings-cause-assert-failure - -Commenting out the assert makes the scanner do the right thing and -results in just a simple parse failure. - -Signed-off-by: Gustavo Zacarias ---- - src/scanner.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/src/scanner.c b/src/scanner.c -index 88d4fa5..c5f3d2f 100644 ---- a/src/scanner.c -+++ b/src/scanner.c -@@ -1110,7 +1110,9 @@ yaml_parser_save_simple_key(yaml_parser_t *parser) - * line. Therefore it is always allowed. But we add a check anyway. - */ - -- assert(parser->simple_key_allowed || !required); /* Impossible. */ -+ /* XXX This caused: -+ * https://bitbucket.org/xi/libyaml/issue/10/wrapped-strings-cause-assert-failure -+ assert(parser->simple_key_allowed || !required); */ /* Impossible. */ - - /* - * If the current position may start a simple key, save it. --- -2.0.4 - diff --git a/package/libyaml/libyaml.hash b/package/libyaml/libyaml.hash index fd039fa6e4..44b04a3365 100644 --- a/package/libyaml/libyaml.hash +++ b/package/libyaml/libyaml.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749 yaml-0.1.6.tar.gz +sha256 8088e457264a98ba451a90b8661fcb4f9d6f478f7265d48322a196cec2480729 yaml-0.1.7.tar.gz diff --git a/package/libyaml/libyaml.mk b/package/libyaml/libyaml.mk index 52d475066e..bc8d6951bd 100644 --- a/package/libyaml/libyaml.mk +++ b/package/libyaml/libyaml.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBYAML_VERSION = 0.1.6 +LIBYAML_VERSION = 0.1.7 LIBYAML_SOURCE = yaml-$(LIBYAML_VERSION).tar.gz LIBYAML_SITE = http://pyyaml.org/download/libyaml LIBYAML_INSTALL_STAGING = YES diff --git a/package/libyuv/Config.in b/package/libyuv/Config.in index 29dcaa44ed..355ceb0f47 100644 --- a/package/libyuv/Config.in +++ b/package/libyuv/Config.in @@ -6,7 +6,7 @@ config BR2_PACKAGE_LIBYUV libyuv is an open source project that includes YUV scaling and conversion functionality. - https://code.google.com/p/libyuv + https://chromium.googlesource.com/libyuv/libyuv/ comment "libyuv needs a toolchain w/ C++, dynamic library" depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS diff --git a/package/libyuv/libyuv.hash b/package/libyuv/libyuv.hash new file mode 100644 index 0000000000..0361ce6eef --- /dev/null +++ b/package/libyuv/libyuv.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 ec31df87fc42153723e9ca65a6d71b0993504c3de5f925e79464c93b7ef66094 libyuv-1ebf86795cb213a37f06eb1ef3713cff080568ea.tar.gz diff --git a/package/libyuv/libyuv.mk b/package/libyuv/libyuv.mk index c00bc05c0a..1abe126324 100644 --- a/package/libyuv/libyuv.mk +++ b/package/libyuv/libyuv.mk @@ -10,7 +10,7 @@ LIBYUV_VERSION = 1ebf86795cb213a37f06eb1ef3713cff080568ea # deactivated in 2015. LIBYUV_SITE = https://freeswitch.org/stash/scm/sd/libyuv.git LIBYUV_SITE_METHOD = git -LIBYUV_LICENSE = BSD-3c +LIBYUV_LICENSE = BSD-3-Clause LIBYUV_LICENSE_FILES = LICENSE LIBYUV_INSTALL_STAGING = YES LIBYUV_DEPENDENCIES = $(if $(BR2_PACKAGE_JPEG),jpeg) diff --git a/package/libzip/Config.in b/package/libzip/Config.in index 54de9e5af2..f69dd0d4d5 100644 --- a/package/libzip/Config.in +++ b/package/libzip/Config.in @@ -1,8 +1,13 @@ config BR2_PACKAGE_LIBZIP bool "libzip" + depends on !BR2_STATIC_LIBS # dlsym() select BR2_PACKAGE_ZLIB help - C library for reading, creating, and modifying zip archives. This - package also contains zipcmp, ziptorrent and zipmerge utilities. + C library for reading, creating, and modifying zip archives. + This package also contains zipcmp, ziptorrent and zipmerge + utilities. http://www.nih.at/libzip/ + +comment "libzip needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/package/libzip/libzip.hash b/package/libzip/libzip.hash index ccd0e6adf9..d100982bc6 100644 --- a/package/libzip/libzip.hash +++ b/package/libzip/libzip.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 7cfbbc2c540e154b933b6e9ec781e2671086bd8114eb744ae1a1ade34d2bb6bb libzip-0.11.2.tar.xz +sha256 aa936efe34911be7acac2ab07fb5c8efa53ed9bb4d44ad1fe8bff19630e0d373 libzip-1.3.0.tar.xz +sha256 d159ae325ca0b8236c44dfd980ca99810dbcfc057b077c50dbbda1131cbd263a LICENSE diff --git a/package/libzip/libzip.mk b/package/libzip/libzip.mk index a419db7ec5..5ffa1cac00 100644 --- a/package/libzip/libzip.mk +++ b/package/libzip/libzip.mk @@ -4,12 +4,19 @@ # ################################################################################ -LIBZIP_VERSION = 0.11.2 +LIBZIP_VERSION = 1.3.0 LIBZIP_SITE = http://www.nih.at/libzip LIBZIP_SOURCE = libzip-$(LIBZIP_VERSION).tar.xz -LIBZIP_LICENSE = BSD-3c +LIBZIP_LICENSE = BSD-3-Clause LIBZIP_LICENSE_FILES = LICENSE LIBZIP_INSTALL_STAGING = YES LIBZIP_DEPENDENCIES = zlib +ifeq ($(BR2_PACKAGE_BZIP2),y) +LIBZIP_CONF_OPTS += --with-bzip2 +LIBZIP_DEPENDENCIES += bzip2 +else +LIBZIP_CONF_OPTS += --without-bzip2 +endif + $(eval $(autotools-package)) diff --git a/package/lightning/Config.in b/package/lightning/Config.in index d85c964e18..79f7f86fb0 100644 --- a/package/lightning/Config.in +++ b/package/lightning/Config.in @@ -18,10 +18,10 @@ if BR2_PACKAGE_LIGHTNING config BR2_PACKAGE_LIGHTNING_DISASSEMBLER bool "enable disassembler" - select BR2_PACKAGE_BINUTILS - select BR2_PACKAGE_ZLIB depends on !BR2_nios2 # binutils depends on BR2_USE_WCHAR # binutils + select BR2_PACKAGE_BINUTILS + select BR2_PACKAGE_ZLIB help Enable the GNU lightning disassembler. diff --git a/package/lightning/lightning.mk b/package/lightning/lightning.mk index 052e593be3..2b4931becc 100644 --- a/package/lightning/lightning.mk +++ b/package/lightning/lightning.mk @@ -6,15 +6,13 @@ LIGHTNING_VERSION = 2.1.0 LIGHTNING_SITE = $(BR2_GNU_MIRROR)/lightning -LIGHTNING_LICENSE = LGPLv3+ +LIGHTNING_LICENSE = LGPL-3.0+ LIGHTNING_LICENSE_FILES = COPYING.LESSER LIGHTNING_INSTALL_STAGING = YES ifeq ($(BR2_PACKAGE_LIGHTNING_DISASSEMBLER),y) LIGHTNING_DEPENDENCIES += binutils zlib LIGHTNING_CONF_OPTS += --enable-disassembler -# binutils libraries are not explicitly linked against gettext -LIGHTNING_CONF_ENV += $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),LIBS=-lintl) endif $(eval $(autotools-package)) diff --git a/package/lighttpd/Config.in b/package/lighttpd/Config.in index f62ccb9c05..383c10f70f 100644 --- a/package/lighttpd/Config.in +++ b/package/lighttpd/Config.in @@ -7,13 +7,14 @@ config BR2_PACKAGE_LIGHTTPD depends on BR2_USE_MMU # fork() depends on !BR2_STATIC_LIBS help - lighttpd a secure, fast, compliant and very flexible web-server - which has been optimized for high-performance environments. It - has a very low memory footprint compared to other webservers and - takes care of cpu-load. Its advanced feature-set (FastCGI, CGI, - Auth, Output-Compression, URL-Rewriting and many more) make - lighttpd the perfect webserver-software for every server that - is suffering load problems. + lighttpd a secure, fast, compliant and very flexible + web-server which has been optimized for high-performance + environments. It has a very low memory footprint compared to + other webservers and takes care of cpu-load. Its advanced + feature-set (FastCGI, CGI, Auth, Output-Compression, + URL-Rewriting and many more) make lighttpd the perfect + webserver-software for every server that is suffering load + problems. http://www.lighttpd.net/ diff --git a/package/lighttpd/S50lighttpd b/package/lighttpd/S50lighttpd index 44ac257c18..b3518cd278 100644 --- a/package/lighttpd/S50lighttpd +++ b/package/lighttpd/S50lighttpd @@ -2,15 +2,21 @@ # # Starts lighttpd. # +NAME=lighttpd +DAEMON=/usr/sbin/$NAME +PID_FILE="/var/run/$NAME.pid" +CONF_FILE="/etc/$NAME/$NAME.conf" + +[ -r /etc/default/$NAME ] && . /etc/default/$NAME start() { printf "Starting lighttpd: " - start-stop-daemon -S -q -p /var/run/lighttpd.pid --exec /usr/sbin/lighttpd -- -f /etc/lighttpd/lighttpd.conf + start-stop-daemon -S -q -p $PID_FILE --exec $DAEMON -- -f $CONF_FILE echo "OK" } stop() { printf "Stopping lighttpd: " - start-stop-daemon -K -q -p /var/run/lighttpd.pid + start-stop-daemon -K -q -p $PID_FILE echo "OK" } restart() { diff --git a/package/lighttpd/lighttpd.mk b/package/lighttpd/lighttpd.mk index b3127ef268..97ddfc63b0 100644 --- a/package/lighttpd/lighttpd.mk +++ b/package/lighttpd/lighttpd.mk @@ -8,7 +8,7 @@ LIGHTTPD_VERSION_MAJOR = 1.4 LIGHTTPD_VERSION = $(LIGHTTPD_VERSION_MAJOR).45 LIGHTTPD_SOURCE = lighttpd-$(LIGHTTPD_VERSION).tar.xz LIGHTTPD_SITE = http://download.lighttpd.net/lighttpd/releases-$(LIGHTTPD_VERSION_MAJOR).x -LIGHTTPD_LICENSE = BSD-3c +LIGHTTPD_LICENSE = BSD-3-Clause LIGHTTPD_LICENSE_FILES = COPYING LIGHTTPD_DEPENDENCIES = host-pkgconf LIGHTTPD_CONF_OPTS = \ diff --git a/package/linenoise/linenoise.mk b/package/linenoise/linenoise.mk index 64a7b7c8dc..f51e2871e7 100644 --- a/package/linenoise/linenoise.mk +++ b/package/linenoise/linenoise.mk @@ -6,7 +6,7 @@ LINENOISE_VERSION = 1.0 LINENOISE_SITE = $(call github,antirez,linenoise,$(LINENOISE_VERSION)) -LINENOISE_LICENSE = BSD-2c +LINENOISE_LICENSE = BSD-2-Clause LINENOISE_LICENSE_FILES = LICENSE LINENOISE_INSTALL_STAGING = YES # Static library only, nothing to install on target diff --git a/package/linknx/0001-fix-static-build-with-mysql.patch b/package/linknx/0001-fix-static-build-with-mysql.patch deleted file mode 100644 index c26bef77be..0000000000 --- a/package/linknx/0001-fix-static-build-with-mysql.patch +++ /dev/null @@ -1,47 +0,0 @@ -Fix static build with mysql - -When building static binaries, the order of libraries in the link command line -is significant. Use $LIBS for mysql libraries, so that mysql appear after the -object files that depends on it. This fixes build failures like the following. - -/home/buildroot/build/instance-1/output/host/usr/bin/arm-linux-g++ -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -static -static -I/home/buildroot/build/instance-1/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/mysql -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -static -DUNIV_LINUX -DUNIV_LINUX -static -static -rdynamic -L/home/buildroot/build/instance-1/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib -lmysqlclient_r -lz -lpthread -lcrypt -lnsl -lm -lpthread -o linknx linknx.o logger.o ruleserver.o objectcontroller.o eibclient.o threads.o timermanager.o persistentstorage.o xmlserver.o smsgateway.o emailgateway.o knxconnection.o services.o suncalc.o luacondition.o ioport.o ../ticpp/libticpp.a -L/home/buildroot/build/instance-1/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib -lpthsem -lm -largp -persistentstorage.o: In function `MysqlPersistentStorage::~MysqlPersistentStorage()': -persistentstorage.cpp:(.text+0x2c): undefined reference to `mysql_close' -persistentstorage.o: In function `MysqlPersistentStorage::MysqlPersistentStorage(ticpp::Element*)': -persistentstorage.cpp:(.text+0x518): undefined reference to `mysql_init' -persistentstorage.cpp:(.text+0x570): undefined reference to `mysql_options' -persistentstorage.cpp:(.text+0x5a8): undefined reference to `mysql_real_connect' -persistentstorage.cpp:(.text+0x5c0): undefined reference to `mysql_options' -persistentstorage.cpp:(.text+0x618): undefined reference to `mysql_error' -persistentstorage.cpp:(.text+0x6c0): undefined reference to `mysql_options' -persistentstorage.o: In function `MysqlPersistentStorage::write(std::string const&, std::string const&)': -persistentstorage.cpp:(.text+0xb70): undefined reference to `mysql_real_query' -persistentstorage.cpp:(.text+0xbcc): undefined reference to `mysql_error' -persistentstorage.o: In function `MysqlPersistentStorage::read(std::string const&, std::string const&)': -persistentstorage.cpp:(.text+0xd14): undefined reference to `mysql_real_query' -persistentstorage.cpp:(.text+0xd38): undefined reference to `mysql_store_result' -persistentstorage.cpp:(.text+0xd40): undefined reference to `mysql_num_rows' -persistentstorage.cpp:(.text+0xd50): undefined reference to `mysql_fetch_row' -persistentstorage.cpp:(.text+0xd68): undefined reference to `mysql_free_result' -persistentstorage.cpp:(.text+0xdc8): undefined reference to `mysql_error' -persistentstorage.o: In function `MysqlPersistentStorage::writelog(std::string const&, std::string const&)': -persistentstorage.cpp:(.text+0xf74): undefined reference to `mysql_real_query' -persistentstorage.cpp:(.text+0xfd0): undefined reference to `mysql_error' -collect2: error: ld returned 1 exit status - -Signed-off-by: Baruch Siach ---- -Patch status: sent to jef2000@users.sourceforge.net - -diff -Nuar linknx-0.0.1.32-orig/acinclude.m4 linknx-0.0.1.32/acinclude.m4 ---- linknx-0.0.1.32-orig/acinclude.m4 2011-01-09 16:47:32.000000000 +0200 -+++ linknx-0.0.1.32/acinclude.m4 2016-03-15 12:41:19.983861719 +0200 -@@ -36,7 +36,7 @@ - CFLAGS="$CFLAGS $ADDFLAGS" - CXXFLAGS="$CXXFLAGS $ADDFLAGS" - -- LDFLAGS="$LDFLAGS "`$MYSQL_CONFIG --libs_r` -+ LIBS="$LIBS "`$MYSQL_CONFIG --libs_r` - - AC_MSG_RESULT($MYSQL_CONFIG) - AC_DEFINE([HAVE_MYSQL], [1], [Build with MySQL support.]) diff --git a/package/linknx/0002-src-suncalc.cpp-fix-build-with-gcc-6.x.patch b/package/linknx/0001-src-suncalc.cpp-fix-build-with-gcc-6.x.patch similarity index 100% rename from package/linknx/0002-src-suncalc.cpp-fix-build-with-gcc-6.x.patch rename to package/linknx/0001-src-suncalc.cpp-fix-build-with-gcc-6.x.patch diff --git a/package/linknx/Config.in b/package/linknx/Config.in index e85838990e..97fdaff9ce 100644 --- a/package/linknx/Config.in +++ b/package/linknx/Config.in @@ -1,14 +1,13 @@ config BR2_PACKAGE_LINKNX bool "linknx" - select BR2_PACKAGE_LIBPTHSEM - select BR2_PACKAGE_LIBCURL # for autoreconf - select BR2_PACKAGE_ARGP_STANDALONE \ - if BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_MUSL depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_MMU # libpthsem + select BR2_PACKAGE_LIBPTHSEM + select BR2_PACKAGE_ARGP_STANDALONE \ + if BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_MUSL help - Linknx is an automation platform providing high level functionalities - to EIB/KNX installation. + Linknx is an automation platform providing high level + functionalities to EIB/KNX installation. http://linknx.sourceforge.net/ https://github.com/linknx/linknx diff --git a/package/linknx/linknx.hash b/package/linknx/linknx.hash index d1be6d204a..40e26766e2 100644 --- a/package/linknx/linknx.hash +++ b/package/linknx/linknx.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 f161d3c8da3b8c6969e9c02d84d3cd26eb5e7fb4f3a3efbaaede8acdaaf11700 linknx-0.0.1.32.tar.gz +sha256 635b8fbd3477fd7d85a95955b93f327cd5a389db80dc18cdae04de19a3a8a972 linknx-0.0.1.33.tar.gz diff --git a/package/linknx/linknx.mk b/package/linknx/linknx.mk index 5dc8bb2d08..fcef475dba 100644 --- a/package/linknx/linknx.mk +++ b/package/linknx/linknx.mk @@ -4,31 +4,22 @@ # ################################################################################ -LINKNX_VERSION = 0.0.1.32 -LINKNX_SITE = http://downloads.sourceforge.net/project/linknx/linknx/linknx-$(LINKNX_VERSION) -LINKNX_LICENSE = GPLv2+ +LINKNX_VERSION = 0.0.1.33 +LINKNX_SITE = $(call github,linknx,linknx,$(LINKNX_VERSION)) +LINKNX_LICENSE = GPL-2.0+ LINKNX_INSTALL_STAGING = YES -# Patching acinclude.m4 -LINKNX_AUTORECONF = YES LINKNX_CONF_OPTS = \ --without-lua \ --without-log4cpp \ --without-pth-test \ --with-pth=$(STAGING_DIR)/usr \ - --disable-smtp \ - --with-libcurl=$(STAGING_DIR)/usr/bin/curl-config + --disable-smtp -LINKNX_DEPENDENCIES = libpthsem libcurl \ +LINKNX_DEPENDENCIES = libpthsem \ $(if $(BR2_PACKAGE_ARGP_STANDALONE),argp-standalone) -# This is needed to make autoreconf happy -define LINKNX_CREATE_MISSING_FILES - touch $(@D)/NEWS $(@D)/AUTHORS $(@D)/README -endef -LINKNX_POST_EXTRACT_HOOKS += LINKNX_CREATE_MISSING_FILES - ifeq ($(BR2_PACKAGE_MYSQL),y) -LINKNX_CONF_OPTS += --with-mysql=$(STAGING_DIR)/usr/bin/mysql_config +LINKNX_CONF_OPTS += --with-mysql=$(STAGING_DIR)/usr LINKNX_DEPENDENCIES += mysql else LINKNX_CONF_OPTS += --without-mysql diff --git a/package/links/links.mk b/package/links/links.mk index ce0e638f95..dd6adb29b1 100644 --- a/package/links/links.mk +++ b/package/links/links.mk @@ -8,7 +8,7 @@ LINKS_VERSION = 2.14 LINKS_SOURCE = links-$(LINKS_VERSION).tar.bz2 LINKS_SITE = http://links.twibright.com/download LINKS_DEPENDENCIES = host-pkgconf -LINKS_LICENSE = GPLv2+ +LINKS_LICENSE = GPL-2.0+ LINKS_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_LINKS_GRAPHICS),y) diff --git a/package/linphone/Config.in b/package/linphone/Config.in index 2622aa4f4c..2504ca2b49 100644 --- a/package/linphone/Config.in +++ b/package/linphone/Config.in @@ -1,10 +1,10 @@ config BR2_PACKAGE_LINPHONE bool "linphone" - select BR2_PACKAGE_LIBEXOSIP2 - select BR2_PACKAGE_SPEEX depends on BR2_INSTALL_LIBSTDCPP # mediastreamer (bundled) depends on BR2_TOOLCHAIN_HAS_THREADS # ortp (bundled) depends on BR2_USE_MMU # libeXosip2 + select BR2_PACKAGE_LIBEXOSIP2 + select BR2_PACKAGE_SPEEX help Linphone is an internet phone or Voice Over IP phone (VoIP). diff --git a/package/linphone/linphone.mk b/package/linphone/linphone.mk index df804907e8..a10d6bb208 100644 --- a/package/linphone/linphone.mk +++ b/package/linphone/linphone.mk @@ -13,7 +13,7 @@ LINPHONE_CONF_OPTS = \ LINPHONE_AUTORECONF = YES LINPHONE_INSTALL_STAGING = YES LINPHONE_DEPENDENCIES = host-pkgconf libeXosip2 speex -LINPHONE_LICENSE = GPLv2+ +LINPHONE_LICENSE = GPL-2.0+ LINPHONE_LICENSE_FILES = COPYING LINPHONE_PATCH = \ https://sources.debian.net/data/main/l/linphone/3.6.1-2.5/debian/patches/libav9.patch \ @@ -50,4 +50,11 @@ else LINPHONE_CONF_OPTS += --disable-libv4l1 --disable-libv4l2 endif +ifeq ($(BR2_PACKAGE_LIBUPNP),y) +LINPHONE_DEPENDENCIES += libupnp +LINPHONE_CONF_OPTS += --enable-upnp +else +LINPHONE_CONF_OPTS += --disable-upnp +endif + $(eval $(autotools-package)) diff --git a/package/linux-backports/Config.in b/package/linux-backports/Config.in index e858a45abc..362e6e4bc7 100644 --- a/package/linux-backports/Config.in +++ b/package/linux-backports/Config.in @@ -8,7 +8,8 @@ config BR2_PACKAGE_LINUX_BACKPORTS The linux-backports package includes many Linux drivers from recent kernels, backported to older ones. - This version of linux-backports supports kernels starting from 3.0. + This version of linux-backports supports kernels starting + from 3.0. https://backports.wiki.kernel.org @@ -40,8 +41,9 @@ config BR2_PACKAGE_LINUX_BACKPORTS_CUSTOM_CONFIG_FILE help Path to the backports configuration file - Note: this can be a defconfig file or a complete .config file, - which can later be saved back with make linux-update-(def)config. + Note: this can be a defconfig file or a complete .config + file, which can later be saved back with make + linux-update-(def)config. config BR2_PACKAGE_LINUX_BACKPORTS_CONFIG_FRAGMENT_FILES string "Additional configuration fragment files" diff --git a/package/linux-backports/linux-backports.mk b/package/linux-backports/linux-backports.mk index 6f599a8a85..1d7d6e7f00 100644 --- a/package/linux-backports/linux-backports.mk +++ b/package/linux-backports/linux-backports.mk @@ -8,7 +8,7 @@ LINUX_BACKPORTS_VERSION_MAJOR = 4.4.2 LINUX_BACKPORTS_VERSION = $(LINUX_BACKPORTS_VERSION_MAJOR)-1 LINUX_BACKPORTS_SOURCE = backports-$(LINUX_BACKPORTS_VERSION).tar.xz LINUX_BACKPORTS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/projects/backports/stable/v$(LINUX_BACKPORTS_VERSION_MAJOR) -LINUX_BACKPORTS_LICENSE = GPLv2 +LINUX_BACKPORTS_LICENSE = GPL-2.0 LINUX_BACKPORTS_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_LINUX_BACKPORTS_USE_DEFCONFIG),y) diff --git a/package/linux-firmware/Config.in b/package/linux-firmware/Config.in index e9a4dfbf84..ad750e82ff 100644 --- a/package/linux-firmware/Config.in +++ b/package/linux-firmware/Config.in @@ -39,6 +39,11 @@ config BR2_PACKAGE_LINUX_FIRMWARE_IBT Firmware files for Intel 3160/7260/7265/8260/8265 Wireless bluetooth support. +config BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT + bool "Qualcomm Atheros Rome 6174A Bluetooth" + help + Firmware files for QCA Rome 6174A bluetooth support. + endmenu # Bluetooth menu "WiFi firmware" @@ -206,6 +211,11 @@ config BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7601U help MediaTek MT7601U +config BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174 + bool "Qualcomm Atheros 6174" + help + Firmware files for the Qualcomm Atheros QCA6174 chip + config BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61 bool "Ralink rt2501/rt61" help @@ -239,7 +249,8 @@ config BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX config BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X bool "TI wl127x" help - Firmware files for WLAN and Bluetooth modules wl1271 and wl1273 + Firmware files for WLAN and Bluetooth modules wl1271 and + wl1273 config BR2_PACKAGE_LINUX_FIRMWARE_TI_WL128X bool "TI wl128x" @@ -258,17 +269,20 @@ menu "Ethernet firmware" config BR2_PACKAGE_LINUX_FIRMWARE_BNX2X bool "Broadcom NetXtremeII" help - Firmware files for Broadcom NetXtreme 10Gb ethernet cards (bnx2x) + Firmware files for Broadcom NetXtreme 10Gb ethernet cards + (bnx2x) config BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4 bool "Chelsio T4" help - Firmware files for Chelsio T4 1Gb and 10Gb ethernet cards (cxgb4) + Firmware files for Chelsio T4 1Gb and 10Gb ethernet cards + (cxgb4) config BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T5 bool "Chelsio T5" help - Firmware files for Chelsio T5 1Gb and 10Gb ethernet cards (cxgb4) + Firmware files for Chelsio T5 1Gb and 10Gb ethernet cards + (cxgb4) config BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169 bool "Realtek 8169" @@ -306,4 +320,22 @@ config BR2_PACKAGE_LINUX_FIRMWARE_XCx000 endmenu +menu "SoC Firmware" + +config BR2_PACKAGE_LINUX_FIRMWARE_IMX_SDMA + bool "Freescale i.MX SDMA" + help + Firmware files for i.MX SDMA. + +endmenu + +menu "Fibre Channel Adapter Firmware" + +config BR2_PACKAGE_LINUX_FIRMWARE_QLOGIC_2XXX + bool "QLogic 2xxx Fibre Channel Adapters" + help + Firmware files for ql2xxx adapters + +endmenu + endif diff --git a/package/linux-firmware/linux-firmware.hash b/package/linux-firmware/linux-firmware.hash index e8ee2b72a1..9b8dfedb8e 100644 --- a/package/linux-firmware/linux-firmware.hash +++ b/package/linux-firmware/linux-firmware.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 256378564e36b8f222adb8fbe746529e73413c6cbe2b0e5574f41dfd62d92577 linux-firmware-6d3bc8886517d171068fd1263176b8b5c51df204.tar.gz +sha256 ec58d9aaf3cf80f768c32ba22d925c0542436ef3ee4588acd3e49b12ca2ed9d9 linux-firmware-a3a26af24e29c818ef9b5661856018e21a5c49fb.tar.gz diff --git a/package/linux-firmware/linux-firmware.mk b/package/linux-firmware/linux-firmware.mk index 7706bd5c50..d238abe9ea 100644 --- a/package/linux-firmware/linux-firmware.mk +++ b/package/linux-firmware/linux-firmware.mk @@ -4,7 +4,7 @@ # ################################################################################ -LINUX_FIRMWARE_VERSION = 6d3bc8886517d171068fd1263176b8b5c51df204 +LINUX_FIRMWARE_VERSION = a3a26af24e29c818ef9b5661856018e21a5c49fb LINUX_FIRMWARE_SITE = http://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git LINUX_FIRMWARE_SITE_METHOD = git @@ -30,6 +30,18 @@ LINUX_FIRMWARE_FILES += intel/ibt-* LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ibt_firmware endif +# Qualcomm Atheros Rome 6174A Bluetooth +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT),y) +LINUX_FIRMWARE_FILES += qca/rampatch_usb_00000302.bin qca/nvm_usb_00000302.bin +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.qcom +endif + +# Freescale i.MX SDMA +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IMX_SDMA),y) +LINUX_FIRMWARE_FILES += imx/sdma/sdma-imx6q.bin imx/sdma/sdma-imx7d.bin +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.sdma_firmware +endif + # rt2501/rt61 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61),y) LINUX_FIRMWARE_FILES += rt2561.bin rt2561s.bin rt2661.bin @@ -53,11 +65,11 @@ endif # rtl81xx ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX),y) LINUX_FIRMWARE_FILES += \ - rtlwifi/rtl8192cfw.bin rtlwifi/rtl8192cfwU.bin \ - rtlwifi/rtl8192cfwU_B.bin rtlwifi/rtl8192cufw.bin \ - rtlwifi/rtl8192defw.bin rtlwifi/rtl8192sefw.bin \ - rtlwifi/rtl8188efw.bin rtlwifi/rtl8188eufw.bin \ - rtlwifi/rtl8192cufw_A.bin \ + rtlwifi/rtl8192cfw.bin rtlwifi/rtl8192cfwU.bin \ + rtlwifi/rtl8192cfwU_B.bin rtlwifi/rtl8192cufw.bin \ + rtlwifi/rtl8192defw.bin rtlwifi/rtl8192sefw.bin \ + rtlwifi/rtl8188efw.bin rtlwifi/rtl8188eufw.bin \ + rtlwifi/rtl8192cufw_A.bin \ rtlwifi/rtl8192cufw_B.bin rtlwifi/rtl8192cufw_TMSC.bin LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt endif @@ -104,7 +116,7 @@ endif # ar9170 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9170),y) -LINUX_FIRMWARE_FILES += ar9170-1.fw ar9170-2.fw +LINUX_FIRMWARE_FILES += ar9170-1.fw ar9170-2.fw carl9170-1.fw LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware endif @@ -188,23 +200,29 @@ LINUX_FIRMWARE_FILES += mt7601u.bin LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink_a_mediatek_company_firmware endif +# qca6174 +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174),y) +LINUX_FIRMWARE_FILES += ath10k/QCA6174 +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.QualcommAtheros_ath10k +endif + # wl127x ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X),y) # wl1271-nvs.bin is a symlink to wl127x-nvs.bin LINUX_FIRMWARE_FILES += \ - ti-connectivity/wl1271-fw-2.bin \ - ti-connectivity/wl1271-fw-ap.bin \ - ti-connectivity/wl1271-fw.bin \ - ti-connectivity/wl1271-nvs.bin \ - ti-connectivity/wl127x-fw-3.bin \ - ti-connectivity/wl127x-fw-plt-3.bin \ - ti-connectivity/wl127x-nvs.bin \ - ti-connectivity/wl127x-fw-4-mr.bin \ - ti-connectivity/wl127x-fw-4-plt.bin \ - ti-connectivity/wl127x-fw-4-sr.bin \ - ti-connectivity/wl127x-fw-5-mr.bin \ - ti-connectivity/wl127x-fw-5-plt.bin \ - ti-connectivity/wl127x-fw-5-sr.bin \ + ti-connectivity/wl1271-fw-2.bin \ + ti-connectivity/wl1271-fw-ap.bin \ + ti-connectivity/wl1271-fw.bin \ + ti-connectivity/wl1271-nvs.bin \ + ti-connectivity/wl127x-fw-3.bin \ + ti-connectivity/wl127x-fw-plt-3.bin \ + ti-connectivity/wl127x-nvs.bin \ + ti-connectivity/wl127x-fw-4-mr.bin \ + ti-connectivity/wl127x-fw-4-plt.bin \ + ti-connectivity/wl127x-fw-4-sr.bin \ + ti-connectivity/wl127x-fw-5-mr.bin \ + ti-connectivity/wl127x-fw-5-plt.bin \ + ti-connectivity/wl127x-fw-5-sr.bin \ ti-connectivity/TIInit_7.2.31.bts LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ti-connectivity endif @@ -213,20 +231,20 @@ endif ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL128X),y) # wl1271-nvs.bin and wl12xx-nvs.bin are symlinks to wl127x-nvs.bin LINUX_FIRMWARE_FILES += \ - ti-connectivity/wl128x-fw-3.bin \ - ti-connectivity/wl128x-fw-ap.bin \ - ti-connectivity/wl128x-fw-plt-3.bin \ - ti-connectivity/wl128x-fw.bin \ - ti-connectivity/wl1271-nvs.bin \ - ti-connectivity/wl128x-nvs.bin \ - ti-connectivity/wl12xx-nvs.bin \ - ti-connectivity/wl127x-nvs.bin \ - ti-connectivity/wl128x-fw-4-mr.bin \ - ti-connectivity/wl128x-fw-4-plt.bin \ - ti-connectivity/wl128x-fw-4-sr.bin \ - ti-connectivity/wl128x-fw-5-mr.bin \ - ti-connectivity/wl128x-fw-5-plt.bin \ - ti-connectivity/wl128x-fw-5-sr.bin \ + ti-connectivity/wl128x-fw-3.bin \ + ti-connectivity/wl128x-fw-ap.bin \ + ti-connectivity/wl128x-fw-plt-3.bin \ + ti-connectivity/wl128x-fw.bin \ + ti-connectivity/wl1271-nvs.bin \ + ti-connectivity/wl128x-nvs.bin \ + ti-connectivity/wl12xx-nvs.bin \ + ti-connectivity/wl127x-nvs.bin \ + ti-connectivity/wl128x-fw-4-mr.bin \ + ti-connectivity/wl128x-fw-4-plt.bin \ + ti-connectivity/wl128x-fw-4-sr.bin \ + ti-connectivity/wl128x-fw-5-mr.bin \ + ti-connectivity/wl128x-fw-5-plt.bin \ + ti-connectivity/wl128x-fw-5-sr.bin \ ti-connectivity/TIInit_7.2.31.bts LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ti-connectivity endif @@ -306,14 +324,14 @@ LINUX_FIRMWARE_FILES += bnx2x/* endif ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4),y) -# cxgb4/t4fw.bin is a symlink to cxgb4/t4fw-1.14.4.0.bin -LINUX_FIRMWARE_FILES += cxgb4/t4fw-1.14.4.0.bin cxgb4/t4fw.bin +# cxgb4/t4fw.bin is a symlink to cxgb4/t4fw-1.16.26.0.bin +LINUX_FIRMWARE_FILES += cxgb4/t4fw-1.16.26.0.bin cxgb4/t4fw.bin LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.chelsio_firmware endif ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T5),y) -# cxgb4/t5fw.bin is a symlink to cxgb4/t5fw-1.14.4.0.bin -LINUX_FIRMWARE_FILES += cxgb4/t5fw-1.14.4.0.bin cxgb4/t5fw.bin +# cxgb4/t5fw.bin is a symlink to cxgb4/t5fw-1.16.26.0.bin +LINUX_FIRMWARE_FILES += cxgb4/t5fw-1.16.26.0.bin cxgb4/t5fw.bin LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.chelsio_firmware endif @@ -396,6 +414,14 @@ LINUX_FIRMWARE_FILES += \ LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.broadcom_bcm43xx endif +# ql2xxx +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QLOGIC_2XXX),y) +LINUX_FIRMWARE_FILES += \ + ql2100_fw.bin ql2200_fw.bin ql2300_fw.bin ql2322_fw.bin \ + ql2400_fw.bin ql2500_fw.bin +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.qla2xxx +endif + ifneq ($(LINUX_FIRMWARE_FILES),) define LINUX_FIRMWARE_INSTALL_FILES cd $(@D) ; \ diff --git a/package/linux-fusion/0004-Port-one-one_udp.c-to-Linux-4.1.patch b/package/linux-fusion/0004-Port-one-one_udp.c-to-Linux-4.1.patch index e1bff64f3b..3ee4dac487 100644 --- a/package/linux-fusion/0004-Port-one-one_udp.c-to-Linux-4.1.patch +++ b/package/linux-fusion/0004-Port-one-one_udp.c-to-Linux-4.1.patch @@ -24,12 +24,20 @@ one/one_udp.c: In function 'ksocket_send_iov': one/one_udp.c:192:13: error: too many arguments to function 'sock_sendmsg' Signed-off-by: Marc Gonzalez + +Kernel commit 2da62906b1e29 dropped the size parameter in sock_recvmsg +since 4.7 + +In function 'ksocket_receive' +one/one_udp.c:235:13: error: too many arguments to function 'sock_recvmsg' + +Signed-off-by: Matthew Shyu --- - one/one_udp.c | 30 +++++++++++++++--------------- - 1 file changed, 15 insertions(+), 15 deletions(-) + one/one_udp.c | 34 +++++++++++++++++++--------------- + 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/one/one_udp.c b/one/one_udp.c -index 26b9e6a1f729..b1daae164cdf 100644 +index 26b9e6a..9b59529 100644 --- a/one/one_udp.c +++ b/one/one_udp.c @@ -161,7 +161,7 @@ ksocket_send_iov( struct socket *sock, @@ -78,7 +86,7 @@ index 26b9e6a1f729..b1daae164cdf 100644 struct iovec iov; mm_segment_t oldfs; int size = 0; -@@ -213,14 +215,12 @@ ksocket_receive(struct socket* sock, struct sockaddr_in* addr, void *buf, int le +@@ -213,18 +215,20 @@ ksocket_receive(struct socket* sock, struct sockaddr_in* addr, void *buf, int le iov.iov_base = buf; iov.iov_len = len; @@ -97,3 +105,14 @@ index 26b9e6a1f729..b1daae164cdf 100644 oldfs = get_fs(); set_fs(KERNEL_DS); ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4,7,0) // commit 2da62906b1e29 + size = sock_recvmsg(sock,&msg,len,msg.msg_flags); ++#else ++ size = sock_recvmsg(sock, &msg,msg.msg_flags); ++#endif + set_fs(oldfs); + + return size; +-- +2.11.0 + diff --git a/package/linux-fusion/linux-fusion.mk b/package/linux-fusion/linux-fusion.mk index 35ed28e710..f30a07aac0 100644 --- a/package/linux-fusion/linux-fusion.mk +++ b/package/linux-fusion/linux-fusion.mk @@ -9,7 +9,7 @@ LINUX_FUSION_SITE = http://directfb.org/downloads/Core/linux-fusion LINUX_FUSION_SOURCE = linux-fusion-$(LINUX_FUSION_VERSION).tar.xz LINUX_FUSION_INSTALL_STAGING = YES LINUX_FUSION_DEPENDENCIES = linux -LINUX_FUSION_LICENSE = GPLv2+ +LINUX_FUSION_LICENSE = GPL-2.0+ LINUX_FUSION_LICENSE_FILES = debian/copyright LINUX_FUSION_ETC_DIR = $(TARGET_DIR)/etc/udev/rules.d diff --git a/package/linux-headers/Config.in.host b/package/linux-headers/Config.in.host index ee02a45daf..cff856eaeb 100644 --- a/package/linux-headers/Config.in.host +++ b/package/linux-headers/Config.in.host @@ -6,69 +6,77 @@ config BR2_PACKAGE_HOST_LINUX_HEADERS choice prompt "Kernel Headers" default BR2_KERNEL_HEADERS_AS_KERNEL if BR2_LINUX_KERNEL - default BR2_KERNEL_HEADERS_4_9 + default BR2_KERNEL_HEADERS_4_13 help Select the kernel version to get headers from. - The kernel headers must be at least as old as the oldest kernel - you intend to run on your target. + The kernel headers must be at least as old as the oldest + kernel you intend to run on your target. If you use Buildroot to build a kernel, then you can use the sources from that kernel as source for the headers. - If you choose a custom version of the kernel headers, or choose - to use the same sources as the kernel, you'll have to select - (below) the series of that kernel, so that Buildroot can show - or hide packages that have strong requirements on the kernel - headers. + If you choose a custom version of the kernel headers, or + choose to use the same sources as the kernel, you'll have to + select (below) the series of that kernel, so that Buildroot + can show or hide packages that have strong requirements on the + kernel headers. - config BR2_KERNEL_HEADERS_AS_KERNEL - bool "Same as kernel being built" - depends on BR2_LINUX_KERNEL +config BR2_KERNEL_HEADERS_AS_KERNEL + bool "Same as kernel being built" + depends on BR2_LINUX_KERNEL - config BR2_KERNEL_HEADERS_3_2 - bool "Linux 3.2.x kernel headers" - depends on !BR2_arc && !BR2_nios2 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 +config BR2_KERNEL_HEADERS_3_2 + bool "Linux 3.2.x kernel headers" + depends on !BR2_aarch64 && !BR2_arc && !BR2_nios2 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 - config BR2_KERNEL_HEADERS_3_4 - bool "Linux 3.4.x kernel headers" - depends on !BR2_arc && !BR2_nios2 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 +config BR2_KERNEL_HEADERS_3_4 + bool "Linux 3.4.x kernel headers" + depends on !BR2_aarch64 && !BR2_arc && !BR2_nios2 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 - config BR2_KERNEL_HEADERS_3_10 - bool "Linux 3.10.x kernel headers" - depends on !BR2_nios2 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 +config BR2_KERNEL_HEADERS_3_10 + bool "Linux 3.10.x kernel headers" + depends on !BR2_nios2 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 - config BR2_KERNEL_HEADERS_3_12 - bool "Linux 3.12.x kernel headers" - depends on !BR2_nios2 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 +config BR2_KERNEL_HEADERS_3_12 + bool "Linux 3.12.x kernel headers" + depends on !BR2_nios2 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 - config BR2_KERNEL_HEADERS_3_18 - bool "Linux 3.18.x kernel headers" - depends on !BR2_nios2 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 +config BR2_KERNEL_HEADERS_4_1 + bool "Linux 4.1.x kernel headers" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1 - config BR2_KERNEL_HEADERS_4_1 - bool "Linux 4.1.x kernel headers" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1 +config BR2_KERNEL_HEADERS_4_4 + bool "Linux 4.4.x kernel headers" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4 - config BR2_KERNEL_HEADERS_4_4 - bool "Linux 4.4.x kernel headers" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4 +config BR2_KERNEL_HEADERS_4_9 + bool "Linux 4.9.x kernel headers" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 - config BR2_KERNEL_HEADERS_4_8 - bool "Linux 4.8.x kernel headers" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8 +config BR2_KERNEL_HEADERS_4_10 + bool "Linux 4.10.x kernel headers" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10 - config BR2_KERNEL_HEADERS_4_9 - bool "Linux 4.9.x kernel headers" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 +config BR2_KERNEL_HEADERS_4_11 + bool "Linux 4.11.x kernel headers" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11 + +config BR2_KERNEL_HEADERS_4_12 + bool "Linux 4.12.x kernel headers" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 + +config BR2_KERNEL_HEADERS_4_13 + bool "Linux 4.13.x kernel headers" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13 + +config BR2_KERNEL_HEADERS_VERSION + bool "Manually specified Linux version" - config BR2_KERNEL_HEADERS_VERSION - bool "Manually specified Linux version" endchoice config BR2_DEFAULT_KERNEL_VERSION @@ -82,11 +90,28 @@ choice bool "Custom kernel headers series" depends on BR2_KERNEL_HEADERS_VERSION || BR2_KERNEL_HEADERS_AS_KERNEL help - Specify the kernel headers series you manually selected, above. + Specify the kernel headers series you manually selected, + above. This is used to hide/show some packages that have strict requirements on the version of kernel headers. +config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13 + bool "4.13.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13 + +config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_12 + bool "4.12.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 + +config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11 + bool "4.11.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11 + +config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_10 + bool "4.10.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10 + config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9 bool "4.9.x" select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 @@ -214,15 +239,15 @@ endchoice config BR2_DEFAULT_KERNEL_HEADERS string - default "3.2.85" if BR2_KERNEL_HEADERS_3_2 + default "3.2.96" if BR2_KERNEL_HEADERS_3_2 default "3.4.113" if BR2_KERNEL_HEADERS_3_4 - default "3.10.105" if BR2_KERNEL_HEADERS_3_10 - default "3.12.70" if BR2_KERNEL_HEADERS_3_12 - default "3.18.48" if BR2_KERNEL_HEADERS_3_18 - default "3.19.8" if BR2_KERNEL_HEADERS_3_19 - default "4.0.9" if BR2_KERNEL_HEADERS_4_0 - default "4.1.38" if BR2_KERNEL_HEADERS_4_1 - default "4.4.52" if BR2_KERNEL_HEADERS_4_4 - default "4.8.17" if BR2_KERNEL_HEADERS_4_8 - default "4.9.13" if BR2_KERNEL_HEADERS_4_9 + default "3.10.108" if BR2_KERNEL_HEADERS_3_10 + default "3.12.74" if BR2_KERNEL_HEADERS_3_12 + default "4.1.46" if BR2_KERNEL_HEADERS_4_1 + default "4.4.102" if BR2_KERNEL_HEADERS_4_4 + default "4.9.65" if BR2_KERNEL_HEADERS_4_9 + default "4.10.17" if BR2_KERNEL_HEADERS_4_10 + default "4.11.12" if BR2_KERNEL_HEADERS_4_11 + default "4.12.14" if BR2_KERNEL_HEADERS_4_12 + default "4.13.16" if BR2_KERNEL_HEADERS_4_13 default BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION diff --git a/package/linux-headers/linux-headers.mk b/package/linux-headers/linux-headers.mk index 8f339cfec5..f1e3790608 100644 --- a/package/linux-headers/linux-headers.mk +++ b/package/linux-headers/linux-headers.mk @@ -16,7 +16,6 @@ ifeq ($(BR2_LINUX_KERNEL_CUSTOM_TARBALL),y) LINUX_HEADERS_TARBALL = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION)) LINUX_HEADERS_SITE = $(patsubst %/,%,$(dir $(LINUX_HEADERS_TARBALL))) LINUX_HEADERS_SOURCE = $(notdir $(LINUX_HEADERS_TARBALL)) -BR_NO_CHECK_HASH_FOR += $(LINUX_HEADERS_SOURCE) else ifeq ($(BR2_LINUX_KERNEL_CUSTOM_GIT),y) LINUX_HEADERS_SITE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_REPO_URL)) LINUX_HEADERS_SITE_METHOD = git @@ -29,9 +28,6 @@ LINUX_HEADERS_SITE_METHOD = hg LINUX_HEADERS_SOURCE = linux-$(LINUX_HEADERS_VERSION).tar.gz else LINUX_HEADERS_SOURCE = linux-$(LINUX_HEADERS_VERSION).tar.xz -ifeq ($(BR2_LINUX_KERNEL_CUSTOM_VERSION),y) -BR_NO_CHECK_HASH_FOR += $(LINUX_HEADERS_SOURCE) -endif # In X.Y.Z, get X and Y. We replace dots and dashes by spaces in order # to use the $(word) function. We support versions such as 4.0, 3.1, # 2.6.32, 2.6.32-rc1, 3.0-rc6, etc. @@ -80,9 +76,13 @@ LINUX_HEADERS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v4.x endif LINUX_HEADERS_SOURCE = linux-$(LINUX_HEADERS_VERSION).tar.xz +ifeq ($(BR2_KERNEL_HEADERS_VERSION),y) +BR_NO_CHECK_HASH_FOR += $(LINUX_HEADERS_SOURCE) +endif + endif # ! BR2_KERNEL_HEADERS_AS_KERNEL -LINUX_HEADERS_LICENSE = GPLv2 +LINUX_HEADERS_LICENSE = GPL-2.0 LINUX_HEADERS_LICENSE_FILES = COPYING LINUX_HEADERS_INSTALL_STAGING = YES diff --git a/package/linux-pam/Config.in b/package/linux-pam/Config.in index 3d9835e8cc..1396549366 100644 --- a/package/linux-pam/Config.in +++ b/package/linux-pam/Config.in @@ -1,13 +1,13 @@ config BR2_PACKAGE_LINUX_PAM bool "linux-pam" - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE - select BR2_PACKAGE_FLEX depends on (BR2_ENABLE_LOCALE && BR2_USE_WCHAR) depends on !BR2_STATIC_LIBS depends on !BR2_TOOLCHAIN_USES_MUSL depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_FLEX help - A Security Framework that Provides Authentication for Applications + A Security Framework that Provides Authentication for + Applications http://linux-pam.org diff --git a/package/linux-pam/linux-pam.mk b/package/linux-pam/linux-pam.mk index c8ba30f74d..5c80e78416 100644 --- a/package/linux-pam/linux-pam.mk +++ b/package/linux-pam/linux-pam.mk @@ -16,15 +16,12 @@ LINUX_PAM_CONF_OPTS = \ --disable-regenerate-docu \ --enable-securedir=/lib/security \ --libdir=/lib -LINUX_PAM_DEPENDENCIES = flex host-flex host-pkgconf +LINUX_PAM_DEPENDENCIES = flex host-flex host-pkgconf \ + $(TARGET_NLS_DEPENDENCIES) LINUX_PAM_AUTORECONF = YES -LINUX_PAM_LICENSE = BSD-3c +LINUX_PAM_LICENSE = BSD-3-Clause LINUX_PAM_LICENSE_FILES = Copyright - -ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y) -LINUX_PAM_DEPENDENCIES += gettext -LINUX_PAM_MAKE_OPTS += LIBS=-lintl -endif +LINUX_PAM_MAKE_OPTS += LIBS=$(TARGET_NLS_LIBS) ifeq ($(BR2_PACKAGE_LIBSELINUX),y) LINUX_PAM_CONF_OPTS += --enable-selinux @@ -44,6 +41,13 @@ else LINUX_PAM_CONF_OPTS += --disable-audit endif +ifeq ($(BR2_PACKAGE_CRACKLIB),y) +LINUX_PAM_CONF_OPTS += --enable-cracklib +LINUX_PAM_DEPENDENCIES += cracklib +else +LINUX_PAM_CONF_OPTS += --disable-cracklib +endif + # Install default pam config (deny everything except login) define LINUX_PAM_INSTALL_CONFIG $(INSTALL) -m 0644 -D package/linux-pam/login.pam \ diff --git a/package/linux-syscall-support/linux-syscall-support.mk b/package/linux-syscall-support/linux-syscall-support.mk index 6833a62f13..b8145de496 100644 --- a/package/linux-syscall-support/linux-syscall-support.mk +++ b/package/linux-syscall-support/linux-syscall-support.mk @@ -8,7 +8,7 @@ LINUX_SYSCALL_SUPPORT_VERSION = 3f6478ac95edf86cd3da300c2c0d34a438f5dbeb LINUX_SYSCALL_SUPPORT_SITE = https://chromium.googlesource.com/linux-syscall-support LINUX_SYSCALL_SUPPORT_SITE_METHOD = git -LINUX_SYSCALL_SUPPORT_LICENSE = BSD-3c +LINUX_SYSCALL_SUPPORT_LICENSE = BSD-3-Clause LINUX_SYSCALL_SUPPORT_LICENSE_FILES = linux_syscall_support.h # Provide only one header file. @@ -22,7 +22,7 @@ endef define HOST_LINUX_SYSCALL_SUPPORT_INSTALL_CMDS $(INSTALL) -D -m 0644 $(@D)/linux_syscall_support.h \ - $(HOST_DIR)/usr/include/linux_syscall_support.h + $(HOST_DIR)/include/linux_syscall_support.h endef $(eval $(host-generic-package)) diff --git a/package/linux-tools/Config.in b/package/linux-tools/Config.in index db9ed9f19b..e3ccd850f9 100644 --- a/package/linux-tools/Config.in +++ b/package/linux-tools/Config.in @@ -8,18 +8,12 @@ config BR2_PACKAGE_LINUX_TOOLS config BR2_PACKAGE_LINUX_TOOLS_CPUPOWER bool "cpupower" depends on !BR2_bfin # pciutils - depends on BR2_USE_WCHAR || !BR2_NEEDS_GETTEXT # gettext select BR2_PACKAGE_LINUX_TOOLS select BR2_PACKAGE_PCIUTILS - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT help cpupower is a collection of tools to examine and tune power saving related features of your processor. -comment "cpupower needs a toolchain w/ wchar" - depends on !BR2_bfin - depends on !BR2_USE_WCHAR && BR2_NEEDS_GETTEXT - config BR2_PACKAGE_LINUX_TOOLS_GPIO bool "gpio" select BR2_PACKAGE_LINUX_TOOLS @@ -83,4 +77,12 @@ comment "selftests needs BR2_PACKAGE_BUSYBOX_SHOW_OTHERS" depends on BR2_USE_MMU depends on !BR2_PACKAGE_BUSYBOX_SHOW_OTHERS +config BR2_PACKAGE_LINUX_TOOLS_TMON + bool "tmon" + select BR2_PACKAGE_LINUX_TOOLS + select BR2_PACKAGE_NCURSES + help + tmon is a terminal-based tool (using curses) that allows the + user to access thermal information about the system. + endmenu diff --git a/package/linux-tools/linux-tool-cpupower.mk b/package/linux-tools/linux-tool-cpupower.mk deleted file mode 100644 index 9958cff805..0000000000 --- a/package/linux-tools/linux-tool-cpupower.mk +++ /dev/null @@ -1,41 +0,0 @@ -################################################################################ -# -# cpupower -# -################################################################################ - -LINUX_TOOLS += cpupower - -CPUPOWER_DEPENDENCIES = pciutils $(if $(BR2_NEEDS_GETTEXT),gettext) - -CPUPOWER_MAKE_OPTS = CROSS=$(TARGET_CROSS) \ - CPUFREQ_BENCH=false \ - NLS=false \ - $(if $(BR2_NEEDS_GETTEXT),LDFLAGS=-lintl) \ - DEBUG=false - -define CPUPOWER_BUILD_CMDS - $(Q)if test ! -f $(LINUX_DIR)/tools/power/cpupower/Makefile ; then \ - echo "Your kernel version is too old and does not have the cpupower tool." ; \ - echo "At least kernel 3.4 must be used." ; \ - exit 1 ; \ - fi - - $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \ - $(CPUPOWER_MAKE_OPTS) \ - cpupower -endef - -define CPUPOWER_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \ - $(CPUPOWER_MAKE_OPTS) \ - DESTDIR=$(STAGING_DIR) \ - cpupower_install -endef - -define CPUPOWER_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \ - $(CPUPOWER_MAKE_OPTS) \ - DESTDIR=$(TARGET_DIR) \ - cpupower_install -endef diff --git a/package/linux-tools/linux-tool-cpupower.mk.in b/package/linux-tools/linux-tool-cpupower.mk.in new file mode 100644 index 0000000000..2a2d3e01dd --- /dev/null +++ b/package/linux-tools/linux-tool-cpupower.mk.in @@ -0,0 +1,41 @@ +################################################################################ +# +# cpupower +# +################################################################################ + +LINUX_TOOLS += cpupower + +CPUPOWER_DEPENDENCIES = pciutils $(TARGET_NLS_DEPENDENCIES) + +CPUPOWER_MAKE_OPTS = CROSS=$(TARGET_CROSS) \ + CPUFREQ_BENCH=false \ + NLS=false \ + LDFLAGS=$(TARGET_NLS_LIBS) \ + DEBUG=false + +define CPUPOWER_BUILD_CMDS + $(Q)if test ! -f $(LINUX_DIR)/tools/power/cpupower/Makefile ; then \ + echo "Your kernel version is too old and does not have the cpupower tool." ; \ + echo "At least kernel 3.4 must be used." ; \ + exit 1 ; \ + fi + + $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \ + $(CPUPOWER_MAKE_OPTS) \ + cpupower +endef + +define CPUPOWER_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \ + $(CPUPOWER_MAKE_OPTS) \ + DESTDIR=$(STAGING_DIR) \ + cpupower_install +endef + +define CPUPOWER_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \ + $(CPUPOWER_MAKE_OPTS) \ + DESTDIR=$(TARGET_DIR) \ + cpupower_install +endef diff --git a/package/linux-tools/linux-tool-gpio.mk b/package/linux-tools/linux-tool-gpio.mk deleted file mode 100644 index ba75ab4c3f..0000000000 --- a/package/linux-tools/linux-tool-gpio.mk +++ /dev/null @@ -1,28 +0,0 @@ -################################################################################ -# -# gpio -# -################################################################################ - -LINUX_TOOLS += gpio - -GPIO_MAKE_OPTS = $(LINUX_MAKE_FLAGS) - -define GPIO_BUILD_CMDS - $(Q)if ! grep install $(LINUX_DIR)/tools/gpio/Makefile >/dev/null 2>&1 ; then \ - echo "Your kernel version is too old and does not have the gpio tools." ; \ - echo "At least kernel 4.8 must be used." ; \ - exit 1 ; \ - fi - - $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \ - $(GPIO_MAKE_OPTS) \ - gpio -endef - -define GPIO_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \ - $(GPIO_MAKE_OPTS) \ - DESTDIR=$(TARGET_DIR) \ - gpio_install -endef diff --git a/package/linux-tools/linux-tool-gpio.mk.in b/package/linux-tools/linux-tool-gpio.mk.in new file mode 100644 index 0000000000..d5a0dbda38 --- /dev/null +++ b/package/linux-tools/linux-tool-gpio.mk.in @@ -0,0 +1,28 @@ +################################################################################ +# +# gpio +# +################################################################################ + +LINUX_TOOLS += gpio + +GPIO_MAKE_OPTS = $(LINUX_MAKE_FLAGS) + +define GPIO_BUILD_CMDS + $(Q)if ! grep install $(LINUX_DIR)/tools/gpio/Makefile >/dev/null 2>&1 ; then \ + echo "Your kernel version is too old and does not have the gpio tools." ; \ + echo "At least kernel 4.8 must be used." ; \ + exit 1 ; \ + fi + + $(TARGET_MAKE_ENV) $(MAKE1) -C $(LINUX_DIR)/tools \ + $(GPIO_MAKE_OPTS) \ + gpio +endef + +define GPIO_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE1) -C $(LINUX_DIR)/tools \ + $(GPIO_MAKE_OPTS) \ + DESTDIR=$(TARGET_DIR) \ + gpio_install +endef diff --git a/package/linux-tools/linux-tool-iio.mk b/package/linux-tools/linux-tool-iio.mk.in similarity index 100% rename from package/linux-tools/linux-tool-iio.mk rename to package/linux-tools/linux-tool-iio.mk.in diff --git a/package/linux-tools/linux-tool-perf.mk b/package/linux-tools/linux-tool-perf.mk deleted file mode 100644 index 16f3a58cc4..0000000000 --- a/package/linux-tools/linux-tool-perf.mk +++ /dev/null @@ -1,134 +0,0 @@ -################################################################################ -# -# perf -# -################################################################################ - -LINUX_TOOLS += perf - -PERF_DEPENDENCIES = host-flex host-bison - -ifeq ($(KERNEL_ARCH),x86_64) -PERF_ARCH=x86 -else -PERF_ARCH=$(KERNEL_ARCH) -endif - -PERF_MAKE_FLAGS = \ - $(LINUX_MAKE_FLAGS) \ - JOBS=$(PARALLEL_JOBS) \ - ARCH=$(PERF_ARCH) \ - DESTDIR=$(TARGET_DIR) \ - prefix=/usr \ - WERROR=0 \ - NO_LIBAUDIT=1 \ - NO_NEWT=1 \ - NO_GTK2=1 \ - NO_LIBPERL=1 \ - NO_LIBPYTHON=1 \ - NO_LIBBIONIC=1 - -# We need to pass an argument to ld for setting the endianness when -# building it for MIPS architecture, otherwise the default one will -# always be used (which is big endian) and the compilation for little -# endian will always fail showing an error like this one: -# LD foo.o -# mips-linux-gnu-ld: foo.o: compiled for a little endian system and -# target is big endian -ifeq ($(BR2_mips)$(BR2_mips64),y) -PERF_MAKE_FLAGS += LD="$(TARGET_LD) -EB" -else ifeq ($(BR2_mipsel)$(BR2_mips64el),y) -PERF_MAKE_FLAGS += LD="$(TARGET_LD) -EL" -endif - -# The call to backtrace() function fails for ARC, because for some -# reason the unwinder from libgcc returns early. Thus the usage of -# backtrace() should be disabled in perf explicitly: at build time -# backtrace() appears to be available, but it fails at runtime: the -# backtrace will contain only several functions from the top of stack, -# instead of the complete backtrace. -ifeq ($(BR2_arc),y) -PERF_MAKE_FLAGS += NO_BACKTRACE=1 -endif - -ifeq ($(BR2_PACKAGE_SLANG),y) -PERF_DEPENDENCIES += slang -else -PERF_MAKE_FLAGS += NO_SLANG=1 -endif - -ifeq ($(BR2_PACKAGE_LIBUNWIND),y) -PERF_DEPENDENCIES += libunwind -else -PERF_MAKE_FLAGS += NO_LIBUNWIND=1 -endif - -ifeq ($(BR2_PACKAGE_NUMACTL),y) -PERF_DEPENDENCIES += numactl -else -PERF_MAKE_FLAGS += NO_LIBNUMA=1 -endif - -ifeq ($(BR2_PACKAGE_ELFUTILS),y) -PERF_DEPENDENCIES += elfutils -else -PERF_MAKE_FLAGS += NO_LIBELF=1 NO_DWARF=1 -endif - -ifeq ($(BR2_PACKAGE_ZLIB),y) -PERF_DEPENDENCIES += zlib -else -PERF_MAKE_FLAGS += NO_ZLIB=1 -endif - -# lzma is provided by xz -ifeq ($(BR2_PACKAGE_XZ),y) -PERF_DEPENDENCIES += xz -else -PERF_MAKE_FLAGS += NO_LZMA=1 -endif - -# We really do not want to build the perf documentation, because it -# has stringent requirement on the documentation generation tools, -# like xmlto and asciidoc), which may be lagging behind on some -# distributions. -# We name it 'GNUmakefile' so that GNU make will use it instead of -# the existing 'Makefile'. -define PERF_DISABLE_DOCUMENTATION - if [ -f $(LINUX_DIR)/tools/perf/Documentation/Makefile ]; then \ - printf "%%:\n\t@:\n" >$(LINUX_DIR)/tools/perf/Documentation/GNUmakefile; \ - fi -endef -LINUX_POST_PATCH_HOOKS += PERF_DISABLE_DOCUMENTATION - -# O must be redefined here to overwrite the one used by Buildroot for -# out of tree build. We build perf in $(LINUX_DIR)/tools/perf/ and not just -# $(LINUX_DIR) so that it isn't built in the root directory of the kernel -# sources. -define PERF_BUILD_CMDS - $(Q)if test ! -f $(LINUX_DIR)/tools/perf/Makefile ; then \ - echo "Your kernel version is too old and does not have the perf tool." ; \ - echo "At least kernel 2.6.31 must be used." ; \ - exit 1 ; \ - fi - $(Q)if test "$(BR2_PACKAGE_ELFUTILS)" = "" ; then \ - if ! grep -q NO_LIBELF $(LINUX_DIR)/tools/perf/Makefile* ; then \ - if ! test -r $(LINUX_DIR)/tools/perf/config/Makefile ; then \ - echo "The perf tool in your kernel cannot be built without libelf." ; \ - echo "Either upgrade your kernel to >= 3.7, or enable the elfutils package." ; \ - exit 1 ; \ - fi \ - fi \ - fi - $(TARGET_MAKE_ENV) $(MAKE1) $(PERF_MAKE_FLAGS) \ - -C $(LINUX_DIR)/tools/perf O=$(LINUX_DIR)/tools/perf/ -endef - -# After installation, we remove the Perl and Python scripts from the -# target. -define PERF_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE1) $(PERF_MAKE_FLAGS) \ - -C $(LINUX_DIR)/tools/perf O=$(LINUX_DIR)/tools/perf/ install - $(RM) -rf $(TARGET_DIR)/usr/libexec/perf-core/scripts/ - $(RM) -rf $(TARGET_DIR)/usr/libexec/perf-core/tests/ -endef diff --git a/package/linux-tools/linux-tool-perf.mk.in b/package/linux-tools/linux-tool-perf.mk.in new file mode 100644 index 0000000000..69492ba8da --- /dev/null +++ b/package/linux-tools/linux-tool-perf.mk.in @@ -0,0 +1,142 @@ +################################################################################ +# +# perf +# +################################################################################ + +LINUX_TOOLS += perf + +PERF_DEPENDENCIES = host-flex host-bison + +ifeq ($(KERNEL_ARCH),x86_64) +PERF_ARCH=x86 +else +PERF_ARCH=$(KERNEL_ARCH) +endif + +PERF_MAKE_FLAGS = \ + $(LINUX_MAKE_FLAGS) \ + JOBS=$(PARALLEL_JOBS) \ + ARCH=$(PERF_ARCH) \ + DESTDIR=$(TARGET_DIR) \ + prefix=/usr \ + WERROR=0 \ + NO_LIBAUDIT=1 \ + NO_NEWT=1 \ + NO_GTK2=1 \ + NO_LIBPERL=1 \ + NO_LIBPYTHON=1 \ + NO_LIBBIONIC=1 + +# We need to pass an argument to ld for setting the emulation when +# building for MIPS architecture, otherwise the default one will always +# be used and the compilation for most variants will fail. +ifeq ($(BR2_mips),y) +PERF_MAKE_FLAGS += LD="$(TARGET_LD) -m elf32btsmip" +else ifeq ($(BR2_mipsel),y) +PERF_MAKE_FLAGS += LD="$(TARGET_LD) -m elf32ltsmip" +else ifeq ($(BR2_mips64),y) +ifeq ($(BR2_MIPS_NABI32),y) +PERF_MAKE_FLAGS += LD="$(TARGET_LD) -m elf32btsmipn32" +else +PERF_MAKE_FLAGS += LD="$(TARGET_LD) -m elf64btsmip" +endif +else ifeq ($(BR2_mips64el),y) +ifeq ($(BR2_MIPS_NABI32),y) +PERF_MAKE_FLAGS += LD="$(TARGET_LD) -m elf32ltsmipn32" +else +PERF_MAKE_FLAGS += LD="$(TARGET_LD) -m elf64ltsmip" +endif +endif + +# The call to backtrace() function fails for ARC, because for some +# reason the unwinder from libgcc returns early. Thus the usage of +# backtrace() should be disabled in perf explicitly: at build time +# backtrace() appears to be available, but it fails at runtime: the +# backtrace will contain only several functions from the top of stack, +# instead of the complete backtrace. +ifeq ($(BR2_arc),y) +PERF_MAKE_FLAGS += NO_BACKTRACE=1 +endif + +ifeq ($(BR2_PACKAGE_SLANG),y) +PERF_DEPENDENCIES += slang +else +PERF_MAKE_FLAGS += NO_SLANG=1 +endif + +ifeq ($(BR2_PACKAGE_LIBUNWIND),y) +PERF_DEPENDENCIES += libunwind +else +PERF_MAKE_FLAGS += NO_LIBUNWIND=1 +endif + +ifeq ($(BR2_PACKAGE_NUMACTL),y) +PERF_DEPENDENCIES += numactl +else +PERF_MAKE_FLAGS += NO_LIBNUMA=1 +endif + +ifeq ($(BR2_PACKAGE_ELFUTILS),y) +PERF_DEPENDENCIES += elfutils +else +PERF_MAKE_FLAGS += NO_LIBELF=1 NO_DWARF=1 +endif + +ifeq ($(BR2_PACKAGE_ZLIB),y) +PERF_DEPENDENCIES += zlib +else +PERF_MAKE_FLAGS += NO_ZLIB=1 +endif + +# lzma is provided by xz +ifeq ($(BR2_PACKAGE_XZ),y) +PERF_DEPENDENCIES += xz +else +PERF_MAKE_FLAGS += NO_LZMA=1 +endif + +# We really do not want to build the perf documentation, because it +# has stringent requirement on the documentation generation tools, +# like xmlto and asciidoc), which may be lagging behind on some +# distributions. +# We name it 'GNUmakefile' so that GNU make will use it instead of +# the existing 'Makefile'. +define PERF_DISABLE_DOCUMENTATION + if [ -f $(LINUX_DIR)/tools/perf/Documentation/Makefile ]; then \ + printf "%%:\n\t@:\n" >$(LINUX_DIR)/tools/perf/Documentation/GNUmakefile; \ + fi +endef +LINUX_POST_PATCH_HOOKS += PERF_DISABLE_DOCUMENTATION + +# O must be redefined here to overwrite the one used by Buildroot for +# out of tree build. We build perf in $(LINUX_DIR)/tools/perf/ and not just +# $(LINUX_DIR) so that it isn't built in the root directory of the kernel +# sources. +define PERF_BUILD_CMDS + $(Q)if test ! -f $(LINUX_DIR)/tools/perf/Makefile ; then \ + echo "Your kernel version is too old and does not have the perf tool." ; \ + echo "At least kernel 2.6.31 must be used." ; \ + exit 1 ; \ + fi + $(Q)if test "$(BR2_PACKAGE_ELFUTILS)" = "" ; then \ + if ! grep -q NO_LIBELF $(LINUX_DIR)/tools/perf/Makefile* ; then \ + if ! test -r $(LINUX_DIR)/tools/perf/config/Makefile ; then \ + echo "The perf tool in your kernel cannot be built without libelf." ; \ + echo "Either upgrade your kernel to >= 3.7, or enable the elfutils package." ; \ + exit 1 ; \ + fi \ + fi \ + fi + $(TARGET_MAKE_ENV) $(MAKE1) $(PERF_MAKE_FLAGS) \ + -C $(LINUX_DIR)/tools/perf O=$(LINUX_DIR)/tools/perf/ +endef + +# After installation, we remove the Perl and Python scripts from the +# target. +define PERF_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE1) $(PERF_MAKE_FLAGS) \ + -C $(LINUX_DIR)/tools/perf O=$(LINUX_DIR)/tools/perf/ install + $(RM) -rf $(TARGET_DIR)/usr/libexec/perf-core/scripts/ + $(RM) -rf $(TARGET_DIR)/usr/libexec/perf-core/tests/ +endef diff --git a/package/linux-tools/linux-tool-selftests.mk b/package/linux-tools/linux-tool-selftests.mk.in similarity index 100% rename from package/linux-tools/linux-tool-selftests.mk rename to package/linux-tools/linux-tool-selftests.mk.in diff --git a/package/linux-tools/linux-tool-tmon.mk.in b/package/linux-tools/linux-tool-tmon.mk.in new file mode 100644 index 0000000000..15931c3124 --- /dev/null +++ b/package/linux-tools/linux-tool-tmon.mk.in @@ -0,0 +1,37 @@ +################################################################################ +# +# tmon +# +################################################################################ + +LINUX_TOOLS += tmon + +TMON_DEPENDENCIES = host-pkgconf ncurses +TMON_MAKE_OPTS = $(LINUX_MAKE_FLAGS) \ + CC=$(TARGET_CC) \ + PKG_CONFIG_PATH=$(STAGING_DIR)/usr/lib/pkgconfig + +ifeq ($(BR2_TOOLCHAIN_HAS_SSP),) +define TMON_DISABLE_STACK_PROTECTOR + $(SED) 's%-fstack-protector%%' $(LINUX_DIR)/tools/thermal/tmon/Makefile +endef +endif + +define TMON_BUILD_CMDS + $(Q)if ! grep install $(LINUX_DIR)/tools/thermal/tmon/Makefile >/dev/null 2>&1 ; then \ + echo "Your kernel version is too old and does not have the tmon tool." ; \ + echo "At least kernel 3.13 must be used." ; \ + exit 1 ; \ + fi + $(TMON_DISABLE_STACK_PROTECTOR) + $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \ + $(TMON_MAKE_OPTS) \ + tmon +endef + +define TMON_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \ + $(TMON_MAKE_OPTS) \ + INSTALL_ROOT=$(TARGET_DIR) \ + tmon_install +endef diff --git a/package/linux-tools/linux-tools.mk b/package/linux-tools/linux-tools.mk index 7fa8d194c6..ac4da59b17 100644 --- a/package/linux-tools/linux-tools.mk +++ b/package/linux-tools/linux-tools.mk @@ -10,15 +10,14 @@ # # So, all tools refer to $(LINUX_DIR) instead of $(@D). -# Note: we need individual tools .mk files to be included *before* this one -# to guarantee that each tool has a chance to register itself before we build -# the list of build and install hooks, below. -# -# This is currently guaranteed by the naming of each file: -# - they get included by the top-level Makefile, with $(sort $(wildcard ...)) -# - make's $(sort) function will aways sort in the C locale -# - the files names correctly sort out in the C locale so that each tool's -# .mk file is included before this one. +# Note: we need individual tools makefiles to be included *before* we build +# the list of build and install hooks below to guarantee that each tool has +# a chance to register itself once, and only once. Therefore, the makefiles +# are named linux-tool-*.mk.in, so they won't be picked up by the top-level +# Makefile, but can be included here, guaranteeing the single inclusion and +# the proper ordering. + +include $(sort $(wildcard package/linux-tools/*.mk.in)) # We only need the kernel to be extracted, not actually built LINUX_TOOLS_PATCH_DEPENDENCIES = linux diff --git a/package/linux-zigbee/Config.in b/package/linux-zigbee/Config.in index fc21faa441..ff2b0f7c99 100644 --- a/package/linux-zigbee/Config.in +++ b/package/linux-zigbee/Config.in @@ -40,7 +40,6 @@ config BR2_PACKAGE_LINUX_ZIGBEE_TESTS Enable this option to install the Linux-ZigBee test programs to the target. - config BR2_PACKAGE_LINUX_ZIGBEE_OLD_KERNEL_COMPAT bool "compatibility with older kernels" help diff --git a/package/linux-zigbee/linux-zigbee.mk b/package/linux-zigbee/linux-zigbee.mk index 1f4197f063..8d3248f2e1 100644 --- a/package/linux-zigbee/linux-zigbee.mk +++ b/package/linux-zigbee/linux-zigbee.mk @@ -6,7 +6,7 @@ LINUX_ZIGBEE_VERSION = v0.3.1 LINUX_ZIGBEE_SITE = git://linux-zigbee.git.sourceforge.net/gitroot/linux-zigbee/linux-zigbee -LINUX_ZIGBEE_LICENSE = GPLv2 +LINUX_ZIGBEE_LICENSE = GPL-2.0 LINUX_ZIGBEE_LICENSE_FILES = COPYING LINUX_ZIGBEE_DEPENDENCIES = libnl host-pkgconf host-flex host-bison @@ -15,6 +15,7 @@ LINUX_ZIGBEE_AUTORECONF = YES LINUX_ZIGBEE_CONF_OPTS = \ --disable-manpages \ + --disable-werror \ --with-leasefile="$(call qstrip,$(BR2_PACKAGE_LINUX_ZIGBEE_LEASEFILE))" ifeq ($(BR2_PACKAGE_LINUX_ZIGBEE_TESTS),y) diff --git a/package/linuxconsoletools/0001-conditional-build.patch b/package/linuxconsoletools/0001-conditional-build.patch new file mode 100644 index 0000000000..9f462a6436 --- /dev/null +++ b/package/linuxconsoletools/0001-conditional-build.patch @@ -0,0 +1,58 @@ +Selectively build groups of tools (inputattach, +joystick tools and/or force-feedback tools). + +Signed-off-by: Koen Martens + +diff -Naur a/utils/Makefile b/utils/Makefile +--- a/utils/Makefile 2016-04-19 23:28:36.000000000 +0200 ++++ b/utils/Makefile 2017-06-19 08:54:20.152184000 +0200 +@@ -27,8 +27,26 @@ + + CFLAGS ?= -g -O2 -Wall + +-PROGRAMS = inputattach jstest jscal fftest ffmvforce ffset \ +- ffcfstress jscal-restore jscal-store evdev-joystick ++PROGRAMS = ++ ++ifdef ENABLE_INPUTATTACH ++PROGRAMS += inputattach ++endif ++ ++ifdef ENABLE_JOYSTICK ++PROGRAMS += jstest ++PROGRAMS += jscal ++PROGRAMS += jscal-restore ++PROGRAMS += jscal-store ++PROGRAMS += evdev-joystick ++endif ++ ++ifdef ENABLE_FORCEFEEDBACK ++PROGRAMS += fftest ++PROGRAMS += ffmvforce ++PROGRAMS += ffset ++PROGRAMS += ffcfstress ++endif + + PREFIX ?= /usr/local + +@@ -79,13 +97,20 @@ + 80-stelladaptor-joystick.rules: 80-stelladaptor-joystick.rules.in + sed "s^@@PREFIX@@^$(PREFIX)^g" < $^ > $@ + ++INSTALL_DEP = compile ++ifdef ENABLE_JOYSTICK ++INSTALL_DEP += 80-stelladaptor-joystick.rules ++endif ++ + install: compile 80-stelladaptor-joystick.rules + install -d $(DESTDIR)$(PREFIX)/bin + install $(PROGRAMS) $(DESTDIR)$(PREFIX)/bin ++ifdef ENABLE_JOYSTICK + install -d $(DESTDIR)$(PREFIX)/share/joystick + install extract filter ident $(DESTDIR)$(PREFIX)/share/joystick + install -d $(DESTDIR)/lib/udev/rules.d + install js-set-enum-leds $(DESTDIR)/lib/udev + install -m 644 80-stelladaptor-joystick.rules $(DESTDIR)/lib/udev/rules.d ++endif + + .PHONY: compile clean distclean install diff --git a/package/linuxconsoletools/0002-sdl-config.patch b/package/linuxconsoletools/0002-sdl-config.patch new file mode 100644 index 0000000000..c19c274a83 --- /dev/null +++ b/package/linuxconsoletools/0002-sdl-config.patch @@ -0,0 +1,20 @@ +Specify sdl-config to use instead of using host sdl-config. + +Signed-off-by: Koen Martens + +diff -Naur a/utils/Makefile b/utils/Makefile +--- a/utils/Makefile 2017-06-16 18:48:28.402824790 +0200 ++++ b/utils/Makefile 2017-06-16 18:48:53.898696647 +0200 +@@ -69,10 +69,10 @@ + $(CC) $(CFLAGS) $(CPPFLAGS) -funsigned-char $^ $(LDFLAGS) -lm -o $@ + + ffmvforce.o: ffmvforce.c +- $(CC) $(CFLAGS) $(CPPFLAGS) -c $^ -o $@ `sdl-config --cflags` ++ $(CC) $(CFLAGS) $(CPPFLAGS) -c $^ -o $@ `${SDL_CONFIG} --cflags` + + ffmvforce: ffmvforce.o +- $(CC) $^ -o $@ $(LDFLAGS) -g -lm `sdl-config --libs` ++ $(CC) $^ -o $@ $(LDFLAGS) -g -lm `${SDL_CONFIG} --libs` + + axbtnmap.o: axbtnmap.c axbtnmap.h + diff --git a/package/linuxconsoletools/Config.in b/package/linuxconsoletools/Config.in new file mode 100644 index 0000000000..76150278ae --- /dev/null +++ b/package/linuxconsoletools/Config.in @@ -0,0 +1,36 @@ +config BR2_PACKAGE_LINUXCONSOLETOOLS + bool "linuxconsoletools" + select BR2_PACKAGE_LINUXCONSOLETOOLS_INPUTATTACH if \ + !BR2_PACKAGE_LINUXCONSOLETOOLS_JOYSTICK && \ + !BR2_PACKAGE_LINUXCONSOLETOOLS_FORCEFEEDBACK + help + Linuxconsoletools contains the inputattach utility + to attach legacy serial devices to the Linux kernel + input layer and joystick utilities to calibrate and + test joysticks and joypads. + + http://sf.net/projects/linuxconsole/ + +if BR2_PACKAGE_LINUXCONSOLETOOLS + +config BR2_PACKAGE_LINUXCONSOLETOOLS_INPUTATTACH + bool "inputattach" + default y + help + The inputattach utility attaches legacy serial devices + to the Linux kernel input layer. + +config BR2_PACKAGE_LINUXCONSOLETOOLS_JOYSTICK + bool "joystick utilities" + help + Joystick utilities (jstest, jscal, jscal-store, + jscal-restore, evdev-joystick). + +config BR2_PACKAGE_LINUXCONSOLETOOLS_FORCEFEEDBACK + bool "force-feedback utilities" + select BR2_PACKAGE_SDL + help + Build force-feedback driver utilities (fftest, + ffmvforce, ffset, ffcfstress). + +endif diff --git a/package/linuxconsoletools/linuxconsoletools.hash b/package/linuxconsoletools/linuxconsoletools.hash new file mode 100644 index 0000000000..756c9f434e --- /dev/null +++ b/package/linuxconsoletools/linuxconsoletools.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 ced2efed00b67b45f82eddc69be07385835d558f658016315ac621fe2eaa8146 linuxconsoletools-1.6.0.tar.bz2 diff --git a/package/linuxconsoletools/linuxconsoletools.mk b/package/linuxconsoletools/linuxconsoletools.mk new file mode 100644 index 0000000000..82ff4c3133 --- /dev/null +++ b/package/linuxconsoletools/linuxconsoletools.mk @@ -0,0 +1,41 @@ +################################################################################ +# +# linuxconsoletools +# +################################################################################ + +LINUXCONSOLETOOLS_VERSION = 1.6.0 +LINUXCONSOLETOOLS_SOURCE = linuxconsoletools-$(LINUXCONSOLETOOLS_VERSION).tar.bz2 +LINUXCONSOLETOOLS_SITE = https://downloads.sourceforge.net/project/linuxconsole +LINUXCONSOLETOOLS_LICENSE = GPL-2.0+ +LINUXCONSOLETOOLS_LICENSE_FILES = COPYING + +ifeq ($(BR2_PACKAGE_LINUXCONSOLETOOLS_INPUTATTACH),y) +LINUXCONSOLETOOLS_MAKE_OPTS += ENABLE_INPUTATTACH=1 +endif + +ifeq ($(BR2_PACKAGE_LINUXCONSOLETOOLS_JOYSTICK),y) +LINUXCONSOLETOOLS_MAKE_OPTS += ENABLE_JOYSTICK=1 +endif + +ifeq ($(BR2_PACKAGE_LINUXCONSOLETOOLS_FORCEFEEDBACK),y) +LINUXCONSOLETOOLS_MAKE_OPTS += \ + ENABLE_FORCEFEEDBACK=1 \ + SDL_CONFIG=$(STAGING_DIR)/usr/bin/sdl-config +LINUXCONSOLETOOLS_DEPENDENCIES += sdl +endif + +define LINUXCONSOLETOOLS_BUILD_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ + $(LINUXCONSOLETOOLS_MAKE_OPTS) +endef + +define LINUXCONSOLETOOLS_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ + $(LINUXCONSOLETOOLS_MAKE_OPTS) \ + DESTDIR="$(TARGET_DIR)" \ + PREFIX=/usr \ + install +endef + +$(eval $(generic-package)) diff --git a/package/linuxptp/Config.in b/package/linuxptp/Config.in new file mode 100644 index 0000000000..3e18a0cb13 --- /dev/null +++ b/package/linuxptp/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_LINUXPTP + bool "linuxptp" + help + The Linux PTP Project is the Precision Time Protocol + implementation according to IEEE standard 1588 for Linux. + + The dual design goals are to provide a robust implementation + of the standard and to use the most relevant and modern + Application Programming Interfaces (API) offered by the + Linux kernel. Supporting legacy APIs and other platforms is + not a goal. + + http://linuxptp.sourceforge.net/ diff --git a/package/linuxptp/S65linuxptp b/package/linuxptp/S65linuxptp new file mode 100755 index 0000000000..46b8921fdd --- /dev/null +++ b/package/linuxptp/S65linuxptp @@ -0,0 +1,46 @@ +#!/bin/sh +# +# Start linuxptp +# + +start() { + printf "Starting linuxptp daemon: " + start-stop-daemon -S -b -q -p /var/run/linuxptp-ptp4l.pid \ + -x /usr/sbin/ptp4l -- -f /etc/linuxptp.cfg + [ $? = 0 ] && echo "OK" || echo "FAIL" + + printf "Starting linuxptp system clock synchronization: " + start-stop-daemon -S -b -q -p /var/run/linuxptp-phc2sys.pid \ + -x /usr/sbin/phc2sys -- -s eth0 -c CLOCK_REALTIME -w -S 1.0 + [ $? = 0 ] && echo "OK" || echo "FAIL" +} + +stop() { + printf "Stopping linuxptp system clock synchronization: " + start-stop-daemon -K -q -p /var/run/linuxptp-phc2sys.pid \ + -x /usr/sbin/phc2sys + echo "OK" + + printf "Stopping linuxptp daemon: " + start-stop-daemon -K -q -p /var/run/linuxptp-ptp4l.pid \ + -x /usr/sbin/ptp4l + echo "OK" +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart|reload) + stop + start + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 +esac + +exit $? diff --git a/package/linuxptp/linuxptp-system-clock.service b/package/linuxptp/linuxptp-system-clock.service new file mode 100644 index 0000000000..73272542cd --- /dev/null +++ b/package/linuxptp/linuxptp-system-clock.service @@ -0,0 +1,11 @@ +[Unit] +Description=Precision Time Protocol system clock synchronization +After=syslog.target network.target + +[Service] +ExecStart=/usr/sbin/phc2sys -s /dev/ptp0 -c CLOCK_REALTIME -w -S 1.0 +Restart=always + +[Install] +WantedBy=multi-user.target +WantedBy=linuxptp.service diff --git a/package/linuxptp/linuxptp.cfg b/package/linuxptp/linuxptp.cfg new file mode 100644 index 0000000000..f9d02e8d97 --- /dev/null +++ b/package/linuxptp/linuxptp.cfg @@ -0,0 +1,19 @@ +# LinuxPTP configuration file for synchronizing the system clock to +# a remote PTP master in slave-only mode. +# +# By default synchronize time in slave-only mode using UDP and hardware time +# stamps on eth0. If the difference to master is >1.0 second correct by +# stepping the clock instead of adjusting the frequency. +# +# If you change the configuration don't forget to update the phc2sys +# parameters accordingly in linuxptp-system-clock.service (systemd) +# or the linuxptp SysV init script. + +[global] +slaveOnly 1 +delay_mechanism Auto +network_transport UDPv4 +time_stamping hardware +step_threshold 1.0 + +[eth0] diff --git a/package/linuxptp/linuxptp.hash b/package/linuxptp/linuxptp.hash new file mode 100644 index 0000000000..91144df973 --- /dev/null +++ b/package/linuxptp/linuxptp.hash @@ -0,0 +1,2 @@ +# Locally computed: +sha256 40844a69df82853113732f15498f9bce2666d5052293a3d5d40a1983e7b7b6a6 linuxptp-17c9787b1d6891636b5be9e4e5a08278b44e9a7a.tar.gz diff --git a/package/linuxptp/linuxptp.mk b/package/linuxptp/linuxptp.mk new file mode 100644 index 0000000000..38d8e09221 --- /dev/null +++ b/package/linuxptp/linuxptp.mk @@ -0,0 +1,50 @@ +################################################################################ +# +# linuxptp +# +################################################################################ + +LINUXPTP_VERSION = 17c9787b1d6891636b5be9e4e5a08278b44e9a7a +LINUXPTP_SITE_METHOD = git +LINUXPTP_SITE = git://git.code.sf.net/p/linuxptp/code +LINUXPTP_LICENSE = GPL-2.0+ +LINUXPTP_LICENSE_FILES = COPYING + +LINUXPTP_MAKE_ENV = \ + $(TARGET_MAKE_ENV) \ + CROSS_COMPILE="$(TARGET_CROSS)" \ + KBUILD_OUTPUT=$(STAGING_DIR) + +LINUXPTP_MAKE_OPTS = \ + prefix=/usr \ + EXTRA_CFLAGS="$(TARGET_CFLAGS)" \ + EXTRA_LDFLAGS="$(TARGET_LDFLAGS)" + +define LINUXPTP_BUILD_CMDS + $(LINUXPTP_MAKE_ENV) $(MAKE) $(LINUXPTP_MAKE_OPTS) -C $(@D) all +endef + +define LINUXPTP_INSTALL_TARGET_CMDS + $(LINUXPTP_MAKE_ENV) $(MAKE) $(LINUXPTP_MAKE_OPTS) \ + DESTDIR=$(TARGET_DIR) -C $(@D) install + + $(INSTALL) -D -m 644 $(LINUXPTP_PKGDIR)/linuxptp.cfg \ + $(TARGET_DIR)/etc/linuxptp.cfg +endef + +define LINUXPTP_INSTALL_INIT_SYSV + $(INSTALL) -m 755 -D $(LINUXPTP_PKGDIR)/S65linuxptp \ + $(TARGET_DIR)/etc/init.d/S65linuxptp +endef + +define LINUXPTP_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 $(LINUXPTP_PKGDIR)/linuxptp.service \ + $(TARGET_DIR)/usr/lib/systemd/system/linuxptp.service + $(INSTALL) -D -m 644 $(LINUXPTP_PKGDIR)/linuxptp-system-clock.service \ + $(TARGET_DIR)/usr/lib/systemd/system/linuxptp-system-clock.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf ../../../../usr/lib/systemd/system/linuxptp.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/linuxptp.service +endef + +$(eval $(generic-package)) diff --git a/package/linuxptp/linuxptp.service b/package/linuxptp/linuxptp.service new file mode 100644 index 0000000000..f690430633 --- /dev/null +++ b/package/linuxptp/linuxptp.service @@ -0,0 +1,11 @@ +[Unit] +Description=Precision Time Protocol daemon +After=syslog.target network.target +Wants=linuxptp-system-clock.service + +[Service] +ExecStart=/usr/sbin/ptp4l -f /etc/linuxptp.cfg +Restart=always + +[Install] +WantedBy=multi-user.target diff --git a/package/liquid-dsp/Config.in b/package/liquid-dsp/Config.in index dca39153bb..59ee7edb52 100644 --- a/package/liquid-dsp/Config.in +++ b/package/liquid-dsp/Config.in @@ -18,7 +18,6 @@ if BR2_PACKAGE_LIQUID_DSP config BR2_PACKAGE_LIQUID_DSP_FAST bool "optimize for speed over accuracy" - depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH help Optimize for speed over accuracy. diff --git a/package/liquid-dsp/liquid-dsp.hash b/package/liquid-dsp/liquid-dsp.hash index e32d8290ca..ecee47447c 100644 --- a/package/liquid-dsp/liquid-dsp.hash +++ b/package/liquid-dsp/liquid-dsp.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 d0f050b9d5137c43ba45a35b6c82bc8222eba86f772f4e2e46c91427647bb847 liquid-dsp-1191179b786703b3af20abf7e1404d91099b335d.tar.gz +sha256 b136343d644bc1441f7854f2d292bfa054e8d040c0b745879b205f6836dca0f0 liquid-dsp-v1.3.0.tar.gz diff --git a/package/liquid-dsp/liquid-dsp.mk b/package/liquid-dsp/liquid-dsp.mk index 35994137e9..e3114a2d15 100644 --- a/package/liquid-dsp/liquid-dsp.mk +++ b/package/liquid-dsp/liquid-dsp.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIQUID_DSP_VERSION = 1191179b786703b3af20abf7e1404d91099b335d +LIQUID_DSP_VERSION = v1.3.0 LIQUID_DSP_SITE = $(call github,jgaeddert,liquid-dsp,$(LIQUID_DSP_VERSION)) LIQUID_DSP_LICENSE = MIT LIQUID_DSP_LICENSE_FILES = LICENSE diff --git a/package/lirc-tools/0001-Fix-build-without-Python.patch b/package/lirc-tools/0001-Fix-build-without-Python.patch new file mode 100644 index 0000000000..b1940eac0d --- /dev/null +++ b/package/lirc-tools/0001-Fix-build-without-Python.patch @@ -0,0 +1,63 @@ +From 71f329d997d949d3c12d62d2f1473a1c99ee49b0 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Sun, 27 Aug 2017 21:30:37 +0300 +Subject: [PATCH] Fix build without Python + +Don't define HAVE_PYTHON35 when PYTHON_LIBS is empty. + +Also, don't build Python dependent code when HAVE_PYTHON35 is not +defined. + +This fixes build failures like: + +Makefile:1616: recipe for target 'python-pkg/dist/lirc-0.10.0.tar.gz' failed +make[3]: *** [python-pkg/dist/lirc-0.10.0.tar.gz] Error 1 +python-pkg/lirc/_client.c:1:20: fatal error: Python.h: No such file or directory + #include + ^ + +Signed-off-by: Baruch Siach +--- +Upstream status: commit 74a2bcab6b + + Makefile.am | 2 ++ + configure.ac | 3 ++- + 2 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index 9f3dd14340cc..d8164fcd44cf 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -104,6 +104,7 @@ dist_py_pkg_doc_DATA = python-pkg/doc/Doxyfile \ + + libpython = $(libdir)/python$(PYTHON_VERSION) + pydir = $(libpython)/site-packages/lirc ++if HAVE_PYTHON35 + py_LTLIBRARIES = python-pkg/lib/_client.la + python_pkg_lib__client_la_SOURCES = \ + python-pkg/lirc/_client.c +@@ -116,6 +117,7 @@ python_pkg_lib__client_la_LDFLAGS = \ + $(PYTHON_LIBS) + python_pkg_lib__client_la_LIBADD = \ + lib/liblirc_client.la ++endif + + pylint: .phony + $(MAKE) -C tools pylint +diff --git a/configure.ac b/configure.ac +index 4108688433f8..07d901deafdf 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -50,7 +50,8 @@ test -z "$PYTHON_LIBS" && \ + test -n "$PYTHON_LIBS" || \ + AC_MSG_WARN([No python package found (missing devel package?)]) + python_version_nodots=$(echo $PYTHON_VERSION | tr -d '.') +-AM_CONDITIONAL(HAVE_PYTHON35, [test $python_version_nodots -ge 35]) ++AM_CONDITIONAL(HAVE_PYTHON35, [test -n "$PYTHON_LIBS" && \ ++ test $python_version_nodots -ge 35]) + CFLAGS="$CFLAGS $PYTHON_CFLAGS" + + +-- +2.14.1 + diff --git a/package/lirc-tools/0001-tools-make_rel_symlink.py-can-also-use-python2.patch b/package/lirc-tools/0001-tools-make_rel_symlink.py-can-also-use-python2.patch deleted file mode 100644 index 070aab941c..0000000000 --- a/package/lirc-tools/0001-tools-make_rel_symlink.py-can-also-use-python2.patch +++ /dev/null @@ -1,28 +0,0 @@ -From c861eae83bae3116d330efb3c6061e2de4fdcbce Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Sun, 5 Apr 2015 22:26:12 +0300 -Subject: [PATCH] tools: make_rel_symlink.py can also use python2 - -The make_rel_symlink.py script is compatible with both python2 and python3. -Don't hard code a requirement for python3. - -Patch status: sent upstream - -Signed-off-by: Baruch Siach ---- - tools/make_rel_symlink.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tools/make_rel_symlink.py b/tools/make_rel_symlink.py -index 896637ff93e0..ff0403a0397a 100755 ---- a/tools/make_rel_symlink.py -+++ b/tools/make_rel_symlink.py -@@ -1,4 +1,4 @@ --#!/usr/bin/env python3 -+#!/usr/bin/env python - - import os - import os.path --- -2.1.4 - diff --git a/package/lirc-tools/0002-Fix-python-client-cross-compile.patch b/package/lirc-tools/0002-Fix-python-client-cross-compile.patch new file mode 100644 index 0000000000..02deefaf98 --- /dev/null +++ b/package/lirc-tools/0002-Fix-python-client-cross-compile.patch @@ -0,0 +1,47 @@ +From 13c4ffcfde07f659a836fba4a604dc1c5024bb90 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 29 Aug 2017 11:37:36 +0300 +Subject: [PATCH] Fix python client cross compile + +The setup.py setuptools wrapper needs to use a version of python built +specifically for cross compiling to cross compile successfully. Allow +setting that in the environment using the SETUPTOOLS_ENV variable. + +Fixes the following build failure: + +/usr/bin/ld: skipping incompatible .../lirc-tools-0.10.0/lib/.libs/liblirc_client.so when searching for -llirc_client +/usr/bin/ld: cannot find -llirc_client +collect2: error: ld returned 1 exit status +error: command '/usr/bin/gcc' failed with exit status 1 +Makefile:1578: recipe for target 'all-local' failed + +Signed-off-by: Baruch Siach +--- +Upstream status: https://sourceforge.net/p/lirc/tickets/308/ + + Makefile.am | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/Makefile.am b/Makefile.am +index d8164fcd44cf..a16be4278ae2 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -131,6 +131,7 @@ pep8: $(py_PYTHON) + if HAVE_PYTHON35 + all-local: + cd python-pkg; \ ++ $(SETUPTOOLS_ENV) \ + CFLAGS="-I$(abs_top_srcdir)/lib -I$(abs_builddir)/lib" \ + LDFLAGS=-L$(abs_builddir)/lib/.libs $(PYTHON) setup.py \ + $(if $(VERBOSE),,-q) build +@@ -179,6 +180,7 @@ $(abs_builddir)/python-pkg/setup.py: + $(PYTHON_TARBALL): $(abs_builddir)/python-pkg/setup.py + cp $(top_builddir)/VERSION $(abs_builddir)/python-pkg + cd $(abs_builddir)/python-pkg; CFLAGS=-I$(abs_top_srcdir)/lib \ ++ $(SETUPTOOLS_ENV) \ + LDFLAGS=-L$(abs_builddir)/lib/.libs $(PYTHON) setup.py -q sdist + + $(top_builddir)/python-pkg/VERSION: VERSION +-- +2.14.1 + diff --git a/package/lirc-tools/0002-configure-check-for-clock_gettime-in-librt.patch b/package/lirc-tools/0002-configure-check-for-clock_gettime-in-librt.patch deleted file mode 100644 index 710dfd3b05..0000000000 --- a/package/lirc-tools/0002-configure-check-for-clock_gettime-in-librt.patch +++ /dev/null @@ -1,54 +0,0 @@ -From e654ae139cec42a6f1b5684261787d0c241cfd3b Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Fri, 19 Aug 2016 15:25:48 +0200 -Subject: [PATCH] configure: check for clock_gettime in librt - -Signed-off-by: Thomas Petazzoni ---- - configure.ac | 3 +++ - daemons/Makefile.am | 2 +- - plugins/Makefile.am | 1 + - 3 files changed, 5 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 73340c7..466e638 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -67,6 +67,9 @@ AC_CHECK_FUNCS(gethostname gettimeofday mkfifo select socket strdup \ - AC_SEARCH_LIBS([dlopen], [dl dld], [], [ - AC_MSG_ERROR([unable to find the dlopen() function]) - ]) -+# glibc < 2.17 needs librt for clock_gettime() -+AC_CHECK_LIB(rt, clock_gettime, LIBCLOCK_GETTIME="-lrt") -+AC_SUBST(LIBCLOCK_GETTIME) - AC_CHECK_FUNCS(daemon) - if test "$ac_cv_func_daemon" != yes; then - daemon="" -diff --git a/daemons/Makefile.am b/daemons/Makefile.am -index 5625627..85a28f3 100644 ---- a/daemons/Makefile.am -+++ b/daemons/Makefile.am -@@ -21,7 +21,7 @@ sbin_PROGRAMS += lircd-uinput - endif - - lircd_SOURCES = lircd.cpp --lircd_LDADD = ../lib/liblirc.la -+lircd_LDADD = ../lib/liblirc.la @LIBCLOCK_GETTIME@ - - lircd_uinput_SOURCES = lircd-uinput.cpp - lircd_uinput_LDADD = ../lib/liblirc.la -diff --git a/plugins/Makefile.am b/plugins/Makefile.am -index ddff01d..45c012a 100644 ---- a/plugins/Makefile.am -+++ b/plugins/Makefile.am -@@ -127,6 +127,7 @@ zotac_la_SOURCES = zotac.c - - plugin_LTLIBRARIES += mplay.la - mplay_la_SOURCES = mplay.c -+mplay_la_LIBADD = @LIBCLOCK_GETTIME@ - endif - - $(srcdir)/pluginlist.am: --- -2.7.4 - diff --git a/package/lirc-tools/0003-lircd-Remove-use-of-functions-killed-in-kernel-4.8.0.patch b/package/lirc-tools/0003-lircd-Remove-use-of-functions-killed-in-kernel-4.8.0.patch deleted file mode 100644 index 9fe5256ceb..0000000000 --- a/package/lirc-tools/0003-lircd-Remove-use-of-functions-killed-in-kernel-4.8.0.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 45c590f64dd79e8e1704d5c94ce3456a5cdbfa5f Mon Sep 17 00:00:00 2001 -From: Alec Leamas -Date: Fri, 19 Aug 2016 04:48:02 +0200 -Subject: [PATCH] lircd: Remove use of functions killed in kernel 4.8.0 - -From 4.8.0 the kernel no longer supports LIRC_NOTIFY_DECODE, -LIRC_SETUP_START/LIRC_SETUP_END and several constants related -to initiating filters. Remove corresponding calls from lircd. - -[baruch: move DRVCTL_NOTIFY_DECODE into lircd.cpp] -Signed-off-by: Baruch Siach ---- -Patch status: backported from upstream 31fcc8aa39f62c5c ---- - daemons/lircd.cpp | 53 ++++------------------------------------------------- - 1 file changed, 4 insertions(+), 49 deletions(-) - -diff --git a/daemons/lircd.cpp b/daemons/lircd.cpp -index 782b6d3f8342..d778aa19308b 100644 ---- a/daemons/lircd.cpp -+++ b/daemons/lircd.cpp -@@ -78,6 +78,8 @@ - #define lirc_gid gid_t - #endif - -+#define DRVCTL_NOTIFY_DECODE 7 -+ - #ifdef DARWIN - #include - #define CLOCK_REALTIME 0 -@@ -462,50 +464,6 @@ static int setup_timeout(void) - } - - --static int setup_filter(void) --{ -- int ret1, ret2; -- lirc_t min_pulse_supported = 0, max_pulse_supported = 0; -- lirc_t min_space_supported = 0, max_space_supported = 0; -- -- if (!(curr_driver->features & LIRC_CAN_SET_REC_FILTER)) -- return 1; -- if (curr_driver->drvctl_func(LIRC_GET_MIN_FILTER_PULSE, -- &min_pulse_supported) == -1 || -- curr_driver->drvctl_func(LIRC_GET_MAX_FILTER_PULSE, &max_pulse_supported) == -1 -- || curr_driver->drvctl_func(LIRC_GET_MIN_FILTER_SPACE, &min_space_supported) == -1 -- || curr_driver->drvctl_func(LIRC_GET_MAX_FILTER_SPACE, &max_space_supported) == -1) { -- log_error("could not get filter range"); -- log_perror_err(__func__); -- } -- -- if (setup_min_pulse > max_pulse_supported) -- setup_min_pulse = max_pulse_supported; -- else if (setup_min_pulse < min_pulse_supported) -- setup_min_pulse = 0; /* disable filtering */ -- -- if (setup_min_space > max_space_supported) -- setup_min_space = max_space_supported; -- else if (setup_min_space < min_space_supported) -- setup_min_space = 0; /* disable filtering */ -- -- ret1 = curr_driver->drvctl_func(LIRC_SET_REC_FILTER_PULSE, &setup_min_pulse); -- ret2 = curr_driver->drvctl_func(LIRC_SET_REC_FILTER_SPACE, &setup_min_space); -- if (ret1 == -1 || ret2 == -1) { -- if (curr_driver-> -- drvctl_func(LIRC_SET_REC_FILTER, -- setup_min_pulse < setup_min_space ? &setup_min_pulse : &setup_min_space) == -1) { -- log_error("could not set filter"); -- log_perror_err(__func__); -- return 0; -- } -- } -- return 1; --} -- -- -- -- - static int setup_hardware(void) - { - int ret = 1; -@@ -514,10 +472,7 @@ static int setup_hardware(void) - if ((curr_driver->features & LIRC_CAN_SET_REC_CARRIER) - || (curr_driver->features & LIRC_CAN_SET_REC_TIMEOUT) - || (curr_driver->features & LIRC_CAN_SET_REC_FILTER)) { -- (void)curr_driver->drvctl_func(LIRC_SETUP_START, NULL); -- ret = setup_frequency() && setup_timeout() -- && setup_filter(); -- (void)curr_driver->drvctl_func(LIRC_SETUP_END, NULL); -+ ret = setup_frequency() && setup_timeout(); - } - } - return ret; -@@ -2162,7 +2117,7 @@ void loop(void) - int reps; - - if (curr_driver->drvctl_func && (curr_driver->features & LIRC_CAN_NOTIFY_DECODE)) -- curr_driver->drvctl_func(LIRC_NOTIFY_DECODE, NULL); -+ curr_driver->drvctl_func(DRVCTL_NOTIFY_DECODE, NULL); - - get_release_data(&remote_name, &button_name, &reps); - --- -2.9.3 - diff --git a/package/lirc-tools/0003-python-pkg-Fix-lirc-version-detection-when-cross-com.patch b/package/lirc-tools/0003-python-pkg-Fix-lirc-version-detection-when-cross-com.patch new file mode 100644 index 0000000000..04fbfe6ea2 --- /dev/null +++ b/package/lirc-tools/0003-python-pkg-Fix-lirc-version-detection-when-cross-com.patch @@ -0,0 +1,51 @@ +From 732fd31610a6790a927ea9ed6d660796a1641254 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Thu, 7 Sep 2017 08:12:01 +0200 +Subject: [PATCH] build: Fix lirc version detection when cross compiling. + +The setup.py script that runs on the host can't use the client library +built for target. So setup.py falls back to a wrong hard-coded VERSION +value. + +Instead of importing the target library, use exec() to read +lirc/config.py directly for its VERSION value. + +Fixes build failure: + +/usr/bin/install -c -m 644 ./python-pkg/dist/lirc-0.10.0.tar.gz \ + '.../output/host/arm-buildroot-linux-musleabihf/sysroot/usr/share/lirc' +/usr/bin/install: cannot stat './python-pkg/dist/lirc-0.10.0.tar.gz': \ + No such file or directory + +Signed-off-by: Baruch Siach +--- +Upstream status: commit 732fd31610a6 + + python-pkg/setup.py | 9 +++------ + 1 file changed, 3 insertions(+), 6 deletions(-) + +diff --git a/python-pkg/setup.py b/python-pkg/setup.py +index e9b33690f828..a2d92e0432aa 100644 +--- a/python-pkg/setup.py ++++ b/python-pkg/setup.py +@@ -6,14 +6,11 @@ import subprocess + import os.path + import os + +-try: +- import lirc.config +- VERSION = lirc.config.VERSION.replace('-devel','') +-except ImportError: +- VERSION='0.0.0' +- + from setuptools import setup, Extension + ++exec(open("lirc/config.py").read()) ++VERSION = VERSION.replace('-devel','') ++ + if 'CFLAGS' in os.environ: + cflags = os.environ['CFLAGS'].split() + if 'LDFLAGS' in os.environ: +-- +2.14.1 + diff --git a/package/lirc-tools/lirc-tools.hash b/package/lirc-tools/lirc-tools.hash index 239c7664d3..ed5ecfde9b 100644 --- a/package/lirc-tools/lirc-tools.hash +++ b/package/lirc-tools/lirc-tools.hash @@ -1,3 +1,5 @@ -# hash from http://sourceforge.net/projects/lirc/files/LIRC/0.9.4b/ -sha1 7cb2867de1b486708781413aa33568e0612fb912 lirc-0.9.4b.tar.bz2 -md5 9e3f2869a47bbd7c973dd63f30c13fc2 lirc-0.9.4b.tar.bz2 +# hash from https://sourceforge.net/projects/lirc/files/LIRC/0.10.1/ +sha1 9d6f6d18ac566a96ef4ca1d6909a4e8bc517d48a lirc-0.10.1.tar.bz2 +md5 86c3f8e4efaba10571addb8313d1e040 lirc-0.10.1.tar.bz2 +# Locally computed +sha256 8b753c60df2a7f5dcda2db72c38e448ca300c3b4f6000c1501fcb0bd5df414f2 lirc-0.10.1.tar.bz2 diff --git a/package/lirc-tools/lirc-tools.mk b/package/lirc-tools/lirc-tools.mk index bd0f96f337..a5165ad438 100644 --- a/package/lirc-tools/lirc-tools.mk +++ b/package/lirc-tools/lirc-tools.mk @@ -4,18 +4,26 @@ # ################################################################################ -LIRC_TOOLS_VERSION = 0.9.4b +LIRC_TOOLS_VERSION = 0.10.1 LIRC_TOOLS_SOURCE = lirc-$(LIRC_TOOLS_VERSION).tar.bz2 LIRC_TOOLS_SITE = http://downloads.sourceforge.net/project/lirc/LIRC/$(LIRC_TOOLS_VERSION) -LIRC_TOOLS_LICENSE = GPLv2+ +LIRC_TOOLS_LICENSE = GPL-2.0+ LIRC_TOOLS_LICENSE_FILES = COPYING LIRC_TOOLS_DEPENDENCIES = host-libxslt host-pkgconf host-python3 LIRC_TOOLS_INSTALL_STAGING = YES -# 0002-configure-check-for-clock_gettime-in-librt.patch +# Patching configure.ac and Makefile.am LIRC_TOOLS_AUTORECONF = YES -LIRC_TOOLS_CONF_ENV = XSLTPROC=yes -LIRC_TOOLS_CONF_OPTS = --without-x +LIRC_TOOLS_CONF_ENV = XSLTPROC=yes HAVE_WORKING_POLL=yes +LIRC_TOOLS_CONF_OPTS = --without-x --enable-devinput --enable-uinput + +ifeq ($(BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4),y) +LIRC_TOOLS_CONF_ENV += \ + DEVINPUT_HEADER=$(STAGING_DIR)/usr/include/linux/input-event-codes.h +else +LIRC_TOOLS_CONF_ENV += \ + DEVINPUT_HEADER=$(STAGING_DIR)/usr/include/linux/input.h +endif ifeq ($(BR2_PACKAGE_HAS_UDEV),y) LIRC_TOOLS_DEPENDENCIES += udev @@ -33,6 +41,15 @@ ifeq ($(BR2_PACKAGE_PORTAUDIO),y) LIRC_TOOLS_DEPENDENCIES += portaudio endif +ifeq ($(BR2_PACKAGE_LIBFTDI1),y) +LIRC_TOOLS_DEPENDENCIES += libftdi1 +endif + +ifeq ($(BR2_PACKAGE_PYTHON3),y) +LIRC_TOOLS_DEPENDENCIES += python3 host-python-setuptools +LIRC_TOOLS_MAKE_ENV += SETUPTOOLS_ENV="$(PKG_PYTHON_SETUPTOOLS_ENV)" +endif + define LIRC_TOOLS_INSTALL_INIT_SYSV $(INSTALL) -D -m 0755 package/lirc-tools/S25lircd \ $(TARGET_DIR)/etc/init.d/S25lircd diff --git a/package/lite/lite.mk b/package/lite/lite.mk index 9a1c917425..ddb55d46be 100644 --- a/package/lite/lite.mk +++ b/package/lite/lite.mk @@ -11,7 +11,7 @@ LITE_INSTALL_STAGING = YES LITE_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) LDFLAGS=-L$(STAGING_DIR)/usr/lib install LITE_CONF_ENV = DFB_CFLAGS=-I$(STAGING_DIR)/usr/include/directfb LITE_DEPENDENCIES = directfb -LITE_LICENSE = LGPLv2.1+ +LITE_LICENSE = LGPL-2.1+ LITE_LICENSE_FILES = COPYING define LITE_FINALIZE_INSTALL diff --git a/package/live555/Config.in b/package/live555/Config.in index 5018296c2e..dbd9dfd32e 100644 --- a/package/live555/Config.in +++ b/package/live555/Config.in @@ -2,8 +2,9 @@ config BR2_PACKAGE_LIVE555 bool "live555" depends on BR2_INSTALL_LIBSTDCPP help - LIVE555 Streaming Media forms a set of C++ libraries for multimedia - streaming, using open standard protocols (RTP/RTCP, RTSP, SIP). + LIVE555 Streaming Media forms a set of C++ libraries for + multimedia streaming, using open standard protocols + (RTP/RTCP, RTSP, SIP). http://www.live555.com/liveMedia/ diff --git a/package/live555/live555.hash b/package/live555/live555.hash index 16f7077440..67500fb2b7 100644 --- a/package/live555/live555.hash +++ b/package/live555/live555.hash @@ -1,4 +1,4 @@ # From http://live555.com/liveMedia/public/live555-latest-md5.txt -md5 df4ad1d60c2f5ae8155fb077bb011ab3 live.2016.03.16.tar.gz +md5 890ee3a3ea7a1df5843df9f9429170d7 live.2017.07.18.tar.gz # Locally generated -sha256 6f98a96d4cf6e986c7711f0a2431c02cb807a8107d6715eb491a6ed9d0446cf6 live.2016.03.16.tar.gz +sha256 b2e857e47a9bac09958cbf313f160265067555f66f9282f10c6419d63c620ab6 live.2017.07.18.tar.gz diff --git a/package/live555/live555.mk b/package/live555/live555.mk index f36cce34c1..dcd8a955f9 100644 --- a/package/live555/live555.mk +++ b/package/live555/live555.mk @@ -4,10 +4,10 @@ # ################################################################################ -LIVE555_VERSION = 2016.03.16 +LIVE555_VERSION = 2017.07.18 LIVE555_SOURCE = live.$(LIVE555_VERSION).tar.gz LIVE555_SITE = http://www.live555.com/liveMedia/public -LIVE555_LICENSE = LGPLv2.1+ +LIVE555_LICENSE = LGPL-2.1+ LIVE555_LICENSE_FILES = COPYING LIVE555_INSTALL_STAGING = YES diff --git a/package/ljlinenoise/Config.in b/package/ljlinenoise/Config.in index be83bdba50..61c80df0d1 100644 --- a/package/ljlinenoise/Config.in +++ b/package/ljlinenoise/Config.in @@ -1,9 +1,9 @@ config BR2_PACKAGE_LJLINENOISE bool "ljlinenoise" - # run-time dependency only - select BR2_PACKAGE_LJSYSCALL # ljsyscall is specifically for LuaJIT, not Lua. depends on BR2_PACKAGE_LUAJIT + # run-time dependency only + select BR2_PACKAGE_LJSYSCALL help ljlinenoise is a pure LuaJIT port of linenoise, a small alternative to readline and libedit. diff --git a/package/ljlinenoise/ljlinenoise.mk b/package/ljlinenoise/ljlinenoise.mk index aca635885a..edcbdc95df 100644 --- a/package/ljlinenoise/ljlinenoise.mk +++ b/package/ljlinenoise/ljlinenoise.mk @@ -4,9 +4,7 @@ # ################################################################################ -LJLINENOISE_VERSION_UPSTREAM = 0.1.2 -LJLINENOISE_VERSION = $(LJLINENOISE_VERSION_UPSTREAM)-1 -LJLINENOISE_SUBDIR = ljlinenoise-$(LJLINENOISE_VERSION_UPSTREAM) +LJLINENOISE_VERSION = 0.1.2-1 LJLINENOISE_LICENSE = MIT LJLINENOISE_LICENSE_FILES = $(LJLINENOISE_SUBDIR)/COPYRIGHT diff --git a/package/ljsyscall/Config.in b/package/ljsyscall/Config.in index 149e71d3fd..3af9dabe95 100644 --- a/package/ljsyscall/Config.in +++ b/package/ljsyscall/Config.in @@ -3,10 +3,10 @@ config BR2_PACKAGE_LJSYSCALL # ljsyscall is specifically for LuaJIT, not Lua. depends on BR2_PACKAGE_LUAJIT help - An FFI implementation of the Linux and NetBSD kernel ABIs for LuaJIT. + An FFI implementation of the Linux and NetBSD kernel ABIs for + LuaJIT. http://github.com/justincormack/ljsyscall comment "ljsyscall needs LuaJIT" depends on !BR2_PACKAGE_LUAJIT - diff --git a/package/ljsyscall/ljsyscall.hash b/package/ljsyscall/ljsyscall.hash index 2d67907ab8..114aa8420d 100644 --- a/package/ljsyscall/ljsyscall.hash +++ b/package/ljsyscall/ljsyscall.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 9b5ba2b5798c5bc33aa2158f3b44f730de12497c195764aa1bc3d3f1244df198 ljsyscall-v0.10.tar.gz +sha256 6e29503609bd966fed33dec1a1571b36bbdbc37bf1a828af6722ed0ead192ff1 ljsyscall-v0.12.tar.gz diff --git a/package/ljsyscall/ljsyscall.mk b/package/ljsyscall/ljsyscall.mk index 1c6c2c111f..45e9e82b87 100644 --- a/package/ljsyscall/ljsyscall.mk +++ b/package/ljsyscall/ljsyscall.mk @@ -4,7 +4,7 @@ # ################################################################################ -LJSYSCALL_VERSION = v0.10 +LJSYSCALL_VERSION = v0.12 LJSYSCALL_SITE = $(call github,justincormack,ljsyscall,$(LJSYSCALL_VERSION)) LJSYSCALL_LICENSE = MIT LJSYSCALL_LICENSE_FILES = COPYRIGHT diff --git a/package/lksctp-tools/lksctp-tools.mk b/package/lksctp-tools/lksctp-tools.mk index a36d6ca96e..5ac794e842 100644 --- a/package/lksctp-tools/lksctp-tools.mk +++ b/package/lksctp-tools/lksctp-tools.mk @@ -9,7 +9,7 @@ LKSCTP_TOOLS_SITE = http://downloads.sourceforge.net/project/lksctp/lksctp-tools LKSCTP_TOOLS_INSTALL_STAGING = YES # configure not shipped LKSCTP_TOOLS_AUTORECONF = YES -LKSCTP_TOOLS_LICENSE = LGPLv2.1 (library), GPLv2+ (programs) +LKSCTP_TOOLS_LICENSE = LGPL-2.1 (library), GPL-2.0+ (programs) LKSCTP_TOOLS_LICENSE_FILES = COPYING.lib COPYING LKSCTP_TOOLS_CONF_OPTS = --disable-tests diff --git a/package/lm-sensors/Config.in b/package/lm-sensors/Config.in index b035f5d0d5..60571b784f 100644 --- a/package/lm-sensors/Config.in +++ b/package/lm-sensors/Config.in @@ -38,9 +38,9 @@ config BR2_PACKAGE_LM_SENSORS_ISASET config BR2_PACKAGE_LM_SENSORS_PWMCONFIG bool "pwmconfig" help - Pwmconfig searches your sensors for pulse width modulation (PWM) - controls, and tests each one to see if it controls a fan on - your motherboard. + Pwmconfig searches your sensors for pulse width modulation + (PWM) controls, and tests each one to see if it controls a fan + on your motherboard. config BR2_PACKAGE_LM_SENSORS_SENSORS_DETECT bool "sensors-detect" diff --git a/package/lm-sensors/lm-sensors.mk b/package/lm-sensors/lm-sensors.mk index c198817881..f581b5cd8f 100644 --- a/package/lm-sensors/lm-sensors.mk +++ b/package/lm-sensors/lm-sensors.mk @@ -9,7 +9,7 @@ LM_SENSORS_SOURCE = lm-sensors_$(LM_SENSORS_VERSION).orig.tar.bz2 LM_SENSORS_SITE = http://snapshot.debian.org/archive/debian/20170208T211941Z/pool/main/l/lm-sensors LM_SENSORS_INSTALL_STAGING = YES LM_SENSORS_DEPENDENCIES = host-bison host-flex -LM_SENSORS_LICENSE = LGPLv2.1+ (libsensors), GPLv2+ (programs) +LM_SENSORS_LICENSE = LGPL-2.1+ (libsensors), GPL-2.0+ (programs) LM_SENSORS_LICENSE_FILES = COPYING.LGPL COPYING LM_SENSORS_BINS_ = bin/sensors-conf-convert diff --git a/package/lmbench/Config.in b/package/lmbench/Config.in index c4ea5223af..33778e4d97 100644 --- a/package/lmbench/Config.in +++ b/package/lmbench/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_LMBENCH bool "lmbench" depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC || BR2_TOOLCHAIN_HAS_THREADS # libtirpc - select BR2_PACKAGE_LIBTIRPC if !BR2_TOOLCHAIN_HAS_NATIVE_RPC depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_LIBTIRPC if !BR2_TOOLCHAIN_HAS_NATIVE_RPC help LMbench is a suite of simple, portable, ANSI/C microbenchmarks for UNIX/POSIX. diff --git a/package/lmbench/lmbench.mk b/package/lmbench/lmbench.mk index b62096d9f8..c52d6a5a39 100644 --- a/package/lmbench/lmbench.mk +++ b/package/lmbench/lmbench.mk @@ -7,7 +7,7 @@ LMBENCH_VERSION = 3.0-a9 LMBENCH_SOURCE = lmbench-$(LMBENCH_VERSION).tgz LMBENCH_SITE = http://downloads.sourceforge.net/project/lmbench/development/lmbench-$(LMBENCH_VERSION) -LMBENCH_LICENSE = lmbench license (based on GPLv2) +LMBENCH_LICENSE = lmbench license (based on GPL-2.0) LMBENCH_LICENSE_FILES = COPYING COPYING-2 LMBENCH_CFLAGS = $(TARGET_CFLAGS) diff --git a/package/localedef/0001-Don-t-include-xlocale.h.patch b/package/localedef/0001-Don-t-include-xlocale.h.patch new file mode 100644 index 0000000000..9a6c2f8e90 --- /dev/null +++ b/package/localedef/0001-Don-t-include-xlocale.h.patch @@ -0,0 +1,50 @@ +From: Bernhard Walle +Date: Mon, 2 Oct 2017 16:55:23 +0200 +Subject: [PATCH] Don't include + +This header has been removed in glibc 2.26: + +https://abi-laboratory.pro/tracker/changelog/glibc/2.26/log.html + +------------------------ >8 ------------------------ +* The nonstandard header has been removed. Most programs should + use instead. If you have a specific need for the definition of + locale_t with no other declarations, please contact + libc-alpha@sourceware.org and explain. +------------------------ 8< ------------------------ + +Signed-off-by: Bernhard Walle + +Upstream: https://git.pengutronix.de/cgit/ptxdist/tree/patches/localedef-eglibc-2.14.1-r17443-ptx1/0003-Don-t-include-xlocale.h.patch +Signed-off-by: Peter Seiderer +--- + eglibc/locale/langinfo.h | 2 +- + eglibc/locale/locale.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/eglibc/locale/langinfo.h b/eglibc/locale/langinfo.h +index 0a5336507196..76707a4584c1 100644 +--- a/eglibc/locale/langinfo.h ++++ b/eglibc/locale/langinfo.h +@@ -589,7 +589,7 @@ extern char *nl_langinfo (nl_item __item) __THROW; + more information. */ + + /* Get locale datatype definition. */ +-# include ++# include + + /* Just like nl_langinfo but get the information from the locale object L. */ + extern char *nl_langinfo_l (nl_item __item, __locale_t __l); +diff --git a/eglibc/locale/locale.h b/eglibc/locale/locale.h +index 2aa19e76acb2..18be711a2d40 100644 +--- a/eglibc/locale/locale.h ++++ b/eglibc/locale/locale.h +@@ -143,7 +143,7 @@ __END_NAMESPACE_STD + This is a proof-of-concept implementation. */ + + /* Get locale datatype definition. */ +-# include ++# include_next + + /* Return a reference to a data structure representing a set of locale + datasets. Unlike for the CATEGORY parameter for `setlocale' the diff --git a/package/localedef/localedef.mk b/package/localedef/localedef.mk index 1fe431aac0..11d9ba3848 100644 --- a/package/localedef/localedef.mk +++ b/package/localedef/localedef.mk @@ -16,7 +16,7 @@ HOST_LOCALEDEF_CONF_ENV = CFLAGS="$(HOST_CFLAGS) -fgnu89-inline" # The makefile does not implement an install target define HOST_LOCALEDEF_INSTALL_CMDS - $(INSTALL) -D -m 0755 $(@D)/localedef $(HOST_DIR)/usr/bin/localedef + $(INSTALL) -D -m 0755 $(@D)/localedef $(HOST_DIR)/bin/localedef endef $(eval $(host-autotools-package)) diff --git a/package/lockdev/lockdev.mk b/package/lockdev/lockdev.mk index a45e22e733..e491b132d3 100644 --- a/package/lockdev/lockdev.mk +++ b/package/lockdev/lockdev.mk @@ -9,7 +9,7 @@ LOCKDEV_VERSION = $(LOCKDEV_VERSION_MAJOR).0.3 LOCKDEV_SOURCE = lockdev_$(LOCKDEV_VERSION).orig.tar.gz LOCKDEV_PATCH = lockdev_$(LOCKDEV_VERSION)-1.6.diff.gz LOCKDEV_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/l/lockdev -LOCKDEV_LICENSE = LGPLv2.1 +LOCKDEV_LICENSE = LGPL-2.1 LOCKDEV_LICENSE_FILES = LICENSE LOCKDEV_INSTALL_STAGING = YES diff --git a/package/lockfile-progs/lockfile-progs.mk b/package/lockfile-progs/lockfile-progs.mk index deb9f90812..57df573d4a 100644 --- a/package/lockfile-progs/lockfile-progs.mk +++ b/package/lockfile-progs/lockfile-progs.mk @@ -8,7 +8,7 @@ LOCKFILE_PROGS_VERSION = 0.1.17 LOCKFILE_PROGS_SOURCE = lockfile-progs_$(LOCKFILE_PROGS_VERSION).tar.gz LOCKFILE_PROGS_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/l/lockfile-progs LOCKFILE_PROGS_DEPENDENCIES = liblockfile -LOCKFILE_PROGS_LICENSE = GPLv2 +LOCKFILE_PROGS_LICENSE = GPL-2.0 LOCKFILE_PROGS_LICENSE_FILES = COPYING LOCKFILE_BINS = \ diff --git a/package/log4cpp/0001-Fix-musl-compile.patch b/package/log4cpp/0001-Fix-musl-compile.patch deleted file mode 100644 index f1a13a072c..0000000000 --- a/package/log4cpp/0001-Fix-musl-compile.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 17562259fb6684f351a70b98b4f3b438927ba1aa Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Mon, 11 Jul 2016 22:58:31 +0200 -Subject: [PATCH] Fix musl compile. - -Include proper config.h (via log4cpp/Portability.hh) to fix the -evaluate of LOG4CPP_HAVE_STDINT_H in the file tests/Clock.hh - -Fixes: - - Clock.hh:17:13: error: 'int64_t' does not name a type - typedef int64_t usec_t; - -Signed-off-by: Peter Seiderer ---- - log4cpp/tests/Clock.hh | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/log4cpp/tests/Clock.hh b/log4cpp/tests/Clock.hh -index 4bf0ca4..45c6467 100644 ---- a/log4cpp/tests/Clock.hh -+++ b/log4cpp/tests/Clock.hh -@@ -6,6 +6,8 @@ - #ifndef __CLOCK_H - #define __CLOCK_H - -+#include -+ - #ifdef LOG4CPP_HAVE_STDINT_H - #include - #endif // LOG4CPP_HAVE_STDINT_H --- -2.8.1 - diff --git a/package/log4cpp/Config.in b/package/log4cpp/Config.in old mode 100755 new mode 100644 diff --git a/package/log4cpp/log4cpp.hash b/package/log4cpp/log4cpp.hash old mode 100755 new mode 100644 index 6467aabfd9..fd73988077 --- a/package/log4cpp/log4cpp.hash +++ b/package/log4cpp/log4cpp.hash @@ -1,3 +1,5 @@ # From http://sourceforge.net/projects/log4cpp/files/log4cpp-1.1.x%20%28new%29/log4cpp-1.1/ -md5 1e173df8ee97205f412ff84aa93b8fbe log4cpp-1.1.1.tar.gz -sha1 23aa5bd7d6f79992c92bad3e1c6d64a34f8fcf68 log4cpp-1.1.1.tar.gz +md5 b9e2cee932da987212f2c74b767b4d8b log4cpp-1.1.3.tar.gz +sha1 74f0fea7931dc1bc4e5cd34a6318cd2a51322041 log4cpp-1.1.3.tar.gz +# Locally computed +sha256 2cbbea55a5d6895c9f0116a9a9ce3afb86df383cd05c9d6c1a4238e5e5c8f51d log4cpp-1.1.3.tar.gz diff --git a/package/log4cpp/log4cpp.mk b/package/log4cpp/log4cpp.mk old mode 100755 new mode 100644 index df7109b227..8664a54385 --- a/package/log4cpp/log4cpp.mk +++ b/package/log4cpp/log4cpp.mk @@ -5,14 +5,17 @@ ################################################################################ LOG4CPP_VERSION_MAJOR = 1.1 -LOG4CPP_VERSION = $(LOG4CPP_VERSION_MAJOR).1 +LOG4CPP_VERSION = $(LOG4CPP_VERSION_MAJOR).3 LOG4CPP_SITE = http://downloads.sourceforge.net/project/log4cpp/log4cpp-1.1.x%20%28new%29/log4cpp-$(LOG4CPP_VERSION_MAJOR) LOG4CPP_SUBDIR = log4cpp # The "or later" is indicated in the HTML documentation -LOG4CPP_LICENSE = LGPLv2.1+ +LOG4CPP_LICENSE = LGPL-2.1+ LOG4CPP_LICENSE_FILES = log4cpp/COPYING LOG4CPP_INSTALL_STAGING = YES LOG4CPP_CONF_OPTS = --enable-doxygen=no --enable-dot=no +# needed to fix broken configure script +LOG4CPP_AUTORECONF = YES +LOG4CPP_AUTORECONF_OPTS = -I m4 # The default _CONFIG_SCRIPTS handling does not apply define LOG4CPP_STAGING_CONFIG_SCRIPT_FIXUP diff --git a/package/log4cxx/Config.in b/package/log4cxx/Config.in index 6ec67b62ef..bf739a43ca 100644 --- a/package/log4cxx/Config.in +++ b/package/log4cxx/Config.in @@ -1,12 +1,12 @@ config BR2_PACKAGE_LOG4CXX bool "log4cxx" - select BR2_PACKAGE_APR - select BR2_PACKAGE_APR_UTIL # apr really needs shared library support depends on !BR2_STATIC_LIBS depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # apr + select BR2_PACKAGE_APR + select BR2_PACKAGE_APR_UTIL help Apache log4cxx is a logging framework for C++ patterned after Apache log4j. diff --git a/package/logrotate/Config.in b/package/logrotate/Config.in index 8528361b12..eea9ec2a36 100644 --- a/package/logrotate/Config.in +++ b/package/logrotate/Config.in @@ -1,12 +1,12 @@ config BR2_PACKAGE_LOGROTATE bool "logrotate" - select BR2_PACKAGE_POPT depends on BR2_USE_WCHAR depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_POPT help A simple program to rotate logs. - https://fedorahosted.org/logrotate/ + https://github.com/logrotate/logrotate comment "logrotate needs a toolchain w/ wchar" depends on BR2_USE_MMU diff --git a/package/logrotate/logrotate.hash b/package/logrotate/logrotate.hash index 4985a17a87..70b068c67f 100644 --- a/package/logrotate/logrotate.hash +++ b/package/logrotate/logrotate.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 62aa0229cfd34c7b6ea6a6736d569983bf4a3dd1f3c9e9c2efe2ffe2a0a55cf2 logrotate-3.11.0.tar.gz +sha256 fb1ff8502e7ae4aedaa3d0da8d3740a6a0f44b72e34666af724e9094b166c942 logrotate-3.13.0.tar.gz diff --git a/package/logrotate/logrotate.mk b/package/logrotate/logrotate.mk index 5fd779e644..c2c4885646 100644 --- a/package/logrotate/logrotate.mk +++ b/package/logrotate/logrotate.mk @@ -4,9 +4,9 @@ # ################################################################################ -LOGROTATE_VERSION = 3.11.0 +LOGROTATE_VERSION = 3.13.0 LOGROTATE_SITE = $(call github,logrotate,logrotate,$(LOGROTATE_VERSION)) -LOGROTATE_LICENSE = GPLv2+ +LOGROTATE_LICENSE = GPL-2.0+ LOGROTATE_LICENSE_FILES = COPYING LOGROTATE_DEPENDENCIES = popt host-pkgconf # tarball does not have a generated configure script diff --git a/package/logsurfer/Config.in b/package/logsurfer/Config.in index d4218bce7e..43e2f519e6 100644 --- a/package/logsurfer/Config.in +++ b/package/logsurfer/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_LOGSURFER bool "logsurfer" depends on BR2_USE_MMU # fork() help - Logsurfer is a program for monitoring system logs in real-time, - and reporting on the occurrence of events. + Logsurfer is a program for monitoring system logs in + real-time, and reporting on the occurrence of events. http://www.crypt.gen.nz/logsurfer/ diff --git a/package/logsurfer/logsurfer.hash b/package/logsurfer/logsurfer.hash index 2c14078f76..539a41a3ce 100644 --- a/package/logsurfer/logsurfer.hash +++ b/package/logsurfer/logsurfer.hash @@ -1,2 +1,3 @@ -# Locally computed: -sha256 74a36e8530a884031b4ae2344a46b9aaa07a1ee36d143802f6b64f817c5bd1af logsurfer-1.8.tar.gz +# From https://www.crypt.gen.nz/logsurfer/ +md5 4c26a74d813ccf766117c95c644aa601 logsurfer-1.8.tar.gz +sha256 74a36e8530a884031b4ae2344a46b9aaa07a1ee36d143802f6b64f817c5bd1af logsurfer-1.8.tar.gz diff --git a/package/lpc3250loader/Config.in.host b/package/lpc3250loader/Config.in.host index 9371f13430..946820a55b 100644 --- a/package/lpc3250loader/Config.in.host +++ b/package/lpc3250loader/Config.in.host @@ -1,7 +1,7 @@ config BR2_PACKAGE_HOST_LPC3250LOADER bool "host lpc3250loader" help - lpc3250loader is a tool to load/burn programs (in particular kickstart - and S1L) on an LPC3250 platform. + lpc3250loader is a tool to load/burn programs (in particular + kickstart and S1L) on an LPC3250 platform. https://github.com/alexandrebelloni/lpc3250loader diff --git a/package/lpc3250loader/lpc3250loader.mk b/package/lpc3250loader/lpc3250loader.mk index 042e364f12..ee153fefd9 100644 --- a/package/lpc3250loader/lpc3250loader.mk +++ b/package/lpc3250loader/lpc3250loader.mk @@ -6,12 +6,12 @@ HOST_LPC3250LOADER_VERSION = 1.0 HOST_LPC3250LOADER_SITE = $(call github,alexandrebelloni,lpc3250loader,$(HOST_LPC3250LOADER_VERSION)) -LPC3250LOADER_LICENSE = GPLv2+ +LPC3250LOADER_LICENSE = GPL-2.0+ LPC3250LOADER_LICENSE_FILES = LPC3250loader.py define HOST_LPC3250LOADER_INSTALL_CMDS $(INSTALL) -m 0755 -D $(@D)/LPC3250loader.py \ - $(HOST_DIR)/usr/bin/LPC3250loader.py + $(HOST_DIR)/bin/LPC3250loader.py endef $(eval $(host-generic-package)) diff --git a/package/lpeg/lpeg.hash b/package/lpeg/lpeg.hash index 50e66d1204..9261674866 100644 --- a/package/lpeg/lpeg.hash +++ b/package/lpeg/lpeg.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 e70c7cf8d7b8feddd8a41235d0ebb27bb60fbe7f31c8364ad23ee30a7f0cc26e lpeg-1.0.0-1.src.rock +sha256 149be31e0155c4694f77ea7264d9b398dd134eca0d00ff03358d91a6cfb2ea9d lpeg-1.0.1-1.src.rock diff --git a/package/lpeg/lpeg.mk b/package/lpeg/lpeg.mk index 0754f00d60..1541f33cc0 100644 --- a/package/lpeg/lpeg.mk +++ b/package/lpeg/lpeg.mk @@ -4,7 +4,7 @@ # ################################################################################ -LPEG_VERSION = 1.0.0-1 +LPEG_VERSION = 1.0.1-1 LPEG_LICENSE = MIT $(eval $(luarocks-package)) diff --git a/package/lpty/lpty.mk b/package/lpty/lpty.mk index 963ab61103..5a691256c1 100644 --- a/package/lpty/lpty.mk +++ b/package/lpty/lpty.mk @@ -4,8 +4,7 @@ # ################################################################################ -LPTY_VERSION_UPSTREAM = 1.0.1 -LPTY_VERSION = $(LPTY_VERSION_UPSTREAM)-1 +LPTY_VERSION = 1.0.1-1 LPTY_SUBDIR = lpty-$(LPTY_VERSION) LPTY_LICENSE = MIT LPTY_LICENSE_FILES = $(LPTY_SUBDIR)/doc/LICENSE diff --git a/package/lrzsz/lrzsz.mk b/package/lrzsz/lrzsz.mk index a283dd1a30..5dac07a295 100644 --- a/package/lrzsz/lrzsz.mk +++ b/package/lrzsz/lrzsz.mk @@ -7,7 +7,7 @@ LRZSZ_VERSION = 0.12.20 LRZSZ_SITE = http://www.ohse.de/uwe/releases LRZSZ_CONF_OPTS = --disable-timesync -LRZSZ_LICENSE = GPLv2+ +LRZSZ_LICENSE = GPL-2.0+ LRZSZ_LICENSE_FILES = COPYING define LRZSZ_POST_CONFIGURE_HOOKS diff --git a/package/lshw/Config.in b/package/lshw/Config.in index 8cc935ab4d..3caac66c72 100644 --- a/package/lshw/Config.in +++ b/package/lshw/Config.in @@ -2,10 +2,10 @@ config BR2_PACKAGE_LSHW bool "lshw" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE help lshw (Hardware Lister) is a small tool to provide - detailed information on the hardware configuration of the machine. + detailed information on the hardware configuration of the + machine. http://ezix.org/project/wiki/HardwareLiSter diff --git a/package/lshw/lshw.mk b/package/lshw/lshw.mk index 32c0bc0d69..9b52b09167 100644 --- a/package/lshw/lshw.mk +++ b/package/lshw/lshw.mk @@ -6,20 +6,15 @@ LSHW_VERSION = B.02.18 LSHW_SITE = http://ezix.org/software/files -LSHW_LICENSE = GPLv2 +LSHW_LICENSE = GPL-2.0 LSHW_LICENSE_FILES = COPYING -LSHW_CFLAGS = $(TARGET_CFLAGS) -ifeq ($(BR2_ENABLE_LOCALE),) -LSHW_CFLAGS += -DNONLS -endif - LSHW_MAKE_OPTS = CC="$(TARGET_CC)" CXX="$(TARGET_CXX)" AR="$(TARGET_AR)" \ - RPM_OPT_FLAGS="$(LSHW_CFLAGS)" all + RPM_OPT_FLAGS="$(TARGET_CFLAGS)" all LSHW_MAKE_ENV = \ $(TARGET_MAKE_ENV) \ - LIBS="$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),-lintl)" -LSHW_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) + LIBS=$(TARGET_NLS_LIBS) +LSHW_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) define LSHW_BUILD_CMDS $(LSHW_MAKE_ENV) $(MAKE) -C $(@D)/src $(LSHW_MAKE_OPTS) diff --git a/package/lsqlite3/Config.in b/package/lsqlite3/Config.in index cc431ae08d..223fb59c91 100644 --- a/package/lsqlite3/Config.in +++ b/package/lsqlite3/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_LSQLITE3 bool "lsqlite3" - select BR2_PACKAGE_SQLITE depends on BR2_PACKAGE_HAS_LUAINTERPRETER + select BR2_PACKAGE_SQLITE help a thin Lua wrapper for the SQLite3 library. diff --git a/package/lsscsi/Config.in b/package/lsscsi/Config.in new file mode 100644 index 0000000000..1c856863a4 --- /dev/null +++ b/package/lsscsi/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_LSSCSI + bool "lsscsi" + help + lsscsi - list SCSI devices (or hosts) and their attributes + + http://sg.danny.cz/scsi/lsscsi.html diff --git a/package/lsscsi/lsscsi.hash b/package/lsscsi/lsscsi.hash new file mode 100644 index 0000000000..d39da9bc80 --- /dev/null +++ b/package/lsscsi/lsscsi.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 025d009a1af42bc5b2fca664c44c9ecdfd754356e4a44f5c6aced2420afadd50 lsscsi-0.28.tgz diff --git a/package/lsscsi/lsscsi.mk b/package/lsscsi/lsscsi.mk new file mode 100644 index 0000000000..649aad9a38 --- /dev/null +++ b/package/lsscsi/lsscsi.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# lsscsi +# +################################################################################ + +LSSCSI_VERSION = 0.28 +LSSCSI_SOURCE = lsscsi-$(LSSCSI_VERSION).tgz +LSSCSI_SITE = http://sg.danny.cz/scsi +LSSCSI_LICENSE = GPL-2.0+ +LSSCSI_LICENSE_FILES = COPYING + +$(eval $(autotools-package)) diff --git a/package/lsuio/lsuio.mk b/package/lsuio/lsuio.mk index 5f8a9658f3..193de15aef 100644 --- a/package/lsuio/lsuio.mk +++ b/package/lsuio/lsuio.mk @@ -6,7 +6,7 @@ LSUIO_VERSION = 0.2.0 LSUIO_SITE = http://www.osadl.org/projects/downloads/UIO/user -LSUIO_LICENSE = GPLv2 +LSUIO_LICENSE = GPL-2.0 LSUIO_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/ltp-testsuite/0004-rusers.h-is-unused-and-not-available-for-uClibc-ng-l.patch b/package/ltp-testsuite/0004-rusers.h-is-unused-and-not-available-for-uClibc-ng-l.patch deleted file mode 100644 index fc3dce97e0..0000000000 --- a/package/ltp-testsuite/0004-rusers.h-is-unused-and-not-available-for-uClibc-ng-l.patch +++ /dev/null @@ -1,157 +0,0 @@ -From 780bec6c2742231ca73d4dee51c727815cf857b3 Mon Sep 17 00:00:00 2001 -From: Erico Nunes -Date: Fri, 30 Sep 2016 17:45:31 +0200 -Subject: [PATCH] rusers.h is unused and not available for uClibc-ng / libtirpc - -Signed-off-by: Waldemar Brodkorb -[Erico: Rebase for ltp 20160920] -Signed-off-by: Erico Nunes ---- - .../tests_pack/rpc_suite/rpc/rpc_auth_auth_destroy/rpc_auth_destroy.c | 1 - - .../rpc_suite/rpc/rpc_auth_authnone_create/rpc_authnone_create.c | 1 - - .../rpc_suite/rpc/rpc_auth_authunix_create/rpc_authunix_create.c | 1 - - .../rpc/rpc_auth_authunix_create_default/rpc_authunix_create_default.c | 1 - - .../rpc_suite/rpc/rpc_createdestroy_clnttcp_create/rpc_clnttcp_create.c | 1 - - .../rpc/rpc_createdestroy_clnttcp_create/rpc_clnttcp_create_limits.c | 1 - - .../rpc/rpc_createdestroy_clnttcp_create/rpc_clnttcp_create_stress.c | 1 - - .../rpc/rpc_createdestroy_clntudp_bufcreate/rpc_clntudp_bufcreate.c | 1 - - .../rpc_createdestroy_clntudp_bufcreate/rpc_clntudp_bufcreate_limits.c | 1 - - .../rpc_suite/rpc/rpc_createdestroy_clntudp_create/rpc_clntudp_create.c | 1 - - .../rpc/rpc_createdestroy_clntudp_create/rpc_clntudp_create_stress.c | 1 - - 11 files changed, 11 deletions(-) - -diff --git a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_auth_auth_destroy/rpc_auth_destroy.c b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_auth_auth_destroy/rpc_auth_destroy.c -index 7f157e1..728c023 100644 ---- a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_auth_auth_destroy/rpc_auth_destroy.c -+++ b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_auth_auth_destroy/rpc_auth_destroy.c -@@ -30,7 +30,6 @@ - #include - #include - #include --#include - #include - #include - #include -diff --git a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_auth_authnone_create/rpc_authnone_create.c b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_auth_authnone_create/rpc_authnone_create.c -index d9a3111..8d80a5e 100644 ---- a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_auth_authnone_create/rpc_authnone_create.c -+++ b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_auth_authnone_create/rpc_authnone_create.c -@@ -30,7 +30,6 @@ - #include - #include - #include --#include - #include - #include - #include -diff --git a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_auth_authunix_create/rpc_authunix_create.c b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_auth_authunix_create/rpc_authunix_create.c -index cabffc7..a4d1d6f 100644 ---- a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_auth_authunix_create/rpc_authunix_create.c -+++ b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_auth_authunix_create/rpc_authunix_create.c -@@ -30,7 +30,6 @@ - #include - #include - #include --#include - #include - #include - #include -diff --git a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_auth_authunix_create_default/rpc_authunix_create_default.c b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_auth_authunix_create_default/rpc_authunix_create_default.c -index 4f10466..863aec7 100644 ---- a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_auth_authunix_create_default/rpc_authunix_create_default.c -+++ b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_auth_authunix_create_default/rpc_authunix_create_default.c -@@ -30,7 +30,6 @@ - #include - #include - #include --#include - #include - #include - #include -diff --git a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_createdestroy_clnttcp_create/rpc_clnttcp_create.c b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_createdestroy_clnttcp_create/rpc_clnttcp_create.c -index 290f357..e849468 100644 ---- a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_createdestroy_clnttcp_create/rpc_clnttcp_create.c -+++ b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_createdestroy_clnttcp_create/rpc_clnttcp_create.c -@@ -30,7 +30,6 @@ - #include - #include - #include --#include - #include - #include - #include -diff --git a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_createdestroy_clnttcp_create/rpc_clnttcp_create_limits.c b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_createdestroy_clnttcp_create/rpc_clnttcp_create_limits.c -index 55bac16..8c1800b 100644 ---- a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_createdestroy_clnttcp_create/rpc_clnttcp_create_limits.c -+++ b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_createdestroy_clnttcp_create/rpc_clnttcp_create_limits.c -@@ -30,7 +30,6 @@ - #include - #include - #include --#include - #include - #include - #include -diff --git a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_createdestroy_clnttcp_create/rpc_clnttcp_create_stress.c b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_createdestroy_clnttcp_create/rpc_clnttcp_create_stress.c -index 09d1bf9..384a00d 100644 ---- a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_createdestroy_clnttcp_create/rpc_clnttcp_create_stress.c -+++ b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_createdestroy_clnttcp_create/rpc_clnttcp_create_stress.c -@@ -30,7 +30,6 @@ - #include - #include - #include --#include - #include - #include - #include -diff --git a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_createdestroy_clntudp_bufcreate/rpc_clntudp_bufcreate.c b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_createdestroy_clntudp_bufcreate/rpc_clntudp_bufcreate.c -index 3e15306..285eb21 100644 ---- a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_createdestroy_clntudp_bufcreate/rpc_clntudp_bufcreate.c -+++ b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_createdestroy_clntudp_bufcreate/rpc_clntudp_bufcreate.c -@@ -30,7 +30,6 @@ - #include - #include - #include --#include - #include - #include - #include -diff --git a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_createdestroy_clntudp_bufcreate/rpc_clntudp_bufcreate_limits.c b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_createdestroy_clntudp_bufcreate/rpc_clntudp_bufcreate_limits.c -index a7030a2..1f2690a 100644 ---- a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_createdestroy_clntudp_bufcreate/rpc_clntudp_bufcreate_limits.c -+++ b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_createdestroy_clntudp_bufcreate/rpc_clntudp_bufcreate_limits.c -@@ -30,7 +30,6 @@ - #include - #include - #include --#include - #include - #include - #include -diff --git a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_createdestroy_clntudp_create/rpc_clntudp_create.c b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_createdestroy_clntudp_create/rpc_clntudp_create.c -index 06f4740..faa8ef6 100644 ---- a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_createdestroy_clntudp_create/rpc_clntudp_create.c -+++ b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_createdestroy_clntudp_create/rpc_clntudp_create.c -@@ -30,7 +30,6 @@ - #include - #include - #include --#include - #include - #include - #include -diff --git a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_createdestroy_clntudp_create/rpc_clntudp_create_stress.c b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_createdestroy_clntudp_create/rpc_clntudp_create_stress.c -index ca38aa0..974f5fb 100644 ---- a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_createdestroy_clntudp_create/rpc_clntudp_create_stress.c -+++ b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_createdestroy_clntudp_create/rpc_clntudp_create_stress.c -@@ -30,7 +30,6 @@ - #include - #include - #include --#include - #include - #include - #include --- -2.7.4 - diff --git a/package/ltp-testsuite/Config.in b/package/ltp-testsuite/Config.in index 274b03e423..4c00e40f33 100644 --- a/package/ltp-testsuite/Config.in +++ b/package/ltp-testsuite/Config.in @@ -1,28 +1,31 @@ -comment "ltp-testsuite needs specific uClibc options, see help" - depends on BR2_PACKAGE_LTP_TESTSUITE - depends on BR2_TOOLCHAIN_USES_UCLIBC +config BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS + bool + # Needs __sync*() built-ins for 4-byte data, except on a few + # architectures for which a specific implementation is + # provided in ltp-testsuite + default y if BR2_TOOLCHAIN_HAS_SYNC_4 + default y if BR2_arc + default y if BR2_i386 + default y if BR2_powerpc + default y if BR2_powepc64 + default y if BR2_powerpc64le + default y if BR2_x86_64 + # does not build on nios2, cachectl.h issue + depends on !BR2_nios2 config BR2_PACKAGE_LTP_TESTSUITE bool "ltp-testsuite" depends on BR2_USE_MMU # fork() - depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on !BR2_TOOLCHAIN_USES_MUSL + depends on BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS select BR2_PACKAGE_LIBTIRPC if !BR2_TOOLCHAIN_HAS_NATIVE_RPC - # does not build, cachectl.h issue - depends on !BR2_nios2 help The Linux Test Project provides a huge testsuite for Linux. - The LTP testsuite uses several functions that are considered - obsolete, such as sigset() and others. Therefore, the LTP - testsuite does not build with Buildroot's default uClibc - configuration, and options such as DO_XSI_MATH, - UCLIBC_HAS_OBSOLETE_BSD_SIGNAL and UCLIBC_SV4_DEPRECATED - are needed. - http://linux-test-project.github.io -comment "ltp-testsuite needs a glibc or uClibc toolchain w/ threads" - depends on !BR2_nios2 +comment "ltp-testsuite needs a glibc or uClibc toolchain w/ NPTL" + depends on BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_MUSL + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_TOOLCHAIN_USES_MUSL diff --git a/package/ltp-testsuite/ltp-testsuite.hash b/package/ltp-testsuite/ltp-testsuite.hash index b8311e094e..42feaade27 100644 --- a/package/ltp-testsuite/ltp-testsuite.hash +++ b/package/ltp-testsuite/ltp-testsuite.hash @@ -1,2 +1,2 @@ -# From: https://github.com/linux-test-project/ltp/releases/download/20170116/ltp-full-20170116.tar.xz.sha1 -sha1 b42047fe0d30db9b2c760bd1ab901ecb133835fc ltp-full-20170116.tar.xz +# From: https://github.com/linux-test-project/ltp/releases/download/20170929/ltp-full-20170929.tar.xz.sha1 +sha1 a170db3bc7203c9a998a277a369e7020dc61a382 ltp-full-20170929.tar.xz diff --git a/package/ltp-testsuite/ltp-testsuite.mk b/package/ltp-testsuite/ltp-testsuite.mk index 9d82087f7f..bbeee5b23d 100644 --- a/package/ltp-testsuite/ltp-testsuite.mk +++ b/package/ltp-testsuite/ltp-testsuite.mk @@ -4,13 +4,21 @@ # ################################################################################ -LTP_TESTSUITE_VERSION = 20170116 +LTP_TESTSUITE_VERSION = 20170929 LTP_TESTSUITE_SOURCE = ltp-full-$(LTP_TESTSUITE_VERSION).tar.xz LTP_TESTSUITE_SITE = https://github.com/linux-test-project/ltp/releases/download/$(LTP_TESTSUITE_VERSION) -LTP_TESTSUITE_LICENSE = GPLv2, GPLv2+ +LTP_TESTSUITE_LICENSE = GPL-2.0, GPL-2.0+ LTP_TESTSUITE_LICENSE_FILES = COPYING + +# Do not enable Open POSIX testsuite as it doesn't cross-compile +# properly: t0 program is built for the host machine. Notice that due +# to a bug, --without-open-posix-testsuite actually enables the test +# suite. +# See https://github.com/linux-test-project/ltp/issues/143 (invalid +# autoconf test) and +# https://github.com/linux-test-project/ltp/issues/144 (Open POSIX +# testsuite not cross-compiling). LTP_TESTSUITE_CONF_OPTS += \ - --with-open-posix-testsuite \ --with-realtime-testsuite ifeq ($(BR2_LINUX_KERNEL),y) @@ -60,5 +68,12 @@ endef LTP_TESTSUITE_POST_PATCH_HOOKS += LTP_TESTSUITE_REMOVE_UNSUPPORTED endif +# ldd command build system tries to build a shared library unconditionally. +ifeq ($(BR2_STATIC_LIBS),y) +define LTP_TESTSUITE_REMOVE_LDD + rm -rf $(@D)/testcases/commands/ldd +endef +LTP_TESTSUITE_POST_PATCH_HOOKS += LTP_TESTSUITE_REMOVE_LDD +endif $(eval $(autotools-package)) diff --git a/package/ltrace/Config.in b/package/ltrace/Config.in index 7af6be2144..4d5fb723d6 100644 --- a/package/ltrace/Config.in +++ b/package/ltrace/Config.in @@ -1,5 +1,8 @@ config BR2_PACKAGE_LTRACE bool "ltrace" + depends on BR2_USE_WCHAR # elfutils + depends on !BR2_STATIC_LIBS # elfutils + depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils # ltrace normally has mips/mipsel support, but it's currently # broken (error: 'struct ltelf' has no member named # 'relplt_count'). Issue reported upstream at @@ -7,14 +10,11 @@ config BR2_PACKAGE_LTRACE depends on (BR2_i386 || BR2_arm || BR2_mips || BR2_mipsel \ || BR2_powerpc || BR2_sparc || BR2_x86_64 || BR2_xtensa) select BR2_PACKAGE_ELFUTILS - depends on BR2_USE_WCHAR # elfutils - depends on !BR2_STATIC_LIBS # elfutils - depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils help - Debugging program which runs a specified command until it exits. - While the command is executing, ltrace intercepts and records - the dynamic library calls which are called by the executed - process and the signals received by that process. + Debugging program which runs a specified command until it + exits. While the command is executing, ltrace intercepts and + records the dynamic library calls which are called by the + executed process and the signals received by that process. http://ltrace.org diff --git a/package/ltrace/ltrace.hash b/package/ltrace/ltrace.hash new file mode 100644 index 0000000000..58a9c6d2af --- /dev/null +++ b/package/ltrace/ltrace.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 894333bb7d347066c4e398d9f4a202af5f2faf80754905dd0e6a2259695baba0 ltrace-c22d359433b333937ee3d803450dc41998115685.tar.gz diff --git a/package/ltrace/ltrace.mk b/package/ltrace/ltrace.mk index eac42be328..6dfbb58c35 100644 --- a/package/ltrace/ltrace.mk +++ b/package/ltrace/ltrace.mk @@ -8,7 +8,7 @@ LTRACE_VERSION = c22d359433b333937ee3d803450dc41998115685 LTRACE_SITE = git://anonscm.debian.org/collab-maint/ltrace.git LTRACE_DEPENDENCIES = elfutils LTRACE_CONF_OPTS = --disable-werror -LTRACE_LICENSE = GPLv2 +LTRACE_LICENSE = GPL-2.0 LTRACE_LICENSE_FILES = COPYING LTRACE_AUTORECONF = YES diff --git a/package/ltris/Config.in b/package/ltris/Config.in index bf73489da4..7d9dc04ad1 100644 --- a/package/ltris/Config.in +++ b/package/ltris/Config.in @@ -2,7 +2,6 @@ config BR2_PACKAGE_LTRIS bool "LTris" depends on BR2_USE_MMU # fork() select BR2_PACKAGE_SDL - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE help LTris is a tetris clone, using SDL. It optionally requires SDL_mixer for audio support. A display with minimum 640x480 diff --git a/package/ltris/ltris.mk b/package/ltris/ltris.mk index bbd270ea13..fb0d4c34d2 100644 --- a/package/ltris/ltris.mk +++ b/package/ltris/ltris.mk @@ -6,10 +6,11 @@ LTRIS_SITE = http://downloads.sourceforge.net/lgames/ltris LTRIS_VERSION = 1.0.19 -LTRIS_LICENSE = GPLv2+ +LTRIS_LICENSE = GPL-2.0+ LTRIS_LICENSE_FILES = COPYING -LTRIS_DEPENDENCIES = sdl +LTRIS_DEPENDENCIES = sdl $(TARGET_NLS_DEPENDENCIES) +LTRIS_LIBS = $(TARGET_NLS_LIBS) LTRIS_CONF_ENV = \ SDL_CONFIG="$(STAGING_DIR)/usr/bin/sdl-config" \ @@ -25,9 +26,4 @@ else LTRIS_CONF_OPTS += --disable-sound endif -ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y) -LTRIS_DEPENDENCIES += gettext -LTRIS_LIBS += -lintl -endif - $(eval $(autotools-package)) diff --git a/package/lttng-babeltrace/Config.in b/package/lttng-babeltrace/Config.in index 09fab4492b..ba6b5543d9 100644 --- a/package/lttng-babeltrace/Config.in +++ b/package/lttng-babeltrace/Config.in @@ -1,12 +1,12 @@ config BR2_PACKAGE_LTTNG_BABELTRACE bool "lttng-babeltrace" + depends on BR2_USE_WCHAR # libglib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 + depends on BR2_USE_MMU # libglib2 select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBUUID select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_POPT - depends on BR2_USE_WCHAR # libglib2 - depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 - depends on BR2_USE_MMU # libglib2 help The Babeltrace project provides trace read and write libraries, as well as a trace converter application. Plugins diff --git a/package/lttng-babeltrace/lttng-babeltrace.hash b/package/lttng-babeltrace/lttng-babeltrace.hash index 8f296927a0..fafcd5e5d7 100644 --- a/package/lttng-babeltrace/lttng-babeltrace.hash +++ b/package/lttng-babeltrace/lttng-babeltrace.hash @@ -1,3 +1,3 @@ -# From http://www.efficios.com/files/babeltrace/babeltrace-1.5.1.tar.bz2.{md5,sha1} -md5 3f7d29ba2821a966d24759a928a15cdf babeltrace-1.5.1.tar.bz2 -sha1 07bffefed8ef68317f26e043ae5f71be58fdb783 babeltrace-1.5.1.tar.bz2 +# From http://www.efficios.com/files/babeltrace/babeltrace-1.5.2.tar.bz2.{md5,sha1} +md5 1176e7f69e128112d5f29fefec39c6ce babeltrace-1.5.2.tar.bz2 +sha1 3316e8311ebbc9e8642ed399208c1846a6f0e0c3 babeltrace-1.5.2.tar.bz2 diff --git a/package/lttng-babeltrace/lttng-babeltrace.mk b/package/lttng-babeltrace/lttng-babeltrace.mk index abb3bba3da..cfd67de6c6 100644 --- a/package/lttng-babeltrace/lttng-babeltrace.mk +++ b/package/lttng-babeltrace/lttng-babeltrace.mk @@ -5,9 +5,9 @@ ################################################################################ LTTNG_BABELTRACE_SITE = http://www.efficios.com/files/babeltrace -LTTNG_BABELTRACE_VERSION = 1.5.1 +LTTNG_BABELTRACE_VERSION = 1.5.2 LTTNG_BABELTRACE_SOURCE = babeltrace-$(LTTNG_BABELTRACE_VERSION).tar.bz2 -LTTNG_BABELTRACE_LICENSE = MIT, LGPLv2.1 (include/babeltrace/list.h), GPLv2 (test code) +LTTNG_BABELTRACE_LICENSE = MIT, LGPL-2.1 (include/babeltrace/list.h), GPL-2.0 (test code) LTTNG_BABELTRACE_LICENSE_FILES = mit-license.txt gpl-2.0.txt LICENSE LTTNG_BABELTRACE_DEPENDENCIES = popt util-linux libglib2 host-pkgconf # The host-elfutils dependency is optional, but since we don't have diff --git a/package/lttng-libust/0003-Validate-the-presence-of-dlmopen-at-configure-time.patch b/package/lttng-libust/0003-Validate-the-presence-of-dlmopen-at-configure-time.patch new file mode 100644 index 0000000000..699f1e0327 --- /dev/null +++ b/package/lttng-libust/0003-Validate-the-presence-of-dlmopen-at-configure-time.patch @@ -0,0 +1,130 @@ +From 42330adcefcd1830dad89e2a960c93d8dd1da125 Mon Sep 17 00:00:00 2001 +From: Jonathan Rajotte +Date: Tue, 21 Feb 2017 16:00:27 -0500 +Subject: [PATCH] Validate the presence of dlmopen at configure time + +Signed-off-by: Michael Jeanson +Signed-off-by: Jonathan Rajotte +Signed-off-by: Mathieu Desnoyers +[Backport from upstream commit 42330adcefcd1830dad89e2a960c93d8dd1da125.] +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 8 ++++++++ + liblttng-ust-dl/lttng-ust-dl.c | 8 ++++++++ + liblttng-ust-dl/ust_dl.h | 2 ++ + 3 files changed, 18 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 450b43b..023cfd4 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -125,15 +125,23 @@ AS_IF([test "x${ax_cv_sys_weak_alias}" = "xno"], [ + # Checks for libraries. + AC_CHECK_LIB([dl], [dlopen], [ + have_libdl=yes ++ libdl_name=dl + ], [ + #libdl not found, check for dlopen in libc. + AC_CHECK_LIB([c], [dlopen], [ + have_libc_dl=yes ++ libdl_name=c + ], [ + AC_MSG_ERROR([Cannot find dlopen in libdl nor libc. Use [LDFLAGS]=-Ldir to specify their location.]) + ]) + ]) + ++# Check if libdl has dlmopen support. ++AH_TEMPLATE([HAVE_DLMOPEN], ["Define to 1 if dlmopen is available."]) ++AC_CHECK_LIB([$libdl_name], [dlmopen], ++ [AC_DEFINE([HAVE_DLMOPEN], [1])] ++) ++ + AM_CONDITIONAL([LTTNG_UST_BUILD_WITH_LIBDL], [test "x$have_libdl" = "xyes"]) + AM_CONDITIONAL([LTTNG_UST_BUILD_WITH_LIBC_DL], [test "x$have_libc_dl" = "xyes"]) + +diff --git a/liblttng-ust-dl/lttng-ust-dl.c b/liblttng-ust-dl/lttng-ust-dl.c +index b0737b6..ce2ae0e 100644 +--- a/liblttng-ust-dl/lttng-ust-dl.c ++++ b/liblttng-ust-dl/lttng-ust-dl.c +@@ -38,8 +38,10 @@ + #include "ust_dl.h" + + static void *(*__lttng_ust_plibc_dlopen)(const char *filename, int flags); ++#ifdef HAVE_DLMOPEN + static void *(*__lttng_ust_plibc_dlmopen)(Lmid_t nsid, const char *filename, + int flags); ++#endif + static int (*__lttng_ust_plibc_dlclose)(void *handle); + + static +@@ -55,6 +57,7 @@ void *_lttng_ust_dl_libc_dlopen(const char *filename, int flags) + return __lttng_ust_plibc_dlopen(filename, flags); + } + ++#ifdef HAVE_DLMOPEN + static + void *_lttng_ust_dl_libc_dlmopen(Lmid_t nsid, const char *filename, + int flags) +@@ -68,6 +71,7 @@ void *_lttng_ust_dl_libc_dlmopen(Lmid_t nsid, const char *filename, + } + return __lttng_ust_plibc_dlmopen(nsid, filename, flags); + } ++#endif + + static + int _lttng_ust_dl_libc_dlclose(void *handle) +@@ -143,6 +147,7 @@ end: + return; + } + ++#ifdef HAVE_DLMOPEN + static + void lttng_ust_dl_dlmopen(void *so_base, Lmid_t nsid, const char *so_name, + int flags, void *ip) +@@ -203,6 +208,7 @@ end: + lttng_ust_elf_destroy(elf); + return; + } ++#endif + + void *dlopen(const char *filename, int flags) + { +@@ -223,6 +229,7 @@ void *dlopen(const char *filename, int flags) + return handle; + } + ++#ifdef HAVE_DLMOPEN + void *dlmopen(Lmid_t nsid, const char *filename, int flags) + { + void *handle; +@@ -243,6 +250,7 @@ void *dlmopen(Lmid_t nsid, const char *filename, int flags) + return handle; + + } ++#endif + + int dlclose(void *handle) + { +diff --git a/liblttng-ust-dl/ust_dl.h b/liblttng-ust-dl/ust_dl.h +index b8cfe82..afa8e84 100644 +--- a/liblttng-ust-dl/ust_dl.h ++++ b/liblttng-ust-dl/ust_dl.h +@@ -51,6 +51,7 @@ TRACEPOINT_EVENT(lttng_ust_dl, dlopen, + ) + ) + ++#ifdef HAVE_DLMOPEN + TRACEPOINT_EVENT(lttng_ust_dl, dlmopen, + TP_ARGS(void *, ip, void *, baddr, Lmid_t, nsid, + const char *, path, int, flags, +@@ -66,6 +67,7 @@ TRACEPOINT_EVENT(lttng_ust_dl, dlmopen, + ctf_integer(uint8_t, has_debug_link, has_debug_link) + ) + ) ++#endif + + TRACEPOINT_EVENT(lttng_ust_dl, build_id, + TP_ARGS( +-- +2.7.4 + diff --git a/package/lttng-libust/0004-Fix-include-config.h-to-resolve-HAVE_DLMOPEN.patch b/package/lttng-libust/0004-Fix-include-config.h-to-resolve-HAVE_DLMOPEN.patch new file mode 100644 index 0000000000..734d3c4c4a --- /dev/null +++ b/package/lttng-libust/0004-Fix-include-config.h-to-resolve-HAVE_DLMOPEN.patch @@ -0,0 +1,30 @@ +From 0b2253f5c9af73904d49da32085036c16b9d2d75 Mon Sep 17 00:00:00 2001 +From: Jonathan Rajotte +Date: Tue, 21 Feb 2017 18:10:11 -0500 +Subject: [PATCH] Fix: include config.h to resolve HAVE_DLMOPEN + +Fixes commit 42330adcefcd1830dad89e2a960c93d8dd1da125 + +Signed-off-by: Jonathan Rajotte +Signed-off-by: Mathieu Desnoyers +[Backported from upstream commit 0b2253f5c9af73904d49da32085036c16b9d2d75.] +Signed-off-by: Thomas Petazzoni +--- + liblttng-ust-dl/ust_dl.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/liblttng-ust-dl/ust_dl.h b/liblttng-ust-dl/ust_dl.h +index afa8e84..c8a0695 100644 +--- a/liblttng-ust-dl/ust_dl.h ++++ b/liblttng-ust-dl/ust_dl.h +@@ -33,6 +33,7 @@ extern "C" { + + #include + #include ++#include + + #define LTTNG_UST_DL_PROVIDER + #include +-- +2.7.4 + diff --git a/package/lttng-libust/Config.in b/package/lttng-libust/Config.in index 4aba18886e..8472cab7bb 100644 --- a/package/lttng-libust/Config.in +++ b/package/lttng-libust/Config.in @@ -1,13 +1,13 @@ config BR2_PACKAGE_LTTNG_LIBUST bool "lttng-libust" - select BR2_PACKAGE_LIBURCU - select BR2_PACKAGE_UTIL_LINUX - select BR2_PACKAGE_UTIL_LINUX_LIBUUID depends on BR2_USE_WCHAR # uses wchar_t # liburcu only works on some architectures and requires threads support" depends on BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_LIBURCU + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBUUID help Userspace tracing library for the LTTng 2.x tracing infrastructure. It allows userspace programs to create diff --git a/package/lttng-libust/lttng-libust.mk b/package/lttng-libust/lttng-libust.mk index 5667abb82d..82923ded1f 100644 --- a/package/lttng-libust/lttng-libust.mk +++ b/package/lttng-libust/lttng-libust.mk @@ -7,12 +7,13 @@ LTTNG_LIBUST_SITE = http://lttng.org/files/lttng-ust LTTNG_LIBUST_VERSION = 2.9.0 LTTNG_LIBUST_SOURCE = lttng-ust-$(LTTNG_LIBUST_VERSION).tar.bz2 -LTTNG_LIBUST_LICENSE = LGPLv2.1, MIT (system headers), GPLv2 (liblttng-ust-ctl/ustctl.c used by lttng-sessiond) +LTTNG_LIBUST_LICENSE = LGPL-2.1, MIT (system headers), GPL-2.0 (liblttng-ust-ctl/ustctl.c used by lttng-sessiond) LTTNG_LIBUST_LICENSE_FILES = COPYING LTTNG_LIBUST_INSTALL_STAGING = YES LTTNG_LIBUST_DEPENDENCIES = liburcu util-linux LTTNG_LIBUST_CONF_OPTS += --disable-man-pages # 0002-doc-examples-Makefile.am-define-C-and-C-compilers-fo.patch +# 0003-Validate-the-presence-of-dlmopen-at-configure-time.patch LTTNG_LIBUST_AUTORECONF = YES ifeq ($(BR2_PACKAGE_PYTHON),y) diff --git a/package/lttng-modules/lttng-modules.hash b/package/lttng-modules/lttng-modules.hash index d8314f6e79..6849d5d6a6 100644 --- a/package/lttng-modules/lttng-modules.hash +++ b/package/lttng-modules/lttng-modules.hash @@ -1,3 +1,3 @@ -# From http://lttng.org/files/lttng-modules/lttng-modules-2.9.0.tar.bz2.{md5,sha1} -md5 717df375ccb6f32bb297cc2f2e692bbf lttng-modules-2.9.0.tar.bz2 -sha1 819ee1c2a5a821b7fdc1c2fc102ef3079c32aad7 lttng-modules-2.9.0.tar.bz2 +# From http://lttng.org/files/lttng-modules/lttng-modules-2.9.2.tar.bz2.{md5,sha1} +md5 6c02645c77fd4d6475a4f83bda1d75ff lttng-modules-2.9.2.tar.bz2 +sha1 da54a8478019c0d551590c37826e78c058e9cb8b lttng-modules-2.9.2.tar.bz2 diff --git a/package/lttng-modules/lttng-modules.mk b/package/lttng-modules/lttng-modules.mk index aa0ac30b24..f53b085597 100644 --- a/package/lttng-modules/lttng-modules.mk +++ b/package/lttng-modules/lttng-modules.mk @@ -4,10 +4,10 @@ # ################################################################################ -LTTNG_MODULES_VERSION = 2.9.0 +LTTNG_MODULES_VERSION = 2.9.2 LTTNG_MODULES_SITE = http://lttng.org/files/lttng-modules LTTNG_MODULES_SOURCE = lttng-modules-$(LTTNG_MODULES_VERSION).tar.bz2 -LTTNG_MODULES_LICENSE = LGPLv2.1/GPLv2 (kernel modules), MIT (lib/bitfield.h, lib/prio_heap/*) +LTTNG_MODULES_LICENSE = LGPL-2.1/GPL-2.0 (kernel modules), MIT (lib/bitfield.h, lib/prio_heap/*) LTTNG_MODULES_LICENSE_FILES = lgpl-2.1.txt gpl-2.0.txt mit-license.txt LICENSE LTTNG_MODULES_MODULE_MAKE_OPTS = CONFIG_LTTNG=m CONFIG_LTTNG_CLOCK_PLUGIN_TEST=m diff --git a/package/lttng-tools/0001-Fix-detect-dlmopen-and-disable-corresponding-tests-i.patch b/package/lttng-tools/0001-Fix-detect-dlmopen-and-disable-corresponding-tests-i.patch new file mode 100644 index 0000000000..8e14a14413 --- /dev/null +++ b/package/lttng-tools/0001-Fix-detect-dlmopen-and-disable-corresponding-tests-i.patch @@ -0,0 +1,249 @@ +From bc1d8ca01415710d40224de312c7ecf6f4223301 Mon Sep 17 00:00:00 2001 +From: Philippe Proulx +Date: Mon, 6 Nov 2017 18:46:41 -0500 +Subject: [PATCH] Fix: detect dlmopen() and disable corresponding tests if not + available +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +musl and uClibc-ng are known not to support dlmopen(). LTTng-UST has +this dlmopen() detection. + +Signed-off-by: Philippe Proulx +[Philippe: backport from upstream commit bc1d8ca0 + edited to remove .gitignore part] +Signed-off-by: Jérémie Galarneau +--- + .gitignore | 1 + + configure.ac | 25 ++++++++++++++++++++++ + tests/regression/ust/ust-dl/prog.c | 17 +++++++++++++-- + tests/regression/ust/ust-dl/test_ust-dl | 32 ---------------------------- + tests/regression/ust/ust-dl/test_ust-dl.in | 34 ++++++++++++++++++++++++++++++ + tests/regression/ust/ust-dl/test_ust-dl.py | 9 +++++++- + tests/utils/test_utils.py | 3 +++ + 7 files changed, 86 insertions(+), 35 deletions(-) + delete mode 100755 tests/regression/ust/ust-dl/test_ust-dl + create mode 100644 tests/regression/ust/ust-dl/test_ust-dl.in + +diff --git a/configure.ac b/configure.ac +index 016c56ec..b6ea39c5 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -196,6 +196,30 @@ AC_CHECK_FUNCS([ \ + # add -lrt to LIBS + AC_CHECK_LIB([rt], [clock_gettime, timer_create, timer_settime, timer_delete]) + ++# Checks for dl. ++AC_CHECK_LIB([dl], [dlopen], [ ++ have_libdl=yes ++ libdl_name=dl ++], [ ++ # libdl not found, check for dlopen in libc. ++ AC_CHECK_LIB([c], [dlopen], [ ++ have_libc_dl=yes ++ libdl_name=c ++ ], [ ++ AC_MSG_ERROR([Cannot find dlopen in libdl nor libc. Use [LDFLAGS]=-Ldir to specify their location.]) ++ ]) ++]) ++ ++# Check if libdl has dlmopen support. ++AH_TEMPLATE([HAVE_DLMOPEN], ["Define to 1 if dlmopen is available."]) ++AC_CHECK_LIB([$libdl_name], [dlmopen], [ ++ AC_DEFINE([HAVE_DLMOPEN], [1]) ++ HAVE_DLMOPEN=1 ++], [ ++ HAVE_DLMOPEN=0 ++]) ++AC_SUBST(HAVE_DLMOPEN) ++ + # Babeltrace viewer check + AC_ARG_WITH([babeltrace-bin], + AS_HELP_STRING([--with-babeltrace-bin], +@@ -1100,6 +1124,7 @@ AC_CONFIG_FILES([ + AC_CONFIG_FILES([tests/regression/ust/python-logging/test_python_logging],[chmod +x tests/regression/ust/python-logging/test_python_logging]) + # Inject LTTNG_TOOLS_BUILD_WITH_LIBPFM variable in test script. + AC_CONFIG_FILES([tests/perf/test_perf_raw],[chmod +x tests/perf/test_perf_raw]) ++AC_CONFIG_FILES([tests/regression/ust/ust-dl/test_ust-dl],[chmod +x tests/regression/ust/ust-dl/test_ust-dl]) + + AC_OUTPUT + +diff --git a/tests/regression/ust/ust-dl/prog.c b/tests/regression/ust/ust-dl/prog.c +index e8e4b264..669792d9 100644 +--- a/tests/regression/ust/ust-dl/prog.c ++++ b/tests/regression/ust/ust-dl/prog.c +@@ -13,7 +13,12 @@ + */ + int main(int argc, char **argv) + { +- void *h0, *h1, *h2, *h3, *h4; ++ void *h0, *h2, *h3, *h4; ++ ++#ifdef HAVE_DLMOPEN ++ void *h1; ++#endif ++ + char *error; + int (*foo)(void); + +@@ -21,10 +26,14 @@ int main(int argc, char **argv) + if (!h0) { + goto get_error; + } ++ ++#ifdef HAVE_DLMOPEN + h1 = dlmopen(LM_ID_BASE, "libfoo.so", RTLD_LAZY); + if (!h1) { + goto get_error; + } ++#endif ++ + h2 = dlopen("libzzz.so", RTLD_LAZY); + if (!h2) { + goto get_error; +@@ -38,7 +47,7 @@ int main(int argc, char **argv) + goto get_error; + } + +- foo = dlsym(h1, "foo"); ++ foo = dlsym(h3, "foo"); + error = dlerror(); + if (error != NULL) { + goto error; +@@ -49,9 +58,13 @@ int main(int argc, char **argv) + if (dlclose(h0)) { + goto get_error; + } ++ ++#ifdef HAVE_DLMOPEN + if (dlclose(h1)) { + goto get_error; + } ++#endif ++ + if (dlclose(h2)) { + goto get_error; + } +diff --git a/tests/regression/ust/ust-dl/test_ust-dl b/tests/regression/ust/ust-dl/test_ust-dl +deleted file mode 100755 +index 1f2934db..00000000 +--- a/tests/regression/ust/ust-dl/test_ust-dl ++++ /dev/null +@@ -1,32 +0,0 @@ +-#!/bin/bash +-# +-# Copyright (C) - 2013 Jérémie Galarneau +-# +-# This program is free software; you can redistribute it and/or modify it +-# under the terms of the GNU General Public License, version 2 only, as +-# published by the Free Software Foundation. +-# +-# 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., 51 +-# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +- +-CURDIR=$(dirname $0) +-TESTDIR=${CURDIR}/../../.. +- +-source $TESTDIR/utils/utils.sh +- +-if [ ! -x "$CURDIR/.libs/libfoo.so" ]; then +- diag "No shared object generated. Skipping all tests." +- exit 0 +-fi +- +-start_lttng_sessiond_notap +- +-python3 ${CURDIR}/test_ust-dl.py +- +-stop_lttng_sessiond_notap +diff --git a/tests/regression/ust/ust-dl/test_ust-dl.in b/tests/regression/ust/ust-dl/test_ust-dl.in +new file mode 100644 +index 00000000..61d00d21 +--- /dev/null ++++ b/tests/regression/ust/ust-dl/test_ust-dl.in +@@ -0,0 +1,34 @@ ++#!/bin/bash ++# ++# Copyright (C) - 2013 Jérémie Galarneau ++# ++# This program is free software; you can redistribute it and/or modify it ++# under the terms of the GNU General Public License, version 2 only, as ++# published by the Free Software Foundation. ++# ++# 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., 51 ++# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++ ++CURDIR=$(dirname $0) ++TESTDIR=${CURDIR}/../../.. ++ ++source $TESTDIR/utils/utils.sh ++ ++if [ ! -x "$CURDIR/.libs/libfoo.so" ]; then ++ diag "No shared object generated. Skipping all tests." ++ exit 0 ++fi ++ ++export LTTNG_TOOLS_HAVE_DLMOPEN=@HAVE_DLMOPEN@ ++ ++start_lttng_sessiond_notap ++ ++python3 ${CURDIR}/test_ust-dl.py ++ ++stop_lttng_sessiond_notap +diff --git a/tests/regression/ust/ust-dl/test_ust-dl.py b/tests/regression/ust/ust-dl/test_ust-dl.py +index 81972a7d..72459840 100644 +--- a/tests/regression/ust/ust-dl/test_ust-dl.py ++++ b/tests/regression/ust/ust-dl/test_ust-dl.py +@@ -31,6 +31,9 @@ sys.path.append(test_utils_path) + from test_utils import * + + ++have_dlmopen = (os.environ.get('LTTNG_TOOLS_HAVE_DLMOPEN') == '1') ++ ++ + NR_TESTS = 14 + current_test = 1 + print("1..{0}".format(NR_TESTS)) +@@ -113,7 +116,11 @@ current_test += 1 + print_test_result(dlopen_event_found > 0, current_test, "lttng_ust_dl:dlopen event found in resulting trace") + current_test += 1 + +-print_test_result(dlmopen_event_found > 0, current_test, "lttng_ust_dl:dlmopen event found in resulting trace") ++if have_dlmopen: ++ print_test_result(dlmopen_event_found > 0, current_test, "lttng_ust_dl:dlmopen event found in resulting trace") ++else: ++ skip_test(current_test, 'dlmopen() is not available') ++ + current_test += 1 + + print_test_result(build_id_event_found > 0, current_test, "lttng_ust_dl:build_id event found in resulting trace") +diff --git a/tests/utils/test_utils.py b/tests/utils/test_utils.py +index 4b38630c..02e632a2 100644 +--- a/tests/utils/test_utils.py ++++ b/tests/utils/test_utils.py +@@ -62,6 +62,9 @@ def print_test_result(result, number, description): + result_string += " {0} - {1}".format(number, description) + print(result_string) + ++def skip_test(number, description): ++ print('ok {} # skip {}'.format(number, description)) ++ + def enable_ust_tracepoint_event(session_info, event_name): + event = Event() + event.name = event_name +-- +2.15.0 + diff --git a/package/lttng-tools/0002-Fix-src-common-pipe.h-include-sys-types.h-for-ssize_.patch b/package/lttng-tools/0002-Fix-src-common-pipe.h-include-sys-types.h-for-ssize_.patch new file mode 100644 index 0000000000..914947684d --- /dev/null +++ b/package/lttng-tools/0002-Fix-src-common-pipe.h-include-sys-types.h-for-ssize_.patch @@ -0,0 +1,31 @@ +From 40dde31f7eeb71af169b97b82d8fd1739895dfc3 Mon Sep 17 00:00:00 2001 +From: Philippe Proulx +Date: Wed, 8 Nov 2017 15:19:24 -0500 +Subject: [PATCH] Fix: src/common/pipe.h: include for ssize_t and + mode_t +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Philippe Proulx +[Philippe: backport from upstream commit 40dde31f] +Signed-off-by: Jérémie Galarneau +--- + src/common/pipe.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/common/pipe.h b/src/common/pipe.h +index 2d4fc967..30f7c3f3 100644 +--- a/src/common/pipe.h ++++ b/src/common/pipe.h +@@ -20,6 +20,7 @@ + + #include + #include ++#include + + enum lttng_pipe_state { + LTTNG_PIPE_STATE_OPENED = 1, +-- +2.15.0 + diff --git a/package/lttng-tools/0003-Fix-warning-src-bin-lttng-utils.c-cast-incompatible-.patch b/package/lttng-tools/0003-Fix-warning-src-bin-lttng-utils.c-cast-incompatible-.patch new file mode 100644 index 0000000000..b353b8f48a --- /dev/null +++ b/package/lttng-tools/0003-Fix-warning-src-bin-lttng-utils.c-cast-incompatible-.patch @@ -0,0 +1,32 @@ +From 56efeab366da412ee4196107c08174f32ed83c9a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Galarneau?= + +Date: Mon, 13 Nov 2017 10:31:29 -0500 +Subject: [PATCH] Fix warning: src/bin/lttng/utils.c: cast incompatible pointer +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Reported-by: Philippe Proulx +[Philippe: backport from upstream commit 56efeab3] +Signed-off-by: Jérémie Galarneau +--- + src/bin/lttng/utils.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/bin/lttng/utils.c b/src/bin/lttng/utils.c +index 885f498b..52a2440e 100644 +--- a/src/bin/lttng/utils.c ++++ b/src/bin/lttng/utils.c +@@ -387,7 +387,7 @@ int check_relayd(void) + * A successful connect means the relayd exists thus returning 0 else a + * negative value means it does NOT exists. + */ +- ret = connect(fd, &sin, sizeof(sin)); ++ ret = connect(fd, (struct sockaddr *) &sin, sizeof(sin)); + if (ret < 0) { + /* Not found. */ + ret = 0; +-- +2.15.0 + diff --git a/package/lttng-tools/Config.in b/package/lttng-tools/Config.in index 187e424b0b..9c86cc2646 100644 --- a/package/lttng-tools/Config.in +++ b/package/lttng-tools/Config.in @@ -17,7 +17,7 @@ config BR2_PACKAGE_LTTNG_TOOLS and stop tracing sessions. Analysis of the trace can be done on the host machine using the babeltrace utility. This utility is automatically built by Buildroot in - $(O)/host/usr/bin/babeltrace, as a dependency of + $(O)/host/bin/babeltrace, as a dependency of lttng-tools. However, there is also a lttng-babeltrace package for the target, if babeltrace on the target is interesting. diff --git a/package/lttng-tools/lttng-tools.hash b/package/lttng-tools/lttng-tools.hash index 4f3d2837cb..8a4c2ebda4 100644 --- a/package/lttng-tools/lttng-tools.hash +++ b/package/lttng-tools/lttng-tools.hash @@ -1,3 +1,3 @@ -# From http://lttng.org/files/lttng-tools/lttng-tools-2.9.3.tar.bz2.{md5,sha1} -md5 19fdcc5e9c307ef66581a2743a08a541 lttng-tools-2.9.3.tar.bz2 -sha1 78fdc9b7fd15f33ac60ea08320d679ce66e18bf7 lttng-tools-2.9.3.tar.bz2 +# From http://lttng.org/files/lttng-tools/lttng-tools-2.9.5.tar.bz2.{md5,sha1} +md5 051224eb991aee07f8721ff1877d0b96 lttng-tools-2.9.5.tar.bz2 +sha1 b988b237f34baa3916242dc9141aa61470e99dfd lttng-tools-2.9.5.tar.bz2 diff --git a/package/lttng-tools/lttng-tools.mk b/package/lttng-tools/lttng-tools.mk index 2df2dffa17..451f652cdc 100644 --- a/package/lttng-tools/lttng-tools.mk +++ b/package/lttng-tools/lttng-tools.mk @@ -4,13 +4,14 @@ # ################################################################################ -LTTNG_TOOLS_VERSION = 2.9.3 +LTTNG_TOOLS_VERSION = 2.9.5 LTTNG_TOOLS_SITE = http://lttng.org/files/lttng-tools LTTNG_TOOLS_SOURCE = lttng-tools-$(LTTNG_TOOLS_VERSION).tar.bz2 -LTTNG_TOOLS_LICENSE = GPLv2+, LGPLv2.1+ (include/lttng/*, src/lib/lttng-ctl/*) +LTTNG_TOOLS_LICENSE = GPL-2.0+, LGPL-2.1+ (include/lttng/*, src/lib/lttng-ctl/*) LTTNG_TOOLS_LICENSE_FILES = gpl-2.0.txt lgpl-2.1.txt LICENSE LTTNG_TOOLS_CONF_OPTS += --disable-man-pages - +# 0001-Fix-detect-dlmopen-and-disable-corresponding-tests-i.patch +LTTNG_TOOLS_AUTORECONF = YES LTTNG_TOOLS_DEPENDENCIES = liburcu libxml2 popt util-linux ifeq ($(BR2_PACKAGE_LTTNG_LIBUST),y) diff --git a/package/lua-basexx/Config.in b/package/lua-basexx/Config.in new file mode 100644 index 0000000000..2f3bb1dec7 --- /dev/null +++ b/package/lua-basexx/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_LUA_BASEXX + bool "lua-basexx" + help + A Lua library which provides base2(bitfield), base16(hex), + base32(crockford/rfc), base64(rfc/url), base85(z85) decoding + and encoding. + + https://github.com/aiq/basexx diff --git a/package/lua-basexx/lua-basexx.hash b/package/lua-basexx/lua-basexx.hash new file mode 100644 index 0000000000..91c428c140 --- /dev/null +++ b/package/lua-basexx/lua-basexx.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 ff5379b1f5b396103b8bb589ab3dd94d0a727c8e7a48dcfe1c73e2f07af6a8df basexx-0.4.0-1.src.rock diff --git a/package/lua-basexx/lua-basexx.mk b/package/lua-basexx/lua-basexx.mk new file mode 100644 index 0000000000..bfdc1e27b1 --- /dev/null +++ b/package/lua-basexx/lua-basexx.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# lua-basexx +# +################################################################################ + +LUA_BASEXX_VERSION_UPSTREAM =0.4.0 +LUA_BASEXX_VERSION = $(LUA_BASEXX_VERSION_UPSTREAM)-1 +LUA_BASEXX_NAME_UPSTREAM = basexx +LUA_BASEXX_SUBDIR = basexx-$(LUA_BASEXX_VERSION_UPSTREAM) +LUA_BASEXX_LICENSE = MIT +LUA_BASEXX_LICENSE_FILES = $(LUA_BASEXX_SUBDIR)/LICENSE + +$(eval $(luarocks-package)) diff --git a/package/lua-bit32/Config.in b/package/lua-bit32/Config.in new file mode 100644 index 0000000000..f896940deb --- /dev/null +++ b/package/lua-bit32/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_LUA_BIT32 + bool "lua-bit32" + help + bit32 is the native Lua 5.2 bit manipulation library, in the + version from Lua 5.3; it is compatible with Lua 5.1, 5.2 and + 5.3. + + http://www.lua.org/manual/5.2/manual.html#6.7 diff --git a/package/lua-bit32/lua-bit32.hash b/package/lua-bit32/lua-bit32.hash new file mode 100644 index 0000000000..21dbd05318 --- /dev/null +++ b/package/lua-bit32/lua-bit32.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 fe7bc70d1e48183d95ccfb6741e70a676283075173122cb161303d77059b27a6 bit32-5.3.0-1.src.rock diff --git a/package/lua-bit32/lua-bit32.mk b/package/lua-bit32/lua-bit32.mk new file mode 100644 index 0000000000..14851a5138 --- /dev/null +++ b/package/lua-bit32/lua-bit32.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# lua-bit32 +# +################################################################################ + +LUA_BIT32_VERSION = 5.3.0-1 +LUA_BIT32_NAME_UPSTREAM = bit32 +LUA_BIT32_SUBDIR = lua-compat-5.2 +LUA_BIT32_LICENSE = MIT +LUA_BIT32_LICENSE_FILES = $(LUA_BIT32_SUBDIR)/LICENSE + +$(eval $(luarocks-package)) diff --git a/package/lua-cjson/Config.in b/package/lua-cjson/Config.in index 1f4c7c7982..262452a827 100644 --- a/package/lua-cjson/Config.in +++ b/package/lua-cjson/Config.in @@ -2,9 +2,11 @@ config BR2_PACKAGE_LUA_CJSON bool "lua-cjson" depends on BR2_PACKAGE_HAS_LUAINTERPRETER help - The Lua CJSON module provides JSON support for Lua. It features: + The Lua CJSON module provides JSON support for Lua. + It features: - Fast, standards compliant encoding/parsing routines - - Full support for JSON with UTF-8, including decoding surrogate pairs + - Full support for JSON with UTF-8, including decoding + surrogate pairs - Optional run-time support for common exceptions to the JSON specification (infinity, NaN, ...) - No dependencies on other libraries diff --git a/package/lua-cjson/lua-cjson.mk b/package/lua-cjson/lua-cjson.mk index 16cb97412a..1823aa50de 100644 --- a/package/lua-cjson/lua-cjson.mk +++ b/package/lua-cjson/lua-cjson.mk @@ -4,9 +4,8 @@ # ################################################################################ -LUA_CJSON_VERSION_UPSTREAM = 2.1.0 -LUA_CJSON_VERSION = $(LUA_CJSON_VERSION_UPSTREAM)-1 +LUA_CJSON_VERSION = 2.1.0-1 LUA_CJSON_LICENSE = MIT -LUA_CJSON_LICENSE_FILES = lua-cjson-$(LUA_CJSON_VERSION_UPSTREAM)/LICENSE +LUA_CJSON_LICENSE_FILES = $(LUA_CJSON_SUBDIR)/LICENSE $(eval $(luarocks-package)) diff --git a/package/lua-coat/lua-coat.mk b/package/lua-coat/lua-coat.mk index 205995ed63..80ca6b1278 100644 --- a/package/lua-coat/lua-coat.mk +++ b/package/lua-coat/lua-coat.mk @@ -4,9 +4,8 @@ # ################################################################################ -LUA_COAT_VERSION_UPSTREAM = 0.9.1 -LUA_COAT_VERSION = $(LUA_COAT_VERSION_UPSTREAM)-1 -LUA_COAT_SUBDIR = lua-Coat-$(LUA_COAT_VERSION_UPSTREAM) +LUA_COAT_VERSION = 0.9.1-1 +LUA_COAT_NAME_UPSTREAM = lua-Coat LUA_COAT_LICENSE = MIT LUA_COAT_LICENSE_FILES = $(LUA_COAT_SUBDIR)/COPYRIGHT diff --git a/package/lua-coatpersistent/Config.in b/package/lua-coatpersistent/Config.in index a0f5bdc0d0..d8b3570c13 100644 --- a/package/lua-coatpersistent/Config.in +++ b/package/lua-coatpersistent/Config.in @@ -1,9 +1,9 @@ config BR2_PACKAGE_LUA_COATPERSISTENT bool "lua-coatpersistent" + depends on BR2_PACKAGE_LSQLITE3 || BR2_PACKAGE_LUASQL_SQLITE3 # run-time dependencies select BR2_PACKAGE_DADO select BR2_PACKAGE_LUA_COAT - depends on BR2_PACKAGE_LSQLITE3 || BR2_PACKAGE_LUASQL_SQLITE3 help An ORM for lua-Coat. diff --git a/package/lua-compat53/Config.in b/package/lua-compat53/Config.in new file mode 100644 index 0000000000..7ab3d740f2 --- /dev/null +++ b/package/lua-compat53/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_LUA_COMPAT53 + bool "lua-compat53" + depends on !BR2_PACKAGE_LUA_5_3 + help + Compatibility module providing Lua-5.3-style APIs for Lua 5.2 + and 5.1 + + https://github.com/keplerproject/lua-compat-5.3 diff --git a/package/lua-compat53/lua-compat53.hash b/package/lua-compat53/lua-compat53.hash new file mode 100644 index 0000000000..7f1e1bb22f --- /dev/null +++ b/package/lua-compat53/lua-compat53.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 fd0117156f59d1cb3824d5cca63be84c72cb5519b714377545433be3bb31afdf compat53-0.5-1.src.rock diff --git a/package/lua-compat53/lua-compat53.mk b/package/lua-compat53/lua-compat53.mk new file mode 100644 index 0000000000..969f816393 --- /dev/null +++ b/package/lua-compat53/lua-compat53.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# lua-compat53 +# +################################################################################ + +LUA_COMPAT53_VERSION_UPSTREAM = 0.5 +LUA_COMPAT53_VERSION = $(LUA_COMPAT53_VERSION_UPSTREAM)-1 +LUA_COMPAT53_NAME_UPSTREAM = compat53 +LUA_COMPAT53_SUBDIR = lua-compat-5.3-$(LUA_COMPAT53_VERSION_UPSTREAM) +LUA_COMPAT53_LICENSE = MIT +LUA_COMPAT53_LICENSE_FILES = $(LUA_COMPAT53_SUBDIR)/LICENSE + +$(eval $(luarocks-package)) diff --git a/package/lua-cqueues/Config.in b/package/lua-cqueues/Config.in new file mode 100644 index 0000000000..60f022848b --- /dev/null +++ b/package/lua-cqueues/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_LUA_CQUEUES + bool "lua-cqueues" + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_OPENSSL + help + Continuation Queues: Embeddable asynchronous networking, + threading, and notification framework for Lua on Unix. + + http://25thandclement.com/~william/projects/cqueues.html + +comment "lua-cqueues needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/lua-cqueues/lua-cqueues.hash b/package/lua-cqueues/lua-cqueues.hash new file mode 100644 index 0000000000..9fd664d69a --- /dev/null +++ b/package/lua-cqueues/lua-cqueues.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 ae51b713bdf966215b87244e03ac60b5a12beb82d15dfb02755a000cfb2df905 lua-cqueues-rel-20161215.tar.gz diff --git a/package/lua-cqueues/lua-cqueues.mk b/package/lua-cqueues/lua-cqueues.mk new file mode 100644 index 0000000000..4f4be1e049 --- /dev/null +++ b/package/lua-cqueues/lua-cqueues.mk @@ -0,0 +1,23 @@ +################################################################################ +# +# lua-cqueues +# +################################################################################ + +LUA_CQUEUES_VERSION = rel-20161215 +LUA_CQUEUES_SITE = $(call github,wahern,cqueues,$(LUA_CQUEUES_VERSION)) +LUA_CQUEUES_LICENSE = MIT +LUA_CQUEUES_LICENSE_FILES = LICENSE +LUA_CQUEUES_DEPENDENCIES = luainterpreter openssl + +define LUA_CQUEUES_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE1) $(TARGET_CONFIGURE_OPTS) -C $(@D) \ + prefix="$(STAGING_DIR)/usr" all$(LUAINTERPRETER_ABIVER) +endef + +define LUA_CQUEUES_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE1) $(TARGET_CONFIGURE_OPTS) -C $(@D) \ + DESTDIR="$(TARGET_DIR)" prefix=/usr install$(LUAINTERPRETER_ABIVER) +endef + +$(eval $(generic-package)) diff --git a/package/lua-csnappy/Config.in b/package/lua-csnappy/Config.in index 0562277a0f..54d68a2e1f 100644 --- a/package/lua-csnappy/Config.in +++ b/package/lua-csnappy/Config.in @@ -5,4 +5,3 @@ config BR2_PACKAGE_LUA_CSNAPPY which implements the Google's Snappy (de)compressor. http://fperrad.github.io/lua-csnappy/ - diff --git a/package/lua-csnappy/lua-csnappy.mk b/package/lua-csnappy/lua-csnappy.mk index 073925917d..3325f1f53d 100644 --- a/package/lua-csnappy/lua-csnappy.mk +++ b/package/lua-csnappy/lua-csnappy.mk @@ -4,10 +4,8 @@ # ################################################################################ -LUA_CSNAPPY_VERSION_UPSTREAM = 0.1.4 -LUA_CSNAPPY_VERSION = $(LUA_CSNAPPY_VERSION_UPSTREAM)-1 -LUA_CSNAPPY_SUBDIR = lua-csnappy-$(LUA_CSNAPPY_VERSION_UPSTREAM) -LUA_CSNAPPY_LICENSE = BSD-3c +LUA_CSNAPPY_VERSION = 0.1.4-1 +LUA_CSNAPPY_LICENSE = BSD-3-Clause LUA_CSNAPPY_LICENSE_FILES = $(LUA_CSNAPPY_SUBDIR)/COPYRIGHT $(eval $(luarocks-package)) diff --git a/package/lua-curl/Config.in b/package/lua-curl/Config.in new file mode 100644 index 0000000000..88cdaf10c2 --- /dev/null +++ b/package/lua-curl/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_LUA_CURL + bool "lua-curl" + select BR2_PACKAGE_LIBCURL + help + Lua binding to libcurl. + + https://lua-curl.github.io/ diff --git a/package/lua-curl/lua-curl.hash b/package/lua-curl/lua-curl.hash new file mode 100644 index 0000000000..e73810ceda --- /dev/null +++ b/package/lua-curl/lua-curl.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 4cc6389bf5d4a868cc1e6017733b9b6306f2fc8b5083aa928d66399195697f34 lua-curl-0.3.7-1.src.rock diff --git a/package/lua-curl/lua-curl.mk b/package/lua-curl/lua-curl.mk new file mode 100644 index 0000000000..9e4f262cfb --- /dev/null +++ b/package/lua-curl/lua-curl.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# lua-curl +# +################################################################################ + +LUA_CURL_VERSION_UPSTREAM = 0.3.7 +LUA_CURL_VERSION = $(LUA_CURL_VERSION_UPSTREAM)-1 +LUA_CURL_SUBDIR = Lua-cURLv3-$(LUA_CURL_VERSION_UPSTREAM) +LUA_CURL_LICENSE = MIT +LUA_CURL_LICENSE_FILES = $(LUA_CURL_SUBDIR)/LICENSE +LUA_CURL_DEPENDENCIES = libcurl + +$(eval $(luarocks-package)) diff --git a/package/lua-datafile/Config.in b/package/lua-datafile/Config.in new file mode 100644 index 0000000000..e65406ed84 --- /dev/null +++ b/package/lua-datafile/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_LUA_DATAFILE + bool "lua-datafile" + help + datafile is a library for avoiding hardcoded paths + when loading resource files in Lua modules. + + https://github.com/hishamhm/datafile diff --git a/package/lua-datafile/lua-datafile.hash b/package/lua-datafile/lua-datafile.hash new file mode 100644 index 0000000000..83c346eae1 --- /dev/null +++ b/package/lua-datafile/lua-datafile.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 37a33079c3476477f19de14bebd664635a39a57dd05a2709c3a402cbc1e79a6b datafile-0.4-1.src.rock diff --git a/package/lua-datafile/lua-datafile.mk b/package/lua-datafile/lua-datafile.mk new file mode 100644 index 0000000000..75aef5290d --- /dev/null +++ b/package/lua-datafile/lua-datafile.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# lua-datafile +# +################################################################################ + +LUA_DATAFILE_VERSION = 0.4-1 +LUA_DATAFILE_NAME_UPSTREAM = datafile +LUA_DATAFILE_SUBDIR = datafile +LUA_DATAFILE_LICENSE = MIT +LUA_DATAFILE_LICENSE_FILES = $(LUA_DATAFILE_SUBDIR)/LICENSE + +$(eval $(luarocks-package)) diff --git a/package/lua-ev/Config.in b/package/lua-ev/Config.in index 4b3f8ed185..0cb4c22a92 100644 --- a/package/lua-ev/Config.in +++ b/package/lua-ev/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_LUA_EV bool "lua-ev" depends on BR2_PACKAGE_HAS_LUAINTERPRETER - select BR2_PACKAGE_LIBEV depends on !BR2_bfin # libev + select BR2_PACKAGE_LIBEV help Get access to the libev library from Lua. diff --git a/package/lua-ev/lua-ev.hash b/package/lua-ev/lua-ev.hash index 522e7e7e88..3f8d981297 100644 --- a/package/lua-ev/lua-ev.hash +++ b/package/lua-ev/lua-ev.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 f7f5df5ecfe4bd54797261d1b1bd3f770d39128b7aba72deef6d1d8d8e2b53fe lua-ev-v1.4.tar.gz +sha256 4e26e05830955fdd882a1b48b535be94356582eea310327f839f830cd9250d3a lua-ev-339426fbe528f11cb3cd1af69a88f06bba367981.tar.gz diff --git a/package/lua-ev/lua-ev.mk b/package/lua-ev/lua-ev.mk index 68f7fc75b0..39394875b8 100644 --- a/package/lua-ev/lua-ev.mk +++ b/package/lua-ev/lua-ev.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUA_EV_VERSION = v1.4 +LUA_EV_VERSION = 339426fbe528f11cb3cd1af69a88f06bba367981 LUA_EV_SITE = $(call github,brimworks,lua-ev,$(LUA_EV_VERSION)) LUA_EV_DEPENDENCIES = luainterpreter libev LUA_EV_LICENSE = MIT diff --git a/package/lua-fifo/Config.in b/package/lua-fifo/Config.in new file mode 100644 index 0000000000..5715b6bd27 --- /dev/null +++ b/package/lua-fifo/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_LUA_FIFO + bool "lua-fifo" + help + A lua library/'class' that implements a FIFO. + + https://github.com/daurnimator/fifo.lua diff --git a/package/lua-fifo/lua-fifo.hash b/package/lua-fifo/lua-fifo.hash new file mode 100644 index 0000000000..bab372804e --- /dev/null +++ b/package/lua-fifo/lua-fifo.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 53dea24ad658614a0254dcb10296a1a0fc5357315ada5724d6362f54c32b4c20 fifo-0.2-0.src.rock diff --git a/package/lua-fifo/lua-fifo.mk b/package/lua-fifo/lua-fifo.mk new file mode 100644 index 0000000000..875b89577a --- /dev/null +++ b/package/lua-fifo/lua-fifo.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# lua-fifo +# +################################################################################ + +LUA_FIFO_VERSION_UPSTREAM =0.2 +LUA_FIFO_VERSION =$(LUA_FIFO_VERSION_UPSTREAM)-0 +LUA_FIFO_NAME_UPSTREAM = fifo +LUA_FIFO_SUBDIR = fifo.lua-$(LUA_FIFO_VERSION_UPSTREAM) +LUA_FIFO_LICENSE = MIT +LUA_FIFO_LICENSE_FILES = $(LUA_FIFO_SUBDIR)/LICENSE + +$(eval $(luarocks-package)) diff --git a/package/lua-flu/Config.in b/package/lua-flu/Config.in new file mode 100644 index 0000000000..526dc90087 --- /dev/null +++ b/package/lua-flu/Config.in @@ -0,0 +1,18 @@ +config BR2_PACKAGE_LUA_FLU + bool "lua-flu" + depends on !BR2_STATIC_LIBS # libfuse + depends on BR2_TOOLCHAIN_HAS_THREADS # libfuse + depends on BR2_USE_MMU # libfuse + select BR2_PACKAGE_ATTR + select BR2_PACKAGE_LIBFUSE + help + Flu is a Lua binding for FUSE, which is a library allowing + creation of filesystem drivers run in userspace. Flu is a high + level binding, using basic Lua types rather than userdata + whenever possible. + + http://piratery.net/flu/ + +comment "lua-flu needs a toolchain w/ threads, dynamic library" + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/lua-flu/lua-flu.hash b/package/lua-flu/lua-flu.hash new file mode 100644 index 0000000000..92a0a13ffd --- /dev/null +++ b/package/lua-flu/lua-flu.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 1389c22daec77161ec93ff90c39ee70e0f8a656ff92f22f9cf5d7121999d5c53 flu-20150331-1.src.rock diff --git a/package/lua-flu/lua-flu.mk b/package/lua-flu/lua-flu.mk new file mode 100644 index 0000000000..7cfea8e6d0 --- /dev/null +++ b/package/lua-flu/lua-flu.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# lua-flu +# +################################################################################ + +LUA_FLU_VERSION = 20150331-1 +LUA_FLU_NAME_UPSTREAM = flu +LUA_FLU_SUBDIR = doub-flu-a7daae986339 +LUA_FLU_LICENSE = MIT +LUA_FLU_LICENSE_FILES = $(LUA_FLU_SUBDIR)/doc/LICENSE.txt +LUA_FLU_DEPENDENCIES = attr libfuse + +$(eval $(luarocks-package)) diff --git a/package/lua-http/Config.in b/package/lua-http/Config.in new file mode 100644 index 0000000000..247cc40317 --- /dev/null +++ b/package/lua-http/Config.in @@ -0,0 +1,18 @@ +config BR2_PACKAGE_LUA_HTTP + bool "lua-http" + depends on BR2_TOOLCHAIN_HAS_THREADS # luaossl & lua-cqueues + # These are runtime dependencies + select BR2_PACKAGE_LUA_BASEXX + select BR2_PACKAGE_LUA_COMPAT53 if !BR2_PACKAGE_LUA_5_3 + select BR2_PACKAGE_LUA_CQUEUES + select BR2_PACKAGE_LUA_FIFO + select BR2_PACKAGE_LUA_LPEG_PATTERNS + select BR2_PACKAGE_LUABITOP if BR2_PACKAGE_LUA_5_1 + select BR2_PACKAGE_LUAOSSL + help + HTTP library for Lua + + https://daurnimator.github.io/lua-http/ + +comment "lua-http needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/lua-http/lua-http.hash b/package/lua-http/lua-http.hash new file mode 100644 index 0000000000..2346ab97a4 --- /dev/null +++ b/package/lua-http/lua-http.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 d68591eeeeb60c4187469eae89f5bad02d753a8c0adaa460d453b0734222645a http-0.2-0.src.rock diff --git a/package/lua-http/lua-http.mk b/package/lua-http/lua-http.mk new file mode 100644 index 0000000000..9bc416b8a3 --- /dev/null +++ b/package/lua-http/lua-http.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# lua-http +# +################################################################################ + +LUA_HTTP_VERSION_UPSTREAM = 0.2 +LUA_HTTP_VERSION = $(LUA_HTTP_VERSION_UPSTREAM)-0 +LUA_HTTP_NAME_UPSTREAM = http +LUA_HTTP_SUBDIR = lua-http-$(LUA_HTTP_VERSION_UPSTREAM) +LUA_HTTP_LICENSE = MIT +LUA_HTTP_LICENSE_FILES = $(LUA_HTTP_SUBDIR)/LICENSE.md + +$(eval $(luarocks-package)) diff --git a/package/lua-iconv/lua-iconv.mk b/package/lua-iconv/lua-iconv.mk index f0afa2b85e..dd7533af59 100644 --- a/package/lua-iconv/lua-iconv.mk +++ b/package/lua-iconv/lua-iconv.mk @@ -4,9 +4,7 @@ # ################################################################################ -LUA_ICONV_VERSION_UPSTREAM = 7 -LUA_ICONV_VERSION = $(LUA_ICONV_VERSION_UPSTREAM)-1 -LUA_ICONV_SUBDIR = lua-iconv-$(LUA_ICONV_VERSION_UPSTREAM) +LUA_ICONV_VERSION = 7-1 LUA_ICONV_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBICONV),libiconv) LUA_ICONV_LICENSE = MIT LUA_ICONV_LICENSE_FILES = $(LUA_ICONV_SUBDIR)/COPYING diff --git a/package/lua-lpeg-patterns/Config.in b/package/lua-lpeg-patterns/Config.in new file mode 100644 index 0000000000..9c701d3de7 --- /dev/null +++ b/package/lua-lpeg-patterns/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_LUA_LPEG_PATTERNS + bool "lua-lpeg-patterns" + # These are runtime dependencies + select BR2_PACKAGE_LPEG + help + a collection of LPEG patterns. + + https://github.com/daurnimator/lpeg_patterns diff --git a/package/lua-lpeg-patterns/lua-lpeg-patterns.hash b/package/lua-lpeg-patterns/lua-lpeg-patterns.hash new file mode 100644 index 0000000000..f779466df1 --- /dev/null +++ b/package/lua-lpeg-patterns/lua-lpeg-patterns.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 82c8eddee52069e5ae821b68cb9e295ab5767a47d07545a4ca36ac1e81066086 lpeg_patterns-0.4-0.src.rock diff --git a/package/lua-lpeg-patterns/lua-lpeg-patterns.mk b/package/lua-lpeg-patterns/lua-lpeg-patterns.mk new file mode 100644 index 0000000000..8f40c9954a --- /dev/null +++ b/package/lua-lpeg-patterns/lua-lpeg-patterns.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# lua-lpeg-patterns +# +################################################################################ + +LUA_LPEG_PATTERNS_VERSION = 0.4-0 +LUA_LPEG_PATTERNS_NAME_UPSTREAM = lpeg_patterns +LUA_LPEG_PATTERNS_ROCKSPEC = $(LUA_LPEG_PATTERNS_NAME_UPSTREAM)-$(LUA_LPEG_PATTERNS_VERSION).rockspec +LUA_LPEG_PATTERNS_SOURCE = $(LUA_LPEG_PATTERNS_NAME_UPSTREAM)-$(LUA_LPEG_PATTERNS_VERSION).src.rock +LUA_LPEG_PATTERNS_LICENSE = MIT +LUA_LPEG_PATTERNS_LICENSE_FILES = $(LUA_LPEG_PATTERNS_SUBDIR)/LICENSE.md + +$(eval $(luarocks-package)) diff --git a/package/lua-markdown/Config.in b/package/lua-markdown/Config.in new file mode 100644 index 0000000000..c53dc4606e --- /dev/null +++ b/package/lua-markdown/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_LUA_MARKDOWN + bool "lua-markdown" + help + A pure-lua implementation of the Markdown text-to-html + markup system. + + https://github.com/mpeterv/markdown diff --git a/package/lua-markdown/lua-markdown.hash b/package/lua-markdown/lua-markdown.hash new file mode 100644 index 0000000000..9bfbf6007f --- /dev/null +++ b/package/lua-markdown/lua-markdown.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 bed84231bb48322f8e614b4392181c52c36bc71340f9273e0c3bd72dc922bc07 markdown-0.33-1.src.rock diff --git a/package/lua-markdown/lua-markdown.mk b/package/lua-markdown/lua-markdown.mk new file mode 100644 index 0000000000..a98f3125ac --- /dev/null +++ b/package/lua-markdown/lua-markdown.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# lua-markdown +# +################################################################################ + +LUA_MARKDOWN_VERSION = 0.33-1 +LUA_MARKDOWN_NAME_UPSTREAM = markdown +LUA_MARKDOWN_SUBDIR = markdown +LUA_MARKDOWN_LICENSE = MIT +LUA_MARKDOWN_LICENSE_FILES = $(LUA_MARKDOWN_SUBDIR)/LICENSE + +$(eval $(luarocks-package)) diff --git a/package/lua-messagepack/lua-messagepack.hash b/package/lua-messagepack/lua-messagepack.hash index 7da34e13df..a2b0bd7f69 100644 --- a/package/lua-messagepack/lua-messagepack.hash +++ b/package/lua-messagepack/lua-messagepack.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 a8aac195dc835101a025385b4c5b596de6602c4ced85e0df35b7f52e6aa6ee5d lua-messagepack-0.4.0-1.src.rock -sha256 85a3eef21e10eb6c3ebf584ce950610fc10457746a4b8dbcbcab4b626f7d3265 lua-messagepack-lua53-0.4.0-1.src.rock +sha256 1d7a1cc16ee1e4c99ec213817bab2bf38e48a5b1646b88aa0d6ab4ed4e1aa207 lua-messagepack-0.5.0-1.src.rock +sha256 1bed1efdddbc7f8adb0c37d0dc3d1fd77ce267f648fc75c08af523e3b6bed3fb lua-messagepack-lua53-0.5.0-1.src.rock diff --git a/package/lua-messagepack/lua-messagepack.mk b/package/lua-messagepack/lua-messagepack.mk index 15fc182564..ffcebcab05 100644 --- a/package/lua-messagepack/lua-messagepack.mk +++ b/package/lua-messagepack/lua-messagepack.mk @@ -4,11 +4,12 @@ # ################################################################################ -LUA_MESSAGEPACK_VERSION_UPSTREAM = 0.4.0 -ifeq ($(BR2_PACKAGE_LUA_5_3),y) -LUA_MESSAGEPACK_VERSION = lua53-$(LUA_MESSAGEPACK_VERSION_UPSTREAM)-1 -else +LUA_MESSAGEPACK_VERSION_UPSTREAM = 0.5.0 LUA_MESSAGEPACK_VERSION = $(LUA_MESSAGEPACK_VERSION_UPSTREAM)-1 +ifeq ($(BR2_PACKAGE_LUA_5_3),y) +LUA_MESSAGEPACK_NAME_UPSTREAM = lua-MessagePack-lua53 +else +LUA_MESSAGEPACK_NAME_UPSTREAM = lua-MessagePack endif LUA_MESSAGEPACK_SUBDIR = lua-MessagePack-$(LUA_MESSAGEPACK_VERSION_UPSTREAM) LUA_MESSAGEPACK_LICENSE = MIT diff --git a/package/lua-periphery/lua-periphery.mk b/package/lua-periphery/lua-periphery.mk index 48eba39289..2c04eede86 100644 --- a/package/lua-periphery/lua-periphery.mk +++ b/package/lua-periphery/lua-periphery.mk @@ -4,8 +4,7 @@ # ################################################################################ -LUA_PERIPHERY_VERSION_UPSTREAM = 1.0.6 -LUA_PERIPHERY_VERSION = $(LUA_PERIPHERY_VERSION_UPSTREAM)-1 +LUA_PERIPHERY_VERSION = 1.0.6-1 LUA_PERIPHERY_SUBDIR = lua-periphery LUA_PERIPHERY_LICENSE = MIT LUA_PERIPHERY_LICENSE_FILES = $(LUA_PERIPHERY_SUBDIR)/LICENSE diff --git a/package/lua-resty-http/Config.in b/package/lua-resty-http/Config.in new file mode 100644 index 0000000000..4697c90dfb --- /dev/null +++ b/package/lua-resty-http/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_LUA_RESTY_HTTP + bool "lua-resty-http" + help + Lua HTTP client cosocket driver for OpenResty / ngx_lua. + + http://github.com/pintsized/lua-resty-http diff --git a/package/lua-resty-http/lua-resty-http.hash b/package/lua-resty-http/lua-resty-http.hash new file mode 100644 index 0000000000..95f011bbc9 --- /dev/null +++ b/package/lua-resty-http/lua-resty-http.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 12d9aa9a49efdb752c1afb19a6d0a758de6c8dd2dad24ea48bd09e03f7a0e0f1 lua-resty-http-0.11-0.src.rock diff --git a/package/lua-resty-http/lua-resty-http.mk b/package/lua-resty-http/lua-resty-http.mk new file mode 100644 index 0000000000..e79982e203 --- /dev/null +++ b/package/lua-resty-http/lua-resty-http.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# lua-resty-http +# +################################################################################ + +LUA_RESTY_HTTP_VERSION = 0.11-0 +LUA_RESTY_HTTP_SUBDIR = lua-resty-http +LUA_RESTY_HTTP_LICENSE = BSD-2-Clause +LUA_RESTY_HTTP_LICENSE_FILES = $(LUA_RESTY_HTTP_SUBDIR)/LICENSE + +$(eval $(luarocks-package)) diff --git a/package/lua-sailor/Config.in b/package/lua-sailor/Config.in new file mode 100644 index 0000000000..2600d4600e --- /dev/null +++ b/package/lua-sailor/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_LUA_SAILOR + bool "lua-sailor" + # These are runtime dependencies + select BR2_PACKAGE_CGILUA + select BR2_PACKAGE_LBASE64 + select BR2_PACKAGE_LUAFILESYSTEM + select BR2_PACKAGE_LUA_DATAFILE + select BR2_PACKAGE_LUA_VALUA + select BR2_PACKAGE_XAVANTE + select BR2_PACKAGE_WSAPI_XAVANTE + help + Sailor is a web framework written in Lua that follows the MVC + design pattern. + + http://sailorproject.org/ diff --git a/package/lua-sailor/lua-sailor.hash b/package/lua-sailor/lua-sailor.hash new file mode 100644 index 0000000000..f4c42cccc5 --- /dev/null +++ b/package/lua-sailor/lua-sailor.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 4f7f43a7cf6c62712a521ebaf5f53aaf230039c7fb06480ae168c3aa036120bf sailor-0.5-4.src.rock diff --git a/package/lua-sailor/lua-sailor.mk b/package/lua-sailor/lua-sailor.mk new file mode 100644 index 0000000000..17fbd7c618 --- /dev/null +++ b/package/lua-sailor/lua-sailor.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# lua-sailor +# +################################################################################ + +LUA_SAILOR_VERSION = 0.5-4 +LUA_SAILOR_NAME_UPSTREAM = sailor +LUA_SAILOR_SUBDIR = sailor +LUA_SAILOR_LICENSE = MIT +LUA_SAILOR_LICENSE_FILES = $(LUA_SAILOR_SUBDIR)/LICENSE + +$(eval $(luarocks-package)) diff --git a/package/lua-sdl2/0001-Do-not-reference-host-directory-for-headers.patch b/package/lua-sdl2/0001-Do-not-reference-host-directory-for-headers.patch new file mode 100644 index 0000000000..f4b06e0b55 --- /dev/null +++ b/package/lua-sdl2/0001-Do-not-reference-host-directory-for-headers.patch @@ -0,0 +1,29 @@ +From 07309a49ad6c3e18c8c84fe54f1fdb9e103c4cc5 Mon Sep 17 00:00:00 2001 +From: Francois Perrad +Date: Sun, 22 Oct 2017 13:00:01 +0200 +Subject: [PATCH] Do not reference host directory for headers + +Signed-off-by: Francois Perrad +--- + cmake/FindSDL2.cmake | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/cmake/FindSDL2.cmake b/cmake/FindSDL2.cmake +index 5cf4115..5e17919 100644 +--- a/cmake/FindSDL2.cmake ++++ b/cmake/FindSDL2.cmake +@@ -73,11 +73,6 @@ find_path(SDL2_INCLUDE_DIR SDL.h + PATH_SUFFIXES include/SDL2 include + ) + +-# On FreeBSD SDL depends on libiconv and SDL_stdinc.h includes iconv.h, which is +-# located in ${LOCALBASE}/include. Append {LOCALBASE}/include to +-# the SDL_INCLUDE_DIR, thus allow to build SDL apps out of box. +-list(APPEND SDL2_INCLUDE_DIR /usr/local/include) +- + find_library(SDL_LIBRARY_TEMP + NAMES SDL2 SDL2-2.0 + HINTS +-- +2.13.6 + diff --git a/package/lua-sdl2/0002-CMakeLists-do-not-require-C.patch b/package/lua-sdl2/0002-CMakeLists-do-not-require-C.patch new file mode 100644 index 0000000000..eb03ca58ee --- /dev/null +++ b/package/lua-sdl2/0002-CMakeLists-do-not-require-C.patch @@ -0,0 +1,58 @@ +From 5732174debfe027f7620af55c283060201f0ad03 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Thu, 2 Nov 2017 22:54:51 +0100 +Subject: [PATCH] CMakeLists: do not require C++ + +The project doesn't use C++, so don't let CMake check for a C++ +compiler by explicitly specifying that this is a C-only project. + +Submitted-upstream: https://github.com/Tangent128/luasdl2/pull/69 +Signed-off-by: Thomas Petazzoni +--- + common/CMakeLists.txt | 2 +- + examples/CMakeLists.txt | 2 +- + tutorials/CMakeLists.txt | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt +index 9e19709..8cfb748 100644 +--- a/common/CMakeLists.txt ++++ b/common/CMakeLists.txt +@@ -15,7 +15,7 @@ + # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +-project(common) ++project(common C) + + set( + SOURCES +diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt +index 572b3b7..4e3af4d 100644 +--- a/examples/CMakeLists.txt ++++ b/examples/CMakeLists.txt +@@ -16,7 +16,7 @@ + # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + # + +-project(examples) ++project(examples C) + + # Option to enable / disable examples installation + option(WITH_DOCS "Installation of documentation and examples" On) +diff --git a/tutorials/CMakeLists.txt b/tutorials/CMakeLists.txt +index adefbc9..6ec069e 100644 +--- a/tutorials/CMakeLists.txt ++++ b/tutorials/CMakeLists.txt +@@ -16,7 +16,7 @@ + # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + # + +-project(tutorials) ++project(tutorials C) + + # Option to enable / disable examples installation + option(WITH_DOCS "Installation of tutorials" On) +-- +2.13.6 + diff --git a/package/lua-sdl2/Config.in b/package/lua-sdl2/Config.in new file mode 100644 index 0000000000..65f9e7ff41 --- /dev/null +++ b/package/lua-sdl2/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_LUA_SDL2 + bool "lua-sdl2" + depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_SDL2 + help + Lua-SDL2 is a pure C binding of SDL2 to Lua 5.1, Lua 5.2, + Lua 5.3, and LuaJIT. + + https://github.com/Tangent128/luasdl2 + +comment "lua-sdl2 needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/package/lua-sdl2/lua-sdl2.hash b/package/lua-sdl2/lua-sdl2.hash new file mode 100644 index 0000000000..80aa1cccb1 --- /dev/null +++ b/package/lua-sdl2/lua-sdl2.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 cee7875106062fbc00cf8acb3b2738e336e2327df73ede011968cb060c094bfb lua-sdl2-v2.0.5-6.0.tar.gz diff --git a/package/lua-sdl2/lua-sdl2.mk b/package/lua-sdl2/lua-sdl2.mk new file mode 100644 index 0000000000..31375997b3 --- /dev/null +++ b/package/lua-sdl2/lua-sdl2.mk @@ -0,0 +1,39 @@ +################################################################################ +# +# lua-sdl2 +# +################################################################################ + +LUA_SDL2_VERSION = v2.0.5-6.0 +LUA_SDL2_SITE = $(call github,Tangent128,luasdl2,$(LUA_SDL2_VERSION)) +LUA_SDL2_LICENSE = ISC +LUA_SDL2_LICENSE_FILES = LICENSE +LUA_SDL2_DEPENDENCIES = luainterpreter sdl2 + +LUA_SDL2_CONF_OPTS += -DWITH_LUAVER=user -DLUA_INCLUDE_DIR=$(STAGING_DIR)/usr/include + +ifeq ($(BR2_PACKAGE_SDL2_IMAGE),y) +LUA_SDL2_DEPENDENCIES += sdl2_image +else +LUA_SDL2_CONF_OPTS += -DWITH_IMAGE=Off +endif + +ifeq ($(BR2_PACKAGE_SDL2_MIXER),y) +LUA_SDL2_DEPENDENCIES += sdl2_mixer +else +LUA_SDL2_CONF_OPTS += -DWITH_MIXER=Off +endif + +ifeq ($(BR2_PACKAGE_SDL2_NET),y) +LUA_SDL2_DEPENDENCIES += sdl2_net +else +LUA_SDL2_CONF_OPTS += -DWITH_NET=Off +endif + +ifeq ($(BR2_PACKAGE_SDL2_TTF),y) +LUA_SDL2_DEPENDENCIES += sdl2_ttf +else +LUA_SDL2_CONF_OPTS += -DWITH_TTF=Off +endif + +$(eval $(cmake-package)) diff --git a/package/lua-stdlib/Config.in b/package/lua-stdlib/Config.in new file mode 100644 index 0000000000..1843826c24 --- /dev/null +++ b/package/lua-stdlib/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_LUA_STDLIB + bool "lua-stdlib" + help + lua-stdlib is a library of modules for common programming + tasks, including list, table and functional operations, + objects, pickling, pretty-printing and command-line option + parsing. + + https://github.com/lua-stdlib/lua-stdlib/ diff --git a/package/lua-stdlib/lua-stdlib.hash b/package/lua-stdlib/lua-stdlib.hash new file mode 100644 index 0000000000..4882bf1e7c --- /dev/null +++ b/package/lua-stdlib/lua-stdlib.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b7302ecc8ea3992d3bad96c0c4d56272e38d786d16cc1ad5964fefa73fd7c10b stdlib-41.2.1-1.src.rock diff --git a/package/lua-stdlib/lua-stdlib.mk b/package/lua-stdlib/lua-stdlib.mk new file mode 100644 index 0000000000..a7930be5df --- /dev/null +++ b/package/lua-stdlib/lua-stdlib.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# lua-stdlib +# +################################################################################ + +LUA_STDLIB_VERSION_UPSTREAM = 41.2.1 +LUA_STDLIB_VERSION = $(LUA_STDLIB_VERSION_UPSTREAM)-1 +LUA_STDLIB_NAME_UPSTREAM = stdlib +LUA_STDLIB_SUBDIR = lua-stdlib-release-v$(LUA_STDLIB_VERSION_UPSTREAM) +LUA_STDLIB_LICENSE = MIT +LUA_STDLIB_LICENSE_FILES = $(LUA_STDLIB_SUBDIR)/COPYING + +$(eval $(luarocks-package)) diff --git a/package/lua-testmore/lua-testmore.mk b/package/lua-testmore/lua-testmore.mk index 771b97f000..04482e2586 100644 --- a/package/lua-testmore/lua-testmore.mk +++ b/package/lua-testmore/lua-testmore.mk @@ -4,9 +4,8 @@ # ################################################################################ -LUA_TESTMORE_VERSION_UPSTREAM = 0.3.2 -LUA_TESTMORE_VERSION = $(LUA_TESTMORE_VERSION_UPSTREAM)-1 -LUA_TESTMORE_SUBDIR = lua-TestMore-$(LUA_TESTMORE_VERSION_UPSTREAM) +LUA_TESTMORE_VERSION = 0.3.2-1 +LUA_TESTMORE_NAME_UPSTREAM = lua-TestMore LUA_TESTMORE_LICENSE = MIT LUA_TESTMORE_LICENSE_FILES = $(LUA_TESTMORE_SUBDIR)/COPYRIGHT diff --git a/package/lua-valua/Config.in b/package/lua-valua/Config.in new file mode 100644 index 0000000000..96b3796517 --- /dev/null +++ b/package/lua-valua/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_LUA_VALUA + bool "lua-valua" + help + This module provides tools for validating values, very useful + in forms, but also usable elsewhere. It works in appended + chains. Create a new validation object and start chaining + your test functions. + + https://github.com/sailorproject/valua diff --git a/package/lua-valua/lua-valua.hash b/package/lua-valua/lua-valua.hash new file mode 100644 index 0000000000..92ea613115 --- /dev/null +++ b/package/lua-valua/lua-valua.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 bff39692fd2ac3590fd814aa1b1ca33e5d5971092955309aa8424b02b88ce1a3 valua-0.3-1.src.rock diff --git a/package/lua-valua/lua-valua.mk b/package/lua-valua/lua-valua.mk new file mode 100644 index 0000000000..8cb0bf5261 --- /dev/null +++ b/package/lua-valua/lua-valua.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# lua-valua +# +################################################################################ + +LUA_VALUA_VERSION = 0.3-1 +LUA_VALUA_NAME_UPSTREAM = valua +LUA_VALUA_SUBDIR = valua +LUA_VALUA_LICENSE = MIT +LUA_VALUA_LICENSE_FILES = $(LUA_VALUA_SUBDIR)/LICENSE + +$(eval $(luarocks-package)) diff --git a/package/lua/5.2.4/0004-lua-pc.patch b/package/lua/5.2.4/0004-lua-pc.patch deleted file mode 100644 index 62acb201f2..0000000000 --- a/package/lua/5.2.4/0004-lua-pc.patch +++ /dev/null @@ -1,40 +0,0 @@ -add lua.pc - -Signed-off-by: Francois Perrad - -Index: b/etc/lua.pc -=================================================================== ---- /dev/null -+++ b/etc/lua.pc -@@ -0,0 +1,31 @@ -+# lua.pc -- pkg-config data for Lua -+ -+# vars from install Makefile -+ -+# grep '^V=' ../Makefile -+V= 5.2 -+# grep '^R=' ../Makefile -+R= 5.2.3 -+ -+# grep '^INSTALL_.*=' ../Makefile | sed 's/INSTALL_TOP/prefix/' -+prefix= /usr -+INSTALL_BIN= ${prefix}/bin -+INSTALL_INC= ${prefix}/include -+INSTALL_LIB= ${prefix}/lib -+INSTALL_MAN= ${prefix}/man/man1 -+INSTALL_LMOD= ${prefix}/share/lua/${V} -+INSTALL_CMOD= ${prefix}/lib/lua/${V} -+ -+# canonical vars -+exec_prefix=${prefix} -+libdir=${exec_prefix}/lib -+includedir=${prefix}/include -+ -+Name: Lua -+Description: An Extensible Extension Language -+Version: ${R} -+Requires: -+Libs: -L${libdir} -llua -lm -+Cflags: -I${includedir} -+ -+# (end of lua.pc) diff --git a/package/lua/5.3.4/0004-lua-pc.patch b/package/lua/5.3.4/0004-lua-pc.patch deleted file mode 100644 index 615a7db8fc..0000000000 --- a/package/lua/5.3.4/0004-lua-pc.patch +++ /dev/null @@ -1,40 +0,0 @@ -add lua.pc - -Signed-off-by: Francois Perrad - -Index: b/etc/lua.pc -=================================================================== ---- /dev/null -+++ b/etc/lua.pc -@@ -0,0 +1,31 @@ -+# lua.pc -- pkg-config data for Lua -+ -+# vars from install Makefile -+ -+# grep '^V=' ../Makefile -+V= 5.3 -+# grep '^R=' ../Makefile -+R= 5.3.4 -+ -+# grep '^INSTALL_.*=' ../Makefile | sed 's/INSTALL_TOP/prefix/' -+prefix= /usr -+INSTALL_BIN= ${prefix}/bin -+INSTALL_INC= ${prefix}/include -+INSTALL_LIB= ${prefix}/lib -+INSTALL_MAN= ${prefix}/man/man1 -+INSTALL_LMOD= ${prefix}/share/lua/${V} -+INSTALL_CMOD= ${prefix}/lib/lua/${V} -+ -+# canonical vars -+exec_prefix=${prefix} -+libdir=${exec_prefix}/lib -+includedir=${prefix}/include -+ -+Name: Lua -+Description: An Extensible Extension Language -+Version: ${R} -+Requires: -+Libs: -L${libdir} -llua -lm -+Cflags: -I${includedir} -+ -+# (end of lua.pc) diff --git a/package/lua/Config.in b/package/lua/Config.in index 711fa89163..4d2f0e90fa 100644 --- a/package/lua/Config.in +++ b/package/lua/Config.in @@ -2,7 +2,8 @@ config BR2_PACKAGE_LUA bool "lua" select BR2_PACKAGE_HAS_LUAINTERPRETER help - Lua is a powerful, fast, light-weight, embeddable scripting language. + Lua is a powerful, fast, light-weight, embeddable scripting + language. http://www.lua.org/ @@ -17,14 +18,14 @@ choice help Select the version of Lua API/ABI you wish to use. - config BR2_PACKAGE_LUA_5_1 - bool "Lua 5.1.x" +config BR2_PACKAGE_LUA_5_1 + bool "Lua 5.1.x" - config BR2_PACKAGE_LUA_5_2 - bool "Lua 5.2.x" +config BR2_PACKAGE_LUA_5_2 + bool "Lua 5.2.x" - config BR2_PACKAGE_LUA_5_3 - bool "Lua 5.3.x" +config BR2_PACKAGE_LUA_5_3 + bool "Lua 5.3.x" endchoice diff --git a/package/lua/lua.mk b/package/lua/lua.mk index 5ef61e039e..0ac2e0e25d 100644 --- a/package/lua/lua.mk +++ b/package/lua/lua.mk @@ -70,8 +70,11 @@ define LUA_BUILD_CMDS CC="$(TARGET_CC)" RANLIB="$(TARGET_RANLIB)" \ CFLAGS="$(TARGET_CFLAGS) $(LUA_CFLAGS)" \ MYLIBS="$(LUA_MYLIBS)" AR="$(TARGET_CROSS)ar rcu" \ + MYLDFLAGS="$(TARGET_LDFLAGS)" \ BUILDMODE=$(LUA_BUILDMODE) \ PKG_VERSION=$(LUA_VERSION) -C $(@D)/src all + sed -e "s/@VERSION@/$(LUA_VERSION)/;s/@ABI@/$(LUAINTERPRETER_ABIVER)/;s/@MYLIBS@/$(LUA_MYLIBS)/" \ + package/lua/lua.pc.in > $(@D)/lua.pc endef define HOST_LUA_BUILD_CMDS @@ -81,11 +84,13 @@ define HOST_LUA_BUILD_CMDS MYLIBS="$(HOST_LUA_MYLIBS)" \ BUILDMODE=static \ PKG_VERSION=$(LUA_VERSION) -C $(@D)/src all + sed -e "s/@VERSION@/$(LUA_VERSION)/;s/@ABI@/$(LUAINTERPRETER_ABIVER)/;s/@MYLIBS@/$(HOST_LUA_MYLIBS)/" \ + package/lua/lua.pc.in > $(@D)/lua.pc endef define LUA_INSTALL_STAGING_CMDS $(TARGET_MAKE_ENV) $(MAKE) INSTALL_TOP="$(STAGING_DIR)/usr" -C $(@D) install - $(INSTALL) -m 0644 -D $(@D)/etc/lua.pc \ + $(INSTALL) -m 0644 -D $(@D)/lua.pc \ $(STAGING_DIR)/usr/lib/pkgconfig/lua.pc endef @@ -94,9 +99,9 @@ define LUA_INSTALL_TARGET_CMDS endef define HOST_LUA_INSTALL_CMDS - $(HOST_MAKE_ENV) $(MAKE) INSTALL_TOP="$(HOST_DIR)/usr" -C $(@D) install - $(INSTALL) -m 0644 -D $(@D)/etc/lua.pc \ - $(HOST_DIR)/usr/lib/pkgconfig/lua.pc + $(HOST_MAKE_ENV) $(MAKE) INSTALL_TOP="$(HOST_DIR)" -C $(@D) install + $(INSTALL) -m 0644 -D $(@D)/lua.pc \ + $(HOST_DIR)/lib/pkgconfig/lua.pc endef $(eval $(generic-package)) diff --git a/package/lua/lua.pc.in b/package/lua/lua.pc.in new file mode 100644 index 0000000000..0a61d5e6df --- /dev/null +++ b/package/lua/lua.pc.in @@ -0,0 +1,26 @@ +# lua.pc -- pkg-config data for Lua + +V= @ABI@ +R= @VERSION@ + +prefix= /usr +INSTALL_BIN= ${prefix}/bin +INSTALL_INC= ${prefix}/include +INSTALL_LIB= ${prefix}/lib +INSTALL_MAN= ${prefix}/man/man1 +INSTALL_LMOD= ${prefix}/share/lua/${V} +INSTALL_CMOD= ${prefix}/lib/lua/${V} + +# canonical vars +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: Lua +Description: An Extensible Extension Language +Version: ${R} +Requires: +Libs: -L${libdir} -llua -lm @MYLIBS@ +Cflags: -I${includedir} + +# (end of lua.pc) diff --git a/package/luabitop/Config.in b/package/luabitop/Config.in index 26442fc910..a819fe8ae7 100644 --- a/package/luabitop/Config.in +++ b/package/luabitop/Config.in @@ -2,8 +2,8 @@ config BR2_PACKAGE_LUABITOP bool "luabitop" depends on !BR2_PACKAGE_LUA_5_3 help - Lua BitOp is a C extension module for Lua 5.1/5.2 which adds bitwise - operations on numbers. + Lua BitOp is a C extension module for Lua 5.1/5.2 which adds + bitwise operations on numbers. http://bitop.luajit.org diff --git a/package/luabitop/luabitop.mk b/package/luabitop/luabitop.mk index 5ced99b327..a36a2feaf1 100644 --- a/package/luabitop/luabitop.mk +++ b/package/luabitop/luabitop.mk @@ -4,9 +4,8 @@ # ################################################################################ -LUABITOP_VERSION_UPSTREAM = 1.0.2 -LUABITOP_VERSION = $(LUABITOP_VERSION_UPSTREAM)-1 -LUABITOP_SUBDIR = LuaBitOp-$(LUABITOP_VERSION_UPSTREAM) +LUABITOP_VERSION = 1.0.2-1 +LUABITOP_NAME_UPSTREAM = LuaBitOp LUABITOP_LICENSE = MIT LUABITOP_LICENSE_FILES = $(LUABITOP_SUBDIR)/README diff --git a/package/luacrypto/Config.in b/package/luacrypto/Config.in index 8d13eec6b5..e9d43cd809 100644 --- a/package/luacrypto/Config.in +++ b/package/luacrypto/Config.in @@ -4,8 +4,8 @@ config BR2_PACKAGE_LUACRYPTO help LuaCrypto provides a Lua frontend to the OpenSSL cryptographic library. - The OpenSSL features that are currently exposed are digests (MD5, - SHA-1, HMAC, and more) and crypto-grade random number generators - communication. + The OpenSSL features that are currently exposed are digests + (MD5, SHA-1, HMAC, and more) and crypto-grade random number + generators communication. http://luacrypto.luaforge.net diff --git a/package/luacrypto/luacrypto.mk b/package/luacrypto/luacrypto.mk index b0e972c629..b6dbb9999f 100644 --- a/package/luacrypto/luacrypto.mk +++ b/package/luacrypto/luacrypto.mk @@ -4,9 +4,7 @@ # ################################################################################ -LUACRYPTO_VERSION_UPSTREAM = 0.3.2 -LUACRYPTO_VERSION = $(LUACRYPTO_VERSION_UPSTREAM)-1 -LUACRYPTO_SUBDIR = luacrypto-$(LUACRYPTO_VERSION_UPSTREAM) +LUACRYPTO_VERSION = 0.3.2-1 LUACRYPTO_LICENSE = MIT LUACRYPTO_LICENSE_FILES = $(LUACRYPTO_SUBDIR)/COPYING LUACRYPTO_DEPENDENCIES = openssl diff --git a/package/luaexpat/Config.in b/package/luaexpat/Config.in index 6976e40c67..7139e8c6da 100644 --- a/package/luaexpat/Config.in +++ b/package/luaexpat/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_LUAEXPAT bool "luaexpat" - select BR2_PACKAGE_EXPAT depends on BR2_PACKAGE_HAS_LUAINTERPRETER + select BR2_PACKAGE_EXPAT help LuaExpat is a SAX XML parser based on the Expat library. diff --git a/package/luaexpat/luaexpat.mk b/package/luaexpat/luaexpat.mk index c6768dcc18..c7377f6afe 100644 --- a/package/luaexpat/luaexpat.mk +++ b/package/luaexpat/luaexpat.mk @@ -7,5 +7,6 @@ LUAEXPAT_VERSION = 1.3.0-1 LUAEXPAT_DEPENDENCIES = expat LUAEXPAT_LICENSE = MIT +LUAEXPAT_LICENSE_FILES = $(LUAEXPAT_SUBDIR)/doc/us/license.html $(eval $(luarocks-package)) diff --git a/package/luaexpatutils/Config.in b/package/luaexpatutils/Config.in index cb2887acaa..28a7b09540 100644 --- a/package/luaexpatutils/Config.in +++ b/package/luaexpatutils/Config.in @@ -2,7 +2,8 @@ config BR2_PACKAGE_LUAEXPATUTILS bool "luaexpatutils" select BR2_PACKAGE_LUAEXPAT help - lxp.doc is a module that provides useful features for working with - XML formats in LOM format as used by the LuaExpat project from Kepler. + lxp.doc is a module that provides useful features for working + with XML formats in LOM format as used by the LuaExpat project + from Kepler. https://github.com/stevedonovan/LuaExpatUtils diff --git a/package/luafilesystem/luafilesystem.hash b/package/luafilesystem/luafilesystem.hash index e91f9d6688..bd4a446cf5 100644 --- a/package/luafilesystem/luafilesystem.hash +++ b/package/luafilesystem/luafilesystem.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 70121e78b8ef9365265b85027729d0520c1163f5609abfa9554b215a672f4e7a luafilesystem-1.6.3-1.src.rock +sha256 65e6d437e577a1d6cd509b6cd224d2cb9501d58d32a72cafbd4fd3f911681576 luafilesystem-1.7.0-2.src.rock diff --git a/package/luafilesystem/luafilesystem.mk b/package/luafilesystem/luafilesystem.mk index a54ae236df..bde04267cd 100644 --- a/package/luafilesystem/luafilesystem.mk +++ b/package/luafilesystem/luafilesystem.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUAFILESYSTEM_VERSION = 1.6.3-1 +LUAFILESYSTEM_VERSION = 1.7.0-2 LUAFILESYSTEM_LICENSE = MIT LUAFILESYSTEM_LICENSE_FILES = luafilesystem/LICENSE LUAFILESYSTEM_SUBDIR = luafilesystem diff --git a/package/luainterpreter/luainterpreter.mk b/package/luainterpreter/luainterpreter.mk index a6c98ab992..cb1d5dde18 100644 --- a/package/luainterpreter/luainterpreter.mk +++ b/package/luainterpreter/luainterpreter.mk @@ -6,7 +6,18 @@ LUAINTERPRETER_ABIVER = $(call qstrip,$(BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION)) +# Lua packages often install documentation, clean that up globally +# Since luainterpreter is a virtual package, we can't use +# LUAINTERPRETER_TARGET_FINALIZE_HOOKS +ifeq ($(BR2_PACKAGE_HAS_LUAINTERPRETER),y) +define LUAINTERPRETER_REMOVE_DOC + rm -rf $(TARGET_DIR)/usr/share/lua/$(LUAINTERPRETER_ABIVER)/doc +endef + +TARGET_FINALIZE_HOOKS += LUAINTERPRETER_REMOVE_DOC +endif + $(eval $(virtual-package)) $(eval $(host-virtual-package)) -LUA_RUN = $(HOST_DIR)/usr/bin/$(call qstrip,$(BR2_PACKAGE_PROVIDES_LUAINTERPRETER)) +LUA_RUN = $(HOST_DIR)/bin/$(call qstrip,$(BR2_PACKAGE_PROVIDES_LUAINTERPRETER)) diff --git a/package/luajit/0001-no-bin-symlink.patch b/package/luajit/0001-no-bin-symlink.patch index 37298dd7c7..dd1dfd89fc 100644 --- a/package/luajit/0001-no-bin-symlink.patch +++ b/package/luajit/0001-no-bin-symlink.patch @@ -14,11 +14,11 @@ Index: b/Makefile -INSTALL_TSYMNAME= luajit +INSTALL_TNAME= luajit INSTALL_ANAME= libluajit-$(ABIVER).a - INSTALL_SONAME= libluajit-$(ABIVER).so.$(MAJVER).$(MINVER).$(RELVER) - INSTALL_SOSHORT= libluajit-$(ABIVER).so -@@ -58,7 +57,6 @@ - INSTALL_SHORT1= $(INSTALL_LIB)/$(INSTALL_SOSHORT) - INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_SOSHORT) + INSTALL_SOSHORT1= libluajit-$(ABIVER).so + INSTALL_SOSHORT2= libluajit-$(ABIVER).so.$(MAJVER) +@@ -59,7 +58,6 @@ + INSTALL_SHORT1= $(INSTALL_LIB)/$(INSTALL_SOSHORT1) + INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_SOSHORT2) INSTALL_T= $(INSTALL_BIN)/$(INSTALL_TNAME) -INSTALL_TSYM= $(INSTALL_BIN)/$(INSTALL_TSYMNAME) INSTALL_PC= $(INSTALL_PKGCONFIG)/$(INSTALL_PCNAME) diff --git a/package/luajit/0003-install-so.patch b/package/luajit/0003-install-so.patch deleted file mode 100644 index 5929595abe..0000000000 --- a/package/luajit/0003-install-so.patch +++ /dev/null @@ -1,22 +0,0 @@ -fix the following runtime error : - luajit: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory - -by creating two symbolic links: - libluajit-5.1.so -> libluajit-5.1.so.2.0.3 - libluajit-5.1.so.2 -> libluajit-5.1.so.2.0.3 - -Signed-off-by: Francois Perrad - -Index: b/Makefile -=================================================================== ---- a/Makefile -+++ b/Makefile -@@ -55,7 +55,7 @@ - INSTALL_STATIC= $(INSTALL_LIB)/$(INSTALL_ANAME) - INSTALL_DYN= $(INSTALL_LIB)/$(INSTALL_SONAME) - INSTALL_SHORT1= $(INSTALL_LIB)/$(INSTALL_SOSHORT) --INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_SOSHORT) -+INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_SOSHORT).$(MAJVER) - INSTALL_T= $(INSTALL_BIN)/$(INSTALL_TNAME) - INSTALL_PC= $(INSTALL_PKGCONFIG)/$(INSTALL_PCNAME) - diff --git a/package/luajit/Config.in b/package/luajit/Config.in index 380f2472ea..6b9c6e6ae8 100644 --- a/package/luajit/Config.in +++ b/package/luajit/Config.in @@ -1,5 +1,8 @@ config BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS bool + # -m32 flag is used for 32bit builds and host-luajit has + # limited architecture support + depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" default y if BR2_i386 || \ (BR2_x86_64 && BR2_HOSTARCH='x86_64') || \ BR2_powerpc || BR2_arm || BR2_armeb || \ @@ -8,7 +11,6 @@ config BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS config BR2_PACKAGE_LUAJIT bool "luajit" - select BR2_PACKAGE_HAS_LUAINTERPRETER depends on !BR2_STATIC_LIBS # dlopen # Luajit is only available for some target architectures, and # has some complexity wrt 32/64. See luajit.mk for details. @@ -16,6 +18,7 @@ config BR2_PACKAGE_LUAJIT # luajit.mk uses the "-m32" compiler option to build 32bit # binaries, so check if that option is supported. See # luajit.mk for details. + select BR2_PACKAGE_HAS_LUAINTERPRETER select BR2_HOSTARCH_NEEDS_IA32_COMPILER if !BR2_ARCH_IS_64 help LuaJIT implements the full set of language features defined diff --git a/package/luajit/luajit.hash b/package/luajit/luajit.hash index 086bef0199..2081d12724 100644 --- a/package/luajit/luajit.hash +++ b/package/luajit/luajit.hash @@ -1,2 +1,2 @@ # Hashes from: http://luajit.org/download.html -md5 dd9c38307f2223a504cbfb96e477eca0 LuaJIT-2.0.4.tar.gz +md5 48353202cbcacab84ee41a5a70ea0a2c LuaJIT-2.0.5.tar.gz diff --git a/package/luajit/luajit.mk b/package/luajit/luajit.mk index d3ef3b7599..939fa660d8 100644 --- a/package/luajit/luajit.mk +++ b/package/luajit/luajit.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUAJIT_VERSION = 2.0.4 +LUAJIT_VERSION = 2.0.5 LUAJIT_SOURCE = LuaJIT-$(LUAJIT_VERSION).tar.gz LUAJIT_SITE = http://luajit.org/download LUAJIT_LICENSE = MIT @@ -66,13 +66,13 @@ LUAJIT_POST_INSTALL_TARGET_HOOKS += LUAJIT_INSTALL_SYMLINK # host-efl package needs host-luajit to be linked dynamically. define HOST_LUAJIT_BUILD_CMDS - $(HOST_MAKE_ENV) $(MAKE) PREFIX="$(HOST_DIR)/usr" BUILDMODE=dynamic \ + $(HOST_MAKE_ENV) $(MAKE) PREFIX="$(HOST_DIR)" BUILDMODE=dynamic \ TARGET_LDFLAGS="$(HOST_LDFLAGS)" \ -C $(@D) amalg endef define HOST_LUAJIT_INSTALL_CMDS - $(HOST_MAKE_ENV) $(MAKE) PREFIX="$(HOST_DIR)/usr" LDCONFIG=true -C $(@D) install + $(HOST_MAKE_ENV) $(MAKE) PREFIX="$(HOST_DIR)" LDCONFIG=true -C $(@D) install endef $(eval $(generic-package)) diff --git a/package/luajson/luajson.hash b/package/luajson/luajson.hash index deda5efd6f..36534fe342 100644 --- a/package/luajson/luajson.hash +++ b/package/luajson/luajson.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 4898e5575713b37a1eb9badbd3968e15ec1856115daaed9819acf39113616619 luajson-1.3.3-1.src.rock +sha256 28a5928cf2e4fd79fa9a9aceaef5ebf1dccb1146489b7de4c2726f561700f01c luajson-1.3.4-1.src.rock diff --git a/package/luajson/luajson.mk b/package/luajson/luajson.mk index 67bc266444..81a9f8113b 100644 --- a/package/luajson/luajson.mk +++ b/package/luajson/luajson.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUAJSON_VERSION = 1.3.3-1 +LUAJSON_VERSION = 1.3.4-1 LUAJSON_SUBDIR = luajson LUAJSON_LICENSE = MIT LUAJSON_LICENSE_FILES = $(LUAJSON_SUBDIR)/LICENSE diff --git a/package/lualogging/Config.in b/package/lualogging/Config.in index 37d701522f..bb87f57f0d 100644 --- a/package/lualogging/Config.in +++ b/package/lualogging/Config.in @@ -1,9 +1,9 @@ config BR2_PACKAGE_LUALOGGING bool "lualogging" help - LuaLogging provides a simple API to use logging features in Lua. - Its design was based on log4j. LuaLogging currently supports, - through the use of appenders, console, file, rolling file, email, - socket and SQL outputs. + LuaLogging provides a simple API to use logging features in + Lua. Its design was based on log4j. LuaLogging currently + supports, through the use of appenders, console, file, rolling + file, email, socket and SQL outputs. http://www.keplerproject.org/lualogging/ diff --git a/package/luaossl/Config.in b/package/luaossl/Config.in new file mode 100644 index 0000000000..d8763e76a3 --- /dev/null +++ b/package/luaossl/Config.in @@ -0,0 +1,18 @@ +config BR2_PACKAGE_LUAOSSL + bool "luaossl" + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_OPENSSL + help + luaossl is a comprehensive binding to OpenSSL for Lua 5.1, + 5.2, and later. + + It includes support for certificate and key management, + key generation, signature verification, and deep bindings + to the distinguished name, alternative name, and X.509v3 + extension interfaces. It also binds OpenSSL's bignum, message + digest, HMAC, cipher, and CSPRNG interfaces. + + http://25thandclement.com/~william/projects/luaossl.html + +comment "luaossl needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/luaossl/luaossl.hash b/package/luaossl/luaossl.hash new file mode 100644 index 0000000000..84e6e64e3e --- /dev/null +++ b/package/luaossl/luaossl.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 9c1df5a0e83f0f867850047f5e42009a15864fb7e40afa028d86523bcc840fae luaossl-20170901-0.src.rock diff --git a/package/luaossl/luaossl.mk b/package/luaossl/luaossl.mk new file mode 100644 index 0000000000..07d4ef2a06 --- /dev/null +++ b/package/luaossl/luaossl.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# luaossl +# +################################################################################ + +LUAOSSL_VERSION_UPSTREAM = 20170901 +LUAOSSL_VERSION = $(LUAOSSL_VERSION_UPSTREAM)-0 +LUAOSSL_SUBDIR = luaossl-rel-$(LUAOSSL_VERSION_UPSTREAM) +LUAOSSL_LICENSE = MIT +LUAOSSL_LICENSE_FILES = $(LUAOSSL_SUBDIR)/LICENSE +LUAOSSL_DEPENDENCIES = openssl + +$(eval $(luarocks-package)) diff --git a/package/luaposix/Config.in b/package/luaposix/Config.in index 9707cdeeff..91abcb9e32 100644 --- a/package/luaposix/Config.in +++ b/package/luaposix/Config.in @@ -1,8 +1,10 @@ config BR2_PACKAGE_LUAPOSIX bool "luaposix" depends on BR2_PACKAGE_HAS_LUAINTERPRETER - select BR2_PACKAGE_LUABITOP if BR2_PACKAGE_LUA_5_1 - # LuaBitOp is already included in LuaJIT + # "bit32" is included in Lua 5.2+. luajit has an equivalent + # "bit" module, but since it has a different name, luaposix + # doesn't find it. + select BR2_PACKAGE_LUA_BIT32 if BR2_PACKAGE_LUA_5_1 || BR2_PACKAGE_LUAJIT help This is a POSIX binding for LuaJIT, Lua 5.1, 5.2 and 5.3; like most libraries it simply binds to C APIs on the diff --git a/package/luaposix/luaposix.hash b/package/luaposix/luaposix.hash index e2216be733..b3984c1d15 100644 --- a/package/luaposix/luaposix.hash +++ b/package/luaposix/luaposix.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 e66262f5b7fe1c32c65f17a5ef5ffb31c4d1877019b4870a5d373e2ab6526a21 luaposix-33.4.0.tar.gz +sha256 ba0bc343783fc33958cd02a68cdbfd65430152d9f297f7ed92678b1a305bd5d7 luaposix-34.0.1.tar.gz diff --git a/package/luaposix/luaposix.mk b/package/luaposix/luaposix.mk index ea3af16fb3..779e707ce8 100644 --- a/package/luaposix/luaposix.mk +++ b/package/luaposix/luaposix.mk @@ -4,11 +4,27 @@ # ################################################################################ -LUAPOSIX_VERSION = 33.4.0 +LUAPOSIX_VERSION = 34.0.1 LUAPOSIX_SITE = $(call github,luaposix,luaposix,release-v$(LUAPOSIX_VERSION)) LUAPOSIX_LICENSE = MIT -LUAPOSIX_LICENSE_FILES = COPYING +LUAPOSIX_LICENSE_FILES = LICENSE LUAPOSIX_DEPENDENCIES = luainterpreter host-lua -LUAPOSIX_CONF_OPTS = --libdir="/usr/lib/lua/$(LUAINTERPRETER_ABIVER)" --datarootdir="/usr/share/lua/$(LUAINTERPRETER_ABIVER)" -$(eval $(autotools-package)) +define LUAPOSIX_BUILD_CMDS + (cd $(@D); \ + $(LUA_RUN) build-aux/luke \ + CC="$(TARGET_CC)" \ + CFLAGS="$(TARGET_CFLAGS)" \ + LUA_INCDIR=$(STAGING_DIR)/usr/include \ + ) +endef + +define LUAPOSIX_INSTALL_TARGET_CMDS + (cd $(@D); \ + $(LUA_RUN) build-aux/luke install \ + INST_LIBDIR="$(TARGET_DIR)/usr/lib/lua/$(LUAINTERPRETER_ABIVER)" \ + INST_LUADIR="$(TARGET_DIR)/usr/share/lua/$(LUAINTERPRETER_ABIVER)" \ + ) +endef + +$(eval $(generic-package)) diff --git a/package/luarocks/luarocks.hash b/package/luarocks/luarocks.hash index fb01993f09..27845a46c4 100644 --- a/package/luarocks/luarocks.hash +++ b/package/luarocks/luarocks.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 0e1ec34583e1b265e0fbafb64c8bd348705ad403fe85967fd05d3a659f74d2e5 luarocks-2.4.2.tar.gz +sha256 4d414d32fed5bb121c72d3ff1280b7f2dc9027a9bc012e41dfbffd5b519b362e luarocks-2.4.3.tar.gz diff --git a/package/luarocks/luarocks.mk b/package/luarocks/luarocks.mk index d18056a527..e050cb553c 100644 --- a/package/luarocks/luarocks.mk +++ b/package/luarocks/luarocks.mk @@ -4,14 +4,14 @@ # ################################################################################ -LUAROCKS_VERSION = 2.4.2 +LUAROCKS_VERSION = 2.4.3 LUAROCKS_SITE = http://luarocks.org/releases LUAROCKS_LICENSE = MIT LUAROCKS_LICENSE_FILES = COPYING HOST_LUAROCKS_DEPENDENCIES = host-luainterpreter -LUAROCKS_CONFIG_DIR = $(HOST_DIR)/usr/etc/luarocks +LUAROCKS_CONFIG_DIR = $(HOST_DIR)/etc/luarocks LUAROCKS_CONFIG_FILE = $(LUAROCKS_CONFIG_DIR)/config-$(LUAINTERPRETER_ABIVER).lua LUAROCKS_CFLAGS = $(TARGET_CFLAGS) -fPIC ifeq ($(BR2_PACKAGE_LUA_5_3),y) @@ -19,9 +19,9 @@ LUAROCKS_CFLAGS += -DLUA_COMPAT_5_2 endif HOST_LUAROCKS_CONF_OPTS = \ - --prefix=$(HOST_DIR)/usr \ + --prefix=$(HOST_DIR) \ --sysconfdir=$(LUAROCKS_CONFIG_DIR) \ - --with-lua=$(HOST_DIR)/usr + --with-lua=$(HOST_DIR) ifeq ($(BR2_PACKAGE_LUAJIT),y) HOST_LUAROCKS_CONF_OPTS += --lua-suffix=jit @@ -34,7 +34,7 @@ endef define HOST_LUAROCKS_INSTALL_CMDS rm -f $(LUAROCKS_CONFIG_FILE) $(MAKE1) -C $(@D) install \ - PREFIX=$(HOST_DIR)/usr + PREFIX=$(HOST_DIR) echo "-- BR cross-compilation" >> $(LUAROCKS_CONFIG_FILE) echo "variables = {" >> $(LUAROCKS_CONFIG_FILE) echo " LUA_INCDIR = [[$(STAGING_DIR)/usr/include]]," >> $(LUAROCKS_CONFIG_FILE) @@ -53,8 +53,8 @@ endef $(eval $(host-generic-package)) -LUAROCKS_RUN_ENV = LUA_PATH="$(HOST_DIR)/usr/share/lua/$(LUAINTERPRETER_ABIVER)/?.lua" -LUAROCKS_RUN_CMD = $(LUA_RUN) $(HOST_DIR)/usr/bin/luarocks +LUAROCKS_RUN_ENV = LUA_PATH="$(HOST_DIR)/share/lua/$(LUAINTERPRETER_ABIVER)/?.lua" +LUAROCKS_RUN_CMD = $(LUA_RUN) $(HOST_DIR)/bin/luarocks define LUAROCKS_FINALIZE_TARGET rm -rf $(TARGET_DIR)/usr/lib/luarocks diff --git a/package/luasec/Config.in b/package/luasec/Config.in index a8cc9c977e..9391cd9d37 100644 --- a/package/luasec/Config.in +++ b/package/luasec/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_LUASEC bool "luasec" + depends on BR2_PACKAGE_HAS_LUAINTERPRETER select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_LUASOCKET - depends on BR2_PACKAGE_HAS_LUAINTERPRETER help LuaSec is a binding for OpenSSL library to provide TLS/SSL communication. diff --git a/package/luasec/luasec.mk b/package/luasec/luasec.mk index fd1f1cdbb7..b059e1c6ee 100644 --- a/package/luasec/luasec.mk +++ b/package/luasec/luasec.mk @@ -4,8 +4,7 @@ # ################################################################################ -LUASEC_VERSION_UPSTREAM = 0.5 -LUASEC_VERSION = $(LUASEC_VERSION_UPSTREAM)-2 +LUASEC_VERSION = 0.5-2 LUASEC_SUBDIR = luasec LUASEC_LICENSE = MIT LUASEC_LICENSE_FILES = $(LUASEC_SUBDIR)/LICENSE diff --git a/package/luasql-sqlite3/Config.in b/package/luasql-sqlite3/Config.in index 3bd73f3ba5..483d6a0f37 100644 --- a/package/luasql-sqlite3/Config.in +++ b/package/luasql-sqlite3/Config.in @@ -6,4 +6,3 @@ config BR2_PACKAGE_LUASQL_SQLITE3 LuaSQL is a simple interface from Lua to a DBMS. http://www.keplerproject.org/luasql - diff --git a/package/luasql-sqlite3/luasql-sqlite3.mk b/package/luasql-sqlite3/luasql-sqlite3.mk index 23983a84fc..51178db223 100644 --- a/package/luasql-sqlite3/luasql-sqlite3.mk +++ b/package/luasql-sqlite3/luasql-sqlite3.mk @@ -7,7 +7,7 @@ LUASQL_SQLITE3_VERSION = 2.3.0-1 LUASQL_SQLITE3_SUBDIR = luasql LUASQL_SQLITE3_LICENSE = MIT -LUASQL_SQLITE3_LICENSE_FILES = $(LUASQL_SQLITE3_SUBDIR)/README +LUASQL_SQLITE3_LICENSE_FILES = $(LUASQL_SQLITE3_SUBDIR)/doc/us/license.html LUASQL_SQLITE3_DEPENDENCIES = sqlite $(eval $(luarocks-package)) diff --git a/package/lugaru/0001-ImageIO-fix-invalid-conversion.patch b/package/lugaru/0001-ImageIO-fix-invalid-conversion.patch new file mode 100644 index 0000000000..6096477cd5 --- /dev/null +++ b/package/lugaru/0001-ImageIO-fix-invalid-conversion.patch @@ -0,0 +1,35 @@ +From 73e56ba8e91b6bae59220e6f25c1b7c15817edb5 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Sun, 12 Feb 2017 21:17:44 +0100 +Subject: [PATCH] ImageIO: fix invalid conversion + +Fixes: +Source/Utils/ImageIO.cpp:125:27: error: invalid conversion from 'int' to 'boolean' [-fpermissive] + cinfo.quantize_colors = 0; + ^ + +quantize_colors type is bool, so it must be initialized to TRUE or FALSE. + +Patch status: upsteam + +Signed-off-by: Romain Naour +--- + Source/Utils/ImageIO.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Source/Utils/ImageIO.cpp b/Source/Utils/ImageIO.cpp +index 706c201..c19a63e 100644 +--- a/Source/Utils/ImageIO.cpp ++++ b/Source/Utils/ImageIO.cpp +@@ -122,7 +122,7 @@ static bool load_jpg(const char* file_name, ImageRec& tex) + (void)jpeg_read_header(&cinfo, TRUE); + + cinfo.out_color_space = JCS_RGB; +- cinfo.quantize_colors = 0; ++ cinfo.quantize_colors = FALSE; + (void)jpeg_calc_output_dimensions(&cinfo); + (void)jpeg_start_decompress(&cinfo); + +-- +2.9.3 + diff --git a/package/lugaru/0002-Fix-mismatched-usage-length-build-fail-on-g.patch b/package/lugaru/0002-Fix-mismatched-usage-length-build-fail-on-g.patch new file mode 100644 index 0000000000..9c362a981e --- /dev/null +++ b/package/lugaru/0002-Fix-mismatched-usage-length-build-fail-on-g.patch @@ -0,0 +1,58 @@ +From 5a0c9f6358169b447840acdb721250ce932cb180 Mon Sep 17 00:00:00 2001 +From: Martin Erik Werner +Date: Wed, 8 Mar 2017 22:51:16 +0100 +Subject: [PATCH] Fix mismatched usage length, build fail on g++ +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The length of const option::Descriptor usage[] is intended to be +inferred based on the initialisation in Source/main.cpp, however, the +extern declaration in Source/Game.hpp hard-codes it to 13. + +Remove the hard-coded 13 in the extern declaration, in favour of the +inferred length. + +This also fixes the follwoing build failure with g++ (Debian 4.9.2-10) +4.9.2: +(...)/Source/main.cpp:602:5: error: uninitialized const member ‘option::Descriptor::index’ + }; + ^ +(...)/Source/main.cpp:602:5: warning: missing initializer for member ‘option::Descriptor::index’ [-Wmissing-field-initializers] +(...)/Source/main.cpp:602:5: error: uninitialized const member ‘option::Descriptor::type’ +(...)/Source/main.cpp:602:5: warning: missing initializer for member ‘option::Descriptor::type’ [-Wmissing-field-initializers] +(...)/Source/main.cpp:602:5: error: uninitialized const member ‘option::Descriptor::shortopt’ +(...)/Source/main.cpp:602:5: warning: missing initializer for member ‘option::Descriptor::shortopt’ [-Wmissing-field-initializers] +(...)/Source/main.cpp:602:5: error: uninitialized const member ‘option::Descriptor::longopt’ +(...)/Source/main.cpp:602:5: warning: missing initializer for member ‘option::Descriptor::longopt’ [-Wmissing-field-initializers] +(...)/Source/main.cpp:602:5: error: uninitialized const member ‘option::Descriptor::check_arg’ +(...)/Source/main.cpp:602:5: warning: missing initializer for member ‘option::Descriptor::check_arg’ [-Wmissing-field-initializers] +(...)/Source/main.cpp:602:5: warning: missing initializer for member ‘option::Descriptor::help’ [-Wmissing-field-initializers] +CMakeFiles/lugaru.dir/build.make:54: recipe for target 'CMakeFiles/lugaru.dir/Source/main.cpp.o' failed + +Signed-off-by: Martin Erik Werner + +[Romain: backport to v1.2] +Signed-off-by: Romain Naour + +(cherry picked from commit dd685fe9080c2853422d8272792691358ea07dfc) +--- + Source/Game.hpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Source/Game.hpp b/Source/Game.hpp +index 51232cc..9bb6adb 100644 +--- a/Source/Game.hpp ++++ b/Source/Game.hpp +@@ -234,7 +234,7 @@ enum optionIndex + /* Number of options + 1 */ + const int commandLineOptionsNumber = 10; + +-extern const option::Descriptor usage[13]; ++extern const option::Descriptor usage[]; + + extern option::Option commandLineOptions[commandLineOptionsNumber]; + extern option::Option* commandLineOptionsBuffer; +-- +2.9.4 + diff --git a/package/lugaru/Config.in b/package/lugaru/Config.in new file mode 100644 index 0000000000..521c89aeb0 --- /dev/null +++ b/package/lugaru/Config.in @@ -0,0 +1,38 @@ +config BR2_PACKAGE_LUGARU + bool "lugaru" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_PACKAGE_HAS_LIBGL # libglu + depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS + depends on BR2_PACKAGE_XORG7 # SDL2 OpenGL (GLX) + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11 + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # openal + depends on BR2_USE_MMU # SDL2 OpenGL (GLX) + depends on !BR2_STATIC_LIBS # SDL2 + select BR2_PACKAGE_JPEG + select BR2_PACKAGE_LIBGLU # GL/glu.h + select BR2_PACKAGE_LIBPNG + select BR2_PACKAGE_LIBVORBIS + select BR2_PACKAGE_OPENAL + select BR2_PACKAGE_SDL2 + select BR2_PACKAGE_SDL2_OPENGL + select BR2_PACKAGE_ZLIB + help + Lugaru (pronounced Loo-GAH-roo) is a cross-platform + third-person action game. The main character, Turner, is an + anthropomorphic rebel bunny rabbit with impressive combat + skills. In his quest to find those responsible for + slaughtering his village, he uncovers a far-reaching + conspiracy involving the corrupt leaders of the rabbit + republic and the starving wolves from a nearby den. Turner + takes it upon himself to fight against their plot and save + his fellow rabbits from slavery. + + https://osslugaru.gitlab.io/ + +comment "lugaru needs X11 and a toolchain w/ C++, OpenGL backend, gcc >= 4.7, NPTL, dynamic library" + depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS + depends on BR2_PACKAGE_XORG7 + depends on BR2_USE_MMU + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_PACKAGE_HAS_LIBGL || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ + BR2_STATIC_LIBS diff --git a/package/lugaru/lugaru.hash b/package/lugaru/lugaru.hash new file mode 100644 index 0000000000..6ba2bca6ec --- /dev/null +++ b/package/lugaru/lugaru.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 f3ea477caf78911c69939fbdc163f9f6517c7ef2267e716a0e050be1a166ef97 lugaru-1.2.tar.xz diff --git a/package/lugaru/lugaru.mk b/package/lugaru/lugaru.mk new file mode 100644 index 0000000000..53797f405e --- /dev/null +++ b/package/lugaru/lugaru.mk @@ -0,0 +1,30 @@ +################################################################################ +# +# lugaru +# +################################################################################ + +LUGARU_VERSION = 1.2 +LUGARU_SITE = https://bitbucket.org/osslugaru/lugaru/downloads +LUGARU_SOURCE = lugaru-$(LUGARU_VERSION).tar.xz + +LUGARU_LICENSE = GPL-2.0+, CC-BY-SA-3.0 (Wolfire and Slib assets), \ + CC-BY-SA-4.0 (OSS Lugaru, Jendraz and Philtron R. assets) +LUGARU_LICENSE_FILES = COPYING.txt CONTENT-LICENSE.txt + +LUGARU_DEPENDENCIES = host-pkgconf jpeg libgl libglu libpng libvorbis \ + openal sdl2 zlib + +# Avoid incompatible posix_memalign declaration on x86 and x86_64 with +# musl. +# https://gcc.gnu.org/ml/gcc-patches/2015-05/msg01425.html +ifeq ($(BR2_TOOLCHAIN_USES_MUSL):$(BR2_i386)$(BR2_x86_64),y:y) +define LUGARU_REMOVE_PEDANTIC + $(SED) 's% -pedantic%%' $(@D)/CMakeLists.txt +endef +LUGARU_POST_PATCH_HOOKS += LUGARU_REMOVE_PEDANTIC +endif + +LUGARU_CONF_OPTS = -DSYSTEM_INSTALL=ON + +$(eval $(cmake-package)) diff --git a/package/luksmeta/Config.in b/package/luksmeta/Config.in new file mode 100644 index 0000000000..62e1f3e42f --- /dev/null +++ b/package/luksmeta/Config.in @@ -0,0 +1,17 @@ +config BR2_PACKAGE_LUKSMETA + bool "luksmeta" + depends on BR2_TOOLCHAIN_HAS_THREADS # cryptsetup -> lvm2 + depends on BR2_USE_MMU # cryptsetup -> lvm2 + depends on !BR2_STATIC_LIBS # cryptsetup -> lvm2 + depends on !BR2_TOOLCHAIN_USES_MUSL # cryptsetup -> lvm2 + select BR2_PACKAGE_CRYPTSETUP + help + LUKSMeta is a simple library and utility for storing + metadata in the LUKSv1 header. + + https://github.com/latchset/luksmeta + +comment "luksmeta needs a glibc or uClibc toolchain w/ threads, dynamic library" + depends on BR2_USE_MMU + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS \ + || BR2_TOOLCHAIN_USES_MUSL diff --git a/package/luksmeta/luksmeta.hash b/package/luksmeta/luksmeta.hash new file mode 100644 index 0000000000..f5d756405a --- /dev/null +++ b/package/luksmeta/luksmeta.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 0154af98e7302a172060d83d24b6d87557a822c39ba3e911461bb1a6d3a22d51 luksmeta-8.tar.bz2 +sha256 4b72eb6b5a336cd3ec837cc2d6347c23bf7574168db6b4802267700b93021abf COPYING diff --git a/package/luksmeta/luksmeta.mk b/package/luksmeta/luksmeta.mk new file mode 100644 index 0000000000..33671e469a --- /dev/null +++ b/package/luksmeta/luksmeta.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# luksmeta +# +################################################################################ + +LUKSMETA_VERSION = 8 +LUKSMETA_SOURCE = luksmeta-$(LUKSMETA_VERSION).tar.bz2 +LUKSMETA_SITE = https://github.com/latchset/luksmeta/releases/download/v$(LUKSMETA_VERSION) +LUKSMETA_LICENSE = LGPL-2.1+ +LUKSMETA_LICENSE_FILES = COPYING +LUKSMETA_DEPENDENCIES = host-pkgconf cryptsetup +LUKSMETA_INSTALL_STAGING = YES + +$(eval $(autotools-package)) diff --git a/package/lunit/lunit.mk b/package/lunit/lunit.mk index 3c557f8748..34e22db757 100644 --- a/package/lunit/lunit.mk +++ b/package/lunit/lunit.mk @@ -4,9 +4,7 @@ # ################################################################################ -LUNIT_VERSION_UPSTREAM = 0.5 -LUNIT_VERSION = $(LUNIT_VERSION_UPSTREAM)-2 -LUNIT_SUBDIR = lunit-$(LUNIT_VERSION_UPSTREAM) +LUNIT_VERSION = 0.5-2 LUNIT_LICENSE = MIT LUNIT_LICENSE_FILES = $(LUNIT_SUBDIR)/LICENSE diff --git a/package/lutok/Config.in b/package/lutok/Config.in index d6c87cf586..ab9c32b6d5 100644 --- a/package/lutok/Config.in +++ b/package/lutok/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_LUTOK bool "lutok" depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_PACKAGE_HAS_LUAINTERPRETER depends on !BR2_PACKAGE_LUAJIT help Lutok is a lightweight C++ API library for Lua. diff --git a/package/lutok/lutok.mk b/package/lutok/lutok.mk index 6ee198b402..41abddb01c 100644 --- a/package/lutok/lutok.mk +++ b/package/lutok/lutok.mk @@ -10,7 +10,7 @@ LUTOK_INSTALL_STAGING = YES LUTOK_DEPENDENCIES = host-pkgconf lua # --without-atf disables the atf-based lutok tests LUTOK_CONF_OPTS = --without-doxygen --without-atf -LUTOK_LICENSE = BSD-3c +LUTOK_LICENSE = BSD-3-Clause LUTOK_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/luv/Config.in b/package/luv/Config.in index e9d01099f2..434cb3b459 100644 --- a/package/luv/Config.in +++ b/package/luv/Config.in @@ -1,10 +1,10 @@ config BR2_PACKAGE_LUV bool "luv" - select BR2_PACKAGE_LIBUV depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # libuv depends on BR2_USE_MMU # libuv depends on !BR2_STATIC_LIBS # libuv depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libuv + select BR2_PACKAGE_LIBUV help libuv bindings for LuaJIT and Lua. diff --git a/package/luv/luv.hash b/package/luv/luv.hash index 140fe96386..44f4048df3 100644 --- a/package/luv/luv.hash +++ b/package/luv/luv.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 2eab80360f8ab6793612bb59d067a56664ac9a5a14988e0a09a53d0bff20c131 luv-1.9.1-0.tar.gz +sha256 1051cfbdc361d5ea6d978fd71273b94c8a5007d76af498b456b297b18de9622c luv-1.9.1-1.tar.gz diff --git a/package/luv/luv.mk b/package/luv/luv.mk index 43cecf57fc..633bfe6890 100644 --- a/package/luv/luv.mk +++ b/package/luv/luv.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUV_VERSION = 1.9.1-0 +LUV_VERSION = 1.9.1-1 LUV_SITE = https://github.com/luvit/luv/releases/download/$(LUV_VERSION) LUV_LICENSE = Apache-2.0 LUV_LICENSE_FILES = LICENSE.txt diff --git a/package/luvi/Config.in b/package/luvi/Config.in index a9dd2ef740..c9fd417394 100644 --- a/package/luvi/Config.in +++ b/package/luvi/Config.in @@ -8,15 +8,16 @@ config BR2_PACKAGE_LUVI select BR2_PACKAGE_LIBUV select BR2_PACKAGE_LUV help - A project in-between luv and luvit. The goal of this is to make - building luvit and derivatives much easier. + A project in-between luv and luvit. The goal of this is to + make building luvit and derivatives much easier. luvi extends LuaJIT with asynchronous I/O and several optional - modules to run Lua applications and build self-contained binaries - on systems that don't have a compiler. + modules to run Lua applications and build self-contained + binaries on systems that don't have a compiler. - The luvi core can be extended with several Lua modules by adding its - bundled Lua binding libraries. To get the Lua module... + The luvi core can be extended with several Lua modules by + adding its bundled Lua binding libraries. + To get the Lua module... * 'rex' select PCRE (BR2_PACKAGE_PCRE) * 'ssl' select OpenSSL (BR2_PACKAGE_OPENSSL) * 'zlib' select zlib (BR2_PACKAGE_ZLIB) diff --git a/package/luvi/luvi.hash b/package/luvi/luvi.hash index 99fd69e798..e2239b6171 100644 --- a/package/luvi/luvi.hash +++ b/package/luvi/luvi.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 b36a3b96ec5852398338bc38567c5bb589783487c65130e1d702ff98fac3a6b7 luvi-src-v2.7.5.tar.gz +sha256 ce9a1fb762e61267618ddea9ea129170fd543bb918c382b71cb35985d0024c42 luvi-src-v2.7.6.tar.gz diff --git a/package/luvi/luvi.mk b/package/luvi/luvi.mk index ade63f5fba..a2bc218e77 100644 --- a/package/luvi/luvi.mk +++ b/package/luvi/luvi.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUVI_VERSION = v2.7.5 +LUVI_VERSION = v2.7.6 LUVI_SOURCE = luvi-src-$(LUVI_VERSION).tar.gz LUVI_SITE = https://github.com/luvit/luvi/releases/download/$(LUVI_VERSION) LUVI_LICENSE = Apache-2.0 @@ -33,7 +33,7 @@ LUVI_CONF_OPTS = \ -DBUILD_SHARED_LIBS=OFF \ -DWithSharedLibluv=ON \ -DTARGET_ARCH=$(LUVI_TARGET_ARCH) \ - -DLUA_PATH=$(HOST_DIR)/usr/share/luajit-2.0.4/?.lua + -DLUA_PATH=$(HOST_DIR)/share/luajit-$(LUAJIT_VERSION)/?.lua # Add "rex" module (PCRE via bundled lrexlib) ifeq ($(BR2_PACKAGE_PCRE),y) diff --git a/package/lvm2/Config.in b/package/lvm2/Config.in index 23dff707cc..2fa3fc134e 100644 --- a/package/lvm2/Config.in +++ b/package/lvm2/Config.in @@ -3,39 +3,51 @@ config BR2_PACKAGE_LVM2 depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # needs fork() depends on !BR2_STATIC_LIBS # It fails to build statically - # http://lists.busybox.net/pipermail/buildroot/2016-August/170592.html - depends on !BR2_TOOLCHAIN_USES_MUSL help This is LVM2, the rewrite of The Linux Logical Volume Manager. - LVM supports enterprise level volume management of disk and disk - subsystems by grouping arbitrary disks into volume groups. The total - capacity of volume groups can be allocated to logical volumes, which - are accessed as regular block devices. + LVM supports enterprise level volume management of disk and + disk subsystems by grouping arbitrary disks into volume + groups. The total capacity of volume groups can be allocated + to logical volumes, which are accessed as regular block + devices. The Linux Kernel Device Mapper is the LVM (Linux Logical Volume Management) Team's implementation of a - minimalistic kernel-space driver that handles volume management, - while keeping knowledge of the underlying device layout in - user-space. This makes it useful for not only LVM, but EVMS, - software raid, and other drivers that create "virtual" block devices. + minimalistic kernel-space driver that handles volume + management, while keeping knowledge of the underlying device + layout in user-space. This makes it useful for not only LVM, + but EVMS, software raid, and other drivers that create + "virtual" block devices. + + http://www.sourceware.org/lvm2/ if BR2_PACKAGE_LVM2 config BR2_PACKAGE_LVM2_STANDARD_INSTALL bool "standard install instead of only dmsetup" + # http://lists.busybox.net/pipermail/buildroot/2016-August/170592.html + depends on !BR2_TOOLCHAIN_USES_MUSL default y if !BR2_PACKAGE_LVM2_DMSETUP_ONLY # legacy 2013.11 help - Install the standard suite of lvm2 programs. When this option is not - set, only dmsetup is installed. + Install the standard suite of lvm2 programs. When this option + is not set, only dmsetup is installed. + +comment "lvm2 standard install needs a glibc or uClibc toolchain" + depends on BR2_TOOLCHAIN_USES_MUSL config BR2_PACKAGE_LVM2_APP_LIBRARY bool "install application library" + # http://lists.busybox.net/pipermail/buildroot/2016-August/170592.html + depends on !BR2_TOOLCHAIN_USES_MUSL select BR2_PACKAGE_LVM2_STANDARD_INSTALL help Install application library (liblvm2app). +comment "lvm2 application library needs a glibc or uClibc toolchain" + depends on BR2_TOOLCHAIN_USES_MUSL + endif -comment "lvm2 needs a glibc or uClibc toolchain w/ threads, dynamic library" +comment "lvm2 needs a toolchain w/ threads, dynamic library" depends on BR2_USE_MMU - depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_MUSL + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/lvm2/lvm2.hash b/package/lvm2/lvm2.hash index 3619af8741..9f7a6c6f51 100644 --- a/package/lvm2/lvm2.hash +++ b/package/lvm2/lvm2.hash @@ -1,2 +1,2 @@ # From ftp://sources.redhat.com/pub/lvm2/releases/sha512.sum -sha512 ebff909e1c81919967373c55c7a95ba13ef4e0536b8ef1c28ed7e1c1eb9b9fd406a649d93b141822b24675ebece5a722247737c4e869fb7fb5eeb881a7f9102d LVM2.2.02.168.tgz +sha512 c2ea8beafe006abf9282f51ec98600fd0ebff816d53c10ecbb19bbf336ada4825135cf9c92ccd364afb18f8b1d7e163eff5bdec8dfdd70dfb9ba45db2f6bdd5e LVM2.2.02.173.tgz diff --git a/package/lvm2/lvm2.mk b/package/lvm2/lvm2.mk index a2d484bc25..20e0dd0d5c 100644 --- a/package/lvm2/lvm2.mk +++ b/package/lvm2/lvm2.mk @@ -4,20 +4,24 @@ # ################################################################################ -LVM2_VERSION = 2.02.168 +LVM2_VERSION = 2.02.173 LVM2_SOURCE = LVM2.$(LVM2_VERSION).tgz LVM2_SITE = ftp://sources.redhat.com/pub/lvm2/releases LVM2_INSTALL_STAGING = YES -LVM2_LICENSE = GPLv2, LGPLv2.1 +LVM2_LICENSE = GPL-2.0, LGPL-2.1 LVM2_LICENSE_FILES = COPYING COPYING.LIB # Make sure that binaries and libraries are installed with write -# permissions for the owner. +# permissions for the owner. We disable NLS because it's broken, and +# the package anyway doesn't provide any translation files. LVM2_CONF_OPTS += \ --enable-write_install \ --enable-pkgconfig \ --enable-cmdlib \ - --enable-dmeventd + --enable-dmeventd \ + --disable-nls + +LVM2_DEPENDENCIES += host-pkgconf # LVM2 uses autoconf, but not automake, and the build system does not # take into account the toolchain passed at configure time. @@ -31,6 +35,13 @@ else LVM2_CONF_OPTS += --disable-readline endif +ifeq ($(BR2_PACKAGE_LIBSELINUX),y) +LVM2_CONF_OPTS += --enable-selinux +LVM2_DEPENDENCIES += libselinux +else +LVM2_CONF_OPTS += --disable-selinux +endif + ifeq ($(BR2_PACKAGE_LVM2_STANDARD_INSTALL),) LVM2_MAKE_OPTS = device-mapper LVM2_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) install_device-mapper @@ -47,4 +58,18 @@ ifeq ($(BR2_TOOLCHAIN_SUPPORTS_PIE),) LVM2_CONF_ENV += ac_cv_flag_HAVE_PIE=no endif +HOST_LVM2_DEPENDENCIES = host-pkgconf +HOST_LVM2_CONF_OPTS = \ + --enable-write_install \ + --enable-pkgconfig \ + --disable-cmdlib \ + --disable-dmeventd \ + --disable-applib \ + --disable-fsadm \ + --disable-readline \ + --disable-selinux +HOST_LVM2_MAKE_OPTS = device-mapper +HOST_LVM2_INSTALL_OPTS = install_device-mapper + $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/lxc/0001-Fix-compilation-on-toolchain-without-prlimit.patch b/package/lxc/0001-Fix-compilation-on-toolchain-without-prlimit.patch new file mode 100644 index 0000000000..031f77539f --- /dev/null +++ b/package/lxc/0001-Fix-compilation-on-toolchain-without-prlimit.patch @@ -0,0 +1,98 @@ +From f48b5fd8ab03c200eaf5e3a9b03bcd01b2659cf3 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 2 Nov 2017 16:00:33 +0100 +Subject: [PATCH] Fix compilation on toolchain without prlimit + +Some toolchains which are not bionic like uclibc does not support +prlimit or prlimit64. In this case, return an error. +Moreover, if prlimit64 is available, use lxc implementation of prlimit. + +Signed-off-by: Fabrice Fontaine +--- + configure.ac | 4 ++++ + src/lxc/Makefile.am | 6 ++++++ + src/lxc/conf.c | 12 +++++++++--- + 3 files changed, 19 insertions(+), 3 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 642b78e7..63df7466 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -671,6 +671,10 @@ AC_CHECK_FUNCS([prlimit], + AM_CONDITIONAL(HAVE_PRLIMIT, true) + AC_DEFINE(HAVE_PRLIMIT,1,[Have prlimit]), + AM_CONDITIONAL(HAVE_PRLIMIT, false)) ++AC_CHECK_FUNCS([prlimit64], ++ AM_CONDITIONAL(HAVE_PRLIMIT64, true) ++ AC_DEFINE(HAVE_PRLIMIT64,1,[Have prlimit64]), ++ AM_CONDITIONAL(HAVE_PRLIMIT64, false)) + + # Check for some libraries + AC_SEARCH_LIBS(sem_open, [rt pthread]) +diff --git a/src/lxc/Makefile.am b/src/lxc/Makefile.am +index fff32ae4..8f0c11ec 100644 +--- a/src/lxc/Makefile.am ++++ b/src/lxc/Makefile.am +@@ -45,7 +45,10 @@ noinst_HEADERS += \ + ../include/ifaddrs.h \ + ../include/openpty.h \ + ../include/lxcmntent.h ++endif ++ + if !HAVE_PRLIMIT ++if HAVE_PRLIMIT64 + noinst_HEADERS += ../include/prlimit.h + endif + endif +@@ -143,7 +146,10 @@ liblxc_la_SOURCES += \ + ../include/ifaddrs.c ../include/ifaddrs.h \ + ../include/openpty.c ../include/openpty.h \ + ../include/lxcmntent.c ../include/lxcmntent.h ++endif ++ + if !HAVE_PRLIMIT ++if HAVE_PRLIMIT64 + liblxc_la_SOURCES += ../include/prlimit.c ../include/prlimit.h + endif + endif +diff --git a/src/lxc/conf.c b/src/lxc/conf.c +index 44d97843..8a66f2d0 100644 +--- a/src/lxc/conf.c ++++ b/src/lxc/conf.c +@@ -97,13 +97,14 @@ + + #if IS_BIONIC + #include <../include/lxcmntent.h> +-#ifndef HAVE_PRLIMIT +-#include <../include/prlimit.h> +-#endif + #else + #include + #endif + ++#if !defined(HAVE_PRLIMIT) && defined(HAVE_PRLIMIT64) ++#include <../include/prlimit.h> ++#endif ++ + lxc_log_define(lxc_conf, lxc); + + #if HAVE_LIBCAP +@@ -2399,10 +2400,15 @@ int setup_resource_limits(struct lxc_list *limits, pid_t pid) { + return -1; + } + ++#if HAVE_PRLIMIT || HAVE_PRLIMIT64 + if (prlimit(pid, resid, &lim->limit, NULL) != 0) { + ERROR("failed to set limit %s: %s", lim->resource, strerror(errno)); + return -1; + } ++#else ++ ERROR("Cannot set limit %s as prlimit is missing", lim->resource); ++ return -1; ++#endif + } + return 0; + } +-- +2.14.1 + diff --git a/package/lxc/0002-lxc-start.c-Fix-legacy-PR_-G-S-ET_NO_NEW_PRIVS-handl.patch b/package/lxc/0002-lxc-start.c-Fix-legacy-PR_-G-S-ET_NO_NEW_PRIVS-handl.patch new file mode 100644 index 0000000000..a11f785002 --- /dev/null +++ b/package/lxc/0002-lxc-start.c-Fix-legacy-PR_-G-S-ET_NO_NEW_PRIVS-handl.patch @@ -0,0 +1,49 @@ +From 995accccbb07d59381aa60939cd44b41dc092dda Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Mon, 6 Nov 2017 09:35:48 +0100 +Subject: [PATCH] lxc/start.c: Fix legacy PR_{G,S}ET_NO_NEW_PRIVS handling +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The configure checks for these use AC_CHECK_DECLS, which define the symbol +to 0 if not available - So adjust the code to match. From the autoconf +manual: + +https://www.gnu.org/software/autoconf/manual/autoconf-2.65/html_node/Generic-Declarations.html) + +For each of the symbols (comma-separated list), define HAVE_DECL_symbol (in +all capitals) to ‘1’ if symbol is declared, otherwise to ‘0’. + +[Submitted upstream: https://github.com/lxc/lxc/pull/1901] +Signed-off-by: Peter Korsgaard +--- + src/lxc/start.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/lxc/start.c b/src/lxc/start.c +index 2632a9b1..fe76b235 100644 +--- a/src/lxc/start.c ++++ b/src/lxc/start.c +@@ -52,15 +52,15 @@ + #include + #endif + +-#ifndef HAVE_DECL_PR_CAPBSET_DROP ++#if !HAVE_DECL_PR_CAPBSET_DROP + #define PR_CAPBSET_DROP 24 + #endif + +-#ifndef HAVE_DECL_PR_SET_NO_NEW_PRIVS ++#if !HAVE_DECL_PR_SET_NO_NEW_PRIVS + #define PR_SET_NO_NEW_PRIVS 38 + #endif + +-#ifndef HAVE_DECL_PR_GET_NO_NEW_PRIVS ++#if !HAVE_DECL_PR_GET_NO_NEW_PRIVS + #define PR_GET_NO_NEW_PRIVS 39 + #endif + +-- +2.11.0 + diff --git a/package/lxc/Config.in b/package/lxc/Config.in index 6a39d2eb7f..d90e78857a 100644 --- a/package/lxc/Config.in +++ b/package/lxc/Config.in @@ -1,15 +1,15 @@ config BR2_PACKAGE_LXC bool "lxc" - select BR2_PACKAGE_LIBCAP depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # fork() # build system forcefully builds a shared library depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # setns() system call help - Linux Containers (LXC), provides the ability to group and isolate - of a set of processes in a jail by virtualizing and accounting the - kernel resources. It is similar to Linux-Vserver or Openvz. + Linux Containers (LXC), provides the ability to group and + isolate of a set of processes in a jail by virtualizing and + accounting the kernel resources. It is similar to + Linux-Vserver or Openvz. https://linuxcontainers.org/ diff --git a/package/lxc/lxc.hash b/package/lxc/lxc.hash index f80c88d6e6..8adccaf842 100644 --- a/package/lxc/lxc.hash +++ b/package/lxc/lxc.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 1c09c075f06ec029f86fa6370c7d379494ff4c66a129eda17af7b7b41e055f5d lxc-2.0.7.tar.gz +sha256 68663a67450a8d6734e137eac54cc7077209fb15c456eec401a2c26e6386eff6 lxc-2.1.1.tar.gz diff --git a/package/lxc/lxc.mk b/package/lxc/lxc.mk index 455814b9c9..a65c166664 100644 --- a/package/lxc/lxc.mk +++ b/package/lxc/lxc.mk @@ -4,12 +4,14 @@ # ################################################################################ -LXC_VERSION = 2.0.7 +LXC_VERSION = 2.1.1 LXC_SITE = https://linuxcontainers.org/downloads/lxc -LXC_LICENSE = LGPLv2.1+ +LXC_LICENSE = LGPL-2.1+ LXC_LICENSE_FILES = COPYING -LXC_DEPENDENCIES = libcap host-pkgconf +LXC_DEPENDENCIES = host-pkgconf LXC_INSTALL_STAGING = YES +# We're patching configure.ac +LXC_AUTORECONF = YES LXC_CONF_OPTS = --disable-apparmor --with-distro=buildroot \ --disable-python --disable-werror \ @@ -22,6 +24,13 @@ else LXC_CONF_OPTS += --disable-gnutls endif +ifeq ($(BR2_PACKAGE_LIBCAP),y) +LXC_CONF_OPTS += --enable-capabilities +LXC_DEPENDENCIES += libcap +else +LXC_CONF_OPTS += --disable-capabilities +endif + ifeq ($(BR2_PACKAGE_LIBSECCOMP),y) LXC_CONF_OPTS += --enable-seccomp LXC_DEPENDENCIES += libseccomp @@ -29,6 +38,13 @@ else LXC_CONF_OPTS += --disable-seccomp endif +ifeq ($(BR2_PACKAGE_LIBSELINUX),y) +LXC_CONF_OPTS += --enable-selinux +LXC_DEPENDENCIES += libselinux +else +LXC_CONF_OPTS += --disable-selinux +endif + ifeq ($(BR2_PACKAGE_HAS_LUAINTERPRETER),y) LXC_CONF_OPTS += --enable-lua LXC_DEPENDENCIES += luainterpreter diff --git a/package/lz4/Config.in b/package/lz4/Config.in index 4a00a70365..9f12299ceb 100644 --- a/package/lz4/Config.in +++ b/package/lz4/Config.in @@ -2,9 +2,9 @@ config BR2_PACKAGE_LZ4 bool "lz4" help LZ4 is a very fast lossless compression algorithm, providing - compression speed at 400 MB/s per core, scalable with multi-cores - CPU. It also features an extremely fast decoder, with speed - in multiple GB/s per core, typically reaching RAM speed limits - on multi-core systems. + compression speed at 400 MB/s per core, scalable with + multi-cores CPU. It also features an extremely fast decoder, + with speed in multiple GB/s per core, typically reaching RAM + speed limits on multi-core systems. http://www.lz4.org/ diff --git a/package/lz4/lz4.hash b/package/lz4/lz4.hash index 1281284697..5048503f80 100644 --- a/package/lz4/lz4.hash +++ b/package/lz4/lz4.hash @@ -1,2 +1,2 @@ # sha256 locally computed -sha256 9d4d00614d6b9dec3114b33d1224b6262b99ace24434c53487a0c8fd0b18cfed lz4-r131.tar.gz +sha256 0190cacd63022ccb86f44fa5041dc6c3804407ad61550ca21c382827319e7e7e lz4-v1.7.5.tar.gz diff --git a/package/lz4/lz4.mk b/package/lz4/lz4.mk index 9d7f56bbf6..91ff43b052 100644 --- a/package/lz4/lz4.mk +++ b/package/lz4/lz4.mk @@ -4,10 +4,10 @@ # ################################################################################ -LZ4_VERSION = r131 -LZ4_SITE = $(call github,Cyan4973,lz4,$(LZ4_VERSION)) +LZ4_VERSION = v1.7.5 +LZ4_SITE = $(call github,lz4,lz4,$(LZ4_VERSION)) LZ4_INSTALL_STAGING = YES -LZ4_LICENSE = BSD-2c (library), GPLv2+ (programs) +LZ4_LICENSE = BSD-2-Clause (library), GPL-2.0+ (programs) LZ4_LICENSE_FILES = lib/LICENSE programs/COPYING ifeq ($(BR2_STATIC_LIBS),y) @@ -18,25 +18,25 @@ LZ4_POST_PATCH_HOOKS += LZ4_DISABLE_SHARED endif define HOST_LZ4_BUILD_CMDS - $(HOST_MAKE_ENV) $(MAKE) $(HOST_CONFIGURE_OPTS) -C $(@D) + $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) endef define HOST_LZ4_INSTALL_CMDS - $(HOST_MAKE_ENV) $(MAKE) $(HOST_CONFIGURE_OPTS) PREFIX=$(HOST_DIR)/usr \ + $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) PREFIX=$(HOST_DIR) \ install -C $(@D) endef define LZ4_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D)/lib + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/lib endef define LZ4_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) DESTDIR=$(STAGING_DIR) \ + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) DESTDIR=$(STAGING_DIR) \ PREFIX=/usr install -C $(@D) endef define LZ4_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) DESTDIR=$(TARGET_DIR) \ + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) DESTDIR=$(TARGET_DIR) \ PREFIX=/usr install -C $(@D)/lib endef diff --git a/package/lzip/Config.in b/package/lzip/Config.in index 821cd26292..d406e7710d 100644 --- a/package/lzip/Config.in +++ b/package/lzip/Config.in @@ -5,10 +5,11 @@ config BR2_PACKAGE_LZIP bool "lzip" depends on BR2_INSTALL_LIBSTDCPP help - Lzip is a lossless data compressor with a user interface similar - to the one of gzip or bzip2. + Lzip is a lossless data compressor with a user interface + similar to the one of gzip or bzip2. Lzip is about as fast as gzip, compresses most files more than - bzip2, and is better than both from a data recovery perspective. - Lzip is a clean implementation of the LZMA algorithm. + bzip2, and is better than both from a data recovery + perspective. Lzip is a clean implementation of the LZMA + algorithm. http://www.nongnu.org/lzip/lzip.html diff --git a/package/lzip/lzip.hash b/package/lzip/lzip.hash index 8855231fb3..e074c76005 100644 --- a/package/lzip/lzip.hash +++ b/package/lzip/lzip.hash @@ -1,4 +1,2 @@ -# From http://lists.nongnu.org/archive/html/lzip-bug/2016-06/msg00002.html -sha1 ef42f3209d02c3b3c217a61c8f127bcb8747b128 lzip-1.18.tar.gz -# Locally calculated after checking pgp signature -sha256 47f9882a104ab05532f467a7b8f4ddbb898fa2f1e8d9d468556d6c2d04db14dd lzip-1.18.tar.gz +# From http://lists.nongnu.org/archive/html/lzip-bug/2017-05/msg00000.html +sha256 ffadc4f56be1bc0d3ae155ec4527bd003133bdc703a753b2cc683f610e646ba9 lzip-1.19.tar.gz diff --git a/package/lzip/lzip.mk b/package/lzip/lzip.mk index db04862c53..b7ba5dd21d 100644 --- a/package/lzip/lzip.mk +++ b/package/lzip/lzip.mk @@ -4,9 +4,9 @@ # ################################################################################ -LZIP_VERSION = 1.18 +LZIP_VERSION = 1.19 LZIP_SITE = http://download.savannah.gnu.org/releases/lzip -LZIP_LICENSE = GPLv2+ +LZIP_LICENSE = GPL-2.0+ LZIP_LICENSE_FILES = COPYING define LZIP_CONFIGURE_CMDS @@ -15,7 +15,7 @@ define LZIP_CONFIGURE_CMDS endef define HOST_LZIP_CONFIGURE_CMDS - (cd $(@D); $(HOST_MAKE_ENV) ./configure --prefix=/usr \ + (cd $(@D); $(HOST_MAKE_ENV) ./configure --prefix=$(HOST_DIR) \ $(HOST_CONFIGURE_OPTS) ) endef @@ -32,7 +32,7 @@ define LZIP_INSTALL_TARGET_CMDS endef define HOST_LZIP_INSTALL_CMDS - $(HOST_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(HOST_DIR) install + $(HOST_MAKE_ENV) $(MAKE) -C $(@D) install endef # It's not autotools-based diff --git a/package/lzlib/Config.in b/package/lzlib/Config.in index 32328c5ec7..59a2e6d5c9 100644 --- a/package/lzlib/Config.in +++ b/package/lzlib/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_LZLIB bool "lzlib" - select BR2_PACKAGE_ZLIB depends on BR2_PACKAGE_LUA + select BR2_PACKAGE_ZLIB help This package provides a library to access zlib library functions and also to read/write gzip files using an diff --git a/package/lzma/lzma.mk b/package/lzma/lzma.mk index 90f0771780..1b4d7febb1 100644 --- a/package/lzma/lzma.mk +++ b/package/lzma/lzma.mk @@ -10,4 +10,4 @@ LZMA_SITE = http://tukaani.org/lzma $(eval $(host-autotools-package)) -LZMA = $(HOST_DIR)/usr/bin/lzma +LZMA = $(HOST_DIR)/bin/lzma diff --git a/package/lzo/lzo.hash b/package/lzo/lzo.hash index 415ed99dad..cf2734fc7f 100644 --- a/package/lzo/lzo.hash +++ b/package/lzo/lzo.hash @@ -1,2 +1,4 @@ # From http://www.oberhumer.com/opensource/lzo/ -sha1 e2a60aca818836181e7e6f8c4f2c323aca6ac057 lzo-2.09.tar.gz +sha1 4924676a9bae5db58ef129dc1cebce3baa3c4b5d lzo-2.10.tar.gz +# Locally computed +sha256 c0f892943208266f9b6543b3ae308fab6284c5c90e627931446fb49b4221a072 lzo-2.10.tar.gz diff --git a/package/lzo/lzo.mk b/package/lzo/lzo.mk index ec7c749f8d..27ca459acf 100644 --- a/package/lzo/lzo.mk +++ b/package/lzo/lzo.mk @@ -4,14 +4,24 @@ # ################################################################################ -LZO_VERSION = 2.09 +LZO_VERSION = 2.10 LZO_SITE = http://www.oberhumer.com/opensource/lzo/download -LZO_LICENSE = GPLv2+ +LZO_LICENSE = GPL-2.0+ LZO_LICENSE_FILES = COPYING LZO_INSTALL_STAGING = YES -# Ships a beta libtool version hence our patch doesn't apply. -# Run autoreconf to regenerate ltmain.sh. -LZO_AUTORECONF = YES +LZO_SUPPORTS_IN_SOURCE_BUILD = NO -$(eval $(autotools-package)) -$(eval $(host-autotools-package)) +ifeq ($(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),y) +LZO_CONF_OPTS += -DENABLE_SHARED=ON +else +LZO_CONF_OPTS += -DENABLE_SHARED=OFF +endif + +ifeq ($(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),y) +LZO_CONF_OPTS += -DENABLE_STATIC=ON +else +LZO_CONF_OPTS += -DENABLE_STATIC=OFF +endif + +$(eval $(cmake-package)) +$(eval $(host-cmake-package)) diff --git a/package/lzop/Config.in b/package/lzop/Config.in index c91182373b..236f21d382 100644 --- a/package/lzop/Config.in +++ b/package/lzop/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_LZOP select BR2_PACKAGE_LZO help lzop is a file compressor which is very similar to gzip. - lzop uses the LZO data compression library for compression services. + lzop uses the LZO data compression library for compression + services. http://www.lzop.org/ diff --git a/package/lzop/lzop.mk b/package/lzop/lzop.mk index 43c1628401..55157c4d48 100644 --- a/package/lzop/lzop.mk +++ b/package/lzop/lzop.mk @@ -6,7 +6,7 @@ LZOP_VERSION = 1.03 LZOP_SITE = http://www.lzop.org/download -LZOP_LICENSE = GPLv2+ +LZOP_LICENSE = GPL-2.0+ LZOP_LICENSE_FILES = COPYING LZOP_DEPENDENCIES = lzo HOST_LZOP_DEPENDENCIES = host-lzo @@ -14,4 +14,4 @@ HOST_LZOP_DEPENDENCIES = host-lzo $(eval $(autotools-package)) $(eval $(host-autotools-package)) -LZOP = $(HOST_DIR)/usr/bin/lzop +LZOP = $(HOST_DIR)/bin/lzop diff --git a/package/m4/m4.hash b/package/m4/m4.hash index 79c36c8706..e665fc149f 100644 --- a/package/m4/m4.hash +++ b/package/m4/m4.hash @@ -1,2 +1,4 @@ # Locally calculated after checking pgp signature sha256 f2c1e86ca0a404ff281631bdc8377638992744b175afb806e25871a24a934e07 m4-1.4.18.tar.xz +# License files, locally calculated +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/m4/m4.mk b/package/m4/m4.mk index d53f7cbd0d..849e7f4a54 100644 --- a/package/m4/m4.mk +++ b/package/m4/m4.mk @@ -7,7 +7,7 @@ M4_VERSION = 1.4.18 M4_SOURCE = m4-$(M4_VERSION).tar.xz M4_SITE = $(BR2_GNU_MIRROR)/m4 -M4_LICENSE = GPLv3+ +M4_LICENSE = GPL-3.0+ M4_LICENSE_FILES = COPYING HOST_M4_CONF_OPTS = --disable-static diff --git a/package/macchanger/macchanger.mk b/package/macchanger/macchanger.mk index 2e716d982f..f2cbce49be 100644 --- a/package/macchanger/macchanger.mk +++ b/package/macchanger/macchanger.mk @@ -6,7 +6,7 @@ MACCHANGER_VERSION = 1.7.0 MACCHANGER_SITE = https://github.com/alobbs/macchanger/releases/download/$(MACCHANGER_VERSION) -MACCHANGER_LICENSE = GPLv2+ +MACCHANGER_LICENSE = GPL-2.0+ MACCHANGER_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/madplay/0002-buildroot-libtool-v1.5.patch.patch b/package/madplay/0002-buildroot-libtool-v1.5.patch.patch new file mode 100644 index 0000000000..2be336384b --- /dev/null +++ b/package/madplay/0002-buildroot-libtool-v1.5.patch.patch @@ -0,0 +1,109 @@ +From ce661985c098635965573aac8fc983a72f60d396 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Tue, 30 May 2017 16:42:34 +0200 +Subject: [PATCH] buildroot-libtool-v1.5.patch + +Apply buildroot-libtool-v1.5.patch rebased on libtool 1.5.2 used +in madplay and fixing all conflicts. + +Signed-off-by: Romain Naour +--- + ltmain.sh | 40 ++++++++++++++++++++++++++++++---------- + 1 file changed, 30 insertions(+), 10 deletions(-) + +diff --git a/ltmain.sh b/ltmain.sh +index 4b9f940..0b71220 100644 +--- a/ltmain.sh ++++ b/ltmain.sh +@@ -164,6 +164,11 @@ do + arg="$1" + shift + ++ # Make -static behave as -all-static ++ case $arg in ++ -static) arg="-all-static" ;; ++ esac ++ + case $arg in + -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; +@@ -549,8 +554,9 @@ if test -z "$show_help"; then + # line option must be used. + if test -z "$tagname"; then + $echo "$modename: unable to infer tagged configuration" +- $echo "$modename: specify a tag with \`--tag'" 1>&2 +- exit 1 ++ $echo "$modename: defaulting to \`CC'" ++ $echo "$modename: if this is not correct, specify a tag with \`--tag'" ++# exit 1 + # else + # $echo "$modename: using $tagname tagged configuration" + fi +@@ -1228,7 +1234,8 @@ EOF + prevarg="$arg" + + case $arg in +- -all-static) ++ # Make -static behave like -all-static ++ -all-static | -static) + if test -n "$link_static_flag"; then + compile_command="$compile_command $link_static_flag" + finalize_command="$finalize_command $link_static_flag" +@@ -2135,8 +2142,14 @@ EOF + absdir="$abs_ladir" + libdir="$abs_ladir" + else +- dir="$libdir" +- absdir="$libdir" ++ # Adding 'libdir' from the .la file to our library search paths ++ # breaks crosscompilation horribly. We cheat here and don't add ++ # it, instead adding the path where we found the .la. -CL ++ dir="$abs_ladir" ++ absdir="$abs_ladir" ++ libdir="$abs_ladir" ++ #dir="$libdir" ++ #absdir="$libdir" + fi + else + dir="$ladir/$objdir" +@@ -2261,7 +2274,7 @@ EOF + { test "$prefer_static_libs" = no || test -z "$old_library"; }; then + if test "$installed" = no; then + notinst_deplibs="$notinst_deplibs $lib" +- need_relink=yes ++ need_relink=no + fi + # This is a shared library + +@@ -5146,6 +5159,10 @@ fi\ + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do ++ # Replacing uninstalled with installed can easily break crosscompilation, ++ # since the installed path is generally the wrong architecture. -CL ++ newdependency_libs="$newdependency_libs $deplib" ++ continue + case $deplib in + *.la) + name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` +@@ -5464,10 +5481,13 @@ relink_command=\"$relink_command\"" + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. +- if test "$inst_prefix_dir" = "$destdir"; then +- $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 +- exit 1 +- fi ++ # ++ # This breaks install into our staging area. -PB ++ # ++ # if test "$inst_prefix_dir" = "$destdir"; then ++ # $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 ++ # exit 1 ++ # fi + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. +-- +2.9.4 + diff --git a/package/madplay/Config.in b/package/madplay/Config.in index d83fac6d1f..3baeaa0631 100644 --- a/package/madplay/Config.in +++ b/package/madplay/Config.in @@ -2,7 +2,6 @@ config BR2_PACKAGE_MADPLAY bool "madplay" select BR2_PACKAGE_LIBMAD select BR2_PACKAGE_LIBID3TAG - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE help Command-line front-end to libmad, a high-quality MPEG audio decoder. It currently supports MPEG-1 and the MPEG-2 extension to lower diff --git a/package/madplay/madplay.mk b/package/madplay/madplay.mk index 6b13819754..e72e2f8180 100644 --- a/package/madplay/madplay.mk +++ b/package/madplay/madplay.mk @@ -6,18 +6,10 @@ MADPLAY_VERSION = 0.15.2b MADPLAY_SITE = http://downloads.sourceforge.net/project/mad/madplay/$(MADPLAY_VERSION) -MADPLAY_LICENSE = GPLv2+ +MADPLAY_LICENSE = GPL-2.0+ MADPLAY_LICENSE_FILES = COPYING COPYRIGHT MADPLAY_LIBTOOL_PATCH = NO -MADPLAY_DEPENDENCIES = libmad libid3tag $(if $(BR2_PACKAGE_GETTEXT),gettext) - -# Workaround a bug in uClibc-ng, which exposes madvise() but doesn't -# provide the corresponding MADV_* definitions. Bug reported at -# http://mailman.uclibc-ng.org/pipermail/devel/2016-December/001306.html. madvise() -# is anyway useless on noMMU. -ifeq ($(BR2_USE_MMU),) -MADPLAY_CONF_ENV += ac_cv_func_madvise=no -endif +MADPLAY_DEPENDENCIES = libmad libid3tag $(TARGET_NLS_DEPENDENCIES) # Check if ALSA is built, then we should configure after alsa-lib so # ./configure can find alsa-lib. diff --git a/package/make/Config.in b/package/make/Config.in index f576b7b5a3..e8aa912ff6 100644 --- a/package/make/Config.in +++ b/package/make/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_MAKE bool "make" depends on BR2_USE_MMU # fork() - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE help A tool which controls the generation of executables and other non-source files of a program from the program's source files. diff --git a/package/make/make.mk b/package/make/make.mk index c51ce3b72f..5717628fa3 100644 --- a/package/make/make.mk +++ b/package/make/make.mk @@ -7,8 +7,8 @@ MAKE_VERSION = 4.2.1 MAKE_SOURCE = make-$(MAKE_VERSION).tar.bz2 MAKE_SITE = $(BR2_GNU_MIRROR)/make -MAKE_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) -MAKE_LICENSE = GPLv3+ +MAKE_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) +MAKE_LICENSE = GPL-3.0+ MAKE_LICENSE_FILES = COPYING MAKE_CONF_OPTS = --without-guile diff --git a/package/makedevs/makedevs.c b/package/makedevs/makedevs.c index 7092b1475e..1ba5936342 100644 --- a/package/makedevs/makedevs.c +++ b/package/makedevs/makedevs.c @@ -570,9 +570,12 @@ int main(int argc, char **argv) ret = EXIT_FAILURE; goto loop; } - } else if (type == 'f') { + } else if (type == 'f' || type == 'F') { struct stat st; if ((stat(full_name, &st) < 0 || !S_ISREG(st.st_mode))) { + if (type == 'F') { + continue; /*Ignore optional files*/ + } bb_perror_msg("line %d: regular file '%s' does not exist", linenum, full_name); ret = EXIT_FAILURE; goto loop; diff --git a/package/makedevs/makedevs.mk b/package/makedevs/makedevs.mk index 9bd684f036..36837a191e 100644 --- a/package/makedevs/makedevs.mk +++ b/package/makedevs/makedevs.mk @@ -4,7 +4,7 @@ # ################################################################################ -MAKEDEVS_LICENSE = GPLv2 +MAKEDEVS_LICENSE = GPL-2.0 HOST_MAKEDEVS_CFLAGS = $(HOST_CFLAGS) HOST_MAKEDEVS_LDFLAGS = $(HOST_LDFLAGS) @@ -21,7 +21,7 @@ define HOST_MAKEDEVS_BUILD_CMDS endef define HOST_MAKEDEVS_INSTALL_CMDS - $(INSTALL) -D -m 755 $(@D)/makedevs $(HOST_DIR)/usr/bin/makedevs + $(INSTALL) -D -m 755 $(@D)/makedevs $(HOST_DIR)/bin/makedevs endef $(eval $(host-generic-package)) diff --git a/package/mali-t76x/Config.in b/package/mali-t76x/Config.in index 26a7f6c00d..07f1f31894 100644 --- a/package/mali-t76x/Config.in +++ b/package/mali-t76x/Config.in @@ -1,11 +1,11 @@ config BR2_PACKAGE_MALI_T76X bool "mali-t76x" - select BR2_PACKAGE_MESA3D_HEADERS - select BR2_PACKAGE_HAS_LIBEGL - select BR2_PACKAGE_HAS_LIBGLES depends on BR2_TOOLCHAIN_USES_GLIBC depends on BR2_ARM_EABIHF depends on BR2_arm + select BR2_PACKAGE_MESA3D_HEADERS + select BR2_PACKAGE_HAS_LIBEGL + select BR2_PACKAGE_HAS_LIBGLES help Install the binary user-space components for the ARM Mali Midgard T76X GPU. This package requires a kernel with the ARM Mali Midgard diff --git a/package/mariadb/mariadb.hash b/package/mariadb/mariadb.hash index 3d6520f342..1483bf70da 100644 --- a/package/mariadb/mariadb.hash +++ b/package/mariadb/mariadb.hash @@ -1,5 +1,6 @@ -# From https://downloads.mariadb.org/mariadb/10.1.21/ -sha1 f9ccaa9881b98eeef68f4dbcf5ab9653c903819f mariadb-10.1.21.tar.gz +# From https://downloads.mariadb.org/mariadb/10.1.28/ +sha256 292dc8fff420c4bdaf3a2c3381ec3c99292965db2b09de0d7fec414c00032bbd mariadb-10.1.28.tar.gz -# Locally computed -sha256 5a816355781ea22a6c65a436d8162f19bd292ec90e2b7d9499c031ae4a659490 mariadb-10.1.21.tar.gz +# Hash for license files +sha256 69ce89a0cadbe35a858398c258be93c388715e84fc0ca04e5a1fd1aa9770dd3a README +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/mariadb/mariadb.mk b/package/mariadb/mariadb.mk index aa4afc5b5c..9d30d8f207 100644 --- a/package/mariadb/mariadb.mk +++ b/package/mariadb/mariadb.mk @@ -4,10 +4,12 @@ # ################################################################################ -MARIADB_VERSION = 10.1.21 +MARIADB_VERSION = 10.1.28 MARIADB_SITE = https://downloads.mariadb.org/interstitial/mariadb-$(MARIADB_VERSION)/source -MARIADB_LICENSE = GPLv2 (server), GPLv2 with FLOSS exception (GPL client library), LGPLv2 (LGPL client library) -MARIADB_LICENSE_FILES = README COPYING COPYING.LESSER +MARIADB_LICENSE = GPL-2.0 (server), GPL-2.0 with FLOSS exception (GPL client library), LGPL-2.0 (LGPL client library) +# Tarball no longer contains LGPL license text +# https://jira.mariadb.org/browse/MDEV-12297 +MARIADB_LICENSE_FILES = README COPYING MARIADB_INSTALL_STAGING = YES MARIADB_PROVIDES = mysql @@ -65,6 +67,8 @@ MARIADB_CONF_OPTS += \ -DMYSQL_DATADIR=/var/lib/mysql \ -DMYSQL_UNIX_ADDR=$(MYSQL_SOCKET) +HOST_MARIADB_CONF_OPTS += -DWITH_SSL=bundled + # Some helpers must be compiled for host in order to crosscompile mariadb for # the target. They are then included by import_executables.cmake which is # generated during the build of the host helpers. It is not necessary to build diff --git a/package/matchbox-common/Config.in b/package/matchbox-common/Config.in index 5a038e17da..587a0694e8 100644 --- a/package/matchbox-common/Config.in +++ b/package/matchbox-common/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_MATCHBOX_COMMON bool "matchbox-common" - select BR2_PACKAGE_MATCHBOX_LIB depends on BR2_PACKAGE_MATCHBOX_PANEL || BR2_PACKAGE_MATCHBOX_DESKTOP + select BR2_PACKAGE_MATCHBOX_LIB help Common desktop folders and matchbox-session script. diff --git a/package/matchbox-common/matchbox-common.mk b/package/matchbox-common/matchbox-common.mk index 038dd5943d..fd54c27ee5 100644 --- a/package/matchbox-common/matchbox-common.mk +++ b/package/matchbox-common/matchbox-common.mk @@ -8,7 +8,7 @@ MATCHBOX_COMMON_VERSION_MAJOR = 0.9 MATCHBOX_COMMON_VERSION = $(MATCHBOX_COMMON_VERSION_MAJOR).1 MATCHBOX_COMMON_SOURCE = matchbox-common-$(MATCHBOX_COMMON_VERSION).tar.bz2 MATCHBOX_COMMON_SITE = http://downloads.yoctoproject.org/releases/matchbox/matchbox-common/$(MATCHBOX_COMMON_VERSION_MAJOR) -MATCHBOX_COMMON_LICENSE = GPLv2+ +MATCHBOX_COMMON_LICENSE = GPL-2.0+ MATCHBOX_COMMON_LICENSE_FILES = COPYING MATCHBOX_COMMON_DEPENDENCIES = matchbox-lib diff --git a/package/matchbox-desktop/matchbox-desktop.mk b/package/matchbox-desktop/matchbox-desktop.mk index a703a18e55..81b13c079c 100644 --- a/package/matchbox-desktop/matchbox-desktop.mk +++ b/package/matchbox-desktop/matchbox-desktop.mk @@ -8,7 +8,7 @@ MATCHBOX_DESKTOP_VERSION_MAJOR = 0.9 MATCHBOX_DESKTOP_VERSION = $(MATCHBOX_DESKTOP_VERSION_MAJOR).1 MATCHBOX_DESKTOP_SOURCE = matchbox-desktop-$(MATCHBOX_DESKTOP_VERSION).tar.bz2 MATCHBOX_DESKTOP_SITE = http://downloads.yoctoproject.org/releases/matchbox/matchbox-desktop/$(MATCHBOX_DESKTOP_VERSION_MAJOR) -MATCHBOX_DESKTOP_LICENSE = GPLv2+ +MATCHBOX_DESKTOP_LICENSE = GPL-2.0+ MATCHBOX_DESKTOP_LICENSE_FILES = COPYING MATCHBOX_DESKTOP_DEPENDENCIES = matchbox-lib zlib MATCHBOX_DESKTOP_CONF_OPTS = --enable-expat diff --git a/package/matchbox-fakekey/matchbox-fakekey.mk b/package/matchbox-fakekey/matchbox-fakekey.mk index ea8e6dcd61..996206e266 100644 --- a/package/matchbox-fakekey/matchbox-fakekey.mk +++ b/package/matchbox-fakekey/matchbox-fakekey.mk @@ -7,7 +7,7 @@ MATCHBOX_FAKEKEY_VERSION = 0.1 MATCHBOX_FAKEKEY_SOURCE = libfakekey-$(MATCHBOX_FAKEKEY_VERSION).tar.bz2 MATCHBOX_FAKEKEY_SITE = http://downloads.yoctoproject.org/releases/matchbox/libfakekey/$(MATCHBOX_FAKEKEY_VERSION) -MATCHBOX_FAKEKEY_LICENSE = GPLv2+ +MATCHBOX_FAKEKEY_LICENSE = GPL-2.0+ MATCHBOX_FAKEKEY_LICENSE_FILES = COPYING MATCHBOX_FAKEKEY_INSTALL_STAGING = YES MATCHBOX_FAKEKEY_DEPENDENCIES = matchbox-lib xlib_libXtst diff --git a/package/matchbox-keyboard/matchbox-keyboard.mk b/package/matchbox-keyboard/matchbox-keyboard.mk index 3ffaca66f9..23ab5ad7e5 100644 --- a/package/matchbox-keyboard/matchbox-keyboard.mk +++ b/package/matchbox-keyboard/matchbox-keyboard.mk @@ -7,7 +7,7 @@ MATCHBOX_KEYBOARD_VERSION = 0.1 MATCHBOX_KEYBOARD_SOURCE = matchbox-keyboard-$(MATCHBOX_KEYBOARD_VERSION).tar.bz2 MATCHBOX_KEYBOARD_SITE = http://downloads.yoctoproject.org/releases/matchbox/matchbox-keyboard/$(MATCHBOX_KEYBOARD_VERSION) -MATCHBOX_KEYBOARD_LICENSE = GPLv2+ +MATCHBOX_KEYBOARD_LICENSE = GPL-2.0+ MATCHBOX_KEYBOARD_LICENSE_FILES = COPYING MATCHBOX_KEYBOARD_DEPENDENCIES = host-pkgconf matchbox-lib matchbox-fakekey expat diff --git a/package/matchbox-lib/matchbox-lib.mk b/package/matchbox-lib/matchbox-lib.mk index 451279e6d4..ee206b6d82 100644 --- a/package/matchbox-lib/matchbox-lib.mk +++ b/package/matchbox-lib/matchbox-lib.mk @@ -7,7 +7,7 @@ MATCHBOX_LIB_VERSION = 1.9 MATCHBOX_LIB_SOURCE = libmatchbox-$(MATCHBOX_LIB_VERSION).tar.bz2 MATCHBOX_LIB_SITE = http://downloads.yoctoproject.org/releases/matchbox/libmatchbox/$(MATCHBOX_LIB_VERSION) -MATCHBOX_LIB_LICENSE = LGPLv2.1+ +MATCHBOX_LIB_LICENSE = LGPL-2.1+ MATCHBOX_LIB_LICENSE_FILES = COPYING MATCHBOX_LIB_INSTALL_STAGING = YES MATCHBOX_LIB_DEPENDENCIES = host-pkgconf expat xlib_libXext diff --git a/package/matchbox-panel/matchbox-panel.mk b/package/matchbox-panel/matchbox-panel.mk index aa2d417922..344d8fde49 100644 --- a/package/matchbox-panel/matchbox-panel.mk +++ b/package/matchbox-panel/matchbox-panel.mk @@ -8,7 +8,7 @@ MATCHBOX_PANEL_VERSION_MAJOR = 0.9 MATCHBOX_PANEL_VERSION = $(MATCHBOX_PANEL_VERSION_MAJOR).3 MATCHBOX_PANEL_SOURCE = matchbox-panel-$(MATCHBOX_PANEL_VERSION).tar.bz2 MATCHBOX_PANEL_SITE = http://downloads.yoctoproject.org/releases/matchbox/matchbox-panel/$(MATCHBOX_PANEL_VERSION_MAJOR) -MATCHBOX_PANEL_LICENSE = GPLv2+ +MATCHBOX_PANEL_LICENSE = GPL-2.0+ MATCHBOX_PANEL_LICENSE_FILES = COPYING MATCHBOX_PANEL_DEPENDENCIES = matchbox-lib MATCHBOX_PANEL_CONF_OPTS = --enable-expat --enable-dnotify diff --git a/package/matchbox-startup-monitor/matchbox-startup-monitor.mk b/package/matchbox-startup-monitor/matchbox-startup-monitor.mk index be572396d8..c80e75332c 100644 --- a/package/matchbox-startup-monitor/matchbox-startup-monitor.mk +++ b/package/matchbox-startup-monitor/matchbox-startup-monitor.mk @@ -7,7 +7,7 @@ MATCHBOX_STARTUP_MONITOR_VERSION = 0.1 MATCHBOX_STARTUP_MONITOR_SOURCE = mb-applet-startup-monitor-$(MATCHBOX_STARTUP_MONITOR_VERSION).tar.bz2 MATCHBOX_STARTUP_MONITOR_SITE = http://downloads.yoctoproject.org/releases/matchbox/mb-applet-startup-monitor/$(MATCHBOX_STARTUP_MONITOR_VERSION) -MATCHBOX_STARTUP_MONITOR_LICENSE = GPLv2+ +MATCHBOX_STARTUP_MONITOR_LICENSE = GPL-2.0+ MATCHBOX_STARTUP_MONITOR_LICENSE_FILES = COPYING MATCHBOX_STARTUP_MONITOR_DEPENDENCIES = matchbox-lib startup-notification diff --git a/package/matchbox/matchbox.mk b/package/matchbox/matchbox.mk index 9094b1ec63..c0a2778b67 100644 --- a/package/matchbox/matchbox.mk +++ b/package/matchbox/matchbox.mk @@ -7,7 +7,7 @@ MATCHBOX_VERSION = 1.2 MATCHBOX_SOURCE = matchbox-window-manager-$(MATCHBOX_VERSION).tar.bz2 MATCHBOX_SITE = http://downloads.yoctoproject.org/releases/matchbox/matchbox-window-manager/$(MATCHBOX_VERSION) -MATCHBOX_LICENSE = GPLv2+ +MATCHBOX_LICENSE = GPL-2.0+ MATCHBOX_LICENSE_FILES = COPYING MATCHBOX_DEPENDENCIES = matchbox-lib diff --git a/package/mbedtls/Config.in b/package/mbedtls/Config.in index ed63f2da58..8836984cb5 100644 --- a/package/mbedtls/Config.in +++ b/package/mbedtls/Config.in @@ -23,7 +23,7 @@ config BR2_PACKAGE_MBEDTLS_COMPRESSION help Enable support for compression of the content data before it enters the secure channel as described in RFC 3749. - + Warning: TLS compression may make you vulnerable to the CRIME attack. You should not enable it unless you know for sure CRIME and similar attacks are not applicable to your particular diff --git a/package/mbedtls/mbedtls.hash b/package/mbedtls/mbedtls.hash index 5f9786c292..d04b867754 100644 --- a/package/mbedtls/mbedtls.hash +++ b/package/mbedtls/mbedtls.hash @@ -1,2 +1,5 @@ -# From https://tls.mbed.org/tech-updates/releases/mbedtls-2.3.0-2.1.5-and-1.3.17-released -sha256 c1c3559ed39f7a1b1550c4cf4ccb918bf239301a3311d98dda92bed8a25b7f0d mbedtls-2.4.0-apache.tgz +# From https://tls.mbed.org/tech-updates/releases/mbedtls-2.6.0-2.1.9-and-1.3.21-released +sha1 e914288da50977f541773f9d36e26f14926594a5 mbedtls-2.6.0-apache.tgz +sha256 99bc9d4212d3d885eeb96273bcde8ecc649a481404b8d7ea7bb26397c9909687 mbedtls-2.6.0-apache.tgz +# Locally calculated +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache-2.0.txt diff --git a/package/mbedtls/mbedtls.mk b/package/mbedtls/mbedtls.mk index 198879da4d..64ce18cf6f 100644 --- a/package/mbedtls/mbedtls.mk +++ b/package/mbedtls/mbedtls.mk @@ -5,7 +5,7 @@ ################################################################################ MBEDTLS_SITE = https://tls.mbed.org/code/releases -MBEDTLS_VERSION = 2.4.0 +MBEDTLS_VERSION = 2.6.0 MBEDTLS_SOURCE = mbedtls-$(MBEDTLS_VERSION)-apache.tgz MBEDTLS_CONF_OPTS = \ -DENABLE_PROGRAMS=$(if $(BR2_PACKAGE_MBEDTLS_PROGRAMS),ON,OFF) \ diff --git a/package/mc/mc.hash b/package/mc/mc.hash index a8116d02bf..cb48f2ea9e 100644 --- a/package/mc/mc.hash +++ b/package/mc/mc.hash @@ -1,2 +1,2 @@ -# Hash from http://ftp.midnight-commander.org/mc-4.8.18.sha256: -sha256 f7636815c987c1719c4f5de2dcd156a0e7d097b1d10e4466d2bdead343d5bece mc-4.8.18.tar.xz +# Hash from http://ftp.midnight-commander.org/mc-4.8.19.sha256: +sha256 eb9e56bbb5b2893601d100d0e0293983049b302c5ab61bfb544ad0ee2cc1f2df mc-4.8.19.tar.xz diff --git a/package/mc/mc.mk b/package/mc/mc.mk index ff4c8ad294..a032c2f1a3 100644 --- a/package/mc/mc.mk +++ b/package/mc/mc.mk @@ -4,10 +4,10 @@ # ################################################################################ -MC_VERSION = 4.8.18 +MC_VERSION = 4.8.19 MC_SOURCE = mc-$(MC_VERSION).tar.xz MC_SITE = http://ftp.midnight-commander.org -MC_LICENSE = GPLv3+ +MC_LICENSE = GPL-3.0+ MC_LICENSE_FILES = COPYING MC_DEPENDENCIES = libglib2 host-pkgconf diff --git a/package/mcelog/mcelog.hash b/package/mcelog/mcelog.hash new file mode 100644 index 0000000000..1a9dd602dc --- /dev/null +++ b/package/mcelog/mcelog.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 d8f3dde21b2e0d76740f374385817c11b3fd69b095a186a6dd12c7b0ba0cca8f mcelog-v153.tar.gz diff --git a/package/mcelog/mcelog.mk b/package/mcelog/mcelog.mk index 1290e349ad..dca6a18c26 100644 --- a/package/mcelog/mcelog.mk +++ b/package/mcelog/mcelog.mk @@ -4,11 +4,11 @@ # ################################################################################ -MCELOG_VERSION = v111 +MCELOG_VERSION = v153 MCELOG_SITE = $(BR2_KERNEL_MIRROR)/scm/utils/cpu/mce/mcelog.git MCELOG_SITE_METHOD = git -MCELOG_LICENSE = GPLv2 -MCELOG_LICENSE_FILES = README +MCELOG_LICENSE = GPL-2.0 +MCELOG_LICENSE_FILES = README.md define MCELOG_BUILD_CMDS $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) all diff --git a/package/mcrypt/Config.in b/package/mcrypt/Config.in index 58567cd751..ab2888bb17 100644 --- a/package/mcrypt/Config.in +++ b/package/mcrypt/Config.in @@ -3,7 +3,6 @@ config BR2_PACKAGE_MCRYPT depends on BR2_USE_MMU # fork() select BR2_PACKAGE_LIBMCRYPT select BR2_PACKAGE_LIBMHASH - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE help MCrypt is a replacement for the old crypt() package and crypt(1) command, with extensions. diff --git a/package/mcrypt/mcrypt.mk b/package/mcrypt/mcrypt.mk index b413ffa37d..f98895f401 100644 --- a/package/mcrypt/mcrypt.mk +++ b/package/mcrypt/mcrypt.mk @@ -9,9 +9,9 @@ MCRYPT_SITE = http://downloads.sourceforge.net/project/mcrypt/MCrypt/$(MCRYPT_VE MCRYPT_DEPENDENCIES = libmcrypt libmhash \ $(if $(BR2_PACKAGE_ZLIB),zlib) \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) \ - $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) + $(TARGET_NLS_DEPENDENCIES) MCRYPT_CONF_OPTS = --with-libmcrypt-prefix=$(STAGING_DIR)/usr -MCRYPT_LICENSE = GPLv3 +MCRYPT_LICENSE = GPL-3.0 MCRYPT_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/mdadm/Config.in b/package/mdadm/Config.in index e0d606b5ec..61d631cda8 100644 --- a/package/mdadm/Config.in +++ b/package/mdadm/Config.in @@ -1,7 +1,12 @@ config BR2_PACKAGE_MDADM bool "mdadm" + depends on !BR2_STATIC_LIBS # dlfcn.h depends on BR2_USE_MMU # fork() help Utility for managing Linux Software RAID arrays. http://neil.brown.name/blog/mdadm + +comment "mdadm needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS + depends on BR2_USE_MMU diff --git a/package/mdadm/mdadm.hash b/package/mdadm/mdadm.hash index 7f228d99dc..6132a6d8ca 100644 --- a/package/mdadm/mdadm.hash +++ b/package/mdadm/mdadm.hash @@ -1,2 +1,2 @@ # From https://www.kernel.org/pub/linux/utils/raid/mdadm/sha256sums.asc -sha256 8ae5f45306b873190e91f410709b00e51997b633c072b33f8efd9f7df022ca68 mdadm-3.3.4.tar.xz +sha256 1d6ae7f24ced3a0fa7b5613b32f4a589bb4881e3946a5a2c3724056254ada3a9 mdadm-4.0.tar.xz diff --git a/package/mdadm/mdadm.mk b/package/mdadm/mdadm.mk index 7558c18ad8..207b0be60d 100644 --- a/package/mdadm/mdadm.mk +++ b/package/mdadm/mdadm.mk @@ -4,14 +4,14 @@ # ################################################################################ -MDADM_VERSION = 3.3.4 +MDADM_VERSION = 4.0 MDADM_SOURCE = mdadm-$(MDADM_VERSION).tar.xz MDADM_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/raid/mdadm -MDADM_LICENSE = GPLv2+ +MDADM_LICENSE = GPL-2.0+ MDADM_LICENSE_FILES = COPYING MDADM_MAKE_OPTS = \ - CFLAGS="$(TARGET_CFLAGS)" CC="$(TARGET_CC)" CHECK_RUN_DIR=0 -C $(MDADM_DIR) mdadm + CFLAGS="$(TARGET_CFLAGS) -DNO_COROSYNC -DNO_DLM" CC="$(TARGET_CC)" CHECK_RUN_DIR=0 -C $(MDADM_DIR) mdadm MDADM_INSTALL_TARGET_OPTS = \ DESTDIR=$(TARGET_DIR)/usr -C $(MDADM_DIR) install-mdadm diff --git a/package/mediastreamer/0001-fix-compilation-issue-with-latest-bctoobox.patch b/package/mediastreamer/0001-fix-compilation-issue-with-latest-bctoobox.patch new file mode 100644 index 0000000000..7bc9733c85 --- /dev/null +++ b/package/mediastreamer/0001-fix-compilation-issue-with-latest-bctoobox.patch @@ -0,0 +1,38 @@ +From 26f884bf977977041fe6f98a0af186be1580bf22 Mon Sep 17 00:00:00 2001 +From: Simon Morlat +Date: Thu, 29 Sep 2016 15:26:18 +0200 +Subject: [PATCH] fix compilation issue with latest bctoobox + +[Upstream commit https://github.com/BelledonneCommunications/mediastreamer2/commit/26f884bf977977041fe6f98a0af186be1580bf22] +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 2 +- + src/crypto/dtls_srtp.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 7ab20a08f..244d87275 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1116,7 +1116,7 @@ fi + + + dnl check bctoolbox library +-PKG_CHECK_MODULES(BCTOOLBOX, bctoolbox >= 0.0.0, found_bctoolbox=true, found_bctoolbox=false) ++PKG_CHECK_MODULES(BCTOOLBOX, bctoolbox >= 0.4.0, found_bctoolbox=true, found_bctoolbox=false) + if test "$found_bctoolbox" = "true" ; then + LIBS="$LIBS $BCTOOLBOX_LIBS" + CFLAGS="$CFLAGS $BCTOOLBOX_CFLAGS" +diff --git a/src/crypto/dtls_srtp.c b/src/crypto/dtls_srtp.c +index e2c8e1c44..fd37eb5cb 100644 +--- a/src/crypto/dtls_srtp.c ++++ b/src/crypto/dtls_srtp.c +@@ -705,7 +705,7 @@ static int ms_dtls_srtp_initialise_bctbx_dtls_context(DtlsBcToolBoxContext *dtls + bctbx_ssl_config_set_authmode(dtlsContext->ssl_config, BCTBX_SSL_VERIFY_OPTIONAL); + bctbx_ssl_config_set_own_cert( dtlsContext->ssl_config, dtlsContext->crt, dtlsContext->pkey ); + /* This is useless as peer would certainly be a self signed certificate and we won't verify it but avoid runtime warnings */ +- bctbx_ssl_config_set_ca_chain(dtlsContext->ssl_config, dtlsContext->crt, NULL); ++ bctbx_ssl_config_set_ca_chain(dtlsContext->ssl_config, dtlsContext->crt); + + /* we are not ready yet to actually start the ssl context, this will be done by calling bctbx_ssl_setup when stream starts */ + return 0; diff --git a/package/mediastreamer/Config.in b/package/mediastreamer/Config.in index 7e62bf2e7b..afaed4a730 100644 --- a/package/mediastreamer/Config.in +++ b/package/mediastreamer/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_MEDIASTREAMER bool "mediastreamer" - select BR2_PACKAGE_ORTP depends on BR2_INSTALL_LIBSTDCPP # ortp depends on BR2_TOOLCHAIN_HAS_THREADS # ortp + select BR2_PACKAGE_ORTP help Mediastreamer is a powerful and lightweighted streaming engine specialized for voice/video telephony applications. diff --git a/package/mediastreamer/mediastreamer.hash b/package/mediastreamer/mediastreamer.hash index 0f1ac77ce1..5f26b54bff 100644 --- a/package/mediastreamer/mediastreamer.hash +++ b/package/mediastreamer/mediastreamer.hash @@ -1,3 +1,2 @@ # Locally calculated sha256 1144849c0c96abafb1153adf56109f0f195a9e4a53cf28cb611bbca7a9012c1a mediastreamer-2.14.0.tar.gz -sha256 90091ab0aa7a77381ab1ca5d88cdfa4e7f62505fb452a2bea0f70054d9d1aece 26f884bf977977041fe6f98a0af186be1580bf22.patch diff --git a/package/mediastreamer/mediastreamer.mk b/package/mediastreamer/mediastreamer.mk index b4f0c52c7c..1276cfae10 100644 --- a/package/mediastreamer/mediastreamer.mk +++ b/package/mediastreamer/mediastreamer.mk @@ -7,16 +7,13 @@ MEDIASTREAMER_VERSION = 2.14.0 MEDIASTREAMER_SITE = http://download.savannah.nongnu.org/releases/linphone/mediastreamer MEDIASTREAMER_INSTALL_STAGING = YES -MEDIASTREAMER_DEPENDENCIES = host-intltool host-pkgconf ortp host-gettext +# host-vim needed for the xxd utility +MEDIASTREAMER_DEPENDENCIES = host-intltool host-pkgconf ortp host-gettext host-vim # tests fail linking on some architectures, so disable them MEDIASTREAMER_CONF_OPTS = --disable-tests --disable-glx --disable-strict -MEDIASTREAMER_LICENSE = GPLv2+ +MEDIASTREAMER_LICENSE = GPL-2.0+ MEDIASTREAMER_LICENSE_FILES = COPYING -# fix compilation issue with latest bctoolbox (touches configure.ac) -MEDIASTREAMER_PATCH = \ - https://github.com/BelledonneCommunications/mediastreamer2/commit/26f884bf977977041fe6f98a0af186be1580bf22.patch - # patching configure.ac MEDIASTREAMER_AUTORECONF = YES diff --git a/package/memcached/memcached.hash b/package/memcached/memcached.hash index 11cac3a590..204590d27c 100644 --- a/package/memcached/memcached.hash +++ b/package/memcached/memcached.hash @@ -1,4 +1,4 @@ -# From http://www.memcached.org/files/memcached-1.4.34.tar.gz.sha1 -sha1 7c7214f5183c6e20c22b243e21ed1ffddb91497e memcached-1.4.34.tar.gz +# From http://www.memcached.org/files/memcached-1.5.0.tar.gz.sha1 +sha1 e12af93e63c05ab7e89398e4cfd0bfc7b7bff1c5 memcached-1.5.0.tar.gz # Calculated based on the hash above -sha256 5064c87f91a37d822dfeab8768490c55fe686a742f07f67c7121101e48d87c79 memcached-1.4.34.tar.gz +sha256 c001f812024bb461b5e4d7d0506daab63dff9614eea26f46536c3b7e1e601c32 memcached-1.5.0.tar.gz diff --git a/package/memcached/memcached.mk b/package/memcached/memcached.mk index caebe0289f..d0e3bc01d9 100644 --- a/package/memcached/memcached.mk +++ b/package/memcached/memcached.mk @@ -4,12 +4,12 @@ # ################################################################################ -MEMCACHED_VERSION = 1.4.34 +MEMCACHED_VERSION = 1.5.0 MEMCACHED_SITE = http://www.memcached.org/files MEMCACHED_DEPENDENCIES = libevent MEMCACHED_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' MEMCACHED_CONF_OPTS = --disable-coverage -MEMCACHED_LICENSE = BSD-3c +MEMCACHED_LICENSE = BSD-3-Clause MEMCACHED_LICENSE_FILES = COPYING ifeq ($(BR2_ENDIAN),"BIG") diff --git a/package/memtest86/memtest86.mk b/package/memtest86/memtest86.mk index d2ec1a7992..eb071cc29d 100644 --- a/package/memtest86/memtest86.mk +++ b/package/memtest86/memtest86.mk @@ -7,7 +7,7 @@ MEMTEST86_VERSION = 5.01 MEMTEST86_SOURCE = memtest86+-$(MEMTEST86_VERSION).tar.gz MEMTEST86_SITE = http://www.memtest.org/download/$(MEMTEST86_VERSION) -MEMTEST86_LICENSE = GPLv2 +MEMTEST86_LICENSE = GPL-2.0 MEMTEST86_LICENSE_FILES = README # memtest86+ is sensitive to toolchain changes, use the shipped binary version diff --git a/package/memtester/memtester.mk b/package/memtester/memtester.mk index 802c1e4902..0e64d8cde2 100644 --- a/package/memtester/memtester.mk +++ b/package/memtester/memtester.mk @@ -6,7 +6,7 @@ MEMTESTER_VERSION = 4.3.0 MEMTESTER_SITE = http://pyropus.ca/software/memtester/old-versions -MEMTESTER_LICENSE = GPLv2 +MEMTESTER_LICENSE = GPL-2.0 MEMTESTER_LICENSE_FILES = COPYING MEMTESTER_TARGET_INSTALL_OPTS = INSTALLPATH=$(TARGET_DIR)/usr diff --git a/package/memtool/Config.in b/package/memtool/Config.in new file mode 100644 index 0000000000..63099d0d5e --- /dev/null +++ b/package/memtool/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_MEMTOOL + bool "memtool" + help + Development tool to modify memory mapped registers. + + memtool allows one to read and write memory mapped registers + via /dev/mem. The commands are inspired by the respective + commands of the barebox bootloader. This is handy during + driver development to inspect and modify register + settings. It can also be used to modify regular files and + character devices (e.g. to paint to /dev/fb0). + + http://www.pengutronix.de/software/memtool/index_en.html diff --git a/package/memtool/memtool.hash b/package/memtool/memtool.hash new file mode 100644 index 0000000000..95df1aaf85 --- /dev/null +++ b/package/memtool/memtool.hash @@ -0,0 +1,2 @@ +# Locally computed: +sha256 58309d356cb9b45a241cb602ca3850891a70ddaa93ced51d1cced78e14767680 memtool-2016.10.0.tar.xz diff --git a/package/memtool/memtool.mk b/package/memtool/memtool.mk new file mode 100644 index 0000000000..c236cab8ba --- /dev/null +++ b/package/memtool/memtool.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# memtool +# +################################################################################ + +MEMTOOL_VERSION = 2016.10.0 +MEMTOOL_SITE = http://public.pengutronix.de/software/memtool +MEMTOOL_SOURCE = memtool-$(MEMTOOL_VERSION).tar.xz +MEMTOOL_LICENSE = GPL-2.0 +MEMTOOL_LICENSE_FILES = COPYING + +$(eval $(autotools-package)) diff --git a/package/menu-cache/Config.in b/package/menu-cache/Config.in index b75c8ec054..e61ca447c1 100644 --- a/package/menu-cache/Config.in +++ b/package/menu-cache/Config.in @@ -1,10 +1,10 @@ config BR2_PACKAGE_MENU_CACHE bool "menu-cache" - select BR2_PACKAGE_LIBGLIB2 - select BR2_PACKAGE_LIBFM_EXTRA depends on BR2_USE_WCHAR # libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_USE_MMU # libglib2 + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBFM_EXTRA help Small library from LXDE project used for application menu integration diff --git a/package/menu-cache/menu-cache.mk b/package/menu-cache/menu-cache.mk index 16878258fd..b5fde9907e 100644 --- a/package/menu-cache/menu-cache.mk +++ b/package/menu-cache/menu-cache.mk @@ -9,7 +9,7 @@ MENU_CACHE_VERSION = $(MENU_CACHE_VERSION_MAJOR).1 MENU_CACHE_SOURCE = menu-cache-$(MENU_CACHE_VERSION).tar.xz MENU_CACHE_SITE = http://sourceforge.net/projects/lxde/files/menu-cache/$(MENU_CACHE_VERSION_MAJOR) MENU_CACHE_DEPENDENCIES = libfm-extra libglib2 -MENU_CACHE_LICENSE = LGPLv2.1 +MENU_CACHE_LICENSE = LGPL-2.1 MENU_CACHE_LICENSE_FILES = COPYING MENU_CACHE_INSTALL_STAGING = YES diff --git a/package/mesa3d-demos/Config.in b/package/mesa3d-demos/Config.in index f22c0dee91..b716cf5799 100644 --- a/package/mesa3d-demos/Config.in +++ b/package/mesa3d-demos/Config.in @@ -1,11 +1,11 @@ config BR2_PACKAGE_MESA3D_DEMOS bool "mesa3d-demos" + depends on BR2_PACKAGE_HAS_LIBGL || BR2_PACKAGE_HAS_LIBGLES \ + || BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_HAS_LIBOPENVG select BR2_PACKAGE_LIBGLEW if BR2_PACKAGE_XORG7 && BR2_PACKAGE_HAS_LIBGL select BR2_PACKAGE_LIBGLU if BR2_PACKAGE_XORG7 && BR2_PACKAGE_HAS_LIBGL select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7 && BR2_PACKAGE_HAS_LIBGL select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7 && BR2_PACKAGE_HAS_LIBGL - depends on BR2_PACKAGE_HAS_LIBGL || BR2_PACKAGE_HAS_LIBGLES \ - || BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_HAS_LIBOPENVG help OpenGL demos from the Mesa 3D project. diff --git a/package/mesa3d-headers/mesa3d-headers.mk b/package/mesa3d-headers/mesa3d-headers.mk index 35b1a71442..c9db3f551b 100644 --- a/package/mesa3d-headers/mesa3d-headers.mk +++ b/package/mesa3d-headers/mesa3d-headers.mk @@ -12,9 +12,9 @@ endif # Not possible to directly refer to mesa3d variables, because of # first/second expansion trickery... -MESA3D_HEADERS_VERSION = 13.0.4 +MESA3D_HEADERS_VERSION = 17.2.4 MESA3D_HEADERS_SOURCE = mesa-$(MESA3D_HEADERS_VERSION).tar.xz -MESA3D_HEADERS_SITE = ftp://ftp.freedesktop.org/pub/mesa/$(MESA3D_HEADERS_VERSION) +MESA3D_HEADERS_SITE = https://mesa.freedesktop.org/archive MESA3D_HEADERS_LICENSE = MIT, SGI, Khronos MESA3D_HEADERS_LICENSE_FILES = docs/license.html diff --git a/package/mesa3d/0001-Fix-khrplatform.h-not-installed-if-EGL-is-disabled.patch b/package/mesa3d/0001-Fix-khrplatform.h-not-installed-if-EGL-is-disabled.patch deleted file mode 100644 index ab773f85a4..0000000000 --- a/package/mesa3d/0001-Fix-khrplatform.h-not-installed-if-EGL-is-disabled.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 83a1afd73f2d0aff9aa11c1754d6d407983afa7d Mon Sep 17 00:00:00 2001 -From: Eric Le Bihan -Date: Wed, 9 Apr 2014 12:48:36 +0200 -Subject: [PATCH] Fix khrplatform.h not installed if EGL is disabled. - -KHR/khrplatform.h is required by the EGL, GLES and VG headers, but is -only installed if Mesa3d is compiled with EGL support. - -This patch installs this header file unconditionally. - -Patch sent upstream: https://bugs.freedesktop.org/show_bug.cgi?id=77240 - -Signed-off-by: Eric Le Bihan -Signed-off-by: Bernd Kuhls (rebased for mesa3d 10.3) - -diff -uNr Mesa-10.3.0-rc2.org/src/egl/main/Makefile.am Mesa-10.3.0-rc2/src/egl/main/Makefile.am ---- Mesa-10.3.0-rc2.org/src/egl/Makefile.am 2014-08-29 00:00:57.000000000 +0200 -+++ Mesa-10.3.0-rc2/src/egl/Makefile.am 2014-09-02 21:35:52.548071820 +0200 -@@ -85,9 +85,6 @@ - - pkgconfig_DATA = egl.pc - --khrdir = $(includedir)/KHR --khr_HEADERS = $(top_srcdir)/include/KHR/khrplatform.h -- - egldir = $(includedir)/EGL - egl_HEADERS = \ - $(top_srcdir)/include/EGL/eglext.h \ -diff -uNr Mesa-10.3.0-rc2.org/src/mapi/Makefile.am Mesa-10.3.0-rc2/src/mapi/Makefile.am ---- Mesa-10.3.0-rc2.org/src/mapi/Makefile.am 2014-09-01 01:22:12.000000000 +0200 -+++ Mesa-10.3.0-rc2/src/mapi/Makefile.am 2014-09-02 21:36:22.891686861 +0200 -@@ -211,4 +211,7 @@ - SUBDIRS += vgapi - endif - -+khrdir = $(includedir)/KHR -+khr_HEADERS = $(top_srcdir)/include/KHR/khrplatform.h -+ - include $(top_srcdir)/install-lib-links.mk diff --git a/package/mesa3d/0003-musl.patch b/package/mesa3d/0001-musl.patch similarity index 100% rename from package/mesa3d/0003-musl.patch rename to package/mesa3d/0001-musl.patch diff --git a/package/mesa3d/0004-Fix-endianess-detection-with-musl-based-toolchains.patch b/package/mesa3d/0002-Fix-endianess-detection-with-musl-based-toolchains.patch similarity index 100% rename from package/mesa3d/0004-Fix-endianess-detection-with-musl-based-toolchains.patch rename to package/mesa3d/0002-Fix-endianess-detection-with-musl-based-toolchains.patch diff --git a/package/mesa3d/0002-Fix-runtime-error-with-uClibc.patch b/package/mesa3d/0002-Fix-runtime-error-with-uClibc.patch deleted file mode 100644 index 59627beff6..0000000000 --- a/package/mesa3d/0002-Fix-runtime-error-with-uClibc.patch +++ /dev/null @@ -1,48 +0,0 @@ -Fix runtime error with uClibc - -Patch inspired by -https://www.winehq.org/pipermail/wine-bugs/2011-September/288987.html -http://git.alpinelinux.org/cgit/aports/tree/main/wine/uclibc-fmaxf-fminf.patch?id=c9b491b6099eec02a835ffd05539b5c783c6c43a - -Starting an app using mesa3d 10.5.x, Kodi for example, fails: - -/usr/lib/kodi/kodi.bin: symbol 'fminf': can't resolve symbol in lib '/usr/lib/dri/i965_dri.so'. -libGL error: unable to load driver: i965_dri.so -libGL error: driver pointer missing -libGL error: failed to load driver: i965 -libGL error: unable to load driver: swrast_dri.so -libGL error: failed to load driver: swrast - -This patch was rejected by upstream mesa3d: -http://lists.freedesktop.org/archives/mesa-dev/2015-March/079436.html - -The real fix was committed to uClibc: -http://git.uclibc.org/uClibc/commit/?id=6c4538905e65ceb203f59aaa9a61728e81c6bc0a - -Until the external toolchains do not contain this uClibc patch we keep this -patch: http://lists.busybox.net/pipermail/buildroot/2015-March/123410.html - -Signed-off-by: Bernd Kuhls ---- -diff -uNr mesa-10.5.3.org/src/glsl/nir/nir_constant_expressions.c mesa-10.5.3/src/glsl/nir/nir_constant_expressions.c ---- mesa-10.5.3.org/src/compiler/nir/nir_constant_expressions.c 2015-04-12 23:31:29.000000000 +0200 -+++ mesa-10.5.3/src/compiler/nir/nir_constant_expressions.c 2015-04-13 19:59:37.819786541 +0200 -@@ -48,6 +48,18 @@ - } - #endif - -+#ifdef __UCLIBC__ -+float fmaxf(float a, float b) -+{ -+ return (a > b) ? a : b; -+} -+ -+float fminf(float a, float b) -+{ -+ return (a < b) ? a : b; -+} -+#endif -+ - /** - * Evaluate one component of packSnorm4x8. - */ diff --git a/package/mesa3d/0003-configure.ac-invert-order-for-wayland-scanner-check.patch b/package/mesa3d/0003-configure.ac-invert-order-for-wayland-scanner-check.patch new file mode 100644 index 0000000000..d6c9a0d453 --- /dev/null +++ b/package/mesa3d/0003-configure.ac-invert-order-for-wayland-scanner-check.patch @@ -0,0 +1,42 @@ +From 60ee5191a0c074251862a15b12afdc9db0b2df38 Mon Sep 17 00:00:00 2001 +From: Gustavo Zacarias +Date: Thu, 17 Nov 2016 15:36:54 -0300 +Subject: [PATCH] configure.ac: invert order for wayland-scanner check + +When cross-compiling the .pc file might point to the wrong +wayland-scanner binary (target rather than host) resulting in a +non-executable and wrong scanner. +Try searching the PATH first, and if that fails fall back into +pkg-config. + +[Vincent: tweak patch for 17.1.1 version] + +Signed-off-by: Gustavo Zacarias +Signed-off-by: Vicente Olivert Riera +--- + configure.ac | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 2c7e636..0198d52 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2174,11 +2174,11 @@ if test "x$with_platforms" != xauto; then + with_egl_platforms=$with_platforms + fi + +-PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland-scanner], +- WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`, +- WAYLAND_SCANNER='') ++AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner]) + if test "x$WAYLAND_SCANNER" = x; then +- AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner], [:]) ++ PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland-scanner], ++ WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`, ++ WAYLAND_SCANNER='') + fi + + # Do per-EGL platform setups and checks +-- +2.7.3 + diff --git a/package/mesa3d/0005-configure.ac-invert-order-for-wayland-scanner-check.patch b/package/mesa3d/0005-configure.ac-invert-order-for-wayland-scanner-check.patch deleted file mode 100644 index e32031eca1..0000000000 --- a/package/mesa3d/0005-configure.ac-invert-order-for-wayland-scanner-check.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 60ee5191a0c074251862a15b12afdc9db0b2df38 Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Thu, 17 Nov 2016 15:36:54 -0300 -Subject: [PATCH] configure.ac: invert order for wayland-scanner check - -When cross-compiling the .pc file might point to the wrong -wayland-scanner binary (target rather than host) resulting in a -non-executable and wrong scanner. -Try searching the PATH first, and if that fails fall back into -pkg-config. - -Signed-off-by: Gustavo Zacarias ---- - configure.ac | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 5f30ae8..461792e 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2025,11 +2025,11 @@ if test "x$with_egl_platforms" != "x" -a "x$enable_egl" != xyes; then - AC_MSG_ERROR([cannot build egl state tracker without EGL library]) - fi - --PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland-scanner], -- WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`, -- WAYLAND_SCANNER='') -+AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner]) - if test "x$WAYLAND_SCANNER" = x; then -- AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner]) -+ PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland-scanner], -+ WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`, -+ WAYLAND_SCANNER='') - fi - - # Do per-EGL platform setups and checks --- -2.7.3 - diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in index bbab95373f..9249b1d71a 100644 --- a/package/mesa3d/Config.in +++ b/package/mesa3d/Config.in @@ -7,6 +7,7 @@ menuconfig BR2_PACKAGE_MESA3D select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_EXPAT select BR2_PACKAGE_HAS_LIBGL if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_WAYLAND_PROTOCOLS if BR2_PACKAGE_WAYLAND select BR2_PACKAGE_XPROTO_DRI2PROTO if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XPROTO_GLPROTO if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XPROTO_XF86DRIPROTO if BR2_PACKAGE_XORG7 @@ -15,6 +16,7 @@ menuconfig BR2_PACKAGE_MESA3D select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBXFIXES if BR2_PACKAGE_XORG7 select BR2_PACKAGE_LIBXCB if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_ZLIB help Mesa 3D, an open-source implementation of the OpenGL specification. @@ -24,14 +26,21 @@ if BR2_PACKAGE_MESA3D # inform the .mk file of gallium, dri or vulkan driver selection config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER - select BR2_PACKAGE_MESA3D_DRIVER bool + select BR2_PACKAGE_MESA3D_DRIVER config BR2_PACKAGE_MESA3D_DRI_DRIVER - select BR2_PACKAGE_MESA3D_DRIVER - select BR2_PACKAGE_XLIB_LIBXSHMFENCE if BR2_PACKAGE_XPROTO_DRI3PROTO - select BR2_PACKAGE_XPROTO_PRESENTPROTO if BR2_PACKAGE_XPROTO_DRI3PROTO bool + select BR2_PACKAGE_MESA3D_DRIVER + # xlib-libxshmfence needs sync_4, so we cannot select it if + # BR2_TOOLCHAIN_HAS_SYNC_4 is false. xproto-presentproto + # doesn't need sync_4, but it is only needed in conjunction + # with xlib-libxshmfence and dri3proto to provide dri3 + # support, so we also only select it if sync_4 is available. + select BR2_PACKAGE_XLIB_LIBXSHMFENCE if \ + (BR2_PACKAGE_XPROTO_DRI3PROTO && BR2_TOOLCHAIN_HAS_SYNC_4) + select BR2_PACKAGE_XPROTO_PRESENTPROTO if \ + (BR2_PACKAGE_XPROTO_DRI3PROTO && BR2_TOOLCHAIN_HAS_SYNC_4) config BR2_PACKAGE_MESA3D_VULKAN_DRIVER bool @@ -45,6 +54,14 @@ config BR2_PACKAGE_MESA3D_NEEDS_XA comment "Gallium drivers" +config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV + bool "Gallium Etnaviv driver" + select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER + select BR2_PACKAGE_LIBDRM_ETNAVIV + select BR2_PACKAGE_MESA3D_OPENGL_EGL + help + Mesa driver for Vivante GPUs. + config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU bool "Gallium nouveau driver" depends on BR2_i386 || BR2_x86_64 @@ -81,10 +98,11 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4 bool "Gallium vc4 driver" - depends on BR2_arm + depends on BR2_ARM_CPU_HAS_NEON || BR2_aarch64 select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER select BR2_PACKAGE_LIBDRM_VC4 select BR2_PACKAGE_MESA3D_NEEDS_XA + select BR2_PACKAGE_MESA3D_OPENGL_EGL help Driver for Broadcom VC4 (rpi2/3) GPUs. It requires a vanilla 4.5+ kernel with drm vc4 (open) support. @@ -144,11 +162,6 @@ config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 # memfd.h depends on BR2_TOOLCHAIN_USES_GLIBC # ifunc, static_assert depends on BR2_PACKAGE_XORG7 # xproto_dri3proto - # We need a SHA1 implementation. If either openssl or - # libgcrypt are already part of the build, we'll use one of - # them, otherwise, use the small libsha1 library. - select BR2_PACKAGE_LIBSHA1 if (!BR2_PACKAGE_OPENSSL && !BR2_PACKAGE_LIBGCRYPT) - select BR2_PACKAGE_MESA3D_DRI_DRIVER_I965 select BR2_PACKAGE_MESA3D_VULKAN_DRIVER select BR2_PACKAGE_XPROTO_DRI3PROTO help @@ -185,6 +198,29 @@ config BR2_PACKAGE_MESA3D_OPENGL_ES Use the Khronos OpenGL ES APIs. This is commonly used on embedded systems and represents a subset of the OpenGL API. +config BR2_PACKAGE_MESA3D_OPENGL_TEXTURE_FLOAT + bool "OpenGL texture float (patented format)" + help + GL_ARB_texture_float is required to enable GLX core profile + (OpenGL3.x) otherwise the compat profile is used + (OpenGL2.1). + + The source code to implement ARB_texture_float extension is + included and can be toggled on at compile time, for those + who purchased a license from SGI, or are in a country where + the patent does not apply, etc. + + Please consult docs/patents.txt with your lawyer before + building Mesa. + + Also, note that this option doesn't affect all drivers. Some + drivers have support for texture float enabled + unconditionally. + + If unsure, say N. + + http://www.google.com/patents/about?id=mIIOAAAAEBAJ&dq=6650327 + endif # BR2_PACKAGE_MESA3D_DRIVER config BR2_PACKAGE_PROVIDES_LIBGL diff --git a/package/mesa3d/mesa3d.hash b/package/mesa3d/mesa3d.hash index b3c4b77726..476e1bcb29 100644 --- a/package/mesa3d/mesa3d.hash +++ b/package/mesa3d/mesa3d.hash @@ -1,2 +1,7 @@ -# From https://lists.freedesktop.org/archives/mesa-announce/2017-February/000294.html -sha256 a95d7ce8f7bd5f88585e4be3144a341236d8c0fc91f6feaec59bb8ba3120e726 mesa-13.0.4.tar.xz +# From https://lists.freedesktop.org/archives/mesa-announce/2017-October/000371.html +md5 cf0b7a297eedd0549cda5ba071d7561f mesa-17.2.4.tar.xz +sha1 2faad5bd48243a1b80f5522a26144a176f841a20 mesa-17.2.4.tar.xz +sha256 5ba408fecd6e1132e5490eec1a2f04466214e4c65c8b89b331be844768c2e550 mesa-17.2.4.tar.xz +sha512 665b63aab6af3f8f263f182d85d9ad71db7a23bcbaf67d62fe53c258cb0f600266ac82e72d681ec20cf7c66b47d4076aad5c3f553519f19110ee577da2707085 mesa-17.2.4.tar.xz +# License +sha256 630e75b4fdeb75ee2bf9e55db54dd1e3ff7353d52d9314ca8512bfd460f8e24c license.html diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk index 0c68dedfda..5627344f02 100644 --- a/package/mesa3d/mesa3d.mk +++ b/package/mesa3d/mesa3d.mk @@ -5,9 +5,9 @@ ################################################################################ # When updating the version, please also update mesa3d-headers -MESA3D_VERSION = 13.0.4 +MESA3D_VERSION = 17.2.4 MESA3D_SOURCE = mesa-$(MESA3D_VERSION).tar.xz -MESA3D_SITE = ftp://ftp.freedesktop.org/pub/mesa/$(MESA3D_VERSION) +MESA3D_SITE = https://mesa.freedesktop.org/archive MESA3D_LICENSE = MIT, SGI, Khronos MESA3D_LICENSE_FILES = docs/license.html MESA3D_AUTORECONF = YES @@ -20,7 +20,17 @@ MESA3D_DEPENDENCIES = \ host-bison \ host-flex \ expat \ - libdrm + libdrm \ + zlib + +# Disable assembly usage. +MESA3D_CONF_OPTS = --disable-asm + +# Disable static, otherwise configure will fail with: "Cannot enable both static +# and shared." +ifeq ($(BR2_SHARED_STATIC_LIBS),y) +MESA3D_CONF_OPTS += --disable-static +endif # The Sourcery MIPS toolchain has a special (non-upstream) feature to # have "compact exception handling", which unfortunately breaks with @@ -30,17 +40,6 @@ MESA3D_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -mno-compact-eh" MESA3D_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -mno-compact-eh" endif -ifeq ($(BR2_PACKAGE_OPENSSL),y) -MESA3D_DEPENDENCIES += openssl -MESA3D_CONF_OPTS += --with-sha1=libcrypto -else ifeq ($(BR2_PACKAGE_LIBGCRYPT),y) -MESA3D_DEPENDENCIES += libgcrypt -MESA3D_CONF_OPTS += --with-sha1=libgcrypt -else ifeq ($(BR2_PACKAGE_LIBSHA1),y) -MESA3D_DEPENDENCIES += libsha1 -MESA3D_CONF_OPTS += --with-sha1=libsha1 -endif - ifeq ($(BR2_PACKAGE_XORG7),y) MESA3D_DEPENDENCIES += \ xproto_xf86driproto \ @@ -67,6 +66,7 @@ endif # Drivers #Gallium Drivers +MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV) += etnaviv imx MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU) += nouveau MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600) += r600 MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SVGA) += svga @@ -84,18 +84,20 @@ MESA3D_VULKAN_DRIVERS-$(BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL) += intel ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER),) MESA3D_CONF_OPTS += \ - --without-gallium-drivers + --without-gallium-drivers \ + --disable-gallium-extra-hud else MESA3D_CONF_OPTS += \ --enable-shared-glapi \ - --with-gallium-drivers=$(subst $(space),$(comma),$(MESA3D_GALLIUM_DRIVERS-y)) + --with-gallium-drivers=$(subst $(space),$(comma),$(MESA3D_GALLIUM_DRIVERS-y)) \ + --enable-gallium-extra-hud endif ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),) MESA3D_CONF_OPTS += \ --without-dri-drivers --disable-dri3 else -ifeq ($(BR2_PACKAGE_XPROTO_DRI3PROTO),y) +ifeq ($(BR2_PACKAGE_XLIB_LIBXSHMFENCE)$(BR2_PACKAGE_XPROTO_DRI3PROTO),yy) MESA3D_DEPENDENCIES += xlib_libxshmfence xproto_dri3proto xproto_presentproto MESA3D_CONF_OPTS += --enable-dri3 else @@ -145,26 +147,31 @@ endef MESA3D_POST_INSTALL_STAGING_HOOKS += MESA3D_REMOVE_OPENGL_HEADERS endif -ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL),y) -MESA3D_PROVIDES += libegl ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),y) -MESA3D_EGL_PLATFORMS = drm +MESA3D_PLATFORMS = drm else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4),y) -MESA3D_EGL_PLATFORMS = drm +MESA3D_PLATFORMS = drm +else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV),y) +MESA3D_PLATFORMS = drm else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL),y) -MESA3D_EGL_PLATFORMS = drm +MESA3D_PLATFORMS = drm endif ifeq ($(BR2_PACKAGE_WAYLAND),y) -MESA3D_DEPENDENCIES += wayland -MESA3D_EGL_PLATFORMS += wayland +MESA3D_DEPENDENCIES += wayland wayland-protocols +MESA3D_PLATFORMS += wayland endif ifeq ($(BR2_PACKAGE_XORG7),y) -MESA3D_EGL_PLATFORMS += x11 +MESA3D_PLATFORMS += x11 endif + +MESA3D_CONF_OPTS += \ + --with-platforms=$(subst $(space),$(comma),$(MESA3D_PLATFORMS)) + +ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL),y) +MESA3D_PROVIDES += libegl MESA3D_CONF_OPTS += \ --enable-gbm \ - --enable-egl \ - --with-egl-platforms=$(subst $(space),$(comma),$(MESA3D_EGL_PLATFORMS)) + --enable-egl else MESA3D_CONF_OPTS += \ --disable-egl @@ -177,6 +184,41 @@ else MESA3D_CONF_OPTS += --disable-gles1 --disable-gles2 endif +ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_TEXTURE_FLOAT),y) +MESA3D_CONF_OPTS += --enable-texture-float +MESA3D_LICENSE_FILES += docs/patents.txt +else +MESA3D_CONF_OPTS += --disable-texture-float +endif + +ifeq ($(BR2_PACKAGE_XLIB_LIBXVMC),y) +MESA3D_DEPENDENCIES += xlib_libXvMC +MESA3D_CONF_OPTS += --enable-xvmc +else +MESA3D_CONF_OPTS += --disable-xvmc +endif + +ifeq ($(BR2_PACKAGE_LIBUNWIND),y) +MESA3D_CONF_OPTS += --enable-libunwind +MESA3D_DEPENDENCIES += libunwind +else +MESA3D_CONF_OPTS += --disable-libunwind +endif + +ifeq ($(BR2_PACKAGE_LIBVDPAU),y) +MESA3D_DEPENDENCIES += libvdpau +MESA3D_CONF_OPTS += --enable-vdpau +else +MESA3D_CONF_OPTS += --disable-vdpau +endif + +ifeq ($(BR2_PACKAGE_LM_SENSORS),y) +MESA3D_CONF_OPTS += --enable-lmsensors +MESA3D_DEPENDENCIES += lm-sensors +else +MESA3D_CONF_OPTS += --disable-lmsensors +endif + # Avoid automatic search of llvm-config MESA3D_CONF_OPTS += --with-llvm-prefix=$(STAGING_DIR)/usr/bin diff --git a/package/metacity/metacity.mk b/package/metacity/metacity.mk index d889779140..b93200ca5a 100644 --- a/package/metacity/metacity.mk +++ b/package/metacity/metacity.mk @@ -9,7 +9,7 @@ METACITY_VERSION_MAJOR = 2.25 METACITY_VERSION = $(METACITY_VERSION_MAJOR).1 METACITY_SOURCE = metacity-$(METACITY_VERSION).tar.bz2 METACITY_SITE = http://ftp.gnome.org/pub/gnome/sources/metacity/$(METACITY_VERSION_MAJOR) -METACITY_LICENSE = GPLv2+ +METACITY_LICENSE = GPL-2.0+ METACITY_LICENSE_FILES = COPYING METACITY_CONF_OPTS = \ diff --git a/package/mfgtools/mfgtools.mk b/package/mfgtools/mfgtools.mk index cc24352462..00a011af85 100644 --- a/package/mfgtools/mfgtools.mk +++ b/package/mfgtools/mfgtools.mk @@ -7,14 +7,14 @@ MFGTOOLS_VERSION = b219fc219a35c365010897ed093c40750f8cdac6 MFGTOOLS_SITE = $(call github,NXPmicro,mfgtools,$(MFGTOOLS_VERSION)) MFGTOOLS_SUBDIR = MfgToolLib -MFGTOOLS_LICENSE = BSD-3c or CPOL +MFGTOOLS_LICENSE = BSD-3-Clause or CPOL MFGTOOLS_LICENSE_FILES = LICENSE CPOL.htm HOST_MFGTOOLS_DEPENDENCIES = host-libusb HOST_MFGTOOLS_CFLAGS = \ $(HOST_CFLAGS) $(HOST_LDFLAGS) -std=c++11 -lpthread \ -L$(@D)/MfgToolLib -lMfgToolLib -I$(@D)/MfgToolLib \ - -lusb-1.0 -I$(HOST_DIR)/usr/include/libusb-1.0 \ + -lusb-1.0 -I$(HOST_DIR)/include/libusb-1.0 \ -fpermissive -Wno-write-strings define HOST_MFGTOOLS_CLI_BUILD @@ -26,9 +26,9 @@ HOST_MFGTOOLS_POST_BUILD_HOOKS += HOST_MFGTOOLS_CLI_BUILD define HOST_MFGTOOLS_INSTALL_CMDS $(INSTALL) -D -m 755 $(@D)/MfgToolLib/libMfgToolLib.so \ - $(HOST_DIR)/usr/lib/libMfgToolLib.so + $(HOST_DIR)/lib/libMfgToolLib.so $(INSTALL) -D -m 755 $(@D)/TestPrgm/mfgtoolcli \ - $(HOST_DIR)/usr/bin/mfgtoolcli + $(HOST_DIR)/bin/mfgtoolcli endef $(eval $(host-cmake-package)) diff --git a/package/mfgtools/readme.txt b/package/mfgtools/readme.txt index d54781f1f9..320e6ec493 100644 --- a/package/mfgtools/readme.txt +++ b/package/mfgtools/readme.txt @@ -42,7 +42,7 @@ Depending on your ucl2.xml file, the sample doesn't flash anything. 6. Run the MfgTools client: -$ ./host/usr/bin/mfgtoolcli -l mmc -s uboot_defconfig=imx \ +$ ./host/bin/mfgtoolcli -l mmc -s uboot_defconfig=imx \ -s dtbname=imx6q-sabrelite.dtb -s initramfs=rootfs.cpio.uboot \ -s mmc=1 -p 1 diff --git a/package/micropython-lib/Config.in b/package/micropython-lib/Config.in index 599af7797b..76557b220b 100644 --- a/package/micropython-lib/Config.in +++ b/package/micropython-lib/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_MICROPYTHON_LIB bool "micropython-lib" - select BR2_PACKAGE_PCRE # runtime depends on BR2_PACKAGE_MICROPYTHON + select BR2_PACKAGE_PCRE # runtime help Core Python libraries ported to MicroPython. diff --git a/package/micropython-lib/micropython-lib.mk b/package/micropython-lib/micropython-lib.mk index 066572e5cf..c9423feac6 100644 --- a/package/micropython-lib/micropython-lib.mk +++ b/package/micropython-lib/micropython-lib.mk @@ -6,7 +6,7 @@ MICROPYTHON_LIB_VERSION = v1.8.6 MICROPYTHON_LIB_SITE = $(call github,micropython,micropython-lib,$(MICROPYTHON_LIB_VERSION)) -MICROPYTHON_LIB_LICENSE = Python software foundation license v2 (some modules), MIT (everything else) +MICROPYTHON_LIB_LICENSE = Python-2.0 (some modules), MIT (everything else) MICROPYTHON_LIB_LICENSE_FILES = LICENSE define MICROPYTHON_LIB_INSTALL_TARGET_CMDS diff --git a/package/micropython/Config.in b/package/micropython/Config.in index ed65d6ab30..ac06d7ffc1 100644 --- a/package/micropython/Config.in +++ b/package/micropython/Config.in @@ -1,10 +1,10 @@ config BR2_PACKAGE_MICROPYTHON bool "micropython" - select BR2_PACKAGE_LIBFFI depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS # libffi doesn't provide the closure implementation on Blackfin depends on !BR2_bfin + select BR2_PACKAGE_LIBFFI help Micro Python is a lean and fast implementation of the Python 3 programming language that is optimised to run on a microcontroller. diff --git a/package/midori/Config.in b/package/midori/Config.in index 0d7672c134..bc37c6a95b 100644 --- a/package/midori/Config.in +++ b/package/midori/Config.in @@ -1,10 +1,18 @@ -comment "midori needs libgtk3 and a glibc toolchain w/ C++, gcc >= 4.9" +comment "midori needs libgtk3 and a glibc toolchain w/ C++, gcc >= 5, host gcc >= 4.8" depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_PACKAGE_LIBGTK3 \ - || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_TOOLCHAIN_USES_GLIBC + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_PACKAGE_LIBGTK3 || \ + !BR2_HOST_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_GCC_AT_LEAST_5 || \ + !BR2_TOOLCHAIN_USES_GLIBC config BR2_PACKAGE_MIDORI bool "midori" + depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt, gcr, gnupg2 + depends on BR2_PACKAGE_LIBGTK3 + depends on BR2_INSTALL_LIBSTDCPP # webkitgtk + depends on BR2_HOST_GCC_AT_LEAST_4_8 # webkitgtk -> icu + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # webkitgtk + depends on BR2_TOOLCHAIN_USES_GLIBC # webkitgtk + depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS # GCR can only be used with the X11 backend select BR2_PACKAGE_GCR if BR2_PACKAGE_LIBGTK3_X11 select BR2_PACKAGE_GRANITE @@ -13,14 +21,7 @@ config BR2_PACKAGE_MIDORI select BR2_PACKAGE_LIBXML2 select BR2_PACKAGE_SQLITE select BR2_PACKAGE_WEBKITGTK - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE - depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt, gcr, gnupg2 - depends on BR2_PACKAGE_LIBGTK3 - depends on BR2_INSTALL_LIBSTDCPP # webkitgtk - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # webkitgtk - depends on BR2_TOOLCHAIN_USES_GLIBC # webkitgtk - depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS help Midori is a lightweight web browser based on WebKit diff --git a/package/midori/midori.mk b/package/midori/midori.mk index 5aa83c6fcf..1755f1241a 100644 --- a/package/midori/midori.mk +++ b/package/midori/midori.mk @@ -7,7 +7,7 @@ MIDORI_VERSION = 0.5.11 MIDORI_SOURCE = midori_$(MIDORI_VERSION)_all_.tar.bz2 MIDORI_SITE = http://midori-browser.org/downloads -MIDORI_LICENSE = LGPLv2.1+ +MIDORI_LICENSE = LGPL-2.1+ MIDORI_LICENSE_FILES = COPYING MIDORI_DEPENDENCIES = \ host-intltool \ @@ -22,7 +22,7 @@ MIDORI_DEPENDENCIES = \ libxml2 \ sqlite \ webkitgtk \ - $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) \ + $(TARGET_NLS_DEPENDENCIES) \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) MIDORI_CONF_OPTS = \ diff --git a/package/minetest-game/0001-Default-Revert-Default-Shorter-and-better-ABMs.patch b/package/minetest-game/0001-Default-Revert-Default-Shorter-and-better-ABMs.patch new file mode 100644 index 0000000000..e484e50a01 --- /dev/null +++ b/package/minetest-game/0001-Default-Revert-Default-Shorter-and-better-ABMs.patch @@ -0,0 +1,54 @@ +From 626cd8e9c7c2a5d5c907a12abbaa6066b6d5f2ff Mon Sep 17 00:00:00 2001 +From: "vorunbekannt75@web.de" +Date: Tue, 6 Jun 2017 19:20:58 +0200 +Subject: [PATCH] Default: Revert "Default: Shorter and better ABMs" + +This reverts commit e523c3a2965afe76b9102b67992e15fafba1594a to re-enable +the overriding and redefinition of these global functions. + +[Romain backport from upstream] +Signed-off-by: Romain Naour +--- + mods/default/functions.lua | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +diff --git a/mods/default/functions.lua b/mods/default/functions.lua +index 5dc22ca..327e0c8 100644 +--- a/mods/default/functions.lua ++++ b/mods/default/functions.lua +@@ -139,7 +139,9 @@ if minetest.settings:get_bool("enable_lavacooling") ~= false then + interval = 1, + chance = 2, + catch_up = false, +- action = default.cool_lava, ++ action = function(...) ++ default.cool_lava(...) ++ end, + }) + end + +@@ -222,7 +224,9 @@ minetest.register_abm({ + neighbors = {"group:sand"}, + interval = 12, + chance = 83, +- action = default.grow_cactus ++ action = function(...) ++ default.grow_cactus(...) ++ end + }) + + minetest.register_abm({ +@@ -231,7 +235,9 @@ minetest.register_abm({ + neighbors = {"default:dirt", "default:dirt_with_grass"}, + interval = 14, + chance = 71, +- action = default.grow_papyrus ++ action = function(...) ++ default.grow_papyrus(...) ++ end + }) + + +-- +2.9.4 + diff --git a/package/minetest-game/Config.in b/package/minetest-game/Config.in new file mode 100644 index 0000000000..cf92ea5241 --- /dev/null +++ b/package/minetest-game/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_MINETEST_GAME + bool "minetest-game" + depends on BR2_PACKAGE_MINETEST + help + The main subgame for the Minetest engine. + + https://github.com/minetest/minetest_game diff --git a/package/minetest-game/minetest-game.hash b/package/minetest-game/minetest-game.hash new file mode 100644 index 0000000000..1a2fe78a96 --- /dev/null +++ b/package/minetest-game/minetest-game.hash @@ -0,0 +1,25 @@ +# Locally calculated +sha256 ea914555949b4faccda5e13143cb021d2f9a5fa19abd1f5e4b7b65004cbd2b5a minetest-game-0.4.16.tar.gz + +sha256 f8a254e8d5f6b3ca3873f990986e86c864f943aa5dc9bf56808c5f4bfa509db0 LICENSE.txt +sha256 3382f3bf99566089543621ee3256f7f98bf9364d3b852c5ed08202d435215d7d mods/beds/license.txt +sha256 9e9dbe5236ba70d0337f9879b988c19c6a7b0c902eed202f775200b8bee6980d mods/boats/license.txt +sha256 e642798b595fb41901ae695326da9a167b0bd6b4055edec2396672f5f01bb16c mods/bones/license.txt +sha256 baf438bc48b7da1b8fc03d37d134473e1c1f33ffe2e926fa650e6d0c64872785 mods/bucket/license.txt +sha256 6196d390ee0b6331766219aa82f31613fffb62476c03cf960190ab8c232b8822 mods/carts/license.txt +sha256 c0eca35bf446b1b9c8a0d1eefa0613bf2996187cd1f9382e7424b3d0b0dd7851 mods/creative/license.txt +sha256 0542a1ff8212197bf350b6135fb4d29f8a2341d9ddc1407ec812d7fb609a5c0f mods/default/license.txt +sha256 c0c652890fc80af8eefedbcfe1cd0d16b13b14cd1c7105c9c2bc9abe8cf1620c mods/doors/license.txt +sha256 011ebc82e96df3b825777e7531cb5d34cfce1f6ca27b7d3c80793c033d7c4f4e mods/dye/license.txt +sha256 163ad77a427a21a900a8fe2333dfc82d115e8e799b7e13ca71f6bd47dcf0ec13 mods/farming/license.txt +sha256 61f826be9adee70ef0e37f3bf4891fecc4b027a21637b32981b98220723d6f37 mods/fire/license.txt +sha256 a8647ac7609fdaea96bd0ec58ac5837fd17d049fd450008fd7922162979a292e mods/flowers/license.txt +sha256 857f64cd62c13e27f25363584342fe049885b16c6b2392f1ebd7c3a7fb6ca436 mods/give_initial_stuff/license.txt +sha256 0066e63d682d54a014ad3359794365a1abb87562d2b1e5e32093976d88c295b4 mods/screwdriver/license.txt +sha256 b903866d052774e4127952690ce62ca26aa5bc4c2ddd48fceae501fa0d24ed74 mods/sethome/license.txt +sha256 a82dfda1c9feb704997ea42116eb6a15a1f3f99ee8c49215fbbd32d519e8ad74 mods/stairs/license.txt +sha256 1d42ffae6bad0da2e76966532f5f759bbeb5adb395ee4bf7bacca1fdfef745a6 mods/tnt/license.txt +sha256 a0814bccd28157a160049efeac03864ff4c4dd6a34bc9cfcd3cc62de66fb156a mods/vessels/license.txt +sha256 e9ebf1b4b170e64a0ea6e246edd03689aeb859d6560b8372a8081c004b30cb65 mods/walls/license.txt +sha256 551b19e2c8b18c143301e090a1ceb5dc5d4ca243cad846de179d693439910816 mods/wool/license.txt +sha256 54fd170807a31712e3d6489287a27cdf5aa42eaff10e321aea040fb5b3e5a60a mods/xpanes/license.txt diff --git a/package/minetest-game/minetest-game.mk b/package/minetest-game/minetest-game.mk new file mode 100644 index 0000000000..2386944a02 --- /dev/null +++ b/package/minetest-game/minetest-game.mk @@ -0,0 +1,39 @@ +################################################################################ +# +# minetest_game +# +################################################################################ + +MINETEST_GAME_VERSION = 0.4.16 +MINETEST_GAME_SITE = $(call github,minetest,minetest_game,$(MINETEST_GAME_VERSION)) +MINETEST_GAME_LICENSE = LGPL-2.1+ (code), CC-BY-SA-2.0, CC-BY-SA-3.0, \ + CC-BY-SA-4.0, MIT, CC0 1.0, CC-BY-2.0 (mods) +MINETEST_GAME_LICENSE_FILES = LICENSE.txt \ + mods/beds/license.txt \ + mods/boats/license.txt \ + mods/bones/license.txt \ + mods/bucket/license.txt \ + mods/carts/license.txt \ + mods/creative/license.txt \ + mods/default/license.txt \ + mods/doors/license.txt \ + mods/dye/license.txt \ + mods/farming/license.txt \ + mods/fire/license.txt \ + mods/flowers/license.txt \ + mods/give_initial_stuff/license.txt \ + mods/screwdriver/license.txt \ + mods/sethome/license.txt \ + mods/stairs/license.txt \ + mods/tnt/license.txt \ + mods/vessels/license.txt \ + mods/walls/license.txt \ + mods/wool/license.txt \ + mods/xpanes/license.txt + +define MINETEST_GAME_INSTALL_TARGET_CMDS + mkdir -p $(TARGET_DIR)/usr/share/minetest/games/minetest_game + cp -dpfr $(@D)/* $(TARGET_DIR)/usr/share/minetest/games/minetest_game +endef + +$(eval $(generic-package)) diff --git a/package/minetest/Config.in b/package/minetest/Config.in new file mode 100644 index 0000000000..4e8b1d0eef --- /dev/null +++ b/package/minetest/Config.in @@ -0,0 +1,66 @@ +config BR2_PACKAGE_MINETEST + bool "minetest" + depends on BR2_INSTALL_LIBSTDCPP # irrlicht + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # jsoncpp + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_PACKAGE_XORG7 # irrlicht + depends on BR2_PACKAGE_HAS_LIBGL # irrlicht + depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS + select BR2_PACKAGE_IRRLICHT + select BR2_PACKAGE_GMP + select BR2_PACKAGE_JSONCPP + select BR2_PACKAGE_LUAJIT + select BR2_PACKAGE_SQLITE + select BR2_PACKAGE_ZLIB + # At least one option must be enabled + select BR2_PACKAGE_MINETEST_CLIENT if !BR2_PACKAGE_MINETEST_SERVER + help + Minetest is a near-infinite-world block sandbox game and a + game engine, inspired by InfiniMiner, Minecraft, and the + like. + + http://www.minetest.net + +if BR2_PACKAGE_MINETEST + +config BR2_PACKAGE_MINETEST_CLIENT + bool "minetest client" + select BR2_PACKAGE_BZIP2 + select BR2_PACKAGE_LIBPNG + select BR2_PACKAGE_JPEG + select BR2_PACKAGE_XLIB_LIBXXF86VM + help + Build Minetest client. + +config BR2_PACKAGE_MINETEST_SERVER + bool "minetest server" + help + Build Minetest server. + +config BR2_PACKAGE_MINETEST_SOUND + bool "enable sound" + depends on BR2_PACKAGE_MINETEST_CLIENT + depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # openal + select BR2_PACKAGE_LIBVORBIS + select BR2_PACKAGE_OPENAL + +comment "sound support needs a toolchain w/ threads NPTL" + depends on BR2_PACKAGE_MINETEST_CLIENT + depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL + +endif + +comment "minetest needs a toolchain w/ C++, gcc >= 4.7, threads" + depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS + depends on !BR2_INSTALL_LIBSTDCPP \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 \ + || !BR2_TOOLCHAIN_HAS_THREADS + +comment "minetest needs X11 and an OpenGL provider" + depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS + depends on (BR2_INSTALL_LIBSTDCPP \ + && BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 \ + && BR2_TOOLCHAIN_HAS_THREADS) + depends on !BR2_PACKAGE_HAS_LIBGL || !BR2_PACKAGE_XORG7 diff --git a/package/minetest/minetest.hash b/package/minetest/minetest.hash new file mode 100644 index 0000000000..5e6aeffa43 --- /dev/null +++ b/package/minetest/minetest.hash @@ -0,0 +1,4 @@ +# Locally calculated +sha256 0ef3793de9f569746ea78af7a66fe96ef65400019e5e64a04a5c3fa26a707655 minetest-0.4.16.tar.gz + +sha256 e48121374512b8f2fada00ac1c8e100a767e2a2edd2853557ccf1995e35a4be0 README.txt diff --git a/package/minetest/minetest.mk b/package/minetest/minetest.mk new file mode 100644 index 0000000000..a813a0db4e --- /dev/null +++ b/package/minetest/minetest.mk @@ -0,0 +1,92 @@ +################################################################################ +# +# minetest +# +################################################################################ + +MINETEST_VERSION = 0.4.16 +MINETEST_SITE = $(call github,minetest,minetest,$(MINETEST_VERSION)) +MINETEST_LICENSE = LGPL-2.1+ (code), CC-BY-SA-3.0 (textures and sounds) +MINETEST_LICENSE_FILES = README.txt + +MINETEST_DEPENDENCIES = gmp irrlicht jsoncpp luajit sqlite zlib + +MINETEST_CONF_OPTS = \ + -DDEFAULT_RUN_IN_PLACE=OFF \ + -DENABLE_GLES=OFF \ + -DENABLE_LUAJIT=ON \ + -DENABLE_CURSES=OFF \ + -DAPPLY_LOCALE_BLACKLIST=OFF \ + -DENABLE_SYSTEM_GMP=ON \ + -DENABLE_SYSTEM_JSONCPP=ON + +ifeq ($(BR2_PACKAGE_MINETEST_CLIENT),y) +MINETEST_DEPENDENCIES += bzip2 jpeg libgl libpng xlib_libXxf86vm +MINETEST_CONF_OPTS += -DBUILD_CLIENT=ON +else +MINETEST_CONF_OPTS += -DBUILD_CLIENT=OFF +endif + +ifeq ($(BR2_PACKAGE_MINETEST_SERVER),y) +MINETEST_CONF_OPTS += -DBUILD_SERVER=ON +else +MINETEST_CONF_OPTS += -DBUILD_SERVER=OFF +endif + +ifeq ($(BR2_PACKAGE_MINETEST_SOUND),y) +MINETEST_DEPENDENCIES += libvorbis openal +MINETEST_CONF_OPTS += -DENABLE_SOUND=ON +else +MINETEST_CONF_OPTS += -DENABLE_SOUND=OFF +endif + +ifeq ($(BR2_PACKAGE_FREETYPE),y) +MINETEST_DEPENDENCIES += freetype +MINETEST_CONF_OPTS += -DENABLE_FREETYPE=ON +else +MINETEST_CONF_OPTS += -DENABLE_FREETYPE=OFF +endif + +ifeq ($(BR2_PACKAGE_HIREDIS),y) +MINETEST_DEPENDENCIES += hiredis +MINETEST_CONF_OPTS += -DENABLE_REDIS=ON +else +MINETEST_CONF_OPTS += -DENABLE_REDIS=OFF +endif + +ifeq ($(BR2_PACKAGE_LEVELDB),y) +MINETEST_DEPENDENCIES += leveldb +MINETEST_CONF_OPTS += -DENABLE_LEVELDB=ON +else +MINETEST_CONF_OPTS += -DENABLE_LEVELDB=OFF +endif + +ifeq ($(BR2_PACKAGE_LIBCURL),y) +MINETEST_DEPENDENCIES += libcurl +MINETEST_CONF_OPTS += -DENABLE_CURL=ON +else +MINETEST_CONF_OPTS += -DENABLE_CURL=OFF +endif + +ifeq ($(BR2_PACKAGE_LIBSPATIALINDEX),y) +MINETEST_DEPENDENCIES += libspatialindex +MINETEST_CONF_OPTS += -DENABLE_SPATIAL=ON +else +MINETEST_CONF_OPTS += -DENABLE_SPATIAL=OFF +endif + +ifeq ($(BR2_PACKAGE_POSTGRESQL),y) +MINETEST_DEPENDENCIES += postgresql +MINETEST_CONF_OPTS += -DENABLE_POSTGRESQL=ON +else +MINETEST_CONF_OPTS += -DENABLE_POSTGRESQL=OFF +endif + +ifeq ($(BR2_SYSTEM_ENABLE_NLS),y) +MINETEST_DEPENDENCIES += $(TARGET_NLS_DEPENDENCIES) +MINETEST_CONF_OPTS += -DENABLE_GETTEXT=ON +else +MINETEST_CONF_OPTS += -DENABLE_GETTEXT=OFF +endif + +$(eval $(cmake-package)) diff --git a/package/minicom/minicom.hash b/package/minicom/minicom.hash index 33ba4ef10c..ca3087160b 100644 --- a/package/minicom/minicom.hash +++ b/package/minicom/minicom.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 9ac3a663b82f4f5df64114b4792b9926b536c85f59de0f2d2b321c7626a904f4 minicom-2.7.tar.gz +sha256 532f836b7a677eb0cb1dca8d70302b73729c3d30df26d58368d712e5cca041f1 minicom-2.7.1.tar.gz diff --git a/package/minicom/minicom.mk b/package/minicom/minicom.mk index 94a4628659..cb06482379 100644 --- a/package/minicom/minicom.mk +++ b/package/minicom/minicom.mk @@ -4,9 +4,9 @@ # ################################################################################ -MINICOM_VERSION = 2.7 -MINICOM_SITE = https://alioth.debian.org/frs/download.php/file/3977 -MINICOM_LICENSE = GPLv2+ +MINICOM_VERSION = 2.7.1 +MINICOM_SITE = https://alioth.debian.org/frs/download.php/file/4215 +MINICOM_LICENSE = GPL-2.0+ MINICOM_LICENSE_FILES = COPYING # pkg-config is only used to check for liblockdev, which we don't have diff --git a/package/minidlna/Config.in b/package/minidlna/Config.in index c900143f75..a8311afe22 100644 --- a/package/minidlna/Config.in +++ b/package/minidlna/Config.in @@ -13,7 +13,6 @@ config BR2_PACKAGE_MINIDLNA select BR2_PACKAGE_LIBEXIF select BR2_PACKAGE_JPEG select BR2_PACKAGE_SQLITE - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE help MiniDLNA (aka ReadyDLNA) is server software with the aim of being fully compliant with DLNA/UPnP-AV clients. diff --git a/package/minidlna/minidlna.hash b/package/minidlna/minidlna.hash index d1ed4b9184..5398506c22 100644 --- a/package/minidlna/minidlna.hash +++ b/package/minidlna/minidlna.hash @@ -1,3 +1,5 @@ -# From http://sourceforge.net/projects/minidlna/files/minidlna/1.1.5/ -md5 1970e553a1eb8a3e7e302e2ce292cbc4 minidlna-1.1.5.tar.gz -sha1 8185337621f5f9111118d8a4bca1e8cfcdd19505 minidlna-1.1.5.tar.gz +# From https://sourceforge.net/projects/minidlna/files/minidlna/1.2.1/ +md5 a968d3d84971322471cabda3669cc0f8 minidlna-1.2.1.tar.gz +sha1 79d0032c7055aefd4c8e5178bc86fbf258d449d2 minidlna-1.2.1.tar.gz +# Locally computed +sha256 67388ba23ab0c7033557a32084804f796aa2a796db7bb2b770fb76ac2a742eec minidlna-1.2.1.tar.gz diff --git a/package/minidlna/minidlna.mk b/package/minidlna/minidlna.mk index 0e765e80f7..262480cbff 100644 --- a/package/minidlna/minidlna.mk +++ b/package/minidlna/minidlna.mk @@ -4,13 +4,13 @@ # ################################################################################ -MINIDLNA_VERSION = 1.1.5 -MINIDLNA_SITE = http://downloads.sourceforge.net/project/minidlna/minidlna/$(MINIDLNA_VERSION) -MINIDLNA_LICENSE = GPLv2, BSD-3c +MINIDLNA_VERSION = 1.2.1 +MINIDLNA_SITE = https://downloads.sourceforge.net/project/minidlna/minidlna/$(MINIDLNA_VERSION) +MINIDLNA_LICENSE = GPL-2.0, BSD-3-Clause MINIDLNA_LICENSE_FILES = COPYING LICENCE.miniupnpd MINIDLNA_DEPENDENCIES = \ - $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) host-gettext \ + $(TARGET_NLS_DEPENDENCIES) \ ffmpeg flac libvorbis libogg libid3tag libexif jpeg sqlite \ host-xutil_makedepend @@ -29,7 +29,7 @@ define MINIDLNA_INSTALL_INIT_SYSV endef define MINIDLNA_INSTALL_INIT_SYSTEMD - $(INSTALL) -D -m 0755 package/minidlna/minidlnad.service \ + $(INSTALL) -D -m 0644 package/minidlna/minidlnad.service \ $(TARGET_DIR)/usr/lib/systemd/system/minidlnad.service mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants diff --git a/package/minissdpd/minissdpd.mk b/package/minissdpd/minissdpd.mk index 5c8bd371cb..f3f383b17f 100644 --- a/package/minissdpd/minissdpd.mk +++ b/package/minissdpd/minissdpd.mk @@ -6,7 +6,7 @@ MINISSDPD_VERSION = 1.5 MINISSDPD_SITE = http://miniupnp.free.fr/files -MINISSDPD_LICENSE = BSD-3c +MINISSDPD_LICENSE = BSD-3-Clause MINISSDPD_LICENSE_FILES = LICENSE MINISSDPD_DEPENDENCIES = libnfnetlink diff --git a/package/minizip/minizip.hash b/package/minizip/minizip.hash index 994ed60a5b..718026c1f6 100644 --- a/package/minizip/minizip.hash +++ b/package/minizip/minizip.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 ac361f40531d9fb7222d4befd10d160c647d5e85138f6bc9eda080ed8f937fb8 minizip-5f56dd81d94bd7028f7dc05d7d14112697c30241.tar.gz +sha256 5666b5ee3e85dfd2dd119970613c12e6267d31813f07d3ffa5d359fe272cb6d1 minizip-1.1.tar.gz diff --git a/package/minizip/minizip.mk b/package/minizip/minizip.mk index 3d61288681..bcd6cc928f 100644 --- a/package/minizip/minizip.mk +++ b/package/minizip/minizip.mk @@ -4,13 +4,13 @@ # ################################################################################ -MINIZIP_VERSION = 5f56dd81d94bd7028f7dc05d7d14112697c30241 +MINIZIP_VERSION = 1.1 MINIZIP_SITE = $(call github,nmoinvaz,minizip,$(MINIZIP_VERSION)) MINIZIP_DEPENDENCIES = zlib MINIZIP_AUTORECONF = YES MINIZIP_INSTALL_STAGING = YES MINIZIP_CONF_OPTS = $(if $(BR2_PACKAGE_MINIZIP_DEMOS),--enable-demos) -MINIZIP_LICENSE = zlib license +MINIZIP_LICENSE = Zlib MINIZIP_LICENSE_FILES = LICENSE $(eval $(autotools-package)) diff --git a/package/miraclecast/Config.in b/package/miraclecast/Config.in index 4c6a8aaa07..57bd57a97b 100644 --- a/package/miraclecast/Config.in +++ b/package/miraclecast/Config.in @@ -8,7 +8,6 @@ config BR2_PACKAGE_MIRACLECAST select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_GSTREAMER1 select BR2_PACKAGE_READLINE - select BR2_PACKAGE_SYSTEMD_KDBUS help The MiracleCast project provides software to connect external monitors to your system via Wifi. It is compatible to the diff --git a/package/miraclecast/miraclecast.mk b/package/miraclecast/miraclecast.mk index 17e73f1e3e..f75191b218 100644 --- a/package/miraclecast/miraclecast.mk +++ b/package/miraclecast/miraclecast.mk @@ -6,7 +6,7 @@ MIRACLECAST_VERSION = c94be167c85c6ec8badd7ac79e3dea2e0b73225c MIRACLECAST_SITE = $(call github,albfan,miraclecast,$(MIRACLECAST_VERSION)) -MIRACLECAST_LICENSE = LGPLv2.1+, GPLv2 (gdhcp) +MIRACLECAST_LICENSE = LGPL-2.1+, GPL-2.0 (gdhcp) MIRACLECAST_LICENSE_FILES = COPYING LICENSE_gdhcp LICENSE_htable LICENSE_lgpl MIRACLECAST_DEPENDENCIES = host-pkgconf systemd gstreamer1 \ readline libglib2 diff --git a/package/mjpegtools/Config.in b/package/mjpegtools/Config.in index 6a36109da2..c486361a87 100644 --- a/package/mjpegtools/Config.in +++ b/package/mjpegtools/Config.in @@ -1,9 +1,9 @@ config BR2_PACKAGE_MJPEGTOOLS bool "mjpegtools" - select BR2_PACKAGE_JPEG depends on BR2_USE_MMU # fork depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_JPEG help The mjpegtools programs are a set of tools that can do recording of videos and playback, diff --git a/package/mjpegtools/mjpegtools.mk b/package/mjpegtools/mjpegtools.mk index 76ae968d99..c7392fa2b3 100644 --- a/package/mjpegtools/mjpegtools.mk +++ b/package/mjpegtools/mjpegtools.mk @@ -7,7 +7,7 @@ MJPEGTOOLS_VERSION = 2.1.0 MJPEGTOOLS_SITE = http://sourceforge.net/projects/mjpeg/files/mjpegtools/$(MJPEGTOOLS_VERSION) MJPEGTOOLS_DEPENDENCIES = host-pkgconf jpeg -MJPEGTOOLS_LICENSE = GPLv2+ +MJPEGTOOLS_LICENSE = GPL-2.0+ MJPEGTOOLS_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_LIBPNG),y) diff --git a/package/mjpg-streamer/mjpg-streamer.mk b/package/mjpg-streamer/mjpg-streamer.mk index a710af6fc7..4fecf69ec9 100644 --- a/package/mjpg-streamer/mjpg-streamer.mk +++ b/package/mjpg-streamer/mjpg-streamer.mk @@ -10,7 +10,7 @@ # http://sourceforge.net/p/mjpg-streamer/patches/14/ MJPG_STREAMER_VERSION = bbf32fddfd02a9e072e89e83a5b33e6ca0a7bd4b MJPG_STREAMER_SITE = $(call github,oliv3r,mjpg-streamer,$(MJPG_STREAMER_VERSION)) -MJPG_STREAMER_LICENSE = GPLv2+ +MJPG_STREAMER_LICENSE = GPL-2.0+ MJPG_STREAMER_LICENSE_FILES = LICENSE MJPG_STREAMER_DEPENDENCIES = jpeg diff --git a/package/mke2img/Config.in.host b/package/mke2img/Config.in.host deleted file mode 100644 index b5bcb8455f..0000000000 --- a/package/mke2img/Config.in.host +++ /dev/null @@ -1,11 +0,0 @@ -config BR2_PACKAGE_HOST_MKE2IMG - bool "host mke2img" - select BR2_PACKAGE_HOST_E2FSPROGS - select BR2_PACKAGE_HOST_GENEXT2FS - help - Easily create filesystems of the extend familly: ext2/3/4. - - This tool is bundled by, and specific to Buildroot. However, it can - be used from post-images scripts is needed. - - https://code.google.com/p/mke2img/ diff --git a/package/mke2img/mke2img b/package/mke2img/mke2img deleted file mode 100755 index c2e0d02b73..0000000000 --- a/package/mke2img/mke2img +++ /dev/null @@ -1,214 +0,0 @@ -#!/usr/bin/env bash - -# Buildroot wrapper to the collection of ext2/3/4 filesystem tools: -# - genext2fs, to generate ext2 filesystem images -# - tune2fs, to modify an ext2/3/4 filesystem (possibly in an image file) -# - e2fsck, to check and fix an ext2/3/4 filesystem (possibly in an image file) - -set -e - -main() { - local OPT OPTARG - local nb_blocks nb_inodes nb_res_blocks root_dir image gen rev label uuid - local -a genext2fs_opts - local -a tune2fs_opts - local tune2fs_O_opts - - # Default values - gen=2 - rev=1 - nb_extra_blocks=0 - nb_extra_inodes=0 - - while getopts :hb:B:i:I:r:d:o:G:R:l:u: OPT; do - case "${OPT}" in - h) help; exit 0;; - b) nb_blocks=${OPTARG};; - B) nb_extra_blocks=${OPTARG};; - i) nb_inodes=${OPTARG};; - I) nb_extra_inodes=${OPTARG};; - r) nb_res_blocks=${OPTARG};; - d) root_dir="${OPTARG}";; - o) image="${OPTARG}";; - G) gen=${OPTARG};; - R) rev=${OPTARG};; - l) label="${OPTARG}";; - u) uuid="${OPTARG}";; - :) error "option '%s' expects a mandatory argument\n" "${OPTARG}";; - \?) error "unknown option '%s'\n" "${OPTARG}";; - esac - done - - # Sanity checks - if [ -z "${root_dir}" ]; then - error "you must specify a root directory with '-d'\n" - fi - if [ -z "${image}" ]; then - error "you must specify an output image file with '-o'\n" - fi - case "${gen}:${rev}" in - 2:0|2:1|3:1|4:1) - ;; - 3:0|4:0) - error "revision 0 is invalid for ext3 and ext4\n" - ;; - *) error "unknown ext generation '%s' and/or revision '%s'\n" \ - "${gen}" "${rev}" - ;; - esac - - # calculate needed inodes - if [ -z "${nb_inodes}" ]; then - nb_inodes=$(find "${root_dir}" | wc -l) - nb_inodes=$((nb_inodes+400)) - fi - nb_inodes=$((nb_inodes+nb_extra_inodes)) - - # calculate needed blocks - if [ -z "${nb_blocks}" ]; then - # size ~= superblock, block+inode bitmaps, inodes (8 per block), - # blocks; we scale inodes / blocks with 10% to compensate for - # bitmaps size + slack - nb_blocks=$(du -s -k "${root_dir}" |sed -r -e 's/[[:space:]]+.*$//') - nb_blocks=$((500+(nb_blocks+nb_inodes/8)*11/10)) - if [ ${gen} -ge 3 ]; then - # we add 1300 blocks (a bit more than 1 MiB, assuming 1KiB blocks) - # for the journal - # Note: I came to 1300 blocks after trial-and-error checks. YMMV. - nb_blocks=$((nb_blocks+1300)) - fi - fi - nb_blocks=$((nb_blocks+nb_extra_blocks)) - - # Upgrade to rev1 if needed - if [ ${rev} -ge 1 ]; then - tune2fs_O_opts+=",filetype,sparse_super" - fi - - # Add a journal for ext3 and above - if [ ${gen} -ge 3 ]; then - tune2fs_opts+=( -j -J size=1 ) - fi - - # Add ext4 specific features - if [ ${gen} -ge 4 ]; then - tune2fs_O_opts+=",extents,uninit_bg,dir_index" - fi - - # Add our -O options (there will be at most one leading comma, remove it) - if [ -n "${tune2fs_O_opts}" ]; then - tune2fs_opts+=( -O "${tune2fs_O_opts#,}" ) - fi - - # Add the label if specified - if [ -n "${label}" ]; then - tune2fs_opts+=( -L "${label}" ) - fi - - # Generate the filesystem - genext2fs_opts=( -z -b ${nb_blocks} -N ${nb_inodes} -d "${root_dir}" ) - if [ -n "${nb_res_blocks}" ]; then - genext2fs_opts+=( -m ${nb_res_blocks} ) - fi - genext2fs "${genext2fs_opts[@]}" "${image}" - - # genext2fs does not generate a UUID, but fsck will whine if one - # is missing, so we need to add a UUID. - # Of course, this has to happen _before_ we run fsck. - # Also, some ext4 metadata are based on the UUID, so we must - # set it before we can convert the filesystem to ext4. - # If the user did not specify a UUID, we generate a random one. - # Although a random UUID may seem bad for reproducibility, there - # already are so many things that are not reproducible in a - # filesystem: file dates, file ordering, content of the files... - tune2fs -U "${uuid:-random}" "${image}" - - # Upgrade the filesystem - if [ ${#tune2fs_opts[@]} -ne 0 ]; then - tune2fs "${tune2fs_opts[@]}" "${image}" - fi - - # After changing filesystem options, running fsck is required - # (see: man tune2fs). Running e2fsck in other cases will ensure - # coherency of the filesystem, although it is not required. - # 'e2fsck -pDf' means: - # - automatically repair - # - optimise and check for duplicate entries - # - force checking - # Sending output to oblivion, as e2fsck can be *very* verbose, - # especially with filesystems generated by genext2fs. - # Exit codes 1 & 2 are OK, it means fs errors were successfully - # corrected, hence our little trick with $ret. - ret=0 - e2fsck -pDf "${image}" >/dev/null || ret=$? - case ${ret} in - 0|1|2) ;; - *) errorN ${ret} "failed to run e2fsck on '%s' (ext%d)\n" \ - "${image}" ${gen} - esac - printf "\n" - trace "e2fsck was successfully run on '%s' (ext%d)\n" "${image}" ${gen} - printf "\n" - - # Remove count- and time-based checks, they are not welcome - # on embedded devices, where they can cause serious boot-time - # issues by tremendously slowing down the boot. - tune2fs -c 0 -i 0 "${image}" -} - -help() { - cat <<_EOF_ -NAME - ${my_name} - Create an ext2/3/4 filesystem image - -SYNOPSIS - ${my_name} [OPTION]... - -DESCRIPTION - Create ext2/3/4 filesystem image from the content of a directory. - - -b BLOCKS - Create a filesystem of BLOCKS 1024-byte blocs. The default is to - compute the required number of blocks. - - -i INODES - Create a filesystem with INODES inodes. The default is to compute - the required number of inodes. - - -r RES_BLOCKS - Create a filesystem with RES_BLOCKS reserved blocks. The default - is to reserve 0 block. - - -d ROOT_DIR - Create a filesystem, using the content of ROOT_DIR as the content - of the root of the filesystem. Mandatory. - - -o FILE - Create the filesystem in FILE. Madatory. - - -G GEN -R REV - Create a filesystem of generation GEN (2, 3 or 4), and revision - REV (0 or 1). The default is to generate an ext2 revision 1 - filesystem; revision 0 is invalid for ext3 and ext4. - - -l LABEL - Create a filesystem with label LABEL. The default is to not set - a label. - - -u UUID - Create filesystem with uuid UUID. The default is to set a random - UUID. - - Exit status: - 0 if OK - !0 in case of error -_EOF_ -} - -trace() { local msg="${1}"; shift; printf "%s: ${msg}" "${my_name}" "${@}"; } -warn() { trace "${@}" >&2; } -errorN() { local ret="${1}"; shift; warn "${@}"; exit ${ret}; } -error() { errorN 1 "${@}"; } - -my_name="${0##*/}" -main "$@" diff --git a/package/mke2img/mke2img.mk b/package/mke2img/mke2img.mk deleted file mode 100644 index 9de387a3a3..0000000000 --- a/package/mke2img/mke2img.mk +++ /dev/null @@ -1,13 +0,0 @@ -################################################################################ -# -# mke2img -# -################################################################################ - -HOST_MKE2IMG_DEPENDENCIES = host-genext2fs host-e2fsprogs - -define HOST_MKE2IMG_INSTALL_CMDS - $(INSTALL) -D -m 0755 package/mke2img/mke2img $(HOST_DIR)/usr/bin/mke2img -endef - -$(eval $(host-generic-package)) diff --git a/package/mkpasswd/mkpasswd.mk b/package/mkpasswd/mkpasswd.mk index 07935a41bf..b013390572 100644 --- a/package/mkpasswd/mkpasswd.mk +++ b/package/mkpasswd/mkpasswd.mk @@ -7,7 +7,7 @@ # source included in buildroot, taken from # https://github.com/rfc1036/whois/blob/master/ # at revision 5a0f08500fa51608b6d3b73ee338be38c692eadb -HOST_MKPASSWD_LICENSE = GPLv2+ +HOST_MKPASSWD_LICENSE = GPL-2.0+ define HOST_MKPASSWD_BUILD_CMDS $(HOSTCC) $(HOST_CFLAGS) $(HOST_LDFLAGS) \ @@ -16,9 +16,9 @@ define HOST_MKPASSWD_BUILD_CMDS endef define HOST_MKPASSWD_INSTALL_CMDS - $(INSTALL) -D -m 755 $(@D)/mkpasswd $(HOST_DIR)/usr/bin/mkpasswd + $(INSTALL) -D -m 755 $(@D)/mkpasswd $(HOST_DIR)/bin/mkpasswd endef $(eval $(host-generic-package)) -MKPASSWD = $(HOST_DIR)/usr/bin/mkpasswd +MKPASSWD = $(HOST_DIR)/bin/mkpasswd diff --git a/package/mkpimage/mkpimage.mk b/package/mkpimage/mkpimage.mk index 04b2ef080b..8e08013f91 100644 --- a/package/mkpimage/mkpimage.mk +++ b/package/mkpimage/mkpimage.mk @@ -4,7 +4,7 @@ # ################################################################################ -HOST_MKPIMAGE_LICENSE = GPLv2 +HOST_MKPIMAGE_LICENSE = GPL-2.0 # source included in the package # came from barebox's repository: @@ -15,7 +15,7 @@ define HOST_MKPIMAGE_BUILD_CMDS endef define HOST_MKPIMAGE_INSTALL_CMDS - $(INSTALL) -D -m 0755 $(@D)/mkpimage $(HOST_DIR)/usr/bin/mkpimage + $(INSTALL) -D -m 0755 $(@D)/mkpimage $(HOST_DIR)/bin/mkpimage endef $(eval $(host-generic-package)) diff --git a/package/mksh/mksh.hash b/package/mksh/mksh.hash index e92acd93e5..411baa8624 100644 --- a/package/mksh/mksh.hash +++ b/package/mksh/mksh.hash @@ -1,4 +1,4 @@ # From http://www.mirbsd.org/mksh.htm#build -md5 be0a6fb93b4a5f927bcc1893bb6692f8 mksh-R54.tgz +md5 718c44251b52c48e7312903273e263f4 mksh-R55.tgz # Calculated based on the hash above -sha256 8bce3837c386684aa7780f085f1a4dbd5e3e26fb5c528ee0d41ae29af7f39013 mksh-R54.tgz +sha256 ced42cb4a181d97d52d98009eed753bd553f7c34e6991d404f9a8dcb45c35a57 mksh-R55.tgz diff --git a/package/mksh/mksh.mk b/package/mksh/mksh.mk index 4d91bfcf44..b5706dbe0f 100644 --- a/package/mksh/mksh.mk +++ b/package/mksh/mksh.mk @@ -4,7 +4,7 @@ # ################################################################################ -MKSH_VERSION = R54 +MKSH_VERSION = R55 MKSH_SOURCE = mksh-$(MKSH_VERSION).tgz MKSH_SITE = https://www.mirbsd.org/MirOS/dist/mir/mksh # For MirOS License see https://www.mirbsd.org/TaC-mksh.txt diff --git a/package/mmc-utils/mmc-utils.hash b/package/mmc-utils/mmc-utils.hash new file mode 100644 index 0000000000..35cd5800da --- /dev/null +++ b/package/mmc-utils/mmc-utils.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 92ba148648688fca6e0e0e30248ebc6b432bea55584760f20a013583f20a109d mmc-utils-37c86e60c0442fef570b75cd81aeb1db4d0cbafd.tar.gz diff --git a/package/mmc-utils/mmc-utils.mk b/package/mmc-utils/mmc-utils.mk index 7473a1b388..9aeaf5c69c 100644 --- a/package/mmc-utils/mmc-utils.mk +++ b/package/mmc-utils/mmc-utils.mk @@ -4,16 +4,16 @@ # ################################################################################ -MMC_UTILS_VERSION = 2cb6695e8dec00d887bdd5309d1b57d836fcd214 +MMC_UTILS_VERSION = 37c86e60c0442fef570b75cd81aeb1db4d0cbafd MMC_UTILS_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc-utils.git -MMC_UTILS_LICENSE = GPLv2 +MMC_UTILS_LICENSE = GPL-2.0 define MMC_UTILS_BUILD_CMDS $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) endef define MMC_UTILS_INSTALL_TARGET_CMDS - $(INSTALL) -D -m 0755 $(@D)/mmc $(TARGET_DIR)/usr/bin/mmc + $(MAKE) -C $(@D) prefix=/usr DESTDIR=$(TARGET_DIR) install endef $(eval $(generic-package)) diff --git a/package/moarvm/moarvm.hash b/package/moarvm/moarvm.hash index e6335ab7e7..409486ac70 100644 --- a/package/moarvm/moarvm.hash +++ b/package/moarvm/moarvm.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 2074693a42a7f31218bf69b70fd5b73d6fd1a1d0e31eaf3f528e204963e94c53 MoarVM-2017.01.tar.gz +sha256 7cb9b7a871b14ac9b6cddc57e646d277177c4b3b21220e6fbc204084a15a4e41 MoarVM-2017.05.tar.gz diff --git a/package/moarvm/moarvm.mk b/package/moarvm/moarvm.mk index b459474a79..705c93934d 100644 --- a/package/moarvm/moarvm.mk +++ b/package/moarvm/moarvm.mk @@ -4,13 +4,13 @@ # ################################################################################ -MOARVM_VERSION = 2017.01 +MOARVM_VERSION = 2017.05 MOARVM_SITE = http://moarvm.com/releases MOARVM_SOURCE = MoarVM-$(MOARVM_VERSION).tar.gz MOARVM_LICENSE = Artistic-2.0 MOARVM_LICENSE_FILES = Artistic2.txt MOARVM_INSTALL_STAGING = YES -MOARVM_DEPENDENCIES = host-luajit host-pkgconf libuv libtommath libatomic_ops +MOARVM_DEPENDENCIES = host-lua host-pkgconf libuv libtommath libatomic_ops MOARVM_CONF_OPTS = \ --build=$(GNU_HOST_NAME) \ @@ -20,7 +20,7 @@ MOARVM_CONF_OPTS = \ --ld="$(TARGET_CC)" \ --prefix="/usr" \ --pkgconfig=$(PKG_CONFIG_HOST_BINARY) \ - --lua=$(HOST_DIR)/usr/bin/luajit \ + --lua=$(HOST_DIR)/bin/lua \ --has-libuv \ --has-libtommath \ --has-libatomic diff --git a/package/modem-manager/Config.in b/package/modem-manager/Config.in index aa7ed1e2fa..8e995b4175 100644 --- a/package/modem-manager/Config.in +++ b/package/modem-manager/Config.in @@ -4,8 +4,8 @@ config BR2_PACKAGE_MODEM_MANAGER depends on BR2_USE_WCHAR # libglib2 and gnutls depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2 depends on BR2_USE_MMU # dbus - select BR2_PACKAGE_DBUS - select BR2_PACKAGE_DBUS_GLIB + select BR2_PACKAGE_DBUS # runtime dependency + select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_LIBGUDEV help ModemManager is a DBus-activated daemon which controls mobile diff --git a/package/modem-manager/modem-manager.hash b/package/modem-manager/modem-manager.hash index 481f7dd434..bc0804485f 100644 --- a/package/modem-manager/modem-manager.hash +++ b/package/modem-manager/modem-manager.hash @@ -1,2 +1,4 @@ # Locally computed -sha256 e4544398d9c166f8e13fe7c97149f262ad1fb48af980e0d4f9c34013920c6393 ModemManager-1.6.2.tar.xz +sha256 bc74326fa69ae8012f806e235f3d296144922669b952d4d4987dd0af645d5f68 ModemManager-1.6.10.tar.xz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/package/modem-manager/modem-manager.mk b/package/modem-manager/modem-manager.mk index c74c224387..b741acf066 100644 --- a/package/modem-manager/modem-manager.mk +++ b/package/modem-manager/modem-manager.mk @@ -4,12 +4,12 @@ # ################################################################################ -MODEM_MANAGER_VERSION = 1.6.2 +MODEM_MANAGER_VERSION = 1.6.10 MODEM_MANAGER_SOURCE = ModemManager-$(MODEM_MANAGER_VERSION).tar.xz MODEM_MANAGER_SITE = http://www.freedesktop.org/software/ModemManager -MODEM_MANAGER_LICENSE = GPLv2+ (programs, plugins), LGPLv2+ (libmm-glib) -MODEM_MANAGER_LICENSE_FILES = COPYING -MODEM_MANAGER_DEPENDENCIES = host-pkgconf udev dbus-glib host-intltool libgudev +MODEM_MANAGER_LICENSE = GPL-2.0+ (programs, plugins), LGPL-2.0+ (libmm-glib) +MODEM_MANAGER_LICENSE_FILES = COPYING COPYING.LIB +MODEM_MANAGER_DEPENDENCIES = host-pkgconf host-intltool libglib2 libgudev MODEM_MANAGER_INSTALL_STAGING = YES ifeq ($(BR2_PACKAGE_MODEM_MANAGER_LIBQMI),y) diff --git a/package/modplugtools/modplugtools.mk b/package/modplugtools/modplugtools.mk index e8d73afeff..59a2a522b6 100644 --- a/package/modplugtools/modplugtools.mk +++ b/package/modplugtools/modplugtools.mk @@ -6,7 +6,7 @@ MODPLUGTOOLS_VERSION = 0.5.3 MODPLUGTOOLS_SITE = http://downloads.sourceforge.net/project/modplug-xmms/modplug-tools -MODPLUGTOOLS_LICENSE = GPLv3 +MODPLUGTOOLS_LICENSE = GPL-3.0 MODPLUGTOOLS_LICENSE_FILES = COPYING MODPLUGTOOLS_DEPENDENCIES = libao libmodplug diff --git a/package/mongodb/mongodb.mk b/package/mongodb/mongodb.mk index f5b2c01db3..54c904e51a 100644 --- a/package/mongodb/mongodb.mk +++ b/package/mongodb/mongodb.mk @@ -8,7 +8,7 @@ MONGODB_VERSION_BASE = 3.3.4 MONGODB_VERSION = r$(MONGODB_VERSION_BASE) MONGODB_SITE = $(call github,mongodb,mongo,$(MONGODB_VERSION)) -MONGODB_LICENSE = AGPLv3, Apache-2.0 +MONGODB_LICENSE = AGPL-3.0, Apache-2.0 MONGODB_LICENSE_FILES = GNU-AGPL-3.0.txt APACHE-2.0.txt MONGODB_DEPENDENCIES = host-scons diff --git a/package/mongoose/mongoose.hash b/package/mongoose/mongoose.hash index c131e48c41..d5252eb687 100644 --- a/package/mongoose/mongoose.hash +++ b/package/mongoose/mongoose.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 94b934da083afe8abb1c0af5abb8f25294050011793f048166b12f000f9433a0 mongoose-6.2.tar.gz +sha256 ccc971298db70963d3f13766c3246a3c36ae7e388acfab7ba2180149d9c8c64f mongoose-6.7.tar.gz diff --git a/package/mongoose/mongoose.mk b/package/mongoose/mongoose.mk index 7dfa119839..e2149e06e8 100644 --- a/package/mongoose/mongoose.mk +++ b/package/mongoose/mongoose.mk @@ -4,18 +4,19 @@ # ################################################################################ -MONGOOSE_VERSION = 6.2 +MONGOOSE_VERSION = 6.7 MONGOOSE_SITE = $(call github,cesanta,mongoose,$(MONGOOSE_VERSION)) -MONGOOSE_LICENSE = GPLv2 +MONGOOSE_LICENSE = GPL-2.0 MONGOOSE_LICENSE_FILES = LICENSE MONGOOSE_INSTALL_STAGING = YES +# static library +MONGOOSE_INSTALL_TARGET = NO -MONGOOSE_CFLAGS = $(TARGET_CFLAGS) $(TARGET_LDFLAGS) -DMONGOOSE_NO_DL +MONGOOSE_CFLAGS = $(TARGET_CFLAGS) ifeq ($(BR2_PACKAGE_OPENSSL),y) MONGOOSE_DEPENDENCIES += openssl -# directly linked -MONGOOSE_CFLAGS += -DNS_ENABLE_SSL -lssl -lcrypto -lz +MONGOOSE_CFLAGS += -DMG_ENABLE_SSL endif define MONGOOSE_BUILD_CMDS diff --git a/package/mongrel2/Config.in b/package/mongrel2/Config.in index 796bae6d80..a9b09b786c 100644 --- a/package/mongrel2/Config.in +++ b/package/mongrel2/Config.in @@ -14,12 +14,12 @@ comment "mongrel2 needs a uClibc or glibc toolchain w/ C++, threads, dynamic lib config BR2_PACKAGE_MONGREL2 bool "mongrel2" - select BR2_PACKAGE_SQLITE - select BR2_PACKAGE_ZEROMQ depends on BR2_INSTALL_LIBSTDCPP # zeromq depends on BR2_TOOLCHAIN_HAS_THREADS # zeromq depends on !BR2_STATIC_LIBS # uses dlopen() depends on BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS + select BR2_PACKAGE_SQLITE + select BR2_PACKAGE_ZEROMQ help Mongrel2 is an application, language, and network architecture agnostic web server that focuses on web applications using diff --git a/package/mongrel2/mongrel2.mk b/package/mongrel2/mongrel2.mk index c69c14345f..a35a87248e 100644 --- a/package/mongrel2/mongrel2.mk +++ b/package/mongrel2/mongrel2.mk @@ -9,7 +9,7 @@ MONGREL2_SOURCE = mongrel2-v$(MONGREL2_VERSION).tar.bz2 # Do not use the github helper here, the generated tarball is *NOT* the same # as the one uploaded by upstream for the release. MONGREL2_SITE = https://github.com/mongrel2/mongrel2/releases/download/$(MONGREL2_VERSION) -MONGREL2_LICENSE = BSD-3c +MONGREL2_LICENSE = BSD-3-Clause MONGREL2_LICENSE_FILES = LICENSE MONGREL2_DEPENDENCIES = sqlite zeromq diff --git a/package/monit/monit.hash b/package/monit/monit.hash index 8eb02fce66..611d3e18a6 100644 --- a/package/monit/monit.hash +++ b/package/monit/monit.hash @@ -1,2 +1,2 @@ -# From https://mmonit.com/monit/dist/monit-5.20.0.tar.gz.sha256: -sha256 ebac395ec50c1ae64d568db1260bc049d0e0e624c00e79d7b1b9a59c2679b98d monit-5.20.0.tar.gz +# From https://mmonit.com/monit/dist/monit-5.24.0.tar.gz.sha256: +sha256 754d1f0e165e5a26d4639a6a83f44ccf839e381f2622e0946d5302fa1f2d2414 monit-5.24.0.tar.gz diff --git a/package/monit/monit.mk b/package/monit/monit.mk index f4899c3c0d..260bb5b7a5 100644 --- a/package/monit/monit.mk +++ b/package/monit/monit.mk @@ -4,9 +4,9 @@ # ################################################################################ -MONIT_VERSION = 5.20.0 +MONIT_VERSION = 5.24.0 MONIT_SITE = http://mmonit.com/monit/dist -MONIT_LICENSE = AGPLv3 with OpenSSL exception +MONIT_LICENSE = AGPL-3.0 with OpenSSL exception MONIT_LICENSE_FILES = COPYING # # Touching Makefile.am: diff --git a/package/mono-gtksharp3/mono-gtksharp3.mk b/package/mono-gtksharp3/mono-gtksharp3.mk index cccfcde126..126aabeda2 100644 --- a/package/mono-gtksharp3/mono-gtksharp3.mk +++ b/package/mono-gtksharp3/mono-gtksharp3.mk @@ -8,10 +8,10 @@ MONO_GTKSHARP3_VERSION_MAJOR = 2.99 MONO_GTKSHARP3_VERSION = $(MONO_GTKSHARP3_VERSION_MAJOR).3 MONO_GTKSHARP3_SITE = http://ftp.gnome.org/pub/gnome/sources/gtk-sharp/$(MONO_GTKSHARP3_VERSION_MAJOR) MONO_GTKSHARP3_SOURCE = gtk-sharp-$(MONO_GTKSHARP3_VERSION).tar.xz -MONO_GTKSHARP3_LICENSE = LGPLv2, MIT (cairo) +MONO_GTKSHARP3_LICENSE = LGPL-2.0, MIT (cairo) MONO_GTKSHARP3_LICENSE_FILES = COPYING MONO_GTKSHARP3_INSTALL_STAGING = YES MONO_GTKSHARP3_DEPENDENCIES = mono libgtk3 -MONO_GTKSHARP3_CONF_OPTS += CSC=$(HOST_DIR)/usr/bin/mcs +MONO_GTKSHARP3_CONF_OPTS += CSC=$(HOST_DIR)/bin/mcs $(eval $(autotools-package)) diff --git a/package/mono/0006-Remove-unit-tests-from-mono-compilation.patch b/package/mono/0006-Remove-unit-tests-from-mono-compilation.patch index 3714b65821..a3e88e73a2 100644 --- a/package/mono/0006-Remove-unit-tests-from-mono-compilation.patch +++ b/package/mono/0006-Remove-unit-tests-from-mono-compilation.patch @@ -1,6 +1,6 @@ -From 155f96953d1b898f04a4e708c9ebc1e450b2f63e Mon Sep 17 00:00:00 2001 +From 26e31fc54af591bdd88d6a4a79b7fa91c57f4b0c Mon Sep 17 00:00:00 2001 From: Angelo Compagnucci -Date: Tue, 24 Nov 2015 23:11:10 +0100 +Date: Thu, 10 Aug 2017 23:30:05 +0200 Subject: [PATCH] Remove unit-tests from mono compilation This patch fixes compiling errors with unit-tests under linux. @@ -11,19 +11,19 @@ Signed-off-by: Angelo Compagnucci 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mono/Makefile.am b/mono/Makefile.am -index ef41dfe..7129507 100644 +index 8c9c2cb..7af36ec 100644 --- a/mono/Makefile.am +++ b/mono/Makefile.am -@@ -30,7 +30,7 @@ monotouch-do-clean: +@@ -34,7 +34,7 @@ monotouch-do-clean: (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$target); \ done; else --SUBDIRS = arch utils io-layer cil metadata $(sgen_dirs) mini dis tests unit-tests benchmark profiler -+SUBDIRS = arch utils io-layer cil metadata $(sgen_dirs) mini dis tests benchmark profiler +-SUBDIRS = $(btls_dirs) arch utils cil metadata $(sgen_dirs) mini dis tests unit-tests benchmark profiler ++SUBDIRS = $(btls_dirs) arch utils cil metadata $(sgen_dirs) mini dis tests benchmark profiler endif endif --DIST_SUBDIRS = arch utils io-layer cil metadata $(sgen_dirs) mini dis tests unit-tests benchmark profiler -+DIST_SUBDIRS = arch utils io-layer cil metadata $(sgen_dirs) mini dis tests benchmark profiler +-DIST_SUBDIRS = btls arch utils cil metadata $(sgen_dirs) mini dis tests unit-tests benchmark profiler ++DIST_SUBDIRS = btls arch utils cil metadata $(sgen_dirs) mini dis tests benchmark profiler -- -1.9.1 +2.7.4 diff --git a/package/mono/0008-monodoc-Fixing-wrong-monodoc-search-path.patch b/package/mono/0008-monodoc-Fixing-wrong-monodoc-search-path.patch deleted file mode 100644 index 58fa3238d3..0000000000 --- a/package/mono/0008-monodoc-Fixing-wrong-monodoc-search-path.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 18bba65adf58d54645398de26eac24081d48f793 Mon Sep 17 00:00:00 2001 -From: Angelo Compagnucci -Date: Thu, 25 Feb 2016 22:19:31 +0100 -Subject: [PATCH] mcs/class/monodoc/Makefile: Fixing wrong monodoc search path - -mono_libdir actually leaks host compiler path, fixing -by hardcoding correct path for our usecase. - -Signed-off-by: Angelo Compagnucci ---- - mcs/class/monodoc/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/mcs/class/monodoc/Makefile b/mcs/class/monodoc/Makefile -index 3ebba80..ddc2098 100644 ---- a/mcs/class/monodoc/Makefile -+++ b/mcs/class/monodoc/Makefile -@@ -135,7 +135,7 @@ test-local: setup-doc-sources - dist-local: Monodoc.Ecma/EcmaUrlParser.cs - - $(the_lib).config: Makefile monodoc.dll.config.in -- sed 's,@monodoc_refdir@,$(mono_libdir)/monodoc,g' monodoc.dll.config.in > $@ -+ sed 's,@monodoc_refdir@,/usr/lib/monodoc,g' monodoc.dll.config.in > $@ - - Monodoc.Ecma/EcmaUrlParser.cs: Monodoc.Ecma/EcmaUrlParser.jay $(topdir)/jay/skeleton.cs jay.sh - $(topdir)/$(thisdir)/jay.sh $(topdir) $< $@ $(JAY_FLAGS) --- -1.9.1 - diff --git a/package/mono/0009-fix-musl-incorrect-sigcontext-include.patch b/package/mono/0009-fix-musl-incorrect-sigcontext-include.patch deleted file mode 100644 index 3d932b6df9..0000000000 --- a/package/mono/0009-fix-musl-incorrect-sigcontext-include.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 63f0b0246b8125ae48b15bd182bb5831be02e6c9 Mon Sep 17 00:00:00 2001 -From: Angelo Compagnucci -Date: Mon, 27 Jun 2016 21:32:11 +0200 -Subject: [PATCH] fix musl incorrect sigcontext include - -On musl __GLIBC__ is not defined, so the conditional logic will -not produce correct result. Add a specific case to handle when -__GLIBC__ is not defined. - -Signed-off-by: Angelo Compagnucci ---- - libgc/os_dep.c | 2 +- - mono/mini/exceptions-arm.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/libgc/os_dep.c b/libgc/os_dep.c -index 8c8e098..34859c1 100644 ---- a/libgc/os_dep.c -+++ b/libgc/os_dep.c -@@ -32,7 +32,7 @@ - /* prototypes, so we have to include the top-level sigcontext.h to */ - /* make sure the former gets defined to be the latter if appropriate. */ - # include --# if 2 <= __GLIBC__ -+# if 2 <= __GLIBC__ || !defined(__GLIBC__) - # if 2 == __GLIBC__ && 0 == __GLIBC_MINOR__ - /* glibc 2.1 no longer has sigcontext.h. But signal.h */ - /* has the right declaration for glibc 2.1. */ -diff --git a/mono/mini/exceptions-arm.c b/mono/mini/exceptions-arm.c -index b036aa7..a3e2164 100644 ---- a/mono/mini/exceptions-arm.c -+++ b/mono/mini/exceptions-arm.c -@@ -14,7 +14,7 @@ - #include - - #ifndef MONO_CROSS_COMPILE --#ifdef HAVE_ASM_SIGCONTEXT_H -+#if defined(HAVE_ASM_SIGCONTEXT_H) && defined(__GLIBC__) - #include - #endif /* def HAVE_ASM_SIGCONTEXT_H */ - #endif --- -1.9.1 - diff --git a/package/mono/mono.hash b/package/mono/mono.hash index 6719fec4d4..850395022f 100644 --- a/package/mono/mono.hash +++ b/package/mono/mono.hash @@ -1,2 +1,2 @@ # sha256 locally computed -sha256 8965d107f4ebf4583ba1b50e0dcad39f0dc6adac8df7a083e9c5879ad93c0ea4 mono-4.6.2.16.tar.bz2 +sha256 2a2f5c2a214a9980c086ac7561a5dd106f13d823a630de218eabafe1d995c5b4 mono-5.4.0.201.tar.bz2 diff --git a/package/mono/mono.mk b/package/mono/mono.mk index 20b9205683..802c1d4402 100644 --- a/package/mono/mono.mk +++ b/package/mono/mono.mk @@ -4,10 +4,10 @@ # ################################################################################ -MONO_VERSION = 4.6.2.16 +MONO_VERSION = 5.4.0.201 MONO_SITE = http://download.mono-project.com/sources/mono MONO_SOURCE = mono-$(MONO_VERSION).tar.bz2 -MONO_LICENSE = GPLv2 or MIT (compiler, tools), MIT (libs) or commercial +MONO_LICENSE = GPL-2.0 or MIT (compiler, tools), MIT (libs) or commercial MONO_LICENSE_FILES = LICENSE mcs/COPYING eglib/COPYING \ external/Newtonsoft.Json/Tools/7-zip/copying.txt MONO_INSTALL_STAGING = YES @@ -18,20 +18,18 @@ MONO_INSTALL_STAGING = YES MONO_AUTORECONF = YES # Disable managed code (mcs folder) from building -MONO_CONF_OPTS = --disable-gtk-doc \ - --with-mcs-docs=no \ - --with-moonlight=no \ +MONO_CONF_OPTS = --with-mcs-docs=no \ --with-ikvm-native=no \ - --enable-minimal=profiler,debug \ + --enable-minimal=profiler,debug,aot \ --disable-mcs-build \ - --enable-static + --enable-static \ + --disable-btls # The libraries have been built by the host-mono build. Since they are # architecture-independent, we simply copy them to the target. define MONO_INSTALL_LIBS rsync -av --exclude=*.so --exclude=*.mdb \ - $(HOST_DIR)/usr/lib/mono $(TARGET_DIR)/usr/lib/ - rsync -av $(HOST_DIR)/etc/mono $(TARGET_DIR)/etc + $(HOST_DIR)/lib/mono $(TARGET_DIR)/usr/lib/ endef MONO_POST_INSTALL_TARGET_HOOKS += MONO_INSTALL_LIBS @@ -44,13 +42,12 @@ MONO_DEPENDENCIES += host-mono ## Mono managed -HOST_MONO_CONF_OPTS = --disable-gtk-doc \ - --with-mcs-docs=no \ - --with-moonlight=no \ +HOST_MONO_CONF_OPTS = --with-mcs-docs=no \ --disable-libraries \ --with-ikvm-native=no \ - --enable-minimal=profiler,debug \ - --enable-static + --enable-minimal=profiler,debug,aot \ + --enable-static \ + --disable-btls # ensure monolite is used HOST_MONO_MAKE_OPTS += EXTERNAL_MCS=false @@ -59,7 +56,7 @@ HOST_MONO_DEPENDENCIES = host-monolite host-gettext define HOST_MONO_SETUP_MONOLITE rm -rf $(@D)/mcs/class/lib/monolite - (cd $(@D)/mcs/class/lib; ln -s $(HOST_DIR)/usr/lib/monolite monolite) + (cd $(@D)/mcs/class/lib; ln -s $(HOST_DIR)/lib/monolite monolite) endef HOST_MONO_POST_CONFIGURE_HOOKS += HOST_MONO_SETUP_MONOLITE diff --git a/package/monolite/monolite.hash b/package/monolite/monolite.hash index 621e5e4f5f..76f54678d3 100644 --- a/package/monolite/monolite.hash +++ b/package/monolite/monolite.hash @@ -1,2 +1,2 @@ # sha256 locally computed -sha256 c01e9ba37d8d8f9ef68e08170b2582cc710a8a77756e2412dff298a39b3c4d2b monolite-149-latest.tar.gz +sha256 8c893c3eb3efb5006e19fb45a878860265c3f47fbaf2470be47612e84725d9fd monolite-linux-1050400003-latest.tar.gz diff --git a/package/monolite/monolite.mk b/package/monolite/monolite.mk index d50d9f22fb..80b2af9544 100644 --- a/package/monolite/monolite.mk +++ b/package/monolite/monolite.mk @@ -4,14 +4,14 @@ # ################################################################################ -MONOLITE_VERSION = 149 -MONOLITE_SITE = http://download.mono-project.com/monolite/ -MONOLITE_SOURCE = monolite-$(MONOLITE_VERSION)-latest.tar.gz -MONOLITE_LICENSE = LGPLv2 or commercial +MONOLITE_VERSION = 1050400003 +MONOLITE_SITE = http://download.mono-project.com/monolite +MONOLITE_SOURCE = monolite-linux-$(MONOLITE_VERSION)-latest.tar.gz +MONOLITE_LICENSE = LGPL-2.0 or commercial define HOST_MONOLITE_INSTALL_CMDS - mkdir -p $(HOST_DIR)/usr/lib/monolite - cp $(@D)/* $(HOST_DIR)/usr/lib/monolite + mkdir -p $(HOST_DIR)/lib/monolite/$(MONOLITE_VERSION) + cp -r $(@D)/* $(HOST_DIR)/lib/monolite/$(MONOLITE_VERSION) endef $(eval $(host-generic-package)) diff --git a/package/mosh/Config.in b/package/mosh/Config.in index d1fbd632eb..da8a305a06 100644 --- a/package/mosh/Config.in +++ b/package/mosh/Config.in @@ -1,6 +1,7 @@ -comment "mosh needs a toolchain w/ C++, threads, dynamic library, wchar" +comment "mosh needs a toolchain w/ C++, threads, dynamic library, wchar, host and target gcc >= 4.5" depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP \ - || BR2_STATIC_LIBS || !BR2_USE_WCHAR + || BR2_STATIC_LIBS || !BR2_USE_WCHAR \ + || !BR2_HOST_GCC_AT_LEAST_4_5 || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS config BR2_PACKAGE_MOSH @@ -8,6 +9,8 @@ config BR2_PACKAGE_MOSH depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS depends on BR2_INSTALL_LIBSTDCPP # protobuf depends on BR2_TOOLCHAIN_HAS_THREADS # protobuf + depends on BR2_HOST_GCC_AT_LEAST_4_5 # protobuf + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 # protobuf depends on !BR2_STATIC_LIBS # protobuf depends on BR2_USE_WCHAR select BR2_PACKAGE_PROTOBUF @@ -17,8 +20,16 @@ config BR2_PACKAGE_MOSH # runtime dependency select BR2_PACKAGE_OPENSSH if !BR2_PACKAGE_DROPBEAR_CLIENT help - Remote terminal application that supports intermittent connectivity, - allows roaming, and provides speculative local echo and line editing - of user keystrokes. + Remote terminal application that supports intermittent + connectivity, allows roaming, and provides speculative local + echo and line editing of user keystrokes. - https://mosh.mit.edu + Mosh requires that the remote machine has a locale setting + matching the one on the client. + + When using mosh with dropbear on a remote machine, the + client needs mosh with a version above 1.3.0 and the + --no-ssh-pty option needs to be passed when starting the + connection. + + https://mosh.org diff --git a/package/mosh/mosh.hash b/package/mosh/mosh.hash index 31f59c7f5e..baffe1f143 100644 --- a/package/mosh/mosh.hash +++ b/package/mosh/mosh.hash @@ -1,2 +1,5 @@ -# From https://mailman.mit.edu/pipermail/mosh-users/2016-August/000330.html -sha256 7e82b7fbfcc698c70f5843bb960dadb8e7bd7ac1d4d2151c9d979372ea850e85 mosh-1.2.6.tar.gz +# From https://mailman.mit.edu/pipermail/mosh-users/2017-July/000357.html +sha256 da600573dfa827d88ce114e0fed30210689381bbdcff543c931e4d6a2e851216 mosh-1.3.2.tar.gz +# Locally calculcated +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 8042495ddc8d99b883335d53552554eccf825fc1f0ba487d0f8e6656baaa8199 COPYING.iOS diff --git a/package/mosh/mosh.mk b/package/mosh/mosh.mk index 2cd358b397..fa6ab17010 100644 --- a/package/mosh/mosh.mk +++ b/package/mosh/mosh.mk @@ -4,10 +4,10 @@ # ################################################################################ -MOSH_VERSION = 1.2.6 -MOSH_SITE = https://mosh.mit.edu +MOSH_VERSION = 1.3.2 +MOSH_SITE = https://mosh.org MOSH_DEPENDENCIES = zlib ncurses protobuf host-pkgconf -MOSH_LICENSE = GPLv3+ with exception +MOSH_LICENSE = GPL-3.0+ with exception MOSH_LICENSE_FILES = COPYING COPYING.iOS ifeq ($(BR2_PACKAGE_OPENSSL),y) diff --git a/package/mosquitto/mosquitto.hash b/package/mosquitto/mosquitto.hash index b0b860f98c..f6f17aa5ef 100644 --- a/package/mosquitto/mosquitto.hash +++ b/package/mosquitto/mosquitto.hash @@ -1,2 +1,7 @@ -# From https://www.eclipse.org/downloads/download.php?file=/mosquitto/source/mosquitto-1.4.10.tar.gz -sha512 fe5d6d7196a137a496ba6881c77d852396baefb4f0b83ccd9a22175fc05b09e48a09ea249e30ec7db966e11de134ebcc4e2e9b1fd40b31dc59fb0fa2f60b75a1 mosquitto-1.4.10.tar.gz +# From http://www.eclipse.org/downloads/download.php?file=/mosquitto/source/mosquitto-1.4.14.tar.gz +sha512 dc75a971354f87deeb79f32435acfae9bc561a1a24a75ee4940a35176ff91758071930d2105d8dee2a090e07527dbfaa5692bece67e03cc87e8b4b8b46f846c2 mosquitto-1.4.14.tar.gz + +# License files +sha256 cc77e25bafd40637b7084f04086d606f0a200051b61806f97c93405926670bc1 LICENSE.txt +sha256 3b9be6b894d0769de796e653571ff6cef494913c0ce78c35a97db939e7d9087c epl-v10 +sha256 e8cf7d54ea46c19aba793983889b7f7425e1ebfcaaccec764a7db091646e203c edl-v10 diff --git a/package/mosquitto/mosquitto.mk b/package/mosquitto/mosquitto.mk index 96607f32e3..c9b4418d04 100644 --- a/package/mosquitto/mosquitto.mk +++ b/package/mosquitto/mosquitto.mk @@ -4,9 +4,9 @@ # ################################################################################ -MOSQUITTO_VERSION = 1.4.10 -MOSQUITTO_SITE = http://mosquitto.org/files/source -MOSQUITTO_LICENSE = EPLv1.0 or EDLv1.0 +MOSQUITTO_VERSION = 1.4.14 +MOSQUITTO_SITE = https://mosquitto.org/files/source +MOSQUITTO_LICENSE = EPL-1.0 or EDLv1.0 MOSQUITTO_LICENSE_FILES = LICENSE.txt epl-v10 edl-v10 MOSQUITTO_INSTALL_STAGING = YES @@ -17,14 +17,21 @@ MOSQUITTO_MAKE_OPTS = \ WITH_WRAP=no \ WITH_DOCS=no +# adns uses getaddrinfo_a +ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y) +MOSQUITTO_MAKE_OPTS += WITH_ADNS=yes +else +MOSQUITTO_MAKE_OPTS += WITH_ADNS=no +endif + ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) MOSQUITTO_MAKE_OPTS += WITH_THREADING=yes else MOSQUITTO_MAKE_OPTS += WITH_THREADING=no endif -ifeq ($(BR2_PACKAGE_OPENSSL),y) -MOSQUITTO_DEPENDENCIES += openssl +ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) +MOSQUITTO_DEPENDENCIES += libopenssl MOSQUITTO_MAKE_OPTS += WITH_TLS=yes else MOSQUITTO_MAKE_OPTS += WITH_TLS=no diff --git a/package/motion/0001-configure.ac-use-given-CFLAGS-LIBS-for-mysqlclient-l.patch b/package/motion/0001-configure.ac-use-given-CFLAGS-LIBS-for-mysqlclient-l.patch new file mode 100644 index 0000000000..4211fe67bd --- /dev/null +++ b/package/motion/0001-configure.ac-use-given-CFLAGS-LIBS-for-mysqlclient-l.patch @@ -0,0 +1,31 @@ +From 5a1081d36bf2861ffc882354c583a0eb6b0ee3d5 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Tue, 25 Oct 2016 21:27:41 +0200 +Subject: [PATCH] configure.ac: use given CFLAGS/LIBS for mysqlclient library + check + +Needed for static linking of mysql with enabled libz. + +Signed-off-by: Peter Seiderer +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 5782fd6..aa5d9dd 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -618,8 +618,8 @@ else + #LDFLAGS="-L$MYSQL_LIBDIR" + saved_CFLAGS=$CFLAGS + saved_LIBS=$LIBS +- CFLAGS="-I$MYSQL_INCDIR" +- LIBS="-L$MYSQL_LIBDIR" ++ CFLAGS="-I$MYSQL_INCDIR $CFLAGS" ++ LIBS="-L$MYSQL_LIBDIR $LIBS" + AC_CHECK_LIB(mysqlclient,mysql_init,[ + TEMP_LIBS="$TEMP_LIBS -L$MYSQL_LIBDIR -lmysqlclient -lz" + TEMP_CFLAGS="$TEMP_CFLAGS -I$MYSQL_INCDIR" +-- +2.8.1 + diff --git a/package/motion/0001-version.patch b/package/motion/0001-version.patch deleted file mode 100644 index 610a7c7e2b..0000000000 --- a/package/motion/0001-version.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -uNr motion/version.sh motion.new/version.sh ---- motion/version.sh 2016-11-13 12:45:14.143548855 +0200 -+++ motion.new/version.sh 2016-11-13 12:45:31.683635991 +0200 -@@ -1,8 +1,9 @@ - #!/bin/sh - BASE_VERSION="4.0.1" - if [ -d .git ]; then -- GIT_COMMIT=`git show -s --format=%h` -- printf "$BASE_VERSION+git$GIT_COMMIT" -+ GIT_COMMIT=`git show -s --format=%h` -+ printf "$BASE_VERSION+git$GIT_COMMIT" - else -- printf "$BASE_VERSION+gitUNKNOWN" -+ printf "$BASE_VERSION+git$(basename $(pwd) | cut -d '-' -f 2)" - fi -+ diff --git a/package/motion/0002-Rename-base64_encode.patch b/package/motion/0002-Rename-base64_encode.patch new file mode 100644 index 0000000000..8b06309252 --- /dev/null +++ b/package/motion/0002-Rename-base64_encode.patch @@ -0,0 +1,116 @@ +From 0da5428bdfe67eb17ee03f22f68e66b044abdf70 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 30 Oct 2016 19:30:46 +0100 +Subject: [PATCH] Rename base64_encode + +base64_encode is already defined in gnutls so rename it as +motion_base64_encode to prevent a definition clash when linking +statically with gnutls + +Fixes: + - http://autobuild.buildroot.org/results/592672b8826f4c731c50d29725da964d876573c4 + +Applied upstream: + - https://github.com/Motion-Project/motion/commit/cc3c25527d4bada0fe98a734fa2df29f8d6cf1ad + +Signed-off-by: Fabrice Fontaine +--- + netcam.c | 4 ++-- + netcam_wget.c | 4 ++-- + netcam_wget.h | 2 +- + stream.c | 4 ++-- + webhttpd.c | 4 ++-- + 5 files changed, 9 insertions(+), 9 deletions(-) + +diff --git a/netcam.c b/netcam.c +index a9df33a..38d4ca3 100644 +--- a/netcam.c ++++ b/netcam.c +@@ -2019,7 +2019,7 @@ static int netcam_http_build_url(netcam_context_ptr netcam, struct url_t *url) + else + ptr = url->userpass; + +- /* base64_encode needs up to 3 additional chars. */ ++ /* motion_base64_encode needs up to 3 additional chars. */ + if (ptr) { + userpass = mymalloc(strlen(ptr) + 3); + strcpy(userpass, ptr); +@@ -2045,7 +2045,7 @@ static int netcam_http_build_url(netcam_context_ptr netcam, struct url_t *url) + /* Allocate space for the base64-encoded string. */ + encuserpass = mymalloc(BASE64_LENGTH(strlen(userpass)) + 1); + /* Fill in the value. */ +- base64_encode(userpass, encuserpass, strlen(userpass)); ++ motion_base64_encode(userpass, encuserpass, strlen(userpass)); + /* Now create the last part (authorization) of the request. */ + request_pass = mymalloc(strlen(connect_auth_req) + + strlen(encuserpass) + 1); +diff --git a/netcam_wget.c b/netcam_wget.c +index 4491760..f5c1dc2 100644 +--- a/netcam_wget.c ++++ b/netcam_wget.c +@@ -210,13 +210,13 @@ int skip_lws(const char *string) + + + /** +- * base64_encode ++ * motion_base64_encode + * + * Encode the string S of length LENGTH to base64 format and place it + * to STORE. STORE will be 0-terminated, and must point to a writable + * buffer of at least 1+BASE64_LENGTH(length) bytes. + */ +-void base64_encode(const char *s, char *store, int length) ++void motion_base64_encode(const char *s, char *store, int length) + { + /* Conversion table. */ + static const char tbl[64] = { +diff --git a/netcam_wget.h b/netcam_wget.h +index 9a091bf..e9b02b5 100644 +--- a/netcam_wget.h ++++ b/netcam_wget.h +@@ -72,7 +72,7 @@ int rbuf_read_bufferful(netcam_context_ptr); + /* How many bytes it will take to store LEN bytes in base64. */ + #define BASE64_LENGTH(len) (4 * (((len) + 2) / 3)) + +-void base64_encode(const char *, char *, int); ++void motion_base64_encode(const char *, char *, int); + char *strdupdelim(const char *, const char *); + int http_process_type(const char *, void *); + +diff --git a/stream.c b/stream.c +index 04e67ee..ca201ac 100644 +--- a/stream.c ++++ b/stream.c +@@ -211,10 +211,10 @@ static void* handle_basic_auth(void* param) + + authentication = mymalloc(BASE64_LENGTH(auth_size) + 1); + userpass = mymalloc(auth_size + 4); +- /* base64_encode can read 3 bytes after the end of the string, initialize it. */ ++ /* motion_base64_encode can read 3 bytes after the end of the string, initialize it. */ + memset(userpass, 0, auth_size + 4); + strcpy(userpass, p->conf->stream_authentication); +- base64_encode(userpass, authentication, auth_size); ++ motion_base64_encode(userpass, authentication, auth_size); + free(userpass); + + if (strcmp(auth, authentication)) { +diff --git a/webhttpd.c b/webhttpd.c +index 6df2d11..36e8beb 100644 +--- a/webhttpd.c ++++ b/webhttpd.c +@@ -2616,10 +2616,10 @@ void httpd_run(struct context **cnt) + + authentication = mymalloc(BASE64_LENGTH(auth_size) + 1); + userpass = mymalloc(auth_size + 4); +- /* base64_encode can read 3 bytes after the end of the string, initialize it */ ++ /* motion_base64_encode can read 3 bytes after the end of the string, initialize it */ + memset(userpass, 0, auth_size + 4); + strcpy(userpass, cnt[0]->conf.webcontrol_authentication); +- base64_encode(userpass, authentication, auth_size); ++ motion_base64_encode(userpass, authentication, auth_size); + free(userpass); + } + +-- +2.5.0 + diff --git a/package/motion/Config.in b/package/motion/Config.in index 6bd458ed34..a27e7f9fb6 100644 --- a/package/motion/Config.in +++ b/package/motion/Config.in @@ -1,3 +1,17 @@ config BR2_PACKAGE_MOTION bool "motion" + depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_JPEG help + Motion is a program that monitors the video signal from + cameras. It is able to detect if a significant part of + the picture has changed; in other words, it can detect motion. + + libv4l has to be selected to be able to use a local camera. + + https://motion-project.github.io + +comment "motion needs a toolchain w/ threads" + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/motion/S99motion b/package/motion/S99motion new file mode 100644 index 0000000000..36bfc23880 --- /dev/null +++ b/package/motion/S99motion @@ -0,0 +1,37 @@ +#!/bin/sh + +NAME=motion +PIDFILE=/var/run/$NAME.pid +DAEMON=/usr/bin/$NAME + +start() { + printf "Starting $NAME: " + start-stop-daemon -S -q -m -b -p $PIDFILE --exec $DAEMON + [ $? = 0 ] && echo "OK" || echo "FAIL" +} +stop() { + printf "Stopping $NAME: " + start-stop-daemon -K -q -p $PIDFILE + [ $? = 0 ] && echo "OK" || echo "FAIL" +} +restart() { + stop + start +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart|reload) + restart + ;; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac + +exit $? diff --git a/package/motion/motion.hash b/package/motion/motion.hash new file mode 100644 index 0000000000..e8591179ed --- /dev/null +++ b/package/motion/motion.hash @@ -0,0 +1,2 @@ +# Locally computed: +sha256 2f67669a09ce0481ecd987028dae1c5cb135dfdc3c254c06ab7c9ca0c6c183f0 motion-release-4.0.1.tar.gz diff --git a/package/motion/motion.mk b/package/motion/motion.mk index f3815e37a4..ce64a9328b 100644 --- a/package/motion/motion.mk +++ b/package/motion/motion.mk @@ -4,15 +4,85 @@ # ################################################################################ -MOTION_VERSION = 37b3595 -MOTION_SITE = $(call github,motion-project,motion,$(MOTION_VERSION)) +MOTION_VERSION = release-4.0.1 +MOTION_SITE = $(call github,Motion-Project,motion,$(MOTION_VERSION)) +MOTION_LICENSE = GPL-2.0 +MOTION_LICENSE_FILES = COPYING +MOTION_DEPENDENCIES = host-pkgconf jpeg +# From git and patched configure.ac MOTION_AUTORECONF = YES -MOTION_CONF_OPTS = --without-pgsql --without-sdl --without-sqlite3 --without-mysql --with-ffmpeg=$(STAGING_DIR)/usr/lib \ - --with-ffmpeg-headers=$(STAGING_DIR)/usr/include +# motion does not use any specific function of jpeg-turbo, so just relies on +# jpeg selection +MOTION_CONF_OPTS += --without-jpeg-turbo --without-optimizecpu + +ifeq ($(BR2_PACKAGE_FFMPEG_SWSCALE),y) +MOTION_DEPENDENCIES += ffmpeg +MOTION_CONF_OPTS += --with-ffmpeg +else +MOTION_CONF_OPTS += --without-ffmpeg +endif + +ifeq ($(BR2_PACKAGE_MYSQL),y) +MOTION_DEPENDENCIES += mysql +MOTION_CONF_OPTS += \ + --with-mysql \ + --with-mysql-include=$(STAGING_DIR)/usr/include/mysql \ + --with-mysql-lib=$(STAGING_DIR)/usr/lib +# static link of mysql needs -lz +ifeq ($(BR2_STATIC_LIBS)$(BR2_PACKAGE_ZLIB),yy) +MOTION_CONF_ENV += LIBS="-lz" +endif +else +MOTION_CONF_OPTS += --without-mysql +endif + +ifeq ($(BR2_PACKAGE_POSTGRESQL),y) +MOTION_DEPENDENCIES += postgresql +MOTION_CONF_OPTS += \ + --with-pgsql \ + --with-pgsql-include=$(STAGING_DIR)/usr/include \ + --with-pgsql-lib=$(STAGING_DIR)/usr/lib +else +MOTION_CONF_OPTS += --without-pgsql +endif + +ifeq ($(BR2_PACKAGE_SDL),y) +MOTION_DEPENDENCIES += sdl +MOTION_CONF_OPTS += --with-sdl=$(STAGING_DIR)/usr +# overwrite ac_cv_path_CONFIG_SDL in case sdl development is +# installed on the host +MOTION_CONF_ENV += ac_cv_path_CONFIG_SDL=$(STAGING_DIR)/usr/bin/sdl-config +else +MOTION_CONF_OPTS += --without-sdl +endif + +ifeq ($(BR2_PACKAGE_SQLITE),y) +MOTION_DEPENDENCIES += sqlite +MOTION_CONF_OPTS += --with-sqlite3 +else +MOTION_CONF_OPTS += --without-sqlite3 +endif + +# Do not use default install target as it installs many unneeded files and +# directories: docs, examples and init scripts define MOTION_INSTALL_TARGET_CMDS - cp $(@D)/motion $(TARGET_DIR)/usr/bin/motion + $(INSTALL) -D -m 0644 $(@D)/motion-dist.conf \ + $(TARGET_DIR)/etc/motion.conf + $(INSTALL) -D -m 0755 $(@D)/motion $(TARGET_DIR)/usr/bin/motion +endef + +define MOTION_INSTALL_INIT_SYSV + $(INSTALL) -D -m 0755 package/motion/S99motion \ + $(TARGET_DIR)/etc/init.d/S99motion +endef + +define MOTION_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/motion/motion.service \ + $(TARGET_DIR)/usr/lib/systemd/system/motion.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf ../../../../usr/lib/systemd/system/motion.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/motion.service endef $(eval $(autotools-package)) - diff --git a/package/motion/motion.service b/package/motion/motion.service new file mode 100644 index 0000000000..c788cd6450 --- /dev/null +++ b/package/motion/motion.service @@ -0,0 +1,10 @@ +[Unit] +Description=Motion camera monitoring system +After=network.target + +[Service] +ExecStart=/usr/bin/motion +Restart=always + +[Install] +WantedBy=multi-user.target diff --git a/package/mp4v2/0001-Fix-GCC7-build.patch b/package/mp4v2/0001-Fix-GCC7-build.patch new file mode 100644 index 0000000000..90222c10ae --- /dev/null +++ b/package/mp4v2/0001-Fix-GCC7-build.patch @@ -0,0 +1,32 @@ +From 855e9674232808ff3be7191b697dfb56917db21f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= +Date: Wed, 8 Feb 2017 00:56:32 +0000 +Subject: [PATCH] Fix GCC7 build + +if (*pSlash != '\0') { + +As it stands the body of that if will always execute and when there are +no encoding parameters ppEncodingParams will be returned as a pointer to +an empty string rather than as a null pointer + +Signed-off-by: Peter Korsgaard +--- + src/rtphint.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/rtphint.cpp b/src/rtphint.cpp +index e07309d..1eb01f5 100644 +--- a/src/rtphint.cpp ++++ b/src/rtphint.cpp +@@ -339,7 +339,7 @@ void MP4RtpHintTrack::GetPayload( + pSlash = strchr(pSlash, '/'); + if (pSlash != NULL) { + pSlash++; +- if (pSlash != '\0') { ++ if (*pSlash != '\0') { + length = (uint32_t)strlen(pRtpMap) - (pSlash - pRtpMap); + *ppEncodingParams = (char *)MP4Calloc(length + 1); + strncpy(*ppEncodingParams, pSlash, length); +-- +2.11.0 + diff --git a/package/mp4v2/mp4v2.mk b/package/mp4v2/mp4v2.mk index 2acbb4ea74..b6b7d9ae5e 100644 --- a/package/mp4v2/mp4v2.mk +++ b/package/mp4v2/mp4v2.mk @@ -8,7 +8,7 @@ MP4V2_VERSION = 2.0.0 MP4V2_SOURCE = mp4v2-$(MP4V2_VERSION).tar.bz2 MP4V2_SITE = https://mp4v2.googlecode.com/files MP4V2_INSTALL_STAGING = YES -MP4V2_LICENSE = MPLv1.1 +MP4V2_LICENSE = MPL-1.1 MP4V2_LICENSE_FILES = COPYING # help2man expects to be able to run utilities on the build machine to diff --git a/package/mpc/mpc.mk b/package/mpc/mpc.mk index 579e2ccc10..89bbfd9c51 100644 --- a/package/mpc/mpc.mk +++ b/package/mpc/mpc.mk @@ -6,7 +6,7 @@ MPC_VERSION = 1.0.3 MPC_SITE = $(BR2_GNU_MIRROR)/mpc -MPC_LICENSE = LGPLv3+ +MPC_LICENSE = LGPL-3.0+ MPC_LICENSE_FILES = COPYING.LESSER MPC_INSTALL_STAGING = YES MPC_DEPENDENCIES = gmp mpfr diff --git a/package/mpd-mpc/mpd-mpc.mk b/package/mpd-mpc/mpd-mpc.mk index d9aa1f8795..6c15c0d9a3 100644 --- a/package/mpd-mpc/mpd-mpc.mk +++ b/package/mpd-mpc/mpd-mpc.mk @@ -8,7 +8,7 @@ MPD_MPC_VERSION_MAJOR = 0 MPD_MPC_VERSION = $(MPD_MPC_VERSION_MAJOR).28 MPD_MPC_SITE = http://www.musicpd.org/download/mpc/$(MPD_MPC_VERSION_MAJOR) MPD_MPC_SOURCE = mpc-$(MPD_MPC_VERSION).tar.xz -MPD_MPC_LICENSE = GPLv2+ +MPD_MPC_LICENSE = GPL-2.0+ MPD_MPC_LICENSE_FILES = COPYING MPD_MPC_DEPENDENCIES = host-pkgconf libmpdclient MPD_MPC_CONF_ENV = ac_cv_prog_cc_c99='-std=c99' diff --git a/package/mpd/Config.in b/package/mpd/Config.in index 8eabbbc796..5991b6f4bb 100644 --- a/package/mpd/Config.in +++ b/package/mpd/Config.in @@ -5,9 +5,10 @@ menuconfig BR2_PACKAGE_MPD depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # fork depends on BR2_TOOLCHAIN_HAS_ATOMIC - # 0.19.x could be built with GCC 4.6, but for simplicity we require - # the same toolchain dependencies for all versions. depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14 + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr + # ARC toolchain issue + depends on !BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC select BR2_PACKAGE_BOOST select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE select BR2_PACKAGE_MPD_TREMOR if !(BR2_PACKAGE_MPD_MAD || BR2_PACKAGE_MPD_MPG123 || BR2_PACKAGE_MPD_VORBIS || BR2_PACKAGE_MPD_WAVPACK || BR2_PACKAGE_MPD_FLAC || BR2_PACKAGE_MPD_MUSEPACK || BR2_PACKAGE_MPD_FFMPEG) @@ -21,24 +22,6 @@ menuconfig BR2_PACKAGE_MPD if BR2_PACKAGE_MPD -# Hidden config symbols to select the branch 0.20 by default and fallback -# to branch 0.19 for toolchains affected by GCC bug PR 64735. This way we -# keep support for mpd on some architectures, like ARMv5, until GCC 7 is -# released, which will fix this issue. -config BR2_PACKAGE_MPD_VERSION_STRING - string - default "0.20" if !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 - default "0.19" - -config BR2_PACKAGE_MPD_VERSION_0_20 - bool - default y if BR2_PACKAGE_MPD_VERSION_STRING = "0.20" - -config BR2_PACKAGE_MPD_VERSION_0_19 - bool - default y if BR2_PACKAGE_MPD_VERSION_STRING = "0.19" - select BR2_PACKAGE_LIBGLIB2 - comment "Archive plugins" config BR2_PACKAGE_MPD_BZIP2 @@ -272,13 +255,11 @@ config BR2_PACKAGE_MPD_OSS config BR2_PACKAGE_MPD_PULSEAUDIO bool "pulseaudio" depends on !BR2_STATIC_LIBS # pulseaudio - depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pulseaudio -> json-c select BR2_PACKAGE_PULSEAUDIO help Enable pulseaudio output support. comment "pulseaudio support needs a toolchain w/ dynamic library" - depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_STATIC_LIBS config BR2_PACKAGE_MPD_SHOUTCAST @@ -339,3 +320,7 @@ comment "mpd needs a toolchain w/ C++, threads, wchar, gcc >= 4.9" depends on BR2_TOOLCHAIN_HAS_ATOMIC depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + depends on !BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC + +comment "mpd needs a toolchain not affected by GCC bug 64735" + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/package/mpd/mpd.hash b/package/mpd/mpd.hash index ecd78e97c1..717b92188f 100644 --- a/package/mpd/mpd.hash +++ b/package/mpd/mpd.hash @@ -1,3 +1,2 @@ # Locally calculated after checking pgp signature -sha256 712b25351c12616630c580204e1c3dcba3ae2993a56cff1c346c87e334d69728 mpd-0.20.4.tar.xz -sha256 8305b8bc026f4b6bde28b8dd09bfdddbe5590acf36358eed4d083a396e301730 mpd-0.19.21.tar.xz +sha256 e9227d9daf32a63d6f34bf2ea18b3179b4a383e9d2b49d548702a37451e514bc mpd-0.20.11.tar.xz diff --git a/package/mpd/mpd.mk b/package/mpd/mpd.mk index 8e71ae2141..b337196762 100644 --- a/package/mpd/mpd.mk +++ b/package/mpd/mpd.mk @@ -4,23 +4,15 @@ # ################################################################################ -MPD_VERSION_MAJOR = $(call qstrip,$(BR2_PACKAGE_MPD_VERSION_STRING)) -ifeq ($(BR2_PACKAGE_MPD_VERSION_0_20),y) -MPD_VERSION = $(MPD_VERSION_MAJOR).4 -else -MPD_VERSION = $(MPD_VERSION_MAJOR).21 -endif +MPD_VERSION_MAJOR = 0.20 +MPD_VERSION = $(MPD_VERSION_MAJOR).11 MPD_SOURCE = mpd-$(MPD_VERSION).tar.xz MPD_SITE = http://www.musicpd.org/download/mpd/$(MPD_VERSION_MAJOR) MPD_DEPENDENCIES = host-pkgconf boost -MPD_LICENSE = GPLv2+ +MPD_LICENSE = GPL-2.0+ MPD_LICENSE_FILES = COPYING MPD_AUTORECONF = YES -ifeq ($(BR2_PACKAGE_MPD_VERSION_0_19),y) -MPD_DEPENDENCIES += libglib2 -endif - # Some options need an explicit --disable or --enable # Zeroconf support depends on libdns_sd from avahi. diff --git a/package/mpdecimal/mpdecimal.mk b/package/mpdecimal/mpdecimal.mk index 9b13def523..5e0929ee98 100644 --- a/package/mpdecimal/mpdecimal.mk +++ b/package/mpdecimal/mpdecimal.mk @@ -7,7 +7,7 @@ MPDECIMAL_SITE = http://www.bytereef.org/software/mpdecimal/releases MPDECIMAL_VERSION = 2.4.1 MPDECIMAL_INSTALL_STAGING = YES -MPDECIMAL_LICENSE = BSD-2c +MPDECIMAL_LICENSE = BSD-2-Clause MPDECIMAL_LICENSE_FILES = LICENSE.txt MPDECIMAL_CONF_OPTS = LD="$(TARGET_CC)" MPDECIMAL_AUTORECONF = YES diff --git a/package/mpfr/mpfr.hash b/package/mpfr/mpfr.hash index d2c32f2af5..1c825e1231 100644 --- a/package/mpfr/mpfr.hash +++ b/package/mpfr/mpfr.hash @@ -1,2 +1,2 @@ -# Locally calculated after checking pgp signature -sha256 015fde82b3979fbe5f83501986d328331ba8ddf008c1ff3da3c238f49ca062bc mpfr-3.1.5.tar.xz +# From http://lists.gnu.org/archive/html/info-gnu/2017-09/msg00004.html +sha256 7a62ac1a04408614fccdc506e4844b10cf0ad2c2b1677097f8f35d3a1344a950 mpfr-3.1.6.tar.xz diff --git a/package/mpfr/mpfr.mk b/package/mpfr/mpfr.mk index bb78ccc81a..1b67cf2e45 100644 --- a/package/mpfr/mpfr.mk +++ b/package/mpfr/mpfr.mk @@ -4,10 +4,10 @@ # ################################################################################ -MPFR_VERSION = 3.1.5 +MPFR_VERSION = 3.1.6 MPFR_SITE = http://www.mpfr.org/mpfr-$(MPFR_VERSION) MPFR_SOURCE = mpfr-$(MPFR_VERSION).tar.xz -MPFR_LICENSE = LGPLv3+ +MPFR_LICENSE = LGPL-3.0+ MPFR_LICENSE_FILES = COPYING.LESSER MPFR_INSTALL_STAGING = YES MPFR_DEPENDENCIES = gmp diff --git a/package/mpg123/mpg123.hash b/package/mpg123/mpg123.hash index fa5580948c..cbab6f3ee9 100644 --- a/package/mpg123/mpg123.hash +++ b/package/mpg123/mpg123.hash @@ -1,2 +1,5 @@ # Locally calculated after checking pgp signature -sha256 de2303c8ecb65593e39815c0a2f2f2d91f708c43b85a55fdd1934c82e677cf8e mpg123-1.23.8.tar.bz2 +sha256 5314b0fb8ad291bfc79ff4c5c321b971916819a65233ec065434358fcf8aee38 mpg123-1.25.2.tar.bz2 + +# License file +sha256 f40e0dd86b27b52e429b693a87b3ca63ae0a98a4d142e77207aa6bdf1db7a295 COPYING diff --git a/package/mpg123/mpg123.mk b/package/mpg123/mpg123.mk index 27c46dcbc7..01923d7990 100644 --- a/package/mpg123/mpg123.mk +++ b/package/mpg123/mpg123.mk @@ -4,12 +4,12 @@ # ################################################################################ -MPG123_VERSION = 1.23.8 +MPG123_VERSION = 1.25.2 MPG123_SOURCE = mpg123-$(MPG123_VERSION).tar.bz2 MPG123_SITE = http://downloads.sourceforge.net/project/mpg123/mpg123/$(MPG123_VERSION) MPG123_CONF_OPTS = --disable-lfs-alias MPG123_INSTALL_STAGING = YES -MPG123_LICENSE = LGPLv2.1 +MPG123_LICENSE = LGPL-2.1 MPG123_LICENSE_FILES = COPYING MPG123_DEPENDENCIES = host-pkgconf @@ -74,10 +74,11 @@ endif MPG123_CONF_OPTS += --with-audio=$(subst $(space),$(comma),$(MPG123_AUDIO)) -ifeq ($(BR2_PACKAGE_LIBTOOL),y) -MPG123_DEPENDENCIES += libtool -# .la files gets stripped , so directly load .so files rather than .la -MPG123_CONF_OPTS += --with-modules --with-module-suffix=.so +# output modules are loaded with dlopen() +ifeq ($(BR2_STATIC_LIBS),y) +MPG123_CONF_OPTS += --disable-modules +else +MPG123_CONF_OPTS += --enable-modules endif $(eval $(autotools-package)) diff --git a/package/mpir/0001-mpn-arm-udiv.asm-workaround-binutils-bug-14887.patch b/package/mpir/0001-mpn-arm-udiv.asm-workaround-binutils-bug-14887.patch new file mode 100644 index 0000000000..6a6f467d7b --- /dev/null +++ b/package/mpir/0001-mpn-arm-udiv.asm-workaround-binutils-bug-14887.patch @@ -0,0 +1,40 @@ +From d858ce52d1971cb4e8500b0ebc0472fdae4686ec Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 7 May 2017 23:12:04 +0200 +Subject: [PATCH] mpn/arm/udiv.asm: workaround binutils bug #14887 + +Old binutils versions are affected by bug #14887, +https://sourceware.org/bugzilla/show_bug.cgi?id=14887, which causes a +build failure when a register specification is surrounded by +whitespaces. Removing those whitespaces works around the issue. + +Signed-off-by: Thomas Petazzoni +--- + mpn/arm/udiv.asm | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/mpn/arm/udiv.asm b/mpn/arm/udiv.asm +index 25197a6..ed11eb3 100644 +--- a/mpn/arm/udiv.asm ++++ b/mpn/arm/udiv.asm +@@ -50,7 +50,7 @@ L(oop): divstep(n1,n0,d) + teq r12, #0 + bne L(oop) + +- str n1, [ rem_ptr ] C store remainder ++ str n1, [rem_ptr] C store remainder + adc r0, n0, n0 C quotient: add last carry from divstep + mov pc, lr + +@@ -89,7 +89,7 @@ L(oop2): + addcs n0, n0, #1 C adjust quotient + + L(_even_divisor): +- str n1, [ rem_ptr ] C store remainder ++ str n1, [rem_ptr] C store remainder + mov r0, n0 C quotient + ldmfd sp!, { r8, pc } + EPILOGUE(mpn_udiv_qrnnd) +-- +2.7.4 + diff --git a/package/mpir/Config.in b/package/mpir/Config.in new file mode 100644 index 0000000000..da4cc9f44e --- /dev/null +++ b/package/mpir/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_MPIR + bool "mpir" + select BR2_PACKAGE_GMP + help + MPIR is a highly optimised library for bignum arithmetic + forked from the GMP bignum library. + + http://www.mpir.org/ diff --git a/package/mpir/mpir.hash b/package/mpir/mpir.hash new file mode 100644 index 0000000000..8320337ebb --- /dev/null +++ b/package/mpir/mpir.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 52f63459cf3f9478859de29e00357f004050ead70b45913f2c2269d9708675bb mpir-3.0.0.tar.bz2 diff --git a/package/mpir/mpir.mk b/package/mpir/mpir.mk new file mode 100644 index 0000000000..91f704d30c --- /dev/null +++ b/package/mpir/mpir.mk @@ -0,0 +1,39 @@ +################################################################################ +# +# mpir +# +################################################################################ + +MPIR_VERSION = 3.0.0 +MPIR_SITE = http://www.mpir.org +MPIR_SOURCE = mpir-$(MPIR_VERSION).tar.bz2 +MPIR_LICENSE = LGPL-3.0+ +MPIR_LICENSE_FILES = COPYING.LIB +MPIR_INSTALL_STAGING = YES +MPIR_DEPENDENCIES = gmp host-yasm + +ifeq ($(BR2_MIPS_NABI32),y) +MPIR_CONF_OPTS += ABI=n32 +endif + +ifeq ($(BR2_MIPS_NABI64),y) +MPIR_CONF_OPTS += ABI=64 +endif + +# The optimized ARM assembly code uses ARM-only (i.e not Thumb1/2 +# compatible) instructions. +ifeq ($(BR2_arm)$(BR2_armeb):$(BR2_ARM_CPU_HAS_ARM),y:) +MPIR_CONF_ENV += MPN_PATH="generic" +endif + +# Optimized mips32/mips64 code not suitable for mips32r6/mips64r6 +ifeq ($(BR2_MIPS_CPU_MIPS32R6)$(BR2_MIPS_CPU_MIPS64R6),y) +MPIR_CONF_ENV += MPN_PATH="generic" +endif + +# Optimized powerpc64 code is not suitable for powerpc64le +ifeq ($(BR2_powerpc64le),y) +MPIR_CONF_ENV += MPN_PATH="generic" +endif + +$(eval $(autotools-package)) diff --git a/package/mplayer/0006-musl-ldt.patch b/package/mplayer/0006-musl-ldt.patch new file mode 100644 index 0000000000..8165f6f56a --- /dev/null +++ b/package/mplayer/0006-musl-ldt.patch @@ -0,0 +1,22 @@ +Fixes musl build error + +loader/ldt_keeper.o: In function `Setup_LDT_Keeper': +ldt_keeper.c:(.text+0xab): undefined reference to `modify_ldt' + +Downloaded from +https://github.com/dimkr/rlsd2/blob/master/rules/mplayer/musl.patch + +Signed-off-by: Bernd Kuhls + +diff -rup MPlayer-1.1.1-orig/loader/ldt_keeper.c MPlayer-1.1.1/loader/ldt_keeper.c +--- MPlayer-1.1.1-orig/loader/ldt_keeper.c 2015-04-23 15:07:09.580805888 +0300 ++++ MPlayer-1.1.1/loader/ldt_keeper.c 2015-04-23 15:08:07.736807270 +0300 +@@ -47,7 +47,7 @@ + #if defined(__GLIBC__) && (__GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 0)) + _syscall3( int, modify_ldt, int, func, void *, ptr, unsigned long, bytecount ); + #else +-int modify_ldt(int func, void *ptr, unsigned long bytecount); ++#define modify_ldt(func, ptr, bytecount) syscall(__NR_modify_ldt, func, ptr, bytecount) + #endif + #else + #if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) diff --git a/package/mplayer/0007-fixmmx.patch b/package/mplayer/0007-fixmmx.patch new file mode 100644 index 0000000000..9634a3b667 --- /dev/null +++ b/package/mplayer/0007-fixmmx.patch @@ -0,0 +1,77 @@ +fix compilation failure with MMX + +Fixes +libmpcodecs/vf_fspp.c: In function 'column_fidct_c': +libmpcodecs/vf_fspp.c:750:5: error: unknown type name 'int_simd16_t' +libmpcodecs/vf_fspp.c:751:5: error: unknown type name 'int_simd16_t' +libmpcodecs/vf_fspp.c:752:5: error: unknown type name 'int_simd16_t' +libmpcodecs/vf_fspp.c:753:5: error: unknown type name 'int_simd16_t' +libmpcodecs/vf_fspp.c:789:18: error: 'FIX_0_707106781' undeclared (first use in this function) +libmpcodecs/vf_fspp.c:789:18: note: each undeclared identifier is reported only once for each function it appears in +libmpcodecs/vf_fspp.c:804:21: error: 'FIX_1_414213562_A' undeclared (first use in this function) +libmpcodecs/vf_fspp.c:817:18: error: 'FIX_0_382683433' undeclared (first use in this function) +libmpcodecs/vf_fspp.c:818:18: error: 'FIX_0_541196100' undeclared (first use in this function) +libmpcodecs/vf_fspp.c:819:18: error: 'FIX_1_306562965' undeclared (first use in this function) +libmpcodecs/vf_fspp.c:844:21: error: 'FIX_1_414213562' undeclared (first use in this function) +libmpcodecs/vf_fspp.c:845:21: error: 'FIX_1_847759065' undeclared (first use in this function) +libmpcodecs/vf_fspp.c:846:21: error: 'FIX_1_082392200' undeclared (first use in this function) +libmpcodecs/vf_fspp.c:847:21: error: 'FIX_2_613125930' undeclared (first use in this function) + +found using this defconfig after fixing the original bug: +http://autobuild.buildroot.net/results/642/6422adeef19ec547c7bc3f8ad3b0d51702015240/ + +Downloaded from upstream mailinglist: +http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2016-May/073488.html + +Signed-off-by: Bernd Kuhls + +diff -uNr MPlayer-1.3.0.org/libmpcodecs/vf_fspp.c MPlayer-1.3.0/libmpcodecs/vf_fspp.c +--- MPlayer-1.3.0.org/libmpcodecs/vf_fspp.c 2015-10-17 21:44:31.000000000 +0200 ++++ MPlayer-1.3.0/libmpcodecs/vf_fspp.c 2017-04-10 21:26:57.771819064 +0200 +@@ -173,7 +173,6 @@ + #define store_slice_s store_slice_c + #define store_slice2_s store_slice2_c + #define mul_thrmat_s mul_thrmat_c +-#define column_fidct_s column_fidct_c + #define row_idct_s row_idct_c + #define row_fdct_s row_fdct_c + +@@ -393,7 +392,6 @@ + ); + } + +-static void column_fidct_mmx(int16_t* thr_adr, int16_t *data, int16_t *output, int cnt); + static void row_idct_mmx(int16_t* workspace, + int16_t* output_adr, int output_stride, int cnt); + static void row_fdct_mmx(int16_t *data, const uint8_t *pixels, int line_size, int cnt); +@@ -401,11 +399,18 @@ + #define store_slice_s store_slice_mmx + #define store_slice2_s store_slice2_mmx + #define mul_thrmat_s mul_thrmat_mmx +-#define column_fidct_s column_fidct_mmx + #define row_idct_s row_idct_mmx + #define row_fdct_s row_fdct_mmx + #endif // HAVE_MMX_INLINE + ++#if !HAVE_MMXEXT_INLINE ++static void column_fidct_c(int16_t* thr_adr, int16_t *data, int16_t *output, int cnt); ++#define column_fidct_s column_fidct_c ++#else ++static void column_fidct_mmx(int16_t* thr_adr, int16_t *data, int16_t *output, int cnt); ++#define column_fidct_s column_fidct_mmx ++#endif ++ + static void filter(struct vf_priv_s *p, uint8_t *dst, uint8_t *src, + int dst_stride, int src_stride, + int width, int height, +@@ -728,7 +733,9 @@ + DECLARE_ASM_CONST(8, uint64_t, MM_DESCALE_RND)=C64(4); + DECLARE_ASM_CONST(8, uint64_t, MM_2)=C64(2); + +-#else /* !HAVE_MMXEXT_INLINE */ ++#endif /* !HAVE_MMX_INLINE */ ++ ++#if !HAVE_MMX_INLINE || !HAVE_MMXEXT_INLINE + + typedef int32_t int_simd16_t; + static const int16_t FIX_0_382683433=FIX(0.382683433, 14); diff --git a/package/mplayer/mplayer.mk b/package/mplayer/mplayer.mk index 07307cede2..5313b3a5ef 100644 --- a/package/mplayer/mplayer.mk +++ b/package/mplayer/mplayer.mk @@ -8,7 +8,7 @@ MPLAYER_VERSION = 1.3.0 MPLAYER_SOURCE = MPlayer-$(MPLAYER_VERSION).tar.xz MPLAYER_SITE = http://www.mplayerhq.hu/MPlayer/releases MPLAYER_DEPENDENCIES = host-pkgconf -MPLAYER_LICENSE = GPLv2 +MPLAYER_LICENSE = GPL-2.0 MPLAYER_LICENSE_FILES = LICENSE Copyright MPLAYER_CFLAGS = $(TARGET_CFLAGS) MPLAYER_LDFLAGS = $(TARGET_LDFLAGS) @@ -56,7 +56,7 @@ MPLAYER_CONF_OPTS += --disable-sdl endif ifeq ($(BR2_PACKAGE_FREETYPE),y) -MPLAYER_CONF_OPTS += \ +MPLAYER_CONF_OPTS += \ --enable-freetype \ --with-freetype-config=$(STAGING_DIR)/usr/bin/freetype-config MPLAYER_DEPENDENCIES += freetype @@ -128,7 +128,7 @@ MPLAYER_CONF_OPTS += --disable-libcdio # We intentionally don't pass --enable-dvdread, to let the # autodetection find which library to link with. ifeq ($(BR2_PACKAGE_LIBDVDREAD),y) -MPLAYER_CONF_OPTS += \ +MPLAYER_CONF_OPTS += \ --with-dvdread-config="$(PKG_CONFIG_HOST_BINARY) dvdread" MPLAYER_DEPENDENCIES += libdvdread endif @@ -136,7 +136,7 @@ endif # We intentionally don't pass --enable-dvdnav to let the autodetection # find which library to link with. ifeq ($(BR2_PACKAGE_LIBDVDNAV),y) -MPLAYER_CONF_OPTS += \ +MPLAYER_CONF_OPTS += \ --with-dvdnav-config="$(PKG_CONFIG_HOST_BINARY) dvdnav" MPLAYER_DEPENDENCIES += libdvdnav endif @@ -224,6 +224,12 @@ else MPLAYER_CONF_OPTS += --disable-gif endif +# We intentionally don't pass --enable-pulse, to let the +# autodetection find which library to link with. +ifeq ($(BR2_PACKAGE_PULSEAUDIO),y) +MPLAYER_DEPENDENCIES += pulseaudio +endif + # We intentionally don't pass --enable-librtmp to let autodetection # find which library to link with. ifeq ($(BR2_PACKAGE_RTMPDUMP),y) @@ -279,16 +285,23 @@ MPLAYER_CFLAGS += -mfpu=neon endif endif +define MPLAYER_DISABLE_INLINE_ASM + $(SED) 's,#define HAVE_INLINE_ASM 1,#define HAVE_INLINE_ASM 0,g' \ + $(@D)/config.h + $(SED) 's,#define HAVE_MMX_INLINE 1,#define HAVE_MMX_INLINE 0,g' \ + $(@D)/config.h + $(SED) 's,#define HAVE_MMX_EXTERNAL 1,#define HAVE_MMX_EXTERNAL 0,g' \ + $(@D)/config.h +endef + ifeq ($(BR2_i386),y) -# inline asm breaks with "can't find a register in class 'GENERAL_REGS'" -# inless we free up ebp -MPLAYER_CFLAGS += -fomit-frame-pointer +MPLAYER_POST_CONFIGURE_HOOKS += MPLAYER_DISABLE_INLINE_ASM endif ifeq ($(BR2_X86_CPU_HAS_MMX),y) MPLAYER_CONF_OPTS += \ --enable-mmx \ - --yasm=$(HOST_DIR)/usr/bin/yasm + --yasm=$(HOST_DIR)/bin/yasm MPLAYER_DEPENDENCIES += host-yasm else MPLAYER_CONF_OPTS += \ @@ -297,9 +310,9 @@ MPLAYER_CONF_OPTS += \ endif ifeq ($(BR2_X86_CPU_HAS_SSE),y) -MPLAYER_CONF_OPTS += --enable-sse +MPLAYER_CONF_OPTS += --enable-mmxext --enable-sse else -MPLAYER_CONF_OPTS += --disable-sse +MPLAYER_CONF_OPTS += --disable-mmxext --disable-sse endif ifeq ($(BR2_X86_CPU_HAS_SSE2),y) diff --git a/package/mpv/Config.in b/package/mpv/Config.in index 6e115aedb1..ce6f367d72 100644 --- a/package/mpv/Config.in +++ b/package/mpv/Config.in @@ -12,6 +12,12 @@ config BR2_PACKAGE_MPV select BR2_PACKAGE_ZLIB # Select xkbcommon for wayland to avoid being mysterious select BR2_PACKAGE_LIBXKBCOMMON if BR2_PACKAGE_WAYLAND + # Select all necessary X11 dependencies if X.org is enabled + select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBXINERAMA if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBXSCRNSAVER if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBXRANDR if BR2_PACKAGE_XORG7 help mpv is a fork of mplayer2 and MPlayer. It shares some features with the former projects while introducing many more. diff --git a/package/mpv/mpv.hash b/package/mpv/mpv.hash index 0e7aab7077..60fb84335e 100644 --- a/package/mpv/mpv.hash +++ b/package/mpv/mpv.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 8aeefe5970587dfc454d2b89726b603f156bd7a9ae427654eef0d60c68d94998 v0.23.0.tar.gz +sha256 341d8bf18b75c1f78d5b681480b5b7f5c8b87d97a0d4f53a5648ede9c219a49c v0.27.0.tar.gz diff --git a/package/mpv/mpv.mk b/package/mpv/mpv.mk index 5b83b6d942..730ced6c64 100644 --- a/package/mpv/mpv.mk +++ b/package/mpv/mpv.mk @@ -4,13 +4,13 @@ # ################################################################################ -MPV_VERSION = 0.23.0 +MPV_VERSION = 0.27.0 MPV_SITE = https://github.com/mpv-player/mpv/archive MPV_SOURCE = v$(MPV_VERSION).tar.gz MPV_DEPENDENCIES = \ host-pkgconf ffmpeg zlib \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) -MPV_LICENSE = GPLv2+ +MPV_LICENSE = GPL-2.0+ MPV_LICENSE_FILES = LICENSE MPV_NEEDS_EXTERNAL_WAF = YES @@ -23,6 +23,7 @@ MPV_CONF_OPTS = \ --disable-cdda \ --disable-cocoa \ --disable-coreaudio \ + --disable-cuda-hwaccel \ --disable-libv4l2 \ --disable-opensles \ --disable-rpi \ @@ -133,10 +134,10 @@ endif # OpenGL support ifeq ($(BR2_PACKAGE_HAS_LIBGL),y) -MPV_CONF_OPTS += --enable-gl --enable-standard-gl +MPV_CONF_OPTS += --enable-gl MPV_DEPENDENCIES += libgl else -MPV_CONF_OPTS += --disable-gl --disable-standard-gl +MPV_CONF_OPTS += --disable-gl endif # pulseaudio support @@ -172,7 +173,7 @@ endif # This requires one or more of the egl-drm, wayland, x11 backends # For now we support wayland and x11 ifeq ($(BR2_PACKAGE_LIBVA),y) -ifneq ($(BR2_PACKAGE_WAYLAND)$(BR2_PACKAGE_XLIB_LIBX11),) +ifneq ($(BR2_PACKAGE_WAYLAND)$(BR2_PACKAGE_XORG7),) MPV_CONF_OPTS += --enable-vaapi MPV_DEPENDENCIES += libva else @@ -190,31 +191,12 @@ else MPV_CONF_OPTS += --disable-wayland endif -# Base X11 support -ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y) -MPV_CONF_OPTS += --enable-x11 --disable-xss -MPV_DEPENDENCIES += xlib_libX11 -# xext -ifeq ($(BR2_PACKAGE_XLIB_LIBXEXT),y) -MPV_CONF_OPTS += --enable-xext -MPV_DEPENDENCIES += xlib_libXext -else -MPV_CONF_OPTS += --disable-xext -endif -# xinerama -ifeq ($(BR2_PACKAGE_XLIB_LIBXINERAMA),y) -MPV_CONF_OPTS += --enable-xinerama -MPV_DEPENDENCIES += xlib_libXinerama -else -MPV_CONF_OPTS += --disable-xinerama -endif -# xrandr -ifeq ($(BR2_PACKAGE_XLIB_LIBXRANDR),y) -MPV_CONF_OPTS += --enable-xrandr -MPV_DEPENDENCIES += xlib_libXrandr -else -MPV_CONF_OPTS += --disable-xrandr -endif +# Base X11 support. Config.in ensures that if BR2_PACKAGE_XORG7 is +# enabled, xlib_libX11, xlib_libXext, xlib_libXinerama, +# xlib_libXrandr, xlib_libXScrnSaver. +ifeq ($(BR2_PACKAGE_XORG7),y) +MPV_CONF_OPTS += --enable-x11 +MPV_DEPENDENCIES += xlib_libX11 xlib_libXext xlib_libXinerama xlib_libXrandr xlib_libXScrnSaver # XVideo ifeq ($(BR2_PACKAGE_XLIB_LIBXV),y) MPV_CONF_OPTS += --enable-xv diff --git a/package/mrouted/Config.in b/package/mrouted/Config.in index bf4614d4af..e5d9348d1b 100644 --- a/package/mrouted/Config.in +++ b/package/mrouted/Config.in @@ -4,7 +4,4 @@ config BR2_PACKAGE_MROUTED help An implementation of the DVMRP multicast routing protocol. - If built with uClibc, then UCLIBC_SUPPORT_AI_ADDRCONFIG is - needed in uClibc configuration. - http://github.com/troglobit/mrouted diff --git a/package/mrouted/mrouted.mk b/package/mrouted/mrouted.mk index 2969e36cdc..731e79eb86 100644 --- a/package/mrouted/mrouted.mk +++ b/package/mrouted/mrouted.mk @@ -7,7 +7,7 @@ MROUTED_VERSION = 3.9.7 MROUTED_SITE = $(call github,troglobit,mrouted,$(MROUTED_VERSION)) MROUTED_DEPENDENCIES = host-bison -MROUTED_LICENSE = BSD-3c +MROUTED_LICENSE = BSD-3-Clause MROUTED_LICENSE_FILES = LICENSE define MROUTED_CONFIGURE_CMDS diff --git a/package/msgpack/msgpack.hash b/package/msgpack/msgpack.hash index 8cd8cb6599..f1033ade42 100644 --- a/package/msgpack/msgpack.hash +++ b/package/msgpack/msgpack.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 97a371ef950c89f48e8dba6abeccab07f1887e9ba6dab921de0f985c7d5075fe msgpack-0.5.4.tar.gz +sha256 9c87f80fc651b900772deaef0ab154b63160c74d292529b5be6d06d6485d4640 msgpack-2.1.5.tar.gz diff --git a/package/msgpack/msgpack.mk b/package/msgpack/msgpack.mk index 9e23948608..38df8f53af 100644 --- a/package/msgpack/msgpack.mk +++ b/package/msgpack/msgpack.mk @@ -4,9 +4,15 @@ # ################################################################################ -MSGPACK_VERSION = 0.5.4 -MSGPACK_SITE = http://downloads.sourceforge.net/project/msgpack/msgpack/cpp -MSGPACK_LICENSE = Apache-2.0 -MSGPACK_LICENSE_FILES = COPYING +MSGPACK_VERSION = 2.1.5 +MSGPACK_SITE = $(call github,msgpack,msgpack-c,cpp-$(MSGPACK_VERSION)) +MSGPACK_LICENSE = BSL-1.0 +MSGPACK_LICENSE_FILES = COPYING LICENSE_1_0.txt +MSGPACK_INSTALL_STAGING = YES +MSGPACK_CONF_OPTS = -DMSGPACK_BUILD_EXAMPLES=OFF -$(eval $(autotools-package)) +ifeq ($(BR2_STATIC_LIBS),y) +MSGPACK_CONF_OPTS += -DMSGPACK_ENABLE_SHARED=OFF +endif + +$(eval $(cmake-package)) diff --git a/package/msmtp/msmtp.mk b/package/msmtp/msmtp.mk index 7ede66c0db..1821d39ed2 100644 --- a/package/msmtp/msmtp.mk +++ b/package/msmtp/msmtp.mk @@ -12,7 +12,7 @@ MSMTP_CONF_OPTS = \ --without-libidn \ --disable-gai-idn \ --without-libgsasl -MSMTP_LICENSE = GPLv3+ +MSMTP_LICENSE = GPL-3.0+ MSMTP_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_LIBSECRET),y) diff --git a/package/msr-tools/msr-tools.mk b/package/msr-tools/msr-tools.mk index 4f84a288d2..bfe1a07af8 100644 --- a/package/msr-tools/msr-tools.mk +++ b/package/msr-tools/msr-tools.mk @@ -6,7 +6,7 @@ MSR_TOOLS_VERSION = 1.3 MSR_TOOLS_SITE = $(call github,01org,msr-tools,msr-tools-$(MSR_TOOLS_VERSION)) -MSR_TOOLS_LICENSE = GPLv2 +MSR_TOOLS_LICENSE = GPL-2.0 MSR_TOOLS_LICENSE_FILES = cpuid.c define MSR_TOOLS_BUILD_CMDS diff --git a/package/mtd/0001-mtd-utils-ubinize-Always-return-error-code-at-least-.patch b/package/mtd/0001-mtd-utils-ubinize-Always-return-error-code-at-least-.patch deleted file mode 100644 index 077ca0c6a9..0000000000 --- a/package/mtd/0001-mtd-utils-ubinize-Always-return-error-code-at-least-.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 5f50207231414bfdbac8f0f974a2824f24177d6e Mon Sep 17 00:00:00 2001 -From: Enrico Jorns -Date: Fri, 11 Sep 2015 15:28:13 +0200 -Subject: [PATCH] mtd-utils: ubinize: Always return error code (at least -1) in - case of an error - -ubinize should not fail silenty, this can be very annoying when using -it from other tools that rely on the exit code for determining the -success of their operation. - -Signed-off-by: Enrico Jorns -Signed-off-by: Brian Norris -Signed-off-by: Luca Ceresoli ---- - ubi-utils/ubinize.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/ubi-utils/ubinize.c b/ubi-utils/ubinize.c -index 34f465a..60bbd9a 100644 ---- a/ubi-utils/ubinize.c -+++ b/ubi-utils/ubinize.c -@@ -519,6 +519,7 @@ int main(int argc, char * const argv[]) - */ - seek = ui.peb_size * 2; - if (lseek(args.out_fd, seek, SEEK_SET) != seek) { -+ err = -1; - sys_errmsg("cannot seek file \"%s\"", args.f_out); - goto out_free; - } -@@ -530,6 +531,7 @@ int main(int argc, char * const argv[]) - int fd, j; - - if (!sname) { -+ err = -1; - errmsg("ini-file parsing error (iniparser_getsecname)"); - goto out_free; - } -@@ -550,6 +552,7 @@ int main(int argc, char * const argv[]) - */ - for (j = 0; j < i; j++) { - if (vi[i].id == vi[j].id) { -+ err = -1; - errmsg("volume IDs must be unique, but ID %d " - "in section \"%s\" is not", - vi[i].id, sname); -@@ -557,6 +560,7 @@ int main(int argc, char * const argv[]) - } - - if (!strcmp(vi[i].name, vi[j].name)) { -+ err = -1; - errmsg("volume name must be unique, but name " - "\"%s\" in section \"%s\" is not", - vi[i].name, sname); -@@ -580,6 +584,7 @@ int main(int argc, char * const argv[]) - if (img) { - fd = open(img, O_RDONLY); - if (fd == -1) { -+ err = fd; - sys_errmsg("cannot open \"%s\"", img); - goto out_free; - } --- -1.9.1 - diff --git a/package/mtd/0002-integck-only-use-execinfo.h-when-INTEGCK_DEBUG-is-en.patch b/package/mtd/0002-integck-only-use-execinfo.h-when-INTEGCK_DEBUG-is-en.patch deleted file mode 100644 index 0f74a7b5b1..0000000000 --- a/package/mtd/0002-integck-only-use-execinfo.h-when-INTEGCK_DEBUG-is-en.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 30f0cd91b21dbc5d593d61ae44875ad0cb53cb4d Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sat, 16 Jul 2016 11:27:06 +0200 -Subject: [PATCH] integck: only use execinfo.h when INTEGCK_DEBUG is enabled - -Guard the usage of execinfo.h by INTEGCK_DEBUG so that by defaut, -integck builds properly on systems without (uClibc and -musl based systems). As stated in the code, the backtrace() -functionality of will anyway only work properly when -INTEGCK_DEBUG is defined (it makes all functions non-static, which is -needed for backtrace to provide some useful information). - -Signed-off-by: Thomas Petazzoni ---- - tests/fs-tests/integrity/integck.c | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -diff --git a/tests/fs-tests/integrity/integck.c b/tests/fs-tests/integrity/integck.c -index 8badd1f..6ef817e 100644 ---- a/tests/fs-tests/integrity/integck.c -+++ b/tests/fs-tests/integrity/integck.c -@@ -31,7 +31,9 @@ - #include - #include - #include -+#ifdef INTEGCK_DEBUG - #include -+#endif - #include - #include - #include -@@ -248,14 +250,18 @@ static char *random_name_buf; - static void check_failed(const char *cond, const char *func, const char *file, - int line) - { -- int error = errno, count; -+ int error = errno; -+#ifdef INTEGCK_DEBUG -+ int count; - void *addresses[128]; -+#endif - - fflush(stdout); - fflush(stderr); - errmsg("condition '%s' failed in %s() at %s:%d", - cond, func, file, line); - normsg("error %d (%s)", error, strerror(error)); -+#ifdef INTEGCK_DEBUG - /* - * Note, to make this work well you need: - * 1. Make all functions non-static - add "#define static' -@@ -264,6 +270,7 @@ static void check_failed(const char *cond, const char *func, const char *file, - */ - count = backtrace(addresses, 128); - backtrace_symbols_fd(addresses, count, fileno(stdout)); -+#endif - exit(EXIT_FAILURE); - } - --- -2.7.4 - diff --git a/package/mtd/0003-fs-tests-integrity-don-t-include-header-bits-stdio_l.patch b/package/mtd/0003-fs-tests-integrity-don-t-include-header-bits-stdio_l.patch deleted file mode 100644 index 5c0a552ddd..0000000000 --- a/package/mtd/0003-fs-tests-integrity-don-t-include-header-bits-stdio_l.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 600ab10e3b452cdffc6c82770b0bb2ff5c23ad70 Mon Sep 17 00:00:00 2001 -From: Rahul Bedarkar -Date: Fri, 12 Aug 2016 22:59:35 +0530 -Subject: [PATCH 1/1] fs-tests: integrity: don't include header - - -With musl C library, we get following build error - -integck.c:37:28: fatal error: bits/stdio_lim.h: No such file or directory - #include - ^ -compilation terminated. -make[2]: *** [integck] Error 1 - -Header is not available in musl C library. However - has all definition that supposed to be -providing. Moreover shouldn't be included directly -instead we should be using . - -Since we already include and in case of uClibc or glibc - gets included internally, we can safely remove it. - -This build issue is found by Buildroot autobuilder -http://autobuild.buildroot.net/results/175/1754861457af520480cc34d7d2d0edff2868ff66/ - -Signed-off-by: Rahul Bedarkar ---- - tests/fs-tests/integrity/integck.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/tests/fs-tests/integrity/integck.c b/tests/fs-tests/integrity/integck.c -index 6ef817e..0bb9711 100644 ---- a/tests/fs-tests/integrity/integck.c -+++ b/tests/fs-tests/integrity/integck.c -@@ -34,7 +34,6 @@ - #ifdef INTEGCK_DEBUG - #include - #endif --#include - #include - #include - #include --- -2.6.2 - diff --git a/package/mtd/Config.in b/package/mtd/Config.in index 2e6cdbbeb2..590ca7f5ef 100644 --- a/package/mtd/Config.in +++ b/package/mtd/Config.in @@ -6,6 +6,22 @@ config BR2_PACKAGE_MTD http://www.linux-mtd.infradead.org/ if BR2_PACKAGE_MTD + +# The two hidden options below match mtd configure script options +# --enable-jffs and --enable-ubifs + +config BR2_PACKAGE_MTD_JFFS_UTILS + bool + select BR2_PACKAGE_LZO + select BR2_PACKAGE_ZLIB + +config BR2_PACKAGE_MTD_UBIFS_UTILS + bool + select BR2_PACKAGE_LZO + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBUUID + select BR2_PACKAGE_ZLIB + comment "MTD tools selection" config BR2_PACKAGE_MTD_DOCFDISK @@ -50,18 +66,15 @@ config BR2_PACKAGE_MTD_FTL_FORMAT config BR2_PACKAGE_MTD_JFFS2DUMP bool "jffs2dump" + select BR2_PACKAGE_MTD_JFFS_UTILS config BR2_PACKAGE_MTD_MKFSJFFS2 bool "mkfs.jffs2" - select BR2_PACKAGE_ZLIB - select BR2_PACKAGE_LZO + select BR2_PACKAGE_MTD_JFFS_UTILS config BR2_PACKAGE_MTD_MKFSUBIFS bool "mkfs.ubifs" - select BR2_PACKAGE_ZLIB - select BR2_PACKAGE_LZO - select BR2_PACKAGE_UTIL_LINUX - select BR2_PACKAGE_UTIL_LINUX_LIBUUID + select BR2_PACKAGE_MTD_UBIFS_UTILS config BR2_PACKAGE_MTD_MTD_DEBUG bool "mtd_debug" @@ -102,6 +115,7 @@ config BR2_PACKAGE_MTD_SERVE_IMAGE config BR2_PACKAGE_MTD_SUMTOOL bool "sumtool" + select BR2_PACKAGE_MTD_JFFS_UTILS config BR2_PACKAGE_MTD_MTDINFO bool "mtdinfo" @@ -155,10 +169,43 @@ config BR2_PACKAGE_MTD_UBIBLOCK bool "ubiblock" default y +config BR2_PACKAGE_MTD_TESTS + bool "MTD test tools" + depends on BR2_USE_MMU # fork() in fstests + depends on BR2_TOOLCHAIN_HAS_THREADS + help + Build and install tools for testing MTD devices and drivers. + +if BR2_PACKAGE_MTD_TESTS + +config BR2_PACKAGE_MTD_FLASH_READTEST + bool "flash_readtest" + +config BR2_PACKAGE_MTD_FLASH_SPEED + bool "flash_speed" + +config BR2_PACKAGE_MTD_FLASH_STRESS + bool "flash_stress" + +config BR2_PACKAGE_MTD_FLASH_TORTURE + bool "flash_torture" + config BR2_PACKAGE_MTD_INTEGCK bool "integck" - depends on BR2_USE_MMU # fork() - help - Install the integck test program. + +config BR2_PACKAGE_MTD_NANDBITERRS + bool "nandbiterrs" + +config BR2_PACKAGE_MTD_NANDPAGETEST + bool "nandpagetest" + +config BR2_PACKAGE_MTD_NANDSUBPAGETEST + bool "nandsubpagetest" + +endif + +comment "MTD test tools need a toolchain w/ threads" + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_HAS_THREADS endif diff --git a/package/mtd/mtd.hash b/package/mtd/mtd.hash index a99e04e51c..c452654bfb 100644 --- a/package/mtd/mtd.hash +++ b/package/mtd/mtd.hash @@ -1,3 +1,3 @@ # Locally calculated after checking pgp signature -# ftp://ftp.infradead.org/pub/mtd-utils/mtd-utils-1.5.2.tar.bz2.asc -sha256 5db57389280a3abaec5dd23af2590988b70f213fa3929c12a2642c8f9a86f400 mtd-utils-1.5.2.tar.bz2 +# ftp://ftp.infradead.org/pub/mtd-utils/mtd-utils-2.0.1.tar.bz2.asc +sha256 312baa0446e4e728ceb413c53533e41e547d1c13ffa0752b2f879fd289fc2f63 mtd-utils-2.0.1.tar.bz2 diff --git a/package/mtd/mtd.mk b/package/mtd/mtd.mk index acf24d5a83..a69ef4082e 100644 --- a/package/mtd/mtd.mk +++ b/package/mtd/mtd.mk @@ -4,25 +4,31 @@ # ################################################################################ -MTD_VERSION = 1.5.2 +MTD_VERSION = 2.0.1 MTD_SOURCE = mtd-utils-$(MTD_VERSION).tar.bz2 MTD_SITE = ftp://ftp.infradead.org/pub/mtd-utils -MTD_LICENSE = GPLv2 +MTD_LICENSE = GPL-2.0 MTD_LICENSE_FILES = COPYING - MTD_INSTALL_STAGING = YES -ifeq ($(BR2_PACKAGE_MTD_MKFSJFFS2),y) -MTD_DEPENDENCIES = zlib lzo +ifeq ($(BR2_PACKAGE_MTD_JFFS_UTILS),y) +MTD_DEPENDENCIES += zlib lzo host-pkgconf +MTD_CONF_OPTS += --with-jffs +else +MTD_CONF_OPTS += --without-jffs endif -ifeq ($(BR2_PACKAGE_MTD_MKFSUBIFS),y) +ifeq ($(BR2_PACKAGE_MTD_UBIFS_UTILS),y) MTD_DEPENDENCIES += util-linux zlib lzo host-pkgconf -define MTD_ADD_MISSING_LINTL - $(SED) "/^LDLIBS_mkfs\.ubifs/ s%$$% `$(PKG_CONFIG_HOST_BINARY) --libs uuid`%" \ - $(@D)/Makefile -endef -MTD_POST_PATCH_HOOKS += MTD_ADD_MISSING_LINTL +MTD_CONF_OPTS += --with-ubifs +else +MTD_CONF_OPTS += --without-ubifs +endif + +ifeq ($(BR2_PACKAGE_MTD_TESTS),y) +MTD_CONF_OPTS += --enable-tests --enable-install-tests +else +MTD_CONF_OPTS += --disable-tests --disable-install-tests endif ifeq ($(BR2_PACKAGE_BUSYBOX),y) @@ -33,26 +39,17 @@ endif # also be enabled which will also include the attr package. ifeq ($(BR2_PACKAGE_ACL),y) MTD_DEPENDENCIES += acl -MTD_MAKE_OPTS += WITHOUT_XATTR=0 +MTD_CONF_OPTS += --with-xattr else -MTD_MAKE_OPTS += WITHOUT_XATTR=1 +MTD_CONF_OPTS += --without-xattr endif -HOST_MTD_DEPENDENCIES = host-zlib host-lzo host-e2fsprogs +HOST_MTD_DEPENDENCIES = host-zlib host-lzo host-util-linux +HOST_MTD_CONF_OPTS = --disable-tests -define HOST_MTD_BUILD_CMDS - $(HOST_CONFIGURE_OPTS) $(MAKE1) \ - CROSS= BUILDDIR=$(@D) WITHOUT_XATTR=1 -C $(@D) -endef +MKFS_JFFS2 = $(HOST_DIR)/sbin/mkfs.jffs2 +SUMTOOL = $(HOST_DIR)/sbin/sumtool -define HOST_MTD_INSTALL_CMDS - $(MAKE1) BUILDDIR=$(@D) DESTDIR=$(HOST_DIR) -C $(@D) install -endef - -MKFS_JFFS2 = $(HOST_DIR)/usr/sbin/mkfs.jffs2 -SUMTOOL = $(HOST_DIR)/usr/sbin/sumtool - -MTD_STAGING_y = lib/libmtd.a ubi-utils/libubi.a MTD_TARGETS_$(BR2_PACKAGE_MTD_DOCFDISK) += docfdisk MTD_TARGETS_$(BR2_PACKAGE_MTD_DOC_LOADBIOS) += doc_loadbios MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASHCP) += flashcp @@ -79,56 +76,46 @@ MTD_TARGETS_$(BR2_PACKAGE_MTD_RFDDUMP) += rfddump MTD_TARGETS_$(BR2_PACKAGE_MTD_RFDFORMAT) += rfdformat MTD_TARGETS_$(BR2_PACKAGE_MTD_SERVE_IMAGE) += serve_image MTD_TARGETS_$(BR2_PACKAGE_MTD_SUMTOOL) += sumtool - -MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_MTDINFO) += mtdinfo -MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIATTACH) += ubiattach -MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBICRC32) += ubicrc32 -MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIDETACH) += ubidetach -MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIFORMAT) += ubiformat -MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIMKVOL) += ubimkvol -MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBINFO) += ubinfo -MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBINIZE) += ubinize -MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIRENAME) += ubirename -MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIRMVOL) += ubirmvol -MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIRSVOL) += ubirsvol -MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIUPDATEVOL) += ubiupdatevol -MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIBLOCK) += ubiblock - -MTD_TARGETS_y += $(addprefix ubi-utils/,$(MTD_TARGETS_UBI_y)) -MTD_TARGETS_$(BR2_PACKAGE_MTD_MKFSUBIFS) += mkfs.ubifs/mkfs.ubifs - -ifeq ($(BR2_PACKAGE_MTD_INTEGCK),y) -define MTD_BUILD_INTEGCK - $(TARGET_CONFIGURE_OPTS) $(MAKE1) CROSS=$(TARGET_CROSS) \ - BUILDDIR=$(@D) $(MTD_MAKE_OPTS) -C $(@D)/tests/fs-tests all -endef -define MTD_INSTALL_INTEGCK - $(INSTALL) -D -m 755 $(@D)/tests/fs-tests/integrity/integck $(TARGET_DIR)/usr/sbin/integck -endef -endif - -define MTD_BUILD_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE1) CROSS=$(TARGET_CROSS) \ - BUILDDIR=$(@D) $(MTD_MAKE_OPTS) -C $(@D) \ - $(addprefix $(@D)/,$(MTD_TARGETS_y)) \ - $(addprefix $(@D)/,$(MTD_STAGING_y)) - $(MTD_BUILD_INTEGCK) -endef - -define MTD_INSTALL_STAGING_CMDS - $(INSTALL) -D -m 0755 $(@D)/lib/libmtd.a $(STAGING_DIR)/usr/lib/libmtd.a - $(INSTALL) -D -m 0755 $(@D)/ubi-utils/libubi.a $(STAGING_DIR)/usr/lib/libubi.a - $(INSTALL) -D -m 0644 $(@D)/include/libmtd.h $(STAGING_DIR)/usr/include/mtd/libmtd.h - $(INSTALL) -D -m 0644 $(@D)/ubi-utils/include/libubi.h $(STAGING_DIR)/usr/include/mtd/libubi.h - $(INSTALL) -D -m 0644 $(@D)/include/mtd/ubi-media.h $(STAGING_DIR)/usr/include/mtd/ubi-media.h -endef +MTD_TARGETS_$(BR2_PACKAGE_MTD_MTDINFO) += mtdinfo +MTD_TARGETS_$(BR2_PACKAGE_MTD_UBIATTACH) += ubiattach +MTD_TARGETS_$(BR2_PACKAGE_MTD_UBICRC32) += ubicrc32 +MTD_TARGETS_$(BR2_PACKAGE_MTD_UBIDETACH) += ubidetach +MTD_TARGETS_$(BR2_PACKAGE_MTD_UBIFORMAT) += ubiformat +MTD_TARGETS_$(BR2_PACKAGE_MTD_UBIMKVOL) += ubimkvol +MTD_TARGETS_$(BR2_PACKAGE_MTD_UBINFO) += ubinfo +MTD_TARGETS_$(BR2_PACKAGE_MTD_UBINIZE) += ubinize +MTD_TARGETS_$(BR2_PACKAGE_MTD_UBIRENAME) += ubirename +MTD_TARGETS_$(BR2_PACKAGE_MTD_UBIRMVOL) += ubirmvol +MTD_TARGETS_$(BR2_PACKAGE_MTD_UBIRSVOL) += ubirsvol +MTD_TARGETS_$(BR2_PACKAGE_MTD_UBIUPDATEVOL) += ubiupdatevol +MTD_TARGETS_$(BR2_PACKAGE_MTD_UBIBLOCK) += ubiblock +MTD_TARGETS_$(BR2_PACKAGE_MTD_MKFSUBIFS) += mkfs.ubifs +MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_READTEST) += flash_readtest +MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_SPEED) += flash_speed +MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_STRESS) += flash_stress +MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_TORTURE) += flash_torture +MTD_TARGETS_$(BR2_PACKAGE_MTD_INTEGCK) += integck +MTD_TARGETS_$(BR2_PACKAGE_MTD_NANDBITERRS) += nandbiterrs +MTD_TARGETS_$(BR2_PACKAGE_MTD_NANDPAGETEST) += nandpagetest +MTD_TARGETS_$(BR2_PACKAGE_MTD_NANDSUBPAGETEST) += nandsubpagetest define MTD_INSTALL_TARGET_CMDS - for f in $(MTD_TARGETS_y) ; do \ - $(INSTALL) -D -m 0755 $(@D)/$$f $(TARGET_DIR)/usr/sbin/$${f##*/} ; \ - done - $(MTD_INSTALL_INTEGCK) + $(foreach f,$(MTD_TARGETS_y), \ + $(INSTALL) -D -m 0755 $(@D)/$(f) $(TARGET_DIR)/usr/sbin/$(notdir $(f)) + ) endef -$(eval $(generic-package)) -$(eval $(host-generic-package)) +# Those libraries are not installed by "make install", but are needed +# by other packages, such as swupdate. +define MTD_INSTALL_LIBS + $(INSTALL) -D -m 0755 $(@D)/include/libmtd.h $(STAGING_DIR)/usr/include/mtd/libmtd.h + $(INSTALL) -D -m 0755 $(@D)/include/libubi.h $(STAGING_DIR)/usr/include/mtd/libubi.h + $(INSTALL) -D -m 0755 $(@D)/include/mtd/ubi-media.h $(STAGING_DIR)/usr/include/mtd/ubi-media.h + $(INSTALL) -D -m 0755 $(@D)/libmtd.a $(STAGING_DIR)/usr/lib/libmtd.a + $(INSTALL) -D -m 0755 $(@D)/libubi.a $(STAGING_DIR)/usr/lib/libubi.a +endef + +MTD_POST_INSTALL_STAGING_HOOKS += MTD_INSTALL_LIBS + +$(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/mtdev2tuio/Config.in b/package/mtdev2tuio/Config.in index 4195ecfeeb..3e88d21845 100644 --- a/package/mtdev2tuio/Config.in +++ b/package/mtdev2tuio/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_MTDEV2TUIO bool "mtdev2tuio" + depends on BR2_TOOLCHAIN_HAS_THREADS # liblo select BR2_PACKAGE_LIBLO select BR2_PACKAGE_MTDEV - depends on BR2_TOOLCHAIN_HAS_THREADS # liblo help mtdev2tuio is a simple application for converting touch events captured from libmtdev to TUIO 1.1 diff --git a/package/mtdev2tuio/mtdev2tuio.mk b/package/mtdev2tuio/mtdev2tuio.mk index d2e70408f1..e9085b007e 100644 --- a/package/mtdev2tuio/mtdev2tuio.mk +++ b/package/mtdev2tuio/mtdev2tuio.mk @@ -7,7 +7,7 @@ MTDEV2TUIO_VERSION = e1e7378d86abe751158e743586133022f32fa4d1 MTDEV2TUIO_SITE = $(call github,olivopaolo,mtdev2tuio,$(MTDEV2TUIO_VERSION)) MTDEV2TUIO_DEPENDENCIES = mtdev liblo -MTDEV2TUIO_LICENSE = GPLv3+ +MTDEV2TUIO_LICENSE = GPL-3.0+ MTDEV2TUIO_LICENSE_FILES = COPYING # mtdev2tuio Makefile misuses $(LD) as gcc, so we need to override LD diff --git a/package/mtools/mtools.mk b/package/mtools/mtools.mk index adba1fc473..1a6218831e 100644 --- a/package/mtools/mtools.mk +++ b/package/mtools/mtools.mk @@ -7,15 +7,19 @@ MTOOLS_VERSION = 4.0.18 MTOOLS_SOURCE = mtools-$(MTOOLS_VERSION).tar.bz2 MTOOLS_SITE = $(BR2_GNU_MIRROR)/mtools -MTOOLS_LICENSE = GPLv3+ +MTOOLS_LICENSE = GPL-3.0+ MTOOLS_LICENSE_FILES = COPYING MTOOLS_CONF_OPTS = --without-x # info documentation not needed MTOOLS_CONF_ENV = \ ac_cv_func_setpgrp_void=yes \ + ac_cv_lib_bsd_gethostbyname=no \ + ac_cv_lib_bsd_main=no \ ac_cv_path_INSTALL_INFO= HOST_MTOOLS_CONF_ENV = \ + ac_cv_lib_bsd_gethostbyname=no \ + ac_cv_lib_bsd_main=no \ ac_cv_path_INSTALL_INFO= # link with iconv if enabled diff --git a/package/mtr/mtr.mk b/package/mtr/mtr.mk index 5ee61249eb..82688ed061 100644 --- a/package/mtr/mtr.mk +++ b/package/mtr/mtr.mk @@ -9,7 +9,7 @@ MTR_SITE = $(call github,traviscross,mtr,$(MTR_VERSION)) MTR_AUTORECONF = YES MTR_CONF_OPTS = --without-gtk MTR_DEPENDENCIES = host-pkgconf $(if $(BR2_PACKAGE_NCURSES),ncurses) -MTR_LICENSE = GPLv2 +MTR_LICENSE = GPL-2.0 MTR_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/multicat/multicat.mk b/package/multicat/multicat.mk index cc6eb78d24..6f882667bd 100644 --- a/package/multicat/multicat.mk +++ b/package/multicat/multicat.mk @@ -7,7 +7,7 @@ MULTICAT_VERSION = 2.1 MULTICAT_SOURCE = multicat-$(MULTICAT_VERSION).tar.bz2 MULTICAT_SITE = https://get.videolan.org/multicat/$(MULTICAT_VERSION) -MULTICAT_LICENSE = GPLv2+ +MULTICAT_LICENSE = GPL-2.0+ MULTICAT_LICENSE_FILES = COPYING MULTICAT_DEPENDENCIES = bitstream diff --git a/package/musepack/musepack.mk b/package/musepack/musepack.mk index db613a0a08..fc66c684a5 100644 --- a/package/musepack/musepack.mk +++ b/package/musepack/musepack.mk @@ -10,7 +10,7 @@ MUSEPACK_SOURCE = musepack_src_$(MUSEPACK_VERSION).tar.gz MUSEPACK_DEPENDENCIES = libcuefile libreplaygain MUSEPACK_INSTALL_STAGING = YES MUSEPACK_MAKE = $(MAKE1) -MUSEPACK_LICENSE = BSD-3c (*mpcdec), LGPLv2.1+ (*mpcenc) +MUSEPACK_LICENSE = BSD-3-Clause (*mpcdec), LGPL-2.1+ (*mpcenc) MUSEPACK_LICENSE_FILES = libmpcdec/COPYING libmpcenc/quant.c $(eval $(cmake-package)) diff --git a/package/musl-compat-headers/musl-compat-headers.mk b/package/musl-compat-headers/musl-compat-headers.mk index 25e032c727..91f5074ef6 100644 --- a/package/musl-compat-headers/musl-compat-headers.mk +++ b/package/musl-compat-headers/musl-compat-headers.mk @@ -9,7 +9,7 @@ MUSL_COMPAT_HEADERS_QUEUE_H = http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/sys/qu MUSL_COMPAT_HEADERS_EXTRA_DOWNLOADS = $(MUSL_COMPAT_HEADERS_QUEUE_H) -MUSL_COMPAT_HEADERS_LICENSE = BSD-3c, Public Domain or CC0 +MUSL_COMPAT_HEADERS_LICENSE = BSD-3-Clause, Public Domain or CC0 MUSL_COMPAT_HEADERS_LICENSE_FILES = queue.h cdefs.h MUSL_COMPAT_HEADERS_ADD_TOOLCHAIN_DEPENDENCY = NO diff --git a/package/musl/0002-arm-atomics-asm-with-new-binutils.patch b/package/musl/0002-arm-atomics-asm-with-new-binutils.patch new file mode 100644 index 0000000000..3790889d7f --- /dev/null +++ b/package/musl/0002-arm-atomics-asm-with-new-binutils.patch @@ -0,0 +1,43 @@ +From b261a24256792177a5f0531dbb25cc6267220ca5 Mon Sep 17 00:00:00 2001 +From: Rich Felker +Date: Wed, 15 Feb 2017 17:05:50 -0500 +Subject: fix build regression in arm atomics asm with new binutils + +binutils commit bada43421274615d0d5f629a61a60b7daa71bc15 tightened +immediate fixup handling in gas in such a way that the final .arch of +an object file must be compatible with the fixups used when the +instruction was assembled; this in turn broke assembling of atomics.s, +at least in thumb mode. + +it's not clear whether this should be considered a bug in gas, but +.object_arch is preferable anyway for our purpose here of controlling +the ISA level tag on the object file being produced, and it's the +intended directive for use in object files with runtime code +selection. research by Szabolcs Nagy confirmed that .object_arch is +supported in all relevant versions of binutils and clang's integrated +assembler. + +patch by Reiner Herrmann. + +Signed-off-by: Timothy Lee +[Backport from upstream https://git.musl-libc.org/cgit/musl/commit/?id=b261a24256792177a5f0531dbb25cc6267220ca5.] +--- + src/thread/arm/atomics.s | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/thread/arm/atomics.s b/src/thread/arm/atomics.s +index 202faa4..101ad39 100644 +--- a/src/thread/arm/atomics.s ++++ b/src/thread/arm/atomics.s +@@ -84,7 +84,7 @@ __a_gettp_cp15: + bx lr + + /* Tag this file with minimum ISA level so as not to affect linking. */ +-.arch armv4t ++.object_arch armv4t + .eabi_attribute 6,2 + + .data +-- +cgit v0.11.2 + diff --git a/package/musl/0003-in-dns-parsing-callback-enforce-MAXADDRS-to-preclude.patch b/package/musl/0003-in-dns-parsing-callback-enforce-MAXADDRS-to-preclude.patch new file mode 100644 index 0000000000..c6b5ef26b4 --- /dev/null +++ b/package/musl/0003-in-dns-parsing-callback-enforce-MAXADDRS-to-preclude.patch @@ -0,0 +1,35 @@ +From 45ca5d3fcb6f874bf5ba55d0e9651cef68515395 Mon Sep 17 00:00:00 2001 +From: Rich Felker +Date: Wed, 18 Oct 2017 14:50:03 -0400 +Subject: [PATCH] in dns parsing callback, enforce MAXADDRS to preclude + overflow + +MAXADDRS was chosen not to need enforcement, but the logic used to +compute it assumes the answers received match the RR types of the +queries. specifically, it assumes that only one replu contains A +record answers. if the replies to both the A and the AAAA query have +their answer sections filled with A records, MAXADDRS can be exceeded +and clobber the stack of the calling function. + +this bug was found and reported by Felix Wilhelm. + +Signed-off-by: Peter Korsgaard +--- + src/network/lookup_name.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/network/lookup_name.c b/src/network/lookup_name.c +index 066be4d5..209c20f0 100644 +--- a/src/network/lookup_name.c ++++ b/src/network/lookup_name.c +@@ -111,6 +111,7 @@ static int dns_parse_callback(void *c, int rr, const void *data, int len, const + { + char tmp[256]; + struct dpc_ctx *ctx = c; ++ if (ctx->cnt >= MAXADDRS) return -1; + switch (rr) { + case RR_A: + if (len != 4) return -1; +-- +2.11.0 + diff --git a/package/musl/Config.in b/package/musl/Config.in index 2775313af5..bedc50cd45 100644 --- a/package/musl/Config.in +++ b/package/musl/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_MUSL bool - depends on BR2_TOOLCHAIN_USES_MUSL default y + depends on BR2_TOOLCHAIN_USES_MUSL select BR2_PACKAGE_LINUX_HEADERS # SSP broken on i386/ppc: http://www.openwall.com/lists/musl/2016/12/04/2 select BR2_TOOLCHAIN_HAS_SSP if !(BR2_i386 || BR2_powerpc) diff --git a/package/mutt/0001-nodoc.patch b/package/mutt/0001-nodoc.patch deleted file mode 100644 index 6fd556dcbc..0000000000 --- a/package/mutt/0001-nodoc.patch +++ /dev/null @@ -1,21 +0,0 @@ -Disable the documentation build - -The documentation tool is compiled for the target, but executed on the -host. We don't bother fixing this, as we don't care of the -documentation in Buildroot. - -Signed-off-by: Thomas Petazzoni - -Index: mutt-1.5.17+20080114/Makefile.am -=================================================================== ---- mutt-1.5.17+20080114.orig/Makefile.am 2010-05-15 18:15:08.000000000 +0200 -+++ mutt-1.5.17+20080114/Makefile.am 2010-05-15 18:15:17.000000000 +0200 -@@ -9,7 +9,7 @@ - IMAP_INCLUDES = -I$(top_srcdir)/imap - endif - --SUBDIRS = m4 po intl doc contrib $(IMAP_SUBDIR) -+SUBDIRS = m4 po intl contrib $(IMAP_SUBDIR) - - bin_SCRIPTS = muttbug flea @SMIMEAUX_TARGET@ - diff --git a/package/mutt/mutt.hash b/package/mutt/mutt.hash index 460cd5f04f..f6dc472d48 100644 --- a/package/mutt/mutt.hash +++ b/package/mutt/mutt.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 e9c6f88e83d48690033f0d862a70293ac746286b77241554f5448bc23bd0d6df mutt-1.7.1.tar.gz +sha256 9b81746d67ffeca5ea44f60893b70dc93c86d4bc10187d4dd360185e4d42ed42 mutt-1.8.3.tar.gz diff --git a/package/mutt/mutt.mk b/package/mutt/mutt.mk index cd44ca101d..b0bf5a7b41 100644 --- a/package/mutt/mutt.mk +++ b/package/mutt/mutt.mk @@ -4,13 +4,12 @@ # ################################################################################ -MUTT_VERSION = 1.7.1 +MUTT_VERSION = 1.8.3 MUTT_SITE = https://bitbucket.org/mutt/mutt/downloads -MUTT_LICENSE = GPLv2+ +MUTT_LICENSE = GPL-2.0+ MUTT_LICENSE_FILES = GPL MUTT_DEPENDENCIES = ncurses -MUTT_CONF_OPTS = --disable-smtp -MUTT_AUTORECONF = YES +MUTT_CONF_OPTS = --disable-doc --disable-smtp ifeq ($(BR2_PACKAGE_LIBICONV),y) MUTT_DEPENDENCIES += libiconv @@ -67,6 +66,7 @@ MUTT_CONF_ENV += \ MUTT_CONF_OPTS += --with-mailpath=/var/mail define MUTT_VAR_MAIL + mkdir -p $(TARGET_DIR)/var ln -sf /tmp $(TARGET_DIR)/var/mail endef MUTT_POST_INSTALL_TARGET_HOOKS += MUTT_VAR_MAIL diff --git a/package/mxml/mxml.mk b/package/mxml/mxml.mk index f36c75cabb..ac270bd1bb 100644 --- a/package/mxml/mxml.mk +++ b/package/mxml/mxml.mk @@ -5,8 +5,8 @@ ################################################################################ MXML_VERSION = 2.10 -MXML_SITE = http://www.msweet.org/files/project3 -MXML_LICENSE = LGPLv2+ with exceptions +MXML_SITE = https://github.com/michaelrsweet/mxml/releases/download/release-$(MXML_VERSION) +MXML_LICENSE = LGPL-2.0+ with exceptions MXML_LICENSE_FILES = COPYING MXML_INSTALL_STAGING = YES diff --git a/package/mxsldr/mxsldr.mk b/package/mxsldr/mxsldr.mk index fa7ca8447a..239b40ad29 100644 --- a/package/mxsldr/mxsldr.mk +++ b/package/mxsldr/mxsldr.mk @@ -6,7 +6,7 @@ MXSLDR_VERSION = 2793a657ab7a22487d21c1b020957806f8ae8383 MXSLDR_SITE = git://git.denx.de/mxsldr.git -MXSLDR_LICENSE = GPLv2+ +MXSLDR_LICENSE = GPL-2.0+ MXSLDR_LICENSE_FILES = COPYING HOST_MXSLDR_DEPENDENCIES = host-libusb host-pkgconf @@ -15,7 +15,7 @@ define HOST_MXSLDR_BUILD_CMDS endef define HOST_MXSLDR_INSTALL_CMDS - $(INSTALL) -m 0755 -D $(@D)/mxsldr $(HOST_DIR)/usr/bin/mxsldr + $(INSTALL) -m 0755 -D $(@D)/mxsldr $(HOST_DIR)/bin/mxsldr endef $(eval $(host-generic-package)) diff --git a/package/nano/0001-fix-compilation-when-configured-with-enable-tiny.patch b/package/nano/0001-fix-compilation-when-configured-with-enable-tiny.patch new file mode 100644 index 0000000000..db684f9832 --- /dev/null +++ b/package/nano/0001-fix-compilation-when-configured-with-enable-tiny.patch @@ -0,0 +1,43 @@ +From 28cfab7580c42a6d6c9c5d787ce736094fd51a0c Mon Sep 17 00:00:00 2001 +From: Benno Schulenberg +Date: Tue, 29 Aug 2017 19:28:44 +0200 +Subject: tweaks: fix compilation when configured with --enable-tiny + +When moving the cursor to the top-left corner, it is not necessary +to compute leftedge because firstcolumn IS the relevant leftedge. + +Reported-by: Jordi Mallach + +Downloaded from upstream master branch: +http://git.savannah.gnu.org/cgit/nano.git/commit/?id=28cfab7580c42a6d6c9c5d787ce736094fd51a0c + +Signed-off-by: Bernd Kuhls +--- + src/move.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/move.c b/src/move.c +index d138356..ce276e4 100644 +--- a/src/move.c ++++ b/src/move.c +@@ -121,7 +121,7 @@ void do_page_up(void) + openfile->current = openfile->edittop; + openfile->current_y = 0; + +- leftedge = leftedge_for(openfile->firstcolumn, openfile->edittop); ++ leftedge = openfile->firstcolumn; + target_column = 0; + } else + get_edge_and_target(&leftedge, &target_column); +@@ -152,7 +152,7 @@ void do_page_down(void) + openfile->current = openfile->edittop; + openfile->current_y = 0; + +- leftedge = leftedge_for(openfile->firstcolumn, openfile->edittop); ++ leftedge = openfile->firstcolumn; + target_column = 0; + } else + get_edge_and_target(&leftedge, &target_column); +-- +cgit v1.0-41-gc330 + diff --git a/package/nano/nano.hash b/package/nano/nano.hash index aa3e27b917..4e0abc4489 100644 --- a/package/nano/nano.hash +++ b/package/nano/nano.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 752170643039e2c95a433de357f0c70a8c4c4c561a90a7e7259a63e225b659b9 nano-2.7.4.tar.xz +sha256 fbe31746958698d73c6726ee48ad8b0612697157961a2e9aaa83b4aa53d1165a nano-2.8.7.tar.xz diff --git a/package/nano/nano.mk b/package/nano/nano.mk index 4632bed3b1..f1c172ffd5 100644 --- a/package/nano/nano.mk +++ b/package/nano/nano.mk @@ -4,11 +4,11 @@ # ################################################################################ -NANO_VERSION_MAJOR = 2.7 -NANO_VERSION = $(NANO_VERSION_MAJOR).4 +NANO_VERSION_MAJOR = 2.8 +NANO_VERSION = $(NANO_VERSION_MAJOR).7 NANO_SITE = https://www.nano-editor.org/dist/v$(NANO_VERSION_MAJOR) NANO_SOURCE = nano-$(NANO_VERSION).tar.xz -NANO_LICENSE = GPLv3+ +NANO_LICENSE = GPL-3.0+ NANO_LICENSE_FILES = COPYING NANO_CONF_OPTS = \ --without-slang \ diff --git a/package/nanocom/nanocom.mk b/package/nanocom/nanocom.mk index caab3680e4..7893cc6bbe 100644 --- a/package/nanocom/nanocom.mk +++ b/package/nanocom/nanocom.mk @@ -8,7 +8,7 @@ NANOCOM_VERSION = 1.0 NANOCOM_SOURCE = nanocom.tar.gz NANOCOM_SITE = http://downloads.sourceforge.net/project/nanocom/nanocom/v$(NANOCOM_VERSION) NANOCOM_STRIP_COMPONENTS = 0 -NANOCOM_LICENSE = GPLv2+ +NANOCOM_LICENSE = GPL-2.0+ NANOCOM_LICENSE_FILES = COPYING define NANOCOM_BUILD_CMDS diff --git a/package/nanomsg/Config.in b/package/nanomsg/Config.in new file mode 100644 index 0000000000..0cab8b4771 --- /dev/null +++ b/package/nanomsg/Config.in @@ -0,0 +1,23 @@ +config BR2_PACKAGE_NANOMSG + bool "nanomsg" + depends on BR2_TOOLCHAIN_HAS_THREADS + help + nanomsg is a socket library that provides several common + communication patterns. It aims to make the networking layer + fast, scalable, and easy to use. Implemented in C, it works + on a wide range of operating systems with no further + dependencies. + + http://nanomsg.org/ + +if BR2_PACKAGE_NANOMSG + +config BR2_PACKAGE_NANOMSG_TOOLS + bool "Build nanomsg tools" + help + Build nanomsg tools + +endif + +comment "nanomsg needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/nanomsg/nanomsg.hash b/package/nanomsg/nanomsg.hash new file mode 100644 index 0000000000..5164a754ea --- /dev/null +++ b/package/nanomsg/nanomsg.hash @@ -0,0 +1,5 @@ +# Locally computed +sha256 24afdeb71b2e362e8a003a7ecc906e1b84fd9f56ce15ec567481d1bb33132cc7 nanomsg-1.0.0.tar.gz + +# Hash for license file: +sha256 4e51f6a04312ea7c5f4f0e92d91b6415c1eeb09bdaf86a6fd11d93499457c07a COPYING diff --git a/package/nanomsg/nanomsg.mk b/package/nanomsg/nanomsg.mk new file mode 100644 index 0000000000..3b1c2ca0c4 --- /dev/null +++ b/package/nanomsg/nanomsg.mk @@ -0,0 +1,24 @@ +################################################################################ +# +# nanomsg +# +################################################################################ + +NANOMSG_VERSION = 1.0.0 +NANOMSG_SITE = $(call github,nanomsg,nanomsg,$(NANOMSG_VERSION)) +NANOMSG_INSTALL_STAGING = YES +NANOMSG_LICENSE = MIT +NANOMSG_LICENSE_FILES = COPYING +NANOMSG_CONF_OPTS = -DNN_ENABLE_DOC=OFF -DNN_TESTS=OFF + +ifeq ($(BR2_STATIC_LIBS),y) +NANOMSG_CONF_OPTS += -DNN_STATIC_LIB=ON +endif + +ifeq ($(BR2_PACKAGE_NANOMSG_TOOLS),y) +NANOMSG_CONF_OPTS += -DNN_TOOLS=ON +else +NANOMSG_CONF_OPTS += -DNN_TOOLS=OFF +endif + +$(eval $(cmake-package)) diff --git a/package/nasm/nasm.hash b/package/nasm/nasm.hash index 5d7c36dec5..b88671c10a 100644 --- a/package/nasm/nasm.hash +++ b/package/nasm/nasm.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 4c866b60c0b1c4ebc715205d007b4640ff4e36af637c9a7deb87b2900e544321 nasm-2.12.02.tar.xz +sha256 aa0213008f0433ecbe07bb628506a5c4be8079be20fc3532a5031fd639db9a5e nasm-2.13.01.tar.xz diff --git a/package/nasm/nasm.mk b/package/nasm/nasm.mk index f5d9ea0bbd..3e2515e2ee 100644 --- a/package/nasm/nasm.mk +++ b/package/nasm/nasm.mk @@ -4,10 +4,10 @@ # ################################################################################ -NASM_VERSION = 2.12.02 +NASM_VERSION = 2.13.01 NASM_SOURCE = nasm-$(NASM_VERSION).tar.xz NASM_SITE = http://www.nasm.us/pub/nasm/releasebuilds/$(NASM_VERSION) -NASM_LICENSE = BSD-2c +NASM_LICENSE = BSD-2-Clause NASM_LICENSE_FILES = LICENSE $(eval $(host-autotools-package)) diff --git a/package/nbd/Config.in b/package/nbd/Config.in index a5ded2984b..ad9fb5cc5f 100644 --- a/package/nbd/Config.in +++ b/package/nbd/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_NBD bool "nbd" - depends on BR2_USE_WCHAR # glib2 - depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 - depends on BR2_USE_MMU # glib2 + depends on BR2_USE_WCHAR + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_USE_MMU select BR2_PACKAGE_LIBGLIB2 help NBD is a set of utilities to configure network block devices, @@ -12,16 +12,21 @@ config BR2_PACKAGE_NBD if BR2_PACKAGE_NBD -config BR2_NBD_CLIENT +config BR2_PACKAGE_NBD_CLIENT bool "nbd client" default y help - the client part of NBD. + The client part of NBD. -config BR2_NBD_SERVER +config BR2_PACKAGE_NBD_SERVER bool "nbd server" help - the server part of NBD. + The server part of NBD. + +config BR2_PACKAGE_NBD_TRDUMP + bool "nbd trdump" + help + Utility to dump server logs in human-readable form. endif diff --git a/package/nbd/nbd.hash b/package/nbd/nbd.hash index c90682f481..03234fd876 100644 --- a/package/nbd/nbd.hash +++ b/package/nbd/nbd.hash @@ -1,3 +1,3 @@ # From http://sourceforge.net/projects/nbd/files/nbd/3.13/ -md5 784be37497cc2f9a53c67c8c77d1676d nbd-3.13.tar.xz -sha1 e43674a2d2b42d20719cba3149748e8f5683e554 nbd-3.13.tar.xz +md5 f52a4ef8979d81e6c15a745236582fdf nbd-3.15.2.tar.xz +sha1 c8248dd76641a31189735407cd4d55fe63969c08 nbd-3.15.2.tar.xz diff --git a/package/nbd/nbd.mk b/package/nbd/nbd.mk index d91c2d717e..82de1c487d 100644 --- a/package/nbd/nbd.mk +++ b/package/nbd/nbd.mk @@ -4,12 +4,12 @@ # ################################################################################ -NBD_VERSION = 3.13 +NBD_VERSION = 3.15.2 NBD_SOURCE = nbd-$(NBD_VERSION).tar.xz NBD_SITE = http://downloads.sourceforge.net/project/nbd/nbd/$(NBD_VERSION) NBD_CONF_OPTS = --enable-lfs NBD_DEPENDENCIES = libglib2 -NBD_LICENSE = GPLv2 +NBD_LICENSE = GPL-2.0 NBD_LICENSE_FILES = COPYING ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y) @@ -18,15 +18,18 @@ ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y) NBD_CONF_ENV = ac_cv_header_linux_falloc_h=no endif -ifneq ($(BR2_NBD_CLIENT),y) -NBD_TOREMOVE += nbd-client +ifneq ($(BR2_PACKAGE_NBD_CLIENT),y) +NBD_TOREMOVE += /usr/sbin/nbd-client endif -ifneq ($(BR2_NBD_SERVER),y) -NBD_TOREMOVE += nbd-server +ifneq ($(BR2_PACKAGE_NBD_SERVER),y) +NBD_TOREMOVE += /usr/bin/nbd-server +endif +ifneq ($(BR2_PACKAGE_NBD_TRDUMP),y) +NBD_TOREMOVE += /usr/bin/nbd-trdump endif define NBD_CLEANUP_AFTER_INSTALL - rm -f $(addprefix $(TARGET_DIR)/usr/sbin/, $(NBD_TOREMOVE)) + rm -f $(addprefix $(TARGET_DIR), $(NBD_TOREMOVE)) endef NBD_POST_INSTALL_TARGET_HOOKS += NBD_CLEANUP_AFTER_INSTALL diff --git a/package/ncdu/ncdu.hash b/package/ncdu/ncdu.hash index 4bdda40219..8a0c1d16c5 100644 --- a/package/ncdu/ncdu.hash +++ b/package/ncdu/ncdu.hash @@ -1,3 +1,3 @@ -# From http://dev.yorhel.nl/download/ncdu-1.11.tar.gz.{md5,sha1} -md5 9e44240a5356b029f05f0e70a63c4d12 ncdu-1.11.tar.gz -sha1 8f22d713e6d2b28e1f501eee2bd1e03b55550c8d ncdu-1.11.tar.gz +# From http://dev.yorhel.nl/download/ncdu-1.12.tar.gz.{md5,sha1} +md5 7365ac46c420bc511621216b1747984f ncdu-1.12.tar.gz +sha1 b79b1c44784f334dca74d89a49f49274f14cfeef ncdu-1.12.tar.gz diff --git a/package/ncdu/ncdu.mk b/package/ncdu/ncdu.mk index bccbb8d926..d45e62d95c 100644 --- a/package/ncdu/ncdu.mk +++ b/package/ncdu/ncdu.mk @@ -4,7 +4,7 @@ # ################################################################################ -NCDU_VERSION = 1.11 +NCDU_VERSION = 1.12 NCDU_SITE = http://dev.yorhel.nl/download NCDU_DEPENDENCIES = ncurses diff --git a/package/ncftp/ncftp.hash b/package/ncftp/ncftp.hash index 0a7c26c9b2..f6f7310151 100644 --- a/package/ncftp/ncftp.hash +++ b/package/ncftp/ncftp.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 7abd3e8f848f0efb4bb6a4bc5da58a59524d4378fc8d70a52adb0fe1fd00b89d ncftp-3.2.6-src.tar.xz +sha256 129e5954850290da98af012559e6743de193de0012e972ff939df9b604f81c23 ncftp-3.2.6-src.tar.gz diff --git a/package/ncftp/ncftp.mk b/package/ncftp/ncftp.mk index 5c88556a39..c8c8942333 100644 --- a/package/ncftp/ncftp.mk +++ b/package/ncftp/ncftp.mk @@ -5,20 +5,23 @@ ################################################################################ NCFTP_VERSION = 3.2.6 -NCFTP_SOURCE = ncftp-$(NCFTP_VERSION)-src.tar.xz +# use .gz as upstream .xz tarball has changed after the hash was added for +# 2017.02. Can be changed back to .xz when version is bumped +NCFTP_SOURCE = ncftp-$(NCFTP_VERSION)-src.tar.gz NCFTP_SITE = ftp://ftp.ncftp.com/ncftp NCFTP_TARGET_BINS = ncftp NCFTP_LICENSE = Clarified Artistic License NCFTP_LICENSE_FILES = doc/LICENSE.txt NCFTP_DEPENDENCIES = host-autoconf +NCFTP_CONF_OPTS = --disable-ccdv # The bundled configure script is generated by autoconf 2.13 and doesn't # detect cross-compilation correctly. Therefore, we have to regenerate it. # We need to pass -I because of the non-standard m4 directory name, and # none of the other autotools are used, so the below is the easiest. define NCFTP_RUN_AUTOCONF - (cd $(@D); $(HOST_DIR)/usr/bin/autoconf -I$(@D)/autoconf_local/) + (cd $(@D); $(HOST_DIR)/bin/autoconf -I$(@D)/autoconf_local/) endef NCFTP_PRE_CONFIGURE_HOOKS += NCFTP_RUN_AUTOCONF diff --git a/package/ncmpc/ncmpc.hash b/package/ncmpc/ncmpc.hash index e7646b2e3a..82fae1d78c 100644 --- a/package/ncmpc/ncmpc.hash +++ b/package/ncmpc/ncmpc.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 6e328acb71d06ae9e6c5fced99bc28ae78bcab1a73130b42ce9ab08a814ecea4 ncmpc-0.25.tar.xz +sha256 f9a26a3fc869cfdf0a16b0ea3e6512c2fe28a031bbc71b1d24a2bf0bbd3e15d9 ncmpc-0.27.tar.xz diff --git a/package/ncmpc/ncmpc.mk b/package/ncmpc/ncmpc.mk index b5fa7cdf3c..31b4f08d14 100644 --- a/package/ncmpc/ncmpc.mk +++ b/package/ncmpc/ncmpc.mk @@ -5,11 +5,11 @@ ################################################################################ NCMPC_VERSION_MAJOR = 0 -NCMPC_VERSION = $(NCMPC_VERSION_MAJOR).25 +NCMPC_VERSION = $(NCMPC_VERSION_MAJOR).27 NCMPC_SOURCE = ncmpc-$(NCMPC_VERSION).tar.xz NCMPC_SITE = http://www.musicpd.org/download/ncmpc/$(NCMPC_VERSION_MAJOR) NCMPC_DEPENDENCIES = host-pkgconf libglib2 libmpdclient ncurses -NCMPC_LICENSE = GPLv2+ +NCMPC_LICENSE = GPL-2.0+ NCMPC_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/ncurses/0001-fixup-pkg-config-handling.patch b/package/ncurses/0001-fixup-pkg-config-handling.patch deleted file mode 100644 index e1cfc75164..0000000000 --- a/package/ncurses/0001-fixup-pkg-config-handling.patch +++ /dev/null @@ -1,89 +0,0 @@ -Change handling of PKG_CONFIG_LIBDIR - -When PKG_CONFIG_LIBDIR was unset in the environment, the configure -script was deducing the PKG_CONFIG_LIBDIR from the location of the -pkg-config binary, which doesn't make a lot of sense, and isn't done -by other autotools based packages. - -Also, the configure script was checking that the directory really -exists. This forced to create the directory *and* provide an absolute -path in PKG_CONFIG_LIBDIR, which didn't play well with the fact that -at installation time, PKG_CONFIG_LIBDIR is suffixed to DESTDIR, which -means that we got two times the staging directory location. - -This patch fixes both of those issues. Also, since ncurses uses a fork -of autoconf 2.13, we can't simply use _AUTORECONF=YES, so we also fix -the configure script in this patch. - -Signed-off-by: Thomas Petazzoni - -Index: b/configure -=================================================================== ---- a/configure -+++ b/configure -@@ -3623,27 +3623,20 @@ - - # Leave this as something that can be overridden in the environment. - if test -z "$PKG_CONFIG_LIBDIR" ; then -- PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG" | sed -e 's,/[^/]*/[^/]*$,,'`/lib/pkgconfig -+ PKG_CONFIG_LIBDIR="/usr/lib/pkgconfig" - fi -+ - PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG_LIBDIR" | sed -e 's/^://' -e 's/:.*//'` -- if test -n "$PKG_CONFIG_LIBDIR" && test -d "$PKG_CONFIG_LIBDIR" ; then - --# Check whether --enable-pc-files or --disable-pc-files was given. --if test "${enable_pc_files+set}" = set; then -- enableval="$enable_pc_files" -- enable_pc_files=$enableval --else -- enable_pc_files=no --fi; -- echo "$as_me:3638: result: $enable_pc_files" >&5 --echo "${ECHO_T}$enable_pc_files" >&6 -+ # Check whether --enable-pc-files or --disable-pc-files was given. -+ if test "${enable_pc_files+set}" = set; then -+ enableval="$enable_pc_files" -+ enable_pc_files=$enableval - else -- echo "$as_me:3641: result: no" >&5 --echo "${ECHO_T}no" >&6 -- { echo "$as_me:3643: WARNING: did not find library $PKG_CONFIG_LIBDIR" >&5 --echo "$as_me: WARNING: did not find library $PKG_CONFIG_LIBDIR" >&2;} -- enable_pc_files=no -- fi -+ enable_pc_files=no -+ fi; -+ echo "$as_me:3638: result: $enable_pc_files" >&5 -+ echo "${ECHO_T}$enable_pc_files" >&6 - fi - - echo "$as_me:3649: checking if we should assume mixed-case filenames" >&5 -Index: b/configure.in -=================================================================== ---- a/configure.in -+++ b/configure.in -@@ -174,20 +174,14 @@ - - # Leave this as something that can be overridden in the environment. - if test -z "$PKG_CONFIG_LIBDIR" ; then -- PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG" | sed -e 's,/[[^/]]*/[[^/]]*$,,'`/lib/pkgconfig -+ PKG_CONFIG_LIBDIR="/usr/lib/pkgconfig" - fi - PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG_LIBDIR" | sed -e 's/^://' -e 's/:.*//'` -- if test -n "$PKG_CONFIG_LIBDIR" && test -d "$PKG_CONFIG_LIBDIR" ; then -- AC_ARG_ENABLE(pc-files, -+ AC_ARG_ENABLE(pc-files, - [ --enable-pc-files generate and install .pc files for pkg-config], - [enable_pc_files=$enableval], - [enable_pc_files=no]) -- AC_MSG_RESULT($enable_pc_files) -- else -- AC_MSG_RESULT(no) -- AC_MSG_WARN(did not find library $PKG_CONFIG_LIBDIR) -- enable_pc_files=no -- fi -+ AC_MSG_RESULT($enable_pc_files) - fi - AC_SUBST(PKG_CONFIG_LIBDIR) - diff --git a/package/ncurses/0001-gcc-5.x-MKlib_gen.patch b/package/ncurses/0001-gcc-5.x-MKlib_gen.patch new file mode 100644 index 0000000000..df7c15fee9 --- /dev/null +++ b/package/ncurses/0001-gcc-5.x-MKlib_gen.patch @@ -0,0 +1,43 @@ +Fix gcc 5.x build failure + +Extracted from upstream commit +http://ncurses.scripts.mit.edu/?p=ncurses.git;a=commit;h=97bb4678dc03e753290b39bbff30ba2825df9517. + ++ modify MKlib_gen.sh to work around change in development version of + gcc introduced here: + https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02185.html + https://gcc.gnu.org/ml/gcc-patches/2014-07/msg00236.html + (reports by Marcus Shawcroft, Maohui Lei). + +Original author: Thomas E. Dickey +Signed-off-by: Mikhail Peselnik + +--- a/ncurses/base/MKlib_gen.sh 2015-08-06 20:48:24.000000000 -0400 ++++ b/ncurses/base/MKlib_gen.sh 2017-02-07 10:09:01.293962392 -0500 +@@ -491,11 +491,22 @@ + -e 's/gen_$//' \ + -e 's/ / /g' >>$TMP + ++cat >$ED1 < $ED2 ++cat $ED2 >$TMP ++ + $preprocessor $TMP 2>/dev/null \ +-| sed \ +- -e 's/ / /g' \ +- -e 's/^ //' \ +- -e 's/_Bool/NCURSES_BOOL/g' \ ++| sed -f $ED1 \ + | $AWK -f $AW2 \ + | sed -f $ED3 \ + | sed \ diff --git a/package/ncurses/0002-gcc-5.x-MKlib_gen.patch b/package/ncurses/0002-gcc-5.x-MKlib_gen.patch deleted file mode 100644 index 25c2bd02d1..0000000000 --- a/package/ncurses/0002-gcc-5.x-MKlib_gen.patch +++ /dev/null @@ -1,43 +0,0 @@ -Fix gcc 5.x build failure - -Extracted from upstream commit -http://ncurses.scripts.mit.edu/?p=ncurses.git;a=commit;h=97bb4678dc03e753290b39bbff30ba2825df9517. - -+ modify MKlib_gen.sh to work around change in development version of - gcc introduced here: - https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02185.html - https://gcc.gnu.org/ml/gcc-patches/2014-07/msg00236.html - (reports by Marcus Shawcroft, Maohui Lei). - -Original author: Thomas E. Dickey -Signed-off-by: Mikhail Peselnik - ---- a/ncurses/base/MKlib_gen.sh.orig 2015-07-23 21:52:32.239481505 +0300 -+++ b/ncurses/base/MKlib_gen.sh 2015-07-23 21:53:20.772966587 +0300 -@@ -437,11 +437,22 @@ - -e 's/gen_$//' \ - -e 's/ / /g' >>$TMP - -+cat >$ED1 < $ED2 -+cat $ED2 >$TMP -+ - $preprocessor $TMP 2>/dev/null \ --| sed \ -- -e 's/ / /g' \ -- -e 's/^ //' \ -- -e 's/_Bool/NCURSES_BOOL/g' \ -+| sed -f $ED1 \ - | $AWK -f $AW2 \ - | sed -f $ED3 \ - | sed \ diff --git a/package/ncurses/0002-recognise-uclinux.patch b/package/ncurses/0002-recognise-uclinux.patch new file mode 100644 index 0000000000..57dd4cf37f --- /dev/null +++ b/package/ncurses/0002-recognise-uclinux.patch @@ -0,0 +1,29 @@ +aclocal: fix detection for uclinux hosts +uclinux is just a linux like the others... + +Signed-off-by: "Yann E. MORIN" +Signed-off-by: "Adam Duskett" + +--- a/aclocal.m4 2015-08-05 20:46:34.000000000 -0400 ++++ b/aclocal.m4 2017-02-07 09:58:17.770056849 -0500 +@@ -7656,7 +7656,7 @@ + cf_xopen_source="-D_SGI_SOURCE" + cf_XOPEN_SOURCE= + ;; +-(linux*|gnu*|mint*|k*bsd*-gnu) ++(linux*|uclinux*|gnu*|mint*|k*bsd*-gnu) + CF_GNU_SOURCE + ;; + (minix*) +diff -durN a/configure b/configure +--- a/configure 2015-08-05 05:20:32.000000000 -0400 ++++ b/configure 2017-02-07 09:58:52.883886426 -0500 +@@ -7869,7 +7869,7 @@ + cf_xopen_source="-D_SGI_SOURCE" + cf_XOPEN_SOURCE= + ;; +-(linux*|gnu*|mint*|k*bsd*-gnu) ++(linux*|uclinux*|gnu*|mint*|k*bsd*-gnu) + + echo "$as_me:7874: checking if we must define _GNU_SOURCE" >&5 + echo $ECHO_N "checking if we must define _GNU_SOURCE... $ECHO_C" >&6 diff --git a/package/ncurses/0003-recognise-uclinux.patch b/package/ncurses/0003-recognise-uclinux.patch deleted file mode 100644 index e86546cc54..0000000000 --- a/package/ncurses/0003-recognise-uclinux.patch +++ /dev/null @@ -1,30 +0,0 @@ -aclocal: fix detection for uclinux hosts - -uclinux is just a linux like the others... - -Signed-off-by: "Yann E. MORIN" - -diff -durN ncurses-5.9.orig/aclocal.m4 ncurses-5.9/aclocal.m4 ---- ncurses-5.9.orig/aclocal.m4 2011-04-01 01:35:38.000000000 +0200 -+++ ncurses-5.9/aclocal.m4 2016-08-21 15:24:47.003620029 +0200 -@@ -6531,7 +6531,7 @@ - irix[[56]].*) #(vi - cf_xopen_source="-D_SGI_SOURCE" - ;; --linux*|gnu*|mint*|k*bsd*-gnu) #(vi -+linux*|uclinux*|gnu*|mint*|k*bsd*-gnu) #(vi - CF_GNU_SOURCE - ;; - mirbsd*) #(vi -diff -durN ncurses-5.9.orig/configure ncurses-5.9/configure ---- ncurses-5.9.orig/configure 2016-08-21 15:21:50.789285661 +0200 -+++ ncurses-5.9/configure 2016-08-21 15:24:35.187463625 +0200 -@@ -6984,7 +6984,7 @@ - irix[56].*) #(vi - cf_xopen_source="-D_SGI_SOURCE" - ;; --linux*|gnu*|mint*|k*bsd*-gnu) #(vi -+linux*|uclinux*|gnu*|mint*|k*bsd*-gnu) #(vi - - echo "$as_me:6996: checking if we must define _GNU_SOURCE" >&5 - echo $ECHO_N "checking if we must define _GNU_SOURCE... $ECHO_C" >&6 diff --git a/package/ncurses/ncurses.hash b/package/ncurses/ncurses.hash index 482b2d4853..6bca143836 100644 --- a/package/ncurses/ncurses.hash +++ b/package/ncurses/ncurses.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 9046298fb440324c9d4135ecea7879ffed8546dd1b58e59430ea07a4633f563b ncurses-5.9.tar.gz +sha256 f551c24b30ce8bfb6e96d9f59b42fbea30fa3a6123384172f9e7284bcf647260 ncurses-6.0.tar.gz diff --git a/package/ncurses/ncurses.mk b/package/ncurses/ncurses.mk index 9d1b75d641..94c8c9ade3 100644 --- a/package/ncurses/ncurses.mk +++ b/package/ncurses/ncurses.mk @@ -4,13 +4,13 @@ # ################################################################################ -NCURSES_VERSION = 5.9 +NCURSES_VERSION = 6.0 NCURSES_SITE = $(BR2_GNU_MIRROR)/ncurses NCURSES_INSTALL_STAGING = YES NCURSES_DEPENDENCIES = host-ncurses NCURSES_LICENSE = MIT with advertising clause NCURSES_LICENSE_FILES = README -NCURSES_CONFIG_SCRIPTS = ncurses$(NCURSES_LIB_SUFFIX)$(NCURSES_ABI_VERSION)-config +NCURSES_CONFIG_SCRIPTS = ncurses$(NCURSES_LIB_SUFFIX)6-config NCURSES_CONF_OPTS = \ --without-cxx \ @@ -25,14 +25,10 @@ NCURSES_CONF_OPTS = \ --enable-const \ --enable-overwrite \ --enable-pc-files \ + --with-pkg-config-libdir="/usr/lib/pkgconfig" \ $(if $(BR2_PACKAGE_NCURSES_TARGET_PROGS),,--without-progs) \ --without-manpages -# Install after busybox for the full-blown versions -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -NCURSES_DEPENDENCIES += busybox -endif - ifeq ($(BR2_STATIC_LIBS),y) NCURSES_CONF_OPTS += --without-shared --with-normal else ifeq ($(BR2_SHARED_LIBS),y) @@ -51,10 +47,12 @@ endif NCURSES_TERMINFO_FILES = \ a/ansi \ + d/dumb \ l/linux \ p/putty \ p/putty-vt100 \ s/screen \ + s/screen-256color \ v/vt100 \ v/vt100-putty \ v/vt102 \ @@ -62,7 +60,7 @@ NCURSES_TERMINFO_FILES = \ v/vt220 \ x/xterm \ x/xterm-color \ - x/xterm-xfree86 \ + x/xterm-xfree86 ifeq ($(BR2_PACKAGE_NCURSES_WCHAR),y) NCURSES_CONF_OPTS += --enable-widec @@ -99,7 +97,6 @@ NCURSES_LINK_STAGING_LIBS = \ NCURSES_LINK_STAGING_PC = $(call NCURSES_LINK_PC) NCURSES_CONF_OPTS += --enable-ext-colors -NCURSES_ABI_VERSION = 6 NCURSES_TERMINFO_FILES += \ p/putty-256color \ x/xterm+256color \ @@ -108,8 +105,6 @@ NCURSES_TERMINFO_FILES += \ NCURSES_POST_INSTALL_STAGING_HOOKS += NCURSES_LINK_STAGING_LIBS NCURSES_POST_INSTALL_STAGING_HOOKS += NCURSES_LINK_STAGING_PC -else # BR2_PACKAGE_NCURSES_WCHAR -NCURSES_ABI_VERSION = 5 endif # BR2_PACKAGE_NCURSES_WCHAR ifneq ($(BR2_ENABLE_DEBUG),y) diff --git a/package/ndisc6/0001-trace-tcp-upd-uClibc-fix.patch b/package/ndisc6/0001-trace-tcp-upd-uClibc-fix.patch deleted file mode 100644 index f84719cf36..0000000000 --- a/package/ndisc6/0001-trace-tcp-upd-uClibc-fix.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 0be2fe3a750b62cafca9794e37f040624d3a59de Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Thu, 26 Apr 2012 23:45:25 +0200 -Subject: [PATCH] trace-{tcp,udp}.c: fix build on uClibc - -Selection of the BSD variant of struct tcphdr/udphdr on uClibc fails -because of config.h. This is caused by config.h setting _GNU_SOURCE -and the compat handling (uClibc doesn't have inet6_rth_*) including -sys/types.h which in term includes features.h, which figures out -what bsd/gnu/posix variant to use because of: - - /* If _BSD_SOURCE was defined by the user, favor BSD over POSIX. */ - #if defined _BSD_SOURCE && \ - !(defined _POSIX_SOURCE || defined _POSIX_C_SOURCE || \ - defined _XOPEN_SOURCE || defined _XOPEN_SOURCE_EXTENDED || \ - defined _GNU_SOURCE || defined _SVID_SOURCE) - # define __FAVOR_BSD 1 - #endif - -The current workaround of undefining _GNU_SOURCE after config.h doesn't -work as features.h has already been evaluated by then. Instead, simply -don't include config.h as it isn't needed in these two files. - -Signed-off-by: Peter Korsgaard ---- - src/trace-tcp.c | 5 ----- - src/trace-udp.c | 5 ----- - 2 files changed, 10 deletions(-) - -diff --git a/src/trace-tcp.c b/src/trace-tcp.c -index 6a7732d..91b64c2 100644 ---- a/src/trace-tcp.c -+++ b/src/trace-tcp.c -@@ -17,11 +17,6 @@ - * along with this program. If not, see . * - *************************************************************************/ - --#ifdef HAVE_CONFIG_H --# include --#endif -- --#undef _GNU_SOURCE - #define _BSD_SOURCE 1 - - #include -diff --git a/src/trace-udp.c b/src/trace-udp.c -index 821c24c..1754338 100644 ---- a/src/trace-udp.c -+++ b/src/trace-udp.c -@@ -17,11 +17,6 @@ - * along with this program. If not, see . * - *************************************************************************/ - --#ifdef HAVE_CONFIG_H --# include --#endif -- --#undef _GNU_SOURCE - #define _BSD_SOURCE 1 - - #include --- -1.7.10 - diff --git a/package/ndisc6/Config.in b/package/ndisc6/Config.in index 321bfbc963..a397ea6410 100644 --- a/package/ndisc6/Config.in +++ b/package/ndisc6/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_NDISC6 bool "ndisc6 tools" depends on BR2_USE_MMU # fork() - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE help NDisc6 is a small collection of useful tools for IPv6 networking diff --git a/package/ndisc6/ndisc6.hash b/package/ndisc6/ndisc6.hash index 8d71bdeaf1..e37e33e654 100644 --- a/package/ndisc6/ndisc6.hash +++ b/package/ndisc6/ndisc6.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 6acec8a0cb9efa3ac98456f46c3016aeec0598b0c7557c95242b5228ad62ca7a ndisc6-1.0.2.tar.bz2 +sha256 0f41d6caf5f2edc1a12924956ae8b1d372e3b426bd7b11eed7d38bc974eec821 ndisc6-1.0.3.tar.bz2 diff --git a/package/ndisc6/ndisc6.mk b/package/ndisc6/ndisc6.mk index f431035cd3..eb4fbbbc27 100644 --- a/package/ndisc6/ndisc6.mk +++ b/package/ndisc6/ndisc6.mk @@ -4,18 +4,14 @@ # ################################################################################ -NDISC6_VERSION = 1.0.2 +NDISC6_VERSION = 1.0.3 NDISC6_SOURCE = ndisc6-$(NDISC6_VERSION).tar.bz2 NDISC6_SITE = http://www.remlab.net/files/ndisc6 -NDISC6_CONF_ENV = CC="$(TARGET_CC) -std=gnu99" +NDISC6_CONF_ENV = CC="$(TARGET_CC) -std=gnu99" LIBS=$(TARGET_NLS_LIBS) NDISC6_CONF_OPTS = --disable-rpath --disable-suid-install -NDISC6_LICENSE = GPLv2 or GPLv3 +NDISC6_LICENSE = GPL-2.0 or GPL-3.0 NDISC6_LICENSE_FILES = COPYING - -ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y) -NDISC6_DEPENDENCIES += gettext -NDISC6_CONF_ENV += LIBS="-lintl" -endif +NDISC6_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) NDISC6_BIN_ += dnssort # perl script NDISC6_BIN_$(BR2_PACKAGE_NDISC6_NAME2ADDR) += name2addr addr2name diff --git a/package/ne10/ne10.mk b/package/ne10/ne10.mk index aeaa0413b5..cb303bd7b2 100644 --- a/package/ne10/ne10.mk +++ b/package/ne10/ne10.mk @@ -6,7 +6,7 @@ NE10_VERSION = v1.2.0 NE10_SITE = $(call github,projectNe10,Ne10,$(NE10_VERSION)) -NE10_LICENSE = BSD-3c or Apache-2.0 +NE10_LICENSE = BSD-3-Clause or Apache-2.0 NE10_LICENSE_FILES = doc/LICENSE NE10_INSTALL_STAGING = YES @@ -32,7 +32,6 @@ define NE10_INSTALL_STAGING_CMDS $(NE10_INSTALL_STAGING_SHARED_LIB) endef - define NE10_INSTALL_TARGET_CMDS cp -dpf $(@D)/modules/libNE10*.so* $(TARGET_DIR)/usr/lib/ endef diff --git a/package/neard/Config.in b/package/neard/Config.in index 8571e7c9a2..d32d6360de 100644 --- a/package/neard/Config.in +++ b/package/neard/Config.in @@ -14,7 +14,7 @@ config BR2_PACKAGE_NEARD http://git.kernel.org/?p=network/nfc/neard.git;a=summary - https://01.org/linux-nfc/documentation/how-start-linux-nfc-code... + https://01.org/linux-nfc/ if BR2_PACKAGE_NEARD diff --git a/package/neard/neard.hash b/package/neard/neard.hash index 7517093176..d1e74b37bf 100644 --- a/package/neard/neard.hash +++ b/package/neard/neard.hash @@ -1,2 +1,2 @@ # From https://www.kernel.org/pub/linux/network/nfc/sha256sums.asc -sha256 6ea724b443d39d679168fc7776a965d1f64727c3735391df2c01469ee7cd8cca neard-0.14.tar.xz +sha256 eae3b11c541a988ec11ca94b7deab01080cd5b58cfef3ced6ceac9b6e6e65b36 neard-0.16.tar.xz diff --git a/package/neard/neard.mk b/package/neard/neard.mk index ed2c6b1555..a351469102 100644 --- a/package/neard/neard.mk +++ b/package/neard/neard.mk @@ -4,10 +4,10 @@ # ################################################################################ -NEARD_VERSION = 0.14 +NEARD_VERSION = 0.16 NEARD_SOURCE = neard-$(NEARD_VERSION).tar.xz NEARD_SITE = $(BR2_KERNEL_MIRROR)/linux/network/nfc -NEARD_LICENSE = GPLv2 +NEARD_LICENSE = GPL-2.0 NEARD_LICENSE_FILES = COPYING NEARD_DEPENDENCIES = host-pkgconf dbus libglib2 libnl @@ -17,6 +17,13 @@ ifeq ($(BR2_PACKAGE_NEARD_TOOLS),y) NEARD_CONF_OPTS += --enable-tools endif +ifeq ($(BR2_INIT_SYSTEMD),y) +NEARD_CONF_OPTS += --enable-systemd +NEARD_DEPENDENCIES += systemd +else +NEARD_CONF_OPTS += --disable-systemd +endif + define NEARD_INSTALL_INIT_SYSV $(INSTALL) -D -m 0755 package/neard/S53neard \ $(TARGET_DIR)/etc/init.d/S53neard diff --git a/package/neardal/neardal.mk b/package/neardal/neardal.mk index c3164ef0da..f3e55fd99f 100644 --- a/package/neardal/neardal.mk +++ b/package/neardal/neardal.mk @@ -7,7 +7,7 @@ NEARDAL_VERSION = 33b54a55032b047fd885a5eb3592c169c0056c49 NEARDAL_SITE = $(call github,connectivity,neardal,$(NEARDAL_VERSION)) NEARDAL_INSTALL_STAGING = YES -NEARDAL_LICENSE = GPLv2 +NEARDAL_LICENSE = GPL-2.0 NEARDAL_LICENSE_FILES = COPYING NEARDAL_DEPENDENCIES = host-pkgconf dbus dbus-glib diff --git a/package/neon/Config.in b/package/neon/Config.in index e76278c37e..983134339b 100644 --- a/package/neon/Config.in +++ b/package/neon/Config.in @@ -27,8 +27,8 @@ config BR2_PACKAGE_NEON_XML config BR2_PACKAGE_NEON_EXPAT bool "XML support with expat" - select BR2_PACKAGE_EXPAT depends on !BR2_PACKAGE_NEON_LIBXML2 + select BR2_PACKAGE_EXPAT help Enable XML support in neon, using the Expat XML library. diff --git a/package/neon/neon.mk b/package/neon/neon.mk index ca1a6bd876..1b8eb368c2 100644 --- a/package/neon/neon.mk +++ b/package/neon/neon.mk @@ -6,7 +6,7 @@ NEON_VERSION = 0.30.2 NEON_SITE = http://www.webdav.org/neon -NEON_LICENSE = LGPLv2+ (library), GPLv2+ (manual and tests) +NEON_LICENSE = LGPL-2.0+ (library), GPL-2.0+ (manual and tests) NEON_LICENSE_FILES = src/COPYING.LIB test/COPYING README NEON_INSTALL_STAGING = YES NEON_CONF_OPTS = --without-gssapi --disable-rpath diff --git a/package/net-tools/0001-Makefile-fix-static-linking-issue-with-lintl.patch b/package/net-tools/0001-Makefile-fix-static-linking-issue-with-lintl.patch deleted file mode 100644 index a2d674e81d..0000000000 --- a/package/net-tools/0001-Makefile-fix-static-linking-issue-with-lintl.patch +++ /dev/null @@ -1,79 +0,0 @@ -From a2076079a409141704701ec17a205d89e5b24052 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sat, 28 May 2016 20:45:02 +0200 -Subject: [PATCH] Makefile: fix static linking issue with lintl - -When net-tools are build with uClibc-ng and statically linked, -some tools like hostname and route needs to link with -lintl. - -Adding -lintl in LDFLAGS place the library before object files: -arm-linux-gcc -O2 -g -Wall -fno-strict-aliasing -static -lintl -Llib -o hostname hostname.o - -Add $(LIBS) after object files in the Makefile to place -lintl correctly. - -Fixes: -http://autobuild.buildroot.net/results/134/1345b6d366125320b89512e7ce7f142f1a03acf8 - -Ref: -http://lists.busybox.net/pipermail/buildroot/2016-May/162216.html - -Signed-off-by: Romain Naour ---- - Makefile | 20 ++++++++++---------- - 1 file changed, 10 insertions(+), 10 deletions(-) - -diff --git a/Makefile b/Makefile -index 171123d..a2baf79 100644 ---- a/Makefile -+++ b/Makefile -@@ -158,37 +158,37 @@ subdirs: libdir - @for i in $(SUBDIRS:$(NET_LIB_PATH)/=); do $(MAKE) -C $$i || exit $$? ; done - - ifconfig: $(NET_LIB) ifconfig.o -- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ ifconfig.o $(NLIB) -+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ ifconfig.o $(LIBS) $(NLIB) - - nameif: $(NET_LIB) nameif.o - $(CC) $(CFLAGS) $(LDFLAGS) -o $@ nameif.o $(NLIB) - - hostname: hostname.o -- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ hostname.o $(DNLIB) -+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ hostname.o $(LIBS) $(DNLIB) - - route: $(NET_LIB) route.o -- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ route.o $(NLIB) -+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ route.o $(LIBS) $(NLIB) - - arp: $(NET_LIB) arp.o -- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ arp.o $(NLIB) -+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ arp.o $(LIBS) $(NLIB) - - rarp: $(NET_LIB) rarp.o -- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ rarp.o $(NLIB) -+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ rarp.o $(LIBS) $(NLIB) - - slattach: $(NET_LIB) slattach.o -- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ slattach.o $(NLIB) -+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ slattach.o $(LIBS) $(NLIB) - - plipconfig: $(NET_LIB) plipconfig.o -- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ plipconfig.o $(NLIB) -+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ plipconfig.o $(LIBS) $(NLIB) - - netstat: $(NET_LIB) netstat.o statistics.o -- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ netstat.o statistics.o $(NLIB) $(SELIB) -+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ netstat.o statistics.o $(LIBS) $(NLIB) $(SELIB) - - iptunnel: $(NET_LIB) iptunnel.o -- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ iptunnel.o $(NLIB) -+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ iptunnel.o $(LIBS) $(NLIB) - - ipmaddr: $(NET_LIB) ipmaddr.o -- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ ipmaddr.o $(NLIB) -+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ ipmaddr.o $(LIBS) $(NLIB) - - mii-tool: $(NET_LIB) mii-tool.o - $(CC) $(CFLAGS) $(LDFLAGS) -o $@ mii-tool.o $(NLIB) --- -2.5.5 - diff --git a/package/net-tools/0002-iptunnel.c-do-not-include-netinet-ip.h.patch b/package/net-tools/0002-iptunnel.c-do-not-include-netinet-ip.h.patch deleted file mode 100644 index a8658c4fec..0000000000 --- a/package/net-tools/0002-iptunnel.c-do-not-include-netinet-ip.h.patch +++ /dev/null @@ -1,72 +0,0 @@ -From eec38a200357b195efbb23bb645ab721c040f246 Mon Sep 17 00:00:00 2001 -From: Vicente Olivert Riera -Date: Thu, 3 Nov 2016 12:59:39 +0000 -Subject: [PATCH] iptunnel.c: do not include netinet/ip.h - -This fixes a struct redefinition problem like this one: - -================================ -In file included from /usr/include/linux/if_tunnel.h:6:0, - from iptunnel.c:34: -/usr/include/linux/ip.h:85:8: error: redefinition of 'struct iphdr' - struct iphdr { - ^ -In file included from iptunnel.c:29:0: -/usr/include/netinet/ip.h:45:8: note: originally defined here - struct iphdr - ^ -================================ - -iptunnel.c includes netinet/ip.h which contains a definition of the -iphdr struct. - -iptunnel.c also includes linux/if_tunnel.h which includes linux/ip.h -which contains a definition of the iphdr struct. - -So, both netinet/ip.h and linux/ip.h define the iphdr struct, and both -of them have been included directly or indirectly by iptunnel.c. Because -of that the compilation fails due to a struct redefinition. - -The problem can be solved by just not including netinet/ip.h. - -However, some Linux headers included in certain toolchains may not have -an updated linux/if_tunnel.h which includes linux/ip.h, so we need to -include it unconditionally otherwise linux/if_tunnel.h will use the -struct iphdr before being defined and the compilation will also fail in -this way: - -================================ -In file included from iptunnel.c:33:0: -/usr/include/linux/if_tunnel.h:37:16: error: field 'iph' has incomplete type - struct iphdr iph; - ^ -================================ - -Upstream status: merge request sent -https://sourceforge.net/p/net-tools/code/merge-requests/4/ - -Signed-off-by: Vicente Olivert Riera ---- - iptunnel.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/iptunnel.c b/iptunnel.c -index 3fe1b84..e2ec2d8 100644 ---- a/iptunnel.c -+++ b/iptunnel.c -@@ -26,11 +26,11 @@ - #include - #include - #include --#include - #include - #include - #include - #include -+#include - #include - - #include "config.h" --- -2.10.1 - diff --git a/package/net-tools/Config.in b/package/net-tools/Config.in index 3980b7edb8..5e24bd1b70 100644 --- a/package/net-tools/Config.in +++ b/package/net-tools/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_NET_TOOLS bool "net-tools" depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE help A collection of programs that form the base set of the NET-3 networking distribution for the Linux operating system. diff --git a/package/net-tools/net-tools.hash b/package/net-tools/net-tools.hash new file mode 100644 index 0000000000..766b6fa031 --- /dev/null +++ b/package/net-tools/net-tools.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 f7cfe9e73825bac9ab1a6f99d1fc7f54bfd9d33a6f62ba58d28a566905c4e86c net-tools-479bb4a7e11a4084e2935c0a576388f92469225b.tar.gz diff --git a/package/net-tools/net-tools.mk b/package/net-tools/net-tools.mk index f0c61d5c4b..adab475b35 100644 --- a/package/net-tools/net-tools.mk +++ b/package/net-tools/net-tools.mk @@ -4,10 +4,10 @@ # ################################################################################ -NET_TOOLS_VERSION = 3f170bff115303e92319791cbd56371e33dcbf6d +NET_TOOLS_VERSION = 479bb4a7e11a4084e2935c0a576388f92469225b NET_TOOLS_SITE = git://git.code.sf.net/p/net-tools/code -NET_TOOLS_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) -NET_TOOLS_LICENSE = GPLv2+ +NET_TOOLS_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) +NET_TOOLS_LICENSE = GPL-2.0+ NET_TOOLS_LICENSE_FILES = COPYING # Install after busybox for the full-blown versions @@ -20,7 +20,7 @@ define NET_TOOLS_CONFIGURE_CMDS endef # Enable I18N when appropiate -ifeq ($(BR2_ENABLE_LOCALE),y) +ifeq ($(BR2_SYSTEM_ENABLE_NLS),y) define NET_TOOLS_ENABLE_I18N $(SED) 's:I18N 0:I18N 1:' $(@D)/config.h endef @@ -35,7 +35,7 @@ NET_TOOLS_POST_CONFIGURE_HOOKS += NET_TOOLS_ENABLE_I18N NET_TOOLS_ENABLE_IPV6 define NET_TOOLS_BUILD_CMDS $(TARGET_CONFIGURE_OPTS) \ - LIBS="$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),-lintl)" \ + LDFLAGS="$(TARGET_LDFLAGS) $(TARGET_NLS_LIBS)" \ $(MAKE) -C $(@D) endef diff --git a/package/netatalk/0002-no-acl.patch b/package/netatalk/0002-no-acl.patch deleted file mode 100644 index 165141b472..0000000000 --- a/package/netatalk/0002-no-acl.patch +++ /dev/null @@ -1,15 +0,0 @@ -Fix builds without acl, from http://sourceforge.net/p/netatalk/bugs/574/ - -Signed-off-by: Gustavo Zacarias - -diff -Nura netatalk-3.1.7.orig/include/atalk/acl.h netatalk-3.1.7/include/atalk/acl.h ---- netatalk-3.1.7.orig/include/atalk/acl.h 2014-12-03 17:34:49.895524464 -0300 -+++ netatalk-3.1.7/include/atalk/acl.h 2014-12-03 17:34:58.735243283 -0300 -@@ -61,6 +61,7 @@ - #else /* HAVE_ACLS=no */ - - #define O_NETATALK_ACL 0 -+#define O_IGNORE 0 - #define chmod_acl chmod - - #endif /* HAVE_ACLS */ diff --git a/package/netatalk/netatalk.hash b/package/netatalk/netatalk.hash index 955ffd4018..ce78373ae3 100644 --- a/package/netatalk/netatalk.hash +++ b/package/netatalk/netatalk.hash @@ -1,3 +1,3 @@ -# From http://sourceforge.net/projects/netatalk/files/netatalk/3.1.8/ -md5 9cab934ca32b8979f389da52d44c69c2 netatalk-3.1.8.tar.bz2 -sha1 00518461a311e6c17c95738ac214c8f06f863b4b netatalk-3.1.8.tar.bz2 +# From http://sourceforge.net/projects/netatalk/files/netatalk/3.1.11/ +md5 8f79ce2a275b128ebb07188766f088fc netatalk-3.1.11.tar.bz2 +sha1 5aa7900e6f7de3c7ee812aa1130c1245d1974586 netatalk-3.1.11.tar.bz2 diff --git a/package/netatalk/netatalk.mk b/package/netatalk/netatalk.mk index dbe13a9404..28a87509e0 100644 --- a/package/netatalk/netatalk.mk +++ b/package/netatalk/netatalk.mk @@ -4,7 +4,7 @@ # ################################################################################ -NETATALK_VERSION = 3.1.8 +NETATALK_VERSION = 3.1.11 NETATALK_SITE = http://downloads.sourceforge.net/project/netatalk/netatalk/$(NETATALK_VERSION) NETATALK_SOURCE = netatalk-$(NETATALK_VERSION).tar.bz2 # For 0001-Fix-setting-of-LD_LIBRARY_FLAGS-shlibpath_var.patch @@ -12,7 +12,7 @@ NETATALK_AUTORECONF = YES NETATALK_CONFIG_SCRIPTS = netatalk-config NETATALK_DEPENDENCIES = host-pkgconf openssl berkeleydb libgcrypt libgpg-error \ libevent -NETATALK_LICENSE = GPLv2+, LGPLv3+, MIT-like +NETATALK_LICENSE = GPL-2.0+, LGPL-3.0+, MIT-like NETATALK_LICENSE_FILES = COPYING COPYRIGHT # Don't run ldconfig! diff --git a/package/netcat-openbsd/Config.in b/package/netcat-openbsd/Config.in index 0df997cb22..6df87ec688 100644 --- a/package/netcat-openbsd/Config.in +++ b/package/netcat-openbsd/Config.in @@ -1,10 +1,10 @@ config BR2_PACKAGE_NETCAT_OPENBSD bool "netcat-openbsd" - select BR2_PACKAGE_LIBBSD depends on BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_TOOLCHAIN_USES_GLIBC depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS + select BR2_PACKAGE_LIBBSD help A simple Unix utility which reads and writes data across network connections using TCP or UDP protocol. It is designed to be a diff --git a/package/netcat-openbsd/netcat-openbsd.mk b/package/netcat-openbsd/netcat-openbsd.mk index 5abfc7e165..e1a6fee574 100644 --- a/package/netcat-openbsd/netcat-openbsd.mk +++ b/package/netcat-openbsd/netcat-openbsd.mk @@ -6,7 +6,7 @@ NETCAT_OPENBSD_VERSION = debian/1.105-7 NETCAT_OPENBSD_SITE = git://anonscm.debian.org/collab-maint/netcat-openbsd -NETCAT_OPENBSD_LICENSE = BSD-3c +NETCAT_OPENBSD_LICENSE = BSD-3-Clause NETCAT_OPENBSD_LICENSE_FILES = debian/copyright NETCAT_OPENBSD_DEPENDENCIES = host-pkgconf libbsd diff --git a/package/netcat/netcat.mk b/package/netcat/netcat.mk index 5d01ebbad6..eb7ddcac27 100644 --- a/package/netcat/netcat.mk +++ b/package/netcat/netcat.mk @@ -6,7 +6,7 @@ NETCAT_VERSION = 0.7.1 NETCAT_SITE = http://downloads.sourceforge.net/project/netcat/netcat/$(NETCAT_VERSION) -NETCAT_LICENSE = GPLv2+ +NETCAT_LICENSE = GPL-2.0+ NETCAT_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/netplug/S29netplug b/package/netplug/S29netplug index 88f933d556..d3df9ddff5 100755 --- a/package/netplug/S29netplug +++ b/package/netplug/S29netplug @@ -11,6 +11,9 @@ # Copyright 2003 Key Research, Inc. +# Create needed directories +mkdir -p /var/lock/subsys + # Source function library. if [ -f /etc/init.d/functions ]; then . /etc/init.d/functions diff --git a/package/netplug/netplug.mk b/package/netplug/netplug.mk index a165192f8b..9363a71811 100644 --- a/package/netplug/netplug.mk +++ b/package/netplug/netplug.mk @@ -7,7 +7,7 @@ NETPLUG_VERSION = 1.2.9.2 NETPLUG_SOURCE = netplug-$(NETPLUG_VERSION).tar.bz2 NETPLUG_SITE = http://www.red-bean.com/~bos/netplug -NETPLUG_LICENSE = GPLv2 +NETPLUG_LICENSE = GPL-2.0 NETPLUG_LICENSE_FILES = COPYING define NETPLUG_BUILD_CMDS diff --git a/package/netsniff-ng/0001-flowtop-take-PKG_CONFIG-into-account-for-libnetfilte.patch b/package/netsniff-ng/0001-flowtop-take-PKG_CONFIG-into-account-for-libnetfilte.patch new file mode 100644 index 0000000000..bd7619ba7a --- /dev/null +++ b/package/netsniff-ng/0001-flowtop-take-PKG_CONFIG-into-account-for-libnetfilte.patch @@ -0,0 +1,43 @@ +From 2d38d16d86db941fcb4d4fb8ad761e7e163c01e5 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Sun, 16 Apr 2017 07:41:38 +0300 +Subject: [PATCH] flowtop: take PKG_CONFIG into account for + libnetfilter_conntrack + +Use $PKG_CONFIG to determine the linker flags for libnetfilter_conntrack. This +fixes static link failure like the following: + + LD flowtop +.../usr/x86_64-buildroot-linux-musl/sysroot/usr/lib/../lib64/libnetfilter_conntrack.a(main.o): In function `nfct_open_nfnl': +main.c:(.text+0x52): undefined reference to `nfnl_subsys_open' +main.c:(.text+0x69): undefined reference to `nfnl_subsys_close' +main.c:(.text+0x87): undefined reference to `nfnl_subsys_open' +main.c:(.text+0xa3): undefined reference to `nfnl_subsys_close' +.../usr/x86_64-buildroot-linux-musl/sysroot/usr/lib/../lib64/libnetfilter_conntrack.a(main.o): In function `nfct_open': +main.c:(.text+0xc9): undefined reference to `nfnl_open' +main.c:(.text+0xf0): undefined reference to `nfnl_close' +... + +Signed-off-by: Baruch Siach +--- + +Patch status: sent upstream +http://www.mail-archive.com/netsniff-ng%40googlegroups.com/msg01971.html + + flowtop/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/flowtop/Makefile b/flowtop/Makefile +index effe7eb33fc3..e001ce8aaf13 100644 +--- a/flowtop/Makefile ++++ b/flowtop/Makefile +@@ -1,5 +1,5 @@ + flowtop-libs = -lurcu \ +- -lnetfilter_conntrack \ ++ $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKG_CONFIG) --libs libnetfilter_conntrack 2> /dev/null ) \ + $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKG_CONFIG) --libs ncurses 2> /dev/null \ + || echo '-lncurses') \ + $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKG_CONFIG) --libs tinfo 2> /dev/null ) \ +-- +2.11.0 + diff --git a/package/netsniff-ng/0002-proc.h-add-missing-headers.patch b/package/netsniff-ng/0002-proc.h-add-missing-headers.patch new file mode 100644 index 0000000000..6968445659 --- /dev/null +++ b/package/netsniff-ng/0002-proc.h-add-missing-headers.patch @@ -0,0 +1,44 @@ +From 28773ac06d0e0f00d6a56973eacae4f5df9e8cc2 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Sun, 16 Apr 2017 08:11:20 +0300 +Subject: [PATCH] proc.h: add missing headers + +ino_t and pid_t require stat.h and types.h, respectively. Fixes the following +build failure with musl libc: + +In file included from cpp.c:7:0: +proc.h:11:31: error: unknown type name ‘ino_t’ + extern int proc_find_by_inode(ino_t ino, char *cmdline, size_t len, pid_t *pid); + ^ +proc.h:11:69: error: unknown type name ‘pid_t’ + extern int proc_find_by_inode(ino_t ino, char *cmdline, size_t len, pid_t *pid); + ^ +proc.h:12:25: error: unknown type name ‘pid_t’ + extern bool proc_exists(pid_t pid); + ^ + +Signed-off-by: Baruch Siach +--- + +Patch status: sent upstream +http://www.mail-archive.com/netsniff-ng%40googlegroups.com/msg01972.html + + proc.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/proc.h b/proc.h +index 4c34a6412a81..2ce0c6e7a932 100644 +--- a/proc.h ++++ b/proc.h +@@ -2,6 +2,8 @@ + #define PROC_H + + #include ++#include ++#include + + extern void cpu_affinity(int cpu); + extern int set_proc_prio(int prio); +-- +2.11.0 + diff --git a/package/netsniff-ng/0003-pcap_io.h-fix-if_arp.h-musl-libc-kernel-headers-conf.patch b/package/netsniff-ng/0003-pcap_io.h-fix-if_arp.h-musl-libc-kernel-headers-conf.patch new file mode 100644 index 0000000000..23b02848e2 --- /dev/null +++ b/package/netsniff-ng/0003-pcap_io.h-fix-if_arp.h-musl-libc-kernel-headers-conf.patch @@ -0,0 +1,62 @@ +From f937049ea82ac74635861b3a780d1372f681cc6b Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Sun, 16 Apr 2017 08:18:10 +0300 +Subject: [PATCH] pcap_io.h: fix if_arp.h musl libc/kernel headers conflict + +Use libc provided arp definitions to avoid build failure with musl libc: + +In file included from pcap_io.h:19:0, + from trafgen.c:59: +.../usr/x86_64-buildroot-linux-musl/sysroot/usr/include/linux/if_arp.h:113:8: error: redefinition of ‘struct arpreq’ + struct arpreq { + ^ +In file included from .../usr/x86_64-buildroot-linux-musl/sysroot/usr/include/netinet/if_ether.h:111:0, + from .../usr/x86_64-buildroot-linux-musl/sysroot/usr/include/net/ethernet.h:10, + from trafgen.c:23: +.../usr/x86_64-buildroot-linux-musl/sysroot/usr/include/net/if_arp.h:99:8: note: originally defined here + struct arpreq { + ^ + +Add a local definition of the ARPHRD_CAN macro that glibc does not provide. + +Signed-off-by: Baruch Siach +--- + +Patch status: sent upstream +http://www.mail-archive.com/netsniff-ng%40googlegroups.com/msg01974.html + + built_in.h | 4 ++++ + pcap_io.h | 2 +- + 2 files changed, 5 insertions(+), 1 deletion(-) + +diff --git a/built_in.h b/built_in.h +index d10579abd689..fa8af60d6029 100644 +--- a/built_in.h ++++ b/built_in.h +@@ -382,6 +382,10 @@ static inline u64 cpu_to_le64(u64 val) + # define PACKET_QDISC_BYPASS 20 + #endif + ++#ifndef ARPHRD_CAN ++# define ARPHRD_CAN 280 ++#endif ++ + #ifndef ARPHRD_IEEE802154_MONITOR + # define ARPHRD_IEEE802154_MONITOR 805 + #endif +diff --git a/pcap_io.h b/pcap_io.h +index 3d70b217ada6..088858e89ccd 100644 +--- a/pcap_io.h ++++ b/pcap_io.h +@@ -16,7 +16,7 @@ + #include + #include + #include +-#include ++#include + + #include "built_in.h" + #include "die.h" +-- +2.11.0 + diff --git a/package/netsniff-ng/0004-staging-compilation-fix-with-new-gcc.patch b/package/netsniff-ng/0004-staging-compilation-fix-with-new-gcc.patch new file mode 100644 index 0000000000..fce604e6c6 --- /dev/null +++ b/package/netsniff-ng/0004-staging-compilation-fix-with-new-gcc.patch @@ -0,0 +1,31 @@ +From 551aa0ee996132e443b5d12cbb6f114ac9aabcd3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= +Date: Mon, 3 Jul 2017 18:24:32 +0200 +Subject: [PATCH] staging: compilation fix with new gcc +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Jaroslav Škarvada + +Upstream patch 551aa0ee996132e443b5d12cbb6f114ac9aabcd3 +Signed-off-by: Romain Naour +--- + staging/mz.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/staging/mz.h b/staging/mz.h +index 5ed05a7..aa2c36f 100644 +--- a/staging/mz.h ++++ b/staging/mz.h +@@ -40,6 +40,7 @@ + #include + #include + #include ++#include + + extern int verbose_level; + +-- +2.9.5 + diff --git a/package/netsniff-ng/Config.in b/package/netsniff-ng/Config.in index 00617e3719..c4803b2fa2 100644 --- a/package/netsniff-ng/Config.in +++ b/package/netsniff-ng/Config.in @@ -1,21 +1,23 @@ config BR2_PACKAGE_NETSNIFF_NG bool "netsniff-ng" + # Build with uClibc fails due to missing ceill() + depends on !BR2_TOOLCHAIN_USES_UCLIBC + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS select BR2_PACKAGE_LIBNL select BR2_PACKAGE_LIBPCAP select BR2_PACKAGE_LIBCLI select BR2_PACKAGE_LIBNETFILTER_CONNTRACK select BR2_PACKAGE_LIBURCU select BR2_PACKAGE_LIBNET - # Build with uClibc fails due to missing ceill() - depends on !BR2_TOOLCHAIN_USES_UCLIBC - depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 - depends on BR2_TOOLCHAIN_HAS_THREADS - depends on BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS help netsniff-ng is a free, performant Linux network analyzer and networking toolkit. If you will, the Swiss army knife for network packets. + http://netsniff-ng.org + comment "netsniff-ng needs a glibc or musl toolchain w/ threads, headers >= 3.0" depends on BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_UCLIBC \ diff --git a/package/netsniff-ng/netsniff-ng.hash b/package/netsniff-ng/netsniff-ng.hash index 67b3331a92..fea2dada14 100644 --- a/package/netsniff-ng/netsniff-ng.hash +++ b/package/netsniff-ng/netsniff-ng.hash @@ -1,2 +1,2 @@ -# Locally calculated -sha256 62e8aa970a4f46cdaddf54daf8ea26e7ae9f9f358efaf0651799c8c4e937c286 netsniff-ng-v0.6.2.tar.gz +# Locally calculated after checking signature +sha256 f8e0094f77de8a70f91240bfa77137d5631ac48138cb29fcf962c0bcbe81f04a netsniff-ng-0.6.3.tar.xz diff --git a/package/netsniff-ng/netsniff-ng.mk b/package/netsniff-ng/netsniff-ng.mk index 4ec7e743f5..73c840cf0f 100644 --- a/package/netsniff-ng/netsniff-ng.mk +++ b/package/netsniff-ng/netsniff-ng.mk @@ -4,9 +4,10 @@ # ################################################################################ -NETSNIFF_NG_VERSION = v0.6.2 -NETSNIFF_NG_SITE = $(call github,netsniff-ng,netsniff-ng,$(NETSNIFF_NG_VERSION)) -NETSNIFF_NG_LICENSE = GPLv2 +NETSNIFF_NG_VERSION = 0.6.3 +NETSNIFF_NG_SITE = http://pub.netsniff-ng.org/netsniff-ng +NETSNIFF_NG_SOURCE = netsniff-ng-$(NETSNIFF_NG_VERSION).tar.xz +NETSNIFF_NG_LICENSE = GPL-2.0 NETSNIFF_NG_LICENSE_FILES = README COPYING # Prevent netsniff-ng configure script from finding a host installed nacl NETSNIFF_NG_CONF_ENV = \ diff --git a/package/netsnmp/netsnmp.hash b/package/netsnmp/netsnmp.hash index 2c18441fed..fc77926023 100644 --- a/package/netsnmp/netsnmp.hash +++ b/package/netsnmp/netsnmp.hash @@ -1,4 +1,3 @@ # From http://sourceforge.net/projects/net-snmp/files/net-snmp/5.7.3/ md5 d4a3459e1577d0efa8d96ca70a885e53 net-snmp-5.7.3.tar.gz sha1 97dc25077257680815de44e34128d365c76bd839 net-snmp-5.7.3.tar.gz - diff --git a/package/netsnmp/netsnmp.mk b/package/netsnmp/netsnmp.mk index 0f4b7d80bc..742fa6e3b3 100644 --- a/package/netsnmp/netsnmp.mk +++ b/package/netsnmp/netsnmp.mk @@ -38,8 +38,6 @@ NETSNMP_MAKE = $(MAKE1) NETSNMP_CONFIG_SCRIPTS = net-snmp-config NETSNMP_AUTORECONF = YES -NETSNMP_BLOAT_MIBS = BRIDGE DISMAN-EVENT DISMAN-SCHEDULE DISMAN-SCRIPT EtherLike RFC-1215 RFC1155-SMI RFC1213 SCTP SMUX - ifeq ($(BR2_ENDIAN),"BIG") NETSNMP_CONF_OPTS += --with-endianness=big else @@ -101,14 +99,6 @@ else NETSNMP_CONF_OPTS += --disable-applications endif -define NETSNMP_REMOVE_BLOAT_MIBS - for mib in $(NETSNMP_BLOAT_MIBS); do \ - rm -f $(TARGET_DIR)/usr/share/snmp/mibs/$$mib-MIB.txt; \ - done -endef - -NETSNMP_POST_INSTALL_TARGET_HOOKS += NETSNMP_REMOVE_BLOAT_MIBS - ifeq ($(BR2_PACKAGE_NETSNMP_SERVER),y) define NETSNMP_INSTALL_INIT_SYSV $(INSTALL) -D -m 0755 package/netsnmp/S59snmpd \ @@ -117,7 +107,7 @@ endef endif define NETSNMP_STAGING_NETSNMP_CONFIG_FIXUP - $(SED) "s,^includedir=.*,includedir=\'$(STAGING_DIR)/usr/include\',g" \ + $(SED) "s,^includedir=.*,includedir=\'$(STAGING_DIR)/usr/include\',g" \ -e "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" \ $(STAGING_DIR)/usr/bin/net-snmp-config endef diff --git a/package/netstat-nat/netstat-nat.mk b/package/netstat-nat/netstat-nat.mk index 9a60f123b6..0d16579a6a 100644 --- a/package/netstat-nat/netstat-nat.mk +++ b/package/netstat-nat/netstat-nat.mk @@ -6,7 +6,7 @@ NETSTAT_NAT_VERSION = 1.4.10 NETSTAT_NAT_SITE = http://tweegy.nl/download -NETSTAT_NAT_LICENSE = GPLv2+ +NETSTAT_NAT_LICENSE = GPL-2.0+ NETSTAT_NAT_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/netsurf-buildsystem/netsurf-buildsystem.hash b/package/netsurf-buildsystem/netsurf-buildsystem.hash new file mode 100644 index 0000000000..c326c28d22 --- /dev/null +++ b/package/netsurf-buildsystem/netsurf-buildsystem.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 2e2d93e25623761c5de39c8c94750c982335acc1c2da4439b1a2088ecd4455c9 netsurf-buildsystem-7574b41345968b5f7e9ca5875faccb1478ce0555.tar.gz diff --git a/package/netsurf-buildsystem/netsurf-buildsystem.mk b/package/netsurf-buildsystem/netsurf-buildsystem.mk index 347885072a..d4efec0e1d 100644 --- a/package/netsurf-buildsystem/netsurf-buildsystem.mk +++ b/package/netsurf-buildsystem/netsurf-buildsystem.mk @@ -7,10 +7,10 @@ NETSURF_BUILDSYSTEM_VERSION = 7574b41345968b5f7e9ca5875faccb1478ce0555 NETSURF_BUILDSYSTEM_SITE = http://git.netsurf-browser.org/buildsystem.git NETSURF_BUILDSYSTEM_SITE_METHOD = git -NETSURF_BUILDSYSTEM_LICENSE = MIT, BSD-3c (for llvm/* files) +NETSURF_BUILDSYSTEM_LICENSE = MIT, BSD-3-Clause (for llvm/* files) NETSURF_BUILDSYSTEM_LICENSE_FILES = llvm/LICENSE.TXT -NETSURF_BUILDSYSTEM_INSTALL_DIR = $(HOST_DIR)/usr/share/netsurf-buildsystem +NETSURF_BUILDSYSTEM_INSTALL_DIR = $(HOST_DIR)/share/netsurf-buildsystem define HOST_NETSURF_BUILDSYSTEM_INSTALL_CMDS mkdir -p $(NETSURF_BUILDSYSTEM_INSTALL_DIR) diff --git a/package/nettle/nettle.mk b/package/nettle/nettle.mk index 31789ec28b..e5012d2bf0 100644 --- a/package/nettle/nettle.mk +++ b/package/nettle/nettle.mk @@ -8,7 +8,7 @@ NETTLE_VERSION = 3.3 NETTLE_SITE = http://www.lysator.liu.se/~nisse/archive NETTLE_DEPENDENCIES = gmp NETTLE_INSTALL_STAGING = YES -NETTLE_LICENSE = Dual GPLv2+/LGPLv3+ +NETTLE_LICENSE = Dual GPL-2.0+/LGPL-3.0+ NETTLE_LICENSE_FILES = COPYING.LESSERv3 COPYINGv2 # don't include openssl support for (unused) examples as it has problems # with static linking diff --git a/package/network-manager/Config.in b/package/network-manager/Config.in index c9dabfdd42..04bb651325 100644 --- a/package/network-manager/Config.in +++ b/package/network-manager/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_NETWORK_MANAGER bool "networkmanager" depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt + depends on !BR2_STATIC_LIBS # gnutls depends on BR2_USE_MMU # dbus depends on BR2_PACKAGE_HAS_UDEV # Tested with 3.2, but may even work with earlier versions @@ -57,8 +58,8 @@ comment "pppd support needs a glibc or uClibc toolchain" endif -comment "NetworkManager needs udev /dev management and a glibc toolchain w/ headers >= 3.7" +comment "NetworkManager needs udev /dev management and a glibc toolchain w/ headers >= 3.7, dynamic library" depends on BR2_USE_MMU depends on !BR2_PACKAGE_HAS_UDEV || \ !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7 || \ - !BR2_TOOLCHAIN_USES_GLIBC + !BR2_TOOLCHAIN_USES_GLIBC || BR2_STATIC_LIBS diff --git a/package/network-manager/network-manager.hash b/package/network-manager/network-manager.hash index 94f3e26784..3262ad3b00 100644 --- a/package/network-manager/network-manager.hash +++ b/package/network-manager/network-manager.hash @@ -1,2 +1,2 @@ -# From http://ftp.gnome.org/pub/GNOME/sources/NetworkManager/1.4/NetworkManager-1.4.2.sha256sum -sha256 a864e347ddf6da8dabd40e0185b8c10a655d4a94b45cbaa2b3bb4b5e8360d204 NetworkManager-1.4.2.tar.xz +# From http://ftp.gnome.org/pub/GNOME/sources/NetworkManager/1.8/NetworkManager-1.8.4.sha256sum +sha256 625e2eb36386dcae599075226200140d010f213b47f7202d83b3b1a202029212 NetworkManager-1.8.4.tar.xz diff --git a/package/network-manager/network-manager.mk b/package/network-manager/network-manager.mk index 3d7a1bf018..caf462e26e 100644 --- a/package/network-manager/network-manager.mk +++ b/package/network-manager/network-manager.mk @@ -4,14 +4,14 @@ # ################################################################################ -NETWORK_MANAGER_VERSION_MAJOR = 1.4 -NETWORK_MANAGER_VERSION = $(NETWORK_MANAGER_VERSION_MAJOR).2 +NETWORK_MANAGER_VERSION_MAJOR = 1.8 +NETWORK_MANAGER_VERSION = $(NETWORK_MANAGER_VERSION_MAJOR).4 NETWORK_MANAGER_SOURCE = NetworkManager-$(NETWORK_MANAGER_VERSION).tar.xz NETWORK_MANAGER_SITE = http://ftp.gnome.org/pub/GNOME/sources/NetworkManager/$(NETWORK_MANAGER_VERSION_MAJOR) NETWORK_MANAGER_INSTALL_STAGING = YES NETWORK_MANAGER_DEPENDENCIES = host-pkgconf udev dbus-glib libnl gnutls \ libgcrypt wireless_tools util-linux host-intltool readline libndp libgudev -NETWORK_MANAGER_LICENSE = GPLv2+ (app), LGPLv2+ (libnm-util) +NETWORK_MANAGER_LICENSE = GPL-2.0+ (app), LGPL-2.0+ (libnm-util) NETWORK_MANAGER_LICENSE_FILES = COPYING libnm-util/COPYING NETWORK_MANAGER_CONF_ENV = \ @@ -22,7 +22,6 @@ NETWORK_MANAGER_CONF_ENV = \ ac_cv_file__etc_redhat_release=no \ ac_cv_file__etc_SuSE_release=no - NETWORK_MANAGER_CONF_OPTS = \ --disable-tests \ --disable-qt \ @@ -33,6 +32,20 @@ NETWORK_MANAGER_CONF_OPTS = \ --disable-ifupdown \ --disable-ifnet +ifeq ($(BR2_PACKAGE_OFONO),y) +NETWORK_MANAGER_DEPENDENCIES += ofono +NETWORK_MANAGER_CONF_OPTS += --with-ofono +else +NETWORK_MANAGER_CONF_OPTS += --without-ofono +endif + +ifeq ($(BR2_PACKAGE_LIBCURL),y) +NETWORK_MANAGER_DEPENDENCIES += libcurl +NETWORK_MANAGER_CONF_OPTS += --enable-concheck +else +NETWORK_MANAGER_CONF_OPTS += --disable-concheck +endif + ifeq ($(BR2_PACKAGE_NETWORK_MANAGER_TUI),y) NETWORK_MANAGER_DEPENDENCIES += newt NETWORK_MANAGER_CONF_OPTS += --with-nmtui=yes diff --git a/package/newt/Config.in b/package/newt/Config.in index a2216155bf..c59af1cd19 100644 --- a/package/newt/Config.in +++ b/package/newt/Config.in @@ -5,7 +5,6 @@ config BR2_PACKAGE_NEWT depends on !BR2_STATIC_LIBS # unconditionally creates .so select BR2_PACKAGE_SLANG select BR2_PACKAGE_POPT - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE help Programming library for color text mode, widget based user interfaces. diff --git a/package/newt/newt.hash b/package/newt/newt.hash index fe5870b062..b6fd317ce3 100644 --- a/package/newt/newt.hash +++ b/package/newt/newt.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 08c0db56c21996af6a7cbab99491b774c6c09cef91cd9b03903c84634bff2e80 newt-0.52.19.tar.gz +sha256 8d66ba6beffc3f786d4ccfee9d2b43d93484680ef8db9397a4fb70b5adbb6dbc newt-0.52.20.tar.gz diff --git a/package/newt/newt.mk b/package/newt/newt.mk index 2b8d337617..b6d973af75 100644 --- a/package/newt/newt.mk +++ b/package/newt/newt.mk @@ -4,14 +4,16 @@ # ################################################################################ -NEWT_VERSION = 0.52.19 +NEWT_VERSION = 0.52.20 NEWT_SITE = https://pagure.io/releases/newt NEWT_INSTALL_STAGING = YES -NEWT_DEPENDENCIES = popt slang \ - $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) +NEWT_DEPENDENCIES = popt slang $(TARGET_NLS_DEPENDENCIES) +# Force to use libintl, otherwise it finds gettext functions in the C +# library, and does not link against libintl. +NEWT_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) NEWT_CONF_OPTS = --without-python --without-tcl NEWT_MAKE = $(MAKE1) -NEWT_LICENSE = GPLv2 +NEWT_LICENSE = GPL-2.0 NEWT_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/nfacct/nfacct.mk b/package/nfacct/nfacct.mk index a4e20452bf..d4c7c4ce70 100644 --- a/package/nfacct/nfacct.mk +++ b/package/nfacct/nfacct.mk @@ -9,7 +9,7 @@ NFACCT_SOURCE = nfacct-$(NFACCT_VERSION).tar.bz2 NFACCT_SITE = http://www.netfilter.org/projects/nfacct/files NFACCT_DEPENDENCIES = host-pkgconf \ libnetfilter_acct -NFACCT_LICENSE = GPLv2 +NFACCT_LICENSE = GPL-2.0 NFACCT_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/nfs-utils/0005-nfs-utils-add-missing-include-of-stdint.h.patch b/package/nfs-utils/0005-nfs-utils-add-missing-include-of-stdint.h.patch new file mode 100644 index 0000000000..a6214350ca --- /dev/null +++ b/package/nfs-utils/0005-nfs-utils-add-missing-include-of-stdint.h.patch @@ -0,0 +1,33 @@ +From b3ff26fa182b34b6faa1317f18a9dac4c7963334 Mon Sep 17 00:00:00 2001 +From: Matt Weber +Date: Mon, 2 Oct 2017 09:57:15 -0500 +Subject: [PATCH] nfs-utils: add missing include of stdint.h + +Glibc bump to 2.26 exposed this missing header when building +with the following combination using an i386 internal toolchain. +gcc5.4.0 +bin2.28.1 +linux4.1.43 + +Upstream: https://bugzilla.linux-nfs.org/show_bug.cgi?id=312 + +Signed-off-by: Matthew Weber +--- + support/nsm/rpc.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/support/nsm/rpc.c b/support/nsm/rpc.c +index 4e5f40e..d91c6ea 100644 +--- a/support/nsm/rpc.c ++++ b/support/nsm/rpc.c +@@ -40,6 +40,7 @@ + + #include + #include ++#include + #include + #include + #include +-- +1.9.1 + diff --git a/package/nfs-utils/Config.in b/package/nfs-utils/Config.in index bfaddd1516..4e139363fc 100644 --- a/package/nfs-utils/Config.in +++ b/package/nfs-utils/Config.in @@ -5,9 +5,9 @@ comment "nfs-utils needs a toolchain w/ threads" config BR2_PACKAGE_NFS_UTILS bool "nfs-utils" depends on BR2_TOOLCHAIN_HAS_THREADS # libtirpc, rpcbind + depends on BR2_USE_MMU # fork() select BR2_PACKAGE_LIBTIRPC if !BR2_TOOLCHAIN_HAS_NATIVE_RPC select BR2_PACKAGE_RPCBIND # runtime - depends on BR2_USE_MMU # fork() help The NFS Linux kernel server. diff --git a/package/nfs-utils/nfs-utils.mk b/package/nfs-utils/nfs-utils.mk index 179009dc5f..26112d69f2 100644 --- a/package/nfs-utils/nfs-utils.mk +++ b/package/nfs-utils/nfs-utils.mk @@ -7,7 +7,7 @@ NFS_UTILS_VERSION = 1.3.3 NFS_UTILS_SOURCE = nfs-utils-$(NFS_UTILS_VERSION).tar.xz NFS_UTILS_SITE = https://www.kernel.org/pub/linux/utils/nfs-utils/$(NFS_UTILS_VERSION) -NFS_UTILS_LICENSE = GPLv2+ +NFS_UTILS_LICENSE = GPL-2.0+ NFS_UTILS_LICENSE_FILES = COPYING NFS_UTILS_AUTORECONF = YES NFS_UTILS_DEPENDENCIES = host-pkgconf diff --git a/package/nftables/Config.in b/package/nftables/Config.in index d0a1b89277..7c0abe0daf 100644 --- a/package/nftables/Config.in +++ b/package/nftables/Config.in @@ -5,7 +5,6 @@ config BR2_PACKAGE_NFTABLES select BR2_PACKAGE_GMP select BR2_PACKAGE_LIBMNL select BR2_PACKAGE_LIBNFTNL - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT help nftables is the project that aims to replace the existing {ip,ip6,arp,eb}tables framework. diff --git a/package/nftables/nftables.mk b/package/nftables/nftables.mk index 64d6be72ce..d1e605565e 100644 --- a/package/nftables/nftables.mk +++ b/package/nftables/nftables.mk @@ -8,8 +8,8 @@ NFTABLES_VERSION = 0.7 NFTABLES_SOURCE = nftables-$(NFTABLES_VERSION).tar.bz2 NFTABLES_SITE = http://www.netfilter.org/projects/nftables/files NFTABLES_DEPENDENCIES = gmp libmnl libnftnl host-bison host-flex \ - host-pkgconf $(if $(BR2_NEEDS_GETTEXT),gettext) -NFTABLES_LICENSE = GPLv2 + host-pkgconf $(TARGET_NLS_DEPENDENCIES) +NFTABLES_LICENSE = GPL-2.0 NFTABLES_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_READLINE),y) diff --git a/package/nginx-dav-ext/nginx-dav-ext.mk b/package/nginx-dav-ext/nginx-dav-ext.mk index 61e5bd0f57..1ba6e10a3f 100644 --- a/package/nginx-dav-ext/nginx-dav-ext.mk +++ b/package/nginx-dav-ext/nginx-dav-ext.mk @@ -6,7 +6,7 @@ NGINX_DAV_EXT_VERSION = v0.0.3 NGINX_DAV_EXT_SITE = $(call github,arut,nginx-dav-ext-module,$(NGINX_DAV_EXT_VERSION)) -NGINX_DAV_EXT_LICENSE = BSD-2c +NGINX_DAV_EXT_LICENSE = BSD-2-Clause NGINX_DAV_EXT_LICENSE_FILES = ngx_http_dav_ext_module.c NGINX_DAV_EXT_DEPENDENCIES = expat diff --git a/package/nginx-naxsi/nginx-naxsi.hash b/package/nginx-naxsi/nginx-naxsi.hash index 967f78800e..55fc4f1460 100644 --- a/package/nginx-naxsi/nginx-naxsi.hash +++ b/package/nginx-naxsi/nginx-naxsi.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 256378564e36b8f222adb8fbe746529e73413c6cbe2b0e5574f41dfd62d92577 nginx-naxsi-0.55.2.tar.gz +sha256 0b3c95d250772dc89ad8b49e47c1e024c5ae2c76c0cffa445e9fe05c4dd13495 nginx-naxsi-0.55.3.tar.gz diff --git a/package/nginx-naxsi/nginx-naxsi.mk b/package/nginx-naxsi/nginx-naxsi.mk index fb5e00a5ff..491d518363 100644 --- a/package/nginx-naxsi/nginx-naxsi.mk +++ b/package/nginx-naxsi/nginx-naxsi.mk @@ -4,9 +4,9 @@ # ################################################################################ -NGINX_NAXSI_VERSION = 0.55.2 +NGINX_NAXSI_VERSION = 0.55.3 NGINX_NAXSI_SITE = $(call github,nbs-system,naxsi,$(NGINX_NAXSI_VERSION)) -NGINX_NAXSI_LICENSE = GPLv2+ with OpenSSL exception +NGINX_NAXSI_LICENSE = GPL-2.0+ with OpenSSL exception NGINX_NAXSI_LICENSE_FILES = naxsi_src/naxsi_json.c $(eval $(generic-package)) diff --git a/package/nginx-upload/0001-nginx-upload-module-add-openssl-lib-dependency.patch b/package/nginx-upload/0001-nginx-upload-module-add-openssl-lib-dependency.patch new file mode 100644 index 0000000000..1161751546 --- /dev/null +++ b/package/nginx-upload/0001-nginx-upload-module-add-openssl-lib-dependency.patch @@ -0,0 +1,56 @@ +From 600d0a36c2af785c8284acadeb062d73247281af Mon Sep 17 00:00:00 2001 +From: Matt Weber +Date: Sun, 23 Jul 2017 09:21:23 -0500 +Subject: [PATCH] nginx-upload-module: add openssl lib dependency + +When building against nginx 1.11.2+, requires additional +-lcrypto dependency. (Nginx changed crypto approach +and dependencies for openssl are no longer default) + +More details found here: +https://github.com/vkholodkov/nginx-upload-module/issues/79 + +Upstream pull request: +https://github.com/vkholodkov/nginx-upload-module/pull/93 + +Resolves build failure: +objs/addon/nginx-upload-70bee48f1811eecd255ed094ce9f0fb560c390c3/ngx_http_upload_module.o \ +objs/ngx_modules.o \ +-ldl -lpthread -lpthread -lpcre -lz -latomic_ops \ +-Wl,-E +ngx_http_upload_module.o: In function `ngx_http_upload_flush_output_buffer': +ngx_http_upload_module.c:1625: undefined reference to `MD5_Update' +ngx_http_upload_module.c:1628: undefined reference to `SHA1_Update' +ngx_http_upload_module.c:1631: undefined reference to `SHA256_Update' +ngx_http_upload_module.c:1634: undefined reference to `SHA512_Update' + +Fixes: +http://autobuild.buildroot.net/results/e25f8ba8d8743e47a77707cf582e58477e1860e6 +http://autobuild.buildroot.net/results/c4aa6e22033be934bd311cd9761f646d44618dc0 +http://autobuild.buildroot.net/results/75e935d248b46df11c32c95526423a2287ac8c62 + +Signed-off-by: Matthew Weber +--- + config | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/config b/config +index cabd4f1..293529f 100644 +--- a/config ++++ b/config +@@ -1,11 +1,10 @@ +-USE_MD5=YES +-USE_SHA1=YES + ngx_addon_name=ngx_http_upload_module + + if test -n "$ngx_module_link"; then + ngx_module_type=HTTP + ngx_module_name=$ngx_addon_name + ngx_module_srcs="$ngx_addon_dir/ngx_http_upload_module.c" ++ ngx_module_libs="$(${PKG_CONFIG:=pkg-config} --libs openssl)" + + . auto/module + else +-- +1.9.1 + diff --git a/package/nginx-upload/nginx-upload.hash b/package/nginx-upload/nginx-upload.hash index 4fc4347361..3a8dfeddf3 100644 --- a/package/nginx-upload/nginx-upload.hash +++ b/package/nginx-upload/nginx-upload.hash @@ -1,2 +1,2 @@ #Locally Computed: -sha256 8cd1d9d968ffba807de2e546ea9cad5e1ae294ec60b4927b2d60a98bdb4a1144 nginx-upload-aba1e3f34c754551f4f49e572bc86863d535609d.tar.gz +sha256 5f1c3c2b9858b9cacd877a0f2df9b9263734e9cef8d837b73f0e659c0f7fde2d nginx-upload-70bee48f1811eecd255ed094ce9f0fb560c390c3.tar.gz diff --git a/package/nginx-upload/nginx-upload.mk b/package/nginx-upload/nginx-upload.mk index 6f94d35894..738542571e 100644 --- a/package/nginx-upload/nginx-upload.mk +++ b/package/nginx-upload/nginx-upload.mk @@ -4,9 +4,9 @@ # ################################################################################ -NGINX_UPLOAD_VERSION = aba1e3f34c754551f4f49e572bc86863d535609d +NGINX_UPLOAD_VERSION = 70bee48f1811eecd255ed094ce9f0fb560c390c3 NGINX_UPLOAD_SITE = $(call github,vkholodkov,nginx-upload-module,$(NGINX_UPLOAD_VERSION)) -NGINX_UPLOAD_LICENSE = BSD-3c +NGINX_UPLOAD_LICENSE = BSD-3-Clause NGINX_UPLOAD_LICENSE_FILES = LICENCE NGINX_UPLOAD_DEPENDENCIES = openssl diff --git a/package/nginx/0001-auto-type-sizeof-rework-autotest-to-be-cross-compila.patch b/package/nginx/0001-auto-type-sizeof-rework-autotest-to-be-cross-compila.patch index 603f7292da..5b1a50b264 100644 --- a/package/nginx/0001-auto-type-sizeof-rework-autotest-to-be-cross-compila.patch +++ b/package/nginx/0001-auto-type-sizeof-rework-autotest-to-be-cross-compila.patch @@ -1,6 +1,6 @@ -From fe05ccf80afe5de33d4f9c5e5545390c450bcd2d Mon Sep 17 00:00:00 2001 +From fb158af083e72c9aa0a8dfd4c6965f950192a230 Mon Sep 17 00:00:00 2001 From: Samuel Martin -Date: Thu, 24 Apr 2014 23:27:32 +0200 +Date: Tue, 4 Jul 2017 11:09:20 -0400 Subject: [PATCH] auto/type/sizeof: rework autotest to be cross-compilation friendly @@ -15,12 +15,14 @@ Refresh for 1.8.0. Signed-off-by: Danomi Manchego [martin@barkynet.com: Updated for 1.10.0] Signed-off-by: Martin Bark +Signed-off-by: Adam Duskett +Refresh for 1.12.0 --- - auto/types/sizeof | 42 ++++++++++++++++++++++++++++-------------- - 1 file changed, 28 insertions(+), 14 deletions(-) + auto/types/sizeof | 37 ++++++++++++++++++++++++++++--------- + 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/auto/types/sizeof b/auto/types/sizeof -index a5f66bb..c6f31ec 100644 +index 480d8cf..61dcd2d 100644 --- a/auto/types/sizeof +++ b/auto/types/sizeof @@ -14,7 +14,7 @@ END @@ -32,11 +34,11 @@ index a5f66bb..c6f31ec 100644 #include #include -@@ -25,22 +25,40 @@ $NGX_INCLUDE_UNISTD_H +@@ -25,22 +25,41 @@ $NGX_INCLUDE_UNISTD_H $NGX_INCLUDE_INTTYPES_H $NGX_INCLUDE_AUTO_CONFIG_H --int main() { +-int main(void) { - printf("%d", (int) sizeof($ngx_type)); +#if !defined( PASTE) +#define PASTE2( x, y) x##y @@ -55,9 +57,9 @@ index a5f66bb..c6f31ec 100644 } -END -- +_EOF + -ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \ - -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs" +_ngx_typename=`echo "$ngx_type" | sed 's/ /_/g;s/\*/p/'` @@ -83,5 +85,5 @@ index a5f66bb..c6f31ec 100644 fi -- -1.9.1 +2.9.4 diff --git a/package/nginx/0003-auto-set-ngx_feature_run_force_result-for-each-featu.patch b/package/nginx/0003-auto-set-ngx_feature_run_force_result-for-each-featu.patch index ed67a67944..be1df7fb33 100644 --- a/package/nginx/0003-auto-set-ngx_feature_run_force_result-for-each-featu.patch +++ b/package/nginx/0003-auto-set-ngx_feature_run_force_result-for-each-featu.patch @@ -28,7 +28,7 @@ diff --git a/auto/cc/conf b/auto/cc/conf index edc6d74..a61ade4 100644 --- a/auto/cc/conf +++ b/auto/cc/conf -@@ -159,6 +159,7 @@ if [ "$NGX_PLATFORM" != win32 ]; then +@@ -181,6 +181,7 @@ if [ "$NGX_PLATFORM" != win32 ]; then ngx_feature="gcc builtin atomic operations" ngx_feature_name=NGX_HAVE_GCC_ATOMIC ngx_feature_run=yes @@ -36,7 +36,7 @@ index edc6d74..a61ade4 100644 ngx_feature_incs= ngx_feature_path= ngx_feature_libs= -@@ -179,6 +180,7 @@ if [ "$NGX_PLATFORM" != win32 ]; then +@@ -201,6 +203,7 @@ if [ "$NGX_PLATFORM" != win32 ]; then ngx_feature="C99 variadic macros" ngx_feature_name="NGX_HAVE_C99_VARIADIC_MACROS" ngx_feature_run=yes @@ -44,7 +44,7 @@ index edc6d74..a61ade4 100644 ngx_feature_incs="#include #define var(dummy, ...) sprintf(__VA_ARGS__)" ngx_feature_path= -@@ -193,6 +195,7 @@ if [ "$NGX_PLATFORM" != win32 ]; then +@@ -215,6 +220,7 @@ if [ "$NGX_PLATFORM" != win32 ]; then ngx_feature="gcc variadic macros" ngx_feature_name="NGX_HAVE_GCC_VARIADIC_MACROS" ngx_feature_run=yes @@ -80,7 +80,7 @@ diff --git a/auto/os/darwin b/auto/os/darwin index 1d3e3d3..11b7276 100644 --- a/auto/os/darwin +++ b/auto/os/darwin -@@ -27,6 +27,7 @@ NGX_KQUEUE_CHECKED=YES +@@ -30,6 +30,7 @@ NGX_KQUEUE_CHECKED=YES ngx_feature="kqueue's EVFILT_TIMER" ngx_feature_name="NGX_HAVE_TIMER_EVENT" ngx_feature_run=yes @@ -88,7 +88,7 @@ index 1d3e3d3..11b7276 100644 ngx_feature_incs="#include #include " ngx_feature_path= -@@ -57,6 +58,7 @@ ngx_feature_test="int kq; +@@ -60,6 +61,7 @@ ngx_feature_test="int kq; ngx_feature="Darwin 64-bit kqueue millisecond timeout bug" ngx_feature_name=NGX_DARWIN_KEVENT_BUG ngx_feature_run=bug @@ -96,7 +96,7 @@ index 1d3e3d3..11b7276 100644 ngx_feature_incs="#include #include " ngx_feature_path= -@@ -87,6 +89,7 @@ CC_AUX_FLAGS="$CC_AUX_FLAGS" +@@ -90,6 +92,7 @@ CC_AUX_FLAGS="$CC_AUX_FLAGS" ngx_feature="sendfile()" ngx_feature_name="NGX_HAVE_SENDFILE" ngx_feature_run=yes @@ -108,7 +108,7 @@ diff --git a/auto/os/linux b/auto/os/linux index 19bf832..16848b2 100644 --- a/auto/os/linux +++ b/auto/os/linux -@@ -49,6 +49,7 @@ fi +@@ -37,6 +37,7 @@ fi ngx_feature="epoll" ngx_feature_name="NGX_HAVE_EPOLL" ngx_feature_run=yes @@ -116,7 +116,7 @@ index 19bf832..16848b2 100644 ngx_feature_incs="#include " ngx_feature_path= ngx_feature_libs= -@@ -106,6 +107,7 @@ CC_AUX_FLAGS="$cc_aux_flags -D_GNU_SOURCE" +@@ -111,6 +112,7 @@ CC_AUX_FLAGS="$cc_aux_flags -D_GNU_SOURCE" ngx_feature="sendfile()" ngx_feature_name="NGX_HAVE_SENDFILE" ngx_feature_run=yes @@ -124,7 +124,7 @@ index 19bf832..16848b2 100644 ngx_feature_incs="#include #include " ngx_feature_path= -@@ -127,6 +129,7 @@ CC_AUX_FLAGS="$cc_aux_flags -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64" +@@ -132,6 +134,7 @@ CC_AUX_FLAGS="$cc_aux_flags -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64" ngx_feature="sendfile64()" ngx_feature_name="NGX_HAVE_SENDFILE64" ngx_feature_run=yes @@ -132,7 +132,7 @@ index 19bf832..16848b2 100644 ngx_feature_incs="#include #include " ngx_feature_path= -@@ -145,6 +148,7 @@ ngx_include="sys/prctl.h"; . auto/include +@@ -150,6 +153,7 @@ ngx_include="sys/prctl.h"; . auto/include ngx_feature="prctl(PR_SET_DUMPABLE)" ngx_feature_name="NGX_HAVE_PR_SET_DUMPABLE" ngx_feature_run=yes @@ -144,7 +144,7 @@ diff --git a/auto/unix b/auto/unix index 6e54531..7dbf9d1 100755 --- a/auto/unix +++ b/auto/unix -@@ -99,6 +99,7 @@ if test -z "$NGX_KQUEUE_CHECKED"; then +@@ -100,6 +100,7 @@ if test -z "$NGX_KQUEUE_CHECKED"; then ngx_feature="kqueue's EVFILT_TIMER" ngx_feature_name="NGX_HAVE_TIMER_EVENT" ngx_feature_run=yes @@ -152,7 +152,7 @@ index 6e54531..7dbf9d1 100755 ngx_feature_incs="#include #include " ngx_feature_path= -@@ -589,6 +590,7 @@ ngx_feature_test="char buf[1]; ssize_t n; n = pwrite(1, buf, 1, 0); +@@ -702,6 +703,7 @@ ngx_feature_test="char buf[1]; ssize_t n; n = pwrite(1, buf, 1, 0); ngx_feature="sys_nerr" ngx_feature_name="NGX_SYS_NERR" ngx_feature_run=value @@ -160,7 +160,7 @@ index 6e54531..7dbf9d1 100755 ngx_feature_incs='#include #include ' ngx_feature_path= -@@ -603,6 +605,7 @@ if [ $ngx_found = no ]; then +@@ -716,6 +718,7 @@ if [ $ngx_found = no ]; then ngx_feature="_sys_nerr" ngx_feature_name="NGX_SYS_NERR" ngx_feature_run=value @@ -168,7 +168,7 @@ index 6e54531..7dbf9d1 100755 ngx_feature_incs='#include #include ' ngx_feature_path= -@@ -618,6 +621,7 @@ if [ $ngx_found = no ]; then +@@ -731,6 +734,7 @@ if [ $ngx_found = no ]; then ngx_feature='maximum errno' ngx_feature_name=NGX_SYS_NERR ngx_feature_run=value @@ -176,7 +176,7 @@ index 6e54531..7dbf9d1 100755 ngx_feature_incs='#include #include #include ' -@@ -676,6 +680,7 @@ ngx_feature_test="void *p; p = memalign(4096, 4096); +@@ -789,6 +793,7 @@ ngx_feature_test="void *p; p = memalign(4096, 4096); ngx_feature="mmap(MAP_ANON|MAP_SHARED)" ngx_feature_name="NGX_HAVE_MAP_ANON" ngx_feature_run=yes @@ -184,7 +184,7 @@ index 6e54531..7dbf9d1 100755 ngx_feature_incs="#include " ngx_feature_path= ngx_feature_libs= -@@ -689,6 +694,7 @@ ngx_feature_test="void *p; +@@ -802,6 +807,7 @@ ngx_feature_test="void *p; ngx_feature='mmap("/dev/zero", MAP_SHARED)' ngx_feature_name="NGX_HAVE_MAP_DEVZERO" ngx_feature_run=yes @@ -192,7 +192,7 @@ index 6e54531..7dbf9d1 100755 ngx_feature_incs="#include #include #include " -@@ -704,6 +710,7 @@ ngx_feature_test='void *p; int fd; +@@ -817,6 +823,7 @@ ngx_feature_test='void *p; int fd; ngx_feature="System V shared memory" ngx_feature_name="NGX_HAVE_SYSVSHM" ngx_feature_run=yes @@ -200,7 +200,7 @@ index 6e54531..7dbf9d1 100755 ngx_feature_incs="#include #include " ngx_feature_path= -@@ -718,6 +725,7 @@ ngx_feature_test="int id; +@@ -831,6 +838,7 @@ ngx_feature_test="int id; ngx_feature="POSIX semaphores" ngx_feature_name="NGX_HAVE_POSIX_SEM" ngx_feature_run=yes diff --git a/package/nginx/0005-auto-unix-make-sys_nerr-guessing-cross-friendly.patch b/package/nginx/0005-auto-unix-make-sys_nerr-guessing-cross-friendly.patch index 2242d13363..b4d8215b34 100644 --- a/package/nginx/0005-auto-unix-make-sys_nerr-guessing-cross-friendly.patch +++ b/package/nginx/0005-auto-unix-make-sys_nerr-guessing-cross-friendly.patch @@ -109,7 +109,7 @@ diff --git a/auto/unix b/auto/unix index 7dbf9d1..00a7370 100755 --- a/auto/unix +++ b/auto/unix -@@ -595,6 +595,10 @@ ngx_feature_incs='#include +@@ -708,6 +708,10 @@ ngx_feature_incs='#include #include ' ngx_feature_path= ngx_feature_libs= @@ -120,7 +120,7 @@ index 7dbf9d1..00a7370 100755 ngx_feature_test='printf("%d", sys_nerr);' . auto/feature -@@ -643,6 +647,12 @@ if [ $ngx_found = no ]; then +@@ -756,6 +760,12 @@ if [ $ngx_found = no ]; then . auto/feature fi diff --git a/package/nginx/0006-auto-lib-openssl-conf-use-pkg-config.patch b/package/nginx/0006-auto-lib-openssl-conf-use-pkg-config.patch index b826a3c8e7..0c94890625 100644 --- a/package/nginx/0006-auto-lib-openssl-conf-use-pkg-config.patch +++ b/package/nginx/0006-auto-lib-openssl-conf-use-pkg-config.patch @@ -15,7 +15,7 @@ diff --git a/auto/lib/openssl/conf b/auto/lib/openssl/conf index 39d9602..995c6f3 100644 --- a/auto/lib/openssl/conf +++ b/auto/lib/openssl/conf -@@ -50,8 +50,8 @@ else +@@ -58,8 +58,8 @@ else ngx_feature_name="NGX_OPENSSL" ngx_feature_run=no ngx_feature_incs="#include " diff --git a/package/nginx/0009-auto-lib-conf-fix-PCRE-condition-WRT-the-http-and-ht.patch b/package/nginx/0009-auto-lib-conf-fix-PCRE-condition-WRT-the-http-and-ht.patch new file mode 100644 index 0000000000..08456511dc --- /dev/null +++ b/package/nginx/0009-auto-lib-conf-fix-PCRE-condition-WRT-the-http-and-ht.patch @@ -0,0 +1,33 @@ +From 9668f0d5ecd2382fd36b7ff6a3a29abd04f6533f Mon Sep 17 00:00:00 2001 +From: Samuel Martin +Date: Fri, 14 Jul 2017 11:50:08 +0200 +Subject: [PATCH] auto/lib/conf: fix PCRE condition WRT the http and + http_rewrite options + +http_rewrite module cannot be selected when http server is disabled, so +fix the PCRE check condition to avoid irrelevant check failure. + +Fixes: + http://autobuild.buildroot.net/results/bc7/bc7458b97a88785653845afd30fe9d5f3a69905b/build-end.log + +Signed-off-by: Samuel Martin +--- + auto/lib/conf | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/auto/lib/conf b/auto/lib/conf +index 0b8545a3..2c7af104 100644 +--- a/auto/lib/conf ++++ b/auto/lib/conf +@@ -7,7 +7,7 @@ if [ $USE_PCRE = YES -o $PCRE != NONE ]; then + . auto/lib/pcre/conf + + else +- if [ $USE_PCRE = DISABLED -a $HTTP_REWRITE = YES ]; then ++ if [ $USE_PCRE = DISABLED -a $HTTP = YES -a $HTTP_REWRITE = YES ]; then + + cat << END + +-- +2.13.2 + diff --git a/package/nginx/Config.in b/package/nginx/Config.in index e6f2d96d34..36fa69cd2a 100644 --- a/package/nginx/Config.in +++ b/package/nginx/Config.in @@ -141,8 +141,8 @@ config BR2_PACKAGE_NGINX_HTTP_CHARSET_MODULE config BR2_PACKAGE_NGINX_HTTP_GZIP_MODULE bool "ngx_http_gzip_module" - select BR2_PACKAGE_ZLIB default y + select BR2_PACKAGE_ZLIB help Enable ngx_http_gzip_module @@ -202,8 +202,8 @@ config BR2_PACKAGE_NGINX_HTTP_REFERER_MODULE config BR2_PACKAGE_NGINX_HTTP_REWRITE_MODULE bool "ngx_http_rewrite_module" - select BR2_PACKAGE_PCRE default y + select BR2_PACKAGE_PCRE help Enable ngx_http_rewrite_module diff --git a/package/nginx/S50nginx b/package/nginx/S50nginx index b2f8b80855..964652b922 100755 --- a/package/nginx/S50nginx +++ b/package/nginx/S50nginx @@ -3,23 +3,29 @@ # Start/stop nginx # +NGINX=/usr/sbin/nginx PIDFILE=/var/run/nginx.pid case "$1" in start) echo "Starting nginx..." mkdir -p /var/log/nginx /var/tmp/nginx - start-stop-daemon -S -x /usr/sbin/nginx -p $PIDFILE + start-stop-daemon -S -x "$NGINX" -p "$PIDFILE" ;; stop) - printf "Stopping nginx..." - start-stop-daemon -K -o -p $PIDFILE + echo "Stopping nginx..." + start-stop-daemon -K -x "$NGINX" -p "$PIDFILE" -o ;; - restart|reload) + reload|force-reload) + echo "Reloading nginx configuration..." + "$NGINX" -s reload + ;; + restart) "$0" stop + sleep 1 # Prevent race condition: ensure nginx stops before start. "$0" start ;; *) - echo "Usage: $0 {start|stop|restart}" + echo "Usage: $0 {start|stop|restart|reload|force-reload}" exit 1 esac diff --git a/package/nginx/nginx.hash b/package/nginx/nginx.hash index 498d272dac..6eef1dbdc5 100644 --- a/package/nginx/nginx.hash +++ b/package/nginx/nginx.hash @@ -1,2 +1,4 @@ # Locally calculated after checking pgp signature -sha256 75020f1364cac459cb733c4e1caed2d00376e40ea05588fb8793076a4c69dd90 nginx-1.10.3.tar.gz +sha256 8793bf426485a30f91021b6b945a9fd8a84d87d17b566562c3797aba8fac76fb nginx-1.12.1.tar.gz +# License files, locally calculated +sha256 75820469c890db641e54078df018e497fde0542211aa704e15320316a2175780 LICENSE diff --git a/package/nginx/nginx.mk b/package/nginx/nginx.mk index f9b2cd1d3c..ceb80229d3 100644 --- a/package/nginx/nginx.mk +++ b/package/nginx/nginx.mk @@ -4,9 +4,9 @@ # ################################################################################ -NGINX_VERSION = 1.10.3 +NGINX_VERSION = 1.12.1 NGINX_SITE = http://nginx.org/download -NGINX_LICENSE = BSD-2c +NGINX_LICENSE = BSD-2-Clause NGINX_LICENSE_FILES = LICENSE NGINX_DEPENDENCIES = host-pkgconf diff --git a/package/ngircd/0001-Fix-Get_error-usage.patch b/package/ngircd/0001-Fix-Get_error-usage.patch new file mode 100644 index 0000000000..3724e46d89 --- /dev/null +++ b/package/ngircd/0001-Fix-Get_error-usage.patch @@ -0,0 +1,44 @@ +From 543f44bff8d56785dc13a74a14d4eaa96465bf05 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Wed, 13 Sep 2017 14:07:11 +0200 +Subject: [PATCH] Fix Get_error usage + +The usage of Get_Error is guarded by "ifdef h_errno" in this file, the +definition of this function should follow the same rules. + +Fixes a build error when cross-compiling: +https://github.com/ngircd/ngircd/issues/223 + +Patch sent upstream: https://github.com/ngircd/ngircd/pull/240 + +Signed-off-by: Bernd Kuhls +--- + src/ngircd/resolve.c | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/src/ngircd/resolve.c b/src/ngircd/resolve.c +index 32791901..e1903254 100644 +--- a/src/ngircd/resolve.c ++++ b/src/ngircd/resolve.c +@@ -108,9 +108,7 @@ Resolve_Name( PROC_STAT *s, const char *Host, void (*cbfunc)(int, short)) + return false; + } /* Resolve_Name */ + +- +-#if !defined(HAVE_GETADDRINFO) || !defined(HAVE_GETNAMEINFO) +-#if !defined(WANT_IPV6) && defined(h_errno) ++#ifdef h_errno + static char * + Get_Error( int H_Error ) + { +@@ -128,7 +126,6 @@ Get_Error( int H_Error ) + return "unknown error"; + } + #endif +-#endif + + + /* Do "IDENT" (aka "AUTH") lookup and append result to resolved_addr array */ +-- +2.11.0 + diff --git a/package/ngircd/Config.in b/package/ngircd/Config.in index f1d8bea904..9b3d430922 100644 --- a/package/ngircd/Config.in +++ b/package/ngircd/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_NGIRCD bool "ngircd" depends on BR2_USE_MMU # fork() - select BR2_PACKAGE_ZLIB help Next Generation IRC server deamon. diff --git a/package/ngircd/ngircd.hash b/package/ngircd/ngircd.hash index 45e2d9e825..128867bfd8 100644 --- a/package/ngircd/ngircd.hash +++ b/package/ngircd/ngircd.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 93f953b2785ff0e6e29b8b3794ba5a64754b86251ce71bf39fc27f4f5074eada ngircd-20.3.tar.xz +sha256 173fa0ea10788a8ba08ef2f7e64ea8951d7c88862e744128c8b87bae424b1008 ngircd-24.tar.xz diff --git a/package/ngircd/ngircd.mk b/package/ngircd/ngircd.mk index 927474c8f3..9b330fab53 100644 --- a/package/ngircd/ngircd.mk +++ b/package/ngircd/ngircd.mk @@ -4,11 +4,37 @@ # ################################################################################ -NGIRCD_VERSION = 20.3 +NGIRCD_VERSION = 24 NGIRCD_SOURCE = ngircd-$(NGIRCD_VERSION).tar.xz -NGIRCD_SITE = http://arthur.barton.de/pub/ngircd -NGIRCD_DEPENDENCIES = zlib -NGIRCD_LICENSE = GPLv2+ +NGIRCD_SITE = https://arthur.barton.de/pub/ngircd +NGIRCD_LICENSE = GPL-2.0+ NGIRCD_LICENSE_FILES = COPYING +ifeq ($(BR2_PACKAGE_LINUX_PAM),y) +NGIRCD_CONF_OPTS += --with-pam=$(STAGING_DIR)/usr +NGIRCD_DEPENDENCIES += linux-pam +else +NGIRCD_CONF_OPTS += --without-pam +endif + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +NGIRCD_CONF_OPTS += --with-openssl=$(STAGING_DIR)/usr +NGIRCD_DEPENDENCIES += openssl +else +NGIRCD_CONF_OPTS += --without-openssl +ifeq ($(BR2_PACKAGE_GNUTLS),y) +NGIRCD_CONF_OPTS += --with-gnutls=$(STAGING_DIR)/usr +NGIRCD_DEPENDENCIES += gnutls +else +NGIRCD_CONF_OPTS += --without-gnutls +endif +endif + +ifeq ($(BR2_PACKAGE_ZLIB),y) +NGIRCD_CONF_OPTS += --with-zlib=$(STAGING_DIR)/usr +NGIRCD_DEPENDENCIES += zlib +else +NGIRCD_CONF_OPTS += --without-zlib +endif + $(eval $(autotools-package)) diff --git a/package/ngrep/ngrep.mk b/package/ngrep/ngrep.mk index 8daaf2d8ac..3f569374b4 100644 --- a/package/ngrep/ngrep.mk +++ b/package/ngrep/ngrep.mk @@ -7,7 +7,7 @@ NGREP_VERSION = 1.45 NGREP_SOURCE = ngrep-$(NGREP_VERSION).tar.bz2 NGREP_SITE = http://downloads.sourceforge.net/project/ngrep/ngrep/$(NGREP_VERSION) -NGREP_LICENSE = BSD-4c-like +NGREP_LICENSE = BSD-4-Clause-like NGREP_LICENSE_FILES = LICENSE.txt NGREP_INSTALL_STAGING = YES @@ -17,7 +17,7 @@ NGREP_LIBS += `$(STAGING_DIR)/usr/bin/pcap-config --static --additional-libs` endif NGREP_CONF_ENV += LIBS+="$(NGREP_LIBS)" -NGREP_CONF_OPTS = \ +NGREP_CONF_OPTS = \ --with-pcap-includes=$(STAGING_DIR)/usr/include/pcap \ --enable-pcre \ --with-pcre=$(STAGING_DIR)/usr \ diff --git a/package/ninja/ninja.hash b/package/ninja/ninja.hash index 47ec8229b9..6334c0420b 100644 --- a/package/ninja/ninja.hash +++ b/package/ninja/ninja.hash @@ -1,2 +1,2 @@ # Locally generated -sha256 51581de53cf4705b89eb6b14a85baa73288ad08bff256e7d30d529155813be19 ninja-v1.7.1.tar.gz +sha256 86b8700c3d0880c2b44c2ff67ce42774aaf8c28cbf57725cb881569288c1c6f4 ninja-v1.8.2.tar.gz diff --git a/package/ninja/ninja.mk b/package/ninja/ninja.mk index 3cfe4faf2b..259a87d216 100644 --- a/package/ninja/ninja.mk +++ b/package/ninja/ninja.mk @@ -4,7 +4,7 @@ # ################################################################################ -NINJA_VERSION = v1.7.1 +NINJA_VERSION = v1.8.2 NINJA_SITE = $(call github,ninja-build,ninja,$(NINJA_VERSION)) NINJA_LICENSE = Apache-2.0 NINJA_LICENSE_FILES = COPYING @@ -16,7 +16,7 @@ define HOST_NINJA_BUILD_CMDS endef define HOST_NINJA_INSTALL_CMDS - $(INSTALL) -m 0755 -D $(@D)/ninja $(HOST_DIR)/usr/bin/ninja + $(INSTALL) -m 0755 -D $(@D)/ninja $(HOST_DIR)/bin/ninja endef $(eval $(host-generic-package)) diff --git a/package/nload/nload.mk b/package/nload/nload.mk index 1ead61ca0f..80d42a15c4 100644 --- a/package/nload/nload.mk +++ b/package/nload/nload.mk @@ -7,7 +7,7 @@ NLOAD_VERSION = 0.7.4 NLOAD_SITE = http://www.roland-riegel.de/nload NLOAD_DEPENDENCIES = ncurses -NLOAD_LICENSE = GPLv2+ +NLOAD_LICENSE = GPL-2.0+ NLOAD_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/nmap/0002-configure.ac-fix-AC_CHECK_HEADER-call-to-test-for-li.patch b/package/nmap/0002-configure.ac-fix-AC_CHECK_HEADER-call-to-test-for-li.patch new file mode 100644 index 0000000000..ed5cae259e --- /dev/null +++ b/package/nmap/0002-configure.ac-fix-AC_CHECK_HEADER-call-to-test-for-li.patch @@ -0,0 +1,30 @@ +From ff629766dbd3b5e179330ba4f07fd7e3d8384ec0 Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Wed, 1 Nov 2017 15:30:40 +0100 +Subject: [PATCH] configure.ac: fix AC_CHECK_HEADER call to test for libssh2 + +The -lm argument is passed as an argument to AC_CHECK_HEADER(), which +doesn't make sense. The intention was to pass it as the fifth +argument of AC_CHECK_LIB(). + +Signed-off-by: Max Filippov +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 3d00e164e..67db42e08 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -674,7 +674,7 @@ AC_HELP_STRING([--without-libssh2], [Compile without libssh2]), + AC_CHECK_LIB(ssh2, libssh2_version, + [have_libssh2=yes + LIBSSH2_INC=$with_libssh2/include +- LIBSSH2_LIB=$with_libssh2/lib])],,[-lm]) ++ LIBSSH2_LIB=$with_libssh2/lib],,[-lm])]) + + LDFLAGS=$_ldflags + CPPFLAGS=$_cppflags +-- +2.13.6 + diff --git a/package/nmap/nmap.hash b/package/nmap/nmap.hash index 239ca13816..740ec7a001 100644 --- a/package/nmap/nmap.hash +++ b/package/nmap/nmap.hash @@ -1,2 +1,2 @@ -# From https://nmap.org/dist/sigs/nmap-7.40.tar.bz2.digest.txt -sha256 9e14665fffd054554d129d62c13ad95a7b5c7a046daa2290501909e65f4d3188 nmap-7.40.tar.bz2 +# From https://nmap.org/dist/sigs/nmap-7.60.tar.bz2.digest.txt +sha256 a8796ecc4fa6c38aad6139d9515dc8113023a82e9d787e5a5fb5fa1b05516f21 nmap-7.60.tar.bz2 diff --git a/package/nmap/nmap.mk b/package/nmap/nmap.mk index 6e178b1f1f..ceb08ec006 100644 --- a/package/nmap/nmap.mk +++ b/package/nmap/nmap.mk @@ -4,16 +4,24 @@ # ################################################################################ -NMAP_VERSION = 7.40 -NMAP_SITE = http://nmap.org/dist +NMAP_VERSION = 7.60 +NMAP_SITE = https://nmap.org/dist NMAP_SOURCE = nmap-$(NMAP_VERSION).tar.bz2 -NMAP_DEPENDENCIES = libpcap pcre +NMAP_DEPENDENCIES = libpcap pcre host-autoconf NMAP_CONF_OPTS = --without-liblua --without-zenmap \ --with-libdnet=included --with-liblinear=included \ --with-libpcre="$(STAGING_DIR)/usr" --without-ncat -NMAP_LICENSE = GPLv2 +NMAP_LICENSE = GPL-2.0 NMAP_LICENSE_FILES = COPYING +# nmap doesn't autoreconf properly, so we just re-generate the +# top-level configure script, since we are patching configure.ac. +define NMAP_DO_AUTOCONF + (cd $(@D); $(HOST_DIR)/bin/autoconf) +endef + +NMAP_PRE_CONFIGURE_HOOKS += NMAP_DO_AUTOCONF + # needed by libpcap NMAP_LIBS_FOR_STATIC_LINK += `$(STAGING_DIR)/usr/bin/pcap-config --static --additional-libs` @@ -27,6 +35,14 @@ define NMAP_WRAPPER_EXEC endef NMAP_POST_PATCH_HOOKS += NMAP_WRAPPER_EXEC +ifeq ($(BR2_PACKAGE_LIBSSH2),y) +NMAP_CONF_OPTS += --with-libssh2="$(STAGING_DIR)/usr" +NMAP_DEPENDENCIES += libssh2 +NMAP_LIBS_FOR_STATIC_LINK += `$(PKG_CONFIG_HOST_BINARY) --libs libssh2` +else +NMAP_CONF_OPTS += --without-libssh2 +endif + ifeq ($(BR2_PACKAGE_OPENSSL),y) NMAP_CONF_OPTS += --with-openssl="$(STAGING_DIR)/usr" NMAP_DEPENDENCIES += host-pkgconf openssl diff --git a/package/nmon/nmon.hash b/package/nmon/nmon.hash index f3a073ffd6..432f71d846 100644 --- a/package/nmon/nmon.hash +++ b/package/nmon/nmon.hash @@ -1,5 +1,5 @@ # From https://sourceforge.net/projects/nmon/files/ -md5 a72e3eb737c230cd309329330a5545bd lmon16f.c -sha1 b69fdddf86ffe674e0133426fa09935ed678ab7d lmon16f.c +md5 246ccfc74d5af55d992601fc4d3d4a72 lmon16g.c +sha1 926217a98f78dd398d4d5690d7b10b8b2b620168 lmon16g.c # Locally computed -sha256 280a371e17488f8a2c5e0c64273155789be6fa5b937ab5c465488e591bdc5cd9 lmon16f.c +sha256 da82dd693b503b062854dfe7dbb5d36b347872ab44a4aa05b97e9d577747f688 lmon16g.c diff --git a/package/nmon/nmon.mk b/package/nmon/nmon.mk index 9b9f889078..f561d6dcc0 100644 --- a/package/nmon/nmon.mk +++ b/package/nmon/nmon.mk @@ -4,10 +4,10 @@ # ################################################################################ -NMON_VERSION = 16f -NMON_SITE = http://sourceforge.net/projects/nmon/files +NMON_VERSION = 16g +NMON_SITE = https://sourceforge.net/projects/nmon/files NMON_SOURCE = lmon$(NMON_VERSION).c -NMON_LICENSE = GPLv3+ +NMON_LICENSE = GPL-3.0+ NMON_LICENSE_FILES = $(NMON_SOURCE) NMON_DEPENDENCIES = ncurses NMON_CFLAGS = $(TARGET_CFLAGS) -D JFS -D GETUSER -D LARGEMEM -D DEBIAN diff --git a/package/nodejs/0.10.48/0001-remove-python-bz2-dependency.patch b/package/nodejs/0.10.48/0001-remove-python-bz2-dependency.patch deleted file mode 100644 index 75fe437502..0000000000 --- a/package/nodejs/0.10.48/0001-remove-python-bz2-dependency.patch +++ /dev/null @@ -1,27 +0,0 @@ -Remove dependency on Python bz2 module - -The Python bz2 module is only needed in certain cases, so only import -it when needed. In the normal nodejs build, this allows to remove the -dependency on this module. - -Signed-off-by: Thomas Petazzoni -Index: b/deps/v8/tools/js2c.py -=================================================================== ---- a/deps/v8/tools/js2c.py -+++ b/deps/v8/tools/js2c.py -@@ -33,7 +33,6 @@ - - import os, re, sys, string - import jsmin --import bz2 - - - def ToCAsciiArray(lines): -@@ -344,6 +343,7 @@ - else: - raw_sources_declaration = RAW_SOURCES_COMPRESSION_DECLARATION - if env['COMPRESSION'] == 'bz2': -+ import bz2 - all_sources = bz2.compress("".join(all_sources)) - total_length = len(all_sources) - sources_data = ToCArray(all_sources) diff --git a/package/nodejs/0.10.48/0002-gyp-force-link-command-to-use-CXX.patch b/package/nodejs/0.10.48/0002-gyp-force-link-command-to-use-CXX.patch deleted file mode 100644 index a2f02abf34..0000000000 --- a/package/nodejs/0.10.48/0002-gyp-force-link-command-to-use-CXX.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 00d809e9305241f8636a2d75e22c493293e6971a Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Sun, 20 Apr 2014 15:03:01 +0200 -Subject: [PATCH] gyp: force link command to use CXX - -Signed-off-by: Samuel Martin ---- - tools/gyp/pylib/gyp/generator/make.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tools/gyp/pylib/gyp/generator/make.py b/tools/gyp/pylib/gyp/generator/make.py -index 0de510e..54e4c96 100644 ---- a/tools/gyp/pylib/gyp/generator/make.py -+++ b/tools/gyp/pylib/gyp/generator/make.py -@@ -134,7 +134,7 @@ cmd_alink_thin = rm -f $@ && $(AR.$(TOOLSET)) crsT $@ $(filter %.o,$^) - # special "figure out circular dependencies" flags around the entire - # input list during linking. - quiet_cmd_link = LINK($(TOOLSET)) $@ --cmd_link = $(LINK.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ -Wl,--start-group $(LD_INPUTS) -Wl,--end-group $(LIBS) -+cmd_link = $(CXX.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ -Wl,--start-group $(LD_INPUTS) -Wl,--end-group $(LIBS) - - # We support two kinds of shared objects (.so): - # 1) shared_library, which is just bundling together many dependent libraries --- -1.9.2 - diff --git a/package/nodejs/0.10.48/0003-fix-musl-USE-MISC-build-issue.patch b/package/nodejs/0.10.48/0003-fix-musl-USE-MISC-build-issue.patch deleted file mode 100644 index 128058df29..0000000000 --- a/package/nodejs/0.10.48/0003-fix-musl-USE-MISC-build-issue.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 0bc482abeb814573251ecafb5a1e045c885b13a2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B6rg=20Krause?= -Date: Mon, 25 May 2015 16:22:57 +0200 -Subject: [PATCH 1/1] Fix musl __USE_MISC issue -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The musl C library does not define __USE_MISC and so libuv (built-in dependency) -does not use the correct struct stat definition for musl. - -The feature test macro __USE_MISC is defined by glibc if _BSD_SOURCE or -_SVID_SOURCE is defined. - -The libuv build system enables the feature test macro _GNU_SOURCE for linux -builds. - -Since glibc 2.19, defining _GNU_SOURCE also has the effect of implicitly -defining _DEFAULT_SOURCE - the replacement for _BSD_SOURCE and _SVID_SOURCE. - -In glibc versions before 2.20, defining _GNU_SOURCE also had the effect of -implicitly defining _BSD_SOURCE and _SVID_SOURCE. This is also true for uClibc. - -Alltogether, we can safely replace __USE_MISC by _GNU_SOURCE to support building -nodejs 0.10.x with the musl C library. - -Signed-off-by: Jörg Krause ---- - deps/uv/src/fs-poll.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/deps/uv/src/fs-poll.c b/deps/uv/src/fs-poll.c -index ad27f18..094447e 100644 ---- a/deps/uv/src/fs-poll.c -+++ b/deps/uv/src/fs-poll.c -@@ -198,7 +198,7 @@ static int statbuf_eq(const uv_statbuf_t* a, const uv_statbuf_t* b) { - - /* Jump through a few hoops to get sub-second granularity on Linux. */ - # if defined(__linux__) --# if defined(__USE_MISC) /* _BSD_SOURCE || _SVID_SOURCE */ -+# if defined(_GNU_SOURCE) /* _BSD_SOURCE || _SVID_SOURCE */ - if (a->st_ctim.tv_nsec != b->st_ctim.tv_nsec) return 0; - if (a->st_mtim.tv_nsec != b->st_mtim.tv_nsec) return 0; - # else --- -2.4.1 - diff --git a/package/nodejs/0.10.48/0004-Fix-support-for-uClibc-ng.patch b/package/nodejs/0.10.48/0004-Fix-support-for-uClibc-ng.patch deleted file mode 100644 index 59b9d5044c..0000000000 --- a/package/nodejs/0.10.48/0004-Fix-support-for-uClibc-ng.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 1cc08f6ceacbb0e5ba1f4638ca3a97ac002d7792 Mon Sep 17 00:00:00 2001 -From: "Bark, Martin" -Date: Mon, 14 Dec 2015 13:26:10 +0000 -Subject: [PATCH 2/2] Fix support for uClibc-ng - -uClibc-ng is currently at v1.0.9. The patch corrects the uClibc -version test so that HAVE_IFADDRS_H is defined for uClibc versions -after v0.9.32. - -Submitted upstream to libuv and accepted, see -https://github.com/libuv/libuv/pull/653 and -https://github.com/libuv/libuv/commit/c861972 - -Signed-off-by: Bark, Martin ---- - deps/uv/src/unix/linux-core.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/deps/uv/src/unix/linux-core.c b/deps/uv/src/unix/linux-core.c -index e6e6828..6cbbb71 100644 ---- a/deps/uv/src/unix/linux-core.c -+++ b/deps/uv/src/unix/linux-core.c -@@ -39,7 +39,7 @@ - #define HAVE_IFADDRS_H 1 - - #ifdef __UCLIBC__ --# if __UCLIBC_MAJOR__ < 0 || __UCLIBC_MINOR__ < 9 || __UCLIBC_SUBLEVEL__ < 32 -+# if __UCLIBC_MAJOR__ < 0 && __UCLIBC_MINOR__ < 9 && __UCLIBC_SUBLEVEL__ < 32 - # undef HAVE_IFADDRS_H - # endif - #endif --- -2.6.2 diff --git a/package/nodejs/0001-check-if-uclibc-has-backtrace-support.patch b/package/nodejs/0001-check-if-uclibc-has-backtrace-support.patch new file mode 100644 index 0000000000..079bbb4366 --- /dev/null +++ b/package/nodejs/0001-check-if-uclibc-has-backtrace-support.patch @@ -0,0 +1,26 @@ +From 7c69553d7275bbcaa88fada8ccd0d2d9f787e1ad Mon Sep 17 00:00:00 2001 +From: Martin Bark +Date: Sat, 4 Mar 2017 20:41:40 +0000 +Subject: [PATCH] check if uclibc has backtrace support + +Signed-off-by: Martin Bark +--- + deps/v8/src/base/debug/stack_trace_posix.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/deps/v8/src/base/debug/stack_trace_posix.cc b/deps/v8/src/base/debug/stack_trace_posix.cc +index 87c0a73..d2c182a 100644 +--- a/deps/v8/src/base/debug/stack_trace_posix.cc ++++ b/deps/v8/src/base/debug/stack_trace_posix.cc +@@ -25,7 +25,7 @@ + #include + #include + +-#if V8_LIBC_GLIBC || V8_LIBC_BSD || V8_LIBC_UCLIBC || V8_OS_SOLARIS ++#if V8_LIBC_GLIBC || V8_LIBC_BSD || ( V8_LIBC_UCLIBC && __UCLIBC_HAS_BACKTRACE__ ) || V8_OS_SOLARIS + #define HAVE_EXECINFO_H 1 + #endif + +-- +2.7.4 + diff --git a/package/nodejs/6.9.4/0001-gyp-force-link-command-to-use-CXX.patch b/package/nodejs/6.9.4/0001-gyp-force-link-command-to-use-CXX.patch deleted file mode 100644 index 5746582c14..0000000000 --- a/package/nodejs/6.9.4/0001-gyp-force-link-command-to-use-CXX.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 90a3c113c19ec615249ab880c45c6c0a8d369098 Mon Sep 17 00:00:00 2001 -From: Martin Bark -Date: Tue, 30 Jun 2015 09:43:47 +0100 -Subject: [PATCH 2/4] gyp: force link command to use CXX - -Signed-off-by: Samuel Martin -Signed-off-by: Martin Bark -[yann.morin.1998@free.fr: adapt to 4.1.2] -Signed-off-by: "Yann E. MORIN" ---- - tools/gyp/pylib/gyp/generator/make.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tools/gyp/pylib/gyp/generator/make.py b/tools/gyp/pylib/gyp/generator/make.py -index b88a433..0a1f2e0 100644 ---- a/tools/gyp/pylib/gyp/generator/make.py -+++ b/tools/gyp/pylib/gyp/generator/make.py -@@ -142,7 +142,7 @@ cmd_alink_thin = rm -f $@ && $(AR.$(TOOLSET)) crsT $@ $(filter %.o,$^) - # special "figure out circular dependencies" flags around the entire - # input list during linking. - quiet_cmd_link = LINK($(TOOLSET)) $@ --cmd_link = $(LINK.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ -Wl,--start-group $(LD_INPUTS) -Wl,--end-group $(LIBS) -+cmd_link = $(CXX.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ -Wl,--start-group $(LD_INPUTS) -Wl,--end-group $(LIBS) - - # We support two kinds of shared objects (.so): - # 1) shared_library, which is just bundling together many dependent libraries --- -2.1.4 - diff --git a/package/nodejs/6.9.4/0002-inspector-don-t-build-when-ssl-support-is-disabled.patch b/package/nodejs/6.9.4/0002-inspector-don-t-build-when-ssl-support-is-disabled.patch deleted file mode 100644 index c07cbf8c65..0000000000 --- a/package/nodejs/6.9.4/0002-inspector-don-t-build-when-ssl-support-is-disabled.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 7fa541f6c0a31e3ddcab6ea85040b531bbaa4651 Mon Sep 17 00:00:00 2001 -From: Martin Bark -Date: Tue, 12 Jul 2016 19:03:28 +0100 -Subject: [PATCH] inspector: don't build when ssl support is disabled - -Signed-off-by: Martin Bark ---- - node.gyp | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/node.gyp b/node.gyp -index 8a8bd00..fdccd60 100644 ---- a/node.gyp -+++ b/node.gyp -@@ -302,7 +302,7 @@ - 'deps/v8/src/third_party/vtune/v8vtune.gyp:v8_vtune' - ], - }], -- [ 'v8_inspector=="true"', { -+ [ 'v8_inspector=="true" and node_use_openssl =="true"', { - 'defines': [ - 'HAVE_INSPECTOR=1', - 'V8_INSPECTOR_USE_STL=1', -@@ -828,7 +828,7 @@ - ], - - 'conditions': [ -- ['v8_inspector=="true"', { -+ ['v8_inspector=="true" and node_use_openssl =="true"', { - 'sources': [ - 'src/inspector_socket.cc', - 'test/cctest/test_inspector_socket.cc' --- -2.7.4 - diff --git a/package/nodejs/Config.in b/package/nodejs/Config.in index b8c45f5dcd..345fe1047d 100644 --- a/package/nodejs/Config.in +++ b/package/nodejs/Config.in @@ -1,21 +1,23 @@ -comment "nodejs needs a toolchain w/ C++, dynamic library, threads, gcc >= 4.8, wchar" +config BR2_PACKAGE_NODEJS_ARCH_SUPPORTS + bool + # On ARM, at least ARMv6+ with VFPv2+ is needed + default y if BR2_arm && !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5 && BR2_ARM_CPU_HAS_VFPV2 + default y if BR2_mipsel && !BR2_MIPS_SOFT_FLOAT + default y if BR2_aarch64 || BR2_i386 || BR2_x86_64 + # libuv + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + +comment "nodejs needs a toolchain w/ C++, dynamic library, NPTL, gcc >= 4.8, wchar" depends on BR2_USE_MMU - depends on BR2_arm || BR2_aarch64 || BR2_i386 || BR2_x86_64 || BR2_mipsel - depends on !BR2_MIPS_SOFT_FLOAT - depends on !BR2_ARM_CPU_ARMV4 - depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS || \ + depends on BR2_PACKAGE_NODEJS_ARCH_SUPPORTS + depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ !BR2_HOST_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_USE_WCHAR config BR2_PACKAGE_NODEJS bool "nodejs" - depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # libuv depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_arm || BR2_aarch64 || BR2_i386 || BR2_x86_64 || BR2_mipsel - depends on !BR2_MIPS_SOFT_FLOAT - # ARM needs BLX, so v5t+ - depends on !BR2_ARM_CPU_ARMV4 - # 0.10.x could be built without the following toolchain dependencies but - # simplify things by requiring these basic dependencies for all versions. + depends on BR2_PACKAGE_NODEJS_ARCH_SUPPORTS depends on BR2_HOST_GCC_AT_LEAST_4_8 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 depends on BR2_USE_WCHAR @@ -24,6 +26,9 @@ config BR2_PACKAGE_NODEJS # uses dlopen(). On ARMv5, we could technically support static # linking, but that's too much of a corner case to support it. depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_C_ARES + select BR2_PACKAGE_LIBHTTPPARSER + select BR2_PACKAGE_LIBUV select BR2_PACKAGE_ZLIB help Event-driven I/O server-side JavaScript environment based on V8. @@ -32,20 +37,6 @@ config BR2_PACKAGE_NODEJS if BR2_PACKAGE_NODEJS -# Starting with 0.12.x, on ARM, V8 (the JS engine) -# now requires an armv6+ and a VFPv2+. -config BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS - bool - # On supported architectures other than ARM, no special requirement - default y if !BR2_arm - # On ARM, at least ARMv6+ with VFPv2+ is needed - default y if !BR2_ARM_CPU_ARMV5 && BR2_ARM_CPU_HAS_VFPV2 - -config BR2_PACKAGE_NODEJS_VERSION_STRING - string - default "6.9.4" if BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS - default "0.10.48" - config BR2_PACKAGE_NODEJS_NPM bool "NPM for the target" select BR2_PACKAGE_OPENSSL @@ -58,23 +49,6 @@ config BR2_PACKAGE_NODEJS_NPM Note that NPM is always built for the buildroot host. -config BR2_PACKAGE_NODEJS_MODULES_EXPRESS - bool "Express web application framework" - help - Express is a minimal and flexible node.js web application - framework, providing a robust set of features for building - single and multi-page, and hybrid web applications. - - http://www.expressjs.com - https://github.com/visionmedia/express - -config BR2_PACKAGE_NODEJS_MODULES_COFFEESCRIPT - bool "CoffeeScript" - help - CoffeeScript is a little language that compiles into JavaScript. - - http://www.coffeescript.org - config BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL string "Additional modules" help diff --git a/package/nodejs/nodejs.hash b/package/nodejs/nodejs.hash index 8c8c5a3c23..658f80baaa 100644 --- a/package/nodejs/nodejs.hash +++ b/package/nodejs/nodejs.hash @@ -1,5 +1,2 @@ -# From upstream URL: http://nodejs.org/dist/v0.10.48/SHASUMS256.txt -sha256 365a93d9acc076a0d93f087d269f376abeebccad599a9dab72f2f6ed96c8ae6e node-v0.10.48.tar.xz - -# From upstream URL: http://nodejs.org/dist/v6.9.4/SHASUMS256.txt -sha256 c51d7c61db40455d57428abcadc7eb0f0a08a8878cb1d8ea3c1e211c54532c35 node-v6.9.4.tar.xz +# From http://nodejs.org/dist/v8.9.1/SHASUMS256.txt +sha256 ef160c21f60f8aca64145985e01b4044435e381dc16e8f0640ed0223e84f17e0 node-v8.9.1.tar.xz diff --git a/package/nodejs/nodejs.mk b/package/nodejs/nodejs.mk index 042cc3fb07..9cf26da601 100644 --- a/package/nodejs/nodejs.mk +++ b/package/nodejs/nodejs.mk @@ -4,10 +4,11 @@ # ################################################################################ -NODEJS_VERSION = $(call qstrip,$(BR2_PACKAGE_NODEJS_VERSION_STRING)) +NODEJS_VERSION = 8.9.1 NODEJS_SOURCE = node-v$(NODEJS_VERSION).tar.xz NODEJS_SITE = http://nodejs.org/dist/v$(NODEJS_VERSION) -NODEJS_DEPENDENCIES = host-python host-nodejs zlib \ +NODEJS_DEPENDENCIES = host-python host-nodejs c-ares \ + libhttpparser libuv zlib \ $(call qstrip,$(BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL_DEPS)) HOST_NODEJS_DEPENDENCIES = host-python host-zlib NODEJS_LICENSE = MIT (core code); MIT, Apache and BSD family licenses (Bundled components) @@ -16,6 +17,9 @@ NODEJS_LICENSE_FILES = LICENSE NODEJS_CONF_OPTS = \ --without-snapshot \ --shared-zlib \ + --shared-cares \ + --shared-http-parser \ + --shared-libuv \ --without-dtrace \ --without-etw \ --dest-os=linux @@ -27,15 +31,12 @@ else NODEJS_CONF_OPTS += --without-ssl endif -# 0.10.x does not have icu support -ifeq ($(findstring 0.10.,$(NODEJS_VERSION)),) ifeq ($(BR2_PACKAGE_ICU),y) NODEJS_DEPENDENCIES += icu NODEJS_CONF_OPTS += --with-intl=system-icu else NODEJS_CONF_OPTS += --with-intl=none endif -endif ifneq ($(BR2_PACKAGE_NODEJS_NPM),y) NODEJS_CONF_OPTS += --without-npm @@ -47,7 +48,7 @@ define HOST_NODEJS_CONFIGURE_CMDS # The build system directly calls python. Work around this by forcing python2 # into PATH. See https://github.com/nodejs/node/issues/2735 mkdir -p $(@D)/bin - ln -sf $(HOST_DIR)/usr/bin/python2 $(@D)/bin/python + ln -sf $(HOST_DIR)/bin/python2 $(@D)/bin/python # Build with the static, built-in OpenSSL which is supplied as part of # the nodejs source distribution. This is needed on the host because @@ -56,28 +57,30 @@ define HOST_NODEJS_CONFIGURE_CMDS (cd $(@D); \ $(HOST_CONFIGURE_OPTS) \ PATH=$(@D)/bin:$(BR_PATH) \ - PYTHON=$(HOST_DIR)/usr/bin/python2 \ - $(HOST_DIR)/usr/bin/python2 ./configure \ - --prefix=$(HOST_DIR)/usr \ + PYTHON=$(HOST_DIR)/bin/python2 \ + $(HOST_DIR)/bin/python2 ./configure \ + --prefix=$(HOST_DIR) \ --without-snapshot \ --without-dtrace \ --without-etw \ --shared-zlib \ - $(if $(BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS),--with-intl=none) \ + --with-intl=none \ ) endef define HOST_NODEJS_BUILD_CMDS - $(HOST_MAKE_ENV) PYTHON=$(HOST_DIR)/usr/bin/python2 \ + $(HOST_MAKE_ENV) PYTHON=$(HOST_DIR)/bin/python2 \ $(MAKE) -C $(@D) \ $(HOST_CONFIGURE_OPTS) \ + NO_LOAD=cctest.target.mk \ PATH=$(@D)/bin:$(BR_PATH) endef define HOST_NODEJS_INSTALL_CMDS - $(HOST_MAKE_ENV) PYTHON=$(HOST_DIR)/usr/bin/python2 \ + $(HOST_MAKE_ENV) PYTHON=$(HOST_DIR)/bin/python2 \ $(MAKE) -C $(@D) install \ $(HOST_CONFIGURE_OPTS) \ + NO_LOAD=cctest.target.mk \ PATH=$(@D)/bin:$(BR_PATH) endef @@ -111,14 +114,14 @@ endif define NODEJS_CONFIGURE_CMDS mkdir -p $(@D)/bin - ln -sf $(HOST_DIR)/usr/bin/python2 $(@D)/bin/python + ln -sf $(HOST_DIR)/bin/python2 $(@D)/bin/python (cd $(@D); \ $(TARGET_CONFIGURE_OPTS) \ PATH=$(@D)/bin:$(BR_PATH) \ LD="$(TARGET_CXX)" \ - PYTHON=$(HOST_DIR)/usr/bin/python2 \ - $(HOST_DIR)/usr/bin/python2 ./configure \ + PYTHON=$(HOST_DIR)/bin/python2 \ + $(HOST_DIR)/bin/python2 ./configure \ --prefix=/usr \ --dest-cpu=$(NODEJS_CPU) \ $(if $(NODEJS_ARM_FP),--with-arm-float-abi=$(NODEJS_ARM_FP)) \ @@ -129,20 +132,18 @@ define NODEJS_CONFIGURE_CMDS endef define NODEJS_BUILD_CMDS - $(TARGET_MAKE_ENV) PYTHON=$(HOST_DIR)/usr/bin/python2 \ + $(TARGET_MAKE_ENV) PYTHON=$(HOST_DIR)/bin/python2 \ $(MAKE) -C $(@D) \ $(TARGET_CONFIGURE_OPTS) \ + NO_LOAD=cctest.target.mk \ PATH=$(@D)/bin:$(BR_PATH) \ LD="$(TARGET_CXX)" endef # -# Build the list of modules to install based on the booleans for -# popular modules, as well as the "additional modules" list. +# Build the list of modules to install. # NODEJS_MODULES_LIST= $(call qstrip,\ - $(if $(BR2_PACKAGE_NODEJS_MODULES_EXPRESS),express) \ - $(if $(BR2_PACKAGE_NODEJS_MODULES_COFFEESCRIPT),coffee-script) \ $(BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL)) # Define NPM for other packages to use @@ -153,7 +154,7 @@ NPM = $(TARGET_CONFIGURE_OPTS) \ npm_config_build_from_source=true \ npm_config_nodedir=$(BUILD_DIR)/nodejs-$(NODEJS_VERSION) \ npm_config_prefix=$(TARGET_DIR)/usr \ - $(HOST_DIR)/usr/bin/npm + $(HOST_DIR)/bin/npm # # We can only call NPM if there's something to install. @@ -168,10 +169,11 @@ endef endif define NODEJS_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) PYTHON=$(HOST_DIR)/usr/bin/python2 \ + $(TARGET_MAKE_ENV) PYTHON=$(HOST_DIR)/bin/python2 \ $(MAKE) -C $(@D) install \ DESTDIR=$(TARGET_DIR) \ $(TARGET_CONFIGURE_OPTS) \ + NO_LOAD=cctest.target.mk \ PATH=$(@D)/bin:$(BR_PATH) \ LD="$(TARGET_CXX)" $(NODEJS_INSTALL_MODULES) diff --git a/package/nodm/Config.in b/package/nodm/Config.in index 97ce8c39c8..38171e8dcf 100644 --- a/package/nodm/Config.in +++ b/package/nodm/Config.in @@ -4,7 +4,6 @@ config BR2_PACKAGE_NODM depends on (BR2_ENABLE_LOCALE && BR2_USE_WCHAR) # linux-pam depends on !BR2_STATIC_LIBS # linux-pam depends on !BR2_TOOLCHAIN_USES_MUSL # linux-pam - depends on !BR2_TOOLCHAIN_USES_UCLIBC # needs wordexp.h depends on BR2_USE_MMU # linux-pam select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_LINUX_PAM @@ -19,8 +18,7 @@ config BR2_PACKAGE_NODM https://github.com/spanezz/nodm/ -comment "nodm needs a glibc toolchain w/ wchar, locale, dynamic library" +comment "nodm needs a glibc or uClibc toolchain w/ wchar, locale, dynamic library" depends on BR2_PACKAGE_XORG7 depends on !(BR2_ENABLE_LOCALE && BR2_USE_WCHAR) \ - || BR2_STATIC_LIBS || BR2_TOOLCHAIN_USES_MUSL \ - || BR2_TOOLCHAIN_USES_UCLIBC + || BR2_STATIC_LIBS || BR2_TOOLCHAIN_USES_MUSL diff --git a/package/nodm/nodm.hash b/package/nodm/nodm.hash index e11e87563e..2a70c68606 100644 --- a/package/nodm/nodm.hash +++ b/package/nodm/nodm.hash @@ -1,2 +1,2 @@ # locally calculated -sha256 840939d27d3d9b02ad09e1cffce24729bcdeee6cea6b3f0037d8ae76b49feecd nodm-0.12-1.tar.gz +sha256 ef11667ae82846801a9633df36c20f632cc03319bb1da35f062ac0f950771273 nodm-0.13.tar.gz diff --git a/package/nodm/nodm.mk b/package/nodm/nodm.mk index da6bc8503c..a5afd53b22 100644 --- a/package/nodm/nodm.mk +++ b/package/nodm/nodm.mk @@ -4,9 +4,9 @@ # ################################################################################ -NODM_VERSION = 0.12-1 -NODM_SITE = $(call github,spanezz,nodm,debian/$(NODM_VERSION)) -NODM_LICENSE = GPLv2+ +NODM_VERSION = 0.13 +NODM_SITE = $(call github,spanezz,nodm,$(NODM_VERSION)) +NODM_LICENSE = GPL-2.0+ NODM_LICENSE_FILES = COPYING NODM_AUTORECONF = YES diff --git a/package/noip/noip.mk b/package/noip/noip.mk index a61d141832..b7fcc84e2f 100644 --- a/package/noip/noip.mk +++ b/package/noip/noip.mk @@ -7,7 +7,7 @@ NOIP_VERSION = 2.1.9 NOIP_SITE = http://www.no-ip.com/client/linux NOIP_SOURCE = noip-duc-linux.tar.gz -NOIP_LICENSE = GPLv2+ +NOIP_LICENSE = GPL-2.0+ NOIP_LICENSE_FILES = COPYING define NOIP_BUILD_CMDS diff --git a/package/norm/0003-fix-const-qualifier-gcc7.patch b/package/norm/0003-fix-const-qualifier-gcc7.patch new file mode 100644 index 0000000000..57e01f9c13 --- /dev/null +++ b/package/norm/0003-fix-const-qualifier-gcc7.patch @@ -0,0 +1,46 @@ +protolib: remove const qualifiers in ProtoSortedTreeTemplate + +The methods PeekPrevItem() and PeekNextItem() in +ProtoSortedTreeTemplate were using a const qualifier, but not the +corresponding methods in ProtoSortedTree, causing a build failure with +gcc 7.x: + +norm-1.5r6/protolib/include/protoTree.h: In member function 'ITEM_TYPE* ProtoSortedTreeTemplate::Iterator::PeekPrevItem() const': +norm-1.5r6/protolib/include/protoTree.h:652:93: error: no matching function for call to 'ProtoSortedTreeTemplate::Iterator::PeekPrevItem() const' + {return static_cast(ProtoSortedTree::Iterator::PeekPrevItem());} + ^ +norm-1.5r6/protolib/include/protoTree.h:565:23: note: candidate: ProtoSortedTree::Item* ProtoSortedTree::Iterator::PeekPrevItem() + Item* PeekPrevItem() + ^~~~~~~~~~~~ + +Since the same methods in ProtoTreeTemplate don't have the const +qualifier, we take the simple solution of dropping such qualifiers +from ProtoSortedTreeTemplate as well, which fixes the build of norm +with gcc 7.x. + +Many thanks to Romain Naour for pointing out +the solution. + +Signed-off-by: Thomas Petazzoni +[Patch has been submitted upstream and accepted, but mailing list +archive not updated.] + +Index: b/protolib/include/protoTree.h +=================================================================== +--- a/protolib/include/protoTree.h ++++ b/protolib/include/protoTree.h +@@ -648,12 +648,12 @@ + + ITEM_TYPE* GetPrevItem() + {return static_cast(ProtoSortedTree::Iterator::GetPrevItem());} +- ITEM_TYPE* PeekPrevItem() const ++ ITEM_TYPE* PeekPrevItem() + {return static_cast(ProtoSortedTree::Iterator::PeekPrevItem());} + + ITEM_TYPE* GetNextItem() + {return static_cast(ProtoSortedTree::Iterator::GetNextItem());} +- ITEM_TYPE* PeekNextItem() const ++ ITEM_TYPE* PeekNextItem() + {return static_cast(ProtoSortedTree::Iterator::PeekNextItem());} + + }; // end class ProtoSortedTreeTemplate::Iterator diff --git a/package/nss-mdns/nss-mdns.mk b/package/nss-mdns/nss-mdns.mk index 9ec9c1af43..407b9426b2 100644 --- a/package/nss-mdns/nss-mdns.mk +++ b/package/nss-mdns/nss-mdns.mk @@ -6,7 +6,7 @@ NSS_MDNS_VERSION = 0.10 NSS_MDNS_SITE = http://0pointer.de/lennart/projects/nss-mdns -NSS_MDNS_LICENSE = LGPLv2.1+ +NSS_MDNS_LICENSE = LGPL-2.1+ NSS_MDNS_LICENSE_FILES = LICENSE define NSS_MDNS_INSTALL_CONFIG diff --git a/package/nss-pam-ldapd/nss-pam-ldapd.hash b/package/nss-pam-ldapd/nss-pam-ldapd.hash index b931e6fc12..66cb794063 100644 --- a/package/nss-pam-ldapd/nss-pam-ldapd.hash +++ b/package/nss-pam-ldapd/nss-pam-ldapd.hash @@ -1,4 +1,4 @@ -# From http://arthurdejong.org/nss-pam-ldapd/nss-pam-ldapd-0.9.6.tar.gz.md5 -md5 fa5ec49cb54428d6c73e244a11021695 nss-pam-ldapd-0.9.6.tar.gz +# From https://arthurdejong.org/nss-pam-ldapd/nss-pam-ldapd-0.9.8.tar.gz.md5 +md5 8c99fdc54f4bf9aca8c5f53fdb1403ff nss-pam-ldapd-0.9.8.tar.gz # Locally computed: -sha256 101d5a7fa10549cc77be48d07f2b8141f59182f10f2cc0fea93efd13c3a5a6f2 nss-pam-ldapd-0.9.5.tar.gz +sha256 ef7362e7f2003da8c7beb7bcc03c30494acf712625aaac8badc6e7eb16f3453f nss-pam-ldapd-0.9.8.tar.gz diff --git a/package/nss-pam-ldapd/nss-pam-ldapd.mk b/package/nss-pam-ldapd/nss-pam-ldapd.mk index ba250829bb..c094db96ac 100644 --- a/package/nss-pam-ldapd/nss-pam-ldapd.mk +++ b/package/nss-pam-ldapd/nss-pam-ldapd.mk @@ -4,9 +4,9 @@ # ################################################################################ -NSS_PAM_LDAPD_VERSION = 0.9.6 +NSS_PAM_LDAPD_VERSION = 0.9.8 NSS_PAM_LDAPD_SITE = http://arthurdejong.org/nss-pam-ldapd -NSS_PAM_LDAPD_LICENSE = LGPLv2.1+ +NSS_PAM_LDAPD_LICENSE = LGPL-2.1+ NSS_PAM_LDAPD_LICENSE_FILES = COPYING NSS_PAM_LDAPD_INSTALL_STAGING = YES @@ -27,7 +27,7 @@ NSS_PAM_LDAPD_CONF_OPTS += --disable-pam endif define NSS_PAM_LDAPD_INSTALL_INIT_SYSTEMD - $(INSTALL) -m 755 -D package/nss-pam-ldapd/nslcd.service \ + $(INSTALL) -m 644 -D package/nss-pam-ldapd/nslcd.service \ $(TARGET_DIR)/usr/lib/systemd/system/nslcd.service mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants ln -fs ../../../../usr/lib/systemd/system/nslcd.service \ diff --git a/package/ntfs-3g/0001-libfuse-util-include-paths.h-when-needed.patch b/package/ntfs-3g/0001-libfuse-util-include-paths.h-when-needed.patch deleted file mode 100644 index 1765f68c89..0000000000 --- a/package/ntfs-3g/0001-libfuse-util-include-paths.h-when-needed.patch +++ /dev/null @@ -1,43 +0,0 @@ -From da021ed297ff7a69f3b7532ef68a9b6877a55265 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sat, 20 Aug 2016 11:05:27 +0200 -Subject: [PATCH] libfuse-util: include when needed - -Both fusermount.c and mount_util.c use _PATH_MOUNTED, so they should -include , which provides this definition. - -This fixes the build with the musl C library. - -Signed-off-by: Thomas Petazzoni ---- - libfuse-lite/fusermount.c | 1 + - libfuse-lite/mount_util.c | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/libfuse-lite/fusermount.c b/libfuse-lite/fusermount.c -index 4e724db..680fee1 100644 ---- a/libfuse-lite/fusermount.c -+++ b/libfuse-lite/fusermount.c -@@ -19,6 +19,7 @@ - #include - #include - #include -+#include - - #ifdef __SOLARIS__ - #include -diff --git a/libfuse-lite/mount_util.c b/libfuse-lite/mount_util.c -index 8ea5e08..8b31722 100644 ---- a/libfuse-lite/mount_util.c -+++ b/libfuse-lite/mount_util.c -@@ -15,6 +15,7 @@ - #include - #include - #include -+#include - #include - #include - #ifdef __SOLARIS__ --- -2.7.4 - diff --git a/package/ntfs-3g/ntfs-3g.hash b/package/ntfs-3g/ntfs-3g.hash index eaa3d98718..2e0b06fd5d 100644 --- a/package/ntfs-3g/ntfs-3g.hash +++ b/package/ntfs-3g/ntfs-3g.hash @@ -1,3 +1,2 @@ # Locally calculated -sha256 d7b72c05e4b3493e6095be789a760c9f5f2b141812d5b885f3190c98802f1ea0 ntfs-3g_ntfsprogs-2016.2.22.tgz -sha256 43deadaeade489934b0b45e2ed8aa5f853ad0364fbde7ad144211b80132ea041 0003-CVE-2017-0358.patch +sha256 3e5a021d7b761261836dcb305370af299793eedbded731df3d6943802e1262d5 ntfs-3g_ntfsprogs-2017.3.23.tgz diff --git a/package/ntfs-3g/ntfs-3g.mk b/package/ntfs-3g/ntfs-3g.mk index 6e1a8f9460..5f23eae9c9 100644 --- a/package/ntfs-3g/ntfs-3g.mk +++ b/package/ntfs-3g/ntfs-3g.mk @@ -4,14 +4,13 @@ # ################################################################################ -NTFS_3G_VERSION = 2016.2.22 +NTFS_3G_VERSION = 2017.3.23 NTFS_3G_SOURCE = ntfs-3g_ntfsprogs-$(NTFS_3G_VERSION).tgz NTFS_3G_SITE = http://tuxera.com/opensource -NTFS_3G_PATCH = https://sources.debian.net/data/main/n/ntfs-3g/1:2016.2.22AR.1-4/debian/patches/0003-CVE-2017-0358.patch NTFS_3G_CONF_OPTS = --disable-ldconfig NTFS_3G_INSTALL_STAGING = YES NTFS_3G_DEPENDENCIES = host-pkgconf -NTFS_3G_LICENSE = GPLv2+, LGPLv2+ +NTFS_3G_LICENSE = GPL-2.0+, LGPL-2.0+ NTFS_3G_LICENSE_FILES = COPYING COPYING.LIB ifeq ($(BR2_PACKAGE_LIBFUSE),y) diff --git a/package/ntp/0003-ntpq-fpic.patch b/package/ntp/0003-ntpq-fpic.patch new file mode 100644 index 0000000000..6e05a677c5 --- /dev/null +++ b/package/ntp/0003-ntpq-fpic.patch @@ -0,0 +1,23 @@ +ntpq/Makefile.am: add NTP_HARD_CFLAGS + +Pass NTP_HARD_CFLAGS when building ntpq, like in all other ntp +modules, to make sure -fPIC is passed. + +Originally taken from +https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=494143c3b4921a5c8b8596d58f2c8b98296bf688. + +Signed-off-by: Thomas Petazzoni + +Index: b/ntpq/Makefile.am +=================================================================== +--- a/ntpq/Makefile.am ++++ b/ntpq/Makefile.am +@@ -23,7 +23,7 @@ + ntpq_LDADD += $(LDADD_NTP) + noinst_HEADERS= ntpq.h + noinst_LIBRARIES= libntpq.a +-libntpq_a_CFLAGS= -DNO_MAIN_ALLOWED -DBUILD_AS_LIB ++libntpq_a_CFLAGS= $(NTP_HARD_CFLAGS) -DNO_MAIN_ALLOWED -DBUILD_AS_LIB + CLEANFILES= + DISTCLEANFILES= .version version.c config.log $(man_MANS) + ETAGS_ARGS= Makefile.am diff --git a/package/ntp/Config.in b/package/ntp/Config.in index 1af02dbc0b..8ce9a5b0bb 100644 --- a/package/ntp/Config.in +++ b/package/ntp/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_NTP bool "ntp" select BR2_PACKAGE_LIBEVENT - select BR2_PACKAGE_OPENSSL help Network Time Protocol suite/programs. Provides things like ntpd, ntpdate, ntpq, etc... diff --git a/package/ntp/ntp.hash b/package/ntp/ntp.hash index c6838d812f..d8b7083c47 100644 --- a/package/ntp/ntp.hash +++ b/package/ntp/ntp.hash @@ -1,4 +1,4 @@ -# From http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.8p9.tar.gz.md5 -md5 857452b05f5f2e033786f77ade1974ed ntp-4.2.8p9.tar.gz +# From https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.8p10.tar.gz.md5 +md5 745384ed0dedb3f66b33fe84d66466f9 ntp-4.2.8p10.tar.gz # Calculated based on the hash above -sha256 b724287778e1bac625b447327c9851eedef020517a3545625e9f652a90f30b72 ntp-4.2.8p9.tar.gz +sha256 ddd2366e64219b9efa0f7438e06800d0db394ac5c88e13c17b70d0dcdf99b99f ntp-4.2.8p10.tar.gz diff --git a/package/ntp/ntp.mk b/package/ntp/ntp.mk index edbf1c86b6..6605c3b85b 100644 --- a/package/ntp/ntp.mk +++ b/package/ntp/ntp.mk @@ -5,10 +5,10 @@ ################################################################################ NTP_VERSION_MAJOR = 4.2 -NTP_VERSION = $(NTP_VERSION_MAJOR).8p9 -NTP_SITE = http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-$(NTP_VERSION_MAJOR) -NTP_DEPENDENCIES = host-pkgconf libevent openssl $(if $(BR2_PACKAGE_BUSYBOX),busybox) -NTP_LICENSE = ntp license +NTP_VERSION = $(NTP_VERSION_MAJOR).8p10 +NTP_SITE = https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-$(NTP_VERSION_MAJOR) +NTP_DEPENDENCIES = host-pkgconf libevent $(if $(BR2_PACKAGE_BUSYBOX),busybox) +NTP_LICENSE = NTP NTP_LICENSE_FILES = COPYRIGHT NTP_CONF_ENV = ac_cv_lib_md5_MD5Init=no NTP_CONF_OPTS = \ @@ -18,11 +18,24 @@ NTP_CONF_OPTS = \ --disable-debugging \ --with-yielding-select=yes \ --disable-local-libevent \ - --with-crypto # 0002-ntp-syscalls-fallback.patch +# 0003-ntpq-fpic.patch NTP_AUTORECONF = YES +ifeq ($(BR2_PACKAGE_OPENSSL),y) +NTP_CONF_OPTS += --with-crypto +NTP_DEPENDENCIES += openssl +else +NTP_CONF_OPTS += --without-crypto --disable-openssl-random +endif + +ifeq ($(BR2_TOOLCHAIN_HAS_SSP),y) +NTP_CONF_OPTS += --with-locfile=linux +else +NTP_CONF_OPTS += --with-locfile=default +endif + ifeq ($(BR2_PACKAGE_LIBCAP),y) NTP_CONF_OPTS += --enable-linuxcaps NTP_DEPENDENCIES += libcap @@ -58,6 +71,12 @@ else NTP_CONF_OPTS += --disable-SHM endif +ifeq ($(BR2_PACKAGE_NTP_SNTP),y) +NTP_CONF_OPTS += --with-sntp +else +NTP_CONF_OPTS += --without-sntp +endif + NTP_INSTALL_FILES_$(BR2_PACKAGE_NTP_NTP_KEYGEN) += util/ntp-keygen NTP_INSTALL_FILES_$(BR2_PACKAGE_NTP_NTP_WAIT) += scripts/ntp-wait/ntp-wait NTP_INSTALL_FILES_$(BR2_PACKAGE_NTP_NTPDATE) += ntpdate/ntpdate diff --git a/package/numactl/0001-Fix-usage-of-GLIBC_PREREQ-for-non-glibc-toolchains.patch b/package/numactl/0001-Fix-usage-of-GLIBC_PREREQ-for-non-glibc-toolchains.patch new file mode 100644 index 0000000000..ebb934f60f --- /dev/null +++ b/package/numactl/0001-Fix-usage-of-GLIBC_PREREQ-for-non-glibc-toolchains.patch @@ -0,0 +1,35 @@ +From 3770bdc4fa7b9059db5cd2aa8bb09b50fa15e456 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Fri, 12 Feb 2016 19:25:02 +0100 +Subject: [PATCH] Fix usage of __GLIBC_PREREQ for non-glibc toolchains + +The way __GLIBC_PREREQ() is currently used means that it's evaluated +even if __GLIBC__ is not defined. But obviously, __GLIBC_PREREQ will +not exist if __GLIBC__ is not defined, causing build failures on C +libraries not defining __GLIBC__ such as the musl C library. + +Patch originally taken from: +https://github.com/voidlinux/void-packages/blob/master/srcpkgs/numactl/patches/musl.patch + +Signed-off-by: Bernd Kuhls +[Bernd: Reworked to fix uClibc] +Signed-off-by: Thomas Petazzoni +[Thomas: improve patch description.] +[Upstream commit: https://github.com/numactl/numactl/commit/3770bdc4fa7b9059db5cd2aa8bb09b50fa15e456.] +--- + syscall.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/syscall.c b/syscall.c +index 4589b85..37782d9 100644 +--- a/syscall.c ++++ b/syscall.c +@@ -115,7 +115,7 @@ + + #endif + +-#if defined(__GLIBC__) && __GLIBC_PREREQ(2, 11) ++#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 11) + + /* glibc 2.11 seems to have working 6 argument sycall. Use the + glibc supplied syscall in this case. diff --git a/package/numactl/0002-Fix-usage-of-GLIBC_PREREQ-for-non-glibc-toolchains.patch b/package/numactl/0002-Fix-usage-of-GLIBC_PREREQ-for-non-glibc-toolchains.patch new file mode 100644 index 0000000000..a98fd7247c --- /dev/null +++ b/package/numactl/0002-Fix-usage-of-GLIBC_PREREQ-for-non-glibc-toolchains.patch @@ -0,0 +1,39 @@ +From 31dc2951c758698bff060aeae8ffd8854616183b Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Fri, 12 Feb 2016 19:25:02 +0100 +Subject: [PATCH] Fix usage of __GLIBC_PREREQ for non-glibc toolchains + +The way __GLIBC_PREREQ() is currently used means that it's evaluated +even if __GLIBC__ is not defined. But obviously, __GLIBC_PREREQ will +not exist if __GLIBC__ is not defined, causing build failures on C +libraries not defining __GLIBC__ such as the musl C library. + +Patch originally taken from: +https://github.com/voidlinux/void-packages/blob/master/srcpkgs/numactl/patches/musl.patch + +Signed-off-by: Bernd Kuhls +[Bernd: Reworked to fix uClibc] +Signed-off-by: Thomas Petazzoni +[Thomas: improve patch description.] +[Upstream commit: https://github.com/numactl/numactl/commit/31dc2951c758698bff060aeae8ffd8854616183b] +--- + syscall.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/syscall.c b/syscall.c +index 37782d9..255853d 100644 +--- a/syscall.c ++++ b/syscall.c +@@ -115,7 +115,11 @@ + + #endif + +-#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 11) ++#ifndef __GLIBC_PREREQ ++# define __GLIBC_PREREQ(x,y) 0 ++#endif ++ ++#if defined(__GLIBC__) && __GLIBC_PREREQ(2, 11) + + /* glibc 2.11 seems to have working 6 argument sycall. Use the + glibc supplied syscall in this case. diff --git a/package/numactl/numactl.hash b/package/numactl/numactl.hash index 77ccfae6fd..c36e24d6ba 100644 --- a/package/numactl/numactl.hash +++ b/package/numactl/numactl.hash @@ -1,4 +1,2 @@ # Locally calculated sha256 450c091235f891ee874a8651b179c30f57a1391ca5c4673354740ba65e527861 numactl-2.0.11.tar.gz -sha256 1f4c813cc8c81fa4dfd0be959457a5c3de8fc3316bbc80de3aa1d9ef9992b2b6 3770bdc4fa7b9059db5cd2aa8bb09b50fa15e456.patch -sha256 0c4cb6550b46976f2a21087490420b218e62ead7d9b178120ad782d53a7ad3a6 31dc2951c758698bff060aeae8ffd8854616183b.patch diff --git a/package/numactl/numactl.mk b/package/numactl/numactl.mk index e2d2590cde..d37ee9e882 100644 --- a/package/numactl/numactl.mk +++ b/package/numactl/numactl.mk @@ -6,10 +6,7 @@ NUMACTL_VERSION = 2.0.11 NUMACTL_SITE = ftp://oss.sgi.com/www/projects/libnuma/download -NUMACTL_PATCH = \ - https://github.com/numactl/numactl/commit/3770bdc4fa7b9059db5cd2aa8bb09b50fa15e456.patch \ - https://github.com/numactl/numactl/commit/31dc2951c758698bff060aeae8ffd8854616183b.patch -NUMACTL_LICENSE = LGPLv2.1 (libnuma), GPLv2 (programs) +NUMACTL_LICENSE = LGPL-2.1 (libnuma), GPL-2.0 (programs) NUMACTL_LICENSE_FILES = README NUMACTL_INSTALL_STAGING = YES diff --git a/package/nut/nut.mk b/package/nut/nut.mk index 7136e834cc..332ccf9071 100644 --- a/package/nut/nut.mk +++ b/package/nut/nut.mk @@ -7,7 +7,7 @@ NUT_VERSION_MAJOR = 2.7 NUT_VERSION = $(NUT_VERSION_MAJOR).4 NUT_SITE = http://www.networkupstools.org/source/$(NUT_VERSION_MAJOR) -NUT_LICENSE = GPLv2+, GPLv3+ (python scripts), GPL/Artistic (perl client) +NUT_LICENSE = GPL-2.0+, GPL-3.0+ (python scripts), GPL/Artistic (perl client) NUT_LICENSE_FILES = COPYING LICENSE-GPL2 LICENSE-GPL3 NUT_DEPENDENCIES = host-pkgconf diff --git a/package/nuttcp/nuttcp.mk b/package/nuttcp/nuttcp.mk index 455875a823..2636f950aa 100644 --- a/package/nuttcp/nuttcp.mk +++ b/package/nuttcp/nuttcp.mk @@ -7,7 +7,7 @@ NUTTCP_VERSION = 6.1.2 NUTTCP_SITE = http://nuttcp.net/nuttcp NUTTCP_SOURCE = nuttcp-$(NUTTCP_VERSION).tar.bz2 -NUTTCP_LICENSE = GPLv2 +NUTTCP_LICENSE = GPL-2.0 NUTTCP_LICENSE_FILES = LICENSE define NUTTCP_BUILD_CMDS diff --git a/package/nvidia-driver/Config.in b/package/nvidia-driver/Config.in index 1105ec63b6..732d9255c7 100644 --- a/package/nvidia-driver/Config.in +++ b/package/nvidia-driver/Config.in @@ -22,8 +22,8 @@ config BR2_PACKAGE_NVIDIA_DRIVER_XORG default y depends on BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR select BR2_PACKAGE_MESA3D_HEADERS - select BR2_PACKAGE_XLIB_LIBX11 # runtime - select BR2_PACKAGE_XLIB_LIBXEXT # runtime + select BR2_PACKAGE_XLIB_LIBX11 + select BR2_PACKAGE_XLIB_LIBXEXT select BR2_PACKAGE_HAS_LIBGL select BR2_PACKAGE_HAS_LIBEGL select BR2_PACKAGE_HAS_LIBEGL_WAYLAND diff --git a/package/nvidia-driver/egl.pc b/package/nvidia-driver/egl.pc new file mode 100644 index 0000000000..a5aeace63c --- /dev/null +++ b/package/nvidia-driver/egl.pc @@ -0,0 +1,10 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: egl +Description: Nvidia OpenGL library +Version: 1 +Cflags: -I${includedir} +Libs: -L${libdir} -lEGL diff --git a/package/nvidia-driver/nvidia-driver.hash b/package/nvidia-driver/nvidia-driver.hash index 04a44b821a..e05b8f04d5 100644 --- a/package/nvidia-driver/nvidia-driver.hash +++ b/package/nvidia-driver/nvidia-driver.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 cc79d3ac2b688009ed2e47a1cf27557aea5dd745b3b6e9b83945c359ddab4335 NVIDIA-Linux-x86-375.20.run -sha256 d10e40a19dc57ac958567a2b247c2b113e5f1e4186ad48e9a58e70a46d07620b NVIDIA-Linux-x86_64-375.20.run +sha256 3b70587582220ab1102bcb8386f206f89e6b146856af41f16eaa5910e54ef8fd NVIDIA-Linux-x86-384.69.run +sha256 a7b7984fc532be17c262bc4353e279824ae63625d8ae9f1016cb66d199b97650 NVIDIA-Linux-x86_64-384.69.run diff --git a/package/nvidia-driver/nvidia-driver.mk b/package/nvidia-driver/nvidia-driver.mk index cb9b7faeca..e56661059f 100644 --- a/package/nvidia-driver/nvidia-driver.mk +++ b/package/nvidia-driver/nvidia-driver.mk @@ -4,9 +4,9 @@ # ################################################################################ -NVIDIA_DRIVER_VERSION = 375.20 +NVIDIA_DRIVER_VERSION = 384.69 NVIDIA_DRIVER_SUFFIX = $(if $(BR2_x86_64),_64) -NVIDIA_DRIVER_SITE = ftp://download.nvidia.com/XFree86/Linux-x86$(NVIDIA_DRIVER_SUFFIX)/$(NVIDIA_DRIVER_VERSION) +NVIDIA_DRIVER_SITE = http://download.nvidia.com/XFree86/Linux-x86$(NVIDIA_DRIVER_SUFFIX)/$(NVIDIA_DRIVER_VERSION) NVIDIA_DRIVER_SOURCE = NVIDIA-Linux-x86$(NVIDIA_DRIVER_SUFFIX)-$(NVIDIA_DRIVER_VERSION).run NVIDIA_DRIVER_LICENSE = NVIDIA Software License NVIDIA_DRIVER_LICENSE_FILES = LICENSE @@ -20,7 +20,7 @@ ifeq ($(BR2_PACKAGE_NVIDIA_DRIVER_XORG),y) # are build dependencies of packages that depend on nvidia-driver, so # they should be built prior to those packages, and the only simple # way to do so is to make nvidia-driver depend on them. -NVIDIA_DRIVER_DEPENDENCIES = mesa3d-headers +NVIDIA_DRIVER_DEPENDENCIES = mesa3d-headers xlib_libX11 xlib_libXext NVIDIA_DRIVER_PROVIDES = libgl libegl libgles # libGL.so.$(NVIDIA_DRIVER_VERSION) is the legacy libGL.so library; it @@ -43,33 +43,33 @@ NVIDIA_DRIVER_PROVIDES = libgl libegl libgles NVIDIA_DRIVER_LIBS_GL = \ libGLX.so.0 \ libGL.so.$(NVIDIA_DRIVER_VERSION) \ - libGLX_nvidia.so.$(NVIDIA_DRIVER_VERSION) \ + libGLX_nvidia.so.$(NVIDIA_DRIVER_VERSION) NVIDIA_DRIVER_LIBS_EGL = \ libEGL.so.1 \ libGLdispatch.so.0 \ - libEGL_nvidia.so.$(NVIDIA_DRIVER_VERSION) \ + libEGL_nvidia.so.$(NVIDIA_DRIVER_VERSION) NVIDIA_DRIVER_LIBS_GLES = \ libGLESv1_CM.so.1 \ libGLESv2.so.2 \ libGLESv1_CM_nvidia.so.$(NVIDIA_DRIVER_VERSION) \ - libGLESv2_nvidia.so.$(NVIDIA_DRIVER_VERSION) \ + libGLESv2_nvidia.so.$(NVIDIA_DRIVER_VERSION) NVIDIA_DRIVER_LIBS_MISC = \ libnvidia-eglcore.so.$(NVIDIA_DRIVER_VERSION) \ - libnvidia-egl-wayland.so.$(NVIDIA_DRIVER_VERSION) \ + libnvidia-egl-wayland.so.1.0.1 \ libnvidia-glcore.so.$(NVIDIA_DRIVER_VERSION) \ libnvidia-glsi.so.$(NVIDIA_DRIVER_VERSION) \ tls/libnvidia-tls.so.$(NVIDIA_DRIVER_VERSION) \ libvdpau_nvidia.so.$(NVIDIA_DRIVER_VERSION) \ - libnvidia-ml.so.$(NVIDIA_DRIVER_VERSION) \ + libnvidia-ml.so.$(NVIDIA_DRIVER_VERSION) NVIDIA_DRIVER_LIBS = \ $(NVIDIA_DRIVER_LIBS_GL) \ $(NVIDIA_DRIVER_LIBS_EGL) \ $(NVIDIA_DRIVER_LIBS_GLES) \ - $(NVIDIA_DRIVER_LIBS_MISC) \ + $(NVIDIA_DRIVER_LIBS_MISC) # Install the gl.pc file define NVIDIA_DRIVER_INSTALL_GL_DEV @@ -78,6 +78,7 @@ define NVIDIA_DRIVER_INSTALL_GL_DEV $(SED) 's:__LIBGL_PATH__:/usr/lib:' $(STAGING_DIR)/usr/lib/libGL.la $(SED) 's:-L[^[:space:]]\+::' $(STAGING_DIR)/usr/lib/libGL.la $(INSTALL) -D -m 0644 package/nvidia-driver/gl.pc $(STAGING_DIR)/usr/lib/pkgconfig/gl.pc + $(INSTALL) -D -m 0644 package/nvidia-driver/egl.pc $(STAGING_DIR)/usr/lib/pkgconfig/egl.pc endef # Those libraries are 'private' libraries requiring an agreement with diff --git a/package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.mk b/package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.mk index 4f7cdcf6d6..9b153b0250 100644 --- a/package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.mk +++ b/package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.mk @@ -11,7 +11,7 @@ NVIDIA_TEGRA23_BINARIES_SOURCE = $(NVIDIA_TEGRA23_BASE)_R$(NVIDIA_TEGRA23_BINARI NVIDIA_TEGRA23_BINARIES_LICENSE = License For Customer Use of NVIDIA Software NVIDIA_TEGRA23_BINARIES_LICENSE_FILES = nv_tegra/LICENSE ifeq ($(BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_GSTREAMER_PLUGINS),y) -NVIDIA_TEGRA23_BINARIES_LICENSE += LGPLv2.1 +NVIDIA_TEGRA23_BINARIES_LICENSE += LGPL-2.1 NVIDIA_TEGRA23_BINARIES_LICENSE_FILES += nv_tegra/nv_sample_apps/LICENSE.gst-openmax endif diff --git a/package/nvme/0001-Makefile-allow-linker-override-for-cross-uuid-test.patch b/package/nvme/0001-Makefile-allow-linker-override-for-cross-uuid-test.patch new file mode 100644 index 0000000000..dc1c01a888 --- /dev/null +++ b/package/nvme/0001-Makefile-allow-linker-override-for-cross-uuid-test.patch @@ -0,0 +1,34 @@ +From f926559acd1beb74dc5dc9b0e414b087110a251f Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Wed, 9 Aug 2017 09:43:12 +0300 +Subject: [PATCH] Makefile: allow linker override for cross uuid test + +The test to determine whether libuuid is installed uses the host 'ld' utility. +This breaks when cross compiling, since target libraries are often different +than host libraries. + +Use $(LD) instead. This allows to easily use the cross compiler linker. + +Signed-off-by: Baruch Siach +--- +Upstream status: https://github.com/linux-nvme/nvme-cli/pull/216 + + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 3f1d9aaa890d..cc74bdd6c3e6 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,7 +1,7 @@ + CFLAGS ?= -O2 -g -Wall -Werror + CFLAGS += -std=gnu99 + CPPFLAGS += -D_GNU_SOURCE -D__CHECK_ENDIAN__ +-LIBUUID = $(shell ld -o /dev/null -luuid >/dev/null 2>&1; echo $$?) ++LIBUUID = $(shell $(LD) -o /dev/null -luuid >/dev/null 2>&1; echo $$?) + NVME = nvme + INSTALL ?= install + DESTDIR = +-- +2.13.2 + diff --git a/package/nvme/nvme.hash b/package/nvme/nvme.hash index b299041960..92e2bc0acb 100644 --- a/package/nvme/nvme.hash +++ b/package/nvme/nvme.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 c631e90dd4d411cdb618b26bc36b06706e6f1f2d3db38874bcfe48f4bc15aac4 nvme-v0.3.tar.gz +sha256 52eb45c9ef5a529580a3f6f9e02c067695675ac01b8ab8b8e0398c62e8a8646d nvme-v1.3.tar.gz diff --git a/package/nvme/nvme.mk b/package/nvme/nvme.mk old mode 100755 new mode 100644 index b745025fdf..8eab1dacfa --- a/package/nvme/nvme.mk +++ b/package/nvme/nvme.mk @@ -4,24 +4,13 @@ # ################################################################################ -NVME_VERSION = v0.3 +NVME_VERSION = v1.3 NVME_SITE = $(call github,linux-nvme,nvme-cli,$(NVME_VERSION)) -NVME_LICENSE = GPLv2+ +NVME_LICENSE = GPL-2.0+ NVME_LICENSE_FILES = LICENSE -# Yes LIBUDEV=0 means udev support enabled, LIBUDEV=1 means udev -# support disabled. -ifeq ($(BR2_PACKAGE_HAS_UDEV),y) -NVME_DEPENDENCIES += udev -NVME_MAKE_OPTS += LIBUDEV=0 -else -NVME_MAKE_OPTS += LIBUDEV=1 -endif - -# LIBUDEV=1 means that libudev is _disabled_ define NVME_BUILD_CMDS - $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) \ - $(NVME_MAKE_OPTS) -C $(@D) + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) endef define NVME_INSTALL_TARGET_CMDS diff --git a/package/ocrad/ocrad.hash b/package/ocrad/ocrad.hash index d2a44ae77f..5f093d241e 100644 --- a/package/ocrad/ocrad.hash +++ b/package/ocrad/ocrad.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 e710be9c030fbcbce2315077326c8268feb422c0bc39fa744644cbbd1f5d4dd4 ocrad-0.25.tar.lz +sha256 c383d37869baa0990d38d38836d4d567e9e2862aa0cd704868b62dafeac18e3c ocrad-0.26.tar.lz diff --git a/package/ocrad/ocrad.mk b/package/ocrad/ocrad.mk index 54b607c791..94020d2d25 100644 --- a/package/ocrad/ocrad.mk +++ b/package/ocrad/ocrad.mk @@ -4,10 +4,10 @@ # ################################################################################ -OCRAD_VERSION = 0.25 +OCRAD_VERSION = 0.26 OCRAD_SOURCE = ocrad-$(OCRAD_VERSION).tar.lz OCRAD_SITE = $(BR2_GNU_MIRROR)/ocrad -OCRAD_LICENSE = GPLv3+ +OCRAD_LICENSE = GPL-3.0+ OCRAD_LICENSE_FILES = COPYING OCRAD_INSTALL_STAGING = YES diff --git a/package/odhcp6c/odhcp6c.mk b/package/odhcp6c/odhcp6c.mk index 0ec9657aaf..31867d7217 100644 --- a/package/odhcp6c/odhcp6c.mk +++ b/package/odhcp6c/odhcp6c.mk @@ -6,7 +6,7 @@ ODHCP6C_VERSION = 7533a6243dc3ac5a747cf6ccbc4d0539dafd3e07 ODHCP6C_SITE = $(call github,sbyx,odhcp6c,$(ODHCP6C_VERSION)) -ODHCP6C_LICENSE = GPLv2 +ODHCP6C_LICENSE = GPL-2.0 ODHCP6C_LICENSE_FILES = COPYING define ODHCP6C_INSTALL_SCRIPT diff --git a/package/odroid-mali/Config.in b/package/odroid-mali/Config.in index e5c07f2378..1c31c2d0e3 100644 --- a/package/odroid-mali/Config.in +++ b/package/odroid-mali/Config.in @@ -1,10 +1,10 @@ config BR2_PACKAGE_ODROID_MALI bool "odroid-mali" + depends on BR2_TOOLCHAIN_USES_GLIBC + depends on BR2_aarch64 || BR2_ARM_EABIHF select BR2_PACKAGE_HAS_LIBEGL select BR2_PACKAGE_HAS_LIBGLES select BR2_PACKAGE_ODROID_SCRIPTS # runtime - depends on BR2_TOOLCHAIN_USES_GLIBC - depends on BR2_aarch64 || BR2_ARM_EABIHF help Install the ARM Mali drivers for odroidc2 based systems. diff --git a/package/odroid-mali/odroid-mali.hash b/package/odroid-mali/odroid-mali.hash index 4d24824229..b71ebab139 100644 --- a/package/odroid-mali/odroid-mali.hash +++ b/package/odroid-mali/odroid-mali.hash @@ -1,2 +1,2 @@ # Locally computed hash -sha256 29d98ed4b8694b860d9289787c416faa847b0de26d36580a53add1752b4c2e9a odroid-mali-46fe49f37e3506c6205ad8c50980eca9bfff11e3.tar.gz +sha256 6c85e96f3372c24c6497f2a1cbea867a8dbf3a7b3edd736802c762176006aec6 odroid-mali-4f8a541693fee5fdcaa162a7fd8922861a4ba0a9.tar.gz diff --git a/package/odroid-mali/odroid-mali.mk b/package/odroid-mali/odroid-mali.mk index 142fd97c67..86215a1d52 100644 --- a/package/odroid-mali/odroid-mali.mk +++ b/package/odroid-mali/odroid-mali.mk @@ -4,7 +4,7 @@ # ################################################################################ -ODROID_MALI_VERSION = 46fe49f37e3506c6205ad8c50980eca9bfff11e3 +ODROID_MALI_VERSION = 4f8a541693fee5fdcaa162a7fd8922861a4ba0a9 ODROID_MALI_SITE = $(call github,mdrjr,c2_mali,$(ODROID_MALI_VERSION)) ODROID_MALI_LICENSE = Hardkernel EULA ODROID_MALI_LICENSE_FILES = README.md @@ -21,6 +21,10 @@ ODROID_MALI_DEPENDENCIES += \ libdrm xlib_libX11 xlib_libXdamage \ xlib_libXext xlib_libXfixes else +define ODROID_MALI_FIX_EGL_PC + $(SED) "s/Cflags: /Cflags: -DMESA_EGL_NO_X11_HEADERS /" \ + $(STAGING_DIR)/usr/lib/pkgconfig/egl.pc +endef ODROID_MALI_HEADERS_SUBDIR = fbdev/mali_headers/ ifeq ($(BR2_aarch64),y) ODROID_MALI_LIBS_SUBDIR = fbdev/mali_libs/ @@ -38,6 +42,7 @@ define ODROID_MALI_INSTALL_STAGING_CMDS mkdir -p $(STAGING_DIR)/usr/lib/pkgconfig cp -dpfr $(@D)/pkgconfig/*.pc $(STAGING_DIR)/usr/lib/pkgconfig/ cp -dpfr $(@D)/$(ODROID_MALI_HEADERS_SUBDIR)/* $(STAGING_DIR)/usr/include + $(ODROID_MALI_FIX_EGL_PC) endef define ODROID_MALI_INSTALL_TARGET_CMDS diff --git a/package/odroid-scripts/Config.in b/package/odroid-scripts/Config.in index c4e09cad72..c07c3a4c09 100644 --- a/package/odroid-scripts/Config.in +++ b/package/odroid-scripts/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_ODROID_SCRIPTS bool "odroid-scripts" - depends on BR2_aarch64 || BR2_arm + depends on BR2_aarch64 || BR2_arm || BR2_armeb select BR2_PACKAGE_FBSET # runtime select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # needed for fbset help diff --git a/package/ofono/ofono.hash b/package/ofono/ofono.hash index d61173684d..37933f126b 100644 --- a/package/ofono/ofono.hash +++ b/package/ofono/ofono.hash @@ -1,2 +1,2 @@ # From https://www.kernel.org/pub/linux/network/ofono/sha256sums.asc -sha256 53cdbf342913f46bce4827241c60e24255a3d43a94945edf77482ae5b312d51f ofono-1.18.tar.xz +sha256 a6b021cda0b444b772897cd637d5f455857fb5819b62c279a8302b44f9c7f2c3 ofono-1.21.tar.xz diff --git a/package/ofono/ofono.mk b/package/ofono/ofono.mk index 82343963b1..b4b7915a30 100644 --- a/package/ofono/ofono.mk +++ b/package/ofono/ofono.mk @@ -4,10 +4,10 @@ # ################################################################################ -OFONO_VERSION = 1.18 +OFONO_VERSION = 1.21 OFONO_SOURCE = ofono-$(OFONO_VERSION).tar.xz OFONO_SITE = $(BR2_KERNEL_MIRROR)/linux/network/ofono -OFONO_LICENSE = GPLv2 +OFONO_LICENSE = GPL-2.0 OFONO_LICENSE_FILES = COPYING OFONO_DEPENDENCIES = \ host-pkgconf \ diff --git a/package/ola/0001-Remove-fvisibiliy-inlines-hidden.patch b/package/ola/0001-Remove-fvisibiliy-inlines-hidden.patch deleted file mode 100644 index f2bf247c2e..0000000000 --- a/package/ola/0001-Remove-fvisibiliy-inlines-hidden.patch +++ /dev/null @@ -1,26 +0,0 @@ -From cd4f5d9d8a10c368584e8e714ebb0f9695267063 Mon Sep 17 00:00:00 2001 -From: Simon Marchi -Date: Mon, 10 Aug 2015 15:01:42 -0400 -Subject: [PATCH] Remove -fvisibiliy-inlines-hidden - -Signed-off-by: Simon Marchi ---- - Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile.am b/Makefile.am -index 714e435..17a23e2 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -32,7 +32,7 @@ AM_DISTCHECK_CONFIGURE_FLAGS = --enable-python-libs - COMMON_CXXFLAGS_ONLY_WARNINGS = \ - -I$(top_srcdir)/include \ - -I$(top_builddir)/include \ -- -Wall -Wformat -W -fvisibility-inlines-hidden \ -+ -Wall -Wformat -W \ - $(libprotobuf_CFLAGS) - - COMMON_CXXFLAGS = $(COMMON_CXXFLAGS_ONLY_WARNINGS) --- -2.5.0 - diff --git a/package/ola/0002-Remove-replacing-I-with-isystem.patch b/package/ola/0002-Remove-replacing-I-with-isystem.patch deleted file mode 100644 index 010c99a3bc..0000000000 --- a/package/ola/0002-Remove-replacing-I-with-isystem.patch +++ /dev/null @@ -1,106 +0,0 @@ -From bbb03794def326c2e8ad2de523c5a61a4c8cb464 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B6rg=20Krause?= -Date: Thu, 22 Sep 2016 00:58:58 +0200 -Subject: [PATCH] Remove replacing -I with -isystem -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Building OLA with a GCC 6 cross-toolchain fails: - -``` -/usr/bin/arm-linux-g++ -DHAVE_CONFIG_H -I. -D_LARGEFILE_SOURCE --D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I./include -I./include --Wall -Wformat -W -isystem -/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include -pthread --D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os --pthread -c -o libs/acn/e131_transmit_test.o -libs/acn/e131_transmit_test.cpp -/usr/bin/arm-linux-g++ -DHAVE_CONFIG_H -I. -D_LARGEFILE_SOURCE --D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I./include -I./include --Wall -Wformat -W -isystem -/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include -pthread --D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os --pthread -c -o libs/acn/E131TestFramework.o -libs/acn/E131TestFramework.cpp -In file included from -/opt/ext-toolchain/arm-buildroot-linux-gnueabihf/include/c++/6.1.0/ext/string_conversions.h:41:0, - from -/opt/ext-toolchain/arm-buildroot-linux-gnueabihf/include/c++/6.1.0/bits/basic_string.h:5402, - from -/opt/ext-toolchain/arm-buildroot-linux-gnueabihf/include/c++/6.1.0/string:52, - from ./tools/ola_trigger/config.ypp:2: -/opt/ext-toolchain/arm-buildroot-linux-gnueabihf/include/c++/6.1.0/cstdlib:75:25: -fatal error: stdlib.h: No such file or directory - #include_next - ^ -compilation terminated. -``` - -The C++ library in GCC 6 now provides its own `` header that -wraps the C library header of the same name, so in `` the -header include - -``` -#include -``` - -has become - -``` -#include_next -``` - -`#include_next` is sensitive to the order of directories in the -preprocessor's search path, so if that order is changed with `-isystem` -then the compiler can't find the right header: - -``` -[1] /usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include -[2] /opt/ext-toolchain/arm-buildroot-linux-gnueabihf/include/c++/6.1.0 -[..] -End of search list. -``` - -`` is located in [2] whereas `` (C library header) is -in [1]. In this case, the `#include_next ` statement in -``, located in [2], is evaluated **after** the search path [1], -so the compiler does not find the right system header. - -The problem is that the OLA build system replaces the `-I` in the CFLAGS -from libprotobuf with `-isystem` to fix some warnings treated as errors -in the libprotobuf header files. - -`-isystem` should be used to suppress warnings in system headers only -and the libprotobuf header files are not system files. - -The correct fix is to compile with less restrictions and remove -`-Werror` for the build. - -As using `-isystem` is reordering GCCs search path and using `-isystem` -is really not necessary, remove the faulty replacement of `-I`. - -Upstream status: https://github.com/OpenLightingProject/ola/pull/1126 - -Signed-off-by: Jörg Krause ---- - config/ola.m4 | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/config/ola.m4 b/config/ola.m4 -index 2796cfb..d3b8cc8 100644 ---- a/config/ola.m4 -+++ b/config/ola.m4 -@@ -24,9 +24,6 @@ AC_DEFUN([PROTOBUF_SUPPORT], - AC_REQUIRE_CPP() - PKG_CHECK_MODULES(libprotobuf, [protobuf >= $1]) - --# We want to replace -I with -isystem here to disable errors in the .h files --# See https://groups.google.com/forum/#!topic/open-lighting/39Mj0KXlCIk --libprotobuf_CFLAGS=`echo $libprotobuf_CFLAGS | sed 's/-I/-isystem /'` - AC_SUBST([libprotobuf_CFLAGS]) - - AC_ARG_WITH([protoc], --- -2.10.0 - diff --git a/package/ola/Config.in b/package/ola/Config.in deleted file mode 100644 index 90a92fd2f2..0000000000 --- a/package/ola/Config.in +++ /dev/null @@ -1,131 +0,0 @@ -comment "ola needs a toolchain w/ C++, threads, dynamic library" - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \ - || BR2_STATIC_LIBS - depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS - -menuconfig BR2_PACKAGE_OLA - bool "ola (open lighting architecture)" - select BR2_PACKAGE_PROTOBUF - select BR2_PACKAGE_UTIL_LINUX_LIBUUID - select BR2_PACKAGE_UTIL_LINUX - depends on BR2_INSTALL_LIBSTDCPP # protobuf - depends on !BR2_STATIC_LIBS # protobuf - depends on BR2_TOOLCHAIN_HAS_THREADS - depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS - help - Open Lighting Architecture provides applications - with a mechanism to send and receive DMX512 & RDM - commands using hardware devices and DMX over IP protocols. - - http://www.opendmx.net/index.php/OLA - -if BR2_PACKAGE_OLA - -comment "bindings and interface" - -config BR2_PACKAGE_OLA_WEB - bool "http interface" - depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt, libmicrohttpd - select BR2_PACKAGE_LIBMICROHTTPD - help - Build OLA with browser interface. - -config BR2_PACKAGE_OLA_PYTHON_BINDINGS - bool "python bindings" - depends on BR2_PACKAGE_PYTHON - select BR2_PACKAGE_PYTHON_PROTOBUF - help - Build OLA with support for the Python language. - -config BR2_PACKAGE_OLA_SLP - bool "slp tools" - help - Build OLA with slp tools. - -comment "tests and examples" - -config BR2_PACKAGE_OLA_EXAMPLES - bool "examples" - select BR2_PACKAGE_NCURSES - help - Build OLA examples. - -config BR2_PACKAGE_OLA_RDM_TESTS - bool "rdm tests" - depends on BR2_PACKAGE_OLA_PYTHON_BINDINGS - depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS - select BR2_PACKAGE_PYTHON_NUMPY - help - Build OLA RDM tests. - -comment "plugin selections" - -config BR2_PACKAGE_OLA_PLUGIN_E131 - bool "acn E131" - help - Build ACN E131 plugin for OLA. - -config BR2_PACKAGE_OLA_PLUGIN_ARTNET - bool "artnet" - help - Build Artnet plugin for OLA. - -config BR2_PACKAGE_OLA_PLUGIN_OPENDMX - bool "DMX4Linux" - help - Build DMX4Linux plugin for OLA. - -config BR2_PACKAGE_OLA_PLUGIN_DUMMY - bool "dummy" - help - Build Dummy plugin for OLA. - -config BR2_PACKAGE_OLA_PLUGIN_ESPNET - bool "espnet" - help - Build EspNet plugin for OLA. - -config BR2_PACKAGE_OLA_PLUGIN_KINET - bool "kinet" - help - Build KiNet plugin for OLA. - -config BR2_PACKAGE_OLA_PLUGIN_MILINT - bool "Milford Instruments" - help - Build Milford Instruments 1-463 plugin for OLA. - -config BR2_PACKAGE_OLA_PLUGIN_OSC - bool "osc" - select BR2_PACKAGE_LIBLO - help - Build Open Sound Control plugin for OLA. - -config BR2_PACKAGE_OLA_PLUGIN_PATHPORT - bool "pathport" - help - Build Pathport plugin for OLA. - -config BR2_PACKAGE_OLA_PLUGIN_SANDNET - bool "sandnet" - help - Build SandNet plugin for OLA. - -config BR2_PACKAGE_OLA_PLUGIN_SHOWNET - bool "shownet" - help - Build ShowNet plugin for OLA. - -config BR2_PACKAGE_OLA_PLUGIN_STAGEPROFI - bool "stageprofi" - select BR2_PACKAGE_LIBUSB - help - Build StageProfi plugin for OLA. - -config BR2_PACKAGE_OLA_PLUGIN_USBPRO - bool "usbpro" - select BR2_PACKAGE_LIBUSB - help - Build UsbPro plugin for OLA. - -endif diff --git a/package/ola/ola.hash b/package/ola/ola.hash deleted file mode 100644 index a791e9caa4..0000000000 --- a/package/ola/ola.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally calculated -sha256 986e61874bc80db3b23cf201af2dafa39e3412cc50cddf1cd449c869110bfd27 ola-0.10.2.tar.gz diff --git a/package/ola/ola.mk b/package/ola/ola.mk deleted file mode 100644 index cfd66383d8..0000000000 --- a/package/ola/ola.mk +++ /dev/null @@ -1,180 +0,0 @@ -################################################################################ -# -# ola -# -################################################################################ - -OLA_VERSION = 0.10.2 -OLA_SITE = https://github.com/OpenLightingProject/ola/releases/download/$(OLA_VERSION) -OLA_LICENSE = LGPLv2.1+ (libola, libolacommon, Python bindings), GPLv2+ (libolaserver, olad, Python examples and tests) -OLA_LICENSE_FILES = LICENCE GPL LGPL -OLA_INSTALL_STAGING = YES -OLA_AUTORECONF = YES - -# util-linux provides uuid lib -OLA_DEPENDENCIES = protobuf util-linux host-bison host-flex host-ola - -OLA_CONF_OPTS = \ - ac_cv_have_pymod_google_protobuf=yes \ - --disable-gcov \ - --disable-tcmalloc \ - --disable-unittests \ - --disable-root-check \ - --disable-java-libs \ - --disable-fatal-warnings \ - --with-ola-protoc-plugin=$(HOST_DIR)/usr/bin/ola_protoc_plugin - -HOST_OLA_DEPENDENCIES = host-util-linux host-protobuf - -# When building the host part, disable as much as possible to speed up -# the configure step and avoid missing host dependencies. -HOST_OLA_CONF_OPTS = \ - --disable-all-plugins \ - --disable-slp \ - --disable-osc \ - --disable-uart \ - --disable-libusb \ - --disable-libftdi \ - --disable-http \ - --disable-examples \ - --disable-unittests \ - --disable-doxygen-html \ - --disable-doxygen-doc \ - --disable-fatal-warnings - -# On the host side, we only need ola_protoc_plugin, so build and install this -# only. -HOST_OLA_MAKE_OPTS = protoc/ola_protoc_plugin -define HOST_OLA_INSTALL_CMDS - $(INSTALL) -D -m 0755 $(@D)/protoc/ola_protoc_plugin $(HOST_DIR)/usr/bin/ola_protoc_plugin -endef - -# sets where to find python libs built for target and required by ola -OLA_CONF_ENV = PYTHONPATH=$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages -OLA_MAKE_ENV = PYTHONPATH=$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages - -## OLA Bindings and Interface selections - -ifeq ($(BR2_PACKAGE_OLA_WEB),y) -OLA_CONF_OPTS += --enable-http -OLA_DEPENDENCIES += libmicrohttpd -else -OLA_CONF_OPTS += --disable-http -endif - -ifeq ($(BR2_PACKAGE_OLA_SLP),y) -OLA_CONF_OPTS += --enable-slp -else -OLA_CONF_OPTS += --disable-slp -endif - -ifeq ($(BR2_PACKAGE_OLA_PYTHON_BINDINGS),y) -OLA_CONF_OPTS += --enable-python-libs -OLA_DEPENDENCIES += python python-protobuf -else -OLA_CONF_OPTS += --disable-python-libs -endif - -## OLA Examples and Tests - -ifeq ($(BR2_PACKAGE_OLA_EXAMPLES),y) -OLA_CONF_OPTS += --enable-examples -OLA_DEPENDENCIES += ncurses -else -OLA_CONF_OPTS += --disable-examples -endif - -ifeq ($(BR2_PACKAGE_OLA_RDM_TESTS),y) -OLA_CONF_OPTS += --enable-rdm-tests -OLA_DEPENDENCIES += python-numpy -# needed as numpy builds some shared libraries and ola checks for -# numpy using a host python test program which fails with 'wrong ELF -# class'. -OLA_CONF_ENV = ac_cv_have_pymod_numpy=yes -else -OLA_CONF_OPTS += --disable-rdm-tests -endif - -## OLA Plugin selections - -ifeq ($(BR2_PACKAGE_OLA_PLUGIN_E131),y) -OLA_CONF_OPTS += --enable-e131 -else -OLA_CONF_OPTS += --disable-e131 -endif - -ifeq ($(BR2_PACKAGE_OLA_PLUGIN_ARTNET),y) -OLA_CONF_OPTS += --enable-artnet -else -OLA_CONF_OPTS += --disable-artnet -endif - -ifeq ($(BR2_PACKAGE_OLA_PLUGIN_OPENDMX),y) -OLA_CONF_OPTS += --enable-opendmx -else -OLA_CONF_OPTS += --disable-opendmx -endif - -ifeq ($(BR2_PACKAGE_OLA_PLUGIN_DUMMY),y) -OLA_CONF_OPTS += --enable-dummy -else -OLA_CONF_OPTS += --disable-dummy -endif - -ifeq ($(BR2_PACKAGE_OLA_PLUGIN_ESPNET),y) -OLA_CONF_OPTS += --enable-espnet -else -OLA_CONF_OPTS += --disable-espnet -endif - -ifeq ($(BR2_PACKAGE_OLA_PLUGIN_KINET),y) -OLA_CONF_OPTS += --enable-kinet -else -OLA_CONF_OPTS += --disable-kinet -endif - -ifeq ($(BR2_PACKAGE_OLA_PLUGIN_OSC),y) -OLA_CONF_OPTS += --enable-osc -OLA_DEPENDENCIES += liblo -else -OLA_CONF_OPTS += --disable-osc -endif - -ifeq ($(BR2_PACKAGE_OLA_PLUGIN_MILINT),y) -OLA_CONF_OPTS += --enable-milinst -else -OLA_CONF_OPTS += --disable-milinst -endif - -ifeq ($(BR2_PACKAGE_OLA_PLUGIN_PATHPORT),y) -OLA_CONF_OPTS += --enable-pathport -else -OLA_CONF_OPTS += --disable-pathport -endif - -ifeq ($(BR2_PACKAGE_OLA_PLUGIN_SANDNET),y) -OLA_CONF_OPTS += --enable-sandnet -else -OLA_CONF_OPTS += --disable-sandnet -endif - -ifeq ($(BR2_PACKAGE_OLA_PLUGIN_SHOWNET),y) -OLA_CONF_OPTS += --enable-shownet -else -OLA_CONF_OPTS += --disable-shownet -endif - -ifeq ($(BR2_PACKAGE_OLA_PLUGIN_STAGEPROFI),y) -OLA_CONF_OPTS += --enable-stageprofi --enable-libusb -else -OLA_CONF_OPTS += --disable-stageprofi -endif - -ifeq ($(BR2_PACKAGE_OLA_PLUGIN_USBPRO),y) -OLA_CONF_OPTS += --enable-usbpro --enable-libusb -else -OLA_CONF_OPTS += --disable-usbpro -endif - -$(eval $(autotools-package)) -$(eval $(host-autotools-package)) diff --git a/package/olsr/olsr.hash b/package/olsr/olsr.hash index c6b14153e3..6de0290559 100644 --- a/package/olsr/olsr.hash +++ b/package/olsr/olsr.hash @@ -1,2 +1,2 @@ -# From http://www.olsr.org/releases/0.9/SHA256SUM-0.9.0.3 -sha256 1f038ed3ea72e4f73dfc9701de83de7313f5049161c8df17b9aaeba8e9711e92 olsrd-0.9.0.3.tar.bz2 +# From http://www.olsr.org/releases/0.9/SHA256SUM-0.9.6.1 +sha256 9cac290e9bff5fc7422110b9ccd972853f10962c962d2f31a63de9c6d1520612 olsrd-0.9.6.1.tar.bz2 diff --git a/package/olsr/olsr.mk b/package/olsr/olsr.mk index 5a456a953e..faff2533d9 100644 --- a/package/olsr/olsr.mk +++ b/package/olsr/olsr.mk @@ -5,14 +5,14 @@ ################################################################################ OLSR_VERSION_MAJOR = 0.9 -OLSR_VERSION = $(OLSR_VERSION_MAJOR).0.3 +OLSR_VERSION = $(OLSR_VERSION_MAJOR).6.1 OLSR_SOURCE = olsrd-$(OLSR_VERSION).tar.bz2 OLSR_SITE = http://www.olsr.org/releases/$(OLSR_VERSION_MAJOR) OLSR_PLUGINS = arprefresh bmf dot_draw dyn_gw dyn_gw_plain httpinfo jsoninfo \ mdns nameservice p2pd pgraph secure txtinfo watchdog # Doesn't really need quagga but not very useful without it OLSR_PLUGINS += $(if $(BR2_PACKAGE_QUAGGA),quagga) -OLSR_LICENSE = BSD-3c, LGPLv2.1+ +OLSR_LICENSE = BSD-3-Clause, LGPL-2.1+ OLSR_LICENSE_FILES = license.txt lib/pud/nmealib/LICENSE OLSR_DEPENDENCIES = host-flex host-bison diff --git a/package/omap-u-boot-utils/omap-u-boot-utils.mk b/package/omap-u-boot-utils/omap-u-boot-utils.mk index b8a342bfbd..d68b1300bf 100644 --- a/package/omap-u-boot-utils/omap-u-boot-utils.mk +++ b/package/omap-u-boot-utils/omap-u-boot-utils.mk @@ -6,7 +6,7 @@ OMAP_U_BOOT_UTILS_VERSION = 3f07426cddc0be9e24702e7aacc7574ddd7fba28 OMAP_U_BOOT_UTILS_SITE = $(call github,nmenon,omap-u-boot-utils,$(OMAP_U_BOOT_UTILS_VERSION)) -OMAP_U_BOOT_UTILS_LICENSE = GPLv2, GPLv2+ +OMAP_U_BOOT_UTILS_LICENSE = GPL-2.0, GPL-2.0+ OMAP_U_BOOT_UTILS_LICENSE_FILES = COPYING define HOST_OMAP_U_BOOT_UTILS_BUILD_CMDS @@ -15,7 +15,7 @@ endef define HOST_OMAP_U_BOOT_UTILS_INSTALL_CMDS for f in gpsign pserial tagger ucmd ukermit ; do \ - $(INSTALL) -D -m 755 $(@D)/$$f $(HOST_DIR)/usr/bin/$$f ; \ + $(INSTALL) -D -m 755 $(@D)/$$f $(HOST_DIR)/bin/$$f ; \ done endef diff --git a/package/omniorb/0001-fix-unistd-sys-time-includes.patch b/package/omniorb/0001-fix-unistd-sys-time-includes.patch deleted file mode 100644 index 29d917b062..0000000000 --- a/package/omniorb/0001-fix-unistd-sys-time-includes.patch +++ /dev/null @@ -1,61 +0,0 @@ -omniorb/thread: use proper autoconf macros for header inclusion - -src/lib/omnithread/posix.cc uses sleep() and usleep(), defined in - on numerous platforms, and struct timeval/gettimeofday(), -defined in on various platforms. - -Since those header files are not available on all platforms, posix.cc -currently uses the following condition: - -#if (defined(__GLIBC__) && __GLIBC__ >= 2) || defined(__SCO_VERSION__) || defined(__aix__) || defined (__cygwin__) || defined(__darwin__) || defined(__macos__) - -Unfortunately, this falls short on Linux systems based on the musl C -library. Indeed, the musl C library does not define the __GLIBC__ -symbol, but does have the sleep()/usleep() definitions in , -and the struct timeval/gettimeofday() definitions in , -like any Linux system. Also, the musl C library does not define any -constant like __MUSL__ to distinguish it. - -Due to this, on musl based systems, and are -not included, causing a build failure: - -posix.cc:864:22: error: '::sleep' has not been declared - while ((secs = ::sleep(secs))) ; - ^ -posix.cc:866:43: error: 'usleep' was not declared in this scope - usleep(secs * 1000000 + (nanosecs / 1000)); - ^ -posix.cc: In static member function 'static void omni_thread::get_time(long unsigned int*, long unsigned int*, long unsigned int, long unsigned int)': -posix.cc:904:20: error: aggregate 'omni_thread::get_time(long unsigned int*, long unsigned int*, long unsigned int, long unsigned int)::timeval tv' has incomplete type and cannot be defined - struct timeval tv; - ^ -posix.cc:905:24: error: 'gettimeofday' was not declared in this scope - gettimeofday(&tv, 0); - -It turns out that the configure.ac already checks for the availability -of and . So all what this patch does is use the -C defines generated by the configure script to decide whether - and can be included or not. - -Signed-off-by: Thomas Petazzoni - -Index: b/src/lib/omnithread/posix.cc -=================================================================== ---- a/src/lib/omnithread/posix.cc -+++ b/src/lib/omnithread/posix.cc -@@ -78,10 +78,14 @@ - #include - #include - #include -+#include - --#if (defined(__GLIBC__) && __GLIBC__ >= 2) || defined(__SCO_VERSION__) || defined(__aix__) || defined (__cygwin__) || defined(__darwin__) || defined(__macos__) - // typedef of struct timeval and gettimeofday(); -+#if defined(HAVE_SYS_TIME_H) - #include -+#endif -+ -+#if defined(HAVE_UNISTD_H) - #include - #endif - diff --git a/package/omniorb/omniorb.hash b/package/omniorb/omniorb.hash index 3d98b46619..3f4af2e64a 100644 --- a/package/omniorb/omniorb.hash +++ b/package/omniorb/omniorb.hash @@ -1,3 +1,3 @@ -# From http://sourceforge.net/projects/omniorb/files/omniORB/omniORB-4.2.1/ -sha1 cf0f3ca7caab901c9485ca8afd85087c080c9684 omniORB-4.2.1.tar.bz2 -md5 dbe349d2bd929d349083b303bb4317e5 omniORB-4.2.1.tar.bz2 +# From http://sourceforge.net/projects/omniorb/files/omniORB/omniORB-4.2.2/ +sha1 0c682542290cabb22878b3ef492de3e85c4b4281 omniORB-4.2.2.tar.bz2 +md5 cc6b2a65a2b1c1b3d44b3ccbaf92e104 omniORB-4.2.2.tar.bz2 diff --git a/package/omniorb/omniorb.mk b/package/omniorb/omniorb.mk index 98bae20a71..2f094b5769 100644 --- a/package/omniorb/omniorb.mk +++ b/package/omniorb/omniorb.mk @@ -4,18 +4,18 @@ # ################################################################################ -OMNIORB_VERSION = 4.2.1 +OMNIORB_VERSION = 4.2.2 OMNIORB_SITE = http://downloads.sourceforge.net/project/omniorb/omniORB/omniORB-$(OMNIORB_VERSION) OMNIORB_SOURCE = omniORB-$(OMNIORB_VERSION).tar.bz2 OMNIORB_INSTALL_STAGING = YES -OMNIORB_LICENSE = GPL2+, LGPLv2.1+ +OMNIORB_LICENSE = GPL2+, LGPL-2.1+ OMNIORB_LICENSE_FILES = COPYING COPYING.LIB OMNIORB_DEPENDENCIES = host-omniorb HOST_OMNIORB_DEPENDENCIES = host-python # omniorb is not python3 friendly, so force the python interpreter -OMNIORB_CONF_OPTS = ac_cv_path_PYTHON=$(HOST_DIR)/usr/bin/python2 -HOST_OMNIORB_CONF_OPTS = ac_cv_path_PYTHON=$(HOST_DIR)/usr/bin/python2 +OMNIORB_CONF_OPTS = ac_cv_path_PYTHON=$(HOST_DIR)/bin/python2 +HOST_OMNIORB_CONF_OPTS = ac_cv_path_PYTHON=$(HOST_DIR)/bin/python2 # Defaulting long double support to a safe option for the # mix of embedded targets, this could later be automated @@ -65,7 +65,7 @@ endif # cross compiled target OMNIORB application. define OMNIORB_ADJUST_TOOLDIR # Point to the host folder to get HOST_OMNIORB tools - $(SED) 's:TOOLBINDIR = $$(TOP)/$$(BINDIR):TOOLBINDIR = $(HOST_DIR)/usr/bin:g' $(@D)/mk/beforeauto.mk + $(SED) 's:TOOLBINDIR = $$(TOP)/$$(BINDIR):TOOLBINDIR = $(HOST_DIR)/bin:g' $(@D)/mk/beforeauto.mk # Disables OMNIORB app/service/tool building echo "EmbeddedSystem=1" >> $(@D)/mk/beforeauto.mk endef diff --git a/package/omxplayer/omxplayer.mk b/package/omxplayer/omxplayer.mk index da4614bf56..9bb58778c2 100644 --- a/package/omxplayer/omxplayer.mk +++ b/package/omxplayer/omxplayer.mk @@ -6,7 +6,7 @@ OMXPLAYER_VERSION = 6c90c7503ba4658221774759edf7f2ae816711de OMXPLAYER_SITE = $(call github,popcornmix,omxplayer,$(OMXPLAYER_VERSION)) -OMXPLAYER_LICENSE = GPLv2+ +OMXPLAYER_LICENSE = GPL-2.0+ OMXPLAYER_LICENSE_FILES = COPYING OMXPLAYER_DEPENDENCIES = \ @@ -27,7 +27,7 @@ OMXPLAYER_MAKE_ENV = \ BUILDROOT=$(TOP_DIR) \ SDKSTAGE=$(STAGING_DIR) \ TARGETFS=$(TARGET_DIR) \ - TOOLCHAIN=$(HOST_DIR)/usr \ + TOOLCHAIN=$(HOST_DIR) \ HOST=$(GNU_TARGET_NAME) \ SYSROOT=$(STAGING_DIR) \ JOBS=$(PARALLEL_JOBS) \ diff --git a/package/on2-8170-libs/Config.in b/package/on2-8170-libs/Config.in index 40cad3d00c..2a60c581e4 100644 --- a/package/on2-8170-libs/Config.in +++ b/package/on2-8170-libs/Config.in @@ -1,10 +1,10 @@ config BR2_PACKAGE_ON2_8170_LIBS + bool "on2-8170-libs" #This is a binary only package which has been compiled for glibc depends on BR2_arm926t depends on BR2_TOOLCHAIN_USES_GLIBC depends on BR2_LINUX_KERNEL # on2-8170-modules select BR2_PACKAGE_ON2_8170_MODULES # runtime - bool "on2-8170-libs" help Libraries for Hantro X170 video decoder diff --git a/package/on2-8170-modules/on2-8170-modules.mk b/package/on2-8170-modules/on2-8170-modules.mk index b40ed86cf9..98643134be 100644 --- a/package/on2-8170-modules/on2-8170-modules.mk +++ b/package/on2-8170-modules/on2-8170-modules.mk @@ -7,7 +7,7 @@ ON2_8170_MODULES_VERSION = 73b08061d30789178e692bc332b73d1d9922bf39 ON2_8170_MODULES_SITE = $(call github,alexandrebelloni,on2-8170-modules,$(ON2_8170_MODULES_VERSION)) -ON2_8170_MODULES_LICENSE = GPLv2+ +ON2_8170_MODULES_LICENSE = GPL-2.0+ #There is no license file $(eval $(kernel-module)) diff --git a/package/open-plc-utils/open-plc-utils.mk b/package/open-plc-utils/open-plc-utils.mk index 67c8d7dc8a..d45bb9d4f5 100644 --- a/package/open-plc-utils/open-plc-utils.mk +++ b/package/open-plc-utils/open-plc-utils.mk @@ -6,7 +6,7 @@ OPEN_PLC_UTILS_VERSION = 1be781d1ea81827e5f6c1a35961c65dd4d15472c OPEN_PLC_UTILS_SITE = $(call github,qca,open-plc-utils,$(OPEN_PLC_UTILS_VERSION)) -OPEN_PLC_UTILS_LICENSE = BSD-3c +OPEN_PLC_UTILS_LICENSE = BSD-3-Clause OPEN_PLC_UTILS_LICENSE_FILES = LICENSE # We unfortunately can't use TARGET_CONFIGURE_OPTS, as it would diff --git a/package/open2300/open2300.mk b/package/open2300/open2300.mk index 588692d44f..589d344b97 100644 --- a/package/open2300/open2300.mk +++ b/package/open2300/open2300.mk @@ -7,7 +7,7 @@ OPEN2300_SITE = http://www.lavrsen.dk/svn/open2300/trunk OPEN2300_SITE_METHOD = svn OPEN2300_VERSION = 12 -OPEN2300_LICENSE = GPLv2 +OPEN2300_LICENSE = GPL-2.0 OPEN2300_LICENSE_FILES = COPYING OPEN2300_BINS = \ diff --git a/package/openal/0001-Fix-detection-of-C11-atomics.patch b/package/openal/0001-Fix-detection-of-C11-atomics.patch deleted file mode 100644 index c6b9840908..0000000000 --- a/package/openal/0001-Fix-detection-of-C11-atomics.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 10fee6d71a1f7d6e6319005196562b4a30b4e8ff Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 2 Feb 2016 14:58:52 +0100 -Subject: [PATCH] Fix detection of C11 atomics - -Currently, the CMakeLists.txt logic to detect the availability of C11 -atomics is based on building a small program that uses the -atomic_load(). - -However, atomic_load() does not need to use any function from -libatomic (part of the gcc runtime). So even if libatomic is missing, -this test concludes that C11 atomic support is available. For example -on SPARC, the example program builds fine without linking to -libatomic, but calling other functions of the atomic_*() APIs fail -without linking to libatomic. - -So, this patch adjusts the CMakeLists.txt test to use a function that -is known to require the libatomic run-time library (on architectures -where it is needed). This way, openal will only use the __atomic_*() -built-ins when they are actually functional. - -Signed-off-by: Thomas Petazzoni ---- - CMakeLists.txt | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 5784d35..a53f996 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -209,14 +209,17 @@ CHECK_C_SOURCE_COMPILES( - HAVE_C11_ALIGNAS) - - # Check if we have C11 _Atomic -+set(OLD_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES}) -+set(CMAKE_REQUIRED_LIBRARIES ${EXTRA_LIBS}) - CHECK_C_SOURCE_COMPILES( - "#include -- const int _Atomic foo = ATOMIC_VAR_INIT(~0); -+ int _Atomic foo = ATOMIC_VAR_INIT(~0); - int main() - { -- return atomic_load(&foo); -+ return atomic_fetch_add(&foo, 2); - }" - HAVE_C11_ATOMIC) -+set(CMAKE_REQUIRED_LIBRARIES ${OLD_REQUIRED_LIBRARIES}) - - # Add definitions, compiler switches, etc. - INCLUDE_DIRECTORIES("${OpenAL_SOURCE_DIR}/include" "${OpenAL_BINARY_DIR}") --- -2.6.4 - diff --git a/package/openal/openal.hash b/package/openal/openal.hash index 45f1421da0..aead6e15b8 100644 --- a/package/openal/openal.hash +++ b/package/openal/openal.hash @@ -1,6 +1,2 @@ # Locally calculated -sha256 a341f8542f1f0b8c65241a17da13d073f18ec06658e1a1606a8ecc8bbc2b3314 openal-soft-1.17.2.tar.bz2 -sha256 9c9040269376aba77b1277bbae0f055aee535e14ad4a3ab4e66e39830504e83f 27916ce3db023454a0295ee63ea196fbc246674c.patch -sha256 4621f6b79d4bbac5ce423f227c92ad1e4f833d7e1f2ff1cc3b5f03721f75b933 a52cfc804813aef8e4b304e20cf843fa6907af6c.patch -sha256 f442da31b4001a5133f2762a5bc1e780b11d5e2d9f21b257f54695ee6d87d997 c3c283a0b5d0130afafaa2a5b6ce6fbc30b6e6a1.patch -sha256 3691c1a327b87d5fb487841459fd00d3baaa79808ecb5e3b33b349363663640f 46b3e1d08ca10e809eb2e20b6371812958b97e1f.patch +sha256 2d51a6529526ef22484f51567e31a5c346a599767991a3dc9d4dcd9d9cec71dd openal-soft-1.18.1.tar.bz2 diff --git a/package/openal/openal.mk b/package/openal/openal.mk index 63841047db..439f5f109d 100644 --- a/package/openal/openal.mk +++ b/package/openal/openal.mk @@ -4,15 +4,10 @@ # ################################################################################ -OPENAL_VERSION = 1.17.2 +OPENAL_VERSION = 1.18.1 OPENAL_SOURCE = openal-soft-$(OPENAL_VERSION).tar.bz2 OPENAL_SITE = http://kcat.strangesoft.net/openal-releases -OPENAL_PATCH = \ - https://github.com/kcat/openal-soft/commit/27916ce3db023454a0295ee63ea196fbc246674c.patch \ - https://github.com/kcat/openal-soft/commit/a52cfc804813aef8e4b304e20cf843fa6907af6c.patch \ - https://github.com/kcat/openal-soft/commit/c3c283a0b5d0130afafaa2a5b6ce6fbc30b6e6a1.patch \ - https://github.com/kcat/openal-soft/commit/46b3e1d08ca10e809eb2e20b6371812958b97e1f.patch -OPENAL_LICENSE = LGPLv2+ +OPENAL_LICENSE = LGPL-2.0+ OPENAL_LICENSE_FILES = COPYING OPENAL_INSTALL_STAGING = YES diff --git a/package/openblas/Config.in b/package/openblas/Config.in index de26ab3b73..bc628960f5 100644 --- a/package/openblas/Config.in +++ b/package/openblas/Config.in @@ -31,7 +31,8 @@ config BR2_PACKAGE_OPENBLAS_DEFAULT_TARGET default "SICORTEX" if BR2_MIPS_CPU_MIPS64 # I6400 is built with MSA support which is only available in Codescape toolchains default "I6400" if BR2_mips_i6400 && BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS - default "SPARC" if BR2_sparc + # OpenBLAS assumes SPARC=Sparc v9 + default "SPARC" if BR2_sparc_v9 # Cortex-A15 always have a VFPv4 default "CORTEXA15" if (BR2_cortex_a15 && BR2_ARM_EABIHF) # Cortex-A9 have an optional VFPv3, so we need to make sure it diff --git a/package/openblas/openblas.mk b/package/openblas/openblas.mk index a26e10a43c..93dbc1f932 100644 --- a/package/openblas/openblas.mk +++ b/package/openblas/openblas.mk @@ -6,7 +6,7 @@ OPENBLAS_VERSION = f04af36ad0e85b64f12a7c38095383192cc52345 OPENBLAS_SITE = $(call github,xianyi,OpenBLAS,$(OPENBLAS_VERSION)) -OPENBLAS_LICENSE = BSD-3c +OPENBLAS_LICENSE = BSD-3-Clause OPENBLAS_LICENSE_FILES = LICENSE OPENBLAS_INSTALL_STAGING = YES diff --git a/package/openbox/openbox.mk b/package/openbox/openbox.mk index b5148e00e8..91d1c8655e 100644 --- a/package/openbox/openbox.mk +++ b/package/openbox/openbox.mk @@ -7,7 +7,7 @@ OPENBOX_VERSION = 3.6.1 OPENBOX_SOURCE = openbox-$(OPENBOX_VERSION).tar.xz OPENBOX_SITE = http://openbox.org/dist/openbox -OPENBOX_LICENSE = GPLv2+ +OPENBOX_LICENSE = GPL-2.0+ OPENBOX_LICENSE_FILES = COPYING OPENBOX_CONF_OPTS = \ diff --git a/package/opencore-amr/opencore-amr.hash b/package/opencore-amr/opencore-amr.hash index a984514d0f..b333822b90 100644 --- a/package/opencore-amr/opencore-amr.hash +++ b/package/opencore-amr/opencore-amr.hash @@ -1,2 +1,6 @@ +# From https://sourceforge.net/projects/opencore-amr/files/opencore-amr/ +md5 e0798587b91411cc092aa73091a97dfc opencore-amr-0.1.5.tar.gz +sha1 bef4d1e3a8a155b47569b6691a223843b33e279e opencore-amr-0.1.5.tar.gz # Locally computed: -sha256 106bf811c1f36444d7671d8fd2589f8b2e0cca58a2c764da62ffc4a070595385 opencore-amr-0.1.3.tar.gz +sha256 2c006cb9d5f651bfb5e60156dbff6af3c9d35c7bbcc9015308c0aff1e14cd341 opencore-amr-0.1.5.tar.gz +sha256 8b3f1762349248d444ab9acbafe73941254e36e1064954da56bb9ddbd5873ddb LICENSE diff --git a/package/opencore-amr/opencore-amr.mk b/package/opencore-amr/opencore-amr.mk index 8b6aa29a96..ac366e2466 100644 --- a/package/opencore-amr/opencore-amr.mk +++ b/package/opencore-amr/opencore-amr.mk @@ -4,10 +4,10 @@ # ################################################################################ -OPENCORE_AMR_VERSION = 0.1.3 +OPENCORE_AMR_VERSION = 0.1.5 OPENCORE_AMR_SITE = http://downloads.sourceforge.net/project/opencore-amr/opencore-amr OPENCORE_AMR_INSTALL_STAGING = YES OPENCORE_AMR_LICENSE = Apache-2.0 -OPENCORE_AMR_LICENSE_FILES = COPYING +OPENCORE_AMR_LICENSE_FILES = LICENSE $(eval $(autotools-package)) diff --git a/package/opencv/0004-CMakeLists.txt-Do-not-add-libdl-to-LINKER_LIBS-for-s.patch b/package/opencv/0002-CMakeLists.txt-Do-not-add-libdl-to-LINKER_LIBS-for-s.patch similarity index 100% rename from package/opencv/0004-CMakeLists.txt-Do-not-add-libdl-to-LINKER_LIBS-for-s.patch rename to package/opencv/0002-CMakeLists.txt-Do-not-add-libdl-to-LINKER_LIBS-for-s.patch diff --git a/package/opencv/0002-avoid-sysctl_h.patch b/package/opencv/0002-avoid-sysctl_h.patch deleted file mode 100644 index b63ba55ac1..0000000000 --- a/package/opencv/0002-avoid-sysctl_h.patch +++ /dev/null @@ -1,61 +0,0 @@ -From e5e71c31d54562f9c67a8226f0bfc08ad24b81cf Mon Sep 17 00:00:00 2001 -From: Waldemar Brodkorb -Date: Tue, 1 Nov 2016 09:30:23 +0100 -Subject: [PATCH 2/4] From upstream master branch: - https://github.com/Itseez/opencv/blob/master/modules/core/src/ - -Do not include sysctl.h targeting Linux systems. - -Signed-off-by: Waldemar Brodkorb -[Samuel Martin: convert patch to git diff, add cap_ffmpeg_impl.hpp fix] -Signed-off-by: Samuel Martin ---- - modules/core/src/parallel.cpp | 2 +- - modules/core/src/system.cpp | 2 +- - modules/highgui/src/cap_ffmpeg_impl.hpp | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/modules/core/src/parallel.cpp b/modules/core/src/parallel.cpp -index 4459a24..0374876 100644 ---- a/modules/core/src/parallel.cpp -+++ b/modules/core/src/parallel.cpp -@@ -56,7 +56,7 @@ - #include - #if defined ANDROID - #include -- #else -+ #elif defined __APPLE__ - #include - #endif - #endif -diff --git a/modules/core/src/system.cpp b/modules/core/src/system.cpp -index 9a7b262..731f090 100644 ---- a/modules/core/src/system.cpp -+++ b/modules/core/src/system.cpp -@@ -163,7 +163,7 @@ std::wstring GetTempFileNameWinRT(std::wstring prefix) - #include - #if defined ANDROID - #include --#else -+#elif defined __APPLE__ - #include - #endif - #endif -diff --git a/modules/highgui/src/cap_ffmpeg_impl.hpp b/modules/highgui/src/cap_ffmpeg_impl.hpp -index dc3e10d..23674ff 100644 ---- a/modules/highgui/src/cap_ffmpeg_impl.hpp -+++ b/modules/highgui/src/cap_ffmpeg_impl.hpp -@@ -126,9 +126,9 @@ extern "C" { - #include - #include - #include -- #include - #include - #if defined __APPLE__ -+ #include - #include - #include - #endif --- -2.10.2 - diff --git a/package/opencv/0003-Update-OpenCVCompilerOptions.cmake.patch b/package/opencv/0003-Update-OpenCVCompilerOptions.cmake.patch new file mode 100644 index 0000000000..9a81d9308a --- /dev/null +++ b/package/opencv/0003-Update-OpenCVCompilerOptions.cmake.patch @@ -0,0 +1,32 @@ +From 126de0cd95418811e302996161e03195bf7e631a Mon Sep 17 00:00:00 2001 +From: neok-m4700 +Date: Tue, 25 Jul 2017 10:25:20 +0200 +Subject: [PATCH] Update OpenCVCompilerOptions.cmake + +misplaced else + +[Upstream commit: https://github.com/opencv/opencv/commit/126de0cd95418811e302996161e03195bf7e631a] +Signed-off-by: Samuel Martin +--- + cmake/OpenCVCompilerOptions.cmake | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/cmake/OpenCVCompilerOptions.cmake b/cmake/OpenCVCompilerOptions.cmake +index 9b2a4e42e..7b079c5f9 100644 +--- a/cmake/OpenCVCompilerOptions.cmake ++++ b/cmake/OpenCVCompilerOptions.cmake +@@ -18,9 +18,9 @@ if(ENABLE_CCACHE AND NOT CMAKE_COMPILER_IS_CCACHE) + message(STATUS "Unable to compile program with enabled ccache, reverting...") + set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${__OLD_RULE_LAUNCH_COMPILE}") + endif() +- else() +- message(STATUS "Looking for ccache - not found") + endif() ++ else() ++ message(STATUS "Looking for ccache - not found") + endif() + endif() + +-- +2.15.0 + diff --git a/package/opencv/0003-types_c.h-Fix-compiling-VFP-assembler-code.patch b/package/opencv/0003-types_c.h-Fix-compiling-VFP-assembler-code.patch deleted file mode 100644 index 85a23a0740..0000000000 --- a/package/opencv/0003-types_c.h-Fix-compiling-VFP-assembler-code.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 18c868c47307b786d1bea729dccaad7f8d696cb7 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Tue, 6 Sep 2016 11:49:00 +0200 -Subject: [PATCH 1/1] types_c.h: Fix compiling VFP assembler code - -Replace asm by __asm__ according to -https://gcc.gnu.org/onlinedocs/gcc/Alternate-Keywords.html#Alternate-Keywords -as suggested by Arnout Vandecappelle: -http://lists.busybox.net/pipermail/buildroot/2016-September/171491.html - -to fix build errors in ffmpeg with opencv2 support detected by -buildroot autobuilders: -http://autobuild.buildroot.net/results/c32/c32a21240a9933796ee850349a62ff3c2314f25c/build-end.log - -Patch sent upstream: https://github.com/opencv/opencv/pull/7242 - -Signed-off-by: Bernd Kuhls ---- - modules/core/include/opencv2/core/types_c.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules/core/include/opencv2/core/types_c.h b/modules/core/include/opencv2/core/types_c.h -index c21cd2c..771715d 100644 ---- a/modules/core/include/opencv2/core/types_c.h -+++ b/modules/core/include/opencv2/core/types_c.h -@@ -318,7 +318,7 @@ enum { - int res; \ - float temp; \ - (void)temp; \ -- asm(_asm_string : [res] "=r" (res), [temp] "=w" (temp) : [value] "w" (_value)); \ -+ __asm__(_asm_string : [res] "=r" (res), [temp] "=w" (temp) : [value] "w" (_value)); \ - return res; - // 2. version for double - #ifdef __clang__ --- -2.9.3 - diff --git a/package/opencv/Config.in b/package/opencv/Config.in index c046baaa4b..26109a707d 100644 --- a/package/opencv/Config.in +++ b/package/opencv/Config.in @@ -1,9 +1,9 @@ menuconfig BR2_PACKAGE_OPENCV bool "opencv-2.4" - select BR2_PACKAGE_ZLIB depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR + select BR2_PACKAGE_ZLIB help OpenCV (Open Source Computer Vision) is a library of programming functions for real time computer vision. @@ -51,14 +51,13 @@ config BR2_PACKAGE_OPENCV_LIB_FLANN config BR2_PACKAGE_OPENCV_LIB_GPU bool "gpu" - depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 # opencv libphoto + depends on !BR2_STATIC_LIBS select BR2_PACKAGE_OPENCV_LIB_CALIB3D select BR2_PACKAGE_OPENCV_LIB_IMGPROC select BR2_PACKAGE_OPENCV_LIB_LEGACY select BR2_PACKAGE_OPENCV_LIB_OBJDETECT select BR2_PACKAGE_OPENCV_LIB_PHOTO select BR2_PACKAGE_OPENCV_LIB_VIDEO - depends on !BR2_STATIC_LIBS help Include opencv_gpu module into the OpenCV build. @@ -114,7 +113,6 @@ config BR2_PACKAGE_OPENCV_LIB_OBJDETECT config BR2_PACKAGE_OPENCV_LIB_PHOTO bool "photo" default y - depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 # Binutils 2.25 nios2 issue select BR2_PACKAGE_OPENCV_LIB_IMGPROC help Include opencv_photo module into the OpenCV build. @@ -162,7 +160,6 @@ config BR2_PACKAGE_OPENCV_LIB_VIDEO config BR2_PACKAGE_OPENCV_LIB_VIDEOSTAB bool "videostab" default y - depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 # opencv libphoto select BR2_PACKAGE_OPENCV_LIB_CALIB3D select BR2_PACKAGE_OPENCV_LIB_FEATURES2D select BR2_PACKAGE_OPENCV_LIB_HIGHGUI @@ -211,13 +208,16 @@ config BR2_PACKAGE_OPENCV_WITH_GSTREAMER depends on BR2_USE_MMU # gstreamer -> libglib2 depends on BR2_USE_WCHAR # gstreamer -> libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # gstreamer -> libglib2 + depends on !BR2_STATIC_LIBS # gstreamer select BR2_PACKAGE_GSTREAMER select BR2_PACKAGE_GST_PLUGINS_BASE select BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_APP -comment "gstreamer-0.10 support needs a toolchain w/ wchar, threads" +comment "gstreamer-0.10 support needs a toolchain w/ wchar, threads, dynamic library" depends on BR2_USE_MMU - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ + BR2_STATIC_LIBS + config BR2_PACKAGE_OPENCV_WITH_GSTREAMER1 bool "gstreamer-1.x" @@ -272,7 +272,6 @@ config BR2_PACKAGE_OPENCV_WITH_QT depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_MMU # qt depends on BR2_PACKAGE_OPENCV_LIB_HIGHGUI - depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 # Qt GUI module select BR2_PACKAGE_QT select BR2_PACKAGE_QT_STL select BR2_PACKAGE_QT_GUI_MODULE @@ -280,9 +279,6 @@ config BR2_PACKAGE_OPENCV_WITH_QT help Use Qt with QtTest module and STL support -comment "qt backend support needs a toolchain not affected by Binutils bug 19405" - depends on BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 - config BR2_PACKAGE_OPENCV_WITH_TIFF bool "tiff support" select BR2_PACKAGE_TIFF diff --git a/package/opencv/opencv.hash b/package/opencv/opencv.hash index 9686cb287d..5b4b80d06e 100644 --- a/package/opencv/opencv.hash +++ b/package/opencv/opencv.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 94ebcca61c30034d5fb16feab8ec12c8a868f5162d20a9f0396f0f5f6d8bbbff opencv-2.4.13.tar.gz +sha256 fb4769d0119c35426c3754b7fb079b407911e863958db53bdec83c7794582e41 opencv-2.4.13.3.tar.gz +sha256 46e42877dfc3ac65769292cb4dc1a04b204ad9e40859a390f4c035d6179fbcc4 LICENSE diff --git a/package/opencv/opencv.mk b/package/opencv/opencv.mk index 947589b83c..d170aec58f 100644 --- a/package/opencv/opencv.mk +++ b/package/opencv/opencv.mk @@ -4,11 +4,12 @@ # ################################################################################ -OPENCV_VERSION = 2.4.13 +OPENCV_VERSION = 2.4.13.3 OPENCV_SITE = $(call github,itseez,opencv,$(OPENCV_VERSION)) OPENCV_INSTALL_STAGING = YES -OPENCV_LICENSE = BSD-3c +OPENCV_LICENSE = BSD-3-Clause OPENCV_LICENSE_FILES = LICENSE +OPENCV_SUPPORTS_IN_SOURCE_BUILD = NO # OpenCV component options OPENCV_CONF_OPTS += \ @@ -79,7 +80,8 @@ OPENCV_CONF_OPTS += \ -DENABLE_SSE3=$(if $(BR2_X86_CPU_HAS_SSE3),ON,OFF) \ -DENABLE_SSE41=$(if $(BR2_X86_CPU_HAS_SSE4),ON,OFF) \ -DENABLE_SSE42=$(if $(BR2_X86_CPU_HAS_SSE42),ON,OFF) \ - -DENABLE_SSSE3=$(if $(BR2_X86_CPU_HAS_SSSE3),ON,OFF) + -DENABLE_SSSE3=$(if $(BR2_X86_CPU_HAS_SSSE3),ON,OFF) \ + -DENABLE_NEON=$(if $(BR2_ARM_CPU_HAS_NEON),ON,OFF) # Cuda stuff OPENCV_CONF_OPTS += \ @@ -192,7 +194,8 @@ OPENCV_CONF_OPTS += -DWITH_GTK=OFF endif ifeq ($(BR2_PACKAGE_OPENCV_WITH_JASPER),y) -OPENCV_CONF_OPTS += -DWITH_JASPER=ON +OPENCV_CONF_OPTS += -DWITH_JASPER=ON \ + -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -D__STDC_LIMIT_MACROS" OPENCV_DEPENDENCIES += jasper else OPENCV_CONF_OPTS += -DWITH_JASPER=OFF diff --git a/package/opencv3/Config.in b/package/opencv3/Config.in index 4c00bf1b94..2214ee80ca 100644 --- a/package/opencv3/Config.in +++ b/package/opencv3/Config.in @@ -1,12 +1,12 @@ menuconfig BR2_PACKAGE_OPENCV3 bool "opencv3" - select BR2_PACKAGE_ZLIB depends on BR2_TOOLCHAIN_HAS_ATOMIC depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR depends on !BR2_STATIC_LIBS # include dlfcn.h depends on !BR2_PACKAGE_OPENCV + select BR2_PACKAGE_ZLIB help OpenCV (Open Source Computer Vision) is a library of programming functions for real time computer vision. @@ -85,16 +85,15 @@ comment "gtk3 support needs libgtk3" config BR2_PACKAGE_OPENCV3_WITH_QT bool "qt4" depends on BR2_PACKAGE_QT - depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 # Qt GUI module select BR2_PACKAGE_QT_STL select BR2_PACKAGE_QT_GUI_MODULE select BR2_PACKAGE_QT_TEST help Use Qt4 with QtTest and QtGui modules and STL support, as GUI toolkit. -comment "qt4 support needs qt and a toolchain not affected by Binutils bug 19405" +comment "qt4 support needs qt" depends on BR2_USE_MMU # qt - depends on (!BR2_PACKAGE_QT && !BR2_PACKAGE_QT5) || BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 + depends on !BR2_PACKAGE_QT && !BR2_PACKAGE_QT5 config BR2_PACKAGE_OPENCV3_WITH_QT5 bool "qt5" @@ -130,7 +129,6 @@ comment "opengl support needs an OpenGL provider" endif # BR2_PACKAGE_OPENCV3_LIB_HIGHGUI - config BR2_PACKAGE_OPENCV3_LIB_IMGCODECS bool "imgcodecs" select BR2_PACKAGE_OPENCV3_LIB_IMGPROC diff --git a/package/opencv3/opencv3.hash b/package/opencv3/opencv3.hash index 20859ea2b5..de15bc8cb7 100644 --- a/package/opencv3/opencv3.hash +++ b/package/opencv3/opencv3.hash @@ -1,2 +1,4 @@ # Locally calculated -sha256 f00b3c4f42acda07d89031a2ebb5ebe390764a133502c03a511f67b78bbd4fbf opencv3-3.1.0.tar.gz +sha256 8bb312b9d9fd17336dc1f8b3ac82f021ca50e2034afc866098866176d985adc6 opencv3-3.3.0.tar.gz +# License files, locally calculated +sha256 e974db937899a2505f0eb43ece9d2f2eb36e8580ad88785e3ffac0d697ebaf5d LICENSE diff --git a/package/opencv3/opencv3.mk b/package/opencv3/opencv3.mk index 10660a90fb..cffe66b892 100644 --- a/package/opencv3/opencv3.mk +++ b/package/opencv3/opencv3.mk @@ -4,11 +4,12 @@ # ################################################################################ -OPENCV3_VERSION = 3.1.0 -OPENCV3_SITE = $(call github,itseez,opencv,$(OPENCV3_VERSION)) +OPENCV3_VERSION = 3.3.0 +OPENCV3_SITE = $(call github,opencv,opencv,$(OPENCV3_VERSION)) OPENCV3_INSTALL_STAGING = YES -OPENCV3_LICENSE = BSD-3c +OPENCV3_LICENSE = BSD-3-Clause OPENCV3_LICENSE_FILES = LICENSE +OPENCV3_SUPPORTS_IN_SOURCE_BUILD = NO # Uses __atomic_fetch_add_4 ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) @@ -97,22 +98,8 @@ OPENCV3_CONF_OPTS += \ # # * PowerPC support is turned off since its only effect is altering CFLAGS, # adding '-mcpu=G3 -mtune=G5' to them, which is already handled by Buildroot. -# * fma3 and popcnt support is disabled because according to gcc manual [2], it -# is only available on x86_64 haswell, broadwell and knl architecture. -# -# [2] https://gcc.gnu.org/onlinedocs/gcc-5.1.0/gcc/x86-Options.html#x86-Options OPENCV3_CONF_OPTS += \ - -DENABLE_AVX=$(if $(BR2_X86_CPU_HAS_AVX),ON,OFF) \ - -DENABLE_AVX2=$(if $(BR2_X86_CPU_HAS_AVX2),ON,OFF) \ - -DENABLE_FMA3=OFF \ - -DENABLE_POPCNT=OFF \ - -DENABLE_POWERPC=OFF \ - -DENABLE_SSE=$(if $(BR2_X86_CPU_HAS_SSE),ON,OFF) \ - -DENABLE_SSE2=$(if $(BR2_X86_CPU_HAS_SSE2),ON,OFF) \ - -DENABLE_SSE3=$(if $(BR2_X86_CPU_HAS_SSE3),ON,OFF) \ - -DENABLE_SSE41=$(if $(BR2_X86_CPU_HAS_SSE4),ON,OFF) \ - -DENABLE_SSE42=$(if $(BR2_X86_CPU_HAS_SSE42),ON,OFF) \ - -DENABLE_SSSE3=$(if $(BR2_X86_CPU_HAS_SSSE3),ON,OFF) + -DENABLE_POWERPC=OFF # Cuda stuff OPENCV3_CONF_OPTS += \ @@ -179,7 +166,6 @@ OPENCV3_CONF_OPTS += \ -DWITH_CSTRIPES=OFF \ -DWITH_DSHOW=OFF \ -DWITH_MSMF=OFF \ - -DWITH_PTHREADS_PF=OFF \ -DWITH_VFW=OFF \ -DWITH_VIDEOINPUT=OFF \ -DWITH_WIN32UI=OFF @@ -206,6 +192,7 @@ OPENCV3_CONF_OPTS += \ -DWITH_EIGEN=OFF \ -DWITH_GDAL=OFF \ -DWITH_GPHOTO2=OFF \ + -DWITH_LAPACK=OFF \ -DWITH_MATLAB=OFF \ -DWITH_OPENCL=OFF \ -DWITH_OPENCL_SVM=OFF \ @@ -321,7 +308,7 @@ ifeq ($(BR2_PACKAGE_PYTHON),y) OPENCV3_CONF_OPTS += \ -DBUILD_opencv_python2=ON \ -DBUILD_opencv_python3=OFF \ - -DPYTHON2_EXECUTABLE=$(HOST_DIR)/usr/bin/python2 \ + -DPYTHON2_EXECUTABLE=$(HOST_DIR)/bin/python2 \ -DPYTHON2_INCLUDE_PATH=$(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR) \ -DPYTHON2_LIBRARIES=$(STAGING_DIR)/usr/lib/libpython$(PYTHON_VERSION_MAJOR).so \ -DPYTHON2_NUMPY_INCLUDE_DIRS=$(STAGING_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages/numpy/core/include \ @@ -332,7 +319,7 @@ else OPENCV3_CONF_OPTS += \ -DBUILD_opencv_python2=OFF \ -DBUILD_opencv_python3=ON \ - -DPYTHON3_EXECUTABLE=$(HOST_DIR)/usr/bin/python3 \ + -DPYTHON3_EXECUTABLE=$(HOST_DIR)/bin/python3 \ -DPYTHON3_INCLUDE_PATH=$(STAGING_DIR)/usr/include/python$(PYTHON3_VERSION_MAJOR)m \ -DPYTHON3_LIBRARIES=$(STAGING_DIR)/usr/lib/libpython$(PYTHON3_VERSION_MAJOR)m.so \ -DPYTHON3_NUMPY_INCLUDE_DIRS=$(STAGING_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/numpy/core/include \ diff --git a/package/opengl/libegl/Config.in b/package/opengl/libegl/Config.in index f756fbeadf..a236998947 100644 --- a/package/opengl/libegl/Config.in +++ b/package/opengl/libegl/Config.in @@ -6,5 +6,5 @@ config BR2_PACKAGE_HAS_LIBEGL_WAYLAND depends on BR2_PACKAGE_HAS_LIBEGL config BR2_PACKAGE_PROVIDES_LIBEGL - depends on BR2_PACKAGE_HAS_LIBEGL string + depends on BR2_PACKAGE_HAS_LIBEGL diff --git a/package/opengl/libgl/Config.in b/package/opengl/libgl/Config.in index 8b99e5bdd3..b9a1602a72 100644 --- a/package/opengl/libgl/Config.in +++ b/package/opengl/libgl/Config.in @@ -2,5 +2,5 @@ config BR2_PACKAGE_HAS_LIBGL bool config BR2_PACKAGE_PROVIDES_LIBGL - depends on BR2_PACKAGE_HAS_LIBGL string + depends on BR2_PACKAGE_HAS_LIBGL diff --git a/package/opengl/libgles/Config.in b/package/opengl/libgles/Config.in index b7b800f3f2..090ef16d42 100644 --- a/package/opengl/libgles/Config.in +++ b/package/opengl/libgles/Config.in @@ -2,5 +2,5 @@ config BR2_PACKAGE_HAS_LIBGLES bool config BR2_PACKAGE_PROVIDES_LIBGLES - depends on BR2_PACKAGE_HAS_LIBGLES string + depends on BR2_PACKAGE_HAS_LIBGLES diff --git a/package/opengl/libopenmax/Config.in b/package/opengl/libopenmax/Config.in index d50f2ced1f..901426abd6 100644 --- a/package/opengl/libopenmax/Config.in +++ b/package/opengl/libopenmax/Config.in @@ -2,5 +2,5 @@ config BR2_PACKAGE_HAS_LIBOPENMAX bool config BR2_PACKAGE_PROVIDES_LIBOPENMAX - depends on BR2_PACKAGE_HAS_LIBOPENMAX string + depends on BR2_PACKAGE_HAS_LIBOPENMAX diff --git a/package/opengl/libopenvg/Config.in b/package/opengl/libopenvg/Config.in index 53cde6a88c..37d9410eb2 100644 --- a/package/opengl/libopenvg/Config.in +++ b/package/opengl/libopenvg/Config.in @@ -2,5 +2,5 @@ config BR2_PACKAGE_HAS_LIBOPENVG bool config BR2_PACKAGE_PROVIDES_LIBOPENVG - depends on BR2_PACKAGE_HAS_LIBOPENVG string + depends on BR2_PACKAGE_HAS_LIBOPENVG diff --git a/package/openipmi/0001-Avoid-searching-host-library-path.patch b/package/openipmi/0001-Avoid-searching-host-library-path.patch index 9a51d97e27..44a57dcfb4 100644 --- a/package/openipmi/0001-Avoid-searching-host-library-path.patch +++ b/package/openipmi/0001-Avoid-searching-host-library-path.patch @@ -1,4 +1,4 @@ -From ca6e99d9fa4bf503a883407e964eaad5e18d51c7 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Baruch Siach Date: Wed, 22 Jul 2015 07:04:33 +0300 Subject: [PATCH] Avoid searching host library path @@ -9,44 +9,44 @@ host libraries which may be different than target libraries. Don't use $(libdir) in the library search path. Signed-off-by: Baruch Siach +Signed-off-by: Joel Stanley --- - cmdlang/Makefile.am | 2 +- - unix/Makefile.am | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) + cmdlang/Makefile.am | 3 +-- + unix/Makefile.am | 6 ++---- + 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/cmdlang/Makefile.am b/cmdlang/Makefile.am -index e80090dd0c6f..b59ff244b9a8 100644 +index 264ee12be79f..0b3843784656 100644 --- a/cmdlang/Makefile.am +++ b/cmdlang/Makefile.am -@@ -16,7 +16,7 @@ libOpenIPMIcmdlang_la_LIBADD = -lm \ +@@ -15,8 +15,7 @@ libOpenIPMIcmdlang_la_SOURCES = cmdlang.c cmd_domain.c cmd_entity.c cmd_mc.c \ + libOpenIPMIcmdlang_la_LIBADD = -lm \ $(top_builddir)/utils/libOpenIPMIutils.la \ $(top_builddir)/lib/libOpenIPMI.la - libOpenIPMIcmdlang_la_LDFLAGS = -rdynamic -version-info $(LD_VERSION) \ -- -Wl,-Map -Wl,libOpenIPMIcmdlang.map -L$(libdir) -+ -Wl,-Map -Wl,libOpenIPMIcmdlang.map +-libOpenIPMIcmdlang_la_LDFLAGS = -rdynamic -version-info $(LD_VERSION) \ +- -L$(libdir) ++libOpenIPMIcmdlang_la_LDFLAGS = -rdynamic -version-info $(LD_VERSION) bin_PROGRAMS = openipmish diff --git a/unix/Makefile.am b/unix/Makefile.am -index a7921477e1c4..a108bc679c9a 100644 +index 5128839dad13..bd0f897ba8d6 100644 --- a/unix/Makefile.am +++ b/unix/Makefile.am -@@ -11,13 +11,13 @@ libOpenIPMIpthread_la_SOURCES = posix_thread_os_hnd.c selector.c +@@ -10,14 +10,12 @@ lib_LTLIBRARIES = libOpenIPMIposix.la libOpenIPMIpthread.la + libOpenIPMIpthread_la_SOURCES = posix_thread_os_hnd.c selector.c libOpenIPMIpthread_la_LIBADD = -lpthread $(GDBM_LIB) \ - $(top_builddir)/utils/libOpenIPMIutils.la - libOpenIPMIpthread_la_LDFLAGS = -rdynamic -version-info $(LD_VERSION) \ -- -Wl,-Map -Wl,libOpenIPMIpthread.map -L$(libdir) -+ -Wl,-Map -Wl,libOpenIPMIpthread.map + $(top_builddir)/utils/libOpenIPMIutils.la $(RT_LIB) +-libOpenIPMIpthread_la_LDFLAGS = -rdynamic -version-info $(LD_VERSION) \ +- -L$(libdir) ++libOpenIPMIpthread_la_LDFLAGS = -rdynamic -version-info $(LD_VERSION) libOpenIPMIposix_la_SOURCES = posix_os_hnd.c selector.c libOpenIPMIposix_la_LIBADD = $(top_builddir)/utils/libOpenIPMIutils.la \ - $(GDBM_LIB) - libOpenIPMIposix_la_LDFLAGS = -rdynamic -version-info $(LD_VERSION) \ -- -Wl,-Map -Wl,libOpenIPMIposix.map -L$(libdir) -+ -Wl,-Map -Wl,libOpenIPMIposix.map + $(GDBM_LIB) $(RT_LIB) +-libOpenIPMIposix_la_LDFLAGS = -rdynamic -version-info $(LD_VERSION) \ +- -L$(libdir) ++libOpenIPMIposix_la_LDFLAGS = -rdynamic -version-info $(LD_VERSION) noinst_HEADERS = heap.h --- -2.1.4 - diff --git a/package/openipmi/0002-configure.ac-detect-lrt-requirement-for-clock_gettim.patch b/package/openipmi/0002-configure.ac-detect-lrt-requirement-for-clock_gettim.patch deleted file mode 100644 index d58ffd7caf..0000000000 --- a/package/openipmi/0002-configure.ac-detect-lrt-requirement-for-clock_gettim.patch +++ /dev/null @@ -1,57 +0,0 @@ -From d3be03464be7fa3844dfe0837a7e2c920c107836 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Thu, 23 Jul 2015 13:35:35 +0300 -Subject: [PATCH] configure.ac: detect -lrt requirement for clock_gettime - -glibc versions before 2.17 require link with -lrt. - -Upstream status: sent, stuck in moderator's queue - -Signed-off-by: Baruch Siach ---- - configure.ac | 8 ++++++++ - unix/Makefile.am | 4 ++-- - 2 files changed, 10 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 18401f161d45..6b350a41a916 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -854,6 +854,14 @@ OPENIPMI_SWIG_SO="${PYTHON_POSIX_SO}:\$(top_builddir)/lib/.libs/libOpenIPMI.so:\ - AC_SUBST(OPENIPMI_SWIG_LIBS) - AC_SUBST(OPENIPMI_SWIG_SO) - -+LIB_CLOCK_GETTIME= -+clk_saved_libs=$LIBS -+AC_SEARCH_LIBS([clock_gettime], [rt], -+ [test "$ac_cv_search_clock_gettime" = "none required" || -+ LIB_CLOCK_GETTIME=$ac_cv_search_clock_gettime]) -+AC_SUBST([LIB_CLOCK_GETTIME]) -+LIBS=$clk_saved_libs -+ - # Everything from here to AC_OUTPUT is for libedit - - # AC_PROG_LIBTOOL runs AC_CANONICAL_HOST -diff --git a/unix/Makefile.am b/unix/Makefile.am -index a108bc679c9a..fb60242d5d3b 100644 ---- a/unix/Makefile.am -+++ b/unix/Makefile.am -@@ -9,13 +9,13 @@ lib_LTLIBRARIES = libOpenIPMIposix.la libOpenIPMIpthread.la - - libOpenIPMIpthread_la_SOURCES = posix_thread_os_hnd.c selector.c - libOpenIPMIpthread_la_LIBADD = -lpthread $(GDBM_LIB) \ -- $(top_builddir)/utils/libOpenIPMIutils.la -+ $(top_builddir)/utils/libOpenIPMIutils.la $(LIB_CLOCK_GETTIME) - libOpenIPMIpthread_la_LDFLAGS = -rdynamic -version-info $(LD_VERSION) \ - -Wl,-Map -Wl,libOpenIPMIpthread.map - - libOpenIPMIposix_la_SOURCES = posix_os_hnd.c selector.c - libOpenIPMIposix_la_LIBADD = $(top_builddir)/utils/libOpenIPMIutils.la \ -- $(GDBM_LIB) -+ $(GDBM_LIB) $(LIB_CLOCK_GETTIME) - libOpenIPMIposix_la_LDFLAGS = -rdynamic -version-info $(LD_VERSION) \ - -Wl,-Map -Wl,libOpenIPMIposix.map - --- -2.1.4 - diff --git a/package/openipmi/openipmi.hash b/package/openipmi/openipmi.hash index 30e37634ef..37048ca2a3 100644 --- a/package/openipmi/openipmi.hash +++ b/package/openipmi/openipmi.hash @@ -1,5 +1,4 @@ # From http://sourceforge.net/projects/openipmi/files/OpenIPMI%202.0%20Library/ -sha1 826081e7ed0ad430de9b8fdb75a9eaa10c99b660 OpenIPMI-2.0.22.tar.gz +sha1 f37656813a826a3147ed557c32408f8daa399c28 OpenIPMI-2.0.24.tar.gz # Locally computed -sha256 4988900043c35fcfa9b2bf275d6593904f6429221befb770ba6ecb5502108e55 OpenIPMI-2.0.22.tar.gz -sha256 0eafaa502ccf752899c5089159574081067d0c4ac53ea0ace33a5087f33ea32a 0001-ui-use-standard-uint32_t.patch +sha256 bca39a27071278a8b74610181ede8df51e155e5e9031bc8eaa3699d1720292b4 OpenIPMI-2.0.24.tar.gz diff --git a/package/openipmi/openipmi.mk b/package/openipmi/openipmi.mk index 9faa7c685f..8e91e4ed03 100644 --- a/package/openipmi/openipmi.mk +++ b/package/openipmi/openipmi.mk @@ -4,12 +4,10 @@ # ################################################################################ -OPENIPMI_VERSION = 2.0.22 +OPENIPMI_VERSION = 2.0.24 OPENIPMI_SITE = http://sourceforge.net/projects/openipmi/files/OpenIPMI%202.0%20Library OPENIPMI_SOURCE = OpenIPMI-$(OPENIPMI_VERSION).tar.gz -OPENIPMI_PATCH = \ - http://sourceforge.net/p/openipmi/patches/26/attachment/0001-ui-use-standard-uint32_t.patch -OPENIPMI_LICENSE = LGPLv2+, GPLv2+, BSD-3c +OPENIPMI_LICENSE = LGPL-2.0+, GPL-2.0+, BSD-3-Clause OPENIPMI_LICENSE_FILES = COPYING.LIB COPYING COPYING.BSD OPENIPMI_DEPENDENCIES = popt ncurses host-pkgconf # Patching Makefile.am @@ -17,7 +15,6 @@ OPENIPMI_AUTORECONF = YES OPENIPMI_CONF_ENV = ac_cv_path_pkgprog="$(PKG_CONFIG_HOST_BINARY)" OPENIPMI_CONF_OPTS = \ --with-glib=no \ - --with-glib12=no \ --with-tcl=no \ --with-perl=no \ --with-python=no \ diff --git a/package/openjpeg/0003-CMakeLists.txt-Don-t-require-a-C-compiler.patch b/package/openjpeg/0003-CMakeLists.txt-Don-t-require-a-C-compiler.patch new file mode 100644 index 0000000000..13cceef195 --- /dev/null +++ b/package/openjpeg/0003-CMakeLists.txt-Don-t-require-a-C-compiler.patch @@ -0,0 +1,34 @@ +From 786ddcd1475adc6193c59d53e0d8ed2c502f2b00 Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Sat, 23 Sep 2017 18:49:31 +0200 +Subject: [PATCH] CMakeLists.txt: Don't require a C++ compiler + +By default, CMake assumes that the project is using both C and C++. By +explicitly passing 'C' as argument of the project() macro, we tell CMake +that only C is used, which prevents CMake from erroring out if a C++ +compiler doesn't exist. + +Submitted upstream: +https://github.com/uclouvain/openjpeg/pull/1027 + +Signed-off-by: Peter Korsgaard +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ec42bc99..d80eb48b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -24,7 +24,7 @@ endif() + #string(TOLOWER ${OPENJPEG_NAMESPACE} OPENJPEG_LIBRARY_NAME) + set(OPENJPEG_LIBRARY_NAME openjp2) + +-project(${OPENJPEG_NAMESPACE}) ++project(${OPENJPEG_NAMESPACE} C) + + # Do full dependency headers. + include_regular_expression("^.*$") +-- +2.11.0 + diff --git a/package/openjpeg/0004-install-static-lib.patch b/package/openjpeg/0004-install-static-lib.patch new file mode 100644 index 0000000000..4a3bbfa28a --- /dev/null +++ b/package/openjpeg/0004-install-static-lib.patch @@ -0,0 +1,27 @@ +From 66297f07a43d2770a97c8456d20202f3d051d980 Mon Sep 17 00:00:00 2001 +From: Even Rouault +Date: Mon, 9 Oct 2017 11:40:43 +0200 +Subject: [PATCH] Unix build: fix regression of 2.3.0 where a shared-only or + static-only build lacks the installation target for the library (#1019, fixes + regression introduced by 3dfc6ca2bcf06fd1adb6b6b4cecc6c092f08ba0b) + +Downloaded from upstream commit +https://github.com/uclouvain/openjpeg/commit/66297f07a43d2770a97c8456d20202f3d051d980 + +Signed-off-by: Bernd Kuhls +--- + src/lib/openjp2/CMakeLists.txt | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/lib/openjp2/CMakeLists.txt b/src/lib/openjp2/CMakeLists.txt +index 0b4520384..f8990ccf0 100644 +--- a/src/lib/openjp2/CMakeLists.txt ++++ b/src/lib/openjp2/CMakeLists.txt +@@ -99,6 +99,7 @@ else() + set(INSTALL_LIBS ${OPENJPEG_LIBRARY_NAME} openjp2_static) + else() + add_library(${OPENJPEG_LIBRARY_NAME} ${OPENJPEG_SRCS}) ++ set(INSTALL_LIBS ${OPENJPEG_LIBRARY_NAME}) + endif() + endif() + diff --git a/package/openjpeg/openjpeg.hash b/package/openjpeg/openjpeg.hash index c0abd0c54d..dd3cf26cf0 100644 --- a/package/openjpeg/openjpeg.hash +++ b/package/openjpeg/openjpeg.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 4ce77b6ef538ef090d9bde1d5eeff8b3069ab56c4906f083475517c2c023dfa7 openjpeg-2.1.2.tar.gz +sha256 3dc787c1bb6023ba846c2a0d9b1f6e179f1cd255172bde9eb75b01f1e6c7d71a openjpeg-2.3.0.tar.gz diff --git a/package/openjpeg/openjpeg.mk b/package/openjpeg/openjpeg.mk index ca22068113..9a8fdab7a4 100644 --- a/package/openjpeg/openjpeg.mk +++ b/package/openjpeg/openjpeg.mk @@ -4,9 +4,9 @@ # ################################################################################ -OPENJPEG_VERSION = 2.1.2 +OPENJPEG_VERSION = 2.3.0 OPENJPEG_SITE = $(call github,uclouvain,openjpeg,v$(OPENJPEG_VERSION)) -OPENJPEG_LICENSE = BSD-2c +OPENJPEG_LICENSE = BSD-2-Clause OPENJPEG_LICENSE_FILES = LICENSE OPENJPEG_INSTALL_STAGING = YES @@ -15,4 +15,10 @@ OPENJPEG_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBPNG),libpng) OPENJPEG_DEPENDENCIES += $(if $(BR2_PACKAGE_TIFF),tiff) OPENJPEG_DEPENDENCIES += $(if $(BR2_PACKAGE_LCMS2),lcms2) +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) +OPENJPEG_CONF_OPTS += -DOPJ_USE_THREAD=ON +else +OPENJPEG_CONF_OPTS += -DOPJ_USE_THREAD=OFF +endif + $(eval $(cmake-package)) diff --git a/package/openldap/openldap.hash b/package/openldap/openldap.hash index 785c4897f5..aec4aaebfd 100644 --- a/package/openldap/openldap.hash +++ b/package/openldap/openldap.hash @@ -1,4 +1,4 @@ -# From http://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.4.44.md5 -md5 693ac26de86231f8dcae2b4e9d768e51 openldap-2.4.44.tgz -# From http://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.4.44.sha1 -sha1 016a738d050a68d388602a74b5e991035cdba149 openldap-2.4.44.tgz +# From http://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.4.45.md5 +md5 00ff8301277cdfd0af728a6927042a13 openldap-2.4.45.tgz +# From http://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.4.45.sha1 +sha1 c98437385d3eaee80c9e2c09f3f0d4b7c140233d openldap-2.4.45.tgz diff --git a/package/openldap/openldap.mk b/package/openldap/openldap.mk index 2f738e51de..2bf6fc3f27 100644 --- a/package/openldap/openldap.mk +++ b/package/openldap/openldap.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENLDAP_VERSION = 2.4.44 +OPENLDAP_VERSION = 2.4.45 OPENLDAP_SOURCE = openldap-$(OPENLDAP_VERSION).tgz OPENLDAP_SITE = http://www.openldap.org/software/download/OpenLDAP/openldap-release OPENLDAP_LICENSE = OpenLDAP Public License @@ -12,9 +12,9 @@ OPENLDAP_LICENSE_FILES = LICENSE OPENLDAP_INSTALL_STAGING = YES OPENLDAP_DEPENDENCIES = host-pkgconf -ifeq ($(BR2_PACKAGE_OPENSSL),y) +ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) OPENLDAP_TLS = openssl -OPENLDAP_DEPENDENCIES += openssl +OPENLDAP_DEPENDENCIES += libopenssl else ifeq ($(BR2_PACKAGE_GNUTLS),y) OPENLDAP_TLS = gnutls OPENLDAP_DEPENDENCIES += gnutls diff --git a/package/openmpi/openmpi.hash b/package/openmpi/openmpi.hash index 92152a2431..4e967e6589 100644 --- a/package/openmpi/openmpi.hash +++ b/package/openmpi/openmpi.hash @@ -1,3 +1,5 @@ # From: https://www.open-mpi.org/software/ompi/v1.10/ -md5 b2f43d9635d2d52826e5ef9feb97fd4c openmpi-1.10.2.tar.bz2 -sha1 03934fc0a2dd0d0d2d0459d714a976eabca938fb openmpi-1.10.2.tar.bz2 +md5 c87c613f9acb1a4eee21fa1ac8042579 openmpi-1.10.7.tar.bz2 +sha1 fe359d8caa4888625308cf03343d913dd5ac6198 openmpi-1.10.7.tar.bz2 +# Locally computed +sha256 a089ece151fec974905caa35b0a59039b227bdea4e7933069e94bee4ed0e5a90 openmpi-1.10.7.tar.bz2 diff --git a/package/openmpi/openmpi.mk b/package/openmpi/openmpi.mk index c5b8a01b6f..df3270f50a 100644 --- a/package/openmpi/openmpi.mk +++ b/package/openmpi/openmpi.mk @@ -5,10 +5,10 @@ ################################################################################ OPENMPI_VERSION_MAJOR = 1.10 -OPENMPI_VERSION = $(OPENMPI_VERSION_MAJOR).2 +OPENMPI_VERSION = $(OPENMPI_VERSION_MAJOR).7 OPENMPI_SITE = https://www.open-mpi.org/software/ompi/v$(OPENMPI_VERSION_MAJOR)/downloads OPENMPI_SOURCE = openmpi-$(OPENMPI_VERSION).tar.bz2 -OPENMPI_LICENSE = BSD-3c +OPENMPI_LICENSE = BSD-3-Clause OPENMPI_LICENSE_FILES = LICENSE OPENMPI_INSTALL_STAGING = YES OPENMPI_CONF_OPTS = --disable-vt diff --git a/package/openntpd/0001-Revert-use-__dead-macro-from-sys-cdefs.h.patch b/package/openntpd/0001-Revert-use-__dead-macro-from-sys-cdefs.h.patch new file mode 100644 index 0000000000..418f7a2098 --- /dev/null +++ b/package/openntpd/0001-Revert-use-__dead-macro-from-sys-cdefs.h.patch @@ -0,0 +1,91 @@ +From 17aa5d98191c4dc85d0645443fc97a12601ae8da Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 26 Sep 2017 14:55:31 +0300 +Subject: [PATCH] Revert "use __dead macro from sys/cdefs.h" +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This partially reverts commit a7577667d673f49800e15461fe384817a1572eae. + +The musl C library does not use an internal cdefs.h header. As a result, +the definitions in sys/cdefs.h have no effect. This breads the build as +follows: + +In file included from adjfreq_linux.c:23:0: +../src/ntpd.h:448:8: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘void’ + __dead void fatal(const char *, ...) + ^~~~ +../src/ntpd.h:450:8: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘void’ + __dead void fatalx(const char *, ...) + ^~~~ + +Refer the related musl FAQ about cdefs.h: + + http://wiki.musl-libc.org/wiki/FAQ#Q:_I.27m_trying_to_compile_something_against_musl_and_I_get_error_messages_about_sys.2Fcdefs.h + +Keep the compiler attribute definition. + +Remove also from noinst_HEADERS. + +Signed-off-by: Baruch Siach +--- +Upstream status: https://github.com/openntpd-portable/openntpd-portable/pull/45 + + include/Makefile.am | 1 - + include/sys/cdefs.h | 16 ---------------- + include/sys/types.h | 4 ++++ + 3 files changed, 4 insertions(+), 17 deletions(-) + delete mode 100644 include/sys/cdefs.h + +diff --git a/include/Makefile.am b/include/Makefile.am +index a552026e8f25..3a5a01620d82 100644 +--- a/include/Makefile.am ++++ b/include/Makefile.am +@@ -1,6 +1,5 @@ + noinst_HEADERS = + noinst_HEADERS += machine/endian.h +-noinst_HEADERS += sys/cdefs.h + noinst_HEADERS += sys/queue.h + noinst_HEADERS += sys/socket.h + noinst_HEADERS += sys/types.h +diff --git a/include/sys/cdefs.h b/include/sys/cdefs.h +deleted file mode 100644 +index 3dec43deec28..000000000000 +--- a/include/sys/cdefs.h ++++ /dev/null +@@ -1,16 +0,0 @@ +-/* +- * Public domain +- * sys/cdefs.h compatibility shim +- */ +- +-#include_next +- +-#ifndef LIBCOMPAT_SYS_CDEFS_H +-#define LIBCOMPAT_SYS_CDEFS_H +- +-#if !defined(HAVE_ATTRIBUTE__DEAD) && !defined(__dead) +-#define __dead __attribute__((__noreturn__)) +-#define __pure __attribute__((__const__)) +-#endif +- +-#endif +diff --git a/include/sys/types.h b/include/sys/types.h +index 56aef0b61af8..86821c732ec3 100644 +--- a/include/sys/types.h ++++ b/include/sys/types.h +@@ -14,6 +14,10 @@ + #include <_bsd_types.h> + #endif + ++#if !defined(HAVE_ATTRIBUTE__DEAD) && !defined(__dead) ++#define __dead __attribute__((__noreturn__)) ++#endif ++ + #if !defined(HAVE_ATTRIBUTE__BOUNDED__) && !defined(__bounded__) + # define __bounded__(x, y, z) + #endif +-- +2.14.1 + diff --git a/package/openntpd/0002-fix-musl.patch b/package/openntpd/0002-fix-musl.patch new file mode 100644 index 0000000000..e369d5a8ae --- /dev/null +++ b/package/openntpd/0002-fix-musl.patch @@ -0,0 +1,38 @@ +From: Baruch Siach +Date: Fri, 29 Sep 2017 10:06:52 +0300 +Subject: [PATCH] Fix build with musl and older Linux kernel + +The musl libc carries its own copy of Linux system calls. When building +with Linux headers older than v3.17, musl provides SYS_getrandom +definition, but not GRND_NONBLOCK. This causes build failure for +libressl and openntpd: + +getentropy_linux.c: In function 'getentropy_getrandom': +getentropy_linux.c:205:42: error: 'GRND_NONBLOCK' undeclared (first use in this function) + ret = syscall(SYS_getrandom, buf, len, GRND_NONBLOCK); + ^~~~~~~~~~~~~ + +Define GRND_NONBLOCK locally when its definition is missing to fix the +build. There should be no run-time effect. Older kernels return ENOSYS +for unsupported syscall(). + +[ from upstream pull request with file location changed ] +Signed-off-by: Baruch Siach +--- +Upstream status: https://github.com/libressl-portable/openbsd/pull/82 + +diff -Nuar openntpd-6.2p2-orig/compat/getentropy_linux.c openntpd-6.2p2/compat/getentropy_linux.c +--- openntpd-6.2p2-orig/compat/getentropy_linux.c 2017-09-07 22:12:02.000000000 +0300 ++++ openntpd-6.2p2/compat/getentropy_linux.c 2017-09-29 11:54:54.856245770 +0300 +@@ -194,6 +194,11 @@ + } + + #ifdef SYS_getrandom ++ ++#ifndef GRND_NONBLOCK ++#define GRND_NONBLOCK 0x0001 ++#endif ++ + static int + getentropy_getrandom(void *buf, size_t len) + { diff --git a/package/openntpd/openntpd.hash b/package/openntpd/openntpd.hash index 7f5d3e3f63..1a73e8dc0b 100644 --- a/package/openntpd/openntpd.hash +++ b/package/openntpd/openntpd.hash @@ -1,2 +1,2 @@ -# From http://www.openntpd.org/txt/release-6.0p1.txt -sha256 b1ab80094788912adb12b33cb1f251cc58db39294c1b5c6376972f5f7ba577e8 openntpd-6.0p1.tar.gz +# Locally computed +sha256 5808a4137b008a4db20907e1a482f474734b120f254e3c5feb90db15e0820fb2 openntpd-6.2p2.tar.gz diff --git a/package/openntpd/openntpd.mk b/package/openntpd/openntpd.mk index 9c98064c7a..308a1b1258 100644 --- a/package/openntpd/openntpd.mk +++ b/package/openntpd/openntpd.mk @@ -4,11 +4,11 @@ # ################################################################################ -OPENNTPD_VERSION = 6.0p1 +OPENNTPD_VERSION = 6.2p2 OPENNTPD_SITE = http://ftp.openbsd.org/pub/OpenBSD/OpenNTPD -OPENNTPD_LICENSE = MIT-like, BSD-2c, BSD-3c +OPENNTPD_LICENSE = MIT-like, BSD-2-Clause, BSD-3-Clause OPENNTPD_LICENSE_FILES = COPYING -# Ships a beta libtool version hence our patch doesn't apply. +# Patching include/Makefile.am OPENNTPD_AUTORECONF = YES # openntpd uses pthread functions for arc4random emulation but forgets diff --git a/package/openobex/0001-libusb_check_when_cross-compiling.patch b/package/openobex/0001-libusb_check_when_cross-compiling.patch deleted file mode 100644 index 7b8056afcc..0000000000 --- a/package/openobex/0001-libusb_check_when_cross-compiling.patch +++ /dev/null @@ -1,18 +0,0 @@ -Fix libusb check when cross-compiling. - -Signed-off-by: Julien Boibessot -Signed-off-by: Samuel Martin - -Index: openobex-1.5/acinclude.m4 -=================================================================== ---- openobex-1.5.orig/acinclude.m4 2010-06-16 10:32:47.000000000 +0200 -+++ openobex-1.5/acinclude.m4 2010-06-16 10:35:33.000000000 +0200 -@@ -158,7 +158,7 @@ - ;; - *) - PKG_CHECK_MODULES(USB, libusb, usb_lib_found=yes, AC_MSG_RESULT(no)) -- AC_CHECK_FILE(${prefix}/lib/pkgconfig/libusb.pc, REQUIRES="libusb") -+ REQUIRES="libusb" - ;; - esac - AC_SUBST(USB_CFLAGS) diff --git a/package/openobex/0002-replace_deprecated_functions.patch b/package/openobex/0002-replace_deprecated_functions.patch deleted file mode 100644 index 17274d385b..0000000000 --- a/package/openobex/0002-replace_deprecated_functions.patch +++ /dev/null @@ -1,30 +0,0 @@ -obex_test_cable.c: avoid to use SuSv3 LEGACY APIs - -Signed-off-by: Julien Boibessot -Signed-off-by: Samuel Martin - -Index: openobex-1.5/apps/obex_test_cable.c -=================================================================== ---- openobex-1.5.orig/apps/obex_test_cable.c 2009-02-08 19:30:22.000000000 +0100 -+++ openobex-1.5/apps/obex_test_cable.c 2010-06-16 11:11:05.000000000 +0200 -@@ -113,9 +113,9 @@ - if(total == sizeof(tmpbuf)) - return -1; - -- if( (answer = index(tmpbuf, '\n')) ) { -+ if( (answer = strchr(tmpbuf, '\n')) ) { - // Remove first line (echo) -- if( (answer_end = index(answer+1, '\n')) ) { -+ if( (answer_end = strchr(answer+1, '\n')) ) { - // Found end of answer - done = 1; - } -@@ -178,7 +178,7 @@ - } - - tcgetattr(gt->ttyfd, >->oldtio); -- bzero(>->newtio, sizeof(struct termios)); -+ memset(>->newtio, 0, sizeof(struct termios)); - gt->newtio.c_cflag = B115200 | CS8 | CREAD | CRTSCTS; - gt->newtio.c_iflag = IGNPAR; - gt->newtio.c_oflag = 0; diff --git a/package/openobex/Config.in b/package/openobex/Config.in index ed1b81fe42..e611b8d803 100644 --- a/package/openobex/Config.in +++ b/package/openobex/Config.in @@ -5,39 +5,3 @@ config BR2_PACKAGE_OPENOBEX protocol. http://sourceforge.net/projects/openobex - -if BR2_PACKAGE_OPENOBEX - -config BR2_PACKAGE_OPENOBEX_BLUEZ - bool "enable bluez support" - depends on !BR2_STATIC_LIBS # bluez_utils - depends on BR2_USE_WCHAR # libglib2 - depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, alsa-lib, libglib2 - depends on BR2_USE_MMU # dbus - select BR2_PACKAGE_BLUEZ_UTILS - -comment "bluez support needs a toolchain w/ wchar, threads, dynamic library" - depends on BR2_USE_MMU - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS - -config BR2_PACKAGE_OPENOBEX_LIBUSB - bool "enable libusb support" - depends on BR2_TOOLCHAIN_HAS_THREADS # libusb - select BR2_PACKAGE_LIBUSB - select BR2_PACKAGE_LIBUSB_COMPAT - -comment "libusb support needs a toolchain w/ threads" - depends on !BR2_TOOLCHAIN_HAS_THREADS - -config BR2_PACKAGE_OPENOBEX_APPS - bool "install test applications" - help - Also install the openobex test applications on target. - -config BR2_PACKAGE_OPENOBEX_SYSLOG - bool "enable debugging to the system logger" - -config BR2_PACKAGE_OPENOBEX_DUMP - bool "enable protocol dumping for debugging" - -endif diff --git a/package/openobex/openobex.hash b/package/openobex/openobex.hash index 2aef98194b..1cdb09decb 100644 --- a/package/openobex/openobex.hash +++ b/package/openobex/openobex.hash @@ -1,3 +1,6 @@ -# From http://sourceforge.net/projects/openobex/files/openobex/1.5/ -sha1 5332ef95bc8b321bda675cdb74379804c6c1a83f openobex-1.5.0-Source.zip -md5 f6d87af55a1d702d582173c81619176e openobex-1.5.0-Source.zip +# From http://sourceforge.net/projects/openobex/files/openobex/1.7.2/ +sha1 4a5098a62889134cbd2b54997e7ff3e959e601e6 openobex-1.7.2-Source.tar.gz +md5 f6e0b6cb7dcfd731460a7e9a91429a3a openobex-1.7.2-Source.tar.gz +# License files, locally calculated +sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 COPYING +sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING.LIB diff --git a/package/openobex/openobex.mk b/package/openobex/openobex.mk index 6a1a10ba4f..ea41f65a80 100644 --- a/package/openobex/openobex.mk +++ b/package/openobex/openobex.mk @@ -4,42 +4,31 @@ # ################################################################################ -OPENOBEX_VERSION_MAJOR = 1.5 -OPENOBEX_VERSION = $(OPENOBEX_VERSION_MAJOR).0 -OPENOBEX_SITE = http://downloads.sourceforge.net/project/openobex/openobex/$(OPENOBEX_VERSION_MAJOR) -OPENOBEX_SOURCE = openobex-$(OPENOBEX_VERSION)-Source.zip -# Libraries seems to be released under LGPLv2.1+, -# while other material is under GPLv2+. -OPENOBEX_LICENSE = GPLv2+/LGPLv2.1+ +OPENOBEX_VERSION = 1.7.2 +OPENOBEX_SITE = http://downloads.sourceforge.net/project/openobex/openobex/$(OPENOBEX_VERSION) +OPENOBEX_SOURCE = openobex-$(OPENOBEX_VERSION)-Source.tar.gz +# Libraries seems to be released under LGPL-2.1+, +# while other material is under GPL-2.0+. +OPENOBEX_LICENSE = GPL-2.0+/LGPL-2.1+ OPENOBEX_LICENSE_FILES = COPYING COPYING.LIB - OPENOBEX_DEPENDENCIES = host-pkgconf -OPENOBEX_AUTORECONF = YES OPENOBEX_INSTALL_STAGING = YES +OPENOBEX_CONF_OPTS = -DBUILD_DOCUMENTATION=OFF -define OPENOBEX_EXTRACT_CMDS - $(UNZIP) -d $(@D) $(DL_DIR)/$(OPENOBEX_SOURCE) - mv $(@D)/openobex-$(OPENOBEX_VERSION)-Source/* $(@D) - $(RM) -r $(@D)/openobex-$(OPENOBEX_VERSION)-Source -endef - -OPENOBEX_CONF_OPTS += \ - $(if $(BR2_PACKAGE_OPENOBEX_APPS),--enable-apps) \ - $(if $(BR2_PACKAGE_OPENOBEX_SYSLOG),--enable-syslog) \ - $(if $(BR2_PACKAGE_OPENOBEX_DUMP),--enable-dump) - -ifeq ($(BR2_PACKAGE_OPENOBEX_BLUEZ),y) +ifeq ($(BR2_PACKAGE_BLUEZ_UTILS),y) OPENOBEX_DEPENDENCIES += bluez_utils -OPENOBEX_CONF_OPTS += --with-bluez=$(STAGING_DIR) -else -OPENOBEX_CONF_OPTS += --disable-bluetooth endif -ifeq ($(BR2_PACKAGE_OPENOBEX_LIBUSB),y) -OPENOBEX_DEPENDENCIES += libusb-compat -OPENOBEX_CONF_OPTS += --with-usb=$(STAGING_DIR) -else -OPENOBEX_CONF_OPTS += --disable-usb +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS),y) +OPENOBEX_DEPENDENCIES += bluez5_utils endif -$(eval $(autotools-package)) +ifeq ($(BR2_PACKAGE_LIBUSB),y) +OPENOBEX_DEPENDENCIES += libusb +endif + +ifeq ($(BR2_PACKAGE_HAS_UDEV),y) +OPENOBEX_DEPENDENCIES += udev +endif + +$(eval $(cmake-package)) diff --git a/package/openocd/0002-Fix-jimtcl-auto-configuration-to-force-static-librar.patch b/package/openocd/0001-Fix-jimtcl-auto-configuration-to-force-static-librar.patch similarity index 100% rename from package/openocd/0002-Fix-jimtcl-auto-configuration-to-force-static-librar.patch rename to package/openocd/0001-Fix-jimtcl-auto-configuration-to-force-static-librar.patch diff --git a/package/openocd/0002-configure-enable-build-on-uclinux.patch b/package/openocd/0002-configure-enable-build-on-uclinux.patch new file mode 100644 index 0000000000..2f2d320840 --- /dev/null +++ b/package/openocd/0002-configure-enable-build-on-uclinux.patch @@ -0,0 +1,26 @@ +From 11ea78c4d253bb90296e2dd8c3f7fbf59ba397b6 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Thu, 17 Aug 2017 06:30:31 +0200 +Subject: [PATCH] configure: enable build on uclinux + +Signed-off-by: Bernd Kuhls +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index c680bda7..1a7980a0 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -327,7 +327,7 @@ AC_ARG_ENABLE([sysfsgpio], + [build_sysfsgpio=$enableval], [build_sysfsgpio=no]) + + AS_CASE([$host_os], +- [linux*], [], ++ [linux*|uclinux*], [], + [ + AS_IF([test "x$build_sysfsgpio" = "xyes"], [ + AC_MSG_ERROR([sysfsgpio is only available on linux]) +-- +2.11.0 + diff --git a/package/openocd/Config.in b/package/openocd/Config.in index 231367154e..6cba7a04c8 100644 --- a/package/openocd/Config.in +++ b/package/openocd/Config.in @@ -11,109 +11,109 @@ comment "Adapters" config BR2_PACKAGE_OPENOCD_FTDI bool "MPSSE mode of FTDI based devices" - select BR2_PACKAGE_LIBUSB depends on BR2_TOOLCHAIN_HAS_THREADS # libusb + select BR2_PACKAGE_LIBUSB help Enable building support for the MPSSE mode of FTDI (FT2xxx/FT4xxx) based devices (default is auto) config BR2_PACKAGE_OPENOCD_STLINK bool "ST-Link JTAG Programmer" - select BR2_PACKAGE_LIBUSB depends on BR2_TOOLCHAIN_HAS_THREADS # libusb + select BR2_PACKAGE_LIBUSB help Enable building support for the ST-Link JTAG Programmer (default is auto) config BR2_PACKAGE_OPENOCD_TI_ICDI bool "TI ICDI JTAG Programmer" - select BR2_PACKAGE_LIBUSB depends on BR2_TOOLCHAIN_HAS_THREADS # libusb + select BR2_PACKAGE_LIBUSB help Enable building support for the TI ICDI JTAG Programmer (default is auto) config BR2_PACKAGE_OPENOCD_ULINK bool "Keil ULINK JTAG Programmer" - select BR2_PACKAGE_LIBUSB depends on BR2_TOOLCHAIN_HAS_THREADS # libusb + select BR2_PACKAGE_LIBUSB help Enable building support for the Keil ULINK JTAG Programmer (default is auto) config BR2_PACKAGE_OPENOCD_UBLASTER2 bool "Altera USB-Blaster II Compatible" - select BR2_PACKAGE_LIBUSB depends on BR2_TOOLCHAIN_HAS_THREADS # libusb + select BR2_PACKAGE_LIBUSB help Enable building support for the Altera USB-Blaster II Compatible (default is auto) config BR2_PACKAGE_OPENOCD_JLINK bool "Segger J-Link JTAG Programmer" - select BR2_PACKAGE_LIBUSB depends on BR2_TOOLCHAIN_HAS_THREADS # libusb + select BR2_PACKAGE_LIBUSB help Segger J-Link JTAG Programmer and clone such as Atmel SAM-ICE config BR2_PACKAGE_OPENOCD_OSDBM bool "OSDBM JTAG (only) Programmer" - select BR2_PACKAGE_LIBUSB depends on BR2_TOOLCHAIN_HAS_THREADS # libusb + select BR2_PACKAGE_LIBUSB help Enable building support for the OSBDM (JTAG only) Programmer (default is auto) config BR2_PACKAGE_OPENOCD_OPENDOUS bool "eStick/opendous JTAG Programmer" - select BR2_PACKAGE_LIBUSB depends on BR2_TOOLCHAIN_HAS_THREADS # libusb + select BR2_PACKAGE_LIBUSB help Enable building support for the eStick/opendous JTAG Programmer (default is auto) config BR2_PACKAGE_OPENOCD_AICE bool "Andes JTAG Programmer" - select BR2_PACKAGE_LIBUSB depends on BR2_USE_MMU # use fork() depends on BR2_TOOLCHAIN_HAS_THREADS # libusb + select BR2_PACKAGE_LIBUSB help Enable building support for the Andes JTAG Programmer (default is auto) config BR2_PACKAGE_OPENOCD_VSLLINK bool "Versaloon-Link JTAG Programmer" + depends on BR2_TOOLCHAIN_HAS_THREADS # libusb-compat -> libusb select BR2_PACKAGE_LIBUSB select BR2_PACKAGE_LIBUSB_COMPAT - depends on BR2_TOOLCHAIN_HAS_THREADS # libusb-compat -> libusb help Enable building support for the Versaloon-Link JTAG Programmer (default is auto) config BR2_PACKAGE_OPENOCD_USBPROG bool "USBProg JTAG Programmer" + depends on BR2_TOOLCHAIN_HAS_THREADS # libusb-compat -> libusb select BR2_PACKAGE_LIBUSB select BR2_PACKAGE_LIBUSB_COMPAT - depends on BR2_TOOLCHAIN_HAS_THREADS # libusb-compat -> libusb help Enable building support for the USBProg JTAG Programmer (default is auto) config BR2_PACKAGE_OPENOCD_RLINK bool "Raisonance RLink JTAG Programmer" + depends on BR2_TOOLCHAIN_HAS_THREADS # libusb-compat -> libusb select BR2_PACKAGE_LIBUSB select BR2_PACKAGE_LIBUSB_COMPAT - depends on BR2_TOOLCHAIN_HAS_THREADS # libusb-compat -> libusb help Enable building support for the Raisonance RLink JTAG Programmer (default is auto) config BR2_PACKAGE_OPENOCD_ARMEW bool "Olimex ARM-JTAG-EW Programmer" + depends on BR2_TOOLCHAIN_HAS_THREADS # libusb-compat -> libusb select BR2_PACKAGE_LIBUSB select BR2_PACKAGE_LIBUSB_COMPAT - depends on BR2_TOOLCHAIN_HAS_THREADS # libusb-compat -> libusb help Enable building support for the Olimex ARM-JTAG-EW Programmer (default is auto) @@ -123,14 +123,6 @@ config BR2_PACKAGE_OPENOCD_PARPORT help Enable building the pc parallel port driver -config BR2_PACKAGE_OPENOCD_FT2XXX - bool "FT2232 based devices (DEPRECATED)" - select BR2_PACKAGE_LIBFTDI1 - depends on BR2_TOOLCHAIN_HAS_THREADS # libftdi -> libusb - help - (DEPRECATED) Enable building support for FT2232 - based devices using the libftdi library - config BR2_PACKAGE_OPENOCD_VPI bool "JTAG VPI" help @@ -138,8 +130,8 @@ config BR2_PACKAGE_OPENOCD_VPI config BR2_PACKAGE_OPENOCD_UBLASTER bool "Altera USB-Blaster" - select BR2_PACKAGE_LIBFTDI1 depends on BR2_TOOLCHAIN_HAS_THREADS # libftdi -> libusb + select BR2_PACKAGE_LIBFTDI1 help Enable building support for the Altera USB-Blaster using the libftdi driver, opensource alternate of @@ -178,18 +170,18 @@ config BR2_PACKAGE_OPENOCD_GW16012 config BR2_PACKAGE_OPENOCD_PRESTO bool "ASIX Presto Programmer" - select BR2_PACKAGE_LIBFTDI1 depends on BR2_TOOLCHAIN_HAS_THREADS # libftdi -> libusb + select BR2_PACKAGE_LIBFTDI1 help Enable building support for ASIX Presto Programmer using the libftdi driver config BR2_PACKAGE_OPENOCD_OPENJTAG bool "OpenJTAG Programmer" + depends on BR2_TOOLCHAIN_HAS_THREADS # libftdi -> libusb select BR2_PACKAGE_LIBFTDI1 select BR2_PACKAGE_LIBUSB select BR2_PACKAGE_LIBUSB_COMPAT # needs usb.h - depends on BR2_TOOLCHAIN_HAS_THREADS # libftdi -> libusb help Enable building support for the OpenJTAG Programmer with ftdi driver diff --git a/package/openocd/openocd.hash b/package/openocd/openocd.hash index 4ca11e206e..3fb817b4a2 100644 --- a/package/openocd/openocd.hash +++ b/package/openocd/openocd.hash @@ -1,3 +1,4 @@ -# From http://sourceforge.net/projects/openocd/files/openocd/0.9.0/ -sha1 bcf99bb21f09513065b2c9ece148ace7d16cdd0c openocd-0.9.0.tar.bz2 -md5 665cc98ae9e7297e09ec6ac7235fee49 openocd-0.9.0.tar.bz2 +# From http://sourceforge.net/projects/openocd/files/openocd/0.10.0/ +sha1 3245d43d60a1a93f8b0f6b1ce20b53e38cab7a4a openocd-0.10.0.tar.bz2 +md5 b412bdef0481a3859c6585eb69f6f6ba openocd-0.10.0.tar.bz2 +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/openocd/openocd.mk b/package/openocd/openocd.mk index 0d1836573d..9d2576ceeb 100644 --- a/package/openocd/openocd.mk +++ b/package/openocd/openocd.mk @@ -4,10 +4,13 @@ # ################################################################################ -OPENOCD_VERSION = 0.9.0 +OPENOCD_VERSION = 0.10.0 OPENOCD_SOURCE = openocd-$(OPENOCD_VERSION).tar.bz2 OPENOCD_SITE = http://sourceforge.net/projects/openocd/files/openocd/$(OPENOCD_VERSION) - +OPENOCD_LICENSE = GPL-2.0+ +OPENOCD_LICENSE_FILES = COPYING +# 0002-configure-enable-build-on-uclinux.patch patches configure.ac +OPENOCD_AUTORECONF = YES OPENOCD_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -std=gnu99" OPENOCD_CONF_OPTS = \ @@ -45,9 +48,8 @@ OPENOCD_CONF_OPTS += \ $(if $(BR2_PACKAGE_OPENOCD_ARMEW),--enable-armjtagew,--disable-armjtagew) \ $(if $(BR2_PACKAGE_OPENOCD_CMSIS_DAP),--enable-cmsis-dap,--disable-cmsis-dap) \ $(if $(BR2_PACKAGE_OPENOCD_PARPORT),--enable-parport,--disable-parport) \ - $(if $(BR2_PACKAGE_OPENOCD_FT2XXX),--enable-legacy-ft2232_libftdi,--disable-legacy-ft2232_libftdi) \ $(if $(BR2_PACKAGE_OPENOCD_VPI),--enable-jtag_vpi,--disable-jtag_vpi) \ - $(if $(BR2_PACKAGE_OPENOCD_UBLASTER),--enable-usb_blaster_libftdi,--disable-usb_blaster_libftdi) \ + $(if $(BR2_PACKAGE_OPENOCD_UBLASTER),--enable-usb-blaster,--disable-usb-blaster) \ $(if $(BR2_PACKAGE_OPENOCD_AMTJT),--enable-amtjtagaccel,--disable-amjtagaccel) \ $(if $(BR2_PACKAGE_OPENOCD_ZY1000_MASTER),--enable-zy1000-master,--disable-zy1000-master) \ $(if $(BR2_PACKAGE_OPENOCD_ZY1000),--enable-zy1000,--disable-zy1000) \ @@ -55,8 +57,8 @@ OPENOCD_CONF_OPTS += \ $(if $(BR2_PACKAGE_OPENOCD_AT91RM),--enable-at91rm9200,--disable-at91rm9200) \ $(if $(BR2_PACKAGE_OPENOCD_BCM2835),--enable-bcm2835gpio,--disable-bcm2835gpio) \ $(if $(BR2_PACKAGE_OPENOCD_GW16012),--enable-gw16012,--disable-gw16012) \ - $(if $(BR2_PACKAGE_OPENOCD_PRESTO),--enable-presto_libftdi,--disable-presto_libftdi) \ - $(if $(BR2_PACKAGE_OPENOCD_OPENJTAG),--enable-openjtag_ftdi,--disable-openjtag_ftdi) \ + $(if $(BR2_PACKAGE_OPENOCD_PRESTO),--enable-presto,--disable-presto) \ + $(if $(BR2_PACKAGE_OPENOCD_OPENJTAG),--enable-openjtag,--disable-openjtag) \ $(if $(BR2_PACKAGE_OPENOCD_BUSPIRATE),--enable-buspirate,--disable-buspirate) \ $(if $(BR2_PACKAGE_OPENOCD_SYSFS),--enable-sysfsgpio,--disable-sysfsgpio) @@ -82,15 +84,15 @@ HOST_OPENOCD_CONF_OPTS = \ --enable-armjtagew \ --enable-parport \ --enable-jtag_vpi \ - --enable-usb_blaster_libftdi \ + --enable-usb-blaster \ --enable-amtjtagaccel \ --enable-gw16012 \ - --enable-presto_libftdi \ - --enable-openjtag_ftdi \ + --enable-presto \ + --enable-openjtag \ --enable-buspirate \ --enable-sysfsgpio \ - --oldincludedir=$(HOST_DIR)/usr/include \ - --includedir=$(HOST_DIR)/usr/include \ + --oldincludedir=$(HOST_DIR)/include \ + --includedir=$(HOST_DIR)/include \ --disable-doxygen-html \ --with-jim-shared=no \ --disable-shared \ @@ -108,11 +110,10 @@ HOST_OPENOCD_DEPENDENCIES = host-libftdi host-libusb host-libusb-compat # build system believe the documentation doesn't need to be # regenerated. define OPENOCD_FIX_VERSION_TEXI - touch -r $(@D)/doc/openocd.info $(@D)/doc/version.texi + touch -r $(@D)/doc/openocd.info $(@D)/doc/version.texi endef OPENOCD_POST_BUILD_HOOKS += OPENOCD_FIX_VERSION_TEXI HOST_OPENOCD_POST_BUILD_HOOKS += OPENOCD_FIX_VERSION_TEXI - $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/openpgm/openpgm.mk b/package/openpgm/openpgm.mk index 42b0a5d809..8c85344b68 100644 --- a/package/openpgm/openpgm.mk +++ b/package/openpgm/openpgm.mk @@ -6,7 +6,7 @@ OPENPGM_VERSION = release-5-2-122 OPENPGM_SITE = $(call github,steve-o,openpgm,$(OPENPGM_VERSION)) -OPENPGM_LICENSE = LGPLv2.1+ +OPENPGM_LICENSE = LGPL-2.1+ OPENPGM_LICENSE_FILES = openpgm/pgm/LICENSE OPENPGM_INSTALL_STAGING = YES OPENPGM_SUBDIR = openpgm/pgm diff --git a/package/openpowerlink/0001-install-the-stack-libraries-to-lib-subdirectory.patch b/package/openpowerlink/0001-install-the-stack-libraries-to-lib-subdirectory.patch index 1f5eb89de5..0e1c21ec0d 100644 --- a/package/openpowerlink/0001-install-the-stack-libraries-to-lib-subdirectory.patch +++ b/package/openpowerlink/0001-install-the-stack-libraries-to-lib-subdirectory.patch @@ -1,4 +1,4 @@ -From 4e8aa3a9e1696e5e02ff0a3ae5a72f034ee60c2f Mon Sep 17 00:00:00 2001 +From 16230b7f51bff2bdf061fa80e9a49c807596bb92 Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Wed, 25 May 2016 15:57:10 +0200 Subject: [PATCH] install the stack libraries to "lib" subdirectory @@ -53,7 +53,7 @@ Signed-off-by: Romain Naour 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/stack/proj/linux/liboplkcn-sim/CMakeLists.txt b/stack/proj/linux/liboplkcn-sim/CMakeLists.txt -index 73b641d..b8b5c9d 100644 +index 2b3da16..ddb3e92 100644 --- a/stack/proj/linux/liboplkcn-sim/CMakeLists.txt +++ b/stack/proj/linux/liboplkcn-sim/CMakeLists.txt @@ -96,4 +96,4 @@ ADD_LIBRARY(${LIB_NAME} ${LIB_TYPE} ${LIB_SOURCES}) @@ -63,7 +63,7 @@ index 73b641d..b8b5c9d 100644 -INSTALL(TARGETS ${LIB_NAME} ARCHIVE DESTINATION . LIBRARY DESTINATION .) +INSTALL(TARGETS ${LIB_NAME} ARCHIVE DESTINATION lib LIBRARY DESTINATION lib) diff --git a/stack/proj/linux/liboplkcn/CMakeLists.txt b/stack/proj/linux/liboplkcn/CMakeLists.txt -index 323eafc..459124a 100644 +index 3be6c52..cf1b1dd 100644 --- a/stack/proj/linux/liboplkcn/CMakeLists.txt +++ b/stack/proj/linux/liboplkcn/CMakeLists.txt @@ -90,4 +90,4 @@ ADD_LIBRARY(${LIB_NAME} ${LIB_TYPE} ${LIB_SOURCES}) @@ -73,7 +73,7 @@ index 323eafc..459124a 100644 -INSTALL(TARGETS ${LIB_NAME} ARCHIVE DESTINATION . LIBRARY DESTINATION .) +INSTALL(TARGETS ${LIB_NAME} ARCHIVE DESTINATION lib LIBRARY DESTINATION lib) diff --git a/stack/proj/linux/liboplkcnapp-kernelintf/CMakeLists.txt b/stack/proj/linux/liboplkcnapp-kernelintf/CMakeLists.txt -index f8b1850..c16194a 100644 +index 904de6c..d8713a8 100644 --- a/stack/proj/linux/liboplkcnapp-kernelintf/CMakeLists.txt +++ b/stack/proj/linux/liboplkcnapp-kernelintf/CMakeLists.txt @@ -83,4 +83,4 @@ ADD_LIBRARY(${LIB_NAME} ${LIB_TYPE} ${LIB_SOURCES}) @@ -83,7 +83,7 @@ index f8b1850..c16194a 100644 -INSTALL(TARGETS ${LIB_NAME} ARCHIVE DESTINATION . LIBRARY DESTINATION .) +INSTALL(TARGETS ${LIB_NAME} ARCHIVE DESTINATION lib LIBRARY DESTINATION lib) diff --git a/stack/proj/linux/liboplkcnapp-userintf/CMakeLists.txt b/stack/proj/linux/liboplkcnapp-userintf/CMakeLists.txt -index 0f07e63..0074616 100644 +index e2514cf..a4e2b75 100644 --- a/stack/proj/linux/liboplkcnapp-userintf/CMakeLists.txt +++ b/stack/proj/linux/liboplkcnapp-userintf/CMakeLists.txt @@ -83,4 +83,4 @@ ADD_LIBRARY(${LIB_NAME} ${LIB_TYPE} ${LIB_SOURCES}) @@ -93,7 +93,7 @@ index 0f07e63..0074616 100644 -INSTALL(TARGETS ${LIB_NAME} ARCHIVE DESTINATION . LIBRARY DESTINATION .) +INSTALL(TARGETS ${LIB_NAME} ARCHIVE DESTINATION lib LIBRARY DESTINATION lib) diff --git a/stack/proj/linux/liboplkcndrv-pcap/CMakeLists.txt b/stack/proj/linux/liboplkcndrv-pcap/CMakeLists.txt -index d0dad78..ee0fdec 100644 +index 98f068c..bb20006 100644 --- a/stack/proj/linux/liboplkcndrv-pcap/CMakeLists.txt +++ b/stack/proj/linux/liboplkcndrv-pcap/CMakeLists.txt @@ -76,4 +76,4 @@ ADD_LIBRARY(${LIB_NAME} ${LIB_TYPE} ${LIB_SOURCES}) @@ -153,7 +153,7 @@ index cd97882..aaaa526 100644 -INSTALL(TARGETS ${LIB_NAME} ARCHIVE DESTINATION . LIBRARY DESTINATION .) +INSTALL(TARGETS ${LIB_NAME} ARCHIVE DESTINATION lib LIBRARY DESTINATION lib) diff --git a/stack/proj/linux/liboplkmndrv-pcap/CMakeLists.txt b/stack/proj/linux/liboplkmndrv-pcap/CMakeLists.txt -index 7e1a820..82205c2 100644 +index 0c29087..1783134 100644 --- a/stack/proj/linux/liboplkmndrv-pcap/CMakeLists.txt +++ b/stack/proj/linux/liboplkmndrv-pcap/CMakeLists.txt @@ -79,4 +79,4 @@ ADD_LIBRARY(${LIB_NAME} ${LIB_TYPE} ${LIB_SOURCES}) @@ -163,5 +163,5 @@ index 7e1a820..82205c2 100644 -INSTALL(TARGETS ${LIB_NAME} ARCHIVE DESTINATION . LIBRARY DESTINATION .) +INSTALL(TARGETS ${LIB_NAME} ARCHIVE DESTINATION lib LIBRARY DESTINATION lib) -- -2.8.1 +2.9.4 diff --git a/package/openpowerlink/0002-cmake-install-oplk-headers-files.patch b/package/openpowerlink/0002-cmake-install-oplk-headers-files.patch index 7d338a4593..8e815c0496 100644 --- a/package/openpowerlink/0002-cmake-install-oplk-headers-files.patch +++ b/package/openpowerlink/0002-cmake-install-oplk-headers-files.patch @@ -1,4 +1,4 @@ -From 8cb39257e12d6b82190aec8ab9ad89a9ee13af71 Mon Sep 17 00:00:00 2001 +From f7679a4083de3a9dba80cd719ad4904fbade349b Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Wed, 25 May 2016 15:57:29 +0200 Subject: [PATCH] cmake: install oplk headers files @@ -15,10 +15,10 @@ Signed-off-by: Romain Naour 1 file changed, 5 insertions(+) diff --git a/stack/CMakeLists.txt b/stack/CMakeLists.txt -index 3b11c54..4eadf44 100644 +index 69454f2..45f131d 100644 --- a/stack/CMakeLists.txt +++ b/stack/CMakeLists.txt -@@ -105,3 +105,8 @@ ELSEIF((CMAKE_SYSTEM_NAME STREQUAL "Generic") AND (CMAKE_SYSTEM_PROCESSOR STREQU +@@ -110,3 +110,8 @@ ELSEIF((CMAKE_SYSTEM_NAME STREQUAL "Generic") AND (CMAKE_SYSTEM_PROCESSOR STREQU ELSE() MESSAGE(FATAL_ERROR "Unknown Platform and processor combination ${CMAKE_SYSTEM_NAME} and ${CMAKE_SYSTEM_PROCESSOR}!!") ENDIF() @@ -28,5 +28,5 @@ index 3b11c54..4eadf44 100644 +################################################################################ +INSTALL(DIRECTORY ${STACK_INCLUDE_DIR}/oplk DESTINATION "include") -- -2.8.1 +2.9.4 diff --git a/package/openpowerlink/0003-Add-top-level-CMakeLists.txt.patch b/package/openpowerlink/0003-Add-top-level-CMakeLists.txt.patch index 9cbf02d28b..cd8f9274d6 100644 --- a/package/openpowerlink/0003-Add-top-level-CMakeLists.txt.patch +++ b/package/openpowerlink/0003-Add-top-level-CMakeLists.txt.patch @@ -1,4 +1,4 @@ -From 7f81c74726aec4aef6bd93ee644200ab34375437 Mon Sep 17 00:00:00 2001 +From cd0945a323cecb638ce56f2e3d7fb4e8c004b98b Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Wed, 25 May 2016 15:59:20 +0200 Subject: [PATCH] Add top level CMakeLists.txt @@ -174,10 +174,10 @@ index 49aab66..d9fd418 100644 TARGET_LINK_LIBRARIES(${EXECUTABLE_NAME} optimized ${OPLKLIB}) ENDIF() diff --git a/drivers/linux/drv_daemon_pcap/CMakeLists.txt b/drivers/linux/drv_daemon_pcap/CMakeLists.txt -index 1ef9353..e720834 100644 +index 2b4a2c1..ecceb4c 100644 --- a/drivers/linux/drv_daemon_pcap/CMakeLists.txt +++ b/drivers/linux/drv_daemon_pcap/CMakeLists.txt -@@ -104,9 +104,15 @@ ENDIF() +@@ -109,9 +109,15 @@ ENDIF() SET(OPLKLIB_DIR ${OPLK_BASE_DIR}/stack/lib/${SYSTEM_NAME_DIR}/${SYSTEM_PROCESSOR_DIR}) SET(OPLKLIB_INCDIR ${OPLK_BASE_DIR}/stack/proj/${SYSTEM_NAME_DIR}/lib${LIB_NAME}) @@ -197,5 +197,5 @@ index 1ef9353..e720834 100644 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -pedantic -std=c99 -pthread -fno-strict-aliasing") -- -2.8.1 +2.9.4 diff --git a/package/openpowerlink/0004-FIX-Veth-Fix-compilation-on-Linux-kernels-4.7.patch b/package/openpowerlink/0004-FIX-Veth-Fix-compilation-on-Linux-kernels-4.7.patch deleted file mode 100644 index d246f46681..0000000000 --- a/package/openpowerlink/0004-FIX-Veth-Fix-compilation-on-Linux-kernels-4.7.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 041799c4990d56b9822ee3ae3ffbb181e5c16c81 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Thu, 3 Nov 2016 21:09:57 +0100 -Subject: [PATCH] [FIX] Veth: Fix compilation on Linux kernels >= 4.7 - -dev->trans_start was replaced by netif_trans_update helper in kernel -4.7 by commit 860e9538a9482bb84589f7d0718a7e6d0a944d58. - -Upstream status: Pending -https://github.com/OpenAutomationTechnologies/openPOWERLINK_V2/pull/177 - -Signed-off-by: Romain Naour ---- - stack/src/kernel/veth/veth-linuxkernel.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/stack/src/kernel/veth/veth-linuxkernel.c b/stack/src/kernel/veth/veth-linuxkernel.c -index 8c68c47..ecdc000 100644 ---- a/stack/src/kernel/veth/veth-linuxkernel.c -+++ b/stack/src/kernel/veth/veth-linuxkernel.c -@@ -287,7 +287,11 @@ static int vethStartXmit(struct sk_buff* pSkb_p, struct net_device* pNetDevice_p - struct net_device_stats* pStats = netdev_priv(pNetDevice_p); - - //save time stamp -+#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0)) - pNetDevice_p->trans_start = jiffies; -+#else -+ netif_trans_update(pNetDevice_p); -+#endif - - frameInfo.frame.pBuffer = (tPlkFrame*)pSkb_p->data; - frameInfo.frameSize = pSkb_p->len; --- -2.5.5 - diff --git a/package/openpowerlink/0004-use-contrib-getopt-only-on-Windows.patch b/package/openpowerlink/0004-use-contrib-getopt-only-on-Windows.patch new file mode 100644 index 0000000000..9680c279c2 --- /dev/null +++ b/package/openpowerlink/0004-use-contrib-getopt-only-on-Windows.patch @@ -0,0 +1,102 @@ +From e7e421526b17c179d5ac33a982b180ff5f7ef7a7 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Sat, 27 May 2017 23:51:41 +0200 +Subject: [PATCH] use contrib getopt() only on Windows + +Otherwise, contrib getopt will clash with the one from the libc when +building statically. + +lib64/libc.a(getopt.os):(.data+0x8): multiple definition of `optind' +CMakeFiles/demo_mn_console.dir/__/__/contrib/getopt/getopt.c.o:(.data+0x8): first defined here +lib64/libc.a(getopt.os):(.data+0x4): multiple definition of `opterr' +CMakeFiles/demo_mn_console.dir/__/__/contrib/getopt/getopt.c.o:(.data+0xc): first defined here +/lib64/libc.a(getopt.os): In function `__GI_getopt': +getopt.c:(.text+0x76e): multiple definition of `getopt' + +Signed-off-by: Romain Naour +--- + apps/demo_cn_console/CMakeLists.txt | 2 +- + apps/demo_cn_console/src/main.c | 6 ++++++ + apps/demo_mn_console/CMakeLists.txt | 2 +- + apps/demo_mn_console/src/main.c | 6 ++++++ + 4 files changed, 14 insertions(+), 2 deletions(-) + +diff --git a/apps/demo_cn_console/CMakeLists.txt b/apps/demo_cn_console/CMakeLists.txt +index 3bb8f25..800797a 100644 +--- a/apps/demo_cn_console/CMakeLists.txt ++++ b/apps/demo_cn_console/CMakeLists.txt +@@ -61,7 +61,6 @@ SET(DEMO_SOURCES + ${COMMON_SOURCE_DIR}/eventlog/eventlog.c + ${COMMON_SOURCE_DIR}/eventlog/eventlogstring.c + ${CONTRIB_SOURCE_DIR}/console/printlog.c +- ${CONTRIB_SOURCE_DIR}/getopt/getopt.c + ) + + INCLUDE_DIRECTORIES( +@@ -114,6 +113,7 @@ ENDIF (CFG_KERNEL_STACK_DIRECTLINK) + IF(CMAKE_SYSTEM_NAME STREQUAL "Linux") + include(linux.cmake) + ELSEIF(CMAKE_SYSTEM_NAME STREQUAL "Windows") ++ SET(DEMO_SOURCES ${DEMO_SOURCES} ${CONTRIB_SOURCE_DIR}/getopt/getopt.c) + include (windows.cmake) + ELSE() + MESSAGE(FATAL_ERROR "System ${CMAKE_SYSTEM_NAME} is not supported!") +diff --git a/apps/demo_cn_console/src/main.c b/apps/demo_cn_console/src/main.c +index d64536c..f790570 100644 +--- a/apps/demo_cn_console/src/main.c ++++ b/apps/demo_cn_console/src/main.c +@@ -50,7 +50,13 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + #include + #include ++ ++#if (TARGET_SYSTEM == _WIN32_) + #include ++#else ++#include ++#endif ++ + #include + #include + +diff --git a/apps/demo_mn_console/CMakeLists.txt b/apps/demo_mn_console/CMakeLists.txt +index 6f9c5a1..2e74529 100644 +--- a/apps/demo_mn_console/CMakeLists.txt ++++ b/apps/demo_mn_console/CMakeLists.txt +@@ -68,7 +68,6 @@ SET(DEMO_SOURCES + ${COMMON_SOURCE_DIR}/eventlog/eventlog.c + ${COMMON_SOURCE_DIR}/eventlog/eventlogstring.c + ${CONTRIB_SOURCE_DIR}/console/printlog.c +- ${CONTRIB_SOURCE_DIR}/getopt/getopt.c + ${FIRMWARE_MANAGER_SOURCES} + ) + +@@ -131,6 +130,7 @@ ENDIF() + IF(CMAKE_SYSTEM_NAME STREQUAL "Linux") + include(linux.cmake) + ELSEIF(CMAKE_SYSTEM_NAME STREQUAL "Windows") ++ SET(DEMO_SOURCES ${DEMO_SOURCES} ${CONTRIB_SOURCE_DIR}/getopt/getopt.c) + include (windows.cmake) + ELSE() + MESSAGE(FATAL_ERROR "System ${CMAKE_SYSTEM_NAME} is not supported!") +diff --git a/apps/demo_mn_console/src/main.c b/apps/demo_mn_console/src/main.c +index cba747d..b766ed1 100644 +--- a/apps/demo_mn_console/src/main.c ++++ b/apps/demo_mn_console/src/main.c +@@ -50,7 +50,13 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + #include + #include ++ ++#if (TARGET_SYSTEM == _WIN32_) + #include ++#else ++#include ++#endif ++ + #include + #include + #include +-- +2.9.4 + diff --git a/package/openpowerlink/0005-use-pcap-config-to-fix-static-linking-with-libpcap.patch b/package/openpowerlink/0005-use-pcap-config-to-fix-static-linking-with-libpcap.patch new file mode 100644 index 0000000000..e2c0311544 --- /dev/null +++ b/package/openpowerlink/0005-use-pcap-config-to-fix-static-linking-with-libpcap.patch @@ -0,0 +1,166 @@ +From 88c0af910edd156075acf04d8497f541ed377d4b Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Sun, 28 May 2017 00:25:11 +0200 +Subject: [PATCH] use pcap-config to fix static linking with libpcap + +When linking demo_mn_console statically with pcap, the CMake build +system forget to link with other libraries linked with libpcap +(-lnl-genl-3 -lnl-3 -ldbus-1 -pthread). + +[100%] Linking C executable demo_mn_console +lib64/libpcap.a(pcap-linux.o): In function nl80211_init': pcap-linux.c:(.text+0x41e): undefined reference tonl_socket_alloc' + +To fix this, the build system could use pcap-config: +pcap-config --libs --static +-L/path/to/sysroot/usr/lib -lpcap -L/path/to/sysroot/usr/lib/.libs +-lnl-genl-3 -lnl-3 -L/path/to/sysroot/usr/lib -ldbus-1 -pthread + +Fixes: +http://autobuild.buildroot.net/results/f43/f437d09ac6c689c911e1885b95da33b692f2cb3c +http://autobuild.buildroot.net/results/385/3859dc0f4de7e3284a96d5841f040f69f71842df +https://github.com/OpenAutomationTechnologies/openPOWERLINK_V2/issues/187 + +Signed-off-by: Romain Naour +--- + apps/demo_cn_console/linux.cmake | 20 ++++++++++++++++++++ + apps/demo_mn_console/linux.cmake | 20 ++++++++++++++++++++ + apps/demo_mn_qt/linux.cmake | 22 +++++++++++++++++++++- + drivers/linux/drv_daemon_pcap/CMakeLists.txt | 22 +++++++++++++++++++++- + 4 files changed, 82 insertions(+), 2 deletions(-) + +diff --git a/apps/demo_cn_console/linux.cmake b/apps/demo_cn_console/linux.cmake +index 1c6f51c..7752917 100644 +--- a/apps/demo_cn_console/linux.cmake ++++ b/apps/demo_cn_console/linux.cmake +@@ -46,8 +46,28 @@ SET (DEMO_ARCH_SOURCES + ################################################################################ + # Set architecture specific libraries + ++IF (NOT CFG_COMPILE_SHARED_LIBRARY) ++ SET(PCAP_CONFIG_OPTS --static) ++ENDIF() ++ + IF (CFG_KERNEL_STACK_DIRECTLINK OR CFG_KERNEL_STACK_USERSPACE_DAEMON) ++ ++find_program(PCAP_CONFIG NAMES pcap-config PATHS) ++ ++if (PCAP_CONFIG) ++ message (STATUS "Looking for pcap-config... ${PCAP_CONFIG}") ++ ++ execute_process (COMMAND ${PCAP_CONFIG} --libs ${PCAP_CONFIG_OPTS} ++ OUTPUT_VARIABLE PCAP_LDFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE) ++ execute_process (COMMAND ${PCAP_CONFIG} --cflags ${PCAP_CONFIG_OPTS} ++ OUTPUT_VARIABLE PCAP_CFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE) ++ ++ SET (ARCH_LIBRARIES ${ARCH_LIBRARIES} ${PCAP_LDFLAGS}) ++else (PCAP_CONFIG) ++ message (STATUS "pcap-config not found, using defaults...") + SET (ARCH_LIBRARIES ${ARCH_LIBRARIES} pcap) ++endif (PCAP_CONFIG) ++ + ENDIF (CFG_KERNEL_STACK_DIRECTLINK OR CFG_KERNEL_STACK_USERSPACE_DAEMON) + SET (ARCH_LIBRARIES ${ARCH_LIBRARIES} pthread rt) + +diff --git a/apps/demo_mn_console/linux.cmake b/apps/demo_mn_console/linux.cmake +index d24e4fc..5951dbf 100644 +--- a/apps/demo_mn_console/linux.cmake ++++ b/apps/demo_mn_console/linux.cmake +@@ -46,8 +46,28 @@ SET (DEMO_ARCH_SOURCES + ################################################################################ + # Set architecture specific libraries + ++IF (NOT CFG_COMPILE_SHARED_LIBRARY) ++ SET(PCAP_CONFIG_OPTS --static) ++ENDIF() ++ + IF (CFG_KERNEL_STACK_DIRECTLINK OR CFG_KERNEL_STACK_USERSPACE_DAEMON) ++ ++find_program(PCAP_CONFIG NAMES pcap-config PATHS) ++ ++if (PCAP_CONFIG) ++ message (STATUS "Looking for pcap-config... ${PCAP_CONFIG}") ++ ++ execute_process (COMMAND ${PCAP_CONFIG} --libs ${PCAP_CONFIG_OPTS} ++ OUTPUT_VARIABLE PCAP_LDFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE) ++ execute_process (COMMAND ${PCAP_CONFIG} --cflags ${PCAP_CONFIG_OPTS} ++ OUTPUT_VARIABLE PCAP_CFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE) ++ ++ SET (ARCH_LIBRARIES ${ARCH_LIBRARIES} ${PCAP_LDFLAGS}) ++else (PCAP_CONFIG) ++ message (STATUS "pcap-config not found, using defaults...") + SET (ARCH_LIBRARIES ${ARCH_LIBRARIES} pcap) ++endif (PCAP_CONFIG) ++ + ENDIF (CFG_KERNEL_STACK_DIRECTLINK OR CFG_KERNEL_STACK_USERSPACE_DAEMON) + SET (ARCH_LIBRARIES ${ARCH_LIBRARIES} pthread rt) + +diff --git a/apps/demo_mn_qt/linux.cmake b/apps/demo_mn_qt/linux.cmake +index 6ed75ee..c69dbd9 100644 +--- a/apps/demo_mn_qt/linux.cmake ++++ b/apps/demo_mn_qt/linux.cmake +@@ -37,8 +37,28 @@ + ################################################################################ + # Set architecture specific libraries + ++IF (NOT CFG_COMPILE_SHARED_LIBRARY) ++ SET(PCAP_CONFIG_OPTS --static) ++ENDIF() ++ + IF(CFG_KERNEL_STACK_DIRECTLINK OR CFG_KERNEL_STACK_USERSPACE_DAEMON) +- SET(ARCH_LIBRARIES ${ARCH_LIBRARIES} pcap) ++ ++find_program(PCAP_CONFIG NAMES pcap-config PATHS) ++ ++if (PCAP_CONFIG) ++ message (STATUS "Looking for pcap-config... ${PCAP_CONFIG}") ++ ++ execute_process (COMMAND ${PCAP_CONFIG} --libs ${PCAP_CONFIG_OPTS} ++ OUTPUT_VARIABLE PCAP_LDFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE) ++ execute_process (COMMAND ${PCAP_CONFIG} --cflags ${PCAP_CONFIG_OPTS} ++ OUTPUT_VARIABLE PCAP_CFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE) ++ ++ SET (ARCH_LIBRARIES ${ARCH_LIBRARIES} ${PCAP_LDFLAGS}) ++else (PCAP_CONFIG) ++ message (STATUS "pcap-config not found, using defaults...") ++ SET (ARCH_LIBRARIES ${ARCH_LIBRARIES} pcap) ++endif (PCAP_CONFIG) ++ + ENDIF() + SET(ARCH_LIBRARIES ${ARCH_LIBRARIES} pthread rt) + +diff --git a/drivers/linux/drv_daemon_pcap/CMakeLists.txt b/drivers/linux/drv_daemon_pcap/CMakeLists.txt +index ecceb4c..b362a34 100644 +--- a/drivers/linux/drv_daemon_pcap/CMakeLists.txt ++++ b/drivers/linux/drv_daemon_pcap/CMakeLists.txt +@@ -140,7 +140,27 @@ INCLUDE_DIRECTORIES( + ${CONTRIB_SOURCE_DIR} + ) + +-SET (ARCH_LIBRARIES pcap pthread rt) ++IF (NOT CFG_COMPILE_SHARED_LIBRARY) ++ SET(PCAP_CONFIG_OPTS --static) ++ENDIF() ++ ++find_program(PCAP_CONFIG NAMES pcap-config PATHS) ++ ++if (PCAP_CONFIG) ++ message (STATUS "Looking for pcap-config... ${PCAP_CONFIG}") ++ ++ execute_process (COMMAND ${PCAP_CONFIG} --libs ${PCAP_CONFIG_OPTS} ++ OUTPUT_VARIABLE PCAP_LDFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE) ++ execute_process (COMMAND ${PCAP_CONFIG} --cflags ${PCAP_CONFIG_OPTS} ++ OUTPUT_VARIABLE PCAP_CFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE) ++ ++ SET (ARCH_LIBRARIES ${ARCH_LIBRARIES} ${PCAP_LDFLAGS}) ++else (PCAP_CONFIG) ++ message (STATUS "pcap-config not found, using defaults...") ++ SET (ARCH_LIBRARIES ${ARCH_LIBRARIES} pcap) ++endif (PCAP_CONFIG) ++ ++SET (ARCH_LIBRARIES ${ARCH_LIBRARIES} pthread rt) + + ADD_EXECUTABLE(${EXE_NAME} ${DRV_SOURCES}) + SET_PROPERTY(TARGET ${EXE_NAME} PROPERTY COMPILE_DEFINITIONS_DEBUG DEBUG;DEF_DEBUG_LVL=${CFG_DEBUG_LVL}) +-- +2.9.4 + diff --git a/package/openpowerlink/Config.in b/package/openpowerlink/Config.in index d5e976430f..68ea751954 100644 --- a/package/openpowerlink/Config.in +++ b/package/openpowerlink/Config.in @@ -110,8 +110,8 @@ endmenu endif # BR2_PACKAGE_OPENPOWERLINK_STACK_KERNEL_STACK_LIB config BR2_PACKAGE_OPENPOWERLINK_KERNEL_PCIE_DRIVER - depends on BR2_PACKAGE_OPENPOWERLINK_STACK_KERNEL_PCIE_STACK_LIB bool "PCIe Powerlink Driver" + depends on BR2_PACKAGE_OPENPOWERLINK_STACK_KERNEL_PCIE_STACK_LIB menu "demos" diff --git a/package/openpowerlink/openpowerlink.hash b/package/openpowerlink/openpowerlink.hash index f9c94f90d5..5c95431c73 100644 --- a/package/openpowerlink/openpowerlink.hash +++ b/package/openpowerlink/openpowerlink.hash @@ -1,5 +1,5 @@ -# From http://sourceforge.net/projects/openpowerlink/files/openPOWERLINK/V2.5.0/ -md5 929b778a6a4d448d502da5a428322949 openPOWERLINK_V2.5.0.tar.gz -sha1 28e2e5621550421e74ba94738f6c12eb8c279fce openPOWERLINK_V2.5.0.tar.gz +# From http://sourceforge.net/projects/openpowerlink/files/openPOWERLINK/V2.6.1/ +md5 9f53ccc72356cf421ecd089f91421393 openPOWERLINK_V2.6.1.tar.gz +sha1 dfb97845937e8d1de3e554c17b951a115352faa6 openPOWERLINK_V2.6.1.tar.gz # sha256 locally computed -sha256 1cb8c44626dbb7f224520667e437b4b430a32699560914f379679b6c58c1309c openPOWERLINK_V2.5.0.tar.gz +sha256 89a8b321938f965aa03610f40c38d2f17242aab1b0b5f24b93c4542f2f3fbd5c openPOWERLINK_V2.6.1.tar.gz diff --git a/package/openpowerlink/openpowerlink.mk b/package/openpowerlink/openpowerlink.mk index dcb548cc91..c9ca4ccf05 100644 --- a/package/openpowerlink/openpowerlink.mk +++ b/package/openpowerlink/openpowerlink.mk @@ -4,10 +4,10 @@ # ################################################################################ -OPENPOWERLINK_VERSION = V2.5.0 +OPENPOWERLINK_VERSION = V2.6.1 OPENPOWERLINK_SITE = http://downloads.sourceforge.net/project/openpowerlink/openPOWERLINK/$(OPENPOWERLINK_VERSION) OPENPOWERLINK_SOURCE = openPOWERLINK_$(OPENPOWERLINK_VERSION).tar.gz -OPENPOWERLINK_LICENSE = BSD-2c, GPLv2 +OPENPOWERLINK_LICENSE = BSD-2-Clause, GPL-2.0 OPENPOWERLINK_LICENSE_FILES = license.md OPENPOWERLINK_INSTALL_STAGING = YES @@ -40,7 +40,8 @@ OPENPOWERLINK_CONF_OPTS += \ -DCFG_COMPILE_LIB_CN=$(OPENPOWERLINK_CN_ONOFF) \ -DCFG_COMPILE_LIB_CNAPP_USERINTF=OFF \ -DCFG_COMPILE_LIB_CNAPP_KERNELINTF=OFF \ - -DCFG_COMPILE_LIB_CNDRV_PCAP=OFF + -DCFG_COMPILE_LIB_CNDRV_PCAP=OFF \ + -DPCAP_CONFIG="$(STAGING_DIR)/usr/bin/pcap-config" else ifeq ($(BR2_PACKAGE_OPENPOWERLINK_STACK_USERSPACE_DAEMON_LIB),y) OPENPOWERLINK_DEPENDENCIES += libpcap OPENPOWERLINK_CONF_OPTS += \ @@ -52,7 +53,8 @@ OPENPOWERLINK_CONF_OPTS += \ -DCFG_COMPILE_LIB_CN=OFF \ -DCFG_COMPILE_LIB_CNAPP_USERINTF=$(OPENPOWERLINK_CN_ONOFF) \ -DCFG_COMPILE_LIB_CNAPP_KERNELINTF=OFF \ - -DCFG_COMPILE_LIB_CNDRV_PCAP=$(OPENPOWERLINK_CN_ONOFF) + -DCFG_COMPILE_LIB_CNDRV_PCAP=$(OPENPOWERLINK_CN_ONOFF) \ + -DPCAP_CONFIG="$(STAGING_DIR)/usr/bin/pcap-config" else ifeq ($(BR2_PACKAGE_OPENPOWERLINK_STACK_KERNEL_STACK_LIB),y) OPENPOWERLINK_CONF_OPTS += \ -DCFG_COMPILE_LIB_MN=OFF \ diff --git a/package/openssh/0001-configure-ac-detect-mips-abi.patch b/package/openssh/0001-configure-ac-detect-mips-abi.patch new file mode 100644 index 0000000000..0d43e6baf0 --- /dev/null +++ b/package/openssh/0001-configure-ac-detect-mips-abi.patch @@ -0,0 +1,44 @@ +From f4fcd8c788a4854d4ebae400cf55e3957f906835 Mon Sep 17 00:00:00 2001 +From: Vicente Olivert Riera +Date: Tue, 20 Jun 2017 16:42:11 +0100 +Subject: [PATCH] configure.ac: detect MIPS ABI + +Signed-off-by: Vicente Olivert Riera +[Upstream commit: ttps://github.com/openssh/openssh-portable/commit/f4fcd8c788a4854d4ebae400cf55e3957f906835] +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 21 +++++++++++++++++++++ + 1 file changed, 21 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 18079acba..f990cfe08 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -746,6 +746,27 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) + fi + AC_CHECK_HEADERS([linux/seccomp.h linux/filter.h linux/audit.h], [], + [], [#include ]) ++ # Obtain MIPS ABI ++ case "$host" in ++ mips*) ++ AC_COMPILE_IFELSE([ ++#if _MIPS_SIM != _ABIO32 ++#error ++#endif ++ ],[mips_abi="o32"],[AC_COMPILE_IFELSE([ ++#if _MIPS_SIM != _ABIN32 ++#error ++#endif ++ ],[mips_abi="n32"],[AC_COMPILE_IFELSE([ ++#if _MIPS_SIM != _ABI64 ++#error ++#endif ++ ],[mips_abi="n64"],[AC_MSG_ERROR([unknown MIPS ABI]) ++ ]) ++ ]) ++ ]) ++ ;; ++ esac + AC_MSG_CHECKING([for seccomp architecture]) + seccomp_audit_arch= + case "$host" in diff --git a/package/openssh/0002-configure-ac-properly-set-seccomp-audit-arch-for-mips64.patch b/package/openssh/0002-configure-ac-properly-set-seccomp-audit-arch-for-mips64.patch new file mode 100644 index 0000000000..879af5e3d5 --- /dev/null +++ b/package/openssh/0002-configure-ac-properly-set-seccomp-audit-arch-for-mips64.patch @@ -0,0 +1,63 @@ +From afc3e31b637db9dae106d4fad78f7b481c8c24e3 Mon Sep 17 00:00:00 2001 +From: Vicente Olivert Riera +Date: Tue, 20 Jun 2017 16:42:28 +0100 +Subject: [PATCH] configure.ac: properly set seccomp_audit_arch for MIPS64 + +Currently seccomp_audit_arch is set to AUDIT_ARCH_MIPS64 or +AUDIT_ARCH_MIPSEL64 (depending on the endinness) when openssh is built +for MIPS64. However, that's only valid for n64 ABI. The right macros for +n32 ABI defined in seccomp.h are AUDIT_ARCH_MIPS64N32 and +AUDIT_ARCH_MIPSEL64N32, for big and little endian respectively. + +Because of that an sshd built for MIPS64 n32 rejects connection attempts +and the output of strace reveals that the problem is related to seccomp +audit: + +[pid 194] prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, {len=57, +filter=0x555d5da0}) = 0 +[pid 194] write(7, "\0\0\0]\0\0\0\5\0\0\0Ulist_hostkey_types: "..., 97) = ? +[pid 193] <... poll resumed> ) = 2 ([{fd=5, revents=POLLIN|POLLHUP}, +{fd=6, revents=POLLHUP}]) +[pid 194] +++ killed by SIGSYS +++ + +This patch fixes that problem by setting the right value to +seccomp_audit_arch taking into account the MIPS64 ABI. + +Signed-off-by: Vicente Olivert Riera +[Upstream commit: https://github.com/openssh/openssh-portable/commit/afc3e31b637db9dae106d4fad78f7b481c8c24e3] +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 18 ++++++++++++++++-- + 1 file changed, 16 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index f990cfe08..5d640f679 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -801,10 +801,24 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) + seccomp_audit_arch=AUDIT_ARCH_MIPSEL + ;; + mips64-*) +- seccomp_audit_arch=AUDIT_ARCH_MIPS64 ++ case "$mips_abi" in ++ "n32") ++ seccomp_audit_arch=AUDIT_ARCH_MIPS64N32 ++ ;; ++ "n64") ++ seccomp_audit_arch=AUDIT_ARCH_MIPS64 ++ ;; ++ esac + ;; + mips64el-*) +- seccomp_audit_arch=AUDIT_ARCH_MIPSEL64 ++ case "$mips_abi" in ++ "n32") ++ seccomp_audit_arch=AUDIT_ARCH_MIPSEL64N32 ++ ;; ++ "n64") ++ seccomp_audit_arch=AUDIT_ARCH_MIPSEL64 ++ ;; ++ esac + ;; + esac + if test "x$seccomp_audit_arch" != "x" ; then diff --git a/package/openssh/0001-fix-pam-uclibc-pthreads-clash.patch b/package/openssh/0003-fix-pam-uclibc-pthreads-clash.patch similarity index 100% rename from package/openssh/0001-fix-pam-uclibc-pthreads-clash.patch rename to package/openssh/0003-fix-pam-uclibc-pthreads-clash.patch diff --git a/package/openssh/0002-fix-howmany-include.patch b/package/openssh/0004-fix-howmany-include.patch similarity index 100% rename from package/openssh/0002-fix-howmany-include.patch rename to package/openssh/0004-fix-howmany-include.patch diff --git a/package/openssh/0005-openbsd-compat-bsd-getpagesize.c-include-includes.h-.patch b/package/openssh/0005-openbsd-compat-bsd-getpagesize.c-include-includes.h-.patch new file mode 100644 index 0000000000..ce60072934 --- /dev/null +++ b/package/openssh/0005-openbsd-compat-bsd-getpagesize.c-include-includes.h-.patch @@ -0,0 +1,35 @@ +From 9a43657a3dcb868b4f36ade3aba5dcf0871fb412 Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Mon, 30 Oct 2017 23:36:56 +0100 +Subject: [PATCH] openbsd-compat/bsd-getpagesize.c: include includes.h for + config.h defines + +The configure script checks for getpagesize() and sets HAVE_GETPAGESIZE in +config.h, but bsd-getpagesize.c forgot to include includes.h (which +indirectly includes config.h) so the checks always fails, causing linker +issues when linking statically on systems with getpagesize(): + +http://autobuild.buildroot.net/results/8cc/8cc30818a400c7a392a3de787cabc9cd8425495f/build-end.log + +Fix it by including includes.h + +Signed-off-by: Peter Korsgaard +--- + openbsd-compat/bsd-getpagesize.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/openbsd-compat/bsd-getpagesize.c b/openbsd-compat/bsd-getpagesize.c +index 9daddfbd..416a8d4c 100644 +--- a/openbsd-compat/bsd-getpagesize.c ++++ b/openbsd-compat/bsd-getpagesize.c +@@ -1,5 +1,7 @@ + /* Placed in the public domain */ + ++#include "includes.h" ++ + #ifndef HAVE_GETPAGESIZE + + #include +-- +2.11.0 + diff --git a/package/openssh/openssh.hash b/package/openssh/openssh.hash index 09010d3b29..d8a4da32ad 100644 --- a/package/openssh/openssh.hash +++ b/package/openssh/openssh.hash @@ -1,3 +1,4 @@ -# Locally calculated after checking pgp signature -# Also from http://www.openssh.com/txt/release-7.4 -sha256 1b1fc4a14e2024293181924ed24872e6f2e06293f3e8926a376b8aec481f19d1 openssh-7.4p1.tar.gz +# From http://www.openssh.com/txt/release-7.6 (base64 encoded) +sha256 a323caeeddfe145baaa0db16e98d784b1fbc7dd436a6bf1f479dfd5cd1d21723 openssh-7.6p1.tar.gz +# Locally calculated +sha256 05a4c25ef464e19656c5259bd4f4da8428efab01044f3541b79fbb3ff209350f LICENCE diff --git a/package/openssh/openssh.mk b/package/openssh/openssh.mk index 3e18c0a9b5..b7271b4a9e 100644 --- a/package/openssh/openssh.mk +++ b/package/openssh/openssh.mk @@ -4,10 +4,14 @@ # ################################################################################ -OPENSSH_VERSION = 7.4p1 +OPENSSH_VERSION = 7.6p1 OPENSSH_SITE = http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable -OPENSSH_LICENSE = BSD-3c, BSD-2c, Public Domain +OPENSSH_LICENSE = BSD-3-Clause, BSD-2-Clause, Public Domain OPENSSH_LICENSE_FILES = LICENCE +# Autoreconf needed due to the following patches modifying configure.ac: +# 0001-configure-ac-detect-mips-abi.patch +# 0002-configure-ac-properly-set-seccomp-audit-arch-for-mips64.patch +OPENSSH_AUTORECONF = YES OPENSSH_CONF_ENV = LD="$(TARGET_CC)" LDFLAGS="$(TARGET_CFLAGS)" OPENSSH_CONF_OPTS = \ --sysconfdir=/data/etc \ @@ -28,6 +32,13 @@ endif OPENSSH_DEPENDENCIES = zlib openssl +ifeq ($(BR2_PACKAGE_CRYPTODEV_LINUX),y) +OPENSSH_DEPENDENCIES += cryptodev-linux +OPENSSH_CONF_OPTS += --with-ssl-engine +else +OPENSSH_CONF_OPTS += --without-ssl-engine +endif + ifeq ($(BR2_PACKAGE_LINUX_PAM),y) define OPENSSH_INSTALL_PAM_CONF $(INSTALL) -D -m 644 $(@D)/contrib/sshd.pam.generic $(TARGET_DIR)/etc/pam.d/sshd diff --git a/package/openssl/Config.in b/package/openssl/Config.in index e08b648ba4..d84033141f 100644 --- a/package/openssl/Config.in +++ b/package/openssl/Config.in @@ -1,28 +1,86 @@ +config BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL + bool + config BR2_PACKAGE_OPENSSL + bool "openssl support" + select BR2_PACKAGE_HAS_OPENSSL + help + Select the desired ssl library provider. + +if BR2_PACKAGE_OPENSSL + +choice + prompt "ssl library" + default BR2_PACKAGE_LIBOPENSSL + help + Select OpenSSL or LibreSSL. + +config BR2_PACKAGE_LIBOPENSSL bool "openssl" select BR2_PACKAGE_ZLIB help - A collaborative effort to develop a robust, commercial-grade, fully - featured, and Open Source toolkit implementing the Secure Sockets - Layer (SSL v2/v3) and Transport Security (TLS v1) as well as a - full-strength general-purpose cryptography library. + A collaborative effort to develop a robust, commercial-grade, + fully featured, and Open Source toolkit implementing the + Secure Sockets Layer (SSL v2/v3) and Transport Security + (TLS v1) as well as a full-strength general-purpose + cryptography library. http://www.openssl.org/ Note: Some helper scripts need perl. -if BR2_PACKAGE_OPENSSL +if BR2_PACKAGE_LIBOPENSSL -config BR2_PACKAGE_OPENSSL_BIN +config BR2_PACKAGE_LIBOPENSSL_BIN bool "openssl binary" help - Install the openssl binary and the associated helper scripts to the - target file system. This is a command line tool for doing various - cryptographic stuff. + Install the openssl binary and the associated helper scripts + to the target file system. This is a command line tool for + doing various cryptographic stuff. -config BR2_PACKAGE_OPENSSL_ENGINES +config BR2_PACKAGE_LIBOPENSSL_ENGINES bool "openssl additional engines" help Install additional encryption engine libraries. endif + +config BR2_PACKAGE_LIBRESSL + bool "libressl" + depends on !BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL + # uClibc on noMMU doesn't provide __register_atfork() + depends on !(BR2_TOOLCHAIN_USES_UCLIBC && !BR2_USE_MMU) + help + LibreSSL is a version of the TLS/crypto stack forked from + OpenSSL in 2014, with goals of modernizing the codebase, + improving security, and applying best practice development + processes. + + http://www.libressl.org/ + +if BR2_PACKAGE_LIBRESSL + +config BR2_PACKAGE_LIBRESSL_BIN + bool "openssl binary" + help + Install the openssl binary to the target file system. This is + a command line tool for doing various cryptographic stuff. + +endif + +endchoice + +config BR2_PACKAGE_HAS_OPENSSL + bool + +config BR2_PACKAGE_PROVIDES_OPENSSL + string + default "libopenssl" if BR2_PACKAGE_LIBOPENSSL + default "libressl" if BR2_PACKAGE_LIBRESSL + +endif + +# ensure libopenssl is used for the host variant +config BR2_PACKAGE_PROVIDES_HOST_OPENSSL + string + default "host-libopenssl" diff --git a/package/openssl/openssl.hash b/package/openssl/openssl.hash deleted file mode 100644 index 064eeca6f4..0000000000 --- a/package/openssl/openssl.hash +++ /dev/null @@ -1,7 +0,0 @@ -# From https://www.openssl.org/source/openssl-1.0.2k.tar.gz.sha256 -sha256 6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0 openssl-1.0.2k.tar.gz -# Locally computed -sha256 eddd8a5123748052c598214487ac178e4bfa4e31ba2ec520c70d59c8c5bfa2e9 openssl-1.0.2a-parallel-install-dirs.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d -sha256 147c3eeaad614c044749ea527cb433eae5e2d5cad34a78c6ba61cd967bfbe01f openssl-1.0.2a-parallel-obj-headers.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d -sha256 30cb49489de5041841a74da9155cd4fabfbce33237262ba7cd23974314ae2956 openssl-1.0.2a-parallel-symlinking.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d -sha256 deaf6f3af41874ecc6d63841ea14b8e6c71cea81d4a511a754bc90c9a993147f openssl-1.0.2d-parallel-build.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d diff --git a/package/openssl/openssl.mk b/package/openssl/openssl.mk index 1536982f8b..d20e184cfc 100644 --- a/package/openssl/openssl.mk +++ b/package/openssl/openssl.mk @@ -4,166 +4,5 @@ # ################################################################################ -OPENSSL_VERSION = 1.0.2k -OPENSSL_SITE = http://www.openssl.org/source -OPENSSL_LICENSE = OpenSSL or SSLeay -OPENSSL_LICENSE_FILES = LICENSE -OPENSSL_INSTALL_STAGING = YES -OPENSSL_DEPENDENCIES = zlib -HOST_OPENSSL_DEPENDENCIES = host-zlib -OPENSSL_TARGET_ARCH = generic32 -OPENSSL_CFLAGS = $(TARGET_CFLAGS) -OPENSSL_PATCH = \ - https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-libs/openssl/files/openssl-1.0.2d-parallel-build.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d \ - https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-libs/openssl/files/openssl-1.0.2a-parallel-obj-headers.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d \ - https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-libs/openssl/files/openssl-1.0.2a-parallel-install-dirs.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d \ - https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-libs/openssl/files/openssl-1.0.2a-parallel-symlinking.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d - -# relocation truncated to fit: R_68K_GOT16O -ifeq ($(BR2_m68k_cf),y) -OPENSSL_CFLAGS += -mxgot -endif - -ifeq ($(BR2_USE_MMU),) -OPENSSL_CFLAGS += -DHAVE_FORK=0 -endif - -ifeq ($(BR2_PACKAGE_HAS_CRYPTODEV),y) -OPENSSL_CFLAGS += -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS -OPENSSL_DEPENDENCIES += cryptodev -endif - -# Some architectures are optimized in OpenSSL -# Doesn't work for thumb-only (Cortex-M?) -ifeq ($(BR2_ARM_CPU_HAS_ARM),y) -OPENSSL_TARGET_ARCH = armv4 -endif -ifeq ($(ARCH),aarch64) -OPENSSL_TARGET_ARCH = aarch64 -endif -ifeq ($(ARCH),powerpc) -# 4xx cores seem to have trouble with openssl's ASM optimizations -ifeq ($(BR2_powerpc_401)$(BR2_powerpc_403)$(BR2_powerpc_405)$(BR2_powerpc_405fp)$(BR2_powerpc_440)$(BR2_powerpc_440fp),) -OPENSSL_TARGET_ARCH = ppc -endif -endif -ifeq ($(ARCH),powerpc64) -OPENSSL_TARGET_ARCH = ppc64 -endif -ifeq ($(ARCH),powerpc64le) -OPENSSL_TARGET_ARCH = ppc64le -endif -ifeq ($(ARCH),x86_64) -OPENSSL_TARGET_ARCH = x86_64 -endif - -define HOST_OPENSSL_CONFIGURE_CMDS - (cd $(@D); \ - $(HOST_CONFIGURE_OPTS) \ - ./config \ - --prefix=$(HOST_DIR)/usr \ - --openssldir=$(HOST_DIR)/etc/ssl \ - --libdir=/lib \ - shared \ - zlib-dynamic \ - ) - $(SED) "s#-O[0-9]#$(HOST_CFLAGS)#" $(@D)/Makefile -endef - -define OPENSSL_CONFIGURE_CMDS - (cd $(@D); \ - $(TARGET_CONFIGURE_ARGS) \ - $(TARGET_CONFIGURE_OPTS) \ - ./Configure \ - linux-$(OPENSSL_TARGET_ARCH) \ - --prefix=/usr \ - --openssldir=/etc/ssl \ - --libdir=/lib \ - $(if $(BR2_TOOLCHAIN_HAS_THREADS),threads,no-threads) \ - $(if $(BR2_STATIC_LIBS),no-shared,shared) \ - no-rc5 \ - enable-camellia \ - enable-mdc2 \ - enable-tlsext \ - $(if $(BR2_STATIC_LIBS),zlib,zlib-dynamic) \ - $(if $(BR2_STATIC_LIBS),no-dso) \ - ) - $(SED) "s#-march=[-a-z0-9] ##" -e "s#-mcpu=[-a-z0-9] ##g" $(@D)/Makefile - $(SED) "s#-O[0-9]#$(OPENSSL_CFLAGS)#" $(@D)/Makefile - $(SED) "s# build_tests##" $(@D)/Makefile -endef - -# libdl is not available in a static build, and this is not implied by no-dso -ifeq ($(BR2_STATIC_LIBS),y) -define OPENSSL_FIXUP_STATIC_MAKEFILE - $(SED) 's#-ldl##g' $(@D)/Makefile -endef -OPENSSL_POST_CONFIGURE_HOOKS += OPENSSL_FIXUP_STATIC_MAKEFILE -endif - -define HOST_OPENSSL_BUILD_CMDS - $(HOST_MAKE_ENV) $(MAKE) -C $(@D) -endef - -define OPENSSL_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) -endef - -define OPENSSL_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) INSTALL_PREFIX=$(STAGING_DIR) install -endef - -define HOST_OPENSSL_INSTALL_CMDS - $(HOST_MAKE_ENV) $(MAKE) -C $(@D) install -endef - -define OPENSSL_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) INSTALL_PREFIX=$(TARGET_DIR) install - rm -rf $(TARGET_DIR)/usr/lib/ssl - rm -f $(TARGET_DIR)/usr/bin/c_rehash -endef - -# libdl has no business in a static build -ifeq ($(BR2_STATIC_LIBS),y) -define OPENSSL_FIXUP_STATIC_PKGCONFIG - $(SED) 's#-ldl##' $(STAGING_DIR)/usr/lib/pkgconfig/libcrypto.pc - $(SED) 's#-ldl##' $(STAGING_DIR)/usr/lib/pkgconfig/libssl.pc - $(SED) 's#-ldl##' $(STAGING_DIR)/usr/lib/pkgconfig/openssl.pc -endef -OPENSSL_POST_INSTALL_STAGING_HOOKS += OPENSSL_FIXUP_STATIC_PKGCONFIG -endif - -ifneq ($(BR2_STATIC_LIBS),y) -# libraries gets installed read only, so strip fails -define OPENSSL_INSTALL_FIXUPS_SHARED - chmod +w $(TARGET_DIR)/usr/lib/engines/lib*.so - for i in $(addprefix $(TARGET_DIR)/usr/lib/,libcrypto.so.* libssl.so.*); \ - do chmod +w $$i; done -endef -OPENSSL_POST_INSTALL_TARGET_HOOKS += OPENSSL_INSTALL_FIXUPS_SHARED -endif - -ifeq ($(BR2_PACKAGE_PERL),) -define OPENSSL_REMOVE_PERL_SCRIPTS - $(RM) -f $(TARGET_DIR)/etc/ssl/misc/{CA.pl,tsget} -endef -OPENSSL_POST_INSTALL_TARGET_HOOKS += OPENSSL_REMOVE_PERL_SCRIPTS -endif - -ifeq ($(BR2_PACKAGE_OPENSSL_BIN),) -define OPENSSL_REMOVE_BIN - $(RM) -f $(TARGET_DIR)/usr/bin/openssl - $(RM) -f $(TARGET_DIR)/etc/ssl/misc/{CA.*,c_*} -endef -OPENSSL_POST_INSTALL_TARGET_HOOKS += OPENSSL_REMOVE_BIN -endif - -ifneq ($(BR2_PACKAGE_OPENSSL_ENGINES),y) -define OPENSSL_REMOVE_OPENSSL_ENGINES - rm -rf $(TARGET_DIR)/usr/lib/engines -endef -OPENSSL_POST_INSTALL_TARGET_HOOKS += OPENSSL_REMOVE_OPENSSL_ENGINES -endif - -$(eval $(generic-package)) -$(eval $(host-generic-package)) +$(eval $(virtual-package)) +$(eval $(host-virtual-package)) diff --git a/package/openswan/0001-uClibc-ng-is-compatible-to-glibc.patch b/package/openswan/0001-uClibc-ng-is-compatible-to-glibc.patch deleted file mode 100644 index aa4d0ede24..0000000000 --- a/package/openswan/0001-uClibc-ng-is-compatible-to-glibc.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 0f7bf4706d2932aaa50904fc529a853c9f86478f Mon Sep 17 00:00:00 2001 -From: Waldemar Brodkorb -Date: Mon, 13 Feb 2017 22:18:11 +0100 -Subject: [PATCH] uClibc-ng is compatible to glibc - -Signed-off-by: Waldemar Brodkorb - -Pull-Request: https://github.com/xelerance/Openswan/pull/227 - ---- - linux/include/openswan.h | 12 ------------ - 1 file changed, 12 deletions(-) - -diff --git a/linux/include/openswan.h b/linux/include/openswan.h -index e2c45a130..66b9d42b2 100644 ---- a/linux/include/openswan.h -+++ b/linux/include/openswan.h -@@ -27,18 +27,6 @@ - #endif - - /* -- * When using uclibc, malloc(0) returns NULL instead of success. This is -- * to make it use the inbuilt work-around. -- * See: http://osdir.com/ml/network.freeswan.devel/2003-11/msg00009.html -- */ --#ifdef __UCLIBC__ --# if !defined(__MALLOC_GLIBC_COMPAT__) && !defined(MALLOC_GLIBC_COMPAT) --# warning Please compile uclibc with GLIBC_COMPATIBILITY defined --# endif --#endif -- -- --/* - * We've just got to have some datatypes defined... And annoyingly, just - * where we get them depends on whether we're in userland or not. - */ --- -2.11.1 - diff --git a/package/openswan/Config.in b/package/openswan/Config.in index 5db665c6f7..340686cc50 100644 --- a/package/openswan/Config.in +++ b/package/openswan/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_OPENSWAN bool "openswan" depends on BR2_USE_MMU # iproute2 - depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # iproute2 + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 # iproute2 depends on !BR2_TOOLCHAIN_USES_MUSL # GLOB_BRACE select BR2_PACKAGE_GMP select BR2_PACKAGE_IPROUTE2 @@ -10,7 +10,7 @@ config BR2_PACKAGE_OPENSWAN http://www.openswan.org -comment "openswan needs a uClibc or glibc toolchain w/ headers >= 3.0" +comment "openswan needs a uClibc or glibc toolchain w/ headers >= 3.4" depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 || \ + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 || \ BR2_TOOLCHAIN_USES_MUSL diff --git a/package/openswan/openswan.hash b/package/openswan/openswan.hash index 5929f8d190..805ab948fb 100644 --- a/package/openswan/openswan.hash +++ b/package/openswan/openswan.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 c1605c96d3c3cf357cefea7622f3acbc7a02d6a3cebfb76979327b566084a5ea openswan-2.6.46.tar.gz +sha256 9a3eb041084c3ab125dd645c40e8f5563efe73e18a3881cf2ce3582001daafc5 openswan-2.6.50.tar.gz diff --git a/package/openswan/openswan.mk b/package/openswan/openswan.mk index 5c8e143b4c..928eb9bb6f 100644 --- a/package/openswan/openswan.mk +++ b/package/openswan/openswan.mk @@ -4,9 +4,9 @@ # ################################################################################ -OPENSWAN_VERSION = 2.6.46 -OPENSWAN_SITE = http://download.openswan.org/openswan -OPENSWAN_LICENSE = GPLv2+, BSD-3c +OPENSWAN_VERSION = 2.6.50 +OPENSWAN_SITE = https://download.openswan.org/openswan +OPENSWAN_LICENSE = GPL-2.0+, BSD-3-Clause OPENSWAN_LICENSE_FILES = COPYING LICENSE OPENSWAN_DEPENDENCIES = host-bison host-flex gmp iproute2 diff --git a/package/opentyrian/opentyrian.mk b/package/opentyrian/opentyrian.mk index 6efbe4eeb8..12e41ad998 100644 --- a/package/opentyrian/opentyrian.mk +++ b/package/opentyrian/opentyrian.mk @@ -7,7 +7,7 @@ OPENTYRIAN_VERSION = 9c9f0ec3532b OPENTYRIAN_SITE = https://bitbucket.org/opentyrian/opentyrian OPENTYRIAN_SITE_METHOD = hg -OPENTYRIAN_LICENSE = GPLv2+ +OPENTYRIAN_LICENSE = GPL-2.0+ OPENTYRIAN_LICENSE_FILES = COPYING OPENTYRIAN_DEPENDENCIES = sdl @@ -24,7 +24,7 @@ define OPENTYRIAN_BUILD_CMDS CC="$(TARGET_CC)" \ STRIP="/bin/true" \ SDL_CONFIG="$(STAGING_DIR)/usr/bin/sdl-config" \ - LDFLAGS="-lm" \ + LDFLAGS="$(TARGET_LDFLAGS) -lm" \ WITH_NETWORK="$(OPENTYRIAN_NETWORK)" \ -C $(@D) release endef diff --git a/package/openvmtools/Config.in b/package/openvmtools/Config.in index 79c503cfb8..f76bdf2d44 100644 --- a/package/openvmtools/Config.in +++ b/package/openvmtools/Config.in @@ -33,11 +33,11 @@ comment "procps support needs BR2_PACKAGE_BUSYBOX_SHOW_OTHERS" config BR2_PACKAGE_OPENVMTOOLS_PAM bool "PAM support" - select BR2_PACKAGE_LINUX_PAM # linux-pam needs locale and wchar, but we already have this # dependency on the main symbol, above. depends on !BR2_STATIC_LIBS depends on !BR2_TOOLCHAIN_USES_MUSL # linux-pam + select BR2_PACKAGE_LINUX_PAM help Support for PAM in openvmtools diff --git a/package/openvmtools/openvmtools.mk b/package/openvmtools/openvmtools.mk index d3eda5c0b1..cc71324ff0 100644 --- a/package/openvmtools/openvmtools.mk +++ b/package/openvmtools/openvmtools.mk @@ -7,7 +7,7 @@ OPENVMTOOLS_VERSION = 5a9033ddfa95786d867e4d02bbb9a29bac8fb64f OPENVMTOOLS_SITE = $(call github,vmware,open-vm-tools,$(OPENVMTOOLS_VERSION)) OPENVMTOOLS_SUBDIR = open-vm-tools -OPENVMTOOLS_LICENSE = LGPLv2.1 +OPENVMTOOLS_LICENSE = LGPL-2.1 OPENVMTOOLS_LICENSE_FILES = $(OPENVMTOOLS_SUBDIR)/COPYING # Autoreconf needed or config/missing will run configure again at buildtime diff --git a/package/openvpn/Config.in b/package/openvpn/Config.in index 5fa191d97b..0a1675573a 100644 --- a/package/openvpn/Config.in +++ b/package/openvpn/Config.in @@ -14,6 +14,13 @@ config BR2_PACKAGE_OPENVPN if BR2_PACKAGE_OPENVPN +config BR2_PACKAGE_OPENVPN_LZ4 + bool "LZ4 compression" + default y + select BR2_PACKAGE_LZ4 + help + Enable LZ4 compression. + config BR2_PACKAGE_OPENVPN_LZO bool "LZO compression" default y diff --git a/package/openvpn/openvpn.hash b/package/openvpn/openvpn.hash index 600c25073f..318f9edb88 100644 --- a/package/openvpn/openvpn.hash +++ b/package/openvpn/openvpn.hash @@ -1,2 +1,2 @@ -# Locally calculated -sha256 6f23ba49a1dbeb658f49c7ae17d9ea979de6d92c7357de3d55cd4525e1b2f87e openvpn-2.4.0.tar.xz +# Locally calculated after checking signature +sha256 96cd1b8fe1e8cb2920f07c3fd3985faea756e16fdeebd11d3e146d5bd2b04a80 openvpn-2.4.4.tar.xz diff --git a/package/openvpn/openvpn.mk b/package/openvpn/openvpn.mk index 5e3df59f30..086f99bf4d 100644 --- a/package/openvpn/openvpn.mk +++ b/package/openvpn/openvpn.mk @@ -4,11 +4,11 @@ # ################################################################################ -OPENVPN_VERSION = 2.4.0 +OPENVPN_VERSION = 2.4.4 OPENVPN_SOURCE = openvpn-$(OPENVPN_VERSION).tar.xz OPENVPN_SITE = http://swupdate.openvpn.net/community/releases OPENVPN_DEPENDENCIES = host-pkgconf openssl -OPENVPN_LICENSE = GPLv2 +OPENVPN_LICENSE = GPL-2.0 OPENVPN_LICENSE_FILES = COPYRIGHT.GPL OPENVPN_CONF_OPTS = \ --disable-plugin-auth-pam \ @@ -22,8 +22,7 @@ OPENVPN_CONF_ENV = IFCONFIG=/sbin/ifconfig \ ifeq ($(BR2_PACKAGE_OPENVPN_SMALL),y) OPENVPN_CONF_OPTS += \ --enable-small \ - --disable-plugins \ - --disable-eurephia + --disable-plugins endif # BusyBox 1.21+ places the ip applet in the "correct" place @@ -36,6 +35,12 @@ else OPENVPN_CONF_ENV += IPROUTE=/sbin/ip endif +ifeq ($(BR2_PACKAGE_OPENVPN_LZ4),y) +OPENVPN_DEPENDENCIES += lz4 +else +OPENVPN_CONF_OPTS += --disable-lz4 +endif + ifeq ($(BR2_PACKAGE_OPENVPN_LZO),y) OPENVPN_DEPENDENCIES += lzo else diff --git a/package/openzwave/0001-Fix-compilation-of-MinOZW.patch b/package/openzwave/0001-Fix-compilation-of-MinOZW.patch new file mode 100644 index 0000000000..773672e0ba --- /dev/null +++ b/package/openzwave/0001-Fix-compilation-of-MinOZW.patch @@ -0,0 +1,37 @@ +From 599e2a11c6f48dde744012ec45686c08e15f3059 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 3 Oct 2016 10:35:52 +0200 +Subject: [PATCH] Fix compilation of MinOZW (#991) + +LIBDIR was used in cpp/examples/MinOZW/Makefile to add dynamic +libraries. However, as it was unset by default, the cross-compilation +could fail if the host had a library such as libnss3.so in /. +To fix this issue, this patch sets LIBDIR to top_buildir if it is unset + +Fixes: + http://autobuild.buildroot.net/results/68719fdf1320a69310bada6d3c47654dacdb5898 + +Signed-off-by: Fabrice Fontaine +[Upstream commit: https://github.com/OpenZWave/open-zwave/commit/599e2a11c6f48dde744012ec45686c08e15f3059] +Signed-off-by: Thomas Petazzoni +--- + cpp/examples/MinOZW/Makefile | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/cpp/examples/MinOZW/Makefile b/cpp/examples/MinOZW/Makefile +index e575632a3..95d684b77 100644 +--- a/cpp/examples/MinOZW/Makefile ++++ b/cpp/examples/MinOZW/Makefile +@@ -17,9 +17,11 @@ DEBUG_LDFLAGS := -g + + top_srcdir := $(abspath $(dir $(lastword $(MAKEFILE_LIST)))../../../) + ++#where is put the temporary library ++LIBDIR ?= $(top_builddir) + + INCLUDES := -I $(top_srcdir)/cpp/src -I $(top_srcdir)/cpp/tinyxml/ -I $(top_srcdir)/cpp/hidapi/hidapi/ +-LIBS = $(wildcard $(LIBDIR)/*.so $(LIBDIR)/*.dylib $(top_builddir)/*.so $(top_builddir)/*.dylib $(top_builddir)/cpp/build/*.so $(top_builddir)/cpp/build/*.dylib ) ++LIBS = $(wildcard $(LIBDIR)/*.so $(LIBDIR)/*.dylib $(top_builddir)/cpp/build/*.so $(top_builddir)/cpp/build/*.dylib ) + LIBSDIR = $(abspath $(dir $(firstword $(LIBS)))) + minozwsrc := $(notdir $(wildcard $(top_srcdir)/cpp/examples/MinOZW/*.cpp)) + VPATH := $(top_srcdir)/cpp/examples/MinOZW diff --git a/package/openzwave/0001-Fix-warning-on-wcsdup-implicit-declaration.patch b/package/openzwave/0002-Fix-warning-on-wcsdup-implicit-declaration.patch similarity index 100% rename from package/openzwave/0001-Fix-warning-on-wcsdup-implicit-declaration.patch rename to package/openzwave/0002-Fix-warning-on-wcsdup-implicit-declaration.patch diff --git a/package/openzwave/0002-Ensure-correct-git-repository-path.patch b/package/openzwave/0003-Ensure-correct-git-repository-path.patch similarity index 100% rename from package/openzwave/0002-Ensure-correct-git-repository-path.patch rename to package/openzwave/0003-Ensure-correct-git-repository-path.patch diff --git a/package/openzwave/openzwave.hash b/package/openzwave/openzwave.hash index d07961edb6..cd1231f80d 100644 --- a/package/openzwave/openzwave.hash +++ b/package/openzwave/openzwave.hash @@ -1,3 +1,2 @@ # Locally computed: sha256 abfb4c7e7728e86ba374c2e0ef7de912594eb24a8c44935457352df844530238 openzwave-V1.5.tar.gz -sha256 98851964fd8de3dd40f00d0032b47c61c17a4cf789ad5792e14149da5ab8755e 599e2a11c6f48dde744012ec45686c08e15f3059.patch diff --git a/package/openzwave/openzwave.mk b/package/openzwave/openzwave.mk index 199d9e1bd0..38515e3899 100644 --- a/package/openzwave/openzwave.mk +++ b/package/openzwave/openzwave.mk @@ -6,19 +6,13 @@ OPENZWAVE_VERSION = V1.5 OPENZWAVE_SITE = $(call github,OpenZWave,open-zwave,$(OPENZWAVE_VERSION)) -OPENZWAVE_LICENSE = LGPLv3+, GPLv3 (examples), Apache-2.0 (sh2ju.sh) +OPENZWAVE_LICENSE = LGPL-3.0+, GPL-3.0 (examples), Apache-2.0 (sh2ju.sh) OPENZWAVE_LICENSE_FILES = license/license.txt license/lgpl.txt \ license/gpl.txt license/Apache-License-2.0.txt OPENZWAVE_DEPENDENCIES = host-pkgconf udev OPENZWAVE_INSTALL_STAGING = YES -# This patch fixes incorrect default value of LIBDIR: -# http://autobuild.buildroot.net/results/68719fdf1320a69310bada6d3c47654dacdb5898 -# This patch is currently in dev branch and will be a part of v1.6 -OPENZWAVE_PATCH = \ - https://github.com/OpenZWave/open-zwave/commit/599e2a11c6f48dde744012ec45686c08e15f3059.patch - # Set instlibdir to install libopenzwave.so* in the correct directory # otherwise openzwave will check that /lib64 exists (on the host) to # know if the library should be installed in $(PREFIX)/lib or $(PREFIX)/lib64. diff --git a/package/opkg-utils/opkg-utils.mk b/package/opkg-utils/opkg-utils.mk index aa3c44d94d..df202220d2 100644 --- a/package/opkg-utils/opkg-utils.mk +++ b/package/opkg-utils/opkg-utils.mk @@ -7,7 +7,7 @@ OPKG_UTILS_VERSION = 0.3.4 OPKG_UTILS_SITE = http://git.yoctoproject.org/git/opkg-utils OPKG_UTILS_SITE_METHOD = git -OPKG_UTILS_LICENSE = GPLv2+ +OPKG_UTILS_LICENSE = GPL-2.0+ OPKG_UTILS_LICENSE_FILES = COPYING define HOST_OPKG_UTILS_BUILD_CMDS @@ -15,7 +15,7 @@ define HOST_OPKG_UTILS_BUILD_CMDS endef define HOST_OPKG_UTILS_INSTALL_CMDS - $(MAKE) -C $(@D) DESTDIR=$(HOST_DIR) PREFIX=/usr install + $(MAKE) -C $(@D) PREFIX=$(HOST_DIR) install endef $(eval $(host-generic-package)) diff --git a/package/opkg/Config.in b/package/opkg/Config.in index 5a4bbc2654..a188a7bbff 100644 --- a/package/opkg/Config.in +++ b/package/opkg/Config.in @@ -4,9 +4,9 @@ comment "opkg needs a toolchain w/ wchar" config BR2_PACKAGE_OPKG bool "opkg" - select BR2_PACKAGE_LIBARCHIVE depends on BR2_USE_MMU # fork() depends on BR2_USE_WCHAR # libarchive + select BR2_PACKAGE_LIBARCHIVE help Opkg is a lightweight package management system, based on ipkg. It is written in C and resembles apt/dpkg in operation. It is intended for diff --git a/package/opkg/opkg.hash b/package/opkg/opkg.hash new file mode 100644 index 0000000000..80f3f0d1d2 --- /dev/null +++ b/package/opkg/opkg.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 2ec7157ccf866e49ca139e3632ba1ca9d61dc24382606b55062e423161a530b0 opkg-v0.3.1.tar.gz diff --git a/package/opkg/opkg.mk b/package/opkg/opkg.mk index bf19a60fbf..0c7e15ea75 100644 --- a/package/opkg/opkg.mk +++ b/package/opkg/opkg.mk @@ -9,7 +9,7 @@ OPKG_SITE = http://git.yoctoproject.org/git/opkg OPKG_SITE_METHOD = git # Uses PKG_CHECK_MODULES() in configure.ac OPKG_DEPENDENCIES = host-pkgconf libarchive -OPKG_LICENSE = GPLv2+ +OPKG_LICENSE = GPL-2.0+ OPKG_LICENSE_FILES = COPYING OPKG_INSTALL_STAGING = YES OPKG_CONF_OPTS = --disable-curl diff --git a/package/oprofile/Config.in b/package/oprofile/Config.in index e2adde5802..d99a7e60c8 100644 --- a/package/oprofile/Config.in +++ b/package/oprofile/Config.in @@ -15,14 +15,14 @@ config BR2_PACKAGE_OPROFILE_NEEDS_LIBPFM4 config BR2_PACKAGE_OPROFILE bool "oprofile" depends on BR2_USE_MMU # fork() - select BR2_PACKAGE_POPT - select BR2_PACKAGE_BINUTILS - select BR2_PACKAGE_LIBPFM4 if BR2_PACKAGE_OPROFILE_NEEDS_LIBPFM4 depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR # binutils depends on BR2_PACKAGE_OPROFILE_ARCH_SUPPORTS # libpfm4 is needed on PowerPC, and requires thread support depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_PACKAGE_OPROFILE_NEEDS_LIBPFM4 + select BR2_PACKAGE_POPT + select BR2_PACKAGE_BINUTILS + select BR2_PACKAGE_LIBPFM4 if BR2_PACKAGE_OPROFILE_NEEDS_LIBPFM4 help OProfile is a system-wide profiler for Linux systems, capable of profiling all running code at low overhead. diff --git a/package/oprofile/oprofile.mk b/package/oprofile/oprofile.mk index f6c0f130e9..4e0278eb2a 100644 --- a/package/oprofile/oprofile.mk +++ b/package/oprofile/oprofile.mk @@ -6,7 +6,7 @@ OPROFILE_VERSION = 1.1.0 OPROFILE_SITE = http://downloads.sourceforge.net/project/oprofile/oprofile/oprofile-$(OPROFILE_VERSION) -OPROFILE_LICENSE = GPLv2+ +OPROFILE_LICENSE = GPL-2.0+ OPROFILE_LICENSE_FILES = COPYING OPROFILE_CONF_OPTS = \ --disable-account-check \ @@ -41,12 +41,6 @@ ifeq ($(BR2_PACKAGE_LIBPFM4),y) OPROFILE_DEPENDENCIES += libpfm4 endif -# When gettext is enabled, popt links with -lintl, specifies it in its -# popt.pc and has done so for the past 6+ years. But oprofile does not -# use pkconfig to find popt, so misses -lintl, which is important for -# a static build. We have to do the call to pkgconfig manually... -OPROFILE_CONF_ENV += LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs popt`" - ifeq ($(BR2_STATIC_LIBS),) define OPROFILE_INSTALL_SHARED_LIBRARY $(INSTALL) -m 755 $(@D)/libopagent/.libs/*.so* $(TARGET_DIR)/usr/lib/oprofile diff --git a/package/opus-tools/opus-tools.hash b/package/opus-tools/opus-tools.hash index 486384c31d..185c94ce75 100644 --- a/package/opus-tools/opus-tools.hash +++ b/package/opus-tools/opus-tools.hash @@ -1,2 +1,2 @@ # From http://downloads.xiph.org/releases/opus/SHA256SUMS.txt -sha256 b1873dd78c7fbc98cf65d6e10cfddb5c2c03b3af93f922139a2104baedb4643a opus-tools-0.1.9.tar.gz +sha256 a2357532d19471b70666e0e0ec17d514246d8b3cb2eb168f68bb0f6fd372b28c opus-tools-0.1.10.tar.gz diff --git a/package/opus-tools/opus-tools.mk b/package/opus-tools/opus-tools.mk index de1b4399e3..a81e75eb0e 100644 --- a/package/opus-tools/opus-tools.mk +++ b/package/opus-tools/opus-tools.mk @@ -4,9 +4,9 @@ # ################################################################################ -OPUS_TOOLS_VERSION = 0.1.9 -OPUS_TOOLS_SITE = http://downloads.xiph.org/releases/opus -OPUS_TOOLS_LICENSE = BSD-2c +OPUS_TOOLS_VERSION = 0.1.10 +OPUS_TOOLS_SITE = https://downloads.xiph.org/releases/opus +OPUS_TOOLS_LICENSE = BSD-2-Clause OPUS_TOOLS_LICENSE_FILES = COPYING OPUS_TOOLS_CONF_OPTS = --disable-oggtest --disable-opustest OPUS_TOOLS_DEPENDENCIES = opus libogg host-pkgconf diff --git a/package/opus/opus.hash b/package/opus/opus.hash index 7349ec4b75..32fe2e245b 100644 --- a/package/opus/opus.hash +++ b/package/opus/opus.hash @@ -1,2 +1,2 @@ # From http://downloads.xiph.org/releases/opus/SHA256SUMS.txt -sha256 9122b6b380081dd2665189f97bfd777f04f92dc3ab6698eea1dbb27ad59d8692 opus-1.1.4.tar.gz +sha256 cfafd339ccd9c5ef8d6ab15d7e1a412c054bf4cb4ecbbbcc78c12ef2def70732 opus-1.2.1.tar.gz diff --git a/package/opus/opus.mk b/package/opus/opus.mk index 020be88b66..44de5db253 100644 --- a/package/opus/opus.mk +++ b/package/opus/opus.mk @@ -4,9 +4,9 @@ # ################################################################################ -OPUS_VERSION = 1.1.4 -OPUS_SITE = http://downloads.xiph.org/releases/opus -OPUS_LICENSE = BSD-3c +OPUS_VERSION = 1.2.1 +OPUS_SITE = https://downloads.xiph.org/releases/opus +OPUS_LICENSE = BSD-3-Clause OPUS_LICENSE_FILES = COPYING OPUS_INSTALL_STAGING = YES diff --git a/package/opusfile/opusfile.hash b/package/opusfile/opusfile.hash index 541a21fe54..528ded2079 100644 --- a/package/opusfile/opusfile.hash +++ b/package/opusfile/opusfile.hash @@ -1,2 +1,2 @@ # From http://downloads.xiph.org/releases/opus/SHA256SUMS.txt -sha256 2c231ed3cfaa1b3173f52d740e5bbd77d51b9dfecb87014b404917fba4b855a4 opusfile-0.8.tar.gz +sha256 f75fb500e40b122775ac1a71ad80c4477698842a8fe9da4a1b4a1a9f16e4e979 opusfile-0.9.tar.gz diff --git a/package/opusfile/opusfile.mk b/package/opusfile/opusfile.mk index 4c3fb35553..28d4368e85 100644 --- a/package/opusfile/opusfile.mk +++ b/package/opusfile/opusfile.mk @@ -4,15 +4,15 @@ # ################################################################################ -OPUSFILE_VERSION = 0.8 -OPUSFILE_SITE = http://downloads.xiph.org/releases/opus +OPUSFILE_VERSION = 0.9 +OPUSFILE_SITE = https://downloads.xiph.org/releases/opus OPUSFILE_DEPENDENCIES = host-pkgconf libogg opus -OPUSFILE_LICENSE = BSD-3c +OPUSFILE_LICENSE = BSD-3-Clause OPUSFILE_LICENSE_FILES = COPYING OPUSFILE_INSTALL_STAGING = YES -ifeq ($(BR2_PACKAGE_OPENSSL),y) -OPUSFILE_DEPENDENCIES += openssl +ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) +OPUSFILE_DEPENDENCIES += libopenssl else OPUSFILE_CONF_OPTS += --disable-http endif diff --git a/package/oracle-mysql/0008-fix-type-conversion.patch b/package/oracle-mysql/0008-fix-type-conversion.patch new file mode 100644 index 0000000000..65babf4f20 --- /dev/null +++ b/package/oracle-mysql/0008-fix-type-conversion.patch @@ -0,0 +1,22 @@ +Fix type conversion + +Fixes the following build error with gcc 6.x: + +protocol.cc:27:40: error: narrowing conversion of ''\37777777776'' from 'char' to 'uchar {aka unsigned char}' inside { } [-Wnarrowing] + static uchar eof_buff[1]= { (char) 254 }; /* Marker for end of fields */ + +Signed-off-by: Thomas Petazzoni + +Index: b/server-tools/instance-manager/protocol.cc +=================================================================== +--- a/server-tools/instance-manager/protocol.cc ++++ b/server-tools/instance-manager/protocol.cc +@@ -24,7 +24,7 @@ + #include + + +-static uchar eof_buff[1]= { (char) 254 }; /* Marker for end of fields */ ++static uchar eof_buff[1]= { (uchar) 254 }; /* Marker for end of fields */ + static const char ERROR_PACKET_CODE= (char) 255; + + diff --git a/package/oracle-mysql/0008-gcc7.patch b/package/oracle-mysql/0008-gcc7.patch new file mode 100644 index 0000000000..321112d635 --- /dev/null +++ b/package/oracle-mysql/0008-gcc7.patch @@ -0,0 +1,45 @@ +Fix gcc7 compile + +mysql.cc: In function 'void build_completion_hash(bool, bool)': +mysql.cc:2687:37: error: invalid conversion from 'char' to 'char*' [-fpermissive] + field_names[i][num_fields*2]= '\0'; + ^~~~ +Patch was partly backported from upstream commit: +https://github.com/mysql/mysql-server/commit/ae21683d980d5fe9e39bd0193827ea3604256eb9 + +Signed-off-by: Bernd Kuhls +[Thomas: add more gcc 7.x fixes in instance_map.cc.] +Signed-off-by: Thomas Petazzoni + +Index: b/client/mysql.cc +=================================================================== +--- a/client/mysql.cc ++++ b/client/mysql.cc +@@ -2684,7 +2684,7 @@ + mysql_free_result(fields); + break; + } +- field_names[i][num_fields*2]= '\0'; ++ field_names[i][num_fields*2]= NULL; + j=0; + while ((sql_field=mysql_fetch_field(fields))) + { +Index: b/server-tools/instance-manager/instance_map.cc +=================================================================== +--- a/server-tools/instance-manager/instance_map.cc ++++ b/server-tools/instance-manager/instance_map.cc +@@ -526,12 +526,12 @@ + Options::Main::config_file); + + argv_options[1]= defaults_file_arg; +- argv_options[2]= '\0'; ++ argv_options[2]= NULL; + + argc= 2; + } + else +- argv_options[1]= '\0'; ++ argv_options[1]= NULL; + + /* + If the routine failed, we'll simply fallback to defaults in diff --git a/package/oracle-mysql/oracle-mysql.mk b/package/oracle-mysql/oracle-mysql.mk index f0f0649618..7da5c547d9 100644 --- a/package/oracle-mysql/oracle-mysql.mk +++ b/package/oracle-mysql/oracle-mysql.mk @@ -11,7 +11,7 @@ ORACLE_MYSQL_SITE = http://dev.mysql.com/get/Downloads/MySQL-$(ORACLE_MYSQL_VERS ORACLE_MYSQL_INSTALL_STAGING = YES ORACLE_MYSQL_DEPENDENCIES = readline ncurses ORACLE_MYSQL_AUTORECONF = YES -ORACLE_MYSQL_LICENSE = GPLv2 +ORACLE_MYSQL_LICENSE = GPL-2.0 ORACLE_MYSQL_LICENSE_FILES = README COPYING ORACLE_MYSQL_PROVIDES = mysql @@ -58,7 +58,7 @@ define HOST_ORACLE_MYSQL_BUILD_CMDS endef define HOST_ORACLE_MYSQL_INSTALL_CMDS - $(INSTALL) -m 0755 $(@D)/sql/gen_lex_hash $(HOST_DIR)/usr/bin/ + $(INSTALL) -m 0755 $(@D)/sql/gen_lex_hash $(HOST_DIR)/bin/ endef ifeq ($(BR2_PACKAGE_OPENSSL),y) @@ -125,7 +125,6 @@ ORACLE_MYSQL_CONF_OPTS += \ --without-server endif - define ORACLE_MYSQL_REMOVE_TEST_PROGS rm -rf $(TARGET_DIR)/usr/mysql-test $(TARGET_DIR)/usr/sql-bench endef diff --git a/package/orbit/Config.in b/package/orbit/Config.in index 556c46eaa3..c35c475e81 100644 --- a/package/orbit/Config.in +++ b/package/orbit/Config.in @@ -1,10 +1,16 @@ config BR2_PACKAGE_ORBIT bool "orbit" + depends on BR2_PACKAGE_LUA_5_1 || BR2_PACKAGE_LUAJIT # These are runtime dependencies - select BR2_PACKAGE_WSAPI + select BR2_PACKAGE_LPEG select BR2_PACKAGE_LUAFILESYSTEM + select BR2_PACKAGE_WSAPI_XAVANTE help An MVC web framework for Lua. The design is inspired by lightweight Ruby frameworks such as Camping http://keplerproject.github.com/orbit + +comment "orbit needs a Lua 5.1 interpreter" + depends on !BR2_PACKAGE_LUA_5_1 + depends on !BR2_PACKAGE_LUAJIT diff --git a/package/orbit/orbit.hash b/package/orbit/orbit.hash index 91eba3c63d..9662a650ad 100644 --- a/package/orbit/orbit.hash +++ b/package/orbit/orbit.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 42b0357041b4bdb051cb1a56cf73e3c2b2a2be207d431f70b4955465ad94b6a6 orbit-2.2.3-1.src.rock +sha256 91e3c514d5b86918db83666c8889635bb2d50c71d1ab3aeb69c6469c9424089b orbit-2.2.4-1.src.rock diff --git a/package/orbit/orbit.mk b/package/orbit/orbit.mk index fa30f38427..3329439db6 100644 --- a/package/orbit/orbit.mk +++ b/package/orbit/orbit.mk @@ -4,7 +4,7 @@ # ################################################################################ -ORBIT_VERSION_UPSTREAM = 2.2.3 +ORBIT_VERSION_UPSTREAM = 2.2.4 ORBIT_VERSION = $(ORBIT_VERSION_UPSTREAM)-1 ORBIT_SUBDIR = orbit ORBIT_LICENSE = MIT diff --git a/package/orc/Config.in b/package/orc/Config.in index 2470d99284..7943ecfbfb 100644 --- a/package/orc/Config.in +++ b/package/orc/Config.in @@ -6,7 +6,7 @@ config BR2_PACKAGE_ORC Orc is a library and set of tools for compiling and executing very simple programs that operate on arrays of data. - http://code.entropywave.com/projects/orc/ + https://gstreamer.freedesktop.org/projects/orc.html comment "orc needs a toolchain w/ threads" depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/orc/orc.hash b/package/orc/orc.hash index 200467cf7f..f47a9cfe5f 100644 --- a/package/orc/orc.hash +++ b/package/orc/orc.hash @@ -1,2 +1,2 @@ -# From https://lists.freedesktop.org/archives/gstreamer-devel/2016-August/060159.html -sha256 7d52fa80ef84988359c3434e1eea302d077a08987abdde6905678ebcad4fa649 orc-0.4.26.tar.xz +# From https://gstreamer.freedesktop.org/src/orc/orc-0.4.27.tar.xz.sha256sum +sha256 51e53e58fc8158e5986a1f1a49a6d970c5b16493841cf7b9de2c2bde7ce36b93 orc-0.4.27.tar.xz diff --git a/package/orc/orc.mk b/package/orc/orc.mk index 4456f5310f..ab718296ac 100644 --- a/package/orc/orc.mk +++ b/package/orc/orc.mk @@ -4,10 +4,10 @@ # ################################################################################ -ORC_VERSION = 0.4.26 +ORC_VERSION = 0.4.27 ORC_SOURCE = orc-$(ORC_VERSION).tar.xz ORC_SITE = http://gstreamer.freedesktop.org/data/src/orc -ORC_LICENSE = BSD-2c, BSD-3c +ORC_LICENSE = BSD-2-Clause, BSD-3-Clause ORC_LICENSE_FILES = COPYING ORC_INSTALL_STAGING = YES ORC_DEPENDENCIES = host-orc diff --git a/package/ortp/ortp.mk b/package/ortp/ortp.mk index da17231f91..0bd61e88d9 100644 --- a/package/ortp/ortp.mk +++ b/package/ortp/ortp.mk @@ -9,7 +9,7 @@ ORTP_SITE = http://download.savannah.nongnu.org/releases/linphone/ortp/sources ORTP_CONF_OPTS = --disable-strict ORTP_INSTALL_STAGING = YES -ORTP_LICENSE = LGPLv2.1+ +ORTP_LICENSE = LGPL-2.1+ ORTP_LICENSE_FILES = COPYING ORTP_DEPENDENCIES = bctoolbox diff --git a/package/owfs/0001-configure.ac-check-for-localtime_r.patch b/package/owfs/0001-configure.ac-check-for-localtime_r.patch index c4c384457f..b25aa59878 100644 --- a/package/owfs/0001-configure.ac-check-for-localtime_r.patch +++ b/package/owfs/0001-configure.ac-check-for-localtime_r.patch @@ -11,6 +11,8 @@ Upstream-Status: Submitted https://sourceforge.net/p/owfs/mailman/message/34873667/ Signed-off-by: Arnout Vandecappelle (Essensium/Mind) +[Bernd: rebased against version 3.2p1] +Signed-off-by: Bernd Kuhls --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) @@ -19,15 +21,15 @@ diff --git a/configure.ac b/configure.ac index c22dde9..12fdd18 100644 --- a/configure.ac +++ b/configure.ac -@@ -1529,7 +1529,7 @@ AC_FUNC_SELECT_ARGTYPES +@@ -1646,7 +1646,7 @@ AC_FUNC_STRFTIME AC_FUNC_STRTOD AC_TYPE_SIGNAL --AC_CHECK_FUNCS([accept daemon getaddrinfo freeaddrinfo gethostbyname2_r gethostbyaddr_r gethostbyname_r getservbyname_r getopt getopt_long gettimeofday inet_ntop inet_pton memchr memset select socket strcasecmp strchr strdup strncasecmp strtol strtoul twalk tsearch tfind tdelete tdestroy vasprintf strsep vsprintf vsnprintf writev getline]) -+AC_CHECK_FUNCS([accept daemon getaddrinfo freeaddrinfo gethostbyname2_r gethostbyaddr_r gethostbyname_r getservbyname_r getopt getopt_long gettimeofday inet_ntop inet_pton memchr memset select socket strcasecmp strchr strdup strncasecmp strtol strtoul twalk tsearch tfind tdelete tdestroy vasprintf strsep vsprintf vsnprintf writev getline localtime_r]) +-AC_CHECK_FUNCS([accept daemon getaddrinfo freeaddrinfo gethostbyname2_r gethostbyaddr_r gethostbyname_r getservbyname_r getopt getopt_long gmtime_r gettimeofday localtime_r inet_ntop inet_pton memchr memset select socket strcasecmp strchr strdup strncasecmp strtol strtoul twalk tsearch tfind tdelete tdestroy vasprintf strsep vsprintf vsnprintf writev getline]) ++AC_CHECK_FUNCS([accept daemon getaddrinfo freeaddrinfo gethostbyname2_r gethostbyaddr_r gethostbyname_r getservbyname_r getopt getopt_long gmtime_r gettimeofday localtime_r inet_ntop inet_pton memchr memset select socket strcasecmp strchr strdup strncasecmp strtol strtoul twalk tsearch tfind tdelete tdestroy vasprintf strsep vsprintf vsnprintf writev getline localtime_r]) - if test "${ENABLE_ZERO}" = "true" ; then - AC_SEARCH_LIBS(dlopen, dl, AC_DEFINE(HAVE_DLOPEN, 1, [Define if you have dlopen])) + save_LIBS="$LIBS" + LIBS="" -- 2.7.0 diff --git a/package/owfs/0002-compat.h-only-include-compat_netdb.h-if-needed.patch b/package/owfs/0002-compat.h-only-include-compat_netdb.h-if-needed.patch deleted file mode 100644 index 7ae79325f4..0000000000 --- a/package/owfs/0002-compat.h-only-include-compat_netdb.h-if-needed.patch +++ /dev/null @@ -1,58 +0,0 @@ -From d24e63eea4f4d234f313145e40668a5e2f64e49c Mon Sep 17 00:00:00 2001 -From: "Arnout Vandecappelle (Essensium/Mind)" -Date: Wed, 9 Mar 2016 23:20:11 +0100 -Subject: [PATCH] compat.h: only include compat_netdb.h if needed - -compat_netdb.h is added for only one reason: to provide the definitions -for getaddrinfo, in case it is not provided by the system. -compat_netdb.h is just a copy from an old glibc version, but that makes -it incompatible with other standard C libraries. For example, uClibc -without RPC support doesn't have the rpc/netdb.h header. This leads to -build errors. - -To work around this, only include compat_netdb.h when needed, i.e. -when getaddrinfo isn't provided natively. - -Note that this getaddrinfo compat was introduced in commit bc54c431 to -support Solaris 7. Starting from Solaris 8, however, getaddrinfo is -available natively, and it's available on MacOS, Windows and any other -POSIX-2001 compliant system as well. So it may be worhtwhile to remove -it altogether. - -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- - module/owlib/src/include/compat.h | 2 ++ - module/ownet/c/src/include/compat.h | 2 ++ - 2 files changed, 4 insertions(+) - -diff --git a/module/owlib/src/include/compat.h b/module/owlib/src/include/compat.h -index c55bc96..e95e16f 100644 ---- a/module/owlib/src/include/compat.h -+++ b/module/owlib/src/include/compat.h -@@ -57,7 +57,9 @@ - #include - #endif - -+#ifndef HAVE_GETADDRINFO - #include "compat_netdb.h" -+#endif - #include "compat_getopt.h" - - #ifndef HAVE_STRSEP -diff --git a/module/ownet/c/src/include/compat.h b/module/ownet/c/src/include/compat.h -index c45d852..f8ae759 100644 ---- a/module/ownet/c/src/include/compat.h -+++ b/module/ownet/c/src/include/compat.h -@@ -58,7 +58,9 @@ $Id$ - #include - #endif - -+#ifndef HAVE_GETADDRINFO - #include "compat_netdb.h" -+#endif - #include "compat_getopt.h" - - #ifndef HAVE_STRSEP --- -2.7.0 - diff --git a/package/owfs/owfs.hash b/package/owfs/owfs.hash index 3991eec930..1e57e29561 100644 --- a/package/owfs/owfs.hash +++ b/package/owfs/owfs.hash @@ -1,4 +1,5 @@ -# From https://sourceforge.net/projects/owfs/files/owfs/3.1p1/ -sha1 80892ca3e72fef2979b8f0a04db15fd24a2cbda6 owfs-3.1p1.tar.gz +# From https://sourceforge.net/projects/owfs/files/owfs/3.2p1/ +md5 fb42ce3b8a49f0b62711d8e3f5f04880 owfs-3.2p1.tar.gz +sha1 4ee76e686bec769acde5bfbda148a8693df244c6 owfs-3.2p1.tar.gz # Locally calculated -sha256 e69421ae534565c1f8530a2447f583401f4d0d4b1cf3cb8cf399a57133ed7f81 owfs-3.1p1.tar.gz +sha256 33220b25db36969a717cd27e750d73dee376795e13a5f3677f05111b745832ea owfs-3.2p1.tar.gz diff --git a/package/owfs/owfs.mk b/package/owfs/owfs.mk index e0679d21b7..47626ceafc 100644 --- a/package/owfs/owfs.mk +++ b/package/owfs/owfs.mk @@ -4,7 +4,7 @@ # ################################################################################ -OWFS_VERSION = 3.1p1 +OWFS_VERSION = 3.2p1 OWFS_SITE = http://downloads.sourceforge.net/project/owfs/owfs/$(OWFS_VERSION) OWFS_DEPENDENCIES = host-pkgconf OWFS_CONF_OPTS = --disable-owperl --without-perl5 --disable-owtcl --without-tcl @@ -13,7 +13,7 @@ OWFS_CONF_OPTS = --disable-owperl --without-perl5 --disable-owtcl --without-tcl OWFS_AUTORECONF = YES # owtcl license is declared in module/ownet/c/src/include/ow_functions.h -OWFS_LICENSE = GPLv2+, LGPLv2 (owtcl) +OWFS_LICENSE = GPL-2.0+, LGPL-2.0 (owtcl) OWFS_LICENSE_FILES = COPYING COPYING.LIB OWFS_INSTALL_STAGING = YES @@ -68,7 +68,7 @@ OWFS_MAKE_ENV += \ OWFS_DEPENDENCIES += python host-swig # The configure scripts finds PYSITEDIR as the python_lib directory of # host-python, and then prepends DESTDIR in front of it. So we end up -# installing things in $(TARGET_DIR)/$(HOST_DIR)/usr/lib/python which is +# installing things in $(TARGET_DIR)/$(HOST_DIR)/lib/python which is # clearly wrong. # Patching owfs to do the right thing is not trivial, it's much easier to # override the PYSITEDIR variable in make. diff --git a/package/p11-kit/p11-kit.mk b/package/p11-kit/p11-kit.mk index e856cac092..d4cf9bc09c 100644 --- a/package/p11-kit/p11-kit.mk +++ b/package/p11-kit/p11-kit.mk @@ -11,7 +11,7 @@ P11_KIT_INSTALL_STAGING = YES P11_KIT_CONF_OPTS = --disable-static P11_KIT_CONF_ENV = ac_cv_have_decl_program_invocation_short_name=yes \ ac_cv_have_decl___progname=no -P11_KIT_LICENSE = BSD-3c +P11_KIT_LICENSE = BSD-3-Clause P11_KIT_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/p7zip/p7zip.hash b/package/p7zip/p7zip.hash index ead6d87182..b134550eeb 100644 --- a/package/p7zip/p7zip.hash +++ b/package/p7zip/p7zip.hash @@ -1,3 +1,5 @@ -# From https://sourceforge.net/projects/p7zip/files/p7zip/ -md5 92cca093312b5a71a7be7dc7d1d32509 p7zip_15.14.1_src_all.tar.bz2 -sha1 9b15a79f94230fab9b9d4f9f532c723117145c7a p7zip_15.14.1_src_all.tar.bz2 +# From https://sourceforge.net/projects/p7zip/files/p7zip/16.02/ +md5 a0128d661cfe7cc8c121e73519c54fbf p7zip_16.02_src_all.tar.bz2 +sha1 e8819907132811aa1afe5ef296181d3a15cc8f22 p7zip_16.02_src_all.tar.bz2 +# Locally computed +sha256 5eb20ac0e2944f6cb9c2d51dd6c4518941c185347d4089ea89087ffdd6e2341f p7zip_16.02_src_all.tar.bz2 diff --git a/package/p7zip/p7zip.mk b/package/p7zip/p7zip.mk index 15d5138149..ff0dd01e02 100644 --- a/package/p7zip/p7zip.mk +++ b/package/p7zip/p7zip.mk @@ -4,10 +4,10 @@ # ################################################################################ -P7ZIP_VERSION = 15.14.1 +P7ZIP_VERSION = 16.02 P7ZIP_SOURCE = p7zip_$(P7ZIP_VERSION)_src_all.tar.bz2 P7ZIP_SITE = http://downloads.sourceforge.net/project/p7zip/p7zip/$(P7ZIP_VERSION) -P7ZIP_LICENSE = LGPLv2.1+ with unRAR restriction +P7ZIP_LICENSE = LGPL-2.1+ with unRAR restriction P7ZIP_LICENSE_FILES = DOC/License.txt # p7zip buildsystem is a mess: it plays dirty tricks with CFLAGS and diff --git a/package/p910nd/p910nd.mk b/package/p910nd/p910nd.mk index a1afdb3855..163ab1bcf2 100644 --- a/package/p910nd/p910nd.mk +++ b/package/p910nd/p910nd.mk @@ -7,7 +7,7 @@ P910ND_VERSION = 0.97 P910ND_SITE = http://downloads.sourceforge.net/project/p910nd/p910nd/$(P910ND_VERSION) P910ND_SOURCE = p910nd-$(P910ND_VERSION).tar.bz2 -P910ND_LICENSE = GPLv2 +P910ND_LICENSE = GPL-2.0 P910ND_LICENSE_FILES = COPYING define P910ND_BUILD_CMDS diff --git a/package/paho-mqtt-c/0001-Declare-mqtt-tests-as-a-C-only-project.patch b/package/paho-mqtt-c/0001-Declare-mqtt-tests-as-a-C-only-project.patch new file mode 100644 index 0000000000..9edb2c4a8b --- /dev/null +++ b/package/paho-mqtt-c/0001-Declare-mqtt-tests-as-a-C-only-project.patch @@ -0,0 +1,27 @@ +From 6556e62a07972eafccaefdcdf32bd0d386c64ca2 Mon Sep 17 00:00:00 2001 +From: Yegor Yefremov +Date: Wed, 13 Sep 2017 07:59:50 +0200 +Subject: [PATCH] Declare mqtt-tests as a C-only project + +This way CMake doesn't break the build on the systems without +C++ compiler. + +Signed-off-by: Yegor Yefremov +Reported-by: Marcus Hoffmann +--- + test/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt +index 5c88c44..3aca80f 100644 +--- a/test/CMakeLists.txt ++++ b/test/CMakeLists.txt +@@ -1,4 +1,4 @@ +-PROJECT(mqtt-tests) ++PROJECT(mqtt-tests C) + + IF (WIN32) + SET(MQTT_TEST_BROKER "tcp://mqtt.iotree.co.uk:1883" CACHE STRING "Hostname of a test MQTT broker to use") +-- +2.1.4 + diff --git a/package/paho-mqtt-c/paho-mqtt-c.hash b/package/paho-mqtt-c/paho-mqtt-c.hash index 8807d788a3..3bee8914f9 100644 --- a/package/paho-mqtt-c/paho-mqtt-c.hash +++ b/package/paho-mqtt-c/paho-mqtt-c.hash @@ -1,2 +1,4 @@ # Locally computed: -sha256 970b9621efc24251441d386274cd0a90cf6ad52b64031f3c8cb53fdd5526f5f3 paho-mqtt-c-v1.1.0.tar.gz +sha256 0cb0396554ebe0e8ac6b0de1cbc16601ef169b6a63baf6f0f3ddeb405f5471a5 paho-mqtt-c-v1.2.0.tar.gz +sha256 83bbba033dc985487e321b6dfde111772affb73460be48726299fed3da684b1c edl-v10 +sha256 44277b2bec6093e4ac313afec251a4de599d24c4e768f8574d95b13a9d2d97b5 epl-v10 diff --git a/package/paho-mqtt-c/paho-mqtt-c.mk b/package/paho-mqtt-c/paho-mqtt-c.mk index 7fb3026d93..5df7a55c62 100644 --- a/package/paho-mqtt-c/paho-mqtt-c.mk +++ b/package/paho-mqtt-c/paho-mqtt-c.mk @@ -4,9 +4,9 @@ # ################################################################################ -PAHO_MQTT_C_VERSION = v1.1.0 +PAHO_MQTT_C_VERSION = v1.2.0 PAHO_MQTT_C_SITE = $(call github,eclipse,paho.mqtt.c,$(PAHO_MQTT_C_VERSION)) -PAHO_MQTT_C_LICENSE = EPL-1.0 or BSD-3c +PAHO_MQTT_C_LICENSE = EPL-1.0 or BSD-3-Clause PAHO_MQTT_C_LICENSE_FILES = epl-v10 edl-v10 PAHO_MQTT_C_INSTALL_STAGING = YES diff --git a/package/pango/0001-build-disable-tests-from-building.patch b/package/pango/0001-build-disable-tests-from-building.patch new file mode 100644 index 0000000000..1156c24f07 --- /dev/null +++ b/package/pango/0001-build-disable-tests-from-building.patch @@ -0,0 +1,41 @@ +From 1c503a8b2f127c12e58a6e8ba01743c04061df50 Mon Sep 17 00:00:00 2001 +From: Gustavo Zacarias +Date: Tue, 5 Sep 2017 07:25:17 -0400 +Subject: [PATCH] build: disable tests from building + +Signed-off-by: Gustavo Zacarias +[Adam: refresh for pango 1.40.12] +Signed-off-by: Adam Duskett +--- + Makefile.am | 2 +- + Makefile.in | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 70bf8b0..c69daf0 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,6 +1,6 @@ + ## Process this file with automake to create Makefile.in. + +-SUBDIRS= pango pango-view examples docs tools tests win32 ++SUBDIRS= pango pango-view examples docs tools win32 + + meson_dist_files = \ + pango/pango-features.h.meson \ +diff --git a/Makefile.in b/Makefile.in +index 8489ca1..51f6ada 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -412,7 +412,7 @@ target_alias = @target_alias@ + top_build_prefix = @top_build_prefix@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ +-SUBDIRS = pango pango-view examples docs tools tests win32 ++SUBDIRS = pango pango-view examples docs tools win32 + meson_dist_files = \ + pango/pango-features.h.meson \ + pango-view/meson.build \ +-- +2.13.5 + diff --git a/package/pango/0001-no-tests.patch b/package/pango/0001-no-tests.patch deleted file mode 100644 index 734409db68..0000000000 --- a/package/pango/0001-no-tests.patch +++ /dev/null @@ -1,30 +0,0 @@ -Prevent Pango to build tests. - -Updated to Pango 1.36.3 by Hadrien Boutteville. - -Signed-off-by: Hadrien Boutteville -[Gustavo: update for 1.38.1] - -diff -Nura pango-1.38.1.orig/Makefile.am pango-1.38.1/Makefile.am ---- pango-1.38.1.orig/Makefile.am 2015-10-14 15:41:27.620016974 +0000 -+++ pango-1.38.1/Makefile.am 2015-10-14 15:41:54.431240793 +0000 -@@ -1,6 +1,6 @@ - ## Process this file with automake to create Makefile.in. - --SUBDIRS= pango pango-view examples docs tools tests build -+SUBDIRS= pango pango-view examples docs tools build - - EXTRA_DIST = \ - autogen.sh \ -diff -Nura pango-1.38.1.orig/Makefile.in pango-1.38.1/Makefile.in ---- pango-1.38.1.orig/Makefile.in 2015-10-14 15:41:27.630016685 +0000 -+++ pango-1.38.1/Makefile.in 2015-10-14 15:41:58.753115676 +0000 -@@ -417,7 +417,7 @@ - top_build_prefix = @top_build_prefix@ - top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ --SUBDIRS = pango pango-view examples docs tools tests build -+SUBDIRS = pango pango-view examples docs tools build - EXTRA_DIST = \ - autogen.sh \ - pango.pc.in \ diff --git a/package/pango/Config.in b/package/pango/Config.in index 7813c4ebaf..dd2117aa4a 100644 --- a/package/pango/Config.in +++ b/package/pango/Config.in @@ -11,7 +11,6 @@ config BR2_PACKAGE_PANGO select BR2_PACKAGE_FONTCONFIG select BR2_PACKAGE_FREETYPE select BR2_PACKAGE_HARFBUZZ - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7 help Pango is a library for laying out and rendering of text, with an diff --git a/package/pango/pango.hash b/package/pango/pango.hash index 1ea9f6bdda..1b6da7d32b 100644 --- a/package/pango/pango.hash +++ b/package/pango/pango.hash @@ -1,2 +1,2 @@ -# From http://ftp.gnome.org/pub/GNOME/sources/pango/1.40/pango-1.40.3.sha256sum -sha256 abba8b5ce728520c3a0f1535eab19eac3c14aeef7faa5aded90017ceac2711d3 pango-1.40.3.tar.xz +# From http://ftp.gnome.org/pub/GNOME/sources/pango/1.40/pango-1.40.12.sha256sum +sha256 75f1a9a8e4e2b28cbc078b50c1fa927ee4ded994d1ade97c5603e2d1f3161cfc pango-1.40.12.tar.xz diff --git a/package/pango/pango.mk b/package/pango/pango.mk index b45bf9a949..79283e885c 100644 --- a/package/pango/pango.mk +++ b/package/pango/pango.mk @@ -5,19 +5,19 @@ ################################################################################ PANGO_VERSION_MAJOR = 1.40 -PANGO_VERSION = $(PANGO_VERSION_MAJOR).3 +PANGO_VERSION = $(PANGO_VERSION_MAJOR).12 PANGO_SOURCE = pango-$(PANGO_VERSION).tar.xz PANGO_SITE = http://ftp.gnome.org/pub/GNOME/sources/pango/$(PANGO_VERSION_MAJOR) PANGO_AUTORECONF = YES PANGO_INSTALL_STAGING = YES -PANGO_LICENSE = LGPLv2+ +PANGO_LICENSE = LGPL-2.0+ PANGO_LICENSE_FILES = COPYING PANGO_CONF_OPTS = --enable-explicit-deps=no HOST_PANGO_CONF_OPTS = --enable-explicit-deps=no PANGO_DEPENDENCIES = \ - $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) \ + $(TARGET_NLS_DEPENDENCIES) \ host-pkgconf \ libglib2 \ cairo \ diff --git a/package/pangomm/Config.in b/package/pangomm/Config.in index a7c41a008f..0702b8c5bf 100644 --- a/package/pangomm/Config.in +++ b/package/pangomm/Config.in @@ -1,22 +1,22 @@ config BR2_PACKAGE_PANGOMM bool "pangomm" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz + depends on BR2_INSTALL_LIBSTDCPP # glibmm/pango + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11 + depends on BR2_TOOLCHAIN_HAS_THREADS # *mm/pango -> libglib2 + depends on BR2_USE_MMU # *mm/pango -> libglib2 + depends on BR2_USE_WCHAR # *mm/pango -> libglib2 select BR2_PACKAGE_CAIROMM select BR2_PACKAGE_GLIBMM select BR2_PACKAGE_PANGO select BR2_PACKAGE_LIBSIGC - depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz - depends on BR2_INSTALL_LIBSTDCPP # glibmm/pango - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 - depends on BR2_TOOLCHAIN_HAS_THREADS # *mm/pango -> libglib2 - depends on BR2_USE_MMU # *mm/pango -> libglib2 - depends on BR2_USE_WCHAR # *mm/pango -> libglib2 help The pangomm package is a set of C++ bindings for Pango. http://www.gtkmm.org/ -comment "pangomm needs a toolchain w/ C++, wchar, threads, gcc >= 4.8" +comment "pangomm needs a toolchain w/ C++, wchar, threads, gcc >= 4.9" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 - depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_USE_WCHAR \ + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_USE_WCHAR \ || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/pangomm/pangomm.mk b/package/pangomm/pangomm.mk index 2a85e39fa3..9edcb16474 100644 --- a/package/pangomm/pangomm.mk +++ b/package/pangomm/pangomm.mk @@ -8,7 +8,7 @@ PANGOMM_VERSION_MAJOR = 2.40 PANGOMM_VERSION = $(PANGOMM_VERSION_MAJOR).1 PANGOMM_SOURCE = pangomm-$(PANGOMM_VERSION).tar.xz PANGOMM_SITE = http://ftp.gnome.org/pub/gnome/sources/pangomm/$(PANGOMM_VERSION_MAJOR) -PANGOMM_LICENSE = LGPLv2.1+ (library), GPLv2+ (tools) +PANGOMM_LICENSE = LGPL-2.1+ (library), GPL-2.0+ (tools) PANGOMM_LICENSE_FILES = COPYING COPYING.tools PANGOMM_INSTALL_STAGING = YES PANGOMM_DEPENDENCIES = glibmm cairomm libsigc pango host-pkgconf diff --git a/package/parted/0001-libparted-arch-linux.c-Compile-without-ENABLE_DEVICE.patch b/package/parted/0001-libparted-arch-linux.c-Compile-without-ENABLE_DEVICE.patch new file mode 100644 index 0000000000..1cf699bb12 --- /dev/null +++ b/package/parted/0001-libparted-arch-linux.c-Compile-without-ENABLE_DEVICE.patch @@ -0,0 +1,79 @@ +From 141c4309d7164dcd4e09d137fc075c1726fd8dbb Mon Sep 17 00:00:00 2001 +From: Felix Janda +Date: Sun, 3 May 2015 10:33:15 +0200 +Subject: [PATCH] libparted/arch/linux.c: Compile without ENABLE_DEVICE_MAPPER + +Signed-off-by: Brian C. Lane +Signed-off-by: Yegor Yefremov +--- + libparted/arch/linux.c | 21 +++++++++++++++++---- + 1 file changed, 17 insertions(+), 4 deletions(-) + +diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c +index 0f18904..cf38c6f 100644 +--- a/libparted/arch/linux.c ++++ b/libparted/arch/linux.c +@@ -2304,6 +2304,7 @@ zasprintf (const char *format, ...) + return r < 0 ? NULL : resultp; + } + ++#ifdef ENABLE_DEVICE_MAPPER + static char * + dm_canonical_path (PedDevice const *dev) + { +@@ -2326,14 +2327,21 @@ dm_canonical_path (PedDevice const *dev) + err: + return NULL; + } ++#endif + + static char* + _device_get_part_path (PedDevice const *dev, int num) + { +- char *devpath = (dev->type == PED_DEVICE_DM +- ? dm_canonical_path (dev) : dev->path); +- size_t path_len = strlen (devpath); ++ char *devpath; ++ size_t path_len; + char *result; ++#ifdef ENABLE_DEVICE_MAPPER ++ devpath = (dev->type == PED_DEVICE_DM ++ ? dm_canonical_path (dev) : dev->path); ++#else ++ devpath = dev->path; ++#endif ++ path_len = strlen (devpath); + /* Check for devfs-style /disc => /partN transformation + unconditionally; the system might be using udev with devfs rules, + and if not the test is harmless. */ +@@ -2349,8 +2357,10 @@ _device_get_part_path (PedDevice const *dev, int num) + ? "p" : ""); + result = zasprintf ("%s%s%d", devpath, p, num); + } ++#ifdef ENABLE_DEVICE_MAPPER + if (dev->type == PED_DEVICE_DM) + free (devpath); ++#endif + return result; + } + +@@ -2945,12 +2955,15 @@ _disk_sync_part_table (PedDisk* disk) + unsigned long long *length); + + ++#ifdef ENABLE_DEVICE_MAPPER + if (disk->dev->type == PED_DEVICE_DM) { + add_partition = _dm_add_partition; + remove_partition = _dm_remove_partition; + resize_partition = _dm_resize_partition; + get_partition_start_and_length = _dm_get_partition_start_and_length; +- } else { ++ } else ++#endif ++ { + add_partition = _blkpg_add_partition; + remove_partition = _blkpg_remove_partition; + #ifdef BLKPG_RESIZE_PARTITION +-- +2.14.2 + diff --git a/package/parted/0001-readline-deprecated.patch b/package/parted/0001-readline-deprecated.patch deleted file mode 100644 index a3f40c8df6..0000000000 --- a/package/parted/0001-readline-deprecated.patch +++ /dev/null @@ -1,19 +0,0 @@ -The CPPFunction typedef (among others) have been deprecated in favour of -specific prototyped typedefs since readline 4.2. -It's been working since because compatibility typedefs have been -in place until they were removed in readline 6.3. - -Signed-off-by: Gustavo Zacarias - -diff -Nura parted-3.1.orig/parted/ui.c parted-3.1/parted/ui.c ---- parted-3.1.orig/parted/ui.c 2014-03-01 16:11:41.970827134 -0300 -+++ parted-3.1/parted/ui.c 2014-03-01 16:11:55.540259786 -0300 -@@ -1474,7 +1474,7 @@ - #ifdef HAVE_LIBREADLINE - if (!opt_script_mode) { - rl_initialize (); -- rl_attempted_completion_function = (CPPFunction*) complete_function; -+ rl_attempted_completion_function = (rl_completion_func_t *) complete_function; - readline_state.in_readline = 0; - } - #endif diff --git a/package/parted/0002-configure.ac-uclinux-is-also-linux.patch b/package/parted/0002-configure.ac-uclinux-is-also-linux.patch index b2119bcdd7..5a264ced80 100644 --- a/package/parted/0002-configure.ac-uclinux-is-also-linux.patch +++ b/package/parted/0002-configure.ac-uclinux-is-also-linux.patch @@ -1,4 +1,4 @@ -From b3958317c5ee2940e7024bec2e7f288b5a6a26c3 Mon Sep 17 00:00:00 2001 +From 7697d9c54e489b32b82c01f17db04f8b51857e51 Mon Sep 17 00:00:00 2001 From: Gustavo Zacarias Date: Mon, 30 Jun 2014 10:09:04 -0300 Subject: [PATCH] configure.ac: uclinux is also linux @@ -29,5 +29,5 @@ index 436d0e2..50ad478 100644 AC_SUBST([OS]) -- -1.8.5.5 +2.14.2 diff --git a/package/parted/0003-Include-fcntl.h-to-get-loff_t-definition.patch b/package/parted/0003-Include-fcntl.h-to-get-loff_t-definition.patch new file mode 100644 index 0000000000..752938ab7f --- /dev/null +++ b/package/parted/0003-Include-fcntl.h-to-get-loff_t-definition.patch @@ -0,0 +1,29 @@ +From 2078c07d38ee7841b89ac8d81afc5e8bfcd4f703 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 8 Oct 2017 00:58:58 +0200 +Subject: [PATCH] Include to get loff_t definition + +Patch borrowed from Alpine Linux at +http://git.alpinelinux.org/cgit/aports/plain/main/parted/fix-includes.patch. Solves +build with musl. + +Signed-off-by: Thomas Petazzoni +--- + libparted/fs/xfs/platform_defs.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libparted/fs/xfs/platform_defs.h b/libparted/fs/xfs/platform_defs.h +index 2b55752..17023dc 100644 +--- a/libparted/fs/xfs/platform_defs.h ++++ b/libparted/fs/xfs/platform_defs.h +@@ -35,6 +35,7 @@ + #define __XFS_PLATFORM_DEFS_H__ + + #include ++#include + #include + #include + #include +-- +2.14.2 + diff --git a/package/parted/0003-fix-static-link-uuid.patch b/package/parted/0003-fix-static-link-uuid.patch deleted file mode 100644 index d6ec2cf365..0000000000 --- a/package/parted/0003-fix-static-link-uuid.patch +++ /dev/null @@ -1,48 +0,0 @@ -configure: use pkg-config to find libuuid - -In some conditions, libuuid may be linked with -lintl. This can be the -case on uClibc when locales are enabled. - -When doing a shared link, this dependency is automatically pulled in via -a DT_NEEDED ELF tag - -For a static link, there is no such mechanism to pull in dependent -libraries. - -Currently, the check for libuuid is done with AC_CHECK_LIB, but this -does not handle dependencies, and thus a stattic build fails. - -Use pkg-config to find libuuid, that automatically pulls in the -dependencies of libuuid, if any. - -Signed-off-by: "Yann E. MORIN" - ---- -Note: of course, that relies on the fact that libuuid installs a proper -.pc file; a patch will be submitted upstream shortly. - -But even considering the current situation, where libuuid does not -provide a proper .pc file (yet), this patch does not change the -behaviour we've had so far; it is a bet on the future! ;-) - -diff -durN parted-3.1.orig/configure.ac parted-3.1/configure.ac ---- parted-3.1.orig/configure.ac 2014-11-29 16:27:49.520560137 +0100 -+++ parted-3.1/configure.ac 2014-11-29 16:32:50.799702049 +0100 -@@ -313,16 +313,7 @@ - AC_SUBST([DL_LIBS]) - - dnl Check for libuuid --UUID_LIBS="" --AC_CHECK_LIB([uuid], [uuid_generate], [UUID_LIBS="-luuid"], -- [AC_MSG_ERROR(dnl --[GNU Parted requires libuuid - a part of the util-linux-ng package (but --usually distributed separately in libuuid-devel, uuid-dev or similar) --This can probably be found on your distribution's CD or FTP site or at: -- http://userweb.kernel.org/~kzak/util-linux-ng/ --Note: originally, libuuid was part of the e2fsprogs package. Later, it --moved to util-linux-ng-2.16, and that package is now the preferred source.])]) --AC_SUBST([UUID_LIBS]) -+PKG_CHECK_MODULES([UUID],[uuid]) - - dnl Check for libdevmapper - DM_LIBS= diff --git a/package/parted/0004-fix-includes-for-musl.patch b/package/parted/0004-fix-includes-for-musl.patch deleted file mode 100644 index 28c94ace7c..0000000000 --- a/package/parted/0004-fix-includes-for-musl.patch +++ /dev/null @@ -1,18 +0,0 @@ -Include to get loff_t definition - -Patch borrowed from Alpine Linux at -http://git.alpinelinux.org/cgit/aports/plain/main/parted/fix-includes.patch. Solves -build with musl. - -Signed-off-by: Thomas Petazzoni - ---- parted-3.1.orig/libparted/fs/xfs/platform_defs.h -+++ parted-3.1/libparted/fs/xfs/platform_defs.h -@@ -35,6 +35,7 @@ - #define __XFS_PLATFORM_DEFS_H__ - - #include -+#include - #include - #include - #include diff --git a/package/parted/0004-libparted-labels-link-with-libiconv-if-needed.patch b/package/parted/0004-libparted-labels-link-with-libiconv-if-needed.patch new file mode 100644 index 0000000000..a4a1b00331 --- /dev/null +++ b/package/parted/0004-libparted-labels-link-with-libiconv-if-needed.patch @@ -0,0 +1,54 @@ +From dd17f55b2ac189ccd3b8025e4f6509537d00f9d3 Mon Sep 17 00:00:00 2001 +From: "Arnout Vandecappelle (Essensium/Mind)" +Date: Sun, 8 Oct 2017 00:53:31 +0200 +Subject: [PATCH] libparted/labels: link with libiconv if needed + +gpt.c uses iconv so it should link with it. Otherwise, on platforms +where libiconv is a separate library, we get a link failure of parted: + + CCLD parted + ../libparted/.libs/libparted.so: undefined reference to `libiconv' + ../libparted/.libs/libparted.so: undefined reference to `libiconv_open' + ../libparted/.libs/libparted.so: undefined reference to `libiconv_close' + +Since iconv functionality is needed unconditionally (not only when +gettext is enabled), AM_ICONV needs to be added to configure.ac. + +Upstream status: sent to mailing list +http://lists.alioth.debian.org/pipermail/parted-devel/2017-November/005131.html + +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) +--- + configure.ac | 2 ++ + libparted/labels/Makefile.am | 2 +- + 2 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 50ad478..62f1b4d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -288,6 +288,8 @@ fi + AC_PROG_LIBTOOL + LT_INIT + ++AM_ICONV ++ + AM_GNU_GETTEXT_VERSION([0.18]) + AM_GNU_GETTEXT([external]) + if test "$USE_INCLUDED_LIBINTL" = "yes"; then +diff --git a/libparted/labels/Makefile.am b/libparted/labels/Makefile.am +index c996f81..b204379 100644 +--- a/libparted/labels/Makefile.am ++++ b/libparted/labels/Makefile.am +@@ -35,7 +35,7 @@ liblabels_la_SOURCES = \ + rdb.c \ + sun.c + +-liblabels_la_LIBADD = $(OS_LIBS) $(INTLLIBS) ++liblabels_la_LIBADD = $(OS_LIBS) $(INTLLIBS) $(LIBICONV) + + AM_CPPFLAGS = $(partedincludedir) $(INTLINCS) + +-- +2.14.2 + diff --git a/package/parted/parted.hash b/package/parted/parted.hash index 297b5d7bbd..e31ae3c4ce 100644 --- a/package/parted/parted.hash +++ b/package/parted/parted.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 5e9cc1f91eaf016e5033d85b9b893fd6d3ffaca532a48de1082df9b94225ca15 parted-3.1.tar.xz +sha256 858b589c22297cacdf437f3baff6f04b333087521ab274f7ab677cb8c6bb78e4 parted-3.2.tar.xz diff --git a/package/parted/parted.mk b/package/parted/parted.mk index dc7ff2bd74..1f0428a55b 100644 --- a/package/parted/parted.mk +++ b/package/parted/parted.mk @@ -4,15 +4,16 @@ # ################################################################################ -PARTED_VERSION = 3.1 +PARTED_VERSION = 3.2 PARTED_SOURCE = parted-$(PARTED_VERSION).tar.xz PARTED_SITE = $(BR2_GNU_MIRROR)/parted PARTED_DEPENDENCIES = host-pkgconf util-linux PARTED_INSTALL_STAGING = YES -# For uclinux patch +# 0002-configure.ac-uclinux-is-also-linux.patch +# 0004-libparted-labels-link-with-libiconv-if-needed.patch PARTED_AUTORECONF = YES PARTED_GETTEXTIZE = YES -PARTED_LICENSE = GPLv3+ +PARTED_LICENSE = GPL-3.0+ PARTED_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_READLINE),y) @@ -29,6 +30,10 @@ else PARTED_CONF_OPTS += --disable-device-mapper endif +ifeq ($(BR2_PACKAGE_LIBICONV),y) +PARTED_DEPENDENCIES += libiconv +endif + ifeq ($(BR2_STATIC_LIBS),y) PARTED_CONF_OPTS += --disable-dynamic-loading endif @@ -36,7 +41,7 @@ endif HOST_PARTED_DEPENDENCIES = host-pkgconf host-util-linux HOST_PARTED_CONF_OPTS += \ --without-readline \ - --disable-device-mapper \ + --disable-device-mapper $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/patch/patch.mk b/package/patch/patch.mk index 3a942524f0..4c76a3123b 100644 --- a/package/patch/patch.mk +++ b/package/patch/patch.mk @@ -7,7 +7,7 @@ PATCH_VERSION = 2.7.5 PATCH_SOURCE = patch-$(PATCH_VERSION).tar.xz PATCH_SITE = $(BR2_GNU_MIRROR)/patch -PATCH_LICENSE = GPLv3+ +PATCH_LICENSE = GPL-3.0+ PATCH_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_ATTR),y) diff --git a/package/patchelf/0001-Remove-apparently-incorrect-usage-of-static.patch b/package/patchelf/0001-Remove-apparently-incorrect-usage-of-static.patch new file mode 100644 index 0000000000..dc462eff43 --- /dev/null +++ b/package/patchelf/0001-Remove-apparently-incorrect-usage-of-static.patch @@ -0,0 +1,56 @@ +From 2480efa8411523cf046094492192a5ee451aae5d Mon Sep 17 00:00:00 2001 +From: Eelco Dolstra +Date: Mon, 19 Sep 2016 17:31:37 +0200 +Subject: [PATCH] Remove apparently incorrect usage of "static" + +[Upstream-commit: https://github.com/NixOS/patchelf/commit/a365bcb7d7025da51b33165ef7ebc7180199a05e +This patch also removes the DT_INIT symbols from needed_libs (DT_INIT +points to library initialisation function, not to needed libraries...)] +Signed-off-by: Wolfgang Grandegger +--- + src/patchelf.cc | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +diff --git a/src/patchelf.cc b/src/patchelf.cc +index 136098f..c870638 100644 +--- a/src/patchelf.cc ++++ b/src/patchelf.cc +@@ -941,7 +941,6 @@ void ElfFile::modifySoname(sonameMode op, const string & newS + assert(strTabAddr == rdi(shdrDynStr.sh_addr)); + + /* Walk through the dynamic section, look for the DT_SONAME entry. */ +- static vector neededLibs; + dyn = (Elf_Dyn *) (contents + rdi(shdrDynamic.sh_offset)); + Elf_Dyn * dynSoname = 0; + char * soname = 0; +@@ -949,8 +948,7 @@ void ElfFile::modifySoname(sonameMode op, const string & newS + if (rdi(dyn->d_tag) == DT_SONAME) { + dynSoname = dyn; + soname = strTab + rdi(dyn->d_un.d_val); +- } else if (rdi(dyn->d_tag) == DT_INIT) +- neededLibs.push_back(string(strTab + rdi(dyn->d_un.d_val))); ++ } + } + + if (op == printSoname) { +@@ -1058,7 +1056,7 @@ void ElfFile::modifyRPath(RPathOp op, string newRPath) + unless you use its `--enable-new-dtag' option, in which case it + generates a DT_RPATH and DT_RUNPATH pointing at the same + string. */ +- static vector neededLibs; ++ vector neededLibs; + dyn = (Elf_Dyn *) (contents + rdi(shdrDynamic.sh_offset)); + Elf_Dyn * dynRPath = 0, * dynRunPath = 0; + char * rpath = 0; +@@ -1091,7 +1089,7 @@ void ElfFile::modifyRPath(RPathOp op, string newRPath) + /* For each directory in the RPATH, check if it contains any + needed library. */ + if (op == rpShrink) { +- static vector neededLibFound(neededLibs.size(), false); ++ vector neededLibFound(neededLibs.size(), false); + + newRPath = ""; + +-- +1.9.1 + diff --git a/package/patchelf/0002-Extract-a-function-for-splitting-a-colon-separated-s.patch b/package/patchelf/0002-Extract-a-function-for-splitting-a-colon-separated-s.patch new file mode 100644 index 0000000000..330bea23bc --- /dev/null +++ b/package/patchelf/0002-Extract-a-function-for-splitting-a-colon-separated-s.patch @@ -0,0 +1,63 @@ +From a8452dc7e80eb17572c7458e33a4f4d609e6a3da Mon Sep 17 00:00:00 2001 +From: Tuomas Tynkkynen +Date: Fri, 3 Jun 2016 23:03:51 +0300 +Subject: [PATCH] Extract a function for splitting a colon-separated string + +We're going to need this logic in another place, so make a function of +this. + +[Upstream-commit: https://github.com/NixOS/patchelf/commit/2e3fdc2030c75c19df6fc2924083cfad53856562] +Signed-off-by: Wolfgang Grandegger +--- + src/patchelf.cc | 28 +++++++++++++++++++--------- + 1 file changed, 19 insertions(+), 9 deletions(-) + +diff --git a/src/patchelf.cc b/src/patchelf.cc +index c870638..1d9a772 100644 +--- a/src/patchelf.cc ++++ b/src/patchelf.cc +@@ -57,6 +57,22 @@ unsigned char * contents = 0; + #define ElfFileParamNames Elf_Ehdr, Elf_Phdr, Elf_Shdr, Elf_Addr, Elf_Off, Elf_Dyn, Elf_Sym + + ++static vector splitColonDelimitedString(const char * s){ ++ vector parts; ++ const char * pos = s; ++ while (*pos) { ++ const char * end = strchr(pos, ':'); ++ if (!end) end = strchr(pos, 0); ++ ++ parts.push_back(string(pos, end - pos)); ++ if (*end == ':') ++end; ++ pos = end; ++ } ++ ++ return parts; ++} ++ ++ + static unsigned int getPageSize(){ + return pageSize; + } +@@ -1093,15 +1109,9 @@ void ElfFile::modifyRPath(RPathOp op, string newRPath) + + newRPath = ""; + +- char * pos = rpath; +- while (*pos) { +- char * end = strchr(pos, ':'); +- if (!end) end = strchr(pos, 0); +- +- /* Get the name of the directory. */ +- string dirName(pos, end - pos); +- if (*end == ':') ++end; +- pos = end; ++ vector rpathDirs = splitColonDelimitedString(rpath); ++ for (vector::iterator it = rpathDirs.begin(); it != rpathDirs.end(); ++it) { ++ const string & dirName = *it; + + /* Non-absolute entries are allowed (e.g., the special + "$ORIGIN" hack). */ +-- +1.9.1 + diff --git a/package/patchelf/0003-Add-option-to-make-the-rpath-relative-under-a-specif.patch b/package/patchelf/0003-Add-option-to-make-the-rpath-relative-under-a-specif.patch new file mode 100644 index 0000000000..feec627680 --- /dev/null +++ b/package/patchelf/0003-Add-option-to-make-the-rpath-relative-under-a-specif.patch @@ -0,0 +1,332 @@ +From 618220bfb55c875d6a4d197cb24fe632ac93ec85 Mon Sep 17 00:00:00 2001 +From: Wolfgang Grandegger +Date: Mon, 20 Feb 2017 16:29:24 +0100 +Subject: [PATCH] Add option to make the rpath relative under a specified root + directory + +Running "patchelf" with the option "--make-rpath-relative ROOTDIR" will +modify or delete the RPATHDIRs according the following rules +similar to Martin's patches [1] making the Buildroot toolchaing/SDK +relocatable. + +RPATHDIR starts with "$ORIGIN": + The original build-system already took care of setting a relative + RPATH, resolve it and test if it's valid (does exist) + +RPATHDIR starts with ROOTDIR: + The original build-system added some absolute RPATH (absolute on + the build machine). Test if it's valid (does exist). + +ROOTDIR/RPATHDIR exists: + The original build-system already took care of setting an absolute + RPATH (absolute in the final rootfs), resolve it and test if it's + valid (does exist). + +RPATHDIR points somewhere else: + (can be anywhere: build trees, staging tree, host location, + non-existing location, etc.). Just discard such a path. + +The option "--no-standard-libs" will discard RPATHDIRs ROOTDIR/lib and +ROOTDIR/usr/lib. Like "--shrink-rpath", RPATHDIRs are also discarded +if the directories do not contain a library referenced by the +DT_NEEDED fields. +If the option "--relative-to-file" is given, the rpath will start +with "$ORIGIN" making it relative to the ELF file, otherwise an +absolute path relative to ROOTDIR will be used. + +A pull request for a similar patch [2] for mainline inclusion is +pending. + +[1] http://lists.busybox.net/pipermail/buildroot/2016-April/159422.html +[2] https://github.com/NixOS/patchelf/pull/118 + +Signed-off-by: Wolfgang Grandegger +--- + src/patchelf.cc | 196 ++++++++++++++++++++++++++++++++++++++++++++++++++------ + 1 file changed, 175 insertions(+), 21 deletions(-) + +diff --git a/src/patchelf.cc b/src/patchelf.cc +index 1d9a772..35b4a33 100644 +--- a/src/patchelf.cc ++++ b/src/patchelf.cc +@@ -46,6 +46,10 @@ static bool debugMode = false; + + static bool forceRPath = false; + ++static bool noStandardLibDirs = false; ++ ++static bool relativeToFile = false; ++ + static string fileName; + static int pageSize = PAGESIZE; + +@@ -77,6 +81,49 @@ static unsigned int getPageSize(){ + return pageSize; + } + ++static bool absolutePathExists(const string & path, string & canonicalPath) ++{ ++ char *cpath = realpath(path.c_str(), NULL); ++ if (cpath) { ++ canonicalPath = cpath; ++ free(cpath); ++ return true; ++ } else { ++ return false; ++ } ++} ++ ++static string makePathRelative(const string & path, ++ const string & refPath) ++{ ++ string relPath = "$ORIGIN"; ++ string p = path, refP = refPath; ++ size_t pos; ++ ++ /* Strip the common part of path and refPath */ ++ while (true) { ++ pos = p.find_first_of('/', 1); ++ if (refP.find_first_of('/', 1) != pos) ++ break; ++ if (p.substr(0, pos) != refP.substr(0, pos)) ++ break; ++ if (pos == string::npos) ++ break; ++ p = p.substr(pos); ++ refP = refP.substr(pos); ++ } ++ /* Check if both pathes are equal */ ++ if (p != refP) { ++ pos = 0; ++ while (pos != string::npos) { ++ pos =refP.find_first_of('/', pos + 1); ++ relPath.append("/.."); ++ } ++ relPath.append(p); ++ } ++ ++ return relPath; ++} + + template + class ElfFile +@@ -183,9 +230,13 @@ public: + + void setInterpreter(const string & newInterpreter); + +- typedef enum { rpPrint, rpShrink, rpSet, rpRemove } RPathOp; ++ typedef enum { rpPrint, rpShrink, rpMakeRelative, rpSet, rpRemove} RPathOp; ++ ++ bool libFoundInRPath(const string & dirName, ++ const vector neededLibs, ++ vector & neededLibFound); + +- void modifyRPath(RPathOp op, string newRPath); ++ void modifyRPath(RPathOp op, string rootDir, string newRPath); + + void addNeeded(set libs); + +@@ -1041,7 +1092,27 @@ static void concatToRPath(string & rpath, const string & path) + + + template +-void ElfFile::modifyRPath(RPathOp op, string newRPath) ++bool ElfFile::libFoundInRPath(const string & dirName, ++ const vector neededLibs, vector & neededLibFound) ++{ ++ /* For each library that we haven't found yet, see if it ++ exists in this directory. */ ++ bool libFound = false; ++ for (unsigned int j = 0; j < neededLibs.size(); ++j) ++ if (!neededLibFound[j]) { ++ string libName = dirName + "/" + neededLibs[j]; ++ struct stat st; ++ if (stat(libName.c_str(), &st) == 0) { ++ neededLibFound[j] = true; ++ libFound = true; ++ } ++ } ++ return libFound; ++} ++ ++ ++template ++void ElfFile::modifyRPath(RPathOp op, string rootDir, string newRPath) + { + Elf_Shdr & shdrDynamic = findSection(".dynamic"); + +@@ -1096,6 +1167,11 @@ void ElfFile::modifyRPath(RPathOp op, string newRPath) + return; + } + ++ if (op == rpMakeRelative && !rpath) { ++ debug("no RPATH to make relative\n"); ++ return; ++ } ++ + if (op == rpShrink && !rpath) { + debug("no RPATH to shrink\n"); + return; +@@ -1120,26 +1196,86 @@ void ElfFile::modifyRPath(RPathOp op, string newRPath) + continue; + } + +- /* For each library that we haven't found yet, see if it +- exists in this directory. */ +- bool libFound = false; +- for (unsigned int j = 0; j < neededLibs.size(); ++j) +- if (!neededLibFound[j]) { +- string libName = dirName + "/" + neededLibs[j]; +- struct stat st; +- if (stat(libName.c_str(), &st) == 0) { +- neededLibFound[j] = true; +- libFound = true; +- } +- } +- +- if (!libFound) ++ if (!libFoundInRPath(dirName, neededLibs, neededLibFound)) + debug("removing directory `%s' from RPATH\n", dirName.c_str()); + else + concatToRPath(newRPath, dirName); + } + } + ++ /* Make the the RPATH relative to the specified path */ ++ if (op == rpMakeRelative) { ++ vector neededLibFound(neededLibs.size(), false); ++ string fileDir = fileName.substr(0, fileName.find_last_of("/")); ++ ++ newRPath = ""; ++ ++ vector rpathDirs = splitColonDelimitedString(rpath); ++ for (vector::iterator it = rpathDirs.begin(); it != rpathDirs.end(); ++it) { ++ const string & dirName = *it; ++ ++ string canonicalPath; ++ ++ /* Figure out if we should keep or discard the path. There are several ++ cases to be handled: ++ "dirName" starts with "$ORIGIN": ++ The original build-system already took care of setting a relative ++ RPATH. Resolve it and test if it's valid (does exist). ++ "dirName" start with "rootDir": ++ The original build-system added some absolute RPATH (absolute on ++ the build machine). Test if it's valid (does exist). ++ "rootDir"/"dirName" exists: ++ The original build-system already took care of setting an absolute ++ RPATH (absolute in the final rootfs). Resolve it and test if it's ++ valid (does exist). ++ "dirName" points somewhere else: ++ (can be anywhere: build trees, staging tree, host location, ++ non-existing location, etc.). Just discard such a path. */ ++ if (!dirName.compare(0, 7, "$ORIGIN")) { ++ string path = fileDir + dirName.substr(7); ++ if (!absolutePathExists(path, canonicalPath)) { ++ debug("removing directory '%s' from RPATH because '%s' doesn't exist\n", ++ dirName.c_str(), path.c_str()); ++ continue; ++ } ++ } else if (!dirName.compare(0, rootDir.length(), rootDir)) { ++ if (!absolutePathExists(dirName, canonicalPath)) { ++ debug("removing directory '%s' from RPATH because it doesn't exist\n", dirName.c_str()); ++ continue; ++ } ++ } else { ++ string path = rootDir + dirName; ++ if (!absolutePathExists(path, canonicalPath)) { ++ debug("removing directory '%s' from RPATH because it's not in rootdir\n", ++ dirName.c_str()); ++ continue; ++ } ++ } ++ ++ if (noStandardLibDirs) { ++ if (!canonicalPath.compare(rootDir + "/lib") || ++ !canonicalPath.compare(rootDir + "/usr/lib")) { ++ debug("removing directory '%s' from RPATH because it's a standard library directory\n", ++ dirName.c_str()); ++ continue; ++ } ++ } ++ ++ if (!libFoundInRPath(canonicalPath, neededLibs, neededLibFound)) { ++ debug("removing directory '%s' from RPATH because it does not contain needed libs\n", ++ dirName.c_str()); ++ continue; ++ } ++ ++ /* Finally make "canonicalPath" relative to "filedir" in "rootDir" */ ++ if (relativeToFile) ++ concatToRPath(newRPath, makePathRelative(canonicalPath, fileDir)); ++ else ++ concatToRPath(newRPath, canonicalPath.substr(rootDir.length())); ++ debug("keeping relative path of %s\n", canonicalPath.c_str()); ++ } ++ } ++ + if (op == rpRemove) { + if (!rpath) { + debug("no RPATH to delete\n"); +@@ -1413,7 +1549,9 @@ static bool shrinkRPath = false; + static bool removeRPath = false; + static bool setRPath = false; + static bool printRPath = false; ++static bool makeRPathRelative = false; + static string newRPath; ++static string rootDir; + static set neededLibsToRemove; + static map neededLibsToReplace; + static set neededLibsToAdd; +@@ -1438,14 +1576,16 @@ static void patchElf2(ElfFile & elfFile) + elfFile.setInterpreter(newInterpreter); + + if (printRPath) +- elfFile.modifyRPath(elfFile.rpPrint, ""); ++ elfFile.modifyRPath(elfFile.rpPrint, "", ""); + + if (shrinkRPath) +- elfFile.modifyRPath(elfFile.rpShrink, ""); ++ elfFile.modifyRPath(elfFile.rpShrink, "", ""); + else if (removeRPath) +- elfFile.modifyRPath(elfFile.rpRemove, ""); ++ elfFile.modifyRPath(elfFile.rpRemove, "", ""); + else if (setRPath) +- elfFile.modifyRPath(elfFile.rpSet, newRPath); ++ elfFile.modifyRPath(elfFile.rpSet, "", newRPath); ++ else if (makeRPathRelative) ++ elfFile.modifyRPath(elfFile.rpMakeRelative, rootDir, ""); + + if (printNeeded) elfFile.printNeededLibs(); + +@@ -1508,6 +1648,9 @@ void showHelp(const string & progName) + [--set-rpath RPATH]\n\ + [--remove-rpath]\n\ + [--shrink-rpath]\n\ ++ [--make-rpath-relative ROOTDIR]\n\ ++ [--no-standard-lib-dirs]\n\ ++ [--relative-to-file]\n\ + [--print-rpath]\n\ + [--force-rpath]\n\ + [--add-needed LIBRARY]\n\ +@@ -1564,6 +1707,17 @@ int main(int argc, char * * argv) + setRPath = true; + newRPath = argv[i]; + } ++ else if (arg == "--make-rpath-relative") { ++ if (++i == argc) error("missing argument to --make-rpath-relative"); ++ makeRPathRelative = true; ++ rootDir = argv[i]; ++ } ++ else if (arg == "--no-standard-lib-dirs") { ++ noStandardLibDirs = true; ++ } ++ else if (arg == "--relative-to-file") { ++ relativeToFile = true; ++ } + else if (arg == "--print-rpath") { + printRPath = true; + } +-- +1.9.1 + diff --git a/package/patchelf/Config.in.host b/package/patchelf/Config.in.host index d1c8375704..6abe78e235 100644 --- a/package/patchelf/Config.in.host +++ b/package/patchelf/Config.in.host @@ -1,5 +1,6 @@ config BR2_PACKAGE_HOST_PATCHELF - bool "host patchelf" + bool + default y help PatchELF is a small utility to modify the dynamic linker and RPATH of ELF executables. diff --git a/package/patchelf/patchelf.hash b/package/patchelf/patchelf.hash index 653eb466bf..0f54560908 100644 --- a/package/patchelf/patchelf.hash +++ b/package/patchelf/patchelf.hash @@ -1,2 +1,4 @@ # Locally calculated sha256 a0f65c1ba148890e9f2f7823f4bedf7ecad5417772f64f994004f59a39014f83 patchelf-0.9.tar.bz2 +# License files, locally calculated +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/patchelf/patchelf.mk b/package/patchelf/patchelf.mk index cf2e43a730..74e6cccdbe 100644 --- a/package/patchelf/patchelf.mk +++ b/package/patchelf/patchelf.mk @@ -7,7 +7,7 @@ PATCHELF_VERSION = 0.9 PATCHELF_SITE = http://releases.nixos.org/patchelf/patchelf-$(PATCHELF_VERSION) PATCHELF_SOURCE = patchelf-$(PATCHELF_VERSION).tar.bz2 -PATCHELF_LICENSE = GPLv3+ +PATCHELF_LICENSE = GPL-3.0+ PATCHELF_LICENSE_FILES = COPYING $(eval $(host-autotools-package)) diff --git a/package/pax-utils/Config.in b/package/pax-utils/Config.in index e61d9b31f7..58100e482a 100644 --- a/package/pax-utils/Config.in +++ b/package/pax-utils/Config.in @@ -1,11 +1,7 @@ config BR2_PACKAGE_PAX_UTILS bool "pax-utils" - depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5 # needs PR_SET_NO_NEW_PRIVS help ELF related utils for ELF 32/64 binaries that can check files for security relevant properties. http://www.gentoo.org/proj/en/hardened/pax-utils.xml - -comment "pax-utils needs a toolchain w/ headers >= 3.5" - depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5 diff --git a/package/pax-utils/pax-utils.hash b/package/pax-utils/pax-utils.hash index 399bae40da..c755896022 100644 --- a/package/pax-utils/pax-utils.hash +++ b/package/pax-utils/pax-utils.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 796860fbd48c5f811e699e8492dc1110459bad0a62efa8d346b74a4f6f556414 pax-utils-1.1.4.tar.xz +sha256 7f4a7f8db6b4743adde7582fa48992ad01776796fcde030683732f56221337d9 pax-utils-1.2.2.tar.xz diff --git a/package/pax-utils/pax-utils.mk b/package/pax-utils/pax-utils.mk index 8d5f3eea73..b31468eca2 100644 --- a/package/pax-utils/pax-utils.mk +++ b/package/pax-utils/pax-utils.mk @@ -4,10 +4,10 @@ # ################################################################################ -PAX_UTILS_VERSION = 1.1.4 +PAX_UTILS_VERSION = 1.2.2 PAX_UTILS_SITE = http://distfiles.gentoo.org/distfiles PAX_UTILS_SOURCE = pax-utils-$(PAX_UTILS_VERSION).tar.xz -PAX_UTILS_LICENSE = GPLv2 +PAX_UTILS_LICENSE = GPL-2.0 PAX_UTILS_LICENSE_FILES = COPYING PAX_UTILS_DEPENDENCIES = host-pkgconf diff --git a/package/paxtest/0001-genpaxtest-move-log-location.patch b/package/paxtest/0001-genpaxtest-move-log-location.patch new file mode 100644 index 0000000000..6447d53c96 --- /dev/null +++ b/package/paxtest/0001-genpaxtest-move-log-location.patch @@ -0,0 +1,30 @@ +From 623d99e4f557ef9cd771006e4f916c12d22a07a8 Mon Sep 17 00:00:00 2001 +From: David Graziano +Date: Mon, 12 Jun 2017 10:41:45 -0500 +Subject: [PATCH] genpaxtest: move log location + +Move log location to /var/log instead of local directory. +(For read-only filesystems) + +Signed-off-by: David Graziano +--- + genpaxtest | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/genpaxtest b/genpaxtest +index 5a22e15..d62b15e 100644 +--- a/genpaxtest ++++ b/genpaxtest +@@ -35,7 +35,7 @@ + exit 1 + fi + +-LOG=\$HOME/paxtest.log ++LOG=/var/log/paxtest.log + [ -n "\$1" ] && LOG=\$1 + touch "\$LOG" + if [ ! -e "\$LOG" ]; then + +-- +1.9.1 + diff --git a/package/paxtest/0002-paxtest-page-alignment-ARM-and-NIOS2-arch.patch b/package/paxtest/0002-paxtest-page-alignment-ARM-and-NIOS2-arch.patch new file mode 100644 index 0000000000..54e5e69e71 --- /dev/null +++ b/package/paxtest/0002-paxtest-page-alignment-ARM-and-NIOS2-arch.patch @@ -0,0 +1,49 @@ +From 70406ad5668a15fedce2ae1ed3bc4fad04d9f040 Mon Sep 17 00:00:00 2001 +From: Matt Weber +Date: Wed, 5 Jul 2017 20:47:42 -0500 +Subject: [PATCH] paxtest: page alignment ARM and NIOS2 arch + +- Extended ARM range from ARMv6-v7 to also include anything below v7 +- Added NIOS2 arch to conditionally have smaller alignment + +Submitted Upstream to pageexec@freemail.hu. Also posted a +bug to both (Hardened) Suse and Gentoo's bugtrackers. +https://bugzilla.opensuse.org/show_bug.cgi?id=1047422 +https://bugs.gentoo.org/show_bug.cgi?id=623946 + +Signed-off-by: Matthew Weber +--- + paxtest.h | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +diff --git a/paxtest.h b/paxtest.h +index 8623bfb..a230c1a 100644 +--- a/paxtest.h ++++ b/paxtest.h +@@ -5,13 +5,21 @@ + #include + + /* +- * ARMv6 and ARMv7 do not like 64k alignment, 32k is ok ++ * Earlier ARMv# through ARMv7 do not like 64k alignment, 32k is ok + */ +-#if defined(__arm__) && __ARM_ARCH >= 6 && __ARM_ARCH <= 7 ++#if defined(__arm__) && __ARM_ARCH <= 7 + #define PAGE_SIZE_MAX (32768) + #else + #define PAGE_SIZE_MAX 0x10000 /* 64k should cover most arches */ + #endif ++ ++/* ++ * NIOS2's assemblier doesn't like 64k alignment ++ */ ++#if defined(__nios2_arch__) ++#define PAGE_SIZE_MAX (32768) ++#endif ++ + #ifndef __aligned + #define __aligned(x) __attribute__((aligned(x))) + #endif +-- +1.9.1 + diff --git a/package/paxtest/Config.in b/package/paxtest/Config.in new file mode 100644 index 0000000000..1e09820ba3 --- /dev/null +++ b/package/paxtest/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_PAXTEST + bool "paxtest" + # No UCLIBC or MUSL because __NO_A_OUT_SUPPORT + depends on BR2_TOOLCHAIN_USES_GLIBC + help + PaX regression test suite + + http://pax.grsecurity.net/docs + +comment "paxtest needs a glibc toolchain" + depends on !BR2_TOOLCHAIN_USES_GLIBC diff --git a/package/paxtest/paxtest.hash b/package/paxtest/paxtest.hash new file mode 100644 index 0000000000..c10566c5a7 --- /dev/null +++ b/package/paxtest/paxtest.hash @@ -0,0 +1,2 @@ +# Locally computed: +sha256 d553848431fd8c2ab6c8361b62e5cedfed1cc1d60088241f4a33d2af15dd667f paxtest-0.9.15.tar.gz diff --git a/package/paxtest/paxtest.mk b/package/paxtest/paxtest.mk new file mode 100644 index 0000000000..e632e222c3 --- /dev/null +++ b/package/paxtest/paxtest.mk @@ -0,0 +1,30 @@ +################################################################################ +# +# paxtest +# +################################################################################ + +PAXTEST_VERSION = 0.9.15 +PAXTEST_SITE = https://www.grsecurity.net/~spender +PAXTEST_LICENSE = GPL-2.0+ +PAXTEST_LICENSE_FILES = README + +define PAXTEST_BUILD_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ + RUNDIR="/usr/lib/paxtest" CC="$(TARGET_CC)" LD="$(TARGET_CC)" linux +endef + +# The files installed to RUNDIR include test apps and shared libs. +# Assuming /usr/bin/paxtest script solely uses these libs and apps, the +# genpaxtest script updates LD_LIBRARY_PATH in the paxtest script +# as part of the paxtest's creation to include the RUNDIR path for shared +# library use. +define PAXTEST_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ + CC="$(TARGET_CC)" LD="$(TARGET_CC)" \ + DESTDIR=$(TARGET_DIR) \ + BINDIR="usr/bin" \ + RUNDIR="/usr/lib/paxtest" -f Makefile.psm install +endef + +$(eval $(generic-package)) diff --git a/package/pciutils/pciutils.hash b/package/pciutils/pciutils.hash index 2572c35bca..80d7041a4f 100644 --- a/package/pciutils/pciutils.hash +++ b/package/pciutils/pciutils.hash @@ -1,2 +1,2 @@ # From https://www.kernel.org/pub/software/utils/pciutils/sha256sums.asc -sha256 3a99141a9f40528d0a0035665a06dc37ddb1ae341658e51b50a76ecf86235efc pciutils-3.5.2.tar.xz +sha256 1d62f8fa192f90e61c35a6fc15ff3cb9a7a792f782407acc42ef67817c5939f5 pciutils-3.5.5.tar.xz diff --git a/package/pciutils/pciutils.mk b/package/pciutils/pciutils.mk index e65eadcaf1..2dd5771f21 100644 --- a/package/pciutils/pciutils.mk +++ b/package/pciutils/pciutils.mk @@ -4,11 +4,11 @@ # ################################################################################ -PCIUTILS_VERSION = 3.5.2 +PCIUTILS_VERSION = 3.5.5 PCIUTILS_SITE = $(BR2_KERNEL_MIRROR)/software/utils/pciutils PCIUTILS_SOURCE = pciutils-$(PCIUTILS_VERSION).tar.xz PCIUTILS_INSTALL_STAGING = YES -PCIUTILS_LICENSE = GPLv2+ +PCIUTILS_LICENSE = GPL-2.0+ PCIUTILS_LICENSE_FILES = COPYING PCIUTILS_MAKE_OPTS = \ CC="$(TARGET_CC)" \ diff --git a/package/pcmanfm/Config.in b/package/pcmanfm/Config.in index 40ebbdfcb4..979e74777d 100644 --- a/package/pcmanfm/Config.in +++ b/package/pcmanfm/Config.in @@ -1,15 +1,15 @@ config BR2_PACKAGE_PCMANFM bool "pcmanfm" - select BR2_PACKAGE_LIBFM - select BR2_PACKAGE_MENU_CACHE - select BR2_PACKAGE_LIBGLIB2 - select BR2_PACKAGE_LIBGTK2 if !BR2_PACKAGE_LIBGTK3_X11 depends on BR2_PACKAGE_XORG7 depends on BR2_USE_WCHAR # libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_USE_MMU # libglib2 depends on BR2_INSTALL_LIBSTDCPP # libgtk2 depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libgtk2 -> pango -> harfbuzz + select BR2_PACKAGE_LIBFM + select BR2_PACKAGE_MENU_CACHE + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBGTK2 if !BR2_PACKAGE_LIBGTK3_X11 help PCMan File Manager (PCManFM) is a file manager application developed by Hong Jen Yee from Taiwan which is meant to be a replacement for diff --git a/package/pcmanfm/pcmanfm.hash b/package/pcmanfm/pcmanfm.hash index cb0d20669e..155e9beb82 100644 --- a/package/pcmanfm/pcmanfm.hash +++ b/package/pcmanfm/pcmanfm.hash @@ -1,3 +1,3 @@ # From https://sourceforge.net/projects/pcmanfm/files/PCManFM%20%2B%20Libfm%20%28tarball%20release%29/PCManFM/ -md5 19764c2f59653724c8713e0064fa6829 pcmanfm-1.2.4.tar.xz -sha1 4768ee564a36021977e4af8c33270b6835b3391d pcmanfm-1.2.4.tar.xz +md5 b4d1f8ce08d87e4f27805a246fc51ac2 pcmanfm-1.2.5.tar.xz +sha1 9a8a2b4abebdf859e5ba2486eff84d505ad17b89 pcmanfm-1.2.5.tar.xz diff --git a/package/pcmanfm/pcmanfm.mk b/package/pcmanfm/pcmanfm.mk index e361909375..31acae65bc 100644 --- a/package/pcmanfm/pcmanfm.mk +++ b/package/pcmanfm/pcmanfm.mk @@ -4,11 +4,11 @@ # ################################################################################ -PCMANFM_VERSION = 1.2.4 +PCMANFM_VERSION = 1.2.5 PCMANFM_SOURCE = pcmanfm-$(PCMANFM_VERSION).tar.xz PCMANFM_SITE = http://sourceforge.net/projects/pcmanfm/files PCMANFM_DEPENDENCIES = libglib2 menu-cache libfm -PCMANFM_LICENSE = GPLv2+ +PCMANFM_LICENSE = GPL-2.0+ PCMANFM_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y) diff --git a/package/pcre/pcre.hash b/package/pcre/pcre.hash index 4c3c6c32ea..fc0bb98d05 100644 --- a/package/pcre/pcre.hash +++ b/package/pcre/pcre.hash @@ -1,2 +1,4 @@ # Locally calculated after checking pgp signature -sha256 00e27a29ead4267e3de8111fcaa59b132d0533cdfdbdddf4b0604279acbcf4f4 pcre-8.40.tar.bz2 +sha256 e62c7eac5ae7c0e7286db61ff82912e1c0b7a0c13706616e94a7dd729321b530 pcre-8.41.tar.bz2 +# License files, locally calculated +sha256 9ac4dfc82b2645ff77b56b759f95f28aa15ab15a03670fa6d4313a6b351e60f0 LICENCE diff --git a/package/pcre/pcre.mk b/package/pcre/pcre.mk index 211e2359af..b12b00dd66 100644 --- a/package/pcre/pcre.mk +++ b/package/pcre/pcre.mk @@ -4,10 +4,10 @@ # ################################################################################ -PCRE_VERSION = 8.40 -PCRE_SITE = ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre +PCRE_VERSION = 8.41 +PCRE_SITE = https://ftp.pcre.org/pub/pcre PCRE_SOURCE = pcre-$(PCRE_VERSION).tar.bz2 -PCRE_LICENSE = BSD-3c +PCRE_LICENSE = BSD-3-Clause PCRE_LICENSE_FILES = LICENCE PCRE_INSTALL_STAGING = YES PCRE_CONFIG_SCRIPTS = pcre-config diff --git a/package/pcre2/Config.in b/package/pcre2/Config.in new file mode 100644 index 0000000000..b49d306ff5 --- /dev/null +++ b/package/pcre2/Config.in @@ -0,0 +1,22 @@ +config BR2_PACKAGE_PCRE2 + bool "pcre2" + help + Perl Compatible Regular Expressions. By default, only the + 8-bits libpcre2 is built. To get the 16-bits and/or 32-bits + variants libpcre2-16/libpcre2-32, use the package sub-options. + + http://www.pcre.org/ + +if BR2_PACKAGE_PCRE2 + +config BR2_PACKAGE_PCRE2_16 + bool "16-bit pcre2" + help + This option builds the 16-bits pcre2 library, i.e 'libpcre2-16' + +config BR2_PACKAGE_PCRE2_32 + bool "32-bit pcre2" + help + This option builds the 32-bits pcre2 library, i.e 'libpcre2-32' + +endif diff --git a/package/pcre2/pcre2.hash b/package/pcre2/pcre2.hash new file mode 100644 index 0000000000..7b125dda9d --- /dev/null +++ b/package/pcre2/pcre2.hash @@ -0,0 +1,2 @@ +# Locally calculated after checking pgp signature at https://ftp.pcre.org/pub/pcre/pcre2-10.30.tar.bz2.sig +sha256 90bd41c605d30e3745771eb81928d779f158081a51b2f314bbcc1f73de5773db pcre2-10.30.tar.bz2 diff --git a/package/pcre2/pcre2.mk b/package/pcre2/pcre2.mk new file mode 100644 index 0000000000..3844622858 --- /dev/null +++ b/package/pcre2/pcre2.mk @@ -0,0 +1,25 @@ +################################################################################ +# +# pcre2 +# +################################################################################ + +PCRE2_VERSION = 10.30 +PCRE2_SITE = https://ftp.pcre.org/pub/pcre +PCRE2_SOURCE = pcre2-$(PCRE2_VERSION).tar.bz2 +PCRE2_LICENSE = BSD-3-Clause +PCRE2_LICENSE_FILES = LICENCE +PCRE2_INSTALL_STAGING = YES +PCRE2_CONFIG_SCRIPTS = pcre2-config + +PCRE2_CONF_OPTS += --enable-pcre2-8 +PCRE2_CONF_OPTS += $(if $(BR2_PACKAGE_PCRE2_16),--enable-pcre2-16,--disable-pcre2-16) +PCRE2_CONF_OPTS += $(if $(BR2_PACKAGE_PCRE2_32),--enable-pcre2-32,--disable-pcre2-32) + +# disable fork usage if not available +ifeq ($(BR2_USE_MMU),) +PCRE2_CONF_OPTS += --disable-pcre2grep-callout +endif + +$(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/pcsc-lite/pcsc-lite.hash b/package/pcsc-lite/pcsc-lite.hash index 3adb865245..efd974930d 100644 --- a/package/pcsc-lite/pcsc-lite.hash +++ b/package/pcsc-lite/pcsc-lite.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 607c4bd730526d282a63edb2ba4ee043f497877be642c5c647e37995e21f2612 pcsc-lite-1.8.10.tar.bz2 +sha256 ec7d0114016c788c1c09859c84860f6cec6c4595436d23245105154b9c046bb2 pcsc-lite-1.8.22.tar.bz2 diff --git a/package/pcsc-lite/pcsc-lite.mk b/package/pcsc-lite/pcsc-lite.mk index e53c004e8b..15c37f9ef0 100644 --- a/package/pcsc-lite/pcsc-lite.mk +++ b/package/pcsc-lite/pcsc-lite.mk @@ -4,12 +4,12 @@ # ################################################################################ -PCSC_LITE_VERSION = 1.8.10 +PCSC_LITE_VERSION = 1.8.22 PCSC_LITE_SOURCE = pcsc-lite-$(PCSC_LITE_VERSION).tar.bz2 -PCSC_LITE_SITE = http://alioth.debian.org/frs/download.php/file/3963 +PCSC_LITE_SITE = http://alioth.debian.org/frs/download.php/file/4203 PCSC_LITE_INSTALL_STAGING = YES PCSC_LITE_DEPENDENCIES = host-pkgconf -PCSC_LITE_LICENSE = BSD-3c +PCSC_LITE_LICENSE = BSD-3-Clause PCSC_LITE_LICENSE_FILES = COPYING PCSC_LITE_AUTORECONF = YES @@ -37,4 +37,10 @@ ifeq ($(PACKAGE_PCSC_LITE_EMBEDDED),y) PCSC_LITE_CONF_OPTS += --enable-embedded endif +define PCSC_LITE_INSTALL_INIT_SYSTEMD + mkdir -p $(TARGET_DIR)/etc/systemd/system/sockets.target.wants + ln -sf ../../../../usr/lib/systemd/system/pcscd.socket \ + $(TARGET_DIR)/etc/systemd/system/sockets.target.wants/pcscd.socket +endef + $(eval $(autotools-package)) diff --git a/package/pdbg/0001-template.S-fix-to-build-on-architecture-with-non-emp.patch b/package/pdbg/0001-template.S-fix-to-build-on-architecture-with-non-emp.patch new file mode 100644 index 0000000000..15c0eef611 --- /dev/null +++ b/package/pdbg/0001-template.S-fix-to-build-on-architecture-with-non-emp.patch @@ -0,0 +1,63 @@ +From 50ae93273376ede704012030009c29bd58d6a569 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 26 Nov 2017 16:22:25 +0100 +Subject: [PATCH] template.S: fix to build on architecture with non-empty + __USER_LABEL_PREFIX__ + +Blackfin has a non-empty __USER_LABEL_PREFIX__, which means that a +symbol called "foo" in C must be named "_foo" in assembler. + +Interestingly, it seems like "$(CC) -xassembler - -c" doesn't pass the +input source file through the C preprocessor, so we do this +explicitly. + +Submitted-upstream: https://github.com/open-power/pdbg/pull/26 +Signed-off-by: Thomas Petazzoni +--- + Makefile.am | 2 +- + template.S | 22 +++++++++++++++------- + 2 files changed, 16 insertions(+), 8 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 9d34bff..82e0856 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -62,4 +62,4 @@ p9z-fsi.dtb.o: p9z-fsi.dts p9-fsi.dtsi + %.dtb.o: %.dts + dtc -i$(dir $@) -I dts $< -O dtb > $@.tmp + symbol_prefix=`echo $@ | tr '.-' '_'` ; \ +- sed "s%SYMBOL_PREFIX%$${symbol_prefix}%g; s%FILENAME%$@.tmp%g" $(top_srcdir)/template.S | $(CC) -xassembler - -c -o $@ ++ sed "s%SYMBOL_PREFIX%$${symbol_prefix}%g; s%FILENAME%$@.tmp%g" $(top_srcdir)/template.S | $(CPP) - | $(CC) -xassembler - -c -o $@ +diff --git a/template.S b/template.S +index 2e6cbdb..1407a7c 100644 +--- a/template.S ++++ b/template.S +@@ -1,10 +1,18 @@ ++#ifdef __USER_LABEL_PREFIX__ ++#define CONCAT1(a, b) CONCAT2(a, b) ++#define CONCAT2(a, b) a ## b ++#define SYM(x) CONCAT1 (__USER_LABEL_PREFIX__, x) ++#else ++#define SYM(x) x ++#endif ++ + .section .data +-_binary_SYMBOL_PREFIX_start: ++SYM(_binary_SYMBOL_PREFIX_start): + .incbin "FILENAME" + .align 4 +-_binary_SYMBOL_PREFIX_end: +-_binary_SYMBOL_PREFIX_size: +- .long _binary_SYMBOL_PREFIX_end - _binary_SYMBOL_PREFIX_start +-.globl _binary_SYMBOL_PREFIX_start +-.globl _binary_SYMBOL_PREFIX_end +-.globl _binary_SYMBOL_PREFIX_size ++SYM(_binary_SYMBOL_PREFIX_end): ++SYM(_binary_SYMBOL_PREFIX_size): ++ .long SYM(_binary_SYMBOL_PREFIX_end) - SYM(_binary_SYMBOL_PREFIX_start) ++.globl SYM(_binary_SYMBOL_PREFIX_start) ++.globl SYM(_binary_SYMBOL_PREFIX_end) ++.globl SYM(_binary_SYMBOL_PREFIX_size) +-- +2.13.6 + diff --git a/package/pdbg/Config.in b/package/pdbg/Config.in index 3e23c210c9..4a902694f5 100644 --- a/package/pdbg/Config.in +++ b/package/pdbg/Config.in @@ -2,9 +2,9 @@ config BR2_PACKAGE_PDBG bool "pdbg" help PowerPC FSI Debugger, for low level debugging of a IBM - Power8 CPU over FSI. + Power8 and Power9 CPU over FSI. pdbg runs on a BMC, which is generally an ARM-powered system - monitoring/controlling a host CPU. + monitoring/controlling a host CPU. It can also run on the host. https://github.com/open-power/pdbg diff --git a/package/pdbg/pdbg.hash b/package/pdbg/pdbg.hash index 16bf58024c..6fef128084 100644 --- a/package/pdbg/pdbg.hash +++ b/package/pdbg/pdbg.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 8edabb9ae98ce3b1892b768f2ee5e779a00476b63cdcc6f905e8464a0b7d96a3 pdbg-90a7370a11e727f1482dea6ff2bd6aec20c64805.tar.gz +sha256 e9143607b0d15693ace9f50b27f931020127a9d605c45f8609f1fe8608be7949 pdbg-527fe54e1c95e031efd3db008c3f4e096cb3ea58.tar.gz diff --git a/package/pdbg/pdbg.mk b/package/pdbg/pdbg.mk index 9cc05cd728..f16a392aa6 100644 --- a/package/pdbg/pdbg.mk +++ b/package/pdbg/pdbg.mk @@ -4,10 +4,18 @@ # ################################################################################ -PDBG_VERSION = 90a7370a11e727f1482dea6ff2bd6aec20c64805 +PDBG_VERSION = 527fe54e1c95e031efd3db008c3f4e096cb3ea58 PDBG_SITE = $(call github,open-power,pdbg,$(PDBG_VERSION)) -PDBG_LICENSE = Apache 2.0 +PDBG_LICENSE = Apache-2.0 PDBG_LICENSE_FILES = COPYING PDBG_AUTORECONF = YES +PDBG_DEPENDENCIES = host-dtc + +PDBG_MAKE_OPTS = "GIT_SHA1=\"$(PDBG_VERSION)\"" + +define PDBG_PATCH_M4 + mkdir -p $(@D)/m4 +endef +PDBG_POST_PATCH_HOOKS += PDBG_PATCH_M4 $(eval $(autotools-package)) diff --git a/package/pdmenu/0001-autoconf-makeinfo.in-link-with-INTLLIBS-if-needed.patch b/package/pdmenu/0001-autoconf-makeinfo.in-link-with-INTLLIBS-if-needed.patch new file mode 100644 index 0000000000..78f3e576b2 --- /dev/null +++ b/package/pdmenu/0001-autoconf-makeinfo.in-link-with-INTLLIBS-if-needed.patch @@ -0,0 +1,27 @@ +From 319cc3859044214961164ed1f219f2f21ca965af Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 30 Aug 2017 23:04:37 +0200 +Subject: [PATCH] autoconf/makeinfo.in: link with INTLLIBS if needed + +gettext may be provided by external libraries, as specified in +INTLLIBS, so we must include @INTLLIBS@ in the LIBS variable. + +Signed-off-by: Thomas Petazzoni +--- + autoconf/makeinfo.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/autoconf/makeinfo.in b/autoconf/makeinfo.in +index ee3054a..6d58d77 100644 +--- a/autoconf/makeinfo.in ++++ b/autoconf/makeinfo.in +@@ -13,5 +13,5 @@ DEFINES = -DETCDIR=\"${SYSCONFDIR}/\" -DVER=\"${VER}\" @DEFS@ \ + $(PROFILE) -D__USE_FIXED_PROTOTYPES__ -D_GNU_SOURCE \ + -DLOCALEDIR=\"@datadir@/locale\" + CFLAGS = $(DEFINES) @gcc_cflags@ @CFLAGS@ +-LIBS = @LIBS@ $(EFENCE) ++LIBS = @LIBS@ @INTLLIBS@ $(EFENCE) + INSTALL_PROGRAM = ${INSTALL} +-- +2.13.5 + diff --git a/package/pdmenu/0002-Makefile-autoconf-makeinfo.in-support-build-install-.patch b/package/pdmenu/0002-Makefile-autoconf-makeinfo.in-support-build-install-.patch new file mode 100644 index 0000000000..1a22aa6f2d --- /dev/null +++ b/package/pdmenu/0002-Makefile-autoconf-makeinfo.in-support-build-install-.patch @@ -0,0 +1,76 @@ +From 5368bd0cfd0640f5c0ca766d4fda1b3f71c1b013 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 30 Aug 2017 23:07:26 +0200 +Subject: [PATCH] Makefile, autoconf/makeinfo.in: support build/install without + gettext + +The gettext tool msgfmt may not be available to build the .mo files +from the .po files, so we handle this case by disabling the +build/installation of .po files in such a case. + +Signed-off-by: Thomas Petazzoni +--- + Makefile | 17 ++++++++++++++--- + autoconf/makeinfo.in | 1 + + 2 files changed, 15 insertions(+), 3 deletions(-) + +diff --git a/Makefile b/Makefile +index a708046..3e83ca3 100644 +--- a/Makefile ++++ b/Makefile +@@ -7,11 +7,18 @@ OBJFILES := $(SRCFILES:%.c=%.o) + LANGS = fr ru es + MOS := $(addprefix po/, $(addsuffix .mo, $(LANGS))) + LOCALEDIR = $(INSTALL_PREFIX)/usr/share/locale +- +-all: pdmenu $(POTFILE) $(MOS) ++TARGETS = pdmenu ++INSTALL_TARGETS = install-pdmenu + + include makeinfo + ++ifneq ($(MSGFMT),) ++TARGETS += $(POTFILE) $(MOS) ++INSTALL_TARGETS += install-pos ++endif ++ ++all: $(TARGETS) ++ + pdmenu: .dep $(OBJFILES) + ${CC} -o pdmenu $(OBJFILES) $(CFLAGS) $(LIBS) + +@@ -40,7 +47,9 @@ clean: + $(MAKE) $(POTFILE) # make sure translators' input is ready + rm -f $(OBJFILES) pdmenu $(MOS) + +-install: all ++install: $(INSTALL_TARGETS) ++ ++install-pdmenu: + $(INSTALL) -d $(INSTALL_PREFIX)/$(BINDIR) \ + $(INSTALL_PREFIX)/$(MANDIR)/man1 \ + $(INSTALL_PREFIX)/$(MANDIR)/man5 \ +@@ -56,6 +65,8 @@ install: all + $(INSTALL) examples/pdmenurc $(INSTALL_PREFIX)/$(SYSCONFDIR)/pdmenurc -m 0644 + $(INSTALL) examples/showdir.pl $(INSTALL_PREFIX)/$(DATADIR)/pdmenu + cd $(INSTALL_PREFIX)/$(DATADIR)/pdmenu && $(LN_S) -f showdir.pl editdir.pl ++ ++install-pos: + for lang in $(LANGS); do \ + [ ! -d $(LOCALEDIR)/$$lang/LC_MESSAGES/ ] && mkdir -p $(LOCALEDIR)/$$lang/LC_MESSAGES/; \ + install -m 644 po/$$lang.mo $(LOCALEDIR)/$$lang/LC_MESSAGES/pdmenu.mo; \ +diff --git a/autoconf/makeinfo.in b/autoconf/makeinfo.in +index 6d58d77..069daf8 100644 +--- a/autoconf/makeinfo.in ++++ b/autoconf/makeinfo.in +@@ -8,6 +8,7 @@ DATADIR = @datadir@ + CC = @CC@ + INSTALL = @INSTALL@ + LN_S = @LN_S@ ++MSGFMT = @MSGFMT@ + VER = @VER@ + DEFINES = -DETCDIR=\"${SYSCONFDIR}/\" -DVER=\"${VER}\" @DEFS@ \ + $(PROFILE) -D__USE_FIXED_PROTOTYPES__ -D_GNU_SOURCE \ +-- +2.13.5 + diff --git a/package/pdmenu/Config.in b/package/pdmenu/Config.in new file mode 100644 index 0000000000..8f35f614a6 --- /dev/null +++ b/package/pdmenu/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_PDMENU + bool "pdmenu" + depends on BR2_USE_MMU # slang + select BR2_PACKAGE_SLANG + help + Pdmenu is a full screen menuing system for Unix. It is + designed to be easy to use, and is suitable as a login shell + for inexperienced users, or it can just be ran at the + command line as a handy menu. + + Pdmenu features color support and GPM mouse support at the + Linux console. It was developed on Linux, and has now been + compiled on many other unixes without problems. + + https://joeyh.name/code/pdmenu/ diff --git a/package/pdmenu/pdmenu.hash b/package/pdmenu/pdmenu.hash new file mode 100644 index 0000000000..ab3a6660ac --- /dev/null +++ b/package/pdmenu/pdmenu.hash @@ -0,0 +1,5 @@ +# Locally calculated +sha256 302aa81b8868133ff5a0f3e3e897f71d425bc628c0d7439addb623f12c277bea pdmenu_1.3.4.tar.gz + +# License file hash, locally calculated +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 doc/COPYING diff --git a/package/pdmenu/pdmenu.mk b/package/pdmenu/pdmenu.mk new file mode 100644 index 0000000000..783509585c --- /dev/null +++ b/package/pdmenu/pdmenu.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# pdmenu +# +################################################################################ + +PDMENU_VERSION = 1.3.4 +PDMENU_SOURCE = pdmenu_$(PDMENU_VERSION).tar.gz +PDMENU_SITE = http://snapshot.debian.org/archive/debian/20170828T160058Z/pool/main/p/pdmenu +PDMENU_LICENSE = GPL-2.0 +PDMENU_LICENSE_FILES = doc/COPYING +PDMENU_DEPENDENCIES = slang $(TARGET_NLS_DEPENDENCIES) +PDMENU_INSTALL_TARGET_OPTS = INSTALL_PREFIX=$(TARGET_DIR) install + +$(eval $(autotools-package)) diff --git a/package/perl-crypt-openssl-random/perl-crypt-openssl-random.mk b/package/perl-crypt-openssl-random/perl-crypt-openssl-random.mk index 615282106b..de029e9af0 100644 --- a/package/perl-crypt-openssl-random/perl-crypt-openssl-random.mk +++ b/package/perl-crypt-openssl-random/perl-crypt-openssl-random.mk @@ -8,7 +8,7 @@ PERL_CRYPT_OPENSSL_RANDOM_VERSION = 0.11 PERL_CRYPT_OPENSSL_RANDOM_SOURCE = Crypt-OpenSSL-Random-$(PERL_CRYPT_OPENSSL_RANDOM_VERSION).tar.gz PERL_CRYPT_OPENSSL_RANDOM_SITE = $(BR2_CPAN_MIRROR)/authors/id/R/RU/RURBAN PERL_CRYPT_OPENSSL_RANDOM_DEPENDENCIES = openssl -PERL_CRYPT_OPENSSL_RANDOM_LICENSE = Artistic or GPLv1+ +PERL_CRYPT_OPENSSL_RANDOM_LICENSE = Artistic or GPL-1.0+ PERL_CRYPT_OPENSSL_RANDOM_LICENSE_FILES = LICENSE $(eval $(perl-package)) diff --git a/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.mk b/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.mk index 7a4e31ee1a..b853d9953e 100644 --- a/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.mk +++ b/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.mk @@ -8,7 +8,7 @@ PERL_CRYPT_OPENSSL_RSA_VERSION = 0.28 PERL_CRYPT_OPENSSL_RSA_SOURCE = Crypt-OpenSSL-RSA-$(PERL_CRYPT_OPENSSL_RSA_VERSION).tar.gz PERL_CRYPT_OPENSSL_RSA_SITE = $(BR2_CPAN_MIRROR)/authors/id/P/PE/PERLER PERL_CRYPT_OPENSSL_RSA_DEPENDENCIES = perl-crypt-openssl-random -PERL_CRYPT_OPENSSL_RSA_LICENSE = Artistic or GPLv1+ +PERL_CRYPT_OPENSSL_RSA_LICENSE = Artistic or GPL-1.0+ PERL_CRYPT_OPENSSL_RSA_LICENSE_FILES = LICENSE $(eval $(perl-package)) diff --git a/package/perl-datetime-tiny/perl-datetime-tiny.mk b/package/perl-datetime-tiny/perl-datetime-tiny.mk index 57589731f2..6b54967196 100644 --- a/package/perl-datetime-tiny/perl-datetime-tiny.mk +++ b/package/perl-datetime-tiny/perl-datetime-tiny.mk @@ -7,7 +7,7 @@ PERL_DATETIME_TINY_VERSION = 1.06 PERL_DATETIME_TINY_SOURCE = DateTime-Tiny-$(PERL_DATETIME_TINY_VERSION).tar.gz PERL_DATETIME_TINY_SITE = $(BR2_CPAN_MIRROR)/authors/id/D/DA/DAGOLDEN -PERL_DATETIME_TINY_LICENSE = Artistic or GPLv1+ +PERL_DATETIME_TINY_LICENSE = Artistic or GPL-1.0+ PERL_DATETIME_TINY_LICENSE_FILES = LICENSE $(eval $(perl-package)) diff --git a/package/perl-digest-hmac/perl-digest-hmac.mk b/package/perl-digest-hmac/perl-digest-hmac.mk index bee32f4449..a926a1e5c0 100644 --- a/package/perl-digest-hmac/perl-digest-hmac.mk +++ b/package/perl-digest-hmac/perl-digest-hmac.mk @@ -7,7 +7,7 @@ PERL_DIGEST_HMAC_VERSION = 1.03 PERL_DIGEST_HMAC_SOURCE = Digest-HMAC-$(PERL_DIGEST_HMAC_VERSION).tar.gz PERL_DIGEST_HMAC_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GA/GAAS -PERL_DIGEST_HMAC_LICENSE = Artistic or GPLv1+ +PERL_DIGEST_HMAC_LICENSE = Artistic or GPL-1.0+ PERL_DIGEST_HMAC_LICENSE_FILES = README $(eval $(perl-package)) diff --git a/package/perl-digest-sha1/perl-digest-sha1.mk b/package/perl-digest-sha1/perl-digest-sha1.mk index 52b9ec355e..d93159b94e 100644 --- a/package/perl-digest-sha1/perl-digest-sha1.mk +++ b/package/perl-digest-sha1/perl-digest-sha1.mk @@ -7,7 +7,7 @@ PERL_DIGEST_SHA1_VERSION = 2.13 PERL_DIGEST_SHA1_SOURCE = Digest-SHA1-$(PERL_DIGEST_SHA1_VERSION).tar.gz PERL_DIGEST_SHA1_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GA/GAAS -PERL_DIGEST_SHA1_LICENSE = Artistic or GPLv1+ +PERL_DIGEST_SHA1_LICENSE = Artistic or GPL-1.0+ PERL_DIGEST_SHA1_LICENSE_FILES = README $(eval $(perl-package)) diff --git a/package/perl-encode-locale/perl-encode-locale.mk b/package/perl-encode-locale/perl-encode-locale.mk index 2544b16fdb..80d9c3b5fc 100644 --- a/package/perl-encode-locale/perl-encode-locale.mk +++ b/package/perl-encode-locale/perl-encode-locale.mk @@ -7,7 +7,7 @@ PERL_ENCODE_LOCALE_VERSION = 1.05 PERL_ENCODE_LOCALE_SOURCE = Encode-Locale-$(PERL_ENCODE_LOCALE_VERSION).tar.gz PERL_ENCODE_LOCALE_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GA/GAAS -PERL_ENCODE_LOCALE_LICENSE = Artistic or GPLv1+ +PERL_ENCODE_LOCALE_LICENSE = Artistic or GPL-1.0+ PERL_ENCODE_LOCALE_LICENSE_FILES = README $(eval $(perl-package)) diff --git a/package/perl-file-listing/perl-file-listing.mk b/package/perl-file-listing/perl-file-listing.mk index a9d8cede72..e150de77a0 100644 --- a/package/perl-file-listing/perl-file-listing.mk +++ b/package/perl-file-listing/perl-file-listing.mk @@ -8,7 +8,7 @@ PERL_FILE_LISTING_VERSION = 6.04 PERL_FILE_LISTING_SOURCE = File-Listing-$(PERL_FILE_LISTING_VERSION).tar.gz PERL_FILE_LISTING_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GA/GAAS PERL_FILE_LISTING_DEPENDENCIES = perl-http-date -PERL_FILE_LISTING_LICENSE = Artistic or GPLv1+ +PERL_FILE_LISTING_LICENSE = Artistic or GPL-1.0+ PERL_FILE_LISTING_LICENSE_FILES = README $(eval $(perl-package)) diff --git a/package/perl-file-util/perl-file-util.hash b/package/perl-file-util/perl-file-util.hash index 1e613dc01f..dc3e59e325 100644 --- a/package/perl-file-util/perl-file-util.hash +++ b/package/perl-file-util/perl-file-util.hash @@ -1,3 +1,3 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 93c572b4c54743a7ef383486dd2c4014 File-Util-4.132140.tar.gz -sha256 4233c493468da8b34f2df19b191aaa400f328d877c8c023605e43385976a99d1 File-Util-4.132140.tar.gz +md5 5706487ecf0daae885f709914915e832 File-Util-4.161950.tar.gz +sha256 88507b19da580d595b5c25fe6ba75bbd6096b4359e389ead067a216f766c20ee File-Util-4.161950.tar.gz diff --git a/package/perl-file-util/perl-file-util.mk b/package/perl-file-util/perl-file-util.mk index 7026515e66..f8f2712199 100644 --- a/package/perl-file-util/perl-file-util.mk +++ b/package/perl-file-util/perl-file-util.mk @@ -4,11 +4,11 @@ # ################################################################################ -PERL_FILE_UTIL_VERSION = 4.132140 +PERL_FILE_UTIL_VERSION = 4.161950 PERL_FILE_UTIL_SOURCE = File-Util-$(PERL_FILE_UTIL_VERSION).tar.gz PERL_FILE_UTIL_SITE = $(BR2_CPAN_MIRROR)/authors/id/T/TO/TOMMY PERL_FILE_UTIL_DEPENDENCIES = host-perl-module-build -PERL_FILE_UTIL_LICENSE = Artistic or GPLv1+ +PERL_FILE_UTIL_LICENSE = Artistic or GPL-1.0+ PERL_FILE_UTIL_LICENSE_FILES = COPYING LICENSE HOST_PERL_FILE_UTIL_DEPENDENCIES = host-perl-module-build diff --git a/package/perl-gd/0001-getoptions.patch b/package/perl-gd/0001-getoptions.patch deleted file mode 100644 index 74f055bead..0000000000 --- a/package/perl-gd/0001-getoptions.patch +++ /dev/null @@ -1,43 +0,0 @@ -fix option handling in Makefile.PL - -the call to GetOptions() must be unique. - -Signed-off-by: Francois Perrad -see https://github.com/lstein/Perl-GD/pull/6 - -Index: b/Makefile.PL -=================================================================== ---- a/Makefile.PL -+++ b/Makefile.PL -@@ -24,7 +24,15 @@ - my ($options,$lib_gd_path,$lib_ft_path,$lib_png_path,$lib_jpeg_path,$lib_xpm_path,$lib_zlib_path,$force); - - use Getopt::Long; --GetOptions("ignore_missing_gd" => \$force); -+my $result = GetOptions("options=s" => \$options, -+ "lib_gd_path=s" => \$lib_gd_path, -+ "lib_ft_path=s" => \$lib_ft_path, -+ "lib_png_path=s" => \$lib_png_path, -+ "lib_jpeg_path=s" => \$lib_jpeg_path, -+ "lib_xpm_path=s" => \$lib_xpm_path, -+ "lib_zlib_path=s" => \$lib_zlib_path, -+ "ignore_missing_gd" => \$force, -+ ); - - unless (try_to_autoconfigure(\$options,\$lib_gd_path,\@INC,\@LIBPATH,\@LIBS) || $force) { - die < \$options, -- "lib_gd_path=s" => \$lib_gd_path, -- "lib_ft_path=s" => \$lib_ft_path, -- "lib_png_path=s" => \$lib_png_path, -- "lib_jpeg_path=s" => \$lib_jpeg_path, -- "lib_xpm_path=s" => \$lib_xpm_path, -- "lib_zlib_path=s" => \$lib_zlib_path, -- ); - unless ($result) { - print STDERR < -see https://github.com/lstein/Perl-GD/pull/7 - -Index: b/Makefile.PL -=================================================================== ---- a/Makefile.PL -+++ b/Makefile.PL -@@ -42,9 +42,9 @@ - END - } - -+push @LIBS, "-lgd"; - @INC = qw(-I/usr/include -I/usr/include/gd) unless @INC; - @LIBPATH = qw(-L/usr/lib/X11 -L/usr/X11R6/lib -L/usr/X11/lib -L/usr/lib) unless @LIBPATH; --@LIBS = qw(-lgd) unless @LIBS; - - # support for AMD64 libraries - if (-d '/usr/lib64') { -@@ -294,7 +294,6 @@ - @$LIBPATH = map {s/^-L// && "-L$_"} split /\s+/,$ldflags; - @$LIBS = split /\s+/,$libs; - -- push @$LIBS,"-lgd"; - push @$LIBPATH,"-L$libdir"; - ($$lib_gd_path = $libdir) =~ s!/[^/]+$!!; - $$options = $features; diff --git a/package/perl-gd/0003-force.patch b/package/perl-gd/0003-force.patch deleted file mode 100644 index 611066b919..0000000000 --- a/package/perl-gd/0003-force.patch +++ /dev/null @@ -1,32 +0,0 @@ -let @INC and @LIBPATH empty when ignore_missing_gd - -Signed-off-by: Francois Perrad -see https://github.com/lstein/Perl-GD/pull/7 - -Index: b/Makefile.PL -=================================================================== ---- a/Makefile.PL -+++ b/Makefile.PL -@@ -43,13 +43,15 @@ - } - - push @LIBS, "-lgd"; --@INC = qw(-I/usr/include -I/usr/include/gd) unless @INC; --@LIBPATH = qw(-L/usr/lib/X11 -L/usr/X11R6/lib -L/usr/X11/lib -L/usr/lib) unless @LIBPATH; -- --# support for AMD64 libraries --if (-d '/usr/lib64') { -- my @libs64 = map {my $a = $_; $a=~ s/lib$/lib64/; $a} @LIBPATH; -- @LIBPATH = (@LIBPATH,@libs64); -+unless ($force) { -+ @INC = qw(-I/usr/include -I/usr/include/gd) unless @INC; -+ @LIBPATH = qw(-L/usr/lib/X11 -L/usr/X11R6/lib -L/usr/X11/lib -L/usr/lib) unless @LIBPATH; -+ -+ # support for AMD64 libraries -+ if (-d '/usr/lib64') { -+ my @libs64 = map {my $a = $_; $a=~ s/lib$/lib64/; $a} @LIBPATH; -+ @LIBPATH = (@LIBPATH,@libs64); -+ } - } - - ############################################################################################# diff --git a/package/perl-gd/0004-gdlib-config-is-now-configurable.patch b/package/perl-gd/0004-gdlib-config-is-now-configurable.patch deleted file mode 100644 index 58df2255a3..0000000000 --- a/package/perl-gd/0004-gdlib-config-is-now-configurable.patch +++ /dev/null @@ -1,67 +0,0 @@ -From f417f38929fe558d388b9a9343da9b2c0e6984aa Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sat, 20 Dec 2014 23:22:41 +0100 -Subject: [PATCH] Makefile.PL: gdlib-config is now configurable - -Signed-off-by: Romain Naour ---- - Makefile.PL | 15 +++++++++++++-- - 1 file changed, 13 insertions(+), 2 deletions(-) - -diff --git a/Makefile.PL b/Makefile.PL -index dfe8ad7..0fa6ef3 100644 ---- a/Makefile.PL -+++ b/Makefile.PL -@@ -21,7 +21,7 @@ END - my (@INC,@LIBPATH,@LIBS); - my $AUTOCONFIG = 0; # global set by try_to_autoconfigure() below - --my ($options,$lib_gd_path,$lib_ft_path,$lib_png_path,$lib_jpeg_path,$lib_xpm_path,$lib_zlib_path,$force); -+my ($options,$lib_gd_path,$lib_ft_path,$lib_png_path,$lib_jpeg_path,$lib_xpm_path,$lib_zlib_path,$force,$gdlib_config_path); - - use Getopt::Long; - my $result = GetOptions("options=s" => \$options, -@@ -32,6 +32,7 @@ my $result = GetOptions("options=s" => \$options, - "lib_xpm_path=s" => \$lib_xpm_path, - "lib_zlib_path=s" => \$lib_zlib_path, - "ignore_missing_gd" => \$force, -+ "gdlib_config_path=s" => \$gdlib_config_path, - ); - - unless (try_to_autoconfigure(\$options,\$lib_gd_path,\@INC,\@LIBPATH,\@LIBS) || $force) { -@@ -72,6 +73,7 @@ Configure GD module. - -lib_xpm_path path path to libxpm - -lib_zlib_path path path to libpng - -ignore_missing_gd Ignore missing or old libgd installations and try to compile anyway -+ -gdlib_config_path path path to gdlib-config - - If no options are passed on the command line. The program will - attempt to autoconfigure itself with the gdlib-config program (present -@@ -118,6 +120,15 @@ if( defined($lib_zlib_path) ) - @INC = ("-I$lib_zlib_path/include", @INC); - @LIBPATH = ("-L$lib_zlib_path/lib", @LIBPATH); - } -+if( defined($gdlib_config_path) ) -+{ -+ print "gdlib-config used: $gdlib_config_path\n"; -+} -+else -+{ -+ $gdlib_config_path = "gdlib-config"; -+ print "$gdlib_config_path used from the PATH\n"; -+} - ############################################################################################# - - if ($^O eq 'VMS'){ -@@ -278,7 +289,7 @@ exit 0; - - sub try_to_autoconfigure { - my ($options,$lib_gd_path,$INC,$LIBPATH,$LIBS) = @_; -- my $config = `gdlib-config --all`; -+ my $config = `$gdlib_config_path --all`; - return unless $config; - $AUTOCONFIG++; - --- -1.9.3 - diff --git a/package/perl-gd/perl-gd.hash b/package/perl-gd/perl-gd.hash index 0c16d3f521..3fc062895d 100644 --- a/package/perl-gd/perl-gd.hash +++ b/package/perl-gd/perl-gd.hash @@ -1,3 +1,3 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 c4b3afd98b2c4ce3c2e1027d101a8f1e GD-2.56.tar.gz -sha256 1f103d1c98de8621504642ed7fb79f1b40f5f6a63c2abe9390a8ab78617248f9 GD-2.56.tar.gz +md5 5c89ea8861810ca41bc4aca98e3fdfda GD-2.66.tar.gz +sha256 ea28343301b82ea862bc58c0c2d1953a074e23cf8d1d09df94c05c52f1c98281 GD-2.66.tar.gz diff --git a/package/perl-gd/perl-gd.mk b/package/perl-gd/perl-gd.mk index ea8fd5cddb..ae3dfbc96a 100644 --- a/package/perl-gd/perl-gd.mk +++ b/package/perl-gd/perl-gd.mk @@ -4,21 +4,18 @@ # ################################################################################ -PERL_GD_VERSION = 2.56 +PERL_GD_VERSION = 2.66 PERL_GD_SOURCE = GD-$(PERL_GD_VERSION).tar.gz -PERL_GD_SITE = $(BR2_CPAN_MIRROR)/authors/id/L/LD/LDS +PERL_GD_SITE = $(BR2_CPAN_MIRROR)/authors/id/R/RU/RURBAN PERL_GD_DEPENDENCIES = zlib libpng freetype gd -PERL_GD_LICENSE = Artistic or GPLv1+ +PERL_GD_LICENSE = Artistic or GPL-1.0+ PERL_GD_LICENSE_FILES = LICENSE -PERL_GD_PREFER_INSTALLER = EUMM PERL_GD_CONF_OPTS = \ - -options=FT,PNG \ -lib_gd_path=$(STAGING_DIR)/usr \ -lib_ft_path=$(STAGING_DIR)/usr \ -lib_png_path=$(STAGING_DIR)/usr \ -lib_zlib_path=$(STAGING_DIR)/usr \ - -ignore_missing_gd \ - -gdlib=$(STAGING_DIR)/usr/bin/gdlib-config + -gdlib_config_path=$(STAGING_DIR)/usr/bin $(eval $(perl-package)) diff --git a/package/perl-gdgraph/perl-gdgraph.mk b/package/perl-gdgraph/perl-gdgraph.mk index dc7ffd9bca..c4317075f6 100644 --- a/package/perl-gdgraph/perl-gdgraph.mk +++ b/package/perl-gdgraph/perl-gdgraph.mk @@ -8,7 +8,7 @@ PERL_GDGRAPH_VERSION = 1.54 PERL_GDGRAPH_SOURCE = GDGraph-$(PERL_GDGRAPH_VERSION).tar.gz PERL_GDGRAPH_SITE = $(BR2_CPAN_MIRROR)/authors/id/R/RU/RUZ PERL_GDGRAPH_DEPENDENCIES = perl-gd perl-gdtextutil -PERL_GDGRAPH_LICENSE = Artistic or GPLv1+ +PERL_GDGRAPH_LICENSE = Artistic or GPL-1.0+ PERL_GDGRAPH_LICENSE_FILES = Dustismo.LICENSE $(eval $(perl-package)) diff --git a/package/perl-html-parser/perl-html-parser.mk b/package/perl-html-parser/perl-html-parser.mk index 14a282649a..66016eb8b0 100644 --- a/package/perl-html-parser/perl-html-parser.mk +++ b/package/perl-html-parser/perl-html-parser.mk @@ -8,7 +8,7 @@ PERL_HTML_PARSER_VERSION = 3.72 PERL_HTML_PARSER_SOURCE = HTML-Parser-$(PERL_HTML_PARSER_VERSION).tar.gz PERL_HTML_PARSER_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GA/GAAS PERL_HTML_PARSER_DEPENDENCIES = perl-html-tagset -PERL_HTML_PARSER_LICENSE = Artistic or GPLv1+ +PERL_HTML_PARSER_LICENSE = Artistic or GPL-1.0+ PERL_HTML_PARSER_LICENSE_FILES = README $(eval $(perl-package)) diff --git a/package/perl-html-tagset/perl-html-tagset.mk b/package/perl-html-tagset/perl-html-tagset.mk index d18d6a63c3..ff371fa2d3 100644 --- a/package/perl-html-tagset/perl-html-tagset.mk +++ b/package/perl-html-tagset/perl-html-tagset.mk @@ -7,7 +7,7 @@ PERL_HTML_TAGSET_VERSION = 3.20 PERL_HTML_TAGSET_SOURCE = HTML-Tagset-$(PERL_HTML_TAGSET_VERSION).tar.gz PERL_HTML_TAGSET_SITE = $(BR2_CPAN_MIRROR)/authors/id/P/PE/PETDANCE -PERL_HTML_TAGSET_LICENSE = Artistic or GPLv1+ +PERL_HTML_TAGSET_LICENSE = Artistic or GPL-1.0+ PERL_HTML_TAGSET_LICENSE_FILES = README $(eval $(perl-package)) diff --git a/package/perl-http-cookies/Config.in b/package/perl-http-cookies/Config.in index cb5a3c1fa9..4095fee824 100644 --- a/package/perl-http-cookies/Config.in +++ b/package/perl-http-cookies/Config.in @@ -3,6 +3,6 @@ config BR2_PACKAGE_PERL_HTTP_COOKIES select BR2_PACKAGE_PERL_HTTP_DATE select BR2_PACKAGE_PERL_HTTP_MESSAGE help - Objects that represent a "cookie jar" + HTTP cookie jars - http://github.com/gisle/http-cookies + https://github.com/libwww-perl/http-cookies diff --git a/package/perl-http-cookies/perl-http-cookies.hash b/package/perl-http-cookies/perl-http-cookies.hash index 94e5f31c29..361d4db923 100644 --- a/package/perl-http-cookies/perl-http-cookies.hash +++ b/package/perl-http-cookies/perl-http-cookies.hash @@ -1,3 +1,3 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 ecfd0eeb88512033352c2f13c9580f03 HTTP-Cookies-6.01.tar.gz -sha256 f5d3ade383ce6389d80cb0d0356b643af80435bb036afd8edce335215ec5eb20 HTTP-Cookies-6.01.tar.gz +md5 7bf1e277bd5c886bc18d21eb8423b65f HTTP-Cookies-6.04.tar.gz +sha256 0cc7f079079dcad8293fea36875ef58dd1bfd75ce1a6c244cd73ed9523eb13d4 HTTP-Cookies-6.04.tar.gz diff --git a/package/perl-http-cookies/perl-http-cookies.mk b/package/perl-http-cookies/perl-http-cookies.mk index 52ee74a568..0777c0845e 100644 --- a/package/perl-http-cookies/perl-http-cookies.mk +++ b/package/perl-http-cookies/perl-http-cookies.mk @@ -4,11 +4,11 @@ # ################################################################################ -PERL_HTTP_COOKIES_VERSION = 6.01 +PERL_HTTP_COOKIES_VERSION = 6.04 PERL_HTTP_COOKIES_SOURCE = HTTP-Cookies-$(PERL_HTTP_COOKIES_VERSION).tar.gz -PERL_HTTP_COOKIES_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GA/GAAS +PERL_HTTP_COOKIES_SITE = $(BR2_CPAN_MIRROR)/authors/id/O/OA/OALDERS PERL_HTTP_COOKIES_DEPENDENCIES = perl-http-date perl-http-message -PERL_HTTP_COOKIES_LICENSE = Artistic or GPLv1+ -PERL_HTTP_COOKIES_LICENSE_FILES = README +PERL_HTTP_COOKIES_LICENSE = Artistic or GPL-1.0+ +PERL_HTTP_COOKIES_LICENSE_FILES = LICENSE $(eval $(perl-package)) diff --git a/package/perl-http-daemon/perl-http-daemon.mk b/package/perl-http-daemon/perl-http-daemon.mk index 56dbd7846d..65cdaf8e2b 100644 --- a/package/perl-http-daemon/perl-http-daemon.mk +++ b/package/perl-http-daemon/perl-http-daemon.mk @@ -8,7 +8,7 @@ PERL_HTTP_DAEMON_VERSION = 6.01 PERL_HTTP_DAEMON_SOURCE = HTTP-Daemon-$(PERL_HTTP_DAEMON_VERSION).tar.gz PERL_HTTP_DAEMON_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GA/GAAS PERL_HTTP_DAEMON_DEPENDENCIES = perl-http-date perl-http-message perl-lwp-mediatypes -PERL_HTTP_DAEMON_LICENSE = Artistic or GPLv1+ +PERL_HTTP_DAEMON_LICENSE = Artistic or GPL-1.0+ PERL_HTTP_DAEMON_LICENSE_FILES = README $(eval $(perl-package)) diff --git a/package/perl-http-date/perl-http-date.mk b/package/perl-http-date/perl-http-date.mk index bb5f4dc2fc..feccf25dd2 100644 --- a/package/perl-http-date/perl-http-date.mk +++ b/package/perl-http-date/perl-http-date.mk @@ -7,7 +7,7 @@ PERL_HTTP_DATE_VERSION = 6.02 PERL_HTTP_DATE_SOURCE = HTTP-Date-$(PERL_HTTP_DATE_VERSION).tar.gz PERL_HTTP_DATE_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GA/GAAS -PERL_HTTP_DATE_LICENSE = Artistic or GPLv1+ +PERL_HTTP_DATE_LICENSE = Artistic or GPL-1.0+ PERL_HTTP_DATE_LICENSE_FILES = README $(eval $(perl-package)) diff --git a/package/perl-http-message/Config.in b/package/perl-http-message/Config.in index 9dda1ee3f1..682a4b01fa 100644 --- a/package/perl-http-message/Config.in +++ b/package/perl-http-message/Config.in @@ -6,7 +6,6 @@ config BR2_PACKAGE_PERL_HTTP_MESSAGE select BR2_PACKAGE_PERL_LWP_MEDIATYPES select BR2_PACKAGE_PERL_URI help - The HTTP-Message distribution contains classes useful for representing - the messages passed in HTTP style communication. + HTTP style message (base class) - https://github.com/libwww-perl/http-message + https://github.com/libwww-perl/HTTP-Message diff --git a/package/perl-http-message/perl-http-message.hash b/package/perl-http-message/perl-http-message.hash index f57fec273a..bb52dea28e 100644 --- a/package/perl-http-message/perl-http-message.hash +++ b/package/perl-http-message/perl-http-message.hash @@ -1,3 +1,3 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 4ed7add10daea3ab30abfeab6d03872f HTTP-Message-6.11.tar.gz -sha256 e7b368077ae6a188d99920411d8f52a8e5acfb39574d4f5c24f46fd22533d81b HTTP-Message-6.11.tar.gz +md5 4c1b7c6ee114c1cff69379ec9651d9ac HTTP-Message-6.13.tar.gz +sha256 f25f38428de851e5661e72f124476494852eb30812358b07f1c3a289f6f5eded HTTP-Message-6.13.tar.gz diff --git a/package/perl-http-message/perl-http-message.mk b/package/perl-http-message/perl-http-message.mk index 77213fa1d6..41434321ad 100644 --- a/package/perl-http-message/perl-http-message.mk +++ b/package/perl-http-message/perl-http-message.mk @@ -4,11 +4,11 @@ # ################################################################################ -PERL_HTTP_MESSAGE_VERSION = 6.11 +PERL_HTTP_MESSAGE_VERSION = 6.13 PERL_HTTP_MESSAGE_SOURCE = HTTP-Message-$(PERL_HTTP_MESSAGE_VERSION).tar.gz -PERL_HTTP_MESSAGE_SITE = $(BR2_CPAN_MIRROR)/authors/id/E/ET/ETHER +PERL_HTTP_MESSAGE_SITE = $(BR2_CPAN_MIRROR)/authors/id/O/OA/OALDERS PERL_HTTP_MESSAGE_DEPENDENCIES = perl-encode-locale perl-http-date perl-io-html perl-lwp-mediatypes perl-uri -PERL_HTTP_MESSAGE_LICENSE = Artistic or GPLv1+ +PERL_HTTP_MESSAGE_LICENSE = Artistic or GPL-1.0+ PERL_HTTP_MESSAGE_LICENSE_FILES = LICENSE $(eval $(perl-package)) diff --git a/package/perl-http-negotiate/perl-http-negotiate.mk b/package/perl-http-negotiate/perl-http-negotiate.mk index 569ed2b1f7..86ca554a62 100644 --- a/package/perl-http-negotiate/perl-http-negotiate.mk +++ b/package/perl-http-negotiate/perl-http-negotiate.mk @@ -8,7 +8,7 @@ PERL_HTTP_NEGOTIATE_VERSION = 6.01 PERL_HTTP_NEGOTIATE_SOURCE = HTTP-Negotiate-$(PERL_HTTP_NEGOTIATE_VERSION).tar.gz PERL_HTTP_NEGOTIATE_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GA/GAAS PERL_HTTP_NEGOTIATE_DEPENDENCIES = perl-http-message -PERL_HTTP_NEGOTIATE_LICENSE = Artistic or GPLv1+ +PERL_HTTP_NEGOTIATE_LICENSE = Artistic or GPL-1.0+ PERL_HTTP_NEGOTIATE_LICENSE_FILES = README $(eval $(perl-package)) diff --git a/package/perl-io-html/perl-io-html.mk b/package/perl-io-html/perl-io-html.mk index 4bdcc8dc38..bb79f450f2 100644 --- a/package/perl-io-html/perl-io-html.mk +++ b/package/perl-io-html/perl-io-html.mk @@ -7,7 +7,7 @@ PERL_IO_HTML_VERSION = 1.001 PERL_IO_HTML_SOURCE = IO-HTML-$(PERL_IO_HTML_VERSION).tar.gz PERL_IO_HTML_SITE = $(BR2_CPAN_MIRROR)/authors/id/C/CJ/CJM -PERL_IO_HTML_LICENSE = Artistic or GPLv1+ +PERL_IO_HTML_LICENSE = Artistic or GPL-1.0+ PERL_IO_HTML_LICENSE_FILES = LICENSE $(eval $(perl-package)) diff --git a/package/perl-io-socket-ssl/perl-io-socket-ssl.hash b/package/perl-io-socket-ssl/perl-io-socket-ssl.hash index 852eb8d728..617a97387d 100644 --- a/package/perl-io-socket-ssl/perl-io-socket-ssl.hash +++ b/package/perl-io-socket-ssl/perl-io-socket-ssl.hash @@ -1,3 +1,3 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 a5f284d543aec4a6fcd595eb5fc8898b IO-Socket-SSL-2.022.tar.gz -sha256 651c4e5e2762ca780f2743986639b64557295bb326fddaff32f3adc0eac4f806 IO-Socket-SSL-2.022.tar.gz +md5 98184d4ce23b2c5faf2e89120a683a07 IO-Socket-SSL-2.050.tar.gz +sha256 54e6716e40df8b1c168d8f54a0b8f215313739bd99dda17adb7c00fe94656692 IO-Socket-SSL-2.050.tar.gz diff --git a/package/perl-io-socket-ssl/perl-io-socket-ssl.mk b/package/perl-io-socket-ssl/perl-io-socket-ssl.mk index 5bbd0c6819..a1ba9939ec 100644 --- a/package/perl-io-socket-ssl/perl-io-socket-ssl.mk +++ b/package/perl-io-socket-ssl/perl-io-socket-ssl.mk @@ -4,11 +4,11 @@ # ################################################################################ -PERL_IO_SOCKET_SSL_VERSION = 2.022 +PERL_IO_SOCKET_SSL_VERSION = 2.050 PERL_IO_SOCKET_SSL_SOURCE = IO-Socket-SSL-$(PERL_IO_SOCKET_SSL_VERSION).tar.gz PERL_IO_SOCKET_SSL_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SU/SULLR PERL_IO_SOCKET_SSL_DEPENDENCIES = perl-net-ssleay -PERL_IO_SOCKET_SSL_LICENSE = Artistic or GPLv1+ +PERL_IO_SOCKET_SSL_LICENSE = Artistic or GPL-1.0+ PERL_IO_SOCKET_SSL_LICENSE_FILES = README $(eval $(perl-package)) diff --git a/package/perl-libwww-perl/Config.in b/package/perl-libwww-perl/Config.in index fc46bf1dff..09fc00543d 100644 --- a/package/perl-libwww-perl/Config.in +++ b/package/perl-libwww-perl/Config.in @@ -11,12 +11,13 @@ config BR2_PACKAGE_PERL_LIBWWW_PERL select BR2_PACKAGE_PERL_HTTP_NEGOTIATE select BR2_PACKAGE_PERL_LWP_MEDIATYPES select BR2_PACKAGE_PERL_NET_HTTP + select BR2_PACKAGE_PERL_TRY_TINY select BR2_PACKAGE_PERL_URI select BR2_PACKAGE_PERL_WWW_ROBOTRULES help The World-Wide Web library for Perl - https://metacpan.org/release/libwww-perl + https://github.com/libwww-perl/libwww-perl comment "perl-libwww-perl needs a toolchain w/ dynamic library" depends on BR2_STATIC_LIBS diff --git a/package/perl-libwww-perl/perl-libwww-perl.hash b/package/perl-libwww-perl/perl-libwww-perl.hash index d3b3328643..24e077d38f 100644 --- a/package/perl-libwww-perl/perl-libwww-perl.hash +++ b/package/perl-libwww-perl/perl-libwww-perl.hash @@ -1,3 +1,3 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 0880fade10edcf5f60087e42f1db4481 libwww-perl-6.16.tar.gz -sha256 daffd268000f92d241f8ae5508ae5616dbd02f15a587b4fbcd14998ccc15ce22 libwww-perl-6.16.tar.gz +md5 457bf4a4f40af3e2f43653329a9c6ab7 libwww-perl-6.26.tar.gz +sha256 d0c5435275f8638ff36fff8f655ad2ccad1156e66cc47bfacfb9e44fc585b24f libwww-perl-6.26.tar.gz diff --git a/package/perl-libwww-perl/perl-libwww-perl.mk b/package/perl-libwww-perl/perl-libwww-perl.mk index 8d4d00e3ff..fd4857cf56 100644 --- a/package/perl-libwww-perl/perl-libwww-perl.mk +++ b/package/perl-libwww-perl/perl-libwww-perl.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_LIBWWW_PERL_VERSION = 6.16 +PERL_LIBWWW_PERL_VERSION = 6.26 PERL_LIBWWW_PERL_SOURCE = libwww-perl-$(PERL_LIBWWW_PERL_VERSION).tar.gz PERL_LIBWWW_PERL_SITE = $(BR2_CPAN_MIRROR)/authors/id/O/OA/OALDERS PERL_LIBWWW_PERL_DEPENDENCIES = \ @@ -18,9 +18,10 @@ PERL_LIBWWW_PERL_DEPENDENCIES = \ perl-http-negotiate \ perl-lwp-mediatypes \ perl-net-http \ + perl-try-tiny \ perl-uri \ perl-www-robotrules -PERL_LIBWWW_PERL_LICENSE = Artistic or GPLv1+ +PERL_LIBWWW_PERL_LICENSE = Artistic or GPL-1.0+ PERL_LIBWWW_PERL_LICENSE_FILES = LICENSE $(eval $(perl-package)) diff --git a/package/perl-lwp-mediatypes/perl-lwp-mediatypes.mk b/package/perl-lwp-mediatypes/perl-lwp-mediatypes.mk index cd7c75a49d..bcf4e5f742 100644 --- a/package/perl-lwp-mediatypes/perl-lwp-mediatypes.mk +++ b/package/perl-lwp-mediatypes/perl-lwp-mediatypes.mk @@ -7,7 +7,7 @@ PERL_LWP_MEDIATYPES_VERSION = 6.02 PERL_LWP_MEDIATYPES_SOURCE = LWP-MediaTypes-$(PERL_LWP_MEDIATYPES_VERSION).tar.gz PERL_LWP_MEDIATYPES_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GA/GAAS -PERL_LWP_MEDIATYPES_LICENSE = Artistic or GPLv1+ +PERL_LWP_MEDIATYPES_LICENSE = Artistic or GPL-1.0+ PERL_LWP_MEDIATYPES_LICENSE_FILES = README $(eval $(perl-package)) diff --git a/package/perl-mail-dkim/perl-mail-dkim.hash b/package/perl-mail-dkim/perl-mail-dkim.hash index b6bb545abe..c40e66e995 100644 --- a/package/perl-mail-dkim/perl-mail-dkim.hash +++ b/package/perl-mail-dkim/perl-mail-dkim.hash @@ -1,3 +1,3 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 9ceb8a0397aff83928e7a9760b1b190f Mail-DKIM-0.40.tar.gz -sha256 3c5ea0c3a2028a5a2c3b64bbcd6bd9de6a5fa5ee4e16046dd8875c4796aaa6f1 Mail-DKIM-0.40.tar.gz +md5 60ebe54760f6633f07b25228272b9473 Mail-DKIM-0.42.tar.gz +sha256 f4e3a6344517aeee9a7516c0f58197f41dce81461f74ce9ba8401a143aa2577c Mail-DKIM-0.42.tar.gz diff --git a/package/perl-mail-dkim/perl-mail-dkim.mk b/package/perl-mail-dkim/perl-mail-dkim.mk index 03a3b7442d..e088ecf1a5 100644 --- a/package/perl-mail-dkim/perl-mail-dkim.mk +++ b/package/perl-mail-dkim/perl-mail-dkim.mk @@ -4,10 +4,9 @@ # ################################################################################ -PERL_MAIL_DKIM_VERSION = 0.40 +PERL_MAIL_DKIM_VERSION = 0.42 PERL_MAIL_DKIM_SOURCE = Mail-DKIM-$(PERL_MAIL_DKIM_VERSION).tar.gz -PERL_MAIL_DKIM_SITE = $(BR2_CPAN_MIRROR)/authors/id/J/JA/JASLONG +PERL_MAIL_DKIM_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MB/MBRADSHAW PERL_MAIL_DKIM_DEPENDENCIES = perl-crypt-openssl-rsa perl-mailtools perl-net-dns -PERL_MAIL_DKIM_LICENSE_FILES = README $(eval $(perl-package)) diff --git a/package/perl-mailtools/perl-mailtools.mk b/package/perl-mailtools/perl-mailtools.mk index 1c41831ce5..bddaf9f2cc 100644 --- a/package/perl-mailtools/perl-mailtools.mk +++ b/package/perl-mailtools/perl-mailtools.mk @@ -8,7 +8,7 @@ PERL_MAILTOOLS_VERSION = 2.18 PERL_MAILTOOLS_SOURCE = MailTools-$(PERL_MAILTOOLS_VERSION).tar.gz PERL_MAILTOOLS_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MA/MARKOV PERL_MAILTOOLS_DEPENDENCIES = perl-timedate -PERL_MAILTOOLS_LICENSE = Artistic or GPLv1+ +PERL_MAILTOOLS_LICENSE = Artistic or GPL-1.0+ PERL_MAILTOOLS_LICENSE_FILES = README $(eval $(perl-package)) diff --git a/package/perl-mime-base64/perl-mime-base64.mk b/package/perl-mime-base64/perl-mime-base64.mk index d06433772a..e7febe1939 100644 --- a/package/perl-mime-base64/perl-mime-base64.mk +++ b/package/perl-mime-base64/perl-mime-base64.mk @@ -7,7 +7,7 @@ PERL_MIME_BASE64_VERSION = 3.15 PERL_MIME_BASE64_SOURCE = MIME-Base64-$(PERL_MIME_BASE64_VERSION).tar.gz PERL_MIME_BASE64_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GA/GAAS -PERL_MIME_BASE64_LICENSE = Artistic or GPLv1+ +PERL_MIME_BASE64_LICENSE = Artistic or GPL-1.0+ PERL_MIME_BASE64_LICENSE_FILES = README $(eval $(perl-package)) diff --git a/package/perl-module-build/perl-module-build.hash b/package/perl-module-build/perl-module-build.hash index 0363ac5762..17e8b4e5de 100644 --- a/package/perl-module-build/perl-module-build.hash +++ b/package/perl-module-build/perl-module-build.hash @@ -1,3 +1,3 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 9df204e188462a4410d496f316c2c531 Module-Build-0.4220.tar.gz -sha256 fb1207c7e799366f7a8adda3f135bf8141c4d6068505650d4db2b2d3ce34b5a2 Module-Build-0.4220.tar.gz +md5 b74c2f6e84b60aad3a3defd30b6f0f4d Module-Build-0.4224.tar.gz +sha256 a6ca15d78244a7b50fdbf27f85c85f4035aa799ce7dd018a0d98b358ef7bc782 Module-Build-0.4224.tar.gz diff --git a/package/perl-module-build/perl-module-build.mk b/package/perl-module-build/perl-module-build.mk index 3c27002954..42c9c11141 100644 --- a/package/perl-module-build/perl-module-build.mk +++ b/package/perl-module-build/perl-module-build.mk @@ -4,10 +4,10 @@ # ################################################################################ -PERL_MODULE_BUILD_VERSION = 0.4220 +PERL_MODULE_BUILD_VERSION = 0.4224 PERL_MODULE_BUILD_SOURCE = Module-Build-$(PERL_MODULE_BUILD_VERSION).tar.gz PERL_MODULE_BUILD_SITE = $(BR2_CPAN_MIRROR)/authors/id/L/LE/LEONT -PERL_MODULE_BUILD_LICENSE = Artistic or GPLv1+ +PERL_MODULE_BUILD_LICENSE = Artistic or GPL-1.0+ PERL_MODULE_BUILD_LICENSE_FILES = LICENSE $(eval $(host-perl-package)) diff --git a/package/perl-mojolicious/perl-mojolicious.hash b/package/perl-mojolicious/perl-mojolicious.hash index 21b2768b86..45bfd5ac5e 100644 --- a/package/perl-mojolicious/perl-mojolicious.hash +++ b/package/perl-mojolicious/perl-mojolicious.hash @@ -1,3 +1,3 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 97a935d64fc2aaf5538e6ab704bbc420 Mojolicious-7.20.tar.gz -sha256 ddd034bdd2b99f64498f30b9859c2f2607318f43983dfe36e14bfdf1526fd693 Mojolicious-7.20.tar.gz +md5 a07d9d3fc06a35cc7336b35e6e531e43 Mojolicious-7.43.tar.gz +sha256 ca177da7b0c1e2a31a1880c4a06afbbd1ada1da57146bfa030b7912a3d608b5e Mojolicious-7.43.tar.gz diff --git a/package/perl-mojolicious/perl-mojolicious.mk b/package/perl-mojolicious/perl-mojolicious.mk index b3e6615f28..b3bec15e6e 100644 --- a/package/perl-mojolicious/perl-mojolicious.mk +++ b/package/perl-mojolicious/perl-mojolicious.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_MOJOLICIOUS_VERSION = 7.20 +PERL_MOJOLICIOUS_VERSION = 7.43 PERL_MOJOLICIOUS_SOURCE = Mojolicious-$(PERL_MOJOLICIOUS_VERSION).tar.gz PERL_MOJOLICIOUS_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SR/SRI PERL_MOJOLICIOUS_LICENSE = Artistic-2.0 diff --git a/package/perl-net-dns/Config.in b/package/perl-net-dns/Config.in index de720bf25e..c156505c76 100644 --- a/package/perl-net-dns/Config.in +++ b/package/perl-net-dns/Config.in @@ -4,4 +4,4 @@ config BR2_PACKAGE_PERL_NET_DNS help Perl Interface to the Domain Name System - http://www.net-dns.org + https://metacpan.org/release/Net-DNS diff --git a/package/perl-net-dns/perl-net-dns.hash b/package/perl-net-dns/perl-net-dns.hash index d2f072510a..a7234b27bc 100644 --- a/package/perl-net-dns/perl-net-dns.hash +++ b/package/perl-net-dns/perl-net-dns.hash @@ -1,3 +1,3 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 96c1a801cab92b81696a037c7c326e59 Net-DNS-1.07.tar.gz -sha256 5f91497f1af9f690153fa05a27a7d73ddada08bed40536fe2d0ac759b7af8492 Net-DNS-1.07.tar.gz +md5 7e7c6cf8184df4d49500a003d998764a Net-DNS-1.12.tar.gz +sha256 25ff01fe79de3fb759d190fadb0971c326f4afc2e6a4541d10d624f65b34c1ff Net-DNS-1.12.tar.gz diff --git a/package/perl-net-dns/perl-net-dns.mk b/package/perl-net-dns/perl-net-dns.mk index f1a0b88deb..2aad6bdc47 100644 --- a/package/perl-net-dns/perl-net-dns.mk +++ b/package/perl-net-dns/perl-net-dns.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_NET_DNS_VERSION = 1.07 +PERL_NET_DNS_VERSION = 1.12 PERL_NET_DNS_SOURCE = Net-DNS-$(PERL_NET_DNS_VERSION).tar.gz PERL_NET_DNS_SITE = $(BR2_CPAN_MIRROR)/authors/id/N/NL/NLNETLABS PERL_NET_DNS_DEPENDENCIES = perl-digest-hmac diff --git a/package/perl-net-http/perl-net-http.hash b/package/perl-net-http/perl-net-http.hash index 4dfad86e3f..31cf85af9e 100644 --- a/package/perl-net-http/perl-net-http.hash +++ b/package/perl-net-http/perl-net-http.hash @@ -1,3 +1,3 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 988c72ce2890df56e41df6695d108e5d Net-HTTP-6.12.tar.gz -sha256 8565aff76b3d09084642f3a83c654fb4ced8220e8e19d35c78b661519b4c1be6 Net-HTTP-6.12.tar.gz +md5 7d4f31e5b346e1926c0b9b4b27b07500 Net-HTTP-6.16.tar.gz +sha256 70c45b6aaf3e9fb1ce30a1fc3cf828cfaee45c5c0bd147b2f617efade1765e78 Net-HTTP-6.16.tar.gz diff --git a/package/perl-net-http/perl-net-http.mk b/package/perl-net-http/perl-net-http.mk index ec74a3f32e..027853763f 100644 --- a/package/perl-net-http/perl-net-http.mk +++ b/package/perl-net-http/perl-net-http.mk @@ -4,11 +4,11 @@ # ################################################################################ -PERL_NET_HTTP_VERSION = 6.12 +PERL_NET_HTTP_VERSION = 6.16 PERL_NET_HTTP_SOURCE = Net-HTTP-$(PERL_NET_HTTP_VERSION).tar.gz PERL_NET_HTTP_SITE = $(BR2_CPAN_MIRROR)/authors/id/O/OA/OALDERS PERL_NET_HTTP_DEPENDENCIES = perl-uri -PERL_NET_HTTP_LICENSE = Artistic or GPLv1+ +PERL_NET_HTTP_LICENSE = Artistic or GPL-1.0+ PERL_NET_HTTP_LICENSE_FILES = LICENSE $(eval $(perl-package)) diff --git a/package/perl-net-ssleay/perl-net-ssleay.hash b/package/perl-net-ssleay/perl-net-ssleay.hash index 556aea7d5e..08b2aee2e1 100644 --- a/package/perl-net-ssleay/perl-net-ssleay.hash +++ b/package/perl-net-ssleay/perl-net-ssleay.hash @@ -1,3 +1,3 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 a740d7792dbac8ca8c4eb38d3b8fbd01 Net-SSLeay-1.72.tar.gz -sha256 1baac39f0f12cee515d8bec633175bb5916ca542e5356e26420437bd6195d2f4 Net-SSLeay-1.72.tar.gz +md5 71932ce34d4db44de8d00399c3405792 Net-SSLeay-1.81.tar.gz +sha256 00cbb6174e628b42178e1445c9fd5a3c5ae2cfd6a5a43e03610ba14786f21b7d Net-SSLeay-1.81.tar.gz diff --git a/package/perl-net-ssleay/perl-net-ssleay.mk b/package/perl-net-ssleay/perl-net-ssleay.mk index 03a039e064..e91b344061 100644 --- a/package/perl-net-ssleay/perl-net-ssleay.mk +++ b/package/perl-net-ssleay/perl-net-ssleay.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_NET_SSLEAY_VERSION = 1.72 +PERL_NET_SSLEAY_VERSION = 1.81 PERL_NET_SSLEAY_SOURCE = Net-SSLeay-$(PERL_NET_SSLEAY_VERSION).tar.gz PERL_NET_SSLEAY_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MI/MIKEM PERL_NET_SSLEAY_DEPENDENCIES = openssl diff --git a/package/perl-netaddr-ip/Config.in b/package/perl-netaddr-ip/Config.in index 1525830083..d4061e1dfd 100644 --- a/package/perl-netaddr-ip/Config.in +++ b/package/perl-netaddr-ip/Config.in @@ -4,4 +4,3 @@ config BR2_PACKAGE_PERL_NETADDR_IP Manages IPv4 and IPv6 addresses and subnets https://metacpan.org/release/NetAddr-IP - diff --git a/package/perl-netaddr-ip/perl-netaddr-ip.mk b/package/perl-netaddr-ip/perl-netaddr-ip.mk index b5ee9a1cfb..a1f02c6912 100644 --- a/package/perl-netaddr-ip/perl-netaddr-ip.mk +++ b/package/perl-netaddr-ip/perl-netaddr-ip.mk @@ -7,7 +7,7 @@ PERL_NETADDR_IP_VERSION = 4.079 PERL_NETADDR_IP_SOURCE = NetAddr-IP-$(PERL_NETADDR_IP_VERSION).tar.gz PERL_NETADDR_IP_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MI/MIKER -PERL_NETADDR_IP_LICENSE = Artistic or GPLv1+ +PERL_NETADDR_IP_LICENSE = Artistic or GPL-1.0+ PERL_NETADDR_IP_LICENSE_FILES = Artistic Copying # we always build the Pure Perl version. diff --git a/package/perl-path-tiny/perl-path-tiny.hash b/package/perl-path-tiny/perl-path-tiny.hash index 259469cc11..49b6661e78 100644 --- a/package/perl-path-tiny/perl-path-tiny.hash +++ b/package/perl-path-tiny/perl-path-tiny.hash @@ -1,3 +1,3 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 92ece7b2aa09f18035b0550b0118bdee Path-Tiny-0.100.tar.gz -sha256 8b8c4c9db710470a26b356e7187eba47217fbba1fe8bd0ad72c5b2cc8f6ba10c Path-Tiny-0.100.tar.gz +md5 17354181d9794df01be555b25114dd24 Path-Tiny-0.104.tar.gz +sha256 c69f1dcfeb4aa004086deb9bc14c7d79f45798b947f1efbd634a3442e267aaef Path-Tiny-0.104.tar.gz diff --git a/package/perl-path-tiny/perl-path-tiny.mk b/package/perl-path-tiny/perl-path-tiny.mk index ed1304d4cf..53e787dc10 100644 --- a/package/perl-path-tiny/perl-path-tiny.mk +++ b/package/perl-path-tiny/perl-path-tiny.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_PATH_TINY_VERSION = 0.100 +PERL_PATH_TINY_VERSION = 0.104 PERL_PATH_TINY_SOURCE = Path-Tiny-$(PERL_PATH_TINY_VERSION).tar.gz PERL_PATH_TINY_SITE = $(BR2_CPAN_MIRROR)/authors/id/D/DA/DAGOLDEN PERL_PATH_TINY_LICENSE = Apache-2.0 diff --git a/package/perl-time-hires/Config.in b/package/perl-time-hires/Config.in index 37bad71d85..fe933a4d8e 100644 --- a/package/perl-time-hires/Config.in +++ b/package/perl-time-hires/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_PERL_TIME_HIRES help High resolution alarm, sleep, gettimeofday, interval timers - http://search.cpan.org/dist/Time-HiRes/HiRes.pm + https://metacpan.org/release/Time-HiRes comment "perl-time-hires needs a toolchain w/ dynamic library" depends on BR2_STATIC_LIBS diff --git a/package/perl-time-hires/perl-time-hires.hash b/package/perl-time-hires/perl-time-hires.hash index 1852340456..210f6302d9 100644 --- a/package/perl-time-hires/perl-time-hires.hash +++ b/package/perl-time-hires/perl-time-hires.hash @@ -1,3 +1,3 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 077e5d7eda1349f98c564026603f8a0a Time-HiRes-1.9726.tar.gz -sha256 ff662ad9b1f6c75a149db7fa1bfc7a161ac8b271e5f3980345e08b734769109e Time-HiRes-1.9726.tar.gz +md5 728dc2c2715313a056792191d7d0726c Time-HiRes-1.9746.tar.gz +sha256 89408c81bb827bc908c98eec50071e6e1158f38fa462865ecc3dc03aebf5f596 Time-HiRes-1.9746.tar.gz diff --git a/package/perl-time-hires/perl-time-hires.mk b/package/perl-time-hires/perl-time-hires.mk index 7436d96de3..7f52625fe3 100644 --- a/package/perl-time-hires/perl-time-hires.mk +++ b/package/perl-time-hires/perl-time-hires.mk @@ -4,10 +4,10 @@ # ################################################################################ -PERL_TIME_HIRES_VERSION = 1.9726 +PERL_TIME_HIRES_VERSION = 1.9746 PERL_TIME_HIRES_SOURCE = Time-HiRes-$(PERL_TIME_HIRES_VERSION).tar.gz -PERL_TIME_HIRES_SITE = $(BR2_CPAN_MIRROR)/authors/id/Z/ZE/ZEFRAM -PERL_TIME_HIRES_LICENSE = Artistic or GPLv1+ +PERL_TIME_HIRES_SITE = $(BR2_CPAN_MIRROR)/authors/id/J/JH/JHI +PERL_TIME_HIRES_LICENSE = Artistic or GPL-1.0+ PERL_TIME_HIRES_LICENSE_FILES = README $(eval $(perl-package)) diff --git a/package/perl-timedate/perl-timedate.mk b/package/perl-timedate/perl-timedate.mk index 4c594fb799..cdc2c07fee 100644 --- a/package/perl-timedate/perl-timedate.mk +++ b/package/perl-timedate/perl-timedate.mk @@ -7,7 +7,7 @@ PERL_TIMEDATE_VERSION = 2.30 PERL_TIMEDATE_SOURCE = TimeDate-$(PERL_TIMEDATE_VERSION).tar.gz PERL_TIMEDATE_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GB/GBARR -PERL_TIMEDATE_LICENSE = Artistic or GPLv1+ +PERL_TIMEDATE_LICENSE = Artistic or GPL-1.0+ PERL_TIMEDATE_LICENSE_FILES = README $(eval $(perl-package)) diff --git a/package/perl-uri/Config.in b/package/perl-uri/Config.in index 62a53f248a..23e5c50e0b 100644 --- a/package/perl-uri/Config.in +++ b/package/perl-uri/Config.in @@ -1,8 +1,6 @@ config BR2_PACKAGE_PERL_URI bool "perl-uri" help - The module implements the URI class. Objects of this class represent - Uniform Resource Identifier references as specified in RFC 2396 and - updated by RFC 2732. + Uniform Resource Identifiers (absolute and relative) - https://github.com/libwww-perl/uri + https://github.com/libwww-perl/URI diff --git a/package/perl-uri/perl-uri.hash b/package/perl-uri/perl-uri.hash index 8a265bfcb0..a11924fdb4 100644 --- a/package/perl-uri/perl-uri.hash +++ b/package/perl-uri/perl-uri.hash @@ -1,3 +1,3 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 247c3da29a794f72730e01aa5a715daf URI-1.71.tar.gz -sha256 9c8eca0d7f39e74bbc14706293e653b699238eeb1a7690cc9c136fb8c2644115 URI-1.71.tar.gz +md5 cd56d81ed429efaa97e7f3ff08851b48 URI-1.72.tar.gz +sha256 35f14431d4b300de4be1163b0b5332de2d7fbda4f05ff1ed198a8e9330d40a32 URI-1.72.tar.gz diff --git a/package/perl-uri/perl-uri.mk b/package/perl-uri/perl-uri.mk index e7118fceed..75f374a29b 100644 --- a/package/perl-uri/perl-uri.mk +++ b/package/perl-uri/perl-uri.mk @@ -4,10 +4,10 @@ # ################################################################################ -PERL_URI_VERSION = 1.71 +PERL_URI_VERSION = 1.72 PERL_URI_SOURCE = URI-$(PERL_URI_VERSION).tar.gz PERL_URI_SITE = $(BR2_CPAN_MIRROR)/authors/id/E/ET/ETHER -PERL_URI_LICENSE = Artistic or GPLv1+ +PERL_URI_LICENSE = Artistic or GPL-1.0+ PERL_URI_LICENSE_FILES = LICENSE $(eval $(perl-package)) diff --git a/package/perl-www-robotrules/perl-www-robotrules.mk b/package/perl-www-robotrules/perl-www-robotrules.mk index 0c68b98a3a..5e8bab9d5d 100644 --- a/package/perl-www-robotrules/perl-www-robotrules.mk +++ b/package/perl-www-robotrules/perl-www-robotrules.mk @@ -8,7 +8,7 @@ PERL_WWW_ROBOTRULES_VERSION = 6.02 PERL_WWW_ROBOTRULES_SOURCE = WWW-RobotRules-$(PERL_WWW_ROBOTRULES_VERSION).tar.gz PERL_WWW_ROBOTRULES_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GA/GAAS PERL_WWW_ROBOTRULES_DEPENDENCIES = perl-uri -PERL_WWW_ROBOTRULES_LICENSE = Artistic or GPLv1+ +PERL_WWW_ROBOTRULES_LICENSE = Artistic or GPL-1.0+ PERL_WWW_ROBOTRULES_LICENSE_FILES = README $(eval $(perl-package)) diff --git a/package/perl-xml-libxml/perl-xml-libxml.hash b/package/perl-xml-libxml/perl-xml-libxml.hash index b6195c3b98..092ec15d62 100644 --- a/package/perl-xml-libxml/perl-xml-libxml.hash +++ b/package/perl-xml-libxml/perl-xml-libxml.hash @@ -1,3 +1,3 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 9904690371679e082ff2c23677b6c90e XML-LibXML-2.0128.tar.gz -sha256 26e7ba451f3bade4d29ff00653a2ee01d13fe38b9a2ebcd0b0f3f82f9f688f2b XML-LibXML-2.0128.tar.gz +md5 5806b69d54a2d7884b8d22b395888436 XML-LibXML-2.0129.tar.gz +sha256 5ca0269ba06800c84061a7f3333c85fab5584d69cd7b4e0641963da7fd36b366 XML-LibXML-2.0129.tar.gz diff --git a/package/perl-xml-libxml/perl-xml-libxml.mk b/package/perl-xml-libxml/perl-xml-libxml.mk index 8d8f5905ac..8ef6fcbc26 100644 --- a/package/perl-xml-libxml/perl-xml-libxml.mk +++ b/package/perl-xml-libxml/perl-xml-libxml.mk @@ -4,11 +4,11 @@ # ################################################################################ -PERL_XML_LIBXML_VERSION = 2.0128 +PERL_XML_LIBXML_VERSION = 2.0129 PERL_XML_LIBXML_SOURCE = XML-LibXML-$(PERL_XML_LIBXML_VERSION).tar.gz PERL_XML_LIBXML_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SH/SHLOMIF PERL_XML_LIBXML_DEPENDENCIES = zlib libxml2 perl-xml-namespacesupport perl-xml-sax perl-xml-sax-base -PERL_XML_LIBXML_LICENSE = Artistic or GPLv1+ +PERL_XML_LIBXML_LICENSE = Artistic or GPL-1.0+ PERL_XML_LIBXML_LICENSE_FILES = LICENSE PERL_XML_LIBXML_CONF_OPTS = \ diff --git a/package/perl-xml-namespacesupport/Config.in b/package/perl-xml-namespacesupport/Config.in index bc67d47904..93a697c624 100644 --- a/package/perl-xml-namespacesupport/Config.in +++ b/package/perl-xml-namespacesupport/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_PERL_XML_NAMESPACESUPPORT bool "perl-xml-namespacesupport" help - a simple generic namespace support class + A simple generic namespace processor - https://metacpan.org/release/XML-NamespaceSupport + https://github.com/perigrin/xml-namespacesupport diff --git a/package/perl-xml-namespacesupport/perl-xml-namespacesupport.hash b/package/perl-xml-namespacesupport/perl-xml-namespacesupport.hash index 9389601d0f..d55551c11c 100644 --- a/package/perl-xml-namespacesupport/perl-xml-namespacesupport.hash +++ b/package/perl-xml-namespacesupport/perl-xml-namespacesupport.hash @@ -1,3 +1,3 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 222cca76161cd956d724286d36b607da XML-NamespaceSupport-1.11.tar.gz -sha256 6d8151f0a3f102313d76b64bfd1c2d9ed46bfe63a16f038e7d860fda287b74ea XML-NamespaceSupport-1.11.tar.gz +md5 a8916c6d095bcf073e1108af02e78c97 XML-NamespaceSupport-1.12.tar.gz +sha256 47e995859f8dd0413aa3f22d350c4a62da652e854267aa0586ae544ae2bae5ef XML-NamespaceSupport-1.12.tar.gz diff --git a/package/perl-xml-namespacesupport/perl-xml-namespacesupport.mk b/package/perl-xml-namespacesupport/perl-xml-namespacesupport.mk index 31b71c13e5..325440b33a 100644 --- a/package/perl-xml-namespacesupport/perl-xml-namespacesupport.mk +++ b/package/perl-xml-namespacesupport/perl-xml-namespacesupport.mk @@ -4,10 +4,10 @@ # ################################################################################ -PERL_XML_NAMESPACESUPPORT_VERSION = 1.11 +PERL_XML_NAMESPACESUPPORT_VERSION = 1.12 PERL_XML_NAMESPACESUPPORT_SOURCE = XML-NamespaceSupport-$(PERL_XML_NAMESPACESUPPORT_VERSION).tar.gz PERL_XML_NAMESPACESUPPORT_SITE = $(BR2_CPAN_MIRROR)/authors/id/P/PE/PERIGRIN -PERL_XML_NAMESPACESUPPORT_LICENSE = Artistic or GPLv1+ -PERL_XML_NAMESPACESUPPORT_LICENSE_FILES = README +PERL_XML_NAMESPACESUPPORT_LICENSE = Artistic or GPL-1.0+ +PERL_XML_NAMESPACESUPPORT_LICENSE_FILES = LICENSE $(eval $(perl-package)) diff --git a/package/perl-xml-sax-base/perl-xml-sax-base.hash b/package/perl-xml-sax-base/perl-xml-sax-base.hash index 6822e1844a..a51e1d1b14 100644 --- a/package/perl-xml-sax-base/perl-xml-sax-base.hash +++ b/package/perl-xml-sax-base/perl-xml-sax-base.hash @@ -1,3 +1,3 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 38c8c3247dfd080712596118d70dbe32 XML-SAX-Base-1.08.tar.gz -sha256 666270318b15f88b8427e585198abbc19bc2e6ccb36dc4c0a4f2d9807330219e XML-SAX-Base-1.08.tar.gz +md5 ec347a14065dd7aec7d9fb181b2d7946 XML-SAX-Base-1.09.tar.gz +sha256 66cb355ba4ef47c10ca738bd35999723644386ac853abbeb5132841f5e8a2ad0 XML-SAX-Base-1.09.tar.gz diff --git a/package/perl-xml-sax-base/perl-xml-sax-base.mk b/package/perl-xml-sax-base/perl-xml-sax-base.mk index 60dec31695..ec6e052b72 100644 --- a/package/perl-xml-sax-base/perl-xml-sax-base.mk +++ b/package/perl-xml-sax-base/perl-xml-sax-base.mk @@ -4,10 +4,10 @@ # ################################################################################ -PERL_XML_SAX_BASE_VERSION = 1.08 +PERL_XML_SAX_BASE_VERSION = 1.09 PERL_XML_SAX_BASE_SOURCE = XML-SAX-Base-$(PERL_XML_SAX_BASE_VERSION).tar.gz PERL_XML_SAX_BASE_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GR/GRANTM -PERL_XML_SAX_BASE_LICENSE = Artistic or GPLv1+ +PERL_XML_SAX_BASE_LICENSE = Artistic or GPL-1.0+ PERL_XML_SAX_BASE_LICENSE_FILES = README $(eval $(perl-package)) diff --git a/package/perl-xml-sax/perl-xml-sax.mk b/package/perl-xml-sax/perl-xml-sax.mk index f6d03729dc..90b2cd6940 100644 --- a/package/perl-xml-sax/perl-xml-sax.mk +++ b/package/perl-xml-sax/perl-xml-sax.mk @@ -8,7 +8,7 @@ PERL_XML_SAX_VERSION = 0.99 PERL_XML_SAX_SOURCE = XML-SAX-$(PERL_XML_SAX_VERSION).tar.gz PERL_XML_SAX_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GR/GRANTM PERL_XML_SAX_DEPENDENCIES = perl-xml-namespacesupport perl-xml-sax-base -PERL_XML_SAX_LICENSE = Artistic or GPLv1+ +PERL_XML_SAX_LICENSE = Artistic or GPL-1.0+ PERL_XML_SAX_LICENSE_FILES = LICENSE $(eval $(perl-package)) diff --git a/package/perl/0001-fix-static-build-with-gdbm-gettext.patch b/package/perl/0001-fix-static-build-with-gdbm-gettext.patch deleted file mode 100644 index ca6bf011f0..0000000000 --- a/package/perl/0001-fix-static-build-with-gdbm-gettext.patch +++ /dev/null @@ -1,20 +0,0 @@ -fix static build with gdbm + gettext - -see doc http://perldoc.perl.org/ExtUtils/MakeMaker.html#LIBS - -Signed-off-by: Francois Perrad - -index: b/ext/GDBM_File/Makefile.PL -=================================================================== ---- a/ext/GDBM_File/Makefile.PL -+++ b/ext/GDBM_File/Makefile.PL -@@ -2,7 +2,7 @@ use ExtUtils::MakeMaker; - use ExtUtils::Constant 0.11 'WriteConstants'; - WriteMakefile( - NAME => 'GDBM_File', -- LIBS => ["-lgdbm", "-ldbm"], -+ LIBS => ["-lgdbm -lintl", "-lgdbm", "-ldbm"], - XSPROTOARG => '-noprototypes', # XXX remove later? - VERSION_FROM => 'GDBM_File.pm', - realclean => {FILES=> 'const-c.inc const-xs.inc'}, - diff --git a/package/perl/perl.hash b/package/perl/perl.hash index 41c1ce8a61..14e6b117ca 100644 --- a/package/perl/perl.hash +++ b/package/perl/perl.hash @@ -1,7 +1,7 @@ -# Hashes from: http://www.cpan.org/src/5.0/perl-5.24.1.tar.xz.{md5,sha1,sha256}.txt -md5 af6a84c7c3e2b8b269c105a5db2f6d53 perl-5.24.1.tar.xz -sha1 5bec25d8821b81a5939ee220997f4c8ab1c13e31 perl-5.24.1.tar.xz -sha256 03a77bac4505c270f1890ece75afc7d4b555090b41aa41ea478747e23b2afb3f perl-5.24.1.tar.xz +# Hashes from: http://www.cpan.org/src/5.0/perl-5.26.1.tar.xz.{md5,sha1,sha256}.txt +md5 70e988b4318739b0cf3ad5e120bfde88 perl-5.26.1.tar.xz +sha1 403bb1804cb41416153d908eea093f2be22a77f6 perl-5.26.1.tar.xz +sha256 fe8208133e73e47afc3251c08d2c21c5a60160165a8ab8b669c43a420e4ec680 perl-5.26.1.tar.xz -# Hashes from: http://github.com/arsv/perl-cross/releases/download/1.1.3/perl-cross-1.1.3.hash -sha256 181b24ff71815fb2c8065e6ea139d106796eee0964aebfd8081f0b7f69e0696d perl-cross-1.1.3.tar.gz +# Hashes from: http://github.com/arsv/perl-cross/releases/download/1.1.8/perl-cross-1.1.8.hash +sha256 08e626ed9c419b8a695a8762ff8b41a553023175e4ad67b5e858fc9b4322521c perl-cross-1.1.8.tar.gz diff --git a/package/perl/perl.mk b/package/perl/perl.mk index 224b4cbaae..58bf3eb6ae 100644 --- a/package/perl/perl.mk +++ b/package/perl/perl.mk @@ -4,16 +4,16 @@ # ################################################################################ -# When updating the version here, also update support/scripts/scancpan -PERL_VERSION_MAJOR = 24 +# When updating the version here, also update utils/scancpan +PERL_VERSION_MAJOR = 26 PERL_VERSION = 5.$(PERL_VERSION_MAJOR).1 PERL_SITE = http://www.cpan.org/src/5.0 PERL_SOURCE = perl-$(PERL_VERSION).tar.xz -PERL_LICENSE = Artistic or GPLv1+ +PERL_LICENSE = Artistic or GPL-1.0+ PERL_LICENSE_FILES = Artistic Copying README PERL_INSTALL_STAGING = YES -PERL_CROSS_VERSION = 1.1.3 +PERL_CROSS_VERSION = 1.1.8 # DO NOT refactor with the github helper (the result is not the same) PERL_CROSS_SITE = https://github.com/arsv/perl-cross/releases/download/$(PERL_CROSS_VERSION) PERL_CROSS_SOURCE = perl-cross-$(PERL_CROSS_VERSION).tar.gz @@ -91,7 +91,7 @@ endef HOST_PERL_CONF_OPTS = \ -des \ - -Dprefix="$(HOST_DIR)/usr" \ + -Dprefix="$(HOST_DIR)" \ -Dcc="$(HOSTCC)" define HOST_PERL_CONFIGURE_CMDS diff --git a/package/phidgetwebservice/phidgetwebservice.mk b/package/phidgetwebservice/phidgetwebservice.mk index f7d1b48411..36c0185e72 100644 --- a/package/phidgetwebservice/phidgetwebservice.mk +++ b/package/phidgetwebservice/phidgetwebservice.mk @@ -8,7 +8,7 @@ PHIDGETWEBSERVICE_VERSION = 2.1.8.20140319 PHIDGETWEBSERVICE_SOURCE = phidgetwebservice_$(PHIDGETWEBSERVICE_VERSION).tar.gz PHIDGETWEBSERVICE_SITE = http://www.phidgets.com/downloads/libraries PHIDGETWEBSERVICE_DEPENDENCIES = libphidget -PHIDGETWEBSERVICE_LICENSE = LGPLv3 +PHIDGETWEBSERVICE_LICENSE = LGPL-3.0 PHIDGETWEBSERVICE_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/php-amqp/php-amqp.hash b/package/php-amqp/php-amqp.hash index 73c69d920b..4b3b19726f 100644 --- a/package/php-amqp/php-amqp.hash +++ b/package/php-amqp/php-amqp.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 38a92eaef1aa863404170bcd15605f7f78140eeec1ff5be6af65c5b8081e2599 amqp-1.7.1.tgz +sha256 f45831d498b8fa47a151c31f6abdc0530aa6eabda6e2e10514aca3bdc76a5098 amqp-1.9.0.tgz diff --git a/package/php-amqp/php-amqp.mk b/package/php-amqp/php-amqp.mk index d3ffe1600d..6a8c52c4cf 100644 --- a/package/php-amqp/php-amqp.mk +++ b/package/php-amqp/php-amqp.mk @@ -4,20 +4,20 @@ # ################################################################################ -PHP_AMQP_VERSION = 1.7.1 +PHP_AMQP_VERSION = 1.9.0 PHP_AMQP_SOURCE = amqp-$(PHP_AMQP_VERSION).tgz PHP_AMQP_SITE = https://pecl.php.net/get PHP_AMQP_CONF_OPTS = --with-php-config=$(STAGING_DIR)/usr/bin/php-config \ --with-amqp=$(STAGING_DIR)/usr # phpize does the autoconf magic PHP_AMQP_DEPENDENCIES = rabbitmq-c php host-autoconf -PHP_AMQP_LICENSE = PHP +PHP_AMQP_LICENSE = PHP-3.01 PHP_AMQP_LICENSE_FILES = LICENSE define PHP_AMQP_PHPIZE (cd $(@D); \ - PHP_AUTOCONF=$(HOST_DIR)/usr/bin/autoconf \ - PHP_AUTOHEADER=$(HOST_DIR)/usr/bin/autoheader \ + PHP_AUTOCONF=$(HOST_DIR)/bin/autoconf \ + PHP_AUTOHEADER=$(HOST_DIR)/bin/autoheader \ $(STAGING_DIR)/usr/bin/phpize) endef diff --git a/package/php-geoip/php-geoip.hash b/package/php-geoip/php-geoip.hash index 37298802dc..21e26c8ea2 100644 --- a/package/php-geoip/php-geoip.hash +++ b/package/php-geoip/php-geoip.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 63167b717f624580b93f3c6c050d8d64ebc6cbe1377069646eb387534c7a2f7e php-geoip-ebb68228ad94298a305710f701b2ade9acff985d.tar.gz +sha256 b2d05c03019d46135c249b5a7fa0dbd43ca5ee98aea8ed807bc7aa90ac8c0f06 geoip-1.1.1.tgz diff --git a/package/php-geoip/php-geoip.mk b/package/php-geoip/php-geoip.mk index c39c95c4ec..82ecba5816 100644 --- a/package/php-geoip/php-geoip.mk +++ b/package/php-geoip/php-geoip.mk @@ -4,19 +4,20 @@ # ################################################################################ -PHP_GEOIP_VERSION = ebb68228ad94298a305710f701b2ade9acff985d -PHP_GEOIP_SITE = $(call github,php7-extensions,ext-php7-geoip,$(PHP_GEOIP_VERSION)) +PHP_GEOIP_VERSION = 1.1.1 +PHP_GEOIP_SOURCE = geoip-$(PHP_GEOIP_VERSION).tgz +PHP_GEOIP_SITE = https://pecl.php.net/get PHP_GEOIP_CONF_OPTS = --with-php-config=$(STAGING_DIR)/usr/bin/php-config \ --with-geoip=$(STAGING_DIR)/usr # phpize does the autoconf magic PHP_GEOIP_DEPENDENCIES = geoip php host-autoconf -PHP_GEOIP_LICENSE = PHP +PHP_GEOIP_LICENSE = PHP-3.01 PHP_GEOIP_LICENSE_FILES = geoip.c define PHP_GEOIP_PHPIZE (cd $(@D); \ - PHP_AUTOCONF=$(HOST_DIR)/usr/bin/autoconf \ - PHP_AUTOHEADER=$(HOST_DIR)/usr/bin/autoheader \ + PHP_AUTOCONF=$(HOST_DIR)/bin/autoconf \ + PHP_AUTOHEADER=$(HOST_DIR)/bin/autoheader \ $(STAGING_DIR)/usr/bin/phpize) endef diff --git a/package/php-gnupg/php-gnupg.hash b/package/php-gnupg/php-gnupg.hash index f0654b5781..4185665e04 100644 --- a/package/php-gnupg/php-gnupg.hash +++ b/package/php-gnupg/php-gnupg.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 6f1a4b5a95fe501519de76d66602e46290cc452fc48f3a5ec2eacaffe68d9a01 php-gnupg-30fab6eaf9eb61c65b3b46987442be058cbd7823.tar.gz +sha256 35e16bee11345a7d6bf57bea3cadf45e371ad1ed4e0218b0c06f6f637e4e1772 gnupg-1.4.0.tgz diff --git a/package/php-gnupg/php-gnupg.mk b/package/php-gnupg/php-gnupg.mk index c1c6680bb7..ae0a781154 100644 --- a/package/php-gnupg/php-gnupg.mk +++ b/package/php-gnupg/php-gnupg.mk @@ -4,19 +4,20 @@ # ################################################################################ -PHP_GNUPG_VERSION = 30fab6eaf9eb61c65b3b46987442be058cbd7823 -PHP_GNUPG_SITE = $(call github,Sean-Der,pecl-encryption-gnupg,$(PHP_GNUPG_VERSION)) +PHP_GNUPG_VERSION = 1.4.0 +PHP_GNUPG_SOURCE = gnupg-$(PHP_GNUPG_VERSION).tgz +PHP_GNUPG_SITE = https://pecl.php.net/get # phpize does the autoconf magic PHP_GNUPG_DEPENDENCIES = php libgpgme host-autoconf host-pkgconf PHP_GNUPG_CONF_OPTS = --with-php-config=$(STAGING_DIR)/usr/bin/php-config \ --with-gnupg=$(STAGING_DIR)/usr/include --with-gpg=/usr/bin/gpg -PHP_GNUPG_LICENSE = BSD-2c +PHP_GNUPG_LICENSE = BSD-2-Clause PHP_GNUPG_LICENSE_FILES = LICENSE define PHP_GNUPG_PHPIZE (cd $(@D); \ - PHP_AUTOCONF=$(HOST_DIR)/usr/bin/autoconf \ - PHP_AUTOHEADER=$(HOST_DIR)/usr/bin/autoheader \ + PHP_AUTOCONF=$(HOST_DIR)/bin/autoconf \ + PHP_AUTOHEADER=$(HOST_DIR)/bin/autoheader \ $(STAGING_DIR)/usr/bin/phpize) endef diff --git a/package/php-imagick/php-imagick.hash b/package/php-imagick/php-imagick.hash index e9912371b1..abb29d4e20 100644 --- a/package/php-imagick/php-imagick.hash +++ b/package/php-imagick/php-imagick.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 50bbc46e78cd6e1ea5d7660be1722258e60b1729483ca14b02da7cf9f5ed3e6a imagick-3.4.3RC1.tgz +sha256 1f3c5b5eeaa02800ad22f506cd100e8889a66b2ec937e192eaaa30d74562567c imagick-3.4.3.tgz diff --git a/package/php-imagick/php-imagick.mk b/package/php-imagick/php-imagick.mk index ddcefdaa40..ca0cbc7492 100644 --- a/package/php-imagick/php-imagick.mk +++ b/package/php-imagick/php-imagick.mk @@ -4,20 +4,20 @@ # ################################################################################ -PHP_IMAGICK_VERSION = 3.4.3RC1 +PHP_IMAGICK_VERSION = 3.4.3 PHP_IMAGICK_SOURCE = imagick-$(PHP_IMAGICK_VERSION).tgz PHP_IMAGICK_SITE = http://pecl.php.net/get PHP_IMAGICK_CONF_OPTS = --with-php-config=$(STAGING_DIR)/usr/bin/php-config \ --with-imagick=$(STAGING_DIR)/usr # phpize does the autoconf magic PHP_IMAGICK_DEPENDENCIES = imagemagick php host-autoconf -PHP_IMAGICK_LICENSE = PHP +PHP_IMAGICK_LICENSE = PHP-3.01 PHP_IMAGICK_LICENSE_FILES = LICENSE define PHP_IMAGICK_PHPIZE (cd $(@D); \ - PHP_AUTOCONF=$(HOST_DIR)/usr/bin/autoconf \ - PHP_AUTOHEADER=$(HOST_DIR)/usr/bin/autoheader \ + PHP_AUTOCONF=$(HOST_DIR)/bin/autoconf \ + PHP_AUTOHEADER=$(HOST_DIR)/bin/autoheader \ $(STAGING_DIR)/usr/bin/phpize) endef diff --git a/package/php-memcached/php-memcached.hash b/package/php-memcached/php-memcached.hash index f2a096f3dd..7a8ec28340 100644 --- a/package/php-memcached/php-memcached.hash +++ b/package/php-memcached/php-memcached.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 73266212e791a4817da06be1daddf9ff7dd5b5b0b650b3fbd0f5fc6ccc18491b php-memcached-6ee96cad7be5caa1f13a1f3e5a4d5f900b9c04ce.tar.gz +sha256 5d1c29a1d5e391d6bb7b736a07e063d2f0834800673dd246d64ce1b73e47645d memcached-3.0.3.tgz diff --git a/package/php-memcached/php-memcached.mk b/package/php-memcached/php-memcached.mk index ea241b2656..224a34453d 100644 --- a/package/php-memcached/php-memcached.mk +++ b/package/php-memcached/php-memcached.mk @@ -4,21 +4,22 @@ # ################################################################################ -PHP_MEMCACHED_VERSION = 6ee96cad7be5caa1f13a1f3e5a4d5f900b9c04ce -PHP_MEMCACHED_SITE = $(call github,php-memcached-dev,php-memcached,$(PHP_MEMCACHED_VERSION)) +PHP_MEMCACHED_VERSION = 3.0.3 +PHP_MEMCACHED_SOURCE = memcached-$(PHP_MEMCACHED_VERSION).tgz +PHP_MEMCACHED_SITE = https://pecl.php.net/get PHP_MEMCACHED_CONF_OPTS = --with-php-config=$(STAGING_DIR)/usr/bin/php-config \ --disable-memcached-sasl \ --with-libmemcached-dir=$(STAGING_DIR)/usr \ --with-zlib-dir=$(STAGING_DIR)/usr # phpize does the autoconf magic PHP_MEMCACHED_DEPENDENCIES = libmemcached php zlib host-autoconf host-pkgconf -PHP_MEMCACHED_LICENSE = MIT -PHP_MEMCACHED_LICENSE_FILES = LICENSE +PHP_MEMCACHED_LICENSE = PHP-3.01, MIT (fastlz), ISC-like (g_fmt.c, g_fmt.h) +PHP_MEMCACHED_LICENSE_FILES = LICENSE fastlz/LICENSE g_fmt.h define PHP_MEMCACHED_PHPIZE (cd $(@D); \ - PHP_AUTOCONF=$(HOST_DIR)/usr/bin/autoconf \ - PHP_AUTOHEADER=$(HOST_DIR)/usr/bin/autoheader \ + PHP_AUTOCONF=$(HOST_DIR)/bin/autoconf \ + PHP_AUTOHEADER=$(HOST_DIR)/bin/autoheader \ $(STAGING_DIR)/usr/bin/phpize) endef diff --git a/package/php-ssh2/php-ssh2.hash b/package/php-ssh2/php-ssh2.hash index b514601b93..f110e77866 100644 --- a/package/php-ssh2/php-ssh2.hash +++ b/package/php-ssh2/php-ssh2.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 3d79a6c9ffed3fd6ec16e834c0cc93cf125d9f5bdbb951b8b76a3507498548d5 php-ssh2-12dd52236c601577a63e33ee71e3ce6dad811e40.tar.gz +sha256 87618d6a0981afe8c24b36d6b38c21a0aa0237b62e60347d0170bd86b51f79fb ssh2-1.1.2.tgz diff --git a/package/php-ssh2/php-ssh2.mk b/package/php-ssh2/php-ssh2.mk index 2b616321e4..c9c13010dd 100644 --- a/package/php-ssh2/php-ssh2.mk +++ b/package/php-ssh2/php-ssh2.mk @@ -4,19 +4,20 @@ # ################################################################################ -PHP_SSH2_VERSION = 12dd52236c601577a63e33ee71e3ce6dad811e40 -PHP_SSH2_SITE = $(call github,php,pecl-networking-ssh2,$(PHP_SSH2_VERSION)) +PHP_SSH2_VERSION = 1.1.2 +PHP_SSH2_SOURCE = ssh2-$(PHP_SSH2_VERSION).tgz +PHP_SSH2_SITE = https://pecl.php.net/get PHP_SSH2_CONF_OPTS = --with-php-config=$(STAGING_DIR)/usr/bin/php-config \ --with-ssh2=$(STAGING_DIR)/usr # phpize does the autoconf magic PHP_SSH2_DEPENDENCIES = libssh2 php host-autoconf -PHP_SSH2_LICENSE = PHP +PHP_SSH2_LICENSE = PHP-3.01 PHP_SSH2_LICENSE_FILES = LICENSE define PHP_SSH2_PHPIZE (cd $(@D); \ - PHP_AUTOCONF=$(HOST_DIR)/usr/bin/autoconf \ - PHP_AUTOHEADER=$(HOST_DIR)/usr/bin/autoheader \ + PHP_AUTOCONF=$(HOST_DIR)/bin/autoconf \ + PHP_AUTOHEADER=$(HOST_DIR)/bin/autoheader \ $(STAGING_DIR)/usr/bin/phpize) endef diff --git a/package/php-yaml/php-yaml.hash b/package/php-yaml/php-yaml.hash index a40677ef5f..21b507e188 100644 --- a/package/php-yaml/php-yaml.hash +++ b/package/php-yaml/php-yaml.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 d49acf2b7843258957a16df0d7ced56c0e1fc3eaa54f54289e4012edc002814c yaml-2.0.0RC7.tgz +sha256 c3afb0dad47b6c3a5b7b449f57a4938df27bf974efbe188d85c4fb998eff0039 yaml-2.0.2.tgz diff --git a/package/php-yaml/php-yaml.mk b/package/php-yaml/php-yaml.mk index 27118906d4..086d575e97 100644 --- a/package/php-yaml/php-yaml.mk +++ b/package/php-yaml/php-yaml.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHP_YAML_VERSION = 2.0.0RC7 +PHP_YAML_VERSION = 2.0.2 PHP_YAML_SOURCE = yaml-$(PHP_YAML_VERSION).tgz PHP_YAML_SITE = https://pecl.php.net/get PHP_YAML_CONF_OPTS = --with-php-config=$(STAGING_DIR)/usr/bin/php-config \ @@ -16,8 +16,8 @@ PHP_YAML_LICENSE_FILES = LICENSE define PHP_YAML_PHPIZE (cd $(@D); \ - PHP_AUTOCONF=$(HOST_DIR)/usr/bin/autoconf \ - PHP_AUTOHEADER=$(HOST_DIR)/usr/bin/autoheader \ + PHP_AUTOCONF=$(HOST_DIR)/bin/autoconf \ + PHP_AUTOHEADER=$(HOST_DIR)/bin/autoheader \ $(STAGING_DIR)/usr/bin/phpize) endef diff --git a/package/php-zmq/php-zmq.mk b/package/php-zmq/php-zmq.mk index 2730996d4c..fed71955b6 100644 --- a/package/php-zmq/php-zmq.mk +++ b/package/php-zmq/php-zmq.mk @@ -10,13 +10,13 @@ PHP_ZMQ_SITE = https://pecl.php.net/get # phpize does the autoconf magic PHP_ZMQ_DEPENDENCIES = php zeromq host-autoconf host-pkgconf PHP_ZMQ_CONF_OPTS = --with-php-config=$(STAGING_DIR)/usr/bin/php-config -PHP_ZMQ_LICENSE = BSD-3c +PHP_ZMQ_LICENSE = BSD-3-Clause PHP_ZMQ_LICENSE_FILES = LICENSE define PHP_ZMQ_PHPIZE (cd $(@D); \ - PHP_AUTOCONF=$(HOST_DIR)/usr/bin/autoconf \ - PHP_AUTOHEADER=$(HOST_DIR)/usr/bin/autoheader \ + PHP_AUTOCONF=$(HOST_DIR)/bin/autoconf \ + PHP_AUTOHEADER=$(HOST_DIR)/bin/autoheader \ $(STAGING_DIR)/usr/bin/phpize) endef diff --git a/package/php/Config.ext b/package/php/Config.ext index 7c3ba7e8c4..6b3d86925d 100644 --- a/package/php/Config.ext +++ b/package/php/Config.ext @@ -53,8 +53,8 @@ config BR2_PACKAGE_PHP_EXT_ZIP config BR2_PACKAGE_PHP_EXT_ZLIB bool "zlib" - select BR2_PACKAGE_ZLIB default y + select BR2_PACKAGE_ZLIB help zlib support @@ -136,9 +136,9 @@ config BR2_PACKAGE_PHP_EXT_PDO_MYSQL config BR2_PACKAGE_PHP_EXT_PDO_POSTGRESQL bool "PostgreSQL" - select BR2_PACKAGE_POSTGRESQL depends on BR2_USE_MMU # postgresql depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_POSTGRESQL help PDO driver for PostgreSQL @@ -164,13 +164,12 @@ comment "Human language and character encoding support" config BR2_PACKAGE_PHP_EXT_GETTEXT bool "Gettext" - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT - depends on BR2_USE_WCHAR + depends on BR2_SYSTEM_ENABLE_NLS help Gettext support -comment "Gettext support needs a toolchain w/ wchar" - depends on !BR2_USE_WCHAR +comment "Gettext support needs NLS enabled" + depends on !BR2_SYSTEM_ENABLE_NLS config BR2_PACKAGE_PHP_EXT_ICONV bool "iconv" @@ -180,17 +179,22 @@ config BR2_PACKAGE_PHP_EXT_ICONV config BR2_PACKAGE_PHP_EXT_INTL bool "intl" - select BR2_PACKAGE_ICU + depends on BR2_HOST_GCC_AT_LEAST_4_8 # icu depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # icu depends on !BR2_BINFMT_FLAT # icu depends on BR2_TOOLCHAIN_HAS_THREADS # icu + select BR2_PACKAGE_ICU help Internationalization support -comment "intl support needs a toolchain w/ C++, wchar, threads" +comment "intl support needs a toolchain w/ C++, wchar, threads, gcc >= 4.8, host gcc >= 4.8" depends on !BR2_BINFMT_FLAT - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ + !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \ + !BR2_HOST_GCC_AT_LEAST_4_8 config BR2_PACKAGE_PHP_EXT_MBSTRING bool "mbstring" diff --git a/package/php/php.hash b/package/php/php.hash index 9c94b9e4cf..d1f36f2d34 100644 --- a/package/php/php.hash +++ b/package/php/php.hash @@ -1,2 +1,5 @@ # From http://php.net/downloads.php -sha256 b3565b0c1441064eba204821608df1ec7367abff881286898d900c2c2a5ffe70 php-7.1.1.tar.xz +sha256 074093e9d7d21afedc5106904218a80a47b854abe368d2728ed22184c884893e php-7.1.11.tar.xz + +# License file +sha256 a44951f93b10c87c3f7cd9f311d95999c57c95ed950eec32b14c1c7ea6baf25e LICENSE diff --git a/package/php/php.mk b/package/php/php.mk index 1379ad571b..aaeacde69a 100644 --- a/package/php/php.mk +++ b/package/php/php.mk @@ -4,14 +4,14 @@ # ################################################################################ -PHP_VERSION = 7.1.1 +PHP_VERSION = 7.1.11 PHP_SITE = http://www.php.net/distributions PHP_SOURCE = php-$(PHP_VERSION).tar.xz PHP_INSTALL_STAGING = YES PHP_INSTALL_STAGING_OPTS = INSTALL_ROOT=$(STAGING_DIR) install PHP_INSTALL_TARGET_OPTS = INSTALL_ROOT=$(TARGET_DIR) install PHP_DEPENDENCIES = host-pkgconf -PHP_LICENSE = PHP +PHP_LICENSE = PHP-3.01 PHP_LICENSE_FILES = LICENSE PHP_CONF_OPTS = \ --mandir=/usr/share/man \ @@ -55,6 +55,7 @@ endif PHP_CONFIG_SCRIPTS = php-config PHP_CFLAGS = $(TARGET_CFLAGS) +PHP_CXXFLAGS = $(TARGET_CXXFLAGS) # The OPcache extension isn't cross-compile friendly # Throw some defines here to avoid patching heavily @@ -159,7 +160,7 @@ endif ifeq ($(BR2_PACKAGE_PHP_EXT_GETTEXT),y) PHP_CONF_OPTS += --with-gettext=$(STAGING_DIR)/usr -PHP_DEPENDENCIES += $(if $(BR2_NEEDS_GETTEXT),gettext) +PHP_DEPENDENCIES += $(TARGET_NLS_DEPENDENCIES) endif ifeq ($(BR2_PACKAGE_PHP_EXT_ICONV),y) @@ -173,6 +174,7 @@ endif ifeq ($(BR2_PACKAGE_PHP_EXT_INTL),y) PHP_CONF_OPTS += --enable-intl --with-icu-dir=$(STAGING_DIR)/usr +PHP_CXXFLAGS += "`$(STAGING_DIR)/usr/bin/icu-config --cxxflags`" PHP_DEPENDENCIES += icu # The intl module is implemented in C++, but PHP fails to use # g++ as the compiler for the final link. As a workaround, @@ -343,6 +345,6 @@ endef PHP_POST_INSTALL_TARGET_HOOKS += PHP_INSTALL_FIXUP -PHP_CONF_ENV += CFLAGS="$(PHP_CFLAGS)" +PHP_CONF_ENV += CFLAGS="$(PHP_CFLAGS)" CXXFLAGS="$(PHP_CXXFLAGS)" $(eval $(autotools-package)) diff --git a/package/physfs/0001-Fix-builds-with-modern-GCC.patch b/package/physfs/0001-Fix-builds-with-modern-GCC.patch new file mode 100644 index 0000000000..710b4ff94d --- /dev/null +++ b/package/physfs/0001-Fix-builds-with-modern-GCC.patch @@ -0,0 +1,38 @@ +From 61d3b63abcba8e9615dcb8a3d1fc026bf7f8d5f8 Mon Sep 17 00:00:00 2001 +From: Jacob Burroughs +Date: Thu, 23 Jun 2016 13:03:47 -0500 +Subject: [PATCH] Fix builds with modern GCC + +From SuperTux project: +https://github.com/SuperTux/physfs/commit/61d3b63abcba8e9615dcb8a3d1fc026bf7f8d5f8 + +Signed-off-by: Romain Naour +--- + CMakeLists.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2a371af..94c4844 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -50,7 +50,7 @@ endif() + # Add some gcc-specific command lines. + if(CMAKE_COMPILER_IS_GNUCC) + # Always build with debug symbols...you can strip it later. +- add_definitions(-g -pipe -Werror -fsigned-char) ++ add_definitions(-g -pipe -fsigned-char) + + # Stupid BeOS generates warnings in the system headers. + if(NOT BEOS) +@@ -304,7 +304,7 @@ if(PHYSFS_BUILD_TEST) + if(READLINE_LIBRARY) + set(HAVE_SYSTEM_READLINE TRUE) + set(TEST_PHYSFS_LIBS ${TEST_PHYSFS_LIBS} ${READLINE_LIBRARY} ${CURSES_LIBRARY}) +- include_directories(${READLINE_H} ${HISTORY_H}) ++ include_directories(SYSTEM ${READLINE_H} ${HISTORY_H}) + add_definitions(-DPHYSFS_HAVE_READLINE=1) + endif() + endif() +-- +2.9.3 + diff --git a/package/physfs/Config.in b/package/physfs/Config.in new file mode 100644 index 0000000000..dad3ab43ce --- /dev/null +++ b/package/physfs/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_PHYSFS + bool "physfs" + depends on BR2_INSTALL_LIBSTDCPP + help + PhysicsFS; a portable, flexible file i/o abstraction. + + http://icculus.org/physfs + +comment "physfs needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/physfs/physfs.mk b/package/physfs/physfs.mk new file mode 100644 index 0000000000..9193ad5ec0 --- /dev/null +++ b/package/physfs/physfs.mk @@ -0,0 +1,30 @@ +################################################################################ +# +# physfs +# +################################################################################ + +PHYSFS_VERSION = be27dfd07d97336145e7f49d3fd200a6e902f85e +PHYSFS_SITE = https://hg.icculus.org/icculus/physfs +PHYSFS_SITE_METHOD = hg + +PHYSFS_LICENSE = Zlib (physfs), LGPL with exceptions (lzma) +PHYSFS_LICENSE_FILES = LICENSE.txt src/lzma/LGPL.txt + +PHYSFS_INSTALL_STAGING = YES + +PHYSFS_CONF_OPTS = -DPHYSFS_BUILD_TEST=OFF + +ifeq ($(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),y) +PHYSFS_CONF_OPTS += -DPHYSFS_BUILD_SHARED=ON +else +PHYSFS_CONF_OPTS += -DPHYSFS_BUILD_SHARED=OFF +endif + +ifeq ($(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),y) +PHYSFS_CONF_OPTS += -DPHYSFS_BUILD_STATIC=ON +else +PHYSFS_CONF_OPTS += -DPHYSFS_BUILD_STATIC=OFF +endif + +$(eval $(cmake-package)) diff --git a/package/phytool/Config.in b/package/phytool/Config.in new file mode 100644 index 0000000000..985468f1f4 --- /dev/null +++ b/package/phytool/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_PHYTOOL + bool "phytool" + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7 # linux/mdio.h + help + Linux MDIO register access utility. + + https://github.com/wkz/phytool + +comment "phytool needs a toolchain w/ headers >= 3.7" + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7 diff --git a/package/phytool/phytool.hash b/package/phytool/phytool.hash new file mode 100644 index 0000000000..ce04936417 --- /dev/null +++ b/package/phytool/phytool.hash @@ -0,0 +1,4 @@ +# md5 from https://github.com/wkz/phytool/releases/download/v2/phytool-2.tar.xz.md5 +# sha256 locally computed: +md5 972982f8e5f7237cbccfc6d275da7348 phytool-2.tar.xz +sha256 9901a14e8c6af02b7333c60b21ff81f50620e8326d54827185e5617ff9b11d21 phytool-2.tar.xz diff --git a/package/phytool/phytool.mk b/package/phytool/phytool.mk new file mode 100644 index 0000000000..3de6666110 --- /dev/null +++ b/package/phytool/phytool.mk @@ -0,0 +1,24 @@ +################################################################################ +# +# phytool +# +################################################################################ + +PHYTOOL_VERSION = 2 +PHYTOOL_SOURCE = phytool-$(PHYTOOL_VERSION).tar.xz +PHYTOOL_SITE = https://github.com/wkz/phytool/releases/download/v$(PHYTOOL_VERSION) +PHYTOOL_LICENSE = GPL-2.0+ +PHYTOOL_LICENSE_FILES = LICENSE + +define PHYTOOL_BUILD_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ + LDLIBS="$(TARGET_LDFLAGS)" +endef + +define PHYTOOL_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ + DESTDIR="$(TARGET_DIR)" \ + PREFIX="usr" install +endef + +$(eval $(generic-package)) diff --git a/package/picocom/picocom.hash b/package/picocom/picocom.hash index 674b6209d3..16db03e104 100644 --- a/package/picocom/picocom.hash +++ b/package/picocom/picocom.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 6b152fc5f816eaef6b86336a4cec7cf1496b7c712061e5aea5a36f143a0b09ed picocom-2.1.tar.gz +sha256 3e3904158d675541f0fcfdcd1f671b38445338f536080f5de8d6674b5f33d4ce picocom-2.2.tar.gz diff --git a/package/picocom/picocom.mk b/package/picocom/picocom.mk index 59a749fba1..4e25556f4c 100644 --- a/package/picocom/picocom.mk +++ b/package/picocom/picocom.mk @@ -4,13 +4,14 @@ # ################################################################################ -PICOCOM_VERSION = 2.1 +PICOCOM_VERSION = 2.2 PICOCOM_SITE = $(call github,npat-efault,picocom,$(PICOCOM_VERSION)) -PICOCOM_LICENSE = GPLv2+ +PICOCOM_LICENSE = GPL-2.0+ PICOCOM_LICENSE_FILES = LICENSE.txt define PICOCOM_BUILD_CMDS - $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) \ + LDFLAGS="$(TARGET_LDFLAGS)" -C $(@D) endef define PICOCOM_INSTALL_TARGET_CMDS diff --git a/package/pifmrds/pifmrds.mk b/package/pifmrds/pifmrds.mk index a30c0136f2..509ec80876 100644 --- a/package/pifmrds/pifmrds.mk +++ b/package/pifmrds/pifmrds.mk @@ -7,7 +7,7 @@ PIFMRDS_VERSION = 0bf57f9ce0d954365a38d8af8e7be6f28521c3f2 PIFMRDS_SITE = $(call github,ChristopheJacquet,PiFmRds,$(PIFMRDS_VERSION)) PIFMRDS_DEPENDENCIES = libsndfile -PIFMRDS_LICENSE = GPLv3+ +PIFMRDS_LICENSE = GPL-3.0+ PIFMRDS_LICENSE_FILES = LICENSE define PIFMRDS_BUILD_CMDS diff --git a/package/pinentry/0001-remove-hard-wired-ncursesw-include-path.patch b/package/pinentry/0001-remove-hard-wired-ncursesw-include-path.patch deleted file mode 100644 index c9903c4573..0000000000 --- a/package/pinentry/0001-remove-hard-wired-ncursesw-include-path.patch +++ /dev/null @@ -1,32 +0,0 @@ -From cf84bf3ef505059d42184b22cf38f89336bec43d Mon Sep 17 00:00:00 2001 -From: Gergely Imreh -Date: Mon, 22 Jun 2015 07:51:17 +0000 -Subject: [PATCH 1/1] remove hard-wired ncursesw include path - -Don't assume that the ncursesw headers are in ../usr/include/ncursesw/.., -and pkg-config finds the correct include path anyways. - -Signed-off-by: Gergely Imreh ---- - pinentry/pinentry-curses.c | 4 ---- - 1 file changed, 4 deletions(-) - -diff --git a/pinentry/pinentry-curses.c b/pinentry/pinentry-curses.c -index 235435a..bdcd0f4 100644 ---- a/pinentry/pinentry-curses.c -+++ b/pinentry/pinentry-curses.c -@@ -22,11 +22,7 @@ - #include - #endif - #include --#ifdef HAVE_NCURSESW --#include --#else - #include --#endif - #include - #include - #include --- -1.9.1 - diff --git a/package/pinentry/Config.in b/package/pinentry/Config.in index 682af9f3f2..781901bbaf 100644 --- a/package/pinentry/Config.in +++ b/package/pinentry/Config.in @@ -1,7 +1,14 @@ menuconfig BR2_PACKAGE_PINENTRY bool "pinentry" + depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgpg-error + depends on BR2_USE_MMU # libassuan + select BR2_PACKAGE_LIBASSUAN + select BR2_PACKAGE_LIBGPG_ERROR # At least one backend is needed to avoid build breakage - select BR2_PACKAGE_PINENTRY_NCURSES if !BR2_PACKAGE_PINENTRY_GTK2 && !BR2_PACKAGE_PINENTRY_QT4 + select BR2_PACKAGE_PINENTRY_NCURSES if \ + !BR2_PACKAGE_PINENTRY_GTK2 && \ + !BR2_PACKAGE_PINENTRY_QT4 && \ + !BR2_PACKAGE_PINENTRY_QT5 help A collection of simple PIN or pass-phrase entry dialogs @@ -40,17 +47,31 @@ config BR2_PACKAGE_PINENTRY_QT4 depends on BR2_USE_MMU # fork depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS - depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 # Qt GUI module select BR2_PACKAGE_QT select BR2_PACKAGE_QT_GUI_MODULE help The pinentry-qt4 tool -comment "pinentry-qt4 support needs a toolchain not affected by Binutils bug 19405" - depends on BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 - comment "pinentry-qt4 needs a toolchain w/ C++, threads" depends on BR2_USE_MMU depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS +config BR2_PACKAGE_PINENTRY_QT5 + bool "pinentry-qt5" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_USE_WCHAR + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL + depends on !BR2_STATIC_LIBS + depends on !BR2_PACKAGE_PINENTRY_QT4 + select BR2_PACKAGE_QT5 + select BR2_PACKAGE_QT5BASE_GUI + select BR2_PACKAGE_QT5BASE_WIDGETS + help + The pinentry-qt5 tool + +comment "pinentry-qt5 needs a toolchain w/ wchar, NPTL, C++, dynamic library" + depends on !BR2_PACKAGE_PINENTRY_QT4 + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ + !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS + endif diff --git a/package/pinentry/pinentry.hash b/package/pinentry/pinentry.hash index d544efd7f0..ef450b3c41 100644 --- a/package/pinentry/pinentry.hash +++ b/package/pinentry/pinentry.hash @@ -1,2 +1,4 @@ # From https://www.gnupg.org/download/integrity_check.html -sha1 0c47f0ddea4631bcba01ebbeca8bffe0bf43e440 pinentry-0.9.4.tar.bz2 +sha1 85d9ac81ebad3fb082514c505c90c39a0456f1f6 pinentry-1.0.0.tar.bz2 +# Locally computed +sha256 1672c2edc1feb036075b187c0773787b2afd0544f55025c645a71b4c2f79275a pinentry-1.0.0.tar.bz2 diff --git a/package/pinentry/pinentry.mk b/package/pinentry/pinentry.mk index bcb910a0e2..4081a8a5d6 100644 --- a/package/pinentry/pinentry.mk +++ b/package/pinentry/pinentry.mk @@ -4,22 +4,19 @@ # ################################################################################ -PINENTRY_VERSION = 0.9.4 +PINENTRY_VERSION = 1.0.0 PINENTRY_SOURCE = pinentry-$(PINENTRY_VERSION).tar.bz2 -PINENTRY_SITE = ftp://ftp.gnupg.org/gcrypt/pinentry -PINENTRY_LICENSE = GPLv2+ +PINENTRY_SITE = https://www.gnupg.org/ftp/gcrypt/pinentry +PINENTRY_LICENSE = GPL-2.0+ PINENTRY_LICENSE_FILES = COPYING PINENTRY_DEPENDENCIES = \ + libassuan libgpg-error \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) \ host-pkgconf -PINENTRY_CONF_OPTS += --without-libcap # requires PAM - -# pinentry uses some std::string functionality that needs C++11 -# support when gcc >= 5.x. This should be removed when bumping -# pinentry, since newer versions no longer use std::string. -ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_5),y) -PINENTRY_CONF_ENV = CXXFLAGS="$(TARGET_CXXFLAGS) -std=gnu++11" -endif +PINENTRY_CONF_OPTS += \ + --with-libassuan-prefix=$(STAGING_DIR)/usr \ + --with-libgpg-error-prefix=$(STAGING_DIR)/usr \ + --without-libcap # requires PAM # build with X if available ifeq ($(BR2_PACKAGE_XORG7),y) @@ -51,15 +48,17 @@ else PINENTRY_CONF_OPTS += --disable-pinentry-gtk2 endif -# pinentry-qt4 backend +# pinentry-qt4/5 backend +ifeq ($(BR2_PACKAGE_PINENTRY_QT4)$(BR2_PACKAGE_PINENTRY_QT5),y) ifeq ($(BR2_PACKAGE_PINENTRY_QT4),y) # -pthread needs to be passed for certain toolchains # http://autobuild.buildroot.net/results/6be/6be109ccedec603a67cebdb31b55865dcce0e128/ -PINENTRY_CONF_OPTS += LIBS=-pthread MOC=$(HOST_DIR)/usr/bin/moc -PINENTRY_CONF_OPTS += --enable-pinentry-qt4 -PINENTRY_DEPENDENCIES += qt +PINENTRY_CONF_OPTS += LIBS=-pthread MOC=$(HOST_DIR)/bin/moc +endif +PINENTRY_CONF_OPTS += --enable-pinentry-qt +PINENTRY_DEPENDENCIES += $(if $(BR2_PACKAGE_PINENTRY_QT4),qt,qt5base) else -PINENTRY_CONF_OPTS += --disable-pinentry-qt4 +PINENTRY_CONF_OPTS += --disable-pinentry-qt endif $(eval $(autotools-package)) diff --git a/package/pixz/Config.in b/package/pixz/Config.in new file mode 100644 index 0000000000..f7ca015721 --- /dev/null +++ b/package/pixz/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_PIXZ + bool "pixz" + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_USE_WCHAR # libarchive + select BR2_PACKAGE_LIBARCHIVE + select BR2_PACKAGE_XZ + help + Pixz (pronounced pixie) is a parallel, indexing version of xz. + + https://github.com/vasi/pixz + +comment "pixz needs a toolchain w/ threads, wchar" + depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR diff --git a/package/pixz/pixz.hash b/package/pixz/pixz.hash new file mode 100644 index 0000000000..3089bcd90e --- /dev/null +++ b/package/pixz/pixz.hash @@ -0,0 +1,2 @@ +# Locally computed: +sha256 02c50746b134fa1b1aae41fcc314d7c6f1919b3d48bcdea01bf11769f83f72e8 pixz-1.0.6.tar.xz diff --git a/package/pixz/pixz.mk b/package/pixz/pixz.mk new file mode 100644 index 0000000000..8d80f78617 --- /dev/null +++ b/package/pixz/pixz.mk @@ -0,0 +1,19 @@ +################################################################################ +# +# pixz +# +################################################################################ + +PIXZ_VERSION = 1.0.6 +PIXZ_SITE = https://github.com/vasi/pixz/releases/download/v$(PIXZ_VERSION) +PIXZ_SOURCE = pixz-$(PIXZ_VERSION).tar.xz +PIXZ_DEPENDENCIES = host-pkgconf libarchive xz +PIXZ_LICENSE = BSD-2-Clause +PIXZ_LICENSE_FILES = LICENSE + +# pixz.1 is actually present, but AC_CHECK_FILE doesn't detect it when +# cross-compiling, which causes configure to try to regenerate it. So give it a +# hint to say that it actually is present. +PIXZ_CONF_ENV = ac_cv_file_src_pixz_1=yes + +$(eval $(autotools-package)) diff --git a/package/pkg-autotools.mk b/package/pkg-autotools.mk index f7b848888b..45de99356f 100644 --- a/package/pkg-autotools.mk +++ b/package/pkg-autotools.mk @@ -199,9 +199,9 @@ define $(2)_CONFIGURE_CMDS --disable-documentation \ --with-xmlto=no \ --with-fop=no \ - --disable-dependency-tracking \ + $$(if $$($$(PKG)_OVERRIDE_SRCDIR),,--disable-dependency-tracking) \ --enable-ipv6 \ - $$(DISABLE_NLS) \ + $$(NLS_OPTS) \ $$(SHARED_STATIC_LIBS_OPTS) \ $$(QUIET) $$($$(PKG)_CONF_OPTS) \ ) @@ -220,7 +220,7 @@ define $(2)_CONFIGURE_CMDS $$($$(PKG)_CONF_ENV) \ CONFIG_SITE=/dev/null \ ./configure \ - --prefix="$$(HOST_DIR)/usr" \ + --prefix="$$(HOST_DIR)" \ --sysconfdir="$$(HOST_DIR)/etc" \ --localstatedir="$$(HOST_DIR)/var" \ --enable-shared --disable-static \ @@ -232,7 +232,7 @@ define $(2)_CONFIGURE_CMDS --disable-debug \ --with-xmlto=no \ --with-fop=no \ - --disable-dependency-tracking \ + $$(if $$($$(PKG)_OVERRIDE_SRCDIR),,--disable-dependency-tracking) \ $$(QUIET) $$($$(PKG)_CONF_OPTS) \ ) endef diff --git a/package/pkg-cmake.mk b/package/pkg-cmake.mk index a7c8dc3b34..db78d897d8 100644 --- a/package/pkg-cmake.mk +++ b/package/pkg-cmake.mk @@ -22,8 +22,8 @@ # Set compiler variables. ifeq ($(BR2_CCACHE),y) -CMAKE_HOST_C_COMPILER = $(HOST_DIR)/usr/bin/ccache -CMAKE_HOST_CXX_COMPILER = $(HOST_DIR)/usr/bin/ccache +CMAKE_HOST_C_COMPILER = $(HOST_DIR)/bin/ccache +CMAKE_HOST_CXX_COMPILER = $(HOST_DIR)/bin/ccache CMAKE_HOST_C_COMPILER_ARG1 = $(HOSTCC_NOCCACHE) CMAKE_HOST_CXX_COMPILER_ARG1 = $(HOSTCXX_NOCCACHE) else @@ -86,7 +86,7 @@ define $(2)_CONFIGURE_CMDS rm -f CMakeCache.txt && \ PATH=$$(BR_PATH) \ $$($$(PKG)_CONF_ENV) $$(BR2_CMAKE) $$($$(PKG)_SRCDIR) \ - -DCMAKE_TOOLCHAIN_FILE="$$(HOST_DIR)/usr/share/buildroot/toolchainfile.cmake" \ + -DCMAKE_TOOLCHAIN_FILE="$$(HOST_DIR)/share/buildroot/toolchainfile.cmake" \ -DCMAKE_INSTALL_PREFIX="/usr" \ -DCMAKE_COLOR_MAKEFILE=OFF \ -DBUILD_DOC=OFF \ @@ -109,13 +109,18 @@ define $(2)_CONFIGURE_CMDS cd $$($$(PKG)_BUILDDIR) && \ rm -f CMakeCache.txt && \ PATH=$$(BR_PATH) \ + PKG_CONFIG="$$(PKG_CONFIG_HOST_BINARY)" \ + PKG_CONFIG_SYSROOT_DIR="/" \ + PKG_CONFIG_LIBDIR="$$(HOST_DIR)/lib/pkgconfig:$$(HOST_DIR)/share/pkgconfig" \ + PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \ + PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \ $$($$(PKG)_CONF_ENV) $$(BR2_CMAKE) $$($$(PKG)_SRCDIR) \ -DCMAKE_INSTALL_SO_NO_EXE=0 \ -DCMAKE_FIND_ROOT_PATH="$$(HOST_DIR)" \ -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM="BOTH" \ -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY="BOTH" \ -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE="BOTH" \ - -DCMAKE_INSTALL_PREFIX="$$(HOST_DIR)/usr" \ + -DCMAKE_INSTALL_PREFIX="$$(HOST_DIR)" \ -DCMAKE_C_FLAGS="$$(HOST_CFLAGS)" \ -DCMAKE_CXX_FLAGS="$$(HOST_CXXFLAGS)" \ -DCMAKE_EXE_LINKER_FLAGS="$$(HOST_LDFLAGS)" \ @@ -219,21 +224,27 @@ else ifeq ($(BR2_ARM_CPU_ARMV6),y) CMAKE_SYSTEM_PROCESSOR_ARM_VARIANT = armv6 else ifeq ($(BR2_ARM_CPU_ARMV7A),y) CMAKE_SYSTEM_PROCESSOR_ARM_VARIANT = armv7 +else ifeq ($(BR2_ARM_CPU_ARMV8),y) +CMAKE_SYSTEM_PROCESSOR_ARM_VARIANT = armv8 endif ifeq ($(BR2_arm),y) CMAKE_SYSTEM_PROCESSOR = $(CMAKE_SYSTEM_PROCESSOR_ARM_VARIANT)l else ifeq ($(BR2_armeb),y) CMAKE_SYSTEM_PROCESSOR = $(CMAKE_SYSTEM_PROCESSOR_ARM_VARIANT)b +else ifeq ($(call qstrip,$(BR2_ARCH)),powerpc64) +CMAKE_SYSTEM_PROCESSOR = ppc64 +else ifeq ($(call qstrip,$(BR2_ARCH)),powerpc64le) +CMAKE_SYSTEM_PROCESSOR = ppc64le else CMAKE_SYSTEM_PROCESSOR = $(BR2_ARCH) endif # In order to allow the toolchain to be relocated, we calculate the HOST_DIR -# based on the toolchainfile.cmake file's location: $(HOST_DIR)/usr/share/buildroot +# based on the toolchainfile.cmake file's location: $(HOST_DIR)/share/buildroot # In all the other variables, HOST_DIR will be replaced by RELOCATED_HOST_DIR, # so we have to strip "$(HOST_DIR)/" from the paths that contain it. -$(HOST_DIR)/usr/share/buildroot/toolchainfile.cmake: +$(HOST_DIR)/share/buildroot/toolchainfile.cmake: @mkdir -p $(@D) sed \ -e 's#@@STAGING_SUBDIR@@#$(call qstrip,$(STAGING_SUBDIR))#' \ @@ -249,3 +260,6 @@ $(HOST_DIR)/usr/share/buildroot/toolchainfile.cmake: -e 's#@@CMAKE_BUILD_TYPE@@#$(if $(BR2_ENABLE_DEBUG),Debug,Release)#' \ $(TOPDIR)/support/misc/toolchainfile.cmake.in \ > $@ + +$(HOST_DIR)/share/buildroot/Platform/Buildroot.cmake: + $(Q)$(INSTALL) -D -m 0644 support/misc/Buildroot.cmake $(@) diff --git a/package/pkg-download.mk b/package/pkg-download.mk index cfc550e77b..fbbc2d7391 100644 --- a/package/pkg-download.mk +++ b/package/pkg-download.mk @@ -77,6 +77,7 @@ define DOWNLOAD_GIT $(EXTRA_ENV) $(DL_WRAPPER) -b git \ -o $(DL_DIR)/$($(PKG)_SOURCE) \ $(if $($(PKG)_GIT_SUBMODULES),-r) \ + -H $(PKGDIR)/$($(PKG)_RAWNAME).hash \ $(QUIET) \ -- \ $($(PKG)_SITE) \ @@ -225,7 +226,7 @@ define SOURCE_CHECK endef define DOWNLOAD_INNER - $(Q)$(if $(filter bzr cvs git hg svn,$($(PKG)_SITE_METHOD)),export BR_NO_CHECK_HASH_FOR=$(2);) \ + $(Q)$(if $(filter bzr cvs hg svn,$($(PKG)_SITE_METHOD)),export BR_NO_CHECK_HASH_FOR=$(2);) \ if test -n "$(call qstrip,$(BR2_PRIMARY_SITE))" ; then \ case "$(call geturischeme,$(BR2_PRIMARY_SITE))" in \ file) $(call $(3)_LOCALFILES,$(BR2_PRIMARY_SITE)/$(2),$(2)) && exit ;; \ diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk index e8a8021e3c..0e28675fbe 100644 --- a/package/pkg-generic.mk +++ b/package/pkg-generic.mk @@ -57,13 +57,21 @@ GLOBAL_INSTRUMENTATION_HOOKS += step_time # Hooks to collect statistics about installed files +define _step_pkg_size_get_file_list + (cd $(TARGET_DIR) ; \ + ( \ + find . -xtype f -print0 | xargs -0 md5sum ; \ + find . -xtype d -print0 | xargs -0 -I{} printf 'directory {}\n'; \ + ) \ + ) | sort > $1 +endef + # This hook will be called before the target installation of a # package. We store in a file named .br_filelist_before the list of # files currently installed in the target. Note that the MD5 is also # stored, in order to identify if the files are overwritten. define step_pkg_size_start - (cd $(TARGET_DIR) ; find . -type f -print0 | xargs -0 md5sum) | sort > \ - $($(PKG)_DIR)/.br_filelist_before + $(call _step_pkg_size_get_file_list,$($(PKG)_DIR)/.br_filelist_before) endef # This hook will be called after the target installation of a @@ -72,8 +80,7 @@ endef # a diff with the .br_filelist_before to compute the list of files # installed by this package. define step_pkg_size_end - (cd $(TARGET_DIR); find . -type f -print0 | xargs -0 md5sum) | sort > \ - $($(PKG)_DIR)/.br_filelist_after + $(call _step_pkg_size_get_file_list,$($(PKG)_DIR)/.br_filelist_after) comm -13 $($(PKG)_DIR)/.br_filelist_before $($(PKG)_DIR)/.br_filelist_after | \ while read hash file ; do \ echo "$(1),$${file}" >> $(BUILD_DIR)/packages-file-list.txt ; \ @@ -87,6 +94,17 @@ define step_pkg_size endef GLOBAL_INSTRUMENTATION_HOOKS += step_pkg_size +# Relies on step_pkg_size, so must be after +define check_bin_arch + $(if $(filter end-install-target,$(1)-$(2)),\ + support/scripts/check-bin-arch -p $(3) \ + -l $(BUILD_DIR)/packages-file-list.txt \ + -r $(TARGET_READELF) \ + -a $(BR2_READELF_ARCH_NAME)) +endef + +GLOBAL_INSTRUMENTATION_HOOKS += check_bin_arch + # This hook checks that host packages that need libraries that we build # have a proper DT_RPATH or DT_RUNPATH tag define check_host_rpath @@ -423,7 +441,7 @@ endif $(2)_BASE_NAME = $$(if $$($(2)_VERSION),$(1)-$$($(2)_VERSION),$(1)) $(2)_RAW_BASE_NAME = $$(if $$($(2)_VERSION),$$($(2)_RAWNAME)-$$($(2)_VERSION),$$($(2)_RAWNAME)) -$(2)_DL_DIR = $$(DL_DIR)/$$($(2)_BASE_NAME) +$(2)_DL_DIR = $$(DL_DIR) $(2)_DIR = $$(BUILD_DIR)/$$($(2)_BASE_NAME) ifndef $(2)_SUBDIR @@ -531,11 +549,14 @@ $(2)_REDIST_SOURCES_DIR = $$(REDIST_SOURCES_DIR_$$(call UPPERCASE,$(4)))/$$($(2) # When a target package is a toolchain dependency set this variable to # 'NO' so the 'toolchain' dependency is not added to prevent a circular -# dependency +# dependency. +# Similarly for the skeleton. $(2)_ADD_TOOLCHAIN_DEPENDENCY ?= YES +$(2)_ADD_SKELETON_DEPENDENCY ?= YES + ifeq ($(4),target) -ifneq ($(1),skeleton) +ifeq ($$($(2)_ADD_SKELETON_DEPENDENCY),YES) $(2)_DEPENDENCIES += skeleton endif ifeq ($$($(2)_ADD_TOOLCHAIN_DEPENDENCY),YES) @@ -598,6 +619,8 @@ $(2)_POST_INSTALL_IMAGES_HOOKS ?= $(2)_PRE_LEGAL_INFO_HOOKS ?= $(2)_POST_LEGAL_INFO_HOOKS ?= $(2)_TARGET_FINALIZE_HOOKS ?= +$(2)_ROOTFS_PRE_CMD_HOOKS ?= +$(2)_ROOTFS_POST_CMD_HOOKS ?= # human-friendly targets and target sequencing $(1): $(1)-install @@ -631,7 +654,7 @@ else $(1)-install-images: endif -$(1)-install-host: $$($(2)_TARGET_INSTALL_HOST) +$(1)-install-host: $$($(2)_TARGET_INSTALL_HOST) $$($(2)_TARGET_INSTALL_HOST): $$($(2)_TARGET_BUILD) $(1)-build: $$($(2)_TARGET_BUILD) @@ -683,6 +706,7 @@ $(1)-legal-source: $$($(2)_TARGET_ACTUAL_SOURCE) endif # actual sources != sources endif # actual sources != "" +$(1)-source-check: PKG=$(2) $(1)-source-check: $$(foreach p,$$($(2)_ALL_DOWNLOADS),$$(call SOURCE_CHECK,$$(p))$$(sep)) @@ -726,6 +750,9 @@ $(1)-show-depends: $(1)-show-rdepends: @echo $$($(2)_RDEPENDENCIES) +$(1)-show-build-order: $$(patsubst %,%-show-build-order,$$($(2)_FINAL_ALL_DEPENDENCIES)) + $$(info $(1)) + $(1)-graph-depends: graph-depends-requirements $(call pkg-graph-depends,$(1),--direct) @@ -820,7 +847,9 @@ endif endif # legal-info: produce legally relevant info. +$(1)-legal-info: PKG=$(2) $(1)-legal-info: + @$$(call MESSAGE,"Collecting legal info") # Packages without a source are assumed to be part of Buildroot, skip them. $$(foreach hook,$$($(2)_PRE_LEGAL_INFO_HOOKS),$$(call $$(hook))$$(sep)) ifneq ($$(call qstrip,$$($(2)_SOURCE)),) @@ -832,9 +861,9 @@ ifneq ($$(call qstrip,$$($(2)_SOURCE)),) # is that the license still applies to the files distributed as part # of the rootfs, even if the sources are not themselves redistributed. ifeq ($$(call qstrip,$$($(2)_LICENSE_FILES)),) - @$$(call legal-warning-pkg,$$($(2)_RAW_BASE_NAME),cannot save license ($(2)_LICENSE_FILES not defined)) + $(Q)$$(call legal-warning-pkg,$$($(2)_RAW_BASE_NAME),cannot save license ($(2)_LICENSE_FILES not defined)) else - @$$(foreach F,$$($(2)_LICENSE_FILES),$$(call legal-license-file,$$($(2)_RAW_BASE_NAME),$$(F),$$($(2)_DIR)/$$(F),$$(call UPPERCASE,$(4)))$$(sep)) + $(Q)$$(foreach F,$$($(2)_LICENSE_FILES),$$(call legal-license-file,$$($(2)_RAWNAME),$$($(2)_RAW_BASE_NAME),$$($(2)_PKGDIR),$$(F),$$($(2)_DIR)/$$(F),$$(call UPPERCASE,$(4)))$$(sep)) endif # license files ifeq ($$($(2)_SITE_METHOD),local) @@ -911,6 +940,8 @@ ifneq ($$($(2)_USERS),) PACKAGES_USERS += $$($(2)_USERS)$$(sep) endif TARGET_FINALIZE_HOOKS += $$($(2)_TARGET_FINALIZE_HOOKS) +ROOTFS_PRE_CMD_HOOKS += $$($(2)_ROOTFS_PRE_CMD_HOOKS) +ROOTFS_POST_CMD_HOOKS += $$($(2)_ROOTFS_POST_CMD_HOOKS) ifeq ($$($(2)_SITE_METHOD),svn) DL_TOOLS_DEPENDENCIES += svn diff --git a/package/pkg-kconfig.mk b/package/pkg-kconfig.mk index 215f01b430..0402f81ffe 100644 --- a/package/pkg-kconfig.mk +++ b/package/pkg-kconfig.mk @@ -189,7 +189,7 @@ $$($(2)_DIR)/.kconfig_editor_%: $$($(2)_DIR)/.stamp_kconfig_fixup_done # which in turn depends on the (newly-set an non-existent) custom # defconfig file. # -# Instead, we use an PHONY rule that will catch that situation. +# Instead, we use a PHONY rule that will catch that situation. # $(1)-check-configuration-done: @if [ ! -f $$($(2)_DIR)/.stamp_kconfig_fixup_done ]; then \ diff --git a/package/pkg-kernel-module.mk b/package/pkg-kernel-module.mk index 200c91dfef..fcd6b8bc29 100644 --- a/package/pkg-kernel-module.mk +++ b/package/pkg-kernel-module.mk @@ -25,7 +25,7 @@ # # $(eval $(kernel-module)) # define FOO_MOD_TWEAK -# # do something +# # do something # endef # FOO_POST_BUILD_HOOKS += FOO_MOD_TWEAK # $(eval $(generic-package)) diff --git a/package/pkg-luarocks.mk b/package/pkg-luarocks.mk index da5c912c81..d762867111 100644 --- a/package/pkg-luarocks.mk +++ b/package/pkg-luarocks.mk @@ -34,9 +34,10 @@ define inner-luarocks-package $(2)_BUILD_OPTS ?= -$(2)_SUBDIR ?= $(1)-$$(shell echo "$$($(3)_VERSION)" | sed -e "s/-[0-9]$$$$//") -$(2)_ROCKSPEC ?= $(1)-$$($(3)_VERSION).rockspec -$(2)_SOURCE ?= $(1)-$$($(3)_VERSION).src.rock +$(2)_NAME_UPSTREAM ?= $(1) +$(2)_SUBDIR ?= $$($(2)_NAME_UPSTREAM)-$$(shell echo "$$($(2)_VERSION)" | sed -e "s/-[0-9]$$$$//") +$(2)_ROCKSPEC ?= $$(call LOWERCASE,$$($(2)_NAME_UPSTREAM))-$$($(2)_VERSION).rockspec +$(2)_SOURCE ?= $$(call LOWERCASE,$$($(2)_NAME_UPSTREAM))-$$($(2)_VERSION).src.rock $(2)_SITE ?= $$(call qstrip,$$(BR2_LUAROCKS_MIRROR)) # Since we do not support host-luarocks-package, we know this is @@ -44,12 +45,15 @@ $(2)_SITE ?= $$(call qstrip,$$(BR2_LUAROCKS_MIRROR)) $(2)_DEPENDENCIES += host-luarocks luainterpreter # -# Extract step +# Extract step. Extract into a temporary dir and move the relevant part to the +# source dir. # ifndef $(2)_EXTRACT_CMDS define $(2)_EXTRACT_CMDS - cd $$($(2)_DIR)/.. && \ + mkdir -p $$($(2)_DIR)/luarocks-extract + cd $$($(2)_DIR)/luarocks-extract && \ $$(LUAROCKS_RUN_ENV) $$(LUAROCKS_RUN_CMD) unpack --force $$(DL_DIR)/$$($(2)_SOURCE) + mv $$($(2)_DIR)/luarocks-extract/*/* $$($(2)_DIR) endef endif diff --git a/package/pkg-perl.mk b/package/pkg-perl.mk index cc94cd9f8b..b0d5789ac5 100644 --- a/package/pkg-perl.mk +++ b/package/pkg-perl.mk @@ -20,7 +20,7 @@ ################################################################################ PERL_ARCHNAME = $(ARCH)-linux -PERL_RUN = PERL5LIB= PERL_USE_UNSAFE_INC=1 $(HOST_DIR)/usr/bin/perl +PERL_RUN = PERL5LIB= PERL_USE_UNSAFE_INC=1 $(HOST_DIR)/bin/perl ################################################################################ # inner-perl-package -- defines how the configuration, compilation and diff --git a/package/pkg-python.mk b/package/pkg-python.mk index 38bc45ffa3..f57e486dad 100644 --- a/package/pkg-python.mk +++ b/package/pkg-python.mk @@ -20,6 +20,10 @@ # ################################################################################ +define PKG_PYTHON_SYSCONFIGDATA_NAME +$(basename $(notdir $(wildcard $(STAGING_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/_sysconfigdata_m_linux_*.py))) +endef + # Target distutils-based packages PKG_PYTHON_DISTUTILS_ENV = \ PATH=$(BR_PATH) \ @@ -28,6 +32,8 @@ PKG_PYTHON_DISTUTILS_ENV = \ LDFLAGS="$(TARGET_LDFLAGS)" \ LDSHARED="$(TARGET_CROSS)gcc -shared" \ PYTHONPATH="$(if $(BR2_PACKAGE_PYTHON3),$(PYTHON3_PATH),$(PYTHON_PATH))" \ + PYTHONNOUSERSITE=1 \ + _PYTHON_SYSCONFIGDATA_NAME="$(PKG_PYTHON_SYSCONFIGDATA_NAME)" \ _python_sysroot=$(STAGING_DIR) \ _python_prefix=/usr \ _python_exec_prefix=/usr @@ -43,15 +49,18 @@ PKG_PYTHON_DISTUTILS_INSTALL_STAGING_OPTS = \ # Host distutils-based packages HOST_PKG_PYTHON_DISTUTILS_ENV = \ - PATH=$(BR_PATH) + PATH=$(BR_PATH) \ + PYTHONNOUSERSITE=1 HOST_PKG_PYTHON_DISTUTILS_INSTALL_OPTS = \ - --prefix=$(HOST_DIR)/usr + --prefix=$(HOST_DIR) # Target setuptools-based packages PKG_PYTHON_SETUPTOOLS_ENV = \ + _PYTHON_SYSCONFIGDATA_NAME="$(PKG_PYTHON_SYSCONFIGDATA_NAME)" \ PATH=$(BR_PATH) \ PYTHONPATH="$(if $(BR2_PACKAGE_PYTHON3),$(PYTHON3_PATH),$(PYTHON_PATH))" \ + PYTHONNOUSERSITE=1 \ _python_sysroot=$(STAGING_DIR) \ _python_prefix=/usr \ _python_exec_prefix=/usr @@ -70,10 +79,11 @@ PKG_PYTHON_SETUPTOOLS_INSTALL_STAGING_OPTS = \ # Host setuptools-based packages HOST_PKG_PYTHON_SETUPTOOLS_ENV = \ - PATH=$(BR_PATH) + PATH=$(BR_PATH) \ + PYTHONNOUSERSITE=1 HOST_PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS = \ - --prefix=$(HOST_DIR)/usr + --prefix=$(HOST_DIR) ################################################################################ # inner-python-package -- defines how the configuration, compilation @@ -194,12 +204,12 @@ endif # - otherwise, we use the one requested by *_NEEDS_HOST_PYTHON. # ifeq ($(4),target) -$(2)_PYTHON_INTERPRETER = $$(HOST_DIR)/usr/bin/python +$(2)_PYTHON_INTERPRETER = $$(HOST_DIR)/bin/python else ifeq ($$($(2)_NEEDS_HOST_PYTHON),) -$(2)_PYTHON_INTERPRETER = $$(HOST_DIR)/usr/bin/python +$(2)_PYTHON_INTERPRETER = $$(HOST_DIR)/bin/python else -$(2)_PYTHON_INTERPRETER = $$(HOST_DIR)/usr/bin/$$($(2)_NEEDS_HOST_PYTHON) +$(2)_PYTHON_INTERPRETER = $$(HOST_DIR)/bin/$$($(2)_NEEDS_HOST_PYTHON) endif endif diff --git a/package/pkg-rebar.mk b/package/pkg-rebar.mk index 7605a64ade..e2b4a58681 100644 --- a/package/pkg-rebar.mk +++ b/package/pkg-rebar.mk @@ -25,14 +25,14 @@ # infrastructure tells rebar to NOT download dependencies during # the build stage. # -REBAR_HOST_DEPS_DIR = $(HOST_DIR)/usr/share/rebar/deps +REBAR_HOST_DEPS_DIR = $(HOST_DIR)/share/rebar/deps REBAR_TARGET_DEPS_DIR = $(STAGING_DIR)/usr/share/rebar/deps # Tell rebar where to find the dependencies # REBAR_HOST_DEPS_ENV = \ ERL_COMPILER_OPTIONS='{i, "$(REBAR_HOST_DEPS_DIR)"}' \ - ERL_EI_LIBDIR=$(HOST_DIR)/usr/lib/erlang/lib/erl_interface-$(ERLANG_EI_VSN)/lib + ERL_EI_LIBDIR=$(HOST_DIR)/lib/erlang/lib/erl_interface-$(ERLANG_EI_VSN)/lib REBAR_TARGET_DEPS_ENV = \ ERL_COMPILER_OPTIONS='{i, "$(REBAR_TARGET_DEPS_DIR)"}' \ ERL_EI_LIBDIR=$(STAGING_DIR)/usr/lib/erlang/lib/erl_interface-$(ERLANG_EI_VSN)/lib @@ -44,7 +44,7 @@ REBAR_TARGET_DEPS_ENV = \ # Install an Erlang application from $(@D). # # i.e., define a recipe that installs the "bin ebin priv $(2)" directories -# from $(@D) to $(1)$($(PKG)_ERLANG_LIBDIR). +# from $(@D) to $(1)/$($(PKG)_ERLANG_LIBDIR). # # argument 1 should typically be $(HOST_DIR), $(TARGET_DIR), # or $(STAGING_DIR). @@ -59,7 +59,7 @@ define install-erlang-directories $(INSTALL) -d $(1)/$($(PKG)_ERLANG_LIBDIR) for dir in bin ebin priv $(2); do \ if test -d $(@D)/$$dir; then \ - cp -r $(@D)/$$dir $(1)$($(PKG)_ERLANG_LIBDIR); \ + cp -r $(@D)/$$dir $(1)/$($(PKG)_ERLANG_LIBDIR); \ fi; \ done endef @@ -119,10 +119,10 @@ define inner-rebar-package $(2)_ERLANG_APP = $(subst -,_,$(patsubst erlang-%,%,$(patsubst host-%,%,$(1)))) # Path where to store the package's libs, relative to either $(HOST_DIR) -# for host packages, or $(STAGING_DIR) for target packages. +# for host packages, or $(STAGING_DIR)/usr for target packages. # $(2)_ERLANG_LIBDIR = \ - /usr/lib/erlang/lib/$$($$(PKG)_ERLANG_APP)-$$($$(PKG)_VERSION) + lib/erlang/lib/$$($$(PKG)_ERLANG_APP)-$$($$(PKG)_VERSION) # If a host package, inherit _USE_BUNDLED_REBAR from the target # package, if not explicitly defined. Otherwise, default to NO. @@ -173,8 +173,8 @@ endif # package-related variables ifndef $(2)_INSTALL_STAGING_CMDS define $(2)_INSTALL_STAGING_CMDS - $$(call install-erlang-directories,$$(STAGING_DIR),include) - $$(call install-rebar-deps,$$(STAGING_DIR),TARGET) + $$(call install-erlang-directories,$$(STAGING_DIR)/usr,include) + $$(call install-rebar-deps,$$(STAGING_DIR)/usr,TARGET) endef endif @@ -182,7 +182,7 @@ endif # package-related variables ifndef $(2)_INSTALL_TARGET_CMDS define $(2)_INSTALL_TARGET_CMDS - $$(call install-erlang-directories,$$(TARGET_DIR)) + $$(call install-erlang-directories,$$(TARGET_DIR)/usr) endef endif diff --git a/package/pkg-utils.mk b/package/pkg-utils.mk index c95e77953b..c3acc22b17 100644 --- a/package/pkg-utils.mk +++ b/package/pkg-utils.mk @@ -83,7 +83,15 @@ define legal-manifest # pkg, version, license, license-files, source, url, {HOST echo '"$(1)","$(2)","$(3)","$(4)","$(5)","$(6)"' >>$(LEGAL_MANIFEST_CSV_$(7)) endef -define legal-license-file # pkg, filename, file-fullpath, {HOST|TARGET} - mkdir -p $(LICENSE_FILES_DIR_$(4))/$(1)/$(dir $(2)) && \ - cp $(3) $(LICENSE_FILES_DIR_$(4))/$(1)/$(2) +define legal-license-file # pkgname, pkgname-pkgver, pkgdir, filename, file-fullpath, {HOST|TARGET} + mkdir -p $(LICENSE_FILES_DIR_$(6))/$(2)/$(dir $(4)) && \ + { \ + if [ -f $(3)/$($(PKG)_VERSION)/$(1).hash ]; then \ + support/download/check-hash $(3)/$($(PKG)_VERSION)/$(1).hash $(5) $(4); \ + else \ + support/download/check-hash $(3)/$(1).hash $(5) $(4); \ + fi; \ + case $${?} in (0|3) ;; (*) exit 1;; esac; \ + } && \ + cp $(5) $(LICENSE_FILES_DIR_$(6))/$(2)/$(4) endef diff --git a/package/pkg-virtual.mk b/package/pkg-virtual.mk index 2e83e077e0..0de79d49be 100644 --- a/package/pkg-virtual.mk +++ b/package/pkg-virtual.mk @@ -49,7 +49,13 @@ $(2)_IS_VIRTUAL = YES ifeq ($(4),target) $(2)_DEPENDENCIES += $$(call qstrip,$$(BR2_PACKAGE_PROVIDES_$(2))) else +ifeq ($$(call qstrip,$$(BR2_PACKAGE_PROVIDES_$(2))),) +# Inherit from target package BR2_PACKAGE_PROVIDES_FOO $(2)_DEPENDENCIES += host-$$(call qstrip,$$(BR2_PACKAGE_PROVIDES_$(3))) +else +# BR2_PACKAGE_PROVIDES_HOST_ is explicitly defined +$(2)_DEPENDENCIES += $$(call qstrip,$$(BR2_PACKAGE_PROVIDES_$(2))) +endif endif # Call the generic package infrastructure to generate the necessary diff --git a/package/pkg-waf.mk b/package/pkg-waf.mk index 2cdd654b1b..e5b606f063 100644 --- a/package/pkg-waf.mk +++ b/package/pkg-waf.mk @@ -44,14 +44,14 @@ $(2)_NEEDS_EXTERNAL_WAF ?= NO # If the package does not have its own waf, use our own. ifeq ($$($(2)_NEEDS_EXTERNAL_WAF),YES) $(2)_DEPENDENCIES += host-waf -$(2)_WAF = $(HOST_DIR)/usr/bin/waf +$(2)_WAF = $(HOST_DIR)/bin/waf else $(2)_WAF = ./waf endif -$(2)_BUILD_OPTS ?= -$(2)_INSTALL_STAGING_OPTS ?= -$(2)_INSTALL_TARGET_OPTS ?= +$(2)_BUILD_OPTS ?= +$(2)_INSTALL_STAGING_OPTS ?= +$(2)_INSTALL_TARGET_OPTS ?= $(2)_WAF_OPTS ?= # @@ -63,7 +63,7 @@ define $(2)_CONFIGURE_CMDS cd $$(@D) && \ $$(TARGET_CONFIGURE_OPTS) \ $$($(2)_CONF_ENV) \ - $$(HOST_DIR)/usr/bin/python2 $$($(2)_WAF) configure \ + $$(HOST_DIR)/bin/python2 $$($(2)_WAF) configure \ --prefix=/usr \ --libdir=/usr/lib \ $$($(2)_CONF_OPTS) \ @@ -78,7 +78,7 @@ endif ifndef $(2)_BUILD_CMDS define $(2)_BUILD_CMDS cd $$(@D) && \ - $$(TARGET_MAKE_ENV) $$(HOST_DIR)/usr/bin/python2 $$($(2)_WAF) \ + $$(TARGET_MAKE_ENV) $$(HOST_DIR)/bin/python2 $$($(2)_WAF) \ build -j $$(PARALLEL_JOBS) $$($(2)_BUILD_OPTS) \ $$($(2)_WAF_OPTS) endef @@ -91,7 +91,7 @@ endif ifndef $(2)_INSTALL_STAGING_CMDS define $(2)_INSTALL_STAGING_CMDS cd $$(@D) && \ - $$(TARGET_MAKE_ENV) $$(HOST_DIR)/usr/bin/python2 $$($(2)_WAF) \ + $$(TARGET_MAKE_ENV) $$(HOST_DIR)/bin/python2 $$($(2)_WAF) \ install --destdir=$$(STAGING_DIR) \ $$($(2)_INSTALL_STAGING_OPTS) \ $$($(2)_WAF_OPTS) @@ -105,7 +105,7 @@ endif ifndef $(2)_INSTALL_TARGET_CMDS define $(2)_INSTALL_TARGET_CMDS cd $$(@D) && \ - $$(TARGET_MAKE_ENV) $$(HOST_DIR)/usr/bin/python2 $$($(2)_WAF) \ + $$(TARGET_MAKE_ENV) $$(HOST_DIR)/bin/python2 $$($(2)_WAF) \ install --destdir=$$(TARGET_DIR) \ $$($(2)_INSTALL_TARGET_OPTS) \ $$($(2)_WAF_OPTS) diff --git a/package/pkgconf/Config.in b/package/pkgconf/Config.in index f95847fa3c..9d5d9ab194 100644 --- a/package/pkgconf/Config.in +++ b/package/pkgconf/Config.in @@ -6,4 +6,4 @@ config BR2_PACKAGE_PKGCONF but was written from scratch in the summer of 2011 to replace pkg-config, which now needs itself to build itself - https://github.com/nenolod/pkgconf + https://github.com/pkgconf/pkgconf diff --git a/package/pkgconf/Config.in.host b/package/pkgconf/Config.in.host new file mode 100644 index 0000000000..437a7bf6f9 --- /dev/null +++ b/package/pkgconf/Config.in.host @@ -0,0 +1,9 @@ +config BR2_PACKAGE_HOST_PKGCONF + bool "host pkgconf" + help + pkgconf is a program which helps to configure compiler and linker + flags for development frameworks. It is similar to pkg-config, + but was written from scratch in the summer of 2011 to replace + pkg-config, which now needs itself to build itself + + https://github.com/pkgconf/pkgconf diff --git a/package/pkgconf/pkgconf.mk b/package/pkgconf/pkgconf.mk index c8b0cbaf51..cc190d26da 100644 --- a/package/pkgconf/pkgconf.mk +++ b/package/pkgconf/pkgconf.mk @@ -10,7 +10,7 @@ PKGCONF_SOURCE = pkgconf-$(PKGCONF_VERSION).tar.bz2 PKGCONF_LICENSE = pkgconf license PKGCONF_LICENSE_FILES = COPYING -PKG_CONFIG_HOST_BINARY = $(HOST_DIR)/usr/bin/pkg-config +PKG_CONFIG_HOST_BINARY = $(HOST_DIR)/bin/pkg-config define PKGCONF_LINK_PKGCONFIG ln -sf pkgconf $(TARGET_DIR)/usr/bin/pkg-config @@ -18,18 +18,18 @@ endef define HOST_PKGCONF_INSTALL_WRAPPER $(INSTALL) -m 0755 -D package/pkgconf/pkg-config.in \ - $(HOST_DIR)/usr/bin/pkg-config + $(HOST_DIR)/bin/pkg-config $(SED) 's,@PKG_CONFIG_LIBDIR@,$(STAGING_DIR)/usr/lib/pkgconfig:$(STAGING_DIR)/usr/share/pkgconfig,' \ -e 's,@STAGING_DIR@,$(STAGING_DIR),' \ - $(HOST_DIR)/usr/bin/pkg-config + $(HOST_DIR)/bin/pkg-config endef define HOST_PKGCONF_STATIC - $(SED) 's,@STATIC@,--static,' $(HOST_DIR)/usr/bin/pkg-config + $(SED) 's,@STATIC@,--static,' $(HOST_DIR)/bin/pkg-config endef define HOST_PKGCONF_SHARED - $(SED) 's,@STATIC@,,' $(HOST_DIR)/usr/bin/pkg-config + $(SED) 's,@STATIC@,,' $(HOST_DIR)/bin/pkg-config endef PKGCONF_POST_INSTALL_TARGET_HOOKS += PKGCONF_LINK_PKGCONFIG diff --git a/package/pngquant/Config.in b/package/pngquant/Config.in new file mode 100644 index 0000000000..c63f0f9d09 --- /dev/null +++ b/package/pngquant/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_PNGQUANT + bool "pngquant" + select BR2_PACKAGE_LIBPNG + select BR2_PACKAGE_ZLIB + help + Lossy PNG compressor — pngquant command and libimagequant + library + + https://pngquant.org diff --git a/package/pngquant/pngquant.hash b/package/pngquant/pngquant.hash new file mode 100644 index 0000000000..a3f1005d32 --- /dev/null +++ b/package/pngquant/pngquant.hash @@ -0,0 +1,4 @@ +# From https://pngquant.org/releases.html +sha1 30f54b0731b8913a8c8b3bd1fdf53e1c68b12262 pngquant-2.10.1-src.tar.gz +# Locally computed +sha256 e07a21fe37b6ae9fa5524f1e20a8e73b698566d42d2cc3edd469531745faa850 pngquant-2.10.1-src.tar.gz diff --git a/package/pngquant/pngquant.mk b/package/pngquant/pngquant.mk new file mode 100644 index 0000000000..1ce8359d40 --- /dev/null +++ b/package/pngquant/pngquant.mk @@ -0,0 +1,55 @@ +################################################################################ +# +# pngquant +# +################################################################################ + +PNGQUANT_VERSION = 2.10.1 +PNGQUANT_SOURCE = pngquant-$(PNGQUANT_VERSION)-src.tar.gz +PNGQUANT_SITE = https://pngquant.org +PNGQUANT_LICENSE = GPL-3.0+ +PNGQUANT_LICENSE_FILES = COPYRIGHT +HOST_PNGQUANT_DEPENDENCIES = host-libpng +PNGQUANT_DEPENDENCIES = libpng + +ifeq ($(BR2_PACKAGE_LCMS2),y) +PNGQUANT_DEPENDENCIES += lcms2 +endif + +define PNGQUANT_CONFIGURE_CMDS + (cd $(@D) && \ + $(TARGET_CONFIGURE_OPTS) \ + ./configure --prefix=/usr \ + $(if $(BR2_PACKAGE_LCMS2),--with-lcms2,--without-lcms2) \ + $(if $(BR2_X86_CPU_HAS_SSE),--enable-sse,--disable-sse) \ + $(TARGET_CONFIGURE_OPTS) \ + ) +endef + +define PNGQUANT_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define PNGQUANT_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) DESTDIR="$(TARGET_DIR)" -C $(@D) install +endef + +define HOST_PNGQUANT_CONFIGURE_CMDS + (cd $(@D) && \ + $(HOST_CONFIGURE_OPTS) \ + CC=$(HOSTCC_NOCCACHE) \ + ./configure --prefix=$(HOST_DIR) \ + --without-lcms2 \ + ) +endef + +define HOST_PNGQUANT_BUILD_CMDS + $(HOST_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define HOST_PNGQUANT_INSTALL_CMDS + $(HOST_MAKE_ENV) $(MAKE) -C $(@D) install +endef + +$(eval $(host-generic-package)) +$(eval $(generic-package)) diff --git a/package/poco/Config.in b/package/poco/Config.in index b3b247f906..9199b54f0c 100644 --- a/package/poco/Config.in +++ b/package/poco/Config.in @@ -2,7 +2,8 @@ config BR2_PACKAGE_POCO bool "poco" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR - depends on BR2_TOOLCHAIN_HAS_THREADS + # pthread_condattr_setclock + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on !BR2_STATIC_LIBS # dlopen() depends on !(BR2_arc || BR2_bfin || BR2_microblaze || BR2_mipsel \ || BR2_or1k || BR2_xtensa) @@ -61,8 +62,8 @@ config BR2_PACKAGE_POCO_DATA_MYSQL endif # BR2_PACKAGE_POCO -comment "poco needs a toolchain w/ wchar, threads, C++, dynamic library" +comment "poco needs a toolchain w/ wchar, NPTL, C++, dynamic library" depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP \ - || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS + || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS depends on !(BR2_arc || BR2_bfin || BR2_microblaze || BR2_mipsel \ || BR2_or1k || BR2_xtensa) diff --git a/package/poco/poco.hash b/package/poco/poco.hash index 1730f1c287..7f96f04d78 100644 --- a/package/poco/poco.hash +++ b/package/poco/poco.hash @@ -1,3 +1,2 @@ # Locally computed -sha256 cfd311ecbc9e58accf1c4ea70170af88f92f88e73dd14944e528e7f6229e6cab poco-poco-1.7.2-release.tar.gz -sha256 32182791e7eac00ba367d2f22dd1dd5bfce0b6d6f76fd52f853364f98402dda3 30159aea4b3f6421da9d74a8bf22aad6d3bf26b4.patch +sha256 150b8d8486fbd01f4bbe359a56439ccf14b62fb9994991baa9663a2656acee27 poco-poco-1.7.9-release.tar.gz diff --git a/package/poco/poco.mk b/package/poco/poco.mk index 90dfb34340..29752e24c9 100644 --- a/package/poco/poco.mk +++ b/package/poco/poco.mk @@ -4,32 +4,31 @@ # ################################################################################ -POCO_VERSION = poco-1.7.2-release +POCO_VERSION = poco-1.7.9-release POCO_SITE = $(call github,pocoproject,poco,$(POCO_VERSION)) -POCO_LICENSE = Boost-v1.0 +POCO_LICENSE = BSL-1.0 POCO_LICENSE_FILES = LICENSE POCO_INSTALL_STAGING = YES -POCO_PATCH = https://github.com/pocoproject/poco/commit/30159aea4b3f6421da9d74a8bf22aad6d3bf26b4.patch -POCO_DEPENDENCIES = zlib pcre \ - $(if $(BR2_PACKAGE_POCO_XML),expat) \ - $(if $(BR2_PACKAGE_POCO_CRYPTO),openssl) \ - $(if $(BR2_PACKAGE_POCO_NETSSL_OPENSSL),openssl) \ - $(if $(BR2_PACKAGE_POCO_DATA_SQLITE),sqlite) \ +POCO_DEPENDENCIES = zlib pcre \ + $(if $(BR2_PACKAGE_POCO_XML),expat) \ + $(if $(BR2_PACKAGE_POCO_CRYPTO),openssl) \ + $(if $(BR2_PACKAGE_POCO_NETSSL_OPENSSL),openssl) \ + $(if $(BR2_PACKAGE_POCO_DATA_SQLITE),sqlite) \ $(if $(BR2_PACKAGE_POCO_DATA_MYSQL),mysql) -POCO_OMIT = Data/ODBC PageCompiler \ - $(if $(BR2_PACKAGE_POCO_XML),,XML) \ - $(if $(BR2_PACKAGE_POCO_UTIL),,Util) \ - $(if $(BR2_PACKAGE_POCO_NET),,Net) \ - $(if $(BR2_PACKAGE_POCO_NETSSL_OPENSSL),,NetSSL_OpenSSL) \ - $(if $(BR2_PACKAGE_POCO_CRYPTO),,Crypto) \ - $(if $(BR2_PACKAGE_POCO_ZIP),,Zip) \ - $(if $(BR2_PACKAGE_POCO_DATA),,Data) \ - $(if $(BR2_PACKAGE_POCO_DATA_MYSQL),,Data/MySQL) \ +POCO_OMIT = Data/ODBC PageCompiler \ + $(if $(BR2_PACKAGE_POCO_XML),,XML) \ + $(if $(BR2_PACKAGE_POCO_UTIL),,Util) \ + $(if $(BR2_PACKAGE_POCO_NET),,Net) \ + $(if $(BR2_PACKAGE_POCO_NETSSL_OPENSSL),,NetSSL_OpenSSL) \ + $(if $(BR2_PACKAGE_POCO_CRYPTO),,Crypto) \ + $(if $(BR2_PACKAGE_POCO_ZIP),,Zip) \ + $(if $(BR2_PACKAGE_POCO_DATA),,Data) \ + $(if $(BR2_PACKAGE_POCO_DATA_MYSQL),,Data/MySQL) \ $(if $(BR2_PACKAGE_POCO_DATA_SQLITE),,Data/SQLite) -ifeq ($(LIBC),uclibc) +ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y) POCO_CONF_OPTS += --no-fpenvironment --no-wstring endif @@ -48,12 +47,12 @@ endif define POCO_CONFIGURE_CMDS (cd $(@D); $(TARGET_MAKE_ENV) ./configure \ - --config=Linux \ - --prefix=/usr \ - --omit="$(POCO_OMIT)" \ - $(POCO_CONF_OPTS) \ - --unbundled \ - --no-tests \ + --config=Linux \ + --prefix=/usr \ + --omit="$(POCO_OMIT)" \ + $(POCO_CONF_OPTS) \ + --unbundled \ + --no-tests \ --no-samples) endef diff --git a/package/polarssl/0001-no-test-suite.patch b/package/polarssl/0001-no-test-suite.patch deleted file mode 100644 index 4c8552a948..0000000000 --- a/package/polarssl/0001-no-test-suite.patch +++ /dev/null @@ -1,27 +0,0 @@ -Add BUILD_TESTS option to disable test suite - -By default, PolarSSL builds a fairly extensive test suite to validate -the library. In the context of Buildroot, building this test suite is -not really useful, so we add a BUILD_TESTS to disable its build. - -[Gustavo: update for 1.2.11] -Signed-off-by: Thomas Petazzoni -Signed-off-by: Gustavo Zacarias - -diff -Nura polarssl-1.2.11.orig/CMakeLists.txt polarssl-1.2.11/CMakeLists.txt ---- polarssl-1.2.11.orig/CMakeLists.txt 2014-07-11 17:14:43.414651327 -0300 -+++ polarssl-1.2.11/CMakeLists.txt 2014-07-11 17:23:00.573498626 -0300 -@@ -49,9 +49,11 @@ - add_subdirectory(library) - add_subdirectory(include) - --if(CMAKE_COMPILER_IS_GNUCC) -+option(BUILD_TESTS "Build tests." ON) -+ -+if(CMAKE_COMPILER_IS_GNUCC AND BUILD_TESTS) - add_subdirectory(tests) --endif(CMAKE_COMPILER_IS_GNUCC) -+endif(CMAKE_COMPILER_IS_GNUCC AND BUILD_TESTS) - if(CMAKE_COMPILER_IS_CLANG) - add_subdirectory(tests) - endif(CMAKE_COMPILER_IS_CLANG) diff --git a/package/polarssl/0002-cmake-use-the-standard-CMake-flag-to-drive-the-share.patch b/package/polarssl/0002-cmake-use-the-standard-CMake-flag-to-drive-the-share.patch deleted file mode 100644 index d241ae264b..0000000000 --- a/package/polarssl/0002-cmake-use-the-standard-CMake-flag-to-drive-the-share.patch +++ /dev/null @@ -1,39 +0,0 @@ -From a14028b0878c1ba27f7c7a6d0962874d0f7f3801 Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Sun, 31 Aug 2014 11:54:37 +0200 -Subject: [PATCH 3/3] cmake: use the standard CMake flag to drive the shared - object build - -If BUILD_SHARED_LIBS is set and not USE_SHARED_POLARSSL_LIBRARY, then -drive USE_SHARED_POLARSSL_LIBRARY with the BUILD_SHARED_LIBS value. - -Signed-off-by: Samuel Martin ---- - library/CMakeLists.txt | 14 ++++++++++++-- - 1 file changed, 12 insertions(+), 2 deletions(-) - -diff --git a/library/CMakeLists.txt b/library/CMakeLists.txt -index 27bd2e0..2ae0aba 100644 ---- a/library/CMakeLists.txt -+++ b/library/CMakeLists.txt -@@ -1,5 +1,15 @@ --option(USE_STATIC_POLARSSL_LIBRARY "Build PolarSSL static library." ON) --option(USE_SHARED_POLARSSL_LIBRARY "Build PolarSSL shared library." OFF) -+# Use the standard CMake flag to drive the shared object build. -+if(DEFINED BUILD_SHARED_LIBS AND NOT DEFINED USE_STATIC_POLARSSL_LIBRARY AND NOT DEFINED USE_SHARED_POLARSSL_LIBRARY) -+ set(USE_STATIC_POLARSSL_LIBRARY ON) -+ if(BUILD_SHARED_LIBS) -+ set(USE_SHARED_POLARSSL_LIBRARY ON) -+ else() -+ set(USE_SHARED_POLARSSL_LIBRARY OFF) -+ endif() -+else() -+ option(USE_STATIC_POLARSSL_LIBRARY "Build PolarSSL static library." ON) -+ option(USE_SHARED_POLARSSL_LIBRARY "Build PolarSSL shared library." OFF) -+endif() - - set(src - aes.c --- -2.1.0 - diff --git a/package/polarssl/Config.in b/package/polarssl/Config.in deleted file mode 100644 index 17125a3cd8..0000000000 --- a/package/polarssl/Config.in +++ /dev/null @@ -1,32 +0,0 @@ -config BR2_PACKAGE_POLARSSL - bool "polarssl" - help - PolarSSL is an SSL library written in ANSI C. PolarSSL makes - it easy for developers to include cryptographic and SSL/TLS - capabilities in their (embedded) products with as little - hassle as possible. It is designed to be readable, - documented, tested, loosely coupled and portable. - - Warning: PolarSSL is licensed under the GPL. If you want to - use it in your own proprietary applications, you have to - purchase a commercial license. - - https://tls.mbed.org/ - -if BR2_PACKAGE_POLARSSL - -config BR2_PACKAGE_POLARSSL_PROGRAMS - bool "polarssl programs" - depends on BR2_USE_MMU # fork() - help - This option enables the installation and the build of - PolarSSL companion programs: aescrypt2, benchmark, cert_app, - crl_app, crypt_and_hash, dh_client, dh_genprime, dh_server, - gen_entropy, generic_sum, gen_random_ctr_drbg, - gen_random_havege, hello, key_app, md5sum, mpi_demo, - rsa_decrypt, rsa_encrypt, rsa_genkey, rsa_sign, rsa_verify, - selftest, sha1sum, sha2sum, ssi-cgi, ssl_cert_test, - ssl_client1, ssl_client2, ssl_fork_server, ssl_mail_client, - ssl_server, ssl_test - -endif diff --git a/package/polarssl/polarssl.hash b/package/polarssl/polarssl.hash deleted file mode 100644 index 3f1871c8f4..0000000000 --- a/package/polarssl/polarssl.hash +++ /dev/null @@ -1,2 +0,0 @@ -# From https://tls.mbed.org/tech-updates/releases/mbedtls-2.2.1-2.1.4-1.3.16-and-polarssl.1.2.19-released -sha256 24cb1608a160101ead3c7240f35fc447fe7880cd60f7ed6c9db7a1d773ccd4b8 polarssl-1.2.19-gpl.tgz diff --git a/package/polarssl/polarssl.mk b/package/polarssl/polarssl.mk deleted file mode 100644 index 7f4c5827a0..0000000000 --- a/package/polarssl/polarssl.mk +++ /dev/null @@ -1,32 +0,0 @@ -################################################################################ -# -# polarssl -# -################################################################################ - -POLARSSL_SITE = https://tls.mbed.org/code/releases -POLARSSL_VERSION = 1.2.19 -POLARSSL_SOURCE = polarssl-$(POLARSSL_VERSION)-gpl.tgz -POLARSSL_CONF_OPTS = \ - -DENABLE_PROGRAMS=$(if $(BR2_PACKAGE_POLARSSL_PROGRAMS),ON,OFF) - -POLARSSL_INSTALL_STAGING = YES -POLARSSL_LICENSE = GPLv2 -POLARSSL_LICENSE_FILES = LICENSE - -define POLARSSL_DISABLE_ASM - $(SED) '/^#define POLARSSL_HAVE_ASM/d' $(@D)/include/polarssl/config.h -endef - -# ARM in thumb mode breaks debugging with asm optimizations -# Microblaze asm optimizations are broken in general -# MIPS R6 asm is not yet supported -ifeq ($(BR2_ENABLE_DEBUG)$(BR2_ARM_INSTRUCTIONS_THUMB)$(BR2_ARM_INSTRUCTIONS_THUMB2),yy) -POLARSSL_POST_CONFIGURE_HOOKS += POLARSSL_DISABLE_ASM -else ifeq ($(BR2_microblaze),y) -POLARSSL_POST_CONFIGURE_HOOKS += POLARSSL_DISABLE_ASM -else ifeq ($(BR2_MIPS_CPU_MIPS32R6)$(BR2_MIPS_CPU_MIPS64R6),y) -POLARSSL_POST_CONFIGURE_HOOKS += POLARSSL_DISABLE_ASM -endif - -$(eval $(cmake-package)) diff --git a/package/policycoreutils/0001-Add-DESTDIR-to-all-paths-that-use-an-absolute-path.patch b/package/policycoreutils/0001-Add-DESTDIR-to-all-paths-that-use-an-absolute-path.patch index bbd6895e7f..3c0ddcc54b 100644 --- a/package/policycoreutils/0001-Add-DESTDIR-to-all-paths-that-use-an-absolute-path.patch +++ b/package/policycoreutils/0001-Add-DESTDIR-to-all-paths-that-use-an-absolute-path.patch @@ -1,3 +1,8 @@ +From 85763549c53b2907dab094163f1404b2233f8029 Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Mon, 9 Oct 2017 16:51:20 -0400 +Subject: [PATCH] Add DESTDIR to setfiles + The addition of this patch makes the use of DESTDIR mandatory as there are conditional checks which would fail if it's not defined. @@ -8,124 +13,23 @@ accomodate version 2.5 Signed-off-by: Clayton Shotwell Signed-off-by: Niranjan Reddy Signed-off-by: Adam Duskett -Signed-off-by: Adam Duskett --- - policycoreutils/Makefile | 2 +- - policycoreutils/newrole/Makefile | 4 ++-- - policycoreutils/restorecond/Makefile | 5 +++-- - policycoreutils/run_init/Makefile | 4 ++-- - policycoreutils/sepolicy/Makefile | 2 +- - policycoreutils/sestatus/Makefile | 2 +- - policycoreutils/setfiles/Makefile | 4 ++-- - 7 files changed, 12 insertions(+), 11 deletions(-) + setfiles/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/Makefile b/Makefile -index 962ac12..0634a2a 100644 ---- a/Makefile -+++ b/Makefile -@@ -1,6 +1,6 @@ - SUBDIRS = sepolicy setfiles semanage load_policy newrole run_init sandbox secon audit2allow sestatus semodule_package semodule semodule_link semodule_expand semodule_deps sepolgen-ifgen setsebool scripts po man gui hll - --INOTIFYH = $(shell ls /usr/include/sys/inotify.h 2>/dev/null) -+INOTIFYH = $(shell ls $(DESTDIR)/usr/include/sys/inotify.h 2>/dev/null) - - ifeq (${INOTIFYH}, /usr/include/sys/inotify.h) - SUBDIRS += restorecond -diff --git a/newrole/Makefile b/newrole/Makefile -index 646cd4d..f124a6a 100644 ---- a/newrole/Makefile -+++ b/newrole/Makefile -@@ -4,8 +4,8 @@ BINDIR ?= $(PREFIX)/bin - MANDIR ?= $(PREFIX)/share/man - ETCDIR ?= $(DESTDIR)/etc - LOCALEDIR = /usr/share/locale --PAMH = $(shell ls /usr/include/security/pam_appl.h 2>/dev/null) --AUDITH = $(shell ls /usr/include/libaudit.h 2>/dev/null) -+PAMH = $(shell ls $(DESTDIR)/usr/include/security/pam_appl.h 2>/dev/null) -+AUDITH = $(shell ls $(DESTDIR)/usr/include/libaudit.h 2>/dev/null) - # Enable capabilities to permit newrole to generate audit records. - # This will make newrole a setuid root program. - # The capabilities used are: CAP_AUDIT_WRITE. -diff --git a/restorecond/Makefile b/restorecond/Makefile -index f99e1e7..92a4a4d 100644 ---- a/restorecond/Makefile -+++ b/restorecond/Makefile -@@ -11,11 +11,12 @@ autostart_DATA = sealertauto.desktop - INITDIR ?= $(DESTDIR)/etc/rc.d/init.d - SELINUXDIR = $(DESTDIR)/etc/selinux - --DBUSFLAGS = -DHAVE_DBUS -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/lib/dbus-1.0/include -+DBUSFLAGS = -DHAVE_DBUS -I$(DESTDIR)/usr/include/dbus-1.0 -I$(DESTDIR)/usr/lib64/dbus-1.0/include -I$(DESTDIR)/usr/lib/dbus-1.0/include - DBUSLIB = -ldbus-glib-1 -ldbus-1 - - CFLAGS ?= -g -Werror -Wall -W --override CFLAGS += -I$(PREFIX)/include $(DBUSFLAGS) -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib/glib-2.0/include -+override CFLAGS += -I$(DESTDIR)/usr/include $(DBUSFLAGS) -I$(DESTDIR)/usr/include/glib-2.0 \ -+-I$(DESTDIR)/usr/lib64/glib-2.0/include -I$(DESTDIR)/usr/lib/glib-2.0/include - - LDLIBS += -lselinux $(DBUSLIB) -lglib-2.0 -L$(LIBDIR) - -diff --git a/run_init/Makefile b/run_init/Makefile -index 5815a08..c81179b 100644 ---- a/run_init/Makefile -+++ b/run_init/Makefile -@@ -5,8 +5,8 @@ SBINDIR ?= $(PREFIX)/sbin - MANDIR ?= $(PREFIX)/share/man - ETCDIR ?= $(DESTDIR)/etc - LOCALEDIR ?= /usr/share/locale --PAMH = $(shell ls /usr/include/security/pam_appl.h 2>/dev/null) --AUDITH = $(shell ls /usr/include/libaudit.h 2>/dev/null) -+PAMH = $(shell ls $(DESTDIR)/usr/include/security/pam_appl.h 2>/dev/null) -+AUDITH = $(shell ls $(DESTDIR)/usr/include/libaudit.h 2>/dev/null) - - CFLAGS ?= -Werror -Wall -W - override CFLAGS += -I$(PREFIX)/include -DUSE_NLS -DLOCALEDIR="\"$(LOCALEDIR)\"" -DPACKAGE="\"policycoreutils\"" -diff --git a/sepolicy/Makefile b/sepolicy/Makefile -index 39d46e8..6624373 100644 ---- a/sepolicy/Makefile -+++ b/sepolicy/Makefile -@@ -12,7 +12,7 @@ LOCALEDIR ?= /usr/share/locale - BASHCOMPLETIONDIR ?= $(DESTDIR)/usr/share/bash-completion/completions - SHAREDIR ?= $(PREFIX)/share/sandbox - CFLAGS ?= -Wall -Werror -Wextra -W --override CFLAGS += -I$(PREFIX)/include -DPACKAGE="policycoreutils" -DSHARED -shared -+override CFLAGS = $(LDFLAGS) -I$(DESTDIR)/usr/include -DPACKAGE="policycoreutils" -Wall -Werror -Wextra -W -DSHARED -shared - - BASHCOMPLETIONS=sepolicy-bash-completion.sh - -diff --git a/sestatus/Makefile b/sestatus/Makefile -index c04ff00..e10c32c 100644 ---- a/sestatus/Makefile -+++ b/sestatus/Makefile -@@ -6,7 +6,7 @@ ETCDIR ?= $(DESTDIR)/etc - LIBDIR ?= $(PREFIX)/lib - - CFLAGS ?= -Werror -Wall -W --override CFLAGS += -I$(PREFIX)/include -D_FILE_OFFSET_BITS=64 -+override CFLAGS += -I$(DESTDIR)/usr/include -D_FILE_OFFSET_BITS=64 - LDLIBS = -lselinux -L$(LIBDIR) - - all: sestatus diff --git a/setfiles/Makefile b/setfiles/Makefile -index 98f4f7d..eb26ed0 100644 +index c08e2dd..36c0638 100644 --- a/setfiles/Makefile +++ b/setfiles/Makefile -@@ -3,13 +3,13 @@ PREFIX ?= $(DESTDIR)/usr +@@ -3,7 +3,7 @@ PREFIX ?= $(DESTDIR)/usr SBINDIR ?= $(DESTDIR)/sbin MANDIR = $(PREFIX)/share/man LIBDIR ?= $(PREFIX)/lib --AUDITH = $(shell ls /usr/include/libaudit.h 2>/dev/null) -+AUDITH = $(shell ls $(DESTDIR)/usr/include/libaudit.h 2>/dev/null) +-AUDITH ?= $(shell test -f /usr/include/libaudit.h && echo y) ++AUDITH ?= $(shell test -f $(DESTDIR)/include/libaudit.h && echo y) - PROGRESS_STEP=$(shell grep "^\#define STAR_COUNT" restore.h | awk -S '{ print $$3 }') ABORT_ON_ERRORS=$(shell grep "^\#define ABORT_ON_ERRORS" setfiles.c | awk -S '{ print $$3 }') - CFLAGS ?= -g -Werror -Wall -W --override CFLAGS += -I$(PREFIX)/include -+override CFLAGS += -I$(DESTDIR)/usr/include - LDLIBS = -lselinux -lsepol -L$(LIBDIR) - - ifeq ($(AUDITH), /usr/include/libaudit.h) -- -2.7.4 +2.13.6 diff --git a/package/policycoreutils/0002-Add-PREFIX-to-host-paths.patch b/package/policycoreutils/0002-Add-PREFIX-to-host-paths.patch index 56aae74ba0..32d2ae92e6 100644 --- a/package/policycoreutils/0002-Add-PREFIX-to-host-paths.patch +++ b/package/policycoreutils/0002-Add-PREFIX-to-host-paths.patch @@ -1,6 +1,6 @@ -From 7f99a727cdb8160d49bb0d0554fc88787980c971 Mon Sep 17 00:00:00 2001 -From: Adam Duskett -Date: Thu, 14 Jul 2016 13:16:03 -0400 +From a221304344b3f9db7e86d928cf97d77542bcf456 Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Mon, 9 Oct 2017 16:47:19 -0400 Subject: [PATCH] Add PREFIX to host paths Updates the remaining hardcoded host paths used in the build to be @@ -11,201 +11,59 @@ Updated to work with version 2.5 Signed-off-by: Clayton Shotwell Signed-off-by: Niranjan Reddy Signed-off-by: Adam Duskett -Signed-off-by: Adam Duskett --- - policycoreutils/Makefile | 4 +++- - policycoreutils/audit2allow/Makefile | 2 +- - policycoreutils/load_policy/Makefile | 2 +- - policycoreutils/mcstrans/src/Makefile | 17 +++++++++-------- - policycoreutils/newrole/Makefile | 8 ++++---- - policycoreutils/run_init/Makefile | 8 ++++---- - policycoreutils/sepolicy/Makefile | 2 +- - policycoreutils/setfiles/Makefile | 4 ++-- - 8 files changed, 25 insertions(+), 22 deletions(-) + load_policy/Makefile | 2 +- + newrole/Makefile | 6 +++--- + run_init/Makefile | 6 +++--- + 3 files changed, 7 insertions(+), 7 deletions(-) -diff --git a/Makefile b/Makefile -index 0634a2a..bd99b1c 100644 ---- a/Makefile -+++ b/Makefile -@@ -1,8 +1,10 @@ -+PREFIX ?= $(DESTDIR)/usr -+ - SUBDIRS = sepolicy setfiles semanage load_policy newrole run_init sandbox secon audit2allow sestatus semodule_package semodule semodule_link semodule_expand semodule_deps sepolgen-ifgen setsebool scripts po man gui hll - - INOTIFYH = $(shell ls $(DESTDIR)/usr/include/sys/inotify.h 2>/dev/null) - --ifeq (${INOTIFYH}, /usr/include/sys/inotify.h) -+ifeq (${INOTIFYH}, $(PREFIX)/include/sys/inotify.h) - SUBDIRS += restorecond - endif - -diff --git a/audit2allow/Makefile b/audit2allow/Makefile -index 87d2502..d4108fe 100644 ---- a/audit2allow/Makefile -+++ b/audit2allow/Makefile -@@ -5,7 +5,7 @@ PREFIX ?= $(DESTDIR)/usr - BINDIR ?= $(PREFIX)/bin - LIBDIR ?= $(PREFIX)/lib - MANDIR ?= $(PREFIX)/share/man --LOCALEDIR ?= /usr/share/locale -+LOCALEDIR ?= $(PREFIX)/share/locale - - all: audit2why - diff --git a/load_policy/Makefile b/load_policy/Makefile -index 7c5bab0..5cd0bbb 100644 +index b85833c..6a45f31 100644 --- a/load_policy/Makefile +++ b/load_policy/Makefile -@@ -3,7 +3,7 @@ PREFIX ?= $(DESTDIR)/usr +@@ -2,7 +2,7 @@ + PREFIX ?= $(DESTDIR)/usr SBINDIR ?= $(DESTDIR)/sbin - USRSBINDIR ?= $(PREFIX)/sbin MANDIR ?= $(PREFIX)/share/man -LOCALEDIR ?= /usr/share/locale +LOCALEDIR ?= $(PREFIX)/share/locale CFLAGS ?= -Werror -Wall -W - override CFLAGS += $(LDFLAGS) -I$(PREFIX)/include -DUSE_NLS -DLOCALEDIR="\"$(LOCALEDIR)\"" -DPACKAGE="\"policycoreutils\"" -diff --git a/mcstrans/src/Makefile b/mcstrans/src/Makefile -index 907a1f1..6fda57e 100644 ---- a/mcstrans/src/Makefile -+++ b/mcstrans/src/Makefile -@@ -1,23 +1,24 @@ - ARCH = $(shell uname -i) -+# Installation directories. -+PREFIX ?= $(DESTDIR)/usr -+SBINDIR ?= $(DESTDIR)/sbin -+INITDIR ?= $(DESTDIR)/etc/rc.d/init.d -+SYSTEMDDIR ?= $(DESTDIR)/usr/lib/systemd -+ - ifeq "$(ARCH)" "x86_64" - # In case of 64 bit system, use these lines -- LIBDIR=/usr/lib64 -+ LIBDIR=$(PREFIX)/lib64 - else - ifeq "$(ARCH)" "i686" - # In case of 32 bit system, use these lines -- LIBDIR=/usr/lib -+ LIBDIR=$(PREFIX)/lib - else - ifeq "$(ARCH)" "i386" - # In case of 32 bit system, use these lines -- LIBDIR=/usr/lib -+ LIBDIR=$(PREFIX)/lib - endif - endif - endif --# Installation directories. --PREFIX ?= $(DESTDIR)/usr --SBINDIR ?= $(DESTDIR)/sbin --INITDIR ?= $(DESTDIR)/etc/rc.d/init.d --SYSTEMDDIR ?= $(DESTDIR)/usr/lib/systemd - - PROG_SRC=mcstrans.c mcscolor.c mcstransd.c mls_level.c - PROG_OBJS= $(patsubst %.c,%.o,$(PROG_SRC)) + override CFLAGS += $(LDFLAGS) -DUSE_NLS -DLOCALEDIR="\"$(LOCALEDIR)\"" -DPACKAGE="\"policycoreutils\"" diff --git a/newrole/Makefile b/newrole/Makefile -index f124a6a..b687a09 100644 +index 196af92..896708f 100644 --- a/newrole/Makefile +++ b/newrole/Makefile -@@ -3,7 +3,7 @@ PREFIX ?= $(DESTDIR)/usr +@@ -3,9 +3,9 @@ PREFIX ?= $(DESTDIR)/usr BINDIR ?= $(PREFIX)/bin MANDIR ?= $(PREFIX)/share/man ETCDIR ?= $(DESTDIR)/etc -LOCALEDIR = /usr/share/locale -+LOCALEDIR = $(PREFIX)/share/locale - PAMH = $(shell ls $(DESTDIR)/usr/include/security/pam_appl.h 2>/dev/null) - AUDITH = $(shell ls $(DESTDIR)/usr/include/libaudit.h 2>/dev/null) +-PAMH ?= $(shell test -f /usr/include/security/pam_appl.h && echo y) +-AUDITH ?= $(shell test -f /usr/include/libaudit.h && echo y) ++LOCALEDIR = $(PREFIX)/share/locale ++PAMH ?= $(shell test -f $(PREFIX)/include/security/pam_appl.h && echo y) ++AUDITH ?= $(shell test -f $(PREFIX)/include/libaudit.h && echo y) # Enable capabilities to permit newrole to generate audit records. -@@ -24,7 +24,7 @@ CFLAGS ?= -Werror -Wall -W - EXTRA_OBJS = - override CFLAGS += -DVERSION=\"$(VERSION)\" $(LDFLAGS) -I$(PREFIX)/include -DUSE_NLS -DLOCALEDIR="\"$(LOCALEDIR)\"" -DPACKAGE="\"policycoreutils\"" - LDLIBS += -lselinux -L$(PREFIX)/lib --ifeq ($(PAMH), /usr/include/security/pam_appl.h) -+ifeq ($(PAMH), $(PREFIX)/include/security/pam_appl.h) - override CFLAGS += -DUSE_PAM - EXTRA_OBJS += hashtab.o - LDLIBS += -lpam -lpam_misc -@@ -32,7 +32,7 @@ else - override CFLAGS += -D_XOPEN_SOURCE=500 - LDLIBS += -lcrypt - endif --ifeq ($(AUDITH), /usr/include/libaudit.h) -+ifeq ($(AUDITH), $(PREFIX)/include/libaudit.h) - override CFLAGS += -DUSE_AUDIT - LDLIBS += -laudit - endif -@@ -66,7 +66,7 @@ install: all - test -d $(MANDIR)/man1 || install -m 755 -d $(MANDIR)/man1 - install -m $(MODE) newrole $(BINDIR) - install -m 644 newrole.1 $(MANDIR)/man1/ --ifeq ($(PAMH), /usr/include/security/pam_appl.h) -+ifeq ($(PAMH), $(PREFIX)/include/security/pam_appl.h) - test -d $(ETCDIR)/pam.d || install -m 755 -d $(ETCDIR)/pam.d - ifeq ($(LSPP_PRIV),y) - install -m 644 newrole-lspp.pamd $(ETCDIR)/pam.d/newrole + # This will make newrole a setuid root program. + # The capabilities used are: CAP_AUDIT_WRITE. diff --git a/run_init/Makefile b/run_init/Makefile -index c81179b..ce0df9f 100644 +index 921f0b0..e1566fc 100644 --- a/run_init/Makefile +++ b/run_init/Makefile -@@ -4,21 +4,21 @@ PREFIX ?= $(DESTDIR)/usr +@@ -4,9 +4,9 @@ PREFIX ?= $(DESTDIR)/usr SBINDIR ?= $(PREFIX)/sbin MANDIR ?= $(PREFIX)/share/man ETCDIR ?= $(DESTDIR)/etc -LOCALEDIR ?= /usr/share/locale +-PAMH ?= $(shell test -f /usr/include/security/pam_appl.h && echo y) +-AUDITH ?= $(shell test -f /usr/include/libaudit.h && echo y) +LOCALEDIR ?= $(PREFIX)/share/locale - PAMH = $(shell ls $(DESTDIR)/usr/include/security/pam_appl.h 2>/dev/null) - AUDITH = $(shell ls $(DESTDIR)/usr/include/libaudit.h 2>/dev/null) ++PAMH ?= $(shell test -f $(PREFIX)/include/security/pam_appl.h && echo y) ++AUDITH ?= $(shell test -f $(PREFIX)/include/libaudit.h && echo y) CFLAGS ?= -Werror -Wall -W - override CFLAGS += -I$(PREFIX)/include -DUSE_NLS -DLOCALEDIR="\"$(LOCALEDIR)\"" -DPACKAGE="\"policycoreutils\"" - LDLIBS += -lselinux -L$(PREFIX)/lib --ifeq ($(PAMH), /usr/include/security/pam_appl.h) -+ifeq ($(PAMH), $(PREFIX)/include/security/pam_appl.h) - override CFLAGS += -DUSE_PAM - LDLIBS += -lpam -lpam_misc - else - override CFLAGS += -D_XOPEN_SOURCE=500 - LDLIBS += -lcrypt - endif --ifeq ($(AUDITH), /usr/include/libaudit.h) -+ifeq ($(AUDITH), $(PREFIX)/include/libaudit.h) - override CFLAGS += -DUSE_AUDIT - LDLIBS += -laudit - endif -@@ -38,7 +38,7 @@ install: all - install -m 755 open_init_pty $(SBINDIR) - install -m 644 run_init.8 $(MANDIR)/man8/ - install -m 644 open_init_pty.8 $(MANDIR)/man8/ --ifeq ($(PAMH), /usr/include/security/pam_appl.h) -+ifeq ($(PAMH), $(PREFIX)/include/security/pam_appl.h) - install -m 644 run_init.pamd $(ETCDIR)/pam.d/run_init - endif - -diff --git a/sepolicy/Makefile b/sepolicy/Makefile -index 6624373..a16f8de 100644 ---- a/sepolicy/Makefile -+++ b/sepolicy/Makefile -@@ -8,7 +8,7 @@ BINDIR ?= $(PREFIX)/bin - SBINDIR ?= $(PREFIX)/sbin - DATADIR ?= $(PREFIX)/share - MANDIR ?= $(PREFIX)/share/man --LOCALEDIR ?= /usr/share/locale -+LOCALEDIR ?= $(PREFIX)/share/locale - BASHCOMPLETIONDIR ?= $(DESTDIR)/usr/share/bash-completion/completions - SHAREDIR ?= $(PREFIX)/share/sandbox - CFLAGS ?= -Wall -Werror -Wextra -W -diff --git a/setfiles/Makefile b/setfiles/Makefile -index eb26ed0..3c6b80d 100644 ---- a/setfiles/Makefile -+++ b/setfiles/Makefile -@@ -12,7 +12,7 @@ CFLAGS ?= -g -Werror -Wall -W - override CFLAGS += -I$(DESTDIR)/usr/include - LDLIBS = -lselinux -lsepol -L$(LIBDIR) - --ifeq ($(AUDITH), /usr/include/libaudit.h) -+ifeq ($(AUDITH), $(PREFIX)/include/libaudit.h) - override CFLAGS += -DUSE_AUDIT - LDLIBS += -laudit - endif + override CFLAGS += -DUSE_NLS -DLOCALEDIR="\"$(LOCALEDIR)\"" -DPACKAGE="\"policycoreutils\"" -- -2.7.4 +2.13.6 diff --git a/package/policycoreutils/0003-Remove-hardcoded-arch-variable.patch b/package/policycoreutils/0003-Remove-hardcoded-arch-variable.patch deleted file mode 100644 index 375fb577f7..0000000000 --- a/package/policycoreutils/0003-Remove-hardcoded-arch-variable.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 7424f2bea0cb412e96202f596ad8077131589f40 Mon Sep 17 00:00:00 2001 -From: Adam Duskett -Date: Thu, 14 Jul 2016 13:18:24 -0400 -Subject: [PATCH] Remove hardcoded arch variable. - -Allow the ARCH value to be passed in as original configuration was -solely based on host architecture. - -This patch was updated to work with version 2.5 - -Signed-off-by: Clayton Shotwell -Signed-off-by: Niranjan Reddy -Signed-off-by: Adam Duskett -Signed-off-by: Adam Duskett ---- - policycoreutils/mcstrans/src/Makefile | 1 - - policycoreutils/mcstrans/utils/Makefile | 1 - - 2 files changed, 2 deletions(-) - -diff --git a/mcstrans/src/Makefile b/mcstrans/src/Makefile -index 6fda57e..7b4489f 100644 ---- a/mcstrans/src/Makefile -+++ b/mcstrans/src/Makefile -@@ -1,4 +1,3 @@ --ARCH = $(shell uname -i) - # Installation directories. - PREFIX ?= $(DESTDIR)/usr - SBINDIR ?= $(DESTDIR)/sbin -diff --git a/mcstrans/utils/Makefile b/mcstrans/utils/Makefile -index 1ffb027..912fe12 100644 ---- a/mcstrans/utils/Makefile -+++ b/mcstrans/utils/Makefile -@@ -2,7 +2,6 @@ - PREFIX ?= $(DESTDIR)/usr - BINDIR ?= $(PREFIX)/sbin - --ARCH = $(shell uname -i) - ifeq "$(ARCH)" "x86_64" - # In case of 64 bit system, use these lines - LIBDIR=/usr/lib64 --- -2.7.4 - diff --git a/package/policycoreutils/0004-Change-sepolicy-python-install-arguments-to-be-a-var.patch b/package/policycoreutils/0004-Change-sepolicy-python-install-arguments-to-be-a-var.patch deleted file mode 100644 index 636b722b70..0000000000 --- a/package/policycoreutils/0004-Change-sepolicy-python-install-arguments-to-be-a-var.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 27fd1c85ca95b5d66ab0241a08242a75b60b375c Mon Sep 17 00:00:00 2001 -From: Adam Duskett -Date: Thu, 14 Jul 2016 13:22:57 -0400 -Subject: [PATCH] Change sepolicy python install arguments to be a variable - -To allow the python install arguments to be overwritten, change the -arguments to be a variable. This also cleans up the DESTDIR detection a -little bit. - -Updated to work with version 2.5 - -Signed-off-by: Clayton Shotwell -Signed-off-by: Adam Duskett -Signed-off-by: Adam Duskett ---- - policycoreutils/sepolicy/Makefile | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/sepolicy/Makefile b/sepolicy/Makefile -index a16f8de..2013301 100644 ---- a/sepolicy/Makefile -+++ b/sepolicy/Makefile -@@ -1,4 +1,7 @@ - PYTHON ?= python -+ifneq ($(DESTDIR),) -+PYTHON_INSTALL_ARGS ?= --root $(DESTDIR) -+endif - - # Installation directories. - PREFIX ?= $(DESTDIR)/usr -@@ -32,7 +35,7 @@ test: - @$(PYTHON) test_sepolicy.py -v - - install: -- $(PYTHON) setup.py install `test -n "$(DESTDIR)" && echo --root $(DESTDIR)` -+ $(PYTHON) setup.py install $(PYTHON_INSTALL_ARGS) - [ -d $(BINDIR) ] || mkdir -p $(BINDIR) - install -m 755 sepolicy.py $(BINDIR)/sepolicy - (cd $(BINDIR); ln -sf sepolicy sepolgen) --- -2.7.4 - diff --git a/package/policycoreutils/0005-Check-to-see-if-DBUS-is-enabled.patch b/package/policycoreutils/0005-Check-to-see-if-DBUS-is-enabled.patch deleted file mode 100644 index 37ffac8de8..0000000000 --- a/package/policycoreutils/0005-Check-to-see-if-DBUS-is-enabled.patch +++ /dev/null @@ -1,56 +0,0 @@ -From d1bc28c5b2efe60a0ee04d9c171928d0f3475654 Mon Sep 17 00:00:00 2001 -From: Adam Duskett -Date: Thu, 14 Jul 2016 13:26:23 -0400 -Subject: [PATCH] Check to see if DBUS is enabled. - -Adds a condition to prevent linking against dbus when at build time -dbus has not been enabled. - -Updated for 2.5. - -Signed-off-by: Matthew Weber -Signed-off-by: Adam Duskett -Signed-off-by: Adam Duskett ---- - policycoreutils/restorecond/Makefile | 2 ++ - policycoreutils/restorecond/user.c | 2 +- - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/restorecond/Makefile b/restorecond/Makefile -index 92a4a4d..95f38a6 100644 ---- a/restorecond/Makefile -+++ b/restorecond/Makefile -@@ -11,8 +11,10 @@ autostart_DATA = sealertauto.desktop - INITDIR ?= $(DESTDIR)/etc/rc.d/init.d - SELINUXDIR = $(DESTDIR)/etc/selinux - -+ifdef ENABLE_DBUS - DBUSFLAGS = -DHAVE_DBUS -I$(DESTDIR)/usr/include/dbus-1.0 -I$(DESTDIR)/usr/lib64/dbus-1.0/include -I$(DESTDIR)/usr/lib/dbus-1.0/include - DBUSLIB = -ldbus-glib-1 -ldbus-1 -+endif - - CFLAGS ?= -g -Werror -Wall -W - override CFLAGS += -I$(DESTDIR)/usr/include $(DBUSFLAGS) -I$(DESTDIR)/usr/include/glib-2.0 \ -diff --git a/restorecond/user.c b/restorecond/user.c -index 714aae7..a04cddb 100644 ---- a/restorecond/user.c -+++ b/restorecond/user.c -@@ -54,7 +54,6 @@ static const char *PATH="/org/selinux/Restorecond"; - static const char *INTERFACE="org.selinux.RestorecondIface"; - static const char *RULE="type='signal',interface='org.selinux.RestorecondIface'"; - --static int local_lock_fd = -1; - - static DBusHandlerResult - signal_filter (DBusConnection *connection __attribute__ ((__unused__)), DBusMessage *message, void *user_data) -@@ -101,6 +100,7 @@ static int dbus_server(GMainLoop *loop) { - #include - #include - -+static int local_lock_fd = -1; - /* size of the event structure, not counting name */ - #define EVENT_SIZE (sizeof (struct inotify_event)) - /* reasonable guess as to size of 1024 events */ --- -2.7.4 - diff --git a/package/policycoreutils/Config.in b/package/policycoreutils/Config.in index 53238b4eac..0d69fb51a5 100644 --- a/package/policycoreutils/Config.in +++ b/package/policycoreutils/Config.in @@ -6,56 +6,33 @@ comment "policycoreutils needs a glibc toolchain w/ threads, dynamic library" config BR2_PACKAGE_POLICYCOREUTILS bool "policycoreutils" - select BR2_PACKAGE_LIBSEMANAGE - select BR2_PACKAGE_LIBCAP_NG depends on BR2_PACKAGE_AUDIT_ARCH_SUPPORTS # libsemanage depends on BR2_TOOLCHAIN_HAS_THREADS # libsemanage depends on !BR2_STATIC_LIBS #libsemanage depends on !BR2_arc # libsemanage depends on BR2_TOOLCHAIN_USES_GLIBC # libsemanage + select BR2_PACKAGE_LIBSEMANAGE + select BR2_PACKAGE_LIBCAP_NG help - Policycoreutils is a collection of policy utilities (originally - the "core" set of utilities needed to use SELinux, although it - has grown a bit over time), which have different dependencies. - sestatus, secon, run_init, and newrole only use libselinux. - load_policy and setfiles only use libselinux and libsepol. - semodule and semanage use libsemanage (and thus bring in - dependencies on libsepol and libselinux as well). setsebool - uses libselinux to make non-persistent boolean changes (via - the kernel interface) and uses libsemanage to make persistent - boolean changes. + Policycoreutils is a collection of policy utilities + (originally the "core" set of utilities needed to use + SELinux, although it has grown a bit over time), which have + different dependencies. sestatus, secon, run_init, and + newrole only use libselinux. load_policy and setfiles only + use libselinux and libsepol. semodule and semanage use + libsemanage (and thus bring in dependencies on libsepol and + libselinux as well). setsebool uses libselinux to make + non-persistent boolean changes (via the kernel interface) + and uses libsemanage to make persistent boolean changes. The base package will install the following utilities: load_policy newrole - restorecond run_init secon semodule - semodule_deps - semodule_expand - semodule_link - semodule_package - sepolgen-ifgen sestatus setfiles setsebool http://selinuxproject.org/page/Main_Page - -if BR2_PACKAGE_POLICYCOREUTILS - -config BR2_PACKAGE_POLICYCOREUTILS_RESTORECOND - bool "restorecond" - select BR2_PACKAGE_LIBGLIB2 - depends on BR2_USE_WCHAR # glib2 - depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 - depends on BR2_USE_MMU # glib2 - help - Enable restorecond to be built - -comment "restorecond needs a toolchain w/ wchar, threads" - depends on BR2_USE_MMU - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS - -endif diff --git a/package/policycoreutils/policycoreutils.hash b/package/policycoreutils/policycoreutils.hash index 999a7788d2..241905ca22 100644 --- a/package/policycoreutils/policycoreutils.hash +++ b/package/policycoreutils/policycoreutils.hash @@ -1,2 +1,3 @@ # https://github.com/SELinuxProject/selinux/wiki/Releases -sha256 68891b376f5048edc53c6ccb2fca44da3dc7f4563f4b6894e201d70c04a05a29 policycoreutils-2.6.tar.gz +sha256 0a1b8a4a323b854981c6755ff025fe98a0f1cff307f109abb260f0490f13e4f4 policycoreutils-2.7.tar.gz +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/package/policycoreutils/policycoreutils.mk b/package/policycoreutils/policycoreutils.mk index 6076bb9c07..21c5470cec 100644 --- a/package/policycoreutils/policycoreutils.mk +++ b/package/policycoreutils/policycoreutils.mk @@ -4,9 +4,9 @@ # ################################################################################ -POLICYCOREUTILS_VERSION = 2.6 -POLICYCOREUTILS_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20161014 -POLICYCOREUTILS_LICENSE = GPLv2 +POLICYCOREUTILS_VERSION = 2.7 +POLICYCOREUTILS_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20170804 +POLICYCOREUTILS_LICENSE = GPL-2.0 POLICYCOREUTILS_LICENSE_FILES = COPYING POLICYCOREUTILS_DEPENDENCIES = libsemanage libcap-ng @@ -41,15 +41,9 @@ POLICYCOREUTILS_MAKE_OPTS += \ POLICYCOREUTILS_MAKE_DIRS = \ load_policy newrole run_init \ - secon semodule semodule_deps \ - semodule_expand semodule_link \ - semodule_package sepolgen-ifgen \ - sestatus setfiles setsebool + secon semodule sestatus setfiles \ + setsebool -ifeq ($(BR2_PACKAGE_POLICYCOREUTILS_RESTORECOND),y) -POLICYCOREUTILS_MAKE_DIRS += restorecond -POLICYCOREUTILS_DEPENDENCIES += libglib2 -endif # We need to pass DESTDIR at build time because it's used by # policycoreutils build system to find headers and libraries. define POLICYCOREUTILS_BUILD_CMDS @@ -67,19 +61,23 @@ define POLICYCOREUTILS_INSTALL_TARGET_CMDS endef HOST_POLICYCOREUTILS_DEPENDENCIES = \ - host-libsemanage host-dbus-glib \ - host-sepolgen host-setools + host-libsemanage host-dbus-glib host-setools # Undefining _FILE_OFFSET_BITS here because of a "bug" with glibc fts.h # large file support. # See https://bugzilla.redhat.com/show_bug.cgi?id=574992 for more information +# We need to pass DESTDIR at build time because it's used by +# policycoreutils build system to find headers and libraries. +# We also need to pass PREFIX because it defaults to $(DESTDIR)/usr HOST_POLICYCOREUTILS_MAKE_OPTS = \ $(HOST_CONFIGURE_OPTS) \ CFLAGS="$(HOST_CFLAGS) -U_FILE_OFFSET_BITS" \ CPPFLAGS="$(HOST_CPPFLAGS) -U_FILE_OFFSET_BITS" \ - PYTHON="$(HOST_DIR)/usr/bin/python" \ + PYTHON="$(HOST_DIR)/bin/python" \ PYTHON_INSTALL_ARGS="$(HOST_PKG_PYTHON_DISTUTILS_INSTALL_OPTS)" \ - ARCH="$(HOSTARCH)" + ARCH="$(HOSTARCH)" \ + DESTDIR=$(HOST_DIR) \ + PREFIX=$(HOST_DIR) ifeq ($(BR2_PACKAGE_PYTHON3),y) HOST_POLICYCOREUTILS_DEPENDENCIES += host-python3 @@ -93,29 +91,20 @@ endif # Note: We are only building the programs required by the refpolicy build HOST_POLICYCOREUTILS_MAKE_DIRS = \ - load_policy semodule semodule_deps \ - semodule_expand semodule_link \ - semodule_package setfiles restorecond \ - audit2allow scripts semanage sepolicy + load_policy newrole run_init \ + secon semodule sestatus setfiles \ + setsebool -# We need to pass DESTDIR at build time because it's used by -# policycoreutils build system to find headers and libraries. define HOST_POLICYCOREUTILS_BUILD_CMDS $(foreach d,$(HOST_POLICYCOREUTILS_MAKE_DIRS), - $(MAKE) -C $(@D)/$(d) $(HOST_POLICYCOREUTILS_MAKE_OPTS) \ - DESTDIR=$(HOST_DIR) all + $(MAKE) -C $(@D)/$(d) $(HOST_POLICYCOREUTILS_MAKE_OPTS) all ) endef define HOST_POLICYCOREUTILS_INSTALL_CMDS $(foreach d,$(HOST_POLICYCOREUTILS_MAKE_DIRS), - $(MAKE) -C $(@D)/$(d) $(HOST_POLICYCOREUTILS_MAKE_OPTS) \ - DESTDIR=$(HOST_DIR) install + $(MAKE) -C $(@D)/$(d) $(HOST_POLICYCOREUTILS_MAKE_OPTS) install ) - # Fix python paths - $(SED) 's%/usr/bin/%$(HOST_DIR)/usr/bin/%g' $(HOST_DIR)/usr/bin/audit2allow - $(SED) 's%/usr/bin/%$(HOST_DIR)/usr/bin/%g' $(HOST_DIR)/usr/bin/sepolgen-ifgen - $(SED) 's%/usr/bin/%$(HOST_DIR)/usr/bin/%g' $(HOST_DIR)/usr/bin/sepolicy endef $(eval $(generic-package)) diff --git a/package/polkit/polkit.mk b/package/polkit/polkit.mk index f31387ec6b..e283181427 100644 --- a/package/polkit/polkit.mk +++ b/package/polkit/polkit.mk @@ -6,7 +6,7 @@ POLKIT_VERSION = 0.103 POLKIT_SITE = http://www.freedesktop.org/software/polkit/releases -POLKIT_LICENSE = GPLv2 +POLKIT_LICENSE = GPL-2.0 POLKIT_LICENSE_FILES = COPYING POLKIT_INSTALL_STAGING = YES diff --git a/package/poppler/0001-Form.cc-include-ctype.h-to-fix-build-error.patch b/package/poppler/0001-Form.cc-include-ctype.h-to-fix-build-error.patch new file mode 100644 index 0000000000..8d210dab99 --- /dev/null +++ b/package/poppler/0001-Form.cc-include-ctype.h-to-fix-build-error.patch @@ -0,0 +1,37 @@ +From f40143f7acca81b7d39d774ed4c349aec8d9310b Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sat, 23 Sep 2017 11:37:23 +0200 +Subject: [PATCH] Form.cc: include ctype.h to fix build error + +Fixes +Form.cc:546:28: error: 'isdigit' was not declared in this scope +Form.cc:548:34: error: 'isxdigit' was not declared in this scope +Form.cc:575:40: error: 'isxdigit' was not declared in this scope + +detected by buildroot autobuilders: +http://autobuild.buildroot.net/results/a6a/a6a336f8b6a0136b204a34091e33dc4598178125/ +when cross-compiling with +gcc version 4.7.3 (crosstool-NG hg+-c65fcf8a34b7) + +Patch sent upstream: https://bugs.freedesktop.org/show_bug.cgi?id=102951 + +Signed-off-by: Bernd Kuhls +--- + poppler/Form.cc | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/poppler/Form.cc b/poppler/Form.cc +index 83bceb20..e7efae95 100644 +--- a/poppler/Form.cc ++++ b/poppler/Form.cc +@@ -32,6 +32,7 @@ + #include + #include + #include ++#include + #include "goo/gmem.h" + #include "goo/GooString.h" + #include "Error.h" +-- +2.11.0 + diff --git a/package/poppler/Config.in b/package/poppler/Config.in index d741f65287..79078a84bb 100644 --- a/package/poppler/Config.in +++ b/package/poppler/Config.in @@ -15,15 +15,11 @@ if BR2_PACKAGE_POPPLER config BR2_PACKAGE_POPPLER_QT bool "Qt support" depends on BR2_PACKAGE_QT - depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 # Qt GUI module select BR2_PACKAGE_QT_GUI_MODULE select BR2_PACKAGE_QT_XML help Build Qt support into the Poppler library -comment "poppler Qt support needs a toolchain not affected by Binutils bug 19405" - depends on BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 - config BR2_PACKAGE_POPPLER_QT5 bool "Qt5 support" depends on BR2_PACKAGE_QT5 diff --git a/package/poppler/poppler.hash b/package/poppler/poppler.hash index af597e0297..7aa14c681c 100644 --- a/package/poppler/poppler.hash +++ b/package/poppler/poppler.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 e997c9ad81a8372f2dd03a02b00692b8cc479c220340c8881edaca540f402c1f poppler-0.51.0.tar.xz +sha256 a3d626b24cd14efa9864e12584b22c9c32f51c46417d7c10ca17651f297c9641 poppler-0.59.0.tar.xz diff --git a/package/poppler/poppler.mk b/package/poppler/poppler.mk index fda8284507..5946cbec24 100644 --- a/package/poppler/poppler.mk +++ b/package/poppler/poppler.mk @@ -4,11 +4,11 @@ # ################################################################################ -POPPLER_VERSION = 0.51.0 +POPPLER_VERSION = 0.59.0 POPPLER_SOURCE = poppler-$(POPPLER_VERSION).tar.xz POPPLER_SITE = http://poppler.freedesktop.org POPPLER_DEPENDENCIES = fontconfig host-pkgconf -POPPLER_LICENSE = GPLv2+ +POPPLER_LICENSE = GPL-2.0+ POPPLER_LICENSE_FILES = COPYING POPPLER_INSTALL_STAGING = YES POPPLER_CONF_OPTS = --with-font-configuration=fontconfig \ @@ -46,10 +46,10 @@ POPPLER_CONF_OPTS += --disable-libtiff endif ifeq ($(BR2_PACKAGE_JPEG),y) -POPPLER_CONF_OPTS += --enable-libjpeg +POPPLER_CONF_OPTS += --enable-dctdecoder=libjpeg POPPLER_DEPENDENCIES += jpeg else -POPPLER_CONF_OPTS += --disable-libjpeg +POPPLER_CONF_OPTS += --enable-dctdecoder=none endif ifeq ($(BR2_PACKAGE_LIBPNG),y) @@ -66,7 +66,7 @@ else POPPLER_CONF_OPTS += --disable-zlib endif -ifeq ($(BR2_PACKAGE_POPPLER_LIBCURL),y) +ifeq ($(BR2_PACKAGE_LIBCURL),y) POPPLER_CONF_OPTS += --enable-libcurl POPPLER_DEPENDENCIES += libcurl else @@ -100,7 +100,7 @@ endif ifeq ($(BR2_PACKAGE_OPENJPEG),y) POPPLER_DEPENDENCIES += openjpeg -POPPLER_CONF_OPTS += --enable-libopenjpeg +POPPLER_CONF_OPTS += --enable-libopenjpeg=openjpeg2 else POPPLER_CONF_OPTS += --enable-libopenjpeg=none endif diff --git a/package/popt/0004-popt.pc-add-the-libintl-library-to-the-Libs.private-.patch b/package/popt/0004-popt.pc-add-the-libintl-library-to-the-Libs.private-.patch deleted file mode 100644 index 9b0b07e383..0000000000 --- a/package/popt/0004-popt.pc-add-the-libintl-library-to-the-Libs.private-.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 470755ccc353b59107c957972d908cbde4942c8d Mon Sep 17 00:00:00 2001 -From: Fabio Porcedda -Date: Sun, 1 Mar 2015 21:13:48 +0100 -Subject: [PATCH] popt.pc: add the libintl library to the Libs.private field - -If static linking and libintl is used, the program that uses the popt -library needs to link to the libintl library too so add the libintl -library to the libs.private field because is useful for programs that call - pkg-config --static --libs popt -they get the libintl library too: - -L<...> -lpopt -lintl - -This patch was already sent upstream: -http://rpm5.org/community/popt-devel/0294.html - -Signed-off-by: Fabio Porcedda ---- - configure.ac | 1 + - popt.pc.in | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/configure.ac b/configure.ac -index e8eb238..816d272 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -90,6 +90,7 @@ popt_sysconfdir="${sysconfdir}" - eval "popt_sysconfdir=\"${popt_sysconfdir}\"" # expand contained ${prefix} - AC_DEFINE_UNQUOTED([POPT_SYSCONFDIR], ["$popt_sysconfdir"], [Full path to default POPT configuration directory]) - -+AC_SUBST([POPT_PKGCONFIG_LIBS_PRIVATE],"$LIBINTL") - - # Define a (hope) portable Libs pkgconfig directive that - # - Don't harm if the default library search path include ${libdir} -diff --git a/popt.pc.in b/popt.pc.in -index a86437c..0acfdb9 100644 ---- a/popt.pc.in -+++ b/popt.pc.in -@@ -6,5 +6,6 @@ includedir=@includedir@ - Name: popt - Version: @VERSION@ - Description: popt library. -+Libs.private: @POPT_PKGCONFIG_LIBS_PRIVATE@ - Libs: @POPT_PKGCONFIG_LIBS@ - Cflags: -I${includedir} --- -2.3.1 - diff --git a/package/popt/popt.mk b/package/popt/popt.mk index 863a47a658..99c5138bdf 100644 --- a/package/popt/popt.mk +++ b/package/popt/popt.mk @@ -11,16 +11,14 @@ POPT_LICENSE = MIT POPT_LICENSE_FILES = COPYING POPT_AUTORECONF = YES POPT_GETTEXTIZE = YES - -ifeq ($(BR2_PACKAGE_GETTEXT),y) -POPT_DEPENDENCIES += gettext -endif +POPT_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) POPT_CONF_ENV = ac_cv_va_copy=yes ifeq ($(BR2_PACKAGE_LIBICONV),y) POPT_CONF_ENV += am_cv_lib_iconv=yes POPT_CONF_OPTS += --with-libiconv-prefix=$(STAGING_DIR)/usr +POPT_DEPENDENCIES += libiconv endif $(eval $(autotools-package)) diff --git a/package/portaudio/Config.in b/package/portaudio/Config.in index 252a92a650..18e87fde5e 100644 --- a/package/portaudio/Config.in +++ b/package/portaudio/Config.in @@ -14,8 +14,8 @@ if BR2_PACKAGE_PORTAUDIO config BR2_PACKAGE_PORTAUDIO_ALSA bool "alsa support" - select BR2_PACKAGE_ALSA_LIB default y + select BR2_PACKAGE_ALSA_LIB help Compile with ALSA support. diff --git a/package/portmap/0001-README-fix-typo-in-tcp-wrapper-doc.patch b/package/portmap/0001-README-fix-typo-in-tcp-wrapper-doc.patch deleted file mode 100644 index 01aa7bf849..0000000000 --- a/package/portmap/0001-README-fix-typo-in-tcp-wrapper-doc.patch +++ /dev/null @@ -1,26 +0,0 @@ -From af4a27a17bbdbe941f2462e116c2e4c8ade110e3 Mon Sep 17 00:00:00 2001 -From: Mike Frysinger -Date: Fri, 19 Nov 2010 23:35:20 -0500 -Subject: [PATCH 1/4] README: fix typo in tcp wrapper doc - -Signed-off-by: Mike Frysinger ---- - README | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/README b/README -index 0da54cc..916de7e 100644 ---- a/README -+++ b/README -@@ -18,7 +18,7 @@ There is no "./configure", just use "make". - - Some make variable can be used to control compilation. - -- NO_TCP_WRAPPER= if non-empty, doen't use tcp_wrappers -+ NO_TCP_WRAPPER= if non-empty, don't use tcp_wrappers - USE_DNS= if set, tcp_wrappers can check peers based on hostname - as well as IP address. This should only be used if you - are certain that gethostbyname will never trigger a --- -1.7.3.1 - diff --git a/package/portmap/0002-NO_PIE-make-PIE-support-controllable.patch b/package/portmap/0002-NO_PIE-make-PIE-support-controllable.patch deleted file mode 100644 index 6e544bfaf0..0000000000 --- a/package/portmap/0002-NO_PIE-make-PIE-support-controllable.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 087874b15367a04fd482541d1832696d7163d1ac Mon Sep 17 00:00:00 2001 -From: Mike Frysinger -Date: Fri, 19 Nov 2010 23:35:47 -0500 -Subject: [PATCH 2/4] NO_PIE: make PIE support controllable - -Signed-off-by: Mike Frysinger ---- - Makefile | 8 ++++++-- - README | 1 + - 2 files changed, 7 insertions(+), 2 deletions(-) - -diff --git a/Makefile b/Makefile -index 5343428..cfcfdbb 100644 ---- a/Makefile -+++ b/Makefile -@@ -106,6 +106,10 @@ CPPFLAGS += -DIGNORE_SIGCHLD # AIX 4.x, HP-UX 9.x - # - # LDLIBS += -m - # CFLAGS += -arch m68k -arch i386 -arch hppa -+ifeq ($(NO_PIE),) -+CFLAGS_PIE = -fpie -+LDFLAGS_PIE = -pie -+endif - - # Auxiliary libraries that you may have to specify - # -@@ -125,9 +129,9 @@ CFLAGS += -Wall -Wstrict-prototypes - all: portmap pmap_dump pmap_set portmap.man - - CPPFLAGS += $(HOSTS_ACCESS) --portmap: CFLAGS += -fpie -+portmap: CFLAGS += $(CFLAGS_PIE) - portmap: LDLIBS += $(WRAP_LIB) --portmap: LDFLAGS += -pie -+portmap: LDFLAGS += $(LDFLAGS_PIE) - portmap: portmap.o pmap_check.o from_local.o - - from_local: CPPFLAGS += -DTEST -diff --git a/README b/README -index 916de7e..e0b561a 100644 ---- a/README -+++ b/README -@@ -18,6 +18,7 @@ There is no "./configure", just use "make". - - Some make variable can be used to control compilation. - -+ NO_PIE= if non-empty, don't build portmap as a PIE - NO_TCP_WRAPPER= if non-empty, don't use tcp_wrappers - USE_DNS= if set, tcp_wrappers can check peers based on hostname - as well as IP address. This should only be used if you --- -1.7.3.1 - diff --git a/package/portmap/0003-NO_FORK-control-usage-of-fork-for-nommu-systems.patch b/package/portmap/0003-NO_FORK-control-usage-of-fork-for-nommu-systems.patch deleted file mode 100644 index 41396b6631..0000000000 --- a/package/portmap/0003-NO_FORK-control-usage-of-fork-for-nommu-systems.patch +++ /dev/null @@ -1,95 +0,0 @@ -From b3afea5757af1a7356ba30d2e0a7d5909ca18121 Mon Sep 17 00:00:00 2001 -From: Mike Frysinger -Date: Fri, 19 Nov 2010 23:48:20 -0500 -Subject: [PATCH 3/4] NO_FORK: control usage of fork() for nommu systems - -nommu systems lack a fork() function, so add a NO_FORK flag to control -its usage. We don't lose a ton of functionality in doing so, and on an -embedded system, this is OK. - -Signed-off-by: Mike Frysinger ---- - Makefile | 5 +++++ - README | 1 + - pmap_check.c | 6 ++++-- - portmap.c | 6 ++++++ - 4 files changed, 16 insertions(+), 2 deletions(-) - -diff --git a/Makefile b/Makefile -index cfcfdbb..9df5574 100644 ---- a/Makefile -+++ b/Makefile -@@ -27,6 +27,11 @@ MAN_SED += -e 's/USE_DNS/yes/' - endif - endif - -+# For no-mmu systems, we have to disable the fork() functions. -+ifneq ($(NO_FORK),) -+CPPFLAGS += -DNO_FORK -+endif -+ - # Comment out if your RPC library does not allocate privileged ports for - # requests from processes with root privilege, or the new portmap will - # always reject requests to register/unregister services on privileged -diff --git a/README b/README -index e0b561a..bda1707 100644 ---- a/README -+++ b/README -@@ -18,6 +18,7 @@ There is no "./configure", just use "make". - - Some make variable can be used to control compilation. - -+ NO_FORK= if non-empty, don't use fork (good for nommu systems) - NO_PIE= if non-empty, don't build portmap as a PIE - NO_TCP_WRAPPER= if non-empty, don't use tcp_wrappers - USE_DNS= if set, tcp_wrappers can check peers based on hostname -diff --git a/pmap_check.c b/pmap_check.c -index 6b3e490..983414e 100644 ---- a/pmap_check.c -+++ b/pmap_check.c -@@ -302,8 +302,10 @@ static void logit(int severity, struct sockaddr_in *addr, - * getrpcbynumber() or syslog() does its thing. - */ - -- if (fork() == 0) { -- -+#ifndef NO_FORK -+ if (fork() == 0) -+#endif -+ { - /* Try to map program number to name. */ - - if (prognum == 0) { -diff --git a/portmap.c b/portmap.c -index 2a98881..94abc64 100644 ---- a/portmap.c -+++ b/portmap.c -@@ -753,6 +755,7 @@ static void callit(struct svc_req *rqstp, SVCXPRT *xprt) - if ((pml = find_service(a.rmt_prog, a.rmt_vers, - (u_long)IPPROTO_UDP)) == NULL) - return; -+#ifndef NO_FORK - /* - * fork a child to do the work. Parent immediately returns. - * Child exits upon completion. -@@ -763,6 +766,7 @@ static void callit(struct svc_req *rqstp, SVCXPRT *xprt) - a.rmt_prog); - return; - } -+#endif - port = pml->pml_map.pm_port; - get_myaddress(&me); - me.sin_port = htons(port); -@@ -783,7 +787,9 @@ static void callit(struct svc_req *rqstp, SVCXPRT *xprt) - clnt_destroy(client); - } - (void)close(so); -+#ifndef NO_FORK - exit(0); -+#endif - } - - #ifndef IGNORE_SIGCHLD /* Lionel Cons */ --- -1.7.3.1 - diff --git a/package/portmap/0004-NO_PERROR-control-overriding-of-perror-symbol.patch b/package/portmap/0004-NO_PERROR-control-overriding-of-perror-symbol.patch deleted file mode 100644 index 665d6a1f99..0000000000 --- a/package/portmap/0004-NO_PERROR-control-overriding-of-perror-symbol.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 8cea0778f0fb838a7bd764be08f15e1494e5a0b2 Mon Sep 17 00:00:00 2001 -From: Mike Frysinger -Date: Fri, 19 Nov 2010 23:50:27 -0500 -Subject: [PATCH 4/4] NO_PERROR: control overriding of perror() symbol - -Doing static builds of portmap might fail when the C library's perror() -function is pulled in and collides with portmap's definition. So add a -flag to control the local override. - -Signed-off-by: Mike Frysinger ---- - Makefile | 5 +++++ - README | 1 + - 2 files changed, 6 insertions(+), 0 deletions(-) - -diff --git a/Makefile b/Makefile -index 9df5574..1635107 100644 ---- a/Makefile -+++ b/Makefile -@@ -32,6 +32,11 @@ ifneq ($(NO_FORK),) - CPPFLAGS += -DNO_FORK - endif - -+# For static builds, we might hit perror() symbol clashes -+ifneq ($(NO_PERROR),) -+CPPFLAGS += -DNO_PERROR -+endif -+ - # Comment out if your RPC library does not allocate privileged ports for - # requests from processes with root privilege, or the new portmap will - # always reject requests to register/unregister services on privileged -diff --git a/README b/README -index bda1707..05861a8 100644 ---- a/README -+++ b/README -@@ -19,6 +19,7 @@ There is no "./configure", just use "make". - Some make variable can be used to control compilation. - - NO_FORK= if non-empty, don't use fork (good for nommu systems) -+ NO_PERROR= if non-empty, don't override the perror() func - NO_PIE= if non-empty, don't build portmap as a PIE - NO_TCP_WRAPPER= if non-empty, don't use tcp_wrappers - USE_DNS= if set, tcp_wrappers can check peers based on hostname -diff --git a/portmap.c b/portmap.c -index 2a98881..94abc64 100644 ---- a/portmap.c -+++ b/portmap.c -@@ -391,12 +391,14 @@ main(int argc, char **argv) - abort(); - } - -+#ifndef NO_PERROR - /* need to override perror calls in rpc library */ - void perror(const char *what) - { - - syslog(LOG_ERR, "%s: %m", what); - } -+#endif - - static struct pmaplist * - find_service(u_long prog, u_long vers, u_long prot) --- -1.7.3.1 - diff --git a/package/portmap/0005-tcpd.patch b/package/portmap/0005-tcpd.patch deleted file mode 100644 index c6af8f8c80..0000000000 --- a/package/portmap/0005-tcpd.patch +++ /dev/null @@ -1,18 +0,0 @@ -Enable compile without tcp-wrappers - -Patch by Timothy Redaelli - -http://bugs.gentoo.org/178242 - ---- portmap_6.0/pmap_check.c -+++ portmap_6.0/pmap_check.c -@@ -44,7 +44,9 @@ - #include - #include - #endif -+#ifdef HOSTS_ACCESS - #include -+#endif - #include - #include - diff --git a/package/portmap/Config.in b/package/portmap/Config.in deleted file mode 100644 index d960690d7b..0000000000 --- a/package/portmap/Config.in +++ /dev/null @@ -1,16 +0,0 @@ -config BR2_PACKAGE_PORTMAP - bool "portmap" - depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC - # portmap and rpcbind provide the same feature, so they are - # mutually exclusive. rpcbind is the newer, preferred - # implementation. - depends on !BR2_PACKAGE_RPCBIND - help - The standard portmapper for RPC services. - - Note that portmap is being deprecated in favour of rpcbind. - - http://neil.brown.name/portmap/ - -comment "portmap needs a toolchain w/ RPC" - depends on !BR2_TOOLCHAIN_HAS_NATIVE_RPC diff --git a/package/portmap/S13portmap b/package/portmap/S13portmap deleted file mode 100755 index 9aa6adfc5b..0000000000 --- a/package/portmap/S13portmap +++ /dev/null @@ -1,44 +0,0 @@ -#! /bin/sh - -[ -f /sbin/portmap ] || exit 0 - -start() { - printf "Starting portmap: " - portmap - mkdir -p /var/lock/subsys - touch /var/lock/subsys/portmap - echo "done" -} - - -stop() { - printf "Stopping portmap: " - echo - killall portmap - rm -rf /var/lock/subsys - echo "done" -} - -restart() { - stop - start - rm -f /var/run/portmap.state -} - -# See how we were called. -case "$1" in - start) - start - ;; - stop) - stop - ;; - restart|reload) - restart - ;; - *) - echo "Usage: $0 {start|stop|reload|restart}" - exit 1 -esac - -exit $? diff --git a/package/portmap/portmap.hash b/package/portmap/portmap.hash deleted file mode 100644 index e542b2d981..0000000000 --- a/package/portmap/portmap.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally calculated -sha256 02c820d39f3e6e729d1bea3287a2d8a6c684f1006fb9612f97dcad4a281d41de portmap-6.0.tgz diff --git a/package/portmap/portmap.mk b/package/portmap/portmap.mk deleted file mode 100644 index 5caf54cb21..0000000000 --- a/package/portmap/portmap.mk +++ /dev/null @@ -1,33 +0,0 @@ -################################################################################ -# -# portmap -# -################################################################################ - -PORTMAP_VERSION = 6.0 -PORTMAP_SOURCE = portmap-$(PORTMAP_VERSION).tgz -PORTMAP_SITE = http://neil.brown.name/portmap -PORTMAP_LICENSE = BSD-4c (portmap.c) SunRPC License (portmap.c from_local.c) -PORTMAP_LICENSE_FILES = portmap.c from_local.c -PORTMAP_SBINS = portmap pmap_dump pmap_set - -PORTMAP_FLAGS = NO_TCP_WRAPPER=1 NO_PIE=1 NO_PERROR=1 -ifeq ($(BR2_USE_MMU),) -PORTMAP_FLAGS += NO_FORK=1 -endif - -define PORTMAP_BUILD_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(PORTMAP_FLAGS) -endef - -define PORTMAP_INSTALL_TARGET_CMDS - for sbin in $(PORTMAP_SBINS); do \ - $(INSTALL) -D -m 0755 $(@D)/$$sbin $(TARGET_DIR)/sbin/$$sbin || exit 1; \ - done -endef - -define PORTMAP_INSTALL_INIT_SYSV - $(INSTALL) -D -m 0755 package/portmap/S13portmap $(TARGET_DIR)/etc/init.d/S13portmap -endef - -$(eval $(generic-package)) diff --git a/package/postgresql/postgresql.hash b/package/postgresql/postgresql.hash index 900a55a7ad..e62838911e 100644 --- a/package/postgresql/postgresql.hash +++ b/package/postgresql/postgresql.hash @@ -1,2 +1,4 @@ -# From https://ftp.postgresql.org/pub/source/v9.6.1/postgresql-9.6.1.tar.bz2.sha256 -sha256 e5101e0a49141fc12a7018c6dad594694d3a3325f5ab71e93e0e51bd94e51fcd postgresql-9.6.1.tar.bz2 +# From https://ftp.postgresql.org/pub/source/v9.6.6/postgresql-9.6.6.tar.bz2.sha256 +sha256 399cdffcb872f785ba67e25d275463d74521566318cfef8fe219050d063c8154 postgresql-9.6.6.tar.bz2 +# License file, Locally calculated +sha256 7dc8de32741ad1b03e21710771b55a1b9d460671d47f28a8840f917e38c66676 COPYRIGHT diff --git a/package/postgresql/postgresql.mk b/package/postgresql/postgresql.mk index bc2bf47ee7..50ce212c1c 100644 --- a/package/postgresql/postgresql.mk +++ b/package/postgresql/postgresql.mk @@ -4,7 +4,7 @@ # ################################################################################ -POSTGRESQL_VERSION = 9.6.1 +POSTGRESQL_VERSION = 9.6.6 POSTGRESQL_SOURCE = postgresql-$(POSTGRESQL_VERSION).tar.bz2 POSTGRESQL_SITE = http://ftp.postgresql.org/pub/source/v$(POSTGRESQL_VERSION) POSTGRESQL_LICENSE = PostgreSQL diff --git a/package/pound/pound.mk b/package/pound/pound.mk index 408664214b..6f7cc848f8 100644 --- a/package/pound/pound.mk +++ b/package/pound/pound.mk @@ -7,7 +7,7 @@ POUND_VERSION = 2.7 POUND_SITE = http://www.apsis.ch/pound POUND_SOURCE = Pound-$(POUND_VERSION).tgz -POUND_LICENSE = GPLv3+ +POUND_LICENSE = GPL-3.0+ POUND_LICENSE_FILES = GPL.txt POUND_DEPENDENCIES = openssl diff --git a/package/powerpc-utils/Config.in b/package/powerpc-utils/Config.in index fb2fb7fac2..b0ca84789e 100644 --- a/package/powerpc-utils/Config.in +++ b/package/powerpc-utils/Config.in @@ -16,8 +16,8 @@ if BR2_PACKAGE_POWERPC_UTILS config BR2_PACKAGE_POWERPC_UTILS_RTAS bool "RTAS support" - select BR2_PACKAGE_LIBRTAS depends on BR2_TOOLCHAIN_USES_GLIBC + select BR2_PACKAGE_LIBRTAS help Enable support for functions that require RTAS. diff --git a/package/powerpc-utils/powerpc-utils.hash b/package/powerpc-utils/powerpc-utils.hash index 9e299da38a..437a5865c2 100644 --- a/package/powerpc-utils/powerpc-utils.hash +++ b/package/powerpc-utils/powerpc-utils.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 657790a4aea7f3e4649a454b4c384e255145bff9b9c5e40402170603980a6736 powerpc-utils-v1.3.1.tar.gz +sha256 d36372efebc1f6f9409501f7ab68a812843925334dee6438e7b52a53c21574c5 powerpc-utils-v1.3.4.tar.gz diff --git a/package/powerpc-utils/powerpc-utils.mk b/package/powerpc-utils/powerpc-utils.mk index 036be52dc3..da7a3c9cd6 100644 --- a/package/powerpc-utils/powerpc-utils.mk +++ b/package/powerpc-utils/powerpc-utils.mk @@ -4,11 +4,11 @@ # ################################################################################ -POWERPC_UTILS_VERSION = v1.3.1 -POWERPC_UTILS_SITE = $(call github,nfont,powerpc-utils,$(POWERPC_UTILS_VERSION)) +POWERPC_UTILS_VERSION = v1.3.4 +POWERPC_UTILS_SITE = $(call github,ibm-power-utilities,powerpc-utils,$(POWERPC_UTILS_VERSION)) POWERPC_UTILS_DEPENDENCIES = zlib POWERPC_UTILS_AUTORECONF = YES -POWERPC_UTILS_LICENSE = GPLv2+ +POWERPC_UTILS_LICENSE = GPL-2.0+ POWERPC_UTILS_LICENSE_FILES = COPYING POWERPC_UTILS_CONF_ENV = \ diff --git a/package/powertop/0001-autotune-fix-use-after-close.patch b/package/powertop/0001-autotune-fix-use-after-close.patch deleted file mode 100644 index f2b3dff102..0000000000 --- a/package/powertop/0001-autotune-fix-use-after-close.patch +++ /dev/null @@ -1,15 +0,0 @@ -Patch pulled from https://projects.archlinux.org/svntogit/community.git/tree/trunk?h=packages/powertop&id=37469c47b885c50365f57044e4ad72e0e3512b91 - -Fixes a use-after-close bug in create_all_devfreq_devices(). - -Signed-off-by: Steven Noonan - ---- a/src/devices/devfreq.cpp -+++ b/src/devices/devfreq.cpp -@@ -247,6 +247,7 @@ void create_all_devfreq_devices(void) - fprintf(stderr, "Devfreq not enabled\n"); - is_enabled = false; - closedir(dir); -+ dir = NULL; - return; - } diff --git a/package/powertop/0002-dont-force-stack-smashing-protection.patch b/package/powertop/0001-dont-force-stack-smashing-protection.patch similarity index 100% rename from package/powertop/0002-dont-force-stack-smashing-protection.patch rename to package/powertop/0001-dont-force-stack-smashing-protection.patch diff --git a/package/powertop/0003-add-missing-sys-time.h-header.patch b/package/powertop/0003-add-missing-sys-time.h-header.patch deleted file mode 100644 index 7156e4256a..0000000000 --- a/package/powertop/0003-add-missing-sys-time.h-header.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 283cab667a9ac3ae3a675b5e5d1a42191188699f Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sat, 8 Aug 2015 18:24:48 +0200 -Subject: [PATCH] add missing sys/time.h header -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -struct timeval is defined in sys/time.h with a musl toolchain. - -Fixes: -In file included from devices/devfreq.cpp:35:0: -devices/devfreq.h:35:18: error: field ‘stamp_before’ has incomplete type ‘timeval’ - struct timeval stamp_before, stamp_after; - -Signed-off-by: Romain Naour ---- - src/devices/devfreq.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/devices/devfreq.h b/src/devices/devfreq.h -index 16a60fb..4a8983b 100644 ---- a/src/devices/devfreq.h -+++ b/src/devices/devfreq.h -@@ -27,6 +27,7 @@ - - #include "device.h" - #include "../parameters/parameters.h" -+#include - - struct frequency; - --- -2.4.3 - diff --git a/package/powertop/0004-add-missing-stdio.h-header.patch b/package/powertop/0004-add-missing-stdio.h-header.patch deleted file mode 100644 index 7619cca131..0000000000 --- a/package/powertop/0004-add-missing-stdio.h-header.patch +++ /dev/null @@ -1,35 +0,0 @@ -From e6cfd977c81b335664db1d5d3d6b5488c245e30f Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sat, 8 Aug 2015 18:26:15 +0200 -Subject: [PATCH] add missing stdio.h header -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -snprinf is defined in stdio.h. - -Fixes: -perf/perf_bundle.cpp: In function ‘void parse_event_format(const char*)’: -perf/perf_bundle.cpp:141:75: error: ‘sprintf’ was not declared in this scope - sprintf(file, "/sys/kernel/debug/tracing/events/%s/%s/format", sys, event); - -Signed-off-by: Romain Naour ---- - src/perf/perf_bundle.cpp | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/perf/perf_bundle.cpp b/src/perf/perf_bundle.cpp -index cf1ae11..3d216ff 100644 ---- a/src/perf/perf_bundle.cpp -+++ b/src/perf/perf_bundle.cpp -@@ -31,6 +31,7 @@ - #include - #include - #include -+#include - - #include "perf_bundle.h" - #include "perf_event.h" --- -2.4.3 - diff --git a/package/powertop/Config.in b/package/powertop/Config.in index a532302a64..36701f8c64 100644 --- a/package/powertop/Config.in +++ b/package/powertop/Config.in @@ -7,7 +7,6 @@ config BR2_PACKAGE_POWERTOP select BR2_PACKAGE_NCURSES select BR2_PACKAGE_PCIUTILS select BR2_PACKAGE_LIBNL - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT help A tool to diagnose issues with power consumption and power management diff --git a/package/powertop/powertop.hash b/package/powertop/powertop.hash index b64981ea7a..0f9acdc277 100644 --- a/package/powertop/powertop.hash +++ b/package/powertop/powertop.hash @@ -1,2 +1,2 @@ # Locally-generated hash -sha256 8d4b1490e2baad4467c0ded3c423db4472dcbf7b2dd8f8f2a928f54047c678ca powertop-2.7.tar.gz +sha256 aa7fb7d8e9a00f05e7d8a7a2866d85929741e0d03a5bf40cab22d2021c959250 powertop-v2.9.tar.gz diff --git a/package/powertop/powertop.mk b/package/powertop/powertop.mk index 53be483a6d..cf5e8d4ffb 100644 --- a/package/powertop/powertop.mk +++ b/package/powertop/powertop.mk @@ -4,19 +4,16 @@ # ################################################################################ -POWERTOP_VERSION = 2.7 +POWERTOP_VERSION = 2.9 POWERTOP_SITE = https://01.org/sites/default/files/downloads/powertop -POWERTOP_DEPENDENCIES = pciutils ncurses libnl host-gettext host-pkgconf -POWERTOP_LICENSE = GPLv2 +POWERTOP_SOURCE = powertop-v$(POWERTOP_VERSION).tar.gz +POWERTOP_DEPENDENCIES = pciutils ncurses libnl host-pkgconf \ + $(TARGET_NLS_DEPENDENCIES) +POWERTOP_LICENSE = GPL-2.0 POWERTOP_LICENSE_FILES = COPYING -# We're patching Makefile.am +POWERTOP_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) +# 0001-dont-force-stack-smashing-protection.patch POWERTOP_AUTORECONF = YES -POWERTOP_GETTEXTIZE = YES - -ifeq ($(BR2_NEEDS_GETTEXT),y) -POWERTOP_DEPENDENCIES += gettext -POWERTOP_CONF_ENV += LIBS='-lintl' -endif # Help powertop at finding the right ncurses library depending on # which one is available. diff --git a/package/powervr/Config.in b/package/powervr/Config.in index 746e15b291..7be2b2378a 100644 --- a/package/powervr/Config.in +++ b/package/powervr/Config.in @@ -2,5 +2,5 @@ config BR2_PACKAGE_HAS_POWERVR bool config BR2_PACKAGE_PROVIDES_POWERVR - depends on BR2_PACKAGE_HAS_POWERVR string + depends on BR2_PACKAGE_HAS_POWERVR diff --git a/package/pppd/Config.in b/package/pppd/Config.in index b56b623459..ee89a577f2 100644 --- a/package/pppd/Config.in +++ b/package/pppd/Config.in @@ -11,8 +11,8 @@ config BR2_PACKAGE_PPPD if BR2_PACKAGE_PPPD config BR2_PACKAGE_PPPD_FILTER - select BR2_PACKAGE_LIBPCAP bool "filtering" + select BR2_PACKAGE_LIBPCAP help Packet filtering abilities for pppd. If enabled, the pppd active-filter and pass-filter options @@ -23,6 +23,18 @@ config BR2_PACKAGE_PPPD_RADIUS help Install RADIUS support for pppd +config BR2_PACKAGE_PPPD_OVERWRITE_RESOLV_CONF + bool "overwrite /etc/resolv.conf" + default y + help + Overwrite /etc/resolv.conf instead of maintaining the + separate list of nameservers in /etc/ppp/resolv.conf + + Note that the pppd default of writing to /etc/ppp/resolv.conf + does not work on a read-only rootfs unless you make it + writable in your rootfs customizations (e.g. by linking it to + a file in tmpfs or by mounting a writable filesystem on it). + endif comment "pppd needs a uClibc or glibc toolchain w/ dynamic library" diff --git a/package/pppd/pppd.mk b/package/pppd/pppd.mk index 55630a8a8d..6b86a4d3dc 100644 --- a/package/pppd/pppd.mk +++ b/package/pppd/pppd.mk @@ -7,7 +7,7 @@ PPPD_VERSION = 2.4.7 PPPD_SOURCE = ppp-$(PPPD_VERSION).tar.gz PPPD_SITE = https://download.samba.org/pub/ppp -PPPD_LICENSE = LGPLv2+, LGPL, BSD-4c, BSD-3c, GPLv2+ +PPPD_LICENSE = LGPL-2.0+, LGPL, BSD-4-Clause, BSD-3-Clause, GPL-2.0+ PPPD_LICENSE_FILES = \ pppd/tdb.c pppd/plugins/pppoatm/COPYING \ pppdump/bsd-comp.c pppd/ccp.c pppd/plugins/passprompt.c @@ -41,7 +41,9 @@ PPPD_POST_EXTRACT_HOOKS += PPPD_DROP_INTERNAL_IF_PPOL2TP_H define PPPD_SET_RESOLV_CONF $(SED) 's,ppp/resolv.conf,resolv.conf,' $(@D)/pppd/pathnames.h endef +ifeq ($(BR2_PACKAGE_PPPD_OVERWRITE_RESOLV_CONF),y) PPPD_POST_EXTRACT_HOOKS += PPPD_SET_RESOLV_CONF +endif define PPPD_CONFIGURE_CMDS $(SED) 's/FILTER=y/#FILTER=y/' $(PPPD_DIR)/pppd/Makefile.linux diff --git a/package/pps-tools/pps-tools.mk b/package/pps-tools/pps-tools.mk index c3e147a455..37bb7e1f8c 100644 --- a/package/pps-tools/pps-tools.mk +++ b/package/pps-tools/pps-tools.mk @@ -7,7 +7,7 @@ PPS_TOOLS_VERSION = 47333f24af878f67ce48022e8af16419713aa1ac PPS_TOOLS_SITE = $(call github,ago,pps-tools,$(PPS_TOOLS_VERSION)) PPS_TOOLS_INSTALL_STAGING = YES -PPS_TOOLS_LICENSE = GPLv2+ +PPS_TOOLS_LICENSE = GPL-2.0+ PPS_TOOLS_LICENSE_FILES = COPYING define PPS_TOOLS_BUILD_CMDS diff --git a/package/pptp-linux/0003-pqueue.h-include-sys-types.h.patch b/package/pptp-linux/0003-pqueue.h-include-sys-types.h.patch index d6b5445fa9..1036b3c895 100644 --- a/package/pptp-linux/0003-pqueue.h-include-sys-types.h.patch +++ b/package/pptp-linux/0003-pqueue.h-include-sys-types.h.patch @@ -7,8 +7,8 @@ We're using u_int32_t here, this breaks on musl libc builds otherwise. Signed-off-by: Gustavo Zacarias --- -Patch status: sent upstream to the devel mailing list -(moderated, no archive link yet) +Patch status: applied upstream: +https://sourceforge.net/p/pptpclient/git/ci/ee8ef349d9543cb48045a27d1cdd801fc6e910e8/ pqueue.h | 1 + 1 file changed, 1 insertion(+) diff --git a/package/pptp-linux/pptp-linux.hash b/package/pptp-linux/pptp-linux.hash index 839d0bf84f..6200ef151f 100644 --- a/package/pptp-linux/pptp-linux.hash +++ b/package/pptp-linux/pptp-linux.hash @@ -1,3 +1,3 @@ -# From http://sourceforge.net/projects/pptpclient/files/pptp/pptp-1.8.0/ -md5 4efce9f263e2c3f38d79d9df222476de pptp-1.8.0.tar.gz -sha1 6289953812ac986c7234e83aefb10b5e279dc613 pptp-1.8.0.tar.gz +# From http://sourceforge.net/projects/pptpclient/files/pptp/pptp-1.9.0/ +md5 b2117b377f65294a9786f80f0235d308 pptp-1.9.0.tar.gz +sha1 047bb9812be477b44c94ffb1dc95c34658eedc24 pptp-1.9.0.tar.gz diff --git a/package/pptp-linux/pptp-linux.mk b/package/pptp-linux/pptp-linux.mk index 1538457a12..25f3037f88 100644 --- a/package/pptp-linux/pptp-linux.mk +++ b/package/pptp-linux/pptp-linux.mk @@ -4,11 +4,11 @@ # ################################################################################ -PPTP_LINUX_VERSION = 1.8.0 +PPTP_LINUX_VERSION = 1.9.0 PPTP_LINUX_SITE = http://downloads.sourceforge.net/project/pptpclient/pptp/pptp-$(PPTP_LINUX_VERSION) PPTP_LINUX_SOURCE = pptp-$(PPTP_LINUX_VERSION).tar.gz PPTP_LINUX_MAKE = $(MAKE1) -PPTP_LINUX_LICENSE = GPLv2+ +PPTP_LINUX_LICENSE = GPL-2.0+ PPTP_LINUX_LICENSE_FILES = COPYING define PPTP_LINUX_BUILD_CMDS diff --git a/package/prboom/Config.in b/package/prboom/Config.in index 6884f31e46..8e445e98b8 100644 --- a/package/prboom/Config.in +++ b/package/prboom/Config.in @@ -1,7 +1,5 @@ config BR2_PACKAGE_PRBOOM bool "prboom" - # These result in internal compiler error - depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH select BR2_PACKAGE_SDL select BR2_PACKAGE_SDL_MIXER select BR2_PACKAGE_SDL_NET diff --git a/package/prboom/prboom.mk b/package/prboom/prboom.mk index 5f5e7fb677..d370ae3fa5 100644 --- a/package/prboom/prboom.mk +++ b/package/prboom/prboom.mk @@ -8,7 +8,7 @@ PRBOOM_VERSION = 2.5.0 PRBOOM_SITE = http://downloads.sourceforge.net/project/prboom/prboom%20stable/$(PRBOOM_VERSION) PRBOOM_CONF_ENV = ac_cv_type_uid_t=yes PRBOOM_DEPENDENCIES = sdl sdl_net sdl_mixer -PRBOOM_LICENSE = GPLv2+ +PRBOOM_LICENSE = GPL-2.0+ PRBOOM_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_LIBPNG),y) diff --git a/package/privoxy/privoxy.mk b/package/privoxy/privoxy.mk index 267ddc2704..df0e7372ac 100644 --- a/package/privoxy/privoxy.mk +++ b/package/privoxy/privoxy.mk @@ -10,7 +10,7 @@ PRIVOXY_SOURCE = privoxy-$(PRIVOXY_VERSION)-stable-src.tar.gz # configure not shipped PRIVOXY_AUTORECONF = YES PRIVOXY_DEPENDENCIES = pcre zlib -PRIVOXY_LICENSE = GPLv2+ +PRIVOXY_LICENSE = GPL-2.0+ PRIVOXY_LICENSE_FILES = LICENSE $(eval $(autotools-package)) diff --git a/package/procps-ng/Config.in b/package/procps-ng/Config.in index 553bea1a11..6ff8983202 100644 --- a/package/procps-ng/Config.in +++ b/package/procps-ng/Config.in @@ -3,7 +3,6 @@ config BR2_PACKAGE_PROCPS_NG depends on BR2_USE_MMU # fork() depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS select BR2_PACKAGE_NCURSES - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE help Standard informational utilities and process-handling tools. Provides things like kill, ps, uptime, free, top, etc... diff --git a/package/procps-ng/procps-ng.mk b/package/procps-ng/procps-ng.mk index 0f8b20c560..22ebc1a8fd 100644 --- a/package/procps-ng/procps-ng.mk +++ b/package/procps-ng/procps-ng.mk @@ -7,10 +7,11 @@ PROCPS_NG_VERSION = 3.3.12 PROCPS_NG_SOURCE = procps-ng-$(PROCPS_NG_VERSION).tar.xz PROCPS_NG_SITE = http://downloads.sourceforge.net/project/procps-ng/Production -PROCPS_NG_LICENSE = GPLv2+, LGPLv2+ (libproc and libps) +PROCPS_NG_LICENSE = GPL-2.0+, LGPL-2.0+ (libproc and libps) PROCPS_NG_LICENSE_FILES = COPYING COPYING.LIB PROCPS_NG_INSTALL_STAGING = YES -PROCPS_NG_DEPENDENCIES = ncurses host-pkgconf +PROCPS_NG_DEPENDENCIES = ncurses host-pkgconf $(TARGET_NLS_DEPENDENCIES) +PROCPS_NG_CONF_OPTS = LIBS=$(TARGET_NLS_LIBS) # For 0002-use-pkgconfig-for-ncursesw-cflags.patch PROCPS_NG_AUTORECONF = YES PROCPS_NG_GETTEXTIZE = YES @@ -21,11 +22,6 @@ ifeq ($(BR2_PACKAGE_BUSYBOX),y) PROCPS_NG_DEPENDENCIES += busybox endif -ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y) -PROCPS_NG_DEPENDENCIES += gettext -PROCPS_NG_CONF_OPTS += LIBS=-lintl -endif - ifeq ($(BR2_PACKAGE_SYSTEMD),y) PROCPS_NG_DEPENDENCIES += systemd PROCPS_NG_CONF_OPTS += --with-systemd diff --git a/package/proftpd/0002-__mempcpy.patch b/package/proftpd/0002-__mempcpy.patch deleted file mode 100644 index 1b8f0b0bd3..0000000000 --- a/package/proftpd/0002-__mempcpy.patch +++ /dev/null @@ -1,54 +0,0 @@ -[PATCH] pr_fnmatch.c: use mempcpy, not __mempcpy to fix linker issue with uClibc - -The standard name (as checked for by configure) for the function is mempcpy, -not __mempcpy, so use that instead. - -The existing code happens to work on glibc, as that provides an __mempcpy -alias, but other C libraries (E.G. uClibc) don't: - -./host/usr/bin/arm-linux-nm -D ./staging/lib/libuClibc-0.9.33.2.so | grep mempcpy -00035d2c W mempcpy -00036cf8 W wmempcpy - -vs - -./host/usr/bin/arm-none-linux-gnueabi-nm -D staging/lib/libc-2.18.so | grep mempcpy -0007d140 T mempcpy -0007d140 T __mempcpy -000e15f0 T __mempcpy_chk -00081828 T __mempcpy_small -00083148 W wmempcpy -000e4e3c T __wmempcpy_chk - -Signed-off-by: Peter Korsgaard ---- - lib/pr_fnmatch.c | 2 +- - lib/pr_fnmatch_loop.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -Index: proftpd-1.3.4d/lib/pr_fnmatch.c -=================================================================== ---- proftpd-1.3.4d.orig/lib/pr_fnmatch.c -+++ proftpd-1.3.4d/lib/pr_fnmatch.c -@@ -250,7 +250,7 @@ - # endif - # define STRLEN(S) strlen (S) - # define STRCAT(D, S) strcat (D, S) --# define MEMPCPY(D, S, N) __mempcpy (D, S, N) -+# define MEMPCPY(D, S, N) mempcpy (D, S, N) - # define MEMCHR(S, C, N) memchr (S, C, N) - # define STRCOLL(S1, S2) strcoll (S1, S2) - # include "pr_fnmatch_loop.c" -Index: proftpd-1.3.4d/lib/pr_fnmatch_loop.c -=================================================================== ---- proftpd-1.3.4d.orig/lib/pr_fnmatch_loop.c -+++ proftpd-1.3.4d/lib/pr_fnmatch_loop.c -@@ -54,7 +54,7 @@ - /* Copy N bytes of SRC to DEST, return pointer to bytes after the - last written byte. */ - static void * --__mempcpy (void *dest, const void *src, size_t n) -+mempcpy (void *dest, const void *src, size_t n) - { - return (char *) memcpy (dest, src, n) + n; - } diff --git a/package/proftpd/Config.in b/package/proftpd/Config.in index dd87eb45aa..07a5d86cc6 100644 --- a/package/proftpd/Config.in +++ b/package/proftpd/Config.in @@ -13,4 +13,11 @@ config BR2_PACKAGE_PROFTPD_MOD_REWRITE help Compile ProFTPD with mod_rewrite support +config BR2_PACKAGE_PROFTPD_MOD_REDIS + bool "mod_redis support" + select BR2_PACKAGE_HIREDIS + help + The mod_redis module enables ProFTPD support for caching data in Redis + servers, using the hiredis client library. + endif diff --git a/package/proftpd/proftpd.hash b/package/proftpd/proftpd.hash index cc8add9966..537222f016 100644 --- a/package/proftpd/proftpd.hash +++ b/package/proftpd/proftpd.hash @@ -1,4 +1,4 @@ -# From ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.5d.tar.gz.md5 -md5 bcd2846edf0dad4c4d49a7c8c176d83a proftpd-1.3.5d.tar.gz +# From ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.6.tar.gz.md5 +md5 13270911c42aac842435f18205546a1b proftpd-1.3.6.tar.gz # Locally calculated -sha256 f4e2997be7f22a5b31d7ac72497ed4f4471d24d32385978350410713e76129ac proftpd-1.3.5d.tar.gz +sha256 91ef74b143495d5ff97c4d4770c6804072a8c8eb1ad1ecc8cc541b40e152ecaf proftpd-1.3.6.tar.gz diff --git a/package/proftpd/proftpd.mk b/package/proftpd/proftpd.mk index b5ffddc036..3e165c6ada 100644 --- a/package/proftpd/proftpd.mk +++ b/package/proftpd/proftpd.mk @@ -4,9 +4,9 @@ # ################################################################################ -PROFTPD_VERSION = 1.3.5d +PROFTPD_VERSION = 1.3.6 PROFTPD_SITE = ftp://ftp.proftpd.org/distrib/source -PROFTPD_LICENSE = GPLv2+ +PROFTPD_LICENSE = GPL-2.0+ PROFTPD_LICENSE_FILES = COPYING PROFTPD_CONF_ENV = \ @@ -27,6 +27,13 @@ ifeq ($(BR2_PACKAGE_PROFTPD_MOD_REWRITE),y) PROFTPD_CONF_OPTS += --with-modules=mod_rewrite endif +ifeq ($(BR2_PACKAGE_PROFTPD_MOD_REDIS),y) +PROFTPD_CONF_OPTS += --enable-redis +PROFTPD_DEPENDENCIES += hiredis +else +PROFTPD_CONF_OPTS += --disable-redis +endif + # configure script doesn't handle detection of %llu format string # support for printing the file size when cross compiling, breaking # access for large files. diff --git a/package/prosody/Config.in b/package/prosody/Config.in new file mode 100644 index 0000000000..77eeb85ab1 --- /dev/null +++ b/package/prosody/Config.in @@ -0,0 +1,18 @@ +config BR2_PACKAGE_PROSODY + bool "prosody" + depends on BR2_PACKAGE_LUA_5_1 || BR2_PACKAGE_LUAJIT + select BR2_PACKAGE_LUAEXPAT # runtime + select BR2_PACKAGE_LUASEC # runtime + select BR2_PACKAGE_LUASOCKET # runtime + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_LIBIDN + select BR2_PACKAGE_LUAFILESYSTEM # runtime + help + Prosody is a modern XMPP communication server. It aims to be + easy to set up and configure, and efficient with system + resources. + + https://prosody.im + +comment "prosody needs the lua interpreter" + depends on !BR2_PACKAGE_LUA_5_1 && !BR2_PACKAGE_LUAJIT diff --git a/package/prosody/S50prosody b/package/prosody/S50prosody new file mode 100644 index 0000000000..84913a5f83 --- /dev/null +++ b/package/prosody/S50prosody @@ -0,0 +1,44 @@ +#! /bin/sh + +NAME=prosody +DAEMON=/usr/bin/$NAME + +# This must match the pidfile field in +# /etc/prosody/prosody.cfg.lua + +PIDDIR=/var/run/$NAME +PIDFILE=$PIDDIR/$NAME.pid + +# Gracefully exit if the package has been removed. +test -x $DAEMON || exit 0 + +case "$1" in + start) + printf "Starting $NAME: " + mkdir -p $PIDDIR + chown $NAME:$NAME $PIDDIR + start-stop-daemon -S -q -o -x $DAEMON -c $NAME + [ $? = 0 ] && echo "OK" || echo "FAIL" + ;; + stop) + printf "Stopping $NAME: " + # The standard method of identifying the name doesn't + # work as the process name is lua. So use the pidfile + # which is created by the service itself as a match + # criteria when stopping the service + start-stop-daemon -K -q -o -p "$PIDFILE" + [ $? = 0 ] && echo "OK" || echo "FAIL" + ;; + restart|reload) + echo "Restarting $NAME: " + $0 stop + sleep 1 + $0 start + ;; + *) + echo "Usage: $0 {start|stop|restart|reload}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/package/prosody/prosody.cfg.lua b/package/prosody/prosody.cfg.lua new file mode 100644 index 0000000000..8329c0ad4e --- /dev/null +++ b/package/prosody/prosody.cfg.lua @@ -0,0 +1,184 @@ +-- Prosody Example Configuration File +-- +-- Information on configuring Prosody can be found on our +-- website at http://prosody.im/doc/configure +-- +-- Tip: You can check that the syntax of this file is correct +-- when you have finished by running: luac -p prosody.cfg.lua +-- If there are any errors, it will let you know what and where +-- they are, otherwise it will keep quiet. +-- +-- The only thing left to do is rename this file to remove the .dist ending, and fill in the +-- blanks. Good luck, and happy Jabbering! + + +---------- Server-wide settings ---------- +-- Settings in this section apply to the whole server and are the default settings +-- for any virtual hosts + +-- This is a (by default, empty) list of accounts that are admins +-- for the server. Note that you must create the accounts separately +-- (see http://prosody.im/doc/creating_accounts for info) +-- Example: admins = { "user1@example.com", "user2@example.net" } +admins = { } + +-- Enable use of libevent for better performance under high load +-- For more information see: http://prosody.im/doc/libevent +--use_libevent = true; + +-- This is the list of modules Prosody will load on startup. +-- It looks for mod_modulename.lua in the plugins folder, so make sure that exists too. +-- Documentation on modules can be found at: http://prosody.im/doc/modules +modules_enabled = { + + -- Generally required + "roster"; -- Allow users to have a roster. Recommended ;) + "saslauth"; -- Authentication for clients and servers. Recommended if you want to log in. + "tls"; -- Add support for secure TLS on c2s/s2s connections + "dialback"; -- s2s dialback support + "disco"; -- Service discovery + + -- Not essential, but recommended + "private"; -- Private XML storage (for room bookmarks, etc.) + "vcard"; -- Allow users to set vCards + + -- These are commented by default as they have a performance impact + --"privacy"; -- Support privacy lists + --"compression"; -- Stream compression + + -- Nice to have + "version"; -- Replies to server version requests + "uptime"; -- Report how long server has been running + "time"; -- Let others know the time here on this server + "ping"; -- Replies to XMPP pings with pongs + "pep"; -- Enables users to publish their mood, activity, playing music and more + "register"; -- Allow users to register on this server using a client and change passwords + + -- Admin interfaces + "admin_adhoc"; -- Allows administration via an XMPP client that supports ad-hoc commands + --"admin_telnet"; -- Opens telnet console interface on localhost port 5582 + + -- HTTP modules + --"bosh"; -- Enable BOSH clients, aka "Jabber over HTTP" + --"http_files"; -- Serve static files from a directory over HTTP + + -- Other specific functionality + "posix"; -- POSIX functionality, sends server to background, enables syslog, etc. + --"groups"; -- Shared roster support + --"announce"; -- Send announcement to all online users + --"welcome"; -- Welcome users who register accounts + --"watchregistrations"; -- Alert admins of registrations + --"motd"; -- Send a message to users when they log in + --"legacyauth"; -- Legacy authentication. Only used by some old clients and bots. +}; + +-- These modules are auto-loaded, but should you want +-- to disable them then uncomment them here: +modules_disabled = { + -- "offline"; -- Store offline messages + -- "c2s"; -- Handle client connections + -- "s2s"; -- Handle server-to-server connections +}; + +-- Disable account creation by default, for security +-- For more information see http://prosody.im/doc/creating_accounts +allow_registration = false; + +-- These are the SSL/TLS-related settings. If you don't want +-- to use SSL/TLS, you may comment or remove this +ssl = { + key = "certs/localhost.key"; + certificate = "certs/localhost.crt"; +} + +-- Force clients to use encrypted connections? This option will +-- prevent clients from authenticating unless they are using encryption. + +c2s_require_encryption = false + +-- Force certificate authentication for server-to-server connections? +-- This provides ideal security, but requires servers you communicate +-- with to support encryption AND present valid, trusted certificates. +-- NOTE: Your version of LuaSec must support certificate verification! +-- For more information see http://prosody.im/doc/s2s#security + +s2s_secure_auth = false + +-- Many servers don't support encryption or have invalid or self-signed +-- certificates. You can list domains here that will not be required to +-- authenticate using certificates. They will be authenticated using DNS. + +--s2s_insecure_domains = { "gmail.com" } + +-- Even if you leave s2s_secure_auth disabled, you can still require valid +-- certificates for some domains by specifying a list here. + +--s2s_secure_domains = { "jabber.org" } + +-- Select the authentication backend to use. The 'internal' providers +-- use Prosody's configured data storage to store the authentication data. +-- To allow Prosody to offer secure authentication mechanisms to clients, the +-- default provider stores passwords in plaintext. If you do not trust your +-- server please see http://prosody.im/doc/modules/mod_auth_internal_hashed +-- for information about using the hashed backend. + +authentication = "internal_plain" + +-- Select the storage backend to use. By default Prosody uses flat files +-- in its configured data directory, but it also supports more backends +-- through modules. An "sql" backend is included by default, but requires +-- additional dependencies. See http://prosody.im/doc/storage for more info. + +--storage = "sql" -- Default is "internal" + +-- For the "sql" backend, you can uncomment *one* of the below to configure: +--sql = { driver = "SQLite3", database = "prosody.sqlite" } -- Default. 'database' is the filename. +--sql = { driver = "MySQL", database = "prosody", username = "prosody", password = "secret", host = "localhost" } +--sql = { driver = "PostgreSQL", database = "prosody", username = "prosody", password = "secret", host = "localhost" } + +-- Logging configuration +-- For advanced logging see http://prosody.im/doc/logging +log = { + -- info = "prosody.log"; -- Change 'info' to 'debug' for verbose logging + -- error = "prosody.err"; + "*syslog"; -- Logging to syslog + -- "*console"; -- Log to the console, useful for debugging with daemonize=false +} + +pidfile = "/var/run/prosody/prosody.pid" + +----------- Virtual hosts ----------- +-- You need to add a VirtualHost entry for each domain you wish Prosody to serve. +-- Settings under each VirtualHost entry apply *only* to that host. + +VirtualHost "localhost" + +VirtualHost "example.com" + -- Assign this host a certificate for TLS, otherwise it would use the one + -- set in the global section (if any). + -- Note that old-style SSL on port 5223 only supports one certificate, and will always + -- use the global one. + ssl = { + key = "certs/example.com.key"; + certificate = "certs/example.com.crt"; + } + +------ Components ------ +-- You can specify components to add hosts that provide special services, +-- like multi-user conferences, and transports. +-- For more information on components, see http://prosody.im/doc/components + +---Set up a MUC (multi-user chat) room server on conference.example.com: +--Component "conference.example.com" "muc" + +-- Set up a SOCKS5 bytestream proxy for server-proxied file transfers: +--Component "proxy.example.com" "proxy65" + +---Set up an external component (default component port is 5347) +-- +-- External components allow adding various services, such as gateways/ +-- transports to other networks like ICQ, MSN and Yahoo. For more info +-- see: http://prosody.im/doc/components#adding_an_external_component +-- +--Component "gateway.example.com" +-- component_secret = "password" diff --git a/package/prosody/prosody.hash b/package/prosody/prosody.hash new file mode 100644 index 0000000000..38942ea7ff --- /dev/null +++ b/package/prosody/prosody.hash @@ -0,0 +1,5 @@ +# Hashes from: https://prosody.im/downloads/source/{MD5,SHA1,SHA256,SHA512}SUMS +md5 d743adea6cfbaacc3a24cc0c3928bb1b prosody-0.9.12.tar.gz +sha1 1ee224263a5b3d67960e12edbbe6b2f16b95d147 prosody-0.9.12.tar.gz +sha256 1a59a322b71928a21985522aa00d0eab3552208d7bf9ecb318542a1b2fee3e8d prosody-0.9.12.tar.gz +sha512 e87b5f3b3e327722cec9d8d0470684e2ec2788a1c5ae623c4f505a00572ef21f65afe84cd5b7de47d6a65fe8872506fe34e5e8886e20979ff84710669857ca76 prosody-0.9.12.tar.gz diff --git a/package/prosody/prosody.mk b/package/prosody/prosody.mk new file mode 100644 index 0000000000..d19653503d --- /dev/null +++ b/package/prosody/prosody.mk @@ -0,0 +1,72 @@ +################################################################################ +# +# prosody +# +################################################################################ + +PROSODY_VERSION = 0.9.12 +PROSODY_SITE = https://prosody.im/downloads/source +PROSODY_LICENSE = MIT +PROSODY_LICENSE_FILES = COPYING +PROSODY_DEPENDENCIES = openssl libidn + +ifeq ($(BR2_PACKAGE_LUA_5_1),y) +PROSODY_DEPENDENCIES += lua +endif + +ifeq ($(BR2_PACKAGE_LUAJIT),y) +PROSODY_DEPENDENCIES += luajit +endif + +PROSODY_CONF_OPTS = \ + --with-lua=$(STAGING_DIR)/usr \ + --c-compiler=$(TARGET_CC) \ + --cflags="$(TARGET_CFLAGS) -fPIC" \ + --linker=$(TARGET_CC) \ + --ldflags="$(TARGET_LDFLAGS) -shared" \ + --sysconfdir=/etc/prosody \ + --prefix=/usr + +define PROSODY_CONFIGURE_CMDS + cd $(@D) && \ + $(TARGET_CONFIGURE_OPTS) \ + ./configure $(PROSODY_CONF_OPTS) +endef + +define PROSODY_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define PROSODY_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) DESTDIR="$(TARGET_DIR)" -C $(@D) install +endef + +define PROSODY_INSTALL_INIT_SYSV + $(INSTALL) -D -m 0755 package/prosody/S50prosody \ + $(TARGET_DIR)/etc/init.d/S50prosody +endef + +define PROSODY_USERS + prosody -1 prosody -1 * - - - Prosody user +endef + +# make install installs a Makefile and meta data to generate certs +define PROSODY_REMOVE_CERT_GENERATOR + rm -f $(TARGET_DIR)/etc/prosody/certs/Makefile + rm -f $(TARGET_DIR)/etc/prosody/certs/*.cnf +endef + +PROSODY_POST_INSTALL_TARGET_HOOKS += PROSODY_REMOVE_CERT_GENERATOR + +# 1. Enable posix functionality +# 2. Log to syslog +# 3. Specify pid file write location +# 4. Enable virtual host example.com +define PROSODY_TWEAK_DEFAULT_CONF + $(INSTALL) -D package/prosody/prosody.cfg.lua \ + $(TARGET_DIR)/etc/prosody/prosody.cfg.lua +endef + +PROSODY_POST_INSTALL_TARGET_HOOKS += PROSODY_TWEAK_DEFAULT_CONF + +$(eval $(generic-package)) diff --git a/package/protobuf-c/Config.in b/package/protobuf-c/Config.in index 28555502f9..6f916c57fe 100644 --- a/package/protobuf-c/Config.in +++ b/package/protobuf-c/Config.in @@ -4,12 +4,14 @@ config BR2_PACKAGE_PROTOBUF_C depends on BR2_TOOLCHAIN_HAS_THREADS # host-protobuf only builds on certain architectures depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + depends on BR2_HOST_GCC_AT_LEAST_4_5 # host-protobuf help Code generator and runtime libraries to use Protocol Buffers from pure C (not C++). - http://code.google.com/p/protobuf-c/ + https://github.com/protobuf-c/protobuf-c -comment "protobuf-c needs a toolchain w/ C++, threads" - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS +comment "protobuf-c needs a toolchain w/ C++, threads, host gcc >= 4.5" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \ + || !BR2_HOST_GCC_AT_LEAST_4_5 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" diff --git a/package/protobuf-c/protobuf-c.hash b/package/protobuf-c/protobuf-c.hash index 7584058e95..e22a9f1c33 100644 --- a/package/protobuf-c/protobuf-c.hash +++ b/package/protobuf-c/protobuf-c.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 49340784ca0f8657f38547088731fff3bfe8084adb89bf5e8dbc19ac43339aa6 protobuf-c-v1.1.1.tar.gz +sha256 fd8f6f5d6927330cf2b8b4ec8332de8b1ee2b8f2480b52ee3f221aad6de2082c protobuf-c-v1.3.0.tar.gz diff --git a/package/protobuf-c/protobuf-c.mk b/package/protobuf-c/protobuf-c.mk index ee4500ee0d..4306610533 100644 --- a/package/protobuf-c/protobuf-c.mk +++ b/package/protobuf-c/protobuf-c.mk @@ -4,14 +4,14 @@ # ################################################################################ -PROTOBUF_C_VERSION = v1.1.1 +PROTOBUF_C_VERSION = v1.3.0 PROTOBUF_C_SITE = $(call github,protobuf-c,protobuf-c,$(PROTOBUF_C_VERSION)) PROTOBUF_C_DEPENDENCIES = host-protobuf-c HOST_PROTOBUF_C_DEPENDENCIES = host-protobuf host-pkgconf PROTOBUF_C_MAKE = $(MAKE1) PROTOBUF_C_CONF_OPTS = --disable-protoc PROTOBUF_C_INSTALL_STAGING = YES -PROTOBUF_C_LICENSE = BSD-2c +PROTOBUF_C_LICENSE = BSD-2-Clause PROTOBUF_C_LICENSE_FILES = LICENSE PROTOBUF_C_AUTORECONF = YES HOST_PROTOBUF_C_AUTORECONF = YES diff --git a/package/protobuf/0001-configure.ac-check-if-libatomic-is-needed.patch b/package/protobuf/0001-configure.ac-check-if-libatomic-is-needed.patch deleted file mode 100644 index fffdf49fac..0000000000 --- a/package/protobuf/0001-configure.ac-check-if-libatomic-is-needed.patch +++ /dev/null @@ -1,34 +0,0 @@ -From f020fe05a20dfcd16cd7df833dcf3cdeef770538 Mon Sep 17 00:00:00 2001 -From: Carlos Santos -Date: Thu, 11 Feb 2016 10:58:35 -0200 -Subject: [PATCH 2/2] configure.ac: check if libatomic is needed - -Compilation of protobuf for PowerPC and SPARC may fail due to missing -references to __atomic_fetch_add_4 and __atomic_compare_exchange_4. - -The __atomic_*() intrinsics for all sizes are provided by libatomic when -gcc is >= 4.8. This can be achieved by adding this to configure.ac: - - AC_SEARCH_LIBS([__atomic_fetch_add_4], [atomic]) - -Signed-off-by: Carlos Santos ---- - configure.ac | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/configure.ac b/configure.ac -index c07067c..88d4a0d 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -160,6 +160,8 @@ AM_CONDITIONAL([HAVE_PTHREAD], [test "x$acx_pthread_ok" = "xyes"]) - # We still keep this for improving pbconfig.h for unsupported platforms. - AC_CXX_STL_HASH - -+AC_SEARCH_LIBS([__atomic_load_4], [atomic]) -+ - case "$target_os" in - mingw* | cygwin* | win*) - ;; --- -2.5.0 - diff --git a/package/protobuf/Config.in b/package/protobuf/Config.in index bccf258f62..8287035756 100644 --- a/package/protobuf/Config.in +++ b/package/protobuf/Config.in @@ -11,11 +11,7 @@ # # Since protobuf most likely only uses the 1, 2 and 4-byte variants, it # *could* technically build with gcc 4.7. This is probably not a big deal, -# and we can live with requiring gcc 4.8 on PowerPC to build protobuf. -# -# The SPARC64 build fails due to a missing definition of Atomic64. This -# has been fixed on the master branch but the build still breaks due to -# undefined references to internal NoBarrier_Atomic*() functions. +# and we can live with requiring gcc 4.8 on PowerPC to build protobuf. # # host-protobuf only builds on certain architectures config BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS @@ -24,8 +20,8 @@ config BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS default y if BR2_i386 default y if BR2_mipsel default y if BR2_x86_64 + default y if BR2_sparc64 default y if BR2_TOOLCHAIN_HAS_ATOMIC - depends on !BR2_sparc64 # missing definition of Atomic64 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" depends on BR2_USE_MMU # fork() @@ -34,6 +30,8 @@ config BR2_PACKAGE_PROTOBUF depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS + depends on BR2_HOST_GCC_AT_LEAST_4_5 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 depends on !BR2_STATIC_LIBS help Protocol buffers are Google's language-neutral, platform-neutral, @@ -41,7 +39,8 @@ config BR2_PACKAGE_PROTOBUF https://developers.google.com/protocol-buffers -comment "protobuf needs a toolchain w/ C++, threads, dynamic library" +comment "protobuf needs a toolchain w/ C++, threads, dynamic library, host and target gcc >= 4.5" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \ - || BR2_STATIC_LIBS + || BR2_STATIC_LIBS || !BR2_HOST_GCC_AT_LEAST_4_5 \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS diff --git a/package/protobuf/protobuf.hash b/package/protobuf/protobuf.hash index b681650a13..fa02440a40 100644 --- a/package/protobuf/protobuf.hash +++ b/package/protobuf/protobuf.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 f5b3563f118f1d3d6e001705fa7082e8fc3bda50038ac3dff787650795734146 protobuf-v3.0.0.tar.gz +sha256 2bb34b4a8211a30d12ef29fd8660995023d119c99fbab2e5fe46f17528c9cc78 protobuf-cpp-3.4.1.tar.gz diff --git a/package/protobuf/protobuf.mk b/package/protobuf/protobuf.mk index dabbfb7a4a..d2782ddcfd 100644 --- a/package/protobuf/protobuf.mk +++ b/package/protobuf/protobuf.mk @@ -7,16 +7,19 @@ # When bumping this package, make sure to also verify if the # python-protobuf package still works, as they share the same # version/site variables. -PROTOBUF_VERSION = v3.0.0 -PROTOBUF_SITE = $(call github,google,protobuf,$(PROTOBUF_VERSION)) -PROTOBUF_LICENSE = BSD-3c +PROTOBUF_VERSION = 3.4.1 +PROTOBUF_SOURCE = protobuf-cpp-$(PROTOBUF_VERSION).tar.gz +PROTOBUF_SITE = https://github.com/google/protobuf/releases/download/v$(PROTOBUF_VERSION) +PROTOBUF_LICENSE = BSD-3-Clause PROTOBUF_LICENSE_FILES = LICENSE -# no configure script -PROTOBUF_AUTORECONF = YES # N.B. Need to use host protoc during cross compilation. PROTOBUF_DEPENDENCIES = host-protobuf -PROTOBUF_CONF_OPTS = --with-protoc=$(HOST_DIR)/usr/bin/protoc +PROTOBUF_CONF_OPTS = --with-protoc=$(HOST_DIR)/bin/protoc + +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +PROTOBUF_CONF_ENV += LIBS=-latomic +endif PROTOBUF_INSTALL_STAGING = YES diff --git a/package/proxychains-ng/proxychains-ng.hash b/package/proxychains-ng/proxychains-ng.hash index e2e8c01af0..7ca4d5e27a 100644 --- a/package/proxychains-ng/proxychains-ng.hash +++ b/package/proxychains-ng/proxychains-ng.hash @@ -1,2 +1,5 @@ +# From https://sourceforge.net/projects/proxychains-ng/files/ +md5 34d840eb184e96bff418201c28a935c5 proxychains-ng-4.11.tar.bz2 +sha1 00bc3dc18f2b638c79112c99f082a7a2878beaad proxychains-ng-4.11.tar.bz2 # Locally computed: -sha256 859a717e18ed88c9291078a6ed8748dfe95c61220993203890fef8a04d28dda5 proxychains-4.6.tar.bz2 +sha256 dcc4149808cd1fb5d9663cc09791f478805816b1f017381f424414c47f6376b6 proxychains-ng-4.11.tar.bz2 diff --git a/package/proxychains-ng/proxychains-ng.mk b/package/proxychains-ng/proxychains-ng.mk index 54e7dcd631..a9f3fc9561 100644 --- a/package/proxychains-ng/proxychains-ng.mk +++ b/package/proxychains-ng/proxychains-ng.mk @@ -4,10 +4,10 @@ # ################################################################################ -PROXYCHAINS_NG_VERSION = 4.6 -PROXYCHAINS_NG_SOURCE = proxychains-$(PROXYCHAINS_NG_VERSION).tar.bz2 +PROXYCHAINS_NG_VERSION = 4.11 +PROXYCHAINS_NG_SOURCE = proxychains-ng-$(PROXYCHAINS_NG_VERSION).tar.bz2 PROXYCHAINS_NG_SITE = http://downloads.sourceforge.net/project/proxychains-ng -PROXYCHAINS_NG_LICENSE = GPLv2+ +PROXYCHAINS_NG_LICENSE = GPL-2.0+ PROXYCHAINS_NG_LICENSE_FILES = COPYING define PROXYCHAINS_NG_CONFIGURE_CMDS diff --git a/package/pru-software-support/pru-software-support.hash b/package/pru-software-support/pru-software-support.hash index 8f624da764..f4ce8e466e 100644 --- a/package/pru-software-support/pru-software-support.hash +++ b/package/pru-software-support/pru-software-support.hash @@ -1,2 +1,2 @@ # Locally-calculated hash -sha256 b257535ca9b1641d1a238795f3c7004064c573a91cf4a1fa566e3f7c2360c38f pru-software-support-804b548e69ef9fdf44445f6d0968d81cb8a1e7b4.tar.gz +sha256 1e880d74f9a1d04324e6255cb7a0e3d40f92e08809dc81dc6c714447bac5c335 pru-software-support-v5.1.0.tar.gz diff --git a/package/pru-software-support/pru-software-support.mk b/package/pru-software-support/pru-software-support.mk index 06983c275d..f30ff6b5e3 100644 --- a/package/pru-software-support/pru-software-support.mk +++ b/package/pru-software-support/pru-software-support.mk @@ -4,10 +4,10 @@ # ################################################################################ -PRU_SOFTWARE_SUPPORT_VERSION = 804b548e69ef9fdf44445f6d0968d81cb8a1e7b4 -PRU_SOFTWARE_SUPPORT_SITE = git://git.ti.com/pru-software-support-package/pru-software-support-package.git -PRU_SOFTWARE_SUPPORT_LICENSE = BSD-3c, GPLv2, Public Domain -PRU_SOFTWARE_SUPPORT_LICENSE_FILES = PRU-Package-v4.0-Manifest.html +PRU_SOFTWARE_SUPPORT_VERSION = v5.1.0 +PRU_SOFTWARE_SUPPORT_SITE = https://git.ti.com/pru-software-support-package/pru-software-support-package/archive-tarball/$(PRU_SOFTWARE_SUPPORT_VERSION)? +PRU_SOFTWARE_SUPPORT_LICENSE = BSD-3-Clause, GPL-2.0, Public Domain +PRU_SOFTWARE_SUPPORT_LICENSE_FILES = PRU-Package-v5.0-Manifest.html PRU_SOFTWARE_SUPPORT_DEPENDENCIES = host-ti-cgt-pru host-pru-software-support HOST_PRU_SOFTWARE_SUPPORT_DEPENDENCIES = host-ti-cgt-pru diff --git a/package/pseudo/pseudo.mk b/package/pseudo/pseudo.mk index 8144cca825..446427109f 100644 --- a/package/pseudo/pseudo.mk +++ b/package/pseudo/pseudo.mk @@ -9,7 +9,7 @@ PSEUDO_SITE = https://git.yoctoproject.org/git/pseudo PSEUDO_SITE_METHOD = git # No "or later" clause. -PSEUDO_LICENSE = LGPLv2.1 +PSEUDO_LICENSE = LGPL-2.1 PSEUDO_LICENSE_FILES = COPYING HOST_PSEUDO_DEPENDENCIES = host-attr host-sqlite @@ -21,9 +21,9 @@ HOST_PSEUDO_DEPENDENCIES = host-attr host-sqlite # a warning at configure time. HOST_PSEUDO_CONF_OPTS = \ --cflags="$(HOSTCFLAGS)" \ - --with-rpath=$(HOST_DIR)/usr/lib \ + --with-rpath=$(HOST_DIR)/lib \ --bits=$(if $(filter %64,$(HOSTARCH)),64,32) \ - --libdir=$(HOST_DIR)/usr/lib \ - --with-sqlite=$(HOST_DIR)/usr + --libdir=$(HOST_DIR)/lib \ + --with-sqlite=$(HOST_DIR) $(eval $(host-autotools-package)) diff --git a/package/psmisc/0001-link-against-libintl.patch b/package/psmisc/0001-link-against-libintl.patch index 907e7e75bd..bf6b97175f 100644 --- a/package/psmisc/0001-link-against-libintl.patch +++ b/package/psmisc/0001-link-against-libintl.patch @@ -1,4 +1,7 @@ -Link against libintl if needed +From f2b6f342325824399da3525df182031475b5c4dd Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Thu, 22 Jun 2017 13:56:03 +0300 +Subject: [PATCH] Link against libintl if needed When built against a C library that has locale support, but for which intl support is provided by an external libintl library, psmisc @@ -8,26 +11,27 @@ properly checks that. This patch therefore ensure that we link against libintl when needed, thanks to the @INTLLIBS@ variable provided by the configure script. -We do not modify the Makefile.am file, because autoreconfiguring this -package doesn't work: because of its usage of gettext, it wants to run -the "autopoint" program, which itself depends on CVS being installed, -for some strange reasons. That's the reason why we fall back to the -hacky solution of modifying the Makefile.in file. - Forward-ported Thomas's patch to psmisc 22.16 from commit f066ed70cd6939838d4057f66798cbc1d972cc73 - Signed-off-by: Gustavo Zacarias +[baruch: move from Makefile.in to Makefile.am for 23.1] +Signed-off-by: Baruch Siach +--- + Makefile.am | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Makefile.am b/Makefile.am +index 9f61ab4f2f70..8ce284e65124 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -65,6 +65,7 @@ src_fuser_LDADD = @LIBINTL@ + src_killall_SOURCES = src/killall.c src/comm.h src/signals.c src/signals.h src/i18n.h + src_killall_LDADD = @LIBINTL@ @SELINUX_LIB@ + src_peekfd_SOURCES = src/peekfd.c ++src_peekfd_LDADD = @LIBINTL@ + src_pslog_SOURCES = src/pslog.c + src_pstree_SOURCES = src/pstree.c src/comm.h src/i18n.h + src_pstree_LDADD = @LIBINTL@ @TERMCAP_LIB@ @SELINUX_LIB@ +-- +2.11.0 -diff -Nura psmisc-22.16.orig/src/Makefile.in psmisc-22.16/src/Makefile.in ---- psmisc-22.16.orig/src/Makefile.in 2012-03-28 22:27:33.106660358 -0300 -+++ psmisc-22.16/src/Makefile.in 2012-03-28 22:28:55.752219349 -0300 -@@ -76,7 +76,7 @@ - killall_DEPENDENCIES = - am_peekfd_OBJECTS = peekfd.$(OBJEXT) - peekfd_OBJECTS = $(am_peekfd_OBJECTS) --peekfd_LDADD = $(LDADD) -+peekfd_LDADD = $(LDADD) @LIBINTL@ - am_prtstat_OBJECTS = prtstat.$(OBJEXT) - prtstat_OBJECTS = $(am_prtstat_OBJECTS) - prtstat_DEPENDENCIES = diff --git a/package/psmisc/0002-add-git-version-get.patch b/package/psmisc/0002-add-git-version-get.patch new file mode 100644 index 0000000000..e75fb1d3ce --- /dev/null +++ b/package/psmisc/0002-add-git-version-get.patch @@ -0,0 +1,198 @@ +Makefile: ship also git-version-gen + +Without git-version-gen, the tarball autogen.sh fails. + +This patch is equivalent to upstream pending merge request: + + https://gitlab.com/psmisc/psmisc/merge_requests/13 + +Signed-off-by: Baruch Siach +--- + +diff --git psmisc-23.1/misc/git-version-gen psmisc-23.1/misc/git-version-gen +new file mode 100755 +index 000000000000..171767f0d7a3 +--- /dev/null ++++ psmisc-23.1/misc/git-version-gen +@@ -0,0 +1,181 @@ ++#!/bin/sh ++# Print a version string. ++scriptversion=2011-02-19.19; # UTC ++ ++# Copyright (C) 2007-2011 Free Software Foundation, Inc. ++# ++# 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 3 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, see . ++ ++# This script is derived from GIT-VERSION-GEN from GIT: http://git.or.cz/. ++# It may be run two ways: ++# - from a git repository in which the "git describe" command below ++# produces useful output (thus requiring at least one signed tag) ++# - from a non-git-repo directory containing a .tarball-version file, which ++# presumes this script is invoked like "./git-version-gen .tarball-version". ++ ++# In order to use intra-version strings in your project, you will need two ++# separate generated version string files: ++# ++# .tarball-version - present only in a distribution tarball, and not in ++# a checked-out repository. Created with contents that were learned at ++# the last time autoconf was run, and used by git-version-gen. Must not ++# be present in either $(srcdir) or $(builddir) for git-version-gen to ++# give accurate answers during normal development with a checked out tree, ++# but must be present in a tarball when there is no version control system. ++# Therefore, it cannot be used in any dependencies. GNUmakefile has ++# hooks to force a reconfigure at distribution time to get the value ++# correct, without penalizing normal development with extra reconfigures. ++# ++# .version - present in a checked-out repository and in a distribution ++# tarball. Usable in dependencies, particularly for files that don't ++# want to depend on config.h but do want to track version changes. ++# Delete this file prior to any autoconf run where you want to rebuild ++# files to pick up a version string change; and leave it stale to ++# minimize rebuild time after unrelated changes to configure sources. ++# ++# It is probably wise to add these two files to .gitignore, so that you ++# don't accidentally commit either generated file. ++# ++# Use the following line in your configure.ac, so that $(VERSION) will ++# automatically be up-to-date each time configure is run (and note that ++# since configure.ac no longer includes a version string, Makefile rules ++# should not depend on configure.ac for version updates). ++# ++# AC_INIT([GNU project], ++# m4_esyscmd([build-aux/git-version-gen .tarball-version]), ++# [bug-project@example]) ++# ++# Then use the following lines in your Makefile.am, so that .version ++# will be present for dependencies, and so that .tarball-version will ++# exist in distribution tarballs. ++# ++# BUILT_SOURCES = $(top_srcdir)/.version ++# $(top_srcdir)/.version: ++# echo $(VERSION) > $@-t && mv $@-t $@ ++# dist-hook: ++# echo $(VERSION) > $(distdir)/.tarball-version ++ ++case $# in ++ 1|2) ;; ++ *) echo 1>&2 "Usage: $0 \$srcdir/.tarball-version" \ ++ '[TAG-NORMALIZATION-SED-SCRIPT]' ++ exit 1;; ++esac ++ ++tarball_version_file=$1 ++tag_sed_script="${2:-s/x/x/}" ++nl=' ++' ++ ++# Avoid meddling by environment variable of the same name. ++v= ++v_from_git= ++ ++# First see if there is a tarball-only version file. ++# then try "git describe", then default. ++if test -f $tarball_version_file ++then ++ v=`cat $tarball_version_file` || v= ++ case $v in ++ *$nl*) v= ;; # reject multi-line output ++ [0-9]*) ;; ++ *) v= ;; ++ esac ++ test -z "$v" \ ++ && echo "$0: WARNING: $tarball_version_file is missing or damaged" 1>&2 ++fi ++ ++if test -n "$v" ++then ++ : # use $v ++# Otherwise, if there is at least one git commit involving the working ++# directory, and "git describe" output looks sensible, use that to ++# derive a version string. ++elif test "`git log -1 --pretty=format:x . 2>&1`" = x \ ++ && v=`git describe --abbrev=4 --match='v*' HEAD 2>/dev/null \ ++ || git describe --abbrev=4 HEAD 2>/dev/null` \ ++ && v=`printf '%s\n' "$v" | sed "$tag_sed_script"` \ ++ && case $v in ++ v[0-9]*) ;; ++ *) (exit 1) ;; ++ esac ++then ++ # Is this a new git that lists number of commits since the last ++ # tag or the previous older version that did not? ++ # Newer: v6.10-77-g0f8faeb ++ # Older: v6.10-g0f8faeb ++ case $v in ++ *-rc[0-9]) ;; # release candidate ++ *-*-*) : git describe is okay three part flavor ;; ++ *-*) ++ : git describe is older two part flavor ++ # Recreate the number of commits and rewrite such that the ++ # result is the same as if we were using the newer version ++ # of git describe. ++ vtag=`echo "$v" | sed 's/-.*//'` ++ commit_list=`git rev-list "$vtag"..HEAD 2>/dev/null` \ ++ || { commit_list=failed; ++ echo "$0: WARNING: git rev-list failed" 1>&2; } ++ numcommits=`echo "$commit_list" | wc -l` ++ v=`echo "$v" | sed "s/\(.*\)-\(.*\)/\1-$numcommits-\2/"`; ++ test "$commit_list" = failed && v=UNKNOWN ++ ;; ++ esac ++ ++ case $v in ++ *-rc[0-9]) ++ # Remove the "g" in git describe's output string, to save a byte. ++ v=`echo "$v" | sed 's/\(.*\)-g/\1-/'`; ++ ;; ++ *) ++ # Change the first '-' to a '.', so version-comparing tools work properly. ++ # Remove the "g" in git describe's output string, to save a byte. ++ v=`echo "$v" | sed 's/-/./;s/\(.*\)-g/\1-/'`; ++ ;; ++ esac ++ v_from_git=1 ++else ++ v=UNKNOWN ++fi ++ ++v=`echo "$v" |sed 's/^v//'` ++ ++# Test whether to append the "-dirty" suffix only if the version ++# string we're using came from git. I.e., skip the test if it's "UNKNOWN" ++# or if it came from .tarball-version. ++if test -n "$v_from_git"; then ++ # Don't declare a version "dirty" merely because a time stamp has changed. ++ git update-index --refresh > /dev/null 2>&1 ++ ++ dirty=`exec 2>/dev/null;git diff-index --name-only HEAD` || dirty= ++ case "$dirty" in ++ '') ;; ++ *) # Append the suffix only if there isn't one already. ++ case $v in ++ *-dirty) ;; ++ *) v="$v-dirty" ;; ++ esac ;; ++ esac ++fi ++ ++# Omit the trailing newline, so that m4_esyscmd can use the result directly. ++echo "$v" | tr -d "$nl" ++ ++# Local variables: ++# eval: (add-hook 'write-file-hooks 'time-stamp) ++# time-stamp-start: "scriptversion=" ++# time-stamp-format: "%:y-%02m-%02d.%02H" ++# time-stamp-time-zone: "UTC" ++# time-stamp-end: "; # UTC" ++# End: diff --git a/package/psmisc/0002-no-__progname.patch b/package/psmisc/0002-no-__progname.patch deleted file mode 100644 index 51096571cb..0000000000 --- a/package/psmisc/0002-no-__progname.patch +++ /dev/null @@ -1,47 +0,0 @@ -[PATCH]: pstree: don't use glibc-specific __progname - -uclibc (per default) doesn't implement __progname, and the pstree.x11 -stuff isn't that critical, so just disable it. - -Signed-off-by: Peter Korsgaard -Signed-off-by: Gustavo Zacarias -Signed-off-by: Thomas Petazzoni - -Index: psmisc-22.13/src/pstree.c -=================================================================== ---- psmisc-22.13.orig/src/pstree.c 2010-07-12 13:10:03.000000000 +0200 -+++ psmisc-22.13/src/pstree.c 2011-05-21 16:33:37.456530775 +0200 -@@ -49,8 +49,6 @@ - #include - #endif /*WITH_SELINUX */ - --extern const char *__progname; -- - #define PROC_BASE "/proc" - - /* UTF-8 defines by Johan Myreen, updated by Ben Winslow */ -@@ -854,9 +852,6 @@ - textdomain(PACKAGE); - #endif - -- if (!strcmp(__progname, "pstree.x11")) -- wait_end = 1; -- - /* - * Attempt to figure out a good default symbol set. Will be overriden by - * command-line options, if given. -Index: psmisc-22.13/src/Makefile.in -=================================================================== ---- psmisc-22.13.orig/src/Makefile.in 2011-05-21 16:33:42.748530777 +0200 -+++ psmisc-22.13/src/Makefile.in 2011-05-21 16:33:47.360530782 +0200 -@@ -557,10 +557,6 @@ - grep '^{ 1,"HUP" },$$' signames.h >/dev/null || \ - { rm -f signames.h; exit 1; } - --install-exec-hook: -- cd $(DESTDIR)$(bindir) && \ -- ( [ -h pstree.x11 ] || $(LN_S) pstree pstree.x11) -- - # Tell versions [3.59,3.63) of GNU make to not export all variables. - # Otherwise a system limit (for SysV at least) may be exceeded. - .NOEXPORT: diff --git a/package/psmisc/Config.in b/package/psmisc/Config.in index 734542cc8a..0d1d061a06 100644 --- a/package/psmisc/Config.in +++ b/package/psmisc/Config.in @@ -2,8 +2,7 @@ config BR2_PACKAGE_PSMISC bool "psmisc" depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS select BR2_PACKAGE_NCURSES - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE help Helpful /proc related utilities such as pstree, fuser, and killall - http://psmisc.sourceforge.net/ + https://gitlab.com/psmisc/psmisc diff --git a/package/psmisc/psmisc.hash b/package/psmisc/psmisc.hash index 5e489ed34c..8ce8e00d35 100644 --- a/package/psmisc/psmisc.hash +++ b/package/psmisc/psmisc.hash @@ -1,3 +1,5 @@ +# From https://sourceforge.net/projects/psmisc/files/psmisc/ +md5 bbba1f701c02fb50d59540d1ff90d8d1 psmisc-23.1.tar.xz +sha1 d19031a5ba18a530aa0bb768cb74593f9af74b08 psmisc-23.1.tar.xz # Locally computed: -sha256 97323cad619210845b696d7d722c383852b2acb5c49b5b0852c4f29c77a8145a psmisc-22.21.tar.gz -sha256 4f1cb11c7182ad96e682ec50a2d9a6a22079a2b11dffde3bb3cb67823b679422 e7203c36a2a4dc10cd8268a5dc036fc9c2a73b6c.diff +sha256 2e84d474cf75dfbe3ecdacfb797bbfab71a35c7c2639d1b9f6d5f18b2149ba30 psmisc-23.1.tar.xz diff --git a/package/psmisc/psmisc.mk b/package/psmisc/psmisc.mk index 2f83b7d8c9..3d9a80462d 100644 --- a/package/psmisc/psmisc.mk +++ b/package/psmisc/psmisc.mk @@ -4,13 +4,19 @@ # ################################################################################ -PSMISC_VERSION = 22.21 +PSMISC_VERSION = 23.1 PSMISC_SITE = http://downloads.sourceforge.net/project/psmisc/psmisc -PSMISC_PATCH = \ - https://gitlab.com/psmisc/psmisc/commit/e7203c36a2a4dc10cd8268a5dc036fc9c2a73b6c.diff -PSMISC_LICENSE = GPLv2 +PSMISC_SOURCE = psmisc-$(PSMISC_VERSION).tar.xz +PSMISC_LICENSE = GPL-2.0 PSMISC_LICENSE_FILES = COPYING -PSMISC_DEPENDENCIES = ncurses $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) +PSMISC_DEPENDENCIES = ncurses $(TARGET_NLS_DEPENDENCIES) +# Patching Makefile.am +PSMISC_AUTORECONF = YES + +define PSMISC_GIT_VERSION_EXEC + chmod +x $(@D)/misc/git-version-gen +endef +PSMISC_POST_PATCH_HOOKS += PSMISC_GIT_VERSION_EXEC ifeq ($(BR2_TOOLCHAIN_HAS_SSP),) # Don't force -fstack-protector when SSP is not available in toolchain diff --git a/package/psplash/psplash.hash b/package/psplash/psplash.hash new file mode 100644 index 0000000000..68c6ffa8a9 --- /dev/null +++ b/package/psplash/psplash.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 aaddb20ef892dfb03d4e046cc634159bbcdfe555f7291652dde2b7d4cf491289 psplash-5b3c1cc28f5abdc2c33830150b48b278cc4f7bca.tar.gz diff --git a/package/psplash/psplash.mk b/package/psplash/psplash.mk index 4e365c53e4..fe009785b9 100644 --- a/package/psplash/psplash.mk +++ b/package/psplash/psplash.mk @@ -4,9 +4,9 @@ # ################################################################################ -PSPLASH_VERSION = 14c8f7b705de944beb4de3f296506d80871e410f +PSPLASH_VERSION = 5b3c1cc28f5abdc2c33830150b48b278cc4f7bca PSPLASH_SITE = git://git.yoctoproject.org/psplash -PSPLASH_LICENSE = GPLv2+ +PSPLASH_LICENSE = GPL-2.0+ PSPLASH_AUTORECONF = YES define PSPLASH_INSTALL_INIT_SYSTEMD diff --git a/package/ptpd2/Config.in b/package/ptpd2/Config.in index e88a9bb1ac..406276af35 100644 --- a/package/ptpd2/Config.in +++ b/package/ptpd2/Config.in @@ -6,4 +6,3 @@ config BR2_PACKAGE_PTPD2 (PTP) as defined by the IEEE-1588-2008. https://github.com/ptpd/ptpd - diff --git a/package/ptpd2/ptpd2.mk b/package/ptpd2/ptpd2.mk index d53b13534c..d95d415bba 100644 --- a/package/ptpd2/ptpd2.mk +++ b/package/ptpd2/ptpd2.mk @@ -10,7 +10,7 @@ PTPD2_DEPENDENCIES = libpcap PTPD2_CONF_OPTS = --with-pcap-config=$(STAGING_DIR)/usr/bin/pcap-config # configure not shipped PTPD2_AUTORECONF = YES -PTPD2_LICENSE = BSD-2c +PTPD2_LICENSE = BSD-2-Clause PTPD2_LICENSE_FILES = COPYRIGHT ifeq ($(BR2_STATIC_LIBS),y) diff --git a/package/pulseaudio/0002-webrtc-C-11-is-only-required-for-WebRTC-support.patch b/package/pulseaudio/0002-webrtc-C-11-is-only-required-for-WebRTC-support.patch deleted file mode 100644 index b2c065196b..0000000000 --- a/package/pulseaudio/0002-webrtc-C-11-is-only-required-for-WebRTC-support.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 7af6cbe74d48a9853b60b029d4ce38a963386138 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sun, 3 Jul 2016 20:19:48 +0200 -Subject: [PATCH] webrtc: C++11 is only required for WebRTC support - -Make C++11 support optional and explicitely check for gnu++11. - -Stop the build only if no C++11 support has been found and WebRTC -support has been resquested. - -Signed-off-by: Romain Naour ---- - configure.ac | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 4edc8e0..fea93a9 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -84,7 +84,7 @@ AM_PROG_CC_C_O - # Only required if you want the WebRTC canceller -- no runtime dep on - # libstdc++ otherwise - AC_PROG_CXX --AX_CXX_COMPILE_STDCXX_11 -+AX_CXX_COMPILE_STDCXX_11([ext],[optional]) - AC_PROG_GCC_TRADITIONAL - AC_USE_SYSTEM_EXTENSIONS - -@@ -1414,6 +1414,9 @@ fi - AC_ARG_ENABLE([webrtc-aec], - AS_HELP_STRING([--enable-webrtc-aec], [Enable the optional WebRTC-based echo canceller])) - -+AS_IF([test "x$enable_webrtc_aec" = "xyes" && test "$HAVE_CXX11" = "0"], -+ [AC_MSG_ERROR([*** webrtc-audio-processing needs C++11 support])]) -+ - AS_IF([test "x$enable_webrtc_aec" != "xno"], - [PKG_CHECK_MODULES(WEBRTC, [ webrtc-audio-processing >= 0.2 ], [HAVE_WEBRTC=1], [HAVE_WEBRTC=0])], - [HAVE_WEBRTC=0]) --- -2.5.5 - diff --git a/package/pulseaudio/Config.in b/package/pulseaudio/Config.in index 20aa374fce..6600006a60 100644 --- a/package/pulseaudio/Config.in +++ b/package/pulseaudio/Config.in @@ -1,14 +1,23 @@ +config BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC + bool + default y if BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS || \ + BR2_TOOLCHAIN_HAS_SYNC_4 + +config BR2_PACKAGE_PULSEAUDIO_ENABLE_ATOMIC + bool + select BR2_PACKAGE_LIBATOMIC_OPS if !BR2_TOOLCHAIN_HAS_SYNC_4 + config BR2_PACKAGE_PULSEAUDIO bool "pulseaudio" + depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS - depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c - select BR2_PACKAGE_LIBTOOL - select BR2_PACKAGE_JSON_C - select BR2_PACKAGE_LIBSNDFILE - select BR2_PACKAGE_SPEEX depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_LIBTOOL + select BR2_PACKAGE_LIBSNDFILE + select BR2_PACKAGE_PULSEAUDIO_ENABLE_ATOMIC + select BR2_PACKAGE_SPEEX help PulseAudio is a sound system for POSIX OSes, meaning that it is a proxy for your sound applications. It allows you to do @@ -33,5 +42,5 @@ endif comment "pulseaudio needs a toolchain w/ wchar, threads, dynamic library" depends on BR2_USE_MMU - depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/pulseaudio/pulseaudio.hash b/package/pulseaudio/pulseaudio.hash index 0ef825d83a..7e59afdf9a 100644 --- a/package/pulseaudio/pulseaudio.hash +++ b/package/pulseaudio/pulseaudio.hash @@ -1,3 +1,5 @@ -# From http://freedesktop.org/software/pulseaudio/releases/pulseaudio-9.0.tar.xz.{md5,sha1} -md5 da7162541b3a9bc20576dbd0d7d1489a pulseaudio-9.0.tar.xz -sha1 d9a9d7cb667ed95ee1de4b6544d5c7444c5a0064 pulseaudio-9.0.tar.xz +# From https://lists.freedesktop.org/archives/pulseaudio-discuss/2017-September/028733.html +md5 390de38231d5cdd6b43ada8939eb74f1 pulseaudio-11.1.tar.xz +sha1 53bde72b6bfe715c19b1519db8845f7a58346b67 pulseaudio-11.1.tar.xz +# Locally computed +sha256 f2521c525a77166189e3cb9169f75c2ee2b82fa3fcf9476024fbc2c3a6c9cd9e pulseaudio-11.1.tar.xz diff --git a/package/pulseaudio/pulseaudio.mk b/package/pulseaudio/pulseaudio.mk index 0ab23707c9..b021fc93a4 100644 --- a/package/pulseaudio/pulseaudio.mk +++ b/package/pulseaudio/pulseaudio.mk @@ -4,28 +4,19 @@ # ################################################################################ -PULSEAUDIO_VERSION = 9.0 +PULSEAUDIO_VERSION = 11.1 PULSEAUDIO_SOURCE = pulseaudio-$(PULSEAUDIO_VERSION).tar.xz PULSEAUDIO_SITE = http://freedesktop.org/software/pulseaudio/releases PULSEAUDIO_INSTALL_STAGING = YES -PULSEAUDIO_LICENSE = LGPLv2.1+ (specific license for modules, see LICENSE file) +PULSEAUDIO_LICENSE = LGPL-2.1+ (specific license for modules, see LICENSE file) PULSEAUDIO_LICENSE_FILES = LICENSE GPL LGPL PULSEAUDIO_CONF_OPTS = \ --disable-default-build-tests \ --disable-legacy-database-entry-format \ --disable-manpages -# Make sure we don't detect libatomic_ops. Indeed, since pulseaudio -# requires json-c, which needs 4 bytes __sync builtins, there should -# be no need for pulseaudio to rely on libatomic_ops. -PULSEAUDIO_CONF_ENV += \ - ac_cv_header_atomic_ops_h=no - -# 0002-webrtc-C-11-is-only-required-for-WebRTC-support.patch -PULSEAUDIO_AUTORECONF = YES - PULSEAUDIO_DEPENDENCIES = \ - host-pkgconf libtool json-c libsndfile speex host-intltool \ + host-pkgconf libtool libsndfile speex host-intltool \ $(if $(BR2_PACKAGE_LIBSAMPLERATE),libsamplerate) \ $(if $(BR2_PACKAGE_ALSA_LIB),alsa-lib) \ $(if $(BR2_PACKAGE_LIBGLIB2),libglib2) \ @@ -49,9 +40,16 @@ else PULSEAUDIO_CONF_OPTS += --disable-jack endif +ifeq ($(BR2_PACKAGE_LIBATOMIC_OPS),y) +PULSEAUDIO_DEPENDENCIES += libatomic_ops +ifeq ($(BR2_sparc_v8)$(BR2_sparc_leon3),y) +PULSEAUDIO_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -DAO_NO_SPARC_V9" +endif +endif + ifeq ($(BR2_PACKAGE_ORC),y) PULSEAUDIO_DEPENDENCIES += orc -PULSEAUDIO_CONF_ENV += ORCC=$(HOST_DIR)/usr/bin/orcc +PULSEAUDIO_CONF_ENV += ORCC=$(HOST_DIR)/bin/orcc PULSEAUDIO_CONF_OPTS += --enable-orc else PULSEAUDIO_CONF_OPTS += --disable-orc @@ -130,12 +128,10 @@ PULSEAUDIO_DEPENDENCIES += libxcb xlib_libSM xlib_libXtst # .desktop file generation needs nls support, so fake it for !locale builds # https://bugs.freedesktop.org/show_bug.cgi?id=54658 -ifneq ($(BR2_ENABLE_LOCALE),y) +ifeq ($(BR2_SYSTEM_ENABLE_NLS),) define PULSEAUDIO_FIXUP_DESKTOP_FILES cp $(@D)/src/daemon/pulseaudio.desktop.in \ $(@D)/src/daemon/pulseaudio.desktop - cp $(@D)/src/daemon/pulseaudio-kde.desktop.in \ - $(@D)/src/daemon/pulseaudio-kde.desktop endef PULSEAUDIO_POST_PATCH_HOOKS += PULSEAUDIO_FIXUP_DESKTOP_FILES endif diff --git a/package/pulseview/0001-musl.patch b/package/pulseview/0001-musl.patch deleted file mode 100644 index 1acee73719..0000000000 --- a/package/pulseview/0001-musl.patch +++ /dev/null @@ -1,54 +0,0 @@ -From dcfe0a01f72021aab961245d0ebcc9f8d4504b40 Mon Sep 17 00:00:00 2001 -From: Soeren Apel -Date: Sun, 31 Jan 2016 14:12:44 +0100 -Subject: [PATCH] View: Honor ENABLE_DECODE compiler switch - -Signed-off-by: Soeren Apel -Signed-off-by: Bernd Kuhls ---- -Patch downloaded from upstream git: -http://sigrok.org/gitweb/?p=pulseview.git;a=commitdiff;h=dcfe0a01f72021aab961245d0ebcc9f8d4504b40 -as suggested by upstream: -http://article.gmane.org/gmane.comp.debugging.sigrok.devel/1954 - - pv/view/view.cpp | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/pv/view/view.cpp b/pv/view/view.cpp -index c9b08bf..6ad7dea 100644 ---- a/pv/view/view.cpp -+++ b/pv/view/view.cpp -@@ -43,7 +43,6 @@ - #include - - #include "analogsignal.hpp" --#include "decodetrace.hpp" - #include "header.hpp" - #include "logicsignal.hpp" - #include "ruler.hpp" -@@ -59,6 +58,10 @@ - #include "pv/data/logicsegment.hpp" - #include "pv/util.hpp" - -+#ifdef ENABLE_DECODE -+#include "decodetrace.hpp" -+#endif -+ - using boost::shared_lock; - using boost::shared_mutex; - -@@ -455,9 +458,11 @@ void View::enable_coloured_bg(bool state) - if (l) - l->set_coloured_bg(state); - -+#ifdef ENABLE_DECODE - shared_ptr d = dynamic_pointer_cast(i); - if (d) - d->set_coloured_bg(state); -+#endif - } - - viewport_->update(); --- -2.6.2 - diff --git a/package/pulseview/0002-cmake-add-check-for-explicit-linking-against-libatom.patch b/package/pulseview/0002-cmake-add-check-for-explicit-linking-against-libatom.patch deleted file mode 100644 index 70549e6d72..0000000000 --- a/package/pulseview/0002-cmake-add-check-for-explicit-linking-against-libatom.patch +++ /dev/null @@ -1,117 +0,0 @@ -From 71830c804be76cf6abe913ac2fe584947b7a91ea Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Tue, 24 May 2016 23:08:40 +0200 -Subject: [PATCH] cmake: add check for explicit linking against libatomic - -To use atomics functions, some toolchains requires to explicitly add --latomic to the linker flags (because they are not provided by libc, -but libatomic). - -This change adds a helper function trying to build/link a test program -using atomics, then calls it to: -* first check if atomics are directly available in the libc; -* if not and libatomic has been found, then run the same test with - "-latomic" added to the linker flags. -The pulseview link library list is updated according to the results of -these tests. - -This issue was triggered by the Buildroot farms: - http://autobuild.buildroot.org/results/1e3/1e3101261252d5f30fdf842cc99604e4f4c25eef/build-end.log - -Notes: -1- CMAKE_REQUIRED_* variables are only used in check functions. They - are not automatically forwarded to/handled by the target commands - (such as target_link_library), because the check functions are - implemented as macro in CMake code, whereas many target commands - are native. -2- Because of note #1, CMAKE_REQUIRED_LIBRARIES (or its value) must be - explicitly passed to the target_link_library command when this is - needed. -3- In this implementation, LIBATOMIC_LIBRARY is only set when it is - needed; so, unconditionally appending it to PULSEVIEW_LINK_LIBS - will produce the expected behavior. - -Signed-off-by: Samuel Martin - ---- -changes v1->v2: -- use std::atomic_fetch_add_explicit function instead of - __atomic_fetch_add_4; -- rework code using cmake_*_check_state and find_library helpers; -- quiet-ize checks and clean outputs -- extend the commit log ---- - CMakeLists.txt | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 50 insertions(+) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9dac69f..44f810e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -107,6 +107,55 @@ endif() - # This will set ${CMAKE_THREAD_LIBS_INIT} to the correct, OS-specific value. - find_package(Threads REQUIRED) - -+ -+# Check for explicit link against libatomic -+# -+# Depending on the toolchain, linking a program using atomic functions may need -+# "-latomic" explicitly passed to the linker -+# -+# This check first tests if atomics are available in the C-library, if not and -+# libatomic exists, then it runs the same test with -latomic added to the -+# linker flags. -+ -+# Helper for checking for atomics -+function(check_working_cxx_atomics varname additional_lib) -+ include(CheckCXXSourceCompiles) -+ include(CMakePushCheckState) -+ cmake_push_check_state() -+ set(CMAKE_REQUIRED_FLAGS "-std=c++11") -+ set(CMAKE_REQUIRED_LIBRARIES "${additional_lib}") -+ set(CMAKE_REQUIRED_QUIET 1) -+ CHECK_CXX_SOURCE_COMPILES(" -+#include -+std::atomic x; -+int main() { -+ return std::atomic_fetch_add_explicit(&x, 1, std::memory_order_seq_cst); -+} -+" ${varname}) -+ cmake_pop_check_state() -+endfunction(check_working_cxx_atomics) -+ -+# First check if atomics work without the library. -+# If not, check if the library exists, and atomics work with it. -+check_working_cxx_atomics(HAVE_CXX_ATOMICS_WITHOUT_LIB "") -+if(HAVE_CXX_ATOMICS_WITHOUT_LIB) -+ message(STATUS "Atomics provided by the C-library - yes") -+else() -+ message(STATUS "Atomics provided by the C-library - no") -+ find_library(LIBATOMIC_LIBRARY NAMES atomic PATH_SUFFIXES lib) -+ if(LIBATOMIC_LIBRARY) -+ check_working_cxx_atomics(HAVE_CXX_ATOMICS_WITH_LIB "${LIBATOMIC_LIBRARY}") -+ if (HAVE_CXX_ATOMICS_WITH_LIB) -+ message(STATUS "Atomics provided by libatomic - yes") -+ else() -+ message(STATUS "Atomics provided by libatomic - no") -+ message(FATAL_ERROR "Compiler must support std::atomic!") -+ endif() -+ else() -+ message(FATAL_ERROR "Compiler appears to require libatomic, but cannot find it.") -+ endif() -+endif() -+ - #=============================================================================== - #= System Introspection - #------------------------------------------------------------------------------- -@@ -387,6 +436,7 @@ set(PULSEVIEW_LINK_LIBS - ${Boost_LIBRARIES} - ${QT_LIBRARIES} - ${CMAKE_THREAD_LIBS_INIT} -+ ${LIBATOMIC_LIBRARY} - ) - - if(STATIC_PKGDEPS_LIBS) --- -2.8.3 - diff --git a/package/pulseview/Config.in b/package/pulseview/Config.in index 46abe78f76..301acf7d90 100644 --- a/package/pulseview/Config.in +++ b/package/pulseview/Config.in @@ -1,8 +1,17 @@ config BR2_PACKAGE_PULSEVIEW bool "pulseview" + depends on BR2_PACKAGE_QT5 + # libsigrok->libglib2: + depends on BR2_USE_WCHAR + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_USE_MMU + depends on BR2_INSTALL_LIBSTDCPP + # libsigrok->libzip + depends on !BR2_STATIC_LIBS + # libsigrok + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 select BR2_PACKAGE_LIBSIGROK select BR2_PACKAGE_LIBSIGROKCXX - depends on BR2_PACKAGE_QT5 select BR2_PACKAGE_QT5BASE_WIDGETS select BR2_PACKAGE_QT5BASE_PNG select BR2_PACKAGE_QT5SVG @@ -10,21 +19,15 @@ config BR2_PACKAGE_PULSEVIEW select BR2_PACKAGE_BOOST_FILESYSTEM select BR2_PACKAGE_BOOST_SYSTEM select BR2_PACKAGE_BOOST_THREAD - # libsigrok->libglib2: - depends on BR2_USE_WCHAR - depends on BR2_TOOLCHAIN_HAS_THREADS - depends on BR2_USE_MMU - depends on BR2_INSTALL_LIBSTDCPP - # libsigrok - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + select BR2_PACKAGE_BOOST_SERIALIZATION help PulseView is a Qt based logic analyzer, oscilloscope and MSO GUI for sigrok. http://sigrok.org/wiki/PulseView -comment "pulseview needs a toolchain w/ wchar, threads, C++, gcc >= 4.8" +comment "pulseview needs a toolchain w/ wchar, threads, dynamic library, C++, gcc >= 4.9" depends on BR2_USE_MMU depends on BR2_PACKAGE_QT5 - depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_USE_WCHAR \ - || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_USE_WCHAR \ + || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS diff --git a/package/pulseview/pulseview.hash b/package/pulseview/pulseview.hash index dc50ec6149..7883eabe59 100644 --- a/package/pulseview/pulseview.hash +++ b/package/pulseview/pulseview.hash @@ -1,3 +1,2 @@ # Locally computed -sha256 5ffe2cb7a602fcdc60933d400c77bcd66e6ce529bc4f6e97d6a5e5a86f2f530e pulseview-0.3.0.tar.gz -sha256 7de425dfe3b0f76e76e266374dca8b2951510d232380901ef2abda71c7c30bb0 dcfe0a01f72021aab961245d0ebcc9f8d4504b40.patch +sha256 78f8291045c6f65b4827b12e83c8e68cea2d5e7268b15a51aaca9726c8100eb9 pulseview-0.4.0.tar.gz diff --git a/package/pulseview/pulseview.mk b/package/pulseview/pulseview.mk index cc9718712f..e9bbf4f5c0 100644 --- a/package/pulseview/pulseview.mk +++ b/package/pulseview/pulseview.mk @@ -4,11 +4,9 @@ # ################################################################################ -# TODO Pulseview can be built and linked against Qt4 as well. - -PULSEVIEW_VERSION = 0.3.0 +PULSEVIEW_VERSION = 0.4.0 PULSEVIEW_SITE = http://sigrok.org/download/source/pulseview -PULSEVIEW_LICENSE = GPLv3+ +PULSEVIEW_LICENSE = GPL-3.0+ PULSEVIEW_LICENSE_FILES = COPYING PULSEVIEW_DEPENDENCIES = libsigrok qt5base qt5svg boost PULSEVIEW_CONF_OPTS = -DDISABLE_WERROR=TRUE diff --git a/package/pure-ftpd/Config.in b/package/pure-ftpd/Config.in index 57b78d1ae6..0e1e9c264e 100644 --- a/package/pure-ftpd/Config.in +++ b/package/pure-ftpd/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_PURE_FTPD bool "pure-ftpd" - select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE help Pure-FTPd is a free (BSD), secure, production-quality and standard- conformant FTP server. It doesn't provide useless bells and whistles, diff --git a/package/pure-ftpd/pure-ftpd.hash b/package/pure-ftpd/pure-ftpd.hash index 6996290521..f01da51a37 100644 --- a/package/pure-ftpd/pure-ftpd.hash +++ b/package/pure-ftpd/pure-ftpd.hash @@ -1,2 +1,3 @@ # Locally calculated after checking pgp signature -sha256 efd11295998453e31dbeef9159624beabbac2643a338134ae8c2ef529aa2ec10 pure-ftpd-1.0.42.tar.bz2 +sha256 cb1b695e779a06e42d62d7a1a428d2f605d621dfd5afe4e192b5f9fc4e343692 pure-ftpd-1.0.47.tar.bz2 +sha256 e724ba991d8efa4c963e84ec31314c532dab00ac455ef77020fe60e78177bf23 COPYING diff --git a/package/pure-ftpd/pure-ftpd.mk b/package/pure-ftpd/pure-ftpd.mk index 95e7065580..815de90f3b 100644 --- a/package/pure-ftpd/pure-ftpd.mk +++ b/package/pure-ftpd/pure-ftpd.mk @@ -4,8 +4,8 @@ # ################################################################################ -PURE_FTPD_VERSION = 1.0.42 -PURE_FTPD_SITE = http://download.pureftpd.org/pub/pure-ftpd/releases +PURE_FTPD_VERSION = 1.0.47 +PURE_FTPD_SITE = https://download.pureftpd.org/pub/pure-ftpd/releases PURE_FTPD_SOURCE = pure-ftpd-$(PURE_FTPD_VERSION).tar.bz2 PURE_FTPD_LICENSE = ISC PURE_FTPD_LICENSE_FILES = COPYING diff --git a/package/putty/0001-uxcons-Fix-on-musl-libc.patch b/package/putty/0001-uxcons-Fix-on-musl-libc.patch deleted file mode 100644 index 5f43af0d05..0000000000 --- a/package/putty/0001-uxcons-Fix-on-musl-libc.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 4ae1577b432c1859704d2763f70a764dee23bd98 Mon Sep 17 00:00:00 2001 -From: Kylie McClain -Date: Thu, 28 Apr 2016 22:40:32 -0400 -Subject: [PATCH] uxcons: Fix on musl libc - -musl libc exports FD_SET and friends in sys/select.h. - -Signed-off-by: Baruch Siach ---- -Patch status: upstream commit 4ae1577b432c - - unix/uxcons.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/unix/uxcons.c b/unix/uxcons.c -index b9fd67fe9274..f2a25f3fed70 100644 ---- a/unix/uxcons.c -+++ b/unix/uxcons.c -@@ -12,6 +12,7 @@ - #include - #include - #include -+#include - - #include "putty.h" - #include "storage.h" --- -2.8.1 - diff --git a/package/putty/0002-Fix-__uint128_t-compile-error-on-MinGW.patch b/package/putty/0002-Fix-__uint128_t-compile-error-on-MinGW.patch deleted file mode 100644 index 514b6298d9..0000000000 --- a/package/putty/0002-Fix-__uint128_t-compile-error-on-MinGW.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 3377ea57f5d333d65d44a1130161396782389e88 Mon Sep 17 00:00:00 2001 -From: Tim Kosse -Date: Tue, 11 Aug 2015 09:43:34 +0200 -Subject: [PATCH] Fix __uint128_t compile error on MinGW. - -MinGW has __uint128_t, but not __uint64_t. - -Signed-off-by: Baruch Siach ---- -Patch status: upstream commit 3377ea57f5 - - sshbn.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/sshbn.h b/sshbn.h -index a043241eea67..9366f614ae4c 100644 ---- a/sshbn.h -+++ b/sshbn.h -@@ -26,7 +26,7 @@ - * using the same 'two machine registers' kind of code generation that - * 32-bit targets use for 64-bit ints. If we have one of these, we can - * use a 64-bit BignumInt and a 128-bit BignumDblInt. */ --typedef __uint64_t BignumInt; -+typedef unsigned long long BignumInt; - typedef __uint128_t BignumDblInt; - #define BIGNUM_INT_MASK 0xFFFFFFFFFFFFFFFFULL - #define BIGNUM_TOP_BIT 0x8000000000000000ULL --- -2.8.1 - diff --git a/package/putty/Config.in b/package/putty/Config.in index fe5b9eb78e..420a7532ef 100644 --- a/package/putty/Config.in +++ b/package/putty/Config.in @@ -1,9 +1,14 @@ config BR2_PACKAGE_PUTTY bool "putty" depends on BR2_USE_MMU # fork() + depends on BR2_USE_WCHAR help PuTTY is a free SSH and Telnet client. Without GTK2 activated, only the commandline tools plink, pscp, psftp, and puttygen are built; enable GTK2 for the graphical client. http://www.chiark.greenend.org.uk/~sgtatham/putty/ + +comment "putty needs a toolchain w/ wchar" + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR diff --git a/package/putty/putty.hash b/package/putty/putty.hash index 75990e4176..e0527105c1 100644 --- a/package/putty/putty.hash +++ b/package/putty/putty.hash @@ -1,3 +1,3 @@ -# Hashes from: http://the.earth.li/~sgtatham/putty/0.67/{sha256,sha512}sums -sha256 80192458e8a46229de512afeca5c757dd8fce09606b3c992fbaeeee29b994a47 putty-0.67.tar.gz -sha512 c2b17da46b8db3fe3837a10cb9cf5dd4b3ef6bfa15cadab83f3b87cf1479ed31fced90b774297ae53bdcbbdf230fc80d5c73d5ff3be6916fb591fd7ce3d35eca putty-0.67.tar.gz +# Hashes from: http://the.earth.li/~sgtatham/putty/0.70/{sha256,sha512}sums +sha256 bb8aa49d6e96c5a8e18a057f3150a1695ed99a24eef699e783651d1f24e7b0be putty-0.70.tar.gz +sha512 2aaf4fa2b4ad2d82eb5cdc4419ade79e0c5d8bd3c093db92b3c048e6107f85a5f1647f9d8203cda0906ce2b926725a75319f981cb32e6f1ebf50b1f738564fed putty-0.70.tar.gz diff --git a/package/putty/putty.mk b/package/putty/putty.mk index 5155714c32..52f2d4c3dd 100644 --- a/package/putty/putty.mk +++ b/package/putty/putty.mk @@ -4,7 +4,7 @@ # ################################################################################ -PUTTY_VERSION = 0.67 +PUTTY_VERSION = 0.70 PUTTY_SITE = http://the.earth.li/~sgtatham/putty/$(PUTTY_VERSION) PUTTY_SUBDIR = unix PUTTY_LICENSE = MIT diff --git a/package/pv/Config.in b/package/pv/Config.in index d7322963c0..671f78e8c9 100644 --- a/package/pv/Config.in +++ b/package/pv/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PV bool "pv" - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE help Pipe Viewer - is a terminal-based tool for monitoring the progress of data through a diff --git a/package/pv/pv.mk b/package/pv/pv.mk index 2279805a65..0ef5a6f6a2 100644 --- a/package/pv/pv.mk +++ b/package/pv/pv.mk @@ -9,13 +9,7 @@ PV_SOURCE = pv-$(PV_VERSION).tar.bz2 PV_SITE = http://www.ivarch.com/programs/sources PV_LICENSE = Artistic-2.0 PV_LICENSE_FILES = doc/COPYING - -# pv configure script is somewhat stupid: if it cannot find the host -# gettext tool msgfmt, it concludes that gettext is not available, and -# provides its own minimal version. Unfortunately, this minimal -# version conflicts with the available target gettext. We fix this by -# ensuring that host-gettext is built if gettext support is enabled; -PV_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext host-gettext) +PV_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) # --relax linker option is enabled by default on sparc/sparc64 # architectures, and it can't be used together with -r option, so diff --git a/package/pwgen/pwgen.mk b/package/pwgen/pwgen.mk index 9810097e21..653adb871e 100644 --- a/package/pwgen/pwgen.mk +++ b/package/pwgen/pwgen.mk @@ -6,7 +6,7 @@ PWGEN_VERSION = 2.07 PWGEN_SITE = http://downloads.sourceforge.net/project/pwgen/pwgen/$(PWGEN_VERSION) -PWGEN_LICENSE = GPLv2 +PWGEN_LICENSE = GPL-2.0 PWGEN_LICENSE_FILES = debian/copyright $(eval $(autotools-package)) diff --git a/package/python-aiocoap/Config.in b/package/python-aiocoap/Config.in new file mode 100644 index 0000000000..cf5ca4e844 --- /dev/null +++ b/package/python-aiocoap/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_AIOCOAP + bool "python-aiocoap" + depends on BR2_PACKAGE_PYTHON3 + help + Python CoAP library. + + https://github.com/chrysn/aiocoap diff --git a/package/python-aiocoap/python-aiocoap.hash b/package/python-aiocoap/python-aiocoap.hash new file mode 100644 index 0000000000..6df482aa68 --- /dev/null +++ b/package/python-aiocoap/python-aiocoap.hash @@ -0,0 +1,4 @@ +# md5 from https://pypi.python.org/pypi/aiocoap/json, sha256 locally computed +md5 f5fed00767b4197f2fbaa0ff95cbbf78 aiocoap-0.3.tar.gz +sha256 402d4151db6d8d0b1d66af5b6e10e0de1521decbf12140637e5b8d2aa9c5aef6 aiocoap-0.3.tar.gz +sha256 2bb211d412a6bfa4b2a9cf01123c7fe90e5e6185938896e23ab07b84f8494180 LICENSE diff --git a/package/python-aiocoap/python-aiocoap.mk b/package/python-aiocoap/python-aiocoap.mk new file mode 100644 index 0000000000..a2db70b803 --- /dev/null +++ b/package/python-aiocoap/python-aiocoap.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-aiocoap +# +################################################################################ + +PYTHON_AIOCOAP_VERSION = 0.3 +PYTHON_AIOCOAP_SOURCE = aiocoap-$(PYTHON_AIOCOAP_VERSION).tar.gz +PYTHON_AIOCOAP_SITE = https://pypi.python.org/packages/9c/f6/d839e4b14258d76e74a39810829c13f8dd31de2bfe0915579b2a609d1bbe +PYTHON_AIOCOAP_SETUP_TYPE = setuptools +PYTHON_AIOCOAP_LICENSE = MIT +PYTHON_AIOCOAP_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-alsaaudio/python-alsaaudio.mk b/package/python-alsaaudio/python-alsaaudio.mk index 92c354e3f8..73a7e74b03 100644 --- a/package/python-alsaaudio/python-alsaaudio.mk +++ b/package/python-alsaaudio/python-alsaaudio.mk @@ -8,7 +8,7 @@ PYTHON_ALSAAUDIO_VERSION = 0.8.2 PYTHON_ALSAAUDIO_SOURCE = pyalsaaudio-$(PYTHON_ALSAAUDIO_VERSION).tar.gz PYTHON_ALSAAUDIO_SITE = https://pypi.python.org/packages/source/p/pyalsaaudio PYTHON_ALSAAUDIO_SETUP_TYPE = distutils -PYTHON_ALSAAUDIO_LICENSE = Python software foundation license v2 +PYTHON_ALSAAUDIO_LICENSE = Python-2.0 PYTHON_ALSAAUDIO_LICENSE_FILES = LICENSE PYTHON_ALSAAUDIO_DEPENDENCIES = alsa-lib diff --git a/package/python-argh/python-argh.mk b/package/python-argh/python-argh.mk index bc5d7133a1..ac514174c8 100644 --- a/package/python-argh/python-argh.mk +++ b/package/python-argh/python-argh.mk @@ -8,7 +8,7 @@ PYTHON_ARGH_VERSION = 0.26.2 PYTHON_ARGH_SOURCE = argh-$(PYTHON_ARGH_VERSION).tar.gz PYTHON_ARGH_SITE = https://pypi.python.org/packages/e3/75/1183b5d1663a66aebb2c184e0398724b624cecd4f4b679cb6e25de97ed15 PYTHON_ARGH_SETUP_TYPE = setuptools -PYTHON_ARGH_LICENSE = LGPLv3+ +PYTHON_ARGH_LICENSE = LGPL-3.0+ PYTHON_ARGH_LICENSE_FILES = README.rst $(eval $(python-package)) diff --git a/package/python-asn1crypto/Config.in b/package/python-asn1crypto/Config.in new file mode 100644 index 0000000000..345c73988c --- /dev/null +++ b/package/python-asn1crypto/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_ASN1CRYPTO + bool "python-asn1crypto" + help + Fast ASN.1 parser and serializer with definitions for private keys, + public keys, certificates, CRL, OCSP, CMS, PKCS#3, PKCS#7, PKCS#8, + PKCS#12, PKCS#5, X.509 and TSP. + + https://github.com/wbond/asn1crypto diff --git a/package/python-asn1crypto/python-asn1crypto.hash b/package/python-asn1crypto/python-asn1crypto.hash new file mode 100644 index 0000000000..ec5d7cfc2b --- /dev/null +++ b/package/python-asn1crypto/python-asn1crypto.hash @@ -0,0 +1,3 @@ +# md5 from https://pypi.python.org/pypi/asn1crypto/json, sha256 locally computed +md5 74a8b9402625b38ef19cf3fa69ef8470 asn1crypto-0.22.0.tar.gz +sha256 cbbadd640d3165ab24b06ef25d1dca09a3441611ac15f6a6b452474fdf0aed1a asn1crypto-0.22.0.tar.gz diff --git a/package/python-asn1crypto/python-asn1crypto.mk b/package/python-asn1crypto/python-asn1crypto.mk new file mode 100644 index 0000000000..681dfd5c16 --- /dev/null +++ b/package/python-asn1crypto/python-asn1crypto.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# python-asn1crypto +# +################################################################################ + +PYTHON_ASN1CRYPTO_VERSION = 0.22.0 +PYTHON_ASN1CRYPTO_SOURCE = asn1crypto-$(PYTHON_ASN1CRYPTO_VERSION).tar.gz +PYTHON_ASN1CRYPTO_SITE = https://pypi.python.org/packages/67/14/5d66588868c4304f804ebaff9397255f6ec5559e46724c2496e0f26e68d6 +PYTHON_ASN1CRYPTO_SETUP_TYPE = setuptools +PYTHON_ASN1CRYPTO_LICENSE = MIT + +$(eval $(python-package)) diff --git a/package/python-attrs/python-attrs.hash b/package/python-attrs/python-attrs.hash index 33ecd2c0fe..4434fa1928 100644 --- a/package/python-attrs/python-attrs.hash +++ b/package/python-attrs/python-attrs.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/attrs/json, sha256 locally computed -md5 4ec003c49360853cf935113d1ae56151 attrs-16.3.0.tar.gz -sha256 80203177723e36f3bbe15aa8553da6e80d47bfe53647220ccaa9ad7a5e473ccc attrs-16.3.0.tar.gz +md5 3b7136a570f3ff8a4ff42e7360073f9f attrs-17.2.0.tar.gz +sha256 5d4d1b99f94d69338f485984127e4473b3ab9e20f43821b0e546cc3b2302fd11 attrs-17.2.0.tar.gz diff --git a/package/python-attrs/python-attrs.mk b/package/python-attrs/python-attrs.mk index 5e7985a3f2..c9633711c8 100644 --- a/package/python-attrs/python-attrs.mk +++ b/package/python-attrs/python-attrs.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_ATTRS_VERSION = 16.3.0 +PYTHON_ATTRS_VERSION = 17.2.0 PYTHON_ATTRS_SOURCE = attrs-$(PYTHON_ATTRS_VERSION).tar.gz -PYTHON_ATTRS_SITE = https://pypi.python.org/packages/01/b0/3ac73bf6df716a38568a16f6a9cbc46cc9e8ed6fe30c8768260030db55d4 +PYTHON_ATTRS_SITE = https://pypi.python.org/packages/be/41/e909cb6d901e9689da947419505cc7fb7d242a08a62ee221fce6a009a523 PYTHON_ATTRS_SETUP_TYPE = setuptools PYTHON_ATTRS_LICENSE = MIT PYTHON_ATTRS_LICENSE_FILES = LICENSE diff --git a/package/python-automat/Config.in b/package/python-automat/Config.in new file mode 100644 index 0000000000..ee02d22b5b --- /dev/null +++ b/package/python-automat/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_PYTHON_AUTOMAT + bool "python-automat" + select BR2_PACKAGE_PYTHON_ATTRS # runtime + select BR2_PACKAGE_PYTHON_SIX # runtime + help + Self-service finite-state machines for the programmer on the + go. + + https://github.com/glyph/Automat diff --git a/package/python-automat/python-automat.hash b/package/python-automat/python-automat.hash new file mode 100644 index 0000000000..c0e3505234 --- /dev/null +++ b/package/python-automat/python-automat.hash @@ -0,0 +1,3 @@ +# md5 from https://pypi.python.org/pypi/automat/json, sha256 locally computed +md5 ad7bba58d262d8956d732330cb5ef53d Automat-0.6.0.tar.gz +sha256 3c1fd04ecf08ac87b4dd3feae409542e9bf7827257097b2b6ed5692f69d6f6a8 Automat-0.6.0.tar.gz diff --git a/package/python-automat/python-automat.mk b/package/python-automat/python-automat.mk new file mode 100644 index 0000000000..96a4f51506 --- /dev/null +++ b/package/python-automat/python-automat.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# python-automat +# +################################################################################ + +PYTHON_AUTOMAT_VERSION = 0.6.0 +PYTHON_AUTOMAT_SOURCE = Automat-$(PYTHON_AUTOMAT_VERSION).tar.gz +PYTHON_AUTOMAT_SITE = https://pypi.python.org/packages/de/05/b8e453085cf8a7f27bb1226596f4ccf5cc9e758377d60284f990bbdc592c +PYTHON_AUTOMAT_SETUP_TYPE = setuptools +PYTHON_AUTOMAT_LICENSE = MIT +PYTHON_AUTOMAT_LICENSE_FILES = LICENSE +PYTHON_AUTOMAT_DEPENDENCIES = host-python-m2r host-python-setuptools-scm + +$(eval $(python-package)) diff --git a/package/python-babel/python-babel.mk b/package/python-babel/python-babel.mk index 3627b15f78..d9bd0f048e 100644 --- a/package/python-babel/python-babel.mk +++ b/package/python-babel/python-babel.mk @@ -8,7 +8,7 @@ PYTHON_BABEL_VERSION = 2.3.4 PYTHON_BABEL_SOURCE = Babel-$(PYTHON_BABEL_VERSION).tar.gz PYTHON_BABEL_SITE = https://pypi.python.org/packages/6e/96/ba2a2462ed25ca0e651fb7b66e7080f5315f91425a07ea5b34d7c870c114 PYTHON_BABEL_SETUP_TYPE = setuptools -PYTHON_BABEL_LICENSE = BSD-3c +PYTHON_BABEL_LICENSE = BSD-3-Clause PYTHON_BABEL_LICENSE_FILES = LICENSE $(eval $(python-package)) diff --git a/package/python-backports-abc/python-backports-abc.hash b/package/python-backports-abc/python-backports-abc.hash index 07e954e6cb..f638527d7b 100644 --- a/package/python-backports-abc/python-backports-abc.hash +++ b/package/python-backports-abc/python-backports-abc.hash @@ -1,3 +1,3 @@ -# md5 from https://pypi.python.org/pypi?:action=show_md5&digest=0b65a216ce9dc9c1a7e20a729dd7c05b, sha256 locally computed -md5 0b65a216ce9dc9c1a7e20a729dd7c05b backports_abc-0.4.tar.gz -sha256 8b3e4092ba3d541c7a2f9b7d0d9c0275b21c6a01c53a61c731eba6686939d0a5 backports_abc-0.4.tar.gz +# md5 from https://pypi.python.org/pypi/backports_abc/json, sha256 locally computed +md5 7d1936ec183a3586290adf60f6f96764 backports_abc-0.5.tar.gz +sha256 033be54514a03e255df75c5aee8f9e672f663f93abb723444caec8fe43437bde backports_abc-0.5.tar.gz diff --git a/package/python-backports-abc/python-backports-abc.mk b/package/python-backports-abc/python-backports-abc.mk index 1e3a9a6e9c..66cea1703e 100644 --- a/package/python-backports-abc/python-backports-abc.mk +++ b/package/python-backports-abc/python-backports-abc.mk @@ -4,10 +4,11 @@ # ################################################################################ -PYTHON_BACKPORTS_ABC_VERSION = 0.4 +PYTHON_BACKPORTS_ABC_VERSION = 0.5 PYTHON_BACKPORTS_ABC_SOURCE = backports_abc-$(PYTHON_BACKPORTS_ABC_VERSION).tar.gz -PYTHON_BACKPORTS_ABC_SITE = https://pypi.python.org/packages/source/b/backports_abc -PYTHON_BACKPORTS_ABC_LICENSE = Python Software Foundation License +PYTHON_BACKPORTS_ABC_SITE = https://pypi.python.org/packages/68/3c/1317a9113c377d1e33711ca8de1e80afbaf4a3c950dd0edfaf61f9bfe6d8 +PYTHON_BACKPORTS_ABC_LICENSE = Python-2.0 +PYTHON_BACKPORTS_ABC_LICENSE_FILES = LICENSE PYTHON_BACKPORTS_ABC_SETUP_TYPE = setuptools $(eval $(python-package)) diff --git a/package/python-backports-shutil-get-terminal-size/Config.in b/package/python-backports-shutil-get-terminal-size/Config.in new file mode 100644 index 0000000000..392e05a282 --- /dev/null +++ b/package/python-backports-shutil-get-terminal-size/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_BACKPORTS_SHUTIL_GET_TERMINAL_SIZE + bool "python-backports-shutil-get-terminal-size" + depends on BR2_PACKAGE_PYTHON + help + A backport of the get_terminal_size function from Python + 3.3's shutil. + + https://pypi.python.org/pypi/backports.shutil_get_terminal_size diff --git a/package/python-backports-shutil-get-terminal-size/python-backports-shutil-get-terminal-size.hash b/package/python-backports-shutil-get-terminal-size/python-backports-shutil-get-terminal-size.hash new file mode 100644 index 0000000000..c1b65e5987 --- /dev/null +++ b/package/python-backports-shutil-get-terminal-size/python-backports-shutil-get-terminal-size.hash @@ -0,0 +1,3 @@ +# md5 from https://pypi.python.org/pypi/backports.shutil_get_terminal_size/json, sha256 locally computed +md5 03267762480bd86b50580dc19dff3c66 backports.shutil_get_terminal_size-1.0.0.tar.gz +sha256 713e7a8228ae80341c70586d1cc0a8caa5207346927e23d09dcbcaf18eadec80 backports.shutil_get_terminal_size-1.0.0.tar.gz diff --git a/package/python-backports-shutil-get-terminal-size/python-backports-shutil-get-terminal-size.mk b/package/python-backports-shutil-get-terminal-size/python-backports-shutil-get-terminal-size.mk new file mode 100644 index 0000000000..7c24b196f2 --- /dev/null +++ b/package/python-backports-shutil-get-terminal-size/python-backports-shutil-get-terminal-size.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-backports-shutil-get-terminal-size +# +################################################################################ + +PYTHON_BACKPORTS_SHUTIL_GET_TERMINAL_SIZE_VERSION = 1.0.0 +PYTHON_BACKPORTS_SHUTIL_GET_TERMINAL_SIZE_SOURCE = backports.shutil_get_terminal_size-$(PYTHON_BACKPORTS_SHUTIL_GET_TERMINAL_SIZE_VERSION).tar.gz +PYTHON_BACKPORTS_SHUTIL_GET_TERMINAL_SIZE_SITE = https://pypi.python.org/packages/ec/9c/368086faa9c016efce5da3e0e13ba392c9db79e3ab740b763fe28620b18b +PYTHON_BACKPORTS_SHUTIL_GET_TERMINAL_SIZE_SETUP_TYPE = setuptools +PYTHON_BACKPORTS_SHUTIL_GET_TERMINAL_SIZE_LICENSE = MIT +PYTHON_BACKPORTS_SHUTIL_GET_TERMINAL_SIZE_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-bcrypt/Config.in b/package/python-bcrypt/Config.in new file mode 100644 index 0000000000..4fa6c31a9e --- /dev/null +++ b/package/python-bcrypt/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_BCRYPT + bool "python-bcrypt" + select BR2_PACKAGE_PYTHON_CFFI # runtime + select BR2_PACKAGE_PYTHON_SIX # runtime + help + Modern password hashing for your software and your servers. + + https://github.com/pyca/bcrypt/ diff --git a/package/python-bcrypt/python-bcrypt.hash b/package/python-bcrypt/python-bcrypt.hash new file mode 100644 index 0000000000..574cbe1555 --- /dev/null +++ b/package/python-bcrypt/python-bcrypt.hash @@ -0,0 +1,3 @@ +# md5 from https://pypi.python.org/pypi/bcrypt/json, sha256 locally computed +md5 20da8b40790caad99c4086dba533154b bcrypt-3.1.3.tar.gz +sha256 6645c8d0ad845308de3eb9be98b6fd22a46ec5412bfc664a423e411cdd8f5488 bcrypt-3.1.3.tar.gz diff --git a/package/python-bcrypt/python-bcrypt.mk b/package/python-bcrypt/python-bcrypt.mk new file mode 100644 index 0000000000..aa6f9815a5 --- /dev/null +++ b/package/python-bcrypt/python-bcrypt.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# python-bcrypt +# +################################################################################ + +PYTHON_BCRYPT_VERSION = 3.1.3 +PYTHON_BCRYPT_SOURCE = bcrypt-$(PYTHON_BCRYPT_VERSION).tar.gz +PYTHON_BCRYPT_SITE = https://pypi.python.org/packages/58/e9/6d7f1d883d8c5876470b5d187d72c04f2a9954d61e71e7eb5d2ea2a50442 +PYTHON_BCRYPT_SETUP_TYPE = setuptools +PYTHON_BCRYPT_LICENSE = Apache-2.0 +PYTHON_BCRYPT_LICENSE_FILES = LICENSE +PYTHON_BCRYPT_DEPENDENCIES = host-python-cffi + +$(eval $(python-package)) diff --git a/package/python-beautifulsoup4/python-beautifulsoup4.hash b/package/python-beautifulsoup4/python-beautifulsoup4.hash index c86879fc9d..dd0c3e4312 100644 --- a/package/python-beautifulsoup4/python-beautifulsoup4.hash +++ b/package/python-beautifulsoup4/python-beautifulsoup4.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/beautifulsoup4/json, sha256 locally computed -md5 994abd90e691beaf7d42c00ffb2f3a67 beautifulsoup4-4.5.1.tar.gz -sha256 3c9474036afda9136aac6463def733f81017bf9ef3510d25634f335b0c87f5e1 beautifulsoup4-4.5.1.tar.gz +md5 937e0df0d699a1237646f38fd567f0c6 beautifulsoup4-4.5.3.tar.gz +sha256 b21ca09366fa596043578fd4188b052b46634d22059e68dd0077d9ee77e08a3e beautifulsoup4-4.5.3.tar.gz diff --git a/package/python-beautifulsoup4/python-beautifulsoup4.mk b/package/python-beautifulsoup4/python-beautifulsoup4.mk index e2fa9b3c8f..ccec30fb40 100644 --- a/package/python-beautifulsoup4/python-beautifulsoup4.mk +++ b/package/python-beautifulsoup4/python-beautifulsoup4.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_BEAUTIFULSOUP4_VERSION = 4.5.1 +PYTHON_BEAUTIFULSOUP4_VERSION = 4.5.3 PYTHON_BEAUTIFULSOUP4_SOURCE = beautifulsoup4-$(PYTHON_BEAUTIFULSOUP4_VERSION).tar.gz -PYTHON_BEAUTIFULSOUP4_SITE = https://pypi.python.org/packages/86/ea/8e9fbce5c8405b9614f1fd304f7109d9169a3516a493ce4f7f77c39435b7 +PYTHON_BEAUTIFULSOUP4_SITE = https://pypi.python.org/packages/9b/a5/c6fa2d08e6c671103f9508816588e0fb9cec40444e8e72993f3d4c325936 PYTHON_BEAUTIFULSOUP4_SETUP_TYPE = setuptools PYTHON_BEAUTIFULSOUP4_LICENSE = MIT PYTHON_BEAUTIFULSOUP4_LICENSE_FILES = COPYING.txt diff --git a/package/python-can/Config.in b/package/python-can/Config.in index 6b4e0fa76e..3e1b012914 100644 --- a/package/python-can/Config.in +++ b/package/python-can/Config.in @@ -1,5 +1,7 @@ config BR2_PACKAGE_PYTHON_CAN bool "python-can" + select BR2_PACKAGE_PYTHON_SQLITE if BR2_PACKAGE_PYTHON # runtime + select BR2_PACKAGE_PYTHON3_SQLITE if BR2_PACKAGE_PYTHON3 # runtime help This module provides controller area network support for Python. diff --git a/package/python-can/python-can.hash b/package/python-can/python-can.hash index a8778622bf..bd19d194b6 100644 --- a/package/python-can/python-can.hash +++ b/package/python-can/python-can.hash @@ -1,3 +1,3 @@ -# md5 from https://pypi.python.org/pypi?:action=show_md5&digest=b9b556fe6f016c0a3b27cc67790cf821, sha256 locally computed -md5 b9b556fe6f016c0a3b27cc67790cf821 python-can-1.4.3.tar.gz -sha256 2dcd32737cc39fbf39f41521146a9685f594942c99c6183bad7e3c404930198b python-can-1.4.3.tar.gz +# md5 from https://pypi.python.org/pypi/python-can/json, sha256 locally computed +md5 f653aecf8b9034bbba32cc04ca6a7b6d python-can-1.5.2.tar.gz +sha256 edabb426e6cd11c2dc7a98980340135aa0eb02143b0d51bf14e3e6178c131cc3 python-can-1.5.2.tar.gz diff --git a/package/python-can/python-can.mk b/package/python-can/python-can.mk index ae9ef1a0ce..a271baea00 100644 --- a/package/python-can/python-can.mk +++ b/package/python-can/python-can.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_CAN_VERSION = 1.4.3 -PYTHON_CAN_SITE = https://pypi.python.org/packages/source/p/python-can -PYTHON_CAN_LICENSE = LGPLv3 +PYTHON_CAN_VERSION = 1.5.2 +PYTHON_CAN_SITE = https://pypi.python.org/packages/a1/b1/80f023e2b728c7ebccbf989aec777f3add3dd4cee650573ce5d38132a07c +PYTHON_CAN_LICENSE = LGPL-3.0 PYTHON_CAN_LICENSE_FILES = LICENSE.txt PYTHON_CAN_SETUP_TYPE = setuptools diff --git a/package/python-cbor/Config.in b/package/python-cbor/Config.in index 2d0962d592..403fab3f05 100644 --- a/package/python-cbor/Config.in +++ b/package/python-cbor/Config.in @@ -4,4 +4,3 @@ config BR2_PACKAGE_PYTHON_CBOR RFC 7049 - Concise Binary Object Representation. https://pypi.python.org/pypi/cbor - diff --git a/package/python-certifi/python-certifi.hash b/package/python-certifi/python-certifi.hash index 443cc6d3a2..7aef735be2 100644 --- a/package/python-certifi/python-certifi.hash +++ b/package/python-certifi/python-certifi.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/certifi/json, sha256 locally computed -md5 baa81e951a29958563689d868ef1064d certifi-2016.9.26.tar.gz -sha256 8275aef1bbeaf05c53715bfc5d8569bd1e04ca1e8e69608cc52bcaac2604eb19 certifi-2016.9.26.tar.gz +md5 db40445044feda1437ce3ccd5fc28a57 certifi-2017.4.17.tar.gz +sha256 f7527ebf7461582ce95f7a9e03dd141ce810d40590834f4ec20cddd54234c10a certifi-2017.4.17.tar.gz diff --git a/package/python-certifi/python-certifi.mk b/package/python-certifi/python-certifi.mk index f69e7c18db..207d4f9a0e 100644 --- a/package/python-certifi/python-certifi.mk +++ b/package/python-certifi/python-certifi.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_CERTIFI_VERSION = 2016.9.26 +PYTHON_CERTIFI_VERSION = 2017.4.17 PYTHON_CERTIFI_SOURCE = certifi-$(PYTHON_CERTIFI_VERSION).tar.gz -PYTHON_CERTIFI_SITE = https://pypi.python.org/packages/4f/75/e1bc6e363a2c76f8d7e754c27c437dbe4086414e1d6d2f6b2a3e7846f22b +PYTHON_CERTIFI_SITE = https://pypi.python.org/packages/dd/0e/1e3b58c861d40a9ca2d7ea4ccf47271d4456ae4294c5998ad817bd1b4396 PYTHON_CERTIFI_SETUP_TYPE = setuptools PYTHON_CERTIFI_LICENSE = ISC (Python code), MPL-2.0 (cacert.pem) PYTHON_CERTIFI_LICENSE_FILES = LICENSE diff --git a/package/python-cffi/python-cffi.hash b/package/python-cffi/python-cffi.hash index 39065bcd0c..3d4387fb08 100644 --- a/package/python-cffi/python-cffi.hash +++ b/package/python-cffi/python-cffi.hash @@ -1,3 +1,4 @@ # md5 from https://pypi.python.org/pypi/cffi/json, sha256 locally computed -md5 c8e877fe0426a99d0cf5872cf2f95b27 cffi-1.8.3.tar.gz -sha256 c321bd46faa7847261b89c0469569530cad5a41976bb6dba8202c0159f476568 cffi-1.8.3.tar.gz +md5 a731487324b501c8295221b629d3f5f3 cffi-1.11.2.tar.gz +sha256 ab87dd91c0c4073758d07334c1e5f712ce8fe48f007b86f8238773963ee700a6 cffi-1.11.2.tar.gz +sha256 04b80f5b077bbed68808cfebadeb5e3523f2a8c9a96495c587bd96df1eac2a33 LICENSE diff --git a/package/python-cffi/python-cffi.mk b/package/python-cffi/python-cffi.mk index d34869561b..1ef83917ad 100644 --- a/package/python-cffi/python-cffi.mk +++ b/package/python-cffi/python-cffi.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_CFFI_VERSION = 1.8.3 +PYTHON_CFFI_VERSION = 1.11.2 PYTHON_CFFI_SOURCE = cffi-$(PYTHON_CFFI_VERSION).tar.gz -PYTHON_CFFI_SITE = https://pypi.python.org/packages/0a/f3/686af8873b70028fccf67b15c78fd4e4667a3da995007afc71e786d61b0a +PYTHON_CFFI_SITE = https://pypi.python.org/packages/c9/70/89b68b6600d479034276fed316e14b9107d50a62f5627da37fafe083fde3 PYTHON_CFFI_SETUP_TYPE = setuptools PYTHON_CFFI_DEPENDENCIES = host-pkgconf libffi PYTHON_CFFI_LICENSE = MIT @@ -20,7 +20,7 @@ HOST_PYTHON_CFFI_ENV = \ PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \ PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \ PKG_CONFIG_SYSROOT_DIR="/" \ - PKG_CONFIG_LIBDIR="$(HOST_DIR)/usr/lib/pkgconfig:$(HOST_DIR)/usr/share/pkgconfig" + PKG_CONFIG_LIBDIR="$(HOST_DIR)/lib/pkgconfig:$(HOST_DIR)/share/pkgconfig" HOST_PYTHON_CFFI_DEPENDENCIES = host-pkgconf host-python-pycparser host-libffi $(eval $(python-package)) diff --git a/package/python-chardet/Config.in b/package/python-chardet/Config.in index 8f1cd602af..869888cfe0 100644 --- a/package/python-chardet/Config.in +++ b/package/python-chardet/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_PYTHON_CHARDET bool "python-chardet" + select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime help Universal encoding detector for Python 2 and 3. diff --git a/package/python-chardet/python-chardet.hash b/package/python-chardet/python-chardet.hash index aa4efeb104..799713cf5d 100644 --- a/package/python-chardet/python-chardet.hash +++ b/package/python-chardet/python-chardet.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/chardet/json, sha256 locally computed -md5 25274d664ccb5130adae08047416e1a8 chardet-2.3.0.tar.gz -sha256 e53e38b3a4afe6d1132de62b7400a4ac363452dc5dfcf8d88e8e0cce663c68aa chardet-2.3.0.tar.gz +md5 7dd1ba7f9c77e32351b0a0cfacf4055c chardet-3.0.4.tar.gz +sha256 84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae chardet-3.0.4.tar.gz diff --git a/package/python-chardet/python-chardet.mk b/package/python-chardet/python-chardet.mk index 19629548d4..5161098945 100644 --- a/package/python-chardet/python-chardet.mk +++ b/package/python-chardet/python-chardet.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_CHARDET_VERSION = 2.3.0 +PYTHON_CHARDET_VERSION = 3.0.4 PYTHON_CHARDET_SOURCE = chardet-$(PYTHON_CHARDET_VERSION).tar.gz -PYTHON_CHARDET_SITE = https://pypi.python.org/packages/7d/87/4e3a3f38b2f5c578ce44f8dc2aa053217de9f0b6d737739b0ddac38ed237 +PYTHON_CHARDET_SITE = https://pypi.python.org/packages/fc/bb/a5768c230f9ddb03acc9ef3f0d4a3cf93462473795d18e9535498c8f929d PYTHON_CHARDET_SETUP_TYPE = setuptools -PYTHON_CHARDET_LICENSE = LGPLv2.1+ +PYTHON_CHARDET_LICENSE = LGPL-2.1+ PYTHON_CHARDET_LICENSE_FILES = LICENSE $(eval $(python-package)) diff --git a/package/python-cheroot/Config.in b/package/python-cheroot/Config.in new file mode 100644 index 0000000000..bb85f7bdc7 --- /dev/null +++ b/package/python-cheroot/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_CHEROOT + bool "python-cheroot" + select BR2_PACKAGE_PYTHON_SIX # runtime + help + Cheroot is the high-performance, pure-Python + HTTP server used by CherryPy. + + https://github.com/cherrypy/cheroot diff --git a/package/python-cheroot/python-cheroot.hash b/package/python-cheroot/python-cheroot.hash new file mode 100644 index 0000000000..348b82d1ca --- /dev/null +++ b/package/python-cheroot/python-cheroot.hash @@ -0,0 +1,3 @@ +# md5 from https://pypi.python.org/pypi/cheroot/json, sha256 locally computed +md5 e5503b0e67bdba29c6585965e7f42099 cheroot-5.5.0.tar.gz +sha256 59e349f91b9230930f7078646bb92b3a5b0f9cf19a6ff949777409fd289a1eba cheroot-5.5.0.tar.gz diff --git a/package/python-cheroot/python-cheroot.mk b/package/python-cheroot/python-cheroot.mk new file mode 100644 index 0000000000..3f4b6893d5 --- /dev/null +++ b/package/python-cheroot/python-cheroot.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# python-cheroot +# +################################################################################ + +PYTHON_CHEROOT_VERSION = 5.5.0 +PYTHON_CHEROOT_SOURCE = cheroot-$(PYTHON_CHEROOT_VERSION).tar.gz +PYTHON_CHEROOT_SITE = https://pypi.python.org/packages/a5/43/f8a461762dc62e9f273d4944fb8c140757c11a29c91c91d3fbd5fafb1570 +PYTHON_CHEROOT_LICENSE = BSD-3-Clause +PYTHON_CHEROOT_LICENSE_FILES = LICENSE.md +PYTHON_CHEROOT_SETUP_TYPE = setuptools +PYTHON_CHEROOT_DEPENDENCIES = host-python-setuptools-scm + +$(eval $(python-package)) diff --git a/package/python-cherrypy/Config.in b/package/python-cherrypy/Config.in index 6e32ec2a1a..c04997269b 100644 --- a/package/python-cherrypy/Config.in +++ b/package/python-cherrypy/Config.in @@ -1,9 +1,12 @@ config BR2_PACKAGE_PYTHON_CHERRYPY bool "python-cherrypy" - select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON_CHEROOT # runtime + select BR2_PACKAGE_PYTHON_PORTEND # runtime select BR2_PACKAGE_PYTHON_PYEXPAT if BR2_PACKAGE_PYTHON # runtime select BR2_PACKAGE_PYTHON3_PYEXPAT if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON_SIX # runtime + select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON # runtime + select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 # runtime help A minimalist web framework diff --git a/package/python-cherrypy/python-cherrypy.hash b/package/python-cherrypy/python-cherrypy.hash index 6befa457d8..ac3b982ba8 100644 --- a/package/python-cherrypy/python-cherrypy.hash +++ b/package/python-cherrypy/python-cherrypy.hash @@ -1,3 +1,3 @@ -# md5 from https://pypi.python.org/pypi?:action=show_md5&digest=4b765329b0b4b65ec25811e3febb6c93, sha256 locally computed -md5 4b765329b0b4b65ec25811e3febb6c93 CherryPy-4.0.0.tar.gz -sha256 73ad4f8870b5a3e9988a7778b5d3003a390d440527ec3458a0c7e58865d2611a CherryPy-4.0.0.tar.gz +# md5 from https://pypi.python.org/pypi/CherryPy/json, sha256 locally computed +md5 105cbcd4f7cd139ab4107f1b0e39afe3 CherryPy-10.2.2.tar.gz +sha256 32d93334df765c7fd5d22815ab643333e850f0cc4f6d51fee62a68f23eea8ff8 CherryPy-10.2.2.tar.gz diff --git a/package/python-cherrypy/python-cherrypy.mk b/package/python-cherrypy/python-cherrypy.mk index 754e0a2bec..2820b69828 100644 --- a/package/python-cherrypy/python-cherrypy.mk +++ b/package/python-cherrypy/python-cherrypy.mk @@ -4,11 +4,12 @@ # ################################################################################ -PYTHON_CHERRYPY_VERSION = 4.0.0 +PYTHON_CHERRYPY_VERSION = 10.2.2 PYTHON_CHERRYPY_SOURCE = CherryPy-$(PYTHON_CHERRYPY_VERSION).tar.gz -PYTHON_CHERRYPY_SITE = http://pypi.python.org/packages/source/C/CherryPy -PYTHON_CHERRYPY_LICENSE = BSD-3c -PYTHON_CHERRYPY_LICENSE_FILES = cherrypy/LICENSE.txt -PYTHON_CHERRYPY_SETUP_TYPE = distutils +PYTHON_CHERRYPY_SITE = https://pypi.python.org/packages/a2/de/dddea0c4d4be436724bfc2d1486c99368541d93c269bfa2a7fa3d132021e +PYTHON_CHERRYPY_LICENSE = BSD-3-Clause +PYTHON_CHERRYPY_LICENSE_FILES = LICENSE.md +PYTHON_CHERRYPY_SETUP_TYPE = setuptools +PYTHON_CHERRYPY_DEPENDENCIES = host-python-setuptools-scm $(eval $(python-package)) diff --git a/package/python-click/python-click.hash b/package/python-click/python-click.hash index c0d0568288..cae03c72e2 100644 --- a/package/python-click/python-click.hash +++ b/package/python-click/python-click.hash @@ -1,3 +1,3 @@ -# md5 from https://pypi.python.org/pypi?:action=show_md5&digest=d0b09582123605220ad6977175f3e51d, sha256 locally computed. -md5 d0b09582123605220ad6977175f3e51d click-6.6.tar.gz -sha256 cc6a19da8ebff6e7074f731447ef7e112bd23adf3de5c597cf9989f2fd8defe9 click-6.6.tar.gz +# md5 from https://pypi.python.org/pypi/click/json, sha256 locally computed +md5 fc4cc00c4863833230d3af92af48abd4 click-6.7.tar.gz +sha256 f15516df478d5a56180fbf80e68f206010e6d160fc39fa508b65e035fd75130b click-6.7.tar.gz diff --git a/package/python-click/python-click.mk b/package/python-click/python-click.mk index 839a4673f4..e6df636167 100644 --- a/package/python-click/python-click.mk +++ b/package/python-click/python-click.mk @@ -4,10 +4,10 @@ # ################################################################################ -PYTHON_CLICK_VERSION = 6.6 +PYTHON_CLICK_VERSION = 6.7 PYTHON_CLICK_SOURCE = click-$(PYTHON_CLICK_VERSION).tar.gz -PYTHON_CLICK_SITE = http://pypi.python.org/packages/source/c/click -PYTHON_CLICK_LICENSE = BSD-3c +PYTHON_CLICK_SITE = https://pypi.python.org/packages/95/d9/c3336b6b5711c3ab9d1d3a80f1a3e2afeb9d8c02a7166462f6cc96570897 +PYTHON_CLICK_LICENSE = BSD-3-Clause PYTHON_CLICK_LICENSE_FILES = LICENSE PYTHON_CLICK_SETUP_TYPE = setuptools diff --git a/package/python-coherence/python-coherence.hash b/package/python-coherence/python-coherence.hash index f788ca3750..533d0c6631 100644 --- a/package/python-coherence/python-coherence.hash +++ b/package/python-coherence/python-coherence.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 fd5a2db9661994a57232ace4a90d259b6554c43b8bf5bfbf8ec2518c03627922 python-coherence-0.6.6.2.tar.gz +sha256 97c8b700b3fe73d48eacb259008f410d6567e5d7d1b8e96386f8cc2422135ca5 python-coherence-b7856985fd496689ca1f9024925ae737297c00d1.tar.gz diff --git a/package/python-coherence/python-coherence.mk b/package/python-coherence/python-coherence.mk index f9df37c322..24da7f70a7 100644 --- a/package/python-coherence/python-coherence.mk +++ b/package/python-coherence/python-coherence.mk @@ -4,11 +4,10 @@ # ################################################################################ -PYTHON_COHERENCE_VERSION = 0.6.6.2 -PYTHON_COHERENCE_SITE = $(call github,coherence-project,Coherence,Coherence-$(PYTHON_COHERENCE_VERSION)) +PYTHON_COHERENCE_VERSION = b7856985fd496689ca1f9024925ae737297c00d1 +PYTHON_COHERENCE_SITE = $(call github,coherence-project,Coherence,$(PYTHON_COHERENCE_VERSION)) PYTHON_COHERENCE_SETUP_TYPE = setuptools PYTHON_COHERENCE_LICENSE = MIT PYTHON_COHERENCE_LICENSE_FILES = LICENCE -PYTHON_COHERENCE_DEPENDENCIES = python-twisted python-zope-interface python-pyasn $(eval $(python-package)) diff --git a/package/python-configobj/python-configobj.mk b/package/python-configobj/python-configobj.mk index d9591d5be3..9e281d28e7 100644 --- a/package/python-configobj/python-configobj.mk +++ b/package/python-configobj/python-configobj.mk @@ -7,7 +7,7 @@ PYTHON_CONFIGOBJ_VERSION = 5.0.6 PYTHON_CONFIGOBJ_SOURCE = configobj-$(PYTHON_CONFIGOBJ_VERSION).tar.gz PYTHON_CONFIGOBJ_SITE = https://pypi.python.org/packages/64/61/079eb60459c44929e684fa7d9e2fdca403f67d64dd9dbac27296be2e0fab -PYTHON_CONFIGOBJ_LICENSE = BSD-3c +PYTHON_CONFIGOBJ_LICENSE = BSD-3-Clause # License only mentioned in the source PYTHON_CONFIGOBJ_SETUP_TYPE = distutils diff --git a/package/python-couchdb/python-couchdb.mk b/package/python-couchdb/python-couchdb.mk index c88787c1db..afdbdf59c9 100644 --- a/package/python-couchdb/python-couchdb.mk +++ b/package/python-couchdb/python-couchdb.mk @@ -8,7 +8,7 @@ PYTHON_COUCHDB_VERSION = 1.1 PYTHON_COUCHDB_SOURCE = CouchDB-$(PYTHON_COUCHDB_VERSION).tar.gz PYTHON_COUCHDB_SITE = https://pypi.python.org/packages/9a/e8/c3c8da6d00145aaca07f2b784794917613dad26532068da4e8392dc48d7f PYTHON_COUCHDB_SETUP_TYPE = setuptools -PYTHON_COUCHDB_LICENSE = BSD-3c +PYTHON_COUCHDB_LICENSE = BSD-3-Clause PYTHON_COUCHDB_LICENSE_FILES = COPYING $(eval $(python-package)) diff --git a/package/python-crc16/python-crc16.mk b/package/python-crc16/python-crc16.mk index 3a292a0ebe..9809f1ed84 100644 --- a/package/python-crc16/python-crc16.mk +++ b/package/python-crc16/python-crc16.mk @@ -6,7 +6,7 @@ PYTHON_CRC16_VERSION = 0.1.1 PYTHON_CRC16_SITE = $(call github,gennady,pycrc16,v$(PYTHON_CRC16_VERSION)) -PYTHON_CRC16_LICENSE = LGPLv3+ +PYTHON_CRC16_LICENSE = LGPL-3.0+ PYTHON_CRC16_LICENSE_FILES = COPYING.txt PYTHON_CRC16_SETUP_TYPE = distutils diff --git a/package/python-crossbar/Config.in b/package/python-crossbar/Config.in index 7ef1aadbc9..faec922e50 100644 --- a/package/python-crossbar/Config.in +++ b/package/python-crossbar/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_PYTHON_CROSSBAR bool "python-crossbar" - depends on !BR2_TOOLCHAIN_USES_MUSL # python-psutil + depends on BR2_INSTALL_LIBSTDCPP # python-pyasn # All the following dependencies are runtime dependencies select BR2_PACKAGE_PYTHON_AUTOBAHN select BR2_PACKAGE_PYTHON_CBOR @@ -32,7 +32,6 @@ config BR2_PACKAGE_PYTHON_CROSSBAR select BR2_PACKAGE_PYTHON_UBJSON select BR2_PACKAGE_PYTHON_WATCHDOG select BR2_PACKAGE_PYTHON_WSACCEL - depends on BR2_INSTALL_LIBSTDCPP # python-pyasn help Crossbar.io is an open-source WAMP application router that allows to build advanced applications from loosely-coupled @@ -40,5 +39,5 @@ config BR2_PACKAGE_PYTHON_CROSSBAR https://pypi.python.org/pypi/crossbar -comment "python-crossbar needs a uClibc or glibc toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP || BR2_TOOLCHAIN_USES_MUSL +comment "python-crossbar needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/python-crossbar/python-crossbar.mk b/package/python-crossbar/python-crossbar.mk index 3d82d77043..77cecfa26d 100644 --- a/package/python-crossbar/python-crossbar.mk +++ b/package/python-crossbar/python-crossbar.mk @@ -4,10 +4,12 @@ # ################################################################################ +# don't bump version as newer setuptools package is needed, +# that still didn't make its way into Buildroot PYTHON_CROSSBAR_VERSION = 0.14.0 PYTHON_CROSSBAR_SOURCE = crossbar-$(PYTHON_CROSSBAR_VERSION).tar.gz PYTHON_CROSSBAR_SITE = https://pypi.python.org/packages/f0/9a/e0b77e15698c47b6293655bc0e1996dd8e87bd8af7bc7434a5c8281a024e -PYTHON_CROSSBAR_LICENSE = AGPLv3 +PYTHON_CROSSBAR_LICENSE = AGPL-3.0 PYTHON_CROSSBAR_LICENSE_FILES = LICENSE PYTHON_CROSSBAR_SETUP_TYPE = setuptools diff --git a/package/python-cryptography/Config.in b/package/python-cryptography/Config.in index 9827cf82b6..14f950d4d8 100644 --- a/package/python-cryptography/Config.in +++ b/package/python-cryptography/Config.in @@ -3,16 +3,17 @@ config BR2_PACKAGE_PYTHON_CRYPTOGRAPHY depends on BR2_INSTALL_LIBSTDCPP # python-pyasn select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_PYTHON_CFFI # runtime - select BR2_PACKAGE_PYTHON_IDNA # runtime - select BR2_PACKAGE_PYTHON_PYASN # runtime - select BR2_PACKAGE_PYTHON_SIX # runtime select BR2_PACKAGE_PYTHON_ENUM34 if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime + select BR2_PACKAGE_PYTHON_HASHLIB if BR2_PACKAGE_PYTHON # runtime + select BR2_PACKAGE_PYTHON_IDNA # runtime + select BR2_PACKAGE_PYTHON_IPADDRESS if BR2_PACKAGE_PYTHON # runtime + select BR2_PACKAGE_PYTHON_PYASN # runtime select BR2_PACKAGE_PYTHON_PYEXPAT if BR2_PACKAGE_PYTHON # runtime select BR2_PACKAGE_PYTHON3_PYEXPAT if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime + select BR2_PACKAGE_PYTHON_SIX # runtime select BR2_PACKAGE_PYTHON_SSL if BR2_PACKAGE_PYTHON # runtime select BR2_PACKAGE_PYTHON3_SSL if BR2_PACKAGE_PYTHON3 # runtime - select BR2_PACKAGE_PYTHON_IPADDRESS if BR2_PACKAGE_PYTHON # runtime help cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. diff --git a/package/python-cryptography/python-cryptography.hash b/package/python-cryptography/python-cryptography.hash index 7738d23490..a1162cf880 100644 --- a/package/python-cryptography/python-cryptography.hash +++ b/package/python-cryptography/python-cryptography.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/cryptography/json, sha256 locally computed -md5 2f63dee6ace602d1d20d1995f8538015 cryptography-1.7.1.tar.gz -sha256 953fef7d40a49a795f4d955c5ce4338abcec5dea822ed0414ed30348303fdb4c cryptography-1.7.1.tar.gz +md5 fade66de437392ed1ba6980768626204 cryptography-1.7.2.tar.gz +sha256 878cb68b3da3d493ffd68f36db11c29deee623671d3287c3f8d685117ffda9a9 cryptography-1.7.2.tar.gz diff --git a/package/python-cryptography/python-cryptography.mk b/package/python-cryptography/python-cryptography.mk index d4e18ec152..5373da8202 100644 --- a/package/python-cryptography/python-cryptography.mk +++ b/package/python-cryptography/python-cryptography.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_CRYPTOGRAPHY_VERSION = 1.7.1 +PYTHON_CRYPTOGRAPHY_VERSION = 1.7.2 PYTHON_CRYPTOGRAPHY_SOURCE = cryptography-$(PYTHON_CRYPTOGRAPHY_VERSION).tar.gz -PYTHON_CRYPTOGRAPHY_SITE = https://pypi.python.org/packages/82/f7/d6dfd7595910a20a563a83a762bf79a253c4df71759c3b228accb3d7e5e4 +PYTHON_CRYPTOGRAPHY_SITE = https://pypi.python.org/packages/99/df/71c7260003f5c469cec3db4c547115df39e9ce6c719a99e067ba0e78fd8a PYTHON_CRYPTOGRAPHY_SETUP_TYPE = setuptools -PYTHON_CRYPTOGRAPHY_LICENSE = Apache-2.0 or BSD-3c +PYTHON_CRYPTOGRAPHY_LICENSE = Apache-2.0 or BSD-3-Clause PYTHON_CRYPTOGRAPHY_LICENSE_FILES = LICENSE LICENSE.APACHE LICENSE.BSD PYTHON_CRYPTOGRAPHY_DEPENDENCIES = host-python-cffi openssl diff --git a/package/python-cssselect/python-cssselect.hash b/package/python-cssselect/python-cssselect.hash index d3ee055a7e..4825950cc3 100644 --- a/package/python-cssselect/python-cssselect.hash +++ b/package/python-cssselect/python-cssselect.hash @@ -1,4 +1,3 @@ -# md5 from https://pypi.python.org/pypi/cssselect/json -md5 4c5931d8456dfe72fa4662f9c0509bfa cssselect-0.9.2.tar.gz -# sha256 locally computed -sha256 713b5b99ef08022257b3409c7ae1b18b2c6536b3f155e6237c5cfba0f67ae6f5 cssselect-0.9.2.tar.gz +# md5 from https://pypi.python.org/pypi/cssselect/json, sha256 locally computed +md5 3fa03bf82a9f0b1223c0f1eb1369e139 cssselect-1.0.1.tar.gz +sha256 73db1c054b9348409e2862fc6c0dde5c4e4fbe4da64c5c5a9e05fbea45744077 cssselect-1.0.1.tar.gz diff --git a/package/python-cssselect/python-cssselect.mk b/package/python-cssselect/python-cssselect.mk index 0db69b967d..7136a524a8 100644 --- a/package/python-cssselect/python-cssselect.mk +++ b/package/python-cssselect/python-cssselect.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_CSSSELECT_VERSION = 0.9.2 +PYTHON_CSSSELECT_VERSION = 1.0.1 PYTHON_CSSSELECT_SOURCE = cssselect-$(PYTHON_CSSSELECT_VERSION).tar.gz -PYTHON_CSSSELECT_SITE = https://pypi.python.org/packages/11/21/47b5d2696a945da177d2344b6e330b7b0d1c52404063cb387d2261517ccb +PYTHON_CSSSELECT_SITE = https://pypi.python.org/packages/77/ff/9c865275cd19290feba56344eba570e719efb7ca5b34d67ed12b22ebbb0d PYTHON_CSSSELECT_SETUP_TYPE = setuptools -PYTHON_CSSSELECT_LICENSE = BSD-3c +PYTHON_CSSSELECT_LICENSE = BSD-3-Clause PYTHON_CSSSELECT_LICENSE_FILES = LICENSE $(eval $(python-package)) diff --git a/package/python-cssutils/python-cssutils.mk b/package/python-cssutils/python-cssutils.mk index 3dd501aa04..3aa96f47d0 100644 --- a/package/python-cssutils/python-cssutils.mk +++ b/package/python-cssutils/python-cssutils.mk @@ -7,7 +7,7 @@ PYTHON_CSSUTILS_VERSION = 1.0.1 PYTHON_CSSUTILS_SOURCE = cssutils-$(PYTHON_CSSUTILS_VERSION).tar.gz PYTHON_CSSUTILS_SITE = https://pypi.python.org/packages/22/de/6b03e0088baf0299ab7d2e95a9e26c2092e9cb3855876b958b6a62175ca2 -PYTHON_CSSUTILS_LICENSE = LGPLv3+ +PYTHON_CSSUTILS_LICENSE = LGPL-3.0+ PYTHON_CSSUTILS_LICENSE_FILES = COPYING.LESSER PYTHON_CSSUTILS_SETUP_TYPE = setuptools diff --git a/package/python-daemon/python-daemon.mk b/package/python-daemon/python-daemon.mk index 648d549ca8..76820b70f6 100644 --- a/package/python-daemon/python-daemon.mk +++ b/package/python-daemon/python-daemon.mk @@ -6,7 +6,7 @@ PYTHON_DAEMON_VERSION = 2.1.1 PYTHON_DAEMON_SITE = https://pypi.python.org/packages/source/p/python-daemon -PYTHON_DAEMON_LICENSE = Apache-2.0 (library), GPLv3+ (test, build) +PYTHON_DAEMON_LICENSE = Apache-2.0 (library), GPL-3.0+ (test, build) PYTHON_DAEMON_LICENSE_FILES = LICENSE.ASF-2 LICENSE.GPL-3 PYTHON_DAEMON_SETUP_TYPE = setuptools PYTHON_DAEMON_DEPENDENCIES = host-python-docutils diff --git a/package/python-dataproperty/python-dataproperty.hash b/package/python-dataproperty/python-dataproperty.hash index d84b21458a..be7eecb285 100644 --- a/package/python-dataproperty/python-dataproperty.hash +++ b/package/python-dataproperty/python-dataproperty.hash @@ -1,3 +1,3 @@ -# md5 from https://pypi.python.org/pypi/dataproperty/json, sha256 locally computed -md5 a05cb97210d41677bde224b53562add4 DataProperty-0.16.2.tar.gz -sha256 c2c6e1f2558bf03b0f8f2dc53a5eb00d9540babd3d69d299be878f2e32937e53 DataProperty-0.16.2.tar.gz +# md5 from https://pypi.python.org/pypi/DataProperty/json, sha256 locally computed +md5 6e757aa2537721681b437cfeacd7c599 DataProperty-0.25.6.tar.gz +sha256 07c36a290311102fd10552a7855baf5c94e9f60506afa37e0dfb88db5b3f5406 DataProperty-0.25.6.tar.gz diff --git a/package/python-dataproperty/python-dataproperty.mk b/package/python-dataproperty/python-dataproperty.mk index 997019c72d..96a7739df1 100644 --- a/package/python-dataproperty/python-dataproperty.mk +++ b/package/python-dataproperty/python-dataproperty.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_DATAPROPERTY_VERSION = 0.16.2 +PYTHON_DATAPROPERTY_VERSION = 0.25.6 PYTHON_DATAPROPERTY_SOURCE = DataProperty-$(PYTHON_DATAPROPERTY_VERSION).tar.gz -PYTHON_DATAPROPERTY_SITE = https://pypi.python.org/packages/c8/95/4803e558a7e29ccf3adbf8f993ec53fe28c46df450892c4cc35c2f0ccedc +PYTHON_DATAPROPERTY_SITE = https://pypi.python.org/packages/bb/4b/d9a8d24aa27bd2827d70e68f1f389cdd824e5bea7541993fac8cb35100ed PYTHON_DATAPROPERTY_SETUP_TYPE = setuptools PYTHON_DATAPROPERTY_LICENSE = MIT PYTHON_DATAPROPERTY_LICENSE_FILES = LICENSE diff --git a/package/python-dateutil/python-dateutil.mk b/package/python-dateutil/python-dateutil.mk index b1f5e68b8f..41dee2d1cd 100644 --- a/package/python-dateutil/python-dateutil.mk +++ b/package/python-dateutil/python-dateutil.mk @@ -7,7 +7,7 @@ PYTHON_DATEUTIL_VERSION = 2.6.0 PYTHON_DATEUTIL_SITE = https://pypi.python.org/packages/51/fc/39a3fbde6864942e8bb24c93663734b74e281b984d1b8c4f95d64b0c21f6 PYTHON_DATEUTIL_SETUP_TYPE = setuptools -PYTHON_DATEUTIL_LICENSE = BSD-3c +PYTHON_DATEUTIL_LICENSE = BSD-3-Clause PYTHON_DATEUTIL_LICENSE_FILES = LICENSE $(eval $(python-package)) diff --git a/package/python-decorator/Config.in b/package/python-decorator/Config.in new file mode 100644 index 0000000000..e7ec00cd69 --- /dev/null +++ b/package/python-decorator/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_DECORATOR + bool "python-decorator" + help + Better living through Python with decorators + + https://github.com/micheles/decorator diff --git a/package/python-decorator/python-decorator.hash b/package/python-decorator/python-decorator.hash new file mode 100644 index 0000000000..293f1ca685 --- /dev/null +++ b/package/python-decorator/python-decorator.hash @@ -0,0 +1,3 @@ +# md5 from https://pypi.python.org/pypi/decorator/json, sha256 locally calculated +md5 73644c8f0bd4983d1b6a34b49adec0ae decorator-4.0.11.tar.gz +sha256 953d6bf082b100f43229cf547f4f97f97e970f5ad645ee7601d55ff87afdfe76 decorator-4.0.11.tar.gz diff --git a/package/python-decorator/python-decorator.mk b/package/python-decorator/python-decorator.mk new file mode 100644 index 0000000000..c0c43f6096 --- /dev/null +++ b/package/python-decorator/python-decorator.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# python-decorator +# +################################################################################ + +PYTHON_DECORATOR_VERSION = 4.0.11 +PYTHON_DECORATOR_SITE = https://pypi.python.org/packages/cc/ac/5a16f1fc0506ff72fcc8fd4e858e3a1c231f224ab79bb7c4c9b2094cc570 +PYTHON_DECORATOR_SOURCE = decorator-$(PYTHON_DECORATOR_VERSION).tar.gz +PYTHON_DECORATOR_LICENSE = BSD-2-Clause +PYTHON_DECORATOR_SETUP_TYPE = setuptools + +$(eval $(python-package)) diff --git a/package/python-dialog/python-dialog.mk b/package/python-dialog/python-dialog.mk index b75d19fd9f..01bcb760da 100644 --- a/package/python-dialog/python-dialog.mk +++ b/package/python-dialog/python-dialog.mk @@ -7,7 +7,7 @@ PYTHON_DIALOG_VERSION = 3.0.1 PYTHON_DIALOG_SOURCE = python2-pythondialog-$(PYTHON_DIALOG_VERSION).tar.bz2 PYTHON_DIALOG_SITE = http://downloads.sourceforge.net/project/pythondialog/pythondialog/$(PYTHON_DIALOG_VERSION) -PYTHON_DIALOG_LICENSE = LGPLv2.1+ +PYTHON_DIALOG_LICENSE = LGPL-2.1+ PYTHON_DIALOG_LICENSE_FILES = COPYING PYTHON_DIALOG_SETUP_TYPE = distutils PYTHON_DIALOG_DEPENDENCIES = dialog diff --git a/package/python-dialog3/python-dialog3.mk b/package/python-dialog3/python-dialog3.mk index abc4a395ce..4048447e1f 100644 --- a/package/python-dialog3/python-dialog3.mk +++ b/package/python-dialog3/python-dialog3.mk @@ -7,7 +7,7 @@ PYTHON_DIALOG3_VERSION = 3.4.0 PYTHON_DIALOG3_SOURCE = pythondialog-$(PYTHON_DIALOG3_VERSION).tar.bz2 PYTHON_DIALOG3_SITE = https://pypi.python.org/packages/fa/f4/686742f01ebb5863d4c5e1acab620acfed0fe97280a26b4ed25917f4f333 -PYTHON_DIALOG3_LICENSE = LGPLv2.1+ +PYTHON_DIALOG3_LICENSE = LGPL-2.1+ PYTHON_DIALOG3_LICENSE_FILES = COPYING PYTHON_DIALOG3_SETUP_TYPE = distutils PYTHON_DIALOG3_DEPENDENCIES = dialog diff --git a/package/python-dicttoxml/python-dicttoxml.mk b/package/python-dicttoxml/python-dicttoxml.mk index 6976715002..537afff601 100644 --- a/package/python-dicttoxml/python-dicttoxml.mk +++ b/package/python-dicttoxml/python-dicttoxml.mk @@ -8,7 +8,7 @@ PYTHON_DICTTOXML_VERSION = 1.7.4 PYTHON_DICTTOXML_SOURCE = dicttoxml-$(PYTHON_DICTTOXML_VERSION).tar.gz PYTHON_DICTTOXML_SITE = https://pypi.python.org/packages/74/36/534db111db9e7610a41641a1f6669a964aacaf51858f466de264cc8dcdd9 PYTHON_DICTTOXML_SETUP_TYPE = distutils -PYTHON_DICTTOXML_LICENSE = GPLv2 +PYTHON_DICTTOXML_LICENSE = GPL-2.0 PYTHON_DICTTOXML_LICENSE_FILES = LICENCE.txt $(eval $(python-package)) diff --git a/package/python-django/python-django.hash b/package/python-django/python-django.hash index 38b303bbf6..09be18440b 100644 --- a/package/python-django/python-django.hash +++ b/package/python-django/python-django.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/django/json, sha256 locally computed -md5 5342e77374b2acd2eafa86d2bb68f8c9 Django-1.10.2.tar.gz -sha256 e127f12a0bfb34843b6e8c82f91e26fff6445a7ca91d222c0794174cf97cbce1 Django-1.10.2.tar.gz +md5 693dfeabad62c561cb205900d32c2a98 Django-1.10.7.tar.gz +sha256 593d779dbc2350a245c4f76d26bdcad58a39895e87304fe6d725bbdf84b5b0b8 Django-1.10.7.tar.gz diff --git a/package/python-django/python-django.mk b/package/python-django/python-django.mk index 2a502314c6..9056f00cf0 100644 --- a/package/python-django/python-django.mk +++ b/package/python-django/python-django.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_DJANGO_VERSION = 1.10.2 +PYTHON_DJANGO_VERSION = 1.10.7 PYTHON_DJANGO_SOURCE = Django-$(PYTHON_DJANGO_VERSION).tar.gz # The official Django site has an unpractical URL -PYTHON_DJANGO_SITE = https://pypi.python.org/packages/57/9e/59444485f092b6ed4f1931e7d2e13b67fdab967c041d02f58a0d1dab8c23 -PYTHON_DJANGO_LICENSE = BSD-3c +PYTHON_DJANGO_SITE = https://pypi.python.org/packages/15/b4/d4bb7313e02386bd23a60e1eb5670321313fb67289c6f36ec43bce747aff +PYTHON_DJANGO_LICENSE = BSD-3-Clause PYTHON_DJANGO_LICENSE_FILES = LICENSE PYTHON_DJANGO_SETUP_TYPE = setuptools diff --git a/package/python-docutils/python-docutils.hash b/package/python-docutils/python-docutils.hash index 9d45058f1a..dbf0fde8fd 100644 --- a/package/python-docutils/python-docutils.hash +++ b/package/python-docutils/python-docutils.hash @@ -1,3 +1,4 @@ # md5 from https://pypi.python.org/pypi/docutils/json, sha256 locally computed -md5 4622263b62c5c771c03502afa3157768 docutils-0.12.tar.gz -sha256 c7db717810ab6965f66c8cf0398a98c9d8df982da39b4cd7f162911eb89596fa docutils-0.12.tar.gz +md5 c53768d63db3873b7d452833553469de docutils-0.14.tar.gz +sha256 51e64ef2ebfb29cae1faa133b3710143496eca21c530f3f71424d77687764274 docutils-0.14.tar.gz +sha256 58c2807e9e6e3297ad4da08acc8884d09d8c5ffc9d824dd100922d0bb1ee4717 COPYING.txt diff --git a/package/python-docutils/python-docutils.mk b/package/python-docutils/python-docutils.mk index a67d89fad1..53da1a56de 100644 --- a/package/python-docutils/python-docutils.mk +++ b/package/python-docutils/python-docutils.mk @@ -1,13 +1,13 @@ -############################################################# +################################################################################ # # python-docutils # -############################################################# +################################################################################ -PYTHON_DOCUTILS_VERSION = 0.12 +PYTHON_DOCUTILS_VERSION = 0.14 PYTHON_DOCUTILS_SOURCE = docutils-$(PYTHON_DOCUTILS_VERSION).tar.gz -PYTHON_DOCUTILS_SITE = https://pypi.python.org/packages/37/38/ceda70135b9144d84884ae2fc5886c6baac4edea39550f28bcd144c1234d -PYTHON_DOCUTILS_LICENSE = Public Domain, BSD-2c, GPLv3 (emacs mode), other +PYTHON_DOCUTILS_SITE = https://pypi.python.org/packages/84/f4/5771e41fdf52aabebbadecc9381d11dea0fa34e4759b4071244fa094804c +PYTHON_DOCUTILS_LICENSE = Public Domain, BSD-2-Clause, GPL-3.0 (emacs mode), other PYTHON_DOCUTILS_LICENSE_FILES = COPYING.txt PYTHON_DOCUTILS_SETUP_TYPE = distutils diff --git a/package/python-dominate/python-dominate.mk b/package/python-dominate/python-dominate.mk index 3e264caa7d..70ddb06796 100644 --- a/package/python-dominate/python-dominate.mk +++ b/package/python-dominate/python-dominate.mk @@ -8,7 +8,7 @@ PYTHON_DOMINATE_VERSION = 2.3.1 PYTHON_DOMINATE_SOURCE = dominate-$(PYTHON_DOMINATE_VERSION).tar.gz PYTHON_DOMINATE_SITE = https://pypi.python.org/packages/43/b2/3b7d67dd59dab93ae08569384b254323516e8868b453eea5614a53835baf PYTHON_DOMINATE_SETUP_TYPE = setuptools -PYTHON_DOMINATE_LICENSE = LGPLv3+ +PYTHON_DOMINATE_LICENSE = LGPL-3.0+ PYTHON_DOMINATE_LICENSE_FILES = LICENSE.txt $(eval $(python-package)) diff --git a/package/python-dpkt/python-dpkt.mk b/package/python-dpkt/python-dpkt.mk index 301550247b..9694b9e62e 100644 --- a/package/python-dpkt/python-dpkt.mk +++ b/package/python-dpkt/python-dpkt.mk @@ -7,7 +7,7 @@ PYTHON_DPKT_VERSION = 1.8.r98 PYTHON_DPKT_SITE = $(call github,kbandla,dpkt,$(PYTHON_DPKT_VERSION)) PYTHON_DPKT_SETUP_TYPE = distutils -PYTHON_DPKT_LICENSE = BSD-3c +PYTHON_DPKT_LICENSE = BSD-3-Clause PYTHON_DPKT_LICENSE_FILES = LICENSE $(eval $(python-package)) diff --git a/package/python-enum/python-enum.hash b/package/python-enum/python-enum.hash index c7c1924abe..6f1daa0b6c 100644 --- a/package/python-enum/python-enum.hash +++ b/package/python-enum/python-enum.hash @@ -1,3 +1,3 @@ -# md5 from https://pypi.python.org/pypi?:action=show_md5&digest=ce75c7c3c86741175a84456cc5bd531e, sha256 locally computed -md5 ce75c7c3c86741175a84456cc5bd531e enum-0.4.4.tar.gz -sha256 9bdfacf543baf2350df7613eb37f598a802f346985ca0dc1548be6494140fdff enum-0.4.4.tar.gz +# md5 from https://pypi.python.org/pypi/enum/json, sha256 locally computed +md5 173d468112cfa13a149b2c8af3e8fd52 enum-0.4.6.tar.gz +sha256 54e78526b166982b36884613f35a76d9a6711c49810d3ec1a05b10c9b31f938e enum-0.4.6.tar.gz diff --git a/package/python-enum/python-enum.mk b/package/python-enum/python-enum.mk index 0131be3f9f..ea602e44a9 100644 --- a/package/python-enum/python-enum.mk +++ b/package/python-enum/python-enum.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_ENUM_VERSION = 0.4.4 +PYTHON_ENUM_VERSION = 0.4.6 PYTHON_ENUM_SOURCE = enum-$(PYTHON_ENUM_VERSION).tar.gz -PYTHON_ENUM_SITE = http://pypi.python.org/packages/source/e/enum +PYTHON_ENUM_SITE = https://pypi.python.org/packages/0c/4e/1ea357e7783c756bb579333c1e4a026fb331371ee771f616ffedc781e531 PYTHON_ENUM_SETUP_TYPE = setuptools -PYTHON_ENUM_LICENSE = GPLv2+ or Python software foundation license v2 -PYTHON_ENUM_LICENSE_FILES = LICENSE.GPL LICENSE.PSF +PYTHON_ENUM_LICENSE = GPL-3.0+ +PYTHON_ENUM_LICENSE_FILES = LICENSE.GPL-3 $(eval $(python-package)) diff --git a/package/python-enum34/python-enum34.hash b/package/python-enum34/python-enum34.hash index dd6ce3408d..a5f0c65352 100644 --- a/package/python-enum34/python-enum34.hash +++ b/package/python-enum34/python-enum34.hash @@ -1,3 +1,3 @@ -# md5 from https://pypi.python.org/pypi?:action=show_md5&digest=ac80f432ac9373e7d162834b264034b6, sha256 locally computed -md5 ac80f432ac9373e7d162834b264034b6 enum34-1.0.4.tar.gz -sha256 d3c19f26a6a34629c18c775f59dfc5dd595764c722b57a2da56ebfb69b94e447 enum34-1.0.4.tar.gz +# md5 from https://pypi.python.org/pypi/enum34/json, sha256 locally computed +md5 5f13a0841a61f7fc295c514490d120d0 enum34-1.1.6.tar.gz +sha256 8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1 enum34-1.1.6.tar.gz diff --git a/package/python-enum34/python-enum34.mk b/package/python-enum34/python-enum34.mk index 13c529d2f9..c612cb65e2 100644 --- a/package/python-enum34/python-enum34.mk +++ b/package/python-enum34/python-enum34.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_ENUM34_VERSION = 1.0.4 +PYTHON_ENUM34_VERSION = 1.1.6 PYTHON_ENUM34_SOURCE = enum34-$(PYTHON_ENUM34_VERSION).tar.gz -PYTHON_ENUM34_SITE = http://pypi.python.org/packages/source/e/enum34 -PYTHON_ENUM34_SETUP_TYPE = distutils -PYTHON_ENUM34_LICENSE = BSD-3c +PYTHON_ENUM34_SITE = https://pypi.python.org/packages/bf/3e/31d502c25302814a7c2f1d3959d2a3b3f78e509002ba91aea64993936876 +PYTHON_ENUM34_SETUP_TYPE = setuptools +PYTHON_ENUM34_LICENSE = BSD-3-Clause PYTHON_ENUM34_LICENSE_FILES = enum/LICENSE $(eval $(python-package)) diff --git a/package/python-flask-babel/python-flask-babel.mk b/package/python-flask-babel/python-flask-babel.mk index 35d34d1ced..0b74149ff4 100644 --- a/package/python-flask-babel/python-flask-babel.mk +++ b/package/python-flask-babel/python-flask-babel.mk @@ -7,7 +7,7 @@ PYTHON_FLASK_BABEL_VERSION = 0.11.1 PYTHON_FLASK_BABEL_SOURCE = Flask-Babel-$(PYTHON_FLASK_BABEL_VERSION).tar.gz PYTHON_FLASK_BABEL_SITE = https://pypi.python.org/packages/47/96/6013d4091fb4238e27e918aec4929f082942fa8c9489ae3aad2f18de4b5b -PYTHON_FLASK_BABEL_LICENSE = BSD-3c +PYTHON_FLASK_BABEL_LICENSE = BSD-3-Clause PYTHON_FLASK_BABEL_SETUP_TYPE = setuptools PYTHON_FLASK_BABEL_LICENSE_FILES = LICENSE diff --git a/package/python-flask-jsonrpc/python-flask-jsonrpc.mk b/package/python-flask-jsonrpc/python-flask-jsonrpc.mk index ade39e1b3e..dbb37c373c 100644 --- a/package/python-flask-jsonrpc/python-flask-jsonrpc.mk +++ b/package/python-flask-jsonrpc/python-flask-jsonrpc.mk @@ -7,7 +7,7 @@ PYTHON_FLASK_JSONRPC_VERSION = 0.3.1 PYTHON_FLASK_JSONRPC_SOURCE = Flask-JSONRPC-$(PYTHON_FLASK_JSONRPC_VERSION).tar.gz PYTHON_FLASK_JSONRPC_SITE = https://pypi.python.org/packages/cb/1f/e6d66e8498609ba04bac76155b2ea884df95531e93501bf4ef009d40a83c -PYTHON_FLASK_JSONRPC_LICENSE = BSD-3c +PYTHON_FLASK_JSONRPC_LICENSE = BSD-3-Clause PYTHON_FLASK_JSONRPC_LICENSE_FILES = setup.py PYTHON_FLASK_JSONRPC_SETUP_TYPE = setuptools diff --git a/package/python-flask-login/python-flask-login.hash b/package/python-flask-login/python-flask-login.hash index c488a35e24..cd73b3ff6c 100644 --- a/package/python-flask-login/python-flask-login.hash +++ b/package/python-flask-login/python-flask-login.hash @@ -1,3 +1,3 @@ -# md5 from https://pypi.python.org/pypi/Flask-Login/0.3.2, sha256 locally computed: -md5 d95c2275d3e1c755145910077366dc45 Flask-Login-0.3.2.tar.gz -sha256 e72eff5c35e5a31db1aeca1db5d2501be702674ea88e8f223b5d2b11644beee6 Flask-Login-0.3.2.tar.gz +# md5 from https://pypi.python.org/pypi/flask_login/json, sha256 locally computed +md5 e050efaa2c4dbc2d97f480a70f4d44aa Flask-Login-0.4.0.tar.gz +sha256 d25e356b14a59f52da0ab30c31c2ad285fa23a840f0f6971df7ed247c77082a7 Flask-Login-0.4.0.tar.gz diff --git a/package/python-flask-login/python-flask-login.mk b/package/python-flask-login/python-flask-login.mk index aa6d8e3de5..50374130db 100644 --- a/package/python-flask-login/python-flask-login.mk +++ b/package/python-flask-login/python-flask-login.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_FLASK_LOGIN_VERSION = 0.3.2 +PYTHON_FLASK_LOGIN_VERSION = 0.4.0 PYTHON_FLASK_LOGIN_SOURCE = Flask-Login-$(PYTHON_FLASK_LOGIN_VERSION).tar.gz -PYTHON_FLASK_LOGIN_SITE = http://pypi.python.org/packages/source/F/Flask-Login +PYTHON_FLASK_LOGIN_SITE = https://pypi.python.org/packages/70/96/20cae731ef27084dcb183f3a6e3073d0232f10c1fd7be76729bd7bd4b994 PYTHON_FLASK_LOGIN_LICENSE = MIT PYTHON_FLASK_LOGIN_LICENSE_FILES = LICENSE PYTHON_FLASK_LOGIN_SETUP_TYPE = setuptools diff --git a/package/python-flask/python-flask.hash b/package/python-flask/python-flask.hash index 919b075989..ca117218ea 100644 --- a/package/python-flask/python-flask.hash +++ b/package/python-flask/python-flask.hash @@ -1,3 +1,3 @@ -# md5 from https://pypi.python.org/pypi/flask/json, sha256 locally computed -md5 c1d30f51cff4a38f9454b23328a15c5a Flask-0.12.tar.gz -sha256 93e803cdbe326a61ebd5c5d353959397c85f829bec610d59cb635c9f97d7ca8b Flask-0.12.tar.gz +# md5 from https://pypi.python.org/pypi/Flask/json, sha256 locally computed +md5 97278dfdafda98ba7902e890b0289177 Flask-0.12.2.tar.gz +sha256 49f44461237b69ecd901cc7ce66feea0319b9158743dd27a2899962ab214dac1 Flask-0.12.2.tar.gz diff --git a/package/python-flask/python-flask.mk b/package/python-flask/python-flask.mk index 6c25a6d144..06b1b4d9d1 100644 --- a/package/python-flask/python-flask.mk +++ b/package/python-flask/python-flask.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_FLASK_VERSION = 0.12 +PYTHON_FLASK_VERSION = 0.12.2 PYTHON_FLASK_SOURCE = Flask-$(PYTHON_FLASK_VERSION).tar.gz -PYTHON_FLASK_SITE = https://pypi.python.org/packages/4b/3a/4c20183df155dd2e39168e35d53a388efb384a512ca6c73001d8292c094a +PYTHON_FLASK_SITE = https://pypi.python.org/packages/eb/12/1c7bd06fcbd08ba544f25bf2c6612e305a70ea51ca0eda8007344ec3f123 PYTHON_FLASK_SETUP_TYPE = setuptools -PYTHON_FLASK_LICENSE = BSD-3c +PYTHON_FLASK_LICENSE = BSD-3-Clause PYTHON_FLASK_LICENSE_FILES = LICENSE $(eval $(python-package)) diff --git a/package/python-flup/python-flup.hash b/package/python-flup/python-flup.hash index 50a0381d3b..86f8d1bfaf 100644 --- a/package/python-flup/python-flup.hash +++ b/package/python-flup/python-flup.hash @@ -1,4 +1,3 @@ -# From https://pypi.python.org/pypi/flup/1.0.3.dev-20110405 -md5 a005b072d144fc0e44b0fa4c5a9ba029 flup-1.0.3.dev-20110405.tar.gz -# Calculated based on the hash above -sha256 6649cf41854ea8782c795cdde64fdf79a90db821533d3652f91d21b0a7f39c79 flup-1.0.3.dev-20110405.tar.gz +# md5 from https://pypi.python.org/pypi/flup/json, sha256 locally computed +md5 bc104a7444bfac36fc2146a356de4c11 flup-1.0.3.dev20161029.tar.gz +sha256 3dc5620b77a6a4cd0afb556626eb0ce85708e513f9c50dc5e982190e3d5f9e26 flup-1.0.3.dev20161029.tar.gz diff --git a/package/python-flup/python-flup.mk b/package/python-flup/python-flup.mk index 5e612bb357..26d59385bd 100644 --- a/package/python-flup/python-flup.mk +++ b/package/python-flup/python-flup.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_FLUP_VERSION = 1.0.3.dev-20110405 +PYTHON_FLUP_VERSION = 1.0.3.dev20161029 PYTHON_FLUP_SOURCE = flup-$(PYTHON_FLUP_VERSION).tar.gz -PYTHON_FLUP_SITE = http://pypi.python.org/packages/source/f/flup +PYTHON_FLUP_SITE = https://pypi.python.org/packages/17/33/36768930a5ffe4f294ed3987c631bfd3fddb4f9e5e46bc8dc30fd731dbcd -PYTHON_FLUP_LICENSE = BSD-2c, MIT +PYTHON_FLUP_LICENSE = BSD-2-Clause, MIT PYTHON_FLUP_SETUP_TYPE = setuptools diff --git a/package/python-futures/python-futures.mk b/package/python-futures/python-futures.mk index 8a1afa3386..fabfa6ae37 100644 --- a/package/python-futures/python-futures.mk +++ b/package/python-futures/python-futures.mk @@ -8,7 +8,7 @@ PYTHON_FUTURES_VERSION = 3.0.5 PYTHON_FUTURES_SOURCE = futures-$(PYTHON_FUTURES_VERSION).tar.gz PYTHON_FUTURES_SITE = https://pypi.python.org/packages/55/db/97c1ca37edab586a1ae03d6892b6633d8eaa23b23ac40c7e5bbc55423c78 PYTHON_FUTURES_SETUP_TYPE = setuptools -PYTHON_FUTURES_LICENSE = BSD-2c +PYTHON_FUTURES_LICENSE = BSD-2-Clause PYTHON_FUTURES_LICENSE_FILES = LICENSE $(eval $(python-package)) diff --git a/package/python-gobject/python-gobject.mk b/package/python-gobject/python-gobject.mk index 74cb0540cc..cf5c874151 100644 --- a/package/python-gobject/python-gobject.mk +++ b/package/python-gobject/python-gobject.mk @@ -8,7 +8,7 @@ PYTHON_GOBJECT_VERSION_MAJOR = 2.28 PYTHON_GOBJECT_VERSION = $(PYTHON_GOBJECT_VERSION_MAJOR).6 PYTHON_GOBJECT_SOURCE = pygobject-$(PYTHON_GOBJECT_VERSION).tar.xz PYTHON_GOBJECT_SITE = http://ftp.gnome.org/pub/gnome/sources/pygobject/$(PYTHON_GOBJECT_VERSION_MAJOR) -PYTHON_GOBJECT_LICENSE = LGPLv2.1+ +PYTHON_GOBJECT_LICENSE = LGPL-2.1+ PYTHON_GOBJECT_LICENSE_FILES = COPYING PYTHON_GOBJECT_DEPENDENCIES = host-pkgconf libglib2 PYTHON_GOBJECT_CONF_OPTS = --disable-introspection @@ -19,13 +19,13 @@ ifeq ($(BR2_PACKAGE_PYTHON),y) PYTHON_GOBJECT_DEPENDENCIES += python host-python PYTHON_GOBJECT_CONF_ENV = \ - PYTHON=$(HOST_DIR)/usr/bin/python2 \ + PYTHON=$(HOST_DIR)/bin/python2 \ PYTHON_INCLUDES="`$(STAGING_DIR)/usr/bin/python2-config --includes`" else PYTHON_GOBJECT_DEPENDENCIES += python3 host-python3 PYTHON_GOBJECT_CONF_ENV = \ - PYTHON=$(HOST_DIR)/usr/bin/python3 \ + PYTHON=$(HOST_DIR)/bin/python3 \ PYTHON_INCLUDES="`$(STAGING_DIR)/usr/bin/python3-config --includes`" endif diff --git a/package/python-h2/Config.in b/package/python-h2/Config.in new file mode 100644 index 0000000000..dccee9b909 --- /dev/null +++ b/package/python-h2/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_H2 + bool "python-h2" + select BR2_PACKAGE_PYTHON_HYPERFRAME # runtime + select BR2_PACKAGE_PYTHON_HPACK # runtime + help + HTTP/2 State-Machine based protocol implementation. + + http://hyper.rtfd.org diff --git a/package/python-h2/python-h2.hash b/package/python-h2/python-h2.hash new file mode 100644 index 0000000000..e34f7beb90 --- /dev/null +++ b/package/python-h2/python-h2.hash @@ -0,0 +1,3 @@ +# md5 from https://pypi.python.org/pypi/h2/json, sha256 locally computed +md5 586686662928c2851eb0f1fe99bf279d h2-3.0.1.tar.gz +sha256 b2962f883fa392a23cbfcc4ad03c335bcc661be0cf9627657b589f0df2206e64 h2-3.0.1.tar.gz diff --git a/package/python-h2/python-h2.mk b/package/python-h2/python-h2.mk new file mode 100644 index 0000000000..37f0156458 --- /dev/null +++ b/package/python-h2/python-h2.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-h2 +# +################################################################################ + +PYTHON_H2_VERSION = 3.0.1 +PYTHON_H2_SOURCE = h2-$(PYTHON_H2_VERSION).tar.gz +PYTHON_H2_SITE = https://pypi.python.org/packages/3c/86/aebb88df3c87255cfd0ffd338608fbfb34d1c850750a486e7f05b013e5a3 +PYTHON_H2_SETUP_TYPE = setuptools +PYTHON_H2_LICENSE = MIT +PYTHON_H2_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-hpack/0001-Convert-HISTORY.rst-from-UTF-8-format-to-ASCII.patch b/package/python-hpack/0001-Convert-HISTORY.rst-from-UTF-8-format-to-ASCII.patch new file mode 100644 index 0000000000..015b8a24da --- /dev/null +++ b/package/python-hpack/0001-Convert-HISTORY.rst-from-UTF-8-format-to-ASCII.patch @@ -0,0 +1,40 @@ +From 3d195f4f599f37c89419f1db1302f94acb38c264 Mon Sep 17 00:00:00 2001 +From: Yegor Yefremov +Date: Tue, 1 Aug 2017 10:15:33 +0200 +Subject: [PATCH] Convert HISTORY.rst from UTF-8 format to ASCII +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +UTF-8 formatted file breaks installations on some systems: + +Traceback (most recent call last): + File "setup.py", line 34, in + long_description=open('README.rst').read() + '\n\n' + open('HISTORY.rst').read(), + File "/home/peko/autobuild/instance-1/output/target/usr/lib/python3.6/encodings/ascii.py", line 26, in decode + return codecs.ascii_decode(input, self.errors)[0] +UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 1125: ordinal not in range(128) + +To fix this error just replace '§' with 'S' meaning 'Section'. + +Signed-off-by: Yegor Yefremov +--- + HISTORY.rst | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/HISTORY.rst b/HISTORY.rst +index 37b2d9c..b9310f5 100644 +--- a/HISTORY.rst ++++ b/HISTORY.rst +@@ -27,7 +27,7 @@ Release History + - HPACK now tolerates receiving multiple header table size changes in sequence, + rather than only one. + - HPACK now forbids header table size changes anywhere but first in a header +- block, as required by RFC 7541 § 4.2. ++ block, as required by RFC 7541 S 4.2. + - Other miscellaneous performance improvements. + + 2.3.0 (2016-08-04) +-- +2.11.0 + diff --git a/package/python-hpack/Config.in b/package/python-hpack/Config.in new file mode 100644 index 0000000000..b0ea03bc42 --- /dev/null +++ b/package/python-hpack/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_HPACK + bool "python-hpack" + help + Pure-Python HPACK header compression. + + http://hyper.rtfd.org diff --git a/package/python-hpack/python-hpack.hash b/package/python-hpack/python-hpack.hash new file mode 100644 index 0000000000..445d4d59f5 --- /dev/null +++ b/package/python-hpack/python-hpack.hash @@ -0,0 +1,3 @@ +# md5 from https://pypi.python.org/pypi/hpack/json, sha256 locally computed +md5 556b0ae66180f54c2ce8029a0952088b hpack-3.0.0.tar.gz +sha256 8eec9c1f4bfae3408a3f30500261f7e6a65912dc138526ea054f9ad98892e9d2 hpack-3.0.0.tar.gz diff --git a/package/python-hpack/python-hpack.mk b/package/python-hpack/python-hpack.mk new file mode 100644 index 0000000000..d6b96649e9 --- /dev/null +++ b/package/python-hpack/python-hpack.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-hpack +# +################################################################################ + +PYTHON_HPACK_VERSION = 3.0.0 +PYTHON_HPACK_SOURCE = hpack-$(PYTHON_HPACK_VERSION).tar.gz +PYTHON_HPACK_SITE = https://pypi.python.org/packages/44/f1/b4440e46e265a29c0cb7b09b6daec6edf93c79eae713cfed93fbbf8716c5 +PYTHON_HPACK_SETUP_TYPE = setuptools +PYTHON_HPACK_LICENSE = MIT +PYTHON_HPACK_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-httplib2/python-httplib2.hash b/package/python-httplib2/python-httplib2.hash index 879f18b9d2..9a075b6d4a 100644 --- a/package/python-httplib2/python-httplib2.hash +++ b/package/python-httplib2/python-httplib2.hash @@ -1,3 +1,3 @@ -# md5 from https://pypi.python.org/pypi?:action=show_md5&digest=bd1b1445b3b2dfa7276b09b1a07b7f0e, sha256 locally computed -md5 bd1b1445b3b2dfa7276b09b1a07b7f0e httplib2-0.9.2.tar.gz -sha256 c3aba1c9539711551f4d83e857b316b5134a1c4ddce98a875b7027be7dd6d988 httplib2-0.9.2.tar.gz +# md5 from https://pypi.python.org/pypi/httplib2/json, sha256 locally computed +md5 709c305e1b00e9c0af49ee816429569c httplib2-0.10.3.tar.gz +sha256 e404d3b7bd86c1bc931906098e7c1305d6a3a6dcef141b8bb1059903abb3ceeb httplib2-0.10.3.tar.gz diff --git a/package/python-httplib2/python-httplib2.mk b/package/python-httplib2/python-httplib2.mk index adeddd33b2..7c14e24ef0 100644 --- a/package/python-httplib2/python-httplib2.mk +++ b/package/python-httplib2/python-httplib2.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_HTTPLIB2_VERSION = 0.9.2 +PYTHON_HTTPLIB2_VERSION = 0.10.3 PYTHON_HTTPLIB2_SOURCE = httplib2-$(PYTHON_HTTPLIB2_VERSION).tar.gz -PYTHON_HTTPLIB2_SITE = http://pypi.python.org/packages/source/h/httplib2 +PYTHON_HTTPLIB2_SITE = https://pypi.python.org/packages/e4/2e/a7e27d2c36076efeb8c0e519758968b20389adf57a9ce3af139891af2696 PYTHON_HTTPLIB2_SETUP_TYPE = setuptools PYTHON_HTTPLIB2_LICENSE = MIT PYTHON_HTTPLIB2_LICENSE_FILES = PKG-INFO diff --git a/package/python-hyperframe/Config.in b/package/python-hyperframe/Config.in new file mode 100644 index 0000000000..f3318a20e2 --- /dev/null +++ b/package/python-hyperframe/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_HYPERFRAME + bool "python-hyperframe" + help + HTTP/2 framing layer for Python. + + http://hyper.rtfd.org diff --git a/package/python-hyperframe/python-hyperframe.hash b/package/python-hyperframe/python-hyperframe.hash new file mode 100644 index 0000000000..e6139374ec --- /dev/null +++ b/package/python-hyperframe/python-hyperframe.hash @@ -0,0 +1,3 @@ +# md5 from https://pypi.python.org/pypi/hyperframe/json, sha256 locally computed +md5 c2aa71dd091836e72d2c6784d1dd1591 hyperframe-5.1.0.tar.gz +sha256 a25944539db36d6a2e47689e7915dcee562b3f8d10c6cdfa0d53c91ed692fb04 hyperframe-5.1.0.tar.gz diff --git a/package/python-hyperframe/python-hyperframe.mk b/package/python-hyperframe/python-hyperframe.mk new file mode 100644 index 0000000000..8d0688f6bd --- /dev/null +++ b/package/python-hyperframe/python-hyperframe.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-hyperframe +# +################################################################################ + +PYTHON_HYPERFRAME_VERSION = 5.1.0 +PYTHON_HYPERFRAME_SOURCE = hyperframe-$(PYTHON_HYPERFRAME_VERSION).tar.gz +PYTHON_HYPERFRAME_SITE = https://pypi.python.org/packages/a4/59/dddaddc73b4d53e9649850998e23b6daca80817c5442465a12423235d20b +PYTHON_HYPERFRAME_SETUP_TYPE = setuptools +PYTHON_HYPERFRAME_LICENSE = MIT +PYTHON_HYPERFRAME_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-hyperlink/Config.in b/package/python-hyperlink/Config.in new file mode 100644 index 0000000000..11ac814233 --- /dev/null +++ b/package/python-hyperlink/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_HYPERLINK + bool "python-hyperlink" + help + A featureful, correct URL for Python. + + https://github.com/python-hyper/hyperlink diff --git a/package/python-hyperlink/python-hyperlink.hash b/package/python-hyperlink/python-hyperlink.hash new file mode 100644 index 0000000000..565a34d16d --- /dev/null +++ b/package/python-hyperlink/python-hyperlink.hash @@ -0,0 +1,3 @@ +# md5 from https://pypi.python.org/pypi/hyperlink/json, sha256 locally computed +md5 7a86b09d80b8f0c89f6b61efa0ebaab9 hyperlink-17.3.0.tar.gz +sha256 ddadbbdda2b94182da14be1b5d26ec3188dfdf9687b9b8c8d810f52f79b7af1a hyperlink-17.3.0.tar.gz diff --git a/package/python-hyperlink/python-hyperlink.mk b/package/python-hyperlink/python-hyperlink.mk new file mode 100644 index 0000000000..7b48e36344 --- /dev/null +++ b/package/python-hyperlink/python-hyperlink.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-hyperlink +# +################################################################################ + +PYTHON_HYPERLINK_VERSION = 17.3.0 +PYTHON_HYPERLINK_SOURCE = hyperlink-$(PYTHON_HYPERLINK_VERSION).tar.gz +PYTHON_HYPERLINK_SITE = https://pypi.python.org/packages/61/9c/69aa5d6942271961ad1fff910db77706623423d054ecb647da963efdf49a +PYTHON_HYPERLINK_SETUP_TYPE = setuptools +PYTHON_HYPERLINK_LICENSE = MIT +PYTHON_HYPERLINK_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-ibmiotf/Config.in b/package/python-ibmiotf/Config.in new file mode 100644 index 0000000000..66d58687c4 --- /dev/null +++ b/package/python-ibmiotf/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_PYTHON_IBMIOTF + bool "python-ibmiotf" + select BR2_PACKAGE_PYTHON_DICTTOXML # runtime + select BR2_PACKAGE_PYTHON_ISO8601 # runtime + select BR2_PACKAGE_PYTHON_PAHO_MQTT # runtime + select BR2_PACKAGE_PYTHON_PYTZ # runtime + select BR2_PACKAGE_PYTHON_REQUESTS # runtime + select BR2_PACKAGE_PYTHON_REQUESTS_TOOLBELT # runtime + select BR2_PACKAGE_PYTHON_SSL if BR2_PACKAGE_PYTHON # runtime + select BR2_PACKAGE_PYTHON3_SSL if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON_XMLTODICT # runtime + help + Python Client for IBM Watson IoT Platform. + + https://github.com/ibm-watson-iot/iot-python diff --git a/package/python-ibmiotf/python-ibmiotf.hash b/package/python-ibmiotf/python-ibmiotf.hash new file mode 100644 index 0000000000..9649876f63 --- /dev/null +++ b/package/python-ibmiotf/python-ibmiotf.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 ab230bc4c90af4237abe790ebc6b171706a35971b886f1724d879c2f328a616b python-ibmiotf-0.2.8.tar.gz +sha256 d8288e11fc42988629f7c0b649fa007332dd0187b010d025feaf7b1925376e8d LICENSE diff --git a/package/python-ibmiotf/python-ibmiotf.mk b/package/python-ibmiotf/python-ibmiotf.mk new file mode 100644 index 0000000000..9853389c38 --- /dev/null +++ b/package/python-ibmiotf/python-ibmiotf.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# python-ibmiotf +# +################################################################################ + +PYTHON_IBMIOTF_VERSION = 0.2.8 +PYTHON_IBMIOTF_SITE = $(call github,ibm-watson-iot,iot-python,$(PYTHON_IBMIOTF_VERSION)) +PYTHON_IBMIOTF_SETUP_TYPE = setuptools +PYTHON_IBMIOTF_LICENSE = EPL-1.0 +PYTHON_IBMIOTF_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-id3/python-id3.mk b/package/python-id3/python-id3.mk index 157576e6c8..d4cdded00c 100644 --- a/package/python-id3/python-id3.mk +++ b/package/python-id3/python-id3.mk @@ -8,7 +8,7 @@ PYTHON_ID3_VERSION = 1.2 PYTHON_ID3_SOURCE = id3-py_$(PYTHON_ID3_VERSION).tar.gz PYTHON_ID3_SITE = http://downloads.sourceforge.net/project/id3-py/id3-py/$(PYTHON_ID3_VERSION) PYTHON_ID3_SETUP_TYPE = distutils -PYTHON_ID3_LICENSE = GPLv2+ +PYTHON_ID3_LICENSE = GPL-2.0+ PYTHON_ID3_LICENSE_FILES = COPYING $(eval $(python-package)) diff --git a/package/python-idna/python-idna.hash b/package/python-idna/python-idna.hash index 4e4c6771bf..839154a06f 100644 --- a/package/python-idna/python-idna.hash +++ b/package/python-idna/python-idna.hash @@ -1,3 +1,3 @@ -# md5 from https://pypi.python.org/pypi?:action=show_md5&digest=f6473caa9c5e0cc1ad3fd5d04c3c114b, sha256 locally computed -md5 f6473caa9c5e0cc1ad3fd5d04c3c114b idna-2.1.tar.gz -sha256 ed36f281aebf3cd0797f163bb165d84c31507cedd15928b095b1675e2d04c676 idna-2.1.tar.gz +# md5 from https://pypi.python.org/pypi/idna/json, sha256 locally computed +md5 fc1d992bef73e8824db411bb5d21f012 idna-2.5.tar.gz +sha256 3cb5ce08046c4e3a560fc02f138d0ac63e00f8ce5901a56b32ec8b7994082aab idna-2.5.tar.gz diff --git a/package/python-idna/python-idna.mk b/package/python-idna/python-idna.mk index 3f9f109372..c8d1793e0a 100644 --- a/package/python-idna/python-idna.mk +++ b/package/python-idna/python-idna.mk @@ -4,10 +4,10 @@ # ################################################################################ -PYTHON_IDNA_VERSION = 2.1 +PYTHON_IDNA_VERSION = 2.5 PYTHON_IDNA_SOURCE = idna-$(PYTHON_IDNA_VERSION).tar.gz -PYTHON_IDNA_SITE = https://pypi.python.org/packages/source/i/idna -PYTHON_IDNA_LICENSE = BSD-3c +PYTHON_IDNA_SITE = https://pypi.python.org/packages/d8/82/28a51052215014efc07feac7330ed758702fc0581347098a81699b5281cb +PYTHON_IDNA_LICENSE = BSD-3-Clause PYTHON_IDNA_LICENSE_FILES = LICENSE.rst PYTHON_IDNA_SETUP_TYPE = setuptools diff --git a/package/python-incremental/python-incremental.mk b/package/python-incremental/python-incremental.mk index 64eda68e85..fc1975ffd9 100644 --- a/package/python-incremental/python-incremental.mk +++ b/package/python-incremental/python-incremental.mk @@ -12,3 +12,4 @@ PYTHON_INCREMENTAL_LICENSE = MIT PYTHON_INCREMENTAL_LICENSE_FILES = LICENSE $(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/package/python-iniparse/python-iniparse.hash b/package/python-iniparse/python-iniparse.hash index d7d8e9336d..f1f803823e 100644 --- a/package/python-iniparse/python-iniparse.hash +++ b/package/python-iniparse/python-iniparse.hash @@ -1,4 +1,3 @@ # md5 from https://pypi.python.org/pypi?:action=show_md5&digest=5e573e9e9733d97623881ce9bbe5eca6, sha256 locally computed md5 5e573e9e9733d97623881ce9bbe5eca6 iniparse-0.4.tar.gz sha256 abc1ee12d2cfb2506109072d6c21e40b6c75a3fe90a9c924327d80bc0d99c054 iniparse-0.4.tar.gz - diff --git a/package/python-iniparse/python-iniparse.mk b/package/python-iniparse/python-iniparse.mk index b00e0c4ae1..5c4e03c88c 100644 --- a/package/python-iniparse/python-iniparse.mk +++ b/package/python-iniparse/python-iniparse.mk @@ -7,7 +7,7 @@ PYTHON_INIPARSE_VERSION = 0.4 PYTHON_INIPARSE_SOURCE = iniparse-$(PYTHON_INIPARSE_VERSION).tar.gz PYTHON_INIPARSE_SITE = https://pypi.python.org/packages/source/i/iniparse -PYTHON_INIPARSE_LICENSE = Python software foundation license v2, MIT +PYTHON_INIPARSE_LICENSE = Python-2.0, MIT PYTHON_INIPARSE_LICENSE_FILES = LICENSE-PSF LICENSE PYTHON_INIPARSE_SETUP_TYPE = distutils diff --git a/package/python-iowait/python-iowait.mk b/package/python-iowait/python-iowait.mk index 99c292287b..e327053e8e 100644 --- a/package/python-iowait/python-iowait.mk +++ b/package/python-iowait/python-iowait.mk @@ -8,7 +8,7 @@ PYTHON_IOWAIT_VERSION = 0.2 PYTHON_IOWAIT_SOURCE = iowait-$(PYTHON_IOWAIT_VERSION).tar.gz PYTHON_IOWAIT_SITE = https://pypi.python.org/packages/65/30/e953673fe9619938e9c74408401cf865f37716da89f61f6e5d9328c0f71e PYTHON_IOWAIT_SETUP_TYPE = distutils -PYTHON_IOWAIT_LICENSE = LGPLv3+ +PYTHON_IOWAIT_LICENSE = LGPL-3.0+ PYTHON_IOWAIT_LICENSE_FILES = COPYING.LESSER $(eval $(python-package)) diff --git a/package/python-ipaddr/Config.in b/package/python-ipaddr/Config.in index 746d720d86..57279273f9 100644 --- a/package/python-ipaddr/Config.in +++ b/package/python-ipaddr/Config.in @@ -1,9 +1,9 @@ config BR2_PACKAGE_PYTHON_IPADDR - depends on BR2_PACKAGE_PYTHON # included since python3.3 bool "python-ipaddr" + depends on BR2_PACKAGE_PYTHON # included since python3.3 help An IPv4/IPv6 manipulation library in Python. This library is used to create/poke/manipulate IPv4 and IPv6 addresses and prefixes. - https://code.google.com/p/ipaddr-py/ + https://github.com/google/ipaddr-py diff --git a/package/python-ipaddress/python-ipaddress.hash b/package/python-ipaddress/python-ipaddress.hash index a7c3803fd8..c4fdf6d6c0 100644 --- a/package/python-ipaddress/python-ipaddress.hash +++ b/package/python-ipaddress/python-ipaddress.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/ipaddress/json, sha256 locally computed -md5 8bbf0326719fafb1f453921ef96729fe ipaddress-1.0.17.tar.gz -sha256 3a21c5a15f433710aaa26f1ae174b615973a25182006ae7f9c26de151cd51716 ipaddress-1.0.17.tar.gz +md5 310c2dfd64eb6f0df44aa8c59f2334a7 ipaddress-1.0.18.tar.gz +sha256 5d8534c8e185f2d8a1fda1ef73f2c8f4b23264e8e30063feeb9511d492a413e1 ipaddress-1.0.18.tar.gz diff --git a/package/python-ipaddress/python-ipaddress.mk b/package/python-ipaddress/python-ipaddress.mk index 5ff70d48e0..646db5d2d3 100644 --- a/package/python-ipaddress/python-ipaddress.mk +++ b/package/python-ipaddress/python-ipaddress.mk @@ -4,10 +4,10 @@ # ################################################################################ -PYTHON_IPADDRESS_VERSION = 1.0.17 +PYTHON_IPADDRESS_VERSION = 1.0.18 PYTHON_IPADDRESS_SOURCE = ipaddress-$(PYTHON_IPADDRESS_VERSION).tar.gz -PYTHON_IPADDRESS_SITE = https://pypi.python.org/packages/bb/26/3b64955ff73f9e3155079b9ed31812afdfa5333b5c76387454d651ef593a -PYTHON_IPADDRESS_LICENSE = Python software foundation license +PYTHON_IPADDRESS_SITE = https://pypi.python.org/packages/4e/13/774faf38b445d0b3a844b65747175b2e0500164b7c28d78e34987a5bfe06 +PYTHON_IPADDRESS_LICENSE = Python-2.0 PYTHON_IPADDRESS_LICENSE_FILES = LICENSE PYTHON_IPADDRESS_SETUP_TYPE = setuptools diff --git a/package/python-ipy/python-ipy.mk b/package/python-ipy/python-ipy.mk index ec0d0d7f39..2b2bdf2ddf 100644 --- a/package/python-ipy/python-ipy.mk +++ b/package/python-ipy/python-ipy.mk @@ -7,7 +7,7 @@ PYTHON_IPY_VERSION = 0.83 PYTHON_IPY_SOURCE = IPy-$(PYTHON_IPY_VERSION).tar.gz PYTHON_IPY_SITE = https://pypi.python.org/packages/88/28/79162bfc351a3f1ab44d663ab3f03fb495806fdb592170990a1568ffbf63 -PYTHON_IPY_LICENSE = BSD-3c +PYTHON_IPY_LICENSE = BSD-3-Clause PYTHON_IPY_LICENSE_FILES = COPYING PYTHON_IPY_SETUP_TYPE = distutils diff --git a/package/python-ipython-genutils/Config.in b/package/python-ipython-genutils/Config.in new file mode 100644 index 0000000000..d49442eeeb --- /dev/null +++ b/package/python-ipython-genutils/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_IPYTHON_GENUTILS + bool "python-ipython-genutils" + help + IPython vestigial utilities + + https://pypi.python.org/pypi/ipython_genutils diff --git a/package/python-ipython-genutils/python-ipython-genutils.hash b/package/python-ipython-genutils/python-ipython-genutils.hash new file mode 100644 index 0000000000..6fa2bc54db --- /dev/null +++ b/package/python-ipython-genutils/python-ipython-genutils.hash @@ -0,0 +1,3 @@ +# md5 from https://pypi.python.org/pypi/ipython_genutils/json, sha256 locally computed +md5 5a4f9781f78466da0ea1a648f3e1f79f ipython_genutils-0.2.0.tar.gz +sha256 eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8 ipython_genutils-0.2.0.tar.gz diff --git a/package/python-ipython-genutils/python-ipython-genutils.mk b/package/python-ipython-genutils/python-ipython-genutils.mk new file mode 100644 index 0000000000..4e8cc287fe --- /dev/null +++ b/package/python-ipython-genutils/python-ipython-genutils.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-ipython-genutils +# +################################################################################ + +PYTHON_IPYTHON_GENUTILS_VERSION = 0.2.0 +PYTHON_IPYTHON_GENUTILS_SOURCE = ipython_genutils-$(PYTHON_IPYTHON_GENUTILS_VERSION).tar.gz +PYTHON_IPYTHON_GENUTILS_SITE = https://pypi.python.org/packages/e8/69/fbeffffc05236398ebfcfb512b6d2511c622871dca1746361006da310399 +PYTHON_IPYTHON_GENUTILS_LICENSE = BSD-3-Clause +PYTHON_IPYTHON_GENUTILS_LICENSE_FILES = COPYING.md +PYTHON_IPYTHON_GENUTILS_SETUP_TYPE = distutils + +$(eval $(python-package)) diff --git a/package/python-ipython/Config.in b/package/python-ipython/Config.in index 1d92873f82..d8164afba2 100644 --- a/package/python-ipython/Config.in +++ b/package/python-ipython/Config.in @@ -1,9 +1,19 @@ config BR2_PACKAGE_PYTHON_IPYTHON bool "python-ipython" + select BR2_PACKAGE_PYTHON_BACKPORTS_SHUTIL_GET_TERMINAL_SIZE if BR2_PACKAGE_PYTHON # runtime + select BR2_PACKAGE_PYTHON_DECORATOR # runtime + select BR2_PACKAGE_PYTHON_PATHLIB2 if BR2_PACKAGE_PYTHON # runtime + select BR2_PACKAGE_PYTHON_PICKLESHARE # runtime + select BR2_PACKAGE_PYTHON_PROMPT_TOOLKIT # runtime + select BR2_PACKAGE_PYTHON_PYGMENTS # runtime + select BR2_PACKAGE_PYTHON_PEXPECT # runtime + select BR2_PACKAGE_PYTHON_SIMPLEGENERIC # runtime + select BR2_PACKAGE_PYTHON_TRAITLETS # runtime help - IPython is a command shell for interactive computing in multiple - programming languages, originally developed for the Python - programming language, that offers enhanced introspection, rich - media, additional shell syntax, tab completion, and rich history. + IPython is a command shell for interactive computing in + multiple programming languages, originally developed for the + Python programming language, that offers enhanced + introspection, rich media, additional shell syntax, tab + completion, and rich history. http://ipython.org/ diff --git a/package/python-ipython/python-ipython.hash b/package/python-ipython/python-ipython.hash index 250a022561..af1ed94b7a 100644 --- a/package/python-ipython/python-ipython.hash +++ b/package/python-ipython/python-ipython.hash @@ -1,2 +1,3 @@ -# locally computed -sha256 ca86a6308c4b53ea8a040ba776066dc9a7af4ac738ad43ab2059a016c09b0c2d ipython-2.1.0.tar.gz +# md5 from https://pypi.python.org/pypi/ipython/json, sha256 locally computed +md5 d8cc938f46801060239184a35ec9c5a6 ipython-5.4.0.tar.gz +sha256 6907826c427c917bf0cdab71ee728288b1f1975c4b94b3ed608b67db3183c974 ipython-5.4.0.tar.gz diff --git a/package/python-ipython/python-ipython.mk b/package/python-ipython/python-ipython.mk index 236462a561..5d92546fe0 100644 --- a/package/python-ipython/python-ipython.mk +++ b/package/python-ipython/python-ipython.mk @@ -4,10 +4,10 @@ # ################################################################################ -PYTHON_IPYTHON_VERSION = 2.1.0 +PYTHON_IPYTHON_VERSION = 5.4.0 PYTHON_IPYTHON_SOURCE = ipython-$(PYTHON_IPYTHON_VERSION).tar.gz -PYTHON_IPYTHON_SITE = https://pypi.python.org/packages/source/i/ipython -PYTHON_IPYTHON_LICENSE = BSD-3c +PYTHON_IPYTHON_SITE = https://pypi.python.org/packages/36/cd/765f53135bbbbcd691858aba3af124453a230fe0c752f009f69012fce5d5 +PYTHON_IPYTHON_LICENSE = BSD-3-Clause PYTHON_IPYTHON_LICENSE_FILES = COPYING.rst PYTHON_IPYTHON_SETUP_TYPE = distutils diff --git a/package/python-iso8601/Config.in b/package/python-iso8601/Config.in new file mode 100644 index 0000000000..9e4610cf61 --- /dev/null +++ b/package/python-iso8601/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_ISO8601 + bool "python-iso8601" + help + Simple module to parse ISO 8601 dates. + + https://bitbucket.org/micktwomey/pyiso8601 diff --git a/package/python-iso8601/python-iso8601.hash b/package/python-iso8601/python-iso8601.hash new file mode 100644 index 0000000000..57604cc97b --- /dev/null +++ b/package/python-iso8601/python-iso8601.hash @@ -0,0 +1,4 @@ +# md5 from https://pypi.python.org/pypi/iso8601/json, sha256 locally computed +md5 4de940f691c5ea759fb254384c8ddcf6 iso8601-0.1.12.tar.gz +sha256 49c4b20e1f38aa5cf109ddcd39647ac419f928512c869dc01d5c7098eddede82 iso8601-0.1.12.tar.gz +sha256 116d368d14a8cf0061027c944c60ee20b476ce42814818a7d627396906761f16 LICENSE diff --git a/package/python-iso8601/python-iso8601.mk b/package/python-iso8601/python-iso8601.mk new file mode 100644 index 0000000000..7fc171d603 --- /dev/null +++ b/package/python-iso8601/python-iso8601.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-iso8601 +# +################################################################################ + +PYTHON_ISO8601_VERSION = 0.1.12 +PYTHON_ISO8601_SOURCE = iso8601-$(PYTHON_ISO8601_VERSION).tar.gz +PYTHON_ISO8601_SITE = https://pypi.python.org/packages/45/13/3db24895497345fb44c4248c08b16da34a9eb02643cea2754b21b5ed08b0 +PYTHON_ISO8601_SETUP_TYPE = setuptools +PYTHON_ISO8601_LICENSE = MIT +PYTHON_ISO8601_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-itsdangerous/python-itsdangerous.mk b/package/python-itsdangerous/python-itsdangerous.mk index 8b055d6da6..45adbb0655 100644 --- a/package/python-itsdangerous/python-itsdangerous.mk +++ b/package/python-itsdangerous/python-itsdangerous.mk @@ -7,7 +7,7 @@ PYTHON_ITSDANGEROUS_VERSION = 0.24 PYTHON_ITSDANGEROUS_SITE = $(call github,mitsuhiko,itsdangerous,$(PYTHON_ITSDANGEROUS_VERSION)) PYTHON_ITSDANGEROUS_SETUP_TYPE = setuptools -PYTHON_ITSDANGEROUS_LICENSE = BSD-3c +PYTHON_ITSDANGEROUS_LICENSE = BSD-3-Clause PYTHON_ITSDANGEROUS_LICENSE_FILES = LICENSE $(eval $(python-package)) diff --git a/package/python-jinja2/python-jinja2.hash b/package/python-jinja2/python-jinja2.hash index 46ea75faa9..f5a09729c0 100644 --- a/package/python-jinja2/python-jinja2.hash +++ b/package/python-jinja2/python-jinja2.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/jinja2/json, sha256 locally computed -md5 b151bfab6fb728fb7a06da4299161c74 Jinja2-2.9.4.tar.gz -sha256 aab8d8ca9f45624f1e77f2844bf3c144d180e97da8824c2a6d7552ad039b5442 Jinja2-2.9.4.tar.gz +md5 9e55f0db6620dd99a1b366183a94270d Jinja2-2.9.5.tar.gz +sha256 702a24d992f856fa8d5a7a36db6128198d0c21e1da34448ca236c42e92384825 Jinja2-2.9.5.tar.gz diff --git a/package/python-jinja2/python-jinja2.mk b/package/python-jinja2/python-jinja2.mk index 16b7b204ca..c7dd4902b0 100644 --- a/package/python-jinja2/python-jinja2.mk +++ b/package/python-jinja2/python-jinja2.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_JINJA2_VERSION = 2.9.4 +PYTHON_JINJA2_VERSION = 2.9.5 PYTHON_JINJA2_SOURCE = Jinja2-$(PYTHON_JINJA2_VERSION).tar.gz -PYTHON_JINJA2_SITE = https://pypi.python.org/packages/f4/3f/28387a5bbc6883082c16784c6135440b94f9d5938fb156ff579798e18eda +PYTHON_JINJA2_SITE = https://pypi.python.org/packages/71/59/d7423bd5e7ddaf3a1ce299ab4490e9044e8dfd195420fc83a24de9e60726 PYTHON_JINJA2_SETUP_TYPE = setuptools -PYTHON_JINJA2_LICENSE = BSD-3c +PYTHON_JINJA2_LICENSE = BSD-3-Clause PYTHON_JINJA2_LICENSE_FILES = LICENSE # In host build, setup.py tries to download markupsafe if it is not installed HOST_PYTHON_JINJA2_DEPENDENCIES = host-python-markupsafe @@ -17,11 +17,13 @@ HOST_PYTHON_JINJA2_DEPENDENCIES = host-python-markupsafe # not available in Python 2 and some features available in Python 3.6. # So in both cases *.py compilation would produce compiler errors. # Hence remove both files after package extraction. +ifeq ($(BR2_PACKAGE_PYTHON),y) define PYTHON_JINJA2_REMOVE_ASYNC_SUPPORT rm $(@D)/jinja2/asyncsupport.py $(@D)/jinja2/asyncfilters.py endef PYTHON_JINJA2_POST_EXTRACT_HOOKS = PYTHON_JINJA2_REMOVE_ASYNC_SUPPORT +endif $(eval $(python-package)) $(eval $(host-python-package)) diff --git a/package/python-json-schema-validator/Config.in b/package/python-json-schema-validator/Config.in index 6ae1eb162a..e50e8eefc6 100644 --- a/package/python-json-schema-validator/Config.in +++ b/package/python-json-schema-validator/Config.in @@ -1,7 +1,5 @@ config BR2_PACKAGE_PYTHON_JSON_SCHEMA_VALIDATOR bool "python-json-schema-validator" - depends on BR2_PACKAGE_PYTHON - select BR2_PACKAGE_PYTHON_VERSIONTOOLS help JSON Schema Validator diff --git a/package/python-json-schema-validator/python-json-schema-validator.mk b/package/python-json-schema-validator/python-json-schema-validator.mk index 1456c349eb..c0a335cbd7 100644 --- a/package/python-json-schema-validator/python-json-schema-validator.mk +++ b/package/python-json-schema-validator/python-json-schema-validator.mk @@ -7,8 +7,8 @@ PYTHON_JSON_SCHEMA_VALIDATOR_VERSION = 2.4.1 PYTHON_JSON_SCHEMA_VALIDATOR_SOURCE = json-schema-validator-$(PYTHON_JSON_SCHEMA_VALIDATOR_VERSION).tar.gz PYTHON_JSON_SCHEMA_VALIDATOR_SITE = https://pypi.python.org/packages/70/46/ba39cb7efad1898cfc89bf3588b8612f24d128f1c25b761994f524a59cef -PYTHON_JSON_SCHEMA_VALIDATOR_LICENSE = LGPLv3 +PYTHON_JSON_SCHEMA_VALIDATOR_LICENSE = LGPL-3.0 PYTHON_JSON_SCHEMA_VALIDATOR_SETUP_TYPE = setuptools -PYTHON_JSON_SCHEMA_VALIDATOR_DEPENDENCIES = python-versiontools +PYTHON_JSON_SCHEMA_VALIDATOR_DEPENDENCIES = host-python-versiontools $(eval $(python-package)) diff --git a/package/python-libconfig/0001-Determine-boost_python-name-depending-on-current-Pyt.patch b/package/python-libconfig/0001-Determine-boost_python-name-depending-on-current-Pyt.patch new file mode 100644 index 0000000000..b30efc124d --- /dev/null +++ b/package/python-libconfig/0001-Determine-boost_python-name-depending-on-current-Pyt.patch @@ -0,0 +1,40 @@ +From 3bc4b9c0d60a735b1d63e52f74492ace39f02824 Mon Sep 17 00:00:00 2001 +From: Yegor Yefremov +Date: Thu, 27 Jul 2017 09:46:07 +0200 +Subject: [PATCH] Determine boost_python name depending on current Python + version + +Python2 requires boost_python and Python3 requires boost_python3. + +Signed-off-by: Yegor Yefremov +--- + setup.py | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index fdf5c27..4b38569 100644 +--- a/setup.py ++++ b/setup.py +@@ -3,6 +3,10 @@ + from setuptools import setup, find_packages, Extension + import sys, os + ++boostlib = "boost_python3" ++if sys.version_info < (3, 0): ++ boostlib = "boost_python" ++ + setup( + name = 'pylibconfig', + description = "libconfig bindings for Python", +@@ -19,7 +23,7 @@ setup( + Extension( + "pylibconfig", + ["src/pylibconfig.cc"], +- libraries=["boost_python", "config++"] ++ libraries=[boostlib, "config++"] + #include_dirs=includes, + #extra_link_args=lflags + ) +-- +2.11.0 + diff --git a/package/python-libconfig/Config.in b/package/python-libconfig/Config.in index a222f9a130..00688719ee 100644 --- a/package/python-libconfig/Config.in +++ b/package/python-libconfig/Config.in @@ -4,13 +4,13 @@ comment "python-libconfig needs a glibc or uClibc toolchain w/ C++, threads" config BR2_PACKAGE_PYTHON_LIBCONFIG bool "python-libconfig" - select BR2_PACKAGE_BOOST - select BR2_PACKAGE_BOOST_PYTHON - select BR2_PACKAGE_LIBCONFIG depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS # error: invalid use of incomplete type 'struct _IO_FILE' depends on !BR2_TOOLCHAIN_USES_MUSL + select BR2_PACKAGE_BOOST + select BR2_PACKAGE_BOOST_PYTHON + select BR2_PACKAGE_LIBCONFIG help Python bindings to the C++ library libconfig diff --git a/package/python-logbook/python-logbook.mk b/package/python-logbook/python-logbook.mk index 291237973a..5fcf301ba4 100644 --- a/package/python-logbook/python-logbook.mk +++ b/package/python-logbook/python-logbook.mk @@ -8,6 +8,6 @@ PYTHON_LOGBOOK_VERSION = 1.0.0 PYTHON_LOGBOOK_SOURCE = Logbook-$(PYTHON_LOGBOOK_VERSION).tar.gz PYTHON_LOGBOOK_SITE = https://pypi.python.org/packages/34/e8/6419c217bbf464fe8a902418120cccaf476201bd03b50958db24d6e90f65 PYTHON_LOGBOOK_SETUP_TYPE = setuptools -PYTHON_LOGBOOK_LICENSE = BSD-3c +PYTHON_LOGBOOK_LICENSE = BSD-3-Clause $(eval $(python-package)) diff --git a/package/python-lxml/Config.in.host b/package/python-lxml/Config.in.host new file mode 100644 index 0000000000..7bf1e4859b --- /dev/null +++ b/package/python-lxml/Config.in.host @@ -0,0 +1,7 @@ +config BR2_PACKAGE_HOST_PYTHON_LXML + bool "host python-lxml" + help + The lxml XML toolkit is a Pythonic binding for the C libraries + libxml2 and libxslt. + + http://lxml.de/ diff --git a/package/python-lxml/python-lxml.hash b/package/python-lxml/python-lxml.hash index a1dc09391b..38607e1b84 100644 --- a/package/python-lxml/python-lxml.hash +++ b/package/python-lxml/python-lxml.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 59d9176360dbc3919e9d4bfca85c1ca64ab4f4ee00e6f119d7150ba887e3410a lxml-3.7.2.tgz +sha256 f7bc9f702500e205b1560d620f14015fec76dcd6f9e889a946a2ddcc3c344fd0 lxml-4.0.0.tgz diff --git a/package/python-lxml/python-lxml.mk b/package/python-lxml/python-lxml.mk index 62c2980b01..7f1692d1b0 100644 --- a/package/python-lxml/python-lxml.mk +++ b/package/python-lxml/python-lxml.mk @@ -4,12 +4,12 @@ # ################################################################################ -PYTHON_LXML_VERSION = 3.7.2 +PYTHON_LXML_VERSION = 4.0.0 PYTHON_LXML_SITE = http://lxml.de/files PYTHON_LXML_SOURCE = lxml-$(PYTHON_LXML_VERSION).tgz # Not including the GPL, because it is used only for the test scripts. -PYTHON_LXML_LICENSE = BSD-3c, Others +PYTHON_LXML_LICENSE = BSD-3-Clause, Others PYTHON_LXML_LICENSE_FILES = \ LICENSES.txt \ doc/licenses/BSD.txt \ @@ -21,11 +21,16 @@ PYTHON_LXML_LICENSE_FILES = \ PYTHON_LXML_SETUP_TYPE = setuptools PYTHON_LXML_DEPENDENCIES = libxml2 libxslt zlib +HOST_PYTHON_LXML_DEPENDENCIES = host-libxml2 host-libxslt host-zlib # python-lxml needs these scripts in order to properly detect libxml2 and # libxslt compiler and linker flags PYTHON_LXML_BUILD_OPTS = \ --with-xslt-config=$(STAGING_DIR)/usr/bin/xslt-config \ --with-xml2-config=$(STAGING_DIR)/usr/bin/xml2-config +HOST_PYTHON_LXML_BUILD_OPTS = \ + --with-xslt-config=$(HOST_DIR)/bin/xslt-config \ + --with-xml2-config=$(HOST_DIR)/bin/xml2-config $(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/package/python-m2r/Config.in b/package/python-m2r/Config.in new file mode 100644 index 0000000000..44dafaa464 --- /dev/null +++ b/package/python-m2r/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_M2R + bool "python-m2r" + select BR2_PACKAGE_PYTHON_MISTUNE # runtime + select BR2_PACKAGE_PYTHON_DOCUTILS # runtime + help + Markdown to reStructuredText converter. + + https://github.com/miyakogi/m2r diff --git a/package/python-m2r/python-m2r.hash b/package/python-m2r/python-m2r.hash new file mode 100644 index 0000000000..50de2b4f17 --- /dev/null +++ b/package/python-m2r/python-m2r.hash @@ -0,0 +1,4 @@ +# md5 from https://pypi.python.org/pypi/m2r/json, sha256 locally computed +md5 906eb6dabb0295c93881f32d0a1c0919 m2r-0.1.12.tar.gz +sha256 adfb86ebb7ff3fcd3ebb27ce8cd6f795c409a13f0c03363e265f17419ce5b9ab m2r-0.1.12.tar.gz +sha256 28728ec0ecbd8c171ebaeccebf69e3961282fd81f06abc7424c65546b6ae6f27 LICENSE diff --git a/package/python-m2r/python-m2r.mk b/package/python-m2r/python-m2r.mk new file mode 100644 index 0000000000..7c8ed28800 --- /dev/null +++ b/package/python-m2r/python-m2r.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# python-m2r +# +################################################################################ + +PYTHON_M2R_VERSION = 0.1.12 +PYTHON_M2R_SOURCE = m2r-$(PYTHON_M2R_VERSION).tar.gz +PYTHON_M2R_SITE = https://pypi.python.org/packages/a0/95/7273d54664e74c3100d07206fe6b30247be046b39676972fc90ae04376a1 +PYTHON_M2R_SETUP_TYPE = setuptools +PYTHON_M2R_LICENSE = MIT +PYTHON_M2R_LICENSE_FILES = LICENSE +HOST_PYTHON_M2R_DEPENDENCIES = host-python-docutils host-python-mistune + +$(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/package/python-mad/python-mad.mk b/package/python-mad/python-mad.mk index 5a49887a82..a22214876f 100644 --- a/package/python-mad/python-mad.mk +++ b/package/python-mad/python-mad.mk @@ -8,7 +8,7 @@ PYTHON_MAD_VERSION = 0.6 PYTHON_MAD_SOURCE = pymad-$(PYTHON_MAD_VERSION).tar.gz PYTHON_MAD_SITE = http://spacepants.org/src/pymad/download PYTHON_MAD_SETUP_TYPE = distutils -PYTHON_MAD_LICENSE = GPLv2+ +PYTHON_MAD_LICENSE = GPL-2.0+ PYTHON_MAD_LICENSE_FILES = COPYING PYTHON_MAD_DEPENDENCIES = libmad diff --git a/package/python-mako/python-mako.hash b/package/python-mako/python-mako.hash index b6a74f3dd1..6a64ec3123 100644 --- a/package/python-mako/python-mako.hash +++ b/package/python-mako/python-mako.hash @@ -1,3 +1,3 @@ -# md5 from https://pypi.python.org/pypi/Mako/json, sha256 locally computed -md5 c5fc31a323dd4990683d2f2da02d4e20 Mako-1.0.4.tar.gz -sha256 fed99dbe4d0ddb27a33ee4910d8708aca9ef1fe854e668387a9ab9a90cbf9059 Mako-1.0.4.tar.gz +# md5 from https://pypi.python.org/pypi/mako/json, sha256 locally computed +md5 a28e22a339080316b2acc352b9ee631c Mako-1.0.6.tar.gz +sha256 48559ebd872a8e77f92005884b3d88ffae552812cdf17db6768e5c3be5ebbe0d Mako-1.0.6.tar.gz diff --git a/package/python-mako/python-mako.mk b/package/python-mako/python-mako.mk index 88ce13efd3..0d06dc4986 100644 --- a/package/python-mako/python-mako.mk +++ b/package/python-mako/python-mako.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_MAKO_VERSION = 1.0.4 +PYTHON_MAKO_VERSION = 1.0.6 PYTHON_MAKO_SOURCE = Mako-$(PYTHON_MAKO_VERSION).tar.gz -PYTHON_MAKO_SITE = https://pypi.python.org/packages/7a/ae/925434246ee90b42e8ef57d3b30a0ab7caf9a2de3e449b876c56dcb48155 +PYTHON_MAKO_SITE = https://pypi.python.org/packages/56/4b/cb75836863a6382199aefb3d3809937e21fa4cb0db15a4f4ba0ecc2e7e8e PYTHON_MAKO_SETUP_TYPE = setuptools PYTHON_MAKO_LICENSE = MIT PYTHON_MAKO_LICENSE_FILES = LICENSE diff --git a/package/python-markdown/python-markdown.hash b/package/python-markdown/python-markdown.hash index d30faaedda..f2131edaf3 100644 --- a/package/python-markdown/python-markdown.hash +++ b/package/python-markdown/python-markdown.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/markdown/json, sha256 locally computed -md5 a06f1c5d462b32e0e8da014e9eebb0d9 Markdown-2.6.7.tar.gz -sha256 daebf24846efa7ff269cfde8c41a48bb2303920c7b2c7c5e04fa82e6282d05c0 Markdown-2.6.7.tar.gz +md5 d9ef057a5bd185f6f536400a31fc5d45 Markdown-2.6.8.tar.gz +sha256 0ac8a81e658167da95d063a9279c9c1b2699f37c7c4153256a458b3a43860e33 Markdown-2.6.8.tar.gz diff --git a/package/python-markdown/python-markdown.mk b/package/python-markdown/python-markdown.mk index fb87ada759..d5273f97a4 100644 --- a/package/python-markdown/python-markdown.mk +++ b/package/python-markdown/python-markdown.mk @@ -4,10 +4,10 @@ # ################################################################################ -PYTHON_MARKDOWN_VERSION = 2.6.7 +PYTHON_MARKDOWN_VERSION = 2.6.8 PYTHON_MARKDOWN_SOURCE = Markdown-$(PYTHON_MARKDOWN_VERSION).tar.gz -PYTHON_MARKDOWN_SITE = https://pypi.python.org/packages/d4/32/642bd580c577af37b00a1eb59b0eaa996f2d11dfe394f3dd0c7a8a2de81a -PYTHON_MARKDOWN_LICENSE = BSD-3c +PYTHON_MARKDOWN_SITE = https://pypi.python.org/packages/1d/25/3f6d2cb31ec42ca5bd3bfbea99b63892b735d76e26f20dd2dcc34ffe4f0d +PYTHON_MARKDOWN_LICENSE = BSD-3-Clause PYTHON_MARKDOWN_LICENSE_FILES = LICENSE.md PYTHON_MARKDOWN_SETUP_TYPE = distutils diff --git a/package/python-markupsafe/python-markupsafe.hash b/package/python-markupsafe/python-markupsafe.hash index 448252b0d0..4226a1ddf6 100644 --- a/package/python-markupsafe/python-markupsafe.hash +++ b/package/python-markupsafe/python-markupsafe.hash @@ -1,3 +1,3 @@ -# md5 from https://pypi.python.org/pypi?:action=show_md5&digest=f5ab3deee4c37cd6a922fb81e730da6e, sha256 locally computed -md5 f5ab3deee4c37cd6a922fb81e730da6e MarkupSafe-0.23.tar.gz -sha256 a4ec1aff59b95a14b45eb2e23761a0179e98319da5a7eb76b56ea8cdc7b871c3 MarkupSafe-0.23.tar.gz +# md5 from https://pypi.python.org/pypi/markupsafe/json, sha256 locally computed +md5 2fcedc9284d50e577b5192e8e3578355 MarkupSafe-1.0.tar.gz +sha256 a6be69091dac236ea9c6bc7d012beab42010fa914c459791d627dad4910eb665 MarkupSafe-1.0.tar.gz diff --git a/package/python-markupsafe/python-markupsafe.mk b/package/python-markupsafe/python-markupsafe.mk index c815728cd5..625a9b5bbf 100644 --- a/package/python-markupsafe/python-markupsafe.mk +++ b/package/python-markupsafe/python-markupsafe.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_MARKUPSAFE_VERSION = 0.23 +PYTHON_MARKUPSAFE_VERSION = 1.0 PYTHON_MARKUPSAFE_SOURCE = MarkupSafe-$(PYTHON_MARKUPSAFE_VERSION).tar.gz -PYTHON_MARKUPSAFE_SITE = http://pypi.python.org/packages/source/M/MarkupSafe +PYTHON_MARKUPSAFE_SITE = https://pypi.python.org/packages/4d/de/32d741db316d8fdb7680822dd37001ef7a448255de9699ab4bfcbdf4172b PYTHON_MARKUPSAFE_SETUP_TYPE = setuptools -PYTHON_MARKUPSAFE_LICENSE = BSD-3c +PYTHON_MARKUPSAFE_LICENSE = BSD-3-Clause PYTHON_MARKUPSAFE_LICENSE_FILES = LICENSE $(eval $(python-package)) diff --git a/package/python-mbstrdecoder/python-mbstrdecoder.hash b/package/python-mbstrdecoder/python-mbstrdecoder.hash index 1389ac3a86..389bc49c4d 100644 --- a/package/python-mbstrdecoder/python-mbstrdecoder.hash +++ b/package/python-mbstrdecoder/python-mbstrdecoder.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/mbstrdecoder/json, sha256 locally computed -md5 5548c4748cf0bc16befcf7ef848f95ff mbstrdecoder-0.1.0.tar.gz -sha256 7c65c4ea6681729ddfdb7612ac39f5accb10abb4e838ca810d810931ec023aad mbstrdecoder-0.1.0.tar.gz +md5 f528c26e537fe5c6987d5c5ccf6ab6e0 mbstrdecoder-0.2.2.tar.gz +sha256 fe6412d8f796fc86c90a5d394a2c93adc05a3e4225986494665a43c65dcc9312 mbstrdecoder-0.2.2.tar.gz diff --git a/package/python-mbstrdecoder/python-mbstrdecoder.mk b/package/python-mbstrdecoder/python-mbstrdecoder.mk index f64bde95f2..8eb36e791e 100644 --- a/package/python-mbstrdecoder/python-mbstrdecoder.mk +++ b/package/python-mbstrdecoder/python-mbstrdecoder.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_MBSTRDECODER_VERSION = 0.1.0 +PYTHON_MBSTRDECODER_VERSION = 0.2.2 PYTHON_MBSTRDECODER_SOURCE = mbstrdecoder-$(PYTHON_MBSTRDECODER_VERSION).tar.gz -PYTHON_MBSTRDECODER_SITE = https://pypi.python.org/packages/e4/10/fa3d8716b28e2b37eba1edab1c6831a56b805032328279c14fc99d37c391 +PYTHON_MBSTRDECODER_SITE = https://pypi.python.org/packages/40/17/ea4f3a4c844e3e5a112408879c02a1c0517ab07f97a070afe992d98d1a1a PYTHON_MBSTRDECODER_SETUP_TYPE = setuptools PYTHON_MBSTRDECODER_LICENSE = MIT PYTHON_MBSTRDECODER_LICENSE_FILES = LICENSE diff --git a/package/python-meld3/python-meld3.mk b/package/python-meld3/python-meld3.mk index 529425c8b1..675478ef7c 100644 --- a/package/python-meld3/python-meld3.mk +++ b/package/python-meld3/python-meld3.mk @@ -7,7 +7,7 @@ PYTHON_MELD3_VERSION = 1.0.2 PYTHON_MELD3_SOURCE = meld3-$(PYTHON_MELD3_VERSION).tar.gz PYTHON_MELD3_SITE = https://pypi.python.org/packages/45/a0/317c6422b26c12fe0161e936fc35f36552069ba8e6f7ecbd99bbffe32a5f -PYTHON_MELD3_LICENSE = ZPLv2.1 +PYTHON_MELD3_LICENSE = ZPL-2.1 PYTHON_MELD3_LICENSE_FILES = COPYRIGHT.txt LICENSE.txt PYTHON_MELD3_SETUP_TYPE = setuptools diff --git a/package/python-mistune/python-mistune.hash b/package/python-mistune/python-mistune.hash index cfc6a25e2c..e939aefc86 100644 --- a/package/python-mistune/python-mistune.hash +++ b/package/python-mistune/python-mistune.hash @@ -1,3 +1,4 @@ # md5 from https://pypi.python.org/pypi/mistune/json, sha256 locally computed -md5 4eba50bd121b83716fa4be6a4049004b mistune-0.7.3.tar.gz -sha256 21d0e869df3b9189f248e022f1c9763cf9069e1a2f00676f1f1852bd7f98b713 mistune-0.7.3.tar.gz +md5 8bd955fe74ce37af54b16c0d9b89a2ef mistune-0.8.tar.gz +sha256 dc3f43e7cf0abb95cdfecbf82d85c419108d5f13e1844b2a8a2fc0abf24c7a47 mistune-0.8.tar.gz +sha256 0c5259c3dd0a7c46f4835221645f62a0638c9b9faa02af08676e8069e1ff964b LICENSE diff --git a/package/python-mistune/python-mistune.mk b/package/python-mistune/python-mistune.mk index 91e97e8635..405216ccb4 100644 --- a/package/python-mistune/python-mistune.mk +++ b/package/python-mistune/python-mistune.mk @@ -4,11 +4,12 @@ # ################################################################################ -PYTHON_MISTUNE_VERSION = 0.7.3 +PYTHON_MISTUNE_VERSION = 0.8 PYTHON_MISTUNE_SOURCE = mistune-$(PYTHON_MISTUNE_VERSION).tar.gz -PYTHON_MISTUNE_SITE = https://pypi.python.org/packages/88/1e/be99791262b3a794332fda598a07c2749a433b9378586361ba9d8e824607 -PYTHON_MISTUNE_LICENSE = BSD-3c +PYTHON_MISTUNE_SITE = https://pypi.python.org/packages/d3/66/a45d1c7c50fd63a707cd1bd340b969523137c5284d9466c41012fe54c621 +PYTHON_MISTUNE_LICENSE = BSD-3-Clause PYTHON_MISTUNE_LICENSE_FILES = LICENSE PYTHON_MISTUNE_SETUP_TYPE = setuptools $(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/package/python-msgpack/Config.in b/package/python-msgpack/Config.in index 7dfe8e81f1..2050d4f078 100644 --- a/package/python-msgpack/Config.in +++ b/package/python-msgpack/Config.in @@ -1,16 +1,9 @@ config BR2_PACKAGE_PYTHON_MSGPACK bool "python-msgpack" - select BR2_PACKAGE_MSGPACK - depends on BR2_INSTALL_LIBSTDCPP # msgpack - depends on BR2_TOOLCHAIN_HAS_SYNC_4 # msgpack help MessagePack (http://msgpack.org/) is a fast, compact binary serialization format, suitable for similar data to JSON. - This package provides CPython bindings for reading and - writing MessagePack data. + This package provides a pure python library for reading + and writing MessagePack data. https://pypi.python.org/pypi/msgpack-python/ - -comment "python-msgpack needs a toolchain w/ C++" - depends on BR2_TOOLCHAIN_HAS_SYNC_4 - depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/python-msgpack/python-msgpack.hash b/package/python-msgpack/python-msgpack.hash index 636aa905e2..48313ff547 100644 --- a/package/python-msgpack/python-msgpack.hash +++ b/package/python-msgpack/python-msgpack.hash @@ -1,3 +1,3 @@ -# md5 from https://pypi.python.org/pypi?:action=show_md5&digest=eb2aad1081534ef3a9f32a0ecd350b9b, sha356 locally computed. -md5 eb2aad1081534ef3a9f32a0ecd350b9b msgpack-python-0.4.7.tar.gz -sha256 5e001229a54180a02dcdd59db23c9978351af55b1290c27bc549e381f43acd6b msgpack-python-0.4.7.tar.gz +# md5 from https://pypi.python.org/pypi/msgpack-python/json, sha256 locally computed. +md5 dcd854fb41ee7584ebbf35e049e6be98 msgpack-python-0.4.8.tar.gz +sha256 1a2b19df0f03519ec7f19f826afb935b202d8979b0856c6fb3dc28955799f886 msgpack-python-0.4.8.tar.gz diff --git a/package/python-msgpack/python-msgpack.mk b/package/python-msgpack/python-msgpack.mk index 344b7bf150..5be2b14bdf 100644 --- a/package/python-msgpack/python-msgpack.mk +++ b/package/python-msgpack/python-msgpack.mk @@ -4,12 +4,11 @@ # ################################################################################ -PYTHON_MSGPACK_VERSION = 0.4.7 +PYTHON_MSGPACK_VERSION = 0.4.8 PYTHON_MSGPACK_SOURCE = msgpack-python-$(PYTHON_MSGPACK_VERSION).tar.gz -PYTHON_MSGPACK_SITE = https://pypi.python.org/packages/source/m/msgpack-python +PYTHON_MSGPACK_SITE = https://pypi.python.org/packages/21/27/8a1d82041c7a2a51fcc73675875a5f9ea06c2663e02fcfeb708be1d081a0 PYTHON_MSGPACK_LICENSE = Apache-2.0 PYTHON_MSGPACK_LICENSE_FILES = COPYING PYTHON_MSGPACK_SETUP_TYPE = setuptools -PYTHON_MSGPACK_DEPENDENCIES = msgpack $(eval $(python-package)) diff --git a/package/python-mutagen/python-mutagen.hash b/package/python-mutagen/python-mutagen.hash index 8970a23f8f..337100677c 100644 --- a/package/python-mutagen/python-mutagen.hash +++ b/package/python-mutagen/python-mutagen.hash @@ -1,3 +1,3 @@ -# md5 from https://pypi.python.org/pypi/mutagen, sha256 locally computed -md5 2bd50519d64411626fa22d405afbf078 mutagen-1.36.tar.gz -sha256 d7ee37e33b8c5893c3ebf66edac31241eb9d48e1dc7ec647bbfbc180565a4bcd mutagen-1.36.tar.gz +# md5 from https://pypi.python.org/pypi/mutagen/json, sha256 locally computed +md5 af52956a1b8976accf402f3104b95a84 mutagen-1.36.2.tar.gz +sha256 86fe98e941ca305be8ee6bdc6bb0e4e9c473bf9fb69a838fe5bf2fc6124fbcc7 mutagen-1.36.2.tar.gz diff --git a/package/python-mutagen/python-mutagen.mk b/package/python-mutagen/python-mutagen.mk index 8458de5500..3b516fe128 100644 --- a/package/python-mutagen/python-mutagen.mk +++ b/package/python-mutagen/python-mutagen.mk @@ -4,10 +4,10 @@ # ################################################################################ -PYTHON_MUTAGEN_VERSION = 1.36 +PYTHON_MUTAGEN_VERSION = 1.36.2 PYTHON_MUTAGEN_SOURCE = mutagen-$(PYTHON_MUTAGEN_VERSION).tar.gz -PYTHON_MUTAGEN_SITE = https://pypi.python.org/packages/69/14/4a5c8360a727563291a7159de935ffff2b99ee783928169f0fea7445370f -PYTHON_MUTAGEN_LICENSE = GPLv2 +PYTHON_MUTAGEN_SITE = https://pypi.python.org/packages/e7/8a/61496657e30c2cbeb9b3aa28848e0adbcba7cab0ff0bd8e6206647670088 +PYTHON_MUTAGEN_LICENSE = GPL-2.0 PYTHON_MUTAGEN_LICENSE_FILES = COPYING PYTHON_MUTAGEN_SETUP_TYPE = distutils diff --git a/package/python-mwscrape2slob/Config.in b/package/python-mwscrape2slob/Config.in index 799ab29c34..7856a2c009 100644 --- a/package/python-mwscrape2slob/Config.in +++ b/package/python-mwscrape2slob/Config.in @@ -2,6 +2,8 @@ config BR2_PACKAGE_PYTHON_MWSCRAPE2SLOB bool "python-mwscrape2slob" depends on !BR2_BINFMT_FLAT # python-slob -> python-pyicu -> icu depends on BR2_INSTALL_LIBSTDCPP # python-slob -> python-pyicu -> icu + depends on BR2_HOST_GCC_AT_LEAST_4_8 # python-slob -> python-pyicu -> icu + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # python-slob -> python-pyicu -> icu depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_COUCHDB # runtime select BR2_PACKAGE_PYTHON_CSSSELECT # runtime @@ -14,6 +16,8 @@ config BR2_PACKAGE_PYTHON_MWSCRAPE2SLOB https://github.com/itkach/mwscrape2slob -comment "python-mwscrape2slob needs a toolchain w/ C++" +comment "python-mwscrape2slob needs a toolchain w/ C++, gcc >= 4.8, host gcc >= 4.8" depends on BR2_PACKAGE_PYTHON3 && !BR2_BINFMT_FLAT - depends on !BR2_INSTALL_LIBSTDCPP + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_HOST_GCC_AT_LEAST_4_8 || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 diff --git a/package/python-mwscrape2slob/python-mwscrape2slob.mk b/package/python-mwscrape2slob/python-mwscrape2slob.mk index 4d27d8d6ea..519f5e5ed2 100644 --- a/package/python-mwscrape2slob/python-mwscrape2slob.mk +++ b/package/python-mwscrape2slob/python-mwscrape2slob.mk @@ -6,7 +6,7 @@ PYTHON_MWSCRAPE2SLOB_VERSION = 0f9124ed62009dff6a230947d80340f5a61a6f49 PYTHON_MWSCRAPE2SLOB_SITE = $(call github,itkach,mwscrape2slob,$(PYTHON_MWSCRAPE2SLOB_VERSION)) -PYTHON_MWSCRAPE2SLOB_LICENSE = GPLv3, Apache-2.0 (MathJax), GPL (MediaWiki monobook style sheet) +PYTHON_MWSCRAPE2SLOB_LICENSE = GPL-3.0, Apache-2.0 (MathJax), GPL (MediaWiki monobook style sheet) PYTHON_MWSCRAPE2SLOB_SETUP_TYPE = distutils $(eval $(python-package)) diff --git a/package/python-netaddr/python-netaddr.hash b/package/python-netaddr/python-netaddr.hash index 5fcdda4539..59628dbdfb 100644 --- a/package/python-netaddr/python-netaddr.hash +++ b/package/python-netaddr/python-netaddr.hash @@ -1,3 +1,3 @@ -# md5 from https://pypi.python.org/pypi?:action=show_md5&digest=c65bb34f8bedfbbca0b316c490cd13a0, sha256 locally computed. -md5 c65bb34f8bedfbbca0b316c490cd13a0 netaddr-0.7.18.tar.gz -sha256 a1f5c9fcf75ac2579b9995c843dade33009543c04f218ff7c007b3c81695bd19 netaddr-0.7.18.tar.gz +# md5 from https://pypi.python.org/pypi/netaddr/json, sha256 locally computed +md5 51019ef59c93f3979bcb37d3b8527e07 netaddr-0.7.19.tar.gz +sha256 38aeec7cdd035081d3a4c306394b19d677623bf76fa0913f6695127c7753aefd netaddr-0.7.19.tar.gz diff --git a/package/python-netaddr/python-netaddr.mk b/package/python-netaddr/python-netaddr.mk index c68b24fca1..a539845d54 100644 --- a/package/python-netaddr/python-netaddr.mk +++ b/package/python-netaddr/python-netaddr.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_NETADDR_VERSION = 0.7.18 +PYTHON_NETADDR_VERSION = 0.7.19 PYTHON_NETADDR_SOURCE = netaddr-$(PYTHON_NETADDR_VERSION).tar.gz -PYTHON_NETADDR_SITE = http://pypi.python.org/packages/source/n/netaddr -PYTHON_NETADDR_LICENSE = BSD-3c +PYTHON_NETADDR_SITE = https://pypi.python.org/packages/0c/13/7cbb180b52201c07c796243eeff4c256b053656da5cfe3916c3f5b57b3a0 +PYTHON_NETADDR_LICENSE = BSD-3-Clause PYTHON_NETADDR_LICENSE_FILES = LICENSE -PYTHON_NETADDR_SETUP_TYPE = distutils +PYTHON_NETADDR_SETUP_TYPE = setuptools $(eval $(python-package)) diff --git a/package/python-netifaces/python-netifaces.hash b/package/python-netifaces/python-netifaces.hash index 6f3e358b08..335f907d59 100644 --- a/package/python-netifaces/python-netifaces.hash +++ b/package/python-netifaces/python-netifaces.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/netifaces/json, sha256 locally computed -md5 5b4d1f1310ed279e6df27ef3a9b71519 netifaces-0.10.5.tar.gz -sha256 59d8ad52dd3116fcb6635e175751b250dc783fb011adba539558bd764e5d628b netifaces-0.10.5.tar.gz +md5 1d424cb5ef52907c5ab913011122a98b netifaces-0.10.6.tar.gz +sha256 0c4da523f36d36f1ef92ee183f2512f3ceb9a9d2a45f7d19cda5a42c6689ebe0 netifaces-0.10.6.tar.gz diff --git a/package/python-netifaces/python-netifaces.mk b/package/python-netifaces/python-netifaces.mk index 3e01c24805..3258be7a95 100644 --- a/package/python-netifaces/python-netifaces.mk +++ b/package/python-netifaces/python-netifaces.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_NETIFACES_VERSION = 0.10.5 +PYTHON_NETIFACES_VERSION = 0.10.6 PYTHON_NETIFACES_SOURCE = netifaces-$(PYTHON_NETIFACES_VERSION).tar.gz -PYTHON_NETIFACES_SITE = https://pypi.python.org/packages/a7/4c/8e0771a59fd6e55aac993a7cc1b6a0db993f299514c464ae6a1ecf83b31d +PYTHON_NETIFACES_SITE = https://pypi.python.org/packages/72/01/ba076082628901bca750bf53b322a8ff10c1d757dc29196a8e6082711c9d PYTHON_NETIFACES_LICENSE = MIT PYTHON_NETIFACES_LICENSE_FILES = README.rst PYTHON_NETIFACES_SETUP_TYPE = setuptools diff --git a/package/python-networkmanager/python-networkmanager.mk b/package/python-networkmanager/python-networkmanager.mk index 875748f3ab..d0e4011421 100644 --- a/package/python-networkmanager/python-networkmanager.mk +++ b/package/python-networkmanager/python-networkmanager.mk @@ -7,7 +7,7 @@ PYTHON_NETWORKMANAGER_VERSION = 1.2.1 PYTHON_NETWORKMANAGER_SITE = https://pypi.python.org/packages/e7/b1/09993250ceea9e03bc65fbabcd5286540200292c011b22237b2963c11471 PYTHON_NETWORKMANAGER_SETUP_TYPE = distutils -PYTHON_NETWORKMANAGER_LICENSE = GPLv3+ +PYTHON_NETWORKMANAGER_LICENSE = GPL-3.0+ PYTHON_NETWORKMANAGER_LICENSE_FILES = COPYING PYTHON_NETWORKMANAGER_DEPENDENCIES = dbus-python diff --git a/package/python-nfc/python-nfc.mk b/package/python-nfc/python-nfc.mk index 87db577b22..574d2e56e2 100644 --- a/package/python-nfc/python-nfc.mk +++ b/package/python-nfc/python-nfc.mk @@ -9,6 +9,6 @@ PYTHON_NFC_SITE = https://launchpad.net/nfcpy PYTHON_NFC_SITE_METHOD = bzr PYTHON_NFC_DEPENDENCIES = libusb libusb-compat PYTHON_NFC_SETUP_TYPE = distutils -PYTHON_NFC_LICENSE = EUPLv1.1+ +PYTHON_NFC_LICENSE = EUPL-1.1+ $(eval $(python-package)) diff --git a/package/python-numpy/0001-no-fenv-on-uclibc.patch b/package/python-numpy/0001-no-fenv-on-uclibc.patch index 633dbcdff4..5aa377bb21 100644 --- a/package/python-numpy/0001-no-fenv-on-uclibc.patch +++ b/package/python-numpy/0001-no-fenv-on-uclibc.patch @@ -1,4 +1,7 @@ -Don't use on uClibc +From 1d309b81a6fdac33dfb5148f618bafe6ebdff958 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Fri, 15 Sep 2017 12:51:36 +0300 +Subject: [PATCH] Don't use on uClibc The python-numpy code already has provisions to not use when not available. However, it uses __GLIBC__ to know whether fenv.h is @@ -9,30 +12,30 @@ This patch fixes that by changing all defined(__GLIBC__) occurences by (defined(__GLIBC__) && !defined(__UCLIBC__)). Signed-off-by: Thomas Petazzoni +Signed-off-by: Alexey Brodkin +--- + numpy/core/include/numpy/ufuncobject.h | 2 +- + numpy/core/src/npymath/ieee754.c.src | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) -Index: b/numpy/core/include/numpy/ufuncobject.h -=================================================================== +diff --git a/numpy/core/include/numpy/ufuncobject.h b/numpy/core/include/numpy/ufuncobject.h +index d0ac1fd7d732..65e49fcd5b7a 100644 --- a/numpy/core/include/numpy/ufuncobject.h +++ b/numpy/core/include/numpy/ufuncobject.h -@@ -413,11 +413,11 @@ - (void) fpsetsticky(0); \ - } - --#elif defined(__GLIBC__) || defined(__APPLE__) || \ -+#elif (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || \ +@@ -319,7 +319,7 @@ typedef struct _loop1d_info { + #if defined(sun) || defined(__BSD__) || defined(__OpenBSD__) || \ + (defined(__FreeBSD__) && (__FreeBSD_version < 502114)) || \ + defined(__NetBSD__) || \ +- defined(__GLIBC__) || defined(__APPLE__) || \ ++ (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || \ defined(__CYGWIN__) || defined(__MINGW32__) || \ - (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) - --#if defined(__GLIBC__) || defined(__APPLE__) || \ -+#if (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || \ - defined(__MINGW32__) || defined(__FreeBSD__) - #include - #elif defined(__CYGWIN__) -Index: b/numpy/core/src/npymath/ieee754.c.src -=================================================================== + (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) || \ + defined(_AIX) || \ +diff --git a/numpy/core/src/npymath/ieee754.c.src b/numpy/core/src/npymath/ieee754.c.src +index 0370ea6c77aa..e63e409b6604 100644 --- a/numpy/core/src/npymath/ieee754.c.src +++ b/numpy/core/src/npymath/ieee754.c.src -@@ -586,11 +586,11 @@ +@@ -612,7 +612,7 @@ void npy_set_floatstatus_invalid(void) } @@ -40,40 +43,7 @@ Index: b/numpy/core/src/npymath/ieee754.c.src +#elif (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || \ defined(__CYGWIN__) || defined(__MINGW32__) || \ (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) - --# if defined(__GLIBC__) || defined(__APPLE__) || \ -+# if (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || \ - defined(__MINGW32__) || defined(__FreeBSD__) # include - # elif defined(__CYGWIN__) -Index: b/numpy/numarray/_capi.c -=================================================================== ---- a/numpy/numarray/_capi.c -+++ b/numpy/numarray/_capi.c -@@ -10,7 +10,7 @@ - #include - #endif - --#if defined(__GLIBC__) || defined(__APPLE__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) -+#if (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) - #include - #elif defined(__CYGWIN__) - #include "numpy/fenv/fenv.h" -@@ -258,7 +258,7 @@ - } - - /* Likewise for Integer overflows */ --#if defined(__GLIBC__) || defined(__APPLE__) || defined(__CYGWIN__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) -+#if (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || defined(__CYGWIN__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) - static int int_overflow_error(Float64 value) { /* For x86_64 */ - feraiseexcept(FE_OVERFLOW); - return (int) value; -@@ -3007,7 +3007,7 @@ - return retstatus; - } - --#elif defined(__GLIBC__) || defined(__APPLE__) || defined(__CYGWIN__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) -+#elif (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || defined(__CYGWIN__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) - - static int - NA_checkFPErrors(void) +-- +2.7.5 + diff --git a/package/python-numpy/0002-Add-support-of-ARC.patch b/package/python-numpy/0002-Add-support-of-ARC.patch new file mode 100644 index 0000000000..c022487c7f --- /dev/null +++ b/package/python-numpy/0002-Add-support-of-ARC.patch @@ -0,0 +1,68 @@ +From 9a225e7d4fb1de5c99c6b5b17cae2fc4c2d1c59a Mon Sep 17 00:00:00 2001 +From: Alexey Brodkin +Date: Fri, 15 Sep 2017 11:59:14 +0300 +Subject: [PATCH] Add support of ARC + +Synopsys DesignWare ARC Processors are a family of 32-bit CPUs +which in some configurations may run Linux kernel and full stack +of applications on top of it. Among other things is Python. + +With that change we allow building and usage of Numpy on ARC. + +Signed-off-by: Alexey Brodkin +--- + numpy/core/include/numpy/npy_cpu.h | 6 ++++++ + numpy/core/include/numpy/npy_endian.h | 6 ++++-- + 2 files changed, 10 insertions(+), 2 deletions(-) + +diff --git a/numpy/core/include/numpy/npy_cpu.h b/numpy/core/include/numpy/npy_cpu.h +index 60abae4e0b0e..84653ea183ce 100644 +--- a/numpy/core/include/numpy/npy_cpu.h ++++ b/numpy/core/include/numpy/npy_cpu.h +@@ -15,6 +15,8 @@ + * NPY_CPU_ARMEB + * NPY_CPU_SH_LE + * NPY_CPU_SH_BE ++ * NPY_CPU_ARCEL ++ * NPY_CPU_ARCEB + */ + #ifndef _NPY_CPUARCH_H_ + #define _NPY_CPUARCH_H_ +@@ -76,6 +78,10 @@ + #define NPY_CPU_AARCH64 + #elif defined(__mc68000__) + #define NPY_CPU_M68K ++#elif defined(__arc__) && defined(__LITTLE_ENDIAN__) ++ #define NPY_CPU_ARCEL ++#elif defined(__arc__) && defined(__BIG_ENDIAN__) ++ #define NPY_CPU_ARCEB + #else + #error Unknown CPU, please report this to numpy maintainers with \ + information about your platform (OS, CPU and compiler) +diff --git a/numpy/core/include/numpy/npy_endian.h b/numpy/core/include/numpy/npy_endian.h +index e34b1d97e655..1a42121db92e 100644 +--- a/numpy/core/include/numpy/npy_endian.h ++++ b/numpy/core/include/numpy/npy_endian.h +@@ -45,7 +45,8 @@ + || defined(NPY_CPU_AARCH64) \ + || defined(NPY_CPU_SH_LE) \ + || defined(NPY_CPU_MIPSEL) \ +- || defined(NPY_CPU_PPC64LE) ++ || defined(NPY_CPU_PPC64LE) \ ++ || defined(NPY_CPU_ARCEL) + #define NPY_BYTE_ORDER NPY_LITTLE_ENDIAN + #elif defined(NPY_CPU_PPC) \ + || defined(NPY_CPU_SPARC) \ +@@ -56,7 +57,8 @@ + || defined(NPY_CPU_SH_BE) \ + || defined(NPY_CPU_MIPSEB) \ + || defined(NPY_CPU_OR1K) \ +- || defined(NPY_CPU_M68K) ++ || defined(NPY_CPU_M68K) \ ++ || defined(NPY_CPU_ARCEB) + #define NPY_BYTE_ORDER NPY_BIG_ENDIAN + #else + #error Unknown CPU: can not set endianness +-- +2.7.5 + diff --git a/package/python-numpy/0002-Don-t-blindly-enable-frexpl-and-ldexpl-for-uClibc.patch b/package/python-numpy/0002-Don-t-blindly-enable-frexpl-and-ldexpl-for-uClibc.patch deleted file mode 100644 index 42d194182f..0000000000 --- a/package/python-numpy/0002-Don-t-blindly-enable-frexpl-and-ldexpl-for-uClibc.patch +++ /dev/null @@ -1,33 +0,0 @@ -From b0a1b9628d17251bb417a063ec6c6e09f32393c2 Mon Sep 17 00:00:00 2001 -From: "Arnout Vandecappelle (Essensium/Mind)" -Date: Tue, 6 Oct 2015 01:20:48 +0100 -Subject: [PATCH] Don't blindly enable frexpl and ldexpl for uClibc - -When the size of double and long double are equal, numpy blindly -assumes that frexpl and ldexpl will be available as well. But for -uClibc, that's not true: it only defines the long double functions -when long double "exists" on the architecture. - -So make an exception for uClibc. - -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- - numpy/core/src/private/npy_config.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/numpy/core/src/private/npy_config.h b/numpy/core/src/private/npy_config.h -index 453dbd0..7ecf72c 100644 ---- a/numpy/core/src/private/npy_config.h -+++ b/numpy/core/src/private/npy_config.h -@@ -11,7 +11,7 @@ - #endif - - /* Safe to use ldexp and frexp for long double for MSVC builds */ --#if (NPY_SIZEOF_LONGDOUBLE == NPY_SIZEOF_DOUBLE) || defined(_MSC_VER) -+#if ((NPY_SIZEOF_LONGDOUBLE == NPY_SIZEOF_DOUBLE) && !defined(__UCLIBC__)) || defined(_MSC_VER) - #ifdef HAVE_LDEXP - #define HAVE_LDEXPL 1 - #endif --- -2.5.3 - diff --git a/package/python-numpy/Config.in b/package/python-numpy/Config.in index f7822efc79..067085bf41 100644 --- a/package/python-numpy/Config.in +++ b/package/python-numpy/Config.in @@ -1,9 +1,19 @@ config BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS bool # Numpy has some CPU specific code - default y if BR2_aarch64 || BR2_arm || BR2_armeb || BR2_i386 \ - || BR2_mips || BR2_mipsel || BR2_powerpc || BR2_powerpc64 \ - || BR2_sh || BR2_x86_64 + # ARCompact build fails due to toolchain issue + # ARC HS38 build fails on glibc due to missing FE_* definitions + default y if BR2_arc && BR2_archs38 && !BR2_TOOLCHAIN_USES_GLIBC + default y if BR2_aarch64 + default y if BR2_arm + default y if BR2_armeb + default y if BR2_i386 + default y if BR2_mips + default y if BR2_mipsel + default y if BR2_powerpc + default y if BR2_powerpc64 + default y if BR2_sh + default y if BR2_x86_64 config BR2_PACKAGE_PYTHON_NUMPY bool "python-numpy" diff --git a/package/python-numpy/python-numpy.hash b/package/python-numpy/python-numpy.hash index 39b134be5b..854f202297 100644 --- a/package/python-numpy/python-numpy.hash +++ b/package/python-numpy/python-numpy.hash @@ -1,2 +1,4 @@ -# Locally computed: -sha256 2764d0819acc77e9ff81b060fe7f69530b0d85c26ac9d162639b787cb227d253 numpy-1.8.0.tar.gz +# Copied from https://github.com/numpy/numpy/releases/tag/v1.13.3 +sha256 4c6b4eef790528bebb7ec9590d74cc193868940fe68e4109a91c196df72d8094 numpy-1.13.3.tar.gz +# License files, locally calculated +sha256 94eebc7c8f86a287c1e9146ed52ebcde88183806d848d8c66e0e52d1aebf3b13 LICENSE.txt diff --git a/package/python-numpy/python-numpy.mk b/package/python-numpy/python-numpy.mk index 0ab58b0000..d0d38371a3 100644 --- a/package/python-numpy/python-numpy.mk +++ b/package/python-numpy/python-numpy.mk @@ -4,12 +4,12 @@ # ################################################################################ -PYTHON_NUMPY_VERSION = 1.8.0 +PYTHON_NUMPY_VERSION = 1.13.3 PYTHON_NUMPY_SOURCE = numpy-$(PYTHON_NUMPY_VERSION).tar.gz -PYTHON_NUMPY_SITE = http://downloads.sourceforge.net/numpy -PYTHON_NUMPY_LICENSE = BSD-3c +PYTHON_NUMPY_SITE = https://github.com/numpy/numpy/releases/download/v$(PYTHON_NUMPY_VERSION) +PYTHON_NUMPY_LICENSE = BSD-3-Clause PYTHON_NUMPY_LICENSE_FILES = LICENSE.txt -PYTHON_NUMPY_SETUP_TYPE = distutils +PYTHON_NUMPY_SETUP_TYPE = setuptools ifeq ($(BR2_PACKAGE_CLAPACK),y) PYTHON_NUMPY_DEPENDENCIES += clapack diff --git a/package/python-paho-mqtt/python-paho-mqtt.hash b/package/python-paho-mqtt/python-paho-mqtt.hash index 6cb3cc2bf0..e791d367ea 100644 --- a/package/python-paho-mqtt/python-paho-mqtt.hash +++ b/package/python-paho-mqtt/python-paho-mqtt.hash @@ -1,3 +1,6 @@ # md5 from https://pypi.python.org/pypi/paho-mqtt/json, sha256 locally computed -md5 241150b3fcb920ddca4d33181f3238b1 paho-mqtt-1.2.tar.gz -sha256 9100a6aa706ab699d414ec02705a21eb66f436184691d0bf1f2a85a6213c6c1f paho-mqtt-1.2.tar.gz +md5 2cc27d8b369700b1fc99325add0dadd2 paho-mqtt-1.3.1.tar.gz +sha256 31911f6031de306c27ed79dc77b690d7c55b0dcb0f0434ca34ec6361d0371122 paho-mqtt-1.3.1.tar.gz +sha256 76f13729e84e9222e543303df00f87d1b2c0995b6a505cd859a285667e44babb LICENSE.txt +sha256 e8cf7d54ea46c19aba793983889b7f7425e1ebfcaaccec764a7db091646e203c edl-v10 +sha256 3b9be6b894d0769de796e653571ff6cef494913c0ce78c35a97db939e7d9087c epl-v10 diff --git a/package/python-paho-mqtt/python-paho-mqtt.mk b/package/python-paho-mqtt/python-paho-mqtt.mk index d783a9cb0d..f335b35edb 100644 --- a/package/python-paho-mqtt/python-paho-mqtt.mk +++ b/package/python-paho-mqtt/python-paho-mqtt.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_PAHO_MQTT_VERSION = 1.2 +PYTHON_PAHO_MQTT_VERSION = 1.3.1 PYTHON_PAHO_MQTT_SOURCE = paho-mqtt-$(PYTHON_PAHO_MQTT_VERSION).tar.gz -PYTHON_PAHO_MQTT_SITE = https://pypi.python.org/packages/82/d9/7064d3a0a1d62756a1a809c85b99f864c641b66de84c15458f72193b7708 -PYTHON_PAHO_MQTT_LICENSE = EPLv1.0 or EDLv1.0 +PYTHON_PAHO_MQTT_SITE = https://pypi.python.org/packages/2a/5f/cf14b8f9f8ed1891cda893a2a7d1d6fa23de2a9fb4832f05cef02b79d01f +PYTHON_PAHO_MQTT_LICENSE = EPL-1.0 or EDLv1.0 PYTHON_PAHO_MQTT_LICENSE_FILES = LICENSE.txt edl-v10 epl-v10 -PYTHON_PAHO_MQTT_SETUP_TYPE = distutils +PYTHON_PAHO_MQTT_SETUP_TYPE = setuptools $(eval $(python-package)) diff --git a/package/python-pam/python-pam.mk b/package/python-pam/python-pam.mk index d737291c4b..943e01dd64 100644 --- a/package/python-pam/python-pam.mk +++ b/package/python-pam/python-pam.mk @@ -9,7 +9,7 @@ PYTHON_PAM_SOURCE = PyPAM-$(PYTHON_PAM_VERSION).tar.gz # pangalactic.org gone PYTHON_PAM_SITE = http://pkgs.fedoraproject.org/repo/pkgs/PyPAM/PyPAM-0.5.0.tar.gz/f1e7c2c56421dda28a75ace59a3c8871 PYTHON_PAM_SETUP_TYPE = distutils -PYTHON_PAM_LICENSE = LGPLv2.1 +PYTHON_PAM_LICENSE = LGPL-2.1 PYTHON_PAM_LICENSE_FILES = COPYING PYTHON_PAM_DEPENDENCIES = linux-pam diff --git a/package/python-paramiko/Config.in b/package/python-paramiko/Config.in index aad85cb134..1f86af3be7 100644 --- a/package/python-paramiko/Config.in +++ b/package/python-paramiko/Config.in @@ -1,10 +1,12 @@ config BR2_PACKAGE_PYTHON_PARAMIKO bool "python-paramiko" depends on BR2_INSTALL_LIBSTDCPP # python-pyasn - select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON_BCRYPT # runtime select BR2_PACKAGE_PYTHON_CRYPTOGRAPHY # runtime select BR2_PACKAGE_PYTHON_PYASN # runtime + select BR2_PACKAGE_PYTHON_PYNACL # runtime + select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON # runtime + select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 # runtime help SSH2 protocol library. diff --git a/package/python-paramiko/python-paramiko.hash b/package/python-paramiko/python-paramiko.hash index fca8fd754b..3b4c779cee 100644 --- a/package/python-paramiko/python-paramiko.hash +++ b/package/python-paramiko/python-paramiko.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/paramiko/json, sha256 locally computed -md5 9e8abe635baa6bb75a4cd55dcb56a264 paramiko-2.1.1.tar.gz -sha256 d51dada7ad0736c116f8bfe3263627925947e4a50e61436a83d58bfe7055b575 paramiko-2.1.1.tar.gz +md5 d44932891b1ce4bfd3e9e9e06c90395d paramiko-2.2.0.tar.gz +sha256 24b6cdb42eedb50f3b9d994ab0ca63e74db57555346e97c6e4b8c2ab51cdfd81 paramiko-2.2.0.tar.gz diff --git a/package/python-paramiko/python-paramiko.mk b/package/python-paramiko/python-paramiko.mk index 6c0df4d9fb..0aed667c4d 100644 --- a/package/python-paramiko/python-paramiko.mk +++ b/package/python-paramiko/python-paramiko.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_PARAMIKO_VERSION = 2.1.1 +PYTHON_PARAMIKO_VERSION = 2.2.0 PYTHON_PARAMIKO_SOURCE = paramiko-$(PYTHON_PARAMIKO_VERSION).tar.gz -PYTHON_PARAMIKO_SITE = https://pypi.python.org/packages/d1/5a/ebd00d884f30baf208359a027eb7b38372d81d0c004724bb1aa71ae43b37 +PYTHON_PARAMIKO_SITE = https://pypi.python.org/packages/ea/a1/75393511fa6b645d28bd614ba061af99e94a6916c6b4f619f8b6b58bc35e PYTHON_PARAMIKO_SETUP_TYPE = setuptools -PYTHON_PARAMIKO_LICENSE = LGPLv2.1+ +PYTHON_PARAMIKO_LICENSE = LGPL-2.1+ PYTHON_PARAMIKO_LICENSE_FILES = LICENSE $(eval $(python-package)) diff --git a/package/python-pathlib2/Config.in b/package/python-pathlib2/Config.in new file mode 100644 index 0000000000..7297f0addb --- /dev/null +++ b/package/python-pathlib2/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_PYTHON_PATHLIB2 + bool "python-pathlib2" + depends on BR2_PACKAGE_PYTHON + select BR2_PACKAGE_PYTHON_SIX # runtime + select BR2_PACKAGE_PYTHON_SCANDIR # runtime + help + Object-oriented filesystem paths. + + The goal of pathlib2 is to provide a backport of standard + pathlib module which tracks the standard library module, so + all the newest features of the standard pathlib can be used + also on older Python versions. + + https://pypi.python.org/pypi/pathlib2 diff --git a/package/python-pathlib2/python-pathlib2.hash b/package/python-pathlib2/python-pathlib2.hash new file mode 100644 index 0000000000..a9c294940a --- /dev/null +++ b/package/python-pathlib2/python-pathlib2.hash @@ -0,0 +1,3 @@ +# md5 from https://pypi.python.org/pypi/pathlib2/json, sha256 locally computed +md5 6c75bfde898b6c88627621a48ee8de14 pathlib2-2.2.1.tar.gz +sha256 ce9007df617ef6b7bd8a31cd2089ed0c1fed1f7c23cf2bf1ba140b3dd563175d pathlib2-2.2.1.tar.gz diff --git a/package/python-pathlib2/python-pathlib2.mk b/package/python-pathlib2/python-pathlib2.mk new file mode 100644 index 0000000000..0116420ef6 --- /dev/null +++ b/package/python-pathlib2/python-pathlib2.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-pathlib2 +# +################################################################################ + +PYTHON_PATHLIB2_VERSION = 2.2.1 +PYTHON_PATHLIB2_SOURCE = pathlib2-$(PYTHON_PATHLIB2_VERSION).tar.gz +PYTHON_PATHLIB2_SITE = https://pypi.python.org/packages/ab/d8/ac7489d50146f29d0a14f65545698f4545d8a6b739b24b05859942048b56 +PYTHON_PATHLIB2_LICENSE = MIT +PYTHON_PATHLIB2_LICENSE_FILES = LICENSE.rst +PYTHON_PATHLIB2_SETUP_TYPE = setuptools + +$(eval $(python-package)) diff --git a/package/python-pathpy/python-pathpy.hash b/package/python-pathpy/python-pathpy.hash index 4824e2a3c8..de22f6c576 100644 --- a/package/python-pathpy/python-pathpy.hash +++ b/package/python-pathpy/python-pathpy.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/path.py/json, sha256 locally computed -md5 eb8469ad498d2e462bff8f3b2b5ea68d path.py-10.0.tar.gz -sha256 ba984a2b536158a8841dd33150fce16bcf04210e83f92da674cad0a8a8f61e00 path.py-10.0.tar.gz +md5 afb4f92e4114b595f50573ecd61c31ee path.py-10.5.tar.gz +sha256 63a7af08676668fd51750f111affbd38c1a13c61aba15c6665b16681771c79a8 path.py-10.5.tar.gz diff --git a/package/python-pathpy/python-pathpy.mk b/package/python-pathpy/python-pathpy.mk index 5776586027..452331682b 100644 --- a/package/python-pathpy/python-pathpy.mk +++ b/package/python-pathpy/python-pathpy.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PATHPY_VERSION = 10.0 +PYTHON_PATHPY_VERSION = 10.5 PYTHON_PATHPY_SOURCE = path.py-$(PYTHON_PATHPY_VERSION).tar.gz -PYTHON_PATHPY_SITE = https://pypi.python.org/packages/f3/4e/3bce93c0d9e20abc6ed3aa7866beb688e889828ca2666743df11d9a30050 +PYTHON_PATHPY_SITE = https://pypi.python.org/packages/a5/7b/7b303dc1b79fc394b67cea351455ec0db8e6ca5d8537687d40cb7c7d70bb PYTHON_PATHPY_SETUP_TYPE = setuptools PYTHON_PATHPY_LICENSE = MIT PYTHON_PATHPY_DEPENDENCIES = host-python-setuptools-scm diff --git a/package/python-pathvalidate/Config.in b/package/python-pathvalidate/Config.in index 60163fbe0b..8606696e1b 100644 --- a/package/python-pathvalidate/Config.in +++ b/package/python-pathvalidate/Config.in @@ -1,8 +1,5 @@ config BR2_PACKAGE_PYTHON_PATHVALIDATE bool "python-pathvalidate" - select BR2_PACKAGE_PYTHON_SIX # runtime - select BR2_PACKAGE_PYTHON_MBSTRDECODER # runtime - select BR2_PACKAGE_PYTHON_DATAPROPERTY # runtime help pathvalidate is a python library to validate/sanitize a string such as filename/variable-name. diff --git a/package/python-pathvalidate/python-pathvalidate.hash b/package/python-pathvalidate/python-pathvalidate.hash index 68e6907db3..734d449585 100644 --- a/package/python-pathvalidate/python-pathvalidate.hash +++ b/package/python-pathvalidate/python-pathvalidate.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/pathvalidate/json, sha256 locally computed -md5 03f0af69596f7de52d52753c2a585fce pathvalidate-0.13.0.tar.gz -sha256 1ecaebfbd32794abe5f47a20189d5f7dd196a6ba445c1a07429de6ce608bf9b9 pathvalidate-0.13.0.tar.gz +md5 fa119fcdbc744dc3a9de11185437992c pathvalidate-0.16.0.tar.gz +sha256 81c665a16e41203dc7698caf4f7ee15b7da97e36368e30e76e76e968ce77f468 pathvalidate-0.16.0.tar.gz diff --git a/package/python-pathvalidate/python-pathvalidate.mk b/package/python-pathvalidate/python-pathvalidate.mk index a8ab4ad242..c25f4ce3cf 100644 --- a/package/python-pathvalidate/python-pathvalidate.mk +++ b/package/python-pathvalidate/python-pathvalidate.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PATHVALIDATE_VERSION = 0.13.0 +PYTHON_PATHVALIDATE_VERSION = 0.16.0 PYTHON_PATHVALIDATE_SOURCE = pathvalidate-$(PYTHON_PATHVALIDATE_VERSION).tar.gz -PYTHON_PATHVALIDATE_SITE = https://pypi.python.org/packages/3a/03/ca01cdbf0f7b766b414d134e71b2eb689619dba0ddee002d53c2d58f6436 +PYTHON_PATHVALIDATE_SITE = https://pypi.python.org/packages/d8/c5/37474d872ca29510a10d93b103920fad551f577b696104a3574a89093e5f PYTHON_PATHVALIDATE_SETUP_TYPE = setuptools PYTHON_PATHVALIDATE_LICENSE = MIT PYTHON_PATHVALIDATE_LICENSE_FILES = LICENSE diff --git a/package/python-picamera/python-picamera.mk b/package/python-picamera/python-picamera.mk index ef2a1a48a5..4de04b8c37 100644 --- a/package/python-picamera/python-picamera.mk +++ b/package/python-picamera/python-picamera.mk @@ -4,9 +4,10 @@ # ################################################################################ -PYTHON_PICAMERA_VERSION = 1.12 +PYTHON_PICAMERA_VERSION = 1.13 PYTHON_PICAMERA_SOURCE = picamera-$(PYTHON_PICAMERA_VERSION).tar.gz -PYTHON_PICAMERA_SITE = https://pypi.python.org/packages/ab/53/54a20f53e61df5c329480207fb0b6e6e25c64d16e82e899de335e08df7d9 +PYTHON_PICAMERA_SITE = https://pypi.python.org/packages/79/c4/80afe871d82ab1d5c9d8f0c0258228a8a0ed96db07a78ef17e7fba12fda8 + PYTHON_PICAMERA_SETUP_TYPE = distutils $(eval $(python-package)) diff --git a/package/python-pickleshare/Config.in b/package/python-pickleshare/Config.in new file mode 100644 index 0000000000..35a26637a5 --- /dev/null +++ b/package/python-pickleshare/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_PICKLESHARE + bool "python-pickleshare" + select BR2_PACKAGE_PYTHON_PATHLIB2 if BR2_PACKAGE_PYTHON # runtime + help + Tiny 'shelve'-like database with concurrency support + + https://pypi.python.org/pypi/pickleshare diff --git a/package/python-pickleshare/python-pickleshare.hash b/package/python-pickleshare/python-pickleshare.hash new file mode 100644 index 0000000000..6e3d408eaa --- /dev/null +++ b/package/python-pickleshare/python-pickleshare.hash @@ -0,0 +1,3 @@ +# md5 from https://pypi.python.org/pypi/pickleshare/json, sha256 locally computed +md5 6a9e5dd8dfc023031f6b7b3f824cab12 pickleshare-0.7.4.tar.gz +sha256 84a9257227dfdd6fe1b4be1319096c20eb85ff1e82c7932f36efccfe1b09737b pickleshare-0.7.4.tar.gz diff --git a/package/python-pickleshare/python-pickleshare.mk b/package/python-pickleshare/python-pickleshare.mk new file mode 100644 index 0000000000..53fd84e450 --- /dev/null +++ b/package/python-pickleshare/python-pickleshare.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-pickleshare +# +################################################################################ + +PYTHON_PICKLESHARE_VERSION = 0.7.4 +PYTHON_PICKLESHARE_SOURCE = pickleshare-$(PYTHON_PICKLESHARE_VERSION).tar.gz +PYTHON_PICKLESHARE_SITE = https://pypi.python.org/packages/69/fe/dd137d84daa0fd13a709e448138e310d9ea93070620c9db5454e234af525 +PYTHON_PICKLESHARE_LICENSE = MIT +PYTHON_PICKLESHARE_LICENSE_FILES = LICENSE +PYTHON_PICKLESHARE_SETUP_TYPE = setuptools + +$(eval $(python-package)) diff --git a/package/python-pillow/python-pillow.hash b/package/python-pillow/python-pillow.hash index 182e82f8a5..d8c083b4f5 100644 --- a/package/python-pillow/python-pillow.hash +++ b/package/python-pillow/python-pillow.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/pillow/json, sha256 locally computed -md5 d5af224b0fa2c66dacc9814785fef9e7 Pillow-4.0.0.tar.gz -sha256 ee26d2d7e7e300f76ba7b796014c04011394d0c4a5ed9a288264a3e443abca50 Pillow-4.0.0.tar.gz +md5 11e5e2046cf41586716a6042d89abeeb Pillow-4.2.1.tar.gz +sha256 c724f65870e545316f9e82e4c6d608ab5aa9dd82d5185e5b2e72119378740073 Pillow-4.2.1.tar.gz diff --git a/package/python-pillow/python-pillow.mk b/package/python-pillow/python-pillow.mk index faa0e16688..79d6a77cad 100644 --- a/package/python-pillow/python-pillow.mk +++ b/package/python-pillow/python-pillow.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PILLOW_VERSION = 4.0.0 +PYTHON_PILLOW_VERSION = 4.2.1 PYTHON_PILLOW_SOURCE = Pillow-$(PYTHON_PILLOW_VERSION).tar.gz -PYTHON_PILLOW_SITE = https://pypi.python.org/packages/8d/80/eca7a2d1a3c2dafb960f32f844d570de988e609f5fd17de92e1cf6a01b0a +PYTHON_PILLOW_SITE = https://pypi.python.org/packages/55/aa/f7f983fb72710a9daa4b3374b7c160091d3f94f5c09221f9336ade9027f3 PYTHON_PILLOW_LICENSE = PIL Software License PYTHON_PILLOW_LICENSE_FILES = LICENSE PYTHON_PILLOW_SETUP_TYPE = setuptools diff --git a/package/python-portend/Config.in b/package/python-portend/Config.in new file mode 100644 index 0000000000..6b21078caa --- /dev/null +++ b/package/python-portend/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_PORTEND + bool "python-portend" + select BR2_PACKAGE_PYTHON_TEMPORA # runtime + help + TCP port monitoring utilities. + + https://github.com/jaraco/portend diff --git a/package/python-portend/python-portend.hash b/package/python-portend/python-portend.hash new file mode 100644 index 0000000000..ce4d5f6f6d --- /dev/null +++ b/package/python-portend/python-portend.hash @@ -0,0 +1,3 @@ +# md5 from https://pypi.python.org/pypi/portend/json, sha256 locally computed +md5 a45e001d40227c4529b1a7186f4442f5 portend-1.8.tar.gz +sha256 7de919b82c4ac60d4768fe80a2557290661aa665b7c427de6249d8cb2fde5561 portend-1.8.tar.gz diff --git a/package/python-portend/python-portend.mk b/package/python-portend/python-portend.mk new file mode 100644 index 0000000000..b0e89b130f --- /dev/null +++ b/package/python-portend/python-portend.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-portend +# +################################################################################ + +PYTHON_PORTEND_VERSION = 1.8 +PYTHON_PORTEND_SOURCE = portend-$(PYTHON_PORTEND_VERSION).tar.gz +PYTHON_PORTEND_SITE = https://pypi.python.org/packages/3f/37/f3ab6c4a00632d53d7dfb74ba4a695e86605b92b0a94bd41fa443b60ccb6 +PYTHON_PORTEND_LICENSE = MIT +PYTHON_PORTEND_SETUP_TYPE = setuptools +PYTHON_PORTEND_DEPENDENCIES = host-python-setuptools-scm + +$(eval $(python-package)) diff --git a/package/python-posix-ipc/python-posix-ipc.mk b/package/python-posix-ipc/python-posix-ipc.mk index 79165375f9..6178c75498 100644 --- a/package/python-posix-ipc/python-posix-ipc.mk +++ b/package/python-posix-ipc/python-posix-ipc.mk @@ -7,7 +7,7 @@ PYTHON_POSIX_IPC_VERSION = 1.0.0 PYTHON_POSIX_IPC_SOURCE = posix_ipc-$(PYTHON_POSIX_IPC_VERSION).tar.gz PYTHON_POSIX_IPC_SITE = https://pypi.python.org/packages/f0/e6/bff62b62b2e75f695b737695951b7a4c1c6595369268a37868f5c34e1c12 -PYTHON_POSIX_IPC_LICENSE = BSD-3c +PYTHON_POSIX_IPC_LICENSE = BSD-3-Clause PYTHON_POSIX_IPC_LICENSE_FILES = LICENSE PYTHON_POSIX_IPC_SETUP_TYPE = distutils diff --git a/package/python-priority/Config.in b/package/python-priority/Config.in new file mode 100644 index 0000000000..b73b7e2ad4 --- /dev/null +++ b/package/python-priority/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_PRIORITY + bool "python-priority" + help + A pure-Python implementation of the HTTP/2 priority tree. + + http://python-hyper.org/priority/ diff --git a/package/python-priority/python-priority.hash b/package/python-priority/python-priority.hash new file mode 100644 index 0000000000..e115d6a4ef --- /dev/null +++ b/package/python-priority/python-priority.hash @@ -0,0 +1,3 @@ +# md5 from https://pypi.python.org/pypi/priority/json, sha256 locally computed +md5 4f1ff52f7fa448e9d9cb46337ae86d1e priority-1.3.0.tar.gz +sha256 6bc1961a6d7fcacbfc337769f1a382c8e746566aaa365e78047abe9f66b2ffbe priority-1.3.0.tar.gz diff --git a/package/python-priority/python-priority.mk b/package/python-priority/python-priority.mk new file mode 100644 index 0000000000..8b6dbc1e4f --- /dev/null +++ b/package/python-priority/python-priority.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-priority +# +################################################################################ + +PYTHON_PRIORITY_VERSION = 1.3.0 +PYTHON_PRIORITY_SOURCE = priority-$(PYTHON_PRIORITY_VERSION).tar.gz +PYTHON_PRIORITY_SITE = https://pypi.python.org/packages/ba/96/7d0b024087062418dfe02a68cd6b195399266ac002fb517aad94cc93e076 +PYTHON_PRIORITY_SETUP_TYPE = setuptools +PYTHON_PRIORITY_LICENSE = MIT +PYTHON_PRIORITY_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-prompt-toolkit/python-prompt-toolkit.hash b/package/python-prompt-toolkit/python-prompt-toolkit.hash index 0211a96fae..f60fc08679 100644 --- a/package/python-prompt-toolkit/python-prompt-toolkit.hash +++ b/package/python-prompt-toolkit/python-prompt-toolkit.hash @@ -1,3 +1,3 @@ -# md5 from https://pypi.python.org/pypi/prompt-toolkit/json, sha256 locally computed -md5 f74cd8ac84176fac1cdb136843ccb0d6 prompt_toolkit-1.0.7.tar.gz -sha256 ef0b8188179fe7d052161ed274b43e18f5a680ff84d01462293b327e1668d2ef prompt_toolkit-1.0.7.tar.gz +# md5 from https://pypi.python.org/pypi/prompt_toolkit/json, sha256 locally computed +md5 427b496d2c147bd3819bc3a7f6e0d493 prompt_toolkit-1.0.13.tar.gz +sha256 33d68ca09f76cd73287fde7df5748ffacf26a8238dd61ee81ac50860ea7c6776 prompt_toolkit-1.0.13.tar.gz diff --git a/package/python-prompt-toolkit/python-prompt-toolkit.mk b/package/python-prompt-toolkit/python-prompt-toolkit.mk index 7e85dcd221..19b7b34e0a 100644 --- a/package/python-prompt-toolkit/python-prompt-toolkit.mk +++ b/package/python-prompt-toolkit/python-prompt-toolkit.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_PROMPT_TOOLKIT_VERSION = 1.0.7 +PYTHON_PROMPT_TOOLKIT_VERSION = 1.0.13 PYTHON_PROMPT_TOOLKIT_SOURCE = prompt_toolkit-$(PYTHON_PROMPT_TOOLKIT_VERSION).tar.gz -PYTHON_PROMPT_TOOLKIT_SITE = https://pypi.python.org/packages/dd/55/2fb4883d2b21d072204fd21ca5e6040faa253135554590d0b67380669176 +PYTHON_PROMPT_TOOLKIT_SITE = https://pypi.python.org/packages/23/be/4876b52d5cc159cbd4b0ff6e7aa419a26470849a43a8f647857a4a24467b PYTHON_PROMPT_TOOLKIT_SETUP_TYPE = setuptools -PYTHON_PROMPT_TOOLKIT_LICENSE = BSD-3c +PYTHON_PROMPT_TOOLKIT_LICENSE = BSD-3-Clause PYTHON_PROMPT_TOOLKIT_LICENSE_FILES = LICENSE $(eval $(python-package)) diff --git a/package/python-protobuf/Config.in b/package/python-protobuf/Config.in index 6649dfc094..607fe48c2a 100644 --- a/package/python-protobuf/Config.in +++ b/package/python-protobuf/Config.in @@ -1,12 +1,13 @@ config BR2_PACKAGE_PYTHON_PROTOBUF bool "python-protobuf" - depends on BR2_PACKAGE_PYTHON # host-protobuf only builds on certain architectures depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + depends on BR2_HOST_GCC_AT_LEAST_4_5 # host-protobuf + select BR2_PACKAGE_PYTHON_SIX # runtime help Python implementation of the Google Protocol Buffers. Protocol buffers are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data. - http://code.google.com/p/protobuf/ + https://github.com/protobuf-c/protobuf-c diff --git a/package/python-protobuf/python-protobuf.hash b/package/python-protobuf/python-protobuf.hash deleted file mode 120000 index 57a40ce5bd..0000000000 --- a/package/python-protobuf/python-protobuf.hash +++ /dev/null @@ -1 +0,0 @@ -../protobuf/protobuf.hash \ No newline at end of file diff --git a/package/python-protobuf/python-protobuf.hash b/package/python-protobuf/python-protobuf.hash new file mode 100644 index 0000000000..91cab4ecc0 --- /dev/null +++ b/package/python-protobuf/python-protobuf.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 1faa722cf475c8e4c43ddb393d6f1477f1a56c93be38a1c8e367c358db476b5f protobuf-python-3.4.1.tar.gz diff --git a/package/python-protobuf/python-protobuf.mk b/package/python-protobuf/python-protobuf.mk index d8be76dd70..b91ba49339 100644 --- a/package/python-protobuf/python-protobuf.mk +++ b/package/python-protobuf/python-protobuf.mk @@ -5,9 +5,9 @@ ################################################################################ PYTHON_PROTOBUF_VERSION = $(PROTOBUF_VERSION) -PYTHON_PROTOBUF_SOURCE = $(PROTOBUF_SOURCE) +PYTHON_PROTOBUF_SOURCE = protobuf-python-$(PYTHON_PROTOBUF_VERSION).tar.gz PYTHON_PROTOBUF_SITE = $(PROTOBUF_SITE) -PYTHON_PROTOBUF_LICENSE = BSD-3c +PYTHON_PROTOBUF_LICENSE = BSD-3-Clause PYTHON_PROTOBUF_LICENSE_FILES = LICENSE PYTHON_PROTOBUF_DEPENDENCIES = host-protobuf PYTHON_PROTOBUF_SETUP_TYPE = setuptools diff --git a/package/python-psutil/Config.in b/package/python-psutil/Config.in index 1aec35d274..c64eeeed64 100644 --- a/package/python-psutil/Config.in +++ b/package/python-psutil/Config.in @@ -1,13 +1,8 @@ config BR2_PACKAGE_PYTHON_PSUTIL bool "python-psutil" - # sys/sysinfo.h conflict with kernel headers - depends on !BR2_TOOLCHAIN_USES_MUSL help psutil is a cross-platform library for retrieving information on running processes and system utilization (CPU, memory, disks, network) in Python. https://pypi.python.org/pypi/psutil - -comment "python-psutil needs a uClibc or glibc toolchain" - depends on BR2_TOOLCHAIN_USES_MUSL diff --git a/package/python-psutil/python-psutil.hash b/package/python-psutil/python-psutil.hash index ead2d9c5ba..19fb8a4fdb 100644 --- a/package/python-psutil/python-psutil.hash +++ b/package/python-psutil/python-psutil.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/psutil/json, sha256 locally computed -md5 199a366dba829c88bddaf5b41d19ddc0 psutil-4.3.1.tar.gz -sha256 38f74182fb9e15cafd0cdf0821098a95cc17301807aed25634a18b66537ba51b psutil-4.3.1.tar.gz +md5 c9aa2599dcd9e5b59d71b6660d396062 psutil-5.2.0.tar.gz +sha256 2fc91d068faa5613c093335f0e758673ef8c722ad4bfa4aded64c13ae69089eb psutil-5.2.0.tar.gz diff --git a/package/python-psutil/python-psutil.mk b/package/python-psutil/python-psutil.mk index 1032318813..2b41df743a 100644 --- a/package/python-psutil/python-psutil.mk +++ b/package/python-psutil/python-psutil.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_PSUTIL_VERSION = 4.3.1 +PYTHON_PSUTIL_VERSION = 5.2.0 PYTHON_PSUTIL_SOURCE = psutil-$(PYTHON_PSUTIL_VERSION).tar.gz -PYTHON_PSUTIL_SITE = https://pypi.python.org/packages/78/cc/f267a1371f229bf16db6a4e604428c3b032b823b83155bd33cef45e49a53 +PYTHON_PSUTIL_SITE = https://pypi.python.org/packages/3c/2f/f3ab91349c666f009077157b12057e613a3152a46a6c3be883777546b6de PYTHON_PSUTIL_SETUP_TYPE = setuptools -PYTHON_PSUTIL_LICENSE = BSD-3c +PYTHON_PSUTIL_LICENSE = BSD-3-Clause PYTHON_PSUTIL_LICENSE_FILES = LICENSE $(eval $(python-package)) diff --git a/package/python-pudb/python-pudb.hash b/package/python-pudb/python-pudb.hash index b06d5e8b0a..febf38f82e 100644 --- a/package/python-pudb/python-pudb.hash +++ b/package/python-pudb/python-pudb.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/pudb/json, sha256 locally computed -md5 4573b70163329c1cb59836a357bfdf7c pudb-2016.2.tar.gz -sha256 e958d7f7b1771cf297714e95054075df3b2a47455d7a740be4abbbd41289505a pudb-2016.2.tar.gz +md5 97597d9fec79494a83ec8d55987a8a82 pudb-2017.1.2.tar.gz +sha256 29d82ed05030146e5f2f9431926cc24f6c6c284cb451a4a850625fc0303e46e7 pudb-2017.1.2.tar.gz diff --git a/package/python-pudb/python-pudb.mk b/package/python-pudb/python-pudb.mk index 5349c1e1ed..b6b3d53867 100644 --- a/package/python-pudb/python-pudb.mk +++ b/package/python-pudb/python-pudb.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PUDB_VERSION = 2016.2 +PYTHON_PUDB_VERSION = 2017.1.2 PYTHON_PUDB_SOURCE = pudb-$(PYTHON_PUDB_VERSION).tar.gz -PYTHON_PUDB_SITE = https://pypi.python.org/packages/50/1a/d9b692e32afff09ccb5aa33c3d51c6d5a80efbb59de90307b33601e7fa62 +PYTHON_PUDB_SITE = https://pypi.python.org/packages/d3/8a/e0fa18cf6f939a63364117546c9bd933add800642004ad40fd5f5bdba0c6 PYTHON_PUDB_SETUP_TYPE = setuptools PYTHON_PUDB_LICENSE = MIT PYTHON_PUDB_LICENSE_FILES = LICENSE diff --git a/package/python-pyasn-modules/python-pyasn-modules.mk b/package/python-pyasn-modules/python-pyasn-modules.mk index bb32227a20..4e8f9b9a68 100644 --- a/package/python-pyasn-modules/python-pyasn-modules.mk +++ b/package/python-pyasn-modules/python-pyasn-modules.mk @@ -7,7 +7,7 @@ PYTHON_PYASN_MODULES_VERSION = 0.0.8 PYTHON_PYASN_MODULES_SOURCE = pyasn1-modules-$(PYTHON_PYASN_MODULES_VERSION).tar.gz PYTHON_PYASN_MODULES_SITE = http://pypi.python.org/packages/source/p/pyasn1-modules -PYTHON_PYASN_MODULES_LICENSE = BSD-2c +PYTHON_PYASN_MODULES_LICENSE = BSD-2-Clause PYTHON_PYASN_MODULES_LICENSE_FILES = LICENSE.txt PYTHON_PYASN_MODULES_SETUP_TYPE = setuptools diff --git a/package/python-pyasn/Config.in b/package/python-pyasn/Config.in index 997b737f5b..2396194df6 100644 --- a/package/python-pyasn/Config.in +++ b/package/python-pyasn/Config.in @@ -8,7 +8,7 @@ config BR2_PACKAGE_PYTHON_PYASN perform very fast IP address to Autonomous System Number lookups. - https://code.google.com/p/pyasn/ + https://github.com/hadiasghari/pyasn comment "python-pyasn needs a toolchain w/ C++" depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/python-pyasn/python-pyasn.mk b/package/python-pyasn/python-pyasn.mk index 80d18cd135..f34520f835 100644 --- a/package/python-pyasn/python-pyasn.mk +++ b/package/python-pyasn/python-pyasn.mk @@ -7,8 +7,8 @@ PYTHON_PYASN_VERSION = 0.1.9 PYTHON_PYASN_SOURCE = pyasn1-$(PYTHON_PYASN_VERSION).tar.gz PYTHON_PYASN_SITE = https://pypi.python.org/packages/source/p/pyasn1 -PYTHON_PYASN_LICENSE = BSD-2c +PYTHON_PYASN_LICENSE = BSD-2-Clause PYTHON_PYASN_LICENSE_FILES = LICENSE.txt -PYTHON_PYASN_SETUP_TYPE = distutils +PYTHON_PYASN_SETUP_TYPE = setuptools $(eval $(python-package)) diff --git a/package/python-pycli/python-pycli.hash b/package/python-pycli/python-pycli.hash index 8be31787be..46a297e6d9 100644 --- a/package/python-pycli/python-pycli.hash +++ b/package/python-pycli/python-pycli.hash @@ -1,4 +1,3 @@ -# From https://pypi.python.org/pypi?:action=show_md5&digest=5cad880168f3423a1235b396735c1360 -md5 5cad880168f3423a1235b396735c1360 pyCLI-devel.tar.gz -# Locally calculated -sha256 d7dc3245d79ef00ba5c0d6b008eb3d1a519c0df4cfa4467eee5160a80c6ddc0a pyCLI-devel.tar.gz +# md5 from https://pypi.python.org/pypi/pycli/json, sha256 locally computed +md5 89c487e7c8068ce05d63394d2ae7ebad pyCLI-2.0.3.tar.gz +sha256 bc53e6c5db031ae1c05d131641f153d22a201c5e82cc8c9324a945752efbb622 pyCLI-2.0.3.tar.gz diff --git a/package/python-pycli/python-pycli.mk b/package/python-pycli/python-pycli.mk index 8e48a065bc..7aff1c6200 100644 --- a/package/python-pycli/python-pycli.mk +++ b/package/python-pycli/python-pycli.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYCLI_VERSION = devel +PYTHON_PYCLI_VERSION = 2.0.3 PYTHON_PYCLI_SOURCE = pyCLI-$(PYTHON_PYCLI_VERSION).tar.gz -PYTHON_PYCLI_SITE = https://pypi.python.org/packages/source/p/pyCLI +PYTHON_PYCLI_SITE = https://pypi.python.org/packages/95/fc/b2d86a5fbdac4072bcf70b01674b612e1a13026f54962c878fe3eca36fd1 PYTHON_PYCLI_LICENSE = ISC-like PYTHON_PYCLI_LICENSE_FILES = lib/cli/__init__.py PYTHON_PYCLI_SETUP_TYPE = setuptools diff --git a/package/python-pycparser/python-pycparser.hash b/package/python-pycparser/python-pycparser.hash index a87bfd44c7..25747c3a91 100644 --- a/package/python-pycparser/python-pycparser.hash +++ b/package/python-pycparser/python-pycparser.hash @@ -1,3 +1,3 @@ -# md5 from https://pypi.python.org/pypi?:action=show_md5&digest=a2bc8d28c923b4fe2b2c3b4b51a4f935, sha256 locally computed -md5 a2bc8d28c923b4fe2b2c3b4b51a4f935 pycparser-2.14.tar.gz -sha256 7959b4a74abdc27b312fed1c21e6caf9309ce0b29ea86b591fd2e99ecdf27f73 pycparser-2.14.tar.gz +# md5 from https://pypi.python.org/pypi/pycparser/json, sha256 locally computed +md5 ca98dcb50bc1276f230118f6af5a40c7 pycparser-2.17.tar.gz +sha256 0aac31e917c24cb3357f5a4d5566f2cc91a19ca41862f6c3c22dc60a629673b6 pycparser-2.17.tar.gz diff --git a/package/python-pycparser/python-pycparser.mk b/package/python-pycparser/python-pycparser.mk index a32f1aa2a4..08a22b45c6 100644 --- a/package/python-pycparser/python-pycparser.mk +++ b/package/python-pycparser/python-pycparser.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_PYCPARSER_VERSION = 2.14 +PYTHON_PYCPARSER_VERSION = 2.17 PYTHON_PYCPARSER_SOURCE = pycparser-$(PYTHON_PYCPARSER_VERSION).tar.gz -PYTHON_PYCPARSER_SITE = https://pypi.python.org/packages/source/p/pycparser +PYTHON_PYCPARSER_SITE = https://pypi.python.org/packages/be/64/1bb257ffb17d01f4a38d7ce686809a736837ad4371bcc5c42ba7a715c3ac PYTHON_PYCPARSER_SETUP_TYPE = setuptools -PYTHON_PYCPARSER_LICENSE = BSD-3c +PYTHON_PYCPARSER_LICENSE = BSD-3-Clause PYTHON_PYCPARSER_LICENSE_FILES = LICENSE $(eval $(python-package)) diff --git a/package/python-pycurl/0001-link-with-crypto.patch b/package/python-pycurl/0001-link-with-crypto.patch deleted file mode 100644 index be4ebe39c4..0000000000 --- a/package/python-pycurl/0001-link-with-crypto.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -uNr pycurl-7.19.5.1-orig/setup.py pycurl-7.19.5.1-new/setup.py ---- pycurl-7.19.5.1-orig/setup.py 2015-01-07 05:37:47.000000000 +0200 -+++ pycurl-7.19.5.1-new/setup.py 2015-04-05 11:44:25.356335107 +0300 -@@ -56,7 +56,7 @@ - self.include_dirs = [] - self.define_macros = [("PYCURL_VERSION", '"%s"' % VERSION)] - self.library_dirs = [] -- self.libraries = [] -+ self.libraries = ['crypto'] - self.runtime_library_dirs = [] - self.extra_objects = [] - self.extra_compile_args = [] diff --git a/package/python-pycurl/python-pycurl.mk b/package/python-pycurl/python-pycurl.mk index 0cd7c72d77..c8923058f9 100644 --- a/package/python-pycurl/python-pycurl.mk +++ b/package/python-pycurl/python-pycurl.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYCURL_VERSION = 7.19.5.1 +PYTHON_PYCURL_VERSION = 7.43.0.1 PYTHON_PYCURL_SOURCE = pycurl-$(PYTHON_PYCURL_VERSION).tar.gz -PYTHON_PYCURL_SITE = http://pypi.python.org/packages/source/p/pycurl +PYTHON_PYCURL_SITE = https://pypi.python.org/packages/77/d9/d272b38e6e25d2686e22f6058820298dadead69340b1c57ff84c87ef81f0/ PYTHON_PYCURL_SETUP_TYPE = distutils PYTHON_PYCURL_BUILD_OPTS = --curl-config=$(STAGING_DIR)/usr/bin/curl-config --with-ssl PYTHON_PYCURL_ENV = PATH=$(STAGING_DIR)/usr/bin diff --git a/package/python-pydal/python-pydal.hash b/package/python-pydal/python-pydal.hash index ad17c33c02..9a3fad3707 100644 --- a/package/python-pydal/python-pydal.hash +++ b/package/python-pydal/python-pydal.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/pydal/json, sha256 locally computed -md5 74c6cc43d5ee57bcffa804c1204030d8 pyDAL-16.9.tar.gz -sha256 e5e18b10df044c4328a5a2fe0400793a8f643fe3526daee8c99103fc5589476e pyDAL-16.9.tar.gz +md5 5a6ad0db15dc39987b4518247a9d0b4b pyDAL-17.8.tar.gz +sha256 46abe2c978ec24013e29cf485a74c90309ebcd2f0d577687ff2d224547cebfc8 pyDAL-17.8.tar.gz diff --git a/package/python-pydal/python-pydal.mk b/package/python-pydal/python-pydal.mk index a0e9729d44..c8d4b44cfd 100644 --- a/package/python-pydal/python-pydal.mk +++ b/package/python-pydal/python-pydal.mk @@ -4,10 +4,10 @@ # ################################################################################ -PYTHON_PYDAL_VERSION = 16.9 +PYTHON_PYDAL_VERSION = 17.8 PYTHON_PYDAL_SOURCE = pyDAL-$(PYTHON_PYDAL_VERSION).tar.gz -PYTHON_PYDAL_SITE = https://pypi.python.org/packages/31/cb/7537f8d848106e3e4b4063955395a5dc3177c32c2cd2cc0a1938a486d4fa -PYTHON_PYDAL_LICENSE = BSD-3c +PYTHON_PYDAL_SITE = https://pypi.python.org/packages/e3/bd/1d5ca8be486d845074161456637f7d73acc09dc6c8d69bf0e7ad55ce9027 +PYTHON_PYDAL_LICENSE = BSD-3-Clause PYTHON_PYDAL_LICENSE_FILES = LICENSE PYTHON_PYDAL_SETUP_TYPE = setuptools diff --git a/package/python-pygame/python-pygame.mk b/package/python-pygame/python-pygame.mk index 1ef2bdf62b..8deb42a90c 100644 --- a/package/python-pygame/python-pygame.mk +++ b/package/python-pygame/python-pygame.mk @@ -11,7 +11,7 @@ PYTHON_PYGAME_SOURCE = pygame-$(PYTHON_PYGAME_VERSION).tar.gz PYTHON_PYGAME_SITE = https://bitbucket.org/pygame/pygame PYTHON_PYGAME_SITE_METHOD = hg PYTHON_PYGAME_SETUP_TYPE = distutils -PYTHON_PYGAME_LICENSE = LGPLv2.1+ +PYTHON_PYGAME_LICENSE = LGPL-2.1+ PYTHON_PYGAME_LICENSE_FILES = LGPL ifeq ($(BR2_PACKAGE_PYTHON_PYGAME_IMAGE),y) diff --git a/package/python-pygments/python-pygments.hash b/package/python-pygments/python-pygments.hash index 2af1597fe8..525aa0e2d1 100644 --- a/package/python-pygments/python-pygments.hash +++ b/package/python-pygments/python-pygments.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/pygments/json, sha256 locally computed -md5 ed3fba2467c8afcda4d317e4ef2c6150 Pygments-2.1.3.tar.gz -sha256 88e4c8a91b2af5962bfa5ea2447ec6dd357018e86e94c7d14bd8cacbc5b55d81 Pygments-2.1.3.tar.gz +md5 13037baca42f16917cbd5ad2fab50844 Pygments-2.2.0.tar.gz +sha256 dbae1046def0efb574852fab9e90209b23f556367b5a320c0bcb871c77c3e8cc Pygments-2.2.0.tar.gz diff --git a/package/python-pygments/python-pygments.mk b/package/python-pygments/python-pygments.mk index 16ed90dc37..6e7eae69c3 100644 --- a/package/python-pygments/python-pygments.mk +++ b/package/python-pygments/python-pygments.mk @@ -4,10 +4,10 @@ # ################################################################################ -PYTHON_PYGMENTS_VERSION = 2.1.3 +PYTHON_PYGMENTS_VERSION = 2.2.0 PYTHON_PYGMENTS_SOURCE = Pygments-$(PYTHON_PYGMENTS_VERSION).tar.gz -PYTHON_PYGMENTS_SITE = https://pypi.python.org/packages/b8/67/ab177979be1c81bc99c8d0592ef22d547e70bb4c6815c383286ed5dec504 -PYTHON_PYGMENTS_LICENSE = BSD-2c +PYTHON_PYGMENTS_SITE = https://pypi.python.org/packages/71/2a/2e4e77803a8bd6408a2903340ac498cb0a2181811af7c9ec92cb70b0308a +PYTHON_PYGMENTS_LICENSE = BSD-2-Clause PYTHON_PYGMENTS_LICENSE_FILES = LICENSE PYTHON_PYGMENTS_SETUP_TYPE = setuptools diff --git a/package/python-pyicu/Config.in b/package/python-pyicu/Config.in index a3578f10c1..2d9624c116 100644 --- a/package/python-pyicu/Config.in +++ b/package/python-pyicu/Config.in @@ -1,13 +1,17 @@ config BR2_PACKAGE_PYTHON_PYICU bool "python-pyicu" + depends on BR2_HOST_GCC_AT_LEAST_4_8 # icu depends on !BR2_BINFMT_FLAT # icu depends on BR2_INSTALL_LIBSTDCPP # icu + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # icu select BR2_PACKAGE_ICU help Python extension wrapping the ICU C++ API. - http://pyicu.osafoundation.org/ + https://github.com/ovalhub/pyicu -comment "python-pyicu needs a toolchain w/ C++" +comment "python-pyicu needs a toolchain w/ C++, gcc >= 4.8, host gcc >= 4.8" depends on !BR2_BINFMT_FLAT - depends on !BR2_INSTALL_LIBSTDCPP + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \ + !BR2_HOST_GCC_AT_LEAST_4_8 diff --git a/package/python-pyicu/python-pyicu.hash b/package/python-pyicu/python-pyicu.hash index 69edba83b1..b0d75fd0be 100644 --- a/package/python-pyicu/python-pyicu.hash +++ b/package/python-pyicu/python-pyicu.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/PyICU/json, sha256 locally computed -md5 30f85b7272f15b26c110c9f3e3a9e7a0 PyICU-1.9.5.tar.gz -sha256 73b052b800861fae3281dbaf9c92d12a81cabf3d31912d94c51862e093ef359b PyICU-1.9.5.tar.gz +md5 7656f5cc53a7c18b40e653d6eefdee14 PyICU-1.9.7.tar.gz +sha256 db27cd1cc150b879c5465872bec7fdaf340eca140aa922be03891d5b9f855b61 PyICU-1.9.7.tar.gz diff --git a/package/python-pyicu/python-pyicu.mk b/package/python-pyicu/python-pyicu.mk index 5c01421376..c6587c399c 100644 --- a/package/python-pyicu/python-pyicu.mk +++ b/package/python-pyicu/python-pyicu.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYICU_VERSION = 1.9.5 +PYTHON_PYICU_VERSION = 1.9.7 PYTHON_PYICU_SOURCE = PyICU-$(PYTHON_PYICU_VERSION).tar.gz -PYTHON_PYICU_SITE = https://pypi.python.org/packages/a2/9f/1947f288143191b903e58633ee597cb98bc284de28dafb1231b6f8b67b99 +PYTHON_PYICU_SITE = https://pypi.python.org/packages/6e/88/f42a1297909ca6d9113ba37b37067011ae29432fe592fdd98cf52ad23b77 PYTHON_PYICU_LICENSE = MIT PYTHON_PYICU_LICENSE_FILES = LICENSE PYTHON_PYICU_DEPENDENCIES = icu diff --git a/package/python-pylibftdi/0001-do-not-use-find-library.patch b/package/python-pylibftdi/0001-do-not-use-find-library.patch new file mode 100644 index 0000000000..192ed43e54 --- /dev/null +++ b/package/python-pylibftdi/0001-do-not-use-find-library.patch @@ -0,0 +1,31 @@ +Hard code library loading + +Shortcut the search for the libraries in case the built in +find_library is broken. + +As buildroot does not ship any of the external programs that the core +procedure use to find libraries use the canonical name of the shared +object and load it. + +In this case this affects loading libftdi and libusb. + +This should be reliable as we specify said libs as dependencies of +this package. + +Signed-off-by: Christian Kellermann + +--- +diff -purN pylibftdi-0.15.0.orig/pylibftdi/driver.py pylibftdi-0.15.0/pylibftdi/driver.py +--- pylibftdi-0.15.0.orig/pylibftdi/driver.py 2015-04-26 22:41:39.000000000 +0200 ++++ pylibftdi-0.15.0/pylibftdi/driver.py 2017-02-27 13:08:56.502958000 +0100 +@@ -121,8 +121,8 @@ class Driver(object): + lib = getattr(cdll, lib_path) + break + if lib is None: +- raise LibraryMissingError('{} library not found (search: {})'.format( +- name, search_list)) ++ return cdll.LoadLibrary(name + '.so') ++ + return lib + + @property diff --git a/package/python-pylibftdi/Config.in b/package/python-pylibftdi/Config.in new file mode 100644 index 0000000000..d340974656 --- /dev/null +++ b/package/python-pylibftdi/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_PYTHON_PYLIBFTDI + bool "python-pylibftdi" + depends on BR2_TOOLCHAIN_HAS_THREADS # libusb + select BR2_PACKAGE_LIBFTDI + help + This package contains the python language binding libftdi. + + https://pypi.python.org/pypi/pylibftdi + +comment "python-pylibftdi needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/python-pylibftdi/python-pylibftdi.hash b/package/python-pylibftdi/python-pylibftdi.hash new file mode 100644 index 0000000000..54b33a1124 --- /dev/null +++ b/package/python-pylibftdi/python-pylibftdi.hash @@ -0,0 +1,3 @@ +# md5 from https://pypi.python.org/pypi/pylibftdi/json, sha256 locally computed +md5 eaee7fb3a67f33a35a164a9628daaafe pylibftdi-0.15.0.tar.gz +sha256 51ef08ebcc4ec3eaec2366e9648d3f8fa1b737ea507a7f3a374ac58abf148e77 pylibftdi-0.15.0.tar.gz diff --git a/package/python-pylibftdi/python-pylibftdi.mk b/package/python-pylibftdi/python-pylibftdi.mk new file mode 100644 index 0000000000..0a5887b2ee --- /dev/null +++ b/package/python-pylibftdi/python-pylibftdi.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# python-pylibftdi +# +################################################################################ + +PYTHON_PYLIBFTDI_VERSION = 0.15.0 +PYTHON_PYLIBFTDI_SOURCE = pylibftdi-$(PYTHON_PYLIBFTDI_VERSION).tar.gz +PYTHON_PYLIBFTDI_SITE = https://pypi.python.org/packages/e5/bb/d7a86dbd7685e3866ea75d21c6c726d01706fdc0aa5dc9051ce18ae65693 +PYTHON_PYLIBFTDI_LICENSE = MIT +PYTHON_PYLIBFTDI_LICENSE_FILES = LICENSE.txt +PYTHON_PYLIBFTDI_DEPENDENCIES = libftdi +PYTHON_PYLIBFTDI_SETUP_TYPE = setuptools + +$(eval $(python-package)) diff --git a/package/python-pylru/python-pylru.mk b/package/python-pylru/python-pylru.mk index e670f3d1cf..75b6de7793 100644 --- a/package/python-pylru/python-pylru.mk +++ b/package/python-pylru/python-pylru.mk @@ -8,7 +8,7 @@ PYTHON_PYLRU_VERSION = 1.0.9 PYTHON_PYLRU_SOURCE = pylru-$(PYTHON_PYLRU_VERSION).tar.gz PYTHON_PYLRU_SITE = https://pypi.python.org/packages/c0/7d/0de1055632f3871dfeaabe5a3f0510317cd98b93e7b792b44e4c7de2b17b PYTHON_PYLRU_SETUP_TYPE = distutils -PYTHON_PYLRU_LICENSE = GPLv2 +PYTHON_PYLRU_LICENSE = GPL-2.0 PYTHON_PYLRU_LICENSE_FILES = LICENSE.txt $(eval $(python-package)) diff --git a/package/python-pymysql/python-pymysql.hash b/package/python-pymysql/python-pymysql.hash index 9e058abf30..429ed5aeeb 100644 --- a/package/python-pymysql/python-pymysql.hash +++ b/package/python-pymysql/python-pymysql.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/pymysql/json, sha256 locally computed -md5 bf82311ac2df4c43adad003a8c805b90 PyMySQL-0.7.9.tar.gz -sha256 2331f82b7b85d407c8d9d7a8d7901a6abbeb420533e5d5d64ded5009b5c6dcc3 PyMySQL-0.7.9.tar.gz +md5 fc96ba7c76c01ff0613b0cca9c40df75 PyMySQL-0.7.10.tar.gz +sha256 9468bd7d54df68e49c39e91d7c223d13dedf9e4284173cb5d761673e6275024e PyMySQL-0.7.10.tar.gz diff --git a/package/python-pymysql/python-pymysql.mk b/package/python-pymysql/python-pymysql.mk index 94a93a26cf..863eb8be57 100644 --- a/package/python-pymysql/python-pymysql.mk +++ b/package/python-pymysql/python-pymysql.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYMYSQL_VERSION = 0.7.9 +PYTHON_PYMYSQL_VERSION = 0.7.10 PYTHON_PYMYSQL_SOURCE = PyMySQL-$(PYTHON_PYMYSQL_VERSION).tar.gz -PYTHON_PYMYSQL_SITE = https://pypi.python.org/packages/a4/c4/c15457f261fda9839637de044eca9b6da8f55503183fe887523801b85701 +PYTHON_PYMYSQL_SITE = https://pypi.python.org/packages/90/c2/d81638491baa572d6e79b78bde42c7449d2e45b578c919c0df1a76cb859b PYTHON_PYMYSQL_LICENSE = MIT PYTHON_PYMYSQL_LICENSE_FILES = LICENSE PYTHON_PYMYSQL_SETUP_TYPE = setuptools diff --git a/package/python-pyopenssl/python-pyopenssl.hash b/package/python-pyopenssl/python-pyopenssl.hash index 894c4f8bab..74fa4e56bf 100644 --- a/package/python-pyopenssl/python-pyopenssl.hash +++ b/package/python-pyopenssl/python-pyopenssl.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/pyopenssl/json, sha256 locally computed -md5 6635503758c65ea6f70d18d1b18e46d5 pyOpenSSL-16.2.0.tar.gz -sha256 7779a3bbb74e79db234af6a08775568c6769b5821faecf6e2f4143edb227516e pyOpenSSL-16.2.0.tar.gz +md5 0704ca95106960375cfe78259453094a pyOpenSSL-17.0.0.tar.gz +sha256 48abfe9d2bb8eb8d8947c8452b0223b7b1be2383b332f3b4f248fe59ef0bafdd pyOpenSSL-17.0.0.tar.gz diff --git a/package/python-pyopenssl/python-pyopenssl.mk b/package/python-pyopenssl/python-pyopenssl.mk index a5312a0635..3fbaf8d16e 100644 --- a/package/python-pyopenssl/python-pyopenssl.mk +++ b/package/python-pyopenssl/python-pyopenssl.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYOPENSSL_VERSION = 16.2.0 +PYTHON_PYOPENSSL_VERSION = 17.0.0 PYTHON_PYOPENSSL_SOURCE = pyOpenSSL-$(PYTHON_PYOPENSSL_VERSION).tar.gz -PYTHON_PYOPENSSL_SITE = https://pypi.python.org/packages/0c/d6/b1fe519846a21614fa4f8233361574eddb223e0bc36b182140d916acfb3b +PYTHON_PYOPENSSL_SITE = https://pypi.python.org/packages/9f/32/80fe4fddeb731b7766cd09fe0b2032a91b43dae655e216792af2a6ae3190 PYTHON_PYOPENSSL_LICENSE = Apache-2.0 PYTHON_PYOPENSSL_LICENSE_FILES = LICENSE PYTHON_PYOPENSSL_SETUP_TYPE = setuptools diff --git a/package/python-pyparsing/python-pyparsing.hash b/package/python-pyparsing/python-pyparsing.hash index 6cf686a809..61385804b6 100644 --- a/package/python-pyparsing/python-pyparsing.hash +++ b/package/python-pyparsing/python-pyparsing.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/pyparsing/json, sha256 locally computed -md5 ee943c354eac79526533c58342f322c7 pyparsing-2.1.9.tar.gz -sha256 93326f5490bcfe7069806ff342692e75f72529cfa82f20683b5fceeb5d4a7fc2 pyparsing-2.1.9.tar.gz +md5 065908b92904e0d3634eb156f44cc80e pyparsing-2.1.10.tar.gz +sha256 811c3e7b0031021137fc83e051795025fcb98674d07eb8fe922ba4de53d39188 pyparsing-2.1.10.tar.gz diff --git a/package/python-pyparsing/python-pyparsing.mk b/package/python-pyparsing/python-pyparsing.mk index 652345d300..4a4b1bb8e3 100644 --- a/package/python-pyparsing/python-pyparsing.mk +++ b/package/python-pyparsing/python-pyparsing.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYPARSING_VERSION = 2.1.9 +PYTHON_PYPARSING_VERSION = 2.1.10 PYTHON_PYPARSING_SOURCE = pyparsing-$(PYTHON_PYPARSING_VERSION).tar.gz -PYTHON_PYPARSING_SITE = https://pypi.python.org/packages/87/ee/6f3a94d834c82a5c1a74f2fc77775ff05b5fbbf7d97f844e6fff5e2ff94b +PYTHON_PYPARSING_SITE = https://pypi.python.org/packages/38/bb/bf325351dd8ab6eb3c3b7c07c3978f38b2103e2ab48d59726916907cd6fb PYTHON_PYPARSING_LICENSE = MIT PYTHON_PYPARSING_LICENSE_FILES = LICENSE PYTHON_PYPARSING_SETUP_TYPE = setuptools diff --git a/package/python-pyparted/Config.in b/package/python-pyparted/Config.in index 150159559b..944796ff31 100644 --- a/package/python-pyparted/Config.in +++ b/package/python-pyparted/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_PYTHON_PYPARTED bool "python-pyparted" depends on BR2_USE_WCHAR - select BR2_PACKAGE_PYTHON_CFFI # runtime select BR2_PACKAGE_PARTED help Python bindings for GNU parted (libparted). diff --git a/package/python-pyparted/python-pyparted.hash b/package/python-pyparted/python-pyparted.hash index a2adc41083..11995fb8f4 100644 --- a/package/python-pyparted/python-pyparted.hash +++ b/package/python-pyparted/python-pyparted.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 5914e3a60437fe3e3758a9e86ee4a539dfa46cfe18e3df386a5cf1f75a963431 python-pyparted-v3.10.7.tar.gz +sha256 a9ec181bf3c7c0635862413fc86cb0950b5af957541535f530ea86a0f9d14e73 python-pyparted-v3.11.0.tar.gz diff --git a/package/python-pyparted/python-pyparted.mk b/package/python-pyparted/python-pyparted.mk index 4bf58c49eb..0378830807 100644 --- a/package/python-pyparted/python-pyparted.mk +++ b/package/python-pyparted/python-pyparted.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_PYPARTED_VERSION = v3.10.7 +PYTHON_PYPARTED_VERSION = v3.11.0 PYTHON_PYPARTED_SITE = $(call github,rhinstaller,pyparted,$(PYTHON_PYPARTED_VERSION)) PYTHON_PYPARTED_SETUP_TYPE = distutils -PYTHON_PYPARTED_LICENSE = GPLv2+ +PYTHON_PYPARTED_LICENSE = GPL-2.0+ PYTHON_PYPARTED_LICENSE_FILES = COPYING -PYTHON_PYPARTED_DEPENDENCIES = host-python-cffi parted +PYTHON_PYPARTED_DEPENDENCIES = parted $(eval $(python-package)) diff --git a/package/python-pypcap/python-pypcap.mk b/package/python-pypcap/python-pypcap.mk index 97d07f8658..fc6fc6ed92 100644 --- a/package/python-pypcap/python-pypcap.mk +++ b/package/python-pypcap/python-pypcap.mk @@ -6,15 +6,15 @@ PYTHON_PYPCAP_VERSION = 6f46e7bf29a648256ddc732a7d0ec83d3ffca390 PYTHON_PYPCAP_SITE = $(call github,dugsong,pypcap,$(PYTHON_PYPCAP_VERSION)) -PYTHON_PYPCAP_LICENSE = BSD-3c +PYTHON_PYPCAP_LICENSE = BSD-3-Clause PYTHON_PYPCAP_LICENSE_FILES = LICENSE PYTHON_PYPCAP_SETUP_TYPE = distutils PYTHON_PYPCAP_DEPENDENCIES = host-python-pyrex libpcap define PYTHON_PYPCAP_CONFIGURE_CMDS - $(HOST_DIR)/usr/bin/python2 $(HOST_DIR)/usr/bin/pyrexc $(@D)/pcap.pyx + $(HOST_DIR)/bin/python2 $(HOST_DIR)/bin/pyrexc $(@D)/pcap.pyx (cd $(@D); \ - $(HOST_DIR)/usr/bin/python setup.py \ + $(HOST_DIR)/bin/python setup.py \ config --with-pcap=$(STAGING_DIR)/usr) endef diff --git a/package/python-pyqrcode/python-pyqrcode.mk b/package/python-pyqrcode/python-pyqrcode.mk index 67e167a4bb..f3eac5a3c0 100644 --- a/package/python-pyqrcode/python-pyqrcode.mk +++ b/package/python-pyqrcode/python-pyqrcode.mk @@ -8,7 +8,7 @@ PYTHON_PYQRCODE_VERSION = 1.2.1 PYTHON_PYQRCODE_SOURCE = PyQRCode-$(PYTHON_PYQRCODE_VERSION).tar.gz PYTHON_PYQRCODE_SITE = https://pypi.python.org/packages/37/61/f07226075c347897937d4086ef8e55f0a62ae535e28069884ac68d979316 PYTHON_PYQRCODE_SETUP_TYPE = setuptools -PYTHON_PYQRCODE_LICENSE = BSD-3c +PYTHON_PYQRCODE_LICENSE = BSD-3-Clause PYTHON_PYQRCODE_LICENSE_FILES = setup.py $(eval $(python-package)) diff --git a/package/python-pyqt/python-pyqt.mk b/package/python-pyqt/python-pyqt.mk index 50e835170f..e8ae641662 100644 --- a/package/python-pyqt/python-pyqt.mk +++ b/package/python-pyqt/python-pyqt.mk @@ -7,7 +7,7 @@ PYTHON_PYQT_VERSION = 4.11.3 PYTHON_PYQT_SOURCE = PyQt-x11-gpl-$(PYTHON_PYQT_VERSION).tar.gz PYTHON_PYQT_SITE = http://downloads.sourceforge.net/project/pyqt/PyQt4/PyQt-$(PYTHON_PYQT_VERSION) -PYTHON_PYQT_LICENSE = GPLv2 or GPLv3 +PYTHON_PYQT_LICENSE = GPL-2.0 or GPL-3.0 PYTHON_PYQT_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 PYTHON_PYQT_DEPENDENCIES = python-sip host-python-sip qt @@ -72,7 +72,7 @@ endef PYTHON_PYQT_CONF_OPTS = \ --bindir $(TARGET_DIR)/usr/bin \ --destdir $(TARGET_DIR)/usr/lib/$(PYTHON_PYQT_PYTHON_DIR)/site-packages \ - --qmake $(HOST_DIR)/usr/bin/qmake \ + --qmake $(HOST_DIR)/bin/qmake \ --sysroot $(STAGING_DIR)/usr \ -w --confirm-license \ --no-designer-plugin \ @@ -84,7 +84,7 @@ PYTHON_PYQT_CONF_OPTS = \ # Python 3.x. ifeq ($(BR2_PACKAGE_PYTHON),y) PYTHON_PYQT_CONF_OPTS += \ - --vendorid-incdir $(STAGING_DIR)/usr/include/$(PYTHON_PYQT_PYTHON_DIR) \ + --vendorid-incdir $(STAGING_DIR)/usr/include/$(PYTHON_PYQT_PYTHON_DIR) \ --vendorid-libdir $(STAGING_DIR)/usr/lib/$(PYTHON_PYQT_PYTHON_DIR)/config endif @@ -93,7 +93,7 @@ define PYTHON_PYQT_CONFIGURE_CMDS (cd $(@D); \ $(TARGET_MAKE_ENV) \ $(TARGET_CONFIGURE_OPTS) \ - $(HOST_DIR)/usr/bin/python configure-ng.py \ + $(HOST_DIR)/bin/python configure-ng.py \ $(PYTHON_PYQT_CONF_OPTS) \ ) endef diff --git a/package/python-pyqt5/0002-fix-qt-5.6.2.patch b/package/python-pyqt5/0002-fix-qt-5.6.2.patch index a56af09025..fd2f9d9069 100644 --- a/package/python-pyqt5/0002-fix-qt-5.6.2.patch +++ b/package/python-pyqt5/0002-fix-qt-5.6.2.patch @@ -1,15 +1,15 @@ -Fix the build with Qt 5.6.2 +Fix the build with Qt 5.6.{2,3} Building PyQt 5.7 with versions of Qt older than Qt 5.7 is supposed to work, but currently fails in practice. In fact, this is due to the fact that the %Timeline variable in QtCoremod.sip didn't contain the -5.6.2 Qt version, so if this version was used, PyQt was assuming it +5.6.{2,3} Qt versions, so if this version was used, PyQt was assuming it was the later version 5.7, and therefore started enabling APIs only available in Qt 5.7, causing build failures when building against Qt -5.6.2. +5.6.{2,3}. -Adding Qt_5_6_2 to the timeline fixes this problem. This fix was -suggested by Phil Thompson . +Adding Qt_5_6_2 and Qt_5_6_3 to the timeline fixes this problem. This +fix was suggested by Phil Thompson . Signed-off-by: Thomas Petazzoni @@ -22,7 +22,7 @@ Index: PyQt5_gpl-5.7/sip/QtCore/QtCoremod.sip %Module(name=PyQt5.QtCore, call_super_init=True, default_VirtualErrorHandler=PyQt5, keyword_arguments="Optional", version=1) -%Timeline {Qt_5_0_0 Qt_5_0_1 Qt_5_0_2 Qt_5_1_0 Qt_5_1_1 Qt_5_2_0 Qt_5_2_1 Qt_5_3_0 Qt_5_3_1 Qt_5_3_2 Qt_5_4_0 Qt_5_4_1 Qt_5_4_2 Qt_5_5_0 Qt_5_5_1 Qt_5_6_0 Qt_5_6_1 Qt_5_7_0} -+%Timeline {Qt_5_0_0 Qt_5_0_1 Qt_5_0_2 Qt_5_1_0 Qt_5_1_1 Qt_5_2_0 Qt_5_2_1 Qt_5_3_0 Qt_5_3_1 Qt_5_3_2 Qt_5_4_0 Qt_5_4_1 Qt_5_4_2 Qt_5_5_0 Qt_5_5_1 Qt_5_6_0 Qt_5_6_1 Qt_5_6_2 Qt_5_7_0} ++%Timeline {Qt_5_0_0 Qt_5_0_1 Qt_5_0_2 Qt_5_1_0 Qt_5_1_1 Qt_5_2_0 Qt_5_2_1 Qt_5_3_0 Qt_5_3_1 Qt_5_3_2 Qt_5_4_0 Qt_5_4_1 Qt_5_4_2 Qt_5_5_0 Qt_5_5_1 Qt_5_6_0 Qt_5_6_1 Qt_5_6_2 Qt_5_6_3 Qt_5_7_0} %Platforms {WS_X11 WS_WIN WS_MACX} diff --git a/package/python-pyqt5/python-pyqt5.mk b/package/python-pyqt5/python-pyqt5.mk index e58ee5ad93..cde026ef63 100644 --- a/package/python-pyqt5/python-pyqt5.mk +++ b/package/python-pyqt5/python-pyqt5.mk @@ -7,7 +7,7 @@ PYTHON_PYQT5_VERSION = 5.7 PYTHON_PYQT5_SOURCE = PyQt5_gpl-$(PYTHON_PYQT5_VERSION).tar.gz PYTHON_PYQT5_SITE = http://downloads.sourceforge.net/project/pyqt/PyQt5/PyQt-$(PYTHON_PYQT5_VERSION) -PYTHON_PYQT5_LICENSE = GPLv3 +PYTHON_PYQT5_LICENSE = GPL-3.0 PYTHON_PYQT5_LICENSE_FILES = LICENSE PYTHON_PYQT5_DEPENDENCIES = python-sip host-python-sip qt5base @@ -47,7 +47,7 @@ endef PYTHON_PYQT5_CONF_OPTS = \ --bindir $(TARGET_DIR)/usr/bin \ --destdir $(TARGET_DIR)/usr/lib/$(PYTHON_PYQT5_PYTHON_DIR)/site-packages \ - --qmake $(HOST_DIR)/usr/bin/qmake \ + --qmake $(HOST_DIR)/bin/qmake \ --sysroot $(STAGING_DIR)/usr \ -w --confirm-license \ --no-designer-plugin \ @@ -59,7 +59,7 @@ define PYTHON_PYQT5_CONFIGURE_CMDS (cd $(@D); \ $(TARGET_MAKE_ENV) \ $(TARGET_CONFIGURE_OPTS) \ - $(HOST_DIR)/usr/bin/python configure.py \ + $(HOST_DIR)/bin/python configure.py \ $(PYTHON_PYQT5_CONF_OPTS) \ ) endef diff --git a/package/python-pyrex/python-pyrex.mk b/package/python-pyrex/python-pyrex.mk index 6ddb2dcf37..6284a5f228 100644 --- a/package/python-pyrex/python-pyrex.mk +++ b/package/python-pyrex/python-pyrex.mk @@ -7,7 +7,7 @@ PYTHON_PYREX_VERSION = 0.9.9 PYTHON_PYREX_SOURCE = Pyrex-$(PYTHON_PYREX_VERSION).tar.gz PYTHON_PYREX_SITE = http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex -PYTHON_PYREX_LICENSE = Apache-v2 +PYTHON_PYREX_LICENSE = Apache-2.0 PYTHON_PYREX_LICENSE_FILES = LICENSE.txt PYTHON_PYREX_SETUP_TYPE = distutils HOST_PYTHON_PYREX_NEEDS_HOST_PYTHON = python2 diff --git a/package/python-pyro/python-pyro.hash b/package/python-pyro/python-pyro.hash index 65ff0ae4e6..4db42efea3 100644 --- a/package/python-pyro/python-pyro.hash +++ b/package/python-pyro/python-pyro.hash @@ -1,2 +1,3 @@ -# locally computed -sha256 f01e32f8d1c3f427c4916e13d9e8cee24dbf924f72922a06591515911bd13756 Pyro-3.14.tar.gz +# md5 from https://pypi.python.org/pypi/pyro/json, sha256 locally computed +md5 59d4d3f4a8786776c9d7f9051b8f1a69 Pyro-3.16.tar.gz +sha256 1bed508453ef7a7556b51424a58101af2349b662baab7e7331c5cb85dbe7e578 Pyro-3.16.tar.gz diff --git a/package/python-pyro/python-pyro.mk b/package/python-pyro/python-pyro.mk index 26c026e87c..06b4f457f2 100644 --- a/package/python-pyro/python-pyro.mk +++ b/package/python-pyro/python-pyro.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_PYRO_VERSION = 3.14 +PYTHON_PYRO_VERSION = 3.16 PYTHON_PYRO_SOURCE = Pyro-$(PYTHON_PYRO_VERSION).tar.gz -PYTHON_PYRO_SITE = https://pypi.python.org/packages/source/P/Pyro +PYTHON_PYRO_SITE = https://pypi.python.org/packages/61/68/0978adae315261b87acd216517c2c7f00780396e4d1426c5412458c6a28f PYTHON_PYRO_LICENSE = MIT PYTHON_PYRO_LICENSE_FILES = LICENSE -PYTHON_PYRO_SETUP_TYPE = distutils +PYTHON_PYRO_SETUP_TYPE = setuptools $(eval $(python-package)) diff --git a/package/python-pyroute2/python-pyroute2.hash b/package/python-pyroute2/python-pyroute2.hash index ff680fc235..dbf09c97ac 100644 --- a/package/python-pyroute2/python-pyroute2.hash +++ b/package/python-pyroute2/python-pyroute2.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/pyroute2/json, sha256 locally computed -md5 317303ba8a5e3d55b4f918fd1b7e186d pyroute2-0.4.8.tar.gz -sha256 a59907d2c5756f188b5f8aa48e3060e31c6f40e076f8143b99240fe0108a48d6 pyroute2-0.4.8.tar.gz +md5 ef4282b1401bcd07a9cf4ec0696aba24 pyroute2-0.4.13.tar.gz +sha256 93f3d72f58b3627036427b5571f8e27c93dbb6d01372dc4c452707d6610c0a39 pyroute2-0.4.13.tar.gz diff --git a/package/python-pyroute2/python-pyroute2.mk b/package/python-pyroute2/python-pyroute2.mk index 5ea4f54576..eed8eb415b 100644 --- a/package/python-pyroute2/python-pyroute2.mk +++ b/package/python-pyroute2/python-pyroute2.mk @@ -4,10 +4,10 @@ # ################################################################################ -PYTHON_PYROUTE2_VERSION = 0.4.8 +PYTHON_PYROUTE2_VERSION = 0.4.13 PYTHON_PYROUTE2_SOURCE = pyroute2-$(PYTHON_PYROUTE2_VERSION).tar.gz -PYTHON_PYROUTE2_SITE = https://pypi.python.org/packages/fb/c1/2cbd9d3f91c663be7168ee2d8d6e919006ffeef57cac76bdd9e6cba7f468 -PYTHON_PYROUTE2_LICENSE = Apache-2.0 or GPLv2+ +PYTHON_PYROUTE2_SITE = https://pypi.python.org/packages/91/e7/814f60e355078dc51625cd2e7e715ed4a06111ddf2ac5580f2f10e79c94a +PYTHON_PYROUTE2_LICENSE = Apache-2.0 or GPL-2.0+ PYTHON_PYROUTE2_LICENSE_FILES = LICENSE.Apache.v2 LICENSE.GPL.v2 README.license.md PYTHON_PYROUTE2_SETUP_TYPE = distutils diff --git a/package/python-pysmb/python-pysmb.hash b/package/python-pysmb/python-pysmb.hash index 4c410689a1..952466701d 100644 --- a/package/python-pysmb/python-pysmb.hash +++ b/package/python-pysmb/python-pysmb.hash @@ -1,3 +1,3 @@ -# md5 from https://pypi.python.org/pypi?:action=show_md5&digest=9fe70cbc812b2e789915bedea7e45b1a, sha256 locally computed -md5 9fe70cbc812b2e789915bedea7e45b1a pysmb-1.1.18.tar.gz -sha256 580f7dcf8048656d2924c2f78731feaeaf6f9fa8ef5c251fc6964d39bfd3a6b9 pysmb-1.1.18.tar.gz +# md5 from https://pypi.python.org/pypi/pysmb/json, sha256 locally computed +md5 e6f9ce0032db528aae060f7019bd409c pysmb-1.1.19.tar.gz +sha256 fa4e6b4a4f2afbfbd71e9179c491f8c77bc2ad19e0bc866d7c6cbfa9ae272602 pysmb-1.1.19.tar.gz diff --git a/package/python-pysmb/python-pysmb.mk b/package/python-pysmb/python-pysmb.mk index 51df91da3c..1b4c18797a 100644 --- a/package/python-pysmb/python-pysmb.mk +++ b/package/python-pysmb/python-pysmb.mk @@ -4,10 +4,10 @@ # ################################################################################ -PYTHON_PYSMB_VERSION = 1.1.18 +PYTHON_PYSMB_VERSION = 1.1.19 PYTHON_PYSMB_SOURCE = pysmb-$(PYTHON_PYSMB_VERSION).tar.gz -PYTHON_PYSMB_SITE = https://pypi.python.org/packages/source/p/pysmb -PYTHON_PYSMB_LICENSE = libpng license +PYTHON_PYSMB_SITE = https://pypi.python.org/packages/f9/e7/1fd7faaa946cc6b43ce85bb7a177b75a4718d9c5e291201fec00112b497c +PYTHON_PYSMB_LICENSE = Libpng PYTHON_PYSMB_LICENSE_FILES = LICENSE PYTHON_PYSMB_SETUP_TYPE = setuptools diff --git a/package/python-pysnmp-apps/Config.in b/package/python-pysnmp-apps/Config.in index b032eba1fe..32e3269946 100644 --- a/package/python-pysnmp-apps/Config.in +++ b/package/python-pysnmp-apps/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_PYTHON_PYSNMP_APPS bool "python-pysnmp-apps" - select BR2_PACKAGE_PYTHON_PYSNMP depends on BR2_INSTALL_LIBSTDCPP # pysnmp -> pyasn + select BR2_PACKAGE_PYTHON_PYSNMP help A collection of command-line tools for SNMP management purposes built on top of the PySNMP package. diff --git a/package/python-pysnmp-apps/python-pysnmp-apps.mk b/package/python-pysnmp-apps/python-pysnmp-apps.mk index 2c831df1ee..79c436fa73 100644 --- a/package/python-pysnmp-apps/python-pysnmp-apps.mk +++ b/package/python-pysnmp-apps/python-pysnmp-apps.mk @@ -8,7 +8,7 @@ PYTHON_PYSNMP_APPS_VERSION = 0.4.1 PYTHON_PYSNMP_APPS_SOURCE = pysnmp-apps-$(PYTHON_PYSNMP_APPS_VERSION).tar.gz PYTHON_PYSNMP_APPS_SITE = https://pypi.python.org/packages/source/p/pysnmp-apps PYTHON_PYSNMP_APPS_SETUP_TYPE = setuptools -PYTHON_PYSNMP_APPS_LICENSE = BSD-3c +PYTHON_PYSNMP_APPS_LICENSE = BSD-3-Clause PYTHON_PYSNMP_APPS_LICENSE_FILES = LICENSE.txt PYTHON_PYSNMP_APPS_DEPENDENCIES = python-pysnmp diff --git a/package/python-pysnmp-mibs/Config.in b/package/python-pysnmp-mibs/Config.in index eca17d26aa..521d95eab1 100644 --- a/package/python-pysnmp-mibs/Config.in +++ b/package/python-pysnmp-mibs/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_PYTHON_PYSNMP_MIBS bool "python-pysnmp-mibs" - select BR2_PACKAGE_PYTHON_PYSNMP depends on BR2_INSTALL_LIBSTDCPP # pysnmp -> pyasn + select BR2_PACKAGE_PYTHON_PYSNMP help PySNMP MIBs is a set of IETF & IANA MIBs pre-compiled and packaged to simplify their use with the PySNMP library. diff --git a/package/python-pysnmp-mibs/python-pysnmp-mibs.mk b/package/python-pysnmp-mibs/python-pysnmp-mibs.mk index a0db763cc6..9772b78c91 100644 --- a/package/python-pysnmp-mibs/python-pysnmp-mibs.mk +++ b/package/python-pysnmp-mibs/python-pysnmp-mibs.mk @@ -8,7 +8,7 @@ PYTHON_PYSNMP_MIBS_VERSION = 0.1.6 PYTHON_PYSNMP_MIBS_SOURCE = pysnmp-mibs-$(PYTHON_PYSNMP_MIBS_VERSION).tar.gz PYTHON_PYSNMP_MIBS_SITE = https://pypi.python.org/packages/bf/7c/99ab192af934ed5d41ceef92a1b949b41652f29b46241b902ffec55642f4 PYTHON_PYSNMP_MIBS_SETUP_TYPE = setuptools -PYTHON_PYSNMP_MIBS_LICENSE = BSD-3c +PYTHON_PYSNMP_MIBS_LICENSE = BSD-3-Clause PYTHON_PYSNMP_MIBS_LICENSE_FILES = LICENSE.txt PYTHON_PYSNMP_MIBS_DEPENDENCIES = python-pysnmp diff --git a/package/python-pysnmp/python-pysnmp.hash b/package/python-pysnmp/python-pysnmp.hash index b0f0f4962b..7ecbf4c480 100644 --- a/package/python-pysnmp/python-pysnmp.hash +++ b/package/python-pysnmp/python-pysnmp.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/pysnmp/json, sha256 locally computed -md5 9a4d23c4c1edea1c77faed72c469d8e8 pysnmp-4.3.2.tar.gz -sha256 7c2bd81df17aa7dca0057a68e7a32284a72231309a0237d66d5b803b5c118977 pysnmp-4.3.2.tar.gz +md5 cc0838cdf3f2d34539f478942f648384 pysnmp-4.3.3.tar.gz +sha256 c837d35cbb2c1e067b7b8ed752d962481ef8d7ff11e4cdd8bfb0840c4a786318 pysnmp-4.3.3.tar.gz diff --git a/package/python-pysnmp/python-pysnmp.mk b/package/python-pysnmp/python-pysnmp.mk index dff8bdd3ce..2721ba8a7b 100644 --- a/package/python-pysnmp/python-pysnmp.mk +++ b/package/python-pysnmp/python-pysnmp.mk @@ -4,12 +4,12 @@ # ################################################################################ -PYTHON_PYSNMP_VERSION = 4.3.2 +PYTHON_PYSNMP_VERSION = 4.3.3 PYTHON_PYSNMP_SOURCE = pysnmp-$(PYTHON_PYSNMP_VERSION).tar.gz -PYTHON_PYSNMP_SITE = https://pypi.python.org/packages/9e/77/795fcc9d9a01adcb6175a3bf6532132addb8904922afd7877a9930d89f2f +PYTHON_PYSNMP_SITE = https://pypi.python.org/packages/47/b5/c65b9b6fcc36d3f4caca30d3314920f1ca75f5ceecc1f6ae2538ede24511 PYTHON_PYSNMP_SETUP_TYPE = setuptools -PYTHON_PYSNMP_LICENSE = BSD-3c +PYTHON_PYSNMP_LICENSE = BSD-3-Clause PYTHON_PYSNMP_LICENSE_FILES = LICENSE.txt PYTHON_PYSNMP_DEPENDENCIES = python-pyasn python-pycrypto diff --git a/package/python-pysocks/python-pysocks.hash b/package/python-pysocks/python-pysocks.hash index 556996a267..802bd37f01 100644 --- a/package/python-pysocks/python-pysocks.hash +++ b/package/python-pysocks/python-pysocks.hash @@ -1,3 +1,3 @@ -# md5 from https://pypi.python.org/pypi/PySocks/json, sha256 locally computed -md5 68f4ad7a8d4fa725656ae3e9dd142d29 PySocks-1.5.7.tar.gz -sha256 e51c7694b10288e6fd9a28e15c0bcce9aca0327e7b32ebcd9af05fcd56f38b88 PySocks-1.5.7.tar.gz +# md5 from https://pypi.python.org/pypi/pysocks/json, sha256 locally computed +md5 07007ec7ed46292dab06013f2e3af365 PySocks-1.6.7.tar.gz +sha256 d00329f27efa157db7efe3ca26fcd69033cd61f83822461ee3f8a353b48e33cf PySocks-1.6.7.tar.gz diff --git a/package/python-pysocks/python-pysocks.mk b/package/python-pysocks/python-pysocks.mk index a99a399ce8..163da761be 100644 --- a/package/python-pysocks/python-pysocks.mk +++ b/package/python-pysocks/python-pysocks.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_PYSOCKS_VERSION = 1.5.7 +PYTHON_PYSOCKS_VERSION = 1.6.7 PYTHON_PYSOCKS_SOURCE = PySocks-$(PYTHON_PYSOCKS_VERSION).tar.gz -PYTHON_PYSOCKS_SITE = https://pypi.python.org/packages/16/56/9b3513078f837fa8cb88ee01ec1cd805ed8104a37bc02ca8c2588ae8fe5a -PYTHON_PYSOCKS_LICENSE = BSD-3c -PYTHON_PYSOCKS_LICENSE_FILES = socks.py -PYTHON_PYSOCKS_SETUP_TYPE = distutils +PYTHON_PYSOCKS_SITE = https://pypi.python.org/packages/7d/38/edca891ce16827a1de45cc347e4b6c22311eba25838b9825a5e6c48cf560 +PYTHON_PYSOCKS_LICENSE = BSD-3-Clause +PYTHON_PYSOCKS_LICENSE_FILES = LICENSE +PYTHON_PYSOCKS_SETUP_TYPE = setuptools $(eval $(python-package)) diff --git a/package/python-pytablereader/Config.in b/package/python-pytablereader/Config.in index 050ff65c17..fa3dd29f16 100644 --- a/package/python-pytablereader/Config.in +++ b/package/python-pytablereader/Config.in @@ -2,14 +2,17 @@ config BR2_PACKAGE_PYTHON_PYTABLEREADER bool "python-pytablereader" select BR2_PACKAGE_PYTHON_BEAUTIFULSOUP4 # runtime select BR2_PACKAGE_PYTHON_DATAPROPERTY # runtime + select BR2_PACKAGE_PYTHON_ENUM34 if BR2_PACKAGE_PYTHON # runtime select BR2_PACKAGE_PYTHON_JSONSCHEMA # runtime select BR2_PACKAGE_PYTHON_LOGBOOK # runtime select BR2_PACKAGE_PYTHON_MARKDOWN2 # runtime select BR2_PACKAGE_PYTHON_MBSTRDECODER # runtime - select BR2_PACKAGE_PYTHON_PATHVALIDATE # runtime select BR2_PACKAGE_PYTHON_PATHPY # runtime + select BR2_PACKAGE_PYTHON_PATHVALIDATE # runtime + select BR2_PACKAGE_PYTHON_PYPARSING # runtime select BR2_PACKAGE_PYTHON_REQUESTS # runtime select BR2_PACKAGE_PYTHON_SIX # runtime + select BR2_PACKAGE_PYTHON_TYPEPY # runtime select BR2_PACKAGE_PYTHON_XLRD # runtime help A python library to load structured table data from diff --git a/package/python-pytablereader/python-pytablereader.hash b/package/python-pytablereader/python-pytablereader.hash index 7d1438a1d5..5682779271 100644 --- a/package/python-pytablereader/python-pytablereader.hash +++ b/package/python-pytablereader/python-pytablereader.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/pytablereader/json, sha256 locally computed -md5 ae95462a1a982186d1307ee0d6e275e2 pytablereader-0.8.8.tar.gz -sha256 6ba95dc699d2c7ab7bc4b3f0224a17404255d110a3ece8ba12217d650aa7de79 pytablereader-0.8.8.tar.gz +md5 60a00cb5ca16aaa16cc4813ef094f803 pytablereader-0.13.3.tar.gz +sha256 96d5eb060f5ab3bc9072e98c3dbeb22b152ce4ce64f33502e7c2cc394526c60b pytablereader-0.13.3.tar.gz diff --git a/package/python-pytablereader/python-pytablereader.mk b/package/python-pytablereader/python-pytablereader.mk index 2b6f2d46bb..a2dd1b9893 100644 --- a/package/python-pytablereader/python-pytablereader.mk +++ b/package/python-pytablereader/python-pytablereader.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYTABLEREADER_VERSION = 0.8.8 +PYTHON_PYTABLEREADER_VERSION = 0.13.3 PYTHON_PYTABLEREADER_SOURCE = pytablereader-$(PYTHON_PYTABLEREADER_VERSION).tar.gz -PYTHON_PYTABLEREADER_SITE = https://pypi.python.org/packages/05/0c/7801617e60ce0d9b4cc57cb542cc431a95b9f43ac1ac14030017163da29d +PYTHON_PYTABLEREADER_SITE = https://pypi.python.org/packages/c3/47/550949034950f43d3db3b60b94aa8ee60d548d9f657612d816ad4420f24b PYTHON_PYTABLEREADER_SETUP_TYPE = setuptools PYTHON_PYTABLEREADER_LICENSE = MIT PYTHON_PYTABLEREADER_LICENSE_FILES = LICENSE diff --git a/package/python-pytablewriter/Config.in b/package/python-pytablewriter/Config.in index f270d0daa8..1ef27be18a 100644 --- a/package/python-pytablewriter/Config.in +++ b/package/python-pytablewriter/Config.in @@ -2,12 +2,16 @@ config BR2_PACKAGE_PYTHON_PYTABLEWRITER bool "python-pytablewriter" select BR2_PACKAGE_PYTHON_DATAPROPERTY # runtime select BR2_PACKAGE_PYTHON_DOMINATE # runtime + select BR2_PACKAGE_PYTHON_LOGBOOK # runtime + select BR2_PACKAGE_PYTHON_MBSTRDECODER # runtime select BR2_PACKAGE_PYTHON_PATHVALIDATE # runtime + select BR2_PACKAGE_PYTHON_PYTABLEREADER # runtime + select BR2_PACKAGE_PYTHON_SIMPLESQLITE # runtime select BR2_PACKAGE_PYTHON_SIX # runtime + select BR2_PACKAGE_PYTHON_TOML # runtime + select BR2_PACKAGE_PYTHON_TYPEPY # runtime select BR2_PACKAGE_PYTHON_XLSXWRITER # runtime select BR2_PACKAGE_PYTHON_XLWT # runtime - select BR2_PACKAGE_PYTHON_TOML # runtime - select BR2_PACKAGE_PYTHON_PYTABLEREADER # runtime help pytablewriter is a python library to write a table in various formats: CSV, HTML, JavaScript, JSON, Markdown, Excel, Pandas, diff --git a/package/python-pytablewriter/python-pytablewriter.hash b/package/python-pytablewriter/python-pytablewriter.hash index 3b5bef3220..abe5ad0d4e 100644 --- a/package/python-pytablewriter/python-pytablewriter.hash +++ b/package/python-pytablewriter/python-pytablewriter.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/pytablewriter/json, sha256 locally computed -md5 7b909647bb8a87373f2553a6fccdf419 pytablewriter-0.17.1.tar.gz -sha256 20c58c41359941262bf288d2fe81ca506e2a38cfdd337d982dbcb2e26ec4a3ed pytablewriter-0.17.1.tar.gz +md5 f7655aaf8d3b2496e08a36bce4c38b91 pytablewriter-0.24.0.tar.gz +sha256 94741a1837502fb8172bf6b2f4410a42804efaeffdf34660c375ed0a9424df4e pytablewriter-0.24.0.tar.gz diff --git a/package/python-pytablewriter/python-pytablewriter.mk b/package/python-pytablewriter/python-pytablewriter.mk index 6d2e5456dd..ac1480c003 100644 --- a/package/python-pytablewriter/python-pytablewriter.mk +++ b/package/python-pytablewriter/python-pytablewriter.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYTABLEWRITER_VERSION = 0.17.1 +PYTHON_PYTABLEWRITER_VERSION = 0.24.0 PYTHON_PYTABLEWRITER_SOURCE = pytablewriter-$(PYTHON_PYTABLEWRITER_VERSION).tar.gz -PYTHON_PYTABLEWRITER_SITE = https://pypi.python.org/packages/a2/2f/093dded4e265705c1d87d68a9062acb69b39c6ec615f74d71c62f6625afa +PYTHON_PYTABLEWRITER_SITE = https://pypi.python.org/packages/65/b0/efafdd9e4d5b08069371530e46acde684ac7fb18bffa09b635e2af091d82 PYTHON_PYTABLEWRITER_SETUP_TYPE = setuptools PYTHON_PYTABLEWRITER_LICENSE = MIT PYTHON_PYTABLEWRITER_LICENSE_FILES = LICENSE diff --git a/package/python-pytrie/python-pytrie.mk b/package/python-pytrie/python-pytrie.mk index e3bea4f690..b651352cad 100644 --- a/package/python-pytrie/python-pytrie.mk +++ b/package/python-pytrie/python-pytrie.mk @@ -7,7 +7,7 @@ PYTHON_PYTRIE_VERSION = 0.2 PYTHON_PYTRIE_SITE = http://pypi.python.org/packages/source/P/PyTrie PYTHON_PYTRIE_SOURCE = PyTrie-$(PYTHON_PYTRIE_VERSION).tar.gz -PYTHON_PYTRIE_LICENSE = BSD-3c +PYTHON_PYTRIE_LICENSE = BSD-3-Clause PYTHON_PYTRIE_LICENSE_FILES = LICENSE PYTHON_PYTRIE_SETUP_TYPE = distutils diff --git a/package/python-pyudev/python-pyudev.mk b/package/python-pyudev/python-pyudev.mk index 70c4faf8de..db941ea4d9 100644 --- a/package/python-pyudev/python-pyudev.mk +++ b/package/python-pyudev/python-pyudev.mk @@ -7,7 +7,7 @@ PYTHON_PYUDEV_VERSION = 0.18 PYTHON_PYUDEV_SOURCE = pyudev-$(PYTHON_PYUDEV_VERSION).tar.gz PYTHON_PYUDEV_SITE = https://pypi.python.org/packages/source/p/pyudev -PYTHON_PYUDEV_LICENSE = LGPLv2.1+ +PYTHON_PYUDEV_LICENSE = LGPL-2.1+ PYTHON_PYUDEV_LICENSE_FILES = COPYING PYTHON_PYUDEV_SETUP_TYPE = setuptools diff --git a/package/python-pyusb/python-pyusb.mk b/package/python-pyusb/python-pyusb.mk index cfdef533a1..0afcbe8b8f 100644 --- a/package/python-pyusb/python-pyusb.mk +++ b/package/python-pyusb/python-pyusb.mk @@ -7,7 +7,7 @@ PYTHON_PYUSB_VERSION = 1.0.0 PYTHON_PYUSB_SOURCE = PyUSB-$(PYTHON_PYUSB_VERSION).tar.gz PYTHON_PYUSB_SITE = https://pypi.python.org/packages/8a/19/66fb48a4905e472f5dfeda3a1bafac369fbf6d6fc5cf55b780864962652d -PYTHON_PYUSB_LICENSE = BSD-3c +PYTHON_PYUSB_LICENSE = BSD-3-Clause PYTHON_PYUSB_LICENSE_FILES = LICENSE PYTHON_PYUSB_SETUP_TYPE = distutils PYTHON_PYUSB_DEPENDENCIES = libusb diff --git a/package/python-pyxb/python-pyxb.hash b/package/python-pyxb/python-pyxb.hash index 9aa50fc76e..0cfce57618 100644 --- a/package/python-pyxb/python-pyxb.hash +++ b/package/python-pyxb/python-pyxb.hash @@ -1,3 +1,4 @@ -# md5 from https://pypi.python.org/pypi/pyxb/json, sha256 locally computed -md5 197c462ab8427ea197313ca3776b252a PyXB-1.2.5.tar.gz -sha256 4e8f62ee2cfffc37e4f40634ab9c79e0311cfaf28cf4ce5e7f4828ec56e4ff67 PyXB-1.2.5.tar.gz +# md5 from https://pypi.python.org/pypi/PyXB/json, sha256 locally computed +md5 4303573fc7094ce4664c5b71cd4bdb48 PyXB-1.2.6.tar.gz +sha256 2a00f38dd1d87b88f92d79bc5a09718d730419b88e814545f472bbd5a3bf27b4 PyXB-1.2.6.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/python-pyxb/python-pyxb.mk b/package/python-pyxb/python-pyxb.mk index d0b2da5461..6af10b51e7 100644 --- a/package/python-pyxb/python-pyxb.mk +++ b/package/python-pyxb/python-pyxb.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYXB_VERSION = 1.2.5 +PYTHON_PYXB_VERSION = 1.2.6 PYTHON_PYXB_SOURCE = PyXB-$(PYTHON_PYXB_VERSION).tar.gz -PYTHON_PYXB_SITE = https://pypi.python.org/packages/43/7a/9d40392e4380463f37bf5aa2851dfd8ba7c0e4d2a9dc2355177b8b785794 +PYTHON_PYXB_SITE = https://pypi.python.org/packages/e3/09/4fdb190ea2b7cb43d6d3e745276ee69f4d6181be70fcbfda7df3c5f72f0e PYTHON_PYXB_LICENSE = Apache-2.0 PYTHON_PYXB_LICENSE_FILES = LICENSE PYTHON_PYXB_SETUP_TYPE = distutils diff --git a/package/python-pyyaml/python-pyyaml.mk b/package/python-pyyaml/python-pyyaml.mk index 0509a7adb0..beeaf88e96 100644 --- a/package/python-pyyaml/python-pyyaml.mk +++ b/package/python-pyyaml/python-pyyaml.mk @@ -8,7 +8,7 @@ PYTHON_PYYAML_VERSION = 3.12 PYTHON_PYYAML_SOURCE = PyYAML-$(PYTHON_PYYAML_VERSION).tar.gz PYTHON_PYYAML_SITE = https://pypi.python.org/packages/4a/85/db5a2df477072b2902b0eb892feb37d88ac635d36245a72a6a69b23b383a PYTHON_PYYAML_SETUP_TYPE = distutils -PYTHON_PYYAML_LICENSE = Python software foundation license v2 +PYTHON_PYYAML_LICENSE = MIT PYTHON_PYYAML_LICENSE_FILES = LICENSE PYTHON_PYYAML_DEPENDENCIES = libyaml diff --git a/package/python-pyzmq/python-pyzmq.mk b/package/python-pyzmq/python-pyzmq.mk index ade2d3a234..c34c5af265 100644 --- a/package/python-pyzmq/python-pyzmq.mk +++ b/package/python-pyzmq/python-pyzmq.mk @@ -7,7 +7,7 @@ PYTHON_PYZMQ_VERSION = 16.0.2 PYTHON_PYZMQ_SOURCE = pyzmq-$(PYTHON_PYZMQ_VERSION).tar.gz PYTHON_PYZMQ_SITE = https://pypi.python.org/packages/af/37/8e0bf3800823bc247c36715a52e924e8f8fd5d1432f04b44b8cd7a5d7e55 -PYTHON_PYZMQ_LICENSE = LGPLv3+, BSD-3c, Apache-2.0 +PYTHON_PYZMQ_LICENSE = LGPL-3.0+, BSD-3-Clause, Apache-2.0 # Apache license only online: http://www.apache.org/licenses/LICENSE-2.0 PYTHON_PYZMQ_LICENSE_FILES = COPYING.LESSER COPYING.BSD PYTHON_PYZMQ_DEPENDENCIES = zeromq diff --git a/package/python-requests-toolbelt/python-requests-toolbelt.hash b/package/python-requests-toolbelt/python-requests-toolbelt.hash index 89f5ca1114..75343b052f 100644 --- a/package/python-requests-toolbelt/python-requests-toolbelt.hash +++ b/package/python-requests-toolbelt/python-requests-toolbelt.hash @@ -1,3 +1,3 @@ -# md5 from https://pypi.python.org/pypi/requests-toolbelt/json, sha256 locally computed -md5 bfe2009905f460f4764c32cfbbf4205f requests-toolbelt-0.7.0.tar.gz -sha256 33899d4a559c3f0f5e9fbc115d337c4236febdc083755a160a4132d92fc3c91a requests-toolbelt-0.7.0.tar.gz +# md5 from https://pypi.python.org/pypi/requests_toolbelt/json, sha256 locally computed +md5 be245e2093a9610fb2eb399afc063ad2 requests-toolbelt-0.7.1.tar.gz +sha256 c3843884269d79e492522f3e9f490917e074c1ddbb80111968970e721fe36eaf requests-toolbelt-0.7.1.tar.gz diff --git a/package/python-requests-toolbelt/python-requests-toolbelt.mk b/package/python-requests-toolbelt/python-requests-toolbelt.mk index 2e944c067d..ce1d95871a 100644 --- a/package/python-requests-toolbelt/python-requests-toolbelt.mk +++ b/package/python-requests-toolbelt/python-requests-toolbelt.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_REQUESTS_TOOLBELT_VERSION = 0.7.0 +PYTHON_REQUESTS_TOOLBELT_VERSION = 0.7.1 PYTHON_REQUESTS_TOOLBELT_SOURCE = requests-toolbelt-$(PYTHON_REQUESTS_TOOLBELT_VERSION).tar.gz -PYTHON_REQUESTS_TOOLBELT_SITE = https://pypi.python.org/packages/59/78/1d391d30ebf74079a8e4de6ab66fdca5362903ef2df64496f4697e9bb626 +PYTHON_REQUESTS_TOOLBELT_SITE = https://pypi.python.org/packages/ab/bf/2af6b25f880e2d529a524f98837d33b1048a2a15703fc4806185b54e9672 PYTHON_REQUESTS_TOOLBELT_SETUP_TYPE = setuptools PYTHON_REQUESTS_TOOLBELT_LICENSE = Apache-2.0 PYTHON_REQUESTS_TOOLBELT_LICENSE_FILES = LICENSE diff --git a/package/python-requests/Config.in b/package/python-requests/Config.in index 23ab3092d5..d2726fb26a 100644 --- a/package/python-requests/Config.in +++ b/package/python-requests/Config.in @@ -1,5 +1,11 @@ config BR2_PACKAGE_PYTHON_REQUESTS bool "python-requests" + select BR2_PACKAGE_PYTHON_CERTIFI # runtime + select BR2_PACKAGE_PYTHON_CHARDET # runtime + select BR2_PACKAGE_PYTHON_IDNA # runtime + select BR2_PACKAGE_PYTHON_URLLIB3 # runtime + select BR2_PACKAGE_PYTHON_SSL if BR2_PACKAGE_PYTHON # runtime + select BR2_PACKAGE_PYTHON3_SSL if BR2_PACKAGE_PYTHON3 # runtime select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON # runtime select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 # runtime help diff --git a/package/python-requests/python-requests.hash b/package/python-requests/python-requests.hash index e441c00825..2f182ea3bd 100644 --- a/package/python-requests/python-requests.hash +++ b/package/python-requests/python-requests.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/requests/json, sha256 locally computed -md5 ad5f9c47b5c5dfdb28363ad7546b0763 requests-2.11.1.tar.gz -sha256 5acf980358283faba0b897c73959cecf8b841205bb4b2ad3ef545f46eae1a133 requests-2.11.1.tar.gz +md5 40f723ed01dddeaf990d0609d073f021 requests-2.18.1.tar.gz +sha256 c6f3bdf4a4323ac7b45d01e04a6f6c20e32a052cd04de81e05103abc049ad9b9 requests-2.18.1.tar.gz diff --git a/package/python-requests/python-requests.mk b/package/python-requests/python-requests.mk index 49980bf9bc..504eb8d0ad 100644 --- a/package/python-requests/python-requests.mk +++ b/package/python-requests/python-requests.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_REQUESTS_VERSION = 2.11.1 +PYTHON_REQUESTS_VERSION = 2.18.1 PYTHON_REQUESTS_SOURCE = requests-$(PYTHON_REQUESTS_VERSION).tar.gz -PYTHON_REQUESTS_SITE = https://pypi.python.org/packages/2e/ad/e627446492cc374c284e82381215dcd9a0a87c4f6e90e9789afefe6da0ad +PYTHON_REQUESTS_SITE = https://pypi.python.org/packages/2c/b5/2b6e8ef8dd18203b6399e9f28c7d54f6de7b7549853fe36d575bd31e29a7 PYTHON_REQUESTS_SETUP_TYPE = setuptools PYTHON_REQUESTS_LICENSE = Apache-2.0 PYTHON_REQUESTS_LICENSE_FILES = LICENSE diff --git a/package/python-rpi-gpio/Config.in b/package/python-rpi-gpio/Config.in old mode 100755 new mode 100644 diff --git a/package/python-rpi-gpio/python-rpi-gpio.hash b/package/python-rpi-gpio/python-rpi-gpio.hash index a502972c35..e8d390daf5 100644 --- a/package/python-rpi-gpio/python-rpi-gpio.hash +++ b/package/python-rpi-gpio/python-rpi-gpio.hash @@ -1,3 +1,3 @@ -# md5 from https://pypi.python.org/pypi/rpi-gpio/json, sha256 locally computed -md5 9db86fd5f3bae872de9dbb068ee0b096 RPi.GPIO-0.6.2.tar.gz -sha256 82acff0ef6bbe3cdf6f4dbdd73d96add5294bb94baf7f51c1d901861af3c2392 RPi.GPIO-0.6.2.tar.gz +# md5 from https://pypi.python.org/pypi/rpi_gpio/json, sha256 locally computed +md5 e4abe1cfb5eacebe53078032256eb837 RPi.GPIO-0.6.3.tar.gz +sha256 a5fc0eb5e401963b6c0a03650da6b42c4005f02d962b81241d96c98d0a578516 RPi.GPIO-0.6.3.tar.gz diff --git a/package/python-rpi-gpio/python-rpi-gpio.mk b/package/python-rpi-gpio/python-rpi-gpio.mk index 8f02d160e5..fd3267420b 100644 --- a/package/python-rpi-gpio/python-rpi-gpio.mk +++ b/package/python-rpi-gpio/python-rpi-gpio.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_RPI_GPIO_VERSION = 0.6.2 +PYTHON_RPI_GPIO_VERSION = 0.6.3 PYTHON_RPI_GPIO_SOURCE = RPi.GPIO-$(PYTHON_RPI_GPIO_VERSION).tar.gz -PYTHON_RPI_GPIO_SITE = https://pypi.python.org/packages/c1/a8/de92cf6d04376f541ce250de420f4fe7cbb2b32a7128929a600bc89aede5 +PYTHON_RPI_GPIO_SITE = https://pypi.python.org/packages/e2/58/6e1b775606da6439fa3fd1550e7f714ac62aa75e162eed29dbec684ecb3e PYTHON_RPI_GPIO_LICENSE = MIT PYTHON_RPI_GPIO_LICENSE_FILES = LICENCE.txt PYTHON_RPI_GPIO_SETUP_TYPE = distutils diff --git a/package/python-scandir/Config.in b/package/python-scandir/Config.in new file mode 100644 index 0000000000..497f962aa0 --- /dev/null +++ b/package/python-scandir/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_SCANDIR + bool "python-scandir" + help + scandir, a better directory iterator and faster os.walk() + + https://pypi.python.org/pypi/scandir diff --git a/package/python-scandir/python-scandir.hash b/package/python-scandir/python-scandir.hash new file mode 100644 index 0000000000..aecd9a58cc --- /dev/null +++ b/package/python-scandir/python-scandir.hash @@ -0,0 +1,3 @@ +# md5 from https://pypi.python.org/pypi/scandir/json, sha256 locally computed +md5 a2713043de681bba6b084be42e7a8a44 scandir-1.5.tar.gz +sha256 c2612d1a487d80fb4701b4a91ca1b8f8a695b1ae820570815e85e8c8b23f1283 scandir-1.5.tar.gz diff --git a/package/python-scandir/python-scandir.mk b/package/python-scandir/python-scandir.mk new file mode 100644 index 0000000000..9b7ba70071 --- /dev/null +++ b/package/python-scandir/python-scandir.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-scandir +# +################################################################################ + +PYTHON_SCANDIR_VERSION = 1.5 +PYTHON_SCANDIR_SOURCE = scandir-$(PYTHON_SCANDIR_VERSION).tar.gz +PYTHON_SCANDIR_SITE = https://pypi.python.org/packages/bd/f4/3143e0289faf0883228017dbc6387a66d0b468df646645e29e1eb89ea10e +PYTHON_SCANDIR_LICENSE = BSD-3-Clause +PYTHON_SCANDIR_LICENSE_FILES = LICENSE.txt +PYTHON_SCANDIR_SETUP_TYPE = setuptools + +$(eval $(python-package)) diff --git a/package/python-scapy3k/python-scapy3k.mk b/package/python-scapy3k/python-scapy3k.mk index 661cb9d7fd..e858dcc728 100644 --- a/package/python-scapy3k/python-scapy3k.mk +++ b/package/python-scapy3k/python-scapy3k.mk @@ -7,6 +7,6 @@ PYTHON_SCAPY3K_VERSION = v0.18 PYTHON_SCAPY3K_SITE = $(call github,phaethon,scapy,$(PYTHON_SCAPY3K_VERSION)) PYTHON_SCAPY3K_SETUP_TYPE = distutils -PYTHON_SCAPY3K_LICENSE = GPLv2+ +PYTHON_SCAPY3K_LICENSE = GPL-2.0+ $(eval $(python-package)) diff --git a/package/python-serial/python-serial.mk b/package/python-serial/python-serial.mk index 4b3ffadc1c..ce7ec07062 100644 --- a/package/python-serial/python-serial.mk +++ b/package/python-serial/python-serial.mk @@ -7,7 +7,7 @@ PYTHON_SERIAL_VERSION = 3.1 PYTHON_SERIAL_SOURCE = pyserial-$(PYTHON_SERIAL_VERSION).tar.gz PYTHON_SERIAL_SITE = https://pypi.python.org/packages/ce/9c/694ce79a9d4a164e109aeba1a40fba23336f3b7554978553e22a5d41d54d -PYTHON_SERIAL_LICENSE = Python Software Foundation License +PYTHON_SERIAL_LICENSE = BSD-3-Clause PYTHON_SERIAL_LICENSE_FILES = LICENSE.txt PYTHON_SERIAL_SETUP_TYPE = setuptools diff --git a/package/python-service-identity/Config.in b/package/python-service-identity/Config.in index c9cbb6cca1..73593b0d61 100644 --- a/package/python-service-identity/Config.in +++ b/package/python-service-identity/Config.in @@ -1,10 +1,11 @@ config BR2_PACKAGE_PYTHON_SERVICE_IDENTITY bool "python-service-identity" + depends on BR2_INSTALL_LIBSTDCPP # python-pyopenssl, python-pyasn + select BR2_PACKAGE_PYTHON_ATTRS # runtime select BR2_PACKAGE_PYTHON_CHARACTERISTIC # runtime select BR2_PACKAGE_PYTHON_PYASN # runtime select BR2_PACKAGE_PYTHON_PYASN_MODULES # runtime select BR2_PACKAGE_PYTHON_PYOPENSSL # runtime - depends on BR2_INSTALL_LIBSTDCPP # python-pyopenssl, python-pyasn help Service identity verification for pyOpenSSL. diff --git a/package/python-service-identity/python-service-identity.hash b/package/python-service-identity/python-service-identity.hash index 09561d8f93..7caaaf99e8 100644 --- a/package/python-service-identity/python-service-identity.hash +++ b/package/python-service-identity/python-service-identity.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/service_identity/json, sha256 locally computed -md5 d52392597b9c44a740abf322bfdb21e6 service_identity-16.0.0.tar.gz -sha256 0630e222f59f91f3db498be46b1d879ff220955d7bbad719a5cb9ad14e3c3036 service_identity-16.0.0.tar.gz +md5 f509cb41ca2f8420bd8496291136d6cc service_identity-17.0.0.tar.gz +sha256 4001fbb3da19e0df22c47a06d29681a398473af4aa9d745eca525b3b2c2302ab service_identity-17.0.0.tar.gz diff --git a/package/python-service-identity/python-service-identity.mk b/package/python-service-identity/python-service-identity.mk index 88549abff3..ccc6e71ac3 100644 --- a/package/python-service-identity/python-service-identity.mk +++ b/package/python-service-identity/python-service-identity.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SERVICE_IDENTITY_VERSION = 16.0.0 +PYTHON_SERVICE_IDENTITY_VERSION = 17.0.0 PYTHON_SERVICE_IDENTITY_SOURCE = service_identity-$(PYTHON_SERVICE_IDENTITY_VERSION).tar.gz -PYTHON_SERVICE_IDENTITY_SITE = https://pypi.python.org/packages/f3/2a/7c04e7ab74f9f2be026745a9ffa81fd9d56139fa6f5f4b4c8a8c07b2bfba +PYTHON_SERVICE_IDENTITY_SITE = https://pypi.python.org/packages/de/2a/cab6e30be82c8fcd2339ef618036720eda954cf05daef514e386661c9221 PYTHON_SERVICE_IDENTITY_LICENSE = MIT PYTHON_SERVICE_IDENTITY_LICENSE_FILES = LICENSE PYTHON_SERVICE_IDENTITY_SETUP_TYPE = setuptools diff --git a/package/python-setproctitle/python-setproctitle.mk b/package/python-setproctitle/python-setproctitle.mk index 36cfec3223..ff33c0c18a 100644 --- a/package/python-setproctitle/python-setproctitle.mk +++ b/package/python-setproctitle/python-setproctitle.mk @@ -7,8 +7,8 @@ PYTHON_SETPROCTITLE_VERSION = 1.1.10 PYTHON_SETPROCTITLE_SOURCE = setproctitle-$(PYTHON_SETPROCTITLE_VERSION).tar.gz PYTHON_SETPROCTITLE_SITE = https://pypi.python.org/packages/5a/0d/dc0d2234aacba6cf1a729964383e3452c52096dc695581248b548786f2b3 -PYTHON_SETPROCTITLE_LICENSE = BSD-3c +PYTHON_SETPROCTITLE_LICENSE = BSD-3-Clause PYTHON_SETPROCTITLE_LICENSE_FILES = COPYRIGHT -PYTHON_SETPROCTITLE_SETUP_TYPE = distutils +PYTHON_SETPROCTITLE_SETUP_TYPE = setuptools $(eval $(python-package)) diff --git a/package/python-setuptools-scm/python-setuptools-scm.hash b/package/python-setuptools-scm/python-setuptools-scm.hash index 734fc5a9df..e34e8e2b6d 100644 --- a/package/python-setuptools-scm/python-setuptools-scm.hash +++ b/package/python-setuptools-scm/python-setuptools-scm.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/setuptools_scm/json, sha256 locally computed -md5 b6916c78ed6253d6602444fad4279c5b setuptools_scm-1.15.0.tar.gz -sha256 daf12d05aa2155a46aa357453757ffdc47d87f839e62114f042bceac6a619e2f setuptools_scm-1.15.0.tar.gz +md5 f17493d53f0d842bb0152f214775640b setuptools_scm-1.15.6.tar.gz +sha256 49ab4685589986a42da85706b3311a2f74f1af567d39fee6cb1e088d7a75fb5f setuptools_scm-1.15.6.tar.gz diff --git a/package/python-setuptools-scm/python-setuptools-scm.mk b/package/python-setuptools-scm/python-setuptools-scm.mk index 993fbb978b..acde2618c3 100644 --- a/package/python-setuptools-scm/python-setuptools-scm.mk +++ b/package/python-setuptools-scm/python-setuptools-scm.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SETUPTOOLS_SCM_VERSION = 1.15.0 +PYTHON_SETUPTOOLS_SCM_VERSION = 1.15.6 PYTHON_SETUPTOOLS_SCM_SOURCE = setuptools_scm-$(PYTHON_SETUPTOOLS_SCM_VERSION).tar.gz -PYTHON_SETUPTOOLS_SCM_SITE = https://pypi.python.org/packages/80/b7/31b6ae5fcb188e37f7e31abe75f9be90490a5456a72860fa6e643f8a3cbc +PYTHON_SETUPTOOLS_SCM_SITE = https://pypi.python.org/packages/03/6d/aafdd01edd227ee879b691455bf19895091872af7e48192bea1758c82032 PYTHON_SETUPTOOLS_SCM_LICENSE = MIT PYTHON_SETUPTOOLS_SCM_LICENSE_FILES = LICENSE PYTHON_SETUPTOOLS_SCM_SETUP_TYPE = setuptools diff --git a/package/python-setuptools/python-setuptools.hash b/package/python-setuptools/python-setuptools.hash index 88113fa1f9..de6ad56d44 100644 --- a/package/python-setuptools/python-setuptools.hash +++ b/package/python-setuptools/python-setuptools.hash @@ -1,4 +1,2 @@ -# From https://pypi.python.org/pypi/setuptools/18.7.1 -md5 a0984da9cd8d7b582e1fd7de67dfdbcc setuptools-18.7.1.tar.gz # Locally calculated -sha256 aff36c95035e0b311eacb1434e3f7e85f5ccaad477773847e582978f8f45bd74 setuptools-18.7.1.tar.gz +sha256 99339ac1b4c9bc0a74745d6ff196a207ddfb5f7ca75df76f3d8d081a7f70cecc python-setuptools-v36.0.1.tar.gz diff --git a/package/python-setuptools/python-setuptools.mk b/package/python-setuptools/python-setuptools.mk index 15edc6fd07..28d4f29b5b 100644 --- a/package/python-setuptools/python-setuptools.mk +++ b/package/python-setuptools/python-setuptools.mk @@ -4,12 +4,20 @@ # ################################################################################ -PYTHON_SETUPTOOLS_VERSION = 18.7.1 -PYTHON_SETUPTOOLS_SOURCE = setuptools-$(PYTHON_SETUPTOOLS_VERSION).tar.gz -PYTHON_SETUPTOOLS_SITE = http://pypi.python.org/packages/source/s/setuptools -PYTHON_SETUPTOOLS_LICENSE = Python Software Foundation or Zope Public License -PYTHON_SETUPTOOLS_LICENSE_FILES = PKG-INFO +PYTHON_SETUPTOOLS_VERSION = v36.0.1 +PYTHON_SETUPTOOLS_SITE = $(call github,pypa,setuptools,$(PYTHON_SETUPTOOLS_VERSION)) +PYTHON_SETUPTOOLS_LICENSE = MIT +PYTHON_SETUPTOOLS_LICENSE_FILES = LICENSE PYTHON_SETUPTOOLS_SETUP_TYPE = setuptools +# recent setuptools versions require bootstrap.py to be invoked +# before the standard setup process. +define PYTHON_SETUPTOOLS_RUN_BOOTSTRAP + cd $(@D) && $(HOST_DIR)/bin/python ./bootstrap.py +endef + +PYTHON_SETUPTOOLS_PRE_CONFIGURE_HOOKS = PYTHON_SETUPTOOLS_RUN_BOOTSTRAP +HOST_PYTHON_SETUPTOOLS_PRE_CONFIGURE_HOOKS = PYTHON_SETUPTOOLS_RUN_BOOTSTRAP + $(eval $(python-package)) $(eval $(host-python-package)) diff --git a/package/python-sh/python-sh.hash b/package/python-sh/python-sh.hash index 0445fa62fd..cbc6745bd9 100644 --- a/package/python-sh/python-sh.hash +++ b/package/python-sh/python-sh.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/sh/json, sha256 locally computed -md5 89d46b1dba32713b7df74b1bc59d74a1 sh-1.12.7.tar.gz -sha256 5a07373657a1a704a34ea1bf73b2e55c42388c5d449634d6d7c96147f5660086 sh-1.12.7.tar.gz +md5 a8351aef25d25f707c17e0a7a6280251 sh-1.12.14.tar.gz +sha256 b52bf5833ed01c7b5c5fb73a7f71b3d98d48e9b9b8764236237bdc7ecae850fc sh-1.12.14.tar.gz diff --git a/package/python-sh/python-sh.mk b/package/python-sh/python-sh.mk index 1aa6bb9b11..dfe80d5628 100644 --- a/package/python-sh/python-sh.mk +++ b/package/python-sh/python-sh.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SH_VERSION = 1.12.7 +PYTHON_SH_VERSION = 1.12.14 PYTHON_SH_SOURCE = sh-$(PYTHON_SH_VERSION).tar.gz -PYTHON_SH_SITE = https://pypi.python.org/packages/c2/98/565d9b566b3153607336ae9e91c1c467896f7f786c2d5d8e50fef7d75b08 +PYTHON_SH_SITE = https://pypi.python.org/packages/7c/71/199d27d3e7e78bf448bcecae0105a1d5b29173ffd2bbadaa95a74c156770 PYTHON_SH_SETUP_TYPE = setuptools PYTHON_SH_LICENSE = MIT PYTHON_SH_LICENSE_FILES = LICENSE.txt diff --git a/package/python-shutilwhich/python-shutilwhich.mk b/package/python-shutilwhich/python-shutilwhich.mk index 0497e1b6d0..31a7ea96fa 100644 --- a/package/python-shutilwhich/python-shutilwhich.mk +++ b/package/python-shutilwhich/python-shutilwhich.mk @@ -7,7 +7,7 @@ PYTHON_SHUTILWHICH_VERSION = 1.1.0 PYTHON_SHUTILWHICH_SOURCE = shutilwhich-$(PYTHON_SHUTILWHICH_VERSION).tar.gz PYTHON_SHUTILWHICH_SITE = http://pypi.python.org/packages/source/s/shutilwhich -PYTHON_SHUTILWHICH_LICENSE = Python Software Foundation License +PYTHON_SHUTILWHICH_LICENSE = Python-2.0 PYTHON_SHUTILWHICH_SETUP_TYPE = setuptools $(eval $(python-package)) diff --git a/package/python-simpleaudio/python-simpleaudio.mk b/package/python-simpleaudio/python-simpleaudio.mk index b9562ee6b9..24ec067da4 100644 --- a/package/python-simpleaudio/python-simpleaudio.mk +++ b/package/python-simpleaudio/python-simpleaudio.mk @@ -1,8 +1,8 @@ -############################################################# +################################################################################ # # python-simpleaudio # -############################################################# +################################################################################ PYTHON_SIMPLEAUDIO_VERSION = 1.0.1 PYTHON_SIMPLEAUDIO_SOURCE = simpleaudio-$(PYTHON_SIMPLEAUDIO_VERSION).tar.gz diff --git a/package/python-simplegeneric/Config.in b/package/python-simplegeneric/Config.in new file mode 100644 index 0000000000..623b1ae98a --- /dev/null +++ b/package/python-simplegeneric/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_SIMPLEGENERIC + bool "python-simplegeneric" + help + Simple generic functions (similar to Python's own len(), + pickle.dump(), etc.) + + https://pypi.python.org/pypi/simplegeneric diff --git a/package/python-simplegeneric/python-simplegeneric.hash b/package/python-simplegeneric/python-simplegeneric.hash new file mode 100644 index 0000000000..24f652c8e7 --- /dev/null +++ b/package/python-simplegeneric/python-simplegeneric.hash @@ -0,0 +1,3 @@ +# md5 from https://pypi.python.org/pypi/simplegeneric, sha256 locally computed +md5 f9c1fab00fd981be588fc32759f474e3 simplegeneric-0.8.1.zip +sha256 dc972e06094b9af5b855b3df4a646395e43d1c9d0d39ed345b7393560d0b9173 simplegeneric-0.8.1.zip diff --git a/package/python-simplegeneric/python-simplegeneric.mk b/package/python-simplegeneric/python-simplegeneric.mk new file mode 100644 index 0000000000..cc84320428 --- /dev/null +++ b/package/python-simplegeneric/python-simplegeneric.mk @@ -0,0 +1,24 @@ +################################################################################ +# +# python-simplegeneric +# +################################################################################ + +PYTHON_SIMPLEGENERIC_VERSION = 0.8.1 +PYTHON_SIMPLEGENERIC_SOURCE = simplegeneric-$(PYTHON_SIMPLEGENERIC_VERSION).zip +PYTHON_SIMPLEGENERIC_SITE = https://pypi.python.org/packages/3d/57/4d9c9e3ae9a255cd4e1106bb57e24056d3d0709fc01b2e3e345898e49d5b +PYTHON_SIMPLEGENERIC_LICENSE = ZPL-2.1 + +# Force setup-type to be 'setuptools' in order to force the package to +# be installed with --single-version-externally-managed. Otherwise we +# end up with a .egg file, which is a zip archive, and as such forces +# us to have 'zlib' as a runtime dependency +PYTHON_SIMPLEGENERIC_SETUP_TYPE = setuptools + +define PYTHON_SIMPLEGENERIC_EXTRACT_CMDS + unzip $(DL_DIR)/$(PYTHON_SIMPLEGENERIC_SOURCE) -d $(@D) + mv $(@D)/simplegeneric-$(PYTHON_SIMPLEGENERIC_VERSION)/* $(@D) + rmdir $(@D)/simplegeneric-$(PYTHON_SIMPLEGENERIC_VERSION) +endef + +$(eval $(python-package)) diff --git a/package/python-simplejson/Config.in b/package/python-simplejson/Config.in index be0ee8f929..c2fd91773e 100644 --- a/package/python-simplejson/Config.in +++ b/package/python-simplejson/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_PYTHON_SIMPLEJSON bool "python-simplejson" - depends on BR2_PACKAGE_PYTHON help - Simple, fast, extensible JSON encoder/decoder for Python + Simple, fast, extensible JSON encoder/decoder for Python. https://pypi.python.org/pypi/simplejson/ diff --git a/package/python-simplejson/python-simplejson.hash b/package/python-simplejson/python-simplejson.hash index 19421b8633..f2a5fce38e 100644 --- a/package/python-simplejson/python-simplejson.hash +++ b/package/python-simplejson/python-simplejson.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/simplejson/json, sha256 locally computed -md5 53b1371bbf883b129a12d594a97e9a18 simplejson-3.8.2.tar.gz -sha256 d58439c548433adcda98e695be53e526ba940a4b9c44fb9a05d92cd495cdd47f simplejson-3.8.2.tar.gz +md5 6e2f1bd5fb0a926facf5d89d217a7183 simplejson-3.11.1.tar.gz +sha256 01a22d49ddd9a168b136f26cac87d9a335660ce07aa5c630b8e3607d6f4325e7 simplejson-3.11.1.tar.gz diff --git a/package/python-simplejson/python-simplejson.mk b/package/python-simplejson/python-simplejson.mk index 703bca22d6..afc77fec67 100644 --- a/package/python-simplejson/python-simplejson.mk +++ b/package/python-simplejson/python-simplejson.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SIMPLEJSON_VERSION = 3.8.2 +PYTHON_SIMPLEJSON_VERSION = 3.11.1 PYTHON_SIMPLEJSON_SOURCE = simplejson-$(PYTHON_SIMPLEJSON_VERSION).tar.gz -PYTHON_SIMPLEJSON_SITE = https://pypi.python.org/packages/f0/07/26b519e6ebb03c2a74989f7571e6ae6b82e9d7d81b8de6fcdbfc643c7b58 +PYTHON_SIMPLEJSON_SITE = https://pypi.python.org/packages/08/48/c97b668d6da7d7bebe7ea1817a6f76394b0ec959cb04214ca833c34359df PYTHON_SIMPLEJSON_LICENSE = Academic Free License (AFL), MIT PYTHON_SIMPLEJSON_LICENSE_FILES = LICENSE.txt PYTHON_SIMPLEJSON_SETUP_TYPE = setuptools diff --git a/package/python-simplesqlite/Config.in b/package/python-simplesqlite/Config.in new file mode 100644 index 0000000000..25941dd9c8 --- /dev/null +++ b/package/python-simplesqlite/Config.in @@ -0,0 +1,18 @@ +config BR2_PACKAGE_PYTHON_SIMPLESQLITE + bool "python-simplesqlite" + select BR2_PACKAGE_PYTHON_DATAPROPERTY # runtime + select BR2_PACKAGE_PYTHON_LOGBOOK # runtime + select BR2_PACKAGE_PYTHON_MBSTRDECODER # runtime + select BR2_PACKAGE_PYTHON_PATHVALIDATE # runtime + select BR2_PACKAGE_PYTHON_PYTABLEREADER # runtime + select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime + select BR2_PACKAGE_PYTHON_SIX # runtime + select BR2_PACKAGE_PYTHON_SQLITE if BR2_PACKAGE_PYTHON # runtime + select BR2_PACKAGE_PYTHON3_SQLITE if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON_TYPEPY # runtime + help + SimpleSQLite is a Python library to simplify SQLite database + operations: table creation, data insertion and get data as + other data formats. + + https://github.com/thombashi/SimpleSQLite diff --git a/package/python-simplesqlite/python-simplesqlite.hash b/package/python-simplesqlite/python-simplesqlite.hash new file mode 100644 index 0000000000..b9dc1378c0 --- /dev/null +++ b/package/python-simplesqlite/python-simplesqlite.hash @@ -0,0 +1,3 @@ +# md5 from https://pypi.python.org/pypi/simplesqlite/json, sha256 locally computed +md5 be05735a65f91bf0bb47c2bfcf474dd3 SimpleSQLite-0.15.0.tar.gz +sha256 319cf4fd660a2a8ba1d77bac65e3cb3bed30ef5e2b2f98aab558026a29bbefec SimpleSQLite-0.15.0.tar.gz diff --git a/package/python-simplesqlite/python-simplesqlite.mk b/package/python-simplesqlite/python-simplesqlite.mk new file mode 100644 index 0000000000..48c37c563e --- /dev/null +++ b/package/python-simplesqlite/python-simplesqlite.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-simplesqlite +# +################################################################################ + +PYTHON_SIMPLESQLITE_VERSION = 0.15.0 +PYTHON_SIMPLESQLITE_SOURCE = SimpleSQLite-$(PYTHON_SIMPLESQLITE_VERSION).tar.gz +PYTHON_SIMPLESQLITE_SITE = https://pypi.python.org/packages/d5/09/e256a7d421c223505d4e89079b4936c6a6de39a5a095ec4bcaa9bfc3f933 +PYTHON_SIMPLESQLITE_SETUP_TYPE = setuptools +PYTHON_SIMPLESQLITE_LICENSE = MIT +PYTHON_SIMPLESQLITE_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-sip/python-sip.mk b/package/python-sip/python-sip.mk index 0c0a94738d..76d7d04187 100644 --- a/package/python-sip/python-sip.mk +++ b/package/python-sip/python-sip.mk @@ -7,7 +7,7 @@ PYTHON_SIP_VERSION = 4.18 PYTHON_SIP_SOURCE = sip-$(PYTHON_SIP_VERSION).tar.gz PYTHON_SIP_SITE = http://downloads.sourceforge.net/project/pyqt/sip/sip-$(PYTHON_SIP_VERSION) -PYTHON_SIP_LICENSE = SIP license or GPLv2 or GPLv3 +PYTHON_SIP_LICENSE = SIP license or GPL-2.0 or GPL-3.0 PYTHON_SIP_LICENSE_FILES = LICENSE LICENSE-GPL2 LICENSE-GPL3 ifeq ($(BR2_PACKAGE_QT5),y) @@ -30,7 +30,7 @@ endif define HOST_PYTHON_SIP_CONFIGURE_CMDS (cd $(@D); \ - $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(HOST_DIR)/usr/bin/python configure.py) + $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(HOST_DIR)/bin/python configure.py) endef define HOST_PYTHON_SIP_BUILD_CMDS @@ -43,14 +43,14 @@ endef define PYTHON_SIP_CONFIGURE_CMDS (cd $(@D); \ - $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(HOST_DIR)/usr/bin/python configure.py \ + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(HOST_DIR)/bin/python configure.py \ --bindir $(TARGET_DIR)/usr/bin \ --destdir $(TARGET_DIR)/$(PYTHON_SIP_LIB_DIR) \ - --incdir $(STAGING_DIR)/$(PYTHON_SIP_INCLUDE_DIR) \ + --incdir $(STAGING_DIR)/$(PYTHON_SIP_INCLUDE_DIR) \ --sipdir $(TARGET_DIR)/usr/share/sip \ --sysroot $(STAGING_DIR)/usr \ --use-qmake && \ - $(HOST_DIR)/usr/bin/qmake) + $(HOST_DIR)/bin/qmake) endef define PYTHON_SIP_BUILD_CMDS diff --git a/package/python-six/Config.in.host b/package/python-six/Config.in.host new file mode 100644 index 0000000000..1d37e768ae --- /dev/null +++ b/package/python-six/Config.in.host @@ -0,0 +1,9 @@ +config BR2_PACKAGE_HOST_PYTHON_SIX + bool "host python-six" + help + Six is a Python 2 and 3 compatibility library. It provides + utility functions for smoothing over the differences between + the Python versions with the goal of writing Python code that + is compatible on both Python versions. + + http://pythonhosted.org/six diff --git a/package/python-six/python-six.hash b/package/python-six/python-six.hash index a90c79b75c..f9dbf09eaa 100644 --- a/package/python-six/python-six.hash +++ b/package/python-six/python-six.hash @@ -1,2 +1,4 @@ -# Locally computed: -sha256 105f8d68616f8248e24bf0e9372ef04d3cc10104f1980f54d57b2ce73a5ad56a six-1.10.0.tar.gz +# md5 from https://pypi.python.org/pypi/six/json, sha256 locally computed +md5 d12789f9baf7e9fb2524c0c64f1773f8 six-1.11.0.tar.gz +sha256 70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9 six-1.11.0.tar.gz +sha256 63478682e84e8c98f4c46308995f1f521a6886976e25421827d2a2be03581328 LICENSE diff --git a/package/python-six/python-six.mk b/package/python-six/python-six.mk index 0edefe346f..cd80634233 100644 --- a/package/python-six/python-six.mk +++ b/package/python-six/python-six.mk @@ -4,11 +4,12 @@ # ################################################################################ -PYTHON_SIX_VERSION = 1.10.0 +PYTHON_SIX_VERSION = 1.11.0 PYTHON_SIX_SOURCE = six-$(PYTHON_SIX_VERSION).tar.gz -PYTHON_SIX_SITE = https://pypi.python.org/packages/source/s/six +PYTHON_SIX_SITE = https://pypi.python.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe PYTHON_SIX_SETUP_TYPE = setuptools PYTHON_SIX_LICENSE = MIT PYTHON_SIX_LICENSE_FILES = LICENSE $(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/package/python-slob/Config.in b/package/python-slob/Config.in index 2c8ddb0880..6f83808abf 100644 --- a/package/python-slob/Config.in +++ b/package/python-slob/Config.in @@ -2,6 +2,8 @@ config BR2_PACKAGE_PYTHON_SLOB bool "python-slob" depends on !BR2_BINFMT_FLAT # python-pyicu -> icu depends on BR2_INSTALL_LIBSTDCPP # python-pyicu -> icu + depends on BR2_HOST_GCC_AT_LEAST_4_8 # python-pyicu -> icu + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # python-pyicu -> icu depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_PYICU # runtime # although optional, it is used as default compression @@ -12,6 +14,8 @@ config BR2_PACKAGE_PYTHON_SLOB https://github.com/itkach/slob -comment "python-slob needs a toolchain w/ C++" +comment "python-slob needs a toolchain w/ C++, gcc >= 4.8, host gcc >= 4.8" depends on BR2_PACKAGE_PYTHON3 && !BR2_BINFMT_FLAT - depends on !BR2_INSTALL_LIBSTDCPP + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_HOST_GCC_AT_LEAST_4_8 || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 diff --git a/package/python-slob/python-slob.mk b/package/python-slob/python-slob.mk index 474c0c94df..2db3932216 100644 --- a/package/python-slob/python-slob.mk +++ b/package/python-slob/python-slob.mk @@ -6,7 +6,7 @@ PYTHON_SLOB_VERSION = 31ad0e769360a5b10a4893f686587bb8e48c3895 PYTHON_SLOB_SITE = $(call github,itkach,slob,$(PYTHON_SLOB_VERSION)) -PYTHON_SLOB_LICENSE = GPLv3 +PYTHON_SLOB_LICENSE = GPL-3.0 PYTHON_SLOB_LICENSE_FILES = LICENSE PYTHON_SLOB_SETUP_TYPE = distutils diff --git a/package/python-smbus-cffi/python-smbus-cffi.mk b/package/python-smbus-cffi/python-smbus-cffi.mk index 5fd9558e87..bc5731d7ea 100644 --- a/package/python-smbus-cffi/python-smbus-cffi.mk +++ b/package/python-smbus-cffi/python-smbus-cffi.mk @@ -8,7 +8,7 @@ PYTHON_SMBUS_CFFI_VERSION = 0.5.1 PYTHON_SMBUS_CFFI_SOURCE = smbus-cffi-$(PYTHON_SMBUS_CFFI_VERSION).tar.gz PYTHON_SMBUS_CFFI_SITE = https://pypi.python.org/packages/source/s/smbus-cffi PYTHON_SMBUS_CFFI_SETUP_TYPE = setuptools -PYTHON_SMBUS_CFFI_LICENSE = GPLv2 +PYTHON_SMBUS_CFFI_LICENSE = GPL-2.0 PYTHON_SMBUS_CFFI_LICENSE_FILES = LICENSE PYTHON_SMBUS_CFFI_DEPENDENCIES = host-python-cffi diff --git a/package/python-sortedcontainers/Config.in b/package/python-sortedcontainers/Config.in new file mode 100644 index 0000000000..43bd1b1c06 --- /dev/null +++ b/package/python-sortedcontainers/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_SORTEDCONTAINERS + bool "python-sortedcontainers" + help + Python Sorted Container Types: SortedList, SortedDict, and + SortedSet. + + http://www.grantjenks.com/docs/sortedcontainers/ diff --git a/package/python-sortedcontainers/python-sortedcontainers.hash b/package/python-sortedcontainers/python-sortedcontainers.hash new file mode 100644 index 0000000000..11fa076601 --- /dev/null +++ b/package/python-sortedcontainers/python-sortedcontainers.hash @@ -0,0 +1,3 @@ +# md5 from https://pypi.python.org/pypi/sortedcontainers/json, sha256 locally computed +md5 ad4f00e377ad934954ac90fcac0b185f sortedcontainers-1.5.7.tar.gz +sha256 0ff0442865e492bc50476b18000fb8400cf2472d14d21a92b27cd7c5184550ea sortedcontainers-1.5.7.tar.gz diff --git a/package/python-sortedcontainers/python-sortedcontainers.mk b/package/python-sortedcontainers/python-sortedcontainers.mk new file mode 100644 index 0000000000..99606816ab --- /dev/null +++ b/package/python-sortedcontainers/python-sortedcontainers.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-sortedcontainers +# +################################################################################ + +PYTHON_SORTEDCONTAINERS_VERSION = 1.5.7 +PYTHON_SORTEDCONTAINERS_SOURCE = sortedcontainers-$(PYTHON_SORTEDCONTAINERS_VERSION).tar.gz +PYTHON_SORTEDCONTAINERS_SITE = https://pypi.python.org/packages/8d/aa/5369362d730728639ba434318df26b5c554804578d1c48381367ea5377c6 +PYTHON_SORTEDCONTAINERS_SETUP_TYPE = setuptools +PYTHON_SORTEDCONTAINERS_LICENSE = Apache-2.0 +PYTHON_SORTEDCONTAINERS_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-spidev/python-spidev.mk b/package/python-spidev/python-spidev.mk index d839bb3f7f..17fb049caa 100644 --- a/package/python-spidev/python-spidev.mk +++ b/package/python-spidev/python-spidev.mk @@ -8,7 +8,7 @@ PYTHON_SPIDEV_VERSION = 3.2 PYTHON_SPIDEV_SOURCE = spidev-$(PYTHON_SPIDEV_VERSION).tar.gz PYTHON_SPIDEV_SITE = https://pypi.python.org/packages/36/83/73748b6e1819b57d8e1df8090200195cdae33aaa22a49a91ded16785eedd PYTHON_SPIDEV_SETUP_TYPE = distutils -PYTHON_SPIDEV_LICENSE = GPLv2 +PYTHON_SPIDEV_LICENSE = GPL-2.0 PYTHON_SPIDEV_LICENSE_FILES = LICENSE.md $(eval $(python-package)) diff --git a/package/python-systemd/Config.in b/package/python-systemd/Config.in new file mode 100644 index 0000000000..599b43f717 --- /dev/null +++ b/package/python-systemd/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_PYTHON_SYSTEMD + bool "python-systemd" + depends on BR2_PACKAGE_SYSTEMD + help + Python module for native access to the systemd facilities. + + https://github.com/systemd/python-systemd + +comment "python-systemd needs systemd" + depends on !BR2_PACKAGE_SYSTEMD diff --git a/package/python-systemd/python-systemd.hash b/package/python-systemd/python-systemd.hash new file mode 100644 index 0000000000..ae480b8fe8 --- /dev/null +++ b/package/python-systemd/python-systemd.hash @@ -0,0 +1,3 @@ +# md5 from https://pypi.python.org/pypi/systemd-python/, sha256 locally computed +md5 5071ea5bcb976186e92a3f5e75df221d systemd-python-234.tar.gz +sha256 fd0e44bf70eadae45aadc292cb0a7eb5b0b6372cd1b391228047d33895db83e7 systemd-python-234.tar.gz diff --git a/package/python-systemd/python-systemd.mk b/package/python-systemd/python-systemd.mk new file mode 100644 index 0000000000..3ccfd57ce5 --- /dev/null +++ b/package/python-systemd/python-systemd.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# python-systemd +# +################################################################################ + +PYTHON_SYSTEMD_VERSION = 234 # Should be kept in sync with $(SYSTEMD_VERSION) +PYTHON_SYSTEMD_SOURCE = systemd-python-$(PYTHON_SYSTEMD_VERSION).tar.gz +PYTHON_SYSTEMD_SITE = https://pypi.python.org/packages/e8/a8/00ba0f605837a8f69523e6c3a4fb14675a6430c163f836540129c50b3aef +PYTHON_SYSTEMD_SETUP_TYPE = distutils +PYTHON_SYSTEMD_LICENSE = LGPL-2.1 +PYTHON_SYSTEMD_LICENSE_FILES = LICENSE.txt +PYTHON_SYSTEMD_DEPENDENCIES = systemd # To be able to link against libsystemd + +$(eval $(python-package)) diff --git a/package/python-tempora/Config.in b/package/python-tempora/Config.in new file mode 100644 index 0000000000..ab5c57f6cd --- /dev/null +++ b/package/python-tempora/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_TEMPORA + bool "python-tempora" + select BR2_PACKAGE_PYTHON_SIX # runtime + select BR2_PACKAGE_PYTHON_PYTZ # runtime + help + Objects and routines pertaining to date and time. + + https://github.com/jaraco/tempora diff --git a/package/python-tempora/python-tempora.hash b/package/python-tempora/python-tempora.hash new file mode 100644 index 0000000000..a8367b942e --- /dev/null +++ b/package/python-tempora/python-tempora.hash @@ -0,0 +1,3 @@ +# md5 from https://pypi.python.org/pypi/tempora/json, sha256 locally computed +md5 cd0dd5c51c9645285ff505ec531cbcc8 tempora-1.7.tar.gz +sha256 a264672b7f39198eb90b531490ade4e873f6e13839253636c3bd6a5549be1984 tempora-1.7.tar.gz diff --git a/package/python-tempora/python-tempora.mk b/package/python-tempora/python-tempora.mk new file mode 100644 index 0000000000..0bae36a2c6 --- /dev/null +++ b/package/python-tempora/python-tempora.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-tempora +# +################################################################################ + +PYTHON_TEMPORA_VERSION = 1.7 +PYTHON_TEMPORA_SOURCE = tempora-$(PYTHON_TEMPORA_VERSION).tar.gz +PYTHON_TEMPORA_SITE = https://pypi.python.org/packages/db/2d/c838e9e553d774962a71b832b2c6390194904bfe49fd0d9d792ce8091e8a +PYTHON_TEMPORA_LICENSE = MIT +PYTHON_TEMPORA_SETUP_TYPE = setuptools +PYTHON_TEMPORA_DEPENDENCIES = host-python-setuptools-scm + +$(eval $(python-package)) diff --git a/package/python-toml/python-toml.hash b/package/python-toml/python-toml.hash index cbc71a961b..20737c3ca4 100644 --- a/package/python-toml/python-toml.hash +++ b/package/python-toml/python-toml.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 aee9679726f42fb09f48b9701a321571e0b6a51305c3e0f3913b3057d8bf7083 python-toml-0.9.2.tar.gz +sha256 633a90ecb1f5665b58f0c94153fcf519313ef53e1de0eac90929cd6b6a014235 python-toml-0.9.3.tar.gz diff --git a/package/python-toml/python-toml.mk b/package/python-toml/python-toml.mk index fec113e1cb..fae15f938d 100644 --- a/package/python-toml/python-toml.mk +++ b/package/python-toml/python-toml.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_TOML_VERSION = 0.9.2 +PYTHON_TOML_VERSION = 0.9.3 PYTHON_TOML_SITE = $(call github,uiri,toml,$(PYTHON_TOML_VERSION)) -PYTHON_TOML_SETUP_TYPE = distutils +PYTHON_TOML_SETUP_TYPE = setuptools PYTHON_TOML_LICENSE = MIT PYTHON_TOML_LICENSE_FILES = LICENSE diff --git a/package/python-tornado/python-tornado.hash b/package/python-tornado/python-tornado.hash index ee4080fe75..662db6f258 100644 --- a/package/python-tornado/python-tornado.hash +++ b/package/python-tornado/python-tornado.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/tornado/json, sha256 locally computed -md5 b4816ea209118667ffc52ce9ff06ac85 tornado-4.4.2.tar.gz -sha256 2898f992f898cd41eeb8d53b6df75495f2f423b6672890aadaf196ea1448edcc tornado-4.4.2.tar.gz +md5 838687d20923360af5ab59f101e9e02e tornado-4.5.1.tar.gz +sha256 db0904a28253cfe53e7dedc765c71596f3c53bb8a866ae50123320ec1a7b73fd tornado-4.5.1.tar.gz diff --git a/package/python-tornado/python-tornado.mk b/package/python-tornado/python-tornado.mk index e512e60fa1..6e6167564f 100644 --- a/package/python-tornado/python-tornado.mk +++ b/package/python-tornado/python-tornado.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_TORNADO_VERSION = 4.4.2 +PYTHON_TORNADO_VERSION = 4.5.1 PYTHON_TORNADO_SOURCE = tornado-$(PYTHON_TORNADO_VERSION).tar.gz -PYTHON_TORNADO_SITE = https://pypi.python.org/packages/1e/7c/ea047f7bbd1ff22a7f69fe55e7561040e3e54d6f31da6267ef9748321f98 +PYTHON_TORNADO_SITE = https://pypi.python.org/packages/df/42/a180ee540e12e2ec1007ac82a42b09dd92e5461e09c98bf465e98646d187 PYTHON_TORNADO_LICENSE = Apache-2.0 PYTHON_TORNADO_SETUP_TYPE = setuptools diff --git a/package/python-traitlets/Config.in b/package/python-traitlets/Config.in new file mode 100644 index 0000000000..f1804e55be --- /dev/null +++ b/package/python-traitlets/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_PYTHON_TRAITLETS + bool "python-traitlets" + select BR2_PACKAGE_PYTHON_ENUM34 if BR2_PACKAGE_PYTHON # runtime + select BR2_PACKAGE_PYTHON_SIX # runtime + select BR2_PACKAGE_PYTHON_IPYTHON_GENUTILS # runtime + select BR2_PACKAGE_PYTHON_DECORATOR # runtime + help + A configuration system for Python applications. + + https://pypi.python.org/pypi/traitlets diff --git a/package/python-traitlets/python-traitlets.hash b/package/python-traitlets/python-traitlets.hash new file mode 100644 index 0000000000..23aa1591c3 --- /dev/null +++ b/package/python-traitlets/python-traitlets.hash @@ -0,0 +1,3 @@ +# md5 from https://pypi.python.org/pypi/traitlets/json, sha256 locally computed +md5 3068663f2f38fd939a9eb3a500ccc154 traitlets-4.3.2.tar.gz +sha256 9c4bd2d267b7153df9152698efb1050a5d84982d3384a37b2c1f7723ba3e7835 traitlets-4.3.2.tar.gz diff --git a/package/python-traitlets/python-traitlets.mk b/package/python-traitlets/python-traitlets.mk new file mode 100644 index 0000000000..779f5936da --- /dev/null +++ b/package/python-traitlets/python-traitlets.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-traitlets +# +################################################################################ + +PYTHON_TRAITLETS_VERSION = 4.3.2 +PYTHON_TRAITLETS_SOURCE = traitlets-$(PYTHON_TRAITLETS_VERSION).tar.gz +PYTHON_TRAITLETS_SITE = https://pypi.python.org/packages/a5/98/7f5ef2fe9e9e071813aaf9cb91d1a732e0a68b6c44a32b38cb8e14c3f069 +PYTHON_TRAITLETS_LICENSE = BSD-3-Clause +PYTHON_TRAITLETS_LICENSE_FILES = COPYING.md +PYTHON_TRAITLETS_SETUP_TYPE = distutils + +$(eval $(python-package)) diff --git a/package/python-treq/Config.in b/package/python-treq/Config.in index 4a237373d1..2047cc0dc7 100644 --- a/package/python-treq/Config.in +++ b/package/python-treq/Config.in @@ -1,11 +1,11 @@ config BR2_PACKAGE_PYTHON_TREQ bool "python-treq" + depends on BR2_INSTALL_LIBSTDCPP # python-pyopenssl select BR2_PACKAGE_PYTHON_REQUESTS # runtime select BR2_PACKAGE_PYTHON_SERVICE_IDENTITY # runtime select BR2_PACKAGE_PYTHON_SIX # runtime select BR2_PACKAGE_PYTHON_TWISTED # runtime select BR2_PACKAGE_PYTHON_PYOPENSSL # runtime - depends on BR2_INSTALL_LIBSTDCPP # python-pyopenssl help treq is an HTTP library inspired by requests but written on top of Twisted's Agents. It provides a simple, higher level diff --git a/package/python-treq/python-treq.hash b/package/python-treq/python-treq.hash index f4cc4d6f11..a961b809ae 100644 --- a/package/python-treq/python-treq.hash +++ b/package/python-treq/python-treq.hash @@ -1,3 +1,3 @@ -# md5 from https://pypi.python.org/pypi?:action=show_md5&digest=b1fb60759ad5a885cb8ea562553f2d4c, sha256 locally computed -md5 b1fb60759ad5a885cb8ea562553f2d4c treq-15.1.0.tar.gz -sha256 425a47d5d52a993d51211028fb6ade252e5fbea094e878bb4b644096a7322de8 treq-15.1.0.tar.gz +# md5 from https://pypi.python.org/pypi/treq/json, sha256 locally computed +md5 421dea5bc8294c14aa24d64628a2eaea treq-16.12.0.tar.gz +sha256 b008edc81157969ad2bf23bece083adedb0adf249368a3896bb5ac9a871b91a9 treq-16.12.0.tar.gz diff --git a/package/python-treq/python-treq.mk b/package/python-treq/python-treq.mk index dbf0e148a7..051b8ffaaf 100644 --- a/package/python-treq/python-treq.mk +++ b/package/python-treq/python-treq.mk @@ -4,11 +4,12 @@ # ################################################################################ -PYTHON_TREQ_VERSION = 15.1.0 +PYTHON_TREQ_VERSION = 16.12.0 PYTHON_TREQ_SOURCE = treq-$(PYTHON_TREQ_VERSION).tar.gz -PYTHON_TREQ_SITE = http://pypi.python.org/packages/source/t/treq +PYTHON_TREQ_SITE = https://pypi.python.org/packages/26/4b/303880fb5bab1111654df2df0f201f4ba038221bdc52f5a395f0abfc0cb1 PYTHON_TREQ_LICENSE = MIT PYTHON_TREQ_LICENSE_FILES = LICENSE PYTHON_TREQ_SETUP_TYPE = setuptools +PYTHON_TREQ_DEPENDENCIES = host-python-incremental $(eval $(python-package)) diff --git a/package/python-twisted/Config.in b/package/python-twisted/Config.in index 7fe4289d46..6b1a4fc2c0 100644 --- a/package/python-twisted/Config.in +++ b/package/python-twisted/Config.in @@ -1,7 +1,9 @@ config BR2_PACKAGE_PYTHON_TWISTED bool "python-twisted" select BR2_PACKAGE_PYTHON_INCREMENTAL + select BR2_PACKAGE_PYTHON_AUTOMAT # runtime select BR2_PACKAGE_PYTHON_CONSTANTLY # runtime + select BR2_PACKAGE_PYTHON_HYPERLINK # runtime select BR2_PACKAGE_PYTHON_ZOPE_INTERFACE # runtime help Twisted is an event-driven networking engine written in Python. diff --git a/package/python-twisted/python-twisted.hash b/package/python-twisted/python-twisted.hash index cc78a4cb53..c22f33643f 100644 --- a/package/python-twisted/python-twisted.hash +++ b/package/python-twisted/python-twisted.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/twisted/json, sha256 locally computed -md5 54a88ffe773d5a83c91fcfe86044b094 Twisted-16.6.0.tar.bz2 -sha256 d0fe115ea7ef8cf632d05103de60356c6e992b2153d6830bdc4476f8accb1fca Twisted-16.6.0.tar.bz2 +md5 cd5c287802dcbaf7be15cf937c922b71 Twisted-17.5.0.tar.bz2 +sha256 f198a494f0df2482f7c5f99d7f3eef33d22763ffc76641b36fec476b878002ea Twisted-17.5.0.tar.bz2 diff --git a/package/python-twisted/python-twisted.mk b/package/python-twisted/python-twisted.mk index 29fe735895..fe276d641e 100644 --- a/package/python-twisted/python-twisted.mk +++ b/package/python-twisted/python-twisted.mk @@ -4,12 +4,12 @@ # ################################################################################ -PYTHON_TWISTED_VERSION = 16.6.0 +PYTHON_TWISTED_VERSION = 17.5.0 PYTHON_TWISTED_SOURCE = Twisted-$(PYTHON_TWISTED_VERSION).tar.bz2 -PYTHON_TWISTED_SITE = https://pypi.python.org/packages/dc/c0/a0114a6d7fa211c0904b0de931e8cafb5210ad824996cc6a9d67f3bae22c +PYTHON_TWISTED_SITE = https://pypi.python.org/packages/31/bf/7f86a8f8b9778e90d8b2921e9f442a8c8aa33fd2489fc10f236bc8af1749 PYTHON_TWISTED_SETUP_TYPE = setuptools PYTHON_TWISTED_LICENSE = MIT PYTHON_TWISTED_LICENSE_FILES = LICENSE -PYTHON_TWISTED_DEPENDENCIES = python-incremental +PYTHON_TWISTED_DEPENDENCIES = python-incremental host-python-incremental $(eval $(python-package)) diff --git a/package/python-txaio/python-txaio.hash b/package/python-txaio/python-txaio.hash index 37da82b1b7..f19014c5bb 100644 --- a/package/python-txaio/python-txaio.hash +++ b/package/python-txaio/python-txaio.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/txaio/json, sha256 locally computed. -md5 7b0f5321515d380ad5d32f01666b6ee7 txaio-2.5.1.tar.gz -sha256 625076477182e2dde78b79d0b2b0d6b3cecb0e24fe0ea7eaf2abd26a4c0dd1de txaio-2.5.1.tar.gz +md5 643ac20b895b878786cd6a46790367d0 txaio-2.8.0.tar.gz +sha256 8029d956591107ff9a2221d2a288fdd3718713a6991f59b97359d3d4f4b7b564 txaio-2.8.0.tar.gz diff --git a/package/python-txaio/python-txaio.mk b/package/python-txaio/python-txaio.mk index 34c6e99cc6..e0f5e28918 100644 --- a/package/python-txaio/python-txaio.mk +++ b/package/python-txaio/python-txaio.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_TXAIO_VERSION = 2.5.1 +PYTHON_TXAIO_VERSION = 2.8.0 PYTHON_TXAIO_SOURCE = txaio-$(PYTHON_TXAIO_VERSION).tar.gz -PYTHON_TXAIO_SITE = https://pypi.python.org/packages/45/e1/f7d88767d65dbfc20d4b4aa0dad657dbbe8ca629ead2bef24da04630a12a +PYTHON_TXAIO_SITE = https://pypi.python.org/packages/03/86/2cb7ae81209cc3fc64f68a31d70c20ab4771b520d7e13a5219b1f5e16ee1 PYTHON_TXAIO_LICENSE = MIT PYTHON_TXAIO_LICENSE_FILES = LICENSE PYTHON_TXAIO_SETUP_TYPE = setuptools diff --git a/package/python-typepy/Config.in b/package/python-typepy/Config.in new file mode 100644 index 0000000000..866a067953 --- /dev/null +++ b/package/python-typepy/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_PYTHON_TYPEPY + bool "python-typepy" + select BR2_PACKAGE_PYTHON_DATEUTIL # runtime + select BR2_PACKAGE_PYTHON_ENUM34 if BR2_PACKAGE_PYTHON # runtime + select BR2_PACKAGE_PYTHON_IPADDRESS if BR2_PACKAGE_PYTHON # runtime + select BR2_PACKAGE_PYTHON_MBSTRDECODER # runtime + select BR2_PACKAGE_PYTHON_PYTZ # runtime + select BR2_PACKAGE_PYTHON_SIX # runtime + help + A Python library for variable type checker/validator/converter at a + run time. + + https://github.com/thombashi/typepy diff --git a/package/python-typepy/python-typepy.hash b/package/python-typepy/python-typepy.hash new file mode 100644 index 0000000000..9ecac881e2 --- /dev/null +++ b/package/python-typepy/python-typepy.hash @@ -0,0 +1,3 @@ +# md5 from https://pypi.python.org/pypi/typepy/json, sha256 locally computed +md5 b9abd4d661dabe512e95ca69ddb65d55 typepy-0.0.20.tar.gz +sha256 a1a5b9438670d4a5d9f882b7499ea85d06dc384577bb7636cb29d903288bca8c typepy-0.0.20.tar.gz diff --git a/package/python-typepy/python-typepy.mk b/package/python-typepy/python-typepy.mk new file mode 100644 index 0000000000..33d8091998 --- /dev/null +++ b/package/python-typepy/python-typepy.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-typepy +# +################################################################################ + +PYTHON_TYPEPY_VERSION = 0.0.20 +PYTHON_TYPEPY_SOURCE = typepy-$(PYTHON_TYPEPY_VERSION).tar.gz +PYTHON_TYPEPY_SITE = https://pypi.python.org/packages/88/98/c79a19ae571d713fa0b10bc7e0fe611e53c542720b5a9dd2691ca15b3dd8 +PYTHON_TYPEPY_SETUP_TYPE = setuptools +PYTHON_TYPEPY_LICENSE = MIT +PYTHON_TYPEPY_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-u-msgpack/python-u-msgpack.mk b/package/python-u-msgpack/python-u-msgpack.mk index a88beeb1c9..89240c3fb2 100644 --- a/package/python-u-msgpack/python-u-msgpack.mk +++ b/package/python-u-msgpack/python-u-msgpack.mk @@ -7,7 +7,7 @@ PYTHON_U_MSGPACK_VERSION = 2.2 PYTHON_U_MSGPACK_SOURCE = u-msgpack-python-$(PYTHON_U_MSGPACK_VERSION).tar.gz PYTHON_U_MSGPACK_SITE = https://pypi.python.org/packages/66/5b/36fe0fcf290bd39f6ef6c1f5924cf0a9a76b0dc94575975ad7d318619cf9 -PYTHON_U_MSGPACK_SETUP_TYPE = distutils +PYTHON_U_MSGPACK_SETUP_TYPE = setuptools PYTHON_U_MSGPACK_LICENSE = MIT PYTHON_U_MSGPACK_LICENSE_FILES = LICENSE diff --git a/package/python-ubjson/python-ubjson.hash b/package/python-ubjson/python-ubjson.hash index 88c8c62b3a..30f65fe6bb 100644 --- a/package/python-ubjson/python-ubjson.hash +++ b/package/python-ubjson/python-ubjson.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/py-ubjson/json, sha256 locally computed -md5 09584b02508451a8133095c3b5f2bf41 py-ubjson-0.8.5.tar.gz -sha256 e58e99753aaff3ed5d884989a6236bd98a4b0dfdb0e62f9753c20f485691fa9e py-ubjson-0.8.5.tar.gz +md5 c78bbe899eeba9604302ad746094e8d1 py-ubjson-0.9.0.tar.gz +sha256 b405daaa82acdf5989207e1e5ff6865ef7d23bf450513a6d90a1ab64c75bdcf8 py-ubjson-0.9.0.tar.gz diff --git a/package/python-ubjson/python-ubjson.mk b/package/python-ubjson/python-ubjson.mk index e42b2dc50c..a192cfb656 100644 --- a/package/python-ubjson/python-ubjson.mk +++ b/package/python-ubjson/python-ubjson.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_UBJSON_VERSION = 0.8.5 +PYTHON_UBJSON_VERSION = 0.9.0 PYTHON_UBJSON_SOURCE = py-ubjson-$(PYTHON_UBJSON_VERSION).tar.gz -PYTHON_UBJSON_SITE = https://pypi.python.org/packages/99/12/173cd417cacdacd158f947365bb17952a93b4e9d08f8a2f4b77d6c17cb4e +PYTHON_UBJSON_SITE = https://pypi.python.org/packages/d4/40/a80006884ec03a54a5c6c53ae76df9978536862f0683b6e6280e3808d289 PYTHON_UBJSON_LICENSE = Apache-2.0 PYTHON_UBJSON_LICENSE_FILES = LICENSE PYTHON_UBJSON_SETUP_TYPE = setuptools diff --git a/package/python-ujson/python-ujson.mk b/package/python-ujson/python-ujson.mk index 8d4a12b811..0a2184e9c3 100644 --- a/package/python-ujson/python-ujson.mk +++ b/package/python-ujson/python-ujson.mk @@ -7,7 +7,7 @@ PYTHON_UJSON_VERSION = 1.35 PYTHON_UJSON_SOURCE = ujson-$(PYTHON_UJSON_VERSION).tar.gz PYTHON_UJSON_SITE = http://pypi.python.org/packages/source/u/ujson -PYTHON_UJSON_LICENSE = BSD-3c +PYTHON_UJSON_LICENSE = BSD-3-Clause PYTHON_UJSON_SETUP_TYPE = setuptools $(eval $(python-package)) diff --git a/package/python-urllib3/python-urllib3.hash b/package/python-urllib3/python-urllib3.hash index fb5fd9dd27..226a826528 100644 --- a/package/python-urllib3/python-urllib3.hash +++ b/package/python-urllib3/python-urllib3.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/urllib3/json, sha256 locally computed -md5 1eadd93bd5e58d3528d977111f2997ea urllib3-1.18.tar.gz -sha256 d30dd4d1cbbc36ebab6e4a2076820cfe0c60f10adf087fecbc5a3edae79fdc81 urllib3-1.18.tar.gz +md5 ef6c72c79b9c6bcd68c204f9b92abc86 urllib3-1.21.1.tar.gz +sha256 b14486978518ca0901a76ba973d7821047409d7f726f22156b24e83fd71382a5 urllib3-1.21.1.tar.gz diff --git a/package/python-urllib3/python-urllib3.mk b/package/python-urllib3/python-urllib3.mk index 9043aa35a6..454f75fa15 100644 --- a/package/python-urllib3/python-urllib3.mk +++ b/package/python-urllib3/python-urllib3.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_URLLIB3_VERSION = 1.18 +PYTHON_URLLIB3_VERSION = 1.21.1 PYTHON_URLLIB3_SOURCE = urllib3-$(PYTHON_URLLIB3_VERSION).tar.gz -PYTHON_URLLIB3_SITE = https://pypi.python.org/packages/8f/45/7434a6a44d42744b74fb969a39720f0c3d4f31f921737e51a69d8b15c859 +PYTHON_URLLIB3_SITE = https://pypi.python.org/packages/96/d9/40e4e515d3e17ed0adbbde1078e8518f8c4e3628496b56eb8f026a02b9e4 PYTHON_URLLIB3_LICENSE = MIT PYTHON_URLLIB3_LICENSE_FILES = LICENSE.txt PYTHON_URLLIB3_SETUP_TYPE = setuptools diff --git a/package/python-urwid/python-urwid.mk b/package/python-urwid/python-urwid.mk index e52a155eb7..4cfee477e3 100644 --- a/package/python-urwid/python-urwid.mk +++ b/package/python-urwid/python-urwid.mk @@ -7,7 +7,7 @@ PYTHON_URWID_VERSION = 1.3.1 PYTHON_URWID_SOURCE = urwid-$(PYTHON_URWID_VERSION).tar.gz PYTHON_URWID_SITE = https://pypi.python.org/packages/source/u/urwid -PYTHON_URWID_LICENSE = LGPLv2.1+ +PYTHON_URWID_LICENSE = LGPL-2.1+ PYTHON_URWID_LICENSE_FILES = COPYING PYTHON_URWID_SETUP_TYPE = setuptools diff --git a/package/python-versiontools/Config.in b/package/python-versiontools/Config.in index cb260c1fbd..d15de1f046 100644 --- a/package/python-versiontools/Config.in +++ b/package/python-versiontools/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_VERSIONTOOLS bool "python-versiontools" - depends on BR2_PACKAGE_PYTHON help Smart replacement for plain tuple used in __version__. diff --git a/package/python-versiontools/python-versiontools.mk b/package/python-versiontools/python-versiontools.mk index 4f763db1ff..fbf104023e 100644 --- a/package/python-versiontools/python-versiontools.mk +++ b/package/python-versiontools/python-versiontools.mk @@ -8,6 +8,7 @@ PYTHON_VERSIONTOOLS_VERSION = 1.9.1 PYTHON_VERSIONTOOLS_SOURCE = versiontools-$(PYTHON_VERSIONTOOLS_VERSION).tar.gz PYTHON_VERSIONTOOLS_SITE = http://pypi.python.org/packages/source/v/versiontools PYTHON_VERSIONTOOLS_SETUP_TYPE = setuptools -PYTHON_VERSIONTOOLS_LICENSE = LGPLv3 +PYTHON_VERSIONTOOLS_LICENSE = LGPL-3.0 $(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/package/python-web2py/Config.in b/package/python-web2py/Config.in index b10d3a48a5..bc2e6054e6 100644 --- a/package/python-web2py/Config.in +++ b/package/python-web2py/Config.in @@ -1,10 +1,12 @@ config BR2_PACKAGE_PYTHON_WEB2PY bool "python-web2py" - depends on BR2_PACKAGE_PYTHON select BR2_PACKAGE_PYTHON_PYDAL - select BR2_PACKAGE_PYTHON_ZLIB - select BR2_PACKAGE_PYTHON_PYEXPAT - select BR2_PACKAGE_PYTHON_SQLITE + select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON # runtime + select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON_PYEXPAT if BR2_PACKAGE_PYTHON # runtime + select BR2_PACKAGE_PYTHON3_PYEXPAT if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON_SQLITE if BR2_PACKAGE_PYTHON # runtime + select BR2_PACKAGE_PYTHON3_SQLITE if BR2_PACKAGE_PYTHON3 # runtime help web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable @@ -14,6 +16,15 @@ config BR2_PACKAGE_PYTHON_WEB2PY if BR2_PACKAGE_PYTHON_WEB2PY +config BR2_PACKAGE_PYTHON_WEB2PY_INSTALL_ADMIN + bool "install admin panel application" + default y + help + This option install web2py admin panel application. + It can be removed to save space on embedded systems. + +if BR2_PACKAGE_PYTHON_WEB2PY_INSTALL_ADMIN + config BR2_PACKAGE_PYTHON_WEB2PY_PASSWORD string "admin panel password" default web2py @@ -21,3 +32,5 @@ config BR2_PACKAGE_PYTHON_WEB2PY_PASSWORD Set the admin panel password. endif + +endif diff --git a/package/python-web2py/python-web2py.hash b/package/python-web2py/python-web2py.hash index 3de8dbf4de..adc7bc5d5c 100644 --- a/package/python-web2py/python-web2py.hash +++ b/package/python-web2py/python-web2py.hash @@ -1,2 +1,2 @@ # sha256 locally computed -sha256 7e22a5624d8d2909e165110f0bec6b43ee36ff6834d689f4027e06dece662031 python-web2py-R-2.12.3.tar.gz +sha256 e432e051ebb826b77835bda03ddb16364b37d137b37ac33005b6ac0fd5d56280 python-web2py-R-2.15.4.tar.gz diff --git a/package/python-web2py/python-web2py.mk b/package/python-web2py/python-web2py.mk index 38faabc55d..9ad5a7785a 100644 --- a/package/python-web2py/python-web2py.mk +++ b/package/python-web2py/python-web2py.mk @@ -4,19 +4,49 @@ # ################################################################################ -PYTHON_WEB2PY_VERSION = R-2.12.3 +PYTHON_WEB2PY_VERSION = R-2.15.4 PYTHON_WEB2PY_SITE = $(call github,web2py,web2py,$(PYTHON_WEB2PY_VERSION)) -PYTHON_WEB2PY_LICENSE = LGPLv3 +PYTHON_WEB2PY_LICENSE = LGPL-3.0 PYTHON_WEB2PY_LICENSE_FILES = LICENSE -PYTHON_WEB2PY_DEPENDENCIES = python python-pydal host-python-pydal +PYTHON_WEB2PY_DEPENDENCIES = $(if $(BR2_PACKAGE_PYTHON3),host-python3 python3,host-python python) \ + python-pydal host-python-pydal -define PYTHON_WEB2PY_INSTALL_TARGET_CMDS - $(HOST_DIR)/usr/bin/python2 -c 'import os; \ +PYTHON_WEB2PY_EXCLUSIONS = \ + welcome.w2p \ + applications/examples \ + applications/welcome \ + deposit \ + docs \ + examples \ + extras \ + handlers \ + scripts \ + ABOUT \ + anyserver.py \ + CHANGELOG \ + Makefile \ + MANIFEST.in \ + README.markdown \ + setup.py \ + tox.ini + +define PYTHON_WEB2PY_GENERATE_PASSWORD + $(HOST_DIR)/bin/python -c 'import os; \ os.chdir("$(@D)"); \ from gluon.main import save_password; \ save_password($(BR2_PACKAGE_PYTHON_WEB2PY_PASSWORD),8000)' +endef + +ifeq ($(BR2_PACKAGE_PYTHON_WEB2PY_INSTALL_ADMIN),y) +PYTHON_WEB2PY_POST_BUILD_HOOKS += PYTHON_WEB2PY_GENERATE_PASSWORD +else +PYTHON_WEB2PY_EXCLUSIONS += applications/admin +endif + +define PYTHON_WEB2PY_INSTALL_TARGET_CMDS mkdir -p $(TARGET_DIR)/var/www/web2py - cp -dpfr $(@D)/* $(TARGET_DIR)/var/www/web2py + rsync -a $(@D)/ $(TARGET_DIR)/var/www/web2py/ \ + $(addprefix --exclude=,$(PYTHON_WEB2PY_EXCLUSIONS)) endef define PYTHON_WEB2PY_INSTALL_INIT_SYSV diff --git a/package/python-websockets/Config.in b/package/python-websockets/Config.in new file mode 100644 index 0000000000..7d80161a1a --- /dev/null +++ b/package/python-websockets/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_PYTHON_WEBSOCKETS + bool "python-websockets" + depends on BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON3_ZLIB + select BR2_PACKAGE_PYTHON3_SSL + help + An implementation of the WebSocket Protocol (RFC 6455) + + https://github.com/aaugustin/websockets diff --git a/package/python-websockets/python-websockets.hash b/package/python-websockets/python-websockets.hash new file mode 100644 index 0000000000..18947cc60a --- /dev/null +++ b/package/python-websockets/python-websockets.hash @@ -0,0 +1,4 @@ +# md5 from https://pypi.python.org/pypi/websockets/json, sha256 locally computed +md5 9e8c6b3c70def4146d75fbb0f52bdfc7 websockets-4.0.1.tar.gz +sha256 da4d4fbe059b0453e726d6d993760065d69b823a27efc3040402a6fcfe6a1ed9 websockets-4.0.1.tar.gz +sha256 2cd4d416e432ca7fda2c103b38b852f8d3cb327d70c3db44410b9fe97e6c4d73 LICENSE diff --git a/package/python-websockets/python-websockets.mk b/package/python-websockets/python-websockets.mk new file mode 100644 index 0000000000..7c5cf8c4e7 --- /dev/null +++ b/package/python-websockets/python-websockets.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-websockets +# +################################################################################ + +PYTHON_WEBSOCKETS_VERSION = 4.0.1 +PYTHON_WEBSOCKETS_SOURCE = websockets-${PYTHON_WEBSOCKETS_VERSION}.tar.gz +PYTHON_WEBSOCKETS_SITE = https://pypi.python.org/packages/b6/12/6194aac840c65253e45a38912e318f9ac548f9ba86d75bdb8fe66841b335 +PYTHON_WEBSOCKETS_SETUP_TYPE = setuptools +PYTHON_WEBSOCKETS_LICENSE = BSD-3-Clause +PYTHON_WEBSOCKETS_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-werkzeug/python-werkzeug.hash b/package/python-werkzeug/python-werkzeug.hash index 3f233524bd..4b2075071e 100644 --- a/package/python-werkzeug/python-werkzeug.hash +++ b/package/python-werkzeug/python-werkzeug.hash @@ -1,3 +1,3 @@ -# md5 from https://pypi.python.org/pypi/werkzeug/json, sha256 locally computed -md5 1d34afa1f19abcef4c0da51ebc2c4ea7 Werkzeug-0.11.11.tar.gz -sha256 e72c46bc14405cba7a26bd2ce28df734471bc9016bc8b4cb69466c2c14c2f7e5 Werkzeug-0.11.11.tar.gz +# md5 from https://pypi.python.org/pypi/Werkzeug/json, sha256 locally computed +md5 e385b2c5a7193cff24c689b31e1124dc Werkzeug-0.12.2.tar.gz +sha256 903a7b87b74635244548b30d30db4c8947fe64c5198f58899ddcd3a13c23bb26 Werkzeug-0.12.2.tar.gz diff --git a/package/python-werkzeug/python-werkzeug.mk b/package/python-werkzeug/python-werkzeug.mk index 072937fc27..6d478f7c11 100644 --- a/package/python-werkzeug/python-werkzeug.mk +++ b/package/python-werkzeug/python-werkzeug.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_WERKZEUG_VERSION = 0.11.11 +PYTHON_WERKZEUG_VERSION = 0.12.2 PYTHON_WERKZEUG_SOURCE = Werkzeug-$(PYTHON_WERKZEUG_VERSION).tar.gz -PYTHON_WERKZEUG_SITE = https://pypi.python.org/packages/43/2e/d822b4a4216804519ace92e0368dcfc4b0b2887462d852fdd476b253ecc9 +PYTHON_WERKZEUG_SITE = https://pypi.python.org/packages/56/41/c095a77eb2dd69bf278dd664a97d3416af04e9ba1a00b8c138f772741d31 PYTHON_WERKZEUG_SETUP_TYPE = setuptools -PYTHON_WERKZEUG_LICENSE = BSD-3c +PYTHON_WERKZEUG_LICENSE = BSD-3-Clause PYTHON_WERKZEUG_LICENSE_FILES = LICENSE $(eval $(python-package)) diff --git a/package/python-whoosh/python-whoosh.hash b/package/python-whoosh/python-whoosh.hash index b14dd0f877..0621a2a2d2 100644 --- a/package/python-whoosh/python-whoosh.hash +++ b/package/python-whoosh/python-whoosh.hash @@ -1,3 +1,3 @@ -# md5 from https://pypi.python.org/pypi/Whoosh/json, sha256 locally computed -md5 9a0fc2df9335e1d2e81dd84a2c4c416f Whoosh-2.7.0.tar.gz -sha256 cdfc0e1c5173207ac7b312afe78d83fb552cfed30427bf7b3dba8b1d26cea8f7 Whoosh-2.7.0.tar.gz +# md5 from https://pypi.python.org/pypi/whoosh/json, sha256 locally computed +md5 c2710105f20b3e29936bd2357383c325 Whoosh-2.7.4.tar.gz +sha256 7ca5633dbfa9e0e0fa400d3151a8a0c4bec53bd2ecedc0a67705b17565c31a83 Whoosh-2.7.4.tar.gz diff --git a/package/python-whoosh/python-whoosh.mk b/package/python-whoosh/python-whoosh.mk index 64f3820c8a..a100c4467b 100644 --- a/package/python-whoosh/python-whoosh.mk +++ b/package/python-whoosh/python-whoosh.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_WHOOSH_VERSION = 2.7.0 +PYTHON_WHOOSH_VERSION = 2.7.4 PYTHON_WHOOSH_SOURCE = Whoosh-$(PYTHON_WHOOSH_VERSION).tar.gz -PYTHON_WHOOSH_SITE = http://pypi.python.org/packages/source/W/Whoosh +PYTHON_WHOOSH_SITE = https://pypi.python.org/packages/25/2b/6beed2107b148edc1321da0d489afc4617b9ed317ef7b72d4993cad9b684 PYTHON_WHOOSH_SETUP_TYPE = setuptools -PYTHON_WHOOSH_LICENSE = BSD-3c +PYTHON_WHOOSH_LICENSE = BSD-3-Clause PYTHON_WHOOSH_LICENSE_FILES = LICENSE.txt $(eval $(python-package)) diff --git a/package/python-ws4py/python-ws4py.mk b/package/python-ws4py/python-ws4py.mk index fac99f328a..8f3b985964 100644 --- a/package/python-ws4py/python-ws4py.mk +++ b/package/python-ws4py/python-ws4py.mk @@ -8,7 +8,7 @@ PYTHON_WS4PY_VERSION = 0.3.5 PYTHON_WS4PY_SOURCE = ws4py-$(PYTHON_WS4PY_VERSION).tar.gz PYTHON_WS4PY_SITE = https://pypi.python.org/packages/c8/b4/1784512791fbd196a48f282ca6c79398cace9541a9c151d89c30b6add6e1 PYTHON_WS4PY_SETUP_TYPE = setuptools -PYTHON_WS4PY_LICENSE = BSD-3c +PYTHON_WS4PY_LICENSE = BSD-3-Clause PYTHON_WS4PY_LICENSE_FILES = ws4py/__init__.py $(eval $(python-package)) diff --git a/package/python-xlrd/python-xlrd.mk b/package/python-xlrd/python-xlrd.mk index 50f76243ee..e3f078c355 100644 --- a/package/python-xlrd/python-xlrd.mk +++ b/package/python-xlrd/python-xlrd.mk @@ -8,7 +8,7 @@ PYTHON_XLRD_VERSION = 1.0.0 PYTHON_XLRD_SOURCE = xlrd-$(PYTHON_XLRD_VERSION).tar.gz PYTHON_XLRD_SITE = https://pypi.python.org/packages/42/85/25caf967c2d496067489e0bb32df069a8361e1fd96a7e9f35408e56b3aab PYTHON_XLRD_SETUP_TYPE = setuptools -PYTHON_XLRD_LICENSE = BSD-3c +PYTHON_XLRD_LICENSE = BSD-3-Clause PYTHON_XLRD_LICENSE_FILES = xlrd/licences.py $(eval $(python-package)) diff --git a/package/python-xlsxwriter/python-xlsxwriter.hash b/package/python-xlsxwriter/python-xlsxwriter.hash index 5d9a5ac2b5..a7d4401646 100644 --- a/package/python-xlsxwriter/python-xlsxwriter.hash +++ b/package/python-xlsxwriter/python-xlsxwriter.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/xlsxwriter/json, sha256 locally computed -md5 17f48e222aa091b053fa2a14986b21c5 XlsxWriter-0.9.4.tar.gz -sha256 1642cf0adc6486dd3b17db9aba72a47fd41b947da6081e97acd6ab9872a22386 XlsxWriter-0.9.4.tar.gz +md5 3c2831e80fae83070f61f0a9226f45ac XlsxWriter-0.9.6.tar.gz +sha256 b51c00a1d6572ba35e8c06e0af8dd14c34977ef0b5022c3d85d5f1de9f1220c3 XlsxWriter-0.9.6.tar.gz diff --git a/package/python-xlsxwriter/python-xlsxwriter.mk b/package/python-xlsxwriter/python-xlsxwriter.mk index bd2ca086b8..2c86e5d2b2 100644 --- a/package/python-xlsxwriter/python-xlsxwriter.mk +++ b/package/python-xlsxwriter/python-xlsxwriter.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_XLSXWRITER_VERSION = 0.9.4 +PYTHON_XLSXWRITER_VERSION = 0.9.6 PYTHON_XLSXWRITER_SOURCE = XlsxWriter-$(PYTHON_XLSXWRITER_VERSION).tar.gz -PYTHON_XLSXWRITER_SITE = https://pypi.python.org/packages/52/66/670322b9999b8e47659c8b172a11aa3c0e629a5fc86b5a8fd497b85941c0 +PYTHON_XLSXWRITER_SITE = https://pypi.python.org/packages/c9/e0/c2b2f57bf53c84af3d2a41a82af7025828cb2bc8a312848a6ab7d018de56 PYTHON_XLSXWRITER_SETUP_TYPE = setuptools -PYTHON_XLSXWRITER_LICENSE = BSD-2c +PYTHON_XLSXWRITER_LICENSE = BSD-2-Clause PYTHON_XLSXWRITER_LICENSE_FILES = LICENSE.txt $(eval $(python-package)) diff --git a/package/python-xlwt/python-xlwt.hash b/package/python-xlwt/python-xlwt.hash index 4cacf2b492..4523887052 100644 --- a/package/python-xlwt/python-xlwt.hash +++ b/package/python-xlwt/python-xlwt.hash @@ -1,4 +1,3 @@ -# md5 from https://pypi.python.org/pypi/xlwt/json -md5 fadf8d1be8c5f071561c4145ed5f5b89 xlwt-1.1.2.tar.gz -# sha256 calculated by scanpypi -sha256 aed648c17731f40f84550dd2a1aaa53569f0cbcaf5610ba895cd2632587b723c xlwt-1.1.2.tar.gz +# md5 from https://pypi.python.org/pypi/xlwt/json, sha256 locally computed +md5 1f2673a93c221f0195f342c578f04968 xlwt-1.2.0.tar.gz +sha256 505669c1eb6a60823fd3e2e723b60eea95f2c56254113bf163091ed2bedb4ac9 xlwt-1.2.0.tar.gz diff --git a/package/python-xlwt/python-xlwt.mk b/package/python-xlwt/python-xlwt.mk index 38d5f09d31..f8a298a484 100644 --- a/package/python-xlwt/python-xlwt.mk +++ b/package/python-xlwt/python-xlwt.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_XLWT_VERSION = 1.1.2 +PYTHON_XLWT_VERSION = 1.2.0 PYTHON_XLWT_SOURCE = xlwt-$(PYTHON_XLWT_VERSION).tar.gz -PYTHON_XLWT_SITE = https://pypi.python.org/packages/0b/69/644313df86e6375ec2c6b34ec8ac544b9cc7803b7d943223d32811860f3d +PYTHON_XLWT_SITE = https://pypi.python.org/packages/5b/8d/22b9ec552a1d7865de39f54bd15f9db09c72a6bf8ab77b11dcce4ae336bb PYTHON_XLWT_SETUP_TYPE = setuptools -PYTHON_XLWT_LICENSE = BSD-3c, BSD-4c +PYTHON_XLWT_LICENSE = BSD-3-Clause, BSD-4-Clause PYTHON_XLWT_LICENSE_FILES = docs/licenses.rst $(eval $(python-package)) diff --git a/package/python-xmltodict/Config.in b/package/python-xmltodict/Config.in new file mode 100644 index 0000000000..cb12392c93 --- /dev/null +++ b/package/python-xmltodict/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_XMLTODICT + bool "python-xmltodict" + select BR2_PACKAGE_PYTHON_PYEXPAT if BR2_PACKAGE_PYTHON # runtime + select BR2_PACKAGE_PYTHON3_PYEXPAT if BR2_PACKAGE_PYTHON3 # runtime + help + Makes working with XML feel like you are working with JSON. + + https://github.com/martinblech/xmltodict diff --git a/package/python-xmltodict/python-xmltodict.hash b/package/python-xmltodict/python-xmltodict.hash new file mode 100644 index 0000000000..4cb265e9b7 --- /dev/null +++ b/package/python-xmltodict/python-xmltodict.hash @@ -0,0 +1,4 @@ +# md5 from https://pypi.python.org/pypi/xmltodict/json, sha256 locally computed +md5 9f955947db085485873ac68154e88069 xmltodict-0.11.0.tar.gz +sha256 8f8d7d40aa28d83f4109a7e8aa86e67a4df202d9538be40c0cb1d70da527b0df xmltodict-0.11.0.tar.gz +sha256 d66d5eb8f83a0ba21d3dd04318b8817588e8764daabea852d1035e3f07ffda55 LICENSE diff --git a/package/python-xmltodict/python-xmltodict.mk b/package/python-xmltodict/python-xmltodict.mk new file mode 100644 index 0000000000..66007dfb84 --- /dev/null +++ b/package/python-xmltodict/python-xmltodict.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-xmltodict +# +################################################################################ + +PYTHON_XMLTODICT_VERSION = 0.11.0 +PYTHON_XMLTODICT_SOURCE = xmltodict-$(PYTHON_XMLTODICT_VERSION).tar.gz +PYTHON_XMLTODICT_SITE = https://pypi.python.org/packages/57/17/a6acddc5f5993ea6eaf792b2e6c3be55e3e11f3b85206c818572585f61e1 +PYTHON_XMLTODICT_SETUP_TYPE = setuptools +PYTHON_XMLTODICT_LICENSE = MIT +PYTHON_XMLTODICT_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-zope-interface/Config.in b/package/python-zope-interface/Config.in index 01f4a94cdb..c09e7b0cb3 100644 --- a/package/python-zope-interface/Config.in +++ b/package/python-zope-interface/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_PYTHON_ZOPE_INTERFACE bool "python-zope-interface" + select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime help This package provides an implementation of "object interfaces" for Python. Interfaces are a mechanism for labeling objects as conforming diff --git a/package/python-zope-interface/python-zope-interface.hash b/package/python-zope-interface/python-zope-interface.hash index 7a46cd348f..2aa07335a4 100644 --- a/package/python-zope-interface/python-zope-interface.hash +++ b/package/python-zope-interface/python-zope-interface.hash @@ -1,3 +1,4 @@ -# md5 from https://pypi.python.org/pypi/zope-interface/json, sha256 locally computed -md5 ba3f32eacaea66094b7e2ae2788cec89 zope.interface-4.3.3.tar.gz -sha256 8780ef68ca8c3fe1abb30c058a59015129d6e04a6b02c2e56b9c7de6078dfa88 zope.interface-4.3.3.tar.gz +# md5 from https://pypi.python.org/pypi/zope.interface/json, sha256 locally computed +md5 8700a4f527c1203b34b10c2b4e7a6912 zope.interface-4.4.3.tar.gz +sha256 d6d26d5dfbfd60c65152938fcb82f949e8dada37c041f72916fef6621ba5c5ce zope.interface-4.4.3.tar.gz +sha256 3e671db11df687516cc1db5b3d65e4aa383eaca3c20cea3faf53a0f7335d0a3c LICENSE.txt diff --git a/package/python-zope-interface/python-zope-interface.mk b/package/python-zope-interface/python-zope-interface.mk index 3e3b464b28..7dd6812976 100644 --- a/package/python-zope-interface/python-zope-interface.mk +++ b/package/python-zope-interface/python-zope-interface.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_ZOPE_INTERFACE_VERSION = 4.3.3 +PYTHON_ZOPE_INTERFACE_VERSION = 4.4.3 PYTHON_ZOPE_INTERFACE_SOURCE = zope.interface-$(PYTHON_ZOPE_INTERFACE_VERSION).tar.gz -PYTHON_ZOPE_INTERFACE_SITE = https://pypi.python.org/packages/44/af/cea1e18bc0d3be0e0824762d3236f0e61088eeed75287e7b854d65ec9916 +PYTHON_ZOPE_INTERFACE_SITE = https://pypi.python.org/packages/bd/d2/25349ed41f9dcff7b3baf87bd88a4c82396cf6e02f1f42bb68657a3132af PYTHON_ZOPE_INTERFACE_SETUP_TYPE = setuptools -PYTHON_ZOPE_INTERFACE_LICENSE = ZPLv2.1 +PYTHON_ZOPE_INTERFACE_LICENSE = ZPL-2.1 PYTHON_ZOPE_INTERFACE_LICENSE_FILES = LICENSE.txt $(eval $(python-package)) diff --git a/package/python/0001-setup.py-do-not-add-invalid-header-locations.patch b/package/python/0001-setup.py-do-not-add-invalid-header-locations.patch new file mode 100644 index 0000000000..3b2c9833e8 --- /dev/null +++ b/package/python/0001-setup.py-do-not-add-invalid-header-locations.patch @@ -0,0 +1,42 @@ +From 3dc31a435b67de2ba3dd3457f0c939e20b58e8de Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 7 Mar 2017 22:17:06 +0100 +Subject: [PATCH] setup.py: do not add invalid header locations + +This piece of code incorrectly adds /usr/include to +self.compiler.include_dirs, and results in the following invalid +compilation line: + +/home/thomas/projets/buildroot/output/host/usr/bin/arm-none-linux-gnueabi-gcc -fPIC \ + -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 \ + -pipe -Os -DNDEBUG -g -O3 -Wall -Wstrict-prototypes \ + -I/usr/include -I. -IInclude -I./Include \ + -I/home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include \ + -I/home/thomas/projets/buildroot/output/build/python-2.7.6/Include \ + -I/home/thomas/projets/buildroot/output/build/python-2.7.6 \ + -c /home/thomas/projets/buildroot/output/build/python-2.7.6/Modules/mathmodule.c \ + -o build/temp.linux2-arm-2.7/home/thomas/projets/buildroot/output/build/python-2.7.6/Modules/mathmodule.o +cc1: warning: include location "/usr/include" is unsafe for cross-compilation [-Wpoison-system-directories] +[...] + +Signed-off-by: Thomas Petazzoni +--- + setup.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 54054c2..64001e2 100644 +--- a/setup.py ++++ b/setup.py +@@ -496,7 +496,7 @@ class PyBuildExt(build_ext): + for directory in reversed(options.dirs): + add_dir_to_list(dir_list, directory) + +- if os.path.normpath(sys.prefix) != '/usr' \ ++ if False and os.path.normpath(sys.prefix) != '/usr' \ + and not sysconfig.get_config_var('PYTHONFRAMEWORK'): + # OSX note: Don't add LIBDIR and INCLUDEDIR to building a framework + # (PYTHONFRAMEWORK is set) to avoid # linking problems when +-- +2.7.4 + diff --git a/package/python/0002-Fix-get_python_inc-for-cross-compilation.patch b/package/python/0002-Fix-get_python_inc-for-cross-compilation.patch new file mode 100644 index 0000000000..b28ef2440e --- /dev/null +++ b/package/python/0002-Fix-get_python_inc-for-cross-compilation.patch @@ -0,0 +1,46 @@ +From 367ee7d103cf9f670c3925d555edf6f6a5b9d8d5 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 7 Mar 2017 22:17:25 +0100 +Subject: [PATCH] Fix get_python_inc() for cross-compilation + +When we are cross compiling, doing os.path.dirname(sys.executable) to +get the build directory is incorrect, because we're executing the host +Python to build things for the target. Instead, we should use the +project_base variable. + +This fixes cross-compilation, which was adding incorrect header paths +pointing to the location where the host Python was built: + +/home/thomas/projets/buildroot/output/host/usr/bin/arm-none-linux-gnueabi-gcc -fPIC -fno-strict-aliasing \ + -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -DNDEBUG -g -O3 -Wall -Wstrict-prototypes \ + -I/usr/include -I. -IInclude -I./Include -I/home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include \ + -I/home/thomas/projets/buildroot/output/host/usr/bin/Include -I/home/thomas/projets/buildroot/output/host/usr/bin \ + -c /home/thomas/projets/buildroot/output/build/python-2.7.6/Modules/_struct.c \ + -o build/temp.linux2-arm-2.7/home/thomas/projets/buildroot/output/build/python-2.7.6/Modules/_struct.o + +This patch allows to fix the +/home/thomas/projets/buildroot/output/host/usr/bin/Include and +/home/thomas/projets/buildroot/output/host/usr/bin paths that are +incorrectly added to the header paths. + +Signed-off-by: Thomas Petazzoni +--- + Lib/distutils/sysconfig.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py +index de7da1d..d72b6e5 100644 +--- a/Lib/distutils/sysconfig.py ++++ b/Lib/distutils/sysconfig.py +@@ -79,7 +79,7 @@ def get_python_inc(plat_specific=0, prefix=None): + + if os.name == "posix": + if python_build: +- buildir = os.path.dirname(sys.executable) ++ buildir = project_base + if plat_specific: + # python.h is located in the buildir + inc_dir = buildir +-- +2.7.4 + diff --git a/package/python/0003-Change-the-install-location-of-_sysconfigdata.py.patch b/package/python/0003-Change-the-install-location-of-_sysconfigdata.py.patch new file mode 100644 index 0000000000..db5bfe1a10 --- /dev/null +++ b/package/python/0003-Change-the-install-location-of-_sysconfigdata.py.patch @@ -0,0 +1,86 @@ +From 0ef0d4ddd3f2261e381f22061a9a451dfbb1dc9e Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 7 Mar 2017 22:17:59 +0100 +Subject: [PATCH] Change the install location of _sysconfigdata.py + +The _sysconfigdata.py module contains definitions that are needed when +building Python modules. In cross-compilation mode, when building +Python extensions for the target, we need to use the _sysconfigdata.py +of the target Python while executing the host Python. + +However until now, the _sysconfigdata.py module was installed in +build/lib.- directory, together with a number of +architecture-specific shared objects, which cannot be used with the +host Python. + +To solve this problem, this patch moves _sysconfigdata.py to a +separate location, build/sysconfigdata.-/, and only +this directory gets added to the PYTHONPATH of the host Python +interpreter when building Python modules for the target. + +Signed-off-by: Thomas Petazzoni +--- + Makefile.pre.in | 12 ++++++++++-- + configure.ac | 2 +- + 2 files changed, 11 insertions(+), 3 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index e288964..5367df7 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -529,6 +529,9 @@ pybuilddir.txt: $(BUILDPYTHON) + rm -f ./pybuilddir.txt ; \ + exit 1 ; \ + fi ++ echo `cat pybuilddir.txt`/sysconfigdata > pysysconfigdatadir.txt ++ mkdir -p `cat pysysconfigdatadir.txt` ++ cp `cat pybuilddir.txt`/_sysconfigdata.py `cat pysysconfigdatadir.txt` + + # This is shared by the math and cmath modules + Modules/_math.o: Modules/_math.c Modules/_math.h +@@ -1080,7 +1083,7 @@ libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c + else true; \ + fi; \ + done +- @for i in $(srcdir)/Lib/*.py `cat pybuilddir.txt`/_sysconfigdata.py $(srcdir)/Lib/*.doc $(srcdir)/Lib/*.egg-info ; \ ++ @for i in $(srcdir)/Lib/*.py $(srcdir)/Lib/*.doc $(srcdir)/Lib/*.egg-info ; \ + do \ + if test -x $$i; then \ + $(INSTALL_SCRIPT) $$i $(DESTDIR)$(LIBDEST); \ +@@ -1090,6 +1093,11 @@ libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c + echo $(INSTALL_DATA) $$i $(LIBDEST); \ + fi; \ + done ++ $(INSTALL_DATA) `cat pysysconfigdatadir.txt`/_sysconfigdata.py \ ++ $(DESTDIR)$(LIBDEST) ++ mkdir -p $(DESTDIR)$(LIBDEST)/sysconfigdata ++ $(INSTALL_DATA) `cat pysysconfigdatadir.txt`/_sysconfigdata.py \ ++ $(DESTDIR)$(LIBDEST)/sysconfigdata + @for d in $(LIBSUBDIRS); \ + do \ + a=$(srcdir)/Lib/$$d; \ +@@ -1418,7 +1426,7 @@ distclean: clobber + Modules/Setup Modules/Setup.local Modules/Setup.config \ + Modules/ld_so_aix Modules/python.exp Misc/python.pc + -rm -f python*-gdb.py +- -rm -f pybuilddir.txt ++ -rm -f pybuilddir.txt pysysconfigdatadir.txt + # Issue #28258: set LC_ALL to avoid issues with Estonian locale. + # Expansion is performed here by shell (spawned by make) itself before + # arguments are passed to find. So LC_ALL=C must be set as a separate +diff --git a/configure.ac b/configure.ac +index 1273465..5f89797 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -33,7 +33,7 @@ if test "$cross_compiling" = yes; then + AC_MSG_ERROR([python$PACKAGE_VERSION interpreter not found]) + fi + AC_MSG_RESULT($interp) +- PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/$(PLATDIR) '$interp ++ PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pysysconfigdatadir.txt && echo $(abs_builddir)/`cat pysysconfigdatadir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/$(PLATDIR) '$interp + fi + # Used to comment out stuff for rebuilding generated files + GENERATED_COMMENT='#' +-- +2.7.4 + diff --git a/package/python/0004-Make-the-compilation-of-.pyc-and-.pyo-conditional.patch b/package/python/0004-Make-the-compilation-of-.pyc-and-.pyo-conditional.patch new file mode 100644 index 0000000000..3bf407d542 --- /dev/null +++ b/package/python/0004-Make-the-compilation-of-.pyc-and-.pyo-conditional.patch @@ -0,0 +1,76 @@ +From 168e6c594e80395583de5ab0d082be119b2061fc Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 7 Mar 2017 22:18:57 +0100 +Subject: [PATCH] Make the compilation of .pyc and .pyo conditional + +This commit adds --{enable,disable}-{pyc,pyo} options to enable/disable +the compilation of pyc/pyo files. + +Signed-off-by: Thomas Petazzoni +--- + Makefile.pre.in | 8 ++++++++ + configure.ac | 11 +++++++++++ + 2 files changed, 19 insertions(+) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index 5367df7..96fc718 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1128,24 +1128,32 @@ libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c + $(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \ + $(DESTDIR)$(LIBDEST)/distutils/tests ; \ + fi ++ifeq (@PYC_BUILD@,yes) + PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ + $(PYTHON_FOR_BUILD) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \ + -d $(LIBDEST) -f \ + -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \ + $(DESTDIR)$(LIBDEST) ++endif ++ifeq (@PYO_BUILD@,yes) + PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ + $(PYTHON_FOR_BUILD) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \ + -d $(LIBDEST) -f \ + -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \ + $(DESTDIR)$(LIBDEST) ++endif ++ifeq (@PYC_BUILD@,yes) + -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ + $(PYTHON_FOR_BUILD) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \ + -d $(LIBDEST)/site-packages -f \ + -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages ++endif ++ifeq (@PYO_BUILD@,yes) + -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ + $(PYTHON_FOR_BUILD) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \ + -d $(LIBDEST)/site-packages -f \ + -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages ++endif + -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ + $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt + -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ +diff --git a/configure.ac b/configure.ac +index 5f89797..4aafc82 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -759,6 +759,17 @@ SunOS*) + ;; + esac + ++AC_SUBST(PYC_BUILD) ++ ++AC_ARG_ENABLE(pyc-build, ++ AS_HELP_STRING([--disable-pyc-build], [disable build of pyc files]), ++ [ PYC_BUILD="${enableval}" ], [ PYC_BUILD=yes ]) ++ ++AC_SUBST(PYO_BUILD) ++ ++AC_ARG_ENABLE(pyo-build, ++ AS_HELP_STRING([--disable-pyo-build], [disable build of pyo files]), ++ [ PYO_BUILD="${enableval}" ], [ PYO_BUILD=yes ]) + + AC_SUBST(LIBRARY) + AC_MSG_CHECKING(LIBRARY) +-- +2.7.4 + diff --git a/package/python/0005-Adjust-getaddrinfo-test-for-cross-compilation.patch b/package/python/0005-Adjust-getaddrinfo-test-for-cross-compilation.patch new file mode 100644 index 0000000000..e0a24ec806 --- /dev/null +++ b/package/python/0005-Adjust-getaddrinfo-test-for-cross-compilation.patch @@ -0,0 +1,29 @@ +From 2d971c3cdca9ecc55f2da8aba12ca89e1a66519a Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 7 Mar 2017 22:19:47 +0100 +Subject: [PATCH] Adjust getaddrinfo() test for cross-compilation + +The getaddrinfo() test in configure.ac uses AC_RUN_IFELSE(), which isn't +cross-compilation friendly. + +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 4aafc82..63e6918 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3527,7 +3527,7 @@ fi + + AC_MSG_RESULT($ac_cv_buggy_getaddrinfo) + +-if test $have_getaddrinfo = no -o "$ac_cv_buggy_getaddrinfo" = yes ++if test $have_getaddrinfo = no || test "$cross_compiling" != "yes" -a "$ac_cv_buggy_getaddrinfo" = yes + then + if test $ipv6 = yes + then +-- +2.7.4 + diff --git a/package/python/0006-Add-minimal-infrastructure-to-be-able-to-disable-ext.patch b/package/python/0006-Add-minimal-infrastructure-to-be-able-to-disable-ext.patch new file mode 100644 index 0000000000..44a8ae2cc5 --- /dev/null +++ b/package/python/0006-Add-minimal-infrastructure-to-be-able-to-disable-ext.patch @@ -0,0 +1,79 @@ +From 977de9474c1fb46359ab6a487e153fbd91a2b568 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 7 Mar 2017 22:21:28 +0100 +Subject: [PATCH] Add minimal infrastructure to be able to disable extensions + +This commit adds some logic to the Python build system to be able to +disable Python extensions. Follow-up commits actually add options to +disable specific extensions. + +Signed-off-by: Thomas Petazzoni +--- + Makefile.pre.in | 6 +++++- + configure.ac | 2 ++ + setup.py | 5 ++++- + 3 files changed, 11 insertions(+), 2 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index 96fc718..33b994d 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -161,6 +161,8 @@ FILEMODE= 644 + # configure script arguments + CONFIG_ARGS= @CONFIG_ARGS@ + ++# disabled extensions ++DISABLED_EXTENSIONS= @DISABLED_EXTENSIONS@ + + # Subdirectories with code + SRCDIRS= @SRCDIRS@ +@@ -548,6 +550,7 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o + esac; \ + $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \ + _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \ ++ DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" \ + $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build + + # Build static library +@@ -1269,7 +1272,8 @@ libainstall: all python-config + # Install the dynamically loadable modules + # This goes into $(exec_prefix) + sharedinstall: sharedmods +- $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \ ++ $(RUNSHARED) DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" \ ++ $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \ + --prefix=$(prefix) \ + --install-scripts=$(BINDIR) \ + --install-platlib=$(DESTSHARED) \ +diff --git a/configure.ac b/configure.ac +index 63e6918..5d4232f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2462,6 +2462,8 @@ LIBS="$withval $LIBS" + + PKG_PROG_PKG_CONFIG + ++AC_SUBST(DISABLED_EXTENSIONS) ++ + # Check for use of the system expat library + AC_MSG_CHECKING(for --with-system-expat) + AC_ARG_WITH(system_expat, +diff --git a/setup.py b/setup.py +index 64001e2..3b51c0a 100644 +--- a/setup.py ++++ b/setup.py +@@ -33,7 +33,10 @@ host_platform = get_platform() + COMPILED_WITH_PYDEBUG = ('--with-pydebug' in sysconfig.get_config_var("CONFIG_ARGS")) + + # This global variable is used to hold the list of modules to be disabled. +-disabled_module_list = [] ++try: ++ disabled_module_list = sysconfig.get_config_var("DISABLED_EXTENSIONS").split(" ") ++except KeyError: ++ disabled_module_list = list() + + def add_dir_to_list(dirlist, dir): + """Add the directory 'dir' to the list 'dirlist' (at the front) if +-- +2.7.4 + diff --git a/package/python/0007-Adjust-library-header-paths-for-cross-compilation.patch b/package/python/0007-Adjust-library-header-paths-for-cross-compilation.patch new file mode 100644 index 0000000000..c68f1bf7f2 --- /dev/null +++ b/package/python/0007-Adjust-library-header-paths-for-cross-compilation.patch @@ -0,0 +1,64 @@ +From f3e0a677c4736f95338825a022a884f8dc7a5c14 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 7 Mar 2017 22:22:19 +0100 +Subject: [PATCH] Adjust library/header paths for cross-compilation + +When cross-compiling third-party extensions, the get_python_inc() or +get_python_lib() can be called, to return the path to headers or +libraries. However, they use the sys.prefix of the host Python, which +returns incorrect paths when cross-compiling (paths pointing to host +headers and libraries). + +In order to fix this, we introduce the _python_sysroot, _python_prefix +and _python_exec_prefix variables, that allow to override these +values, and get correct header/library paths when cross-compiling +third-party Python modules. + +The _python_sysroot variable is also used to prefix the LIBDIR value +taken from the sysconfigdata module. + +Signed-off-by: Thomas Petazzoni +--- + Lib/distutils/command/build_ext.py | 5 ++++- + Lib/distutils/sysconfig.py | 9 +++++++-- + 2 files changed, 11 insertions(+), 3 deletions(-) + +diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py +index 2c68be3..375b08c 100644 +--- a/Lib/distutils/command/build_ext.py ++++ b/Lib/distutils/command/build_ext.py +@@ -240,7 +240,10 @@ class build_ext (Command): + if (sysconfig.get_config_var('Py_ENABLE_SHARED')): + if not sysconfig.python_build: + # building third party extensions +- self.library_dirs.append(sysconfig.get_config_var('LIBDIR')) ++ libdir = sysconfig.get_config_var('LIBDIR') ++ if "_python_sysroot" in os.environ: ++ libdir = os.environ.get("_python_sysroot") + libdir ++ self.library_dirs.append(libdir) + else: + # building python standard extensions + self.library_dirs.append('.') +diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py +index d72b6e5..72151df 100644 +--- a/Lib/distutils/sysconfig.py ++++ b/Lib/distutils/sysconfig.py +@@ -19,8 +19,13 @@ import sys + from distutils.errors import DistutilsPlatformError + + # These are needed in a couple of spots, so just compute them once. +-PREFIX = os.path.normpath(sys.prefix) +-EXEC_PREFIX = os.path.normpath(sys.exec_prefix) ++if "_python_sysroot" in os.environ: ++ _sysroot=os.environ.get('_python_sysroot') ++ PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_prefix')) ++ EXEC_PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_exec_prefix')) ++else: ++ PREFIX = os.path.normpath(sys.prefix) ++ EXEC_PREFIX = os.path.normpath(sys.exec_prefix) + + # Path to the base directory of the project. On Windows the binary may + # live in project/PCBuild9. If we're dealing with an x64 Windows build, +-- +2.7.4 + diff --git a/package/python3/0008-Don-t-look-in-usr-lib-termcap-for-libraries.patch b/package/python/0008-Don-t-look-in-usr-lib-termcap-for-libraries.patch similarity index 85% rename from package/python3/0008-Don-t-look-in-usr-lib-termcap-for-libraries.patch rename to package/python/0008-Don-t-look-in-usr-lib-termcap-for-libraries.patch index 47a0b83291..d523b74638 100644 --- a/package/python3/0008-Don-t-look-in-usr-lib-termcap-for-libraries.patch +++ b/package/python/0008-Don-t-look-in-usr-lib-termcap-for-libraries.patch @@ -1,6 +1,6 @@ -From d7c568632f7cb83346096ea114a06f89a0b488d6 Mon Sep 17 00:00:00 2001 +From 87b627d8845e67fd798449b414bece04f18bd450 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni -Date: Wed, 23 Dec 2015 11:36:00 +0100 +Date: Tue, 7 Mar 2017 22:22:40 +0100 Subject: [PATCH] Don't look in /usr/lib/termcap for libraries Signed-off-by: Thomas Petazzoni @@ -9,10 +9,10 @@ Signed-off-by: Thomas Petazzoni 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/setup.py b/setup.py -index 1ebfa50..24a7153 100644 +index 3b51c0a..fa32532 100644 --- a/setup.py +++ b/setup.py -@@ -753,12 +753,9 @@ class PyBuildExt(build_ext): +@@ -784,12 +784,9 @@ class PyBuildExt(build_ext): pass # Issue 7384: Already linked against curses or tinfo. elif curses_library: readline_libs.append(curses_library) @@ -27,5 +27,5 @@ index 1ebfa50..24a7153 100644 libraries=readline_libs) ) else: -- -2.6.4 +2.7.4 diff --git a/package/python/0009-Fix-python-config-for-cross-builds.patch b/package/python/0009-Fix-python-config-for-cross-builds.patch new file mode 100644 index 0000000000..44ddbcec6f --- /dev/null +++ b/package/python/0009-Fix-python-config-for-cross-builds.patch @@ -0,0 +1,225 @@ +From e5b0d225f4343e82791cb80e4e0c01a9b49eeff4 Mon Sep 17 00:00:00 2001 +From: Gustavo Zacarias +Date: Tue, 7 Mar 2017 22:23:14 +0100 +Subject: [PATCH] Fix python-config for cross-builds + +Add a backport of http://bugs.python.org/issue16235 so we can use +python-config for cross builds. + +This basically replaces the python version of python-config with a +pure-shell version that's already preprocessed when installed and +doesn't depend on the sysconfig import that usually leads to bad +data/results. + +Signed-off-by: Gustavo Zacarias +--- + Makefile.pre.in | 13 +++--- + Misc/python-config.sh.in | 102 +++++++++++++++++++++++++++++++++++++++++++++++ + configure.ac | 7 +++- + 3 files changed, 116 insertions(+), 6 deletions(-) + create mode 100644 Misc/python-config.sh.in + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index 33b994d..beb0837 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -171,7 +171,7 @@ SRCDIRS= @SRCDIRS@ + SUBDIRSTOO= Include Lib Misc Demo + + # Files and directories to be distributed +-CONFIGFILES= configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in ++CONFIGFILES= configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in Misc/python-config.sh + DISTFILES= README ChangeLog $(CONFIGFILES) + DISTDIRS= $(SUBDIRS) $(SUBDIRSTOO) Ext-dummy + DIST= $(DISTFILES) $(DISTDIRS) +@@ -431,7 +431,7 @@ LIBRARY_OBJS= \ + + # Default target + all: @DEF_MAKE_ALL_RULE@ +-build_all: $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks ++build_all: $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks python-config + + # Compile a binary with profile guided optimization. + profile-opt: +@@ -1179,10 +1179,12 @@ $(srcdir)/Lib/$(PLATDIR): + fi; \ + cd $(srcdir)/Lib/$(PLATDIR); $(RUNSHARED) ./regen + +-python-config: $(srcdir)/Misc/python-config.in ++python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh + # Substitution happens here, as the completely-expanded BINDIR + # is not available in configure +- sed -e "s,@EXENAME@,$(BINDIR)/python$(VERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config ++ sed -e "s,@EXENAME@,$(BINDIR)/python$(VERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config.py ++ # Replace makefile compat. variable references with shell script compat. ones; $(VAR) -> ${VAR} ++ sed -e 's,\$$(\([A-Za-z0-9_]*\)),\$$\{\1\},g' Misc/python-config.sh >python-config + + # Install the include files + INCLDIRSTOMAKE=$(INCLUDEDIR) $(CONFINCLUDEDIR) $(INCLUDEPY) $(CONFINCLUDEPY) +@@ -1241,7 +1243,7 @@ libainstall: all python-config + $(INSTALL_SCRIPT) $(srcdir)/Modules/makesetup $(DESTDIR)$(LIBPL)/makesetup + $(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(LIBPL)/install-sh + $(INSTALL_SCRIPT) python-config $(DESTDIR)$(BINDIR)/python$(VERSION)-config +- rm python-config ++ $(INSTALL_SCRIPT) python-config.py $(DESTDIR)$(LIBPL)/python-config.py + @if [ -s Modules/python.exp -a \ + "`echo $(MACHDEP) | sed 's/^\(...\).*/\1/'`" = "aix" ]; then \ + echo; echo "Installing support files for building shared extension modules on AIX:"; \ +@@ -1426,6 +1428,7 @@ clobber: clean profile-removal + config.cache config.log pyconfig.h Modules/config.c + -rm -rf build platform + -rm -rf $(PYTHONFRAMEWORKDIR) ++ -rm -f python-config.py python-config + + # Make things extra clean, before making a distribution: + # remove all generated files, even Makefile[.pre] +diff --git a/Misc/python-config.sh.in b/Misc/python-config.sh.in +new file mode 100644 +index 0000000..10db4c1 +--- /dev/null ++++ b/Misc/python-config.sh.in +@@ -0,0 +1,102 @@ ++#!/bin/sh ++ ++exit_with_usage () ++{ ++ echo "Usage: $0 --prefix|--exec-prefix|--includes|--libs|--cflags|--ldflags|--extension-suffix|--help|--configdir" ++ exit $1 ++} ++ ++if [ "$1" = "" ] ; then ++ exit_with_usage 1 ++fi ++ ++# Returns the actual prefix where this script was installed to. ++installed_prefix () ++{ ++ RESULT=$(dirname $(cd $(dirname "$1") && pwd -P)) ++ if which readlink >/dev/null 2>&1 ; then ++ RESULT=$(readlink -f "$RESULT") ++ fi ++ echo $RESULT ++} ++ ++prefix_build="@prefix@" ++prefix_real=$(installed_prefix "$0") ++ ++# Use sed to fix paths from their built to locations to their installed to locations. ++prefix=$(echo "$prefix_build" | sed "s#$prefix_build#$prefix_real#") ++exec_prefix_build="@exec_prefix@" ++exec_prefix=$(echo "$exec_prefix_build" | sed "s#$exec_prefix_build#$prefix_real#") ++includedir=$(echo "@includedir@") ++libdir=$(echo "@libdir@" | sed "s#$prefix_build#$prefix_real#") ++CFLAGS=$(echo "@CFLAGS@" | sed "s#$prefix_build#$prefix_real#") ++VERSION="@VERSION@" ++LIBM="@LIBM@" ++LIBC="@LIBC@" ++SYSLIBS="$LIBM $LIBC" ++LIBS="@LIBS@ $SYSLIBS -lpython${VERSION}" ++BASECFLAGS="@BASECFLAGS@" ++LDLIBRARY="@LDLIBRARY@" ++LINKFORSHARED="@LINKFORSHARED@" ++OPT="@OPT@" ++PY_ENABLE_SHARED="@PY_ENABLE_SHARED@" ++LDVERSION="@LDVERSION@" ++LIBDEST=${prefix}/lib/python${VERSION} ++LIBPL=$(echo "@LIBPL@" | sed "s#$prefix_build#$prefix_real#") ++SO="@SO@" ++PYTHONFRAMEWORK="@PYTHONFRAMEWORK@" ++INCDIR="-I$includedir/python${VERSION}" ++PLATINCDIR="-I$includedir/python${VERSION}" ++ ++# Scan for --help or unknown argument. ++for ARG in $* ++do ++ case $ARG in ++ --help) ++ exit_with_usage 0 ++ ;; ++ --prefix|--exec-prefix|--includes|--libs|--cflags|--ldflags|--extension-suffix|--abiflags|--configdir) ++ ;; ++ *) ++ exit_with_usage 1 ++ ;; ++esac ++done ++ ++for ARG in "$@" ++do ++ case "$ARG" in ++ --prefix) ++ echo "$prefix" ++ ;; ++ --exec-prefix) ++ echo "$exec_prefix" ++ ;; ++ --includes) ++ echo "$INCDIR $PLATINCDIR" ++ ;; ++ --cflags) ++ echo "$INCDIR $PLATINCDIR $BASECFLAGS $CFLAGS $OPT" ++ ;; ++ --libs) ++ echo "$LIBS" ++ ;; ++ --ldflags) ++ LINKFORSHAREDUSED= ++ if [ -z "$PYTHONFRAMEWORK" ] ; then ++ LINKFORSHAREDUSED=$LINKFORSHARED ++ fi ++ LIBPLUSED= ++ if [ "$PY_ENABLE_SHARED" = "0" ] ; then ++ LIBPLUSED="-L$LIBPL" ++ fi ++ echo "$LIBPLUSED -L$libdir $LIBS $LINKFORSHAREDUSED" ++ ;; ++ --extension-suffix) ++ echo "$SO" ++ ;; ++ --configdir) ++ echo "$LIBPL" ++ ;; ++esac ++done +diff --git a/configure.ac b/configure.ac +index 5d4232f..183a903 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -905,6 +905,7 @@ fi + + # Other platforms follow + if test $enable_shared = "yes"; then ++ PY_ENABLE_SHARED=1 + AC_DEFINE(Py_ENABLE_SHARED, 1, [Defined if Python is built as a shared library.]) + case $ac_sys_system in + BeOS*) +@@ -965,6 +966,7 @@ if test $enable_shared = "yes"; then + + esac + else # shared is disabled ++ PY_ENABLE_SHARED=0 + case $ac_sys_system in + CYGWIN*) + BLDLIBRARY='$(LIBRARY)' +@@ -2096,6 +2098,9 @@ AC_SUBST(LDCXXSHARED) + AC_SUBST(BLDSHARED) + AC_SUBST(CCSHARED) + AC_SUBST(LINKFORSHARED) ++AC_SUBST(PY_ENABLE_SHARED) ++LIBPL="${prefix}/lib/python${VERSION}/config" ++AC_SUBST(LIBPL) + # SO is the extension of shared libraries `(including the dot!) + # -- usually .so, .sl on HP-UX, .dll on Cygwin + AC_MSG_CHECKING(SO) +@@ -4818,7 +4823,7 @@ AC_MSG_RESULT($ENSUREPIP) + AC_SUBST(ENSUREPIP) + + # generate output files +-AC_CONFIG_FILES(Makefile.pre Modules/Setup.config Misc/python.pc) ++AC_CONFIG_FILES(Makefile.pre Modules/Setup.config Misc/python.pc Misc/python-config.sh) + AC_CONFIG_FILES([Modules/ld_so_aix], [chmod +x Modules/ld_so_aix]) + AC_OUTPUT + +-- +2.7.4 + diff --git a/package/python/001-remove-host-header-path.patch b/package/python/001-remove-host-header-path.patch deleted file mode 100644 index dfb84ffa1e..0000000000 --- a/package/python/001-remove-host-header-path.patch +++ /dev/null @@ -1,32 +0,0 @@ -setup.py: do not add invalid header locations - -This piece of code incorrectly adds /usr/include to -self.compiler.include_dirs, and results in the following invalid -compilation line: - -/home/thomas/projets/buildroot/output/host/usr/bin/arm-none-linux-gnueabi-gcc -fPIC \ - -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 \ - -pipe -Os -DNDEBUG -g -O3 -Wall -Wstrict-prototypes \ - -I/usr/include -I. -IInclude -I./Include \ - -I/home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include \ - -I/home/thomas/projets/buildroot/output/build/python-2.7.6/Include \ - -I/home/thomas/projets/buildroot/output/build/python-2.7.6 \ - -c /home/thomas/projets/buildroot/output/build/python-2.7.6/Modules/mathmodule.c \ - -o build/temp.linux2-arm-2.7/home/thomas/projets/buildroot/output/build/python-2.7.6/Modules/mathmodule.o -cc1: warning: include location "/usr/include" is unsafe for cross-compilation [-Wpoison-system-directories] -[...] - -Signed-off-by: Thomas Petazzoni -Index: b/setup.py -=================================================================== ---- a/setup.py -+++ b/setup.py -@@ -480,7 +480,7 @@ - for directory in reversed(options.dirs): - add_dir_to_list(dir_list, directory) - -- if os.path.normpath(sys.prefix) != '/usr' \ -+ if False and os.path.normpath(sys.prefix) != '/usr' \ - and not sysconfig.get_config_var('PYTHONFRAMEWORK'): - # OSX note: Don't add LIBDIR and INCLUDEDIR to building a framework - # (PYTHONFRAMEWORK is set) to avoid # linking problems when diff --git a/package/python/0010-Remove-the-python-symlink-install-rules.patch b/package/python/0010-Remove-the-python-symlink-install-rules.patch new file mode 100644 index 0000000000..864ccbfb7d --- /dev/null +++ b/package/python/0010-Remove-the-python-symlink-install-rules.patch @@ -0,0 +1,41 @@ +From bddfcbb8a4c011ca2fe471f7a4124cd64b5b0f00 Mon Sep 17 00:00:00 2001 +From: Samuel Martin +Date: Tue, 7 Mar 2017 22:23:58 +0100 +Subject: [PATCH] Remove the python symlink install rules + +The python symlink installation will be handled by Buildroot itself, +because Buildroot needs to control to what python interpreter (python2 +or python3) the python symlink points to. + +Signed-off-by: Samuel Martin +[Bernd: rebased against version 2.7.12.] +Signed-off-by: Bernd Kuhls +--- + Makefile.pre.in | 7 ------- + 1 file changed, 7 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index beb0837..dedcf61 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -968,17 +968,10 @@ bininstall: altbininstall + echo "Creating directory $(LIBPC)"; \ + $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$(LIBPC); \ + fi +- -if test -f $(DESTDIR)$(BINDIR)/$(PYTHON) -o -h $(DESTDIR)$(BINDIR)/$(PYTHON); \ +- then rm -f $(DESTDIR)$(BINDIR)/$(PYTHON); \ +- else true; \ +- fi +- (cd $(DESTDIR)$(BINDIR); $(LN) -s python2$(EXE) $(PYTHON)) + -rm -f $(DESTDIR)$(BINDIR)/python2$(EXE) + (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)$(EXE) python2$(EXE)) + -rm -f $(DESTDIR)$(BINDIR)/python2-config + (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-config python2-config) +- -rm -f $(DESTDIR)$(BINDIR)/python-config +- (cd $(DESTDIR)$(BINDIR); $(LN) -s python2-config python-config) + -test -d $(DESTDIR)$(LIBPC) || $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$(LIBPC) + -rm -f $(DESTDIR)$(LIBPC)/python2.pc + (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python2.pc) +-- +2.7.4 + diff --git a/package/python/0011-Don-t-add-multiarch-paths.patch b/package/python/0011-Don-t-add-multiarch-paths.patch new file mode 100644 index 0000000000..b84c9077c9 --- /dev/null +++ b/package/python/0011-Don-t-add-multiarch-paths.patch @@ -0,0 +1,36 @@ +From 50a243a9c90f95e9248ac720e42e802b5922ab90 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 7 Mar 2017 22:24:28 +0100 +Subject: [PATCH] Don't add multiarch paths + +The add_multiarch_paths() function leads, in certain build +environments, to the addition of host header paths to the CFLAGS, +which is not appropriate for cross-compilation. This patch fixes that +by simply removing the call to add_multiarch_paths() when we're +cross-compiling. + +Investigation done by David . + +Signed-off-by: Thomas Petazzoni +--- + setup.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index fa32532..0b9ea57 100644 +--- a/setup.py ++++ b/setup.py +@@ -461,9 +461,9 @@ class PyBuildExt(build_ext): + if not cross_compiling: + add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') + add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') ++ self.add_multiarch_paths() + if cross_compiling: + self.add_gcc_paths() +- self.add_multiarch_paths() + + # Add paths specified in the environment variables LDFLAGS and + # CPPFLAGS for header and library files. +-- +2.7.4 + diff --git a/package/python/0012-Abort-on-failed-module-build.patch b/package/python/0012-Abort-on-failed-module-build.patch new file mode 100644 index 0000000000..7d952ca5c2 --- /dev/null +++ b/package/python/0012-Abort-on-failed-module-build.patch @@ -0,0 +1,30 @@ +From a131e2ff219872d97eef6585117bd2f8ff9e310d Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 7 Mar 2017 22:24:48 +0100 +Subject: [PATCH] Abort on failed module build + +When building a Python module fails, the setup.py script currently +doesn't exit with an error, and simply continues. This is not a really +nice behavior, so this patch changes setup.py to abort with an error, +so that the build issue is clearly noticeable. + +Signed-off-by: Thomas Petazzoni +--- + setup.py | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/setup.py b/setup.py +index 0b9ea57..9a5c2b8 100644 +--- a/setup.py ++++ b/setup.py +@@ -299,6 +299,7 @@ class PyBuildExt(build_ext): + print "Failed to build these modules:" + print_three_column(failed) + print ++ sys.exit(1) + + def build_extension(self, ext): + +-- +2.7.4 + diff --git a/package/python/0013-sqlite3-fix-build-when-threads-are-not-used-availabl.patch b/package/python/0013-sqlite3-fix-build-when-threads-are-not-used-availabl.patch new file mode 100644 index 0000000000..dfc11efc7e --- /dev/null +++ b/package/python/0013-sqlite3-fix-build-when-threads-are-not-used-availabl.patch @@ -0,0 +1,58 @@ +From 0f0be88526ece7d2f6ee21c1f59b1546ec6dc7c0 Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" +Date: Tue, 7 Mar 2017 22:25:14 +0100 +Subject: [PATCH] sqlite3: fix build when threads are not used/available + +When threads are not used/available, a function in the sqlite3 extension +ends up with a label at the end: + + void _pysqlite_final_callback(sqlite3_context* context) + { + PyObject* function_result; + PyObject** aggregate_instance; + int ok; + + #ifdef WITH_THREAD + PyGILState_STATE threadstate; + + threadstate = PyGILState_Ensure(); + #endif + + aggregate_instance = (PyObject**)sqlite3_aggregate_context(context, sizeof(PyObject*)); + if (!*aggregate_instance) { + goto error; + } + + [......] + + error: + #ifdef WITH_THREAD + PyGILState_Release(threadstate); + #endif + } + +This is not valid, and gcc complains. + +Fix that by adding a dummy statement after the label, so that the label +is never the last statement of the function. + +Signed-off-by: "Yann E. MORIN" +--- + Modules/_sqlite/connection.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Modules/_sqlite/connection.c b/Modules/_sqlite/connection.c +index 237d6e4..cdf69ab 100644 +--- a/Modules/_sqlite/connection.c ++++ b/Modules/_sqlite/connection.c +@@ -794,6 +794,7 @@ error: + #ifdef WITH_THREAD + PyGILState_Release(threadstate); + #endif ++ ; /* Make gcc happy: a label can't be at the end of a function */ + } + + static void _pysqlite_drop_unused_statement_references(pysqlite_Connection* self) +-- +2.7.4 + diff --git a/package/python/0014-Serial-ioctl-workaround.patch b/package/python/0014-Serial-ioctl-workaround.patch new file mode 100644 index 0000000000..468d535ac3 --- /dev/null +++ b/package/python/0014-Serial-ioctl-workaround.patch @@ -0,0 +1,33 @@ +From 22e5a4c5d29ddf0856d7f68f5a613aec00e26168 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 7 Mar 2017 22:25:36 +0100 +Subject: [PATCH] Serial ioctl() workaround + +The ioctls.h of some architectures (notably xtensa) references structs from +linux/serial.h. Make sure to include this header as well. + +Also, undef TIOCTTYGSTRUCT that require reference to internal kernel tty_struct, +but isn't actually referenced in modern kernels. + +Signed-off-by: Baruch Siach +--- + Modules/termios.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/Modules/termios.c b/Modules/termios.c +index 57f30dc..a8c9855 100644 +--- a/Modules/termios.c ++++ b/Modules/termios.c +@@ -16,7 +16,9 @@ + * so this needs to be included first on that platform. */ + #include + #endif ++#include + #include ++#undef TIOCTTYGSTRUCT + + /* HP-UX requires that this be included to pick up MDCD, MCTS, MDSR, + * MDTR, MRI, and MRTS (appearantly used internally by some things +-- +2.7.4 + diff --git a/package/python/0015-Do-not-adjust-the-shebang-of-Python-scripts-for-cros.patch b/package/python/0015-Do-not-adjust-the-shebang-of-Python-scripts-for-cros.patch new file mode 100644 index 0000000000..fecf29f4d6 --- /dev/null +++ b/package/python/0015-Do-not-adjust-the-shebang-of-Python-scripts-for-cros.patch @@ -0,0 +1,35 @@ +From 70049366ddf1fc9084bb02cf4459380976cdf8f7 Mon Sep 17 00:00:00 2001 +From: Christophe Vu-Brugier +Date: Tue, 7 Mar 2017 22:26:09 +0100 +Subject: [PATCH] Do not adjust the shebang of Python scripts for + cross-compilation + +The copy_scripts() method in distutils copies the scripts listed in +the setup file and adjusts the first line to refer to the current +Python interpreter. When cross-compiling, this means that the adjusted +shebang refers to the host Python interpreter. + +This patch modifies copy_scripts() to preserve the shebang when +cross-compilation is detected. + +Signed-off-by: Christophe Vu-Brugier +--- + Lib/distutils/command/build_scripts.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Lib/distutils/command/build_scripts.py b/Lib/distutils/command/build_scripts.py +index 567df65..4922d50 100644 +--- a/Lib/distutils/command/build_scripts.py ++++ b/Lib/distutils/command/build_scripts.py +@@ -89,7 +89,7 @@ class build_scripts (Command): + adjust = 1 + post_interp = match.group(1) or '' + +- if adjust: ++ if adjust and not '_python_sysroot' in os.environ: + log.info("copying and adjusting %s -> %s", script, + self.build_dir) + if not self.dry_run: +-- +2.7.4 + diff --git a/package/python/0016-Add-an-option-to-disable-installation-of-test-module.patch b/package/python/0016-Add-an-option-to-disable-installation-of-test-module.patch new file mode 100644 index 0000000000..2e1a054f3b --- /dev/null +++ b/package/python/0016-Add-an-option-to-disable-installation-of-test-module.patch @@ -0,0 +1,103 @@ +From 0eac7789c0dd4aebe9e69d3c73d0c95e96922ea3 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 7 Mar 2017 22:27:16 +0100 +Subject: [PATCH] Add an option to disable installation of test modules + +The Python standard distribution comes with many test modules, that +are not necessarly useful on embedded targets. + +Signed-off-by: Thomas Petazzoni +Signed-off-by: Samuel Martin +[Bernd: rebased against version 2.7.14] +Signed-off-by: Bernd Kuhls +--- + Makefile.pre.in | 48 ++++++++++++++++++++++++++++++++---------------- + configure.ac | 6 ++++++ + 2 files changed, 38 insertions(+), 16 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index dedcf61..280cc4e 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1032,28 +1032,44 @@ + plat-mac/lib-scriptpackages/SystemEvents \ + plat-mac/lib-scriptpackages/Terminal + PLATMACPATH=:plat-mac:plat-mac/lib-scriptpackages +-LIBSUBDIRS= lib-tk lib-tk/test lib-tk/test/test_tkinter \ +- lib-tk/test/test_ttk site-packages test test/audiodata test/capath \ +- test/data test/cjkencodings test/decimaltestdata test/xmltestdata \ +- test/imghdrdata \ +- test/subprocessdata \ +- test/support \ +- test/tracedmodules \ ++LIBSUBDIRS= lib-tk site-packages \ + encodings compiler hotshot \ +- email email/mime email/test email/test/data \ ++ email email/mime \ + ensurepip ensurepip/_bundled \ +- json json/tests \ +- sqlite3 sqlite3/test \ +- logging bsddb bsddb/test csv importlib wsgiref \ +- lib2to3 lib2to3/fixes lib2to3/pgen2 lib2to3/tests \ +- lib2to3/tests/data lib2to3/tests/data/fixers lib2to3/tests/data/fixers/myfixes \ +- ctypes ctypes/test ctypes/macholib \ +- idlelib idlelib/Icons idlelib/idle_test \ +- distutils distutils/command distutils/tests $(XMLLIBSUBDIRS) \ ++ json \ ++ sqlite3 \ ++ logging bsddb csv importlib wsgiref \ ++ lib2to3 lib2to3/fixes lib2to3/pgen2 \ ++ ctypes ctypes/macholib \ ++ idlelib idlelib/Icons \ ++ distutils distutils/command $(XMLLIBSUBDIRS) \ + multiprocessing multiprocessing/dummy \ +- unittest unittest/test \ ++ unittest \ + lib-old \ + curses pydoc_data $(MACHDEPS) ++ ++TESTSUBDIRS = lib-tk/test lib-tk/test/test_tkinter \ ++ lib-tk/test/test_ttk test test/audiodata test/capath test/data \ ++ test/cjkencodings test/decimaltestdata test/xmltestdata \ ++ test/imghdrdata \ ++ test/subprocessdata \ ++ test/support \ ++ test/tracedmodules \ ++ email/test email/test/data \ ++ json/tests \ ++ sqlite3/test \ ++ bsddb/test \ ++ lib2to3/tests \ ++ lib2to3/tests/data lib2to3/tests/data/fixers lib2to3/tests/data/fixers/myfixes \ ++ ctypes/test \ ++ idlelib/idle_test \ ++ distutils/tests \ ++ unittest/test ++ ++ifeq (@TEST_MODULES@,yes) ++LIBSUBDIRS += $(TESTSUBDIRS) ++endif ++ + libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c + @for i in $(SCRIPTDIR) $(LIBDEST); \ + do \ +diff --git a/configure.ac b/configure.ac +index 183a903..a1a35f6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2806,6 +2806,12 @@ if test "$posix_threads" = "yes"; then + fi + + ++AC_SUBST(TEST_MODULES) ++ ++AC_ARG_ENABLE(test-modules, ++ AS_HELP_STRING([--disable-test-modules], [disable test modules]), ++ [ TEST_MODULES="${enableval}" ], [ TEST_MODULES=yes ]) ++ + # Check for enable-ipv6 + AH_TEMPLATE(ENABLE_IPV6, [Define if --enable-ipv6 is specified]) + AC_MSG_CHECKING([if --enable-ipv6 is specified]) +-- +2.7.4 + diff --git a/package/python/0017-Add-an-option-to-disable-pydoc.patch b/package/python/0017-Add-an-option-to-disable-pydoc.patch new file mode 100644 index 0000000000..18582f189e --- /dev/null +++ b/package/python/0017-Add-an-option-to-disable-pydoc.patch @@ -0,0 +1,87 @@ +From 52463745b6c46a46a6f2e2bc17983bb3f7bdac6e Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 7 Mar 2017 22:27:34 +0100 +Subject: [PATCH] Add an option to disable pydoc + +It removes 0.5 MB of data from the target plus the pydoc script +itself. + +Signed-off-by: Thomas Petazzoni +Signed-off-by: Samuel Martin +--- + Makefile.pre.in | 6 +++++- + configure.ac | 5 +++++ + setup.py | 10 +++++++--- + 3 files changed, 17 insertions(+), 4 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index 280cc4e..84d5fc6 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1052,7 +1052,7 @@ LIBSUBDIRS= lib-tk site-packages \ + multiprocessing multiprocessing/dummy \ + unittest \ + lib-old \ +- curses pydoc_data $(MACHDEPS) ++ curses $(MACHDEPS) + + TESTSUBDIRS = lib-tk/test lib-tk/test/test_tkinter \ + lib-tk/test/test_ttk test test/audiodata test/capath test/data \ +@@ -1075,6 +1075,10 @@ ifeq (@TEST_MODULES@,yes) + LIBSUBDIRS += $(TESTSUBDIRS) + endif + ++ifeq (@PYDOC@,yes) ++LIBSUBDIRS += pydoc_data ++endif ++ + libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c + @for i in $(SCRIPTDIR) $(LIBDEST); \ + do \ +diff --git a/configure.ac b/configure.ac +index a1a35f6..8bab160 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2805,6 +2805,11 @@ if test "$posix_threads" = "yes"; then + AC_CHECK_FUNCS(pthread_atfork) + fi + ++AC_SUBST(PYDOC) ++ ++AC_ARG_ENABLE(pydoc, ++ AS_HELP_STRING([--disable-pydoc], [disable pydoc]), ++ [ PYDOC="${enableval}" ], [ PYDOC=yes ]) + + AC_SUBST(TEST_MODULES) + +diff --git a/setup.py b/setup.py +index 9a5c2b8..69771e2 100644 +--- a/setup.py ++++ b/setup.py +@@ -2233,6 +2233,12 @@ def main(): + # turn off warnings when deprecated modules are imported + import warnings + warnings.filterwarnings("ignore",category=DeprecationWarning) ++ ++ scripts = ['Tools/scripts/idle', 'Tools/scripts/2to3', ++ 'Lib/smtpd.py'] ++ if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"): ++ scripts += [ 'Tools/scripts/pydoc' ] ++ + setup(# PyPI Metadata (PEP 301) + name = "Python", + version = sys.version.split()[0], +@@ -2253,9 +2259,7 @@ def main(): + ext_modules=[Extension('_struct', ['_struct.c'])], + + # Scripts to install +- scripts = ['Tools/scripts/pydoc', 'Tools/scripts/idle', +- 'Tools/scripts/2to3', +- 'Lib/smtpd.py'] ++ scripts = scripts, + ) + + # --install-platlib +-- +2.7.4 + diff --git a/package/python/0018-Add-an-option-to-disable-lib2to3.patch b/package/python/0018-Add-an-option-to-disable-lib2to3.patch new file mode 100644 index 0000000000..765b05d979 --- /dev/null +++ b/package/python/0018-Add-an-option-to-disable-lib2to3.patch @@ -0,0 +1,90 @@ +From d0cf9ebed6d34d820cf594578cf513797fb52772 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 7 Mar 2017 22:27:49 +0100 +Subject: [PATCH] Add an option to disable lib2to3 + +lib2to3 is a library to convert Python 2.x code to Python 3.x. As +such, it is probably not very useful on embedded system targets. + +Signed-off-by: Thomas Petazzoni +Signed-off-by: Samuel Martin +--- + Makefile.pre.in | 11 ++++++++--- + configure.ac | 6 ++++++ + setup.py | 5 +++-- + 3 files changed, 17 insertions(+), 5 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index 84d5fc6..b2a0490 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1045,7 +1045,6 @@ LIBSUBDIRS= lib-tk site-packages \ + json \ + sqlite3 \ + logging bsddb csv importlib wsgiref \ +- lib2to3 lib2to3/fixes lib2to3/pgen2 \ + ctypes ctypes/macholib \ + idlelib idlelib/Icons \ + distutils distutils/command $(XMLLIBSUBDIRS) \ +@@ -1064,8 +1063,6 @@ TESTSUBDIRS = lib-tk/test lib-tk/test/test_tkinter \ + json/tests \ + sqlite3/test \ + bsddb/test \ +- lib2to3/tests \ +- lib2to3/tests/data lib2to3/tests/data/fixers lib2to3/tests/data/fixers/myfixes \ + ctypes/test \ + idlelib/idle_test \ + distutils/tests \ +@@ -1079,6 +1076,14 @@ ifeq (@PYDOC@,yes) + LIBSUBDIRS += pydoc_data + endif + ++ifeq (@LIB2TO3@,yes) ++LIBSUBDIRS += lib2to3 lib2to3/fixes lib2to3/pgen2 ++TESTSUBDIRS += lib2to3/tests \ ++ lib2to3/tests/data \ ++ lib2to3/tests/data/fixers \ ++ lib2to3/tests/data/fixers/myfixes ++endif ++ + libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c + @for i in $(SCRIPTDIR) $(LIBDEST); \ + do \ +diff --git a/configure.ac b/configure.ac +index 8bab160..270f337 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2817,6 +2817,12 @@ AC_ARG_ENABLE(test-modules, + AS_HELP_STRING([--disable-test-modules], [disable test modules]), + [ TEST_MODULES="${enableval}" ], [ TEST_MODULES=yes ]) + ++AC_SUBST(LIB2TO3) ++ ++AC_ARG_ENABLE(lib2to3, ++ AS_HELP_STRING([--disable-lib2to3], [disable lib2to3]), ++ [ LIB2TO3="${enableval}" ], [ LIB2TO3=yes ]) ++ + # Check for enable-ipv6 + AH_TEMPLATE(ENABLE_IPV6, [Define if --enable-ipv6 is specified]) + AC_MSG_CHECKING([if --enable-ipv6 is specified]) +diff --git a/setup.py b/setup.py +index 69771e2..f51ef8c 100644 +--- a/setup.py ++++ b/setup.py +@@ -2234,10 +2234,11 @@ def main(): + import warnings + warnings.filterwarnings("ignore",category=DeprecationWarning) + +- scripts = ['Tools/scripts/idle', 'Tools/scripts/2to3', +- 'Lib/smtpd.py'] ++ scripts = ['Tools/scripts/idle', 'Lib/smtpd.py'] + if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"): + scripts += [ 'Tools/scripts/pydoc' ] ++ if not '--disable-lib2to3' in sysconfig.get_config_var("CONFIG_ARGS"): ++ scripts += [ 'Tools/scripts/2to3' ] + + setup(# PyPI Metadata (PEP 301) + name = "Python", +-- +2.7.4 + diff --git a/package/python/0019-Add-option-to-disable-the-sqlite3-module.patch b/package/python/0019-Add-option-to-disable-the-sqlite3-module.patch new file mode 100644 index 0000000000..bffe3faaba --- /dev/null +++ b/package/python/0019-Add-option-to-disable-the-sqlite3-module.patch @@ -0,0 +1,67 @@ +From 570e1e81484d9bcbd30a7719b07d02785a5cab24 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 7 Mar 2017 22:28:06 +0100 +Subject: [PATCH] Add option to disable the sqlite3 module + +Signed-off-by: Thomas Petazzoni +Signed-off-by: Samuel Martin +--- + Makefile.pre.in | 7 +++++-- + configure.ac | 9 +++++++++ + 2 files changed, 14 insertions(+), 2 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index b2a0490..974a052 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1043,7 +1043,6 @@ LIBSUBDIRS= lib-tk site-packages \ + email email/mime \ + ensurepip ensurepip/_bundled \ + json \ +- sqlite3 \ + logging bsddb csv importlib wsgiref \ + ctypes ctypes/macholib \ + idlelib idlelib/Icons \ +@@ -1061,7 +1060,6 @@ TESTSUBDIRS = lib-tk/test lib-tk/test/test_tkinter \ + test/tracedmodules \ + email/test email/test/data \ + json/tests \ +- sqlite3/test \ + bsddb/test \ + ctypes/test \ + idlelib/idle_test \ +@@ -1084,6 +1082,11 @@ TESTSUBDIRS += lib2to3/tests \ + lib2to3/tests/data/fixers/myfixes + endif + ++ifeq (@SQLITE3@,yes) ++LIBSUBDIRS += sqlite3 ++TESTSUBDIRS += sqlite3/test ++endif ++ + libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c + @for i in $(SCRIPTDIR) $(LIBDEST); \ + do \ +diff --git a/configure.ac b/configure.ac +index 270f337..e9e1897 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2805,6 +2805,15 @@ if test "$posix_threads" = "yes"; then + AC_CHECK_FUNCS(pthread_atfork) + fi + ++AC_SUBST(SQLITE3) ++AC_ARG_ENABLE(sqlite3, ++ AS_HELP_STRING([--disable-sqlite3], [disable sqlite3]), ++ [ SQLITE3="${enableval}" ], [ SQLITE3=yes ]) ++ ++if test "$SQLITE3" = "no" ; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" ++fi ++ + AC_SUBST(PYDOC) + + AC_ARG_ENABLE(pydoc, +-- +2.7.4 + diff --git a/package/python/002-fix-get-python-inc.patch b/package/python/002-fix-get-python-inc.patch deleted file mode 100644 index bfee03aaac..0000000000 --- a/package/python/002-fix-get-python-inc.patch +++ /dev/null @@ -1,36 +0,0 @@ -Fix get_python_inc() for cross-compilation - -When we are cross compiling, doing os.path.dirname(sys.executable) to -get the build directory is incorrect, because we're executing the host -Python to build things for the target. Instead, we should use the -project_base variable. - -This fixes cross-compilation, which was adding incorrect header paths -pointing to the location where the host Python was built: - -/home/thomas/projets/buildroot/output/host/usr/bin/arm-none-linux-gnueabi-gcc -fPIC -fno-strict-aliasing \ - -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -DNDEBUG -g -O3 -Wall -Wstrict-prototypes \ - -I/usr/include -I. -IInclude -I./Include -I/home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include \ - -I/home/thomas/projets/buildroot/output/host/usr/bin/Include -I/home/thomas/projets/buildroot/output/host/usr/bin \ - -c /home/thomas/projets/buildroot/output/build/python-2.7.6/Modules/_struct.c \ - -o build/temp.linux2-arm-2.7/home/thomas/projets/buildroot/output/build/python-2.7.6/Modules/_struct.o - -This patch allows to fix the -/home/thomas/projets/buildroot/output/host/usr/bin/Include and -/home/thomas/projets/buildroot/output/host/usr/bin paths that are -incorrectly added to the header paths. - -Signed-off-by: Thomas Petazzoni -Index: b/Lib/distutils/sysconfig.py -=================================================================== ---- a/Lib/distutils/sysconfig.py -+++ b/Lib/distutils/sysconfig.py -@@ -79,7 +79,7 @@ - - if os.name == "posix": - if python_build: -- buildir = os.path.dirname(sys.executable) -+ buildir = project_base - if plat_specific: - # python.h is located in the buildir - inc_dir = buildir diff --git a/package/python/0020-Add-an-option-to-disable-the-tk-module.patch b/package/python/0020-Add-an-option-to-disable-the-tk-module.patch new file mode 100644 index 0000000000..82df405e45 --- /dev/null +++ b/package/python/0020-Add-an-option-to-disable-the-tk-module.patch @@ -0,0 +1,71 @@ +From 05fbe2527b6f87edeef11f288c36bcbaa378ca02 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 7 Mar 2017 22:28:57 +0100 +Subject: [PATCH] Add an option to disable the tk module + +Signed-off-by: Thomas Petazzoni +Signed-off-by: Samuel Martin +--- + Makefile.pre.in | 11 ++++++++--- + configure.ac | 9 +++++++++ + 2 files changed, 17 insertions(+), 3 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index 974a052..f7f025f 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1038,7 +1038,7 @@ PLATMACDIRS= plat-mac plat-mac/Carbon plat-mac/lib-scriptpackages \ + plat-mac/lib-scriptpackages/SystemEvents \ + plat-mac/lib-scriptpackages/Terminal + PLATMACPATH=:plat-mac:plat-mac/lib-scriptpackages +-LIBSUBDIRS= lib-tk site-packages \ ++LIBSUBDIRS= site-packages \ + encodings compiler hotshot \ + email email/mime \ + ensurepip ensurepip/_bundled \ +@@ -1052,8 +1052,7 @@ LIBSUBDIRS= lib-tk site-packages \ + lib-old \ + curses $(MACHDEPS) + +-TESTSUBDIRS = lib-tk/test lib-tk/test/test_tkinter \ +- lib-tk/test/test_ttk test test/audiodata test/capath test/data \ ++TESTSUBDIRS = test test/audiodata test/capath test/data \ + test/cjkencodings test/decimaltestdata test/xmltestdata \ + test/imghdrdata \ + test/subprocessdata \ +@@ -1087,6 +1086,12 @@ LIBSUBDIRS += sqlite3 + TESTSUBDIRS += sqlite3/test + endif + ++ifeq (@TK@,yes) ++LIBSUBDIRS += lib-tk ++TESTSUBDIRS += lib-tk/test lib-tk/test/test_tkinter \ ++ lib-tk/test/test_ttk ++endif ++ + libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c + @for i in $(SCRIPTDIR) $(LIBDEST); \ + do \ +diff --git a/configure.ac b/configure.ac +index e9e1897..d0f032c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2814,6 +2814,15 @@ if test "$SQLITE3" = "no" ; then + DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" + fi + ++AC_SUBST(TK) ++AC_ARG_ENABLE(tk, ++ AS_HELP_STRING([--disable-tk], [disable tk]), ++ [ TK="${enableval}" ], [ TK=yes ]) ++ ++if test "$TK" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _tkinter" ++fi ++ + AC_SUBST(PYDOC) + + AC_ARG_ENABLE(pydoc, +-- +2.7.4 + diff --git a/package/python/0021-Add-an-option-to-disable-the-curses-module.patch b/package/python/0021-Add-an-option-to-disable-the-curses-module.patch new file mode 100644 index 0000000000..c36942ad6b --- /dev/null +++ b/package/python/0021-Add-an-option-to-disable-the-curses-module.patch @@ -0,0 +1,59 @@ +From dba12f15baad06cc7e17a275201cc022bb6c84f7 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 7 Mar 2017 22:29:06 +0100 +Subject: [PATCH] Add an option to disable the curses module + +Signed-off-by: Thomas Petazzoni +Signed-off-by: Samuel Martin +--- + Makefile.pre.in | 6 +++++- + configure.ac | 9 +++++++++ + 2 files changed, 14 insertions(+), 1 deletion(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index f7f025f..bd537d9 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1050,7 +1050,7 @@ LIBSUBDIRS= site-packages \ + multiprocessing multiprocessing/dummy \ + unittest \ + lib-old \ +- curses $(MACHDEPS) ++ $(MACHDEPS) + + TESTSUBDIRS = test test/audiodata test/capath test/data \ + test/cjkencodings test/decimaltestdata test/xmltestdata \ +@@ -1092,6 +1092,10 @@ TESTSUBDIRS += lib-tk/test lib-tk/test/test_tkinter \ + lib-tk/test/test_ttk + endif + ++ifeq (@CURSES@,yes) ++LIBSUBDIRS += curses ++endif ++ + libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c + @for i in $(SCRIPTDIR) $(LIBDEST); \ + do \ +diff --git a/configure.ac b/configure.ac +index d0f032c..ab081bc 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2823,6 +2823,15 @@ if test "$TK" = "no"; then + DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _tkinter" + fi + ++AC_SUBST(CURSES) ++AC_ARG_ENABLE(curses, ++ AS_HELP_STRING([--disable-curses], [disable curses]), ++ [ CURSES="${enableval}" ], [ CURSES=yes ]) ++ ++if test "$CURSES" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _curses _curses_panel" ++fi ++ + AC_SUBST(PYDOC) + + AC_ARG_ENABLE(pydoc, +-- +2.7.4 + diff --git a/package/python/0022-Add-an-option-to-disable-expat.patch b/package/python/0022-Add-an-option-to-disable-expat.patch new file mode 100644 index 0000000000..8253f112fe --- /dev/null +++ b/package/python/0022-Add-an-option-to-disable-expat.patch @@ -0,0 +1,90 @@ +From 5f0f30bf342cd2b13f98513c39fd8f17351b1a2f Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 7 Mar 2017 22:29:20 +0100 +Subject: [PATCH] Add an option to disable expat + +This patch replaces the existing --with-system-expat option with a +--with-expat={system,builtin,none} option, which allows to tell Python +whether we want to use the system expat (already installed), the expat +builtin the Python sources, or no expat at all (which disables the +installation of XML modules). + +Signed-off-by: Thomas Petazzoni +Signed-off-by: Samuel Martin +--- + Makefile.pre.in | 6 +++++- + configure.ac | 18 +++++++++++++----- + setup.py | 2 +- + 3 files changed, 19 insertions(+), 7 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index bd537d9..e5d0dd7 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1046,7 +1046,7 @@ LIBSUBDIRS= site-packages \ + logging bsddb csv importlib wsgiref \ + ctypes ctypes/macholib \ + idlelib idlelib/Icons \ +- distutils distutils/command $(XMLLIBSUBDIRS) \ ++ distutils distutils/command \ + multiprocessing multiprocessing/dummy \ + unittest \ + lib-old \ +@@ -1096,6 +1096,10 @@ ifeq (@CURSES@,yes) + LIBSUBDIRS += curses + endif + ++ifeq (@EXPAT@,yes) ++LIBSUBDIRS += $(XMLLIBSUBDIRS) ++endif ++ + libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c + @for i in $(SCRIPTDIR) $(LIBDEST); \ + do \ +diff --git a/configure.ac b/configure.ac +index ab081bc..63ee545 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2470,13 +2470,21 @@ PKG_PROG_PKG_CONFIG + AC_SUBST(DISABLED_EXTENSIONS) + + # Check for use of the system expat library +-AC_MSG_CHECKING(for --with-system-expat) +-AC_ARG_WITH(system_expat, +- AS_HELP_STRING([--with-system-expat], [build pyexpat module using an installed expat library]), ++AC_MSG_CHECKING(for --with-expat) ++AC_ARG_WITH(expat, ++ AS_HELP_STRING([--with-expat], [select which expat version to use: system, builtin, none]), + [], +- [with_system_expat="no"]) ++ [with_expat="builtin"]) + +-AC_MSG_RESULT($with_system_expat) ++AC_MSG_RESULT($with_expat) ++ ++if test "$with_expat" != "none"; then ++ EXPAT=yes ++else ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} pyexpat" ++ EXPAT=no ++fi ++AC_SUBST(EXPAT) + + # Check for use of the system libffi library + AC_MSG_CHECKING(for --with-system-ffi) +diff --git a/setup.py b/setup.py +index f51ef8c..c68f6b4 100644 +--- a/setup.py ++++ b/setup.py +@@ -1483,7 +1483,7 @@ class PyBuildExt(build_ext): + # + # More information on Expat can be found at www.libexpat.org. + # +- if '--with-system-expat' in sysconfig.get_config_var("CONFIG_ARGS"): ++ if '--with-expat=system' in sysconfig.get_config_var("CONFIG_ARGS"): + expat_inc = [] + define_macros = [] + expat_lib = ['expat'] +-- +2.7.4 + diff --git a/package/python/0023-Add-an-option-to-disable-CJK-codecs.patch b/package/python/0023-Add-an-option-to-disable-CJK-codecs.patch new file mode 100644 index 0000000000..e2c2d98b30 --- /dev/null +++ b/package/python/0023-Add-an-option-to-disable-CJK-codecs.patch @@ -0,0 +1,30 @@ +From cb848dae763a3f57e31d734d3be6889f660fa0d0 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 7 Mar 2017 22:29:31 +0100 +Subject: [PATCH] Add an option to disable CJK codecs + +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 63ee545..6a854ab 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2822,6 +2822,12 @@ if test "$SQLITE3" = "no" ; then + DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" + fi + ++AC_ARG_ENABLE(codecs-cjk, ++ AS_HELP_STRING([--disable-codecs-cjk], [disable CJK codecs]), ++ [ if test "$enableval" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _codecs_kr _codecs_jp _codecs_cn _codecs_tw _codecs_hk" ++ fi]) ++ + AC_SUBST(TK) + AC_ARG_ENABLE(tk, + AS_HELP_STRING([--disable-tk], [disable tk]), +-- +2.7.4 + diff --git a/package/python/0024-Add-an-option-to-disable-NIS.patch b/package/python/0024-Add-an-option-to-disable-NIS.patch new file mode 100644 index 0000000000..877dfd965c --- /dev/null +++ b/package/python/0024-Add-an-option-to-disable-NIS.patch @@ -0,0 +1,33 @@ +From 133776d396b8eaf0243484dc990a53576de9685f Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 7 Mar 2017 22:29:41 +0100 +Subject: [PATCH] Add an option to disable NIS + +NIS is not necessarily available in uClibc, so we need an option to +not compile support for it. + +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 6a854ab..4c2cbc1 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2828,6 +2828,12 @@ AC_ARG_ENABLE(codecs-cjk, + DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _codecs_kr _codecs_jp _codecs_cn _codecs_tw _codecs_hk" + fi]) + ++AC_ARG_ENABLE(nis, ++ AS_HELP_STRING([--disable-nis], [disable NIS]), ++ [ if test "$enableval" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis" ++ fi]) ++ + AC_SUBST(TK) + AC_ARG_ENABLE(tk, + AS_HELP_STRING([--disable-tk], [disable tk]), +-- +2.7.4 + diff --git a/package/python/0025-Add-an-option-to-disable-unicodedata.patch b/package/python/0025-Add-an-option-to-disable-unicodedata.patch new file mode 100644 index 0000000000..a1255e5684 --- /dev/null +++ b/package/python/0025-Add-an-option-to-disable-unicodedata.patch @@ -0,0 +1,30 @@ +From aa78e3684c0e8f7a5e910e838f9eca2631262048 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 7 Mar 2017 22:29:52 +0100 +Subject: [PATCH] Add an option to disable unicodedata + +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 4c2cbc1..09cb3de 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2834,6 +2834,12 @@ AC_ARG_ENABLE(nis, + DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis" + fi]) + ++AC_ARG_ENABLE(unicodedata, ++ AS_HELP_STRING([--disable-unicodedata], [disable unicodedata]), ++ [ if test "$enableval" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} unicodedata" ++ fi]) ++ + AC_SUBST(TK) + AC_ARG_ENABLE(tk, + AS_HELP_STRING([--disable-tk], [disable tk]), +-- +2.7.4 + diff --git a/package/python/0026-Add-an-option-to-disable-bsddb.patch b/package/python/0026-Add-an-option-to-disable-bsddb.patch new file mode 100644 index 0000000000..e3ccd44986 --- /dev/null +++ b/package/python/0026-Add-an-option-to-disable-bsddb.patch @@ -0,0 +1,85 @@ +From cfad2bcae8f572a9422ce5a6adb4caa7c0e521ad Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 7 Mar 2017 22:30:06 +0100 +Subject: [PATCH] Add an option to disable bsddb + +bsddb has an external dependency on Berkeley DB. Since we want to be +able to build Python without it, this patch adds an option to disable +the build/installation of this Python module. + +Signed-off-by: Thomas Petazzoni +Signed-off-by: Samuel Martin +--- + Makefile.pre.in | 8 ++++++-- + configure.ac | 22 ++++++++++++++++++++++ + 2 files changed, 28 insertions(+), 2 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index e5d0dd7..2582574 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1043,7 +1043,7 @@ LIBSUBDIRS= site-packages \ + email email/mime \ + ensurepip ensurepip/_bundled \ + json \ +- logging bsddb csv importlib wsgiref \ ++ logging csv importlib wsgiref \ + ctypes ctypes/macholib \ + idlelib idlelib/Icons \ + distutils distutils/command \ +@@ -1059,7 +1059,6 @@ TESTSUBDIRS = test test/audiodata test/capath test/data \ + test/tracedmodules \ + email/test email/test/data \ + json/tests \ +- bsddb/test \ + ctypes/test \ + idlelib/idle_test \ + distutils/tests \ +@@ -1100,6 +1099,11 @@ ifeq (@EXPAT@,yes) + LIBSUBDIRS += $(XMLLIBSUBDIRS) + endif + ++ifeq (@BSDDB@,yes) ++LIBSUBDIRS += bsddb ++TESTSUBDIRS += bsddb/test ++endif ++ + libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c + @for i in $(SCRIPTDIR) $(LIBDEST); \ + do \ +diff --git a/configure.ac b/configure.ac +index 09cb3de..524614c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2834,6 +2834,28 @@ AC_ARG_ENABLE(nis, + DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis" + fi]) + ++AC_ARG_ENABLE(dbm, ++ AS_HELP_STRING([--disable-dbm], [disable DBM]), ++ [ if test "$enableval" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} dbm" ++ fi]) ++ ++AC_ARG_ENABLE(gdbm, ++ AS_HELP_STRING([--disable-gdbm], [disable GDBM]), ++ [ if test "$enableval" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} gdbm" ++ fi]) ++ ++AC_SUBST(BSDDB) ++AC_ARG_ENABLE(bsddb, ++ AS_HELP_STRING([--disable-bsddb], [disable BerkeyleyDB]), ++ [ if test "$enableval" = "no"; then ++ BSDDB=no ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _bsddb" ++ else ++ BSDDB=yes ++ fi], [ BSDDB=yes ]) ++ + AC_ARG_ENABLE(unicodedata, + AS_HELP_STRING([--disable-unicodedata], [disable unicodedata]), + [ if test "$enableval" = "no"; then +-- +2.7.4 + diff --git a/package/python/0027-Add-an-option-to-disable-the-ssl-module.patch b/package/python/0027-Add-an-option-to-disable-the-ssl-module.patch new file mode 100644 index 0000000000..5f2fb87b12 --- /dev/null +++ b/package/python/0027-Add-an-option-to-disable-the-ssl-module.patch @@ -0,0 +1,30 @@ +From fc16ab40e3e6a5b4deed2fa7c5475fa216ff8d17 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 7 Mar 2017 22:30:22 +0100 +Subject: [PATCH] Add an option to disable the ssl module + +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 524614c..cadac82 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2834,6 +2834,12 @@ AC_ARG_ENABLE(nis, + DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis" + fi]) + ++AC_ARG_ENABLE(ssl, ++ AS_HELP_STRING([--disable-ssl], [disable SSL]), ++ [ if test "$enableval" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _ssl" ++ fi]) ++ + AC_ARG_ENABLE(dbm, + AS_HELP_STRING([--disable-dbm], [disable DBM]), + [ if test "$enableval" = "no"; then +-- +2.7.4 + diff --git a/package/python/0028-Add-an-option-to-disable-the-bz2-module.patch b/package/python/0028-Add-an-option-to-disable-the-bz2-module.patch new file mode 100644 index 0000000000..da914b4783 --- /dev/null +++ b/package/python/0028-Add-an-option-to-disable-the-bz2-module.patch @@ -0,0 +1,30 @@ +From 6b10788fa040442ace100c3a28cbfff29c9db471 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 7 Mar 2017 22:30:33 +0100 +Subject: [PATCH] Add an option to disable the bz2 module + +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 743707a..f1762e9 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2840,6 +2840,12 @@ AC_ARG_ENABLE(ssl, + DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ssl" + fi]) + ++AC_ARG_ENABLE(bz2, ++ AS_HELP_STRING([--disable-bz2], [disable BZIP2]), ++ [ if test "$enableval" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} bz2" ++ fi]) ++ + AC_ARG_ENABLE(dbm, + AS_HELP_STRING([--disable-dbm], [disable DBM]), + [ if test "$enableval" = "no"; then +-- +2.7.4 + diff --git a/package/python/0029-Add-an-option-to-disable-the-zlib-module.patch b/package/python/0029-Add-an-option-to-disable-the-zlib-module.patch new file mode 100644 index 0000000000..b4354e27d2 --- /dev/null +++ b/package/python/0029-Add-an-option-to-disable-the-zlib-module.patch @@ -0,0 +1,30 @@ +From af2c56aa0a5900272cc2d04ce667d4b38e34b596 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 7 Mar 2017 22:30:45 +0100 +Subject: [PATCH] Add an option to disable the zlib module + +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/configure.ac b/configure.ac +index f1762e9..291ba35 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2846,6 +2846,12 @@ AC_ARG_ENABLE(bz2, + DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} bz2" + fi]) + ++AC_ARG_ENABLE(zlib, ++ AS_HELP_STRING([--disable-zlib], [disable ZLIB]), ++ [ if test "$enableval" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} zlib" ++ fi]) ++ + AC_ARG_ENABLE(dbm, + AS_HELP_STRING([--disable-dbm], [disable DBM]), + [ if test "$enableval" = "no"; then +-- +2.7.4 + diff --git a/package/python/0030-Do-not-install-the-idle-editor.patch b/package/python/0030-Do-not-install-the-idle-editor.patch new file mode 100644 index 0000000000..60e64c885f --- /dev/null +++ b/package/python/0030-Do-not-install-the-idle-editor.patch @@ -0,0 +1,53 @@ +From 4b7c45c756dccfd3b5ece36fe572042353d1c2f0 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 7 Mar 2017 22:30:56 +0100 +Subject: [PATCH] Do not install the idle editor + +IDLE is the Python IDE built with the tkinter GUI toolkit. Since it's +highly unlikely to ever be useful in an embedded Linux system +generated by Buildroot, this patch simply disables the installation of +idle and the related Python modules. It saves 800 KB-900 KB of +installed .pyc files. + +Signed-off-by: Thomas Petazzoni +--- + Makefile.pre.in | 2 -- + setup.py | 2 +- + 2 files changed, 1 insertion(+), 3 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index 2582574..3cfc590 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1045,7 +1045,6 @@ LIBSUBDIRS= site-packages \ + json \ + logging csv importlib wsgiref \ + ctypes ctypes/macholib \ +- idlelib idlelib/Icons \ + distutils distutils/command \ + multiprocessing multiprocessing/dummy \ + unittest \ +@@ -1060,7 +1059,6 @@ TESTSUBDIRS = test test/audiodata test/capath test/data \ + email/test email/test/data \ + json/tests \ + ctypes/test \ +- idlelib/idle_test \ + distutils/tests \ + unittest/test + +diff --git a/setup.py b/setup.py +index c68f6b4..8045a9b 100644 +--- a/setup.py ++++ b/setup.py +@@ -2234,7 +2234,7 @@ def main(): + import warnings + warnings.filterwarnings("ignore",category=DeprecationWarning) + +- scripts = ['Tools/scripts/idle', 'Lib/smtpd.py'] ++ scripts = ['Lib/smtpd.py'] + if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"): + scripts += [ 'Tools/scripts/pydoc' ] + if not '--disable-lib2to3' in sysconfig.get_config_var("CONFIG_ARGS"): +-- +2.7.4 + diff --git a/package/python/0031-Add-an-option-to-disable-the-ossaudiodev-module.patch b/package/python/0031-Add-an-option-to-disable-the-ossaudiodev-module.patch new file mode 100644 index 0000000000..c2aea5ede7 --- /dev/null +++ b/package/python/0031-Add-an-option-to-disable-the-ossaudiodev-module.patch @@ -0,0 +1,30 @@ +From 6af0f179d3db956146bbabac8748675e3abc1f78 Mon Sep 17 00:00:00 2001 +From: Zoltan Gyarmati +Date: Tue, 7 Mar 2017 22:31:22 +0100 +Subject: [PATCH] Add an option to disable the ossaudiodev module + +Signed-off-by: Zoltan Gyarmati +--- + configure.ac | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 291ba35..8dc573e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2898,6 +2898,12 @@ if test "$CURSES" = "no"; then + DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _curses _curses_panel" + fi + ++AC_ARG_ENABLE(ossaudiodev, ++ AS_HELP_STRING([--disable-ossaudiodev], [disable OSSAUDIODEV]), ++ [ if test "$enableval" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ossaudiodev" ++ fi]) ++ + AC_SUBST(PYDOC) + + AC_ARG_ENABLE(pydoc, +-- +2.7.4 + diff --git a/package/python/0032-Add-option-to-disable-the-hashlib-module.patch b/package/python/0032-Add-option-to-disable-the-hashlib-module.patch new file mode 100644 index 0000000000..bb3ccfa765 --- /dev/null +++ b/package/python/0032-Add-option-to-disable-the-hashlib-module.patch @@ -0,0 +1,30 @@ +From f11dc326ae216911a67bd563b619f39522c14bf2 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 7 Mar 2017 22:33:02 +0100 +Subject: [PATCH] Add option to disable the hashlib module + +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 8dc573e..854724d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2840,6 +2840,12 @@ AC_ARG_ENABLE(ssl, + DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ssl" + fi]) + ++AC_ARG_ENABLE(hashlib, ++ AS_HELP_STRING([--disable-hashlib], [disable hashlib]), ++ [ if test "$enableval" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _hashlib" ++ fi]) ++ + AC_ARG_ENABLE(bz2, + AS_HELP_STRING([--disable-bz2], [disable BZIP2]), + [ if test "$enableval" = "no"; then +-- +2.7.4 + diff --git a/package/python/0033-Add-an-option-to-disable-readline-module.patch b/package/python/0033-Add-an-option-to-disable-readline-module.patch new file mode 100644 index 0000000000..ade729fb37 --- /dev/null +++ b/package/python/0033-Add-an-option-to-disable-readline-module.patch @@ -0,0 +1,30 @@ +From 6b461f698bd33b3493207baf79f4ee02286be8e8 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 7 Mar 2017 22:33:55 +0100 +Subject: [PATCH] Add an option to disable readline module + +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 854724d..0a06497 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2846,6 +2846,12 @@ AC_ARG_ENABLE(hashlib, + DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _hashlib" + fi]) + ++AC_ARG_ENABLE(readline, ++ AS_HELP_STRING([--disable-readline], [disable readline]), ++ [ if test "$enableval" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} readline" ++ fi]) ++ + AC_ARG_ENABLE(bz2, + AS_HELP_STRING([--disable-bz2], [disable BZIP2]), + [ if test "$enableval" = "no"; then +-- +2.7.4 + diff --git a/package/python/0034-Override-system-locale-and-set-to-default-when-addin.patch b/package/python/0034-Override-system-locale-and-set-to-default-when-addin.patch new file mode 100644 index 0000000000..8fe722bc6c --- /dev/null +++ b/package/python/0034-Override-system-locale-and-set-to-default-when-addin.patch @@ -0,0 +1,37 @@ +From d2bfa8805206db8c57c182094396d20a9d94bd8f Mon Sep 17 00:00:00 2001 +From: Samuel Cabrero +Date: Sat, 1 Apr 2017 09:31:52 +0200 +Subject: [PATCH] Override system locale and set to default when adding gcc + paths + +Forces the use of the default locale in the function +add_gcc_paths, which is called when cross compiling to add the +include and library paths. This is necessary because otherwise +the gcc output is localized and the output parsing fails, which +results in no paths added and detect_modules not able to find +any system library (eg. libz, libssl, etc.) + +[Thomas: patch taken from https://bugs.python.org/issue23767.] + +Signed-off-by: Samuel Cabrero +Signed-off-by: Thomas Petazzoni +--- + setup.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 8045a9b..c14f4ab 100644 +--- a/setup.py ++++ b/setup.py +@@ -430,7 +430,7 @@ class PyBuildExt(build_ext): + tmpfile = os.path.join(self.build_temp, 'gccpaths') + if not os.path.exists(self.build_temp): + os.makedirs(self.build_temp) +- ret = os.system('%s -E -v - %s 1>/dev/null' % (gcc, tmpfile)) ++ ret = os.system('LC_ALL=C %s -E -v - %s 1>/dev/null' % (gcc, tmpfile)) + is_gcc = False + in_incdirs = False + inc_dirs = [] +-- +2.7.4 + diff --git a/package/python/004-sysconfigdata-install-location.patch b/package/python/004-sysconfigdata-install-location.patch deleted file mode 100644 index 2998364fbf..0000000000 --- a/package/python/004-sysconfigdata-install-location.patch +++ /dev/null @@ -1,76 +0,0 @@ -Change the install location of _sysconfigdata.py - -The _sysconfigdata.py module contains definitions that are needed when -building Python modules. In cross-compilation mode, when building -Python extensions for the target, we need to use the _sysconfigdata.py -of the target Python while executing the host Python. - -However until now, the _sysconfigdata.py module was installed in -build/lib.- directory, together with a number of -architecture-specific shared objects, which cannot be used with the -host Python. - -To solve this problem, this patch moves _sysconfigdata.py to a -separate location, build/sysconfigdata.-/, and only -this directory gets added to the PYTHONPATH of the host Python -interpreter when building Python modules for the target. - -Signed-off-by: Thomas Petazzoni - -Index: b/Makefile.pre.in -=================================================================== ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -462,6 +462,9 @@ - rm -f ./pybuilddir.txt ; \ - exit 1 ; \ - fi -+ echo `cat pybuilddir.txt`/sysconfigdata > pysysconfigdatadir.txt -+ mkdir -p `cat pysysconfigdatadir.txt` -+ cp `cat pybuilddir.txt`/_sysconfigdata.py `cat pysysconfigdatadir.txt` - - # Build the shared modules - # Under GNU make, MAKEFLAGS are sorted and normalized; the 's' for -@@ -1002,7 +1005,7 @@ - else true; \ - fi; \ - done -- @for i in $(srcdir)/Lib/*.py `cat pybuilddir.txt`/_sysconfigdata.py $(srcdir)/Lib/*.doc $(srcdir)/Lib/*.egg-info ; \ -+ @for i in $(srcdir)/Lib/*.py $(srcdir)/Lib/*.doc $(srcdir)/Lib/*.egg-info ; \ - do \ - if test -x $$i; then \ - $(INSTALL_SCRIPT) $$i $(DESTDIR)$(LIBDEST); \ -@@ -1012,6 +1015,11 @@ - echo $(INSTALL_DATA) $$i $(LIBDEST); \ - fi; \ - done -+ $(INSTALL_DATA) `cat pysysconfigdatadir.txt`/_sysconfigdata.py \ -+ $(DESTDIR)$(LIBDEST) -+ mkdir -p $(DESTDIR)$(LIBDEST)/sysconfigdata -+ $(INSTALL_DATA) `cat pysysconfigdatadir.txt`/_sysconfigdata.py \ -+ $(DESTDIR)$(LIBDEST)/sysconfigdata - @for d in $(LIBSUBDIRS); \ - do \ - a=$(srcdir)/Lib/$$d; \ -@@ -1337,7 +1345,7 @@ - Modules/Setup Modules/Setup.local Modules/Setup.config \ - Modules/ld_so_aix Modules/python.exp Misc/python.pc - -rm -f python*-gdb.py -- -rm -f pybuilddir.txt -+ -rm -f pybuilddir.txt pysysconfigdatadir.txt - # Issue #28258: set LC_ALL to avoid issues with Estonian locale. - # Expansion is performed here by shell (spawned by make) itself before - # arguments are passed to find. So LC_ALL=C must be set as a separate -Index: b/configure.ac -=================================================================== ---- a/configure.ac -+++ b/configure.ac -@@ -33,7 +33,7 @@ - AC_MSG_ERROR([python$PACKAGE_VERSION interpreter not found]) - fi - AC_MSG_RESULT($interp) -- PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/$(PLATDIR) '$interp -+ PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pysysconfigdatadir.txt && echo $(abs_builddir)/`cat pysysconfigdatadir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/$(PLATDIR) '$interp - fi - elif test "$cross_compiling" = maybe; then - AC_MSG_ERROR([Cross compiling required --host=HOST-TUPLE and --build=ARCH]) diff --git a/package/python/005-pyc-pyo-conditional.patch b/package/python/005-pyc-pyo-conditional.patch deleted file mode 100644 index 1b677dfb11..0000000000 --- a/package/python/005-pyc-pyo-conditional.patch +++ /dev/null @@ -1,59 +0,0 @@ -Index: b/Makefile.pre.in -=================================================================== ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1050,24 +1050,32 @@ - $(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \ - $(DESTDIR)$(LIBDEST)/distutils/tests ; \ - fi -+ifeq (@PYC_BUILD@,yes) - PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ - $(PYTHON_FOR_BUILD) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \ - -d $(LIBDEST) -f \ - -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \ - $(DESTDIR)$(LIBDEST) -+endif -+ifeq (@PYO_BUILD@,yes) - PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ - $(PYTHON_FOR_BUILD) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \ - -d $(LIBDEST) -f \ - -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \ - $(DESTDIR)$(LIBDEST) -+endif -+ifeq (@PYC_BUILD@,yes) - -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ - $(PYTHON_FOR_BUILD) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \ - -d $(LIBDEST)/site-packages -f \ - -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages -+endif -+ifeq (@PYO_BUILD@,yes) - -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ - $(PYTHON_FOR_BUILD) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \ - -d $(LIBDEST)/site-packages -f \ - -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages -+endif - -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ - $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt - -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ -Index: b/configure.ac -=================================================================== ---- a/configure.ac -+++ b/configure.ac -@@ -739,6 +739,17 @@ - ;; - esac - -+AC_SUBST(PYC_BUILD) -+ -+AC_ARG_ENABLE(pyc-build, -+ AS_HELP_STRING([--disable-pyc-build], [disable build of pyc files]), -+ [ PYC_BUILD="${enableval}" ], [ PYC_BUILD=yes ]) -+ -+AC_SUBST(PYO_BUILD) -+ -+AC_ARG_ENABLE(pyo-build, -+ AS_HELP_STRING([--disable-pyo-build], [disable build of pyo files]), -+ [ PYO_BUILD="${enableval}" ], [ PYO_BUILD=yes ]) - - AC_SUBST(LIBRARY) - AC_MSG_CHECKING(LIBRARY) diff --git a/package/python/006-cross-compile-getaddrinfo.patch b/package/python/006-cross-compile-getaddrinfo.patch deleted file mode 100644 index dd44ec1558..0000000000 --- a/package/python/006-cross-compile-getaddrinfo.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: b/configure.ac -=================================================================== ---- a/configure.ac -+++ b/configure.ac -@@ -3353,7 +3353,7 @@ - - AC_MSG_RESULT($ac_cv_buggy_getaddrinfo) - --if test $have_getaddrinfo = no -o "$ac_cv_buggy_getaddrinfo" = yes -+if test $have_getaddrinfo = no || test "$cross_compiling" != "yes" -a "$ac_cv_buggy_getaddrinfo" = yes - then - if test $ipv6 = yes - then diff --git a/package/python/007-disable-extensions.patch b/package/python/007-disable-extensions.patch deleted file mode 100644 index 9365cb1f5b..0000000000 --- a/package/python/007-disable-extensions.patch +++ /dev/null @@ -1,60 +0,0 @@ -Index: b/Makefile.pre.in -=================================================================== ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -156,6 +156,8 @@ - # configure script arguments - CONFIG_ARGS= @CONFIG_ARGS@ - -+# disabled extensions -+DISABLED_EXTENSIONS= @DISABLED_EXTENSIONS@ - - # Subdirectories with code - SRCDIRS= @SRCDIRS@ -@@ -477,6 +479,7 @@ - esac; \ - $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \ - _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \ -+ DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" \ - $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build - - # Build static library -@@ -1191,7 +1194,8 @@ - # Install the dynamically loadable modules - # This goes into $(exec_prefix) - sharedinstall: sharedmods -- $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \ -+ $(RUNSHARED) DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" \ -+ $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \ - --prefix=$(prefix) \ - --install-scripts=$(BINDIR) \ - --install-platlib=$(DESTSHARED) \ -Index: b/configure.ac -=================================================================== ---- a/configure.ac -+++ b/configure.ac -@@ -2290,6 +2290,8 @@ - - PKG_PROG_PKG_CONFIG - -+AC_SUBST(DISABLED_EXTENSIONS) -+ - # Check for use of the system expat library - AC_MSG_CHECKING(for --with-system-expat) - AC_ARG_WITH(system_expat, -Index: b/setup.py -=================================================================== ---- a/setup.py -+++ b/setup.py -@@ -33,7 +33,10 @@ - COMPILED_WITH_PYDEBUG = ('--with-pydebug' in sysconfig.get_config_var("CONFIG_ARGS")) - - # This global variable is used to hold the list of modules to be disabled. --disabled_module_list = [] -+try: -+ disabled_module_list = sysconfig.get_config_var("DISABLED_EXTENSIONS").split(" ") -+except KeyError: -+ disabled_module_list = list() - - def add_dir_to_list(dirlist, dir): - """Add the directory 'dir' to the list 'dirlist' (at the front) if diff --git a/package/python/008-distutils-use-python-sysroot.patch b/package/python/008-distutils-use-python-sysroot.patch deleted file mode 100644 index 7cd748761a..0000000000 --- a/package/python/008-distutils-use-python-sysroot.patch +++ /dev/null @@ -1,54 +0,0 @@ -Adjust library/header paths for cross-compilation - -When cross-compiling third-party extensions, the get_python_inc() or -get_python_lib() can be called, to return the path to headers or -libraries. However, they use the sys.prefix of the host Python, which -returns incorrect paths when cross-compiling (paths pointing to host -headers and libraries). - -In order to fix this, we introduce the _python_sysroot, _python_prefix -and _python_exec_prefix variables, that allow to override these -values, and get correct header/library paths when cross-compiling -third-party Python modules. - -The _python_sysroot variable is also used to prefix the LIBDIR value -taken from the sysconfigdata module. - -Signed-off-by: Thomas Petazzoni - -Index: b/Lib/distutils/sysconfig.py -=================================================================== ---- a/Lib/distutils/sysconfig.py -+++ b/Lib/distutils/sysconfig.py -@@ -19,8 +19,13 @@ - from distutils.errors import DistutilsPlatformError - - # These are needed in a couple of spots, so just compute them once. --PREFIX = os.path.normpath(sys.prefix) --EXEC_PREFIX = os.path.normpath(sys.exec_prefix) -+if "_python_sysroot" in os.environ: -+ _sysroot=os.environ.get('_python_sysroot') -+ PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_prefix')) -+ EXEC_PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_exec_prefix')) -+else: -+ PREFIX = os.path.normpath(sys.prefix) -+ EXEC_PREFIX = os.path.normpath(sys.exec_prefix) - - # Path to the base directory of the project. On Windows the binary may - # live in project/PCBuild9. If we're dealing with an x64 Windows build, -Index: b/Lib/distutils/command/build_ext.py -=================================================================== ---- a/Lib/distutils/command/build_ext.py -+++ b/Lib/distutils/command/build_ext.py -@@ -237,7 +237,10 @@ - if (sysconfig.get_config_var('Py_ENABLE_SHARED')): - if not sysconfig.python_build: - # building third party extensions -- self.library_dirs.append(sysconfig.get_config_var('LIBDIR')) -+ libdir = sysconfig.get_config_var('LIBDIR') -+ if "_python_sysroot" in os.environ: -+ libdir = os.environ.get("_python_sysroot") + libdir -+ self.library_dirs.append(libdir) - else: - # building python standard extensions - self.library_dirs.append('.') diff --git a/package/python/009-no-termcap-host-path.patch b/package/python/009-no-termcap-host-path.patch deleted file mode 100644 index 781e17952f..0000000000 --- a/package/python/009-no-termcap-host-path.patch +++ /dev/null @@ -1,23 +0,0 @@ -Don't look in /usr/lib/termcap for libraries - -Signed-off-by: Thomas Petazzoni - - -Index: b/setup.py -=================================================================== ---- a/setup.py -+++ b/setup.py -@@ -764,12 +764,9 @@ - pass # Issue 7384: Already linked against curses or tinfo. - elif curses_library: - readline_libs.append(curses_library) -- elif self.compiler.find_library_file(lib_dirs + -- ['/usr/lib/termcap'], -- 'termcap'): -+ elif self.compiler.find_library_file(lib_dirs, 'termcap'): - readline_libs.append('termcap') - exts.append( Extension('readline', ['readline.c'], -- library_dirs=['/usr/lib/termcap'], - extra_link_args=readline_extra_link_args, - libraries=readline_libs) ) - else: diff --git a/package/python/010-fix-python-config.patch b/package/python/010-fix-python-config.patch deleted file mode 100644 index b40339b42d..0000000000 --- a/package/python/010-fix-python-config.patch +++ /dev/null @@ -1,208 +0,0 @@ -Add a backport of http://bugs.python.org/issue16235 so we can use -python-config for cross builds. -This basically replaces the python version of python-config with a pure-shell -version that's already preprocessed when installed and doesn't depend -on the sysconfig import that usually leads to bad data/results. - -Signed-off-by: Gustavo Zacarias - -Index: b/configure.ac -=================================================================== ---- a/configure.ac -+++ b/configure.ac -@@ -885,6 +885,7 @@ - - # Other platforms follow - if test $enable_shared = "yes"; then -+ PY_ENABLE_SHARED=1 - AC_DEFINE(Py_ENABLE_SHARED, 1, [Defined if Python is built as a shared library.]) - case $ac_sys_system in - BeOS*) -@@ -945,6 +946,7 @@ - - esac - else # shared is disabled -+ PY_ENABLE_SHARED=0 - case $ac_sys_system in - CYGWIN*) - BLDLIBRARY='$(LIBRARY)' -@@ -1921,6 +1923,9 @@ - AC_SUBST(BLDSHARED) - AC_SUBST(CCSHARED) - AC_SUBST(LINKFORSHARED) -+AC_SUBST(PY_ENABLE_SHARED) -+LIBPL="${prefix}/lib/python${VERSION}/config" -+AC_SUBST(LIBPL) - # SO is the extension of shared libraries `(including the dot!) - # -- usually .so, .sl on HP-UX, .dll on Cygwin - AC_MSG_CHECKING(SO) -@@ -4588,7 +4593,7 @@ - AC_SUBST(ENSUREPIP) - - # generate output files --AC_CONFIG_FILES(Makefile.pre Modules/Setup.config Misc/python.pc) -+AC_CONFIG_FILES(Makefile.pre Modules/Setup.config Misc/python.pc Misc/python-config.sh) - AC_CONFIG_FILES([Modules/ld_so_aix], [chmod +x Modules/ld_so_aix]) - AC_OUTPUT - -Index: b/Makefile.pre.in -=================================================================== ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -166,7 +166,7 @@ - SUBDIRSTOO= Include Lib Misc Demo - - # Files and directories to be distributed --CONFIGFILES= configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in -+CONFIGFILES= configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in Misc/python-config.sh - DISTFILES= README ChangeLog $(CONFIGFILES) - DISTDIRS= $(SUBDIRS) $(SUBDIRSTOO) Ext-dummy - DIST= $(DISTFILES) $(DISTDIRS) -@@ -410,7 +410,7 @@ - - # Default target - all: @DEF_MAKE_ALL_RULE@ --build_all: $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks -+build_all: $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks python-config - - # Compile a binary with gcc profile guided optimization. - profile-opt: -@@ -1101,10 +1101,12 @@ - fi; \ - cd $(srcdir)/Lib/$(PLATDIR); $(RUNSHARED) ./regen - --python-config: $(srcdir)/Misc/python-config.in -+python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh - # Substitution happens here, as the completely-expanded BINDIR - # is not available in configure -- sed -e "s,@EXENAME@,$(BINDIR)/python$(VERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config -+ sed -e "s,@EXENAME@,$(BINDIR)/python$(VERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config.py -+ # Replace makefile compat. variable references with shell script compat. ones; $(VAR) -> ${VAR} -+ sed -e 's,\$$(\([A-Za-z0-9_]*\)),\$$\{\1\},g' Misc/python-config.sh >python-config - - # Install the include files - INCLDIRSTOMAKE=$(INCLUDEDIR) $(CONFINCLUDEDIR) $(INCLUDEPY) $(CONFINCLUDEPY) -@@ -1163,7 +1165,7 @@ - $(INSTALL_SCRIPT) $(srcdir)/Modules/makesetup $(DESTDIR)$(LIBPL)/makesetup - $(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(LIBPL)/install-sh - $(INSTALL_SCRIPT) python-config $(DESTDIR)$(BINDIR)/python$(VERSION)-config -- rm python-config -+ $(INSTALL_SCRIPT) python-config.py $(DESTDIR)$(LIBPL)/python-config.py - @if [ -s Modules/python.exp -a \ - "`echo $(MACHDEP) | sed 's/^\(...\).*/\1/'`" = "aix" ]; then \ - echo; echo "Installing support files for building shared extension modules on AIX:"; \ -@@ -1345,6 +1347,7 @@ - config.cache config.log pyconfig.h Modules/config.c - -rm -rf build platform - -rm -rf $(PYTHONFRAMEWORKDIR) -+ -rm -f python-config.py python-config - - # Make things extra clean, before making a distribution: - # remove all generated files, even Makefile[.pre] -Index: b/Misc/python-config.sh.in -=================================================================== ---- /dev/null -+++ b/Misc/python-config.sh.in -@@ -0,0 +1,102 @@ -+#!/bin/sh -+ -+exit_with_usage () -+{ -+ echo "Usage: $0 --prefix|--exec-prefix|--includes|--libs|--cflags|--ldflags|--extension-suffix|--help|--configdir" -+ exit $1 -+} -+ -+if [ "$1" = "" ] ; then -+ exit_with_usage 1 -+fi -+ -+# Returns the actual prefix where this script was installed to. -+installed_prefix () -+{ -+ RESULT=$(dirname $(cd $(dirname "$1") && pwd -P)) -+ if which readlink >/dev/null 2>&1 ; then -+ RESULT=$(readlink -f "$RESULT") -+ fi -+ echo $RESULT -+} -+ -+prefix_build="@prefix@" -+prefix_real=$(installed_prefix "$0") -+ -+# Use sed to fix paths from their built to locations to their installed to locations. -+prefix=$(echo "$prefix_build" | sed "s#$prefix_build#$prefix_real#") -+exec_prefix_build="@exec_prefix@" -+exec_prefix=$(echo "$exec_prefix_build" | sed "s#$exec_prefix_build#$prefix_real#") -+includedir=$(echo "@includedir@") -+libdir=$(echo "@libdir@" | sed "s#$prefix_build#$prefix_real#") -+CFLAGS=$(echo "@CFLAGS@" | sed "s#$prefix_build#$prefix_real#") -+VERSION="@VERSION@" -+LIBM="@LIBM@" -+LIBC="@LIBC@" -+SYSLIBS="$LIBM $LIBC" -+LIBS="@LIBS@ $SYSLIBS -lpython${VERSION}" -+BASECFLAGS="@BASECFLAGS@" -+LDLIBRARY="@LDLIBRARY@" -+LINKFORSHARED="@LINKFORSHARED@" -+OPT="@OPT@" -+PY_ENABLE_SHARED="@PY_ENABLE_SHARED@" -+LDVERSION="@LDVERSION@" -+LIBDEST=${prefix}/lib/python${VERSION} -+LIBPL=$(echo "@LIBPL@" | sed "s#$prefix_build#$prefix_real#") -+SO="@SO@" -+PYTHONFRAMEWORK="@PYTHONFRAMEWORK@" -+INCDIR="-I$includedir/python${VERSION}" -+PLATINCDIR="-I$includedir/python${VERSION}" -+ -+# Scan for --help or unknown argument. -+for ARG in $* -+do -+ case $ARG in -+ --help) -+ exit_with_usage 0 -+ ;; -+ --prefix|--exec-prefix|--includes|--libs|--cflags|--ldflags|--extension-suffix|--abiflags|--configdir) -+ ;; -+ *) -+ exit_with_usage 1 -+ ;; -+esac -+done -+ -+for ARG in "$@" -+do -+ case "$ARG" in -+ --prefix) -+ echo "$prefix" -+ ;; -+ --exec-prefix) -+ echo "$exec_prefix" -+ ;; -+ --includes) -+ echo "$INCDIR $PLATINCDIR" -+ ;; -+ --cflags) -+ echo "$INCDIR $PLATINCDIR $BASECFLAGS $CFLAGS $OPT" -+ ;; -+ --libs) -+ echo "$LIBS" -+ ;; -+ --ldflags) -+ LINKFORSHAREDUSED= -+ if [ -z "$PYTHONFRAMEWORK" ] ; then -+ LINKFORSHAREDUSED=$LINKFORSHARED -+ fi -+ LIBPLUSED= -+ if [ "$PY_ENABLE_SHARED" = "0" ] ; then -+ LIBPLUSED="-L$LIBPL" -+ fi -+ echo "$LIBPLUSED -L$libdir $LIBS $LINKFORSHAREDUSED" -+ ;; -+ --extension-suffix) -+ echo "$SO" -+ ;; -+ --configdir) -+ echo "$LIBPL" -+ ;; -+esac -+done diff --git a/package/python/011-remove-python-symlink.patch b/package/python/011-remove-python-symlink.patch deleted file mode 100644 index e021d8320a..0000000000 --- a/package/python/011-remove-python-symlink.patch +++ /dev/null @@ -1,32 +0,0 @@ -Remove the python symlink install rules. - -The python symlink installation will be handled by Buildroot itself, because -Buildroot needs to control to what python interpreter (python2 or python3) the -python symlink points to. - -Signed-off-by: Samuel Martin -Signed-off-by: Bernd Kuhls -(rebased against version 2.7.12) - -Index: b/Makefile.pre.in -=================================================================== ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -974,17 +974,10 @@ - echo "Creating directory $(LIBPC)"; \ - $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$(LIBPC); \ - fi -- -if test -f $(DESTDIR)$(BINDIR)/$(PYTHON) -o -h $(DESTDIR)$(BINDIR)/$(PYTHON); \ -- then rm -f $(DESTDIR)$(BINDIR)/$(PYTHON); \ -- else true; \ -- fi -- (cd $(DESTDIR)$(BINDIR); $(LN) -s python2$(EXE) $(PYTHON)) - -rm -f $(DESTDIR)$(BINDIR)/python2$(EXE) - (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)$(EXE) python2$(EXE)) - -rm -f $(DESTDIR)$(BINDIR)/python2-config - (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-config python2-config) -- -rm -f $(DESTDIR)$(BINDIR)/python-config -- (cd $(DESTDIR)$(BINDIR); $(LN) -s python2-config python-config) - -test -d $(DESTDIR)$(LIBPC) || $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$(LIBPC) - -rm -f $(DESTDIR)$(LIBPC)/python2.pc - (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python2.pc) diff --git a/package/python/013-dont-add-multiarch-path.patch b/package/python/013-dont-add-multiarch-path.patch deleted file mode 100644 index 94fcb0f7fb..0000000000 --- a/package/python/013-dont-add-multiarch-path.patch +++ /dev/null @@ -1,27 +0,0 @@ -Don't add multiarch paths - -The add_multiarch_paths() function leads, in certain build -environments, to the addition of host header paths to the CFLAGS, -which is not appropriate for cross-compilation. This patch fixes that -by simply removing the call to add_multiarch_paths() when we're -cross-compiling. - -Investigation done by David . - -Signed-off-by: Thomas Petazzoni - -Index: b/setup.py -=================================================================== ---- a/setup.py -+++ b/setup.py -@@ -445,9 +445,9 @@ - if not cross_compiling: - add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') - add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') -+ self.add_multiarch_paths() - if cross_compiling: - self.add_gcc_paths() -- self.add_multiarch_paths() - - # Add paths specified in the environment variables LDFLAGS and - # CPPFLAGS for header and library files. diff --git a/package/python/014-abort-on-failed-modules.patch b/package/python/014-abort-on-failed-modules.patch deleted file mode 100644 index 4bceeb62d7..0000000000 --- a/package/python/014-abort-on-failed-modules.patch +++ /dev/null @@ -1,21 +0,0 @@ -Abort on failed module build - -When building a Python module fails, the setup.py script currently -doesn't exit with an error, and simply continues. This is not a really -nice behavior, so this patch changes setup.py to abort with an error, -so that the build issue is clearly noticeable. - -Signed-off-by: Thomas Petazzoni - -Index: b/setup.py -=================================================================== ---- a/setup.py -+++ b/setup.py -@@ -283,6 +283,7 @@ - print "Failed to build these modules:" - print_three_column(failed) - print -+ sys.exit(1) - - def build_extension(self, ext): - diff --git a/package/python/015-fix-sqlite-without-threads.patch b/package/python/015-fix-sqlite-without-threads.patch deleted file mode 100644 index f51c37b372..0000000000 --- a/package/python/015-fix-sqlite-without-threads.patch +++ /dev/null @@ -1,49 +0,0 @@ -sqlite3: fix build when threads are not used/available - -When threads are not used/available, a function in the sqlite3 extension -ends up with a label at the end: - - void _pysqlite_final_callback(sqlite3_context* context) - { - PyObject* function_result; - PyObject** aggregate_instance; - int ok; - - #ifdef WITH_THREAD - PyGILState_STATE threadstate; - - threadstate = PyGILState_Ensure(); - #endif - - aggregate_instance = (PyObject**)sqlite3_aggregate_context(context, sizeof(PyObject*)); - if (!*aggregate_instance) { - goto error; - } - - [......] - - error: - #ifdef WITH_THREAD - PyGILState_Release(threadstate); - #endif - } - -This is not valid, and gcc complains. - -Fix that by adding a dummy statement after the label, so that the label -is never the last statement of the function. - -Signed-off-by: "Yann E. MORIN" - -Index: b/Modules/_sqlite/connection.c -=================================================================== ---- a/Modules/_sqlite/connection.c -+++ b/Modules/_sqlite/connection.c -@@ -786,6 +786,7 @@ - #ifdef WITH_THREAD - PyGILState_Release(threadstate); - #endif -+ ; /* Make gcc happy: a label can't be at the end of a function */ - } - - static void _pysqlite_drop_unused_statement_references(pysqlite_Connection* self) diff --git a/package/python/016-serial-ioctl-workaround.patch b/package/python/016-serial-ioctl-workaround.patch deleted file mode 100644 index 80ed65e39a..0000000000 --- a/package/python/016-serial-ioctl-workaround.patch +++ /dev/null @@ -1,24 +0,0 @@ -Serial ioctl() workaround - -The ioctls.h of some architectures (notably xtensa) references structs from -linux/serial.h. Make sure to include this header as well. - -Also, undef TIOCTTYGSTRUCT that require reference to internal kernel tty_struct, -but isn't actually referenced in modern kernels. - -Signed-off-by: Baruch Siach ---- -Index: b/Modules/termios.c -=================================================================== ---- a/Modules/termios.c -+++ b/Modules/termios.c -@@ -16,7 +16,9 @@ - * so this needs to be included first on that platform. */ - #include - #endif -+#include - #include -+#undef TIOCTTYGSTRUCT - - /* HP-UX requires that this be included to pick up MDCD, MCTS, MDSR, - * MDTR, MRI, and MRTS (appearantly used internally by some things diff --git a/package/python/017-distutils-scripts-dont-adjust-shebang.patch b/package/python/017-distutils-scripts-dont-adjust-shebang.patch deleted file mode 100644 index da4dc36df5..0000000000 --- a/package/python/017-distutils-scripts-dont-adjust-shebang.patch +++ /dev/null @@ -1,25 +0,0 @@ -Do not adjust the shebang of Python scripts for cross-compilation - -The copy_scripts() method in distutils copies the scripts listed in -the setup file and adjusts the first line to refer to the current -Python interpreter. When cross-compiling, this means that the adjusted -shebang refers to the host Python interpreter. - -This patch modifies copy_scripts() to preserve the shebang when -cross-compilation is detected. - -Signed-off-by: Christophe Vu-Brugier - -Index: b/Lib/distutils/command/build_scripts.py -=================================================================== ---- a/Lib/distutils/command/build_scripts.py -+++ b/Lib/distutils/command/build_scripts.py -@@ -89,7 +89,7 @@ - adjust = 1 - post_interp = match.group(1) or '' - -- if adjust: -+ if adjust and not '_python_sysroot' in os.environ: - log.info("copying and adjusting %s -> %s", script, - self.build_dir) - if not self.dry_run: diff --git a/package/python/018-fix-add-gcc-paths-logic.patch b/package/python/018-fix-add-gcc-paths-logic.patch deleted file mode 100644 index af6efcc38c..0000000000 --- a/package/python/018-fix-add-gcc-paths-logic.patch +++ /dev/null @@ -1,27 +0,0 @@ -Override system locale and set to default when adding gcc paths - -Forces the use of the default locale in the function -add_gcc_paths, which is called when cross compiling to add the -include and library paths. This is necessary because otherwise -the gcc output is localized and the output parsing fails, which -results in no paths added and detect_modules not able to find -any system library (eg. libz, libssl, etc.) - -[Thomas: patch taken from https://bugs.python.org/issue23767.] - -Signed-off-by: Samuel Cabrero -Signed-off-by: Thomas Petazzoni - -Index: b/setup.py -=================================================================== ---- a/setup.py -+++ b/setup.py -@@ -414,7 +414,7 @@ - tmpfile = os.path.join(self.build_temp, 'gccpaths') - if not os.path.exists(self.build_temp): - os.makedirs(self.build_temp) -- ret = os.system('%s -E -v - %s 1>/dev/null' % (gcc, tmpfile)) -+ ret = os.system('LC_ALL=C %s -E -v - %s 1>/dev/null' % (gcc, tmpfile)) - is_gcc = False - in_incdirs = False - inc_dirs = [] diff --git a/package/python/100-optional-test-modules.patch b/package/python/100-optional-test-modules.patch deleted file mode 100644 index 3de6f2669d..0000000000 --- a/package/python/100-optional-test-modules.patch +++ /dev/null @@ -1,94 +0,0 @@ -Add an option to disable installation of test modules - -The Python standard distribution comes with many test modules, that -are not necessarly useful on embedded targets. - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Samuel Martin - ---- - Makefile.pre.in | 40 +++++++++++++++++++++++++++------------- - configure.in | 6 ++++++ - 2 files changed, 33 insertions(+), 13 deletions(-) - -Index: b/Makefile.pre.in -=================================================================== ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -960,27 +960,43 @@ - plat-mac/lib-scriptpackages/SystemEvents \ - plat-mac/lib-scriptpackages/Terminal - PLATMACPATH=:plat-mac:plat-mac/lib-scriptpackages --LIBSUBDIRS= lib-tk lib-tk/test lib-tk/test/test_tkinter \ -- lib-tk/test/test_ttk site-packages test test/audiodata test/capath \ -- test/data test/cjkencodings test/decimaltestdata test/xmltestdata \ -- test/imghdrdata \ -- test/subprocessdata \ -- test/tracedmodules \ -+LIBSUBDIRS= lib-tk site-packages \ - encodings compiler hotshot \ -- email email/mime email/test email/test/data \ -+ email email/mime \ - ensurepip ensurepip/_bundled \ -- json json/tests \ -- sqlite3 sqlite3/test \ -- logging bsddb bsddb/test csv importlib wsgiref \ -- lib2to3 lib2to3/fixes lib2to3/pgen2 lib2to3/tests \ -- lib2to3/tests/data lib2to3/tests/data/fixers lib2to3/tests/data/fixers/myfixes \ -- ctypes ctypes/test ctypes/macholib \ -- idlelib idlelib/Icons idlelib/idle_test \ -- distutils distutils/command distutils/tests $(XMLLIBSUBDIRS) \ -+ json \ -+ sqlite3 \ -+ logging bsddb csv importlib wsgiref \ -+ lib2to3 lib2to3/fixes lib2to3/pgen2 \ -+ ctypes ctypes/macholib \ -+ idlelib idlelib/Icons \ -+ distutils distutils/command $(XMLLIBSUBDIRS) \ - multiprocessing multiprocessing/dummy \ -- unittest unittest/test \ -+ unittest \ - lib-old \ - curses pydoc_data $(MACHDEPS) -+ -+TESTSUBDIRS = lib-tk/test lib-tk/test/test_tkinter \ -+ lib-tk/test/test_ttk test test/audiodata test/capath test/data \ -+ test/cjkencodings test/decimaltestdata test/xmltestdata \ -+ test/imghdrdata \ -+ test/subprocessdata \ -+ test/tracedmodules \ -+ email/test email/test/data \ -+ json/tests \ -+ sqlite3/test \ -+ bsddb/test \ -+ lib2to3/tests \ -+ lib2to3/tests/data lib2to3/tests/data/fixers lib2to3/tests/data/fixers/myfixes \ -+ ctypes/test \ -+ idlelib/idle_test \ -+ distutils/tests \ -+ unittest/test -+ -+ifeq (@TEST_MODULES@,yes) -+LIBSUBDIRS += $(TESTSUBDIRS) -+endif -+ - libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c - @for i in $(SCRIPTDIR) $(LIBDEST); \ - do \ -Index: b/configure.ac -=================================================================== ---- a/configure.ac -+++ b/configure.ac -@@ -2634,6 +2634,12 @@ - fi - - -+AC_SUBST(TEST_MODULES) -+ -+AC_ARG_ENABLE(test-modules, -+ AS_HELP_STRING([--disable-test-modules], [disable test modules]), -+ [ TEST_MODULES="${enableval}" ], [ TEST_MODULES=yes ]) -+ - # Check for enable-ipv6 - AH_TEMPLATE(ENABLE_IPV6, [Define if --enable-ipv6 is specified]) - AC_MSG_CHECKING([if --enable-ipv6 is specified]) diff --git a/package/python/101-optional-pydoc.patch b/package/python/101-optional-pydoc.patch deleted file mode 100644 index 143e11ab92..0000000000 --- a/package/python/101-optional-pydoc.patch +++ /dev/null @@ -1,82 +0,0 @@ -Add an option to disable pydoc - -It removes 0.5 MB of data from the target plus the pydoc script -itself. - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Samuel Martin - ---- - Makefile.pre.in | 6 +++++- - configure.in | 5 +++++ - setup.py | 10 +++++++--- - 3 files changed, 17 insertions(+), 4 deletions(-) - -Index: b/Makefile.pre.in -=================================================================== ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -974,7 +974,7 @@ - multiprocessing multiprocessing/dummy \ - unittest \ - lib-old \ -- curses pydoc_data $(MACHDEPS) -+ curses $(MACHDEPS) - - TESTSUBDIRS = lib-tk/test lib-tk/test/test_tkinter \ - lib-tk/test/test_ttk test test/audiodata test/capath test/data \ -@@ -997,6 +997,10 @@ - LIBSUBDIRS += $(TESTSUBDIRS) - endif - -+ifeq (@PYDOC@,yes) -+LIBSUBDIRS += pydoc_data -+endif -+ - libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c - @for i in $(SCRIPTDIR) $(LIBDEST); \ - do \ -Index: b/configure.ac -=================================================================== ---- a/configure.ac -+++ b/configure.ac -@@ -2633,6 +2633,11 @@ - AC_CHECK_FUNCS(pthread_atfork) - fi - -+AC_SUBST(PYDOC) -+ -+AC_ARG_ENABLE(pydoc, -+ AS_HELP_STRING([--disable-pydoc], [disable pydoc]), -+ [ PYDOC="${enableval}" ], [ PYDOC=yes ]) - - AC_SUBST(TEST_MODULES) - -Index: b/setup.py -=================================================================== ---- a/setup.py -+++ b/setup.py -@@ -2211,6 +2211,12 @@ - # turn off warnings when deprecated modules are imported - import warnings - warnings.filterwarnings("ignore",category=DeprecationWarning) -+ -+ scripts = ['Tools/scripts/idle', 'Tools/scripts/2to3', -+ 'Lib/smtpd.py'] -+ if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"): -+ scripts += [ 'Tools/scripts/pydoc' ] -+ - setup(# PyPI Metadata (PEP 301) - name = "Python", - version = sys.version.split()[0], -@@ -2231,9 +2237,7 @@ - ext_modules=[Extension('_struct', ['_struct.c'])], - - # Scripts to install -- scripts = ['Tools/scripts/pydoc', 'Tools/scripts/idle', -- 'Tools/scripts/2to3', -- 'Lib/smtpd.py'] -+ scripts = scripts, - ) - - # --install-platlib diff --git a/package/python/102-optional-2to3.patch b/package/python/102-optional-2to3.patch deleted file mode 100644 index 100c417a21..0000000000 --- a/package/python/102-optional-2to3.patch +++ /dev/null @@ -1,85 +0,0 @@ -Add an option to disable lib2to3 - -lib2to3 is a library to convert Python 2.x code to Python 3.x. As -such, it is probably not very useful on embedded system targets. - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Samuel Martin - ---- - Makefile.pre.in | 24 +++++++++++++++++------- - configure.in | 6 ++++++ - setup.py | 5 +++-- - 3 files changed, 26 insertions(+), 9 deletions(-) - -Index: b/Makefile.pre.in -=================================================================== ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -967,7 +967,6 @@ - json \ - sqlite3 \ - logging bsddb csv importlib wsgiref \ -- lib2to3 lib2to3/fixes lib2to3/pgen2 \ - ctypes ctypes/macholib \ - idlelib idlelib/Icons \ - distutils distutils/command $(XMLLIBSUBDIRS) \ -@@ -986,8 +985,6 @@ - json/tests \ - sqlite3/test \ - bsddb/test \ -- lib2to3/tests \ -- lib2to3/tests/data lib2to3/tests/data/fixers lib2to3/tests/data/fixers/myfixes \ - ctypes/test \ - idlelib/idle_test \ - distutils/tests \ -@@ -1001,6 +998,14 @@ - LIBSUBDIRS += pydoc_data - endif - -+ifeq (@LIB2TO3@,yes) -+LIBSUBDIRS += lib2to3 lib2to3/fixes lib2to3/pgen2 -+TESTSUBDIRS += lib2to3/tests \ -+ lib2to3/tests/data \ -+ lib2to3/tests/data/fixers \ -+ lib2to3/tests/data/fixers/myfixes -+endif -+ - libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c - @for i in $(SCRIPTDIR) $(LIBDEST); \ - do \ -Index: b/configure.ac -=================================================================== ---- a/configure.ac -+++ b/configure.ac -@@ -2645,6 +2645,12 @@ - AS_HELP_STRING([--disable-test-modules], [disable test modules]), - [ TEST_MODULES="${enableval}" ], [ TEST_MODULES=yes ]) - -+AC_SUBST(LIB2TO3) -+ -+AC_ARG_ENABLE(lib2to3, -+ AS_HELP_STRING([--disable-lib2to3], [disable lib2to3]), -+ [ LIB2TO3="${enableval}" ], [ LIB2TO3=yes ]) -+ - # Check for enable-ipv6 - AH_TEMPLATE(ENABLE_IPV6, [Define if --enable-ipv6 is specified]) - AC_MSG_CHECKING([if --enable-ipv6 is specified]) -Index: b/setup.py -=================================================================== ---- a/setup.py -+++ b/setup.py -@@ -2212,10 +2212,11 @@ - import warnings - warnings.filterwarnings("ignore",category=DeprecationWarning) - -- scripts = ['Tools/scripts/idle', 'Tools/scripts/2to3', -- 'Lib/smtpd.py'] -+ scripts = ['Tools/scripts/idle', 'Lib/smtpd.py'] - if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"): - scripts += [ 'Tools/scripts/pydoc' ] -+ if not '--disable-lib2to3' in sysconfig.get_config_var("CONFIG_ARGS"): -+ scripts += [ 'Tools/scripts/2to3' ] - - setup(# PyPI Metadata (PEP 301) - name = "Python", diff --git a/package/python/103-optional-sqlite.patch b/package/python/103-optional-sqlite.patch deleted file mode 100644 index 3a48011919..0000000000 --- a/package/python/103-optional-sqlite.patch +++ /dev/null @@ -1,62 +0,0 @@ -Add option to disable the sqlite3 module - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Samuel Martin - ---- - Makefile.pre.in | 24 +++++++++++++++++------- - configure.in | 9 +++++++++ - 2 file changed, 9 insertions(+) - -Index: b/configure.ac -=================================================================== ---- a/configure.ac -+++ b/configure.ac -@@ -2633,6 +2633,15 @@ - AC_CHECK_FUNCS(pthread_atfork) - fi - -+AC_SUBST(SQLITE3) -+AC_ARG_ENABLE(sqlite3, -+ AS_HELP_STRING([--disable-sqlite3], [disable sqlite3]), -+ [ SQLITE3="${enableval}" ], [ SQLITE3=yes ]) -+ -+if test "$SQLITE3" = "no" ; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" -+fi -+ - AC_SUBST(PYDOC) - - AC_ARG_ENABLE(pydoc, -Index: b/Makefile.pre.in -=================================================================== ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -965,7 +965,6 @@ - email email/mime \ - ensurepip ensurepip/_bundled \ - json \ -- sqlite3 \ - logging bsddb csv importlib wsgiref \ - ctypes ctypes/macholib \ - idlelib idlelib/Icons \ -@@ -983,7 +982,6 @@ - test/tracedmodules \ - email/test email/test/data \ - json/tests \ -- sqlite3/test \ - bsddb/test \ - ctypes/test \ - idlelib/idle_test \ -@@ -1006,6 +1004,11 @@ - lib2to3/tests/data/fixers/myfixes - endif - -+ifeq (@SQLITE3@,yes) -+LIBSUBDIRS += sqlite3 -+TESTSUBDIRS += sqlite3/test -+endif -+ - libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c - @for i in $(SCRIPTDIR) $(LIBDEST); \ - do \ diff --git a/package/python/104-optional-tk.patch b/package/python/104-optional-tk.patch deleted file mode 100644 index 18024d3a1e..0000000000 --- a/package/python/104-optional-tk.patch +++ /dev/null @@ -1,66 +0,0 @@ -Add an option to disable the tk module - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Samuel Martin - ---- - Makefile.pre.in | 14 ++++++++++---- - configure.in | 9 +++++++++ - 2 files changed, 19 insertions(+), 4 deletions(-) - -Index: b/Makefile.pre.in -=================================================================== ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -960,7 +960,7 @@ - plat-mac/lib-scriptpackages/SystemEvents \ - plat-mac/lib-scriptpackages/Terminal - PLATMACPATH=:plat-mac:plat-mac/lib-scriptpackages --LIBSUBDIRS= lib-tk site-packages \ -+LIBSUBDIRS= site-packages \ - encodings compiler hotshot \ - email email/mime \ - ensurepip ensurepip/_bundled \ -@@ -974,8 +974,7 @@ - lib-old \ - curses $(MACHDEPS) - --TESTSUBDIRS = lib-tk/test lib-tk/test/test_tkinter \ -- lib-tk/test/test_ttk test test/audiodata test/capath test/data \ -+TESTSUBDIRS = test test/audiodata test/capath test/data \ - test/cjkencodings test/decimaltestdata test/xmltestdata \ - test/imghdrdata \ - test/subprocessdata \ -@@ -1009,6 +1008,12 @@ - TESTSUBDIRS += sqlite3/test - endif - -+ifeq (@TK@,yes) -+LIBSUBDIRS += lib-tk -+TESTSUBDIRS += lib-tk/test lib-tk/test/test_tkinter \ -+ lib-tk/test/test_ttk -+endif -+ - libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c - @for i in $(SCRIPTDIR) $(LIBDEST); \ - do \ -Index: b/configure.ac -=================================================================== ---- a/configure.ac -+++ b/configure.ac -@@ -2642,6 +2642,15 @@ - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" - fi - -+AC_SUBST(TK) -+AC_ARG_ENABLE(tk, -+ AS_HELP_STRING([--disable-tk], [disable tk]), -+ [ TK="${enableval}" ], [ TK=yes ]) -+ -+if test "$TK" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _tkinter" -+fi -+ - AC_SUBST(PYDOC) - - AC_ARG_ENABLE(pydoc, diff --git a/package/python/105-optional-curses.patch b/package/python/105-optional-curses.patch deleted file mode 100644 index 9e1ac5ad54..0000000000 --- a/package/python/105-optional-curses.patch +++ /dev/null @@ -1,54 +0,0 @@ -Add an option to disable the curses module - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Samuel Martin - ---- - Makefile.pre.in | 6 +++++- - configure.in | 9 +++++++++ - 2 files changed, 14 insertions(+), 1 deletion(-) - -Index: b/Makefile.pre.in -=================================================================== ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -972,7 +972,7 @@ - multiprocessing multiprocessing/dummy \ - unittest \ - lib-old \ -- curses $(MACHDEPS) -+ $(MACHDEPS) - - TESTSUBDIRS = test test/audiodata test/capath test/data \ - test/cjkencodings test/decimaltestdata test/xmltestdata \ -@@ -1014,6 +1014,10 @@ - lib-tk/test/test_ttk - endif - -+ifeq (@CURSES@,yes) -+LIBSUBDIRS += curses -+endif -+ - libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c - @for i in $(SCRIPTDIR) $(LIBDEST); \ - do \ -Index: b/configure.ac -=================================================================== ---- a/configure.ac -+++ b/configure.ac -@@ -2651,6 +2651,15 @@ - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _tkinter" - fi - -+AC_SUBST(CURSES) -+AC_ARG_ENABLE(curses, -+ AS_HELP_STRING([--disable-curses], [disable curses]), -+ [ CURSES="${enableval}" ], [ CURSES=yes ]) -+ -+if test "$CURSES" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _curses _curses_panel" -+fi -+ - AC_SUBST(PYDOC) - - AC_ARG_ENABLE(pydoc, diff --git a/package/python/106-optional-expat.patch b/package/python/106-optional-expat.patch deleted file mode 100644 index 6ebaf166d1..0000000000 --- a/package/python/106-optional-expat.patch +++ /dev/null @@ -1,85 +0,0 @@ -Add an option to disable expat - -This patch replaces the existing --with-system-expat option with a ---with-expat={system,builtin,none} option, which allows to tell Python -whether we want to use the system expat (already installed), the expat -builtin the Python sources, or no expat at all (which disables the -installation of XML modules). - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Samuel Martin - ---- - Makefile.pre.in | 6 +++++- - configure.in | 18 +++++++++++++----- - setup.py | 2 +- - 3 files changed, 19 insertions(+), 7 deletions(-) - -Index: b/Makefile.pre.in -=================================================================== ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -968,7 +968,7 @@ - logging bsddb csv importlib wsgiref \ - ctypes ctypes/macholib \ - idlelib idlelib/Icons \ -- distutils distutils/command $(XMLLIBSUBDIRS) \ -+ distutils distutils/command \ - multiprocessing multiprocessing/dummy \ - unittest \ - lib-old \ -@@ -1018,6 +1018,10 @@ - LIBSUBDIRS += curses - endif - -+ifeq (@EXPAT@,yes) -+LIBSUBDIRS += $(XMLLIBSUBDIRS) -+endif -+ - libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c - @for i in $(SCRIPTDIR) $(LIBDEST); \ - do \ -Index: b/configure.ac -=================================================================== ---- a/configure.ac -+++ b/configure.ac -@@ -2298,13 +2298,21 @@ - AC_SUBST(DISABLED_EXTENSIONS) - - # Check for use of the system expat library --AC_MSG_CHECKING(for --with-system-expat) --AC_ARG_WITH(system_expat, -- AS_HELP_STRING([--with-system-expat], [build pyexpat module using an installed expat library]), -+AC_MSG_CHECKING(for --with-expat) -+AC_ARG_WITH(expat, -+ AS_HELP_STRING([--with-expat], [select which expat version to use: system, builtin, none]), - [], -- [with_system_expat="no"]) -+ [with_expat="builtin"]) - --AC_MSG_RESULT($with_system_expat) -+AC_MSG_RESULT($with_expat) -+ -+if test "$with_expat" != "none"; then -+ EXPAT=yes -+else -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} pyexpat" -+ EXPAT=no -+fi -+AC_SUBST(EXPAT) - - # Check for use of the system libffi library - AC_MSG_CHECKING(for --with-system-ffi) -Index: b/setup.py -=================================================================== ---- a/setup.py -+++ b/setup.py -@@ -1463,7 +1463,7 @@ - # - # More information on Expat can be found at www.libexpat.org. - # -- if '--with-system-expat' in sysconfig.get_config_var("CONFIG_ARGS"): -+ if '--with-expat=system' in sysconfig.get_config_var("CONFIG_ARGS"): - expat_inc = [] - define_macros = [] - expat_lib = ['expat'] diff --git a/package/python/107-optional-codecs-cjk.patch b/package/python/107-optional-codecs-cjk.patch deleted file mode 100644 index 22a2fed8b8..0000000000 --- a/package/python/107-optional-codecs-cjk.patch +++ /dev/null @@ -1,25 +0,0 @@ -Add an option to disable CJK codecs - -Signed-off-by: Thomas Petazzoni - ---- - configure.in | 6 ++++++ - 1 file changed, 6 insertions(+) - -Index: b/configure.ac -=================================================================== ---- a/configure.ac -+++ b/configure.ac -@@ -2650,6 +2650,12 @@ - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" - fi - -+AC_ARG_ENABLE(codecs-cjk, -+ AS_HELP_STRING([--disable-codecs-cjk], [disable CJK codecs]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _codecs_kr _codecs_jp _codecs_cn _codecs_tw _codecs_hk" -+ fi]) -+ - AC_SUBST(TK) - AC_ARG_ENABLE(tk, - AS_HELP_STRING([--disable-tk], [disable tk]), diff --git a/package/python/108-optional-nis.patch b/package/python/108-optional-nis.patch deleted file mode 100644 index d19ebe1e07..0000000000 --- a/package/python/108-optional-nis.patch +++ /dev/null @@ -1,28 +0,0 @@ -Add an option to disable NIS - -NIS is not necessarily available in uClibc, so we need an option to -not compile support for it. - -Signed-off-by: Thomas Petazzoni - ---- - configure.in | 6 ++++++ - 1 file changed, 6 insertions(+) - -Index: b/configure.ac -=================================================================== ---- a/configure.ac -+++ b/configure.ac -@@ -2656,6 +2656,12 @@ - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _codecs_kr _codecs_jp _codecs_cn _codecs_tw _codecs_hk" - fi]) - -+AC_ARG_ENABLE(nis, -+ AS_HELP_STRING([--disable-nis], [disable NIS]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis" -+ fi]) -+ - AC_SUBST(TK) - AC_ARG_ENABLE(tk, - AS_HELP_STRING([--disable-tk], [disable tk]), diff --git a/package/python/109-optional-unicodedata.patch b/package/python/109-optional-unicodedata.patch deleted file mode 100644 index 841f2a77b5..0000000000 --- a/package/python/109-optional-unicodedata.patch +++ /dev/null @@ -1,25 +0,0 @@ -Add an option to disable unicodedata - -Signed-off-by: Thomas Petazzoni - ---- - configure.in | 6 ++++++ - 1 file changed, 6 insertions(+) - -Index: b/configure.ac -=================================================================== ---- a/configure.ac -+++ b/configure.ac -@@ -2662,6 +2662,12 @@ - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis" - fi]) - -+AC_ARG_ENABLE(unicodedata, -+ AS_HELP_STRING([--disable-unicodedata], [disable unicodedata]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} unicodedata" -+ fi]) -+ - AC_SUBST(TK) - AC_ARG_ENABLE(tk, - AS_HELP_STRING([--disable-tk], [disable tk]), diff --git a/package/python/110-optional-db.patch b/package/python/110-optional-db.patch deleted file mode 100644 index b8c454c90b..0000000000 --- a/package/python/110-optional-db.patch +++ /dev/null @@ -1,80 +0,0 @@ -Add an option to disable bsddb - -bsddb has an external dependency on Berkeley DB. Since we want to be -able to build Python without it, this patch adds an option to disable -the build/installation of this Python module. - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Samuel Martin - ---- - Makefile.pre.in | 10 ++++++++-- - configure.in | 22 ++++++++++++++++++++++ - 2 files changed, 30 insertions(+), 2 deletions(-) - -Index: b/Makefile.pre.in -=================================================================== ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -965,7 +965,7 @@ - email email/mime \ - ensurepip ensurepip/_bundled \ - json \ -- logging bsddb csv importlib wsgiref \ -+ logging csv importlib wsgiref \ - ctypes ctypes/macholib \ - idlelib idlelib/Icons \ - distutils distutils/command \ -@@ -981,7 +981,6 @@ - test/tracedmodules \ - email/test email/test/data \ - json/tests \ -- bsddb/test \ - ctypes/test \ - idlelib/idle_test \ - distutils/tests \ -@@ -1022,6 +1021,11 @@ - LIBSUBDIRS += $(XMLLIBSUBDIRS) - endif - -+ifeq (@BSDDB@,yes) -+LIBSUBDIRS += bsddb -+TESTSUBDIRS += bsddb/test -+endif -+ - libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c - @for i in $(SCRIPTDIR) $(LIBDEST); \ - do \ -Index: b/configure.ac -=================================================================== ---- a/configure.ac -+++ b/configure.ac -@@ -2662,6 +2662,28 @@ - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis" - fi]) - -+AC_ARG_ENABLE(dbm, -+ AS_HELP_STRING([--disable-dbm], [disable DBM]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} dbm" -+ fi]) -+ -+AC_ARG_ENABLE(gdbm, -+ AS_HELP_STRING([--disable-gdbm], [disable GDBM]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} gdbm" -+ fi]) -+ -+AC_SUBST(BSDDB) -+AC_ARG_ENABLE(bsddb, -+ AS_HELP_STRING([--disable-bsddb], [disable BerkeyleyDB]), -+ [ if test "$enableval" = "no"; then -+ BSDDB=no -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _bsddb" -+ else -+ BSDDB=yes -+ fi], [ BSDDB=yes ]) -+ - AC_ARG_ENABLE(unicodedata, - AS_HELP_STRING([--disable-unicodedata], [disable unicodedata]), - [ if test "$enableval" = "no"; then diff --git a/package/python/111-optional-ssl.patch b/package/python/111-optional-ssl.patch deleted file mode 100644 index 956d2a0726..0000000000 --- a/package/python/111-optional-ssl.patch +++ /dev/null @@ -1,25 +0,0 @@ -Add an option to disable the ssl module - -Signed-off-by: Thomas Petazzoni - ---- - configure.in | 6 ++++++ - 1 file changed, 6 insertions(+) - -Index: b/configure.ac -=================================================================== ---- a/configure.ac -+++ b/configure.ac -@@ -2662,6 +2662,12 @@ - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis" - fi]) - -+AC_ARG_ENABLE(ssl, -+ AS_HELP_STRING([--disable-ssl], [disable SSL]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ssl" -+ fi]) -+ - AC_ARG_ENABLE(dbm, - AS_HELP_STRING([--disable-dbm], [disable DBM]), - [ if test "$enableval" = "no"; then diff --git a/package/python/112-optional-bzip2.patch b/package/python/112-optional-bzip2.patch deleted file mode 100644 index 99fe83ca69..0000000000 --- a/package/python/112-optional-bzip2.patch +++ /dev/null @@ -1,24 +0,0 @@ -Add an option to disable the bz2 module - -Signed-off-by: Thomas Petazzoni ---- - configure.in | 6 ++++++ - 1 file changed, 6 insertions(+) - -Index: b/configure.ac -=================================================================== ---- a/configure.ac -+++ b/configure.ac -@@ -2668,6 +2668,12 @@ - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ssl" - fi]) - -+AC_ARG_ENABLE(bz2, -+ AS_HELP_STRING([--disable-bz2], [disable BZIP2]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} bz2" -+ fi]) -+ - AC_ARG_ENABLE(dbm, - AS_HELP_STRING([--disable-dbm], [disable DBM]), - [ if test "$enableval" = "no"; then diff --git a/package/python/113-optional-zlib.patch b/package/python/113-optional-zlib.patch deleted file mode 100644 index 652a586eae..0000000000 --- a/package/python/113-optional-zlib.patch +++ /dev/null @@ -1,24 +0,0 @@ -Add an option to disable the zlib module - -Signed-off-by: Thomas Petazzoni ---- - configure.in | 6 ++++++ - 1 file changed, 6 insertions(+) - -Index: b/configure.ac -=================================================================== ---- a/configure.ac -+++ b/configure.ac -@@ -2674,6 +2674,12 @@ - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} bz2" - fi]) - -+AC_ARG_ENABLE(zlib, -+ AS_HELP_STRING([--disable-zlib], [disable ZLIB]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} zlib" -+ fi]) -+ - AC_ARG_ENABLE(dbm, - AS_HELP_STRING([--disable-dbm], [disable DBM]), - [ if test "$enableval" = "no"; then diff --git a/package/python/114-remove-idle-editor.patch b/package/python/114-remove-idle-editor.patch deleted file mode 100644 index 512eedcb5f..0000000000 --- a/package/python/114-remove-idle-editor.patch +++ /dev/null @@ -1,43 +0,0 @@ -Do not install the idle editor - -IDLE is the Python IDE built with the tkinter GUI toolkit. Since it's -highly unlikely to ever be useful in an embedded Linux system -generated by Buildroot, this patch simply disables the installation of -idle and the related Python modules. It saves 800 KB-900 KB of -installed .pyc files. - -Signed-off-by: Thomas Petazzoni - -Index: b/Makefile.pre.in -=================================================================== ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -967,7 +967,6 @@ - json \ - logging csv importlib wsgiref \ - ctypes ctypes/macholib \ -- idlelib idlelib/Icons \ - distutils distutils/command \ - multiprocessing multiprocessing/dummy \ - unittest \ -@@ -982,7 +981,6 @@ - email/test email/test/data \ - json/tests \ - ctypes/test \ -- idlelib/idle_test \ - distutils/tests \ - unittest/test - -Index: b/setup.py -=================================================================== ---- a/setup.py -+++ b/setup.py -@@ -2212,7 +2212,7 @@ - import warnings - warnings.filterwarnings("ignore",category=DeprecationWarning) - -- scripts = ['Tools/scripts/idle', 'Lib/smtpd.py'] -+ scripts = ['Lib/smtpd.py'] - if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"): - scripts += [ 'Tools/scripts/pydoc' ] - if not '--disable-lib2to3' in sysconfig.get_config_var("CONFIG_ARGS"): diff --git a/package/python/115-optional-ossaudiodev.patch b/package/python/115-optional-ossaudiodev.patch deleted file mode 100644 index 89335ba2d0..0000000000 --- a/package/python/115-optional-ossaudiodev.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 30351d9b41a03c43d627d52d46e49ab91bfe342d Mon Sep 17 00:00:00 2001 -From: Zoltan Gyarmati -Date: Thu, 8 Jan 2015 11:41:40 +0100 -Subject: [PATCH 1/1] Add an option to disable the ossaudiodev module - -Signed-off-by: Zoltan Gyarmati ---- - configure.ac | 6 ++++++ - 1 file changed, 6 insertions(+) - -Index: b/configure.ac -=================================================================== ---- a/configure.ac -+++ b/configure.ac -@@ -2726,6 +2726,12 @@ - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _curses _curses_panel" - fi - -+AC_ARG_ENABLE(ossaudiodev, -+ AS_HELP_STRING([--disable-ossaudiodev], [disable OSSAUDIODEV]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ossaudiodev" -+ fi]) -+ - AC_SUBST(PYDOC) - - AC_ARG_ENABLE(pydoc, diff --git a/package/python/Config.in b/package/python/Config.in index fa83e7774a..054ccd2aaa 100644 --- a/package/python/Config.in +++ b/package/python/Config.in @@ -39,14 +39,14 @@ menu "core python modules" comment "The following modules are unusual or require extra libraries" config BR2_PACKAGE_PYTHON_BZIP2 - select BR2_PACKAGE_BZIP2 bool "bzip2 module" + select BR2_PACKAGE_BZIP2 help bzip2 module for Python config BR2_PACKAGE_PYTHON_BSDDB - select BR2_PACKAGE_BERKELEYDB bool "bsddb module" + select BR2_PACKAGE_BERKELEYDB help bsddb module for Python. @@ -56,8 +56,8 @@ config BR2_PACKAGE_PYTHON_CODECSCJK Chinese/Japanese/Korean codecs module for Python (large). config BR2_PACKAGE_PYTHON_CURSES - select BR2_PACKAGE_NCURSES bool "curses module" + select BR2_PACKAGE_NCURSES help curses module for Python. @@ -67,15 +67,15 @@ config BR2_PACKAGE_PYTHON_OSSAUDIODEV ossaudiodev module for Python. config BR2_PACKAGE_PYTHON_READLINE - select BR2_PACKAGE_READLINE bool "readline" + select BR2_PACKAGE_READLINE help readline module for Python (required for command-line editing in the Python shell). config BR2_PACKAGE_PYTHON_SSL - select BR2_PACKAGE_OPENSSL bool "ssl" + select BR2_PACKAGE_OPENSSL help _ssl module for Python (required for https in urllib etc). @@ -110,8 +110,8 @@ config BR2_PACKAGE_PYTHON_SQLITE SQLite database support config BR2_PACKAGE_PYTHON_PYEXPAT - select BR2_PACKAGE_EXPAT bool "xml module" + select BR2_PACKAGE_EXPAT help pyexpat and xml libraries for Python diff --git a/package/python/python.hash b/package/python/python.hash index f285e4243f..77e0fc878e 100644 --- a/package/python/python.hash +++ b/package/python/python.hash @@ -1,4 +1,6 @@ -# From https://www.python.org/downloads/release/python-2713/ -md5 53b43534153bb2a0363f08bae8b9d990 Python-2.7.13.tar.xz +# From https://www.python.org/downloads/release/python-2714/ +md5 1f6db41ad91d9eb0a6f0c769b8613c5b Python-2.7.14.tar.xz # Locally calculated -sha256 35d543986882f78261f97787fd3e06274bfa6df29fac9b4a94f73930ff98f731 Python-2.7.13.tar.xz +sha256 71ffb26e09e78650e424929b2b457b9c912ac216576e6bd9e7d204ed03296a66 Python-2.7.14.tar.xz +# License files, locally calculated +sha256 d2d17b17388da74dc9c6bdbf78eb7237432c3f8a0c87852df740ec99de2ec680 LICENSE diff --git a/package/python/python.mk b/package/python/python.mk index 281130c68b..aa7917ab46 100644 --- a/package/python/python.mk +++ b/package/python/python.mk @@ -5,10 +5,10 @@ ################################################################################ PYTHON_VERSION_MAJOR = 2.7 -PYTHON_VERSION = $(PYTHON_VERSION_MAJOR).13 +PYTHON_VERSION = $(PYTHON_VERSION_MAJOR).14 PYTHON_SOURCE = Python-$(PYTHON_VERSION).tar.xz -PYTHON_SITE = http://python.org/ftp/python/$(PYTHON_VERSION) -PYTHON_LICENSE = Python software foundation license v2, others +PYTHON_SITE = https://python.org/ftp/python/$(PYTHON_VERSION) +PYTHON_LICENSE = Python-2.0, others PYTHON_LICENSE_FILES = LICENSE PYTHON_LIBTOOL_PATCH = NO @@ -17,23 +17,23 @@ PYTHON_LIBTOOL_PATCH = NO # also installed in $(HOST_DIR), as it is needed when cross-compiling # third-party Python modules. -HOST_PYTHON_CONF_OPTS += \ - --enable-static \ - --without-cxx-main \ - --disable-sqlite3 \ - --disable-tk \ - --with-expat=system \ - --disable-curses \ - --disable-codecs-cjk \ - --disable-nis \ - --enable-unicodedata \ - --disable-dbm \ - --disable-gdbm \ - --disable-bsddb \ - --disable-test-modules \ - --disable-bz2 \ - --disable-ssl \ - --disable-ossaudiodev \ +HOST_PYTHON_CONF_OPTS += \ + --enable-static \ + --without-cxx-main \ + --disable-sqlite3 \ + --disable-tk \ + --with-expat=system \ + --disable-curses \ + --disable-codecs-cjk \ + --disable-nis \ + --enable-unicodedata \ + --disable-dbm \ + --disable-gdbm \ + --disable-bsddb \ + --disable-test-modules \ + --disable-bz2 \ + --disable-ssl \ + --disable-ossaudiodev \ --disable-pyo-build # Make sure that LD_LIBRARY_PATH overrides -rpath. @@ -54,7 +54,7 @@ HOST_PYTHON_CONF_ENV += \ # MAKE1 has shown to workaround the problem. HOST_PYTHON_MAKE = $(MAKE1) -PYTHON_DEPENDENCIES = host-python libffi +PYTHON_DEPENDENCIES = host-python libffi $(TARGET_NLS_DEPENDENCIES) HOST_PYTHON_DEPENDENCIES = host-expat host-zlib @@ -62,6 +62,8 @@ PYTHON_INSTALL_STAGING = YES ifeq ($(BR2_PACKAGE_PYTHON_READLINE),y) PYTHON_DEPENDENCIES += readline +else +PYTHON_CONF_OPTS += --disable-readline endif ifeq ($(BR2_PACKAGE_PYTHON_CURSES),y) @@ -125,6 +127,8 @@ endif ifeq ($(BR2_PACKAGE_PYTHON_HASHLIB),y) PYTHON_DEPENDENCIES += openssl +else +PYTHON_CONF_OPTS += --disable-hashlib endif ifeq ($(BR2_PACKAGE_PYTHON_OSSAUDIODEV),y) @@ -151,17 +155,17 @@ PYTHON_CONF_ENV += ac_cv_big_endian_double=yes endif PYTHON_CONF_OPTS += \ - --without-cxx-main \ - --without-doc-strings \ - --with-system-ffi \ - --disable-pydoc \ - --disable-test-modules \ - --disable-lib2to3 \ - --disable-gdbm \ - --disable-tk \ - --disable-nis \ - --disable-dbm \ - --disable-pyo-build \ + --without-cxx-main \ + --without-doc-strings \ + --with-system-ffi \ + --disable-pydoc \ + --disable-test-modules \ + --disable-lib2to3 \ + --disable-gdbm \ + --disable-tk \ + --disable-nis \ + --disable-dbm \ + --disable-pyo-build \ --disable-pyc-build # This is needed to make sure the Python build process doesn't try to @@ -223,24 +227,33 @@ PYTHON_AUTORECONF = YES # for the target, otherwise the default python program may be missing. ifneq ($(BR2_PACKAGE_PYTHON3),y) define HOST_PYTHON_INSTALL_PYTHON_SYMLINK - ln -sf python2 $(HOST_DIR)/usr/bin/python - ln -sf python2-config $(HOST_DIR)/usr/bin/python-config + ln -sf python2 $(HOST_DIR)/bin/python + ln -sf python2-config $(HOST_DIR)/bin/python-config endef HOST_PYTHON_POST_INSTALL_HOOKS += HOST_PYTHON_INSTALL_PYTHON_SYMLINK endif # Provided to other packages -PYTHON_PATH = $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/sysconfigdata/:$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages/ +PYTHON_PATH = $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/sysconfigdata/ $(eval $(autotools-package)) $(eval $(host-autotools-package)) +ifeq ($(BR2_REPRODUCIBLE),y) +define PYTHON_FIX_TIME + find $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR) -name '*.py' -print0 | \ + xargs -0 --no-run-if-empty touch -d @$(SOURCE_DATE_EPOCH) +endef +endif + define PYTHON_CREATE_PYC_FILES + $(PYTHON_FIX_TIME) PYTHONPATH="$(PYTHON_PATH)" \ - $(HOST_DIR)/usr/bin/python$(PYTHON_VERSION_MAJOR) \ - support/scripts/pycompile.py \ - $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR) + cd $(TARGET_DIR) && $(HOST_DIR)/bin/python$(PYTHON_VERSION_MAJOR) \ + $(TOPDIR)/support/scripts/pycompile.py \ + $(if $(BR2_REPRODUCIBLE),--force) \ + usr/lib/python$(PYTHON_VERSION_MAJOR) endef ifeq ($(BR2_PACKAGE_PYTHON_PYC_ONLY)$(BR2_PACKAGE_PYTHON_PY_PYC),y) diff --git a/package/python3/0001-Make-the-build-of-pyc-files-conditional.patch b/package/python3/0001-Make-the-build-of-pyc-files-conditional.patch new file mode 100644 index 0000000000..4a8e4e8296 --- /dev/null +++ b/package/python3/0001-Make-the-build-of-pyc-files-conditional.patch @@ -0,0 +1,56 @@ +From e568f4deb7c648e3265154574db753601636cdda Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 22 Feb 2017 16:21:31 -0800 +Subject: [PATCH] Make the build of pyc files conditional + +This commit adds a new configure option --disable-pyc-build to disable +the compilation of pyc. + +Signed-off-by: Thomas Petazzoni +[ Andrey Smrinov: ported to Python 3.6 ] +Signed-off-by: Andrey Smirnov +--- + Makefile.pre.in | 2 ++ + configure.ac | 6 ++++++ + 2 files changed, 8 insertions(+) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index 82e830727e..b38bd79121 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1311,6 +1311,7 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c + $(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \ + $(DESTDIR)$(LIBDEST)/distutils/tests ; \ + fi ++ifeq (@PYC_BUILD@,yes) + -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ + $(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \ + -d $(LIBDEST) -f \ +@@ -1338,6 +1339,7 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c + $(PYTHON_FOR_BUILD) -Wi -OO $(DESTDIR)$(LIBDEST)/compileall.py \ + -d $(LIBDEST)/site-packages -f \ + -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages ++endif + -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ + $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt + -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ +diff --git a/configure.ac b/configure.ac +index 962006704f..a76b5444df 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1113,6 +1113,12 @@ fi + + AC_MSG_CHECKING(LDLIBRARY) + ++AC_SUBST(PYC_BUILD) ++ ++AC_ARG_ENABLE(pyc-build, ++ AS_HELP_STRING([--disable-pyc-build], [disable build of pyc files]), ++ [ PYC_BUILD="${enableval}" ], [ PYC_BUILD=yes ]) ++ + # MacOSX framework builds need more magic. LDLIBRARY is the dynamic + # library that we build, but we do not want to link against it (we + # will find it with a -framework option). For this reason there is an +-- +2.13.5 + diff --git a/package/python3/0001-setup.py-do-not-add-invalid-header-locations.patch b/package/python3/0001-setup.py-do-not-add-invalid-header-locations.patch deleted file mode 100644 index defaad9c45..0000000000 --- a/package/python3/0001-setup.py-do-not-add-invalid-header-locations.patch +++ /dev/null @@ -1,46 +0,0 @@ -From d6093bad6c700312ff7ff4a7bb15c815dda6f46b Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 23 Dec 2015 11:28:34 +0100 -Subject: [PATCH] setup.py: do not add invalid header locations - -This piece of code incorrectly adds /usr/include to -self.compiler.include_dirs, and results in the following invalid -compilation line: - -/home/thomas/projets/buildroot/output/host/usr/bin/arm-none-linux-gnueabi-gcc - -fPIC -Wno-unused-result -Werror=declaration-after-statement -DNDEBUG -g - -O3 -Wall -Wstrict-prototypes -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE - -D_FILE_OFFSET_BITS=64 -pipe -Os - -I./Include -I/usr/include -I. -IInclude - -I/home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include - -I/home/thomas/projets/buildroot/output/build/python3-3.4.0b1/Include - -I/home/thomas/projets/buildroot/output/build/python3-3.4.0b1 - -c /home/thomas/projets/buildroot/output/build/python3-3.4.0b1/Modules/_struct.c - -o build/temp.linux-arm-3.4/home/thomas/projets/buildroot/output/build/python3-3.4.0b1/Modules/_struct.o -cc1: warning: include location "/usr/include" is unsafe for cross-compilation [-Wpoison-system-directories] - -The -I/usr/include is wrong when cross compiling, so we disable adding -INCLUDEDIR and LIBDIR from the host when cross compiling. - -Signed-off-by: Thomas Petazzoni ---- - setup.py | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/setup.py b/setup.py -index da67731..dbd2a3c 100644 ---- a/setup.py -+++ b/setup.py -@@ -511,7 +511,8 @@ class PyBuildExt(build_ext): - add_dir_to_list(dir_list, directory) - - if os.path.normpath(sys.base_prefix) != '/usr' \ -- and not sysconfig.get_config_var('PYTHONFRAMEWORK'): -+ and not sysconfig.get_config_var('PYTHONFRAMEWORK') \ -+ and not cross_compiling: - # OSX note: Don't add LIBDIR and INCLUDEDIR to building a framework - # (PYTHONFRAMEWORK is set) to avoid # linking problems when - # building a framework with different architectures than --- -2.6.4 - diff --git a/package/python3/0002-Change-the-install-location-of-_sysconfigdata.py.patch b/package/python3/0002-Change-the-install-location-of-_sysconfigdata.py.patch deleted file mode 100644 index 8e930abf82..0000000000 --- a/package/python3/0002-Change-the-install-location-of-_sysconfigdata.py.patch +++ /dev/null @@ -1,86 +0,0 @@ -From 4ac038d30ec71b3f223ac7c91613856dd82b6347 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 23 Dec 2015 11:29:04 +0100 -Subject: [PATCH] Change the install location of _sysconfigdata.py - -The _sysconfigdata.py module contains definitions that are needed when -building Python modules. In cross-compilation mode, when building -Python extensions for the target, we need to use the _sysconfigdata.py -of the target Python while executing the host Python. - -However until now, the _sysconfigdata.py module was installed in -build/lib.- directory, together with a number of -architecture-specific shared objects, which cannot be used with the -host Python. - -To solve this problem, this patch moves _sysconfigdata.py to a -separate location, build/sysconfigdata.-/, and only -this directory gets added to the PYTHONPATH of the host Python -interpreter when building Python modules for the target. - -Signed-off-by: Thomas Petazzoni ---- - Makefile.pre.in | 12 ++++++++++-- - configure.ac | 2 +- - 2 files changed, 11 insertions(+), 3 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 823def3..4d2a061 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -585,6 +585,9 @@ pybuilddir.txt: $(BUILDPYTHON) - rm -f ./pybuilddir.txt ; \ - exit 1 ; \ - fi -+ echo `cat pybuilddir.txt`/sysconfigdata > pysysconfigdatadir.txt -+ mkdir -p `cat pysysconfigdatadir.txt` -+ cp `cat pybuilddir.txt`/_sysconfigdata.py `cat pysysconfigdatadir.txt` - - # Build the shared modules - # Under GNU make, MAKEFLAGS are sorted and normalized; the 's' for -@@ -1235,7 +1238,7 @@ libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c - else true; \ - fi; \ - done -- @for i in $(srcdir)/Lib/*.py `cat pybuilddir.txt`/_sysconfigdata.py; \ -+ @for i in $(srcdir)/Lib/*.py ; \ - do \ - if test -x $$i; then \ - $(INSTALL_SCRIPT) $$i $(DESTDIR)$(LIBDEST); \ -@@ -1245,6 +1248,11 @@ libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c - echo $(INSTALL_DATA) $$i $(LIBDEST); \ - fi; \ - done -+ $(INSTALL_DATA) `cat pysysconfigdatadir.txt`/_sysconfigdata.py \ -+ $(DESTDIR)$(LIBDEST) -+ mkdir -p $(DESTDIR)$(LIBDEST)/sysconfigdata -+ $(INSTALL_DATA) `cat pysysconfigdatadir.txt`/_sysconfigdata.py \ -+ $(DESTDIR)$(LIBDEST)/sysconfigdata - @for d in $(LIBSUBDIRS); \ - do \ - a=$(srcdir)/Lib/$$d; \ -@@ -1580,7 +1588,7 @@ clean: pycremoval - find build -name 'fficonfig.h' -exec rm -f {} ';' || true - find build -name '*.py' -exec rm -f {} ';' || true - find build -name '*.py[co]' -exec rm -f {} ';' || true -- -rm -f pybuilddir.txt -+ -rm -f pybuilddir.txt pysysconfigdatadir.txt - -rm -f Lib/lib2to3/*Grammar*.pickle - -rm -f Programs/_testembed Programs/_freeze_importlib - -rm -rf build -diff --git a/configure.ac b/configure.ac -index 694293e..76b70a0 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -70,7 +70,7 @@ if test "$cross_compiling" = yes; then - AC_MSG_ERROR([python$PACKAGE_VERSION interpreter not found]) - fi - AC_MSG_RESULT($interp) -- PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/$(PLATDIR) '$interp -+ PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pysysconfigdatadir.txt && echo $(abs_builddir)/`cat pysysconfigdatadir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/$(PLATDIR) '$interp - fi - elif test "$cross_compiling" = maybe; then - AC_MSG_ERROR([Cross compiling required --host=HOST-TUPLE and --build=ARCH]) --- -2.6.4 - diff --git a/package/python3/0002-Disable-buggy_getaddrinfo-configure-test-when-cross-.patch b/package/python3/0002-Disable-buggy_getaddrinfo-configure-test-when-cross-.patch new file mode 100644 index 0000000000..e997f47693 --- /dev/null +++ b/package/python3/0002-Disable-buggy_getaddrinfo-configure-test-when-cross-.patch @@ -0,0 +1,27 @@ +From 8ec1677d16bef6d6ee5cee4ff004dfa3d0428e88 Mon Sep 17 00:00:00 2001 +From: Vanya Sergeev +Date: Wed, 23 Dec 2015 11:30:33 +0100 +Subject: [PATCH] Disable buggy_getaddrinfo configure test when cross-compiling + with IPv6 support + +Signed-off-by: Vanya Sergeev +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index a76b5444df..5f87c4db5a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3939,7 +3939,7 @@ fi + + AC_MSG_RESULT($ac_cv_buggy_getaddrinfo) + +-if test $have_getaddrinfo = no || test "$ac_cv_buggy_getaddrinfo" = yes ++if test $have_getaddrinfo = no || test "$cross_compiling" != "yes" -a "$ac_cv_buggy_getaddrinfo" = yes + then + if test $ipv6 = yes + then +-- +2.13.5 + diff --git a/package/python3/0003-Add-infrastructure-to-disable-the-build-of-certain-e.patch b/package/python3/0003-Add-infrastructure-to-disable-the-build-of-certain-e.patch new file mode 100644 index 0000000000..76555d290f --- /dev/null +++ b/package/python3/0003-Add-infrastructure-to-disable-the-build-of-certain-e.patch @@ -0,0 +1,109 @@ +From 2c2afc80831c518e5daf3df6c9e4c4ac0a7be001 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 22 Feb 2017 16:33:22 -0800 +Subject: [PATCH] Add infrastructure to disable the build of certain extensions + +Some of the extensions part of the Python core have dependencies on +external libraries (sqlite, tk, etc.) or are relatively big and not +necessarly always useful (CJK codecs for example). By extensions, we +mean part of Python modules that are written in C and therefore +compiled to binary code. + +Therefore, we introduce a small infrastructure that allows to disable +some of those extensions. This can be done inside the configure.ac by +adding values to the DISABLED_EXTENSIONS variable (which is a +word-separated list of extensions). + +The implementation works as follow : + + * configure.ac defines a DISABLED_EXTENSIONS variable, which is + substituted (so that when Makefile.pre is generated from + Makefile.pre.in, the value of the variable is substituted). For + now, this DISABLED_EXTENSIONS variable is empty, later patches will + use it. + + * Makefile.pre.in passes the DISABLED_EXTENSIONS value down to the + variables passed in the environment when calling the setup.py + script that actually builds and installs those extensions. + + * setup.py is modified so that the existing "disabled_module_list" is + filled with those pre-disabled extensions listed in + DISABLED_EXTENSIONS. + +Patch ported to python2.7 by Maxime Ripard , and +then extended by Thomas Petazzoni +. + +Signed-off-by: Thomas Petazzoni +[ Andrey Smirnov: ported to Python 3.6 ] +Signed-off-by: Andrey Smirnov +--- + Makefile.pre.in | 6 +++++- + configure.ac | 2 ++ + setup.py | 6 +++++- + 3 files changed, 12 insertions(+), 2 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index b38bd79121..4ce917ab8d 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -190,6 +190,8 @@ FILEMODE= 644 + # configure script arguments + CONFIG_ARGS= @CONFIG_ARGS@ + ++# disabled extensions ++DISABLED_EXTENSIONS= @DISABLED_EXTENSIONS@ + + # Subdirectories with code + SRCDIRS= @SRCDIRS@ +@@ -575,6 +577,7 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o + esac; \ + $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \ + _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \ ++ DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" \ + $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build + + +@@ -1436,7 +1439,8 @@ libainstall: @DEF_MAKE_RULE@ python-config + # Install the dynamically loadable modules + # This goes into $(exec_prefix) + sharedinstall: sharedmods +- $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \ ++ $(RUNSHARED) DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" \ ++ $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \ + --prefix=$(prefix) \ + --install-scripts=$(BINDIR) \ + --install-platlib=$(DESTSHARED) \ +diff --git a/configure.ac b/configure.ac +index 5f87c4db5a..d5ee2aedfb 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2810,6 +2810,8 @@ LIBS="$withval $LIBS" + + PKG_PROG_PKG_CONFIG + ++AC_SUBST(DISABLED_EXTENSIONS) ++ + # Check for use of the system expat library + AC_MSG_CHECKING(for --with-system-expat) + AC_ARG_WITH(system_expat, +diff --git a/setup.py b/setup.py +index fe477974bd..86643ae8bf 100644 +--- a/setup.py ++++ b/setup.py +@@ -43,7 +43,11 @@ host_platform = get_platform() + COMPILED_WITH_PYDEBUG = ('--with-pydebug' in sysconfig.get_config_var("CONFIG_ARGS")) + + # This global variable is used to hold the list of modules to be disabled. +-disabled_module_list = [] ++try: ++ disabled_module_list = sysconfig.get_config_var("DISABLED_EXTENSIONS").split(" ") ++except KeyError: ++ disabled_module_list = list() ++ + + def add_dir_to_list(dirlist, dir): + """Add the directory 'dir' to the list 'dirlist' (after any relative +-- +2.13.5 + diff --git a/package/python3/0003-Make-the-build-of-pyc-files-conditional.patch b/package/python3/0003-Make-the-build-of-pyc-files-conditional.patch deleted file mode 100644 index 3251da5f3e..0000000000 --- a/package/python3/0003-Make-the-build-of-pyc-files-conditional.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 28f81597314ea3ed03935b519453a55cf6c3c20d Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 23 Dec 2015 11:29:35 +0100 -Subject: [PATCH] Make the build of pyc files conditional - -This commit adds a new configure option --disable-pyc-build to disable -the compilation of pyc. - -Signed-off-by: Thomas Petazzoni ---- - Makefile.pre.in | 2 ++ - configure.ac | 6 ++++++ - 2 files changed, 8 insertions(+) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 4d2a061..272f312 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1283,6 +1283,7 @@ libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c - $(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \ - $(DESTDIR)$(LIBDEST)/distutils/tests ; \ - fi -+ifeq (@PYC_BUILD@,yes) - -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ - $(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \ - -d $(LIBDEST) -f \ -@@ -1310,6 +1311,7 @@ libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c - $(PYTHON_FOR_BUILD) -Wi -OO $(DESTDIR)$(LIBDEST)/compileall.py \ - -d $(LIBDEST)/site-packages -f \ - -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages -+endif - -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ - $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt - -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ -diff --git a/configure.ac b/configure.ac -index 76b70a0..66d4642 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1056,6 +1056,12 @@ fi - - AC_MSG_CHECKING(LDLIBRARY) - -+AC_SUBST(PYC_BUILD) -+ -+AC_ARG_ENABLE(pyc-build, -+ AS_HELP_STRING([--disable-pyc-build], [disable build of pyc files]), -+ [ PYC_BUILD="${enableval}" ], [ PYC_BUILD=yes ]) -+ - # MacOSX framework builds need more magic. LDLIBRARY is the dynamic - # library that we build, but we do not want to link against it (we - # will find it with a -framework option). For this reason there is an --- -2.6.4 - diff --git a/package/python3/0004-Adjust-library-header-paths-for-cross-compilation.patch b/package/python3/0004-Adjust-library-header-paths-for-cross-compilation.patch new file mode 100644 index 0000000000..989943e473 --- /dev/null +++ b/package/python3/0004-Adjust-library-header-paths-for-cross-compilation.patch @@ -0,0 +1,67 @@ +From e359a7a3c4f9e70360a068bef19c95938fdacede Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 23 Dec 2015 11:33:14 +0100 +Subject: [PATCH] Adjust library/header paths for cross-compilation + +When cross-compiling third-party extensions, the get_python_inc() or +get_python_lib() can be called, to return the path to headers or +libraries. However, they use the sys.prefix of the host Python, which +returns incorrect paths when cross-compiling (paths pointing to host +headers and libraries). + +In order to fix this, we introduce the _python_sysroot, _python_prefix +and _python_exec_prefix variables, that allow to override these +values, and get correct header/library paths when cross-compiling +third-party Python modules. + +Signed-off-by: Thomas Petazzoni +--- + Lib/distutils/command/build_ext.py | 5 ++++- + Lib/distutils/sysconfig.py | 15 +++++++++++---- + 2 files changed, 15 insertions(+), 5 deletions(-) + +diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py +index 74de782d8a..d0c847b365 100644 +--- a/Lib/distutils/command/build_ext.py ++++ b/Lib/distutils/command/build_ext.py +@@ -233,7 +233,10 @@ class build_ext(Command): + if (sysconfig.get_config_var('Py_ENABLE_SHARED')): + if not sysconfig.python_build: + # building third party extensions +- self.library_dirs.append(sysconfig.get_config_var('LIBDIR')) ++ libdir = sysconfig.get_config_var('LIBDIR') ++ if "_python_sysroot" in os.environ: ++ libdir = os.environ.get("_python_sysroot") + libdir ++ self.library_dirs.append(libdir) + else: + # building python standard extensions + self.library_dirs.append('.') +diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py +index 2bcd1dd288..422c13fa4f 100644 +--- a/Lib/distutils/sysconfig.py ++++ b/Lib/distutils/sysconfig.py +@@ -17,10 +17,17 @@ import sys + from .errors import DistutilsPlatformError + + # These are needed in a couple of spots, so just compute them once. +-PREFIX = os.path.normpath(sys.prefix) +-EXEC_PREFIX = os.path.normpath(sys.exec_prefix) +-BASE_PREFIX = os.path.normpath(sys.base_prefix) +-BASE_EXEC_PREFIX = os.path.normpath(sys.base_exec_prefix) ++if "_python_sysroot" in os.environ: ++ _sysroot=os.environ.get('_python_sysroot') ++ PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_prefix')) ++ EXEC_PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_exec_prefix')) ++ BASE_PREFIX = PREFIX ++ BASE_EXEC_PREFIX = EXEC_PREFIX ++else: ++ PREFIX = os.path.normpath(sys.prefix) ++ EXEC_PREFIX = os.path.normpath(sys.exec_prefix) ++ BASE_PREFIX = os.path.normpath(sys.base_prefix) ++ BASE_EXEC_PREFIX = os.path.normpath(sys.base_exec_prefix) + + # Path to the base directory of the project. On Windows the binary may + # live in project/PCBuild/win32 or project/PCBuild/amd64. +-- +2.13.5 + diff --git a/package/python3/0004-Disable-buggy_getaddrinfo-configure-test-when-cross-.patch b/package/python3/0004-Disable-buggy_getaddrinfo-configure-test-when-cross-.patch deleted file mode 100644 index 183d6b300f..0000000000 --- a/package/python3/0004-Disable-buggy_getaddrinfo-configure-test-when-cross-.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 093caf46b7a742ee2f7bcf617a915ac1653aa8ac Mon Sep 17 00:00:00 2001 -From: Vanya Sergeev -Date: Wed, 23 Dec 2015 11:30:33 +0100 -Subject: [PATCH] Disable buggy_getaddrinfo configure test when cross-compiling - with IPv6 support - -Signed-off-by: Vanya Sergeev ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 66d4642..c492594 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -3662,7 +3662,7 @@ fi - - AC_MSG_RESULT($ac_cv_buggy_getaddrinfo) - --if test $have_getaddrinfo = no || test "$ac_cv_buggy_getaddrinfo" = yes -+if test $have_getaddrinfo = no || test "$cross_compiling" != "yes" -a "$ac_cv_buggy_getaddrinfo" = yes - then - if test $ipv6 = yes - then --- -2.6.4 - diff --git a/package/python3/0005-Add-infrastructure-to-disable-the-build-of-certain-e.patch b/package/python3/0005-Add-infrastructure-to-disable-the-build-of-certain-e.patch deleted file mode 100644 index 76a553b505..0000000000 --- a/package/python3/0005-Add-infrastructure-to-disable-the-build-of-certain-e.patch +++ /dev/null @@ -1,106 +0,0 @@ -From 3a9f4aa255909ed152883eee787313efd20dbc58 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 23 Dec 2015 11:31:08 +0100 -Subject: [PATCH] Add infrastructure to disable the build of certain extensions - -Some of the extensions part of the Python core have dependencies on -external libraries (sqlite, tk, etc.) or are relatively big and not -necessarly always useful (CJK codecs for example). By extensions, we -mean part of Python modules that are written in C and therefore -compiled to binary code. - -Therefore, we introduce a small infrastructure that allows to disable -some of those extensions. This can be done inside the configure.ac by -adding values to the DISABLED_EXTENSIONS variable (which is a -word-separated list of extensions). - -The implementation works as follow : - - * configure.ac defines a DISABLED_EXTENSIONS variable, which is - substituted (so that when Makefile.pre is generated from - Makefile.pre.in, the value of the variable is substituted). For - now, this DISABLED_EXTENSIONS variable is empty, later patches will - use it. - - * Makefile.pre.in passes the DISABLED_EXTENSIONS value down to the - variables passed in the environment when calling the setup.py - script that actually builds and installs those extensions. - - * setup.py is modified so that the existing "disabled_module_list" is - filled with those pre-disabled extensions listed in - DISABLED_EXTENSIONS. - -Patch ported to python2.7 by Maxime Ripard , and -then extended by Thomas Petazzoni -. - -Signed-off-by: Thomas Petazzoni ---- - Makefile.pre.in | 6 +++++- - configure.ac | 2 ++ - setup.py | 5 ++++- - 3 files changed, 11 insertions(+), 2 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 272f312..9420860 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -182,6 +182,8 @@ FILEMODE= 644 - # configure script arguments - CONFIG_ARGS= @CONFIG_ARGS@ - -+# disabled extensions -+DISABLED_EXTENSIONS= @DISABLED_EXTENSIONS@ - - # Subdirectories with code - SRCDIRS= @SRCDIRS@ -@@ -600,6 +602,7 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt - esac; \ - $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \ - _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \ -+ DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" \ - $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build - - # Build static library -@@ -1425,7 +1428,8 @@ libainstall: all python-config - # Install the dynamically loadable modules - # This goes into $(exec_prefix) - sharedinstall: sharedmods -- $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \ -+ $(RUNSHARED) DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" \ -+ $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \ - --prefix=$(prefix) \ - --install-scripts=$(BINDIR) \ - --install-platlib=$(DESTSHARED) \ -diff --git a/configure.ac b/configure.ac -index c492594..bfb599e 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2588,6 +2588,8 @@ LIBS="$withval $LIBS" - - PKG_PROG_PKG_CONFIG - -+AC_SUBST(DISABLED_EXTENSIONS) -+ - # Check for use of the system expat library - AC_MSG_CHECKING(for --with-system-expat) - AC_ARG_WITH(system_expat, -diff --git a/setup.py b/setup.py -index dbd2a3c..1ebfa50 100644 ---- a/setup.py -+++ b/setup.py -@@ -44,7 +44,10 @@ host_platform = get_platform() - COMPILED_WITH_PYDEBUG = ('--with-pydebug' in sysconfig.get_config_var("CONFIG_ARGS")) - - # This global variable is used to hold the list of modules to be disabled. --disabled_module_list = [] -+try: -+ disabled_module_list = sysconfig.get_config_var("DISABLED_EXTENSIONS").split(" ") -+except KeyError: -+ disabled_module_list = list() - - def add_dir_to_list(dirlist, dir): - """Add the directory 'dir' to the list 'dirlist' (after any relative --- -2.6.4 - diff --git a/package/python3/0005-Don-t-look-in-usr-lib-termcap-for-libraries.patch b/package/python3/0005-Don-t-look-in-usr-lib-termcap-for-libraries.patch new file mode 100644 index 0000000000..250d6ec538 --- /dev/null +++ b/package/python3/0005-Don-t-look-in-usr-lib-termcap-for-libraries.patch @@ -0,0 +1,31 @@ +From 01b588baf835ec95df7c5696eff1f6c07eaa1108 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 23 Dec 2015 11:36:00 +0100 +Subject: [PATCH] Don't look in /usr/lib/termcap for libraries + +Signed-off-by: Thomas Petazzoni +--- + setup.py | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/setup.py b/setup.py +index 86643ae8bf..cd00fbdbda 100644 +--- a/setup.py ++++ b/setup.py +@@ -786,12 +786,9 @@ class PyBuildExt(build_ext): + pass # Issue 7384: Already linked against curses or tinfo. + elif curses_library: + readline_libs.append(curses_library) +- elif self.compiler.find_library_file(lib_dirs + +- ['/usr/lib/termcap'], +- 'termcap'): ++ elif self.compiler.find_library_file(lib_dirs, 'termcap'): + readline_libs.append('termcap') + exts.append( Extension('readline', ['readline.c'], +- library_dirs=['/usr/lib/termcap'], + extra_link_args=readline_extra_link_args, + libraries=readline_libs) ) + else: +-- +2.13.5 + diff --git a/package/python3/0006-Don-t-add-multiarch-paths.patch b/package/python3/0006-Don-t-add-multiarch-paths.patch new file mode 100644 index 0000000000..220c54cde8 --- /dev/null +++ b/package/python3/0006-Don-t-add-multiarch-paths.patch @@ -0,0 +1,37 @@ +From 9055171433d5f6beae90815e8c075dc1e0938936 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 23 Dec 2015 11:36:27 +0100 +Subject: [PATCH] Don't add multiarch paths + +The add_multiarch_paths() function leads, in certain build +environments, to the addition of host header paths to the CFLAGS, +which is not appropriate for cross-compilation. This patch fixes that +by simply removing the call to add_multiarch_paths() when we're +cross-compiling. + +Investigation done by David . + +Signed-off-by: Thomas Petazzoni +--- + setup.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index cd00fbdbda..c956fa08d1 100644 +--- a/setup.py ++++ b/setup.py +@@ -497,10 +497,10 @@ class PyBuildExt(build_ext): + if not cross_compiling: + add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') + add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') ++ self.add_multiarch_paths() + # only change this for cross builds for 3.3, issues on Mageia + if cross_compiling: + self.add_gcc_paths() +- self.add_multiarch_paths() + + # Add paths specified in the environment variables LDFLAGS and + # CPPFLAGS for header and library files. +-- +2.13.5 + diff --git a/package/python3/0006-distutils-sysconfig-use-sysconfigdata.patch b/package/python3/0006-distutils-sysconfig-use-sysconfigdata.patch deleted file mode 100644 index b3e41b10d5..0000000000 --- a/package/python3/0006-distutils-sysconfig-use-sysconfigdata.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 7c560d917ee0e536c76fac275d1cb0b6136269ab Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 23 Dec 2015 11:32:23 +0100 -Subject: [PATCH] distutils/sysconfig: use sysconfigdata - -In order to make the use of sysconfig cross-compilation compatible, -use _sysconfigdata. - -Signed-off-by: Thomas Petazzoni ---- - Lib/distutils/sysconfig.py | 37 ++++--------------------------------- - 1 file changed, 4 insertions(+), 33 deletions(-) - -diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py -index 573724d..721edec 100644 ---- a/Lib/distutils/sysconfig.py -+++ b/Lib/distutils/sysconfig.py -@@ -414,40 +414,11 @@ def expand_makefile_vars(s, vars): - _config_vars = None - - def _init_posix(): -- """Initialize the module as appropriate for POSIX systems.""" -- g = {} -- # load the installed Makefile: -- try: -- filename = get_makefile_filename() -- parse_makefile(filename, g) -- except OSError as msg: -- my_msg = "invalid Python installation: unable to open %s" % filename -- if hasattr(msg, "strerror"): -- my_msg = my_msg + " (%s)" % msg.strerror -- -- raise DistutilsPlatformError(my_msg) -- -- # load the installed pyconfig.h: -- try: -- filename = get_config_h_filename() -- with open(filename) as file: -- parse_config_h(file, g) -- except OSError as msg: -- my_msg = "invalid Python installation: unable to open %s" % filename -- if hasattr(msg, "strerror"): -- my_msg = my_msg + " (%s)" % msg.strerror -- -- raise DistutilsPlatformError(my_msg) -- -- # On AIX, there are wrong paths to the linker scripts in the Makefile -- # -- these paths are relative to the Python source, but when installed -- # the scripts are in another directory. -- if python_build: -- g['LDSHARED'] = g['BLDSHARED'] -- -+ # _sysconfigdata is generated at build time, see the sysconfig module -+ from _sysconfigdata import build_time_vars - global _config_vars -- _config_vars = g -- -+ _config_vars = {} -+ _config_vars.update(build_time_vars) - - def _init_nt(): - """Initialize the module as appropriate for NT""" --- -2.6.4 - diff --git a/package/python3/0007-Abort-on-failed-module-build.patch b/package/python3/0007-Abort-on-failed-module-build.patch new file mode 100644 index 0000000000..a44d6b3ec3 --- /dev/null +++ b/package/python3/0007-Abort-on-failed-module-build.patch @@ -0,0 +1,30 @@ +From 63ab4a20076740bd39985c7dee3d6231cdc74c75 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 23 Dec 2015 11:43:24 +0100 +Subject: [PATCH] Abort on failed module build + +When building a Python module fails, the setup.py script currently +doesn't exit with an error, and simply continues. This is not a really +nice behavior, so this patch changes setup.py to abort with an error, +so that the build issue is clearly noticeable. + +Signed-off-by: Thomas Petazzoni +--- + setup.py | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/setup.py b/setup.py +index c956fa08d1..b3add2be76 100644 +--- a/setup.py ++++ b/setup.py +@@ -312,6 +312,7 @@ class PyBuildExt(build_ext): + print("Failed to build these modules:") + print_three_column(failed) + print() ++ sys.exit(1) + + if self.failed_on_import: + failed = self.failed_on_import[:] +-- +2.13.5 + diff --git a/package/python3/0007-Adjust-library-header-paths-for-cross-compilation.patch b/package/python3/0007-Adjust-library-header-paths-for-cross-compilation.patch deleted file mode 100644 index 9ac65ba93b..0000000000 --- a/package/python3/0007-Adjust-library-header-paths-for-cross-compilation.patch +++ /dev/null @@ -1,67 +0,0 @@ -From e634929f76a45f5b683dc19bc01efed2ab83e19e Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 23 Dec 2015 11:33:14 +0100 -Subject: [PATCH] Adjust library/header paths for cross-compilation - -When cross-compiling third-party extensions, the get_python_inc() or -get_python_lib() can be called, to return the path to headers or -libraries. However, they use the sys.prefix of the host Python, which -returns incorrect paths when cross-compiling (paths pointing to host -headers and libraries). - -In order to fix this, we introduce the _python_sysroot, _python_prefix -and _python_exec_prefix variables, that allow to override these -values, and get correct header/library paths when cross-compiling -third-party Python modules. - -Signed-off-by: Thomas Petazzoni ---- - Lib/distutils/command/build_ext.py | 5 ++++- - Lib/distutils/sysconfig.py | 15 +++++++++++---- - 2 files changed, 15 insertions(+), 5 deletions(-) - -diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py -index d4cb11e..e7a0ba9 100644 ---- a/Lib/distutils/command/build_ext.py -+++ b/Lib/distutils/command/build_ext.py -@@ -232,7 +232,10 @@ class build_ext(Command): - if (sysconfig.get_config_var('Py_ENABLE_SHARED')): - if not sysconfig.python_build: - # building third party extensions -- self.library_dirs.append(sysconfig.get_config_var('LIBDIR')) -+ libdir = sysconfig.get_config_var('LIBDIR') -+ if "_python_sysroot" in os.environ: -+ libdir = os.environ.get("_python_sysroot") + libdir -+ self.library_dirs.append(libdir) - else: - # building python standard extensions - self.library_dirs.append('.') -diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py -index 721edec..d20e2d8 100644 ---- a/Lib/distutils/sysconfig.py -+++ b/Lib/distutils/sysconfig.py -@@ -17,10 +17,17 @@ import sys - from .errors import DistutilsPlatformError - - # These are needed in a couple of spots, so just compute them once. --PREFIX = os.path.normpath(sys.prefix) --EXEC_PREFIX = os.path.normpath(sys.exec_prefix) --BASE_PREFIX = os.path.normpath(sys.base_prefix) --BASE_EXEC_PREFIX = os.path.normpath(sys.base_exec_prefix) -+if "_python_sysroot" in os.environ: -+ _sysroot=os.environ.get('_python_sysroot') -+ PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_prefix')) -+ EXEC_PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_exec_prefix')) -+ BASE_PREFIX = PREFIX -+ BASE_EXEC_PREFIX = EXEC_PREFIX -+else: -+ PREFIX = os.path.normpath(sys.prefix) -+ EXEC_PREFIX = os.path.normpath(sys.exec_prefix) -+ BASE_PREFIX = os.path.normpath(sys.base_prefix) -+ BASE_EXEC_PREFIX = os.path.normpath(sys.base_exec_prefix) - - # Path to the base directory of the project. On Windows the binary may - # live in project/PCBuild/win32 or project/PCBuild/amd64. --- -2.6.4 - diff --git a/package/python3/0008-Serial-ioctl-workaround.patch b/package/python3/0008-Serial-ioctl-workaround.patch new file mode 100644 index 0000000000..f303bd04db --- /dev/null +++ b/package/python3/0008-Serial-ioctl-workaround.patch @@ -0,0 +1,33 @@ +From 20767cb868ff271f4501a6e023f367400882d75e Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Wed, 23 Dec 2015 11:44:02 +0100 +Subject: [PATCH] Serial ioctl() workaround + +The ioctls.h of some architectures (notably xtensa) references structs from +linux/serial.h. Make sure to include this header as well. + +Also, undef TIOCTTYGSTRUCT that require reference to internal kernel tty_struct, +but isn't actually referenced in modern kernels. + +Signed-off-by: Baruch Siach +--- + Modules/termios.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/Modules/termios.c b/Modules/termios.c +index b78d33e688..58b0444565 100644 +--- a/Modules/termios.c ++++ b/Modules/termios.c +@@ -9,7 +9,9 @@ + #endif + + #include ++#include + #include ++#undef TIOCTTYGSTRUCT + + /* HP-UX requires that this be included to pick up MDCD, MCTS, MDSR, + * MDTR, MRI, and MRTS (appearantly used internally by some things +-- +2.13.5 + diff --git a/package/python3/0009-Do-not-adjust-the-shebang-of-Python-scripts-for-cros.patch b/package/python3/0009-Do-not-adjust-the-shebang-of-Python-scripts-for-cros.patch new file mode 100644 index 0000000000..ce84d11bcf --- /dev/null +++ b/package/python3/0009-Do-not-adjust-the-shebang-of-Python-scripts-for-cros.patch @@ -0,0 +1,35 @@ +From 8869b15c754ae615203b65a99e043f56770bacd5 Mon Sep 17 00:00:00 2001 +From: Christophe Vu-Brugier +Date: Wed, 23 Dec 2015 11:44:30 +0100 +Subject: [PATCH] Do not adjust the shebang of Python scripts for + cross-compilation + +The copy_scripts() method in distutils copies the scripts listed in +the setup file and adjusts the first line to refer to the current +Python interpreter. When cross-compiling, this means that the adjusted +shebang refers to the host Python interpreter. + +This patch modifies copy_scripts() to preserve the shebang when +cross-compilation is detected. + +Signed-off-by: Christophe Vu-Brugier +--- + Lib/distutils/command/build_scripts.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Lib/distutils/command/build_scripts.py b/Lib/distutils/command/build_scripts.py +index ccc70e6465..d6d54195c1 100644 +--- a/Lib/distutils/command/build_scripts.py ++++ b/Lib/distutils/command/build_scripts.py +@@ -91,7 +91,7 @@ class build_scripts(Command): + adjust = True + post_interp = match.group(1) or b'' + +- if adjust: ++ if adjust and not '_python_sysroot' in os.environ: + log.info("copying and adjusting %s -> %s", script, + self.build_dir) + updated_files.append(outfile) +-- +2.13.5 + diff --git a/package/python3/0009-Don-t-add-multiarch-paths.patch b/package/python3/0009-Don-t-add-multiarch-paths.patch deleted file mode 100644 index 921e25ccbe..0000000000 --- a/package/python3/0009-Don-t-add-multiarch-paths.patch +++ /dev/null @@ -1,37 +0,0 @@ -From bac5ac529cc0902a340a5cd03308433c6e80d1f6 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 23 Dec 2015 11:36:27 +0100 -Subject: [PATCH] Don't add multiarch paths - -The add_multiarch_paths() function leads, in certain build -environments, to the addition of host header paths to the CFLAGS, -which is not appropriate for cross-compilation. This patch fixes that -by simply removing the call to add_multiarch_paths() when we're -cross-compiling. - -Investigation done by David . - -Signed-off-by: Thomas Petazzoni ---- - setup.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/setup.py b/setup.py -index 24a7153..8380a64 100644 ---- a/setup.py -+++ b/setup.py -@@ -474,10 +474,10 @@ class PyBuildExt(build_ext): - if not cross_compiling: - add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') - add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') -+ self.add_multiarch_paths() - # only change this for cross builds for 3.3, issues on Mageia - if cross_compiling: - self.add_gcc_paths() -- self.add_multiarch_paths() - - # Add paths specified in the environment variables LDFLAGS and - # CPPFLAGS for header and library files. --- -2.6.4 - diff --git a/package/python3/0010-Abort-on-failed-module-build.patch b/package/python3/0010-Abort-on-failed-module-build.patch deleted file mode 100644 index 131354b3f5..0000000000 --- a/package/python3/0010-Abort-on-failed-module-build.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 86ef08e36597e14cac06aef176f12375a27fdef5 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 23 Dec 2015 11:43:24 +0100 -Subject: [PATCH] Abort on failed module build - -When building a Python module fails, the setup.py script currently -doesn't exit with an error, and simply continues. This is not a really -nice behavior, so this patch changes setup.py to abort with an error, -so that the build issue is clearly noticeable. - -Signed-off-by: Thomas Petazzoni ---- - setup.py | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/setup.py b/setup.py -index 8380a64..15b39f5 100644 ---- a/setup.py -+++ b/setup.py -@@ -296,6 +296,7 @@ class PyBuildExt(build_ext): - print("Failed to build these modules:") - print_three_column(failed) - print() -+ sys.exit(1) - - if self.failed_on_import: - failed = self.failed_on_import[:] --- -2.6.4 - diff --git a/package/python3/0010-Misc-python-config.sh.in-ensure-sed-invocations-only.patch b/package/python3/0010-Misc-python-config.sh.in-ensure-sed-invocations-only.patch new file mode 100644 index 0000000000..786e958751 --- /dev/null +++ b/package/python3/0010-Misc-python-config.sh.in-ensure-sed-invocations-only.patch @@ -0,0 +1,60 @@ +From da3880edac19100f69891f225cc2f07a82be1e52 Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Thu, 20 Nov 2014 13:24:59 +0100 +Subject: [PATCH] Misc/python-config.sh.in: ensure sed invocations only match + beginning of strings + +The build/real prefix handling using sed breaks if build != real and the +standard include / lib directories are used ($prefix/include and $prefix/lib). + +E.G. + +prefix_build="/usr", libdir="$prefix/lib", includedir="$prefix/include". + +If this gets installed with make DESTDIR="/foo" install, then we end up with +prefix_real = prefix = "/foo/usr" as expected, but +includedir="/foo/foo/usr/include" and libdir="/foo/foo/usr/lib" because of +the double sed invocation (prefix is already expanded). Work around it by +ensuring we only match the beginning of the string. + +Submitted upstream: http://bugs.python.org/issue22907 + +Signed-off-by: Peter Korsgaard +--- + Misc/python-config.sh.in | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/Misc/python-config.sh.in b/Misc/python-config.sh.in +index 30c6927871..f905a7132f 100644 +--- a/Misc/python-config.sh.in ++++ b/Misc/python-config.sh.in +@@ -29,12 +29,12 @@ prefix_real=$(installed_prefix "$0") + + # Use sed to fix paths from their built-to locations to their installed-to + # locations. +-prefix=$(echo "$prefix_build" | sed "s#$prefix_build#$prefix_real#") ++prefix=$(echo "$prefix_build" | sed "s#^$prefix_build#$prefix_real#") + exec_prefix_build="@exec_prefix@" +-exec_prefix=$(echo "$exec_prefix_build" | sed "s#$exec_prefix_build#$prefix_real#") +-includedir=$(echo "@includedir@" | sed "s#$prefix_build#$prefix_real#") +-libdir=$(echo "@libdir@" | sed "s#$prefix_build#$prefix_real#") +-CFLAGS=$(echo "@CFLAGS@" | sed "s#$prefix_build#$prefix_real#") ++exec_prefix=$(echo "$exec_prefix_build" | sed "s#^$exec_prefix_build#$prefix_real#") ++includedir=$(echo "@includedir@" | sed "s#^$prefix_build#$prefix_real#") ++libdir=$(echo "@libdir@" | sed "s#^$prefix_build#$prefix_real#") ++CFLAGS=$(echo "@CFLAGS@" | sed "s#^$prefix_build#$prefix_real#") + VERSION="@VERSION@" + LIBM="@LIBM@" + LIBC="@LIBC@" +@@ -48,7 +48,7 @@ OPT="@OPT@" + PY_ENABLE_SHARED="@PY_ENABLE_SHARED@" + LDVERSION="@LDVERSION@" + LIBDEST=${prefix}/lib/python${VERSION} +-LIBPL=$(echo "@LIBPL@" | sed "s#$prefix_build#$prefix_real#") ++LIBPL=$(echo "@LIBPL@" | sed "s#^$prefix_build#$prefix_real#") + SO="@EXT_SUFFIX@" + PYTHONFRAMEWORK="@PYTHONFRAMEWORK@" + INCDIR="-I$includedir/python${VERSION}${ABIFLAGS}" +-- +2.13.5 + diff --git a/package/python3/0011-Override-system-locale-and-set-to-default-when-addin.patch b/package/python3/0011-Override-system-locale-and-set-to-default-when-addin.patch new file mode 100644 index 0000000000..1c1484011f --- /dev/null +++ b/package/python3/0011-Override-system-locale-and-set-to-default-when-addin.patch @@ -0,0 +1,37 @@ +From 660ea434ad8f921db74c0e3f93aa3ff5daac44f3 Mon Sep 17 00:00:00 2001 +From: Samuel Cabrero +Date: Wed, 23 Dec 2015 11:45:48 +0100 +Subject: [PATCH] Override system locale and set to default when adding gcc + paths + +Forces the use of the default locale in the function +add_gcc_paths, which is called when cross compiling to add the +include and library paths. This is necessary because otherwise +the gcc output is localized and the output parsing fails, which +results in no paths added and detect_modules not able to find +any system library (eg. libz, libssl, etc.) + +[Thomas: patch taken from https://bugs.python.org/issue23767.] + +Signed-off-by: Samuel Cabrero +Signed-off-by: Thomas Petazzoni +--- + setup.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index b3add2be76..29bfd174d2 100644 +--- a/setup.py ++++ b/setup.py +@@ -457,7 +457,7 @@ class PyBuildExt(build_ext): + tmpfile = os.path.join(self.build_temp, 'gccpaths') + if not os.path.exists(self.build_temp): + os.makedirs(self.build_temp) +- ret = os.system('%s -E -v - %s 1>/dev/null' % (gcc, tmpfile)) ++ ret = os.system('LC_ALL=C %s -E -v - %s 1>/dev/null' % (gcc, tmpfile)) + is_gcc = False + in_incdirs = False + inc_dirs = [] +-- +2.13.5 + diff --git a/package/python3/0011-Serial-ioctl-workaround.patch b/package/python3/0011-Serial-ioctl-workaround.patch deleted file mode 100644 index 9e7d79c49f..0000000000 --- a/package/python3/0011-Serial-ioctl-workaround.patch +++ /dev/null @@ -1,33 +0,0 @@ -From ace3ebd517ea0ac42208b6a06c7e8f82da3b9c1b Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Wed, 23 Dec 2015 11:44:02 +0100 -Subject: [PATCH] Serial ioctl() workaround - -The ioctls.h of some architectures (notably xtensa) references structs from -linux/serial.h. Make sure to include this header as well. - -Also, undef TIOCTTYGSTRUCT that require reference to internal kernel tty_struct, -but isn't actually referenced in modern kernels. - -Signed-off-by: Baruch Siach ---- - Modules/termios.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/Modules/termios.c b/Modules/termios.c -index b78d33e..58b0444 100644 ---- a/Modules/termios.c -+++ b/Modules/termios.c -@@ -9,7 +9,9 @@ - #endif - - #include -+#include - #include -+#undef TIOCTTYGSTRUCT - - /* HP-UX requires that this be included to pick up MDCD, MCTS, MDSR, - * MDTR, MRI, and MRTS (appearantly used internally by some things --- -2.6.4 - diff --git a/package/python3/0012-Add-importlib-fix-for-PEP-3147-issue.patch b/package/python3/0012-Add-importlib-fix-for-PEP-3147-issue.patch new file mode 100644 index 0000000000..ed0ca26eb7 --- /dev/null +++ b/package/python3/0012-Add-importlib-fix-for-PEP-3147-issue.patch @@ -0,0 +1,99 @@ +From 9db508467be41bc35f06c0076c855b99a1519d24 Mon Sep 17 00:00:00 2001 +From: Christophe Vu-Brugier +Date: Wed, 22 Feb 2017 16:48:49 -0800 +Subject: [PATCH] Add importlib fix for PEP 3147 issue + +Python 3 has a new standard for installing .pyc file, called PEP +3147. Unfortunately, this standard requires both the .py and .pyc +files to be installed for a Python module to be found. This is quite +annoying on space-constrained embedded systems, since the .py file is +technically not required for execution. + +This patch changes cache_from_source() and source_from_cache() in +importlib to get rid of the "__pycache__" directory. +This effectively disables PEP 3147 for: + +* The python standard library +* Packages built with distutils or setuptools +* Packages built with automake that use the `py-compile` helper + +Signed-off-by: Christophe Vu-Brugier +[ Andrey Smirnov: ported to Python 3.6 ] +Signed-off-by: Andrey Smirnov +--- + Lib/importlib/_bootstrap_external.py | 38 +++++------------------------------- + 1 file changed, 5 insertions(+), 33 deletions(-) + +diff --git a/Lib/importlib/_bootstrap_external.py b/Lib/importlib/_bootstrap_external.py +index 9feec50842..3550013d58 100644 +--- a/Lib/importlib/_bootstrap_external.py ++++ b/Lib/importlib/_bootstrap_external.py +@@ -275,8 +275,6 @@ def cache_from_source(path, debug_override=None, *, optimization=None): + a True value is the same as setting 'optimization' to the empty string + while a False value is equivalent to setting 'optimization' to '1'. + +- If sys.implementation.cache_tag is None then NotImplementedError is raised. +- + """ + if debug_override is not None: + _warnings.warn('the debug_override parameter is deprecated; use ' +@@ -288,10 +286,7 @@ def cache_from_source(path, debug_override=None, *, optimization=None): + path = _os.fspath(path) + head, tail = _path_split(path) + base, sep, rest = tail.rpartition('.') +- tag = sys.implementation.cache_tag +- if tag is None: +- raise NotImplementedError('sys.implementation.cache_tag is None') +- almost_filename = ''.join([(base if base else rest), sep, tag]) ++ almost_filename = ''.join([(base if base else rest)]) + if optimization is None: + if sys.flags.optimize == 0: + optimization = '' +@@ -302,40 +297,17 @@ def cache_from_source(path, debug_override=None, *, optimization=None): + if not optimization.isalnum(): + raise ValueError('{!r} is not alphanumeric'.format(optimization)) + almost_filename = '{}.{}{}'.format(almost_filename, _OPT, optimization) +- return _path_join(head, _PYCACHE, almost_filename + BYTECODE_SUFFIXES[0]) ++ return _path_join(head, almost_filename + BYTECODE_SUFFIXES[0]) + + + def source_from_cache(path): + """Given the path to a .pyc. file, return the path to its .py file. + + The .pyc file does not need to exist; this simply returns the path to +- the .py file calculated to correspond to the .pyc file. If path does +- not conform to PEP 3147/488 format, ValueError will be raised. If +- sys.implementation.cache_tag is None then NotImplementedError is raised. +- ++ the .py file calculated to correspond to the .pyc file. + """ +- if sys.implementation.cache_tag is None: +- raise NotImplementedError('sys.implementation.cache_tag is None') +- path = _os.fspath(path) +- head, pycache_filename = _path_split(path) +- head, pycache = _path_split(head) +- if pycache != _PYCACHE: +- raise ValueError('{} not bottom-level directory in ' +- '{!r}'.format(_PYCACHE, path)) +- dot_count = pycache_filename.count('.') +- if dot_count not in {2, 3}: +- raise ValueError('expected only 2 or 3 dots in ' +- '{!r}'.format(pycache_filename)) +- elif dot_count == 3: +- optimization = pycache_filename.rsplit('.', 2)[-2] +- if not optimization.startswith(_OPT): +- raise ValueError("optimization portion of filename does not start " +- "with {!r}".format(_OPT)) +- opt_level = optimization[len(_OPT):] +- if not opt_level.isalnum(): +- raise ValueError("optimization level {!r} is not an alphanumeric " +- "value".format(optimization)) +- base_filename = pycache_filename.partition('.')[0] ++ head, filename = _path_split(path) ++ base_filename = filename.partition('.')[0] + return _path_join(head, base_filename + SOURCE_SUFFIXES[0]) + + +-- +2.13.5 + diff --git a/package/python3/0012-Do-not-adjust-the-shebang-of-Python-scripts-for-cros.patch b/package/python3/0012-Do-not-adjust-the-shebang-of-Python-scripts-for-cros.patch deleted file mode 100644 index 2e50c1b1af..0000000000 --- a/package/python3/0012-Do-not-adjust-the-shebang-of-Python-scripts-for-cros.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 45f482813de828415906e6a416c9c35450c38da7 Mon Sep 17 00:00:00 2001 -From: Christophe Vu-Brugier -Date: Wed, 23 Dec 2015 11:44:30 +0100 -Subject: [PATCH] Do not adjust the shebang of Python scripts for - cross-compilation - -The copy_scripts() method in distutils copies the scripts listed in -the setup file and adjusts the first line to refer to the current -Python interpreter. When cross-compiling, this means that the adjusted -shebang refers to the host Python interpreter. - -This patch modifies copy_scripts() to preserve the shebang when -cross-compilation is detected. - -Signed-off-by: Christophe Vu-Brugier ---- - Lib/distutils/command/build_scripts.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Lib/distutils/command/build_scripts.py b/Lib/distutils/command/build_scripts.py -index 90a8380..bdf4cf1 100644 ---- a/Lib/distutils/command/build_scripts.py -+++ b/Lib/distutils/command/build_scripts.py -@@ -91,7 +91,7 @@ class build_scripts(Command): - adjust = True - post_interp = match.group(1) or b'' - -- if adjust: -+ if adjust and not '_python_sysroot' in os.environ: - log.info("copying and adjusting %s -> %s", script, - self.build_dir) - updated_files.append(outfile) --- -2.6.4 - diff --git a/package/python3/0013-Add-an-option-to-disable-installation-of-test-module.patch b/package/python3/0013-Add-an-option-to-disable-installation-of-test-module.patch new file mode 100644 index 0000000000..fc27eda115 --- /dev/null +++ b/package/python3/0013-Add-an-option-to-disable-installation-of-test-module.patch @@ -0,0 +1,115 @@ +From bba0896a05e6406076893dd2f4c3b330e41082a6 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 22 Feb 2017 17:01:18 -0800 +Subject: [PATCH] Add an option to disable installation of test modules + +The Python standard distribution comes with many test modules, that +are not necessarly useful on embedded targets. + +Signed-off-by: Thomas Petazzoni +Signed-off-by: Samuel Martin +[ Andrey Smirnov: ported to Python 3.6 ] +Signed-off-by: Andrey Smirnov +--- + Makefile.pre.in | 55 ++++++++++++++++++++++++++++++++++++------------------- + configure.ac | 5 +++++ + 2 files changed, 41 insertions(+), 19 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index 4ce917ab8d..4110fff4ac 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1194,8 +1194,28 @@ maninstall: altmaninstall + + # Install the library + XMLLIBSUBDIRS= xml xml/dom xml/etree xml/parsers xml/sax +-LIBSUBDIRS= tkinter tkinter/test tkinter/test/test_tkinter \ +- tkinter/test/test_ttk site-packages test \ ++ ++LIBSUBDIRS= tkinter site-packages \ ++ asyncio \ ++ collections concurrent concurrent/futures encodings \ ++ email email/mime \ ++ ensurepip ensurepip/_bundled \ ++ html json http dbm xmlrpc \ ++ sqlite3 \ ++ logging csv wsgiref urllib \ ++ lib2to3 lib2to3/fixes lib2to3/pgen2 \ ++ ctypes ctypes/macholib \ ++ idlelib idlelib/Icons \ ++ distutils distutils/command $(XMLLIBSUBDIRS) \ ++ importlib \ ++ turtledemo \ ++ multiprocessing multiprocessing/dummy \ ++ unittest \ ++ venv venv/scripts venv/scripts/common venv/scripts/posix \ ++ curses pydoc_data ++ ++TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ ++ tkinter/test/test_ttk test \ + test/audiodata \ + test/capath test/data \ + test/cjkencodings test/decimaltestdata test/xmltestdata \ +@@ -1229,29 +1249,26 @@ LIBSUBDIRS= tkinter tkinter/test tkinter/test/test_tkinter \ + test/test_importlib/namespace_pkgs/project3/parent/child \ + test/test_importlib/namespace_pkgs/module_and_namespace_package \ + test/test_importlib/namespace_pkgs/module_and_namespace_package/a_test \ +- asyncio \ + test/test_asyncio \ +- collections concurrent concurrent/futures encodings \ +- email email/mime test/test_email test/test_email/data \ +- ensurepip ensurepip/_bundled \ +- html json test/test_json http dbm xmlrpc \ +- sqlite3 sqlite3/test \ +- logging csv wsgiref urllib \ +- lib2to3 lib2to3/fixes lib2to3/pgen2 lib2to3/tests \ ++ test/test_email test/test_email/data \ ++ test/test_json \ ++ sqlite3/test \ ++ lib2to3/tests \ + lib2to3/tests/data lib2to3/tests/data/fixers \ + lib2to3/tests/data/fixers/myfixes \ +- ctypes ctypes/test ctypes/macholib \ +- idlelib idlelib/Icons idlelib/idle_test \ +- distutils distutils/command distutils/tests $(XMLLIBSUBDIRS) \ +- importlib test/test_importlib test/test_importlib/builtin \ ++ ctypes/test \ ++ idlelib/idle_test \ ++ distutils/tests \ ++ test/test_importlib test/test_importlib/builtin \ + test/test_importlib/extension test/test_importlib/frozen \ + test/test_importlib/import_ test/test_importlib/source \ + test/test_tools test/test_warnings test/test_warnings/data \ +- turtledemo \ +- multiprocessing multiprocessing/dummy \ +- unittest unittest/test unittest/test/testmock \ +- venv venv/scripts venv/scripts/common venv/scripts/posix \ +- curses pydoc_data ++ unittest/test unittest/test/testmock ++ ++ifeq (@TEST_MODULES@,yes) ++LIBSUBDIRS += $(TESTSUBDIRS) ++endif ++ + libinstall: build_all $(srcdir)/Modules/xxmodule.c + @for i in $(SCRIPTDIR) $(LIBDEST); \ + do \ +diff --git a/configure.ac b/configure.ac +index d5ee2aedfb..f924937fe1 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3112,6 +3112,11 @@ if test "$posix_threads" = "yes"; then + AC_CHECK_FUNCS(pthread_atfork) + fi + ++AC_SUBST(TEST_MODULES) ++ ++AC_ARG_ENABLE(test-modules, ++ AS_HELP_STRING([--disable-test-modules], [disable test modules]), ++ [ TEST_MODULES="${enableval}" ], [ TEST_MODULES=yes ]) + + # Check for enable-ipv6 + AH_TEMPLATE(ENABLE_IPV6, [Define if --enable-ipv6 is specified]) +-- +2.13.5 + diff --git a/package/python3/0013-Misc-python-config.sh.in-ensure-sed-invocations-only.patch b/package/python3/0013-Misc-python-config.sh.in-ensure-sed-invocations-only.patch deleted file mode 100644 index 872f04023f..0000000000 --- a/package/python3/0013-Misc-python-config.sh.in-ensure-sed-invocations-only.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 5858abdc25acd522869103d64b60a0c9687e2ec1 Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Thu, 20 Nov 2014 13:24:59 +0100 -Subject: [PATCH] Misc/python-config.sh.in: ensure sed invocations only match - beginning of strings - -The build/real prefix handling using sed breaks if build != real and the -standard include / lib directories are used ($prefix/include and $prefix/lib). - -E.G. - -prefix_build="/usr", libdir="$prefix/lib", includedir="$prefix/include". - -If this gets installed with make DESTDIR="/foo" install, then we end up with -prefix_real = prefix = "/foo/usr" as expected, but -includedir="/foo/foo/usr/include" and libdir="/foo/foo/usr/lib" because of -the double sed invocation (prefix is already expanded). Work around it by -ensuring we only match the beginning of the string. - -Submitted upstream: http://bugs.python.org/issue22907 - -Signed-off-by: Peter Korsgaard ---- - Misc/python-config.sh.in | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/Misc/python-config.sh.in b/Misc/python-config.sh.in -index 30c6927..f905a71 100644 ---- a/Misc/python-config.sh.in -+++ b/Misc/python-config.sh.in -@@ -29,12 +29,12 @@ prefix_real=$(installed_prefix "$0") - - # Use sed to fix paths from their built-to locations to their installed-to - # locations. --prefix=$(echo "$prefix_build" | sed "s#$prefix_build#$prefix_real#") -+prefix=$(echo "$prefix_build" | sed "s#^$prefix_build#$prefix_real#") - exec_prefix_build="@exec_prefix@" --exec_prefix=$(echo "$exec_prefix_build" | sed "s#$exec_prefix_build#$prefix_real#") --includedir=$(echo "@includedir@" | sed "s#$prefix_build#$prefix_real#") --libdir=$(echo "@libdir@" | sed "s#$prefix_build#$prefix_real#") --CFLAGS=$(echo "@CFLAGS@" | sed "s#$prefix_build#$prefix_real#") -+exec_prefix=$(echo "$exec_prefix_build" | sed "s#^$exec_prefix_build#$prefix_real#") -+includedir=$(echo "@includedir@" | sed "s#^$prefix_build#$prefix_real#") -+libdir=$(echo "@libdir@" | sed "s#^$prefix_build#$prefix_real#") -+CFLAGS=$(echo "@CFLAGS@" | sed "s#^$prefix_build#$prefix_real#") - VERSION="@VERSION@" - LIBM="@LIBM@" - LIBC="@LIBC@" -@@ -48,7 +48,7 @@ OPT="@OPT@" - PY_ENABLE_SHARED="@PY_ENABLE_SHARED@" - LDVERSION="@LDVERSION@" - LIBDEST=${prefix}/lib/python${VERSION} --LIBPL=$(echo "@LIBPL@" | sed "s#$prefix_build#$prefix_real#") -+LIBPL=$(echo "@LIBPL@" | sed "s#^$prefix_build#$prefix_real#") - SO="@EXT_SUFFIX@" - PYTHONFRAMEWORK="@PYTHONFRAMEWORK@" - INCDIR="-I$includedir/python${VERSION}${ABIFLAGS}" --- -2.6.4 - diff --git a/package/python3/0014-Add-an-option-to-disable-pydoc.patch b/package/python3/0014-Add-an-option-to-disable-pydoc.patch new file mode 100644 index 0000000000..fc565cfe10 --- /dev/null +++ b/package/python3/0014-Add-an-option-to-disable-pydoc.patch @@ -0,0 +1,99 @@ +From 18a754e930e03d143d9392e49174cc370b334cdd Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 22 Feb 2017 17:07:56 -0800 +Subject: [PATCH] Add an option to disable pydoc + +It removes 0.5 MB of data from the target plus the pydoc script +itself. + +Signed-off-by: Thomas Petazzoni +Signed-off-by: Samuel Martin +[ Andrey Smirnov: ported to Python 3.6 ] +Signed-off-by: Andrey Smirnov +--- + Makefile.pre.in | 8 +++++++- + configure.ac | 6 ++++++ + setup.py | 9 +++++++-- + 3 files changed, 20 insertions(+), 3 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index 4110fff4ac..badb2af35d 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1164,7 +1164,9 @@ bininstall: altbininstall + -rm -f $(DESTDIR)$(BINDIR)/idle3 + (cd $(DESTDIR)$(BINDIR); $(LN) -s idle$(VERSION) idle3) + -rm -f $(DESTDIR)$(BINDIR)/pydoc3 ++ifeq (@PYDOC@,yes) + (cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3) ++endif + -rm -f $(DESTDIR)$(BINDIR)/2to3 + (cd $(DESTDIR)$(BINDIR); $(LN) -s 2to3-$(VERSION) 2to3) + -rm -f $(DESTDIR)$(BINDIR)/pyvenv +@@ -1212,7 +1214,7 @@ LIBSUBDIRS= tkinter site-packages \ + multiprocessing multiprocessing/dummy \ + unittest \ + venv venv/scripts venv/scripts/common venv/scripts/posix \ +- curses pydoc_data ++ curses + + TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ + tkinter/test/test_ttk test \ +@@ -1269,6 +1271,10 @@ ifeq (@TEST_MODULES@,yes) + LIBSUBDIRS += $(TESTSUBDIRS) + endif + ++ifeq (@PYDOC@,yes) ++LIBSUBDIRS += pydoc_data ++endif ++ + libinstall: build_all $(srcdir)/Modules/xxmodule.c + @for i in $(SCRIPTDIR) $(LIBDEST); \ + do \ +diff --git a/configure.ac b/configure.ac +index f924937fe1..1621fa1611 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3112,6 +3112,12 @@ if test "$posix_threads" = "yes"; then + AC_CHECK_FUNCS(pthread_atfork) + fi + ++AC_SUBST(PYDOC) ++ ++AC_ARG_ENABLE(pydoc, ++ AS_HELP_STRING([--disable-pydoc], [disable pydoc]), ++ [ PYDOC="${enableval}" ], [ PYDOC=yes ]) ++ + AC_SUBST(TEST_MODULES) + + AC_ARG_ENABLE(test-modules, +diff --git a/setup.py b/setup.py +index 29bfd174d2..94dd337fef 100644 +--- a/setup.py ++++ b/setup.py +@@ -2281,6 +2281,12 @@ def main(): + # turn off warnings when deprecated modules are imported + import warnings + warnings.filterwarnings("ignore",category=DeprecationWarning) ++ ++ scripts = ['Tools/scripts/idle3', 'Tools/scripts/2to3', ++ 'Lib/smtpd.py'] ++ if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"): ++ scripts += [ 'Tools/scripts/pydoc3' ] ++ + setup(# PyPI Metadata (PEP 301) + name = "Python", + version = sys.version.split()[0], +@@ -2305,8 +2311,7 @@ def main(): + # If you change the scripts installed here, you also need to + # check the PyBuildScripts command above, and change the links + # created by the bininstall target in Makefile.pre.in +- scripts = ["Tools/scripts/pydoc3", "Tools/scripts/idle3", +- "Tools/scripts/2to3", "Tools/scripts/pyvenv"] ++ scripts = scripts + ) + + # --install-platlib +-- +2.13.5 + diff --git a/package/python3/0014-Do-not-harcode-invalid-path-to-ncursesw-headers.patch b/package/python3/0014-Do-not-harcode-invalid-path-to-ncursesw-headers.patch deleted file mode 100644 index f11d946461..0000000000 --- a/package/python3/0014-Do-not-harcode-invalid-path-to-ncursesw-headers.patch +++ /dev/null @@ -1,30 +0,0 @@ -From be44636b36086ca1b6de24265b7c3cc0c2bae913 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 23 Dec 2015 11:45:13 +0100 -Subject: [PATCH] Do not harcode invalid path to ncursesw headers - -Adding /usr/include/ncursesw is obviously invalid when -cross-compiling. Since the ncursesw headers are no longer installed in -usr/include/ncursesw/, but directly in usr/include, there is anyway no -need for a special header path. - -Signed-off-by: Thomas Petazzoni ---- - setup.py | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/setup.py b/setup.py -index 15b39f5..9e08e7e 100644 ---- a/setup.py -+++ b/setup.py -@@ -1296,7 +1296,6 @@ class PyBuildExt(build_ext): - panel_library = 'panel' - if curses_library == 'ncursesw': - curses_defines.append(('HAVE_NCURSESW', '1')) -- curses_includes.append('/usr/include/ncursesw') - # Bug 1464056: If _curses.so links with ncursesw, - # _curses_panel.so must link with panelw. - panel_library = 'panelw' --- -2.6.4 - diff --git a/package/python3/0015-Add-an-option-to-disable-lib2to3.patch b/package/python3/0015-Add-an-option-to-disable-lib2to3.patch new file mode 100644 index 0000000000..e6a39383e5 --- /dev/null +++ b/package/python3/0015-Add-an-option-to-disable-lib2to3.patch @@ -0,0 +1,116 @@ +From c2d279b4a19de7a32e8a73e320423f699d408380 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 22 Feb 2017 17:15:31 -0800 +Subject: [PATCH] Add an option to disable lib2to3 + +lib2to3 is a library to convert Python 2.x code to Python 3.x. As +such, it is probably not very useful on embedded system targets. + +Signed-off-by: Thomas Petazzoni +Signed-off-by: Samuel Martin +[ Andrey Smirnov: ported to Python 3.6 ] +Signed-off-by: Andrey Smirnov +--- + Makefile.pre.in | 16 ++++++++++++---- + configure.ac | 6 ++++++ + setup.py | 5 +++-- + 3 files changed, 21 insertions(+), 6 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index badb2af35d..931cc3ed07 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1168,7 +1168,9 @@ ifeq (@PYDOC@,yes) + (cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3) + endif + -rm -f $(DESTDIR)$(BINDIR)/2to3 ++ifeq (@LIB2TO3@,yes) + (cd $(DESTDIR)$(BINDIR); $(LN) -s 2to3-$(VERSION) 2to3) ++endif + -rm -f $(DESTDIR)$(BINDIR)/pyvenv + (cd $(DESTDIR)$(BINDIR); $(LN) -s pyvenv-$(VERSION) pyvenv) + if test "x$(LIPO_32BIT_FLAGS)" != "x" ; then \ +@@ -1205,7 +1207,6 @@ LIBSUBDIRS= tkinter site-packages \ + html json http dbm xmlrpc \ + sqlite3 \ + logging csv wsgiref urllib \ +- lib2to3 lib2to3/fixes lib2to3/pgen2 \ + ctypes ctypes/macholib \ + idlelib idlelib/Icons \ + distutils distutils/command $(XMLLIBSUBDIRS) \ +@@ -1255,9 +1256,6 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ + test/test_email test/test_email/data \ + test/test_json \ + sqlite3/test \ +- lib2to3/tests \ +- lib2to3/tests/data lib2to3/tests/data/fixers \ +- lib2to3/tests/data/fixers/myfixes \ + ctypes/test \ + idlelib/idle_test \ + distutils/tests \ +@@ -1267,6 +1265,14 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ + test/test_tools test/test_warnings test/test_warnings/data \ + unittest/test unittest/test/testmock + ++ifeq (@LIB2TO3@,yes) ++LIBSUBDIRS += lib2to3 lib2to3/fixes lib2to3/pgen2 ++TESTSUBDIRS += lib2to3/tests \ ++ lib2to3/tests/data \ ++ lib2to3/tests/data/fixers \ ++ lib2to3/tests/data/fixers/myfixes ++endif ++ + ifeq (@TEST_MODULES@,yes) + LIBSUBDIRS += $(TESTSUBDIRS) + endif +@@ -1366,10 +1372,12 @@ ifeq (@PYC_BUILD@,yes) + -d $(LIBDEST)/site-packages -f \ + -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages + endif ++ifeq (@LIB2TO3@,yes) + -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ + $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt + -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ + $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/PatternGrammar.txt ++endif + + python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh + # Substitution happens here, as the completely-expanded BINDIR +diff --git a/configure.ac b/configure.ac +index 1621fa1611..13b2edf8b7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3124,6 +3124,12 @@ AC_ARG_ENABLE(test-modules, + AS_HELP_STRING([--disable-test-modules], [disable test modules]), + [ TEST_MODULES="${enableval}" ], [ TEST_MODULES=yes ]) + ++AC_SUBST(LIB2TO3) ++ ++AC_ARG_ENABLE(lib2to3, ++ AS_HELP_STRING([--disable-lib2to3], [disable lib2to3]), ++ [ LIB2TO3="${enableval}" ], [ LIB2TO3=yes ]) ++ + # Check for enable-ipv6 + AH_TEMPLATE(ENABLE_IPV6, [Define if --enable-ipv6 is specified]) + AC_MSG_CHECKING([if --enable-ipv6 is specified]) +diff --git a/setup.py b/setup.py +index 94dd337fef..76429e1326 100644 +--- a/setup.py ++++ b/setup.py +@@ -2282,10 +2282,11 @@ def main(): + import warnings + warnings.filterwarnings("ignore",category=DeprecationWarning) + +- scripts = ['Tools/scripts/idle3', 'Tools/scripts/2to3', +- 'Lib/smtpd.py'] ++ scripts = ['Tools/scripts/idle3', 'Lib/smtpd.py'] + if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"): + scripts += [ 'Tools/scripts/pydoc3' ] ++ if not '--disable-lib2to3' in sysconfig.get_config_var("CONFIG_ARGS"): ++ scripts += [ 'Tools/scripts/2to3' ] + + setup(# PyPI Metadata (PEP 301) + name = "Python", +-- +2.13.5 + diff --git a/package/python3/0015-Override-system-locale-and-set-to-default-when-addin.patch b/package/python3/0015-Override-system-locale-and-set-to-default-when-addin.patch deleted file mode 100644 index 22af71d1db..0000000000 --- a/package/python3/0015-Override-system-locale-and-set-to-default-when-addin.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 46fda6fc83500bf5663397f9d28b618e6b6b20c1 Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero -Date: Wed, 23 Dec 2015 11:45:48 +0100 -Subject: [PATCH] Override system locale and set to default when adding gcc - paths - -Forces the use of the default locale in the function -add_gcc_paths, which is called when cross compiling to add the -include and library paths. This is necessary because otherwise -the gcc output is localized and the output parsing fails, which -results in no paths added and detect_modules not able to find -any system library (eg. libz, libssl, etc.) - -[Thomas: patch taken from https://bugs.python.org/issue23767.] - -Signed-off-by: Samuel Cabrero -Signed-off-by: Thomas Petazzoni ---- - setup.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/setup.py b/setup.py -index 9e08e7e..3feca04 100644 ---- a/setup.py -+++ b/setup.py -@@ -441,7 +441,7 @@ class PyBuildExt(build_ext): - tmpfile = os.path.join(self.build_temp, 'gccpaths') - if not os.path.exists(self.build_temp): - os.makedirs(self.build_temp) -- ret = os.system('%s -E -v - %s 1>/dev/null' % (gcc, tmpfile)) -+ ret = os.system('LC_ALL=C %s -E -v - %s 1>/dev/null' % (gcc, tmpfile)) - is_gcc = False - in_incdirs = False - inc_dirs = [] --- -2.6.4 - diff --git a/package/python3/0016-Add-importlib-fix-for-PEP-3147-issue.patch b/package/python3/0016-Add-importlib-fix-for-PEP-3147-issue.patch deleted file mode 100644 index 54a0b87ada..0000000000 --- a/package/python3/0016-Add-importlib-fix-for-PEP-3147-issue.patch +++ /dev/null @@ -1,96 +0,0 @@ -From d2b5be9a0627e38d2280ef865dab3e74b7d2bde4 Mon Sep 17 00:00:00 2001 -From: Christophe Vu-Brugier -Date: Wed, 23 Dec 2015 11:46:14 +0100 -Subject: [PATCH] Add importlib fix for PEP 3147 issue - -Python 3 has a new standard for installing .pyc file, called PEP -3147. Unfortunately, this standard requires both the .py and .pyc -files to be installed for a Python module to be found. This is quite -annoying on space-constrained embedded systems, since the .py file is -technically not required for execution. - -This patch changes cache_from_source() and source_from_cache() in -importlib to get rid of the "__pycache__" directory. -This effectively disables PEP 3147 for: - -* The python standard library -* Packages built with distutils or setuptools -* Packages built with automake that use the `py-compile` helper - -Signed-off-by: Christophe Vu-Brugier ---- - Lib/importlib/_bootstrap_external.py | 37 +++++------------------------------- - 1 file changed, 5 insertions(+), 32 deletions(-) - -diff --git a/Lib/importlib/_bootstrap_external.py b/Lib/importlib/_bootstrap_external.py -index 616b17f..e30129c 100644 ---- a/Lib/importlib/_bootstrap_external.py -+++ b/Lib/importlib/_bootstrap_external.py -@@ -255,8 +255,6 @@ def cache_from_source(path, debug_override=None, *, optimization=None): - a True value is the same as setting 'optimization' to the empty string - while a False value is equivalent to setting 'optimization' to '1'. - -- If sys.implementation.cache_tag is None then NotImplementedError is raised. -- - """ - if debug_override is not None: - _warnings.warn('the debug_override parameter is deprecated; use ' -@@ -267,10 +265,7 @@ def cache_from_source(path, debug_override=None, *, optimization=None): - optimization = '' if debug_override else 1 - head, tail = _path_split(path) - base, sep, rest = tail.rpartition('.') -- tag = sys.implementation.cache_tag -- if tag is None: -- raise NotImplementedError('sys.implementation.cache_tag is None') -- almost_filename = ''.join([(base if base else rest), sep, tag]) -+ almost_filename = ''.join([(base if base else rest)]) - if optimization is None: - if sys.flags.optimize == 0: - optimization = '' -@@ -281,39 +276,17 @@ def cache_from_source(path, debug_override=None, *, optimization=None): - if not optimization.isalnum(): - raise ValueError('{!r} is not alphanumeric'.format(optimization)) - almost_filename = '{}.{}{}'.format(almost_filename, _OPT, optimization) -- return _path_join(head, _PYCACHE, almost_filename + BYTECODE_SUFFIXES[0]) -+ return _path_join(head, almost_filename + BYTECODE_SUFFIXES[0]) - - - def source_from_cache(path): - """Given the path to a .pyc. file, return the path to its .py file. - - The .pyc file does not need to exist; this simply returns the path to -- the .py file calculated to correspond to the .pyc file. If path does -- not conform to PEP 3147/488 format, ValueError will be raised. If -- sys.implementation.cache_tag is None then NotImplementedError is raised. -- -+ the .py file calculated to correspond to the .pyc file. - """ -- if sys.implementation.cache_tag is None: -- raise NotImplementedError('sys.implementation.cache_tag is None') -- head, pycache_filename = _path_split(path) -- head, pycache = _path_split(head) -- if pycache != _PYCACHE: -- raise ValueError('{} not bottom-level directory in ' -- '{!r}'.format(_PYCACHE, path)) -- dot_count = pycache_filename.count('.') -- if dot_count not in {2, 3}: -- raise ValueError('expected only 2 or 3 dots in ' -- '{!r}'.format(pycache_filename)) -- elif dot_count == 3: -- optimization = pycache_filename.rsplit('.', 2)[-2] -- if not optimization.startswith(_OPT): -- raise ValueError("optimization portion of filename does not start " -- "with {!r}".format(_OPT)) -- opt_level = optimization[len(_OPT):] -- if not opt_level.isalnum(): -- raise ValueError("optimization level {!r} is not an alphanumeric " -- "value".format(optimization)) -- base_filename = pycache_filename.partition('.')[0] -+ head, filename = _path_split(path) -+ base_filename = filename.partition('.')[0] - return _path_join(head, base_filename + SOURCE_SUFFIXES[0]) - - --- -2.6.4 - diff --git a/package/python3/0016-Add-option-to-disable-the-sqlite3-module.patch b/package/python3/0016-Add-option-to-disable-the-sqlite3-module.patch new file mode 100644 index 0000000000..675e8282be --- /dev/null +++ b/package/python3/0016-Add-option-to-disable-the-sqlite3-module.patch @@ -0,0 +1,69 @@ +From f2965dfb1aa4f6b3216f3bb1d20f99326f127079 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 22 Feb 2017 17:20:45 -0800 +Subject: [PATCH] Add option to disable the sqlite3 module + +Signed-off-by: Thomas Petazzoni +Signed-off-by: Samuel Martin +[ Andrey Smirnov: ported to Python 3.6 ] +Signed-off-by: Andrey Smirnov +--- + Makefile.pre.in | 7 +++++-- + configure.ac | 9 +++++++++ + 2 files changed, 14 insertions(+), 2 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index 931cc3ed07..a1ce0712cd 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1205,7 +1205,6 @@ LIBSUBDIRS= tkinter site-packages \ + email email/mime \ + ensurepip ensurepip/_bundled \ + html json http dbm xmlrpc \ +- sqlite3 \ + logging csv wsgiref urllib \ + ctypes ctypes/macholib \ + idlelib idlelib/Icons \ +@@ -1255,7 +1254,6 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ + test/test_asyncio \ + test/test_email test/test_email/data \ + test/test_json \ +- sqlite3/test \ + ctypes/test \ + idlelib/idle_test \ + distutils/tests \ +@@ -1273,6 +1271,11 @@ TESTSUBDIRS += lib2to3/tests \ + lib2to3/tests/data/fixers/myfixes + endif + ++ifeq (@SQLITE3@,yes) ++LIBSUBDIRS += sqlite3 ++TESTSUBDIRS += sqlite3/test ++endif ++ + ifeq (@TEST_MODULES@,yes) + LIBSUBDIRS += $(TESTSUBDIRS) + endif +diff --git a/configure.ac b/configure.ac +index 13b2edf8b7..d7582cfea4 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3112,6 +3112,15 @@ if test "$posix_threads" = "yes"; then + AC_CHECK_FUNCS(pthread_atfork) + fi + ++AC_SUBST(SQLITE3) ++AC_ARG_ENABLE(sqlite3, ++ AS_HELP_STRING([--disable-sqlite3], [disable sqlite3]), ++ [ SQLITE3="${enableval}" ], [ SQLITE3=yes ]) ++ ++if test "$SQLITE3" = "no" ; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" ++fi ++ + AC_SUBST(PYDOC) + + AC_ARG_ENABLE(pydoc, +-- +2.13.5 + diff --git a/package/python3/0017-Add-an-option-to-disable-installation-of-test-module.patch b/package/python3/0017-Add-an-option-to-disable-installation-of-test-module.patch deleted file mode 100644 index ee0134a5d6..0000000000 --- a/package/python3/0017-Add-an-option-to-disable-installation-of-test-module.patch +++ /dev/null @@ -1,113 +0,0 @@ -From 1d2891204c6bf05d5e2eb0e5fa2ee78f6a2b755b Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 23 Dec 2015 11:47:00 +0100 -Subject: [PATCH] Add an option to disable installation of test modules - -The Python standard distribution comes with many test modules, that -are not necessarly useful on embedded targets. - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Samuel Martin ---- - Makefile.pre.in | 56 ++++++++++++++++++++++++++++++++++++-------------------- - configure.ac | 6 ++++++ - 2 files changed, 42 insertions(+), 20 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 9420860..d4c771a 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1166,8 +1166,30 @@ maninstall: altmaninstall - PLATDIR= @PLATDIR@ - MACHDEPS= $(PLATDIR) - XMLLIBSUBDIRS= xml xml/dom xml/etree xml/parsers xml/sax --LIBSUBDIRS= tkinter tkinter/test tkinter/test/test_tkinter \ -- tkinter/test/test_ttk site-packages test \ -+LIBSUBDIRS= tkinter \ -+ site-packages \ -+ asyncio \ -+ collections concurrent concurrent/futures encodings \ -+ email email/mime \ -+ ensurepip ensurepip/_bundled \ -+ html json http dbm xmlrpc \ -+ sqlite3 \ -+ logging csv wsgiref urllib \ -+ lib2to3 lib2to3/fixes lib2to3/pgen2 \ -+ ctypes ctypes/macholib \ -+ idlelib idlelib/Icons \ -+ distutils distutils/command $(XMLLIBSUBDIRS) \ -+ importlib \ -+ turtledemo \ -+ multiprocessing multiprocessing/dummy \ -+ unittest \ -+ venv venv/scripts venv/scripts/posix \ -+ curses pydoc_data $(MACHDEPS) -+ -+TESTSUBDIRS = tkinter/test tkinter/test/test_tkinter tkinter/test/test_ttk \ -+ test test/test_asyncio \ -+ test/test_email test/test_email/data \ -+ test/test_json \ - test/audiodata \ - test/capath test/data \ - test/cjkencodings test/decimaltestdata test/xmltestdata \ -@@ -1199,28 +1221,22 @@ LIBSUBDIRS= tkinter tkinter/test tkinter/test/test_tkinter \ - test/test_importlib/namespace_pkgs/project3/parent/child \ - test/test_importlib/namespace_pkgs/module_and_namespace_package \ - test/test_importlib/namespace_pkgs/module_and_namespace_package/a_test \ -- asyncio \ -- test/test_asyncio \ -- collections concurrent concurrent/futures encodings \ -- email email/mime test/test_email test/test_email/data \ -- ensurepip ensurepip/_bundled \ -- html json test/test_json http dbm xmlrpc \ -- sqlite3 sqlite3/test \ -- logging csv wsgiref urllib \ -- lib2to3 lib2to3/fixes lib2to3/pgen2 lib2to3/tests \ -+ sqlite3/test \ -+ lib2to3/tests \ - lib2to3/tests/data lib2to3/tests/data/fixers \ - lib2to3/tests/data/fixers/myfixes \ -- ctypes ctypes/test ctypes/macholib \ -- idlelib idlelib/Icons idlelib/idle_test \ -- distutils distutils/command distutils/tests $(XMLLIBSUBDIRS) \ -- importlib test/test_importlib test/test_importlib/builtin \ -+ ctypes/test \ -+ idlelib/idle_test \ -+ distutils/tests \ -+ test/test_importlib test/test_importlib/builtin \ - test/test_importlib/extension test/test_importlib/frozen \ - test/test_importlib/import_ test/test_importlib/source \ -- turtledemo \ -- multiprocessing multiprocessing/dummy \ -- unittest unittest/test unittest/test/testmock \ -- venv venv/scripts venv/scripts/posix \ -- curses pydoc_data $(MACHDEPS) -+ unittest/test unittest/test/testmock -+ -+ifeq (@TEST_MODULES@,yes) -+LIBSUBDIRS += $(TESTSUBDIRS) -+endif -+ - libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c - @for i in $(SCRIPTDIR) $(LIBDEST); \ - do \ -diff --git a/configure.ac b/configure.ac -index bfb599e..9f3d226 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2895,6 +2895,12 @@ if test "$posix_threads" = "yes"; then - fi - - -+AC_SUBST(TEST_MODULES) -+ -+AC_ARG_ENABLE(test-modules, -+ AS_HELP_STRING([--disable-test-modules], [disable test modules]), -+ [ TEST_MODULES="${enableval}" ], [ TEST_MODULES=yes ]) -+ - # Check for enable-ipv6 - AH_TEMPLATE(ENABLE_IPV6, [Define if --enable-ipv6 is specified]) - AC_MSG_CHECKING([if --enable-ipv6 is specified]) --- -2.6.4 - diff --git a/package/python3/0017-Add-an-option-to-disable-the-tk-module.patch b/package/python3/0017-Add-an-option-to-disable-the-tk-module.patch new file mode 100644 index 0000000000..56196416a2 --- /dev/null +++ b/package/python3/0017-Add-an-option-to-disable-the-tk-module.patch @@ -0,0 +1,73 @@ +From f96a00d42e714171f1d90501ed73594fddee570f Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 22 Feb 2017 17:23:42 -0800 +Subject: [PATCH] Add an option to disable the tk module + +Signed-off-by: Thomas Petazzoni +Signed-off-by: Samuel Martin +[ Andrey Smirnov: ported to Python 3.6 ] +Signed-off-by: Andrey Smirnov +--- + Makefile.pre.in | 11 ++++++++--- + configure.ac | 9 +++++++++ + 2 files changed, 17 insertions(+), 3 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index a1ce0712cd..dc1e917cc3 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1199,7 +1199,7 @@ maninstall: altmaninstall + # Install the library + XMLLIBSUBDIRS= xml xml/dom xml/etree xml/parsers xml/sax + +-LIBSUBDIRS= tkinter site-packages \ ++LIBSUBDIRS= site-packages \ + asyncio \ + collections concurrent concurrent/futures encodings \ + email email/mime \ +@@ -1216,8 +1216,7 @@ LIBSUBDIRS= tkinter site-packages \ + venv venv/scripts venv/scripts/common venv/scripts/posix \ + curses + +-TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ +- tkinter/test/test_ttk test \ ++TESTSUBDIRS= test \ + test/audiodata \ + test/capath test/data \ + test/cjkencodings test/decimaltestdata test/xmltestdata \ +@@ -1263,6 +1262,12 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ + test/test_tools test/test_warnings test/test_warnings/data \ + unittest/test unittest/test/testmock + ++ifeq (@TK@,yes) ++LIBSUBDIRS += tkinter ++TESTSUBDIRS += tkinter/test tkinter/test/test_tkinter \ ++ tkinter/test/test_ttk ++endif ++ + ifeq (@LIB2TO3@,yes) + LIBSUBDIRS += lib2to3 lib2to3/fixes lib2to3/pgen2 + TESTSUBDIRS += lib2to3/tests \ +diff --git a/configure.ac b/configure.ac +index d7582cfea4..6a56a5b0c1 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3121,6 +3121,15 @@ if test "$SQLITE3" = "no" ; then + DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" + fi + ++AC_SUBST(TK) ++AC_ARG_ENABLE(tk, ++ AS_HELP_STRING([--disable-tk], [disable tk]), ++ [ TK="${enableval}" ], [ TK=yes ]) ++ ++if test "$TK" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _tkinter" ++fi ++ + AC_SUBST(PYDOC) + + AC_ARG_ENABLE(pydoc, +-- +2.13.5 + diff --git a/package/python3/0018-Add-an-option-to-disable-pydoc.patch b/package/python3/0018-Add-an-option-to-disable-pydoc.patch deleted file mode 100644 index 670ad40c5e..0000000000 --- a/package/python3/0018-Add-an-option-to-disable-pydoc.patch +++ /dev/null @@ -1,96 +0,0 @@ -From a83b79b964700604de386800f86e5a55f53a0e17 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 23 Dec 2015 11:47:11 +0100 -Subject: [PATCH] Add an option to disable pydoc - -It removes 0.5 MB of data from the target plus the pydoc script -itself. - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Samuel Martin ---- - Makefile.pre.in | 8 +++++++- - configure.ac | 5 +++++ - setup.py | 9 +++++++-- - 3 files changed, 19 insertions(+), 3 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index d4c771a..a98ad65 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1134,7 +1134,9 @@ bininstall: altbininstall - -rm -f $(DESTDIR)$(BINDIR)/idle3 - (cd $(DESTDIR)$(BINDIR); $(LN) -s idle$(VERSION) idle3) - -rm -f $(DESTDIR)$(BINDIR)/pydoc3 -+ifeq (@PYDOC@,yes) - (cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3) -+endif - -rm -f $(DESTDIR)$(BINDIR)/2to3 - (cd $(DESTDIR)$(BINDIR); $(LN) -s 2to3-$(VERSION) 2to3) - -rm -f $(DESTDIR)$(BINDIR)/pyvenv -@@ -1184,7 +1186,7 @@ LIBSUBDIRS= tkinter \ - multiprocessing multiprocessing/dummy \ - unittest \ - venv venv/scripts venv/scripts/posix \ -- curses pydoc_data $(MACHDEPS) -+ curses $(MACHDEPS) - - TESTSUBDIRS = tkinter/test tkinter/test/test_tkinter tkinter/test/test_ttk \ - test test/test_asyncio \ -@@ -1233,6 +1235,10 @@ TESTSUBDIRS = tkinter/test tkinter/test/test_tkinter tkinter/test/test_ttk \ - test/test_importlib/import_ test/test_importlib/source \ - unittest/test unittest/test/testmock - -+ifeq (@PYDOC@,yes) -+LIBSUBDIRS += pydoc_data -+endif -+ - ifeq (@TEST_MODULES@,yes) - LIBSUBDIRS += $(TESTSUBDIRS) - endif -diff --git a/configure.ac b/configure.ac -index 9f3d226..e9b6d6f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2894,6 +2894,11 @@ if test "$posix_threads" = "yes"; then - AC_CHECK_FUNCS(pthread_atfork) - fi - -+AC_SUBST(PYDOC) -+ -+AC_ARG_ENABLE(pydoc, -+ AS_HELP_STRING([--disable-pydoc], [disable pydoc]), -+ [ PYDOC="${enableval}" ], [ PYDOC=yes ]) - - AC_SUBST(TEST_MODULES) - -diff --git a/setup.py b/setup.py -index 3feca04..137911d 100644 ---- a/setup.py -+++ b/setup.py -@@ -2220,6 +2220,12 @@ def main(): - # turn off warnings when deprecated modules are imported - import warnings - warnings.filterwarnings("ignore",category=DeprecationWarning) -+ -+ scripts = ['Tools/scripts/idle3', 'Tools/scripts/2to3', -+ 'Lib/smtpd.py'] -+ if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"): -+ scripts += [ 'Tools/scripts/pydoc3' ] -+ - setup(# PyPI Metadata (PEP 301) - name = "Python", - version = sys.version.split()[0], -@@ -2244,8 +2250,7 @@ def main(): - # If you change the scripts installed here, you also need to - # check the PyBuildScripts command above, and change the links - # created by the bininstall target in Makefile.pre.in -- scripts = ["Tools/scripts/pydoc3", "Tools/scripts/idle3", -- "Tools/scripts/2to3", "Tools/scripts/pyvenv"] -+ scripts = scripts, - ) - - # --install-platlib --- -2.6.4 - diff --git a/package/python3/0018-Add-an-option-to-disable-the-curses-module.patch b/package/python3/0018-Add-an-option-to-disable-the-curses-module.patch new file mode 100644 index 0000000000..b68369c16c --- /dev/null +++ b/package/python3/0018-Add-an-option-to-disable-the-curses-module.patch @@ -0,0 +1,62 @@ +From 404aad42698c6d5cbd78421720f9a2bc0e8ec9fe Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 22 Feb 2017 17:31:51 -0800 +Subject: [PATCH] Add an option to disable the curses module + +Signed-off-by: Thomas Petazzoni +Signed-off-by: Samuel Martin +[ Andrey Smirnov: ported to Python 3.6 ] +Signed-off-by: Andrey Smirnov +--- + Makefile.pre.in | 7 +++++-- + configure.ac | 9 +++++++++ + 2 files changed, 14 insertions(+), 2 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index dc1e917cc3..6a6bc082cd 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1213,8 +1213,7 @@ LIBSUBDIRS= site-packages \ + turtledemo \ + multiprocessing multiprocessing/dummy \ + unittest \ +- venv venv/scripts venv/scripts/common venv/scripts/posix \ +- curses ++ venv venv/scripts venv/scripts/common venv/scripts/posix + + TESTSUBDIRS= test \ + test/audiodata \ +@@ -1268,6 +1267,10 @@ TESTSUBDIRS += tkinter/test tkinter/test/test_tkinter \ + tkinter/test/test_ttk + endif + ++ifeq (@CURSES@,yes) ++LIBSUBDIRS += curses ++endif ++ + ifeq (@LIB2TO3@,yes) + LIBSUBDIRS += lib2to3 lib2to3/fixes lib2to3/pgen2 + TESTSUBDIRS += lib2to3/tests \ +diff --git a/configure.ac b/configure.ac +index 6a56a5b0c1..5896b39ff9 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3130,6 +3130,15 @@ if test "$TK" = "no"; then + DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _tkinter" + fi + ++AC_SUBST(CURSES) ++AC_ARG_ENABLE(curses, ++ AS_HELP_STRING([--disable-curses], [disable curses]), ++ [ CURSES="${enableval}" ], [ CURSES=yes ]) ++ ++if test "$CURSES" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _curses _curses_panel" ++fi ++ + AC_SUBST(PYDOC) + + AC_ARG_ENABLE(pydoc, +-- +2.13.5 + diff --git a/package/python3/0019-Add-an-option-to-disable-expat.patch b/package/python3/0019-Add-an-option-to-disable-expat.patch new file mode 100644 index 0000000000..0ec0b21555 --- /dev/null +++ b/package/python3/0019-Add-an-option-to-disable-expat.patch @@ -0,0 +1,92 @@ +From 63fc5bc90cb57460552b544cbed0c2939759ab9e Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 22 Feb 2017 17:40:45 -0800 +Subject: [PATCH] Add an option to disable expat + +This patch replaces the existing --with-system-expat option with a +--with-expat={system,builtin,none} option, which allows to tell Python +whether we want to use the system expat (already installed), the expat +builtin the Python sources, or no expat at all (which disables the +installation of XML modules). + +Signed-off-by: Thomas Petazzoni +Signed-off-by: Samuel Martin +[ Andrey Smirnov: ported to Python 3.6 ] +Signed-off-by: Andrey Smirnov +--- + Makefile.pre.in | 6 +++++- + configure.ac | 18 +++++++++++++----- + setup.py | 2 +- + 3 files changed, 19 insertions(+), 7 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index 6a6bc082cd..dc4b92b6fe 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1208,7 +1208,7 @@ LIBSUBDIRS= site-packages \ + logging csv wsgiref urllib \ + ctypes ctypes/macholib \ + idlelib idlelib/Icons \ +- distutils distutils/command $(XMLLIBSUBDIRS) \ ++ distutils distutils/command \ + importlib \ + turtledemo \ + multiprocessing multiprocessing/dummy \ +@@ -1271,6 +1271,10 @@ ifeq (@CURSES@,yes) + LIBSUBDIRS += curses + endif + ++ifeq (@EXPAT@,yes) ++LIBSUBDIRS += $(XMLLIBSUBDIRS) ++endif ++ + ifeq (@LIB2TO3@,yes) + LIBSUBDIRS += lib2to3 lib2to3/fixes lib2to3/pgen2 + TESTSUBDIRS += lib2to3/tests \ +diff --git a/configure.ac b/configure.ac +index 5896b39ff9..6f21482207 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2813,13 +2813,21 @@ PKG_PROG_PKG_CONFIG + AC_SUBST(DISABLED_EXTENSIONS) + + # Check for use of the system expat library +-AC_MSG_CHECKING(for --with-system-expat) +-AC_ARG_WITH(system_expat, +- AS_HELP_STRING([--with-system-expat], [build pyexpat module using an installed expat library]), ++AC_MSG_CHECKING(for --with-expat) ++AC_ARG_WITH(expat, ++ AS_HELP_STRING([--with-expat], [select which expat version to use: system, builtin, none]), + [], +- [with_system_expat="no"]) ++ [with_expat="builtin"]) + +-AC_MSG_RESULT($with_system_expat) ++AC_MSG_RESULT($with_expat) ++ ++if test "$with_expat" != "none"; then ++ EXPAT=yes ++else ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} pyexpat" ++ EXPAT=no ++fi ++AC_SUBST(EXPAT) + + # Check for use of the system libffi library + AC_MSG_CHECKING(for --with-system-ffi) +diff --git a/setup.py b/setup.py +index 76429e1326..38aa5e605e 100644 +--- a/setup.py ++++ b/setup.py +@@ -1495,7 +1495,7 @@ class PyBuildExt(build_ext): + # + # More information on Expat can be found at www.libexpat.org. + # +- if '--with-system-expat' in sysconfig.get_config_var("CONFIG_ARGS"): ++ if '--with-expat=system' in sysconfig.get_config_var("CONFIG_ARGS"): + expat_inc = [] + define_macros = [] + expat_lib = ['expat'] +-- +2.13.5 + diff --git a/package/python3/0019-Add-an-option-to-disable-lib2to3.patch b/package/python3/0019-Add-an-option-to-disable-lib2to3.patch deleted file mode 100644 index f0d4770135..0000000000 --- a/package/python3/0019-Add-an-option-to-disable-lib2to3.patch +++ /dev/null @@ -1,114 +0,0 @@ -From 3c877ea9f09913586f87064b7a2b9d2b49cb05aa Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 23 Dec 2015 11:48:44 +0100 -Subject: [PATCH] Add an option to disable lib2to3 - -lib2to3 is a library to convert Python 2.x code to Python 3.x. As -such, it is probably not very useful on embedded system targets. - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Samuel Martin ---- - Makefile.pre.in | 16 ++++++++++++---- - configure.ac | 6 ++++++ - setup.py | 5 +++-- - 3 files changed, 21 insertions(+), 6 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index a98ad65..3823940 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1138,7 +1138,9 @@ ifeq (@PYDOC@,yes) - (cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3) - endif - -rm -f $(DESTDIR)$(BINDIR)/2to3 -+ifeq (@LIB2TO3@,yes) - (cd $(DESTDIR)$(BINDIR); $(LN) -s 2to3-$(VERSION) 2to3) -+endif - -rm -f $(DESTDIR)$(BINDIR)/pyvenv - (cd $(DESTDIR)$(BINDIR); $(LN) -s pyvenv-$(VERSION) pyvenv) - if test "x$(LIPO_32BIT_FLAGS)" != "x" ; then \ -@@ -1177,7 +1179,6 @@ LIBSUBDIRS= tkinter \ - html json http dbm xmlrpc \ - sqlite3 \ - logging csv wsgiref urllib \ -- lib2to3 lib2to3/fixes lib2to3/pgen2 \ - ctypes ctypes/macholib \ - idlelib idlelib/Icons \ - distutils distutils/command $(XMLLIBSUBDIRS) \ -@@ -1224,9 +1225,6 @@ TESTSUBDIRS = tkinter/test tkinter/test/test_tkinter tkinter/test/test_ttk \ - test/test_importlib/namespace_pkgs/module_and_namespace_package \ - test/test_importlib/namespace_pkgs/module_and_namespace_package/a_test \ - sqlite3/test \ -- lib2to3/tests \ -- lib2to3/tests/data lib2to3/tests/data/fixers \ -- lib2to3/tests/data/fixers/myfixes \ - ctypes/test \ - idlelib/idle_test \ - distutils/tests \ -@@ -1239,6 +1237,14 @@ ifeq (@PYDOC@,yes) - LIBSUBDIRS += pydoc_data - endif - -+ifeq (@LIB2TO3@,yes) -+LIBSUBDIRS += lib2to3 lib2to3/fixes lib2to3/pgen2 -+TESTSUBDIRS += lib2to3/tests \ -+ lib2to3/tests/data \ -+ lib2to3/tests/data/fixers \ -+ lib2to3/tests/data/fixers/myfixes -+endif -+ - ifeq (@TEST_MODULES@,yes) - LIBSUBDIRS += $(TESTSUBDIRS) - endif -@@ -1337,10 +1343,12 @@ ifeq (@PYC_BUILD@,yes) - -d $(LIBDEST)/site-packages -f \ - -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages - endif -+ifeq (@LIB2TO3@,yes) - -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ - $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt - -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ - $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/PatternGrammar.txt -+endif - - # Create the PLATDIR source directory, if one wasn't distributed.. - $(srcdir)/Lib/$(PLATDIR): -diff --git a/configure.ac b/configure.ac -index e9b6d6f..652ad88 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2906,6 +2906,12 @@ AC_ARG_ENABLE(test-modules, - AS_HELP_STRING([--disable-test-modules], [disable test modules]), - [ TEST_MODULES="${enableval}" ], [ TEST_MODULES=yes ]) - -+AC_SUBST(LIB2TO3) -+ -+AC_ARG_ENABLE(lib2to3, -+ AS_HELP_STRING([--disable-lib2to3], [disable lib2to3]), -+ [ LIB2TO3="${enableval}" ], [ LIB2TO3=yes ]) -+ - # Check for enable-ipv6 - AH_TEMPLATE(ENABLE_IPV6, [Define if --enable-ipv6 is specified]) - AC_MSG_CHECKING([if --enable-ipv6 is specified]) -diff --git a/setup.py b/setup.py -index 137911d..722308b 100644 ---- a/setup.py -+++ b/setup.py -@@ -2221,10 +2221,11 @@ def main(): - import warnings - warnings.filterwarnings("ignore",category=DeprecationWarning) - -- scripts = ['Tools/scripts/idle3', 'Tools/scripts/2to3', -- 'Lib/smtpd.py'] -+ scripts = ['Tools/scripts/idle3', 'Lib/smtpd.py'] - if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"): - scripts += [ 'Tools/scripts/pydoc3' ] -+ if not '--disable-lib2to3' in sysconfig.get_config_var("CONFIG_ARGS"): -+ scripts += [ 'Tools/scripts/2to3' ] - - setup(# PyPI Metadata (PEP 301) - name = "Python", --- -2.6.4 - diff --git a/package/python3/0020-Add-an-option-to-disable-CJK-codecs.patch b/package/python3/0020-Add-an-option-to-disable-CJK-codecs.patch new file mode 100644 index 0000000000..6b316d8eba --- /dev/null +++ b/package/python3/0020-Add-an-option-to-disable-CJK-codecs.patch @@ -0,0 +1,30 @@ +From 3335500cb13a6bc1ab41dfcf00b33e6ade3b9764 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 23 Dec 2015 11:49:55 +0100 +Subject: [PATCH] Add an option to disable CJK codecs + +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 6f21482207..c7742faf41 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3129,6 +3129,12 @@ if test "$SQLITE3" = "no" ; then + DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" + fi + ++AC_ARG_ENABLE(codecs-cjk, ++ AS_HELP_STRING([--disable-codecs-cjk], [disable CJK codecs]), ++ [ if test "$enableval" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _codecs_kr _codecs_jp _codecs_cn _codecs_tw _codecs_hk _codecs_iso2022" ++ fi]) ++ + AC_SUBST(TK) + AC_ARG_ENABLE(tk, + AS_HELP_STRING([--disable-tk], [disable tk]), +-- +2.13.5 + diff --git a/package/python3/0020-Add-option-to-disable-the-sqlite3-module.patch b/package/python3/0020-Add-option-to-disable-the-sqlite3-module.patch deleted file mode 100644 index 20936841c4..0000000000 --- a/package/python3/0020-Add-option-to-disable-the-sqlite3-module.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 9ae1dce0a2fa01fc3dbc83d8b8c1b56e4b1b162b Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 23 Dec 2015 11:49:01 +0100 -Subject: [PATCH] Add option to disable the sqlite3 module - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Samuel Martin ---- - Makefile.pre.in | 7 +++++-- - configure.ac | 9 +++++++++ - 2 files changed, 14 insertions(+), 2 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 3823940..c822dbd 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1177,7 +1177,6 @@ LIBSUBDIRS= tkinter \ - email email/mime \ - ensurepip ensurepip/_bundled \ - html json http dbm xmlrpc \ -- sqlite3 \ - logging csv wsgiref urllib \ - ctypes ctypes/macholib \ - idlelib idlelib/Icons \ -@@ -1224,7 +1223,6 @@ TESTSUBDIRS = tkinter/test tkinter/test/test_tkinter tkinter/test/test_ttk \ - test/test_importlib/namespace_pkgs/project3/parent/child \ - test/test_importlib/namespace_pkgs/module_and_namespace_package \ - test/test_importlib/namespace_pkgs/module_and_namespace_package/a_test \ -- sqlite3/test \ - ctypes/test \ - idlelib/idle_test \ - distutils/tests \ -@@ -1245,6 +1243,11 @@ TESTSUBDIRS += lib2to3/tests \ - lib2to3/tests/data/fixers/myfixes - endif - -+ifeq (@SQLITE3@,yes) -+LIBSUBDIRS += sqlite3 -+TESTSUBDIRS += sqlite3/test -+endif -+ - ifeq (@TEST_MODULES@,yes) - LIBSUBDIRS += $(TESTSUBDIRS) - endif -diff --git a/configure.ac b/configure.ac -index 652ad88..cae12ad 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2894,6 +2894,15 @@ if test "$posix_threads" = "yes"; then - AC_CHECK_FUNCS(pthread_atfork) - fi - -+AC_SUBST(SQLITE3) -+AC_ARG_ENABLE(sqlite3, -+ AS_HELP_STRING([--disable-sqlite3], [disable sqlite3]), -+ [ SQLITE3="${enableval}" ], [ SQLITE3=yes ]) -+ -+if test "$SQLITE3" = "no" ; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" -+fi -+ - AC_SUBST(PYDOC) - - AC_ARG_ENABLE(pydoc, --- -2.6.4 - diff --git a/package/python3/0021-Add-an-option-to-disable-NIS.patch b/package/python3/0021-Add-an-option-to-disable-NIS.patch new file mode 100644 index 0000000000..f49b23f5c8 --- /dev/null +++ b/package/python3/0021-Add-an-option-to-disable-NIS.patch @@ -0,0 +1,33 @@ +From e52d4868cc1192f7e1c147aebaf4fc6f7de30357 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 23 Dec 2015 11:50:11 +0100 +Subject: [PATCH] Add an option to disable NIS + +NIS is not necessarily available in uClibc, so we need an option to +not compile support for it. + +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/configure.ac b/configure.ac +index c7742faf41..42a871bb09 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3135,6 +3135,12 @@ AC_ARG_ENABLE(codecs-cjk, + DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _codecs_kr _codecs_jp _codecs_cn _codecs_tw _codecs_hk _codecs_iso2022" + fi]) + ++AC_ARG_ENABLE(nis, ++ AS_HELP_STRING([--disable-nis], [disable NIS]), ++ [ if test "$enableval" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis" ++ fi]) ++ + AC_SUBST(TK) + AC_ARG_ENABLE(tk, + AS_HELP_STRING([--disable-tk], [disable tk]), +-- +2.13.5 + diff --git a/package/python3/0021-Add-an-option-to-disable-the-tk-module.patch b/package/python3/0021-Add-an-option-to-disable-the-tk-module.patch deleted file mode 100644 index 7dfb339ea4..0000000000 --- a/package/python3/0021-Add-an-option-to-disable-the-tk-module.patch +++ /dev/null @@ -1,71 +0,0 @@ -From d0d42570e5a23c3bf559e0413ec97729fd2f9e24 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 23 Dec 2015 11:49:14 +0100 -Subject: [PATCH] Add an option to disable the tk module - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Samuel Martin ---- - Makefile.pre.in | 11 ++++++++--- - configure.ac | 9 +++++++++ - 2 files changed, 17 insertions(+), 3 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index c822dbd..0a93c27 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1170,7 +1170,7 @@ maninstall: altmaninstall - PLATDIR= @PLATDIR@ - MACHDEPS= $(PLATDIR) - XMLLIBSUBDIRS= xml xml/dom xml/etree xml/parsers xml/sax --LIBSUBDIRS= tkinter \ -+LIBSUBDIRS= \ - site-packages \ - asyncio \ - collections concurrent concurrent/futures encodings \ -@@ -1188,8 +1188,7 @@ LIBSUBDIRS= tkinter \ - venv venv/scripts venv/scripts/posix \ - curses $(MACHDEPS) - --TESTSUBDIRS = tkinter/test tkinter/test/test_tkinter tkinter/test/test_ttk \ -- test test/test_asyncio \ -+TESTSUBDIRS = test test/test_asyncio \ - test/test_email test/test_email/data \ - test/test_json \ - test/audiodata \ -@@ -1248,6 +1247,12 @@ LIBSUBDIRS += sqlite3 - TESTSUBDIRS += sqlite3/test - endif - -+ifeq (@TK@,yes) -+LIBSUBDIRS += tkinter -+TESTSUBDIRS += tkinter/test tkinter/test/test_tkinter \ -+ tkinter/test/test_ttk -+endif -+ - ifeq (@TEST_MODULES@,yes) - LIBSUBDIRS += $(TESTSUBDIRS) - endif -diff --git a/configure.ac b/configure.ac -index cae12ad..787b185 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2903,6 +2903,15 @@ if test "$SQLITE3" = "no" ; then - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" - fi - -+AC_SUBST(TK) -+AC_ARG_ENABLE(tk, -+ AS_HELP_STRING([--disable-tk], [disable tk]), -+ [ TK="${enableval}" ], [ TK=yes ]) -+ -+if test "$TK" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _tkinter" -+fi -+ - AC_SUBST(PYDOC) - - AC_ARG_ENABLE(pydoc, --- -2.6.4 - diff --git a/package/python3/0022-Add-an-option-to-disable-the-curses-module.patch b/package/python3/0022-Add-an-option-to-disable-the-curses-module.patch deleted file mode 100644 index 22f7a24945..0000000000 --- a/package/python3/0022-Add-an-option-to-disable-the-curses-module.patch +++ /dev/null @@ -1,59 +0,0 @@ -From d04ec780bf7c0825ab260bd1d6b7292141b2dcde Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 23 Dec 2015 11:49:30 +0100 -Subject: [PATCH] Add an option to disable the curses module - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Samuel Martin ---- - Makefile.pre.in | 6 +++++- - configure.ac | 9 +++++++++ - 2 files changed, 14 insertions(+), 1 deletion(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 0a93c27..b97c21e 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1186,7 +1186,7 @@ LIBSUBDIRS= \ - multiprocessing multiprocessing/dummy \ - unittest \ - venv venv/scripts venv/scripts/posix \ -- curses $(MACHDEPS) -+ $(MACHDEPS) - - TESTSUBDIRS = test test/test_asyncio \ - test/test_email test/test_email/data \ -@@ -1253,6 +1253,10 @@ TESTSUBDIRS += tkinter/test tkinter/test/test_tkinter \ - tkinter/test/test_ttk - endif - -+ifeq (@CURSES@,yes) -+LIBSUBDIRS += curses -+endif -+ - ifeq (@TEST_MODULES@,yes) - LIBSUBDIRS += $(TESTSUBDIRS) - endif -diff --git a/configure.ac b/configure.ac -index 787b185..0be47b2 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2912,6 +2912,15 @@ if test "$TK" = "no"; then - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _tkinter" - fi - -+AC_SUBST(CURSES) -+AC_ARG_ENABLE(curses, -+ AS_HELP_STRING([--disable-curses], [disable curses]), -+ [ CURSES="${enableval}" ], [ CURSES=yes ]) -+ -+if test "$CURSES" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _curses _curses_panel" -+fi -+ - AC_SUBST(PYDOC) - - AC_ARG_ENABLE(pydoc, --- -2.6.4 - diff --git a/package/python3/0022-Add-an-option-to-disable-unicodedata.patch b/package/python3/0022-Add-an-option-to-disable-unicodedata.patch new file mode 100644 index 0000000000..9c207be680 --- /dev/null +++ b/package/python3/0022-Add-an-option-to-disable-unicodedata.patch @@ -0,0 +1,30 @@ +From 69d3e8f0438d01adde55e90eeabafa4abefd3b02 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 23 Dec 2015 11:50:27 +0100 +Subject: [PATCH] Add an option to disable unicodedata + +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 42a871bb09..1d610e132b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3141,6 +3141,12 @@ AC_ARG_ENABLE(nis, + DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis" + fi]) + ++AC_ARG_ENABLE(unicodedata, ++ AS_HELP_STRING([--disable-unicodedata], [disable unicodedata]), ++ [ if test "$enableval" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} unicodedata" ++ fi]) ++ + AC_SUBST(TK) + AC_ARG_ENABLE(tk, + AS_HELP_STRING([--disable-tk], [disable tk]), +-- +2.13.5 + diff --git a/package/python3/0023-Add-an-option-to-disable-IDLE.patch b/package/python3/0023-Add-an-option-to-disable-IDLE.patch new file mode 100644 index 0000000000..da77c44899 --- /dev/null +++ b/package/python3/0023-Add-an-option-to-disable-IDLE.patch @@ -0,0 +1,89 @@ +From 5bbd94f014c89665d02a8a32442822ab7c5520d0 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Wed, 22 Feb 2017 17:45:14 -0800 +Subject: [PATCH] Add an option to disable IDLE + +IDLE is an IDE embedded into python, written using Tk, so it doesn't make +much sense to have it into our build. + +Signed-off-by: Maxime Ripard +[ Andrey Smirnov: ported to Python 3.6 ] +Signed-off-by: Andrey Smirnov +--- + Makefile.pre.in | 7 ++++++- + configure.ac | 6 ++++++ + setup.py | 4 +++- + 3 files changed, 15 insertions(+), 2 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index dc4b92b6fe..3e43066d90 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1162,7 +1162,9 @@ bininstall: altbininstall + -rm -f $(DESTDIR)$(LIBPC)/python3.pc + (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python3.pc) + -rm -f $(DESTDIR)$(BINDIR)/idle3 ++ifeq (@IDLE@,yes) + (cd $(DESTDIR)$(BINDIR); $(LN) -s idle$(VERSION) idle3) ++endif + -rm -f $(DESTDIR)$(BINDIR)/pydoc3 + ifeq (@PYDOC@,yes) + (cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3) +@@ -1207,7 +1209,6 @@ LIBSUBDIRS= site-packages \ + html json http dbm xmlrpc \ + logging csv wsgiref urllib \ + ctypes ctypes/macholib \ +- idlelib idlelib/Icons \ + distutils distutils/command \ + importlib \ + turtledemo \ +@@ -1275,6 +1276,10 @@ ifeq (@EXPAT@,yes) + LIBSUBDIRS += $(XMLLIBSUBDIRS) + endif + ++ifeq (@IDLE@,yes) ++LIBSUBDIRS += idlelib idlelib/Icons ++endif ++ + ifeq (@LIB2TO3@,yes) + LIBSUBDIRS += lib2to3 lib2to3/fixes lib2to3/pgen2 + TESTSUBDIRS += lib2to3/tests \ +diff --git a/configure.ac b/configure.ac +index 1d610e132b..2699e7ceb1 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3183,6 +3183,12 @@ AC_ARG_ENABLE(lib2to3, + AS_HELP_STRING([--disable-lib2to3], [disable lib2to3]), + [ LIB2TO3="${enableval}" ], [ LIB2TO3=yes ]) + ++AC_SUBST(IDLE) ++ ++AC_ARG_ENABLE(idle3, ++ AS_HELP_STRING([--disable-idle3], [disable idle3 IDE]), ++ [ IDLE="${enableval}" ], [ IDLE=yes ]) ++ + # Check for enable-ipv6 + AH_TEMPLATE(ENABLE_IPV6, [Define if --enable-ipv6 is specified]) + AC_MSG_CHECKING([if --enable-ipv6 is specified]) +diff --git a/setup.py b/setup.py +index 38aa5e605e..d642825c1e 100644 +--- a/setup.py ++++ b/setup.py +@@ -2282,11 +2282,13 @@ def main(): + import warnings + warnings.filterwarnings("ignore",category=DeprecationWarning) + +- scripts = ['Tools/scripts/idle3', 'Lib/smtpd.py'] ++ scripts = [ 'Lib/smtpd.py'] + if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"): + scripts += [ 'Tools/scripts/pydoc3' ] + if not '--disable-lib2to3' in sysconfig.get_config_var("CONFIG_ARGS"): + scripts += [ 'Tools/scripts/2to3' ] ++ if not '--disable-idle3' in sysconfig.get_config_var("CONFIG_ARGS"): ++ scripts += [ 'Tools/scripts/idle3' ] + + setup(# PyPI Metadata (PEP 301) + name = "Python", +-- +2.13.5 + diff --git a/package/python3/0023-Add-an-option-to-disable-expat.patch b/package/python3/0023-Add-an-option-to-disable-expat.patch deleted file mode 100644 index 73f9b36bd0..0000000000 --- a/package/python3/0023-Add-an-option-to-disable-expat.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 6281850ee8c3fb6d93b4997833af0cca4a48947b Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 23 Dec 2015 11:49:42 +0100 -Subject: [PATCH] Add an option to disable expat - -This patch replaces the existing --with-system-expat option with a ---with-expat={system,builtin,none} option, which allows to tell Python -whether we want to use the system expat (already installed), the expat -builtin the Python sources, or no expat at all (which disables the -installation of XML modules). - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Samuel Martin ---- - Makefile.pre.in | 6 +++++- - configure.ac | 18 +++++++++++++----- - setup.py | 2 +- - 3 files changed, 19 insertions(+), 7 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index b97c21e..bdfee19 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1180,7 +1180,7 @@ LIBSUBDIRS= \ - logging csv wsgiref urllib \ - ctypes ctypes/macholib \ - idlelib idlelib/Icons \ -- distutils distutils/command $(XMLLIBSUBDIRS) \ -+ distutils distutils/command \ - importlib \ - turtledemo \ - multiprocessing multiprocessing/dummy \ -@@ -1257,6 +1257,10 @@ ifeq (@CURSES@,yes) - LIBSUBDIRS += curses - endif - -+ifeq (@EXPAT@,yes) -+LIBSUBDIRS += $(XMLLIBSUBDIRS) -+endif -+ - ifeq (@TEST_MODULES@,yes) - LIBSUBDIRS += $(TESTSUBDIRS) - endif -diff --git a/configure.ac b/configure.ac -index 0be47b2..e6bcacc 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2591,13 +2591,21 @@ PKG_PROG_PKG_CONFIG - AC_SUBST(DISABLED_EXTENSIONS) - - # Check for use of the system expat library --AC_MSG_CHECKING(for --with-system-expat) --AC_ARG_WITH(system_expat, -- AS_HELP_STRING([--with-system-expat], [build pyexpat module using an installed expat library]), -+AC_MSG_CHECKING(for --with-expat) -+AC_ARG_WITH(expat, -+ AS_HELP_STRING([--with-expat], [select which expat version to use: system, builtin, none]), - [], -- [with_system_expat="no"]) -+ [with_expat="builtin"]) - --AC_MSG_RESULT($with_system_expat) -+AC_MSG_RESULT($with_expat) -+ -+if test "$with_expat" != "none"; then -+ EXPAT=yes -+else -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} pyexpat" -+ EXPAT=no -+fi -+AC_SUBST(EXPAT) - - # Check for use of the system libffi library - AC_MSG_CHECKING(for --with-system-ffi) -diff --git a/setup.py b/setup.py -index 722308b..ecddb6a 100644 ---- a/setup.py -+++ b/setup.py -@@ -1434,7 +1434,7 @@ class PyBuildExt(build_ext): - # - # More information on Expat can be found at www.libexpat.org. - # -- if '--with-system-expat' in sysconfig.get_config_var("CONFIG_ARGS"): -+ if '--with-expat=system' in sysconfig.get_config_var("CONFIG_ARGS"): - expat_inc = [] - define_macros = [] - expat_lib = ['expat'] --- -2.6.4 - diff --git a/package/python3/0024-Add-an-option-to-disable-CJK-codecs.patch b/package/python3/0024-Add-an-option-to-disable-CJK-codecs.patch deleted file mode 100644 index d3af94fb29..0000000000 --- a/package/python3/0024-Add-an-option-to-disable-CJK-codecs.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 18265d05ee97ad0c43995acdadce2458b57d7d64 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 23 Dec 2015 11:49:55 +0100 -Subject: [PATCH] Add an option to disable CJK codecs - -Signed-off-by: Thomas Petazzoni ---- - configure.ac | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/configure.ac b/configure.ac -index e6bcacc..38b7515 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2911,6 +2911,12 @@ if test "$SQLITE3" = "no" ; then - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" - fi - -+AC_ARG_ENABLE(codecs-cjk, -+ AS_HELP_STRING([--disable-codecs-cjk], [disable CJK codecs]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _codecs_kr _codecs_jp _codecs_cn _codecs_tw _codecs_hk _codecs_iso2022" -+ fi]) -+ - AC_SUBST(TK) - AC_ARG_ENABLE(tk, - AS_HELP_STRING([--disable-tk], [disable tk]), --- -2.6.4 - diff --git a/package/python3/0024-Add-an-option-to-disable-decimal.patch b/package/python3/0024-Add-an-option-to-disable-decimal.patch new file mode 100644 index 0000000000..76ef508409 --- /dev/null +++ b/package/python3/0024-Add-an-option-to-disable-decimal.patch @@ -0,0 +1,62 @@ +From 0870559b9af82b55f1fd8b35528510f563577256 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 23 Dec 2015 11:51:31 +0100 +Subject: [PATCH] Add an option to disable decimal + +This patch replaces the existing --with-system-libmpdec option with a +--with-libmpdec={system,builtin,none} option, which allows to tell +Python whether we want to use the system libmpdec (already installed), +the libmpdec builtin the Python sources, or no libmpdec at all. + +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 17 ++++++++++++----- + setup.py | 2 +- + 2 files changed, 13 insertions(+), 6 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 2699e7ceb1..e2c3b6f25c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2862,13 +2862,20 @@ AC_SUBST(LIBFFI_INCLUDEDIR) + AC_MSG_RESULT($with_system_ffi) + + # Check for use of the system libmpdec library +-AC_MSG_CHECKING(for --with-system-libmpdec) +-AC_ARG_WITH(system_libmpdec, +- AS_HELP_STRING([--with-system-libmpdec], [build _decimal module using an installed libmpdec library]), ++AC_MSG_CHECKING(for --with-libmpdec) ++AC_ARG_WITH(libmpdec, ++ AS_HELP_STRING([--with-libmpdec], [select which libmpdec version to use: system, builtin, none]), + [], +- [with_system_libmpdec="no"]) ++ [with_libmpdec="builtin"]) + +-AC_MSG_RESULT($with_system_libmpdec) ++AC_MSG_RESULT($with_libmpdec) ++if test "$with_libmpdec" != "none"; then ++ MPDEC=yes ++else ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _decimal" ++ MPDEC=no ++fi ++AC_SUBST(MPDEC) + + # Check for support for loadable sqlite extensions + AC_MSG_CHECKING(for --enable-loadable-sqlite-extensions) +diff --git a/setup.py b/setup.py +index d642825c1e..5b98255857 100644 +--- a/setup.py ++++ b/setup.py +@@ -2058,7 +2058,7 @@ class PyBuildExt(build_ext): + def _decimal_ext(self): + extra_compile_args = [] + undef_macros = [] +- if '--with-system-libmpdec' in sysconfig.get_config_var("CONFIG_ARGS"): ++ if '--with-libmpdec=system' in sysconfig.get_config_var("CONFIG_ARGS"): + include_dirs = [] + libraries = [':libmpdec.so.2'] + sources = ['_decimal/_decimal.c'] +-- +2.13.5 + diff --git a/package/python3/0025-Add-an-option-to-disable-NIS.patch b/package/python3/0025-Add-an-option-to-disable-NIS.patch deleted file mode 100644 index ef9ff42715..0000000000 --- a/package/python3/0025-Add-an-option-to-disable-NIS.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 733ee65f308ec48be427463c06f372ca116ccada Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 23 Dec 2015 11:50:11 +0100 -Subject: [PATCH] Add an option to disable NIS - -NIS is not necessarily available in uClibc, so we need an option to -not compile support for it. - -Signed-off-by: Thomas Petazzoni ---- - configure.ac | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 38b7515..f25733a 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2917,6 +2917,12 @@ AC_ARG_ENABLE(codecs-cjk, - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _codecs_kr _codecs_jp _codecs_cn _codecs_tw _codecs_hk _codecs_iso2022" - fi]) - -+AC_ARG_ENABLE(nis, -+ AS_HELP_STRING([--disable-nis], [disable NIS]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis" -+ fi]) -+ - AC_SUBST(TK) - AC_ARG_ENABLE(tk, - AS_HELP_STRING([--disable-tk], [disable tk]), --- -2.6.4 - diff --git a/package/python3/0025-Add-an-option-to-disable-the-ossaudiodev-module.patch b/package/python3/0025-Add-an-option-to-disable-the-ossaudiodev-module.patch new file mode 100644 index 0000000000..418936cf0d --- /dev/null +++ b/package/python3/0025-Add-an-option-to-disable-the-ossaudiodev-module.patch @@ -0,0 +1,30 @@ +From a04fb6159e394ec8346cd49993fdf70db3e1b184 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 23 Dec 2015 11:51:58 +0100 +Subject: [PATCH] Add an option to disable the ossaudiodev module + +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/configure.ac b/configure.ac +index e2c3b6f25c..8e3dded25e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2877,6 +2877,12 @@ else + fi + AC_SUBST(MPDEC) + ++AC_ARG_ENABLE(ossaudiodev, ++ AS_HELP_STRING([--disable-ossaudiodev], [disable OSSAUDIODEV]), ++ [ if test "$enableval" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ossaudiodev" ++ fi]) ++ + # Check for support for loadable sqlite extensions + AC_MSG_CHECKING(for --enable-loadable-sqlite-extensions) + AC_ARG_ENABLE(loadable-sqlite-extensions, +-- +2.13.5 + diff --git a/package/python3/0026-Add-an-option-to-disable-openssl-support.patch b/package/python3/0026-Add-an-option-to-disable-openssl-support.patch new file mode 100644 index 0000000000..065e50620d --- /dev/null +++ b/package/python3/0026-Add-an-option-to-disable-openssl-support.patch @@ -0,0 +1,30 @@ +From 4b001683ad1cb1d90b7c389e67447a250fa9c218 Mon Sep 17 00:00:00 2001 +From: Nicolas Cavallari +Date: Wed, 22 Feb 2017 17:55:59 -0800 +Subject: [PATCH] Add an option to disable openssl support. + +Signed-off-by: Nicolas Cavallari +--- + configure.ac | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 8e3dded25e..28bcdabd67 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3160,6 +3160,12 @@ AC_ARG_ENABLE(unicodedata, + DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} unicodedata" + fi]) + ++AC_ARG_ENABLE(openssl, ++ AS_HELP_STRING([--disable-openssl], [disable openssl support]), ++ [ if test "$enableval" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ssl _ssl _hashlib" ++ fi]) ++ + AC_SUBST(TK) + AC_ARG_ENABLE(tk, + AS_HELP_STRING([--disable-tk], [disable tk]), +-- +2.13.5 + diff --git a/package/python3/0026-Add-an-option-to-disable-unicodedata.patch b/package/python3/0026-Add-an-option-to-disable-unicodedata.patch deleted file mode 100644 index 56a5178952..0000000000 --- a/package/python3/0026-Add-an-option-to-disable-unicodedata.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 64fa1fc3a9aea7ffba7b96d08a14df91051f2b6f Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 23 Dec 2015 11:50:27 +0100 -Subject: [PATCH] Add an option to disable unicodedata - -Signed-off-by: Thomas Petazzoni ---- - configure.ac | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/configure.ac b/configure.ac -index f25733a..a7ddb2b 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2923,6 +2923,12 @@ AC_ARG_ENABLE(nis, - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis" - fi]) - -+AC_ARG_ENABLE(unicodedata, -+ AS_HELP_STRING([--disable-unicodedata], [disable unicodedata]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} unicodedata" -+ fi]) -+ - AC_SUBST(TK) - AC_ARG_ENABLE(tk, - AS_HELP_STRING([--disable-tk], [disable tk]), --- -2.6.4 - diff --git a/package/python3/0027-Add-an-option-to-disable-IDLE.patch b/package/python3/0027-Add-an-option-to-disable-IDLE.patch deleted file mode 100644 index 73fc3959b3..0000000000 --- a/package/python3/0027-Add-an-option-to-disable-IDLE.patch +++ /dev/null @@ -1,87 +0,0 @@ -From 2766bcdd8f9b7395ce32a6d8480ef0a2186f2098 Mon Sep 17 00:00:00 2001 -From: Maxime Ripard -Date: Wed, 23 Dec 2015 11:50:42 +0100 -Subject: [PATCH] Add an option to disable IDLE - -IDLE is an IDE embedded into python, written using Tk, so it doesn't make -much sense to have it into our build. - -Signed-off-by: Maxime Ripard ---- - Makefile.pre.in | 7 ++++++- - configure.ac | 6 ++++++ - setup.py | 4 +++- - 3 files changed, 15 insertions(+), 2 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index bdfee19..2466615 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1132,7 +1132,9 @@ bininstall: altbininstall - -rm -f $(DESTDIR)$(LIBPC)/python3.pc - (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python3.pc) - -rm -f $(DESTDIR)$(BINDIR)/idle3 -+ifeq (@IDLE@,yes) - (cd $(DESTDIR)$(BINDIR); $(LN) -s idle$(VERSION) idle3) -+endif - -rm -f $(DESTDIR)$(BINDIR)/pydoc3 - ifeq (@PYDOC@,yes) - (cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3) -@@ -1179,7 +1181,6 @@ LIBSUBDIRS= \ - html json http dbm xmlrpc \ - logging csv wsgiref urllib \ - ctypes ctypes/macholib \ -- idlelib idlelib/Icons \ - distutils distutils/command \ - importlib \ - turtledemo \ -@@ -1261,6 +1262,10 @@ ifeq (@EXPAT@,yes) - LIBSUBDIRS += $(XMLLIBSUBDIRS) - endif - -+ifeq (@IDLE@,yes) -+LIBSUBDIRS += idlelib idlelib/Icons -+endif -+ - ifeq (@TEST_MODULES@,yes) - LIBSUBDIRS += $(TESTSUBDIRS) - endif -diff --git a/configure.ac b/configure.ac -index a7ddb2b..6b59792 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2965,6 +2965,12 @@ AC_ARG_ENABLE(lib2to3, - AS_HELP_STRING([--disable-lib2to3], [disable lib2to3]), - [ LIB2TO3="${enableval}" ], [ LIB2TO3=yes ]) - -+AC_SUBST(IDLE) -+ -+AC_ARG_ENABLE(idle3, -+ AS_HELP_STRING([--disable-idle3], [disable idle3 IDE]), -+ [ IDLE="${enableval}" ], [ IDLE=yes ]) -+ - # Check for enable-ipv6 - AH_TEMPLATE(ENABLE_IPV6, [Define if --enable-ipv6 is specified]) - AC_MSG_CHECKING([if --enable-ipv6 is specified]) -diff --git a/setup.py b/setup.py -index ecddb6a..7fe68e8 100644 ---- a/setup.py -+++ b/setup.py -@@ -2221,11 +2221,13 @@ def main(): - import warnings - warnings.filterwarnings("ignore",category=DeprecationWarning) - -- scripts = ['Tools/scripts/idle3', 'Lib/smtpd.py'] -+ scripts = ['Lib/smtpd.py'] - if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"): - scripts += [ 'Tools/scripts/pydoc3' ] - if not '--disable-lib2to3' in sysconfig.get_config_var("CONFIG_ARGS"): - scripts += [ 'Tools/scripts/2to3' ] -+ if not '--disable-idle3' in sysconfig.get_config_var("CONFIG_ARGS"): -+ scripts += [ 'Tools/scripts/idle3' ] - - setup(# PyPI Metadata (PEP 301) - name = "Python", --- -2.6.4 - diff --git a/package/python3/0027-Add-an-option-to-disable-the-readline-module.patch b/package/python3/0027-Add-an-option-to-disable-the-readline-module.patch new file mode 100644 index 0000000000..eb1967534d --- /dev/null +++ b/package/python3/0027-Add-an-option-to-disable-the-readline-module.patch @@ -0,0 +1,30 @@ +From d35deaa5c65c29f2a56a29fd5fc1dadadd485eaf Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 7 Mar 2017 23:29:05 +0100 +Subject: [PATCH] Add an option to disable the readline module + +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 28bcdabd67..484f6ebaca 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3166,6 +3166,12 @@ AC_ARG_ENABLE(openssl, + DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ssl _ssl _hashlib" + fi]) + ++AC_ARG_ENABLE(readline, ++ AS_HELP_STRING([--disable-readline], [disable readline]), ++ [ if test "$enableval" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} readline" ++ fi]) ++ + AC_SUBST(TK) + AC_ARG_ENABLE(tk, + AS_HELP_STRING([--disable-tk], [disable tk]), +-- +2.13.5 + diff --git a/package/python3/0028-Add-an-option-to-disable-decimal.patch b/package/python3/0028-Add-an-option-to-disable-decimal.patch deleted file mode 100644 index 1ac91dd611..0000000000 --- a/package/python3/0028-Add-an-option-to-disable-decimal.patch +++ /dev/null @@ -1,62 +0,0 @@ -From ff77defc777a57d4caee5183796fd44dd265e78b Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 23 Dec 2015 11:51:31 +0100 -Subject: [PATCH] Add an option to disable decimal - -This patch replaces the existing --with-system-libmpdec option with a ---with-libmpdec={system,builtin,none} option, which allows to tell -Python whether we want to use the system libmpdec (already installed), -the libmpdec builtin the Python sources, or no libmpdec at all. - -Signed-off-by: Thomas Petazzoni ---- - configure.ac | 17 ++++++++++++----- - setup.py | 2 +- - 2 files changed, 13 insertions(+), 6 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 6b59792..51e1760 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2624,13 +2624,20 @@ AC_SUBST(LIBFFI_INCLUDEDIR) - AC_MSG_RESULT($with_system_ffi) - - # Check for use of the system libmpdec library --AC_MSG_CHECKING(for --with-system-libmpdec) --AC_ARG_WITH(system_libmpdec, -- AS_HELP_STRING([--with-system-libmpdec], [build _decimal module using an installed libmpdec library]), -+AC_MSG_CHECKING(for --with-libmpdec) -+AC_ARG_WITH(libmpdec, -+ AS_HELP_STRING([--with-libmpdec], [select which libmpdec version to use: system, builtin, none]), - [], -- [with_system_libmpdec="no"]) -+ [with_libmpdec="builtin"]) - --AC_MSG_RESULT($with_system_libmpdec) -+AC_MSG_RESULT($with_libmpdec) -+if test "$with_libmpdec" != "none"; then -+ MPDEC=yes -+else -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _decimal" -+ MPDEC=no -+fi -+AC_SUBST(MPDEC) - - # Check for support for loadable sqlite extensions - AC_MSG_CHECKING(for --enable-loadable-sqlite-extensions) -diff --git a/setup.py b/setup.py -index 7fe68e8..364b350 100644 ---- a/setup.py -+++ b/setup.py -@@ -1988,7 +1988,7 @@ class PyBuildExt(build_ext): - def _decimal_ext(self): - extra_compile_args = [] - undef_macros = [] -- if '--with-system-libmpdec' in sysconfig.get_config_var("CONFIG_ARGS"): -+ if '--with-libmpdec=system' in sysconfig.get_config_var("CONFIG_ARGS"): - include_dirs = [] - libraries = [':libmpdec.so.2'] - sources = ['_decimal/_decimal.c'] --- -2.6.4 - diff --git a/package/python3/0028-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch b/package/python3/0028-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch new file mode 100644 index 0000000000..39330ace62 --- /dev/null +++ b/package/python3/0028-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch @@ -0,0 +1,42 @@ +From 9e95f88906f850caa789977dab4b0f256b575254 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 7 Mar 2017 23:31:11 +0100 +Subject: [PATCH] Add options to disable zlib, bzip2 and xz modules + +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 18 ++++++++++++++++++ + 1 file changed, 18 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 484f6ebaca..79538df0cf 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3172,6 +3172,24 @@ AC_ARG_ENABLE(readline, + DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} readline" + fi]) + ++AC_ARG_ENABLE(bzip2, ++ AS_HELP_STRING([--disable-bzip2], [disable bzip2]), ++ [ if test "$enableval" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _bz2" ++ fi]) ++ ++AC_ARG_ENABLE(zlib, ++ AS_HELP_STRING([--disable-zlib], [disable zlib]), ++ [ if test "$enableval" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} zlib" ++ fi]) ++ ++AC_ARG_ENABLE(xz, ++ AS_HELP_STRING([--disable-xz], [disable xz]), ++ [ if test "$enableval" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _lzma" ++ fi]) ++ + AC_SUBST(TK) + AC_ARG_ENABLE(tk, + AS_HELP_STRING([--disable-tk], [disable tk]), +-- +2.13.5 + diff --git a/package/python3/0029-Add-an-option-to-disable-the-ossaudiodev-module.patch b/package/python3/0029-Add-an-option-to-disable-the-ossaudiodev-module.patch deleted file mode 100644 index 9ac9173dcf..0000000000 --- a/package/python3/0029-Add-an-option-to-disable-the-ossaudiodev-module.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 789b0f99d7c1d25bfa9c05fd12f4d55bb70f377b Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 23 Dec 2015 11:51:58 +0100 -Subject: [PATCH] Add an option to disable the ossaudiodev module - -Signed-off-by: Thomas Petazzoni ---- - configure.ac | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 51e1760..c4c2353 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2639,6 +2639,12 @@ else - fi - AC_SUBST(MPDEC) - -+AC_ARG_ENABLE(ossaudiodev, -+ AS_HELP_STRING([--disable-ossaudiodev], [disable OSSAUDIODEV]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ossaudiodev" -+ fi]) -+ - # Check for support for loadable sqlite extensions - AC_MSG_CHECKING(for --enable-loadable-sqlite-extensions) - AC_ARG_ENABLE(loadable-sqlite-extensions, --- -2.6.4 - diff --git a/package/python3/0029-python-config.sh-don-t-reassign-prefix.patch b/package/python3/0029-python-config.sh-don-t-reassign-prefix.patch new file mode 100644 index 0000000000..49137f27ea --- /dev/null +++ b/package/python3/0029-python-config.sh-don-t-reassign-prefix.patch @@ -0,0 +1,53 @@ +From 21f787cb9bf0c1440981262f03bc881c5b77c0d8 Mon Sep 17 00:00:00 2001 +From: Matt Weber +Date: Fri, 6 Oct 2017 09:54:15 -0500 +Subject: [PATCH] python-config.sh: don't reassign ${prefix} + +When prefix is set to a path like /usr during crossbuild +the sed operations end up executing twice, once for the prefix +reassignment and another for includedir if it is set as a string +including the ${prefix} variable. This results in an issue +when the build directory is under /usr. + +This patch updates the remaining location which uses the prefix +variable to also sed and update to use the real path. + +Upstream bug report: +https://bugs.python.org/issue31713 + +Buildroot bug: +https://bugs.busybox.net/show_bug.cgi?id=10361 + +Fixes failures like the following: +dbus-python-1.2.4 | NOK | http://autobuild.buildroot.net/results/758858efa97b6273c1b470513f5492258a6d8853 + +Signed-off-by: Matthew Weber +--- + Misc/python-config.sh.in | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/Misc/python-config.sh.in b/Misc/python-config.sh.in +index f905a71..e06be0f 100644 +--- a/Misc/python-config.sh.in ++++ b/Misc/python-config.sh.in +@@ -29,7 +29,7 @@ prefix_real=$(installed_prefix "$0") + + # Use sed to fix paths from their built-to locations to their installed-to + # locations. +-prefix=$(echo "$prefix_build" | sed "s#^$prefix_build#$prefix_real#") ++prefix=$prefix_build + exec_prefix_build="@exec_prefix@" + exec_prefix=$(echo "$exec_prefix_build" | sed "s#^$exec_prefix_build#$prefix_real#") + includedir=$(echo "@includedir@" | sed "s#^$prefix_build#$prefix_real#") +@@ -47,7 +46,7 @@ LINKFORSHARED="@LINKFORSHARED@" + OPT="@OPT@" + PY_ENABLE_SHARED="@PY_ENABLE_SHARED@" + LDVERSION="@LDVERSION@" +-LIBDEST=${prefix}/lib/python${VERSION} ++LIBDEST=$( echo "${prefix}/lib/python${VERSION}" | sed "s#^$prefix_build#$prefix_real#") + LIBPL=$(echo "@LIBPL@" | sed "s#^$prefix_build#$prefix_real#") + SO="@EXT_SUFFIX@" + PYTHONFRAMEWORK="@PYTHONFRAMEWORK@" +-- +1.8.3.1 + diff --git a/package/python3/0030-Support-PGEN_FOR_BUILD-and-FREEZE_IMPORTLIB_FOR_BUIL.patch b/package/python3/0030-Support-PGEN_FOR_BUILD-and-FREEZE_IMPORTLIB_FOR_BUIL.patch deleted file mode 100644 index 156eb2958d..0000000000 --- a/package/python3/0030-Support-PGEN_FOR_BUILD-and-FREEZE_IMPORTLIB_FOR_BUIL.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 4f851142b8f3149d23654117621285df34ec768b Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 23 Dec 2015 13:58:00 +0100 -Subject: [PATCH] Support PGEN_FOR_BUILD and FREEZE_IMPORTLIB_FOR_BUILD - -Signed-off-by: Thomas Petazzoni ---- - Makefile.pre.in | 10 ++++++++++ - configure.ac | 3 +++ - 2 files changed, 13 insertions(+) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 2466615..fdf622d 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -712,10 +712,15 @@ Programs/_testembed: Programs/_testembed.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY) - ############################################################################ - # Importlib - -+ifeq (@FREEZE_IMPORTLIB_FOR_BUILD@,) - Programs/_freeze_importlib.o: Programs/_freeze_importlib.c Makefile - - Programs/_freeze_importlib: Programs/_freeze_importlib.o $(LIBRARY_OBJS_OMIT_FROZEN) - $(LINKCC) $(PY_LDFLAGS) -o $@ Programs/_freeze_importlib.o $(LIBRARY_OBJS_OMIT_FROZEN) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST) -+else -+Programs/_freeze_importlib: @FREEZE_IMPORTLIB_FOR_BUILD@ -+ cp $^ $@ -+endif - - Python/importlib_external.h: $(srcdir)/Lib/importlib/_bootstrap_external.py Programs/_freeze_importlib - ./Programs/_freeze_importlib \ -@@ -789,8 +794,13 @@ $(GRAMMAR_H): $(GRAMMAR_INPUT) $(PGEN) - $(GRAMMAR_C): $(GRAMMAR_H) - touch $(GRAMMAR_C) - -+ifeq (@PGEN_FOR_BUILD@,) - $(PGEN): $(PGENOBJS) - $(CC) $(OPT) $(PY_LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN) -+else -+$(PGEN): @PGEN_FOR_BUILD@ -+ cp $^ $@ -+endif - - Parser/grammar.o: $(srcdir)/Parser/grammar.c \ - $(srcdir)/Include/token.h \ -diff --git a/configure.ac b/configure.ac -index c4c2353..750c232 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -79,6 +79,9 @@ else - fi - AC_SUBST(PYTHON_FOR_BUILD) - -+AC_SUBST(PGEN_FOR_BUILD) -+AC_SUBST(FREEZE_IMPORTLIB_FOR_BUILD) -+ - dnl Ensure that if prefix is specified, it does not end in a slash. If - dnl it does, we get path names containing '//' which is both ugly and - dnl can cause trouble. --- -2.6.4 - diff --git a/package/python3/0031-Add-an-option-to-disable-openssl.patch b/package/python3/0031-Add-an-option-to-disable-openssl.patch deleted file mode 100644 index d4375203b4..0000000000 --- a/package/python3/0031-Add-an-option-to-disable-openssl.patch +++ /dev/null @@ -1,23 +0,0 @@ -From: Nicolas Cavallari -Subject: [PATCH] Add an option to disable openssl support. - -Signed-off-by: Nicolas Cavallari ---- - configure.ac | 6 ++++++ - 1 file changed, 6 insertions(+) - ---- a/configure.ac -+++ b/configure.ac -@@ -3027,6 +3027,12 @@ - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} unicodedata" - fi]) - -+AC_ARG_ENABLE(openssl, -+ AS_HELP_STRING([--disable-openssl], [disable openssl support]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ssl _ssl _hashlib" -+ fi]) -+ - AC_SUBST(TK) - AC_ARG_ENABLE(tk, - AS_HELP_STRING([--disable-tk], [disable tk]), diff --git a/package/python3/python3.hash b/package/python3/python3.hash index f6f70a206c..33adb188fb 100644 --- a/package/python3/python3.hash +++ b/package/python3/python3.hash @@ -1,4 +1,4 @@ -# From https://www.python.org/downloads/release/python-352/ -md5 8906efbacfcdc7c3c9198aeefafd159e Python-3.5.2.tar.xz +# From https://www.python.org/downloads/release/python-363/ +md5 b9c2c36c33fb89bda1fefd37ad5af9be Python-3.6.3.tar.xz # Locally computed -sha256 0010f56100b9b74259ebcd5d4b295a32324b58b517403a10d1a2aa7cb22bca40 Python-3.5.2.tar.xz +sha256 cda7d967c9a4bfa52337cdf551bcc5cff026b6ac50a8834e568ce4a794ca81da Python-3.6.3.tar.xz diff --git a/package/python3/python3.mk b/package/python3/python3.mk index 8bfae79f58..1d2201eec7 100644 --- a/package/python3/python3.mk +++ b/package/python3/python3.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON3_VERSION_MAJOR = 3.5 -PYTHON3_VERSION = $(PYTHON3_VERSION_MAJOR).2 +PYTHON3_VERSION_MAJOR = 3.6 +PYTHON3_VERSION = $(PYTHON3_VERSION_MAJOR).3 PYTHON3_SOURCE = Python-$(PYTHON3_VERSION).tar.xz -PYTHON3_SITE = http://python.org/ftp/python/$(PYTHON3_VERSION) -PYTHON3_LICENSE = Python software foundation license v2, others +PYTHON3_SITE = https://python.org/ftp/python/$(PYTHON3_VERSION) +PYTHON3_LICENSE = Python-2.0, others PYTHON3_LICENSE_FILES = LICENSE # Python itself doesn't use libtool, but it includes the source code @@ -18,25 +18,22 @@ PYTHON3_LICENSE_FILES = LICENSE # the Python sources, but instead use an external libffi library. PYTHON3_LIBTOOL_PATCH = NO -# Python needs itself and a "pgen" program to build itself, both being -# provided in the Python sources. So in order to cross-compile Python, -# we need to build a host Python first. This host Python is also -# installed in $(HOST_DIR), as it is needed when cross-compiling -# third-party Python modules. +# This host Python is installed in $(HOST_DIR), as it is needed when +# cross-compiling third-party Python modules. -HOST_PYTHON3_CONF_OPTS += \ - --without-ensurepip \ - --without-cxx-main \ - --disable-sqlite3 \ - --disable-tk \ - --with-expat=system \ - --disable-curses \ - --disable-codecs-cjk \ - --disable-nis \ - --enable-unicodedata \ - --disable-test-modules \ - --disable-idle3 \ - --disable-ossaudiodev \ +HOST_PYTHON3_CONF_OPTS += \ + --without-ensurepip \ + --without-cxx-main \ + --disable-sqlite3 \ + --disable-tk \ + --with-expat=system \ + --disable-curses \ + --disable-codecs-cjk \ + --disable-nis \ + --enable-unicodedata \ + --disable-test-modules \ + --disable-idle3 \ + --disable-ossaudiodev \ --disable-openssl # Make sure that LD_LIBRARY_PATH overrides -rpath. @@ -56,6 +53,8 @@ PYTHON3_INSTALL_STAGING = YES ifeq ($(BR2_PACKAGE_PYTHON3_READLINE),y) PYTHON3_DEPENDENCIES += readline +else +PYTHON3_CONF_OPTS += --disable-readline endif ifeq ($(BR2_PACKAGE_PYTHON3_CURSES),y) @@ -90,6 +89,8 @@ endif ifeq ($(BR2_PACKAGE_PYTHON3_SSL),y) PYTHON3_DEPENDENCIES += openssl +else +PYTHON3_CONF_OPTS += --disable-openssl endif ifneq ($(BR2_PACKAGE_PYTHON3_CODECSCJK),y) @@ -102,14 +103,20 @@ endif ifeq ($(BR2_PACKAGE_PYTHON3_BZIP2),y) PYTHON3_DEPENDENCIES += bzip2 +else +PYTHON3_CONF_OPTS += --disable-bzip2 endif ifeq ($(BR2_PACKAGE_PYTHON3_XZ),y) PYTHON3_DEPENDENCIES += xz +else +PYTHON3_CONF_OPTS += --disable-xz endif ifeq ($(BR2_PACKAGE_PYTHON3_ZLIB),y) PYTHON3_DEPENDENCIES += zlib +else +PYTHON3_CONF_OPTS += --disable-zlib endif ifeq ($(BR2_PACKAGE_PYTHON3_OSSAUDIODEV),y) @@ -141,32 +148,59 @@ PYTHON3_CONF_ENV += ac_cv_func_wcsftime=no endif PYTHON3_CONF_OPTS += \ - --without-ensurepip \ - --without-cxx-main \ - --with-system-ffi \ - --disable-pydoc \ - --disable-test-modules \ - --disable-lib2to3 \ - --disable-tk \ - --disable-nis \ - --disable-idle3 \ + --without-ensurepip \ + --without-cxx-main \ + --with-system-ffi \ + --disable-pydoc \ + --disable-test-modules \ + --disable-lib2to3 \ + --disable-tk \ + --disable-nis \ + --disable-idle3 \ --disable-pyc-build -# Python builds two tools to generate code: 'pgen' and -# '_freeze_importlib'. Unfortunately, for the target Python, they are -# built for the target, while we need to run them at build time. So -# when installing host-python, we copy them to -# $(HOST_DIR)/usr/bin. And then, when building the target python -# package, we tell the configure script where they are located. -define HOST_PYTHON3_INSTALL_TOOLS - cp $(@D)/Parser/pgen $(HOST_DIR)/usr/bin/python-pgen - cp $(@D)/Programs/_freeze_importlib $(HOST_DIR)/usr/bin/python-freeze-importlib -endef -HOST_PYTHON3_POST_INSTALL_HOOKS += HOST_PYTHON3_INSTALL_TOOLS -PYTHON3_CONF_ENV += \ - PGEN_FOR_BUILD=$(HOST_DIR)/usr/bin/python-pgen \ - FREEZE_IMPORTLIB_FOR_BUILD=$(HOST_DIR)/usr/bin/python-freeze-importlib +# +# Some of CPython's source code is generated using Python interpreter +# and some helper tools such as "Programs/_freeze_importlib" or +# "Parser/pgen" (look for regen-* targets in Makefile.pre.in for more +# info). Normally CPython codebase ships with those files +# pre-generated, so just regular "make" with no additional steps +# should be sufficient for a succesfull build, however due to +# Buildroot's "Add importlib fix for PEP 3147 issue" custom patch we +# end up modifying "Lib/importlib/_bootstrap_external.py" which means +# we have to do "regen-importlib" step before building CPython +# (Importlib is a builtin module that needs to be "frozen"/converted +# to a C array of bytecode using "Programs/_freeze_importlib") +# +# To achive that we add pre-build steps to host-python3 as well as +# python3 that execute "regen-importlib" target. +# +# Unfortunately, for the target Python, "Programs/_freeze_importlib" +# is built for the target, while we need to run them at build time. So +# when installing host-python3, we copy them to $(HOST_DIR)/bin... +# +define HOST_PYTHON3_MAKE_REGEN_IMPORTLIB + $(HOST_MAKE_ENV) $(PYTHON3_CONF_ENV) $(MAKE) $(HOST_CONFIGURE_OPTS) -C $(@D) regen-importlib + cp $(@D)/Programs/_freeze_importlib $(HOST_DIR)/bin/python-freeze-importlib +endef + +HOST_PYTHON3_PRE_BUILD_HOOKS += HOST_PYTHON3_MAKE_REGEN_IMPORTLIB +# +# ... And then, when building the target python we first buid +# 'Programs/_freeze_importlib' to force GNU Make to update all of the +# prerequisites of 'Programs/_freeze_importlib', then copy our stashed +# "host-usable" version over the one that was just build and then +# build "regen-importlib" target +# +define PYTHON3_MAKE_REGEN_IMPORTLIB + $(TARGET_MAKE_ENV) $(PYTHON3_CONF_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) Programs/_freeze_importlib + cp $(HOST_DIR)/bin/python-freeze-importlib $(@D)/Programs/_freeze_importlib + $(TARGET_MAKE_ENV) $(PYTHON3_CONF_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) regen-importlib +endef + +PYTHON3_PRE_BUILD_HOOKS += PYTHON3_MAKE_REGEN_IMPORTLIB + # # Remove useless files. In the config/ directory, only the Makefile @@ -214,24 +248,33 @@ endif # for the target. ifeq ($(BR2_PACKAGE_PYTHON3),y) define HOST_PYTHON3_INSTALL_SYMLINK - ln -fs python3 $(HOST_DIR)/usr/bin/python - ln -fs python3-config $(HOST_DIR)/usr/bin/python-config + ln -fs python3 $(HOST_DIR)/bin/python + ln -fs python3-config $(HOST_DIR)/bin/python-config endef HOST_PYTHON3_POST_INSTALL_HOOKS += HOST_PYTHON3_INSTALL_SYMLINK endif # Provided to other packages -PYTHON3_PATH = $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/sysconfigdata/:$(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/ +PYTHON3_PATH = $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/ $(eval $(autotools-package)) $(eval $(host-autotools-package)) +ifeq ($(BR2_REPRODUCIBLE),y) +define PYTHON3_FIX_TIME + find $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR) -name '*.py' -print0 | \ + xargs -0 --no-run-if-empty touch -d @$(SOURCE_DATE_EPOCH) +endef +endif + define PYTHON3_CREATE_PYC_FILES + $(PYTHON3_FIX_TIME) PYTHONPATH="$(PYTHON3_PATH)" \ - $(HOST_DIR)/usr/bin/python$(PYTHON3_VERSION_MAJOR) \ - support/scripts/pycompile.py \ - $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR) + cd $(TARGET_DIR) && $(HOST_DIR)/bin/python$(PYTHON3_VERSION_MAJOR) \ + $(TOPDIR)/support/scripts/pycompile.py \ + $(if $(BR2_REPRODUCIBLE),--force) \ + usr/lib/python$(PYTHON3_VERSION_MAJOR) endef ifeq ($(BR2_PACKAGE_PYTHON3_PYC_ONLY)$(BR2_PACKAGE_PYTHON3_PY_PYC),y) diff --git a/package/qemu/0001-user-exec-fix-usage-of-mcontext-structure-on-ARM-uCl.patch b/package/qemu/0001-user-exec-fix-usage-of-mcontext-structure-on-ARM-uCl.patch new file mode 100644 index 0000000000..6d6d024d9d --- /dev/null +++ b/package/qemu/0001-user-exec-fix-usage-of-mcontext-structure-on-ARM-uCl.patch @@ -0,0 +1,35 @@ +From d3f1e7e9ff9aae3f770b0bcb9aa3c2f787f76a1b Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Fri, 5 May 2017 09:07:15 +0200 +Subject: [PATCH] user-exec: fix usage of mcontext structure on ARM/uClibc + +user-exec.c has some conditional code to decide how to use the +mcontext structure. Unfortunately, since uClibc defines __GLIBC__, but +with old versions of __GLIBC__ and __GLIBC_MINOR__, an old code path +gets used, which doesn't apply to uClibc. + +Fix this by excluding __UCLIBC__, which ensures we fall back to the +general case of using uc_mcontext.arm_pc, which works fine with +uClibc. + +Signed-off-by: Thomas Petazzoni +--- + user-exec.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/user-exec.c b/user-exec.c +index 6db0758..2b3d116 100644 +--- a/user-exec.c ++++ b/user-exec.c +@@ -409,7 +409,7 @@ int cpu_signal_handler(int host_signum, void *pinfo, + + #if defined(__NetBSD__) + pc = uc->uc_mcontext.__gregs[_REG_R15]; +-#elif defined(__GLIBC__) && (__GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ <= 3)) ++#elif defined(__GLIBC__) && !defined(__UCLIBC__) && (__GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ <= 3)) + pc = uc->uc_mcontext.gregs[R15]; + #else + pc = uc->uc_mcontext.arm_pc; +-- +2.7.4 + diff --git a/package/qemu/Config.in.host b/package/qemu/Config.in.host index b3eb5906cc..71f38ef41f 100644 --- a/package/qemu/Config.in.host +++ b/package/qemu/Config.in.host @@ -1,13 +1,13 @@ config BR2_PACKAGE_HOST_QEMU bool "host qemu" - select BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE \ - if !BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE depends on BR2_arm || BR2_armeb || BR2_aarch64 || \ BR2_i386 || BR2_m68k || BR2_microblazeel || \ BR2_microblazebe || BR2_mips || BR2_mipsel || \ BR2_mips64 || BR2_mips64el || BR2_powerpc || \ BR2_powerpc64 || BR2_powerpc64le || BR2_sh || \ BR2_sparc || BR2_x86_64 + select BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE \ + if !BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE help QEMU is a generic and open source machine emulator and virtualizer. diff --git a/package/qemu/qemu.hash b/package/qemu/qemu.hash index 572a5c911a..db43c9a2d8 100644 --- a/package/qemu/qemu.hash +++ b/package/qemu/qemu.hash @@ -1,2 +1,4 @@ # Locally computed, tarball verified with GPG signature -sha256 326e739506ba690daf69fc17bd3913a6c313d9928d743bd8eddb82f403f81e53 qemu-2.7.0.tar.bz2 +sha256 1dd51a908fc68c7d935b0b31fb184c5669bc23b5a1b081816e824714f2a11caa qemu-2.10.1.tar.xz +sha256 6f04ae8364d0079a192b14635f4b1da294ce18724c034c39a6a41d1b09df6100 COPYING +sha256 48ffe9fc7f1d5462dbd19340bc4dd1d8a9e37c61ed535813e614cbe4a5f0d4df COPYING.LIB diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk index 66efcba345..402ad68b5c 100644 --- a/package/qemu/qemu.mk +++ b/package/qemu/qemu.mk @@ -4,10 +4,10 @@ # ################################################################################ -QEMU_VERSION = 2.7.0 -QEMU_SOURCE = qemu-$(QEMU_VERSION).tar.bz2 -QEMU_SITE = http://wiki.qemu.org/download -QEMU_LICENSE = GPLv2, LGPLv2.1, MIT, BSD-3c, BSD-2c, Others/BSD-1c +QEMU_VERSION = 2.10.1 +QEMU_SOURCE = qemu-$(QEMU_VERSION).tar.xz +QEMU_SITE = http://download.qemu.org +QEMU_LICENSE = GPL-2.0, LGPL-2.1, MIT, BSD-3-Clause, BSD-2-Clause, Others/BSD-1c QEMU_LICENSE_FILES = COPYING COPYING.LIB # NOTE: there is no top-level license file for non-(L)GPL licenses; # the non-(L)GPL license texts are specified in the affected @@ -126,11 +126,11 @@ define HOST_QEMU_CONFIGURE_CMDS cd $(@D); $(HOST_CONFIGURE_OPTS) CPP="$(HOSTCC) -E" \ ./configure \ --target-list="$(HOST_QEMU_TARGETS)" \ - --prefix="$(HOST_DIR)/usr" \ + --prefix="$(HOST_DIR)" \ --interp-prefix=$(STAGING_DIR) \ --cc="$(HOSTCC)" \ --host-cc="$(HOSTCC)" \ - --python=$(HOST_DIR)/usr/bin/python2 \ + --python=$(HOST_DIR)/bin/python2 \ --extra-cflags="$(HOST_CFLAGS)" \ --extra-ldflags="$(HOST_LDFLAGS)" \ $(HOST_QEMU_OPTS) @@ -147,7 +147,7 @@ endef $(eval $(host-generic-package)) # variable used by other packages -QEMU_USER = $(HOST_DIR)/usr/bin/qemu-$(HOST_QEMU_ARCH) +QEMU_USER = $(HOST_DIR)/bin/qemu-$(HOST_QEMU_ARCH) #------------------------------------------------------------- # Target-qemu @@ -161,8 +161,8 @@ QEMU_LIBS = -lrt -lm QEMU_OPTS = QEMU_VARS = \ - LIBTOOL=$(HOST_DIR)/usr/bin/libtool \ - PYTHON=$(HOST_DIR)/usr/bin/python2 \ + LIBTOOL=$(HOST_DIR)/bin/libtool \ + PYTHON=$(HOST_DIR)/bin/python2 \ PYTHONPATH=$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages # If we want to specify only a subset of targets, we must still enable all @@ -215,42 +215,41 @@ endif # Override CPP, as it expects to be able to call it like it'd # call the compiler. define QEMU_CONFIGURE_CMDS - ( cd $(@D); \ - LIBS='$(QEMU_LIBS)' \ - $(TARGET_CONFIGURE_OPTS) \ - $(TARGET_CONFIGURE_ARGS) \ - CPP="$(TARGET_CC) -E" \ - $(QEMU_VARS) \ - ./configure \ - --prefix=/usr \ - --cross-prefix=$(TARGET_CROSS) \ - --with-system-pixman \ - --audio-drv-list= \ - --enable-kvm \ - --enable-attr \ - --enable-vhost-net \ - --disable-bsd-user \ - --disable-xen \ - --disable-slirp \ - --disable-vnc \ - --disable-virtfs \ - --disable-brlapi \ - --disable-curses \ - --disable-curl \ - --disable-bluez \ - --disable-uuid \ - --disable-vde \ - --disable-linux-aio \ - --disable-cap-ng \ - --disable-docs \ - --disable-spice \ - --disable-rbd \ - --disable-libiscsi \ - --disable-usb-redir \ - --disable-strip \ - --disable-seccomp \ - --disable-sparse \ - $(QEMU_OPTS) \ + ( cd $(@D); \ + LIBS='$(QEMU_LIBS)' \ + $(TARGET_CONFIGURE_OPTS) \ + $(TARGET_CONFIGURE_ARGS) \ + CPP="$(TARGET_CC) -E" \ + $(QEMU_VARS) \ + ./configure \ + --prefix=/usr \ + --cross-prefix=$(TARGET_CROSS) \ + --with-system-pixman \ + --audio-drv-list= \ + --enable-kvm \ + --enable-attr \ + --enable-vhost-net \ + --disable-bsd-user \ + --disable-xen \ + --disable-slirp \ + --disable-vnc \ + --disable-virtfs \ + --disable-brlapi \ + --disable-curses \ + --disable-curl \ + --disable-bluez \ + --disable-vde \ + --disable-linux-aio \ + --disable-cap-ng \ + --disable-docs \ + --disable-spice \ + --disable-rbd \ + --disable-libiscsi \ + --disable-usb-redir \ + --disable-strip \ + --disable-seccomp \ + --disable-sparse \ + $(QEMU_OPTS) \ ) endef diff --git a/package/qextserialport/Config.in b/package/qextserialport/Config.in index ab05920b20..4e7ef13784 100644 --- a/package/qextserialport/Config.in +++ b/package/qextserialport/Config.in @@ -4,4 +4,4 @@ config BR2_PACKAGE_QEXTSERIALPORT help A Qt library to manage serial ports - http://code.google.com/p/qextserialport/ + http://qextserialport.github.io/ diff --git a/package/qjson/qjson.mk b/package/qjson/qjson.mk index dab2381bee..1777b9454c 100644 --- a/package/qjson/qjson.mk +++ b/package/qjson/qjson.mk @@ -10,7 +10,7 @@ QJSON_INSTALL_STAGING = YES QJSON_DEPENDENCIES = \ $(if $(BR2_PACKAGE_QT),qt) \ $(if $(BR2_PACKAGE_QT5),qt5base) -QJSON_LICENSE = LGPLv2.1 +QJSON_LICENSE = LGPL-2.1 QJSON_LICENSE_FILES = COPYING.lib $(eval $(cmake-package)) diff --git a/package/qlibc/Config.in b/package/qlibc/Config.in index 170da4940f..ad6f1fee55 100644 --- a/package/qlibc/Config.in +++ b/package/qlibc/Config.in @@ -1,9 +1,9 @@ config BR2_PACKAGE_QLIBC bool "qlibc" - select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_WCHAR depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE help qLibc is currently one of the most functionally complete public licensed C/C++ libraries. The C/C++ library which diff --git a/package/qlibc/qlibc.mk b/package/qlibc/qlibc.mk index a146fa387f..55c7aa3b05 100644 --- a/package/qlibc/qlibc.mk +++ b/package/qlibc/qlibc.mk @@ -6,7 +6,7 @@ QLIBC_VERSION = v2.4.1 QLIBC_SITE = $(call github,wolkykim,qlibc,$(QLIBC_VERSION)) -QLIBC_LICENSE = BSD-2c +QLIBC_LICENSE = BSD-2-Clause QLIBC_LICENSE_FILES = LICENSE # We're patching configure.ac diff --git a/package/qpdf/Config.in b/package/qpdf/Config.in index e8ab9ba969..0b29b6f827 100644 --- a/package/qpdf/Config.in +++ b/package/qpdf/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_QPDF depends on BR2_INSTALL_LIBSTDCPP select BR2_PACKAGE_PCRE select BR2_PACKAGE_ZLIB + select BR2_PACKAGE_JPEG help QPDF is a command-line program that does structural, content- preserving transformations on PDF files. It could have been called diff --git a/package/qpdf/qpdf.hash b/package/qpdf/qpdf.hash index c882708b52..1fbef66e6f 100644 --- a/package/qpdf/qpdf.hash +++ b/package/qpdf/qpdf.hash @@ -1,4 +1,4 @@ -# From http://sourceforge.net/projects/qpdf/files/qpdf/6.0.0/qpdf-6.0.0.sha1/download -sha1 15ebe09d9b9ddd2309a67e4295693fcf82494e33 qpdf-6.0.0.tar.gz +# From https://sourceforge.net/projects/qpdf/files/qpdf/7.0.0/qpdf-7.0.0.sha512/download +sha512 7b52d67b4d2c428a7b0c1cd03b03a23f05d38d7e3c81041079a137919019ea5158f12bf95fdcfcff6b43ffdefe93a85127ced2a363a6b4b380cbaa02a3840256 qpdf-7.0.0.tar.gz # Locally computed -sha256 a9fdc7e94d38fcd3831f37b6e0fe36492bf79aa6d54f8f66062cf7f9c4155233 qpdf-6.0.0.tar.gz +sha256 fed08de14caad0fe5efd148d9eca886d812588b2cbb35d13e61993ee8eb8c65f qpdf-7.0.0.tar.gz diff --git a/package/qpdf/qpdf.mk b/package/qpdf/qpdf.mk index 9601f98542..27e4d09978 100644 --- a/package/qpdf/qpdf.mk +++ b/package/qpdf/qpdf.mk @@ -4,12 +4,12 @@ # ################################################################################ -QPDF_VERSION = 6.0.0 +QPDF_VERSION = 7.0.0 QPDF_SITE = http://downloads.sourceforge.net/project/qpdf/qpdf/$(QPDF_VERSION) QPDF_INSTALL_STAGING = YES QPDF_LICENSE = Artistic-2.0 QPDF_LICENSE_FILES = Artistic-2.0 -QPDF_DEPENDENCIES = pcre zlib +QPDF_DEPENDENCIES = pcre zlib jpeg QPDF_CONF_OPTS = --without-random diff --git a/package/qpid-proton/Config.in b/package/qpid-proton/Config.in index 47cddebe91..b49a2afa7e 100644 --- a/package/qpid-proton/Config.in +++ b/package/qpid-proton/Config.in @@ -6,10 +6,10 @@ config BR2_PACKAGE_QPID_PROTON help The AMQP messaging toolkit - Qpid Proton is a high-performance, lightweight messaging library. - It can be used in the widest range of messaging applications, - including brokers, client libraries, routers, bridges, proxies, and - more. + Qpid Proton is a high-performance, lightweight messaging + library. It can be used in the widest range of messaging + applications, including brokers, client libraries, routers, + bridges, proxies, and more. https://qpid.apache.org/proton/ diff --git a/package/qpid-proton/qpid-proton.mk b/package/qpid-proton/qpid-proton.mk index 2e8c1d0e92..c501e48c86 100644 --- a/package/qpid-proton/qpid-proton.mk +++ b/package/qpid-proton/qpid-proton.mk @@ -26,7 +26,7 @@ QPID_PROTON_CONF_OPTS = \ -DBUILD_RUBY=OFF \ -DENABLE_VALGRIND=OFF \ -DENABLE_WARNING_ERROR=OFF \ - -DPYTHON_EXECUTABLE=$(HOST_DIR)/usr/bin/python2 + -DPYTHON_EXECUTABLE=$(HOST_DIR)/bin/python2 define QPID_PROTON_REMOVE_USELESS_FILES rm -fr $(TARGET_DIR)/usr/share/proton-*/ diff --git a/package/qt-webkit-kiosk/Config.in b/package/qt-webkit-kiosk/Config.in index 1b0e0dee09..71b4f8346a 100644 --- a/package/qt-webkit-kiosk/Config.in +++ b/package/qt-webkit-kiosk/Config.in @@ -1,15 +1,17 @@ config BR2_PACKAGE_QT_WEBKIT_KIOSK bool "qt-webkit-kiosk" depends on BR2_PACKAGE_QT5 + depends on !BR2_STATIC_LIBS # qt5webkit + depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5webkit + depends on BR2_HOST_GCC_AT_LEAST_4_8 # qt5webkit -> icu + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # qt5webkit -> icu + depends on !BR2_BINFMT_FLAT # qt5webkit -> icu + depends on !BR2_MIPS_SOFT_FLOAT # qt5webkit select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_QT5BASE_GUI select BR2_PACKAGE_QT5BASE_WIDGETS select BR2_PACKAGE_QT5WEBKIT select BR2_PACKAGE_QT5MULTIMEDIA - depends on !BR2_STATIC_LIBS # qt5webkit - depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5webkit - depends on !BR2_BINFMT_FLAT # qt5webkit - depends on !BR2_MIPS_SOFT_FLOAT # qt5webkit help Simple kiosk-mode browser powered by Qt5Webkit @@ -21,3 +23,10 @@ config BR2_PACKAGE_QT_WEBKIT_KIOSK_SOUNDS Deploy browser sound files on target endif + +comment "qt-webkit-kiosk needs a toolchain w/ dynamic library, gcc >= 4.8, host gcc >= 4.8" + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \ + !BR2_HOST_GCC_AT_LEAST_4_8 + depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE + depends on !BR2_BINFMT_FLAT + depends on !BR2_MIPS_SOFT_FLOAT diff --git a/package/qt-webkit-kiosk/qt-webkit-kiosk.hash b/package/qt-webkit-kiosk/qt-webkit-kiosk.hash new file mode 100644 index 0000000000..8097c88c9d --- /dev/null +++ b/package/qt-webkit-kiosk/qt-webkit-kiosk.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 ec05f5bcb202265202a6f3ff74372516ce9beb82206ff67ca2b1b6fcb586ecd2 qt-webkit-kiosk-34efddb0bf0c36c8652f90dcd001db123f286f04.tar.gz diff --git a/package/qt-webkit-kiosk/qt-webkit-kiosk.mk b/package/qt-webkit-kiosk/qt-webkit-kiosk.mk index d54c8d5eb7..c279cbe7ce 100644 --- a/package/qt-webkit-kiosk/qt-webkit-kiosk.mk +++ b/package/qt-webkit-kiosk/qt-webkit-kiosk.mk @@ -4,11 +4,11 @@ # ################################################################################ -QT_WEBKIT_KIOSK_VERSION = 7fe40a350abfbe5ec194e7c6c740f7099e8704cd +QT_WEBKIT_KIOSK_VERSION = 34efddb0bf0c36c8652f90dcd001db123f286f04 QT_WEBKIT_KIOSK_SITE = https://github.com/sergey-dryabzhinsky/qt-webkit-kiosk.git QT_WEBKIT_KIOSK_SITE_METHOD = git QT_WEBKIT_KIOSK_DEPENDENCIES = qt5webkit qt5multimedia -QT_WEBKIT_KIOSK_LICENSE = LGPLv3 +QT_WEBKIT_KIOSK_LICENSE = LGPL-3.0 QT_WEBKIT_KIOSK_LICENSE_FILES = doc/lgpl.html define QT_WEBKIT_KIOSK_CONFIGURE_CMDS diff --git a/package/qt/0001-alsatest-fix-the-check-to-treat-alsalib-1.1.x-as-correct.patch b/package/qt/0001-alsatest-fix-the-check-to-treat-alsalib-1.1.x-as-correct.patch new file mode 100644 index 0000000000..4cec4bde52 --- /dev/null +++ b/package/qt/0001-alsatest-fix-the-check-to-treat-alsalib-1.1.x-as-correct.patch @@ -0,0 +1,29 @@ +From b8f98d956501dfa4ce03a137f15d404930a56066 Mon Sep 17 00:00:00 2001 +From: Dmitry Shachnev +Date: Sat, 5 Mar 2016 10:25:33 +0300 +Subject: [PATCH] alsatest: Fix the check to treat alsalib 1.1.x as correct + version + +Task-number: QTBUG-51681 +Change-Id: I63266c33342f02f4d1a5ea5786f5fbc5a1b421b3 +Reviewed-by: Oswald Buddenhagen +[Upstream commit: https://github.com/qtproject/qtbase/commit/b8f98d956501dfa4ce03a137f15d404930a56066] +[Patch fixing ALSA detection. Taken from Qt5, but applies fine to Qt4.] +Signed-off-by: Thomas Petazzoni +--- + config.tests/unix/alsa/alsatest.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/config.tests/unix/alsa/alsatest.cpp b/config.tests/unix/alsa/alsatest.cpp +index cab6533977..0b45819b61 100644 +--- a/config.tests/unix/alsa/alsatest.cpp ++++ b/config.tests/unix/alsa/alsatest.cpp +@@ -32,7 +32,7 @@ + ****************************************************************************/ + + #include +-#if(!(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 10)) ++#if SND_LIB_VERSION < 0x1000a // 1.0.10 + #error "Alsa version found too old, require >= 1.0.10" + #endif + diff --git a/package/qt/0001-configure.patch b/package/qt/0002-configure.patch similarity index 100% rename from package/qt/0001-configure.patch rename to package/qt/0002-configure.patch diff --git a/package/qt/0002-eglwsegl-use-system.patch b/package/qt/0003-eglwsegl-use-system.patch similarity index 100% rename from package/qt/0002-eglwsegl-use-system.patch rename to package/qt/0003-eglwsegl-use-system.patch diff --git a/package/qt/0003-fix-const-atomics.patch b/package/qt/0004-fix-const-atomics.patch similarity index 100% rename from package/qt/0003-fix-const-atomics.patch rename to package/qt/0004-fix-const-atomics.patch diff --git a/package/qt/0004-pthread_getattr_np.patch b/package/qt/0005-pthread_getattr_np.patch similarity index 100% rename from package/qt/0004-pthread_getattr_np.patch rename to package/qt/0005-pthread_getattr_np.patch diff --git a/package/qt/0005-script-qtdbus-no-gui.patch b/package/qt/0006-script-qtdbus-no-gui.patch similarity index 100% rename from package/qt/0005-script-qtdbus-no-gui.patch rename to package/qt/0006-script-qtdbus-no-gui.patch diff --git a/package/qt/0006-Add-initial-support-of-ARC-architecture.patch b/package/qt/0007-Add-initial-support-of-ARC-architecture.patch similarity index 100% rename from package/qt/0006-Add-initial-support-of-ARC-architecture.patch rename to package/qt/0007-Add-initial-support-of-ARC-architecture.patch diff --git a/package/qt/0007-Prevent-unaligned-access-on-ARC.patch b/package/qt/0008-Prevent-unaligned-access-on-ARC.patch similarity index 100% rename from package/qt/0007-Prevent-unaligned-access-on-ARC.patch rename to package/qt/0008-Prevent-unaligned-access-on-ARC.patch diff --git a/package/qt/0008-Fix-conversion-constructor-error-for-legacy-c-compil.patch b/package/qt/0009-Fix-conversion-constructor-error-for-legacy-c-compil.patch similarity index 100% rename from package/qt/0008-Fix-conversion-constructor-error-for-legacy-c-compil.patch rename to package/qt/0009-Fix-conversion-constructor-error-for-legacy-c-compil.patch diff --git a/package/qt/0009-Fix-library-inclusion-order-when-building-statically.patch b/package/qt/0009-Fix-library-inclusion-order-when-building-statically.patch deleted file mode 100644 index f6163fa0d2..0000000000 --- a/package/qt/0009-Fix-library-inclusion-order-when-building-statically.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 7a912823158a4113256c3113a34c38d6b241d275 Mon Sep 17 00:00:00 2001 -From: Alexey Brodkin -Date: Wed, 13 Jan 2016 20:15:36 +0300 -Subject: [PATCH] Fix library inclusion order when building statically - -When building application statically it's important to keep -libraries we're linking against in order. Otherwise if libA depends on -libB but it is mentioned after libB in linker command line -there will be unresolved symbols. - -Consider real example - configuration of Qt with glib for static build. -Initially reported by Buildroot autobuilder here: -http://autobuild.buildroot.net/results/174/174c6e47eb761f9897275b6fedff742ace2f3081 - -What happens here: - -[1] Qt's configuration script tries to build glib test app - (in config.tests/unix/glib) - -[2] For that it first asks which libs to use during linkage this way: - QT_LIBS_GLIB=`$PKG_CONFIG --libs glib-2.0 gthread-2.0 2>/dev/null` - - In our case we're getting something like this: - -L/.../sysroot/usr/lib -lintl -lgthread-2.0 -pthread -lglib-2.0 \ - -lintl -pthread -lintl - - Note "-lintl" is mentioned 3 times because libgthread depends on - libthread and both of them plus libglib all depend on libintl - so - we're getting "lintl" for each separate library mentioned above. - -[3] Now we execute "compileTest" for real heavy lifting this way: - compileTest unix/glib "Glib" $QT_CFLAGS_GLIB $QT_LIBS_GLIB ... - -[4] compileTest (the one for unix) parses command-line passed to it - groups all entries with "-l" prefix and puts them in LFLAGS - variable. And finally executes qmake passing it that kind of - construction: - $OUTDIR/bin/qmake ..."LIBS*=$LFLAGS" - -[5] When qmake sees construction "MYVAR*=MYVAL" it populates MYVAR with - unique values from MYVAL string. - -[6] As a result qmake generated Makefile with the following: - LIBS = $(SUBLIBS) -pthread -L/.../sysroot/usr/lib -lintl -lgthread-2.0 \ - -lglib-2.0 - -[7] And essentially on attempt to link glib test app a failure happens - because libglib needs libintl, i.e. "-lintl" must follow "-lglib-2.0": --------------------->8------------------ -linking glib - -g++ -static -Wl,-O1 -o glib glib.o -pthread -L/.../sysroot/usr/lib \ --lintl -lgthread-2.0 -lglib-2.0 - -/.../sysroot/usr/lib/libglib-2.0.a(libglib_2_0_la-ggettext.o): In function '_g_dgettext_should_translate': -ggettext.c:(.text+0x28): undefined reference to `libintl_textdomain' -ggettext.c:(.text+0x36): undefined reference to `libintl_gettext' -/.../sysroot/usr/lib/libglib-2.0.a(libglib_2_0_la-ggettext.o): In function `ensure_gettext_initialized': -ggettext.c:(.text+0xe6): undefined reference to `libintl_bindtextdomain' -ggettext.c:(.text+0xf6): undefined reference to `libintl_bind_textdomain_codeset' -/.../sysroot/usr/lib/libglib-2.0.a(libglib_2_0_la-ggettext.o): In function `g_dgettext': -ggettext.c:(.text+0x148): undefined reference to `libintl_dgettext' -/.../sysroot/usr/lib/libglib-2.0.a(libglib_2_0_la-ggettext.o): In function `g_dcgettext': -ggettext.c:(.text+0x2dc): undefined reference to `libintl_dcgettext' -/.../sysroot/usr/lib/libglib-2.0.a(libglib_2_0_la-ggettext.o): In function `g_dngettext': -ggettext.c:(.text+0x32a): undefined reference to `libintl_dngettext' -collect2: error: ld returned 1 exit status -Makefile:99: recipe for target 'glib' failed -make: *** [glib] Error 1 - -Glib disabled. -Glib support cannot be enabled due to functionality tests! - Turn on verbose messaging (-v) to ./configure to see the final report. - If you believe this message is in error you may use the continue - switch (-continue) to ./configure to continue. --------------------->8------------------ - -Solution to this problem is simple we have to pass all libraries exactly -in order of their initial mention by upper layers. - -Change-Id: I7ff00901031a8eb85b4fbd7889b0e0c02be806bb - -This fix was sent to Qt Gerrit for review here: -https://codereview.qt-project.org/#/c/145967/ - ---- - config.tests/unix/compile.test | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/config.tests/unix/compile.test b/config.tests/unix/compile.test -index f484f03..dac0a4f 100755 ---- a/config.tests/unix/compile.test -+++ b/config.tests/unix/compile.test -@@ -73,7 +73,7 @@ test -r Makefile && $MAKE distclean >/dev/null 2>&1 - rm -f "$EXE" "${EXE}.exe" - - echo "QT_BUILD_TREE = $OUTDIR" > "$OUTDIR/$TEST/.qmake.cache" --"$OUTDIR/bin/qmake" -spec "$QMKSPEC" "CONFIG+=$QMAKE_CONFIG" "CONFIG-=debug_and_release" "LIBS*=$LFLAGS" "LIBS+=$MAC_ARCH_LFLAGS" "INCLUDEPATH*=$INCLUDEPATH" "QMAKE_CXXFLAGS*=$CXXFLAGS" "QMAKE_CXXFLAGS+=$MAC_ARCH_CXXFLAGS" "$SRCDIR/$TEST/$EXE.pro" -o "$OUTDIR/$TEST/Makefile" -+"$OUTDIR/bin/qmake" -spec "$QMKSPEC" "CONFIG+=$QMAKE_CONFIG" "CONFIG-=debug_and_release" "LIBS=$LFLAGS" "LIBS+=$MAC_ARCH_LFLAGS" "INCLUDEPATH*=$INCLUDEPATH" "QMAKE_CXXFLAGS*=$CXXFLAGS" "QMAKE_CXXFLAGS+=$MAC_ARCH_CXXFLAGS" "$SRCDIR/$TEST/$EXE.pro" -o "$OUTDIR/$TEST/Makefile" - - if [ "$VERBOSE" = "yes" ]; then - $MAKE --- -2.4.3 - diff --git a/package/qt/0013-src-corelib-arch-qatomic_arm.h-fix-build-on-ARMv8-32.patch b/package/qt/0013-src-corelib-arch-qatomic_arm.h-fix-build-on-ARMv8-32.patch new file mode 100644 index 0000000000..645041acfe --- /dev/null +++ b/package/qt/0013-src-corelib-arch-qatomic_arm.h-fix-build-on-ARMv8-32.patch @@ -0,0 +1,37 @@ +From 2281fa50f6e13278d3fd4f028377b8249b7b3cdb Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Fri, 8 Sep 2017 09:06:54 +0200 +Subject: [PATCH] src/corelib/arch/qatomic_arm.h: fix build on ARMv8 32-bit + +The Qt build fails on ARMv8 32-bit because it falls back to using the +ARMv5 code that uses the swp instruction, which no longer exists: + +/tmp/ccSxVIzw.s: Assembler messages: +/tmp/ccSxVIzw.s:127: Error: swp{b} use is obsoleted for ARMv8 and later +/tmp/ccSxVIzw.s:190: Error: swp{b} use is obsoleted for ARMv8 and later + +So, this commit adjusts the ARM atomic code to assume ARMv8 is similar +to ARMv7. + +Signed-off-by: Thomas Petazzoni +--- + src/corelib/arch/qatomic_arm.h | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/corelib/arch/qatomic_arm.h b/src/corelib/arch/qatomic_arm.h +index 77cd66f272..e011929d3e 100644 +--- a/src/corelib/arch/qatomic_arm.h ++++ b/src/corelib/arch/qatomic_arm.h +@@ -47,7 +47,8 @@ QT_BEGIN_HEADER + #if defined(__ARM_ARCH_7__) \ + || defined(__ARM_ARCH_7A__) \ + || defined(__ARM_ARCH_7R__) \ +- || defined(__ARM_ARCH_7M__) ++ || defined(__ARM_ARCH_7M__) \ ++ || defined(__ARM_ARCH_8A__) + # define QT_ARCH_ARMV7 + QT_BEGIN_INCLUDE_HEADER + # include "QtCore/qatomic_armv7.h" +-- +2.13.5 + diff --git a/package/qt/0014-Enable-QtWebKit-with-newer-GCC.patch b/package/qt/0014-Enable-QtWebKit-with-newer-GCC.patch new file mode 100644 index 0000000000..1e555e721f --- /dev/null +++ b/package/qt/0014-Enable-QtWebKit-with-newer-GCC.patch @@ -0,0 +1,50 @@ +From f566411fb314b7e4ab01f28e25e942cfaf8c59b7 Mon Sep 17 00:00:00 2001 +From: Evgeniy Didin +Date: Fri, 15 Sep 2017 19:43:48 +0300 +Subject: [PATCH] qt: Allow enabling of QtWebKit with GCC 6+ + +Building Qt with QtWebKit on configuration step there is +a check which disables QtWebKit build with GCC 6+. +Back in the day nobody thought about building Qt with GCC +version greater than 5.x. And now with modern GCCs like +6.x and 7.x this assumption gets in the way. + +Given in Buildroot today we don't have GCC older than 4.9 +it should be safe to remove now meaningless check completely. + +Signed-off-by: Evgeniy Didin +Cc: Alexey Brodkin +Cc: Thomas Petazzoni + +--- + configure | 14 -------------- + 1 file changed, 14 deletions(-) + +diff --git a/configure b/configure +index 10ad7ca0b0..8771144a65 100755 +--- a/configure ++++ b/configure +@@ -7731,20 +7731,6 @@ case "$XPLATFORM" in + canBuildWebKit="no" + canBuildQtXmlPatterns="no" + ;; +- *-g++*) +- # Check gcc's version +- case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in +- 5*|4*|3.4*) +- ;; +- 3.3*) +- canBuildWebKit="no" +- ;; +- *) +- canBuildWebKit="no" +- canBuildQtXmlPatterns="no" +- ;; +- esac +- ;; + solaris-cc*) + # Check the compiler version + case `${QMAKE_CONF_COMPILER} -V 2>&1 | awk '{print $4}'` in +-- +2.11.0 + diff --git a/package/qt/0015-configure-fix-build-on-non-x86-platforms.patch b/package/qt/0015-configure-fix-build-on-non-x86-platforms.patch new file mode 100644 index 0000000000..a5995484c8 --- /dev/null +++ b/package/qt/0015-configure-fix-build-on-non-x86-platforms.patch @@ -0,0 +1,146 @@ +From 02e9698c96ca78342b82fa7239e93bab4aa45db2 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Fri, 17 Nov 2017 22:20:06 +0100 +Subject: [PATCH] configure: fix build on non-x86 platforms + +When building for an uncommon platform on a ppc64le machine, Qt build +fails because it builds qmake with the target compiler instead of +using the host compiler. This is due to the fact that Qt configure +script believes that both the host and target platforms are "powerpc", +even though the target really is Xtensa or ARC for example. + +Qt's configure script defines a variable called PLATFORM that points to +the mkspecs describing the host machine. For x86, its value is +qws/linux-x86-g++ and for x86-64, its value is +qws/linux-x86_64-g++. For any other host architecture, its value is +qws/linux-generic-g++. + +In parallel to this, Qt's configure script defines a variable called +XPLATFORM that points to the mkspecs describing the target machine. It +points to qws/linux-${CFG_EMBEDDED}-g++, where CFG_EMBEDDED is +simply "generic" for most uncommon architectures. + +Therefore, when we're building for an uncommon architecture, on a +ppc64le machine, we have: + + PLATFORM = qws/linux-generic-g++ + XPLATFORM = qws/linux-generic-g++ + +i.e, both values are equal. Due to this, the following condition is +false: + +if [ "$PLATFORM" != "$XPLATFORM" -a "$CFG_EMBEDDED" != "no" ]; then + +which causes Qt's configure script to fallback to: + +elif [ "$PLATFORM_MAC" = "yes" ] || [ -z "$CFG_ARCH" ]; then + CFG_ARCH=$CFG_HOST_ARCH +fi + +because CFG_ARCH is not defined, and therefore gets defined to +CFG_HOST_ARCH. So we have CFG_ARCH == CFG_HOST_ARCH, and Qt believes +we're doing a native build. + +Therefore, we need to ensure that PLATFORM and XPLATFORM always have a +different value. To achieve this, we create a +qws/linux-host-generic-g++ mkspecs, which is always used as +PLATFORM. It is identical to qws/linux-x86-g++. Compared to +qws/linux-x86_64-g++, the only difference is that we're not passing +the -m64 flag, but that isn't needed when building host tools. + +Signed-off-by: Thomas Petazzoni +--- + configure | 8 +---- + mkspecs/qws/linux-host-generic-g++/qmake.conf | 10 ++++++ + mkspecs/qws/linux-host-generic-g++/qplatformdefs.h | 42 ++++++++++++++++++++++ + 3 files changed, 53 insertions(+), 7 deletions(-) + create mode 100644 mkspecs/qws/linux-host-generic-g++/qmake.conf + create mode 100644 mkspecs/qws/linux-host-generic-g++/qplatformdefs.h + +diff --git a/configure b/configure +index 10ad7ca0b0..d25f90be1e 100755 +--- a/configure ++++ b/configure +@@ -2806,14 +2806,8 @@ if [ "$CFG_EMBEDDED" != "no" ]; then + Linux:*) + if [ -z "$PLATFORM" ]; then + case "$UNAME_MACHINE" in +- *86) +- PLATFORM=qws/linux-x86-g++ +- ;; +- *86_64) +- PLATFORM=qws/linux-x86_64-g++ +- ;; + *) +- PLATFORM=qws/linux-generic-g++ ++ PLATFORM=qws/linux-host-generic-g++ + ;; + esac + fi +diff --git a/mkspecs/qws/linux-host-generic-g++/qmake.conf b/mkspecs/qws/linux-host-generic-g++/qmake.conf +new file mode 100644 +index 0000000000..55011ec52b +--- /dev/null ++++ b/mkspecs/qws/linux-host-generic-g++/qmake.conf +@@ -0,0 +1,10 @@ ++# ++# qmake configuration for building with linux-g++ ++# ++ ++include(../../common/linux.conf) ++include(../../common/gcc-base-unix.conf) ++include(../../common/g++-unix.conf) ++include(../../common/qws.conf) ++ ++load(qt_config) +diff --git a/mkspecs/qws/linux-host-generic-g++/qplatformdefs.h b/mkspecs/qws/linux-host-generic-g++/qplatformdefs.h +new file mode 100644 +index 0000000000..a654aa78a2 +--- /dev/null ++++ b/mkspecs/qws/linux-host-generic-g++/qplatformdefs.h +@@ -0,0 +1,42 @@ ++/**************************************************************************** ++** ++** Copyright (C) 2015 The Qt Company Ltd. ++** Contact: http://www.qt.io/licensing/ ++** ++** This file is part of the qmake spec of the Qt Toolkit. ++** ++** $QT_BEGIN_LICENSE:LGPL$ ++** Commercial License Usage ++** Licensees holding valid commercial Qt licenses may use this file in ++** accordance with the commercial license agreement provided with the ++** Software or, alternatively, in accordance with the terms contained in ++** a written agreement between you and The Qt Company. For licensing terms ++** and conditions see http://www.qt.io/terms-conditions. For further ++** information use the contact form at http://www.qt.io/contact-us. ++** ++** GNU Lesser General Public License Usage ++** Alternatively, this file may be used under the terms of the GNU Lesser ++** General Public License version 2.1 or version 3 as published by the Free ++** Software Foundation and appearing in the file LICENSE.LGPLv21 and ++** LICENSE.LGPLv3 included in the packaging of this file. Please review the ++** following information to ensure the GNU Lesser General Public License ++** requirements will be met: https://www.gnu.org/licenses/lgpl.html and ++** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. ++** ++** As a special exception, The Qt Company gives you certain additional ++** rights. These rights are described in The Qt Company LGPL Exception ++** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. ++** ++** GNU General Public License Usage ++** Alternatively, this file may be used under the terms of the GNU ++** General Public License version 3.0 as published by the Free Software ++** Foundation and appearing in the file LICENSE.GPL included in the ++** packaging of this file. Please review the following information to ++** ensure the GNU General Public License version 3.0 requirements will be ++** met: http://www.gnu.org/copyleft/gpl.html. ++** ++** $QT_END_LICENSE$ ++** ++****************************************************************************/ ++ ++#include "../../linux-g++/qplatformdefs.h" +-- +2.13.6 + diff --git a/package/qt/Config.gfx.in b/package/qt/Config.gfx.in index 70adeef2ff..5e6619c7b8 100644 --- a/package/qt/Config.gfx.in +++ b/package/qt/Config.gfx.in @@ -20,12 +20,12 @@ comment "directfb Qt driver not available (need directfb)" depends on !BR2_PACKAGE_DIRECTFB config BR2_PACKAGE_QT_GFX_DIRECTFB - depends on BR2_PACKAGE_DIRECTFB bool "directFB" + depends on BR2_PACKAGE_DIRECTFB config BR2_PACKAGE_QT_GFX_POWERVR + bool "powervr" depends on BR2_PACKAGE_QT_OPENGL_ES depends on BR2_PACKAGE_HAS_POWERVR - bool "powervr" endmenu diff --git a/package/qt/Config.in b/package/qt/Config.in index fa5235d6f4..7710b09d29 100644 --- a/package/qt/Config.in +++ b/package/qt/Config.in @@ -33,7 +33,6 @@ comment "Qt standard (X11) not available (need X.org)" config BR2_PACKAGE_QT_X11 bool "Qt standard (X11)" depends on BR2_PACKAGE_XORG7 - depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 # Qt GUI module select BR2_PACKAGE_FONTCONFIG select BR2_PACKAGE_XLIB_LIBXI select BR2_PACKAGE_XLIB_LIBX11 @@ -57,7 +56,6 @@ config BR2_PACKAGE_QT_DEBUG config BR2_PACKAGE_QT_DEMOS bool "Compile and install Qt demos (with code)" - depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 # Qt GUI module select BR2_PACKAGE_QT_GUI_MODULE help If unsure, say N. @@ -71,7 +69,6 @@ config BR2_PACKAGE_QT_TRANSLATION_FILES config BR2_PACKAGE_QT_EXAMPLES bool "Compile and install Qt examples (with code)" - depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 # Qt GUI module select BR2_PACKAGE_QT_GUI_MODULE help If unsure, say N. @@ -99,17 +96,6 @@ config BR2_PACKAGE_QT_STATIC endchoice -config BR2_PACKAGE_QT_LICENSE_APPROVED - bool "Approve free license" - help - Select this if you approve one of the available free licenses for the - Qt4 library. - By doing this you will not be asked while the library is compiled. - Please read and understand the license terms before approving this. - - LGPL v2.1: http://doc.trolltech.com/4.5/lgpl.html - GPL v3.0: http://doc.trolltech.com/4.5/gpl.html - config BR2_PACKAGE_QT_CONFIG_FILE string "Config file" help @@ -134,16 +120,12 @@ config BR2_PACKAGE_QT_QT3SUPPORT config BR2_PACKAGE_QT_GUI_MODULE bool "Gui Module" - depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 # nios2 Binutils 2.25.1 bug - select BR2_PACKAGE_QT_NETWORK default y + select BR2_PACKAGE_QT_NETWORK help Turns on support for Gui applications. If your board doesn't have video output, or you don't require Qt GUI, say n. -comment "Qt Gui Module needs a toolchain not affected by Binutils bug 19405" - depends on BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 - if BR2_PACKAGE_QT_GUI_MODULE if BR2_PACKAGE_QT_EMBEDDED @@ -185,6 +167,14 @@ endmenu menu "Fonts" +config BR2_PACKAGE_QT_FONT_TRUETYPE + bool "dejavu/vera" + default y + depends on BR2_PACKAGE_QT_QTFREETYPE || BR2_PACKAGE_QT_SYSTEMFREETYPE + +comment "dejavu/vera fonts need freetype support" + depends on !BR2_PACKAGE_QT_QTFREETYPE && !BR2_PACKAGE_QT_SYSTEMFREETYPE + config BR2_PACKAGE_QT_FONT_MICRO bool "micro" default y @@ -258,8 +248,8 @@ config BR2_PACKAGE_QT_NOJPEG Disable JPEG support config BR2_PACKAGE_QT_SYSTEMJPEG - select BR2_PACKAGE_JPEG bool "System libjpeg" + select BR2_PACKAGE_JPEG help Link against system libjpeg @@ -338,9 +328,9 @@ endif config BR2_PACKAGE_QT_PHONON bool "Phonon Module" + default y depends on BR2_PACKAGE_GSTREAMER select BR2_PACKAGE_GST_PLUGINS_BASE - default y help Build the Phonon module. Support for different audio/video formats can be configured at the GStreamer package. @@ -358,9 +348,9 @@ config BR2_PACKAGE_QT_PHONON_BACKEND config BR2_PACKAGE_QT_OPENGL bool "OpenGL support" + default y depends on (BR2_PACKAGE_HAS_LIBGL && BR2_PACKAGE_QT_X11) || \ (BR2_PACKAGE_HAS_LIBEGL && BR2_PACKAGE_HAS_LIBGLES) - default y help This option enables OpenGL support. @@ -396,9 +386,9 @@ endif config BR2_PACKAGE_QT_DBUS bool "DBus Module" - select BR2_PACKAGE_DBUS depends on BR2_TOOLCHAIN_HAS_THREADS # dbus depends on BR2_USE_MMU # dbus + select BR2_PACKAGE_DBUS help Build the Qt DBus module. @@ -428,8 +418,8 @@ config BR2_PACKAGE_QT_MULTIMEDIA config BR2_PACKAGE_QT_AUDIO_BACKEND bool "QtMultimedia Audio backend" depends on BR2_PACKAGE_QT_MULTIMEDIA - select BR2_PACKAGE_ALSA_LIB depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib + select BR2_PACKAGE_ALSA_LIB help Build the ALSA audio backend into QtMultimedia @@ -449,17 +439,14 @@ config BR2_PACKAGE_QT_NETWORK config BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT bool - depends on BR2_TOOLCHAIN_HAS_SYNC_4 # see src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h # see http://lists.busybox.net/pipermail/buildroot/2014-November/112605.html default y if BR2_arc || BR2_arm || BR2_armeb || BR2_i386 || BR2_microblazeel || \ BR2_microblazebe || BR2_mips || BR2_mipsel || \ (BR2_mips64 || BR2_mips64el) && !BR2_MIPS_NABI32 || BR2_powerpc || \ - BR2_powerpc64 || BR2_powerpc64le || BR2_x86_64 - # The CodeSourcery SuperH toolchain fails to build Webkit, - # with an assertion failure in binutils. - default y if (BR2_sh4 || BR2_sh4eb || BR2_sh4a || BR2_sh4aeb) && \ - !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH + BR2_powerpc64 || BR2_powerpc64le || BR2_x86_64 || \ + BR2_sh4 || BR2_sh4eb || BR2_sh4a || BR2_sh4aeb + depends on BR2_TOOLCHAIN_HAS_SYNC_4 config BR2_PACKAGE_QT_WEBKIT bool "WebKit Module" @@ -505,19 +492,19 @@ config BR2_PACKAGE_QT_OPENSSL config BR2_PACKAGE_QT_ARCH_SUPPORTS_SCRIPT bool - depends on BR2_TOOLCHAIN_HAS_SYNC_4 # see http://lists.busybox.net/pipermail/buildroot/2014-November/112605.html default y if BR2_arc || BR2_arm || BR2_armeb || BR2_aarch64 || BR2_i386 || \ BR2_microblazeel || BR2_microblazebe || BR2_mips || BR2_mipsel || \ BR2_mips64 || BR2_mips64el || BR2_nios2 || BR2_powerpc || \ BR2_powerpc64 || BR2_powerpc64le || BR2_sh4 || BR2_sh4eb || \ BR2_sh4a || BR2_sh4aeb || BR2_x86_64 + depends on BR2_TOOLCHAIN_HAS_SYNC_4 config BR2_PACKAGE_QT_SCRIPT bool "Script Module" + default y depends on BR2_PACKAGE_QT_ARCH_SUPPORTS_SCRIPT depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # needs pthread_getattr_np() - default y help Build the Qt Script module. if unsure, say y. diff --git a/package/qt/Config.mouse.in b/package/qt/Config.mouse.in index 11da956f62..1062facb6a 100644 --- a/package/qt/Config.mouse.in +++ b/package/qt/Config.mouse.in @@ -12,10 +12,6 @@ config BR2_PACKAGE_QT_MOUSE_LINUXINPUT config BR2_PACKAGE_QT_MOUSE_TSLIB bool "tslib" select BR2_PACKAGE_TSLIB - depends on !BR2_STATIC_LIBS # tslib - -comment "tslib support needs a toolchain w/ dynamic library" - depends on BR2_STATIC_LIBS config BR2_PACKAGE_QT_MOUSE_QVFB bool "qvfb" diff --git a/package/qt/Config.sql.in b/package/qt/Config.sql.in index 452edd5133..6d39bb974a 100644 --- a/package/qt/Config.sql.in +++ b/package/qt/Config.sql.in @@ -6,21 +6,14 @@ menuconfig BR2_PACKAGE_QT_SQL_MODULE if BR2_PACKAGE_QT_SQL_MODULE config BR2_PACKAGE_QT_MYSQL bool "MySQL Driver" + depends on BR2_USE_MMU # mysql select BR2_PACKAGE_MYSQL select BR2_PACKAGE_NCURSES select BR2_PACKAGE_READLINE - depends on BR2_USE_MMU # mysql help Build MySQL driver If unsure, say n. -config BR2_PACKAGE_QT_IBASE - bool "iBase Driver" - depends on BROKEN # libfbclient not in BR - help - Build iBase driver - If unsure, say n. - config BR2_PACKAGE_QT_ODBC bool "ODBC Driver" select BR2_PACKAGE_UNIXODBC @@ -30,8 +23,8 @@ config BR2_PACKAGE_QT_ODBC config BR2_PACKAGE_QT_PSQL bool "PostgreSQL Driver" - select BR2_PACKAGE_POSTGRESQL depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_POSTGRESQL help Build PostgreSQL driver If unsure, say n. diff --git a/package/qt/qt.hash b/package/qt/qt.hash index de81368511..301010cae1 100644 --- a/package/qt/qt.hash +++ b/package/qt/qt.hash @@ -1,4 +1,3 @@ # md5 http://download.qt.io/official_releases/qt/4.8/4.8.7/md5sums-4.8.7, sha256 locally computed: md5 d990ee66bf7ab0c785589776f35ba6ad qt-everywhere-opensource-src-4.8.7.tar.gz sha256 e2882295097e47fe089f8ac741a95fef47e0a73a3f3cdf21b56990638f626ea0 qt-everywhere-opensource-src-4.8.7.tar.gz -sha256 e03740e20b8dbf52d163d8a4a37125e7c55b59a9a5e7cf7e89a08e07286b6135 b8f98d956501dfa4ce03a137f15d404930a56066.patch diff --git a/package/qt/qt.mk b/package/qt/qt.mk index 29dcc46b7b..1dcb05d6af 100644 --- a/package/qt/qt.mk +++ b/package/qt/qt.mk @@ -1,13 +1,6 @@ ################################################################################ # -# Qt Embedded for Linux -# -# This makefile was originally composed by Thomas Lundquist -# Later heavily modified by buildroot developers -# -# BTW, this uses alot of FPU calls and it's pretty slow if you use -# the kernels FPU emulation so it's better to choose soft float in the -# buildroot config (and uClibc.config of course, if you have your own.) +# qt # ################################################################################ @@ -15,21 +8,14 @@ QT_VERSION_MAJOR = 4.8 QT_VERSION = $(QT_VERSION_MAJOR).7 QT_SOURCE = qt-everywhere-opensource-src-$(QT_VERSION).tar.gz QT_SITE = http://download.qt-project.org/official_releases/qt/$(QT_VERSION_MAJOR)/$(QT_VERSION) -# Patch fixing ALSA detection. Taken from Qt5, but applies fine to -# Qt4. -QT_PATCH = https://github.com/qtproject/qtbase/commit/b8f98d956501dfa4ce03a137f15d404930a56066.patch QT_DEPENDENCIES = host-pkgconf QT_INSTALL_STAGING = YES -QT_LICENSE := LGPLv2.1 with exceptions or GPLv3 -ifneq ($(BR2_PACKAGE_QT_LICENSE_APPROVED),y) -QT_LICENSE := $(QT_LICENSE) or Digia Qt Commercial license -endif +QT_LICENSE := LGPL-2.1 with exceptions or GPL-3.0 QT_LICENSE_FILES = LICENSE.LGPL LGPL_EXCEPTION.txt LICENSE.GPL3 -ifeq ($(BR2_PACKAGE_QT_LICENSE_APPROVED),y) +# Opensource licenses are the only one we catter about QT_CONFIGURE_OPTS += -opensource -confirm-license -endif QT_CONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_QT_CONFIG_FILE)) @@ -79,7 +65,6 @@ else QT_CONFIGURE_OPTS += -no-glib endif - ### Pixel depths QT_PIXEL_DEPTHS = # empty ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_1),y) @@ -359,9 +344,6 @@ endif # Qt SQL Drivers ifeq ($(BR2_PACKAGE_QT_SQL_MODULE),y) -ifeq ($(BR2_PACKAGE_QT_IBASE),y) -QT_CONFIGURE_OPTS += -qt-sql-ibase -endif ifeq ($(BR2_PACKAGE_QT_MYSQL),y) QT_CONFIGURE_OPTS += -qt-sql-mysql -mysql_config $(STAGING_DIR)/usr/bin/mysql_config QT_DEPENDENCIES += mysql @@ -479,7 +461,7 @@ endif # End of workaround. # Variable for other Qt applications to use -QT_QMAKE = $(HOST_DIR)/usr/bin/qmake -spec qws/linux-$(QT_EMB_PLATFORM)-g++ +QT_QMAKE = $(HOST_DIR)/bin/qmake -spec qws/linux-$(QT_EMB_PLATFORM)-g++ ################################################################################ # QT_QMAKE_SET -- helper macro to set = in @@ -520,7 +502,7 @@ define QT_CONFIGURE_CMDS $(call QT_QMAKE_SET,QMAKE_CFLAGS,$(QT_CFLAGS),$(@D)) $(call QT_QMAKE_SET,QMAKE_CXXFLAGS,$(QT_CXXFLAGS),$(@D)) $(call QT_QMAKE_SET,QMAKE_LFLAGS,$(QT_LDFLAGS),$(@D)) - $(call QT_QMAKE_SET,PKG_CONFIG,$(HOST_DIR)/usr/bin/pkg-config,$(@D)) + $(call QT_QMAKE_SET,PKG_CONFIG,$(HOST_DIR)/bin/pkg-config,$(@D)) # Don't use TARGET_CONFIGURE_OPTS here, qmake would be compiled for the target # instead of the host then. So set PKG_CONFIG* manually. (cd $(@D); \ @@ -550,7 +532,6 @@ define QT_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) endef - # Build the list of libraries and plugins to install to the target QT_INSTALL_LIBS += QtCore @@ -609,7 +590,7 @@ ifeq ($(BR2_PACKAGE_QT_TEST),y) QT_INSTALL_LIBS += QtTest endif -QT_CONF_FILE = $(HOST_DIR)/usr/bin/qt.conf +QT_CONF_FILE = $(HOST_DIR)/bin/qt.conf # Since host programs and spec files have been moved to $(HOST_DIR), # we need to tell qmake the new location of the various elements, @@ -617,11 +598,11 @@ QT_CONF_FILE = $(HOST_DIR)/usr/bin/qt.conf define QT_INSTALL_QT_CONF mkdir -p $(dir $(QT_CONF_FILE)) echo "[Paths]" > $(QT_CONF_FILE) - echo "Prefix=$(HOST_DIR)/usr" >> $(QT_CONF_FILE) + echo "Prefix=$(HOST_DIR)" >> $(QT_CONF_FILE) echo "Headers=$(STAGING_DIR)/usr/include" >> $(QT_CONF_FILE) echo "Libraries=$(STAGING_DIR)/usr/lib" >> $(QT_CONF_FILE) - echo "Data=$(HOST_DIR)/usr" >> $(QT_CONF_FILE) - echo "Binaries=$(HOST_DIR)/usr/bin" >> $(QT_CONF_FILE) + echo "Data=$(HOST_DIR)" >> $(QT_CONF_FILE) + echo "Binaries=$(HOST_DIR)/bin" >> $(QT_CONF_FILE) endef # After running Qt normal installation process (which installs @@ -633,12 +614,12 @@ endef # automatically. define QT_INSTALL_STAGING_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install - mkdir -p $(HOST_DIR)/usr/bin - mv $(addprefix $(STAGING_DIR)/usr/bin/,$(QT_HOST_PROGRAMS)) $(HOST_DIR)/usr/bin - ln -sf $(STAGING_DIR)/usr/mkspecs $(HOST_DIR)/usr/mkspecs + mkdir -p $(HOST_DIR)/bin + mv $(addprefix $(STAGING_DIR)/usr/bin/,$(QT_HOST_PROGRAMS)) $(HOST_DIR)/bin + ln -sf $(STAGING_DIR)/usr/mkspecs $(HOST_DIR)/mkspecs $(QT_INSTALL_QT_CONF) for i in moc uic rcc lupdate lrelease ; do \ - $(SED) "s,^$${i}_location=.*,$${i}_location=$(HOST_DIR)/usr/bin/$${i}," \ + $(SED) "s,^$${i}_location=.*,$${i}_location=$(HOST_DIR)/bin/$${i}," \ $(STAGING_DIR)/usr/lib/pkgconfig/Qt*.pc ; \ done $(SED) "s,$(STAGING_DIR)/,,g" $(STAGING_DIR)/usr/lib/pkgconfig/Qt*.pc @@ -692,7 +673,7 @@ QT_LICENSE_FILES += src/3rdparty/fonts/COPYRIGHT.Unifont endif endif # QT_FONTS -ifeq ($(BR2_PACKAGE_QT_QTFREETYPE)$(BR2_PACKAGE_QT_SYSTEMFREETYPE),y) +ifeq ($(BR2_PACKAGE_QT_FONT_TRUETYPE),y) define QT_INSTALL_TARGET_FONTS_TTF mkdir -p $(TARGET_DIR)/usr/lib/fonts cp -dpf $(STAGING_DIR)/usr/lib/fonts/*.ttf $(TARGET_DIR)/usr/lib/fonts diff --git a/package/qt5/Config.in b/package/qt5/Config.in index 4bcbc6ef54..8513c36623 100644 --- a/package/qt5/Config.in +++ b/package/qt5/Config.in @@ -1,15 +1,15 @@ config BR2_PACKAGE_QT5_GL_AVAILABLE bool - depends on BR2_PACKAGE_HAS_LIBGL || BR2_PACKAGE_HAS_LIBGLES default y + depends on BR2_PACKAGE_HAS_LIBGL || BR2_PACKAGE_HAS_LIBGLES config BR2_PACKAGE_QT5_JSCORE_AVAILABLE bool + default y # Javascript engine is only available on certain architectures depends on BR2_arm || BR2_i386 || BR2_x86_64 || BR2_mipsel # ARM needs BLX, so v5t+ depends on !BR2_ARM_CPU_ARMV4 - default y comment "Qt5 needs a toolchain w/ wchar, NPTL, C++, dynamic library" depends on !BR2_PACKAGE_QT @@ -35,15 +35,15 @@ choice prompt "Qt5 version" config BR2_PACKAGE_QT5_VERSION_LATEST - bool "Latest (5.8)" + bool "Latest (5.9)" depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 depends on BR2_HOST_GCC_AT_LEAST_4_8 # C++11 depends on !BR2_ARM_CPU_ARMV4 # needs ARMv5+ # no built-in double-conversion support depends on !BR2_arc && !BR2_nios2 && !BR2_xtensa help - This option builds Qt 5.8, which is licensed under - (L)GPLv3+. + This option builds Qt 5.9, which is licensed under + (L)GPL-3.0+. comment "Latest Qt version needs host/toolchain w/ gcc >= 4.8" depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_HOST_GCC_AT_LEAST_4_8 @@ -54,7 +54,7 @@ config BR2_PACKAGE_QT5_VERSION_5_6 bool "LTS (5.6)" help This option builds Qt 5.6, which is licensed under - (L)GPLv2+. + (L)GPL-2.0+. endchoice @@ -76,8 +76,11 @@ source "package/qt5/qt5serialbus/Config.in" source "package/qt5/qt5serialport/Config.in" source "package/qt5/qt5svg/Config.in" source "package/qt5/qt5tools/Config.in" +source "package/qt5/qt5virtualkeyboard/Config.in" +source "package/qt5/qt5wayland/Config.in" source "package/qt5/qt5webchannel/Config.in" source "package/qt5/qt5webkit/Config.in" +source "package/qt5/qt5webengine/Config.in" source "package/qt5/qt5websockets/Config.in" source "package/qt5/qt5x11extras/Config.in" source "package/qt5/qt5xmlpatterns/Config.in" diff --git a/package/qt5/qt5.mk b/package/qt5/qt5.mk index 9e77ce351c..0e49c6b58b 100644 --- a/package/qt5/qt5.mk +++ b/package/qt5/qt5.mk @@ -1,11 +1,16 @@ +################################################################################ +# +# qt5 +# +################################################################################ + ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) -QT5_VERSION_MAJOR = 5.8 -QT5_VERSION = $(QT5_VERSION_MAJOR).0 +QT5_VERSION_MAJOR = 5.9 +QT5_VERSION = $(QT5_VERSION_MAJOR).2 QT5_SITE = http://download.qt.io/official_releases/qt/$(QT5_VERSION_MAJOR)/$(QT5_VERSION)/submodules -QT5_SNAPSHOTS_SITE = http://download.qt.io/snapshots/qt/$(QT5_VERSION_MAJOR)/$(QT5_VERSION)/latest_src/submodules else QT5_VERSION_MAJOR = 5.6 -QT5_VERSION = $(QT5_VERSION_MAJOR).2 +QT5_VERSION = $(QT5_VERSION_MAJOR).3 QT5_SITE = http://download.qt.io/official_releases/qt/$(QT5_VERSION_MAJOR)/$(QT5_VERSION)/submodules QT5_SNAPSHOTS_SITE = http://download.qt.io/snapshots/qt/$(QT5_VERSION_MAJOR)/$(QT5_VERSION)/latest_src/submodules endif @@ -28,4 +33,4 @@ define QT5_LA_PRL_FILES_FIXUP endef # Variable for other Qt applications to use -QT5_QMAKE = $(HOST_DIR)/usr/bin/qmake -spec devices/linux-buildroot-g++ +QT5_QMAKE = $(HOST_DIR)/bin/qmake -spec devices/linux-buildroot-g++ diff --git a/package/qt5/qt53d/Config.in b/package/qt5/qt53d/Config.in index 27f27a8070..f776da2c87 100644 --- a/package/qt5/qt53d/Config.in +++ b/package/qt5/qt53d/Config.in @@ -1,11 +1,11 @@ config BR2_PACKAGE_QT53D bool "qt53d" + depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative + depends on BR2_PACKAGE_QT5_GL_AVAILABLE # qt5declarative_quick select BR2_PACKAGE_QT5BASE select BR2_PACKAGE_QT5BASE_GUI select BR2_PACKAGE_QT5DECLARATIVE select BR2_PACKAGE_QT5DECLARATIVE_QUICK - depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative - depends on BR2_PACKAGE_QT5_GL_AVAILABLE # qt5declarative_quick help Qt is a cross-platform application and UI framework for developers using C++. diff --git a/package/qt5/qt53d/qt53d.hash b/package/qt5/qt53d/qt53d.hash index 7eaf2cdb13..7a9d0dc7be 100644 --- a/package/qt5/qt53d/qt53d.hash +++ b/package/qt5/qt53d/qt53d.hash @@ -1,5 +1,10 @@ -# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qt3d-opensource-src-5.6.2.tar.xz.mirrorlist -sha256 a21786db6e0f5c6c70213fe1a3530ed3d7f28f28401a0f793970e9bc860ce941 qt3d-opensource-src-5.6.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qt3d-opensource-src-5.6.3.tar.xz.mirrorlist +sha256 10d05a30e925fcad971126c7f47a5e32c39f007dab96b298b2094501f9607ffe qt3d-opensource-src-5.6.3.tar.xz -# Hash from: http://download.qt.io/official_releases/qt/5.8/5.8.0/submodules/qt3d-opensource-src-5.8.0.tar.xz -sha256 3a224576fc922195ac0063b5b351cd6b9d13afcde9cec14317be0347d10c8ae5 qt3d-opensource-src-5.8.0.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qt3d-opensource-src-5.9.2.tar.xz.mirrorlist +sha256 c955a92fe2f3f2f03493ae0e9d973ebe1c4b1e037b58f18092fa2040f5b50783 qt3d-opensource-src-5.9.2.tar.xz + +# Hashes for license files: +sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPL +sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 +sha256 9ae1959e86bd49b9680f78e0b49d4e52ae88a3f234d497e175e42a7e8ed59216 LICENSE.LGPLv3 diff --git a/package/qt5/qt53d/qt53d.mk b/package/qt5/qt53d/qt53d.mk index 5dac5b0b62..4f37ae7f5d 100644 --- a/package/qt5/qt53d/qt53d.mk +++ b/package/qt5/qt53d/qt53d.mk @@ -14,16 +14,11 @@ ifeq ($(BR2_PACKAGE_ASSIMP),y) QT53D_DEPENDENCIES += assimp endif -ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y) -QT53D_LICENSE = GPLv2 or GPLv3 or LGPLv3 +QT53D_LICENSE = GPL-2.0 or GPL-3.0 or LGPL-3.0 QT53D_LICENSE_FILES = LICENSE.GPL LICENSE.GPLv3 LICENSE.LGPLv3 -else -QT53D_LICENSE = Commercial license -QT53D_REDISTRIBUTE = NO -endif define QT53D_CONFIGURE_CMDS - (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake) + (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake) endef define QT53D_BUILD_CMDS diff --git a/package/qt5/qt5base/5.6.2/0002-eglfs-fix-eglfs_mali-compile-for-odroid-mali.patch b/package/qt5/qt5base/5.6.2/0002-eglfs-fix-eglfs_mali-compile-for-odroid-mali.patch deleted file mode 100644 index cbafb397bb..0000000000 --- a/package/qt5/qt5base/5.6.2/0002-eglfs-fix-eglfs_mali-compile-for-odroid-mali.patch +++ /dev/null @@ -1,53 +0,0 @@ -From b6c602e4264021f98ec2c72316e2a2000bf35e82 Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Mon, 14 Nov 2016 23:42:25 +0100 -Subject: [PATCH] eglfs: fix eglfs_mali compile for odroid-mali - -Avoid duplicated struct fbdev_window definition (introduced by [1]) by -renaming struct fbdev_window to shadow_fbdev_window. - -Fixes the following buildroot compile failure ([2]): - -qeglfsmaliintegration.cpp:45:8: error: redefinition of 'struct fbdev_window' - struct fbdev_window { - ^ -In file included from /accts/mlweber1/rc-buildroot-test/scripts/instance-0/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/EGL/eglplatform.h:28:0, - from /accts/mlweber1/rc-buildroot-test/scripts/instance-0/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/EGL/egl.h:36, - from ../../../eglfs/qeglfsglobal.h:45, - from ../../../eglfs/qeglfsdeviceintegration.h:48, - from qeglfsmaliintegration.h:37, - from qeglfsmaliintegration.cpp:34: - -[1] https://code.qt.io/cgit/qt/qtbase.git/commit/?h=dev&id=58bed4cda98e8e25db8adc61c7db73b6853077dc -[2] http://autobuild.buildroot.net/results/48c/48c458c035162169e8ca7c34ae65e9064822f25a - -Signed-off-by: Peter Seiderer ---- - .../eglfs/deviceintegration/eglfs_mali/qeglfsmaliintegration.cpp | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_mali/qeglfsmaliintegration.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_mali/qeglfsmaliintegration.cpp -index 43decdf..aeba83f 100644 ---- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_mali/qeglfsmaliintegration.cpp -+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_mali/qeglfsmaliintegration.cpp -@@ -42,7 +42,7 @@ - - QT_BEGIN_NAMESPACE - --struct fbdev_window { -+struct shadow_fbdev_window { - unsigned short width; - unsigned short height; - }; -@@ -85,7 +85,7 @@ EGLNativeWindowType QEglFSMaliIntegration::createNativeWindow(QPlatformWindow *w - Q_UNUSED(window); - Q_UNUSED(format); - -- fbdev_window *fbwin = reinterpret_cast(malloc(sizeof(fbdev_window))); -+ shadow_fbdev_window *fbwin = reinterpret_cast(malloc(sizeof(shadow_fbdev_window))); - if (NULL == fbwin) - return 0; - --- -2.8.1 - diff --git a/package/qt5/qt5base/5.6.2/0001-eglfs-rasp-pi-header-inclusion.patch b/package/qt5/qt5base/5.6.3/0001-eglfs-rasp-pi-header-inclusion.patch similarity index 100% rename from package/qt5/qt5base/5.6.2/0001-eglfs-rasp-pi-header-inclusion.patch rename to package/qt5/qt5base/5.6.3/0001-eglfs-rasp-pi-header-inclusion.patch diff --git a/package/qt5/qt5base/5.6.3/qt5base.hash b/package/qt5/qt5base/5.6.3/qt5base.hash new file mode 100644 index 0000000000..f113f82c73 --- /dev/null +++ b/package/qt5/qt5base/5.6.3/qt5base.hash @@ -0,0 +1,7 @@ +# Hashes for license files: +sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 +sha256 66f6bb53f6d985a4d651bf1ecfe8bbcbe32b0f744708d588f047580ee85d8ec8 LICENSE.LGPLv21 +sha256 438c1f9a2b256e47dac33249f2ad6d4a9df643f1ec5312216d528a2f7ad82084 LGPL_EXCEPTION.txt +sha256 68afaf3392f8c04218fbf29db43cc0b18bf651c1db086556aa584046de9f3e35 LICENSE.LGPLv3 +sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL +sha256 1d05f2662f0be7544c4cc238d0957d1ed5d0edc45210e9108f905df354241a0e header.BSD diff --git a/package/qt5/qt5base/5.8.0/0001-fix-parallel-builds-with-qt-freetype-system-libpng.patch b/package/qt5/qt5base/5.8.0/0001-fix-parallel-builds-with-qt-freetype-system-libpng.patch deleted file mode 100644 index 8548ef0e25..0000000000 --- a/package/qt5/qt5base/5.8.0/0001-fix-parallel-builds-with-qt-freetype-system-libpng.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 74af93f5298b54bc2327843f390bf202776f2f48 Mon Sep 17 00:00:00 2001 -From: Oswald Buddenhagen -Date: Tue, 10 Jan 2017 14:18:02 +0100 -Subject: [PATCH] fix parallel builds with -qt-freetype -system-libpng - -freetype has no dependency on gui, so it needs to pull in gui's -configuration manually, as that's where the system libpng is found. - -Task-number: QTBUG-58038 -Change-Id: I881495f7d2a8f7c1a45d7d4c9e7698ff1d30f2a9 -Reviewed-by: Joerg Bornemann -Reviewed-by: Joni Poikelin - -Upstream: https://code.qt.io/cgit/qt/qtbase.git/commit/?id=4dcfd90e4fd7d4c49138038dbbcbda8794a9fbff -Signed-off-by: Peter Seiderer ---- - src/3rdparty/freetype/freetype.pro | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/3rdparty/freetype/freetype.pro b/src/3rdparty/freetype/freetype.pro -index 5b1eb92e..390a6da7 100644 ---- a/src/3rdparty/freetype/freetype.pro -+++ b/src/3rdparty/freetype/freetype.pro -@@ -69,6 +69,7 @@ DEFINES += FT_CONFIG_OPTION_SYSTEM_ZLIB - include(../zlib_dependency.pri) - - DEFINES += FT_CONFIG_OPTION_USE_PNG -+include($$OUT_PWD/../../gui/qtgui-config.pri) - QMAKE_USE_PRIVATE += libpng - - DEFINES += TT_CONFIG_OPTION_SUBPIXEL_HINTING --- -2.11.0 - diff --git a/package/qt5/qt5base/5.8.0/0002-fix-VNC-platform-plugin-build-on-big-endian-machines.patch b/package/qt5/qt5base/5.8.0/0002-fix-VNC-platform-plugin-build-on-big-endian-machines.patch deleted file mode 100644 index e7d7ee3600..0000000000 --- a/package/qt5/qt5base/5.8.0/0002-fix-VNC-platform-plugin-build-on-big-endian-machines.patch +++ /dev/null @@ -1,97 +0,0 @@ -From 35ee8b53549fab6ebffe289417e1d94298447af7 Mon Sep 17 00:00:00 2001 -From: Shawn Rutledge -Date: Fri, 10 Feb 2017 13:56:58 +0100 -Subject: [PATCH] fix VNC platform plugin build on big-endian machines - -Task-number: QTBUG-58734 -Change-Id: I3e44ee4be5003acaba2f1b8ed2658a3ff1bd700e -Reviewed-by: Lars Knoll -Reviewed-by: Dmitry Shachnev - -Upstream: http://code.qt.io/cgit/qt/qtbase.git/patch/?id=6f64bfa654fb7e20bb75ec3b0544b81482babb44 -Signed-off-by: Peter Seiderer ---- - src/plugins/platforms/vnc/qvncclient.cpp | 6 +++--- - src/plugins/platforms/vnc/qvncscreen.cpp | 7 ++++++- - src/plugins/platforms/vnc/qvncscreen.h | 2 +- - 3 files changed, 10 insertions(+), 5 deletions(-) - -diff --git a/src/plugins/platforms/vnc/qvncclient.cpp b/src/plugins/platforms/vnc/qvncclient.cpp -index dae3e83f..58dcfc9b 100644 ---- a/src/plugins/platforms/vnc/qvncclient.cpp -+++ b/src/plugins/platforms/vnc/qvncclient.cpp -@@ -142,7 +142,7 @@ void QVncClient::convertPixels(char *dst, const char *src, int count) const - case 16: { - quint16 p = *reinterpret_cast(src); - #if Q_BYTE_ORDER == Q_BIG_ENDIAN -- if (swapBytes) -+ if (m_swapBytes) - p = ((p & 0xff) << 8) | ((p & 0xff00) >> 8); - #endif - r = (p >> 11) & 0x1f; -@@ -484,7 +484,7 @@ void QVncClient::setPixelFormat() - m_sameEndian = (QSysInfo::ByteOrder == QSysInfo::BigEndian) == !!m_pixelFormat.bigEndian; - m_needConversion = pixelConversionNeeded(); - #if Q_BYTE_ORDER == Q_BIG_ENDIAN -- m_swapBytes = qvnc_screen->swapBytes(); -+ m_swapBytes = server()->screen()->swapBytes(); - #endif - } - } -@@ -639,7 +639,7 @@ bool QVncClient::pixelConversionNeeded() const - return true; - - #if Q_BYTE_ORDER == Q_BIG_ENDIAN -- if (qvnc_screen->swapBytes()) -+ if (server()->screen()->swapBytes()) - return true; - #endif - -diff --git a/src/plugins/platforms/vnc/qvncscreen.cpp b/src/plugins/platforms/vnc/qvncscreen.cpp -index 34def457..64f1bc0b 100644 ---- a/src/plugins/platforms/vnc/qvncscreen.cpp -+++ b/src/plugins/platforms/vnc/qvncscreen.cpp -@@ -43,6 +43,7 @@ - #include - - #include -+#include - #include - - -@@ -172,14 +173,18 @@ QPixmap QVncScreen::grabWindow(WId wid, int x, int y, int width, int height) con - } - - #if Q_BYTE_ORDER == Q_BIG_ENDIAN --bool QVNCScreen::swapBytes() const -+bool QVncScreen::swapBytes() const - { -+ return false; -+ -+ /* TODO - if (depth() != 16) - return false; - - if (screen()) - return screen()->frameBufferLittleEndian(); - return frameBufferLittleEndian(); -+ */ - } - #endif - -diff --git a/src/plugins/platforms/vnc/qvncscreen.h b/src/plugins/platforms/vnc/qvncscreen.h -index 785abd6d..0b42c3c7 100644 ---- a/src/plugins/platforms/vnc/qvncscreen.h -+++ b/src/plugins/platforms/vnc/qvncscreen.h -@@ -73,7 +73,7 @@ public: - void clearDirty() { dirtyRegion = QRegion(); } - - #if Q_BYTE_ORDER == Q_BIG_ENDIAN -- bool swapBytes() const -+ bool swapBytes() const; - #endif - - QStringList mArgs; --- -2.11.0 - diff --git a/package/qt5/qt5base/Config.in b/package/qt5/qt5base/Config.in index 337dcf2454..dc56474bbb 100644 --- a/package/qt5/qt5base/Config.in +++ b/package/qt5/qt5base/Config.in @@ -1,9 +1,11 @@ config BR2_PACKAGE_QT5BASE bool "qt5base" select BR2_PACKAGE_ZLIB - select BR2_PACKAGE_PCRE - select BR2_PACKAGE_PCRE_16 - select BR2_PACKAGE_PCRE_UTF + select BR2_PACKAGE_PCRE if BR2_PACKAGE_QT5_VERSION_5_6 + select BR2_PACKAGE_PCRE_16 if BR2_PACKAGE_QT5_VERSION_5_6 + select BR2_PACKAGE_PCRE_UTF if BR2_PACKAGE_QT5_VERSION_5_6 + select BR2_PACKAGE_PCRE2 if BR2_PACKAGE_QT5_VERSION_LATEST + select BR2_PACKAGE_PCRE2_16 if BR2_PACKAGE_QT5_VERSION_LATEST help Qt is a cross-platform application and UI framework for developers using C++. @@ -27,18 +29,6 @@ config BR2_PACKAGE_QT5BASE_CUSTOM_CONF_OPTS E.g. to remove the Windows Vista style option, add the option -no-feature-style_windowsvista. -config BR2_PACKAGE_QT5BASE_LICENSE_APPROVED - bool "Approve free license" - help - Select this if you approve one of the available free licenses for the - Qt5 library. - By doing this you will not be asked while the library is compiled. - Please read and understand the license terms before approving this. - - LGPL: http://doc.qt.io/qt-5/lgpl.html - - See also http://doc.qt.io/qt-5/licensing.html - config BR2_PACKAGE_QT5BASE_CONFIG_FILE string "Config file" help @@ -73,19 +63,19 @@ config BR2_PACKAGE_QT5BASE_SQL if BR2_PACKAGE_QT5BASE_SQL config BR2_PACKAGE_QT5BASE_MYSQL bool "MySQL Plugin" + depends on BR2_USE_MMU # mysql select BR2_PACKAGE_MYSQL select BR2_PACKAGE_NCURSES select BR2_PACKAGE_READLINE - depends on BR2_USE_MMU # mysql help Build MySQL plugin If unsure, say n. config BR2_PACKAGE_QT5BASE_PSQL bool "PostgreSQL Plugin" - select BR2_PACKAGE_POSTGRESQL depends on BR2_USE_MMU # postgresql depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_POSTGRESQL help Build PostgreSQL plugin If unsure, say n. @@ -210,9 +200,9 @@ comment "X.org XCB backend available if X.org is enabled" config BR2_PACKAGE_QT5BASE_EGLFS bool "eglfs support" - select BR2_PACKAGE_QT5BASE_OPENGL depends on BR2_PACKAGE_HAS_LIBEGL depends on BR2_PACKAGE_QT5_GL_AVAILABLE + select BR2_PACKAGE_QT5BASE_OPENGL comment "eglfs backend available if OpenGL and EGL are enabled" depends on !BR2_PACKAGE_HAS_LIBEGL || !BR2_PACKAGE_QT5_GL_AVAILABLE @@ -239,6 +229,14 @@ config BR2_PACKAGE_QT5BASE_FONTCONFIG This option enables Fontconfig and Freetype support using the system fontconfig and freetype2 libraries. +config BR2_PACKAGE_QT5BASE_HARFBUZZ + bool "harfbuzz support" + select BR2_PACKAGE_HARFBUZZ if BR2_TOOLCHAIN_HAS_SYNC_4 + help + This option enables HarfBuzz support (either system harfbuzz + if the toolchain supports __sync for 4 bytes, or the qt + provided one which avoids this dependency by using QAtomic). + config BR2_PACKAGE_QT5BASE_GIF bool "GIF support" help @@ -262,28 +260,31 @@ endif config BR2_PACKAGE_QT5BASE_DBUS bool "DBus module" - select BR2_PACKAGE_DBUS depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU + select BR2_PACKAGE_DBUS help This option enables the D-Bus module. config BR2_PACKAGE_QT5BASE_ICU bool "Enable ICU support" - select BR2_PACKAGE_ICU + depends on BR2_HOST_GCC_AT_LEAST_4_8 # icu depends on !BR2_BINFMT_FLAT # icu + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # icu + select BR2_PACKAGE_ICU help This option enables ICU support in Qt5. This is for example needed for Qt5Webkit. +comment "icu support needs a toolchain w/ gcc >= 4.8, host gcc >= 4.8" + depends on !BR2_BINFMT_FLAT + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \ + !BR2_HOST_GCC_AT_LEAST_4_8 + config BR2_PACKAGE_QT5BASE_TSLIB bool "Enable Tslib support" - depends on !BR2_STATIC_LIBS # dlopen select BR2_PACKAGE_TSLIB help This options enables the Tslib plugin -comment "tslib support needs a toolchain w/ dynamic library" - depends on BR2_STATIC_LIBS - endif diff --git a/package/qt5/qt5base/qmake.conf b/package/qt5/qt5base/qmake.conf index 49cf898316..8b6debe583 100644 --- a/package/qt5/qt5base/qmake.conf +++ b/package/qt5/qt5base/qmake.conf @@ -21,5 +21,8 @@ CONFIG += nostrip QMAKE_LIBS += -lrt -lpthread -ldl QMAKE_CFLAGS_ISYSTEM = +# Architecturespecific configuration +include(arch.conf) + include(../common/linux_device_post.conf) load(qt_config) diff --git a/package/qt5/qt5base/qt.conf.in b/package/qt5/qt5base/qt.conf.in new file mode 100644 index 0000000000..9a0b9cd53b --- /dev/null +++ b/package/qt5/qt5base/qt.conf.in @@ -0,0 +1,19 @@ +[Paths] +Prefix=@@HOST_DIR@@ +Sysroot=@@STAGING_DIR@@ +Headers=/usr/include/qt5 +Libraries=/usr/lib +LibraryExecutables=/usr/libexec +Binaries=/usr/bin +Plugins=/usr/lib/qt/plugins +Examples=/usr/lib/qt/examples +Qml2Imports=/usr/qml +Imports=/usr/imports +Translations=/usr/translations +Examples=/usr/lib/qt/examples +Demos=/usr/lib/qt/examples +Tests=/usr/tests +Settings=/usr +Documentation=/usr/doc +ArchData=/usr +Data=/usr diff --git a/package/qt5/qt5base/qt5base.hash b/package/qt5/qt5base/qt5base.hash index 3f6af8acb0..4883484d5b 100644 --- a/package/qt5/qt5base/qt5base.hash +++ b/package/qt5/qt5base/qt5base.hash @@ -1,5 +1,14 @@ -# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtbase-opensource-src-5.6.2.tar.xz.mirrorlist -sha256 2f6eae93c5d982fe0a387a01aeb3435571433e23e9d9d9246741faf51f1ee787 qtbase-opensource-src-5.6.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtbase-opensource-src-5.6.3.tar.xz.mirrorlist +sha256 fef48529a6fc2617a30d75d952cb327c6be341fd104154993922184b3b3b4da1 qtbase-opensource-src-5.6.3.tar.xz -# Hash from: http://download.qt.io/official_releases/qt/5.8/5.8.0/submodules/qtbase-opensource-src-5.8.0.tar.xz -sha256 c17111ae02a44dc7be1ec2cf979a47ee9e58edf4904041a525c21f4fa53fc005 qtbase-opensource-src-5.8.0.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtbase-opensource-src-5.9.2.tar.xz.mirrorlist +sha256 7fe2bb468955f633c71b3ddd3c269e68a2c4137a4e5b8dd12dcdb34cbc6d609b qtbase-opensource-src-5.9.2.tar.xz + +# Hashes for license files: +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 +sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 +sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT +sha256 68afaf3392f8c04218fbf29db43cc0b18bf651c1db086556aa584046de9f3e35 LICENSE.LGPLv3 +sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL +sha256 8fdefa0b45d9f791f687da6c2c4c83c1b701aaee2c08008f55d522af214b88f0 header.BSD +sha256 2a886915de4f296cdae5ed67064f86dba01d0c55286d86e8487f2a5caaf40216 src/3rdparty/harfbuzz-ng/COPYING diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk index 7a335736db..b3f9c799cb 100644 --- a/package/qt5/qt5base/qt5base.mk +++ b/package/qt5/qt5base/qt5base.mk @@ -8,7 +8,7 @@ QT5BASE_VERSION = $(QT5_VERSION) QT5BASE_SITE = $(QT5_SITE) QT5BASE_SOURCE = qtbase-opensource-src-$(QT5BASE_VERSION).tar.xz -QT5BASE_DEPENDENCIES = host-pkgconf zlib pcre +QT5BASE_DEPENDENCIES = host-pkgconf zlib QT5BASE_INSTALL_STAGING = YES # A few comments: @@ -27,6 +27,12 @@ QT5BASE_CONFIGURE_OPTS += \ -no-pch \ -shared +ifeq ($(BR2_PACKAGE_QT5_VERSION_5_6),y) +QT5BASE_DEPENDENCIES += pcre +else +QT5BASE_DEPENDENCIES += pcre2 +endif + QT5BASE_CONFIGURE_OPTS += $(call qstrip,$(BR2_PACKAGE_QT5BASE_CUSTOM_CONF_OPTS)) # Uses libgbm from mesa3d @@ -47,23 +53,18 @@ ifeq ($(BR2_PACKAGE_QT5_VERSION_5_6),y) QT5BASE_CONFIGURE_OPTS += -largefile endif -ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y) QT5BASE_CONFIGURE_OPTS += -opensource -confirm-license ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) -QT5BASE_LICENSE = GPLv2+ or LGPLv3, GPLv3 with exception(tools), GFDLv1.3 (docs) +QT5BASE_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) QT5BASE_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPLv3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL else -QT5BASE_LICENSE = GPLv3 or LGPLv2.1 with exception or LGPLv3, GFDLv1.3 (docs) +QT5BASE_LICENSE = GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs) QT5BASE_LICENSE_FILES = LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL endif ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y) -QT5BASE_LICENSE := $(QT5BASE_LICENSE), BSD-3c (examples) +QT5BASE_LICENSE := $(QT5BASE_LICENSE), BSD-3-Clause (examples) QT5BASE_LICENSE_FILES += header.BSD endif -else -QT5BASE_LICENSE = Commercial license -QT5BASE_REDISTRIBUTE = NO -endif QT5BASE_CONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_QT5BASE_CONFIG_FILE)) @@ -104,6 +105,22 @@ QT5BASE_DEPENDENCIES += freetype else QT5BASE_CONFIGURE_OPTS += -no-gui -no-freetype endif + +ifeq ($(BR2_PACKAGE_QT5BASE_HARFBUZZ),y) +ifeq ($(BR2_TOOLCHAIN_HAS_SYNC_4),y) +# system harfbuzz in case __sync for 4 bytes is supported +QT5BASE_CONFIGURE_OPTS += -system-harfbuzz +QT5BASE_DEPENDENCIES += harfbuzz +else +# qt harfbuzz otherwise (using QAtomic instead) +QT5BASE_CONFIGURE_OPTS += -qt-harfbuzz +QT5BASE_LICENSE := $(QT5BASE_LICENSE), MIT (harfbuzz) +QT5BASE_LICENSE_FILES += src/3rdparty/harfbuzz-ng/COPYING +endif +else +QT5BASE_CONFIGURE_OPTS += -no-harfbuzz +endif + QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_WIDGETS),-widgets,-no-widgets) # We have to use --enable-linuxfb, otherwise Qt thinks that -linuxfb # is to add a link against the "inuxfb" library. @@ -189,6 +206,16 @@ else QT5BASE_CONFIGURE_OPTS += -no-libinput endif +ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) +# only enable gtk support if libgtk3 X11 backend is enabled +ifeq ($(BR2_PACKAGE_LIBGTK3)$(BR2_PACKAGE_LIBGTK3_X11),yy) +QT5BASE_CONFIGURE_OPTS += -gtk +QT5BASE_DEPENDENCIES += libgtk3 +else +QT5BASE_CONFIGURE_OPTS += -no-gtk +endif +endif + # Build the list of libraries to be installed on the target QT5BASE_INSTALL_LIBS_y += Qt5Core QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_XCB) += Qt5XcbQpa @@ -200,6 +227,9 @@ QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_XML) += Qt5Xml QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_OPENGL_LIB) += Qt5OpenGL ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_EGLFS) += Qt5EglFSDeviceIntegration +ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL),y) +QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_EGLFS) += Qt5EglFsKmsSupport +endif else QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_EGLFS) += Qt5EglDeviceIntegration endif @@ -210,18 +240,37 @@ QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_PRINTSUPPORT) += Qt5PrintSupport QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_DBUS) += Qt5DBus +ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST)$(BR2_PACKAGE_IMX_GPU_VIV),yy) +# use vivante backend +define QT5BASE_CONFIGURE_QMAKE_CONFIG + echo "EGLFS_DEVICE_INTEGRATION = eglfs_viv" >> \ + $(@D)/mkspecs/devices/linux-buildroot-g++/qmake.conf +endef +endif + ifneq ($(QT5BASE_CONFIG_FILE),) define QT5BASE_CONFIGURE_CONFIG_FILE cp $(QT5BASE_CONFIG_FILE) $(@D)/src/corelib/global/qconfig-buildroot.h endef endif +QT5BASE_ARCH_CONFIG_FILE = $(@D)/mkspecs/devices/linux-buildroot-g++/arch.conf +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC)$(BR2_PACKAGE_QT5_VERSION_LATEST),yy) +# Qt 5.8 needs atomics, which on various architectures are in -latomic +define QT5BASE_CONFIGURE_ARCH_CONFIG + printf 'LIBS += -latomic\n' >$(QT5BASE_ARCH_CONFIG_FILE) +endef +endif + define QT5BASE_CONFIGURE_CMDS $(INSTALL) -m 0644 -D $(QT5BASE_PKGDIR)/qmake.conf \ $(@D)/mkspecs/devices/linux-buildroot-g++/qmake.conf + $(QT5BASE_CONFIGURE_QMAKE_CONFIG) $(INSTALL) -m 0644 -D $(QT5BASE_PKGDIR)/qplatformdefs.h \ $(@D)/mkspecs/devices/linux-buildroot-g++/qplatformdefs.h $(QT5BASE_CONFIGURE_CONFIG_FILE) + touch $(QT5BASE_ARCH_CONFIG_FILE) + $(QT5BASE_CONFIGURE_ARCH_CONFIG) (cd $(@D); \ $(TARGET_MAKE_ENV) \ PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \ @@ -231,7 +280,7 @@ define QT5BASE_CONFIGURE_CMDS ./configure \ -v \ -prefix /usr \ - -hostprefix $(HOST_DIR)/usr \ + -hostprefix $(HOST_DIR) \ -headerdir /usr/include/qt5 \ -sysroot $(STAGING_DIR) \ -plugindir /usr/lib/qt/plugins \ @@ -250,9 +299,17 @@ define QT5BASE_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) endef +# The file "qt.conf" can be used to override the hard-coded paths that are +# compiled into the Qt library. We need it to make "qmake" relocatable. +define QT5BASE_INSTALL_QT_CONF + sed -e "s|@@HOST_DIR@@|$(HOST_DIR)|" -e "s|@@STAGING_DIR@@|$(STAGING_DIR)|" \ + $(QT5BASE_PKGDIR)/qt.conf.in > $(HOST_DIR)/bin/qt.conf +endef + define QT5BASE_INSTALL_STAGING_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install $(QT5_LA_PRL_FILES_FIXUP) + $(QT5BASE_INSTALL_QT_CONF) endef define QT5BASE_INSTALL_TARGET_LIBS diff --git a/package/qt5/qt5canvas3d/Config.in b/package/qt5/qt5canvas3d/Config.in index 8058a2e25f..04c04730bd 100644 --- a/package/qt5/qt5canvas3d/Config.in +++ b/package/qt5/qt5canvas3d/Config.in @@ -1,9 +1,9 @@ config BR2_PACKAGE_QT5CANVAS3D bool "qt5canvas3d" - select BR2_PACKAGE_QT5DECLARATIVE - select BR2_PACKAGE_QT5DECLARATIVE_QUICK depends on BR2_PACKAGE_QT5_GL_AVAILABLE depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE + select BR2_PACKAGE_QT5DECLARATIVE + select BR2_PACKAGE_QT5DECLARATIVE_QUICK help Qt is a cross-platform application and UI framework for developers using C++. diff --git a/package/qt5/qt5canvas3d/qt5canvas3d.hash b/package/qt5/qt5canvas3d/qt5canvas3d.hash index 2d84fe45c8..eaff6c5766 100644 --- a/package/qt5/qt5canvas3d/qt5canvas3d.hash +++ b/package/qt5/qt5canvas3d/qt5canvas3d.hash @@ -1,5 +1,10 @@ -# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtcanvas3d-opensource-src-5.6.2.tar.xz.mirrorlist -sha256 d7584d006b03f99692ccabce922e755a6f12bb1ed1fbc99c2b84842b9e0aa0ad qtcanvas3d-opensource-src-5.6.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtcanvas3d-opensource-src-5.6.3.tar.xz.mirrorlist +sha256 e99e0e159f2fba539b7947a1921072f6807f20958d32809edbf12aac571f56ff qtcanvas3d-opensource-src-5.6.3.tar.xz -# Hash from: http://download.qt.io/official_releases/qt/5.8/5.8.0/submodules/qtcanvas3d-opensource-src-5.8.0.tar.xz -sha256 5446f790f526f582df7790e1e1442357f61aac9c23ea9b00d4a791c9d78ccaa3 qtcanvas3d-opensource-src-5.8.0.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtcanvas3d-opensource-src-5.9.2.tar.xz.mirrorlist +sha256 84a8d66c2c35b67af84376037cac71fe77a105df09ffef7906a9cb1aeafb3eea qtcanvas3d-opensource-src-5.9.2.tar.xz + +# Hashes for license files: +sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 +sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 +sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 diff --git a/package/qt5/qt5canvas3d/qt5canvas3d.mk b/package/qt5/qt5canvas3d/qt5canvas3d.mk index 3f605ab031..97b0ec494e 100644 --- a/package/qt5/qt5canvas3d/qt5canvas3d.mk +++ b/package/qt5/qt5canvas3d/qt5canvas3d.mk @@ -10,16 +10,11 @@ QT5CANVAS3D_SOURCE = qtcanvas3d-opensource-src-$(QT5CANVAS3D_VERSION).tar.xz QT5CANVAS3D_DEPENDENCIES = qt5base qt5declarative QT5CANVAS3D_INSTALL_STAGING = YES -ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y) -QT5CANVAS3D_LICENSE = GPLv2 or GPLv3 or LGPLv3 +QT5CANVAS3D_LICENSE = GPL-2.0 or GPL-3.0 or LGPL-3.0 QT5CANVAS3D_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv3 -else -QT5CANVAS3D_LICENSE = Commercial license -QT5CANVAS3D_REDISTRIBUTE = NO -endif define QT5CANVAS3D_CONFIGURE_CMDS - (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake) + (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake) endef define QT5CANVAS3D_BUILD_CMDS diff --git a/package/qt5/qt5connectivity/5.9.2/0001-Example-heartrate-server-needs-only-core-and-bluetoo.patch b/package/qt5/qt5connectivity/5.9.2/0001-Example-heartrate-server-needs-only-core-and-bluetoo.patch new file mode 100644 index 0000000000..cb0e8d18b1 --- /dev/null +++ b/package/qt5/qt5connectivity/5.9.2/0001-Example-heartrate-server-needs-only-core-and-bluetoo.patch @@ -0,0 +1,32 @@ +From 13c2f56cc9c3bbfe0c96031107e7fafd437703d9 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Sat, 18 Nov 2017 21:07:44 +0100 +Subject: [PATCH] Example heartrate-server needs only core and bluetooth module + +Fixes compile with disabled gui module. + +Task-number: QTBUG-64597 +Change-Id: I376dede3db987e524f97070344cc119e0ee1d187 + +Upstream: https://codereview.qt-project.org/211810 +Signed-off-by: Peter Seiderer +--- + examples/bluetooth/heartrate-server/heartrate-server.pro | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/examples/bluetooth/heartrate-server/heartrate-server.pro b/examples/bluetooth/heartrate-server/heartrate-server.pro +index 4ccf486c..edd011b9 100644 +--- a/examples/bluetooth/heartrate-server/heartrate-server.pro ++++ b/examples/bluetooth/heartrate-server/heartrate-server.pro +@@ -1,7 +1,7 @@ + TEMPLATE = app + TARGET = heartrate-server + +-QT += bluetooth ++QT = core bluetooth + CONFIG += c++11 + + SOURCES += main.cpp +-- +2.14.2 + diff --git a/package/qt5/qt5connectivity/Config.in b/package/qt5/qt5connectivity/Config.in index 8903fc9496..8bda8de66a 100644 --- a/package/qt5/qt5connectivity/Config.in +++ b/package/qt5/qt5connectivity/Config.in @@ -1,9 +1,9 @@ config BR2_PACKAGE_QT5CONNECTIVITY bool "qt5connectivity" + depends on BR2_PACKAGE_NEARD || BR2_PACKAGE_BLUEZ_UTILS || BR2_PACKAGE_BLUEZ5_UTILS select BR2_PACKAGE_QT5BASE select BR2_PACKAGE_QT5BASE_CONCURRENT select BR2_PACKAGE_QT5BASE_DBUS - depends on BR2_PACKAGE_NEARD || BR2_PACKAGE_BLUEZ_UTILS || BR2_PACKAGE_BLUEZ5_UTILS help Qt is a cross-platform application and UI framework for developers using C++. diff --git a/package/qt5/qt5connectivity/qt5connectivity.hash b/package/qt5/qt5connectivity/qt5connectivity.hash index d6b841aa45..fa403e38ab 100644 --- a/package/qt5/qt5connectivity/qt5connectivity.hash +++ b/package/qt5/qt5connectivity/qt5connectivity.hash @@ -1,5 +1,5 @@ -# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtconnectivity-opensource-src-5.6.2.tar.xz.mirrorlist -sha256 1b672923e0703d62f605ccec97b454b1a04c1f0db47f54b687d009e84eabedf9 qtconnectivity-opensource-src-5.6.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtconnectivity-opensource-src-5.6.3.tar.xz.mirrorlist +sha256 fa406e3d63fa4a2acc8ecae6d110f20c766f19a21c7061a12f3c167deb07ccde qtconnectivity-opensource-src-5.6.3.tar.xz -# Hash from: http://download.qt.io/official_releases/qt/5.8/5.8.0/submodules/qtconnectivity-opensource-src-5.8.0.tar.xz -sha256 7b2d01e9d67f6390a9e64bdae62e81a965b0f0b21137cf1a021e08a28bb227f1 qtconnectivity-opensource-src-5.8.0.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtconnectivity-opensource-src-5.9.2.tar.xz.mirrorlist +sha256 2c759597ec959d54f29a3f628896d9208cf1f4e2269d8e01a9d3036f6995f3cc qtconnectivity-opensource-src-5.9.2.tar.xz diff --git a/package/qt5/qt5connectivity/qt5connectivity.mk b/package/qt5/qt5connectivity/qt5connectivity.mk index f00dcb22f8..4369a411a5 100644 --- a/package/qt5/qt5connectivity/qt5connectivity.mk +++ b/package/qt5/qt5connectivity/qt5connectivity.mk @@ -10,20 +10,15 @@ QT5CONNECTIVITY_SOURCE = qtconnectivity-opensource-src-$(QT5CONNECTIVITY_VERSION QT5CONNECTIVITY_DEPENDENCIES = qt5base QT5CONNECTIVITY_INSTALL_STAGING = YES -ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y) ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) -QT5CONNECTIVITY_LICENSE = GPLv2+ or LGPLv3, GPLv3 with exception(tools), GFDLv1.3 (docs) -QT5CONNECTIVITY_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL +QT5CONNECTIVITY_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) +QT5CONNECTIVITY_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPL3 LICENSE.FDL else -QT5CONNECTIVITY_LICENSE = GPLv2 or GPLv3 or LGPLv2.1 with exception or LGPLv3, GFDLv1.3 (docs) +QT5CONNECTIVITY_LICENSE = GPL-2.0 or GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs) QT5CONNECTIVITY_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL endif ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y) -QT5CONNECTIVITY_LICENSE := $(QT5CONNECTIVITY_LICENSE), BSD-3c (examples) -endif -else -QT5CONNECTIVITY_LICENSE = Commercial license -QT5CONNECTIVITY_REDISTRIBUTE = NO +QT5CONNECTIVITY_LICENSE := $(QT5CONNECTIVITY_LICENSE), BSD-3-Clause (examples) endif QT5CONNECTIVITY_DEPENDENCIES += $(if $(BR2_PACKAGE_QT5DECLARATIVE),qt5declarative) @@ -32,7 +27,7 @@ QT5CONNECTIVITY_DEPENDENCIES += $(if $(BR2_PACKAGE_BLUEZ5_UTILS),bluez5_utils) QT5CONNECTIVITY_DEPENDENCIES += $(if $(BR2_PACKAGE_NEARD),neard) define QT5CONNECTIVITY_CONFIGURE_CMDS - (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake) + (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake) endef define QT5CONNECTIVITY_BUILD_CMDS diff --git a/package/qt5/qt5declarative/5.6.3/0001-examples-photoviewer-needs-widgets-support.patch b/package/qt5/qt5declarative/5.6.3/0001-examples-photoviewer-needs-widgets-support.patch new file mode 100644 index 0000000000..aeaaa91770 --- /dev/null +++ b/package/qt5/qt5declarative/5.6.3/0001-examples-photoviewer-needs-widgets-support.patch @@ -0,0 +1,32 @@ +From b616a7e2a7e03e2eb189dca3dc428c0e19e1652b Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Thu, 6 Apr 2017 21:53:40 +0200 +Subject: [PATCH] examples: photoviewer needs widgets support + +Fixes: + + .../qt5declarative-5.8.0/examples/quick/demos/photoviewer/photoviewer.pro + Project ERROR: Unknown module(s) in QT: widgets + +Signed-off-by: Peter Seiderer +--- + examples/quick/demos/demos.pro | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/examples/quick/demos/demos.pro b/examples/quick/demos/demos.pro +index 0644b81a2..5a6fd52ba 100644 +--- a/examples/quick/demos/demos.pro ++++ b/examples/quick/demos/demos.pro +@@ -7,5 +7,7 @@ SUBDIRS = samegame \ + photosurface \ + stocqt + +-qtHaveModule(xmlpatterns): SUBDIRS += rssnews photoviewer +- ++qtHaveModule(xmlpatterns) { ++ SUBDIRS += rssnews ++ qtHaveModule(widgets): SUBDIRS += photoviewer ++} +-- +2.11.0 + diff --git a/package/qt5/qt5declarative/5.6.3/0002-examples-qquickviewcomparison-and-quickwidget-needs-.patch b/package/qt5/qt5declarative/5.6.3/0002-examples-qquickviewcomparison-and-quickwidget-needs-.patch new file mode 100644 index 0000000000..875634fdb4 --- /dev/null +++ b/package/qt5/qt5declarative/5.6.3/0002-examples-qquickviewcomparison-and-quickwidget-needs-.patch @@ -0,0 +1,58 @@ +From b4db5c6cef877b33b5e7cd5a07fe4a7e6797dcfc Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Tue, 16 May 2017 19:47:19 +0200 +Subject: [PATCH] examples: qquickviewcomparison and quickwidget needs OpenGL + support + +Fixes: + + main.cpp:(.text._ZN11QQmlPrivate10createIntoI6FbItemEEvPv[_ZN11QQmlPrivate10createIntoI6FbItemEEvPv]+0x18): undefined reference to `QQuickFramebufferObject::QQuickFramebufferObject(QQuickItem*)' + .obj/main.o: In function `QQmlPrivate::QQmlElement::~QQmlElement()': + main.cpp:(.text._ZN11QQmlPrivate11QQmlElementI6FbItemED2Ev[_ZN11QQmlPrivate11QQmlElementI6FbItemED5Ev]+0x5c): undefined reference to `vtable for QQuickFramebufferObject' + .obj/main.o: In function `QQmlPrivate::QQmlElement::~QQmlElement()': + main.cpp:(.text._ZN11QQmlPrivate11QQmlElementI6FbItemED0Ev[_ZN11QQmlPrivate11QQmlElementI6FbItemED0Ev]+0x64): undefined reference to `vtable for QQuickFramebufferObject' + .obj/main.o:(.data.rel.ro._ZTVN11QQmlPrivate11QQmlElementI6FbItemEE[_ZTVN11QQmlPrivate11QQmlElementI6FbItemEE]+0x48): undefined reference to `QQuickFramebufferObject::isTextureProvider() const' + .obj/main.o:(.data.rel.ro._ZTVN11QQmlPrivate11QQmlElementI6FbItemEE[_ZTVN11QQmlPrivate11QQmlElementI6FbItemEE]+0x4c): undefined reference to `QQuickFramebufferObject::textureProvider() const' + .obj/main.o:(.data.rel.ro._ZTVN11QQmlPrivate11QQmlElementI6FbItemEE[_ZTVN11QQmlPrivate11QQmlElementI6FbItemEE]+0xb4): undefined reference to `QQuickFramebufferObject::geometryChanged(QRectF const&, QRectF const&)' + .obj/main.o:(.data.rel.ro._ZTVN11QQmlPrivate11QQmlElementI6FbItemEE[_ZTVN11QQmlPrivate11QQmlElementI6FbItemEE]+0xb8): undefined reference to `QQuickFramebufferObject::updatePaintNode(QSGNode*, QQuickItem::UpdatePaintNodeData*)' + .obj/main.o:(.data.rel.ro._ZTVN11QQmlPrivate11QQmlElementI6FbItemEE[_ZTVN11QQmlPrivate11QQmlElementI6FbItemEE]+0xbc): undefined reference to `QQuickFramebufferObject::releaseResources()' + .obj/moc_fbitem.o: In function `FbItem::qt_metacast(char const*)': + moc_fbitem.cpp:(.text+0x70): undefined reference to `QQuickFramebufferObject::qt_metacast(char const*)' + .obj/moc_fbitem.o: In function `FbItem::qt_metacall(QMetaObject::Call, int, void**)': + moc_fbitem.cpp:(.text+0x80): undefined reference to `QQuickFramebufferObject::qt_metacall(QMetaObject::Call, int, void**)' + .obj/moc_fbitem.o: In function `FbItem::~FbItem()': + moc_fbitem.cpp:(.text._ZN6FbItemD2Ev[_ZN6FbItemD5Ev]+0x38): undefined reference to `vtable for QQuickFramebufferObject' + .obj/moc_fbitem.o: In function `FbItem::~FbItem()': + moc_fbitem.cpp:(.text._ZN6FbItemD0Ev[_ZN6FbItemD0Ev]+0x40): undefined reference to `vtable for QQuickFramebufferObject' + .obj/moc_fbitem.o:(.data.rel.ro+0x8): undefined reference to `typeinfo for QQuickFramebufferObject' + .obj/moc_fbitem.o:(.data.rel.ro+0x58): undefined reference to `QQuickFramebufferObject::isTextureProvider() const' + .obj/moc_fbitem.o:(.data.rel.ro+0x5c): undefined reference to `QQuickFramebufferObject::textureProvider() const' + .obj/moc_fbitem.o:(.data.rel.ro+0xc4): undefined reference to `QQuickFramebufferObject::geometryChanged(QRectF const&, QRectF const&)' + .obj/moc_fbitem.o:(.data.rel.ro+0xc8): undefined reference to `QQuickFramebufferObject::updatePaintNode(QSGNode*, QQuickItem::UpdatePaintNodeData*)' + .obj/moc_fbitem.o:(.data.rel.ro+0xcc): undefined reference to `QQuickFramebufferObject::releaseResources()' + .obj/moc_fbitem.o:(.data.rel.ro+0xf0): undefined reference to `QQuickFramebufferObject::staticMetaObject' + +Signed-off-by: Peter Seiderer +--- + examples/quick/quick.pro | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/examples/quick/quick.pro b/examples/quick/quick.pro +index 445dfb0fa..26ca0138e 100644 +--- a/examples/quick/quick.pro ++++ b/examples/quick/quick.pro +@@ -36,7 +36,10 @@ qtConfig(opengl(es1|es2)?) { + # Widget dependent examples + qtHaveModule(widgets) { + SUBDIRS += embeddedinwidgets +- qtHaveModule(quickwidgets): SUBDIRS += quickwidgets ++ # OpenGL Support Required ++ qtConfig(opengl(es1|es2)?) { ++ qtHaveModule(quickwidgets): SUBDIRS += quickwidgets ++ } + } + + EXAMPLE_FILES = \ +-- +2.11.0 + diff --git a/package/qt5/qt5declarative/5.9.2/0001-Fix-no-opengl-builds.patch b/package/qt5/qt5declarative/5.9.2/0001-Fix-no-opengl-builds.patch new file mode 100644 index 0000000000..8406ace9a3 --- /dev/null +++ b/package/qt5/qt5declarative/5.9.2/0001-Fix-no-opengl-builds.patch @@ -0,0 +1,32 @@ +From 66429b5f6986bde1f491699216f095c5e25023cf Mon Sep 17 00:00:00 2001 +From: Allan Sandfeld Jensen +Date: Mon, 25 Sep 2017 16:53:24 +0200 +Subject: [PATCH] Fix no-opengl builds + +The qquickwidgets examples uses OpenGL directly + +Change-Id: I1cc8cfbcf249abc98473287a9d499032232828c7 +Reviewed-by: Simon Hausmann + +Upstream: https://code.qt.io/cgit/qt/qtdeclarative.git/patch/?id=fa52bb665d6beb77a951c14c8edcba3541850afc +Signed-off-by: Peter Seiderer +--- + examples/quick/quick.pro | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/examples/quick/quick.pro b/examples/quick/quick.pro +index 445dfb0f..7da255e9 100644 +--- a/examples/quick/quick.pro ++++ b/examples/quick/quick.pro +@@ -36,7 +36,7 @@ qtConfig(opengl(es1|es2)?) { + # Widget dependent examples + qtHaveModule(widgets) { + SUBDIRS += embeddedinwidgets +- qtHaveModule(quickwidgets): SUBDIRS += quickwidgets ++ qtHaveModule(quickwidgets):qtConfig(opengl(es1|es2)?): SUBDIRS += quickwidgets + } + + EXAMPLE_FILES = \ +-- +2.15.0 + diff --git a/package/qt5/qt5declarative/Config.in b/package/qt5/qt5declarative/Config.in index 853322cab3..5384b5f187 100644 --- a/package/qt5/qt5declarative/Config.in +++ b/package/qt5/qt5declarative/Config.in @@ -1,9 +1,9 @@ config BR2_PACKAGE_QT5DECLARATIVE bool "qt5declarative" + depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE select BR2_PACKAGE_QT5XMLPATTERNS select BR2_PACKAGE_QT5BASE select BR2_PACKAGE_QT5BASE_GUI - depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE help Qt is a cross-platform application and UI framework for developers using C++. @@ -21,7 +21,7 @@ comment "quick module needs an OpenGL-capable backend" config BR2_PACKAGE_QT5DECLARATIVE_QUICK bool "quick module" - select BR2_PACKAGE_QT5BASE_OPENGL depends on BR2_PACKAGE_QT5_GL_AVAILABLE + select BR2_PACKAGE_QT5BASE_OPENGL endif diff --git a/package/qt5/qt5declarative/qt5declarative.hash b/package/qt5/qt5declarative/qt5declarative.hash index 98a46f1fed..e2d63d49ff 100644 --- a/package/qt5/qt5declarative/qt5declarative.hash +++ b/package/qt5/qt5declarative/qt5declarative.hash @@ -1,5 +1,16 @@ -# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtdeclarative-opensource-src-5.6.2.tar.xz.mirrorlist -sha256 0086a986bc36b398ba518c404d08cdff0a0d7978c30aa3fa2ab73d71654209da qtdeclarative-opensource-src-5.6.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtdeclarative-opensource-src-5.6.3.tar.xz.mirrorlist +sha256 f63fc053d0d16b8a9ca9308f8ead77874b470ae31b66057e2bd336bf648191fc qtdeclarative-opensource-src-5.6.3.tar.xz -# Hash from: http://download.qt.io/official_releases/qt/5.8/5.8.0/submodules/qtdeclarative-opensource-src-5.8.0.tar.xz -sha256 32941eb9ad12d8735dfc64de8b50b5ab830a6d8705a421c57369de7cb5708a46 qtdeclarative-opensource-src-5.8.0.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtdeclarative-opensource-src-5.9.2.tar.xz.mirrorlist +sha256 0d40fd4de9c73b9173d8308c0dc37952bf5c747d87ff221962dd2f848d820b08 qtdeclarative-opensource-src-5.9.2.tar.xz + +# Hashes for license files: +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 +sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE.LGPL3 +sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL +sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 +sha256 1996a36160b2158c2be264d2ddfa6148ebe0f1ececff55aca8d754a1ddcc7bb8 LICENSE.LGPLv21 +sha256 438c1f9a2b256e47dac33249f2ad6d4a9df643f1ec5312216d528a2f7ad82084 LGPL_EXCEPTION.txt +sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 diff --git a/package/qt5/qt5declarative/qt5declarative.mk b/package/qt5/qt5declarative/qt5declarative.mk index fb546bd73b..de8b048329 100644 --- a/package/qt5/qt5declarative/qt5declarative.mk +++ b/package/qt5/qt5declarative/qt5declarative.mk @@ -10,32 +10,24 @@ QT5DECLARATIVE_SOURCE = qtdeclarative-opensource-src-$(QT5DECLARATIVE_VERSION).t QT5DECLARATIVE_DEPENDENCIES = qt5base qt5xmlpatterns QT5DECLARATIVE_INSTALL_STAGING = YES -ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y) ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) -QT5DECLARATIVE_LICENSE = GPLv2+ or LGPLv3, GPLv3 with exception(tools), GFDLv1.3 (docs) -QT5DECLARATIVE_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPLv3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL +QT5DECLARATIVE_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) +QT5DECLARATIVE_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPL3 LICENSE.FDL else -QT5DECLARATIVE_LICENSE = GPLv3 or LGPLv2.1 with exception or LGPLv3, GFDLv1.3 (docs) +QT5DECLARATIVE_LICENSE = GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs) QT5DECLARATIVE_LICENSE_FILES = LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL endif -else -QT5DECLARATIVE_LICENSE = Commercial license -QT5DECLARATIVE_REDISTRIBUTE = NO -endif define QT5DECLARATIVE_CONFIGURE_CMDS - (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake) + (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake) endef define QT5DECLARATIVE_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ - sub-src-all sub-tools-all + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) endef define QT5DECLARATIVE_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ - sub-src-install_subtargets \ - sub-tools-install_subtargets + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install $(QT5_LA_PRL_FILES_FIXUP) endef @@ -45,6 +37,9 @@ ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK),y) define QT5DECLARATIVE_INSTALL_TARGET_QUICK_LIBS cp -dpf $(STAGING_DIR)/usr/lib/libQt5Quick*.so.* $(TARGET_DIR)/usr/lib endef +define QT5DECLARATIVE_INSTALL_TARGET_QUICK_EXAMPLES + cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/quick/ $(TARGET_DIR)/usr/lib/qt/examples/ +endef endif define QT5DECLARATIVE_INSTALL_TARGET_LIBS @@ -55,9 +50,17 @@ endef endif +ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y) +define QT5DECLARATIVE_INSTALL_TARGET_EXAMPLES + cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/qml* $(TARGET_DIR)/usr/lib/qt/examples/ + $(QT5DECLARATIVE_INSTALL_TARGET_QUICK_EXAMPLES) +endef +endif + define QT5DECLARATIVE_INSTALL_TARGET_CMDS cp -dpf $(STAGING_DIR)/usr/bin/qml* $(TARGET_DIR)/usr/bin cp -dpfr $(STAGING_DIR)/usr/qml $(TARGET_DIR)/usr + $(QT5DECLARATIVE_INSTALL_TARGET_EXAMPLES) $(QT5DECLARATIVE_INSTALL_TARGET_LIBS) endef diff --git a/package/qt5/qt5enginio/qt5enginio.hash b/package/qt5/qt5enginio/qt5enginio.hash index 995183484c..f970703687 100644 --- a/package/qt5/qt5enginio/qt5enginio.hash +++ b/package/qt5/qt5enginio/qt5enginio.hash @@ -1,2 +1,9 @@ -# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtenginio-opensource-src-1.6.2.tar.xz.mirrorlist +# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtenginio-opensource-src-1.6.2.tar.xz.mirrorlist sha256 90ffc38d214a75ab0ef90a4760843f12bc073ae49c17de24c677d1d403bddcc3 qtenginio-opensource-src-1.6.2.tar.xz + +# Hashes for license files: +sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 +sha256 1996a36160b2158c2be264d2ddfa6148ebe0f1ececff55aca8d754a1ddcc7bb8 LICENSE.LGPLv21 +sha256 438c1f9a2b256e47dac33249f2ad6d4a9df643f1ec5312216d528a2f7ad82084 LGPL_EXCEPTION.txt +sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 +sha256 f827ad079686ba92cc94811e35492d0e8966f704008b6da9eeda0b659fb58a8d LICENSE.FDL diff --git a/package/qt5/qt5enginio/qt5enginio.mk b/package/qt5/qt5enginio/qt5enginio.mk index dad7889767..5590d7cf4e 100644 --- a/package/qt5/qt5enginio/qt5enginio.mk +++ b/package/qt5/qt5enginio/qt5enginio.mk @@ -12,15 +12,10 @@ QT5ENGINIO_SOURCE = qtenginio-opensource-src-$(QT5ENGINIO_VERSION).tar.xz QT5ENGINIO_DEPENDENCIES = openssl qt5base QT5ENGINIO_INSTALL_STAGING = YES -ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y) -QT5ENGINIO_LICENSE = GPLv3 or LGPLv2.1 with exception or LGPLv3, GFDLv1.3 (docs) +QT5ENGINIO_LICENSE = GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs) QT5ENGINIO_LICENSE_FILES = LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y) -QT5ENGINIO_LICENSE := $(QT5ENGINIO_LICENSE), BSD-3c (examples) -endif -else -QT5ENGINIO_LICENSE = Commercial license -QT5ENGINIO_REDISTRIBUTE = NO +QT5ENGINIO_LICENSE := $(QT5ENGINIO_LICENSE), BSD-3-Clause (examples) endif ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y) @@ -28,7 +23,7 @@ QT5ENGINIO_DEPENDENCIES += qt5declarative endif define QT5ENGINIO_CONFIGURE_CMDS - (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake) + (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake) endef define QT5ENGINIO_BUILD_CMDS diff --git a/package/qt5/qt5graphicaleffects/Config.in b/package/qt5/qt5graphicaleffects/Config.in index df23425975..69b7fca413 100644 --- a/package/qt5/qt5graphicaleffects/Config.in +++ b/package/qt5/qt5graphicaleffects/Config.in @@ -1,9 +1,9 @@ config BR2_PACKAGE_QT5GRAPHICALEFFECTS bool "qt5graphicaleffects" - select BR2_PACKAGE_QT5DECLARATIVE - select BR2_PACKAGE_QT5DECLARATIVE_QUICK depends on BR2_PACKAGE_QT5_GL_AVAILABLE depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE + select BR2_PACKAGE_QT5DECLARATIVE + select BR2_PACKAGE_QT5DECLARATIVE_QUICK help Qt is a cross-platform application and UI framework for developers using C++. diff --git a/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash b/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash index ac4167be9e..08267b2d13 100644 --- a/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash +++ b/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash @@ -1,5 +1,17 @@ -# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtgraphicaleffects-opensource-src-5.6.2.tar.xz.mirrorlist -sha256 1e9f0fac2c72a812d396db74b2d9d12f513d2ec9135d5982ca85aee7f00be75e qtgraphicaleffects-opensource-src-5.6.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtgraphicaleffects-opensource-src-5.6.3.tar.xz.mirrorlist +sha256 c742592d5e45b122b29df60b69be23ba7c817f2dc471db86e054f6ea24a999ed qtgraphicaleffects-opensource-src-5.6.3.tar.xz -# Hash from: http://download.qt.io/official_releases/qt/5.8/5.8.0/submodules/qtgraphicaleffects-opensource-src-5.8.0.tar.xz -sha256 5f2a9b50530ac83d7c2b2ce73fbdf03ac61f83a9521e9d4b796fa17a969dd919 qtgraphicaleffects-opensource-src-5.8.0.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtgraphicaleffects-opensource-src-5.9.2.tar.xz.mirrorlist +sha256 14594e7eb4b704dd69bf336828306fe8e6537c321d49ee0b701b3b1cdd8bfb76 qtgraphicaleffects-opensource-src-5.9.2.tar.xz + +# Hashes for license files: +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 +sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE.LGPL3 +sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL +sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 +sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 +sha256 1996a36160b2158c2be264d2ddfa6148ebe0f1ececff55aca8d754a1ddcc7bb8 LICENSE.LGPLv21 +sha256 438c1f9a2b256e47dac33249f2ad6d4a9df643f1ec5312216d528a2f7ad82084 LGPL_EXCEPTION.txt +sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 diff --git a/package/qt5/qt5graphicaleffects/qt5graphicaleffects.mk b/package/qt5/qt5graphicaleffects/qt5graphicaleffects.mk index aef69eb419..2f6380f712 100644 --- a/package/qt5/qt5graphicaleffects/qt5graphicaleffects.mk +++ b/package/qt5/qt5graphicaleffects/qt5graphicaleffects.mk @@ -10,21 +10,16 @@ QT5GRAPHICALEFFECTS_SOURCE = qtgraphicaleffects-opensource-src-$(QT5GRAPHICALEFF QT5GRAPHICALEFFECTS_DEPENDENCIES = qt5base qt5declarative QT5GRAPHICALEFFECTS_INSTALL_STAGING = YES -ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y) ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) -QT5GRAPHICALEFFECTS_LICENSE = GPLv2+ or LGPLv3, GPLv3 with exception(tools), GFDLv1.3 (docs) -QT5GRAPHICALEFFECTS_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL +QT5GRAPHICALEFFECTS_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) +QT5GRAPHICALEFFECTS_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPL3 LICENSE.FDL else -QT5GRAPHICALEFFECTS_LICENSE = GPLv2 or GPLv3 or LGPLv2.1 with exception or LGPLv3, GFDLv1.3 (docs) +QT5GRAPHICALEFFECTS_LICENSE = GPL-2.0 or GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs) QT5GRAPHICALEFFECTS_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL endif -else -QT5GRAPHICALEFFECTS_LICENSE = Commercial license -QT5GRAPHICALEFFECTS_REDISTRIBUTE = NO -endif define QT5GRAPHICALEFFECTS_CONFIGURE_CMDS - (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake) + (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake) endef define QT5GRAPHICALEFFECTS_BUILD_CMDS diff --git a/package/qt5/qt5imageformats/qt5imageformats.hash b/package/qt5/qt5imageformats/qt5imageformats.hash index 0a635233f2..13357598a6 100644 --- a/package/qt5/qt5imageformats/qt5imageformats.hash +++ b/package/qt5/qt5imageformats/qt5imageformats.hash @@ -1,5 +1,14 @@ -# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtimageformats-opensource-src-5.6.2.tar.xz.mirrorlist -sha256 4fb153be62dac393cbcebab65040b3b9d6edecd1ebbe5e543401b0e45bd147e4 qtimageformats-opensource-src-5.6.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtimageformats-opensource-src-5.6.3.tar.xz.mirrorlist +sha256 efe4da3c90c976c9b9a2eb6b081d2b8e1435935695104456276ce98e8a5848c3 qtimageformats-opensource-src-5.6.3.tar.xz -# Hash from: http://download.qt.io/official_releases/qt/5.8/5.8.0/submodules/qtimageformats-opensource-src-5.8.0.tar.xz -sha256 75045eeac11c96194260badbdb4d3e9eb7b7f9972d18d3491230ea820be4606f qtimageformats-opensource-src-5.8.0.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtimageformats-opensource-src-5.9.2.tar.xz.mirrorlist +sha256 3a626ca0ac7ffc56b59c4b3f66aac6bc76954054cedb6938b961562228eb9df3 qtimageformats-opensource-src-5.9.2.tar.xz + +# Hashes for license files: +sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 +sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 +sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT +sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 +sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL +sha256 1996a36160b2158c2be264d2ddfa6148ebe0f1ececff55aca8d754a1ddcc7bb8 LICENSE.LGPLv21 +sha256 438c1f9a2b256e47dac33249f2ad6d4a9df643f1ec5312216d528a2f7ad82084 LGPL_EXCEPTION.txt diff --git a/package/qt5/qt5imageformats/qt5imageformats.mk b/package/qt5/qt5imageformats/qt5imageformats.mk index d7649255f1..f70f131d50 100644 --- a/package/qt5/qt5imageformats/qt5imageformats.mk +++ b/package/qt5/qt5imageformats/qt5imageformats.mk @@ -10,21 +10,16 @@ QT5IMAGEFORMATS_SOURCE = qtimageformats-opensource-src-$(QT5IMAGEFORMATS_VERSION QT5IMAGEFORMATS_DEPENDENCIES = qt5base QT5IMAGEFORMATS_INSTALL_STAGING = YES -ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y) ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) -QT5IMAGEFORMATS_LICENSE = GPLv2+ or LGPLv3, GPLv3 with exception(tools), GFDLv1.3 (docs) +QT5IMAGEFORMATS_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) QT5IMAGEFORMATS_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL else -QT5IMAGEFORMATS_LICENSE = GPLv2 or GPLv3 or LGPLv2.1 with exception or LGPLv3, GFDLv1.3 (docs) +QT5IMAGEFORMATS_LICENSE = GPL-2.0 or GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs) QT5IMAGEFORMATS_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL endif -else -QT5IMAGEFORMATS_LICENSE = Commercial license -QT5IMAGEFORMATS_REDISTRIBUTE = NO -endif define QT5IMAGEFORMATS_CONFIGURE_CMDS - (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake) + (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake) endef define QT5IMAGEFORMATS_BUILD_CMDS diff --git a/package/qt5/qt5location/qt5location.hash b/package/qt5/qt5location/qt5location.hash index 6afc918ea8..6369efbd76 100644 --- a/package/qt5/qt5location/qt5location.hash +++ b/package/qt5/qt5location/qt5location.hash @@ -1,5 +1,14 @@ -# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtlocation-opensource-src-5.6.2.tar.xz.mirrorlist -sha256 7a8995206ed0220f943a33c037527a1a8243d5386f5ca77bf88152675c28d23a qtlocation-opensource-src-5.6.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtlocation-opensource-src-5.6.3.tar.xz.mirrorlist +sha256 b7a81c58cc331fb15bea8fba21d3c9a59f6dc6ad2e4855e30a14ce59a2af1466 qtlocation-opensource-src-5.6.3.tar.xz -# Hash from: http://download.qt.io/official_releases/qt/5.8/5.8.0/submodules/qtlocation-opensource-src-5.8.0.tar.xz -sha256 48a1e39ed989f0133aeacaa379e9c3958ec9b08c043626bba503619891d21abb qtlocation-opensource-src-5.8.0.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtlocation-opensource-src-5.9.2.tar.xz.mirrorlist +sha256 c81a42e44ebd4e9c33f7195e86af3deab9fde72ef0ad8dcb04acee250d356b0c qtlocation-opensource-src-5.9.2.tar.xz + +# Hashes for license files: +sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 +sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 +sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT +sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 +sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL +sha256 1996a36160b2158c2be264d2ddfa6148ebe0f1ececff55aca8d754a1ddcc7bb8 LICENSE.LGPLv21 +sha256 438c1f9a2b256e47dac33249f2ad6d4a9df643f1ec5312216d528a2f7ad82084 LGPL_EXCEPTION.txt diff --git a/package/qt5/qt5location/qt5location.mk b/package/qt5/qt5location/qt5location.mk index dbdc64573d..e9f1e4d93d 100644 --- a/package/qt5/qt5location/qt5location.mk +++ b/package/qt5/qt5location/qt5location.mk @@ -10,25 +10,20 @@ QT5LOCATION_SOURCE = qtlocation-opensource-src-$(QT5LOCATION_VERSION).tar.xz QT5LOCATION_DEPENDENCIES = qt5base QT5LOCATION_INSTALL_STAGING = YES -ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y) ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) -QT5LOCATION_LICENSE = GPLv2+ or LGPLv3, GPLv3 with exception(tools), GFDLv1.3 (docs) +QT5LOCATION_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) QT5LOCATION_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL else -QT5LOCATION_LICENSE = GPLv2 or GPLv3 or LGPLv2.1 with exception or LGPLv3, GFDLv1.3 (docs) +QT5LOCATION_LICENSE = GPL-2.0 or GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs) QT5LOCATION_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL endif -else -QT5LOCATION_LICENSE = Commercial license -QT5LOCATION_REDISTRIBUTE = NO -endif ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y) QT5LOCATION_DEPENDENCIES += qt5declarative endif define QT5LOCATION_CONFIGURE_CMDS - (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake) + (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake) endef define QT5LOCATION_BUILD_CMDS @@ -62,5 +57,4 @@ define QT5LOCATION_INSTALL_TARGET_CMDS $(QT5LOCATION_INSTALL_TARGET_QMLS) endef - $(eval $(generic-package)) diff --git a/package/qt5/qt5multimedia/qt5multimedia.hash b/package/qt5/qt5multimedia/qt5multimedia.hash index ffd8a77912..c3377d2b2e 100644 --- a/package/qt5/qt5multimedia/qt5multimedia.hash +++ b/package/qt5/qt5multimedia/qt5multimedia.hash @@ -1,5 +1,16 @@ -# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtmultimedia-opensource-src-5.6.2.tar.xz.mirrorlist -sha256 cb9a70a7c6c0eb5be4a3fcaf9590863479e95a255308bbf07d5b7aa303bb8caf qtmultimedia-opensource-src-5.6.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtmultimedia-opensource-src-5.6.3.tar.xz.mirrorlist +sha256 ae36039ea8037742342f1615687e0ca2188f3ed0d700627a5e5be546c15e1b46 qtmultimedia-opensource-src-5.6.3.tar.xz -# Hash from: http://download.qt.io/official_releases/qt/5.8/5.8.0/submodules/qtmultimedia-opensource-src-5.8.0.tar.xz -sha256 a8bc044834f95208261915feefe5e2fdb6761b76f0f99e21062963bd9f9d4a07 qtmultimedia-opensource-src-5.8.0.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtmultimedia-opensource-src-5.9.2.tar.xz.mirrorlist +sha256 c9a62700024871f204e5f107894c3a339bd645bf6dbac2bcf1bff8ce46842520 qtmultimedia-opensource-src-5.9.2.tar.xz + +# Hashes for license files: +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 +sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE.LGPL3 +sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL +sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 +sha256 1996a36160b2158c2be264d2ddfa6148ebe0f1ececff55aca8d754a1ddcc7bb8 LICENSE.LGPLv21 +sha256 438c1f9a2b256e47dac33249f2ad6d4a9df643f1ec5312216d528a2f7ad82084 LGPL_EXCEPTION.txt +sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 diff --git a/package/qt5/qt5multimedia/qt5multimedia.mk b/package/qt5/qt5multimedia/qt5multimedia.mk index fccdd5d64b..835142e3a4 100644 --- a/package/qt5/qt5multimedia/qt5multimedia.mk +++ b/package/qt5/qt5multimedia/qt5multimedia.mk @@ -10,18 +10,13 @@ QT5MULTIMEDIA_SOURCE = qtmultimedia-opensource-src-$(QT5MULTIMEDIA_VERSION).tar. QT5MULTIMEDIA_DEPENDENCIES = qt5base QT5MULTIMEDIA_INSTALL_STAGING = YES -ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y) ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) -QT5MULTIMEDIA_LICENSE = GPLv2+ or LGPLv3, GPLv3 with exception(tools), GFDLv1.3 (docs) -QT5MULTIMEDIA_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPLv3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL +QT5MULTIMEDIA_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) +QT5MULTIMEDIA_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPL3 LICENSE.FDL else -QT5MULTIMEDIA_LICENSE = GPLv3 or LGPLv2.1 with exception or LGPLv3, GFDLv1.3 (docs) +QT5MULTIMEDIA_LICENSE = GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs) QT5MULTIMEDIA_LICENSE_FILES = LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL endif -else -QT5MULTIMEDIA_LICENSE = Commercial license -QT5MULTIMEDIA_REDISTRIBUTE = NO -endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE),y) QT5MULTIMEDIA_DEPENDENCIES += gst1-plugins-base @@ -31,8 +26,16 @@ ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y) QT5MULTIMEDIA_DEPENDENCIES += qt5declarative endif +ifeq ($(BR2_PACKAGE_LIBGLIB2)$(BR2_PACKAGE_PULSEAUDIO),yy) +QT5MULTIMEDIA_DEPENDENCIES += libglib2 pulseaudio +endif + +ifeq ($(BR2_PACKAGE_ALSA_LIB),y) +QT5MULTIMEDIA_DEPENDENCIES += alsa-lib +endif + define QT5MULTIMEDIA_CONFIGURE_CMDS - (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake) + (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake) endef define QT5MULTIMEDIA_BUILD_CMDS @@ -66,7 +69,7 @@ endif ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y) define QT5MULTIMEDIA_INSTALL_TARGET_EXAMPLES - cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/multimedia* $(TARGET_DIR)/usr/lib/qt/examples/ + cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/multimedia* $(TARGET_DIR)/usr/lib/qt/examples/ endef endif diff --git a/package/qt5/qt5quickcontrols/Config.in b/package/qt5/qt5quickcontrols/Config.in index 3ab6ded403..3cc5821b1e 100644 --- a/package/qt5/qt5quickcontrols/Config.in +++ b/package/qt5/qt5quickcontrols/Config.in @@ -1,9 +1,9 @@ config BR2_PACKAGE_QT5QUICKCONTROLS bool "qt5quickcontrols" - select BR2_PACKAGE_QT5DECLARATIVE - select BR2_PACKAGE_QT5DECLARATIVE_QUICK depends on BR2_PACKAGE_QT5_GL_AVAILABLE depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE + select BR2_PACKAGE_QT5DECLARATIVE + select BR2_PACKAGE_QT5DECLARATIVE_QUICK help Qt is a cross-platform application and UI framework for developers using C++. diff --git a/package/qt5/qt5quickcontrols/qt5quickcontrols.hash b/package/qt5/qt5quickcontrols/qt5quickcontrols.hash index 95657d2588..4ac79328d9 100644 --- a/package/qt5/qt5quickcontrols/qt5quickcontrols.hash +++ b/package/qt5/qt5quickcontrols/qt5quickcontrols.hash @@ -1,5 +1,11 @@ -# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtquickcontrols-opensource-src-5.6.2.tar.xz.mirrorlist -sha256 5ed0f2292be10222dfb1b57a05472798fd759279f65455d91c02ef4fb746102c qtquickcontrols-opensource-src-5.6.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtquickcontrols-opensource-src-5.6.3.tar.xz.mirrorlist +sha256 31bb0fc8f21b855af6ff02c415be3246128b523d0ef7c05e248e92281ab0db8e qtquickcontrols-opensource-src-5.6.3.tar.xz -# Hash from: http://download.qt.io/official_releases/qt/5.8/5.8.0/submodules/qtquickcontrols-opensource-src-5.8.0.tar.xz -sha256 04e70d0ccfd9ba882691a5e8f81e3428ae1b72a76bb9f43ba242f1c33bd7b326 qtquickcontrols-opensource-src-5.8.0.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtquickcontrols-opensource-src-5.9.2.tar.xz.mirrorlist +sha256 5f09ecf8648acd8abed20d727b8517e0c53cf945e83a992ee58d4baadd84bd1f qtquickcontrols-opensource-src-5.9.2.tar.xz + +# Hashes for license files: +sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 +sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 +sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 +sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL diff --git a/package/qt5/qt5quickcontrols/qt5quickcontrols.mk b/package/qt5/qt5quickcontrols/qt5quickcontrols.mk index 43254ba06b..88e767bcf9 100644 --- a/package/qt5/qt5quickcontrols/qt5quickcontrols.mk +++ b/package/qt5/qt5quickcontrols/qt5quickcontrols.mk @@ -10,16 +10,11 @@ QT5QUICKCONTROLS_SOURCE = qtquickcontrols-opensource-src-$(QT5QUICKCONTROLS_VERS QT5QUICKCONTROLS_DEPENDENCIES = qt5base qt5declarative QT5QUICKCONTROLS_INSTALL_STAGING = YES -ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y) -QT5QUICKCONTROLS_LICENSE = GPLv2 or GPLv3 or LGPLv3, GFDLv1.3 (docs) +QT5QUICKCONTROLS_LICENSE = GPL-2.0 or GPL-3.0 or LGPL-3.0, GFDL-1.3 (docs) QT5QUICKCONTROLS_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv3 LICENSE.FDL -else -QT5QUICKCONTROLS_LICENSE = Commercial license -QT5QUICKCONTROLS_REDISTRIBUTE = NO -endif define QT5QUICKCONTROLS_CONFIGURE_CMDS - (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake) + (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake) endef define QT5QUICKCONTROLS_BUILD_CMDS @@ -30,7 +25,6 @@ define QT5QUICKCONTROLS_INSTALL_STAGING_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install endef - ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK)$(BR2_PACKAGE_QT5BASE_WIDGETS),yy) define QT5QUICKCONTROLS_INSTALL_TARGET_PRIVATEWIDGETS cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/PrivateWidgets $(TARGET_DIR)/usr/qml/QtQuick diff --git a/package/qt5/qt5quickcontrols2/5.6.3/qt5quickcontrols2.hash b/package/qt5/qt5quickcontrols2/5.6.3/qt5quickcontrols2.hash new file mode 100644 index 0000000000..6f5bf29400 --- /dev/null +++ b/package/qt5/qt5quickcontrols2/5.6.3/qt5quickcontrols2.hash @@ -0,0 +1,4 @@ +# Hashes for license files: +sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL +sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 +sha256 0ec5b37a28dd638c5c05c8cc940276e55c808353fe8d942c7f993c2c8b4cbe62 LICENSE.LGPLv3 diff --git a/package/qt5/qt5quickcontrols2/Config.in b/package/qt5/qt5quickcontrols2/Config.in index adf89d0de7..1066b173bd 100644 --- a/package/qt5/qt5quickcontrols2/Config.in +++ b/package/qt5/qt5quickcontrols2/Config.in @@ -1,9 +1,9 @@ config BR2_PACKAGE_QT5QUICKCONTROLS2 bool "qt5quickcontrols2" - select BR2_PACKAGE_QT5DECLARATIVE - select BR2_PACKAGE_QT5DECLARATIVE_QUICK depends on BR2_PACKAGE_QT5_GL_AVAILABLE # qt5declarative/quick depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative/quick + select BR2_PACKAGE_QT5DECLARATIVE + select BR2_PACKAGE_QT5DECLARATIVE_QUICK help Qt is a cross-platform application and UI framework for developers using C++. diff --git a/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash b/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash index 80a3103b95..7dec020363 100644 --- a/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash +++ b/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash @@ -1,5 +1,10 @@ -# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtquickcontrols2-opensource-src-5.6.2.tar.xz.mirrorlist -sha256 09dc1710aa4701aebe145829eb99bab94d0870cf578f7dddcec0af92286dfec1 qtquickcontrols2-opensource-src-5.6.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtquickcontrols2-opensource-src-5.6.3.tar.xz.mirrorlist +sha256 ec5078470abe2da888c2be5d1749b5961ef5132487c180ce4d4aa19ea7ff81cb qtquickcontrols2-opensource-src-5.6.3.tar.xz -# Hash from: http://download.qt.io/official_releases/qt/5.8/5.8.0/submodules/qtquickcontrols2-opensource-src-5.8.0.tar.xz -sha256 b099866ec74f13cf0047274c61f0486d1eba27716fa07b69f682c54d3a4ade1b qtquickcontrols2-opensource-src-5.8.0.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtquickcontrols2-opensource-src-5.9.2.tar.xz.mirrorlist +sha256 2b55dd3dd53b4a6abb0ceb74b7fb98a5e52e9056c71a6cdbaead5cdf9d1ac8d2 qtquickcontrols2-opensource-src-5.9.2.tar.xz + +# Hashes for license files: +sha256 d2cfc059acb4abd8e513cd0a73cd8489f34cbafa7bc34d5d31fb3210821cf8ca LICENSE.GPLv3 +sha256 9e63a04ce021b8bf811b30881fa51c8c3db88afeead942cd59322f2fb69c75bc LICENSE.LGPLv3 +sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL diff --git a/package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk b/package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk index f6aca2cd46..f27cafc63b 100644 --- a/package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk +++ b/package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk @@ -10,16 +10,11 @@ QT5QUICKCONTROLS2_SOURCE = qtquickcontrols2-opensource-src-$(QT5QUICKCONTROLS2_V QT5QUICKCONTROLS2_DEPENDENCIES = qt5base qt5declarative QT5QUICKCONTROLS2_INSTALL_STAGING = YES -ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y) -QT5QUICKCONTROLS2_LICENSE = GPLv3 or LGPLv3, GFDLv1.3 (docs) +QT5QUICKCONTROLS2_LICENSE = GPL-3.0 or LGPL-3.0, GFDL-1.3 (docs) QT5QUICKCONTROLS2_LICENSE_FILES = LICENSE.GPLv3 LICENSE.LGPLv3 LICENSE.FDL -else -QT5QUICKCONTROLS2_LICENSE = Commercial license -QT5QUICKCONTROLS2_REDISTRIBUTE = NO -endif define QT5QUICKCONTROLS2_CONFIGURE_CMDS - (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake) + (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake) endef define QT5QUICKCONTROLS2_BUILD_CMDS diff --git a/package/qt5/qt5script/Config.in b/package/qt5/qt5script/Config.in index ad19727ac2..034b7d2fcb 100644 --- a/package/qt5/qt5script/Config.in +++ b/package/qt5/qt5script/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_QT5SCRIPT bool "qt5script" - select BR2_PACKAGE_QT5BASE depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE + select BR2_PACKAGE_QT5BASE help Qt is a cross-platform application and UI framework for developers using C++. diff --git a/package/qt5/qt5script/qt5script.hash b/package/qt5/qt5script/qt5script.hash index 6e369d8e0c..5257f563e4 100644 --- a/package/qt5/qt5script/qt5script.hash +++ b/package/qt5/qt5script/qt5script.hash @@ -1,5 +1,12 @@ -# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtscript-opensource-src-5.6.2.tar.xz.mirrorlist -sha256 e06ef6b271cae2187b57cd4ffdd6759428fd47f94a060e2ed2af024a8c14110e qtscript-opensource-src-5.6.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtscript-opensource-src-5.6.3.tar.xz.mirrorlist +sha256 f08720dd0e3a70377c1cb7fa3b129e24f4cdedade279e51b67c9271ab470b389 qtscript-opensource-src-5.6.3.tar.xz -# Hash from: http://download.qt.io/official_releases/qt/5.8/5.8.0/submodules/qtscript-opensource-src-5.8.0.tar.xz -sha256 293ab91d2d189d889dc80609aa259190fb7de636d360e904784a5ce1a45e5ad3 qtscript-opensource-src-5.8.0.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtscript-opensource-src-5.9.2.tar.xz.mirrorlist +sha256 47807db5c2684609a0252601fda0a153530a2c97abb8c96df30f4e7897cd40f1 qtscript-opensource-src-5.9.2.tar.xz + +# Hashes for license files: +sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 +sha256 1996a36160b2158c2be264d2ddfa6148ebe0f1ececff55aca8d754a1ddcc7bb8 LICENSE.LGPLv21 +sha256 438c1f9a2b256e47dac33249f2ad6d4a9df643f1ec5312216d528a2f7ad82084 LGPL_EXCEPTION.txt +sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 +sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL diff --git a/package/qt5/qt5script/qt5script.mk b/package/qt5/qt5script/qt5script.mk index 57ba6f0072..b6c02d0d1c 100644 --- a/package/qt5/qt5script/qt5script.mk +++ b/package/qt5/qt5script/qt5script.mk @@ -10,16 +10,11 @@ QT5SCRIPT_SOURCE = qtscript-opensource-src-$(QT5SCRIPT_VERSION).tar.xz QT5SCRIPT_DEPENDENCIES = qt5base QT5SCRIPT_INSTALL_STAGING = YES -ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y) -QT5SCRIPT_LICENSE = GPLv3 or LGPLv2.1 with exception or LGPLv3, GFDLv1.3 (docs) +QT5SCRIPT_LICENSE = GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs) QT5SCRIPT_LICENSE_FILES = LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL -else -QT5SCRIPT_LICENSE = Commercial license -QT5SCRIPT_REDISTRIBUTE = NO -endif define QT5SCRIPT_CONFIGURE_CMDS - (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake) + (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake) endef define QT5SCRIPT_BUILD_CMDS diff --git a/package/qt5/qt5sensors/qt5sensors.hash b/package/qt5/qt5sensors/qt5sensors.hash index 307ad6fbd7..36162bf647 100644 --- a/package/qt5/qt5sensors/qt5sensors.hash +++ b/package/qt5/qt5sensors/qt5sensors.hash @@ -1,5 +1,17 @@ -# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtsensors-opensource-src-5.6.2.tar.xz.mirrorlist -sha256 a7809081aab4f2f0d7a4f40c3abb02e1690bb390d1dd410d7c6c5019a5053427 qtsensors-opensource-src-5.6.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtsensors-opensource-src-5.6.3.tar.xz.mirrorlist +sha256 7502d4dc5571865a7eea2a4180c3be396dfb8ce22df4c4f3d7e9ff32ab334973 qtsensors-opensource-src-5.6.3.tar.xz -# Hash from: http://download.qt.io/official_releases/qt/5.8/5.8.0/submodules/qtsensors-opensource-src-5.8.0.tar.xz -sha256 3a5d0639ecf8cd30c8ca349c353a8f3c424889b53831e70b6d8c481fc45de796 qtsensors-opensource-src-5.8.0.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtsensors-opensource-src-5.9.2.tar.xz.mirrorlist +sha256 79441588c9c8bd1b34b91481441614077ea335a0005e79a1dc68ad964284b5d3 qtsensors-opensource-src-5.9.2.tar.xz + +# Hashes for license files: +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 +sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE.LGPL3 +sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL +sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 +sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 +sha256 1996a36160b2158c2be264d2ddfa6148ebe0f1ececff55aca8d754a1ddcc7bb8 LICENSE.LGPLv21 +sha256 438c1f9a2b256e47dac33249f2ad6d4a9df643f1ec5312216d528a2f7ad82084 LGPL_EXCEPTION.txt +sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 diff --git a/package/qt5/qt5sensors/qt5sensors.mk b/package/qt5/qt5sensors/qt5sensors.mk index fb9ef32e64..d4dc47e89c 100644 --- a/package/qt5/qt5sensors/qt5sensors.mk +++ b/package/qt5/qt5sensors/qt5sensors.mk @@ -10,25 +10,20 @@ QT5SENSORS_SOURCE = qtsensors-opensource-src-$(QT5SENSORS_VERSION).tar.xz QT5SENSORS_DEPENDENCIES = qt5base QT5SENSORS_INSTALL_STAGING = YES -ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y) ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) -QT5SENSORS_LICENSE = GPLv2+ or LGPLv3, GPLv3 with exception(tools), GFDLv1.3 (docs) -QT5SENSORS_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL +QT5SENSORS_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) +QT5SENSORS_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPL3 LICENSE.FDL else -QT5SENSORS_LICENSE = GPLv2 or GPLv3 or LGPLv2.1 with exception or LGPLv3, GFDLv1.3 (docs) +QT5SENSORS_LICENSE = GPL-2.0 or GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs) QT5SENSORS_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL endif -else -QT5SENSORS_LICENSE = Commercial license -QT5SENSORS_REDISTRIBUTE = NO -endif ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y) QT5SENSORS_DEPENDENCIES += qt5declarative endif define QT5SENSORS_CONFIGURE_CMDS - (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake) + (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake) endef define QT5SENSORS_BUILD_CMDS diff --git a/package/qt5/qt5serialbus/qt5serialbus.hash b/package/qt5/qt5serialbus/qt5serialbus.hash index f15945c736..0a3155a7f4 100644 --- a/package/qt5/qt5serialbus/qt5serialbus.hash +++ b/package/qt5/qt5serialbus/qt5serialbus.hash @@ -1,5 +1,11 @@ -# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtserialbus-opensource-src-5.6.2.tar.xz.mirrorlist -sha256 b39260091691532382935ed51de9ead8e66cfb5f7a6e5410c17cd0695ccaf826 qtserialbus-opensource-src-5.6.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtserialbus-opensource-src-5.6.3.tar.xz.mirrorlist +sha256 71c89be3879414e2a11cad93a4882758f9259b1c0aec980560309192c99f9a9e qtserialbus-opensource-src-5.6.3.tar.xz -# Hash from: http://download.qt.io/official_releases/qt/5.8/5.8.0/submodules/qtserialbus-opensource-src-5.8.0.tar.xz -sha256 58343dd9f2e339d4900a2d4b54ee25ed959cf62bacb012fe61e6b99d7958c10a qtserialbus-opensource-src-5.8.0.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtserialbus-opensource-src-5.9.2.tar.xz.mirrorlist +sha256 bbc24bdafd0191fc808e08b19f378e74bedbb79faf4e396b66ba7ca9fed9be08 qtserialbus-opensource-src-5.9.2.tar.xz + +# Hashes for license files: +sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 +sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 +sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 +sha256 f827ad079686ba92cc94811e35492d0e8966f704008b6da9eeda0b659fb58a8d LICENSE.FDL diff --git a/package/qt5/qt5serialbus/qt5serialbus.mk b/package/qt5/qt5serialbus/qt5serialbus.mk index b188f5d85d..218aba4e0a 100644 --- a/package/qt5/qt5serialbus/qt5serialbus.mk +++ b/package/qt5/qt5serialbus/qt5serialbus.mk @@ -10,16 +10,11 @@ QT5SERIALBUS_SOURCE = qtserialbus-opensource-src-$(QT5SERIALBUS_VERSION).tar.xz QT5SERIALBUS_DEPENDENCIES = qt5base qt5serialport QT5SERIALBUS_INSTALL_STAGING = YES -ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y) -QT5SERIALBUS_LICENSE = GPLv2 or GPLv3 or LGPLv3, GFDLv1.3 (docs) +QT5SERIALBUS_LICENSE = GPL-2.0 or GPL-3.0 or LGPL-3.0, GFDL-1.3 (docs) QT5SERIALBUS_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv3 LICENSE.FDL -else -QT5SERIALBUS_LICENSE = Commercial license -QT5SERIALBUS_REDISTRIBUTE = NO -endif define QT5SERIALBUS_CONFIGURE_CMDS - (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake) + (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake) endef define QT5SERIALBUS_BUILD_CMDS diff --git a/package/qt5/qt5serialport/qt5serialport.hash b/package/qt5/qt5serialport/qt5serialport.hash index 18c590b642..589b859f1b 100644 --- a/package/qt5/qt5serialport/qt5serialport.hash +++ b/package/qt5/qt5serialport/qt5serialport.hash @@ -1,5 +1,14 @@ -# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtserialport-opensource-src-5.6.2.tar.xz.mirrorlist -sha256 af76281bad2c2bd283189635316b46091f6712134b845ae1b9e3016eec94f376 qtserialport-opensource-src-5.6.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtserialport-opensource-src-5.6.3.tar.xz.mirrorlist +sha256 082d1fee2703aed19f840c4e4031e37c9b929e5bd8ebef2ebac4b28c509bae1a qtserialport-opensource-src-5.6.3.tar.xz -# Hash from: http://download.qt.io/official_releases/qt/5.8/5.8.0/submodules/qtserialport-opensource-src-5.8.0.tar.xz -sha256 52317fded73ad0beb0a2ecf93124a8e2dfdcf14270a762c1f4fd06fb075506ad qtserialport-opensource-src-5.8.0.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtserialport-opensource-src-5.9.2.tar.xz.mirrorlist +sha256 50ed9cc22db1615bc00267d24b0819813b854af3651ab6e5ffaa7f7c7e62cd42 qtserialport-opensource-src-5.9.2.tar.xz + +# Hashes for license files: +sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 +sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 +sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT +sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 +sha256 e1251235ce9853eecfecfa905da9ee29e9b76e4db2a1c9c4a20699f460419b08 LICENSE.FDL +sha256 1996a36160b2158c2be264d2ddfa6148ebe0f1ececff55aca8d754a1ddcc7bb8 LICENSE.LGPLv21 +sha256 79949ee74297883df6e4e7c4bfe1e75a6e7695376b4a87ffc013e27bda509cb2 LGPL_EXCEPTION.txt diff --git a/package/qt5/qt5serialport/qt5serialport.mk b/package/qt5/qt5serialport/qt5serialport.mk index 4fbca9ea1b..479870b16e 100644 --- a/package/qt5/qt5serialport/qt5serialport.mk +++ b/package/qt5/qt5serialport/qt5serialport.mk @@ -10,21 +10,16 @@ QT5SERIALPORT_SOURCE = qtserialport-opensource-src-$(QT5SERIALPORT_VERSION).tar. QT5SERIALPORT_DEPENDENCIES = qt5base QT5SERIALPORT_INSTALL_STAGING = YES -ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y) ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) -QT5SERIALPORT_LICENSE = GPLv2+ or LGPLv3, GPLv3 with exception(tools), GFDLv1.3 (docs) +QT5SERIALPORT_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) QT5SERIALPORT_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL else -QT5SERIALPORT_LICENSE = GPLv2 or GPLv3 or LGPLv2.1 with exception or LGPLv3, GFDLv1.3 (docs) +QT5SERIALPORT_LICENSE = GPL-2.0 or GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs) QT5SERIALPORT_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL endif -else -QT5SERIALPORT_LICENSE = Commercial license -QT5SERIALPORT_REDISTRIBUTE = NO -endif define QT5SERIALPORT_CONFIGURE_CMDS - (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake) + (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake) endef define QT5SERIALPORT_BUILD_CMDS diff --git a/package/qt5/qt5svg/qt5svg.hash b/package/qt5/qt5svg/qt5svg.hash index 6855e85cbd..a3d8e6d6f8 100644 --- a/package/qt5/qt5svg/qt5svg.hash +++ b/package/qt5/qt5svg/qt5svg.hash @@ -1,5 +1,13 @@ -# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtsvg-opensource-src-5.6.2.tar.xz.mirrorlist -sha256 f7a361bf661b31ae7779513559dd0b774171911bc57f5cfb6bed6878ddc8bc4e qtsvg-opensource-src-5.6.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtsvg-opensource-src-5.6.3.tar.xz.mirrorlist +sha256 100f183517b46554079beabd8d2cabe3070a74dd0a2e64b6a304eac71cfadcec qtsvg-opensource-src-5.6.3.tar.xz -# Hash from: http://download.qt.io/official_releases/qt/5.8/5.8.0/submodules/qtsvg-opensource-src-5.8.0.tar.xz -sha256 9873191c211ab4da9c0bc47b1e3549f475db4d448bba3175e0f86b24eefadc89 qtsvg-opensource-src-5.8.0.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtsvg-opensource-src-5.9.2.tar.xz.mirrorlist +sha256 ba96ebfbb60d2793547295b7122a127d21ba44cf586bfd3c8212c59d68661108 qtsvg-opensource-src-5.9.2.tar.xz + +# Hashes for license files: +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 +sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 +sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 +sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL +sha256 1996a36160b2158c2be264d2ddfa6148ebe0f1ececff55aca8d754a1ddcc7bb8 LICENSE.LGPLv21 +sha256 438c1f9a2b256e47dac33249f2ad6d4a9df643f1ec5312216d528a2f7ad82084 LGPL_EXCEPTION.txt diff --git a/package/qt5/qt5svg/qt5svg.mk b/package/qt5/qt5svg/qt5svg.mk index 08821e486e..5a12755f94 100644 --- a/package/qt5/qt5svg/qt5svg.mk +++ b/package/qt5/qt5svg/qt5svg.mk @@ -10,21 +10,16 @@ QT5SVG_SOURCE = qtsvg-opensource-src-$(QT5SVG_VERSION).tar.xz QT5SVG_DEPENDENCIES = qt5base QT5SVG_INSTALL_STAGING = YES -ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y) ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) -QT5SVG_LICENSE = GPLv2+ or LGPLv3, GPLv3 with exception(tools), GFDLv1.3 (docs) +QT5SVG_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) QT5SVG_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPLv3 LICENSE.LGPLv3 LICENSE.FDL else -QT5SVG_LICENSE = GPLv3 or LGPLv2.1 with exception or LGPLv3, GFDLv1.3 (docs) +QT5SVG_LICENSE = GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs) QT5SVG_LICENSE_FILES = LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL endif -else -QT5SVG_LICENSE = Commercial license -QT5SVG_REDISTRIBUTE = NO -endif define QT5SVG_CONFIGURE_CMDS - (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake) + (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake) endef define QT5SVG_BUILD_CMDS diff --git a/package/qt5/qt5tools/qt5tools.hash b/package/qt5/qt5tools/qt5tools.hash index 541d95bef1..f56e76447c 100644 --- a/package/qt5/qt5tools/qt5tools.hash +++ b/package/qt5/qt5tools/qt5tools.hash @@ -1,5 +1,16 @@ -# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qttools-opensource-src-5.6.2.tar.xz.mirrorlist -sha256 db2bb4318786257a47172c377d9c456d5d5ec760d5d69240a4693dc87989e1b7 qttools-opensource-src-5.6.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qttools-opensource-src-5.6.3.tar.xz.mirrorlist +sha256 1a63ba838058d73cb540040589b235ded77f76402693decfd6d4d3c75ea67926 qttools-opensource-src-5.6.3.tar.xz -# Hash from: http://download.qt.io/official_releases/qt/5.8/5.8.0/submodules/qttools-opensource-src-5.8.0.tar.xz -sha256 95ec8e76d393b6ba26ffff5041fce41946d2bf3aec1402c6533e24d9fc269d83 qttools-opensource-src-5.8.0.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qttools-opensource-src-5.9.2.tar.xz.mirrorlist +sha256 2bb996118b68e9939c185a593837e5a41bb3667bf5d4d5134fac02598bd2d81a qttools-opensource-src-5.9.2.tar.xz + +# Hashes for license files: +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 +sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE.LGPL3 +sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL +sha256 8ab0b8fe7c8e580e8c571b8fa455baf307e9394d4b3ac53ce50d8e960a8934c5 LICENSE.GPLv3 +sha256 66f6bb53f6d985a4d651bf1ecfe8bbcbe32b0f744708d588f047580ee85d8ec8 LICENSE.LGPLv21 +sha256 438c1f9a2b256e47dac33249f2ad6d4a9df643f1ec5312216d528a2f7ad82084 LGPL_EXCEPTION.txt +sha256 68afaf3392f8c04218fbf29db43cc0b18bf651c1db086556aa584046de9f3e35 LICENSE.LGPLv3 diff --git a/package/qt5/qt5tools/qt5tools.mk b/package/qt5/qt5tools/qt5tools.mk index 0395f96bab..3638b74163 100644 --- a/package/qt5/qt5tools/qt5tools.mk +++ b/package/qt5/qt5tools/qt5tools.mk @@ -19,18 +19,13 @@ ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y) QT5TOOLS_DEPENDENCIES += qt5declarative endif -ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y) ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) -QT5TOOLS_LICENSE = GPLv2+ or LGPLv3, GPLv3 with exception(tools), GFDLv1.3 (docs) -QT5TOOLS_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPLv3 LICENSE.LGPLv3 LICENSE.FDL +QT5TOOLS_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) +QT5TOOLS_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPL3 LICENSE.FDL else -QT5TOOLS_LICENSE = GPLv3 or LGPLv2.1 with exception or LGPLv3, GFDLv1.3 (docs) +QT5TOOLS_LICENSE = GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs) QT5TOOLS_LICENSE_FILES = LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL endif -else -QT5TOOLS_LICENSE = Commercial license -QT5TOOLS_REDISTRIBUTE = NO -endif QT5TOOLS_BUILD_DIRS_$(BR2_PACKAGE_QT5TOOLS_LINGUIST_TOOLS) += \ linguist/lconvert linguist/lrelease linguist/lupdate @@ -54,7 +49,7 @@ QT5TOOLS_BUILD_DIRS_$(BR2_PACKAGE_QT5TOOLS_QTPLUGININFO) += qtplugininfo QT5TOOLS_INSTALL_TARGET_$(BR2_PACKAGE_QT5TOOLS_QTPLUGININFO) += qtplugininfo define QT5TOOLS_CONFIGURE_CMDS - (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake) + (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake) endef define QT5TOOLS_BUILD_CMDS diff --git a/package/qt5/qt5virtualkeyboard/Config.in b/package/qt5/qt5virtualkeyboard/Config.in new file mode 100644 index 0000000000..a68581544d --- /dev/null +++ b/package/qt5/qt5virtualkeyboard/Config.in @@ -0,0 +1,58 @@ +comment "qt5virtualkeyboard needs at least qt-5.7 and an OpenGL backend" + depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE + depends on !BR2_PACKAGE_QT5_VERSION_LATEST || !BR2_PACKAGE_QT5_GL_AVAILABLE + +config BR2_PACKAGE_QT5VIRTUALKEYBOARD + bool "qt5virtualkeyboard" + # needs at least Qt 5.7 + depends on BR2_PACKAGE_QT5_VERSION_LATEST + depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative + depends on BR2_PACKAGE_QT5_GL_AVAILABLE # qt5declarative quick + select BR2_PACKAGE_QT5DECLARATIVE + select BR2_PACKAGE_QT5DECLARATIVE_QUICK + select BR2_PACKAGE_QT5SVG + help + Qt Virtual Keyboard is a virtual keyboard framework that + consists of a C++ backend supporting custom input methods as + well as a UI frontend implemented in QML. + +if BR2_PACKAGE_QT5VIRTUALKEYBOARD + +config BR2_PACKAGE_QT5VIRTUALKEYBOARD_LANGUAGE_LAYOUTS + string "language layouts" + default "en_GB" + help + The Virtual Keyboard supports the following languages: + - Arabic (ar_AR) + - Danish (da_DK) + - English (en_GB) + - Finnish (fi_FI) + - French (fr_FR) + - German (de_DE) + - Hindi (hi_IN) + - Italian (it_IT) + - Japanese (ja_JP) + - Korean (ko_KR) + - Norwegian (nb_NO) + - Persian/Farsi (fa_FA) + - Polish (pl_PL) + - Portugese (pt_PT) + - Romanian (ro_RO) + - Russian (ru_RU) + - Simplified Chinese (zh_CN) + - Traditional Chinese (zh_TW) + - Spanish (es_ES) + - Swedish (sv_SE) + + Note: the special value "all" can be used to install support + for all supported languages. + +config BR2_PACKAGE_QT5VIRTUALKEYBOARD_HANDWRITING + bool "handwriting" + help + Handwriting support, with gestures for fullscreen input. + + Lipi Toolkit (LipiTk) is an open source toolkit for online + Handwriting Recognition. + +endif diff --git a/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.hash b/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.hash new file mode 100644 index 0000000000..528c938e47 --- /dev/null +++ b/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.hash @@ -0,0 +1,6 @@ +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtvirtualkeyboard-opensource-src-5.9.2.tar.xz.mirrorlist +sha256 e836ca0348b21df28635e541713726444abed7b53a0acf3358cc90532e64c6fc qtvirtualkeyboard-opensource-src-5.9.2.tar.xz + +# Hashes for license files: +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 +sha256 7a45a9769d19545480a241230e6ea520b5156fac00930dcd69b6886749743d10 src/virtualkeyboard/3rdparty/lipi-toolkit/MIT_LICENSE.txt diff --git a/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk b/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk new file mode 100644 index 0000000000..7d2201b55d --- /dev/null +++ b/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk @@ -0,0 +1,78 @@ +################################################################################ +# +# qt5virtualkeyboard +# +################################################################################ + +QT5VIRTUALKEYBOARD_VERSION = $(QT5_VERSION) +QT5VIRTUALKEYBOARD_SITE = $(QT5_SITE) +QT5VIRTUALKEYBOARD_SOURCE = qtvirtualkeyboard-opensource-src-$(QT5VIRTUALKEYBOARD_VERSION).tar.xz +QT5VIRTUALKEYBOARD_DEPENDENCIES = qt5base qt5declarative qt5svg +QT5VIRTUALKEYBOARD_INSTALL_STAGING = YES + +QT5VIRTUALKEYBOARD_LICENSE = GPL-3.0 +QT5VIRTUALKEYBOARD_LICENSE_FILES = LICENSE.GPL3 + +QT5VIRTUALKEYBOARD_LANGUAGE_LAYOUTS = $(call qstrip,$(BR2_PACKAGE_QT5VIRTUALKEYBOARD_LANGUAGE_LAYOUTS)) +ifneq ($(strip $(QT5VIRTUALKEYBOARD_LANGUAGE_LAYOUTS)),) +QT5VIRTUALKEYBOARD_QMAKEFLAGS += CONFIG+="$(foreach lang,$(QT5VIRTUALKEYBOARD_LANGUAGE_LAYOUTS),lang-$(lang))" + +ifneq ($(filter ja_JP all,$(QT5VIRTUALKEYBOARD_LANGUAGE_LAYOUTS)),) +QT5VIRTUALKEYBOARD_LICENSE := $(QT5VIRTUALKEYBOARD_LICENSE), Apache-2.0 (openwnn) +QT5VIRTUALKEYBOARD_LICENSE_FILES += src/virtualkeyboard/3rdparty/openwnn/NOTICE +endif + +ifneq ($(filter zh_CN all,$(QT5VIRTUALKEYBOARD_LANGUAGE_LAYOUTS)),) +QT5VIRTUALKEYBOARD_3RDPARTY_PARTS = YES +QT5VIRTUALKEYBOARD_LICENSE := $(QT5VIRTUALKEYBOARD_LICENSE), Apache-2.0 (pinyin) +QT5VIRTUALKEYBOARD_LICENSE_FILES += src/virtualkeyboard/3rdparty/pinyin/NOTICE +endif + +ifneq ($(filter zh_TW all,$(QT5VIRTUALKEYBOARD_LANGUAGE_LAYOUTS)),) +QT5VIRTUALKEYBOARD_3RDPARTY_PARTS = YES +QT5VIRTUALKEYBOARD_LICENSE := $(QT5VIRTUALKEYBOARD_LICENSE), Apache-2.0 (tcime), BSD-3-Clause (tcime) +QT5VIRTUALKEYBOARD_LICENSE_FILES += src/virtualkeyboard/3rdparty/tcime/COPYING +endif +endif + +ifeq ($(BR2_PACKAGE_QT5VIRTUALKEYBOARD_HANDWRITING),y) +QT5VIRTUALKEYBOARD_3RDPARTY_PARTS = YES +QT5VIRTUALKEYBOARD_QMAKEFLAGS += CONFIG+=handwriting +QT5VIRTUALKEYBOARD_LICENSE := $(QT5VIRTUALKEYBOARD_LICENSE), MIT (lipi-toolkit) +QT5VIRTUALKEYBOARD_LICENSE_FILES += src/virtualkeyboard/3rdparty/lipi-toolkit/MIT_LICENSE.txt +endif + +ifdef QT5VIRTUALKEYBOARD_3RDPARTY_PARTS +define QT5VIRTUALKEYBOARD_INSTALL_TARGET_3RDPARTY_PARTS + cp -dpfr $(STAGING_DIR)/usr/qtvirtualkeyboard $(TARGET_DIR)/usr +endef +endif + +define QT5VIRTUALKEYBOARD_CONFIGURE_CMDS + (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake $(QT5VIRTUALKEYBOARD_QMAKEFLAGS)) +endef + +define QT5VIRTUALKEYBOARD_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define QT5VIRTUALKEYBOARD_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install +endef + +ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y) +define QT5VIRTUALKEYBOARD_INSTALL_TARGET_EXAMPLES + cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/virtualkeyboard $(TARGET_DIR)/usr/lib/qt/examples/ +endef +endif + +define QT5VIRTUALKEYBOARD_INSTALL_TARGET_CMDS + mkdir -p $(TARGET_DIR)/usr/lib/qt/plugins/platforminputcontexts + cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so \ + $(TARGET_DIR)/usr/lib/qt/plugins/platforminputcontexts + cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/VirtualKeyboard $(TARGET_DIR)/usr/qml/QtQuick + $(QT5VIRTUALKEYBOARD_INSTALL_TARGET_3RDPARTY_PARTS) + $(QT5VIRTUALKEYBOARD_INSTALL_TARGET_EXAMPLES) +endef + +$(eval $(generic-package)) diff --git a/package/qt5/qt5wayland/Config.in b/package/qt5/qt5wayland/Config.in new file mode 100644 index 0000000000..0182d3ca56 --- /dev/null +++ b/package/qt5/qt5wayland/Config.in @@ -0,0 +1,27 @@ +comment "qt5wayland needs an OpenGL-capable backend" + depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE + depends on !BR2_PACKAGE_QT5_GL_AVAILABLE + +config BR2_PACKAGE_QT5WAYLAND + bool "qt5wayland" + depends on BR2_PACKAGE_QT5_GL_AVAILABLE + depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative + select BR2_PACKAGE_QT5DECLARATIVE + select BR2_PACKAGE_WAYLAND + help + Qt is a cross-platform application and UI framework for + developers using C++. + + This package corresponds to the qt5wayland module. + + http://qt.io + +if BR2_PACKAGE_QT5WAYLAND + +config BR2_PACKAGE_QT5WAYLAND_COMPOSITOR + bool "Enable compositor (experimental)" + help + The compositor API is still experimental, and not built by + default. + +endif diff --git a/package/qt5/qt5wayland/qt5wayland.hash b/package/qt5/qt5wayland/qt5wayland.hash new file mode 100644 index 0000000000..9504c5e817 --- /dev/null +++ b/package/qt5/qt5wayland/qt5wayland.hash @@ -0,0 +1,16 @@ +# hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtwayland-opensource-src-5.6.3.tar.xz.mirrorlist +sha256 5a475278b2db73aa7fa7f3ba6d98d8d72774f5c77e172495007d79f91d09daa3 qtwayland-opensource-src-5.6.3.tar.xz + +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtwayland-opensource-src-5.9.2.tar.xz.mirrorlist +sha256 f6434d03f933867dfb219abec2cf19e2c1d1ef23d46d12cb9333c8066027f6c6 qtwayland-opensource-src-5.9.2.tar.xz + +# Hashes for license files: +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 +sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE.LGPL3 +sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL +sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 +sha256 1996a36160b2158c2be264d2ddfa6148ebe0f1ececff55aca8d754a1ddcc7bb8 LICENSE.LGPLv21 +sha256 438c1f9a2b256e47dac33249f2ad6d4a9df643f1ec5312216d528a2f7ad82084 LGPL_EXCEPTION.txt +sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 diff --git a/package/qt5/qt5wayland/qt5wayland.mk b/package/qt5/qt5wayland/qt5wayland.mk new file mode 100644 index 0000000000..0a7bdb8cf9 --- /dev/null +++ b/package/qt5/qt5wayland/qt5wayland.mk @@ -0,0 +1,61 @@ +################################################################################ +# +# qt5wayland +# +################################################################################ + +QT5WAYLAND_VERSION = $(QT5_VERSION) +QT5WAYLAND_SITE = $(QT5_SITE) +QT5WAYLAND_SOURCE = qtwayland-opensource-src-$(QT5WAYLAND_VERSION).tar.xz +QT5WAYLAND_DEPENDENCIES = qt5base qt5declarative wayland +QT5WAYLAND_INSTALL_STAGING = YES + +ifeq ($(BR2_PACKAGE_LIBXKBCOMMON),y) +QT5WAYLAND_DEPENDENCIES += libxkbcommon +endif + +ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) +QT5WAYLAND_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) +QT5WAYLAND_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPL3 LICENSE.FDL +else +QT5WAYLAND_LICENSE = GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs) +QT5WAYLAND_LICENSE_FILES = LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL +endif + +ifeq ($(BR2_PACKAGE_QT5WAYLAND_COMPOSITOR),y) +QT5WAYLAND_QMAKEFLAGS += CONFIG+=wayland-compositor +endif + +define QT5WAYLAND_CONFIGURE_CMDS + (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake $(QT5WAYLAND_QMAKEFLAGS)) +endef + +define QT5WAYLAND_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define QT5WAYLAND_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install + $(QT5_LA_PRL_FILES_FIXUP) +endef + +ifeq ($(BR2_PACKAGE_QT5WAYLAND_COMPOSITOR),y) +ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) +define QT5WAYLAND_INSTALL_COMPOSITOR + cp -dpf $(STAGING_DIR)/usr/lib/libQt5WaylandCompositor.so* $(TARGET_DIR)/usr/lib +endef +else +define QT5WAYLAND_INSTALL_COMPOSITOR + cp -dpf $(STAGING_DIR)/usr/lib/libQt5Compositor.so* $(TARGET_DIR)/usr/lib +endef +endif +endif + +define QT5WAYLAND_INSTALL_TARGET_CMDS + cp -dpf $(STAGING_DIR)/usr/lib/libQt5WaylandClient.so* $(TARGET_DIR)/usr/lib + cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/wayland* $(TARGET_DIR)/usr/lib/qt/plugins + cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/platforms/libqwayland* $(TARGET_DIR)/usr/lib/qt/plugins/platforms + $(QT5WAYLAND_INSTALL_COMPOSITOR) +endef + +$(eval $(generic-package)) diff --git a/package/qt5/qt5webchannel/qt5webchannel.hash b/package/qt5/qt5webchannel/qt5webchannel.hash index 7fd01efbe7..7eae4a73ba 100644 --- a/package/qt5/qt5webchannel/qt5webchannel.hash +++ b/package/qt5/qt5webchannel/qt5webchannel.hash @@ -1,5 +1,17 @@ -# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtwebchannel-opensource-src-5.6.2.tar.xz.mirrorlist -sha256 700efdef5f51bdb77093f4db212afe275ad35a710ea08ba0e9e9cbc8f09f1a52 qtwebchannel-opensource-src-5.6.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtwebchannel-opensource-src-5.6.3.tar.xz.mirrorlist +sha256 8eb1b0ac2286653c7932758c21e7760788a5d7cfd6162da09afa926d5be50713 qtwebchannel-opensource-src-5.6.3.tar.xz -# Hash from: http://download.qt.io/official_releases/qt/5.8/5.8.0/submodules/qtwebchannel-opensource-src-5.8.0.tar.xz -sha256 5bf5b15413baa235ee2cbfd136ea3b9303b32879b54f9f25bfb4dc96d37d0b4a qtwebchannel-opensource-src-5.8.0.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtwebchannel-opensource-src-5.9.2.tar.xz.mirrorlist +sha256 9c1b4defecadd7f9ee15d5815d464abef0961fc565cc7831720fc7c0c0d13a26 qtwebchannel-opensource-src-5.9.2.tar.xz + +# Hashes for license files: +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 +sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE.LGPL3 +sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL +sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 +sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 +sha256 1996a36160b2158c2be264d2ddfa6148ebe0f1ececff55aca8d754a1ddcc7bb8 LICENSE.LGPLv21 +sha256 438c1f9a2b256e47dac33249f2ad6d4a9df643f1ec5312216d528a2f7ad82084 LGPL_EXCEPTION.txt +sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 diff --git a/package/qt5/qt5webchannel/qt5webchannel.mk b/package/qt5/qt5webchannel/qt5webchannel.mk index 9522a745ac..d46e053a53 100644 --- a/package/qt5/qt5webchannel/qt5webchannel.mk +++ b/package/qt5/qt5webchannel/qt5webchannel.mk @@ -10,20 +10,15 @@ QT5WEBCHANNEL_SOURCE = qtwebchannel-opensource-src-$(QT5WEBCHANNEL_VERSION).tar. QT5WEBCHANNEL_DEPENDENCIES = qt5base qt5websockets QT5WEBCHANNEL_INSTALL_STAGING = YES -ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y) ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) -QT5WEBCHANNEL_LICENSE = GPLv2+ or LGPLv3, GPLv3 with exception(tools), GFDLv1.3 (docs) -QT5WEBCHANNEL_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL +QT5WEBCHANNEL_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) +QT5WEBCHANNEL_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPL3 LICENSE.FDL else -QT5WEBCHANNEL_LICENSE = GPLv2 or GPLv3 or LGPLv2.1 with exception or LGPLv3, GFDLv1.3 (docs) +QT5WEBCHANNEL_LICENSE = GPL-2.0 or GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs) QT5WEBCHANNEL_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL endif ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y) -QT5WEBCHANNEL_LICENSE := $(QT5WEBCHANNEL_LICENSE), BSD-3c (examples) -endif -else -QT5WEBCHANNEL_LICENSE = Commercial license -QT5WEBCHANNEL_REDISTRIBUTE = NO +QT5WEBCHANNEL_LICENSE := $(QT5WEBCHANNEL_LICENSE), BSD-3-Clause (examples) endif ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y) @@ -31,7 +26,7 @@ QT5WEBCHANNEL_DEPENDENCIES += qt5declarative endif define QT5WEBCHANNEL_CONFIGURE_CMDS - (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake) + (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake) endef define QT5WEBCHANNEL_BUILD_CMDS @@ -43,10 +38,17 @@ define QT5WEBCHANNEL_INSTALL_STAGING_CMDS $(QT5_LA_PRL_FILES_FIXUP) endef +ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) +define QT5WEBCHANNEL_INSTALL_TARGET_JAVASCRIPT + $(INSTALL) -m 0644 -D $(@D)/examples/webchannel/shared/qwebchannel.js \ + $(TARGET_DIR)/var/www/qwebchannel.js +endef +else define QT5WEBCHANNEL_INSTALL_TARGET_JAVASCRIPT $(INSTALL) -m 0644 -D $(@D)/src/webchannel/qwebchannel.js \ $(TARGET_DIR)/var/www/qwebchannel.js endef +endif ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK),y) define QT5WEBCHANNEL_INSTALL_TARGET_QMLS diff --git a/package/qt5/qt5webengine/5.9.2/0002-Load-libEGL-and-libGLES2-symbols-implicitly.patch b/package/qt5/qt5webengine/5.9.2/0002-Load-libEGL-and-libGLES2-symbols-implicitly.patch new file mode 100644 index 0000000000..b8ef687f99 --- /dev/null +++ b/package/qt5/qt5webengine/5.9.2/0002-Load-libEGL-and-libGLES2-symbols-implicitly.patch @@ -0,0 +1,89 @@ +From d4c621f6a6b87f2a86069fa393b9f7c4f9e7b9ad Mon Sep 17 00:00:00 2001 +From: Viktor Engelmann +Date: Fri, 7 Jul 2017 12:56:19 +0200 +Subject: [PATCH] Load libEGL and libGLES2 symbols implicitly + +Instead of explicitly loading libraries from hard-coded locations, +we now just call dlopen(NULL, RTLD_LAZY). This returns a handle to +the host process'es context, which already contains the symbols of +both these libraries, because we link against them. +It was necessary to bypass LoadLibrary, because that expects a non-NULL +file path, so we couldn't pass NULL through that interface. + +Task-number: QTBUG-57761 +Change-Id: I29f037dfe542222b5188a33c7727c81a464a87bb +Reviewed-by: Allan Sandfeld Jensen +Reviewed-by: Michal Klocek +Upstream-Status: Merged +Signed-off-by: Gaël PORTAY +--- + src/core/surface_factory_qt.cpp | 40 ++++++++-------------------------------- + 1 file changed, 8 insertions(+), 32 deletions(-) + +diff --git a/src/core/surface_factory_qt.cpp b/src/core/surface_factory_qt.cpp +index 36c05ec5..e8be8480 100644 +--- a/src/core/surface_factory_qt.cpp ++++ b/src/core/surface_factory_qt.cpp +@@ -51,51 +51,27 @@ + #if defined(USE_OZONE) + + #include +- +-#ifndef QT_LIBDIR_EGL +-#define QT_LIBDIR_EGL "/usr/lib" +-#endif +-#ifndef QT_LIBDIR_GLES2 +-#define QT_LIBDIR_GLES2 QT_LIBDIR_EGL +-#endif ++#include + + namespace QtWebEngineCore { + +-base::NativeLibrary LoadLibrary(const base::FilePath& filename) { +- base::NativeLibraryLoadError error; +- base::NativeLibrary library = base::LoadNativeLibrary(filename, &error); +- if (!library) { +- LOG(ERROR) << "Failed to load " << filename.MaybeAsASCII() << ": " << error.ToString(); +- return NULL; +- } +- return library; +-} +- + bool SurfaceFactoryQt::LoadEGLGLES2Bindings() + { +- base::FilePath libEGLPath = QtWebEngineCore::toFilePath(QT_LIBDIR_EGL); +- libEGLPath = libEGLPath.Append("libEGL.so.1"); +- base::NativeLibrary eglLibrary = LoadLibrary(libEGLPath); +- if (!eglLibrary) +- return false; +- +- base::FilePath libGLES2Path = QtWebEngineCore::toFilePath(QT_LIBDIR_GLES2); +- libGLES2Path = libGLES2Path.Append("libGLESv2.so.2"); +- base::NativeLibrary gles2Library = LoadLibrary(libGLES2Path); +- if (!gles2Library) ++ base::NativeLibrary eglgles2Library = dlopen(NULL, RTLD_LAZY); ++ if (!eglgles2Library) { ++ LOG(ERROR) << "Failed to open EGL/GLES2 context " << dlerror(); + return false; ++ } + +- gl::GLGetProcAddressProc get_proc_address = reinterpret_cast(base::GetFunctionPointerFromNativeLibrary(eglLibrary, "eglGetProcAddress")); ++ gl::GLGetProcAddressProc get_proc_address = reinterpret_cast(base::GetFunctionPointerFromNativeLibrary(eglgles2Library, "eglGetProcAddress")); + if (!get_proc_address) { + LOG(ERROR) << "eglGetProcAddress not found."; +- base::UnloadNativeLibrary(eglLibrary); +- base::UnloadNativeLibrary(gles2Library); ++ base::UnloadNativeLibrary(eglgles2Library); + return false; + } + + gl::SetGLGetProcAddressProc(get_proc_address); +- gl::AddGLNativeLibrary(eglLibrary); +- gl::AddGLNativeLibrary(gles2Library); ++ gl::AddGLNativeLibrary(eglgles2Library); + return true; + } + +-- +2.13.2 + diff --git a/package/qt5/qt5webengine/Config.in b/package/qt5/qt5webengine/Config.in new file mode 100644 index 0000000000..d40b58062e --- /dev/null +++ b/package/qt5/qt5webengine/Config.in @@ -0,0 +1,89 @@ +config BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS + bool + default y if BR2_aarch64 || BR2_arm || \ + BR2_i386 || BR2_x86_64 || \ + BR2_mips || BR2_mips64 + # -m32 flag is used for 32bit builds and host tools have + # limited architecture support + depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative + depends on !BR2_BINFMT_FLAT # qt5base-icu + depends on BR2_USE_MMU # libglib2, qt5base-dbus + +comment "qt5webengine needs udev /dev management and a glibc toolchain w/ gcc >= 4.8, host gcc >= 4.8, threads, wchar" + depends on BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS + depends on !BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_USES_GLIBC || \ + !BR2_HOST_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \ + !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR + +comment "qt5webengine needs an OpenGL and EGL-capable backend" + depends on BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS + depends on !BR2_PACKAGE_QT5_GL_AVAILABLE || !BR2_PACKAGE_HAS_LIBEGL + +comment "qt5webengine is not available with Qt 5.6" + depends on BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS + depends on BR2_PACKAGE_QT5_VERSION_5_6 + +config BR2_PACKAGE_QT5WEBENGINE + bool "qt5webengine" + depends on BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_USES_GLIBC # execinfo.h, mallinfo + depends on BR2_HOST_GCC_AT_LEAST_4_8 # qt5base-icu + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # qt5base-icu + depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2, libvpx, qt5base-dbus + depends on BR2_USE_WCHAR # libglib2 + depends on BR2_PACKAGE_QT5_GL_AVAILABLE # qt5declarative, qt5base-eglfs + depends on BR2_PACKAGE_HAS_LIBEGL # qt5base-eglfs + depends on BR2_PACKAGE_HAS_UDEV + depends on !BR2_PACKAGE_QT5_VERSION_5_6 + # v8 (a chromium 3rd-party) compiles its internal host-tools with the + # same word size as the target. For 32-bits targets, it adds the -m32 + # flag (for 64-bits, it adds the -m64 flag). + # https://github.com/v8/v8/blob/5.6.326.55/gypfiles/toolchain.gypi#L1036-L1037 + select BR2_HOSTARCH_NEEDS_IA32_COMPILER if !BR2_ARCH_IS_64 # v8/chromium + select BR2_PACKAGE_FFMPEG + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBVPX + select BR2_PACKAGE_OPUS + select BR2_PACKAGE_WEBP + select BR2_PACKAGE_WEBP_DEMUX + select BR2_PACKAGE_QT5BASE_DBUS + select BR2_PACKAGE_QT5BASE_EGLFS + select BR2_PACKAGE_QT5BASE_FONTCONFIG + select BR2_PACKAGE_QT5BASE_ICU + select BR2_PACKAGE_QT5BASE_GUI + select BR2_PACKAGE_QT5BASE_WIDGETS + select BR2_PACKAGE_QT5DECLARATIVE + select BR2_PACKAGE_QT5DECLARATIVE_QUICK + select BR2_PACKAGE_QT5QUICKCONTROLS + select BR2_PACKAGE_QT5QUICKCONTROLS2 + select BR2_PACKAGE_QT5WEBCHANNEL + select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_QT5BASE_XCB + select BR2_PACKAGE_XLIB_LIBXCURSOR if BR2_PACKAGE_QT5BASE_XCB + select BR2_PACKAGE_XLIB_LIBXI if BR2_PACKAGE_QT5BASE_XCB + select BR2_PACKAGE_XLIB_LIBXRANDR if BR2_PACKAGE_QT5BASE_XCB + select BR2_PACKAGE_XLIB_LIBXSCRNSAVER if BR2_PACKAGE_QT5BASE_XCB + select BR2_PACKAGE_XLIB_LIBXTST if BR2_PACKAGE_QT5BASE_XCB + help + The Qt WebEngine module provides a web browser engine that + makes it easy to embed content from the World Wide Web into + your Qt application. + + Qt WebEngine provides C++ classes and QML types for rendering + HTML, XHTML, and SVG documents, styled using Cascading Style + Sheets (CSS) and scripted with JavaScript. HTML documents can + be made fully editable by the user through the use of the + contenteditable attribute on HTML elements. + + http://doc.qt.io/qt-5/qtwebengine-index.html + +if BR2_PACKAGE_QT5WEBENGINE + +config BR2_PACKAGE_QT5WEBENGINE_PROPRIETARY_CODECS + bool "proprietary codecs" + help + Qt WebEngine supports the MPEG-4 Part 14 (MP4) file format, + which includes required proprietary audio and video codecs, + such as H.264 and MPEG layer-3 (MP3). + +endif diff --git a/package/qt5/qt5webengine/chromium.inc b/package/qt5/qt5webengine/chromium.inc new file mode 100644 index 0000000000..da709fd5a0 --- /dev/null +++ b/package/qt5/qt5webengine/chromium.inc @@ -0,0 +1,310 @@ +CHROMIUM_LICENSE_FILES = \ + src/3rdparty/chromium/base/third_party/dmg_fp/LICENSE \ + src/3rdparty/chromium/base/third_party/dynamic_annotations/LICENSE \ + src/3rdparty/chromium/base/third_party/icu/LICENSE \ + src/3rdparty/chromium/base/third_party/libevent/LICENSE \ + src/3rdparty/chromium/base/third_party/nspr/LICENSE \ + src/3rdparty/chromium/base/third_party/superfasthash/LICENSE \ + src/3rdparty/chromium/base/third_party/symbolize/LICENSE \ + src/3rdparty/chromium/base/third_party/valgrind/LICENSE \ + src/3rdparty/chromium/base/third_party/xdg_mime/LICENSE \ + src/3rdparty/chromium/base/third_party/xdg_user_dirs/LICENSE \ + src/3rdparty/chromium/buildtools/LICENSE \ + src/3rdparty/chromium/buildtools/third_party/libc++abi/trunk/LICENSE.TXT \ + src/3rdparty/chromium/buildtools/third_party/libc++/trunk/LICENSE.TXT \ + src/3rdparty/chromium/chrome/third_party/chromevox/LICENSE \ + src/3rdparty/chromium/chrome/third_party/chromevox/third_party/closure-library/LICENSE \ + src/3rdparty/chromium/LICENSE \ + src/3rdparty/chromium/LICENSE.chromium_os \ + src/3rdparty/chromium/mojo/public/LICENSE \ + src/3rdparty/chromium/net/third_party/mozilla_security_manager/LICENSE \ + src/3rdparty/chromium/net/third_party/nss/LICENSE \ + src/3rdparty/chromium/ppapi/LICENSE \ + src/3rdparty/chromium/sdch/open-vcdiff/COPYING \ + src/3rdparty/chromium/testing/gmock/LICENSE \ + src/3rdparty/chromium/testing/gmock/scripts/generator/LICENSE \ + src/3rdparty/chromium/testing/gtest/LICENSE \ + src/3rdparty/chromium/third_party/accessibility_test_framework/LICENSE \ + src/3rdparty/chromium/third_party/afl/src/docs/COPYING \ + src/3rdparty/chromium/third_party/angle/LICENSE \ + src/3rdparty/chromium/third_party/angle/src/third_party/compiler/LICENSE \ + src/3rdparty/chromium/third_party/angle/src/third_party/libXNVCtrl/LICENSE \ + src/3rdparty/chromium/third_party/angle/src/third_party/murmurhash/LICENSE \ + src/3rdparty/chromium/third_party/apache-portable-runtime/LICENSE \ + src/3rdparty/chromium/third_party/apache_velocity/LICENSE \ + src/3rdparty/chromium/third_party/apple_apsl/LICENSE \ + src/3rdparty/chromium/third_party/bintrees/LICENSE.txt \ + src/3rdparty/chromium/third_party/blanketjs/LICENSE \ + src/3rdparty/chromium/third_party/blimp_fonts/LICENSE \ + src/3rdparty/chromium/third_party/blimp_fonts/LICENSE.Apache \ + src/3rdparty/chromium/third_party/blimp_fonts/LICENSE.OFL \ + src/3rdparty/chromium/third_party/boringssl/src/LICENSE \ + src/3rdparty/chromium/third_party/boringssl/src/third_party/android-cmake/LICENSE \ + src/3rdparty/chromium/third_party/bouncycastle/LICENSE \ + src/3rdparty/chromium/third_party/brotli/LICENSE \ + src/3rdparty/chromium/third_party/bspatch/LICENSE \ + src/3rdparty/chromium/third_party/byte_buddy/LICENSE \ + src/3rdparty/chromium/third_party/ced/LICENSE \ + src/3rdparty/chromium/third_party/ced/src/LICENSE \ + src/3rdparty/chromium/third_party/chaijs/LICENSE \ + src/3rdparty/chromium/third_party/checkstyle/LICENSE \ + src/3rdparty/chromium/third_party/checkstyle/LICENSE.apache20 \ + src/3rdparty/chromium/third_party/cld_3/LICENSE \ + src/3rdparty/chromium/third_party/cld_3/src/LICENSE \ + src/3rdparty/chromium/third_party/cld/LICENSE \ + src/3rdparty/chromium/third_party/closure_compiler/compiler/COPYING \ + src/3rdparty/chromium/third_party/closure_compiler/LICENSE \ + src/3rdparty/chromium/third_party/closure_linter/LICENSE \ + src/3rdparty/chromium/third_party/crashpad/crashpad/LICENSE \ + src/3rdparty/chromium/third_party/crashpad/crashpad/third_party/apple_cctools/cctools/APPLE_LICENSE \ + src/3rdparty/chromium/third_party/crashpad/crashpad/third_party/apple_cf/APPLE_LICENSE \ + src/3rdparty/chromium/third_party/crashpad/crashpad/third_party/getopt/LICENSE \ + src/3rdparty/chromium/third_party/cros_system_api/LICENSE \ + src/3rdparty/chromium/third_party/cros_system_api/MODULE_LICENSE_BSD \ + src/3rdparty/chromium/third_party/custom_tabs_client/LICENSE \ + src/3rdparty/chromium/third_party/d3/src/LICENSE \ + src/3rdparty/chromium/third_party/decklink/LICENSE \ + src/3rdparty/chromium/third_party/devscripts/COPYING \ + src/3rdparty/chromium/third_party/dom_distiller_js/LICENSE \ + src/3rdparty/chromium/third_party/dpkg-dev/LICENSE \ + src/3rdparty/chromium/third_party/drmemory/LICENSE \ + src/3rdparty/chromium/third_party/errorprone/LICENSE \ + src/3rdparty/chromium/third_party/espresso/LICENSE \ + src/3rdparty/chromium/third_party/expat/files/COPYING \ + src/3rdparty/chromium/third_party/ffmpeg/chromium/scripts/license_texts/full_lgpl.txt \ + src/3rdparty/chromium/third_party/ffmpeg/COPYING.GPLv2 \ + src/3rdparty/chromium/third_party/ffmpeg/COPYING.GPLv3 \ + src/3rdparty/chromium/third_party/ffmpeg/COPYING.LGPLv2.1 \ + src/3rdparty/chromium/third_party/ffmpeg/COPYING.LGPLv3 \ + src/3rdparty/chromium/third_party/ffmpeg/LICENSE.md \ + src/3rdparty/chromium/third_party/fips181/COPYING \ + src/3rdparty/chromium/third_party/flac/COPYING.FDL \ + src/3rdparty/chromium/third_party/flac/COPYING.GPL \ + src/3rdparty/chromium/third_party/flac/COPYING.LGPL \ + src/3rdparty/chromium/third_party/flac/COPYING.Xiph \ + src/3rdparty/chromium/third_party/flatbuffers/LICENSE \ + src/3rdparty/chromium/third_party/flatbuffers/src/LICENSE.txt \ + src/3rdparty/chromium/third_party/flot/LICENSE.txt \ + src/3rdparty/chromium/third_party/fontconfig/LICENSE \ + src/3rdparty/chromium/third_party/fontconfig/src/COPYING \ + src/3rdparty/chromium/third_party/freetype2/src/docs/GPLv2.TXT \ + src/3rdparty/chromium/third_party/freetype2/src/docs/LICENSE.TXT \ + src/3rdparty/chromium/third_party/gardiner_mod/LICENSE \ + src/3rdparty/chromium/third_party/gif_player/LICENSE \ + src/3rdparty/chromium/third_party/glslang/LICENSE \ + src/3rdparty/chromium/third_party/grpc/LICENSE \ + src/3rdparty/chromium/third_party/grpc/src/node/health_check/LICENSE \ + src/3rdparty/chromium/third_party/grpc/src/php/ext/grpc/LICENSE \ + src/3rdparty/chromium/third_party/grpc/third_party/nanopb/LICENSE.txt \ + src/3rdparty/chromium/third_party/grpc/third_party/rake-compiler-dock/LICENSE.txt \ + src/3rdparty/chromium/third_party/guava/LICENSE \ + src/3rdparty/chromium/third_party/gvr-android-sdk/LICENSE \ + src/3rdparty/chromium/third_party/haha/LICENSE \ + src/3rdparty/chromium/third_party/hamcrest/LICENSE \ + src/3rdparty/chromium/third_party/harfbuzz-ng/COPYING \ + src/3rdparty/chromium/third_party/hunspell/COPYING \ + src/3rdparty/chromium/third_party/hunspell/COPYING.LGPL \ + src/3rdparty/chromium/third_party/hunspell/COPYING.MPL \ + src/3rdparty/chromium/third_party/hunspell/src/hunspell/license.hunspell \ + src/3rdparty/chromium/third_party/hunspell/src/hunspell/license.myspell \ + src/3rdparty/chromium/third_party/hwcplus/LICENSE \ + src/3rdparty/chromium/third_party/iaccessible2/LICENSE \ + src/3rdparty/chromium/third_party/iccjpeg/LICENSE \ + src/3rdparty/chromium/third_party/icu4j/LICENSE \ + src/3rdparty/chromium/third_party/icu/LICENSE \ + src/3rdparty/chromium/third_party/icu/license.html \ + src/3rdparty/chromium/third_party/icu/scripts/LICENSE \ + src/3rdparty/chromium/third_party/ijar/LICENSE \ + src/3rdparty/chromium/third_party/inspector_protocol/LICENSE \ + src/3rdparty/chromium/third_party/intellij/LICENSE \ + src/3rdparty/chromium/third_party/isimpledom/LICENSE \ + src/3rdparty/chromium/third_party/javax_inject/LICENSE \ + src/3rdparty/chromium/third_party/jinja2/LICENSE \ + src/3rdparty/chromium/third_party/jmake/LICENSE \ + src/3rdparty/chromium/third_party/jsoncpp/LICENSE \ + src/3rdparty/chromium/third_party/jstemplate/COPYING \ + src/3rdparty/chromium/third_party/khronos/LICENSE \ + src/3rdparty/chromium/third_party/leakcanary/LICENSE \ + src/3rdparty/chromium/third_party/leveldatabase/src/LICENSE \ + src/3rdparty/chromium/third_party/libaddressinput/LICENSE \ + src/3rdparty/chromium/third_party/libaddressinput/src/cpp/LICENSE.chromium \ + src/3rdparty/chromium/third_party/libaddressinput/src/LICENSE \ + src/3rdparty/chromium/third_party/libFuzzer/LICENSE.TXT \ + src/3rdparty/chromium/third_party/libjpeg/LICENSE \ + src/3rdparty/chromium/third_party/libjpeg_turbo/LICENSE.md \ + src/3rdparty/chromium/third_party/libpng/LICENSE \ + src/3rdparty/chromium/third_party/libsecret/LICENSE \ + src/3rdparty/chromium/third_party/libsrtp/LICENSE \ + src/3rdparty/chromium/third_party/libsync/LICENSE \ + src/3rdparty/chromium/third_party/libudev/LICENSE \ + src/3rdparty/chromium/third_party/libusb/src/COPYING \ + src/3rdparty/chromium/third_party/libva/COPYING \ + src/3rdparty/chromium/third_party/libvpx/source/libvpx/LICENSE \ + src/3rdparty/chromium/third_party/libvpx/source/libvpx/third_party/googletest/src/LICENSE \ + src/3rdparty/chromium/third_party/libvpx/source/libvpx/third_party/libwebm/LICENSE.TXT \ + src/3rdparty/chromium/third_party/libvpx/source/libvpx/third_party/x86inc/LICENSE \ + src/3rdparty/chromium/third_party/libwebm/source/LICENSE.TXT \ + src/3rdparty/chromium/third_party/libwebp/LICENSE \ + src/3rdparty/chromium/third_party/libxml/src/COPYING \ + src/3rdparty/chromium/third_party/libXNVCtrl/LICENSE \ + src/3rdparty/chromium/third_party/libxslt/linux/COPYING \ + src/3rdparty/chromium/third_party/libyuv/LICENSE \ + src/3rdparty/chromium/third_party/libyuv/LICENSE_THIRD_PARTY \ + src/3rdparty/chromium/third_party/libyuv/third_party/gflags/LICENSE \ + src/3rdparty/chromium/third_party/lzma_sdk/LICENSE \ + src/3rdparty/chromium/third_party/mach_override/LICENSE \ + src/3rdparty/chromium/third_party/markupsafe/LICENSE \ + src/3rdparty/chromium/third_party/mesa/LICENSE \ + src/3rdparty/chromium/third_party/mesa/src/docs/COPYING \ + src/3rdparty/chromium/third_party/mesa/src/docs/license.html \ + src/3rdparty/chromium/third_party/mesa/src/src/gallium/drivers/radeon/LICENSE.TXT \ + src/3rdparty/chromium/third_party/minigbm/LICENSE \ + src/3rdparty/chromium/third_party/mocha/LICENSE \ + src/3rdparty/chromium/third_party/mockito/LICENSE \ + src/3rdparty/chromium/third_party/modp_b64/LICENSE \ + src/3rdparty/chromium/third_party/molokocacao/LICENSE \ + src/3rdparty/chromium/third_party/motemplate/LICENSE \ + src/3rdparty/chromium/third_party/mozilla/LICENSE \ + src/3rdparty/chromium/third_party/mt19937ar/LICENSE \ + src/3rdparty/chromium/third_party/netty4/LICENSE \ + src/3rdparty/chromium/third_party/netty-tcnative/LICENSE \ + src/3rdparty/chromium/third_party/objenesis/LICENSE \ + src/3rdparty/chromium/third_party/ocmock/License.txt \ + src/3rdparty/chromium/third_party/openh264/src/LICENSE \ + src/3rdparty/chromium/third_party/openmax_dl/LICENSE \ + src/3rdparty/chromium/third_party/opus/src/COPYING \ + src/3rdparty/chromium/third_party/ots/LICENSE \ + src/3rdparty/chromium/third_party/ow2_asm/LICENSE \ + src/3rdparty/chromium/third_party/pdfium/LICENSE \ + src/3rdparty/chromium/third_party/pdfium/third_party/bigint/LICENSE \ + src/3rdparty/chromium/third_party/pdfium/third_party/pymock/LICENSE.txt \ + src/3rdparty/chromium/third_party/pexpect/LICENSE \ + src/3rdparty/chromium/third_party/ply/LICENSE \ + src/3rdparty/chromium/third_party/polymer/v1_0/components-chromium/polymer/LICENSE.txt \ + src/3rdparty/chromium/third_party/proguard/LICENSE \ + src/3rdparty/chromium/third_party/protobuf/LICENSE \ + src/3rdparty/chromium/third_party/pycoverage/LICENSE \ + src/3rdparty/chromium/third_party/pyelftools/elftools/construct/LICENSE \ + src/3rdparty/chromium/third_party/pyelftools/LICENSE \ + src/3rdparty/chromium/third_party/pyftpdlib/src/LICENSE \ + src/3rdparty/chromium/third_party/pymock/LICENSE.txt \ + src/3rdparty/chromium/third_party/python_gflags/COPYING \ + src/3rdparty/chromium/third_party/Python-Markdown/LICENSE.md \ + src/3rdparty/chromium/third_party/py_trace_event/src/LICENSE \ + src/3rdparty/chromium/third_party/pywebsocket/src/LICENSE \ + src/3rdparty/chromium/third_party/qcms/src/COPYING \ + src/3rdparty/chromium/third_party/qunit/LICENSE \ + src/3rdparty/chromium/third_party/re2/LICENSE \ + src/3rdparty/chromium/third_party/re2/src/LICENSE \ + src/3rdparty/chromium/third_party/requests/LICENSE \ + src/3rdparty/chromium/third_party/robolectric/LICENSE \ + src/3rdparty/chromium/third_party/robolectric/licenses/extreme.indiana.edu.license.txt \ + src/3rdparty/chromium/third_party/robolectric/licenses/javolution.license.txt \ + src/3rdparty/chromium/third_party/robolectric/licenses/pivotal.labs.license.txt \ + src/3rdparty/chromium/third_party/sfntly/COPYING.txt \ + src/3rdparty/chromium/third_party/sfntly/src/cpp/COPYING.txt \ + src/3rdparty/chromium/third_party/sfntly/src/java/COPYING \ + src/3rdparty/chromium/third_party/shaderc/LICENSE \ + src/3rdparty/chromium/third_party/shaderc/src/LICENSE \ + src/3rdparty/chromium/third_party/shaderc/src/third_party/LICENSE.glslang \ + src/3rdparty/chromium/third_party/shaderc/src/third_party/LICENSE.spirv-tools \ + src/3rdparty/chromium/third_party/simplejson/LICENSE.txt \ + src/3rdparty/chromium/third_party/sinonjs/LICENSE \ + src/3rdparty/chromium/third_party/skia/LICENSE \ + src/3rdparty/chromium/third_party/skia/platform_tools/android/third_party/ashmem/LICENSE \ + src/3rdparty/chromium/third_party/skia/third_party/etc1/LICENSE \ + src/3rdparty/chromium/third_party/skia/third_party/gif/LICENSE \ + src/3rdparty/chromium/third_party/skia/third_party/libpng/LICENSE \ + src/3rdparty/chromium/third_party/smhasher/LICENSE \ + src/3rdparty/chromium/third_party/snappy/src/COPYING \ + src/3rdparty/chromium/third_party/SPIRV-Tools/LICENSE \ + src/3rdparty/chromium/third_party/SPIRV-Tools/src/LICENSE \ + src/3rdparty/chromium/third_party/sqlite4java/LICENSE \ + src/3rdparty/chromium/third_party/sqlite/LICENSE \ + src/3rdparty/chromium/third_party/sqlite/sqlite-src-3100200/autoconf/tea/license.terms \ + src/3rdparty/chromium/third_party/sqlite/src/autoconf/tea/license.terms \ + src/3rdparty/chromium/third_party/sudden_motion_sensor/LICENSE \ + src/3rdparty/chromium/third_party/swiftshader/LICENSE.txt \ + src/3rdparty/chromium/third_party/swiftshader/third_party/LLVM/autoconf/LICENSE.TXT \ + src/3rdparty/chromium/third_party/swiftshader/third_party/LLVM/include/llvm/Support/LICENSE.TXT \ + src/3rdparty/chromium/third_party/swiftshader/third_party/LLVM/LICENSE.TXT \ + src/3rdparty/chromium/third_party/swiftshader/third_party/LLVM/projects/sample/autoconf/LICENSE.TXT \ + src/3rdparty/chromium/third_party/swiftshader/third_party/llvm-subzero/LICENSE.TXT \ + src/3rdparty/chromium/third_party/swiftshader/third_party/LLVM/utils/unittest/googletest/LICENSE.TXT \ + src/3rdparty/chromium/third_party/swiftshader/third_party/PowerVR_SDK/License.txt \ + src/3rdparty/chromium/third_party/tcmalloc/LICENSE \ + src/3rdparty/chromium/third_party/tcmalloc/vendor/COPYING \ + src/3rdparty/chromium/third_party/tlslite/LICENSE \ + src/3rdparty/chromium/third_party/typ/LICENSE \ + src/3rdparty/chromium/third_party/ub-uiautomator/LICENSE \ + src/3rdparty/chromium/third_party/usb_ids/LICENSE \ + src/3rdparty/chromium/third_party/usrsctp/LICENSE \ + src/3rdparty/chromium/third_party/usrsctp/usrsctplib/LICENSE.md \ + src/3rdparty/chromium/third_party/v4l2capture/LICENSE \ + src/3rdparty/chromium/third_party/v4l-utils/COPYING.libv4l \ + src/3rdparty/chromium/third_party/visualmetrics/src/LICENSE \ + src/3rdparty/chromium/third_party/vulkan/LICENSE \ + src/3rdparty/chromium/third_party/wayland/LICENSE \ + src/3rdparty/chromium/third_party/wayland-protocols/LICENSE \ + src/3rdparty/chromium/third_party/wayland-protocols/src/COPYING \ + src/3rdparty/chromium/third_party/wayland/src/COPYING \ + src/3rdparty/chromium/third_party/wds/LICENSE \ + src/3rdparty/chromium/third_party/wds/src/COPYING \ + src/3rdparty/chromium/third_party/web-animations-js/LICENSE \ + src/3rdparty/chromium/third_party/web-animations-js/sources/COPYING \ + src/3rdparty/chromium/third_party/webdriver/COPYING \ + src/3rdparty/chromium/third_party/webdriver/LICENSE \ + src/3rdparty/chromium/third_party/WebKit/LICENSE_FOR_ABOUT_CREDITS \ + src/3rdparty/chromium/third_party/WebKit/Source/core/LICENSE-APPLE \ + src/3rdparty/chromium/third_party/WebKit/Source/core/LICENSE-LGPL-2 \ + src/3rdparty/chromium/third_party/WebKit/Source/core/LICENSE-LGPL-2.1 \ + src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/audits2_worker/lighthouse/LICENSE \ + src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/cm/LICENSE \ + src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/cm/LICENSE_python \ + src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/cm_modes/LICENSE \ + src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/formatter_worker/acorn/LICENSE \ + src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/gonzales/MIT-LICENSE.txt \ + src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/terminal/xterm.js/LICENSE \ + src/3rdparty/chromium/third_party/WebKit/Source/devtools/LICENSE \ + src/3rdparty/chromium/third_party/WebKit/Source/devtools/scripts/closure/COPYING \ + src/3rdparty/chromium/third_party/WebKit/Source/wtf/dtoa/COPYING \ + src/3rdparty/chromium/third_party/WebKit/Source/wtf/dtoa/LICENSE \ + src/3rdparty/chromium/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/mod_pywebsocket/COPYING \ + src/3rdparty/chromium/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/LICENSE \ + src/3rdparty/chromium/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/LICENSE \ + src/3rdparty/chromium/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/six/LICENSE \ + src/3rdparty/chromium/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/wptserve/LICENSE \ + src/3rdparty/chromium/third_party/webpagereplay/COPYING \ + src/3rdparty/chromium/third_party/webpagereplay/third_party/dns/LICENSE \ + src/3rdparty/chromium/third_party/webpagereplay/third_party/ipaddr/COPYING \ + src/3rdparty/chromium/third_party/webpagereplay/third_party/ipfw_win32/LICENSE \ + src/3rdparty/chromium/third_party/webpagereplay/third_party/jsmin/LICENSE.txt \ + src/3rdparty/chromium/third_party/webrtc/examples/androidapp/third_party/autobanh/LICENSE \ + src/3rdparty/chromium/third_party/webrtc/examples/androidapp/third_party/autobanh/LICENSE.md \ + src/3rdparty/chromium/third_party/webrtc/examples/objc/AppRTCMobile/third_party/SocketRocket/LICENSE \ + src/3rdparty/chromium/third_party/webrtc/LICENSE \ + src/3rdparty/chromium/third_party/webrtc/LICENSE_THIRD_PARTY \ + src/3rdparty/chromium/third_party/webtreemap/src/COPYING \ + src/3rdparty/chromium/third_party/woff2/LICENSE \ + src/3rdparty/chromium/third_party/x86inc/LICENSE \ + src/3rdparty/chromium/third_party/xdg-utils/LICENSE \ + src/3rdparty/chromium/third_party/yasm/source/patched-yasm/COPYING \ + src/3rdparty/chromium/third_party/yasm/source/patched-yasm/GNU_GPL-2.0 \ + src/3rdparty/chromium/third_party/yasm/source/patched-yasm/GNU_LGPL-2.0 \ + src/3rdparty/chromium/third_party/zlib/LICENSE \ + src/3rdparty/chromium/tools/gn/out/Release/obj/third_party/widevine/cdm/widevine_test_license_server.ninja \ + src/3rdparty/chromium/tools/gyp/LICENSE \ + src/3rdparty/chromium/tools/origin_trials/third_party/ed25519/LICENSE \ + src/3rdparty/chromium/tools/page_cycler/acid3/LICENSE \ + src/3rdparty/chromium/tools/symsrc/COPYING-pefile \ + src/3rdparty/chromium/tools/win/ChromeDebug/ChromeDebug/LICENSE \ + src/3rdparty/chromium/url/third_party/mozilla/LICENSE.txt \ + src/3rdparty/chromium/v8/LICENSE \ + src/3rdparty/chromium/v8/LICENSE.fdlibm \ + src/3rdparty/chromium/v8/LICENSE.strongtalk \ + src/3rdparty/chromium/v8/LICENSE.v8 \ + src/3rdparty/chromium/v8/LICENSE.valgrind \ + src/3rdparty/chromium/v8/src/third_party/valgrind/LICENSE \ + src/3rdparty/chromium/v8/src/third_party/vtune/LICENSE \ + src/3rdparty/chromium/v8/third_party/inspector_protocol/LICENSE \ + diff --git a/package/qt5/qt5webengine/qt5webengine.hash b/package/qt5/qt5webengine/qt5webengine.hash new file mode 100644 index 0000000000..918f7edb3a --- /dev/null +++ b/package/qt5/qt5webengine/qt5webengine.hash @@ -0,0 +1,2 @@ +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtwebengine-opensource-src-5.9.2.tar.xz.mirrorlist +sha256 cab069e4589f806640bebe4077c70e5cd5ffeb146c6e8caca6c4454fc0c4a108 qtwebengine-opensource-src-5.9.2.tar.xz diff --git a/package/qt5/qt5webengine/qt5webengine.mk b/package/qt5/qt5webengine/qt5webengine.mk new file mode 100644 index 0000000000..96dd401c6c --- /dev/null +++ b/package/qt5/qt5webengine/qt5webengine.mk @@ -0,0 +1,80 @@ +################################################################################ +# +# qt5webengine +# +################################################################################ + +QT5WEBENGINE_VERSION = $(QT5_VERSION) +QT5WEBENGINE_SITE = $(QT5_SITE) +QT5WEBENGINE_SOURCE = qtwebengine-opensource-src-$(QT5WEBENGINE_VERSION).tar.xz +QT5WEBENGINE_DEPENDENCIES = ffmpeg libglib2 libvpx opus webp qt5base \ + qt5declarative qt5webchannel host-bison host-flex host-gperf \ + host-pkgconf host-python +QT5WEBENGINE_INSTALL_STAGING = YES + +include package/qt5/qt5webengine/chromium.inc +QT5WEBENGINE_LICENSE = GPL-2.0 or LGPL-3.0 or GPL-3.0 or GPL-3.0 with exception +QT5WEBENGINE_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT \ + LICENSE.GPLv3 LICENSE.LGPL3 $(CHROMIUM_LICENSE_FILES) + +ifeq ($(BR2_PACKAGE_QT5BASE_XCB),y) +QT5WEBENGINE_DEPENDENCIES += xlib_libXScrnSaver xlib_libXcomposite \ + xlib_libXcursor xlib_libXi xlib_libXrandr xlib_libXtst +endif + +QT5WEBENGINE_QMAKEFLAGS += WEBENGINE_CONFIG+=use_system_ffmpeg + +ifeq ($(BR2_PACKAGE_QT5WEBENGINE_PROPRIETARY_CODECS),y) +QT5WEBENGINE_QMAKEFLAGS += WEBENGINE_CONFIG+=use_proprietary_codecs +endif + +# QtWebengine's build system uses python, but only supports python2. We work +# around this by forcing python2 early in the PATH, via a python->python2 +# symlink. +QT5WEBENGINE_ENV = PATH=$(@D)/host-bin:$(BR_PATH) +define QT5WEBENGINE_PYTHON2_SYMLINK + mkdir -p $(@D)/host-bin + ln -sf $(HOST_DIR)/bin/python2 $(@D)/host-bin/python +endef +QT5WEBENGINE_PRE_CONFIGURE_HOOKS += QT5WEBENGINE_PYTHON2_SYMLINK + +define QT5WEBENGINE_CONFIGURE_CMDS + (cd $(@D); $(TARGET_MAKE_ENV) $(QT5WEBENGINE_ENV) $(HOST_DIR)/usr/bin/qmake $(QT5WEBENGINE_QMAKEFLAGS)) +endef + +define QT5WEBENGINE_BUILD_CMDS + $(TARGET_MAKE_ENV) $(QT5WEBENGINE_ENV) $(MAKE) -C $(@D) +endef + +define QT5WEBENGINE_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(QT5WEBENGINE_ENV) $(MAKE) -C $(@D) install + $(QT5_LA_PRL_FILES_FIXUP) +endef + +define QT5WEBENGINE_INSTALL_TARGET_QMLS + cp -dpfr $(STAGING_DIR)/usr/qml/QtWebEngine $(TARGET_DIR)/usr/qml/ +endef + +ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y) +define QT5WEBENGINE_INSTALL_TARGET_EXAMPLES + cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/webengine* $(TARGET_DIR)/usr/lib/qt/examples/ +endef +endif + +ifneq ($(BR2_STATIC_LIBS),y) +define QT5WEBENGINE_INSTALL_TARGET_LIBS + cp -dpf $(STAGING_DIR)/usr/lib/libQt5WebEngine*.so.* $(TARGET_DIR)/usr/lib + cp -dpf $(STAGING_DIR)/usr/libexec/QtWebEngineProcess $(TARGET_DIR)/usr/libexec/ + cp -dpfr $(STAGING_DIR)/usr/resources/ $(TARGET_DIR)/usr/ + mkdir -p $(TARGET_DIR)/usr/translations/qtwebengine_locales/ + cp -dpfr $(STAGING_DIR)/usr/translations/qtwebengine_locales $(TARGET_DIR)/usr/translations/qtwebengine_locales/ +endef +endif + +define QT5WEBENGINE_INSTALL_TARGET_CMDS + $(QT5WEBENGINE_INSTALL_TARGET_LIBS) + $(QT5WEBENGINE_INSTALL_TARGET_QMLS) + $(QT5WEBENGINE_INSTALL_TARGET_EXAMPLES) +endef + +$(eval $(generic-package)) diff --git a/package/qt5/qt5webkit/0001-qtwebkit-fix-QA-issue-bad-RPATH.patch b/package/qt5/qt5webkit/5.6.3/0001-qtwebkit-fix-QA-issue-bad-RPATH.patch similarity index 100% rename from package/qt5/qt5webkit/0001-qtwebkit-fix-QA-issue-bad-RPATH.patch rename to package/qt5/qt5webkit/5.6.3/0001-qtwebkit-fix-QA-issue-bad-RPATH.patch diff --git a/package/qt5/qt5webkit/0002-Remove-TEXTREL-tag-in-x86.patch b/package/qt5/qt5webkit/5.6.3/0002-Remove-TEXTREL-tag-in-x86.patch similarity index 100% rename from package/qt5/qt5webkit/0002-Remove-TEXTREL-tag-in-x86.patch rename to package/qt5/qt5webkit/5.6.3/0002-Remove-TEXTREL-tag-in-x86.patch diff --git a/package/qt5/qt5webkit/0003-Exclude-backtrace-API-for-non-glibc-libraries.patch b/package/qt5/qt5webkit/5.6.3/0003-Exclude-backtrace-API-for-non-glibc-libraries.patch similarity index 100% rename from package/qt5/qt5webkit/0003-Exclude-backtrace-API-for-non-glibc-libraries.patch rename to package/qt5/qt5webkit/5.6.3/0003-Exclude-backtrace-API-for-non-glibc-libraries.patch diff --git a/package/qt5/qt5webkit/5.6.3/0004-Fix-compilation-with-ICU-59.patch b/package/qt5/qt5webkit/5.6.3/0004-Fix-compilation-with-ICU-59.patch new file mode 100644 index 0000000000..f3b590eadd --- /dev/null +++ b/package/qt5/qt5webkit/5.6.3/0004-Fix-compilation-with-ICU-59.patch @@ -0,0 +1,93 @@ +From bf172ae289a1348842005a9421797970f9b72060 Mon Sep 17 00:00:00 2001 +From: Konstantin Tokarev +Date: Thu, 4 May 2017 15:12:37 +0300 +Subject: [PATCH] Fix compilation with ICU 59 + +Upstream fix: https://bugs.webkit.org/show_bug.cgi?id=171612 + +Task-number: QTBUG-60532 +Change-Id: I6014feea213aa70ebe40b09d9d1a03fd1ed3c843 +Reviewed-by: Allan Sandfeld Jensen +Signed-off-by: Peter Korsgaard +--- + Source/JavaScriptCore/API/JSStringRef.cpp | 6 +++--- + Source/JavaScriptCore/runtime/DateConversion.cpp | 3 ++- + Source/WTF/wtf/TypeTraits.h | 3 +++ + Source/WebKit2/Shared/API/c/WKString.cpp | 2 +- + 4 files changed, 9 insertions(+), 5 deletions(-) + +diff --git a/Source/JavaScriptCore/API/JSStringRef.cpp b/Source/JavaScriptCore/API/JSStringRef.cpp +index 812f3d413..77a3fd0f4 100644 +--- a/Source/JavaScriptCore/API/JSStringRef.cpp ++++ b/Source/JavaScriptCore/API/JSStringRef.cpp +@@ -37,7 +37,7 @@ using namespace WTF::Unicode; + JSStringRef JSStringCreateWithCharacters(const JSChar* chars, size_t numChars) + { + initializeThreading(); +- return OpaqueJSString::create(chars, numChars).leakRef(); ++ return OpaqueJSString::create(reinterpret_cast(chars), numChars).leakRef(); + } + + JSStringRef JSStringCreateWithUTF8CString(const char* string) +@@ -62,7 +62,7 @@ JSStringRef JSStringCreateWithUTF8CString(const char* string) + JSStringRef JSStringCreateWithCharactersNoCopy(const JSChar* chars, size_t numChars) + { + initializeThreading(); +- return OpaqueJSString::create(StringImpl::createWithoutCopying(chars, numChars, WTF::DoesNotHaveTerminatingNullCharacter)).leakRef(); ++ return OpaqueJSString::create(StringImpl::createWithoutCopying(reinterpret_cast(chars), numChars, WTF::DoesNotHaveTerminatingNullCharacter)).leakRef(); + } + + JSStringRef JSStringRetain(JSStringRef string) +@@ -83,7 +83,7 @@ size_t JSStringGetLength(JSStringRef string) + + const JSChar* JSStringGetCharactersPtr(JSStringRef string) + { +- return string->characters(); ++ return reinterpret_cast(string->characters()); + } + + size_t JSStringGetMaximumUTF8CStringSize(JSStringRef string) +diff --git a/Source/JavaScriptCore/runtime/DateConversion.cpp b/Source/JavaScriptCore/runtime/DateConversion.cpp +index 0b57f012d..05e27338b 100644 +--- a/Source/JavaScriptCore/runtime/DateConversion.cpp ++++ b/Source/JavaScriptCore/runtime/DateConversion.cpp +@@ -107,7 +107,8 @@ String formatDateTime(const GregorianDateTime& t, DateTimeFormat format, bool as + #if OS(WINDOWS) + TIME_ZONE_INFORMATION timeZoneInformation; + GetTimeZoneInformation(&timeZoneInformation); +- const WCHAR* timeZoneName = t.isDST() ? timeZoneInformation.DaylightName : timeZoneInformation.StandardName; ++ const WCHAR* winTimeZoneName = t.isDST() ? timeZoneInformation.DaylightName : timeZoneInformation.StandardName; ++ String timeZoneName(reinterpret_cast(winTimeZoneName)); + #else + struct tm gtm = t; + char timeZoneName[70]; +diff --git a/Source/WTF/wtf/TypeTraits.h b/Source/WTF/wtf/TypeTraits.h +index 9df2c95cf..f5d6121fd 100644 +--- a/Source/WTF/wtf/TypeTraits.h ++++ b/Source/WTF/wtf/TypeTraits.h +@@ -72,6 +72,9 @@ namespace WTF { + template<> struct IsInteger { static const bool value = true; }; + template<> struct IsInteger { static const bool value = true; }; + template<> struct IsInteger { static const bool value = true; }; ++#if __cplusplus >= 201103L || defined(__GXX_EXPERIMENTAL_CXX0X__) || (defined(_HAS_CHAR16_T_LANGUAGE_SUPPORT) && _HAS_CHAR16_T_LANGUAGE_SUPPORT) ++ template<> struct IsInteger { static const bool value = true; }; ++#endif + #if !COMPILER(MSVC) || defined(_NATIVE_WCHAR_T_DEFINED) + template<> struct IsInteger { static const bool value = true; }; + #endif +diff --git a/Source/WebKit2/Shared/API/c/WKString.cpp b/Source/WebKit2/Shared/API/c/WKString.cpp +index cbac67dd8..23400a64e 100644 +--- a/Source/WebKit2/Shared/API/c/WKString.cpp ++++ b/Source/WebKit2/Shared/API/c/WKString.cpp +@@ -55,7 +55,7 @@ size_t WKStringGetLength(WKStringRef stringRef) + size_t WKStringGetCharacters(WKStringRef stringRef, WKChar* buffer, size_t bufferLength) + { + COMPILE_ASSERT(sizeof(WKChar) == sizeof(UChar), WKStringGetCharacters_sizeof_WKChar_matches_UChar); +- return (toImpl(stringRef)->getCharacters(static_cast(buffer), bufferLength)); ++ return (toImpl(stringRef)->getCharacters(reinterpret_cast(buffer), bufferLength)); + } + + size_t WKStringGetMaximumUTF8CStringSize(WKStringRef stringRef) +-- +2.11.0 + diff --git a/package/qt5/qt5webkit/5.9.1/0001-qtwebkit-fix-QA-issue-bad-RPATH.patch b/package/qt5/qt5webkit/5.9.1/0001-qtwebkit-fix-QA-issue-bad-RPATH.patch new file mode 100644 index 0000000000..669c7e6aa2 --- /dev/null +++ b/package/qt5/qt5webkit/5.9.1/0001-qtwebkit-fix-QA-issue-bad-RPATH.patch @@ -0,0 +1,36 @@ +From 1735a8484ef9ae336f8d607b56bda64c8af10c79 Mon Sep 17 00:00:00 2001 +From: Trevor Woerner +Date: Fri, 7 Feb 2014 04:07:17 +0100 +Subject: [PATCH] qtwebkit: fix QA issue (bad RPATH) + +Building qtwebkit causes a QA issue such that QtWebPluginProcess and +QtWebProcess contain bad RPATHs which point into the build location. This fix +adds a patch to not include the rpath.prf which causes this problem. + +Signed-off-by: Trevor Woerner +Signed-off-by: Martin Jansa + +Downloaded from: +https://github.com/meta-qt5/meta-qt5/blob/krogoth/recipes-qt/qt5/qtwebkit/ +0001-qtwebkit-fix-QA-issue-bad-RPATH.patch + +Signed-off-by: Gary Bisson +--- + Tools/qmake/mkspecs/features/unix/default_post.prf | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/Tools/qmake/mkspecs/features/unix/default_post.prf b/Tools/qmake/mkspecs/features/unix/default_post.prf +index fd66af6..ef754c3 100644 +--- a/Tools/qmake/mkspecs/features/unix/default_post.prf ++++ b/Tools/qmake/mkspecs/features/unix/default_post.prf +@@ -61,7 +61,6 @@ linux-*g++* { + } + } + +-contains(TEMPLATE, app): CONFIG += rpath + + CONFIG(debug, debug|release)|force_debug_info { + # Make ld not cache the symbol tables of input files in memory to avoid memory exhaustion during the linking phase. +-- +2.7.0 + diff --git a/package/qt5/qt5webkit/5.9.1/0002-Exclude-backtrace-API-for-non-glibc-libraries.patch b/package/qt5/qt5webkit/5.9.1/0002-Exclude-backtrace-API-for-non-glibc-libraries.patch new file mode 100644 index 0000000000..a2597a54bb --- /dev/null +++ b/package/qt5/qt5webkit/5.9.1/0002-Exclude-backtrace-API-for-non-glibc-libraries.patch @@ -0,0 +1,44 @@ +From 6c36f0ff8c1f5852c33d2b23714f9f187cc6ff26 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 5 Jun 2015 19:55:05 -0700 +Subject: [PATCH] Exclude backtrace() API for non-glibc libraries + +It was excluding musl with current checks, so lets make it such that it +considers only glibc when using backtrace API + +Signed-off-by: Khem Raj + +Downloaded from: +https://github.com/meta-qt5/meta-qt5/blob/krogoth/recipes-qt/qt5/qtwebkit/ +0003-Exclude-backtrace-API-for-non-glibc-libraries.patch + +Signed-off-by: Gary Bisson +--- + Source/WTF/wtf/Assertions.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Source/WTF/wtf/Assertions.cpp b/Source/WTF/wtf/Assertions.cpp +index 1b2091f..ba03a28 100644 +--- a/Source/WTF/wtf/Assertions.cpp ++++ b/Source/WTF/wtf/Assertions.cpp +@@ -61,7 +61,7 @@ + #include + #endif + +-#if (OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__))) && !OS(ANDROID) ++#if (OS(DARWIN) || (OS(LINUX) && defined (__GLIBC__) && !defined(__UCLIBC__))) && !OS(ANDROID) + #include + #include + #include +@@ -245,7 +245,7 @@ void WTFReportArgumentAssertionFailure(const char* file, int line, const char* f + + void WTFGetBacktrace(void** stack, int* size) + { +-#if (OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__))) && !OS(ANDROID) ++#if (OS(DARWIN) || (OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__))) && !OS(ANDROID) + *size = backtrace(stack, *size); + #elif OS(WINDOWS) && !OS(WINCE) + // The CaptureStackBackTrace function is available in XP, but it is not defined +-- +2.7.0 + diff --git a/package/qt5/qt5webkit/Config.in b/package/qt5/qt5webkit/Config.in index 2534360459..109f60125e 100644 --- a/package/qt5/qt5webkit/Config.in +++ b/package/qt5/qt5webkit/Config.in @@ -1,16 +1,18 @@ config BR2_PACKAGE_QT5WEBKIT bool "qt5webkit" + depends on !BR2_STATIC_LIBS + depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE + depends on BR2_HOST_GCC_AT_LEAST_4_8 # icu + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # icu + depends on !BR2_BINFMT_FLAT # icu + # assumes a FPU is available on MIPS + depends on !BR2_MIPS_SOFT_FLOAT select BR2_PACKAGE_QT5BASE select BR2_PACKAGE_QT5BASE_ICU select BR2_PACKAGE_QT5BASE_GUI select BR2_PACKAGE_SQLITE select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_QT5BASE_XCB select BR2_PACKAGE_XLIB_LIBXRENDER if BR2_PACKAGE_QT5BASE_XCB - depends on !BR2_STATIC_LIBS - depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE - depends on !BR2_BINFMT_FLAT # icu - # assumes a FPU is available on MIPS - depends on !BR2_MIPS_SOFT_FLOAT help Qt is a cross-platform application and UI framework for developers using C++. @@ -26,8 +28,9 @@ config BR2_PACKAGE_QT5WEBKIT http://doc.qt.io/archives/qt-5.5/qtwebkit-index.html -comment "qt5webkit needs a toolchain w/ dynamic library" - depends on BR2_STATIC_LIBS +comment "qt5webkit needs a toolchain w/ dynamic library, gcc >= 4.8, host gcc >= 4.8" + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \ + !BR2_HOST_GCC_AT_LEAST_4_8 depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE depends on !BR2_BINFMT_FLAT depends on !BR2_MIPS_SOFT_FLOAT diff --git a/package/qt5/qt5webkit/qt5webkit.hash b/package/qt5/qt5webkit/qt5webkit.hash index 4431e2d163..aa3a71c8d0 100644 --- a/package/qt5/qt5webkit/qt5webkit.hash +++ b/package/qt5/qt5webkit/qt5webkit.hash @@ -1,5 +1,10 @@ -# Hash from: http://download.qt.io/snapshots/qt/5.6/5.6.2/latest_src/submodules/qtwebkit-opensource-src-5.6.2.tar.xz.mirrorlist -sha256 528a6b8b1c5095367b26e8ce4f3a46bb739e2e9913ff4dfc6ef58a04fcd73966 qtwebkit-opensource-src-5.6.2.tar.xz +# Hash from: http://download.qt.io/community_releases/5.6/5.6.3/qtwebkit-opensource-src-5.6.3.tar.xz.mirrorlist +sha256 098c6bb25798fbf1b619b540621287787064efc9b586d76ac0ce7e39b87a3896 qtwebkit-opensource-src-5.6.3.tar.xz -# Hash from: http://download.qt.io/official_releases/qt/5.8/5.8.0/submodules/qtwebkit-opensource-src-5.8.0.tar.xz -sha256 79ae8660086bf92ffb0008b17566270e6477c8fa0daf9bb3ac29404fb5911bec qtwebkit-opensource-src-5.8.0.tar.xz +# hash from: http://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtwebkit-opensource-src-5.9.1.tar.xz.mirrorlist +sha256 28a560becd800a4229bfac317c2e5407cd3cc95308bc4c3ca90dba2577b052cf qtwebkit-opensource-src-5.9.1.tar.xz + +# Hashes for license files: +sha256 7555fa34bc131a75ca56d65c40cc1ea8f9515d23e353d4c15d58573a042f7805 Source/WebCore/LICENSE-LGPL-2 +sha256 f2b3bd09663381deb99721109d22b47af1213bb43007a8b56a06c6375c8050ce Source/WebCore/LICENSE-LGPL-2.1 +sha256 a3db6c7f3027aa27489c25a2fa259185cdee945780c32e01c60cbfabf4743b6c LICENSE.LGPLv21 diff --git a/package/qt5/qt5webkit/qt5webkit.mk b/package/qt5/qt5webkit/qt5webkit.mk index 980d2aff01..7925b114e6 100644 --- a/package/qt5/qt5webkit/qt5webkit.mk +++ b/package/qt5/qt5webkit/qt5webkit.mk @@ -4,8 +4,15 @@ # ################################################################################ +# no 5.9.2 package available, fall back to 5.9.1 version +ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) +QT5WEBKIT_VERSION = 5.9.1 +QT5WEBKIT_SITE = http://download.qt.io/official_releases/qt/5.9/5.9.1/submodules +else QT5WEBKIT_VERSION = $(QT5_VERSION) -QT5WEBKIT_SITE = $(QT5_SNAPSHOTS_SITE) +QT5WEBKIT_SITE = http://download.qt.io/community_releases/5.6/$(QT5_VERSION) +endif + QT5WEBKIT_SOURCE = qtwebkit-opensource-src-$(QT5WEBKIT_VERSION).tar.xz QT5WEBKIT_DEPENDENCIES = \ host-bison host-flex host-gperf host-python host-ruby \ @@ -14,15 +21,10 @@ QT5WEBKIT_INSTALL_STAGING = YES QT5WEBKIT_LICENSE_FILES = Source/WebCore/LICENSE-LGPL-2 Source/WebCore/LICENSE-LGPL-2.1 -ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y) -QT5WEBKIT_LICENSE = LGPLv2.1+, BSD-3c, BSD-2c +QT5WEBKIT_LICENSE = LGPL-2.1+, BSD-3-Clause, BSD-2-Clause # Source files contain references to LGPL_EXCEPTION.txt but it is not included # in the archive. QT5WEBKIT_LICENSE_FILES += LICENSE.LGPLv21 -else -QT5WEBKIT_LICENSE = LGPLv2.1+ (WebCore), Commercial license -QT5WEBKIT_REDISTRIBUTE = NO -endif ifeq ($(BR2_PACKAGE_QT5BASE_XCB),y) QT5WEBKIT_DEPENDENCIES += xlib_libXext xlib_libXrender @@ -38,12 +40,12 @@ endif QT5WEBKIT_ENV = PATH=$(@D)/host-bin:$(BR_PATH) define QT5WEBKIT_PYTHON2_SYMLINK mkdir -p $(@D)/host-bin - ln -sf $(HOST_DIR)/usr/bin/python2 $(@D)/host-bin/python + ln -sf $(HOST_DIR)/bin/python2 $(@D)/host-bin/python endef QT5WEBKIT_PRE_CONFIGURE_HOOKS += QT5WEBKIT_PYTHON2_SYMLINK define QT5WEBKIT_CONFIGURE_CMDS - (cd $(@D); $(TARGET_MAKE_ENV) $(QT5WEBKIT_ENV) $(HOST_DIR)/usr/bin/qmake) + (cd $(@D); $(TARGET_MAKE_ENV) $(QT5WEBKIT_ENV) $(HOST_DIR)/bin/qmake) endef define QT5WEBKIT_BUILD_CMDS diff --git a/package/qt5/qt5websockets/qt5websockets.hash b/package/qt5/qt5websockets/qt5websockets.hash index a91e0842c7..c144fba52f 100644 --- a/package/qt5/qt5websockets/qt5websockets.hash +++ b/package/qt5/qt5websockets/qt5websockets.hash @@ -1,5 +1,15 @@ -# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtwebsockets-opensource-src-5.6.2.tar.xz.mirrorlist -sha256 3cd9d4bbff8e6be5e252f00fc9ecb9ac2d8a193020288c7d1e82583daeb5ba35 qtwebsockets-opensource-src-5.6.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtwebsockets-opensource-src-5.6.3.tar.xz.mirrorlist +sha256 a2439045616c89dfe06333734ff4726075c92e01db6e6b6863bc138e39c028eb qtwebsockets-opensource-src-5.6.3.tar.xz -# Hash from: http://download.qt.io/official_releases/qt/5.8/5.8.0/submodules/qtwebsockets-opensource-src-5.8.0.tar.xz -sha256 aa110af297d0d3239f346c3ee0cd43621adf463eb62a04941bbfe3fcccb845f5 qtwebsockets-opensource-src-5.8.0.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtwebsockets-opensource-src-5.9.2.tar.xz.mirrorlist +sha256 afddc1bd915ea47ccbec968a7af02e2a5405c717830e4671924fe35b55e81674 qtwebsockets-opensource-src-5.9.2.tar.xz + +# Hashes for license files: +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 +sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE.LGPL3 +sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 +sha256 1996a36160b2158c2be264d2ddfa6148ebe0f1ececff55aca8d754a1ddcc7bb8 LICENSE.LGPLv21 +sha256 79949ee74297883df6e4e7c4bfe1e75a6e7695376b4a87ffc013e27bda509cb2 LGPL_EXCEPTION.txt +sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 diff --git a/package/qt5/qt5websockets/qt5websockets.mk b/package/qt5/qt5websockets/qt5websockets.mk index 975ea64388..4cb2aed1db 100644 --- a/package/qt5/qt5websockets/qt5websockets.mk +++ b/package/qt5/qt5websockets/qt5websockets.mk @@ -10,20 +10,15 @@ QT5WEBSOCKETS_SOURCE = qtwebsockets-opensource-src-$(QT5WEBSOCKETS_VERSION).tar. QT5WEBSOCKETS_DEPENDENCIES = qt5base QT5WEBSOCKETS_INSTALL_STAGING = YES -ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y) ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) -QT5WEBSOCKETS_LICENSE = GPLv2+ or LGPLv3, GPLv3 with exception(tools) -QT5WEBSOCKETS_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPLv3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 +QT5WEBSOCKETS_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools) +QT5WEBSOCKETS_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPL3 else -QT5WEBSOCKETS_LICENSE = GPLv3 or LGPLv2.1 with exception or LGPLv3 +QT5WEBSOCKETS_LICENSE = GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0 QT5WEBSOCKETS_LICENSE_FILES = LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 endif ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y) -QT5WEBSOCKETS_LICENSE := $(QT5WEBSOCKETS_LICENSE), BSD-3c (examples) -endif -else -QT5WEBSOCKETS_LICENSE = Commercial license -QT5WEBSOCKETS_REDISTRIBUTE = NO +QT5WEBSOCKETS_LICENSE := $(QT5WEBSOCKETS_LICENSE), BSD-3-Clause (examples) endif ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y) @@ -31,7 +26,7 @@ QT5WEBSOCKETS_DEPENDENCIES += qt5declarative endif define QT5WEBSOCKETS_CONFIGURE_CMDS - (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake) + (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake) endef define QT5WEBSOCKETS_BUILD_CMDS diff --git a/package/qt5/qt5x11extras/Config.in b/package/qt5/qt5x11extras/Config.in index 9c514cdd03..ff4cc11531 100644 --- a/package/qt5/qt5x11extras/Config.in +++ b/package/qt5/qt5x11extras/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_QT5X11EXTRAS bool "qt5x11extras" - select BR2_PACKAGE_QT5BASE_WIDGETS depends on BR2_PACKAGE_QT5BASE_XCB + select BR2_PACKAGE_QT5BASE_WIDGETS help Qt is a cross-platform application and UI framework for developers using C++. diff --git a/package/qt5/qt5x11extras/qt5x11extras.hash b/package/qt5/qt5x11extras/qt5x11extras.hash index eb0dc6c254..be88dd21b5 100644 --- a/package/qt5/qt5x11extras/qt5x11extras.hash +++ b/package/qt5/qt5x11extras/qt5x11extras.hash @@ -1,5 +1,12 @@ -# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtx11extras-opensource-src-5.6.2.tar.xz.mirrorlist -sha256 71ffde1cfaeec310677b69ecd16cb5992e8885cf3e73b4cec7d6e7a115b40ced qtx11extras-opensource-src-5.6.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtx11extras-opensource-src-5.6.3.tar.xz.mirrorlist +sha256 1e7a8e96e0629f2b2b78de684b156b357210cf5df6b42f30789423f2cb07677f qtx11extras-opensource-src-5.6.3.tar.xz -# Hash from: http://download.qt.io/official_releases/qt/5.8/5.8.0/submodules/qtx11extras-opensource-src-5.8.0.tar.xz -sha256 bed7f2b5123a9849ec94afa67db5f296e6f527c6330f47a680c83586d3a4280e qtx11extras-opensource-src-5.8.0.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtx11extras-opensource-src-5.9.2.tar.xz.mirrorlist +sha256 db85450ad4851816a4fade1ffc10d078d28f2cca174cffa6cbd6d1220b395ac5 qtx11extras-opensource-src-5.9.2.tar.xz + +# Hashes for license files: +sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 +sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 +sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT +sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 +sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL diff --git a/package/qt5/qt5x11extras/qt5x11extras.mk b/package/qt5/qt5x11extras/qt5x11extras.mk index 996056b719..0905d5f738 100644 --- a/package/qt5/qt5x11extras/qt5x11extras.mk +++ b/package/qt5/qt5x11extras/qt5x11extras.mk @@ -10,21 +10,16 @@ QT5X11EXTRAS_SOURCE = qtx11extras-opensource-src-$(QT5X11EXTRAS_VERSION).tar.xz QT5X11EXTRAS_DEPENDENCIES = qt5base QT5X11EXTRAS_INSTALL_STAGING = YES -ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y) ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) -QT5X11EXTRAS_LICENSE = GPLv2+ or LGPLv3, GPLv3 with exception(tools), GFDLv1.3 (docs) +QT5X11EXTRAS_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) QT5X11EXTRAS_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL else -QT5X11EXTRAS_LICENSE = GPLv2 or GPLv3 or LGPLv2.1 with exception or LGPLv3, GFDLv1.3 (docs) +QT5X11EXTRAS_LICENSE = GPL-2.0 or GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs) QT5X11EXTRAS_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL endif -else -QT5X11EXTRAS_LICENSE = Commercial license -QT5X11EXTRAS_REDISTRIBUTE = NO -endif define QT5X11EXTRAS_CONFIGURE_CMDS - (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake) + (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake) endef define QT5X11EXTRAS_BUILD_CMDS diff --git a/package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash b/package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash index c1bb6637db..404496582a 100644 --- a/package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash +++ b/package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash @@ -1,5 +1,14 @@ -# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtxmlpatterns-opensource-src-5.6.2.tar.xz.mirrorlist -sha256 7c6df3eebf188d8ce6822a22cebbc63da5ac27047cf1bd7236d5b988244782cc qtxmlpatterns-opensource-src-5.6.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtxmlpatterns-opensource-src-5.6.3.tar.xz.mirrorlist +sha256 a461ff9f0d7310de9b9904ff9cd34919e958bf4071a6fc7096450b8990ab51f6 qtxmlpatterns-opensource-src-5.6.3.tar.xz -# Hash from: http://download.qt.io/official_releases/qt/5.8/5.8.0/submodules/qtxmlpatterns-opensource-src-5.8.0.tar.xz -sha256 7bffa65ea52e54fb1314b45222888612d55eaf51a936a6119b8756266439da04 qtxmlpatterns-opensource-src-5.8.0.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtxmlpatterns-opensource-src-5.9.2.tar.xz.mirrorlist +sha256 0aa6aa83087d5754cfefaa3d119454009fc2dd5f266c1eb2ea7a434cef22d34e qtxmlpatterns-opensource-src-5.9.2.tar.xz + +# Hashes for license files: +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 +sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 +sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT +sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 +sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL +sha256 1996a36160b2158c2be264d2ddfa6148ebe0f1ececff55aca8d754a1ddcc7bb8 LICENSE.LGPLv21 +sha256 438c1f9a2b256e47dac33249f2ad6d4a9df643f1ec5312216d528a2f7ad82084 LGPL_EXCEPTION.txt diff --git a/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk b/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk index e5981af532..65fd9bd345 100644 --- a/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk +++ b/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk @@ -10,24 +10,19 @@ QT5XMLPATTERNS_SOURCE = qtxmlpatterns-opensource-src-$(QT5XMLPATTERNS_VERSION).t QT5XMLPATTERNS_DEPENDENCIES = qt5base QT5XMLPATTERNS_INSTALL_STAGING = YES -ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y) ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) -QT5XMLPATTERNS_LICENSE = GPLv2+ or LGPLv3, GPLv3 with exception(tools), GFDLv1.3 (docs) +QT5XMLPATTERNS_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) QT5XMLPATTERNS_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPLv3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL else -QT5XMLPATTERNS_LICENSE = GPLv3 or LGPLv2.1 with exception or LGPLv3, GFDLv1.3 (docs) +QT5XMLPATTERNS_LICENSE = GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs) QT5XMLPATTERNS_LICENSE_FILES = LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL endif ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y) -QT5XMLPATTERNS_LICENSE := $(QT5XMLPATTERNS_LICENSE), BSD-3c (examples) -endif -else -QT5XMLPATTERNS_LICENSE = Commercial license -QT5XMLPATTERNS_REDISTRIBUTE = NO +QT5XMLPATTERNS_LICENSE := $(QT5XMLPATTERNS_LICENSE), BSD-3-Clause (examples) endif define QT5XMLPATTERNS_CONFIGURE_CMDS - (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake) + (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake) endef define QT5XMLPATTERNS_BUILD_CMDS diff --git a/package/qt5cinex/Config.in b/package/qt5cinex/Config.in index b273231be5..5adf6c361a 100644 --- a/package/qt5cinex/Config.in +++ b/package/qt5cinex/Config.in @@ -6,16 +6,16 @@ comment "qt5cinex needs an Open(E)GL-capable backend" config BR2_PACKAGE_QT5CINEX bool "qt5cinex" depends on BR2_PACKAGE_QT5 - select BR2_PACKAGE_QT5BASE_NETWORK - select BR2_PACKAGE_QT5BASE_PNG - select BR2_PACKAGE_QT5BASE_WIDGETS - select BR2_PACKAGE_QT5BASE_EGLFS - select BR2_PACKAGE_QT5GRAPHICALEFFECTS depends on BR2_PACKAGE_HAS_LIBEGL # qt5base-eglfs depends on BR2_PACKAGE_QT5_GL_AVAILABLE # No comment needed for this option, it's an architecture # dependency. depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE + select BR2_PACKAGE_QT5BASE_NETWORK + select BR2_PACKAGE_QT5BASE_PNG + select BR2_PACKAGE_QT5BASE_WIDGETS + select BR2_PACKAGE_QT5BASE_EGLFS + select BR2_PACKAGE_QT5GRAPHICALEFFECTS help This application demonstrates the power of Qt5 and few of the new additions available in QtQuick 2.0. diff --git a/package/qt5cinex/qt5cinex.mk b/package/qt5cinex/qt5cinex.mk index bfe14ce74e..d9254f53c5 100644 --- a/package/qt5cinex/qt5cinex.mk +++ b/package/qt5cinex/qt5cinex.mk @@ -18,7 +18,7 @@ QT5CINEX_LICENSE = CC-BY-3.0 QT5CINEX_LICENSE_FILES = README define QT5CINEX_CONFIGURE_CMDS - cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake + cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake endef define QT5CINEX_BUILD_CMDS diff --git a/package/qtuio/qtuio.mk b/package/qtuio/qtuio.mk index 6238b50f8b..6b90a2c06f 100644 --- a/package/qtuio/qtuio.mk +++ b/package/qtuio/qtuio.mk @@ -9,7 +9,7 @@ QTUIO_SITE = $(call github,x29a,qTUIO,$(QTUIO_VERSION)) QTUIO_INSTALL_STAGING = YES QTUIO_DEPENDENCIES = qt -QTUIO_LICENSE = GPLv3+ +QTUIO_LICENSE = GPL-3.0+ QTUIO_LICENSE_FILES = COPYING # The pong example needs QtOpenGL support, which might become available diff --git a/package/quagga/0004-bgpd-Fix-AS_PATH-size-calculation-for-long-paths.patch b/package/quagga/0004-bgpd-Fix-AS_PATH-size-calculation-for-long-paths.patch new file mode 100644 index 0000000000..1425cf0426 --- /dev/null +++ b/package/quagga/0004-bgpd-Fix-AS_PATH-size-calculation-for-long-paths.patch @@ -0,0 +1,33 @@ +From 7a42b78be9a4108d98833069a88e6fddb9285008 Mon Sep 17 00:00:00 2001 +From: Andreas Jaggi +Date: Mon, 2 Oct 2017 19:38:43 +0530 +Subject: [PATCH] bgpd: Fix AS_PATH size calculation for long paths + +If you have an AS_PATH with more entries than +what can be written into a single AS_SEGMENT_MAX +it needs to be broken up. The code that noticed +that the AS_PATH needs to be broken up was not +correctly calculating the size of the resulting +message. This patch addresses this issue. + +Signed-off-by: Peter Korsgaard +--- + bgpd/bgp_aspath.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/bgpd/bgp_aspath.c b/bgpd/bgp_aspath.c +index b7af5e88..d813bfba 100644 +--- a/bgpd/bgp_aspath.c ++++ b/bgpd/bgp_aspath.c +@@ -903,7 +903,7 @@ aspath_put (struct stream *s, struct aspath *as, int use32bit ) + assegment_header_put (s, seg->type, AS_SEGMENT_MAX); + assegment_data_put (s, seg->as, AS_SEGMENT_MAX, use32bit); + written += AS_SEGMENT_MAX; +- bytes += ASSEGMENT_SIZE (written, use32bit); ++ bytes += ASSEGMENT_SIZE (AS_SEGMENT_MAX, use32bit); + } + + /* write the final segment, probably is also the first */ +-- +2.11.0 + diff --git a/package/quagga/quagga.mk b/package/quagga/quagga.mk index c17ceaade3..b2b4e2a1f7 100644 --- a/package/quagga/quagga.mk +++ b/package/quagga/quagga.mk @@ -7,7 +7,7 @@ QUAGGA_VERSION = 1.1.1 QUAGGA_SITE = http://download.savannah.gnu.org/releases/quagga QUAGGA_DEPENDENCIES = host-gawk host-pkgconf -QUAGGA_LICENSE = GPLv2+ +QUAGGA_LICENSE = GPL-2.0+ QUAGGA_LICENSE_FILES = COPYING # We need to override the sysconf and localstate directories so that diff --git a/package/quazip/quazip.hash b/package/quazip/quazip.hash index 2f73c459c6..87bf7c2c50 100644 --- a/package/quazip/quazip.hash +++ b/package/quazip/quazip.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 91d827fbcafd099ae814cc18a8dd3bb709da6b8a27c918ee1c6c03b3f29440f4 quazip-0.7.2.tar.gz +sha256 2ad4f354746e8260d46036cde1496c223ec79765041ea28eb920ced015e269b5 quazip-0.7.3.tar.gz diff --git a/package/quazip/quazip.mk b/package/quazip/quazip.mk index 91b2f56328..09037a54ce 100644 --- a/package/quazip/quazip.mk +++ b/package/quazip/quazip.mk @@ -4,14 +4,14 @@ # ################################################################################ -QUAZIP_VERSION = 0.7.2 +QUAZIP_VERSION = 0.7.3 QUAZIP_SITE = http://sourceforge.net/projects/quazip/files/quazip/$(QUAZIP_VERSION) QUAZIP_INSTALL_STAGING = YES QUAZIP_DEPENDENCIES = \ zlib \ $(if $(BR2_PACKAGE_QT),qt) \ $(if $(BR2_PACKAGE_QT5),qt5base) -QUAZIP_LICENSE = LGPLv2.1 +QUAZIP_LICENSE = LGPL-2.1 QUAZIP_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_QT5),y) diff --git a/package/quota/Config.in b/package/quota/Config.in index c8ab0d7ed3..051a765570 100644 --- a/package/quota/Config.in +++ b/package/quota/Config.in @@ -3,7 +3,6 @@ config BR2_PACKAGE_QUOTA depends on BR2_USE_WCHAR depends on BR2_USE_MMU # fork() depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC || BR2_TOOLCHAIN_HAS_THREADS # libtirpc - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE select BR2_PACKAGE_LIBTIRPC if !BR2_TOOLCHAIN_HAS_NATIVE_RPC help Implementation of the disk quota system. diff --git a/package/quota/quota.mk b/package/quota/quota.mk index a1e343a388..5bd9013d6a 100644 --- a/package/quota/quota.mk +++ b/package/quota/quota.mk @@ -6,18 +6,14 @@ QUOTA_VERSION = 4.01 QUOTA_SITE = http://downloads.sourceforge.net/project/linuxquota/quota-tools/$(QUOTA_VERSION) -QUOTA_DEPENDENCIES = host-gettext +QUOTA_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) QUOTA_AUTORECONF = YES -QUOTA_LICENSE = GPLv2+ +QUOTA_LICENSE = GPL-2.0+ QUOTA_CONF_OPTS = --disable-strip-binaries +QUOTA_LIBS = $(TARGET_NLS_LIBS) QUOTA_CFLAGS = $(TARGET_CFLAGS) -ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y) -QUOTA_DEPENDENCIES += gettext -QUOTA_LIBS += -lintl -endif - ifeq ($(BR2_PACKAGE_E2FSPROGS),y) QUOTA_DEPENDENCIES += e2fsprogs QUOTA_CONF_OPTS += --enable-ext2direct diff --git a/package/qwt/Config.in b/package/qwt/Config.in index a678637b6c..041c2d102c 100644 --- a/package/qwt/Config.in +++ b/package/qwt/Config.in @@ -1,10 +1,6 @@ -comment "qwt needs a toolchain not affected by Binutils bug 19405" - depends on BR2_PACKAGE_QT && BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 - config BR2_PACKAGE_QWT bool "qwt" - depends on (BR2_PACKAGE_QT && !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405) || \ - BR2_PACKAGE_QT5 + depends on BR2_PACKAGE_QT || BR2_PACKAGE_QT5 select BR2_PACKAGE_QT_GUI_MODULE if BR2_PACKAGE_QT select BR2_PACKAGE_QT5BASE_GUI if BR2_PACKAGE_QT5 select BR2_PACKAGE_QT5BASE_WIDGETS if BR2_PACKAGE_QT5 # printsupport diff --git a/package/qwt/qwt.mk b/package/qwt/qwt.mk index d1bb5245b1..619453bfc9 100644 --- a/package/qwt/qwt.mk +++ b/package/qwt/qwt.mk @@ -16,7 +16,7 @@ QWT_DEPENDENCIES += qt5base QWT_QMAKE = $(QT5_QMAKE) endif -QWT_LICENSE = LGPLv2.1 with exceptions +QWT_LICENSE = LGPL-2.1 with exceptions QWT_LICENSE_FILES = COPYING QWT_CONFIG = 's%QWT_INSTALL_PREFIX.*/usr/local/.*%QWT_INSTALL_PREFIX = /usr%' @@ -41,6 +41,12 @@ else QWT_CONFIG += -e 's/^.*QWT_CONFIG.*QwtOpenGL.*$$/\# QWT_CONFIG += QwtOpenGL/' endif +ifeq ($(BR2_STATIC_LIBS),y) +QWT_CONFIG += -e 's/^.*QWT_CONFIG.*QwtDll.*$$/\# QWT_CONFIG += QwtDll/' +else +QWT_CONFIG += -e 's/^.*QWT_CONFIG.*QwtDll.*$$/QWT_CONFIG += QwtDll/' +endif + define QWT_CONFIGURE_CMDS $(SED) $(QWT_CONFIG) $(@D)/qwtconfig.pri (cd $(@D); $(TARGET_MAKE_ENV) $(QWT_QMAKE)) diff --git a/package/rabbitmq-c/rabbitmq-c.mk b/package/rabbitmq-c/rabbitmq-c.mk index 1ca35ad00c..eef09ec0b3 100644 --- a/package/rabbitmq-c/rabbitmq-c.mk +++ b/package/rabbitmq-c/rabbitmq-c.mk @@ -21,14 +21,20 @@ else ifeq ($(BR2_SHARED_LIBS),y) RABBITMQ_C_CONF_OPTS += -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=OFF endif -ifeq ($(BR2_PACKAGE_OPENSSL),y) +# CMake OpenSSL detection is buggy, and doesn't properly use +# pkg-config, so it fails when statically linking. See +# https://gitlab.kitware.com/cmake/cmake/issues/16885. +ifeq ($(BR2_PACKAGE_OPENSSL):$(BR2_STATIC_LIBS),y:) RABBITMQ_C_CONF_OPTS += -DENABLE_SSL_SUPPORT=ON RABBITMQ_C_DEPENDENCIES += openssl else RABBITMQ_C_CONF_OPTS += -DENABLE_SSL_SUPPORT=OFF endif -ifeq ($(BR2_PACKAGE_POPT), y) +# Popt is sometimes linked against libintl, but CMake doesn't know +# about that, and there's no way to tell manually CMake to link +# against an additional library. +ifeq ($(BR2_PACKAGE_POPT):$(BR2_STATIC_LIBS),y:) RABBITMQ_C_CONF_OPTS += -DBUILD_TOOLS=ON RABBITMQ_C_DEPENDENCIES += popt else diff --git a/package/rabbitmq-server/rabbitmq-server.mk b/package/rabbitmq-server/rabbitmq-server.mk index d55a8cc47c..6df770793a 100644 --- a/package/rabbitmq-server/rabbitmq-server.mk +++ b/package/rabbitmq-server/rabbitmq-server.mk @@ -1,13 +1,13 @@ -############################################################# +################################################################################ # # rabbitmq-server # -############################################################# +################################################################################ RABBITMQ_SERVER_VERSION = 3.6.6 RABBITMQ_SERVER_SITE = http://www.rabbitmq.com/releases/rabbitmq-server/v$(RABBITMQ_SERVER_VERSION) RABBITMQ_SERVER_SOURCE = rabbitmq-server-$(RABBITMQ_SERVER_VERSION).tar.xz -RABBITMQ_SERVER_LICENSE = MPLv1.1, Apache-2.0, BSD-2c, EPL, MIT, MPLv2.0 +RABBITMQ_SERVER_LICENSE = MPL-1.1, Apache-2.0, BSD-2-Clause, EPL, MIT, MPL-2.0 RABBITMQ_SERVER_LICENSE_FILES = LICENSE-MPL-RabbitMQ \ LICENSE LICENSE-APACHE2-ExplorerCanvas \ LICENSE-APL2-Rebar LICENSE-APL2-Stomp-Websocket \ diff --git a/package/racehound/racehound.mk b/package/racehound/racehound.mk index 8e282c1e9b..6499e166d8 100644 --- a/package/racehound/racehound.mk +++ b/package/racehound/racehound.mk @@ -6,7 +6,7 @@ RACEHOUND_VERSION = f09f06fcc3c77c8c5541be3ba5be80aa8148ce0c RACEHOUND_SITE = $(call github,winnukem,racehound,$(RACEHOUND_VERSION)) -RACEHOUND_LICENSE = GPLv2 +RACEHOUND_LICENSE = GPL-2.0 RACEHOUND_LICENSE_FILES = LICENSE RACEHOUND_SUPPORTS_IN_SOURCE_BUILD = NO diff --git a/package/radvd/radvd.mk b/package/radvd/radvd.mk index 8b6e5b2d01..88221875a3 100644 --- a/package/radvd/radvd.mk +++ b/package/radvd/radvd.mk @@ -8,10 +8,14 @@ RADVD_VERSION = 2.12 RADVD_SOURCE = radvd-$(RADVD_VERSION).tar.xz RADVD_SITE = http://www.litech.org/radvd/dist RADVD_DEPENDENCIES = host-bison flex host-flex host-pkgconf -RADVD_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' +# We need to ignore , because radvd already includes +# , which conflicts with . +RADVD_CONF_ENV = \ + ac_cv_prog_cc_c99='-std=gnu99' \ + ac_cv_header_linux_if_arp_h=no # For 0002-Don-t-force-fstack-protector-the-toolchain-might-lac.patch RADVD_AUTORECONF = YES -RADVD_LICENSE = BSD-4c-like +RADVD_LICENSE = BSD-4-Clause-like RADVD_LICENSE_FILES = COPYRIGHT define RADVD_INSTALL_INIT_SYSV diff --git a/package/ranger/ranger.mk b/package/ranger/ranger.mk index fd6809a660..aaca43862c 100644 --- a/package/ranger/ranger.mk +++ b/package/ranger/ranger.mk @@ -7,7 +7,7 @@ RANGER_VERSION = 1.7.2 RANGER_SITE = http://ranger.nongnu.org RANGER_SETUP_TYPE = distutils -RANGER_LICENSE = GPLv3 +RANGER_LICENSE = GPL-3.0 RANGER_LICENSE_FILES = AUTHORS # The ranger script request python to be called with -O (optimize generated diff --git a/package/rapidjson/Config.in b/package/rapidjson/Config.in index b8c8bcf6a6..3367385008 100644 --- a/package/rapidjson/Config.in +++ b/package/rapidjson/Config.in @@ -1,6 +1,10 @@ config BR2_PACKAGE_RAPIDJSON bool "rapidjson" + depends on BR2_INSTALL_LIBSTDCPP help A fast JSON parser/generator for C++ with both SAX/DOM style API. http://rapidjson.org/ + +comment "rapidjson needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/rapidjson/rapidjson.mk b/package/rapidjson/rapidjson.mk index d06f52962e..4d69bc3450 100644 --- a/package/rapidjson/rapidjson.mk +++ b/package/rapidjson/rapidjson.mk @@ -13,8 +13,9 @@ RAPIDJSON_LICENSE_FILES = license.txt RAPIDJSON_INSTALL_TARGET = NO RAPIDJSON_INSTALL_STAGING = YES -define RAPIDJSON_INSTALL_STAGING_CMDS - cp -dpfr $(@D)/include/* $(STAGING_DIR)/usr/include -endef +RAPIDJSON_CONF_OPTS = \ + -DRAPIDJSON_BUILD_DOC=OFF \ + -DRAPIDJSON_BUILD_EXAMPLES=OFF \ + -DRAPIDJSON_BUILD_TESTS=OFF -$(eval $(generic-package)) +$(eval $(cmake-package)) diff --git a/package/rapidxml/rapidxml.mk b/package/rapidxml/rapidxml.mk index a76a21b4f5..2bec8fe1f2 100644 --- a/package/rapidxml/rapidxml.mk +++ b/package/rapidxml/rapidxml.mk @@ -7,7 +7,7 @@ RAPIDXML_VERSION = 1.13 RAPIDXML_SOURCE = rapidxml-$(RAPIDXML_VERSION).zip RAPIDXML_SITE = http://downloads.sourceforge.net/project/rapidxml/rapidxml/rapidxml%20$(RAPIDXML_VERSION) -RAPIDXML_LICENSE = Boost Software License 1.0 or MIT +RAPIDXML_LICENSE = BSL-1.0 or MIT RAPIDXML_LICENSE_FILES = license.txt # C++ headers only diff --git a/package/raptor/raptor.mk b/package/raptor/raptor.mk index aea14e393f..4c7135fc64 100644 --- a/package/raptor/raptor.mk +++ b/package/raptor/raptor.mk @@ -8,8 +8,9 @@ RAPTOR_VERSION = 2.0.15 RAPTOR_SOURCE = raptor2-$(RAPTOR_VERSION).tar.gz RAPTOR_SITE = http://download.librdf.org/source RAPTOR_DEPENDENCIES = libxml2 libxslt -RAPTOR_LICENSE = GPLv2+ or LGPLv2.1+ or Apache-2.0+ +RAPTOR_LICENSE = GPL-2.0+ or LGPL-2.1+ or Apache-2.0+ RAPTOR_LICENSE_FILES = LICENSE.txt +RAPTOR_INSTALL_STAGING = YES # Flag is added to make sure the patch is applied for the configure.ac of raptor. RAPTOR_AUTORECONF = YES diff --git a/package/raspberrypi-usbboot/0002-Makefile-add-DESTDIR-support.patch b/package/raspberrypi-usbboot/0002-Makefile-add-DESTDIR-support.patch index c37d5a1e0a..a757cb0e03 100644 --- a/package/raspberrypi-usbboot/0002-Makefile-add-DESTDIR-support.patch +++ b/package/raspberrypi-usbboot/0002-Makefile-add-DESTDIR-support.patch @@ -7,6 +7,8 @@ This allows installing rpiboot outside of /usr if needed. Submitted-upstream: https://github.com/raspberrypi/usbboot/pull/2 Signed-off-by: Thomas Petazzoni +[Arnout: remove /usr] +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- Makefile | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) @@ -24,11 +26,11 @@ index d9a7220..7835b7f 100755 - cp usbbootcode.bin /usr/share/rpiboot - cp msd.elf /usr/share/rpiboot - cp buildroot.elf /usr/share/rpiboot -+ cp rpiboot $(DESTDIR)/usr/bin -+ mkdir -p $(DESTDIR)//usr/share/rpiboot -+ cp usbbootcode.bin $(DESTDIR)/usr/share/rpiboot -+ cp msd.elf $(DESTDIR)/usr/share/rpiboot -+ cp buildroot.elf $(DESTDIR)/usr/share/rpiboot ++ cp rpiboot $(DESTDIR)bin ++ mkdir -p $(DESTDIR)/share/rpiboot ++ cp usbbootcode.bin $(DESTDIR)/share/rpiboot ++ cp msd.elf $(DESTDIR)/share/rpiboot ++ cp buildroot.elf $(DESTDIR)/share/rpiboot uninstall: - rm -f /usr/bin/rpiboot @@ -36,11 +38,11 @@ index d9a7220..7835b7f 100755 - rm -f /usr/share/rpiboot/msd.elf - rm -f /usr/share/rpiboot/buildroot.elf - rmdir --ignore-fail-on-non-empty /usr/share/rpiboot/ -+ rm -f $(DESTDIR)/usr/bin/rpiboot -+ rm -f $(DESTDIR)/usr/share/rpiboot/usbbootcode.bin -+ rm -f $(DESTDIR)/usr/share/rpiboot/msd.elf -+ rm -f $(DESTDIR)/usr/share/rpiboot/buildroot.elf -+ rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share/rpiboot/ ++ rm -f $(DESTDIR)/bin/rpiboot ++ rm -f $(DESTDIR)/share/rpiboot/usbbootcode.bin ++ rm -f $(DESTDIR)/share/rpiboot/msd.elf ++ rm -f $(DESTDIR)/share/rpiboot/buildroot.elf ++ rmdir --ignore-fail-on-non-empty $(DESTDIR)/share/rpiboot/ clean: rm rpiboot diff --git a/package/ratpoison/Config.in b/package/ratpoison/Config.in new file mode 100644 index 0000000000..7b724290c3 --- /dev/null +++ b/package/ratpoison/Config.in @@ -0,0 +1,17 @@ +config BR2_PACKAGE_RATPOISON + bool "ratpoison" + depends on BR2_USE_MMU + depends on BR2_PACKAGE_XORG7 + select BR2_PACKAGE_FONTCONFIG + select BR2_PACKAGE_LIBERATION + select BR2_PACKAGE_XLIB_LIBX11 + help + Ratpoison is a simple Window Manager. It is largely modelled + after GNU Screen and focuses on the keyboard instead of a + mouse. + + The screen can be split into non-overlapping frames. All + windows are kept maximized inside their frames to take full + advantage of your precious screen real estate. + + http://www.nongnu.org/ratpoison/ diff --git a/package/ratpoison/ratpoison.hash b/package/ratpoison/ratpoison.hash new file mode 100644 index 0000000000..44781b07a4 --- /dev/null +++ b/package/ratpoison/ratpoison.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 d98fa4be025ecca453c407ff311ab3949f29f20d6d8abedf8f0716b85fc8d1f1 ratpoison-1.4.9.tar.xz diff --git a/package/ratpoison/ratpoison.mk b/package/ratpoison/ratpoison.mk new file mode 100644 index 0000000000..27cca8499e --- /dev/null +++ b/package/ratpoison/ratpoison.mk @@ -0,0 +1,28 @@ +################################################################################ +# +# ratpoison +# +################################################################################ + +RATPOISON_VERSION = 1.4.9 +RATPOISON_SOURCE = ratpoison-$(RATPOISON_VERSION).tar.xz +RATPOISON_SITE = http://download.savannah.nongnu.org/releases/ratpoison +RATPOISON_LICENSE = GPL-2.0+ +RATPOISON_LICENSE_FILES = COPYING + +RATPOISON_CONF_OPTS = \ + --x-includes=$(STAGING_DIR)/usr/include/X11 \ + --x-libraries=$(STAGING_DIR)/usr/lib \ + --without-xkb \ + --without-xft + +RATPOISON_DEPENDENCIES = xlib_libX11 + +ifeq ($(BR2_PACKAGE_XLIB_LIBXRANDR),y) +RATPOISON_DEPENDENCIES += xlib_libXrandr +RATPOISON_CONF_OPTS += --with-xrandr +else +RATPOISON_CONF_OPTS += --without-xrandr +endif + +$(eval $(autotools-package)) diff --git a/package/rauc/Config.in b/package/rauc/Config.in new file mode 100644 index 0000000000..6433b827d3 --- /dev/null +++ b/package/rauc/Config.in @@ -0,0 +1,37 @@ +config BR2_PACKAGE_RAUC + bool "rauc" + depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 + depends on BR2_USE_MMU # glib2 + depends on BR2_USE_WCHAR # glib2 + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_DBUS # run-time dependency + help + RAUC is the Robust Auto-Update Controller developed by + Pengutronix. It supports updating embedded Linux + systems over the network or from disks and provides a + d-bus interface. + + http://rauc.io/ + +if BR2_PACKAGE_RAUC + +config BR2_PACKAGE_RAUC_NETWORK + bool "network support" + select BR2_PACKAGE_LIBCURL + help + This option enables support for updating firmware over + the network using libcurl. + +config BR2_PACKAGE_RAUC_JSON + bool "JSON output support" + select BR2_PACKAGE_JSON_GLIB + help + This option enables support for providing output in + JSON format. + +endif + +comment "rauc needs a toolchain w/ wchar, threads" + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_USE_MMU diff --git a/package/rauc/Config.in.host b/package/rauc/Config.in.host new file mode 100644 index 0000000000..1bd9a7935a --- /dev/null +++ b/package/rauc/Config.in.host @@ -0,0 +1,10 @@ +config BR2_PACKAGE_HOST_RAUC + bool "host rauc" + select BR2_PACKAGE_HOST_SQUASHFS # run-time dependency + help + RAUC is the Robust Auto-Update Controller developed by + Pengutronix. Enable this option to build the rauc + host tool which may be used to generate firmware + bundles that are handled by the target rauc service. + + http://rauc.io/ diff --git a/package/rauc/rauc.hash b/package/rauc/rauc.hash new file mode 100644 index 0000000000..78c3e279d6 --- /dev/null +++ b/package/rauc/rauc.hash @@ -0,0 +1,3 @@ +# Locally calculated, after verifying against +# https://github.com/rauc/rauc/releases/download/v0.1.1/rauc-0.1.1.tar.xz.asc +sha256 d2901d493f1d3210aef6411e83b02edac3a678d6d825d71a1c61b5b6afc7e478 rauc-0.1.1.tar.xz diff --git a/package/rauc/rauc.mk b/package/rauc/rauc.mk new file mode 100644 index 0000000000..67ef1556e7 --- /dev/null +++ b/package/rauc/rauc.mk @@ -0,0 +1,36 @@ +################################################################################ +# +# rauc +# +################################################################################ + +RAUC_VERSION = 0.1.1 +RAUC_SITE = https://github.com/rauc/rauc/releases/download/v$(RAUC_VERSION) +RAUC_SOURCE = rauc-$(RAUC_VERSION).tar.xz +RAUC_LICENSE = LGPL-2.1 +RAUC_DEPENDENCIES = host-pkgconf openssl libglib2 + +ifeq ($(BR2_PACKAGE_RAUC_NETWORK),y) +RAUC_CONF_OPTS += --enable-network +RAUC_DEPENDENCIES += libcurl +else +RAUC_CONF_OPTS += --disable-network +endif + +ifeq ($(BR2_PACKAGE_RAUC_JSON),y) +RAUC_CONF_OPTS += --enable-json +RAUC_DEPENDENCIES += json-glib +else +RAUC_CONF_OPTS += --disable-json +endif + +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +# configure uses pkg-config --variable=systemdsystemunitdir systemd +RAUC_DEPENDENCIES += systemd +endif + +HOST_RAUC_DEPENDENCIES = host-pkgconf host-openssl host-libglib2 host-squashfs +HOST_RAUC_CONF_OPTS += --disable-network --disable-json --disable-service + +$(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/rdesktop/Config.in b/package/rdesktop/Config.in index f683ed314e..0335bee2a0 100644 --- a/package/rdesktop/Config.in +++ b/package/rdesktop/Config.in @@ -1,10 +1,10 @@ config BR2_PACKAGE_RDESKTOP bool "rdesktop" depends on BR2_USE_MMU # fork() + depends on BR2_PACKAGE_XORG7 select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXT - depends on BR2_PACKAGE_XORG7 help rdesktop is an open source client for Windows NT Terminal Server and Windows 2000/2003 Terminal Services, capable of diff --git a/package/rdesktop/rdesktop.mk b/package/rdesktop/rdesktop.mk index 79187b5c37..da8a80ef92 100644 --- a/package/rdesktop/rdesktop.mk +++ b/package/rdesktop/rdesktop.mk @@ -11,7 +11,7 @@ RDESKTOP_DEPENDENCIES = host-pkgconf openssl xlib_libX11 xlib_libXt \ $(if $(BR2_PACKAGE_LIBAO),libao) \ $(if $(BR2_PACKAGE_LIBSAMPLERATE),libsamplerate) RDESKTOP_CONF_OPTS = --with-openssl=$(STAGING_DIR)/usr --disable-credssp -RDESKTOP_LICENSE = GPLv3+ +RDESKTOP_LICENSE = GPL-3.0+ RDESKTOP_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_PCSC_LITE),y) diff --git a/package/readline/readline.mk b/package/readline/readline.mk index ed4e1442ee..cc5d4f2920 100644 --- a/package/readline/readline.mk +++ b/package/readline/readline.mk @@ -11,7 +11,7 @@ READLINE_DEPENDENCIES = ncurses HOST_READLINE_DEPENDENCIES = host-ncurses READLINE_CONF_ENV = bash_cv_func_sigsetjmp=yes \ bash_cv_wcwidth_broken=no -READLINE_LICENSE = GPLv3+ +READLINE_LICENSE = GPL-3.0+ READLINE_LICENSE_FILES = COPYING define READLINE_PURGE_EXAMPLES diff --git a/package/redis/redis.hash b/package/redis/redis.hash index 3cd86470bd..ce2d66b8c2 100644 --- a/package/redis/redis.hash +++ b/package/redis/redis.hash @@ -1,4 +1,4 @@ # From https://github.com/antirez/redis-hashes/blob/master/README -sha1 6780d1abb66f33a97aad0edbe020403d0a15b67f redis-3.2.8.tar.gz -# Calculated based on the hash above -sha256 61b373c23d18e6cc752a69d5ab7f676c6216dc2853e46750a8c4ed791d68482c redis-3.2.8.tar.gz +sha256 31ae927cab09f90c9ca5954aab7aeecc3bb4da6087d3d12ba0a929ceb54081b5 redis-3.2.11.tar.gz +# Locally calculated +sha256 cbf420a3672475a6e2765e3c0984c1f81efe0212afb94a3c998ee63bfd661063 COPYING diff --git a/package/redis/redis.mk b/package/redis/redis.mk index 8ab6e726e3..82969c9022 100644 --- a/package/redis/redis.mk +++ b/package/redis/redis.mk @@ -4,26 +4,31 @@ # ################################################################################ -REDIS_VERSION = 3.2.8 +REDIS_VERSION = 3.2.11 REDIS_SITE = http://download.redis.io/releases -REDIS_LICENSE = BSD-3c (core); MIT and BSD family licenses (Bundled components) +REDIS_LICENSE = BSD-3-Clause (core); MIT and BSD family licenses (Bundled components) REDIS_LICENSE_FILES = COPYING define REDIS_USERS redis -1 redis -1 * /var/lib/redis /bin/false - Redis Server endef -# Uses __atomic_fetch_add_4 +# Uses __atomic_fetch_add_4. Adding -latomic to LDFLAGS does not work, +# because LDFLAGS is used before the list of object files. We need to +# add -latomic to FINAL_LIBS to provide -latomic at the correct place +# in the linking command. ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) -REDIS_LIBATOMIC = -latomic +define REDIS_FIX_MAKEFILE + $(SED) 's/FINAL_LIBS=-lm/FINAL_LIBS=-lm -latomic/' $(@D)/src/Makefile +endef +REDIS_POST_PATCH_HOOKS = REDIS_FIX_MAKEFILE endif # Redis doesn't support DESTDIR (yet, see # https://github.com/antirez/redis/pull/609). We set PREFIX # instead. REDIS_BUILDOPTS = $(TARGET_CONFIGURE_OPTS) \ - LDFLAGS="$(TARGET_LDFLAGS) $(REDIS_LIBATOMIC)" \ - PREFIX=$(TARGET_DIR)/usr MALLOC=libc \ + PREFIX=$(TARGET_DIR)/usr MALLOC=libc define REDIS_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) $(REDIS_BUILDOPTS) -C $(@D) diff --git a/package/refpolicy/Config.in b/package/refpolicy/Config.in new file mode 100644 index 0000000000..954dc3a093 --- /dev/null +++ b/package/refpolicy/Config.in @@ -0,0 +1,69 @@ +config BR2_PACKAGE_REFPOLICY + bool "refpolicy" + depends on BR2_TOOLCHAIN_HAS_THREADS # policycoreutils + depends on BR2_TOOLCHAIN_USES_GLIBC # policycoreutils + depends on BR2_PACKAGE_AUDIT_ARCH_SUPPORTS # policycoreutils + depends on !BR2_STATIC_LIBS # policycoreutils + depends on !BR2_arc # policycoreutils + select BR2_PACKAGE_POLICYCOREUTILS + select BR2_PACKAGE_BUSYBOX_SELINUX if BR2_PACKAGE_BUSYBOX + help + The SELinux Reference Policy project (refpolicy) is a + complete SELinux policy that can be used as the system + policy for a variety of systems and used as the basis for + creating other policies. Reference Policy was originally + based on the NSA example policy, but aims to accomplish many + additional goals. + + The current refpolicy does not fully support Buildroot and + needs modifications to work with the default system file + layout. These changes should be added as patches to the + refpolicy that modify a single SELinux policy. + + The refpolicy works for the most part in permissive + mode. Only the basic set of utilities are enabled in the + example policy config and some of the pathing in the + policies is not correct. Individual policies would need to + be tweaked to get everything functioning properly. + + https://github.com/TresysTechnology/refpolicy + +comment "refpolicy needs a glibc toolchain w/ threads, dynamic library" + depends on !BR2_arc + depends on BR2_PACKAGE_AUDIT_ARCH_SUPPORTS + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_USES_GLIBC + +if BR2_PACKAGE_REFPOLICY + +config BR2_PACKAGE_REFPOLICY_POLICY_VERSION + string "Policy version" + default "30" + +choice + prompt "SELinux default state" + default BR2_PACKAGE_REFPOLICY_POLICY_STATE_PERMISSIVE + +config BR2_PACKAGE_REFPOLICY_POLICY_STATE_ENFORCING + bool "Enforcing" + help + SELinux security policy is enforced + +config BR2_PACKAGE_REFPOLICY_POLICY_STATE_PERMISSIVE + bool "Permissive" + help + SELinux prints warnings instead of enforcing + +config BR2_PACKAGE_REFPOLICY_POLICY_STATE_DISABLED + bool "Disabled" + help + No SELinux policy is loaded +endchoice + +config BR2_PACKAGE_REFPOLICY_POLICY_STATE + string + default "permissive" if BR2_PACKAGE_REFPOLICY_POLICY_STATE_PERMISSIVE + default "enforcing" if BR2_PACKAGE_REFPOLICY_POLICY_STATE_ENFORCING + default "disabled" if BR2_PACKAGE_REFPOLICY_POLICY_STATE_DISABLED + +endif diff --git a/package/refpolicy/config b/package/refpolicy/config new file mode 100644 index 0000000000..087297c12e --- /dev/null +++ b/package/refpolicy/config @@ -0,0 +1,8 @@ +# This file controls the state of SELinux on the system. +# SELINUX= can take one of these three values: +# enforcing - SELinux security policy is enforced. +# permissive - SELinux prints warnings instead of enforcing. +# disabled - No SELinux policy is loaded. +SELINUX=disabled + +SELINUXTYPE=targeted diff --git a/package/refpolicy/refpolicy.hash b/package/refpolicy/refpolicy.hash new file mode 100644 index 0000000000..7aeac4113d --- /dev/null +++ b/package/refpolicy/refpolicy.hash @@ -0,0 +1,2 @@ +#From https://github.com/TresysTechnology/refpolicy/wiki/DownloadRelease +sha256 08f9e2afc5e4939c23e56deeec7c47da029d7b85d82fb4ded01a36eb5da0651e refpolicy-RELEASE_2_20170204.tar.gz diff --git a/package/refpolicy/refpolicy.mk b/package/refpolicy/refpolicy.mk new file mode 100644 index 0000000000..2da151f321 --- /dev/null +++ b/package/refpolicy/refpolicy.mk @@ -0,0 +1,61 @@ +################################################################################ +# +# refpolicy +# +################################################################################ + +REFPOLICY_VERSION = RELEASE_2_20170204 + +# Do not use GitHub helper as git submodules are needed for refpolicy-contrib +REFPOLICY_SITE = https://github.com/TresysTechnology/refpolicy.git +REFPOLICY_SITE_METHOD = git +REFPOLICY_GIT_SUBMODULES = y # Required for refpolicy-contrib +REFPOLICY_LICENSE = GPL-2.0 +REFPOLICY_LICENSE_FILES = COPYING +REFPOLICY_INSTALL_STAGING = YES +REFPOLICY_DEPENDENCIES = \ + host-m4 \ + host-checkpolicy \ + host-policycoreutils \ + host-setools \ + host-gawk \ + host-python \ + policycoreutils + +# Cannot use multiple threads to build the reference policy +REFPOLICY_MAKE = \ + TEST_TOOLCHAIN=$(HOST_DIR) \ + PYTHON="$(HOST_DIR)/bin/python2" \ + $(TARGET_MAKE_ENV) \ + $(MAKE1) + +REFPOLICY_POLICY_VERSION = \ + $(call qstrip,$(BR2_PACKAGE_REFPOLICY_POLICY_VERSION)) +REFPOLICY_POLICY_STATE = \ + $(call qstrip,$(BR2_PACKAGE_REFPOLICY_POLICY_STATE)) + +define REFPOLICY_CONFIGURE_CMDS + $(SED) "/OUTPUT_POLICY/c\OUTPUT_POLICY = $(REFPOLICY_POLICY_VERSION)" \ + $(@D)/build.conf + $(SED) "/MONOLITHIC/c\MONOLITHIC = y" $(@D)/build.conf + $(SED) "/NAME/c\NAME = targeted" $(@D)/build.conf +endef + +define REFPOLICY_BUILD_CMDS + $(REFPOLICY_MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) bare conf +endef + +define REFPOLICY_INSTALL_STAGING_CMDS + $(REFPOLICY_MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) \ + install-src install-headers +endef + +define REFPOLICY_INSTALL_TARGET_CMDS + $(REFPOLICY_MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install + $(INSTALL) -m 0755 -D package/refpolicy/config \ + $(TARGET_DIR)/etc/selinux/config + $(SED) "/^SELINUX=/c\SELINUX=$(REFPOLICY_POLICY_STATE)" \ + $(TARGET_DIR)/etc/selinux/config +endef + +$(eval $(generic-package)) diff --git a/package/restorecond/Config.in b/package/restorecond/Config.in new file mode 100644 index 0000000000..54a5545a12 --- /dev/null +++ b/package/restorecond/Config.in @@ -0,0 +1,24 @@ +config BR2_PACKAGE_RESTORECOND + bool "restorecond" + depends on !BR2_arc + depends on BR2_USE_MMU # libglib2 + depends on BR2_USE_WCHAR # libglib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 + depends on !BR2_STATIC_LIBS # libselinux + depends on BR2_TOOLCHAIN_USES_GLIBC # libselinux + select BR2_PACKAGE_DBUS + select BR2_PACKAGE_DBUS_GLIB + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBSELINUX + select BR2_PACKAGE_LIBSEPOL + help + restorecond is a daemon that watches for file creation and + then sets the default SELinux file context for that file. + + https://github.com/SELinuxProject/selinux/wiki/Releases + +comment "restorecond needs a toolchain w/ wchar, threads, dynamic library" + depends on BR2_USE_MMU + depends on !BR2_arc + depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \ + BR2_STATIC_LIBS || !BR2_TOOLCHAIN_USES_GLIBC diff --git a/package/restorecond/restorecond.hash b/package/restorecond/restorecond.hash new file mode 100644 index 0000000000..f52bbd2161 --- /dev/null +++ b/package/restorecond/restorecond.hash @@ -0,0 +1,2 @@ +# https://github.com/SELinuxProject/selinux/wiki/Releases +sha256 cb8e0a8d706cb2c1f105125f3514dffffefcbcfb49199183a7f91ab0bdf1f24d restorecond-2.7.tar.gz diff --git a/package/restorecond/restorecond.mk b/package/restorecond/restorecond.mk new file mode 100644 index 0000000000..aaa59b3351 --- /dev/null +++ b/package/restorecond/restorecond.mk @@ -0,0 +1,52 @@ +################################################################################ +# +# restorecond +# +################################################################################ + +RESTORECOND_VERSION = 2.7 +RESTORECOND_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20170804 +RESTORECOND_LICENSE = GPL-2.0 +RESTORECOND_LICENSE_FILES = COPYING + +RESTORECOND_DEPENDENCIES = libglib2 libsepol libselinux dbus-glib + +# Undefining _FILE_OFFSET_BITS here because of a "bug" with glibc fts.h +# large file support. +# See https://bugzilla.redhat.com/show_bug.cgi?id=574992 for more information +RESTORECOND_MAKE_OPTS += \ + $(TARGET_CONFIGURE_OPTS) \ + CFLAGS="$(TARGET_CFLAGS) -U_FILE_OFFSET_BITS" \ + CPPFLAGS="$(TARGET_CPPFLAGS) -U_FILE_OFFSET_BITS" \ + ARCH="$(BR2_ARCH)" + +# We need to pass DESTDIR at build time because it's used by +# restorecond build system to find headers and libraries. +define RESTORECOND_BUILD_CMDS + $(MAKE) -C $(@D) $(RESTORECOND_MAKE_OPTS) DESTDIR=$(STAGING_DIR) all +endef + +define RESTORECOND_INSTALL_INIT_SYSV + $(INSTALL) -m 0755 -D $(@D)/restorecond.init \ + $(TARGET_DIR)/etc/init.d/S20restorecond +endef + +define RESTORECOND_INSTALL_INIT_SYSTEMD + $(INSTALL) -m 0644 -D $(@D)/restorecond.service \ + $(TARGET_DIR)/usr/lib/systemd/system/restorecond.service + + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -fs ../../../../usr/lib/systemd/system/restorecond.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/restorecond.service + + $(INSTALL) -m 0600 -D $(@D)/org.selinux.Restorecond.service \ + $(TARGET_DIR)/etc/systemd/system/org.selinux.Restorecond.service +endef + +define RESTORECOND_INSTALL_TARGET_CMDS + $(INSTALL) -m 0644 -D $(@D)/restorecond.conf $(TARGET_DIR)/etc/selinux/restorecond.conf + $(INSTALL) -m 0644 -D $(@D)/restorecond_user.conf $(TARGET_DIR)/etc/selinux/restorecond_user.conf + $(INSTALL) -m 0755 -D $(@D)/restorecond $(TARGET_DIR)/usr/sbin/restorecond +endef + +$(eval $(generic-package)) diff --git a/package/rfkill/Config.in b/package/rfkill/Config.in deleted file mode 100644 index 0d079138b8..0000000000 --- a/package/rfkill/Config.in +++ /dev/null @@ -1,7 +0,0 @@ -config BR2_PACKAGE_RFKILL - bool "rfkill" - help - rfkill is a small userspace tool to query the state of the - rfkill switches. - - https://wireless.wiki.kernel.org/en/users/documentation/rfkill diff --git a/package/rfkill/rfkill.hash b/package/rfkill/rfkill.hash deleted file mode 100644 index 21be0a2074..0000000000 --- a/package/rfkill/rfkill.hash +++ /dev/null @@ -1,2 +0,0 @@ -# From: https://www.kernel.org/pub/software/network/rfkill/sha256sums.asc -sha256 e0ae3004215e39a6c5c36e0726558740728d16f67ebdb8bea621250f6091d86a rfkill-0.5.tar.xz diff --git a/package/rfkill/rfkill.mk b/package/rfkill/rfkill.mk deleted file mode 100644 index 2f9fe9f9a1..0000000000 --- a/package/rfkill/rfkill.mk +++ /dev/null @@ -1,22 +0,0 @@ -################################################################################ -# -# rfkill -# -################################################################################ - -RFKILL_VERSION = 0.5 -RFKILL_SOURCE = rfkill-$(RFKILL_VERSION).tar.xz -RFKILL_SITE = https://www.kernel.org/pub/software/network/rfkill -RFKILL_LICENSE = ISC -RFKILL_LICENSE_FILES = COPYING - -define RFKILL_BUILD_CMDS - $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ - VERSION_SUFFIX="br" -endef - -define RFKILL_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install -endef - -$(eval $(generic-package)) diff --git a/package/rhash/Config.in b/package/rhash/Config.in new file mode 100644 index 0000000000..2ddcb00feb --- /dev/null +++ b/package/rhash/Config.in @@ -0,0 +1,23 @@ +config BR2_PACKAGE_RHASH + bool "rhash" + help + LibRHash is a professional, portable, thread-safe C library + for computing a wide variety of hash sums, such as CRC32, + MD4, MD5, SHA1, SHA256, SHA512, SHA3, AICH, ED2K, Tiger, + DC++ TTH, BitTorrent BTIH, GOST R 34.11-94, RIPEMD-160, + HAS-160, EDON-R, Whirlpool and Snefru. + + https://github.com/rhash/RHash + +if BR2_PACKAGE_RHASH + +config BR2_PACKAGE_RHASH_BIN + bool "rhash binary" + depends on !BR2_STATIC_LIBS + help + Install rhash console utility + +comment "rhash binary needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS + +endif diff --git a/package/rhash/rhash.hash b/package/rhash/rhash.hash new file mode 100644 index 0000000000..5efc3a67bd --- /dev/null +++ b/package/rhash/rhash.hash @@ -0,0 +1,3 @@ +# From https://sourceforge.net/projects/rhash/files/rhash/1.3.4/ +md5 0b51010604659e9e99f6307b053ba13b rhash-1.3.4-src.tar.gz +sha1 411d8c7ba84fa9763bc49fa2fd3a7587712fd52c rhash-1.3.4-src.tar.gz diff --git a/package/rhash/rhash.mk b/package/rhash/rhash.mk new file mode 100644 index 0000000000..53f49d8d3c --- /dev/null +++ b/package/rhash/rhash.mk @@ -0,0 +1,63 @@ +################################################################################ +# +# rhash +# +################################################################################ + +RHASH_VERSION = 1.3.4 +RHASH_SOURCE = rhash-$(RHASH_VERSION)-src.tar.gz +RHASH_SITE = https://sourceforge.net/projects/rhash/files/rhash/$(RHASH_VERSION) +RHASH_LICENSE = MIT +RHASH_LICENSE_FILES = COPYING +RHASH_INSTALL_STAGING = YES +RHASH_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) +RHASH_ADDLDFLAGS = $(TARGET_NLS_LIBS) +RHASH_ADDCFLAGS = $(if $(BR2_SYSTEM_ENABLE_NLS),-DUSE_GETTEXT) + +ifeq ($(BR2_PACKAGE_OPENSSL)x$(BR2_STATIC_LIBS),yx) +RHASH_DEPENDENCIES += openssl +RHASH_ADDCFLAGS += -DOPENSSL_RUNTIME -rdynamic +RHASH_ADDLDFLAGS += -ldl +endif + +RHASH_MAKE_OPTS = \ + ADDCFLAGS="$(RHASH_ADDCFLAGS)" \ + ADDLDFLAGS="$(RHASH_ADDLDFLAGS)" \ + PREFIX="/usr" + +ifeq ($(BR2_SHARED_LIBS),y) +RHASH_BUILD_TARGETS = lib-shared build-shared +RHASH_INSTALL_TARGETS = install-lib-shared install-so-link +else ifeq ($(BR2_STATIC_LIBS),y) +RHASH_BUILD_TARGETS = lib-static +RHASH_INSTALL_TARGETS = install-lib-static +else +RHASH_BUILD_TARGETS = lib-static lib-shared build-shared +RHASH_INSTALL_TARGETS = install-lib-static install-lib-shared install-so-link +endif + +define RHASH_BUILD_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ + $(RHASH_MAKE_OPTS) $(RHASH_BUILD_TARGETS) +endef + +define RHASH_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/librhash \ + DESTDIR="$(STAGING_DIR)" $(RHASH_MAKE_OPTS) $(RHASH_INSTALL_TARGETS) \ + install-headers +endef + +ifeq ($(BR2_PACKAGE_RHASH_BIN),y) +define RHASH_INSTALL_TARGET_RHASH_BIN + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ + DESTDIR="$(TARGET_DIR)" $(RHASH_MAKE_OPTS) install-shared +endef +endif + +define RHASH_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/librhash \ + DESTDIR="$(TARGET_DIR)" $(RHASH_MAKE_OPTS) $(RHASH_INSTALL_TARGETS) + $(RHASH_INSTALL_TARGET_RHASH_BIN) +endef + +$(eval $(generic-package)) diff --git a/package/riemann-c-client/Config.in b/package/riemann-c-client/Config.in index e9982b2fb0..91b13b7901 100644 --- a/package/riemann-c-client/Config.in +++ b/package/riemann-c-client/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_RIEMANN_C_CLIENT depends on BR2_INSTALL_LIBSTDCPP # protobuf-c depends on BR2_TOOLCHAIN_HAS_THREADS # protobuf-c depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" # protobuf-c + depends on BR2_HOST_GCC_AT_LEAST_4_5 # protobuf-c select BR2_PACKAGE_PROTOBUF_C help Riemann-c-client is a C client library for the Riemann @@ -12,6 +13,7 @@ config BR2_PACKAGE_RIEMANN_C_CLIENT https://github.com/algernon/riemann-c-client -comment "riemann-c-client needs a toolchain w/ C++, threads" - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS +comment "riemann-c-client needs a toolchain w/ C++, threads, host gcc >= 4.5" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \ + || !BR2_HOST_GCC_AT_LEAST_4_5 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" diff --git a/package/riemann-c-client/riemann-c-client.mk b/package/riemann-c-client/riemann-c-client.mk index c8a411c32b..09f79009ed 100644 --- a/package/riemann-c-client/riemann-c-client.mk +++ b/package/riemann-c-client/riemann-c-client.mk @@ -7,7 +7,7 @@ RIEMANN_C_CLIENT_VERSION = 1.9.1 RIEMANN_C_CLIENT_SOURCE = riemann-c-client-$(RIEMANN_C_CLIENT_VERSION).tar.xz RIEMANN_C_CLIENT_SITE = https://github.com/algernon/riemann-c-client/releases/download/riemann-c-client-$(RIEMANN_C_CLIENT_VERSION) -RIEMANN_C_CLIENT_LICENSE = LGPLv3+ +RIEMANN_C_CLIENT_LICENSE = LGPL-3.0+ RIEMANN_C_CLIENT_LICENSE_FILES = LICENSE RIEMANN_C_CLIENT_INSTALL_STAGING = YES RIEMANN_C_CLIENT_MAKE = $(MAKE1) diff --git a/package/rings/rings.mk b/package/rings/rings.mk index 151546aeaa..92001bbf4c 100644 --- a/package/rings/rings.mk +++ b/package/rings/rings.mk @@ -8,5 +8,6 @@ RINGS_VERSION_MAJOR = 1.3.0 RINGS_VERSION = $(RINGS_VERSION_MAJOR)-1 RINGS_SUBDIR = rings-v_$(subst .,_,$(RINGS_VERSION_MAJOR)) RINGS_LICENSE = MIT +RINGS_LICENSE_FILES = $(RINGS_SUBDIR)/doc/us/license.html $(eval $(luarocks-package)) diff --git a/package/rng-tools/rng-tools.mk b/package/rng-tools/rng-tools.mk index cc07bdf15c..bbb1a64c15 100644 --- a/package/rng-tools/rng-tools.mk +++ b/package/rng-tools/rng-tools.mk @@ -6,7 +6,7 @@ RNG_TOOLS_VERSION = 5 RNG_TOOLS_SITE = http://downloads.sourceforge.net/project/gkernel/rng-tools/$(RNG_TOOLS_VERSION) -RNG_TOOLS_LICENSE = GPLv2 +RNG_TOOLS_LICENSE = GPL-2.0 RNG_TOOLS_LICENSE_FILES = COPYING # Work around for uClibc or musl toolchains which lack argp_*() diff --git a/package/rp-pppoe/rp-pppoe.mk b/package/rp-pppoe/rp-pppoe.mk index 99d231e579..4214df929f 100644 --- a/package/rp-pppoe/rp-pppoe.mk +++ b/package/rp-pppoe/rp-pppoe.mk @@ -6,7 +6,7 @@ RP_PPPOE_VERSION = 3.12 RP_PPPOE_SITE = http://www.roaringpenguin.com/files/download -RP_PPPOE_LICENSE = GPLv2 +RP_PPPOE_LICENSE = GPL-2.0 RP_PPPOE_LICENSE_FILES = doc/LICENSE RP_PPPOE_DEPENDENCIES = pppd RP_PPPOE_SUBDIR = src diff --git a/package/rpcbind/0004-rpcbind-pair-all-svc_getargs-calls-with-svc_freeargs.patch b/package/rpcbind/0004-rpcbind-pair-all-svc_getargs-calls-with-svc_freeargs.patch new file mode 100644 index 0000000000..130e5d77c3 --- /dev/null +++ b/package/rpcbind/0004-rpcbind-pair-all-svc_getargs-calls-with-svc_freeargs.patch @@ -0,0 +1,231 @@ +From 093bf65c79af417cffa09d6475f58923540eebcc Mon Sep 17 00:00:00 2001 +From: Doran Moppert +Date: Thu, 11 May 2017 11:42:54 -0400 +Subject: [PATCH] rpcbind: pair all svc_getargs() calls with svc_freeargs() to + avoid memory leak + +This patch is to address CVE-2017-8779 "rpcbomb" in rpcbind, discussed +at [1], [2], [3]. The last link suggests this issue is actually a bug +in rpcbind, which led me here. + +The leak caused by the reproducer at [4] appears to come from +rpcb_service_4(), in the case where svc_getargs() returns false and the +function had an early return, rather than passing through the cleanup +path at done:, as would otherwise occur. + +It also addresses a couple of other locations where the same fault seems +to exist, though I haven't been able to exercise those. I hope someone +more intimate with rpc(3) can confirm my understanding is correct, and +that I haven't introduced any new bugs. + +Without this patch, using the reproducer (and variants) repeatedly +against rpcbind with a numBytes argument of 1_000_000_000, /proc/$(pidof +rpcbind)/status reports VmSize increase of 976564 kB each call, and +VmRSS increase of around 260 kB every 33 calls - the specific numbers +are probably an artifact of my rhel/glibc version. With the patch, +there is a small (~50 kB) VmSize increase with the first message, but +thereafter both VmSize and VmRSS remain steady. + +[1]: http://seclists.org/oss-sec/2017/q2/209 +[2]: https://bugzilla.redhat.com/show_bug.cgi?id=1448124 +[3]: https://sourceware.org/ml/libc-alpha/2017-05/msg00129.html +[4]: https://github.com/guidovranken/rpcbomb/ + +Signed-off-by: Doran Moppert +Signed-off-by: Steve Dickson +(cherry picked from commit 7ea36eeece56b59f98e469934e4c20b4da043346) +[Peter: unconditionally include syslog.h for LOG_DEBUG] +Signed-off-by: Peter Korsgaard +--- + src/pmap_svc.c | 58 ++++++++++++++++++++++++++++++++++++++++++++---------- + src/rpcb_svc.c | 2 +- + src/rpcb_svc_4.c | 2 +- + src/rpcb_svc_com.c | 8 ++++++++ + 4 files changed, 58 insertions(+), 12 deletions(-) + +diff --git a/src/pmap_svc.c b/src/pmap_svc.c +index ad28b93..f730bed 100644 +--- a/src/pmap_svc.c ++++ b/src/pmap_svc.c +@@ -53,8 +53,8 @@ static char sccsid[] = "@(#)pmap_svc.c 1.23 89/04/05 Copyr 1984 Sun Micro"; + #include + #include + #include +-#ifdef RPCBIND_DEBUG + #include ++#ifdef RPCBIND_DEBUG + #include + #endif + #include "rpcbind.h" +@@ -175,6 +175,7 @@ pmapproc_change(struct svc_req *rqstp /*__unused*/, SVCXPRT *xprt, unsigned long + long ans; + uid_t uid; + char uidbuf[32]; ++ int rc = TRUE; + + /* + * Can't use getpwnam here. We might end up calling ourselves +@@ -194,7 +195,8 @@ pmapproc_change(struct svc_req *rqstp /*__unused*/, SVCXPRT *xprt, unsigned long + + if (!svc_getargs(xprt, (xdrproc_t) xdr_pmap, (char *)®)) { + svcerr_decode(xprt); +- return (FALSE); ++ rc = FALSE; ++ goto done; + } + #ifdef RPCBIND_DEBUG + if (debugging) +@@ -205,7 +207,8 @@ pmapproc_change(struct svc_req *rqstp /*__unused*/, SVCXPRT *xprt, unsigned long + + if (!check_access(xprt, op, reg.pm_prog, PMAPVERS)) { + svcerr_weakauth(xprt); +- return (FALSE); ++ rc = (FALSE); ++ goto done; + } + + rpcbreg.r_prog = reg.pm_prog; +@@ -258,7 +261,16 @@ done_change: + rpcbs_set(RPCBVERS_2_STAT, ans); + else + rpcbs_unset(RPCBVERS_2_STAT, ans); +- return (TRUE); ++done: ++ if (!svc_freeargs(xprt, (xdrproc_t) xdr_pmap, (char *)®)) { ++ if (debugging) { ++ (void) xlog(LOG_DEBUG, "unable to free arguments\n"); ++ if (doabort) { ++ rpcbind_abort(); ++ } ++ } ++ } ++ return (rc); + } + + /* ARGSUSED */ +@@ -272,15 +284,18 @@ pmapproc_getport(struct svc_req *rqstp /*__unused*/, SVCXPRT *xprt) + #ifdef RPCBIND_DEBUG + char *uaddr; + #endif ++ int rc = TRUE; + + if (!svc_getargs(xprt, (xdrproc_t) xdr_pmap, (char *)®)) { + svcerr_decode(xprt); +- return (FALSE); ++ rc = FALSE; ++ goto done; + } + + if (!check_access(xprt, PMAPPROC_GETPORT, reg.pm_prog, PMAPVERS)) { + svcerr_weakauth(xprt); +- return FALSE; ++ rc = FALSE; ++ goto done; + } + + #ifdef RPCBIND_DEBUG +@@ -330,21 +345,34 @@ pmapproc_getport(struct svc_req *rqstp /*__unused*/, SVCXPRT *xprt) + pmap_ipprot2netid(reg.pm_prot) ?: "", + port ? udptrans : ""); + +- return (TRUE); ++done: ++ if (!svc_freeargs(xprt, (xdrproc_t) xdr_pmap, (char *)®)) { ++ if (debugging) { ++ (void) xlog(LOG_DEBUG, "unable to free arguments\n"); ++ if (doabort) { ++ rpcbind_abort(); ++ } ++ } ++ } ++ return (rc); + } + + /* ARGSUSED */ + static bool_t + pmapproc_dump(struct svc_req *rqstp /*__unused*/, SVCXPRT *xprt) + { ++ int rc = TRUE; ++ + if (!svc_getargs(xprt, (xdrproc_t)xdr_void, NULL)) { + svcerr_decode(xprt); +- return (FALSE); ++ rc = FALSE; ++ goto done; + } + + if (!check_access(xprt, PMAPPROC_DUMP, 0, PMAPVERS)) { + svcerr_weakauth(xprt); +- return FALSE; ++ rc = FALSE; ++ goto done; + } + + if ((!svc_sendreply(xprt, (xdrproc_t) xdr_pmaplist_ptr, +@@ -354,7 +382,17 @@ pmapproc_dump(struct svc_req *rqstp /*__unused*/, SVCXPRT *xprt) + rpcbind_abort(); + } + } +- return (TRUE); ++ ++done: ++ if (!svc_freeargs(xprt, (xdrproc_t) xdr_pmap, (char *)NULL)) { ++ if (debugging) { ++ (void) xlog(LOG_DEBUG, "unable to free arguments\n"); ++ if (doabort) { ++ rpcbind_abort(); ++ } ++ } ++ } ++ return (rc); + } + + int pmap_netid2ipprot(const char *netid) +diff --git a/src/rpcb_svc.c b/src/rpcb_svc.c +index bd92201..0c22a9d 100644 +--- a/src/rpcb_svc.c ++++ b/src/rpcb_svc.c +@@ -166,7 +166,7 @@ rpcb_service_3(struct svc_req *rqstp, SVCXPRT *transp) + svcerr_decode(transp); + if (debugging) + (void) xlog(LOG_DEBUG, "rpcbind: could not decode"); +- return; ++ goto done; + } + + if (rqstp->rq_proc == RPCBPROC_SET +diff --git a/src/rpcb_svc_4.c b/src/rpcb_svc_4.c +index b673452..3e37b54 100644 +--- a/src/rpcb_svc_4.c ++++ b/src/rpcb_svc_4.c +@@ -220,7 +220,7 @@ rpcb_service_4(struct svc_req *rqstp, SVCXPRT *transp) + svcerr_decode(transp); + if (debugging) + (void) xlog(LOG_DEBUG, "rpcbind: could not decode\n"); +- return; ++ goto done; + } + + if (rqstp->rq_proc == RPCBPROC_SET +diff --git a/src/rpcb_svc_com.c b/src/rpcb_svc_com.c +index ff9ce6b..98ede61 100644 +--- a/src/rpcb_svc_com.c ++++ b/src/rpcb_svc_com.c +@@ -931,6 +931,14 @@ error: + if (call_msg.rm_xid != 0) + (void) free_slot_by_xid(call_msg.rm_xid); + out: ++ if (!svc_freeargs(transp, (xdrproc_t) xdr_rmtcall_args, (char *) &a)) { ++ if (debugging) { ++ (void) xlog(LOG_DEBUG, "unable to free arguments\n"); ++ if (doabort) { ++ rpcbind_abort(); ++ } ++ } ++ } + if (local_uaddr) + free(local_uaddr); + if (buf_alloc) +-- +2.11.0 + diff --git a/package/rpcbind/Config.in b/package/rpcbind/Config.in index 9ff64a589c..999820066c 100644 --- a/package/rpcbind/Config.in +++ b/package/rpcbind/Config.in @@ -3,9 +3,8 @@ config BR2_PACKAGE_RPCBIND # We really need libtirpc and can't work with the native RPC # implementation of toolchains. depends on BR2_TOOLCHAIN_HAS_THREADS # libtirpc + depends on BR2_USE_MMU # fork() select BR2_PACKAGE_LIBTIRPC - # fork() - depends on BR2_USE_MMU help The rpcbind utility is a server that converts RPC program numbers into universal addresses. diff --git a/package/rpcbind/rpcbind.mk b/package/rpcbind/rpcbind.mk index 4360d1f47a..5c216afc93 100644 --- a/package/rpcbind/rpcbind.mk +++ b/package/rpcbind/rpcbind.mk @@ -7,7 +7,7 @@ RPCBIND_VERSION = 0.2.3 RPCBIND_SITE = http://downloads.sourceforge.net/project/rpcbind/rpcbind/$(RPCBIND_VERSION) RPCBIND_SOURCE = rpcbind-$(RPCBIND_VERSION).tar.bz2 -RPCBIND_LICENSE = BSD-3c +RPCBIND_LICENSE = BSD-3-Clause RPCBIND_LICENSE_FILES = COPYING RPCBIND_CONF_ENV += \ @@ -22,9 +22,9 @@ RPCBIND_CONF_OPTS += --with-systemdsystemunitdir=no endif define RPCBIND_INSTALL_INIT_SYSTEMD - $(INSTALL) -m 0755 -D package/rpcbind/rpcbind.service \ + $(INSTALL) -m 0644 -D package/rpcbind/rpcbind.service \ $(TARGET_DIR)/usr/lib/systemd/system/rpcbind.service - $(INSTALL) -m 0755 -D package/rpcbind/rpcbind.socket \ + $(INSTALL) -m 0644 -D package/rpcbind/rpcbind.socket \ $(TARGET_DIR)/usr/lib/systemd/system/rpcbind.socket mkdir -p $(TARGET_DIR)/etc/systemd/system/sockets.target.wants ln -fs ../../../../usr/lib/systemd/system/rpcbind.socket \ @@ -36,5 +36,4 @@ define RPCBIND_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S30rpcbind endef - $(eval $(autotools-package)) diff --git a/package/rpi-armmem/rpi-armmem.mk b/package/rpi-armmem/rpi-armmem.mk index 95607f012c..373ebd5af3 100644 --- a/package/rpi-armmem/rpi-armmem.mk +++ b/package/rpi-armmem/rpi-armmem.mk @@ -4,7 +4,7 @@ # ################################################################################ -RPI_ARMMEM_VERSION = 3aee5f40c201b9fd50d6f79b8db89f4343820f2c +RPI_ARMMEM_VERSION = c06d1f1bc2736d91597282d6c189065e4ba66e31 RPI_ARMMEM_SITE = $(call github,bavison,arm-mem,$(RPI_ARMMEM_VERSION)) CFLAGS = -fPIC -std=gnu99 -O2 diff --git a/package/rpi-bt-firmware/Config.in b/package/rpi-bt-firmware/Config.in new file mode 100644 index 0000000000..dfc1cee06c --- /dev/null +++ b/package/rpi-bt-firmware/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_RPI_BT_FIRMWARE + bool "rpi-bt-firmware" + depends on BR2_arm || BR2_aarch64 + help + Raspberry Pi 3 and Zero W Broadcom BCM43438 Bluetooth module + firmware. + + https://aur.archlinux.org/packages/pi-bluetooth diff --git a/package/rpi-bt-firmware/rpi-bt-firmware.hash b/package/rpi-bt-firmware/rpi-bt-firmware.hash new file mode 100644 index 0000000000..f1d06e8ca8 --- /dev/null +++ b/package/rpi-bt-firmware/rpi-bt-firmware.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 5d9c9364277414ffd67b4a266cdf88e92f28eb937e5a413750e87b7a94161bef rpi-bt-firmware-a439f892bf549ddfefa9ba7ad1999cc515f233bf.tar.gz diff --git a/package/rpi-bt-firmware/rpi-bt-firmware.mk b/package/rpi-bt-firmware/rpi-bt-firmware.mk new file mode 100644 index 0000000000..255da19262 --- /dev/null +++ b/package/rpi-bt-firmware/rpi-bt-firmware.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# rpi-bt-firmware +# +################################################################################ + +RPI_BT_FIRMWARE_VERSION = a439f892bf549ddfefa9ba7ad1999cc515f233bf +RPI_BT_FIRMWARE_SITE = https://aur.archlinux.org/pi-bluetooth.git +RPI_BT_FIRMWARE_SITE_METHOD = git +RPI_BT_FIRMWARE_LICENSE = PROPRIETARY +RPI_BT_FIRMWARE_LICENSE_FILES = LICENCE.broadcom_bcm43xx + +# The BlueZ hciattach utility looks for firmware in /etc/firmware. Add a +# compatibility symlink. +define RPI_BT_FIRMWARE_INSTALL_TARGET_CMDS + ln -sf ../lib/firmware $(TARGET_DIR)/etc/firmware + $(INSTALL) -D -m 0644 $(@D)/BCM43430A1.hcd \ + $(TARGET_DIR)/lib/firmware/BCM43430A1.hcd +endef + +$(eval $(generic-package)) diff --git a/package/rpi-firmware/Config.in b/package/rpi-firmware/Config.in index c2983aa84e..da32b8e9d5 100644 --- a/package/rpi-firmware/Config.in +++ b/package/rpi-firmware/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_RPI_FIRMWARE bool "rpi-firmware" - depends on BR2_arm + depends on BR2_arm || BR2_aarch64 help RaspberryPi Firmware Pre-compiled binaries of the current bootloader and GPU firmware @@ -47,8 +47,8 @@ config BR2_PACKAGE_RPI_FIRMWARE_BOOT config BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTBS bool "Install Device Tree Blobs (DTBs)" - depends on !BR2_LINUX_KERNEL_DTS_SUPPORT default y + depends on !BR2_LINUX_KERNEL_DTS_SUPPORT help If you are using a Linux kernel <= 3.18, you should say 'y' here. @@ -58,15 +58,16 @@ config BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTBS config BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS bool "Install DTB overlays" + default y depends on BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTBS \ || BR2_LINUX_KERNEL_DTS_SUPPORT - default y help Say 'y' here if you need to load one or more of the DTB overlays, to support HATs (Hardware Attached on Top, add-on modules). config BR2_PACKAGE_RPI_FIRMWARE_INSTALL_VCDBG bool "vcdbg" + depends on BR2_arm # prebuilt arm binary, rpi-userland depends on BR2_TOOLCHAIN_USES_GLIBC depends on BR2_INSTALL_LIBSTDCPP # rpi-userland select BR2_PACKAGE_RPI_USERLAND @@ -74,6 +75,7 @@ config BR2_PACKAGE_RPI_FIRMWARE_INSTALL_VCDBG Install vcdbg, to help debug communication with the GPU. comment "vcdbg needs a glibc toolchain w/ C++" + depends on BR2_arm depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_INSTALL_LIBSTDCPP endif # BR2_PACKAGE_RPI_FIRMWARE diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk index 43bd68d658..29f31e891c 100644 --- a/package/rpi-firmware/rpi-firmware.mk +++ b/package/rpi-firmware/rpi-firmware.mk @@ -4,9 +4,9 @@ # ################################################################################ -RPI_FIRMWARE_VERSION = 6ba0dabbe76ce02d261cc4658c3484fa12b10385 +RPI_FIRMWARE_VERSION = 93aae1391121c44c7bbddf66abaf38725ffa2dc0 RPI_FIRMWARE_SITE = $(call github,raspberrypi,firmware,$(RPI_FIRMWARE_VERSION)) -RPI_FIRMWARE_LICENSE = BSD-3c +RPI_FIRMWARE_LICENSE = BSD-3-Clause RPI_FIRMWARE_LICENSE_FILES = boot/LICENCE.broadcom RPI_FIRMWARE_INSTALL_IMAGES = YES @@ -31,6 +31,8 @@ ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_INSTALL_VCDBG),y) define RPI_FIRMWARE_INSTALL_TARGET_CMDS $(INSTALL) -D -m 0700 $(@D)/$(if BR2_ARM_EABIHF,hardfp/)opt/vc/bin/vcdbg \ $(TARGET_DIR)/usr/sbin/vcdbg + $(INSTALL) -D -m 0644 $(@D)/$(if BR2_ARM_EABIHF,hardfp/)opt/vc/lib/libelftoolchain.so \ + $(TARGET_DIR)/usr/lib/libelftoolchain.so endef endif # INSTALL_VCDBG diff --git a/package/rpi-userland/rpi-userland.mk b/package/rpi-userland/rpi-userland.mk index ae03f74566..bc730f11c3 100644 --- a/package/rpi-userland/rpi-userland.mk +++ b/package/rpi-userland/rpi-userland.mk @@ -4,9 +4,9 @@ # ################################################################################ -RPI_USERLAND_VERSION = aa3977538b04038628ff5b3a39a8e42ddcbc9176 +RPI_USERLAND_VERSION = 3cd60d45bc7c9d3ec8daee574bc99027cb1bab9e RPI_USERLAND_SITE = $(call github,raspberrypi,userland,$(RPI_USERLAND_VERSION)) -RPI_USERLAND_LICENSE = BSD-3c +RPI_USERLAND_LICENSE = BSD-3-Clause RPI_USERLAND_LICENSE_FILES = LICENCE RPI_USERLAND_INSTALL_STAGING = YES RPI_USERLAND_CONF_OPTS = -DVMCS_INSTALL_PREFIX=/usr \ diff --git a/package/rpi-wifi-firmware/Config.in b/package/rpi-wifi-firmware/Config.in new file mode 100644 index 0000000000..2c87c75842 --- /dev/null +++ b/package/rpi-wifi-firmware/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_RPI_WIFI_FIRMWARE + bool "rpi-wifi-firmware" + depends on BR2_arm || BR2_aarch64 + select BR2_PACKAGE_LINUX_FIRMWARE + select BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX # runtime + help + Raspberry Pi 3 and Zero W Broadcom BCM43430 wifi module + NVRAM data. + + https://github.com/RPi-Distro/firmware-nonfree/ diff --git a/package/rpi-wifi-firmware/rpi-wifi-firmware.hash b/package/rpi-wifi-firmware/rpi-wifi-firmware.hash new file mode 100644 index 0000000000..c20506536f --- /dev/null +++ b/package/rpi-wifi-firmware/rpi-wifi-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 872fde4f9942d9aba805880d6eaddfe050305626fd58ad955bfe77c04f6b75a5 brcmfmac43430-sdio.txt diff --git a/package/rpi-wifi-firmware/rpi-wifi-firmware.mk b/package/rpi-wifi-firmware/rpi-wifi-firmware.mk new file mode 100644 index 0000000000..6c855a8e14 --- /dev/null +++ b/package/rpi-wifi-firmware/rpi-wifi-firmware.mk @@ -0,0 +1,23 @@ +################################################################################ +# +# rpi-wifi-firmware +# +################################################################################ + +RPI_WIFI_FIRMWARE_VERSION = 54bab3d6a6d43239c71d26464e6e10e5067ffea7 +# brcmfmac43430-sdio.bin comes from linux-firmware +RPI_WIFI_FIRMWARE_SOURCE = brcmfmac43430-sdio.txt +# git repo contains a lot of unrelated files +RPI_WIFI_FIRMWARE_SITE = https://raw.githubusercontent.com/RPi-Distro/firmware-nonfree/$(RPI_WIFI_FIRMWARE_VERSION)/brcm80211/brcm +RPI_WIFI_FIRMWARE_LICENSE = PROPRIETARY + +define RPI_WIFI_FIRMWARE_EXTRACT_CMDS + cp $(DL_DIR)/$($(PKG)_SOURCE) $(@D)/ +endef + +define RPI_WIFI_FIRMWARE_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0644 $(@D)/$(RPI_WIFI_FIRMWARE_SOURCE) \ + $(TARGET_DIR)/lib/firmware/brcm/$(RPI_WIFI_FIRMWARE_SOURCE) +endef + +$(eval $(generic-package)) diff --git a/package/rpm/0001-configure-ac-use-link-instead-of-compile-for-gcc-flags-test.patch b/package/rpm/0001-configure-ac-use-link-instead-of-compile-for-gcc-flags-test.patch new file mode 100644 index 0000000000..6f6a2aba51 --- /dev/null +++ b/package/rpm/0001-configure-ac-use-link-instead-of-compile-for-gcc-flags-test.patch @@ -0,0 +1,33 @@ +From b5f1895aae096836d6e8e155ee289e1b10fcabcb Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 10 Oct 2015 23:17:44 +0200 +Subject: [PATCH] configure.ac: use link instead of compile for gcc flags test + +The logic that tests whether gcc supports or not certain flags uses +AC_COMPILE_IFELSE(). However, when checking for stack smashing +protection support, an AC_LINK_IFELSE() test is needed, since the +build might work but not the link stage if certain libraries are +missing for proper stack smashing protection support. + +Therefore, this commit switches to use AC_LINK_IFELSE(). + +[Upstream commit: https://github.com/rpm-software-management/rpm/commit/b5f1895aae096836d6e8e155ee289e1b10fcabcb] +Signed-off-by: Thomas Petazzoni +Signed-off-by: James Knight +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 6ece8c9fd..822294c3f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -43,7 +43,7 @@ if test "$GCC" = yes; then + echo + for flag in $cflags_to_try; do + CFLAGS="$CFLAGS $flag -Werror" +- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[return 0;]])],[ ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[return 0;]])],[ + echo " $flag" + RPMCFLAGS="$RPMCFLAGS $flag" + ],[]) diff --git a/package/rpm/0002-configure-ac-correct-stack-protector-check.patch b/package/rpm/0002-configure-ac-correct-stack-protector-check.patch new file mode 100644 index 0000000000..9d2942b4fa --- /dev/null +++ b/package/rpm/0002-configure-ac-correct-stack-protector-check.patch @@ -0,0 +1,45 @@ +From c810a0aca3f1148d2072d44b91b8cc9caeb4cf19 Mon Sep 17 00:00:00 2001 +From: James Knight +Date: Wed, 16 Nov 2016 15:54:46 -0500 +Subject: [PATCH] configure.ac: correct stack protector check + +If a used toolchain accepts the `-fstack-protector` option but does not +provide a stack smashing protector implementation (ex. libssp), linking +will fail: + + .libs/rpmio.o: In function `Fdescr': + rpmio.c:(.text+0x672): undefined reference to `__stack_chk_fail_local' + .libs/rpmio.o: In function `Fdopen': + rpmio.c:(.text+0xce9): undefined reference to `__stack_chk_fail_local' + .libs/rpmio.o: In function `ufdCopy': + rpmio.c:(.text+0x10f7): undefined reference to `__stack_chk_fail_local' + ... + +This is a result of testing for `-fstack-protector` support using a main +that GCC does not inject guards. GCC's manual notes that stack protector +code is only added when "[functions] that call alloca, and functions +with buffers larger than 8 bytes" [1]. This commit adjusts the stack +protector check to allocate memory on the stack (via `alloca`). + +[1]: https://gcc.gnu.org/onlinedocs/gcc-4.4.2/gcc/Optimize-Options.html + +Signed-off-by: James Knight +[Upstream commit: https://github.com/rpm-software-management/rpm/commit/c810a0aca3f1148d2072d44b91b8cc9caeb4cf19] +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index a9730d3bc..b4b3fe8fb 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -43,7 +43,7 @@ if test "$GCC" = yes; then + echo + for flag in $cflags_to_try; do + CFLAGS="$CFLAGS $flag -Werror" +- AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[return 0;]])],[ ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[alloca(100);]])],[ + echo " $flag" + RPMCFLAGS="$RPMCFLAGS $flag" + ],[]) diff --git a/package/rpm/0001-Detect-bfd.h-to-enable-disable-sepdebugcrcfix-buildi.patch b/package/rpm/0003-Detect-bfd.h-to-enable-disable-sepdebugcrcfix-buildi.patch similarity index 100% rename from package/rpm/0001-Detect-bfd.h-to-enable-disable-sepdebugcrcfix-buildi.patch rename to package/rpm/0003-Detect-bfd.h-to-enable-disable-sepdebugcrcfix-buildi.patch diff --git a/package/rpm/0002-tools-sepdebugcrcfix.c-fix-build-with-recent-binutil.patch b/package/rpm/0004-tools-sepdebugcrcfix.c-fix-build-with-recent-binutil.patch similarity index 100% rename from package/rpm/0002-tools-sepdebugcrcfix.c-fix-build-with-recent-binutil.patch rename to package/rpm/0004-tools-sepdebugcrcfix.c-fix-build-with-recent-binutil.patch diff --git a/package/rpm/Config.in b/package/rpm/Config.in index 9b4c8a7e82..aa857ef2be 100644 --- a/package/rpm/Config.in +++ b/package/rpm/Config.in @@ -12,7 +12,6 @@ config BR2_PACKAGE_RPM select BR2_PACKAGE_BEECRYPT if !BR2_PACKAGE_LIBNSS select BR2_PACKAGE_BERKELEYDB select BR2_PACKAGE_FILE - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE select BR2_PACKAGE_POPT select BR2_PACKAGE_ZLIB help diff --git a/package/rpm/rpm.hash b/package/rpm/rpm.hash index c9c4d659a1..7ae9ec73d9 100644 --- a/package/rpm/rpm.hash +++ b/package/rpm/rpm.hash @@ -1,5 +1,2 @@ -# From http://rpm.org/wiki/Releases/4.13.0 -sha1 c6ce4f879ca6a75340921093105e5ef9d33381d3 rpm-4.13.0.tar.bz2 -# Locally computed -sha256 a3e5568d721737a24141737e6036bb39ba9dfbeaa03fa4a51cc7881a243e0c5d b5f1895aae096836d6e8e155ee289e1b10fcabcb.patch -sha256 7ab0e08e143bb2d43d5b0553ee22ea34da15a611c597860a6110745467d20fa8 c810a0aca3f1148d2072d44b91b8cc9caeb4cf19.patch +# From http://rpm.org/wiki/Releases/4.13.0.1 +sha1 9566f95f38fcb214e439c552f378c2f64ba0aff9 rpm-4.13.0.1.tar.bz2 diff --git a/package/rpm/rpm.mk b/package/rpm/rpm.mk index 2e829d751a..159ae72aa8 100644 --- a/package/rpm/rpm.mk +++ b/package/rpm/rpm.mk @@ -4,18 +4,17 @@ # ################################################################################ -RPM_VERSION = 4.13.0 +RPM_VERSION_MAJOR = 4.13 +RPM_VERSION = $(RPM_VERSION_MAJOR).0.1 RPM_SOURCE = rpm-$(RPM_VERSION).tar.bz2 -RPM_SITE = https://github.com/rpm-software-management/rpm/releases/download/rpm-$(RPM_VERSION)-release +RPM_SITE = http://ftp.rpm.org/releases/rpm-$(RPM_VERSION_MAJOR).x RPM_DEPENDENCIES = host-pkgconf berkeleydb file popt zlib -RPM_LICENSE = GPLv2 or LGPLv2 (library only) +RPM_LICENSE = GPL-2.0 or LGPL-2.0 (library only) RPM_LICENSE_FILES = COPYING -RPM_PATCH = \ - https://github.com/rpm-software-management/rpm/commit/b5f1895aae096836d6e8e155ee289e1b10fcabcb.patch \ - https://github.com/rpm-software-management/rpm/commit/c810a0aca3f1148d2072d44b91b8cc9caeb4cf19.patch +RPM_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) -# b5f1895aae096836d6e8e155ee289e1b10fcabcb.patch -# c810a0aca3f1148d2072d44b91b8cc9caeb4cf19.patch +# 0001-configure-ac-use-link-instead-of-compile-for-gcc-flags-test.patch +# 0002-configure-ac-correct-stack-protector-check.patch RPM_AUTORECONF = YES RPM_CONF_OPTS = \ @@ -44,8 +43,7 @@ RPM_CONF_OPTS += --with-beecrypt RPM_CFLAGS += -I$(STAGING_DIR)/usr/include/beecrypt endif -ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y) -RPM_DEPENDENCIES += gettext +ifeq ($(BR2_PACKAGE_GETTEXT_PROVIDES_LIBINTL),y) RPM_CONF_OPTS += --with-libintl-prefix=$(STAGING_DIR)/usr else RPM_CONF_OPTS += --without-libintl-prefix @@ -75,12 +73,6 @@ ifeq ($(BR2_PACKAGE_BINUTILS),y) RPM_DEPENDENCIES += binutils endif -# RPM, when using NLS, requires GNU gettext's _nl_msg_cat_cntr, which is not -# provided in musl. -ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) -RPM_CONF_OPTS += --disable-nls -endif - # ac_cv_prog_cc_c99: RPM uses non-standard GCC extensions (ex. `asm`). RPM_CONF_ENV = \ ac_cv_prog_cc_c99='-std=gnu99' \ diff --git a/package/rrdtool/Config.in b/package/rrdtool/Config.in index 3d8c0c6444..631ed32847 100644 --- a/package/rrdtool/Config.in +++ b/package/rrdtool/Config.in @@ -4,7 +4,6 @@ config BR2_PACKAGE_RRDTOOL depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_USE_MMU # libglib2 select BR2_PACKAGE_LIBGLIB2 - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT help RRDtool is the OpenSource industry standard, high performance data logging and graphing system for time series data. diff --git a/package/rrdtool/rrdtool.mk b/package/rrdtool/rrdtool.mk index abca1d80f5..ea5c892e4a 100644 --- a/package/rrdtool/rrdtool.mk +++ b/package/rrdtool/rrdtool.mk @@ -6,9 +6,9 @@ RRDTOOL_VERSION = 1.6.0 RRDTOOL_SITE = http://oss.oetiker.ch/rrdtool/pub -RRDTOOL_LICENSE = GPLv2+ with FLOSS license exceptions as explained in COPYRIGHT +RRDTOOL_LICENSE = GPL-2.0+ with FLOSS license exceptions as explained in COPYRIGHT RRDTOOL_LICENSE_FILES = COPYRIGHT LICENSE -RRDTOOL_DEPENDENCIES = host-pkgconf libglib2 +RRDTOOL_DEPENDENCIES = host-pkgconf libglib2 $(TARGET_NLS_DEPENDENCIES) # autoreconf needed to avoid link failure due to missing -lintl, # gettextize needed as a consequence of autoreconf RRDTOOL_AUTORECONF = YES @@ -25,11 +25,6 @@ RRDTOOL_CONF_OPTS = \ --disable-ruby \ --disable-tcl - -ifeq ($(BR2_NEEDS_GETTEXT),y) -RRDTOOL_DEPENDENCIES += gettext -endif - ifeq ($(BR2_PACKAGE_RRDTOOL_RRDGRAPH),y) RRDTOOL_DEPENDENCIES += cairo pango else diff --git a/package/rs485conf/rs485conf.mk b/package/rs485conf/rs485conf.mk index 8749268fd5..9d1b76429d 100644 --- a/package/rs485conf/rs485conf.mk +++ b/package/rs485conf/rs485conf.mk @@ -6,7 +6,7 @@ RS485CONF_VERSION = 5c8d00cf70950fab3454549b81dea843d844492a RS485CONF_SITE = $(call github,mniestroj,rs485conf,$(RS485CONF_VERSION)) -RS485CONF_LICENSE = BSD-3c +RS485CONF_LICENSE = BSD-3-Clause RS485CONF_LICENSE_FILES = LICENSE define RS485CONF_BUILD_CMDS diff --git a/package/rsh-redone/rsh-redone.mk b/package/rsh-redone/rsh-redone.mk index a62c2df193..f63da648ce 100644 --- a/package/rsh-redone/rsh-redone.mk +++ b/package/rsh-redone/rsh-redone.mk @@ -7,7 +7,7 @@ RSH_REDONE_VERSION = 85 RSH_REDONE_SOURCE = rsh-redone_$(RSH_REDONE_VERSION).orig.tar.gz RSH_REDONE_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/r/rsh-redone -RSH_REDONE_LICENSE = GPLv2 +RSH_REDONE_LICENSE = GPL-2.0 RSH_REDONE_LICENSE_FILES = rsh.c RSH_REDONE_BINS-y = diff --git a/package/rsync/rsync.mk b/package/rsync/rsync.mk index e1e850c440..e6b955ae76 100644 --- a/package/rsync/rsync.mk +++ b/package/rsync/rsync.mk @@ -6,7 +6,7 @@ RSYNC_VERSION = 3.1.2 RSYNC_SITE = http://rsync.samba.org/ftp/rsync/src -RSYNC_LICENSE = GPLv3+ +RSYNC_LICENSE = GPL-3.0+ RSYNC_LICENSE_FILES = COPYING RSYNC_DEPENDENCIES = zlib popt RSYNC_CONF_OPTS = \ diff --git a/package/rsyslog/Config.in b/package/rsyslog/Config.in index c4dc97af33..8c024e69c7 100644 --- a/package/rsyslog/Config.in +++ b/package/rsyslog/Config.in @@ -1,9 +1,5 @@ config BR2_PACKAGE_RSYSLOG bool "rsyslog" - select BR2_PACKAGE_ZLIB - select BR2_PACKAGE_LIBESTR - select BR2_PACKAGE_LIBLOGGING - select BR2_PACKAGE_LIBFASTJSON depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # fork() depends on !BR2_STATIC_LIBS # modules @@ -12,6 +8,10 @@ config BR2_PACKAGE_RSYSLOG # even though rsyslog already depends on threads for itself: depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_THREADS depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS + select BR2_PACKAGE_ZLIB + select BR2_PACKAGE_LIBESTR + select BR2_PACKAGE_LIBLOGGING + select BR2_PACKAGE_LIBFASTJSON help Rsyslog is a powerful and flexible syslog implementation diff --git a/package/rsyslog/rsyslog.mk b/package/rsyslog/rsyslog.mk index 3254d99933..e32505be22 100644 --- a/package/rsyslog/rsyslog.mk +++ b/package/rsyslog/rsyslog.mk @@ -6,7 +6,7 @@ RSYSLOG_VERSION = 8.22.0 RSYSLOG_SITE = http://rsyslog.com/files/download/rsyslog -RSYSLOG_LICENSE = GPLv3, LGPLv3, Apache-2.0 +RSYSLOG_LICENSE = GPL-3.0, LGPL-3.0, Apache-2.0 RSYSLOG_LICENSE_FILES = COPYING COPYING.LESSER COPYING.ASL20 RSYSLOG_DEPENDENCIES = zlib libestr liblogging libfastjson host-pkgconf RSYSLOG_CONF_ENV = ac_cv_prog_cc_c99='-std=c99' @@ -91,7 +91,7 @@ define RSYSLOG_INSTALL_INIT_SYSTEMD mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants ln -sf ../../../../usr/lib/systemd/system/rsyslog.service \ $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/rsyslog.service - ln -sf ../../../../usr/lib/systemd/system/rsyslog.service \ + ln -sf ../../../usr/lib/systemd/system/rsyslog.service \ $(TARGET_DIR)/etc/systemd/system/syslog.service endef diff --git a/package/rt-tests/Config.in b/package/rt-tests/Config.in index b39856d34f..23e911b9fd 100644 --- a/package/rt-tests/Config.in +++ b/package/rt-tests/Config.in @@ -23,7 +23,6 @@ config BR2_PACKAGE_RT_TESTS http://rt.wiki.kernel.org - comment "rt-tests may not work on MIPS with an external uClibc toolchain" depends on BR2_PACKAGE_RT_TESTS depends on BR2_TOOLCHAIN_EXTERNAL_UCLIBC diff --git a/package/rt-tests/rt-tests.mk b/package/rt-tests/rt-tests.mk index addc15e6fd..273949a987 100644 --- a/package/rt-tests/rt-tests.mk +++ b/package/rt-tests/rt-tests.mk @@ -7,7 +7,7 @@ RT_TESTS_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/rt-tests RT_TESTS_SOURCE = rt-tests-$(RT_TESTS_VERSION).tar.xz RT_TESTS_VERSION = 1.0 -RT_TESTS_LICENSE = GPLv2+ +RT_TESTS_LICENSE = GPL-2.0+ RT_TESTS_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_PYTHON),y) @@ -15,16 +15,16 @@ RT_TESTS_DEPENDENCIES = python endif define RT_TESTS_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ - CC="$(TARGET_CC)" \ - CFLAGS="$(TARGET_CFLAGS)" \ + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ + CC="$(TARGET_CC)" \ + CFLAGS="$(TARGET_CFLAGS)" \ prefix=/usr endef define RT_TESTS_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ - DESTDIR="$(TARGET_DIR)" \ - prefix=/usr \ + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ + DESTDIR="$(TARGET_DIR)" \ + prefix=/usr \ $(if $(BR2_PACKAGE_PYTHON),PYLIB=/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages/,PYLIB="") \ install endef diff --git a/package/rtai/rtai.mk b/package/rtai/rtai.mk index dfd8e0c190..90f2cc4c8d 100644 --- a/package/rtai/rtai.mk +++ b/package/rtai/rtai.mk @@ -20,11 +20,11 @@ RTAI_DEPENDENCIES = linux RTAI_CONF_OPTS = \ --includedir=/usr/include/rtai \ - --with-linux-dir=$(LINUX_DIR) \ - --disable-leds \ - --enable-usi \ - --enable-align-priority \ - --disable-rtailab \ + --with-linux-dir=$(LINUX_DIR) \ + --disable-leds \ + --enable-usi \ + --enable-align-priority \ + --disable-rtailab \ --with-module-dir=/lib/modules/$(LINUX_VERSION_PROBED)/rtai RTAI_MAKE = $(MAKE1) diff --git a/package/rtl8188eu/Config.in b/package/rtl8188eu/Config.in index 09cde24a0f..9263802e09 100644 --- a/package/rtl8188eu/Config.in +++ b/package/rtl8188eu/Config.in @@ -4,14 +4,14 @@ config BR2_PACKAGE_RTL8188EU help A standalone driver for the RTL8188EU USB Wi-Fi adapter. This is needed only for Linux kernels before 3.12. - Since 3.12, there is a (staging) driver in mainline, with a similar - codebase. + Since 3.12, there is a (staging) driver in mainline, with a + similar codebase. - Make sure your target kernel has the CONFIG_WIRELESS_EXT config - option enabled. + Make sure your target kernel has the CONFIG_WIRELESS_EXT + config option enabled. - Note: this package needs a firmware loading mechanism to load the - binary blob for the chip to work. + Note: this package needs a firmware loading mechanism to load + the binary blob for the chip to work. https://github.com/lwfinger/rtl8188eu diff --git a/package/rtl8188eu/rtl8188eu.mk b/package/rtl8188eu/rtl8188eu.mk index 8560be297d..5c1cc73da4 100644 --- a/package/rtl8188eu/rtl8188eu.mk +++ b/package/rtl8188eu/rtl8188eu.mk @@ -6,7 +6,7 @@ RTL8188EU_VERSION = ced2b64a1139dcaf86947e3a9f7617dffbd64239 RTL8188EU_SITE = $(call github,lwfinger,rtl8188eu,$(RTL8188EU_VERSION)) -RTL8188EU_LICENSE = GPLv2, proprietary (rtl8188eufw.bin firmware blob) +RTL8188EU_LICENSE = GPL-2.0, proprietary (rtl8188eufw.bin firmware blob) RTL8188EU_LICENSE_FILES = COPYING RTL8188EU_MODULE_MAKE_OPTS = CONFIG_RTL8188EU=m diff --git a/package/rtl8723bs/rtl8723bs.mk b/package/rtl8723bs/rtl8723bs.mk index f5bc1acd3c..4c6303c2ef 100644 --- a/package/rtl8723bs/rtl8723bs.mk +++ b/package/rtl8723bs/rtl8723bs.mk @@ -6,7 +6,7 @@ RTL8723BS_VERSION = 11ab92d8ccd71c80f0102828366b14ef6b676fb2 RTL8723BS_SITE = $(call github,hadess,rtl8723bs,$(RTL8723BS_VERSION)) -RTL8723BS_LICENSE = GPLv2, proprietary (*.bin firmware blobs) +RTL8723BS_LICENSE = GPL-2.0, proprietary (*.bin firmware blobs) RTL8723BS_MODULE_MAKE_OPTS = \ CONFIG_RTL8723BS=m \ diff --git a/package/rtl8821au/rtl8821au.hash b/package/rtl8821au/rtl8821au.hash index 01f22cc072..f35d57910c 100644 --- a/package/rtl8821au/rtl8821au.hash +++ b/package/rtl8821au/rtl8821au.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 6e4334b0718b2ac611bf8b4d7a493b016bdb1c24daa7b459f091b92b6fd961c7 rtl8821au-c33ddb05a77741d2a9c9b974ad0cf0fa26d17b6e.tar.gz +sha256 23889fe4bf518dbadcbfac613f64a74bbce177267d9337a98843e4e7de8f1896 rtl8821au-b018b446fb0729fa659e7eead475d6c13f192642.tar.gz diff --git a/package/rtl8821au/rtl8821au.mk b/package/rtl8821au/rtl8821au.mk index 9ba43ef146..b6ad431b8b 100644 --- a/package/rtl8821au/rtl8821au.mk +++ b/package/rtl8821au/rtl8821au.mk @@ -4,15 +4,16 @@ # ################################################################################ -RTL8821AU_VERSION = c33ddb05a77741d2a9c9b974ad0cf0fa26d17b6e +RTL8821AU_VERSION = b018b446fb0729fa659e7eead475d6c13f192642 RTL8821AU_SITE = $(call github,abperiasamy,rtl8812AU_8821AU_linux,$(RTL8821AU_VERSION)) -RTL8821AU_LICENSE = GPLv2 -RTL8821AU_LICENSE_FILES = COPYING +RTL8821AU_LICENSE = GPL-2.0 +RTL8821AU_LICENSE_FILES = LICENSE RTL8821AU_MODULE_MAKE_OPTS = \ CONFIG_RTL8812AU_8821AU=m \ KVER=$(LINUX_VERSION_PROBED) \ - USER_EXTRA_CFLAGS=-DCONFIG_$(call qstrip,$(BR2_ENDIAN))_ENDIAN + USER_EXTRA_CFLAGS="-DCONFIG_$(call qstrip,$(BR2_ENDIAN))_ENDIAN \ + -Wno-error" $(eval $(kernel-module)) $(eval $(generic-package)) diff --git a/package/rtmpdump/rtmpdump.mk b/package/rtmpdump/rtmpdump.mk index 2e3428f15e..f5d430ce36 100644 --- a/package/rtmpdump/rtmpdump.mk +++ b/package/rtmpdump/rtmpdump.mk @@ -4,12 +4,12 @@ # ################################################################################ -RTMPDUMP_VERSION = a107cef9b392616dff54fabfd37f985ee2190a6f +RTMPDUMP_VERSION = fa8646daeb19dfd12c181f7d19de708d623704c0 RTMPDUMP_SITE = git://git.ffmpeg.org/rtmpdump RTMPDUMP_INSTALL_STAGING = YES -# Note that rtmpdump is GPLv2 but librtmp has its own license and since we only -# care about librtmp, it's LGPLv2.1+ -RTMPDUMP_LICENSE = LGPLv2.1+ +# Note that rtmpdump is GPL-2.0 but librtmp has its own license and since we only +# care about librtmp, it's LGPL-2.1+ +RTMPDUMP_LICENSE = LGPL-2.1+ RTMPDUMP_LICENSE_FILES = librtmp/COPYING RTMPDUMP_DEPENDENCIES = zlib diff --git a/package/rtorrent/rtorrent.mk b/package/rtorrent/rtorrent.mk index edde02ee4b..51dc9eecc9 100644 --- a/package/rtorrent/rtorrent.mk +++ b/package/rtorrent/rtorrent.mk @@ -8,7 +8,7 @@ RTORRENT_VERSION = 0.9.6 RTORRENT_SITE = http://rtorrent.net/downloads RTORRENT_DEPENDENCIES = host-pkgconf libcurl libtorrent ncurses RTORRENT_AUTORECONF = YES -RTORRENT_LICENSE = GPLv2 +RTORRENT_LICENSE = GPL-2.0 RTORRENT_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/ruby/ruby.hash b/package/ruby/ruby.hash index 19722a3c96..d066186d56 100644 --- a/package/ruby/ruby.hash +++ b/package/ruby/ruby.hash @@ -1,2 +1,6 @@ -# From https://www.ruby-lang.org/en/news/2016/12/25/ruby-2-4-0-released/ -sha256 3a87fef45cba48b9322236be60c455c13fd4220184ce7287600361319bb63690 ruby-2.4.0.tar.xz +# From https://www.ruby-lang.org/en/news/2017/09/14/ruby-2-4-2-released/ +sha256 748a8980d30141bd1a4124e11745bb105b436fb1890826e0d2b9ea31af27f735 ruby-2.4.2.tar.xz +# License files, Locally calculated +sha256 5cda9584acd5e1096276a375085b7e659fa67a072fd69ec2c3931e54f7f563bb LEGAL +sha256 f5eb1b2956d5f7a67b2e5722a3749bc2fe86f9c580f2e3f5a08519cf073b5864 COPYING +sha256 a5e3042dacb53eebda91f3b1caefbfec8307711df8c4ed1ed20e4e97c43307a4 BSDL diff --git a/package/ruby/ruby.mk b/package/ruby/ruby.mk index f0dc63b471..4bf1a14cee 100644 --- a/package/ruby/ruby.mk +++ b/package/ruby/ruby.mk @@ -5,7 +5,7 @@ ################################################################################ RUBY_VERSION_MAJOR = 2.4 -RUBY_VERSION = $(RUBY_VERSION_MAJOR).0 +RUBY_VERSION = $(RUBY_VERSION_MAJOR).2 RUBY_VERSION_EXT = 2.4.0 RUBY_SITE = http://cache.ruby-lang.org/pub/ruby/$(RUBY_VERSION_MAJOR) RUBY_SOURCE = ruby-$(RUBY_VERSION).tar.xz @@ -17,7 +17,7 @@ HOST_RUBY_CONF_OPTS = \ --disable-install-doc \ --with-out-ext=curses,openssl,readline \ --without-gmp -RUBY_LICENSE = Ruby or BSD-2c, BSD-3c, others +RUBY_LICENSE = Ruby or BSD-2-Clause, BSD-3-Clause, others RUBY_LICENSE_FILES = LEGAL COPYING BSDL RUBY_CFLAGS = $(TARGET_CFLAGS) diff --git a/package/runc/runc.hash b/package/runc/runc.hash index 0b6a24ffcb..3e188c5c79 100644 --- a/package/runc/runc.hash +++ b/package/runc/runc.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 374822cc2895ed3899b7a3a03b566413ea782fccec1307231f27894e9c6d5bea runc-50a19c6ff828c58e5dab13830bd3dacde268afe5.tar.gz +sha256 b5c50d7d9a5f610d5424f96196efa306ec708fd9299302dd919545099c16b7c1 runc-9c2d8d184e5da67c95d601382adf14862e4f2228.tar.gz diff --git a/package/runc/runc.mk b/package/runc/runc.mk index 95afcaaff8..fb3fec20f5 100644 --- a/package/runc/runc.mk +++ b/package/runc/runc.mk @@ -4,7 +4,7 @@ # ################################################################################ -RUNC_VERSION = 50a19c6ff828c58e5dab13830bd3dacde268afe5 +RUNC_VERSION = 9c2d8d184e5da67c95d601382adf14862e4f2228 RUNC_SITE = $(call github,opencontainers,runc,$(RUNC_VERSION)) RUNC_LICENSE = Apache-2.0 RUNC_LICENSE_FILES = LICENSE @@ -38,7 +38,7 @@ define RUNC_CONFIGURE_CMDS endef define RUNC_BUILD_CMDS - cd $(@D) && $(RUNC_MAKE_ENV) $(HOST_DIR)/usr/bin/go \ + cd $(@D) && $(RUNC_MAKE_ENV) $(HOST_DIR)/bin/go \ build -v -o $(@D)/bin/runc \ -tags "$(RUNC_GOTAGS)" -ldflags "$(RUNC_GLDFLAGS)" . endef diff --git a/package/s6-dns/Config.in b/package/s6-dns/Config.in new file mode 100644 index 0000000000..e982fdad0d --- /dev/null +++ b/package/s6-dns/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_S6_DNS + bool "s6-dns" + depends on BR2_USE_MMU # skalibs + select BR2_PACKAGE_SKALIBS + help + s6-dns is a suite of DNS client programs and libraries for + Unix systems, as an alternative to the BIND, djbdns or other + DNS clients. + + http://skarnet.org/software/s6-dns/ diff --git a/package/s6-dns/s6-dns.hash b/package/s6-dns/s6-dns.hash new file mode 100644 index 0000000000..2e019ce7d6 --- /dev/null +++ b/package/s6-dns/s6-dns.hash @@ -0,0 +1,2 @@ +# Locally generated +sha256 e31b454aef2bd0e35afb497c42dd0d49c011e0535ad2bf4dd6719afcf6e5e6b4 s6-dns-2.2.0.1.tar.gz diff --git a/package/s6-dns/s6-dns.mk b/package/s6-dns/s6-dns.mk new file mode 100644 index 0000000000..f0c63f35c3 --- /dev/null +++ b/package/s6-dns/s6-dns.mk @@ -0,0 +1,45 @@ +################################################################################ +# +# s6-dns +# +################################################################################ + +S6_DNS_VERSION = 2.2.0.1 +S6_DNS_SITE = http://skarnet.org/software/s6-dns +S6_DNS_LICENSE = ISC +S6_DNS_LICENSE_FILES = COPYING +S6_DNS_INSTALL_STAGING = YES +S6_DNS_DEPENDENCIES = skalibs + +S6_DNS_CONF_OPTS = \ + --prefix=/usr \ + --with-sysdeps=$(STAGING_DIR)/usr/lib/skalibs/sysdeps \ + --with-include=$(STAGING_DIR)/usr/include \ + --with-dynlib=$(STAGING_DIR)/usr/lib \ + --with-lib=$(STAGING_DIR)/usr/lib/skalibs \ + $(if $(BR2_STATIC_LIBS),,--disable-allstatic) \ + $(SHARED_STATIC_LIBS_OPTS) + +define S6_DNS_CONFIGURE_CMDS + (cd $(@D); $(TARGET_CONFIGURE_OPTS) ./configure $(S6_DNS_CONF_OPTS)) +endef + +define S6_DNS_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define S6_DNS_REMOVE_STATIC_LIB_DIR + rm -rf $(TARGET_DIR)/usr/lib/s6-dns +endef + +S6_DNS_POST_INSTALL_TARGET_HOOKS += S6_DNS_REMOVE_STATIC_LIB_DIR + +define S6_DNS_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install +endef + +define S6_DNS_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) install +endef + +$(eval $(generic-package)) diff --git a/package/s6-linux-init/Config.in b/package/s6-linux-init/Config.in new file mode 100644 index 0000000000..b56b861f99 --- /dev/null +++ b/package/s6-linux-init/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_S6_LINUX_INIT + bool "s6-linux-init" + depends on BR2_USE_MMU # s6 + select BR2_PACKAGE_S6 + select BR2_PACKAGE_S6_LINUX_UTILS + select BR2_PACKAGE_S6_PORTABLE_UTILS + help + s6-linux-init is a set of minimalistic tools to create a + s6-based init system, including a /sbin/init binary, on a + Linux kernel. + + http://skarnet.org/software/s6-linux-init/ diff --git a/package/s6-linux-init/s6-linux-init.hash b/package/s6-linux-init/s6-linux-init.hash new file mode 100644 index 0000000000..2ba3657ec3 --- /dev/null +++ b/package/s6-linux-init/s6-linux-init.hash @@ -0,0 +1,2 @@ +# Locally generated +sha256 9ee2e8a5abc250bcb2be7d07566592ba5cbe3abce858f60853d3ac45b1ccdd79 s6-linux-init-0.3.1.1.tar.gz diff --git a/package/s6-linux-init/s6-linux-init.mk b/package/s6-linux-init/s6-linux-init.mk new file mode 100644 index 0000000000..c5dee02865 --- /dev/null +++ b/package/s6-linux-init/s6-linux-init.mk @@ -0,0 +1,36 @@ +################################################################################ +# +# s6-linux-init +# +################################################################################ + +S6_LINUX_INIT_VERSION = 0.3.1.1 +S6_LINUX_INIT_SITE = http://skarnet.org/software/s6-linux-init +S6_LINUX_INIT_LICENSE = ISC +S6_LINUX_INIT_LICENSE_FILES = COPYING +S6_LINUX_INIT_DEPENDENCIES = s6 s6-linux-utils s6-portable-utils + +S6_LINUX_INIT_CONF_OPTS = \ + --prefix=/usr \ + --with-sysdeps=$(STAGING_DIR)/usr/lib/skalibs/sysdeps \ + --with-include=$(STAGING_DIR)/usr/include \ + --with-dynlib=$(STAGING_DIR)/usr/lib \ + --with-lib=$(STAGING_DIR)/usr/lib/execline \ + --with-lib=$(STAGING_DIR)/usr/lib/s6 \ + --with-lib=$(STAGING_DIR)/usr/lib/skalibs \ + $(if $(BR2_STATIC_LIBS),,--disable-allstatic) \ + $(SHARED_STATIC_LIBS_OPTS) + +define S6_LINUX_INIT_CONFIGURE_CMDS + (cd $(@D); $(TARGET_CONFIGURE_OPTS) ./configure $(S6_LINUX_INIT_CONF_OPTS)) +endef + +define S6_LINUX_INIT_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define S6_LINUX_INIT_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install +endef + +$(eval $(generic-package)) diff --git a/package/s6-linux-utils/Config.in b/package/s6-linux-utils/Config.in new file mode 100644 index 0000000000..43e6bb9144 --- /dev/null +++ b/package/s6-linux-utils/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_S6_LINUX_UTILS + bool "s6-linux-utils" + depends on BR2_USE_MMU # skalibs + select BR2_PACKAGE_SKALIBS + help + s6-linux-utils is a set of minimalistic Linux-specific + system utilities. + + http://skarnet.org/software/s6-linux-utils/ diff --git a/package/s6-linux-utils/s6-linux-utils.hash b/package/s6-linux-utils/s6-linux-utils.hash new file mode 100644 index 0000000000..70870ab914 --- /dev/null +++ b/package/s6-linux-utils/s6-linux-utils.hash @@ -0,0 +1,2 @@ +# Locally generated +sha256 9562ef293c916c4448d16fcbbc065eb28fd995ac34cd3538179cbc3ee056ab93 s6-linux-utils-2.4.0.1.tar.gz diff --git a/package/s6-linux-utils/s6-linux-utils.mk b/package/s6-linux-utils/s6-linux-utils.mk new file mode 100644 index 0000000000..3f1745708d --- /dev/null +++ b/package/s6-linux-utils/s6-linux-utils.mk @@ -0,0 +1,34 @@ +################################################################################ +# +# s6-linux-utils +# +################################################################################ + +S6_LINUX_UTILS_VERSION = 2.4.0.1 +S6_LINUX_UTILS_SITE = http://skarnet.org/software/s6-linux-utils +S6_LINUX_UTILS_LICENSE = ISC +S6_LINUX_UTILS_LICENSE_FILES = COPYING +S6_LINUX_UTILS_DEPENDENCIES = skalibs + +S6_LINUX_UTILS_CONF_OPTS = \ + --prefix=/usr \ + --with-sysdeps=$(STAGING_DIR)/usr/lib/skalibs/sysdeps \ + --with-include=$(STAGING_DIR)/usr/include \ + --with-dynlib=$(STAGING_DIR)/usr/lib \ + --with-lib=$(STAGING_DIR)/usr/lib/skalibs \ + $(if $(BR2_STATIC_LIBS),,--disable-allstatic) \ + $(SHARED_STATIC_LIBS_OPTS) + +define S6_LINUX_UTILS_CONFIGURE_CMDS + (cd $(@D); $(TARGET_CONFIGURE_OPTS) ./configure $(S6_LINUX_UTILS_CONF_OPTS)) +endef + +define S6_LINUX_UTILS_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define S6_LINUX_UTILS_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install +endef + +$(eval $(generic-package)) diff --git a/package/s6-networking/Config.in b/package/s6-networking/Config.in new file mode 100644 index 0000000000..bdf58476c4 --- /dev/null +++ b/package/s6-networking/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_S6_NETWORKING + bool "s6-networking" + depends on BR2_USE_MMU # s6 + select BR2_PACKAGE_S6_DNS + select BR2_PACKAGE_S6 + help + s6-networking is a suite of small networking utilities for + Unix systems. It includes command-line client and server + management, TCP access control, privilege escalation across + UNIX domain sockets, IDENT protocol management and clock + synchronization. + + http://skarnet.org/software/s6-networking/ diff --git a/package/s6-networking/s6-networking.hash b/package/s6-networking/s6-networking.hash new file mode 100644 index 0000000000..3ba64b15a1 --- /dev/null +++ b/package/s6-networking/s6-networking.hash @@ -0,0 +1,2 @@ +# Locally generated +sha256 d81968756abbcecde6a872c89d82f643cd621a0c295c2c57650705dbe875481a s6-networking-2.3.0.2.tar.gz diff --git a/package/s6-networking/s6-networking.mk b/package/s6-networking/s6-networking.mk new file mode 100644 index 0000000000..7c9f087051 --- /dev/null +++ b/package/s6-networking/s6-networking.mk @@ -0,0 +1,53 @@ +################################################################################ +# +# s6-networking +# +################################################################################ + +S6_NETWORKING_VERSION = 2.3.0.2 +S6_NETWORKING_SITE = http://skarnet.org/software/s6-networking +S6_NETWORKING_LICENSE = ISC +S6_NETWORKING_LICENSE_FILES = COPYING +S6_NETWORKING_INSTALL_STAGING = YES +S6_NETWORKING_DEPENDENCIES = s6-dns s6 + +S6_NETWORKING_CONF_OPTS = \ + --prefix=/usr \ + --with-sysdeps=$(STAGING_DIR)/usr/lib/skalibs/sysdeps \ + --with-include=$(STAGING_DIR)/usr/include \ + --with-dynlib=$(STAGING_DIR)/usr/lib \ + --with-lib=$(STAGING_DIR)/usr/lib/execline \ + --with-lib=$(STAGING_DIR)/usr/lib/s6 \ + --with-lib=$(STAGING_DIR)/usr/lib/s6-dns \ + --with-lib=$(STAGING_DIR)/usr/lib/skalibs \ + $(if $(BR2_STATIC_LIBS),,--disable-allstatic) \ + $(SHARED_STATIC_LIBS_OPTS) + +ifeq ($(BR2_PACKAGE_LIBRESSL),y) +S6_NETWORKING_CONF_OPTS += --enable-ssl=libressl +S6_NETWORKING_DEPENDENCIES = libressl +endif + +define S6_NETWORKING_CONFIGURE_CMDS + (cd $(@D); $(TARGET_CONFIGURE_OPTS) ./configure $(S6_NETWORKING_CONF_OPTS)) +endef + +define S6_NETWORKING_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define S6_NETWORKING_REMOVE_STATIC_LIB_DIR + rm -rf $(TARGET_DIR)/usr/lib/s6-networking +endef + +S6_NETWORKING_POST_INSTALL_TARGET_HOOKS += S6_NETWORKING_REMOVE_STATIC_LIB_DIR + +define S6_NETWORKING_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install +endef + +define S6_NETWORKING_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) install +endef + +$(eval $(generic-package)) diff --git a/package/s6-portable-utils/Config.in b/package/s6-portable-utils/Config.in new file mode 100644 index 0000000000..8521ecfa8a --- /dev/null +++ b/package/s6-portable-utils/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_S6_PORTABLE_UTILS + bool "s6-portable-utils" + depends on BR2_USE_MMU # skalibs + select BR2_PACKAGE_SKALIBS + help + s6-portable-utils is a set of tiny general Unix utilities, + often performing well-known tasks such as cut and grep, but + optimized for simplicity and small size. They were designed + for embedded systems and other constrained environments, but + they work everywhere. + + http://skarnet.org/software/s6-portable-utils/ diff --git a/package/s6-portable-utils/s6-portable-utils.hash b/package/s6-portable-utils/s6-portable-utils.hash new file mode 100644 index 0000000000..52097ed380 --- /dev/null +++ b/package/s6-portable-utils/s6-portable-utils.hash @@ -0,0 +1,2 @@ +# Locally generated +sha256 6ae239d2c458a81c92b5d616129e443874f925bf3da02589913a1a3b708c4531 s6-portable-utils-2.2.1.1.tar.gz diff --git a/package/s6-portable-utils/s6-portable-utils.mk b/package/s6-portable-utils/s6-portable-utils.mk new file mode 100644 index 0000000000..a15bca1ed6 --- /dev/null +++ b/package/s6-portable-utils/s6-portable-utils.mk @@ -0,0 +1,34 @@ +################################################################################ +# +# s6-portable-utils +# +################################################################################ + +S6_PORTABLE_UTILS_VERSION = 2.2.1.1 +S6_PORTABLE_UTILS_SITE = http://skarnet.org/software/s6-portable-utils +S6_PORTABLE_UTILS_LICENSE = ISC +S6_PORTABLE_UTILS_LICENSE_FILES = COPYING +S6_PORTABLE_UTILS_DEPENDENCIES = skalibs + +S6_PORTABLE_UTILS_CONF_OPTS = \ + --prefix=/usr \ + --with-sysdeps=$(STAGING_DIR)/usr/lib/skalibs/sysdeps \ + --with-include=$(STAGING_DIR)/usr/include \ + --with-dynlib=$(STAGING_DIR)/usr/lib \ + --with-lib=$(STAGING_DIR)/usr/lib/skalibs \ + $(if $(BR2_STATIC_LIBS),,--disable-allstatic) \ + $(SHARED_STATIC_LIBS_OPTS) + +define S6_PORTABLE_UTILS_CONFIGURE_CMDS + (cd $(@D); $(TARGET_CONFIGURE_OPTS) ./configure $(S6_PORTABLE_UTILS_CONF_OPTS)) +endef + +define S6_PORTABLE_UTILS_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define S6_PORTABLE_UTILS_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install +endef + +$(eval $(generic-package)) diff --git a/package/s6-rc/Config.in b/package/s6-rc/Config.in new file mode 100644 index 0000000000..39a924eac5 --- /dev/null +++ b/package/s6-rc/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_S6_RC + bool "s6-rc" + depends on BR2_USE_MMU # s6 + select BR2_PACKAGE_S6 + help + s6-rc is a service manager for s6-based systems, i.e. a + suite of programs that can start and stop services, both + long-running daemons and one-time initialization scripts, in + the proper order according to a dependency tree. + + http://skarnet.org/software/s6-rc/ diff --git a/package/s6-rc/Config.in.host b/package/s6-rc/Config.in.host new file mode 100644 index 0000000000..f250b9fbdb --- /dev/null +++ b/package/s6-rc/Config.in.host @@ -0,0 +1,8 @@ +config BR2_PACKAGE_HOST_S6_RC + bool "host s6-rc" + depends on BR2_PACKAGE_S6_RC + help + This package provides the host variant of the s6-rc tools, + required to build the s6-rc service database offline. + + http://skarnet.org/software/s6-rc/ diff --git a/package/s6-rc/s6-rc.hash b/package/s6-rc/s6-rc.hash new file mode 100644 index 0000000000..7ee13876f5 --- /dev/null +++ b/package/s6-rc/s6-rc.hash @@ -0,0 +1,2 @@ +# Locally generated +sha256 78266a397330d35d5eac9e99d1436feba58e36f41bfe1db0fd16c4b6cc73c999 s6-rc-0.3.0.0.tar.gz diff --git a/package/s6-rc/s6-rc.mk b/package/s6-rc/s6-rc.mk new file mode 100644 index 0000000000..e651814a15 --- /dev/null +++ b/package/s6-rc/s6-rc.mk @@ -0,0 +1,73 @@ +################################################################################ +# +# s6-rc +# +################################################################################ + +S6_RC_VERSION = 0.3.0.0 +S6_RC_SITE = http://skarnet.org/software/s6-rc +S6_RC_LICENSE = ISC +S6_RC_LICENSE_FILES = COPYING +S6_RC_INSTALL_STAGING = YES +S6_RC_DEPENDENCIES = s6 + +S6_RC_CONF_OPTS = \ + --prefix=/usr \ + --with-sysdeps=$(STAGING_DIR)/usr/lib/skalibs/sysdeps \ + --with-include=$(STAGING_DIR)/usr/include \ + --with-dynlib=$(STAGING_DIR)/usr/lib \ + --with-lib=$(STAGING_DIR)/usr/lib/execline \ + --with-lib=$(STAGING_DIR)/usr/lib/s6 \ + --with-lib=$(STAGING_DIR)/usr/lib/skalibs \ + $(if $(BR2_STATIC_LIBS),,--disable-allstatic) \ + $(SHARED_STATIC_LIBS_OPTS) + +define S6_RC_CONFIGURE_CMDS + (cd $(@D); $(TARGET_CONFIGURE_OPTS) ./configure $(S6_RC_CONF_OPTS)) +endef + +define S6_RC_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define S6_RC_REMOVE_STATIC_LIB_DIR + rm -rf $(TARGET_DIR)/usr/lib/s6-rc +endef + +S6_RC_POST_INSTALL_TARGET_HOOKS += S6_RC_REMOVE_STATIC_LIB_DIR + +define S6_RC_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install +endef + +define S6_RC_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) install +endef + +HOST_S6_RC_DEPENDENCIES = host-s6 + +HOST_S6_RC_CONF_OPTS = \ + --prefix=$(HOST_DIR) \ + --libexecdir=/usr/libexec \ + --with-sysdeps=$(HOST_DIR)/lib/skalibs/sysdeps \ + --with-include=$(HOST_DIR)/include \ + --with-dynlib=$(HOST_DIR)/lib \ + --disable-static \ + --enable-shared \ + --disable-allstatic + +define HOST_S6_RC_CONFIGURE_CMDS + (cd $(@D); $(HOST_CONFIGURE_OPTS) ./configure $(HOST_S6_RC_CONF_OPTS)) +endef + +define HOST_S6_RC_BUILD_CMDS + $(HOST_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define HOST_S6_RC_INSTALL_CMDS + $(HOST_MAKE_ENV) $(MAKE) -C $(@D) install-dynlib install-bin + rm -f $(HOST_DIR)/bin/s6-rc-dryrun +endef + +$(eval $(generic-package)) +$(eval $(host-generic-package)) diff --git a/package/s6/Config.in b/package/s6/Config.in new file mode 100644 index 0000000000..043380f402 --- /dev/null +++ b/package/s6/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_S6 + bool "s6" + depends on BR2_USE_MMU # execline + select BR2_PACKAGE_EXECLINE + help + s6 is a small suite of programs for UNIX, designed to allow + process supervision (a.k.a service supervision), in the line + of daemontools and runit, as well as various operations on + processes and daemons. + + http://skarnet.org/software/s6/ diff --git a/package/s6/s6.hash b/package/s6/s6.hash new file mode 100644 index 0000000000..2f498b0d6a --- /dev/null +++ b/package/s6/s6.hash @@ -0,0 +1,2 @@ +# Locally generated +sha256 0172b7293d4d5607ca3ca77382fee9b87c10bd58680720b29625cf35afc75c5c s6-2.6.1.1.tar.gz diff --git a/package/s6/s6.mk b/package/s6/s6.mk new file mode 100644 index 0000000000..3cf3885d5a --- /dev/null +++ b/package/s6/s6.mk @@ -0,0 +1,70 @@ +################################################################################ +# +# s6 +# +################################################################################ + +S6_VERSION = 2.6.1.1 +S6_SITE = http://skarnet.org/software/s6 +S6_LICENSE = ISC +S6_LICENSE_FILES = COPYING +S6_INSTALL_STAGING = YES +S6_DEPENDENCIES = execline + +S6_CONF_OPTS = \ + --prefix=/usr \ + --with-sysdeps=$(STAGING_DIR)/usr/lib/skalibs/sysdeps \ + --with-include=$(STAGING_DIR)/usr/include \ + --with-dynlib=$(STAGING_DIR)/usr/lib \ + --with-lib=$(STAGING_DIR)/usr/lib/execline \ + --with-lib=$(STAGING_DIR)/usr/lib/skalibs \ + $(if $(BR2_STATIC_LIBS),,--disable-allstatic) \ + $(SHARED_STATIC_LIBS_OPTS) + +define S6_CONFIGURE_CMDS + (cd $(@D); $(TARGET_CONFIGURE_OPTS) ./configure $(S6_CONF_OPTS)) +endef + +define S6_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define S6_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install +endef + +define S6_REMOVE_STATIC_LIB_DIR + rm -rf $(TARGET_DIR)/usr/lib/s6 +endef + +S6_POST_INSTALL_TARGET_HOOKS += S6_REMOVE_STATIC_LIB_DIR + +define S6_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) install +endef + +HOST_S6_DEPENDENCIES = host-execline + +HOST_S6_CONF_OPTS = \ + --prefix=$(HOST_DIR) \ + --with-sysdeps=$(HOST_DIR)/lib/skalibs/sysdeps \ + --with-include=$(HOST_DIR)/include \ + --with-dynlib=$(HOST_DIR)/lib \ + --disable-static \ + --enable-shared \ + --disable-allstatic + +define HOST_S6_CONFIGURE_CMDS + (cd $(@D); $(HOST_CONFIGURE_OPTS) ./configure $(HOST_S6_CONF_OPTS)) +endef + +define HOST_S6_BUILD_CMDS + $(HOST_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define HOST_S6_INSTALL_CMDS + $(HOST_MAKE_ENV) $(MAKE) -C $(@D) install-dynlib install-include +endef + +$(eval $(generic-package)) +$(eval $(host-generic-package)) diff --git a/package/sam-ba/sam-ba.mk b/package/sam-ba/sam-ba.mk index 7fc65c01a9..244ede3ef1 100644 --- a/package/sam-ba/sam-ba.mk +++ b/package/sam-ba/sam-ba.mk @@ -8,7 +8,7 @@ SAM_BA_SITE = http://www.atmel.com/dyn/resources/prod_documents SAM_BA_VERSION = 2.16 SAM_BA_SOURCE = sam-ba_$(SAM_BA_VERSION)_linux.zip SAM_BA_LICENSE = SAM-BA license (sam-ba executable), \ - BSD-2c like, BSD-4c (TCL and applets code) + BSD-2-Clause like, BSD-4-Clause (TCL and applets code) SAM_BA_LICENSE_FILES = doc/license.txt tcl_lib/boards.tcl \ applets/sam4c/libraries/libchip_sam4c/include/sam4c/sam4c32e-1.h @@ -20,13 +20,13 @@ endef # Since it's a prebuilt application and it does not conform to the # usual Unix hierarchy, we install it in $(HOST_DIR)/opt/sam-ba and -# then create a symbolic link from $(HOST_DIR)/usr/bin to the +# then create a symbolic link from $(HOST_DIR)/bin to the # application binary, for easier usage. define HOST_SAM_BA_INSTALL_CMDS mkdir -p $(HOST_DIR)/opt/sam-ba/ cp -a $(@D)/* $(HOST_DIR)/opt/sam-ba/ - ln -sf ../../opt/sam-ba/sam-ba $(HOST_DIR)/usr/bin/sam-ba + ln -sf ../../opt/sam-ba/sam-ba $(HOST_DIR)/bin/sam-ba endef $(eval $(host-generic-package)) diff --git a/package/samba4/Config.in b/package/samba4/Config.in index 447418568d..298fdc6608 100644 --- a/package/samba4/Config.in +++ b/package/samba4/Config.in @@ -1,6 +1,6 @@ -comment "samba4 needs a toolchain w/ RPC, wchar, dynamic library, NPTL" +comment "samba4 needs a uClibc or glibc toolchain w/ wchar, dynamic library, NPTL" depends on BR2_TOOLCHAIN_HAS_SYNC_4 - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_NATIVE_RPC \ + depends on !BR2_USE_WCHAR || BR2_TOOLCHAIN_USES_MUSL \ || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_USE_MMU @@ -8,12 +8,13 @@ config BR2_PACKAGE_SAMBA4 bool "samba4" depends on BR2_USE_MMU # fork() depends on BR2_USE_WCHAR # python - depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # python -> libffi - depends on !BR2_STATIC_LIBS # python + depends on !BR2_STATIC_LIBS # python, gnutls depends on !BR2_nios2 # binary too large, relocations don't fit depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_TOOLCHAIN_USES_MUSL select BR2_PACKAGE_E2FSPROGS + select BR2_PACKAGE_LIBTIRPC if !BR2_TOOLCHAIN_HAS_NATIVE_RPC select BR2_PACKAGE_POPT select BR2_PACKAGE_PYTHON select BR2_PACKAGE_ZLIB diff --git a/package/samba4/samba4.hash b/package/samba4/samba4.hash index 4fec55dd60..3bf46d3bcc 100644 --- a/package/samba4/samba4.hash +++ b/package/samba4/samba4.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 bff02762b3e4ee030f02266c6e24a0b888248b387246219b7fbe3e1758ef2184 samba-4.5.5.tar.gz +sha256 051b7ab0fa088d77dc0df039ff5d6b8fd998372f0c29ecb455b149457c20ed1d samba-4.6.11.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/samba4/samba4.mk b/package/samba4/samba4.mk index f64b684bf8..ade9add347 100644 --- a/package/samba4/samba4.mk +++ b/package/samba4/samba4.mk @@ -4,18 +4,30 @@ # ################################################################################ -SAMBA4_VERSION = 4.5.5 +SAMBA4_VERSION = 4.6.11 SAMBA4_SITE = https://download.samba.org/pub/samba/stable SAMBA4_SOURCE = samba-$(SAMBA4_VERSION).tar.gz SAMBA4_INSTALL_STAGING = YES -SAMBA4_LICENSE = GPLv3+ +SAMBA4_LICENSE = GPL-3.0+ SAMBA4_LICENSE_FILES = COPYING SAMBA4_DEPENDENCIES = \ host-e2fsprogs host-heimdal host-python \ e2fsprogs popt python zlib \ $(if $(BR2_PACKAGE_LIBAIO),libaio) \ $(if $(BR2_PACKAGE_LIBCAP),libcap) \ - $(if $(BR2_PACKAGE_READLINE),readline) + $(if $(BR2_PACKAGE_READLINE),readline) \ + $(TARGET_NLS_DEPENDENCIES) +SAMBA4_CFLAGS = $(TARGET_CFLAGS) +SAMBA4_LDFLAGS = $(TARGET_LDFLAGS) +SAMBA4_CONF_ENV = \ + CFLAGS="$(SAMBA4_CFLAGS)" \ + LDFLAGS="$(SAMBA4_LDFLAGS)" + +ifeq ($(BR2_PACKAGE_LIBTIRPC),y) +SAMBA4_CFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags libtirpc` +SAMBA4_LDFLAGS += `$(PKG_CONFIG_HOST_BINARY) --libs libtirpc` +SAMBA4_DEPENDENCIES += libtirpc host-pkgconf +endif ifeq ($(BR2_PACKAGE_ACL),y) SAMBA4_CONF_OPTS += --with-acl-support @@ -32,6 +44,10 @@ else SAMBA4_CONF_OPTS += --disable-cups endif +ifeq ($(BR2_PACKAGE_DBUS),y) +SAMBA4_DEPENDENCIES += dbus +endif + ifeq ($(BR2_PACKAGE_DBUS)$(BR2_PACKAGE_AVAHI_DAEMON),yy) SAMBA4_CONF_OPTS += --enable-avahi SAMBA4_DEPENDENCIES += avahi @@ -46,12 +62,6 @@ else SAMBA4_CONF_OPTS += --without-fam endif -ifeq ($(BR2_PACKAGE_GETTEXT),y) -SAMBA4_DEPENDENCIES += gettext -else -SAMBA4_CONF_OPTS += --without-gettext -endif - ifeq ($(BR2_PACKAGE_GNUTLS),y) SAMBA4_CONF_OPTS += --enable-gnutls SAMBA4_DEPENDENCIES += gnutls @@ -76,7 +86,7 @@ endef SAMBA4_POST_INSTALL_TARGET_HOOKS += SAMBA4_REMOVE_CTDB_TESTS define SAMBA4_CONFIGURE_CMDS - cp package/samba4/samba4-cache.txt $(@D)/cache.txt; + $(INSTALL) -m 0644 package/samba4/samba4-cache.txt $(@D)/cache.txt; echo 'Checking uname machine type: $(BR2_ARCH)' >>$(@D)/cache.txt; (cd $(@D); \ PYTHON_CONFIG="$(STAGING_DIR)/usr/bin/python-config" \ diff --git a/package/sane-backends/sane-backends.mk b/package/sane-backends/sane-backends.mk index 37e5136c11..ed3b912479 100644 --- a/package/sane-backends/sane-backends.mk +++ b/package/sane-backends/sane-backends.mk @@ -7,7 +7,7 @@ SANE_BACKENDS_VERSION = 1.0.25 SANE_BACKENDS_SITE = https://alioth.debian.org/frs/download.php/file/4146 SANE_BACKENDS_CONFIG_SCRIPTS = sane-config -SANE_BACKENDS_LICENSE = GPLv2+ +SANE_BACKENDS_LICENSE = GPL-2.0+ SANE_BACKENDS_LICENSE_FILES = COPYING SANE_BACKENDS_INSTALL_STAGING = YES diff --git a/package/sbc/sbc.mk b/package/sbc/sbc.mk index 60ebc74819..77661c1898 100644 --- a/package/sbc/sbc.mk +++ b/package/sbc/sbc.mk @@ -9,7 +9,7 @@ SBC_SOURCE = sbc-$(SBC_VERSION).tar.xz SBC_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth SBC_INSTALL_STAGING = YES SBC_DEPENDENCIES = libsndfile host-pkgconf -SBC_LICENSE = GPLv2+ (programs), LGPLv2.1+ (library) +SBC_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (library) SBC_LICENSE_FILES = COPYING COPYING.LIB $(eval $(autotools-package)) diff --git a/package/sconeserver/sconeserver.mk b/package/sconeserver/sconeserver.mk index 793ca6fb26..cf7bcbcb15 100644 --- a/package/sconeserver/sconeserver.mk +++ b/package/sconeserver/sconeserver.mk @@ -6,7 +6,7 @@ SCONESERVER_VERSION = d659468cd164e6a6cc12932cc6780566b04f8328 SCONESERVER_SITE = $(call github,sconemad,sconeserver,$(SCONESERVER_VERSION)) -SCONESERVER_LICENSE = GPLv2+ +SCONESERVER_LICENSE = GPL-2.0+ SCONESERVER_LICENSE_FILES = COPYING # fetching from Git, we need to generate the configure script SCONESERVER_AUTORECONF = YES diff --git a/package/scons/scons.hash b/package/scons/scons.hash index 1b47d6457a..b3cdea0d70 100644 --- a/package/scons/scons.hash +++ b/package/scons/scons.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 9442069999cf4b2caa94a5886ab4c2c71de1718ed5e9176c18e2b6dbca463b4b scons-2.3.0.tar.gz +sha256 0b25218ae7b46a967db42f2a53721645b3d42874a65f9552ad16ce26d30f51f2 scons-2.5.1.tar.gz diff --git a/package/scons/scons.mk b/package/scons/scons.mk index 39fb258d0d..14be589e2b 100644 --- a/package/scons/scons.mk +++ b/package/scons/scons.mk @@ -4,7 +4,7 @@ # ################################################################################ -SCONS_VERSION = 2.3.0 +SCONS_VERSION = 2.5.1 SCONS_SITE = http://downloads.sourceforge.net/project/scons/scons/$(SCONS_VERSION) SCONS_LICENSE = MIT SCONS_LICENSE_FILES = LICENSE.txt @@ -13,9 +13,9 @@ SCONS_SETUP_TYPE = distutils HOST_SCONS_NEEDS_HOST_PYTHON = python2 HOST_SCONS_INSTALL_OPTS = \ - --install-lib=$(HOST_DIR)/usr/lib/scons-$(SCONS_VERSION) + --install-lib=$(HOST_DIR)/lib/scons-$(SCONS_VERSION) $(eval $(host-python-package)) # variables used by other packages -SCONS = $(HOST_DIR)/usr/bin/python2 $(HOST_DIR)/usr/bin/scons $(if $(QUIET),-s) +SCONS = $(HOST_DIR)/bin/python2 $(HOST_DIR)/bin/scons $(if $(QUIET),-s) diff --git a/package/screen/screen.hash b/package/screen/screen.hash index 7ddc33700a..168611731f 100644 --- a/package/screen/screen.hash +++ b/package/screen/screen.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 01c3a7c362185f35d6a95dff52d64337076496acd034d717de3c263500cfefb0 screen-4.5.0.tar.gz +sha256 97db2114dd963b016cd4ded34831955dcbe3251e5eee45ac2606e67e9f097b2d screen-4.5.1.tar.gz diff --git a/package/screen/screen.mk b/package/screen/screen.mk index 519a02ab42..f22f8a6b7e 100644 --- a/package/screen/screen.mk +++ b/package/screen/screen.mk @@ -4,9 +4,9 @@ # ################################################################################ -SCREEN_VERSION = 4.5.0 +SCREEN_VERSION = 4.5.1 SCREEN_SITE = $(BR2_GNU_MIRROR)/screen -SCREEN_LICENSE = GPLv3+ +SCREEN_LICENSE = GPL-3.0+ SCREEN_LICENSE_FILES = COPYING SCREEN_DEPENDENCIES = ncurses SCREEN_AUTORECONF = YES diff --git a/package/scrub/0001-configure-ac-make-sure-m4-macros-are-included-in-the-build.patch b/package/scrub/0001-configure-ac-make-sure-m4-macros-are-included-in-the-build.patch new file mode 100644 index 0000000000..d8729b4ae6 --- /dev/null +++ b/package/scrub/0001-configure-ac-make-sure-m4-macros-are-included-in-the-build.patch @@ -0,0 +1,45 @@ +From 11d30916dd9c11a26c7c8a0f6db9e6ebca301594 Mon Sep 17 00:00:00 2001 +From: Samuel Martin +Date: Mon, 18 Jan 2016 21:45:23 +0100 +Subject: [PATCH] configure.ac: make sure m4 macros are included in the build + +This change prevents the following error to occur when calling +autoreconf: + + >>> scrub 2.6.1 Autoreconfiguring + cd /work/build/scrub/build/scrub-2.6.1/ && PATH="/work/build/scrub/host/bin:/work/build/scrub/host/sbin:/work/build/scrub/host/usr/bin:/work/build/scrub/host/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/sbin:/usr/sbin" AR="/usr/bin/ar" AS="/usr/bin/as" LD="/usr/bin/ld" NM="/usr/bin/nm" CC="/usr/bin/gcc" GCC="/usr/bin/gcc" CXX="/usr/bin/g++" CPP="/usr/bin/cpp" OBJCOPY="/usr/bin/objcopy" RANLIB="/usr/bin/ranlib" CPPFLAGS="-I/work/build/scrub/host/usr/include" CFLAGS="-O2 -I/work/build/scrub/host/usr/include" CXXFLAGS="-O2 -I/work/build/scrub/host/usr/include" LDFLAGS="-L/work/build/scrub/host/lib -L/work/build/scrub/host/usr/lib -Wl,-rpath,/work/build/scrub/host/usr/lib" PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 PKG_CONFIG="/work/build/scrub/host/usr/bin/pkg-config" PKG_CONFIG_SYSROOT_DIR="/" PKG_CONFIG_LIBDIR="/work/build/scrub/host/usr/lib/pkgconfig:/work/build/scrub/host/usr/share/pkgconfig" INTLTOOL_PERL=/usr/bin/perl ACLOCAL="/work/build/scrub/host/usr/bin/aclocal -I /work/build/scrub/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/share/aclocal" AUTOCONF="/work/build/scrub/host/usr/bin/autoconf" AUTOHEADER="/work/build/scrub/host/usr/bin/autoheader" AUTOMAKE="/work/build/scrub/host/usr/bin/automake" AUTOPOINT=/bin/true /work/build/scrub/host/usr/bin/autoreconf -f -i -I "/work/build/scrub/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/share/aclocal" -I "/work/build/scrub/host/usr/share/aclocal" + libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'config'. + libtoolize: copying file 'config/ltmain.sh' + libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac, + libtoolize: and rerunning libtoolize and aclocal. + libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. + configure.ac:10: error possibly undefined macro: X_AC_META + If this token and others are legitimate, please use m4_pattern_allow. + See the Autoconf documentation. + configure.ac:11: error possibly undefined macro: X_AC_EXPAND_INSTALL_DIRS + configure.ac:51: error possibly undefined macro: AC_PKGCONFIG + configure.ac:70: error possibly undefined macro: X_AC_CHECK_PTHREADS + autoreconf: /work/build/scrub/host/usr/bin/autoconf failed with exit status: 1 + package/pkg-generic.mk:185: recipe for target '/work/build/scrub/build/scrub-2.6.1/.stamp_configured' failed + make: *** [/work/build/scrub/build/scrub-2.6.1/.stamp_configured] Error 1 + make: Leaving directory '/work/repos/buildroot' + +Signed-off-by: Samuel Martin +[Upstream commit: https://github.com/chaos/scrub/commit/11d30916dd9c11a26c7c8a0f6db9e6ebca301594] +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/configure.ac b/configure.ac +index 3d71289..07eaf33 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -7,6 +7,7 @@ AC_INIT(m4_esyscmd([awk '/Name:/ {printf "%s",$2; exit}' META]), + AC_CONFIG_AUX_DIR([config]) + AC_CONFIG_SRCDIR([NEWS]) + AC_CANONICAL_SYSTEM ++AC_CONFIG_MACRO_DIR([config]) + X_AC_META + X_AC_EXPAND_INSTALL_DIRS + diff --git a/package/scrub/scrub.hash b/package/scrub/scrub.hash index 0041fd055c..4cb8189c8e 100644 --- a/package/scrub/scrub.hash +++ b/package/scrub/scrub.hash @@ -1,3 +1,5 @@ # Locally computed sha256 838b061b2e1932b342fb9695c5579cdff5d2d72506cb41d6d8032eba18aed969 scrub-2.6.1.tar.gz -sha256 6a129b4e0df6ebe02d449fa481db7b75be5eff08ce518aa77edd74c6b17c5ae4 11d30916dd9c11a26c7c8a0f6db9e6ebca301594.patch +# License files, locally calculated +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING +sha256 f76abbfb80cde1036cb553cdecb08bb846a48e33c91ef56c0f494172fd407f33 DISCLAIMER diff --git a/package/scrub/scrub.mk b/package/scrub/scrub.mk index b816272163..ace19d5baf 100644 --- a/package/scrub/scrub.mk +++ b/package/scrub/scrub.mk @@ -6,9 +6,8 @@ SCRUB_VERSION = 2.6.1 SCRUB_SITE = $(call github,chaos,scrub,$(SCRUB_VERSION)) -SCRUB_LICENSE = GPLv2+ +SCRUB_LICENSE = GPL-2.0+ SCRUB_LICENSE_FILES = COPYING DISCLAIMER -SCRUB_PATCH = https://github.com/chaos/scrub/commit/11d30916dd9c11a26c7c8a0f6db9e6ebca301594.patch # Fetching from the git repo, no configure/Makefile generated, and patching # configure.ac diff --git a/package/scrypt/scrypt.mk b/package/scrypt/scrypt.mk index 7ffa7ccf3f..ae5a64e71f 100644 --- a/package/scrypt/scrypt.mk +++ b/package/scrypt/scrypt.mk @@ -7,7 +7,7 @@ SCRYPT_VERSION = 1.2.0 SCRYPT_SOURCE = scrypt-$(SCRYPT_VERSION).tgz SCRYPT_SITE = http://www.tarsnap.com/scrypt -SCRYPT_LICENSE = BSD-2c +SCRYPT_LICENSE = BSD-2-Clause SCRYPT_LICENSE_FILES = main.c SCRYPT_DEPENDENCIES = openssl SCRYPT_INSTALL_STAGING = YES diff --git a/package/sdl/sdl.mk b/package/sdl/sdl.mk index 38b4b97752..0a6a7de139 100644 --- a/package/sdl/sdl.mk +++ b/package/sdl/sdl.mk @@ -7,7 +7,7 @@ SDL_VERSION = 1.2.15 SDL_SOURCE = SDL-$(SDL_VERSION).tar.gz SDL_SITE = http://www.libsdl.org/release -SDL_LICENSE = LGPLv2.1+ +SDL_LICENSE = LGPL-2.1+ SDL_LICENSE_FILES = COPYING SDL_INSTALL_STAGING = YES diff --git a/package/sdl2/0001-ppc.patch b/package/sdl2/0001-ppc.patch deleted file mode 100644 index 0161103067..0000000000 --- a/package/sdl2/0001-ppc.patch +++ /dev/null @@ -1,47 +0,0 @@ -Fixed bug 3466 - Can't build 2.0.5 on ppc64 - -/home/fedora/SDL2-2.0.5/src/video/SDL_blit_N.c: In function 'calc_swizzle32': -/home/fedora/SDL2-2.0.5/src/video/SDL_blit_N.c:127:5: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement] -const vector unsigned char plus = VECUINT8_LITERAL(0x00, 0x00, 0x00, 0x00, -^ - -Downloaded from upstream repo -https://hg.libsdl.org/SDL/rev/5184186d4366 - -Signed-off-by: Bernd Kuhls - -diff -r 71d4148e32de -r 5184186d4366 src/video/SDL_blit_N.c ---- a/src/video/SDL_blit_N.c Wed Oct 19 21:22:42 2016 -0700 -+++ b/src/video/SDL_blit_N.c Sat Oct 22 11:01:55 2016 -0700 -@@ -118,12 +118,6 @@ - 16, 8, 0, 24, - 0, NULL - }; -- if (!srcfmt) { -- srcfmt = &default_pixel_format; -- } -- if (!dstfmt) { -- dstfmt = &default_pixel_format; -- } - const vector unsigned char plus = VECUINT8_LITERAL(0x00, 0x00, 0x00, 0x00, - 0x04, 0x04, 0x04, 0x04, - 0x08, 0x08, 0x08, 0x08, -@@ -136,6 +130,14 @@ - Uint32 gmask = RESHIFT(srcfmt->Gshift) << (dstfmt->Gshift); - Uint32 bmask = RESHIFT(srcfmt->Bshift) << (dstfmt->Bshift); - Uint32 amask; -+ -+ if (!srcfmt) { -+ srcfmt = &default_pixel_format; -+ } -+ if (!dstfmt) { -+ dstfmt = &default_pixel_format; -+ } -+ - /* Use zero for alpha if either surface doesn't have alpha */ - if (dstfmt->Amask) { - amask = - - - - diff --git a/package/sdl2/0002-gcc6.patch b/package/sdl2/0002-gcc6.patch deleted file mode 100644 index 6b5e901dfe..0000000000 --- a/package/sdl2/0002-gcc6.patch +++ /dev/null @@ -1,64 +0,0 @@ - -# HG changeset patch -# User Sam Lantinga -# Date 1479201270 28800 -# Node ID ea44906e19b837f4d5b309525ca79ed9d00b1897 -# Parent 6b2307dbec54f0bf4d5d8abf86241e29f3a03562 -Fixed bug 3490 - Build failure with --enable-video-directfb - -felix - -Building SDL 2.0.5, or even the Mercurial snapshot (r10608) with GCC 6.2.1 and --enable-video-directfb generates a number of compiler diagnostics and fails. - -Downloaded from upstream repo -https://hg.libsdl.org/SDL/rev/ea44906e19b8 - -Signed-off-by: Bernd Kuhls - -diff -r 6b2307dbec54 -r ea44906e19b8 src/video/directfb/SDL_DirectFB_render.c ---- a/src/video/directfb/SDL_DirectFB_render.c Tue Nov 15 01:12:27 2016 -0800 -+++ b/src/video/directfb/SDL_DirectFB_render.c Tue Nov 15 01:14:30 2016 -0800 -@@ -1273,7 +1273,7 @@ - Uint32 format, void * pixels, int pitch) - { - Uint32 sdl_format; -- void * laypixels; -+ unsigned char* laypixels; - int laypitch; - DFBSurfacePixelFormat dfb_format; - DirectFB_RenderData *data = (DirectFB_RenderData *) renderer->driverdata; -@@ -1303,7 +1303,7 @@ - SDL_Window *window = renderer->window; - SDL_DFB_WINDOWDATA(window); - Uint32 sdl_format; -- void * laypixels; -+ unsigned char* laypixels; - int laypitch; - DFBSurfacePixelFormat dfb_format; - -diff -r 6b2307dbec54 -r ea44906e19b8 src/video/directfb/SDL_DirectFB_shape.c ---- a/src/video/directfb/SDL_DirectFB_shape.c Tue Nov 15 01:12:27 2016 -0800 -+++ b/src/video/directfb/SDL_DirectFB_shape.c Tue Nov 15 01:14:30 2016 -0800 -@@ -37,17 +37,19 @@ - SDL_WindowShaper* - DirectFB_CreateShaper(SDL_Window* window) { - SDL_WindowShaper* result = NULL; -+ SDL_ShapeData* data; -+ int resized_properly; - - result = malloc(sizeof(SDL_WindowShaper)); - result->window = window; - result->mode.mode = ShapeModeDefault; - result->mode.parameters.binarizationCutoff = 1; - result->userx = result->usery = 0; -- SDL_ShapeData* data = SDL_malloc(sizeof(SDL_ShapeData)); -+ data = SDL_malloc(sizeof(SDL_ShapeData)); - result->driverdata = data; - data->surface = NULL; - window->shaper = result; -- int resized_properly = DirectFB_ResizeWindowShape(window); -+ resized_properly = DirectFB_ResizeWindowShape(window); - SDL_assert(resized_properly == 0); - - return result; - diff --git a/package/sdl2/Config.in b/package/sdl2/Config.in index 8fc14ee737..f29b3c7c38 100644 --- a/package/sdl2/Config.in +++ b/package/sdl2/Config.in @@ -29,6 +29,31 @@ comment "X11 video driver needs X.org" depends on !BR2_PACKAGE_XORG7 depends on BR2_USE_MMU +config BR2_PACKAGE_SDL2_KMSDRM + bool "KMS/DRM video driver" + depends on BR2_PACKAGE_LIBDRM + +comment "KMS/DRM video driver needs libdrm" + depends on !BR2_PACKAGE_LIBDRM + +config BR2_PACKAGE_SDL2_OPENGL + bool "OpenGL (GLX)" + depends on BR2_PACKAGE_HAS_LIBGL + depends on BR2_PACKAGE_XORG7 + depends on BR2_USE_MMU # X11 video driver + select BR2_PACKAGE_SDL2_X11 + +comment "OpenGL support needs X11 and an OpenGL provider" + depends on BR2_USE_MMU + depends on !BR2_PACKAGE_HAS_LIBGL || !BR2_PACKAGE_XORG7 + +config BR2_PACKAGE_SDL2_OPENGLES + bool "OpenGL ES" + depends on BR2_PACKAGE_HAS_LIBGLES + +comment "OpenGL ES support needs an OpenGL ES provider" + depends on !BR2_PACKAGE_HAS_LIBGLES + endif comment "sdl2 needs a toolchain w/ dynamic library" diff --git a/package/sdl2/sdl2.hash b/package/sdl2/sdl2.hash index d69d43811d..588f8f49ef 100644 --- a/package/sdl2/sdl2.hash +++ b/package/sdl2/sdl2.hash @@ -1,2 +1,4 @@ -# Locally calculated after checking http://www.libsdl.org/release/SDL2-2.0.5.tar.gz.sig -sha256 442038cf55965969f2ff06d976031813de643af9c9edc9e331bd761c242e8785 SDL2-2.0.5.tar.gz +# Locally calculated after checking http://www.libsdl.org/release/SDL2-2.0.7.tar.gz.sig +sha256 ee35c74c4313e2eda104b14b1b86f7db84a04eeab9430d56e001cea268bf4d5e SDL2-2.0.7.tar.gz +# Locally calculated +sha256 bbd2edb1789c33de29bb9f8d1dbe2774584a9ce8c4e3162944b7a3a447f5e85d COPYING.txt diff --git a/package/sdl2/sdl2.mk b/package/sdl2/sdl2.mk index 2ec12e639e..3e3ba54aaf 100644 --- a/package/sdl2/sdl2.mk +++ b/package/sdl2/sdl2.mk @@ -4,10 +4,10 @@ # ################################################################################ -SDL2_VERSION = 2.0.5 +SDL2_VERSION = 2.0.7 SDL2_SOURCE = SDL2-$(SDL2_VERSION).tar.gz SDL2_SITE = http://www.libsdl.org/release -SDL2_LICENSE = zlib +SDL2_LICENSE = Zlib SDL2_LICENSE_FILES = COPYING.txt SDL2_INSTALL_STAGING = YES SDL2_CONFIG_SCRIPTS = sdl2-config @@ -18,9 +18,8 @@ SDL2_CONF_OPTS += \ --disable-esd \ --disable-dbus \ --disable-pulseaudio \ - --disable-video-opengl \ - --disable-video-opengles \ - --disable-video-wayland + --disable-video-wayland \ + --disable-video-rpi # We must enable static build to get compilation successful. SDL2_CONF_OPTS += --enable-static @@ -50,7 +49,7 @@ SDL2_DEPENDENCIES += xlib_libX11 xlib_libXext SDL2_CONF_OPTS += --enable-video-x11 \ --with-x=$(STAGING_DIR) \ --x-includes=$(STAGING_DIR)/usr/include \ - --x-libraries=$(STAGING_DIR)/usr/lib \ + --x-libraries=$(STAGING_DIR)/usr/lib \ --enable-video-x11-xshape ifeq ($(BR2_PACKAGE_XLIB_LIBXCURSOR),y) @@ -99,6 +98,20 @@ else SDL2_CONF_OPTS += --disable-video-x11 --without-x endif +ifeq ($(BR2_PACKAGE_SDL2_OPENGL),y) +SDL2_CONF_OPTS += --enable-video-opengl +SDL2_DEPENDENCIES += libgl +else +SDL2_CONF_OPTS += --disable-video-opengl +endif + +ifeq ($(BR2_PACKAGE_SDL2_OPENGLES),y) +SDL2_CONF_OPTS += --enable-video-opengles +SDL2_DEPENDENCIES += libgles +else +SDL2_CONF_OPTS += --disable-video-opengles +endif + ifeq ($(BR2_PACKAGE_TSLIB),y) SDL2_DEPENDENCIES += tslib SDL2_CONF_OPTS += --enable-input-tslib @@ -113,4 +126,11 @@ else SDL2_CONF_OPTS += --disable-alsa endif +ifeq ($(BR2_PACKAGE_SDL2_KMSDRM),y) +SDL2_DEPENDENCIES += libdrm +SDL2_CONF_OPTS += --enable-video-kmsdrm +else +SDL2_CONF_OPTS += --disable-video-kmsdrm +endif + $(eval $(autotools-package)) diff --git a/package/sdl2_gfx/sdl2_gfx.mk b/package/sdl2_gfx/sdl2_gfx.mk index 975bca73ad..1ec138714b 100644 --- a/package/sdl2_gfx/sdl2_gfx.mk +++ b/package/sdl2_gfx/sdl2_gfx.mk @@ -7,7 +7,7 @@ SDL2_GFX_VERSION = 1.0.1 SDL2_GFX_SOURCE = SDL2_gfx-$(SDL2_GFX_VERSION).tar.gz SDL2_GFX_SITE = http://www.ferzkopp.net/Software/SDL2_gfx -SDL2_GFX_LICENSE = zlib +SDL2_GFX_LICENSE = Zlib SDL2_GFX_LICENSE_FILES = COPYING SDL2_framerate.h SDL2_GFX_INSTALL_STAGING = YES SDL2_GFX_DEPENDENCIES = sdl2 host-pkgconf diff --git a/package/sdl2_image/sdl2_image.mk b/package/sdl2_image/sdl2_image.mk index cf3b738edc..71a9634023 100644 --- a/package/sdl2_image/sdl2_image.mk +++ b/package/sdl2_image/sdl2_image.mk @@ -8,7 +8,7 @@ SDL2_IMAGE_VERSION = 2.0.1 SDL2_IMAGE_SOURCE = SDL2_image-$(SDL2_IMAGE_VERSION).tar.gz SDL2_IMAGE_SITE = http://www.libsdl.org/projects/SDL_image/release SDL2_IMAGE_INSTALL_STAGING = YES -SDL2_IMAGE_LICENSE = zlib +SDL2_IMAGE_LICENSE = Zlib SDL2_IMAGE_LICENSE_FILES = COPYING.txt # Unconditionally enable support for image formats that don't require diff --git a/package/sdl2_mixer/Config.in b/package/sdl2_mixer/Config.in new file mode 100644 index 0000000000..8e1cf58590 --- /dev/null +++ b/package/sdl2_mixer/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_SDL2_MIXER + bool "sdl2_mixer" + depends on BR2_PACKAGE_SDL2 + help + SDL_mixer is a sample multi-channel audio mixer library. It + supports any number of simultaneously playing channels of 16 + bit stereo audio, plus a single channel of music, mixed by + the popular FLAC, MikMod MOD, Timidity MIDI, Ogg Vorbis, and + SMPEG MP3 libraries. + + http://www.libsdl.org/projects/SDL_mixer/ diff --git a/package/sdl2_mixer/sdl2_mixer.hash b/package/sdl2_mixer/sdl2_mixer.hash new file mode 100644 index 0000000000..48bc887a4b --- /dev/null +++ b/package/sdl2_mixer/sdl2_mixer.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 5a24f62a610249d744cbd8d28ee399d8905db7222bf3bdbc8a8b4a76e597695f SDL2_mixer-2.0.1.tar.gz diff --git a/package/sdl2_mixer/sdl2_mixer.mk b/package/sdl2_mixer/sdl2_mixer.mk new file mode 100644 index 0000000000..c990847974 --- /dev/null +++ b/package/sdl2_mixer/sdl2_mixer.mk @@ -0,0 +1,40 @@ +################################################################################ +# +# sdl2_mixer +# +################################################################################ + +SDL2_MIXER_VERSION = 2.0.1 +SDL2_MIXER_SOURCE = SDL2_mixer-$(SDL2_MIXER_VERSION).tar.gz +SDL2_MIXER_SITE = http://www.libsdl.org/projects/SDL_mixer/release +SDL2_MIXER_LICENSE = Zlib +SDL2_MIXER_LICENSE_FILES = COPYING.txt +SDL2_MIXER_INSTALL_STAGING = YES +SDL2_MIXER_DEPENDENCIES = sdl2 host-pkgconf + +SDL2_MIXER_CONF_OPTS = \ + --disable-fluidsynth \ + --disable-music-mp3 + +ifeq ($(BR2_PACKAGE_FLAC),y) +SDL2_MIXER_CONF_OPTS += --enable-music-flac +SDL2_MIXER_DEPENDENCIES += flac +else +SDL2_MIXER_CONF_OPTS += --disable-music-flac +endif + +ifeq ($(BR2_PACKAGE_LIBMODPLUG),y) +SDL2_MIXER_CONF_OPTS += --enable-music-mod-modplug +SDL2_MIXER_DEPENDENCIES += libmodplug +else +SDL2_MIXER_CONF_OPTS += --disable-music-mod-modplug +endif + +ifeq ($(BR2_PACKAGE_TREMOR),y) +SDL2_MIXER_CONF_OPTS += --enable-music-ogg-tremor +SDL2_MIXER_DEPENDENCIES += tremor +else +SDL2_MIXER_CONF_OPTS += --disable-music-ogg-tremor +endif + +$(eval $(autotools-package)) diff --git a/package/sdl2_net/Config.in b/package/sdl2_net/Config.in new file mode 100644 index 0000000000..d5e749f5ac --- /dev/null +++ b/package/sdl2_net/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_SDL2_NET + bool "sdl2_net" + depends on BR2_PACKAGE_SDL2 + help + This is a small sample cross-platform networking library, + with a sample chat client and server application. The chat + client uses the GUIlib GUI framework library. + + http://www.libsdl.org/projects/SDL_net/ diff --git a/package/sdl2_net/sdl2_net.hash b/package/sdl2_net/sdl2_net.hash new file mode 100644 index 0000000000..c5f4433837 --- /dev/null +++ b/package/sdl2_net/sdl2_net.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 15ce8a7e5a23dafe8177c8df6e6c79b6749a03fff1e8196742d3571657609d21 SDL2_net-2.0.1.tar.gz diff --git a/package/sdl2_net/sdl2_net.mk b/package/sdl2_net/sdl2_net.mk new file mode 100644 index 0000000000..2fa4a8c2e0 --- /dev/null +++ b/package/sdl2_net/sdl2_net.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# sdl2_net +# +################################################################################ + +SDL2_NET_VERSION = 2.0.1 +SDL2_NET_SOURCE = SDL2_net-$(SDL2_NET_VERSION).tar.gz +SDL2_NET_SITE = http://www.libsdl.org/projects/SDL_net/release +SDL2_NET_LICENSE = Zlib +SDL2_NET_LICENSE_FILES = COPYING.txt +SDL2_NET_INSTALL_STAGING = YES +SDL2_NET_DEPENDENCIES = sdl2 + +$(eval $(autotools-package)) diff --git a/package/sdl2_ttf/sdl2_ttf.mk b/package/sdl2_ttf/sdl2_ttf.mk index 86916c3443..dbe30dd544 100644 --- a/package/sdl2_ttf/sdl2_ttf.mk +++ b/package/sdl2_ttf/sdl2_ttf.mk @@ -7,7 +7,7 @@ SDL2_TTF_VERSION = 2.0.14 SDL2_TTF_SOURCE = SDL2_ttf-$(SDL2_TTF_VERSION).tar.gz SDL2_TTF_SITE = http://www.libsdl.org/projects/SDL_ttf/release -SDL2_TTF_LICENSE = zlib +SDL2_TTF_LICENSE = Zlib SDL2_TTF_LICENSE_FILES = COPYING.txt SDL2_TTF_INSTALL_STAGING = YES SDL2_TTF_DEPENDENCIES = sdl2 freetype host-pkgconf diff --git a/package/sdl_gfx/sdl_gfx.mk b/package/sdl_gfx/sdl_gfx.mk index 7f3a2ffec8..e7420de1ca 100644 --- a/package/sdl_gfx/sdl_gfx.mk +++ b/package/sdl_gfx/sdl_gfx.mk @@ -8,7 +8,7 @@ SDL_GFX_VERSION_MAJOR = 2.0 SDL_GFX_VERSION = $(SDL_GFX_VERSION_MAJOR).23 SDL_GFX_SOURCE = SDL_gfx-$(SDL_GFX_VERSION).tar.gz SDL_GFX_SITE = http://www.ferzkopp.net/Software/SDL_gfx-$(SDL_GFX_VERSION_MAJOR) -SDL_GFX_LICENSE = zlib +SDL_GFX_LICENSE = Zlib SDL_GFX_LICENSE_FILES = COPYING LICENSE SDL_GFX_INSTALL_STAGING = YES SDL_GFX_DEPENDENCIES = sdl diff --git a/package/sdl_image/sdl_image.mk b/package/sdl_image/sdl_image.mk index f88aa0e7c7..ee0712cc27 100644 --- a/package/sdl_image/sdl_image.mk +++ b/package/sdl_image/sdl_image.mk @@ -8,7 +8,7 @@ SDL_IMAGE_VERSION = 1.2.12 SDL_IMAGE_SOURCE = SDL_image-$(SDL_IMAGE_VERSION).tar.gz SDL_IMAGE_SITE = http://www.libsdl.org/projects/SDL_image/release SDL_IMAGE_INSTALL_STAGING = YES -SDL_IMAGE_LICENSE = zlib +SDL_IMAGE_LICENSE = Zlib SDL_IMAGE_LICENSE_FILES = COPYING SDL_IMAGE_CONF_OPTS = \ @@ -37,8 +37,8 @@ SDL_IMAGE_DEPENDENCIES = sdl \ $(if $(BR2_PACKAGE_SDL_IMAGE_WEBP),webp) HOST_SDL_IMAGE_CONF_OPTS = \ - --with-sdl-prefix=$(HOST_DIR)/usr \ - --with-sdl-exec-prefix=$(HOST_DIR)/usr \ + --with-sdl-prefix=$(HOST_DIR) \ + --with-sdl-exec-prefix=$(HOST_DIR) \ --disable-sdltest \ --disable-static \ --disable-jpg-shared \ diff --git a/package/sdl_mixer/sdl_mixer.mk b/package/sdl_mixer/sdl_mixer.mk index 897b308e9d..1c6912accf 100644 --- a/package/sdl_mixer/sdl_mixer.mk +++ b/package/sdl_mixer/sdl_mixer.mk @@ -7,7 +7,7 @@ SDL_MIXER_VERSION = 1.2.12 SDL_MIXER_SOURCE = SDL_mixer-$(SDL_MIXER_VERSION).tar.gz SDL_MIXER_SITE = http://www.libsdl.org/projects/SDL_mixer/release -SDL_MIXER_LICENSE = zlib +SDL_MIXER_LICENSE = Zlib SDL_MIXER_LICENSE_FILES = COPYING SDL_MIXER_INSTALL_STAGING = YES diff --git a/package/sdl_net/sdl_net.mk b/package/sdl_net/sdl_net.mk index 4534dee3a9..c7e409a183 100644 --- a/package/sdl_net/sdl_net.mk +++ b/package/sdl_net/sdl_net.mk @@ -7,7 +7,7 @@ SDL_NET_VERSION = 1.2.8 SDL_NET_SITE = http://www.libsdl.org/projects/SDL_net/release SDL_NET_SOURCE = SDL_net-$(SDL_NET_VERSION).tar.gz -SDL_NET_LICENSE = zlib +SDL_NET_LICENSE = Zlib SDL_NET_LICENSE_FILES = COPYING SDL_NET_CONF_OPTS = \ diff --git a/package/sdl_sound/0003-renamed-physfs-export.patch b/package/sdl_sound/0003-renamed-physfs-export.patch new file mode 100644 index 0000000000..3aeded329c --- /dev/null +++ b/package/sdl_sound/0003-renamed-physfs-export.patch @@ -0,0 +1,32 @@ +This patch is taken from the Arch Linux User Repository, see: +https://aur.archlinux.org/packages/sdl_sound-patched-hg/ + +Signed-off-by: Sam Bobroff + +diff -ru SDL_sound.orig/playsound/physfsrwops.h SDL_sound/playsound/physfsrwops.h +--- SDL_sound.orig/playsound/physfsrwops.h 2014-01-11 06:28:35.494936000 +0100 ++++ SDL_sound/playsound/physfsrwops.h 2014-01-11 06:31:38.315675483 +0100 +@@ -29,6 +29,11 @@ + extern "C" { + #endif + ++/* renamed in physfs dev, add alias */ ++#ifdef PHYSFS_DECL ++#define __EXPORT__ PHYSFS_DECL ++#endif ++ + /** + * Open a platform-independent filename for reading, and make it accessible + * via an SDL_RWops structure. The file will be closed in PhysicsFS when the +@@ -77,6 +82,11 @@ + */ + __EXPORT__ SDL_RWops *PHYSFSRWOPS_makeRWops(PHYSFS_file *handle); + ++/* renamed in physfs dev, remove alias */ ++#ifdef PHYSFS_DECL ++#undef __EXPORT__ ++#endif ++ + #ifdef __cplusplus + } + #endif diff --git a/package/sdl_sound/sdl_sound.mk b/package/sdl_sound/sdl_sound.mk index 4fa7d9be0a..2544b598e9 100644 --- a/package/sdl_sound/sdl_sound.mk +++ b/package/sdl_sound/sdl_sound.mk @@ -7,7 +7,7 @@ SDL_SOUND_VERSION = 1.0.3 SDL_SOUND_SOURCE = SDL_sound-$(SDL_SOUND_VERSION).tar.gz SDL_SOUND_SITE = http://icculus.org/SDL_sound/downloads -SDL_SOUND_LICENSE = LGPLv2.1+ +SDL_SOUND_LICENSE = LGPL-2.1+ SDL_SOUND_LICENSE_FILES = COPYING SDL_SOUND_INSTALL_STAGING = YES SDL_SOUND_DEPENDENCIES = sdl @@ -45,6 +45,13 @@ else SDL_SOUND_CONF_OPTS += --disable-speex endif +ifeq ($(BR2_PACKAGE_PHYSFS),y) +SDL_SOUND_CONF_OPTS += --enable-physfs +SDL_SOUND_DEPENDENCIES += physfs +else +SDL_SOUND_CONF_OPTS += --disable-physfs +endif + SDL_SOUND_CONF_OPTS = \ --with-sdl-prefix=$(STAGING_DIR)/usr \ --with-sdl-exec-prefix=$(STAGING_DIR)/usr \ diff --git a/package/sdl_ttf/sdl_ttf.mk b/package/sdl_ttf/sdl_ttf.mk index 3e494b4ca2..1d94c6c5cf 100644 --- a/package/sdl_ttf/sdl_ttf.mk +++ b/package/sdl_ttf/sdl_ttf.mk @@ -7,7 +7,7 @@ SDL_TTF_VERSION = 2.0.11 SDL_TTF_SOURCE = SDL_ttf-$(SDL_TTF_VERSION).tar.gz SDL_TTF_SITE = http://www.libsdl.org/projects/SDL_ttf/release -SDL_TTF_LICENSE = zlib +SDL_TTF_LICENSE = Zlib SDL_TTF_LICENSE_FILES = COPYING SDL_TTF_INSTALL_STAGING = YES diff --git a/package/sdparm/sdparm.mk b/package/sdparm/sdparm.mk index ed1606c1cf..b9fac518c8 100644 --- a/package/sdparm/sdparm.mk +++ b/package/sdparm/sdparm.mk @@ -7,7 +7,7 @@ SDPARM_VERSION = 1.10 SDPARM_SOURCE = sdparm-$(SDPARM_VERSION).tar.xz SDPARM_SITE = http://sg.danny.cz/sg/p -SDPARM_LICENSE = BSD-3c +SDPARM_LICENSE = BSD-3-Clause SDPARM_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_SG3_UTILS),y) diff --git a/package/sed/Config.in b/package/sed/Config.in index 6adebf24de..b8d182aafd 100644 --- a/package/sed/Config.in +++ b/package/sed/Config.in @@ -3,9 +3,10 @@ config BR2_PACKAGE_SED depends on BR2_USE_WCHAR depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS help - Super-useful stream editor. + sed (stream editor) is a non-interactive command-line text + editor. - http://sed.sourceforge.net/ + https://www.gnu.org/software/sed/ comment "sed needs a toolchain w/ wchar" depends on !BR2_USE_WCHAR diff --git a/package/sed/sed.hash b/package/sed/sed.hash index e7f2db591f..652c573615 100644 --- a/package/sed/sed.hash +++ b/package/sed/sed.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 fea0a94d4b605894f3e2d5572e3f96e4413bcad3a085aae7367c2cf07908b2ff sed-4.2.2.tar.gz +sha256 cbd6ebc5aaf080ed60d0162d7f6aeae58211a1ee9ba9bb25623daa6cd942683b sed-4.4.tar.xz diff --git a/package/sed/sed.mk b/package/sed/sed.mk index 71c62d0fd2..28df140d39 100644 --- a/package/sed/sed.mk +++ b/package/sed/sed.mk @@ -4,9 +4,10 @@ # ################################################################################ -SED_VERSION = 4.2.2 +SED_VERSION = 4.4 +SED_SOURCE = sed-$(SED_VERSION).tar.xz SED_SITE = $(BR2_GNU_MIRROR)/sed -SED_LICENSE = GPLv3 +SED_LICENSE = GPL-3.0 SED_LICENSE_FILES = COPYING SED_CONF_OPTS = \ diff --git a/package/selinux-python/Config.in b/package/selinux-python/Config.in new file mode 100644 index 0000000000..e453450264 --- /dev/null +++ b/package/selinux-python/Config.in @@ -0,0 +1,63 @@ +menuconfig BR2_PACKAGE_SELINUX_PYTHON + bool "selinux-python" + select BR2_PACKAGE_PYTHON3 if !BR2_PACKAGE_PYTHON + depends on BR2_USE_MMU + depends on BR2_USE_WCHAR + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_STATIC_LIBS + help + A set of SELinux tools written in python that help with + managing a system with SELinux enabled. If no packages are + selected nothing will actually be built. + https://github.com/SELinuxProject/selinux/wiki + +if BR2_PACKAGE_SELINUX_PYTHON + +config BR2_PACKAGE_SELINUX_PYTHON_AUDIT2ALLOW + bool "audit2allow" + depends on BR2_USE_WCHAR # sepolgen + depends on BR2_USE_MMU # sepolgen + depends on BR2_TOOLCHAIN_HAS_THREADS # sepolgen, checkpolicy + depends on !BR2_STATIC_LIBS # sepolgen + depends on BR2_TOOLCHAIN_USES_GLIBC # checkpolicy + depends on !BR2_arc # checkpolicy + select BR2_PACKAGE_CHECKPOLICY + select BR2_PACKAGE_SELINUX_PYTHON_SEPOLGEN + select BR2_PACKAGE_SEMODULE_UTILS + help + This module installs two programs: + + audit2allow - Generate SELinux policy allow/dontaudit rules + from logs of denied operations. + + audit2why - translates SELinux audit messages into a + description of why the access was denied (audit2allow -w) + +comment "audit2allow needs a glibc toolchain w/ wchar, threads, dynamic library" + depends on BR2_USE_MMU + depends on !BR2_arc + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ + BR2_STATIC_LIBS + +config BR2_PACKAGE_SELINUX_PYTHON_SEPOLGEN + bool "sepolgen" + depends on BR2_USE_WCHAR + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_SEMODULE_UTILS + help + This package contains a Python module that allows you to + generate an initial SELinux policy module template. + +comment "sepolgen needs a toolchain w/ wchar, threads, dynamic library" + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ + BR2_STATIC_LIBS + +endif + +comment "selinux-python packages needs a toolchain w/ wchar, threads, dynamic library" + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ + BR2_STATIC_LIBS diff --git a/package/selinux-python/selinux-python.hash b/package/selinux-python/selinux-python.hash new file mode 100644 index 0000000000..42fe575e7b --- /dev/null +++ b/package/selinux-python/selinux-python.hash @@ -0,0 +1,2 @@ +# https://github.com/SELinuxProject/selinux/wiki/Releases +sha256 4217cb965ecda96c91e15ffcc2e7ddd13ecc2bf5631100f3cd072a7616f140ed selinux-python-2.7.tar.gz diff --git a/package/selinux-python/selinux-python.mk b/package/selinux-python/selinux-python.mk new file mode 100644 index 0000000000..9a4622da44 --- /dev/null +++ b/package/selinux-python/selinux-python.mk @@ -0,0 +1,50 @@ +################################################################################ +# +# selinux-python +# +################################################################################ + +SELINUX_PYTHON_VERSION = 2.7 +SELINUX_PYTHON_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20170804 +SELINUX_PYTHON_LICENSE = GPL-2.0 +SELINUX_PYTHON_LICENSE_FILES = COPYING + +SELINUX_PYTHON_MAKE_OPTS += \ + $(TARGET_CONFIGURE_OPTS) \ + ARCH="$(BR2_ARCH)" \ + LIBDIR="$(STAGING_DIR)/usr/lib" + +ifeq ($(BR2_PACKAGE_PYTHON3),y) +SELINUX_PYTHON_DEPENDENCIES += python3 +SELINUX_PYTHON_MAKE_OPTS += \ + PYTHONLIBDIR="usr/lib/python$(PYTHON3_VERSION_MAJOR)" +else +SELINUX_PYTHON_DEPENDENCIES += python +SELINUX_PYTHON_MAKE_OPTS += \ + PYTHONLIBDIR="usr/lib/python$(PYTHON_VERSION_MAJOR)" +endif + +ifeq ($(BR2_PACKAGE_SELINUX_PYTHON_AUDIT2ALLOW),y) +SELINUX_PYTHON_DEPENDENCIES += checkpolicy +SELINUX_PYTHON_MAKE_DIRS += audit2allow +endif + +ifeq ($(BR2_PACKAGE_SELINUX_PYTHON_SEPOLGEN),y) +SELINUX_PYTHON_MAKE_DIRS += sepolgen/src/sepolgen +endif + +define SELINUX_PYTHON_BUILD_CMDS + $(foreach d,$(SELINUX_PYTHON_MAKE_DIRS), + $(MAKE) -C $(@D)/$(d) $(SELINUX_PYTHON_MAKE_OPTS) \ + DESTDIR=$(STAGING_DIR) all + ) +endef + +define SELINUX_PYTHON_INSTALL_TARGET_CMDS + $(foreach d,$(SELINUX_PYTHON_MAKE_DIRS), + $(MAKE) -C $(@D)/$(d) $(SELINUX_PYTHON_MAKE_OPTS) \ + DESTDIR=$(TARGET_DIR) install + ) +endef + +$(eval $(generic-package)) diff --git a/package/semodule-utils/Config.in b/package/semodule-utils/Config.in new file mode 100644 index 0000000000..38e043dc2c --- /dev/null +++ b/package/semodule-utils/Config.in @@ -0,0 +1,19 @@ +config BR2_PACKAGE_SEMODULE_UTILS + bool "semodule-utils" + depends on BR2_TOOLCHAIN_HAS_THREADS # libsepol + select BR2_PACKAGE_LIBSEPOL + help + semodule-utils is a package that contains tools for handling + selinux modules. + + The package will install the following utilities: + * semodule_deps - Show the dependencies between SELinux + policy packages. + * semodule_expand - Expand a SELinux policy module package. + * semodule_link - Link SELinux policy module packages together + * semodule_package - Create a SELinux policy module package. + + https://github.com/SELinuxProject/selinux/wiki/Releases + +comment "semodule-utils needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/semodule-utils/semodule-utils.hash b/package/semodule-utils/semodule-utils.hash new file mode 100644 index 0000000000..18c8217ca6 --- /dev/null +++ b/package/semodule-utils/semodule-utils.hash @@ -0,0 +1,2 @@ +# https://github.com/SELinuxProject/selinux/wiki/Releases +sha256 90c98b3362a43b4da2a51a9176820a56f3e615225e23e3395bc566c4490786ba semodule-utils-2.7.tar.gz diff --git a/package/semodule-utils/semodule-utils.mk b/package/semodule-utils/semodule-utils.mk new file mode 100644 index 0000000000..8f07fa0a81 --- /dev/null +++ b/package/semodule-utils/semodule-utils.mk @@ -0,0 +1,27 @@ +################################################################################ +# +# semodule-utils +# +################################################################################ + +SEMODULE_UTILS_VERSION = 2.7 +SEMODULE_UTILS_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20170804 +SEMODULE_UTILS_LICENSE = GPL-2.0 +SEMODULE_UTILS_LICENSE_FILES = COPYING +SEMODULE_UTILS_DEPENDENCIES = libsepol + +SEMODULE_UTILS_MAKE_OPTS += \ + $(TARGET_CONFIGURE_OPTS) \ + LIBSEPOLA=$(STAGING_DIR)/usr/lib/libsepol.a + +# We need to pass DESTDIR at build time because it's used by +# semodule-utils build system to find headers and libraries. +define SEMODULE_UTILS_BUILD_CMDS + $(MAKE) -C $(@D) $(SEMODULE_UTILS_MAKE_OPTS) DESTDIR=$(STAGING_DIR) all +endef + +define SEMODULE_UTILS_INSTALL_TARGET_CMDS + $(MAKE) -C $(@D) $(SEMODULE_UTILS_MAKE_OPTS) DESTDIR=$(TARGET_DIR) install +endef + +$(eval $(generic-package)) diff --git a/package/sepolgen/sepolgen.hash b/package/sepolgen/sepolgen.hash deleted file mode 100644 index b338a7019f..0000000000 --- a/package/sepolgen/sepolgen.hash +++ /dev/null @@ -1,2 +0,0 @@ -# https://github.com/SELinuxProject/selinux/wiki/Releases -sha256 6a327b1576d914e57ad796a541a7a9bcceefb14c445355559993de0fdb8e7a60 sepolgen-2.6.tar.gz diff --git a/package/sepolgen/sepolgen.mk b/package/sepolgen/sepolgen.mk deleted file mode 100644 index 137eaed612..0000000000 --- a/package/sepolgen/sepolgen.mk +++ /dev/null @@ -1,30 +0,0 @@ -################################################################################ -# -# sepolgen -# -################################################################################ - -SEPOLGEN_VERSION = 2.6 -SEPOLGEN_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20161014 -SEPOLGEN_LICENSE = GPLv2 -SEPOLGEN_LICENSE_FILES = COPYING - -ifeq ($(BR2_PACKAGE_PYTHON3),y) -HOST_SEPOLGEN_DEPENDENCIES = host-python3 -HOST_SEPOLGEN_MAKE_CMDS = $(HOST_CONFIGURE_OPTS) \ - PYTHONLIBDIR=/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages -else -HOST_SEPOLGEN_DEPENDENCIES = host-python -HOST_SEPOLGEN_MAKE_CMDS = $(HOST_CONFIGURE_OPTS) \ - PYTHONLIBDIR=/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages -endif - -define HOST_SEPOLGEN_BUILD_CMDS - $(HOST_MAKE_ENV) $(MAKE) -C $(@D) $(HOST_SEPOLGEN_MAKE_CMDS) DESTDIR=$(HOST_DIR) -endef - -define HOST_SEPOLGEN_INSTALL_CMDS - $(HOST_MAKE_ENV) $(MAKE) -C $(@D) $(HOST_SEPOLGEN_MAKE_CMDS) DESTDIR=$(HOST_DIR) install -endef - -$(eval $(host-generic-package)) diff --git a/package/ser2net/ser2net.hash b/package/ser2net/ser2net.hash index ae45e9cecf..6778235768 100644 --- a/package/ser2net/ser2net.hash +++ b/package/ser2net/ser2net.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 3d1cef5f48df8291e57d4d7d4eac2fc809ae644a5524ffca4aebef0f4e4153dc ser2net-3.3.tar.gz +sha256 d846066e27c3072565990745d030357aa0c278f96b7d1d4f59023347c1db8824 ser2net-3.4.tar.gz diff --git a/package/ser2net/ser2net.mk b/package/ser2net/ser2net.mk index a786b1a2a7..833becc3e0 100644 --- a/package/ser2net/ser2net.mk +++ b/package/ser2net/ser2net.mk @@ -4,9 +4,9 @@ # ################################################################################ -SER2NET_VERSION = 3.3 +SER2NET_VERSION = 3.4 SER2NET_SITE = http://downloads.sourceforge.net/project/ser2net/ser2net -SER2NET_LICENSE = GPLv2+ +SER2NET_LICENSE = GPL-2.0+ SER2NET_LICENSE_FILES = COPYING ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) diff --git a/package/setools/0001-cross-compile-fixes.patch b/package/setools/0001-cross-compile-fixes.patch deleted file mode 100644 index 1a4af0ce31..0000000000 --- a/package/setools/0001-cross-compile-fixes.patch +++ /dev/null @@ -1,125 +0,0 @@ -Correct build issues to enable cross compiling. These changes require the -package to be auto reconfigured. - -These updates were not upsteamed as the 3.3.x version has stablized and they -were only taking bug fixes. Also the 4.0 preview has completely reworked -the build infrastructure which will require this to be revisited. - -Signed-off-by Clayton Shotwell - -diff -urN a/configure.ac b/configure.ac ---- a/configure.ac 2013-01-16 10:36:24.000000000 -0600 -+++ b/configure.ac 2013-07-12 08:22:10.380255248 -0500 -@@ -448,8 +448,9 @@ - sepol_srcdir="") - if test "x${sepol_srcdir}" = "x"; then - sepol_srcdir=${sepol_devel_libdir} -- AC_CHECK_FILE([${sepol_srcdir}/libsepol.a],, -- AC_MSG_ERROR([make sure libsepol-static is installed])) -+ if test ! -f ${sepol_srcdir}/libsepol.a; then -+ AC_MSG_ERROR([could not find precompiled libsepol.a]) -+ fi - else - AC_MSG_CHECKING([for compatible sepol source tree]) - sepol_version=${sepol_srcdir}/VERSION -@@ -484,8 +485,9 @@ - AC_CHECK_HEADER([sepol/policydb/policydb.h], , AC_MSG_ERROR([could not find sepol source tree])) - CFLAGS="${sepol_src_save_CFLAGS}" - CPPFLAGS="${sepol_src_save_CPPFLAGS}" -- AC_CHECK_FILE([${sepol_srcdir}/libsepol.a],, -- AC_MSG_ERROR([could not find precompiled libsepol.a])) -+ if test ! -f ${sepol_srcdir}/libsepol.a; then -+ AC_MSG_ERROR([could not find precompiled libsepol.a]) -+ fi - sepol_devel_incdir="${sepol_srcdir}/../include" - fi - SELINUX_CFLAGS="-I${sepol_devel_incdir} -I${selinux_devel_incdir}" -@@ -578,12 +580,13 @@ - [AC_LANG_SOURCE([ - #include - int main () { -- return expand_module_avrules(NULL, NULL, NULL, NULL, NULL, 0, 0); -+ return expand_module_avrules(NULL, NULL, NULL, NULL, NULL, 0, 0, 0, 0); - }])], - AC_MSG_RESULT([yes]), - AC_MSG_ERROR([this version of libsepol is incompatible with SETools])) - fi - sepol_new_expand_boolmap="yes" -+ sepol_new_user_role_mapping="yes" - else - sepol_new_expand_boolmap="no" - fi -@@ -607,7 +610,8 @@ - exit(EXIT_FAILURE); - }])], - sepol_policy_version_max=`cat conftest.data`, -- AC_MSG_FAILURE([could not determine maximum libsepol policy version])) -+ AC_MSG_FAILURE([could not determine maximum libsepol policy version]), -+ sepol_policy_version_max="26") - AC_DEFINE_UNQUOTED(SEPOL_POLICY_VERSION_MAX, ${sepol_policy_version_max}, [maximum policy version supported by libsepol]) - CFLAGS="${sepol_save_CFLAGS}" - CPPFLAGS="${sepol_save_CPPFLAGS}" -@@ -631,7 +635,7 @@ - changequote([,])dnl - selinux_save_CFLAGS="${CFLAGS}" - CFLAGS="${SELINUX_CFLAGS} ${SELINUX_LIB_FLAG} -lselinux -lsepol ${CFLAGS}" -- gcc ${CFLAGS} -o conftest conftest.c >&5 -+ ${CC} ${CFLAGS} -o conftest conftest.c >&5 - selinux_policy_dir=`./conftest` - AC_MSG_RESULT(${selinux_policy_dir}) - CFLAGS="${selinux_save_CFLAGS}" -diff -urN a/libqpol/src/policy_define.c b/libqpol/src/policy_define.c ---- a/libqpol/src/policy_define.c 2013-01-16 10:36:24.000000000 -0600 -+++ b/libqpol/src/policy_define.c 2013-07-12 08:22:10.380255248 -0500 -@@ -2135,7 +2135,7 @@ - #ifdef HAVE_SEPOL_ROLE_ATTRS - if (role_set_expand(&roles, &e_roles, policydbp, NULL, NULL)) - #elif HAVE_SEPOL_USER_ROLE_MAPPING -- if (role_set_expand(&roles, &e_roles, policydbp, NULL)) -+ if (role_set_expand(&roles, &e_roles, policydbp, NULL, NULL)) - #else - if (role_set_expand(&roles, &e_roles, policydbp)) - #endif -diff -urN a/m4/ac_python_devel.m4 b/m4/ac_python_devel.m4 ---- a/m4/ac_python_devel.m4 2013-01-16 10:36:22.000000000 -0600 -+++ b/m4/ac_python_devel.m4 2013-07-12 08:22:10.380255248 -0500 -@@ -234,7 +234,7 @@ - AC_MSG_CHECKING([consistency of all components of python development environment]) - AC_LANG_PUSH([C]) - # save current global flags -- LIBS="$ac_save_LIBS $PYTHON_LDFLAGS" -+ LIBS="$ac_save_LIBS $PYTHON_EXTRA_LIBS $PYTHON_LDFLAGS" - CPPFLAGS="$ac_save_CPPFLAGS $PYTHON_CPPFLAGS" - AC_TRY_LINK([ - #include -diff -urN a/python/setools/Makefile.am b/python/setools/Makefile.am ---- a/python/setools/Makefile.am 2013-01-16 10:36:22.000000000 -0600 -+++ b/python/setools/Makefile.am 2013-07-12 08:22:19.200251011 -0500 -@@ -22,13 +22,13 @@ - python-build: sesearch.c seinfo.c - @mkdir -p setools - @cp __init__.py setools -- LIBS="$(QPOL_LIB_FLAG) $(APOL_LIB_FLAG)" INCLUDES="$(QPOL_CFLAGS) $(APOL_CFLAGS)" $(PYTHON) setup.py build -+ LIBS="$(QPOL_LIB_FLAG) $(APOL_LIB_FLAG)" LIBDIRS="$(PYTHON_LDFLAGS)" INCLUDES="$(PYTHON_CPPFLAGS) $(QPOL_CFLAGS) $(APOL_CFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" LDSHARED="$(CC) -shared" LDFLAGS="$(LDFLAGS)" $(PYTHON) setup.py build_ext - - install-exec-hook: -- $(PYTHON) setup.py install `test -n "$(DESTDIR)" && echo --root $(DESTDIR)` -+ $(PYTHON) setup.py install `test -n "$(DESTDIR)" && echo --prefix=$(DESTDIR)/usr` - - uninstall-hook: -- $(PYTHON) setup.py uninstall `test -n "$(DESTDIR)" && echo --root $(DESTDIR)` -+ $(PYTHON) setup.py uninstall `test -n "$(DESTDIR)" && echo --prefix=$(DESTDIR)/usr` - - clean-local: - $(PYTHON) setup.py clean -a ---- a/python/setools/setup.py 2013-01-16 10:36:22.000000000 -0600 -+++ b/python/setools/setup.py 2013-09-04 09:17:48.452916991 -0500 -@@ -8,7 +8,7 @@ - try: - inc=os.getenv("INCLUDES").split(" ") - INCLUDES=map(lambda x: x[2:], inc) -- LIBDIRS=map(lambda x: "/".join(x.split("/")[:-1]), os.getenv("LIBS").split()) -+ LIBDIRS=map(lambda x: "/".join(x.split("/")[:-1]), os.getenv("LIBS").split()) + map(lambda x: x[2:], os.getenv("LIBDIRS").split()) - except: - INCLUDES="" - LIBDIRS="" diff --git a/package/setools/0001-remove-werror-flag-from-setup.patch b/package/setools/0001-remove-werror-flag-from-setup.patch new file mode 100644 index 0000000000..b1446e2ec3 --- /dev/null +++ b/package/setools/0001-remove-werror-flag-from-setup.patch @@ -0,0 +1,29 @@ +From b2fe84bfd00117d4897f1f2e8f83d3410eb188b8 Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Thu, 12 Oct 2017 22:04:58 -0400 +Subject: [PATCH] remove werror flag from setup + +Compilers older than gcc6 will generate uninitialized variable warnings which +will cause compiling to fail. + +Signed-off-by: Adam Duskett +--- + setup.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 2ca44c9..9319bf6 100644 +--- a/setup.py ++++ b/setup.py +@@ -146,7 +146,7 @@ ext_py_mods = [Extension('setools.policyrep._qpol', + 'libqpol/policy_scan.c', + 'libqpol/xen_query.c'], + include_dirs=include_dirs, +- extra_compile_args=['-Werror', '-Wextra', ++ extra_compile_args=['-Wextra', + '-Waggregate-return', + '-Wfloat-equal', + '-Wformat', '-Wformat=2', +-- +2.13.6 + diff --git a/package/setools/0002-Do-not-export-use-setools.InfoFlowAnalysis-and-setoo.patch b/package/setools/0002-Do-not-export-use-setools.InfoFlowAnalysis-and-setoo.patch new file mode 100644 index 0000000000..1ef1cd69bc --- /dev/null +++ b/package/setools/0002-Do-not-export-use-setools.InfoFlowAnalysis-and-setoo.patch @@ -0,0 +1,142 @@ +From 2512c3ba608077db3a5e0286b976fadc8a04a5c4 Mon Sep 17 00:00:00 2001 +From: rpm-build +Date: Thu, 23 Feb 2017 08:17:07 +0100 +Subject: [PATCH] Do not export/use setools.InfoFlowAnalysis and + setools.DomainTransitionAnalysis + +dta and infoflow modules require networkx which brings lot of dependencies. +These dependencies are not necessary for setools module itself as it's +used in policycoreutils. + +Therefore it's better to use setools.infoflow.InfoFlowAnalysis and +setools.dta.DomainTransitionAnalysis and let the package containing +sedta and seinfoflow to require python3-networkx + +Signed-off-by: Adam Duskett +--- + sedta | 3 ++- + seinfoflow | 3 ++- + setools/__init__.py | 4 ++-- + setoolsgui/apol/dta.py | 2 +- + setoolsgui/apol/infoflow.py | 2 +- + tests/dta.py | 3 ++- + tests/infoflow.py | 3 ++- + 7 files changed, 12 insertions(+), 8 deletions(-) + +diff --git a/sedta b/sedta +index 1c76ebb..255ad49 100755 +--- a/sedta ++++ b/sedta +@@ -23,6 +23,7 @@ import argparse + import logging + + import setools ++import setools.dta + + + def print_transition(trans): +@@ -111,7 +112,7 @@ else: + + try: + p = setools.SELinuxPolicy(args.policy) +- g = setools.DomainTransitionAnalysis(p, reverse=args.reverse, exclude=args.exclude) ++ g = setools.dta.DomainTransitionAnalysis(p, reverse=args.reverse, exclude=args.exclude) + + if args.shortest_path or args.all_paths: + if args.shortest_path: +diff --git a/seinfoflow b/seinfoflow +index b287921..d53bdef 100755 +--- a/seinfoflow ++++ b/seinfoflow +@@ -19,6 +19,7 @@ + + from __future__ import print_function + import setools ++import setools.infoflow + import argparse + import sys + import logging +@@ -79,7 +80,7 @@ else: + try: + p = setools.SELinuxPolicy(args.policy) + m = setools.PermissionMap(args.map) +- g = setools.InfoFlowAnalysis(p, m, min_weight=args.min_weight, exclude=args.exclude) ++ g = setools.infoflow.InfoFlowAnalysis(p, m, min_weight=args.min_weight, exclude=args.exclude) + + if args.shortest_path or args.all_paths: + if args.shortest_path: +diff --git a/setools/__init__.py b/setools/__init__.py +index a84c846..a53c5a7 100644 +--- a/setools/__init__.py ++++ b/setools/__init__.py +@@ -74,11 +74,11 @@ from .pcideviceconquery import PcideviceconQuery + from .devicetreeconquery import DevicetreeconQuery + + # Information Flow Analysis +-from .infoflow import InfoFlowAnalysis ++# from .infoflow import InfoFlowAnalysis + from .permmap import PermissionMap + + # Domain Transition Analysis +-from .dta import DomainTransitionAnalysis ++# from .dta import DomainTransitionAnalysis + + # Policy difference + from .diff import PolicyDifference +diff --git a/setoolsgui/apol/dta.py b/setoolsgui/apol/dta.py +index 0aaf13f..5b1ea20 100644 +--- a/setoolsgui/apol/dta.py ++++ b/setoolsgui/apol/dta.py +@@ -23,7 +23,7 @@ from PyQt5.QtCore import pyqtSignal, Qt, QStringListModel, QThread + from PyQt5.QtGui import QPalette, QTextCursor + from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog, \ + QTreeWidgetItem +-from setools import DomainTransitionAnalysis ++from setools.dta import DomainTransitionAnalysis + + from ..logtosignal import LogHandlerToSignal + from .analysistab import AnalysisTab +diff --git a/setoolsgui/apol/infoflow.py b/setoolsgui/apol/infoflow.py +index 1ae16de..fdf8f7b 100644 +--- a/setoolsgui/apol/infoflow.py ++++ b/setoolsgui/apol/infoflow.py +@@ -25,7 +25,7 @@ from PyQt5.QtCore import pyqtSignal, Qt, QStringListModel, QThread + from PyQt5.QtGui import QPalette, QTextCursor + from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog, \ + QTreeWidgetItem +-from setools import InfoFlowAnalysis ++from setools.infoflow import InfoFlowAnalysis + from setools.exception import UnmappedClass, UnmappedPermission + + from ..logtosignal import LogHandlerToSignal +diff --git a/tests/dta.py b/tests/dta.py +index 32b9271..2bdd052 100644 +--- a/tests/dta.py ++++ b/tests/dta.py +@@ -17,7 +17,8 @@ + # + import unittest + +-from setools import SELinuxPolicy, DomainTransitionAnalysis ++from setools import SELinuxPolicy ++from setools.dta import DomainTransitionAnalysis + from setools import TERuletype as TERT + from setools.policyrep.exception import InvalidType + from setools.policyrep.typeattr import Type +diff --git a/tests/infoflow.py b/tests/infoflow.py +index 7751dda..a21c683 100644 +--- a/tests/infoflow.py ++++ b/tests/infoflow.py +@@ -17,7 +17,8 @@ + # + import unittest + +-from setools import SELinuxPolicy, InfoFlowAnalysis ++from setools import SELinuxPolicy ++from setools.infoflow import InfoFlowAnalysis + from setools import TERuletype as TERT + from setools.permmap import PermissionMap + from setools.policyrep.exception import InvalidType +-- +2.9.3 + diff --git a/package/setools/0002-move-python-check.patch b/package/setools/0002-move-python-check.patch deleted file mode 100644 index cef2cec996..0000000000 --- a/package/setools/0002-move-python-check.patch +++ /dev/null @@ -1,25 +0,0 @@ -Correct a build issue that occurs when python is not found -in the path. This check should only be done if swig-python -option is selected. - -Signed-off-by Clayton Shotwell - ---- a/configure.ac 2015-05-15 12:28:07.566060349 -0500 -+++ b/configure.ac 2015-05-28 15:07:25.357072800 -0500 -@@ -217,8 +217,6 @@ - do_swigify=yes - fi - --AM_PATH_PYTHON(2.7) -- - AC_ARG_ENABLE(swig-python, - AC_HELP_STRING([--enable-swig-python], - [build SWIG interfaces for Python]), -@@ -227,6 +225,7 @@ - if test ${do_swigify} = no; then - AC_PROG_SWIG(2.0.0) - fi -+ AM_PATH_PYTHON(2.7) - SWIG_PYTHON - do_swigify_python=yes - do_swigify=yes diff --git a/package/setools/0003-setools-Update-for-2015-02-02-Userspace-release.patch b/package/setools/0003-setools-Update-for-2015-02-02-Userspace-release.patch deleted file mode 100644 index b0842d961a..0000000000 --- a/package/setools/0003-setools-Update-for-2015-02-02-Userspace-release.patch +++ /dev/null @@ -1,90 +0,0 @@ -setools: Add patch to support 2.4 toolstack. -Signed-off-by: Philip Tricca -Signed-off-by: Joe MacDonald -URL: https://github.com/flihp/meta-selinux/commit/e09eaef7a9acb552a4a5e1f90117154ae06b6fda - -Signed-off-by: Adam Duskett - -diff --git a/libqpol/src/policy_define.c b/libqpol/src/policy_define.c -index fad6b60..231962f 100644 ---- a/libqpol/src/policy_define.c -+++ b/libqpol/src/policy_define.c -@@ -1449,7 +1449,7 @@ int define_compute_type_helper(int which, avrule_t ** rule) - return -1; - } - class_perm_node_init(perm); -- perm->class = i + 1; -+ perm->tclass = i + 1; - perm->data = datum->s.value; - perm->next = avrule->perms; - avrule->perms = perm; -@@ -1699,7 +1699,7 @@ int define_te_avtab_helper(int which, avrule_t ** rule) - goto out; - } - class_perm_node_init(cur_perms); -- cur_perms->class = i + 1; -+ cur_perms->tclass = i + 1; - if (!perms) - perms = cur_perms; - if (tail) -diff --git a/libqpol/src/policy_extend.c b/libqpol/src/policy_extend.c -index 5325a87..1417271 100644 ---- a/libqpol/src/policy_extend.c -+++ b/libqpol/src/policy_extend.c -@@ -843,7 +843,7 @@ static int qpol_syn_rule_table_insert_sepol_avrule(qpol_policy_t * policy, qpol_ - for (class_node = rule->perms; class_node; class_node = class_node->next) { - key.rule_type = rule->specified; - key.source_val = key.target_val = i + 1; -- key.class_val = class_node->class; -+ key.class_val = class_node->tclass; - key.cond = cond; - if (qpol_syn_rule_table_insert_entry(policy, table, &key, new_rule)) - goto err; -@@ -856,7 +856,7 @@ static int qpol_syn_rule_table_insert_sepol_avrule(qpol_policy_t * policy, qpol_ - key.rule_type = rule->specified; - key.source_val = i + 1; - key.target_val = j + 1; -- key.class_val = class_node->class; -+ key.class_val = class_node->tclass; - key.cond = cond; - if (qpol_syn_rule_table_insert_entry(policy, table, &key, new_rule)) - goto err; -diff --git a/libqpol/src/syn_rule_query.c b/libqpol/src/syn_rule_query.c -index 3e63204..d7578f1 100644 ---- a/libqpol/src/syn_rule_query.c -+++ b/libqpol/src/syn_rule_query.c -@@ -67,7 +67,7 @@ static void *syn_rule_class_state_get_cur(const qpol_iterator_t * iter) - return NULL; - } - -- return db->class_val_to_struct[srcs->cur->class - 1]; -+ return db->class_val_to_struct[srcs->cur->tclass - 1]; - } - - static int syn_rule_class_state_next(qpol_iterator_t * iter) -@@ -465,10 +465,10 @@ int qpol_syn_avrule_get_perm_iter(const qpol_policy_t * policy, const qpol_syn_a - } - - for (node = internal_rule->perms; node; node = node->next) { -- for (i = 0; i < db->class_val_to_struct[node->class - 1]->permissions.nprim; i++) { -+ for (i = 0; i < db->class_val_to_struct[node->tclass - 1]->permissions.nprim; i++) { - if (!(node->data & (1 << i))) - continue; -- tmp = sepol_av_to_string(db, node->class, (sepol_access_vector_t) (1 << i)); -+ tmp = sepol_av_to_string(db, node->tclass, (sepol_access_vector_t) (1 << i)); - if (tmp) { - tmp++; /* remove prepended space */ - for (cur = 0; cur < perm_list_sz; cur++) -diff --git a/secmds/replcon.cc b/secmds/replcon.cc -index 34f7c1a..307c39f 100644 ---- a/secmds/replcon.cc -+++ b/secmds/replcon.cc -@@ -60,7 +60,7 @@ static struct option const longopts[] = { - {NULL, 0, NULL, 0} - }; - --extern int lsetfilecon_raw(const char *, security_context_t) __attribute__ ((weak)); -+extern int lsetfilecon_raw(const char *, const char *) __attribute__ ((weak)); - - /** - * As that setools must work with older libselinux versions that may diff --git a/package/setools/Config.in b/package/setools/Config.in index 5e7f39d65f..ae0c45fe3f 100644 --- a/package/setools/Config.in +++ b/package/setools/Config.in @@ -1,36 +1,27 @@ config BR2_PACKAGE_SETOOLS bool "setools" - select BR2_PACKAGE_LIBSELINUX - select BR2_PACKAGE_SQLITE - select BR2_PACKAGE_LIBXML2 - select BR2_PACKAGE_BZIP2 - depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_arc # arc: libselinux not available depends on !BR2_STATIC_LIBS - depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_USES_GLIBC # libselinux - # bfin: infamous _ symbol prefix issue - # nios2: triggers some toolchain issue "No symbol version - # section for versioned symbol" - # arc: libselinux not available - depends on !BR2_nios2 && !BR2_bfin && !BR2_arc + depends on BR2_USE_MMU + select BR2_PACKAGE_PYTHON3 if !BR2_PACKAGE_PYTHON + select BR2_PACKAGE_PYTHON_ENUM34 if !BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON_SETUPTOOLS + select BR2_PACKAGE_LIBSELINUX help SETools is an open source project designed to facilitate SELinux policy analysis. The primary tools are: - * apol - analyze a SELinux policy. - * seaudit - analyze audit messages from SELinux. - * seaudit-report - generate highly-customized audit log - reports. - * sechecker - command line tool for performing modular - checks on an SELinux policy. + * apol - analyze a SELinux policy. (requires python-qt5) * sediff - semantic policy difference tool for SELinux. - * secmds - command-line tools to analyze and search SELinux - policy. + * sedta - Perform domain transition analyses + * sesearch - Search rules (allow, type_transition, etc.) - https://github.com/TresysTechnology/setools3/wiki + https://github.com/TresysTechnology/setools comment "setools needs a glibc toolchain w/ threads, C++, wchar, dynamic library" - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS \ - || !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP \ - || !BR2_TOOLCHAIN_USES_GLIBC - depends on !BR2_nios2 && !BR2_bfin && !BR2_arc + depends on BR2_USE_MMU && !BR2_arc + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ + !BR2_USE_WCHAR || !BR2_TOOLCHAIN_USES_GLIBC || \ + !BR2_INSTALL_LIBSTDCPP diff --git a/package/setools/setools.hash b/package/setools/setools.hash index d422e6607b..8729297064 100644 --- a/package/setools/setools.hash +++ b/package/setools/setools.hash @@ -1,4 +1,7 @@ # From https://github.com/TresysTechnology/setools3/wiki/Download -md5 d68d0d4e4da0f01da0f208782ff04b91 setools-3.3.8.tar.bz2 +md5 d68d0d4e4da0f01da0f208782ff04b91 setools-4.1.1.tar.bz2 # Locally computed -sha256 44387ecc9a231ec536a937783440cd8960a72c51f14bffc1604b7525e341e999 setools-3.3.8.tar.bz2 +sha256 46a927ea2b163cbe1d35cc35da43e45853e13720c7e02d4cf75a498783c19610 setools-4.1.1.tar.gz +sha256 2f7547e10f76a382c24c053595f38a5cc6dda9347f508f254ca490e0046a9624 COPYING +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING.GPL +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPL diff --git a/package/setools/setools.mk b/package/setools/setools.mk index 87a19cf5ae..8b93ccf45e 100644 --- a/package/setools/setools.mk +++ b/package/setools/setools.mk @@ -4,81 +4,67 @@ # ################################################################################ -SETOOLS_VERSION = 3.3.8 -SETOOLS_SOURCE = setools-$(SETOOLS_VERSION).tar.bz2 -SETOOLS_SITE = https://raw.githubusercontent.com/wiki/TresysTechnology/setools3/files/dists/setools-$(SETOOLS_VERSION) -SETOOLS_DEPENDENCIES = libselinux libsepol sqlite libxml2 bzip2 host-bison host-flex +SETOOLS_VERSION = 4.1.1 +SETOOLS_SITE = $(call github,TresysTechnology,setools,$(SETOOLS_VERSION)) +SETOOLS_DEPENDENCIES = libselinux libsepol python-setuptools host-bison host-flex host-swig SETOOLS_INSTALL_STAGING = YES -SETOOLS_LICENSE = GPLv2+, LGPLv2.1+ +SETOOLS_LICENSE = GPL-2.0+, LGPL-2.1+ SETOOLS_LICENSE_FILES = COPYING COPYING.GPL COPYING.LGPL +SETOOLS_SETUP_TYPE = setuptools +HOST_SETOOLS_DEPENDENCIES = host-libselinux host-libsepol -# configure.ac is patched by the cross compile patch, -# so autoreconf is necessary -SETOOLS_AUTORECONF = YES - -# Notes: Need "disable-selinux-check" so the configure does not check to see -# if host has selinux enabled. -# No python support as only the libraries and commandline tools are -# installed on target -SETOOLS_CONF_OPTS = \ - --disable-debug \ - --disable-gui \ - --disable-bwidget-check \ - --disable-selinux-check \ - --disable-swig-java \ - --disable-swig-python \ - --disable-swig-tcl \ - --with-sepol-devel="$(STAGING_DIR)/usr" \ - --with-selinux-devel="$(STAGING_DIR)/usr" - -ifeq ($(BR2_sparc64):$(BR2_STATIC_LIBS),y:) -SETOOLS_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -fPIC" -endif - -HOST_SETOOLS_DEPENDENCIES = host-libselinux host-libsepol host-sqlite \ - host-libxml2 host-bzip2 host-bison ifeq ($(BR2_PACKAGE_PYTHON3),y) -HOST_SETOOLS_PYTHON_VERSION=$(PYTHON3_VERSION_MAJOR) -HOST_SETOOLS_DEPENDENCIES += host-python3 -HOST_SETOOLS_CONF_ENV += am_cv_python_version=$(PYTHON3_VERSION) +SETOOLS_PYLIBVER = python$(PYTHON3_VERSION_MAJOR) else -HOST_SETOOLS_PYTHON_VERSION=$(PYTHON_VERSION_MAJOR) -HOST_SETOOLS_DEPENDENCIES += host-python -HOST_SETOOLS_CONF_ENV += am_cv_python_version=$(PYTHON_VERSION) +SETOOLS_PYLIBVER = python$(PYTHON_VERSION_MAJOR) +SETOOLS_DEPENDENCIES += python-enum34 endif -HOST_SETOOLS_PYTHON_SITE_PACKAGES = $(HOST_DIR)/usr/lib/python$(HOST_SETOOLS_PYTHON_VERSION)/site-packages -HOST_SETOOLS_PYTHON_INCLUDES = $(HOST_DIR)/usr/include/python$(HOST_SETOOLS_PYTHON_VERSION) -HOST_SETOOLS_PYTHON_LIB = -lpython$(HOST_SETOOLS_PYTHON_VERSION) +define SETOOLS_FIX_SETUP + # By default, setup.py will look for libsepol.a in the host machines + # /usr/lib directory. This needs to be changed to the staging directory. + $(SED) "s@base_lib_dirs =.*@base_lib_dirs = ['$(STAGING_DIR)/usr/lib']@g" \ + $(@D)/setup.py +endef +SETOOLS_POST_PATCH_HOOKS += SETOOLS_FIX_SETUP -# Notes: Need "disable-selinux-check" so the configure does not check to see -# if host has selinux enabled. -# Host builds with python support to enable tools for offline target -# policy analysis -HOST_SETOOLS_CONF_OPTS = \ - --disable-debug \ - --disable-gui \ - --disable-bwidget-check \ - --disable-selinux-check \ - --disable-swig-java \ - --disable-swig-python \ - --disable-swig-tcl \ - --with-sepol-devel="$(HOST_DIR)/usr" \ - --with-selinux-devel="$(HOST_DIR)/usr" \ - PYTHON_LDFLAGS="-L$(HOST_DIR)/usr/lib/" \ - PYTHON_CPPFLAGS="-I$(HOST_SETOOLS_PYTHON_INCLUDES)" \ - PYTHON_SITE_PKG="$(HOST_SETOOLS_PYTHON_SITE_PACKAGES)" \ - PYTHON_EXTRA_LIBS="-lpthread -ldl -lutil $(HOST_SETOOLS_PYTHON_LIB)" +define HOST_SETOOLS_FIX_SETUP + # By default, setup.py will look for libsepol.a in the host machines + # /usr/lib directory. This needs to be changed to the host directory. + $(SED) "s@base_lib_dirs =.*@base_lib_dirs = ['$(HOST_DIR)/lib']@g" \ + $(@D)/setup.py +endef +HOST_SETOOLS_POST_PATCH_HOOKS += HOST_SETOOLS_FIX_SETUP -HOST_SETOOLS_CONF_ENV += \ - am_cv_pathless_PYTHON=python \ - ac_cv_path_PYTHON=$(HOST_DIR)/usr/bin/python \ - am_cv_python_platform=linux2 \ - am_cv_python_version=$(HOST_SETOOLS_PYTHON_VERSION) \ - am_cv_python_pythondir=$(HOST_SETOOLS_PYTHON_SITE_PACKAGES) \ - am_cv_python_pyexecdir=$(HOST_SETOOLS_PYTHON_SITE_PACKAGES) \ - am_cv_python_includes=-I$(HOST_SETOOLS_PYTHON_INCLUDES) +# sedta and seinfoflow depend on python-networkx. This package is not +# available in buildroot. +define SETOOLS_REMOVE_BROKEN_SCRIPTS + $(RM) $(TARGET_DIR)/usr/bin/sedta + $(RM) $(TARGET_DIR)/usr/bin/seinfoflow +endef +SETOOLS_POST_INSTALL_TARGET_HOOKS += SETOOLS_REMOVE_BROKEN_SCRIPTS -$(eval $(autotools-package)) -$(eval $(host-autotools-package)) +# apol requires pyqt5. However, the setools installation +# process will install apol even if pyqt5 is missing. +# Remove these scripts from the target it pyqt5 is not selected. +ifeq ($(BR2_PACKAGE_PYTHON_PYQT5),) +define SETOOLS_REMOVE_QT_SCRIPTS + $(RM) $(TARGET_DIR)/usr/bin/apol + $(RM) -r $(TARGET_DIR)/lib/$(SETOOLS_PYLIBVER)/site-packages/setoolsgui/ +endef +SETOOLS_POST_INSTALL_TARGET_HOOKS += SETOOLS_REMOVE_QT_SCRIPTS +endif + +# sedta and seinfoflow depend on python-networkx. This package is not +# available in buildroot. pyqt5 is not a host-package, remove apol +# from the host directory as well. +define HOST_SETOOLS_REMOVE_BROKEN_SCRIPTS + $(RM) $(HOST_DIR)/bin/sedta + $(RM) $(HOST_DIR)/bin/seinfoflow + $(RM) $(HOST_DIR)/bin/apol +endef +HOST_SETOOLS_POST_INSTALL_HOOKS += HOST_SETOOLS_REMOVE_BROKEN_SCRIPTS + +$(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/package/setserial/setserial.mk b/package/setserial/setserial.mk index 561fbe98c9..66ca59d79d 100644 --- a/package/setserial/setserial.mk +++ b/package/setserial/setserial.mk @@ -8,7 +8,7 @@ SETSERIAL_VERSION = 2.17 SETSERIAL_PATCH = setserial_2.17-45.3.diff.gz SETSERIAL_SOURCE = setserial_$(SETSERIAL_VERSION).orig.tar.gz SETSERIAL_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/s/setserial -SETSERIAL_LICENSE = GPLv2 +SETSERIAL_LICENSE = GPL-2.0 SETSERIAL_LICENSE_FILES = debian/copyright # make all also builds setserial.cat which needs nroff SETSERIAL_MAKE_OPTS = setserial diff --git a/package/sg3_utils/sg3_utils.mk b/package/sg3_utils/sg3_utils.mk index e7af83a523..88827f33b4 100644 --- a/package/sg3_utils/sg3_utils.mk +++ b/package/sg3_utils/sg3_utils.mk @@ -7,10 +7,10 @@ SG3_UTILS_VERSION = 1.42 SG3_UTILS_SOURCE = sg3_utils-$(SG3_UTILS_VERSION).tar.xz SG3_UTILS_SITE = http://sg.danny.cz/sg/p -SG3_UTILS_LICENSE = BSD-3c -# utils progs are GPLv2+ licenced +SG3_UTILS_LICENSE = BSD-3-Clause (library) +# Some utils progs are GPL-2.0+ licensed while others are BSD-3-Clause ifeq ($(BR2_PACKAGE_SG3_UTILS_PROGS),y) -SG3_UTILS_LICENSE += GPLv2+ +SG3_UTILS_LICENSE := $(SG3_UTILS_LICENSE), GPL-2.0+ (programs), BSD-3-Clause (programs) endif SG3_UTILS_LICENSE_FILES = COPYING BSD_LICENSE diff --git a/package/shairport-sync/Config.in b/package/shairport-sync/Config.in index c558a64c5b..c2a5565402 100644 --- a/package/shairport-sync/Config.in +++ b/package/shairport-sync/Config.in @@ -2,11 +2,12 @@ config BR2_PACKAGE_SHAIRPORT_SYNC bool "shairport-sync" depends on BR2_USE_MMU # libdaemon depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL + depends on BR2_INSTALL_LIBSTDCPP select BR2_PACKAGE_ALSA_LIB select BR2_PACKAGE_ALSA_LIB_MIXER select BR2_PACKAGE_LIBCONFIG select BR2_PACKAGE_LIBDAEMON - select BR2_PACKAGE_POLARSSL if !BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_MBEDTLS select BR2_PACKAGE_POPT help Shairport Sync emulates an AirPort Express for the purpose of @@ -34,6 +35,6 @@ config BR2_PACKAGE_SHAIRPORT_SYNC_LIBSOXR endif -comment "shairport-sync needs a toolchain w/ NPTL" +comment "shairport-sync needs a toolchain w/ C++, NPTL" depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS_NPTL diff --git a/package/shairport-sync/shairport-sync.hash b/package/shairport-sync/shairport-sync.hash index 45bce1016a..08f22a0cf3 100644 --- a/package/shairport-sync/shairport-sync.hash +++ b/package/shairport-sync/shairport-sync.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 2e73416ac8fdda1657034afaa143f1710852ebed06e0aa43dafc2b7dc5eb653d shairport-sync-2.8.6.tar.gz +sha256 4c5a2ab40ef49896f5b6e59b20df4f621ebce47ee64d8571336f59820ae66379 shairport-sync-3.1.4.tar.gz diff --git a/package/shairport-sync/shairport-sync.mk b/package/shairport-sync/shairport-sync.mk index 00d6a695b8..63289d4398 100644 --- a/package/shairport-sync/shairport-sync.mk +++ b/package/shairport-sync/shairport-sync.mk @@ -4,10 +4,10 @@ # ################################################################################ -SHAIRPORT_SYNC_VERSION = 2.8.6 +SHAIRPORT_SYNC_VERSION = 3.1.4 SHAIRPORT_SYNC_SITE = $(call github,mikebrady,shairport-sync,$(SHAIRPORT_SYNC_VERSION)) -SHAIRPORT_SYNC_LICENSE = MIT, BSD-3c +SHAIRPORT_SYNC_LICENSE = MIT, BSD-3-Clause SHAIRPORT_SYNC_LICENSE_FILES = LICENSES SHAIRPORT_SYNC_DEPENDENCIES = alsa-lib libconfig libdaemon popt host-pkgconf @@ -19,6 +19,8 @@ SHAIRPORT_SYNC_CONF_OPTS = --with-alsa \ --with-pipe \ --with-stdout +SHAIRPORT_SYNC_CONF_ENV += LIBS="$(SHAIRPORT_SYNC_CONF_LIBS)" + # Avahi or tinysvcmdns (shaiport-sync bundles its own version of tinysvcmdns). # Avahi support needs libavahi-client, which is built by avahi if avahi-daemon # and dbus is selected. Since there is no BR2_PACKAGE_LIBAVAHI_CLIENT config @@ -31,13 +33,17 @@ else SHAIRPORT_SYNC_CONF_OPTS += --with-tinysvcmdns endif -# OpenSSL or PolarSSL +# OpenSSL or mbedTLS ifeq ($(BR2_PACKAGE_OPENSSL),y) SHAIRPORT_SYNC_DEPENDENCIES += openssl SHAIRPORT_SYNC_CONF_OPTS += --with-ssl=openssl else -SHAIRPORT_SYNC_DEPENDENCIES += polarssl -SHAIRPORT_SYNC_CONF_OPTS += --with-ssl=polarssl +SHAIRPORT_SYNC_DEPENDENCIES += mbedtls +SHAIRPORT_SYNC_CONF_OPTS += --with-ssl=mbedtls +SHAIRPORT_SYNC_CONF_LIBS += -lmbedx509 -lmbedcrypto +ifeq ($(BR2_PACKAGE_MBEDTLS_COMPRESSION),y) +SHAIRPORT_SYNC_CONF_LIBS += -lz +endif endif ifeq ($(BR2_PACKAGE_SHAIRPORT_SYNC_LIBSOXR),y) diff --git a/package/shapelib/shapelib.mk b/package/shapelib/shapelib.mk index 2e8fe6d7b2..34b625346f 100644 --- a/package/shapelib/shapelib.mk +++ b/package/shapelib/shapelib.mk @@ -6,7 +6,7 @@ SHAPELIB_VERSION = 1.3.0 SHAPELIB_SITE = http://download.osgeo.org/shapelib -SHAPELIB_LICENSE = MIT or LGPLv2 +SHAPELIB_LICENSE = MIT or LGPL-2.0 SHAPELIB_LICENSE_FILES = web/license.html LICENSE.LGPL SHAPELIB_INSTALL_STAGING = YES diff --git a/package/shared-mime-info/shared-mime-info.mk b/package/shared-mime-info/shared-mime-info.mk index 64bb4d5187..e68d631a2e 100644 --- a/package/shared-mime-info/shared-mime-info.mk +++ b/package/shared-mime-info/shared-mime-info.mk @@ -8,7 +8,9 @@ SHARED_MIME_INFO_VERSION = 1.8 SHARED_MIME_INFO_SOURCE = shared-mime-info-$(SHARED_MIME_INFO_VERSION).tar.xz SHARED_MIME_INFO_SITE = https://people.freedesktop.org/~hadess SHARED_MIME_INFO_INSTALL_STAGING = YES -SHARED_MIME_INFO_CONF_ENV = XMLLINT=$(HOST_DIR)/usr/bin/xmllint +# 0001-Remove-incorrect-dependency-from-install-data-hook.patch +SHARED_MIME_INFO_AUTORECONF = YES +SHARED_MIME_INFO_CONF_ENV = XMLLINT=$(HOST_DIR)/bin/xmllint SHARED_MIME_INFO_DEPENDENCIES = host-shared-mime-info libxml2 libglib2 SHARED_MIME_INFO_CONF_OPTS = \ --disable-update-mimedb \ @@ -16,7 +18,7 @@ SHARED_MIME_INFO_CONF_OPTS = \ HOST_SHARED_MIME_INFO_CONF_OPTS = \ --disable-update-mimedb \ --disable-default-make-check -SHARED_MIME_INFO_LICENSE = GPLv2 +SHARED_MIME_INFO_LICENSE = GPL-2.0 SHARED_MIME_INFO_LICENSE_FILES = COPYING HOST_SHARED_MIME_INFO_DEPENDENCIES = \ @@ -31,4 +33,4 @@ $(eval $(autotools-package)) $(eval $(host-autotools-package)) # shared-mime-info for the host -SHARED_MIME_INFO_HOST_BINARY = $(HOST_DIR)/usr/bin/update-mime-database +SHARED_MIME_INFO_HOST_BINARY = $(HOST_DIR)/bin/update-mime-database diff --git a/package/shellinabox/shellinabox.mk b/package/shellinabox/shellinabox.mk index 1173ef7d1c..1db62e609a 100644 --- a/package/shellinabox/shellinabox.mk +++ b/package/shellinabox/shellinabox.mk @@ -6,7 +6,7 @@ SHELLINABOX_VERSION = v2.19 SHELLINABOX_SITE = $(call github,shellinabox,shellinabox,$(SHELLINABOX_VERSION)) -SHELLINABOX_LICENSE = GPLv2 with OpenSSL exception +SHELLINABOX_LICENSE = GPL-2.0 with OpenSSL exception SHELLINABOX_LICENSE_FILES = COPYING GPL-2 # Fetching from Github, and patching Makefile.am, so we need to autoreconf diff --git a/package/sigrok-cli/Config.in b/package/sigrok-cli/Config.in index b8eb60d1ba..75bd8c6d5a 100644 --- a/package/sigrok-cli/Config.in +++ b/package/sigrok-cli/Config.in @@ -1,18 +1,21 @@ config BR2_PACKAGE_SIGROK_CLI bool "sigrok-cli" - select BR2_PACKAGE_LIBSIGROK # libsigrok->libglib2: depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU + # libsigrok->libzip + depends on !BR2_STATIC_LIBS # libsigrok depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 + select BR2_PACKAGE_LIBSIGROK help Sigrok-cli is a command-line frontend for the sigrok software suite. http://sigrok.org/wiki/Sigrok-cli -comment "sigrok-cli needs a toolchain w/ wchar, threads, gcc >= 4.7" +comment "sigrok-cli needs a toolchain w/ wchar, threads, dynamic library, gcc >= 4.7" depends on BR2_USE_MMU - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 || BR2_STATIC_LIBS diff --git a/package/sigrok-cli/sigrok-cli.hash b/package/sigrok-cli/sigrok-cli.hash index b60b57e71e..42bbdc185e 100644 --- a/package/sigrok-cli/sigrok-cli.hash +++ b/package/sigrok-cli/sigrok-cli.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 ab2ede4e245f3987e19a89a530bd204e0d792c07474d9fed3345d4af4e84723c sigrok-cli-0.6.0.tar.gz +sha256 5669d968c2de3dfc6adfda76e83789b6ba76368407c832438cef5e7099a65e1c sigrok-cli-0.7.0.tar.gz diff --git a/package/sigrok-cli/sigrok-cli.mk b/package/sigrok-cli/sigrok-cli.mk index ec5c8bd864..1e017d69b8 100644 --- a/package/sigrok-cli/sigrok-cli.mk +++ b/package/sigrok-cli/sigrok-cli.mk @@ -4,9 +4,9 @@ # ################################################################################ -SIGROK_CLI_VERSION = 0.6.0 +SIGROK_CLI_VERSION = 0.7.0 SIGROK_CLI_SITE = http://sigrok.org/download/source/sigrok-cli -SIGROK_CLI_LICENSE = GPLv3+ +SIGROK_CLI_LICENSE = GPL-3.0+ SIGROK_CLI_LICENSE_FILES = COPYING SIGROK_CLI_DEPENDENCIES = host-pkgconf libsigrok diff --git a/package/simicsfs/Config.in b/package/simicsfs/Config.in deleted file mode 100644 index 12b05c17de..0000000000 --- a/package/simicsfs/Config.in +++ /dev/null @@ -1,11 +0,0 @@ -comment "simicsfs needs a Linux kernel to be built" - depends on !BR2_LINUX_KERNEL - -config BR2_PACKAGE_SIMICSFS - bool "simicsfs" - depends on BR2_LINUX_KERNEL - help - A kernel driver that provides access to a host computer's local - filesystem when the target is executing within a SIMICS simulation. - - http://www.cs.sfu.ca/~fedorova/Tech/simics-guides-3.0.26/simics-user-guide-unix/topic33.html diff --git a/package/simicsfs/simicsfs.hash b/package/simicsfs/simicsfs.hash deleted file mode 100644 index 42ada91031..0000000000 --- a/package/simicsfs/simicsfs.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally calculated -sha256 d0cf7caf888dc1e7dc9496c4b59af98eb2b69d6113d6920757465902e1f21f38 simicsfs-1.18.tar.gz diff --git a/package/simicsfs/simicsfs.mk b/package/simicsfs/simicsfs.mk deleted file mode 100644 index 91ed413839..0000000000 --- a/package/simicsfs/simicsfs.mk +++ /dev/null @@ -1,13 +0,0 @@ -################################################################################ -# -# simicsfs -# -################################################################################ - -SIMICSFS_VERSION = 1.18 -SIMICSFS_SITE = http://download.simics.net/pub -SIMICSFS_LICENSE = GPLv2+ -SIMICSFS_LICENSE_FILES = hostfs.h - -$(eval $(kernel-module)) -$(eval $(generic-package)) diff --git a/package/sispmctl/Config.in b/package/sispmctl/Config.in index 976b08f885..6066dc051b 100644 --- a/package/sispmctl/Config.in +++ b/package/sispmctl/Config.in @@ -1,10 +1,10 @@ config BR2_PACKAGE_SISPMCTL bool "sispmctl" - select BR2_PACKAGE_LIBUSB - select BR2_PACKAGE_LIBUSB_COMPAT depends on BR2_TOOLCHAIN_HAS_THREADS # libusb depends on BR2_USE_WCHAR depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_LIBUSB + select BR2_PACKAGE_LIBUSB_COMPAT help sispmctl is an application enabling the use of the GEMBIRD SiS-PM and mSiS(sispm) USB-controlled power-outlet device diff --git a/package/sispmctl/sispmctl.mk b/package/sispmctl/sispmctl.mk index 3f3635e1f4..85c03382ce 100644 --- a/package/sispmctl/sispmctl.mk +++ b/package/sispmctl/sispmctl.mk @@ -6,7 +6,7 @@ SISPMCTL_VERSION = 3.1 SISPMCTL_SITE = http://downloads.sourceforge.net/project/sispmctl/sispmctl/sispmctl-$(SISPMCTL_VERSION) -SISPMCTL_LICENSE = GPLv2+ +SISPMCTL_LICENSE = GPL-2.0+ SISPMCTL_LICENSE_FILES = LICENCE SISPMCTL_DEPENDENCIES = libusb-compat diff --git a/package/skalibs/0001-No-runtime-tests-for-endianness.patch b/package/skalibs/0001-No-runtime-tests-for-endianness.patch index 4390d449dd..eb70b4ed56 100644 --- a/package/skalibs/0001-No-runtime-tests-for-endianness.patch +++ b/package/skalibs/0001-No-runtime-tests-for-endianness.patch @@ -1,6 +1,6 @@ -From 1e6f0b094c6ce6454be572704b866d2ce0962e59 Mon Sep 17 00:00:00 2001 +From d3920dce139734e00bbe4447a16ef24dfe4d704a Mon Sep 17 00:00:00 2001 From: Eric Le Bihan -Date: Sun, 4 Dec 2016 19:10:40 +0100 +Date: Tue, 10 Oct 2017 19:51:02 +0200 Subject: [PATCH] No runtime tests for endianness Replace build and execution of runtime test programs for determining @@ -10,29 +10,27 @@ This improves support for cross-compilation. Signed-off-by: Eric Le Bihan --- - configure | 15 +++++++++++---- + configure | 13 ++++++++++--- src/sysdeps/trybigendian.c | 16 ++++++++++++++++ - src/sysdeps/trylittleendian.c | 16 ++++++++++++++++ - 3 files changed, 43 insertions(+), 4 deletions(-) + src/sysdeps/trylittleendian.c | 19 +++++++++++++++++++ + 3 files changed, 45 insertions(+), 3 deletions(-) create mode 100644 src/sysdeps/trybigendian.c create mode 100644 src/sysdeps/trylittleendian.c diff --git a/configure b/configure -index 1579025..4da9c5e 100755 +index f34dcd0..f2a77f3 100755 --- a/configure +++ b/configure -@@ -463,13 +463,20 @@ EOF - fi +@@ -478,12 +478,19 @@ EOF exec 3>&- -- echo "Checking system endianness..." -- $CC_AUTO $CPPFLAGS_AUTO $CFLAGS_AUTO -o tryendianness src/sysdeps/tryendianness.c + echo "Checking system endianness..." +- $CC_AUTO $CPPFLAGS_AUTO $CPPFLAGS $CPPFLAGS_POST $CFLAGS_AUTO $CFLAGS $CFLAGS_POST $LDFLAGS_AUTO $LDFLAGS $LDFLAGS_POST -o tryendianness src/sysdeps/tryendianness.c - endianness=$(./tryendianness) || fail "$0: unable to determine endianness" -+ echo "Checking system endianness..." -+ if $CC_AUTO $CPPFLAGS_AUTO $CFLAGS_AUTO -o trybigendian src/sysdeps/trybigendian.c 2>/dev/null; then ++ if $CC_AUTO $CPPFLAGS_AUTO $CPPFLAGS $CPPFLAGS_POST $CFLAGS_AUTO $CFLAGS $CFLAGS_POST $LDFLAGS_AUTO $LDFLAGS $LDFLAGS_POST -o trybigendian src/sysdeps/trybigendian.c 2>/dev/null; then + endianness=big + else -+ if $CC_AUTO $CPPFLAGS_AUTO $CFLAGS_AUTO -o trylittleendian src/sysdeps/trylittleendian.c 2>/dev/null; then ++ if $CC_AUTO $CPPFLAGS_AUTO $CPPFLAGS $CPPFLAGS_POST $CFLAGS_AUTO $CFLAGS $CFLAGS_POST $LDFLAGS_AUTO $LDFLAGS $LDFLAGS_POST -o trylittleendian src/sysdeps/trylittleendian.c 2>/dev/null; then + endianness=little + else + fail "$0: unable to determine endianness" @@ -44,8 +42,8 @@ index 1579025..4da9c5e 100755 - rm -f tryendianness + rm -f trybigendian trylittleendian - trytypesize ushort USHORT "unsigned short" - trytypesize uint UINT "unsigned int" + trytypes + choose clr accept4 ACCEPT4 'accept4()' diff --git a/src/sysdeps/trybigendian.c b/src/sysdeps/trybigendian.c new file mode 100644 index 0000000..d857572 @@ -70,16 +68,19 @@ index 0000000..d857572 +} diff --git a/src/sysdeps/trylittleendian.c b/src/sysdeps/trylittleendian.c new file mode 100644 -index 0000000..eba065a +index 0000000..68b93c1 --- /dev/null +++ b/src/sysdeps/trylittleendian.c -@@ -0,0 +1,16 @@ +@@ -0,0 +1,19 @@ +#if defined(__BYTE_ORDER) && (__BYTE_ORDER == __LITTLE_ENDIAN) || \ + defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) || \ + defined(__LITTLE_ENDIAN) || \ + defined(__ARMEL__) || \ + defined(__THUMBEL__) || \ + defined(__AARCH64EL__) || \ ++ defined(__i386) || defined(__i386__) || \ ++ defined(__amd64) || defined(__amd64__) || \ ++ defined(__x86_64) || defined(__x86_64__) || \ + defined(_MIPSEL) || defined(__MIPSEL) || defined(__MIPSEL__) +#define YEAH +#else @@ -91,5 +92,5 @@ index 0000000..eba065a + return 0; +} -- -2.5.5 +2.13.6 diff --git a/package/skalibs/0002-No-runtime-tests-for-type-sizes.patch b/package/skalibs/0002-No-runtime-tests-for-type-sizes.patch index 3f16171e21..3ee0cddb75 100644 --- a/package/skalibs/0002-No-runtime-tests-for-type-sizes.patch +++ b/package/skalibs/0002-No-runtime-tests-for-type-sizes.patch @@ -1,6 +1,6 @@ -From d868600a3f437750bc44a783d677a25a48100096 Mon Sep 17 00:00:00 2001 -From: Eric Le Bihan -Date: Sun, 4 Dec 2016 19:11:25 +0100 +From df3a3e708653ca1cdb0eda77bbda5cb8de177571 Mon Sep 17 00:00:00 2001 +From: "Van Bemten, Lionel (Nokia - BE/Antwerp)" +Date: Tue, 10 Oct 2017 19:51:18 +0200 Subject: [PATCH] No runtime tests for type sizes Replace build and execution of runtime test programs for determining @@ -8,47 +8,102 @@ some type sizes of the target with compile time test programs. This improves support for cross-compilation. +Signed-off-by: "Van Bemten, Lionel (Nokia - BE/Antwerp)" Signed-off-by: Eric Le Bihan --- - configure | 24 +++++++++++++++++++++--- - 1 file changed, 21 insertions(+), 3 deletions(-) + configure | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++------------- + 1 file changed, 61 insertions(+), 16 deletions(-) diff --git a/configure b/configure -index 4da9c5e..b5926ca 100755 +index f2a77f3..8348b1f 100755 --- a/configure +++ b/configure -@@ -157,10 +157,28 @@ choose () { +@@ -154,25 +154,70 @@ choose () { + fi + } - trytypesize () { - echo "Checking size of $3..." -- $CC_AUTO $CPPFLAGS_AUTO $CFLAGS_AUTO $LDFLAGS_AUTO -o trysizeof$1 src/sysdeps/trysizeof$1.c -- type_size=$(./trysizeof$1) || fail "$0: unable to determine size of $3" ++findtypesize () { ++ typ=$1 ++ abbr=$2 + r=false + type_size=0 + while true; do -+ cat<trysizeof$1.c ++ cat>trysizeof${abbr}.c< + +int main(void) +{ -+ static int v = 1 / !!((sizeof($3) == $type_size)); ++ static int v = 1 / !!((sizeof($typ) == $type_size)); + return 0; +} +EOF -+ if $CC_AUTO $CPPFLAGS_AUTO $CFLAGS_AUTO $LDFLAGS_AUTO -o trysizeof$1 trysizeof$1.c 2>/dev/null; then ++ if $CC_AUTO $CPPFLAGS_AUTO $CPPFLAGS $CPPFLAGS_POST $CFLAGS_AUTO $CFLAGS $CFLAGS_POST $LDFLAGS_AUTO $LDFLAGS $LDFLAGS_POST -o trysizeof${abbr} trysizeof${abbr}.c 2>/dev/null; then + r=true + break + fi + type_size=$(expr $type_size + 1) + test $type_size -le 16 || break + done -+ test $r = true || fail "$0: unable to determine size of $3" - type_bits=$(expr 8 \* $type_size) -- rm -f trysizeof$1 -+ rm -f trysizeof$1 trysizeof$1.c - echo "sizeof$1: $type_size" >> $sysdeps/sysdeps - echo "#define ${package_macro_name}_SIZEOF$2 $type_size" >> $sysdeps/sysdeps.h - echo "#define ${package_macro_name}_$2_BITS $type_bits" >> $sysdeps/sysdeps.h ++ rm -f trysizeof${abbr} trysizeof${abbr}.c ++ test $r = true || fail "$0: unable to determine size of $typ" ++ caps=$(echo "sizeof${abbr}" | tr a-z A-Z) ++ echo "#define ${package_macro_name}_${caps} $type_size" >> $sysdeps/sysdeps.h ++ echo "sizeof${abbr}: $type_size" >> $sysdeps/sysdeps ++} ++ ++findtypesign () { ++ typ=$1 ++ abbr=$2 ++ caps=$(echo "signed${abbr}" | tr a-z A-Z) ++ cat>trysignof${abbr}.c< ++ ++int main(void) ++{ ++ static int v = 1 / !!(((($typ) -1) < 0)); ++ return 0; ++} ++EOF ++ if $CC_AUTO $CPPFLAGS_AUTO $CPPFLAGS $CPPFLAGS_POST $CFLAGS_AUTO $CFLAGS $CFLAGS_POST $LDFLAGS_AUTO $LDFLAGS $LDFLAGS_POST -o trysignof${abbr} trysignof${abbr}.c 2>/dev/null; then ++ echo "#define ${package_macro_name}_HASSIGNED${caps}" >> $sysdeps/sysdeps.h ++ echo "#undef ${package_macro_name}_HASUNSIGNED${caps}" >> $sysdeps/sysdeps.h ++ echo "signed${abbr}: yes" >> $sysdeps/sysdeps ++ else ++ echo "#undef ${package_macro_name}_HASSIGNED${caps}" >> $sysdeps/sysdeps.h ++ echo "#define ${package_macro_name}_HASUNSIGNED${caps}" >> $sysdeps/sysdeps.h ++ echo "signed${abbr}: no" >> $sysdeps/sysdeps ++ fi ++ rm -f trysignof${abbr} trysignof${abbr}.c ++} ++ + trytypes () { + echo "Checking size and signedness of standard types..." +- $CC_AUTO $CPPFLAGS_AUTO $CPPFLAGS $CPPFLAGS_POST $CFLAGS_AUTO $CFLAGS $CFLAGS_POST $LDFLAGS_AUTO $LDFLAGS $LDFLAGS_POST -o output-types src/sysdeps/output-types.c +- ./output-types >> $sysdeps/sysdeps +- ./output-types | grep -F sizeof | while read key value ; do +- caps=$(echo $key | sed s/:\$// | tr a-z A-Z) +- echo "#define ${package_macro_name}_${caps} $value" >> $sysdeps/sysdeps.h ++ for t in "unsigned short" "unsigned int" "unsigned long"; do ++ abbr=$(echo "$t" | sed -e 's/nsigned //') ++ findtypesize "$t" "${abbr}" + done +- ./output-types | grep -F signed | while read key value ; do +- caps=$(echo $key | sed s/:\$// | tr a-z A-Z) +- if test $value = yes ; then +- echo "#define ${package_macro_name}_HASSIGNED${caps}" +- echo "#undef ${package_macro_name}_HASUNSIGNED${caps}" +- else +- echo "#undef ${package_macro_name}_HASSIGNED${caps}" +- echo "#define ${package_macro_name}_HASUNSIGNED${caps}" +- fi >> $sysdeps/sysdeps.h ++ for t in size uid gid pid time dev ino; do ++ findtypesize "${t}_t" "$t" ++ findtypesign "${t}_t" "$t" + done +- rm -f output-types + echo " ... done" + } + -- -2.5.5 +2.13.6 diff --git a/package/skalibs/0003-Make-linker-use-dummy-file-when-testing-libs.patch b/package/skalibs/0003-Make-linker-use-dummy-file-when-testing-libs.patch index ef0e173b91..0841179369 100644 --- a/package/skalibs/0003-Make-linker-use-dummy-file-when-testing-libs.patch +++ b/package/skalibs/0003-Make-linker-use-dummy-file-when-testing-libs.patch @@ -1,6 +1,6 @@ -From da293110f429e1206728c1551cf0f6b462b3d8c0 Mon Sep 17 00:00:00 2001 +From 02ef4599179ead87cc6d154a32acaa6627cbfca2 Mon Sep 17 00:00:00 2001 From: Eric Le Bihan -Date: Thu, 29 Dec 2016 19:36:24 +0100 +Date: Tue, 10 Oct 2017 19:51:34 +0200 Subject: [PATCH] Make linker use dummy file when testing libs For some architectures, like Xtensa or HPPA, ld from binutils requires @@ -18,19 +18,19 @@ Signed-off-by: Eric Le Bihan 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure b/configure -index 1579025..12980fb 100755 +index 8348b1f..62e5981 100755 --- a/configure +++ b/configure -@@ -173,7 +173,7 @@ trylibs () { +@@ -227,7 +227,7 @@ trylibs () { echo "Checking whether system has $2..." >&3 shift 2 - if $CC_AUTO $CPPFLAGS_AUTO $CFLAGS_AUTO -c -o try$name.o src/sysdeps/try$name.c 2>/dev/null ; then -- until $CC_AUTO $CFLAGS_AUTO $LDFLAGS_AUTO -o /dev/null try$name.o $args 2>/dev/null ; do -+ until $CC_AUTO $CFLAGS_AUTO $LDFLAGS_AUTO -o try$name try$name.o $args 2>/dev/null ; do + if $CC_AUTO $CPPFLAGS_AUTO $CPPFLAGS $CPPFLAGS_POST $CFLAGS_AUTO $CFLAGS $CFLAGS_POST -c -o try$name.o src/sysdeps/try$name.c 2>/dev/null ; then +- until $CC_AUTO $CFLAGS_AUTO $CFLAGS $CFLAGS_POST $LDFLAGS_AUTO $LDFLAGS $LDFLAGS_POST -o /dev/null try$name.o $args 2>/dev/null ; do ++ until $CC_AUTO $CPPFLAGS_AUTO $CPPFLAGS $CPPFLAGS_POST $CFLAGS_AUTO $CFLAGS $CFLAGS_POST -o try$name try$name.o $args 2>/dev/null ; do if test -z "$*" ; then rm -f try$name.o echo -@@ -189,7 +189,7 @@ trylibs () { +@@ -243,7 +243,7 @@ trylibs () { else echo " ... yes, with$args" >&3 fi @@ -40,5 +40,5 @@ index 1579025..12980fb 100755 else echo -- -2.4.11 +2.13.6 diff --git a/package/skalibs/skalibs.hash b/package/skalibs/skalibs.hash index 195ac47988..1e0625f3e7 100644 --- a/package/skalibs/skalibs.hash +++ b/package/skalibs/skalibs.hash @@ -1,2 +1,2 @@ # Locally generated -sha256 0708172bc2ec9825f8a4f312d35f8dcd94da5f291425a598c33c873b3de77df8 skalibs-2.4.0.2.tar.gz +sha256 b11f515d29768497d648c7ae87e26f7441395a056ebbe3fe89596fe6454a557a skalibs-2.6.0.1.tar.gz diff --git a/package/skalibs/skalibs.mk b/package/skalibs/skalibs.mk index 55b8a293a7..2588d276e7 100644 --- a/package/skalibs/skalibs.mk +++ b/package/skalibs/skalibs.mk @@ -4,7 +4,7 @@ # ################################################################################ -SKALIBS_VERSION = 2.4.0.2 +SKALIBS_VERSION = 2.6.0.1 SKALIBS_SITE = http://skarnet.org/software/skalibs SKALIBS_LICENSE = ISC SKALIBS_LICENSE_FILES = COPYING @@ -33,7 +33,7 @@ define SKALIBS_INSTALL_STAGING_CMDS endef HOST_SKALIBS_CONF_OPTS = \ - --prefix=$(HOST_DIR)/usr \ + --prefix=$(HOST_DIR) \ --disable-static \ --enable-shared \ --disable-allstatic diff --git a/package/skeleton-custom/Config.in b/package/skeleton-custom/Config.in new file mode 100644 index 0000000000..601c3b247e --- /dev/null +++ b/package/skeleton-custom/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_SKELETON_CUSTOM + bool + select BR2_PACKAGE_HAS_SKELETON + +config BR2_PACKAGE_PROVIDES_SKELETON + default "skeleton-custom" if BR2_PACKAGE_SKELETON_CUSTOM diff --git a/package/skeleton-custom/skeleton-custom.mk b/package/skeleton-custom/skeleton-custom.mk new file mode 100644 index 0000000000..8c57531782 --- /dev/null +++ b/package/skeleton-custom/skeleton-custom.mk @@ -0,0 +1,81 @@ +################################################################################ +# +# skeleton-custom +# +################################################################################ + +# The skeleton can't depend on the toolchain, since all packages depends on the +# skeleton and the toolchain is a target package, as is skeleton. +# Hence, skeleton would depends on the toolchain and the toolchain would depend +# on skeleton. +SKELETON_CUSTOM_ADD_TOOLCHAIN_DEPENDENCY = NO +SKELETON_CUSTOM_ADD_SKELETON_DEPENDENCY = NO + +SKELETON_CUSTOM_PROVIDES = skeleton + +SKELETON_CUSTOM_INSTALL_STAGING = YES + +SKELETON_CUSTOM_PATH = $(call qstrip,$(BR2_ROOTFS_SKELETON_CUSTOM_PATH)) + +ifeq ($(BR2_PACKAGE_SKELETON_CUSTOM)$(BR_BUILDING),yy) +ifeq ($(SKELETON_CUSTOM_PATH),) +$(error No path specified for the custom skeleton) +endif +endif + +# Extract the inode numbers for all of those directories. In case any is +# a symlink, we want to get the inode of the pointed-to directory, so we +# append '/.' to be sure we get the target directory. Since the symlinks +# can be anyway (/bin -> /usr/bin or /usr/bin -> /bin), we do that for +# all of them. +# +SKELETON_CUSTOM_LIB_INODE = $(shell stat -c '%i' $(SKELETON_CUSTOM_PATH)/lib/. 2>/dev/null) +SKELETON_CUSTOM_BIN_INODE = $(shell stat -c '%i' $(SKELETON_CUSTOM_PATH)/bin/. 2>/dev/null) +SKELETON_CUSTOM_SBIN_INODE = $(shell stat -c '%i' $(SKELETON_CUSTOM_PATH)/sbin/. 2>/dev/null) +SKELETON_CUSTOM_USR_LIB_INODE = $(shell stat -c '%i' $(SKELETON_CUSTOM_PATH)/usr/lib/. 2>/dev/null) +SKELETON_CUSTOM_USR_BIN_INODE = $(shell stat -c '%i' $(SKELETON_CUSTOM_PATH)/usr/bin/. 2>/dev/null) +SKELETON_CUSTOM_USR_SBIN_INODE = $(shell stat -c '%i' $(SKELETON_CUSTOM_PATH)/usr/sbin/. 2>/dev/null) + +# For a merged /usr, ensure that /lib, /bin and /sbin and their /usr +# counterparts are appropriately setup as symlinks ones to the others. +ifeq ($(BR2_ROOTFS_MERGED_USR),y) + +ifneq ($(SKELETON_CUSTOM_LIB_INODE),$(SKELETON_CUSTOM_USR_LIB_INODE)) +SKELETON_CUSTOM_NOT_MERGED_USR_DIRS += /lib +endif +ifneq ($(SKELETON_CUSTOM_BIN_INODE),$(SKELETON_CUSTOM_USR_BIN_INODE)) +SKELETON_CUSTOM_NOT_MERGED_USR_DIRS += /bin +endif +ifneq ($(SKELETON_CUSTOM_SBIN_INODE),$(SKELETON_CUSTOM_USR_SBIN_INODE)) +SKELETON_CUSTOM_NOT_MERGED_USR_DIRS += /sbin +endif + +endif # merged /usr + +ifeq ($(BR2_PACKAGE_SKELETON_CUSTOM)$(BR_BUILDING),yy) +ifneq ($(SKELETON_CUSTOM_NOT_MERGED_USR_DIRS),) +$(error The custom skeleton in $(SKELETON_CUSTOM_PATH) is not \ + using a merged /usr for the following directories: \ + $(SKELETON_CUSTOM_NOT_MERGED_USR_DIRS)) +endif +endif + +# The target-dir-warning file and the lib{32,64} symlinks are the only +# things we customise in the custom skeleton. +define SKELETON_CUSTOM_INSTALL_TARGET_CMDS + $(call SYSTEM_RSYNC,$(SKELETON_CUSTOM_PATH),$(TARGET_DIR)) + $(call SYSTEM_LIB_SYMLINK,$(TARGET_DIR)) + $(INSTALL) -m 0644 support/misc/target-dir-warning.txt \ + $(TARGET_DIR_WARNING_FILE) +endef + +# For the staging dir, we don't really care what we install, but we +# need the /lib and /usr/lib appropriately setup. Since we ensure, +# above, that they are correct in the skeleton, we can simply copy the +# skeleton to staging. +define SKELETON_CUSTOM_INSTALL_STAGING_CMDS + $(call SYSTEM_RSYNC,$(SKELETON_CUSTOM_PATH),$(STAGING_DIR)) + $(call SYSTEM_LIB_SYMLINK,$(STAGING_DIR)) +endef + +$(eval $(generic-package)) diff --git a/package/skeleton-init-common/Config.in b/package/skeleton-init-common/Config.in new file mode 100644 index 0000000000..0fd95de822 --- /dev/null +++ b/package/skeleton-init-common/Config.in @@ -0,0 +1,2 @@ +config BR2_PACKAGE_SKELETON_INIT_COMMON + bool diff --git a/package/skeleton-init-common/skeleton-init-common.mk b/package/skeleton-init-common/skeleton-init-common.mk new file mode 100644 index 0000000000..8228a8103f --- /dev/null +++ b/package/skeleton-init-common/skeleton-init-common.mk @@ -0,0 +1,90 @@ +################################################################################ +# +# skeleton-init-common +# +################################################################################ + +# The skeleton can't depend on the toolchain, since all packages depends on the +# skeleton and the toolchain is a target package, as is skeleton. +# Hence, skeleton would depends on the toolchain and the toolchain would depend +# on skeleton. +SKELETON_INIT_COMMON_ADD_TOOLCHAIN_DEPENDENCY = NO +SKELETON_INIT_COMMON_ADD_SKELETON_DEPENDENCY = NO + +# The skeleton also handles the merged /usr case in the sysroot +SKELETON_INIT_COMMON_INSTALL_STAGING = YES + +SKELETON_INIT_COMMON_PATH = system/skeleton + +define SKELETON_INIT_COMMON_INSTALL_TARGET_CMDS + $(call SYSTEM_RSYNC,$(SKELETON_INIT_COMMON_PATH),$(TARGET_DIR)) + $(call SYSTEM_USR_SYMLINKS_OR_DIRS,$(TARGET_DIR)) + $(call SYSTEM_LIB_SYMLINK,$(TARGET_DIR)) + $(INSTALL) -m 0644 support/misc/target-dir-warning.txt \ + $(TARGET_DIR_WARNING_FILE) +endef + +# We don't care much about what goes in staging, as long as it is +# correctly setup for merged/non-merged /usr. The simplest is to +# fill it in with the content of the skeleton. +define SKELETON_INIT_COMMON_INSTALL_STAGING_CMDS + $(call SYSTEM_RSYNC,$(SKELETON_INIT_COMMON_PATH),$(STAGING_DIR)) + $(call SYSTEM_USR_SYMLINKS_OR_DIRS,$(STAGING_DIR)) + $(call SYSTEM_LIB_SYMLINK,$(STAGING_DIR)) + $(INSTALL) -d -m 0755 $(STAGING_DIR)/usr/include +endef + +SKELETON_INIT_COMMON_HOSTNAME = $(call qstrip,$(BR2_TARGET_GENERIC_HOSTNAME)) +SKELETON_INIT_COMMON_ISSUE = $(call qstrip,$(BR2_TARGET_GENERIC_ISSUE)) +SKELETON_INIT_COMMON_ROOT_PASSWD = $(call qstrip,$(BR2_TARGET_GENERIC_ROOT_PASSWD)) +SKELETON_INIT_COMMON_PASSWD_METHOD = $(call qstrip,$(BR2_TARGET_GENERIC_PASSWD_METHOD)) +SKELETON_INIT_COMMON_BIN_SH = $(call qstrip,$(BR2_SYSTEM_BIN_SH)) + +ifneq ($(SKELETON_INIT_COMMON_HOSTNAME),) +define SKELETON_INIT_COMMON_SET_HOSTNAME + mkdir -p $(TARGET_DIR)/etc + echo "$(SKELETON_INIT_COMMON_HOSTNAME)" > $(TARGET_DIR)/etc/hostname + $(SED) '$$a \127.0.1.1\t$(SKELETON_INIT_COMMON_HOSTNAME)' \ + -e '/^127.0.1.1/d' $(TARGET_DIR)/etc/hosts +endef +SKELETON_INIT_COMMON_TARGET_FINALIZE_HOOKS += SKELETON_INIT_COMMON_SET_HOSTNAME +endif + +ifneq ($(SKELETON_INIT_COMMON_ISSUE),) +define SKELETON_INIT_COMMON_SET_ISSUE + mkdir -p $(TARGET_DIR)/etc + echo "$(SKELETON_INIT_COMMON_ISSUE)" > $(TARGET_DIR)/etc/issue +endef +SKELETON_INIT_COMMON_TARGET_FINALIZE_HOOKS += SKELETON_INIT_COMMON_SET_ISSUE +endif + +ifeq ($(BR2_TARGET_ENABLE_ROOT_LOGIN),y) +ifneq ($(filter $$1$$% $$5$$% $$6$$%,$(SKELETON_INIT_COMMON_ROOT_PASSWD)),) +SKELETON_INIT_COMMON_ROOT_PASSWORD = '$(SKELETON_INIT_COMMON_ROOT_PASSWD)' +else ifneq ($(SKELETON_INIT_COMMON_ROOT_PASSWD),) +# This variable will only be evaluated in the finalize stage, so we can +# be sure that host-mkpasswd will have already been built by that time. +SKELETON_INIT_COMMON_ROOT_PASSWORD = "`$(MKPASSWD) -m "$(SKELETON_INIT_COMMON_PASSWD_METHOD)" "$(SKELETON_INIT_COMMON_ROOT_PASSWD)"`" +endif +else # !BR2_TARGET_ENABLE_ROOT_LOGIN +SKELETON_INIT_COMMON_ROOT_PASSWORD = "*" +endif +define SKELETON_INIT_COMMON_SET_ROOT_PASSWD + $(SED) s,^root:[^:]*:,root:$(SKELETON_INIT_COMMON_ROOT_PASSWORD):, $(TARGET_DIR)/etc/shadow +endef +SKELETON_INIT_COMMON_TARGET_FINALIZE_HOOKS += SKELETON_INIT_COMMON_SET_ROOT_PASSWD + +ifeq ($(BR2_SYSTEM_BIN_SH_NONE),y) +define SKELETON_INIT_COMMON_SET_BIN_SH + rm -f $(TARGET_DIR)/bin/sh +endef +else +ifneq ($(SKELETON_INIT_COMMON_BIN_SH),) +define SKELETON_INIT_COMMON_SET_BIN_SH + ln -sf $(SKELETON_INIT_COMMON_BIN_SH) $(TARGET_DIR)/bin/sh +endef +endif +endif +SKELETON_INIT_COMMON_TARGET_FINALIZE_HOOKS += SKELETON_INIT_COMMON_SET_BIN_SH + +$(eval $(generic-package)) diff --git a/package/skeleton-init-none/Config.in b/package/skeleton-init-none/Config.in new file mode 100644 index 0000000000..449bf66125 --- /dev/null +++ b/package/skeleton-init-none/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_SKELETON_INIT_NONE + bool + select BR2_PACKAGE_HAS_SKELETON + select BR2_PACKAGE_SKELETON_INIT_COMMON + +config BR2_PACKAGE_PROVIDES_SKELETON + default "skeleton-init-none" if BR2_PACKAGE_SKELETON_INIT_NONE diff --git a/package/skeleton-init-none/skeleton-init-none.mk b/package/skeleton-init-none/skeleton-init-none.mk new file mode 100644 index 0000000000..8181aa0354 --- /dev/null +++ b/package/skeleton-init-none/skeleton-init-none.mk @@ -0,0 +1,18 @@ +################################################################################ +# +# skeleton-init-none +# +################################################################################ + +# The skeleton can't depend on the toolchain, since all packages depends on the +# skeleton and the toolchain is a target package, as is skeleton. +# Hence, skeleton would depends on the toolchain and the toolchain would depend +# on skeleton. +SKELETON_INIT_NONE_ADD_TOOLCHAIN_DEPENDENCY = NO +SKELETON_INIT_NONE_ADD_SKELETON_DEPENDENCY = NO + +SKELETON_INIT_NONE_DEPENDENCIES = skeleton-init-common + +SKELETON_INIT_NONE_PROVIDES = skeleton + +$(eval $(generic-package)) diff --git a/package/skeleton-init-systemd/Config.in b/package/skeleton-init-systemd/Config.in new file mode 100644 index 0000000000..59b21d155e --- /dev/null +++ b/package/skeleton-init-systemd/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_SKELETON_INIT_SYSTEMD + bool + select BR2_PACKAGE_HAS_SKELETON + select BR2_PACKAGE_SKELETON_INIT_COMMON + +config BR2_PACKAGE_PROVIDES_SKELETON + default "skeleton-init-systemd" if BR2_PACKAGE_SKELETON_INIT_SYSTEMD diff --git a/package/skeleton-init-systemd/skeleton-init-systemd.mk b/package/skeleton-init-systemd/skeleton-init-systemd.mk new file mode 100644 index 0000000000..a2d4e8c4b3 --- /dev/null +++ b/package/skeleton-init-systemd/skeleton-init-systemd.mk @@ -0,0 +1,71 @@ +################################################################################ +# +# skeleton-init-systemd +# +################################################################################ + +# The skeleton can't depend on the toolchain, since all packages depends on the +# skeleton and the toolchain is a target package, as is skeleton. +# Hence, skeleton would depends on the toolchain and the toolchain would depend +# on skeleton. +SKELETON_INIT_SYSTEMD_ADD_TOOLCHAIN_DEPENDENCY = NO +SKELETON_INIT_SYSTEMD_ADD_SKELETON_DEPENDENCY = NO + +SKELETON_INIT_SYSTEMD_DEPENDENCIES = skeleton-init-common + +SKELETON_INIT_SYSTEMD_PROVIDES = skeleton + +ifeq ($(BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW),y) + +define SKELETON_INIT_SYSTEMD_ROOT_RO_OR_RW + echo "/dev/root / auto rw 0 1" >$(TARGET_DIR)/etc/fstab + mkdir -p $(TARGET_DIR)/var +endef + +else + +# On a R/O rootfs, /var is a tmpfs filesystem. So, at build time, we +# redirect /var to the "factory settings" location. Just before the +# filesystem gets created, the /var symlink will be replaced with +# a real (but empty) directory, and the "factory files" will be copied +# back there by the tmpfiles.d mechanism. +define SKELETON_INIT_SYSTEMD_ROOT_RO_OR_RW + mkdir -p $(TARGET_DIR)/etc/systemd/tmpfiles.d + mkdir -p $(TARGET_DIR)/usr/share/factory/var + ln -s usr/share/factory/var $(TARGET_DIR)/var + echo "/dev/root / auto ro 0 1" >$(TARGET_DIR)/etc/fstab + echo "tmpfs /var tmpfs mode=1777 0 0" >>$(TARGET_DIR)/etc/fstab +endef + +define SKELETON_INIT_SYSTEMD_PRE_ROOTFS_VAR + rm -f $(TARGET_DIR)/var + mkdir $(TARGET_DIR)/var + for i in $(TARGET_DIR)/usr/share/factory/var/*; do \ + j="$${i#$(TARGET_DIR)/usr/share/factory}"; \ + if [ -L "$${i}" ]; then \ + printf "L+! %s - - - - %s\n" \ + "$${j}" "../usr/share/factory/$${j}" \ + || exit 1; \ + else \ + printf "C! %s - - - -\n" "$${j}" \ + || exit 1; \ + fi; \ + done >$(TARGET_DIR)/etc/tmpfiles.d/var-factory.conf +endef +SKELETON_INIT_SYSTEMD_ROOTFS_PRE_CMD_HOOKS += SKELETON_INIT_SYSTEMD_PRE_ROOTFS_VAR + +define SKELETON_INIT_SYSTEMD_POST_ROOTFS_VAR + rm -rf $(TARGET_DIR)/var + ln -s usr/share/factory/var $(TARGET_DIR)/var +endef +SKELETON_INIT_SYSTEMD_ROOTFS_POST_CMD_HOOKS += SKELETON_INIT_SYSTEMD_POST_ROOTFS_VAR + +endif + +define SKELETON_INIT_SYSTEMD_INSTALL_TARGET_CMDS + mkdir -p $(TARGET_DIR)/home + mkdir -p $(TARGET_DIR)/srv + $(SKELETON_INIT_SYSTEMD_ROOT_RO_OR_RW) +endef + +$(eval $(generic-package)) diff --git a/package/skeleton-init-sysv/Config.in b/package/skeleton-init-sysv/Config.in new file mode 100644 index 0000000000..6f645f9e25 --- /dev/null +++ b/package/skeleton-init-sysv/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_SKELETON_INIT_SYSV + bool + select BR2_PACKAGE_HAS_SKELETON + select BR2_PACKAGE_SKELETON_INIT_COMMON + +config BR2_PACKAGE_PROVIDES_SKELETON + default "skeleton-init-sysv" if BR2_PACKAGE_SKELETON_INIT_SYSV diff --git a/package/skeleton-init-sysv/skeleton-init-sysv.mk b/package/skeleton-init-sysv/skeleton-init-sysv.mk new file mode 100644 index 0000000000..c89c2dc1fd --- /dev/null +++ b/package/skeleton-init-sysv/skeleton-init-sysv.mk @@ -0,0 +1,22 @@ +################################################################################ +# +# skeleton-init-sysv +# +################################################################################ + +# The skeleton can't depend on the toolchain, since all packages depends on the +# skeleton and the toolchain is a target package, as is skeleton. +# Hence, skeleton would depends on the toolchain and the toolchain would depend +# on skeleton. +SKELETON_INIT_SYSV_ADD_TOOLCHAIN_DEPENDENCY = NO +SKELETON_INIT_SYSV_ADD_SKELETON_DEPENDENCY = NO + +SKELETON_INIT_SYSV_DEPENDENCIES = skeleton-init-common + +SKELETON_INIT_SYSV_PROVIDES = skeleton + +define SKELETON_INIT_SYSV_INSTALL_TARGET_CMDS + $(call SYSTEM_RSYNC,$(SKELETON_INIT_SYSV_PKGDIR)/skeleton,$(TARGET_DIR)) +endef + +$(eval $(generic-package)) diff --git a/package/skeleton-init-sysv/skeleton/dev/log b/package/skeleton-init-sysv/skeleton/dev/log new file mode 120000 index 0000000000..d96b3b1cb8 --- /dev/null +++ b/package/skeleton-init-sysv/skeleton/dev/log @@ -0,0 +1 @@ +../tmp/log \ No newline at end of file diff --git a/system/skeleton/etc/network/if-post-down.d/.empty b/package/skeleton-init-sysv/skeleton/dev/pts/.empty similarity index 100% rename from system/skeleton/etc/network/if-post-down.d/.empty rename to package/skeleton-init-sysv/skeleton/dev/pts/.empty diff --git a/system/skeleton/etc/network/if-up.d/.empty b/package/skeleton-init-sysv/skeleton/dev/shm/.empty similarity index 100% rename from system/skeleton/etc/network/if-up.d/.empty rename to package/skeleton-init-sysv/skeleton/dev/shm/.empty diff --git a/system/skeleton/etc/fstab b/package/skeleton-init-sysv/skeleton/etc/fstab similarity index 80% rename from system/skeleton/etc/fstab rename to package/skeleton-init-sysv/skeleton/etc/fstab index 2b418a0eb6..169054b74f 100644 --- a/system/skeleton/etc/fstab +++ b/package/skeleton-init-sysv/skeleton/etc/fstab @@ -1,7 +1,7 @@ # /dev/root / ext2 rw,noauto 0 1 proc /proc proc defaults 0 0 -devpts /dev/pts devpts defaults,gid=5,mode=620 0 0 +devpts /dev/pts devpts defaults,gid=5,mode=620,ptmxmode=0666 0 0 tmpfs /dev/shm tmpfs mode=0777 0 0 tmpfs /tmp tmpfs mode=1777 0 0 tmpfs /run tmpfs mode=0755,nosuid,nodev 0 0 diff --git a/system/skeleton/var/cache b/package/skeleton-init-sysv/skeleton/var/cache similarity index 100% rename from system/skeleton/var/cache rename to package/skeleton-init-sysv/skeleton/var/cache diff --git a/system/skeleton/var/lib/misc b/package/skeleton-init-sysv/skeleton/var/lib/misc similarity index 100% rename from system/skeleton/var/lib/misc rename to package/skeleton-init-sysv/skeleton/var/lib/misc diff --git a/system/skeleton/var/lock b/package/skeleton-init-sysv/skeleton/var/lock similarity index 100% rename from system/skeleton/var/lock rename to package/skeleton-init-sysv/skeleton/var/lock diff --git a/system/skeleton/var/log b/package/skeleton-init-sysv/skeleton/var/log similarity index 100% rename from system/skeleton/var/log rename to package/skeleton-init-sysv/skeleton/var/log diff --git a/system/skeleton/var/run b/package/skeleton-init-sysv/skeleton/var/run similarity index 100% rename from system/skeleton/var/run rename to package/skeleton-init-sysv/skeleton/var/run diff --git a/system/skeleton/var/spool b/package/skeleton-init-sysv/skeleton/var/spool similarity index 100% rename from system/skeleton/var/spool rename to package/skeleton-init-sysv/skeleton/var/spool diff --git a/system/skeleton/var/tmp b/package/skeleton-init-sysv/skeleton/var/tmp similarity index 100% rename from system/skeleton/var/tmp rename to package/skeleton-init-sysv/skeleton/var/tmp diff --git a/package/skeleton/Config.in b/package/skeleton/Config.in index d25147bd92..efaa1e135f 100644 --- a/package/skeleton/Config.in +++ b/package/skeleton/Config.in @@ -1,5 +1,9 @@ config BR2_PACKAGE_SKELETON bool default y - help - The basic skeleton for your rootfs. + +config BR2_PACKAGE_HAS_SKELETON + bool + +config BR2_PACKAGE_PROVIDES_SKELETON + string diff --git a/package/skeleton/skeleton.mk b/package/skeleton/skeleton.mk index 1000161c34..d380f41649 100644 --- a/package/skeleton/skeleton.mk +++ b/package/skeleton/skeleton.mk @@ -9,239 +9,6 @@ # Hence, skeleton would depends on the toolchain and the toolchain would depend # on skeleton. SKELETON_ADD_TOOLCHAIN_DEPENDENCY = NO +SKELETON_ADD_SKELETON_DEPENDENCY = NO -# The skeleton also handles the merged /usr case in the sysroot -SKELETON_INSTALL_STAGING = YES - -ifeq ($(BR2_ROOTFS_SKELETON_CUSTOM),y) - -SKELETON_PATH = $(call qstrip,$(BR2_ROOTFS_SKELETON_CUSTOM_PATH)) - -ifeq ($(BR_BUILDING),y) -ifeq ($(SKELETON_PATH),) -$(error No path specified for the custom skeleton) -endif -endif - -ifeq ($(BR2_ROOTFS_MERGED_USR),y) - -# Ensure the user has prepared a merged /usr. -# -# Extract the inode numbers for all of those directories. In case any is -# a symlink, we want to get the inode of the pointed-to directory, so we -# append '/.' to be sure we get the target directory. Since the symlinks -# can be anyway (/bin -> /usr/bin or /usr/bin -> /bin), we do that for -# all of them. -# -SKELETON_LIB_INODE = $(shell stat -c '%i' $(SKELETON_PATH)/lib/.) -SKELETON_BIN_INODE = $(shell stat -c '%i' $(SKELETON_PATH)/bin/.) -SKELETON_SBIN_INODE = $(shell stat -c '%i' $(SKELETON_PATH)/sbin/.) -SKELETON_USR_LIB_INODE = $(shell stat -c '%i' $(SKELETON_PATH)/usr/lib/.) -SKELETON_USR_BIN_INODE = $(shell stat -c '%i' $(SKELETON_PATH)/usr/bin/.) -SKELETON_USR_SBIN_INODE = $(shell stat -c '%i' $(SKELETON_PATH)/usr/sbin/.) - -ifneq ($(SKELETON_LIB_INODE),$(SKELETON_USR_LIB_INODE)) -SKELETON_CUSTOM_NOT_MERGED_USR += /lib -endif -ifneq ($(SKELETON_BIN_INODE),$(SKELETON_USR_BIN_INODE)) -SKELETON_CUSTOM_NOT_MERGED_USR += /bin -endif -ifneq ($(SKELETON_SBIN_INODE),$(SKELETON_USR_SBIN_INODE)) -SKELETON_CUSTOM_NOT_MERGED_USR += /sbin -endif - -ifneq ($(SKELETON_CUSTOM_NOT_MERGED_USR),) -$(error The custom skeleton in $(SKELETON_PATH) is not \ - using a merged /usr for the following directories: \ - $(SKELETON_CUSTOM_NOT_MERGED_USR)) -endif - -endif # merged /usr - -else # ! custom skeleton - -SKELETON_PATH = system/skeleton - -endif # ! custom skeleton - -# This function handles the merged or non-merged /usr cases -ifeq ($(BR2_ROOTFS_MERGED_USR),y) -define SKELETON_USR_SYMLINKS_OR_DIRS - ln -snf usr/bin $(1)/bin - ln -snf usr/sbin $(1)/sbin - ln -snf usr/lib $(1)/lib -endef -else -define SKELETON_USR_SYMLINKS_OR_DIRS - $(INSTALL) -d -m 0755 $(1)/bin - $(INSTALL) -d -m 0755 $(1)/sbin - $(INSTALL) -d -m 0755 $(1)/lib -endef -endif - -# We make a symlink lib32->lib or lib64->lib as appropriate -# MIPS64/n32 requires lib32 even though it's a 64-bit arch. -ifeq ($(BR2_ARCH_IS_64)$(BR2_MIPS_NABI32),y) -SKELETON_LIB_SYMLINK = lib64 -else -SKELETON_LIB_SYMLINK = lib32 -endif - -define SKELETON_INSTALL_TARGET_CMDS - rsync -a --ignore-times $(RSYNC_VCS_EXCLUSIONS) \ - --chmod=u=rwX,go=rX --exclude .empty --exclude '*~' \ - $(SKELETON_PATH)/ $(TARGET_DIR)/ - $(call SKELETON_USR_SYMLINKS_OR_DIRS,$(TARGET_DIR)) - ln -snf lib $(TARGET_DIR)/$(SKELETON_LIB_SYMLINK) - ln -snf lib $(TARGET_DIR)/usr/$(SKELETON_LIB_SYMLINK) - $(INSTALL) -m 0644 support/misc/target-dir-warning.txt \ - $(TARGET_DIR_WARNING_FILE) -endef - -# For the staging dir, we don't really care about /bin and /sbin. -# But for consistency with the target dir, and to simplify the code, -# we still handle them for the merged or non-merged /usr cases. -# Since the toolchain is not yet available, the staging is not yet -# populated, so we need to create the directories in /usr -define SKELETON_INSTALL_STAGING_CMDS - $(INSTALL) -d -m 0755 $(STAGING_DIR)/usr/lib - $(INSTALL) -d -m 0755 $(STAGING_DIR)/usr/bin - $(INSTALL) -d -m 0755 $(STAGING_DIR)/usr/sbin - $(INSTALL) -d -m 0755 $(STAGING_DIR)/usr/include - $(call SKELETON_USR_SYMLINKS_OR_DIRS,$(STAGING_DIR)) - ln -snf lib $(STAGING_DIR)/$(SKELETON_LIB_SYMLINK) - ln -snf lib $(STAGING_DIR)/usr/$(SKELETON_LIB_SYMLINK) -endef - -# The TARGET_FINALIZE_HOOKS must be sourced only if the users choose to use the -# default skeleton. -ifeq ($(BR2_ROOTFS_SKELETON_DEFAULT),y) - -SKELETON_TARGET_GENERIC_HOSTNAME = $(call qstrip,$(BR2_TARGET_GENERIC_HOSTNAME)) -SKELETON_TARGET_GENERIC_ISSUE = $(call qstrip,$(BR2_TARGET_GENERIC_ISSUE)) -SKELETON_TARGET_GENERIC_ROOT_PASSWD = $(call qstrip,$(BR2_TARGET_GENERIC_ROOT_PASSWD)) -SKELETON_TARGET_GENERIC_PASSWD_METHOD = $(call qstrip,$(BR2_TARGET_GENERIC_PASSWD_METHOD)) -SKELETON_TARGET_GENERIC_BIN_SH = $(call qstrip,$(BR2_SYSTEM_BIN_SH)) -SKELETON_TARGET_GENERIC_GETTY_PORT = $(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT)) -SKELETON_TARGET_GENERIC_GETTY_BAUDRATE = $(call qstrip,$(BR2_TARGET_GENERIC_GETTY_BAUDRATE)) -SKELETON_TARGET_GENERIC_GETTY_TERM = $(call qstrip,$(BR2_TARGET_GENERIC_GETTY_TERM)) -SKELETON_TARGET_GENERIC_GETTY_OPTIONS = $(call qstrip,$(BR2_TARGET_GENERIC_GETTY_OPTIONS)) - -ifneq ($(SKELETON_TARGET_GENERIC_HOSTNAME),) -define SKELETON_SET_HOSTNAME - mkdir -p $(TARGET_DIR)/etc - echo "$(SKELETON_TARGET_GENERIC_HOSTNAME)" > $(TARGET_DIR)/etc/hostname - $(SED) '$$a \127.0.1.1\t$(SKELETON_TARGET_GENERIC_HOSTNAME)' \ - -e '/^127.0.1.1/d' $(TARGET_DIR)/etc/hosts -endef -TARGET_FINALIZE_HOOKS += SKELETON_SET_HOSTNAME -endif - -ifneq ($(SKELETON_TARGET_GENERIC_ISSUE),) -define SKELETON_SET_ISSUE - mkdir -p $(TARGET_DIR)/etc - echo "$(SKELETON_TARGET_GENERIC_ISSUE)" > $(TARGET_DIR)/etc/issue -endef -TARGET_FINALIZE_HOOKS += SKELETON_SET_ISSUE -endif - -define SKELETON_SET_NETWORK_LOCALHOST - ( \ - echo "# interface file auto-generated by buildroot"; \ - echo ; \ - echo "auto lo"; \ - echo "iface lo inet loopback"; \ - ) > $(TARGET_DIR)/etc/network/interfaces -endef - -SKELETON_NETWORK_DHCP_IFACE = $(call qstrip,$(BR2_SYSTEM_DHCP)) - -ifneq ($(SKELETON_NETWORK_DHCP_IFACE),) -define SKELETON_SET_NETWORK_DHCP - ( \ - echo ; \ - echo "auto $(SKELETON_NETWORK_DHCP_IFACE)"; \ - echo "iface $(SKELETON_NETWORK_DHCP_IFACE) inet dhcp"; \ - echo " pre-up /etc/network/nfs_check"; \ - echo " wait-delay 15"; \ - ) >> $(TARGET_DIR)/etc/network/interfaces - $(INSTALL) -m 0755 -D $(SKELETON_PKGDIR)/nfs_check \ - $(TARGET_DIR)/etc/network/nfs_check -endef -endif - -define SKELETON_SET_NETWORK - mkdir -p $(TARGET_DIR)/etc/network/ - $(SKELETON_SET_NETWORK_LOCALHOST) - $(SKELETON_SET_NETWORK_DHCP) -endef - -TARGET_FINALIZE_HOOKS += SKELETON_SET_NETWORK - -ifeq ($(BR2_TARGET_ENABLE_ROOT_LOGIN),y) -ifeq ($(SKELETON_TARGET_GENERIC_ROOT_PASSWD),) -SKELETON_ROOT_PASSWORD = -else ifneq ($(filter $$1$$% $$5$$% $$6$$%,$(SKELETON_TARGET_GENERIC_ROOT_PASSWD)),) -SKELETON_ROOT_PASSWORD = '$(SKELETON_TARGET_GENERIC_ROOT_PASSWD)' -else -SKELETON_DEPENDENCIES += host-mkpasswd -# This variable will only be evaluated in the finalize stage, so we can -# be sure that host-mkpasswd will have already been built by that time. -SKELETON_ROOT_PASSWORD = "`$(MKPASSWD) -m "$(SKELETON_TARGET_GENERIC_PASSWD_METHOD)" "$(SKELETON_TARGET_GENERIC_ROOT_PASSWD)"`" -endif -else # !BR2_TARGET_ENABLE_ROOT_LOGIN -SKELETON_ROOT_PASSWORD = "*" -endif - -define SKELETON_SET_ROOT_PASSWD - $(SED) s,^root:[^:]*:,root:$(SKELETON_ROOT_PASSWORD):, $(TARGET_DIR)/etc/shadow -endef -TARGET_FINALIZE_HOOKS += SKELETON_SET_ROOT_PASSWD - -ifeq ($(BR2_SYSTEM_BIN_SH_NONE),y) -define SKELETON_BIN_SH - rm -f $(TARGET_DIR)/bin/sh -endef -else -define SKELETON_BIN_SH - ln -sf $(SKELETON_TARGET_GENERIC_BIN_SH) $(TARGET_DIR)/bin/sh -endef -endif -TARGET_FINALIZE_HOOKS += SKELETON_BIN_SH - -ifeq ($(BR2_TARGET_GENERIC_GETTY),y) -ifeq ($(BR2_INIT_SYSV),y) -# In sysvinit inittab, the "id" must not be longer than 4 bytes, so we -# skip the "tty" part and keep only the remaining. -define SKELETON_SET_GETTY - $(SED) '/# GENERIC_SERIAL$$/s~^.*#~$(shell echo $(SKELETON_TARGET_GENERIC_GETTY_PORT) | tail -c+4)::respawn:/sbin/getty -L $(SKELETON_TARGET_GENERIC_GETTY_OPTIONS) $(SKELETON_TARGET_GENERIC_GETTY_PORT) $(SKELETON_TARGET_GENERIC_GETTY_BAUDRATE) $(SKELETON_TARGET_GENERIC_GETTY_TERM) #~' \ - $(TARGET_DIR)/etc/inittab -endef -else ifeq ($(BR2_INIT_BUSYBOX),y) -# Add getty to busybox inittab -define SKELETON_SET_GETTY - $(SED) '/# GENERIC_SERIAL$$/s~^.*#~$(SKELETON_TARGET_GENERIC_GETTY_PORT)::respawn:/sbin/getty -L $(SKELETON_TARGET_GENERIC_GETTY_OPTIONS) $(SKELETON_TARGET_GENERIC_GETTY_PORT) $(SKELETON_TARGET_GENERIC_GETTY_BAUDRATE) $(SKELETON_TARGET_GENERIC_GETTY_TERM) #~' \ - $(TARGET_DIR)/etc/inittab -endef -endif -TARGET_FINALIZE_HOOKS += SKELETON_SET_GETTY -endif - -ifeq ($(BR2_INIT_BUSYBOX)$(BR2_INIT_SYSV),y) -ifeq ($(BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW),y) -# Find commented line, if any, and remove leading '#'s -define SKELETON_REMOUNT_RW - $(SED) '/^#.*-o remount,rw \/$$/s~^#\+~~' $(TARGET_DIR)/etc/inittab -endef -else -# Find uncommented line, if any, and add a leading '#' -define SKELETON_REMOUNT_RW - $(SED) '/^[^#].*-o remount,rw \/$$/s~^~#~' $(TARGET_DIR)/etc/inittab -endef -endif -TARGET_FINALIZE_HOOKS += SKELETON_REMOUNT_RW -endif # BR2_INIT_BUSYBOX || BR2_INIT_SYSV - -endif # BR2_ROOTFS_SKELETON_DEFAULT - -$(eval $(generic-package)) +$(eval $(virtual-package)) diff --git a/package/slang/0001-slsh-libs.patch b/package/slang/0001-slsh-libs.patch index e8b6e6d223..211cb4a0e0 100644 --- a/package/slang/0001-slsh-libs.patch +++ b/package/slang/0001-slsh-libs.patch @@ -3,15 +3,17 @@ Patch taken from gentoo portage, upstream status unknown, author probably Diego Pettenò. Signed-off-by: Gustavo Zacarias +[Bernd: rebased against 2.3.1a] +Signed-off-by: Bernd Kuhls --- a/slsh/Makefile.in +++ b/slsh/Makefile.in -@@ -80,7 +80,7 @@ +@@ -92,7 +92,7 @@ $(OBJDIR)/slsh_exe: $(OBJDIR)/slsh.o $(OBJDIR)/readline.o - $(CC) $(CFLAGS) $(OBJDIR)/slsh.o $(OBJDIR)/readline.o -o $(OBJDIR)/slsh_exe $(LDFLAGS) $(SRC_LIBS) + $(CC) $(CFLAGS) $(OBJDIR)/slsh.o $(OBJDIR)/readline.o -o $(OBJDIR)/slsh_exe $(LDFLAGS) $(DLINK_FLAGS) $(SRC_LIBS) $(OBJDIR)/slsh: $(OBJDIR)/slsh.o $(OBJDIR)/readline.o -- $(CC) $(CFLAGS) $(OBJDIR)/slsh.o $(OBJDIR)/readline.o -o $(OBJDIR)/slsh $(LDFLAGS) $(INST_LIBS) -+ $(CC) $(CFLAGS) $(OBJDIR)/slsh.o $(OBJDIR)/readline.o -o $(OBJDIR)/slsh $(LDFLAGS) $(SRC_LIBS) - $(OBJDIR)/slsh.o: $(OBJDIR) slsh.c slsh.h config.h Makefile - cd $(OBJDIR) && $(CC) -c $(CFLAGS) $(SLANG_SRCINC) $(DEFS) $(SRCDIR)/slsh.c - $(OBJDIR)/readline.o: $(OBJDIR) readline.c slsh.h config.h Makefile +- $(CC) $(CFLAGS) $(OBJDIR)/slsh.o $(OBJDIR)/readline.o -o $(OBJDIR)/slsh $(LDFLAGS) $(DLINK_FLAGS) $(INST_LIBS) ++ $(CC) $(CFLAGS) $(OBJDIR)/slsh.o $(OBJDIR)/readline.o -o $(OBJDIR)/slsh $(LDFLAGS) $(DLINK_FLAGS) $(SRC_LIBS) + $(OBJDIR)/slsh.o: $(OBJDIR_TSTAMP) slsh.c slsh.h config.h Makefile + cd $(OBJDIR) && $(CC) $(SLANG_SRCINC) $(CFLAGS) -c $(DEFS) $(SRCDIR)/slsh.c + $(OBJDIR)/readline.o: $(OBJDIR_TSTAMP) readline.c slsh.h config.h Makefile diff --git a/package/slang/0002-Enable-a-statically-linked-version-of-slsh.patch b/package/slang/0002-Enable-a-statically-linked-version-of-slsh.patch deleted file mode 100644 index ee306a1d56..0000000000 --- a/package/slang/0002-Enable-a-statically-linked-version-of-slsh.patch +++ /dev/null @@ -1,120 +0,0 @@ -Enable a statically-linked version of slsh to be built and installed - -Adapt an upstream patch to make it apply on 2.3.0. Unnecessary changes -have been ignored. - -Repository: git://git.jedsoft.org/git/slang.git -Commit ID: 3796db6fb94a2fc7fe2fb0b6918501b69a4d3a02 -Author: John E. Davis - -Signed-off-by: Vicente Olivert Riera ---- -diff -rup a/autoconf/Makefile.in b/autoconf/Makefile.in ---- a/autoconf/Makefile.in 2014-09-18 04:02:24.000000000 +0100 -+++ b/autoconf/Makefile.in 2014-12-08 11:59:30.879313080 +0000 -@@ -41,16 +41,19 @@ src/Makefile: configure src/Makefile.in - # - makefiles: Makefile slsh/Makefile modules/Makefile src/Makefile - help: -- @echo "make install : install a shared version of the library" -- @echo "make install-static : install a static version" -- @echo "make install-all : install both shared and static versions" -- @echo "make check : Build the library and run the regression tests" -+ @echo "make install ==> shared version of the library, slsh and modules" -+ @echo "make install-static ==> static version of the library and slsh; no modules" -+ @echo "make install-all ==> shared/static versions of the library/modules + shared slsh." -+ @echo "make install-modules ==> install the modules" -+ @echo "make check ==> Build the library and run the regression tests" - slang.pc: configure autoconf/slangpc.in - @echo "slang.pc needs to be updated -- rerun configure" - @exit 1 - static: makefiles slang.pc - cd src; $(MAKE) static -- cd slsh; $(MAKE) all -+ cd slsh; $(MAKE) static -+modules: -+ cd modules; $(MAKE) all - elf: makefiles slang.pc - cd src; $(MAKE) elf - cd slsh; $(MAKE) all -@@ -73,10 +76,11 @@ clean: - cd demo; $(MAKE) clean - install-static: - cd src; $(MAKE) install-static -+ cd slsh; $(MAKE) install-static - install-pkgconfig: slang.pc - $(MKINSDIR) $(DEST_PKGCONFIGDIR) - $(INSTALL_DATA) slang.pc $(DEST_PKGCONFIGDIR)/ --install-elf: -+install-elf: install-pkgconfig - cd src; $(MAKE) install-elf - @echo Now installing slsh - cd slsh; $(MAKE) install -@@ -86,7 +90,10 @@ install-elf: - @echo "On some systems, e.g., linux, you may also have to run ldconfig." - @echo "" - install: install-elf install-pkgconfig --install-all: install-elf install-static install-pkgconfig -+install-all: install-elf -+ cd src; $(MAKE) install-static -+install-modules: -+ cd modules; $(MAKE) install - install-links: - cd src; $(MAKE) install-links - # -diff -rup a/slsh/Makefile.in b/slsh/Makefile.in ---- a/slsh/Makefile.in 2014-12-08 11:52:51.303284637 +0000 -+++ b/slsh/Makefile.in 2014-12-08 12:06:44.811939732 +0000 -@@ -16,7 +16,8 @@ SLANG_INST_INC = -I@includedir@ - SLANG_INST_LIB = -L$(INST_LIB_DIR) - #--------------------------------------------------------------------------- - SLANG_SRCINC = -I@SRCDIR@ --SLANG_SRCLIB = -L@ELFDIR@ -+SLANG_ELFLIB = -L@ELFDIR@# for dynamically linked -+SLANG_OBJLIB = -L@OBJDIR@# for statically linked - #--------------------------------------------------------------------------- - OTHER_LIBS = @TERMCAP@ @DYNAMIC_LINK_LIB@ @LIBS@ @M_LIB@ - RPATH = @RPATH@ -@@ -73,10 +74,12 @@ INST_LIBS = $(DEST_LIB_DIR) $(RPATH) $(S - DEFS = -DSLSH_CONF_DIR='"$(SLSH_CONF_DIR)"' -DSLSH_PATH='"$(SLSH_LIB_DIR)"' \ - -DSLSH_CONF_DIR_ENV='$(SLSH_CONF_DIR_ENV)' -DSLSH_LIB_DIR_ENV='$(SLSH_LIB_DIR_ENV)' \ - -DSLSH_PATH_ENV='$(SLSH_PATH_ENV)' --SRC_LIBS = $(SLANG_SRCLIB) -lslang $(READLINE_LIB) $(OTHER_LIBS) -+SRC_LIBS = $(SLANG_ELFLIB) -lslang $(READLINE_LIB) $(OTHER_LIBS) -+STATIC_SRC_LIBS = $(SLANG_OBJLIB) -lslang $(READLINE_LIB) $(OTHER_LIBS) - # - all: $(OBJDIR)/slsh_exe - slsh: $(OBJDIR)/slsh -+static: $(OBJDIR)/slsh_static - $(OBJDIR)/slsh_exe: $(OBJDIR)/slsh.o $(OBJDIR)/readline.o - $(CC) $(CFLAGS) $(OBJDIR)/slsh.o $(OBJDIR)/readline.o -o $(OBJDIR)/slsh_exe $(LDFLAGS) $(SRC_LIBS) - $(OBJDIR)/slsh: $(OBJDIR)/slsh.o $(OBJDIR)/readline.o -@@ -85,6 +88,8 @@ $(OBJDIR)/slsh.o: $(OBJDIR) slsh.c slsh. - cd $(OBJDIR) && $(CC) $(SLANG_SRCINC) $(CFLAGS) -c $(DEFS) $(SRCDIR)/slsh.c - $(OBJDIR)/readline.o: $(OBJDIR) readline.c slsh.h config.h Makefile - cd $(OBJDIR) && $(CC) $(SLANG_SRCINC) $(CFLAGS) -c $(DEFS) -DUSE_GNU_READLINE=$(GNU_READLINE) $(SRCDIR)/readline.c -+$(OBJDIR)/slsh_static: $(OBJDIR)/slsh.o $(OBJDIR)/readline.o -+ $(CC) $(CFLAGS) $(OBJDIR)/slsh.o $(OBJDIR)/readline.o -o $(OBJDIR)/slsh_static $(LDFLAGS) $(STATIC_SRC_LIBS) - $(OBJDIR): - -$(MKINSDIR) $(OBJDIR) - config.h: ../src/config.h -@@ -151,6 +156,12 @@ install: slsh install_directories instal - $(INSTALL_DATA) etc/slsh.rc $(DEST_SLSH_CONF_DIR)/ - echo 'prepend_to_slang_load_path("$(SLSH_LOCALLIB_DIR)");' >> $(DEST_SLSH_CONF_DIR)/slsh.rc - $(INSTALL_DATA) doc/man/slsh.1 $(DEST_MAN_DIR)/ -+install-static: static install_directories install_lib_files install_rline_files \ -+ install_scripts install_help install_docs -+ $(INSTALL) $(OBJDIR)/slsh_static $(DEST_BIN_DIR)/slsh -+ $(INSTALL_DATA) etc/slsh.rc $(DEST_SLSH_CONF_DIR)/ -+ echo 'prepend_to_slang_load_path("$(SLSH_LOCALLIB_DIR)");' >> $(DEST_SLSH_CONF_DIR)/slsh.rc -+ $(INSTALL_DATA) doc/man/slsh.1 $(DEST_MAN_DIR)/ - #--------------------------------------------------------------------------- - # Housekeeping - #--------------------------------------------------------------------------- -@@ -161,5 +172,5 @@ distclean: clean - # - .PHONY: all clean distclean symlinks slsh install install_directories \ - install_lib_files install_rline_files install_scripts install_help \ -- install_docs -+ install_docs install-static static - diff --git a/package/slang/0003-Disable-module-support-in-the-statically-linked-version-of-slsh.patch b/package/slang/0003-Disable-module-support-in-the-statically-linked-version-of-slsh.patch deleted file mode 100644 index 4bc8f768be..0000000000 --- a/package/slang/0003-Disable-module-support-in-the-statically-linked-version-of-slsh.patch +++ /dev/null @@ -1,114 +0,0 @@ -Disable module support in the statically linked version of slsh - -Adapt an upstream patch to make it apply on 2.3.0. Unnecessary changes -have been ignored. - -Repository: git://git.jedsoft.org/git/slang.git -Commit ID: 997c85f5cdb19802a5c97afe44e366a60f94a069 -Author: John E. Davis - -Signed-off-by: Vicente Olivert Riera ---- -diff -rup a/slsh/Makefile.in b/slsh/Makefile.in ---- a/slsh/Makefile.in 2014-12-09 10:04:44.084899944 +0000 -+++ b/slsh/Makefile.in 2014-12-09 10:16:11.545897275 +0000 -@@ -1,9 +1,11 @@ - #-*-sh-*- - CC = @CC@ - CFLAGS = @CFLAGS@ @SLANG_DLL_CFLAGS@ --LDFLAGS = @LDFLAGS@ @DYNAMIC_LINK_FLAGS@ -+LDFLAGS = @LDFLAGS@ -+DLINK_FLAGS = @DYNAMIC_LINK_FLAGS@ - CONFIG_DIR = @CONFIG_DIR@ - OBJDIR = $(ARCH)objs -+SOBJDIR = static_objs - SRCDIR = $(CONFIG_DIR)/slsh - #--------------------------------------------------------------------------- - # Installation location of the slang library -@@ -19,7 +21,8 @@ SLANG_SRCINC = -I@SRCDIR@ - SLANG_ELFLIB = -L@ELFDIR@# for dynamically linked - SLANG_OBJLIB = -L@OBJDIR@# for statically linked - #--------------------------------------------------------------------------- --OTHER_LIBS = @TERMCAP@ @DYNAMIC_LINK_LIB@ @LIBS@ @M_LIB@ -+DYNAMIC_LIBS = @TERMCAP@ @DYNAMIC_LINK_LIB@ @LIBS@ @M_LIB@ -+STATIC_LIBS = @TERMCAP@ @LIBS@ @M_LIB@ - RPATH = @RPATH@ - #---------------------------------------------------------------------------- - INSTALL = @INSTALL@ -@@ -69,29 +72,37 @@ DEST_SLSH_DOC_DIR= $(DESTDIR)$(SLSH_DOC_ - #---------------------------------------------------------------------------- - @SET_MAKE@ - SHELL = /bin/sh --#INST_LIBS = $(RPATH) $(SLANG_INST_LIB) $(DEST_LIB_DIR) -lslang $(READLINE_LIB) $(OTHER_LIBS) --INST_LIBS = $(DEST_LIB_DIR) $(RPATH) $(SLANG_INST_LIB) -lslang $(READLINE_LIB) $(OTHER_LIBS) -+INST_LIBS = $(DEST_LIB_DIR) $(RPATH) $(SLANG_INST_LIB) -lslang $(READLINE_LIB) $(DYNAMIC_LIBS) - DEFS = -DSLSH_CONF_DIR='"$(SLSH_CONF_DIR)"' -DSLSH_PATH='"$(SLSH_LIB_DIR)"' \ - -DSLSH_CONF_DIR_ENV='$(SLSH_CONF_DIR_ENV)' -DSLSH_LIB_DIR_ENV='$(SLSH_LIB_DIR_ENV)' \ - -DSLSH_PATH_ENV='$(SLSH_PATH_ENV)' --SRC_LIBS = $(SLANG_ELFLIB) -lslang $(READLINE_LIB) $(OTHER_LIBS) --STATIC_SRC_LIBS = $(SLANG_OBJLIB) -lslang $(READLINE_LIB) $(OTHER_LIBS) -+SDEFS = $(DEFS) -DSLSH_STATIC -+SRC_LIBS = $(SLANG_ELFLIB) -lslang $(READLINE_LIB) $(DYNAMIC_LIBS) -+STATIC_SRC_LIBS = $(SLANG_OBJLIB) -lslang $(READLINE_LIB) $(STATIC_LIBS) - # - all: $(OBJDIR)/slsh_exe - slsh: $(OBJDIR)/slsh --static: $(OBJDIR)/slsh_static - $(OBJDIR)/slsh_exe: $(OBJDIR)/slsh.o $(OBJDIR)/readline.o -- $(CC) $(CFLAGS) $(OBJDIR)/slsh.o $(OBJDIR)/readline.o -o $(OBJDIR)/slsh_exe $(LDFLAGS) $(SRC_LIBS) -+ $(CC) $(CFLAGS) $(OBJDIR)/slsh.o $(OBJDIR)/readline.o -o $(OBJDIR)/slsh_exe $(LDFLAGS) $(DLINK_FLAGS) $(SRC_LIBS) - $(OBJDIR)/slsh: $(OBJDIR)/slsh.o $(OBJDIR)/readline.o -- $(CC) $(CFLAGS) $(OBJDIR)/slsh.o $(OBJDIR)/readline.o -o $(OBJDIR)/slsh $(LDFLAGS) $(SRC_LIBS) -+ $(CC) $(CFLAGS) $(OBJDIR)/slsh.o $(OBJDIR)/readline.o -o $(OBJDIR)/slsh $(LDFLAGS) $(DLINK_FLAGS) $(SRC_LIBS) - $(OBJDIR)/slsh.o: $(OBJDIR) slsh.c slsh.h config.h Makefile - cd $(OBJDIR) && $(CC) $(SLANG_SRCINC) $(CFLAGS) -c $(DEFS) $(SRCDIR)/slsh.c - $(OBJDIR)/readline.o: $(OBJDIR) readline.c slsh.h config.h Makefile - cd $(OBJDIR) && $(CC) $(SLANG_SRCINC) $(CFLAGS) -c $(DEFS) -DUSE_GNU_READLINE=$(GNU_READLINE) $(SRCDIR)/readline.c --$(OBJDIR)/slsh_static: $(OBJDIR)/slsh.o $(OBJDIR)/readline.o -- $(CC) $(CFLAGS) $(OBJDIR)/slsh.o $(OBJDIR)/readline.o -o $(OBJDIR)/slsh_static $(LDFLAGS) $(STATIC_SRC_LIBS) - $(OBJDIR): - -$(MKINSDIR) $(OBJDIR) -+# -+static: $(SOBJDIR)/slsh -+$(SOBJDIR)/slsh: $(SOBJDIR)/slsh.o $(SOBJDIR)/readline.o -+ $(CC) $(CFLAGS) $(SOBJDIR)/slsh.o $(SOBJDIR)/readline.o -o $(SOBJDIR)/slsh $(LDFLAGS) $(STATIC_SRC_LIBS) -+$(SOBJDIR)/slsh.o: $(SOBJDIR) slsh.c slsh.h config.h Makefile -+ cd $(SOBJDIR) && $(CC) $(SLANG_SRCINC) $(CFLAGS) -c $(SDEFS) $(SRCDIR)/slsh.c -+$(SOBJDIR)/readline.o: $(SOBJDIR) readline.c slsh.h config.h Makefile -+ cd $(SOBJDIR) && $(CC) $(SLANG_SRCINC) $(CFLAGS) -c $(SDEFS) -DUSE_GNU_READLINE=$(GNU_READLINE) $(SRCDIR)/readline.c -+$(SOBJDIR): -+ -$(MKINSDIR) $(SOBJDIR) -+# - config.h: ../src/config.h - cp ../src/config.h . - install_directories: -@@ -158,7 +169,7 @@ install: slsh install_directories instal - $(INSTALL_DATA) doc/man/slsh.1 $(DEST_MAN_DIR)/ - install-static: static install_directories install_lib_files install_rline_files \ - install_scripts install_help install_docs -- $(INSTALL) $(OBJDIR)/slsh_static $(DEST_BIN_DIR)/slsh -+ $(INSTALL) $(SOBJDIR)/slsh $(DEST_BIN_DIR)/ - $(INSTALL_DATA) etc/slsh.rc $(DEST_SLSH_CONF_DIR)/ - echo 'prepend_to_slang_load_path("$(SLSH_LOCALLIB_DIR)");' >> $(DEST_SLSH_CONF_DIR)/slsh.rc - $(INSTALL_DATA) doc/man/slsh.1 $(DEST_MAN_DIR)/ -@@ -167,6 +178,7 @@ install-static: static install_directori - #--------------------------------------------------------------------------- - clean: - -/bin/rm -f *~ $(OBJDIR)/slsh.o $(OBJDIR)/readline.o $(OBJDIR)/slsh $(OBJDIR)/slsh_exe scripts/*~ lib/*~ -+ -/bin/rm -f $(SOBJDIR)/slsh.o $(SOBJDIR)/readline.o $(SOBJDIR)/slsh $(SOBJDIR)/slsh_exe - distclean: clean - -/bin/rm -f Makefile config.h - # -diff -rup a/slsh/slsh.c b/slsh/slsh.c ---- a/slsh/slsh.c 2014-09-18 04:02:24.000000000 +0100 -+++ b/slsh/slsh.c 2014-12-09 10:17:04.602824146 +0000 -@@ -514,7 +514,9 @@ int main (int argc, char **argv) - - if ((-1 == SLang_init_all ()) - || (-1 == SLang_init_array_extra ()) -+#ifndef SLSH_STATIC - || (-1 == SLang_init_import ()) /* dynamic linking */ -+#endif - || (-1 == SLadd_intrin_fun_table (Intrinsics, NULL)) - || (-1 == slsh_init_readline_intrinsics ())) - { diff --git a/package/slang/0004-Rename-posix_close-function-to-posix_close_slfile.patch b/package/slang/0004-Rename-posix_close-function-to-posix_close_slfile.patch deleted file mode 100644 index 4b3c869a60..0000000000 --- a/package/slang/0004-Rename-posix_close-function-to-posix_close_slfile.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 055b02cf98ab9b7301988c3be2d277f262f0957e Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 18 Nov 2015 23:12:15 +0100 -Subject: [PATCH] Rename posix_close() function to posix_close_slfile() - -posix_close() is a function that will be implemented as part of an -upcoming of the POSIX standard. For this reason, the musl C library -has already started implementing this function call. Unfortunately, -since slang already defines a function with the same name, it cannot -build properly with the musl C library. - -This commit fixes that by renaming the slang function to -posix_close_slfile(). - -This patch has been taken from the Alpine Linux repository, at -http://git.alpinelinux.org/cgit/aports/plain/main/slang/musl-fix-posix_close-clash.patch. - -Signed-off-by: Thomas Petazzoni ---- - src/slposio.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/slposio.c b/src/slposio.c -index 94f20dd..475e2c9 100644 ---- a/src/slposio.c -+++ b/src/slposio.c -@@ -372,7 +372,7 @@ static int posix_close_fd (int *fd) - return 0; - } - --static int posix_close (SLFile_FD_Type *f) -+static int posix_close_slfile (SLFile_FD_Type *f) - { - int status = do_close (f); - -@@ -1011,7 +1011,7 @@ static SLang_Intrin_Fun_Type Fd_Name_Table [] = - MAKE_INTRINSIC_2("write", posix_write, V, F, B), - MAKE_INTRINSIC_1("dup_fd", posix_dup, V, F), - MAKE_INTRINSIC_2("dup2_fd", posix_dup2, I, F, I), -- MAKE_INTRINSIC_1("close", posix_close, I, F), -+ MAKE_INTRINSIC_1("close", posix_close_slfile, I, F), - MAKE_INTRINSIC_1("_close", posix_close_fd, I, I), - #if defined(TTYNAME_R) - MAKE_INTRINSIC_0("ttyname", posix_ttyname, V), --- -2.6.3 - diff --git a/package/slang/0005-make-install-static-do-install-pkgconfig-as-install-.patch b/package/slang/0005-make-install-static-do-install-pkgconfig-as-install-.patch deleted file mode 100644 index 1572e09bb1..0000000000 --- a/package/slang/0005-make-install-static-do-install-pkgconfig-as-install-.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 294bcde1afa0b3866f339f82709e867d827cea6c Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Mon, 14 Mar 2016 07:28:56 +0300 -Subject: [PATCH] make install-static do install-pkgconfig as install-elf does - -...so that install-static installs everything needed for linking with -slang. This fixes e.g. the following mc build: - - http://autobuild.buildroot.net/results/085/085194f18bc7db1e801d98e6620e3a75fd988cc5/build-end.log - -Signed-off-by: Max Filippov ---- - autoconf/Makefile.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/autoconf/Makefile.in b/autoconf/Makefile.in -index a6defa6..ca1ffb2 100644 ---- a/autoconf/Makefile.in -+++ b/autoconf/Makefile.in -@@ -74,7 +74,7 @@ clean: - cd modules; $(MAKE) clean - cd slsh; $(MAKE) clean - cd demo; $(MAKE) clean --install-static: -+install-static: install-pkgconfig - cd src; $(MAKE) install-static - cd slsh; $(MAKE) install-static - install-pkgconfig: slang.pc --- -2.1.4 - diff --git a/package/slang/slang.hash b/package/slang/slang.hash index 000ac11e36..bd806e8a4d 100644 --- a/package/slang/slang.hash +++ b/package/slang/slang.hash @@ -1,2 +1,6 @@ -# From http://www.jedsoft.org/releases/slang/ -sha1 c3270b58a58e6cbfd47f0a6e3d2194dd9e7c7d14 slang-2.3.0.tar.gz +# sha1 from http://www.jedsoft.org/releases/slang/, sha256 locally computed +sha1 a8ea7f1b5736160a94efb67b137a0f5b9916bdf2 slang-2.3.1a.tar.bz2 +sha256 54f0c3007fde918039c058965dffdfd6c5aec0bad0f4227192cc486021f08c36 slang-2.3.1a.tar.bz2 + +# License file, locally computed +sha256 ff05a90962e7773f8bdc47b2a9585130526039102759b524c1dffbd57cfe469b COPYING diff --git a/package/slang/slang.mk b/package/slang/slang.mk index 9078bf293c..d0c0e76322 100644 --- a/package/slang/slang.mk +++ b/package/slang/slang.mk @@ -4,9 +4,10 @@ # ################################################################################ -SLANG_VERSION = 2.3.0 +SLANG_VERSION = 2.3.1a +SLANG_SOURCE = slang-$(SLANG_VERSION).tar.bz2 SLANG_SITE = http://www.jedsoft.org/releases/slang -SLANG_LICENSE = GPLv2+ +SLANG_LICENSE = GPL-2.0+ SLANG_LICENSE_FILES = COPYING SLANG_INSTALL_STAGING = YES SLANG_CONF_OPTS = --with-onig=no @@ -40,7 +41,7 @@ endif ifeq ($(BR2_PACKAGE_NCURSES),y) SLANG_DEPENDENCIES += ncurses -SLANG_CONF_ENV += ac_cv_path_nc5config=$(STAGING_DIR)/usr/bin/ncurses5-config +SLANG_CONF_ENV += ac_cv_path_nc5config=$(STAGING_DIR)/usr/bin/$(NCURSES_CONFIG_SCRIPTS) else SLANG_CONF_OPTS += ac_cv_path_nc5config=no endif @@ -49,7 +50,7 @@ ifeq ($(BR2_PACKAGE_READLINE),y) SLANG_CONF_OPTS += --with-readline=gnu SLANG_DEPENDENCIES += readline ifeq ($(BR2_STATIC_LIBS),y) -SLANG_CONF_ENV += LIBS="`$(STAGING_DIR)/usr/bin/ncurses5-config --libs`" +SLANG_CONF_ENV += LIBS="`$(STAGING_DIR)/usr/bin/$(NCURSES_CONFIG_SCRIPTS) --libs`" endif endif diff --git a/package/slirp/slirp.mk b/package/slirp/slirp.mk index be3e72d951..7cfead65e2 100644 --- a/package/slirp/slirp.mk +++ b/package/slirp/slirp.mk @@ -9,7 +9,7 @@ # of today) SLIRP_VERSION = 8c2da74c1385242f20799fec8c04f8378edc6550 SLIRP_SITE = git://anongit.freedesktop.org/spice/slirp -SLIRP_LICENSE = BSD-4c, BSD-2c +SLIRP_LICENSE = BSD-4-Clause, BSD-2-Clause # Note: The license file 'COPYRIGHT' is missing from the sources, # although some files refer to it. SLIRP_INSTALL_STAGING = YES diff --git a/package/smack/0001-libsmack-common.c-Include-limits.h-for-PATH_MAX.patch b/package/smack/0001-libsmack-common.c-Include-limits.h-for-PATH_MAX.patch deleted file mode 100644 index 0e30ef5e39..0000000000 --- a/package/smack/0001-libsmack-common.c-Include-limits.h-for-PATH_MAX.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 316c911aa741b14513622a4206ed6d324e951fa0 Mon Sep 17 00:00:00 2001 -From: Felix Janda -Date: Wed, 20 May 2015 21:25:22 +0200 -Subject: [PATCH 1/1] libsmack/common.c: Include for PATH_MAX - -Signed-off-by: Felix Janda -Signed-off-by: Bernd Kuhls ---- -Downloaded from upstream commit -https://github.com/smack-team/smack/commit/316c911aa741b14513622a4206ed6d324e951fa0 - - libsmack/common.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/libsmack/common.c b/libsmack/common.c -index 55fee1a..55b59e3 100644 ---- a/libsmack/common.c -+++ b/libsmack/common.c -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - #include - #include - #include --- -2.7.0 - diff --git a/package/smack/smack.hash b/package/smack/smack.hash index fd51249811..2c1f446250 100644 --- a/package/smack/smack.hash +++ b/package/smack/smack.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 94dc21b4a5e570af0eb44debf57491170cccdbf60e03b5a3210f2a14d6448390 smack-v1.1.0.tar.gz +sha256 1a607da3b1a661dc76b7a5b8571f4a2d56b4d61d78376088d19f2d8637dc6822 smack-1.3.1.tar.gz diff --git a/package/smack/smack.mk b/package/smack/smack.mk index 3ef4d476d1..d2ac005ab9 100644 --- a/package/smack/smack.mk +++ b/package/smack/smack.mk @@ -4,9 +4,9 @@ # ################################################################################ -SMACK_VERSION = v1.1.0 -SMACK_SITE = $(call github,smack-team,smack,$(SMACK_VERSION)) -SMACK_LICENSE = LGPLv2.1 +SMACK_VERSION = 1.3.1 +SMACK_SITE = $(call github,smack-team,smack,v$(SMACK_VERSION)) +SMACK_LICENSE = LGPL-2.1 SMACK_LICENSE_FILES = COPYING SMACK_INSTALL_STAGING = YES SMACK_DEPENDENCIES = host-pkgconf diff --git a/package/smartmontools/smartmontools.mk b/package/smartmontools/smartmontools.mk index cd0c076e19..137c00a505 100644 --- a/package/smartmontools/smartmontools.mk +++ b/package/smartmontools/smartmontools.mk @@ -6,7 +6,7 @@ SMARTMONTOOLS_VERSION = 6.5 SMARTMONTOOLS_SITE = http://downloads.sourceforge.net/project/smartmontools/smartmontools/$(SMARTMONTOOLS_VERSION) -SMARTMONTOOLS_LICENSE = GPLv2+ +SMARTMONTOOLS_LICENSE = GPL-2.0+ SMARTMONTOOLS_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/smcroute/Config.in b/package/smcroute/Config.in old mode 100755 new mode 100644 diff --git a/package/smcroute/smcroute.hash b/package/smcroute/smcroute.hash index e1483ec180..0487ef6cab 100644 --- a/package/smcroute/smcroute.hash +++ b/package/smcroute/smcroute.hash @@ -1,4 +1,4 @@ # Locally generated -sha256 cf344922b4298b94e53fa2db8f2b064bece60f75926966f330437dfcbd76d425 smcroute-2.1.1.tar.xz -# From https://github.com/troglobit/smcroute/releases/download/2.1.1/smcroute-2.1.1.tar.xz.md5 -md5 cd9256577fe06beaf8da2eba1a02f953 smcroute-2.1.1.tar.xz +sha256 cd6c5cc2edfa1348acb07ed026180ebfc8dd0f87153f5382cb27cb5557724c56 smcroute-2.3.1.tar.xz +# From https://github.com/troglobit/smcroute/releases/download/2.3.1/smcroute-2.3.1.tar.xz.md5 +md5 d8080828b7730bffb86969afd2bf94cb smcroute-2.3.1.tar.xz diff --git a/package/smcroute/smcroute.mk b/package/smcroute/smcroute.mk old mode 100755 new mode 100644 index a3d4bc4f17..e7e6ef1521 --- a/package/smcroute/smcroute.mk +++ b/package/smcroute/smcroute.mk @@ -4,14 +4,21 @@ # ################################################################################ -SMCROUTE_VERSION = 2.1.1 +SMCROUTE_VERSION = 2.3.1 SMCROUTE_SOURCE = smcroute-$(SMCROUTE_VERSION).tar.xz SMCROUTE_SITE = https://github.com/troglobit/smcroute/releases/download/$(SMCROUTE_VERSION) -SMCROUTE_LICENSE = GPLv2+ +SMCROUTE_LICENSE = GPL-2.0+ SMCROUTE_LICENSE_FILES = COPYING SMCROUTE_CONF_OPTS = ac_cv_func_setpgrp_void=yes #BUG:The package Makefile uses CC?= even though the package is autotools based SMCROUTE_MAKE_ENV = $(TARGET_CONFIGURE_OPTS) +ifeq ($(BR2_PACKAGE_LIBCAP),y) +SMCROUTE_DEPENDENCIES = libcap +SMCROUTE_CONF_OPTS += --with-libcap +else +SMCROUTE_CONF_OPTS += --without-libcap +endif + $(eval $(autotools-package)) diff --git a/package/smstools3/smstools3.mk b/package/smstools3/smstools3.mk index 52f9b319e9..2dfd11b8c5 100644 --- a/package/smstools3/smstools3.mk +++ b/package/smstools3/smstools3.mk @@ -6,7 +6,7 @@ SMSTOOLS3_VERSION = 3.1.15 SMSTOOLS3_SITE = http://smstools3.kekekasvi.com/packages -SMSTOOLS3_LICENSE = GPLv2+ +SMSTOOLS3_LICENSE = GPL-2.0+ SMSTOOLS3_LICENSE_FILES = doc/license.html LICENSE SMSTOOLS3_CFLAGS = $(TARGET_CFLAGS) diff --git a/package/snappy/Config.in b/package/snappy/Config.in index 06d537f1c9..d5f70699c1 100644 --- a/package/snappy/Config.in +++ b/package/snappy/Config.in @@ -7,7 +7,7 @@ config BR2_PACKAGE_SNAPPY library; instead, it aims for very high speeds and reasonable compression. - http://code.google.com/p/snappy/ + http://google.github.io/snappy/ comment "snappy needs a toolchain w/ C++" depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/snappy/snappy.hash b/package/snappy/snappy.hash index bb7f104cca..71a2500f8f 100644 --- a/package/snappy/snappy.hash +++ b/package/snappy/snappy.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 f50719c6dc7103d65df66882a3b4569d598eda251266463eca716928187dc12b snappy-32d6d7d8a2ef328a2ee1dd40f072e21f4983ebda.tar.gz +sha256 e701cd80f1154d648c762c86140ad6873a5c9b09ed1d754e3157be8193d2c39e snappy-be6dc3db83c4701e3e79694dcbfd1c3da03b91dd.tar.gz diff --git a/package/snappy/snappy.mk b/package/snappy/snappy.mk index fcbcd1368f..a537ade57b 100644 --- a/package/snappy/snappy.mk +++ b/package/snappy/snappy.mk @@ -4,25 +4,11 @@ # ################################################################################ -SNAPPY_VERSION = 32d6d7d8a2ef328a2ee1dd40f072e21f4983ebda +SNAPPY_VERSION = be6dc3db83c4701e3e79694dcbfd1c3da03b91dd SNAPPY_SITE = $(call github,google,snappy,$(SNAPPY_VERSION)) -SNAPPY_LICENSE = BSD-3c +SNAPPY_LICENSE = BSD-3-Clause SNAPPY_LICENSE_FILES = COPYING -# from git -SNAPPY_AUTORECONF = YES -SNAPPY_DEPENDENCIES = host-pkgconf SNAPPY_INSTALL_STAGING = YES +SNAPPY_CONF_OPTS = -DSNAPPY_BUILD_TESTS=OFF -# Disable tests -SNAPPY_CONF_OPTS = --disable-gtest - -# libsnappy links with libstdc++. Some libstdc++/arch variants use -# pthread symbols for internal locking if built with thead -# support. libstdc++ does not have a .pc file, and its .la file does -# not mention -pthread. So, static linkig to libstdc++ will fail if -# -pthread is not explicity linked to. Only do that for static builds. -ifeq ($(BR2_STATIC_LIBS)$(BR2_TOOLCHAIN_HAS_THREADS),yy) -SNAPPY_CONF_OPTS += LIBS=-pthread -endif - -$(eval $(autotools-package)) +$(eval $(cmake-package)) diff --git a/package/sngrep/sngrep.hash b/package/sngrep/sngrep.hash index dd75f89566..cd2dff5536 100644 --- a/package/sngrep/sngrep.hash +++ b/package/sngrep/sngrep.hash @@ -1 +1,6 @@ -sha256 30fbfb4f90ed8805194b39683a8a2ed465776ffd60df4482bd029d63b316b3f1 sngrep-v1.4.2.tar.gz +# From https://github.com/irontec/sngrep/releases/download/v1.4.4/sngrep-1.4.4.tar.gz.md5sum +md5 8e2286c2e23f4b29667025e5809dc303 sngrep-1.4.4.tar.gz + +# Locally computed +sha256 2379b8b3e9498d426a0bc03b90d74170a80f98f167f89c126d53dcc66bc5f60b sngrep-v1.4.4.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE diff --git a/package/sngrep/sngrep.mk b/package/sngrep/sngrep.mk index b82d8cefa7..7442cef529 100644 --- a/package/sngrep/sngrep.mk +++ b/package/sngrep/sngrep.mk @@ -4,17 +4,16 @@ # ################################################################################ -SNGREP_VERSION = v1.4.2 +SNGREP_VERSION = v1.4.4 SNGREP_SITE = $(call github,irontec,sngrep,$(SNGREP_VERSION)) -SNGREP_LICENSE = GPLv3+ +SNGREP_LICENSE = GPL-3.0+ SNGREP_LICENSE_FILES = LICENSE SNGREP_AUTORECONF = YES -SNGREP_DEPENDENCIES = libpcap ncurses +SNGREP_DEPENDENCIES = libpcap ncurses host-pkgconf SNGREP_CONF_ENV += \ $(if $(BR2_STATIC_LIBS),LIBS="`$(STAGING_DIR)/usr/bin/pcap-config --static --libs`") -# our ncurses wchar support is not properly detected SNGREP_CONF_OPTS += --disable-unicode # openssl and gnutls can't be enabled at the same time. diff --git a/package/snmppp/Config.in b/package/snmppp/Config.in index 9e800fd57e..8d284673bc 100644 --- a/package/snmppp/Config.in +++ b/package/snmppp/Config.in @@ -14,8 +14,9 @@ config BR2_PACKAGE_SNMPPP_LOGGING bool "enable logging" help Enable logging output for SNMP++. - According to the SNMP++ documentation, disabling logging "increases - performance drastically and minimizes memory consumption". + According to the SNMP++ documentation, disabling logging + "increases performance drastically and minimizes memory + consumption". config BR2_PACKAGE_SNMPPP_SNMPV3 bool "enable SNMPv3" diff --git a/package/snmppp/snmppp.hash b/package/snmppp/snmppp.hash index 75ecddade2..5c8feee152 100644 --- a/package/snmppp/snmppp.hash +++ b/package/snmppp/snmppp.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 2ef0cb20658c1eb9e053f8a7a9d5c8f5ebf2f734d37b692fdbf7163ea17dde6f snmp++-3.3.9.tar.gz +sha256 6827adb6a6a68a7f32c41fa12bdfd0aa48f4825b8773f63fc4d5c8482d4ed481 snmp++-3.3.10.tar.gz +sha256 d00d5deb9ce44fa01ddf6f882de3ea8b9e8402f776b546dd982d55367ebbd392 src/v3.cpp diff --git a/package/snmppp/snmppp.mk b/package/snmppp/snmppp.mk index 67410d9e4d..4ceb61c9fc 100644 --- a/package/snmppp/snmppp.mk +++ b/package/snmppp/snmppp.mk @@ -4,7 +4,7 @@ # ################################################################################ -SNMPPP_VERSION = 3.3.9 +SNMPPP_VERSION = 3.3.10 SNMPPP_SOURCE = snmp++-$(SNMPPP_VERSION).tar.gz SNMPPP_SITE = http://www.agentpp.com/download SNMPPP_DEPENDENCIES = host-pkgconf diff --git a/package/socat/Config.in b/package/socat/Config.in index 09eb2b616d..af456ab7aa 100644 --- a/package/socat/Config.in +++ b/package/socat/Config.in @@ -1,12 +1,7 @@ config BR2_PACKAGE_SOCAT bool "socat" - depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # fork() help Multipurpose socket relay program. http://www.dest-unreach.org/socat/ - -comment "socat needs a toolchain w/ threads" - depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/socat/socat.hash b/package/socat/socat.hash index d867d8ac10..77abcf29a9 100644 --- a/package/socat/socat.hash +++ b/package/socat/socat.hash @@ -1,4 +1,8 @@ # From http://www.dest-unreach.org/socat/download.md5sum -md5 553b1593d0a192cb09cbdc687ef1baac socat-2.0.0-b9.tar.bz2 +md5 607a24c15bd2cb54e9328bfbbd3a1ae9 socat-1.7.3.2.tar.bz2 # Calculated based on the hash above -sha256 49efb0a5c66b94b279014addc2851faf8ebbd1ec4b7e31c1de7e912d7b4983d2 socat-2.0.0-b9.tar.bz2 +sha256 e3561f808739383eb10fada1e5d4f26883f0311b34fd0af7837d0c95ef379251 socat-1.7.3.2.tar.bz2 +# Locally calculated +sha256 4846488cea98a2905dc75b7aa5eea721568e372447efe06b85bd896ee8c54f10 README +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 fd9e48ca316a5032069b9521f4f4b4d9b1c60365012bae1e62286bcd5bd2e761 COPYING.OpenSSL diff --git a/package/socat/socat.mk b/package/socat/socat.mk index 754b210b6c..5fea067d82 100644 --- a/package/socat/socat.mk +++ b/package/socat/socat.mk @@ -4,21 +4,29 @@ # ################################################################################ -SOCAT_VERSION = 2.0.0-b9 +SOCAT_VERSION = 1.7.3.2 SOCAT_SOURCE = socat-$(SOCAT_VERSION).tar.bz2 SOCAT_SITE = http://www.dest-unreach.org/socat/download -SOCAT_LICENSE = GPLv2 -SOCAT_LICENSE_FILES = COPYING -SOCAT_CONF_ENV = \ - sc_cv_termios_ispeed=no \ +SOCAT_LICENSE = GPL-2.0 with OpenSSL exception +SOCAT_LICENSE_FILES = README COPYING COPYING.OpenSSL + +SOCAT_CONF_ENV = sc_cv_termios_ispeed=no + +ifeq ($(BR2_powerpc)$(BR2_powerpc64)$(BR2_powerpc64le),y) +SOCAT_CONF_ENV += \ + sc_cv_sys_crdly_shift=12 \ + sc_cv_sys_tabdly_shift=10 \ + sc_cv_sys_csize_shift=8 +else +SOCAT_CONF_ENV += \ sc_cv_sys_crdly_shift=9 \ sc_cv_sys_tabdly_shift=11 \ sc_cv_sys_csize_shift=4 +endif -# We need to run autoconf to regenerate the configure script, in order -# to ensure that the test checking linux/ext2_fs.h works -# properly. However, the package only uses autoconf and not automake, -# so we can't use the normal autoreconf logic. +# We need to run autoconf to regenerate the configure script, since we patch +# configure.in and Makefile.in. However, the package only uses autoconf and not +# automake, so we can't use the normal autoreconf logic. SOCAT_DEPENDENCIES = host-autoconf @@ -35,7 +43,7 @@ SOCAT_CONF_OPTS += --disable-readline endif define SOCAT_RUN_AUTOCONF - (cd $(@D); $(HOST_DIR)/usr/bin/autoconf) + (cd $(@D); $(HOST_DIR)/bin/autoconf) endef SOCAT_PRE_CONFIGURE_HOOKS += SOCAT_RUN_AUTOCONF diff --git a/package/socketcand/socketcand.mk b/package/socketcand/socketcand.mk index 0cc56ef9f1..aeb052c8ad 100644 --- a/package/socketcand/socketcand.mk +++ b/package/socketcand/socketcand.mk @@ -7,7 +7,7 @@ SOCKETCAND_VERSION = df7fb4ff8a4439d7737fe2df3540e1ab7465721a SOCKETCAND_SITE = $(call github,dschanoeh,socketcand,$(SOCKETCAND_VERSION)) SOCKETCAND_AUTORECONF = YES -SOCKETCAND_LICENSE = BSD-3c or GPLv2 +SOCKETCAND_LICENSE = BSD-3-Clause or GPL-2.0 SOCKETCAND_LICENSE_FILES = socketcand.c ifeq ($(BR2_PACKAGE_LIBCONFIG),y) diff --git a/package/sofia-sip/sofia-sip.mk b/package/sofia-sip/sofia-sip.mk index 5ece44839f..831b9ea54d 100644 --- a/package/sofia-sip/sofia-sip.mk +++ b/package/sofia-sip/sofia-sip.mk @@ -8,7 +8,7 @@ SOFIA_SIP_VERSION = 1.12.11 SOFIA_SIP_SITE = http://downloads.sourceforge.net/project/sofia-sip/sofia-sip/$(SOFIA_SIP_VERSION) SOFIA_SIP_INSTALL_STAGING = YES SOFIA_SIP_DEPENDENCIES = host-pkgconf -SOFIA_SIP_LICENSE = LGPLv2.1+ +SOFIA_SIP_LICENSE = LGPL-2.1+ SOFIA_SIP_LICENSE_FILES = COPYING COPYRIGHTS SOFIA_SIP_CONF_OPTS = --with-doxygen=no diff --git a/package/softether/0001-Create-autotools-plumbing-for-SoftEther.patch b/package/softether/0001-Create-autotools-plumbing-for-SoftEther.patch new file mode 100644 index 0000000000..3f17a74dba --- /dev/null +++ b/package/softether/0001-Create-autotools-plumbing-for-SoftEther.patch @@ -0,0 +1,2105 @@ +From c5e5d7e93c6f3302adf5821c29c4efdb7630e418 Mon Sep 17 00:00:00 2001 +From: Darik Horn +Date: Sat, 12 Apr 2014 17:46:04 -0400 +Subject: [PATCH] Create autotools plumbing for SoftEther. + +Add autoconf and automake capabilities to SoftEther so that it can be built +like this: + + # autoreconf --force --install + # ./configure + # make install DESTDIR=/tmp/softether + +All standard configure parameters are supported, plus: + + # ./configure --enable-debug + +Autotools support makes porting, cross compiling, and optimization much easier. + +These GNU autoconf-archive components are used for dependency checking: + + * ax_check_openssl.m4 + * ax_check_zlib.m4 + * ax_lib_readline.m4 + * ax_pthread.m4 + * ax_with_curses.m4 + +NB: http://www.gnu.org/software/autoconf-archive/ + +[Upstream commit: https://github.com/dajhorn/SoftEtherVPN/commit/c5e5d7e93c6f3302adf5821c29c4efdb7630e418] +Signed-off-by: Thomas Petazzoni +--- + Makefile.am | 21 ++ + autotools/ax_check_openssl.m4 | 124 ++++++++++ + autotools/ax_check_zlib.m4 | 142 +++++++++++ + autotools/ax_lib_readline.m4 | 107 +++++++++ + autotools/ax_pthread.m4 | 332 ++++++++++++++++++++++++++ + autotools/ax_with_curses.m4 | 518 +++++++++++++++++++++++++++++++++++++++++ + autotools/softether.am | 39 ++++ + configure.ac | 96 ++++++++ + configure => manual_configure | 0 + src/Cedar/Makefile.am | 82 +++++++ + src/Makefile.am | 26 +++ + src/Mayaqua/Makefile.am | 43 ++++ + src/bin/hamcore/Makefile.am | 29 +++ + src/hamcorebuilder/Makefile.am | 29 +++ + src/vpnbridge/Makefile.am | 29 +++ + src/vpnclient/Makefile.am | 29 +++ + src/vpncmd/Makefile.am | 29 +++ + src/vpnserver/Makefile.am | 29 +++ + 18 files changed, 1704 insertions(+) + create mode 100644 Makefile.am + create mode 100644 autotools/ax_check_openssl.m4 + create mode 100644 autotools/ax_check_zlib.m4 + create mode 100644 autotools/ax_lib_readline.m4 + create mode 100644 autotools/ax_pthread.m4 + create mode 100644 autotools/ax_with_curses.m4 + create mode 100644 autotools/softether.am + create mode 100644 configure.ac + rename configure => manual_configure (100%) + create mode 100644 src/Cedar/Makefile.am + create mode 100644 src/Makefile.am + create mode 100644 src/Mayaqua/Makefile.am + create mode 100644 src/bin/hamcore/Makefile.am + create mode 100644 src/hamcorebuilder/Makefile.am + create mode 100644 src/vpnbridge/Makefile.am + create mode 100644 src/vpnclient/Makefile.am + create mode 100644 src/vpncmd/Makefile.am + create mode 100644 src/vpnserver/Makefile.am + +diff --git a/Makefile.am b/Makefile.am +new file mode 100644 +index 00000000..aa73b2ba +--- /dev/null ++++ b/Makefile.am +@@ -0,0 +1,21 @@ ++# Copyright 2014 Darik Horn ++# ++# This file is part of SoftEther. ++# ++# SoftEther 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. ++# ++# SoftEther 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 ++# SoftEther. If not, see . ++ ++ ++ACLOCAL_AMFLAGS = -I autotools ++include $(top_srcdir)/autotools/softether.am ++SUBDIRS = src +diff --git a/autotools/ax_check_openssl.m4 b/autotools/ax_check_openssl.m4 +new file mode 100644 +index 00000000..a87c5a6b +--- /dev/null ++++ b/autotools/ax_check_openssl.m4 +@@ -0,0 +1,124 @@ ++# =========================================================================== ++# http://www.gnu.org/software/autoconf-archive/ax_check_openssl.html ++# =========================================================================== ++# ++# SYNOPSIS ++# ++# AX_CHECK_OPENSSL([action-if-found[, action-if-not-found]]) ++# ++# DESCRIPTION ++# ++# Look for OpenSSL in a number of default spots, or in a user-selected ++# spot (via --with-openssl). Sets ++# ++# OPENSSL_INCLUDES to the include directives required ++# OPENSSL_LIBS to the -l directives required ++# OPENSSL_LDFLAGS to the -L or -R flags required ++# ++# and calls ACTION-IF-FOUND or ACTION-IF-NOT-FOUND appropriately ++# ++# This macro sets OPENSSL_INCLUDES such that source files should use the ++# openssl/ directory in include directives: ++# ++# #include ++# ++# LICENSE ++# ++# Copyright (c) 2009,2010 Zmanda Inc. ++# Copyright (c) 2009,2010 Dustin J. Mitchell ++# ++# Copying and distribution of this file, with or without modification, are ++# permitted in any medium without royalty provided the copyright notice ++# and this notice are preserved. This file is offered as-is, without any ++# warranty. ++ ++#serial 8 ++ ++AU_ALIAS([CHECK_SSL], [AX_CHECK_OPENSSL]) ++AC_DEFUN([AX_CHECK_OPENSSL], [ ++ found=false ++ AC_ARG_WITH([openssl], ++ [AS_HELP_STRING([--with-openssl=DIR], ++ [root of the OpenSSL directory])], ++ [ ++ case "$withval" in ++ "" | y | ye | yes | n | no) ++ AC_MSG_ERROR([Invalid --with-openssl value]) ++ ;; ++ *) ssldirs="$withval" ++ ;; ++ esac ++ ], [ ++ # if pkg-config is installed and openssl has installed a .pc file, ++ # then use that information and don't search ssldirs ++ AC_PATH_PROG([PKG_CONFIG], [pkg-config]) ++ if test x"$PKG_CONFIG" != x""; then ++ OPENSSL_LDFLAGS=`$PKG_CONFIG openssl --libs-only-L 2>/dev/null` ++ if test $? = 0; then ++ OPENSSL_LIBS=`$PKG_CONFIG openssl --libs-only-l 2>/dev/null` ++ OPENSSL_INCLUDES=`$PKG_CONFIG openssl --cflags-only-I 2>/dev/null` ++ found=true ++ fi ++ fi ++ ++ # no such luck; use some default ssldirs ++ if ! $found; then ++ ssldirs="/usr/local/ssl /usr/lib/ssl /usr/ssl /usr/pkg /usr/local /usr" ++ fi ++ ] ++ ) ++ ++ ++ # note that we #include , so the OpenSSL headers have to be in ++ # an 'openssl' subdirectory ++ ++ if ! $found; then ++ OPENSSL_INCLUDES= ++ for ssldir in $ssldirs; do ++ AC_MSG_CHECKING([for openssl/ssl.h in $ssldir]) ++ if test -f "$ssldir/include/openssl/ssl.h"; then ++ OPENSSL_INCLUDES="-I$ssldir/include" ++ OPENSSL_LDFLAGS="-L$ssldir/lib" ++ OPENSSL_LIBS="-lssl -lcrypto" ++ found=true ++ AC_MSG_RESULT([yes]) ++ break ++ else ++ AC_MSG_RESULT([no]) ++ fi ++ done ++ ++ # if the file wasn't found, well, go ahead and try the link anyway -- maybe ++ # it will just work! ++ fi ++ ++ # try the preprocessor and linker with our new flags, ++ # being careful not to pollute the global LIBS, LDFLAGS, and CPPFLAGS ++ ++ AC_MSG_CHECKING([whether compiling and linking against OpenSSL works]) ++ echo "Trying link with OPENSSL_LDFLAGS=$OPENSSL_LDFLAGS;" \ ++ "OPENSSL_LIBS=$OPENSSL_LIBS; OPENSSL_INCLUDES=$OPENSSL_INCLUDES" >&AS_MESSAGE_LOG_FD ++ ++ save_LIBS="$LIBS" ++ save_LDFLAGS="$LDFLAGS" ++ save_CPPFLAGS="$CPPFLAGS" ++ LDFLAGS="$LDFLAGS $OPENSSL_LDFLAGS" ++ LIBS="$OPENSSL_LIBS $LIBS" ++ CPPFLAGS="$OPENSSL_INCLUDES $CPPFLAGS" ++ AC_LINK_IFELSE( ++ [AC_LANG_PROGRAM([#include ], [SSL_new(NULL)])], ++ [ ++ AC_MSG_RESULT([yes]) ++ $1 ++ ], [ ++ AC_MSG_RESULT([no]) ++ $2 ++ ]) ++ CPPFLAGS="$save_CPPFLAGS" ++ LDFLAGS="$save_LDFLAGS" ++ LIBS="$save_LIBS" ++ ++ AC_SUBST([OPENSSL_INCLUDES]) ++ AC_SUBST([OPENSSL_LIBS]) ++ AC_SUBST([OPENSSL_LDFLAGS]) ++]) +diff --git a/autotools/ax_check_zlib.m4 b/autotools/ax_check_zlib.m4 +new file mode 100644 +index 00000000..ae5705f6 +--- /dev/null ++++ b/autotools/ax_check_zlib.m4 +@@ -0,0 +1,142 @@ ++# =========================================================================== ++# http://www.gnu.org/software/autoconf-archive/ax_check_zlib.html ++# =========================================================================== ++# ++# SYNOPSIS ++# ++# AX_CHECK_ZLIB([action-if-found], [action-if-not-found]) ++# ++# DESCRIPTION ++# ++# This macro searches for an installed zlib library. If nothing was ++# specified when calling configure, it searches first in /usr/local and ++# then in /usr, /opt/local and /sw. If the --with-zlib=DIR is specified, ++# it will try to find it in DIR/include/zlib.h and DIR/lib/libz.a. If ++# --without-zlib is specified, the library is not searched at all. ++# ++# If either the header file (zlib.h) or the library (libz) is not found, ++# shell commands 'action-if-not-found' is run. If 'action-if-not-found' is ++# not specified, the configuration exits on error, asking for a valid zlib ++# installation directory or --without-zlib. ++# ++# If both header file and library are found, shell commands ++# 'action-if-found' is run. If 'action-if-found' is not specified, the ++# default action appends '-I${ZLIB_HOME}/include' to CPFLAGS, appends ++# '-L$ZLIB_HOME}/lib' to LDFLAGS, prepends '-lz' to LIBS, and calls ++# AC_DEFINE(HAVE_LIBZ). You should use autoheader to include a definition ++# for this symbol in a config.h file. Sample usage in a C/C++ source is as ++# follows: ++# ++# #ifdef HAVE_LIBZ ++# #include ++# #endif /* HAVE_LIBZ */ ++# ++# LICENSE ++# ++# Copyright (c) 2008 Loic Dachary ++# Copyright (c) 2010 Bastien Chevreux ++# ++# 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, see . ++# ++# As a special exception, the respective Autoconf Macro's copyright owner ++# gives unlimited permission to copy, distribute and modify the configure ++# scripts that are the output of Autoconf when processing the Macro. You ++# need not follow the terms of the GNU General Public License when using ++# or distributing such scripts, even though portions of the text of the ++# Macro appear in them. The GNU General Public License (GPL) does govern ++# all other use of the material that constitutes the Autoconf Macro. ++# ++# This special exception to the GPL applies to versions of the Autoconf ++# Macro released by the Autoconf Archive. When you make and distribute a ++# modified version of the Autoconf Macro, you may extend this special ++# exception to the GPL to apply to your modified version as well. ++ ++#serial 14 ++ ++AU_ALIAS([CHECK_ZLIB], [AX_CHECK_ZLIB]) ++AC_DEFUN([AX_CHECK_ZLIB], ++# ++# Handle user hints ++# ++[AC_MSG_CHECKING(if zlib is wanted) ++zlib_places="/usr/local /usr /opt/local /sw" ++AC_ARG_WITH([zlib], ++[ --with-zlib=DIR root directory path of zlib installation @<:@defaults to ++ /usr/local or /usr if not found in /usr/local@:>@ ++ --without-zlib to disable zlib usage completely], ++[if test "$withval" != no ; then ++ AC_MSG_RESULT(yes) ++ if test -d "$withval" ++ then ++ zlib_places="$withval $zlib_places" ++ else ++ AC_MSG_WARN([Sorry, $withval does not exist, checking usual places]) ++ fi ++else ++ zlib_places= ++ AC_MSG_RESULT(no) ++fi], ++[AC_MSG_RESULT(yes)]) ++ ++# ++# Locate zlib, if wanted ++# ++if test -n "${zlib_places}" ++then ++ # check the user supplied or any other more or less 'standard' place: ++ # Most UNIX systems : /usr/local and /usr ++ # MacPorts / Fink on OSX : /opt/local respectively /sw ++ for ZLIB_HOME in ${zlib_places} ; do ++ if test -f "${ZLIB_HOME}/include/zlib.h"; then break; fi ++ ZLIB_HOME="" ++ done ++ ++ ZLIB_OLD_LDFLAGS=$LDFLAGS ++ ZLIB_OLD_CPPFLAGS=$CPPFLAGS ++ if test -n "${ZLIB_HOME}"; then ++ LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" ++ CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" ++ fi ++ AC_LANG_SAVE ++ AC_LANG_C ++ AC_CHECK_LIB([z], [inflateEnd], [zlib_cv_libz=yes], [zlib_cv_libz=no]) ++ AC_CHECK_HEADER([zlib.h], [zlib_cv_zlib_h=yes], [zlib_cv_zlib_h=no]) ++ AC_LANG_RESTORE ++ if test "$zlib_cv_libz" = "yes" && test "$zlib_cv_zlib_h" = "yes" ++ then ++ # ++ # If both library and header were found, action-if-found ++ # ++ m4_ifblank([$1],[ ++ CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" ++ LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" ++ LIBS="-lz $LIBS" ++ AC_DEFINE([HAVE_LIBZ], [1], ++ [Define to 1 if you have `z' library (-lz)]) ++ ],[ ++ # Restore variables ++ LDFLAGS="$ZLIB_OLD_LDFLAGS" ++ CPPFLAGS="$ZLIB_OLD_CPPFLAGS" ++ $1 ++ ]) ++ else ++ # ++ # If either header or library was not found, action-if-not-found ++ # ++ m4_default([$2],[ ++ AC_MSG_ERROR([either specify a valid zlib installation with --with-zlib=DIR or disable zlib usage with --without-zlib]) ++ ]) ++ fi ++fi ++]) +diff --git a/autotools/ax_lib_readline.m4 b/autotools/ax_lib_readline.m4 +new file mode 100644 +index 00000000..056f25c2 +--- /dev/null ++++ b/autotools/ax_lib_readline.m4 +@@ -0,0 +1,107 @@ ++# =========================================================================== ++# http://www.gnu.org/software/autoconf-archive/ax_lib_readline.html ++# =========================================================================== ++# ++# SYNOPSIS ++# ++# AX_LIB_READLINE ++# ++# DESCRIPTION ++# ++# Searches for a readline compatible library. If found, defines ++# `HAVE_LIBREADLINE'. If the found library has the `add_history' function, ++# sets also `HAVE_READLINE_HISTORY'. Also checks for the locations of the ++# necessary include files and sets `HAVE_READLINE_H' or ++# `HAVE_READLINE_READLINE_H' and `HAVE_READLINE_HISTORY_H' or ++# 'HAVE_HISTORY_H' if the corresponding include files exists. ++# ++# The libraries that may be readline compatible are `libedit', ++# `libeditline' and `libreadline'. Sometimes we need to link a termcap ++# library for readline to work, this macro tests these cases too by trying ++# to link with `libtermcap', `libcurses' or `libncurses' before giving up. ++# ++# Here is an example of how to use the information provided by this macro ++# to perform the necessary includes or declarations in a C file: ++# ++# #ifdef HAVE_LIBREADLINE ++# # if defined(HAVE_READLINE_READLINE_H) ++# # include ++# # elif defined(HAVE_READLINE_H) ++# # include ++# # else /* !defined(HAVE_READLINE_H) */ ++# extern char *readline (); ++# # endif /* !defined(HAVE_READLINE_H) */ ++# char *cmdline = NULL; ++# #else /* !defined(HAVE_READLINE_READLINE_H) */ ++# /* no readline */ ++# #endif /* HAVE_LIBREADLINE */ ++# ++# #ifdef HAVE_READLINE_HISTORY ++# # if defined(HAVE_READLINE_HISTORY_H) ++# # include ++# # elif defined(HAVE_HISTORY_H) ++# # include ++# # else /* !defined(HAVE_HISTORY_H) */ ++# extern void add_history (); ++# extern int write_history (); ++# extern int read_history (); ++# # endif /* defined(HAVE_READLINE_HISTORY_H) */ ++# /* no history */ ++# #endif /* HAVE_READLINE_HISTORY */ ++# ++# LICENSE ++# ++# Copyright (c) 2008 Ville Laurikari ++# ++# Copying and distribution of this file, with or without modification, are ++# permitted in any medium without royalty provided the copyright notice ++# and this notice are preserved. This file is offered as-is, without any ++# warranty. ++ ++#serial 6 ++ ++AU_ALIAS([VL_LIB_READLINE], [AX_LIB_READLINE]) ++AC_DEFUN([AX_LIB_READLINE], [ ++ AC_CACHE_CHECK([for a readline compatible library], ++ ax_cv_lib_readline, [ ++ ORIG_LIBS="$LIBS" ++ for readline_lib in readline edit editline; do ++ for termcap_lib in "" termcap curses ncurses; do ++ if test -z "$termcap_lib"; then ++ TRY_LIB="-l$readline_lib" ++ else ++ TRY_LIB="-l$readline_lib -l$termcap_lib" ++ fi ++ LIBS="$ORIG_LIBS $TRY_LIB" ++ AC_TRY_LINK_FUNC(readline, ax_cv_lib_readline="$TRY_LIB") ++ if test -n "$ax_cv_lib_readline"; then ++ break ++ fi ++ done ++ if test -n "$ax_cv_lib_readline"; then ++ break ++ fi ++ done ++ if test -z "$ax_cv_lib_readline"; then ++ ax_cv_lib_readline="no" ++ fi ++ LIBS="$ORIG_LIBS" ++ ]) ++ ++ if test "$ax_cv_lib_readline" != "no"; then ++ LIBS="$LIBS $ax_cv_lib_readline" ++ AC_DEFINE(HAVE_LIBREADLINE, 1, ++ [Define if you have a readline compatible library]) ++ AC_CHECK_HEADERS(readline.h readline/readline.h) ++ AC_CACHE_CHECK([whether readline supports history], ++ ax_cv_lib_readline_history, [ ++ ax_cv_lib_readline_history="no" ++ AC_TRY_LINK_FUNC(add_history, ax_cv_lib_readline_history="yes") ++ ]) ++ if test "$ax_cv_lib_readline_history" = "yes"; then ++ AC_DEFINE(HAVE_READLINE_HISTORY, 1, ++ [Define if your readline library has \`add_history']) ++ AC_CHECK_HEADERS(history.h readline/history.h) ++ fi ++ fi ++])dnl +diff --git a/autotools/ax_pthread.m4 b/autotools/ax_pthread.m4 +new file mode 100644 +index 00000000..d383ad5c +--- /dev/null ++++ b/autotools/ax_pthread.m4 +@@ -0,0 +1,332 @@ ++# =========================================================================== ++# http://www.gnu.org/software/autoconf-archive/ax_pthread.html ++# =========================================================================== ++# ++# SYNOPSIS ++# ++# AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) ++# ++# DESCRIPTION ++# ++# This macro figures out how to build C programs using POSIX threads. It ++# sets the PTHREAD_LIBS output variable to the threads library and linker ++# flags, and the PTHREAD_CFLAGS output variable to any special C compiler ++# flags that are needed. (The user can also force certain compiler ++# flags/libs to be tested by setting these environment variables.) ++# ++# Also sets PTHREAD_CC to any special C compiler that is needed for ++# multi-threaded programs (defaults to the value of CC otherwise). (This ++# is necessary on AIX to use the special cc_r compiler alias.) ++# ++# NOTE: You are assumed to not only compile your program with these flags, ++# but also link it with them as well. e.g. you should link with ++# $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS ++# ++# If you are only building threads programs, you may wish to use these ++# variables in your default LIBS, CFLAGS, and CC: ++# ++# LIBS="$PTHREAD_LIBS $LIBS" ++# CFLAGS="$CFLAGS $PTHREAD_CFLAGS" ++# CC="$PTHREAD_CC" ++# ++# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant ++# has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to that name ++# (e.g. PTHREAD_CREATE_UNDETACHED on AIX). ++# ++# Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the ++# PTHREAD_PRIO_INHERIT symbol is defined when compiling with ++# PTHREAD_CFLAGS. ++# ++# ACTION-IF-FOUND is a list of shell commands to run if a threads library ++# is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it ++# is not found. If ACTION-IF-FOUND is not specified, the default action ++# will define HAVE_PTHREAD. ++# ++# Please let the authors know if this macro fails on any platform, or if ++# you have any other suggestions or comments. This macro was based on work ++# by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help ++# from M. Frigo), as well as ac_pthread and hb_pthread macros posted by ++# Alejandro Forero Cuervo to the autoconf macro repository. We are also ++# grateful for the helpful feedback of numerous users. ++# ++# Updated for Autoconf 2.68 by Daniel Richard G. ++# ++# LICENSE ++# ++# Copyright (c) 2008 Steven G. Johnson ++# Copyright (c) 2011 Daniel Richard G. ++# ++# 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 3 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, see . ++# ++# As a special exception, the respective Autoconf Macro's copyright owner ++# gives unlimited permission to copy, distribute and modify the configure ++# scripts that are the output of Autoconf when processing the Macro. You ++# need not follow the terms of the GNU General Public License when using ++# or distributing such scripts, even though portions of the text of the ++# Macro appear in them. The GNU General Public License (GPL) does govern ++# all other use of the material that constitutes the Autoconf Macro. ++# ++# This special exception to the GPL applies to versions of the Autoconf ++# Macro released by the Autoconf Archive. When you make and distribute a ++# modified version of the Autoconf Macro, you may extend this special ++# exception to the GPL to apply to your modified version as well. ++ ++#serial 21 ++ ++AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD]) ++AC_DEFUN([AX_PTHREAD], [ ++AC_REQUIRE([AC_CANONICAL_HOST]) ++AC_LANG_PUSH([C]) ++ax_pthread_ok=no ++ ++# We used to check for pthread.h first, but this fails if pthread.h ++# requires special compiler flags (e.g. on True64 or Sequent). ++# It gets checked for in the link test anyway. ++ ++# First of all, check if the user has set any of the PTHREAD_LIBS, ++# etcetera environment variables, and if threads linking works using ++# them: ++if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then ++ save_CFLAGS="$CFLAGS" ++ CFLAGS="$CFLAGS $PTHREAD_CFLAGS" ++ save_LIBS="$LIBS" ++ LIBS="$PTHREAD_LIBS $LIBS" ++ AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) ++ AC_TRY_LINK_FUNC([pthread_join], [ax_pthread_ok=yes]) ++ AC_MSG_RESULT([$ax_pthread_ok]) ++ if test x"$ax_pthread_ok" = xno; then ++ PTHREAD_LIBS="" ++ PTHREAD_CFLAGS="" ++ fi ++ LIBS="$save_LIBS" ++ CFLAGS="$save_CFLAGS" ++fi ++ ++# We must check for the threads library under a number of different ++# names; the ordering is very important because some systems ++# (e.g. DEC) have both -lpthread and -lpthreads, where one of the ++# libraries is broken (non-POSIX). ++ ++# Create a list of thread flags to try. Items starting with a "-" are ++# C compiler flags, and other items are library names, except for "none" ++# which indicates that we try without any flags at all, and "pthread-config" ++# which is a program returning the flags for the Pth emulation library. ++ ++ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" ++ ++# The ordering *is* (sometimes) important. Some notes on the ++# individual items follow: ++ ++# pthreads: AIX (must check this before -lpthread) ++# none: in case threads are in libc; should be tried before -Kthread and ++# other compiler flags to prevent continual compiler warnings ++# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) ++# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) ++# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) ++# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) ++# -pthreads: Solaris/gcc ++# -mthreads: Mingw32/gcc, Lynx/gcc ++# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it ++# doesn't hurt to check since this sometimes defines pthreads too; ++# also defines -D_REENTRANT) ++# ... -mt is also the pthreads flag for HP/aCC ++# pthread: Linux, etcetera ++# --thread-safe: KAI C++ ++# pthread-config: use pthread-config program (for GNU Pth library) ++ ++case ${host_os} in ++ solaris*) ++ ++ # On Solaris (at least, for some versions), libc contains stubbed ++ # (non-functional) versions of the pthreads routines, so link-based ++ # tests will erroneously succeed. (We need to link with -pthreads/-mt/ ++ # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather ++ # a function called by this macro, so we could check for that, but ++ # who knows whether they'll stub that too in a future libc.) So, ++ # we'll just look for -pthreads and -lpthread first: ++ ++ ax_pthread_flags="-pthreads pthread -mt -pthread $ax_pthread_flags" ++ ;; ++ ++ darwin*) ++ ax_pthread_flags="-pthread $ax_pthread_flags" ++ ;; ++esac ++ ++# Clang doesn't consider unrecognized options an error unless we specify ++# -Werror. We throw in some extra Clang-specific options to ensure that ++# this doesn't happen for GCC, which also accepts -Werror. ++ ++AC_MSG_CHECKING([if compiler needs -Werror to reject unknown flags]) ++save_CFLAGS="$CFLAGS" ++ax_pthread_extra_flags="-Werror" ++CFLAGS="$CFLAGS $ax_pthread_extra_flags -Wunknown-warning-option -Wsizeof-array-argument" ++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([int foo(void);],[foo()])], ++ [AC_MSG_RESULT([yes])], ++ [ax_pthread_extra_flags= ++ AC_MSG_RESULT([no])]) ++CFLAGS="$save_CFLAGS" ++ ++if test x"$ax_pthread_ok" = xno; then ++for flag in $ax_pthread_flags; do ++ ++ case $flag in ++ none) ++ AC_MSG_CHECKING([whether pthreads work without any flags]) ++ ;; ++ ++ -*) ++ AC_MSG_CHECKING([whether pthreads work with $flag]) ++ PTHREAD_CFLAGS="$flag" ++ ;; ++ ++ pthread-config) ++ AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no]) ++ if test x"$ax_pthread_config" = xno; then continue; fi ++ PTHREAD_CFLAGS="`pthread-config --cflags`" ++ PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" ++ ;; ++ ++ *) ++ AC_MSG_CHECKING([for the pthreads library -l$flag]) ++ PTHREAD_LIBS="-l$flag" ++ ;; ++ esac ++ ++ save_LIBS="$LIBS" ++ save_CFLAGS="$CFLAGS" ++ LIBS="$PTHREAD_LIBS $LIBS" ++ CFLAGS="$CFLAGS $PTHREAD_CFLAGS $ax_pthread_extra_flags" ++ ++ # Check for various functions. We must include pthread.h, ++ # since some functions may be macros. (On the Sequent, we ++ # need a special flag -Kthread to make this header compile.) ++ # We check for pthread_join because it is in -lpthread on IRIX ++ # while pthread_create is in libc. We check for pthread_attr_init ++ # due to DEC craziness with -lpthreads. We check for ++ # pthread_cleanup_push because it is one of the few pthread ++ # functions on Solaris that doesn't have a non-functional libc stub. ++ # We try pthread_create on general principles. ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ++ static void routine(void *a) { a = 0; } ++ static void *start_routine(void *a) { return a; }], ++ [pthread_t th; pthread_attr_t attr; ++ pthread_create(&th, 0, start_routine, 0); ++ pthread_join(th, 0); ++ pthread_attr_init(&attr); ++ pthread_cleanup_push(routine, 0); ++ pthread_cleanup_pop(0) /* ; */])], ++ [ax_pthread_ok=yes], ++ []) ++ ++ LIBS="$save_LIBS" ++ CFLAGS="$save_CFLAGS" ++ ++ AC_MSG_RESULT([$ax_pthread_ok]) ++ if test "x$ax_pthread_ok" = xyes; then ++ break; ++ fi ++ ++ PTHREAD_LIBS="" ++ PTHREAD_CFLAGS="" ++done ++fi ++ ++# Various other checks: ++if test "x$ax_pthread_ok" = xyes; then ++ save_LIBS="$LIBS" ++ LIBS="$PTHREAD_LIBS $LIBS" ++ save_CFLAGS="$CFLAGS" ++ CFLAGS="$CFLAGS $PTHREAD_CFLAGS" ++ ++ # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. ++ AC_MSG_CHECKING([for joinable pthread attribute]) ++ attr_name=unknown ++ for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], ++ [int attr = $attr; return attr /* ; */])], ++ [attr_name=$attr; break], ++ []) ++ done ++ AC_MSG_RESULT([$attr_name]) ++ if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then ++ AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE], [$attr_name], ++ [Define to necessary symbol if this constant ++ uses a non-standard name on your system.]) ++ fi ++ ++ AC_MSG_CHECKING([if more special flags are required for pthreads]) ++ flag=no ++ case ${host_os} in ++ aix* | freebsd* | darwin*) flag="-D_THREAD_SAFE";; ++ osf* | hpux*) flag="-D_REENTRANT";; ++ solaris*) ++ if test "$GCC" = "yes"; then ++ flag="-D_REENTRANT" ++ else ++ # TODO: What about Clang on Solaris? ++ flag="-mt -D_REENTRANT" ++ fi ++ ;; ++ esac ++ AC_MSG_RESULT([$flag]) ++ if test "x$flag" != xno; then ++ PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" ++ fi ++ ++ AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT], ++ [ax_cv_PTHREAD_PRIO_INHERIT], [ ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], ++ [[int i = PTHREAD_PRIO_INHERIT;]])], ++ [ax_cv_PTHREAD_PRIO_INHERIT=yes], ++ [ax_cv_PTHREAD_PRIO_INHERIT=no]) ++ ]) ++ AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes"], ++ [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.])]) ++ ++ LIBS="$save_LIBS" ++ CFLAGS="$save_CFLAGS" ++ ++ # More AIX lossage: compile with *_r variant ++ if test "x$GCC" != xyes; then ++ case $host_os in ++ aix*) ++ AS_CASE(["x/$CC"], ++ [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6], ++ [#handle absolute path differently from PATH based program lookup ++ AS_CASE(["x$CC"], ++ [x/*], ++ [AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])], ++ [AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])]) ++ ;; ++ esac ++ fi ++fi ++ ++test -n "$PTHREAD_CC" || PTHREAD_CC="$CC" ++ ++AC_SUBST([PTHREAD_LIBS]) ++AC_SUBST([PTHREAD_CFLAGS]) ++AC_SUBST([PTHREAD_CC]) ++ ++# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: ++if test x"$ax_pthread_ok" = xyes; then ++ ifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1]) ++ : ++else ++ ax_pthread_ok=no ++ $2 ++fi ++AC_LANG_POP ++])dnl AX_PTHREAD +diff --git a/autotools/ax_with_curses.m4 b/autotools/ax_with_curses.m4 +new file mode 100644 +index 00000000..e4cbd31b +--- /dev/null ++++ b/autotools/ax_with_curses.m4 +@@ -0,0 +1,518 @@ ++# =========================================================================== ++# http://www.gnu.org/software/autoconf-archive/ax_with_curses.html ++# =========================================================================== ++# ++# SYNOPSIS ++# ++# AX_WITH_CURSES ++# ++# DESCRIPTION ++# ++# This macro checks whether a SysV or X/Open-compatible Curses library is ++# present, along with the associated header file. The NcursesW ++# (wide-character) library is searched for first, followed by Ncurses, ++# then the system-default plain Curses. The first library found is the ++# one returned. ++# ++# The following options are understood: --with-ncursesw, --with-ncurses, ++# --without-ncursesw, --without-ncurses. The "--with" options force the ++# macro to use that particular library, terminating with an error if not ++# found. The "--without" options simply skip the check for that library. ++# The effect on the search pattern is: ++# ++# (no options) - NcursesW, Ncurses, Curses ++# --with-ncurses --with-ncursesw - NcursesW only [*] ++# --without-ncurses --with-ncursesw - NcursesW only [*] ++# --with-ncursesw - NcursesW only [*] ++# --with-ncurses --without-ncursesw - Ncurses only [*] ++# --with-ncurses - NcursesW, Ncurses [**] ++# --without-ncurses --without-ncursesw - Curses only ++# --without-ncursesw - Ncurses, Curses ++# --without-ncurses - NcursesW, Curses ++# ++# [*] If the library is not found, abort the configure script. ++# ++# [**] If the second library (Ncurses) is not found, abort configure. ++# ++# The following preprocessor symbols may be defined by this macro if the ++# appropriate conditions are met: ++# ++# HAVE_CURSES - if any SysV or X/Open Curses library found ++# HAVE_CURSES_ENHANCED - if library supports X/Open Enhanced functions ++# HAVE_CURSES_COLOR - if library supports color (enhanced functions) ++# HAVE_CURSES_OBSOLETE - if library supports certain obsolete features ++# HAVE_NCURSESW - if NcursesW (wide char) library is to be used ++# HAVE_NCURSES - if the Ncurses library is to be used ++# ++# HAVE_CURSES_H - if is present and should be used ++# HAVE_NCURSESW_H - if should be used ++# HAVE_NCURSES_H - if should be used ++# HAVE_NCURSESW_CURSES_H - if should be used ++# HAVE_NCURSES_CURSES_H - if should be used ++# ++# (These preprocessor symbols are discussed later in this document.) ++# ++# The following output variable is defined by this macro; it is precious ++# and may be overridden on the ./configure command line: ++# ++# CURSES_LIB - library to add to xxx_LDADD ++# ++# The library listed in CURSES_LIB is NOT added to LIBS by default. You ++# need to add CURSES_LIB to the appropriate xxx_LDADD line in your ++# Makefile.am. For example: ++# ++# prog_LDADD = @CURSES_LIB@ ++# ++# If CURSES_LIB is set on the configure command line (such as by running ++# "./configure CURSES_LIB=-lmycurses"), then the only header searched for ++# is . The user may use the CPPFLAGS precious variable to ++# override the standard #include search path. If the user needs to ++# specify an alternative path for a library (such as for a non-standard ++# NcurseW), the user should use the LDFLAGS variable. ++# ++# The following shell variables may be defined by this macro: ++# ++# ax_cv_curses - set to "yes" if any Curses library found ++# ax_cv_curses_enhanced - set to "yes" if Enhanced functions present ++# ax_cv_curses_color - set to "yes" if color functions present ++# ax_cv_curses_obsolete - set to "yes" if obsolete features present ++# ++# ax_cv_ncursesw - set to "yes" if NcursesW library found ++# ax_cv_ncurses - set to "yes" if Ncurses library found ++# ax_cv_plaincurses - set to "yes" if plain Curses library found ++# ax_cv_curses_which - set to "ncursesw", "ncurses", "plaincurses" or "no" ++# ++# These variables can be used in your configure.ac to determine the level ++# of support you need from the Curses library. For example, if you must ++# have either Ncurses or NcursesW, you could include: ++# ++# AX_WITH_CURSES ++# if test "x$ax_cv_ncursesw" != xyes && test "x$ax_cv_ncurses" != xyes; then ++# AC_MSG_ERROR([requires either NcursesW or Ncurses library]) ++# fi ++# ++# If any Curses library will do (but one must be present and must support ++# color), you could use: ++# ++# AX_WITH_CURSES ++# if test "x$ax_cv_curses" != xyes || test "x$ax_cv_curses_color" != xyes; then ++# AC_MSG_ERROR([requires an X/Open-compatible Curses library with color]) ++# fi ++# ++# Certain preprocessor symbols and shell variables defined by this macro ++# can be used to determine various features of the Curses library. In ++# particular, HAVE_CURSES and ax_cv_curses are defined if the Curses ++# library found conforms to the traditional SysV and/or X/Open Base Curses ++# definition. Any working Curses library conforms to this level. ++# ++# HAVE_CURSES_ENHANCED and ax_cv_curses_enhanced are defined if the ++# library supports the X/Open Enhanced Curses definition. In particular, ++# the wide-character types attr_t, cchar_t and wint_t, the functions ++# wattr_set() and wget_wch() and the macros WA_NORMAL and _XOPEN_CURSES ++# are checked. The Ncurses library does NOT conform to this definition, ++# although NcursesW does. ++# ++# HAVE_CURSES_COLOR and ax_cv_curses_color are defined if the library ++# supports color functions and macros such as COLOR_PAIR, A_COLOR, ++# COLOR_WHITE, COLOR_RED and init_pair(). These are NOT part of the ++# X/Open Base Curses definition, but are part of the Enhanced set of ++# functions. The Ncurses library DOES support these functions, as does ++# NcursesW. ++# ++# HAVE_CURSES_OBSOLETE and ax_cv_curses_obsolete are defined if the ++# library supports certain features present in SysV and BSD Curses but not ++# defined in the X/Open definition. In particular, the functions ++# getattrs(), getcurx() and getmaxx() are checked. ++# ++# To use the HAVE_xxx_H preprocessor symbols, insert the following into ++# your system.h (or equivalent) header file: ++# ++# #if defined HAVE_NCURSESW_CURSES_H ++# # include ++# #elif defined HAVE_NCURSESW_H ++# # include ++# #elif defined HAVE_NCURSES_CURSES_H ++# # include ++# #elif defined HAVE_NCURSES_H ++# # include ++# #elif defined HAVE_CURSES_H ++# # include ++# #else ++# # error "SysV or X/Open-compatible Curses header file required" ++# #endif ++# ++# For previous users of this macro: you should not need to change anything ++# in your configure.ac or Makefile.am, as the previous (serial 10) ++# semantics are still valid. However, you should update your system.h (or ++# equivalent) header file to the fragment shown above. You are encouraged ++# also to make use of the extended functionality provided by this version ++# of AX_WITH_CURSES, as well as in the additional macros ++# AX_WITH_CURSES_PANEL, AX_WITH_CURSES_MENU and AX_WITH_CURSES_FORM. ++# ++# LICENSE ++# ++# Copyright (c) 2009 Mark Pulford ++# Copyright (c) 2009 Damian Pietras ++# Copyright (c) 2012 Reuben Thomas ++# Copyright (c) 2011 John Zaitseff ++# ++# 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 3 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, see . ++# ++# As a special exception, the respective Autoconf Macro's copyright owner ++# gives unlimited permission to copy, distribute and modify the configure ++# scripts that are the output of Autoconf when processing the Macro. You ++# need not follow the terms of the GNU General Public License when using ++# or distributing such scripts, even though portions of the text of the ++# Macro appear in them. The GNU General Public License (GPL) does govern ++# all other use of the material that constitutes the Autoconf Macro. ++# ++# This special exception to the GPL applies to versions of the Autoconf ++# Macro released by the Autoconf Archive. When you make and distribute a ++# modified version of the Autoconf Macro, you may extend this special ++# exception to the GPL to apply to your modified version as well. ++ ++#serial 15 ++ ++AU_ALIAS([MP_WITH_CURSES], [AX_WITH_CURSES]) ++AC_DEFUN([AX_WITH_CURSES], [ ++ AC_ARG_VAR([CURSES_LIB], [linker library for Curses, e.g. -lcurses]) ++ AC_ARG_WITH([ncurses], [AS_HELP_STRING([--with-ncurses], ++ [force the use of Ncurses or NcursesW])], ++ [], [with_ncurses=check]) ++ AC_ARG_WITH([ncursesw], [AS_HELP_STRING([--without-ncursesw], ++ [do not use NcursesW (wide character support)])], ++ [], [with_ncursesw=check]) ++ ++ ax_saved_LIBS=$LIBS ++ AS_IF([test "x$with_ncurses" = xyes || test "x$with_ncursesw" = xyes], ++ [ax_with_plaincurses=no], [ax_with_plaincurses=check]) ++ ++ ax_cv_curses_which=no ++ ++ # Test for NcursesW ++ ++ AS_IF([test "x$CURSES_LIB" = x && test "x$with_ncursesw" != xno], [ ++ LIBS="$ax_saved_LIBS -lncursesw" ++ ++ AC_CACHE_CHECK([for NcursesW wide-character library], [ax_cv_ncursesw], [ ++ AC_LINK_IFELSE([AC_LANG_CALL([], [initscr])], ++ [ax_cv_ncursesw=yes], [ax_cv_ncursesw=no]) ++ ]) ++ AS_IF([test "x$ax_cv_ncursesw" = xno && test "x$with_ncursesw" = xyes], [ ++ AC_MSG_ERROR([--with-ncursesw specified but could not find NcursesW library]) ++ ]) ++ ++ AS_IF([test "x$ax_cv_ncursesw" = xyes], [ ++ ax_cv_curses=yes ++ ax_cv_curses_which=ncursesw ++ CURSES_LIB="-lncursesw" ++ AC_DEFINE([HAVE_NCURSESW], [1], [Define to 1 if the NcursesW library is present]) ++ AC_DEFINE([HAVE_CURSES], [1], [Define to 1 if a SysV or X/Open compatible Curses library is present]) ++ ++ AC_CACHE_CHECK([for working ncursesw/curses.h], [ax_cv_header_ncursesw_curses_h], [ ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[ ++ @%:@define _XOPEN_SOURCE_EXTENDED 1 ++ @%:@include ++ ]], [[ ++ chtype a = A_BOLD; ++ int b = KEY_LEFT; ++ chtype c = COLOR_PAIR(1) & A_COLOR; ++ attr_t d = WA_NORMAL; ++ cchar_t e; ++ wint_t f; ++ int g = getattrs(stdscr); ++ int h = getcurx(stdscr) + getmaxx(stdscr); ++ initscr(); ++ init_pair(1, COLOR_WHITE, COLOR_RED); ++ wattr_set(stdscr, d, 0, NULL); ++ wget_wch(stdscr, &f); ++ ]])], ++ [ax_cv_header_ncursesw_curses_h=yes], ++ [ax_cv_header_ncursesw_curses_h=no]) ++ ]) ++ AS_IF([test "x$ax_cv_header_ncursesw_curses_h" = xyes], [ ++ ax_cv_curses_enhanced=yes ++ ax_cv_curses_color=yes ++ ax_cv_curses_obsolete=yes ++ AC_DEFINE([HAVE_CURSES_ENHANCED], [1], [Define to 1 if library supports X/Open Enhanced functions]) ++ AC_DEFINE([HAVE_CURSES_COLOR], [1], [Define to 1 if library supports color (enhanced functions)]) ++ AC_DEFINE([HAVE_CURSES_OBSOLETE], [1], [Define to 1 if library supports certain obsolete features]) ++ AC_DEFINE([HAVE_NCURSESW_CURSES_H], [1], [Define to 1 if is present]) ++ ]) ++ ++ AC_CACHE_CHECK([for working ncursesw.h], [ax_cv_header_ncursesw_h], [ ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[ ++ @%:@define _XOPEN_SOURCE_EXTENDED 1 ++ @%:@include ++ ]], [[ ++ chtype a = A_BOLD; ++ int b = KEY_LEFT; ++ chtype c = COLOR_PAIR(1) & A_COLOR; ++ attr_t d = WA_NORMAL; ++ cchar_t e; ++ wint_t f; ++ int g = getattrs(stdscr); ++ int h = getcurx(stdscr) + getmaxx(stdscr); ++ initscr(); ++ init_pair(1, COLOR_WHITE, COLOR_RED); ++ wattr_set(stdscr, d, 0, NULL); ++ wget_wch(stdscr, &f); ++ ]])], ++ [ax_cv_header_ncursesw_h=yes], ++ [ax_cv_header_ncursesw_h=no]) ++ ]) ++ AS_IF([test "x$ax_cv_header_ncursesw_h" = xyes], [ ++ ax_cv_curses_enhanced=yes ++ ax_cv_curses_color=yes ++ ax_cv_curses_obsolete=yes ++ AC_DEFINE([HAVE_CURSES_ENHANCED], [1], [Define to 1 if library supports X/Open Enhanced functions]) ++ AC_DEFINE([HAVE_CURSES_COLOR], [1], [Define to 1 if library supports color (enhanced functions)]) ++ AC_DEFINE([HAVE_CURSES_OBSOLETE], [1], [Define to 1 if library supports certain obsolete features]) ++ AC_DEFINE([HAVE_NCURSESW_H], [1], [Define to 1 if is present]) ++ ]) ++ ++ AC_CACHE_CHECK([for working ncurses.h], [ax_cv_header_ncurses_h_with_ncursesw], [ ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[ ++ @%:@define _XOPEN_SOURCE_EXTENDED 1 ++ @%:@include ++ ]], [[ ++ chtype a = A_BOLD; ++ int b = KEY_LEFT; ++ chtype c = COLOR_PAIR(1) & A_COLOR; ++ attr_t d = WA_NORMAL; ++ cchar_t e; ++ wint_t f; ++ int g = getattrs(stdscr); ++ int h = getcurx(stdscr) + getmaxx(stdscr); ++ initscr(); ++ init_pair(1, COLOR_WHITE, COLOR_RED); ++ wattr_set(stdscr, d, 0, NULL); ++ wget_wch(stdscr, &f); ++ ]])], ++ [ax_cv_header_ncurses_h_with_ncursesw=yes], ++ [ax_cv_header_ncurses_h_with_ncursesw=no]) ++ ]) ++ AS_IF([test "x$ax_cv_header_ncurses_h_with_ncursesw" = xyes], [ ++ ax_cv_curses_enhanced=yes ++ ax_cv_curses_color=yes ++ ax_cv_curses_obsolete=yes ++ AC_DEFINE([HAVE_CURSES_ENHANCED], [1], [Define to 1 if library supports X/Open Enhanced functions]) ++ AC_DEFINE([HAVE_CURSES_COLOR], [1], [Define to 1 if library supports color (enhanced functions)]) ++ AC_DEFINE([HAVE_CURSES_OBSOLETE], [1], [Define to 1 if library supports certain obsolete features]) ++ AC_DEFINE([HAVE_NCURSES_H], [1], [Define to 1 if is present]) ++ ]) ++ ++ AS_IF([test "x$ax_cv_header_ncursesw_curses_h" = xno && test "x$ax_cv_header_ncursesw_h" = xno && test "x$ax_cv_header_ncurses_h_with_ncursesw" = xno], [ ++ AC_MSG_WARN([could not find a working ncursesw/curses.h, ncursesw.h or ncurses.h]) ++ ]) ++ ]) ++ ]) ++ ++ # Test for Ncurses ++ ++ AS_IF([test "x$CURSES_LIB" = x && test "x$with_ncurses" != xno && test "x$ax_cv_curses_which" = xno], [ ++ LIBS="$ax_saved_LIBS -lncurses" ++ ++ AC_CACHE_CHECK([for Ncurses library], [ax_cv_ncurses], [ ++ AC_LINK_IFELSE([AC_LANG_CALL([], [initscr])], ++ [ax_cv_ncurses=yes], [ax_cv_ncurses=no]) ++ ]) ++ AS_IF([test "x$ax_cv_ncurses" = xno && test "x$with_ncurses" = xyes], [ ++ AC_MSG_ERROR([--with-ncurses specified but could not find Ncurses library]) ++ ]) ++ ++ AS_IF([test "x$ax_cv_ncurses" = xyes], [ ++ ax_cv_curses=yes ++ ax_cv_curses_which=ncurses ++ CURSES_LIB="-lncurses" ++ AC_DEFINE([HAVE_NCURSES], [1], [Define to 1 if the Ncurses library is present]) ++ AC_DEFINE([HAVE_CURSES], [1], [Define to 1 if a SysV or X/Open compatible Curses library is present]) ++ ++ AC_CACHE_CHECK([for working ncurses/curses.h], [ax_cv_header_ncurses_curses_h], [ ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[ ++ @%:@include ++ ]], [[ ++ chtype a = A_BOLD; ++ int b = KEY_LEFT; ++ chtype c = COLOR_PAIR(1) & A_COLOR; ++ int g = getattrs(stdscr); ++ int h = getcurx(stdscr) + getmaxx(stdscr); ++ initscr(); ++ init_pair(1, COLOR_WHITE, COLOR_RED); ++ ]])], ++ [ax_cv_header_ncurses_curses_h=yes], ++ [ax_cv_header_ncurses_curses_h=no]) ++ ]) ++ AS_IF([test "x$ax_cv_header_ncurses_curses_h" = xyes], [ ++ ax_cv_curses_color=yes ++ ax_cv_curses_obsolete=yes ++ AC_DEFINE([HAVE_CURSES_COLOR], [1], [Define to 1 if library supports color (enhanced functions)]) ++ AC_DEFINE([HAVE_CURSES_OBSOLETE], [1], [Define to 1 if library supports certain obsolete features]) ++ AC_DEFINE([HAVE_NCURSES_CURSES_H], [1], [Define to 1 if is present]) ++ ]) ++ ++ AC_CACHE_CHECK([for working ncurses.h], [ax_cv_header_ncurses_h], [ ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[ ++ @%:@include ++ ]], [[ ++ chtype a = A_BOLD; ++ int b = KEY_LEFT; ++ chtype c = COLOR_PAIR(1) & A_COLOR; ++ int g = getattrs(stdscr); ++ int h = getcurx(stdscr) + getmaxx(stdscr); ++ initscr(); ++ init_pair(1, COLOR_WHITE, COLOR_RED); ++ ]])], ++ [ax_cv_header_ncurses_h=yes], ++ [ax_cv_header_ncurses_h=no]) ++ ]) ++ AS_IF([test "x$ax_cv_header_ncurses_h" = xyes], [ ++ ax_cv_curses_color=yes ++ ax_cv_curses_obsolete=yes ++ AC_DEFINE([HAVE_CURSES_COLOR], [1], [Define to 1 if library supports color (enhanced functions)]) ++ AC_DEFINE([HAVE_CURSES_OBSOLETE], [1], [Define to 1 if library supports certain obsolete features]) ++ AC_DEFINE([HAVE_NCURSES_H], [1], [Define to 1 if is present]) ++ ]) ++ ++ AS_IF([test "x$ax_cv_header_ncurses_curses_h" = xno && test "x$ax_cv_header_ncurses_h" = xno], [ ++ AC_MSG_WARN([could not find a working ncurses/curses.h or ncurses.h]) ++ ]) ++ ]) ++ ]) ++ ++ # Test for plain Curses (or if CURSES_LIB was set by user) ++ ++ AS_IF([test "x$with_plaincurses" != xno && test "x$ax_cv_curses_which" = xno], [ ++ AS_IF([test "x$CURSES_LIB" != x], [ ++ LIBS="$ax_saved_LIBS $CURSES_LIB" ++ ], [ ++ LIBS="$ax_saved_LIBS -lcurses" ++ ]) ++ ++ AC_CACHE_CHECK([for Curses library], [ax_cv_plaincurses], [ ++ AC_LINK_IFELSE([AC_LANG_CALL([], [initscr])], ++ [ax_cv_plaincurses=yes], [ax_cv_plaincurses=no]) ++ ]) ++ ++ AS_IF([test "x$ax_cv_plaincurses" = xyes], [ ++ ax_cv_curses=yes ++ ax_cv_curses_which=plaincurses ++ AS_IF([test "x$CURSES_LIB" = x], [ ++ CURSES_LIB="-lcurses" ++ ]) ++ AC_DEFINE([HAVE_CURSES], [1], [Define to 1 if a SysV or X/Open compatible Curses library is present]) ++ ++ # Check for base conformance (and header file) ++ ++ AC_CACHE_CHECK([for working curses.h], [ax_cv_header_curses_h], [ ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[ ++ @%:@include ++ ]], [[ ++ chtype a = A_BOLD; ++ int b = KEY_LEFT; ++ initscr(); ++ ]])], ++ [ax_cv_header_curses_h=yes], ++ [ax_cv_header_curses_h=no]) ++ ]) ++ AS_IF([test "x$ax_cv_header_curses_h" = xyes], [ ++ AC_DEFINE([HAVE_CURSES_H], [1], [Define to 1 if is present]) ++ ++ # Check for X/Open Enhanced conformance ++ ++ AC_CACHE_CHECK([for X/Open Enhanced Curses conformance], [ax_cv_plaincurses_enhanced], [ ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[ ++ @%:@define _XOPEN_SOURCE_EXTENDED 1 ++ @%:@include ++ @%:@ifndef _XOPEN_CURSES ++ @%:@error "this Curses library is not enhanced" ++ "this Curses library is not enhanced" ++ @%:@endif ++ ]], [[ ++ chtype a = A_BOLD; ++ int b = KEY_LEFT; ++ chtype c = COLOR_PAIR(1) & A_COLOR; ++ attr_t d = WA_NORMAL; ++ cchar_t e; ++ wint_t f; ++ initscr(); ++ init_pair(1, COLOR_WHITE, COLOR_RED); ++ wattr_set(stdscr, d, 0, NULL); ++ wget_wch(stdscr, &f); ++ ]])], ++ [ax_cv_plaincurses_enhanced=yes], ++ [ax_cv_plaincurses_enhanced=no]) ++ ]) ++ AS_IF([test "x$ax_cv_plaincurses_enhanced" = xyes], [ ++ ax_cv_curses_enhanced=yes ++ ax_cv_curses_color=yes ++ AC_DEFINE([HAVE_CURSES_ENHANCED], [1], [Define to 1 if library supports X/Open Enhanced functions]) ++ AC_DEFINE([HAVE_CURSES_COLOR], [1], [Define to 1 if library supports color (enhanced functions)]) ++ ]) ++ ++ # Check for color functions ++ ++ AC_CACHE_CHECK([for Curses color functions], [ax_cv_plaincurses_color], [ ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[ ++ @%:@define _XOPEN_SOURCE_EXTENDED 1 ++ @%:@include ++ ]], [[ ++ chtype a = A_BOLD; ++ int b = KEY_LEFT; ++ chtype c = COLOR_PAIR(1) & A_COLOR; ++ initscr(); ++ init_pair(1, COLOR_WHITE, COLOR_RED); ++ ]])], ++ [ax_cv_plaincurses_color=yes], ++ [ax_cv_plaincurses_color=no]) ++ ]) ++ AS_IF([test "x$ax_cv_plaincurses_color" = xyes], [ ++ ax_cv_curses_color=yes ++ AC_DEFINE([HAVE_CURSES_COLOR], [1], [Define to 1 if library supports color (enhanced functions)]) ++ ]) ++ ++ # Check for obsolete functions ++ ++ AC_CACHE_CHECK([for obsolete Curses functions], [ax_cv_plaincurses_obsolete], [ ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[ ++ @%:@include ++ ]], [[ ++ chtype a = A_BOLD; ++ int b = KEY_LEFT; ++ int g = getattrs(stdscr); ++ int h = getcurx(stdscr) + getmaxx(stdscr); ++ initscr(); ++ ]])], ++ [ax_cv_plaincurses_obsolete=yes], ++ [ax_cv_plaincurses_obsolete=no]) ++ ]) ++ AS_IF([test "x$ax_cv_plaincurses_obsolete" = xyes], [ ++ ax_cv_curses_obsolete=yes ++ AC_DEFINE([HAVE_CURSES_OBSOLETE], [1], [Define to 1 if library supports certain obsolete features]) ++ ]) ++ ]) ++ ++ AS_IF([test "x$ax_cv_header_curses_h" = xno], [ ++ AC_MSG_WARN([could not find a working curses.h]) ++ ]) ++ ]) ++ ]) ++ ++ AS_IF([test "x$ax_cv_curses" != xyes], [ax_cv_curses=no]) ++ AS_IF([test "x$ax_cv_curses_enhanced" != xyes], [ax_cv_curses_enhanced=no]) ++ AS_IF([test "x$ax_cv_curses_color" != xyes], [ax_cv_curses_color=no]) ++ AS_IF([test "x$ax_cv_curses_obsolete" != xyes], [ax_cv_curses_obsolete=no]) ++ ++ LIBS=$ax_saved_LIBS ++])dnl +diff --git a/autotools/softether.am b/autotools/softether.am +new file mode 100644 +index 00000000..e5e91eeb +--- /dev/null ++++ b/autotools/softether.am +@@ -0,0 +1,39 @@ ++# Copyright 2014 Darik Horn ++# ++# This file is part of SoftEther. ++# ++# SoftEther 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. ++# ++# SoftEther 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 ++# SoftEther. If not, see . ++ ++ ++if CONFIGURE_ENABLE_DEBUG ++DEBUG_CFLAGS = -g -D_DEBUG -DDEBUG ++else ++DEBUG_CFLAGS = -DNDEBUG -DVPN_SPEED ++endif ++ ++AM_CFLAGS = \ ++ $(DEBUG_CFLAGS) \ ++ -I$(top_srcdir)/src \ ++ -I$(top_srcdir)/src/Mayaqua \ ++ -I$(top_srcdir)/src/Cedar \ ++ -DUNIX \ ++ -DUNIX_LINUX \ ++ -D_REENTRANT \ ++ -DREENTRANT \ ++ -D_THREAD_SAFE \ ++ -D_THREADSAFE \ ++ -DTHREAD_SAFE \ ++ -DTHREADSAFE \ ++ -D_FILE_OFFSET_BITS=64 \ ++ -fsigned-char +diff --git a/configure.ac b/configure.ac +new file mode 100644 +index 00000000..4a3fc2ba +--- /dev/null ++++ b/configure.ac +@@ -0,0 +1,96 @@ ++# Copyright 2014 Darik Horn ++# ++# This file is part of SoftEther. ++# ++# SoftEther 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. ++# ++# SoftEther 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 ++# SoftEther. If not, see . ++ ++ ++AC_INIT([SoftEther], [1], [http://www.vpnusers.com/], [softether], [http://www.softether.org/]) ++AC_CONFIG_AUX_DIR([autotools]) ++AC_CONFIG_MACRO_DIR([autotools]) ++AM_INIT_AUTOMAKE([foreign -Wall -Werror]) ++AM_PROG_AR ++AC_PROG_CC ++AC_PROG_LIBTOOL ++AC_CONFIG_HEADERS([softether_config.h]) ++AC_CONFIG_FILES([ ++ Makefile ++ src/Makefile ++ src/Mayaqua/Makefile ++ src/Cedar/Makefile ++ src/hamcorebuilder/Makefile ++ src/bin/hamcore/Makefile ++ src/vpnserver/Makefile ++ src/vpnclient/Makefile ++ src/vpnbridge/Makefile ++ src/vpncmd/Makefile ++]) ++ ++ ++AC_ARG_ENABLE( ++ [debug], ++ AS_HELP_STRING([--enable-debug], [build SoftEther with debugging features]), ++ [debug=yes] ++) ++AM_CONDITIONAL([CONFIGURE_ENABLE_DEBUG], [test _"$debug" = _yes]) ++ ++ ++AX_PTHREAD([ ++ AC_SUBST(PTHREAD_CC) ++ AC_SUBST(PTHREAD_CFLAGS) ++ AC_SUBST(PTHREAD_LIBS) ++],[ ++ AC_MSG_ERROR([pthread capabilities not found]) ++]) ++ ++CC="$PTHREAD_CC" ++CFLAGS="$CFLAGS $PTHREAD_CFLAGS" ++LIBS="$PTHREAD_LIBS $LIBS" ++ ++ ++AX_CHECK_OPENSSL([ ++ AC_SUBST(OPENSSL_LIBS) ++ AC_SUBST(OPENSSL_LDFLAGS) ++],[ ++ AC_MSG_ERROR([openssl not found]) ++]) ++ ++LIBS="$LIBS $OPENSSL_LIBS" ++LDFLAGS="$LDFLAGS $OPENSSL_LDFLAGS" ++ ++ ++# This macro automatically updates build variables. ++AX_CHECK_ZLIB(, AC_MSG_ERROR([zlib not found])) ++ ++ ++AX_WITH_CURSES ++if test "_$ax_cv_curses" != _yes ++then ++ AC_MSG_ERROR([libcurses, libncurses, or libncursesw not found]) ++else ++ AC_SUBST(CURSES_LIB) ++ LIBS="$LIBS $CURSES_LIB" ++fi ++ ++ ++AX_LIB_READLINE ++if test "_$ax_cv_lib_readline" = _no ++then ++ AC_MSG_ERROR([libreadline not found]) ++else ++ : This macro automatically updates build variables. ++fi ++ ++ ++AC_OUTPUT +--- a/configure 2017-07-16 04:53:31.000000000 +0200 ++++ b/configure 1970-01-01 01:00:00.000000000 +0100 +@@ -1,112 +0,0 @@ +-#!/bin/sh +- +-echo '---------------------------------------------------------------------' +-echo 'SoftEther VPN for Unix' +-echo +-echo 'Copyright (c) SoftEther VPN Project at University of Tsukuba, Japan.' +-echo 'Copyright (c) Daiyuu Nobori. All Rights Reserved.' +-echo +-echo 'This program is free software; you can redistribute it and/or' +-echo 'modify it under the terms of the GNU General Public License' +-echo 'version 2 as published by the Free Software Foundation.' +-echo +-echo 'Read and understand README.TXT, LICENSE.TXT and WARNING.TXT before use.' +-echo '---------------------------------------------------------------------' +-echo +- +-echo 'Welcome to the corner-cutting configure script !' +-echo +- +-OS="" +-case "`uname -s`" in +-Linux) +- OS="linux" +- ;; +-FreeBSD) +- OS="freebsd" +- ;; +-SunOS) +- OS="solaris" +- ;; +-Darwin) +- OS="macos" +- ;; +-OpenBSD) +- OS="openbsd" +- ;; +-*) +- echo 'Select your operating system below:' +- echo ' 1: Linux' +- echo ' 2: FreeBSD' +- echo ' 3: Solaris' +- echo ' 4: Mac OS X' +- echo ' 5: OpenBSD' +- echo +- echo -n 'Which is your operating system (1 - 5) ? : ' +- read TMP +- echo +- if test "$TMP" = "1" +- then +- OS="linux" +- fi +- if test "$TMP" = "2" +- then +- OS="freebsd" +- fi +- if test "$TMP" = "3" +- then +- OS="solaris" +- fi +- if test "$TMP" = "4" +- then +- OS="macos" +- fi +- if test "$TMP" = "5" +- then +- OS="openbsd" +- fi +- +- if test "$OS" = "" +- then +- echo "Wrong number." +- exit 1 +- fi +- ;; +-esac +- +-CPU="" +-case "`uname -m`" in +-x86_64|amd64|aarch64|arm64|armv8*|mips64|ppc64|sparc64|alpha|ia64) +- CPU=64bit +- ;; +-i?86|x86pc|i86pc|armv4*|armv5*|armv6*|armv7*) +- CPU=32bit +- ;; +-*) +- echo 'Select your CPU bits below:' +- echo ' 1: 32-bit' +- echo ' 2: 64-bit' +- echo +- echo -n 'Which is the type of your CPU (1 - 2) ? : ' +- read TMP +- echo +- if test "$TMP" = "1" +- then +- CPU="32bit" +- fi +- if test "$TMP" = "2" +- then +- CPU="64bit" +- fi +- +- if test "$CPU" = "" +- then +- echo "Wrong number." +- exit 1 +- fi +- ;; +-esac +- +-cp src/makefiles/${OS}_${CPU}.mak Makefile +- +-echo "The Makefile is generated. Run 'make' to build SoftEther VPN." +--- a/manual_configure 1970-01-01 01:00:00.000000000 +0100 ++++ b/manual_configure 2017-07-16 04:53:31.000000000 +0200 +@@ -0,0 +1,112 @@ ++#!/bin/sh ++ ++echo '---------------------------------------------------------------------' ++echo 'SoftEther VPN for Unix' ++echo ++echo 'Copyright (c) SoftEther VPN Project at University of Tsukuba, Japan.' ++echo 'Copyright (c) Daiyuu Nobori. All Rights Reserved.' ++echo ++echo 'This program is free software; you can redistribute it and/or' ++echo 'modify it under the terms of the GNU General Public License' ++echo 'version 2 as published by the Free Software Foundation.' ++echo ++echo 'Read and understand README.TXT, LICENSE.TXT and WARNING.TXT before use.' ++echo '---------------------------------------------------------------------' ++echo ++ ++echo 'Welcome to the corner-cutting configure script !' ++echo ++ ++OS="" ++case "`uname -s`" in ++Linux) ++ OS="linux" ++ ;; ++FreeBSD) ++ OS="freebsd" ++ ;; ++SunOS) ++ OS="solaris" ++ ;; ++Darwin) ++ OS="macos" ++ ;; ++OpenBSD) ++ OS="openbsd" ++ ;; ++*) ++ echo 'Select your operating system below:' ++ echo ' 1: Linux' ++ echo ' 2: FreeBSD' ++ echo ' 3: Solaris' ++ echo ' 4: Mac OS X' ++ echo ' 5: OpenBSD' ++ echo ++ echo -n 'Which is your operating system (1 - 5) ? : ' ++ read TMP ++ echo ++ if test "$TMP" = "1" ++ then ++ OS="linux" ++ fi ++ if test "$TMP" = "2" ++ then ++ OS="freebsd" ++ fi ++ if test "$TMP" = "3" ++ then ++ OS="solaris" ++ fi ++ if test "$TMP" = "4" ++ then ++ OS="macos" ++ fi ++ if test "$TMP" = "5" ++ then ++ OS="openbsd" ++ fi ++ ++ if test "$OS" = "" ++ then ++ echo "Wrong number." ++ exit 1 ++ fi ++ ;; ++esac ++ ++CPU="" ++case "`uname -m`" in ++x86_64|amd64|aarch64|arm64|armv8*|mips64|ppc64|sparc64|alpha|ia64) ++ CPU=64bit ++ ;; ++i?86|x86pc|i86pc|armv4*|armv5*|armv6*|armv7*) ++ CPU=32bit ++ ;; ++*) ++ echo 'Select your CPU bits below:' ++ echo ' 1: 32-bit' ++ echo ' 2: 64-bit' ++ echo ++ echo -n 'Which is the type of your CPU (1 - 2) ? : ' ++ read TMP ++ echo ++ if test "$TMP" = "1" ++ then ++ CPU="32bit" ++ fi ++ if test "$TMP" = "2" ++ then ++ CPU="64bit" ++ fi ++ ++ if test "$CPU" = "" ++ then ++ echo "Wrong number." ++ exit 1 ++ fi ++ ;; ++esac ++ ++cp src/makefiles/${OS}_${CPU}.mak Makefile ++ ++echo "The Makefile is generated. Run 'make' to build SoftEther VPN." +diff --git a/src/Cedar/Makefile.am b/src/Cedar/Makefile.am +new file mode 100644 +index 00000000..5346537d +--- /dev/null ++++ b/src/Cedar/Makefile.am +@@ -0,0 +1,82 @@ ++# Copyright 2014 Darik Horn ++# ++# This file is part of SoftEther. ++# ++# SoftEther 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. ++# ++# SoftEther 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 ++# SoftEther. If not, see . ++ ++ ++include $(top_srcdir)/autotools/softether.am ++ ++noinst_LTLIBRARIES = libcedar.la ++ ++libcedar_la_SOURCES = \ ++ Account.c \ ++ Admin.c \ ++ AzureClient.c \ ++ AzureServer.c \ ++ Bridge.c \ ++ BridgeUnix.c \ ++ BridgeWin32.c \ ++ Cedar.c \ ++ CedarPch.c \ ++ Client.c \ ++ CM.c \ ++ Command.c \ ++ Connection.c \ ++ Console.c \ ++ Database.c \ ++ DDNS.c \ ++ EM.c \ ++ EtherLog.c \ ++ Hub.c \ ++ Interop_OpenVPN.c \ ++ Interop_SSTP.c \ ++ IPsec.c \ ++ IPsec_EtherIP.c \ ++ IPsec_IKE.c \ ++ IPsec_IkePacket.c \ ++ IPsec_IPC.c \ ++ IPsec_L2TP.c \ ++ IPsec_PPP.c \ ++ IPsec_Win7.c \ ++ Layer3.c \ ++ Link.c \ ++ Listener.c \ ++ Logging.c \ ++ Nat.c \ ++ NativeStack.c \ ++ NM.c \ ++ NullLan.c \ ++ Protocol.c \ ++ Radius.c \ ++ Remote.c \ ++ Sam.c \ ++ SecureInfo.c \ ++ SecureNAT.c \ ++ SeLowUser.c \ ++ Server.c \ ++ Session.c \ ++ SM.c \ ++ SW.c \ ++ UdpAccel.c \ ++ UT.c \ ++ VG.c \ ++ Virtual.c \ ++ VLan.c \ ++ VLanUnix.c \ ++ VLanWin32.c \ ++ WaterMark.c \ ++ WebUI.c \ ++ WinUi.c \ ++ Wpc.c +diff --git a/src/Makefile.am b/src/Makefile.am +new file mode 100644 +index 00000000..dc745426 +--- /dev/null ++++ b/src/Makefile.am +@@ -0,0 +1,26 @@ ++# Copyright 2014 Darik Horn ++# ++# This file is part of SoftEther. ++# ++# SoftEther 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. ++# ++# SoftEther 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 ++# SoftEther. If not, see . ++ ++ ++# These components are built as libtool convenience libraries. ++SUBDIRS = Mayaqua Cedar ++ ++# This is a nodist helper. ++SUBDIRS += hamcorebuilder ++ ++# These are final build products. ++SUBDIRS += bin/hamcore vpnserver vpnclient vpnbridge vpncmd +diff --git a/src/Mayaqua/Makefile.am b/src/Mayaqua/Makefile.am +new file mode 100644 +index 00000000..6b8dc1a6 +--- /dev/null ++++ b/src/Mayaqua/Makefile.am +@@ -0,0 +1,43 @@ ++# Copyright 2014 Darik Horn ++# ++# This file is part of SoftEther. ++# ++# SoftEther 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. ++# ++# SoftEther 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 ++# SoftEther. If not, see . ++ ++ ++include $(top_srcdir)/autotools/softether.am ++ ++noinst_LTLIBRARIES = libmayaqua.la ++ ++libmayaqua_la_SOURCES = \ ++ Cfg.c \ ++ Encrypt.c \ ++ FileIO.c \ ++ Internat.c \ ++ Kernel.c \ ++ Mayaqua.c \ ++ Memory.c \ ++ Microsoft.c \ ++ Network.c \ ++ Object.c \ ++ OS.c \ ++ Pack.c \ ++ Secure.c \ ++ Str.c \ ++ Table.c \ ++ TcpIp.c \ ++ Tick64.c \ ++ Tracking.c \ ++ Unix.c \ ++ Win32.c +diff --git a/src/bin/hamcore/Makefile.am b/src/bin/hamcore/Makefile.am +new file mode 100644 +index 00000000..37b0291e +--- /dev/null ++++ b/src/bin/hamcore/Makefile.am +@@ -0,0 +1,29 @@ ++# Copyright 2014 Darik Horn ++# ++# This file is part of SoftEther. ++# ++# SoftEther 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. ++# ++# SoftEther 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 ++# SoftEther. If not, see . ++ ++ ++include $(top_srcdir)/autotools/softether.am ++ ++# This is required to use a custom build rule with -Wall and -Werror enabled. ++AUTOMAKE_OPTIONS = -Wno-override ++EXEEXT = ++HAMCOREBUILDER = $(top_builddir)/src/hamcorebuilder/hamcorebuilder ++ ++sbin_PROGRAMS = hamcore.se2 ++ ++hamcore.se2$(EXEEXT): $(HAMCOREBUILDER) ++ $(HAMCOREBUILDER) $(top_srcdir)/src/bin/hamcore $@ +diff --git a/src/hamcorebuilder/Makefile.am b/src/hamcorebuilder/Makefile.am +new file mode 100644 +index 00000000..a22429f0 +--- /dev/null ++++ b/src/hamcorebuilder/Makefile.am +@@ -0,0 +1,29 @@ ++# Copyright 2014 Darik Horn ++# ++# This file is part of SoftEther. ++# ++# SoftEther 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. ++# ++# SoftEther 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 ++# SoftEther. If not, see . ++ ++ ++include $(top_srcdir)/autotools/softether.am ++ ++noinst_PROGRAMS = \ ++ hamcorebuilder ++ ++hamcorebuilder_SOURCES = \ ++ hamcorebuilder.c ++ ++hamcorebuilder_LDADD = \ ++ $(top_builddir)/src/Mayaqua/libmayaqua.la \ ++ $(top_builddir)/src/Cedar/libcedar.la +diff --git a/src/vpnbridge/Makefile.am b/src/vpnbridge/Makefile.am +new file mode 100644 +index 00000000..35fe043d +--- /dev/null ++++ b/src/vpnbridge/Makefile.am +@@ -0,0 +1,29 @@ ++# Copyright 2014 Darik Horn ++# ++# This file is part of SoftEther. ++# ++# SoftEther 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. ++# ++# SoftEther 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 ++# SoftEther. If not, see . ++ ++ ++include $(top_srcdir)/autotools/softether.am ++ ++sbin_PROGRAMS = \ ++ vpnbridge ++ ++vpnbridge_SOURCES = \ ++ vpnbridge.c ++ ++vpnbridge_LDADD = \ ++ $(top_builddir)/src/Mayaqua/libmayaqua.la \ ++ $(top_builddir)/src/Cedar/libcedar.la +diff --git a/src/vpnclient/Makefile.am b/src/vpnclient/Makefile.am +new file mode 100644 +index 00000000..1aa55330 +--- /dev/null ++++ b/src/vpnclient/Makefile.am +@@ -0,0 +1,29 @@ ++# Copyright 2014 Darik Horn ++# ++# This file is part of SoftEther. ++# ++# SoftEther 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. ++# ++# SoftEther 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 ++# SoftEther. If not, see . ++ ++ ++include $(top_srcdir)/autotools/softether.am ++ ++sbin_PROGRAMS = \ ++ vpnclient ++ ++vpnclient_SOURCES = \ ++ vpncsvc.c ++ ++vpnclient_LDADD = \ ++ $(top_builddir)/src/Mayaqua/libmayaqua.la \ ++ $(top_builddir)/src/Cedar/libcedar.la +diff --git a/src/vpncmd/Makefile.am b/src/vpncmd/Makefile.am +new file mode 100644 +index 00000000..d8042aa2 +--- /dev/null ++++ b/src/vpncmd/Makefile.am +@@ -0,0 +1,29 @@ ++# Copyright 2014 Darik Horn ++# ++# This file is part of SoftEther. ++# ++# SoftEther 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. ++# ++# SoftEther 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 ++# SoftEther. If not, see . ++ ++ ++include $(top_srcdir)/autotools/softether.am ++ ++sbin_PROGRAMS = \ ++ vpncmd ++ ++vpncmd_SOURCES = \ ++ vpncmd.c ++ ++vpncmd_LDADD = \ ++ $(top_builddir)/src/Mayaqua/libmayaqua.la \ ++ $(top_builddir)/src/Cedar/libcedar.la +diff --git a/src/vpnserver/Makefile.am b/src/vpnserver/Makefile.am +new file mode 100644 +index 00000000..c1c33570 +--- /dev/null ++++ b/src/vpnserver/Makefile.am +@@ -0,0 +1,29 @@ ++# Copyright 2014 Darik Horn ++# ++# This file is part of SoftEther. ++# ++# SoftEther 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. ++# ++# SoftEther 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 ++# SoftEther. If not, see . ++ ++ ++include $(top_srcdir)/autotools/softether.am ++ ++sbin_PROGRAMS = \ ++ vpnserver ++ ++vpnserver_SOURCES = \ ++ vpnserver.c ++ ++vpnserver_LDADD = \ ++ $(top_builddir)/src/Mayaqua/libmayaqua.la \ ++ $(top_builddir)/src/Cedar/libcedar.la diff --git a/package/softether/0002-Create-libsoftether.so-and-dynamically-link.patch b/package/softether/0002-Create-libsoftether.so-and-dynamically-link.patch new file mode 100644 index 0000000000..1fdf118759 --- /dev/null +++ b/package/softether/0002-Create-libsoftether.so-and-dynamically-link.patch @@ -0,0 +1,133 @@ +From 75625af541fd128f51079d0ffe5ef24645b8f421 Mon Sep 17 00:00:00 2001 +From: Darik Horn +Date: Sun, 13 Apr 2014 12:51:15 -0400 +Subject: [PATCH] Create libsoftether.so and dynamically link the userland. + +Sharing object code between vpnbridge, vpnclient, vpnserver, and vpncmd +reduces the binary size of SoftEther by 85% and its administrative memory +footprint by 50%. + +[Upstream commit https://github.com/dajhorn/SoftEtherVPN/commit/75625af541fd128f51079d0ffe5ef24645b8f421] +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 1 + + src/Makefile.am | 7 +++++-- + src/libsoftether/Makefile.am | 34 ++++++++++++++++++++++++++++++++++ + src/vpnbridge/Makefile.am | 3 +-- + src/vpnclient/Makefile.am | 3 +-- + src/vpncmd/Makefile.am | 3 +-- + src/vpnserver/Makefile.am | 3 +-- + 7 files changed, 44 insertions(+), 10 deletions(-) + create mode 100644 src/libsoftether/Makefile.am + +diff --git a/configure.ac b/configure.ac +index 4a3fc2ba..94639c44 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -30,6 +30,7 @@ AC_CONFIG_FILES([ + src/Mayaqua/Makefile + src/Cedar/Makefile + src/hamcorebuilder/Makefile ++ src/libsoftether/Makefile + src/bin/hamcore/Makefile + src/vpnserver/Makefile + src/vpnclient/Makefile +diff --git a/src/Makefile.am b/src/Makefile.am +index dc745426..1d041d47 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -22,5 +22,8 @@ SUBDIRS = Mayaqua Cedar + # This is a nodist helper. + SUBDIRS += hamcorebuilder + +-# These are final build products. +-SUBDIRS += bin/hamcore vpnserver vpnclient vpnbridge vpncmd ++# These are shared components. ++SUBDIRS += libsoftether bin/hamcore ++ ++# These are the final build products. ++SUBDIRS += vpnserver vpnclient vpnbridge vpncmd +diff --git a/src/libsoftether/Makefile.am b/src/libsoftether/Makefile.am +new file mode 100644 +index 00000000..601920d9 +--- /dev/null ++++ b/src/libsoftether/Makefile.am +@@ -0,0 +1,34 @@ ++# Copyright 2014 Darik Horn ++# ++# This file is part of SoftEther. ++# ++# SoftEther 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. ++# ++# SoftEther 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 ++# SoftEther. If not, see . ++ ++ ++include $(top_srcdir)/autotools/softether.am ++ ++lib_LTLIBRARIES = \ ++ libsoftether.la ++ ++libsoftether_la_SOURCES = ++ ++libsoftether_la_LDFLAGS = \ ++ -avoid-version ++ ++libsoftether_la_LIBTOOLFLAGS = \ ++ --tag=disable-static ++ ++libsoftether_la_LIBADD = \ ++ $(top_builddir)/src/Mayaqua/libmayaqua.la \ ++ $(top_builddir)/src/Cedar/libcedar.la +diff --git a/src/vpnbridge/Makefile.am b/src/vpnbridge/Makefile.am +index 35fe043d..fb91dd2d 100644 +--- a/src/vpnbridge/Makefile.am ++++ b/src/vpnbridge/Makefile.am +@@ -25,5 +25,4 @@ vpnbridge_SOURCES = \ + vpnbridge.c + + vpnbridge_LDADD = \ +- $(top_builddir)/src/Mayaqua/libmayaqua.la \ +- $(top_builddir)/src/Cedar/libcedar.la ++ $(top_builddir)/src/libsoftether/libsoftether.la +diff --git a/src/vpnclient/Makefile.am b/src/vpnclient/Makefile.am +index 1aa55330..c225c416 100644 +--- a/src/vpnclient/Makefile.am ++++ b/src/vpnclient/Makefile.am +@@ -25,5 +25,4 @@ vpnclient_SOURCES = \ + vpncsvc.c + + vpnclient_LDADD = \ +- $(top_builddir)/src/Mayaqua/libmayaqua.la \ +- $(top_builddir)/src/Cedar/libcedar.la ++ $(top_builddir)/src/libsoftether/libsoftether.la +diff --git a/src/vpncmd/Makefile.am b/src/vpncmd/Makefile.am +index d8042aa2..271affb0 100644 +--- a/src/vpncmd/Makefile.am ++++ b/src/vpncmd/Makefile.am +@@ -25,5 +25,4 @@ vpncmd_SOURCES = \ + vpncmd.c + + vpncmd_LDADD = \ +- $(top_builddir)/src/Mayaqua/libmayaqua.la \ +- $(top_builddir)/src/Cedar/libcedar.la ++ $(top_builddir)/src/libsoftether/libsoftether.la +diff --git a/src/vpnserver/Makefile.am b/src/vpnserver/Makefile.am +index c1c33570..1f7b7f98 100644 +--- a/src/vpnserver/Makefile.am ++++ b/src/vpnserver/Makefile.am +@@ -25,5 +25,4 @@ vpnserver_SOURCES = \ + vpnserver.c + + vpnserver_LDADD = \ +- $(top_builddir)/src/Mayaqua/libmayaqua.la \ +- $(top_builddir)/src/Cedar/libcedar.la ++ $(top_builddir)/src/libsoftether/libsoftether.la diff --git a/package/softether/0001-use-fhs-install-directories.patch b/package/softether/0003-use-fhs-install-directories.patch similarity index 100% rename from package/softether/0001-use-fhs-install-directories.patch rename to package/softether/0003-use-fhs-install-directories.patch diff --git a/package/softether/0002-create-non-forking-softetherd-for-upstart-and-systemd.patch b/package/softether/0004-create-non-forking-softetherd-for-upstart-and-systemd.patch similarity index 100% rename from package/softether/0002-create-non-forking-softetherd-for-upstart-and-systemd.patch rename to package/softether/0004-create-non-forking-softetherd-for-upstart-and-systemd.patch diff --git a/package/softether/0003-change-GetExeDir-to-GetStateDir-in-Cedar-and-Mayaqua.patch b/package/softether/0005-change-GetExeDir-to-GetStateDir-in-Cedar-and-Mayaqua.patch similarity index 100% rename from package/softether/0003-change-GetExeDir-to-GetStateDir-in-Cedar-and-Mayaqua.patch rename to package/softether/0005-change-GetExeDir-to-GetStateDir-in-Cedar-and-Mayaqua.patch diff --git a/package/softether/0004-cross-compile.patch b/package/softether/0006-cross-compile.patch similarity index 100% rename from package/softether/0004-cross-compile.patch rename to package/softether/0006-cross-compile.patch diff --git a/package/softether/0005-iconv.patch b/package/softether/0007-iconv.patch similarity index 100% rename from package/softether/0005-iconv.patch rename to package/softether/0007-iconv.patch diff --git a/package/softether/0006-librt.patch b/package/softether/0008-librt.patch similarity index 100% rename from package/softether/0006-librt.patch rename to package/softether/0008-librt.patch diff --git a/package/softether/0007-uclibc-ai-addrconfig.patch b/package/softether/0009-uclibc-ai-addrconfig.patch similarity index 100% rename from package/softether/0007-uclibc-ai-addrconfig.patch rename to package/softether/0009-uclibc-ai-addrconfig.patch diff --git a/package/softether/Config.in b/package/softether/Config.in index 60f1357529..8fda3158f2 100644 --- a/package/softether/Config.in +++ b/package/softether/Config.in @@ -1,11 +1,12 @@ config BR2_PACKAGE_SOFTETHER bool "softether" - select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE - select BR2_PACKAGE_OPENSSL - select BR2_PACKAGE_READLINE depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # fork() depends on BR2_USE_WCHAR + select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL + select BR2_PACKAGE_READLINE help The SoftEther Server is a fully integrated implementation of the SSTP, L2TP, L2TPv3, OpenVPN, and IPSec virtual private networking protocols diff --git a/package/softether/softether.hash b/package/softether/softether.hash index ecc5d25d1a..ec6e0603d7 100644 --- a/package/softether/softether.hash +++ b/package/softether/softether.hash @@ -1,4 +1,3 @@ # Locally computed -sha256 4bdcc05fcd163eea735444283264e40b86626d24fddf110aa416f2c8cb82448b softether-1e17c9bcfd7e7b31756aa5389bcbff76c2c9c88a.tar.gz -sha256 fe5ff8f13b42737dfd5eb53f14c55aed714c380f181a1ae112055b04e8c97229 c5e5d7e93c6f3302adf5821c29c4efdb7630e418.patch -sha256 b5a8750426387b9211754b199f7f9f6a013dba6a1cd731c210a205679ffa1d1c 75625af541fd128f51079d0ffe5ef24645b8f421.patch +sha256 8e6310d36e579ea07171ce5fcb9ebe31235d218444c4e4836ca6c32aa49c1f93 softether-v4.22-9634-beta.tar.gz +sha256 7aeb873293fa0e44425dabf68a8e46e26c848fe58efcfd3ac7c90a3386f3edd1 LICENSE diff --git a/package/softether/softether.mk b/package/softether/softether.mk index da7d129723..05d2f20fe5 100644 --- a/package/softether/softether.mk +++ b/package/softether/softether.mk @@ -4,14 +4,11 @@ # ################################################################################ -SOFTETHER_VERSION = 1e17c9bcfd7e7b31756aa5389bcbff76c2c9c88a +SOFTETHER_VERSION = v4.22-9634-beta SOFTETHER_SITE = $(call github,SoftEtherVPN,SoftEtherVPN,$(SOFTETHER_VERSION)) -SOFTETHER_PATCH = \ - https://github.com/dajhorn/SoftEtherVPN/commit/c5e5d7e93c6f3302adf5821c29c4efdb7630e418.patch \ - https://github.com/dajhorn/SoftEtherVPN/commit/75625af541fd128f51079d0ffe5ef24645b8f421.patch -SOFTETHER_LICENSE = GPLv2 +SOFTETHER_LICENSE = GPL-2.0 SOFTETHER_LICENSE_FILES = LICENSE -SOFTETHER_DEPENDENCIES = host-softether openssl readline +SOFTETHER_DEPENDENCIES = host-softether libopenssl readline SOFTETHER_AUTORECONF = YES ifeq ($(BR2_ENABLE_LOCALE),) @@ -29,7 +26,7 @@ SOFTETHER_CONF_OPTS = \ --with-zlib="$(STAGING_DIR)/usr" # host-libiconv does not exist, therefore we need this extra line -HOST_SOFTETHER_DEPENDENCIES = host-pkgconf host-openssl host-readline +HOST_SOFTETHER_DEPENDENCIES = host-pkgconf host-libopenssl host-readline # target build creates the file hamcore.se2 which needs the host variant of # hamcorebuilder, for details see http://www.vpnusers.com/viewtopic.php?p=5426 @@ -40,7 +37,7 @@ define HOST_SOFTETHER_BUILD_CMDS endef define HOST_SOFTETHER_INSTALL_CMDS - $(INSTALL) -m 0755 $(@D)/src/hamcorebuilder/hamcorebuilder $(HOST_DIR)/usr/bin/hamcorebuilder + $(INSTALL) -m 0755 $(@D)/src/hamcorebuilder/hamcorebuilder $(HOST_DIR)/bin/hamcorebuilder endef $(eval $(autotools-package)) diff --git a/package/sox/sox.mk b/package/sox/sox.mk index 61f5220189..0b3dc136d8 100644 --- a/package/sox/sox.mk +++ b/package/sox/sox.mk @@ -10,7 +10,7 @@ SOX_SOURCE = sox-$(SOX_VERSION).tar.bz2 SOX_DEPENDENCIES = host-pkgconf SOX_CONF_OPTS = --with-distro="Buildroot" --without-ffmpeg --disable-gomp \ $(if $(BR2_TOOLCHAIN_HAS_SSP),,--disable-stack-protector) -SOX_LICENSE = GPLv2+ (sox binary), LGPLv2.1+ (libraries) +SOX_LICENSE = GPL-2.0+ (sox binary), LGPL-2.1+ (libraries) SOX_LICENSE_FILES = LICENSE.GPL LICENSE.LGPL # MIPS Codescape toolchains don't support stack-smashing protection diff --git a/package/sp-oops-extract/sp-oops-extract.mk b/package/sp-oops-extract/sp-oops-extract.mk index 991980713f..a3ff46c5bb 100644 --- a/package/sp-oops-extract/sp-oops-extract.mk +++ b/package/sp-oops-extract/sp-oops-extract.mk @@ -7,7 +7,7 @@ SP_OOPS_EXTRACT_VERSION = 0.0.7-1 SP_OOPS_EXTRACT_SITE = http://repository.maemo.org/pool/maemo5.0/free/s/sp-oops-extract SP_OOPS_EXTRACT_SOURCE = sp-oops-extract_$(SP_OOPS_EXTRACT_VERSION).tar.gz -SP_OOPS_EXTRACT_LICENSE = GPLv2 +SP_OOPS_EXTRACT_LICENSE = GPL-2.0 SP_OOPS_EXTRACT_LICENSE_FILES = COPYING define SP_OOPS_EXTRACT_BUILD_CMDS diff --git a/package/spawn-fcgi/spawn-fcgi.mk b/package/spawn-fcgi/spawn-fcgi.mk index 13357bba3b..ed97d0a7b4 100644 --- a/package/spawn-fcgi/spawn-fcgi.mk +++ b/package/spawn-fcgi/spawn-fcgi.mk @@ -7,7 +7,7 @@ SPAWN_FCGI_VERSION = 1.6.4 SPAWN_FCGI_SITE = http://www.lighttpd.net/download SPAWN_FCGI_SOURCE = spawn-fcgi-$(SPAWN_FCGI_VERSION).tar.bz2 -SPAWN_FCGI_LICENSE = BSD-3c +SPAWN_FCGI_LICENSE = BSD-3-Clause SPAWN_FCGI_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/speex/Config.in b/package/speex/Config.in index f18e866f1b..c4e3df5dcd 100644 --- a/package/speex/Config.in +++ b/package/speex/Config.in @@ -16,8 +16,8 @@ config BR2_PACKAGE_SPEEX_ARM4 depends on BR2_ARM_CPU_ARMV4 config BR2_PACKAGE_SPEEX_ARM5E - default y bool + default y depends on BR2_arm && !BR2_PACKAGE_SPEEX_ARM4 endif diff --git a/package/speex/speex.mk b/package/speex/speex.mk index a34bfaca89..1b278ea23d 100644 --- a/package/speex/speex.mk +++ b/package/speex/speex.mk @@ -6,7 +6,7 @@ SPEEX_VERSION = 1.2rc1 SPEEX_SITE = http://downloads.us.xiph.org/releases/speex -SPEEX_LICENSE = BSD-3c +SPEEX_LICENSE = BSD-3-Clause SPEEX_LICENSE_FILES = COPYING SPEEX_INSTALL_STAGING = YES diff --git a/package/sphinxbase/sphinxbase.mk b/package/sphinxbase/sphinxbase.mk index 5c87c89a43..86f9089b48 100644 --- a/package/sphinxbase/sphinxbase.mk +++ b/package/sphinxbase/sphinxbase.mk @@ -6,7 +6,7 @@ SPHINXBASE_VERSION = 5prealpha SPHINXBASE_SITE = http://downloads.sourceforge.net/project/cmusphinx/sphinxbase/5prealpha -SPHINXBASE_LICENSE = BSD-2c +SPHINXBASE_LICENSE = BSD-2-Clause # Note http://sourceforge.net/p/cmusphinx/bugs/441/ "LICENSE file missing in" # 5prealpha tarballs". The license is contained in the copyright notice at the # top of each source file. For example: diff --git a/package/spi-tools/spi-tools.mk b/package/spi-tools/spi-tools.mk index 384ae41e68..e5f3774b53 100644 --- a/package/spi-tools/spi-tools.mk +++ b/package/spi-tools/spi-tools.mk @@ -8,7 +8,7 @@ SPI_TOOLS_VERSION = 0.8.1 SPI_TOOLS_SITE = $(call github,cpb-,spi-tools,$(SPI_TOOLS_VERSION)) # autoreconf must be run as specified in package documentation SPI_TOOLS_AUTORECONF = YES -SPI_TOOLS_LICENSE = GPLv2 +SPI_TOOLS_LICENSE = GPL-2.0 SPI_TOOLS_LICENSE_FILES = LICENSE $(eval $(autotools-package)) diff --git a/package/spice-protocol/spice-protocol.mk b/package/spice-protocol/spice-protocol.mk index 4e81e6cd7b..dcc6feeb13 100644 --- a/package/spice-protocol/spice-protocol.mk +++ b/package/spice-protocol/spice-protocol.mk @@ -7,7 +7,7 @@ SPICE_PROTOCOL_VERSION = 0.12.10 SPICE_PROTOCOL_SOURCE = spice-protocol-$(SPICE_PROTOCOL_VERSION).tar.bz2 SPICE_PROTOCOL_SITE = http://www.spice-space.org/download/releases -SPICE_PROTOCOL_LICENSE = BSD-3c +SPICE_PROTOCOL_LICENSE = BSD-3-Clause SPICE_PROTOCOL_LICENSE_FILES = COPYING SPICE_PROTOCOL_INSTALL_STAGING = YES diff --git a/package/spice/0001-Prevent-possible-DoS-attempts-during-protocol-handsh.patch b/package/spice/0001-Prevent-possible-DoS-attempts-during-protocol-handsh.patch new file mode 100644 index 0000000000..57a64d96b7 --- /dev/null +++ b/package/spice/0001-Prevent-possible-DoS-attempts-during-protocol-handsh.patch @@ -0,0 +1,60 @@ +From 1c6517973095a67c8cb57f3550fc1298404ab556 Mon Sep 17 00:00:00 2001 +From: Frediano Ziglio +Date: Tue, 13 Dec 2016 14:39:48 +0000 +Subject: [PATCH] Prevent possible DoS attempts during protocol handshake + +The limit for link message is specified using a 32 bit unsigned integer. +This could cause possible DoS due to excessive memory allocations and +some possible crashes. +For instance a value >= 2^31 causes a spice_assert to be triggered in +async_read_handler (reds-stream.c) due to an integer overflow at this +line: + + int n = async->end - async->now; + +This could be easily triggered with a program like + + #!/usr/bin/env python + + import socket + import time + from struct import pack + + server = '127.0.0.1' + port = 5900 + + s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + s.connect((server, port)) + data = pack('<4sIII', 'REDQ', 2, 2, 0xaaaaaaaa) + s.send(data) + + time.sleep(1) + +without requiring any authentication (the same can be done +with TLS). + +[Peter: fixes CVE-2016-9578] +Signed-off-by: Frediano Ziglio +Acked-by: Christophe Fergeau +Signed-off-by: Peter Korsgaard +--- + server/reds.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/server/reds.c b/server/reds.c +index f40b65c1..86a33d53 100644 +--- a/server/reds.c ++++ b/server/reds.c +@@ -2202,7 +2202,8 @@ static void reds_handle_read_header_done(void *opaque) + + reds->peer_minor_version = header->minor_version; + +- if (header->size < sizeof(SpiceLinkMess)) { ++ /* the check for 4096 is to avoid clients to cause arbitrary big memory allocations */ ++ if (header->size < sizeof(SpiceLinkMess) || header->size > 4096) { + reds_send_link_error(link, SPICE_LINK_ERR_INVALID_DATA); + spice_warning("bad size %u", header->size); + reds_link_free(link); +-- +2.11.0 + diff --git a/package/spice/0001-fix-missing-monitor_latency-argument.patch b/package/spice/0001-fix-missing-monitor_latency-argument.patch deleted file mode 100644 index e14dd2ce37..0000000000 --- a/package/spice/0001-fix-missing-monitor_latency-argument.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 0d3767853ca179ce04a9b312d7a30d33d1266a3b Mon Sep 17 00:00:00 2001 -From: Axel Lin -Date: Thu, 10 Oct 2013 12:36:40 +0800 -Subject: [PATCH] red_tunnel_worker: Fix build error due to missing monitor_latency argument - -Fix missing monitor_latency argument in red_channel_client_create call. - -Signed-off-by: Axel Lin ---- - server/red_tunnel_worker.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/server/red_tunnel_worker.c b/server/red_tunnel_worker.c -index 97dcafd..6781d73 100644 ---- a/server/red_tunnel_worker.c -+++ b/server/red_tunnel_worker.c -@@ -3417,7 +3417,7 @@ static void handle_tunnel_channel_link(RedChannel *channel, RedClient *client, - } - - tcc = (TunnelChannelClient*)red_channel_client_create(sizeof(TunnelChannelClient), -- channel, client, stream, -+ channel, client, stream, FALSE, - 0, NULL, 0, NULL); - if (!tcc) { - return; --- -1.8.1.2 - diff --git a/package/spice/0002-Prevent-integer-overflows-in-capability-checks.patch b/package/spice/0002-Prevent-integer-overflows-in-capability-checks.patch new file mode 100644 index 0000000000..5bf9b89d17 --- /dev/null +++ b/package/spice/0002-Prevent-integer-overflows-in-capability-checks.patch @@ -0,0 +1,43 @@ +From f66dc643635518e53dfbe5262f814a64eec54e4a Mon Sep 17 00:00:00 2001 +From: Frediano Ziglio +Date: Tue, 13 Dec 2016 14:40:10 +0000 +Subject: [PATCH] Prevent integer overflows in capability checks + +The limits for capabilities are specified using 32 bit unsigned integers. +This could cause possible integer overflows causing buffer overflows. +For instance the sum of num_common_caps and num_caps can be 0 avoiding +additional checks. +As the link message is now capped to 4096 and the capabilities are +contained in the link message limit the capabilities to 1024 +(capabilities are expressed in number of uint32_t items). + +[Peter: fixes CVE-2016-9578] +Signed-off-by: Frediano Ziglio +Acked-by: Christophe Fergeau +Signed-off-by: Peter Korsgaard +--- + server/reds.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/server/reds.c b/server/reds.c +index 86a33d53..91504544 100644 +--- a/server/reds.c ++++ b/server/reds.c +@@ -2110,6 +2110,14 @@ static void reds_handle_read_link_done(void *opaque) + link_mess->num_channel_caps = GUINT32_FROM_LE(link_mess->num_channel_caps); + link_mess->num_common_caps = GUINT32_FROM_LE(link_mess->num_common_caps); + ++ /* Prevent DoS. Currently we defined only 13 capabilities, ++ * I expect 1024 to be valid for quite a lot time */ ++ if (link_mess->num_channel_caps > 1024 || link_mess->num_common_caps > 1024) { ++ reds_send_link_error(link, SPICE_LINK_ERR_INVALID_DATA); ++ reds_link_free(link); ++ return; ++ } ++ + num_caps = link_mess->num_common_caps + link_mess->num_channel_caps; + caps = (uint32_t *)((uint8_t *)link_mess + link_mess->caps_offset); + +-- +2.11.0 + diff --git a/package/spice/0003-main-channel-Prevent-overflow-reading-messages-from-.patch b/package/spice/0003-main-channel-Prevent-overflow-reading-messages-from-.patch new file mode 100644 index 0000000000..f602d5f3b1 --- /dev/null +++ b/package/spice/0003-main-channel-Prevent-overflow-reading-messages-from-.patch @@ -0,0 +1,33 @@ +From 5f96b596353d73bdf4bb3cd2de61e48a7fd5b4c3 Mon Sep 17 00:00:00 2001 +From: Frediano Ziglio +Date: Tue, 29 Nov 2016 16:46:56 +0000 +Subject: [PATCH] main-channel: Prevent overflow reading messages from client + +Caller is supposed the function return a buffer able to store +size bytes. + +[Peter: fixes CVE-2016-9577] +Signed-off-by: Frediano Ziglio +Acked-by: Christophe Fergeau +Signed-off-by: Peter Korsgaard +--- + server/main_channel.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/server/main_channel.c b/server/main_channel.c +index 0ecc9df8..1fc39155 100644 +--- a/server/main_channel.c ++++ b/server/main_channel.c +@@ -1026,6 +1026,9 @@ static uint8_t *main_channel_alloc_msg_rcv_buf(RedChannelClient *rcc, + + if (type == SPICE_MSGC_MAIN_AGENT_DATA) { + return reds_get_agent_data_buffer(mcc, size); ++ } else if (size > sizeof(main_chan->recv_buf)) { ++ /* message too large, caller will log a message and close the connection */ ++ return NULL; + } else { + return main_chan->recv_buf; + } +-- +2.11.0 + diff --git a/package/spice/0004-reds-Disconnect-when-receiving-overly-big-ClientMoni.patch b/package/spice/0004-reds-Disconnect-when-receiving-overly-big-ClientMoni.patch new file mode 100644 index 0000000000..070259f2bb --- /dev/null +++ b/package/spice/0004-reds-Disconnect-when-receiving-overly-big-ClientMoni.patch @@ -0,0 +1,75 @@ +From f1e7ec03e26ab6b8ca9b7ec060846a5b706a963d Mon Sep 17 00:00:00 2001 +From: Frediano Ziglio +Date: Mon, 15 May 2017 15:57:28 +0100 +Subject: [PATCH] reds: Disconnect when receiving overly big + ClientMonitorsConfig + +Total message size received from the client was unlimited. There is +a 2kiB size check on individual agent messages, but the MonitorsConfig +message can be split in multiple chunks, and the size of the +non-chunked MonitorsConfig message was never checked. This could easily +lead to memory exhaustion on the host. + +Signed-off-by: Frediano Ziglio +Signed-off-by: Peter Korsgaard +--- + server/reds.c | 25 +++++++++++++++++++++++-- + 1 file changed, 23 insertions(+), 2 deletions(-) + +diff --git a/server/reds.c b/server/reds.c +index f439a366..7be85fdf 100644 +--- a/server/reds.c ++++ b/server/reds.c +@@ -993,19 +993,34 @@ static void reds_client_monitors_config_cleanup(void) + static void reds_on_main_agent_monitors_config( + MainChannelClient *mcc, void *message, size_t size) + { ++ const unsigned int MAX_MONITORS = 256; ++ const unsigned int MAX_MONITOR_CONFIG_SIZE = ++ sizeof(VDAgentMonitorsConfig) + MAX_MONITORS * sizeof(VDAgentMonConfig); ++ + VDAgentMessage *msg_header; + VDAgentMonitorsConfig *monitors_config; + RedsClientMonitorsConfig *cmc = &reds->client_monitors_config; + ++ // limit size of message sent by the client as this can cause a DoS through ++ // memory exhaustion, or potentially some integer overflows ++ if (sizeof(VDAgentMessage) + MAX_MONITOR_CONFIG_SIZE - cmc->buffer_size < size) { ++ goto overflow; ++ } + cmc->buffer_size += size; + cmc->buffer = realloc(cmc->buffer, cmc->buffer_size); + spice_assert(cmc->buffer); + cmc->mcc = mcc; + memcpy(cmc->buffer + cmc->buffer_pos, message, size); + cmc->buffer_pos += size; ++ if (sizeof(VDAgentMessage) > cmc->buffer_size) { ++ spice_debug("not enough data yet. %d", cmc->buffer_size); ++ return; ++ } + msg_header = (VDAgentMessage *)cmc->buffer; +- if (sizeof(VDAgentMessage) > cmc->buffer_size || +- msg_header->size > cmc->buffer_size - sizeof(VDAgentMessage)) { ++ if (msg_header->size > MAX_MONITOR_CONFIG_SIZE) { ++ goto overflow; ++ } ++ if (msg_header->size > cmc->buffer_size - sizeof(VDAgentMessage)) { + spice_debug("not enough data yet. %d", cmc->buffer_size); + return; + } +@@ -1013,6 +1028,12 @@ static void reds_on_main_agent_monitors_config( + spice_debug("%s: %d", __func__, monitors_config->num_of_monitors); + red_dispatcher_client_monitors_config(monitors_config); + reds_client_monitors_config_cleanup(); ++ return; ++ ++overflow: ++ spice_warning("received invalid MonitorsConfig request from client, disconnecting"); ++ red_channel_client_disconnect(main_channel_client_get_base(mcc)); ++ reds_client_monitors_config_cleanup(); + } + + void reds_on_main_agent_data(MainChannelClient *mcc, void *message, size_t size) +-- +2.11.0 + diff --git a/package/spice/0005-reds-Avoid-integer-overflows-handling-monitor-config.patch b/package/spice/0005-reds-Avoid-integer-overflows-handling-monitor-config.patch new file mode 100644 index 0000000000..98740520c1 --- /dev/null +++ b/package/spice/0005-reds-Avoid-integer-overflows-handling-monitor-config.patch @@ -0,0 +1,31 @@ +From ec6229c79abe05d731953df5f7e9a05ec9f6df79 Mon Sep 17 00:00:00 2001 +From: Frediano Ziglio +Date: Mon, 15 May 2017 15:57:28 +0100 +Subject: [PATCH] reds: Avoid integer overflows handling monitor + configuration + +Avoid VDAgentMessage::size integer overflows. + +Signed-off-by: Frediano Ziglio +Signed-off-by: Peter Korsgaard +--- + server/reds.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/server/reds.c b/server/reds.c +index 7be85fdf..e1c8c108 100644 +--- a/server/reds.c ++++ b/server/reds.c +@@ -1024,6 +1024,9 @@ static void reds_on_main_agent_monitors_config( + spice_debug("not enough data yet. %d", cmc->buffer_size); + return; + } ++ if (msg_header->size < sizeof(VDAgentMonitorsConfig)) { ++ goto overflow; ++ } + monitors_config = (VDAgentMonitorsConfig *)(cmc->buffer + sizeof(*msg_header)); + spice_debug("%s: %d", __func__, monitors_config->num_of_monitors); + red_dispatcher_client_monitors_config(monitors_config); +-- +2.11.0 + diff --git a/package/spice/0006-reds-Avoid-buffer-overflows-handling-monitor-configu.patch b/package/spice/0006-reds-Avoid-buffer-overflows-handling-monitor-configu.patch new file mode 100644 index 0000000000..212645b44f --- /dev/null +++ b/package/spice/0006-reds-Avoid-buffer-overflows-handling-monitor-configu.patch @@ -0,0 +1,48 @@ +From a957a90baf2c62d31f3547e56bba7d0e812d2331 Mon Sep 17 00:00:00 2001 +From: Frediano Ziglio +Date: Mon, 15 May 2017 15:57:28 +0100 +Subject: [PATCH] reds: Avoid buffer overflows handling monitor + configuration + +It was also possible for a malicious client to set +VDAgentMonitorsConfig::num_of_monitors to a number larger +than the actual size of VDAgentMOnitorsConfig::monitors. +This would lead to buffer overflows, which could allow the guest to +read part of the host memory. This might cause write overflows in the +host as well, but controlling the content of such buffers seems +complicated. + +Signed-off-by: Frediano Ziglio +Signed-off-by: Peter Korsgaard +--- + server/reds.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/server/reds.c b/server/reds.c +index e1c8c108..3a42c375 100644 +--- a/server/reds.c ++++ b/server/reds.c +@@ -1000,6 +1000,7 @@ static void reds_on_main_agent_monitors_config( + VDAgentMessage *msg_header; + VDAgentMonitorsConfig *monitors_config; + RedsClientMonitorsConfig *cmc = &reds->client_monitors_config; ++ uint32_t max_monitors; + + // limit size of message sent by the client as this can cause a DoS through + // memory exhaustion, or potentially some integer overflows +@@ -1028,6 +1029,12 @@ static void reds_on_main_agent_monitors_config( + goto overflow; + } + monitors_config = (VDAgentMonitorsConfig *)(cmc->buffer + sizeof(*msg_header)); ++ // limit the monitor number to avoid buffer overflows ++ max_monitors = (msg_header->size - sizeof(VDAgentMonitorsConfig)) / ++ sizeof(VDAgentMonConfig); ++ if (monitors_config->num_of_monitors > max_monitors) { ++ goto overflow; ++ } + spice_debug("%s: %d", __func__, monitors_config->num_of_monitors); + red_dispatcher_client_monitors_config(monitors_config); + reds_client_monitors_config_cleanup(); +-- +2.11.0 + diff --git a/package/spice/Config.in b/package/spice/Config.in index bde3a92859..2241b55b3d 100644 --- a/package/spice/Config.in +++ b/package/spice/Config.in @@ -2,23 +2,15 @@ comment "spice server needs a toolchain w/ wchar, threads" depends on BR2_i386 || BR2_x86_64 depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS -comment "spice server depends on python (for pyparsing)" - depends on BR2_i386 || BR2_x86_64 - depends on !BR2_PACKAGE_PYTHON - config BR2_PACKAGE_SPICE bool "spice server" depends on BR2_i386 || BR2_x86_64 - depends on BR2_PACKAGE_PYTHON depends on BR2_USE_WCHAR # libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 - select BR2_PACKAGE_ALSA_LIB - select BR2_PACKAGE_CELT051 select BR2_PACKAGE_JPEG select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_PIXMAN - select BR2_PACKAGE_PYTHON_PYPARSING select BR2_PACKAGE_SPICE_PROTOCOL help The Spice project aims to provide a complete open source @@ -30,41 +22,3 @@ config BR2_PACKAGE_SPICE This package implements the server-part of Spice. http://www.spice-space.org/ - -if BR2_PACKAGE_SPICE - -comment "client depends on X.org" - depends on !BR2_PACKAGE_XORG7 - -config BR2_PACKAGE_SPICE_CLIENT - bool "Enable client" - depends on BR2_PACKAGE_XORG7 - depends on BR2_TOOLCHAIN_HAS_THREADS - depends on BR2_INSTALL_LIBSTDCPP - select BR2_PACKAGE_XLIB_LIBXFIXES - select BR2_PACKAGE_XLIB_LIBXRANDR - -comment "client needs a toolchain w/ threads, C++" - depends on BR2_PACKAGE_XORG7 - depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP - -config BR2_PACKAGE_SPICE_GUI - bool "Enable GUI" - depends on BR2_PACKAGE_SPICE_CLIENT - depends on !BR2_STATIC_LIBS - select BR2_PACKAGE_CEGUI06 - help - Say 'y' here to enable the Graphical User Interface (GUI) - start dialog. - -comment "gui needs a toolchain w/ dynamic library" - depends on BR2_STATIC_LIBS - -config BR2_PACKAGE_SPICE_TUNNEL - bool "Enable network redirection" - select BR2_PACKAGE_SLIRP - help - Say 'y' here to enable network redirection, aka tunnelling - through a SLIP/SLIRP session. - -endif # BR2_PACKAGE_SPICE diff --git a/package/spice/spice.hash b/package/spice/spice.hash index c4d63198fb..c9b591f41d 100644 --- a/package/spice/spice.hash +++ b/package/spice/spice.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 cf063e7df42e331a835529d2f613d8a01f8cb2963e8edaadf73a8d65c46fb387 spice-0.12.4.tar.bz2 +sha256 f901a5c5873d61acac84642f9eea5c4d6386fc3e525c2b68792322794e1c407d spice-0.12.8.tar.bz2 diff --git a/package/spice/spice.mk b/package/spice/spice.mk index 61a977225e..7b09f39fe7 100644 --- a/package/spice/spice.mk +++ b/package/spice/spice.mk @@ -4,61 +4,54 @@ # ################################################################################ -SPICE_VERSION = 0.12.4 +SPICE_VERSION = 0.12.8 SPICE_SOURCE = spice-$(SPICE_VERSION).tar.bz2 SPICE_SITE = http://www.spice-space.org/download/releases -SPICE_LICENSE = LGPLv2.1+ +SPICE_LICENSE = LGPL-2.1+ SPICE_LICENSE_FILES = COPYING SPICE_INSTALL_STAGING = YES -SPICE_DEPENDENCIES = \ - alsa-lib \ - celt051 \ - jpeg \ - libglib2 \ - openssl \ - pixman \ - python-pyparsing \ - spice-protocol \ +SPICE_DEPENDENCIES = \ + jpeg \ + libglib2 \ + openssl \ + pixman \ + spice-protocol # We disable everything for now, because the dependency tree can become # quite deep if we try to enable some features, and I have not tested that. -SPICE_CONF_OPTS = \ - --disable-opengl \ - --disable-smartcard \ +SPICE_CONF_OPTS = \ + --disable-opengl \ + --disable-smartcard \ --disable-automated-tests \ - --without-sasl \ + --without-sasl \ + --disable-manual SPICE_DEPENDENCIES += host-pkgconf -ifeq ($(BR2_PACKAGE_SPICE_CLIENT),y) -SPICE_CONF_OPTS += --enable-client -SPICE_DEPENDENCIES += xlib_libXfixes xlib_libXrandr +ifeq ($(BR2_PACKAGE_CELT051),y) +SPICE_CONF_OPTS += --enable-celt051 +SPICE_DEPENDENCIES += celt051 else -SPICE_CONF_OPTS += --disable-client +SPICE_CONF_OPTS += --disable-celt051 endif -ifeq ($(BR2_PACKAGE_SPICE_GUI),y) -SPICE_CONF_OPTS += --enable-gui -SPICE_DEPENDENCIES += cegui06 +ifeq ($(BR2_PACKAGE_LZ4),y) +SPICE_CONF_OPTS += --enable-lz4 +SPICE_DEPENDENCIES += lz4 else -SPICE_CONF_OPTS += --disable-gui +SPICE_CONF_OPTS += --disable-lz4 endif -ifeq ($(BR2_PACKAGE_SPICE_TUNNEL),y) -SPICE_CONF_OPTS += --enable-tunnel -SPICE_DEPENDENCIES += slirp -else -SPICE_CONF_OPTS += --disable-tunnel +# no enable/disable, detected using pkg-config +ifeq ($(BR2_PACKAGE_OPUS),y) +SPICE_DEPENDENCIES += opus endif -SPICE_CONF_ENV = PYTHONPATH=$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages -SPICE_MAKE_ENV = PYTHONPATH=$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages - # We need to tweak spice.pc because it /forgets/ (for static linking) that # it should link against libz and libjpeg. libz is pkg-config-aware, while # libjpeg isn't, hence the two-line tweak define SPICE_POST_INSTALL_STAGING_FIX_PC - $(SED) 's/^\(Requires.private:.*\)$$/\1 zlib/; s/^\(Libs.private:.*\)$$/\1 -ljpeg/;' \ + $(SED) 's/^\(Requires.private:.*\)$$/\1 zlib/; s/^\(Libs.private:.*\)$$/\1 -ljpeg/;' \ "$(STAGING_DIR)/usr/lib/pkgconfig/spice-server.pc" endef SPICE_POST_INSTALL_STAGING_HOOKS += SPICE_POST_INSTALL_STAGING_FIX_PC diff --git a/package/spidev_test/spidev_test.hash b/package/spidev_test/spidev_test.hash index 6871288ccc..7bc4a27e45 100644 --- a/package/spidev_test/spidev_test.hash +++ b/package/spidev_test/spidev_test.hash @@ -1,3 +1,3 @@ # Locally calculated sha256 80471c330d8c0bf5ba6479c434a54a54bdd2dc59a703b9c76c2541ec04cfb8c3 spidev_test.c?id=v3.0 -sha256 57fa6c534e0b7b4d234075e18bc89e2f3c9fc4ecc27e80f349a8057708e0de46 spidev_test.c?id=v3.15 +sha256 3cf76b15d9a8644f3f5cbc0387cc02a7d4a392ade39788cbc6367cce98552e2f spidev_test.c?id=v4.10 diff --git a/package/spidev_test/spidev_test.mk b/package/spidev_test/spidev_test.mk index 52441bb3da..1d657803b4 100644 --- a/package/spidev_test/spidev_test.mk +++ b/package/spidev_test/spidev_test.mk @@ -4,17 +4,23 @@ # ################################################################################ +# Build the latest version that is compatible with the toolchain's kernel headers # v3.15+ requires SPI_TX_QUAD/SPI_RX_QUAD to build # Normally kernel headers can't be newer than kernel so switch based on that. # If you need quad-pumped spi support you need to upgrade your toolchain. +# Note that the location of spidev_test.c changes from v4.5 onwards. + ifeq ($(BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15),y) -SPIDEV_TEST_VERSION = v3.15 +SPIDEV_TEST_VERSION = v4.10 +SPIDEV_TEST_PATH = tools/spi else SPIDEV_TEST_VERSION = v3.0 +SPIDEV_TEST_PATH = Documentation/spi endif -SPIDEV_TEST_SITE = http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/plain/Documentation/spi + +SPIDEV_TEST_SITE = http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/plain/$(SPIDEV_TEST_PATH) SPIDEV_TEST_SOURCE = spidev_test.c?id=$(SPIDEV_TEST_VERSION) -SPIDEV_TEST_LICENSE = GPLv2 +SPIDEV_TEST_LICENSE = GPL-2.0 # musl libc requires linux/ioctl.h for _IOC_SIZEBITS. Do a sed patch to keep # compatibility with different spidev_test.c versions that we support. @@ -26,7 +32,7 @@ endef SPIDEV_TEST_POST_PATCH_HOOKS += SPIDEV_ADD_LINUX_IOCTL define SPIDEV_TEST_EXTRACT_CMDS - cp $(BR2_DL_DIR)/$(SPIDEV_TEST_SOURCE) $(@D)/spidev_test.c + cp $(DL_DIR)/$(SPIDEV_TEST_SOURCE) $(@D)/spidev_test.c endef define SPIDEV_TEST_BUILD_CMDS diff --git a/package/sqlcipher/sqlcipher.mk b/package/sqlcipher/sqlcipher.mk index 196f16275b..db94d06c54 100644 --- a/package/sqlcipher/sqlcipher.mk +++ b/package/sqlcipher/sqlcipher.mk @@ -11,7 +11,7 @@ SQLCIPHER_INSTALL_STAGING = YES SQLCIPHER_CONF_ENV = \ CFLAGS="$(TARGET_CFLAGS) $(SQLCIPHER_CFLAGS)" \ - TCLSH_CMD=$(HOST_DIR)/usr/bin/tclsh$(TCL_VERSION_MAJOR) + TCLSH_CMD=$(HOST_DIR)/bin/tclsh$(TCL_VERSION_MAJOR) SQLCIPHER_CONF_OPTS = \ --enable-threadsafe \ diff --git a/package/sqlite/Config.in b/package/sqlite/Config.in index c9fde53b36..eec41c5332 100644 --- a/package/sqlite/Config.in +++ b/package/sqlite/Config.in @@ -22,6 +22,12 @@ config BR2_PACKAGE_SQLITE_ENABLE_FTS3 (see http://www.sqlite.org/amalgamation.html), version 3 of the full-text search engine is added to the build automatically. +config BR2_PACKAGE_SQLITE_ENABLE_JSON1 + bool "Enable the JSON extensions for SQLite" + help + When this option is defined in the amalgamation, the JSON + extensions are added to the build automatically. + config BR2_PACKAGE_SQLITE_ENABLE_UNLOCK_NOTIFY bool "Enable sqlite3_unlock_notify() interface" help diff --git a/package/sqlite/sqlite.hash b/package/sqlite/sqlite.hash index bb3707da5e..be5820e1f8 100644 --- a/package/sqlite/sqlite.hash +++ b/package/sqlite/sqlite.hash @@ -1,4 +1,6 @@ # From http://www.sqlite.org/download.html -sha1 64ca578ad44a94115b1db0406740e14288f74bb8 sqlite-autoconf-3160200.tar.gz +sha1 f56fe3407d8297fc0a68a058f4c9e6b77e83575c sqlite-autoconf-3210000.tar.gz # Calculated based on the hash above -sha256 65cc0c3e9366f50c0679c5ccd31432cea894bc4a3e8947dabab88c8693263615 sqlite-autoconf-3160200.tar.gz +sha256 d7dd516775005ad87a57f428b6f86afd206cb341722927f104d3f0cf65fbbbe3 sqlite-autoconf-3210000.tar.gz +# Locally calculated +sha256 66e056b6e8687f32af30d5187611b98b12a8f46f07aaf62f43585f276e8f0ac9 tea/license.terms diff --git a/package/sqlite/sqlite.mk b/package/sqlite/sqlite.mk index 790caaf4df..5239592f18 100644 --- a/package/sqlite/sqlite.mk +++ b/package/sqlite/sqlite.mk @@ -4,7 +4,7 @@ # ################################################################################ -SQLITE_VERSION = 3160200 +SQLITE_VERSION = 3210000 SQLITE_SOURCE = sqlite-autoconf-$(SQLITE_VERSION).tar.gz SQLITE_SITE = http://www.sqlite.org/2017 SQLITE_LICENSE = Public domain @@ -19,6 +19,10 @@ ifeq ($(BR2_PACKAGE_SQLITE_ENABLE_FTS3),y) SQLITE_CFLAGS += -DSQLITE_ENABLE_FTS3 endif +ifeq ($(BR2_PACKAGE_SQLITE_ENABLE_JSON1),y) +SQLITE_CFLAGS += -DSQLITE_ENABLE_JSON1 +endif + ifeq ($(BR2_PACKAGE_SQLITE_ENABLE_UNLOCK_NOTIFY),y) SQLITE_CFLAGS += -DSQLITE_ENABLE_UNLOCK_NOTIFY endif diff --git a/package/squashfs/squashfs.hash b/package/squashfs/squashfs.hash index eb456be364..74fdb44354 100644 --- a/package/squashfs/squashfs.hash +++ b/package/squashfs/squashfs.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 e807202ab4dcfeea214df49d3a728b9a85644a7e7262fc6fcd875a0def99d4ed squashfs-9c1db6d13a51a2e009f0027ef336ce03624eac0d.tar.gz +sha256 2c49392816615b73bf5d6cdce9776cb66a01f5a1494b1d9af580667e32bab001 squashfs-3de1687d7432ea9b302c2db9521996f506c140a3.tar.gz diff --git a/package/squashfs/squashfs.mk b/package/squashfs/squashfs.mk index 4f84872319..9599d892b2 100644 --- a/package/squashfs/squashfs.mk +++ b/package/squashfs/squashfs.mk @@ -7,7 +7,7 @@ SQUASHFS_VERSION = 3de1687d7432ea9b302c2db9521996f506c140a3 SQUASHFS_SITE = https://git.kernel.org/pub/scm/fs/squashfs/squashfs-tools.git SQUASHFS_SITE_METHOD = git -SQUASHFS_LICENSE = GPLv2+ +SQUASHFS_LICENSE = GPL-2.0+ SQUASHFS_LICENSE_FILES = COPYING SQUASHFS_MAKE_ARGS = XATTR_SUPPORT=1 @@ -50,16 +50,16 @@ HOST_SQUASHFS_DEPENDENCIES = host-zlib host-lz4 host-lzo host-xz HOST_SQUASHFS_MAKE_ARGS = \ XATTR_SUPPORT=1 \ - XZ_SUPPORT=1 \ - GZIP_SUPPORT=1 \ - LZ4_SUPPORT=1 \ - LZO_SUPPORT=1 \ + XZ_SUPPORT=1 \ + GZIP_SUPPORT=1 \ + LZ4_SUPPORT=1 \ + LZO_SUPPORT=1 \ LZMA_XZ_SUPPORT=1 define SQUASHFS_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) \ - CC="$(TARGET_CC)" \ - EXTRA_CFLAGS="$(TARGET_CFLAGS)" \ + $(TARGET_MAKE_ENV) $(MAKE) \ + CC="$(TARGET_CC)" \ + EXTRA_CFLAGS="$(TARGET_CFLAGS) -fgnu89-inline" \ EXTRA_LDFLAGS="$(TARGET_LDFLAGS)" \ $(SQUASHFS_MAKE_ARGS) \ -C $(@D)/squashfs-tools/ @@ -73,7 +73,7 @@ endef define HOST_SQUASHFS_BUILD_CMDS $(HOST_MAKE_ENV) $(MAKE) \ CC="$(HOSTCC)" \ - EXTRA_CFLAGS="$(HOST_CFLAGS)" \ + EXTRA_CFLAGS="$(HOST_CFLAGS)" \ EXTRA_LDFLAGS="$(HOST_LDFLAGS)" \ $(HOST_SQUASHFS_MAKE_ARGS) \ -C $(@D)/squashfs-tools/ @@ -81,7 +81,7 @@ endef define HOST_SQUASHFS_INSTALL_CMDS $(HOST_MAKE_ENV) $(MAKE) $(HOST_SQUASHFS_MAKE_ARGS) \ - -C $(@D)/squashfs-tools/ INSTALL_DIR=$(HOST_DIR)/usr/bin install + -C $(@D)/squashfs-tools/ INSTALL_DIR=$(HOST_DIR)/bin install endef $(eval $(generic-package)) diff --git a/package/squeezelite/squeezelite.mk b/package/squeezelite/squeezelite.mk index 7a82f4a026..3b23b103c6 100644 --- a/package/squeezelite/squeezelite.mk +++ b/package/squeezelite/squeezelite.mk @@ -6,7 +6,7 @@ SQUEEZELITE_VERSION = v1.8 SQUEEZELITE_SITE = $(call github,robadenshi,squeezelite,$(SQUEEZELITE_VERSION)) -SQUEEZELITE_LICENSE = GPLv3 +SQUEEZELITE_LICENSE = GPL-3.0 SQUEEZELITE_LICENSE_FILES = LICENSE.txt SQUEEZELITE_DEPENDENCIES = alsa-lib flac libmad libvorbis faad2 mpg123 SQUEEZELITE_MAKE_OPTS = -DLINKALL diff --git a/package/squid/squid.hash b/package/squid/squid.hash index d9b7924de1..91ba9e6fc4 100644 --- a/package/squid/squid.hash +++ b/package/squid/squid.hash @@ -1,3 +1,3 @@ -# From http://www.squid-cache.org/Versions/v3/3.5/squid-3.5.24.tar.xz.asc -md5 3fae511e16b6379b61c011914673973d squid-3.5.24.tar.xz -sha1 f203637783301a4b86e554b6dd226de721762ae5 squid-3.5.24.tar.xz +# From http://www.squid-cache.org/Versions/v3/3.5/squid-3.5.26.tar.xz.asc +md5 510e2c84773879c00d0e7ced997864d9 squid-3.5.26.tar.xz +sha1 51a664217957b35de8b7fae180b9f93a759a4204 squid-3.5.26.tar.xz diff --git a/package/squid/squid.mk b/package/squid/squid.mk index cf0378a8d2..d334d14c88 100644 --- a/package/squid/squid.mk +++ b/package/squid/squid.mk @@ -5,10 +5,10 @@ ################################################################################ SQUID_VERSION_MAJOR = 3.5 -SQUID_VERSION = $(SQUID_VERSION_MAJOR).24 +SQUID_VERSION = $(SQUID_VERSION_MAJOR).26 SQUID_SOURCE = squid-$(SQUID_VERSION).tar.xz SQUID_SITE = http://www.squid-cache.org/Versions/v3/$(SQUID_VERSION_MAJOR) -SQUID_LICENSE = GPLv2+ +SQUID_LICENSE = GPL-2.0+ SQUID_LICENSE_FILES = COPYING # For 0001-assume-get-certificate-ok.patch SQUID_AUTORECONF = YES @@ -21,7 +21,7 @@ SQUID_CONF_ENV = \ ac_cv_func___va_copy=yes \ ac_cv_func_strnstr=no \ ac_cv_have_squid=yes \ - BUILXCXX="$(HOSTCXX)" \ + BUILDCXX="$(HOSTCXX)" \ BUILDCXXFLAGS="$(HOST_CXXFLAGS)" SQUID_CONF_OPTS = \ --enable-async-io=8 \ @@ -50,11 +50,6 @@ else SQUID_CONF_ENV += squid_cv_gnu_atomics=no endif -# On uClibc librt needs libpthread -ifeq ($(BR2_TOOLCHAIN_HAS_THREADS)$(BR2_TOOLCHAIN_USES_UCLIBC),yy) -SQUID_CONF_ENV += ac_cv_search_shm_open="-lrt -lpthread" -endif - ifeq ($(BR2_PACKAGE_OPENSSL),y) SQUID_CONF_OPTS += --with-openssl SQUID_DEPENDENCIES += openssl diff --git a/package/sredird/sredird.mk b/package/sredird/sredird.mk index b564f1ac2a..723c10acd6 100644 --- a/package/sredird/sredird.mk +++ b/package/sredird/sredird.mk @@ -6,7 +6,7 @@ SREDIRD_VERSION = 2.2.2 SREDIRD_SITE = http://www.ibiblio.org/pub/Linux/system/serial -SREDIRD_LICENSE = GPLv2+ +SREDIRD_LICENSE = GPL-2.0+ SREDIRD_LICENSE_FILES = COPYING define SREDIRD_BUILD_CMDS diff --git a/package/sshfs/Config.in b/package/sshfs/Config.in index 31fef9fc86..54e92c6f8a 100644 --- a/package/sshfs/Config.in +++ b/package/sshfs/Config.in @@ -1,14 +1,13 @@ config BR2_PACKAGE_SSHFS bool "sshfs (FUSE)" - select BR2_PACKAGE_LIBFUSE - select BR2_PACKAGE_LIBGLIB2 - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE - select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE - select BR2_PACKAGE_OPENSSH depends on BR2_USE_WCHAR # glib2 depends on BR2_TOOLCHAIN_HAS_THREADS # libfuse, glib2 depends on BR2_USE_MMU # libfuse, glib2 depends on !BR2_STATIC_LIBS # libfuse + select BR2_PACKAGE_LIBFUSE + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE + select BR2_PACKAGE_OPENSSH help FUSE filesystem client based on the SSH File Transfer Protocol. diff --git a/package/sshfs/sshfs.mk b/package/sshfs/sshfs.mk index de4c361d9f..ee96ad67e8 100644 --- a/package/sshfs/sshfs.mk +++ b/package/sshfs/sshfs.mk @@ -6,11 +6,11 @@ SSHFS_VERSION = 2.8 SSHFS_SITE = https://github.com/libfuse/sshfs/releases/download/sshfs_$(SSHFS_VERSION) -SSHFS_LICENSE = GPLv2 +SSHFS_LICENSE = GPL-2.0 SSHFS_LICENSE_FILES = COPYING SSHFS_DEPENDENCIES = \ libglib2 libfuse openssh \ - $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) \ + $(TARGET_NLS_DEPENDENCIES) \ $(if $(BR2_ENABLE_LOCALE),,libiconv) $(eval $(autotools-package)) diff --git a/package/sshpass/sshpass.mk b/package/sshpass/sshpass.mk index de46604812..6c14f0fe7d 100644 --- a/package/sshpass/sshpass.mk +++ b/package/sshpass/sshpass.mk @@ -6,7 +6,7 @@ SSHPASS_VERSION = 1.06 SSHPASS_SITE = http://downloads.sourceforge.net/project/sshpass/sshpass/$(SSHPASS_VERSION) -SSHPASS_LICENSE = GPLv2+ +SSHPASS_LICENSE = GPL-2.0+ SSHPASS_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/sslh/sslh.mk b/package/sslh/sslh.mk index 17aafd16c2..3a9223b23a 100644 --- a/package/sslh/sslh.mk +++ b/package/sslh/sslh.mk @@ -6,7 +6,7 @@ SSLH_VERSION = v1.18 SSLH_SITE = http://www.rutschle.net/tech/sslh -SSLH_LICENSE = GPLv2+ +SSLH_LICENSE = GPL-2.0+ SSLH_LICENSE_FILES = COPYING SSLH_DEPENDENCIES = libconfig diff --git a/package/start-stop-daemon/start-stop-daemon.mk b/package/start-stop-daemon/start-stop-daemon.mk index 5aac541707..7071f5617e 100644 --- a/package/start-stop-daemon/start-stop-daemon.mk +++ b/package/start-stop-daemon/start-stop-daemon.mk @@ -23,7 +23,7 @@ START_STOP_DAEMON_DEPENDENCIES = host-pkgconf \ $(if $(BR2_PACKAGE_BUSYBOX),busybox) # Patching m4/dpkg-arch.m4 START_STOP_DAEMON_AUTORECONF = YES -START_STOP_DAEMON_LICENSE = GPLv2+ +START_STOP_DAEMON_LICENSE = GPL-2.0+ START_STOP_DAEMON_LICENSE_FILES = COPYING define START_STOP_DAEMON_BUILD_CMDS diff --git a/package/startup-notification/Config.in b/package/startup-notification/Config.in index 1fc6dad1e7..24771ea0f4 100644 --- a/package/startup-notification/Config.in +++ b/package/startup-notification/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_STARTUP_NOTIFICATION bool "startup-notification" - select BR2_PACKAGE_XLIB_LIBX11 depends on BR2_PACKAGE_XORG7 depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_XLIB_LIBX11 help Startup-notification is a library used to monitor application startup. diff --git a/package/startup-notification/startup-notification.mk b/package/startup-notification/startup-notification.mk index e8dd0a35b6..b3314087f5 100644 --- a/package/startup-notification/startup-notification.mk +++ b/package/startup-notification/startup-notification.mk @@ -12,7 +12,7 @@ STARTUP_NOTIFICATION_CONF_ENV = lf_cv_sane_realloc=yes STARTUP_NOTIFICATION_CONF_OPTS = --with-x \ --x-includes="$(STAGING_DIR)/usr/include/X11" \ --x-libraries="$(STAGING_DIR)/usr/lib" -STARTUP_NOTIFICATION_LICENSE = LGPLv2 +STARTUP_NOTIFICATION_LICENSE = LGPL-2.0 STARTUP_NOTIFICATION_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/statserial/statserial.mk b/package/statserial/statserial.mk index 22b468ebb8..f9b131fc65 100644 --- a/package/statserial/statserial.mk +++ b/package/statserial/statserial.mk @@ -7,7 +7,7 @@ STATSERIAL_VERSION = 1.1 STATSERIAL_SITE = http://www.ibiblio.org/pub/Linux/system/serial STATSERIAL_DEPENDENCIES = ncurses -STATSERIAL_LICENSE = GPLv2+ +STATSERIAL_LICENSE = GPL-2.0+ STATSERIAL_LICENSE_FILES = COPYING define STATSERIAL_BUILD_CMDS diff --git a/package/stella/0001-Add-cross-compilation-support.patch b/package/stella/0001-Add-cross-compilation-support.patch index 3266d31d26..1aefd86cf4 100644 --- a/package/stella/0001-Add-cross-compilation-support.patch +++ b/package/stella/0001-Add-cross-compilation-support.patch @@ -1,6 +1,6 @@ -From fba2627bebc7d497f64827a0517316e9b5c64c0a Mon Sep 17 00:00:00 2001 +From ef1cffc526d3cf9562d50efbf8addc2aa4c06b52 Mon Sep 17 00:00:00 2001 From: Sergio Prado -Date: Tue, 26 Jul 2016 13:24:00 -0300 +Date: Sun, 30 Jul 2017 18:23:23 -0300 Subject: [PATCH 1/2] Add cross-compilation support Signed-off-by: Sergio Prado @@ -9,10 +9,10 @@ Signed-off-by: Sergio Prado 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/configure b/configure -index 0d90a4f0acde..a4afea8e1880 100755 +index c2f304729651..b05321aac3da 100755 --- a/configure +++ b/configure -@@ -502,8 +502,9 @@ if test -n "$_host"; then +@@ -499,8 +499,9 @@ if test -n "$_host"; then _host_os=win32 ;; *) @@ -23,7 +23,7 @@ index 0d90a4f0acde..a4afea8e1880 100755 + _host_os=unix ;; esac - + -- 1.9.1 diff --git a/package/stella/0002-Do-not-strip-when-installing.patch b/package/stella/0002-Do-not-strip-when-installing.patch index cba4b088fd..8a95a81a5a 100644 --- a/package/stella/0002-Do-not-strip-when-installing.patch +++ b/package/stella/0002-Do-not-strip-when-installing.patch @@ -1,6 +1,6 @@ -From a86140353cb2e162d88da9caa1716915be2f6893 Mon Sep 17 00:00:00 2001 +From d506a586b299682a425d3c3de68baefb7221fa9a Mon Sep 17 00:00:00 2001 From: Sergio Prado -Date: Tue, 26 Jul 2016 13:25:12 -0300 +Date: Sun, 30 Jul 2017 18:25:12 -0300 Subject: [PATCH 2/2] Do not strip when installing Signed-off-by: Sergio Prado @@ -9,10 +9,10 @@ Signed-off-by: Sergio Prado 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile -index 6dd0129587b3..b1aea5eed4a1 100644 +index 346640e53bea..fedaed05a4d6 100644 --- a/Makefile +++ b/Makefile -@@ -172,7 +172,7 @@ config.mak: $(srcdir)/configure +@@ -173,7 +173,7 @@ config.mak: $(srcdir)/configure install: all $(INSTALL) -d "$(DESTDIR)$(BINDIR)" diff --git a/package/stella/0003-Fix-error-when-building-with-uClibc-ng.patch b/package/stella/0003-Fix-error-when-building-with-uClibc-ng.patch new file mode 100644 index 0000000000..ffbc83187b --- /dev/null +++ b/package/stella/0003-Fix-error-when-building-with-uClibc-ng.patch @@ -0,0 +1,54 @@ +From 36d5c8bc3592b4dffbec222a179c3956787a0694 Mon Sep 17 00:00:00 2001 +From: Sergio Prado +Date: Sat, 9 Sep 2017 15:04:58 -0300 +Subject: [PATCH] Fix error when building with uClibc-ng +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The uClibc-ng C library defines a type called R0 that conflits with a +global variable called R0 from PaddleReader.cxx. + +src/emucore/tia/PaddleReader.cxx:25:3: error: ‘constexpr const double R0’ redeclared as different kind of symbol + R0 = 1.5e3, + ^ +/home/sprado/workspace/build/buildroot/build/stella_uclibc/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/sys/ucontext.h:42:3: note: previous declaration ‘ R0’ + R0 = 0, + ^~ + +So let's redefine R0 as a private member of the PaddleReader class. + +Signed-off-by: Sergio Prado +--- + src/emucore/tia/PaddleReader.cxx | 1 - + src/emucore/tia/PaddleReader.hxx | 2 ++ + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/emucore/tia/PaddleReader.cxx b/src/emucore/tia/PaddleReader.cxx +index 69c828ea6c5c..27ff828200ee 100644 +--- a/src/emucore/tia/PaddleReader.cxx ++++ b/src/emucore/tia/PaddleReader.cxx +@@ -22,7 +22,6 @@ + static constexpr double + C = 68e-9, + RPOT = 1e6, +- R0 = 1.5e3, + USUPP = 5; + + static constexpr double TRIPPOINT_LINES = 379; +diff --git a/src/emucore/tia/PaddleReader.hxx b/src/emucore/tia/PaddleReader.hxx +index 00238a4fe5b5..0032e6efd015 100644 +--- a/src/emucore/tia/PaddleReader.hxx ++++ b/src/emucore/tia/PaddleReader.hxx +@@ -65,6 +65,8 @@ class PaddleReader : public Serializable + + bool myIsDumped; + ++ static constexpr double R0 = 1.5e3; ++ + private: + PaddleReader(const PaddleReader&) = delete; + PaddleReader(PaddleReader&&) = delete; +-- +1.9.1 + diff --git a/package/stella/0003-configure-Add-CXXFLAGS-for-test-compilations.patch b/package/stella/0003-configure-Add-CXXFLAGS-for-test-compilations.patch deleted file mode 100644 index c548d0825f..0000000000 --- a/package/stella/0003-configure-Add-CXXFLAGS-for-test-compilations.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 28f0c20302e5c64712899848cae3d0a48a9dc952 Mon Sep 17 00:00:00 2001 -From: Vlad Zakharov -Date: Wed, 10 Aug 2016 18:02:59 +0300 -Subject: [PATCH] configure: Add $CXXFLAGS for test compilations - -Why we are passing only linker flags when compiling test code? -Loosing compiler flags leads to errors. - -Signed-off-by: Vlad Zakharov ---- - configure | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/configure b/configure -index 0d90a4f..618fe78 100755 ---- a/configure -+++ b/configure -@@ -63,9 +63,9 @@ cc_check() { - echo >> "$TMPLOG" - cat "$TMPC" >> "$TMPLOG" - echo >> "$TMPLOG" -- echo "$CXX $TMPC $LDFLAGS -o $TMPO$EXEEXT $@" >> "$TMPLOG" -+ echo "$CXX $TMPC $CXXFLAGS $LDFLAGS -o $TMPO$EXEEXT $@" >> "$TMPLOG" - rm -f "$TMPO$EXEEXT" -- ( $CXX "$TMPC" $LDFLAGS -o "$TMPO$EXEEXT" "$@" ) >> "$TMPLOG" 2>&1 -+ ( $CXX "$TMPC" $CXXFLAGS $LDFLAGS -o "$TMPO$EXEEXT" "$@" ) >> "$TMPLOG" 2>&1 - TMP="$?" - echo >> "$TMPLOG" - return "$TMP" -@@ -107,9 +107,9 @@ EOF - - if test -n "$_host"; then - # In cross-compiling mode, we cannot run the result -- eval "$1 $LDFLAGS -o tmp_cxx_compiler$EXEEXT tmp_cxx_compiler.cpp 2> /dev/null" && rm -f tmp_cxx_compiler$EXEEXT tmp_cxx_compiler.cpp -+ eval "$1 $CXXFLAGS $LDFLAGS -o tmp_cxx_compiler$EXEEXT tmp_cxx_compiler.cpp 2> /dev/null" && rm -f tmp_cxx_compiler$EXEEXT tmp_cxx_compiler.cpp - else -- eval "$1 $LDFLAGS -o tmp_cxx_compiler$EXEEXT tmp_cxx_compiler.cpp 2> /dev/null" && eval "./tmp_cxx_compiler 2> /dev/null" && rm -f tmp_cxx_compiler$EXEEXT tmp_cxx_compiler.cpp -+ eval "$1 $CXXFLAGS $LDFLAGS -o tmp_cxx_compiler$EXEEXT tmp_cxx_compiler.cpp 2> /dev/null" && eval "./tmp_cxx_compiler 2> /dev/null" && rm -f tmp_cxx_compiler$EXEEXT tmp_cxx_compiler.cpp - fi - } - --- -2.5.5 - diff --git a/package/stella/0004-Use-gnu-11-standard-to-prevent-errors-on-PPC.patch b/package/stella/0004-Use-gnu-11-standard-to-prevent-errors-on-PPC.patch deleted file mode 100644 index 76d12a2cdd..0000000000 --- a/package/stella/0004-Use-gnu-11-standard-to-prevent-errors-on-PPC.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 6946a491cae42b971aad3bc5d822e0e549eca8bd Mon Sep 17 00:00:00 2001 -From: Sergio Prado -Date: Thu, 1 Dec 2016 15:20:33 -0200 -Subject: [PATCH] Use gnu++11 standard to prevent errors on PPC. - -PPC altivec vectorization triggers a bug when compiling with -std=c++11 -because "bool" is redefined in altivec.h. - -Acording to a bug report in GCC, "You need to use -std=g++11 or -undefine bool after the include of altivec.h as context sensitive -keywords is not part of the C++11 standard". - -So let's use gnu++11 standard. - -Signed-off-by: Sergio Prado ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index 6dd0129587b3..6ed50ea4c335 100644 ---- a/Makefile -+++ b/Makefile -@@ -51,7 +51,7 @@ else - endif - CXXFLAGS+= -Wall -Wextra -Wno-unused-parameter -Wno-ignored-qualifiers - ifdef HAVE_GCC -- CXXFLAGS+= -Wno-multichar -Wunused -fno-rtti -Woverloaded-virtual -Wnon-virtual-dtor -std=c++11 -+ CXXFLAGS+= -Wno-multichar -Wunused -fno-rtti -Woverloaded-virtual -Wnon-virtual-dtor -std=gnu++11 - endif - - ifdef PROFILE --- -1.9.1 - diff --git a/package/stella/Config.in b/package/stella/Config.in index 55f177f753..639b9e4ae7 100644 --- a/package/stella/Config.in +++ b/package/stella/Config.in @@ -1,16 +1,18 @@ config BR2_PACKAGE_STELLA bool "stella" + depends on !BR2_STATIC_LIBS # sdl2 + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14 select BR2_PACKAGE_SDL2 select BR2_PACKAGE_LIBPNG select BR2_PACKAGE_ZLIB - depends on !BR2_STATIC_LIBS # sdl2 - depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 help Stella is a multi-platform Atari 2600 VCS emulator. - http://stella.sourceforge.net/ + https://stella-emu.github.io/ -comment "stella needs a toolchain w/ dynamic library, C++, gcc >= 4.8" +comment "stella needs a toolchain w/ dynamic library, C++, threads, gcc >= 4.9" depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/stella/stella.hash b/package/stella/stella.hash index 71defd28d0..ef17ff75a0 100644 --- a/package/stella/stella.hash +++ b/package/stella/stella.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 b2727a0e2d3b112d35dcb89b4bdc789e2c7f15e9d9c7054a69a2f67facd7416e stella-4.7.2-src.tar.xz +sha256 74ee708b68340b65519a04a22c61921cdcf69a1d308600c212414b28e9e689ac stella-5.0.2-src.tar.xz diff --git a/package/stella/stella.mk b/package/stella/stella.mk index 2e9d57b8c1..158a51109b 100644 --- a/package/stella/stella.mk +++ b/package/stella/stella.mk @@ -4,10 +4,10 @@ # ################################################################################ -STELLA_VERSION = 4.7.2 +STELLA_VERSION = 5.0.2 STELLA_SOURCE = stella-$(STELLA_VERSION)-src.tar.xz -STELLA_SITE = http://downloads.sourceforge.net/stella -STELLA_LICENSE = GPLv2+ +STELLA_SITE = https://github.com/stella-emu/stella/releases/download/$(STELLA_VERSION) +STELLA_LICENSE = GPL-2.0+ STELLA_LICENSE_FILES = Copyright.txt License.txt STELLA_DEPENDENCIES = sdl2 libpng zlib diff --git a/package/stm32flash/Config.in b/package/stm32flash/Config.in index cb6f4805ed..87afe3b8ff 100644 --- a/package/stm32flash/Config.in +++ b/package/stm32flash/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_STM32FLASH bool "stm32flash" help Open source cross platform flash program for the STM32 ARM - microcontrollers using the built-in ST serial bootloader over UART - or I2C. + microcontrollers using the built-in ST serial bootloader + over UART or I2C. http://sourceforge.net/projects/stm32flash/ diff --git a/package/stm32flash/stm32flash.mk b/package/stm32flash/stm32flash.mk index 2c0fa56adc..c41fc76d01 100644 --- a/package/stm32flash/stm32flash.mk +++ b/package/stm32flash/stm32flash.mk @@ -6,7 +6,7 @@ STM32FLASH_VERSION = 4ac0566f188f39eace0223d966d349cd2f2c5895 STM32FLASH_SITE = git://git.code.sf.net/p/stm32flash/code -STM32FLASH_LICENSE = GPLv2+ +STM32FLASH_LICENSE = GPL-2.0+ STM32FLASH_LICENSE_FILES = gpl-2.0.txt define STM32FLASH_BUILD_CMDS diff --git a/package/strace/0001-error_prints-fix-program_invocation_name-type-confli.patch b/package/strace/0001-error_prints-fix-program_invocation_name-type-confli.patch new file mode 100644 index 0000000000..9c982f3cce --- /dev/null +++ b/package/strace/0001-error_prints-fix-program_invocation_name-type-confli.patch @@ -0,0 +1,45 @@ +From 96ad51b91c6ab7ff8bac58f90f199324baed07af Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Fri, 8 Sep 2017 12:08:13 +0300 +Subject: [PATCH] error_prints: fix program_invocation_name type conflict + +uClibc-ng declares program_invocation_name as const. This causes the +build failure below: + +error_prints.c:40:14: error: conflicting types for ‘program_invocation_name’ + extern char *program_invocation_name; + ^~~~~~~~~~~~~~~~~~~~~~~ +In file included from error_prints.c:32:0: +.../output/host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/errno.h:54:20: note: previous declaration of ‘program_invocation_name’ was here + extern const char *program_invocation_name, *program_invocation_short_name; + ^~~~~~~~~~~~~~~~~~~~~~~ +Makefile:3856: recipe for target 'strace-error_prints.o' failed + +Declare program_invocation_name only when the C library does not provide +one. + +Signed-off-by: Baruch Siach +--- +Upstream status: merged, +https://github.com/strace/strace/commit/d45f27147f7d95eb209463dc03dc039ea3f15b59 + + error_prints.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/error_prints.c b/error_prints.c +index 8519b9246698..710e99b04ab9 100644 +--- a/error_prints.c ++++ b/error_prints.c +@@ -37,7 +37,9 @@ + + #include "error_prints.h" + ++#ifndef HAVE_PROGRAM_INVOCATION_NAME + extern char *program_invocation_name; ++#endif + + static void + verror_msg(int err_no, const char *fmt, va_list p) +-- +2.14.1 + diff --git a/package/strace/Config.in b/package/strace/Config.in index bbb582ad53..b84b3fd179 100644 --- a/package/strace/Config.in +++ b/package/strace/Config.in @@ -1,8 +1,14 @@ config BR2_PACKAGE_STRACE bool "strace" + # needs at least kernel headers 4.0 on nios2 + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0 || !BR2_nios2 help A useful diagnostic, instructional, and debugging tool. Allows you to track what system calls a program makes while it is running. - http://sourceforge.net/projects/strace/ + https://strace.io + +comment "strace needs a toolchain w/ headers >= 4.0 on nios2" + depends on BR2_nios2 + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0 diff --git a/package/strace/strace.hash b/package/strace/strace.hash index c7695ff391..cd3ba1de1a 100644 --- a/package/strace/strace.hash +++ b/package/strace/strace.hash @@ -1,3 +1,7 @@ -# From https://sourceforge.net/projects/strace/files/strace/4.15/ -md5 1ff96209fec19914c920608ed0791864 strace-4.15.tar.xz -sha1 18fbaeb07d089023764f618f179091b663a0d21e strace-4.15.tar.xz +# From https://sourceforge.net/projects/strace/files/strace/4.19/ +md5 846a9a26e74e797f42d77a0348104072 strace-4.19.tar.xz +sha1 43091b8a07c227a6ffafd6d0f9536917c9447011 strace-4.19.tar.xz +# Locally calculated after checking signature +# https://sourceforge.net/projects/strace/files/strace/4.19/strace-4.19.tar.xz.asc +sha256 7c93ebc6c29280f47c24a0eb86873a99ccb2cac6512c60a60ba4ef99ab807281 strace-4.19.tar.xz +sha256 ea7ff222f36c9df0aa2924a8f7c7d2aec3ea11e752feba4b15ec79b695b6236a COPYING diff --git a/package/strace/strace.mk b/package/strace/strace.mk index b8de81afd2..dc36021f26 100644 --- a/package/strace/strace.mk +++ b/package/strace/strace.mk @@ -4,10 +4,10 @@ # ################################################################################ -STRACE_VERSION = 4.15 +STRACE_VERSION = 4.19 STRACE_SOURCE = strace-$(STRACE_VERSION).tar.xz STRACE_SITE = http://downloads.sourceforge.net/project/strace/strace/$(STRACE_VERSION) -STRACE_LICENSE = BSD-3c +STRACE_LICENSE = BSD-3-Clause STRACE_LICENSE_FILES = COPYING # strace bundle some kernel headers to build libmpers, this mixes userspace diff --git a/package/streameye/Config.in b/package/streameye/Config.in new file mode 100644 index 0000000000..51bd52f25f --- /dev/null +++ b/package/streameye/Config.in @@ -0,0 +1,3 @@ +config BR2_PACKAGE_STREAMEYE + bool "streameye" + diff --git a/package/streameye/streameye.mk b/package/streameye/streameye.mk new file mode 100644 index 0000000000..3510e1506b --- /dev/null +++ b/package/streameye/streameye.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# streameye +# +################################################################################ + +STREAMEYE_VERSION = ffd6f28a094f70c70893f6e516610459faa15ea2 +STREAMEYE_SITE = $(call github,ccrisan,streameye,$(STREAMEYE_VERSION)) +STREAMEYE_LICENSE = GPLv3 + +define STREAMEYE_BUILD_CMDS + make CC="$(TARGET_CC)" -C "$(@D)" +endef + +define STREAMEYE_INSTALL_TARGET_CMDS + cp $(@D)/streameye $(TARGET_DIR)/usr/bin/ + cp $(@D)/extras/raspimjpeg.py $(TARGET_DIR)/usr/bin/ +endef + +$(eval $(generic-package)) + diff --git a/package/stress-ng/Config.in b/package/stress-ng/Config.in index 20ec93affb..8816322149 100644 --- a/package/stress-ng/Config.in +++ b/package/stress-ng/Config.in @@ -7,8 +7,9 @@ config BR2_PACKAGE_STRESS_NG # perf.c needs PERF_COUNT_HW_REF_CPU_CYCLES depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3 depends on !BR2_microblaze # keyutils - # fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW on nios2 + # fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW on nios2 and ARC depends on !BR2_nios2 + depends on !BR2_arc depends on !BR2_STATIC_LIBS # keyutils select BR2_PACKAGE_KEYUTILS # stress-key.c needs keyutils.h select BR2_PACKAGE_ATTR # stress-xattr.c needs xattr.h @@ -21,7 +22,7 @@ config BR2_PACKAGE_STRESS_NG http://kernel.ubuntu.com/~cking/stress-ng/ comment "stress-ng needs a glibc toolchain w/ dynamic library, headers >= 3.3" - depends on !BR2_microblaze && !BR2_nios2 + depends on !BR2_microblaze && !BR2_nios2 && !BR2_arc depends on BR2_USE_MMU depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3 \ || !BR2_TOOLCHAIN_USES_GLIBC diff --git a/package/stress-ng/stress-ng.mk b/package/stress-ng/stress-ng.mk index b4d4699383..794e87554e 100644 --- a/package/stress-ng/stress-ng.mk +++ b/package/stress-ng/stress-ng.mk @@ -6,7 +6,7 @@ STRESS_NG_VERSION = 0.06.15 STRESS_NG_SITE = http://kernel.ubuntu.com/~cking/tarballs/stress-ng -STRESS_NG_LICENSE = GPLv2+ +STRESS_NG_LICENSE = GPL-2.0+ STRESS_NG_LICENSE_FILES = COPYING STRESS_NG_DEPENDENCIES = attr keyutils diff --git a/package/stress/stress.mk b/package/stress/stress.mk index 1b5ba06a07..4d2d4cb838 100644 --- a/package/stress/stress.mk +++ b/package/stress/stress.mk @@ -6,7 +6,7 @@ STRESS_VERSION = 1.0.4 STRESS_SITE = http://people.seas.harvard.edu/~apw/stress -STRESS_LICENSE = GPLv2+ +STRESS_LICENSE = GPL-2.0+ STRESS_LICENSE_FILES = COPYING # Stress is linked statically if the --enable-static is specified. diff --git a/package/strongswan/0001-af_alg-fix-crypt-definition-conflict.patch b/package/strongswan/0001-af_alg-fix-crypt-definition-conflict.patch new file mode 100644 index 0000000000..442e53eb9e --- /dev/null +++ b/package/strongswan/0001-af_alg-fix-crypt-definition-conflict.patch @@ -0,0 +1,55 @@ +From 0b906cb025a506be1b73e5b485179585d1a90be2 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Thu, 11 May 2017 14:04:47 +0300 +Subject: [PATCH] af_alg: fix crypt() definition conflict + +Rename the crypt() method to avoid conflict with POSIX crypt(). Fixes the +following build failure with musl libc: + +In file included from ../../../../src/libstrongswan/utils/utils.h:53:0, + from ../../../../src/libstrongswan/library.h:101, + from af_alg_ops.h:24, + from af_alg_ops.c:16: +af_alg_ops.c:110:22: error: conflicting types for 'crypt' + METHOD(af_alg_ops_t, crypt, bool, + ^ +../../../../src/libstrongswan/utils/utils/object.h:99:13: note: in definition of macro 'METHOD' + static ret name(union {iface *_public; this;} \ + ^ +In file included from af_alg_ops.c:18:0: +.../host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/unistd.h:144:7: note: previous declaration of 'crypt' was here + char *crypt(const char *, const char *); + ^ + +Signed-off-by: Baruch Siach +--- +Upstream status: https://github.com/strongswan/strongswan/pull/72 + + src/libstrongswan/plugins/af_alg/af_alg_ops.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/libstrongswan/plugins/af_alg/af_alg_ops.c b/src/libstrongswan/plugins/af_alg/af_alg_ops.c +index 331d1e8010aa..452cd1ac30c9 100644 +--- a/src/libstrongswan/plugins/af_alg/af_alg_ops.c ++++ b/src/libstrongswan/plugins/af_alg/af_alg_ops.c +@@ -107,7 +107,7 @@ METHOD(af_alg_ops_t, hash, bool, + return TRUE; + } + +-METHOD(af_alg_ops_t, crypt, bool, ++METHOD(af_alg_ops_t, crypt_, bool, + private_af_alg_ops_t *this, u_int32_t type, chunk_t iv, chunk_t data, + char *out) + { +@@ -224,7 +224,7 @@ af_alg_ops_t *af_alg_ops_create(char *type, char *alg) + .public = { + .hash = _hash, + .reset = _reset, +- .crypt = _crypt, ++ .crypt = _crypt_, + .set_key = _set_key, + .destroy = _destroy, + }, +-- +2.11.0 + diff --git a/package/strongswan/0002-strongswan-add-missing-include-of-stdint.h.patch b/package/strongswan/0002-strongswan-add-missing-include-of-stdint.h.patch new file mode 100644 index 0000000000..d5ca690b2d --- /dev/null +++ b/package/strongswan/0002-strongswan-add-missing-include-of-stdint.h.patch @@ -0,0 +1,32 @@ +From a8fd708ce89d5ffb64a5e8873d49a55094dde898 Mon Sep 17 00:00:00 2001 +From: Matt Weber +Date: Mon, 2 Oct 2017 10:16:36 -0500 +Subject: [PATCH] strongswan: add missing include of stdint.h + +Recent releases of glibc don't include the full stdint.h +header in some network headers included by utils.h. +Upstream is targetting a 5.6.1 release of the fix. + +Ustream: https://wiki.strongswan.org/issues/2425 + +Signed-off-by: Matthew Weber +--- + src/libstrongswan/utils/utils/memory.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/libstrongswan/utils/utils/memory.h b/src/libstrongswan/utils/utils/memory.h +index aef318f..c11624d 100644 +--- a/src/libstrongswan/utils/utils/memory.h ++++ b/src/libstrongswan/utils/utils/memory.h +@@ -14,6 +14,8 @@ + * for more details. + */ + ++#include /* for uintptr_t */ ++ + /** + * @defgroup memory_i memory + * @{ @ingroup utils_i +-- +1.9.1 + diff --git a/package/strongswan/Config.in b/package/strongswan/Config.in index 0a95ac021e..5119706f59 100644 --- a/package/strongswan/Config.in +++ b/package/strongswan/Config.in @@ -120,12 +120,12 @@ config BR2_PACKAGE_STRONGSWAN_SCEP config BR2_PACKAGE_STRONGSWAN_SCRIPTS bool "Enable additional utilities (found in scripts directory)" - depends on BR2_PACKAGE_STRONGSWAN_CHARON default y + depends on BR2_PACKAGE_STRONGSWAN_CHARON config BR2_PACKAGE_STRONGSWAN_VICI bool "Enable vici/swanctl" - depends on BR2_PACKAGE_STRONGSWAN_CHARON default y + depends on BR2_PACKAGE_STRONGSWAN_CHARON endif diff --git a/package/strongswan/strongswan.hash b/package/strongswan/strongswan.hash index 97fb1998e4..820c712843 100644 --- a/package/strongswan/strongswan.hash +++ b/package/strongswan/strongswan.hash @@ -2,3 +2,9 @@ md5 9d7c77b0da9b69f859624897e5e9ebbf strongswan-5.4.0.tar.bz2 # Calculated based on the hash above sha256 f8288faaea6a9cd8a7d413c0b76b7922be5da3dfcd01fd05cb30d2c55d3bbe89 strongswan-5.4.0.tar.bz2 +# Locally calculated +sha256 f5ba7f46cf7ae81dd81bc86f9e4cfa0c5c7c6987149b3bc9c0b8bf08598a1063 strongswan-4.4.0-5.5.2_gmp_mpz_powm_sec.patch +sha256 03db8c7a4133e877e8992e155c046dd27ec4810d50f239abf55595f0280caf31 strongswan-5.0.0-5.5.2_asn1_choice.patch +sha256 c80e02c9a5eeaf10f0a8bdde3be6375dd2833e515af03dad3a700e93c4fd041a strongswan-4.4.0-5.5.3_gmp_mpz_export.patch +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 2292e21797754548dccdef9eef6aee7584e552fbd890fa914e1de8d3577d23f0 LICENSE diff --git a/package/strongswan/strongswan.mk b/package/strongswan/strongswan.mk index 36b5148535..30bbc6c852 100644 --- a/package/strongswan/strongswan.mk +++ b/package/strongswan/strongswan.mk @@ -7,7 +7,11 @@ STRONGSWAN_VERSION = 5.4.0 STRONGSWAN_SOURCE = strongswan-$(STRONGSWAN_VERSION).tar.bz2 STRONGSWAN_SITE = http://download.strongswan.org -STRONGSWAN_LICENSE = GPLv2+ +STRONGSWAN_PATCH = \ + $(STRONGSWAN_SITE)/patches/21_gmp_mpz_powm_sec_patch/strongswan-4.4.0-5.5.2_gmp_mpz_powm_sec.patch \ + $(STRONGSWAN_SITE)/patches/22_asn1_choice_patch/strongswan-5.0.0-5.5.2_asn1_choice.patch \ + $(STRONGSWAN_SITE)/patches/23_gmp_mpz_export_patch/strongswan-4.4.0-5.5.3_gmp_mpz_export.patch +STRONGSWAN_LICENSE = GPL-2.0+ STRONGSWAN_LICENSE_FILES = COPYING LICENSE STRONGSWAN_DEPENDENCIES = host-pkgconf STRONGSWAN_CONF_OPTS += \ diff --git a/package/stunnel/stunnel.mk b/package/stunnel/stunnel.mk index f98e7b59eb..99e5381a7c 100644 --- a/package/stunnel/stunnel.mk +++ b/package/stunnel/stunnel.mk @@ -13,7 +13,7 @@ STUNNEL_CONF_OPTS = --with-ssl=$(STAGING_DIR)/usr --with-threads=fork \ STUNNEL_CONF_ENV = \ ax_cv_check_cflags___fstack_protector=$(if $(BR2_TOOLCHAIN_HAS_SSP),yes,no) \ LIBS=$(if $(BR2_STATIC_LIBS),-lz) -STUNNEL_LICENSE = GPLv2+ +STUNNEL_LICENSE = GPL-2.0+ STUNNEL_LICENSE_FILES = COPYING COPYRIGHT.GPL ifeq ($(BR2_INIT_SYSTEMD),y) diff --git a/package/subversion/Config.in b/package/subversion/Config.in index ffe424a7e2..ecac51814e 100644 --- a/package/subversion/Config.in +++ b/package/subversion/Config.in @@ -1,10 +1,10 @@ config BR2_PACKAGE_SUBVERSION bool "subversion" - select BR2_PACKAGE_APR - select BR2_PACKAGE_APR_UTIL # apr really needs shared library support depends on !BR2_STATIC_LIBS depends on BR2_USE_MMU # apr + select BR2_PACKAGE_APR + select BR2_PACKAGE_APR_UTIL select BR2_PACKAGE_EXPAT select BR2_PACKAGE_ZLIB select BR2_PACKAGE_SQLITE diff --git a/package/subversion/subversion.hash b/package/subversion/subversion.hash index 1a85961fe1..6adb57c1ae 100644 --- a/package/subversion/subversion.hash +++ b/package/subversion/subversion.hash @@ -1,5 +1,4 @@ # From http://subversion.apache.org/download.cgi#recommended-release -sha1 8bd6a44a1aed30c4c6b6b068488dafb44eaa6adf subversion-1.9.5.tar.bz2 -# Locally calculated after checking PGP signature -# https://www.apache.org/dist/subversion/subversion-1.9.5.tar.bz2.asc -sha256 8a4fc68aff1d18dcb4dd9e460648d24d9e98657fbed496c582929c6b3ce555e5 subversion-1.9.5.tar.bz2 +sha1 874b81749cdc3e88152d103243c3623ac6338388 subversion-1.9.7.tar.bz2 +# From https://www.apache.org/dist/subversion/subversion-1.9.7.tar.bz2.sha512 +sha512 a55efd3edaddbc099450d849fcc6fe5a8d20b85ece966d8ac2fd73ee9cb4255a0349bbcfceb4e9fca6daf054ce7c648eff8d273c6873f5dade6e62dcea7eeb2b subversion-1.9.7.tar.bz2 diff --git a/package/subversion/subversion.mk b/package/subversion/subversion.mk index 05569c11a7..55738a826d 100644 --- a/package/subversion/subversion.mk +++ b/package/subversion/subversion.mk @@ -4,7 +4,7 @@ # ################################################################################ -SUBVERSION_VERSION = 1.9.5 +SUBVERSION_VERSION = 1.9.7 SUBVERSION_SOURCE = subversion-$(SUBVERSION_VERSION).tar.bz2 SUBVERSION_SITE = http://mirror.catn.com/pub/apache/subversion SUBVERSION_LICENSE = Apache-2.0 diff --git a/package/sudo/sudo.hash b/package/sudo/sudo.hash index 82e1ad66fe..80448ff792 100644 --- a/package/sudo/sudo.hash +++ b/package/sudo/sudo.hash @@ -1,2 +1,2 @@ # From: http://www.sudo.ws/download.html -sha256 237e18e67c2ad59ecacfa4b7707198b09fcf84914621585a9bc670dcc31a52e0 sudo-1.8.19p2.tar.gz +sha256 74c5746cd33a814e2431c39faf0d76f7f8a697379bd073862e3b156cf0d76368 sudo-1.8.21p2.tar.gz diff --git a/package/sudo/sudo.mk b/package/sudo/sudo.mk index bb0a2b5e69..77a95bd65e 100644 --- a/package/sudo/sudo.mk +++ b/package/sudo/sudo.mk @@ -4,9 +4,9 @@ # ################################################################################ -SUDO_VERSION = 1.8.19p2 -SUDO_SITE = http://www.sudo.ws/sudo/dist -SUDO_LICENSE = ISC, BSD-3c +SUDO_VERSION = 1.8.21p2 +SUDO_SITE = https://www.sudo.ws/sudo/dist +SUDO_LICENSE = ISC, BSD-3-Clause SUDO_LICENSE_FILES = doc/LICENSE # This is to avoid sudo's make install from chown()ing files which fails SUDO_INSTALL_TARGET_OPTS = INSTALL_OWNER="" DESTDIR="$(TARGET_DIR)" install @@ -40,6 +40,13 @@ endif ifeq ($(BR2_PACKAGE_OPENLDAP),y) SUDO_DEPENDENCIES += openldap SUDO_CONF_OPTS += --with-ldap +# If we are building sudo statically and openldap was linked with openssl, then +# when we link sudo with openldap we need to specify the openssl libs, otherwise +# it will fail with "undefined reference" errors. +ifeq ($(BR2_STATIC_LIBS)$(BR2_PACKAGE_OPENSSL),yy) +SUDO_DEPENDENCIES += host-pkgconf +SUDO_CONF_ENV = LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs libssl libcrypto`" +endif else SUDO_CONF_OPTS += --without-ldap endif diff --git a/package/sunxi-mali/0003-fix-conflicting-data-types-between-GLES2-gl2.h-and-G.patch b/package/sunxi-mali/0003-fix-conflicting-data-types-between-GLES2-gl2.h-and-G.patch new file mode 100644 index 0000000000..62e1b17829 --- /dev/null +++ b/package/sunxi-mali/0003-fix-conflicting-data-types-between-GLES2-gl2.h-and-G.patch @@ -0,0 +1,57 @@ +From 5bf4d4f9c759fdb3c0db61a781042223236169c6 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Mon, 5 Jun 2017 12:40:16 +0200 +Subject: [PATCH] fix conflicting data types between GLES2/gl2.h and GLES/gl.h + +When OpenGL ES 1.1 and OpenGL ES 2.0 are used at the same time, the +build fail since GLintptr and GLsizeiptr data type are not the same in +GLES2/gl2.h and GLES/gl.h. + +Also sync the data type of GLbyte, GLubyte, GLfloat, GLclampf and +GLfixed. + +Fixes: +http://autobuild.buildroot.net/results/258/25898b45cefde9661d8ac87dd84bc883bb5283d1 + +Signed-off-by: Romain Naour +--- + include/GLES/gl.h | 15 +++++++-------- + 1 file changed, 7 insertions(+), 8 deletions(-) + +diff --git a/include/GLES/gl.h b/include/GLES/gl.h +index a6bb591..799408b 100644 +--- a/include/GLES/gl.h ++++ b/include/GLES/gl.h +@@ -18,22 +18,21 @@ typedef void GLvoid; + typedef unsigned int GLenum; + typedef unsigned char GLboolean; + typedef unsigned int GLbitfield; +-typedef signed char GLbyte; ++typedef khronos_int8_t GLbyte; + typedef short GLshort; + typedef int GLint; + typedef int GLsizei; +-typedef unsigned char GLubyte; ++typedef khronos_uint8_t GLubyte; + typedef unsigned short GLushort; + typedef unsigned int GLuint; +-typedef float GLfloat; +-typedef float GLclampf; +-typedef signed int GLfixed; ++typedef khronos_float_t GLfloat; ++typedef khronos_float_t GLclampf; ++typedef khronos_int32_t GLfixed; + typedef signed int GLclampx; + typedef char GLchar; + +-typedef int * GLintptr; +-typedef int * GLsizeiptr; +- ++typedef khronos_intptr_t GLintptr; ++typedef khronos_ssize_t GLsizeiptr; + + /*************************************************************/ + +-- +2.9.4 + diff --git a/package/sunxi-mali/Config.in b/package/sunxi-mali/Config.in index c6754c2821..9eb3ad85af 100644 --- a/package/sunxi-mali/Config.in +++ b/package/sunxi-mali/Config.in @@ -1,6 +1,12 @@ config BR2_PACKAGE_SUNXI_MALI bool "sunxi-mali" depends on BR2_arm + # libump package only provide libUMP.so.3 which is used by + # libMali for r3p0 and r3p1 Mali kernel module. This version + # is only available for ARM EABIhf. + # libMali for r2p4 Mali kernel module (available for ARM EABI) + # requires libUMP.so.2. + depends on BR2_ARM_EABIHF # libUMP.so.3 only depends on BR2_TOOLCHAIN_USES_GLIBC select BR2_PACKAGE_HAS_LIBEGL select BR2_PACKAGE_HAS_LIBGLES @@ -36,31 +42,16 @@ choice appropriate version number is r3p0. For other kernels, use the maliver application to determine the appropriate version. -config BR2_PACKAGE_SUNXI_MALI_R2P4 - bool "r2p4" - depends on BR2_ARM_EABI - -comment "r2p4 requires an EABI toolchain" - depends on !BR2_ARM_EABI - config BR2_PACKAGE_SUNXI_MALI_R3P0 bool "r3p0" - depends on BR2_ARM_EABIHF - -comment "r3p0 requires an EABIhf toolchain" - depends on !BR2_ARM_EABIHF config BR2_PACKAGE_SUNXI_MALI_R3P1 - depends on BR2_ARM_EABIHF bool "r3p1" -comment "r3p1 requires an EABIhf toolchain" - depends on !BR2_ARM_EABIHF - endchoice endif -comment "sunxi-mali needs a glibc toolchain" +comment "sunxi-mali needs an EABIhf glibc toolchain" depends on BR2_arm - depends on !BR2_TOOLCHAIN_USES_GLIBC + depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_ARM_EABIHF diff --git a/package/sunxi-mali/sunxi-mali.hash b/package/sunxi-mali/sunxi-mali.hash new file mode 100644 index 0000000000..31b5990de3 --- /dev/null +++ b/package/sunxi-mali/sunxi-mali.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 c5f58b2c0533a74f491634ddbd80d888781f4ea29ecc5c24bd7300c02bef1145 sunxi-mali-d343311efc8db166d8371b28494f0f27b6a5872.tar.gz diff --git a/package/sunxi-mali/sunxi-mali.mk b/package/sunxi-mali/sunxi-mali.mk index c808db6cf6..90b580f5f6 100644 --- a/package/sunxi-mali/sunxi-mali.mk +++ b/package/sunxi-mali/sunxi-mali.mk @@ -28,17 +28,9 @@ SUNXI_MALI_MAKE_ENV = \ CFLAGS="$(TARGET_CFLAGS) -lm -ldl -lpthread" \ $(TARGET_MAKE_ENV) -ifeq ($(BR2_ARM_EABIHF),y) -SUNXI_MALI_MAKE_OPTS += ABI=armhf -else -SUNXI_MALI_MAKE_OPTS += ABI=armel -endif +SUNXI_MALI_MAKE_OPTS += EGL_TYPE=framebuffer \ + ABI=armhf -SUNXI_MALI_MAKE_OPTS += EGL_TYPE=framebuffer - -ifeq ($(BR2_PACKAGE_SUNXI_MALI_R2P4),y) -SUNXI_MALI_MAKE_OPTS += VERSION=r2p4 -endif ifeq ($(BR2_PACKAGE_SUNXI_MALI_R3P0),y) SUNXI_MALI_MAKE_OPTS += VERSION=r3p0 endif diff --git a/package/sunxi-tools/sunxi-tools.mk b/package/sunxi-tools/sunxi-tools.mk index 1a58aff1be..3a44cf6fdd 100644 --- a/package/sunxi-tools/sunxi-tools.mk +++ b/package/sunxi-tools/sunxi-tools.mk @@ -6,19 +6,19 @@ SUNXI_TOOLS_VERSION = v1.4.1 SUNXI_TOOLS_SITE = $(call github,linux-sunxi,sunxi-tools,$(SUNXI_TOOLS_VERSION)) -SUNXI_TOOLS_LICENSE = GPLv2+ +SUNXI_TOOLS_LICENSE = GPL-2.0+ SUNXI_TOOLS_LICENSE_FILES = LICENSE.md HOST_SUNXI_TOOLS_DEPENDENCIES = host-libusb host-pkgconf -FEX2BIN = $(HOST_DIR)/usr/bin/fex2bin +FEX2BIN = $(HOST_DIR)/bin/fex2bin define HOST_SUNXI_TOOLS_BUILD_CMDS - $(HOST_MAKE_ENV) $(MAKE) CC="$(HOSTCC)" PREFIX=$(HOST_DIR)/usr \ + $(HOST_MAKE_ENV) $(MAKE) CC="$(HOSTCC)" PREFIX=$(HOST_DIR) \ EXTRA_CFLAGS="$(HOST_CFLAGS)" LDFLAGS="$(HOST_LDFLAGS)" \ -C $(@D) tools endef define HOST_SUNXI_TOOLS_INSTALL_CMDS - $(HOST_MAKE_ENV) $(MAKE) PREFIX=$(HOST_DIR)/usr \ + $(HOST_MAKE_ENV) $(MAKE) PREFIX=$(HOST_DIR) \ -C $(@D) install-tools endef diff --git a/package/supertux/Config.in b/package/supertux/Config.in new file mode 100644 index 0000000000..684c2cc940 --- /dev/null +++ b/package/supertux/Config.in @@ -0,0 +1,39 @@ +config BR2_PACKAGE_SUPERTUX + bool "supertux" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_PACKAGE_HAS_LIBGL # libglew + depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS + depends on BR2_PACKAGE_XORG7 # libglew, SDL2 OpenGL (GLX) + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 gcc attributes noreturn + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # openal + depends on BR2_USE_MMU # SDL2 OpenGL (GLX) + depends on !BR2_STATIC_LIBS # SDL2 + depends on BR2_USE_WCHAR # Boost + select BR2_PACKAGE_BOOST + select BR2_PACKAGE_BOOST_DATE_TIME + select BR2_PACKAGE_BOOST_FILESYSTEM + select BR2_PACKAGE_BOOST_SYSTEM + select BR2_PACKAGE_LIBCURL + select BR2_PACKAGE_LIBGLEW + select BR2_PACKAGE_LIBGLU # GL/glu.h + select BR2_PACKAGE_LIBOGG + select BR2_PACKAGE_LIBVORBIS + select BR2_PACKAGE_OPENAL + select BR2_PACKAGE_PHYSFS + select BR2_PACKAGE_SDL2 + select BR2_PACKAGE_SDL2_IMAGE + select BR2_PACKAGE_SDL2_OPENGL + help + SuperTux is a free classic 2D jump'n run sidescroller game in + a style similar to the original Super Mario games covered + under the GNU GPL. + + http://supertux.github.io/ + +comment "supertux needs OpenGL and a toolchain w/ C++, gcc >= 4.8, NPTL, dynamic library, wchar" + depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS + depends on BR2_PACKAGE_XORG7 + depends on BR2_USE_MMU + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_PACKAGE_HAS_LIBGL || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ + BR2_STATIC_LIBS || !BR2_USE_WCHAR diff --git a/package/supertux/supertux.hash b/package/supertux/supertux.hash new file mode 100644 index 0000000000..c56f608ed7 --- /dev/null +++ b/package/supertux/supertux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 c9dc3b42991ce5c5d0d0cb94e44c4ec2373ad09029940f0e92331e7e9ada0ac5 SuperTux-v0.5.1-Source.tar.gz diff --git a/package/supertux/supertux.mk b/package/supertux/supertux.mk new file mode 100644 index 0000000000..e397441861 --- /dev/null +++ b/package/supertux/supertux.mk @@ -0,0 +1,70 @@ +################################################################################ +# +# supertux +# +################################################################################ + +SUPERTUX_VERSION = 0.5.1 +SUPERTUX_SITE = https://github.com/SuperTux/supertux/releases/download/v$(SUPERTUX_VERSION) +SUPERTUX_SOURCE = SuperTux-v$(SUPERTUX_VERSION)-Source.tar.gz + +# Supertux itself is GPL-3.0+, but it bundles a few libraries with different +# licenses (sexp-cpp, squirrel, tinygettext) which are linked statically. +SUPERTUX_LICENSE = GPL-3.0+ (code), CC-BY-SA-2.0, CC-BY-SA-3.0, GPL-2.0+ (images music sounds) +SUPERTUX_LICENSE_FILES = LICENSE.txt data/AUTHORS + +# Use bundled squirrel, tinygettext sexp-cpp packages which are hardcoded in +# the CMake build system. +SUPERTUX_DEPENDENCIES = host-pkgconf boost libcurl libgl libglew libglu \ + libogg libvorbis openal physfs sdl2 sdl2_image + +# ENABLE_BOOST_STATIC_LIBS=OFF: use boost shared libraries since supertux +# depends on !BR2_STATIC_LIBS and boost provide only shared libraries with +# BR2_SHARED_LIBS. +# ENABLE_OPENGL=ON: Can be disabled but will make SuperTux unplayable slow. +# GLBINDING_ENABLED=OFF: use GLEW (default) instead of glbinding. +# Install the game directly in /usr/bin and game data in /usr/share/supertux2. +# Force using physfs.so from staging since the check on PHYSFS_getPrefDir symbol +# in physfs.h (CHECK_SYMBOL_EXISTS) doesn't work. +SUPERTUX_CONF_OPTS += \ + -DENABLE_BOOST_STATIC_LIBS=OFF \ + -DBUILD_DOCUMENTATION=OFF \ + -DENABLE_OPENGL=ON \ + -DGLBINDING_ENABLED=OFF \ + -DINSTALL_SUBDIR_BIN="bin" \ + -DINSTALL_SUBDIR_SHARE="share/supertux2" \ + -DUSE_SYSTEM_PHYSFS=ON + +# Avoid incompatible posix_memalign declaration on x86 and x86_64 with +# musl. +# https://gcc.gnu.org/ml/gcc-patches/2015-05/msg01425.html +ifeq ($(BR2_TOOLCHAIN_USES_MUSL):$(BR2_i386)$(BR2_x86_64),y:y) +define SUPERTUX_REMOVE_PEDANTIC + $(SED) 's% -pedantic%%' $(@D)/CMakeLists.txt + $(SED) 's%CHECK_CXX_FLAG(pedantic)%%' $(@D)/external/tinygettext/CMakeLists.txt +endef +SUPERTUX_POST_PATCH_HOOKS += SUPERTUX_REMOVE_PEDANTIC +endif + +# From https://bugs.debian.org/cgi-bin/bugreport.cgi/?bug=770670 +# "The problem lies within SDL_cpuinfo.h. It includes altivec.h, which by +# definition provides an unconditional vector, pixel and bool define in +# standard-c++ mode. In GNU-c++ mode this names are only defined +# context-sensitive by cpp. SDL_cpuinfo.h is included by SDL.h. +# Including altivec.h makes arbitrary code break." +# +# Acording to a bug report in GCC [1]: +# "You need to use -std=g++11 or undefine bool after the include of altivec.h +# as context sensitive keywords is not part of the C++11 standard". +# So use gnu++11 instead of c++11 only for altivec system. +# [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58241#c3 +ifeq ($(BR2_POWERPC_CPU_HAS_ALTIVEC),y) +define SUPERTUX_FIX_ALTIVEC_ISSUE + $(SED) 's%std=c++0x%std=gnu++0x%' $(@D)/CMakeLists.txt + $(SED) 's%std=c++11%std=gnu++11%' $(@D)/CMakeLists.txt + $(SED) 's%std=c++0x%std=gnu++0x%' $(@D)/external/tinygettext/CMakeLists.txt +endef +SUPERTUX_POST_PATCH_HOOKS += SUPERTUX_FIX_ALTIVEC_ISSUE +endif + +$(eval $(cmake-package)) diff --git a/package/supertuxkart/Config.in b/package/supertuxkart/Config.in index 4919b50a2b..51759160eb 100644 --- a/package/supertuxkart/Config.in +++ b/package/supertuxkart/Config.in @@ -9,6 +9,7 @@ config BR2_PACKAGE_SUPERTUXKART depends on BR2_PACKAGE_HAS_LIBGL depends on BR2_PACKAGE_XORG7 depends on !BR2_TOOLCHAIN_USES_MUSL + select BR2_PACKAGE_FREETYPE select BR2_PACKAGE_JPEG select BR2_PACKAGE_LIBCURL select BR2_PACKAGE_LIBGLU diff --git a/package/supertuxkart/supertuxkart.mk b/package/supertuxkart/supertuxkart.mk index 037c6f359d..dc4b23227d 100644 --- a/package/supertuxkart/supertuxkart.mk +++ b/package/supertuxkart/supertuxkart.mk @@ -8,13 +8,14 @@ SUPERTUXKART_VERSION = 0.9.2 SUPERTUXKART_SOURCE = supertuxkart-$(SUPERTUXKART_VERSION)-src.tar.xz SUPERTUXKART_SITE = http://downloads.sourceforge.net/project/supertuxkart/SuperTuxKart/$(SUPERTUXKART_VERSION) -# Supertuxkart itself is GPLv3+, but it bundles a few libraries with different -# licenses. Irrlicht, bullet and angelscript have zlib license, while glew is -# BSD-3c. Since they are linked statically, the result is GPLv3+. -SUPERTUXKART_LICENSE = GPLv3+ +# Supertuxkart itself is GPL-3.0+, but it bundles a few libraries with different +# licenses. Irrlicht, bullet and angelscript have Zlib license, while glew is +# BSD-3-Clause. Since they are linked statically, the result is GPL-3.0+. +SUPERTUXKART_LICENSE = GPL-3.0+ SUPERTUXKART_LICENSE_FILES = COPYING SUPERTUXKART_DEPENDENCIES = \ + freetype \ jpeg \ libcurl \ libgl \ diff --git a/package/supervisor/supervisor.hash b/package/supervisor/supervisor.hash index 03f337e7d0..0ebc663be9 100644 --- a/package/supervisor/supervisor.hash +++ b/package/supervisor/supervisor.hash @@ -1,2 +1,4 @@ # Locally calculated -sha256 e32c546fe8d2a6e079ec4819c49fd24534d4075a58af39118d04367918b3c282 supervisor-3.1.3.tar.gz +sha256 82f75089f719a7a3ca87f35c89a03c20fd3c0912552c96eb6fa40274ced6604e supervisor-3.1.4.tar.gz +sha256 a85a622378c6a892ead1ce5d0488e446e106bf014d3b763fdbc1ad1ae38ee491 COPYRIGHT.txt +sha256 27ba0b2357ed6974d755ed53232c5ab8595622b3111bb91682708ea188cc3696 LICENSES.txt diff --git a/package/supervisor/supervisor.mk b/package/supervisor/supervisor.mk index 4c62b66feb..9b93b449a7 100644 --- a/package/supervisor/supervisor.mk +++ b/package/supervisor/supervisor.mk @@ -4,8 +4,8 @@ # ################################################################################ -SUPERVISOR_VERSION = 3.1.3 -SUPERVISOR_SITE = http://pypi.python.org/packages/source/s/supervisor +SUPERVISOR_VERSION = 3.1.4 +SUPERVISOR_SITE = https://pypi.python.org/packages/12/50/cd330d1a0daffbbe54803cb0c4c1ada892b5d66db08befac385122858eee SUPERVISOR_LICENSE = BSD-like, rdflib (http_client.py), PSF (medusa), ZPL-2.1 SUPERVISOR_LICENSE_FILES = COPYRIGHT.txt LICENSES.txt SUPERVISOR_SETUP_TYPE = setuptools diff --git a/package/swig/0001-Add-Node-7.x-aka-V8-5.2-support.patch b/package/swig/0001-Add-Node-7.x-aka-V8-5.2-support.patch new file mode 100644 index 0000000000..7f3002d473 --- /dev/null +++ b/package/swig/0001-Add-Node-7.x-aka-V8-5.2-support.patch @@ -0,0 +1,328 @@ +From f08d7a63a92a3ba89d97bdfcc206e1e1c4804c0f Mon Sep 17 00:00:00 2001 +From: Patrick Schneider +Date: Thu, 13 Apr 2017 15:02:53 +0200 +Subject: [PATCH 1/2] Add Node 7.x aka V8 5.2+ support + +* Use WeakCallbackInfo instead of WeakCallbackData +* Use GetPrivate instead of GetHiddenValue +* Adopted new signature for SetWeak to support destructor calling +* SetAccessor deprecation fixed +* Proper version checks where applicable + +Signed-off-by: Yegor Yefremov +--- + Lib/javascript/v8/javascriptcode.swg | 27 +++++++++++++++++----- + Lib/javascript/v8/javascripthelpers.swg | 29 +++++++++++++++++++++--- + Lib/javascript/v8/javascriptinit.swg | 16 +++++++++++-- + Lib/javascript/v8/javascriptrun.swg | 40 ++++++++++++++++++++++++++++----- + 4 files changed, 95 insertions(+), 17 deletions(-) + +diff --git a/Lib/javascript/v8/javascriptcode.swg b/Lib/javascript/v8/javascriptcode.swg +index fb7d55c..b8c5089 100644 +--- a/Lib/javascript/v8/javascriptcode.swg ++++ b/Lib/javascript/v8/javascriptcode.swg +@@ -133,10 +133,13 @@ static void $jswrapper(v8::Isolate *isolate, v8::Persistent object, v + SWIGV8_Proxy *proxy = static_cast(parameter); + #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) + static void $jswrapper(v8::Isolate *isolate, v8::Persistent *object, SWIGV8_Proxy *proxy) { +-#else ++#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) + static void $jswrapper(const v8::WeakCallbackData &data) { + v8::Local object = data.GetValue(); + SWIGV8_Proxy *proxy = data.GetParameter(); ++#else ++ static void $jswrapper(const v8::WeakCallbackInfo &data) { ++ SWIGV8_Proxy *proxy = data.GetParameter(); + #endif + + if(proxy->swigCMemOwn && proxy->swigCObject) { +@@ -147,7 +150,9 @@ static void $jswrapper(const v8::WeakCallbackData &dat + } + delete proxy; + ++#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) + object.Clear(); ++#endif + + #if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031710) + object.Dispose(); +@@ -155,7 +160,7 @@ static void $jswrapper(const v8::WeakCallbackData &dat + object.Dispose(isolate); + #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x032100) + object->Dispose(isolate); +-#else ++#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) + object->Dispose(); + #endif + } +@@ -177,10 +182,13 @@ static void $jswrapper(v8::Isolate *isolate, v8::Persistent object, v + SWIGV8_Proxy *proxy = static_cast(parameter); + #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) + static void $jswrapper(v8::Isolate *isolate, v8::Persistent< v8::Object> *object, SWIGV8_Proxy *proxy) { +-#else ++#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) + static void $jswrapper(const v8::WeakCallbackData &data) { + v8::Local object = data.GetValue(); + SWIGV8_Proxy *proxy = data.GetParameter(); ++#else ++static void $jswrapper(const v8::WeakCallbackInfo &data) { ++ SWIGV8_Proxy *proxy = data.GetParameter(); + #endif + + if(proxy->swigCMemOwn && proxy->swigCObject) { +@@ -197,7 +205,7 @@ static void $jswrapper(const v8::WeakCallbackData &dat + object->Dispose(isolate); + #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) + object->Dispose(); +-#else ++#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) + object.Clear(); + #endif + } +@@ -211,7 +219,11 @@ static void $jswrapper(const v8::WeakCallbackData &dat + * ----------------------------------------------------------------------------- */ + %fragment("js_getter", "templates") + %{ ++#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) + static SwigV8ReturnValue $jswrapper(v8::Local property, const SwigV8PropertyCallbackInfo &info) { ++#else ++static SwigV8ReturnValue $jswrapper(v8::Local property, const SwigV8PropertyCallbackInfo &info) { ++#endif + SWIGV8_HANDLESCOPE(); + + v8::Handle jsresult; +@@ -233,8 +245,11 @@ fail: + * ----------------------------------------------------------------------------- */ + %fragment("js_setter", "templates") + %{ +-static void $jswrapper(v8::Local property, v8::Local value, +- const SwigV8PropertyCallbackInfoVoid &info) { ++#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) ++static void $jswrapper(v8::Local property, v8::Local value, const SwigV8PropertyCallbackInfoVoid &info) { ++#else ++static void $jswrapper(v8::Local property, v8::Local value, const SwigV8PropertyCallbackInfoVoid &info) { ++#endif + SWIGV8_HANDLESCOPE(); + + $jslocals +diff --git a/Lib/javascript/v8/javascripthelpers.swg b/Lib/javascript/v8/javascripthelpers.swg +index 091467d..7461079 100644 +--- a/Lib/javascript/v8/javascripthelpers.swg ++++ b/Lib/javascript/v8/javascripthelpers.swg +@@ -6,11 +6,16 @@ typedef v8::InvocationCallback SwigV8FunctionCallback; + typedef v8::AccessorGetter SwigV8AccessorGetterCallback; + typedef v8::AccessorSetter SwigV8AccessorSetterCallback; + typedef v8::AccessorInfo SwigV8PropertyCallbackInfoVoid; +-#else ++#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) + typedef v8::FunctionCallback SwigV8FunctionCallback; + typedef v8::AccessorGetterCallback SwigV8AccessorGetterCallback; + typedef v8::AccessorSetterCallback SwigV8AccessorSetterCallback; + typedef v8::PropertyCallbackInfo SwigV8PropertyCallbackInfoVoid; ++#else ++typedef v8::FunctionCallback SwigV8FunctionCallback; ++typedef v8::AccessorNameGetterCallback SwigV8AccessorGetterCallback; ++typedef v8::AccessorNameSetterCallback SwigV8AccessorSetterCallback; ++typedef v8::PropertyCallbackInfo SwigV8PropertyCallbackInfoVoid; + #endif + + /** +@@ -65,18 +70,36 @@ SWIGRUNTIME void SWIGV8_AddStaticFunction(v8::Handle obj, const char + */ + SWIGRUNTIME void SWIGV8_AddStaticVariable(v8::Handle obj, const char* symbol, + SwigV8AccessorGetterCallback getter, SwigV8AccessorSetterCallback setter) { ++#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) + obj->SetAccessor(SWIGV8_SYMBOL_NEW(symbol), getter, setter); ++#else ++ obj->SetAccessor(SWIGV8_CURRENT_CONTEXT(), SWIGV8_SYMBOL_NEW(symbol), getter, setter); ++#endif + } + +-SWIGRUNTIME void JS_veto_set_variable(v8::Local property, v8::Local value, +- const SwigV8PropertyCallbackInfoVoid& info) ++#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) ++SWIGRUNTIME void JS_veto_set_variable(v8::Local property, v8::Local value, const SwigV8PropertyCallbackInfoVoid& info) ++#else ++SWIGRUNTIME void JS_veto_set_variable(v8::Local property, v8::Local value, const SwigV8PropertyCallbackInfoVoid& info) ++#endif + { + char buffer[256]; + char msg[512]; + int res; + ++#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) + property->WriteUtf8(buffer, 256); + res = sprintf(msg, "Tried to write read-only variable: %s.", buffer); ++#else ++ v8::Local sproperty; ++ if (property->ToString(SWIGV8_CURRENT_CONTEXT()).ToLocal(&sproperty)) { ++ sproperty->WriteUtf8(buffer, 256); ++ res = sprintf(msg, "Tried to write read-only variable: %s.", buffer); ++ } ++ else { ++ res = -1; ++ } ++#endif + + if(res<0) { + SWIG_exception(SWIG_ERROR, "Tried to write read-only variable."); +diff --git a/Lib/javascript/v8/javascriptinit.swg b/Lib/javascript/v8/javascriptinit.swg +index 34befa7..86008d9 100644 +--- a/Lib/javascript/v8/javascriptinit.swg ++++ b/Lib/javascript/v8/javascriptinit.swg +@@ -7,15 +7,27 @@ SWIG_V8_SetModule(void *, swig_module_info *swig_module) { + v8::Local global_obj = SWIGV8_CURRENT_CONTEXT()->Global(); + v8::Local mod = SWIGV8_EXTERNAL_NEW(swig_module); + assert(!mod.IsEmpty()); ++#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) + global_obj->SetHiddenValue(SWIGV8_STRING_NEW("swig_module_info_data"), mod); ++#else ++ v8::Local privateKey = v8::Private::ForApi(v8::Isolate::GetCurrent(), SWIGV8_STRING_NEW("swig_module_info_data")); ++ global_obj->SetPrivate(SWIGV8_CURRENT_CONTEXT(), privateKey, mod); ++#endif + } + + SWIGRUNTIME swig_module_info * + SWIG_V8_GetModule(void *) { + v8::Local global_obj = SWIGV8_CURRENT_CONTEXT()->Global(); ++#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) + v8::Local moduleinfo = global_obj->GetHiddenValue(SWIGV8_STRING_NEW("swig_module_info_data")); ++#else ++ v8::Local privateKey = v8::Private::ForApi(v8::Isolate::GetCurrent(), SWIGV8_STRING_NEW("swig_module_info_data")); ++ v8::Local moduleinfo; ++ if (!global_obj->GetPrivate(SWIGV8_CURRENT_CONTEXT(), privateKey).ToLocal(&moduleinfo)) ++ return 0; ++#endif + +- if (moduleinfo.IsEmpty()) ++ if (moduleinfo.IsEmpty() || moduleinfo->IsNull() || moduleinfo->IsUndefined()) + { + // It's not yet loaded + return 0; +@@ -23,7 +35,7 @@ SWIG_V8_GetModule(void *) { + + v8::Local moduleinfo_extern = v8::Local::Cast(moduleinfo); + +- if (moduleinfo_extern.IsEmpty()) ++ if (moduleinfo_extern.IsEmpty() || moduleinfo_extern->IsNull() || moduleinfo_extern->IsUndefined()) + { + // Something's not right + return 0; +diff --git a/Lib/javascript/v8/javascriptrun.swg b/Lib/javascript/v8/javascriptrun.swg +index 5ac52a5..30002c0 100644 +--- a/Lib/javascript/v8/javascriptrun.swg ++++ b/Lib/javascript/v8/javascriptrun.swg +@@ -193,8 +193,10 @@ public: + void (*dtor) (v8::Isolate *isolate, v8::Persistent< v8::Value> object, void *parameter); + #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) + void (*dtor) (v8::Isolate *isolate, v8::Persistent< v8::Object > *object, SWIGV8_Proxy *proxy); +-#else ++#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) + void (*dtor) (const v8::WeakCallbackData &data); ++#else ++ void (*dtor) (const v8::WeakCallbackInfo &data); + #endif + }; + +@@ -241,9 +243,12 @@ SWIGRUNTIME void SWIGV8_Proxy_DefaultDtor(v8::Isolate *, v8::Persistent< v8::Val + SWIGV8_Proxy *proxy = static_cast(parameter); + #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) + SWIGRUNTIME void SWIGV8_Proxy_DefaultDtor(v8::Isolate *, v8::Persistent< v8::Object > *object, SWIGV8_Proxy *proxy) { +-#else ++#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) + SWIGRUNTIME void SWIGV8_Proxy_DefaultDtor(const v8::WeakCallbackData &data) { + SWIGV8_Proxy *proxy = data.GetParameter(); ++#else ++SWIGRUNTIME void SWIGV8_Proxy_DefaultDtor(const v8::WeakCallbackInfo &data) { ++ SWIGV8_Proxy *proxy = data.GetParameter(); + #endif + + delete proxy; +@@ -312,12 +317,18 @@ SWIGRUNTIME void SWIGV8_SetPrivateData(v8::Handle obj, void *ptr, sw + } else { + cdata->handle.MakeWeak(cdata, SWIGV8_Proxy_DefaultDtor); + } +-#else ++#elifif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) + if(cdata->swigCMemOwn && (SWIGV8_ClientData*)info->clientdata) { + cdata->handle.SetWeak(cdata, ((SWIGV8_ClientData*)info->clientdata)->dtor); + } else { + cdata->handle.SetWeak(cdata, SWIGV8_Proxy_DefaultDtor); + } ++#else ++ if(cdata->swigCMemOwn && (SWIGV8_ClientData*)info->clientdata) { ++ cdata->handle.SetWeak(cdata, ((SWIGV8_ClientData*)info->clientdata)->dtor, v8::WeakCallbackType::kParameter); ++ } else { ++ cdata->handle.SetWeak(cdata, SWIGV8_Proxy_DefaultDtor, v8::WeakCallbackType::kParameter); ++ } + #endif + + #if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031710) +@@ -470,7 +481,14 @@ int SwigV8Packed_Check(v8::Handle valRef) { + + v8::Handle objRef = valRef->ToObject(); + if(objRef->InternalFieldCount() < 1) return false; ++#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) + v8::Handle flag = objRef->GetHiddenValue(SWIGV8_STRING_NEW("__swig__packed_data__")); ++#else ++ v8::Local privateKey = v8::Private::ForApi(v8::Isolate::GetCurrent(), SWIGV8_STRING_NEW("__swig__packed_data__")); ++ v8::Local flag; ++ if (!objRef->GetPrivate(SWIGV8_CURRENT_CONTEXT(), privateKey).ToLocal(&flag)) ++ return false; ++#endif + return (flag->IsBoolean() && flag->BooleanValue()); + } + +@@ -519,10 +537,13 @@ SWIGRUNTIME void _wrap_SwigV8PackedData_delete(v8::Isolate *isolate, v8::Persist + SwigV8PackedData *cdata = static_cast(parameter); + #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) + SWIGRUNTIME void _wrap_SwigV8PackedData_delete(v8::Isolate *isolate, v8::Persistent *object, SwigV8PackedData *cdata) { +-#else ++#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) + SWIGRUNTIME void _wrap_SwigV8PackedData_delete(const v8::WeakCallbackData &data) { + v8::Local object = data.GetValue(); + SwigV8PackedData *cdata = data.GetParameter(); ++#else ++SWIGRUNTIME void _wrap_SwigV8PackedData_delete(const v8::WeakCallbackInfo &data) { ++ SwigV8PackedData *cdata = data.GetParameter(); + #endif + + delete cdata; +@@ -537,7 +558,7 @@ SWIGRUNTIME void _wrap_SwigV8PackedData_delete(const v8::WeakCallbackDataDispose(isolate); + #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) + object->Dispose(); +-#else ++#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) + object.Clear(); + #endif + } +@@ -550,7 +571,12 @@ v8::Handle SWIGV8_NewPackedObj(void *data, size_t size, swig_type_inf + // v8::Handle obj = SWIGV8_OBJECT_NEW(); + v8::Local obj = SWIGV8_OBJECT_NEW(); + ++#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) + obj->SetHiddenValue(SWIGV8_STRING_NEW("__swig__packed_data__"), SWIGV8_BOOLEAN_NEW(true)); ++#else ++ v8::Local privateKey = v8::Private::ForApi(v8::Isolate::GetCurrent(), SWIGV8_STRING_NEW("__swig__packed_data__")); ++ obj->SetPrivate(SWIGV8_CURRENT_CONTEXT(), privateKey, SWIGV8_BOOLEAN_NEW(true)); ++#endif + + #if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031511) + obj->SetPointerInInternalField(0, cdata); +@@ -573,9 +599,11 @@ v8::Handle SWIGV8_NewPackedObj(void *data, size_t size, swig_type_inf + cdata->handle.MakeWeak(v8::Isolate::GetCurrent(), cdata, _wrap_SwigV8PackedData_delete); + #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) + cdata->handle.MakeWeak(cdata, _wrap_SwigV8PackedData_delete); +-#else ++#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) + cdata->handle.SetWeak(cdata, _wrap_SwigV8PackedData_delete); + // v8::V8::SetWeak(&cdata->handle, cdata, _wrap_SwigV8PackedData_delete); ++#else ++ cdata->handle.SetWeak(cdata, _wrap_SwigV8PackedData_delete, v8::WeakCallbackType::kParameter); + #endif + + #if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031710) +-- +2.1.4 + diff --git a/package/swig/0002-Remove-warnings-on-Node-6.x-aka-V8-5.0-and-5.1.patch b/package/swig/0002-Remove-warnings-on-Node-6.x-aka-V8-5.0-and-5.1.patch new file mode 100644 index 0000000000..672422045b --- /dev/null +++ b/package/swig/0002-Remove-warnings-on-Node-6.x-aka-V8-5.0-and-5.1.patch @@ -0,0 +1,222 @@ +From 9ce8d7e7c99e75163318428aeff6e60d398fcdca Mon Sep 17 00:00:00 2001 +From: Patrick Schneider +Date: Thu, 13 Apr 2017 19:39:44 +0200 +Subject: [PATCH 2/2] Remove warnings on Node 6.x aka V8 5.0 and 5.1 + +The proposed changes targetted at 5.2 (or 5.4 to be more precise, since there is no Node release with V8 5.2 or 5.3) work for lower versions as well and bust the deprecation warnings there. + +Signed-off-by: Yegor Yefremov +--- + Lib/javascript/v8/javascriptcode.swg | 14 +++++++------- + Lib/javascript/v8/javascripthelpers.swg | 8 ++++---- + Lib/javascript/v8/javascriptinit.swg | 4 ++-- + Lib/javascript/v8/javascriptrun.swg | 16 ++++++++-------- + 4 files changed, 21 insertions(+), 21 deletions(-) + +diff --git a/Lib/javascript/v8/javascriptcode.swg b/Lib/javascript/v8/javascriptcode.swg +index b8c5089..c4aaf3d 100644 +--- a/Lib/javascript/v8/javascriptcode.swg ++++ b/Lib/javascript/v8/javascriptcode.swg +@@ -133,7 +133,7 @@ static void $jswrapper(v8::Isolate *isolate, v8::Persistent object, v + SWIGV8_Proxy *proxy = static_cast(parameter); + #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) + static void $jswrapper(v8::Isolate *isolate, v8::Persistent *object, SWIGV8_Proxy *proxy) { +-#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) ++#elif (V8_MAJOR_VERSION-0) < 5 + static void $jswrapper(const v8::WeakCallbackData &data) { + v8::Local object = data.GetValue(); + SWIGV8_Proxy *proxy = data.GetParameter(); +@@ -150,7 +150,7 @@ static void $jswrapper(const v8::WeakCallbackData &dat + } + delete proxy; + +-#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) ++#if (V8_MAJOR_VERSION-0) < 5 + object.Clear(); + #endif + +@@ -160,7 +160,7 @@ static void $jswrapper(const v8::WeakCallbackData &dat + object.Dispose(isolate); + #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x032100) + object->Dispose(isolate); +-#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) ++#elif (V8_MAJOR_VERSION-0) < 5 + object->Dispose(); + #endif + } +@@ -182,7 +182,7 @@ static void $jswrapper(v8::Isolate *isolate, v8::Persistent object, v + SWIGV8_Proxy *proxy = static_cast(parameter); + #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) + static void $jswrapper(v8::Isolate *isolate, v8::Persistent< v8::Object> *object, SWIGV8_Proxy *proxy) { +-#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) ++#elif (V8_MAJOR_VERSION-0) < 5 + static void $jswrapper(const v8::WeakCallbackData &data) { + v8::Local object = data.GetValue(); + SWIGV8_Proxy *proxy = data.GetParameter(); +@@ -205,7 +205,7 @@ static void $jswrapper(const v8::WeakCallbackInfo &data) { + object->Dispose(isolate); + #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) + object->Dispose(); +-#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) ++#elif (V8_MAJOR_VERSION-0) < 5 + object.Clear(); + #endif + } +@@ -219,7 +219,7 @@ static void $jswrapper(const v8::WeakCallbackInfo &data) { + * ----------------------------------------------------------------------------- */ + %fragment("js_getter", "templates") + %{ +-#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) ++#if (V8_MAJOR_VERSION-0) < 5 + static SwigV8ReturnValue $jswrapper(v8::Local property, const SwigV8PropertyCallbackInfo &info) { + #else + static SwigV8ReturnValue $jswrapper(v8::Local property, const SwigV8PropertyCallbackInfo &info) { +@@ -245,7 +245,7 @@ fail: + * ----------------------------------------------------------------------------- */ + %fragment("js_setter", "templates") + %{ +-#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) ++#if (V8_MAJOR_VERSION-0) < 5 + static void $jswrapper(v8::Local property, v8::Local value, const SwigV8PropertyCallbackInfoVoid &info) { + #else + static void $jswrapper(v8::Local property, v8::Local value, const SwigV8PropertyCallbackInfoVoid &info) { +diff --git a/Lib/javascript/v8/javascripthelpers.swg b/Lib/javascript/v8/javascripthelpers.swg +index 7461079..7b8a5ec 100644 +--- a/Lib/javascript/v8/javascripthelpers.swg ++++ b/Lib/javascript/v8/javascripthelpers.swg +@@ -6,7 +6,7 @@ typedef v8::InvocationCallback SwigV8FunctionCallback; + typedef v8::AccessorGetter SwigV8AccessorGetterCallback; + typedef v8::AccessorSetter SwigV8AccessorSetterCallback; + typedef v8::AccessorInfo SwigV8PropertyCallbackInfoVoid; +-#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) ++#elif (V8_MAJOR_VERSION-0) < 5 + typedef v8::FunctionCallback SwigV8FunctionCallback; + typedef v8::AccessorGetterCallback SwigV8AccessorGetterCallback; + typedef v8::AccessorSetterCallback SwigV8AccessorSetterCallback; +@@ -70,14 +70,14 @@ SWIGRUNTIME void SWIGV8_AddStaticFunction(v8::Handle obj, const char + */ + SWIGRUNTIME void SWIGV8_AddStaticVariable(v8::Handle obj, const char* symbol, + SwigV8AccessorGetterCallback getter, SwigV8AccessorSetterCallback setter) { +-#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) ++#if (V8_MAJOR_VERSION-0) < 5 + obj->SetAccessor(SWIGV8_SYMBOL_NEW(symbol), getter, setter); + #else + obj->SetAccessor(SWIGV8_CURRENT_CONTEXT(), SWIGV8_SYMBOL_NEW(symbol), getter, setter); + #endif + } + +-#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) ++#if (V8_MAJOR_VERSION-0) < 5 + SWIGRUNTIME void JS_veto_set_variable(v8::Local property, v8::Local value, const SwigV8PropertyCallbackInfoVoid& info) + #else + SWIGRUNTIME void JS_veto_set_variable(v8::Local property, v8::Local value, const SwigV8PropertyCallbackInfoVoid& info) +@@ -87,7 +87,7 @@ SWIGRUNTIME void JS_veto_set_variable(v8::Local property, v8::LocalWriteUtf8(buffer, 256); + res = sprintf(msg, "Tried to write read-only variable: %s.", buffer); + #else +diff --git a/Lib/javascript/v8/javascriptinit.swg b/Lib/javascript/v8/javascriptinit.swg +index 86008d9..e83f478 100644 +--- a/Lib/javascript/v8/javascriptinit.swg ++++ b/Lib/javascript/v8/javascriptinit.swg +@@ -7,7 +7,7 @@ SWIG_V8_SetModule(void *, swig_module_info *swig_module) { + v8::Local global_obj = SWIGV8_CURRENT_CONTEXT()->Global(); + v8::Local mod = SWIGV8_EXTERNAL_NEW(swig_module); + assert(!mod.IsEmpty()); +-#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) ++#if (V8_MAJOR_VERSION-0) < 5 + global_obj->SetHiddenValue(SWIGV8_STRING_NEW("swig_module_info_data"), mod); + #else + v8::Local privateKey = v8::Private::ForApi(v8::Isolate::GetCurrent(), SWIGV8_STRING_NEW("swig_module_info_data")); +@@ -18,7 +18,7 @@ SWIG_V8_SetModule(void *, swig_module_info *swig_module) { + SWIGRUNTIME swig_module_info * + SWIG_V8_GetModule(void *) { + v8::Local global_obj = SWIGV8_CURRENT_CONTEXT()->Global(); +-#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) ++#if (V8_MAJOR_VERSION-0) < 5 + v8::Local moduleinfo = global_obj->GetHiddenValue(SWIGV8_STRING_NEW("swig_module_info_data")); + #else + v8::Local privateKey = v8::Private::ForApi(v8::Isolate::GetCurrent(), SWIGV8_STRING_NEW("swig_module_info_data")); +diff --git a/Lib/javascript/v8/javascriptrun.swg b/Lib/javascript/v8/javascriptrun.swg +index 30002c0..0af9f4e 100644 +--- a/Lib/javascript/v8/javascriptrun.swg ++++ b/Lib/javascript/v8/javascriptrun.swg +@@ -193,7 +193,7 @@ public: + void (*dtor) (v8::Isolate *isolate, v8::Persistent< v8::Value> object, void *parameter); + #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) + void (*dtor) (v8::Isolate *isolate, v8::Persistent< v8::Object > *object, SWIGV8_Proxy *proxy); +-#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) ++#elif (V8_MAJOR_VERSION-0) < 5 + void (*dtor) (const v8::WeakCallbackData &data); + #else + void (*dtor) (const v8::WeakCallbackInfo &data); +@@ -243,7 +243,7 @@ SWIGRUNTIME void SWIGV8_Proxy_DefaultDtor(v8::Isolate *, v8::Persistent< v8::Val + SWIGV8_Proxy *proxy = static_cast(parameter); + #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) + SWIGRUNTIME void SWIGV8_Proxy_DefaultDtor(v8::Isolate *, v8::Persistent< v8::Object > *object, SWIGV8_Proxy *proxy) { +-#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) ++#elif (V8_MAJOR_VERSION-0) < 5 + SWIGRUNTIME void SWIGV8_Proxy_DefaultDtor(const v8::WeakCallbackData &data) { + SWIGV8_Proxy *proxy = data.GetParameter(); + #else +@@ -317,7 +317,7 @@ SWIGRUNTIME void SWIGV8_SetPrivateData(v8::Handle obj, void *ptr, sw + } else { + cdata->handle.MakeWeak(cdata, SWIGV8_Proxy_DefaultDtor); + } +-#elifif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) ++#elif (V8_MAJOR_VERSION-0) < 5 + if(cdata->swigCMemOwn && (SWIGV8_ClientData*)info->clientdata) { + cdata->handle.SetWeak(cdata, ((SWIGV8_ClientData*)info->clientdata)->dtor); + } else { +@@ -481,7 +481,7 @@ int SwigV8Packed_Check(v8::Handle valRef) { + + v8::Handle objRef = valRef->ToObject(); + if(objRef->InternalFieldCount() < 1) return false; +-#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) ++#if (V8_MAJOR_VERSION-0) < 5 + v8::Handle flag = objRef->GetHiddenValue(SWIGV8_STRING_NEW("__swig__packed_data__")); + #else + v8::Local privateKey = v8::Private::ForApi(v8::Isolate::GetCurrent(), SWIGV8_STRING_NEW("__swig__packed_data__")); +@@ -537,7 +537,7 @@ SWIGRUNTIME void _wrap_SwigV8PackedData_delete(v8::Isolate *isolate, v8::Persist + SwigV8PackedData *cdata = static_cast(parameter); + #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) + SWIGRUNTIME void _wrap_SwigV8PackedData_delete(v8::Isolate *isolate, v8::Persistent *object, SwigV8PackedData *cdata) { +-#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) ++#elif (V8_MAJOR_VERSION-0) < 5 + SWIGRUNTIME void _wrap_SwigV8PackedData_delete(const v8::WeakCallbackData &data) { + v8::Local object = data.GetValue(); + SwigV8PackedData *cdata = data.GetParameter(); +@@ -558,7 +558,7 @@ SWIGRUNTIME void _wrap_SwigV8PackedData_delete(const v8::WeakCallbackInfoDispose(isolate); + #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) + object->Dispose(); +-#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) ++#elif (V8_MAJOR_VERSION-0) < 5 + object.Clear(); + #endif + } +@@ -571,7 +571,7 @@ v8::Handle SWIGV8_NewPackedObj(void *data, size_t size, swig_type_inf + // v8::Handle obj = SWIGV8_OBJECT_NEW(); + v8::Local obj = SWIGV8_OBJECT_NEW(); + +-#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) ++#if (V8_MAJOR_VERSION-0) < 5 + obj->SetHiddenValue(SWIGV8_STRING_NEW("__swig__packed_data__"), SWIGV8_BOOLEAN_NEW(true)); + #else + v8::Local privateKey = v8::Private::ForApi(v8::Isolate::GetCurrent(), SWIGV8_STRING_NEW("__swig__packed_data__")); +@@ -599,7 +599,7 @@ v8::Handle SWIGV8_NewPackedObj(void *data, size_t size, swig_type_inf + cdata->handle.MakeWeak(v8::Isolate::GetCurrent(), cdata, _wrap_SwigV8PackedData_delete); + #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) + cdata->handle.MakeWeak(cdata, _wrap_SwigV8PackedData_delete); +-#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) ++#elif (V8_MAJOR_VERSION-0) < 5 + cdata->handle.SetWeak(cdata, _wrap_SwigV8PackedData_delete); + // v8::V8::SetWeak(&cdata->handle, cdata, _wrap_SwigV8PackedData_delete); + #else +-- +2.1.4 + diff --git a/package/swig/swig.hash b/package/swig/swig.hash index 92ddc110ca..77c93a96d6 100644 --- a/package/swig/swig.hash +++ b/package/swig/swig.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 2939aae39dec06095462f1b95ce1c958ac80d07b926e48871046d17c0094f44c swig-3.0.10.tar.gz +sha256 7cf9f447ae7ed1c51722efc45e7f14418d15d7a1e143ac9f09a668999f4fc94d swig-3.0.12.tar.gz diff --git a/package/swig/swig.mk b/package/swig/swig.mk index 8fed8dabc4..157d3a39a6 100644 --- a/package/swig/swig.mk +++ b/package/swig/swig.mk @@ -5,32 +5,32 @@ ################################################################################ SWIG_VERSION_MAJOR = 3.0 -SWIG_VERSION = $(SWIG_VERSION_MAJOR).10 +SWIG_VERSION = $(SWIG_VERSION_MAJOR).12 SWIG_SITE = http://downloads.sourceforge.net/project/swig/swig/swig-$(SWIG_VERSION) HOST_SWIG_DEPENDENCIES = host-bison HOST_SWIG_CONF_OPTS = \ --without-pcre \ --disable-ccache \ --without-octave -SWIG_LICENSE = GPLv3+, BSD-2c, BSD-3c +SWIG_LICENSE = GPL-3.0+, BSD-2-Clause, BSD-3-Clause SWIG_LICENSE_FILES = LICENSE LICENSE-GPL LICENSE-UNIVERSITIES # CMake looks first at swig3.0, then swig2.0 and then swig. However, # when doing the search, it will look into the PATH for swig2.0 first, # and then for swig. -# While the PATH contains first our $(HOST_DIR)/usr/bin, it also contains +# While the PATH contains first our $(HOST_DIR)/bin, it also contains # /usr/bin and other system directories. Therefore, if there is an # installed swig3.0 on the system, it will get the preference over the -# swig installed in $(HOST_DIR)/usr/bin, which isn't nice. To prevent +# swig installed in $(HOST_DIR)/bin, which isn't nice. To prevent # this from happening we create a symbolic link swig3.0 -> swig, so that # our swig always gets used. define HOST_SWIG_INSTALL_SYMLINK - ln -fs swig $(HOST_DIR)/usr/bin/swig$(SWIG_VERSION_MAJOR) + ln -fs swig $(HOST_DIR)/bin/swig$(SWIG_VERSION_MAJOR) endef HOST_SWIG_POST_INSTALL_HOOKS += HOST_SWIG_INSTALL_SYMLINK $(eval $(host-autotools-package)) -SWIG = $(HOST_DIR)/usr/bin/swig$(SWIG_VERSION_MAJOR) +SWIG = $(HOST_DIR)/bin/swig$(SWIG_VERSION_MAJOR) diff --git a/package/swupdate/0001-Fix-SHA256-hash-verification.patch b/package/swupdate/0001-Fix-SHA256-hash-verification.patch new file mode 100644 index 0000000000..b7bd9d3d0c --- /dev/null +++ b/package/swupdate/0001-Fix-SHA256-hash-verification.patch @@ -0,0 +1,119 @@ +From dba95dcd3739c604a81ffa2df2545e7a4cd430cf Mon Sep 17 00:00:00 2001 +From: Maksim Salau +Date: Wed, 25 Oct 2017 16:17:14 +0300 +Subject: [PATCH] Fix SHA256 hash verification + +If a CPIO archive is not valid or copying fails due to any reason, +an error message is printed, but update process continues. +The change makes the utility fail in case of read errors or +hash verification errors. + +Signed-off-by: Maksim Salau +Acked-by: Stefano Babic +--- + core/cpio_utils.c | 28 +++++++++++++++++++++------- + corelib/installer.c | 11 +++++++++-- + 2 files changed, 30 insertions(+), 9 deletions(-) + +diff --git a/core/cpio_utils.c b/core/cpio_utils.c +index e962fae..de674ec 100644 +--- a/core/cpio_utils.c ++++ b/core/cpio_utils.c +@@ -414,24 +414,34 @@ int extract_img_from_cpio(int fd, unsigned long offset, struct filehdr *fdh) + off_t extract_next_file(int fd, int fdout, off_t start, int compressed, + int encrypted, unsigned char *hash) + { ++ int ret; + struct filehdr fdh; + uint32_t checksum = 0; + unsigned long offset = start; + +- if (lseek(fd, offset, SEEK_SET) < 0) { ++ ret = lseek(fd, offset, SEEK_SET); ++ if (ret < 0) { + ERROR("CPIO file corrupted : %s\n", + strerror(errno)); +- return -1; ++ return ret; + } + +- if (extract_cpio_header(fd, &fdh, &offset)) { ++ ret = extract_cpio_header(fd, &fdh, &offset); ++ if (ret) { + ERROR("CPIO Header wrong\n"); ++ return ret; + } + +- if (lseek(fd, offset, SEEK_SET) < 0) ++ ret = lseek(fd, offset, SEEK_SET); ++ if (ret < 0) { + ERROR("CPIO file corrupted : %s\n", strerror(errno)); +- if (copyfile(fd, &fdout, fdh.size, &offset, 0, 0, compressed, &checksum, hash, encrypted, NULL) < 0) { ++ return ret; ++ } ++ ++ ret = copyfile(fd, &fdout, fdh.size, &offset, 0, 0, compressed, &checksum, hash, encrypted, NULL); ++ if (ret < 0) { + ERROR("Error copying extracted file\n"); ++ return ret; + } + + TRACE("Copied file:\n\tfilename %s\n\tsize %u\n\tchecksum 0x%lx %s\n", +@@ -440,9 +450,11 @@ off_t extract_next_file(int fd, int fdout, off_t start, int compressed, + (unsigned long)checksum, + (checksum == fdh.chksum) ? "VERIFIED" : "WRONG"); + +- if (checksum != fdh.chksum) ++ if (checksum != fdh.chksum) { + ERROR("Checksum WRONG ! Computed 0x%lx, it should be 0x%lx\n", + (unsigned long)checksum, fdh.chksum); ++ return -EINVAL; ++ } + + return offset; + } +@@ -492,8 +504,10 @@ int cpio_scan(int fd, struct swupdate_cfg *cfg, off_t start) + + /* Next header must be 4-bytes aligned */ + offset += NPAD_BYTES(offset); +- if (lseek(fd, offset, SEEK_SET) < 0) ++ if (lseek(fd, offset, SEEK_SET) < 0) { + ERROR("CPIO file corrupted : %s\n", strerror(errno)); ++ return -1; ++ } + } + + return 0; +diff --git a/corelib/installer.c b/corelib/installer.c +index 592ada8..d2dee28 100644 +--- a/corelib/installer.c ++++ b/corelib/installer.c +@@ -154,6 +154,7 @@ static int extract_script(int fd, struct imglist *head, const char *dest) + { + struct img_type *script; + int fdout; ++ int ret = 0; + + LIST_FOREACH(script, head, next) { + if (script->provided == 0) { +@@ -166,9 +167,15 @@ static int extract_script(int fd, struct imglist *head, const char *dest) + dest, script->fname); + + fdout = openfileoutput(script->extract_file); +- extract_next_file(fd, fdout, script->offset, 0, +- script->is_encrypted, script->sha256); ++ if (fdout < 0) ++ return fdout; ++ ++ ret = extract_next_file(fd, fdout, script->offset, 0, ++ script->is_encrypted, script->sha256); + close(fdout); ++ ++ if (ret < 0) ++ return ret; + } + return 0; + } +-- +2.7.4 + diff --git a/package/swupdate/Config.in b/package/swupdate/Config.in index d9ef1bc7a4..7a0f9d12e5 100644 --- a/package/swupdate/Config.in +++ b/package/swupdate/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_SWUPDATE depends on BR2_USE_MMU # fork() # swupdate requires a parser and uses libconfig as default select BR2_PACKAGE_LIBCONFIG if !BR2_PACKAGE_JSON_C && \ - !BR2_PACKAGE_HAS_LUAINTERPRETER + !BR2_PACKAGE_LUA_5_2 && !BR2_PACKAGE_LUA_5_3 help swupdate provides a reliable way to update the software on an embedded system. @@ -19,11 +19,8 @@ config BR2_PACKAGE_SWUPDATE use your own modified configuration, you have to select the necessary packages manually: - * Select BR2_PACKAGE_LUA or BR2_PACKAGE_LUAJIT if you want + * Select BR2_PACKAGE_LUA_5_2 or BR2_PACKAGE_LUA_5_3 if you want to have Lua support. - CONFIG_HANDLER_IN_LUA is not supported in LuaJIT or Lua 5.1. - Note that for LuaJIT support, you need to set - CONFIG_LUAVERSION="jit-5.1". * Select BR2_LIBCURL if you want to use the download feature. * Select BR2_PACKAGE_OPENSSL is you want to add encryption support. * Select BR2_PACKAGE_MTD if you want to use swupdate with UBI @@ -32,6 +29,8 @@ config BR2_PACKAGE_SWUPDATE archives. * Select BR2_PACKAGE_UBOOT_TOOLS and BR2_PACKAGE_ZLIB to add support for setting the U-Boot environment. + * Select BR2_PACKAGE_ZEROMQ to add support for using a remote + handler. https://sbabic.github.io/swupdate diff --git a/package/swupdate/swupdate.config b/package/swupdate/swupdate.config index 51869bb9d9..328e49fdf0 100644 --- a/package/swupdate/swupdate.config +++ b/package/swupdate/swupdate.config @@ -14,14 +14,11 @@ CONFIG_HAVE_DOT_CONFIG=y CONFIG_SCRIPTS=y # CONFIG_HW_COMPATIBILITY is not set CONFIG_SW_VERSIONS_FILE="/etc/sw-versions" -# CONFIG_MTD is not set -# CONFIG_LUA is not set # CONFIG_FEATURE_SYSLOG is not set # # Build Options # -# CONFIG_STATIC is not set CONFIG_CROSS_COMPILE="" CONFIG_SYSROOT="" CONFIG_EXTRA_CFLAGS="" @@ -34,9 +31,23 @@ CONFIG_EXTRA_LDLIBS="" # CONFIG_DEBUG is not set # CONFIG_WERROR is not set # CONFIG_NOCLEANUP is not set -# CONFIG_DOWNLOAD is not set -# CONFIG_SIGNED_IMAGES is not set + +# +# Bootloader +# +# CONFIG_BOOTLOADER is not set +CONFIG_BOOTLOADER_NONE=y +# CONFIG_BOOTLOADER_GRUB is not set + +# +# Suricatta +# # CONFIG_SURICATTA is not set +CONFIG_SURICATTA_SERVER_NONE=y + +# +# Server +# CONFIG_WEBSERVER=y # @@ -48,19 +59,16 @@ CONFIG_MONGOOSE=y # Mongoose Feature # CONFIG_MONGOOSEIPV6=y -# CONFIG_MONGOOSESSL is not set # # Archival Features # -# CONFIG_GUNZIP is not set # # Parser Features # CONFIG_LIBCONFIG=y -CONFIG_LIBCONFIGROOT="" -# CONFIG_JSON is not set +CONFIG_PARSERROOT="" # CONFIG_SETSWDESCRIPTION is not set # @@ -68,5 +76,4 @@ CONFIG_LIBCONFIGROOT="" # CONFIG_RAW=y # CONFIG_SHELLSCRIPTHANDLER is not set -# CONFIG_ARCHIVE is not set -# CONFIG_UBOOT is not set \ No newline at end of file +# CONFIG_BOOTLOADERHANDLER is not set diff --git a/package/swupdate/swupdate.hash b/package/swupdate/swupdate.hash index 1ba10f6457..7acc249b80 100644 --- a/package/swupdate/swupdate.hash +++ b/package/swupdate/swupdate.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 840d6287a41f7a42e08a74045ee40b7c2f82c1ecfedf8c915e3935d4f0084376 swupdate-2016.10.tar.gz +sha256 898a98b0c5a6bd09a4138fa98bb9883357db1ec6fe4dd5e8f4bcb11d092b9bf3 swupdate-2017.07.tar.gz diff --git a/package/swupdate/swupdate.mk b/package/swupdate/swupdate.mk index 688f4eef86..fbb092da05 100644 --- a/package/swupdate/swupdate.mk +++ b/package/swupdate/swupdate.mk @@ -4,9 +4,9 @@ # ################################################################################ -SWUPDATE_VERSION = 2016.10 +SWUPDATE_VERSION = 2017.07 SWUPDATE_SITE = $(call github,sbabic,swupdate,$(SWUPDATE_VERSION)) -SWUPDATE_LICENSE = GPLv2+, MIT, Public Domain +SWUPDATE_LICENSE = GPL-2.0+, MIT, Public Domain SWUPDATE_LICENSE_FILES = COPYING # swupdate bundles its own version of mongoose (version 3.8) @@ -39,8 +39,8 @@ else SWUPDATE_MAKE_ENV += HAVE_LIBCURL=n endif -ifeq ($(BR2_PACKAGE_HAS_LUAINTERPRETER),y) -SWUPDATE_DEPENDENCIES += luainterpreter host-pkgconf +ifeq ($(BR2_PACKAGE_LUA_5_2)$(BR2_PACKAGE_LUA_5_3),y) +SWUPDATE_DEPENDENCIES += lua host-pkgconf SWUPDATE_MAKE_ENV += HAVE_LUA=y else SWUPDATE_MAKE_ENV += HAVE_LUA=n @@ -71,6 +71,13 @@ else SWUPDATE_MAKE_ENV += HAVE_LIBUBOOTENV=n endif +ifeq ($(BR2_PACKAGE_ZEROMQ),y) +SWUPDATE_DEPENDENCIES += zeromq +SWUPDATE_MAKE_ENV += HAVE_LIBZEROMQ=y +else +SWUPDATE_MAKE_ENV += HAVE_LIBZEROMQ=n +endif + ifeq ($(BR2_PACKAGE_ZLIB),y) SWUPDATE_DEPENDENCIES += zlib SWUPDATE_MAKE_ENV += HAVE_ZLIB=y diff --git a/package/sylpheed/sylpheed.mk b/package/sylpheed/sylpheed.mk index 8d426233b2..14107f0a6a 100644 --- a/package/sylpheed/sylpheed.mk +++ b/package/sylpheed/sylpheed.mk @@ -8,7 +8,7 @@ SYLPHEED_VERSION_MAJOR = 3.2 SYLPHEED_VERSION = $(SYLPHEED_VERSION_MAJOR).0 SYLPHEED_SOURCE = sylpheed-$(SYLPHEED_VERSION).tar.bz2 SYLPHEED_SITE = http://sylpheed.sraoss.jp/sylpheed/v$(SYLPHEED_VERSION_MAJOR) -SYLPHEED_LICENSE = GPLv2+ (executables), LGPLv2.1+ (library, attachment plugin) +SYLPHEED_LICENSE = GPL-2.0+ (executables), LGPL-2.1+ (library, attachment plugin) SYLPHEED_LICENSE_FILES = COPYING COPYING.LIB SYLPHEED_CONF_OPTS = --disable-gtkspell --disable-gpgme SYLPHEED_DEPENDENCIES = host-pkgconf libgtk2 diff --git a/package/synergy/0001-allow-building-of-synergy-without-tests.patch b/package/synergy/0001-allow-building-of-synergy-without-tests.patch new file mode 100644 index 0000000000..0c550eec16 --- /dev/null +++ b/package/synergy/0001-allow-building-of-synergy-without-tests.patch @@ -0,0 +1,86 @@ +From cb6b00947ea125c3246654bb3dd3986b64e974d4 Mon Sep 17 00:00:00 2001 +From: Pieterjan Camerlynck +Date: Mon, 27 Mar 2017 21:51:59 +0200 +Subject: [PATCH] allow building of synergy without tests + +Upstream status: https://github.com/symless/synergy/pull/5943 + +Signed-off-by: Pieterjan Camerlynck +--- + CMakeLists.txt | 2 ++ + src/CMakeLists.txt | 2 +- + src/lib/synergy/KeyMap.h | 4 ++++ + src/test/unittests/synergy/KeyMapTests.cpp | 2 ++ + 4 files changed, 9 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 94c474e..cceac45 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -39,6 +39,8 @@ endif() + # First, declare project (important for prerequisite checks). + project(synergy C CXX) + ++option(BUILD_TESTS "Override building of tests" ON) ++ + # put binaries in a different dir to make them easier to find. + set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) + set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 237ba48..96dadd2 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -50,6 +50,6 @@ add_subdirectory(lib) + add_subdirectory(cmd) + add_subdirectory(micro) + +-if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "IRIX") ++if (BUILD_TESTS AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "IRIX") + add_subdirectory(test) + endif() +diff --git a/src/lib/synergy/KeyMap.h b/src/lib/synergy/KeyMap.h +index de869e6..51e7e07 100644 +--- a/src/lib/synergy/KeyMap.h ++++ b/src/lib/synergy/KeyMap.h +@@ -24,7 +24,9 @@ + #include "common/stdset.h" + #include "common/stdvector.h" + ++#ifdef TEST_ENV + #include "gtest/gtest_prod.h" ++#endif + + namespace synergy { + +@@ -326,6 +328,7 @@ public: + + //@} + ++#ifdef TEST_ENV + private: + FRIEND_TEST(KeyMapTests, + findBestKey_requiredDown_matchExactFirstItem); +@@ -340,6 +343,7 @@ private: + FRIEND_TEST(KeyMapTests, + findBestKey_onlyOneRequiredDown_matchTwoRequiredChangesItem); + FRIEND_TEST(KeyMapTests, findBestKey_noRequiredDown_cannotMatch); ++#endif + + private: + //! Ways to synthesize a key +diff --git a/src/test/unittests/synergy/KeyMapTests.cpp b/src/test/unittests/synergy/KeyMapTests.cpp +index 1a195af..fe2a5e4 100644 +--- a/src/test/unittests/synergy/KeyMapTests.cpp ++++ b/src/test/unittests/synergy/KeyMapTests.cpp +@@ -15,6 +15,8 @@ + * along with this program. If not, see . + */ + ++#define TEST_ENV ++ + #include "synergy/KeyMap.h" + + #include "test/global/gtest.h" +-- +2.7.4 + diff --git a/package/synergy/0001-includes.patch b/package/synergy/0001-includes.patch deleted file mode 100644 index accaf8292a..0000000000 --- a/package/synergy/0001-includes.patch +++ /dev/null @@ -1,167 +0,0 @@ -[PATCH] fix build with modern toolchains - -Several files are missing the correct includes for exit/getenvmemcpy/strlen/.. - -Signed-off-by: Peter Korsgaard ---- - lib/arch/CArchDaemonUnix.cpp | 1 + - lib/arch/CMultibyte.cpp | 1 + - lib/base/CStringUtil.cpp | 1 + - lib/client/CClient.cpp | 3 ++- - lib/client/CServerProxy.cpp | 1 + - lib/net/CTCPSocket.cpp | 2 +- - lib/platform/CXWindowsScreen.cpp | 1 + - lib/server/CClientProxy1_3.cpp | 1 + - lib/server/CServer.cpp | 1 + - lib/synergy/CPacketStreamFilter.cpp | 1 + - lib/synergy/IKeyState.cpp | 1 + - lib/synergy/IPrimaryScreen.cpp | 1 + - 12 files changed, 13 insertions(+), 2 deletions(-) - -Index: synergy-1.3.1/lib/arch/CArchDaemonUnix.cpp -=================================================================== ---- synergy-1.3.1.orig/lib/arch/CArchDaemonUnix.cpp -+++ synergy-1.3.1/lib/arch/CArchDaemonUnix.cpp -@@ -19,6 +19,7 @@ - #include - #include - #include -+#include - - // - // CArchDaemonUnix -Index: synergy-1.3.1/lib/arch/CMultibyte.cpp -=================================================================== ---- synergy-1.3.1.orig/lib/arch/CMultibyte.cpp -+++ synergy-1.3.1/lib/arch/CMultibyte.cpp -@@ -19,6 +19,7 @@ - #include "CArch.h" - #include - #include -+#include - #if HAVE_LOCALE_H - # include - #endif -Index: synergy-1.3.1/lib/base/CStringUtil.cpp -=================================================================== ---- synergy-1.3.1.orig/lib/base/CStringUtil.cpp -+++ synergy-1.3.1/lib/base/CStringUtil.cpp -@@ -19,6 +19,7 @@ - #include - #include - #include -+#include - #include - - // -Index: synergy-1.3.1/lib/client/CClient.cpp -=================================================================== ---- synergy-1.3.1.orig/lib/client/CClient.cpp -+++ synergy-1.3.1/lib/client/CClient.cpp -@@ -26,7 +26,8 @@ - #include "CLog.h" - #include "IEventQueue.h" - #include "TMethodEventJob.h" -- -+#include -+#include - // - // CClient - // -Index: synergy-1.3.1/lib/client/CServerProxy.cpp -=================================================================== ---- synergy-1.3.1.orig/lib/client/CServerProxy.cpp -+++ synergy-1.3.1/lib/client/CServerProxy.cpp -@@ -24,6 +24,7 @@ - #include "TMethodEventJob.h" - #include "XBase.h" - #include -+#include - - // - // CServerProxy -Index: synergy-1.3.1/lib/net/CTCPSocket.cpp -=================================================================== ---- synergy-1.3.1.orig/lib/net/CTCPSocket.cpp -+++ synergy-1.3.1/lib/net/CTCPSocket.cpp -@@ -24,7 +24,7 @@ - #include "CArch.h" - #include "XArch.h" - #include -- -+#include - // - // CTCPSocket - // -Index: synergy-1.3.1/lib/platform/CXWindowsScreen.cpp -=================================================================== ---- synergy-1.3.1.orig/lib/platform/CXWindowsScreen.cpp -+++ synergy-1.3.1/lib/platform/CXWindowsScreen.cpp -@@ -27,6 +27,7 @@ - #include "IEventQueue.h" - #include "TMethodEventJob.h" - #include -+#include - #if X_DISPLAY_MISSING - # error X11 is required to build synergy - #else -Index: synergy-1.3.1/lib/server/CClientProxy1_3.cpp -=================================================================== ---- synergy-1.3.1.orig/lib/server/CClientProxy1_3.cpp -+++ synergy-1.3.1/lib/server/CClientProxy1_3.cpp -@@ -17,6 +17,7 @@ - #include "CLog.h" - #include "IEventQueue.h" - #include "TMethodEventJob.h" -+#include - - // - // CClientProxy1_3 -Index: synergy-1.3.1/lib/server/CServer.cpp -=================================================================== ---- synergy-1.3.1.orig/lib/server/CServer.cpp -+++ synergy-1.3.1/lib/server/CServer.cpp -@@ -29,6 +29,7 @@ - #include "TMethodEventJob.h" - #include "CArch.h" - #include -+#include - - // - // CServer -Index: synergy-1.3.1/lib/synergy/CPacketStreamFilter.cpp -=================================================================== ---- synergy-1.3.1.orig/lib/synergy/CPacketStreamFilter.cpp -+++ synergy-1.3.1/lib/synergy/CPacketStreamFilter.cpp -@@ -16,6 +16,7 @@ - #include "IEventQueue.h" - #include "CLock.h" - #include "TMethodEventJob.h" -+#include - - // - // CPacketStreamFilter -Index: synergy-1.3.1/lib/synergy/IKeyState.cpp -=================================================================== ---- synergy-1.3.1.orig/lib/synergy/IKeyState.cpp -+++ synergy-1.3.1/lib/synergy/IKeyState.cpp -@@ -14,6 +14,7 @@ - - #include "IKeyState.h" - #include -+#include - - // - // IKeyState -Index: synergy-1.3.1/lib/synergy/IPrimaryScreen.cpp -=================================================================== ---- synergy-1.3.1.orig/lib/synergy/IPrimaryScreen.cpp -+++ synergy-1.3.1/lib/synergy/IPrimaryScreen.cpp -@@ -13,6 +13,7 @@ - */ - - #include "IPrimaryScreen.h" -+#include - - // - // IPrimaryScreen diff --git a/package/synergy/0002-do-not-change-output-path-when-building-in-debug.patch b/package/synergy/0002-do-not-change-output-path-when-building-in-debug.patch new file mode 100644 index 0000000000..a261b6b10c --- /dev/null +++ b/package/synergy/0002-do-not-change-output-path-when-building-in-debug.patch @@ -0,0 +1,33 @@ +From 2868add1b7375ef4e2427edb85e27759c5ee226b Mon Sep 17 00:00:00 2001 +From: Pieterjan Camerlynck +Date: Fri, 31 Mar 2017 20:05:30 +0200 +Subject: [PATCH] do not change output path when building in debug + +Signed-off-by: Pieterjan Camerlynck +--- + CMakeLists.txt | 9 --------- + 1 file changed, 9 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 94c474e..1080e41 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -43,15 +43,6 @@ project(synergy C CXX) + set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) + set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib) + +-# for unix, put debug files in a separate bin "debug" dir. +-# release bin files should stay in the root of the bin dir. +-if (CMAKE_GENERATOR STREQUAL "Unix Makefiles") +- if (CMAKE_BUILD_TYPE STREQUAL Debug) +- set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin/debug) +- set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib/debug) +- endif() +-endif() +- + # Set some easy to type variables. + set(root_dir ${CMAKE_SOURCE_DIR}) + set(cmake_dir ${root_dir}/res) +-- +2.7.4 + diff --git a/package/synergy/0002-remove-werror.patch b/package/synergy/0002-remove-werror.patch deleted file mode 100644 index 31a8c2b510..0000000000 --- a/package/synergy/0002-remove-werror.patch +++ /dev/null @@ -1,16 +0,0 @@ -Remove -Werror from CXXFLAGS - -Signed-off-by: Markos Chandras - -Index: synergy-1.3.1/configure.in -=================================================================== ---- synergy-1.3.1.orig/configure.in -+++ synergy-1.3.1/configure.in -@@ -239,7 +239,6 @@ dnl checks for system services - - dnl enable maximum compiler warnings and warnings are errors. - ACX_CXX_WARNINGS --ACX_CXX_WARNINGS_ARE_ERRORS - - dnl adjust compiler and linker variables - CXXFLAGS="$CXXFLAGS $SYNERGY_CXXFLAGS $ARCH_CFLAGS" diff --git a/package/synergy/0003-Fix-build-with-gcc-6.patch b/package/synergy/0003-Fix-build-with-gcc-6.patch deleted file mode 100644 index 843078fe63..0000000000 --- a/package/synergy/0003-Fix-build-with-gcc-6.patch +++ /dev/null @@ -1,86 +0,0 @@ -From b79d478c21ed6af20554ead97da72de845dc3206 Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Sat, 25 Feb 2017 21:57:19 +0100 -Subject: [PATCH] Fix build with gcc 6 - -Gcc 6.x defaults to C++14, and the iostream operator bool behaviour changed -in C++11. In previous versions, a somewhat odd operator void* was used to -return the status of the stream as a pointer. Since C++11 a more sensible -operator bool is used to return the stream staus. - -For details, see: - -http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool - -The code in CConfigReadContext assumes the pre-C++11 behaviour and provides -its own operator void overload to return the status of the embedded -iostream. With C++11, iostream no longer provides this overload, breaking -the build: - -CConfig.cpp: In member function 'CConfigReadContext::operator void*() const': -CConfig.cpp:1851:9: error: cannot convert 'std::istream {aka std::basic_istream}' to 'void*' in return - return m_stream; - -To fix it, backport part of upstream commit 3d963bfbe7897d0a33ad (possible -fix for mavericks) which changes the code to simply provide a getStream() -method which returns a reference to the embedded stream and the calling code -is changed to use operator bool on the returned stream, making the code -compatible with both old and new compilers. - -This upstream commit is part of the 1.6.0 release, so can be dropped when -the version is bumped. - -Signed-off-by: Peter Korsgaard ---- - lib/server/CConfig.cpp | 7 +------ - lib/server/CConfig.h | 2 +- - 2 files changed, 2 insertions(+), 7 deletions(-) - -diff --git a/lib/server/CConfig.cpp b/lib/server/CConfig.cpp -index a502fe78..d67dde20 100644 ---- a/lib/server/CConfig.cpp -+++ b/lib/server/CConfig.cpp -@@ -607,7 +607,7 @@ void - CConfig::read(CConfigReadContext& context) - { - CConfig tmp; -- while (context) { -+ while (context.getStream()) { - tmp.readSection(context); - } - *this = tmp; -@@ -1846,11 +1846,6 @@ CConfigReadContext::getLineNumber() const - return m_line; - } - --CConfigReadContext::operator void*() const --{ -- return m_stream; --} -- - bool - CConfigReadContext::operator!() const - { -diff --git a/lib/server/CConfig.h b/lib/server/CConfig.h -index c0d2faa8..0ee453cb 100644 ---- a/lib/server/CConfig.h -+++ b/lib/server/CConfig.h -@@ -480,7 +480,6 @@ public: - bool readLine(CString&); - UInt32 getLineNumber() const; - -- operator void*() const; - bool operator!() const; - - OptionValue parseBoolean(const CString&) const; -@@ -502,6 +501,7 @@ public: - IPlatformScreen::CButtonInfo* - parseMouse(const CString& mouse) const; - KeyModifierMask parseModifier(const CString& modifiers) const; -+ std::istream& getStream() const { return m_stream; }; - - private: - // not implemented --- -2.11.0 - diff --git a/package/synergy/Config.in b/package/synergy/Config.in index 6b64b79e34..3bb8b8e98c 100644 --- a/package/synergy/Config.in +++ b/package/synergy/Config.in @@ -4,6 +4,9 @@ config BR2_PACKAGE_SYNERGY depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_LIBCURL + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXTST help Synergy lets you easily share a single mouse and @@ -11,7 +14,7 @@ config BR2_PACKAGE_SYNERGY operating systems, each with its own display, without special hardware. - http://synergy2.sourceforge.net/ + https://github.com/symless/synergy/ comment "synergy needs a toolchain w/ C++, wchar" depends on BR2_PACKAGE_XORG7 diff --git a/package/synergy/synergy.hash b/package/synergy/synergy.hash index 2a6950e327..52f9d74d6b 100644 --- a/package/synergy/synergy.hash +++ b/package/synergy/synergy.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 4a15e26456498dda5f3aa7d688a4892e0c50394a2f01685136fbc954bacc9691 synergy-1.3.1.tar.gz +sha256 85c388f93881d741981ce3c675e840a52a76883cb2cea1da306c0c453c5d7d9b synergy-v1.8.8-stable.tar.gz diff --git a/package/synergy/synergy.mk b/package/synergy/synergy.mk index 7b52085a3e..76a4004f06 100644 --- a/package/synergy/synergy.mk +++ b/package/synergy/synergy.mk @@ -4,16 +4,31 @@ # ################################################################################ -SYNERGY_VERSION = 1.3.1 -SYNERGY_SITE = http://downloads.sourceforge.net/project/synergy2/Sources/$(SYNERGY_VERSION) -SYNERGY_AUTORECONF = YES -SYNERGY_CONF_OPTS = \ - --x-includes=$(STAGING_DIR)/usr/include/X11 \ - --x-libraries=$(STAGING_DIR)/usr/lib -SYNERGY_DEPENDENCIES = \ - xlib_libXtst \ - $(if $(BR2_PACKAGE_XLIB_LIBXINERAMA),xlib_libXinerama) -SYNERGY_LICENSE = GPLv2 -SYNERGY_LICENSE_FILES = COPYING +SYNERGY_VERSION = v1.8.8-stable +SYNERGY_SITE = $(call github,symless,synergy,$(SYNERGY_VERSION)) +SYNERGY_LICENSE = GPL-2.0 +SYNERGY_LICENSE_FILES = LICENSE +SYNERGY_DEPENDENCIES = libcurl openssl xlib_libX11 xlib_libXtst -$(eval $(autotools-package)) +ifeq ($(BR2_PACKAGE_XLIB_LIBXEXT),y) +SYNERGY_DEPENDENCIES += xlib_libXext +endif + +ifeq ($(BR2_PACKAGE_XLIB_LIBXI),y) +SYNERGY_DEPENDENCIES += xlib_libXi +endif + +ifeq ($(BR2_PACKAGE_XLIB_LIBXINERAMA),y) +SYNERGY_DEPENDENCIES += xlib_libXinerama +endif + +ifeq ($(BR2_PACKAGE_XLIB_LIBXRANDR),y) +SYNERGY_DEPENDENCIES += xlib_libXrandr +endif + +define SYNERGY_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/bin/synergyc $(TARGET_DIR)/usr/bin/synergyc + $(INSTALL) -D -m 0755 $(@D)/bin/synergys $(TARGET_DIR)/usr/bin/synergys +endef + +$(eval $(cmake-package)) diff --git a/package/sysdig/0001-Don-t-include-curlbuild.h.patch b/package/sysdig/0001-Don-t-include-curlbuild.h.patch new file mode 100644 index 0000000000..5b53bb1d78 --- /dev/null +++ b/package/sysdig/0001-Don-t-include-curlbuild.h.patch @@ -0,0 +1,58 @@ +From 8a6670ea4b57c0e2bf8588d4534b22d1ea860989 Mon Sep 17 00:00:00 2001 +From: Mark Stemm +Date: Tue, 15 Aug 2017 17:49:53 -0700 +Subject: [PATCH] Don't include curlbuild.h + +It's not required to build and it's not present with some newer versions +of libcurl, so removing it. + +Thanks to https://github.com/hhoffstaette for the tip. + +This fixes https://github.com/draios/sysdig/issues/895. + +Signed-off-by: Angelo Compagnucci +--- + userspace/libsinsp/marathon_http.cpp | 1 - + userspace/libsinsp/mesos_http.cpp | 1 - + userspace/sysdig.project | 1 - + 3 files changed, 3 deletions(-) + +diff --git a/userspace/libsinsp/marathon_http.cpp b/userspace/libsinsp/marathon_http.cpp +index f7937b6..2e4449a 100644 +--- a/userspace/libsinsp/marathon_http.cpp ++++ b/userspace/libsinsp/marathon_http.cpp +@@ -7,7 +7,6 @@ + #include "marathon_http.h" + #include "curl/curl.h" + #include "curl/easy.h" +-#include "curl/curlbuild.h" + #define BUFFERSIZE 512 // b64 needs this macro + #include "b64/encode.h" + #include "sinsp.h" +diff --git a/userspace/libsinsp/mesos_http.cpp b/userspace/libsinsp/mesos_http.cpp +index 18ac9f5..c6bfb58 100644 +--- a/userspace/libsinsp/mesos_http.cpp ++++ b/userspace/libsinsp/mesos_http.cpp +@@ -7,7 +7,6 @@ + #include "mesos_http.h" + #include "curl/curl.h" + #include "curl/easy.h" +-#include "curl/curlbuild.h" + #include "sinsp.h" + #include "sinsp_int.h" + #include "sinsp_curl.h" +diff --git a/userspace/sysdig.project b/userspace/sysdig.project +index 5d00f18..76a18f0 100644 +--- a/userspace/sysdig.project ++++ b/userspace/sysdig.project +@@ -752,7 +752,6 @@ + + + +- + + + +-- +2.7.4 + diff --git a/package/sysdig/Config.in b/package/sysdig/Config.in index dfb9db5065..d3f73e6ef3 100644 --- a/package/sysdig/Config.in +++ b/package/sysdig/Config.in @@ -3,11 +3,16 @@ config BR2_PACKAGE_SYSDIG depends on BR2_LINUX_KERNEL depends on BR2_INSTALL_LIBSTDCPP # libjson depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # jsoncpp + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 depends on !BR2_STATIC_LIBS # luajit select BR2_PACKAGE_ZLIB select BR2_PACKAGE_LUAJIT select BR2_PACKAGE_JSONCPP + select BR2_PACKAGE_LIBCURL + select BR2_PACKAGE_NCURSES + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_JQ + select BR2_PACKAGE_LIBB64 help Sysdig is open source, system-level exploration: capture system state and activity from a running Linux instance, @@ -17,7 +22,7 @@ config BR2_PACKAGE_SYSDIG http://sysdig.org -comment "sysdig needs a toolchain w/ C++, gcc >= 4.7, dynamic library and a Linux kernel to be built" +comment "sysdig needs a toolchain w/ C++, gcc >= 4.8, dynamic library and a Linux kernel to be built" depends on !BR2_LINUX_KERNEL || !BR2_INSTALL_LIBSTDCPP \ - || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 || BR2_STATIC_LIBS + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || BR2_STATIC_LIBS depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS diff --git a/package/sysdig/sysdig.hash b/package/sysdig/sysdig.hash index f64ef9e749..83054136dc 100644 --- a/package/sysdig/sysdig.hash +++ b/package/sysdig/sysdig.hash @@ -1,2 +1,2 @@ # locally computed -sha256 e72490eaf413745aef87965a5abb1024908053064f86593b257f12bf5b0d6b97 sysdig-0.1.100.tar.gz +sha256 f009acc32f2b15fcb0d2267bde6f6de9b3445179003c979ba61a8836abdb78f9 sysdig-0.17.0.tar.gz diff --git a/package/sysdig/sysdig.mk b/package/sysdig/sysdig.mk index 85d16a4d49..ecafb9d297 100644 --- a/package/sysdig/sysdig.mk +++ b/package/sysdig/sysdig.mk @@ -4,13 +4,15 @@ # ################################################################################ -SYSDIG_VERSION = 0.1.100 +SYSDIG_VERSION = 0.17.0 SYSDIG_SITE = $(call github,draios,sysdig,$(SYSDIG_VERSION)) -SYSDIG_LICENSE = GPLv2 +SYSDIG_LICENSE = GPL-2.0 SYSDIG_LICENSE_FILES = COPYING SYSDIG_CONF_OPTS = -DUSE_BUNDLED_LUAJIT=OFF -DUSE_BUNDLED_ZLIB=OFF \ - -DUSE_BUNDLED_JSONCPP=OFF -DENABLE_DKMS=OFF -SYSDIG_DEPENDENCIES = zlib luajit jsoncpp + -DUSE_BUNDLED_JSONCPP=OFF -DENABLE_DKMS=OFF -DUSE_BUNDLED_CURL=OFF \ + -DUSE_BUNDLED_NCURSES=OFF -DUSE_BUNDLED_OPENSSL=OFF \ + -DUSE_BUNDLED_JQ=OFF -DUSE_BUNDLED_B64=OFF +SYSDIG_DEPENDENCIES = zlib luajit jsoncpp libcurl ncurses openssl jq libb64 SYSDIG_SUPPORTS_IN_SOURCE_BUILD = NO # sysdig creates the module Makefile from a template, which contains a @@ -22,6 +24,7 @@ SYSDIG_SUPPORTS_IN_SOURCE_BUILD = NO define SYSDIG_MODULE_GEN_MAKEFILE $(INSTALL) -m 0644 $(@D)/driver/Makefile.in $(@D)/driver/Makefile $(SED) 's/@KBUILD_FLAGS@//;' $(@D)/driver/Makefile + $(SED) 's/@PROBE_NAME@/sysdig-probe/;' $(@D)/driver/Makefile endef SYSDIG_POST_PATCH_HOOKS += SYSDIG_MODULE_GEN_MAKEFILE diff --git a/package/sysklogd/klogd.service b/package/sysklogd/klogd.service new file mode 100644 index 0000000000..c66795b449 --- /dev/null +++ b/package/sysklogd/klogd.service @@ -0,0 +1,11 @@ +[Unit] +Description=Kernel Log Daemon + +[Service] +ExecStart=/usr/sbin/klogd -n +StandardOutput=null +Restart=on-failure + +[Install] +WantedBy=multi-user.target +WantedBy=syslogd.service diff --git a/package/sysklogd/sysklogd.mk b/package/sysklogd/sysklogd.mk index 49997d4f23..1c8259a9af 100644 --- a/package/sysklogd/sysklogd.mk +++ b/package/sysklogd/sysklogd.mk @@ -6,7 +6,7 @@ SYSKLOGD_VERSION = 1.5.1 SYSKLOGD_SITE = http://www.infodrom.org/projects/sysklogd/download -SYSKLOGD_LICENSE = GPLv2+ +SYSKLOGD_LICENSE = GPL-2.0+ SYSKLOGD_LICENSE_FILES = COPYING # Override BusyBox implementations if BusyBox is enabled. @@ -32,4 +32,16 @@ define SYSKLOGD_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S01logging endef +define SYSKLOGD_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 $(SYSKLOGD_PKGDIR)/syslogd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/syslogd.service + $(INSTALL) -D -m 644 $(SYSKLOGD_PKGDIR)/klogd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/klogd.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf ../../../../usr/lib/systemd/system/syslogd.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/syslogd.service + ln -sf ../../../usr/lib/systemd/system/syslogd.service \ + $(TARGET_DIR)/etc/systemd/system/syslog.service +endef + $(eval $(generic-package)) diff --git a/package/sysklogd/syslogd.service b/package/sysklogd/syslogd.service new file mode 100644 index 0000000000..70e4cff27e --- /dev/null +++ b/package/sysklogd/syslogd.service @@ -0,0 +1,13 @@ +[Unit] +Description=System Logging Service +Requires=syslog.socket +Wants=klogd.service + +[Service] +ExecStart=/usr/sbin/syslogd -m 0 -n +StandardOutput=null +Restart=on-failure + +[Install] +WantedBy=multi-user.target +Alias=syslog.service diff --git a/package/syslog-ng/Config.in b/package/syslog-ng/Config.in index 7f47d86bcf..fbc236221a 100644 --- a/package/syslog-ng/Config.in +++ b/package/syslog-ng/Config.in @@ -1,13 +1,13 @@ config BR2_PACKAGE_SYSLOG_NG bool "syslog-ng" - select BR2_PACKAGE_EVENTLOG - select BR2_PACKAGE_LIBGLIB2 - select BR2_PACKAGE_PCRE - select BR2_PACKAGE_OPENSSL depends on BR2_USE_WCHAR # glib2 depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # fork() depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS + select BR2_PACKAGE_EVENTLOG + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_PCRE + select BR2_PACKAGE_OPENSSL help syslog-ng is an enhanced log daemon, supporting a wide range of input and output methods: syslog, unstructured text, diff --git a/package/syslog-ng/syslog-ng.conf b/package/syslog-ng/syslog-ng.conf index 0b4a860cfa..a3384eebc3 100644 --- a/package/syslog-ng/syslog-ng.conf +++ b/package/syslog-ng/syslog-ng.conf @@ -1,4 +1,4 @@ -@version: 3.7 +@version: 3.9 source s_sys { file("/proc/kmsg" program_override("kernel")); diff --git a/package/syslog-ng/syslog-ng.hash b/package/syslog-ng/syslog-ng.hash index ba066d1388..d9c51e9f1c 100644 --- a/package/syslog-ng/syslog-ng.hash +++ b/package/syslog-ng/syslog-ng.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 5678856a550ae790618fabde9d1447f932ce7a9080d55dca8fc5df1202c70a17 syslog-ng-3.9.1.tar.gz +sha256 a905fe7bad09dcf40bf03650ef1c287b511bf262d004464b8993a28ce58c9136 syslog-ng-3.10.1.tar.gz diff --git a/package/syslog-ng/syslog-ng.mk b/package/syslog-ng/syslog-ng.mk index 61fc48fd4a..325fac5842 100644 --- a/package/syslog-ng/syslog-ng.mk +++ b/package/syslog-ng/syslog-ng.mk @@ -4,16 +4,16 @@ # ################################################################################ -SYSLOG_NG_VERSION = 3.9.1 +SYSLOG_NG_VERSION = 3.10.1 SYSLOG_NG_SITE = https://github.com/balabit/syslog-ng/releases/download/syslog-ng-$(SYSLOG_NG_VERSION) -SYSLOG_NG_LICENSE = LGPLv2.1+ (syslog-ng core), GPLv2+ (modules) +SYSLOG_NG_LICENSE = LGPL-2.1+ (syslog-ng core), GPL-2.0+ (modules) SYSLOG_NG_LICENSE_FILES = COPYING SYSLOG_NG_DEPENDENCIES = host-bison host-flex host-pkgconf \ eventlog libglib2 openssl pcre # rabbit-mq needs -lrt SYSLOG_NG_CONF_ENV = LIBS=-lrt SYSLOG_NG_CONF_OPTS = --disable-manpages --localstatedir=/var/run \ - --disable-java --disable-java-modules + --disable-java --disable-java-modules --disable-mongodb # We override busybox's S01logging init script ifeq ($(BR2_PACKAGE_BUSYBOX),y) @@ -71,7 +71,9 @@ endif ifeq ($(BR2_PACKAGE_LIBNET),y) SYSLOG_NG_DEPENDENCIES += libnet -SYSLOG_NG_CONF_OPTS += --enable-spoof-source +SYSLOG_NG_CONF_OPTS += \ + --with-libnet=$(STAGING_DIR)/usr/bin \ + --enable-spoof-source else SYSLOG_NG_CONF_OPTS += --disable-spoof-source endif diff --git a/package/sysprof/Config.in b/package/sysprof/Config.in index e1b0488e84..3913274be4 100644 --- a/package/sysprof/Config.in +++ b/package/sysprof/Config.in @@ -1,12 +1,12 @@ config BR2_PACKAGE_SYSPROF bool "sysprof" - select BR2_PACKAGE_LIBGLIB2 depends on BR2_USE_WCHAR # glib2 depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 depends on BR2_USE_MMU # glib2 # In its util.h file, sysprof contains architecture-specific # code depends on BR2_i386 || BR2_x86_64 || BR2_powerpc || BR2_sh4a || BR2_sh4aeb + select BR2_PACKAGE_LIBGLIB2 help Sysprof is a statistical, system-wide profiler that can profile user and kernel code using the perf API. diff --git a/package/sysprof/sysprof.mk b/package/sysprof/sysprof.mk index 0650781e48..033194a533 100644 --- a/package/sysprof/sysprof.mk +++ b/package/sysprof/sysprof.mk @@ -7,7 +7,7 @@ SYSPROF_VERSION = 1.2.0 SYSPROF_SITE = http://sysprof.com SYSPROF_DEPENDENCIES = libglib2 -SYSPROF_LICENSE = GPLv2+ +SYSPROF_LICENSE = GPL-2.0+ SYSPROF_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_SYSPROF_GUI),y) diff --git a/package/sysstat/Config.in b/package/sysstat/Config.in index c262799104..442b787684 100644 --- a/package/sysstat/Config.in +++ b/package/sysstat/Config.in @@ -1,8 +1,6 @@ config BR2_PACKAGE_SYSSTAT bool "sysstat" - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE - # Uses fork() - depends on BR2_USE_MMU + depends on BR2_USE_MMU # fork() help The sysstat utilities are a collection of performance monitoring tools for Linux. These include sar, sadf, mpstat, diff --git a/package/sysstat/sysstat.hash b/package/sysstat/sysstat.hash index 3b4dda8f15..8d4ecf48c1 100644 --- a/package/sysstat/sysstat.hash +++ b/package/sysstat/sysstat.hash @@ -1,4 +1,4 @@ # From: http://sebastien.godard.pagesperso-orange.fr/download.html -sha1 805002b2bef00cd9ab44c5037d09b29cb71a17f8 sysstat-11.4.3.tar.xz +sha1 0e4950da333ff4e68826d58a6f43cb8048d85e9c sysstat-11.4.4.tar.xz # Locally calculated -sha256 02e9cafa5557fbae435d33e592373655df929d817ae711d31142dd2f7d4dcee7 sysstat-11.4.3.tar.xz +sha256 6585f08e24347d2d6462aee6ef97e80fe4cc869605193184500df0f80fa61cc8 sysstat-11.4.4.tar.xz diff --git a/package/sysstat/sysstat.mk b/package/sysstat/sysstat.mk index c2853422a9..e4ba662643 100644 --- a/package/sysstat/sysstat.mk +++ b/package/sysstat/sysstat.mk @@ -4,18 +4,14 @@ # ################################################################################ -SYSSTAT_VERSION = 11.4.3 +SYSSTAT_VERSION = 11.4.4 SYSSTAT_SOURCE = sysstat-$(SYSSTAT_VERSION).tar.xz SYSSTAT_SITE = http://pagesperso-orange.fr/sebastien.godard -SYSSTAT_CONF_OPTS = --disable-man-group --disable-sensors -SYSSTAT_DEPENDENCIES = host-gettext -SYSSTAT_LICENSE = GPLv2+ +SYSSTAT_CONF_OPTS = --disable-file-attr --disable-sensors +SYSSTAT_DEPENDENCIES = host-gettext $(TARGET_NLS_DEPENDENCIES) +SYSSTAT_LICENSE = GPL-2.0+ SYSSTAT_LICENSE_FILES = COPYING - -ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y) -SYSSTAT_DEPENDENCIES += gettext -SYSSTAT_MAKE_OPTS += LFLAGS="$(TARGET_LDFLAGS) -lintl" -endif +SYSSTAT_MAKE_OPTS += LFLAGS="$(TARGET_LDFLAGS) $(TARGET_NLS_LIBS)" # The isag tool is a post processing script that depends on tcl/tk # among other things. So we don't install it. diff --git a/package/systemd-bootchart/0001-parse-util-Don-t-use-xlocale.h-35.patch b/package/systemd-bootchart/0001-parse-util-Don-t-use-xlocale.h-35.patch new file mode 100644 index 0000000000..4eae7e65e4 --- /dev/null +++ b/package/systemd-bootchart/0001-parse-util-Don-t-use-xlocale.h-35.patch @@ -0,0 +1,32 @@ +From 15062a4501a1dffccd7cb6374b415693fa4435bf Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen +Date: Tue, 18 Jul 2017 22:55:50 +0300 +Subject: [PATCH] parse-util: Don't use xlocale.h (#35) + +glibc 2.26 no longer contains the non-standard xlocale.h +(http://sourceware.org/glibc/wiki/Release/2.26#Removal_of_.27xlocale.h.27) + +This change shouldn't break anything as xlocale.h was a subset of +locale.h. + +[yann.morin.1998@free.fr: backported from upstream] +Signed-off-by: "Yann E. MORIN" +--- + src/parse-util.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/parse-util.c b/src/parse-util.c +index 5635a68..1b2169c 100644 +--- a/src/parse-util.c ++++ b/src/parse-util.c +@@ -21,7 +21,6 @@ + #include + #include + #include +-#include + + #include "macro.h" + #include "parse-util.h" +-- +2.11.0 + diff --git a/package/systemd-bootchart/systemd-bootchart.mk b/package/systemd-bootchart/systemd-bootchart.mk index 31b9413bc5..3be39183e6 100644 --- a/package/systemd-bootchart/systemd-bootchart.mk +++ b/package/systemd-bootchart/systemd-bootchart.mk @@ -10,7 +10,7 @@ SYSTEMD_BOOTCHART_SOURCE = systemd-bootchart-$(SYSTEMD_BOOTCHART_VERSION).tar.xz # contains the generated autotools scripts. It also slightly differs with # two missing source files... :-/ SYSTEMD_BOOTCHART_SITE = https://github.com/systemd/systemd-bootchart/releases/download/v$(SYSTEMD_BOOTCHART_VERSION) -SYSTEMD_BOOTCHART_LICENSE = LGPLv2.1+ +SYSTEMD_BOOTCHART_LICENSE = LGPL-2.1+ SYSTEMD_BOOTCHART_LICENSE_FILES = LICENSE.LGPL2.1 SYSTEMD_BOOTCHART_DEPENDENCIES = systemd diff --git a/package/systemd/0001-fix-getty-unit.patch b/package/systemd/0001-fix-getty-unit.patch index 8ec3bcf25a..8b50353195 100644 --- a/package/systemd/0001-fix-getty-unit.patch +++ b/package/systemd/0001-fix-getty-unit.patch @@ -1,30 +1,48 @@ +From 7deb6387aeb07fa4300fa3cf9d6c039dabd120d7 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Mon, 31 Jul 2017 10:08:46 -0400 +Subject: [PATCH] fix-getty-unit + Prefer getty to agetty in console setup systemd units Signed-off-by: Maxime Ripard Signed-off-by: Eric Le Bihan +[Adam: Refresh for 234] +Signed-off-by: Adam Duskett --- + units/getty@.service.m4 | 5 +---- + units/serial-getty@.service.m4 | 2 +- + 2 files changed, 2 insertions(+), 5 deletions(-) -diff -aburN systemd-212.orig/units/getty@.service.m4 systemd-212/units/getty@.service.m4 ---- systemd-212.orig/units/getty@.service.m4 2014-01-28 11:08:51.000000000 +0100 -+++ systemd-212/units/getty@.service.m4 2014-03-26 11:06:27.000000000 +0100 -@@ -27,7 +27,7 @@ +diff --git a/units/getty@.service.m4 b/units/getty@.service.m4 +index 2a84061..7ad588f 100644 +--- a/units/getty@.service.m4 ++++ b/units/getty@.service.m4 +@@ -33,10 +33,7 @@ ConditionPathExists=/dev/tty0 [Service] # the VT is cleared by TTYVTDisallocate --ExecStart=-/sbin/agetty --noclear %I $TERM +-# The '-o' option value tells agetty to replace 'login' arguments with an +-# option to preserve environment (-p), followed by '--' for safety, and then +-# the entered username. +-ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear %I $TERM +ExecStart=-/sbin/getty -L %I 115200 vt100 Type=idle Restart=always RestartSec=0 -diff -aburN systemd-212.orig/units/serial-getty@.service.m4 systemd-212/units/serial-getty@.service.m4 ---- systemd-212.orig/units/serial-getty@.service.m4 2014-03-13 18:47:24.000000000 +0100 -+++ systemd-212/units/serial-getty@.service.m4 2014-03-26 11:07:01.000000000 +0100 -@@ -22,7 +22,7 @@ - IgnoreOnIsolate=yes - - [Service] --ExecStart=-/sbin/agetty --keep-baud 115200,38400,9600 %I $TERM +diff --git a/units/serial-getty@.service.m4 b/units/serial-getty@.service.m4 +index b7caeaf..c663612 100644 +--- a/units/serial-getty@.service.m4 ++++ b/units/serial-getty@.service.m4 +@@ -31,7 +31,7 @@ Before=rescue.service + # The '-o' option value tells agetty to replace 'login' arguments with an + # option to preserve environment (-p), followed by '--' for safety, and then + # the entered username. +-ExecStart=-/sbin/agetty -o '-p -- \\u' --keep-baud 115200,38400,9600 %I $TERM +ExecStart=-/sbin/getty -L %I 115200 vt100 Type=idle Restart=always - RestartSec=0 + UtmpIdentifier=%I +-- +2.13.3 + diff --git a/package/systemd/0002-build-check-for-ln-relative.patch b/package/systemd/0002-build-check-for-ln-relative.patch new file mode 100644 index 0000000000..817ce5010a --- /dev/null +++ b/package/systemd/0002-build-check-for-ln-relative.patch @@ -0,0 +1,98 @@ +From b60e16cc2ef8c9b4c05c4348a980d3312f2e1cb4 Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" +Date: Fri, 28 Jul 2017 07:04:07 -0400 +Subject: [PATCH] build: check for ln --relative + +ln --relative is recent enough that not all distributions support it. +This is especially the case for enterprise-grade distributions than can +have a life-span of more than a decade. + +Detect if ln supports --relative and use it if so. + +If not supported, use a bit of sed magic to construct the ../ sequence, +that leads back to / when appended to the destination directory. + +We introduce this as a macro that expands to a single command. To avoid +complexity in the macro, we expect paths to be passed whitout the +leading DESTDIR. + +Signed-off-by: "Yann E. MORIN" +[Adam: Refresh for 234] +Signed-off-by: Adam Duskett +--- +Upstream-Status: Denied [No desire to support building on old distributions] + https://github.com/systemd/systemd/pull/5682 + + Makefile.am | 25 ++++++++++++++++++++++--- + configure.ac | 5 ++++- + 2 files changed, 26 insertions(+), 4 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index c16e622..bed097f 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -305,6 +305,24 @@ install-busnames-target-wants-hook: + what="$(BUSNAMES_TARGET_WANTS)" && wants=busnames.target && dir=$(systemunitdir) && $(add-wants) + what="$(USER_BUSNAMES_TARGET_WANTS)" && wants=busnames.target && dir=$(userunitdir) && $(add-wants) + ++# Macro to emulate ln --relative when needed ++# $(1): options for ln, except --relative ++# $(2): source file, absolute path without leading DESTDIR ++# $(3): destination file, absolute path without leading DESTDIR ++if HAVE_LN_RELATIVE ++define ln-s-relative ++ $(LN_S) --relative $(1) \ ++ $(DESTDIR)$(strip $(2)) \ ++ $(DESTDIR)$(strip $(3)) ++endef ++else ++define ln-s-relative ++ $(LN_S) $(1) \ ++ `dirname $(strip $(3)) |sed -r -e 's:/+[^/]+:../:g; s:/$$::'`$(strip $(2)) \ ++ $(DESTDIR)$(strip $(3)) ++endef ++endif ++ + define add-wants + [ -z "$$what" ] || ( \ + dir=$(DESTDIR)$$dir/$$wants.wants && \ +@@ -318,8 +336,9 @@ install-directories-hook: + $(MKDIR_P) $(addprefix $(DESTDIR),$(INSTALL_DIRS)) + + install-environment-conf-hook: install-directories-hook +- $(AM_V_LN)$(LN_S) --relative -f $(DESTDIR)$(sysconfdir)/environment \ +- $(DESTDIR)$(environmentdir)/99-environment.conf ++ $(AM_V_LN)$(call ln-s-relative,-f,\ ++ $(sysconfdir)/environment,\ ++ $(environmentdir)/99-environment.conf) + + install-aliases-hook: + set -- $(SYSTEM_UNIT_ALIASES) && \ +@@ -342,7 +361,7 @@ define install-relative-aliases + while [ -n "$$1" ]; do \ + $(MKDIR_P) `dirname $(DESTDIR)$$dir/$$2` && \ + rm -f $(DESTDIR)$$dir/$$2 && \ +- $(LN_S) --relative $(DESTDIR)$$1 $(DESTDIR)$$dir/$$2 && \ ++ $(call ln-s-relative,,$$1,$$dir/$$2) && \ + shift 2 || exit $$?; \ + done + endef +diff --git a/configure.ac b/configure.ac +index c7537aa..9354441 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -109,7 +109,10 @@ AC_PATH_PROG([SULOGIN], [sulogin], [/usr/sbin/sulogin], [$PATH:/usr/sbin:/sbin]) + AC_PATH_PROG([MOUNT_PATH], [mount], [/usr/bin/mount], [$PATH:/usr/sbin:/sbin]) + AC_PATH_PROG([UMOUNT_PATH], [umount], [/usr/bin/umount], [$PATH:/usr/sbin:/sbin]) + +-AS_IF([! ln --relative --help > /dev/null 2>&1], [AC_MSG_ERROR([*** ln doesn't support --relative ***])]) ++AC_MSG_CHECKING([if ln supports --relative]) ++AS_IF([! ${LN_S} --relative --help > /dev/null 2>&1], [ln_relative=no], [ln_relative=yes]) ++AC_MSG_RESULT([$ln_relative]) ++AM_CONDITIONAL([HAVE_LN_RELATIVE], [test "x$ln_relative" = "xyes"]) + + M4_DEFINES= + +-- +2.13.3 + diff --git a/package/systemd/0002-build-sys-revert-use-of-ln-relative-option.patch b/package/systemd/0002-build-sys-revert-use-of-ln-relative-option.patch deleted file mode 100644 index 2c1d929ebc..0000000000 --- a/package/systemd/0002-build-sys-revert-use-of-ln-relative-option.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 32b6c22006767f0762edfa116b8b0f7be0c5c121 Mon Sep 17 00:00:00 2001 -From: Eric Le Bihan -Date: Wed, 27 Jul 2016 15:43:16 +0200 -Subject: [PATCH] build-sys: revert use of ln relative option. - -Systemd build system now uses the `--relative` option from `ln(1)`. - -This option was added to GNU coreutils 8.16, which is not widely -deployed yet by GNU/Linux distributions (not available in Debian Wheezy -for example). - -Signed-off-by: Eric Le Bihan -[Maxime: refresh the patch] -[Vincent: - refresh the patch, move-to-rootlibdir removed by: - https://github.com/systemd/systemd/commit/082210c7a837063fd8b520b18c221b42059d7eff -] -Signed-off-by: Maxime Hadjinlian -Signed-off-by: Vicente Olivert Riera ---- - Makefile.am | 11 ++--------- - configure.ac | 2 -- - 2 files changed, 2 insertions(+), 11 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index 0c27f81..4de1595 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -312,9 +312,9 @@ install-aliases-hook: - set -- $(SYSTEM_UNIT_ALIASES) && \ - dir=$(systemunitdir) && $(install-aliases) - set -- $(USER_UNIT_ALIASES) && \ -- dir=$(userunitdir) && $(install-relative-aliases) -+ dir=$(userunitdir) && $(install-aliases) - set -- $(GENERAL_ALIASES) && \ -- dir= && $(install-relative-aliases) -+ dir= && $(install-aliases) - - define install-aliases - while [ -n "$$1" ]; do \ -@@ -325,15 +325,6 @@ define install-aliases - done - endef - --define install-relative-aliases -- while [ -n "$$1" ]; do \ -- $(MKDIR_P) `dirname $(DESTDIR)$$dir/$$2` && \ -- rm -f $(DESTDIR)$$dir/$$2 && \ -- $(LN_S) --relative $(DESTDIR)$$1 $(DESTDIR)$$dir/$$2 && \ -- shift 2 || exit $$?; \ -- done --endef -- - install-touch-usr-hook: - touch -c $(DESTDIR)/$(prefix) - -diff --git a/configure.ac b/configure.ac -index cf595e6..d58f303 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -110,8 +110,6 @@ AC_PATH_PROG([SULOGIN], [sulogin], [/usr/sbin/sulogin], [$PATH:/usr/sbin:/sbin]) - AC_PATH_PROG([MOUNT_PATH], [mount], [/usr/bin/mount], [$PATH:/usr/sbin:/sbin]) - AC_PATH_PROG([UMOUNT_PATH], [umount], [/usr/bin/umount], [$PATH:/usr/sbin:/sbin]) - --AS_IF([! ln --relative --help > /dev/null 2>&1], [AC_MSG_ERROR([*** ln doesn't support --relative ***])]) -- - M4_DEFINES= - - AC_CHECK_TOOL(OBJCOPY, objcopy) --- -2.8.1 - diff --git a/package/systemd/0003-fix-am-path-libgcrypt-no-found.patch b/package/systemd/0003-fix-am-path-libgcrypt-no-found.patch index 2287ac5115..1861a42126 100644 --- a/package/systemd/0003-fix-am-path-libgcrypt-no-found.patch +++ b/package/systemd/0003-fix-am-path-libgcrypt-no-found.patch @@ -1,4 +1,7 @@ -Fix AM_PATH_LIBGCRYPT not found +From cb47c1da9c4a8f69662f9c17497aeeb8a922d41a Mon Sep 17 00:00:00 2001 +From: Eric Le Bihan +Date: Fri, 28 Jul 2017 07:13:51 -0400 +Subject: [PATCH] Fix AM_PATH_LIBGCRYPT not found This patch installs a copy of libgcrypt.m4 from the libgcrypt source tarball to systemd m4 directory. @@ -15,10 +18,18 @@ machine or adding libgcrypt as a build dependency to systemd is not acceptable, the required file is added to the m4 directory. Signed-off-by: Eric Le Bihan -Index: systemd-213/m4/libgcrypt.m4 -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ systemd-213/m4/libgcrypt.m4 2014-06-11 10:41:11.749305509 +0200 +[Adam: Refresh for 234] +Signed-off-by: Adam Duskett +--- + m4/libgcrypt.m4 | 123 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 123 insertions(+) + create mode 100644 m4/libgcrypt.m4 + +diff --git a/m4/libgcrypt.m4 b/m4/libgcrypt.m4 +new file mode 100644 +index 0000000..831dc0c +--- /dev/null ++++ b/m4/libgcrypt.m4 @@ -0,0 +1,123 @@ +dnl Autoconf macros for libgcrypt +dnl Copyright (C) 2002, 2004 Free Software Foundation, Inc. @@ -143,3 +154,6 @@ Index: systemd-213/m4/libgcrypt.m4 + AC_SUBST(LIBGCRYPT_CFLAGS) + AC_SUBST(LIBGCRYPT_LIBS) +]) +-- +2.13.3 + diff --git a/package/systemd/Config.in b/package/systemd/Config.in index aaed7dc020..7dfd7cae8d 100644 --- a/package/systemd/Config.in +++ b/package/systemd/Config.in @@ -22,9 +22,11 @@ menuconfig BR2_PACKAGE_SYSTEMD select BR2_PACKAGE_UTIL_LINUX_BINARIES select BR2_PACKAGE_UTIL_LINUX_MOUNT select BR2_PACKAGE_UTIL_LINUX_NOLOGIN + select BR2_PACKAGE_UTIL_LINUX_FSCK select BR2_PACKAGE_KMOD select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # kmod-tools select BR2_PACKAGE_KMOD_TOOLS + select BR2_TARGET_TZ_INFO help systemd is a system and service manager for Linux, compatible with SysV and LSB init scripts. systemd provides aggressive parallelization @@ -61,6 +63,11 @@ menuconfig BR2_PACKAGE_SYSTEMD - libgcrypt package will add support for journal sealing and DNSSEC verification in resolved. + Notice that systemd selects the fsck wrapper from util-linux + but no particular fsck. is selected. You must choose + the apropriate ones (e.g. e2fsck, from the e2fsprogs package) + according to the system configuration. + http://freedesktop.org/wiki/Software/systemd if BR2_PACKAGE_SYSTEMD @@ -155,11 +162,6 @@ config BR2_PACKAGE_SYSTEMD_IMPORTD http://www.freedesktop.org/software/systemd/man/machinectl.html#Image%20Transfer%20Commands -config BR2_PACKAGE_SYSTEMD_KDBUS - bool "enable kdbus support" - help - Enable kdbus support for Systemd. - config BR2_PACKAGE_SYSTEMD_LOCALED bool "enable locale daemon" help diff --git a/package/systemd/systemd.hash b/package/systemd/systemd.hash index 0acaa3cdcd..9a1f926e4d 100644 --- a/package/systemd/systemd.hash +++ b/package/systemd/systemd.hash @@ -1,2 +1,2 @@ # sha256 locally computed -sha256 1172c7c7d5d72fbded53186e7599d5272231f04cc8b72f9a0fb2c5c20dfc4880 systemd-232.tar.gz +sha256 da3e69d10aa1c983d33833372ad4929037b411ac421fb085c8cee79ae1d80b6a systemd-234.tar.gz diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk index fce5d8411c..9f286fd54b 100644 --- a/package/systemd/systemd.mk +++ b/package/systemd/systemd.mk @@ -4,9 +4,9 @@ # ################################################################################ -SYSTEMD_VERSION = 232 +SYSTEMD_VERSION = 234 SYSTEMD_SITE = $(call github,systemd,systemd,v$(SYSTEMD_VERSION)) -SYSTEMD_LICENSE = LGPLv2.1+, GPLv2+ (udev), Public Domain (few source files, see README) +SYSTEMD_LICENSE = LGPL-2.1+, GPL-2.0+ (udev), Public Domain (few source files, see README) SYSTEMD_LICENSE_FILES = LICENSE.GPL2 LICENSE.LGPL2.1 README SYSTEMD_INSTALL_STAGING = YES SYSTEMD_DEPENDENCIES = \ @@ -30,7 +30,6 @@ SYSTEMD_CONF_OPTS += \ --enable-blkid \ --enable-static=no \ --disable-manpages \ - --disable-pam \ --disable-ima \ --disable-libcryptsetup \ --disable-efi \ @@ -43,13 +42,19 @@ SYSTEMD_CONF_OPTS += \ SYSTEMD_CFLAGS = $(TARGET_CFLAGS) -fno-lto -# Override path to kmod, used in kmod-static-nodes.service +# Override paths to a few utilities needed at runtime, to +# avoid finding those we would install in $(HOST_DIR). SYSTEMD_CONF_ENV = \ CFLAGS="$(SYSTEMD_CFLAGS)" \ - ac_cv_path_KMOD=/usr/bin/kmod + ac_cv_path_KILL=/usr/bin/kill \ + ac_cv_path_KMOD=/usr/bin/kmod \ + ac_cv_path_KEXEC=/usr/sbin/kexec \ + ac_cv_path_SULOGIN=/usr/sbin/sulogin \ + ac_cv_path_MOUNT_PATH=/usr/bin/mount \ + ac_cv_path_UMOUNT_PATH=/usr/bin/umount define SYSTEMD_RUN_INTLTOOLIZE - cd $(@D) && $(HOST_DIR)/usr/bin/intltoolize --force --automake + cd $(@D) && $(HOST_DIR)/bin/intltoolize --force --automake endef SYSTEMD_PRE_CONFIGURE_HOOKS += SYSTEMD_RUN_INTLTOOLIZE @@ -88,12 +93,6 @@ else SYSTEMD_CONF_OPTS += --disable-xkbcommon endif -ifeq ($(BR2_PACKAGE_SYSTEMD_KDBUS),y) -SYSTEMD_CONF_OPTS += --enable-kdbus -else -SYSTEMD_CONF_OPTS += --disable-kdbus -endif - ifeq ($(BR2_PACKAGE_BZIP2),y) SYSTEMD_DEPENDENCIES += bzip2 SYSTEMD_CONF_OPTS += --enable-bzip2 @@ -108,6 +107,13 @@ else SYSTEMD_CONF_OPTS += --disable-lz4 endif +ifeq ($(BR2_PACKAGE_LINUX_PAM),y) +SYSTEMD_DEPENDENCIES += linux-pam +SYSTEMD_CONF_OPTS += --enable-pam +else +SYSTEMD_CONF_OPTS += --disable-pam +endif + ifeq ($(BR2_PACKAGE_XZ),y) SYSTEMD_DEPENDENCIES += xz SYSTEMD_CONF_OPTS += --enable-xz @@ -132,7 +138,7 @@ endif ifeq ($(BR2_PACKAGE_LIBGCRYPT),y) SYSTEMD_DEPENDENCIES += libgcrypt SYSTEMD_CONF_OPTS += \ - --enable-gcrypt \ + --enable-gcrypt \ --with-libgcrypt-prefix=$(STAGING_DIR)/usr \ --with-libgpg-error-prefix=$(STAGING_DIR)/usr else @@ -179,8 +185,14 @@ endif ifeq ($(BR2_PACKAGE_SYSTEMD_QUOTACHECK),y) SYSTEMD_CONF_OPTS += --enable-quotacheck +SYSTEMD_CONF_ENV += \ + ac_cv_path_QUOTAON=/usr/sbin/quotaon \ + ac_cv_path_QUOTACHECK=/usr/sbin/quotacheck else SYSTEMD_CONF_OPTS += --disable-quotacheck +SYSTEMD_CONF_ENV += \ + ac_cv_path_QUOTAON=/.missing \ + ac_cv_path_QUOTACHECK=/.missing endif ifeq ($(BR2_PACKAGE_SYSTEMD_TMPFILES),y) @@ -291,13 +303,6 @@ endef endif else SYSTEMD_CONF_OPTS += --disable-networkd -define SYSTEMD_INSTALL_SERVICE_NETWORK - $(INSTALL) -D -m 644 package/systemd/network.service \ - $(TARGET_DIR)/etc/systemd/system/network.service - mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants - ln -fs ../network.service \ - $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/network.service -endef endif ifeq ($(BR2_PACKAGE_SYSTEMD_RESOLVED),y) @@ -389,7 +394,6 @@ endif define SYSTEMD_INSTALL_INIT_SYSTEMD $(SYSTEMD_DISABLE_SERVICE_TTY1) $(SYSTEMD_INSTALL_SERVICE_TTY) - $(SYSTEMD_INSTALL_SERVICE_NETWORK) $(SYSTEMD_INSTALL_SERVICE_TIMESYNC) $(SYSTEMD_INSTALL_NETWORK_CONFS) endef diff --git a/package/sysvinit/0002-musl-fix-compilation-errors.patch b/package/sysvinit/0002-musl-fix-compilation-errors.patch new file mode 100644 index 0000000000..5dcdecf72b --- /dev/null +++ b/package/sysvinit/0002-musl-fix-compilation-errors.patch @@ -0,0 +1,38 @@ +Fix various compilation errors when compiling against must libc + +Signed-off-by: Dagg Stompler + +diff -Nupr a/src/init.c b/src/init.c +--- a/src/init.c 2017-08-13 18:44:27.000000000 +0300 ++++ b/src/init.c 2017-08-13 18:34:45.000000000 +0300 +@@ -37,6 +37,7 @@ + #include + #endif + #include ++#include + #include + #include + #include +diff -Nupr a/src/init.h b/src/init.h +--- a/src/init.h 2017-08-13 19:35:46.000000000 +0300 ++++ b/src/init.h 2017-08-13 19:36:01.000000000 +0300 +@@ -22,6 +22,8 @@ + * + */ + ++#include ++ + /* Standard configuration */ + #define CHANGE_WAIT 0 /* Change runlevel while + waiting for a process to exit? */ +diff -Nupr a/src/mountpoint.c b/src/mountpoint.c +--- a/src/mountpoint.c 2017-08-13 20:28:26.000000000 +0300 ++++ b/src/mountpoint.c 2017-08-13 20:28:40.000000000 +0300 +@@ -24,6 +24,7 @@ + */ + + #include ++#include + #include + #include + #include diff --git a/package/sysvinit/Config.in b/package/sysvinit/Config.in index 94f1612375..7f27a70fcc 100644 --- a/package/sysvinit/Config.in +++ b/package/sysvinit/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_SYSVINIT depends on BR2_INIT_SYSV depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS help - /sbin/init - parent of all processes + System V style implementation of /sbin/init, parent of all + processes http://savannah.nongnu.org/projects/sysvinit diff --git a/package/sysvinit/sysvinit.mk b/package/sysvinit/sysvinit.mk index faefd5c913..a606ddabf0 100644 --- a/package/sysvinit/sysvinit.mk +++ b/package/sysvinit/sysvinit.mk @@ -8,7 +8,7 @@ SYSVINIT_VERSION = 2.88 SYSVINIT_SOURCE = sysvinit_$(SYSVINIT_VERSION)dsf.orig.tar.gz SYSVINIT_PATCH = sysvinit_$(SYSVINIT_VERSION)dsf-13.1+squeeze1.diff.gz SYSVINIT_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/s/sysvinit -SYSVINIT_LICENSE = GPLv2+ +SYSVINIT_LICENSE = GPL-2.0+ SYSVINIT_LICENSE_FILES = COPYING SYSVINIT_MAKE_OPTS = SYSROOT=$(STAGING_DIR) @@ -47,4 +47,14 @@ define SYSVINIT_INSTALL_TARGET_CMDS ln -sf killall5 $(TARGET_DIR)/sbin/pidof endef +ifeq ($(BR2_TARGET_GENERIC_GETTY),y) +define SYSVINIT_SET_GETTY + $(SED) '/# GENERIC_SERIAL$$/s~^.*#~$(shell echo $(SYSTEM_GETTY_PORT) | tail -c+4)::respawn:/sbin/getty -L $(SYSTEM_GETTY_OPTIONS) $(SYSTEM_GETTY_PORT) $(SYSTEM_GETTY_BAUDRATE) $(SYSTEM_GETTY_TERM) #~' \ + $(TARGET_DIR)/etc/inittab +endef +SYSVINIT_TARGET_FINALIZE_HOOKS += SYSVINIT_SET_GETTY +endif # BR2_TARGET_GENERIC_GETTY + +SYSVINIT_TARGET_FINALIZE_HOOKS += SYSTEM_REMOUNT_ROOT_INITTAB + $(eval $(generic-package)) diff --git a/package/taglib/Config.in b/package/taglib/Config.in index 6521d48c60..a95f332a46 100644 --- a/package/taglib/Config.in +++ b/package/taglib/Config.in @@ -8,7 +8,7 @@ config BR2_PACKAGE_TAGLIB and ID3v2 for MP3 files, Ogg Vorbis comments and ID3 tags and Vorbis comments in FLAC, MPC, Speex, WavPack and TrueAudio files. - http://taglib.github.com + http://taglib.org/ if BR2_PACKAGE_TAGLIB diff --git a/package/taglib/taglib.mk b/package/taglib/taglib.mk index f47c4ba43f..6f36347e61 100644 --- a/package/taglib/taglib.mk +++ b/package/taglib/taglib.mk @@ -7,7 +7,7 @@ TAGLIB_VERSION = 1.11.1 TAGLIB_SITE = http://taglib.github.io/releases TAGLIB_INSTALL_STAGING = YES -TAGLIB_LICENSE = LGPLv2.1, MPL +TAGLIB_LICENSE = LGPL-2.1 or MPL-1.1 TAGLIB_LICENSE_FILES = COPYING.LGPL COPYING.MPL ifeq ($(BR2_PACKAGE_ZLIB),y) diff --git a/package/tar/tar.mk b/package/tar/tar.mk index 26f113a4d2..cb2ddc0eca 100644 --- a/package/tar/tar.mk +++ b/package/tar/tar.mk @@ -10,7 +10,7 @@ TAR_SITE = $(BR2_GNU_MIRROR)/tar # busybox installs in /bin, so we need tar to install as well in /bin # so that it overrides the Busybox symlinks. TAR_CONF_OPTS = --exec-prefix=/ -TAR_LICENSE = GPLv3+ +TAR_LICENSE = GPL-3.0+ TAR_LICENSE_FILES = COPYING # Prefer full-blown tar over buybox's version diff --git a/package/taskd/Config.in b/package/taskd/Config.in index 7d26abaae3..19d123fb59 100644 --- a/package/taskd/Config.in +++ b/package/taskd/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_TASKD bool "taskd" + depends on !BR2_STATIC_LIBS # gnutls depends on BR2_USE_WCHAR # gnutls depends on BR2_USE_MMU # fork() depends on BR2_INSTALL_LIBSTDCPP @@ -11,6 +12,7 @@ config BR2_PACKAGE_TASKD http://taskwarrior.org/ -comment "taskd needs a toolchain w/ C++, wchar" +comment "taskd needs a toolchain w/ C++, wchar, dynamic library" depends on BR2_USE_MMU - depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP + depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP || \ + BR2_STATIC_LIBS diff --git a/package/tcllib/tcllib.mk b/package/tcllib/tcllib.mk index 9eb3b7dbe9..bd98dd641e 100644 --- a/package/tcllib/tcllib.mk +++ b/package/tcllib/tcllib.mk @@ -10,6 +10,6 @@ TCLLIB_SITE = http://downloads.sourceforge.net/project/tcllib/tcllib/$(TCLLIB_VE TCLLIB_LICENSE = tcl license TCLLIB_LICENSE_FILES = license.terms TCLLIB_DEPENDENCIES = host-tcl -TCLLIB_CONF_ENV = ac_cv_path_tclsh="$(HOST_DIR)/usr/bin/tclsh$(TCL_VERSION_MAJOR)" +TCLLIB_CONF_ENV = ac_cv_path_tclsh="$(HOST_DIR)/bin/tclsh$(TCL_VERSION_MAJOR)" $(eval $(autotools-package)) diff --git a/package/tcpdump/tcpdump.hash b/package/tcpdump/tcpdump.hash index 966db1f3aa..0eb56e695f 100644 --- a/package/tcpdump/tcpdump.hash +++ b/package/tcpdump/tcpdump.hash @@ -1,2 +1,3 @@ -# Locally calculated after checking pgp signature -sha256 eae98121cbb1c9adbedd9a777bf2eae9fa1c1c676424a54740311c8abcee5a5e tcpdump-4.9.0.tar.gz +# Locally calculated after checking pgp signature at http://www.tcpdump.org/release/tcpdump-4.9.2.tar.gz.sig +sha256 798b3536a29832ce0cbb07fafb1ce5097c95e308a6f592d14052e1ef1505fe79 tcpdump-4.9.2.tar.gz +sha256 9b03d5d13e66d6de02a4bb2d0dd1cb9f41808d045962cdcc42350d5291b141a1 LICENSE diff --git a/package/tcpdump/tcpdump.mk b/package/tcpdump/tcpdump.mk index e71f9c113f..2a6d095c2f 100644 --- a/package/tcpdump/tcpdump.mk +++ b/package/tcpdump/tcpdump.mk @@ -4,9 +4,9 @@ # ################################################################################ -TCPDUMP_VERSION = 4.9.0 +TCPDUMP_VERSION = 4.9.2 TCPDUMP_SITE = http://www.tcpdump.org/release -TCPDUMP_LICENSE = BSD-3c +TCPDUMP_LICENSE = BSD-3-Clause TCPDUMP_LICENSE_FILES = LICENSE TCPDUMP_CONF_ENV = \ ac_cv_linux_vers=2 \ diff --git a/package/tcping/tcping.mk b/package/tcping/tcping.mk index f5919bb8bc..7edf45ebba 100644 --- a/package/tcping/tcping.mk +++ b/package/tcping/tcping.mk @@ -6,7 +6,7 @@ TCPING_VERSION = 1.3.5 TCPING_SITE = http://linuxco.de/tcping -TCPING_LICENSE = GPLv3+ +TCPING_LICENSE = GPL-3.0+ TCPING_LICENSE_FILES = LICENSE define TCPING_BUILD_CMDS diff --git a/package/tcpreplay/tcpreplay.hash b/package/tcpreplay/tcpreplay.hash index e7ba4400ec..b033d3c3f1 100644 --- a/package/tcpreplay/tcpreplay.hash +++ b/package/tcpreplay/tcpreplay.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 da483347e83a9b5df0e0dbb0f822a2d37236e79dda35f4bc4e6684fa827f25ea tcpreplay-4.1.2.tar.gz +sha256 043756c532dab93e2be33a517ef46b1341f7239278a1045ae670041dd8a4531d tcpreplay-4.2.6.tar.gz diff --git a/package/tcpreplay/tcpreplay.mk b/package/tcpreplay/tcpreplay.mk index a8bcf1c5dd..adccde0eb0 100644 --- a/package/tcpreplay/tcpreplay.mk +++ b/package/tcpreplay/tcpreplay.mk @@ -4,9 +4,9 @@ # ################################################################################ -TCPREPLAY_VERSION = 4.1.2 +TCPREPLAY_VERSION = 4.2.6 TCPREPLAY_SITE = https://github.com/appneta/tcpreplay/releases/download/v$(TCPREPLAY_VERSION) -TCPREPLAY_LICENSE = GPLv3 +TCPREPLAY_LICENSE = GPL-3.0 TCPREPLAY_LICENSE_FILES = docs/LICENSE TCPREPLAY_CONF_ENV = \ tr_cv_libpcap_version=">= 0.7.0" \ diff --git a/package/tegrarcm/tegrarcm.mk b/package/tegrarcm/tegrarcm.mk index 06fd039651..ad4c317b35 100644 --- a/package/tegrarcm/tegrarcm.mk +++ b/package/tegrarcm/tegrarcm.mk @@ -6,7 +6,7 @@ TEGRARCM_VERSION = v1.7 TEGRARCM_SITE = $(call github,NVIDIA,tegrarcm,$(TEGRARCM_VERSION)) -TEGRARCM_LICENSE = BSD-3c / NVIDIA Software License (src/miniloader) +TEGRARCM_LICENSE = BSD-3-Clause / NVIDIA Software License (src/miniloader) TEGRARCM_LICENSE_FILES = LICENSE TEGRARCM_AUTORECONF = YES HOST_TEGRARCM_DEPENDENCIES = host-libusb host-pkgconf host-cryptopp diff --git a/package/tekui/Config.in b/package/tekui/Config.in index 1203667b68..b0f86bf6ad 100644 --- a/package/tekui/Config.in +++ b/package/tekui/Config.in @@ -1,13 +1,13 @@ config BR2_PACKAGE_TEKUI bool "tekui" + depends on !BR2_STATIC_LIBS + depends on BR2_PACKAGE_HAS_LUAINTERPRETER + depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_FREETYPE select BR2_PACKAGE_LUAFILESYSTEM # runtime only select BR2_PACKAGE_LUAEXPAT # runtime only select BR2_PACKAGE_LUASOCKET # runtime only select BR2_PACKAGE_LUAPOSIX # runtime only - depends on !BR2_STATIC_LIBS - depends on BR2_PACKAGE_HAS_LUAINTERPRETER - depends on BR2_TOOLCHAIN_HAS_THREADS help TekUI is a small, freestanding and portable graphical user interface (GUI) toolkit written in Lua and C. It was initially developed for diff --git a/package/terminology/terminology.hash b/package/terminology/terminology.hash index 86f6606ae2..81ae5d8d61 100644 --- a/package/terminology/terminology.hash +++ b/package/terminology/terminology.hash @@ -1,2 +1,2 @@ -# From https://sourceforge.net/p/enlightenment/mailman/message/35600707/ -sha256 bfed42b83bce854d35ba33a4d38373c6d42fb2c0ea0335d76420488c091692f4 terminology-1.0.0.tar.xz +# From https://sourceforge.net/p/enlightenment/mailman/message/36026490/ +sha256 da12b8a24ca5248b2d292d9b1e19cabc61ae29b21f96d4b6f4f3e7b4feeecc16 terminology-1.1.1.tar.xz diff --git a/package/terminology/terminology.mk b/package/terminology/terminology.mk index d7e98270e6..ed811b3a85 100644 --- a/package/terminology/terminology.mk +++ b/package/terminology/terminology.mk @@ -4,13 +4,13 @@ # ################################################################################ -TERMINOLOGY_VERSION = 1.0.0 +TERMINOLOGY_VERSION = 1.1.1 TERMINOLOGY_SOURCE = terminology-$(TERMINOLOGY_VERSION).tar.xz TERMINOLOGY_SITE = https://download.enlightenment.org/rel/apps/terminology -TERMINOLOGY_LICENSE = BSD-2c +TERMINOLOGY_LICENSE = BSD-2-Clause TERMINOLOGY_LICENSE_FILES = COPYING TERMINOLOGY_DEPENDENCIES = efl host-pkgconf -TERMINOLOGY_CONF_OPTS = --with-edje-cc=$(HOST_DIR)/usr/bin/edje_cc +TERMINOLOGY_CONF_OPTS = --with-edje-cc=$(HOST_DIR)/bin/edje_cc $(eval $(autotools-package)) diff --git a/package/tesseract-ocr/Config.in b/package/tesseract-ocr/Config.in new file mode 100644 index 0000000000..3afaca771a --- /dev/null +++ b/package/tesseract-ocr/Config.in @@ -0,0 +1,44 @@ +comment "tesseract-ocr needs a toolchain w/ threads, C++, gcc >= 4.8, dynamic library, wchar" + depends on BR2_USE_MMU + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || BR2_STATIC_LIBS || !BR2_USE_WCHAR + +menuconfig BR2_PACKAGE_TESSERACT_OCR + bool "tesseract-ocr" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on BR2_USE_MMU # fork() + depends on !BR2_STATIC_LIBS + depends on BR2_USE_WCHAR + select BR2_PACKAGE_LEPTONICA + help + Tesseract is an OCR (Optical Character Recognition) engine, + It can be used directly, or (for programmers) using an API. + It supports a wide variety of languages. + + https://github.com/tesseract-ocr/tesseract + +if BR2_PACKAGE_TESSERACT_OCR + +comment "tesseract-ocr languages support" + +config BR2_PACKAGE_TESSERACT_OCR_LANG_ENG + bool "English" + +config BR2_PACKAGE_TESSERACT_OCR_LANG_FRA + bool "French" + +config BR2_PACKAGE_TESSERACT_OCR_LANG_GER + bool "German" + +config BR2_PACKAGE_TESSERACT_OCR_LANG_SPA + bool "Spanish" + +config BR2_PACKAGE_TESSERACT_OCR_LANG_CHI_SIM + bool "Simplified Chinese" + +config BR2_PACKAGE_TESSERACT_OCR_LANG_CHI_TRA + bool "Traditional Chinese" + +endif diff --git a/package/tesseract-ocr/tesseract-ocr.hash b/package/tesseract-ocr/tesseract-ocr.hash new file mode 100644 index 0000000000..9bb5b522ac --- /dev/null +++ b/package/tesseract-ocr/tesseract-ocr.hash @@ -0,0 +1,8 @@ +# locally computed +sha256 3fe83e06d0f73b39f6e92ed9fc7ccba3ef734877b76aa5ddaaa778fac095d996 tesseract-ocr-3.05.00.tar.gz +sha256 c0515c9f1e0c79e1069fcc05c2b2f6a6841fb5e1082d695db160333c1154f06d eng.traineddata +sha256 86afb23ad146467f263e8ade56fd3951b1cc28f8c4eebc34f993d3c02d88a7ab fra.traineddata +sha256 cb7eb42a7e972cec7ef904fe81825d7b547c46df684c814fdb11a930b13bca3a deu.traineddata +sha256 f23985996bbcfe2b57864ccb082783c1c74c87429f04411a04a6ba4d3da2efda spa.traineddata +sha256 323ae74d4a2ff49e932dbb4d6282fe0e67ddfafda075ec85803ecd077207454c chi_sim.traineddata +sha256 774d566bd0b36e4b6c07415dfa5b6b57feb2575b1f5f231d7fe01a52dac5dd0e chi_tra.traineddata diff --git a/package/tesseract-ocr/tesseract-ocr.mk b/package/tesseract-ocr/tesseract-ocr.mk new file mode 100644 index 0000000000..9e315b239a --- /dev/null +++ b/package/tesseract-ocr/tesseract-ocr.mk @@ -0,0 +1,72 @@ +################################################################################ +# +# tesseract-ocr +# +################################################################################ + +TESSERACT_OCR_VERSION = 3.05.00 +TESSERACT_OCR_DATA_VERSION = 3.04.00 +TESSERACT_OCR_SITE = $(call github,tesseract-ocr,tesseract,$(TESSERACT_OCR_VERSION)) +TESSERACT_OCR_LICENSE = Apache-2.0 +TESSERACT_OCR_LICENSE_FILES = COPYING + +# Source from github, no configure script provided +TESSERACT_OCR_AUTORECONF = YES + +# cairo, pango and icu are optional dependencies, but only needed for +# building training tools, which are only built explicitly with "make +# training", which is not done by this package. +TESSERACT_OCR_DEPENDENCIES = leptonica host-pkgconf +TESSERACT_OCR_INSTALL_STAGING = YES +TESSERACT_OCR_CONF_ENV = \ + LIBLEPT_HEADERSDIR=$(STAGING_DIR)/usr/include/leptonica +TESSERACT_OCR_CONF_OPTS = \ + --disable-opencl + +# Language data files download +ifeq ($(BR2_PACKAGE_TESSERACT_OCR_LANG_ENG),y) +TESSERACT_OCR_DATA_FILES += eng.traineddata +endif + +ifeq ($(BR2_PACKAGE_TESSERACT_OCR_LANG_FRA),y) +TESSERACT_OCR_DATA_FILES += fra.traineddata +endif + +ifeq ($(BR2_PACKAGE_TESSERACT_OCR_LANG_DEU),y) +TESSERACT_OCR_DATA_FILES += deu.traineddata +endif + +ifeq ($(BR2_PACKAGE_TESSERACT_OCR_LANG_SPA),y) +TESSERACT_OCR_DATA_FILES += spa.traineddata +endif + +ifeq ($(BR2_PACKAGE_TESSERACT_OCR_LANG_CHI_SIM),y) +TESSERACT_OCR_DATA_FILES += chi_sim.traineddata +endif + +ifeq ($(BR2_PACKAGE_TESSERACT_OCR_LANG_CHI_TRA),y) +TESSERACT_OCR_DATA_FILES += chi_tra.traineddata +endif + +TESSERACT_OCR_EXTRA_DOWNLOADS = \ + $(addprefix https://github.com/tesseract-ocr/tessdata/raw/$(TESSERACT_OCR_DATA_VERSION)/,\ + $(TESSERACT_OCR_DATA_FILES)) + +define TESSERACT_OCR_PRECONFIGURE + # Autoreconf step fails due to missing m4 directory + mkdir -p $(@D)/m4 +endef + +TESSERACT_OCR_PRE_CONFIGURE_HOOKS += TESSERACT_OCR_PRECONFIGURE + +# Language data files installation +define TESSERACT_OCR_INSTALL_LANG_DATA + $(foreach langfile,$(TESSERACT_OCR_DATA_FILES), \ + $(INSTALL) -D -m 0644 $(DL_DIR)/$(langfile) \ + $(TARGET_DIR)/usr/share/tessdata/$(langfile) + ) +endef + +TESSERACT_OCR_POST_INSTALL_TARGET_HOOKS += TESSERACT_OCR_INSTALL_LANG_DATA + +$(eval $(autotools-package)) diff --git a/package/thrift/thrift.mk b/package/thrift/thrift.mk index 185e1ec1c3..741d33f571 100644 --- a/package/thrift/thrift.mk +++ b/package/thrift/thrift.mk @@ -21,7 +21,7 @@ HOST_THRIFT_CONF_OPTS = --with-sysroot=$(HOST_DIR) \ --disable-tests \ --disable-tutorial THRIFT_AUTORECONF = YES -THRIFT_AUTORECONF_OPTS = -I $(HOST_DIR)/usr/share/autoconf-archive +THRIFT_AUTORECONF_OPTS = -I $(HOST_DIR)/share/autoconf-archive THRIFT_LICENSE = Apache-2.0 THRIFT_LICENSE_FILES = LICENSE @@ -63,7 +63,7 @@ endef THRIFT_POST_PATCH_HOOKS += THRIFT_TOOL_NO_HARDCODE define THRIFT_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) THRIFT=$(HOST_DIR)/usr/bin/thrift -C $(@D) + $(TARGET_MAKE_ENV) $(MAKE) THRIFT=$(HOST_DIR)/bin/thrift -C $(@D) endef # Install runtime only @@ -75,4 +75,4 @@ $(eval $(autotools-package)) $(eval $(host-autotools-package)) # to be used by other packages -THRIFT = $(HOST_DIR)/usr/bin/thrift +THRIFT = $(HOST_DIR)/bin/thrift diff --git a/package/thttpd/thttpd.mk b/package/thttpd/thttpd.mk index 5b4b0c4591..f1bee01345 100644 --- a/package/thttpd/thttpd.mk +++ b/package/thttpd/thttpd.mk @@ -8,7 +8,7 @@ THTTPD_VERSION = 2.25b THTTPD_SOURCE = thttpd_$(THTTPD_VERSION).orig.tar.gz THTTPD_PATCH = thttpd_$(THTTPD_VERSION)-11.diff.gz THTTPD_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/t/thttpd -THTTPD_LICENSE = BSD-2c +THTTPD_LICENSE = BSD-2-Clause THTTPD_LICENSE_FILES = thttpd.c ifneq ($(THTTPD_PATCH),) diff --git a/package/ti-cgt-pru/ti-cgt-pru.hash b/package/ti-cgt-pru/ti-cgt-pru.hash index 1c19b33fd6..3ff08ace32 100644 --- a/package/ti-cgt-pru/ti-cgt-pru.hash +++ b/package/ti-cgt-pru/ti-cgt-pru.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 df85cd1ed3aea12d577854ece11bf5f2af6ace8c39959eea4cf2fa5973924e0e ti_cgt_pru_2.1.3_linux_installer_x86.bin +sha256 c80dbf35e7401f4c122ff25cc2f6b5db496607782fb4583cee8663a2763f4472 ti_cgt_pru_2.1.4_linux_installer_x86.bin diff --git a/package/ti-cgt-pru/ti-cgt-pru.mk b/package/ti-cgt-pru/ti-cgt-pru.mk index d94f09197f..f923e835dc 100644 --- a/package/ti-cgt-pru/ti-cgt-pru.mk +++ b/package/ti-cgt-pru/ti-cgt-pru.mk @@ -4,12 +4,11 @@ # ################################################################################ -TI_CGT_PRU_VERSION = 2.1.3 +TI_CGT_PRU_VERSION = 2.1.4 TI_CGT_PRU_SOURCE = ti_cgt_pru_$(TI_CGT_PRU_VERSION)_linux_installer_x86.bin -TI_CGT_PRU_SITE = http://software-dl.ti.com/codegen/esd/cgt_public_sw/PRU/$(TI_CGT_PRU_VERSION) +TI_CGT_PRU_SITE = http://downloads.ti.com/codegen/esd/cgt_public_sw/PRU/$(TI_CGT_PRU_VERSION) TI_CGT_PRU_LICENSE = TI Technology and Software Publicly Available License (compiler + PRU library), \ - Boost Software License 1.0 (compiler), \ - BSD-2c, BSD-3c, MIT, Academic Free License 3.0, Hewlett-Packard (PRU library) + BSL-1.0 (compiler), BSD-2-Clause, BSD-3-Clause, MIT, AFL-3.0, Hewlett-Packard (PRU library) TI_CGT_PRU_LICENSE_FILES = PRU_Code_Generation_Tools_2.1.x_manifest.html \ PRU_CodeGen_Library_2.1_0222433C-30C1-442d-B5C6-2073BD97F80F.spdx.tag @@ -21,10 +20,10 @@ define HOST_TI_CGT_PRU_EXTRACT_CMDS endef # Since this is largely prebuilt toolchain and likes to live in its -# own directory, put it in $(HOST_DIR)/usr/share/ti-cgt-pru/. +# own directory, put it in $(HOST_DIR)/share/ti-cgt-pru/. # Packages wanting to use this toolchain need to use this path as TI's # standard PRU_CGT path e.g. make PRU_CGT=$(TI_CGT_PRU_INSTALLDIR)... -TI_CGT_PRU_INSTALLDIR = $(HOST_DIR)/usr/share/ti-cgt-pru +TI_CGT_PRU_INSTALLDIR = $(HOST_DIR)/share/ti-cgt-pru define HOST_TI_CGT_PRU_INSTALL_CMDS mkdir -p $(TI_CGT_PRU_INSTALLDIR) diff --git a/package/ti-gfx/Config.in b/package/ti-gfx/Config.in index 6ec2f23117..dc49d822a2 100644 --- a/package/ti-gfx/Config.in +++ b/package/ti-gfx/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_TI_GFX bool "ti-gfx" depends on BR2_LINUX_KERNEL && BR2_TOOLCHAIN_USES_GLIBC && BR2_arm + depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" select BR2_HOSTARCH_NEEDS_IA32_LIBS select BR2_PACKAGE_HAS_LIBEGL select BR2_PACKAGE_HAS_LIBGLES diff --git a/package/ti-sgx-km/ti-sgx-km.mk b/package/ti-sgx-km/ti-sgx-km.mk index 48c8a6d1fa..db74da9b4a 100644 --- a/package/ti-sgx-km/ti-sgx-km.mk +++ b/package/ti-sgx-km/ti-sgx-km.mk @@ -7,7 +7,7 @@ # This correpsonds to SDK 02.00.00.00 TI_SGX_KM_VERSION = 2b7523d07a13ab704a24a7664749551f4a13ed32 TI_SGX_KM_SITE = git://git.ti.com/graphics/omap5-sgx-ddk-linux.git -TI_SGX_KM_LICENSE = GPLv2 +TI_SGX_KM_LICENSE = GPL-2.0 TI_SGX_KM_LICENSE_FILES = GPL-COPYING TI_SGX_KM_DEPENDENCIES = linux diff --git a/package/ti-uim/ti-uim.hash b/package/ti-uim/ti-uim.hash new file mode 100644 index 0000000000..ea64540ba8 --- /dev/null +++ b/package/ti-uim/ti-uim.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 da8a66968f4bf99366ab2b63baf358d937a6b1a5636ef6179c3aa7c852cbd1b2 ti-uim-a0236bc252e6484835ce266ae4a50b361f6a902d.tar.gz diff --git a/package/ti-uim/ti-uim.mk b/package/ti-uim/ti-uim.mk index b498180049..8b1678f6b1 100644 --- a/package/ti-uim/ti-uim.mk +++ b/package/ti-uim/ti-uim.mk @@ -4,9 +4,10 @@ # ################################################################################ -TI_UIM_VERSION = c73894456df5def97111cb33d2106b684b8b7959 -TI_UIM_SITE = git://gitorious.org/uim/uim.git -TI_UIM_LICENSE = GPLv2+ +TI_UIM_VERSION = a0236bc252e6484835ce266ae4a50b361f6a902d +TI_UIM_SITE = $(call github,96boards,uim,$(TI_UIM_VERSION)) +TI_UIM_LICENSE = GPL-2.0+ +TI_UIM_LICENSE_FILES = uim.h define TI_UIM_BUILD_CMDS $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) diff --git a/package/ti-utils/ti-utils.mk b/package/ti-utils/ti-utils.mk index cfb0cb8769..7304808019 100644 --- a/package/ti-utils/ti-utils.mk +++ b/package/ti-utils/ti-utils.mk @@ -7,7 +7,7 @@ TI_UTILS_VERSION = 06dbdb2727354b5f3ad7c723897f40051fddee49 TI_UTILS_SITE = $(call github,gxk,ti-utils,$(TI_UTILS_VERSION)) TI_UTILS_DEPENDENCIES = libnl host-pkgconf -TI_UTILS_LICENSE = BSD-3c +TI_UTILS_LICENSE = BSD-3-Clause TI_UTILS_LICENSE_FILES = COPYING TI_UTILS_CFLAGS = `$(PKG_CONFIG_HOST_BINARY) --cflags libnl-genl-3.0` diff --git a/package/tiff/0001-libtiff-tif_dirwrite.c-in-TIFFWriteDirectoryTagCheck.patch b/package/tiff/0001-libtiff-tif_dirwrite.c-in-TIFFWriteDirectoryTagCheck.patch new file mode 100644 index 0000000000..2be989b9e7 --- /dev/null +++ b/package/tiff/0001-libtiff-tif_dirwrite.c-in-TIFFWriteDirectoryTagCheck.patch @@ -0,0 +1,70 @@ +From 6173a57d39e04d68b139f8c1aa499a24dbe74ba1 Mon Sep 17 00:00:00 2001 +From: Even Rouault +Date: Fri, 30 Jun 2017 17:29:44 +0000 +Subject: [PATCH] * libtiff/tif_dirwrite.c: in + TIFFWriteDirectoryTagCheckedXXXX() functions associated with LONG8/SLONG8 + data type, replace assertion that the file is BigTIFF, by a non-fatal error. + Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2712 Reported by team + OWL337 + +[Peter: drop ChangeLog modification] +Signed-off-by: Peter Korsgaard +--- + libtiff/tif_dirwrite.c | 20 ++++++++++++++++---- + 1 file changed, 23 insertions(+), 4 deletions(-) + +diff --git a/libtiff/tif_dirwrite.c b/libtiff/tif_dirwrite.c +index 2967da58..8d6686ba 100644 +--- a/libtiff/tif_dirwrite.c ++++ b/libtiff/tif_dirwrite.c +@@ -2111,7 +2111,10 @@ TIFFWriteDirectoryTagCheckedLong8(TIFF* tif, uint32* ndir, TIFFDirEntry* dir, ui + { + uint64 m; + assert(sizeof(uint64)==8); +- assert(tif->tif_flags&TIFF_BIGTIFF); ++ if( !(tif->tif_flags&TIFF_BIGTIFF) ) { ++ TIFFErrorExt(tif->tif_clientdata,"TIFFWriteDirectoryTagCheckedLong8","LONG8 not allowed for ClassicTIFF"); ++ return(0); ++ } + m=value; + if (tif->tif_flags&TIFF_SWAB) + TIFFSwabLong8(&m); +@@ -2124,7 +2127,10 @@ TIFFWriteDirectoryTagCheckedLong8Array(TIFF* tif, uint32* ndir, TIFFDirEntry* di + { + assert(count<0x20000000); + assert(sizeof(uint64)==8); +- assert(tif->tif_flags&TIFF_BIGTIFF); ++ if( !(tif->tif_flags&TIFF_BIGTIFF) ) { ++ TIFFErrorExt(tif->tif_clientdata,"TIFFWriteDirectoryTagCheckedLong8","LONG8 not allowed for ClassicTIFF"); ++ return(0); ++ } + if (tif->tif_flags&TIFF_SWAB) + TIFFSwabArrayOfLong8(value,count); + return(TIFFWriteDirectoryTagData(tif,ndir,dir,tag,TIFF_LONG8,count,count*8,value)); +@@ -2136,7 +2142,10 @@ TIFFWriteDirectoryTagCheckedSlong8(TIFF* tif, uint32* ndir, TIFFDirEntry* dir, u + { + int64 m; + assert(sizeof(int64)==8); +- assert(tif->tif_flags&TIFF_BIGTIFF); ++ if( !(tif->tif_flags&TIFF_BIGTIFF) ) { ++ TIFFErrorExt(tif->tif_clientdata,"TIFFWriteDirectoryTagCheckedLong8","SLONG8 not allowed for ClassicTIFF"); ++ return(0); ++ } + m=value; + if (tif->tif_flags&TIFF_SWAB) + TIFFSwabLong8((uint64*)(&m)); +@@ -2149,7 +2158,10 @@ TIFFWriteDirectoryTagCheckedSlong8Array(TIFF* tif, uint32* ndir, TIFFDirEntry* d + { + assert(count<0x20000000); + assert(sizeof(int64)==8); +- assert(tif->tif_flags&TIFF_BIGTIFF); ++ if( !(tif->tif_flags&TIFF_BIGTIFF) ) { ++ TIFFErrorExt(tif->tif_clientdata,"TIFFWriteDirectoryTagCheckedLong8","SLONG8 not allowed for ClassicTIFF"); ++ return(0); ++ } + if (tif->tif_flags&TIFF_SWAB) + TIFFSwabArrayOfLong8((uint64*)value,count); + return(TIFFWriteDirectoryTagData(tif,ndir,dir,tag,TIFF_SLONG8,count,count*8,value)); +-- +2.11.0 + diff --git a/package/tiff/Config.in b/package/tiff/Config.in index 092a7f3fca..f842c2ead8 100644 --- a/package/tiff/Config.in +++ b/package/tiff/Config.in @@ -37,8 +37,8 @@ config BR2_PACKAGE_TIFF_MDI config BR2_PACKAGE_TIFF_ZLIB bool "Zlib usage (required for Deflate compression)" - select BR2_PACKAGE_ZLIB default y + select BR2_PACKAGE_ZLIB config BR2_PACKAGE_TIFF_XZ bool "XZ compression" @@ -46,13 +46,13 @@ config BR2_PACKAGE_TIFF_XZ config BR2_PACKAGE_TIFF_PIXARLOG bool "Pixar log-format algorithm (requires Zlib)" - select BR2_PACKAGE_TIFF_ZLIB default y + select BR2_PACKAGE_TIFF_ZLIB config BR2_PACKAGE_TIFF_JPEG bool "JPEG compression" - select BR2_PACKAGE_JPEG default y + select BR2_PACKAGE_JPEG config BR2_PACKAGE_TIFF_OLD_JPEG bool "Old JPEG decompression" diff --git a/package/tiff/tiff.hash b/package/tiff/tiff.hash index 4439a35f39..516cb06266 100644 --- a/package/tiff/tiff.hash +++ b/package/tiff/tiff.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 9f43a2cfb9589e5cecaa66e16bf87f814c945f22df7ba600d63aac4632c4f019 tiff-4.0.7.tar.gz +sha256 59d7a5a8ccd92059913f246877db95a2918e6c04fb9d43fd74e5c3390dac2910 tiff-4.0.8.tar.gz diff --git a/package/tiff/tiff.mk b/package/tiff/tiff.mk index ffb1a425cb..405cb9251f 100644 --- a/package/tiff/tiff.mk +++ b/package/tiff/tiff.mk @@ -4,14 +4,14 @@ # ################################################################################ -TIFF_VERSION = 4.0.7 +TIFF_VERSION = 4.0.8 TIFF_SITE = http://download.osgeo.org/libtiff TIFF_LICENSE = tiff license TIFF_LICENSE_FILES = COPYRIGHT TIFF_INSTALL_STAGING = YES TIFF_CONF_OPTS = \ --disable-cxx \ - --without-x \ + --without-x TIFF_DEPENDENCIES = host-pkgconf diff --git a/package/time/time.mk b/package/time/time.mk index 56f28ff484..8092ea9556 100644 --- a/package/time/time.mk +++ b/package/time/time.mk @@ -7,7 +7,7 @@ TIME_VERSION = 1.7 TIME_SITE = $(BR2_GNU_MIRROR)/time TIME_CONF_ENV = ac_cv_func_wait3=yes -TIME_LICENSE = GPLv2+ +TIME_LICENSE = GPL-2.0+ TIME_LICENSE_FILES = COPYING # time uses an old version of automake that does not support diff --git a/package/tinc/Config.in b/package/tinc/Config.in index 1d8e2c4259..837f556b35 100644 --- a/package/tinc/Config.in +++ b/package/tinc/Config.in @@ -1,10 +1,10 @@ config BR2_PACKAGE_TINC bool "tinc" + depends on !BR2_STATIC_LIBS # tinc requires libdl for OpenSSL + depends on BR2_USE_MMU # fork() select BR2_PACKAGE_LZO select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_ZLIB - depends on !BR2_STATIC_LIBS # tinc requires libdl for OpenSSL - depends on BR2_USE_MMU # fork() help tinc is a Virtual Private Network (VPN) daemon that uses tunnelling and encryption to create a secure private network diff --git a/package/tinc/tinc.mk b/package/tinc/tinc.mk index 6d87cbf102..f537d4642d 100644 --- a/package/tinc/tinc.mk +++ b/package/tinc/tinc.mk @@ -7,7 +7,7 @@ TINC_VERSION = 1.0.30 TINC_SITE = http://www.tinc-vpn.org/packages TINC_DEPENDENCIES = lzo openssl zlib -TINC_LICENSE = GPLv2+ with OpenSSL exception +TINC_LICENSE = GPL-2.0+ with OpenSSL exception TINC_LICENSE_FILES = COPYING COPYING.README TINC_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -std=c99" diff --git a/package/tinyalsa/0001-disable-doxygen-usage.patch b/package/tinyalsa/0001-disable-doxygen-usage.patch index 9c867a8fec..ed939fb9bf 100644 --- a/package/tinyalsa/0001-disable-doxygen-usage.patch +++ b/package/tinyalsa/0001-disable-doxygen-usage.patch @@ -4,29 +4,32 @@ In order to avoid a dependency on doxygen on the build machine, this patch adjusts the main Makefile to not build and install the documentation. -Signed-off-by: Thomas Petazzoni +[Vincent: tweak patch for 1.1.1 version] -Index: b/Makefile -=================================================================== ---- a/Makefile -+++ b/Makefile -@@ -13,13 +13,11 @@ +Signed-off-by: Thomas Petazzoni +Signed-off-by: Vicente Olivert Riera + +diff -rup a/Makefile b/Makefile +--- a/Makefile 2017-05-24 05:23:57.000000000 +0100 ++++ b/Makefile 2017-05-25 10:35:20.781747053 +0100 +@@ -11,14 +11,12 @@ export MANDIR ?= $(PREFIX)/share/man all: $(MAKE) -C src $(MAKE) -C utils - $(MAKE) -C doxygen + $(MAKE) -C examples .PHONY: clean clean: $(MAKE) -C src clean $(MAKE) -C utils clean - $(MAKE) -C doxygen clean + $(MAKE) -C examples clean .PHONY: install - install: -@@ -27,5 +25,3 @@ - cp -Ru include/tinyalsa $(DESTDIR)$(INCDIR)/ +@@ -30,5 +28,4 @@ install: + install include/tinyalsa/version.h $(DESTDIR)$(INCDIR)/ $(MAKE) -C src install $(MAKE) -C utils install - $(MAKE) -C doxygen install -- + diff --git a/package/tinyalsa/0002-interval.h-add-missing-header.patch b/package/tinyalsa/0002-interval.h-add-missing-header.patch new file mode 100644 index 0000000000..c043145b55 --- /dev/null +++ b/package/tinyalsa/0002-interval.h-add-missing-header.patch @@ -0,0 +1,36 @@ +From 685e530d8a0063134642371eaacd01fee2f62d85 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Fri, 2 Jun 2017 12:19:03 +0300 +Subject: [PATCH] interval.h: add missing header + +The ssize_t type requires the unistd.h header. This fixes build with musl +libc: + +In file included from ../include/tinyalsa/limits.h:32:0, + from limits.c:1: +../include/tinyalsa/interval.h:38:2: error: unknown type name 'ssize_t' + ssize_t max; + ^ + +Signed-off-by: Baruch Siach +--- +Upstream status: https://github.com/tinyalsa/tinyalsa/pull/98 + + include/tinyalsa/interval.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/include/tinyalsa/interval.h b/include/tinyalsa/interval.h +index 3f6f3dce5d90..068571df5a63 100644 +--- a/include/tinyalsa/interval.h ++++ b/include/tinyalsa/interval.h +@@ -30,6 +30,7 @@ + #define TINYALSA_INTERVAL_H + + #include ++#include + + /** A closed range signed interval. */ + +-- +2.11.0 + diff --git a/package/tinyalsa/tinyalsa.hash b/package/tinyalsa/tinyalsa.hash index b6bea47eba..f9be664ca4 100644 --- a/package/tinyalsa/tinyalsa.hash +++ b/package/tinyalsa/tinyalsa.hash @@ -1,2 +1,2 @@ # locally computed -sha256 93f4ca1e6345974167dc5577e8151a31fa2e6a628727a72d59e18db2289e7a1c tinyalsa-1.1.0.tar.gz +sha256 d92b438cea348ae316c4b2cbf367b4f01ed821a947e6a34d813624e9e3c936c1 tinyalsa-1.1.1.tar.gz diff --git a/package/tinyalsa/tinyalsa.mk b/package/tinyalsa/tinyalsa.mk index d44155f94d..bd9d9a00d0 100644 --- a/package/tinyalsa/tinyalsa.mk +++ b/package/tinyalsa/tinyalsa.mk @@ -4,9 +4,9 @@ # ################################################################################ -TINYALSA_VERSION = 1.1.0 +TINYALSA_VERSION = 1.1.1 TINYALSA_SITE = $(call github,tinyalsa,tinyalsa,$(TINYALSA_VERSION)) -TINYALSA_LICENSE = BSD-3c +TINYALSA_LICENSE = BSD-3-Clause TINYALSA_LICENSE_FILES = NOTICE TINYALSA_INSTALL_STAGING = YES diff --git a/package/tinycbor/0001-Fix-static-compilation-of-json2cbor.patch b/package/tinycbor/0001-Fix-static-compilation-of-json2cbor.patch new file mode 100644 index 0000000000..8d265d814e --- /dev/null +++ b/package/tinycbor/0001-Fix-static-compilation-of-json2cbor.patch @@ -0,0 +1,28 @@ +From ae608ea2735bd331ec7dcf9d89928c38f0e0c981 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 6 Mar 2017 18:59:22 +0100 +Subject: [PATCH] Fix static compilation of json2cbor + +json2cbor depends on cjson so tools/json2cbor/json2cbor.o must be +before -lcjson + +Signed-off-by: Fabrice Fontaine +[Upstream commit: https://github.com/01org/tinycbor/commit/ae608ea2735bd331ec7dcf9d89928c38f0e0c981] +Signed-off-by: Thomas Petazzoni +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 97b292c..a8cb57c 100644 +--- a/Makefile ++++ b/Makefile +@@ -115,7 +115,7 @@ bin/cbordump: $(CBORDUMP_SOURCES:.c=.o) lib/libtinycbor.a + + bin/json2cbor: $(JSON2CBOR_SOURCES:.c=.o) lib/libtinycbor.a + @$(MKDIR) -p bin +- $(CC) -o $@ $(LDFLAGS) $(LDFLAGS_CJSON) $^ $(LDLIBS) -lm ++ $(CC) -o $@ $(LDFLAGS) $^ $(LDFLAGS_CJSON) $(LDLIBS) -lm + + tinycbor.pc: tinycbor.pc.in + $(SED) > $@ < $< \ diff --git a/package/tinycbor/0001-Update-cjson-include-path.patch b/package/tinycbor/0001-Update-cjson-include-path.patch deleted file mode 100644 index 5eea937d91..0000000000 --- a/package/tinycbor/0001-Update-cjson-include-path.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 9aa79d8e9e38b31b34d9933a266c698e79808a79 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 13 Nov 2016 15:43:40 +0100 -Subject: [PATCH] Update cjson include path - -Since cjson-v1.0.0 (https://github.com/DaveGamble/cJSON/releases), -cJSON.h is installed into cjson/cJSON.h and library has been renamed -from cJSON to cjson - -Signed-off-by: Fabrice Fontaine ---- - Makefile | 4 ++-- - Makefile.configure | 4 ++-- - tools/json2cbor/json2cbor.c | 2 +- - 3 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/Makefile b/Makefile -index acd52eb..905fbdf 100644 ---- a/Makefile -+++ b/Makefile -@@ -82,12 +82,12 @@ ifeq ($(open_memstream-pass),) - endif - endif - --# json2cbor depends on an external library (cJSON) -+# json2cbor depends on an external library (cjson) - ifneq ($(cjson-pass)$(system-cjson-pass),) - JSON2CBOR_SOURCES = tools/json2cbor/json2cbor.c - INSTALL_TARGETS += $(bindir)/json2cbor - ifeq ($(system-cjson-pass),1) -- LDFLAGS_CJSON = -lcJSON -+ LDFLAGS_CJSON = -lcjson - else - JSON2CBOR_SOURCES += src/cjson/cJSON.c - json2cbor_CCFLAGS = -I$(SRCDIR)src/cjson -diff --git a/Makefile.configure b/Makefile.configure -index 28f4c92..424efb3 100644 ---- a/Makefile.configure -+++ b/Makefile.configure -@@ -10,11 +10,11 @@ PROGRAM-gc_sections = int main() {} - CCFLAGS-gc_sections = -Wl,--gc-sections - - PROGRAM-cjson = \#include \n --PROGRAM-cjson += \#include \n -+PROGRAM-cjson += \#include \n - PROGRAM-cjson += int main() { return cJSON_False; } - CCFLAGS-cjson = -I$(dir $(MAKEFILE))src/cjson - PROGRAM-system-cjson = $(PROGRAM-cjson) --CCFLAGS-system-cjson = -lcJSON -+CCFLAGS-system-cjson = -lcjson - - sink: - @echo >&2 Please run from the top-level Makefile. -diff --git a/tools/json2cbor/json2cbor.c b/tools/json2cbor/json2cbor.c -index 96d3ed1..e194299 100644 ---- a/tools/json2cbor/json2cbor.c -+++ b/tools/json2cbor/json2cbor.c -@@ -27,7 +27,7 @@ - #include "cbor.h" - #include "compilersupport_p.h" - --#include -+#include - - #include - #include --- -2.5.0 - diff --git a/package/tinycbor/0002-Fix-static-compilation-of-json2cbor.patch b/package/tinycbor/0002-Fix-static-compilation-of-json2cbor.patch deleted file mode 100644 index dfea4ca68f..0000000000 --- a/package/tinycbor/0002-Fix-static-compilation-of-json2cbor.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 1be7da8d81bbd52d722ec60250567ea876f6f4b5 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sat, 3 Dec 2016 20:15:41 +0100 -Subject: [PATCH] Fix static compilation of json2cbor - -json2cbor depends on cjson so tools/json2cbor/json2cbor.o must before --lcjson - -Signed-off-by: Fabrice Fontaine ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index 905fbdf..7b5fefc 100644 ---- a/Makefile -+++ b/Makefile -@@ -115,7 +115,7 @@ bin/cbordump: $(CBORDUMP_SOURCES:.c=.o) lib/libtinycbor.a | bin - $(CC) -o $@ $(LDFLAGS) $^ $(LDLIBS) -lm - - bin/json2cbor: $(JSON2CBOR_SOURCES:.c=.o) lib/libtinycbor.a | bin -- $(CC) -o $@ $(LDFLAGS) $(LDFLAGS_CJSON) $^ $(LDLIBS) -lm -+ $(CC) -o $@ $(LDFLAGS) $^ $(LDFLAGS_CJSON) $(LDLIBS) -lm - - tinycbor.pc: tinycbor.pc.in - $(SED) > $@ < $< \ --- -2.5.0 - diff --git a/package/tinycbor/tinycbor.hash b/package/tinycbor/tinycbor.hash index 88300e8e34..6cb0a6eab8 100644 --- a/package/tinycbor/tinycbor.hash +++ b/package/tinycbor/tinycbor.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 302ac9de66f1048725040ccc9a99e03c20529ac2b150ccf35cfd1e2dafa81c4b tinycbor-v0.4.tar.gz +sha256 8e42984015d62e8323b7f2a439bde157d707e0d7ae57a6d8d5a2665247af6638 tinycbor-v0.4.1.tar.gz diff --git a/package/tinycbor/tinycbor.mk b/package/tinycbor/tinycbor.mk index 65deacd22b..9c3d2eb063 100644 --- a/package/tinycbor/tinycbor.mk +++ b/package/tinycbor/tinycbor.mk @@ -4,7 +4,7 @@ # ################################################################################ -TINYCBOR_VERSION = v0.4 +TINYCBOR_VERSION = v0.4.1 TINYCBOR_SITE = $(call github,01org,tinycbor,$(TINYCBOR_VERSION)) TINYCBOR_LICENSE = MIT TINYCBOR_LICENSE_FILES = LICENSE diff --git a/package/tinyxml/tinyxml.mk b/package/tinyxml/tinyxml.mk index df7b29fefb..15280517ac 100644 --- a/package/tinyxml/tinyxml.mk +++ b/package/tinyxml/tinyxml.mk @@ -10,7 +10,7 @@ TINYXML_SITE = http://mirrors.xbmc.org/build-deps/sources # configure.ac which is not present in mainline. TINYXML_AUTORECONF = YES TINYXML_INSTALL_STAGING = YES -TINYXML_LICENSE = zlib +TINYXML_LICENSE = Zlib TINYXML_LICENSE_FILES = README $(eval $(autotools-package)) diff --git a/package/tinyxml2/tinyxml2.hash b/package/tinyxml2/tinyxml2.hash index acbee0931a..e5e4d238ab 100644 --- a/package/tinyxml2/tinyxml2.hash +++ b/package/tinyxml2/tinyxml2.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 128aa1553e88403833e0cccf1b651f45ce87bc207871f53fdcc8e7f9ec795747 tinyxml2-3.0.0.tar.gz +sha256 14b38ef25cc136d71339ceeafb4856bb638d486614103453eccd323849267f20 tinyxml2-4.0.1.tar.gz diff --git a/package/tinyxml2/tinyxml2.mk b/package/tinyxml2/tinyxml2.mk index 053e46eaf8..e289ca9cf0 100644 --- a/package/tinyxml2/tinyxml2.mk +++ b/package/tinyxml2/tinyxml2.mk @@ -4,10 +4,14 @@ # ################################################################################ -TINYXML2_VERSION = 3.0.0 +TINYXML2_VERSION = 4.0.1 TINYXML2_SITE = $(call github,leethomason,tinyxml2,$(TINYXML2_VERSION)) -TINYXML2_LICENSE = zlib +TINYXML2_LICENSE = Zlib TINYXML2_LICENSE_FILES = readme.md TINYXML2_INSTALL_STAGING = YES +ifeq ($(BR2_STATIC_LIBS),y) +TINYXML2_CONF_OPTS += -DBUILD_STATIC_LIBS=ON +endif + $(eval $(cmake-package)) diff --git a/package/tmux/0001-compat-don-t-re-define-program_invocation_short_name.patch b/package/tmux/0001-compat-don-t-re-define-program_invocation_short_name.patch deleted file mode 100644 index bddc2c720d..0000000000 --- a/package/tmux/0001-compat-don-t-re-define-program_invocation_short_name.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 9b18a98614a9f201b0883c2b15e7c7bde0aa0ff2 Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Sun, 5 Feb 2017 17:12:00 +0100 -Subject: [PATCH] compat: don't re-define program_invocation_short_name - -program_invocation_short_name is defined in errno.h, and its definition -can differ between the various C libraries: glibc defines it as: - extern char *program_invocation_short_name; - -while uClibc defines it as: - extern const char *program_invocation_short_name; - -So there is not simple solution to know the prototype. - -But since it is defined in errno.h, there is no reason to try and define -it ourselves; let's just trust what the header provides. - -Signed-off-by: "Yann E. MORIN" ---- - compat/getprogname.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/compat/getprogname.c b/compat/getprogname.c -index 80a496d..ad619fc 100644 ---- a/compat/getprogname.c -+++ b/compat/getprogname.c -@@ -19,11 +19,10 @@ - #include "compat.h" - - #if defined(HAVE_PROGRAM_INVOCATION_SHORT_NAME) -+#include - const char * - getprogname(void) - { -- extern char *program_invocation_short_name; -- - return (program_invocation_short_name); - } - #elif defined(HAVE___PROGNAME) --- -2.7.4 - diff --git a/package/tmux/tmux.hash b/package/tmux/tmux.hash index 9195a1689c..752bbb4516 100644 --- a/package/tmux/tmux.hash +++ b/package/tmux/tmux.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 55313e132f0f42de7e020bf6323a1939ee02ab79c48634aa07475db41573852b tmux-2.3.tar.gz +sha256 b17cd170a94d7b58c0698752e1f4f263ab6dc47425230df7e53a6435cc7cd7e8 tmux-2.6.tar.gz +sha256 94e2b1feb1202d3308cc7ab7ec42278d24f10562394bdf269f44649327c8198f README diff --git a/package/tmux/tmux.mk b/package/tmux/tmux.mk index f6dd1a9cc6..6e03d01abf 100644 --- a/package/tmux/tmux.mk +++ b/package/tmux/tmux.mk @@ -4,7 +4,7 @@ # ################################################################################ -TMUX_VERSION = 2.3 +TMUX_VERSION = 2.6 TMUX_SITE = https://github.com/tmux/tmux/releases/download/$(TMUX_VERSION) TMUX_LICENSE = ISC TMUX_LICENSE_FILES = README diff --git a/package/tn5250/tn5250.mk b/package/tn5250/tn5250.mk index bbaa686d86..4c457a5d97 100644 --- a/package/tn5250/tn5250.mk +++ b/package/tn5250/tn5250.mk @@ -8,7 +8,7 @@ TN5250_VERSION = 0.17.4 TN5250_SITE = http://downloads.sourceforge.net/project/tn5250/tn5250/$(TN5250_VERSION) TN5250_MAKE_OPTS = CPPFLAGS="" TN5250_DEPENDENCIES = ncurses -TN5250_LICENSE = LGPLv2.1+ +TN5250_LICENSE = LGPL-2.1+ TN5250_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_OPENSSL),y) diff --git a/package/tor/0001-openssl-libz.patch b/package/tor/0001-openssl-libz.patch index 93fb942a40..9d3cf6e124 100644 --- a/package/tor/0001-openssl-libz.patch +++ b/package/tor/0001-openssl-libz.patch @@ -3,15 +3,15 @@ and remove host paths when looking for openssl. [Vincent: - Adapt the patch to make it apply on the new version.] -[Bernd: rebased for tor-0.2.7.6, 0.2.8.10 & 0.2.9.9] +[Bernd: rebased for tor-0.2.7.6, 0.2.8.10, 0.2.9.9 & 0.3.1.7] Signed-off-by: Bernd Kuhls Signed-off-by: Vicente Olivert Riera -diff -uNr tor-0.2.7.6.org/configure.ac tor-0.2.7.6/configure.ac ---- tor-0.2.7.6.org/configure.ac 2015-12-10 16:15:25.000000000 +0100 -+++ tor-0.2.7.6/configure.ac 2016-01-31 20:21:34.850408145 +0100 -@@ -612,11 +612,11 @@ +diff -uNr tor-0.3.1.7.org/configure.ac tor-0.3.1.7/configure.ac +--- tor-0.3.1.7.org/configure.ac 2017-09-15 15:34:06.000000000 +0200 ++++ tor-0.3.1.7/configure.ac 2017-09-19 19:40:17.090538467 +0200 +@@ -709,11 +709,11 @@ fi ]) @@ -25,78 +25,100 @@ diff -uNr tor-0.2.7.6.org/configure.ac tor-0.2.7.6/configure.ac dnl XXXX check for OPENSSL_VERSION_NUMBER == SSLeay() -diff -uNr tor-0.2.7.6.org/src/or/include.am tor-0.2.7.6/src/or/include.am ---- tor-0.2.7.6.org/src/or/include.am 2015-12-08 18:35:17.000000000 +0100 -+++ tor-0.2.7.6/src/or/include.am 2016-01-31 20:22:09.322777527 +0100 -@@ -108,7 +108,7 @@ - src_or_tor_LDADD = src/or/libtor.a src/common/libor.a src/common/libor-ctime.a \ +diff -uNr tor-0.3.1.7.org/src/or/include.am tor-0.3.1.7/src/or/include.am +--- tor-0.3.1.7.org/src/or/include.am 2017-06-19 17:56:51.000000000 +0200 ++++ tor-0.3.1.7/src/or/include.am 2017-09-19 19:41:02.015861546 +0200 +@@ -122,7 +122,7 @@ src/common/libor-crypto.a $(LIBKECCAK_TINY) $(LIBDONNA) \ src/common/libor-event.a src/trunnel/libor-trunnel.a \ + src/trace/libor-trace.a \ - @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ @TOR_OPENSSL_LIBS@ \ + @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ @TOR_OPENSSL_LIBS@ @TOR_ZLIB_LIBS@ \ - @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ @TOR_SYSTEMD_LIBS@ - - if COVERAGE_ENABLED -diff -uNr tor-0.2.7.6.org/src/test/include.am tor-0.2.7.6/src/test/include.am ---- tor-0.2.7.6.org/src/test/include.am 2015-12-08 18:35:17.000000000 +0100 -+++ tor-0.2.7.6/src/test/include.am 2016-01-31 20:25:59.673127854 +0100 -@@ -177,8 +177,8 @@ - src/common/libor-ctime-testing.a \ + @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ @TOR_SYSTEMD_LIBS@ \ + @TOR_LZMA_LIBS@ @TOR_ZSTD_LIBS@ \ + $(rust_ldadd) +diff -uNr tor-0.3.1.7.org/src/test/include.am tor-0.3.1.7/src/test/include.am +--- tor-0.3.1.7.org/src/test/include.am 2017-08-29 17:01:19.000000000 +0200 ++++ tor-0.3.1.7/src/test/include.am 2017-09-19 19:42:39.103903406 +0200 +@@ -206,8 +206,8 @@ src/common/libor-event-testing.a \ src/trunnel/libor-trunnel-testing.a \ + src/trace/libor-trace.a \ - @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \ - @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ \ + @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \ + @TOR_OPENSSL_LIBS@ @TOR_ZLIB_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ \ - @TOR_SYSTEMD_LIBS@ + @TOR_SYSTEMD_LIBS@ @TOR_LZMA_LIBS@ @TOR_ZSTD_LIBS@ \ + $(rust_ldadd) - src_test_test_slow_CPPFLAGS = $(src_test_test_CPPFLAGS) -@@ -200,8 +200,8 @@ - src/common/libor-ctime.a \ +@@ -231,8 +231,8 @@ src/common/libor-crypto.a $(LIBKECCAK_TINY) $(LIBDONNA) \ src/common/libor-event.a src/trunnel/libor-trunnel.a \ + src/trace/libor-trace.a \ - @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \ - @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ \ + @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \ + @TOR_OPENSSL_LIBS@ @TOR_ZLIB_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ \ - @TOR_SYSTEMD_LIBS@ + @TOR_SYSTEMD_LIBS@ @TOR_LZMA_LIBS@ @TOR_ZSTD_LIBS@ \ + $(rust_ldadd) - src_test_test_workqueue_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ \ -@@ -211,8 +211,8 @@ - src/common/libor-ctime-testing.a \ +@@ -244,8 +244,8 @@ src/common/libor-crypto-testing.a $(LIBKECCAK_TINY) $(LIBDONNA) \ src/common/libor-event-testing.a \ + src/trace/libor-trace.a \ - @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \ -- @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ +- @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ \ + @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \ -+ @TOR_OPENSSL_LIBS@ @TOR_ZLIB_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ ++ @TOR_OPENSSL_LIBS@ @TOR_ZLIB_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ \ + @TOR_LZMA_LIBS@ @TOR_ZSTD_LIBS@ \ + $(rust_ldadd) - src_test_test_timers_CPPFLAGS = $(src_test_test_CPPFLAGS) - src_test_test_timers_CFLAGS = $(src_test_test_CFLAGS) -@@ -245,8 +245,8 @@ - src_test_test_ntor_cl_LDADD = src/or/libtor.a src/common/libor.a \ +@@ -256,8 +256,8 @@ + src/common/libor-ctime-testing.a \ + src/common/libor-event-testing.a \ + src/common/libor-crypto-testing.a $(LIBKECCAK_TINY) $(LIBDONNA) \ +- @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \ +- @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ \ ++ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \ ++ @TOR_OPENSSL_LIBS@ @TOR_ZLIB_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ \ + @TOR_LZMA_LIBS@ \ + $(rust_ldadd) + src_test_test_timers_LDFLAGS = $(src_test_test_LDFLAGS) +@@ -286,8 +286,8 @@ + src/common/libor-ctime.a \ + src/common/libor-crypto.a $(LIBKECCAK_TINY) $(LIBDONNA) \ + src/trace/libor-trace.a \ +- @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ \ +- @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ \ ++ @TOR_LIB_MATH@ \ ++ @TOR_OPENSSL_LIBS@ @TOR_ZLIB_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ \ + @TOR_LZMA_LIBS@ \ + $(rust_ldadd) + src_test_test_ntor_cl_AM_CPPFLAGS = \ +@@ -298,8 +298,8 @@ + src_test_test_hs_ntor_cl_LDADD = src/or/libtor.a src/common/libor.a \ src/common/libor-ctime.a \ src/common/libor-crypto.a $(LIBKECCAK_TINY) $(LIBDONNA) \ - @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ \ - @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ + @TOR_LIB_MATH@ \ + @TOR_OPENSSL_LIBS@ @TOR_ZLIB_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ - src_test_test_ntor_cl_AM_CPPFLAGS = \ + src_test_test_hs_ntor_cl_AM_CPPFLAGS = \ -I"$(top_srcdir)/src/or" -diff -uNr tor-0.2.7.6.org/src/tools/include.am tor-0.2.7.6/src/tools/include.am ---- tor-0.2.7.6.org/src/tools/include.am 2015-11-13 14:33:26.000000000 +0100 -+++ tor-0.2.7.6/src/tools/include.am 2016-01-31 20:27:29.954004495 +0100 +diff -uNr tor-0.3.1.7.org/src/tools/include.am tor-0.3.1.7/src/tools/include.am +--- tor-0.3.1.7.org/src/tools/include.am 2017-06-19 17:56:51.000000000 +0200 ++++ tor-0.3.1.7/src/tools/include.am 2017-09-19 19:43:08.880223260 +0200 @@ -26,7 +26,7 @@ - src/common/libor-ctime.a \ - $(LIBKECCAK_TINY) \ - $(LIBDONNA) \ -- @TOR_LIB_MATH@ @TOR_ZLIB_LIBS@ @TOR_OPENSSL_LIBS@ \ -+ @TOR_LIB_MATH@ @TOR_OPENSSL_LIBS@ @TOR_ZLIB_LIBS@ \ - @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ + src/common/libor-ctime.a \ + $(LIBKECCAK_TINY) \ + $(LIBDONNA) \ +- @TOR_LIB_MATH@ @TOR_ZLIB_LIBS@ @TOR_OPENSSL_LIBS@ \ ++ @TOR_LIB_MATH@ @TOR_OPENSSL_LIBS@ @TOR_ZLIB_LIBS@ \ + @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ \ + $(rust_ldadd) - if COVERAGE_ENABLED -@@ -39,7 +39,7 @@ +@@ -40,7 +40,7 @@ src/common/libor-ctime-testing.a \ $(LIBKECCAK_TINY) \ $(LIBDONNA) \ @@ -105,12 +127,3 @@ diff -uNr tor-0.2.7.6.org/src/tools/include.am tor-0.2.7.6/src/tools/include.am @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ endif -@@ -50,7 +50,7 @@ - src/common/libor-crypto.a \ - $(LIBKECCAK_TINY) \ - $(LIBDONNA) \ -- @TOR_LIB_MATH@ @TOR_ZLIB_LIBS@ @TOR_OPENSSL_LIBS@ \ -+ @TOR_LIB_MATH@ @TOR_OPENSSL_LIBS@ @TOR_ZLIB_LIBS@ \ - @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ - - EXTRA_DIST += src/tools/tor-fw-helper/README diff --git a/package/tor/tor.hash b/package/tor/tor.hash index 470fc4829b..cf8841aecf 100644 --- a/package/tor/tor.hash +++ b/package/tor/tor.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 33325d2b250fd047ba2ddc5d11c2190c4e2951f4b03ec48ebd8bf0666e990d43 tor-0.2.9.9.tar.gz +sha256 7df6298860a59f410ff8829cf7905a50c8b3a9094d51a8553603b401e4b5b1a1 tor-0.3.1.8.tar.gz +sha256 f9a4f724d8037711dde7d3f1d17094fb7d211545b3a3bbb1b03e769e13ca5608 LICENSE diff --git a/package/tor/tor.mk b/package/tor/tor.mk index bb0fbb16b5..c38ed909b8 100644 --- a/package/tor/tor.mk +++ b/package/tor/tor.mk @@ -4,9 +4,9 @@ # ################################################################################ -TOR_VERSION = 0.2.9.9 +TOR_VERSION = 0.3.1.8 TOR_SITE = https://dist.torproject.org -TOR_LICENSE = BSD-3c +TOR_LICENSE = BSD-3-Clause TOR_LICENSE_FILES = LICENSE TOR_DEPENDENCIES = libevent openssl zlib TOR_AUTORECONF = YES @@ -30,6 +30,13 @@ ifeq ($(BR2_PACKAGE_LIBCAP),y) TOR_DEPENDENCIES += libcap endif +ifeq ($(BR2_PACKAGE_XZ),y) +TOR_CONF_OPTS += --enable-lzma +TOR_DEPENDENCIES += host-pkgconf xz +else +TOR_CONF_OPTS += --disable-lzma +endif + ifeq ($(BR2_arm)$(BR2_armeb)$(BR2_i386)$(BR2_x86_64)$(BR2_PACKAGE_LIBSECCOMP),yy) TOR_CONF_OPTS += --enable-seccomp TOR_DEPENDENCIES += libseccomp diff --git a/package/tovid/tovid.hash b/package/tovid/tovid.hash index 9ddd75037a..0bd7668fad 100644 --- a/package/tovid/tovid.hash +++ b/package/tovid/tovid.hash @@ -1,2 +1,2 @@ -# Locally computed: -sha256 06f7cb00b213bbe83d72f4f2076b675a662697034e1d2cdc2dce987e35c827bc tovid-0.35.0.tar.gz +# Locally calculated +sha256 3193d081a7aa8e00f946b7514066f1fb7647f533ab1ebcc36b5ced927b0a1ab5 tovid-0.35.2.tar.gz diff --git a/package/tovid/tovid.mk b/package/tovid/tovid.mk index 3069d67e59..c904b981f6 100644 --- a/package/tovid/tovid.mk +++ b/package/tovid/tovid.mk @@ -4,9 +4,9 @@ # ################################################################################ -TOVID_VERSION = 0.35.0 -TOVID_SITE = https://github.com/tovid-suite/tovid/releases/download/v$(TOVID_VERSION) -TOVID_LICENSE = GPLv2+ +TOVID_VERSION = 0.35.2 +TOVID_SITE = https://github.com/tovid-suite/tovid/releases/download/$(TOVID_VERSION) +TOVID_LICENSE = GPL-2.0+ TOVID_LICENSE_FILES = COPYING TOVID_SETUP_TYPE = distutils diff --git a/package/tpm-tools/Config.in b/package/tpm-tools/Config.in index 83b65f3ae4..e115687281 100644 --- a/package/tpm-tools/Config.in +++ b/package/tpm-tools/Config.in @@ -1,11 +1,10 @@ config BR2_PACKAGE_TPM_TOOLS bool "tpm-tools" - select BR2_PACKAGE_TROUSERS - select BR2_PACKAGE_OPENSSL - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE depends on BR2_TOOLCHAIN_HAS_THREADS # trousers depends on !BR2_STATIC_LIBS # trousers depends on !BR2_arc # trousers + select BR2_PACKAGE_TROUSERS + select BR2_PACKAGE_OPENSSL help Tools to manage and diagnose a TPM diff --git a/package/tpm-tools/tpm-tools.mk b/package/tpm-tools/tpm-tools.mk index c90edbb88c..4dbf50a298 100644 --- a/package/tpm-tools/tpm-tools.mk +++ b/package/tpm-tools/tpm-tools.mk @@ -9,8 +9,7 @@ TPM_TOOLS_SITE = http://downloads.sourceforge.net/project/trousers/tpm-tools/$(T TPM_TOOLS_STRIP_COMPONENTS = 2 TPM_TOOLS_LICENSE = Common Public License Version 1.0 TPM_TOOLS_LICENSE_FILES = LICENSE -TPM_TOOLS_DEPENDENCIES = trousers openssl \ - $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) +TPM_TOOLS_DEPENDENCIES = trousers openssl $(TARGET_NLS_DEPENDENCIES) # configure.in and lib/Makefile.am is patched TPM_TOOLS_AUTORECONF = YES TPM_TOOLS_GETTEXTIZE = YES diff --git a/package/trace-cmd/0001-trace-cmd-Fix-trace-record.c-with-non-ptrace-compile.patch b/package/trace-cmd/0001-trace-cmd-Fix-trace-record.c-with-non-ptrace-compile.patch deleted file mode 100644 index 5f7d2bab71..0000000000 --- a/package/trace-cmd/0001-trace-cmd-Fix-trace-record.c-with-non-ptrace-compile.patch +++ /dev/null @@ -1,32 +0,0 @@ -From bdfcddd4f135dc1d4fefb0373d9ebb93ef5110cb Mon Sep 17 00:00:00 2001 -From: "Steven Rostedt (Red Hat)" -Date: Mon, 7 Dec 2015 16:41:19 -0500 -Subject: [PATCH] trace-cmd: Fix trace-record.c with non ptrace compile - -Fix ptrace_wait() when NO_PTRACE=1 is defined. - -Status: upstream - -Signed-off-by: Steven Rostedt -[Romain backport to 2.6] -Signed-off-by: Romain Naour ---- - trace-record.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/trace-record.c b/trace-record.c -index df82883..f83ec4b 100644 ---- a/trace-record.c -+++ b/trace-record.c -@@ -1099,7 +1099,7 @@ static void ptrace_wait(enum trace_type type, int main_pid) - (!WIFEXITED(status) || pid != main_pid)); - } - #else --static inline void ptrace_wait(int main_pid) { } -+static inline void ptrace_wait(enum trace_type type, int main_pid) { } - static inline void enable_ptrace(void) { } - static inline void ptrace_attach(int pid) { } - --- -2.5.5 - diff --git a/package/trace-cmd/0001-trace-listen-add-missing-header.patch b/package/trace-cmd/0001-trace-listen-add-missing-header.patch new file mode 100644 index 0000000000..350e523025 --- /dev/null +++ b/package/trace-cmd/0001-trace-listen-add-missing-header.patch @@ -0,0 +1,38 @@ +From c68c868b573acc73e144312326750be2ed96632f Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Thu, 29 Jun 2017 14:43:19 +0300 +Subject: [PATCH] trace-listen: add missing header +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The PATH_MAX macro requires the limits.h header. This fixes build with musl +libc: + +.../trace-cmd-trace-cmd-v2.6.1/trace-listen.c: In function ‘make_pid_name’: +.../trace-cmd-trace-cmd-v2.6.1/trace-listen.c:167:16: error: ‘PATH_MAX’ undeclared (first use in this function) + snprintf(buf, PATH_MAX, VAR_RUN_DIR "/trace-cmd-net.pid"); + ^~~~~~~~ + +Signed-off-by: Baruch Siach +--- +Upstream status: https://lkml.org/lkml/2017/6/29/286 + + trace-listen.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/trace-listen.c b/trace-listen.c +index 17ff9d8c160c..838d6bcf3649 100644 +--- a/trace-listen.c ++++ b/trace-listen.c +@@ -31,6 +31,7 @@ + #include + #include + #include ++#include + + #include "trace-local.h" + #include "trace-msg.h" +-- +2.11.0 + diff --git a/package/trace-cmd/trace-cmd.hash b/package/trace-cmd/trace-cmd.hash new file mode 100644 index 0000000000..5bf4154bd0 --- /dev/null +++ b/package/trace-cmd/trace-cmd.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 f088534808274f6233fe15130791238fb14ce9bf6e7234f9b3fe6b5a42a1245d trace-cmd-trace-cmd-v2.6.1.tar.gz diff --git a/package/trace-cmd/trace-cmd.mk b/package/trace-cmd/trace-cmd.mk index 2348155cb8..0dc145674f 100644 --- a/package/trace-cmd/trace-cmd.mk +++ b/package/trace-cmd/trace-cmd.mk @@ -4,11 +4,11 @@ # ################################################################################ -TRACE_CMD_VERSION = trace-cmd-v2.6 +TRACE_CMD_VERSION = trace-cmd-v2.6.1 TRACE_CMD_SITE = $(BR2_KERNEL_MIRROR)/scm/linux/kernel/git/rostedt/trace-cmd.git TRACE_CMD_SITE_METHOD = git TRACE_CMD_INSTALL_STAGING = YES -TRACE_CMD_LICENSE = GPLv2, LGPLv2.1 +TRACE_CMD_LICENSE = GPL-2.0, LGPL-2.1 TRACE_CMD_LICENSE_FILES = COPYING COPYING.LIB TRACE_CMD_DEPENDENCIES = host-pkgconf diff --git a/package/transmission/Config.in b/package/transmission/Config.in index b47c36fdd3..2110e52ac6 100644 --- a/package/transmission/Config.in +++ b/package/transmission/Config.in @@ -39,12 +39,12 @@ config BR2_PACKAGE_TRANSMISSION_REMOTE config BR2_PACKAGE_TRANSMISSION_GTK bool "transmission-gtk" - depends on BR2_PACKAGE_LIBGTK2 && BR2_ENABLE_LOCALE + depends on BR2_PACKAGE_LIBGTK3 && BR2_SYSTEM_ENABLE_NLS help Install transmission GTK-based GUI interface. -comment "transmission-gtk needs a toolchain w/ locale" - depends on BR2_PACKAGE_LIBGTK2 && !BR2_ENABLE_LOCALE +comment "transmission-gtk needs NLS enabled" + depends on BR2_PACKAGE_LIBGTK3 && !BR2_SYSTEM_ENABLE_NLS endif comment "transmission needs a toolchain w/ threads" diff --git a/package/transmission/transmission.mk b/package/transmission/transmission.mk index 923ba409d3..7f4675302e 100644 --- a/package/transmission/transmission.mk +++ b/package/transmission/transmission.mk @@ -18,7 +18,7 @@ TRANSMISSION_AUTORECONF = YES TRANSMISSION_CONF_OPTS = \ --disable-libnotify \ --enable-lightweight -TRANSMISSION_LICENSE = GPLv2 or GPLv3 with OpenSSL exception +TRANSMISSION_LICENSE = GPL-2.0 or GPL-3.0 with OpenSSL exception TRANSMISSION_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_LIBMINIUPNPC),y) @@ -64,7 +64,7 @@ define TRANSMISSION_INSTALL_INIT_SYSV endef define TRANSMISSION_INSTALL_INIT_SYSTEMD - $(INSTALL) -D -m 0755 $(@D)/daemon/transmission-daemon.service \ + $(INSTALL) -D -m 0644 $(@D)/daemon/transmission-daemon.service \ $(TARGET_DIR)/usr/lib/systemd/system/transmission-daemon.service mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants ln -fs ../../../../usr/lib/systemd/system/transmission-daemon.service \ @@ -82,10 +82,10 @@ TRANSMISSION_CONF_OPTS += --disable-remote endif ifeq ($(BR2_PACKAGE_TRANSMISSION_GTK),y) -TRANSMISSION_CONF_OPTS += --enable-gtk -TRANSMISSION_DEPENDENCIES += libgtk2 +TRANSMISSION_CONF_OPTS += --with-gtk +TRANSMISSION_DEPENDENCIES += libgtk3 else -TRANSMISSION_CONF_OPTS += --disable-gtk +TRANSMISSION_CONF_OPTS += --without-gtk endif $(eval $(autotools-package)) diff --git a/package/tree/tree.mk b/package/tree/tree.mk index b8988bd4c1..34b6c60adb 100644 --- a/package/tree/tree.mk +++ b/package/tree/tree.mk @@ -7,7 +7,7 @@ TREE_VERSION = 1.7.0 TREE_SOURCE = tree-$(TREE_VERSION).tgz TREE_SITE = http://mama.indstate.edu/users/ice/tree/src -TREE_LICENSE = GPLv2+ +TREE_LICENSE = GPL-2.0+ TREE_LICENSE_FILES = LICENSE define TREE_BUILD_CMDS diff --git a/package/tremor/Config.in b/package/tremor/Config.in index 1a478c47a0..ec7b8f8c00 100644 --- a/package/tremor/Config.in +++ b/package/tremor/Config.in @@ -6,3 +6,5 @@ config BR2_PACKAGE_TREMOR decoder. It provides a decoding API similar to libvorbis, but gives much better performance on systems without a floating-point unit. + + https://wiki.xiph.org/Tremor diff --git a/package/tremor/tremor.mk b/package/tremor/tremor.mk index 2a791b6729..05996e2a8a 100644 --- a/package/tremor/tremor.mk +++ b/package/tremor/tremor.mk @@ -7,7 +7,7 @@ TREMOR_SITE = http://svn.xiph.org/trunk/Tremor TREMOR_SITE_METHOD = svn TREMOR_VERSION = 19427 -TREMOR_LICENSE = BSD-3c +TREMOR_LICENSE = BSD-3-Clause TREMOR_LICENSE_FILES = COPYING TREMOR_AUTORECONF = YES diff --git a/package/triggerhappy/0001-eventtable.h-use-correct-array-sizes-to-fix-building.patch b/package/triggerhappy/0001-eventtable.h-use-correct-array-sizes-to-fix-building.patch deleted file mode 100644 index 80f264037f..0000000000 --- a/package/triggerhappy/0001-eventtable.h-use-correct-array-sizes-to-fix-building.patch +++ /dev/null @@ -1,66 +0,0 @@ -From d3cfa80631a7e314fee9b2e0822e403fcf2a5c5c Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Sun, 31 Jul 2016 10:28:43 +0200 -Subject: [PATCH] eventtable.h: use correct array sizes to fix building against - 4.7+ headers -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -During the 4.7 development cycle, commit 9a9b6aa6a8 (Input: add -SW_PEN_INSERTED define) got added, which has the same numerical value as -SW_MAX: - -+#define SW_PEN_INSERTED 0x0f /* set = pen inserted */ -+#define SW_MAX 0x0f - -This breaks the build as the SW_NAME array is sized using the SW_MAX macro: - -In file included from eventtable.h:21:0, - from eventnames.c:11: -evtable_SW.inc:17:1: error: array index in initializer exceeds array bounds - EV_MAP(SW_PEN_INSERTED), - ^ -evtable_SW.inc:17:1: error: (near initialization for ‘SW_NAME’) - -The arrays should be sized using the _CNT (which is MAX+1) macros -instead of _MAX. These got added during the 2.6.24 development cycle, -so it should be safe to do so unconditially: - -commit 7b19ada2ed3c1eccb9fe94d74b05e1428224663d -Author: Jiri Slaby -Date: Thu Oct 18 23:40:32 2007 -0700 - - get rid of input BIT* duplicate defines - -Signed-off-by: Peter Korsgaard ---- - eventtable.h | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/eventtable.h b/eventtable.h -index 349d9d7..7cd99aa 100644 ---- a/eventtable.h -+++ b/eventtable.h -@@ -8,15 +8,15 @@ - - #define EV_MAP( N ) [ N ] = #N - --static const char *EV_NAME[EV_MAX] = { -+static const char *EV_NAME[EV_CNT] = { - #include "evtable_EV.inc" - }; - --static const char *KEY_NAME[KEY_MAX] = { -+static const char *KEY_NAME[KEY_CNT] = { - #include "evtable_KEY.inc" - #include "evtable_BTN.inc" - }; - --static const char *SW_NAME[SW_MAX] = { -+static const char *SW_NAME[SW_CNT] = { - #include "evtable_SW.inc" - }; --- -2.8.1 - diff --git a/package/triggerhappy/triggerhappy.hash b/package/triggerhappy/triggerhappy.hash index 17eefdb248..5a1d767213 100644 --- a/package/triggerhappy/triggerhappy.hash +++ b/package/triggerhappy/triggerhappy.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 6b01497377e522c368818c5f6c726362f42530e3dc24a01c6d77b1b4d6068308 triggerhappy-7e5abc69f215678e93a6b999524981c8b40bdcd9.tar.gz +sha256 1b3221963b9adca26eacc5442d8c2422cf2072f8adde1dbd691a69b37a583fb1 triggerhappy-b822888066129350e51ad79f1cf307fa38dae4f7.tar.gz diff --git a/package/triggerhappy/triggerhappy.mk b/package/triggerhappy/triggerhappy.mk index 5a29ca7773..9f74c486f1 100644 --- a/package/triggerhappy/triggerhappy.mk +++ b/package/triggerhappy/triggerhappy.mk @@ -4,9 +4,9 @@ # ################################################################################ -TRIGGERHAPPY_VERSION = 7e5abc69f215678e93a6b999524981c8b40bdcd9 +TRIGGERHAPPY_VERSION = b822888066129350e51ad79f1cf307fa38dae4f7 TRIGGERHAPPY_SITE = $(call github,wertarbyte,triggerhappy,$(TRIGGERHAPPY_VERSION)) -TRIGGERHAPPY_LICENSE = GPLv3+ +TRIGGERHAPPY_LICENSE = GPL-3.0+ TRIGGERHAPPY_LICENSE_FILES = COPYING define TRIGGERHAPPY_BUILD_CMDS diff --git a/package/triggerhappy/triggerhappy.service b/package/triggerhappy/triggerhappy.service index 8449c1c935..8431afe999 100644 --- a/package/triggerhappy/triggerhappy.service +++ b/package/triggerhappy/triggerhappy.service @@ -2,7 +2,7 @@ Description=Triggerhappy daemon [Service] -ExecStart=/usr/sbin/thd --triggers /etc/triggerhappy/triggers.d --socket /var/run/thd.socket --user nobody /dev/input/event* +ExecStart=/usr/sbin/thd --triggers /etc/triggerhappy/triggers.d --socket /var/run/thd.socket --user nobody --deviceglob /dev/input/event* Restart=always [Install] diff --git a/package/trinity/0001-mips-fix-prctl-s.patch b/package/trinity/0001-mips-fix-prctl-s.patch deleted file mode 100644 index aacd8d5bf6..0000000000 --- a/package/trinity/0001-mips-fix-prctl-s.patch +++ /dev/null @@ -1,39 +0,0 @@ -From d61dd102b95b9791e45d6bbf1e34814b8c6c1731 Mon Sep 17 00:00:00 2001 -From: Vicente Olivert Riera -Date: Mon, 14 Dec 2015 14:46:37 +0000 -Subject: [PATCH] mips: fix prctl's - -It looks like a typo in the syscalls/prctl.c file. It's lacking the PR_ -preffix, and due to that is causing build failures like this one: - - CC syscalls/prctl.o -syscalls/prctl.c:37:2: error: 'GET_FP_MODE' undeclared here (not in a -function) - GET_FP_MODE, SET_FP_MODE, - ^ -syscalls/prctl.c:37:15: error: 'SET_FP_MODE' undeclared here (not -in a function) - GET_FP_MODE, SET_FP_MODE, - ^ - -Signed-off-by: Vicente Olivert Riera ---- - syscalls/prctl.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/syscalls/prctl.c b/syscalls/prctl.c -index 523f03e..5a64fb3 100644 ---- a/syscalls/prctl.c -+++ b/syscalls/prctl.c -@@ -34,7 +34,7 @@ static int prctl_opts[] = { - PR_GET_NO_NEW_PRIVS, PR_GET_TID_ADDRESS, PR_SET_THP_DISABLE, PR_GET_THP_DISABLE, - PR_MPX_ENABLE_MANAGEMENT, PR_MPX_DISABLE_MANAGEMENT, - #ifdef __mips__ -- GET_FP_MODE, SET_FP_MODE, -+ PR_GET_FP_MODE, PR_SET_FP_MODE, - #endif - PR_CAP_AMBIENT, - }; --- -2.4.10 - diff --git a/package/trinity/0001-use-userspace-headers-for-ax25-instead-of-kernel.patch b/package/trinity/0001-use-userspace-headers-for-ax25-instead-of-kernel.patch new file mode 100644 index 0000000000..e077bf43f2 --- /dev/null +++ b/package/trinity/0001-use-userspace-headers-for-ax25-instead-of-kernel.patch @@ -0,0 +1,26 @@ +From b0e66a2d084ffc210bc1fc247efb4d177e9f7e3d Mon Sep 17 00:00:00 2001 +From: Dave Jones +Date: Mon, 5 Dec 2016 12:46:14 -0500 +Subject: [PATCH] use userspace headers for ax25 instead of kernel. + +This should solve https://bugzilla.redhat.com/show_bug.cgi?id=1400720 + +[Upstream commit: https://github.com/kernelslacker/trinity/commit/b0e66a2d084ffc210bc1fc247efb4d177e9f7e3d] +Signed-off-by: Thomas Petazzoni +--- + net/proto-rose.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/net/proto-rose.c b/net/proto-rose.c +index ccbf294f..b277f839 100644 +--- a/net/proto-rose.c ++++ b/net/proto-rose.c +@@ -6,7 +6,7 @@ + #include + #include + #include +-#include /* for ax25_address in rose.h */ ++#include /* for ax25_address in rose.h */ + #include + #include + #include "net.h" diff --git a/package/trinity/0002-fix-build-when_USE_BPF-is-not-defined.patch b/package/trinity/0002-fix-build-when_USE_BPF-is-not-defined.patch new file mode 100644 index 0000000000..4fb2c690c5 --- /dev/null +++ b/package/trinity/0002-fix-build-when_USE_BPF-is-not-defined.patch @@ -0,0 +1,72 @@ +From f447db18b389050ecc5e66dbf549d5953633e23e Mon Sep 17 00:00:00 2001 +From: Jan Stancek +Date: Mon, 7 Nov 2016 12:50:27 +0100 +Subject: [PATCH] fix build when USE_BPF is not defined + +net/bpf.o: In function `bpf_gen_filter': bpf.c:852: undefined reference to `get_rand_bpf_fd' + +Signed-off-by: Jan Stancek +[Upstream commit: https://github.com/kernelslacker/trinity/commit/f447db18b389050ecc5e66dbf549d5953633e23e] +Signed-off-by: Thomas Petazzoni +--- + net/bpf.c | 3 +++ + syscalls/prctl.c | 4 +++- + syscalls/setsockopt.c | 2 ++ + 3 files changed, 8 insertions(+), 1 deletion(-) + +diff --git a/net/bpf.c b/net/bpf.c +index 4fe94173..d6ca14bd 100644 +--- a/net/bpf.c ++++ b/net/bpf.c +@@ -8,6 +8,7 @@ + #include + + #include "bpf.h" ++#include "config.h" + #include "debug.h" + #include "log.h" + #include "net.h" +@@ -17,6 +18,7 @@ + #include "utils.h" + #include "compat.h" + ++#ifdef USE_BPF + /** + * BPF filters are used in networking such as in pf_packet, but also + * in seccomp for application sand-boxing. Additionally, with arch +@@ -885,3 +887,4 @@ void bpf_gen_filter(unsigned long **addr, unsigned long *addrlen) + if (dump_bpf) + bpf_disasm_all(bpf->filter, bpf->len); + } ++#endif +diff --git a/syscalls/prctl.c b/syscalls/prctl.c +index 02d2dbc6..cdbcdc21 100644 +--- a/syscalls/prctl.c ++++ b/syscalls/prctl.c +@@ -45,9 +45,11 @@ static int prctl_opts[] = { + #ifdef USE_SECCOMP + static void do_set_seccomp(struct syscallrecord *rec) + { +- unsigned long *optval = NULL, optlen = 0; ++ unsigned long *optval = NULL, __unused__ optlen = 0; + ++#ifdef USE_BPF + bpf_gen_seccomp(&optval, &optlen); ++#endif + + rec->a2 = SECCOMP_MODE_FILTER; + rec->a3 = (unsigned long) optval; +diff --git a/syscalls/setsockopt.c b/syscalls/setsockopt.c +index 8189b7a8..d395e54e 100644 +--- a/syscalls/setsockopt.c ++++ b/syscalls/setsockopt.c +@@ -48,7 +48,9 @@ static void socket_setsockopt(struct sockopt *so, __unused__ struct socket_tripl + case SO_ATTACH_FILTER: { + unsigned long *optval = NULL, optlen = 0; + ++#ifdef USE_BPF + bpf_gen_filter(&optval, &optlen); ++#endif + + so->optval = (unsigned long) optval; + so->optlen = optlen; diff --git a/package/trinity/0003-Check-for-bpf-attr-map-flags.patch b/package/trinity/0003-Check-for-bpf-attr-map-flags.patch new file mode 100644 index 0000000000..ee2bc377b5 --- /dev/null +++ b/package/trinity/0003-Check-for-bpf-attr-map-flags.patch @@ -0,0 +1,60 @@ +From 87427256640f806710dd97fc807a9a896147c617 Mon Sep 17 00:00:00 2001 +From: Vinson Lee +Date: Sat, 12 Nov 2016 00:55:35 +0000 +Subject: [PATCH] Check for bpf_attr map_flags. + +map_flags is not available until Linux 4.6. + +Signed-off-by: Vinson Lee +[Upstream commit: https://github.com/kernelslacker/trinity/commit/87427256640f806710dd97fc807a9a896147c617] +Signed-off-by: Thomas Petazzoni +--- + configure | 28 +++++++++++++++++++++++++++- + 1 file changed, 27 insertions(+), 1 deletion(-) + +diff --git a/configure b/configure +index ca37e4ef..18d9df73 100755 +--- a/configure ++++ b/configure +@@ -222,6 +222,33 @@ else + fi + + ############################################################################################# ++# is /usr/include/linux/bpf.h new enough to feature bpf ++# ++echo -n "[*] Checking if bpf_attr can use map_flags.. " ++rm -f "$TMP" || exit 1 ++ ++cat >"$TMP.c" << EOF ++#include ++#include ++ ++void main() ++{ ++ union bpf_attr attr = { ++ .map_flags = 0, ++ }; ++} ++EOF ++ ++${CC} ${CFLAGS} "$TMP.c" -o "$TMP" &>"$TMP.log" ++if [ ! -x "$TMP" ]; then ++ echo $RED "[NO]" $COL_RESET ++ MISSING_DEFS=1 ++else ++ echo $GREEN "[YES]" $COL_RESET ++ echo "#define USE_BPF 1" >> $CONFIGH ++fi ++ ++############################################################################################# + + check_header linux/caif/caif_socket.h USE_CAIF + check_header linux/if_alg.h USE_IF_ALG +@@ -239,7 +266,6 @@ check_header execinfo.h USE_BACKTRACE + check_header netatalk/at.h USE_APPLETALK + check_header netrom/netrom.h USE_NETROM + check_header netrose/rose.h USE_ROSE +-check_header linux/bpf.h USE_BPF + + rm -f "$TMP" "$TMP.log" "$TMP.c" + diff --git a/package/trinity/0004-get_syscall_entry-remove-SYSCALL_OFFSET.patch b/package/trinity/0004-get_syscall_entry-remove-SYSCALL_OFFSET.patch new file mode 100644 index 0000000000..4c58d6249a --- /dev/null +++ b/package/trinity/0004-get_syscall_entry-remove-SYSCALL_OFFSET.patch @@ -0,0 +1,44 @@ +From 1d9af9d07ae111c253c92112fb50000adac47a0c Mon Sep 17 00:00:00 2001 +From: Marcin Nowakowski +Date: Thu, 29 Jun 2017 12:24:10 +0200 +Subject: [PATCH] get_syscall_entry: remove SYSCALL_OFFSET + +0-based syscall numbers are used throughout the application and the +SYSCALL_OFFSET is only added when invoking the syscall. It is therefore +wrong to substract the offset in get_syscall_entry, as it leads to +dereferencing array entries at negative offsets and segfaults. + +Tested on MIPS32/LE. +This change effectively reverts cc5108ff ('make get_syscall_entry take +SYSCALL_OFFSET into account') + +Signed-off-by: Marcin Nowakowski +[Upstream commit: https://github.com/kernelslacker/trinity/commit/1d9af9d07ae111c253c92112fb50000adac47a0c] +Signed-off-by: Thomas Petazzoni +--- + tables.c | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git a/tables.c b/tables.c +index e7dab85d..8090146a 100644 +--- a/tables.c ++++ b/tables.c +@@ -673,15 +673,14 @@ int munge_tables(void) + */ + struct syscallentry * get_syscall_entry(unsigned int callno, bool do32) + { +- unsigned int offset = callno - SYSCALL_OFFSET; + if (biarch == FALSE) +- return syscalls[offset].entry; ++ return syscalls[callno].entry; + + /* biarch case */ + if (do32 == TRUE) +- return syscalls_32bit[offset].entry; ++ return syscalls_32bit[callno].entry; + else +- return syscalls_64bit[offset].entry; ++ return syscalls_64bit[callno].entry; + } + + /* diff --git a/package/trinity/0005-configure-fix-cross-compile-detection-of-broken-ipv6.patch b/package/trinity/0005-configure-fix-cross-compile-detection-of-broken-ipv6.patch new file mode 100644 index 0000000000..5bc326010d --- /dev/null +++ b/package/trinity/0005-configure-fix-cross-compile-detection-of-broken-ipv6.patch @@ -0,0 +1,49 @@ +From ac38a49a18e337fb3bc7ac8e06097e28e1e3b3f7 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Fri, 14 Apr 2017 07:43:04 +0300 +Subject: [PATCH] configure: fix cross compile detection of broken ipv6 headers + +Checking the content of the host ipv6.h headers is incompatible with cross +compilation. Target headers may not be the same as the host. Do direct build +test instead using the ${CC} (cross) compiler to detect headers issues. + +Define _GNU_SOURCE to make sure glibc ipv6 definitions are exposed. + +Signed-off-by: Baruch Siach +--- +Patch status: submitted upstream + + configure | 17 +++++++++++++++-- + 1 file changed, 15 insertions(+), 2 deletions(-) + +diff --git a/configure b/configure +index aa3f7f334971..8639a38eba96 100755 +--- a/configure ++++ b/configure +@@ -51,8 +51,21 @@ echo "[*] Checking system headers." + [ -z "$IPV6" ] && IPV6=yes + if [[ "$IPV6" == "yes" ]]; then + echo -n "[*] Checking ipv6 headers ... " +- RET=$(grep __UAPI_DEF_IN6_PKTINFO /usr/include/linux/ipv6.h) +- if [ -z "$RET" ]; then ++ rm -f "$TMP" || exit 1 ++ ++ cat >"$TMP.c" << EOF ++#include ++#include ++#include ++#include ++ ++int main() ++{ ++ struct in6_addr test; ++} ++EOF ++ ${CC} ${CFLAGS} -D_GNU_SOURCE "$TMP.c" -o "$TMP" &>"$TMP.log" ++ if [ ! -x "$TMP" ]; then + echo $RED "[BROKEN]" $COL_RESET "See https://patchwork.ozlabs.org/patch/425881/" + else + echo $GREEN "[OK]" $COL_RESET +-- +2.11.0 + diff --git a/package/trinity/0006-Include-sys-io.h-for-UIO_MAXIOV-symbol.patch b/package/trinity/0006-Include-sys-io.h-for-UIO_MAXIOV-symbol.patch new file mode 100644 index 0000000000..27c7850a01 --- /dev/null +++ b/package/trinity/0006-Include-sys-io.h-for-UIO_MAXIOV-symbol.patch @@ -0,0 +1,40 @@ +From dd7fc8b44cc8bb8a7e9dc03aa3aa57fbefbf433b Mon Sep 17 00:00:00 2001 +From: Vinson Lee +Date: Tue, 20 Jun 2017 22:43:01 +0000 +Subject: [PATCH] Include sys/io.h for UIO_MAXIOV symbol. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This patch fixes this build error. + + CC net/proto-ipv4.o +net/proto-ipv4.c: In function ‘ip_setsockopt’: +net/proto-ipv4.c:231:49: error: ‘UIO_MAXIOV’ undeclared (first use in this function); did you mean ‘_IO_MAGIC’? + so->optlen = rnd() % sizeof(unsigned long)*(2*UIO_MAXIOV+512); + ^~~~~~~~~~ + _IO_MAGIC + +Upstream: https://github.com/kernelslacker/trinity/commit/dd7fc8b44cc8bb8a7e9dc03aa3aa57fbefbf433b + +Signed-off-by: Vinson Lee +Signed-off-by: Matthew Weber +--- + net/proto-ipv4.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/net/proto-ipv4.c b/net/proto-ipv4.c +index b77364e..9ffaa5e 100644 +--- a/net/proto-ipv4.c ++++ b/net/proto-ipv4.c +@@ -1,6 +1,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +1.9.1 + diff --git a/package/trinity/Config.in b/package/trinity/Config.in index 0ce1f9aa27..0fc737e28f 100644 --- a/package/trinity/Config.in +++ b/package/trinity/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_TRINITY_ARCH_SUPPORTS bool default y depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # __sync_val_compare_and_swap_4 depends on BR2_aarch64 || BR2_arm || BR2_armeb || BR2_i386 || \ BR2_mips || BR2_mipsel || BR2_powerpc || BR2_powerpc64 || \ BR2_powerpc64le || BR2_sparc || BR2_x86_64 diff --git a/package/trinity/trinity.hash b/package/trinity/trinity.hash index e290a40920..7f48cfaba3 100644 --- a/package/trinity/trinity.hash +++ b/package/trinity/trinity.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 3ef7ae05dba14f8bb626121983a08bb09d1d51a19de38bd9a8e0f29b11d9e3c9 trinity-v1.6.tar.gz +sha256 4cb2bd4049ce523fdf47490c4c18b8eb713c720d4b3b13d6ec2ae246aac908ad trinity-1.7.tar.xz diff --git a/package/trinity/trinity.mk b/package/trinity/trinity.mk index 7596e92ba8..1bada39cc5 100644 --- a/package/trinity/trinity.mk +++ b/package/trinity/trinity.mk @@ -4,13 +4,18 @@ # ################################################################################ -TRINITY_VERSION = v1.6 -TRINITY_SITE = $(call github,kernelslacker,trinity,$(TRINITY_VERSION)) -TRINITY_LICENSE = GPLv2 +TRINITY_VERSION = 1.7 +TRINITY_SITE = http://codemonkey.org.uk/projects/trinity +TRINITY_SOURCE = trinity-$(TRINITY_VERSION).tar.xz +TRINITY_LICENSE = GPL-2.0 TRINITY_LICENSE_FILES = COPYING +ifeq ($(BR2_PACKAGE_BTRFS_PROGS),y) +TRINITY_DEPENDENCIES += btrfs-progs +endif + define TRINITY_CONFIGURE_CMDS - (cd $(@D); $(TARGET_CONFIGURE_OPTS) ./configure.sh) + (cd $(@D); $(TARGET_CONFIGURE_OPTS) ./configure) endef define TRINITY_BUILD_CMDS diff --git a/package/trousers/Config.in b/package/trousers/Config.in index de3b951958..eb791d173c 100644 --- a/package/trousers/Config.in +++ b/package/trousers/Config.in @@ -1,12 +1,12 @@ config BR2_PACKAGE_TROUSERS bool "trousers" - select BR2_PACKAGE_OPENSSL - select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE depends on BR2_TOOLCHAIN_HAS_THREADS # doesn't build properly in static only configurations depends on !BR2_STATIC_LIBS # ARC toolchain issue depends on !BR2_arc + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE help The open-source TCG Software Stack (TSS). diff --git a/package/trousers/trousers.mk b/package/trousers/trousers.mk index 41129eb053..e49c2ac141 100644 --- a/package/trousers/trousers.mk +++ b/package/trousers/trousers.mk @@ -1,12 +1,12 @@ -############################################################# +################################################################################ # # trousers # -############################################################## +################################################################################ TROUSERS_VERSION = 0.3.13 TROUSERS_SITE = http://downloads.sourceforge.net/project/trousers/trousers/$(TROUSERS_VERSION) -TROUSERS_LICENSE = BSD-3c +TROUSERS_LICENSE = BSD-3-Clause TROUSERS_LICENSE_FILES = LICENSE TROUSERS_INSTALL_STAGING = YES # Need autoreconf because of a patch touching configure.in and Makefile.am diff --git a/package/ts4900-fpga/Config.in b/package/ts4900-fpga/Config.in index 7910631bc0..77a73b5ae2 100644 --- a/package/ts4900-fpga/Config.in +++ b/package/ts4900-fpga/Config.in @@ -9,4 +9,3 @@ config BR2_PACKAGE_TS4900_FPGA script expects to find it in the /boot folder. http://wiki.embeddedarm.com/wiki/TS-4900#FPGA_Changelog - diff --git a/package/tslib/Config.in b/package/tslib/Config.in index bc5d790188..a2e1e7ff7a 100644 --- a/package/tslib/Config.in +++ b/package/tslib/Config.in @@ -1,10 +1,6 @@ config BR2_PACKAGE_TSLIB bool "tslib" - depends on !BR2_STATIC_LIBS # dlopen help Tslib is a filtering layer for touchscreen panel events. - https://github.com/kergoth/tslib - -comment "tslib needs a toolchain w/ dynamic library" - depends on BR2_STATIC_LIBS + http://tslib.org diff --git a/package/tslib/tslib.hash b/package/tslib/tslib.hash index d7ae4dce55..cca74fc827 100644 --- a/package/tslib/tslib.hash +++ b/package/tslib/tslib.hash @@ -1,2 +1,5 @@ -# https://github.com/kergoth/tslib/releases/download/1.5/tslib-1.5.tar.xz.sha256 -sha256 94874fe72c5af5c9be642a2ce524f014eb1d59d15cf852f2d3b2cf380f04252d tslib-1.5.tar.xz +# https://github.com/kergoth/tslib/releases/download/1.13/tslib-1.13.tar.xz.sha256 +sha256 b381279f2d6ad6acb80cfc4852860853b7bcd1a9440821e9fe920c33f4e4f8da tslib-1.13.tar.xz + +# Locally computed +sha256 9b872a8a070b8ad329c4bd380fb1bf0000f564c75023ec8e1e6803f15364b9e9 COPYING diff --git a/package/tslib/tslib.mk b/package/tslib/tslib.mk index 08b1d26ac2..06f887a151 100644 --- a/package/tslib/tslib.mk +++ b/package/tslib/tslib.mk @@ -4,13 +4,12 @@ # ################################################################################ -TSLIB_VERSION = 1.5 +TSLIB_VERSION = 1.13 TSLIB_SITE = https://github.com/kergoth/tslib/releases/download/$(TSLIB_VERSION) TSLIB_SOURCE = tslib-$(TSLIB_VERSION).tar.xz -TSLIB_LICENSE = GPL, LGPL +TSLIB_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (libraries) TSLIB_LICENSE_FILES = COPYING -TSLIB_AUTORECONF = YES TSLIB_INSTALL_STAGING = YES TSLIB_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) LDFLAGS=-L$(STAGING_DIR)/usr/lib install @@ -18,4 +17,16 @@ ifeq ($(BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6),) TSLIB_CONF_OPTS += --disable-tools endif +ifeq ($(BR2_STATIC_LIBS),y) +TSLIB_CONF_OPTS += \ + --enable-input=static \ + --enable-linear=static \ + --enable-median=static \ + --enable-pthres=static \ + --enable-iir=static \ + --enable-dejitter=static \ + --enable-debounce=static \ + --enable-skip=static +endif + $(eval $(autotools-package)) diff --git a/package/tstools/tstools.mk b/package/tstools/tstools.mk index 3355db864b..99f7ca9b1f 100644 --- a/package/tstools/tstools.mk +++ b/package/tstools/tstools.mk @@ -9,7 +9,7 @@ TSTOOLS_VERSION = 08f6be304040e7b84760ac3920bcff4a563b6cd2 TSTOOLS_SITE = $(call github,kynesim,tstools,$(TSTOOLS_VERSION)) # tstools upstream doesn't contain any license file so far. See: # https://github.com/kynesim/tstools/issues/32 -TSTOOLS_LICENSE = MPLv1.1 +TSTOOLS_LICENSE = MPL-1.1 TSTOOLS_LICENSE_FILES = define TSTOOLS_BUILD_CMDS diff --git a/package/tunctl/tunctl.mk b/package/tunctl/tunctl.mk index 30dbbd1340..0d7b88dfa5 100644 --- a/package/tunctl/tunctl.mk +++ b/package/tunctl/tunctl.mk @@ -7,7 +7,7 @@ TUNCTL_VERSION = 1.5 TUNCTL_SITE = http://downloads.sourceforge.net/project/tunctl/tunctl/$(TUNCTL_VERSION) -TUNCTL_LICENSE = GPLv2 +TUNCTL_LICENSE = GPL-2.0 TUNCTL_LICENSE_FILES = tunctl.c define TUNCTL_BUILD_CMDS diff --git a/package/turbolua/0001-http-parser-Fix-typo-in-switch-FALLTHROUGH-comment.patch b/package/turbolua/0001-http-parser-Fix-typo-in-switch-FALLTHROUGH-comment.patch new file mode 100644 index 0000000000..bb27056ac6 --- /dev/null +++ b/package/turbolua/0001-http-parser-Fix-typo-in-switch-FALLTHROUGH-comment.patch @@ -0,0 +1,31 @@ +From 570db52d7fd3b4deffe785e60fb362e1496844ee Mon Sep 17 00:00:00 2001 +From: Marcin Niestroj +Date: Tue, 26 Sep 2017 12:10:53 +0200 +Subject: [PATCH] http-parser: Fix typo in switch FALLTHROUGH comment + +This also suppresses -Wimplicit-fallthrough warning, which is enabled +in gcc7 by default. + +PR for upstream: https://github.com/kernelsauce/turbo/pull/323 + +Signed-off-by: Marcin Niestroj +--- + deps/http-parser/http_parser.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/deps/http-parser/http_parser.c b/deps/http-parser/http_parser.c +index 8cf6fb0..2ff1073 100644 +--- a/deps/http-parser/http_parser.c ++++ b/deps/http-parser/http_parser.c +@@ -2095,7 +2095,7 @@ http_parser_parse_url( + case s_req_server_with_at: + found_at = 1; + +- /* FALLTROUGH */ ++ /* FALLTHROUGH */ + case s_req_server: + uf = UF_HOST; + break; +-- +2.14.1 + diff --git a/package/turbolua/turbolua.hash b/package/turbolua/turbolua.hash index d460b4f667..dc718f8594 100644 --- a/package/turbolua/turbolua.hash +++ b/package/turbolua/turbolua.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 bff771b6a670f764366eff50e1644f1c5d8d526324e0b6adfda42d9f69791833 turbolua-6fbc5cbfed1cc8c3820d4c1bfb55258c764040f0.tar.gz +sha256 8b810aa531fcaf05020531fe904d449742fd0da85c31e925a7efa9816d1f8f88 turbolua-v2.1.0.tar.gz diff --git a/package/turbolua/turbolua.mk b/package/turbolua/turbolua.mk index bf9e27f16c..49877fab68 100644 --- a/package/turbolua/turbolua.mk +++ b/package/turbolua/turbolua.mk @@ -4,7 +4,7 @@ # ################################################################################ -TURBOLUA_VERSION = 6fbc5cbfed1cc8c3820d4c1bfb55258c764040f0 +TURBOLUA_VERSION = v2.1.0 TURBOLUA_SITE = $(call github,kernelsauce,turbo,$(TURBOLUA_VERSION)) TURBOLUA_DEPENDENCIES = luajit TURBOLUA_LICENSE = Apache-2.0 diff --git a/package/tvheadend/Config.in b/package/tvheadend/Config.in index fc39d6f486..2cde51d88f 100644 --- a/package/tvheadend/Config.in +++ b/package/tvheadend/Config.in @@ -10,10 +10,6 @@ config BR2_PACKAGE_TVHEADEND depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 depends on BR2_TOOLCHAIN_HAS_SYNC_4 select BR2_PACKAGE_DTV_SCAN_TABLES - select BR2_PACKAGE_FFMPEG_AVRESAMPLE if BR2_PACKAGE_FFMPEG - select BR2_PACKAGE_FFMPEG_SWSCALE if BR2_PACKAGE_FFMPEG - select BR2_PACKAGE_LIBVPX if BR2_PACKAGE_FFMPEG && !BR2_bfin # libvpx - select BR2_PACKAGE_X264 if BR2_PACKAGE_FFMPEG select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE select BR2_PACKAGE_OPENSSL help @@ -28,3 +24,19 @@ config BR2_PACKAGE_TVHEADEND is available on port 9981. - if you want Avahi support, you'll need to enable: Avahi, D-Bus, libdaemon + +if BR2_PACKAGE_TVHEADEND + +config BR2_PACKAGE_TVHEADEND_TRANSCODING + bool "transcoding support" + depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS + select BR2_PACKAGE_FFMPEG + select BR2_PACKAGE_FFMPEG_AVRESAMPLE + select BR2_PACKAGE_FFMPEG_GPL # needed for x264 support + select BR2_PACKAGE_FFMPEG_SWSCALE + select BR2_PACKAGE_LIBVPX if !BR2_bfin # libvpx + select BR2_PACKAGE_X264 + help + Enable transcoding support. + +endif diff --git a/package/tvheadend/tvheadend.hash b/package/tvheadend/tvheadend.hash index d34dbf1f4e..f9fd385e9b 100644 --- a/package/tvheadend/tvheadend.hash +++ b/package/tvheadend/tvheadend.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 ac3c088654864781f2b2a2797e3a8b03a1b2e86db731c08cb5f296a04069560d tvheadend-e5f5a4278949afc96e26d6cd50cf968e0e92d7b6.tar.gz +sha256 7ff9f6a583d7e288c69eb8bfbd628e630e85252e04a8394666cc3c9f9b785df3 tvheadend-a234e2ff6d140e6ffceb7057bf18a8fdd927a5ac.tar.gz diff --git a/package/tvheadend/tvheadend.mk b/package/tvheadend/tvheadend.mk index 42c6767f60..88f9869fa6 100644 --- a/package/tvheadend/tvheadend.mk +++ b/package/tvheadend/tvheadend.mk @@ -4,13 +4,14 @@ # ################################################################################ -TVHEADEND_VERSION = e5f5a4278949afc96e26d6cd50cf968e0e92d7b6 +TVHEADEND_VERSION = a234e2ff6d140e6ffceb7057bf18a8fdd927a5ac TVHEADEND_SITE = $(call github,tvheadend,tvheadend,$(TVHEADEND_VERSION)) -TVHEADEND_LICENSE = GPLv3+ +TVHEADEND_LICENSE = GPL-3.0+ TVHEADEND_LICENSE_FILES = LICENSE.md TVHEADEND_DEPENDENCIES = \ host-gettext \ host-pkgconf \ + host-pngquant \ $(if $(BR2_PACKAGE_PYTHON3),host-python3,host-python) \ openssl @@ -25,11 +26,41 @@ else TVHEADEND_CONF_OPTS += --disable-dbus-1 endif -ifeq ($(BR2_PACKAGE_FFMPEG),y) -TVHEADEND_DEPENDENCIES += ffmpeg -TVHEADEND_CONF_OPTS += --enable-libav +ifeq ($(BR2_PACKAGE_TVHEADEND_TRANSCODING),y) +TVHEADEND_CONF_OPTS += --enable-libav --enable-libx264 +TVHEADEND_DEPENDENCIES += ffmpeg x264 +ifeq ($(BR2_PACKAGE_LIBVA)$(BR2_PACKAGE_XORG7),yy) +TVHEADEND_CONF_OPTS += --enable-vaapi +TVHEADEND_DEPENDENCIES += libva else -TVHEADEND_CONF_OPTS += --disable-libav +TVHEADEND_CONF_OPTS += --disable-vaapi +endif +ifeq ($(BR2_PACKAGE_OPUS),y) +TVHEADEND_CONF_OPTS += --enable-libopus +TVHEADEND_DEPENDENCIES += opus +else +TVHEADEND_CONF_OPTS += --disable-libopus +endif +ifeq ($(BR2_PACKAGE_RPI_USERLAND),y) +TVHEADEND_CONF_OPTS += --enable-omx +TVHEADEND_DEPENDENCIES += rpi-userland +else +TVHEADEND_CONF_OPTS += --disable-omx +endif +ifeq ($(BR2_PACKAGE_X265),y) +TVHEADEND_CONF_OPTS += --enable-libx265 +TVHEADEND_DEPENDENCIES += x265 +else +TVHEADEND_CONF_OPTS += --disable-libx265 +endif +else +TVHEADEND_CONF_OPTS += \ + --disable-libav \ + --disable-libopus \ + --disable-omx \ + --disable-vaapi \ + --disable-libx264 \ + --disable-libx265 endif ifeq ($(BR2_PACKAGE_LIBDVBCSA),y) @@ -56,6 +87,13 @@ TVHEADEND_DEPENDENCIES += liburiparser TVHEADEND_CFLAGS += $(if $(BR2_USE_WCHAR),,-DURI_NO_UNICODE) endif +ifeq ($(BR2_PACKAGE_PCRE),y) +TVHEADEND_DEPENDENCIES += pcre +TVHEADEND_CONF_OPTS += --enable-pcre +else +TVHEADEND_CONF_OPTS += --disable-pcre +endif + TVHEADEND_DEPENDENCIES += dtv-scan-tables # The tvheadend build system expects the transponder data to be present inside @@ -69,24 +107,31 @@ endef TVHEADEND_PRE_CONFIGURE_HOOKS += TVHEADEND_INSTALL_DTV_SCAN_TABLES define TVHEADEND_CONFIGURE_CMDS - (cd $(@D); \ - $(TARGET_CONFIGURE_OPTS) \ - $(TARGET_CONFIGURE_ARGS) \ - CFLAGS="$(TVHEADEND_CFLAGS)" \ - ./configure \ - --prefix=/usr \ - --arch="$(ARCH)" \ - --cpu="$(BR2_GCC_TARGET_CPU)" \ - --nowerror \ - --python="$(HOST_DIR)/usr/bin/python" \ - --enable-dvbscan \ - --enable-bundle \ - --disable-ffmpeg_static \ - --disable-hdhomerun_static \ - $(TVHEADEND_CONF_OPTS) \ + (cd $(@D); \ + $(TARGET_CONFIGURE_OPTS) \ + $(TARGET_CONFIGURE_ARGS) \ + CFLAGS="$(TVHEADEND_CFLAGS)" \ + ./configure \ + --prefix=/usr \ + --arch="$(ARCH)" \ + --cpu="$(BR2_GCC_TARGET_CPU)" \ + --nowerror \ + --python="$(HOST_DIR)/bin/python" \ + --enable-dvbscan \ + --enable-bundle \ + --enable-pngquant \ + --disable-ffmpeg_static \ + --disable-hdhomerun_static \ + $(TVHEADEND_CONF_OPTS) \ ) endef +define TVHEADEND_FIX_PNGQUANT_PATH + $(SED) "s%^pngquant_bin =.*%pngquant_bin = '$(HOST_DIR)/bin/pngquant'%" \ + $(@D)/support/mkbundle +endef +TVHEADEND_POST_CONFIGURE_HOOKS += TVHEADEND_FIX_PNGQUANT_PATH + define TVHEADEND_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) endef diff --git a/package/twolame/twolame.mk b/package/twolame/twolame.mk index a26491f4ed..d5628d1b0a 100644 --- a/package/twolame/twolame.mk +++ b/package/twolame/twolame.mk @@ -8,7 +8,7 @@ TWOLAME_VERSION = 0.3.13 TWOLAME_SITE = http://downloads.sourceforge.net/project/twolame/twolame/$(TWOLAME_VERSION) TWOLAME_DEPENDENCIES = host-pkgconf libsndfile TWOLAME_INSTALL_STAGING = YES -TWOLAME_LICENSE = LGPLv2.1+ +TWOLAME_LICENSE = LGPL-2.1+ TWOLAME_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/tz/tz.mk b/package/tz/tz.mk index f0daf4658f..1e797046d2 100644 --- a/package/tz/tz.mk +++ b/package/tz/tz.mk @@ -10,30 +10,27 @@ TZ_LICENSE = Public domain TZ_LOCALTIME = $(call qstrip,$(BR2_TARGET_LOCALTIME)) define TZ_BUILD_CMDS - (cd $(HOST_DIR)/usr/share/zoneinfo/posix/; \ - for i in $$(find . -type f); do \ - mkdir -p $(@D)/output/$$(dirname $$i); \ + (cd $(HOST_DIR)/share/zoneinfo/posix/; \ + for i in $$(find . -type f); do \ + mkdir -p $(@D)/output/$$(dirname $$i); \ $(TZDUMP) -p . -q $${i#./} | sed '1d' > $(@D)/output/$$i; \ - done \ + done \ ) endef define TZ_INSTALL_TARGET_CMDS - $(INSTALL) -D -m 0644 $(HOST_DIR)/usr/share/zoneinfo/zone.tab \ + $(INSTALL) -D -m 0644 $(HOST_DIR)/share/zoneinfo/zone.tab \ $(TARGET_DIR)/usr/share/zoneinfo/zone.tab - $(INSTALL) -D -m 0644 $(HOST_DIR)/usr/share/zoneinfo/iso3166.tab \ + $(INSTALL) -D -m 0644 $(HOST_DIR)/share/zoneinfo/iso3166.tab \ $(TARGET_DIR)/usr/share/zoneinfo/iso3166.tab mkdir -p $(TARGET_DIR)/usr/share/zoneinfo/uclibc cp -a $(@D)/output/* $(TARGET_DIR)/usr/share/zoneinfo/uclibc - if [ -n "$(TZ_LOCALTIME)" ]; then \ - if [ ! -f $(TARGET_DIR)/usr/share/zoneinfo/uclibc/$(TZDATA_LOCALTIME) ]; then \ - printf "Error: '%s' is not a valid timezone, check your BR2_TARGET_LOCALTIME setting\n" \ - "$(TZDATA_LOCALTIME)"; \ - exit 1; \ - fi; \ - cd $(TARGET_DIR)/etc; \ - ln -sf ../usr/share/zoneinfo/uclibc/$(TZDATA_LOCALTIME) TZ; \ + if [ ! -f $(TARGET_DIR)/usr/share/zoneinfo/uclibc/$(TZ_LOCALTIME) ]; then \ + printf "Error: '%s' is not a valid timezone, check your BR2_TARGET_LOCALTIME setting\n" \ + "$(TZ_LOCALTIME)"; \ + exit 1; \ fi + ln -sf ../usr/share/zoneinfo/uclibc/$(TZ_LOCALTIME) $(TARGET_DIR)/etc/TZ endef $(eval $(generic-package)) diff --git a/package/tzdata/tzdata.hash b/package/tzdata/tzdata.hash index b98e579e3c..277acd69f9 100644 --- a/package/tzdata/tzdata.hash +++ b/package/tzdata/tzdata.hash @@ -1,2 +1,2 @@ -# From http://mm.icann.org/pipermail/tz-announce/2016-November/000044.html -sha512 ce0b9958b764479fac7df6b5ba0933fc4c6d815ebccc2537c75c4be105691cd58054704eebfb50ca755d7d48504480d4925ce8836eb499ae4798e3d5503d7e0e tzdata2016j.tar.gz +# From http://mm.icann.org/pipermail/tz-announce/2017-October/000047.html +sha512 feb5c544e617b30c73a397e5a1c51f9847d0fddf1dfa0f9ace2e6f686786f09b666937b2048e07075c84593fc584bd5a25d639fce70eca9735267df28621ab4c tzdata2017c.tar.gz diff --git a/package/tzdata/tzdata.mk b/package/tzdata/tzdata.mk index d6285145e8..9bb4b4f26b 100644 --- a/package/tzdata/tzdata.mk +++ b/package/tzdata/tzdata.mk @@ -4,7 +4,7 @@ # ################################################################################ -TZDATA_VERSION = 2016j +TZDATA_VERSION = 2017c TZDATA_SOURCE = tzdata$(TZDATA_VERSION).tar.gz TZDATA_SITE = http://www.iana.org/time-zones/repository/releases TZDATA_STRIP_COMPONENTS = 0 @@ -31,21 +31,18 @@ TZDATA_EXTRACT_CMDS = define TZDATA_INSTALL_TARGET_CMDS $(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/share/zoneinfo - cp -a $(HOST_DIR)/usr/share/zoneinfo/* $(TARGET_DIR)/usr/share/zoneinfo - cd $(TARGET_DIR)/usr/share/zoneinfo; \ - for zone in posix/*; do \ - ln -sfn "$${zone}" "$${zone##*/}"; \ + cp -a $(HOST_DIR)/share/zoneinfo/* $(TARGET_DIR)/usr/share/zoneinfo + cd $(TARGET_DIR)/usr/share/zoneinfo; \ + for zone in posix/*; do \ + ln -sfn "$${zone}" "$${zone##*/}"; \ done - if [ -n "$(TZDATA_LOCALTIME)" ]; then \ - if [ ! -f $(TARGET_DIR)/usr/share/zoneinfo/$(TZDATA_LOCALTIME) ]; then \ - printf "Error: '%s' is not a valid timezone, check your BR2_TARGET_LOCALTIME setting\n" \ - "$(TZDATA_LOCALTIME)"; \ - exit 1; \ - fi; \ - cd $(TARGET_DIR)/etc; \ - ln -sf ../usr/share/zoneinfo/$(TZDATA_LOCALTIME) localtime; \ - echo "$(TZDATA_LOCALTIME)" >timezone; \ + if [ ! -f $(TARGET_DIR)/usr/share/zoneinfo/$(TZDATA_LOCALTIME) ]; then \ + printf "Error: '%s' is not a valid timezone, check your BR2_TARGET_LOCALTIME setting\n" \ + "$(TZDATA_LOCALTIME)"; \ + exit 1; \ fi + ln -sf ../usr/share/zoneinfo/$(TZDATA_LOCALTIME) $(TARGET_DIR)/etc/localtime + echo "$(TZDATA_LOCALTIME)" >$(TARGET_DIR)/etc/timezone endef define HOST_TZDATA_BUILD_CMDS @@ -58,8 +55,8 @@ define HOST_TZDATA_BUILD_CMDS endef define HOST_TZDATA_INSTALL_CMDS - $(INSTALL) -d -m 0755 $(HOST_DIR)/usr/share/zoneinfo - cp -a $(@D)/_output/* $(@D)/*.tab $(HOST_DIR)/usr/share/zoneinfo + $(INSTALL) -d -m 0755 $(HOST_DIR)/share/zoneinfo + cp -a $(@D)/_output/* $(@D)/*.tab $(HOST_DIR)/share/zoneinfo endef $(eval $(generic-package)) diff --git a/package/tzdump/tzdump.mk b/package/tzdump/tzdump.mk index 3f035a56cb..baad978c4f 100644 --- a/package/tzdump/tzdump.mk +++ b/package/tzdump/tzdump.mk @@ -13,9 +13,9 @@ define HOST_TZDUMP_BUILD_CMDS endef define HOST_TZDUMP_INSTALL_CMDS - $(INSTALL) -m 0755 -D $(@D)/tzdump $(HOST_DIR)/usr/sbin/tzdump + $(INSTALL) -m 0755 -D $(@D)/tzdump $(HOST_DIR)/sbin/tzdump endef $(eval $(host-generic-package)) -TZDUMP = $(HOST_DIR)/usr/sbin/tzdump +TZDUMP = $(HOST_DIR)/sbin/tzdump diff --git a/package/uboot-tools/0001-drop-configh-from-tools.patch b/package/uboot-tools/0001-drop-configh-from-tools.patch index fbc96084db..f19cebee40 100644 --- a/package/uboot-tools/0001-drop-configh-from-tools.patch +++ b/package/uboot-tools/0001-drop-configh-from-tools.patch @@ -1,4 +1,4 @@ -From b742c7590ac6d9ac72dd227679ccff79433b3512 Mon Sep 17 00:00:00 2001 +From 216832de3bc3e6ef093305c6d07f464f7606f2d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Krause?= Date: Tue, 4 Aug 2015 22:13:20 +0200 Subject: [PATCH] drop configh from tools @@ -13,17 +13,20 @@ image, so it really isn't mandatory. Signed-off-by: Gustavo Zacarias [Jörg Krause: update for version 2015.07] Signed-off-by: Jörg Krause +[Romain: update for version 2017.05 + after commit 9d80b49a671c9922931adcd823aab0ed319a42d1] +Signed-off-by: Romain Naour --- - tools/env/fw_env.h | 11 ----------- + tools/env/fw_env_private.h | 11 ----------- 1 file changed, 11 deletions(-) -diff --git a/tools/env/fw_env.h b/tools/env/fw_env.h -index 57149e7..50049fe 100644 ---- a/tools/env/fw_env.h -+++ b/tools/env/fw_env.h -@@ -8,17 +8,6 @@ - #include - #include +diff --git a/tools/env/fw_env_private.h b/tools/env/fw_env_private.h +index 0c27da0..e550463 100644 +--- a/tools/env/fw_env_private.h ++++ b/tools/env/fw_env_private.h +@@ -5,17 +5,6 @@ + * SPDX-License-Identifier: GPL-2.0+ + */ -/* Pull in the current config to define the default environment */ -#include @@ -40,5 +43,5 @@ index 57149e7..50049fe 100644 * To build the utility with the static configuration * comment out the next line. -- -2.7.4 +2.9.4 diff --git a/package/uboot-tools/0004-uboot-tools-disable-pylibfdt.patch b/package/uboot-tools/0004-uboot-tools-disable-pylibfdt.patch new file mode 100644 index 0000000000..0c2f54d95f --- /dev/null +++ b/package/uboot-tools/0004-uboot-tools-disable-pylibfdt.patch @@ -0,0 +1,63 @@ +From d882c99de59316e50bfee7f5fce10fe9062dfa32 Mon Sep 17 00:00:00 2001 +From: Matt Weber +Date: Wed, 1 Nov 2017 10:57:31 -0500 +Subject: [PATCH] uboot-tools: disable pylibfdt + +The current U-Boot build system assumes that if swig is installed on +the host system, it should build pylibfdt, without checking if other +dependencies are available. This causes a number of build failures. + +This patch fixes that by using concepts from the future upstream fix +(post 2017.11), which sets up a kconfig variable for pylibfdt and +conditionally enables the swig wrapper creation (default=n). + +Relevant upstream patches under review: + + - https://patchwork.ozlabs.org/patch/826742/ + - https://patchwork.ozlabs.org/patch/826752/ + +Fixes (one of many): +http://autobuild.buildroot.net/results/f9e13caae9b31c9dcde7d24caecc036324f269cc + +Signed-off-by: Matthew Weber +--- + Kconfig | 5 +++++ + tools/Makefile | 6 +++--- + 2 files changed, 8 insertions(+), 3 deletions(-) + +diff --git a/Kconfig b/Kconfig +index bb80ada..99b0258 100644 +--- a/Kconfig ++++ b/Kconfig +@@ -358,6 +358,11 @@ source "disk/Kconfig" + + source "dts/Kconfig" + ++config PYLIBFDT ++ bool ++ help ++ Enables the generation of the pylibfdt swig wrapper. ++ + source "net/Kconfig" + + source "drivers/Kconfig" +diff --git a/tools/Makefile b/tools/Makefile +index 77706a9..cb6cb7a 100644 +--- a/tools/Makefile ++++ b/tools/Makefile +@@ -226,9 +226,9 @@ clean-dirs := lib common + + always := $(hostprogs-y) + +-# Build a libfdt Python module if swig is available +-# Use 'sudo apt-get install swig libpython-dev' to enable this +-always += $(if $(shell which swig 2> /dev/null),_libfdt.so) ++ifneq ($(CONFIG_PYLIBFDT),) ++always += _libfdt.so ++endif + + # Generated LCD/video logo + LOGO_H = $(objtree)/include/bmp_logo.h +-- +1.8.3.1 + diff --git a/package/uboot-tools/0005-Do-not-attempt-to-use-the-systemwide-libfdt.patch b/package/uboot-tools/0005-Do-not-attempt-to-use-the-systemwide-libfdt.patch new file mode 100644 index 0000000000..abeef65929 --- /dev/null +++ b/package/uboot-tools/0005-Do-not-attempt-to-use-the-systemwide-libfdt.patch @@ -0,0 +1,56 @@ +From 477ecb8d9ffa7b90d8bec0d8317b7e464e906f7c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jan=20Kundr=C3=A1t?= +Date: Fri, 3 Nov 2017 03:06:35 +0100 +Subject: [PATCH] Do not attempt to use the systemwide libfdt +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +U-Boot bundles a patched copy of libfdt, so it's wrong to attempt to +include it . This breaks the build for me when I have dtc +fully installed in my host -- as happened earlier tonight with +Buildroot, for example. + +There are several other occurrences throughout the code where ' include style is being used -- IMHO wrongly. + +Signed-off-by: Jan Kundrát +--- + include/fdt.h | 2 +- + include/libfdt.h | 2 +- + tools/fdtgrep.c | 4 ++-- + 3 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/include/fdt.h b/include/fdt.h +index 7ead62e..f40b56c 100644 +--- a/include/fdt.h ++++ b/include/fdt.h +@@ -1 +1 @@ +-#include <../lib/libfdt/fdt.h> ++#include "../lib/libfdt/fdt.h" +diff --git a/include/libfdt.h b/include/libfdt.h +index 10296a2..7ba13e6 100644 +--- a/include/libfdt.h ++++ b/include/libfdt.h +@@ -1 +1 @@ +-#include <../lib/libfdt/libfdt.h> ++#include "../lib/libfdt/libfdt.h" +diff --git a/tools/fdtgrep.c b/tools/fdtgrep.c +index f51f5f1..5897b6d 100644 +--- a/tools/fdtgrep.c ++++ b/tools/fdtgrep.c +@@ -16,8 +16,8 @@ + #include + #include + +-#include <../include/libfdt.h> +-#include ++#include "../include/libfdt.h" ++#include "libfdt_internal.h" + + /* Define DEBUG to get some debugging output on stderr */ + #ifdef DEBUG +-- +2.14.2 + diff --git a/package/uboot-tools/uboot-tools.hash b/package/uboot-tools/uboot-tools.hash index 5473cfeab6..82efc79d56 100644 --- a/package/uboot-tools/uboot-tools.hash +++ b/package/uboot-tools/uboot-tools.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 6c425175f93a4bcf2ec9faf5658ef279633dbd7856a293d95bd1ff516528ecf2 u-boot-2017.01.tar.bz2 +sha256 b2d15f2cf5f72e706025cde73d67247c6da8cd35f7e10891eefe7d9095089744 u-boot-2017.09.tar.bz2 diff --git a/package/uboot-tools/uboot-tools.mk b/package/uboot-tools/uboot-tools.mk index fe363e7e78..c93657548b 100644 --- a/package/uboot-tools/uboot-tools.mk +++ b/package/uboot-tools/uboot-tools.mk @@ -4,10 +4,10 @@ # ################################################################################ -UBOOT_TOOLS_VERSION = 2017.01 +UBOOT_TOOLS_VERSION = 2017.09 UBOOT_TOOLS_SOURCE = u-boot-$(UBOOT_TOOLS_VERSION).tar.bz2 UBOOT_TOOLS_SITE = ftp://ftp.denx.de/pub/u-boot -UBOOT_TOOLS_LICENSE = GPLv2+ +UBOOT_TOOLS_LICENSE = GPL-2.0+ UBOOT_TOOLS_LICENSE_FILES = Licenses/gpl-2.0.txt UBOOT_TOOLS_INSTALL_STAGING = YES @@ -35,7 +35,7 @@ define UBOOT_TOOLS_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(UBOOT_TOOLS_MAKE_OPTS) \ CROSS_BUILD_TOOLS=y tools-only $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(UBOOT_TOOLS_MAKE_OPTS) \ - env no-dot-config-targets=env + envtools no-dot-config-targets=envtools endef ifeq ($(BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE),y) @@ -63,9 +63,6 @@ define UBOOT_TOOLS_INSTALL_DUMPIMAGE endef endif -define UBOOT_TOOLS_INSTALL_LIBUBOOTENV -endef - define UBOOT_TOOLS_INSTALL_STAGING_CMDS $(INSTALL) -D -m 0755 $(@D)/tools/env/lib.a $(STAGING_DIR)/usr/lib/libubootenv.a $(INSTALL) -D -m 0644 $(@D)/tools/env/fw_env.h $(STAGING_DIR)/usr/include/fw_env.h @@ -102,9 +99,9 @@ define HOST_UBOOT_TOOLS_BUILD_CMDS endef define HOST_UBOOT_TOOLS_INSTALL_CMDS - $(INSTALL) -m 0755 -D $(@D)/tools/mkimage $(HOST_DIR)/usr/bin/mkimage - $(INSTALL) -m 0755 -D $(@D)/tools/mkenvimage $(HOST_DIR)/usr/bin/mkenvimage - $(INSTALL) -m 0755 -D $(@D)/tools/dumpimage $(HOST_DIR)/usr/bin/dumpimage + $(INSTALL) -m 0755 -D $(@D)/tools/mkimage $(HOST_DIR)/bin/mkimage + $(INSTALL) -m 0755 -D $(@D)/tools/mkenvimage $(HOST_DIR)/bin/mkenvimage + $(INSTALL) -m 0755 -D $(@D)/tools/dumpimage $(HOST_DIR)/bin/dumpimage endef $(eval $(generic-package)) @@ -112,7 +109,7 @@ $(eval $(host-generic-package)) # Convenience variables for other mk files that make use of mkimage -MKIMAGE = $(HOST_DIR)/usr/bin/mkimage +MKIMAGE = $(HOST_DIR)/bin/mkimage # mkimage supports arm blackfin m68k microblaze mips mips64 nios2 powerpc ppc sh sparc sparc64 x86 # KERNEL_ARCH can be arm64 arc arm blackfin m68k microblaze mips nios2 powerpc sh sparc i386 x86_64 xtensa diff --git a/package/ubus/0001-Install-server-and-client-examples.patch b/package/ubus/0001-Install-server-and-client-examples.patch index 0ee4d3e64f..5c985d8cd5 100644 --- a/package/ubus/0001-Install-server-and-client-examples.patch +++ b/package/ubus/0001-Install-server-and-client-examples.patch @@ -1,23 +1,28 @@ -Install server and client examples +From aa4aea68a9d2a38fabb5ae8e5a0d05dfd7bcf907 Mon Sep 17 00:00:00 2001 +From: Rahul Jain +Date: Fri, 24 Mar 2017 18:03:24 +0530 +Subject: [PATCH] Install server and client examples Signed-off-by: Sergio Prado +Signed-off-by: Rahul Jain +[Rahul Jain: rebase the patch on latest version] --- examples/CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt -index 0279f6e66b50..2f8f4e026e20 100644 +index 81f9997..38f153f 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -9,4 +9,8 @@ IF (BUILD_EXAMPLES) ADD_EXECUTABLE(client client.c count.c) - TARGET_LINK_LIBRARIES(client ubus ubox) + TARGET_LINK_LIBRARIES(client ubus ${ubox_library}) + + INSTALL(TARGETS server client -+ RUNTIME DESTINATION sbin ++ RUNTIME DESTINATION sbin + ) ENDIF() -- -1.9.1 +2.6.2 diff --git a/package/ubus/Config.in b/package/ubus/Config.in index c14f6a86e7..3d34121350 100644 --- a/package/ubus/Config.in +++ b/package/ubus/Config.in @@ -4,10 +4,10 @@ comment "ubus needs a toolchain w/ dynamic library" config BR2_PACKAGE_UBUS bool "ubus" - select BR2_PACKAGE_LIBUBOX - select BR2_PACKAGE_JSON_C depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c depends on !BR2_STATIC_LIBS # libubox + select BR2_PACKAGE_LIBUBOX + select BR2_PACKAGE_JSON_C help IPC/RPC bus that allows communication between processes. diff --git a/package/ubus/ubus.hash b/package/ubus/ubus.hash index af9b652b0e..08297348e0 100644 --- a/package/ubus/ubus.hash +++ b/package/ubus/ubus.hash @@ -1,2 +1,2 @@ -# No hash for this git snapshot -none xxx ubus-259450f414d8c9ee41896e8e6d6bc57ec00e2b63.tar.gz +# Locally calculated +sha256 93ef2612853641ca8d16d07527115c72ed03f8eaa1c727a01b069a4e814247c0 ubus-34c6e818e431cc53478a0f7c7c1eca07d194d692.tar.gz diff --git a/package/ubus/ubus.mk b/package/ubus/ubus.mk index cd66b868df..5fb57ead01 100644 --- a/package/ubus/ubus.mk +++ b/package/ubus/ubus.mk @@ -4,10 +4,10 @@ # ################################################################################ -UBUS_VERSION = 259450f414d8c9ee41896e8e6d6bc57ec00e2b63 +UBUS_VERSION = 34c6e818e431cc53478a0f7c7c1eca07d194d692 UBUS_SITE = git://git.openwrt.org/project/ubus.git -UBUS_LICENSE = LGPLv2.1 +UBUS_LICENSE = LGPL-2.1 UBUS_LICENSE_FILES = ubusd_acl.h UBUS_INSTALL_STAGING = YES diff --git a/package/uccp420wlan/Config.in b/package/uccp420wlan/Config.in new file mode 100644 index 0000000000..ef6a9db865 --- /dev/null +++ b/package/uccp420wlan/Config.in @@ -0,0 +1,16 @@ +config BR2_PACKAGE_UCCP420WLAN + bool "uccp420wlan" + depends on BR2_LINUX_KERNEL + help + SoftMAC (mac80211) based WiFi driver for Imagination's + Explorer RPU uccp420. This supports Dual Band WiFi with + 2.4GHz - 2x2 b/g/n 40MHz, 5GHz - 2x2 a/n/11ac 80MHz modes + + Used in creator ci40 board. + + This module needs a Linux kernel >= v4.2. + + https://github.com/CreatorDev/uccp420wlan + +comment "uccp420wlan needs a Linux kernel >= 4.2 to be built" + depends on !BR2_LINUX_KERNEL diff --git a/package/uccp420wlan/uccp420wlan.hash b/package/uccp420wlan/uccp420wlan.hash new file mode 100644 index 0000000000..41f60a4675 --- /dev/null +++ b/package/uccp420wlan/uccp420wlan.hash @@ -0,0 +1,2 @@ +# locally computed hash +sha256 1d4de62fc842dbab739708cf0d9ebce270fcdf63c1c13ac676cbc253acdaa3bb uccp420wlan-v6.9.1.tar.gz diff --git a/package/uccp420wlan/uccp420wlan.mk b/package/uccp420wlan/uccp420wlan.mk new file mode 100644 index 0000000000..bd89e0700f --- /dev/null +++ b/package/uccp420wlan/uccp420wlan.mk @@ -0,0 +1,18 @@ +################################################################################ +# +# uccp420wlan +# +################################################################################ + +UCCP420WLAN_VERSION = v6.9.1 +UCCP420WLAN_SITE = $(call github,CreatorDev,uccp420wlan,$(UCCP420WLAN_VERSION)) +UCCP420WLAN_LICENSE = GPL-2.0 (kernel module), proprietary (firmware blob) +UCCP420WLAN_LICENSE_FILES = COPYING firmware/LICENSE.imagination + +define UCCP420WLAN_INSTALL_TARGET_CMDS + mkdir -p $(TARGET_DIR)/lib/firmware/img/uccp420wlan + cp $(@D)/firmware/*.ldr $(TARGET_DIR)/lib/firmware/img/uccp420wlan +endef + +$(eval $(kernel-module)) +$(eval $(generic-package)) diff --git a/package/ucl/ucl.mk b/package/ucl/ucl.mk index b183a13b26..aac068ef60 100644 --- a/package/ucl/ucl.mk +++ b/package/ucl/ucl.mk @@ -6,7 +6,7 @@ UCL_VERSION = 1.03 UCL_SITE = http://www.oberhumer.com/opensource/ucl/download -UCL_LICENSE = GPLv2+ +UCL_LICENSE = GPL-2.0+ UCL_LICENSE_FILES = COPYING # Fix ACC conformance test failure for host gcc 6.x diff --git a/package/uclibc-ng-test/uclibc-ng-test.mk b/package/uclibc-ng-test/uclibc-ng-test.mk index 610ca010fb..3fdfe373b8 100644 --- a/package/uclibc-ng-test/uclibc-ng-test.mk +++ b/package/uclibc-ng-test/uclibc-ng-test.mk @@ -4,9 +4,9 @@ # ################################################################################ -UCLIBC_NG_TEST_VERSION = c9b9876cefc142a23aa622b821290ed16af80058 +UCLIBC_NG_TEST_VERSION = c4d54bde7772b55df04399ecb355769c5ac31015 UCLIBC_NG_TEST_SITE = git://uclibc-ng.org/git/uclibc-ng-test -UCLIBC_NG_TEST_LICENSE = LGPLv2.1+ +UCLIBC_NG_TEST_LICENSE = LGPL-2.1+ UCLIBC_NG_TEST_LICENSE_FILES = COPYING.LIB # the math tests are recently synced from glibc and need more adaption before @@ -48,7 +48,7 @@ define UCLIBC_NG_TEST_BUILD_CMDS endef define UCLIBC_NG_TEST_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR="$(TARGET_DIR)" install + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR="$(TARGET_DIR)" install endef $(eval $(generic-package)) diff --git a/package/uclibc/0001-fix-issues-with-gdb-8.0.patch b/package/uclibc/0001-fix-issues-with-gdb-8.0.patch new file mode 100644 index 0000000000..20567e682f --- /dev/null +++ b/package/uclibc/0001-fix-issues-with-gdb-8.0.patch @@ -0,0 +1,72 @@ +From 111f01d432d542a153c1cad83def3a6ab57df7af Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb +Date: Sat, 5 Aug 2017 11:28:07 +0200 +Subject: [PATCH] fix issues with gdb 8.0 + +GDB 8.0 is compiled and linked with g++, but the +linking of static targets (f.e. coldfire) fails, +without declaring the functions in thread_db.h +extern C. + +The compilation of gdb errors out with: +thread-db.o: In function `thread_db_init()': +thread-db.c:(.text+0x5b6): undefined reference to `td_ta_new(ps_prochandle*, td_thragent**)' +thread-db.c:(.text+0x61e): undefined reference to `td_thr_get_info(td_thrhandle const*, td_thrinfo*)' +thread-db.c:(.text+0x632): undefined reference to `td_symbol_list()' +.. + +Signed-off-by: Waldemar Brodkorb +--- + libpthread/linuxthreads_db/thread_db.h | 7 +++++++ + libpthread/nptl_db/thread_db.h | 7 +++++++ + 2 files changed, 14 insertions(+) + +diff --git a/libpthread/linuxthreads_db/thread_db.h b/libpthread/linuxthreads_db/thread_db.h +index 13c30af..ec79f60 100644 +--- a/libpthread/linuxthreads_db/thread_db.h ++++ b/libpthread/linuxthreads_db/thread_db.h +@@ -27,6 +27,9 @@ + #include + #include + ++#ifdef __cplusplus ++extern "C" { ++#endif + + /* Error codes of the library. */ + typedef enum +@@ -455,4 +458,8 @@ extern td_err_e td_thr_dbsuspend (const td_thrhandle_t *__th); + /* Resume execution of thread TH. */ + extern td_err_e td_thr_dbresume (const td_thrhandle_t *__th); + ++#ifdef __cplusplus ++} ++#endif ++ + #endif /* thread_db.h */ +diff --git a/libpthread/nptl_db/thread_db.h b/libpthread/nptl_db/thread_db.h +index 27ea69a..993842f 100644 +--- a/libpthread/nptl_db/thread_db.h ++++ b/libpthread/nptl_db/thread_db.h +@@ -27,6 +27,9 @@ + #include + #include + ++#ifdef __cplusplus ++extern "C" { ++#endif + + /* Error codes of the library. */ + typedef enum +@@ -455,4 +458,8 @@ extern td_err_e td_thr_dbsuspend (const td_thrhandle_t *__th); + /* Resume execution of thread TH. */ + extern td_err_e td_thr_dbresume (const td_thrhandle_t *__th); + ++#ifdef __cplusplus ++} ++#endif ++ + #endif /* thread_db.h */ +-- +2.1.4 + diff --git a/package/uclibc/0001-fstat-make-new-code-aarch64-specific.patch b/package/uclibc/0001-fstat-make-new-code-aarch64-specific.patch deleted file mode 100644 index eb0198d44d..0000000000 --- a/package/uclibc/0001-fstat-make-new-code-aarch64-specific.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 71127e5cc937878883e6021da3da337a7aa9c099 Mon Sep 17 00:00:00 2001 -From: Waldemar Brodkorb -Date: Fri, 3 Feb 2017 06:04:16 +0100 -Subject: [PATCH 10229/10229] fstat: make new code aarch64 specific - -The new code get's used by MIPS64 N64 and fails. -Make the new code aarch64 specific. - -Signed-off-by: Waldemar Brodkorb ---- - libc/sysdeps/linux/common/fstat.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libc/sysdeps/linux/common/fstat.c b/libc/sysdeps/linux/common/fstat.c -index ac77eb2..c27f926 100644 ---- a/libc/sysdeps/linux/common/fstat.c -+++ b/libc/sysdeps/linux/common/fstat.c -@@ -21,7 +21,7 @@ int fstat(int fd, struct stat *buf) - } - libc_hidden_def(fstat) - --#elif __WORDSIZE == 64 && defined __NR_newfstatat -+#elif __WORDSIZE == 64 && defined __NR_newfstatat && __aarch64__ - #include - - int fstat(int fd, struct stat *buf) --- -2.1.4 - diff --git a/package/uclibc/0002-arm-fix-static-linking-issues.patch b/package/uclibc/0002-arm-fix-static-linking-issues.patch deleted file mode 100644 index 5480b0dca7..0000000000 --- a/package/uclibc/0002-arm-fix-static-linking-issues.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 94810a91c48ac62daed55b4aec70d04a44c10795 Mon Sep 17 00:00:00 2001 -From: Waldemar Brodkorb -Date: Thu, 16 Feb 2017 20:22:21 +0100 -Subject: [PATCH] arm: fix static linking issues - -As reported by Buildroot developers these files causing static -linking issues. The original contribution with the ARM unwind-resume -rework and GNU libc sync was made before the combined libc change. -But the patch was applied later, after the libc change and -it seems the test coverage for static linking didn't catch it in -the regression testing. Remove the files. - -Signed-off-by: Waldemar Brodkorb ---- - libpthread/nptl/sysdeps/arm/pt-arm-unwind-resume.c | 2 -- - libpthread/nptl/sysdeps/arm/rt-arm-unwind-resume.c | 1 - - 2 files changed, 3 deletions(-) - delete mode 100644 libpthread/nptl/sysdeps/arm/pt-arm-unwind-resume.c - delete mode 100644 libpthread/nptl/sysdeps/arm/rt-arm-unwind-resume.c - -diff --git a/libpthread/nptl/sysdeps/arm/pt-arm-unwind-resume.c b/libpthread/nptl/sysdeps/arm/pt-arm-unwind-resume.c -deleted file mode 100644 -index fd0cec4..0000000 ---- a/libpthread/nptl/sysdeps/arm/pt-arm-unwind-resume.c -+++ /dev/null -@@ -1,2 +0,0 @@ --__asm__ (".set __libgcc_s_init, pthread_cancel_init"); --#include -diff --git a/libpthread/nptl/sysdeps/arm/rt-arm-unwind-resume.c b/libpthread/nptl/sysdeps/arm/rt-arm-unwind-resume.c -deleted file mode 100644 -index 2641dc5..0000000 ---- a/libpthread/nptl/sysdeps/arm/rt-arm-unwind-resume.c -+++ /dev/null -@@ -1 +0,0 @@ --#include --- -2.1.4 - diff --git a/package/uclibc/0002-microblaze-handle-R_MICROBLAZE_NONE-for-ld.so-bootst.patch b/package/uclibc/0002-microblaze-handle-R_MICROBLAZE_NONE-for-ld.so-bootst.patch new file mode 100644 index 0000000000..9886efd879 --- /dev/null +++ b/package/uclibc/0002-microblaze-handle-R_MICROBLAZE_NONE-for-ld.so-bootst.patch @@ -0,0 +1,42 @@ +From 9db18d93811153fc9a70c9844fadc6fdf7cbbb64 Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb +Date: Sun, 6 Aug 2017 21:15:50 +0200 +Subject: [PATCH] microblaze: handle R_MICROBLAZE_NONE for ld.so bootstrap + +Latest binutils 2.29 release emits a R_MICROBLAZE_NONE +relocation, which breaks shared library loader bootstrap +relocation. + +Signed-off-by: Waldemar Brodkorb +--- + ldso/ldso/microblaze/dl-startup.h | 7 ++----- + 1 file changed, 2 insertions(+), 5 deletions(-) + +diff --git a/ldso/ldso/microblaze/dl-startup.h b/ldso/ldso/microblaze/dl-startup.h +index 720c53a..16d5762 100644 +--- a/ldso/ldso/microblaze/dl-startup.h ++++ b/ldso/ldso/microblaze/dl-startup.h +@@ -82,18 +82,15 @@ static __always_inline + void PERFORM_BOOTSTRAP_RELOC(ELF_RELOC *rpnt, unsigned long *reloc_addr, + unsigned long symbol_addr, unsigned long load_addr, attribute_unused Elf32_Sym *symtab) + { +- + switch (ELF_R_TYPE(rpnt->r_info)) + { + case R_MICROBLAZE_REL: +- + *reloc_addr = load_addr + rpnt->r_addend; + break; +- ++ case R_MICROBLAZE_NONE: ++ break; + default: + _dl_exit(1); + break; +- + } +- + } +-- +2.1.4 + diff --git a/package/uclibc/0003-convert-accept4-to-use-cancel.h-macros.patch b/package/uclibc/0003-convert-accept4-to-use-cancel.h-macros.patch new file mode 100644 index 0000000000..178dcde581 --- /dev/null +++ b/package/uclibc/0003-convert-accept4-to-use-cancel.h-macros.patch @@ -0,0 +1,102 @@ +From c7e82668bd23fbdd02ebe1e83ff2bb6877812423 Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb +Date: Thu, 2 Nov 2017 02:40:43 +0100 +Subject: [PATCH] convert accept4() to use cancel.h macros + +Signed-off-by: Waldemar Brodkorb +--- + include/sys/socket.h | 1 + + libc/inet/socketcalls.c | 37 +++++++++-------------------------- + libpthread/linuxthreads/wrapsyscall.c | 7 +++++++ + 3 files changed, 17 insertions(+), 28 deletions(-) + +diff --git a/include/sys/socket.h b/include/sys/socket.h +index 63dc4b953..83e1fcaa2 100644 +--- a/include/sys/socket.h ++++ b/include/sys/socket.h +@@ -269,6 +269,7 @@ libc_hidden_proto(accept) + __THROW. */ + extern int accept4 (int __fd, __SOCKADDR_ARG __addr, + socklen_t *__restrict __addr_len, int __flags); ++libc_hidden_proto(accept4) + #endif + + /* Shut down all or part of the connection open on socket FD. +diff --git a/libc/inet/socketcalls.c b/libc/inet/socketcalls.c +index e33d69344..1b92609d0 100644 +--- a/libc/inet/socketcalls.c ++++ b/libc/inet/socketcalls.c +@@ -76,43 +76,24 @@ lt_libc_hidden(accept) + #endif + + #ifdef L_accept4 +-#ifdef __NR_accept4 +-# define __NR___sys_accept4 __NR_accept4 +-static _syscall4(int, __sys_accept4, int, fd, struct sockaddr *, addr, socklen_t *, addrlen, int, flags) +-int accept4(int fd, struct sockaddr *addr, socklen_t * addrlen, int flags) +-{ +- if (SINGLE_THREAD_P) +- return __sys_accept4(fd, addr, addrlen, flags); +-#ifdef __UCLIBC_HAS_THREADS_NATIVE__ +- else { +- int oldtype = LIBC_CANCEL_ASYNC (); +- int result = __sys_accept4(fd, addr, addrlen, flags); +- LIBC_CANCEL_RESET (oldtype); +- return result; +- } +-#endif +-} +-#elif defined(__NR_socketcall) +-int accept4(int fd, struct sockaddr *addr, socklen_t *addrlen, int flags) ++static int __NC(accept4)(int fd, struct sockaddr *addr, socklen_t *addrlen, int flags) + { ++# ifdef __NR_accept4 ++ return INLINE_SYSCALL(accept4, 4, fd, addr, addrlen, flags); ++# elif defined(__NR_socketcall) + unsigned long args[4]; + + args[0] = fd; + args[1] = (unsigned long) addr; + args[2] = (unsigned long) addrlen; + args[3] = flags; +- if (SINGLE_THREAD_P) +- return __socketcall(SYS_ACCEPT4, args); +-#ifdef __UCLIBC_HAS_THREADS_NATIVE__ +- else { +- int oldtype = LIBC_CANCEL_ASYNC (); +- int result = __socketcall(SYS_ACCEPT4, args); +- LIBC_CANCEL_RESET (oldtype); +- return result; +- } ++ ++ return __socketcall(SYS_ACCEPT4, args); + #endif + } +-#endif ++CANCELLABLE_SYSCALL(int, accept4, (int fd, struct sockaddr *addr, socklen_t *addrlen, int flags), ++ (fd, addr, addrlen, flags)) ++lt_libc_hidden(accept4) + #endif + + #ifdef L_bind +diff --git a/libpthread/linuxthreads/wrapsyscall.c b/libpthread/linuxthreads/wrapsyscall.c +index ca046a442..2386bfdef 100644 +--- a/libpthread/linuxthreads/wrapsyscall.c ++++ b/libpthread/linuxthreads/wrapsyscall.c +@@ -192,6 +192,13 @@ CANCELABLE_SYSCALL (int, accept, (int fd, __SOCKADDR_ARG addr, + socklen_t *addr_len), + (fd, addr, addr_len)) + ++#if defined __UCLIBC_LINUX_SPECIFIC__ ++/* accept4(2). */ ++CANCELABLE_SYSCALL (int, accept4, (int fd, __SOCKADDR_ARG addr, ++ socklen_t *addr_len, int flags), ++ (fd, addr, addr_len, flags)) ++#endif ++ + /* connect(2). */ + CANCELABLE_SYSCALL (int, connect, (int fd, __CONST_SOCKADDR_ARG addr, + socklen_t len), +-- +2.11.0 + diff --git a/package/uclibc/0003-or1k-add-missing-definition-of-ucontext.patch b/package/uclibc/0003-or1k-add-missing-definition-of-ucontext.patch deleted file mode 100644 index 7c6022818d..0000000000 --- a/package/uclibc/0003-or1k-add-missing-definition-of-ucontext.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 228d03bf0032e5799e9bf04810170c0653ca846d Mon Sep 17 00:00:00 2001 -From: Waldemar Brodkorb -Date: Fri, 17 Feb 2017 22:33:49 +0100 -Subject: [PATCH] or1k: add missing definition of ucontext - -Signed-off-by: Waldemar Brodkorb ---- - libc/sysdeps/linux/or1k/sys/ucontext.h | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -diff --git a/libc/sysdeps/linux/or1k/sys/ucontext.h b/libc/sysdeps/linux/or1k/sys/ucontext.h -index b11928e..dd97b60 100644 ---- a/libc/sysdeps/linux/or1k/sys/ucontext.h -+++ b/libc/sysdeps/linux/or1k/sys/ucontext.h -@@ -20,6 +20,14 @@ - - #include - #include --#include -+#include -+ -+typedef struct ucontext { -+ unsigned long uc_flags; -+ struct ucontext *uc_link; -+ stack_t uc_stack; -+ struct sigcontext uc_mcontext; -+ sigset_t uc_sigmask; /* mask last for extensibility */ -+} ucontext_t; - - #endif /* sys/ucontext.h */ --- -2.1.4 - diff --git a/package/uclibc/Config.in b/package/uclibc/Config.in index 0628af309b..3b4f91da91 100644 --- a/package/uclibc/Config.in +++ b/package/uclibc/Config.in @@ -22,13 +22,6 @@ config BR2_UCLIBC_CONFIG_FRAGMENT_FILES A space-separated list of configuration fragment files, that will be merged to the main uClibc configuration file. -config BR2_TOOLCHAIN_BUILDROOT_INET_RPC - bool "Enable RPC support" - select BR2_TOOLCHAIN_HAS_NATIVE_RPC - help - Enable this option if you want your toolchain to support - RPC (needed for NFS, for example). - config BR2_TOOLCHAIN_BUILDROOT_WCHAR bool "Enable WCHAR support" select BR2_USE_WCHAR @@ -52,20 +45,20 @@ choice Use this option to select the thread library implementation that should be used in your toolchain. - config BR2_PTHREADS_NATIVE - bool "Native POSIX Threading (NPTL)" - select BR2_TOOLCHAIN_HAS_THREADS - select BR2_TOOLCHAIN_HAS_THREADS_NPTL - depends on BR2_USE_MMU - depends on !BR2_m68k && !BR2_microblaze && !BR2_or1k +config BR2_PTHREADS_NATIVE + bool "Native POSIX Threading (NPTL)" + depends on BR2_USE_MMU + depends on !BR2_m68k && !BR2_microblaze && !BR2_or1k + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL - config BR2_PTHREADS - bool "linuxthreads" - select BR2_TOOLCHAIN_HAS_THREADS - depends on BR2_bfin || BR2_m68k || BR2_microblaze || BR2_or1k || BR2_arm || BR2_armeb || BR2_xtensa +config BR2_PTHREADS + bool "linuxthreads" + depends on BR2_bfin || BR2_m68k || BR2_microblaze || BR2_or1k || BR2_arm || BR2_armeb || BR2_xtensa + select BR2_TOOLCHAIN_HAS_THREADS - config BR2_PTHREADS_NONE - bool "none" +config BR2_PTHREADS_NONE + bool "none" endchoice @@ -116,45 +109,44 @@ config BR2_UCLIBC_TARGET_ARCH config BR2_UCLIBC_ARC_TYPE string - depends on BR2_UCLIBC_TARGET_ARCH = "arc" default "ARC_CPU_700" if BR2_arc750d default "ARC_CPU_700" if BR2_arc770d default "ARC_CPU_HS" if BR2_archs38 + depends on BR2_UCLIBC_TARGET_ARCH = "arc" config BR2_UCLIBC_MIPS_ABI string - depends on BR2_UCLIBC_TARGET_ARCH = "mips" default "O32" if BR2_MIPS_OABI32 default "N32" if BR2_MIPS_NABI32 default "N64" if BR2_MIPS_NABI64 + depends on BR2_UCLIBC_TARGET_ARCH = "mips" config BR2_UCLIBC_MIPS_NAN string + default "LEGACY" if BR2_MIPS_NAN_LEGACY + default "2008" if BR2_MIPS_NAN_2008 depends on BR2_UCLIBC_TARGET_ARCH = "mips" - default "LEGACY" if BR2_MIPS_CPU_MIPS32 || BR2_MIPS_CPU_MIPS64 - default "2008" if BR2_MIPS_CPU_MIPS32R6 || BR2_MIPS_CPU_MIPS64R6 config BR2_UCLIBC_SH_TYPE string - depends on BR2_UCLIBC_TARGET_ARCH = "sh" default "SH2A" if BR2_sh2a default "SH4" if BR2_sh4 || BR2_sh4eb + depends on BR2_UCLIBC_TARGET_ARCH = "sh" config BR2_UCLIBC_SPARC_TYPE string - depends on BR2_UCLIBC_TARGET_ARCH = "sparc" default "V7" if BR2_sparc_v7 || BR2_sparc_sparchfleon || BR2_sparc_sparcsfleon default "V8" if BR2_sparc_v8 || BR2_sparc_sparchfleonv8 || BR2_sparc_sparcsfleonv8 + depends on BR2_UCLIBC_TARGET_ARCH = "sparc" config BR2_UCLIBC_POWERPC_TYPE string - depends on BR2_UCLIBC_TARGET_ARCH = "powerpc" default "CLASSIC" if !BR2_powerpc_8540 && !BR2_powerpc_8548 default "E500" if BR2_powerpc_8540 || BR2_powerpc_8548 + depends on BR2_UCLIBC_TARGET_ARCH = "powerpc" config BR2_UCLIBC_X86_TYPE string - depends on BR2_UCLIBC_TARGET_ARCH = "i386" default "486" if BR2_x86_i486 default "586" if BR2_x86_i586 default "586MMX" if BR2_x86_pentium_mmx @@ -163,5 +155,6 @@ config BR2_UCLIBC_X86_TYPE default "PENTIUMIII" if BR2_x86_pentium3 default "PENTIUM4" if BR2_x86_pentium4 || BR2_x86_pentium_m || \ BR2_x86_nocona || BR2_x86_core2 || BR2_x86_corei7 + depends on BR2_UCLIBC_TARGET_ARCH = "i386" endif # BR2_TOOLCHAIN_BUILDROOT_UCLIBC diff --git a/package/uclibc/uClibc-ng.config b/package/uclibc/uClibc-ng.config index 528bce9657..5beb2bd908 100644 --- a/package/uclibc/uClibc-ng.config +++ b/package/uclibc/uClibc-ng.config @@ -23,6 +23,7 @@ UCLIBC_HAS_RESOLVER_SUPPORT=y UCLIBC_HAS_LIBRESOLV_STUB=y UCLIBC_HAS_LIBNSL_STUB=y UCLIBC_HAS_CTYPE_CHECKED=y +UCLIBC_HAS_LIBINTL=y UCLIBC_HAS_HEXADECIMAL_FLOATS=y UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y UCLIBC_HAS_STDIO_GETC_MACRO=y @@ -30,8 +31,7 @@ UCLIBC_HAS_STDIO_PUTC_MACRO=y UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y UCLIBC_HAS_PRINTF_M_SPEC=y -# UCLIBC_HAS_REGEX_OLD is not set -# UCLIBC_HAS_FNMATCH_OLD is not set +UCLIBC_HAS_WORDEXP=y UCLIBC_HAS_NFTW=y UCLIBC_HAS_FTW=y UCLIBC_HAS_GNU_GLOB=y diff --git a/package/uclibc/uclibc.hash b/package/uclibc/uclibc.hash index d2fbd0aef4..fcba474acd 100644 --- a/package/uclibc/uclibc.hash +++ b/package/uclibc/uclibc.hash @@ -1,2 +1,2 @@ -# From http://www.uclibc-ng.org/ -sha256 f2004c85db8e07e9f1c2e8b7c513fa7c237bc9f9685d8e1bfc89535b8a85449b uClibc-ng-1.0.22.tar.xz +# From https://uclibc-ng.org/ +sha256 d88470775192b01d278633953ccc9fecacd090e52f401d506a71add3e47d4694 uClibc-ng-1.0.26.tar.xz diff --git a/package/uclibc/uclibc.mk b/package/uclibc/uclibc.mk index 8f6035ec2f..f235070b6c 100644 --- a/package/uclibc/uclibc.mk +++ b/package/uclibc/uclibc.mk @@ -4,10 +4,10 @@ # ################################################################################ -UCLIBC_VERSION = 1.0.22 +UCLIBC_VERSION = 1.0.26 UCLIBC_SOURCE = uClibc-ng-$(UCLIBC_VERSION).tar.xz UCLIBC_SITE = http://downloads.uclibc-ng.org/releases/$(UCLIBC_VERSION) -UCLIBC_LICENSE = LGPLv2.1+ +UCLIBC_LICENSE = LGPL-2.1+ UCLIBC_LICENSE_FILES = COPYING.LIB UCLIBC_INSTALL_STAGING = YES @@ -35,7 +35,7 @@ UCLIBC_KCONFIG_OPTS = \ $(UCLIBC_MAKE_FLAGS) \ PREFIX=$(STAGING_DIR) \ DEVEL_PREFIX=/usr/ \ - RUNTIME_PREFIX=$(STAGING_DIR)/ \ + RUNTIME_PREFIX=$(STAGING_DIR)/ UCLIBC_TARGET_ARCH = $(call qstrip,$(BR2_UCLIBC_TARGET_ARCH)) @@ -54,34 +54,34 @@ endif # noMMU binary formats ifeq ($(BR2_BINFMT_FDPIC),y) define UCLIBC_BINFMT_CONFIG - $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FLAT,$(@D)/.config) - $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FLAT_SEP_DATA,$(@D)/.config) - $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_SHARED_FLAT,$(@D)/.config) - $(call KCONFIG_ENABLE_OPT,UCLIBC_FORMAT_FDPIC_ELF,$(@D)/.config) + $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FLAT,$(@D)/.config) + $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FLAT_SEP_DATA,$(@D)/.config) + $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_SHARED_FLAT,$(@D)/.config) + $(call KCONFIG_ENABLE_OPT,UCLIBC_FORMAT_FDPIC_ELF,$(@D)/.config) endef endif ifeq ($(BR2_BINFMT_FLAT_ONE),y) define UCLIBC_BINFMT_CONFIG - $(call KCONFIG_ENABLE_OPT,UCLIBC_FORMAT_FLAT,$(@D)/.config) - $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FLAT_SEP_DATA,$(@D)/.config) - $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_SHARED_FLAT,$(@D)/.config) - $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FDPIC_ELF,$(@D)/.config) + $(call KCONFIG_ENABLE_OPT,UCLIBC_FORMAT_FLAT,$(@D)/.config) + $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FLAT_SEP_DATA,$(@D)/.config) + $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_SHARED_FLAT,$(@D)/.config) + $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FDPIC_ELF,$(@D)/.config) endef endif ifeq ($(BR2_BINFMT_FLAT_SEP_DATA),y) define UCLIBC_BINFMT_CONFIG - $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FLAT,$(@D)/.config) - $(call KCONFIG_ENABLE_OPT,UCLIBC_FORMAT_FLAT_SEP_DATA,$(@D)/.config) - $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_SHARED_FLAT,$(@D)/.config) - $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FDPIC_ELF,$(@D)/.config) + $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FLAT,$(@D)/.config) + $(call KCONFIG_ENABLE_OPT,UCLIBC_FORMAT_FLAT_SEP_DATA,$(@D)/.config) + $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_SHARED_FLAT,$(@D)/.config) + $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FDPIC_ELF,$(@D)/.config) endef endif ifeq ($(BR2_BINFMT_FLAT_SHARED),y) define UCLIBC_BINFMT_CONFIG - $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FLAT,$(@D)/.config) - $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FLAT_SEP_DATA,$(@D)/.config) - $(call KCONFIG_ENABLE_OPT,UCLIBC_FORMAT_SHARED_FLAT,$(@D)/.config) - $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FDPIC_ELF,$(@D)/.config) + $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FLAT,$(@D)/.config) + $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FLAT_SEP_DATA,$(@D)/.config) + $(call KCONFIG_ENABLE_OPT,UCLIBC_FORMAT_SHARED_FLAT,$(@D)/.config) + $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FDPIC_ELF,$(@D)/.config) endef endif @@ -101,6 +101,12 @@ define UCLIBC_ARC_PAGE_SIZE_CONFIG $(call KCONFIG_ENABLE_OPT,$(UCLIBC_ARC_PAGE_SIZE),$(@D)/.config) endef +ifeq ($(BR2_ARC_ATOMIC_EXT),) +define UCLIBC_ARC_ATOMICS_CONFIG + $(call KCONFIG_DISABLE_OPT,CONFIG_ARC_HAS_ATOMICS,$(@D)/.config) +endef +endif + endif # arc # @@ -113,12 +119,6 @@ define UCLIBC_ARM_ABI_CONFIG $(call KCONFIG_ENABLE_OPT,CONFIG_ARM_EABI,$(@D)/.config) endef -# Thumb1 build is broken with threads with old gcc versions (< 4.8). Since -# all cores supporting Thumb1 also support ARM, we use ARM code in this case. -ifeq ($(BR2_GCC_VERSION_4_8_X)$(BR2_ARM_INSTRUCTIONS_THUMB)$(BR2_TOOLCHAIN_HAS_THREADS),yyy) -UCLIBC_EXTRA_CFLAGS += -marm -endif - ifeq ($(BR2_BINFMT_FLAT),y) define UCLIBC_ARM_BINFMT_FLAT $(call KCONFIG_DISABLE_OPT,DOPIC,$(@D)/.config) @@ -253,10 +253,12 @@ endif ifeq ($(BR2_USE_MMU),y) define UCLIBC_MMU_CONFIG + $(call KCONFIG_ENABLE_OPT,ARCH_HAS_MMU,$(@D)/.config) $(call KCONFIG_ENABLE_OPT,ARCH_USE_MMU,$(@D)/.config) endef else define UCLIBC_MMU_CONFIG + $(call KCONFIG_DISABLE_OPT,ARCH_HAS_MMU,$(@D)/.config) $(call KCONFIG_DISABLE_OPT,ARCH_USE_MMU,$(@D)/.config) endef endif @@ -267,24 +269,6 @@ endif UCLIBC_IPV6_CONFIG = $(call KCONFIG_ENABLE_OPT,UCLIBC_HAS_IPV6,$(@D)/.config) -# -# RPC -# - -ifeq ($(BR2_TOOLCHAIN_BUILDROOT_INET_RPC),y) -define UCLIBC_RPC_CONFIG - $(call KCONFIG_ENABLE_OPT,UCLIBC_HAS_RPC,$(@D)/.config) - $(call KCONFIG_ENABLE_OPT,UCLIBC_HAS_FULL_RPC,$(@D)/.config) - $(call KCONFIG_ENABLE_OPT,UCLIBC_HAS_REENTRANT_RPC,$(@D)/.config) -endef -else -define UCLIBC_RPC_CONFIG - $(call KCONFIG_DISABLE_OPT,UCLIBC_HAS_RPC,$(@D)/.config) - $(call KCONFIG_DISABLE_OPT,UCLIBC_HAS_FULL_RPC,$(@D)/.config) - $(call KCONFIG_DISABLE_OPT,UCLIBC_HAS_REENTRANT_RPC,$(@D)/.config) -endef -endif - # # soft-float # @@ -413,6 +397,7 @@ define UCLIBC_KCONFIG_FIXUP_CMDS $(UCLIBC_BINFMT_CONFIG) $(UCLIBC_ARC_TYPE_CONFIG) $(UCLIBC_ARC_PAGE_SIZE_CONFIG) + $(UCLIBC_ARC_ATOMICS_CONFIG) $(UCLIBC_ARM_ABI_CONFIG) $(UCLIBC_ARM_BINFMT_FLAT) $(UCLIBC_ARM_NO_CONTEXT_FUNCS) @@ -427,7 +412,6 @@ define UCLIBC_KCONFIG_FIXUP_CMDS $(UCLIBC_ENDIAN_CONFIG) $(UCLIBC_LARGEFILE_CONFIG) $(UCLIBC_IPV6_CONFIG) - $(UCLIBC_RPC_CONFIG) $(UCLIBC_FLOAT_CONFIG) $(UCLIBC_SSP_CONFIG) $(UCLIBC_THREAD_CONFIG) @@ -469,10 +453,10 @@ endef # STATIC has no ld* tools, only getconf ifeq ($(BR2_STATIC_LIBS),) define UCLIBC_INSTALL_UTILS_STAGING - $(INSTALL) -D -m 0755 $(@D)/utils/ldd.host $(HOST_DIR)/usr/bin/ldd - ln -sf ldd $(HOST_DIR)/usr/bin/$(GNU_TARGET_NAME)-ldd - $(INSTALL) -D -m 0755 $(@D)/utils/ldconfig.host $(HOST_DIR)/usr/bin/ldconfig - ln -sf ldconfig $(HOST_DIR)/usr/bin/$(GNU_TARGET_NAME)-ldconfig + $(INSTALL) -D -m 0755 $(@D)/utils/ldd.host $(HOST_DIR)/bin/ldd + ln -sf ldd $(HOST_DIR)/bin/$(GNU_TARGET_NAME)-ldd + $(INSTALL) -D -m 0755 $(@D)/utils/ldconfig.host $(HOST_DIR)/bin/ldconfig + ln -sf ldconfig $(HOST_DIR)/bin/$(GNU_TARGET_NAME)-ldconfig endef endif diff --git a/package/udev/Config.in b/package/udev/Config.in index 941a5152ff..814a62519e 100644 --- a/package/udev/Config.in +++ b/package/udev/Config.in @@ -2,5 +2,5 @@ config BR2_PACKAGE_HAS_UDEV bool config BR2_PACKAGE_PROVIDES_UDEV - depends on BR2_PACKAGE_HAS_UDEV string + depends on BR2_PACKAGE_HAS_UDEV diff --git a/package/udisks/Config.in b/package/udisks/Config.in index 029860fc5c..6573cda221 100644 --- a/package/udisks/Config.in +++ b/package/udisks/Config.in @@ -5,9 +5,9 @@ config BR2_PACKAGE_UDISKS depends on BR2_USE_MMU # lvm2 depends on !BR2_STATIC_LIBS # lvm2 depends on !BR2_TOOLCHAIN_USES_MUSL # lvm2 + depends on BR2_USE_WCHAR # dbus-glib -> glib2 select BR2_PACKAGE_DBUS select BR2_PACKAGE_DBUS_GLIB - depends on BR2_USE_WCHAR # dbus-glib -> glib2 select BR2_PACKAGE_SG3_UTILS select BR2_PACKAGE_POLKIT select BR2_PACKAGE_PARTED diff --git a/package/udisks/udisks.mk b/package/udisks/udisks.mk index 4d3ede71b1..fe8932a92e 100644 --- a/package/udisks/udisks.mk +++ b/package/udisks/udisks.mk @@ -6,21 +6,21 @@ UDISKS_VERSION = 1.0.5 UDISKS_SITE = http://hal.freedesktop.org/releases -UDISKS_LICENSE = GPLv2+ +UDISKS_LICENSE = GPL-2.0+ UDISKS_LICENSE_FILES = COPYING # For 0002-Fix-systemd-service-file.patch UDISKS_AUTORECONF = YES -UDISKS_DEPENDENCIES = \ - sg3_utils \ - host-pkgconf \ - udev \ - dbus \ - dbus-glib \ - polkit \ - parted \ - lvm2 \ - libatasmart \ +UDISKS_DEPENDENCIES = \ + sg3_utils \ + host-pkgconf \ + udev \ + dbus \ + dbus-glib \ + polkit \ + parted \ + lvm2 \ + libatasmart \ libgudev UDISKS_CONF_OPTS = --disable-remote-access --disable-man-pages diff --git a/package/udpcast/udpcast.mk b/package/udpcast/udpcast.mk index b0ce6433d2..e9116d2de0 100644 --- a/package/udpcast/udpcast.mk +++ b/package/udpcast/udpcast.mk @@ -7,7 +7,7 @@ UDPCAST_VERSION = 20120424 UDPCAST_SITE = http://www.udpcast.linux.lu/download UDPCAST_DEPENDENCIES = host-m4 -UDPCAST_LICENSE = BSD-2c, GPLv2+ +UDPCAST_LICENSE = BSD-2-Clause, GPL-2.0+ UDPCAST_LICENSE_FILES = COPYING define UDPCAST_REMOVE_UDP_SENDER diff --git a/package/udpxy/udpxy.mk b/package/udpxy/udpxy.mk index dd8c91fcbc..22467948a5 100644 --- a/package/udpxy/udpxy.mk +++ b/package/udpxy/udpxy.mk @@ -2,12 +2,12 @@ # # udpxy # -################################################################################# +################################################################################ UDPXY_VERSION = 1.0.23-9-prod UDPXY_SOURCE = udpxy.$(UDPXY_VERSION).tar.gz UDPXY_SITE = http://www.udpxy.com/download/1_23 -UDPXY_LICENSE = GPLv3+ +UDPXY_LICENSE = GPL-3.0+ UDPXY_LICENSE_FILES = README define UDPXY_BUILD_CMDS diff --git a/package/uemacs/uemacs.hash b/package/uemacs/uemacs.hash new file mode 100644 index 0000000000..a88be88b56 --- /dev/null +++ b/package/uemacs/uemacs.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 c6772ccb519f89731ac927c6bd229617fa4a488b966251e9147a03f998c39960 uemacs-8841922689769960fa074fbb053cb8507f2f3ed9.tar.gz diff --git a/package/uhttpd/0002-Fix-TCP_FASTOPEN-related-compile-error.patch b/package/uhttpd/0002-Fix-TCP_FASTOPEN-related-compile-error.patch new file mode 100644 index 0000000000..fb3ff54ae5 --- /dev/null +++ b/package/uhttpd/0002-Fix-TCP_FASTOPEN-related-compile-error.patch @@ -0,0 +1,30 @@ +From adbab70d3602d77736781be344cfdc5508cb0600 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Mon, 3 Apr 2017 19:22:30 +0200 +Subject: [PATCH] Fix TCP_FASTOPEN related compile error. + +Signed-off-by: Peter Seiderer +--- + listen.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/listen.c b/listen.c +index 2a54888..4dabe34 100644 +--- a/listen.c ++++ b/listen.c +@@ -96,6 +96,12 @@ static void listener_cb(struct uloop_fd *fd, unsigned int events) + uh_block_listener(l); + } + ++#ifdef linux ++#ifndef TCP_FASTOPEN ++#define TCP_FASTOPEN 23 ++#endif ++#endif ++ + void uh_setup_listeners(void) + { + struct listener *l; +-- +2.11.0 + diff --git a/package/uhttpd/uhttpd.hash b/package/uhttpd/uhttpd.hash index 59e54ad49a..7e09f18087 100644 --- a/package/uhttpd/uhttpd.hash +++ b/package/uhttpd/uhttpd.hash @@ -1,2 +1,2 @@ -# No hash for this git snapshot -none xxx uhttpd-59e0c739634f46a164d939e54416287b91ff8a9b.tar.gz +# Locally calculated +sha256 9325c95c9bb1c51bf135700a65738884fa9cd548ff8166c8b61fdbf99825cd6d uhttpd-a8bf9c00842224edb394e79909053f7628ee6a82.tar.gz diff --git a/package/uhttpd/uhttpd.mk b/package/uhttpd/uhttpd.mk index be0d7d63c6..cc7649d0ec 100644 --- a/package/uhttpd/uhttpd.mk +++ b/package/uhttpd/uhttpd.mk @@ -4,7 +4,7 @@ # ################################################################################ -UHTTPD_VERSION = 59e0c739634f46a164d939e54416287b91ff8a9b +UHTTPD_VERSION = a8bf9c00842224edb394e79909053f7628ee6a82 UHTTPD_SITE = http://git.openwrt.org/project/uhttpd.git UHTTPD_SITE_METHOD = git UHTTPD_LICENSE = ISC diff --git a/package/uhubctl/Config.in b/package/uhubctl/Config.in new file mode 100644 index 0000000000..c000b5ab49 --- /dev/null +++ b/package/uhubctl/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_UHUBCTL + bool "uhubctl" + depends on BR2_TOOLCHAIN_HAS_THREADS # libusb + select BR2_PACKAGE_LIBUSB + help + Control USB power per-port on smart USB hubs. + + https://github.com/mvp/uhubctl + +comment "uhubctl needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/uhubctl/uhubctl.hash b/package/uhubctl/uhubctl.hash new file mode 100644 index 0000000000..6afee905bf --- /dev/null +++ b/package/uhubctl/uhubctl.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 dfc85571ad86a071bf7a0db7cadf97a870e628777e47176520de6866b4f042b6 uhubctl-047bb1e392efd3e0ea5d5caf351e20761e12cd44.tar.gz diff --git a/package/uhubctl/uhubctl.mk b/package/uhubctl/uhubctl.mk new file mode 100644 index 0000000000..74845001ba --- /dev/null +++ b/package/uhubctl/uhubctl.mk @@ -0,0 +1,22 @@ +################################################################################ +# +# uhubctl +# +################################################################################ + +UHUBCTL_VERSION = 047bb1e392efd3e0ea5d5caf351e20761e12cd44 +UHUBCTL_SITE = $(call github,mvp,uhubctl,$(UHUBCTL_VERSION)) +UHUBCTL_LICENSE = GPL-2.0 +UHUBCTL_LICENSE_FILES = LICENSE +UHUBCTL_DEPENDENCIES = libusb + +define UHUBCTL_BUILD_CMDS + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) +endef + +define UHUBCTL_INSTALL_TARGET_CMDS + $(TARGET_CONFIGURE_OPTS) DESTDIR=$(TARGET_DIR) \ + $(MAKE) -C $(@D) install +endef + +$(eval $(generic-package)) diff --git a/package/ulogd/ulogd.mk b/package/ulogd/ulogd.mk index 4017edc7bf..5b0e558930 100644 --- a/package/ulogd/ulogd.mk +++ b/package/ulogd/ulogd.mk @@ -11,7 +11,7 @@ ULOGD_CONF_OPTS = --with-dbi=no --with-pgsql=no ULOGD_DEPENDENCIES = host-pkgconf \ libmnl libnetfilter_acct libnetfilter_conntrack libnetfilter_log \ libnfnetlink -ULOGD_LICENSE = GPLv2 +ULOGD_LICENSE = GPL-2.0 ULOGD_LICENSE_FILES = COPYING # DB backends need threads diff --git a/package/unionfs/0001-Revert-to-old-pre-1.0-meta-directory.patch b/package/unionfs/0001-Revert-to-old-pre-1.0-meta-directory.patch deleted file mode 100644 index 228441b38a..0000000000 --- a/package/unionfs/0001-Revert-to-old-pre-1.0-meta-directory.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 93c2f9bd8b058b28016e6db2421e5b38eac0606c Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Thu, 17 Dec 2015 15:06:38 +0100 -Subject: [PATCH] Revert to old pre-1.0 meta directory - -Unionfs changed its meta directory from .unionfs to .unionfs-fuse with the -unionfs -> unionfs-fuse rename. The rename later got reverted everywhere -but the meta directory, so now unionfs doesn't find the whiteout files from -older releases. - -Revert back to the pre-1.0 behaviour to fix this. - -Committed upstream: -https://github.com/rpodgorny/unionfs-fuse/commit/93c2f9bd8b058b28016e6db2421e5b38eac0606c - -Signed-off-by: Peter Korsgaard ---- - src/unionfs.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/unionfs.h b/src/unionfs.h -index c2b5ee3..74b824f 100644 ---- a/src/unionfs.h -+++ b/src/unionfs.h -@@ -10,7 +10,7 @@ - #define PATHLEN_MAX 1024 - #define HIDETAG "_HIDDEN~" - --#define METANAME ".unionfs-fuse" -+#define METANAME ".unionfs" - #define METADIR (METANAME "/") // string concetanation! - - // fuse meta files, we might want to hide those --- -2.1.4 - diff --git a/package/unionfs/0001-include-asm-ioctl.h-for-_IOC_SIZE.patch b/package/unionfs/0001-include-asm-ioctl.h-for-_IOC_SIZE.patch new file mode 100644 index 0000000000..f3d8fa15ad --- /dev/null +++ b/package/unionfs/0001-include-asm-ioctl.h-for-_IOC_SIZE.patch @@ -0,0 +1,26 @@ +From d33635fe940ff898e026d3fb77446e52f8f2bd3f Mon Sep 17 00:00:00 2001 +From: Gustavo Zacarias +Date: Thu, 16 Feb 2017 14:59:30 -0300 +Subject: [PATCH] include asm/ioctl.h for _IOC_SIZE + +Signed-off-by: Gustavo Zacarias +--- + src/unionfs.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/unionfs.c b/src/unionfs.c +index 5aed5ce..f6cd368 100644 +--- a/src/unionfs.c ++++ b/src/unionfs.c +@@ -32,7 +32,7 @@ + #include + #include + #include +-#include ++#include + + #ifdef linux + #include +-- +2.10.2 + diff --git a/package/unionfs/Config.in b/package/unionfs/Config.in index ece83a5f79..fe03b95f20 100644 --- a/package/unionfs/Config.in +++ b/package/unionfs/Config.in @@ -1,9 +1,9 @@ config BR2_PACKAGE_UNIONFS bool "unionfs (FUSE)" - select BR2_PACKAGE_LIBFUSE depends on BR2_TOOLCHAIN_HAS_THREADS # libfuse depends on BR2_USE_MMU # libfuse depends on !BR2_STATIC_LIBS # libfuse + select BR2_PACKAGE_LIBFUSE help A userspace unionfs implementation. diff --git a/package/unionfs/unionfs.hash b/package/unionfs/unionfs.hash index c843a0e8c1..fcc1d58d6e 100644 --- a/package/unionfs/unionfs.hash +++ b/package/unionfs/unionfs.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 2ee80bd0634a61adb2159212e155d607a0a82ad659214ae6edb3530396cccc09 unionfs-1.0.tar.gz -sha256 c8526f80448f344fba0100e5510793b6de985b24a8b526d9a6803bcd713d9de2 0001-include-asm-ioctl.h-for-_IOC_SIZE.patch +sha256 f24d7dd64c678cefacbebf2727b61e3127b8ecb6bb9176d7117dd31503455643 unionfs-2.0.tar.gz +sha256 976ca25b7706911f1a6e981c0fd236b607f497aa0b23d407825b0aad41f7c896 0001-include-asm-ioctl.h-for-_IOC_SIZE.patch diff --git a/package/unionfs/unionfs.mk b/package/unionfs/unionfs.mk index 0fa9c940f9..e8b295335d 100644 --- a/package/unionfs/unionfs.mk +++ b/package/unionfs/unionfs.mk @@ -4,12 +4,10 @@ # ################################################################################ -UNIONFS_VERSION = 1.0 +UNIONFS_VERSION = 2.0 UNIONFS_SITE = $(call github,rpodgorny,unionfs-fuse,v$(UNIONFS_VERSION)) -UNIONFS_PATCH = \ - http://git.alpinelinux.org/cgit/aports/plain/main/unionfs-fuse/0001-include-asm-ioctl.h-for-_IOC_SIZE.patch UNIONFS_DEPENDENCIES = libfuse host-pkgconf -UNIONFS_LICENSE = BSD-3c +UNIONFS_LICENSE = BSD-3-Clause UNIONFS_LICENSE_FILES = LICENSE $(eval $(cmake-package)) diff --git a/package/unixodbc/unixodbc.mk b/package/unixodbc/unixodbc.mk index 280fe57913..d4aa02eea3 100644 --- a/package/unixodbc/unixodbc.mk +++ b/package/unixodbc/unixodbc.mk @@ -8,7 +8,7 @@ UNIXODBC_VERSION = 2.3.4 UNIXODBC_SOURCE = unixODBC-$(UNIXODBC_VERSION).tar.gz UNIXODBC_SITE = ftp://ftp.unixodbc.org/pub/unixODBC UNIXODBC_INSTALL_STAGING = YES -UNIXODBC_LICENSE = LGPLv2.1+ (library), GPLv2+ (programs) +UNIXODBC_LICENSE = LGPL-2.1+ (library), GPL-2.0+ (programs) UNIXODBC_LICENSE_FILES = COPYING exe/COPYING UNIXODBC_CONF_OPTS = --enable-drivers --enable-driver-conf diff --git a/package/unrar/unrar.hash b/package/unrar/unrar.hash index 36450e05e3..81688d7b7d 100644 --- a/package/unrar/unrar.hash +++ b/package/unrar/unrar.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 e470c584332422893fb52e049f2cbd99e24dc6c6da971008b4e2ae4284f8796c unrarsrc-5.4.5.tar.gz +sha256 9b66e4353a9944bc140eb2a919ff99482dd548f858f5e296d809e8f7cdb2fcf4 unrarsrc-5.5.8.tar.gz +sha256 6ecc1687808b7d66b24f874755abfed7464d9751ed0001cd4e8e5d9bf397ff8a license.txt diff --git a/package/unrar/unrar.mk b/package/unrar/unrar.mk index f5a95eacc5..d6c97dff2c 100644 --- a/package/unrar/unrar.mk +++ b/package/unrar/unrar.mk @@ -4,7 +4,7 @@ # ################################################################################ -UNRAR_VERSION = 5.4.5 +UNRAR_VERSION = 5.5.8 UNRAR_SOURCE = unrarsrc-$(UNRAR_VERSION).tar.gz UNRAR_SITE = http://www.rarlab.com/rar UNRAR_LICENSE = unrar diff --git a/package/unscd/unscd.mk b/package/unscd/unscd.mk index 54caeb1f95..f0eb5d6ad6 100644 --- a/package/unscd/unscd.mk +++ b/package/unscd/unscd.mk @@ -7,7 +7,7 @@ UNSCD_VERSION = 0.52 UNSCD_SOURCE = nscd-$(UNSCD_VERSION).c UNSCD_SITE = http://busybox.net/~vda/unscd -UNSCD_LICENSE = GPLv2 +UNSCD_LICENSE = GPL-2.0 UNSCD_LICENSE_FILES = $(UNSCD_SOURCE) define UNSCD_EXTRACT_CMDS diff --git a/package/upmpdcli/Config.in b/package/upmpdcli/Config.in index 48720347fd..cf85a793ea 100644 --- a/package/upmpdcli/Config.in +++ b/package/upmpdcli/Config.in @@ -3,7 +3,7 @@ config BR2_PACKAGE_UPMPDCLI depends on BR2_USE_MMU # fork() depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS # libupnpp, libmicrohttpd - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11, libupnpp select BR2_PACKAGE_JSONCPP select BR2_PACKAGE_LIBMICROHTTPD select BR2_PACKAGE_LIBMPDCLIENT @@ -15,6 +15,6 @@ config BR2_PACKAGE_UPMPDCLI http://www.lesbonscomptes.com/upmpdcli/ -comment "upmpdcli needs a toolchain w/ C++, threads, gcc >= 4.7" +comment "upmpdcli needs a toolchain w/ C++, threads, gcc >= 4.9" depends on BR2_USE_MMU - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/upmpdcli/upmpdcli.hash b/package/upmpdcli/upmpdcli.hash index bcd78318cf..364fa914e9 100644 --- a/package/upmpdcli/upmpdcli.hash +++ b/package/upmpdcli/upmpdcli.hash @@ -1,2 +1,2 @@ -# From http://www.lesbonscomptes.com/upmpdcli/downloads/upmpdcli-1.2.12.tar.gz.sha256: -sha256 20d97c2e5ff6911e1e1538edb1487823479802cba6bd4f4c4a74035edf61cb26 upmpdcli-1.2.12.tar.gz +# From http://www.lesbonscomptes.com/upmpdcli/downloads/upmpdcli-1.2.15.tar.gz.sha256: +sha256 93d2b9cfd6cb8643c5a23d4115b44622d76c71abe15db9bb8d5b4d83f4d9b49c upmpdcli-1.2.15.tar.gz diff --git a/package/upmpdcli/upmpdcli.mk b/package/upmpdcli/upmpdcli.mk index 83efa0530b..ad41f85c8d 100644 --- a/package/upmpdcli/upmpdcli.mk +++ b/package/upmpdcli/upmpdcli.mk @@ -4,15 +4,15 @@ # ################################################################################ -UPMPDCLI_VERSION = 1.2.12 +UPMPDCLI_VERSION = 1.2.15 UPMPDCLI_SITE = http://www.lesbonscomptes.com/upmpdcli/downloads -UPMPDCLI_LICENSE = GPLv2+ +UPMPDCLI_LICENSE = GPL-2.0+ UPMPDCLI_LICENSE_FILES = COPYING UPMPDCLI_DEPENDENCIES = host-pkgconf libmpdclient libupnpp libmicrohttpd jsoncpp # Upmpdcli only runs if user upmpdcli exists define UPMPDCLI_USERS - upmpdcli -1 upmpdcli -1 * - - - Upmpdcli MPD UPnP Renderer Front-End + upmpdcli -1 upmpdcli -1 * - - audio Upmpdcli MPD UPnP Renderer Front-End endef define UPMPDCLI_INSTALL_INIT_SYSV diff --git a/package/upower/upower.mk b/package/upower/upower.mk index 471eb419cc..79dc5e87f2 100644 --- a/package/upower/upower.mk +++ b/package/upower/upower.mk @@ -7,7 +7,7 @@ UPOWER_VERSION = 0.99.4 UPOWER_SOURCE = upower-$(UPOWER_VERSION).tar.xz UPOWER_SITE = https://upower.freedesktop.org/releases -UPOWER_LICENSE = GPLv2+ +UPOWER_LICENSE = GPL-2.0+ UPOWER_LICENSE_FILES = COPYING # libupower-glib.so diff --git a/package/upx/upx.mk b/package/upx/upx.mk index eaef27590a..1fe7162c21 100644 --- a/package/upx/upx.mk +++ b/package/upx/upx.mk @@ -7,7 +7,7 @@ UPX_VERSION = 3.91 UPX_SITE = http://upx.sourceforge.net/download UPX_SOURCE = upx-$(UPX_VERSION)-src.tar.bz2 -UPX_LICENSE = GPLv2+ +UPX_LICENSE = GPL-2.0+ UPX_LICENSE_FILES = COPYING HOST_UPX_DEPENDENCIES = host-ucl host-zlib @@ -16,14 +16,14 @@ HOST_UPX_DEPENDENCIES = host-ucl host-zlib # stating to "please choose a target for 'make'"... :-( define HOST_UPX_BUILD_CMDS $(HOST_MAKE_ENV) $(MAKE) CPPFLAGS="$(HOST_CPPFLAGS)" \ - LDFLAGS="$(HOST_LDFLAGS)" UPX_UCLDIR=$(HOST_DIR)/usr \ + LDFLAGS="$(HOST_LDFLAGS)" UPX_UCLDIR=$(HOST_DIR) \ CXXFLAGS_WERROR= \ -C $(@D) all endef # UPX has no install procedure, so install it manually. define HOST_UPX_INSTALL_CMDS - $(INSTALL) -D -m 0755 $(@D)/src/upx.out $(HOST_DIR)/usr/bin/upx + $(INSTALL) -D -m 0755 $(@D)/src/upx.out $(HOST_DIR)/bin/upx endef $(eval $(host-generic-package)) diff --git a/package/urg/urg.hash b/package/urg/urg.hash index 41749d7245..f2c5f14304 100644 --- a/package/urg/urg.hash +++ b/package/urg/urg.hash @@ -2,3 +2,5 @@ md5 93f90d2ccc36e784407c5282ef6bd2cb urg-0.8.18.zip # Locally calculated sha256 b2cab7e539c90c60fc99a2350a42b5d5390ff952b694b196c3cbb54623cfee7f urg-0.8.18.zip +# License files, locally calculated +sha256 9ccf26cfe845e0eb8bb58053e47366e7ab6b697ae010f7650978d4b71b7d1fc1 COPYING diff --git a/package/urg/urg.mk b/package/urg/urg.mk index 5d49aeb41d..966627fe36 100644 --- a/package/urg/urg.mk +++ b/package/urg/urg.mk @@ -7,7 +7,7 @@ URG_VERSION = 0.8.18 URG_SITE = http://pkgs.fedoraproject.org/repo/pkgs/urg/urg-0.8.18.zip/md5/93f90d2ccc36e784407c5282ef6bd2cb URG_SOURCE = urg-$(URG_VERSION).zip -URG_LICENSE = LGPLv3 +URG_LICENSE = LGPL-3.0 URG_LICENSE_FILES = COPYING URG_INSTALL_STAGING = YES @@ -25,10 +25,7 @@ endif URG_CONFIG_SCRIPTS = c_urg-config urg-config define URG_EXTRACT_CMDS - $(RM) -rf $(URG_DIR) - $(UNZIP) -d $(BUILD_DIR)/ $(DL_DIR)/$(URG_SOURCE) - test -d $(URG_DIR) || \ - mv $(BUILD_DIR)/$(subst .zip,,$(URG_SOURCE)) $(URG_DIR) + $(UNZIP) -d $(BUILD_DIR) $(DL_DIR)/$(URG_SOURCE) endef $(eval $(autotools-package)) diff --git a/package/usb_modeswitch/0001-Makefile-allow-extra-configure-flags-to-be-passed-to.patch b/package/usb_modeswitch/0001-Makefile-allow-extra-configure-flags-to-be-passed-to.patch new file mode 100644 index 0000000000..9e1e681fa5 --- /dev/null +++ b/package/usb_modeswitch/0001-Makefile-allow-extra-configure-flags-to-be-passed-to.patch @@ -0,0 +1,29 @@ +From 1309df373c882f27f476130b06746a6d1e1a0f85 Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Fri, 3 Nov 2017 23:21:44 +0100 +Subject: [PATCH] Makefile: allow extra configure flags to be passed to jimtcl + on the make command line + +E.G. to pass --host / --build for cross compilation. + +Signed-off-by: Peter Korsgaard +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index a151e2a..94dabd9 100644 +--- a/Makefile ++++ b/Makefile +@@ -19,7 +19,7 @@ TCL ?= $(HOST_TCL) + else + TCL ?= /usr/bin/tclsh + endif +-JIM_CONFIGURE_OPTS = --disable-lineedit \ ++override JIM_CONFIGURE_OPTS += --disable-lineedit \ + --with-out-jim-ext="stdlib posix load signal syslog" --prefix=/usr + + .PHONY: clean install install-common uninstall \ +-- +2.11.0 + diff --git a/package/usb_modeswitch/usb_modeswitch.hash b/package/usb_modeswitch/usb_modeswitch.hash index 807b63f023..b202e6353a 100644 --- a/package/usb_modeswitch/usb_modeswitch.hash +++ b/package/usb_modeswitch/usb_modeswitch.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 17dc32bf10df8e370f2369b5137d34dfd8f2347faaa51524c5f21c922f42e212 usb-modeswitch-2.4.0.tar.bz2 +sha256 31c0be280d49a99ec3dc0be3325bef320d9c04b50714ef0ce1e36a614d687633 usb-modeswitch-2.5.0.tar.bz2 diff --git a/package/usb_modeswitch/usb_modeswitch.mk b/package/usb_modeswitch/usb_modeswitch.mk index e196db582d..c67d4cd583 100644 --- a/package/usb_modeswitch/usb_modeswitch.mk +++ b/package/usb_modeswitch/usb_modeswitch.mk @@ -4,11 +4,11 @@ # ################################################################################ -USB_MODESWITCH_VERSION = 2.4.0 +USB_MODESWITCH_VERSION = 2.5.0 USB_MODESWITCH_SOURCE = usb-modeswitch-$(USB_MODESWITCH_VERSION).tar.bz2 USB_MODESWITCH_SITE = http://www.draisberghof.de/usb_modeswitch USB_MODESWITCH_DEPENDENCIES = libusb -USB_MODESWITCH_LICENSE = GPLv2+ +USB_MODESWITCH_LICENSE = GPL-2.0+ USB_MODESWITCH_LICENSE_FILES = COPYING USB_MODESWITCH_BUILD_TARGETS = static @@ -20,9 +20,16 @@ USB_MODESWITCH_BUILD_TARGETS = script USB_MODESWITCH_INSTALL_TARGETS = install-script endif +# build system of embedded jimtcl doesn't use autotools, but does use +# an old version of gnuconfig which doesn't know all the architectures +# supported by Buildroot, so update config.guess / config.sub like we +# do in pkg-autotools.mk +USB_MODESWITCH_POST_PATCH_HOOKS += UPDATE_CONFIG_HOOK + define USB_MODESWITCH_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \ CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE -Wall -I." \ + JIM_CONFIGURE_OPTS="--host=$(GNU_TARGET_NAME) --build=$(GNU_HOST_NAME)" \ -C $(@D) $(USB_MODESWITCH_BUILD_TARGETS) endef diff --git a/package/usb_modeswitch_data/0001-makefile.patch b/package/usb_modeswitch_data/0001-makefile.patch deleted file mode 100644 index 28441fe003..0000000000 --- a/package/usb_modeswitch_data/0001-makefile.patch +++ /dev/null @@ -1,28 +0,0 @@ -Fixed Makefile install sections to not reload udev rules. In a -cross-compiler environment, it is not wanted to reload the host udev rules. - -Signed-off-by: J.C. Woltz -Signed-off-by: Patrick Ziegler ---- a/Makefile 2013-06-10 22:32:53.000000000 +0200 -+++ b/Makefile 2013-06-11 10:38:03.181161401 +0200 -@@ -13,9 +13,9 @@ - clean: - $(RM) 40-usb_modeswitch.rules - --install: all files-install db-install rules-reload -+install: all files-install db-install - --install-packed: files-install db-install-packed rules-reload -+install-packed: files-install db-install-packed - - files-install: - install -d $(PREFIX)/share/usb_modeswitch -@@ -54,7 +54,7 @@ - fi \ - fi - --uninstall: files-uninstall rules-reload -+uninstall: files-uninstall - - files-uninstall: - $(RM) $(RULESDIR)/40-usb_modeswitch.rules diff --git a/package/usb_modeswitch_data/Config.in b/package/usb_modeswitch_data/Config.in index ad96726ad6..95b2a073bd 100644 --- a/package/usb_modeswitch_data/Config.in +++ b/package/usb_modeswitch_data/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_USB_MODESWITCH_DATA bool "usb_modeswitch_data" - select BR2_PACKAGE_USB_MODESWITCH depends on BR2_TOOLCHAIN_HAS_THREADS # usb_modeswitch -> libusb + select BR2_PACKAGE_USB_MODESWITCH help USB mode switch data Contains udev rules and events to allow usb_modeswitch to diff --git a/package/usb_modeswitch_data/usb_modeswitch_data.hash b/package/usb_modeswitch_data/usb_modeswitch_data.hash index 0df5475ea3..e19fcac628 100644 --- a/package/usb_modeswitch_data/usb_modeswitch_data.hash +++ b/package/usb_modeswitch_data/usb_modeswitch_data.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 d679a44a48b1d1f243fea6b4d2bd54e0e08010ff579dd81eaf698954c0c6dfa7 usb-modeswitch-data-20160112.tar.bz2 +sha256 e2dcfd9d28928d8d8f03381571a23442b3c50d48d343bc40a1a07d01662738d1 usb-modeswitch-data-20170205.tar.bz2 diff --git a/package/usb_modeswitch_data/usb_modeswitch_data.mk b/package/usb_modeswitch_data/usb_modeswitch_data.mk index a0cbc126df..4f634cdaf4 100644 --- a/package/usb_modeswitch_data/usb_modeswitch_data.mk +++ b/package/usb_modeswitch_data/usb_modeswitch_data.mk @@ -4,11 +4,11 @@ # ################################################################################ -USB_MODESWITCH_DATA_VERSION = 20160112 +USB_MODESWITCH_DATA_VERSION = 20170205 USB_MODESWITCH_DATA_SOURCE = usb-modeswitch-data-$(USB_MODESWITCH_DATA_VERSION).tar.bz2 USB_MODESWITCH_DATA_SITE = http://www.draisberghof.de/usb_modeswitch USB_MODESWITCH_DATA_DEPENDENCIES = usb_modeswitch -USB_MODESWITCH_DATA_LICENSE = GPLv2+ +USB_MODESWITCH_DATA_LICENSE = GPL-2.0+ USB_MODESWITCH_DATA_LICENSE_FILES = COPYING # Nothing to build, it is a pure data package diff --git a/package/usbmount/usbmount.mk b/package/usbmount/usbmount.mk index 066cbb828a..538602fdcb 100644 --- a/package/usbmount/usbmount.mk +++ b/package/usbmount/usbmount.mk @@ -8,15 +8,15 @@ USBMOUNT_VERSION = 0.0.22 USBMOUNT_SOURCE = usbmount_$(USBMOUNT_VERSION).tar.gz USBMOUNT_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/u/usbmount USBMOUNT_DEPENDENCIES = udev lockfile-progs -USBMOUNT_LICENSE = BSD-2c +USBMOUNT_LICENSE = BSD-2-Clause USBMOUNT_LICENSE_FILES = debian/copyright define USBMOUNT_INSTALL_TARGET_CMDS $(INSTALL) -m 0755 -D $(@D)/usbmount $(TARGET_DIR)/usr/share/usbmount/usbmount - $(INSTALL) -m 0755 -D $(@D)/00_create_model_symlink \ + $(INSTALL) -m 0755 -D $(@D)/00_create_model_symlink \ $(TARGET_DIR)/etc/usbmount/mount.d/00_create_model_symlink - $(INSTALL) -m 0755 -D $(@D)/00_remove_model_symlink \ + $(INSTALL) -m 0755 -D $(@D)/00_remove_model_symlink \ $(TARGET_DIR)/etc/usbmount/umount.d/00_remove_model_symlink $(INSTALL) -m 0644 -D $(@D)/usbmount.rules $(TARGET_DIR)/lib/udev/rules.d/usbmount.rules diff --git a/package/usbredir/usbredir.mk b/package/usbredir/usbredir.mk index 6765a9baac..02cd47cfba 100644 --- a/package/usbredir/usbredir.mk +++ b/package/usbredir/usbredir.mk @@ -7,14 +7,14 @@ USBREDIR_VERSION = 0.7.1 USBREDIR_SOURCE = usbredir-$(USBREDIR_VERSION).tar.bz2 USBREDIR_SITE = http://spice-space.org/download/usbredir -USBREDIR_LICENSE = LGPLv2.1+ (libraries) +USBREDIR_LICENSE = LGPL-2.1+ (libraries) USBREDIR_LICENSE_FILES = COPYING.LIB USBREDIR_INSTALL_STAGING = YES USBREDIR_DEPENDENCIES = host-pkgconf libusb ifeq ($(BR2_PACKAGE_USBREDIR_SERVER),y) -USBREDIR_LICENSE := $(USBREDIR_LICENSE), GPLv2+ (program) +USBREDIR_LICENSE := $(USBREDIR_LICENSE), GPL-2.0+ (program) USBREDIR_LICENSE_FILES += COPYING else # BR2_PACKAGE_USBREDIR_SERVER != y diff --git a/package/usbutils/usbutils.mk b/package/usbutils/usbutils.mk index c96a1f54ff..c397d0adc7 100644 --- a/package/usbutils/usbutils.mk +++ b/package/usbutils/usbutils.mk @@ -8,7 +8,7 @@ USBUTILS_VERSION = 008 USBUTILS_SOURCE = usbutils-$(USBUTILS_VERSION).tar.xz USBUTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/usb/usbutils USBUTILS_DEPENDENCIES = host-pkgconf libusb udev -USBUTILS_LICENSE = GPLv2+ +USBUTILS_LICENSE = GPL-2.0+ USBUTILS_LICENSE_FILES = COPYING # Build after busybox since it's got a lightweight lsusb diff --git a/package/ushare/Config.in b/package/ushare/Config.in index eba7acf6c3..c3475b8465 100644 --- a/package/ushare/Config.in +++ b/package/ushare/Config.in @@ -1,12 +1,11 @@ config BR2_PACKAGE_USHARE bool "ushare" depends on BR2_TOOLCHAIN_HAS_THREADS # libupnp - select BR2_PACKAGE_LIBUPNP - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE # ushare has a completely custom configure script that does # broken things with library ordering, which breaks static # linking. depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_LIBUPNP help uShare is a UPnP (TM) A/V & DLNA Media Server. It implements the server component that provides UPnP media devices diff --git a/package/ushare/ushare.mk b/package/ushare/ushare.mk index 62d269c476..bb194f6374 100644 --- a/package/ushare/ushare.mk +++ b/package/ushare/ushare.mk @@ -7,21 +7,27 @@ USHARE_VERSION = 1.1a USHARE_SOURCE = ushare-$(USHARE_VERSION).tar.bz2 USHARE_SITE = http://ushare.geexbox.org/releases -USHARE_DEPENDENCIES = host-pkgconf libupnp -USHARE_LICENSE = GPLv2+ +USHARE_DEPENDENCIES = host-pkgconf libupnp $(TARGET_NLS_DEPENDENCIES) +USHARE_LICENSE = GPL-2.0+ USHARE_LICENSE_FILES = COPYING +USHARE_LDFLAGS = $(TARGET_NLS_LIBS) -ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y) -USHARE_DEPENDENCIES += gettext -USHARE_LDFLAGS += -lintl +USHARE_CONF_OPTS = \ + --prefix=/usr \ + --cross-compile \ + --cross-prefix="$(TARGET_CROSS)" \ + --sysconfdir=/etc \ + --disable-strip + +ifeq ($(BR2_SYSTEM_ENABLE_NLS),) +USHARE_CONF_OPTS += --disable-nls endif define USHARE_CONFIGURE_CMDS (cd $(@D); \ $(TARGET_CONFIGURE_OPTS) \ - ./configure --prefix=/usr $(DISABLE_NLS) --cross-compile \ - --cross-prefix="$(TARGET_CROSS)" --sysconfdir=/etc \ - --disable-strip \ + ./configure \ + $(USHARE_CONF_OPTS) \ ) endef diff --git a/package/ussp-push/0002-fix-build-again-obex-bluez.patch b/package/ussp-push/0002-fix-build-again-obex-bluez.patch new file mode 100644 index 0000000000..e98fe6ef13 --- /dev/null +++ b/package/ussp-push/0002-fix-build-again-obex-bluez.patch @@ -0,0 +1,28 @@ +From 2d732026044d8e6cd16465ee87a73ac9692c021b Mon Sep 17 00:00:00 2001 +From: Samuel Martin +Date: Fri, 3 Nov 2017 09:04:12 +0100 +Subject: [PATCH] fix build again obex/bluez + +[fetch from debian source: http://http.debian.net/debian/pool/main/u/ussp-push/ussp-push_0.11-4.debian.tar.xz] + +Signed-off-by: Samuel Martin +--- + src/obex_main.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/obex_main.c b/src/obex_main.c +index a7126e6..6233d7e 100644 +--- a/src/obex_main.c ++++ b/src/obex_main.c +@@ -197,7 +197,7 @@ obex_t *__obex_connect(int devid, void *addr, int timeout, int *err) + *err = -1; + return NULL; + } +- if (!(handle = OBEX_Init(OBEX_TRANS_CUST, obex_event, 0))) { ++ if (!(handle = OBEX_Init(OBEX_TRANS_CUSTOM, obex_event, 0))) { + BTERROR("OBEX_Init failed: %s\n", strerror(errno)); + obex_free(gt); + *err = -1; +-- +2.15.0 + diff --git a/package/ussp-push/0003-add-OBEX_CharToUnicode.patch b/package/ussp-push/0003-add-OBEX_CharToUnicode.patch new file mode 100644 index 0000000000..a660b5526b --- /dev/null +++ b/package/ussp-push/0003-add-OBEX_CharToUnicode.patch @@ -0,0 +1,47 @@ +From eafac77d76d2a23c191a56f715d6c4afc0800da8 Mon Sep 17 00:00:00 2001 +From: Samuel Martin +Date: Fri, 3 Nov 2017 09:10:01 +0100 +Subject: [PATCH] add OBEX_CharToUnicode + +[fetch from debian source: http://http.debian.net/debian/pool/main/u/ussp-push/ussp-push_0.11-4.debian.tar.xz] + +Signed-off-by: Samuel Martin +--- + src/obex_main.c | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + +diff --git a/src/obex_main.c b/src/obex_main.c +index 6233d7e..971cc37 100644 +--- a/src/obex_main.c ++++ b/src/obex_main.c +@@ -84,7 +84,27 @@ void request_done(obex_t * handle, obex_object_t * object, int obex_cmd, int obe + + int bt_debug; + ++static int OBEX_CharToUnicode(uint8_t *uc, const uint8_t *c, int size) ++{ ++ int len, n; ++ ++ if (uc == NULL || c == NULL) ++ return -1; ++ ++ len = n = strlen((char *) c); ++ if (n*2+2 > size) ++ return -1; ++ ++ uc[n*2+1] = 0; ++ uc[n*2] = 0; + ++ while (n--) { ++ uc[n*2+1] = c[n]; ++ uc[n*2] = 0; ++ } ++ ++ return (len * 2) + 2; ++} + + /* + * These two functions are from affix/profiles/obex/obex_io.c +-- +2.15.0 + diff --git a/package/ussp-push/Config.in b/package/ussp-push/Config.in index e6695bb197..aefec85a20 100644 --- a/package/ussp-push/Config.in +++ b/package/ussp-push/Config.in @@ -5,7 +5,6 @@ config BR2_PACKAGE_USSP_PUSH depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, alsa-lib, libglib2 depends on BR2_USE_MMU # dbus select BR2_PACKAGE_OPENOBEX - select BR2_PACKAGE_OPENOBEX_BLUEZ select BR2_PACKAGE_BLUEZ_UTILS help ussp-push is an OBEX object pusher for Linux, using the BlueZ diff --git a/package/ussp-push/ussp-push.hash b/package/ussp-push/ussp-push.hash index 91afb9d971..36c79cfa5d 100644 --- a/package/ussp-push/ussp-push.hash +++ b/package/ussp-push/ussp-push.hash @@ -1,2 +1,4 @@ # Locally calculated sha256 bb2748eaed6164812555b4a1e186c4f2820c5ef9ce30f12d7aac28a452719bbd ussp-push-0.11.tar.gz +# License files, locally calculated +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/package/ussp-push/ussp-push.mk b/package/ussp-push/ussp-push.mk index c3d11f97bf..0c45c291ac 100644 --- a/package/ussp-push/ussp-push.mk +++ b/package/ussp-push/ussp-push.mk @@ -6,7 +6,7 @@ USSP_PUSH_VERSION = 0.11 USSP_PUSH_SITE = http://www.xmailserver.org -USSP_PUSH_LICENSE = GPLv2+ +USSP_PUSH_LICENSE = GPL-2.0+ USSP_PUSH_LICENSE_FILES = COPYING USSP_PUSH_DEPENDENCIES = bluez_utils openobex diff --git a/package/ustr/ustr.mk b/package/ustr/ustr.mk index 715914cab6..6fca33457e 100644 --- a/package/ustr/ustr.mk +++ b/package/ustr/ustr.mk @@ -9,7 +9,7 @@ USTR_VERSION = 1.0.4 USTR_SOURCE = ustr-$(USTR_VERSION).tar.bz2 USTR_SITE = http://www.and.org/ustr/$(USTR_VERSION) -USTR_LICENSE = BSD-2c, MIT, LGPLv2+ +USTR_LICENSE = BSD-2-Clause, MIT, LGPL-2.0+ USTR_LICENSE_FILES = LICENSE LICENSE_BSD LICENSE_LGPL LICENSE_MIT USTR_AUTORECONF = YES USTR_PATCH = \ diff --git a/package/ustream-ssl/ustream-ssl.mk b/package/ustream-ssl/ustream-ssl.mk index b83d129a23..9b10788293 100644 --- a/package/ustream-ssl/ustream-ssl.mk +++ b/package/ustream-ssl/ustream-ssl.mk @@ -4,7 +4,7 @@ # ################################################################################ -USTREAM_SSL_VERSION = ec80adaa1b47f28d426fa19c692011ce60b992d6 +USTREAM_SSL_VERSION = 45ac93088bc6f2d8ef3b0512d8e1ddfd9c4ee9e5 USTREAM_SSL_SITE = git://git.openwrt.org/project/ustream-ssl.git USTREAM_SSL_LICENSE = ISC USTREAM_SSL_LICENSE_FILES = ustream-ssl.h diff --git a/package/util-linux/0001-build-sys-use-lm-for-scriptreplay-if-necessary.patch b/package/util-linux/0001-build-sys-use-lm-for-scriptreplay-if-necessary.patch deleted file mode 100644 index cbf1a81913..0000000000 --- a/package/util-linux/0001-build-sys-use-lm-for-scriptreplay-if-necessary.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 02283be90292b2f57183aa930c4d69375f1d905d Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Wed, 18 Jan 2017 13:17:21 +0100 -Subject: [PATCH] build-sys: use -lm for scriptreplay if necessary - -Reported-by: Bert van Hall -Addresses: https://github.com/karelzak/util-linux/pull/397 -Signed-off-by: Karel Zak -(cherry picked from commit feda4342df1ced25df3d200ed23469e740196c86) -Signed-off-by: Carlos Santos ---- - term-utils/Makemodule.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/term-utils/Makemodule.am b/term-utils/Makemodule.am -index 1b7c5fc..ad1bb1f 100644 ---- a/term-utils/Makemodule.am -+++ b/term-utils/Makemodule.am -@@ -21,7 +21,7 @@ if BUILD_SCRIPTREPLAY - usrbin_exec_PROGRAMS += scriptreplay - dist_man_MANS += term-utils/scriptreplay.1 - scriptreplay_SOURCES = term-utils/scriptreplay.c --scriptreplay_LDADD = $(LDADD) libcommon.la -+scriptreplay_LDADD = $(LDADD) libcommon.la $(MATH_LIBS) - endif # BUILD_SCRIPTREPLAY - - --- -2.7.4 - diff --git a/package/util-linux/0001-md5-declare-byteReverse-as-static.patch b/package/util-linux/0001-md5-declare-byteReverse-as-static.patch new file mode 100644 index 0000000000..a5b290c4db --- /dev/null +++ b/package/util-linux/0001-md5-declare-byteReverse-as-static.patch @@ -0,0 +1,44 @@ +From 424cee0f06ece9473786c189ab4741e1dea7061d Mon Sep 17 00:00:00 2001 +From: Luca Ceresoli +Date: Tue, 7 Nov 2017 14:39:09 +0100 +Subject: [PATCH] md5: declare byteReverse as static + +byteReverse() is an internal function in md5.c, and is not exposed via +any header file, but it is not declared as static. This is a problem +with the md5.c file since it is copied more or less verbatim in other +programs (fontconfig and pjsip among others), causing a link error +when linking two of them together. + +Fixes link failures such as: + http://autobuild.buildroot.net/results/419ab2c0e034cc68991281c51caa8271b0fadbab/build-end.log + +[Upstream patch: https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/commit/?id=424cee0f06ece9473786c189ab4741e1dea7061d] + +Signed-off-by: Luca Ceresoli +--- + lib/md5.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lib/md5.c b/lib/md5.c +index 488d16ef69b4..282e2d22af25 100644 +--- a/lib/md5.c ++++ b/lib/md5.c +@@ -21,13 +21,13 @@ + #if !defined(WORDS_BIGENDIAN) + #define byteReverse(buf, len) /* Nothing */ + #else +-void byteReverse(unsigned char *buf, unsigned longs); ++static void byteReverse(unsigned char *buf, unsigned longs); + + #ifndef ASM_MD5 + /* + * Note: this code is harmless on little-endian machines. + */ +-void byteReverse(unsigned char *buf, unsigned longs) ++static void byteReverse(unsigned char *buf, unsigned longs) + { + uint32_t t; + do { +-- +2.7.4 + diff --git a/package/util-linux/Config.in b/package/util-linux/Config.in index e957f848bb..5f0a35cdbb 100644 --- a/package/util-linux/Config.in +++ b/package/util-linux/Config.in @@ -1,6 +1,5 @@ menuconfig BR2_PACKAGE_UTIL_LINUX bool "util-linux" - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE help Various useful/essential linux libraries and utilities. @@ -55,12 +54,13 @@ config BR2_PACKAGE_UTIL_LINUX_BINARIES Install the basic set of util-linux binaries. blkdiscard, blkid, blockdev, chcpu, col, colcrt, colrm, - column, ctrlaltdel, dmesg, fdisk, findfs, findmnt, flock, - fsfreeze, fstrim, getopt, hexdump, ipcmk, isosize, ldattach, - look, lsblk, lscpu, lsipc, lslocks, lsns, mcookie, mkfs, - mkswap, namei, prlimit, readprofile, renice, rev, rtcwake, - script, scriptreplay, setarch, setsid, sfdisk, swaplabel, - swapoff, swapon, tailf, uuidgen, whereis, wipefs + column, ctrlaltdel, dmesg, fdisk, fincore, findfs, findmnt, + flock, fsfreeze, fstrim, getopt, hexdump, ipcmk, isosize, + ldattach, look, lsblk, lscpu, lsipc, lslocks, lsns, mcookie, + mkfs, mkswap, namei, prlimit, readprofile, renice, rev, + rtcwake, script, scriptreplay, setarch, setsid, sfdisk, + swaplabel, swapoff, swapon, uuidgen, uuidparse, whereis, + wipefs The setarch utility also installs architecture-specific symlinks like linux32, linux64, uname26, i386 and x86_64. @@ -95,11 +95,17 @@ comment "chfn/chsh needs a uClibc or glibc toolchain w/ wchar, locale, dynamic l depends on !(BR2_ENABLE_LOCALE && BR2_USE_WCHAR) \ || BR2_STATIC_LIBS || BR2_TOOLCHAIN_USES_MUSL +config BR2_PACKAGE_UTIL_LINUX_CHMEM + bool "chmem" + help + Sets a particular size or range of memory online or offline + config BR2_PACKAGE_UTIL_LINUX_CRAMFS bool "cramfs utilities" select BR2_PACKAGE_ZLIB help - Utilities for compressed ROM file system (fsck.cramfs, mkfs.cramfs) + Utilities for compressed ROM file system (fsck.cramfs, + mkfs.cramfs) config BR2_PACKAGE_UTIL_LINUX_EJECT bool "eject" @@ -159,26 +165,26 @@ config BR2_PACKAGE_UTIL_LINUX_LINE help Read one line -config BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS - bool "login utilities" - depends on BR2_USE_MMU # fork() (login, runuser, su, sulogin) - depends on (BR2_ENABLE_LOCALE && BR2_USE_WCHAR) # linux-pam - depends on !BR2_STATIC_LIBS - depends on !BR2_TOOLCHAIN_USES_MUSL # linux-pam - depends on BR2_USE_MMU # linux-pam - select BR2_PACKAGE_LINUX_PAM - help - Login utilities (last, login, runuser, su, sulogin) - -comment "login utilities needs a uClibc or glibc toolchain w/ wchar, locale, dynamic library" - depends on !(BR2_ENABLE_LOCALE && BR2_USE_WCHAR) \ - || BR2_STATIC_LIBS || BR2_TOOLCHAIN_USES_MUSL - config BR2_PACKAGE_UTIL_LINUX_LOGGER bool "logger" help Enter messages into the system log +config BR2_PACKAGE_UTIL_LINUX_LOGIN + bool "login" + depends on BR2_ENABLE_LOCALE # linux-pam + depends on BR2_USE_WCHAR # linux-pam + depends on !BR2_STATIC_LIBS # linux-pam + depends on !BR2_TOOLCHAIN_USES_MUSL # linux-pam + depends on BR2_USE_MMU # fork(), linux-pam + select BR2_PACKAGE_LINUX_PAM + help + Begin a session on the system + +comment "login needs a uClibc or glibc toolchain w/ wchar, locale, dynamic library" + depends on !(BR2_ENABLE_LOCALE && BR2_USE_WCHAR) \ + || BR2_STATIC_LIBS || BR2_TOOLCHAIN_USES_MUSL + config BR2_PACKAGE_UTIL_LINUX_LOSETUP bool "losetup" depends on BR2_USE_MMU # libsmartcols @@ -193,6 +199,13 @@ config BR2_PACKAGE_UTIL_LINUX_LSLOGINS help Display information about known users in the system +config BR2_PACKAGE_UTIL_LINUX_LSMEM + bool "lsmem" + depends on BR2_USE_MMU # libsmartcols + select BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS + help + List the ranges of available memory with their online status + config BR2_PACKAGE_UTIL_LINUX_MESG bool "mesg" help @@ -279,10 +292,30 @@ config BR2_PACKAGE_UTIL_LINUX_RENAME help Rename files -config BR2_PACKAGE_UTIL_LINUX_RESET - bool "reset" +config BR2_PACKAGE_UTIL_LINUX_RFKILL + bool "rfkill" + depends on BR2_USE_MMU # libsmartcols + select BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS help - Reset the terminal + Tool for enabling and disabling wireless devices. This new + implementation is based upon, and backward compatible with, + the original rfkill from Johannes Berg and Marcel Holtmann. + +config BR2_PACKAGE_UTIL_LINUX_RUNUSER + bool "runuser" + depends on (BR2_ENABLE_LOCALE && BR2_USE_WCHAR) # linux-pam + depends on !BR2_STATIC_LIBS + depends on !BR2_TOOLCHAIN_USES_MUSL # linux-pam + depends on BR2_USE_MMU # fork(), linux-pam + select BR2_PACKAGE_LINUX_PAM + help + Run a command with substitute user and group ID (does not need + to ask for a password, because it may be executed by the root + user only) + +comment "runuser needs a uClibc or glibc toolchain w/ wchar, locale, dynamic library" + depends on !(BR2_ENABLE_LOCALE && BR2_USE_WCHAR) \ + || BR2_STATIC_LIBS || BR2_TOOLCHAIN_USES_MUSL config BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS bool "scheduling utilities" @@ -301,6 +334,26 @@ config BR2_PACKAGE_UTIL_LINUX_SETTERM help Set terminal attributes +config BR2_PACKAGE_UTIL_LINUX_SU + bool "su" + depends on (BR2_ENABLE_LOCALE && BR2_USE_WCHAR) # linux-pam + depends on !BR2_STATIC_LIBS + depends on !BR2_TOOLCHAIN_USES_MUSL # linux-pam + depends on BR2_USE_MMU # fork(), linux-pam + select BR2_PACKAGE_LINUX_PAM + help + Run a command with substitute user and group ID + +comment "su needs a uClibc or glibc toolchain w/ wchar, locale, dynamic library" + depends on !(BR2_ENABLE_LOCALE && BR2_USE_WCHAR) \ + || BR2_STATIC_LIBS || BR2_TOOLCHAIN_USES_MUSL + +config BR2_PACKAGE_UTIL_LINUX_SULOGIN + bool "sulogin" + depends on BR2_USE_MMU # fork() + help + Single-user login + config BR2_PACKAGE_UTIL_LINUX_SWITCH_ROOT bool "switch_root" depends on BR2_USE_MMU # fork() diff --git a/package/util-linux/util-linux.hash b/package/util-linux/util-linux.hash index 71b4982f01..8142505f8d 100644 --- a/package/util-linux/util-linux.hash +++ b/package/util-linux/util-linux.hash @@ -1,2 +1,9 @@ -# From https://www.kernel.org/pub/linux/utils/util-linux/v2.29/sha256sums.asc -sha256 accea4d678209f97f634f40a93b7e9fcad5915d1f4749f6c47bee6bf110fe8e3 util-linux-2.29.2.tar.xz +# From https://www.kernel.org/pub/linux/utils/util-linux/v2.31/sha256sums.asc +sha256 f9be7cdcf4fc5c5064a226599acdda6bdf3d86c640152ba01ea642d91108dc8a util-linux-2.31.tar.xz +# License files, locally calculated +sha256 1e4b65802b0df8115395c697029d03339f983d451a473a08643309c684410d9a README.licensing +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 Documentation/licenses/COPYING.GPLv2 +sha256 ba7640f00d93e72e92b94b9d71f25ec53bac2f1682f5c4adcccb0018359f60f8 Documentation/licenses/COPYING.UCB +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 Documentation/licenses/COPYING.LGPLv2.1 +sha256 9b718a9460fed5952466421235bc79eb49d4e9eacc920d7a9dd6285ab8fd6c6d Documentation/licenses/COPYING.BSD-3 +sha256 996126b78a42dd2eeea1256d78b7fd6dec090ea196365c0ccb46adc32bc92460 sys-utils/rfkill.c diff --git a/package/util-linux/util-linux.mk b/package/util-linux/util-linux.mk index 05e1398937..8464288600 100644 --- a/package/util-linux/util-linux.mk +++ b/package/util-linux/util-linux.mk @@ -4,20 +4,17 @@ # ################################################################################ -UTIL_LINUX_VERSION_MAJOR = 2.29 -UTIL_LINUX_VERSION = $(UTIL_LINUX_VERSION_MAJOR).2 +UTIL_LINUX_VERSION_MAJOR = 2.31 +UTIL_LINUX_VERSION = $(UTIL_LINUX_VERSION_MAJOR) UTIL_LINUX_SOURCE = util-linux-$(UTIL_LINUX_VERSION).tar.xz UTIL_LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/util-linux/v$(UTIL_LINUX_VERSION_MAJOR) -# 0001-build-sys-use-lm-for-scriptreplay-if-necessary.patch -UTIL_LINUX_AUTORECONF = YES - -# README.licensing claims that some files are GPLv2-only, but this is not true. -# Some files are GPLv3+ but only in tests. -UTIL_LINUX_LICENSE = GPLv2+, BSD-4c, LGPLv2.1+ (libblkid, libfdisk, libmount), BSD-3c (libuuid) -UTIL_LINUX_LICENSE_FILES = README.licensing Documentation/licenses/COPYING.GPLv2 Documentation/licenses/COPYING.UCB Documentation/licenses/COPYING.LGPLv2.1 Documentation/licenses/COPYING.BSD-3 +# README.licensing claims that some files are GPL-2.0 only, but this is not true. +# Some files are GPL-3.0+ but only in tests. rfkill uses an ISC-style license. +UTIL_LINUX_LICENSE = GPL-2.0+, BSD-4-Clause, LGPL-2.1+ (libblkid, libfdisk, libmount), BSD-3-Clause (libuuid) ISC (rfkill) +UTIL_LINUX_LICENSE_FILES = README.licensing Documentation/licenses/COPYING.GPLv2 Documentation/licenses/COPYING.UCB Documentation/licenses/COPYING.LGPLv2.1 Documentation/licenses/COPYING.BSD-3 sys-utils/rfkill.c UTIL_LINUX_INSTALL_STAGING = YES -UTIL_LINUX_DEPENDENCIES = host-pkgconf +UTIL_LINUX_DEPENDENCIES = host-pkgconf $(TARGET_NLS_DEPENDENCIES) # uClibc needs NTP_LEGACY for sys/timex.h -> ntp_gettime() support # (used in logger.c), and the common default is N. UTIL_LINUX_CONF_ENV = scanf_cv_type_modifier=no \ @@ -25,6 +22,7 @@ UTIL_LINUX_CONF_ENV = scanf_cv_type_modifier=no \ UTIL_LINUX_CONF_OPTS += \ --disable-rpath \ --disable-makeinstall-chown +UTIL_LINUX_LIBS = $(TARGET_NLS_LIBS) # system depends on util-linux so we enable systemd support # (which needs systemd to be installed) @@ -32,7 +30,6 @@ UTIL_LINUX_CONF_OPTS += \ --without-systemd \ --with-systemdsystemunitdir=no -# We don't want the host-busybox dependency to be added automatically HOST_UTIL_LINUX_DEPENDENCIES = host-pkgconf # We also don't want the host-python dependency @@ -48,10 +45,10 @@ ifeq ($(BR2_PACKAGE_NCURSES),y) UTIL_LINUX_DEPENDENCIES += ncurses ifeq ($(BR2_PACKAGE_NCURSES_WCHAR),y) UTIL_LINUX_CONF_OPTS += --with-ncursesw -UTIL_LINUX_CONF_ENV += NCURSESW5_CONFIG=$(STAGING_DIR)/usr/bin/$(NCURSES_CONFIG_SCRIPTS) +UTIL_LINUX_CONF_ENV += NCURSESW6_CONFIG=$(STAGING_DIR)/usr/bin/$(NCURSES_CONFIG_SCRIPTS) else UTIL_LINUX_CONF_OPTS += --without-ncursesw --with-ncurses --disable-widechar -UTIL_LINUX_CONF_ENV += NCURSES5_CONFIG=$(STAGING_DIR)/usr/bin/$(NCURSES_CONFIG_SCRIPTS) +UTIL_LINUX_CONF_ENV += NCURSES6_CONFIG=$(STAGING_DIR)/usr/bin/$(NCURSES_CONFIG_SCRIPTS) endif else ifeq ($(BR2_USE_WCHAR),y) @@ -62,11 +59,6 @@ endif UTIL_LINUX_CONF_OPTS += --without-ncursesw --without-ncurses endif -ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y) -UTIL_LINUX_DEPENDENCIES += gettext -UTIL_LINUX_LIBS += -lintl -endif - ifeq ($(BR2_PACKAGE_LIBCAP_NG),y) UTIL_LINUX_DEPENDENCIES += libcap-ng endif @@ -104,6 +96,7 @@ UTIL_LINUX_CONF_OPTS += \ $(if $(BR2_PACKAGE_UTIL_LINUX_BFS),--enable-bfs,--disable-bfs) \ $(if $(BR2_PACKAGE_UTIL_LINUX_CAL),--enable-cal,--disable-cal) \ $(if $(BR2_PACKAGE_UTIL_LINUX_CHFN_CHSH),--enable-chfn-chsh,--disable-chfn-chsh) \ + $(if $(BR2_PACKAGE_UTIL_LINUX_CHMEM),--enable-chmem,--disable-chmem) \ $(if $(BR2_PACKAGE_UTIL_LINUX_CRAMFS),--enable-cramfs,--disable-cramfs) \ $(if $(BR2_PACKAGE_UTIL_LINUX_EJECT),--enable-eject,--disable-eject) \ $(if $(BR2_PACKAGE_UTIL_LINUX_FALLOCATE),--enable-fallocate,--disable-fallocate) \ @@ -121,9 +114,10 @@ UTIL_LINUX_CONF_OPTS += \ $(if $(BR2_PACKAGE_UTIL_LINUX_LIBUUID),--enable-libuuid,--disable-libuuid) \ $(if $(BR2_PACKAGE_UTIL_LINUX_LINE),--enable-line,--disable-line) \ $(if $(BR2_PACKAGE_UTIL_LINUX_LOGGER),--enable-logger,--disable-logger) \ - $(if $(BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS),--enable-last --enable-login --enable-runuser --enable-su --enable-sulogin,--disable-last --disable-login --disable-runuser --disable-su --disable-sulogin) \ + $(if $(BR2_PACKAGE_UTIL_LINUX_LOGIN),--enable-login,--disable-login) \ $(if $(BR2_PACKAGE_UTIL_LINUX_LOSETUP),--enable-losetup,--disable-losetup) \ $(if $(BR2_PACKAGE_UTIL_LINUX_LSLOGINS),--enable-lslogins,--disable-lslogins) \ + $(if $(BR2_PACKAGE_UTIL_LINUX_LSMEM),--enable-lsmem,--disable-lsmem) \ $(if $(BR2_PACKAGE_UTIL_LINUX_MESG),--enable-mesg,--disable-mesg) \ $(if $(BR2_PACKAGE_UTIL_LINUX_MINIX),--enable-minix,--disable-minix) \ $(if $(BR2_PACKAGE_UTIL_LINUX_MORE),--enable-more,--disable-more) \ @@ -137,10 +131,13 @@ UTIL_LINUX_CONF_OPTS += \ $(if $(BR2_PACKAGE_UTIL_LINUX_PIVOT_ROOT),--enable-pivot_root,--disable-pivot_root) \ $(if $(BR2_PACKAGE_UTIL_LINUX_RAW),--enable-raw,--disable-raw) \ $(if $(BR2_PACKAGE_UTIL_LINUX_RENAME),--enable-rename,--disable-rename) \ - $(if $(BR2_PACKAGE_UTIL_LINUX_RESET),--enable-reset,--disable-reset) \ + $(if $(BR2_PACKAGE_UTIL_LINUX_RFKILL),--enable-rfkill,--disable-rfkill) \ + $(if $(BR2_PACKAGE_UTIL_LINUX_RUNUSER),--enable-runuser,--disable-runuser) \ $(if $(BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS),--enable-schedutils,--disable-schedutils) \ $(if $(BR2_PACKAGE_UTIL_LINUX_SETPRIV),--enable-setpriv,--disable-setpriv) \ $(if $(BR2_PACKAGE_UTIL_LINUX_SETTERM),--enable-setterm,--disable-setterm) \ + $(if $(BR2_PACKAGE_UTIL_LINUX_SU),--enable-su,--disable-su) \ + $(if $(BR2_PACKAGE_UTIL_LINUX_SULOGIN),--enable-sulogin,--disable-sulogin) \ $(if $(BR2_PACKAGE_UTIL_LINUX_SWITCH_ROOT),--enable-switch_root,--disable-switch_root) \ $(if $(BR2_PACKAGE_UTIL_LINUX_TUNELP),--enable-tunelp,--disable-tunelp) \ $(if $(BR2_PACKAGE_UTIL_LINUX_UL),--enable-ul,--disable-ul) \ @@ -202,7 +199,7 @@ UTIL_LINUX_CONF_OPTS += --without-audit endif # Install PAM configuration files -ifeq ($(BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS),y) +ifeq ($(BR2_PACKAGE_UTIL_LINUX_SU)$(BR2_PACKAGE_LINUX_PAM),yy) define UTIL_LINUX_INSTALL_PAMFILES $(INSTALL) -m 0644 package/util-linux/su.pam \ $(TARGET_DIR)/etc/pam.d/su @@ -210,9 +207,8 @@ define UTIL_LINUX_INSTALL_PAMFILES $(TARGET_DIR)/etc/pam.d/su-l $(UTIL_LINUX_SELINUX_PAMFILES_TWEAK) endef -endif - UTIL_LINUX_POST_INSTALL_TARGET_HOOKS += UTIL_LINUX_INSTALL_PAMFILES +endif # Install agetty->getty symlink to avoid breakage when there's no busybox ifeq ($(BR2_PACKAGE_UTIL_LINUX_AGETTY),y) @@ -225,13 +221,5 @@ endif UTIL_LINUX_POST_INSTALL_TARGET_HOOKS += UTIL_LINUX_GETTY_SYMLINK -ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE)$(BR2_PACKAGE_UTIL_LINUX_LIBUUID),yy) -define UTIL_LINUX_TWEAK_UUID_PC - $(SED) '/Libs\.private: .*/d' $(STAGING_DIR)/usr/lib/pkgconfig/uuid.pc - printf "Libs.private: -lintl\n" >>$(STAGING_DIR)/usr/lib/pkgconfig/uuid.pc -endef -UTIL_LINUX_POST_INSTALL_TARGET_HOOKS += UTIL_LINUX_TWEAK_UUID_PC -endif - $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/v4l2grab/v4l2grab.mk b/package/v4l2grab/v4l2grab.mk index f3a8967dc4..68efe27fef 100644 --- a/package/v4l2grab/v4l2grab.mk +++ b/package/v4l2grab/v4l2grab.mk @@ -6,7 +6,7 @@ V4L2GRAB_VERSION = f8d8844d52387b3db7b8736f5e86156d9374f781 V4L2GRAB_SITE = $(call github,twam,v4l2grab,$(V4L2GRAB_VERSION)) -V4L2GRAB_LICENSE = GPLv2+ +V4L2GRAB_LICENSE = GPL-2.0+ V4L2GRAB_LICENSE_FILES = LICENSE.md # Fetched from github, no pre-generated configure script provided V4L2GRAB_AUTORECONF = YES diff --git a/package/v4l2loopback/Config.in b/package/v4l2loopback/Config.in new file mode 100644 index 0000000000..d8ca31e577 --- /dev/null +++ b/package/v4l2loopback/Config.in @@ -0,0 +1,30 @@ +config BR2_PACKAGE_V4L2LOOPBACK + bool "v4l2loopback" + depends on BR2_LINUX_KERNEL + help + This module allows you to create "virtual video devices". + Normal (v4l2) applications will read these devices as if + they were ordinary video devices, but the video will not be + read from e.g. a capture card but instead it is generated by + another application. + + https://github.com/umlaeute/v4l2loopback + +if BR2_PACKAGE_V4L2LOOPBACK + +config BR2_PACKAGE_V4L2LOOPBACK_UTILS + bool "utils" + depends on BR2_USE_MMU # bash + select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash + select BR2_PACKAGE_BASH # runtime dependency + select BR2_PACKAGE_SUDO # runtime dependency + help + Install applications to interact with v4l2-loopback devices + ("virtual video devices"). Currently there is only a single + command line utility: v4l2loopback-ctl: tool to set + framerate, format and timeout image. + +endif + +comment "v4l2loopback needs a Linux kernel to be built" + depends on !BR2_LINUX_KERNEL diff --git a/package/v4l2loopback/v4l2loopback.hash b/package/v4l2loopback/v4l2loopback.hash new file mode 100644 index 0000000000..2b69fd7fb7 --- /dev/null +++ b/package/v4l2loopback/v4l2loopback.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 9bb1e8d544019bead20813877415ae974fbc22f87c69772984a4abac433f36dd v4l2loopback-v0.10.0.tar.gz diff --git a/package/v4l2loopback/v4l2loopback.mk b/package/v4l2loopback/v4l2loopback.mk new file mode 100644 index 0000000000..669f8fc669 --- /dev/null +++ b/package/v4l2loopback/v4l2loopback.mk @@ -0,0 +1,19 @@ +################################################################################ +# +# v4l2loopback +# +################################################################################ + +V4L2LOOPBACK_VERSION = v0.10.0 +V4L2LOOPBACK_SITE = $(call github,umlaeute,v4l2loopback,$(V4L2LOOPBACK_VERSION)) +V4L2LOOPBACK_LICENSE = GPL-2.0+ +V4L2LOOPBACK_LICENSE_FILES = COPYING + +ifeq ($(BR2_PACKAGE_V4L2LOOPBACK_UTILS),y) +define V4L2LOOPBACK_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/utils/v4l2loopback-ctl $(TARGET_DIR)/usr/bin/v4l2loopback-ctl +endef +endif + +$(eval $(kernel-module)) +$(eval $(generic-package)) diff --git a/package/vala/vala.hash b/package/vala/vala.hash index ca5873c5d3..48212b22a4 100644 --- a/package/vala/vala.hash +++ b/package/vala/vala.hash @@ -1,2 +1,2 @@ -# From https://download.gnome.org/sources/vala/0.34/vala-0.34.4.sha256sum -sha256 6b17bd339414563ebc51f64b0b837919ea7552d8a8ffa71cdc837d25c9696b83 vala-0.34.4.tar.xz +# From https://download.gnome.org/sources/vala/0.34/vala-0.34.7.sha256sum +sha256 1b2cb14f377d4c41fa3a86d3d01b93017015ce91b6714a85f27346073b4034fa vala-0.34.7.tar.xz diff --git a/package/vala/vala.mk b/package/vala/vala.mk index dadfdfc1a9..ad0a5650f7 100644 --- a/package/vala/vala.mk +++ b/package/vala/vala.mk @@ -5,10 +5,10 @@ ################################################################################ VALA_VERSION_MAJOR = 0.34 -VALA_VERSION = $(VALA_VERSION_MAJOR).4 +VALA_VERSION = $(VALA_VERSION_MAJOR).7 VALA_SITE = http://download.gnome.org/sources/vala/$(VALA_VERSION_MAJOR) VALA_SOURCE = vala-$(VALA_VERSION).tar.xz -VALA_LICENSE = LGPLv2.1+ +VALA_LICENSE = LGPL-2.1+ VALA_LICENSE_FILES = COPYING HOST_VALA_DEPENDENCIES = host-bison host-flex host-libglib2 @@ -20,12 +20,12 @@ HOST_VALA_CONF_ENV = ac_cv_path_XSLTPROC=: # Otherwise we'll get host directory data which isn't enough define HOST_VALA_INSTALL_WRAPPER $(INSTALL) -D -m 0755 package/vala/vala-wrapper \ - $(HOST_DIR)/usr/bin/vala + $(HOST_DIR)/bin/vala $(INSTALL) -D -m 0755 package/vala/vala-wrapper \ - $(HOST_DIR)/usr/bin/valac + $(HOST_DIR)/bin/valac $(SED) 's,@VALA_VERSION@,$(VALA_VERSION_MAJOR),' \ - $(HOST_DIR)/usr/bin/vala \ - $(HOST_DIR)/usr/bin/valac + $(HOST_DIR)/bin/vala \ + $(HOST_DIR)/bin/valac endef HOST_VALA_POST_INSTALL_HOOKS += HOST_VALA_INSTALL_WRAPPER diff --git a/package/valgrind/Config.in b/package/valgrind/Config.in index 40e219d95a..75b779d214 100644 --- a/package/valgrind/Config.in +++ b/package/valgrind/Config.in @@ -1,14 +1,19 @@ +config BR2_PACKAGE_VALGRIND_ARCH_SUPPORTS + bool + default y if BR2_ARM_CPU_ARMV7A + default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el + default y if BR2_i386 || BR2_x86_64 + default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le + depends on !BR2_MIPS_SOFT_FLOAT + comment "valgrind needs a toolchain w/ dynamic library" + depends on BR2_PACKAGE_VALGRIND_ARCH_SUPPORTS depends on BR2_STATIC_LIBS config BR2_PACKAGE_VALGRIND bool "valgrind" - depends on BR2_ARM_CPU_ARMV7A || BR2_i386 || \ - BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el || \ - BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \ - BR2_x86_64 + depends on BR2_PACKAGE_VALGRIND_ARCH_SUPPORTS depends on !BR2_STATIC_LIBS - depends on !BR2_MIPS_SOFT_FLOAT help Tool for debugging and profiling Linux programs. diff --git a/package/valgrind/valgrind.mk b/package/valgrind/valgrind.mk index ccc6cc3905..32aeb97cee 100644 --- a/package/valgrind/valgrind.mk +++ b/package/valgrind/valgrind.mk @@ -7,7 +7,7 @@ VALGRIND_VERSION = 3.12.0 VALGRIND_SITE = http://valgrind.org/downloads VALGRIND_SOURCE = valgrind-$(VALGRIND_VERSION).tar.bz2 -VALGRIND_LICENSE = GPLv2, GFDLv1.2 +VALGRIND_LICENSE = GPL-2.0, GFDL-1.2 VALGRIND_LICENSE_FILES = COPYING COPYING.DOCS VALGRIND_CONF_OPTS = \ --disable-ubsan \ diff --git a/package/valijson/valijson.mk b/package/valijson/valijson.mk index e0813b3880..71bd6a8fb0 100644 --- a/package/valijson/valijson.mk +++ b/package/valijson/valijson.mk @@ -6,7 +6,7 @@ VALIJSON_VERSION = 424b706f990a9eb96dfc19cc8e54f2cd6ce5e186 VALIJSON_SITE = $(call github,tristanpenman,valijson,$(VALIJSON_VERSION)) -VALIJSON_LICENSE = BSD-2c +VALIJSON_LICENSE = BSD-2-Clause VALIJSON_LICENSE_FILES = LICENSE VALIJSON_INSTALL_STAGING = YES VALIJSON_INSTALL_TARGET = NO diff --git a/package/vboot-utils/0004-Disable-static-futility.patch b/package/vboot-utils/0004-Disable-static-futility.patch new file mode 100644 index 0000000000..649d31629a --- /dev/null +++ b/package/vboot-utils/0004-Disable-static-futility.patch @@ -0,0 +1,30 @@ +The package attempts to build a statically-linked host binary, futility_s, +which is not used anywhere in buildroot but may be causing build failures +if the build host lacks static libc. + +Signed-off-by: Alex Suykov + +--- a/Makefile ++++ b/Makefile +@@ -1079,7 +1079,7 @@ + # new Firmware Utility + + .PHONY: futil +-futil: ${FUTIL_STATIC_BIN} ${FUTIL_BIN} ++futil: ${FUTIL_BIN} + + ${FUTIL_STATIC_BIN}: ${FUTIL_STATIC_OBJS} ${UTILLIB} + @${PRINTF} " LD $(subst ${BUILD}/,,$@)\n" +@@ -1091,10 +1091,10 @@ + ${Q}${LD} -o $@ ${CFLAGS} ${LDFLAGS} $^ ${LDLIBS} + + .PHONY: futil_install +-futil_install: ${FUTIL_BIN} ${FUTIL_STATIC_BIN} ++futil_install: ${FUTIL_BIN} + @${PRINTF} " INSTALL futility\n" + ${Q}mkdir -p ${UB_DIR} +- ${Q}${INSTALL} -t ${UB_DIR} ${FUTIL_BIN} ${FUTIL_STATIC_BIN} ++ ${Q}${INSTALL} -t ${UB_DIR} ${FUTIL_BIN} + ${Q}for prog in ${FUTIL_SYMLINKS}; do \ + ln -sf futility "${UB_DIR}/$$prog"; done + diff --git a/package/vboot-utils/vboot-utils.hash b/package/vboot-utils/vboot-utils.hash index e16142389b..4ff6c39807 100644 --- a/package/vboot-utils/vboot-utils.hash +++ b/package/vboot-utils/vboot-utils.hash @@ -1,2 +1,2 @@ -# Git shapshot -none xxx bbdd62f9b030db7ad8eef789aaf58a7ff9a25656.tar.gz +# Locally computed +sha256 d95b64b1f1de4a3ffa5c2e446d7c8e92aa197aee10de24206b2ea2deb5a8b947 vboot-utils-bbdd62f9b030db7ad8eef789aaf58a7ff9a25656.tar.gz diff --git a/package/vboot-utils/vboot-utils.mk b/package/vboot-utils/vboot-utils.mk index a7592d6a4e..3f63f458cc 100644 --- a/package/vboot-utils/vboot-utils.mk +++ b/package/vboot-utils/vboot-utils.mk @@ -7,7 +7,7 @@ VBOOT_UTILS_VERSION = bbdd62f9b030db7ad8eef789aaf58a7ff9a25656 VBOOT_UTILS_SITE = https://chromium.googlesource.com/chromiumos/platform/vboot_reference VBOOT_UTILS_SITE_METHOD = git -VBOOT_UTILS_LICENSE = BSD-3c +VBOOT_UTILS_LICENSE = BSD-3-Clause VBOOT_UTILS_LICENSE_FILES = LICENSE HOST_VBOOT_UTILS_DEPENDENCIES = host-openssl host-util-linux host-pkgconf @@ -21,17 +21,22 @@ HOST_VBOOT_UTILS_DEPENDENCIES = host-openssl host-util-linux host-pkgconf # media partitioning. # # make target for futility is "futil". +# +# The value of ARCH is only relevant for crossystem (a target tool) and +# does not affect futil or cgpt in any way as long as it is one of the +# supported targets. define HOST_VBOOT_UTILS_BUILD_CMDS $(HOST_MAKE_ENV) $(MAKE) -C $(@D) \ CC="$(HOSTCC)" \ CFLAGS="$(HOST_CFLAGS) -D_LARGEFILE64_SOURCE -D_GNU_SOURCE" \ LDFLAGS="$(HOST_LDFLAGS)" \ + ARCH=arm \ futil cgpt endef define HOST_VBOOT_UTILS_INSTALL_CMDS - $(HOST_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(HOST_DIR)/usr \ + $(HOST_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(HOST_DIR) \ futil_install cgpt_install devkeys_install endef diff --git a/package/vde2/0002-fstp-Add-static-to-inline-functions.patch b/package/vde2/0002-fstp-Add-static-to-inline-functions.patch new file mode 100644 index 0000000000..0dbe083d06 --- /dev/null +++ b/package/vde2/0002-fstp-Add-static-to-inline-functions.patch @@ -0,0 +1,44 @@ +From 67bc8443ac7e8144a78d84dee30a5cac3b5c99a4 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Sun, 27 Aug 2017 23:56:05 +0200 +Subject: [PATCH] fstp: Add static to inline functions + +From [1] +"This is needed to avoid a link error where the inline functions appear +missing at link time. +From c99 standard inline function should either be declared static or +have an extern instance in a c file for linking. +This fix is necessary to build with gcc 7; for some reason it was not +trigerred before." + +[1] https://git.buildroot.net/buildroot/commit/?id=21133ada326c87627f7bdee4493d8086587c3cca + +Signed-off-by: Romain Naour +--- + src/vde_switch/fstp.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/vde_switch/fstp.c b/src/vde_switch/fstp.c +index aab7324..b1e7ee8 100644 +--- a/src/vde_switch/fstp.c ++++ b/src/vde_switch/fstp.c +@@ -30,14 +30,14 @@ static int numports; + #ifdef FSTP + #include + /*********************** sending macro used by FSTP & Core ******************/ +-void inline ltonstring(unsigned long l,unsigned char *s) { ++static void inline ltonstring(unsigned long l,unsigned char *s) { + s[3]=l; l>>=8; + s[2]=l; l>>=8; + s[1]=l; l>>=8; + s[0]=l; + } + +-unsigned long inline nstringtol(unsigned char *s) { ++static unsigned long inline nstringtol(unsigned char *s) { + return (s[0]<<24)+(s[1]<<16)+(s[2]<<8)+s[3]; + } + +-- +2.9.5 + diff --git a/package/vde2/vde2.mk b/package/vde2/vde2.mk index 3bbfd5f5ca..e2ec12416e 100644 --- a/package/vde2/vde2.mk +++ b/package/vde2/vde2.mk @@ -7,7 +7,7 @@ VDE2_VERSION = 2.3.2 VDE2_SOURCE = vde2-$(VDE2_VERSION).tar.bz2 VDE2_SITE = http://downloads.sourceforge.net/project/vde/vde2/$(VDE2_VERSION) -VDE2_LICENSE = GPLv2+, LGPLv2.1+, BSD-3c +VDE2_LICENSE = GPL-2.0+, LGPL-2.1+, BSD-3-Clause VDE2_LICENSE_FILES = COPYING COPYING.libvdeplug COPYING.slirpvde VDE2_INSTALL_STAGING = YES diff --git a/package/vdr-plugin-vnsiserver/vdr-plugin-vnsiserver.hash b/package/vdr-plugin-vnsiserver/vdr-plugin-vnsiserver.hash index cf403f50c8..97cb4b42aa 100644 --- a/package/vdr-plugin-vnsiserver/vdr-plugin-vnsiserver.hash +++ b/package/vdr-plugin-vnsiserver/vdr-plugin-vnsiserver.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 fd00fb6d833cad6a32a0d8259bb125abdf1716680650ba24b34bca2201745877 vdr-plugin-vnsiserver-v1.5.0.tar.gz +sha256 f8170b4d6f983e7b5b5110e0432ff46355998e170f66459588170cc320717f7f vdr-plugin-vnsiserver-v1.5.2.tar.gz diff --git a/package/vdr-plugin-vnsiserver/vdr-plugin-vnsiserver.mk b/package/vdr-plugin-vnsiserver/vdr-plugin-vnsiserver.mk index aaa0859e58..a25a99dfa8 100644 --- a/package/vdr-plugin-vnsiserver/vdr-plugin-vnsiserver.mk +++ b/package/vdr-plugin-vnsiserver/vdr-plugin-vnsiserver.mk @@ -4,9 +4,9 @@ # ################################################################################ -VDR_PLUGIN_VNSISERVER_VERSION = v1.5.0 +VDR_PLUGIN_VNSISERVER_VERSION = v1.5.2 VDR_PLUGIN_VNSISERVER_SITE = $(call github,FernetMenta,vdr-plugin-vnsiserver,$(VDR_PLUGIN_VNSISERVER_VERSION)) -VDR_PLUGIN_VNSISERVER_LICENSE = GPLv2+ +VDR_PLUGIN_VNSISERVER_LICENSE = GPL-2.0+ VDR_PLUGIN_VNSISERVER_LICENSE_FILES = COPYING VDR_PLUGIN_VNSISERVER_DEPENDENCIES = vdr diff --git a/package/vdr/Config.in b/package/vdr/Config.in index d283b462b1..65117f5461 100644 --- a/package/vdr/Config.in +++ b/package/vdr/Config.in @@ -3,10 +3,10 @@ config BR2_PACKAGE_VDR depends on BR2_INSTALL_LIBSTDCPP depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9 depends on !BR2_TOOLCHAIN_USES_MUSL # _nl_msg_cat_cntr depends on BR2_USE_MMU # fork() depends on BR2_USE_WCHAR - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT select BR2_PACKAGE_FONTCONFIG select BR2_PACKAGE_FREETYPE select BR2_PACKAGE_JPEG @@ -18,8 +18,9 @@ config BR2_PACKAGE_VDR http://www.tvdr.de -comment "vdr needs a glibc or uClibc toolchain w/ C++, dynamic library, NPTL, wchar" +comment "vdr needs a glibc or uClibc toolchain w/ C++, dynamic library, NPTL, wchar, headers >= 3.9" depends on BR2_USE_MMU depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \ !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ - BR2_TOOLCHAIN_USES_MUSL || !BR2_USE_WCHAR + BR2_TOOLCHAIN_USES_MUSL || !BR2_USE_WCHAR || \ + !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9 diff --git a/package/vdr/vdr.hash b/package/vdr/vdr.hash index edbcd3fccd..2ced98d967 100644 --- a/package/vdr/vdr.hash +++ b/package/vdr/vdr.hash @@ -1,4 +1,4 @@ -# From https://www.linuxtv.org/pipermail/vdr/2016-December/029178.html -md5 6dbb208ea3d59658a18912b49af175b3 vdr-2.3.2.tar.bz2 +# From https://www.linuxtv.org/pipermail/vdr/2017-May/029263.html +md5 01fabef4d20ec01f11d53354d99a9642 vdr-2.3.5.tar.bz2 # Locally computed -sha256 6c6ab08cf4dadd296e5e4a1c13f793c2e9222ec23103ae7aa9d616619f1496c0 vdr-2.3.2.tar.bz2 +sha256 323fd01e4f8daef24bbdcb906023d18c998a204a22de110d1cb0089532e818b5 vdr-2.3.5.tar.bz2 diff --git a/package/vdr/vdr.mk b/package/vdr/vdr.mk index cdfa7e3af8..242c5798d1 100644 --- a/package/vdr/vdr.mk +++ b/package/vdr/vdr.mk @@ -4,17 +4,18 @@ # ################################################################################ -VDR_VERSION = 2.3.2 +VDR_VERSION = 2.3.5 VDR_SOURCE = vdr-$(VDR_VERSION).tar.bz2 VDR_SITE = ftp://ftp.tvdr.de/vdr/Developer -VDR_LICENSE = GPLv2+ +VDR_LICENSE = GPL-2.0+ VDR_LICENSE_FILES = COPYING VDR_INSTALL_STAGING = YES VDR_DEPENDENCIES = \ freetype \ fontconfig \ jpeg \ - libcap + libcap \ + $(TARGET_NLS_DEPENDENCIES) VDR_INCLUDE_DIRS = -I$(STAGING_DIR)/usr/include/freetype2 VDR_MAKE_FLAGS = \ @@ -22,11 +23,7 @@ VDR_MAKE_FLAGS = \ PLUGINLIBDIR=/usr/lib/vdr \ PREFIX=/usr \ VIDEODIR=/var/lib/vdr - -ifeq ($(BR2_NEEDS_GETTEXT),y) -VDR_DEPENDENCIES += gettext -VDR_LDFLAGS += -lintl -endif +VDR_LDFLAGS = $(TARGET_NLS_LIBS) ifeq ($(BR2_PACKAGE_LIBFRIBIDI),y) VDR_DEPENDENCIES += libfribidi diff --git a/package/vim/Config.in b/package/vim/Config.in index b851627ca0..1469be8dbe 100644 --- a/package/vim/Config.in +++ b/package/vim/Config.in @@ -4,7 +4,6 @@ config BR2_PACKAGE_VIM depends on BR2_USE_WCHAR depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS select BR2_PACKAGE_NCURSES - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE help VIM Text editor diff --git a/package/vim/vim.mk b/package/vim/vim.mk index ec494608e7..5ee889882a 100644 --- a/package/vim/vim.mk +++ b/package/vim/vim.mk @@ -8,7 +8,7 @@ VIM_VERSION = v8.0.0329 VIM_SITE = $(call github,vim,vim,$(VIM_VERSION)) # Win over busybox vi since vim is more feature-rich VIM_DEPENDENCIES = \ - ncurses $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) \ + ncurses $(TARGET_NLS_DEPENDENCIES) \ $(if $(BR2_PACKAGE_BUSYBOX),busybox) VIM_SUBDIR = src VIM_CONF_ENV = \ @@ -75,4 +75,7 @@ VIM_POST_INSTALL_TARGET_HOOKS += VIM_INSTALL_RUNTIME_CMDS VIM_POST_INSTALL_TARGET_HOOKS += VIM_REMOVE_DOCS endif +HOST_VIM_DEPENDENCIES = host-ncurses + $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/vlc/0013-codec-avcodec-check-avcodec-visible-sizes.patch b/package/vlc/0013-codec-avcodec-check-avcodec-visible-sizes.patch new file mode 100644 index 0000000000..41a5e25d38 --- /dev/null +++ b/package/vlc/0013-codec-avcodec-check-avcodec-visible-sizes.patch @@ -0,0 +1,33 @@ +From 6cc73bcad19da2cd2e95671173f2e0d203a57e9b Mon Sep 17 00:00:00 2001 +From: Francois Cartegnie +Date: Thu, 29 Jun 2017 09:45:20 +0200 +Subject: [PATCH] codec: avcodec: check avcodec visible sizes + +refs #18467 + +Signed-off-by: Peter Korsgaard +--- + modules/codec/avcodec/video.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/modules/codec/avcodec/video.c b/modules/codec/avcodec/video.c +index 1bcad21..ce52544 100644 +--- a/modules/codec/avcodec/video.c ++++ b/modules/codec/avcodec/video.c +@@ -137,9 +137,11 @@ static inline picture_t *ffmpeg_NewPictBuf( decoder_t *p_dec, + } + + +- if( width == 0 || height == 0 || width > 8192 || height > 8192 ) ++ if( width == 0 || height == 0 || width > 8192 || height > 8192 || ++ width < p_context->width || height < p_context->height ) + { +- msg_Err( p_dec, "Invalid frame size %dx%d.", width, height ); ++ msg_Err( p_dec, "Invalid frame size %dx%d. vsz %dx%d", ++ width, height, p_context->width, p_context->height ); + return NULL; /* invalid display size */ + } + p_dec->fmt_out.video.i_width = width; +-- +2.1.4 + diff --git a/package/vlc/0014-decoder-check-visible-size-when-creating-buffer.patch b/package/vlc/0014-decoder-check-visible-size-when-creating-buffer.patch new file mode 100644 index 0000000000..a16dcf0e97 --- /dev/null +++ b/package/vlc/0014-decoder-check-visible-size-when-creating-buffer.patch @@ -0,0 +1,33 @@ +From a38a85db58c569cc592d9380cc07096757ef3d49 Mon Sep 17 00:00:00 2001 +From: Francois Cartegnie +Date: Thu, 29 Jun 2017 11:09:02 +0200 +Subject: [PATCH] decoder: check visible size when creating buffer + +early reject invalid visible size +mishandled by filters. + +refs #18467 + +Signed-off-by: Peter Korsgaard +--- + src/input/decoder.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/input/decoder.c b/src/input/decoder.c +index 2c0823f..a216165 100644 +--- a/src/input/decoder.c ++++ b/src/input/decoder.c +@@ -2060,7 +2060,9 @@ static picture_t *vout_new_buffer( decoder_t *p_dec ) + vout_thread_t *p_vout; + + if( !p_dec->fmt_out.video.i_width || +- !p_dec->fmt_out.video.i_height ) ++ !p_dec->fmt_out.video.i_height || ++ p_dec->fmt_out.video.i_width < p_dec->fmt_out.video.i_visible_width || ++ p_dec->fmt_out.video.i_height < p_dec->fmt_out.video.i_visible_height ) + { + /* Can't create a new vout without display size */ + return NULL; +-- +2.1.4 + diff --git a/package/vlc/vlc.hash b/package/vlc/vlc.hash index efd4e27e74..628dad74d9 100644 --- a/package/vlc/vlc.hash +++ b/package/vlc/vlc.hash @@ -1,2 +1,2 @@ -# From http://download.videolan.org/pub/videolan/vlc/2.2.3/vlc-2.2.3.tar.xz.sha256 -sha256 1632e91d2a0087e0ef4c3fb4c95c3c2890f7715a9d1d43ffd46329f428cf53be vlc-2.2.4.tar.xz +# From http://download.videolan.org/pub/videolan/vlc/2.2.6/vlc-2.2.6.tar.xz.sha256 +sha256 c403d3accd9a400eb2181c958f3e7bc5524fe5738425f4253d42883b425a42a8 vlc-2.2.6.tar.xz diff --git a/package/vlc/vlc.mk b/package/vlc/vlc.mk index 583edf3659..4602f92c4b 100644 --- a/package/vlc/vlc.mk +++ b/package/vlc/vlc.mk @@ -4,10 +4,10 @@ # ################################################################################ -VLC_VERSION = 2.2.4 +VLC_VERSION = 2.2.6 VLC_SITE = http://get.videolan.org/vlc/$(VLC_VERSION) VLC_SOURCE = vlc-$(VLC_VERSION).tar.xz -VLC_LICENSE = GPLv2+, LGPLv2.1+ +VLC_LICENSE = GPL-2.0+, LGPL-2.1+ VLC_LICENSE_FILES = COPYING COPYING.LIB VLC_DEPENDENCIES = host-pkgconf VLC_AUTORECONF = YES @@ -61,7 +61,7 @@ VLC_CONF_OPTS += \ --disable-mfx \ --disable-vdpau \ --disable-addonmanagermodules \ - --enable-run-as-root \ + --enable-run-as-root # Uses __atomic_fetch_add_4 ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) @@ -359,9 +359,9 @@ endif ifeq ($(BR2_PACKAGE_QT_GUI_MODULE),y) VLC_CONF_OPTS += --enable-qt VLC_CONF_ENV += \ - ac_cv_path_MOC=$(HOST_DIR)/usr/bin/moc \ - ac_cv_path_RCC=$(HOST_DIR)/usr/bin/rcc \ - ac_cv_path_UIC=$(HOST_DIR)/usr/bin/uic + ac_cv_path_MOC=$(HOST_DIR)/bin/moc \ + ac_cv_path_RCC=$(HOST_DIR)/bin/rcc \ + ac_cv_path_UIC=$(HOST_DIR)/bin/uic VLC_DEPENDENCIES += qt else VLC_CONF_OPTS += --disable-qt diff --git a/package/vnstat/0001-configure.ac-add-option-to-disable-image-output.patch b/package/vnstat/0001-configure.ac-add-option-to-disable-image-output.patch deleted file mode 100644 index e46ef07888..0000000000 --- a/package/vnstat/0001-configure.ac-add-option-to-disable-image-output.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 8a4a9b82d4f8fd39db8417fd06d969505fde9d0a Mon Sep 17 00:00:00 2001 -From: Rodrigo Rebello -Date: Tue, 22 Dec 2015 18:02:22 -0200 -Subject: [PATCH 1/1] configure.ac: add option to disable image output - -Even when the gd library is present, it may be desirable to not build -'vnstati' as image output is an optional feature. - -Also, when testing for the gd library, use gdImagePng() instead of -gdImageLine() since it's possible that the installed gd library doesn't -have PNG support. In such cases, the test in the configure script passed -(because gdImageLine() is always present), but the build failed with: - - src/vnstati.o: In function `writeoutput': - vnstati.c:(.text+0x3fc): undefined reference to `gdImagePng' - collect2: error: ld returned 1 exit status - -Upstream status: accepted, not yet released. -https://github.com/vergoh/vnstat/pull/35 - -Signed-off-by: Rodrigo Rebello ---- - configure.ac | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index be3d449..89f71ef 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -13,10 +13,16 @@ AM_PROG_CC_C_O - AC_PROG_MAKE_SET - AC_PROG_MKDIR_P - -+AC_ARG_ENABLE([image-output], [ -+AS_HELP_STRING([--disable-image-output], [disable PNG image output])]) -+ - # Checks for libraries. - AC_CHECK_LIB([m], [pow]) --AC_CHECK_LIB([gd], [gdImageLine], [IMAGELIBS=-lgd]) --AC_SUBST([IMAGELIBS]) -+ -+AS_IF([test "x$enable_image_output" != "xno"], [ -+AC_CHECK_LIB([gd], [gdImagePng], [IMAGELIBS=-lgd]) -+AC_SUBST([IMAGELIBS])]) -+ - AM_CONDITIONAL([HAVE_LIBGD], [test "$IMAGELIBS" = "-lgd"]) - PKG_CHECK_MODULES([CHECK], [check >= 0.9.6], [], [AC_MSG_NOTICE([testcases can not be execute without check installed])]) - AM_CONDITIONAL([HAVE_CHECK], [test "$CHECK_LIBS"]) --- -2.1.4 - diff --git a/package/vnstat/vnstat.hash b/package/vnstat/vnstat.hash index 82ee8c02ba..1f515290c2 100644 --- a/package/vnstat/vnstat.hash +++ b/package/vnstat/vnstat.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 c3814b5baa8b627198a8debfe1dce4b4346a342523818cc8668a5497971dbc39 vnstat-1.15.tar.gz +sha256 18e4c53576ca9e1ef2f0e063a6d83b0c44e3b1cf008560d658745df5c9aa7971 vnstat-1.17.tar.gz diff --git a/package/vnstat/vnstat.mk b/package/vnstat/vnstat.mk index 576f240a28..18fb319177 100644 --- a/package/vnstat/vnstat.mk +++ b/package/vnstat/vnstat.mk @@ -4,13 +4,11 @@ # ################################################################################ -VNSTAT_VERSION = 1.15 +VNSTAT_VERSION = 1.17 VNSTAT_SITE = http://humdi.net/vnstat -VNSTAT_LICENSE = GPLv2 +VNSTAT_LICENSE = GPL-2.0 VNSTAT_LICENSE_FILES = COPYING VNSTAT_DEPENDENCIES = host-pkgconf -# We're patching configure.ac, so we need to autoreconf -VNSTAT_AUTORECONF = YES ifeq ($(BR2_PACKAGE_GD)$(BR2_PACKAGE_LIBPNG),yy) VNSTAT_DEPENDENCIES += gd @@ -19,10 +17,4 @@ else VNSTAT_CONF_OPTS = --disable-image-output endif -# vnStat declares an 'install-data-hook' rule that tries to run -# 'vnstat --showconfig' on the host to generate a default config file. -# That obviously doesn't work when cross-compiling, so avoid it -# entirely. -VNSTAT_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install-exec - $(eval $(autotools-package)) diff --git a/package/vorbis-tools/vorbis-tools.mk b/package/vorbis-tools/vorbis-tools.mk index fc8e7dd107..1bec1e2b96 100644 --- a/package/vorbis-tools/vorbis-tools.mk +++ b/package/vorbis-tools/vorbis-tools.mk @@ -6,7 +6,7 @@ VORBIS_TOOLS_VERSION = 1.4.0 VORBIS_TOOLS_SITE = http://downloads.xiph.org/releases/vorbis -VORBIS_TOOLS_LICENSE = GPLv2 +VORBIS_TOOLS_LICENSE = GPL-2.0 VORBIS_TOOLS_LICENSE_FILES = COPYING VORBIS_TOOLS_DEPENDENCIES = libao libogg libvorbis libcurl VORBIS_TOOLS_CONF_OPTS = --program-transform-name='' diff --git a/package/vpnc/Config.in b/package/vpnc/Config.in index 2049c45731..6455b0d87a 100644 --- a/package/vpnc/Config.in +++ b/package/vpnc/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_VPNC bool "vpnc" depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt + depends on !BR2_STATIC_LIBS # gnutls depends on BR2_USE_MMU # fork() depends on BR2_USE_WCHAR # gnutls select BR2_PACKAGE_LIBGCRYPT @@ -15,6 +16,6 @@ config BR2_PACKAGE_VPNC http://www.unix-ag.uni-kl.de/~massar/vpnc -comment "vpnc needs a toolchain w/ wchar" +comment "vpnc needs a toolchain w/ wchar, dynamic library" depends on BR2_USE_MMU - depends on !BR2_USE_WCHAR + depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS diff --git a/package/vpnc/vpnc.mk b/package/vpnc/vpnc.mk index 282a422508..81cd830ead 100644 --- a/package/vpnc/vpnc.mk +++ b/package/vpnc/vpnc.mk @@ -6,7 +6,7 @@ VPNC_VERSION = b1243d29e0c00312ead038b04a2cf5e2fa31d740 VPNC_SITE = $(call github,ndpgroup,vpnc,$(VPNC_VERSION)) -VPNC_LICENSE = GPLv2+ +VPNC_LICENSE = GPL-2.0+ VPNC_LICENSE_FILES = COPYING VPNC_DEPENDENCIES = libgcrypt libgpg-error gnutls host-pkgconf diff --git a/package/vsftpd/vsftpd.mk b/package/vsftpd/vsftpd.mk index fd92346064..2f86d91ba2 100644 --- a/package/vsftpd/vsftpd.mk +++ b/package/vsftpd/vsftpd.mk @@ -7,7 +7,7 @@ VSFTPD_VERSION = 3.0.3 VSFTPD_SITE = https://security.appspot.com/downloads VSFTPD_LIBS = -lcrypt -VSFTPD_LICENSE = GPLv2 +VSFTPD_LICENSE = GPL-2.0 VSFTPD_LICENSE_FILES = COPYING define VSFTPD_DISABLE_UTMPX diff --git a/package/vtun/Config.in b/package/vtun/Config.in index c1f6d384fc..bb8919c3d0 100644 --- a/package/vtun/Config.in +++ b/package/vtun/Config.in @@ -1,9 +1,9 @@ config BR2_PACKAGE_VTUN bool "vtun" + depends on BR2_USE_MMU # fork() select BR2_PACKAGE_LZO select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_ZLIB - depends on BR2_USE_MMU # fork() help Tool for easily creating Virtual Tunnels over TCP/IP networks with traffic shaping, compression, and encryption. diff --git a/package/vtun/vtun.mk b/package/vtun/vtun.mk index 5e0e266661..9c46559fb8 100644 --- a/package/vtun/vtun.mk +++ b/package/vtun/vtun.mk @@ -6,7 +6,7 @@ VTUN_VERSION = 3.0.3 VTUN_SITE = http://downloads.sourceforge.net/project/vtun/vtun/$(VTUN_VERSION) -VTUN_LICENSE = GPLv2+ with OpenSSL exception +VTUN_LICENSE = GPL-2.0+ with OpenSSL exception VTUN_LICENSE_FILES = README.OpenSSL VTUN_DEPENDENCIES = host-bison host-flex zlib lzo openssl VTUN_AUTORECONF = YES diff --git a/package/w_scan/0001-musl.patch b/package/w_scan/0001-musl.patch index 7633d551dd..46d67677a8 100644 --- a/package/w_scan/0001-musl.patch +++ b/package/w_scan/0001-musl.patch @@ -20,7 +20,7 @@ diff -uNr w_scan-20141122.org/version.h w_scan-20141122/version.h /* AUTOMATICALLY GENERATED - DO NOT EDIT MANUALLY */ #ifndef W_SCAN_VERSION_H #define W_SCAN_VERSION_H --uint version=20141122; -+unsigned int version=20141122; +-uint version=20170107; ++unsigned int version=20170107; #endif diff --git a/package/w_scan/w_scan.hash b/package/w_scan/w_scan.hash index 4c336f3d56..e04a084360 100644 --- a/package/w_scan/w_scan.hash +++ b/package/w_scan/w_scan.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 b6d7c9ab997c53a0b0d92e8390f313cc3b82ee8ece1756b4e526119fd5ba09b4 w_scan-20141122.tar.bz2 +sha256 38e0f38a7bf06cff6d6ea01652ad4ee60da2cb0e937360468f936da785b46ffe w_scan-20170107.tar.bz2 diff --git a/package/w_scan/w_scan.mk b/package/w_scan/w_scan.mk index 3ec84ed8b6..c63f20cc9e 100644 --- a/package/w_scan/w_scan.mk +++ b/package/w_scan/w_scan.mk @@ -4,10 +4,10 @@ # ################################################################################ -W_SCAN_VERSION = 20141122 +W_SCAN_VERSION = 20170107 W_SCAN_SOURCE = w_scan-$(W_SCAN_VERSION).tar.bz2 W_SCAN_SITE = http://wirbel.htpc-forum.de/w_scan -W_SCAN_LICENSE = GPLv2+ +W_SCAN_LICENSE = GPL-2.0+ W_SCAN_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_LIBICONV),y) diff --git a/package/waf/waf.mk b/package/waf/waf.mk index 3d61f267e6..e7ac891b39 100644 --- a/package/waf/waf.mk +++ b/package/waf/waf.mk @@ -13,7 +13,7 @@ define HOST_WAF_EXTRACT_CMDS endef define HOST_WAF_INSTALL_CMDS - $(INSTALL) -D -m 0755 $(@D)/waf $(HOST_DIR)/usr/bin/waf + $(INSTALL) -D -m 0755 $(@D)/waf $(HOST_DIR)/bin/waf endef $(eval $(host-generic-package)) diff --git a/package/wavemon/wavemon.mk b/package/wavemon/wavemon.mk index 5a1b7ee0d5..e87ab7a368 100644 --- a/package/wavemon/wavemon.mk +++ b/package/wavemon/wavemon.mk @@ -6,7 +6,7 @@ WAVEMON_VERSION = v0.8.1 WAVEMON_SITE = $(call github,uoaerg,wavemon,$(WAVEMON_VERSION)) -WAVEMON_LICENSE = GPLv3+ +WAVEMON_LICENSE = GPL-3.0+ WAVEMON_LICENSE_FILES = COPYING WAVEMON_DEPENDENCIES = host-pkgconf libnl ncurses diff --git a/package/wavpack/0001-fix-Github-issue-19-new-dependency-on-wchar-t-by-removing.patch b/package/wavpack/0001-fix-Github-issue-19-new-dependency-on-wchar-t-by-removing.patch new file mode 100644 index 0000000000..e5faf91221 --- /dev/null +++ b/package/wavpack/0001-fix-Github-issue-19-new-dependency-on-wchar-t-by-removing.patch @@ -0,0 +1,70 @@ +From 876fc3f3907e871d0938ac6c8c5252f5f31abd1f Mon Sep 17 00:00:00 2001 +From: David Bryant +Date: Thu, 16 Feb 2017 17:11:12 -0800 +Subject: [PATCH] fix GitHub issue #19 (new dependency on wchar_t) by removing + dependency + +[Upstream commit: https://github.com/dbry/WavPack/commit/876fc3f3907e871d0938ac6c8c5252f5f31abd1f] +Signed-off-by: Thomas Petazzoni +--- + cli/import_id3.c | 10 +++++----- + cli/wvtag.c | 2 ++ + 2 files changed, 7 insertions(+), 5 deletions(-) + +diff --git a/cli/import_id3.c b/cli/import_id3.c +index 51e54ee..fc30aeb 100644 +--- a/cli/import_id3.c ++++ b/cli/import_id3.c +@@ -34,7 +34,7 @@ static struct { + + #define NUM_TEXT_TAG_ITEMS (sizeof (text_tag_table) / sizeof (text_tag_table [0])) + +-static int WideCharToUTF8 (const wchar_t *Wide, unsigned char *pUTF8, int len); ++static int WideCharToUTF8 (const uint16_t *Wide, unsigned char *pUTF8, int len); + static void Latin1ToUTF8 (void *string, int len); + + // Import specified ID3v2.3 tag. The WavPack context accepts the tag items, and can be +@@ -163,7 +163,7 @@ int ImportID3v2 (WavpackContext *wpc, unsigned char *tag_data, int tag_size, cha + } + else if (frame_body [0] == 1 && frame_size > 2 && frame_body [1] == 0xFF && frame_body [2] == 0xFE) { + int nchars = (frame_size - 3) / 2; +- wchar_t *wide_string = malloc ((nchars + 1) * sizeof (wchar_t)); ++ uint16_t *wide_string = malloc ((nchars + 1) * sizeof (uint16_t)); + unsigned char *fp = frame_body + 3; + + utf8_string = malloc ((nchars + 1) * 3); +@@ -297,9 +297,9 @@ int ImportID3v2 (WavpackContext *wpc, unsigned char *tag_data, int tag_size, cha + // may be less than the number of characters in the wide string if the buffer + // length is exceeded. + +-static int WideCharToUTF8 (const wchar_t *Wide, unsigned char *pUTF8, int len) ++static int WideCharToUTF8 (const uint16_t *Wide, unsigned char *pUTF8, int len) + { +- const wchar_t *pWide = Wide; ++ const uint16_t *pWide = Wide; + int outndx = 0; + + while (*pWide) { +@@ -335,7 +335,7 @@ static int WideCharToUTF8 (const wchar_t *Wide, unsigned char *pUTF8, int len) + static void Latin1ToUTF8 (void *string, int len) + { + int max_chars = (int) strlen (string); +- wchar_t *temp = (wchar_t *) malloc ((max_chars + 1) * 2); ++ uint16_t *temp = (uint16_t *) malloc ((max_chars + 1) * sizeof (uint16_t)); + + MultiByteToWideChar (28591, 0, string, -1, temp, max_chars + 1); + WideCharToUTF8 (temp, (unsigned char *) string, len); +diff --git a/cli/wvtag.c b/cli/wvtag.c +index 6e6512a..45e621e 100644 +--- a/cli/wvtag.c ++++ b/cli/wvtag.c +@@ -1344,7 +1344,9 @@ static void dump_UTF8_string (char *string, FILE *dst) + // resulting string will not fit in the specified buffer size then it is + // truncated. + ++#if defined (_WIN32) + static int UTF8ToWideChar (const unsigned char *pUTF8, wchar_t *pWide); ++#endif + + static void UTF8ToAnsi (char *string, int len) + { diff --git a/package/wavpack/wavpack.hash b/package/wavpack/wavpack.hash index 16ff08cc6c..56ba7d839c 100644 --- a/package/wavpack/wavpack.hash +++ b/package/wavpack/wavpack.hash @@ -1,3 +1,2 @@ # locally computed hash sha256 1939627d5358d1da62bc6158d63f7ed12905552f3a799c799ee90296a7612944 wavpack-5.1.0.tar.bz2 -sha256 3890ab081dc6f8ee02161ace180381327031cc24cc6c3d71668367b7e5f6e4be 876fc3f3907e871d0938ac6c8c5252f5f31abd1f.patch diff --git a/package/wavpack/wavpack.mk b/package/wavpack/wavpack.mk index a613506234..c23b12752a 100644 --- a/package/wavpack/wavpack.mk +++ b/package/wavpack/wavpack.mk @@ -9,12 +9,9 @@ WAVPACK_SITE = http://www.wavpack.com WAVPACK_SOURCE = wavpack-$(WAVPACK_VERSION).tar.bz2 WAVPACK_INSTALL_STAGING = YES WAVPACK_DEPENDENCIES = $(if $(BR2_ENABLE_LOCALE),,libiconv) -WAVPACK_LICENSE = BSD-3c +WAVPACK_LICENSE = BSD-3-Clause WAVPACK_LICENSE_FILES = COPYING -# Fetch patch from upstream to remove wchar dependency -WAVPACK_PATCH = https://github.com/dbry/WavPack/commit/876fc3f3907e871d0938ac6c8c5252f5f31abd1f.patch - ifeq ($(BR2_PACKAGE_LIBICONV),y) WAVPACK_CONF_OPTS += LIBS=-liconv endif diff --git a/package/wayland-protocols/wayland-protocols.hash b/package/wayland-protocols/wayland-protocols.hash index a316698010..bfda1d81ad 100644 --- a/package/wayland-protocols/wayland-protocols.hash +++ b/package/wayland-protocols/wayland-protocols.hash @@ -1,2 +1,4 @@ -# From https://lists.freedesktop.org/archives/wayland-devel/2016-August/030606.html -sha256 635f2a937d318f1fecb97b54074ca211486e38af943868dd0fa82ea38d091c1f wayland-protocols-1.7.tar.xz +# From https://lists.freedesktop.org/archives/wayland-devel/2017-July/034706.html +md5 84a7846c2b6a6a3e265fc9be36453e60 wayland-protocols-1.10.tar.xz +sha1 4f1322f03fa8b2e6467b8f71471f53eff82728a4 wayland-protocols-1.10.tar.xz +sha256 5719c51d7354864983171c5083e93a72ac99229e2b460c4bb10513de08839c0a wayland-protocols-1.10.tar.xz diff --git a/package/wayland-protocols/wayland-protocols.mk b/package/wayland-protocols/wayland-protocols.mk index 54c2ec1386..a4b3376fa6 100644 --- a/package/wayland-protocols/wayland-protocols.mk +++ b/package/wayland-protocols/wayland-protocols.mk @@ -4,7 +4,7 @@ # ################################################################################ -WAYLAND_PROTOCOLS_VERSION = 1.7 +WAYLAND_PROTOCOLS_VERSION = 1.10 WAYLAND_PROTOCOLS_SITE = http://wayland.freedesktop.org/releases WAYLAND_PROTOCOLS_SOURCE = wayland-protocols-$(WAYLAND_PROTOCOLS_VERSION).tar.xz WAYLAND_PROTOCOLS_LICENSE = MIT diff --git a/package/wayland/0002-configure-add-option-to-disable-tests.patch b/package/wayland/0002-configure-add-option-to-disable-tests.patch new file mode 100644 index 0000000000..8c67d9a3bc --- /dev/null +++ b/package/wayland/0002-configure-add-option-to-disable-tests.patch @@ -0,0 +1,68 @@ +From 33b025e04bf3fa94b74ea3325b3fd7c3f546bcb1 Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" +Date: Sun, 5 Mar 2017 10:06:02 +0100 +Subject: [PATCH] configure: add option to disable tests + +When building for a product, tests are not needed. + +Besides, one test requires a C++ compiler, which is not always +available. + +So, add an option to configure to disable building tests altogether. + +Signed-off-by: "Yann E. MORIN" +--- +Patch submitted upstream: +https://lists.freedesktop.org/archives/wayland-devel/2017-March/033359.html +--- + Makefile.am | 3 ++- + configure.ac | 8 ++++++++ + 2 files changed, 10 insertions(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index d0c8bd3..9c2541d 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -143,7 +143,7 @@ libwayland_cursor_la_CFLAGS = \ + -I$(top_srcdir)/src \ + -DICONDIR=\"$(ICONDIR)\" + +- ++if ENABLE_TESTS + built_test_programs = \ + array-test \ + client-test \ +@@ -258,6 +258,7 @@ os_wrappers_test_LDADD = libtest-runner.la + + exec_fd_leak_checker_SOURCES = tests/exec-fd-leak-checker.c + exec_fd_leak_checker_LDADD = libtest-runner.la ++endif + + EXTRA_DIST += tests/scanner-test.sh \ + tests/data/example.xml \ +diff --git a/configure.ac b/configure.ac +index b583bef..96a5575 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -87,10 +87,18 @@ AC_ARG_ENABLE([dtd-validation], + [], + [enable_dtd_validation=yes]) + ++AC_ARG_ENABLE([tests], ++ [AC_HELP_STRING([--disable-tests], ++ [Disable compilation of test programs])], ++ [], ++ [enable_tests=yes]) ++ + AM_CONDITIONAL(USE_HOST_SCANNER, test "x$with_host_scanner" = xyes) + + AM_CONDITIONAL(ENABLE_LIBRARIES, test "x$enable_libraries" = xyes) + ++AM_CONDITIONAL(ENABLE_TESTS, test "x$enable_tests" = "yes") ++ + AC_ARG_WITH(icondir, [ --with-icondir= Look for cursor icons here], + [ ICONDIR=$withval], + [ ICONDIR=${datadir}/icons]) +-- +2.7.4 + diff --git a/package/wayland/wayland.hash b/package/wayland/wayland.hash index 9a58c56b48..c46aca2bda 100644 --- a/package/wayland/wayland.hash +++ b/package/wayland/wayland.hash @@ -1,2 +1,5 @@ -# From https://lists.freedesktop.org/archives/wayland-devel/2016-September/031121.html -sha256 d6b4135cba0188abcb7275513c72dede751d6194f6edc5b82183a3ba8b821ab1 wayland-1.12.0.tar.xz +# From https://lists.freedesktop.org/archives/wayland-devel/2017-August/034748.html +md5 0235f6075c32c3be61cff94fa0b9f108 wayland-1.14.0.tar.xz +sha1 53a443be3bafe73209bbc49ef2cb134ed16e0141 wayland-1.14.0.tar.xz +sha256 ed80cabc0961a759a42092e2c39aabfc1ec9a13c86c98bbe2b812f008da27ab8 wayland-1.14.0.tar.xz +sha512 bd38b2b8963d4d98d42c270e5d7dbff6323789a173b19b67a18258424fd8adee5021b282c9d7f6dad0bd25aa0160e76aecd8ed803d4eb25d911ef0a81cd713a5 wayland-1.14.0.tar.xz diff --git a/package/wayland/wayland.mk b/package/wayland/wayland.mk index a86239437c..10710a8111 100644 --- a/package/wayland/wayland.mk +++ b/package/wayland/wayland.mk @@ -4,7 +4,7 @@ # ################################################################################ -WAYLAND_VERSION = 1.12.0 +WAYLAND_VERSION = 1.14.0 WAYLAND_SITE = http://wayland.freedesktop.org/releases WAYLAND_SOURCE = wayland-$(WAYLAND_VERSION).tar.xz WAYLAND_LICENSE = MIT @@ -13,8 +13,12 @@ WAYLAND_INSTALL_STAGING = YES WAYLAND_DEPENDENCIES = host-pkgconf host-wayland expat libffi libxml2 HOST_WAYLAND_DEPENDENCIES = host-pkgconf host-expat host-libffi host-libxml2 +# 0002-configure-add-option-to-disable-tests.patch +WAYLAND_AUTORECONF = YES + # wayland-scanner is only needed for building, not on the target -WAYLAND_CONF_OPTS = --disable-scanner --with-host-scanner +WAYLAND_CONF_OPTS = --with-host-scanner --disable-tests +HOST_WAYLAND_CONF_OPTS = --disable-tests # Remove the DTD from the target, it's not needed at runtime define WAYLAND_TARGET_CLEANUP diff --git a/package/webkitgtk/0001-CMake-Values-of-CMAKE_BUILD_TYPE-from-toolchain-file.patch b/package/webkitgtk/0001-CMake-Values-of-CMAKE_BUILD_TYPE-from-toolchain-file.patch new file mode 100644 index 0000000000..6ac1258626 --- /dev/null +++ b/package/webkitgtk/0001-CMake-Values-of-CMAKE_BUILD_TYPE-from-toolchain-file.patch @@ -0,0 +1,52 @@ +From 3b13b1ec9985e72132ec6a3ba13cf60b34848817 Mon Sep 17 00:00:00 2001 +From: "aperez@igalia.com" + +Date: Mon, 27 Nov 2017 15:34:49 +0000 +Subject: [PATCH] [CMake] Values of CMAKE_BUILD_TYPE from toolchain file are + ignored https://bugs.webkit.org/show_bug.cgi?id=179971 + +Reviewed by Carlos Alberto Lopez Perez. + +* CMakeLists.txt: Call project() first, as it loads the toolchain +file, so that's done before checking CMAKE_BUILD_TYPE. + + +git-svn-id: http://svn.webkit.org/repository/webkit/trunk@225168 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +Signed-off-by: Adrian Perez de Castro +Backported from: 75986e1807b + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d80c37b950a..0a9bd17b981 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,8 +1,17 @@ + # ----------------------------------------------------------------------------- + # Determine CMake version and build type. + # ----------------------------------------------------------------------------- ++# ++# NOTE: cmake_minimum_required() and project() *MUST* be the two fist commands ++# used, see https://cmake.org/cmake/help/v3.3/command/project.html -- the ++# latter in particular handles loading a bunch of shared CMake definitions ++# and loading the cross-compilation settings from CMAKE_TOOLCHAIN_FILE. ++# ++ + cmake_minimum_required(VERSION 3.3) + ++project(WebKit) ++ + if (NOT CMAKE_BUILD_TYPE) + message(WARNING "No CMAKE_BUILD_TYPE value specified, defaulting to RelWithDebInfo.") + set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "Choose the type of build." FORCE) +@@ -10,8 +19,6 @@ else () + message(STATUS "The CMake build type is: ${CMAKE_BUILD_TYPE}") + endif () + +-project(WebKit) +- + set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/Source/cmake") + + set(ENABLE_WEBCORE ON) +-- +2.15.1 + diff --git a/package/webkitgtk/0001-fix-gcc6-builds.patch b/package/webkitgtk/0001-fix-gcc6-builds.patch deleted file mode 100644 index 35487ad55a..0000000000 --- a/package/webkitgtk/0001-fix-gcc6-builds.patch +++ /dev/null @@ -1,53 +0,0 @@ -[CMake] Build failure with GCC 6 (fatal error: stdlib.h: No such file or directory) - -https://bugs.webkit.org/show_bug.cgi?id=161697 - -Reviewed by Michael Catanzaro. - -Get the list of system includes from GCC and add it to the CMake -list of implicit includes. This way, CMake will filter any of this -directories from the list of includes when calling the compiler. - -This avoids an issue with GCC 6 that causes build failures when -including the default include path as a system include (-isystem). - -Upstream, from: https://trac.webkit.org/changeset/205672 - -Signed-off-by: Gustavo Zacarias - -Index: trunk/Source/cmake/OptionsCommon.cmake -=================================================================== ---- trunk/Source/cmake/OptionsCommon.cmake (revision 204084) -+++ trunk/Source/cmake/OptionsCommon.cmake (revision 205672) -@@ -36,4 +36,31 @@ - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fcolor-diagnostics") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fcolor-diagnostics") -+endif () -+ -+# Ensure that the default include system directories are added to the list of CMake implicit includes. -+# This workarounds an issue that happens when using GCC 6 and using system includes (-isystem). -+# For more details check: https://bugs.webkit.org/show_bug.cgi?id=161697 -+macro(DETERMINE_GCC_SYSTEM_INCLUDE_DIRS _lang _compiler _flags _result) -+ file(WRITE "${CMAKE_BINARY_DIR}/CMakeFiles/dummy" "\n") -+ separate_arguments(_buildFlags UNIX_COMMAND "${_flags}") -+ execute_process(COMMAND ${_compiler} ${_buildFlags} -v -E -x ${_lang} -dD dummy -+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/CMakeFiles OUTPUT_QUIET -+ ERROR_VARIABLE _gccOutput) -+ file(REMOVE "${CMAKE_BINARY_DIR}/CMakeFiles/dummy") -+ if ("${_gccOutput}" MATCHES "> search starts here[^\n]+\n *(.+) *\n *End of (search) list") -+ set(${_result} ${CMAKE_MATCH_1}) -+ string(REPLACE "\n" " " ${_result} "${${_result}}") -+ separate_arguments(${_result}) -+ endif () -+endmacro() -+ -+if (CMAKE_COMPILER_IS_GNUCC) -+ DETERMINE_GCC_SYSTEM_INCLUDE_DIRS("c" "${CMAKE_C_COMPILER}" "${CMAKE_C_FLAGS}" SYSTEM_INCLUDE_DIRS) -+ set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES ${CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES} ${SYSTEM_INCLUDE_DIRS}) -+endif () -+ -+if (CMAKE_COMPILER_IS_GNUCXX) -+ DETERMINE_GCC_SYSTEM_INCLUDE_DIRS("c++" "${CMAKE_CXX_COMPILER}" "${CMAKE_CXX_FLAGS}" SYSTEM_INCLUDE_DIRS) -+ set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES ${CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES} ${SYSTEM_INCLUDE_DIRS}) - endif () - diff --git a/package/webkitgtk/Config.in b/package/webkitgtk/Config.in index 25f6fad49c..65154db3fa 100644 --- a/package/webkitgtk/Config.in +++ b/package/webkitgtk/Config.in @@ -9,18 +9,21 @@ config BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS # Disabled on SuperH because of segfault depends on BR2_USE_MMU # libglib2 depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt -comment "webkitgtk needs libgtk3 and a glibc toolchain w/ C++, gcc >= 4.9" +comment "webkitgtk needs libgtk3 and a glibc toolchain w/ C++, gcc >= 5, host gcc >= 4.8" depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS depends on !BR2_PACKAGE_LIBGTK3 || !BR2_INSTALL_LIBSTDCPP || \ !BR2_TOOLCHAIN_USES_GLIBC || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + !BR2_HOST_GCC_AT_LEAST_4_8 || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_5 depends on BR2_USE_MMU config BR2_PACKAGE_WEBKITGTK bool "webkitgtk" depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + depends on BR2_HOST_GCC_AT_LEAST_4_8 # icu + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 depends on BR2_TOOLCHAIN_USES_GLIBC depends on BR2_PACKAGE_LIBGTK3 depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS @@ -30,6 +33,7 @@ config BR2_PACKAGE_WEBKITGTK select BR2_PACKAGE_HARFBUZZ select BR2_PACKAGE_ICU select BR2_PACKAGE_JPEG + select BR2_PACKAGE_LIBGCRYPT select BR2_PACKAGE_LIBSECRET select BR2_PACKAGE_LIBSOUP select BR2_PACKAGE_LIBXML2 @@ -49,11 +53,15 @@ if BR2_PACKAGE_WEBKITGTK config BR2_PACKAGE_WEBKITGTK_HTTPS bool "HTTPS support" + depends on !BR2_STATIC_LIBS # gnutls -> libsoup select BR2_PACKAGE_CA_CERTIFICATES # runtime select BR2_PACKAGE_LIBSOUP_SSL help Enable HTTPS protocol support. +comment "webkitgtk https support needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS + config BR2_PACKAGE_WEBKITGTK_MULTIMEDIA bool "multimedia support" select BR2_PACKAGE_GSTREAMER1 @@ -74,4 +82,10 @@ config BR2_PACKAGE_WEBKITGTK_MULTIMEDIA This option pulls in all of the required dependencies to enable multimedia (video/audio) support. +config BR2_PACKAGE_WEBKITGTK_WEBDRIVER + bool "WebDriver support" + help + Enable support for WebDriver. This will build and install the + WebKitWebDriver program in the target. + endif diff --git a/package/webkitgtk/webkitgtk.hash b/package/webkitgtk/webkitgtk.hash index f01c7f0c07..669bb1cc62 100644 --- a/package/webkitgtk/webkitgtk.hash +++ b/package/webkitgtk/webkitgtk.hash @@ -1,4 +1,4 @@ -# From http://www.webkitgtk.org/releases/webkitgtk-2.12.5.tar.xz.sha1 -sha1 2d73fd5b47c68c73aea8b3d7b88acc8e62bdb99c webkitgtk-2.12.5.tar.xz -# Calculated based on the hash above -sha256 6b147854b864a5f115fadb97b2b6200b2f696db015216a34e7298d11c88b1c40 webkitgtk-2.12.5.tar.xz +# From https://webkitgtk.org/releases/webkitgtk-2.18.3.tar.xz.sums +md5 264a22d7467deae606e42b6eb5dd65af webkitgtk-2.18.3.tar.xz +sha1 164cad34281ef597a3d4ad214e8037c3ddef4d17 webkitgtk-2.18.3.tar.xz +sha256 e15420e1616a6f70f321541d467af5ca285bff66b1e0fa68a01df3ccf1b18f9e webkitgtk-2.18.3.tar.xz diff --git a/package/webkitgtk/webkitgtk.mk b/package/webkitgtk/webkitgtk.mk index 7843373995..c4675463fa 100644 --- a/package/webkitgtk/webkitgtk.mk +++ b/package/webkitgtk/webkitgtk.mk @@ -4,16 +4,16 @@ # ################################################################################ -WEBKITGTK_VERSION = 2.12.5 +WEBKITGTK_VERSION = 2.18.3 WEBKITGTK_SITE = http://www.webkitgtk.org/releases WEBKITGTK_SOURCE = webkitgtk-$(WEBKITGTK_VERSION).tar.xz WEBKITGTK_INSTALL_STAGING = YES -WEBKITGTK_LICENSE = LGPLv2.1+, BSD-2c +WEBKITGTK_LICENSE = LGPL-2.1+, BSD-2-Clause WEBKITGTK_LICENSE_FILES = \ Source/WebCore/LICENSE-APPLE \ Source/WebCore/LICENSE-LGPL-2.1 WEBKITGTK_DEPENDENCIES = host-ruby host-flex host-bison host-gperf \ - enchant harfbuzz icu jpeg libgtk3 libsecret libsoup \ + enchant harfbuzz icu jpeg libgcrypt libgtk3 libsecret libsoup \ libxml2 libxslt sqlite webp WEBKITGTK_CONF_OPTS = \ -DENABLE_API_TESTS=OFF \ @@ -40,9 +40,19 @@ WEBKITGTK_CONF_OPTS += \ -DENABLE_WEB_AUDIO=ON WEBKITGTK_DEPENDENCIES += gstreamer1 gst1-libav gst1-plugins-base gst1-plugins-good else +# ENABLE_MEDIA_STREAM has to be explicitly disabled because there is a missing +# feature dependency in the WebKitGTK+ CMake files. This can be removed once +# https://bugs.webkit.org/show_bug.cgi?id=174940 makes it into a release. WEBKITGTK_CONF_OPTS += \ -DENABLE_VIDEO=OFF \ - -DENABLE_WEB_AUDIO=OFF + -DENABLE_WEB_AUDIO=OFF \ + -DENABLE_MEDIA_STREAM=OFF +endif + +ifeq ($(BR2_PACKAGE_WEBKITGTK_WEBDRIVER),y) +WEBKITGTK_CONF_OPTS += -DENABLE_WEBDRIVER=ON +else +WEBKITGTK_CONF_OPTS += -DENABLE_WEBDRIVER=OFF endif # Only one target platform can be built, assume X11 > Wayland diff --git a/package/webp/webp.mk b/package/webp/webp.mk index d579d56c5e..7cf3df23ca 100644 --- a/package/webp/webp.mk +++ b/package/webp/webp.mk @@ -7,7 +7,7 @@ WEBP_VERSION = 0.5.2 WEBP_SOURCE = libwebp-$(WEBP_VERSION).tar.gz WEBP_SITE = http://downloads.webmproject.org/releases/webp -WEBP_LICENSE = BSD-3c +WEBP_LICENSE = BSD-3-Clause WEBP_LICENSE_FILES = COPYING WEBP_INSTALL_STAGING = YES diff --git a/package/webrtc-audio-processing/webrtc-audio-processing.mk b/package/webrtc-audio-processing/webrtc-audio-processing.mk index 75e3c88374..668e20d730 100644 --- a/package/webrtc-audio-processing/webrtc-audio-processing.mk +++ b/package/webrtc-audio-processing/webrtc-audio-processing.mk @@ -8,7 +8,7 @@ WEBRTC_AUDIO_PROCESSING_VERSION = 0.3 WEBRTC_AUDIO_PROCESSING_SOURCE = webrtc-audio-processing-$(WEBRTC_AUDIO_PROCESSING_VERSION).tar.xz WEBRTC_AUDIO_PROCESSING_SITE = http://freedesktop.org/software/pulseaudio/webrtc-audio-processing WEBRTC_AUDIO_PROCESSING_INSTALL_STAGING = YES -WEBRTC_AUDIO_PROCESSING_LICENSE = BSD-3c +WEBRTC_AUDIO_PROCESSING_LICENSE = BSD-3-Clause WEBRTC_AUDIO_PROCESSING_LICENSE_FILES = COPYING # 0001-configure.ac-fix-architecture-detection.patch # 0002-Proper-detection-of-cxxabi.h-and-execinfo.h.patch diff --git a/package/weston/0002-shared-platform-include-weston-egl-ext.h-only-if-ENA.patch b/package/weston/0002-shared-platform-include-weston-egl-ext.h-only-if-ENA.patch deleted file mode 100644 index baa3a4fc84..0000000000 --- a/package/weston/0002-shared-platform-include-weston-egl-ext.h-only-if-ENA.patch +++ /dev/null @@ -1,38 +0,0 @@ -From e338ced1e04bf4b97322d5eed2b5bdf5b052095a Mon Sep 17 00:00:00 2001 -From: Krzysztof Konopko -Date: Thu, 15 Sep 2016 13:01:49 +0200 -Subject: [PATCH] shared/platform: include weston-egl-ext.h only if ENABLE_EGL - is defined - -Including `weston-egl-ext.h` causes compilation failure for configurations -with EGL disabled. - -Verified with `--disable-egl`, `--disable-x11-compositor` -and `--disable-drm-compositor`. - -Signed-off-by: Krzysztof Konopko -Reviewed-by: Pekka Paalanen -[yann.morin.1998@free.fr: backported from upstream] -Signed-off-by: "Yann E. MORIN" ---- - shared/platform.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/shared/platform.h b/shared/platform.h -index 1eb96fd..30db1a6 100644 ---- a/shared/platform.h -+++ b/shared/platform.h -@@ -33,9 +33,9 @@ - #include - #include - #include --#endif - - #include "weston-egl-ext.h" -+#endif - - #ifdef __cplusplus - extern "C" { --- -2.7.4 - diff --git a/package/weston/0002-shared-struct-timespec-is-in-time.h.patch b/package/weston/0002-shared-struct-timespec-is-in-time.h.patch new file mode 100644 index 0000000000..28476d3225 --- /dev/null +++ b/package/weston/0002-shared-struct-timespec-is-in-time.h.patch @@ -0,0 +1,44 @@ +From 47535b50c4178d62b848b3e9d3524e4f6282c815 Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" +Date: Sun, 1 Oct 2017 14:17:21 +0200 +Subject: [PATCH] shared: struct timespec is in time.h +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +On the musl C library, tests/timespec-text.c does not build, with the +following error: + + In file included from tests/timespec-test.c:36:0: + ./shared/timespec-util.h:41:21: warning: ‘struct timespec’ declared + inside parameter list will not be visible outside of this definition + or declaration + timespec_sub(struct timespec *r, + ^~~~~~~~ + [...] + +Indeed, struct timespec is defined in time.h, so we must include it. + +Signed-off-by: "Yann E. MORIN" +--- +Upstream status: submitted + https://lists.freedesktop.org/archives/wayland-devel/2017-October/035306.html +--- + shared/timespec-util.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/shared/timespec-util.h b/shared/timespec-util.h +index 576b3e8f..34a120ae 100644 +--- a/shared/timespec-util.h ++++ b/shared/timespec-util.h +@@ -28,6 +28,7 @@ + + #include + #include ++#include + + #define NSEC_PER_SEC 1000000000 + +-- +2.11.0 + diff --git a/package/weston/0003-configure-search-for-lib-with-clock_getres.patch b/package/weston/0003-configure-search-for-lib-with-clock_getres.patch deleted file mode 100644 index a8ad9eaa0b..0000000000 --- a/package/weston/0003-configure-search-for-lib-with-clock_getres.patch +++ /dev/null @@ -1,47 +0,0 @@ -From e269012c4b919624ca92d80afd1d6a6f5399e041 Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Mon, 19 Dec 2016 18:07:07 +0100 -Subject: [PATCH] configure: search for lib with clock_getres() - -Like clock_gettime(), clock_getres() is in -lrt for glibc < 2.17. -Add a check for it, like is done for clock_gettime(). - -Signed-off-by: "Yann E. MORIN" ---- -Upstream status: submitted -https://lists.freedesktop.org/archives/wayland-devel/2016-December/032354.html ---- - Makefile.am | 1 + - configure.ac | 3 ++- - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/Makefile.am b/Makefile.am -index 2219e3d..53f8f51 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -190,6 +190,7 @@ weston_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS) $(LIBUNWIND_CFLAGS) - weston_LDADD = libshared.la libweston-@LIBWESTON_MAJOR@.la \ - $(COMPOSITOR_LIBS) $(LIBUNWIND_LIBS) \ - $(DLOPEN_LIBS) $(LIBINPUT_BACKEND_LIBS) \ -+ $(CLOCK_GETRES_LIBS) \ - -lm - - weston_SOURCES = \ -diff --git a/configure.ac b/configure.ac -index 1e251bf..604f51b 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -88,8 +88,9 @@ PKG_PROG_PKG_CONFIG() - - WESTON_SEARCH_LIBS([DLOPEN], [dl], [dlopen]) - --# In old glibc versions (< 2.17) clock_gettime() is in librt -+# In old glibc versions (< 2.17) clock_gettime() and clock_getres() are in librt - WESTON_SEARCH_LIBS([CLOCK_GETTIME], [rt], [clock_gettime]) -+WESTON_SEARCH_LIBS([CLOCK_GETRES], [rt], [clock_getres]) - - AC_CHECK_DECL(SFD_CLOEXEC,[], - [AC_MSG_ERROR("SFD_CLOEXEC is needed to compile weston")], --- -2.7.4 - diff --git a/package/weston/0004-libweston-include-weston-egl-ext.h-in-drm-x11-and-wa.patch b/package/weston/0004-libweston-include-weston-egl-ext.h-in-drm-x11-and-wa.patch deleted file mode 100644 index 9012f5f31f..0000000000 --- a/package/weston/0004-libweston-include-weston-egl-ext.h-in-drm-x11-and-wa.patch +++ /dev/null @@ -1,58 +0,0 @@ -From c950667e87dc175bd2741a51460ebd3e29a57c92 Mon Sep 17 00:00:00 2001 -From: Vincent Abriou -Date: Wed, 5 Oct 2016 16:14:07 +0200 -Subject: [PATCH] libweston: include weston-egl-ext.h in drm, x11 and wayland - compositor - -As to what is done for gl-renderer.c, weston-egl-ext.h should be -include in compositor-drm.c, compositor-x11.c and compositor-wayland.c. -This fix building issue with GPU that does not have EGL_PLATFORM_xxx_KHR -in their extension header file eglext.h. - -Signed-off-by: Vincent Abriou -Reviewed-by: Daniel Stone ---- - libweston/compositor-drm.c | 1 + - libweston/compositor-wayland.c | 1 + - libweston/compositor-x11.c | 1 + - 3 files changed, 3 insertions(+) - -diff --git a/libweston/compositor-drm.c b/libweston/compositor-drm.c -index 567240f..f61e3d9 100644 ---- a/libweston/compositor-drm.c -+++ b/libweston/compositor-drm.c -@@ -52,6 +52,7 @@ - #include "shared/helpers.h" - #include "shared/timespec-util.h" - #include "gl-renderer.h" -+#include "weston-egl-ext.h" - #include "pixman-renderer.h" - #include "libbacklight.h" - #include "libinput-seat.h" -diff --git a/libweston/compositor-wayland.c b/libweston/compositor-wayland.c -index 580c7b5..46fdde1 100644 ---- a/libweston/compositor-wayland.c -+++ b/libweston/compositor-wayland.c -@@ -44,6 +44,7 @@ - #include "compositor.h" - #include "compositor-wayland.h" - #include "gl-renderer.h" -+#include "weston-egl-ext.h" - #include "pixman-renderer.h" - #include "shared/helpers.h" - #include "shared/image-loader.h" -diff --git a/libweston/compositor-x11.c b/libweston/compositor-x11.c -index dadcd10..1c6de08 100644 ---- a/libweston/compositor-x11.c -+++ b/libweston/compositor-x11.c -@@ -56,6 +56,7 @@ - #include "shared/helpers.h" - #include "shared/image-loader.h" - #include "gl-renderer.h" -+#include "weston-egl-ext.h" - #include "pixman-renderer.h" - #include "presentation-time-server-protocol.h" - #include "linux-dmabuf.h" --- -2.7.4 - diff --git a/package/weston/0005-libweston-fix-building-issue-when-EGL-support-is-not.patch b/package/weston/0005-libweston-fix-building-issue-when-EGL-support-is-not.patch deleted file mode 100644 index 6a5b19263a..0000000000 --- a/package/weston/0005-libweston-fix-building-issue-when-EGL-support-is-not.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 7327d5a7a29ad31af871e144ebe053cb1ab478f7 Mon Sep 17 00:00:00 2001 -From: Vincent Abriou -Date: Tue, 11 Oct 2016 13:47:03 +0200 -Subject: [PATCH] libweston: fix building issue when EGL support is not enabled - -weston-egl-ext.h has been include in compositor-xx.c file in order to -define EGL_PLATFORM_xxx_KHR extensions used by the compositors. -But in case EGL support is not enabled, all EGL related definition must -be skipped except EGL_PLATFORM_xxx_KHR that must be still defined to -allow compositor-xx.c to build. - -Signed-off-by: Vincent Abriou -Reviewed-by: Giulio Camuffo ---- - libweston/weston-egl-ext.h | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/libweston/weston-egl-ext.h b/libweston/weston-egl-ext.h -index 6e36996..70556fd 100644 ---- a/libweston/weston-egl-ext.h -+++ b/libweston/weston-egl-ext.h -@@ -28,6 +28,8 @@ - #ifndef WESTON_EGL_EXT_H - #define WESTON_EGL_EXT_H - -+#ifdef ENABLE_EGL -+ - #ifndef EGL_WL_bind_wayland_display - #define EGL_WL_bind_wayland_display 1 - -@@ -152,5 +154,13 @@ typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC) (EGLD - #define EGL_PLATFORM_X11_KHR 0x31D5 - #endif - -+#else /* ENABLE_EGL */ -+ -+/* EGL platform definition are keept to allow compositor-xx.c to build */ -+#define EGL_PLATFORM_GBM_KHR 0x31D7 -+#define EGL_PLATFORM_WAYLAND_KHR 0x31D8 -+#define EGL_PLATFORM_X11_KHR 0x31D5 -+ -+#endif /* ENABLE_EGL */ - - #endif --- -2.7.4 - diff --git a/package/weston/0006-tests-add-missing-include.patch b/package/weston/0006-tests-add-missing-include.patch deleted file mode 100644 index 67dc3df258..0000000000 --- a/package/weston/0006-tests-add-missing-include.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 4c9e149d641a9945c3a8e15707b8712834f08c4f Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Sun, 22 Jan 2017 14:46:28 +0100 -Subject: [PATCH] tests: add missing include - -The int32_t type is defined in stdint.h. - -The musl C library is very conservative in the headers that it -internally includes, and stdint.h is not included by any other header, -unlike with glibc or uClibc, which breaks the build. - -Add the missing header. - -Signed-off-by: "Yann E. MORIN" ---- -Status: sent upstream - https://lists.freedesktop.org/archives/wayland-devel/2017-January/032771.html ---- - tests/string-test.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/tests/string-test.c b/tests/string-test.c -index a72ec30..5571b52 100644 ---- a/tests/string-test.c -+++ b/tests/string-test.c -@@ -28,6 +28,7 @@ - #include - #include - #include -+#include - #include - - #include "shared/string-helpers.h" --- -2.7.4 - diff --git a/package/weston/Config.in b/package/weston/Config.in index b4e198d8f0..fd7791c450 100644 --- a/package/weston/Config.in +++ b/package/weston/Config.in @@ -5,6 +5,11 @@ comment "weston needs udev and a toolchain w/ locale, threads, dynamic library, config BR2_PACKAGE_WESTON bool "weston" + depends on BR2_ENABLE_LOCALE # libinput + depends on BR2_PACKAGE_HAS_UDEV + depends on !BR2_STATIC_LIBS # wayland + depends on BR2_TOOLCHAIN_HAS_THREADS # wayland + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 select BR2_PACKAGE_WAYLAND select BR2_PACKAGE_WAYLAND_PROTOCOLS select BR2_PACKAGE_LIBXKBCOMMON @@ -12,13 +17,8 @@ config BR2_PACKAGE_WESTON select BR2_PACKAGE_CAIRO_PNG select BR2_PACKAGE_LIBPNG select BR2_PACKAGE_JPEG - select BR2_PACKAGE_MTDEV select BR2_PACKAGE_LIBINPUT - depends on BR2_ENABLE_LOCALE # libinput - depends on BR2_PACKAGE_HAS_UDEV - depends on !BR2_STATIC_LIBS # wayland - depends on BR2_TOOLCHAIN_HAS_THREADS # wayland - depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 + select BR2_PACKAGE_LIBDRM # Runtime dependency select BR2_PACKAGE_XKEYBOARD_CONFIG # Make sure at least one compositor is selected. @@ -40,7 +40,6 @@ config BR2_PACKAGE_WESTON_HAS_COMPOSITOR config BR2_PACKAGE_WESTON_DRM bool "DRM compositor" depends on BR2_PACKAGE_MESA3D_OPENGL_EGL - select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_WESTON_HAS_COMPOSITOR # Uses libgbm from mesa3d diff --git a/package/weston/weston.hash b/package/weston/weston.hash index c966864036..82c97b8cc0 100644 --- a/package/weston/weston.hash +++ b/package/weston/weston.hash @@ -1,2 +1,5 @@ -# From https://lists.freedesktop.org/archives/wayland-devel/2016-September/031123.html -sha256 ac7ac2a32e3b9f50131fccded5d2326bd36b2226712d90b61999118a09af5033 weston-1.12.0.tar.xz +# From https://lists.freedesktop.org/archives/wayland-devel/2017-August/034749.html +md5 9c42a4c51a1b9f35d040fa9d45ada36d weston-3.0.0.tar.xz +sha1 0a75c2ee10f2453a073411157bb6ed029080669f weston-3.0.0.tar.xz +sha256 cde1d55e8dd70c3cbb3d1ec72f60e60000041579caa1d6a262bd9c35e93723a5 weston-3.0.0.tar.xz +sha512 b824c39f2a884f6d50d607613f447090621f684c96f7d905f25f6e500dabd03ecb2b1cd1030babc193c3417223cb220103abb792437e1a5ead7229a76b5c7a58 weston-3.0.0.tar.xz diff --git a/package/weston/weston.mk b/package/weston/weston.mk index 9bd127c6d0..93b0246e9e 100644 --- a/package/weston/weston.mk +++ b/package/weston/weston.mk @@ -4,16 +4,14 @@ # ################################################################################ -WESTON_VERSION = 1.12.0 +WESTON_VERSION = 3.0.0 WESTON_SITE = http://wayland.freedesktop.org/releases WESTON_SOURCE = weston-$(WESTON_VERSION).tar.xz WESTON_LICENSE = MIT WESTON_LICENSE_FILES = COPYING -# configure.ac patched by 0003-configure-search-for-lib-with-clock_getres.patch -WESTON_AUTORECONF = YES WESTON_DEPENDENCIES = host-pkgconf wayland wayland-protocols \ - libxkbcommon pixman libpng jpeg mtdev udev cairo libinput \ + libxkbcommon pixman libpng jpeg udev cairo libinput libdrm \ $(if $(BR2_PACKAGE_WEBP),webp) WESTON_CONF_OPTS = \ diff --git a/package/wget/wget.hash b/package/wget/wget.hash index 5f22396b05..0048557946 100644 --- a/package/wget/wget.hash +++ b/package/wget/wget.hash @@ -1,2 +1,4 @@ # Locally calculated after checking pgp signature -sha256 0c950b9671881222a4d385b013c9604e98a8025d1988529dfca0e93617744cd2 wget-1.19.1.tar.xz +sha256 d59a745ad2c522970660bb30d38601f9457b151b322e01fa20a5a0da0f55df07 wget-1.19.2.tar.lz +# Locally calculated +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/wget/wget.mk b/package/wget/wget.mk index 22e057dbae..3fee8e1b0c 100644 --- a/package/wget/wget.mk +++ b/package/wget/wget.mk @@ -4,11 +4,11 @@ # ################################################################################ -WGET_VERSION = 1.19.1 -WGET_SOURCE = wget-$(WGET_VERSION).tar.xz +WGET_VERSION = 1.19.2 +WGET_SOURCE = wget-$(WGET_VERSION).tar.lz WGET_SITE = $(BR2_GNU_MIRROR)/wget WGET_DEPENDENCIES = host-pkgconf -WGET_LICENSE = GPLv3+ +WGET_LICENSE = GPL-3.0+ WGET_LICENSE_FILES = COPYING # Prefer full-blown wget over busybox @@ -30,4 +30,11 @@ ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBUUID),y) WGET_DEPENDENCIES += util-linux endif +ifeq ($(BR2_PACKAGE_ZLIB),y) +WGET_CONF_OPTS += --with-zlib +WGET_DEPENDENCIES += zlib +else +WGET_CONF_OPTS += --without-zlib +endif + $(eval $(autotools-package)) diff --git a/package/which/Config.in b/package/which/Config.in index db090ea87a..0dc31b223a 100644 --- a/package/which/Config.in +++ b/package/which/Config.in @@ -4,4 +4,4 @@ config BR2_PACKAGE_WHICH help The standard 'which' utility. - http://www.xs4all.nl/~carlo17/which/ + http://carlowood.github.io/which/index.html diff --git a/package/which/which.mk b/package/which/which.mk index 938b770e2f..c96e893756 100644 --- a/package/which/which.mk +++ b/package/which/which.mk @@ -6,7 +6,7 @@ WHICH_VERSION = 2.21 WHICH_SITE = $(BR2_GNU_MIRROR)/which -WHICH_LICENSE = GPLv3+ +WHICH_LICENSE = GPL-3.0+ WHICH_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/whois/Config.in b/package/whois/Config.in index 0fbaf904d2..d2a030282b 100644 --- a/package/whois/Config.in +++ b/package/whois/Config.in @@ -1,13 +1,7 @@ config BR2_PACKAGE_WHOIS bool "whois" - depends on BR2_USE_WCHAR # gettext depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT help Improved whois client. - http://www.linux.it/~md/software/ - -comment "whois needs a toolchain w/ wchar" - depends on !BR2_USE_WCHAR - depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS + https://github.com/rfc1036/whois diff --git a/package/whois/whois.hash b/package/whois/whois.hash index 6f65074c2c..29623b529f 100644 --- a/package/whois/whois.hash +++ b/package/whois/whois.hash @@ -1,2 +1,2 @@ -# From http://ftp.debian.org/debian/pool/main/w/whois/whois_5.2.14.dsc -sha256 a41daf41abed0fbfa8c9c4b0e4a3f5f22d9876dd6feb9091aac12f8f4c38b0d2 whois_5.2.14.tar.xz +# From http://snapshot.debian.org/archive/debian/20170727T214450Z/pool/main/w/whois/whois_5.2.17.dsc +sha256 257585678f571e18964667b41dc6543fe9da6123ac95743660c9c3ae1eba9664 whois_5.2.17.tar.xz diff --git a/package/whois/whois.mk b/package/whois/whois.mk index 29a18e3e1c..22117cf3aa 100644 --- a/package/whois/whois.mk +++ b/package/whois/whois.mk @@ -4,21 +4,17 @@ # ################################################################################ -WHOIS_VERSION = 5.2.14 -WHOIS_SITE = http://snapshot.debian.org/archive/debian/20161230T032015Z/pool/main/w/whois +WHOIS_VERSION = 5.2.17 +WHOIS_SITE = http://snapshot.debian.org/archive/debian/20170727T214450Z/pool/main/w/whois WHOIS_SOURCE = whois_$(WHOIS_VERSION).tar.xz # take precedence over busybox implementation -WHOIS_DEPENDENCIES = host-gettext $(if $(BR2_PACKAGE_BUSYBOX),busybox) +WHOIS_DEPENDENCIES = $(if $(BR2_PACKAGE_BUSYBOX),busybox) $(TARGET_NLS_DEPENDENCIES) WHOIS_MAKE_ENV = $(TARGET_MAKE_ENV) WHOIS_MAKE_OPTS = CC="$(TARGET_CC)" CFLAGS="$(TARGET_CFLAGS)" \ LIBS="$(WHOIS_EXTRA_LIBS)" -WHOIS_LICENSE = GPLv2+ +WHOIS_LICENSE = GPL-2.0+ WHOIS_LICENSE_FILES = COPYING - -ifeq ($(BR2_NEEDS_GETTEXT),y) -WHOIS_DEPENDENCIES += gettext -WHOIS_EXTRA_LIBS += -lintl -endif +WHOIS_EXTRA_LIBS = $(TARGET_NLS_LIBS) ifeq ($(BR2_PACKAGE_LIBICONV),y) WHOIS_DEPENDENCIES += libiconv @@ -31,13 +27,22 @@ WHOIS_DEPENDENCIES += libidn WHOIS_MAKE_ENV += HAVE_LIBIDN=1 endif +ifeq ($(BR2_SYSTEM_ENABLE_NLS),y) +WHOIS_BUILD_TARGETS = +WHOIS_INSTALL_TARGETS = install +else +WHOIS_BUILD_TARGETS = Makefile.depend whois mkpasswd +WHOIS_INSTALL_TARGETS = install-whois install-mkpasswd +endif + define WHOIS_BUILD_CMDS - $(WHOIS_MAKE_ENV) $(MAKE) $(WHOIS_MAKE_OPTS) -C $(@D) + $(WHOIS_MAKE_ENV) $(MAKE) $(WHOIS_MAKE_OPTS) \ + $(WHOIS_BUILD_TARGETS) -C $(@D) endef define WHOIS_INSTALL_TARGET_CMDS $(WHOIS_MAKE_ENV) $(MAKE) $(WHOIS_MAKE_OPTS) \ - BASEDIR="$(TARGET_DIR)" install -C $(@D) + BASEDIR="$(TARGET_DIR)" $(WHOIS_INSTALL_TARGETS) -C $(@D) endef $(eval $(generic-package)) diff --git a/package/wilink-bt-firmware/Config.in b/package/wilink-bt-firmware/Config.in new file mode 100644 index 0000000000..26683043cb --- /dev/null +++ b/package/wilink-bt-firmware/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_WILINK_BT_FIRMWARE + bool "wilink-bt-firmware" + help + Texas Instruments Wilink7 and Wilink8 (wl12xx/wl18xx) UART + attached Bluetooth firmware. + + https://github.com/TI-ECS/bt-firmware diff --git a/package/wilink-bt-firmware/wilink-bt-firmware.hash b/package/wilink-bt-firmware/wilink-bt-firmware.hash new file mode 100644 index 0000000000..2cb6c880e6 --- /dev/null +++ b/package/wilink-bt-firmware/wilink-bt-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b99700f6d504d76878de83ac50f18a0270b6edd0b52a0458c60fc606ed3332f0 wilink-bt-firmware-169b2df5b968f0ede32ea9044859942fc220c435.tar.gz diff --git a/package/wilink-bt-firmware/wilink-bt-firmware.mk b/package/wilink-bt-firmware/wilink-bt-firmware.mk new file mode 100644 index 0000000000..180a85e28a --- /dev/null +++ b/package/wilink-bt-firmware/wilink-bt-firmware.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# wilink-bt-firmware +# +################################################################################ + +WILINK_BT_FIRMWARE_VERSION = 169b2df5b968f0ede32ea9044859942fc220c435 +WILINK_BT_FIRMWARE_SITE = $(call github,TI-ECS,bt-firmware,$(WILINK_BT_FIRMWARE_VERSION)) +WILINK_BT_FIRMWARE_LICENSE = PROPRIETARY +WILINK_BT_FIRMWARE_LICENSE_FILES = LICENCE + +define WILINK_BT_FIRMWARE_INSTALL_TARGET_CMDS + mkdir -p $(TARGET_DIR)/lib/firmware/ti-connectivity + cp $(@D)/TIInit_*.bts $(TARGET_DIR)/lib/firmware/ti-connectivity +endef + +$(eval $(generic-package)) diff --git a/package/wine/wine.hash b/package/wine/wine.hash index b4b67cd907..7f0a785eb0 100644 --- a/package/wine/wine.hash +++ b/package/wine/wine.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 9756f5a2129b6a83ba701e546173cbff86caa671b0af73eb8f72c03b20c066c6 wine-2.0.tar.bz2 +sha256 a811c664f870a3a01449443a93a6fcee41aea2e912e58f72742eb7924962be56 wine-2.0.3.tar.xz diff --git a/package/wine/wine.mk b/package/wine/wine.mk index f9b2e1a3ff..d540886782 100644 --- a/package/wine/wine.mk +++ b/package/wine/wine.mk @@ -4,10 +4,10 @@ # ################################################################################ -WINE_VERSION = 2.0 -WINE_SOURCE = wine-$(WINE_VERSION).tar.bz2 +WINE_VERSION = 2.0.3 +WINE_SOURCE = wine-$(WINE_VERSION).tar.xz WINE_SITE = https://dl.winehq.org/wine/source/2.0 -WINE_LICENSE = LGPLv2.1+ +WINE_LICENSE = LGPL-2.1+ WINE_LICENSE_FILES = COPYING.LIB LICENSE WINE_DEPENDENCIES = host-bison host-flex host-wine diff --git a/package/wipe/wipe.mk b/package/wipe/wipe.mk index 9ec7faf6d7..83a8c87587 100644 --- a/package/wipe/wipe.mk +++ b/package/wipe/wipe.mk @@ -7,7 +7,7 @@ WIPE_VERSION = 2.3.1 WIPE_SITE = http://downloads.sourceforge.net/project/wipe/wipe/$(WIPE_VERSION) WIPE_SOURCE = wipe-$(WIPE_VERSION).tar.bz2 -WIPE_LICENSE = GPLv2+ +WIPE_LICENSE = GPL-2.0+ WIPE_LICENSE_FILES = LICENSE define WIPE_INSTALL_TARGET_CMDS diff --git a/package/wireguard/Config.in b/package/wireguard/Config.in new file mode 100644 index 0000000000..fe92fd6cfc --- /dev/null +++ b/package/wireguard/Config.in @@ -0,0 +1,23 @@ +config BR2_PACKAGE_WIREGUARD + bool "wireguard" + # kernel module requires 3.10+, userspace makes no sense without it + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 + select BR2_PACKAGE_LIBMNL + help + WireGuard is an extremely simple yet fast and modern VPN + that utilizes state-of-the-art cryptography. It aims to be + faster, simpler, leaner, and more useful than IPSec, while + avoiding the massive headache. It intends to be considerably + more performant than OpenVPN. WireGuard is designed as a + general purpose VPN for running on embedded interfaces and + super computers alike, fit for many different + circumstances. Initially released for the Linux kernel, it + plans to be cross-platform and widely deployable. It is + currently under heavy development, but already it might be + regarded as the most secure, easiest to use, and simplest + VPN solution in the industry. + + https://www.wireguard.com + +comment "wireguard needs a toolchain w/ headers >= 3.10" + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 diff --git a/package/wireguard/wireguard.hash b/package/wireguard/wireguard.hash new file mode 100644 index 0000000000..3749456cb0 --- /dev/null +++ b/package/wireguard/wireguard.hash @@ -0,0 +1,4 @@ +# From https://lists.zx2c4.com/pipermail/wireguard/2017-November/001935.html +sha256 d9347786a9406ac276d86321ca64aadb1f0639cb0582c6e0519c634cf6e81157 WireGuard-0.0.20171111.tar.xz +# Locally calculated +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/wireguard/wireguard.mk b/package/wireguard/wireguard.mk new file mode 100644 index 0000000000..2eacb22a4b --- /dev/null +++ b/package/wireguard/wireguard.mk @@ -0,0 +1,41 @@ +################################################################################ +# +# wireguard +# +################################################################################ + +WIREGUARD_VERSION = 0.0.20171111 +WIREGUARD_SITE = https://git.zx2c4.com/WireGuard/snapshot +WIREGUARD_SOURCE = WireGuard-$(WIREGUARD_VERSION).tar.xz +WIREGUARD_LICENSE = GPL-2.0 +WIREGUARD_LICENSE_FILES = COPYING +WIREGUARD_DEPENDENCIES = host-pkgconf libmnl + +ifeq ($(BR2_INIT_SYSTEMD),y) +WIREGUARD_MAKE_OPTS += WITH_SYSTEMDUNITS=yes +else +WIREGUARD_MAKE_OPTS += WITH_SYSTEMDUNITS=no +endif + +ifeq ($(BR2_PACKAGE_BASH),y) +WIREGUARD_MAKE_OPTS += WITH_BASHCOMPLETION=yes WITH_WGQUICK=yes +else +WIREGUARD_MAKE_OPTS += WITH_BASHCOMPLETION=no WITH_WGQUICK=no +endif + +define WIREGUARD_BUILD_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(WIREGUARD_MAKE_OPTS) \ + -C $(@D)/src/tools +endef + +define WIREGUARD_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(WIREGUARD_MAKE_OPTS) \ + -C $(@D)/src/tools install DESTDIR=$(TARGET_DIR) +endef + +ifeq ($(BR2_LINUX_KERNEL),y) +WIREGUARD_MODULE_SUBDIRS = src +$(eval $(kernel-module)) +endif + +$(eval $(generic-package)) diff --git a/package/wireless-regdb/wireless-regdb.hash b/package/wireless-regdb/wireless-regdb.hash index b8ca2e75a3..4163609d17 100644 --- a/package/wireless-regdb/wireless-regdb.hash +++ b/package/wireless-regdb/wireless-regdb.hash @@ -1,2 +1,2 @@ # From https://www.kernel.org/pub/software/network/wireless-regdb/sha256sums.asc -sha256 cfedf1c3521b3c8f32602f25ed796e96e687c3441a00e7c050fedf7fd4f1b8b7 wireless-regdb-2016.06.10.tar.xz +sha256 371eafa3b26ece916ef83aca02c4bed2e54099eb5b8c6d22d3a4358dce6535b9 wireless-regdb-2017.03.07.tar.xz diff --git a/package/wireless-regdb/wireless-regdb.mk b/package/wireless-regdb/wireless-regdb.mk index 6ad42589e3..9d7a375461 100644 --- a/package/wireless-regdb/wireless-regdb.mk +++ b/package/wireless-regdb/wireless-regdb.mk @@ -4,7 +4,7 @@ # ################################################################################ -WIRELESS_REGDB_VERSION = 2016.06.10 +WIRELESS_REGDB_VERSION = 2017.03.07 WIRELESS_REGDB_SOURCE = wireless-regdb-$(WIRELESS_REGDB_VERSION).tar.xz WIRELESS_REGDB_SITE = http://kernel.org/pub/software/network/wireless-regdb WIRELESS_REGDB_LICENSE = ISC diff --git a/package/wireless_tools/wireless_tools.mk b/package/wireless_tools/wireless_tools.mk index f4e0ffb440..51320a9b25 100644 --- a/package/wireless_tools/wireless_tools.mk +++ b/package/wireless_tools/wireless_tools.mk @@ -8,7 +8,7 @@ WIRELESS_TOOLS_VERSION_MAJOR = 30 WIRELESS_TOOLS_VERSION = $(WIRELESS_TOOLS_VERSION_MAJOR).pre9 WIRELESS_TOOLS_SITE = http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux WIRELESS_TOOLS_SOURCE = wireless_tools.$(WIRELESS_TOOLS_VERSION).tar.gz -WIRELESS_TOOLS_LICENSE = GPLv2 +WIRELESS_TOOLS_LICENSE = GPL-2.0 WIRELESS_TOOLS_LICENSE_FILES = COPYING WIRELESS_TOOLS_INSTALL_STAGING = YES diff --git a/package/wireshark/Config.in b/package/wireshark/Config.in index c5b5c3e3ae..4d5a2157f2 100644 --- a/package/wireshark/Config.in +++ b/package/wireshark/Config.in @@ -1,10 +1,10 @@ config BR2_PACKAGE_WIRESHARK bool "wireshark" - select BR2_PACKAGE_LIBPCAP - select BR2_PACKAGE_LIBGLIB2 depends on BR2_USE_MMU # fork(), glib2 depends on BR2_USE_WCHAR # glib2 depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 + select BR2_PACKAGE_LIBPCAP + select BR2_PACKAGE_LIBGLIB2 help Network traffic sniffer and protocol decoder. diff --git a/package/wireshark/wireshark.hash b/package/wireshark/wireshark.hash index e3eeef334e..3494f2e5bf 100644 --- a/package/wireshark/wireshark.hash +++ b/package/wireshark/wireshark.hash @@ -1,2 +1,2 @@ -# From: https://www.wireshark.org/download/src/all-versions/SIGNATURES-2.2.4.txt -sha256 42a7fb35eed5a32478153e24601a284bb50148b7ba919c3e8452652f4c2a3911 wireshark-2.2.4.tar.bz2 +# From: https://www.wireshark.org/download/src/all-versions/SIGNATURES-2.2.10.txt +sha256 8574a5e1fdec7affae640924bd46c1aed1bd866e02632fa5625e1450e4a50707 wireshark-2.2.10.tar.bz2 diff --git a/package/wireshark/wireshark.mk b/package/wireshark/wireshark.mk index edd830d80b..34ee563f18 100644 --- a/package/wireshark/wireshark.mk +++ b/package/wireshark/wireshark.mk @@ -4,7 +4,7 @@ # ################################################################################ -WIRESHARK_VERSION = 2.2.4 +WIRESHARK_VERSION = 2.2.10 WIRESHARK_SOURCE = wireshark-$(WIRESHARK_VERSION).tar.bz2 WIRESHARK_SITE = https://www.wireshark.org/download/src/all-versions WIRESHARK_LICENSE = wireshark license @@ -44,9 +44,9 @@ WIRESHARK_DEPENDENCIES += qt5base qt5tools WIRESHARK_CONF_ENV += ac_cv_path_QTCHOOSER="" # Seems it expects wrappers and passes a -qt=X parameter for version WIRESHARK_MAKE_OPTS += \ - MOC="$(HOST_DIR)/usr/bin/moc" \ - RCC="$(HOST_DIR)/usr/bin/rcc" \ - UIC="$(HOST_DIR)/usr/bin/uic" + MOC="$(HOST_DIR)/bin/moc" \ + RCC="$(HOST_DIR)/bin/rcc" \ + UIC="$(HOST_DIR)/bin/uic" else WIRESHARK_CONF_OPTS += --with-qt=no endif diff --git a/package/wiringpi/0001-Adjust-for-buildroot-build.patch b/package/wiringpi/0001-Adjust-for-buildroot-build.patch index 4fddc9951e..520555c8e8 100644 --- a/package/wiringpi/0001-Adjust-for-buildroot-build.patch +++ b/package/wiringpi/0001-Adjust-for-buildroot-build.patch @@ -1,4 +1,4 @@ -From 10d5bde8d628a93993dd7305dc9a406da69f65a9 Mon Sep 17 00:00:00 2001 +From 17ffb0cb301d4bf6ef900c8698d716f68cb77360 Mon Sep 17 00:00:00 2001 From: Peter Seiderer Date: Wed, 2 Dec 2015 00:22:26 +0100 Subject: [PATCH] Adjust for buildroot build. @@ -19,7 +19,7 @@ Signed-off-by: Peter Seiderer 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/devLib/Makefile b/devLib/Makefile -index 1b1ebe0..84b4d2a 100644 +index cf665d6..3fb41e8 100644 --- a/devLib/Makefile +++ b/devLib/Makefile @@ -36,10 +36,10 @@ DYNAMIC=libwiringPiDev.so.$(VERSION) @@ -54,7 +54,7 @@ index 1b1ebe0..84b4d2a 100644 .PHONY: install-static diff --git a/gpio/Makefile b/gpio/Makefile -index 7dcd090..dc4be72 100644 +index f41a005..7095fa5 100644 --- a/gpio/Makefile +++ b/gpio/Makefile @@ -32,11 +32,11 @@ endif @@ -63,14 +63,14 @@ index 7dcd090..dc4be72 100644 DEBUG = -O2 -CC = gcc -INCLUDE = -I$(DESTDIR)$(PREFIX)/include --CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe +-CFLAGS = $(DEBUG) -Wall -Wextra $(INCLUDE) -Winline -pipe +CC ?= gcc +INCLUDE = -I../wiringPi -I../devLib -+CFLAGS += $(DEBUG) -Wall $(INCLUDE) -Winline -pipe ++CFLAGS += $(DEBUG) -Wall -Wextra $(INCLUDE) -Winline -pipe -LDFLAGS = -L$(DESTDIR)$(PREFIX)/lib +LDFLAGS = -L../wiringPi -L../devLib - LIBS = -lwiringPi -lwiringPiDev -lpthread + LIBS = -lwiringPi -lwiringPiDev -lpthread -lrt -lm -lcrypt # May not need to alter anything below this line @@ -52,9 +52,13 @@ version.h: ../VERSION @@ -89,7 +89,7 @@ index 7dcd090..dc4be72 100644 $Q echo [Compile] $< $Q $(CC) -c $(CFLAGS) $< -o $@ diff --git a/wiringPi/Makefile b/wiringPi/Makefile -index acb6e58..8b84dc6 100644 +index e1868b9..68c950e 100644 --- a/wiringPi/Makefile +++ b/wiringPi/Makefile @@ -36,10 +36,10 @@ DYNAMIC=libwiringPi.so.$(VERSION) @@ -100,20 +100,20 @@ index acb6e58..8b84dc6 100644 +CC ?= gcc INCLUDE = -I. DEFS = -D_GNU_SOURCE --CFLAGS = $(DEBUG) $(DEFS) -Wformat=2 -Wall -Winline $(INCLUDE) -pipe -fPIC -+CFLAGS += $(DEBUG) $(DEFS) -Wformat=2 -Wall -Winline $(INCLUDE) -pipe -fPIC +-CFLAGS = $(DEBUG) $(DEFS) -Wformat=2 -Wall -Wextra -Winline $(INCLUDE) -pipe -fPIC ++CFLAGS += $(DEBUG) $(DEFS) -Wformat=2 -Wall -Wextra -Winline $(INCLUDE) -pipe -fPIC - LIBS = + LIBS = -lm -lpthread -lrt -lcrypt -@@ -90,6 +90,7 @@ $(STATIC): $(OBJ) +@@ -79,6 +79,7 @@ $(STATIC): $(OBJ) $(DYNAMIC): $(OBJ) $Q echo "[Link (Dynamic)]" - $Q $(CC) -shared -Wl,-soname,libwiringPi.so$(WIRINGPI_SONAME_SUFFIX) -o libwiringPi.so.$(VERSION) -lpthread $(OBJ) + $Q $(CC) -shared -Wl,-soname,libwiringPi.so$(WIRINGPI_SONAME_SUFFIX) -o libwiringPi.so.$(VERSION) $(LIBS) $(OBJ) + $Q ln -sf libwiringPi.so.$(VERSION) libwiringPi.so .c.o: $Q echo [Compile] $< -@@ -115,7 +116,7 @@ install: $(DYNAMIC) +@@ -104,7 +105,7 @@ install: $(DYNAMIC) $Q echo "[Install Dynamic Lib]" $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/lib $Q install -m 0755 libwiringPi.so.$(VERSION) $(DESTDIR)$(PREFIX)/lib/libwiringPi.so.$(VERSION) diff --git a/package/wiringpi/0002-include-asm-ioctl.h-directly-for-_IOC_SIZEBITS.patch b/package/wiringpi/0002-include-asm-ioctl.h-directly-for-_IOC_SIZEBITS.patch deleted file mode 100644 index 6480e3c444..0000000000 --- a/package/wiringpi/0002-include-asm-ioctl.h-directly-for-_IOC_SIZEBITS.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 7f65eb37a82a6d9b095d9c8f262ad9dd205acd03 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 30 Jan 2016 16:57:38 -0800 -Subject: [PATCH] include directly for _IOC_SIZEBITS - -Fixes errors like -| wiringPiSPI.c: In function 'wiringPiSPIDataRW': -| wiringPiSPI.c:89:35: error: '_IOC_SIZEBITS' undeclared (first use in -this function) - -Signed-off-by: Khem Raj -[Patch from https://raw.githubusercontent.com/agherzan/meta-raspberrypi/master/recipes-devtools/wiringPi/wiringpi/0001-include-asm-ioctl.h-directly-for-_IOC_SIZEBITS.patch] -Signed-off-by: Peter Seiderere ---- -Upstream-Status: Submitted - - wiringPi/wiringPi.c | 1 + - wiringPi/wiringPiI2C.c | 1 + - wiringPi/wiringPiSPI.c | 1 + - 3 files changed, 3 insertions(+) - -diff --git a/wiringPi/wiringPi.c b/wiringPi/wiringPi.c -index 32e5100..cb5db9d 100644 ---- a/wiringPi/wiringPi.c -+++ b/wiringPi/wiringPi.c -@@ -64,6 +64,7 @@ - #include - #include - #include -+#include - #include - #include - #include -diff --git a/wiringPi/wiringPiI2C.c b/wiringPi/wiringPiI2C.c -index c787bce..efdf53c 100644 ---- a/wiringPi/wiringPiI2C.c -+++ b/wiringPi/wiringPiI2C.c -@@ -52,6 +52,7 @@ - #include - #include - #include -+#include - - #include "wiringPi.h" - #include "wiringPiI2C.h" -diff --git a/wiringPi/wiringPiSPI.c b/wiringPi/wiringPiSPI.c -index 453df31..ae3c7d9 100644 ---- a/wiringPi/wiringPiSPI.c -+++ b/wiringPi/wiringPiSPI.c -@@ -27,6 +27,7 @@ - #include - #include - #include -+#include - #include - #include - --- -2.7.0 - diff --git a/package/wiringpi/0002-wiringPi-wiringSerial-fix-compile-for-missing-baud-d.patch b/package/wiringpi/0002-wiringPi-wiringSerial-fix-compile-for-missing-baud-d.patch new file mode 100644 index 0000000000..c9c4385d48 --- /dev/null +++ b/package/wiringpi/0002-wiringPi-wiringSerial-fix-compile-for-missing-baud-d.patch @@ -0,0 +1,47 @@ +From 1e7a7a625ca20633062406ce525b19d168c356af Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Mon, 20 Mar 2017 20:51:20 +0100 +Subject: [PATCH] wiringPi/wiringSerial: fix compile for missing baud defines + +For sparc-buildroot-linux-uclibc/sysroot/usr/include/asm/termbits.h +containing: + + /* These have totally bogus values and nobody uses them + so far. Later on we'd have to use say 0x10000x and + adjust CBAUD constant and drivers accordingly. + #define B2500000 0x00001010 + #define B3000000 0x00001011 + #define B3500000 0x00001012 + #define B4000000 0x00001013 */ + +Signed-off-by: Peter Seiderer +--- + wiringPi/wiringSerial.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/wiringPi/wiringSerial.c b/wiringPi/wiringSerial.c +index e1587ad..4ac8d1e 100644 +--- a/wiringPi/wiringSerial.c ++++ b/wiringPi/wiringSerial.c +@@ -75,10 +75,18 @@ int serialOpen (const char *device, const int baud) + case 1152000: myBaud = B1152000 ; break ; + case 1500000: myBaud = B1500000 ; break ; + case 2000000: myBaud = B2000000 ; break ; ++#if defined(B2500000) + case 2500000: myBaud = B2500000 ; break ; ++#endif ++#if defined(B3000000) + case 3000000: myBaud = B3000000 ; break ; ++#endif ++#if defined(B3500000) + case 3500000: myBaud = B3500000 ; break ; ++#endif ++#if defined(B4000000) + case 4000000: myBaud = B4000000 ; break ; ++#endif + + default: + return -2 ; +-- +2.11.0 + diff --git a/package/wiringpi/wiringpi.hash b/package/wiringpi/wiringpi.hash index abddaf9b27..f4832e5fa8 100644 --- a/package/wiringpi/wiringpi.hash +++ b/package/wiringpi/wiringpi.hash @@ -1,2 +1,2 @@ -# locally computed -sha256 0775e3bfa2df2131746c75d611ad354e5c884661be0d9de9fd786fc96f6ad918 wiringPi-2.32.tar.gz +# Locally calculated +sha256 4eae1d4f37f77534b1e2db4678a1003a5fd7ced4721c340527e3476d0bed1d9f wiringpi-96344ff7125182989f98d3be8d111952a8f74e15.tar.gz diff --git a/package/wiringpi/wiringpi.mk b/package/wiringpi/wiringpi.mk index ce0819dace..f2e9e246d9 100644 --- a/package/wiringpi/wiringpi.mk +++ b/package/wiringpi/wiringpi.mk @@ -4,10 +4,11 @@ # ################################################################################ -WIRINGPI_VERSION = 2.32 +# using git commit id instead of (wrong) 2.44 git tag (Bug 10391) +WIRINGPI_VERSION = 96344ff7125182989f98d3be8d111952a8f74e15 WIRINGPI_SITE = git://git.drogon.net/wiringPi -WIRINGPI_LICENSE = LGPLv3+ +WIRINGPI_LICENSE = LGPL-3.0+ WIRINGPI_LICENSE_FILES = COPYING.LESSER WIRINGPI_INSTALL_STAGING = YES diff --git a/package/wmctrl/Config.in b/package/wmctrl/Config.in index bc09431ed4..37a1f25281 100644 --- a/package/wmctrl/Config.in +++ b/package/wmctrl/Config.in @@ -1,12 +1,12 @@ config BR2_PACKAGE_WMCTRL bool "wmctrl" - select BR2_PACKAGE_XLIB_LIBX11 - select BR2_PACKAGE_XLIB_LIBXMU - select BR2_PACKAGE_LIBGLIB2 depends on BR2_PACKAGE_XORG7 depends on BR2_USE_WCHAR # libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_USE_MMU # libglib2 + select BR2_PACKAGE_XLIB_LIBX11 + select BR2_PACKAGE_XLIB_LIBXMU + select BR2_PACKAGE_LIBGLIB2 help Provides command line access to almost all the features defined in the EWMH specification. It can be used, for diff --git a/package/wmctrl/wmctrl.mk b/package/wmctrl/wmctrl.mk index f26b23e160..0d4aeebc1d 100644 --- a/package/wmctrl/wmctrl.mk +++ b/package/wmctrl/wmctrl.mk @@ -6,7 +6,7 @@ WMCTRL_VERSION = 1.07 WMCTRL_SITE = https://sites.google.com/site/tstyblo/wmctrl -WMCTRL_LICENSE = GPLv2+ +WMCTRL_LICENSE = GPL-2.0+ WMCTRL_LICENSE_FILES = COPYING WMCTRL_DEPENDENCIES = libglib2 xlib_libX11 xlib_libXmu diff --git a/package/wpa_supplicant/Config.in b/package/wpa_supplicant/Config.in index 4b810bf1a8..de03141e40 100644 --- a/package/wpa_supplicant/Config.in +++ b/package/wpa_supplicant/Config.in @@ -48,6 +48,8 @@ config BR2_PACKAGE_WPA_SUPPLICANT_WIFI_DISPLAY config BR2_PACKAGE_WPA_SUPPLICANT_MESH_NETWORKING bool "Enable mesh networking" depends on BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL help Enable support for open and secured mesh networking (IEEE 802.11s) diff --git a/package/wpan-tools/0001-fix-build-with-newer-libnl.patch b/package/wpan-tools/0001-fix-build-with-newer-libnl.patch deleted file mode 100644 index 03e1a03340..0000000000 --- a/package/wpan-tools/0001-fix-build-with-newer-libnl.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 51ab69d76aa708c79aed971ee4083abb8cc07201 Mon Sep 17 00:00:00 2001 -From: Stefan Schmidt -Date: Mon, 9 Nov 2015 19:06:25 +0100 -Subject: [PATCH] build: avoid redefinition errors with libnl >= 3.2.27 - -From 3.2.17 onwards we have nla for s8, s16, etc defined directly in libnl. -If we keep including this file anyway we run into redefinition errors. Better -include use our own only for earlier versions. - -Happened to me on Fedora 22 after my last update. - -Signed-off-by: Stefan Schmidt -Acked-by: Alexander Aring -Signed-off-by: Gustavo Zacarias ---- -Patch status: upstream - - src/nl_extras.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/nl_extras.h b/src/nl_extras.h -index 9d841aa..c4d1d14 100644 ---- a/src/nl_extras.h -+++ b/src/nl_extras.h -@@ -1,6 +1,8 @@ - #ifndef __NL_EXTRAS_H - #define __NL_EXTRAS_H - -+#if LIBNL_VER_MIC <= 26 -+ - #ifndef NLA_S8 - - #define NLA_S8 13 -@@ -43,4 +45,6 @@ static inline int32_t nla_get_s32(struct nlattr *nla) - - #endif /* NLA_S64 */ - -+#endif /* LIBNL_VER_MIC */ -+ - #endif /* __NL_EXTRAS_H */ diff --git a/package/wpan-tools/0001-src-nl_extras.h-fix-compatibility-with-libnl-3.3.0.patch b/package/wpan-tools/0001-src-nl_extras.h-fix-compatibility-with-libnl-3.3.0.patch new file mode 100644 index 0000000000..8b881ad3ae --- /dev/null +++ b/package/wpan-tools/0001-src-nl_extras.h-fix-compatibility-with-libnl-3.3.0.patch @@ -0,0 +1,49 @@ +From bb522bd584f05e6658d5dba97f48ca018f46394c Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 6 May 2017 14:36:08 +0200 +Subject: [PATCH] src/nl_extras.h: fix compatibility with libnl 3.3.0 + +nl_extras.h defines a set of nla_set_s*() functions if not provided by +libnl. They are provided by libnl since version 3.2.26. The test +(LIBNL_VER_MIC <= 26) was working fine while libnl was in the 3.2.x +series, but now that they have incremented the minor version, the +micro version was reset to 0, with the latest libnl version being +3.3.0. + +Due to this, the condition (LIBNL_VER_MIC <= 26) is true, and we get +redefinition errors because nl_extras.h redefines functions already +provided by libnl. + +This commit improves the condition so that nl_extras.h provides the +missing functions only if the minor version is < 2, or if minor is 2 +and micro is < 26. + +Signed-off-by: Thomas Petazzoni +--- + src/nl_extras.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/nl_extras.h b/src/nl_extras.h +index c4d1d14..37844f9 100644 +--- a/src/nl_extras.h ++++ b/src/nl_extras.h +@@ -1,7 +1,7 @@ + #ifndef __NL_EXTRAS_H + #define __NL_EXTRAS_H + +-#if LIBNL_VER_MIC <= 26 ++#if (LIBNL_VER_MIN < 2) || (LIBNL_VER_MIN == 2) && (LIBNL_VER_MIC <= 26) + + #ifndef NLA_S8 + +@@ -45,6 +45,6 @@ static inline int32_t nla_get_s32(struct nlattr *nla) + + #endif /* NLA_S64 */ + +-#endif /* LIBNL_VER_MIC */ ++#endif /* LIBNL_VER_* */ + + #endif /* __NL_EXTRAS_H */ +-- +2.7.4 + diff --git a/package/wpan-tools/wpan-tools.hash b/package/wpan-tools/wpan-tools.hash index fbcf64c081..6a3b6d16e7 100644 --- a/package/wpan-tools/wpan-tools.hash +++ b/package/wpan-tools/wpan-tools.hash @@ -1,4 +1,4 @@ # From http://wpan.cakelab.org/releases/md5sum -md5 c6356f7be4de2e9f2084283b9ed7e1ab wpan-tools-0.5.tar.gz +md5 06608f69951088844196f79685318aa9 wpan-tools-0.7.tar.gz # Calculated based on the hash above -sha256 f381f24eb1962aa9e21751004560371bb9ad8bd0b735bc493930f50e8c1f3d99 wpan-tools-0.5.tar.gz +sha256 8b690ff0e71e08bece5ec541223fda7abd2d5552d97d3d25b4967609b58fef00 wpan-tools-0.7.tar.gz diff --git a/package/wpan-tools/wpan-tools.mk b/package/wpan-tools/wpan-tools.mk index d223800449..a604dab870 100644 --- a/package/wpan-tools/wpan-tools.mk +++ b/package/wpan-tools/wpan-tools.mk @@ -4,10 +4,10 @@ # ################################################################################ -WPAN_TOOLS_VERSION = 0.5 +WPAN_TOOLS_VERSION = 0.7 WPAN_TOOLS_SITE = http://wpan.cakelab.org/releases WPAN_TOOLS_DEPENDENCIES = host-pkgconf libnl -WPAN_TOOLS_LICENSE = iw license +WPAN_TOOLS_LICENSE = ISC WPAN_TOOLS_LICENSE_FILES = COPYING $(eval $(autotools-package)) diff --git a/package/wsapi-fcgi/Config.in b/package/wsapi-fcgi/Config.in new file mode 100644 index 0000000000..6349038362 --- /dev/null +++ b/package/wsapi-fcgi/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_WSAPI_FCGI + bool "wsapi-fcgi" + depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_LIBFCGI + # Runtime dependency only + select BR2_PACKAGE_WSAPI + help + WSAPI is an API that abstracts the web server from Lua web + applications. This is the rock that contains the FCGI module lfcgi. + + http://keplerproject.github.com/wsapi/ diff --git a/package/wsapi-fcgi/wsapi-fcgi.hash b/package/wsapi-fcgi/wsapi-fcgi.hash new file mode 100644 index 0000000000..f82ce9cfcf --- /dev/null +++ b/package/wsapi-fcgi/wsapi-fcgi.hash @@ -0,0 +1,2 @@ +# locally computed hash +sha256 73dc200889bc185953cd3a7c5350c998c090f901fcd10771273b7a63a3ffcdcf wsapi-fcgi-1.6.1-1.src.rock diff --git a/package/wsapi-fcgi/wsapi-fcgi.mk b/package/wsapi-fcgi/wsapi-fcgi.mk new file mode 100644 index 0000000000..2b0e6b255a --- /dev/null +++ b/package/wsapi-fcgi/wsapi-fcgi.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# wsapi-fcgi +# +################################################################################ + +WSAPI_FCGI_VERSION_MAJOR = 1.6.1 +WSAPI_FCGI_VERSION = $(WSAPI_FCGI_VERSION_MAJOR)-1 +WSAPI_FCGI_SUBDIR = wsapi-$(WSAPI_FCGI_VERSION_MAJOR) +WSAPI_FCGI_DEPENDENCIES = libfcgi +WSAPI_FCGI_LICENSE = MIT +WSAPI_FCGI_LICENSE_FILES = $(WSAPI_FCGI_SUBDIR)/doc/us/license.html + +$(eval $(luarocks-package)) diff --git a/package/wsapi-xavante/Config.in b/package/wsapi-xavante/Config.in new file mode 100644 index 0000000000..3e494bba8e --- /dev/null +++ b/package/wsapi-xavante/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_WSAPI_XAVANTE + bool "wsapi-xavante" + # Runtime dependencies + select BR2_PACKAGE_COXPCALL + select BR2_PACKAGE_RINGS + select BR2_PACKAGE_WSAPI + select BR2_PACKAGE_XAVANTE + help + WSAPI is an API that abstracts the web server from Lua web + applications. This is the rock that contains the Xavante + adapter and launcher. + + http://keplerproject.github.com/wsapi/ diff --git a/package/wsapi-xavante/wsapi-xavante.hash b/package/wsapi-xavante/wsapi-xavante.hash new file mode 100644 index 0000000000..9e8132df5c --- /dev/null +++ b/package/wsapi-xavante/wsapi-xavante.hash @@ -0,0 +1,2 @@ +# locally computed hash +sha256 b30b171e3d4d6fd7e129f14576e1cfc5adf00c0780ef8350f2f9e6f1d4259346 wsapi-xavante-1.6.1-1.src.rock diff --git a/package/wsapi-xavante/wsapi-xavante.mk b/package/wsapi-xavante/wsapi-xavante.mk new file mode 100644 index 0000000000..86f5dee505 --- /dev/null +++ b/package/wsapi-xavante/wsapi-xavante.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# wsapi-xavante +# +################################################################################ + +WSAPI_XAVANTE_VERSION_MAJOR = 1.6.1 +WSAPI_XAVANTE_VERSION = $(WSAPI_XAVANTE_VERSION_MAJOR)-1 +WSAPI_XAVANTE_SUBDIR = wsapi-$(WSAPI_XAVANTE_VERSION_MAJOR) +WSAPI_XAVANTE_LICENSE = MIT +WSAPI_XAVANTE_LICENSE_FILES = $(WSAPI_XAVANTE_SUBDIR)/doc/us/license.html + +$(eval $(luarocks-package)) diff --git a/package/wsapi/0001-Lua-5.3-compatibility.patch b/package/wsapi/0001-Lua-5.3-compatibility.patch new file mode 100644 index 0000000000..9165ef2b90 --- /dev/null +++ b/package/wsapi/0001-Lua-5.3-compatibility.patch @@ -0,0 +1,41 @@ +From 2d824d2fce31b6a9cc60b2c3f215fbbf1d99c611 Mon Sep 17 00:00:00 2001 +From: mpeterv +Date: Thu, 3 Dec 2015 13:10:14 +0300 +Subject: [PATCH] Lua 5.3 compatibility + +Fetched from: https://github.com/keplerproject/wsapi/commit/2d824d2fce31b6a9cc60b2c3f215fbbf1d99c611 + +Signed-off-by: Francois Perrad +--- + src/wsapi/ringer.lua | 1 + + src/wsapi/util.lua | 2 +- + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/wsapi-1.6.1/src/wsapi/ringer.lua b/wsapi-1.6.1/src/wsapi/ringer.lua +index 58309f2..db7b68f 100644 +--- a/wsapi-1.6.1/src/wsapi/ringer.lua ++++ b/wsapi-1.6.1/src/wsapi/ringer.lua +@@ -5,6 +5,7 @@ local rings = require "rings" + local _M = {} + + local init = [==[ ++ local loadstring = loadstring or load + local app_name, bootstrap_code, is_file = ... + if bootstrap_code then + local bootstrap, err +diff --git a/wsapi-1.6.1/src/wsapi/util.lua b/wsapi-1.6.1/src/wsapi/util.lua +index 24d3cfe..34e5816 100644 +--- a/wsapi-1.6.1/src/wsapi/util.lua ++++ b/wsapi-1.6.1/src/wsapi/util.lua +@@ -174,7 +174,7 @@ function _M.make_env_post(pd, type, qs) + end + + function _M.loadfile(filename, env) +- if _VERSION == "Lua 5.2" then ++ if _VERSION ~= "Lua 5.1" then + return loadfile(filename, "bt", env) + else + local f, err = loadfile(filename) +-- +2.14.1 + diff --git a/package/wsapi/wsapi.mk b/package/wsapi/wsapi.mk index 0cca6cb4d6..64a27579f2 100644 --- a/package/wsapi/wsapi.mk +++ b/package/wsapi/wsapi.mk @@ -6,5 +6,6 @@ WSAPI_VERSION = 1.6.1-1 WSAPI_LICENSE = MIT +WSAPI_LICENSE_FILES = $(WSAPI_SUBDIR)/doc/us/license.html $(eval $(luarocks-package)) diff --git a/package/x11r7/Config.in b/package/x11r7/Config.in index c40a6438c5..ddceaa407f 100644 --- a/package/x11r7/Config.in +++ b/package/x11r7/Config.in @@ -164,7 +164,6 @@ if BR2_PACKAGE_XORG7 source package/x11r7/xdriver_xf86-video-fbdev/Config.in source package/x11r7/xdriver_xf86-video-fbturbo/Config.in source package/x11r7/xdriver_xf86-video-geode/Config.in - source package/x11r7/xdriver_xf86-video-glide/Config.in source package/x11r7/xdriver_xf86-video-glint/Config.in source package/x11r7/xdriver_xf86-video-i128/Config.in source package/x11r7/xdriver_xf86-video-imx/Config.in @@ -184,11 +183,9 @@ if BR2_PACKAGE_XORG7 source package/x11r7/xdriver_xf86-video-tdfx/Config.in source package/x11r7/xdriver_xf86-video-tga/Config.in source package/x11r7/xdriver_xf86-video-trident/Config.in - source package/x11r7/xdriver_xf86-video-v4l/Config.in source package/x11r7/xdriver_xf86-video-vesa/Config.in source package/x11r7/xdriver_xf86-video-vmware/Config.in source package/x11r7/xdriver_xf86-video-voodoo/Config.in - source package/x11r7/xdriver_xf86-video-wsfb/Config.in endmenu endif menu "X11R7 Fonts" diff --git a/package/x11r7/libxcb/libxcb.mk b/package/x11r7/libxcb/libxcb.mk index ba42418633..32edbb9e90 100644 --- a/package/x11r7/libxcb/libxcb.mk +++ b/package/x11r7/libxcb/libxcb.mk @@ -23,8 +23,8 @@ LIBXCB_CONF_OPTS = --with-doxygen=no HOST_LIBXCB_CONF_OPTS = --with-doxygen=no # libxcb is not python3 friendly, so force the python interpreter -HOST_LIBXCB_CONF_OPTS += ac_cv_path_PYTHON=$(HOST_DIR)/usr/bin/python2 -LIBXCB_CONF_OPTS += ac_cv_path_PYTHON=$(HOST_DIR)/usr/bin/python2 +HOST_LIBXCB_CONF_OPTS += ac_cv_path_PYTHON=$(HOST_DIR)/bin/python2 +LIBXCB_CONF_OPTS += ac_cv_path_PYTHON=$(HOST_DIR)/bin/python2 $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/x11r7/xapp_luit/Config.in b/package/x11r7/xapp_luit/Config.in index 3e314de182..69da5706f5 100644 --- a/package/x11r7/xapp_luit/Config.in +++ b/package/x11r7/xapp_luit/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_XAPP_LUIT bool "luit" + depends on BR2_USE_MMU # fork() select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBFONTENC - depends on BR2_USE_MMU # fork() help Locale and ISO 2022 support for Unicode terminals diff --git a/package/x11r7/xapp_sessreg/0001-Pass-P-to-the-preprocessor-when-generating-filenames.patch b/package/x11r7/xapp_sessreg/0001-Pass-P-to-the-preprocessor-when-generating-filenames.patch deleted file mode 100644 index 5c3e91a491..0000000000 --- a/package/x11r7/xapp_sessreg/0001-Pass-P-to-the-preprocessor-when-generating-filenames.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 93f5d5abf6b214a4b36e00cd09174d24b2ed0a6d Mon Sep 17 00:00:00 2001 -From: Stefan Dirsch -Date: Wed, 9 Sep 2015 23:44:06 +0200 -Subject: [PATCH] Pass -P to the preprocessor when generating filenames for the - manpage. - -Fixes build with GCC 5. Patch by Richard Biener - -Tested-by: Matt Turner -Signed-off-by: Matt Turner -[Thomas: backport from upstream commit 93f5d5abf6b214a4b36e00cd09174d24b2ed0a6d] -Signed-off-by: Thomas Petazzoni ---- - man/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/man/Makefile.am b/man/Makefile.am -index 665ace5..2e5f146 100644 ---- a/man/Makefile.am -+++ b/man/Makefile.am -@@ -9,7 +9,7 @@ SUFFIXES = .$(APP_MAN_SUFFIX) .man - - AM_CPPFLAGS = -I$(top_builddir) -I$(top_srcdir) - filenames.sed: filenames.sed.c -- $(AM_V_GEN)$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -+ $(AM_V_GEN)$(CPP) -P $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(srcdir)/filenames.sed.c | \ - $(SED) -n -e '/s|__/ p' -e '/^\/__/ p' > $@ - --- -2.6.3 - diff --git a/package/x11r7/xapp_sessreg/0002-missing_path_wtmpx.patch b/package/x11r7/xapp_sessreg/0001-missing_path_wtmpx.patch similarity index 100% rename from package/x11r7/xapp_sessreg/0002-missing_path_wtmpx.patch rename to package/x11r7/xapp_sessreg/0001-missing_path_wtmpx.patch diff --git a/package/x11r7/xapp_sessreg/xapp_sessreg.hash b/package/x11r7/xapp_sessreg/xapp_sessreg.hash index 9c1a8029b2..47495b23df 100644 --- a/package/x11r7/xapp_sessreg/xapp_sessreg.hash +++ b/package/x11r7/xapp_sessreg/xapp_sessreg.hash @@ -1,2 +1,2 @@ -# From http://lists.x.org/archives/xorg-announce/2015-January/002522.html -sha256 551177657835e0902b5eee7b19713035beaa1581bbd3c6506baa553e751e017c sessreg-1.1.0.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2017-February/002778.html +sha256 78a76ae3f3f6a26547a34630d1b740f42344848b5fb6d7c9c7f7da255e35a6e1 sessreg-1.1.1.tar.bz2 diff --git a/package/x11r7/xapp_sessreg/xapp_sessreg.mk b/package/x11r7/xapp_sessreg/xapp_sessreg.mk index 08811c015e..c6e9463d3b 100644 --- a/package/x11r7/xapp_sessreg/xapp_sessreg.mk +++ b/package/x11r7/xapp_sessreg/xapp_sessreg.mk @@ -4,9 +4,9 @@ # ################################################################################ -XAPP_SESSREG_VERSION = 1.1.0 +XAPP_SESSREG_VERSION = 1.1.1 XAPP_SESSREG_SOURCE = sessreg-$(XAPP_SESSREG_VERSION).tar.bz2 -XAPP_SESSREG_SITE = http://xorg.freedesktop.org/releases/individual/app +XAPP_SESSREG_SITE = https://xorg.freedesktop.org/archive/individual/app XAPP_SESSREG_LICENSE = MIT XAPP_SESSREG_LICENSE_FILES = COPYING XAPP_SESSREG_DEPENDENCIES = xlib_libX11 xproto_xproto diff --git a/package/x11r7/xapp_xconsole/Config.in b/package/x11r7/xapp_xconsole/Config.in index 1aaa118793..7baf4ff6af 100644 --- a/package/x11r7/xapp_xconsole/Config.in +++ b/package/x11r7/xapp_xconsole/Config.in @@ -1,10 +1,10 @@ config BR2_PACKAGE_XAPP_XCONSOLE bool "xconsole" + depends on BR2_USE_MMU # fork() select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXAW select BR2_PACKAGE_XLIB_LIBXT select BR2_PACKAGE_XPROTO_XPROTO select BR2_PACKAGE_XLIB_LIBXMU - depends on BR2_USE_MMU # fork() help xconsole - monitor system console messages with X diff --git a/package/x11r7/xapp_xdriinfo/Config.in b/package/x11r7/xapp_xdriinfo/Config.in index 36dc5770e9..2b204d9171 100644 --- a/package/x11r7/xapp_xdriinfo/Config.in +++ b/package/x11r7/xapp_xdriinfo/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_XAPP_XDRIINFO bool "xdriinfo" + depends on BR2_PACKAGE_HAS_LIBGL select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XPROTO_GLPROTO - depends on BR2_PACKAGE_HAS_LIBGL help query configuration information of DRI drivers diff --git a/package/x11r7/xapp_xdriinfo/xapp_xdriinfo.mk b/package/x11r7/xapp_xdriinfo/xapp_xdriinfo.mk index bb00d3ba07..ffab5170dc 100644 --- a/package/x11r7/xapp_xdriinfo/xapp_xdriinfo.mk +++ b/package/x11r7/xapp_xdriinfo/xapp_xdriinfo.mk @@ -9,6 +9,6 @@ XAPP_XDRIINFO_SOURCE = xdriinfo-$(XAPP_XDRIINFO_VERSION).tar.bz2 XAPP_XDRIINFO_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XDRIINFO_LICENSE = MIT XAPP_XDRIINFO_LICENSE_FILES = COPYING -XAPP_XDRIINFO_DEPENDENCIES = xlib_libX11 xproto_glproto mesa3d +XAPP_XDRIINFO_DEPENDENCIES = libgl xlib_libX11 xproto_glproto $(eval $(autotools-package)) diff --git a/package/x11r7/xapp_xedit/Config.in b/package/x11r7/xapp_xedit/Config.in index feaea7486f..876d54126b 100644 --- a/package/x11r7/xapp_xedit/Config.in +++ b/package/x11r7/xapp_xedit/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_XAPP_XEDIT bool "xedit" - select BR2_PACKAGE_XLIB_LIBXAW depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_XLIB_LIBXAW help simple text editor for X diff --git a/package/x11r7/xapp_xf86dga/Config.in b/package/x11r7/xapp_xf86dga/Config.in index 8a13bd4df1..5d812033cd 100644 --- a/package/x11r7/xapp_xf86dga/Config.in +++ b/package/x11r7/xapp_xf86dga/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_XAPP_XF86DGA bool "xf86dga" + depends on BR2_USE_MMU # fork() select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXXF86DGA - depends on BR2_USE_MMU # fork() help test program for the XFree86-DGA extension diff --git a/package/x11r7/xapp_xfs/Config.in b/package/x11r7/xapp_xfs/Config.in index 8b72445f8a..0a5d711524 100644 --- a/package/x11r7/xapp_xfs/Config.in +++ b/package/x11r7/xapp_xfs/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_XAPP_XFS bool "xfs" + depends on BR2_USE_MMU # fork() select BR2_PACKAGE_XLIB_LIBFS select BR2_PACKAGE_XLIB_LIBXFONT select BR2_PACKAGE_XPROTO_FONTSPROTO - depends on BR2_USE_MMU # fork() help X font server diff --git a/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.hash b/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.hash index bc85caa6ed..4d0b5feed9 100644 --- a/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.hash +++ b/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.hash @@ -1,2 +1,5 @@ -# From http://lists.x.org/archives/xorg-announce/2015-November/002653.html -sha256 0304dc9e0d4ac10831a9ef5d5419722375ddbc3eac3ff4413094d57bc1f1923d xkbcomp-1.3.1.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2017-May/002797.html +md5 cc22b232bc78a303371983e1b48794ab xkbcomp-1.4.0.tar.bz2 +sha1 9578a564ff8fcf96581fb52860828fbab8c67b4f xkbcomp-1.4.0.tar.bz2 +sha256 bc69c8748c03c5ad9afdc8dff9db11994dd871b614c65f8940516da6bf61ce6b xkbcomp-1.4.0.tar.bz2 +sha512 c96a63fc2d9a6ac17123297574966c45d0dcfd4ae3d4073ce863c7738d453f4c0a5f7a87c06efdec19f0b270207a7170fe1aa72a73ef1b50f95c7ca262f4882e xkbcomp-1.4.0.tar.bz2 diff --git a/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.mk b/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.mk index 4fc4372fef..cc88561892 100644 --- a/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.mk +++ b/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_XKBCOMP_VERSION = 1.3.1 +XAPP_XKBCOMP_VERSION = 1.4.0 XAPP_XKBCOMP_SOURCE = xkbcomp-$(XAPP_XKBCOMP_VERSION).tar.bz2 XAPP_XKBCOMP_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XKBCOMP_LICENSE = MIT diff --git a/package/x11r7/xcb-util-cursor/Config.in b/package/x11r7/xcb-util-cursor/Config.in index ca304941b7..aa81615c59 100644 --- a/package/x11r7/xcb-util-cursor/Config.in +++ b/package/x11r7/xcb-util-cursor/Config.in @@ -1,9 +1,9 @@ config BR2_PACKAGE_XCB_UTIL_CURSOR bool "xcb-util-cursor" + depends on BR2_PACKAGE_LIBXCB select BR2_PACKAGE_XCB_UTIL select BR2_PACKAGE_XCB_UTIL_IMAGE select BR2_PACKAGE_XCB_UTIL_RENDERUTIL - depends on BR2_PACKAGE_LIBXCB help The XCB util modules provides a number of libraries which sit on top of libxcb, the core X protocol library, and some diff --git a/package/x11r7/xcb-util-renderutil/Config.in b/package/x11r7/xcb-util-renderutil/Config.in index 53b2a8c417..088bb18f8d 100644 --- a/package/x11r7/xcb-util-renderutil/Config.in +++ b/package/x11r7/xcb-util-renderutil/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_XCB_UTIL_RENDERUTIL bool "xcb-util-renderutil" - select BR2_PACKAGE_XCB_UTIL depends on BR2_PACKAGE_LIBXCB # xcb-util + select BR2_PACKAGE_XCB_UTIL help The XCB util modules provides a number of libraries which sit on top of libxcb, the core X protocol library, and some diff --git a/package/x11r7/xcursor-transparent-theme/xcursor-transparent-theme.mk b/package/x11r7/xcursor-transparent-theme/xcursor-transparent-theme.mk index 5c6f2d27a7..ddcc6ac9cb 100644 --- a/package/x11r7/xcursor-transparent-theme/xcursor-transparent-theme.mk +++ b/package/x11r7/xcursor-transparent-theme/xcursor-transparent-theme.mk @@ -7,7 +7,7 @@ XCURSOR_TRANSPARENT_THEME_VERSION = 0.1.1 XCURSOR_TRANSPARENT_THEME_SITE = http://downloads.yoctoproject.org/releases/matchbox/utils XCURSOR_TRANSPARENT_THEME_DEPENDENCIES = xlib_libXcursor host-xapp_xcursorgen -XCURSOR_TRANSPARENT_THEME_LICENSE = GPLv2 +XCURSOR_TRANSPARENT_THEME_LICENSE = GPL-2.0 XCURSOR_TRANSPARENT_THEME_LICENSE_FILES = COPYING define ICONS_DEFAULT_CONFIG_INSTALL diff --git a/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.hash b/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.hash index 0d35294937..43b8f78f96 100644 --- a/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.hash +++ b/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.hash @@ -1,2 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2017-February/002776.html -sha256 ddcb07350aed59b2996a92a1b4ff64d1c0b0c86a3f0ddca15b2b1c8c8bb13628 xf86-input-libinput-0.24.0.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2017-September/002807.html +md5 da47ef62eab1d0e922a8fa929ff81758 xf86-input-libinput-0.26.0.tar.bz2 +sha1 3f55b8a5d4ff51d4f0cfe3fe9ace66227193abd4 xf86-input-libinput-0.26.0.tar.bz2 +sha256 abca558fc2226f295691f1cf3412d4c0edeaa439f677ca25b5c9fab310d2387b xf86-input-libinput-0.26.0.tar.bz2 +sha512 b52a27e916f7e86576500ef2bc3ce640676f5a710543755865a723628c0e01a575989460853bac184ed696961e3f8fca72ecba8ad4625be8cd9e31f9a55f5e97 xf86-input-libinput-0.26.0.tar.bz2 diff --git a/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.mk b/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.mk index e293b4e80b..dab24b1235 100644 --- a/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.mk +++ b/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDRIVER_XF86_INPUT_LIBINPUT_VERSION = 0.24.0 +XDRIVER_XF86_INPUT_LIBINPUT_VERSION = 0.26.0 XDRIVER_XF86_INPUT_LIBINPUT_SOURCE = xf86-input-libinput-$(XDRIVER_XF86_INPUT_LIBINPUT_VERSION).tar.bz2 XDRIVER_XF86_INPUT_LIBINPUT_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_INPUT_LIBINPUT_LICENSE = MIT diff --git a/package/x11r7/xdriver_xf86-input-tslib/0001-fix-segfault.patch b/package/x11r7/xdriver_xf86-input-tslib/0001-fix-segfault.patch deleted file mode 100644 index adef18b302..0000000000 --- a/package/x11r7/xdriver_xf86-input-tslib/0001-fix-segfault.patch +++ /dev/null @@ -1,34 +0,0 @@ -Fetch from: https://launchpad.net/ubuntu/+archive/primary/+files/xf86-input-tslib_0.0.6-7build3.debian.tar.gz - -Signed-off-by: Jesper Baekdahl ---- ---- xf86-input-tslib-0.0.6/src/tslib.c 2009-10-19 18:07:18.000000000 +0300 -+++ xf86-input-tslib-0.0.6.new/src/tslib.c 2010-02-12 16:15:05.000000000 +0200 -@@ -103,8 +103,6 @@ - static void - PointerControlProc(DeviceIntPtr dev, PtrCtrl * ctrl) - { -- ErrorF("%s\n", __FUNCTION__); -- return; - } - - static Bool -@@ -406,7 +404,9 @@ - xf86MotionHistoryAllocate(pInfo); - #endif - -- break; -+ if (!InitPtrFeedbackClassDeviceStruct(device, PointerControlProc)) -+ return !Success; -+ break; - - case DEVICE_ON: - AddEnabledDevice(pInfo->fd); -@@ -435,6 +435,7 @@ - xf86TslibControlProc(pInfo->dev, DEVICE_OFF); - ts_close(priv->ts); - xfree(pInfo->private); -+ pInfo->private = NULL; - xf86DeleteInput(pInfo, 0); - } - diff --git a/package/x11r7/xdriver_xf86-input-tslib/0002-port-abi-12.patch b/package/x11r7/xdriver_xf86-input-tslib/0002-port-abi-12.patch deleted file mode 100644 index eb8fb542fd..0000000000 --- a/package/x11r7/xdriver_xf86-input-tslib/0002-port-abi-12.patch +++ /dev/null @@ -1,196 +0,0 @@ -Fetch from: https://launchpad.net/ubuntu/+archive/primary/+files/xf86-input-tslib_0.0.6-7build3.debian.tar.gz -Fixes build against newer versions of xorg. - -Signed-off-by: Jesper Baekdahl ---- -Index: xf86-input-tslib-trunk/src/tslib.c -=================================================================== ---- xf86-input-tslib-trunk/src/tslib.c (revision 48) -+++ xf86-input-tslib-trunk/src/tslib.c (working copy) -@@ -69,6 +69,13 @@ - #define DEFAULT_HEIGHT 240 - #define DEFAULT_WIDTH 320 - -+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12 -+#define COLLECT_INPUT_OPTIONS(pInfo, options) xf86CollectInputOptions((pInfo), (options), NULL) -+#else -+#define COLLECT_INPUT_OPTIONS(pInfo, options) xf86CollectInputOptions((pInfo), (options)) -+#endif -+ -+ - enum { TSLIB_ROTATE_NONE=0, TSLIB_ROTATE_CW=270, TSLIB_ROTATE_UD=180, TSLIB_ROTATE_CCW=90 }; - - enum button_state { BUTTON_NOT_PRESSED = 0, BUTTON_1_PRESSED = 1, BUTTON_3_CLICK = 3, BUTTON_3_CLICKED=4, BUTTON_EMULATION_OFF=-1 }; -@@ -106,7 +113,7 @@ - } - - static Bool --ConvertProc( LocalDevicePtr local, -+ConvertProc( InputInfoPtr local, - int first, - int num, - int v0, -@@ -135,7 +142,7 @@ - return t; - } - --static void ReadInput (LocalDevicePtr local) -+static void ReadInput (InputInfoPtr local) - { - struct ts_priv *priv = (struct ts_priv *) (local->private); - struct ts_sample samp; -@@ -382,7 +389,11 @@ - axiswidth - 1, /* max val */ - axiswidth, /* resolution */ - 0, /* min_res */ -- axiswidth); /* max_res */ -+ axiswidth /* max_res */ -+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12 -+ ,Absolute -+#endif -+ ); - - InitValuatorAxisStruct(device, 1, - #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 -@@ -392,7 +403,11 @@ - axisheight - 1, /* max val */ - axisheight, /* resolution */ - 0, /* min_res */ -- axisheight); /* max_res */ -+ axisheight /* max_res */ -+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12 -+ ,Absolute -+#endif -+ ); - - if (InitProximityClassDeviceStruct (device) == FALSE) { - ErrorF ("Unable to allocate EVTouch touchscreen ProximityClassDeviceStruct\n"); -@@ -434,7 +449,7 @@ - ErrorF("%s\n", __FUNCTION__); - xf86TslibControlProc(pInfo->dev, DEVICE_OFF); - ts_close(priv->ts); -- xfree(pInfo->private); -+ free(pInfo->private); - pInfo->private = NULL; - xf86DeleteInput(pInfo, 0); - } -@@ -444,47 +459,57 @@ - * - * called when the module subsection is found in XF86Config - */ -+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12 -+static int -+xf86TslibInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags) -+#else - static InputInfoPtr - xf86TslibInit(InputDriverPtr drv, IDevPtr dev, int flags) -+#endif - { - struct ts_priv *priv; - char *s; -+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12 - InputInfoPtr pInfo; -+#endif - -- priv = xcalloc (1, sizeof (struct ts_priv)); -+ priv = calloc (1, sizeof (struct ts_priv)); - if (!priv) -- return NULL; -+ return BadValue; - -+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12 - if (!(pInfo = xf86AllocateInput(drv, 0))) { -- xfree(priv); -- return NULL; -+ free(priv); -+ return BadValue; - } - - /* Initialise the InputInfoRec. */ - pInfo->name = dev->identifier; -- pInfo->type_name = XI_TOUCHSCREEN; - pInfo->flags = - XI86_KEYBOARD_CAPABLE | XI86_POINTER_CAPABLE | - XI86_SEND_DRAG_EVENTS; -- pInfo->device_control = xf86TslibControlProc; -- pInfo->read_input = ReadInput; - #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 0 - pInfo->motion_history_proc = xf86GetMotionEvents; - pInfo->history_size = 0; - #endif -- pInfo->control_proc = NULL; -+ pInfo->conf_idev = dev; - pInfo->close_proc = NULL; -- pInfo->switch_mode = NULL; - pInfo->conversion_proc = ConvertProc; - pInfo->reverse_conversion_proc = NULL; -- pInfo->dev = NULL; - pInfo->private_flags = 0; - pInfo->always_core_feedback = 0; -- pInfo->conf_idev = dev; -+#endif -+ -+ pInfo->type_name = XI_TOUCHSCREEN; -+ pInfo->control_proc = NULL; -+ pInfo->read_input = ReadInput; -+ pInfo->device_control = xf86TslibControlProc; -+ pInfo->switch_mode = NULL; - pInfo->private = priv; -+ pInfo->dev = NULL; - - /* Collect the options, and process the common options. */ -- xf86CollectInputOptions(pInfo, NULL, NULL); -+ COLLECT_INPUT_OPTIONS(pInfo, NULL); - xf86ProcessCommonOptions(pInfo, pInfo->options); - - priv->screen_num = xf86SetIntOption(pInfo->options, "ScreenNumber", 0 ); -@@ -510,23 +535,31 @@ - priv->rotate = TSLIB_ROTATE_NONE; - } - -+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12 - s = xf86CheckStrOption(dev->commonOptions, "path", NULL); -+#else -+ s = xf86CheckStrOption(pInfo->options, "path", NULL); -+#endif - if (!s) -+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12 - s = xf86CheckStrOption(dev->commonOptions, "Device", NULL); -+#else -+ s = xf86CheckStrOption(pInfo->options, "Device", NULL); -+#endif - - priv->ts = ts_open(s, 1); -- xfree(s); -+ free(s); - - if (!priv->ts) { - ErrorF("ts_open failed (device=%s)\n",s); - xf86DeleteInput(pInfo, 0); -- return NULL; -+ return BadValue; - } - - if (ts_config(priv->ts)) { - ErrorF("ts_config failed\n"); - xf86DeleteInput(pInfo, 0); -- return NULL; -+ return BadValue; - } - - pInfo->fd = ts_fd(priv->ts); -@@ -536,11 +569,13 @@ - priv->state = BUTTON_EMULATION_OFF; - } - -+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12 - /* Mark the device configured */ - pInfo->flags |= XI86_CONFIGURED; -+#endif - - /* Return the configured device */ -- return (pInfo); -+ return Success; - } - - _X_EXPORT InputDriverRec TSLIB = { diff --git a/package/x11r7/xdriver_xf86-input-tslib/Config.in b/package/x11r7/xdriver_xf86-input-tslib/Config.in index 9c6e296153..4e77abcb10 100644 --- a/package/x11r7/xdriver_xf86-input-tslib/Config.in +++ b/package/x11r7/xdriver_xf86-input-tslib/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_XDRIVER_XF86_INPUT_TSLIB bool "xf86-input-tslib" - depends on !BR2_STATIC_LIBS # tslib select BR2_PACKAGE_XPROTO_INPUTPROTO select BR2_PACKAGE_XPROTO_RANDRPROTO select BR2_PACKAGE_XPROTO_XPROTO @@ -8,7 +7,4 @@ config BR2_PACKAGE_XDRIVER_XF86_INPUT_TSLIB help Touch screen library input driver - http://www.ptxdist.org/software/xf86-input-tslib/index_en.html - -comment "xf86-input-tslib needs a toolchain w/ dynamic library" - depends on BR2_STATIC_LIBS + https://github.com/merge/xf86-input-tslib diff --git a/package/x11r7/xdriver_xf86-input-tslib/xdriver_xf86-input-tslib.hash b/package/x11r7/xdriver_xf86-input-tslib/xdriver_xf86-input-tslib.hash index 9eb3f1de8f..d2c1d8ed6d 100644 --- a/package/x11r7/xdriver_xf86-input-tslib/xdriver_xf86-input-tslib.hash +++ b/package/x11r7/xdriver_xf86-input-tslib/xdriver_xf86-input-tslib.hash @@ -1,2 +1,5 @@ -# Locally calculated -sha256 5f46fdef095a6e44a69e0f0b57c7d665224b26d990d006611236d8332e85b105 xf86-input-tslib-0.0.6.tar.bz2 +# https://github.com/merge/xf86-input-tslib/releases/download/1.1.1/xf86-input-tslib-1.1.1.tar.bz2.sha256 +sha256 8b6a9f2ad73598a3619e66e252bd54b1792c4deba0213101fa4d272b5e9217ec xf86-input-tslib-1.1.1.tar.bz2 + +# Locally computed +sha256 edfc46c9b91499699fc54d39e986756a2dcce8a919c6066be177123441532856 COPYING diff --git a/package/x11r7/xdriver_xf86-input-tslib/xdriver_xf86-input-tslib.mk b/package/x11r7/xdriver_xf86-input-tslib/xdriver_xf86-input-tslib.mk index cd8c10adad..bf0ee4860d 100644 --- a/package/x11r7/xdriver_xf86-input-tslib/xdriver_xf86-input-tslib.mk +++ b/package/x11r7/xdriver_xf86-input-tslib/xdriver_xf86-input-tslib.mk @@ -4,9 +4,9 @@ # ################################################################################ -XDRIVER_XF86_INPUT_TSLIB_VERSION = 0.0.6 +XDRIVER_XF86_INPUT_TSLIB_VERSION = 1.1.1 XDRIVER_XF86_INPUT_TSLIB_SOURCE = xf86-input-tslib-$(XDRIVER_XF86_INPUT_TSLIB_VERSION).tar.bz2 -XDRIVER_XF86_INPUT_TSLIB_SITE = http://www.pengutronix.de/software/xf86-input-tslib/download +XDRIVER_XF86_INPUT_TSLIB_SITE = https://github.com/merge/xf86-input-tslib/releases/download/$(XDRIVER_XF86_INPUT_TSLIB_VERSION) XDRIVER_XF86_INPUT_TSLIB_LICENSE = MIT XDRIVER_XF86_INPUT_TSLIB_LICENSE_FILES = COPYING XDRIVER_XF86_INPUT_TSLIB_DEPENDENCIES = \ diff --git a/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.hash b/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.hash index 32ff1646d1..b5910f3c0f 100644 --- a/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.hash +++ b/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.hash @@ -1,2 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2016-November/002741.html -sha256 275b1aac5f127f55ba3d7480a1df89eace1d02650e24e46908067fc875e76c8f xf86-video-amdgpu-1.2.0.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2017-September/002805.html +md5 15a54f0a7870a57e3f611c9114924137 xf86-video-amdgpu-1.4.0.tar.bz2 +sha1 d9971cc6177095219a6687328aef25a72df3dd9d xf86-video-amdgpu-1.4.0.tar.bz2 +sha256 f8cac4bf3dd795b93cc337e5c0c62618026f597890a10d996f09c73eb88ba67c xf86-video-amdgpu-1.4.0.tar.bz2 +sha512 cae6417a45f6b981e007e080486083f1c38eaca58c6e331b04bbf46c86f23394742a722ae0d798d8dcad66879e99d90e57f04ae9ccb198f3ed26ec745878ccc2 xf86-video-amdgpu-1.4.0.tar.bz2 diff --git a/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.mk b/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.mk index d858e14096..50e5310e46 100644 --- a/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.mk +++ b/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_AMDGPU_VERSION = 1.2.0 +XDRIVER_XF86_VIDEO_AMDGPU_VERSION = 1.4.0 XDRIVER_XF86_VIDEO_AMDGPU_SOURCE = xf86-video-amdgpu-$(XDRIVER_XF86_VIDEO_AMDGPU_VERSION).tar.bz2 XDRIVER_XF86_VIDEO_AMDGPU_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_VIDEO_AMDGPU_LICENSE = MIT diff --git a/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.hash b/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.hash index fe5ae0ea70..117c5749ff 100644 --- a/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.hash +++ b/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.hash @@ -1,2 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2016-November/002738.html -sha256 401f5de772928f3dc4ce43a885adb0a47a2f61aa4a9e45d2ab3d184136a9d6fa xf86-video-ati-7.8.0.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2017-September/002806.html +md5 0ff538f78ae82ccce384dadf7a705863 xf86-video-ati-7.10.0.tar.bz2 +sha1 38e535ecc8445c1b9464ac34db959337929887f7 xf86-video-ati-7.10.0.tar.bz2 +sha256 ee51d642e3105cb5424f02622dc2966b87b42d498bb34104a70fcf6d4a8f4e79 xf86-video-ati-7.10.0.tar.bz2 +sha512 1f2f4af1d299af62644693e6fbc47a5078c9bc5e7887a1ac217121ef2fd29d8c9f50a8d9be9ddb0887d0b49141bb33484f82c1313a472ad6867266b53b4a11ad xf86-video-ati-7.10.0.tar.bz2 diff --git a/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.mk b/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.mk index ea701672c2..f8b8f70cb6 100644 --- a/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.mk +++ b/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_ATI_VERSION = 7.8.0 +XDRIVER_XF86_VIDEO_ATI_VERSION = 7.10.0 XDRIVER_XF86_VIDEO_ATI_SOURCE = xf86-video-ati-$(XDRIVER_XF86_VIDEO_ATI_VERSION).tar.bz2 XDRIVER_XF86_VIDEO_ATI_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_VIDEO_ATI_LICENSE = MIT diff --git a/package/x11r7/xdriver_xf86-video-geode/Config.in b/package/x11r7/xdriver_xf86-video-geode/Config.in index 0b45fb165d..fe217b922c 100644 --- a/package/x11r7/xdriver_xf86-video-geode/Config.in +++ b/package/x11r7/xdriver_xf86-video-geode/Config.in @@ -1,10 +1,10 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_GEODE bool "xf86-video-geode" + depends on BR2_i386 select BR2_PACKAGE_XPROTO_FONTSPROTO select BR2_PACKAGE_XPROTO_RANDRPROTO select BR2_PACKAGE_XPROTO_RENDERPROTO select BR2_PACKAGE_XPROTO_VIDEOPROTO select BR2_PACKAGE_XPROTO_XPROTO - depends on BR2_i386 help video driver for geode device diff --git a/package/x11r7/xdriver_xf86-video-glide/Config.in b/package/x11r7/xdriver_xf86-video-glide/Config.in deleted file mode 100644 index 413acce02c..0000000000 --- a/package/x11r7/xdriver_xf86-video-glide/Config.in +++ /dev/null @@ -1,10 +0,0 @@ -config BR2_PACKAGE_XDRIVER_XF86_VIDEO_GLIDE - bool "xf86-video-glide" - select BR2_PACKAGE_XPROTO_FONTSPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_RENDERPROTO - select BR2_PACKAGE_XPROTO_VIDEOPROTO - select BR2_PACKAGE_XPROTO_XPROTO - depends on BROKEN # needs glide library from http://glide.sourceforge.net/ - help - video driver for glide device diff --git a/package/x11r7/xdriver_xf86-video-glide/xdriver_xf86-video-glide.hash b/package/x11r7/xdriver_xf86-video-glide/xdriver_xf86-video-glide.hash deleted file mode 100644 index e5b344afca..0000000000 --- a/package/x11r7/xdriver_xf86-video-glide/xdriver_xf86-video-glide.hash +++ /dev/null @@ -1,2 +0,0 @@ -# From http://lists.x.org/archives/xorg-announce/2013-September/002323.html -sha256 9eb04477ee559cd114917936916303f4ded95695163fae1cc10058d2a7d94aed xf86-video-glide-1.2.2.tar.bz2 diff --git a/package/x11r7/xdriver_xf86-video-glide/xdriver_xf86-video-glide.mk b/package/x11r7/xdriver_xf86-video-glide/xdriver_xf86-video-glide.mk deleted file mode 100644 index 3518789148..0000000000 --- a/package/x11r7/xdriver_xf86-video-glide/xdriver_xf86-video-glide.mk +++ /dev/null @@ -1,14 +0,0 @@ -################################################################################ -# -# xdriver_xf86-video-glide -# -################################################################################ - -XDRIVER_XF86_VIDEO_GLIDE_VERSION = 1.2.2 -XDRIVER_XF86_VIDEO_GLIDE_SOURCE = xf86-video-glide-$(XDRIVER_XF86_VIDEO_GLIDE_VERSION).tar.bz2 -XDRIVER_XF86_VIDEO_GLIDE_SITE = http://xorg.freedesktop.org/releases/individual/driver -XDRIVER_XF86_VIDEO_GLIDE_LICENSE = MIT -XDRIVER_XF86_VIDEO_GLIDE_LICENSE_FILES = COPYING -XDRIVER_XF86_VIDEO_GLIDE_DEPENDENCIES = xserver_xorg-server xproto_fontsproto xproto_randrproto xproto_renderproto xproto_videoproto xproto_xproto - -$(eval $(autotools-package)) diff --git a/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk b/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk index 2a3e99745a..b31d98fbf4 100644 --- a/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk +++ b/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk @@ -33,4 +33,3 @@ define XDRIVER_XF86_VIDEO_IMX_VIV_INSTALL_TARGET_CMDS endef $(eval $(generic-package)) - diff --git a/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.mk b/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.mk index 29228bbf77..6debdd0964 100644 --- a/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.mk +++ b/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_INTEL_VERSION = 9ac7a3370ab265d4cbdbbf3dc588af88c37048e1 +XDRIVER_XF86_VIDEO_INTEL_VERSION = b57abe20e81f4b8e4dd203b6a9eda7ff441bc8ce XDRIVER_XF86_VIDEO_INTEL_SITE = git://anongit.freedesktop.org/xorg/driver/xf86-video-intel XDRIVER_XF86_VIDEO_INTEL_LICENSE = MIT XDRIVER_XF86_VIDEO_INTEL_LICENSE_FILES = COPYING @@ -19,7 +19,6 @@ XDRIVER_XF86_VIDEO_INTEL_CONF_ENV = \ XDRIVER_XF86_VIDEO_INTEL_CONF_OPTS = \ --disable-xvmc \ --enable-sna \ - --disable-glamor \ --disable-xaa \ --disable-dga \ --disable-async-swap diff --git a/package/x11r7/xdriver_xf86-video-nouveau/xdriver_xf86-video-nouveau.hash b/package/x11r7/xdriver_xf86-video-nouveau/xdriver_xf86-video-nouveau.hash index cfba3a00ba..5b69e4e297 100644 --- a/package/x11r7/xdriver_xf86-video-nouveau/xdriver_xf86-video-nouveau.hash +++ b/package/x11r7/xdriver_xf86-video-nouveau/xdriver_xf86-video-nouveau.hash @@ -1,4 +1,4 @@ -# Locally computed -sha256 6d9242ba139c3df7afefffb455573b52f4427920b978161c00483c64a6da47cb xf86-video-nouveau-1.0.13.tar.bz2 -# From http://www.linuxfromscratch.org/blfs/view/svn/x/x7driver.html#xorg-nouveau-driver -md5 2d7b2917ef18c6e97a6f3817c3e9387b xf86-video-nouveau-1.0.13.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2017-April/002796.html +md5 717203cb87029cddcbccf7398f9ad8c3 xf86-video-nouveau-1.0.15.tar.bz2 +sha1 ed699a59ea509550f60019eef1e092ed0ccdea08 xf86-video-nouveau-1.0.15.tar.bz2 +sha256 aede10fd395610a328697adca3434fb14e9afbd79911d6c8545cfa2c0e541d4c xf86-video-nouveau-1.0.15.tar.bz2 diff --git a/package/x11r7/xdriver_xf86-video-nouveau/xdriver_xf86-video-nouveau.mk b/package/x11r7/xdriver_xf86-video-nouveau/xdriver_xf86-video-nouveau.mk index 70a7d87991..e3969a2646 100644 --- a/package/x11r7/xdriver_xf86-video-nouveau/xdriver_xf86-video-nouveau.mk +++ b/package/x11r7/xdriver_xf86-video-nouveau/xdriver_xf86-video-nouveau.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_NOUVEAU_VERSION = 1.0.13 +XDRIVER_XF86_VIDEO_NOUVEAU_VERSION = 1.0.15 XDRIVER_XF86_VIDEO_NOUVEAU_SOURCE = xf86-video-nouveau-$(XDRIVER_XF86_VIDEO_NOUVEAU_VERSION).tar.bz2 XDRIVER_XF86_VIDEO_NOUVEAU_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_VIDEO_NOUVEAU_LICENSE = MIT diff --git a/package/x11r7/xdriver_xf86-video-v4l/Config.in b/package/x11r7/xdriver_xf86-video-v4l/Config.in deleted file mode 100644 index 27ffd87113..0000000000 --- a/package/x11r7/xdriver_xf86-video-v4l/Config.in +++ /dev/null @@ -1,8 +0,0 @@ -config BR2_PACKAGE_XDRIVER_XF86_VIDEO_V4L - bool "xf86-video-v4l" - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_VIDEOPROTO - select BR2_PACKAGE_XPROTO_XPROTO - depends on BROKEN # Fails to build with xorg xserver >= 1.17 - help - video4linux driver diff --git a/package/x11r7/xdriver_xf86-video-v4l/xdriver_xf86-video-v4l.hash b/package/x11r7/xdriver_xf86-video-v4l/xdriver_xf86-video-v4l.hash deleted file mode 100644 index c4bcfadc4b..0000000000 --- a/package/x11r7/xdriver_xf86-video-v4l/xdriver_xf86-video-v4l.hash +++ /dev/null @@ -1,2 +0,0 @@ -# From http://lists.x.org/archives/xorg-announce/2008-March/000504.html -sha1 7f2212c529a5bcc34f67858a9d0167a0d4848aaa xf86-video-v4l-0.2.0.tar.bz2 diff --git a/package/x11r7/xdriver_xf86-video-v4l/xdriver_xf86-video-v4l.mk b/package/x11r7/xdriver_xf86-video-v4l/xdriver_xf86-video-v4l.mk deleted file mode 100644 index 607b605f80..0000000000 --- a/package/x11r7/xdriver_xf86-video-v4l/xdriver_xf86-video-v4l.mk +++ /dev/null @@ -1,14 +0,0 @@ -################################################################################ -# -# xdriver_xf86-video-v4l -# -################################################################################ - -XDRIVER_XF86_VIDEO_V4L_VERSION = 0.2.0 -XDRIVER_XF86_VIDEO_V4L_SOURCE = xf86-video-v4l-$(XDRIVER_XF86_VIDEO_V4L_VERSION).tar.bz2 -XDRIVER_XF86_VIDEO_V4L_SITE = http://xorg.freedesktop.org/releases/individual/driver -XDRIVER_XF86_VIDEO_V4L_LICENSE = MIT -XDRIVER_XF86_VIDEO_V4L_LICENSE_FILES = COPYING -XDRIVER_XF86_VIDEO_V4L_DEPENDENCIES = xserver_xorg-server xproto_randrproto xproto_videoproto xproto_xproto - -$(eval $(autotools-package)) diff --git a/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.mk b/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.mk index ef262f8942..1b2066d277 100644 --- a/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.mk +++ b/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.mk @@ -11,4 +11,11 @@ XDRIVER_XF86_VIDEO_VMWARE_LICENSE = MIT XDRIVER_XF86_VIDEO_VMWARE_LICENSE_FILES = COPYING XDRIVER_XF86_VIDEO_VMWARE_DEPENDENCIES = mesa3d xserver_xorg-server xproto_fontsproto xproto_randrproto xproto_renderproto xproto_xextproto xproto_xineramaproto xproto_xproto +ifeq ($(BR2_PACKAGE_HAS_UDEV),y) +XDRIVER_XF86_VIDEO_VMWARE_CONF_OPTS += --with-libudev +XDRIVER_XF86_VIDEO_VMWARE_DEPENDENCIES += udev +else +XDRIVER_XF86_VIDEO_VMWARE_CONF_OPTS += --without-libudev +endif + $(eval $(autotools-package)) diff --git a/package/x11r7/xdriver_xf86-video-wsfb/Config.in b/package/x11r7/xdriver_xf86-video-wsfb/Config.in deleted file mode 100644 index 968ee10c8c..0000000000 --- a/package/x11r7/xdriver_xf86-video-wsfb/Config.in +++ /dev/null @@ -1,10 +0,0 @@ -config BR2_PACKAGE_XDRIVER_XF86_VIDEO_WSFB - bool "xf86-video-wsfb" - select BR2_PACKAGE_XPROTO_FONTSPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_RENDERPROTO - select BR2_PACKAGE_XPROTO_XEXTPROTO - select BR2_PACKAGE_XPROTO_XPROTO - depends on BROKEN # Fails to build. Actually this is OpenBSD/NetBSD stuff. - help - WSFB based chips video driver diff --git a/package/x11r7/xdriver_xf86-video-wsfb/xdriver_xf86-video-wsfb.hash b/package/x11r7/xdriver_xf86-video-wsfb/xdriver_xf86-video-wsfb.hash deleted file mode 100644 index 1258b719dd..0000000000 --- a/package/x11r7/xdriver_xf86-video-wsfb/xdriver_xf86-video-wsfb.hash +++ /dev/null @@ -1,2 +0,0 @@ -# From http://lists.x.org/archives/xorg-announce/2012-January/001786.html -sha256 975ce3e5a063168ec6fe8f3fac50c30d0fae6cc6d81dc260f00bb4cb4f1a2843 xf86-video-wsfb-0.4.0.tar.bz2 diff --git a/package/x11r7/xdriver_xf86-video-wsfb/xdriver_xf86-video-wsfb.mk b/package/x11r7/xdriver_xf86-video-wsfb/xdriver_xf86-video-wsfb.mk deleted file mode 100644 index c2d7d4df3a..0000000000 --- a/package/x11r7/xdriver_xf86-video-wsfb/xdriver_xf86-video-wsfb.mk +++ /dev/null @@ -1,14 +0,0 @@ -################################################################################ -# -# xdriver_xf86-video-wsfb -# -################################################################################ - -XDRIVER_XF86_VIDEO_WSFB_VERSION = 0.4.0 -XDRIVER_XF86_VIDEO_WSFB_SOURCE = xf86-video-wsfb-$(XDRIVER_XF86_VIDEO_WSFB_VERSION).tar.bz2 -XDRIVER_XF86_VIDEO_WSFB_SITE = http://xorg.freedesktop.org/releases/individual/driver -XDRIVER_XF86_VIDEO_WSFB_LICENSE = MIT -XDRIVER_XF86_VIDEO_WSFB_LICENSE_FILES = COPYING -XDRIVER_XF86_VIDEO_WSFB_DEPENDENCIES = xserver_xorg-server xproto_fontsproto xproto_randrproto xproto_renderproto xproto_xextproto xproto_xproto - -$(eval $(autotools-package)) diff --git a/package/x11r7/xfont_font-adobe-100dpi/xfont_font-adobe-100dpi.mk b/package/x11r7/xfont_font-adobe-100dpi/xfont_font-adobe-100dpi.mk index 85a6884aee..9f01838688 100644 --- a/package/x11r7/xfont_font-adobe-100dpi/xfont_font-adobe-100dpi.mk +++ b/package/x11r7/xfont_font-adobe-100dpi/xfont_font-adobe-100dpi.mk @@ -10,8 +10,8 @@ XFONT_FONT_ADOBE_100DPI_SITE = http://xorg.freedesktop.org/releases/individual/f XFONT_FONT_ADOBE_100DPI_LICENSE = MIT XFONT_FONT_ADOBE_100DPI_LICENSE_FILES = COPYING -XFONT_FONT_ADOBE_100DPI_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install -XFONT_FONT_ADOBE_100DPI_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install-data +XFONT_FONT_ADOBE_100DPI_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install +XFONT_FONT_ADOBE_100DPI_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install-data XFONT_FONT_ADOBE_100DPI_DEPENDENCIES = xfont_font-util host-xfont_font-util host-xapp_mkfontscale host-xapp_mkfontdir host-xapp_bdftopcf $(eval $(autotools-package)) diff --git a/package/x11r7/xfont_font-adobe-75dpi/xfont_font-adobe-75dpi.mk b/package/x11r7/xfont_font-adobe-75dpi/xfont_font-adobe-75dpi.mk index bb0a184322..1a8af2bd59 100644 --- a/package/x11r7/xfont_font-adobe-75dpi/xfont_font-adobe-75dpi.mk +++ b/package/x11r7/xfont_font-adobe-75dpi/xfont_font-adobe-75dpi.mk @@ -10,8 +10,8 @@ XFONT_FONT_ADOBE_75DPI_SITE = http://xorg.freedesktop.org/releases/individual/fo XFONT_FONT_ADOBE_75DPI_LICENSE = MIT XFONT_FONT_ADOBE_75DPI_LICENSE_FILES = COPYING -XFONT_FONT_ADOBE_75DPI_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install -XFONT_FONT_ADOBE_75DPI_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install-data +XFONT_FONT_ADOBE_75DPI_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install +XFONT_FONT_ADOBE_75DPI_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install-data XFONT_FONT_ADOBE_75DPI_DEPENDENCIES = xfont_font-util host-xfont_font-util host-xapp_mkfontscale host-xapp_mkfontdir host-xapp_bdftopcf $(eval $(autotools-package)) diff --git a/package/x11r7/xfont_font-adobe-utopia-100dpi/xfont_font-adobe-utopia-100dpi.mk b/package/x11r7/xfont_font-adobe-utopia-100dpi/xfont_font-adobe-utopia-100dpi.mk index 390ca6784a..4ff89f6b1a 100644 --- a/package/x11r7/xfont_font-adobe-utopia-100dpi/xfont_font-adobe-utopia-100dpi.mk +++ b/package/x11r7/xfont_font-adobe-utopia-100dpi/xfont_font-adobe-utopia-100dpi.mk @@ -10,8 +10,8 @@ XFONT_FONT_ADOBE_UTOPIA_100DPI_SITE = http://xorg.freedesktop.org/releases/indiv XFONT_FONT_ADOBE_UTOPIA_100DPI_LICENSE = Adobe License (no modification allowed) XFONT_FONT_ADOBE_UTOPIA_100DPI_LICENSE_FILES = COPYING -XFONT_FONT_ADOBE_UTOPIA_100DPI_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install -XFONT_FONT_ADOBE_UTOPIA_100DPI_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install-data +XFONT_FONT_ADOBE_UTOPIA_100DPI_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install +XFONT_FONT_ADOBE_UTOPIA_100DPI_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install-data XFONT_FONT_ADOBE_UTOPIA_100DPI_DEPENDENCIES = xfont_font-util host-xfont_font-util host-xapp_mkfontscale host-xapp_mkfontdir host-xapp_bdftopcf $(eval $(autotools-package)) diff --git a/package/x11r7/xfont_font-adobe-utopia-75dpi/xfont_font-adobe-utopia-75dpi.mk b/package/x11r7/xfont_font-adobe-utopia-75dpi/xfont_font-adobe-utopia-75dpi.mk index 7ecd46ef11..61005f79bd 100644 --- a/package/x11r7/xfont_font-adobe-utopia-75dpi/xfont_font-adobe-utopia-75dpi.mk +++ b/package/x11r7/xfont_font-adobe-utopia-75dpi/xfont_font-adobe-utopia-75dpi.mk @@ -10,8 +10,8 @@ XFONT_FONT_ADOBE_UTOPIA_75DPI_SITE = http://xorg.freedesktop.org/releases/indivi XFONT_FONT_ADOBE_UTOPIA_75DPI_LICENSE = Adobe License (no modification allowed) XFONT_FONT_ADOBE_UTOPIA_75DPI_LICENSE_FILES = COPYING -XFONT_FONT_ADOBE_UTOPIA_75DPI_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install -XFONT_FONT_ADOBE_UTOPIA_75DPI_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install-data +XFONT_FONT_ADOBE_UTOPIA_75DPI_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install +XFONT_FONT_ADOBE_UTOPIA_75DPI_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install-data XFONT_FONT_ADOBE_UTOPIA_75DPI_DEPENDENCIES = xfont_font-util host-xfont_font-util host-xapp_mkfontscale host-xapp_mkfontdir host-xapp_bdftopcf $(eval $(autotools-package)) diff --git a/package/x11r7/xfont_font-adobe-utopia-type1/xfont_font-adobe-utopia-type1.mk b/package/x11r7/xfont_font-adobe-utopia-type1/xfont_font-adobe-utopia-type1.mk index 6c780e20dc..9264eaf436 100644 --- a/package/x11r7/xfont_font-adobe-utopia-type1/xfont_font-adobe-utopia-type1.mk +++ b/package/x11r7/xfont_font-adobe-utopia-type1/xfont_font-adobe-utopia-type1.mk @@ -10,8 +10,8 @@ XFONT_FONT_ADOBE_UTOPIA_TYPE1_SITE = http://xorg.freedesktop.org/releases/indivi XFONT_FONT_ADOBE_UTOPIA_TYPE1_LICENSE = Adobe License (no modification allowed) XFONT_FONT_ADOBE_UTOPIA_TYPE1_LICENSE_FILES = COPYING -XFONT_FONT_ADOBE_UTOPIA_TYPE1_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install -XFONT_FONT_ADOBE_UTOPIA_TYPE1_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install-data +XFONT_FONT_ADOBE_UTOPIA_TYPE1_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install +XFONT_FONT_ADOBE_UTOPIA_TYPE1_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install-data XFONT_FONT_ADOBE_UTOPIA_TYPE1_DEPENDENCIES = xfont_font-util host-xfont_font-util host-xapp_mkfontscale host-xapp_mkfontdir host-xapp_bdftopcf $(eval $(autotools-package)) diff --git a/package/x11r7/xfont_font-alias/xfont_font-alias.mk b/package/x11r7/xfont_font-alias/xfont_font-alias.mk index e2ac2363df..f6b3008aa0 100644 --- a/package/x11r7/xfont_font-alias/xfont_font-alias.mk +++ b/package/x11r7/xfont_font-alias/xfont_font-alias.mk @@ -10,8 +10,8 @@ XFONT_FONT_ALIAS_SITE = http://xorg.freedesktop.org/releases/individual/font XFONT_FONT_ALIAS_LICENSE = MIT XFONT_FONT_ALIAS_LICENSE_FILES = COPYING -XFONT_FONT_ALIAS_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install -XFONT_FONT_ALIAS_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install-data +XFONT_FONT_ALIAS_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install +XFONT_FONT_ALIAS_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install-data XFONT_FONT_ALIAS_DEPENDENCIES = xfont_font-util host-xfont_font-util host-xapp_mkfontscale host-xapp_mkfontdir host-xapp_bdftopcf $(eval $(autotools-package)) diff --git a/package/x11r7/xfont_font-arabic-misc/xfont_font-arabic-misc.mk b/package/x11r7/xfont_font-arabic-misc/xfont_font-arabic-misc.mk index fa1269b41d..0043a00c48 100644 --- a/package/x11r7/xfont_font-arabic-misc/xfont_font-arabic-misc.mk +++ b/package/x11r7/xfont_font-arabic-misc/xfont_font-arabic-misc.mk @@ -10,8 +10,8 @@ XFONT_FONT_ARABIC_MISC_SITE = http://xorg.freedesktop.org/releases/individual/fo XFONT_FONT_ARABIC_MISC_LICENSE = MIT XFONT_FONT_ARABIC_MISC_LICENSE_FILES = COPYING -XFONT_FONT_ARABIC_MISC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install -XFONT_FONT_ARABIC_MISC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install-data +XFONT_FONT_ARABIC_MISC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install +XFONT_FONT_ARABIC_MISC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install-data XFONT_FONT_ARABIC_MISC_DEPENDENCIES = xfont_font-util host-xfont_font-util host-xapp_mkfontscale host-xapp_mkfontdir host-xapp_bdftopcf $(eval $(autotools-package)) diff --git a/package/x11r7/xfont_font-bh-100dpi/xfont_font-bh-100dpi.mk b/package/x11r7/xfont_font-bh-100dpi/xfont_font-bh-100dpi.mk index fb1665898f..9197272785 100644 --- a/package/x11r7/xfont_font-bh-100dpi/xfont_font-bh-100dpi.mk +++ b/package/x11r7/xfont_font-bh-100dpi/xfont_font-bh-100dpi.mk @@ -10,8 +10,8 @@ XFONT_FONT_BH_100DPI_SITE = http://xorg.freedesktop.org/releases/individual/font XFONT_FONT_BH_100DPI_LICENSE = Bigelow & Holmes License (no modification) XFONT_FONT_BH_100DPI_LICENSE_FILES = COPYING -XFONT_FONT_BH_100DPI_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install -XFONT_FONT_BH_100DPI_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install-data +XFONT_FONT_BH_100DPI_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install +XFONT_FONT_BH_100DPI_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install-data XFONT_FONT_BH_100DPI_DEPENDENCIES = xfont_font-util host-xfont_font-util host-xapp_mkfontscale host-xapp_mkfontdir host-xapp_bdftopcf $(eval $(autotools-package)) diff --git a/package/x11r7/xfont_font-bh-75dpi/xfont_font-bh-75dpi.mk b/package/x11r7/xfont_font-bh-75dpi/xfont_font-bh-75dpi.mk index c8ade590b8..62bee4202c 100644 --- a/package/x11r7/xfont_font-bh-75dpi/xfont_font-bh-75dpi.mk +++ b/package/x11r7/xfont_font-bh-75dpi/xfont_font-bh-75dpi.mk @@ -10,8 +10,8 @@ XFONT_FONT_BH_75DPI_SITE = http://xorg.freedesktop.org/releases/individual/font XFONT_FONT_BH_75DPI_LICENSE = Bigelow & Holmes License (no modification) XFONT_FONT_BH_75DPI_LICENSE_FILES = COPYING -XFONT_FONT_BH_75DPI_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install -XFONT_FONT_BH_75DPI_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install-data +XFONT_FONT_BH_75DPI_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install +XFONT_FONT_BH_75DPI_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install-data XFONT_FONT_BH_75DPI_DEPENDENCIES = xfont_font-util host-xfont_font-util host-xapp_mkfontscale host-xapp_mkfontdir host-xapp_bdftopcf $(eval $(autotools-package)) diff --git a/package/x11r7/xfont_font-bh-lucidatypewriter-100dpi/xfont_font-bh-lucidatypewriter-100dpi.mk b/package/x11r7/xfont_font-bh-lucidatypewriter-100dpi/xfont_font-bh-lucidatypewriter-100dpi.mk index a1b61db4c8..0f039a1d48 100644 --- a/package/x11r7/xfont_font-bh-lucidatypewriter-100dpi/xfont_font-bh-lucidatypewriter-100dpi.mk +++ b/package/x11r7/xfont_font-bh-lucidatypewriter-100dpi/xfont_font-bh-lucidatypewriter-100dpi.mk @@ -10,8 +10,8 @@ XFONT_FONT_BH_LUCIDATYPEWRITER_100DPI_SITE = http://xorg.freedesktop.org/release XFONT_FONT_BH_LUCIDATYPEWRITER_100DPI_LICENSE = Bigelow & Holmes License (no modification) XFONT_FONT_BH_LUCIDATYPEWRITER_100DPI_LICENSE_FILES = COPYING -XFONT_FONT_BH_LUCIDATYPEWRITER_100DPI_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install -XFONT_FONT_BH_LUCIDATYPEWRITER_100DPI_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install-data +XFONT_FONT_BH_LUCIDATYPEWRITER_100DPI_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install +XFONT_FONT_BH_LUCIDATYPEWRITER_100DPI_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install-data XFONT_FONT_BH_LUCIDATYPEWRITER_100DPI_DEPENDENCIES = xfont_font-util host-xfont_font-util host-xapp_mkfontscale host-xapp_mkfontdir host-xapp_bdftopcf $(eval $(autotools-package)) diff --git a/package/x11r7/xfont_font-bh-lucidatypewriter-75dpi/xfont_font-bh-lucidatypewriter-75dpi.mk b/package/x11r7/xfont_font-bh-lucidatypewriter-75dpi/xfont_font-bh-lucidatypewriter-75dpi.mk index 00a6bd6dc7..892f9eeab5 100644 --- a/package/x11r7/xfont_font-bh-lucidatypewriter-75dpi/xfont_font-bh-lucidatypewriter-75dpi.mk +++ b/package/x11r7/xfont_font-bh-lucidatypewriter-75dpi/xfont_font-bh-lucidatypewriter-75dpi.mk @@ -10,8 +10,8 @@ XFONT_FONT_BH_LUCIDATYPEWRITER_75DPI_SITE = http://xorg.freedesktop.org/releases XFONT_FONT_BH_LUCIDATYPEWRITER_75DPI_LICENSE = Bigelow & Holmes License (no modification) XFONT_FONT_BH_LUCIDATYPEWRITER_75DPI_LICENSE_FILES = COPYING -XFONT_FONT_BH_LUCIDATYPEWRITER_75DPI_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install -XFONT_FONT_BH_LUCIDATYPEWRITER_75DPI_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install-data +XFONT_FONT_BH_LUCIDATYPEWRITER_75DPI_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install +XFONT_FONT_BH_LUCIDATYPEWRITER_75DPI_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install-data XFONT_FONT_BH_LUCIDATYPEWRITER_75DPI_DEPENDENCIES = xfont_font-util host-xfont_font-util host-xapp_mkfontscale host-xapp_mkfontdir host-xapp_bdftopcf $(eval $(autotools-package)) diff --git a/package/x11r7/xfont_font-bh-ttf/xfont_font-bh-ttf.mk b/package/x11r7/xfont_font-bh-ttf/xfont_font-bh-ttf.mk index f393dd3244..f4fcde9c2a 100644 --- a/package/x11r7/xfont_font-bh-ttf/xfont_font-bh-ttf.mk +++ b/package/x11r7/xfont_font-bh-ttf/xfont_font-bh-ttf.mk @@ -10,8 +10,8 @@ XFONT_FONT_BH_TTF_SITE = http://xorg.freedesktop.org/releases/individual/font XFONT_FONT_BH_TTF_LICENSE = Bigelow & Holmes License (no modification) XFONT_FONT_BH_TTF_LICENSE_FILES = COPYING -XFONT_FONT_BH_TTF_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install -XFONT_FONT_BH_TTF_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install-data +XFONT_FONT_BH_TTF_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install +XFONT_FONT_BH_TTF_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install-data XFONT_FONT_BH_TTF_DEPENDENCIES = xfont_font-util host-xfont_font-util host-xapp_mkfontscale host-xapp_mkfontdir host-xapp_bdftopcf $(eval $(autotools-package)) diff --git a/package/x11r7/xfont_font-bh-type1/xfont_font-bh-type1.mk b/package/x11r7/xfont_font-bh-type1/xfont_font-bh-type1.mk index bf418d52cb..f5e6e89242 100644 --- a/package/x11r7/xfont_font-bh-type1/xfont_font-bh-type1.mk +++ b/package/x11r7/xfont_font-bh-type1/xfont_font-bh-type1.mk @@ -10,8 +10,8 @@ XFONT_FONT_BH_TYPE1_SITE = http://xorg.freedesktop.org/releases/individual/font XFONT_FONT_BH_TYPE1_LICENSE = Bigelow & Holmes License (no modification) XFONT_FONT_BH_TYPE1_LICENSE_FILES = COPYING -XFONT_FONT_BH_TYPE1_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install -XFONT_FONT_BH_TYPE1_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install-data +XFONT_FONT_BH_TYPE1_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install +XFONT_FONT_BH_TYPE1_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install-data XFONT_FONT_BH_TYPE1_DEPENDENCIES = xfont_font-util host-xfont_font-util host-xapp_mkfontscale host-xapp_mkfontdir host-xapp_bdftopcf $(eval $(autotools-package)) diff --git a/package/x11r7/xfont_font-bitstream-100dpi/xfont_font-bitstream-100dpi.mk b/package/x11r7/xfont_font-bitstream-100dpi/xfont_font-bitstream-100dpi.mk index 5ddca73e7c..931058f77c 100644 --- a/package/x11r7/xfont_font-bitstream-100dpi/xfont_font-bitstream-100dpi.mk +++ b/package/x11r7/xfont_font-bitstream-100dpi/xfont_font-bitstream-100dpi.mk @@ -10,8 +10,8 @@ XFONT_FONT_BITSTREAM_100DPI_SITE = http://xorg.freedesktop.org/releases/individu XFONT_FONT_BITSTREAM_100DPI_LICENSE = MIT XFONT_FONT_BITSTREAM_100DPI_LICENSE_FILES = COPYING -XFONT_FONT_BITSTREAM_100DPI_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install -XFONT_FONT_BITSTREAM_100DPI_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install-data +XFONT_FONT_BITSTREAM_100DPI_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install +XFONT_FONT_BITSTREAM_100DPI_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install-data XFONT_FONT_BITSTREAM_100DPI_DEPENDENCIES = xfont_font-util host-xfont_font-util host-xapp_mkfontscale host-xapp_mkfontdir host-xapp_bdftopcf $(eval $(autotools-package)) diff --git a/package/x11r7/xfont_font-bitstream-75dpi/xfont_font-bitstream-75dpi.mk b/package/x11r7/xfont_font-bitstream-75dpi/xfont_font-bitstream-75dpi.mk index d7fea275bc..9e77524343 100644 --- a/package/x11r7/xfont_font-bitstream-75dpi/xfont_font-bitstream-75dpi.mk +++ b/package/x11r7/xfont_font-bitstream-75dpi/xfont_font-bitstream-75dpi.mk @@ -10,8 +10,8 @@ XFONT_FONT_BITSTREAM_75DPI_SITE = http://xorg.freedesktop.org/releases/individua XFONT_FONT_BITSTREAM_75DPI_LICENSE = MIT XFONT_FONT_BITSTREAM_75DPI_LICENSE_FILES = COPYING -XFONT_FONT_BITSTREAM_75DPI_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install -XFONT_FONT_BITSTREAM_75DPI_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install-data +XFONT_FONT_BITSTREAM_75DPI_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install +XFONT_FONT_BITSTREAM_75DPI_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install-data XFONT_FONT_BITSTREAM_75DPI_DEPENDENCIES = xfont_font-util host-xfont_font-util host-xapp_mkfontscale host-xapp_mkfontdir host-xapp_bdftopcf $(eval $(autotools-package)) diff --git a/package/x11r7/xfont_font-bitstream-type1/xfont_font-bitstream-type1.mk b/package/x11r7/xfont_font-bitstream-type1/xfont_font-bitstream-type1.mk index 813e3cb5a8..a4d4f73ccd 100644 --- a/package/x11r7/xfont_font-bitstream-type1/xfont_font-bitstream-type1.mk +++ b/package/x11r7/xfont_font-bitstream-type1/xfont_font-bitstream-type1.mk @@ -10,8 +10,8 @@ XFONT_FONT_BITSTREAM_TYPE1_SITE = http://xorg.freedesktop.org/releases/individua XFONT_FONT_BITSTREAM_TYPE1_LICENSE = MIT XFONT_FONT_BITSTREAM_TYPE1_LICENSE_FILES = COPYING -XFONT_FONT_BITSTREAM_TYPE1_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install -XFONT_FONT_BITSTREAM_TYPE1_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install-data +XFONT_FONT_BITSTREAM_TYPE1_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install +XFONT_FONT_BITSTREAM_TYPE1_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install-data XFONT_FONT_BITSTREAM_TYPE1_DEPENDENCIES = xfont_font-util host-xfont_font-util host-xapp_mkfontscale host-xapp_mkfontdir host-xapp_bdftopcf $(eval $(autotools-package)) diff --git a/package/x11r7/xfont_font-cronyx-cyrillic/xfont_font-cronyx-cyrillic.mk b/package/x11r7/xfont_font-cronyx-cyrillic/xfont_font-cronyx-cyrillic.mk index 6dc9015236..83ded01ef4 100644 --- a/package/x11r7/xfont_font-cronyx-cyrillic/xfont_font-cronyx-cyrillic.mk +++ b/package/x11r7/xfont_font-cronyx-cyrillic/xfont_font-cronyx-cyrillic.mk @@ -10,8 +10,8 @@ XFONT_FONT_CRONYX_CYRILLIC_SITE = http://xorg.freedesktop.org/releases/individua XFONT_FONT_CRONYX_CYRILLIC_LICENSE = MIT XFONT_FONT_CRONYX_CYRILLIC_LICENSE_FILES = COPYING -XFONT_FONT_CRONYX_CYRILLIC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install -XFONT_FONT_CRONYX_CYRILLIC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install-data +XFONT_FONT_CRONYX_CYRILLIC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install +XFONT_FONT_CRONYX_CYRILLIC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install-data XFONT_FONT_CRONYX_CYRILLIC_DEPENDENCIES = xfont_font-util host-xfont_font-util host-xapp_mkfontscale host-xapp_mkfontdir host-xapp_bdftopcf $(eval $(autotools-package)) diff --git a/package/x11r7/xfont_font-cursor-misc/xfont_font-cursor-misc.mk b/package/x11r7/xfont_font-cursor-misc/xfont_font-cursor-misc.mk index 59d6a84003..00867a6f26 100644 --- a/package/x11r7/xfont_font-cursor-misc/xfont_font-cursor-misc.mk +++ b/package/x11r7/xfont_font-cursor-misc/xfont_font-cursor-misc.mk @@ -10,8 +10,8 @@ XFONT_FONT_CURSOR_MISC_SITE = http://xorg.freedesktop.org/releases/individual/fo XFONT_FONT_CURSOR_MISC_LICENSE = unencumbered XFONT_FONT_CURSOR_MISC_LICENSE_FILES = COPYING -XFONT_FONT_CURSOR_MISC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install -XFONT_FONT_CURSOR_MISC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install-data +XFONT_FONT_CURSOR_MISC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install +XFONT_FONT_CURSOR_MISC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install-data XFONT_FONT_CURSOR_MISC_DEPENDENCIES = xfont_font-util host-xfont_font-util host-xapp_mkfontscale host-xapp_mkfontdir host-xapp_bdftopcf $(eval $(autotools-package)) diff --git a/package/x11r7/xfont_font-daewoo-misc/xfont_font-daewoo-misc.mk b/package/x11r7/xfont_font-daewoo-misc/xfont_font-daewoo-misc.mk index 59a84c701c..f33088eb50 100644 --- a/package/x11r7/xfont_font-daewoo-misc/xfont_font-daewoo-misc.mk +++ b/package/x11r7/xfont_font-daewoo-misc/xfont_font-daewoo-misc.mk @@ -9,8 +9,8 @@ XFONT_FONT_DAEWOO_MISC_SOURCE = font-daewoo-misc-$(XFONT_FONT_DAEWOO_MISC_VERSIO XFONT_FONT_DAEWOO_MISC_SITE = http://xorg.freedesktop.org/releases/individual/font XFONT_FONT_DAEWOO_MISC_LICENSE_FILES = COPYING -XFONT_FONT_DAEWOO_MISC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install -XFONT_FONT_DAEWOO_MISC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install-data +XFONT_FONT_DAEWOO_MISC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install +XFONT_FONT_DAEWOO_MISC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install-data XFONT_FONT_DAEWOO_MISC_DEPENDENCIES = xfont_font-util host-xfont_font-util host-xapp_mkfontscale host-xapp_mkfontdir host-xapp_bdftopcf $(eval $(autotools-package)) diff --git a/package/x11r7/xfont_font-dec-misc/xfont_font-dec-misc.mk b/package/x11r7/xfont_font-dec-misc/xfont_font-dec-misc.mk index b26296d2d0..fd7e286561 100644 --- a/package/x11r7/xfont_font-dec-misc/xfont_font-dec-misc.mk +++ b/package/x11r7/xfont_font-dec-misc/xfont_font-dec-misc.mk @@ -10,8 +10,8 @@ XFONT_FONT_DEC_MISC_SITE = http://xorg.freedesktop.org/releases/individual/font XFONT_FONT_DEC_MISC_LICENSE = MIT XFONT_FONT_DEC_MISC_LICENSE_FILES = COPYING -XFONT_FONT_DEC_MISC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install -XFONT_FONT_DEC_MISC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install-data +XFONT_FONT_DEC_MISC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install +XFONT_FONT_DEC_MISC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install-data XFONT_FONT_DEC_MISC_DEPENDENCIES = xfont_font-util host-xfont_font-util host-xapp_mkfontscale host-xapp_mkfontdir host-xapp_bdftopcf $(eval $(autotools-package)) diff --git a/package/x11r7/xfont_font-ibm-type1/xfont_font-ibm-type1.mk b/package/x11r7/xfont_font-ibm-type1/xfont_font-ibm-type1.mk index 6cec198686..045a6bfe2a 100644 --- a/package/x11r7/xfont_font-ibm-type1/xfont_font-ibm-type1.mk +++ b/package/x11r7/xfont_font-ibm-type1/xfont_font-ibm-type1.mk @@ -10,8 +10,8 @@ XFONT_FONT_IBM_TYPE1_SITE = http://xorg.freedesktop.org/releases/individual/font XFONT_FONT_IBM_TYPE1_LICENSE = IBM/MIT X Consortium Courier Typefont agreement (no modification) XFONT_FONT_IBM_TYPE1_LICENSE_FILES = COPYING -XFONT_FONT_IBM_TYPE1_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install -XFONT_FONT_IBM_TYPE1_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install-data +XFONT_FONT_IBM_TYPE1_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install +XFONT_FONT_IBM_TYPE1_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install-data XFONT_FONT_IBM_TYPE1_DEPENDENCIES = xfont_font-util host-xfont_font-util host-xapp_mkfontscale host-xapp_mkfontdir host-xapp_bdftopcf $(eval $(autotools-package)) diff --git a/package/x11r7/xfont_font-isas-misc/xfont_font-isas-misc.mk b/package/x11r7/xfont_font-isas-misc/xfont_font-isas-misc.mk index 4ac4b9b14d..7ca1388e1f 100644 --- a/package/x11r7/xfont_font-isas-misc/xfont_font-isas-misc.mk +++ b/package/x11r7/xfont_font-isas-misc/xfont_font-isas-misc.mk @@ -10,8 +10,8 @@ XFONT_FONT_ISAS_MISC_SITE = http://xorg.freedesktop.org/releases/individual/font XFONT_FONT_ISAS_MISC_LICENSE = MIT XFONT_FONT_ISAS_MISC_LICENSE_FILES = COPYING -XFONT_FONT_ISAS_MISC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install -XFONT_FONT_ISAS_MISC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install-data +XFONT_FONT_ISAS_MISC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install +XFONT_FONT_ISAS_MISC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install-data XFONT_FONT_ISAS_MISC_DEPENDENCIES = xfont_font-util host-xfont_font-util host-xapp_mkfontscale host-xapp_mkfontdir host-xapp_bdftopcf $(eval $(autotools-package)) diff --git a/package/x11r7/xfont_font-jis-misc/xfont_font-jis-misc.mk b/package/x11r7/xfont_font-jis-misc/xfont_font-jis-misc.mk index 5f8b00161a..12cf8c863c 100644 --- a/package/x11r7/xfont_font-jis-misc/xfont_font-jis-misc.mk +++ b/package/x11r7/xfont_font-jis-misc/xfont_font-jis-misc.mk @@ -9,8 +9,8 @@ XFONT_FONT_JIS_MISC_SOURCE = font-jis-misc-$(XFONT_FONT_JIS_MISC_VERSION).tar.bz XFONT_FONT_JIS_MISC_SITE = http://xorg.freedesktop.org/releases/individual/font XFONT_FONT_JIS_MISC_LICENSE_FILES = COPYING -XFONT_FONT_JIS_MISC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install -XFONT_FONT_JIS_MISC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install-data +XFONT_FONT_JIS_MISC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install +XFONT_FONT_JIS_MISC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install-data XFONT_FONT_JIS_MISC_DEPENDENCIES = xfont_font-util host-xfont_font-util host-xapp_mkfontscale host-xapp_mkfontdir host-xapp_bdftopcf $(eval $(autotools-package)) diff --git a/package/x11r7/xfont_font-micro-misc/xfont_font-micro-misc.mk b/package/x11r7/xfont_font-micro-misc/xfont_font-micro-misc.mk index 11b4199e4b..ea119b63bc 100644 --- a/package/x11r7/xfont_font-micro-misc/xfont_font-micro-misc.mk +++ b/package/x11r7/xfont_font-micro-misc/xfont_font-micro-misc.mk @@ -10,8 +10,8 @@ XFONT_FONT_MICRO_MISC_SITE = http://xorg.freedesktop.org/releases/individual/fon XFONT_FONT_MICRO_MISC_LICENSE = Public Domain XFONT_FONT_MICRO_MISC_LICENSE_FILES = COPYING -XFONT_FONT_MICRO_MISC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install -XFONT_FONT_MICRO_MISC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install-data +XFONT_FONT_MICRO_MISC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install +XFONT_FONT_MICRO_MISC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install-data XFONT_FONT_MICRO_MISC_DEPENDENCIES = xfont_font-util host-xfont_font-util host-xapp_mkfontscale host-xapp_mkfontdir host-xapp_bdftopcf $(eval $(autotools-package)) diff --git a/package/x11r7/xfont_font-misc-cyrillic/xfont_font-misc-cyrillic.mk b/package/x11r7/xfont_font-misc-cyrillic/xfont_font-misc-cyrillic.mk index 16fd46b09d..d72f988589 100644 --- a/package/x11r7/xfont_font-misc-cyrillic/xfont_font-misc-cyrillic.mk +++ b/package/x11r7/xfont_font-misc-cyrillic/xfont_font-misc-cyrillic.mk @@ -10,8 +10,8 @@ XFONT_FONT_MISC_CYRILLIC_SITE = http://xorg.freedesktop.org/releases/individual/ XFONT_FONT_MISC_CYRILLIC_LICENSE = MIT / Public Domain XFONT_FONT_MISC_CYRILLIC_LICENSE_FILES = COPYING -XFONT_FONT_MISC_CYRILLIC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install -XFONT_FONT_MISC_CYRILLIC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install-data +XFONT_FONT_MISC_CYRILLIC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install +XFONT_FONT_MISC_CYRILLIC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install-data XFONT_FONT_MISC_CYRILLIC_DEPENDENCIES = xfont_font-util host-xfont_font-util host-xapp_mkfontscale host-xapp_mkfontdir host-xapp_bdftopcf $(eval $(autotools-package)) diff --git a/package/x11r7/xfont_font-misc-ethiopic/xfont_font-misc-ethiopic.mk b/package/x11r7/xfont_font-misc-ethiopic/xfont_font-misc-ethiopic.mk index 7d0825ee5c..8214040f9f 100644 --- a/package/x11r7/xfont_font-misc-ethiopic/xfont_font-misc-ethiopic.mk +++ b/package/x11r7/xfont_font-misc-ethiopic/xfont_font-misc-ethiopic.mk @@ -10,8 +10,8 @@ XFONT_FONT_MISC_ETHIOPIC_SITE = http://xorg.freedesktop.org/releases/individual/ XFONT_FONT_MISC_ETHIOPIC_LICENSE = MIT XFONT_FONT_MISC_ETHIOPIC_LICENSE_FILES = COPYING -XFONT_FONT_MISC_ETHIOPIC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install -XFONT_FONT_MISC_ETHIOPIC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install-data +XFONT_FONT_MISC_ETHIOPIC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install +XFONT_FONT_MISC_ETHIOPIC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install-data XFONT_FONT_MISC_ETHIOPIC_DEPENDENCIES = xfont_font-util host-xfont_font-util host-xapp_mkfontscale host-xapp_mkfontdir host-xapp_bdftopcf $(eval $(autotools-package)) diff --git a/package/x11r7/xfont_font-misc-meltho/xfont_font-misc-meltho.mk b/package/x11r7/xfont_font-misc-meltho/xfont_font-misc-meltho.mk index 5667869951..1b801df60c 100644 --- a/package/x11r7/xfont_font-misc-meltho/xfont_font-misc-meltho.mk +++ b/package/x11r7/xfont_font-misc-meltho/xfont_font-misc-meltho.mk @@ -10,8 +10,8 @@ XFONT_FONT_MISC_MELTHO_SITE = http://xorg.freedesktop.org/releases/individual/fo XFONT_FONT_MISC_MELTHO_LICENSE = Meltho License XFONT_FONT_MISC_MELTHO_LICENSE_FILES = COPYING -XFONT_FONT_MISC_MELTHO_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install -XFONT_FONT_MISC_MELTHO_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install-data +XFONT_FONT_MISC_MELTHO_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install +XFONT_FONT_MISC_MELTHO_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install-data XFONT_FONT_MISC_MELTHO_DEPENDENCIES = xfont_font-util host-xfont_font-util host-xapp_mkfontscale host-xapp_mkfontdir host-xapp_bdftopcf $(eval $(autotools-package)) diff --git a/package/x11r7/xfont_font-misc-misc/xfont_font-misc-misc.mk b/package/x11r7/xfont_font-misc-misc/xfont_font-misc-misc.mk index 700837c1ed..f9e1ba6481 100644 --- a/package/x11r7/xfont_font-misc-misc/xfont_font-misc-misc.mk +++ b/package/x11r7/xfont_font-misc-misc/xfont_font-misc-misc.mk @@ -10,8 +10,8 @@ XFONT_FONT_MISC_MISC_SITE = http://xorg.freedesktop.org/releases/individual/font XFONT_FONT_MISC_MISC_LICENSE = Public Domain XFONT_FONT_MISC_MISC_LICENSE_FILES = COPYING -XFONT_FONT_MISC_MISC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install -XFONT_FONT_MISC_MISC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install-data +XFONT_FONT_MISC_MISC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install +XFONT_FONT_MISC_MISC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install-data XFONT_FONT_MISC_MISC_DEPENDENCIES = xfont_font-util host-xfont_font-util host-xapp_mkfontscale host-xapp_mkfontdir host-xapp_bdftopcf $(eval $(autotools-package)) diff --git a/package/x11r7/xfont_font-mutt-misc/xfont_font-mutt-misc.mk b/package/x11r7/xfont_font-mutt-misc/xfont_font-mutt-misc.mk index 53fc192a9a..1312e379c5 100644 --- a/package/x11r7/xfont_font-mutt-misc/xfont_font-mutt-misc.mk +++ b/package/x11r7/xfont_font-mutt-misc/xfont_font-mutt-misc.mk @@ -10,8 +10,8 @@ XFONT_FONT_MUTT_MISC_SITE = http://xorg.freedesktop.org/releases/individual/font XFONT_FONT_MUTT_MISC_LICENSE = MIT XFONT_FONT_MUTT_MISC_LICENSE_FILES = COPYING -XFONT_FONT_MUTT_MISC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install -XFONT_FONT_MUTT_MISC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install-data +XFONT_FONT_MUTT_MISC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install +XFONT_FONT_MUTT_MISC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install-data XFONT_FONT_MUTT_MISC_DEPENDENCIES = xfont_font-util host-xfont_font-util host-xapp_mkfontscale host-xapp_mkfontdir host-xapp_bdftopcf $(eval $(autotools-package)) diff --git a/package/x11r7/xfont_font-schumacher-misc/xfont_font-schumacher-misc.mk b/package/x11r7/xfont_font-schumacher-misc/xfont_font-schumacher-misc.mk index 0fa4d39616..65256ad977 100644 --- a/package/x11r7/xfont_font-schumacher-misc/xfont_font-schumacher-misc.mk +++ b/package/x11r7/xfont_font-schumacher-misc/xfont_font-schumacher-misc.mk @@ -10,8 +10,8 @@ XFONT_FONT_SCHUMACHER_MISC_SITE = http://xorg.freedesktop.org/releases/individua XFONT_FONT_SCHUMACHER_MISC_LICENSE = MIT XFONT_FONT_SCHUMACHER_MISC_LICENSE_FILES = COPYING -XFONT_FONT_SCHUMACHER_MISC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install -XFONT_FONT_SCHUMACHER_MISC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install-data +XFONT_FONT_SCHUMACHER_MISC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install +XFONT_FONT_SCHUMACHER_MISC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install-data XFONT_FONT_SCHUMACHER_MISC_DEPENDENCIES = xfont_font-util host-xfont_font-util host-xapp_mkfontscale host-xapp_mkfontdir host-xapp_bdftopcf $(eval $(autotools-package)) diff --git a/package/x11r7/xfont_font-screen-cyrillic/xfont_font-screen-cyrillic.mk b/package/x11r7/xfont_font-screen-cyrillic/xfont_font-screen-cyrillic.mk index 8158ce5614..5687fd66cf 100644 --- a/package/x11r7/xfont_font-screen-cyrillic/xfont_font-screen-cyrillic.mk +++ b/package/x11r7/xfont_font-screen-cyrillic/xfont_font-screen-cyrillic.mk @@ -10,8 +10,8 @@ XFONT_FONT_SCREEN_CYRILLIC_SITE = http://xorg.freedesktop.org/releases/individua XFONT_FONT_SCREEN_CYRILLIC_LICENSE = MIT XFONT_FONT_SCREEN_CYRILLIC_LICENSE_FILES = COPYING -XFONT_FONT_SCREEN_CYRILLIC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install -XFONT_FONT_SCREEN_CYRILLIC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install-data +XFONT_FONT_SCREEN_CYRILLIC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install +XFONT_FONT_SCREEN_CYRILLIC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install-data XFONT_FONT_SCREEN_CYRILLIC_DEPENDENCIES = xfont_font-util host-xfont_font-util host-xapp_mkfontscale host-xapp_mkfontdir host-xapp_bdftopcf $(eval $(autotools-package)) diff --git a/package/x11r7/xfont_font-sony-misc/xfont_font-sony-misc.mk b/package/x11r7/xfont_font-sony-misc/xfont_font-sony-misc.mk index 035255f77a..f13fca5da3 100644 --- a/package/x11r7/xfont_font-sony-misc/xfont_font-sony-misc.mk +++ b/package/x11r7/xfont_font-sony-misc/xfont_font-sony-misc.mk @@ -10,8 +10,8 @@ XFONT_FONT_SONY_MISC_SITE = http://xorg.freedesktop.org/releases/individual/font XFONT_FONT_SONY_MISC_LICENSE = MIT XFONT_FONT_SONY_MISC_LICENSE_FILES = COPYING -XFONT_FONT_SONY_MISC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install -XFONT_FONT_SONY_MISC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install-data +XFONT_FONT_SONY_MISC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install +XFONT_FONT_SONY_MISC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install-data XFONT_FONT_SONY_MISC_DEPENDENCIES = xfont_font-util host-xfont_font-util host-xapp_mkfontscale host-xapp_mkfontdir host-xapp_bdftopcf $(eval $(autotools-package)) diff --git a/package/x11r7/xfont_font-sun-misc/xfont_font-sun-misc.mk b/package/x11r7/xfont_font-sun-misc/xfont_font-sun-misc.mk index 395cb87e76..4b1a06c0a8 100644 --- a/package/x11r7/xfont_font-sun-misc/xfont_font-sun-misc.mk +++ b/package/x11r7/xfont_font-sun-misc/xfont_font-sun-misc.mk @@ -10,8 +10,8 @@ XFONT_FONT_SUN_MISC_SITE = http://xorg.freedesktop.org/releases/individual/font XFONT_FONT_SUN_MISC_LICENSE = MIT XFONT_FONT_SUN_MISC_LICENSE_FILES = COPYING -XFONT_FONT_SUN_MISC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install -XFONT_FONT_SUN_MISC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install-data +XFONT_FONT_SUN_MISC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install +XFONT_FONT_SUN_MISC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install-data XFONT_FONT_SUN_MISC_DEPENDENCIES = xfont_font-util host-xfont_font-util host-xapp_mkfontscale host-xapp_mkfontdir host-xapp_bdftopcf $(eval $(autotools-package)) diff --git a/package/x11r7/xfont_font-util/xfont_font-util.mk b/package/x11r7/xfont_font-util/xfont_font-util.mk index 36853770ef..89b138b647 100644 --- a/package/x11r7/xfont_font-util/xfont_font-util.mk +++ b/package/x11r7/xfont_font-util/xfont_font-util.mk @@ -7,7 +7,7 @@ XFONT_FONT_UTIL_VERSION = 1.3.1 XFONT_FONT_UTIL_SOURCE = font-util-$(XFONT_FONT_UTIL_VERSION).tar.bz2 XFONT_FONT_UTIL_SITE = http://xorg.freedesktop.org/releases/individual/font -XFONT_FONT_UTIL_LICENSE = MIT/BSD-2c +XFONT_FONT_UTIL_LICENSE = MIT/BSD-2-Clause XFONT_FONT_UTIL_LICENSE_FILES = COPYING XFONT_FONT_UTIL_DEPENDENCIES = host-pkgconf diff --git a/package/x11r7/xfont_font-winitzki-cyrillic/xfont_font-winitzki-cyrillic.mk b/package/x11r7/xfont_font-winitzki-cyrillic/xfont_font-winitzki-cyrillic.mk index 665fb90896..f8945227ef 100644 --- a/package/x11r7/xfont_font-winitzki-cyrillic/xfont_font-winitzki-cyrillic.mk +++ b/package/x11r7/xfont_font-winitzki-cyrillic/xfont_font-winitzki-cyrillic.mk @@ -10,8 +10,8 @@ XFONT_FONT_WINITZKI_CYRILLIC_SITE = http://xorg.freedesktop.org/releases/individ XFONT_FONT_WINITZKI_CYRILLIC_LICENSE = Public Domain XFONT_FONT_WINITZKI_CYRILLIC_LICENSE_FILES = COPYING -XFONT_FONT_WINITZKI_CYRILLIC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install -XFONT_FONT_WINITZKI_CYRILLIC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install-data +XFONT_FONT_WINITZKI_CYRILLIC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install +XFONT_FONT_WINITZKI_CYRILLIC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install-data XFONT_FONT_WINITZKI_CYRILLIC_DEPENDENCIES = xfont_font-util host-xfont_font-util host-xapp_mkfontscale host-xapp_mkfontdir host-xapp_bdftopcf $(eval $(autotools-package)) diff --git a/package/x11r7/xfont_font-xfree86-type1/xfont_font-xfree86-type1.mk b/package/x11r7/xfont_font-xfree86-type1/xfont_font-xfree86-type1.mk index e1a2ef6067..5aced63097 100644 --- a/package/x11r7/xfont_font-xfree86-type1/xfont_font-xfree86-type1.mk +++ b/package/x11r7/xfont_font-xfree86-type1/xfont_font-xfree86-type1.mk @@ -10,8 +10,8 @@ XFONT_FONT_XFREE86_TYPE1_SITE = http://xorg.freedesktop.org/releases/individual/ XFONT_FONT_XFREE86_TYPE1_LICENSE = MIT XFONT_FONT_XFREE86_TYPE1_LICENSE_FILES = COPYING -XFONT_FONT_XFREE86_TYPE1_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install -XFONT_FONT_XFREE86_TYPE1_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/usr/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/usr/bin/mkfontdir install-data +XFONT_FONT_XFREE86_TYPE1_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install +XFONT_FONT_XFREE86_TYPE1_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install-data XFONT_FONT_XFREE86_TYPE1_DEPENDENCIES = xfont_font-util host-xfont_font-util host-xapp_mkfontscale host-xapp_mkfontdir host-xapp_bdftopcf $(eval $(autotools-package)) diff --git a/package/x11r7/xkeyboard-config/xkeyboard-config.hash b/package/x11r7/xkeyboard-config/xkeyboard-config.hash index 104a5aba1c..a0f781d881 100644 --- a/package/x11r7/xkeyboard-config/xkeyboard-config.hash +++ b/package/x11r7/xkeyboard-config/xkeyboard-config.hash @@ -1,2 +1,4 @@ -# From https://lists.x.org/archives/xorg-announce/2017-February/002775.html -sha256 d1bfc72553c4e3ef1cd6f13eec0488cf940498b612ab8a0b362e7090c94bc134 xkeyboard-config-2.20.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2017-October/002811.html +md5 eb61fb3fd419e817df572b0c8d94a883 xkeyboard-config-2.22.tar.bz2 +sha1 1e252098685afc3e802c98f3fd70d683654a13ab xkeyboard-config-2.22.tar.bz2 +sha256 deaec9989fbc443358b43864437b7b6d39caff07890a4a8055105ce9fcaa59bd xkeyboard-config-2.22.tar.bz2 diff --git a/package/x11r7/xkeyboard-config/xkeyboard-config.mk b/package/x11r7/xkeyboard-config/xkeyboard-config.mk index bdaf0268db..ae88db785f 100644 --- a/package/x11r7/xkeyboard-config/xkeyboard-config.mk +++ b/package/x11r7/xkeyboard-config/xkeyboard-config.mk @@ -4,7 +4,7 @@ # ################################################################################ -XKEYBOARD_CONFIG_VERSION = 2.20 +XKEYBOARD_CONFIG_VERSION = 2.22 XKEYBOARD_CONFIG_SOURCE = xkeyboard-config-$(XKEYBOARD_CONFIG_VERSION).tar.bz2 XKEYBOARD_CONFIG_SITE = http://www.x.org/releases/individual/data/xkeyboard-config XKEYBOARD_CONFIG_LICENSE = MIT diff --git a/package/x11r7/xlib_libX11/xlib_libX11.hash b/package/x11r7/xlib_libX11/xlib_libX11.hash index aeb0e9d74a..b1a87b18e1 100644 --- a/package/x11r7/xlib_libX11/xlib_libX11.hash +++ b/package/x11r7/xlib_libX11/xlib_libX11.hash @@ -1,2 +1,2 @@ -# From https://lists.x.org/archives/xorg-announce/2016-October/002721.html -sha256 b7c748be3aa16ec2cbd81edc847e9b6ee03f88143ab270fb59f58a044d34e441 libX11-1.6.4.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2017-February/002777.html +sha256 4d3890db2ba225ba8c55ca63c6409c1ebb078a2806de59fb16342768ae63435d libX11-1.6.5.tar.bz2 diff --git a/package/x11r7/xlib_libX11/xlib_libX11.mk b/package/x11r7/xlib_libX11/xlib_libX11.mk index 80e89b4830..64344da737 100644 --- a/package/x11r7/xlib_libX11/xlib_libX11.mk +++ b/package/x11r7/xlib_libX11/xlib_libX11.mk @@ -4,9 +4,9 @@ # ################################################################################ -XLIB_LIBX11_VERSION = 1.6.4 +XLIB_LIBX11_VERSION = 1.6.5 XLIB_LIBX11_SOURCE = libX11-$(XLIB_LIBX11_VERSION).tar.bz2 -XLIB_LIBX11_SITE = http://xorg.freedesktop.org/releases/individual/lib +XLIB_LIBX11_SITE = https://xorg.freedesktop.org/archive/individual/lib XLIB_LIBX11_LICENSE = MIT XLIB_LIBX11_LICENSE_FILES = COPYING XLIB_LIBX11_INSTALL_STAGING = YES @@ -48,7 +48,7 @@ HOST_XLIB_LIBX11_CONF_OPTS = \ # src/util/makekeys is executed at build time to generate ks_tables.h, so # it should get compiled for the host. The libX11 makefile unfortunately # doesn't have X11_CFLAGS_FOR_BUILD so this doesn't work. For buildroot, -# we know the X11 includes are in $(HOST_DIR)/usr/include, which are already +# we know the X11 includes are in $(HOST_DIR)/include, which are already # in the CFLAGS_FOR_BUILD, so we can just remove the X11_CFLAGS define XLIB_LIBX11_DISABLE_MAKEKEYS_X11_CFLAGS $(SED) '/X11_CFLAGS/d' $(@D)/src/util/Makefile* diff --git a/package/x11r7/xlib_libXcursor/xlib_libXcursor.hash b/package/x11r7/xlib_libXcursor/xlib_libXcursor.hash index 0135ac9dd0..7da9eb8c4f 100644 --- a/package/x11r7/xlib_libXcursor/xlib_libXcursor.hash +++ b/package/x11r7/xlib_libXcursor/xlib_libXcursor.hash @@ -1,2 +1,5 @@ -# From http://lists.x.org/archives/xorg-announce/2013-May/002229.html -sha256 9bc6acb21ca14da51bda5bc912c8955bc6e5e433f0ab00c5e8bef842596c33df libXcursor-1.1.14.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2017-November/002823.html +md5 58fe3514e1e7135cf364101e714d1a14 libXcursor-1.1.15.tar.bz2 +sha1 3e19f991f244b7fa31566adce7ead078424296cf libXcursor-1.1.15.tar.bz2 +sha256 294e670dd37cd23995e69aae626629d4a2dfe5708851bbc13d032401b7a3df6b libXcursor-1.1.15.tar.bz2 +sha512 53ad0fa2afd7b4cf1108b560e44ea71abdf5c55a18df243d7123942513589c927f5c105395f790d8769959e0129db54264e6aac7efd51a5f1aec270379b1f2f5 libXcursor-1.1.15.tar.bz2 diff --git a/package/x11r7/xlib_libXcursor/xlib_libXcursor.mk b/package/x11r7/xlib_libXcursor/xlib_libXcursor.mk index c59c01a51f..b27aa653e9 100644 --- a/package/x11r7/xlib_libXcursor/xlib_libXcursor.mk +++ b/package/x11r7/xlib_libXcursor/xlib_libXcursor.mk @@ -4,7 +4,7 @@ # ################################################################################ -XLIB_LIBXCURSOR_VERSION = 1.1.14 +XLIB_LIBXCURSOR_VERSION = 1.1.15 XLIB_LIBXCURSOR_SOURCE = libXcursor-$(XLIB_LIBXCURSOR_VERSION).tar.bz2 XLIB_LIBXCURSOR_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXCURSOR_LICENSE = MIT diff --git a/package/x11r7/xlib_libXfont/xlib_libXfont.hash b/package/x11r7/xlib_libXfont/xlib_libXfont.hash index 6db8339ce4..ea04348719 100644 --- a/package/x11r7/xlib_libXfont/xlib_libXfont.hash +++ b/package/x11r7/xlib_libXfont/xlib_libXfont.hash @@ -1,2 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2016-August/002702.html -sha256 02945ea68da447102f3e6c2b896c1d2061fd115de99404facc2aca3ad7010d71 libXfont-1.5.2.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2017-November/002825.html +md5 16eaf156edd79b68038b6a7c44aa9e9b libXfont-1.5.4.tar.bz2 +sha1 9db050f63b9c4cb19e0dbb40575558ccb95719ca libXfont-1.5.4.tar.bz2 +sha256 1a7f7490774c87f2052d146d1e0e64518d32e6848184a18654e8d0bb57883242 libXfont-1.5.4.tar.bz2 +sha512 864edbaff45c44bd92bc4b06275c73fdf584a9b88bc523a297d4c75c01ca253f438463e929af70d753ddecfa648bb0b9bcf0ec72267db9f2b1704f7afa906cb3 libXfont-1.5.4.tar.bz2 diff --git a/package/x11r7/xlib_libXfont/xlib_libXfont.mk b/package/x11r7/xlib_libXfont/xlib_libXfont.mk index 422c01d152..30163eec6f 100644 --- a/package/x11r7/xlib_libXfont/xlib_libXfont.mk +++ b/package/x11r7/xlib_libXfont/xlib_libXfont.mk @@ -4,7 +4,7 @@ # ################################################################################ -XLIB_LIBXFONT_VERSION = 1.5.2 +XLIB_LIBXFONT_VERSION = 1.5.4 XLIB_LIBXFONT_SOURCE = libXfont-$(XLIB_LIBXFONT_VERSION).tar.bz2 XLIB_LIBXFONT_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXFONT_LICENSE = MIT diff --git a/package/x11r7/xlib_libXfont2/xlib_libXfont2.hash b/package/x11r7/xlib_libXfont2/xlib_libXfont2.hash index 81a3c9f1ea..1816b4bf6e 100644 --- a/package/x11r7/xlib_libXfont2/xlib_libXfont2.hash +++ b/package/x11r7/xlib_libXfont2/xlib_libXfont2.hash @@ -1,2 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2015-December/002663.html -sha256 e9fbbb475ddd171b3a6a54b989cbade1f6f874fc35d505ebc5be426bc6e4db7e libXfont2-2.0.1.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2017-November/002824.html +md5 b7ca87dfafeb5205b28a1e91ac3efe85 libXfont2-2.0.3.tar.bz2 +sha1 1110f1ad4061d9e8131ecb941757480e3e32bca0 libXfont2-2.0.3.tar.bz2 +sha256 0e8ab7fd737ccdfe87e1f02b55f221f0bd4503a1c5f28be4ed6a54586bac9c4e libXfont2-2.0.3.tar.bz2 +sha512 648b664e2aa58cbc7366a1b05873aa06bd4a38060f64085783043388244af8ceced77b29a22c3ac8b6d34cd226e093bbbcc785ea1748ea65720fe7ea05b4b44b libXfont2-2.0.3.tar.bz2 diff --git a/package/x11r7/xlib_libXfont2/xlib_libXfont2.mk b/package/x11r7/xlib_libXfont2/xlib_libXfont2.mk index fef1e68323..3f1bdee435 100644 --- a/package/x11r7/xlib_libXfont2/xlib_libXfont2.mk +++ b/package/x11r7/xlib_libXfont2/xlib_libXfont2.mk @@ -4,7 +4,7 @@ # ################################################################################ -XLIB_LIBXFONT2_VERSION = 2.0.1 +XLIB_LIBXFONT2_VERSION = 2.0.3 XLIB_LIBXFONT2_SOURCE = libXfont2-$(XLIB_LIBXFONT2_VERSION).tar.bz2 XLIB_LIBXFONT2_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXFONT2_LICENSE = MIT diff --git a/package/x11r7/xlib_libXpm/xlib_libXpm.mk b/package/x11r7/xlib_libXpm/xlib_libXpm.mk index c8c5496514..e781a8b518 100644 --- a/package/x11r7/xlib_libXpm/xlib_libXpm.mk +++ b/package/x11r7/xlib_libXpm/xlib_libXpm.mk @@ -13,8 +13,7 @@ XLIB_LIBXPM_INSTALL_STAGING = YES # we patch configure.ac XLIB_LIBXPM_AUTORECONF = YES XLIB_LIBXPM_DEPENDENCIES = xlib_libX11 xlib_libXext xlib_libXt xproto_xproto \ - $(if $(BR2_PACKAGE_GETTEXT),gettext) \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) \ - host-gettext + $(TARGET_NLS_DEPENDENCIES) $(eval $(autotools-package)) diff --git a/package/x11r7/xlib_libXres/xlib_libXres.hash b/package/x11r7/xlib_libXres/xlib_libXres.hash index 063df8e954..12a03518af 100644 --- a/package/x11r7/xlib_libXres/xlib_libXres.hash +++ b/package/x11r7/xlib_libXres/xlib_libXres.hash @@ -1,2 +1,5 @@ -# From http://lists.x.org/archives/xorg-announce/2013-May/002233.html -sha256 26899054aa87f81b17becc68e8645b240f140464cf90c42616ebb263ec5fa0e5 libXres-1.0.7.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2017-October/002812.html +md5 5d6d443d1abc8e1f6fc1c57fb27729bb libXres-1.2.0.tar.bz2 +sha1 b6996ab05460a3b7311f02da23ddf117a5442fd9 libXres-1.2.0.tar.bz2 +sha256 ff75c1643488e64a7cfbced27486f0f944801319c84c18d3bd3da6bf28c812d4 libXres-1.2.0.tar.bz2 +sha512 8eb5a36b1f030eb4e27e676cc4befcc073da66a7bce2b39089314e1facb629d13b087bb53ca2c95fe5291857da7ff9f80c6ab28fb3e245eeb9e0344937900172 libXres-1.2.0.tar.bz2 diff --git a/package/x11r7/xlib_libXres/xlib_libXres.mk b/package/x11r7/xlib_libXres/xlib_libXres.mk index 853f54205e..0075e8f60b 100644 --- a/package/x11r7/xlib_libXres/xlib_libXres.mk +++ b/package/x11r7/xlib_libXres/xlib_libXres.mk @@ -4,7 +4,7 @@ # ################################################################################ -XLIB_LIBXRES_VERSION = 1.0.7 +XLIB_LIBXRES_VERSION = 1.2.0 XLIB_LIBXRES_SOURCE = libXres-$(XLIB_LIBXRES_VERSION).tar.bz2 XLIB_LIBXRES_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXRES_LICENSE = MIT diff --git a/package/x11r7/xlib_libXv/xlib_libXv.mk b/package/x11r7/xlib_libXv/xlib_libXv.mk index 26f8badc5c..0e02439fa8 100644 --- a/package/x11r7/xlib_libXv/xlib_libXv.mk +++ b/package/x11r7/xlib_libXv/xlib_libXv.mk @@ -7,7 +7,7 @@ XLIB_LIBXV_VERSION = 1.0.11 XLIB_LIBXV_SOURCE = libXv-$(XLIB_LIBXV_VERSION).tar.bz2 XLIB_LIBXV_SITE = http://xorg.freedesktop.org/releases/individual/lib -XLIB_LIBXV_LICENSE = MIT +XLIB_LIBXV_LICENSE = ISC-like XLIB_LIBXV_LICENSE_FILES = COPYING XLIB_LIBXV_INSTALL_STAGING = YES XLIB_LIBXV_DEPENDENCIES = xlib_libX11 xlib_libXext xproto_videoproto xproto_xproto diff --git a/package/x11r7/xlib_libxshmfence/Config.in b/package/x11r7/xlib_libxshmfence/Config.in index d0595f6d67..d4e87b3e81 100644 --- a/package/x11r7/xlib_libxshmfence/Config.in +++ b/package/x11r7/xlib_libxshmfence/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_XLIB_LIBXSHMFENCE bool "libxshmfence" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 select BR2_PACKAGE_XPROTO_XPROTO help X.Org shmfence library diff --git a/package/x11r7/xserver_xorg-server/1.14.7/0001-sdksyms-gcc5.patch b/package/x11r7/xserver_xorg-server/1.14.7/0001-sdksyms-gcc5.patch new file mode 100644 index 0000000000..ad544aa30c --- /dev/null +++ b/package/x11r7/xserver_xorg-server/1.14.7/0001-sdksyms-gcc5.patch @@ -0,0 +1,50 @@ +From 21b896939c5bb242f3aacc37baf12379e43254b6 Mon Sep 17 00:00:00 2001 +From: Egbert Eich +Date: Tue, 3 Mar 2015 16:27:05 +0100 +Subject: symbols: Fix sdksyms.sh to cope with gcc5 + +Gcc5 adds additional lines stating line numbers before and +after __attribute__() which need to be skipped. + +Downloaded from upstream commit +https://cgit.freedesktop.org/xorg/xserver/commit/hw/xfree86/sdksyms.sh?id=21b896939c5bb242f3aacc37baf12379e43254b6 + +Signed-off-by: Bernd Kuhls +Signed-off-by: Egbert Eich +Tested-by: Daniel Stone +Signed-off-by: Peter Hutterer + +diff --git a/hw/xfree86/sdksyms.sh b/hw/xfree86/sdksyms.sh +index 2305073..05ac410 100755 +--- a/hw/xfree86/sdksyms.sh ++++ b/hw/xfree86/sdksyms.sh +@@ -350,13 +350,25 @@ BEGIN { + if (sdk) { + n = 3; + ++ # skip line numbers GCC 5 adds before __attribute__ ++ while ($n == "" || $0 ~ /^# [0-9]+ "/) { ++ getline; ++ n = 1; ++ } ++ + # skip attribute, if any + while ($n ~ /^(__attribute__|__global)/ || + # skip modifiers, if any + $n ~ /^\*?(unsigned|const|volatile|struct|_X_EXPORT)$/ || + # skip pointer +- $n ~ /^[a-zA-Z0-9_]*\*$/) ++ $n ~ /^[a-zA-Z0-9_]*\*$/) { + n++; ++ # skip line numbers GCC 5 adds after __attribute__ ++ while ($n == "" || $0 ~ /^# [0-9]+ "/) { ++ getline; ++ n = 1; ++ } ++ } + + # type specifier may not be set, as in + # extern _X_EXPORT unsigned name(...) +-- +cgit v0.10.2 + diff --git a/package/x11r7/xserver_xorg-server/1.14.7/0002-Xi-Zero-target-buffer-in-SProcXSendExtensionEvent.patch b/package/x11r7/xserver_xorg-server/1.14.7/0002-Xi-Zero-target-buffer-in-SProcXSendExtensionEvent.patch new file mode 100644 index 0000000000..c15dc9f50c --- /dev/null +++ b/package/x11r7/xserver_xorg-server/1.14.7/0002-Xi-Zero-target-buffer-in-SProcXSendExtensionEvent.patch @@ -0,0 +1,39 @@ +From 05442de962d3dc624f79fc1a00eca3ffc5489ced Mon Sep 17 00:00:00 2001 +From: Michal Srb +Date: Wed, 24 May 2017 15:54:39 +0300 +Subject: [PATCH] Xi: Zero target buffer in SProcXSendExtensionEvent. + +Make sure that the xEvent eventT is initialized with zeros, the same way as +in SProcSendEvent. + +Some event swapping functions do not overwrite all 32 bytes of xEvent +structure, for example XSecurityAuthorizationRevoked. Two cooperating +clients, one swapped and the other not, can send +XSecurityAuthorizationRevoked event to each other to retrieve old stack data +from X server. This can be potentialy misused to go around ASLR or +stack-protector. + +Signed-off-by: Michal Srb +Reviewed-by: Peter Hutterer +Signed-off-by: Peter Hutterer +Signed-off-by: Peter Korsgaard +--- + Xi/sendexev.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Xi/sendexev.c b/Xi/sendexev.c +index 11d82029f..1cf118ab6 100644 +--- a/Xi/sendexev.c ++++ b/Xi/sendexev.c +@@ -78,7 +78,7 @@ SProcXSendExtensionEvent(ClientPtr client) + { + CARD32 *p; + int i; +- xEvent eventT; ++ xEvent eventT = { .u.u.type = 0 }; + xEvent *eventP; + EventSwapPtr proc; + +-- +2.11.0 + diff --git a/package/x11r7/xserver_xorg-server/1.14.7/0003-dix-Disallow-GenericEvent-in-SendEvent-request.patch b/package/x11r7/xserver_xorg-server/1.14.7/0003-dix-Disallow-GenericEvent-in-SendEvent-request.patch new file mode 100644 index 0000000000..12da5f5cba --- /dev/null +++ b/package/x11r7/xserver_xorg-server/1.14.7/0003-dix-Disallow-GenericEvent-in-SendEvent-request.patch @@ -0,0 +1,71 @@ +From 215f894965df5fb0bb45b107d84524e700d2073c Mon Sep 17 00:00:00 2001 +From: Michal Srb +Date: Wed, 24 May 2017 15:54:40 +0300 +Subject: [PATCH] dix: Disallow GenericEvent in SendEvent request. + +The SendEvent request holds xEvent which is exactly 32 bytes long, no more, +no less. Both ProcSendEvent and SProcSendEvent verify that the received data +exactly match the request size. However nothing stops the client from passing +in event with xEvent::type = GenericEvent and any value of +xGenericEvent::length. + +In the case of ProcSendEvent, the event will be eventually passed to +WriteEventsToClient which will see that it is Generic event and copy the +arbitrary length from the receive buffer (and possibly past it) and send it to +the other client. This allows clients to copy unitialized heap memory out of X +server or to crash it. + +In case of SProcSendEvent, it will attempt to swap the incoming event by +calling a swapping function from the EventSwapVector array. The swapped event +is written to target buffer, which in this case is local xEvent variable. The +xEvent variable is 32 bytes long, but the swapping functions for GenericEvents +expect that the target buffer has size matching the size of the source +GenericEvent. This allows clients to cause stack buffer overflows. + +Signed-off-by: Michal Srb +Reviewed-by: Peter Hutterer +Signed-off-by: Peter Hutterer +Signed-off-by: Peter Korsgaard +--- + dix/events.c | 6 ++++++ + dix/swapreq.c | 7 +++++++ + 2 files changed, 13 insertions(+) + +diff --git a/dix/events.c b/dix/events.c +index 3e3a01ef9..d3a33ea3f 100644 +--- a/dix/events.c ++++ b/dix/events.c +@@ -5366,6 +5366,12 @@ ProcSendEvent(ClientPtr client) + client->errorValue = stuff->event.u.u.type; + return BadValue; + } ++ /* Generic events can have variable size, but SendEvent request holds ++ exactly 32B of event data. */ ++ if (stuff->event.u.u.type == GenericEvent) { ++ client->errorValue = stuff->event.u.u.type; ++ return BadValue; ++ } + if (stuff->event.u.u.type == ClientMessage && + stuff->event.u.u.detail != 8 && + stuff->event.u.u.detail != 16 && stuff->event.u.u.detail != 32) { +diff --git a/dix/swapreq.c b/dix/swapreq.c +index 719e9b81c..67850593b 100644 +--- a/dix/swapreq.c ++++ b/dix/swapreq.c +@@ -292,6 +292,13 @@ SProcSendEvent(ClientPtr client) + swapl(&stuff->destination); + swapl(&stuff->eventMask); + ++ /* Generic events can have variable size, but SendEvent request holds ++ exactly 32B of event data. */ ++ if (stuff->event.u.u.type == GenericEvent) { ++ client->errorValue = stuff->event.u.u.type; ++ return BadValue; ++ } ++ + /* Swap event */ + proc = EventSwapVector[stuff->event.u.u.type & 0177]; + if (!proc || proc == NotImplemented) /* no swapping proc; invalid event type? */ +-- +2.11.0 + diff --git a/package/x11r7/xserver_xorg-server/1.14.7/0004-Xi-Verify-all-events-in-ProcXSendExtensionEvent.patch b/package/x11r7/xserver_xorg-server/1.14.7/0004-Xi-Verify-all-events-in-ProcXSendExtensionEvent.patch new file mode 100644 index 0000000000..2e651006ba --- /dev/null +++ b/package/x11r7/xserver_xorg-server/1.14.7/0004-Xi-Verify-all-events-in-ProcXSendExtensionEvent.patch @@ -0,0 +1,50 @@ +From 8caed4df36b1f802b4992edcfd282cbeeec35d9d Mon Sep 17 00:00:00 2001 +From: Michal Srb +Date: Wed, 24 May 2017 15:54:41 +0300 +Subject: [PATCH] Xi: Verify all events in ProcXSendExtensionEvent. + +The requirement is that events have type in range +EXTENSION_EVENT_BASE..lastEvent, but it was tested +only for first event of all. + +Signed-off-by: Michal Srb +Reviewed-by: Peter Hutterer +Signed-off-by: Peter Hutterer +Signed-off-by: Peter Korsgaard +--- + Xi/sendexev.c | 12 +++++++----- + 1 file changed, 7 insertions(+), 5 deletions(-) + +diff --git a/Xi/sendexev.c b/Xi/sendexev.c +index 1cf118ab6..5e63bfcca 100644 +--- a/Xi/sendexev.c ++++ b/Xi/sendexev.c +@@ -117,7 +117,7 @@ SProcXSendExtensionEvent(ClientPtr client) + int + ProcXSendExtensionEvent(ClientPtr client) + { +- int ret; ++ int ret, i; + DeviceIntPtr dev; + xEvent *first; + XEventClass *list; +@@ -141,10 +141,12 @@ ProcXSendExtensionEvent(ClientPtr client) + /* The client's event type must be one defined by an extension. */ + + first = ((xEvent *) &stuff[1]); +- if (!((EXTENSION_EVENT_BASE <= first->u.u.type) && +- (first->u.u.type < lastEvent))) { +- client->errorValue = first->u.u.type; +- return BadValue; ++ for (i = 0; i < stuff->num_events; i++) { ++ if (!((EXTENSION_EVENT_BASE <= first[i].u.u.type) && ++ (first[i].u.u.type < lastEvent))) { ++ client->errorValue = first[i].u.u.type; ++ return BadValue; ++ } + } + + list = (XEventClass *) (first + stuff->num_events); +-- +2.11.0 + diff --git a/package/x11r7/xserver_xorg-server/1.14.7/0005-Xi-Do-not-try-to-swap-GenericEvent.patch b/package/x11r7/xserver_xorg-server/1.14.7/0005-Xi-Do-not-try-to-swap-GenericEvent.patch new file mode 100644 index 0000000000..871e7621ed --- /dev/null +++ b/package/x11r7/xserver_xorg-server/1.14.7/0005-Xi-Do-not-try-to-swap-GenericEvent.patch @@ -0,0 +1,45 @@ +From ba336b24052122b136486961c82deac76bbde455 Mon Sep 17 00:00:00 2001 +From: Michal Srb +Date: Wed, 24 May 2017 15:54:42 +0300 +Subject: [PATCH] Xi: Do not try to swap GenericEvent. + +The SProcXSendExtensionEvent must not attempt to swap GenericEvent because +it is assuming that the event has fixed size and gives the swapping function +xEvent-sized buffer. + +A GenericEvent would be later rejected by ProcXSendExtensionEvent anyway. + +Signed-off-by: Michal Srb +Reviewed-by: Peter Hutterer +Signed-off-by: Peter Hutterer +Signed-off-by: Peter Korsgaard +--- + Xi/sendexev.c | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/Xi/sendexev.c b/Xi/sendexev.c +index 5e63bfcca..5c2e0fc56 100644 +--- a/Xi/sendexev.c ++++ b/Xi/sendexev.c +@@ -95,9 +95,17 @@ SProcXSendExtensionEvent(ClientPtr client) + + eventP = (xEvent *) &stuff[1]; + for (i = 0; i < stuff->num_events; i++, eventP++) { ++ if (eventP->u.u.type == GenericEvent) { ++ client->errorValue = eventP->u.u.type; ++ return BadValue; ++ } ++ + proc = EventSwapVector[eventP->u.u.type & 0177]; +- if (proc == NotImplemented) /* no swapping proc; invalid event type? */ ++ /* no swapping proc; invalid event type? */ ++ if (proc == NotImplemented) { ++ client->errorValue = eventP->u.u.type; + return BadValue; ++ } + (*proc) (eventP, &eventT); + *eventP = eventT; + } +-- +2.11.0 + diff --git a/package/x11r7/xserver_xorg-server/1.17.4/0002-Xi-Zero-target-buffer-in-SProcXSendExtensionEvent.patch b/package/x11r7/xserver_xorg-server/1.17.4/0002-Xi-Zero-target-buffer-in-SProcXSendExtensionEvent.patch new file mode 100644 index 0000000000..c15dc9f50c --- /dev/null +++ b/package/x11r7/xserver_xorg-server/1.17.4/0002-Xi-Zero-target-buffer-in-SProcXSendExtensionEvent.patch @@ -0,0 +1,39 @@ +From 05442de962d3dc624f79fc1a00eca3ffc5489ced Mon Sep 17 00:00:00 2001 +From: Michal Srb +Date: Wed, 24 May 2017 15:54:39 +0300 +Subject: [PATCH] Xi: Zero target buffer in SProcXSendExtensionEvent. + +Make sure that the xEvent eventT is initialized with zeros, the same way as +in SProcSendEvent. + +Some event swapping functions do not overwrite all 32 bytes of xEvent +structure, for example XSecurityAuthorizationRevoked. Two cooperating +clients, one swapped and the other not, can send +XSecurityAuthorizationRevoked event to each other to retrieve old stack data +from X server. This can be potentialy misused to go around ASLR or +stack-protector. + +Signed-off-by: Michal Srb +Reviewed-by: Peter Hutterer +Signed-off-by: Peter Hutterer +Signed-off-by: Peter Korsgaard +--- + Xi/sendexev.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Xi/sendexev.c b/Xi/sendexev.c +index 11d82029f..1cf118ab6 100644 +--- a/Xi/sendexev.c ++++ b/Xi/sendexev.c +@@ -78,7 +78,7 @@ SProcXSendExtensionEvent(ClientPtr client) + { + CARD32 *p; + int i; +- xEvent eventT; ++ xEvent eventT = { .u.u.type = 0 }; + xEvent *eventP; + EventSwapPtr proc; + +-- +2.11.0 + diff --git a/package/x11r7/xserver_xorg-server/1.17.4/0003-dix-Disallow-GenericEvent-in-SendEvent-request.patch b/package/x11r7/xserver_xorg-server/1.17.4/0003-dix-Disallow-GenericEvent-in-SendEvent-request.patch new file mode 100644 index 0000000000..12da5f5cba --- /dev/null +++ b/package/x11r7/xserver_xorg-server/1.17.4/0003-dix-Disallow-GenericEvent-in-SendEvent-request.patch @@ -0,0 +1,71 @@ +From 215f894965df5fb0bb45b107d84524e700d2073c Mon Sep 17 00:00:00 2001 +From: Michal Srb +Date: Wed, 24 May 2017 15:54:40 +0300 +Subject: [PATCH] dix: Disallow GenericEvent in SendEvent request. + +The SendEvent request holds xEvent which is exactly 32 bytes long, no more, +no less. Both ProcSendEvent and SProcSendEvent verify that the received data +exactly match the request size. However nothing stops the client from passing +in event with xEvent::type = GenericEvent and any value of +xGenericEvent::length. + +In the case of ProcSendEvent, the event will be eventually passed to +WriteEventsToClient which will see that it is Generic event and copy the +arbitrary length from the receive buffer (and possibly past it) and send it to +the other client. This allows clients to copy unitialized heap memory out of X +server or to crash it. + +In case of SProcSendEvent, it will attempt to swap the incoming event by +calling a swapping function from the EventSwapVector array. The swapped event +is written to target buffer, which in this case is local xEvent variable. The +xEvent variable is 32 bytes long, but the swapping functions for GenericEvents +expect that the target buffer has size matching the size of the source +GenericEvent. This allows clients to cause stack buffer overflows. + +Signed-off-by: Michal Srb +Reviewed-by: Peter Hutterer +Signed-off-by: Peter Hutterer +Signed-off-by: Peter Korsgaard +--- + dix/events.c | 6 ++++++ + dix/swapreq.c | 7 +++++++ + 2 files changed, 13 insertions(+) + +diff --git a/dix/events.c b/dix/events.c +index 3e3a01ef9..d3a33ea3f 100644 +--- a/dix/events.c ++++ b/dix/events.c +@@ -5366,6 +5366,12 @@ ProcSendEvent(ClientPtr client) + client->errorValue = stuff->event.u.u.type; + return BadValue; + } ++ /* Generic events can have variable size, but SendEvent request holds ++ exactly 32B of event data. */ ++ if (stuff->event.u.u.type == GenericEvent) { ++ client->errorValue = stuff->event.u.u.type; ++ return BadValue; ++ } + if (stuff->event.u.u.type == ClientMessage && + stuff->event.u.u.detail != 8 && + stuff->event.u.u.detail != 16 && stuff->event.u.u.detail != 32) { +diff --git a/dix/swapreq.c b/dix/swapreq.c +index 719e9b81c..67850593b 100644 +--- a/dix/swapreq.c ++++ b/dix/swapreq.c +@@ -292,6 +292,13 @@ SProcSendEvent(ClientPtr client) + swapl(&stuff->destination); + swapl(&stuff->eventMask); + ++ /* Generic events can have variable size, but SendEvent request holds ++ exactly 32B of event data. */ ++ if (stuff->event.u.u.type == GenericEvent) { ++ client->errorValue = stuff->event.u.u.type; ++ return BadValue; ++ } ++ + /* Swap event */ + proc = EventSwapVector[stuff->event.u.u.type & 0177]; + if (!proc || proc == NotImplemented) /* no swapping proc; invalid event type? */ +-- +2.11.0 + diff --git a/package/x11r7/xserver_xorg-server/1.17.4/0004-Xi-Verify-all-events-in-ProcXSendExtensionEvent.patch b/package/x11r7/xserver_xorg-server/1.17.4/0004-Xi-Verify-all-events-in-ProcXSendExtensionEvent.patch new file mode 100644 index 0000000000..2e651006ba --- /dev/null +++ b/package/x11r7/xserver_xorg-server/1.17.4/0004-Xi-Verify-all-events-in-ProcXSendExtensionEvent.patch @@ -0,0 +1,50 @@ +From 8caed4df36b1f802b4992edcfd282cbeeec35d9d Mon Sep 17 00:00:00 2001 +From: Michal Srb +Date: Wed, 24 May 2017 15:54:41 +0300 +Subject: [PATCH] Xi: Verify all events in ProcXSendExtensionEvent. + +The requirement is that events have type in range +EXTENSION_EVENT_BASE..lastEvent, but it was tested +only for first event of all. + +Signed-off-by: Michal Srb +Reviewed-by: Peter Hutterer +Signed-off-by: Peter Hutterer +Signed-off-by: Peter Korsgaard +--- + Xi/sendexev.c | 12 +++++++----- + 1 file changed, 7 insertions(+), 5 deletions(-) + +diff --git a/Xi/sendexev.c b/Xi/sendexev.c +index 1cf118ab6..5e63bfcca 100644 +--- a/Xi/sendexev.c ++++ b/Xi/sendexev.c +@@ -117,7 +117,7 @@ SProcXSendExtensionEvent(ClientPtr client) + int + ProcXSendExtensionEvent(ClientPtr client) + { +- int ret; ++ int ret, i; + DeviceIntPtr dev; + xEvent *first; + XEventClass *list; +@@ -141,10 +141,12 @@ ProcXSendExtensionEvent(ClientPtr client) + /* The client's event type must be one defined by an extension. */ + + first = ((xEvent *) &stuff[1]); +- if (!((EXTENSION_EVENT_BASE <= first->u.u.type) && +- (first->u.u.type < lastEvent))) { +- client->errorValue = first->u.u.type; +- return BadValue; ++ for (i = 0; i < stuff->num_events; i++) { ++ if (!((EXTENSION_EVENT_BASE <= first[i].u.u.type) && ++ (first[i].u.u.type < lastEvent))) { ++ client->errorValue = first[i].u.u.type; ++ return BadValue; ++ } + } + + list = (XEventClass *) (first + stuff->num_events); +-- +2.11.0 + diff --git a/package/x11r7/xserver_xorg-server/1.17.4/0005-Xi-Do-not-try-to-swap-GenericEvent.patch b/package/x11r7/xserver_xorg-server/1.17.4/0005-Xi-Do-not-try-to-swap-GenericEvent.patch new file mode 100644 index 0000000000..871e7621ed --- /dev/null +++ b/package/x11r7/xserver_xorg-server/1.17.4/0005-Xi-Do-not-try-to-swap-GenericEvent.patch @@ -0,0 +1,45 @@ +From ba336b24052122b136486961c82deac76bbde455 Mon Sep 17 00:00:00 2001 +From: Michal Srb +Date: Wed, 24 May 2017 15:54:42 +0300 +Subject: [PATCH] Xi: Do not try to swap GenericEvent. + +The SProcXSendExtensionEvent must not attempt to swap GenericEvent because +it is assuming that the event has fixed size and gives the swapping function +xEvent-sized buffer. + +A GenericEvent would be later rejected by ProcXSendExtensionEvent anyway. + +Signed-off-by: Michal Srb +Reviewed-by: Peter Hutterer +Signed-off-by: Peter Hutterer +Signed-off-by: Peter Korsgaard +--- + Xi/sendexev.c | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/Xi/sendexev.c b/Xi/sendexev.c +index 5e63bfcca..5c2e0fc56 100644 +--- a/Xi/sendexev.c ++++ b/Xi/sendexev.c +@@ -95,9 +95,17 @@ SProcXSendExtensionEvent(ClientPtr client) + + eventP = (xEvent *) &stuff[1]; + for (i = 0; i < stuff->num_events; i++, eventP++) { ++ if (eventP->u.u.type == GenericEvent) { ++ client->errorValue = eventP->u.u.type; ++ return BadValue; ++ } ++ + proc = EventSwapVector[eventP->u.u.type & 0177]; +- if (proc == NotImplemented) /* no swapping proc; invalid event type? */ ++ /* no swapping proc; invalid event type? */ ++ if (proc == NotImplemented) { ++ client->errorValue = eventP->u.u.type; + return BadValue; ++ } + (*proc) (eventP, &eventT); + *eventP = eventT; + } +-- +2.11.0 + diff --git a/package/x11r7/xserver_xorg-server/1.19.1/0001-modesettings-needs-dri2.patch b/package/x11r7/xserver_xorg-server/1.19.5/0001-modesettings-needs-dri2.patch similarity index 100% rename from package/x11r7/xserver_xorg-server/1.19.1/0001-modesettings-needs-dri2.patch rename to package/x11r7/xserver_xorg-server/1.19.5/0001-modesettings-needs-dri2.patch diff --git a/package/x11r7/xserver_xorg-server/1.19.1/0002-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch b/package/x11r7/xserver_xorg-server/1.19.5/0002-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch similarity index 100% rename from package/x11r7/xserver_xorg-server/1.19.1/0002-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch rename to package/x11r7/xserver_xorg-server/1.19.5/0002-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch diff --git a/package/x11r7/xserver_xorg-server/1.19.1/0003-Remove-check-for-useSIGIO-option.patch b/package/x11r7/xserver_xorg-server/1.19.5/0003-Remove-check-for-useSIGIO-option.patch similarity index 100% rename from package/x11r7/xserver_xorg-server/1.19.1/0003-Remove-check-for-useSIGIO-option.patch rename to package/x11r7/xserver_xorg-server/1.19.5/0003-Remove-check-for-useSIGIO-option.patch diff --git a/package/x11r7/xserver_xorg-server/Config.in b/package/x11r7/xserver_xorg-server/Config.in index 1c8f8cfdbf..08dea0a5ef 100644 --- a/package/x11r7/xserver_xorg-server/Config.in +++ b/package/x11r7/xserver_xorg-server/Config.in @@ -79,7 +79,7 @@ choice bool "X Window System server version" config BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_19 - bool "1.19.1" + bool "1.19.5" select BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_23 select BR2_PACKAGE_XLIB_LIBXFONT2 select BR2_PACKAGE_XPROTO_PRESENTPROTO @@ -99,7 +99,7 @@ endchoice config BR2_PACKAGE_XSERVER_XORG_SERVER_VERSION string - default "1.19.1" if BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_19 + default "1.19.5" if BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_19 default "1.17.4" if BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_17 default "1.14.7" if BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_14 @@ -114,7 +114,8 @@ config BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR select BR2_PACKAGE_LIBDRM if (BR2_PACKAGE_XPROTO_XF86DRIPROTO || \ BR2_PACKAGE_XPROTO_DRI2PROTO) select BR2_PACKAGE_LIBPCIACCESS - select BR2_PACKAGE_XLIB_LIBXSHMFENCE if BR2_PACKAGE_XPROTO_DRI3PROTO + select BR2_PACKAGE_XLIB_LIBXSHMFENCE if \ + (BR2_PACKAGE_XPROTO_DRI3PROTO && BR2_TOOLCHAIN_HAS_SYNC_4) help This variant of the X.org server is the full-blown variant, as used by desktop GNU/Linux distributions. The drivers (for diff --git a/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash b/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash index 2f13ca6419..c0feb985d2 100644 --- a/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash +++ b/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash @@ -3,5 +3,8 @@ sha1 7a95765e56b124758fcd7b609589e65b8870880b x sha256 fcf66fa6ad86227613d2d3e8ae13ded297e2a1e947e9060a083eaf80d323451f xorg-server-1.14.7.tar.bz2 # From https://lists.x.org/archives/xorg-announce/2015-October/002650.html sha256 0c4b45c116a812a996eb432d8508cf26c2ec8c3916ff2a50781796882f8d6457 xorg-server-1.17.4.tar.bz2 -# From https://lists.x.org/archives/xorg-announce/2017-January/002754.html -sha256 79ae2cf39d3f6c4a91201d8dad549d1d774b3420073c5a70d390040aa965a7fb xorg-server-1.19.1.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2017-October/002814.html +md5 4ac6feeae6790436ce9de879ca9a3bf8 xorg-server-1.19.5.tar.bz2 +sha1 307d3405f709f7e41966c850b37deefe7f83eb9b xorg-server-1.19.5.tar.bz2 +sha256 18fffa8eb93d06d2800d06321fc0df4d357684d8d714315a66d8dfa7df251447 xorg-server-1.19.5.tar.bz2 +sha512 928dea5850b98cd815004cfa133eca23cfa9521920c934c68a92787f2cae13cca1534eee772a4fb74b8ae8cb92662b5d68b95b834c8aa8ec57cd57cb4e5dd45c xorg-server-1.19.5.tar.bz2 diff --git a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk index 7aebbc1d2d..45a2c81f2b 100644 --- a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk +++ b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk @@ -6,53 +6,53 @@ XSERVER_XORG_SERVER_VERSION = $(call qstrip,$(BR2_PACKAGE_XSERVER_XORG_SERVER_VERSION)) XSERVER_XORG_SERVER_SOURCE = xorg-server-$(XSERVER_XORG_SERVER_VERSION).tar.bz2 -XSERVER_XORG_SERVER_SITE = http://xorg.freedesktop.org/releases/individual/xserver +XSERVER_XORG_SERVER_SITE = https://xorg.freedesktop.org/archive/individual/xserver XSERVER_XORG_SERVER_LICENSE = MIT XSERVER_XORG_SERVER_LICENSE_FILES = COPYING XSERVER_XORG_SERVER_INSTALL_STAGING = YES # xfont_font-util is needed only for autoreconf XSERVER_XORG_SERVER_AUTORECONF = YES -XSERVER_XORG_SERVER_DEPENDENCIES = \ - xfont_font-util \ - xutil_util-macros \ - xlib_libX11 \ - xlib_libXau \ - xlib_libXdmcp \ - xlib_libXext \ - xlib_libXfixes \ - xlib_libXi \ - xlib_libXrender \ - xlib_libXres \ - xlib_libXft \ - xlib_libXcursor \ - xlib_libXinerama \ - xlib_libXrandr \ - xlib_libXdamage \ - xlib_libXxf86vm \ - xlib_libxkbfile \ - xlib_xtrans \ - xdata_xbitmaps \ - xproto_bigreqsproto \ - xproto_compositeproto \ - xproto_damageproto \ - xproto_fixesproto \ - xproto_fontsproto \ - xproto_glproto \ - xproto_inputproto \ - xproto_kbproto \ - xproto_randrproto \ - xproto_renderproto \ - xproto_resourceproto \ - xproto_videoproto \ - xproto_xcmiscproto \ - xproto_xextproto \ - xproto_xf86bigfontproto \ - xproto_xf86dgaproto \ - xproto_xf86vidmodeproto \ - xproto_xproto \ - xkeyboard-config \ - pixman \ - mcookie \ +XSERVER_XORG_SERVER_DEPENDENCIES = \ + xfont_font-util \ + xutil_util-macros \ + xlib_libX11 \ + xlib_libXau \ + xlib_libXdmcp \ + xlib_libXext \ + xlib_libXfixes \ + xlib_libXi \ + xlib_libXrender \ + xlib_libXres \ + xlib_libXft \ + xlib_libXcursor \ + xlib_libXinerama \ + xlib_libXrandr \ + xlib_libXdamage \ + xlib_libXxf86vm \ + xlib_libxkbfile \ + xlib_xtrans \ + xdata_xbitmaps \ + xproto_bigreqsproto \ + xproto_compositeproto \ + xproto_damageproto \ + xproto_fixesproto \ + xproto_fontsproto \ + xproto_glproto \ + xproto_inputproto \ + xproto_kbproto \ + xproto_randrproto \ + xproto_renderproto \ + xproto_resourceproto \ + xproto_videoproto \ + xproto_xcmiscproto \ + xproto_xextproto \ + xproto_xf86bigfontproto \ + xproto_xf86dgaproto \ + xproto_xf86vidmodeproto \ + xproto_xproto \ + xkeyboard-config \ + pixman \ + mcookie \ host-pkgconf # We force -O2 regardless of the optimization level chosen by the @@ -220,10 +220,10 @@ XSERVER_XORG_SERVER_CONF_OPTS += --enable-dri2 else XSERVER_XORG_SERVER_CONF_OPTS += --disable-dri2 endif -ifeq ($(BR2_PACKAGE_XPROTO_DRI3PROTO),y) +ifeq ($(BR2_PACKAGE_XLIB_LIBXSHMFENCE)$(BR2_PACKAGE_XPROTO_DRI3PROTO),yy) XSERVER_XORG_SERVER_DEPENDENCIES += xlib_libxshmfence xproto_dri3proto XSERVER_XORG_SERVER_CONF_OPTS += --enable-dri3 -ifeq ($(BR2_PACKAGE_HAS_LIBGL)$(BR2_PACKAGE_LIBEPOXY),yy) +ifeq ($(BR2_PACKAGE_HAS_LIBEGL)$(BR2_PACKAGE_HAS_LIBGL)$(BR2_PACKAGE_LIBEPOXY),yyy) XSERVER_XORG_SERVER_DEPENDENCIES += libepoxy XSERVER_XORG_SERVER_CONF_OPTS += --enable-glamor else diff --git a/package/x11vnc/0001-Fix-compiler-detection-when-using-without-crypt-cryp.patch b/package/x11vnc/0001-Fix-compiler-detection-when-using-without-crypt-cryp.patch new file mode 100644 index 0000000000..31b5cfed7d --- /dev/null +++ b/package/x11vnc/0001-Fix-compiler-detection-when-using-without-crypt-cryp.patch @@ -0,0 +1,27 @@ +From d6919c0be7f531b20cbfcb9929d697ac3c132c40 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20K=C4=99pie=C5=84?= +Date: Wed, 12 Oct 2016 15:17:51 +0200 +Subject: [PATCH] Fix compiler detection when using + --without-{crypt,crypto,ssl} + +(cherry picked from commit d6919c0be7f531b20cbfcb9929d697ac3c132c40) +Signed-off-by: Romain Naour +--- + configure.ac | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/configure.ac b/configure.ac +index 55724bc..bdfff94 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -5,6 +5,7 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + AM_CONFIG_HEADER(config.h) + AC_CONFIG_MACRO_DIR([m4]) + ++AC_PROG_CC + AC_PROG_SED + + # some OS's need both -lssl and -lcrypto on link line: +-- +2.9.3 + diff --git a/package/x11vnc/Config.in b/package/x11vnc/Config.in index 0909b9aec4..9e91a11ad1 100644 --- a/package/x11vnc/Config.in +++ b/package/x11vnc/Config.in @@ -2,6 +2,8 @@ config BR2_PACKAGE_X11VNC bool "x11vnc" depends on BR2_PACKAGE_XORG7 depends on BR2_USE_MMU # fork() + depends on !BR2_nios2 # libvncserver + select BR2_PACKAGE_LIBVNCSERVER select BR2_PACKAGE_XLIB_LIBXT select BR2_PACKAGE_XLIB_LIBXEXT select BR2_PACKAGE_XLIB_LIBXTST diff --git a/package/x11vnc/x11vnc.hash b/package/x11vnc/x11vnc.hash index 5828b12cd8..3cdbfa1b0f 100644 --- a/package/x11vnc/x11vnc.hash +++ b/package/x11vnc/x11vnc.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 f6829f2e629667a5284de62b080b13126a0736499fe47cdb447aedb07a59f13b x11vnc-0.9.13.tar.gz +sha256 45f87c5e4382988c73e8c7891ac2bfb45d8f9ce1196ae06651c84636684ea143 x11vnc-0.9.14.tar.gz diff --git a/package/x11vnc/x11vnc.mk b/package/x11vnc/x11vnc.mk index cdb323788c..f1f4da21bc 100644 --- a/package/x11vnc/x11vnc.mk +++ b/package/x11vnc/x11vnc.mk @@ -4,15 +4,18 @@ # ################################################################################ -X11VNC_VERSION = 0.9.13 -X11VNC_SITE = http://downloads.sourceforge.net/project/libvncserver/x11vnc/$(X11VNC_VERSION) +X11VNC_VERSION = 0.9.14 +X11VNC_SITE = $(call github,LibVNC,x11vnc,$(X11VNC_VERSION)) # sdl support is not used in x11vnc, but host include / library search paths # leak in if host has sdl-config X11VNC_CONF_OPTS = --without-sdl -X11VNC_DEPENDENCIES = xlib_libXt xlib_libXext xlib_libXtst -X11VNC_LICENSE = GPLv2+ +X11VNC_DEPENDENCIES = xlib_libXt xlib_libXext xlib_libXtst libvncserver +X11VNC_LICENSE = GPL-2.0+ X11VNC_LICENSE_FILES = COPYING +# Source coming from github, no configure included +X11VNC_AUTORECONF = YES + ifeq ($(BR2_PACKAGE_AVAHI_DAEMON)$(BR2_PACKAGE_DBUS),yy) X11VNC_DEPENDENCIES += avahi dbus else @@ -61,5 +64,4 @@ else X11VNC_CONF_OPTS += --without-zlib endif - $(eval $(autotools-package)) diff --git a/package/x264/x264.hash b/package/x264/x264.hash index 95510938e0..f0e9f1b827 100644 --- a/package/x264/x264.hash +++ b/package/x264/x264.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 9fc4651981453d0428a2ad16889b6b63d1f2e7347ea321f20347fc3a021ee912 x264-97eaef2ab82a46d13ea5e00270712d6475fbe42b.tar.gz +sha256 986863122b0b3ac2c1fa27c6e3932c3490b84287335fa162bca020aa815aa695 x264-ba24899b0bf23345921da022f7a51e0c57dbe73d.tar.gz diff --git a/package/x264/x264.mk b/package/x264/x264.mk index 80437c408c..e14077a2f4 100644 --- a/package/x264/x264.mk +++ b/package/x264/x264.mk @@ -4,18 +4,18 @@ # ################################################################################ -X264_VERSION = 97eaef2ab82a46d13ea5e00270712d6475fbe42b +X264_VERSION = ba24899b0bf23345921da022f7a51e0c57dbe73d X264_SITE = git://git.videolan.org/x264.git -X264_LICENSE = GPLv2+ +X264_LICENSE = GPL-2.0+ X264_DEPENDENCIES = host-pkgconf X264_LICENSE_FILES = COPYING X264_INSTALL_STAGING = YES -X264_CONF_OPTS = --disable-avs +X264_CONF_OPTS = --disable-avs --disable-lavf --disable-swscale ifeq ($(BR2_i386)$(BR2_x86_64),y) -# yasm needed for assembly files -X264_DEPENDENCIES += host-yasm -X264_CONF_ENV += AS="$(HOST_DIR)/usr/bin/yasm" +# nasm needed for assembly files +X264_DEPENDENCIES += host-nasm +X264_CONF_ENV += AS="$(HOST_DIR)/bin/nasm" else ifeq ($(BR2_ARM_CPU_ARMV7A)$(BR2_aarch64),y) # We need to pass gcc as AS, because the ARM assembly files have to be # preprocessed @@ -36,6 +36,11 @@ ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),) X264_CONF_OPTS += --disable-thread endif +# Even though the configure script is not generated by autoconf, x264 +# uses config.sub/config.guess, so we want up-to-date versions of +# them. +X264_POST_PATCH_HOOKS += UPDATE_CONFIG_HOOK + # the configure script is not generated by autoconf define X264_CONFIGURE_CMDS (cd $(@D); $(TARGET_CONFIGURE_OPTS) $(X264_CONF_ENV) ./configure \ diff --git a/package/x265/x265.hash b/package/x265/x265.hash index 5672d79e0c..3e44b03692 100644 --- a/package/x265/x265.hash +++ b/package/x265/x265.hash @@ -1,2 +1,2 @@ # Locally generated -sha256 b872552535e41fbffa03ba7cbcd3479c42c4053868309292e78e147b7773ac4b x265_2.2.tar.gz +sha256 2e53259b504a7edb9b21b9800163b1ff4c90e60c74e23e7001d423c69c5d3d17 x265_2.5.tar.gz diff --git a/package/x265/x265.mk b/package/x265/x265.mk index 0fbdb01071..ae570e6e4c 100644 --- a/package/x265/x265.mk +++ b/package/x265/x265.mk @@ -4,10 +4,10 @@ # ################################################################################ -X265_VERSION = 2.2 +X265_VERSION = 2.5 X265_SOURCE = x265_$(X265_VERSION).tar.gz X265_SITE = https://bitbucket.org/multicoreware/x265/downloads -X265_LICENSE = GPLv2+ +X265_LICENSE = GPL-2.0+ X265_LICENSE_FILES = COPYING X265_SUBDIR = source X265_INSTALL_STAGING = YES @@ -16,6 +16,12 @@ ifeq ($(BR2_i386)$(BR2_x86_64),y) X265_DEPENDENCIES += host-yasm endif +# disable altivec, it has build issues +# https://bitbucket.org/multicoreware/x265/issues/320/ +ifeq ($(BR2_powerpc64)$(BR2_powerpc64le),y) +X265_CONF_OPTS += -DENABLE_ALTIVEC=OFF +endif + ifeq ($(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),y) X265_CONF_OPTS += -DENABLE_SHARED=ON -DENABLE_PIC=ON else diff --git a/package/xavante/Config.in b/package/xavante/Config.in index be8e6d905d..d66ca1f0ae 100644 --- a/package/xavante/Config.in +++ b/package/xavante/Config.in @@ -1,14 +1,14 @@ config BR2_PACKAGE_XAVANTE bool "xavante" # Runtime dependency only - select BR2_PACKAGE_CGILUA select BR2_PACKAGE_COPAS - select BR2_PACKAGE_COXPCALL select BR2_PACKAGE_LUAFILESYSTEM select BR2_PACKAGE_LUASOCKET - select BR2_PACKAGE_WSAPI help Xavante is a Lua HTTP 1.1 Web server that uses a modular - architecture based on URI mapped handlers. + architecture based on URI mapped handlers. Xavante currently + offers a file handler, a redirect handler and a WSAPI handler. + Those are used for general files, URI remapping and WSAPI + applications respectively. http://keplerproject.github.com/xavante/ diff --git a/package/xavante/xavante.hash b/package/xavante/xavante.hash index d960c2d064..09b2a22d4d 100644 --- a/package/xavante/xavante.hash +++ b/package/xavante/xavante.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 d683bebdb3e1b497dc04ceb3fb8f1c8c67a6486ab0c6da0c23f281cc07a63657 xavante-2.3.0-1.src.rock +sha256 67c738f981e7d65d18c717f3acac59a37f95d5139c00fb0de5d3167262025273 xavante-2.4.0-1.src.rock diff --git a/package/xavante/xavante.mk b/package/xavante/xavante.mk index 07f9ee6fde..d962e7bcab 100644 --- a/package/xavante/xavante.mk +++ b/package/xavante/xavante.mk @@ -4,7 +4,8 @@ # ################################################################################ -XAVANTE_VERSION = 2.3.0-1 +XAVANTE_VERSION = 2.4.0-1 XAVANTE_LICENSE = MIT +XAVANTE_LICENSE_FILES = $(XAVANTE_SUBDIR)/doc/us/license.html $(eval $(luarocks-package)) diff --git a/package/xdotool/xdotool.mk b/package/xdotool/xdotool.mk index a799ea470f..c18885c500 100644 --- a/package/xdotool/xdotool.mk +++ b/package/xdotool/xdotool.mk @@ -6,7 +6,7 @@ XDOTOOL_VERSION = v3.20150503.1 XDOTOOL_SITE = $(call github,jordansissel,xdotool,$(XDOTOOL_VERSION)) -XDOTOOL_LICENSE = BSD-3c +XDOTOOL_LICENSE = BSD-3-Clause XDOTOOL_LICENSE_FILES = COPYRIGHT XDOTOOL_DEPENDENCIES = xlib_libXtst xlib_libXinerama libxkbcommon xlib_libX11 diff --git a/package/xen/0001-Remove-hardcoded-strict-Werror-checking.patch b/package/xen/0001-Remove-hardcoded-strict-Werror-checking.patch deleted file mode 100644 index ca772ddfb1..0000000000 --- a/package/xen/0001-Remove-hardcoded-strict-Werror-checking.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 234847440a5d3cf95540ea79f7a08d50cccfef73 Mon Sep 17 00:00:00 2001 -From: Alistair Francis -Date: Tue, 13 Sep 2016 10:48:31 -0700 -Subject: [PATCH] Remove hardcoded strict -Werror checking - -Signed-off-by: Alistair Francis ---- - Config.mk | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Config.mk b/Config.mk -index bd991c6..e7ac662 100644 ---- a/Config.mk -+++ b/Config.mk -@@ -36,7 +36,7 @@ CONFIG_$(XEN_OS) := y - SHELL ?= /bin/sh - - # Tools to run on system hosting the build --HOSTCFLAGS = -Wall -Werror -Wstrict-prototypes -O2 -fomit-frame-pointer -+HOSTCFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer - HOSTCFLAGS += -fno-strict-aliasing - - DISTDIR ?= $(XEN_ROOT)/dist --- -2.7.4 - diff --git a/package/xen/0002-xen-Rules.mk-fix-build-with-CFLAGS-from-environment.patch b/package/xen/0001-xen-Rules.mk-fix-build-with-CFLAGS-from-environment.patch similarity index 100% rename from package/xen/0002-xen-Rules.mk-fix-build-with-CFLAGS-from-environment.patch rename to package/xen/0001-xen-Rules.mk-fix-build-with-CFLAGS-from-environment.patch diff --git a/package/xen/0002-9pfs-include-linux-limits.h-for-XATTR_SIZE_MAX.patch b/package/xen/0002-9pfs-include-linux-limits.h-for-XATTR_SIZE_MAX.patch new file mode 100644 index 0000000000..b681b941f7 --- /dev/null +++ b/package/xen/0002-9pfs-include-linux-limits.h-for-XATTR_SIZE_MAX.patch @@ -0,0 +1,43 @@ +Message-Id: <07010a2ad79559c412949f0005dbe3cb03d8416e.1498504812.git.ps@pks.im> +From: Patrick Steinhardt +Date: Mon, 26 Jun 2017 21:20:45 +0200 +Subject: [PATCH] 9pfs: include for XATTR_SIZE_MAX + +The function `v9fs_xattrcreate` makes use of the define `XATTR_SIZE_MAX` +to reject attempts of creating xattrs with an invalid size, which is +defined in . On glibc-based systems, this header is +indirectly included via , , +, but on other platforms this is not guaranteed due +to not being part of the POSIX standard. One examples are systems based +on musl libc, which do not include the indirectly, +which leads to `XATTR_SIZE_MAX` being undefined. + +Fix this error by directly include . As the 9P fs code +is being Linux-based either way, we can simply do so without breaking +other platforms. This enables building 9pfs on musl-based systems. + +Signed-off-by: Patrick Steinhardt +[ Changes by AF + - Apply to the QEMU tree inside of Xen +] +Signed-off-by: Alistair Francis +--- +Upstream Status: Pending review and acceptance + + tools/qemu-xen/hw/9pfs/9p.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/tools/qemu-xen/hw/9pfs/9p.c b/tools/qemu-xen/hw/9pfs/9p.c +index 96d2683348..48cd558e96 100644 +--- a/tools/qemu-xen/hw/9pfs/9p.c ++++ b/tools/qemu-xen/hw/9pfs/9p.c +@@ -13,6 +13,7 @@ + + #include "qemu/osdep.h" + #include ++#include + #include "hw/virtio/virtio.h" + #include "qapi/error.h" + #include "qemu/error-report.h" +-- +2.13.2 diff --git a/package/xen/0003-tools-libxc-xc_dom_arm-add-missing-variable-initiali.patch b/package/xen/0003-tools-libxc-xc_dom_arm-add-missing-variable-initiali.patch new file mode 100644 index 0000000000..e8d4b32f50 --- /dev/null +++ b/package/xen/0003-tools-libxc-xc_dom_arm-add-missing-variable-initiali.patch @@ -0,0 +1,41 @@ +From d4eece000391583a6e32a225d7eb5b573a5c5565 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sat, 19 Aug 2017 15:22:58 +0200 +Subject: [PATCH] tools/libxc/xc_dom_arm: add missing variable initialization + +The variable domctl.u.address_size.size may remain uninitialized if +guest_type is not one of xen-3.0-aarch64 or xen-3.0-armv7l. And the +code precisely checks if this variable is still 0 to decide if the +guest type is supported or not. + +This fixes the following build failure with gcc 7.x: + +xc_dom_arm.c:229:31: error: 'domctl.u.address_size.size' may be used uninitialized in this function [-Werror=maybe-uninitialized] + if ( domctl.u.address_size.size == 0 ) + +Patch originally taken from +https://www.mail-archive.com/xen-devel@lists.xen.org/msg109313.html. + +Signed-off-by: Bernd Kuhls +[Thomas: improved commit log, reformatted with Git.] +Signed-off-by: Thomas Petazzoni +--- + tools/libxc/xc_dom_arm.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/tools/libxc/xc_dom_arm.c b/tools/libxc/xc_dom_arm.c +index e7d4bd0..e669fb0 100644 +--- a/tools/libxc/xc_dom_arm.c ++++ b/tools/libxc/xc_dom_arm.c +@@ -223,6 +223,8 @@ static int set_mode(xc_interface *xch, domid_t domid, char *guest_type) + + domctl.domain = domid; + domctl.cmd = XEN_DOMCTL_set_address_size; ++ domctl.u.address_size.size = 0; ++ + for ( i = 0; i < ARRAY_SIZE(types); i++ ) + if ( !strcmp(types[i].guest, guest_type) ) + domctl.u.address_size.size = types[i].size; +-- +2.9.4 + diff --git a/package/xen/0003-tools-libxl-Disable-strict-Werror-checking.patch b/package/xen/0003-tools-libxl-Disable-strict-Werror-checking.patch deleted file mode 100644 index 80c0b3225e..0000000000 --- a/package/xen/0003-tools-libxl-Disable-strict-Werror-checking.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 19f1e70041044fde1542109a0525424cc6d5d053 Mon Sep 17 00:00:00 2001 -From: Alistair Francis -Date: Wed, 7 Dec 2016 11:35:10 -0800 -Subject: [PATCH] tools/libxl: Disable strict Werror checking - -Signed-off-by: Alistair Francis ---- - tools/libxl/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile -index defeb40..239faf3 100644 ---- a/tools/libxl/Makefile -+++ b/tools/libxl/Makefile -@@ -11,7 +11,7 @@ MINOR = 0 - XLUMAJOR = 4.7 - XLUMINOR = 0 - --CFLAGS += -Werror -Wno-format-zero-length -Wmissing-declarations \ -+CFLAGS += -Wno-format-zero-length -Wmissing-declarations \ - -Wno-declaration-after-statement -Wformat-nonliteral - CFLAGS += -I. -fPIC - --- -2.7.4 - diff --git a/package/xen/xen.hash b/package/xen/xen.hash index c3df2431e8..4a44d7a6d1 100644 --- a/package/xen/xen.hash +++ b/package/xen/xen.hash @@ -1,2 +1,13 @@ # Locally computed -sha256 e87f4b0575e78657ee23d31470a15ecf1ce8c3a92a771cda46bbcd4d0d671ffe xen-4.7.1.tar.gz +sha256 cade643fe3310d4d6f97d0c215c6fa323bc1130d7e64d7e2043ffaa73a96f33b xen-4.9.0.tar.gz +sha256 b09e07aaf422ae04a4ece5e2c5b5e54036cfae5b5c632bfc6953a0cacd6f60ff xsa226.patch +sha256 9923a47e5f86949800887596f098954a08ef73a01d74b1dbe16cab2e6b1fabb2 xsa227.patch +sha256 1979e111442517891b483e316a15a760a4c992ac4440f95e361ff12f4bebff62 xsa228.patch +sha256 77a73f1c32d083e315ef0b1bbb119cb8840ceb5ada790cad76cbfb9116f725cc xsa230.patch +sha256 71a53a5133c8d4e381dd0e3e54205d31dea545ab62b261084dd3aea140f88cad xsa231-4.9.patch +sha256 5068a78293daa58557c30c95141b775becfb650de6a5eda0d82a4a321ced551c xsa232.patch +sha256 f721cc49ba692b2f36299b631451f51d7340b8b4732f74c98f01cb7a80d8662b xsa233.patch +sha256 213f9d81a4ab785db67b9f579c9e88c9c8586c46b93f466a309060750df2df32 xsa234-4.9.patch +sha256 d8f012734fbf6019c1ff864744e308c41dfb9c7804ca3be2771c2c972cdf4bd5 xsa235-4.9.patch +sha256 526f9e1b127fbb316762ce8e8f4563bc9de0c55a1db581456a3017d570d35bdd 0001-xen-page_alloc-Cover-memory-unreserved-after-boot-in.patch +sha256 7164010112fcccd9cd88e72ace2eeabdb364dd6f4d05c434686267d18067f420 0002-xen-arm-Correctly-report-the-memory-region-in-the-du.patch diff --git a/package/xen/xen.mk b/package/xen/xen.mk index 7d32e52702..e07389e209 100644 --- a/package/xen/xen.mk +++ b/package/xen/xen.mk @@ -4,11 +4,24 @@ # ################################################################################ -XEN_VERSION = 4.7.1 -XEN_SITE = http://bits.xensource.com/oss-xen/release/$(XEN_VERSION) -XEN_LICENSE = GPLv2 +XEN_VERSION = 4.9.0 +XEN_SITE = https://downloads.xenproject.org/release/xen/$(XEN_VERSION) +XEN_PATCH = \ + https://xenbits.xenproject.org/xsa/xsa226.patch \ + https://xenbits.xenproject.org/xsa/xsa227.patch \ + https://xenbits.xenproject.org/xsa/xsa228.patch \ + https://xenbits.xenproject.org/xsa/xsa230.patch \ + https://xenbits.xenproject.org/xsa/xsa231-4.9.patch \ + https://xenbits.xenproject.org/xsa/xsa232.patch \ + https://xenbits.xenproject.org/xsa/xsa233.patch \ + https://xenbits.xenproject.org/xsa/xsa234-4.9.patch \ + https://xenbits.xenproject.org/xsa/xsa235-4.9.patch \ + https://xenbits.xenproject.org/xsa/xsa245/0001-xen-page_alloc-Cover-memory-unreserved-after-boot-in.patch \ + https://xenbits.xenproject.org/xsa/xsa245/0002-xen-arm-Correctly-report-the-memory-region-in-the-du.patch + +XEN_LICENSE = GPL-2.0 XEN_LICENSE_FILES = COPYING -XEN_DEPENDENCIES = host-python +XEN_DEPENDENCIES = host-acpica host-python # Calculate XEN_ARCH ifeq ($(ARCH),aarch64) @@ -19,10 +32,11 @@ endif XEN_CONF_OPTS = --disable-ocamltools -XEN_CONF_ENV = PYTHON=$(HOST_DIR)/usr/bin/python2 +XEN_CONF_ENV = PYTHON=$(HOST_DIR)/bin/python2 XEN_MAKE_ENV = \ XEN_TARGET_ARCH=$(XEN_ARCH) \ CROSS_COMPILE=$(TARGET_CROSS) \ + HOST_EXTRACFLAGS="-Wno-error" \ $(TARGET_CONFIGURE_OPTS) ifeq ($(BR2_PACKAGE_XEN_HYPERVISOR),y) diff --git a/package/xenomai/0001-bfin-remove-inline-keyword.patch b/package/xenomai/0001-bfin-remove-inline-keyword.patch deleted file mode 100644 index 376bd21c37..0000000000 --- a/package/xenomai/0001-bfin-remove-inline-keyword.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 2a96c8bbe19a193d9ae6d0780fc274abc4df03e3 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sat, 5 Nov 2016 19:09:00 +0100 -Subject: [PATCH] bfin: remove inline keyword - -Xenomai user space tools fail to build for bfin target since it's -provide it's own pthread_atfork(), shm_open() and shm_unlink() -definition using the inline keyword and weak attribute. - -With gcc 5+ the weak attribute is discarded by the inline keyword, -so each symbol are global and are redefined several time while -linking. - -Fixes: -http://autobuild.buildroot.net/results/0c2/0c2e5eb4edd4f9427f61d3c9b67a12a7a0e24140 - -Patch status: upstream, -https://git.xenomai.org/xenomai-2.6.git/commit/?id=917dcebb26ec492f276cdc3b55867aa90e01fa12 - -Signed-off-by: Romain Naour ---- - include/asm-blackfin/syscall.h | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/include/asm-blackfin/syscall.h b/include/asm-blackfin/syscall.h -index 9eda8b9..b5728b5 100644 ---- a/include/asm-blackfin/syscall.h -+++ b/include/asm-blackfin/syscall.h -@@ -132,9 +132,9 @@ static inline int __xn_interrupted_p(struct pt_regs *regs) - #define XENOMAI_SKINCALL5(id,op,a1,a2,a3,a4,a5) XENOMAI_DO_SYSCALL(5,id,op,a1,a2,a3,a4,a5) - - /* uClibc does not provide pthread_atfork() for this arch; provide it -- here. Note: let the compiler decides whether it wants to actually -- inline this routine, i.e. do not force always_inline. */ --inline __attribute__((weak)) int pthread_atfork(void (*prepare)(void), -+ here. -+*/ -+__attribute__((weak)) int pthread_atfork(void (*prepare)(void), - void (*parent)(void), - void (*child)(void)) - { -@@ -143,7 +143,7 @@ inline __attribute__((weak)) int pthread_atfork(void (*prepare)(void), - - #include - --inline __attribute__((weak)) int shm_open(const char *name, -+__attribute__((weak)) int shm_open(const char *name, - int oflag, - mode_t mode) - { -@@ -151,7 +151,7 @@ inline __attribute__((weak)) int shm_open(const char *name, - return -1; - } - --inline __attribute__((weak)) int shm_unlink(const char *name) -+__attribute__((weak)) int shm_unlink(const char *name) - { - errno = ENOSYS; - return -1; --- -2.5.5 - diff --git a/package/xenomai/Config.in b/package/xenomai/Config.in index 32c5124ef5..87a844d8bf 100644 --- a/package/xenomai/Config.in +++ b/package/xenomai/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_XENOMAI_ARCH_SUPPORTS bool default y depends on BR2_i386 || BR2_x86_64 || (BR2_arm && !BR2_ARM_CPU_ARMV7M) || \ - BR2_bfin || BR2_powerpc || BR2_sh4 + BR2_bfin || BR2_powerpc comment "xenomai needs an glibc or uClibc toolchain w/ threads" depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_MUSL @@ -51,6 +51,81 @@ config BR2_PACKAGE_XENOMAI_VERSION BR2_LINUX_KERNEL_EXT_XENOMAI_ADEOS_PATCH, in the Linux Kernel -> Linux Kernel Extensions menu. +choice + prompt "Xenomai core" + default BR2_PACKAGE_XENOMAI_MERCURY + help + Select the Xenomai core: dual kernel (Cobalt) + or native Linux Kernel (Mercury). + +config BR2_PACKAGE_XENOMAI_MERCURY + bool "Mercury" + depends on !BR2_LINUX_KERNEL_EXT_XENOMAI + help + Select Mercury core for the Xenomai userspace. + You want to use it if you have the native Linux Kernel. + +config BR2_PACKAGE_XENOMAI_COBALT + bool "Cobalt" + help + Select Cobalt core (dual kernel) for the Xenomai + userspace. Use this if you use a Xenomai-patched + Linux kernel. + + If you want to use Cobalt core, your kernel must have + the Adeos and Xenomai patches applied to it. You can + add these through the BR2_LINUX_KERNEL_EXT_XENOMAI option + in the Linux Kernel Extensions menu. +endchoice + +config BR2_PACKAGE_XENOMAI_ENABLE_SMP + bool "Enable SMP support" + default y + help + This option enables SMP support in Xenomai userspace. + + If this option is turned on while no SMP support is enabled + in the kernel, things will still work. However, if SMP is + enabled in the kernel but this option is not turned on, + Xenomai applications will complain with: + + feature mismatch: missing="smp/nosmp" + + Please refer to this troubleshooting guide for more + information: + + http://xenomai.org/troubleshooting-a-dual-kernel-configuration/#feature_mismatch_missing8221smpnosmp8221 + +config BR2_PACKAGE_XENOMAI_ENABLE_REGISTRY + bool "Enable registry" + depends on !BR2_STATIC_LIBS # libfuse + depends on BR2_TOOLCHAIN_HAS_THREADS # libfuse + depends on BR2_USE_MMU # libfuse + select BR2_PACKAGE_LIBFUSE + help + Xenomai APIs can export their internal state through a + pseudo-filesystem, whose files may be read to obtain + information about the existing real-time objects, such as + tasks, semaphores, message queues and so on. + +comment "registry needs a toolchain w/ threads, dynamic library" + depends on BR2_USE_MMU + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS + +config BR2_PACKAGE_XENOMAI_ENABLE_REGISTRY_PATH + string "Custom registry root path" + depends on BR2_PACKAGE_XENOMAI_ENABLE_REGISTRY + help + Specify the root path of the registry here. + To use the Xenomai default (currently: /var/run/xenomai), + leave this option empty. + +config BR2_PACKAGE_XENOMAI_ADDITIONAL_CONF_OPTS + string "Additional configure options" + help + Specify any additional options to pass to the configure + script here. See Xenomai documentation for details. + config BR2_PACKAGE_XENOMAI_TESTSUITE bool "Install testsuite" help @@ -67,41 +142,51 @@ config BR2_PACKAGE_XENOMAI_ANALOGY This option allows to install the Xenomai Analogy utilities and libraries +menu "Skin selection" + config BR2_PACKAGE_XENOMAI_NATIVE_SKIN - bool "Native skin library" + bool "Alchemy (native) skin" default y help - This option allows to install the Native Xenomai skin + This option allows to install the Alchemy Xenomai skin, previously + called 'native' config BR2_PACKAGE_XENOMAI_POSIX_SKIN - bool "POSIX skin library" + bool "POSIX skin" default y help This option allows to install the POSIX Xenomai skin -config BR2_PACKAGE_XENOMAI_VXWORKS_SKIN - bool "VX-Works skin library" - help - This option allows to install the VX-Works Xenomai skin - config BR2_PACKAGE_XENOMAI_PSOS_SKIN - bool "PSOS skin library" + bool "pSOS skin" help - This option allows to install the PSOS Xenomai skin + This option allows to install the pSOS Xenomai skin config BR2_PACKAGE_XENOMAI_RTAI_SKIN - bool "RTAI skin library" + bool "RTAI skin" help This option allows to install the RTAI Xenomai skin -config BR2_PACKAGE_XENOMAI_UITRON_SKIN - bool "uiTron skin library" +config BR2_PACKAGE_XENOMAI_SMOKEY_SKIN + bool "Smokey skin" help - This option allows to install the uiTron Xenomai skin + This option allows to install the Smokey Xenomai skin + +config BR2_PACKAGE_XENOMAI_UITRON_SKIN + bool "uITRON skin" + help + This option allows to install the uITRON Xenomai skin config BR2_PACKAGE_XENOMAI_VRTX_SKIN - bool "VRTX skin library" + bool "VRTX skin" help This option allows to install the VRTX Xenomai skin +config BR2_PACKAGE_XENOMAI_VXWORKS_SKIN + bool "VxWorks skin" + help + This option allows to install the VxWorks Xenomai skin + +endmenu + endif diff --git a/package/xenomai/xenomai.hash b/package/xenomai/xenomai.hash index 4d74472ee3..1290ca54fb 100644 --- a/package/xenomai/xenomai.hash +++ b/package/xenomai/xenomai.hash @@ -1,2 +1,2 @@ # Locally computed; -sha256 b6ff723cb0f3b1c2c4e15bccfd114b248dea1b4164a0ac0e612815379ce7caf8 xenomai-2.6.4.tar.bz2 +sha256 84836a43b6a996dcdcb42b0b1653a3271cc201df2a2d42c1b4b3bafb2cca7c63 xenomai-3.0.5.tar.bz2 diff --git a/package/xenomai/xenomai.mk b/package/xenomai/xenomai.mk index 6e0e441636..c53d5148f0 100644 --- a/package/xenomai/xenomai.mk +++ b/package/xenomai/xenomai.mk @@ -6,16 +6,26 @@ XENOMAI_VERSION = $(call qstrip,$(BR2_PACKAGE_XENOMAI_VERSION)) ifeq ($(XENOMAI_VERSION),) -XENOMAI_VERSION = 2.6.4 +XENOMAI_VERSION = 3.0.5 else BR_NO_CHECK_HASH_FOR += $(XENOMAI_SOURCE) endif -XENOMAI_SITE = https://xenomai.org/downloads/xenomai/stable +XENOMAI_SITE = http://xenomai.org/downloads/xenomai/stable XENOMAI_SOURCE = xenomai-$(XENOMAI_VERSION).tar.bz2 -XENOMAI_LICENSE = GPLv2+ with exception (headers), LGPLv2.1+ (libraries), GPLv2+ (kernel), GFDLv1.2+ (docs), GPLv2 (ipipe patch, can driver) +XENOMAI_LICENSE = GPL-2.0+ with exception (headers), LGPL-2.1+ (libraries), GPL-2.0+ (kernel), GFDL-1.2+ (docs), GPL-2.0 (ipipe patch, can driver) # GFDL is not included but refers to gnu.org -XENOMAI_LICENSE_FILES = debian/copyright include/COPYING src/skins/native/COPYING ksrc/nucleus/COPYING +XENOMAI_LICENSE_FILES = debian/copyright include/COPYING kernel/cobalt/COPYING \ + kernel/cobalt/posix/COPYING kernel/cobalt/rtdm/COPYING \ + lib/alchemy/COPYING lib/analogy/COPYING \ + lib/boilerplate/iniparser/LICENSE lib/boilerplate/COPYING \ + lib/cobalt/COPYING lib/copperplate/COPYING lib/psos/COPYING \ + lib/smokey/COPYING lib/trank/COPYING lib/vxworks/COPYING + +XENOMAI_DEPENDENCIES = host-pkgconf + +# 0002-boilerplate-build-obstack-support-conditionally.patch +XENOMAI_AUTORECONF = YES XENOMAI_INSTALL_STAGING = YES XENOMAI_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install-user @@ -23,24 +33,54 @@ XENOMAI_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) install-user XENOMAI_CONF_OPTS += --includedir=/usr/include/xenomai/ --disable-doc-install -define XENOMAI_REMOVE_DEVFILES - for i in xeno-config xeno-info wrap-link.sh ; do \ +ifeq ($(BR2_PACKAGE_XENOMAI_MERCURY),y) +XENOMAI_CONF_OPTS += --with-core=mercury +else +XENOMAI_CONF_OPTS += --with-core=cobalt +endif + +ifeq ($(BR2_PACKAGE_XENOMAI_ENABLE_SMP),y) +XENOMAI_CONF_OPTS += --enable-smp +else +XENOMAI_CONF_OPTS += --disable-smp +endif + +ifeq ($(BR2_PACKAGE_XENOMAI_ENABLE_REGISTRY),y) +XENOMAI_DEPENDENCIES += libfuse +XENOMAI_REGISTRY_PATH = $(call qstrip,$(BR2_PACKAGE_XENOMAI_ENABLE_REGISTRY_PATH)) +ifeq ($(XENOMAI_REGISTRY_PATH),) +XENOMAI_CONF_OPTS += --enable-registry +else +XENOMAI_CONF_OPTS += --enable-registry=$(XENOMAI_REGISTRY_PATH) +endif +else +XENOMAI_CONF_OPTS += --disable-registry +endif + +XENOMAI_CONF_OPTS += $(call qstrip,$(BR2_PACKAGE_XENOMAI_ADDITIONAL_CONF_OPTS)) + +# Some of these files may be desired by some users -- at that point specific +# config options need to be added to keep a particular set. +define XENOMAI_REMOVE_UNNEEDED_FILES + for i in xeno xeno-config xeno-info wrap-link.sh ; do \ rm -f $(TARGET_DIR)/usr/bin/$$i ; \ done + for i in autotune corectl hdb rtnet nomaccfg rtcfg rtifconfig \ + rtiwconfig rtping rtroute tdmacfg rtps slackspot version; do \ + rm -f $(TARGET_DIR)/usr/sbin/$$i ; \ + done endef -XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_DEVFILES +XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_UNNEEDED_FILES ifeq ($(BR2_PACKAGE_XENOMAI_TESTSUITE),) define XENOMAI_REMOVE_TESTSUITE rm -rf $(TARGET_DIR)/usr/share/xenomai/ - for i in klatency rtdm xeno xeno-load check-vdso \ - irqloop cond-torture-posix switchtest arith \ - sigtest clocktest cyclictest latency wakeup-time \ - xeno-test cond-torture-native mutex-torture-posix \ - mutex-torture-native ; do \ + for i in clocktest gpiotest latency spitest switchtest \ + xeno-test-run-wrapper dohell xeno-test-run xeno-test ; do \ rm -f $(TARGET_DIR)/usr/bin/$$i ; \ done + rm -rf $(TARGET_DIR)/usr/demo/ endef XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_TESTSUITE @@ -59,23 +99,26 @@ endif ifeq ($(BR2_PACKAGE_XENOMAI_ANALOGY),) define XENOMAI_REMOVE_ANALOGY - for i in cmd_bits cmd_read cmd_write insn_write \ - insn_bits insn_read ; do \ + for i in cmd_read cmd_write cmd_bits insn_read insn_write insn_bits \ + wf_generate ; do \ rm -f $(TARGET_DIR)/usr/bin/$$i ; \ done - rm -f $(TARGET_DIR)/usr/sbin/analogy_config + for i in analogy_config analogy_calibrate ; do \ + rm -f $(TARGET_DIR)/usr/sbin/$$i ; \ + done rm -f $(TARGET_DIR)/usr/lib/libanalogy.* endef XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_ANALOGY endif -XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_NATIVE_SKIN),,native) +XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_NATIVE_SKIN),,alchemy) XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_POSIX_SKIN),,posix) -XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_VXWORKS_SKIN),,vxworks) XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_PSOS_SKIN),,psos) XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_RTAI_SKIN),,rtai) +XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_SMOKEY_SKIN),,smokey) XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_UITRON_SKIN),,uitron) +XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_VXWORKS_SKIN),,vxworks) XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_VRTX_SKIN),,vrtx) define XENOMAI_REMOVE_SKINS @@ -84,15 +127,18 @@ define XENOMAI_REMOVE_SKINS if [ $$i == "posix" ] ; then \ rm -f $(TARGET_DIR)/usr/lib/posix.wrappers ; \ fi ; \ + if [ $$i == "smokey" ] ; then \ + rm -f $(TARGET_DIR)/usr/bin/smokey* ; \ + fi ; \ done endef XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_SKINS define XENOMAI_DEVICES -/dev/rtheap c 666 0 0 10 254 0 0 - -/dev/rtscope c 666 0 0 10 253 0 0 - -/dev/rtp c 666 0 0 150 0 0 1 32 + /dev/rtheap c 666 0 0 10 254 0 0 - + /dev/rtscope c 666 0 0 10 253 0 0 - + /dev/rtp c 666 0 0 150 0 0 1 32 endef ifeq ($(BR2_PACKAGE_HAS_UDEV),y) @@ -100,7 +146,7 @@ XENOMAI_DEPENDENCIES += udev define XENOMAI_INSTALL_UDEV_RULES if test -d $(TARGET_DIR)/etc/udev/rules.d ; then \ - for f in $(@D)/ksrc/nucleus/udev/*.rules ; do \ + for f in $(@D)/kernel/cobalt/udev/*.rules ; do \ cp $$f $(TARGET_DIR)/etc/udev/rules.d/ || exit 1 ; \ done ; \ fi; diff --git a/package/xfsprogs/0003-xfsprogs-don-t-use-CFLAGS-with-BUILD_CC.patch b/package/xfsprogs/0003-xfsprogs-don-t-use-CFLAGS-with-BUILD_CC.patch deleted file mode 100644 index 36896b5b95..0000000000 --- a/package/xfsprogs/0003-xfsprogs-don-t-use-CFLAGS-with-BUILD_CC.patch +++ /dev/null @@ -1,38 +0,0 @@ -From b981adb6769f6b7d80f6c98627391398a007a25b Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Tue, 15 Dec 2015 20:51:35 -0300 -Subject: [PATCH] xfsprogs: don't use CFLAGS with BUILD_CC - -When cross-compiling CFLAGS might not be suitable for the host -(BUILD_CC) compiler since it might contain arch-specific options. - -Signed-off-by: Gustavo Zacarias ---- - libxfs/Makefile | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/libxfs/Makefile b/libxfs/Makefile -index e021625..ad76a04 100644 ---- a/libxfs/Makefile -+++ b/libxfs/Makefile -@@ -118,7 +118,7 @@ default: ltdepend $(LTLIBRARY) - - crc32table.h: gen_crc32table.c - @echo " [CC] gen_crc32table" -- $(Q) $(BUILD_CC) $(CFLAGS) -o gen_crc32table $< -+ $(Q) $(BUILD_CC) -o gen_crc32table $< - @echo " [GENERATE] $@" - $(Q) ./gen_crc32table > crc32table.h - -@@ -129,7 +129,7 @@ crc32table.h: gen_crc32table.c - # disk. - crc32selftest: gen_crc32table.c crc32table.h crc32.c - @echo " [TEST] CRC32" -- $(Q) $(BUILD_CC) $(CFLAGS) -D CRC32_SELFTEST=1 crc32.c -o $@ -+ $(Q) $(BUILD_CC) -D CRC32_SELFTEST=1 crc32.c -o $@ - $(Q) ./$@ - - # set up include/xfs header directory --- -2.7.4 - diff --git a/package/xfsprogs/0004-build-add-EXTRALIBS-to-link-with.patch b/package/xfsprogs/0004-build-add-EXTRALIBS-to-link-with.patch deleted file mode 100644 index 8ff0580f6b..0000000000 --- a/package/xfsprogs/0004-build-add-EXTRALIBS-to-link-with.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 1e9bb2fba94bc508659f1667bf95501324849bb9 Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Sun, 26 Feb 2017 12:04:54 +0100 -Subject: [PATCH] build: add EXTRALIBS to link with - -When doing a uClibc static build, the build fails to link: - http://autobuild.buildroot.org/results/503/50314716a9f72e8bb238e52e9dc342c68f7e0b8b/build-end.log - -The cause is due to: - - xfsprogs links dome programs with util-linux' libblkid - - util-linux' libblkid is linked to util-linux' libuuid - - util-linux' libuuid uses i18n functions when locales are enabled - - uClibc does not provide i18n functions - - i18n functions are provided by libintl from libintl from gettext - -util-linux installs pkg-config files for thos two libs. However, -xfsprogs does not use pkg-config to find libblkid or libuuid, thus it -misses the Libs.private field from libuid. - -In this case, it is necessary to pass LIBS=-lintl at configure time, so -that configure correctly finds libblkid. - -Still, this is not enough, because the build will not use LIBS during -the link phase. - -We fix that last bit by adding EXTRALIBS to the libraries to link with, -so that it is possible to pass EXTRALIBS=-lintl at build time: - - $ ./configure [...] LIBS=-lintl - $ make EXTRALIBS=-lintl - -Signed-off-by: "Yann E. MORIN" -Cc: Waldemar Brodkorb ---- - include/buildmacros | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/buildmacros b/include/buildmacros -index a7c5d8a..dd62d80 100644 ---- a/include/buildmacros -+++ b/include/buildmacros -@@ -11,7 +11,7 @@ BUILDRULES = $(TOPDIR)/include/buildrules - - LDFLAGS += $(LOADERFLAGS) $(LLDFLAGS) - LTLDFLAGS += $(LOADERFLAGS) --LDLIBS = $(LLDLIBS) $(PLDLIBS) $(MALLOCLIB) -+LDLIBS = $(LLDLIBS) $(PLDLIBS) $(MALLOCLIB) $(EXTRALIBS) - - MAKEOPTS = --no-print-directory Q=$(Q) - SRCFILES = Makefile $(HFILES) $(CFILES) $(LSRCFILES) $(LFILES) $(YFILES) --- -2.7.4 - diff --git a/package/xfsprogs/Config.in b/package/xfsprogs/Config.in index 9f0d2509c0..fb603ad4b9 100644 --- a/package/xfsprogs/Config.in +++ b/package/xfsprogs/Config.in @@ -5,7 +5,7 @@ comment "xfsprogs needs a glibc or uClibc toolchain w/ threads" config BR2_PACKAGE_XFSPROGS bool "xfsprogs" depends on BR2_USE_MMU # fork() - depends on !BR2_TOOLCHAIN_USES_MUSL + depends on !BR2_TOOLCHAIN_USES_MUSL # missing __[u]int*_t depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBUUID diff --git a/package/xfsprogs/xfsprogs.hash b/package/xfsprogs/xfsprogs.hash index e990b78d77..edb2933c36 100644 --- a/package/xfsprogs/xfsprogs.hash +++ b/package/xfsprogs/xfsprogs.hash @@ -1,3 +1,2 @@ -# Locally calculated after checking pgp signature: -# https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/xfsprogs-4.8.0.tar.sign -sha256 82ce9cb3a55f4e208e8fe3471ff0aff0602b8300f3e50bdf05cc7e11549686f9 xfsprogs-4.8.0.tar.xz +# From https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/sha256sums.asc +sha256 c3a6d87b564d7738243c507df82276bed982265e345363a95f2c764e8a5f5bb2 xfsprogs-4.11.0.tar.xz diff --git a/package/xfsprogs/xfsprogs.mk b/package/xfsprogs/xfsprogs.mk index c110733c83..2f708f1fa4 100644 --- a/package/xfsprogs/xfsprogs.mk +++ b/package/xfsprogs/xfsprogs.mk @@ -4,7 +4,7 @@ # ################################################################################ -XFSPROGS_VERSION = 4.8.0 +XFSPROGS_VERSION = 4.11.0 XFSPROGS_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/fs/xfs/xfsprogs XFSPROGS_SOURCE = xfsprogs-$(XFSPROGS_VERSION).tar.xz @@ -18,23 +18,6 @@ XFSPROGS_CONF_OPTS = \ INSTALL_GROUP=root \ --enable-static -# xfsprogs links some of its programs to libs from util-linux, which use -# i18n functions. For shared-only builds, that's automatically pulled in. -# Static builds need some help, though... -# -# No need to depend on gettext in this case: xfsprogs does not use it for -# itself; util-linux does need it and has it in its own dependencies. -# -# xfsprogs' buildsystem uses hand-made Makefiles, not automake, and they -# do not use the LIBS variable set by configure. So we use EXTRALIBS that -# is added by our patch. -# -# It is not needed to propagate the EXTRALIBS to the install step. -ifeq ($(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS)$(BR2_NEEDS_GETTEXT_IF_LOCALE),yy) -XFSPROGS_CONF_OPTS += LIBS=-lintl -XFSPROGS_MAKE_OPTS = EXTRALIBS=-lintl -endif - XFSPROGS_INSTALL_TARGET_OPTS = DIST_ROOT=$(TARGET_DIR) install $(eval $(autotools-package)) diff --git a/package/xl2tp/Config.in b/package/xl2tp/Config.in index f0b1e834ae..7e2d2f6e97 100644 --- a/package/xl2tp/Config.in +++ b/package/xl2tp/Config.in @@ -2,7 +2,6 @@ config BR2_PACKAGE_XL2TP bool "xl2tp" depends on BR2_USE_MMU # fork() select BR2_PACKAGE_LIBPCAP - select BR2_PACKAGE_OPENSSL help Layer 2 Tunnelling Protocol (RFC2661). diff --git a/package/xl2tp/xl2tp.mk b/package/xl2tp/xl2tp.mk index ff802a4e97..eee5c04de8 100644 --- a/package/xl2tp/xl2tp.mk +++ b/package/xl2tp/xl2tp.mk @@ -6,8 +6,8 @@ XL2TP_VERSION = v1.3.8 XL2TP_SITE = $(call github,xelerance,xl2tpd,$(XL2TP_VERSION)) -XL2TP_DEPENDENCIES = libpcap openssl -XL2TP_LICENSE = GPLv2 +XL2TP_DEPENDENCIES = libpcap +XL2TP_LICENSE = GPL-2.0 XL2TP_LICENSE_FILES = LICENSE ifeq ($(BR2_STATIC_LIBS),y) diff --git a/package/xmlstarlet/xmlstarlet.mk b/package/xmlstarlet/xmlstarlet.mk index 61d38f29ff..1d748dc594 100644 --- a/package/xmlstarlet/xmlstarlet.mk +++ b/package/xmlstarlet/xmlstarlet.mk @@ -19,9 +19,16 @@ XMLSTARLET_CONF_OPTS += \ ifeq ($(BR2_STATIC_LIBS),y) XMLSTARLET_CONF_OPTS += --enable-static-libs -XMLSTARLET_CONF_ENV = LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs libxml-2.0 libexslt` $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),-lintl)" +XMLSTARLET_CONF_ENV = LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs libxml-2.0 libexslt`" else XMLSTARLET_CONF_OPTS += --disable-static-libs endif +HOST_XMLSTARLET_DEPENDENCIES += host-libxml2 host-libxslt + +HOST_XMLSTARLET_CONF_OPTS += \ + --with-libxml-prefix=$(HOST_DIR)/usr \ + --with-libxslt-prefix=$(HOST_DIR)/usr + $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/xorriso/0001-fix-musl-build.patch b/package/xorriso/0001-fix-musl-build.patch deleted file mode 100644 index 86d251d747..0000000000 --- a/package/xorriso/0001-fix-musl-build.patch +++ /dev/null @@ -1,20 +0,0 @@ -Fix musl build - -Add missing header needed for ssize_t. - -Signed-off-by: Baruch Siach ---- -Patch status: posted upstream -(http://lists.gnu.org/archive/html/bug-xorriso/2016-05/msg00000.html) - -diff -Nuar xorriso-1.4.2-orig/libisofs/aaip_0_2.h xorriso-1.4.2/libisofs/aaip_0_2.h ---- xorriso-1.4.2-orig/libisofs/aaip_0_2.h 2015-11-28 16:41:33.000000000 +0200 -+++ xorriso-1.4.2/libisofs/aaip_0_2.h 2016-05-24 11:40:43.874191174 +0300 -@@ -16,6 +16,7 @@ - #ifndef Aaip_h_is_includeD - #define Aaip_h_is_includeD yes - -+#include - - /* --------------------------------- Encoder ---------------------------- */ - diff --git a/package/xorriso/Config.in b/package/xorriso/Config.in index f9bb10ac9c..60b2642daf 100644 --- a/package/xorriso/Config.in +++ b/package/xorriso/Config.in @@ -1,9 +1,9 @@ config BR2_PACKAGE_XORRISO bool "xorriso" - select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE help xorriso copies file objects from POSIX compliant filesystems into Rock Ridge enhanced ISO 9660 filesystems diff --git a/package/xorriso/xorriso.hash b/package/xorriso/xorriso.hash index 3c2a726eff..f1ee9d67ad 100644 --- a/package/xorriso/xorriso.hash +++ b/package/xorriso/xorriso.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 2843beded1aa4c678706e96fdf9cc5e4b34430b559bdf5bc35df5202125004b3 xorriso-1.4.2.tar.gz +sha256 526f728c7eee6f8c4b69fbf391789e6c80806197c2861cf5922cf7cfe1035784 xorriso-1.4.6.tar.gz diff --git a/package/xorriso/xorriso.mk b/package/xorriso/xorriso.mk index be193221ec..1f095911f8 100644 --- a/package/xorriso/xorriso.mk +++ b/package/xorriso/xorriso.mk @@ -4,9 +4,9 @@ # ################################################################################ -XORRISO_VERSION = 1.4.2 +XORRISO_VERSION = 1.4.6 XORRISO_SITE = $(BR2_GNU_MIRROR)/xorriso -XORRISO_LICENSE = GPLv3+ +XORRISO_LICENSE = GPL-3.0+ XORRISO_LICENSE_FILES = COPYING COPYRIGHT # Disable everything until we actually need those features, and add the correct # host libraries @@ -18,19 +18,14 @@ HOST_XORRISO_CONF_OPTS = \ --disable-libedit \ --disable-libacl +# libcdio doesn't make sense for Linux +# http://lists.gnu.org/archive/html/bug-xorriso/2017-04/msg00004.html +XORRISO_CONF_OPTS = --disable-libcdio + ifeq ($(BR2_PACKAGE_LIBICONV),y) XORRISO_DEPENDENCIES += libiconv endif -ifeq ($(BR2_PACKAGE_LIBCDIO),y) -XORRISO_DEPENDENCIES += host-pkgconf libcdio -XORRISO_CONF_OPTS += \ - --enable-pkg-check-modules \ - --enable-libcdio -else -XORRISO_CONF_OPTS += --disable-libcdio -endif - ifeq ($(BR2_PACKAGE_READLINE),y) XORRISO_DEPENDENCIES += readline XORRISO_CONF_OPTS += --enable-libreadline diff --git a/package/xr819-xradio/Config.in b/package/xr819-xradio/Config.in new file mode 100644 index 0000000000..9d7fa4b0f1 --- /dev/null +++ b/package/xr819-xradio/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_XR819_XRADIO + bool "xr819-xradio" + depends on BR2_LINUX_KERNEL + help + Wireless driver for SDIO WiFi chip XR819 + + https://github.com/fifteenhex/xradio + +comment "xr819-xradio driver needs a Linux kernel to be built" + depends on !BR2_LINUX_KERNEL diff --git a/package/xr819-xradio/xr819-xradio.hash b/package/xr819-xradio/xr819-xradio.hash new file mode 100644 index 0000000000..75e3c496bd --- /dev/null +++ b/package/xr819-xradio/xr819-xradio.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 91095bd2d49d54c5e26919dc0c767be56eb0a2430c133d0bacdc814e97a5df4c xr819-xradio-c03a053a9e731d56c89c0c09627e886db2a0e04e.tar.gz diff --git a/package/xr819-xradio/xr819-xradio.mk b/package/xr819-xradio/xr819-xradio.mk new file mode 100644 index 0000000000..429c665dea --- /dev/null +++ b/package/xr819-xradio/xr819-xradio.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# xr819-xradio +# +################################################################################ + +XR819_XRADIO_VERSION = c03a053a9e731d56c89c0c09627e886db2a0e04e +XR819_XRADIO_SITE = $(call github,fifteenhex,xradio,$(XR819_XRADIO_VERSION)) +XR819_XRADIO_LICENSE = GPL-2.0 +XR819_XRADIO_LICENSE_FILES = LICENSE + +$(eval $(kernel-module)) +$(eval $(generic-package)) diff --git a/package/xscreensaver/Config.in b/package/xscreensaver/Config.in index 5213ce3695..032eab2ae3 100644 --- a/package/xscreensaver/Config.in +++ b/package/xscreensaver/Config.in @@ -11,7 +11,6 @@ config BR2_PACKAGE_XSCREENSAVER select BR2_PACKAGE_JPEG select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXT - select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE help XScreenSaver is the standard screen saver collection shipped on most Linux and Unix systems running the X11 Window System. diff --git a/package/xscreensaver/xscreensaver.hash b/package/xscreensaver/xscreensaver.hash index 7e7a07e3e3..48bc2b1eb2 100644 --- a/package/xscreensaver/xscreensaver.hash +++ b/package/xscreensaver/xscreensaver.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 4252a6079d2d2f5b342e8bdd172cbad5f0af73daf4e412b61a68344d91ca93bd xscreensaver-5.32.tar.gz +sha256 6b8b5238047f1613d99149bb02d5ed3384675f3ce74a0a8ba25290bd61abc06c xscreensaver-5.36.tar.gz diff --git a/package/xscreensaver/xscreensaver.mk b/package/xscreensaver/xscreensaver.mk index 831349be4c..34b116387b 100644 --- a/package/xscreensaver/xscreensaver.mk +++ b/package/xscreensaver/xscreensaver.mk @@ -4,15 +4,15 @@ # ################################################################################ -XSCREENSAVER_VERSION = 5.32 -XSCREENSAVER_SITE = http://www.jwz.org/xscreensaver +XSCREENSAVER_VERSION = 5.36 +XSCREENSAVER_SITE = https://www.jwz.org/xscreensaver -# N.B. GPLv2+ code (in the hacks/glx subdirectory) is not currently built. -XSCREENSAVER_LICENSE = MIT-like, GPLv2+ +# N.B. GPL-2.0+ code (in the hacks/glx subdirectory) is not currently built. +XSCREENSAVER_LICENSE = MIT-like, GPL-2.0+ XSCREENSAVER_LICENSE_FILES = hacks/screenhack.h hacks/glx/chessmodels.h XSCREENSAVER_DEPENDENCIES = jpeg libglade libgtk2 xlib_libX11 xlib_libXt \ - $(if $(BR2_PACKAGE_GETTEXT),gettext) host-intltool + $(TARGET_NLS_DEPENDENCIES) host-intltool # otherwise we end up with host include/library dirs passed to the # compiler/linker diff --git a/package/xtables-addons/xtables-addons.mk b/package/xtables-addons/xtables-addons.mk index 274e681818..5c3be16052 100644 --- a/package/xtables-addons/xtables-addons.mk +++ b/package/xtables-addons/xtables-addons.mk @@ -8,7 +8,7 @@ XTABLES_ADDONS_VERSION = 2.12 XTABLES_ADDONS_SOURCE = xtables-addons-$(XTABLES_ADDONS_VERSION).tar.xz XTABLES_ADDONS_SITE = http://downloads.sourceforge.net/project/xtables-addons/Xtables-addons XTABLES_ADDONS_DEPENDENCIES = iptables linux host-pkgconf -XTABLES_ADDONS_LICENSE = GPLv2+ +XTABLES_ADDONS_LICENSE = GPL-2.0+ XTABLES_ADDONS_LICENSE_FILES = LICENSE XTABLES_ADDONS_CONF_OPTS = \ diff --git a/package/xterm/Config.in b/package/xterm/Config.in index f11aafad7a..f3bc4500a8 100644 --- a/package/xterm/Config.in +++ b/package/xterm/Config.in @@ -1,11 +1,11 @@ config BR2_PACKAGE_XTERM bool "xterm" - select BR2_PACKAGE_NCURSES - select BR2_PACKAGE_XLIB_LIBXAW depends on BR2_PACKAGE_XORG7 depends on BR2_USE_MMU # fork() # ARC toolchain issue depends on !BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC + select BR2_PACKAGE_NCURSES + select BR2_PACKAGE_XLIB_LIBXAW help xterm terminal emulator diff --git a/package/xvisor/0001-Makefile-Fix-oldconfig-make-target.patch b/package/xvisor/0001-Makefile-Fix-oldconfig-make-target.patch deleted file mode 100644 index f056625470..0000000000 --- a/package/xvisor/0001-Makefile-Fix-oldconfig-make-target.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 99bbdc042ee4c92a13edcfeaf336aa755a199d0f Mon Sep 17 00:00:00 2001 -From: Anup Patel -Date: Sun, 11 Sep 2016 19:53:40 +0530 -Subject: [PATCH] Makefile: Fix oldconfig make target - -Use "-s" instead of "-o" option of "openconf/conf" tool because -the "-o" option does not generate all required openconf files. - -Signed-off-by: Anup Patel -Signed-off-by: Eric Le Bihan ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index 149a682..e05e801 100644 ---- a/Makefile -+++ b/Makefile -@@ -434,7 +434,7 @@ menuconfig: - oldconfig: - $(V)mkdir -p $(OPENCONF_TMPDIR) - $(V)$(MAKE) -C tools/openconf oldconfig -- ./tools/openconf/conf -o $(OPENCONF_INPUT) -+ ./tools/openconf/conf -s $(OPENCONF_INPUT) - - # Rule for "make savedefconfig" - .PHONY: savedefconfig --- -2.4.11 - diff --git a/package/xvisor/0002-openconf-do-not-check-stdin.patch b/package/xvisor/0002-openconf-do-not-check-stdin.patch deleted file mode 100644 index 34b350de42..0000000000 --- a/package/xvisor/0002-openconf-do-not-check-stdin.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 6b49c1dbe0ac43e39eec97a7e79cf5fb995747dc Mon Sep 17 00:00:00 2001 -From: Eric Le Bihan -Date: Mon, 12 Sep 2016 21:49:55 +0530 -Subject: [PATCH] openconf: do not check stdin - -Do not check if stdin is redirected when ask_silent is true, so the -`yes` program can be used to answer the questions about new values. - -Example: - - yes "" | make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- oldconfig - -Signed-off-by: Eric Le Bihan -Signed-off-by: Anup Patel ---- - tools/openconf/conf.c | 12 ------------ - 1 file changed, 12 deletions(-) - -diff --git a/tools/openconf/conf.c b/tools/openconf/conf.c -index a428058..711cf0b 100644 ---- a/tools/openconf/conf.c -+++ b/tools/openconf/conf.c -@@ -65,16 +65,6 @@ static void strip(char *str) - *p-- = 0; - } - --static void check_stdin(void) --{ -- if (!valid_stdin) { -- printf("aborted!\n\n"); -- printf("Console input/output is redirected. "); -- printf("Run 'make oldconfig' to update configuration.\n\n"); -- exit(1); -- } --} -- - static int conf_askvalue(struct symbol *sym, const char *def) - { - char *ret; -@@ -100,7 +90,6 @@ static int conf_askvalue(struct symbol *sym, const char *def) - printf("%s\n", def); - return 0; - } -- check_stdin(); - case ask_all: - fflush(stdout); - ret = fgets(line, 128, stdin); -@@ -306,7 +295,6 @@ static int conf_choice(struct menu *menu) - printf("%d\n", cnt); - break; - } -- check_stdin(); - case ask_all: - fflush(stdout); - ret = fgets(line, 128, stdin); --- -2.4.11 - diff --git a/package/xvisor/Config.in b/package/xvisor/Config.in index 996d37afbe..c9f74290ac 100644 --- a/package/xvisor/Config.in +++ b/package/xvisor/Config.in @@ -32,12 +32,12 @@ endchoice config BR2_PACKAGE_XVISOR_DEFCONFIG string "Defconfig name" - depends on BR2_PACKAGE_XVISOR_USE_DEFCONFIG default "generic-v5" if BR2_ARM_CPU_ARMV5 default "generic-v6" if BR2_ARM_CPU_ARMV6 default "generic-v7" if BR2_ARM_CPU_ARMV7A - default "generic-v8" if BR2_AARCH64 + default "generic-v8" if BR2_aarch64 default "x86_64_generic" if BR2_x86_64 + depends on BR2_PACKAGE_XVISOR_USE_DEFCONFIG help Name of the Xvisor defconfig file to use, without the trailing -defconfig. The defconfig is located in diff --git a/package/xvisor/xvisor.hash b/package/xvisor/xvisor.hash index 13335beb6d..c170fdb9f8 100644 --- a/package/xvisor/xvisor.hash +++ b/package/xvisor/xvisor.hash @@ -1,2 +1,2 @@ # Locally generated -sha256 9347080c3481fb8586d196dd51a580a57084bfea1bc425e89f7fa0da7170708a xvisor-0.2.8.tar.gz +sha256 29b3b830380dde4f596611abd34487fb753e120ce462dbb0056f3025b88ef14f xvisor-0.2.9.tar.gz diff --git a/package/xvisor/xvisor.mk b/package/xvisor/xvisor.mk index a9a5dbfaec..f75175a45c 100644 --- a/package/xvisor/xvisor.mk +++ b/package/xvisor/xvisor.mk @@ -4,12 +4,13 @@ # ################################################################################ -XVISOR_VERSION = 0.2.8 +XVISOR_VERSION = 0.2.9 XVISOR_SITE = http://www.xhypervisor.org/tarball -XVISOR_LICENSE = GPLv2+ +XVISOR_LICENSE = GPL-2.0+ XVISOR_LICENSE_FILES = COPYING XVISOR_INSTALL_IMAGES = YES XVISOR_INSTALL_TARGET = NO +XVISOR_DEPENDENCIES = host-bison host-flex XVISOR_MAKE_TARGETS = all @@ -26,8 +27,20 @@ XVISOR_KCONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_XVISOR_CUSTOM_CONFIG_FILE)) endif XVISOR_KCONFIG_EDITORS = menuconfig +ifeq ($(BR2_x86_64),y) +XVISOR_ARCH = x86 +else ifeq ($(BR2_arm)$(BR2_aarch64),y) +XVISOR_ARCH = arm +endif + +ifeq ($(BR2_PACKAGE_XVISOR)$(BR_BUILDING),yy) +ifeq ($(XVISOR_ARCH),) +$(error "Architecture not supported by XVisor") +endif +endif + XVISOR_MAKE_ENV = \ - ARCH=$(if $(BR2_x86_64),x86,$(BR2_ARCH)) \ + ARCH=$(XVISOR_ARCH) \ CROSS_COMPILE=$(TARGET_CROSS) XVISOR_MAKE_OPTS = $(if $(VERBOSE),VERBOSE=1) diff --git a/package/xvkbd/xvkbd.mk b/package/xvkbd/xvkbd.mk index 14e3f42f67..132d7e1f0c 100644 --- a/package/xvkbd/xvkbd.mk +++ b/package/xvkbd/xvkbd.mk @@ -6,7 +6,7 @@ XVKBD_VERSION = 3.7 XVKBD_SITE = http://t-sato.in.coocan.jp/xvkbd -XVKBD_LICENSE = GPLv2+ +XVKBD_LICENSE = GPL-2.0+ XVKBD_LICENSE_FILES = README # Passing USRLIBDIR ensures that the stupid Makefile doesn't add diff --git a/package/xxhash/xxhash.mk b/package/xxhash/xxhash.mk index 47ead7507e..7e04066340 100644 --- a/package/xxhash/xxhash.mk +++ b/package/xxhash/xxhash.mk @@ -6,7 +6,7 @@ XXHASH_VERSION = r40 XXHASH_SITE = $(call github,Cyan4973,xxHash,$(XXHASH_VERSION)) -XXHASH_LICENSE = BSD-2c, GPLv2+ +XXHASH_LICENSE = BSD-2-Clause, GPL-2.0+ XXHASH_LICENSE_FILES = LICENSE xxhsum.c define XXHASH_BUILD_CMDS diff --git a/package/xz/xz.mk b/package/xz/xz.mk index 40adb3d107..e8116f24ae 100644 --- a/package/xz/xz.mk +++ b/package/xz/xz.mk @@ -9,7 +9,7 @@ XZ_SOURCE = xz-$(XZ_VERSION).tar.bz2 XZ_SITE = http://tukaani.org/xz XZ_INSTALL_STAGING = YES XZ_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' -XZ_LICENSE = GPLv2+, GPLv3+, LGPLv2.1+ +XZ_LICENSE = GPL-2.0+, GPL-3.0+, LGPL-2.1+ XZ_LICENSE_FILES = COPYING.GPLv2 COPYING.GPLv3 COPYING.LGPLv2.1 ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) diff --git a/package/yad/yad.mk b/package/yad/yad.mk index a7f5ba2589..d674316cf3 100644 --- a/package/yad/yad.mk +++ b/package/yad/yad.mk @@ -7,7 +7,7 @@ YAD_VERSION = 0.33.1 YAD_SOURCE = yad-$(YAD_VERSION).tar.xz YAD_SITE = http://sourceforge.net/projects/yad-dialog/files -YAD_LICENSE = GPLv3 +YAD_LICENSE = GPL-3.0 YAD_LICENSE_FILES = COPYING YAD_DEPENDENCIES = host-intltool host-pkgconf YAD_CONF_OPTS = --enable-html=no diff --git a/package/yaffs2utils/yaffs2utils.mk b/package/yaffs2utils/yaffs2utils.mk index fdd5f67e45..c2a87eac7b 100644 --- a/package/yaffs2utils/yaffs2utils.mk +++ b/package/yaffs2utils/yaffs2utils.mk @@ -7,7 +7,7 @@ YAFFS2UTILS_VERSION = 0.2.9 YAFFS2UTILS_SOURCE = $(YAFFS2UTILS_VERSION).tar.gz YAFFS2UTILS_SITE = https://yaffs2utils.googlecode.com/files -YAFFS2UTILS_LICENSE = GPLv2 +YAFFS2UTILS_LICENSE = GPL-2.0 YAFFS2UTILS_LICENSE_FILES = COPYING define HOST_YAFFS2UTILS_BUILD_CMDS @@ -15,7 +15,7 @@ define HOST_YAFFS2UTILS_BUILD_CMDS endef define HOST_YAFFS2UTILS_INSTALL_CMDS - $(HOST_MAKE_ENV) $(MAKE) -C $(@D) INSTALLDIR=$(HOST_DIR)/usr/bin install + $(HOST_MAKE_ENV) $(MAKE) -C $(@D) INSTALLDIR=$(HOST_DIR)/bin install endef $(eval $(host-generic-package)) diff --git a/package/yaml-cpp/Config.in b/package/yaml-cpp/Config.in index c1ba410a6b..6d34f4210e 100644 --- a/package/yaml-cpp/Config.in +++ b/package/yaml-cpp/Config.in @@ -8,7 +8,7 @@ config BR2_PACKAGE_YAML_CPP yaml-cpp is a YAML parser and emitter in C++ matching the YAML 1.2 spec. - https://code.google.com/p/yaml-cpp/ + https://github.com/jbeder/yaml-cpp comment "yaml-cpp needs a toolchain w/ C++, threads, wchar" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR diff --git a/package/yasm/yasm.mk b/package/yasm/yasm.mk index 1980034429..b294bd3aee 100644 --- a/package/yasm/yasm.mk +++ b/package/yasm/yasm.mk @@ -6,7 +6,7 @@ YASM_VERSION = 1.3.0 YASM_SITE = http://www.tortall.net/projects/yasm/releases -YASM_LICENSE = BSD-2c, BSD-3c, Artistic, GPLv2, LGPLv2 +YASM_LICENSE = BSD-2-Clause, BSD-3-Clause, Artistic, GPL-2.0, LGPL-2.0 YASM_LICENSE_FILES = COPYING BSD.txt Artistic.txt GNU_GPL-2.0 GNU_LGPL-2.0 # This sed prevents it compiling 2 programs (vsyasm and ytasm) diff --git a/package/yavta/yavta.mk b/package/yavta/yavta.mk index 04af2a63c1..4e3d76e3de 100644 --- a/package/yavta/yavta.mk +++ b/package/yavta/yavta.mk @@ -6,7 +6,7 @@ YAVTA_VERSION = 82ff2efdb9787737b9f21b6f4759f077c827b238 YAVTA_SITE = git://git.ideasonboard.org/yavta.git -YAVTA_LICENSE = GPLv2+ +YAVTA_LICENSE = GPL-2.0+ YAVTA_LICENSE_FILES = COPYING.GPL define YAVTA_BUILD_CMDS diff --git a/package/ympd/Config.in b/package/ympd/Config.in index d0901c71ef..39b3a86d07 100644 --- a/package/ympd/Config.in +++ b/package/ympd/Config.in @@ -1,9 +1,9 @@ config BR2_PACKAGE_YMPD bool "ympd" - select BR2_PACKAGE_LIBMPDCLIENT depends on BR2_USE_MMU # fork() depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_LIBMPDCLIENT help ympd, a standalone MPD Web GUI written in C, utilizing Websockets and Bootstrap/JS diff --git a/package/ympd/ympd.mk b/package/ympd/ympd.mk index 61e9cab8b8..a50aee074e 100644 --- a/package/ympd/ympd.mk +++ b/package/ympd/ympd.mk @@ -6,7 +6,7 @@ YMPD_VERSION = v1.2.3 YMPD_SITE = $(call github,notandy,ympd,$(YMPD_VERSION)) -YMPD_LICENSE = GPLv2 +YMPD_LICENSE = GPL-2.0 YMPD_LICENSE_FILES = LICENSE YMPD_DEPENDENCIES = libmpdclient diff --git a/package/zbar/zbar.mk b/package/zbar/zbar.mk index aba78d1be0..c8fc89951a 100644 --- a/package/zbar/zbar.mk +++ b/package/zbar/zbar.mk @@ -7,7 +7,7 @@ # github have some additional commits for compiling with recent kernel ZBAR_VERSION = 854a5d97059e395807091ac4d80c53f7968abb8f ZBAR_SITE = $(call github,ZBar,Zbar,$(ZBAR_VERSION)) -ZBAR_LICENSE = LGPLv2.1+ +ZBAR_LICENSE = LGPL-2.1+ ZBAR_LICENSE_FILES = LICENSE ZBAR_INSTALL_STAGING = YES ZBAR_AUTORECONF = YES diff --git a/package/zd1211-firmware/zd1211-firmware.mk b/package/zd1211-firmware/zd1211-firmware.mk index 59ea2199c4..860aa76ce5 100644 --- a/package/zd1211-firmware/zd1211-firmware.mk +++ b/package/zd1211-firmware/zd1211-firmware.mk @@ -7,7 +7,7 @@ ZD1211_FIRMWARE_VERSION = 1.4 ZD1211_FIRMWARE_SITE = http://downloads.sourceforge.net/project/zd1211/zd1211-firmware/$(ZD1211_FIRMWARE_VERSION) ZD1211_FIRMWARE_SOURCE = zd1211-firmware-$(ZD1211_FIRMWARE_VERSION).tar.bz2 -ZD1211_FIRMWARE_LICENSE = GPLv2 +ZD1211_FIRMWARE_LICENSE = GPL-2.0 ZD1211_FIRMWARE_LICENSE_FILES = COPYING # Not all of the firmware files are used diff --git a/package/zeromq/zeromq.hash b/package/zeromq/zeromq.hash index 76067d93f5..486656e429 100644 --- a/package/zeromq/zeromq.hash +++ b/package/zeromq/zeromq.hash @@ -1,4 +1,4 @@ # From https://github.com/zeromq/zeromq4-1/releases -sha1 2b7490b77860be3060b1b1f92cd73184d309ca69 zeromq-4.1.5.tar.gz +sha1 b956df8c6f77c174683b51fbee67f99c94945651 zeromq-4.1.6.tar.gz # Calculated based on the hash above -sha256 04aac57f081ffa3a2ee5ed04887be9e205df3a7ddade0027460b8042432bdbcf zeromq-4.1.5.tar.gz +sha256 02ebf60a43011e770799336365bcbce2eb85569e9b5f52aa0d8cc04672438a0a zeromq-4.1.6.tar.gz diff --git a/package/zeromq/zeromq.mk b/package/zeromq/zeromq.mk index 5c99983b53..caf5643718 100644 --- a/package/zeromq/zeromq.mk +++ b/package/zeromq/zeromq.mk @@ -4,12 +4,12 @@ # ################################################################################ -ZEROMQ_VERSION = 4.1.5 +ZEROMQ_VERSION = 4.1.6 ZEROMQ_SITE = https://github.com/zeromq/zeromq4-1/releases/download/v$(ZEROMQ_VERSION) ZEROMQ_INSTALL_STAGING = YES ZEROMQ_DEPENDENCIES = util-linux ZEROMQ_CONF_OPTS = --without-documentation -ZEROMQ_LICENSE = LGPLv3+ with exceptions +ZEROMQ_LICENSE = LGPL-3.0+ with exceptions ZEROMQ_LICENSE_FILES = COPYING COPYING.LESSER # For 0001-acinclude.m4-make-kernel-specific-flags-cacheable.patch ZEROMQ_AUTORECONF = YES diff --git a/package/zic/zic.hash b/package/zic/zic.hash index 6fe27bd2fc..e7eef7aea0 100644 --- a/package/zic/zic.hash +++ b/package/zic/zic.hash @@ -1,2 +1,2 @@ -# From http://mm.icann.org/pipermail/tz-announce/2016-November/000044.html -sha512 cac19dded22ff80cd784641ac239358c28cce535ac1eb60b52b7e51c6e9e5fe5f795ea0252daf32c949dddb9c5b24d7e4456d7869aa2725d49c5af58b564822a tzcode2016j.tar.gz +# From http://mm.icann.org/pipermail/tz-announce/2017-October/000047.html +sha512 0d8c3e07b0de9015a137602450468ceb6358312a50eeda2a860882367107b8ba9ef275880b292570a671b9910afc54e6209e1e642387d246bc9c08c4ff660ffb tzcode2017c.tar.gz diff --git a/package/zic/zic.mk b/package/zic/zic.mk index ed7b04eb94..a2f27e44a3 100644 --- a/package/zic/zic.mk +++ b/package/zic/zic.mk @@ -4,7 +4,7 @@ # ################################################################################ -ZIC_VERSION = 2016j +ZIC_VERSION = 2017c ZIC_SOURCE = tzcode$(ZIC_VERSION).tar.gz ZIC_SITE = http://www.iana.org/time-zones/repository/releases ZIC_STRIP_COMPONENTS = 0 @@ -15,10 +15,10 @@ define HOST_ZIC_BUILD_CMDS endef define HOST_ZIC_INSTALL_CMDS - $(INSTALL) -D -m 755 $(@D)/zic $(HOST_DIR)/usr/sbin/zic - $(INSTALL) -D -m 644 $(@D)/tzfile.h $(HOST_DIR)/usr/include/tzfile.h + $(INSTALL) -D -m 755 $(@D)/zic $(HOST_DIR)/sbin/zic + $(INSTALL) -D -m 644 $(@D)/tzfile.h $(HOST_DIR)/include/tzfile.h endef $(eval $(host-generic-package)) -ZIC = $(HOST_DIR)/usr/sbin/zic +ZIC = $(HOST_DIR)/sbin/zic diff --git a/package/zip/zip.mk b/package/zip/zip.mk index 66d94b3c68..0bd3d3c11f 100644 --- a/package/zip/zip.mk +++ b/package/zip/zip.mk @@ -47,7 +47,7 @@ endef define HOST_ZIP_INSTALL_CMDS $(HOST_MAKE_ENV) $(MAKE) $(HOST_CONFIGURE_OPTS) -C $(@D) -f unix/Makefile install \ - prefix=$(HOST_DIR)/usr + prefix=$(HOST_DIR) endef $(eval $(generic-package)) diff --git a/package/zlib/zlib.hash b/package/zlib/zlib.hash index 81cb64ef62..e3736b1011 100644 --- a/package/zlib/zlib.hash +++ b/package/zlib/zlib.hash @@ -1,2 +1,4 @@ # From http://www.zlib.net/ sha256 4ff941449631ace0d4d203e3483be9dbc9da454084111f97ea0a2114e19bf066 zlib-1.2.11.tar.xz +# License files, locally calculated +sha256 7960b6b1cc63e619abb77acaea5427159605afee8c8b362664f4effc7d7f7d15 README diff --git a/package/zlib/zlib.mk b/package/zlib/zlib.mk index deea5a5ee7..9b5f52e807 100644 --- a/package/zlib/zlib.mk +++ b/package/zlib/zlib.mk @@ -7,7 +7,7 @@ ZLIB_VERSION = 1.2.11 ZLIB_SOURCE = zlib-$(ZLIB_VERSION).tar.xz ZLIB_SITE = http://www.zlib.net -ZLIB_LICENSE = zlib license +ZLIB_LICENSE = Zlib ZLIB_LICENSE_FILES = README ZLIB_INSTALL_STAGING = YES @@ -38,7 +38,7 @@ define HOST_ZLIB_CONFIGURE_CMDS $(HOST_CONFIGURE_ARGS) \ $(HOST_CONFIGURE_OPTS) \ ./configure \ - --prefix="$(HOST_DIR)/usr" \ + --prefix="$(HOST_DIR)" \ --sysconfdir="$(HOST_DIR)/etc" \ ) endef diff --git a/package/zlog/zlog.mk b/package/zlog/zlog.mk index 4f7f46928d..8e005e4340 100644 --- a/package/zlog/zlog.mk +++ b/package/zlog/zlog.mk @@ -6,7 +6,7 @@ ZLOG_VERSION = 6ddb9bbf3ff0123e701bf60996f351576ebe9c00 ZLOG_SITE = $(call github,HardySimpson,zlog,$(ZLOG_VERSION)) -ZLOG_LICENSE = LGPLv2.1 +ZLOG_LICENSE = LGPL-2.1 ZLOG_LICENSE_FILES = COPYING ZLOG_INSTALL_STAGING = YES diff --git a/package/zmqpp/zmqpp.mk b/package/zmqpp/zmqpp.mk index 18da709691..f576527463 100644 --- a/package/zmqpp/zmqpp.mk +++ b/package/zmqpp/zmqpp.mk @@ -8,11 +8,15 @@ ZMQPP_VERSION = 4.1.2 ZMQPP_SITE = $(call github,zeromq,zmqpp,$(ZMQPP_VERSION)) ZMQPP_INSTALL_STAGING = YES ZMQPP_DEPENDENCIES = zeromq -ZMQPP_LICENSE = MIT +ZMQPP_LICENSE = MPL-2.0 ZMQPP_LICENSE_FILES = LICENSE ZMQPP_MAKE_OPTS = LD="$(TARGET_CXX)" BUILD_PATH=./build PREFIX=/usr ZMQPP_LDFLAGS = $(TARGET_LDFLAGS) -lpthread +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +ZMQPP_LDFLAGS += -latomic +endif + ifeq ($(BR2_PACKAGE_ZMQPP_CLIENT),y) ZMQPP_DEPENDENCIES += boost endif diff --git a/package/znc/znc.hash b/package/znc/znc.hash index 368235141b..b242933e9d 100644 --- a/package/znc/znc.hash +++ b/package/znc/znc.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 431097eb17860bfc980f3e68fdd75f98af4bdeecd793c84835c6cb11c3320d1c znc-1.6.4.tar.gz +sha256 2f0225d49c53a01f8d94feea4619a6fe92857792bb3401a4eb1edd65f0342aca znc-1.6.5.tar.gz diff --git a/package/znc/znc.mk b/package/znc/znc.mk index 5b96ee529d..5783200ef6 100644 --- a/package/znc/znc.mk +++ b/package/znc/znc.mk @@ -4,7 +4,7 @@ # ################################################################################ -ZNC_VERSION = 1.6.4 +ZNC_VERSION = 1.6.5 ZNC_SITE = http://znc.in/releases ZNC_LICENSE = Apache-2.0 ZNC_LICENSE_FILES = LICENSE diff --git a/package/zsh/zsh.hash b/package/zsh/zsh.hash index 0eeebd43f4..0770d8e247 100644 --- a/package/zsh/zsh.hash +++ b/package/zsh/zsh.hash @@ -1,4 +1,7 @@ # From http://www.zsh.org/pub/MD5SUM -md5 c5ba34e68fcf62a2e78adc56bf3d328a zsh-5.3.tar.xz -# Calculated based on the hash above -sha256 76f82cfd5ce373cf799a03b6f395283f128430db49202e3e3f512fb5a19d6f8a zsh-5.3.tar.xz +md5 dfe156fd69b0d8d1745ecf6d6e02e047 zsh-5.4.2.tar.gz +# Calculated based on the hash above and after checking signature +# http://www.zsh.org/pub/zsh-5.4.2.tar.gz.asc +sha256 957bcdb2c57f64c02f673693ea5a7518ef24b6557aeb3a4ce222cefa6d74acc9 zsh-5.4.2.tar.gz +# Locally calculated +sha256 d06fdf3ef9b1ec69d6b9e170b0a9516fbad3523261ff1668bde3bfea6e0ef5f5 LICENCE diff --git a/package/zsh/zsh.mk b/package/zsh/zsh.mk index 9d11b9713d..bfd0a1a30f 100644 --- a/package/zsh/zsh.mk +++ b/package/zsh/zsh.mk @@ -4,11 +4,11 @@ # ################################################################################ -ZSH_VERSION = 5.3 +ZSH_VERSION = 5.4.2 ZSH_SITE = http://www.zsh.org/pub -ZSH_SOURCE = zsh-$(ZSH_VERSION).tar.xz ZSH_DEPENDENCIES = ncurses ZSH_CONF_OPTS = --bindir=/bin +ZSH_CONF_ENV = zsh_cv_sys_nis=no zsh_cv_sys_nis_plus=no ZSH_LICENSE = MIT-like ZSH_LICENSE_FILES = LICENCE diff --git a/package/zstd/Config.in b/package/zstd/Config.in new file mode 100644 index 0000000000..9fa70c65cc --- /dev/null +++ b/package/zstd/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_ZSTD + bool "zstd" + help + Zstandard, or zstd as short version, is a fast lossless + compression algorithm, targeting real-time compression + scenarios at zlib-level and better compression ratios + + The selection of other packages will enable some features: + xz, lz4 and/or zlib will enable support for corresponding + compression formats + + https://facebook.github.io/zstd diff --git a/package/zstd/zstd.hash b/package/zstd/zstd.hash new file mode 100644 index 0000000000..5bcdde968a --- /dev/null +++ b/package/zstd/zstd.hash @@ -0,0 +1,6 @@ +# Locally computed +sha256 ac5054a3c64e6510bc1ae890d05e3d271cc33ceebc9d06ac9f08105766d2798a zstd-v1.3.2.tar.gz + +# License files (locally computed as well) +sha256 2c1a7fa704df8f3a606f6fc010b8b5aaebf403f3aeec339a12048f1ba7331a0b LICENSE +sha256 f9c375a1be4a41f7b70301dd83c91cb89e41567478859b77eef375a52d782505 COPYING diff --git a/package/zstd/zstd.mk b/package/zstd/zstd.mk new file mode 100644 index 0000000000..089d654749 --- /dev/null +++ b/package/zstd/zstd.mk @@ -0,0 +1,49 @@ +################################################################################ +# +# zstd +# +################################################################################ + +ZSTD_VERSION = v1.3.2 +ZSTD_SITE = $(call github,facebook,zstd,$(ZSTD_VERSION)) +ZSTD_LICENSE = BSD-3-Clause, GPL-2.0 +ZSTD_LICENSE_FILES = LICENSE COPYING + +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) +ZSTD_OPTS += HAVE_THREAD=1 +else +ZSTD_OPTS += HAVE_THREAD=0 +endif + +ifeq ($(BR2_PACKAGE_ZLIB),y) +ZSTD_DEPENDENCIES += zlib +ZSTD_OPTS += HAVE_ZLIB=1 +else +ZSTD_OPTS += HAVE_ZLIB=0 +endif + +ifeq ($(BR2_PACKAGE_XZ),y) +ZSTD_DEPENDENCIES += xz +ZSTD_OPTS += HAVE_LZMA=1 +else +ZSTD_OPTS += HAVE_LZMA=0 +endif + +ifeq ($(BR2_PACKAGE_LZ4),y) +ZSTD_DEPENDENCIES += lz4 +ZSTD_OPTS += HAVE_LZ4=1 +else +ZSTD_OPTS += HAVE_LZ4=0 +endif + +define ZSTD_BUILD_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \ + -C $(@D) zstd +endef + +define ZSTD_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \ + DESTDIR=$(TARGET_DIR) PREFIX=/usr -C $(@D)/programs install +endef + +$(eval $(generic-package)) diff --git a/package/zynq-boot-bin/zynq-boot-bin.mk b/package/zynq-boot-bin/zynq-boot-bin.mk index 46051fb8a6..3648c63654 100644 --- a/package/zynq-boot-bin/zynq-boot-bin.mk +++ b/package/zynq-boot-bin/zynq-boot-bin.mk @@ -7,7 +7,7 @@ ZYNQ_BOOT_BIN_VERSION = xilinx-v2015.1 ZYNQ_BOOT_BIN_SOURCE = zynq-boot-bin.py ZYNQ_BOOT_BIN_SITE = https://raw.githubusercontent.com/Xilinx/u-boot-xlnx/$(ZYNQ_BOOT_BIN_VERSION)/tools -ZYNQ_BOOT_BIN_LICENSE = GPLv3+ +ZYNQ_BOOT_BIN_LICENSE = GPL-3.0+ HOST_ZYNQ_BOOT_BIN_DEPENDENCIES = host-python @@ -16,7 +16,7 @@ define HOST_ZYNQ_BOOT_BIN_EXTRACT_CMDS endef define HOST_ZYNQ_BOOT_BIN_INSTALL_CMDS - $(INSTALL) -D -m 0755 $(@D)/$(ZYNQ_BOOT_BIN_SOURCE) $(HOST_DIR)/usr/bin/$(ZYNQ_BOOT_BIN_SOURCE) + $(INSTALL) -D -m 0755 $(@D)/$(ZYNQ_BOOT_BIN_SOURCE) $(HOST_DIR)/bin/$(ZYNQ_BOOT_BIN_SOURCE) endef $(eval $(host-generic-package)) diff --git a/package/zyre/zyre.mk b/package/zyre/zyre.mk index e47da975af..baaa57f5f6 100644 --- a/package/zyre/zyre.mk +++ b/package/zyre/zyre.mk @@ -6,7 +6,7 @@ ZYRE_VERSION = 1d949e4bf79b694ea883c325f5813e87ddc2a687 ZYRE_SITE = $(call github,zeromq,zyre,$(ZYRE_VERSION)) -ZYRE_LICENSE = MPLv2.0 +ZYRE_LICENSE = MPL-2.0 ZYRE_LICENSE_FILES = LICENSE ZYRE_INSTALL_STAGING = YES ZYRE_DEPENDENCIES = czmq zeromq host-pkgconf diff --git a/support/config-fragments/autobuild/armv5-ctng-linux-gnueabi.config b/support/config-fragments/autobuild/armv5-ctng-linux-gnueabi.config new file mode 100644 index 0000000000..c2f4cb62ca --- /dev/null +++ b/support/config-fragments/autobuild/armv5-ctng-linux-gnueabi.config @@ -0,0 +1,10 @@ +BR2_arm=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/armv5-ctng-linux-gnueabi.tar.xz" +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="armv5-ctng-linux-gnueabi" +BR2_TOOLCHAIN_EXTERNAL_GCC_4_8=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/armv7-ctng-linux-gnueabihf.config b/support/config-fragments/autobuild/armv7-ctng-linux-gnueabihf.config new file mode 100644 index 0000000000..60ec952940 --- /dev/null +++ b/support/config-fragments/autobuild/armv7-ctng-linux-gnueabihf.config @@ -0,0 +1,13 @@ +BR2_arm=y +BR2_cortex_a9=y +BR2_ARM_ENABLE_NEON=y +BR2_ARM_ENABLE_VFP=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/armv7-ctng-linux-gnueabihf.tar.xz" +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="armv7-ctng-linux-gnueabihf" +BR2_TOOLCHAIN_EXTERNAL_GCC_4_8=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-aarch64-glibc.config b/support/config-fragments/autobuild/br-aarch64-glibc.config new file mode 100644 index 0000000000..af1cbf890d --- /dev/null +++ b/support/config-fragments/autobuild/br-aarch64-glibc.config @@ -0,0 +1,9 @@ +BR2_aarch64=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-aarch64-glibc-2017.11-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_6=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-arc-full-internal.config b/support/config-fragments/autobuild/br-arc-full-internal.config new file mode 100644 index 0000000000..4755c9e45b --- /dev/null +++ b/support/config-fragments/autobuild/br-arc-full-internal.config @@ -0,0 +1,3 @@ +BR2_arcle=y +BR2_TOOLCHAIN_BUILDROOT_LOCALE=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y diff --git a/support/config-fragments/autobuild/br-arc-internal-glibc.config b/support/config-fragments/autobuild/br-arc-internal-glibc.config new file mode 100644 index 0000000000..b9d6857240 --- /dev/null +++ b/support/config-fragments/autobuild/br-arc-internal-glibc.config @@ -0,0 +1,4 @@ +BR2_arcle=y +BR2_archs38=y +BR2_TOOLCHAIN_BUILDROOT_GLIBC=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y diff --git a/support/config-fragments/autobuild/br-arcle-hs38.config b/support/config-fragments/autobuild/br-arcle-hs38.config new file mode 100644 index 0000000000..be4f5353f4 --- /dev/null +++ b/support/config-fragments/autobuild/br-arcle-hs38.config @@ -0,0 +1,11 @@ +BR2_arcle=y +BR2_archs38=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arcle-hs38-full-2017.11-rc2-15-g9d544fe.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1=y +BR2_TOOLCHAIN_EXTERNAL_LOCALE=y +# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-arm-basic.config b/support/config-fragments/autobuild/br-arm-basic.config new file mode 100644 index 0000000000..a420284cc5 --- /dev/null +++ b/support/config-fragments/autobuild/br-arm-basic.config @@ -0,0 +1,8 @@ +BR2_arm=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-basic-2017.11-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_6=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set diff --git a/support/config-fragments/autobuild/br-arm-cortex-a9-glibc.config b/support/config-fragments/autobuild/br-arm-cortex-a9-glibc.config new file mode 100644 index 0000000000..fea1564ab2 --- /dev/null +++ b/support/config-fragments/autobuild/br-arm-cortex-a9-glibc.config @@ -0,0 +1,11 @@ +BR2_arm=y +BR2_cortex_a9=y +BR2_ARM_ENABLE_VFP=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-cortex-a9-glibc-2017.11-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-arm-cortex-a9-musl.config b/support/config-fragments/autobuild/br-arm-cortex-a9-musl.config new file mode 100644 index 0000000000..2db2aa0b77 --- /dev/null +++ b/support/config-fragments/autobuild/br-arm-cortex-a9-musl.config @@ -0,0 +1,11 @@ +BR2_arm=y +BR2_cortex_a9=y +BR2_ARM_ENABLE_VFP=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-cortex-a9-musl-2017.11-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_6=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-arm-cortex-m4-full.config b/support/config-fragments/autobuild/br-arm-cortex-m4-full.config new file mode 100644 index 0000000000..f60df91f45 --- /dev/null +++ b/support/config-fragments/autobuild/br-arm-cortex-m4-full.config @@ -0,0 +1,12 @@ +BR2_arm=y +BR2_cortex_m4=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-cortex-m4-full-2017.11-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_6=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_LOCALE=y +# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set +# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL is not set +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-arm-full-nothread.config b/support/config-fragments/autobuild/br-arm-full-nothread.config new file mode 100644 index 0000000000..33034cf77a --- /dev/null +++ b/support/config-fragments/autobuild/br-arm-full-nothread.config @@ -0,0 +1,11 @@ +BR2_arm=y +BR2_arm1176jzf_s=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm11-full-nothread-2017.11-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_6=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_LOCALE=y +# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS is not set +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-arm-full-static.config b/support/config-fragments/autobuild/br-arm-full-static.config new file mode 100644 index 0000000000..dd0a393136 --- /dev/null +++ b/support/config-fragments/autobuild/br-arm-full-static.config @@ -0,0 +1,11 @@ +BR2_arm=y +BR2_STATIC_LIBS=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-static-2017.11-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_6=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y +BR2_TOOLCHAIN_EXTERNAL_LOCALE=y +# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-arm-full.config b/support/config-fragments/autobuild/br-arm-full.config new file mode 100644 index 0000000000..659d07ce18 --- /dev/null +++ b/support/config-fragments/autobuild/br-arm-full.config @@ -0,0 +1,10 @@ +BR2_arm=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-2017.11-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_4_9=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y +BR2_TOOLCHAIN_EXTERNAL_LOCALE=y +# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-arm-internal-full.config b/support/config-fragments/autobuild/br-arm-internal-full.config new file mode 100644 index 0000000000..b5f10069c6 --- /dev/null +++ b/support/config-fragments/autobuild/br-arm-internal-full.config @@ -0,0 +1,5 @@ +BR2_arm=y +BR2_ARM_EABI=y +BR2_TOOLCHAIN_BUILDROOT_LOCALE=y +BR2_TOOLCHAIN_BUILDROOT_WCHAR=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y diff --git a/support/config-fragments/autobuild/br-bfin-full.config b/support/config-fragments/autobuild/br-bfin-full.config new file mode 100644 index 0000000000..eeefcefbee --- /dev/null +++ b/support/config-fragments/autobuild/br-bfin-full.config @@ -0,0 +1,12 @@ +BR2_bfin=y +BR2_bf512=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-bfin-full-2017.11-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_6=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_LOCALE=y +# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set +# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL is not set +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-i386-pentium-mmx-musl.config b/support/config-fragments/autobuild/br-i386-pentium-mmx-musl.config new file mode 100644 index 0000000000..b9041a7724 --- /dev/null +++ b/support/config-fragments/autobuild/br-i386-pentium-mmx-musl.config @@ -0,0 +1,10 @@ +BR2_x86_pentium_mmx=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-i386-pentium-mmx-musl-2017.11-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_6=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y +# BR2_TOOLCHAIN_EXTERNAL_HAS_SSP is not set +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-i386-pentium4-full.config b/support/config-fragments/autobuild/br-i386-pentium4-full.config new file mode 100644 index 0000000000..08eb21b894 --- /dev/null +++ b/support/config-fragments/autobuild/br-i386-pentium4-full.config @@ -0,0 +1,10 @@ +BR2_x86_pentium4=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-i386-pentium4-full-2017.11-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_6=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_2=y +BR2_TOOLCHAIN_EXTERNAL_LOCALE=y +# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-m68k-5208-full.config b/support/config-fragments/autobuild/br-m68k-5208-full.config new file mode 100644 index 0000000000..bf455e0838 --- /dev/null +++ b/support/config-fragments/autobuild/br-m68k-5208-full.config @@ -0,0 +1,11 @@ +BR2_m68k=y +BR2_m68k_cf5208=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-m68k-5208-full-2017.11-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_6=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_LOCALE=y +# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set +# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL is not set +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-m68k-68040-full.config b/support/config-fragments/autobuild/br-m68k-68040-full.config new file mode 100644 index 0000000000..0766ffc3e8 --- /dev/null +++ b/support/config-fragments/autobuild/br-m68k-68040-full.config @@ -0,0 +1,10 @@ +BR2_m68k=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-m68k-68040-full-2017.11-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_6=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_LOCALE=y +# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set +# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL is not set +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-microblazeel-full-internal.config b/support/config-fragments/autobuild/br-microblazeel-full-internal.config new file mode 100644 index 0000000000..0d2d7df8f1 --- /dev/null +++ b/support/config-fragments/autobuild/br-microblazeel-full-internal.config @@ -0,0 +1 @@ +BR2_microblazeel=y diff --git a/support/config-fragments/autobuild/br-microblazeel-full.config b/support/config-fragments/autobuild/br-microblazeel-full.config new file mode 100644 index 0000000000..ea920f0a70 --- /dev/null +++ b/support/config-fragments/autobuild/br-microblazeel-full.config @@ -0,0 +1,10 @@ +BR2_microblazeel=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-microblaze-full-2017.11-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_6=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1=y +BR2_TOOLCHAIN_EXTERNAL_LOCALE=y +# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set +# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL is not set +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-mips32r6-el-hf-glibc.config b/support/config-fragments/autobuild/br-mips32r6-el-hf-glibc.config new file mode 100644 index 0000000000..237265bd82 --- /dev/null +++ b/support/config-fragments/autobuild/br-mips32r6-el-hf-glibc.config @@ -0,0 +1,11 @@ +BR2_mipsel=y +BR2_mips_32r6=y +# BR2_MIPS_SOFT_FLOAT is not set +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-mips32r6-el-hf-2017.11-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_6=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-mips64-n64-full.config b/support/config-fragments/autobuild/br-mips64-n64-full.config new file mode 100644 index 0000000000..f8a67f2c65 --- /dev/null +++ b/support/config-fragments/autobuild/br-mips64-n64-full.config @@ -0,0 +1,10 @@ +BR2_mips64el=y +BR2_MIPS_NABI64=y +# BR2_MIPS_SOFT_FLOAT is not set +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-mips64-n64-full-2017.11-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_5=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_LOCALE=y +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-mips64r6-el-hf-glibc.config b/support/config-fragments/autobuild/br-mips64r6-el-hf-glibc.config new file mode 100644 index 0000000000..b0e9236063 --- /dev/null +++ b/support/config-fragments/autobuild/br-mips64r6-el-hf-glibc.config @@ -0,0 +1,12 @@ +BR2_mips64el=y +BR2_mips_64r6=y +BR2_MIPS_NABI64=y +# BR2_MIPS_SOFT_FLOAT is not set +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-mips64r6-n64-el-hf-2017.11-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_6=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-mipsel-o32-full.config b/support/config-fragments/autobuild/br-mipsel-o32-full.config new file mode 100644 index 0000000000..e608b424a7 --- /dev/null +++ b/support/config-fragments/autobuild/br-mipsel-o32-full.config @@ -0,0 +1,10 @@ +BR2_mipsel=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-mipsel-o32-full-2017.11-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_6=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_LOCALE=y +# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-nios2-glibc.config b/support/config-fragments/autobuild/br-nios2-glibc.config new file mode 100644 index 0000000000..62f2665e44 --- /dev/null +++ b/support/config-fragments/autobuild/br-nios2-glibc.config @@ -0,0 +1,9 @@ +BR2_nios2=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-nios2-full-2017.11-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_6=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-openrisc-uclibc.config b/support/config-fragments/autobuild/br-openrisc-uclibc.config new file mode 100644 index 0000000000..3a4f0b62dd --- /dev/null +++ b/support/config-fragments/autobuild/br-openrisc-uclibc.config @@ -0,0 +1,10 @@ +BR2_or1k=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-openrisc-full-2017.11-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_5=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_LOCALE=y +# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set +# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL is not set +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-powerpc-603e-basic-cpp.config b/support/config-fragments/autobuild/br-powerpc-603e-basic-cpp.config new file mode 100644 index 0000000000..63cffef7e8 --- /dev/null +++ b/support/config-fragments/autobuild/br-powerpc-603e-basic-cpp.config @@ -0,0 +1,10 @@ +BR2_powerpc=y +BR2_powerpc_603e=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-powerpc-603e-basic-cpp-2017.11-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_6=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-powerpc-e500mc-full.config b/support/config-fragments/autobuild/br-powerpc-e500mc-full.config new file mode 100644 index 0000000000..83b4c093d3 --- /dev/null +++ b/support/config-fragments/autobuild/br-powerpc-e500mc-full.config @@ -0,0 +1,11 @@ +BR2_powerpc=y +BR2_powerpc_e500mc=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-powerpc-e500mc-full-2017.11-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_6=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_LOCALE=y +# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-powerpc-internal-full.config b/support/config-fragments/autobuild/br-powerpc-internal-full.config new file mode 100644 index 0000000000..2621e9fb41 --- /dev/null +++ b/support/config-fragments/autobuild/br-powerpc-internal-full.config @@ -0,0 +1,5 @@ +BR2_powerpc=y +BR2_TOOLCHAIN_BUILDROOT_INET_IPV6=y +BR2_TOOLCHAIN_BUILDROOT_LOCALE=y +BR2_TOOLCHAIN_BUILDROOT_WCHAR=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y diff --git a/support/config-fragments/autobuild/br-powerpc64-power7-glibc.config b/support/config-fragments/autobuild/br-powerpc64-power7-glibc.config new file mode 100644 index 0000000000..99ab1695a2 --- /dev/null +++ b/support/config-fragments/autobuild/br-powerpc64-power7-glibc.config @@ -0,0 +1,9 @@ +BR2_powerpc64=y +BR2_powerpc_power7=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-powerpc64-power7-glibc-2017.11-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_6=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-powerpc64le-power8-glibc.config b/support/config-fragments/autobuild/br-powerpc64le-power8-glibc.config new file mode 100644 index 0000000000..12e3e8fc68 --- /dev/null +++ b/support/config-fragments/autobuild/br-powerpc64le-power8-glibc.config @@ -0,0 +1,9 @@ +BR2_powerpc64le=y +BR2_powerpc_power8=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-powerpc64le-power8-glibc-2017.11-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_6=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-sh4-full.config b/support/config-fragments/autobuild/br-sh4-full.config new file mode 100644 index 0000000000..884fbc793b --- /dev/null +++ b/support/config-fragments/autobuild/br-sh4-full.config @@ -0,0 +1,10 @@ +BR2_sh=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-sh4-full-2017.11-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_6=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_LOCALE=y +# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-sparc-uclibc.config b/support/config-fragments/autobuild/br-sparc-uclibc.config new file mode 100644 index 0000000000..19bce355e5 --- /dev/null +++ b/support/config-fragments/autobuild/br-sparc-uclibc.config @@ -0,0 +1,9 @@ +BR2_sparc=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-sparc-uclibc-2017.11-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_6=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1=y +BR2_TOOLCHAIN_EXTERNAL_LOCALE=y +# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-sparc64-glibc.config b/support/config-fragments/autobuild/br-sparc64-glibc.config new file mode 100644 index 0000000000..093de54b9b --- /dev/null +++ b/support/config-fragments/autobuild/br-sparc64-glibc.config @@ -0,0 +1,8 @@ +BR2_sparc64=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-sparc64-full-2017.11-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_6=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-x86-64-core2-full.config b/support/config-fragments/autobuild/br-x86-64-core2-full.config new file mode 100644 index 0000000000..c1ccddbe20 --- /dev/null +++ b/support/config-fragments/autobuild/br-x86-64-core2-full.config @@ -0,0 +1,11 @@ +BR2_x86_64=y +BR2_x86_core2=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-x86-64-core2-full-2017.11-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_6=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4=y +BR2_TOOLCHAIN_EXTERNAL_LOCALE=y +# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-x86-64-musl.config b/support/config-fragments/autobuild/br-x86-64-musl.config new file mode 100644 index 0000000000..6ee19ab2ed --- /dev/null +++ b/support/config-fragments/autobuild/br-x86-64-musl.config @@ -0,0 +1,10 @@ +BR2_x86_64=y +BR2_x86_atom=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-x86-64-musl-2017.11-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_6=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-xtensa-full-internal.config b/support/config-fragments/autobuild/br-xtensa-full-internal.config new file mode 100644 index 0000000000..f642a4d76b --- /dev/null +++ b/support/config-fragments/autobuild/br-xtensa-full-internal.config @@ -0,0 +1,4 @@ +BR2_xtensa=y +BR2_JLEVEL=8 +BR2_TOOLCHAIN_BUILDROOT_LOCALE=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y diff --git a/support/config-fragments/autobuild/br-xtensa-full.config b/support/config-fragments/autobuild/br-xtensa-full.config new file mode 100644 index 0000000000..23e2b8b7ef --- /dev/null +++ b/support/config-fragments/autobuild/br-xtensa-full.config @@ -0,0 +1,9 @@ +BR2_xtensa=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-xtensa-full-2017.11-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_6=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_LOCALE=y +# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/i686-ctng-linux-gnu.config b/support/config-fragments/autobuild/i686-ctng-linux-gnu.config new file mode 100644 index 0000000000..9a961123c3 --- /dev/null +++ b/support/config-fragments/autobuild/i686-ctng-linux-gnu.config @@ -0,0 +1,10 @@ +BR2_x86_i686=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/i686-ctng-linux-gnu.tar.xz" +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="i686-ctng-linux-gnu" +BR2_TOOLCHAIN_EXTERNAL_GCC_4_8=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/linaro-aarch64.config b/support/config-fragments/autobuild/linaro-aarch64.config new file mode 100644 index 0000000000..f65f78a39b --- /dev/null +++ b/support/config-fragments/autobuild/linaro-aarch64.config @@ -0,0 +1,3 @@ +BR2_aarch64=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64=y diff --git a/support/config-fragments/autobuild/linaro-arm.config b/support/config-fragments/autobuild/linaro-arm.config new file mode 100644 index 0000000000..d72e19b3ad --- /dev/null +++ b/support/config-fragments/autobuild/linaro-arm.config @@ -0,0 +1,5 @@ +BR2_arm=y +BR2_cortex_a8=y +BR2_ARM_EABIHF=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM=y diff --git a/support/config-fragments/autobuild/mips64el-ctng_n32-linux-gnu.config b/support/config-fragments/autobuild/mips64el-ctng_n32-linux-gnu.config new file mode 100644 index 0000000000..cf33ea26f3 --- /dev/null +++ b/support/config-fragments/autobuild/mips64el-ctng_n32-linux-gnu.config @@ -0,0 +1,9 @@ +BR2_mips64el=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/mips64el-ctng_n32-linux-gnu.tar.xz" +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="mips64el-ctng_n32-linux-gnu" +BR2_TOOLCHAIN_EXTERNAL_GCC_4_8=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/mips64el-ctng_n64-linux-gnu.config b/support/config-fragments/autobuild/mips64el-ctng_n64-linux-gnu.config new file mode 100644 index 0000000000..942a1b13b5 --- /dev/null +++ b/support/config-fragments/autobuild/mips64el-ctng_n64-linux-gnu.config @@ -0,0 +1,11 @@ +BR2_mips64el=y +BR2_MIPS_NABI64=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/mips64el-ctng_n64-linux-gnu.tar.xz" +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="mips64el-ctng_n64-linux-gnu" +BR2_TOOLCHAIN_EXTERNAL_GCC_4_8=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/powerpc-ctng_e500v2-linux-gnuspe.config b/support/config-fragments/autobuild/powerpc-ctng_e500v2-linux-gnuspe.config new file mode 100644 index 0000000000..e82d3fbda7 --- /dev/null +++ b/support/config-fragments/autobuild/powerpc-ctng_e500v2-linux-gnuspe.config @@ -0,0 +1,11 @@ +BR2_powerpc=y +BR2_powerpc_8548=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/powerpc-ctng_e500v2-linux-gnuspe.tar.xz" +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="powerpc-ctng_e500v2-linux-gnuspe" +BR2_TOOLCHAIN_EXTERNAL_GCC_4_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/sourcery-arm-armv4t.config b/support/config-fragments/autobuild/sourcery-arm-armv4t.config new file mode 100644 index 0000000000..4c0e01fecb --- /dev/null +++ b/support/config-fragments/autobuild/sourcery-arm-armv4t.config @@ -0,0 +1,4 @@ +BR2_arm=y +BR2_arm920t=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM=y diff --git a/support/config-fragments/autobuild/sourcery-arm-thumb2.config b/support/config-fragments/autobuild/sourcery-arm-thumb2.config new file mode 100644 index 0000000000..e726757a16 --- /dev/null +++ b/support/config-fragments/autobuild/sourcery-arm-thumb2.config @@ -0,0 +1,7 @@ +BR2_arm=y +BR2_cortex_a8=y +BR2_ARM_EABI=y +BR2_ARM_INSTRUCTIONS_THUMB2=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM=y +BR2_TARGET_OPTIMIZATION="" diff --git a/support/config-fragments/autobuild/sourcery-arm.config b/support/config-fragments/autobuild/sourcery-arm.config new file mode 100644 index 0000000000..8ade4647f2 --- /dev/null +++ b/support/config-fragments/autobuild/sourcery-arm.config @@ -0,0 +1,3 @@ +BR2_arm=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM=y diff --git a/support/config-fragments/autobuild/sourcery-mips.config b/support/config-fragments/autobuild/sourcery-mips.config new file mode 100644 index 0000000000..103e20bfc2 --- /dev/null +++ b/support/config-fragments/autobuild/sourcery-mips.config @@ -0,0 +1,4 @@ +BR2_mips=y +BR2_mips_32r2=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS=y diff --git a/support/config-fragments/autobuild/sourcery-mips64.config b/support/config-fragments/autobuild/sourcery-mips64.config new file mode 100644 index 0000000000..77e3a853e1 --- /dev/null +++ b/support/config-fragments/autobuild/sourcery-mips64.config @@ -0,0 +1,5 @@ +BR2_mips64el=y +BR2_mips_64r2=y +BR2_MIPS_NABI64=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS=y diff --git a/support/config-fragments/autobuild/sourcery-nios2.config b/support/config-fragments/autobuild/sourcery-nios2.config new file mode 100644 index 0000000000..d58407d513 --- /dev/null +++ b/support/config-fragments/autobuild/sourcery-nios2.config @@ -0,0 +1,3 @@ +BR2_nios2=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII=y diff --git a/support/config-fragments/autobuild/sourcery-x86-64.config b/support/config-fragments/autobuild/sourcery-x86-64.config new file mode 100644 index 0000000000..6c7ad4c5b7 --- /dev/null +++ b/support/config-fragments/autobuild/sourcery-x86-64.config @@ -0,0 +1,4 @@ +BR2_x86_64=y +BR2_x86_steamroller=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64=y diff --git a/support/config-fragments/autobuild/toolchain-configs.csv b/support/config-fragments/autobuild/toolchain-configs.csv new file mode 100644 index 0000000000..efb78eec4f --- /dev/null +++ b/support/config-fragments/autobuild/toolchain-configs.csv @@ -0,0 +1,53 @@ +support/config-fragments/autobuild/armv5-ctng-linux-gnueabi.config,x86 +support/config-fragments/autobuild/armv7-ctng-linux-gnueabihf.config,x86 +support/config-fragments/autobuild/br-aarch64-glibc.config,x86_64 +support/config-fragments/autobuild/br-arc-full-internal.config,any +support/config-fragments/autobuild/br-arc-internal-glibc.config,any +support/config-fragments/autobuild/br-arcle-hs38.config,x86_64 +support/config-fragments/autobuild/br-arm-basic.config,x86_64 +support/config-fragments/autobuild/br-arm-cortex-a9-glibc.config,x86_64 +support/config-fragments/autobuild/br-arm-cortex-a9-musl.config,x86_64 +support/config-fragments/autobuild/br-arm-cortex-m4-full.config,x86_64 +support/config-fragments/autobuild/br-arm-full.config,x86_64 +support/config-fragments/autobuild/br-arm-full-nothread.config,x86_64 +support/config-fragments/autobuild/br-arm-full-static.config,x86_64 +support/config-fragments/autobuild/br-arm-internal-full.config,any +support/config-fragments/autobuild/br-bfin-full.config,x86_64 +support/config-fragments/autobuild/br-i386-pentium4-full.config,x86_64 +support/config-fragments/autobuild/br-i386-pentium-mmx-musl.config,x86_64 +support/config-fragments/autobuild/br-m68k-5208-full.config,x86_64 +support/config-fragments/autobuild/br-m68k-68040-full.config,x86_64 +support/config-fragments/autobuild/br-microblazeel-full.config,x86_64 +support/config-fragments/autobuild/br-microblazeel-full-internal.config,any +support/config-fragments/autobuild/br-mips64-n64-full.config,x86_64 +support/config-fragments/autobuild/br-mips32r6-el-hf-glibc.config,x86_64 +support/config-fragments/autobuild/br-mips64r6-el-hf-glibc.config,x86_64 +support/config-fragments/autobuild/br-mipsel-o32-full.config,x86_64 +support/config-fragments/autobuild/br-nios2-glibc.config,x86_64 +support/config-fragments/autobuild/br-openrisc-uclibc.config,x86_64 +support/config-fragments/autobuild/br-powerpc-603e-basic-cpp.config,x86_64 +support/config-fragments/autobuild/br-powerpc64le-power8-glibc.config,x86_64 +support/config-fragments/autobuild/br-powerpc64-power7-glibc.config,x86_64 +support/config-fragments/autobuild/br-powerpc-e500mc-full.config,x86_64 +support/config-fragments/autobuild/br-powerpc-internal-full.config,any +support/config-fragments/autobuild/br-sh4-full.config,x86_64 +support/config-fragments/autobuild/br-sparc-uclibc.config,x86_64 +support/config-fragments/autobuild/br-sparc64-glibc.config,x86_64 +support/config-fragments/autobuild/br-x86-64-core2-full.config,x86_64 +support/config-fragments/autobuild/br-x86-64-musl.config,x86_64 +support/config-fragments/autobuild/br-xtensa-full.config,x86_64 +support/config-fragments/autobuild/br-xtensa-full-internal.config,any +support/config-fragments/autobuild/i686-ctng-linux-gnu.config,x86 +support/config-fragments/autobuild/linaro-aarch64.config,x86 +support/config-fragments/autobuild/linaro-arm.config,x86 +support/config-fragments/autobuild/mips64el-ctng_n32-linux-gnu.config,x86 +support/config-fragments/autobuild/mips64el-ctng_n64-linux-gnu.config,x86 +support/config-fragments/autobuild/powerpc-ctng_e500v2-linux-gnuspe.config,x86 +support/config-fragments/autobuild/sourcery-arm-armv4t.config,x86 +support/config-fragments/autobuild/sourcery-arm.config,x86 +support/config-fragments/autobuild/sourcery-arm-thumb2.config,x86 +support/config-fragments/autobuild/sourcery-mips64.config,x86 +support/config-fragments/autobuild/sourcery-mips.config,x86 +support/config-fragments/autobuild/sourcery-nios2.config,x86 +support/config-fragments/autobuild/sourcery-x86-64.config,x86 +support/config-fragments/autobuild/x86_64-ctng_locales-linux-gnu.config,x86 diff --git a/support/config-fragments/autobuild/x86_64-ctng_locales-linux-gnu.config b/support/config-fragments/autobuild/x86_64-ctng_locales-linux-gnu.config new file mode 100644 index 0000000000..435034be27 --- /dev/null +++ b/support/config-fragments/autobuild/x86_64-ctng_locales-linux-gnu.config @@ -0,0 +1,11 @@ +BR2_x86_64=y +BR2_x86_corei7=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/x86_64-ctng_locales-linux-gnu.tar.xz" +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="x86_64-ctng_locales-linux-gnu" +BR2_TOOLCHAIN_EXTERNAL_GCC_4_8=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/minimal.config b/support/config-fragments/minimal.config new file mode 100644 index 0000000000..71344e2c69 --- /dev/null +++ b/support/config-fragments/minimal.config @@ -0,0 +1,8 @@ +# This config fragment disables Buildroot options that are turned on by +# default, in order to arrive at minimal build time. +BR2_INIT_NONE=y +BR2_SYSTEM_BIN_SH_NONE=y +# BR2_PACKAGE_BUSYBOX is not set +# BR2_TARGET_ROOTFS_TAR is not set +BR2_COMPILER_PARANOID_UNSAFE_PATH=y +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y diff --git a/support/dependencies/check-host-cmake.mk b/support/dependencies/check-host-cmake.mk index 8002278a3b..4300e6f600 100644 --- a/support/dependencies/check-host-cmake.mk +++ b/support/dependencies/check-host-cmake.mk @@ -10,9 +10,10 @@ # BR2_CMAKE_VERSION_MIN = 3.1 -BR2_CMAKE ?= cmake -ifeq ($(call suitable-host-package,cmake,\ - $(BR2_CMAKE) $(BR2_CMAKE_VERSION_MIN)),) -BR2_CMAKE = $(HOST_DIR)/usr/bin/cmake +BR2_CMAKE_CANDIDATES ?= cmake cmake3 +BR2_CMAKE ?= $(call suitable-host-package,cmake,\ + $(BR2_CMAKE_VERSION_MIN) $(BR2_CMAKE_CANDIDATES)) +ifeq ($(BR2_CMAKE),) +BR2_CMAKE = $(HOST_DIR)/bin/cmake BR2_CMAKE_HOST_DEPENDENCY = host-cmake endif diff --git a/support/dependencies/check-host-cmake.sh b/support/dependencies/check-host-cmake.sh index 84c26c25cd..fadeae9f6b 100755 --- a/support/dependencies/check-host-cmake.sh +++ b/support/dependencies/check-host-cmake.sh @@ -1,47 +1,45 @@ #!/bin/sh -candidate="${1}" -version_min="${2}" +# prevent shift error +[ $# -lt 2 ] && exit 1 -major_min="${version_min%.*}" -minor_min="${version_min#*.}" +major_min="${1%.*}" +minor_min="${1#*.}" -# cmake-3.7 incorrectly handles rpath, linking to host libraries -blacklist_version="3.7" +shift -cmake=`which ${candidate}` -if [ ! -x "${cmake}" ]; then - # echo nothing: no suitable cmake found - exit 1 -fi +for candidate; do -# Extract version X.Y from versions in the form X.Y or X.Y.Z -# with X, Y and Z numbers with one or more digits each, e.g. -# 3.2 -> 3.2 -# 3.2.3 -> 3.2 -# 3.2.42 -> 3.2 -# 3.10 -> 3.10 -# 3.10.4 -> 3.10 -# 3.10.42 -> 3.10 -version="$(${cmake} --version \ - |sed -r -e '/.* ([[:digit:]]+\.[[:digit:]]+).*$/!d;' \ - -e 's//\1/' - )" -major="${version%.*}" -minor="${version#*.}" + # Try to locate the candidate. Discard it if not located. + cmake=`which "${candidate}" 2>/dev/null` + [ -n "${cmake}" ] || continue -if [ "${version}" = "${blacklist_version}" ]; then - # echo nothing: no suitable cmake found - exit 1 -fi + # Extract version X.Y from versions in the form X.Y or X.Y.Z + # with X, Y and Z numbers with one or more digits each, e.g. + # 3.2 -> 3.2 + # 3.2.3 -> 3.2 + # 3.2.42 -> 3.2 + # 3.10 -> 3.10 + # 3.10.4 -> 3.10 + # 3.10.42 -> 3.10 + # Discard the candidate if no version can be obtained + version="$(${cmake} --version \ + |sed -r -e '/.* ([[:digit:]]+\.[[:digit:]]+).*$/!d;' \ + -e 's//\1/' + )" + [ -n "${version}" ] || continue -if [ ${major} -gt ${major_min} ]; then - echo "${cmake}" -else - if [ ${major} -eq ${major_min} -a ${minor} -ge ${minor_min} ]; then + major="${version%.*}" + minor="${version#*.}" + + if [ ${major} -gt ${major_min} ]; then echo "${cmake}" - else - # echo nothing: no suitable cmake found - exit 1 + exit + elif [ ${major} -eq ${major_min} -a ${minor} -ge ${minor_min} ]; then + echo "${cmake}" + exit fi -fi +done + +# echo nothing: no suitable cmake found +exit 1 diff --git a/support/dependencies/check-host-lzip.mk b/support/dependencies/check-host-lzip.mk index 6acfdc6dfa..00cdd0a236 100644 --- a/support/dependencies/check-host-lzip.mk +++ b/support/dependencies/check-host-lzip.mk @@ -1,5 +1,5 @@ ifeq (,$(call suitable-host-package,lzip,$(LZCAT))) DEPENDENCIES_HOST_PREREQ += host-lzip EXTRACTOR_DEPENDENCY_PRECHECKED_EXTENSIONS += .lz -LZCAT = $(HOST_DIR)/usr/bin/lzip -d -c +LZCAT = $(HOST_DIR)/bin/lzip -d -c endif diff --git a/support/dependencies/check-host-tar.mk b/support/dependencies/check-host-tar.mk index 9840a55e28..ad0b32e277 100644 --- a/support/dependencies/check-host-tar.mk +++ b/support/dependencies/check-host-tar.mk @@ -2,5 +2,5 @@ TAR ?= tar ifeq (,$(call suitable-host-package,tar,$(TAR))) DEPENDENCIES_HOST_PREREQ += host-tar -TAR = $(HOST_DIR)/usr/bin/tar +TAR = $(HOST_DIR)/bin/tar endif diff --git a/support/dependencies/check-host-xzcat.mk b/support/dependencies/check-host-xzcat.mk index c6d9eebe4d..9be75c7311 100644 --- a/support/dependencies/check-host-xzcat.mk +++ b/support/dependencies/check-host-xzcat.mk @@ -4,5 +4,5 @@ ifeq (,$(call suitable-host-package,xzcat,$(XZCAT))) DEPENDENCIES_HOST_PREREQ += host-xz EXTRACTOR_DEPENDENCY_PRECHECKED_EXTENSIONS += .xz .lzma -XZCAT = $(HOST_DIR)/usr/bin/xzcat +XZCAT = $(HOST_DIR)/bin/xzcat endif diff --git a/support/dependencies/dependencies.mk b/support/dependencies/dependencies.mk index d4b0409cda..ef2ae9b7e1 100644 --- a/support/dependencies/dependencies.mk +++ b/support/dependencies/dependencies.mk @@ -23,8 +23,8 @@ core-dependencies: DL_TOOLS="$(sort $(DL_TOOLS_DEPENDENCIES))" \ $(TOPDIR)/support/dependencies/dependencies.sh -dependencies: HOSTCC=$(HOSTCC_NOCCACHE) -dependencies: HOSTCXX=$(HOSTCXX_NOCCACHE) +core-dependencies $(DEPENDENCIES_HOST_PREREQ): HOSTCC=$(HOSTCC_NOCCACHE) +core-dependencies $(DEPENDENCIES_HOST_PREREQ): HOSTCXX=$(HOSTCXX_NOCCACHE) dependencies: core-dependencies $(DEPENDENCIES_HOST_PREREQ) ################################################################################ diff --git a/support/dependencies/dependencies.sh b/support/dependencies/dependencies.sh index 168d1960a1..a195c62c8c 100755 --- a/support/dependencies/dependencies.sh +++ b/support/dependencies/dependencies.sh @@ -29,6 +29,18 @@ if test -n "$LD_LIBRARY_PATH" ; then fi fi; +# PATH should not contain a newline, otherwise it fails in spectacular ways +# as soon as PATH is referenced in a package rule +case "${PATH}" in +(*" +"*) printf "\n" + # Break the '\n' sequence, or a \n is printed (which is not what we want). + printf "Your PATH contains a newline (%sn) character.\n" "\\" + printf "This doesn't work. Fix you PATH.\n" + exit 1 + ;; +esac + # sanity check for CWD in PATH. Having the current working directory # in the PATH makes the toolchain build process break. # try not to rely on egrep.. diff --git a/support/docker/Dockerfile b/support/docker/Dockerfile new file mode 100644 index 0000000000..d45b23dc23 --- /dev/null +++ b/support/docker/Dockerfile @@ -0,0 +1,30 @@ +# This Dockerfile generates the docker image that gets used by Gitlab CI +# To build it: +# sudo docker build -t buildroot/base support/docker +# sudo docker push buildroot/base + +FROM debian:stable +LABEL maintainer="Buildroot mailing list " \ + vendor="Buildroot" \ +description="Container with everything needed to run Buildroot" + +# Setup environment +ENV DEBIAN_FRONTEND noninteractive + +RUN dpkg --add-architecture i386 +# The container has no package lists, so need to update first +RUN apt-get update -y -qq +RUN apt-get install -y -qq --no-install-recommends \ + build-essential cmake libc6:i386 gcc-multilib \ + bc ca-certificates file locales rsync \ + cvs bzr git mercurial subversion wget \ + cpio unzip \ + libncurses5-dev \ + python-nose2 python-pexpect qemu-system-arm qemu-system-x86 +RUN apt-get -q -y autoremove +RUN apt-get -q -y clean + +# To be able to generate a toolchain with locales, enable one UTF-8 locale +RUN sed -i 's/# \(en_US.UTF-8\)/\1/' /etc/locale.gen +RUN /usr/sbin/locale-gen + diff --git a/support/download/check-hash b/support/download/check-hash index c1ff53c02b..fe9c10570e 100755 --- a/support/download/check-hash +++ b/support/download/check-hash @@ -42,8 +42,9 @@ if [ ! -f "${h_file}" ]; then fi # Check one hash for a file -# $1: known hash -# $2: file (full path) +# $1: algo hash +# $2: known hash +# $3: file (full path) check_one_hash() { _h="${1}" _known="${2}" diff --git a/support/download/git b/support/download/git index 7921411835..f590ff6494 100755 --- a/support/download/git +++ b/support/download/git @@ -85,8 +85,11 @@ if [ ${recurse} -eq 1 ]; then _git submodule update --init --recursive fi -# We do not need the .git dir; we keep other .git files, in case they +# We do not want the .git dir; we keep other .git files, in case they # are the only files in their directory. +# The .git dir would generate non reproducible tarballs as it depends on +# the state of the remote server. It also would generate large tarballs +# (gigabytes for some linux trees) when a full clone took place. rm -rf .git popd >/dev/null @@ -94,6 +97,8 @@ popd >/dev/null # Generate the archive, sort with the C locale so that it is reproducible find "${basename}" -not -type d >"${basename}.list" LC_ALL=C sort <"${basename}.list" >"${basename}.list.sorted" -tar cf - --numeric-owner --owner=0 --group=0 --mtime="${date}" \ +# Create GNU-format tarballs, since that's the format of the tarballs on +# sources.buildroot.org and used in the *.hash files +tar cf - --numeric-owner --owner=0 --group=0 --mtime="${date}" --format=gnu \ -T "${basename}.list.sorted" >"${output}.tar" -gzip -n <"${output}.tar" >"${output}" +gzip -6 -n <"${output}.tar" >"${output}" diff --git a/support/kconfig/mconf.c b/support/kconfig/mconf.c index 7d6cf80703..91c4df78f3 100644 --- a/support/kconfig/mconf.c +++ b/support/kconfig/mconf.c @@ -176,7 +176,7 @@ menu_instructions[] = N_( "Arrow keys navigate the menu. " " selects submenus ---> (or empty submenus ----). " "Highlighted letters are hotkeys. " - "Pressing selectes a feature, while will exclude a feature. " + "Pressing selects a feature, while excludes a feature. " "Press to exit, for Help, for Search. " "Legend: [*] feature is selected [ ] feature is excluded"), radiolist_instructions[] = N_( diff --git a/support/kconfig/patches/01-kconfig-kernel-to-buildroot.patch b/support/kconfig/patches/01-kconfig-kernel-to-buildroot.patch index ecfe76b6e2..e76198a36b 100644 --- a/support/kconfig/patches/01-kconfig-kernel-to-buildroot.patch +++ b/support/kconfig/patches/01-kconfig-kernel-to-buildroot.patch @@ -28,7 +28,7 @@ Index: kconfig/mconf.c " selects submenus ---> (or empty submenus ----). " "Highlighted letters are hotkeys. " - "Pressing includes, excludes, modularizes features. " -+ "Pressing selectes a feature, while will exclude a feature. " ++ "Pressing selects a feature, while excludes a feature. " "Press to exit, for Help, for Search. " - "Legend: [*] built-in [ ] excluded module < > module capable"), + "Legend: [*] feature is selected [ ] feature is excluded"), diff --git a/support/legal-info/buildroot.hash b/support/legal-info/buildroot.hash new file mode 100644 index 0000000000..1b62dbeef7 --- /dev/null +++ b/support/legal-info/buildroot.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 9755181e27175cb3510b4da8629caa406fb355a19aa8e7d55f06bf8ab33323c4 COPYING diff --git a/support/misc/Buildroot.cmake b/support/misc/Buildroot.cmake new file mode 100644 index 0000000000..9f5f565255 --- /dev/null +++ b/support/misc/Buildroot.cmake @@ -0,0 +1,7 @@ +# Impersonate a Linux system. Afterall, that's what we are... +set(CMAKE_SYSTEM_NAME Linux) +include(Platform/Linux) + +# Override problematic settings, to avoid RPATH against host lib directories. +set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB32_PATHS FALSE) +set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE) diff --git a/support/misc/Vagrantfile b/support/misc/Vagrantfile index 33ca6b802a..3d833f09fc 100644 --- a/support/misc/Vagrantfile +++ b/support/misc/Vagrantfile @@ -5,7 +5,7 @@ ################################################################################ # Buildroot version to use -RELEASE='2017.02' +RELEASE='2017.11' ### Change here for more memory/cores ### VM_MEMORY=2048 diff --git a/support/misc/relocate-sdk.sh b/support/misc/relocate-sdk.sh new file mode 100755 index 0000000000..caabeaa6f6 --- /dev/null +++ b/support/misc/relocate-sdk.sh @@ -0,0 +1,47 @@ +#!/bin/sh +# +if [ "$#" -ne 0 ]; then + echo "Run this script to relocate the buildroot SDK at that location" + exit 1 +fi + +LOCFILE="share/buildroot/sdk-location" +FILEPATH="$(readlink -f "$0")" +NEWPATH="$(dirname "${FILEPATH}")" + +cd "${NEWPATH}" +if [ ! -r "${LOCFILE}" ]; then + echo "Previous location of the buildroot SDK not found!" + exit 1 +fi +OLDPATH="$(cat "${LOCFILE}")" + +if [ "${NEWPATH}" = "${OLDPATH}" ]; then + echo "This buildroot SDK has already been relocated!" + exit 0 +fi + +# Check if the path substitution does work properly, e.g. a tree +# "/a/b/c" copied into "/a/b/c/a/b/c/" would not be allowed. +newpath="$(sed -e "s|${OLDPATH}|${NEWPATH}|g" "${LOCFILE}")" +if [ "${NEWPATH}" != "${newpath}" ]; then + echo "Something went wrong with substituting the path!" + echo "Please choose another location for your SDK!" + exit 1 +fi + +echo "Relocating the buildroot SDK from ${OLDPATH} to ${NEWPATH} ..." + +# Make sure file uses the right language +export LC_ALL=C +# Replace the old path with the new one in all text files +grep -lr "${OLDPATH}" . | while read -r FILE ; do + if file -b --mime-type "${FILE}" | grep -q '^text/' && [ "${FILE}" != "${LOCFILE}" ] + then + sed -i "s|${OLDPATH}|${NEWPATH}|g" "${FILE}" + fi +done + +# At the very end, we update the location file to not break the +# SDK if this script gets interruted. +sed -i "s|${OLDPATH}|${NEWPATH}|g" ${LOCFILE} diff --git a/support/misc/target-dir-warning.txt b/support/misc/target-dir-warning.txt index 90f88414b7..94d2e0c009 100644 --- a/support/misc/target-dir-warning.txt +++ b/support/misc/target-dir-warning.txt @@ -25,5 +25,5 @@ can extract as root: Those image files are created using the contents of the target/ directory, but there is a post-processing step to create device files -and set owernship/permissions properly even if Buildroot does not run +and set ownership/permissions properly even if Buildroot does not run as root. diff --git a/support/misc/toolchainfile.cmake.in b/support/misc/toolchainfile.cmake.in index d4252dd9e7..1f5d2371ed 100644 --- a/support/misc/toolchainfile.cmake.in +++ b/support/misc/toolchainfile.cmake.in @@ -4,13 +4,17 @@ # # In order to allow the toolchain to be relocated, we calculate the -# HOST_DIR based on this file's location: $(HOST_DIR)/usr/share/buildroot +# HOST_DIR based on this file's location: $(HOST_DIR)/share/buildroot # and store it in RELOCATED_HOST_DIR. # All the other variables that need to refer to HOST_DIR will use the # RELOCATED_HOST_DIR variable. -string(REPLACE "/usr/share/buildroot" "" RELOCATED_HOST_DIR ${CMAKE_CURRENT_LIST_DIR}) +string(REPLACE "/share/buildroot" "" RELOCATED_HOST_DIR ${CMAKE_CURRENT_LIST_DIR}) -set(CMAKE_SYSTEM_NAME Linux) +# Point cmake to the location where we have our custom modules, +# so that it can find our custom platform description. +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) + +set(CMAKE_SYSTEM_NAME Buildroot) set(CMAKE_SYSTEM_PROCESSOR @@CMAKE_SYSTEM_PROCESSOR@@) # Set the {C,CXX}FLAGS appended by CMake depending on the build type @@ -44,7 +48,7 @@ set(CMAKE_EXE_LINKER_FLAGS "@@TARGET_LDFLAGS@@" CACHE STRING "Buildroot LDFLAGS set(CMAKE_INSTALL_SO_NO_EXE 0) -set(CMAKE_PROGRAM_PATH "${RELOCATED_HOST_DIR}/usr/bin") +set(CMAKE_PROGRAM_PATH "${RELOCATED_HOST_DIR}/bin") set(CMAKE_SYSROOT "${RELOCATED_HOST_DIR}/@@STAGING_SUBDIR@@") set(CMAKE_FIND_ROOT_PATH "${RELOCATED_HOST_DIR}/@@STAGING_SUBDIR@@") set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) diff --git a/support/scripts/apply-patches.sh b/support/scripts/apply-patches.sh index 7ccb39dd8f..66fef262ee 100755 --- a/support/scripts/apply-patches.sh +++ b/support/scripts/apply-patches.sh @@ -113,6 +113,11 @@ function apply_patch { echo " to be applied : ${path}/${patch}" exit 1 fi + if grep -q "^rename from" ${path}/${patch} && \ + grep -q "^rename to" ${path}/${patch} ; then + echo "Error: patch contains some renames, not supported by old patch versions" + exit 1 + fi echo "${path}/${patch}" >> ${builddir}/.applied_patches_list ${uncomp} "${path}/$patch" | patch -g0 -p1 -E -d "${builddir}" -t -N $silent if [ $? != 0 ] ; then diff --git a/support/scripts/br2-external b/support/scripts/br2-external index 26bcac8aa1..00cb57d1ed 100755 --- a/support/scripts/br2-external +++ b/support/scripts/br2-external @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -e # This script must be able to run with bash-3.1, so it can't use @@ -40,6 +40,9 @@ main() { exec >"${ofile}" + # Trap any unexpected error to generate a meaningful error message + trap "error 'unexpected error while generating ${ofile}\n'" ERR + do_validate ${@//:/ } do_${ofmt} diff --git a/support/scripts/pkgutil.py b/support/scripts/brpkgutil.py similarity index 100% rename from support/scripts/pkgutil.py rename to support/scripts/brpkgutil.py diff --git a/support/scripts/check-bin-arch b/support/scripts/check-bin-arch new file mode 100755 index 0000000000..887b6613cd --- /dev/null +++ b/support/scripts/check-bin-arch @@ -0,0 +1,67 @@ +#!/usr/bin/env bash + +while getopts p:l:r:a: OPT ; do + case "${OPT}" in + p) package="${OPTARG}";; + l) pkg_list="${OPTARG}";; + r) readelf="${OPTARG}";; + a) arch_name="${OPTARG}";; + :) error "option '%s' expects a mandatory argument\n" "${OPTARG}";; + \?) error "unknown option '%s'\n" "${OPTARG}";; + esac +done + +if test -z "${package}" -o -z "${pkg_list}" -o -z "${readelf}" -o -z "${arch_name}" ; then + echo "Usage: $0 -p -l -r -a " + exit 1 +fi + +exitcode=0 + +# Only split on new lines, for filenames-with-spaces +IFS=" +" + +while read f; do + # Skip firmware files, they could be ELF files for other + # architectures + if [[ "${f}" =~ ^/(usr/)?lib/firmware/.* ]]; then + continue + fi + + # Skip files in /usr/share, several packages (qemu, + # pru-software-support) legitimately install ELF binaries that + # are not for the target architecture + if [[ "${f}" =~ ^/usr/share/.* ]]; then + continue + fi + + # Skip symlinks. Some symlinks may have absolute paths as + # target, pointing to host binaries while we're building. + if [[ -L "${TARGET_DIR}/${f}" ]]; then + continue + fi + + # Get architecture using readelf. We pipe through 'head -1' so + # that when the file is a static library (.a), we only take + # into account the architecture of the first object file. + arch=$(LC_ALL=C ${readelf} -h "${TARGET_DIR}/${f}" 2>&1 | \ + sed -r -e '/^ Machine: +(.+)/!d; s//\1/;' | head -1) + + # If no architecture found, assume it was not an ELF file + if test "${arch}" = "" ; then + continue + fi + + # Architecture is correct + if test "${arch}" = "${arch_name}" ; then + continue + fi + + printf 'ERROR: architecture for "%s" is "%s", should be "%s"\n' \ + "${f}" "${arch}" "${arch_name}" + + exitcode=1 +done < <( sed -r -e "/^${package},\.(.+)$/!d; s//\1/;" ${pkg_list} ) + +exit ${exitcode} diff --git a/support/scripts/check-host-rpath b/support/scripts/check-host-rpath index 6ce547cb04..169628decb 100755 --- a/support/scripts/check-host-rpath +++ b/support/scripts/check-host-rpath @@ -1,7 +1,7 @@ #!/usr/bin/env bash # This script scans $(HOST_DIR)/{bin,sbin} for all ELF files, and checks -# they have an RPATH to $(HOST_DIR)/usr/lib if they need libraries from +# they have an RPATH to $(HOST_DIR)/lib if they need libraries from # there. # Override the user's locale so we are sure we can parse the output of @@ -18,6 +18,7 @@ main() { ret=0 while read file; do + is_elf "${file}" || continue elf_needs_rpath "${file}" "${hostdir}" || continue check_elf_has_rpath "${file}" "${hostdir}" && continue if [ ${ret} -eq 0 ]; then @@ -26,21 +27,25 @@ main() { printf "*** ERROR: package %s installs executables without proper RPATH:\n" "${pkg}" fi printf "*** %s\n" "${file}" - done < <( find "${hostdir}"/{,usr/}{bin,sbin} -type f -exec file {} + 2>/dev/null \ - |sed -r -e '/^([^:]+):.*\.*\.*/!d' \ - -e 's//\1/' \ - ) + done < <( find "${hostdir}"/{bin,sbin} -type f 2>/dev/null ) return ${ret} } +is_elf() { + local f="${1}" + + readelf -l "${f}" 2>/dev/null \ + |grep -E 'Requesting program interpreter:' >/dev/null 2>&1 +} + elf_needs_rpath() { local file="${1}" local hostdir="${2}" local lib while read lib; do - [ -e "${hostdir}/usr/lib/${lib}" ] && return 0 + [ -e "${hostdir}/lib/${lib}" ] && return 0 done < <( readelf -d "${file}" \ |sed -r -e '/^.* \(NEEDED\) .*Shared library: \[(.+)\]$/!d;' \ -e 's//\1/;' \ @@ -58,7 +63,7 @@ check_elf_has_rpath() { for dir in ${rpath//:/ }; do # Remove duplicate and trailing '/' for proper match dir="$( sed -r -e 's:/+:/:g; s:/$::;' <<<"${dir}" )" - [ "${dir}" = "${hostdir}/usr/lib" ] && return 0 + [ "${dir}" = "${hostdir}/lib" -o "${dir}" = "\$ORIGIN/../lib" ] && return 0 done done < <( readelf -d "${file}" \ |sed -r -e '/.* \(R(UN)?PATH\) +Library r(un)?path: \[(.+)\]$/!d' \ diff --git a/support/scripts/eclipse-register-toolchain b/support/scripts/eclipse-register-toolchain index 6f919985c0..891d29ee6f 100755 --- a/support/scripts/eclipse-register-toolchain +++ b/support/scripts/eclipse-register-toolchain @@ -45,7 +45,7 @@ if test ! -d ${project_directory}/host ; then exit 1 fi -if test ! -e ${project_directory}/host/usr/bin/${toolchain_prefix}gcc ; then +if test ! -e ${project_directory}/host/bin/${toolchain_prefix}gcc ; then echo "Cannot find the cross-compiler in the project directory" exit 1 fi diff --git a/support/scripts/fix-configure-powerpc64.sh b/support/scripts/fix-configure-powerpc64.sh index ad710422a5..ff2b283ce9 100755 --- a/support/scripts/fix-configure-powerpc64.sh +++ b/support/scripts/fix-configure-powerpc64.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # This is a script to find, and correct, a problem with old versions of # configure that affect powerpc64 and powerpc64le. diff --git a/support/scripts/fix-rpath b/support/scripts/fix-rpath new file mode 100755 index 0000000000..15705a3b0d --- /dev/null +++ b/support/scripts/fix-rpath @@ -0,0 +1,141 @@ +#!/usr/bin/env bash + +# Copyright (C) 2016 Samuel Martin +# Copyright (C) 2017 Wolfgang Grandegger +# +# 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 + +usage() { + cat <&2 +Usage: ${0} TREE_KIND + +Description: + + This script scans a tree and sanitize ELF files' RPATH found in there. + + Sanitization behaves the same whatever the kind of the processed tree, + but the resulting RPATH differs. The rpath sanitization is done using + "patchelf --make-rpath-relative". + +Arguments: + + TREE_KIND Kind of tree to be processed. + Allowed values: host, target, staging + +Environment: + + PATCHELF patchelf program to use + (default: HOST_DIR/bin/patchelf) + + HOST_DIR host directory + STAGING_DIR staging directory + TARGET_DIR target directory + + TOOLCHAIN_EXTERNAL_DOWNLOAD_INSTALL_DIR + (default HOST_DIR/opt/ext-toolchain) + +Returns: 0 if success or 1 in case of error + +EOF +} + +: ${PATCHELF:=${HOST_DIR}/bin/patchelf} + +# ELF files should not be in these sub-directories +HOST_EXCLUDEPATHS="/share/terminfo" +STAGING_EXCLUDEPATHS="/usr/include /usr/share/terminfo" + +main() { + local rootdir + local tree="${1}" + local find_args=( ) + local sanitize_extra_args=( ) + + if ! "${PATCHELF}" --version > /dev/null 2>&1; then + echo "Error: can't execute patchelf utility '${PATCHELF}'" + exit 1 + fi + + case "${tree}" in + host) + rootdir="${HOST_DIR}" + + # do not process the sysroot (only contains target binaries) + find_args+=( "-path" "${STAGING_DIR}" "-prune" "-o" ) + + # do not process the external toolchain installation directory to + # avoid breaking it. + test "${TOOLCHAIN_EXTERNAL_DOWNLOAD_INSTALL_DIR}" != "" && \ + find_args+=( "-path" "${TOOLCHAIN_EXTERNAL_DOWNLOAD_INSTALL_DIR}" "-prune" "-o" ) + + for excludepath in ${HOST_EXCLUDEPATHS}; do + find_args+=( "-path" "${HOST_DIR}""${excludepath}" "-prune" "-o" ) + done + + # do not process the patchelf binary but a copy to work-around "file in use" + find_args+=( "-path" "${PATCHELF}" "-prune" "-o" ) + cp "${PATCHELF}" "${PATCHELF}.__to_be_patched" + + # we always want $ORIGIN-based rpaths to make it relocatable. + sanitize_extra_args+=( "--relative-to-file" ) + ;; + + staging) + rootdir="${STAGING_DIR}" + + # ELF files should not be in these sub-directories + for excludepath in ${STAGING_EXCLUDEPATHS}; do + find_args+=( "-path" "${STAGING_DIR}""${excludepath}" "-prune" "-o" ) + done + + # should be like for the target tree below + sanitize_extra_args+=( "--no-standard-lib-dirs" ) + ;; + + target) + rootdir="${TARGET_DIR}" + # we don't want $ORIGIN-based rpaths but absolute paths without rootdir. + # we also want to remove rpaths pointing to /lib or /usr/lib. + sanitize_extra_args+=( "--no-standard-lib-dirs" ) + ;; + + *) + usage + exit 1 + ;; + esac + + find_args+=( "-type" "f" "-print" ) + + while read file ; do + # check if it's an ELF file + if ${PATCHELF} --print-rpath "${file}" > /dev/null 2>&1; then + # make files writable if necessary + changed=$(chmod -c u+w "${file}") + # call patchelf to sanitize the rpath + ${PATCHELF} --make-rpath-relative "${rootdir}" ${sanitize_extra_args[@]} "${file}" + # restore the original permission + test "${changed}" != "" && chmod u-w "${file}" + fi + done < <(find "${rootdir}" ${find_args[@]}) + + # Restore patched patchelf utility + test "${tree}" = "host" && mv "${PATCHELF}.__to_be_patched" "${PATCHELF}" + + # ignore errors + return 0 +} + +main ${@} diff --git a/support/scripts/genimage.sh b/support/scripts/genimage.sh new file mode 100755 index 0000000000..625afc108c --- /dev/null +++ b/support/scripts/genimage.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +die() { + echo "Error: $@" >&2 + exit 1 +} + +# Parse arguments and put into argument list of the script +opts="$(getopt -n "${0##*/}" -o c: -- "$@")" || exit $? +eval set -- "$opts" + +GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" + +while true ; do + case "$1" in + -c) + GENIMAGE_CFG="${2}"; + shift 2 ;; + --) # Discard all non-option parameters + shift 1; + break ;; + *) + die "unknown option '${1}'" ;; + esac +done + +[ -n "${GENIMAGE_CFG}" ] || die "Missing argument" + +rm -rf "${GENIMAGE_TMP}" + +genimage \ + --rootpath "${TARGET_DIR}" \ + --tmppath "${GENIMAGE_TMP}" \ + --inputpath "${BINARIES_DIR}" \ + --outputpath "${BINARIES_DIR}" \ + --config "${GENIMAGE_CFG}" diff --git a/support/scripts/graph-depends b/support/scripts/graph-depends index fbd5917053..db3041b32e 100755 --- a/support/scripts/graph-depends +++ b/support/scripts/graph-depends @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python # Usage (the graphviz package must be installed in your distribution) # ./support/scripts/graph-depends [-p package-name] > test.dot @@ -26,7 +26,7 @@ import subprocess import argparse from fnmatch import fnmatch -import pkgutil +import brpkgutil # Modes of operation: MODE_FULL = 1 # draw full dependency graph for all selected packages @@ -102,13 +102,13 @@ else: transitive = args.transitive if args.direct: - get_depends_func = pkgutil.get_depends + get_depends_func = brpkgutil.get_depends arrow_dir = "forward" else: if mode == MODE_FULL: sys.stderr.write("--reverse needs a package\n") sys.exit(1) - get_depends_func = pkgutil.get_rdepends + get_depends_func = brpkgutil.get_rdepends arrow_dir = "back" # Get the colours: we need exactly three colours, @@ -330,7 +330,7 @@ if check_only: sys.exit(0) dict_deps = remove_extra_deps(dict_deps) -dict_version = pkgutil.get_version([pkg for pkg in allpkgs +dict_version = brpkgutil.get_version([pkg for pkg in allpkgs if pkg != "all" and not pkg.startswith("root")]) # Print the attributes of a node: label and fill-color diff --git a/support/scripts/hardlink-or-copy b/support/scripts/hardlink-or-copy index b046bdf059..a052318ffa 100755 --- a/support/scripts/hardlink-or-copy +++ b/support/scripts/hardlink-or-copy @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # Try to hardlink a file into a directory, fallback to copy on failure. # diff --git a/support/scripts/mkusers b/support/scripts/mkusers index d834578761..5bbec3e10f 100755 --- a/support/scripts/mkusers +++ b/support/scripts/mkusers @@ -219,12 +219,12 @@ add_one_group() { fi # Remove any previous instance of this group, and re-add the new one - sed -i -e '/^'"${group}"':.*/d;' "${GROUP}" + sed -i --follow-symlinks -e '/^'"${group}"':.*/d;' "${GROUP}" printf "%s:x:%d:\n" "${group}" "${gid}" >>"${GROUP}" # Ditto for /etc/gshadow if it exists if [ -f "${GSHADOW}" ]; then - sed -i -e '/^'"${group}"':.*/d;' "${GSHADOW}" + sed -i --follow-symlinks -e '/^'"${group}"':.*/d;' "${GSHADOW}" printf "%s:*::\n" "${group}" >>"${GSHADOW}" fi } @@ -263,7 +263,8 @@ add_user_to_group() { for _f in "${GROUP}" "${GSHADOW}"; do [ -f "${_f}" ] || continue - sed -r -i -e 's/^('"${group}"':.*:)(([^:]+,)?)'"${username}"'(,[^:]+*)?$/\1\2\4/;' \ + sed -r -i --follow-symlinks \ + -e 's/^('"${group}"':.*:)(([^:]+,)?)'"${username}"'(,[^:]+*)?$/\1\2\4/;' \ -e 's/^('"${group}"':.*)$/\1,'"${username}"'/;' \ -e 's/,+/,/' \ -e 's/:,/:/' \ @@ -303,7 +304,7 @@ add_one_user() { # Remove any previous instance of this user for _f in "${PASSWD}" "${SHADOW}"; do - sed -r -i -e '/^'"${username}"':.*/d;' "${_f}" + sed -r -i --follow-symlinks -e '/^'"${username}"':.*/d;' "${_f}" done _gid="$( get_gid "${group}" )" @@ -359,7 +360,7 @@ add_one_user() { main() { local username uid group gid passwd home shell groups comment local line - local -a LINES + local -a ENTRIES # Some sanity checks if [ ${MIN_UID} -le 0 ]; then @@ -371,7 +372,7 @@ main() { # Read in all the file in memory, exclude empty lines and comments while read line; do - LINES+=( "${line}" ) + ENTRIES+=( "${line}" ) done < <( sed -r -e 's/#.*//; /^[[:space:]]*$/d;' "${USERS_TABLE}" ) # We first create groups whose gid is not -1, and then we create groups @@ -380,14 +381,14 @@ main() { # used, rather than a different automatic gid is computed. # First, create all the main groups which gid is *not* automatic - for line in "${LINES[@]}"; do + for line in "${ENTRIES[@]}"; do read username uid group gid passwd home shell groups comment <<<"${line}" [ ${gid} -ge 0 ] || continue # Automatic gid add_one_group "${group}" "${gid}" done # Then, create all the main groups which gid *is* automatic - for line in "${LINES[@]}"; do + for line in "${ENTRIES[@]}"; do read username uid group gid passwd home shell groups comment <<<"${line}" [ ${gid} -eq -1 ] || continue # Non-automatic gid add_one_group "${group}" "${gid}" @@ -396,7 +397,7 @@ main() { # Then, create all the additional groups # If any additional group is already a main group, we should use # the gid of that main group; otherwise, we can use any gid - for line in "${LINES[@]}"; do + for line in "${ENTRIES[@]}"; do read username uid group gid passwd home shell groups comment <<<"${line}" if [ "${groups}" != "-" ]; then for g in ${groups//,/ }; do @@ -411,7 +412,7 @@ main() { # uid be generated. # Now, add users whose uid is *not* automatic - for line in "${LINES[@]}"; do + for line in "${ENTRIES[@]}"; do read username uid group gid passwd home shell groups comment <<<"${line}" [ "${username}" != "-" ] || continue # Magic string to skip user creation [ ${uid} -ge 0 ] || continue # Automatic uid @@ -420,7 +421,7 @@ main() { done # Finally, add users whose uid *is* automatic - for line in "${LINES[@]}"; do + for line in "${ENTRIES[@]}"; do read username uid group gid passwd home shell groups comment <<<"${line}" [ "${username}" != "-" ] || continue # Magic string to skip user creation [ ${uid} -eq -1 ] || continue # Non-automatic uid diff --git a/support/scripts/pkg-stats b/support/scripts/pkg-stats index 421fa5cf5d..48a2cc29a1 100755 --- a/support/scripts/pkg-stats +++ b/support/scripts/pkg-stats @@ -26,6 +26,7 @@ # echo " +